国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別

這篇具有很好參考價值的文章主要介紹了YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

寫在前面

我本來是使用這個模型進行手寫簽名的定位,但是因為比賽的主辦方原因,數(shù)據(jù)不允許公開,所以我使用動物世界的一段開頭視屏來制作我的數(shù)據(jù)集。這整個模型跑通的過程中,我參考了很多不錯的博客,寫這篇博客的原因是記錄一下我的所見所感。我的模型是在移動九天的平臺上跑的。本文參考的博客如下:
YOLOv5訓(xùn)練自己的數(shù)據(jù)集(超詳細完整版)
目標檢測—教你利用yolov5訓(xùn)練自己的目標檢測模型

寫這篇文章的目的是為了能給大家一些建議,也是為了記錄一下自己的成長。

1.環(huán)境

識別模型有很多,但是目前比較實用的是YOLOV5,是一個國外的公司做的,比較好用。這是github的鏈接

萬事開頭難,我認為一個模型只要環(huán)境搭好了,模型就成功了90%。但是好在YOLOv5所需要的各種庫都是比較熱門的,沒有各種坑,(此文主要給大家增加信心)所以我覺得環(huán)境是很好配的。
這里還是先建議大家創(chuàng)建虛擬環(huán)境,我是在服務(wù)器上跑的就沒有創(chuàng)建。創(chuàng)建虛擬環(huán)境的教程,然后激活自己的虛擬環(huán)境就可以了。這里就不得不說服務(wù)器是真香。
YOLOv5的項目里面已經(jīng)寫好我們需要的環(huán)境,在requirements.txt中,所以我們只需要將github的代碼拉到本地,然后一條命令就可以安裝好:

pip install -r requirements.txt

我在服務(wù)器上跑的給大家演示:
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
出現(xiàn)上面的東西就大致OK了

接下來可以直接運行train.py檢驗自己的環(huán)境有沒有配好,我認為這一步是很重要的,當我看到模型可以跑通的時候,給了我極大的信心。
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
如果直接運行,使用的數(shù)據(jù)集是默認的coco128第一次需要從官網(wǎng)上下載,然后就可以使用了,如果出現(xiàn)了epoch如上圖所示,就說明模型已經(jīng)開始訓(xùn)練了,環(huán)境已經(jīng)配好了。也就是說以后都不用為這個模型的環(huán)境擔(dān)憂了,恭喜邁出了一大步。

如果告訴你缺少包,缺啥就pip install 啥就行了,一般不會報錯。

在運行成功后就可以制作自己的數(shù)據(jù)集準備訓(xùn)練了。

2.制作自己的數(shù)據(jù)集

2.1 視頻轉(zhuǎn)圖片

在這一小節(jié),我們需要把視頻進行逐幀處理,轉(zhuǎn)化為圖片,便于我們最終制作的數(shù)據(jù)集。這里我使用的是vedio_to_pictures這個代碼,程序會放到下面的附錄里面。程序的主要作用就是將圖片逐幀處理成一張一張的圖片,并保存到當前目錄下的allimages文件夾下。
我視頻的基本信息是:
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
我是使用QQ自帶的錄屏錄制的b站上一段視頻(或者是其他網(wǎng)站上的,具體記不清了),得到的幀率是19.58幀每秒,總時長是69秒。所以得到圖片數(shù)大約是19.58*69=1351張,最終我使用圖片處理得到的圖片是1357張,如下,大致符合。
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別

大家可以根據(jù)得到的圖片挑選一些圖片制作自己的數(shù)據(jù)集,因為我最終使用了45張圖片來制作我自己的數(shù)據(jù)集,所以我是手動挑選的。大家可以寫一個隨機函數(shù)自動挑選。

2.2 標注圖片制作標準數(shù)據(jù)集

這一節(jié)是將上面得到的45張圖片進行標注,制作成YOLO能夠訓(xùn)練的數(shù)據(jù)集的標準樣式。

標準數(shù)據(jù)集的樣子

首先看一下YOLO數(shù)據(jù)集的格式是物體的類別編號,x,y,w,h.
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
拿第一條數(shù)據(jù)來舉例,比如:

0 0.21584984358706988 0.5041743970315399 0.11678832116788321 0.10296846011131726

第一個0是指此類對象的編碼,這個當你標注完對象之后,就會自動的進行編號。后面的坐標分別表示目標的中心坐標和目標的寬和高,這里的寬和高是歸一化之后的寬和高。

用labelImg標注自己的數(shù)據(jù)集

任何一款圖像標注軟件都是可以進行標注的,這里我選擇的時候LabelImg(以上附有安裝教程).標注的格式我這里選擇的是voc格式(下圖左邊所示),后期會用代碼將voc格式轉(zhuǎn)化成YOLO格式,沒有直接選擇YOLO格式的原因是,我的labelImgYOLO格式標出來不是標準的,可能是我安裝的版本太老的原因,也有同學(xué)是直接使用YOLO格式標注的,大家也可以進行嘗試。

YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
這里標注的時候有一些小技巧,比如提前更改要標注的類別、自動保存,一些快捷鍵,w鍵可以快速起框,d鍵切換下一張等等,記得要設(shè)置保存的文件夾。大家可以搜一下。

標注完成之后,voc得到的是xml文件。我這里是這樣的
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
在這里進行一個格式的轉(zhuǎn)化。
首先在YOLOv5文件夾下面新建一個data文件夾,我這里命名是hanzi_data:

YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
然后在hanzi_data文件夾下面分別創(chuàng)建images文件夾(名字不可以更改)和Annotations文件夾,一個存放你要訓(xùn)練的圖片,也就是我們標注的圖片,一個存放我們的xml文件。 如下所示:

YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別

劃分訓(xùn)練集、測試集和驗證集

接下來進行劃分訓(xùn)練集、測試集合驗證集。這里是運行代碼split_train_val.py得到的,后面會給出連接,如果你的文件夾有改動,代碼相應(yīng)的修改
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
如果運行結(jié)果的文件夾沒有修改的話,運行完成之后就會出現(xiàn)一個新的文件夾ImageSets。這里我們運行結(jié)果如下:

YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
打開文件夾里面有個main文件夾,然后里面有test、train、trainval和val四個txt文件,里面都是圖片的名稱,沒有后綴。我這里有個不速之客,是我的代碼存放的問題,一般不會有,我這里直接刪除即可。

YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別

XML格式轉(zhuǎn)yolo_txt格式

這里是運行text_to_yolo.py,然后就可以得到dataSet_path文件夾和labels文件夾,如下所示:

YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
dataSet_path文件夾里面的三個txt分別存放的是你自己訓(xùn)練集、驗證集、測試集的路徑。

YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
此時的label文件夾下的txt數(shù)據(jù)也是標準的YOLO模式,如下所示:

YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
至此數(shù)據(jù)集制作完成,接下來準備訓(xùn)練啦。

建立自己的配置文件

在 yolov5 目錄下的 data 文件夾下 新建一個 myvoc.yaml文件(可以自定義命名),用記事本打開。
內(nèi)容是:
訓(xùn)練集以及驗證集(train.txt和val.txt)的路徑(可以改為相對路徑
以及目標的類別數(shù)目和類別名稱。
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別

3.模型的訓(xùn)練

更改模型配置

選擇一個模型,在yolov5目錄下的model文件夾下是模型的配置文件,有n、s、m、l、x版本,模型依次復(fù)雜,權(quán)重依次增多,訓(xùn)練的時間的也依次增加。
這里我選擇的是yolov5s,然后進行更改,如下所示:

YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別

開始訓(xùn)練
python train.py --weights weights/yolov5s.pt  --cfg models/yolov5s.yaml  --data data/myvoc.yaml --epoch 200 --batch-size 8

–weights 自己權(quán)重的路徑,看自己的yolov5s.pt所在的位置,你也許需要更改。
–cfg 模型配置的路徑,也就是上一步更改的那個模型配置。
–data 是制作自己的數(shù)據(jù)集的時候建立自己配置文件的路徑。
–epoch 訓(xùn)練的輪數(shù)
–batch-size 一次訓(xùn)練喂進去的照片數(shù)量,電腦配置不好就改小一點。

訓(xùn)練過程

在訓(xùn)練的過程中會打印訓(xùn)練結(jié)果存儲的位置,一般保存在runs/train/下最新的exp文件夾里面

YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
我的訓(xùn)練好的模型存放在了runs/train/exp22下面
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
除此之外訓(xùn)練的exp下面還有你訓(xùn)練過程的圖片:
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
里面還有一些其他的訓(xùn)練過程的圖片:
R_curve 召回率Recall和置信度confidence之間的關(guān)系。
PR_curve PR曲線中的P代表的是Precision(精準率),R代表的是Recall(召回率),其代表的是精準率與召回率的關(guān)系.一般情況下,將recall設(shè)置為橫坐標,precision設(shè)置為縱坐標。PR曲線下圍成的面積即AP,所有類別AP平均值即map。AP值是衡量目標檢測模型分類器性能優(yōu)劣的重要評估指標,AP值越大則分類器性能越好,越小則分類器性能越差。
P_curve 精確率Precision和置信度confidence的關(guān)系圖.
F1_curve 數(shù)學(xué)定義為 F1分數(shù),又稱為平衡F分數(shù),它被定義為正確率和召回率的調(diào)和平均數(shù).
confusion_matrix 指的是混淆矩陣.

模型檢測

模型檢測的代碼如下:

python detect.py --weights runs/train/exp/weights/best.pt --source ../data/video/animal.mp4

–weights 權(quán)重存放的位置
–source 你要檢測的東西。支持圖片,文件夾,視頻和攝像頭

這里我測試的是test_data下面的Animal.mp4

YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
可以看到在跑視頻的時候,他是一幀一幀的圖像處理的,這就體現(xiàn)出他快的特性。
最后會保存到runs/detect/exp里面,如下所示
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別
最終我的結(jié)果如下所示:

YOLO演示

模型到這里基本就結(jié)束了,遇到問題不要著急,機器是不會壞的,多嘗試幾次總是可以的。

4 相關(guān)問題

訓(xùn)練緩存

在訓(xùn)練的時候也會生成數(shù)據(jù)緩存,在你的hanzi_data/dataSet_path文件夾下面,如果后面需要再次訓(xùn)練,可能需要刪除一下。(我不刪也沒事)
YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別

訓(xùn)練時間

我的數(shù)據(jù)是45張圖片,使用了GPU,200個epochs大概訓(xùn)練了25分鐘。

YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別

代碼附錄

vedio_to_pictures
split_train_val.py
text_to_yolo.py文章來源地址http://www.zghlxwxcb.cn/news/detail-430621.html

到了這里,關(guān)于YOLOv5訓(xùn)練自己的數(shù)據(jù)集實現(xiàn)視頻的識別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【YOLO】yolov5訓(xùn)練自己的數(shù)據(jù)集

    【YOLO】yolov5訓(xùn)練自己的數(shù)據(jù)集

    【Python】樸實無華的yolov5環(huán)境配置(一) ??上面前期教程中,大致介紹了yolov5開發(fā)環(huán)境的配置方法和yolov5項目的基本結(jié)構(gòu),下一步就是基于yolov5預(yù)訓(xùn)練模型來訓(xùn)練自己的數(shù)據(jù)集,這對于只是想要使用yolov5這個工具的人,還是想要深入研究yolov5類似的目標識別算法的人,都是

    2024年02月11日
    瀏覽(93)
  • YOLOv5-第Y2周:訓(xùn)練自己的數(shù)據(jù)集

    YOLOv5-第Y2周:訓(xùn)練自己的數(shù)據(jù)集

    ?? 本文為??365天深度學(xué)習(xí)訓(xùn)練營 中的學(xué)習(xí)記錄博客 ?? 原作者:K同學(xué)啊 電腦系統(tǒng):Windows 10 語言環(huán)境:Python 3.8.5 編譯器:colab在線編譯 深度學(xué)習(xí)環(huán)境:PyTorch 文件夾目錄結(jié)構(gòu): ??主目錄: paper_ data (創(chuàng)建個文件夾,將數(shù)據(jù)放到這里) Annotations (放置我們的.xm文件) images (放置圖

    2024年01月20日
    瀏覽(96)
  • yolov5-7.0訓(xùn)練自己的VOC數(shù)據(jù)集

    yolov5-7.0訓(xùn)練自己的VOC數(shù)據(jù)集

    這個筆記可能只適用于7.0版本的,寫這個筆記主要是給工作室伙伴參考的,大佬請繞行 有錯誤之處歡迎指出 yolov5的GitHub倉庫地址:Release v7.0 - YOLOv5 SOTA Realtime Instance Segmentation · ultralytics/yolov5 (github.com) 需要下載源碼和預(yù)訓(xùn)練模型 將源碼解壓,在其文件夾里面新建一個weights文

    2024年02月12日
    瀏覽(86)
  • YOLOv5如何訓(xùn)練自己的數(shù)據(jù)集(生活垃圾數(shù)據(jù)集為例)

    YOLOv5如何訓(xùn)練自己的數(shù)據(jù)集(生活垃圾數(shù)據(jù)集為例)

    本文主要介紹如何利用YOLOv5訓(xùn)練自己的數(shù)據(jù)集 以生活垃圾數(shù)據(jù)集為例子 生活垃圾數(shù)據(jù)集(YOLO版) 點擊這里直接下載本文生活垃圾數(shù)據(jù)集 生活垃圾數(shù)據(jù)集組成: YOLO數(shù)據(jù)有三個要點 images,存放圖片 labes,對應(yīng)Images圖片的標簽 data_txt, 劃分images圖片的數(shù)據(jù)集,形成三個txt 文件

    2024年02月07日
    瀏覽(91)
  • 通過AutoDL使用yolov5.7訓(xùn)練自己的數(shù)據(jù)集

    通過AutoDL使用yolov5.7訓(xùn)練自己的數(shù)據(jù)集

    AutoDL 選擇基礎(chǔ)鏡像 創(chuàng)建之后 點擊 開機 ,也可在更多里面選擇無卡模式開機(此模式不能訓(xùn)練,但是可以上傳文件且更便宜)。開機之后,上傳代碼可通過xshell工具或者可以通過快捷工具JupyterLab。我兩種方法都來演示一遍。yolov5代碼 復(fù)制登錄指令 回車后會要求輸入密碼,

    2024年02月05日
    瀏覽(89)
  • AI學(xué)習(xí)筆記四:yolov5訓(xùn)練自己的數(shù)據(jù)集

    AI學(xué)習(xí)筆記四:yolov5訓(xùn)練自己的數(shù)據(jù)集

    若該文為原創(chuàng)文章,轉(zhuǎn)載請注明原文出處。 一般情況下,大部分人的電腦都是沒有cpu的,cpu也是可以訓(xùn)練的,但花費的時間太長,實際200張圖片,使用CPU訓(xùn)練300輪花了3天,本章記錄使用云服務(wù)器來訓(xùn)練自己的數(shù)據(jù)集。 使用的云服務(wù)器是AutoDL,一直在使用,性價比還是比較高的

    2024年02月15日
    瀏覽(76)
  • 小白YOLOv5全流程-訓(xùn)練+實現(xiàn)數(shù)字識別

    小白YOLOv5全流程-訓(xùn)練+實現(xiàn)數(shù)字識別

    目錄 一、配置 二、準備相關(guān)文件進行訓(xùn)練 三、使用labelImg標注圖片 1.安裝labellmg 2.使用?labellmg 四.劃分數(shù)據(jù)集以及配置文件的修改 1.在VOCData目錄下創(chuàng)建程序?split_train_val.py?并運行 ?2.將xml格式轉(zhuǎn)為yolo_txt格式 3.配置文件 ?五、聚類獲得先驗框 1.生成anchors文件 ?2.修改模型配置

    2024年02月21日
    瀏覽(20)
  • YOLOv5訓(xùn)練自己的數(shù)據(jù)集(含數(shù)據(jù)采集、數(shù)據(jù)標注、數(shù)據(jù)預(yù)處理、借助colab訓(xùn)練)

    YOLOv5訓(xùn)練自己的數(shù)據(jù)集(含數(shù)據(jù)采集、數(shù)據(jù)標注、數(shù)據(jù)預(yù)處理、借助colab訓(xùn)練)

    YOLOv5 github:GitHub - ultralytics/yolov5: YOLOv5 ?? in PyTorch ONNX CoreML TFLite 先從github下載源碼到本地,用pycharm打開工程 ? 本次采集數(shù)據(jù)采用的方式是錄取視頻,然后用python截取視頻幀當做圖片,這是處理代碼: ? 可以使用labelimg工具、make sense(Make Sense)在線標注,注意數(shù)據(jù)集需要與

    2024年02月05日
    瀏覽(97)
  • Yolov5 + Deepsort 重新訓(xùn)練自己的數(shù)據(jù)(保姆級超詳細)

    Yolov5 + Deepsort 重新訓(xùn)練自己的數(shù)據(jù)(保姆級超詳細)

    從下面github庫中拿代碼: https://github.com/mikel-brostrom/Yolov5_DeepSort_Pytorch https://github.com/mikel-brostrom/Yolov5_DeepSort_Pytorch GitHub - Sharpiless/Yolov5-Deepsort: 最新版本yolov5+deepsort目標檢測和追蹤,能夠顯示目標類別,支持5.0版本可訓(xùn)練自己數(shù)據(jù)集 最新版本yolov5+deepsort目標檢測和追蹤,能夠

    2024年01月19日
    瀏覽(93)
  • 【Yolov5+Deepsort】訓(xùn)練自己的數(shù)據(jù)集(1)| 目標檢測&追蹤 | 軌跡繪制

    【Yolov5+Deepsort】訓(xùn)練自己的數(shù)據(jù)集(1)| 目標檢測&追蹤 | 軌跡繪制

    ??前言: 本篇是關(guān)于 如何使用YoloV5+Deepsort訓(xùn)練自己的數(shù)據(jù)集 ,從而實現(xiàn)目標檢測與目標追蹤,并繪制出物體的運動軌跡。本章講解的為第一個內(nèi)容:簡單介紹YoloV5+Deepsort中所用到的 目標檢測,追蹤及sortDeppsort算法。 本文中用到的數(shù)據(jù)集均為自采,實驗動物為斑馬魚。 文尾

    2024年02月14日
    瀏覽(99)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包