資料介紹
描述
幾個(gè)月前,出于對(duì)教育的好奇心,我萌生了使用 Jetson Nano 構(gòu)建人臉識(shí)別系統(tǒng)的想法。后來(lái)隨著最初的想法被調(diào)整為激活滑動(dòng)門。為了讓它變得可行,我和我的伙伴 Mrugank 和 Suman 集思廣益,用可動(dòng)人偶實(shí)現(xiàn)了同樣的效果。
但它只是一個(gè)想法,沒(méi)有太多行動(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è)角色都有自定義語(yǔ)音歡迎信息。
創(chuàng)建數(shù)據(jù)集
在庫(kù)存中,我們有一些可動(dòng)人偶,但不幸的是,沒(méi)有可用于可動(dòng)人偶的數(shù)據(jù)集。因此,我們必須建造一個(gè)。由于這是一個(gè)需要深度學(xué)習(xí)的計(jì)算機(jī)視覺(jué)用例,因此大約10 -15k圖像的數(shù)據(jù)集就足夠了。
手動(dòng)點(diǎn)擊/收集這么多圖像將是一個(gè)繁瑣的過(guò)程。因此,為了拯救我們,我們想出了兩個(gè)步驟來(lái)自動(dòng)化創(chuàng)建深度學(xué)習(xí)圖像數(shù)據(jù)集的過(guò)程:
1. 使用搜索查詢收集圖像:多虧了PyImageSearch 的有趣教程,我們才能夠通過(guò) Bing 搜索查詢自動(dòng)執(zhí)行收集圖像的過(guò)程。微軟免費(fèi)提供 Bing Search API,但有一定的限制(每天約 3000 次搜索查詢)。您也可以使用它來(lái)填充您自己的數(shù)據(jù)集。我們?yōu)槊總€(gè)班級(jí)收集了大約 100 張圖像。
2. 數(shù)據(jù)增強(qiáng):當(dāng)您缺乏足夠的數(shù)據(jù)來(lái)完成您的任務(wù)時(shí),執(zhí)行一些數(shù)據(jù)增強(qiáng)技術(shù)來(lái)創(chuàng)建合成圖像非常有效。隨機(jī)旋轉(zhuǎn)、裁剪、過(guò)濾器和水平翻轉(zhuǎn)等技術(shù)可以解決問(wèn)題。我們使用 skimage 庫(kù)來(lái)執(zhí)行相同的操作。

模型創(chuàng)建和訓(xùn)練
為了訓(xùn)練我們的模型,我們選擇了 Google Collaboratory 提供的 Nvidia GPU 運(yùn)行時(shí)。PyTorch 是我們選擇的深度學(xué)習(xí)框架來(lái)構(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ò)之一。我們很樂(lè)意繼續(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ù),如下爭(zhēng)論。
這是使用 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ì)我們來(lái)說(shuō),最佳驗(yàn)證準(zhǔn)確率約為 0.99,這是一個(gè)相當(dāng)不錯(cuò)的表現(xiàn)。預(yù)測(cè)結(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è)置。簡(jiǎn)而言之,您只需要使用 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 庫(kù)。Nano 的最新 L4T (r32.1.1) 更新帶有默認(rèn)的 OpenCV 4 版本,這對(duì)計(jì)算機(jī)視覺(jué)社區(qū)來(lái)說(shuō)是一個(gè)巨大的福音。
2.推理庫(kù)
請(qǐng)注意,Jetson Nano 是一款非常適合AI 推理任務(wù)的邊緣設(shè)備。請(qǐng)不要誤會(huì),您可以用它來(lái)訓(xùn)練您的模型。它會(huì)升溫并繁榮!為了我們的深度學(xué)習(xí)推理目的,我們需要以下庫(kù)和包。
- 火炬
- 火炬視覺(jué)
- Py2trt - 構(gòu)建與 PyTorch 模型兼容的TensorRT推理引擎
要獲得上面的先決條件列表,只需訪問(wèn)Nvidia 論壇鏈接,了解從源代碼構(gòu)建的分步過(guò)程。要安裝 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ī)視覺(jué)中更快地傳輸數(shù)據(jù),您需要 gstreamer 插件管道,否則流會(huì)嚴(yán)重滯后,從而阻礙您的工作。
要了解如何創(chuàng)建 gstreamer 管道,您可以查看我們的代碼,但我們不會(huì)深入探討。我們的重點(diǎn)是如何通過(guò)簡(jiǎn)單的圖像分類來(lái)識(shí)別可動(dòng)人偶。
1.捕獲幀進(jìn)行預(yù)處理
此代碼位于我們存儲(chǔ)庫(kù)中的gstreamer.py文件中。看一眼熟悉代碼。
首先,確保導(dǎo)入這些必要的模塊
?
read_cam() 捕捉幀?提供一個(gè)計(jì)數(shù)器變量以捕獲流中的每 48 幀(如果 framerate = 24 每秒,則每 2 秒捕獲一次)。將捕獲的幀傳遞給預(yù)處理。在所有過(guò)程之后增加計(jì)數(shù)器。確保為等待鍵和中斷提供條件以繼續(xù)/中斷流。
2.圖像預(yù)處理
檢查傳遞給標(biāo)準(zhǔn)化變量的均值和標(biāo)準(zhǔn)差,我們將使用它?當(dāng)然,我們需要執(zhí)行此步驟以匹配在訓(xùn)練過(guò)程中轉(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 層以獲取可讀格式的概率,否則我們將無(wú)法解釋這些值以進(jìn)行進(jìn)一步處理。我們需要返回概率和頂級(jí)類別,以便我們可以在終端中打印它的值,并將其用于進(jìn)一步的處理。
我們的模型處于早期階段。類別正確預(yù)測(cè)為“蝙蝠俠”,置信度值為 85%?4.是時(shí)候執(zhí)行物聯(lián)網(wǎng)操作了
由于識(shí)別(AI 部分)已完成,讓我們自動(dòng)執(zhí)行其余操作:
i) 用語(yǔ)音消息問(wèn)候人偶 ii) 打開/關(guān)閉門讓我們的客人進(jìn)來(lái) iii) 如果角色來(lái)自 DC(比如蝙蝠俠),播放必要的消息音頻并且不允許角色進(jìn)入開門
?我們執(zhí)行驗(yàn)證步驟以確保該角色僅來(lái)自漫威宇宙。
??
- 使用Jetson Nano的CSI相機(jī)接口
- 玩轉(zhuǎn)智能硬件(三)Jetson Nano深度學(xué)習(xí)環(huán)境搭建
- 基于LABVIEW的車牌識(shí)別系統(tǒng)資料 68次下載
- NVIDIA Jetson Nano 電源適配器 (供電)
- 基于身份證和人臉識(shí)別的智能門禁系統(tǒng) 41次下載
- 非理想環(huán)境下的改進(jìn)人臉識(shí)別算法 3次下載
- 基于MATLAB的車牌識(shí)別系統(tǒng) 19次下載
- 近紅外人臉識(shí)別系統(tǒng)設(shè)計(jì) 7次下載
- 基于FPGA的說(shuō)話人識(shí)別系統(tǒng)設(shè)計(jì) 26次下載
- 汽車無(wú)線射頻識(shí)別系統(tǒng)設(shè)計(jì) 1次下載
- 基于openCV的人臉檢測(cè)識(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)
- 基于LockAI視覺(jué)識(shí)別模塊:C++人臉識(shí)別 613次閱讀
- 基于OpenCV的人臉識(shí)別系統(tǒng)設(shè)計(jì) 3.5w次閱讀
- 一文看懂人臉識(shí)別技術(shù) 4.8k次閱讀
- 簡(jiǎn)單易學(xué)的Jetson Nano問(wèn)題排除小秘訣 1.1w次閱讀
- 使用NVIDIA Jetson Orin Nano解決入門級(jí)邊緣人工智能挑戰(zhàn) 3.8k次閱讀
- 人臉識(shí)別系統(tǒng)應(yīng)用范圍_選擇人臉識(shí)別系統(tǒng)的關(guān)注點(diǎn) 1.9k次閱讀
- 人臉識(shí)別系統(tǒng)怎么破解_人臉識(shí)別系統(tǒng)錄入步驟 8.9w次閱讀
- 微雪電子 IMX219-77攝像頭介紹 4.6k次閱讀
- 微雪電子 IMX219-160攝像頭介紹 4.7k次閱讀
- 微雪電子NVIDIA Jetson Nano人工智能開發(fā)套件AI板介紹 6.4k次閱讀
- 語(yǔ)音識(shí)別系統(tǒng)功能_語(yǔ)音識(shí)別系統(tǒng)的應(yīng)用 6.1k次閱讀
- 體育館人臉識(shí)別系統(tǒng)的應(yīng)用案例 2.7k次閱讀
- 多倫多大學(xué)將反人臉識(shí)別系統(tǒng)識(shí)別成功率降至0.5% 3.8k次閱讀
- 人臉識(shí)別算法遇到的困難和挑戰(zhàn) 7.2k次閱讀
- 劃片機(jī)視覺(jué)識(shí)別系統(tǒng)設(shè)計(jì)原理分析 3.3k次閱讀
下載排行
本周
- 1矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書 Datasheet 佰祥電子
- 1.12 MB | 5次下載 | 免費(fèi)
- 2HT81696H 內(nèi)置升壓的30W立體聲D類音頻功放數(shù)據(jù)手冊(cè)
- 1.21 MB | 1次下載 | 免費(fèi)
- 3HTA6863 3W超低噪聲超低功耗單聲道D類音頻功率放大器數(shù)據(jù)手冊(cè)
- 0.87 MB | 次下載 | 免費(fèi)
- 4南芯 Southchip SC8802C 充電控制器 規(guī)格書 Datasheet 佰祥電子
- 88.16 KB | 次下載 | 免費(fèi)
- 5矽力杰 Silergy SY7065 同步升壓轉(zhuǎn)換器 規(guī)格書 Datasheet 佰祥電子
- 910.67 KB | 次下載 | 免費(fèi)
- 6矽力杰 Silergy SY7066 同步升壓轉(zhuǎn)換器 規(guī)格書 Datasheet 佰祥電子
- 989.14 KB | 次下載 | 免費(fèi)
- 7WD6208A產(chǎn)品規(guī)格書
- 631.24 KB | 次下載 | 免費(fèi)
- 8NB685 26 V,12 A,低靜態(tài)電流,大電流 同步降壓變換器數(shù)據(jù)手冊(cè)
- 1.64 MB | 次下載 | 2 積分
本月
- 1EMC PCB設(shè)計(jì)總結(jié)
- 0.33 MB | 12次下載 | 免費(fèi)
- 2PD取電芯片 ECP5702規(guī)格書
- 0.88 MB | 5次下載 | 免費(fèi)
- 3矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書 Datasheet 佰祥電子
- 1.12 MB | 5次下載 | 免費(fèi)
- 4氮化鎵GaN FET/GaN HEMT 功率驅(qū)動(dòng)電路選型表
- 0.10 MB | 3次下載 | 免費(fèi)
- 5PD取電芯片,可取5/9/12/15/20V電壓ECP5702數(shù)據(jù)手冊(cè)
- 0.88 MB | 3次下載 | 免費(fèi)
- 6SY50655 用于高輸入電壓應(yīng)用的偽固定頻率SSR反激式穩(wěn)壓器英文資料
- 1.01 MB | 3次下載 | 免費(fèi)
- 7怎么為半導(dǎo)體測(cè)試儀選擇精密放大器
- 0.65 MB | 2次下載 | 免費(fèi)
- 8SY52341 次級(jí)側(cè)同步整流英文手冊(cè)
- 0.94 MB | 2次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233095次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191469次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81606次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73832次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論