RM新时代网站-首页

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Tensorflow的Raspberry Pi Covid口罩檢測器

使用Tensorflow的Raspberry Pi Covid口罩檢測器

2023-07-13 | zip | 0.00 MB | 次下載 | 免費(fèi)

資料介紹

當(dāng)我們開始處于封鎖狀態(tài)時,我有很多時間思考我可以做的項目,這些項目將涉及我對機(jī)器學(xué)習(xí)硬件黑客的興趣。我認(rèn)為可以監(jiān)控出口點(diǎn)(入口和出口)的小型設(shè)備可以自動識別符合口罩要求的人。這可能是一種有趣的方式,可以讓技術(shù)解決在試圖保護(hù)人們安全的同時發(fā)生的一些復(fù)雜的人際互動。

我決定創(chuàng)建一個“Covid Mask Detector”,它將使用一個小型便宜的 Raspberry Pi 和一個定制的對象檢測模型,該模型在戴口罩和不戴口罩的臉上進(jìn)行訓(xùn)練。

機(jī)器學(xué)習(xí)模型

為了在 TensorFlow 中創(chuàng)建機(jī)器學(xué)習(xí)模型,我首先需要收集大量有面孔的圖像,并對戴口罩和不戴口罩的人進(jìn)行標(biāo)注。為此,我需要從收集大量面部圖像開始。

收集圖像

為了協(xié)助收集面部圖像,我編寫了一個 Nodejs 腳本,該腳本將使用 Google Images 作為其來源并將搜索參數(shù)傳遞給該服務(wù),然后下載最大版本的結(jié)果。該代碼可在此處獲得:

https://github.com/contractorwolf/googleimagedownloader

要使用 Nodejs 腳本,只需轉(zhuǎn)到它所在的文件夾并首先運(yùn)行npm install (安裝 axios 和 fs),然后像這樣運(yùn)行腳本:

> node getimages covid masks

上面的命令將下載與“covid masks”相關(guān)的圖像。我用幾個不同的搜索參數(shù)收集圖像,以確保我收集的是各種種族/性別/年齡/風(fēng)格的面孔圖像。我在搜索參數(shù)上花了很多時間(不僅僅是上面那個)。在識別人臉以及識別醫(yī)用口罩和女仆/定制口罩時,我想盡可能地消除偏見。

在我收集了各種帶有面具和沒有面具的圖像后,我仔細(xì)檢查并刪除了對模型訓(xùn)練沒有幫助的所有圖像。然后我移動并調(diào)整圖像大小以使它們統(tǒng)一(自動執(zhí)行這些操作的腳本也在回購協(xié)議中)。完成這些任務(wù)后,我需要對圖像進(jìn)行注釋并確定每張圖像中人臉的位置,以及確定人臉是否戴著面具。

注釋圖像

為了注釋或“標(biāo)記”圖像,我使用了名為LabelImg(直接下載)的軟件,該軟件是開源的,已記錄在LabelImg 的 Github頁面上。該軟件為每個圖像創(chuàng)建一個 XML 文件,為每個圖像定義機(jī)器學(xué)習(xí)“標(biāo)簽”(遮罩或不遮罩)以及面部邊界框(面部在圖像上的位置)。注釋一千張口罩和沒有口罩的圖像的過程需要一段時間,但我知道準(zhǔn)確性與準(zhǔn)確收集和標(biāo)記圖像所花費(fèi)的時間直接相關(guān)。

在收集和注釋圖像后,必須將它們分成訓(xùn)練文件夾和測試文件夾,比例為 80/20。如果您想查看到目前為止的過程輸出,可以下載生成的文件夾:

測試圖像和注釋 XML 文件:

https://github.com/contractorwolf/coronavirus-mask-detection/blob/master/images/test.zip

測試圖像和注釋 XML 文件:

https://github.com/contractorwolf/coronavirus-mask-detection/blob/master/images/train.zip

?

poYBAGSAeTuAeNOoAAPAxByRbXM296.png
谷歌實(shí)驗室
?

使用 Google Colab 訓(xùn)練模型

在我獲得生成機(jī)器學(xué)習(xí)模型所需的圖像后,該模型可以識別戴/不戴口罩之間的區(qū)別,我必須編寫代碼來生成模型。我決定修改我發(fā)現(xiàn)的一些用Tensorflow編寫的其他示例。我最初嘗試使用我的顯卡在我的個人臺式機(jī)上執(zhí)行此操作,但遇到了問題,所以我決定嘗試使用 Google 的 Colab,這是一個 Web 界面,用于編寫可以在 Google 的 GPU(或 TPU?。┥厦赓M(fèi)運(yùn)行的機(jī)器學(xué)習(xí)筆記本。

我寫了筆記本來使用上面定義的圖像,并試圖記錄每一步發(fā)生的事情:

https://colab.research.google.com/drive/1uEkP5j7KM9eSkCUtUyauy7-Dyd5XAY6e?usp=sharing

Colab使用預(yù)訓(xùn)練的MobileNet Coco模型,然后使用上面創(chuàng)建的圖像重新訓(xùn)練最后一步,使圖像模型專門識別戴面具和不戴面具的人臉。以下是 Colab 中記錄的主要步驟:

  • 安裝所需的 Tensorflow 版本
  • 設(shè)置對象檢測項目
  • 下載 Coco 模型
  • 下載需要的圖片
  • 火車模型
  • 測試模型
  • 樹莓派創(chuàng)建文件
  • 在 Raspberry Pi 上為 TPU 創(chuàng)建文件

該過程需要一些時間,您需要確保閱讀并運(yùn)行每個塊并查看輸出。如果您對 Colab 或代碼或該項目中的任何內(nèi)容有任何疑問,請隨時將它們留在下面,我會盡力回答。

硬件

硬件基本上是帶有Google Coral TPU 的Raspberry Pi (用于更快的推理)。我添加了 Armor Casing(用于外觀和設(shè)備保護(hù))和 Adafruit Mini PiTFT 作為用戶界面,以便設(shè)備無需插入顯示器即可提供基本反饋。

谷歌珊瑚 TPU

Google Coral TPU通過 USB 連接,能夠處理進(jìn)行機(jī)器學(xué)習(xí)推理(預(yù)測)時所需的大量矩陣數(shù)學(xué)運(yùn)算。使用 TPU(模型設(shè)置為使用 TPU 和代碼集以利用 TPU)允許模型能夠以每秒 15 幀的速度進(jìn)行預(yù)測。如果沒有 TPU,Raspberry Pi 只能以大約每秒 3 幀的速度處理 USB 攝像頭圖像的預(yù)測。我的 Github Repo 中的默認(rèn)代碼設(shè)置為使用 TPU,但您會看到注釋掉的部分,這些部分將允許它在沒有 TPU 的情況下僅在 Raspberry Pi 上運(yùn)行(盡管速度較慢)。

TFT基本接口

我使用 Adafruit MiniPiTFT 作為該項目的主要外部接口。目標(biāo)是提供機(jī)器學(xué)習(xí)模型完成的評估以及一些其他基本參數(shù)的外部通知。右圖中顯示的框表示USB攝像頭看到的圖像是否是“戴著COVID口罩”(下圖綠色框)

pYYBAGSAeUOAAwW9AAR2JuqlgJ0791.jpg
?

當(dāng)設(shè)備在范圍內(nèi)看到一個人時,它會放置一個彩色框來勾勒出他們的臉。彩色框表示他們是否戴著口罩。如果它看到如下圖所示的面具,它將在他們的臉上用綠色框表示,并在 MiniPiTFT 上閃爍一個綠色框,如上圖所示。

。

poYBAGSAeU2Advo6AAexXkMya40681.jpg
?

如果正在使用顯示器,還會在臉部周圍顯示一個紅色框,如下圖所示。

pYYBAGSAeVOAWYmlAA78aEoRRYE622.jpg
?

基本的想法是,該設(shè)備可以獨(dú)立于插入顯示器或屏幕而工作,只需依靠。其他顯示參數(shù)如下:

  • N :(無掩碼,紅色)具有估計的確定性
  • M :(看到面具,綠色)估計確定性
  • S :屏幕中圖像的大小百分比F :估計正在進(jìn)行的每秒幀數(shù)
  • T : CPU 溫度

定制電纜

我最初只是買了我能找到的最短的雙直角 USB 數(shù)據(jù)線,然后將它綁在外殼上,但我認(rèn)為我可以做得更好,所以我一直在改進(jìn)。

poYBAGSAeVmAWtvgAAlWb4KW0XU690.jpg
?

最后我只是從上面剪下電纜并重新連接兩端,所以它看起來像這樣:

pYYBAGSAeV-AJLIqAApvvGqyo0E505.jpg
?

USB 實(shí)際上只有 4 根線,它們采用顏色編碼,因此過程很簡單。我實(shí)際上也有一個小的拉鏈領(lǐng)帶,以承受大部分的彎曲壓力并防止它們斷裂。最后看起來像這樣安裝:

poYBAGSAeWWAHiQwAA7Mo7Kj2LY166.jpg
?

軟件

Raspberry Pi 可以啟動到 python 程序,該程序?qū)⒈O(jiān)控 USB 網(wǎng)絡(luò)攝像頭并運(yùn)行一個

https://github.com/contractorwolf/rpi-tensorflow-mask-detector/blob/master/maskclassifier.py

從基本 tensorflow 對象檢測示例修改而來,但使用經(jīng)過重新訓(xùn)練的模型的修改版本以僅識別“面具”或“無面具”面孔。還修改為使用 TPU 進(jìn)行快速推理并將數(shù)據(jù)輸出到迷你 PiTFT 屏幕。

代碼啟動并開始處理來自它可以識別的第一個 USB 網(wǎng)絡(luò)攝像頭的圖像。圖像被加載,機(jī)器學(xué)習(xí)模型嘗試對其是否看到面具進(jìn)行分類。它還會在圖像中看到的每張可識別面孔周圍繪制一個邊界框,并對最大的一張是否戴著口罩進(jìn)行分類。 PiTFT 還用于顯示有關(guān)圖像的計算。如果您沒有 TFT 或不需要任何額外的顯示器,可以簡單地注釋掉該代碼。如果您的模型不是為 TPU 處理構(gòu)建的,也可以刪除 TPU 代碼,但它會以低得多的幀速率進(jìn)行處理。當(dāng)我使用非 TPU 模型在 RPi 4 上運(yùn)行它時,我看到幀率為 ~2-3FPS,而 TPU 允許我以~15FPS 的速度處理。

如果您有任何其他問題,只需將它們放在評論中,我會盡可能提供幫助。感謝您的觀看!


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
RM新时代网站-首页