iT邦幫忙

2021 iThome 鐵人賽

DAY 1
1
AI & Data

觀賞魚辨識的YOLO全餐系列 第 1

觀賞魚辨識系統說明-Day 01

觀賞魚辨識系統說明-Day 01

在接下來的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

下一篇
選擇具有 GPU 的 EC2 並完成配置-Day 02
系列文
觀賞魚辨識的YOLO全餐38

尚未有邦友留言

立即登入留言