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


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

使用 aXeleRate 有兩種方法:在 Ubuntu 機(jī)器上本地運(yùn)行或在 Google Colab 中運(yùn)行。要在 Google Colab 中運(yùn)行,請(qǐng)查看以下示例:
現(xiàn)在在本地訓(xùn)練您的模型并將其導(dǎo)出以用于硬件加速也變得更加容易。
我的工作環(huán)境是 Ubuntu 16.04,64 位。您可以使用虛擬機(jī)來(lái)運(yùn)行 Ubuntu 映像,因?yàn)槲覀儾粫?huì)使用 GPU 進(jìn)行訓(xùn)練。通過(guò)一些修改,您還可以在 Windows 上運(yùn)行訓(xùn)練腳本,但是對(duì)于模型轉(zhuǎn)換,您需要使用 Linux 系統(tǒng)。因此,您執(zhí)行本教程的首選環(huán)境是 Ubuntu 16.04,在本機(jī)或虛擬機(jī)中運(yùn)行。
讓我們從安裝 Miniconda 開(kāi)始,它是 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)行測(cè)試

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

對(duì)于這個(gè)玩具示例,我們將訓(xùn)練模型識(shí)別圣誕老人和 Arduino Uno。顯然你可以選擇其他類(lèi)。從這里下載數(shù)據(jù)集。在 config 文件夾中創(chuàng)建一個(gè) classifier.json 文件的副本,然后進(jìn)行相應(yīng)的更改,類(lèi)似于屏幕截圖中的配置文件 - 確保訓(xùn)練和驗(yàn)證文件夾的路徑正確!
從 aXeleRate 文件夾運(yùn)行以下命令:
python axelerate/train.py - c configs/santa_uno.json
培訓(xùn)將開(kāi)始。如果驗(yàn)證準(zhǔn)確度(我們的驗(yàn)證指標(biāo))在 20 個(gè) epoch 內(nèi)沒(mé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 一起使用,對(duì)于需要考慮使用 Arduino IDE 的任何更大的模型。
從這里下載 OpenMV IDE 和從這里下載最小的 micropython固件。
使用kflash_gui 工具燒錄固件。 您也可以選擇將訓(xùn)練好的模型也刻錄到 flash,如屏幕截圖所示。

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

要與 Arduino IDE 一起使用,首先您需要按照將 Sipeed 板添加到 Arduino IDE 的過(guò)程進(jìn)行操作,此處記錄。添加板后,打開(kāi)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è)很好的解釋?zhuān)窘坛淌褂迷撐恼轮写a的修改版本。
貓狗和卷積神經(jīng)網(wǎng)絡(luò)解釋 CNN 背后的基礎(chǔ)知識(shí)并可視化一些過(guò)濾器。與貓!
在 Sipeed MaixPy 和 MaixDuino 上訓(xùn)練、轉(zhuǎn)換、運(yùn)行 MobileNet!Sipeed 團(tuán)隊(duì)關(guān)于如何從頭開(kāi)始訓(xùn)練 Mobilenet 1000 類(lèi)的教程(無(wú)遷移學(xué)習(xí))。您可以下載他們的預(yù)訓(xùn)練模型并嘗試一下!
希望您可以利用您現(xiàn)在擁有的知識(shí)來(lái)構(gòu)建一些帶有機(jī)器視覺(jué)的很棒的項(xiàng)目!你可以在這里購(gòu)買(mǎi) Sipeed 板,它們是嵌入式系統(tǒng)上機(jī)器學(xué)習(xí)最便宜的選擇之一。
如果您有任何問(wèn)題,請(qǐng)?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)行對(duì)象檢測(cè)(Kendryte K210)
- K210命令行開(kāi)發(fā)環(huán)境搭建指南 5次下載
- K210學(xué)習(xí)記錄(1)——GPIO與軟件使用
- 基于K210的MNIST手寫(xiě)數(shù)字識(shí)別
- [測(cè)試貼]K210在maixpy固件下,復(fù)位需要多長(zhǎng)時(shí)間?
- 【堪智K210】 下載程序的過(guò)程原理 探索
- 亞博智能K210開(kāi)發(fā)板學(xué)習(xí)筆記
- Maix Bit(K210) 裸機(jī)開(kāi)發(fā)教程(八)實(shí)現(xiàn)簡(jiǎn)易照相機(jī)
- k210單片機(jī)初學(xué)
- Kendryte K210開(kāi)發(fā)板使用說(shuō)明書(shū) 64次下載
- 使用FPGA平臺(tái)實(shí)現(xiàn)遺傳算法的圖像識(shí)別的研究設(shè)計(jì)說(shuō)明 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開(kāi)源圖像識(shí)別傳感器介紹 3519次閱讀
- 圖像識(shí)別技術(shù)在模擬器的游戲場(chǎng)景當(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次閱讀
- 簡(jiǎn)單介紹圖像識(shí)別技術(shù)在各類(lèi)行業(yè)的應(yīng)用 3.4w次閱讀
- 對(duì)于圖像識(shí)別的引入、原理、過(guò)程、應(yīng)用前景的深度剖析 6511次閱讀
下載排行
本周
- 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元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(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開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 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ì)》 溫德?tīng)栔?/a>
- 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語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論