資料介紹
。
?
2022 年 3 月 29 日更新。我盡我所能定期更新我的文章,并根據(jù)您在 YouTube/Hackster 評論部分的反饋。如果您想表達(dá)對這些努力的支持和贊賞,請考慮給我買杯咖啡(或披薩):)。
本質(zhì)上, aXeleRate是基于我用于訓(xùn)練圖像識(shí)別/對象檢測模型的腳本集合 - 組合成一個(gè)框架并針對 Google Colab 上的工作流程進(jìn)行了優(yōu)化。使用起來更方便,更新更及時(shí)。
對于舊版本的文章,你仍然可以在steemit.com 上看到。
第 1 步:CNN 和遷移學(xué)習(xí):一些理論


卷積神經(jīng)網(wǎng)絡(luò)或 CNN 是一類深度神經(jīng)網(wǎng)絡(luò),最常用于分析視覺圖像。互聯(lián)網(wǎng)上有很多關(guān)于該主題的文獻(xiàn),我將在文章的最后部分提供一些鏈接。簡而言之,您可以將 CNN 視為一系列應(yīng)用于圖像的過濾器,每個(gè)過濾器在圖像中尋找特定的特征——在較低的卷積層上,特征通常是線條和簡單的形狀,而在較高層上的特征可以更具體,例如身體部位、特定紋理、動(dòng)物或植物的部分等。某些特征集的存在可以為我們提供關(guān)于圖像中對象可能是什么的線索。胡須,兩只眼睛和黑鼻子?一定是貓!綠葉,樹干?看起來像一棵樹!
我希望您現(xiàn)在了解 CNN 的工作原理。通常,深度神經(jīng)網(wǎng)絡(luò)需要數(shù)千張圖像和數(shù)小時(shí)的訓(xùn)練時(shí)間(取決于您用于訓(xùn)練的硬件)來“開發(fā)”可用于識(shí)別您想要的對象類型的過濾器。但有一條捷徑。
一個(gè)被訓(xùn)練來識(shí)別很多不同的常見物體(貓、狗、家用電器、交通工具等)的模型已經(jīng)“開發(fā)”了很多有用的過濾器,所以我們不需要它來學(xué)習(xí)識(shí)別基本形狀和對象的一部分。我們可以重新訓(xùn)練網(wǎng)絡(luò)的最后幾層來識(shí)別特定類別的對象,這對我們很重要。這被稱為“遷移學(xué)習(xí)”。通過遷移學(xué)習(xí),你需要的訓(xùn)練數(shù)據(jù)和計(jì)算時(shí)間要少得多,因?yàn)槟阒挥?xùn)練網(wǎng)絡(luò)的最后幾層,可能由幾百個(gè)神經(jīng)元組成。
聽起來很棒,對吧?讓我們看看如何實(shí)現(xiàn)它。
第 2 步:準(zhǔn)備環(huán)境

使用 aXeleRate 有兩種方法:在 Ubuntu 機(jī)器上本地運(yùn)行或在 Google Colab 中運(yùn)行。要在 Google Colab 中運(yùn)行,請查看以下示例:
現(xiàn)在在本地訓(xùn)練您的模型并將其導(dǎo)出以用于硬件加速也變得更加容易。
我的工作環(huán)境是 Ubuntu 16.04,64 位。您可以使用虛擬機(jī)來運(yùn)行 Ubuntu 映像,因?yàn)槲覀儾粫?huì)使用 GPU 進(jìn)行訓(xùn)練。通過一些修改,您還可以在 Windows 上運(yùn)行訓(xùn)練腳本,但是對于模型轉(zhuǎn)換,您需要使用 Linux 系統(tǒng)。因此,您執(zhí)行本教程的首選環(huán)境是 Ubuntu 16.04,在本機(jī)或虛擬機(jī)中運(yùn)行。
讓我們從安裝 Miniconda 開始,它是 Python 的環(huán)境管理器。我們將創(chuàng)建隔離環(huán)境,因此我們不會(huì)意外更改您系統(tǒng) Python 環(huán)境中的任何內(nèi)容。
安裝完成后,新建環(huán)境:
conda create -n ml python=3.7
讓我們激活新環(huán)境
conda activate ml
bash shell 前的前綴將與環(huán)境名稱一起出現(xiàn),表明您現(xiàn)在在該環(huán)境中工作。
第 3 步:安裝 aXeleRate 并運(yùn)行測試

在本地機(jī)器上安裝 aXeleRate
pip install git+https://github.com/AIWintermuteAI/aXeleRate
要下載示例,請運(yùn)行:
git clone https://github.com/AIWintermuteAI/aXeleRate
您可以使用 aXeleRate 文件夾中的 tests_training.py 運(yùn)行快速測試。它將為每種模型類型運(yùn)行訓(xùn)練和推理,保存和轉(zhuǎn)換訓(xùn)練好的模型。由于它只訓(xùn)練 5 個(gè) epoch 并且數(shù)據(jù)集非常小,您將無法獲得有用的模型,但此腳本僅用于檢查是否存在錯(cuò)誤。
第 4 步:重新訓(xùn)練模型,將 Keras 模型轉(zhuǎn)換為 Kmodel

對于這個(gè)玩具示例,我們將訓(xùn)練模型識(shí)別圣誕老人和 Arduino Uno。顯然你可以選擇其他類。從這里下載數(shù)據(jù)集。在 config 文件夾中創(chuàng)建一個(gè) classifier.json 文件的副本,然后進(jìn)行相應(yīng)的更改,類似于屏幕截圖中的配置文件 - 確保訓(xùn)練和驗(yàn)證文件夾的路徑正確!
從 aXeleRate 文件夾運(yùn)行以下命令:
python axelerate/train.py - c configs/santa_uno.json
培訓(xùn)將開始。如果驗(yàn)證準(zhǔn)確度(我們的驗(yàn)證指標(biāo))在 20 個(gè) epoch 內(nèi)沒有提高,訓(xùn)練將提前停止。每次驗(yàn)證準(zhǔn)確性提高時(shí),模型都會(huì)保存在項(xiàng)目文件夾中。訓(xùn)練結(jié)束后,aXeleRate 自動(dòng)將最佳模型轉(zhuǎn)換為指定格式 - 您現(xiàn)在可以選擇“tflite”、“k210”或“edgetpu”。
第 5 步:在 Sipeed Maix Bit 上運(yùn)行模型
有兩種方法可以在 Sipeed Maix 硬件上運(yùn)行您現(xiàn)在擁有的模型:micropython 固件和 Arduino IDE。Micropython 硬件更易于使用,但它占用了很大一部分可用內(nèi)存,因此留給模型的空間更少。Arduino IDE 基本上是 C 代碼,效率更高,內(nèi)存占用更小。我的模型只有 1.9Mb,所以兩個(gè)選項(xiàng)都適用。您可以將 2.9 Mb 的模型與 Micropython 一起使用,對于需要考慮使用 Arduino IDE 的任何更大的模型。
從這里下載 OpenMV IDE 和從這里下載最小的 micropython固件。
使用kflash_gui 工具燒錄固件。 您也可以選擇將訓(xùn)練好的模型也刻錄到 flash,如屏幕截圖所示。

或?qū)⑵鋸?fù)制到 SD 卡(在這種情況下,將.kmodel復(fù)制到 SD 卡的根目錄并將 SD 卡插入 Sipeed Maix Bit)
打開 OpenMV IDE 并按下連接按鈕。從 example_scripts 文件夾打開santa_uno.py腳本,然后按開始按鈕。您應(yīng)該會(huì)看到來自相機(jī)的實(shí)時(shí)流,如果您打開串行終端,您將獲得置信度得分最高的圖像識(shí)別結(jié)果!

要與 Arduino IDE 一起使用,首先您需要按照將 Sipeed 板添加到 Arduino IDE 的過程進(jìn)行操作,此處記錄。添加板后,打開mobilenet_v1_transfer_learning.ino草圖并將其上傳到 Sipeed Maix Bit。將 SD 卡上的模型名稱更改為“模型”(或使用此名稱復(fù)制)。

您可以更改names.cpp中的標(biāo)簽名稱。它將在 Sipeed Maix 屏幕上顯示實(shí)時(shí)攝像機(jī)流以及頂部圖像識(shí)別結(jié)果。
第 6 步:結(jié)論
以下是有關(guān) CNN 和遷移學(xué)習(xí)主題的更多材料可供閱讀:
使用 Mobilenet 和 Keras進(jìn)行遷移學(xué)習(xí)遷移學(xué)習(xí)的一個(gè)很好的解釋,本教程使用該文章中代碼的修改版本。
貓狗和卷積神經(jīng)網(wǎng)絡(luò)解釋 CNN 背后的基礎(chǔ)知識(shí)并可視化一些過濾器。與貓!
在 Sipeed MaixPy 和 MaixDuino 上訓(xùn)練、轉(zhuǎn)換、運(yùn)行 MobileNet!Sipeed 團(tuán)隊(duì)關(guān)于如何從頭開始訓(xùn)練 Mobilenet 1000 類的教程(無遷移學(xué)習(xí))。您可以下載他們的預(yù)訓(xùn)練模型并嘗試一下!
希望您可以利用您現(xiàn)在擁有的知識(shí)來構(gòu)建一些帶有機(jī)器視覺的很棒的項(xiàng)目!你可以在這里購買 Sipeed 板,它們是嵌入式系統(tǒng)上機(jī)器學(xué)習(xí)最便宜的選擇之一。
如果您有任何問題,請?jiān)贚inkedIn上添加我,并訂閱我的 YouTube 頻道,以獲得有關(guān)機(jī)器學(xué)習(xí)和機(jī)器人技術(shù)的更多有趣項(xiàng)目的通知。
- 圖像識(shí)別技術(shù)原理 深度學(xué)習(xí)的圖像識(shí)別應(yīng)用研究 4次下載
- 使用Sipeed MaiX板進(jìn)行對象檢測(Kendryte K210)
- K210命令行開發(fā)環(huán)境搭建指南 5次下載
- K210學(xué)習(xí)記錄(1)——GPIO與軟件使用
- 基于K210的MNIST手寫數(shù)字識(shí)別
- [測試貼]K210在maixpy固件下,復(fù)位需要多長時(shí)間?
- 【堪智K210】 下載程序的過程原理 探索
- 亞博智能K210開發(fā)板學(xué)習(xí)筆記
- Maix Bit(K210) 裸機(jī)開發(fā)教程(八)實(shí)現(xiàn)簡易照相機(jī)
- k210單片機(jī)初學(xué)
- Kendryte K210開發(fā)板使用說明書 64次下載
- 使用FPGA平臺(tái)實(shí)現(xiàn)遺傳算法的圖像識(shí)別的研究設(shè)計(jì)說明 13次下載
- 實(shí)驗(yàn)python進(jìn)行圖像識(shí)別的示例代碼資料免費(fèi)下載 3次下載
- 基于DSP的快速紙幣圖像識(shí)別技術(shù)研究 159次下載
- 圖像識(shí)別模組(包括PCB圖、圖像識(shí)別模組源代碼)
- 如何利用CNN實(shí)現(xiàn)圖像識(shí)別 1475次閱讀
- 神經(jīng)網(wǎng)絡(luò)在圖像識(shí)別中的應(yīng)用 744次閱讀
- 圖像識(shí)別技術(shù)原理 圖像識(shí)別技術(shù)的應(yīng)用領(lǐng)域 2644次閱讀
- 關(guān)于圖像識(shí)別的三大要點(diǎn) 1577次閱讀
- 新版Arduino IDE到底有何不同 6453次閱讀
- dfrobot開源圖像識(shí)別傳感器介紹 3519次閱讀
- 圖像識(shí)別技術(shù)在模擬器的游戲場景當(dāng)中體現(xiàn)的尤為明顯 4177次閱讀
- 深度學(xué)習(xí)進(jìn)軍太空領(lǐng)域——衛(wèi)星實(shí)時(shí)圖像識(shí)別 5226次閱讀
- 淺析圖像識(shí)別背后的發(fā)展歷程 2.4w次閱讀
- 如何實(shí)現(xiàn)圖像識(shí)別?為什么要入局圖像識(shí)別? 8057次閱讀
- 圖像識(shí)別中的深度學(xué)習(xí) 5024次閱讀
- 淺談圖像識(shí)別技術(shù) 1.5w次閱讀
- iOS 11.3的更新讓ARKit支持垂直表面識(shí)別以及圖像識(shí)別 7039次閱讀
- 簡單介紹圖像識(shí)別技術(shù)在各類行業(yè)的應(yīng)用 3.4w次閱讀
- 對于圖像識(shí)別的引入、原理、過程、應(yīng)用前景的深度剖析 6511次閱讀
下載排行
本周
- 1涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 2錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 3錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 3次下載 | 1 積分
- 4蘋果iphone 11電路原理圖
- 4.98 MB | 3次下載 | 2 積分
- 5基礎(chǔ)模擬電子電路
- 3.80 MB | 3次下載 | 1 積分
- 6RA-Eco-RA6M4-100PIN-V1.0開發(fā)板資料
- 34.89 MB | 1次下載 | 免費(fèi)
- 7STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊
- 3.32 MB | 1次下載 | 免費(fèi)
- 8聯(lián)想A820t手機(jī)維修圖紙包括主板原理圖 尾板原理圖 點(diǎn)位圖
- 0.62 MB | 次下載 | 5 積分
本月
- 1AI智能眼鏡產(chǎn)業(yè)鏈分析
- 4.43 MB | 383次下載 | 免費(fèi)
- 2蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 296次下載 | 5 積分
- 3貼片三極管上的印字與真實(shí)名稱的對照表詳細(xì)說明
- 0.50 MB | 94次下載 | 1 積分
- 4長虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 91次下載 | 5 積分
- 5涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 6錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 29次下載 | 1 積分
- 7AO4803A雙P通道增強(qiáng)型場效應(yīng)晶體管的數(shù)據(jù)手冊
- 0.11 MB | 28次下載 | 2 積分
- 8長虹液晶彩電LS29機(jī)芯的技術(shù)資料說明
- 3.42 MB | 16次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191388次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論