**非常詳細(xì)的視頻和文字教程,講解常見的openmv教程包括 巡線、物體識(shí)別、圓環(huán)識(shí)別、閾值自動(dòng)獲取等。非常適合學(xué)習(xí)openmv、K210、K230等項(xiàng)目
視頻合集鏈接在
openmv教程合集 openmv入門到項(xiàng)目開發(fā) openmv和STM32通信 openmv和opencv區(qū)別 openmv巡線 openmv數(shù)字識(shí)別教程LCD
??痮penmv視覺(jué)文章鏈接:[https://blog.csdn.net/qq_46187594/category_12900902.html]
另外還有一個(gè):是全網(wǎng)最詳細(xì)的STM32項(xiàng)目教學(xué)視頻。
功能:PID速度控制、PID循跡、PID跟隨、遙控、避障、PID角度控制、openmv視覺(jué)控制、電磁循跡、FreeRTOS、
智能車第一篇在這里:
視頻在這里:
3.5.4-自行訓(xùn)練數(shù)據(jù)集-(openmv神經(jīng)網(wǎng)絡(luò)訓(xùn)練 openmv模型訓(xùn)練)
1-使用訓(xùn)練集識(shí)別數(shù)字
本節(jié)這里我們使用線上訓(xùn)練的方式。
訓(xùn)練網(wǎng)站: Edge Impulse - The Leading Edge AI Platform https://edgeimpulse.com
注意此章節(jié)教學(xué)的采集-訓(xùn)練-識(shí)別過(guò)程不僅適用于openmv識(shí)別打印數(shù)字,也可以數(shù)字換成手寫體數(shù)字、也可以是把數(shù)字換成紅綠燈限速等交通標(biāo)志、要識(shí)別的一些垃圾比如殘缺的蘋果和易拉罐等垃圾分類場(chǎng)景、還可以識(shí)別色環(huán)定位、兩個(gè)及其以上不同顏色的小球識(shí)別、手勢(shì)識(shí)別、特定兩個(gè)及其以上物體抓取識(shí)別等。后面也會(huì)更新大家想看的垃圾分析、或者人形識(shí)別等。
由于模型訓(xùn)練是線上網(wǎng)站訓(xùn)練,所以可能網(wǎng)站布局可能發(fā)生變化,如果復(fù)現(xiàn)不了,筆記的教程,也可以嘗試搜索,其他相關(guān)最新或者之前的文檔或者視頻教程,下面一些參考教程鏈接,推薦大家出問(wèn)題后也可以看一下下面的視頻:
訓(xùn)練神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測(cè)實(shí)際道路環(huán)境交通標(biāo)志: https://www.bilibili.com/video/BV1Qr4y177xi/?share_source=copy_web&vd_source=f5d5850ab773377dff308188468fbc77
38-OpenMV4 Plus訓(xùn)練神經(jīng)網(wǎng)絡(luò)進(jìn)行口罩識(shí)別: https://www.bilibili.com/video/BV1uU4y1M71J/?share_source=copy_web&vd_source=f5d5850ab773377dff308188468fbc77
如果線上訓(xùn)練方式出現(xiàn)特殊情況,比如Edge Impulse 網(wǎng)站停止服務(wù)或者使用人數(shù)較多排隊(duì)擁擠現(xiàn)象,大家可以嘗試用自己電腦本地訓(xùn)練,由于本地訓(xùn)練對(duì)筆記本性能還有相關(guān)系統(tǒng)硬件要求高,所以我們暫時(shí)不更新本地訓(xùn)練方式,下面提供一些相關(guān)網(wǎng)站參考了解的鏈接:使用tensorflow2.3訓(xùn)練數(shù)字識(shí)別模型并量化為tflite后部署到openMV上_openmv部署識(shí)別模型-CSDN博客
獲得訓(xùn)練數(shù)據(jù)集
這里我們先采集數(shù)據(jù)集,可以使用別人采集好的、網(wǎng)絡(luò)下載收集、手機(jī)拍攝、openmv采集。
建議使用openmv+openmv IDE 根據(jù)小車實(shí)際使用環(huán)境采集數(shù)據(jù),比如小車上的openmv識(shí)別數(shù)字,那么可以把openmv安裝在小車上,然后采集數(shù)字照片數(shù)據(jù)
使用openmv IDE采集數(shù)據(jù)集
先在openmv上執(zhí)行下面代碼
# This work is licensed under the MIT license.
# Copyright (c) 2013-2023 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Hello World Example
#
# Welcome to the OpenMV IDE! Click on the green run arrow button below to run the script!
import sensor # 引入感光元件的模塊,用于操作攝像頭傳感器
import time # 引入時(shí)間模塊,用于控制時(shí)間延遲和FPS計(jì)算
# 初始化傳感器
sensor.reset() # Reset and initialize the sensor. 重置并初始化傳感器
sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE) 設(shè)置像素格式為RGB565(或者灰度)
sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240) 設(shè)置幀大小為QVGA(320x240分辨率)
#***************************如果不需要鏡像就注釋掉 下面 的代碼********************
# 設(shè)置攝像頭鏡像/翻轉(zhuǎn)操作,根據(jù)攝像頭安裝的方向決定是否需要
sensor.set_vflip(True) # 垂直方向翻轉(zhuǎn)。根據(jù)實(shí)際攝像頭模塊的安裝位置調(diào)整是否需要此操作
#!?。≈匾翰煌瑪z像頭是否需要鏡像,根據(jù)實(shí)際情況定。如果不需要鏡像,請(qǐng)注釋掉以下代碼:
sensor.set_hmirror(True) # 水平方向反轉(zhuǎn)。根據(jù)實(shí)際攝像頭模塊的安裝位置調(diào)整是否需要此操作
#?。?!重要:不同攝像頭是否需要鏡像,根據(jù)實(shí)際情況定。如果不需要鏡像,請(qǐng)注釋掉上述代碼。
#***************************如果不需要鏡像就注釋掉 上面 的代碼********************
sensor.skip_frames(time=2000) # Wait for settings take effect. 等待2秒鐘讓設(shè)置生效
clock = time.clock() # Create a clock object to track the FPS. 創(chuàng)建一個(gè)時(shí)鐘對(duì)象,用于追蹤FPS(每秒幀數(shù))
while True:
clock.tick() # Update the FPS clock. 更新FPS時(shí)鐘
img = sensor.snapshot() # Take a picture and return the image. 拍攝一張照片并返回圖像
print(clock.fps()) # 輸出當(dāng)前的幀率(FPS),用來(lái)衡量攝像頭的拍攝速度
# Note: OpenMV Cam runs about half as fast when connected
# to the IDE. The FPS should increase once disconnected.
# 注意:當(dāng)OpenMV相機(jī)連接到IDE時(shí),速度大約是平時(shí)的一半。斷開連接后,F(xiàn)PS應(yīng)該會(huì)提高。
點(diǎn)擊
如果使用的攝像頭需要鏡像畫面,我們就增加畫面鏡像的代碼增加到下面照片紅色圈出的位置
#***************************如果不需要鏡像就注釋掉 下面 的代碼********************
# 設(shè)置攝像頭鏡像/翻轉(zhuǎn)操作,根據(jù)攝像頭安裝的方向決定是否需要
sensor.set_vflip(True) # 垂直方向翻轉(zhuǎn)。根據(jù)實(shí)際攝像頭模塊的安裝位置調(diào)整是否需要此操作
#!?。≈匾翰煌瑪z像頭是否需要鏡像,根據(jù)實(shí)際情況定。如果不需要鏡像,請(qǐng)注釋掉以下代碼:
sensor.set_hmirror(True) # 水平方向反轉(zhuǎn)。根據(jù)實(shí)際攝像頭模塊的安裝位置調(diào)整是否需要此操作
#!??!重要:不同攝像頭是否需要鏡像,根據(jù)實(shí)際情況定。如果不需要鏡像,請(qǐng)注釋掉上述代碼。
#***************************如果不需要鏡像就注釋掉 上面 的代碼********************
然后點(diǎn)擊新建數(shù)據(jù)文件夾
采集中盡量變化你的光照環(huán)境、還有可能拍攝的物體角度,和物體之間的距離。
每種要要識(shí)別的種類需要100張,比如能夠標(biāo)注出1的也就是要有100張。
比如室內(nèi)開燈、拉開窗簾,關(guān)閉窗簾、左邊傾斜一些角度、右邊傾斜一些角度、攝像頭距離近些、攝像頭距離遠(yuǎn)些、然后后面背景是黑色,或者灰色白色等。
如果訓(xùn)練后發(fā)現(xiàn)某個(gè)訓(xùn)練數(shù)字訓(xùn)練識(shí)別結(jié)果不好或者某種使用場(chǎng)景識(shí)別結(jié)果不好,可以再多補(bǔ)一下這個(gè)
數(shù)字或者場(chǎng)景的訓(xùn)練數(shù)據(jù)集。
這里我?guī)в?234的照片拍了大概100多張
然后繼續(xù)采集5 6 7 8數(shù)字的
新建一個(gè)文件夾
如果中間采集的圖片預(yù)覽都是灰色就重新啟動(dòng)
創(chuàng)建文件夾
然后大概采集了140張
繼續(xù)采集0和數(shù)字9
然后采集了140多張
去網(wǎng)站 訓(xùn)練數(shù)據(jù)
我們使用的線上訓(xùn)練數(shù)據(jù)集網(wǎng)站是:Edge Impulse - The Leading Edge AI Platform https://edgeimpulse.com
由于網(wǎng)站是線上的,所以不定期操作網(wǎng)站的布局和操作會(huì)有更新,基礎(chǔ)差的朋友,仔細(xì)看課程多看幾遍,或者百度其他相關(guān)最新:openmv線上數(shù)據(jù)集訓(xùn)練教程,根據(jù)課程內(nèi)容和網(wǎng)站最新布局進(jìn)行操作訓(xùn)練數(shù)據(jù)。(課程也會(huì)不定期根據(jù)線上訓(xùn)練方法進(jìn)行更新,但是需要更新的其他教程也很多所以會(huì)有延遲,盡量遇到問(wèn)題可以借助AI和百度解決)
登錄網(wǎng)站
如果沒(méi)有注冊(cè)過(guò)需要注冊(cè)一下,如果注冊(cè)過(guò)直接登錄
這個(gè)是注冊(cè)的
點(diǎn)擊這個(gè),或者退到主頁(yè)
選擇一下我們使用的板子
這里openmv 只有一個(gè)openmv cam h7 plus 所以我們無(wú)論使用openmv H7 和openmv H7 plus都選擇這個(gè)
選擇上傳文件
然后選擇文件
每次上傳一些圖片,然后
問(wèn)我們是否在圖像檢測(cè)可以點(diǎn)擊是
繼續(xù)
然后繼續(xù)上傳直到把 三個(gè)文件夾照片都傳上去
如果中間有偶爾幾個(gè)文件沒(méi)有傳上去,也不用管
然后我們?nèi)タ匆幌挛覀冃枰獦?biāo)注的隊(duì)列
使用鼠標(biāo)把數(shù)字部分選中(不需要選數(shù)字的框)
如果是數(shù)字1我們框選數(shù)字1 ,然后標(biāo)注標(biāo)簽,標(biāo)簽盡量簡(jiǎn)介比如1
這樣
然后點(diǎn)擊保存后,自動(dòng)下一張會(huì)自動(dòng)標(biāo)注,如果不對(duì)去修改
當(dāng)標(biāo)注到 比如5678的時(shí)候 注意就新建5678標(biāo)簽了
盡量不要標(biāo)錯(cuò),如果偶爾標(biāo)錯(cuò)一個(gè)也沒(méi)有關(guān)系
可以去網(wǎng)頁(yè)其他位置修改,或者偶爾一個(gè)標(biāo)錯(cuò)可以不修改。
標(biāo)記完成后就會(huì)顯示0個(gè)需要標(biāo)記的
標(biāo)記完畢,可以標(biāo)記你覺(jué)得不合適的標(biāo)記數(shù)據(jù)
我們這里設(shè)置訓(xùn)練模型的參數(shù)
這里我們?cè)O(shè)置 96* 96或128 *128
這里openmv H7 因?yàn)閮?nèi)存比較小所以設(shè)置96*96 才有可能跑起來(lái)
? openmv H7 plus 也推薦設(shè)置 96**96 因?yàn)檫@樣分辨率低 幀率會(huì)高
我們先演示96*96 裁剪
選擇處理方式
選擇圖像
目標(biāo)點(diǎn)檢測(cè)
保存然后
太多了,大家可以從這個(gè)視頻下載文檔:
openmv教程合集 openmv入門到項(xiàng)目開發(fā) openmv和STM32通信 openmv和opencv區(qū)別 openmv巡線 openmv數(shù)字識(shí)別教程LCD
??痮penmv視覺(jué)文章鏈接:[https://blog.csdn.net/qq_46187594/category_12900902.html]