在接下来的30天会制作一个完整的系统包含前端-手机/网页,後端-Nginx + Django,以及辨识模型 YOLO 的建立,详细架构如下图。
图 1、观赏鱼辨识系统架构图
用户使用手机拍摄观赏鱼的照片,透过 RESTful Web API 上传到亚马逊AWS的 EC2 虚拟主机上,在主机上我们安装了Nginx网页服务器来接收网页需求,它会把 RESTful Web API 的请求转送到 Python 的 Django 网页框架,把图片传给 YOLO 的影像辨识模型进行辨识,得到预测结果後,把文字结果传给 MariaDB 资料库去获取更多的观赏鱼相关资料,如鱼的中文名称,生活习性等;把图片结果储存到文件中。并把这些资讯转成JSON格式当成是 RESTful Web API 的回覆,回传给用户,并呈现在手机上。画面会如下图所示。
图 2、观赏鱼辨识系统操作画面
需要实作的观赏鱼辨识系统服务如下,共有五个功能需要完成,分别为使用者的操作介面、RESTful API、资料库、网站服务器以及影像辨识服务等。下表分别列出所需要的软硬体元件,主要的实作都是在 AWS 云上完成,如果时间允许,会考虑相关服务都转换成 AWS 的其他对应服务,如 RESTful API 与 网站服务器使用 Amazon API Gateway 搭配 Lambda 与 S3 来完成,资料库用 DynamoDB 来完成,不用 RDS 的原因,是因为 RDS 需要租用整个实例而非使用空间,而影像辨识就以亚马逊的 Sagemaker 来取代,这样就可以完成无服务器的实作,只是需要时间来尝试,不确定是否可以完成。不过,光是目前的工作量就可以安排 30 天了。
表 1、系统需要实作的服务列表
服务 | 软件 | 硬体 | 功能说明 |
---|---|---|---|
操作介面 | Vue.js | 手机/个人电脑 | Capture photo Compress/resize the photo Call the RESTful API to Upload photo Parse the response from web server Display the result |
RESTful API | Django/Python | AWS EC2 | Handle RESTful API Interact with database Interact with YOLO model |
资料库 | MariaDB | AWS EC2 | Manipulate information of ornamental fishes |
网站服务器 | Nginx | AWS EC2 | Provide the processed images |
影像辨识 | YOLO model | AWS EC2 | Train the datasetTest/recognize the photo |
>>: Day 1 - 浅谈 Kubernetes 的架设与管理
课程目标 本课程定位为「软件测试入门砖」,课程规划依据「2018 ISTQB Foundation ...
传送文字 在设定回覆讯息的部分,如果是文字讯息的话,是这样写: events.message.typ...
建立完环境之後,我们需要在Django的设定中,也告诉Django 资料库的资讯,Django 才会...
流程图符号及意义 基本常用的几种符号及其意义: 起止符号:表示程序的开始与结束。 流程符号:表示流程...
HTML 是一份可以给浏览器读取的文件,副档名为.html,我们在网页上所看见的元件,基本上都是由 ...