0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

YOLOv8+OpenCV實現(xiàn)DM碼定位檢測與解析

OpenCV學堂 ? 來源:OpenCV學堂 ? 2023-08-10 11:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

YOLOv8是YOLO系列模型的最新王者,各種指標全面超越現(xiàn)有對象檢測與實例分割模型,借鑒了YOLOv5、YOLOv6、YOLOX等模型的設(shè)計優(yōu)點,全面提升改進YOLOv5的模型結(jié)構(gòu)基礎(chǔ)上實現(xiàn)同時保持了YOLOv5工程化簡潔易用的優(yōu)勢。

7df4028a-372a-11ee-9e74-dac502259ad0.png

數(shù)據(jù)準備

工業(yè)碼(DataMatrix碼簡稱DM碼)檢測與識別是機器視覺最常用得場景之一,從DM碼的定位、質(zhì)量評估、預處理、檢測與ROI截取、解析識別。每個環(huán)節(jié)都有很多技術(shù)細節(jié),以DM碼的發(fā)現(xiàn)于定位來說,早期都是基于傳統(tǒng)的圖像分析與尋邊算法實現(xiàn)DM碼定位,現(xiàn)在基本上都是基于輕量化的深度學習對象檢測模型來完成。本文的數(shù)據(jù)集是來自一個網(wǎng)友的貢獻,它的DM碼圖像。

傳統(tǒng)方法分析相對來說比較容易收到其它因素干擾,導致解碼率不高,因此我從他給我的2000多張圖像中挑選出200張,用OpenMV做好了標注,制作生成了數(shù)據(jù)集。

7e2df1e8-372a-11ee-9e74-dac502259ad0.png

模型訓練與量化部署

然后基于YOLOv8對象檢測模型,使用遷移學習方式訓練了一個DM碼檢測模型,訓練結(jié)果如下:

7e4b30e6-372a-11ee-9e74-dac502259ad0.png

7e662ab8-372a-11ee-9e74-dac502259ad0.png

把訓練生成的best.pt模型導出ONNX格式模型,再進一步量化為INT8,最終模型大小只有3MB,在端側(cè)板子上都可以部署運行,然后運行測試。

采用ZXING開源解碼結(jié)果

這其中最重要的就是定位查找DM碼,使用YOLOv8訓練一個自定義對象檢測模型,可以很輕松的搞定,然后基于ROI使用OpenCV完成預處理之后即可解碼。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3504

    瀏覽量

    50203
  • OpenCV
    +關(guān)注

    關(guān)注

    32

    文章

    642

    瀏覽量

    42648
  • 定位檢測
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    8271
  • 遷移學習
    +關(guān)注

    關(guān)注

    0

    文章

    74

    瀏覽量

    5707

原文標題:實戰(zhàn) | YOLOv8+OpenCV 實現(xiàn)DM碼定位檢測與解析

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    【飛凌嵌入式OKMX8MP-C 開發(fā)板試用體驗】OpenCV-DNN移植&使用體驗(基于YOLOV3模型識別物體)

    接引用了。使用OpenCV檢測攝像頭輸入圖像并顯示的Demo非常簡單:void * Thread_Opencv(void *arg){ // IplImage* img = cvLoadImage
    發(fā)表于 02-21 00:22

    使用Yolov5 - i.MX8MP進行NPU錯誤檢測是什么原因?

    的時機(yolov5s 模型,輸入為 448x448 ~ 70ms)。 現(xiàn)在我正在嘗試使用 Yolov5(uint8 量化),但我嘗試使用不同的預訓練模型獲得相同的行為,在 CPU 上進行良好
    發(fā)表于 03-31 07:38

    DM6446的車牌定位快速算法實現(xiàn)與優(yōu)化

    DM6446的車牌定位快速算法實現(xiàn)與優(yōu)化
    發(fā)表于 10-26 15:27 ?1次下載
    <b class='flag-5'>DM</b>6446的車牌<b class='flag-5'>定位</b>快速算法<b class='flag-5'>實現(xiàn)</b>與優(yōu)化

    使用OpenCV與微信二維引擎實現(xiàn)二維識別

    微信開源了其二維的解碼功能,并貢獻給 OpenCV 社區(qū)。其開源的 wechat_qrcode 項目被收錄到 OpenCV contrib 項目中。從 OpenCV 4.5.2 版本
    的頭像 發(fā)表于 04-06 10:01 ?4653次閱讀

    使用OpenCV+ONNXRuntime部署YOLOV7目標檢測

    使用opencv部署的程序,有一個待優(yōu)化的問題。onnxruntime讀取.onnx文件可以獲得輸入張量的形狀信息, 但是opencv的dnn模塊讀取.onnx文件無法獲得輸入張量的形狀信息,目前是根據(jù).onnx文件的名稱來解析
    的頭像 發(fā)表于 07-23 11:31 ?1.1w次閱讀
    使用<b class='flag-5'>OpenCV</b>+ONNXRuntime部署<b class='flag-5'>YOLOV</b>7目標<b class='flag-5'>檢測</b>

    YOLOv5在OpenCV上的推理程序

    YOLOv5官方給出的YOLOv5在OpenCV上推理的程序相對來說是比較通俗易懂的,條理清晰,有基本的封裝,直接可用!但是我也發(fā)現(xiàn),模型的推理時間跟前后處理的時間相差無幾,特別是當視頻流有多個
    的頭像 發(fā)表于 11-02 10:16 ?2384次閱讀

    使用YOLOv8做目標檢測和實例分割的演示

    YOLOv8是來自Ultralytics的最新的基于YOLO的對象檢測模型系列,提供最先進的性能。
    的頭像 發(fā)表于 02-06 10:11 ?8357次閱讀

    在AI愛克斯開發(fā)板上用OpenVINO?加速YOLOv8目標檢測模型

    《在 AI 愛克斯開發(fā)板上用 OpenVINO 加速 YOLOv8 分類模型》介紹了在 AI 愛克斯開發(fā)板上使用 OpenVINO 開發(fā)套件部署并測評 YOLOv8 的分類模型,本文將介紹在 AI 愛克斯開發(fā)板上使用 OpenVINO 加速
    的頭像 發(fā)表于 05-12 09:08 ?1742次閱讀
    在AI愛克斯開發(fā)板上用OpenVINO?加速<b class='flag-5'>YOLOv8</b>目標<b class='flag-5'>檢測</b>模型

    YOLOv8版本升級支持小目標檢測與高分辨率圖像輸入

    YOLOv8版本最近版本又更新了,除了支持姿態(tài)評估以外,通過模型結(jié)構(gòu)的修改還支持了小目標檢測與高分辨率圖像檢測。原始的YOLOv8模型結(jié)構(gòu)如下。
    的頭像 發(fā)表于 05-16 11:14 ?1.4w次閱讀
    <b class='flag-5'>YOLOv8</b>版本升級支持小目標<b class='flag-5'>檢測</b>與高分辨率圖像輸入

    AI愛克斯開發(fā)板上使用OpenVINO加速YOLOv8目標檢測模型

    《在AI愛克斯開發(fā)板上用OpenVINO加速YOLOv8分類模型》介紹了在AI愛克斯開發(fā)板上使用OpenVINO 開發(fā)套件部署并測評YOLOv8的分類模型,本文將介紹在AI愛克斯開發(fā)板上使用OpenVINO加速YOLOv8目標
    的頭像 發(fā)表于 05-26 11:03 ?1764次閱讀
    AI愛克斯開發(fā)板上使用OpenVINO加速<b class='flag-5'>YOLOv8</b>目標<b class='flag-5'>檢測</b>模型

    OpenCV4.8+YOLOv8對象檢測C++推理演示

    自從YOLOv5更新成7.0版本,YOLOv8推出以后,OpenCV4.6以前的版本都無法再加載導出ONNX格式模型了,只有OpenCV4.7以上版本才可以支持最新版本
    的頭像 發(fā)表于 09-27 11:07 ?1967次閱讀
    <b class='flag-5'>OpenCV4.8+YOLOv8</b>對象<b class='flag-5'>檢測</b>C++推理演示

    YOLOv8實現(xiàn)旋轉(zhuǎn)對象檢測

    YOLOv8框架在在支持分類、對象檢測、實例分割、姿態(tài)評估的基礎(chǔ)上更近一步,現(xiàn)已經(jīng)支持旋轉(zhuǎn)對象檢測(OBB),基于DOTA數(shù)據(jù)集,支持航拍圖像的15個類別對象檢測,包括車輛、船只、典型
    的頭像 發(fā)表于 01-11 10:43 ?2510次閱讀
    <b class='flag-5'>YOLOv8</b><b class='flag-5'>實現(xiàn)</b>旋轉(zhuǎn)對象<b class='flag-5'>檢測</b>

    OpenCV4.8 C++實現(xiàn)YOLOv8 OBB旋轉(zhuǎn)對象檢測

    YOLOv8框架在在支持分類、對象檢測、實例分割、姿態(tài)評估的基礎(chǔ)上更近一步,現(xiàn)已經(jīng)支持旋轉(zhuǎn)對象檢測(OBB),基于DOTA數(shù)據(jù)集,支持航拍圖像的15個類別對象檢測,包括車輛、船只、典型
    的頭像 發(fā)表于 02-22 10:15 ?2806次閱讀
    <b class='flag-5'>OpenCV</b>4.8 C++<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>YOLOv8</b> OBB旋轉(zhuǎn)對象<b class='flag-5'>檢測</b>

    基于OpenCV DNN實現(xiàn)YOLOv8的模型部署與推理演示

    基于OpenCV DNN實現(xiàn)YOLOv8推理的好處就是一套代碼就可以部署在Windows10系統(tǒng)、烏班圖系統(tǒng)、Jetson的Jetpack系統(tǒng)
    的頭像 發(fā)表于 03-01 15:52 ?2746次閱讀
    基于<b class='flag-5'>OpenCV</b> DNN<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>YOLOv8</b>的模型部署與推理演示

    YOLOv8中的損失函數(shù)解析

    YOLO長期以來一直是目標檢測任務的首選模型之一。它既快速又準確。此外,其API簡潔易用。運行訓練或推斷作業(yè)所需的代碼行數(shù)有限。在2023年下半年,YOLOv8在框架中引入了姿態(tài)估計后,該框架現(xiàn)在支持最多四個任務,包括分類、目標檢測
    的頭像 發(fā)表于 11-05 17:15 ?3794次閱讀
    <b class='flag-5'>YOLOv8</b>中的損失函數(shù)<b class='flag-5'>解析</b>

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品