資料介紹
描述
幾個(gè)月前,出于對(duì)教育的好奇心,我萌生了使用 Jetson Nano 構(gòu)建人臉識(shí)別系統(tǒng)的想法。后來隨著最初的想法被調(diào)整為激活滑動(dòng)門。為了讓它變得可行,我和我的伙伴 Mrugank 和 Suman 集思廣益,用可動(dòng)人偶實(shí)現(xiàn)了同樣的效果。
但它只是一個(gè)想法,沒有太多行動(dòng)。多虧了由 Nvidia 和 Hackster.io 主辦的“AI at the Edge Challenge”,我們組建了自己的團(tuán)隊(duì) (Nerds United Alpha) 并努力將這個(gè)想法變?yōu)楝F(xiàn)實(shí)。
我們決定賦予它“復(fù)仇者聯(lián)盟智能之家”的光環(huán),只歡迎 Marvel 可動(dòng)人偶,每個(gè)角色都有自定義語音歡迎信息。
創(chuàng)建數(shù)據(jù)集
在庫存中,我們有一些可動(dòng)人偶,但不幸的是,沒有可用于可動(dòng)人偶的數(shù)據(jù)集。因此,我們必須建造一個(gè)。由于這是一個(gè)需要深度學(xué)習(xí)的計(jì)算機(jī)視覺用例,因此大約10 -15k圖像的數(shù)據(jù)集就足夠了。
手動(dòng)點(diǎn)擊/收集這么多圖像將是一個(gè)繁瑣的過程。因此,為了拯救我們,我們想出了兩個(gè)步驟來自動(dòng)化創(chuàng)建深度學(xué)習(xí)圖像數(shù)據(jù)集的過程:
1. 使用搜索查詢收集圖像:多虧了PyImageSearch 的有趣教程,我們才能夠通過 Bing 搜索查詢自動(dòng)執(zhí)行收集圖像的過程。微軟免費(fèi)提供 Bing Search API,但有一定的限制(每天約 3000 次搜索查詢)。您也可以使用它來填充您自己的數(shù)據(jù)集。我們?yōu)槊總€(gè)班級(jí)收集了大約 100 張圖像。
2. 數(shù)據(jù)增強(qiáng):當(dāng)您缺乏足夠的數(shù)據(jù)來完成您的任務(wù)時(shí),執(zhí)行一些數(shù)據(jù)增強(qiáng)技術(shù)來創(chuàng)建合成圖像非常有效。隨機(jī)旋轉(zhuǎn)、裁剪、過濾器和水平翻轉(zhuǎn)等技術(shù)可以解決問題。我們使用 skimage 庫來執(zhí)行相同的操作。
模型創(chuàng)建和訓(xùn)練
為了訓(xùn)練我們的模型,我們選擇了 Google Collaboratory 提供的 Nvidia GPU 運(yùn)行時(shí)。PyTorch 是我們選擇的深度學(xué)習(xí)框架來構(gòu)建和訓(xùn)練我們的模型。因此,我們參考了 PyTorch.org 的官方遷移學(xué)習(xí)教程。因此,您需要做的就是運(yùn)行 Google Colab 實(shí)例并將您的數(shù)據(jù)集上傳到谷歌驅(qū)動(dòng)器。根據(jù)代碼,確保將數(shù)據(jù)集文件夾分隔為“train”和“val”文件夾,并將各個(gè)類作為子目錄。
使用 ResNet-18 進(jìn)行遷移學(xué)習(xí)
ResNet-18 是最受歡迎的預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)之一。我們很樂意繼續(xù)使用它進(jìn)行遷移學(xué)習(xí)。
因?yàn)槲覀冎皇沁w移學(xué)習(xí),所以我們不需要在我們的神經(jīng)網(wǎng)絡(luò)中進(jìn)行反向傳播。因此,我們?cè)讷@得預(yù)訓(xùn)練模型后的第一步停用它,并修改全連接層,使其變?yōu)榫€性并提供類數(shù),即“8”,以及模型中的特征數(shù),如下爭論。
這是使用 GPU 進(jìn)行更快訓(xùn)練的必要步驟,因此,模型需要傳輸?shù)健霸O(shè)備”,這恰好是 Nvidia GPU。您可以自由選擇您的標(biāo)準(zhǔn)。'CrossEntropyLoss' 和 'NLLLoss' 都是首選。
現(xiàn)在是時(shí)候用我們的模型訓(xùn)練和分類圖像了。請(qǐng)參閱筆記本中的train_model方法以獲得進(jìn)一步的見解。
對(duì)我們來說,最佳驗(yàn)證準(zhǔn)確率約為 0.99,這是一個(gè)相當(dāng)不錯(cuò)的表現(xiàn)。預(yù)測結(jié)果也很驚人!現(xiàn)在,使用必要的 torch.save() 函數(shù)保存模型。
讓我們開始使用 Jetson Nano 部署我們的推理模型吧!
設(shè)置 Jetson Nano 進(jìn)行推理
Nvidia Jetson Nano 是一款帶有板載 Tegra GPU 的嵌入式 SoC,針對(duì)“邊緣人工智能”進(jìn)行了優(yōu)化和構(gòu)建。要開始使用 Jetson Nano,您可以參考官方指南進(jìn)行首次啟動(dòng)設(shè)置。簡而言之,您只需要使用 Nvidia 最新的“Linux For Tegra (L4T)”映像刷入 UHS-I SD 卡。之后,確保您擁有為 Jetson Nano 供電和啟動(dòng)的先決條件硬件。
1.先決條件
我們建議您擁有:
- microSD 卡(32 - 64 GB UHS-1)
- USB 鍵盤和鼠標(biāo)
- 電腦顯示器(HDMI 或 DP)
- 電源適配器(5V=4A)【OnePlus、MiA1等手機(jī)適配器】
- USB 至 5V DC (2.1 mm) 桶形插孔電纜
該設(shè)備隨JetPack一起提供,其中包含一套內(nèi)置的 Nvidia 軟件和必要的 CUDA 庫。Nano 的最新 L4T (r32.1.1) 更新帶有默認(rèn)的 OpenCV 4 版本,這對(duì)計(jì)算機(jī)視覺社區(qū)來說是一個(gè)巨大的福音。
2.推理庫
請(qǐng)注意,Jetson Nano 是一款非常適合AI 推理任務(wù)的邊緣設(shè)備。請(qǐng)不要誤會(huì),您可以用它來訓(xùn)練您的模型。它會(huì)升溫并繁榮!為了我們的深度學(xué)習(xí)推理目的,我們需要以下庫和包。
- 火炬
- 火炬視覺
- Py2trt - 構(gòu)建與 PyTorch 模型兼容的TensorRT推理引擎
要獲得上面的先決條件列表,只需訪問Nvidia 論壇鏈接,了解從源代碼構(gòu)建的分步過程。要安裝 py2trt 模塊,只需在終端中執(zhí)行以下命令:
pip install torch2trt
3.加載和轉(zhuǎn)換我們的模型(Py2TRT)
Nvidia 使得將在 PyTorch 中訓(xùn)練的模型移植到它的 TensorRT 對(duì)應(yīng)模型變得非常容易,只需一行。請(qǐng)參閱下圖了解必要的步驟。
- 初始化pytorch模型對(duì)象
- 加載模型狀態(tài)字典
-
創(chuàng)建一個(gè)示例張量(確保它與您通常訓(xùn)練的 cv2 窗口捕獲大小/圖像大小的分辨率相匹配):我們提供 (480, 640) 以匹配 640x480 分辨率大小。準(zhǔn)備好了!
?
請(qǐng)參閱此代碼以進(jìn)一步了解 GPIO 模式操作以設(shè)置電機(jī)運(yùn)動(dòng)。
?這個(gè)旋轉(zhuǎn)電機(jī)將幫助我們方便滑動(dòng)門
3.選擇滑動(dòng)門機(jī)構(gòu)
?上圖是齒條和小齒輪機(jī)構(gòu)的參考圖像,用于前后滑動(dòng)我們的門。旋轉(zhuǎn)的直流電機(jī)產(chǎn)生旋轉(zhuǎn)齒輪所需的力。當(dāng)齒輪連接到兼容的牙齒時(shí),有助于連接的下頜沿相反方向滑動(dòng)。
?根據(jù)上圖,您可以看到我們帶推拉門的智能住宅的原型。Jetvengers House 已準(zhǔn)備就緒。我們 3D 打印了滑動(dòng)門的重要部件,即“架子”。
PS:我們用硬紙板建造了我們的房子,L2989N(其中一個(gè)帶有紅色 LED)由 UPS 電池供電 XD!
整合人工智能和物聯(lián)網(wǎng)
現(xiàn)在是時(shí)候讓我們的 Jetvengers HQ 智能功能付諸行動(dòng)了。感謝JKJung 與自定義 tegra-cam 的合作,我們能夠讓GStreamer管道與 Jetson Nano 上的 OpenCV 一起工作。
請(qǐng)注意,為了在計(jì)算機(jī)視覺中更快地傳輸數(shù)據(jù),您需要 gstreamer 插件管道,否則流會(huì)嚴(yán)重滯后,從而阻礙您的工作。
要了解如何創(chuàng)建 gstreamer 管道,您可以查看我們的代碼,但我們不會(huì)深入探討。我們的重點(diǎn)是如何通過簡單的圖像分類來識(shí)別可動(dòng)人偶。
1.捕獲幀進(jìn)行預(yù)處理
此代碼位于我們存儲(chǔ)庫中的gstreamer.py文件中。看一眼熟悉代碼。
首先,確保導(dǎo)入這些必要的模塊
?read_cam() 捕捉幀?提供一個(gè)計(jì)數(shù)器變量以捕獲流中的每 48 幀(如果 framerate = 24 每秒,則每 2 秒捕獲一次)。將捕獲的幀傳遞給預(yù)處理。在所有過程之后增加計(jì)數(shù)器。確保為等待鍵和中斷提供條件以繼續(xù)/中斷流。
2.圖像預(yù)處理
檢查傳遞給標(biāo)準(zhǔn)化變量的均值和標(biāo)準(zhǔn)差,我們將使用它?當(dāng)然,我們需要執(zhí)行此步驟以匹配在訓(xùn)練過程中轉(zhuǎn)換訓(xùn)練和驗(yàn)證圖像時(shí)的狀態(tài)。
?確保執(zhí)行這些步驟。不要忘記將圖像轉(zhuǎn)換為 RGB,因?yàn)?OpenCV 以 BGR 格式捕獲每一幀。
3. Image Prediction(識(shí)別動(dòng)作人物)
?我們附加了一個(gè) softmax 層以獲取可讀格式的概率,否則我們將無法解釋這些值以進(jìn)行進(jìn)一步處理。我們需要返回概率和頂級(jí)類別,以便我們可以在終端中打印它的值,并將其用于進(jìn)一步的處理。
我們的模型處于早期階段。類別正確預(yù)測為“蝙蝠俠”,置信度值為 85%?4.是時(shí)候執(zhí)行物聯(lián)網(wǎng)操作了
由于識(shí)別(AI 部分)已完成,讓我們自動(dòng)執(zhí)行其余操作:
i) 用語音消息問候人偶 ii) 打開/關(guān)閉門讓我們的客人進(jìn)來 iii) 如果角色來自 DC(比如蝙蝠俠),播放必要的消息音頻并且不允許角色進(jìn)入開門
?我們執(zhí)行驗(yàn)證步驟以確保該角色僅來自漫威宇宙。
??
- 使用Jetson Nano的CSI相機(jī)接口
- 玩轉(zhuǎn)智能硬件(三)Jetson Nano深度學(xué)習(xí)環(huán)境搭建
- 基于LABVIEW的車牌識(shí)別系統(tǒng)資料 64次下載
- NVIDIA Jetson Nano 電源適配器 (供電)
- 基于身份證和人臉識(shí)別的智能門禁系統(tǒng) 38次下載
- 非理想環(huán)境下的改進(jìn)人臉識(shí)別算法 3次下載
- 基于MATLAB的車牌識(shí)別系統(tǒng) 18次下載
- 近紅外人臉識(shí)別系統(tǒng)設(shè)計(jì) 7次下載
- 基于FPGA的說話人識(shí)別系統(tǒng)設(shè)計(jì) 26次下載
- 汽車無線射頻識(shí)別系統(tǒng)設(shè)計(jì) 1次下載
- 基于openCV的人臉檢測識(shí)別系統(tǒng)的設(shè)計(jì) 477次下載
- 人臉識(shí)別技術(shù)在訪客識(shí)別系統(tǒng)中的應(yīng)用 46次下載
- 基于DSP的人臉圖像識(shí)別系統(tǒng)
- 人臉識(shí)別系統(tǒng)中的特征提取Feature Extraction
- 用隱馬爾可夫模型設(shè)計(jì)人臉表情識(shí)別系統(tǒng)
- 基于OpenCV的人臉識(shí)別系統(tǒng)設(shè)計(jì) 1.2w次閱讀
- 一文看懂人臉識(shí)別技術(shù) 3167次閱讀
- 簡單易學(xué)的Jetson Nano問題排除小秘訣 8846次閱讀
- 使用NVIDIA Jetson Orin Nano解決入門級(jí)邊緣人工智能挑戰(zhàn) 2567次閱讀
- 人臉識(shí)別系統(tǒng)應(yīng)用范圍_選擇人臉識(shí)別系統(tǒng)的關(guān)注點(diǎn) 1421次閱讀
- 人臉識(shí)別系統(tǒng)怎么破解_人臉識(shí)別系統(tǒng)錄入步驟 8.5w次閱讀
- 微雪電子 IMX219-77攝像頭介紹 3501次閱讀
- 微雪電子 IMX219-160攝像頭介紹 3512次閱讀
- 微雪電子攝像頭 IMX219-200介紹 5905次閱讀
- 微雪電子NVIDIA Jetson Nano人工智能開發(fā)套件AI板介紹 5597次閱讀
- 語音識(shí)別系統(tǒng)功能_語音識(shí)別系統(tǒng)的應(yīng)用 5694次閱讀
- 體育館人臉識(shí)別系統(tǒng)的應(yīng)用案例 2312次閱讀
- 多倫多大學(xué)將反人臉識(shí)別系統(tǒng)識(shí)別成功率降至0.5% 3264次閱讀
- 人臉識(shí)別算法遇到的困難和挑戰(zhàn) 6808次閱讀
- 劃片機(jī)視覺識(shí)別系統(tǒng)設(shè)計(jì)原理分析 3016次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多