隨著人工智能、神經網絡以及機器學習應用的發展,邊緣處理的場景越來越多,一些針對IOT設備和嵌入式設備的遷移學習網絡應運而生,TensorflowLite就是在這樣的情境下誕生。
盡管Tensorflow Lite已經足夠小,足夠快速,但作為資源非常緊俏的單片機來說,尤其是圖像處理,仍有點力不從心。好在Vision Board擁有足夠強大的性能,而且外擴了較大的SDRAM作為數據處理內存使用,已基本滿足進行一些數據量小,圖像素質低的識別要求。
本章內容將講解如何使用edgeimpulse.com網站來自行訓練神經網絡模型,進而實現機器學習的功能。
目錄
Vision Board介紹(Cortex M85內核)
前期準備
開發環境準備
上傳Edge Impulse進行訓練
1
Vision Board介紹(Cortex M85內核)
內核:480 MHz Arm Cortex-M85,包含Helium和TrustZone技術
存儲:集成2MB/1MB閃存和1MB SRAM(包括TCM,512KB ECC保護)
外設:兼容xSPI的四線OSPI(帶XIP和即時解密/DOTF)、CAN-FD、以太網、USBFS/HS、16位攝像頭接口和I3C等
高階安全性:卓越的加密算法、TrustZone、不可變存儲、帶DPA/SPA攻擊保護的防篡改功能、安全調試、安全工廠編程和生命周期管理支持
提供6.39 CoreMark/MHz的性能,可支持要求最高計算性能和 DSP 或 ML 功能的苛刻物聯網應用
2
前期準備
下面是本次實驗所需要的軟件及參考資料:
開發工具:MDK5 V5.3.8,OpenMv IDE V4.0.14
Demo 代碼:https://github.com/RT-Thread-Studio/sdk-bsp-ra8d1-vision-board
EDGE IMPULSE網站:studio.edgeimpulse.com
圖片素材:https://github.com/JiaBing912/VisionBoard-Picture-training-material
3
開發環境準備
本次實驗將基于vision_board_openmv Demo進行開發,雙擊 mklinks.bat 文件,執行腳本后會生成 rt-thread、libraries 兩個文件夾。
運行env,輸入menuconfig,在Enable OpenMV for RT-Thread—>目錄下,打開Enable tflite support功能。
保存并退出,輸入scons —target=mdk5,重新生成mdk5工程。
隨后打開mdk5工程,編譯,燒錄即可。
5
上傳Edge Impulse進行訓練
1 注冊賬號并創建Edge Impulse工程
打開Edge impluse網站,注冊登錄。隨后在項目標簽頁創建新項目:
這里以數字識別為例。
2 上傳訓練集
按照以下步驟,依次點擊Dashboard->Add existing data->Upload data。(訓練集圖片樣本可從3.前期準備中圖片素材中獲取,此次實驗使用的是mnist_lite文件夾下的手寫數字圖片樣本。)
注意:若未在數據集中對圖片進行label注釋(可參考官方文章),需要手動進行添加標簽,或直接選擇Enter label進行標簽定義;圖片素材中的數據集格式為28x28像素bpm文件,EDGE IMPULSE網頁不支持BMP及28x28像素格式,需要通過python腳本對圖片進行轉換。mnist_lite文件夾中已將圖片轉換為256*256png格式。
3 生成特征
點擊左側Impulse design->Create Impulse,依次點擊Add a processing block、Add a learning block進行輸入數據對象、訓練模型的選擇,并點擊保存。
繼續點擊左側Image,Color depth選擇RGB,點擊保存。接下來會自動跳轉到生成特征界面,點擊生成特征按鈕,等待特征生成,結束后會有三維圖像顯示。
4 遷移訓練
點擊左側Transfer learning按鈕,依次設置訓練參數:訓練周期、學習率等參數。隨后選擇自己實驗最符合的訓練模型,點擊開始訓練。
如果最后的結果和準確率不滿足自己的實驗要求,可嘗試重新訓練,重新更改參數及訓練模型。
5 在Vision Board上部署
在左側點擊Deployment,搜素OpenMV library,點擊Build,等待固件生成。
將下載下來的壓縮文件解壓(”trained.tflite”、”labels.txt”、”ei_image_classification.py”),將ei_image_classification.py改名為main.py,隨后將3個文件全部復制到sd卡中去(確保sd卡無其他文件)。
用type-c線連接Vision Board USB-OTG口,隨后將sd卡中的main.py拖入OpenMV IDE中,打開并運行,此時可以在串口終端看見識別的結果及準確率。
-
神經網絡模型
+關注
關注
0文章
25瀏覽量
5783 -
機器學習
+關注
關注
66文章
8509瀏覽量
134795 -
RT-Thread
+關注
關注
32文章
1422瀏覽量
42107
發布評論請先 登錄
混合部署 | 在迅為RK3568上同時部署RT-Thread和Linux系統
混合部署 | 在迅為RK3568上同時部署RT-Thread和Linux系統
在Arm虛擬硬件上部署PP-PicoDet模型
關于RT-AK開源輕松實現一鍵部署AI模型至RT-Thread解析

RT-thread應用講解——U盤(usb host)

RT-Thread AI kit開源:輕松實現一鍵部署AI模型至 RT-Thread

4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

【4月10日-深圳-workshop】RT-Thread帶你探索混合部署新模式

4月25日北京站RT-Thread線下workshop,探索RT-Thread混合部署新模式

5月16日南京站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

6月6日杭州站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

評論