資料介紹
。
?
2022 年 3 月 29 日更新。我盡我所能定期更新我的文章,并根據(jù)您在 YouTube/Hackster 評論部分的反饋。如果您想表達(dá)對這些努力的支持和贊賞,請考慮給我買杯咖啡(或披薩):)。
本質(zhì)上, aXeleRate是基于我用于訓(xùn)練圖像識別/對象檢測模型的腳本集合 - 組合成一個框架并針對 Google Colab 上的工作流程進(jìn)行了優(yōu)化。使用起來更方便,更新更及時。
對于舊版本的文章,你仍然可以在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)用于圖像的過濾器,每個過濾器在圖像中尋找特定的特征——在較低的卷積層上,特征通常是線條和簡單的形狀,而在較高層上的特征可以更具體,例如身體部位、特定紋理、動物或植物的部分等。某些特征集的存在可以為我們提供關(guān)于圖像中對象可能是什么的線索。胡須,兩只眼睛和黑鼻子?一定是貓!綠葉,樹干?看起來像一棵樹!
我希望您現(xiàn)在了解 CNN 的工作原理。通常,深度神經(jīng)網(wǎng)絡(luò)需要數(shù)千張圖像和數(shù)小時的訓(xùn)練時間(取決于您用于訓(xùn)練的硬件)來“開發(fā)”可用于識別您想要的對象類型的過濾器。但有一條捷徑。
一個被訓(xùn)練來識別很多不同的常見物體(貓、狗、家用電器、交通工具等)的模型已經(jīng)“開發(fā)”了很多有用的過濾器,所以我們不需要它來學(xué)習(xí)識別基本形狀和對象的一部分。我們可以重新訓(xùn)練網(wǎng)絡(luò)的最后幾層來識別特定類別的對象,這對我們很重要。這被稱為“遷移學(xué)習(xí)”。通過遷移學(xué)習(xí),你需要的訓(xùn)練數(shù)據(jù)和計算時間要少得多,因?yàn)槟阒挥?xùn)練網(wǎng)絡(luò)的最后幾層,可能由幾百個神經(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)槲覀儾粫褂?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)境,因此我們不會意外更改您系統(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 個 epoch 并且數(shù)據(jù)集非常小,您將無法獲得有用的模型,但此腳本僅用于檢查是否存在錯誤。
第 4 步:重新訓(xùn)練模型,將 Keras 模型轉(zhuǎn)換為 Kmodel

對于這個玩具示例,我們將訓(xùn)練模型識別圣誕老人和 Arduino Uno。顯然你可以選擇其他類。從這里下載數(shù)據(jù)集。在 config 文件夾中創(chuàng)建一個 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 個 epoch 內(nèi)沒有提高,訓(xùn)練將提前停止。每次驗(yàn)證準(zhǔn)確性提高時,模型都會保存在項(xiàng)目文件夾中。訓(xùn)練結(jié)束后,aXeleRate 自動將最佳模型轉(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,所以兩個選項(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)該會看到來自相機(jī)的實(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í)時攝像機(jī)流以及頂部圖像識別結(jié)果。
第 6 步:結(jié)論
以下是有關(guān) CNN 和遷移學(xué)習(xí)主題的更多材料可供閱讀:
使用 Mobilenet 和 Keras進(jìn)行遷移學(xué)習(xí)遷移學(xué)習(xí)的一個很好的解釋,本教程使用該文章中代碼的修改版本。
貓狗和卷積神經(jīng)網(wǎng)絡(luò)解釋 CNN 背后的基礎(chǔ)知識并可視化一些過濾器。與貓!
在 Sipeed MaixPy 和 MaixDuino 上訓(xùn)練、轉(zhuǎn)換、運(yùn)行 MobileNet!Sipeed 團(tuán)隊關(guān)于如何從頭開始訓(xùn)練 Mobilenet 1000 類的教程(無遷移學(xué)習(xí))。您可以下載他們的預(yù)訓(xùn)練模型并嘗試一下!
希望您可以利用您現(xiàn)在擁有的知識來構(gòu)建一些帶有機(jī)器視覺的很棒的項(xiàng)目!你可以在這里購買 Sipeed 板,它們是嵌入式系統(tǒng)上機(jī)器學(xué)習(xí)最便宜的選擇之一。
如果您有任何問題,請在LinkedIn上添加我,并訂閱我的 YouTube 頻道,以獲得有關(guān)機(jī)器學(xué)習(xí)和機(jī)器人技術(shù)的更多有趣項(xiàng)目的通知。
- 圖像識別技術(shù)原理 深度學(xué)習(xí)的圖像識別應(yīng)用研究 4次下載
- 使用Sipeed MaiX板進(jìn)行對象檢測(Kendryte K210)
- K210命令行開發(fā)環(huán)境搭建指南 5次下載
- K210學(xué)習(xí)記錄(1)——GPIO與軟件使用
- 基于K210的MNIST手寫數(shù)字識別
- [測試貼]K210在maixpy固件下,復(fù)位需要多長時間?
- 【堪智K210】 下載程序的過程原理 探索
- 亞博智能K210開發(fā)板學(xué)習(xí)筆記
- Maix Bit(K210) 裸機(jī)開發(fā)教程(八)實(shí)現(xiàn)簡易照相機(jī)
- k210單片機(jī)初學(xué)
- Kendryte K210開發(fā)板使用說明書 67次下載
- 使用FPGA平臺實(shí)現(xiàn)遺傳算法的圖像識別的研究設(shè)計說明 13次下載
- 實(shí)驗(yàn)python進(jìn)行圖像識別的示例代碼資料免費(fèi)下載 3次下載
- 基于DSP的快速紙幣圖像識別技術(shù)研究 160次下載
- 圖像識別模組(包括PCB圖、圖像識別模組源代碼)
- 如何利用CNN實(shí)現(xiàn)圖像識別 3.5k次閱讀
- 神經(jīng)網(wǎng)絡(luò)在圖像識別中的應(yīng)用 1.6k次閱讀
- 圖像識別技術(shù)原理 圖像識別技術(shù)的應(yīng)用領(lǐng)域 4.9k次閱讀
- 關(guān)于圖像識別的三大要點(diǎn) 2.2k次閱讀
- 新版Arduino IDE到底有何不同 7.9k次閱讀
- dfrobot開源圖像識別傳感器介紹 4.2k次閱讀
- 圖像識別技術(shù)在模擬器的游戲場景當(dāng)中體現(xiàn)的尤為明顯 4.7k次閱讀
- 深度學(xué)習(xí)進(jìn)軍太空領(lǐng)域——衛(wèi)星實(shí)時圖像識別 5.8k次閱讀
- 淺析圖像識別背后的發(fā)展歷程 2.5w次閱讀
- 如何實(shí)現(xiàn)圖像識別?為什么要入局圖像識別? 8.8k次閱讀
- 圖像識別中的深度學(xué)習(xí) 5.5k次閱讀
- 淺談圖像識別技術(shù) 1.6w次閱讀
- iOS 11.3的更新讓ARKit支持垂直表面識別以及圖像識別 7.4k次閱讀
- 簡單介紹圖像識別技術(shù)在各類行業(yè)的應(yīng)用 3.6w次閱讀
- 對于圖像識別的引入、原理、過程、應(yīng)用前景的深度剖析 7.3k次閱讀
下載排行
本周
- 1矽力杰 Silergy SY7215A 同步升壓調(diào)節(jié)器 規(guī)格書 Datasheet 佰祥電子
- 1.12 MB | 5次下載 | 免費(fèi)
- 2HT81696H 內(nèi)置升壓的30W立體聲D類音頻功放數(shù)據(jù)手冊
- 1.21 MB | 1次下載 | 免費(fèi)
- 3HTA6863 3W超低噪聲超低功耗單聲道D類音頻功率放大器數(shù)據(jù)手冊
- 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ù)手冊
- 1.64 MB | 次下載 | 2 積分
本月
- 1EMC PCB設(shè)計總結(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ū)動電路選型表
- 0.10 MB | 3次下載 | 免費(fèi)
- 5PD取電芯片,可取5/9/12/15/20V電壓ECP5702數(shù)據(jù)手冊
- 0.88 MB | 3次下載 | 免費(fèi)
- 6SY50655 用于高輸入電壓應(yīng)用的偽固定頻率SSR反激式穩(wěn)壓器英文資料
- 1.01 MB | 3次下載 | 免費(fèi)
- 7怎么為半導(dǎo)體測試儀選擇精密放大器
- 0.65 MB | 2次下載 | 免費(fèi)
- 8SY52341 次級側(cè)同步整流英文手冊
- 0.94 MB | 2次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233095次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191469次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 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ā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論