目標(biāo)
通過(guò)在Vision Board部署openMV實(shí)現(xiàn)垃圾分類。
一、基礎(chǔ)設(shè)置
(一)配置攝像頭
Vision Board自帶攝像頭,按照電路圖使用瑞薩的FSP可以很方便的配置好。首先在stack中new一個(gè)Capture Engine Unit(r_ceu)。

然后如下配置:

同樣配置好TF卡、RW007等設(shè)備,保存配置生成基礎(chǔ)文件。
(二)配置openMV
直接在RT-Studio上設(shè)置好相關(guān)選項(xiàng)。

順便把SDRAM等打開(kāi)。保存工程,打開(kāi)工程執(zhí)行編譯后下載到Vision Board開(kāi)發(fā)板,檢查下openMV是否正常運(yùn)行。

看看micropython信息:
MicroPython v1.13-148-ged7ddd4 on 2020-11-03; RA8 with RT-Thread Type "help()" for more information. >>>
二、模型選擇
因?yàn)闀r(shí)間問(wèn)題,來(lái)不及自己訓(xùn)練模型。于是在gayhub上找了幾個(gè)星比較多的模型。
當(dāng)然也可以自己收集相關(guān)圖像使用edgeimpulse訓(xùn)練模型,相關(guān)[教程在此](Open MV Cam H7 Plus | Edge Impulse Documentation)。
本次直接將labels.txt 和 rubbish.tflite拷貝到Vision Board開(kāi)發(fā)板的TF卡中,edgeimpulse生成的py腳本直接用上。
三、功能實(shí)現(xiàn)
edgeimpulse生成的py腳本內(nèi)容如下:
import sensor, image, time, os, tf sensor.reset() # Reset and initialize the sensor. sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE) sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240) sensor.set_windowing((240, 240)) # Set 240x240 window. sensor.skip_frames(time=2000) # Let the camera adjust. net = "rubbish.tflite" labels = [line.rstrip('n') for line in open("labels.txt")] clock = time.clock() while(True): clock.tick() img = sensor.snapshot() # search the image... for obj in tf.classify(net, img, min_scale=1.0, scale_mul=0.8, x_overlap=0.5, y_overlap=0.5): print("**********nPredictions at [x=%d,y=%d,w=%d,h=%d]" % obj.rect()) predictions_list = list(zip(labels, obj.output())) for i in range(len(predictions_list)): print("%s = %f" % (predictions_list[i][0], predictions_list[i][1]))
四、結(jié)果輸出
通過(guò)openMV連接Vision Board開(kāi)發(fā)板,運(yùn)行上述py腳本。
找來(lái)一個(gè)水瓶和舊電池。

結(jié)果如下,這個(gè)水瓶形狀不規(guī)則,所以……

五、總結(jié)
Vision Board開(kāi)發(fā)板在部署openMV的時(shí)候,240X240的圖像FPS可以達(dá)到10左右,說(shuō)明性能還是比較強(qiáng)大。
同時(shí),因?yàn)槿鹚_制程,運(yùn)行案例時(shí)候,MCU發(fā)熱量控制的相當(dāng)不錯(cuò),很是驚喜。
RT-Thread集成了openMV后,可以很方便的部署一些簡(jiǎn)單的圖像識(shí)別和AI應(yīng)用,背靠openMV社區(qū),大有可為。
審核編輯 黃宇
-
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
6112瀏覽量
112931 -
模型
+關(guān)注
關(guān)注
1文章
3644瀏覽量
51684 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1534瀏覽量
44226 -
openMV
+關(guān)注
關(guān)注
3文章
40瀏覽量
10578
發(fā)布評(píng)論請(qǐng)先 登錄
【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】RA8D1 Vision Board上的SPI實(shí)踐
【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】RA8D1 Vision Board初體驗(yàn)
【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】RA8D1-Vision Board開(kāi)箱使用
【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】基于Vision Board的垃圾分類
【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】基于RA8D1-Vision Board的自動(dòng)路徑規(guī)劃小車
如何在openmv中實(shí)現(xiàn)圖傳功能?
Vision Board使用openmv無(wú)法下載腳本怎么解決?
vision board開(kāi)發(fā)板用MDK燒錄顯示成功卻找不到例程,為什么?
電腦連接不到openmv,是什么原因?
“你是什么垃圾?”垃圾分類機(jī)器人是否成為未來(lái)垃圾分類的福音?
OpenMV Cam上的RPC模塊
機(jī)器視覺(jué)RT-Thread Vision Board主要特點(diǎn)
RA8D1 Vision Board上的SPI loopback測(cè)試
【Vision Board 創(chuàng)客營(yíng)】Vision Board上的DAC實(shí)踐

基于Vision Board上的openMV垃圾分類
評(píng)論