chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

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

基于YOLOv5框架如何訓練一個自定義對象檢測模型

OpenCV學堂 ? 來源:OpenCV學堂 ? 作者:OpenCV學堂 ? 2022-09-21 10:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

安裝與測試

最近YOLOv5最新更新升級到v6.x版本,工程簡便性有提升了一大步,本教程教你基于YOLOv5框架如何訓練一個自定義對象檢測模型,首先需要下載對應(yīng)版本:
https://github.com/ultralytics/yolov5/releases/tag/v6.1

鼠標滾到最下面下載源碼zip包:

https://github.com/ultralytics/yolov5/archive/refs/tags/v6.1.zip

下載完成之后解壓縮到:

D:pythonyolov5-6.1
首先運行下面命令行完成依賴庫的安裝:

3e0f0b56-38bb-11ed-ba43-dac502259ad0.png

等待一段時間,完成全部安裝之后,運行測試:
python detect.py --weights yolov5s.pt --source dataimageszidane.jpg
運行結(jié)果如下:

3e18a346-38bb-11ed-ba43-dac502259ad0.jpg

數(shù)據(jù)集準備與制作

自己百度收集了一個無人機與飛鳥的數(shù)據(jù)集,其中訓練集270張圖像,測試集26張圖像。

3e281af6-38bb-11ed-ba43-dac502259ad0.png

使用labelImg工具完成標注,工具下載地址:

https://gitee.com/opencv_ai/opencv_tutorial_data/tree/master/tools

YOLOv5要求的數(shù)據(jù)集目錄結(jié)構(gòu)如下:

3e3b0706-38bb-11ed-ba43-dac502259ad0.png

其中images是所有圖像的集合,labels是所有標簽信息集合。train表示訓練集、valid表示測試集。這里需要注意的是,labels信息中的標簽信息YOLO格式標注框需要把原始標注信息的標注框格式從:
Left top right bottom

轉(zhuǎn)換為

Center_x, center_y, width, height
并歸一化到0~1之間,這部分我寫了一個腳本來完成label標簽的生成,把xml的標注信息轉(zhuǎn)換為YOLOv5的labels文件,這樣就完成了數(shù)據(jù)集制作。最后需要創(chuàng)建一個dataset.ymal文件,放在與data文件夾同一層,它的內(nèi)容如下:
# train and val datasets (image directory or *.txt file with image paths)train: uav_bird_training/data/images/train/val: uav_bird_training/data/images/valid/
# number of classesnc: 2
# class namesnames: ['bird', 'drone']

三:模型訓練

制作好數(shù)據(jù)集之后,模型訓練就成為一件很簡單事情,一條命令行搞定。運行下面的命令行:
python train.py --img 640 --batch 4 --epochs 25 --data uav_bird_trainingdataset.yaml --weights yolov5s.pt
其中uav_bird_training文件夾里是制作好的數(shù)據(jù)集。這樣就開始訓練,訓練過程中可以通過tensorboard來查看可視化的結(jié)果,

3e496bc0-38bb-11ed-ba43-dac502259ad0.png

3e578bce-38bb-11ed-ba43-dac502259ad0.png

3e64e6fc-38bb-11ed-ba43-dac502259ad0.png

3e720558-38bb-11ed-ba43-dac502259ad0.png

PR曲線說明訓練效果還錯!

不同框架與硬件平臺推理比較

YOLOv5的6.x版本支持不同框架模型導出與推理,看下圖:

3e7e15b4-38bb-11ed-ba43-dac502259ad0.png

這里分別導出模型為ONNX、XML、engien格式之后,使用同一段視頻在我的筆記本上(CPUi7, GPU3050ti):在下面四種推理框架上運行
-OpenCV DNN-OpenVINO-ONNXRUNTIME-TensorRT
測試,分別截圖如下:

OpenCV DNN推理速度

3e921726-38bb-11ed-ba43-dac502259ad0.png

OpenVINO平臺上的推理速度

3e9dd070-38bb-11ed-ba43-dac502259ad0.png

ONNXRUNTIME GPU推理速度

3eb19182-38bb-11ed-ba43-dac502259ad0.png

TensorRT框架部署-FP32版本模型推理統(tǒng)計:

3ec34c88-38bb-11ed-ba43-dac502259ad0.png

YOLOv5的6.x版本,是支持TensorRT 量化到FP16模型直接導出的,但是不支持INT8量化生成,所以自己實現(xiàn)了導出量化INT8版本,測試結(jié)果如下:
python detect.py --weights uav_bird_training/uav_bird_int8.engine --data uav_bird_training/dataset.yaml --source D:/bird/bird_fly.mp4

TensorRT框架部署-INT8版本模型推理統(tǒng)計:

3ecf9524-38bb-11ed-ba43-dac502259ad0.png

最終比較:

3edd3c2e-38bb-11ed-ba43-dac502259ad0.png

注意:以上結(jié)果是基于Python語言上測試結(jié)果(前后處理都使用pytorch完成)

番外篇:C++推理與比較

使用C++部署時候,前后處理都改成了基于OpenCV 完成,使用CPU完成前后處理,OpenVINO+CPU運行速度截圖如下:

3f0609a6-38bb-11ed-ba43-dac502259ad0.png

OpenCV DNN + CUDA版本推理

3f168a10-38bb-11ed-ba43-dac502259ad0.png

TensorRT-FP32模型推理速度

3f2ca642-38bb-11ed-ba43-dac502259ad0.png

TensorRT-INT8模型推理速度

3f3d0b04-38bb-11ed-ba43-dac502259ad0.png

最后把自定義訓練導出的模型轉(zhuǎn)換為TensorRT Engine文件之后,部署到了我的一塊Jetson Nano卡上面,實現(xiàn)了邊緣端的部署,有圖有真相:

3f48ca48-38bb-11ed-ba43-dac502259ad0.png

審核編輯 :李倩


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

    關(guān)注

    0

    文章

    17

    瀏覽量

    7395
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1229

    瀏覽量

    25912

原文標題:YOLOv5新版本6.x 自定義對象檢測-從訓練到部署

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    技術(shù)分享 | RK3588基于Yolov5的目標識別演示

    YOLO是種基于深度神經(jīng)網(wǎng)絡(luò)的目標檢測算法,用在圖像或視頻中實時識別和定位多個對象。在其各個版本的迭代中,YOLOv5憑借易用性和性能平衡在工業(yè)、醫(yī)療、農(nóng)業(yè)、零售等領(lǐng)域被廣泛的應(yīng)用。
    的頭像 發(fā)表于 09-18 17:27 ?816次閱讀
    技術(shù)分享 | RK3588基于<b class='flag-5'>Yolov5</b>的目標識別演示

    基于瑞芯微RK3576的 yolov5訓練部署教程

    s、YOLOv5m、YOLOv5l、YOLOv5x 四模型。YOLOv5 相比
    的頭像 發(fā)表于 09-11 16:43 ?1655次閱讀
    基于瑞芯微RK3576的 <b class='flag-5'>yolov5</b><b class='flag-5'>訓練</b>部署教程

    在k230上使用yolov5檢測圖像卡死,怎么解決?

    0.99以上 模型轉(zhuǎn)換指令 再將該模型放到k230設(shè)備上使用yolo大作戰(zhàn)中yolov5檢測示例,檢測就會卡死,打印出的
    發(fā)表于 08-11 07:41

    yolov5訓練部署全鏈路教程

    m、YOLOv5l、YOLOv5x四模型。YOLOv5相比YOLOv4而言,在
    的頭像 發(fā)表于 07-25 15:22 ?761次閱讀
    <b class='flag-5'>yolov5</b><b class='flag-5'>訓練</b>部署全鏈路教程

    在K230上部署yolov5時 出現(xiàn)the array is too big的原因?

    重現(xiàn)步驟 1將yolov5的kmodel放入k230的data數(shù)據(jù) 2使用yolo大作戰(zhàn)里的視頻流推理代碼 3運行 期待結(jié)果和實際結(jié)果 期待的結(jié)果 將目標檢測的框圈起來 實際看到的結(jié)果
    發(fā)表于 05-28 07:47

    RV1126 yolov8訓練部署教程

    YOLOv8 是 ultralytics 公司在 2023 年 1月 10 號開源的基于YOLOV5進行更新的 下一個重大更新版本,目前支持圖像分類、物體檢測和實例分割任務(wù),鑒于
    的頭像 發(fā)表于 04-16 14:53 ?941次閱讀
    RV1126 <b class='flag-5'>yolov</b>8<b class='flag-5'>訓練</b>部署教程

    請問如何在imx8mplus上部署和運行YOLOv5訓練模型?

    我正在從事 imx8mplus yocto 項目。我已經(jīng)在自定義數(shù)據(jù)集上的 YOLOv5訓練對象檢測
    發(fā)表于 03-25 07:23

    YOLOv5類中rgb888p_size這個參數(shù)要與模型推理和訓練的尺寸致嗎?致會達到更好的效果?

    YOLOv5類中rgb888p_size這個參數(shù)要與模型推理和訓練的尺寸致嗎,致會達到更好的效果
    發(fā)表于 03-11 08:12

    使用OpenVINO? 2021.4在CPU和MYRIAD上進行自定義對象檢測,為什么結(jié)果差異巨大?

    使用自定義訓練模型執(zhí)行推理,以便在 2021.4 OpenVINO?中進行人員檢測。 與 MYRIAD 相比,CPU 的輸出結(jié)果取得了巨大的差異
    發(fā)表于 03-06 07:45

    使用OpenVINO? 2021.4將經(jīng)過訓練自定義PyTorch模型加載為IR格式時遇到錯誤怎么解決?

    使用 OpenVINO? 2021.4 將經(jīng)過訓練自定義 PyTorch 模型加載為 IR 格式時遇到錯誤: RuntimeError: [ GENERAL_ERROR ] Failed
    發(fā)表于 03-05 08:40

    【米爾RK3576開發(fā)板評測】+項目名稱YOLOV5目標檢測

    /examples/yolov5/model ./download_model.sh 下載的是ONNX格式的神經(jīng)網(wǎng)絡(luò)模型,但發(fā)現(xiàn)它無法在瑞芯微系統(tǒng)中直接運行。為了解決這個問題,您計
    發(fā)表于 02-15 13:24

    【ELF 2學習板試用】ELF2開發(fā)板(飛凌嵌入式)部署yolov5s的自定義模型

    ELF2開發(fā)板(飛凌嵌入式)部署yolov5s的自定義模型` 本人將零基礎(chǔ)教學自己訓練yolov5s
    發(fā)表于 02-04 18:15

    在RK3568教學實驗箱上實現(xiàn)基于YOLOV5的算法物體識別案例詳解

    種非常流行的實時目標檢測模型,它提供了出色的性能和精度。YOLOv5可以分為三部分,分別是: 1、主干特征提取網(wǎng)絡(luò)(Backbone) 2、加強特征提取網(wǎng)絡(luò)(FPN) 3、分類器與回
    發(fā)表于 12-03 14:56

    YOLOv10自定義目標檢測之理論+實踐

    概述 YOLOv10 是由清華大學研究人員利用 Ultralytics Python 軟件包開發(fā)的,它通過改進模型架構(gòu)并消除非極大值抑制(NMS)提供了種新穎的實時目標檢測方法。這些
    的頭像 發(fā)表于 11-16 10:23 ?2593次閱讀
    <b class='flag-5'>YOLOv</b>10<b class='flag-5'>自定義</b>目標<b class='flag-5'>檢測</b>之理論+實踐

    在樹莓派上部署YOLOv5進行動物目標檢測的完整流程

    卓越的性能。本文將詳細介紹如何在性能更強的計算機上訓練YOLOv5模型,并將訓練好的模型部署到樹莓派4B上,通過樹莓派的攝像頭進行實時動物目
    的頭像 發(fā)表于 11-11 10:38 ?4417次閱讀
    在樹莓派上部署<b class='flag-5'>YOLOv5</b>進行動物目標<b class='flag-5'>檢測</b>的完整流程