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

模型創(chuàng)建和訓練
為了訓練我們的模型,我們選擇了 Google Collaboratory 提供的 Nvidia GPU 運行時。PyTorch 是我們選擇的深度學習框架來構(gòu)建和訓練我們的模型。因此,我們參考了 PyTorch.org 的官方遷移學習教程。因此,您需要做的就是運行 Google Colab 實例并將您的數(shù)據(jù)集上傳到谷歌驅(qū)動器。根據(jù)代碼,確保將數(shù)據(jù)集文件夾分隔為“train”和“val”文件夾,并將各個類作為子目錄。


使用 ResNet-18 進行遷移學習
ResNet-18 是最受歡迎的預訓練神經(jīng)網(wǎng)絡(luò)之一。我們很樂意繼續(xù)使用它進行遷移學習。

因為我們只是遷移學習,所以我們不需要在我們的神經(jīng)網(wǎng)絡(luò)中進行反向傳播。因此,我們在獲得預訓練模型后的第一步停用它,并修改全連接層,使其變?yōu)榫€性并提供類數(shù),即“8”,以及模型中的特征數(shù),如下爭論。
這是使用 GPU 進行更快訓練的必要步驟,因此,模型需要傳輸?shù)健霸O(shè)備”,這恰好是 Nvidia GPU。您可以自由選擇您的標準。'CrossEntropyLoss' 和 'NLLLoss' 都是首選。
現(xiàn)在是時候用我們的模型訓練和分類圖像了。請參閱筆記本中的train_model方法以獲得進一步的見解。

對我們來說,最佳驗證準確率約為 0.99,這是一個相當不錯的表現(xiàn)。預測結(jié)果也很驚人!現(xiàn)在,使用必要的 torch.save() 函數(shù)保存模型。
讓我們開始使用 Jetson Nano 部署我們的推理模型吧!

設(shè)置 Jetson Nano 進行推理
Nvidia Jetson Nano 是一款帶有板載 Tegra GPU 的嵌入式 SoC,針對“邊緣人工智能”進行了優(yōu)化和構(gòu)建。要開始使用 Jetson Nano,您可以參考官方指南進行首次啟動設(shè)置。簡而言之,您只需要使用 Nvidia 最新的“Linux For Tegra (L4T)”映像刷入 UHS-I SD 卡。之后,確保您擁有為 Jetson Nano 供電和啟動的先決條件硬件。
1.先決條件
我們建議您擁有:
- microSD 卡(32 - 64 GB UHS-1)
- USB 鍵盤和鼠標
- 電腦顯示器(HDMI 或 DP)
- 電源適配器(5V=4A)【OnePlus、MiA1等手機適配器】
- USB 至 5V DC (2.1 mm) 桶形插孔電纜
該設(shè)備隨JetPack一起提供,其中包含一套內(nèi)置的 Nvidia 軟件和必要的 CUDA 庫。Nano 的最新 L4T (r32.1.1) 更新帶有默認的 OpenCV 4 版本,這對計算機視覺社區(qū)來說是一個巨大的福音。
2.推理庫
請注意,Jetson Nano 是一款非常適合AI 推理任務的邊緣設(shè)備。請不要誤會,您可以用它來訓練您的模型。它會升溫并繁榮!為了我們的深度學習推理目的,我們需要以下庫和包。
- 火炬
- 火炬視覺
- Py2trt - 構(gòu)建與 PyTorch 模型兼容的TensorRT推理引擎
要獲得上面的先決條件列表,只需訪問Nvidia 論壇鏈接,了解從源代碼構(gòu)建的分步過程。要安裝 py2trt 模塊,只需在終端中執(zhí)行以下命令:
pip install torch2trt
3.加載和轉(zhuǎn)換我們的模型(Py2TRT)
Nvidia 使得將在 PyTorch 中訓練的模型移植到它的 TensorRT 對應模型變得非常容易,只需一行。請參閱下圖了解必要的步驟。

- 初始化pytorch模型對象
- 加載模型狀態(tài)字典
-
創(chuàng)建一個示例張量(確保它與您通常訓練的 cv2 窗口捕獲大小/圖像大小的分辨率相匹配):我們提供 (480, 640) 以匹配 640x480 分辨率大小。準備好了!
?
請參閱此代碼以進一步了解 GPIO 模式操作以設(shè)置電機運動。
?這個旋轉(zhuǎn)電機將幫助我們方便滑動門
3.選擇滑動門機構(gòu)
?上圖是齒條和小齒輪機構(gòu)的參考圖像,用于前后滑動我們的門。旋轉(zhuǎn)的直流電機產(chǎn)生旋轉(zhuǎn)齒輪所需的力。當齒輪連接到兼容的牙齒時,有助于連接的下頜沿相反方向滑動。
?根據(jù)上圖,您可以看到我們帶推拉門的智能住宅的原型。Jetvengers House 已準備就緒。我們 3D 打印了滑動門的重要部件,即“架子”。
PS:我們用硬紙板建造了我們的房子,L2989N(其中一個帶有紅色 LED)由 UPS 電池供電 XD!
整合人工智能和物聯(lián)網(wǎng)
現(xiàn)在是時候讓我們的 Jetvengers HQ 智能功能付諸行動了。感謝JKJung 與自定義 tegra-cam 的合作,我們能夠讓GStreamer管道與 Jetson Nano 上的 OpenCV 一起工作。
請注意,為了在計算機視覺中更快地傳輸數(shù)據(jù),您需要 gstreamer 插件管道,否則流會嚴重滯后,從而阻礙您的工作。
要了解如何創(chuàng)建 gstreamer 管道,您可以查看我們的代碼,但我們不會深入探討。我們的重點是如何通過簡單的圖像分類來識別可動人偶。
1.捕獲幀進行預處理
此代碼位于我們存儲庫中的gstreamer.py文件中。看一眼熟悉代碼。
首先,確保導入這些必要的模塊
?read_cam() 捕捉幀?提供一個計數(shù)器變量以捕獲流中的每 48 幀(如果 framerate = 24 每秒,則每 2 秒捕獲一次)。將捕獲的幀傳遞給預處理。在所有過程之后增加計數(shù)器。確保為等待鍵和中斷提供條件以繼續(xù)/中斷流。
2.圖像預處理
檢查傳遞給標準化變量的均值和標準差,我們將使用它?當然,我們需要執(zhí)行此步驟以匹配在訓練過程中轉(zhuǎn)換訓練和驗證圖像時的狀態(tài)。
?確保執(zhí)行這些步驟。不要忘記將圖像轉(zhuǎn)換為 RGB,因為 OpenCV 以 BGR 格式捕獲每一幀。
?我們附加了一個 softmax 層以獲取可讀格式的概率,否則我們將無法解釋這些值以進行進一步處理。我們需要返回概率和頂級類別,以便我們可以在終端中打印它的值,并將其用于進一步的處理。
我們的模型處于早期階段。類別正確預測為“蝙蝠俠”,置信度值為 85%?4.是時候執(zhí)行物聯(lián)網(wǎng)操作了
由于識別(AI 部分)已完成,讓我們自動執(zhí)行其余操作:
i) 用語音消息問候人偶 ii) 打開/關(guān)閉門讓我們的客人進來 iii) 如果角色來自 DC(比如蝙蝠俠),播放必要的消息音頻并且不允許角色進入開門
?我們執(zhí)行驗證步驟以確保該角色僅來自漫威宇宙。
??
- 使用Jetson Nano的CSI相機接口
- 玩轉(zhuǎn)智能硬件(三)Jetson Nano深度學習環(huán)境搭建
- 基于LABVIEW的車牌識別系統(tǒng)資料 64次下載
- NVIDIA Jetson Nano 電源適配器 (供電)
- 基于身份證和人臉識別的智能門禁系統(tǒng) 38次下載
- 非理想環(huán)境下的改進人臉識別算法 3次下載
- 基于MATLAB的車牌識別系統(tǒng) 18次下載
- 近紅外人臉識別系統(tǒng)設(shè)計 7次下載
- 基于FPGA的說話人識別系統(tǒng)設(shè)計 26次下載
- 汽車無線射頻識別系統(tǒng)設(shè)計 1次下載
- 基于openCV的人臉檢測識別系統(tǒng)的設(shè)計 477次下載
- 人臉識別技術(shù)在訪客識別系統(tǒng)中的應用 46次下載
- 基于DSP的人臉圖像識別系統(tǒng)
- 人臉識別系統(tǒng)中的特征提取Feature Extraction
- 用隱馬爾可夫模型設(shè)計人臉表情識別系統(tǒng)
- 基于OpenCV的人臉識別系統(tǒng)設(shè)計 1.2w次閱讀
- 一文看懂人臉識別技術(shù) 3167次閱讀
- 簡單易學的Jetson Nano問題排除小秘訣 8846次閱讀
- 使用NVIDIA Jetson Orin Nano解決入門級邊緣人工智能挑戰(zhàn) 2567次閱讀
- 人臉識別系統(tǒng)應用范圍_選擇人臉識別系統(tǒng)的關(guān)注點 1421次閱讀
- 人臉識別系統(tǒng)怎么破解_人臉識別系統(tǒng)錄入步驟 8.5w次閱讀
- 微雪電子 IMX219-77攝像頭介紹 3501次閱讀
- 微雪電子 IMX219-160攝像頭介紹 3512次閱讀
- 微雪電子攝像頭 IMX219-200介紹 5905次閱讀
- 微雪電子NVIDIA Jetson Nano人工智能開發(fā)套件AI板介紹 5597次閱讀
- 語音識別系統(tǒng)功能_語音識別系統(tǒng)的應用 5694次閱讀
- 體育館人臉識別系統(tǒng)的應用案例 2312次閱讀
- 多倫多大學將反人臉識別系統(tǒng)識別成功率降至0.5% 3264次閱讀
- 人臉識別算法遇到的困難和挑戰(zhàn) 6808次閱讀
- 劃片機視覺識別系統(tǒng)設(shè)計原理分析 3016次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護等級說明
- 0.08 MB | 次下載 | 免費
本月
- 1貼片三極管上的印字與真實名稱的對照表詳細說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論