logo
OpenMV
家庭
應用
店鋪
AI
銷售通路
支援
OpenMVOpenMV
擴充板擴充板
鏡頭鏡頭
機器人機器人
電子書電子書
影片教學影片教學
下載下載
文件文件
論壇論壇
英文官網英文官網
GithubGithub

OpenMV4 Plus使用Edge Impulse自行訓練神經網絡進行口罩識別

去年4月份,我哋嘅新產品OpenMV4 H7 Plus正式上市啦。今日,我嚟同大家介紹一下OpenMV4 H7 Plus嘅新功能——利用EdgeImpulse在線網站自行訓練神經網絡進行分類識別。

在本教程中,你將使用機器學習來構建一個識別系統,該系統可透過OpenMV4 H7 Plus智能攝像頭識別人臉是否佩戴口罩,即實現影像分類。

OpenMV产品图

EdgeImpulse係一個為嵌入式裝置提供線上訓練神經網絡模型服務嘅網站,佢係我哋OpenMV嘅合作夥伴,同時亦都係ST意法半導體嘅官方合作夥伴。目前EdgeImpulse對我哋OpenMV用戶係免費開放嘅,OpenMV用戶可以免費使用EdgeImpulse線上訓練適用於OpenMV嘅神經網絡模型。

為嵌入式設備OpenMV加入神經網絡,可實現區分盜獵者與大象、對工廠生產線進行質量控制、讓遙控模型車自行駕駛等功能。

在本教程中,你將學習如何收集圖像以建立高質素的數據集,如何應用遷移學習訓練神經網絡,以及如何將系統部署到OpenMV。

另外我哋亦提供咗影片教學,可以喺官網搜尋《OpenMV4 Plus訓練神經網絡進行口罩識別》觀看。

你可以在以下網址查看整個項目內容,所有代碼和模型都包括在內:https://book.openmv.cc/project/mask.html

使用EdgeImpulse在線訓練適用於OpenMV的神經網絡模型主要分為以下四個步驟:數據集採集、上傳、訓練以及部署。

01、收集數據集

在本教程中,我们会构建一个可以区分人脸是否佩戴口罩的模型。当然你也可以选择分类其他物品。为实现机器学习模型的运作,你需要收集戴口罩和不带口罩两种人脸的大量示例图像。在训练时,这些示例图像就用来做模型的区分练习。

我們需要利用OpenMV IDE來採集我們的數據集,採集圖像的步驟如下:

* 創建兩個分類:

打開OpenMV IDE功能表欄嘅「工具」,選擇「數據集編輯器」,點擊「新建數據集」,然後新建一個資料夾並打開,喺數據集裏面再新建兩個資料夾,分別命名為mask(用嚟保存戴口罩嘅人臉相片)同face(用嚟保存唔戴口罩嘅人臉相片)。

口罩识别教程-新建数据集
口罩识别教程-创建分类文件夹

使用OpenMV擷取影像

首先我哋連接OpenMV,點擊IDE裏面嘅「連接」,點擊「運行」,Framebuffer幀緩衝區中可以睇到OpenMV實時嘅圖像,點擊左側菜單欄中嘅相片按鈕,OpenMV就會自動保存呢張圖片,呢個就係數據集裏面嘅一個數據。

首先我哋要保存嘅係戴咗口罩嘅人面,撳一下相片嘅掣,IDE下側就會影一張相,佢會自動命名為00000,然後下一張係00001,如此類推。

使用OpenMV分別採集200張戴口罩(男女各100張)及200張不戴口罩(男女各佔100張)的人臉照片。

口罩识别教程-用OopenMV采集男生戴口罩的图像
口罩识别教程-用OopenMV采集女生戴口罩的图像

* 注意:要確保採集到各種角度的照片,保證我們訓練學習的多樣化。

如果在采集过程中发现某张图片采集得不够完美,可以右键点击此图片选择删除。

02、上載

使用OpenMV採集完圖像之後,你需要註冊帳號登入EdgeImpulse官網(https://edgeimpulse.com/)開始上傳圖像,上傳圖像的步驟:

在EdgeImpulse上建立一個新項目,點擊「keys」,選擇「API Key」並複製「API Key」。透過API Key實現OpenMV IDE與Edge Impulse的連接。

口罩识别教程-和Edge Impulse的连通

選擇OpenMV IDE上方選單欄嘅「工具」——「數據編輯器」——「Export」——「上傳」——「透過API Key上傳」,複製「API Key」上傳即可。

上傳時數據會自動劃分為訓練集同測試集,我哋默認選擇比例「80%同20%」就得。我哋總共採集咗400幾張人臉圖片,其中80%嘅Training Date即係默認用80%嘅數據嚟訓練,剩低嘅20%就用做測試集。

口罩识别教程-用OpenMV上传数据集
口罩识别教程-将数据集上传到EdgeImpulse上

03、訓練數據集

數據集準備就緒,你就可以在EdgeImpulse網站介面中訓練數據集了。

配置處理模組:

首先選擇「Impulse Design」,配置處理模組:

設定預設圖像尺寸為「96 x 96」;

選擇「圖像Images」模組,表示我們是對圖像進行分類訓練(你也可以用EdgeImpulse分類聲音、影片等);

* 選擇「遷移學習(圖像)Transfer Learning (Images)」,設定學習的模型;

選擇「儲存Save impulse」,顯示Successfully即表示配置成功。

口罩识别教程-配置处理模块

* 圖像預處理:

點擊左側選單中的「圖像Image」,將顏色格式設定為「RGB」,然後點擊「儲存」。

口罩识别教程-图像预处理

接下來選擇「生成特徵Generate features」來啟動流程,將會對400多張數據進行圖像預處理,右側會顯示完整數據集的3D可視化。

口罩识别教程-数据可视化处理

配置遷移學習模型

點擊左側選單中的「遷移學習Transfer learning」,設定的參數全部選擇預設即可,亦可根據需求更改參數:

1. 將訓練週期數Number of training cycles設定預設為10

2. 將學習率Learning rate設定為0.0005

3. 可以選擇勾選或不勾選「數據增強Data augmentation」

4. 將最低置信度Minimum confidence rating預設設定為0.8。

點擊「開始訓練Start training」,訓練過程大約需時4至5分鐘。

模型訓練完成後,你可以查看準確度、混淆矩陣confusion matrix和預期設備性能。

口罩识别教程-训练完成后的表现

* 測試模型:

訓練完成後,我們將使用測試數據來檢驗模型。

選擇「模型測試Model testing」,勾選「樣本名稱Sample name」旁的核取方塊,點擊「分類選擇Classify selected」。這裡顯示的準確度達到了97%,就一個數據甚少的模型而言實屬難得。

口罩识别教程-测试模型

發現顯示紅色嘅呢張圖片係唔確定嘅,點擊呢張圖片右側嘅三點,選擇「顯示分類 Show classification」,你就會進入「實時分類」嘅介面,裡面包含檔案嘅更多細節。呢個介面將幫助你確定圖片分類錯誤嘅原因。

口罩识别教程-无法分类的图片

如果數據在所有已知嘅群集(戴口罩/唔戴口罩)之外,呢個可能係同以前睇到嘅任何分類都唔匹配嘅數據——可能係因為頭髮遮住咗大半個人臉。

04、喺OpenMV上運行模型

完成訓練設計、模型訓練同模型驗證嘅步驟之後,你就可以將呢個模型匯出到你嘅OpenMV,揀「OpenMV」,再揀「Build」進行生成,佢會自動生成3個檔案:

trained.tflite 訓練好嘅神經網絡模型

labels.txt 兩個分類標籤(face同mask)

* ei_image_classification.py 係OpenMV上面要執行嘅程式碼

口罩识别教程-在OpenMV上运行模型

連接OpenMV IDE,將呢3個檔案儲存到OpenMV內置嘅Flash入面。將ei_image_classification.py檔案喺OpenMV IDE中打開,就可以睇到我哋啱啱喺EdgeImpulse裡面生成嘅程式碼。點擊運行,喺串行終端裡面會顯示運行嘅結果。

口罩识别教程-识别戴口罩的人脸.
口罩识别教程-识别不戴口罩的人脸

好啦,你已經成功為OpenMV增加自行訓練神經網絡嘅功能喇。

期待你嘅成果!

相關文章

机房/配电房/单元门敞开识别

基於OpenMV的人工智能哨兵:重點場所未關閉自動提醒

自動判斷重點場所的門是否長時間未關閉,並即時發出提醒。

越界识别

人員越界即發出警報,OpenMV演繹「安全邊界感」

透過虛擬警戒線識別人員或設備越界行為。

占道经营识别

「AI城管」來啦,採用OpenMV構建的佔道經營自動識別系統

自動識別佔道經營行為,協助城市日常治理。

煤气罐违规摆放识别

煤氣罐擺放混亂?利用 OpenMV 自動觸發危險警報

自動識別煤氣罐違規擺放位置,及早發現燃氣安全隱患。

绝缘手套佩戴识别

帶電作業未佩戴絕緣手套?OpenMV 即刻發出警報!

自動識別作業人員是否佩戴絕緣手套,以輔助安全作業。

铝板缺陷识别

採用OpenMV智能攝像頭,即時識別鋁板表面缺陷

在網上識別鋁板表面的刮痕、凹陷等缺陷,以協助品質管控。

熱門分類

語言和地區
Copyright © 2025 星瞳科技SingTown
粤ICP备17045162号