• 方案介紹
  • 附件下載
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

3.5.4-自行訓練數(shù)據(jù)集-(openmv神經(jīng)網(wǎng)絡訓練 openmv模型訓練)

04/11 08:35
1330
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

聯(lián)系方式.txt

共1個文件

**非常詳細的視頻和文字教程,講解常見的openmv教程包括 巡線、物體識別、圓環(huán)識別、閾值自動獲取等。非常適合學習openmv、K210、K230等項目
視頻合集鏈接在


openmv教程合集 openmv入門到項目開發(fā) openmv和STM32通信 openmv和opencv區(qū)別 openmv巡線 openmv數(shù)字識別教程LCD

專刊openmv視覺文章鏈接:[https://blog.csdn.net/qq_46187594/category_12900902.html]

另外還有一個:是全網(wǎng)最詳細的STM32項目教學視頻。
功能:PID速度控制、PID循跡、PID跟隨、遙控、避障、PID角度控制、openmv視覺控制、電磁循跡、FreeRTOS、

智能車第一篇在這里:
視頻在這里:


STM32智能小車V3-STM32入門教程-openmv與STM32循跡小車-stm32f103c8t6-電賽 嵌入式學習 PID控制算法 編碼器電機 跟隨

3.5.4-自行訓練數(shù)據(jù)集-(openmv神經(jīng)網(wǎng)絡訓練 openmv模型訓練)

1-使用訓練集識別數(shù)字

本節(jié)這里我們使用線上訓練的方式。

訓練網(wǎng)站: Edge Impulse - The Leading Edge AI Platform https://edgeimpulse.com

注意此章節(jié)教學的采集-訓練-識別過程不僅適用于openmv識別打印數(shù)字,也可以數(shù)字換成手寫體數(shù)字、也可以是把數(shù)字換成紅綠燈限速等交通標志、要識別的一些垃圾比如殘缺的蘋果和易拉罐等垃圾分類場景、還可以識別色環(huán)定位、兩個及其以上不同顏色的小球識別、手勢識別、特定兩個及其以上物體抓取識別等。后面也會更新大家想看的垃圾分析、或者人形識別等。

由于模型訓練是線上網(wǎng)站訓練,所以可能網(wǎng)站布局可能發(fā)生變化,如果復現(xiàn)不了,筆記的教程,也可以嘗試搜索,其他相關最新或者之前的文檔或者視頻教程,下面一些參考教程鏈接,推薦大家出問題后也可以看一下下面的視頻:

訓練神經(jīng)網(wǎng)絡目標檢測實際道路環(huán)境交通標志: https://www.bilibili.com/video/BV1Qr4y177xi/?share_source=copy_web&vd_source=f5d5850ab773377dff308188468fbc77

38-OpenMV4 Plus訓練神經(jīng)網(wǎng)絡進行口罩識別: https://www.bilibili.com/video/BV1uU4y1M71J/?share_source=copy_web&vd_source=f5d5850ab773377dff308188468fbc77

如果線上訓練方式出現(xiàn)特殊情況,比如Edge Impulse 網(wǎng)站停止服務或者使用人數(shù)較多排隊擁擠現(xiàn)象,大家可以嘗試用自己電腦本地訓練,由于本地訓練對筆記本性能還有相關系統(tǒng)硬件要求高,所以我們暫時不更新本地訓練方式,下面提供一些相關網(wǎng)站參考了解的鏈接:使用tensorflow2.3訓練數(shù)字識別模型并量化為tflite后部署到openMV上_openmv部署識別模型-CSDN博客

獲得訓練數(shù)據(jù)集

這里我們先采集數(shù)據(jù)集,可以使用別人采集好的、網(wǎng)絡下載收集、手機拍攝、openmv采集。

建議使用openmv+openmv IDE 根據(jù)小車實際使用環(huán)境采集數(shù)據(jù),比如小車上的openmv識別數(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 # 引入時間模塊,用于控制時間延遲和FPS計算

# 初始化傳感器
sensor.reset()  # Reset and initialize the sensor. 重置并初始化傳感器
sensor.set_pixformat(sensor.RGB565)  # Set pixel format to RGB565 (or GRAYSCALE) 設置像素格式為RGB565(或者灰度)
sensor.set_framesize(sensor.QVGA)  # Set frame size to QVGA (320x240) 設置幀大小為QVGA(320x240分辨率)
#***************************如果不需要鏡像就注釋掉 下面 的代碼********************
# 設置攝像頭鏡像/翻轉(zhuǎn)操作,根據(jù)攝像頭安裝的方向決定是否需要
sensor.set_vflip(True)  # 垂直方向翻轉(zhuǎn)。根據(jù)實際攝像頭模塊的安裝位置調(diào)整是否需要此操作
#?。。≈匾翰煌瑪z像頭是否需要鏡像,根據(jù)實際情況定。如果不需要鏡像,請注釋掉以下代碼:
sensor.set_hmirror(True)  # 水平方向反轉(zhuǎn)。根據(jù)實際攝像頭模塊的安裝位置調(diào)整是否需要此操作
#!??!重要:不同攝像頭是否需要鏡像,根據(jù)實際情況定。如果不需要鏡像,請注釋掉上述代碼。
#***************************如果不需要鏡像就注釋掉 上面 的代碼********************
sensor.skip_frames(time=2000)  # Wait for settings take effect. 等待2秒鐘讓設置生效
clock = time.clock()  # Create a clock object to track the FPS. 創(chuàng)建一個時鐘對象,用于追蹤FPS(每秒幀數(shù))



while True:
    clock.tick()  # Update the FPS clock. 更新FPS時鐘
    img = sensor.snapshot()  # Take a picture and return the image. 拍攝一張照片并返回圖像
    print(clock.fps())  # 輸出當前的幀率(FPS),用來衡量攝像頭的拍攝速度
    # Note: OpenMV Cam runs about half as fast when connected
    # to the IDE. The FPS should increase once disconnected.
    # 注意:當OpenMV相機連接到IDE時,速度大約是平時的一半。斷開連接后,F(xiàn)PS應該會提高。

點擊
在這里插入圖片描述
在這里插入圖片描述
如果使用的攝像頭需要鏡像畫面,我們就增加畫面鏡像的代碼增加到下面照片紅色圈出的位置

#***************************如果不需要鏡像就注釋掉 下面 的代碼********************
# 設置攝像頭鏡像/翻轉(zhuǎn)操作,根據(jù)攝像頭安裝的方向決定是否需要
sensor.set_vflip(True)  # 垂直方向翻轉(zhuǎn)。根據(jù)實際攝像頭模塊的安裝位置調(diào)整是否需要此操作
#?。?!重要:不同攝像頭是否需要鏡像,根據(jù)實際情況定。如果不需要鏡像,請注釋掉以下代碼:
sensor.set_hmirror(True)  # 水平方向反轉(zhuǎn)。根據(jù)實際攝像頭模塊的安裝位置調(diào)整是否需要此操作
#!??!重要:不同攝像頭是否需要鏡像,根據(jù)實際情況定。如果不需要鏡像,請注釋掉上述代碼。
#***************************如果不需要鏡像就注釋掉 上面 的代碼********************

在這里插入圖片描述
然后點擊新建數(shù)據(jù)文件夾
在這里插入圖片描述
在這里插入圖片描述
采集中盡量變化你的光照環(huán)境、還有可能拍攝的物體角度,和物體之間的距離。

每種要要識別的種類需要100張,比如能夠標注出1的也就是要有100張。

比如室內(nèi)開燈、拉開窗簾,關閉窗簾、左邊傾斜一些角度、右邊傾斜一些角度、攝像頭距離近些、攝像頭距離遠些、然后后面背景是黑色,或者灰色白色等。

如果訓練后發(fā)現(xiàn)某個訓練數(shù)字訓練識別結(jié)果不好或者某種使用場景識別結(jié)果不好,可以再多補一下這個

數(shù)字或者場景的訓練數(shù)據(jù)集。

這里我?guī)в?234的照片拍了大概100多張
在這里插入圖片描述
然后繼續(xù)采集5 6 7 8數(shù)字的

新建一個文件夾

如果中間采集的圖片預覽都是灰色就重新啟動
在這里插入圖片描述
創(chuàng)建文件夾
在這里插入圖片描述
然后大概采集了140張
在這里插入圖片描述
繼續(xù)采集0和數(shù)字9
在這里插入圖片描述
然后采集了140多張
在這里插入圖片描述

去網(wǎng)站 訓練數(shù)據(jù)

我們使用的線上訓練數(shù)據(jù)集網(wǎng)站是:Edge Impulse - The Leading Edge AI Platform https://edgeimpulse.com

由于網(wǎng)站是線上的,所以不定期操作網(wǎng)站的布局和操作會有更新,基礎差的朋友,仔細看課程多看幾遍,或者百度其他相關最新:openmv線上數(shù)據(jù)集訓練教程,根據(jù)課程內(nèi)容和網(wǎng)站最新布局進行操作訓練數(shù)據(jù)。(課程也會不定期根據(jù)線上訓練方法進行更新,但是需要更新的其他教程也很多所以會有延遲,盡量遇到問題可以借助AI和百度解決)

登錄網(wǎng)站
在這里插入圖片描述
如果沒有注冊過需要注冊一下,如果注冊過直接登錄

這個是注冊的
在這里插入圖片描述
在這里插入圖片描述
點擊這個,或者退到主頁
在這里插入圖片描述
選擇一下我們使用的板子

這里openmv 只有一個openmv cam h7 plus 所以我們無論使用openmv H7 和openmv H7 plus都選擇這個
在這里插入圖片描述
在這里插入圖片描述
選擇上傳文件
在這里插入圖片描述
在這里插入圖片描述
然后選擇文件
在這里插入圖片描述
每次上傳一些圖片,然后
在這里插入圖片描述
問我們是否在圖像檢測可以點擊是
在這里插入圖片描述
繼續(xù)
在這里插入圖片描述
然后繼續(xù)上傳直到把 三個文件夾照片都傳上去
在這里插入圖片描述
如果中間有偶爾幾個文件沒有傳上去,也不用管

在這里插入圖片描述
在這里插入圖片描述
然后我們?nèi)タ匆幌挛覀冃枰獦俗⒌年犃?br /> 在這里插入圖片描述
使用鼠標把數(shù)字部分選中(不需要選數(shù)字的框)

如果是數(shù)字1我們框選數(shù)字1 ,然后標注標簽,標簽盡量簡介比如1
在這里插入圖片描述
這樣
在這里插入圖片描述
在這里插入圖片描述
然后點擊保存后,自動下一張會自動標注,如果不對去修改

當標注到 比如5678的時候 注意就新建5678標簽了

在這里插入圖片描述
盡量不要標錯,如果偶爾標錯一個也沒有關系

可以去網(wǎng)頁其他位置修改,或者偶爾一個標錯可以不修改。

標記完成后就會顯示0個需要標記的

標記完畢,可以標記你覺得不合適的標記數(shù)據(jù)
在這里插入圖片描述
在這里插入圖片描述
我們這里設置訓練模型的參數(shù)

這里我們設置 96* 96或128 *128

這里openmv H7 因為內(nèi)存比較小所以設置96*96 才有可能跑起來

? openmv H7 plus 也推薦設置 96**96 因為這樣分辨率低 幀率會高

我們先演示96*96 裁剪
在這里插入圖片描述
選擇處理方式
在這里插入圖片描述選擇圖像
在這里插入圖片描述
目標點檢測
在這里插入圖片描述

在這里插入圖片描述
保存然后
在這里插入圖片描述
太多了,大家可以從這個視頻下載文檔:


openmv教程合集 openmv入門到項目開發(fā) openmv和STM32通信 openmv和opencv區(qū)別 openmv巡線 openmv數(shù)字識別教程LCD

??痮penmv視覺文章鏈接:[https://blog.csdn.net/qq_46187594/category_12900902.html]

  • 聯(lián)系方式.txt
    下載

相關推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時響應!