日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 目标检测 >内容正文

目标检测

目标检测第6步:YOLOv5(5.0)如何在Colab中训练自定义数据集?(更新时间:2022.3.22)

發布時間:2025/3/8 目标检测 83 豆豆
生活随笔 收集整理的這篇文章主要介紹了 目标检测第6步:YOLOv5(5.0)如何在Colab中训练自定义数据集?(更新时间:2022.3.22) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(請先看這篇文章:本博打開方式!!!請詳讀!!!請詳讀!!!請詳讀!!!_Cat-CSDN博客)? ? ? ?

如果看完這篇博文,你的問題還是沒有解決,那么請關注我的公眾號,后臺發消息給我吧,當天回復!

目錄

一、收集數據

二、人工標記

1、下載labelimg

2、進行預訓練

A、打開界面,滑動到如下圖所示位置

B、滑動鼠標滾輪,找到如下位置

C、按照原來訓練的命令執行,將coco128數據集下載到本地,觀察目錄結構。

3、labelimg軟件基本操作

A、打開Labelimg軟件

B、點擊“Open Dir”按鈕

C、點擊“Change Save Dir”

D、選擇標簽的類型為YOLO

E、使用默認標簽

F、將輸入法切換到英文,“w”代表寫標簽,“d”代表下一張

G、備份整個數據集?

三、訓練

1、確認照片的數量和標記之后生成的txt文件數量一致

2、構造yaml文件

3、最后確認目錄結構

4、正式訓練(谷歌的Colab,需要科學上網)

A、打包數據集

B、上傳壓縮包

C、在Colab中安裝YOLOv5

D、探索數據集文件夾和YOLOv5的目錄關系

E、將壓縮包移動到筆記本內

F、上傳yaml文件或者修改yaml文件

四、正式開始訓練


???????本文僅是介紹訓練自定義數據集的通用方法,重在類比。其中的文件目錄結構、文件名稱等在熟悉本方法后,可自行修改(通過修改配置文件的路徑),以理解為主。

一、收集數據

????????要想訓練自己的數據集,第一步要做的事情就是拍照,將圖片上傳到電腦,構造自己的數據集。圖片可以來源于現實生活,也可以來源于網絡,只要圖片中有你想要的內容,就可以將此圖片作為數據集中的“一員”。值得注意的是,圖片的分辨率不易太大,否則在訓練時,對GPU要求較高。本文接下來的操作流程是按照實際的成功操作流程進行敘述的,請放心參考。

二、人工標記

????????我們需要下載labelimg工具對數據集中的每一張圖片進行標記,也即貼標簽。

1、下載labelimg

下載的鏈接為:GitHub - tzutalin/labelImg: 🖍? LabelImg is a graphical image annotation tool and label object bounding boxes in images

無法下載labelimg軟件的同學,歡迎關注我的微信公眾號,后臺留言,一天之內必定回復。

2、進行預訓練

????????預訓練的目的是了解YOLOv5數據集的目錄結構,并不是需要將官方的訓練集完全訓練一次。請各位同學,根據文字內容及截圖示意進行操作。

A、打開界面,滑動到如下圖所示位置

不知道怎么打開的,請看我上一篇文章:目標檢測第5步:如何在Windows 10系統下,搭建YOLOv5(5.0)環境?保姆級,沒有人比這個更詳細了(更新時間2022.3.22)_liO_Oil的博客-CSDN博客_yolov5環境搭建win10

B、滑動鼠標滾輪,找到如下位置

C、按照原來訓練的命令執行,將coco128數據集下載到本地,觀察目錄結構。

通過下載、解壓、觀察后發現,他的目錄結構是這樣的:

?????????其中images和labels分別存放的是官方數據集中的圖片和對應label的txt文檔,LICENSE和README是許可文件和相關信息,都得保存下來,不可刪除。接下來我們剖析這個文件的目錄,我們先看images的目錄結構:

?再看labels的目錄結構:

???????最后兩幅圖中的txt文件,即為官方數據集中記錄圖片中標記位置的坐標。里面存儲了矩形框的坐標(左上和右下),這是已經標記好的,我們不用標記了,如果時間不是很緊迫,那就可以先訓練一下試試,測試一下電腦性能。如果時間緊迫,那么就接著參考本文,盡快訓練數據集。?

???????通過這個目錄結構,想必你也知道了數據集構造需要哪些文件了吧。沒錯,一級目錄中顯示的四個文件,缺一不可,詳情見下圖。

???????各位同學可以邊閱讀此篇文章,邊根據目錄結構準備相應的文件。可以先創建一個文件夾叫coco128,隨后在這個文件夾里創建images和labels,2個文件夾。將上述截圖中紅色框內的2個文件拷貝到自己創建的coco128文件夾內,再按照上述介紹的文件目錄把已經收集好的照片拷貝到對應的文件夾里。接下來,就可使用labelimg軟件貼標簽了!所以,接下來有關labelimg的操作務必非常重視。此步結束時,你的數據集目錄應該是這樣的:?

3、labelimg軟件基本操作

????????首先,需要了解軟件的設定和操作,避免做無用功,同時提高效率。我曾經有1000多張圖片的數據集,就因為軟件操作不當,重新標記了2-3回(當然也是因為樣本的擴充,需要重新標定)。在打開軟件前,首先要做的就是更改預存標簽。操作如下圖所示:?

這個文件中的標簽是有順序的,一旦確定之后就不要所以更改,避免做無用功。隨后,就可以打開軟件了,鼠標雙擊labelimg.exe

A、打開Labelimg軟件

點擊“View”按鈕,選擇“Auto Save mode”,操作如下圖所示,一定得確保Auto Save mode前面有對勾

B、點擊“Open Dir”按鈕

打開你的數據集照片存放的最終位置(最深層目錄),目錄、操作如下圖所示:?

C、點擊“Change Save Dir”

在更改標簽(就是txt文件)的存儲位置之前,你可以在labels文件夾里創建一個train2017文件夾,用來存放標簽對應的txt文件。目錄結構是這樣的:?

?然后,點擊“Change Save Dir”按鈕,選擇到剛才創建的文件夾。

D、選擇標簽的類型為YOLO

?????????否則,貼完標簽后,將會不是txt文件格式。這一點很重要,我貼了200多張,最后發現,不是YOLO,欲哭無淚。也有相關的代碼可以將VOC格式的數據轉換為YOLO,大家可以從別處了解一下。

???????截止到目前為止,軟件操作界面的上側、左側都已設置完畢。像放大、縮小圖片等操作,我這里就不介紹了,放大圖片貼標簽貼的更準確一點,建議大家耐心一點操作,會收到意想不到的效果。最好每次進入labelimg軟件時,都檢查一下,防止出錯。接下來是右側。? ? ??

E、使用默認標簽

F、將輸入法切換到英文,“w”代表寫標簽,“d”代表下一張

????????操作完E后,請將光標放置于圖片上,并敲擊幾下。防止接下來的“W”字母出現在標簽上。(這都是貼標簽掉進的坑,希望大家注意

? ? ? ? 敲擊鍵盤w,將會出現兩條互相垂直的長實線,這個就是貼標簽的工具了。

?

因為在軟件開始時,已經設置了自動保存模式。所以,直接叩擊鍵盤d,跳到下一張圖片。?

此時,我們再跳到數據集中,查看有什么變化。發現,照片文件夾中沒什么變化。但是標簽文件夾中出現了一些內容:

????????其中,classes.txt文件要保存好,別小看這個文件,這個文件疏忽了,能讓你的標記全白費,所以建議各位,先標記個1-10張圖片,試驗一下,訓練程序能否進行。程序沒錯誤,就進行標記。有錯誤,再回頭看看本文的流程。一定得注意,打完第1-3個標簽,就得打開這個文件夾進行分類名稱和序號的確定。如果要改變classes.txt文件里的標簽順序,那么就得將改變順序之前的所有圖片,重新標記,否則也會出現問題。

G、備份整個數據集?

???????因為剛才建議大家標記上1-10個圖片,就先進行一下訓練,而訓練是的文件夾中不能包含classes.txt文件,所以這里,請大家再次備份一下整個coco128文件夾(包含里面的子文件),防止數據丟失或便于數據集的擴充,無論哪種情況,都不用重新再標記了。??????????

三、訓練

????????無論是你標記了10個圖片之后的小試牛刀還是全部標記之后的最終一戰,你都得在訓練前檢測以下內容:

1、確認照片的數量和標記之后生成的txt文件數量一致

????????即:coco128\images\train2017目錄下的圖片數量和coco128\labels\train2017目下的txt文件數量一致(確保classes.txt文件已被移除)。補充說明如下圖所示:

2、構造yaml文件

????????通過查看訓練命令行,我們知道要想訓練,就得有對應的yaml文件。

?首先打開官方的yaml查看一下:

?

?對其中紅框中的內容進行修改后,得到下圖:

?這里需要注意,貌似新的coco128.yaml文件是以下樣子(多出了“path”,就是下圖中第一個紅框內容,需要按照圖片中的內容來修改相對路徑):

???????無論是哪一個,程序在運行時,能找到對應的文件就可以。(如果你選擇colab訓練,可以直接修改對應目錄下的coco128.yaml文件,至于詳細的方法,下文有介紹到,別著急

3、最后確認目錄結構

4、正式訓練(谷歌的Colab,需要科學上網)

?????????這里選用Colab的目的在于:訓練速度快,能迅速知道自己的數據集能否正常訓練。選擇了Colab,就倆字“很香”。一旦colab運行成功了,想在本地訓練的再進行本地訓練(畢竟本地訓練更穩妥一些,畢竟不會涉及到網絡資源被收回的風險,至于本地如何訓練自定義數據集,下一篇文章將會介紹)。Colab一旦檢測到筆記本(本文提到的所有的筆記本都是在Colab中創建的,不是指你們面前的“筆記本電腦”)頁面長時間沒有活動,就會斷開,網絡資源被收回,里面的什么東西都沒有了。

A、打包數據集

????????將自己創建好的coco128文件整體打包成rar格式,打包是因為上傳方便,同時解壓后能保存目錄結構。

B、上傳壓縮包

????????因為從Colab上傳文件時較慢(我個人情況是這樣的,你們可以試試,快的話直接上傳就好),所以,我先將coco128上傳到谷歌云盤,再轉移到筆記本目錄。具體操作見下圖:

?等待上傳完成即可。

?

C、在Colab中安裝YOLOv5

谷歌瀏覽器框輸入Colab,點擊搜索。

?

?點擊文件,上傳筆記本。

?只需將下面這個文件上傳即可:

?上傳完成后,將會跳轉界面。然后按下圖操作流程進行,下載Yolov5代碼。

?下載完成后,將會出現“Setup complete”等字樣。隨后在文件夾目錄也可以看到yolov5的文件。

?

?然后運行inference,檢測yolov5是否正常。

D、探索數據集文件夾和YOLOv5的目錄關系

????????我們知道了coco128文件夾內的目錄結構,但是還不知道coco128文件夾和YOLOv5文件夾的目錄關系(其實在第二章的2中,進行本地預訓練時,留心的同學已經知道解壓后的coco128文件夾和YOLOv5文件夾是并列的關系,但此處再羅嗦一下)所以,接下來直接滑動滾輪到Train條目下。操作如圖所示:

?

?????????下載完成后,我們刷新文件目錄發現,yolov5和coco128的文件目錄果真是并列的,此時便可大膽放心的將所有的文件搬進筆記本了。

E、將壓縮包移動到筆記本內

?詳細的操作用圖說話:

?

?

?

?復制后,返回到筆記本界面,將代碼粘貼到輸入框內,敲擊回車(多敲幾下,會有明顯的代碼繼續運行的反應):

?顯示以下信息表示鏈接成功:

?

?

?

F、上傳yaml文件或者修改yaml文件

???????接下來上傳coco128.yaml文件,但我們已經將整個yolov5的文件下載到了筆記本,不如直接在新下載的coco128.yaml文件里修改吧。在yolov5的data文件夾目錄下,可以找到coco128.yaml文件。

?

?雙擊該文件,如下圖所示,這個是已經修改過的了。

????????別忘記Ctrl + s保存。保存后,關閉coco128.yaml文件即可。最后,還得去改一項內容,就是對應權重的yaml文件。(我在訓練時引入了--cfg選項)

????????我將用yolov5s.pt訓練,那么就得修改yolov5s.yaml。下圖中的yolov5s.yaml文件是在models文件夾下,截圖中的紅色矩形框稍有偏差。

?

?????????截止到目前為止,我們訓練所需要的文件和數據集均已準備完畢,那么開始訓練,注意訓練的命令行有所更改。注意看截圖!!!

四、正式開始訓練

???????滑動滾輪,到熟悉的Train條目下。下圖將下載官方數據集的命令用#號注釋掉,根據我們壓縮包的類型,我們輸入如下命令進行解壓。(推薦用Winrar打包,其他的如7-zip解壓縮工具,Colab不支持

!unrar x ../coco128.rar ../

?

???????接下來,看圖操作。下圖中的前2個紅色框后面標記了Optional,意思是待選框,可以不選。為了方便,這里就直接忽略,把目標放在最終的訓練命令行。

圖中的1,2,3,4的含義:

????????1處的Batch:Batch大小是一個超參數,用于定義在更新內部模型參數之前要處理的樣本數。這里設置的數量最好是內存的2的n次方,不可過大。

????????2處的Epochs:Epoch數是一個超參數,它定義了學習算法在整個訓練數據集中的工作次數。你可以慢慢提升次數,從100開始即可(我本次演示訓練時也是100起步

????????3處的yolov5s.yaml可以更換成其他3個權重對應的yaml文件,但要記住修改訓練的類的數量

????????4處的權重文件可以改成其他的權重文件。似乎得和3處的yaml文件一致。

接下來,就開始訓練了:

!python train.py --img 640 --batch 16 --epochs 30 --data coco128.yaml --cfg yolov5s.yaml --weights weights/yolov5s.pt --nosave --cache

出現下圖所示的顯示信息時,表明你已經成功運行訓練程序了!默默等待訓練完成即可。?

???????YOLOv5本地訓練時會輸出一個last.pt文件,以及一個best.pt文件,但是Colab上訓練,似乎只有批次參數設置合適的時候才會出現best.pt。最后將pt文件下載,放到本地的YOLOv5的weights文件夾里,就可以識別你想識別的物體了。?

總結

以上是生活随笔為你收集整理的目标检测第6步:YOLOv5(5.0)如何在Colab中训练自定义数据集?(更新时间:2022.3.22)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 反差在线观看免费版全集完整版 | 日韩视频免费观看高清完整版在线观看 | 极品白嫩丰满少妇无套 | 国内av免费 | 亚洲理论中文字幕 | 天堂网一区二区 | 欧美亚洲日本国产 | 日韩国产在线播放 | 久草久草 | 老司机深夜福利在线观看 | 91麻豆国产| 视频免费1区二区三区 | 久久av红桃一区二区小说 | 久久久久亚洲av无码专区首jn | 国产精品无 | 欧美日韩国产精品一区二区 | 深夜福利免费在线观看 | 国产精品videossex国产高清 | 午夜精品久久久久久毛片 | 久久99久久精品 | 成人国产精品 | 国产成人精品久久久 | 伊人免费在线观看 | 91成人高清| 国内精品福利视频 | 国产一区二区久久 | 欧美高清一区二区三区四区 | 少妇一夜三次一区二区 | 就要爱爱tv| 亚洲第一色图 | 久久久久久久久久久久Av | 中文无码精品一区二区三区 | 日本二区在线观看 | 精品久久久久久久久久久久久久久久久 | 秋霞一级全黄大片 | 韩国av一区二区三区 | 国产福利视频在线 | 视频免费观看在线 | 97精品| 成人女同av免费观看 | 日本公妇乱淫免费视频一区三区 | 婷婷激情影院 | 日韩视频精品 | 国产精品国产三级国产播12软件 | 久久dvd | 精品无码久久久久久国产 | www.av在线 | 日韩第六页 | 国产理论视频在线观看 | 91视频在线免费看 | 国产69精品久久久久久久久久 | 91网在线播放 | 国产首页 | 中年夫妇啪啪高潮 | 欧美午夜免费 | 欧美巨乳美女 | 无码播放一区二区三区 | 神马国产| 精品人妻无码一区二区三区换脸 | 国产乱来| 国产成人短视频 | 日韩成人在线视频观看 | 日本中文字幕观看 | 国产婷婷在线视频 | 男生操女生逼逼 | 国产wwwwwww | 国产一区二区三区在线免费 | 一区久久 | 亚洲黄色在线播放 | 大香蕉视频一区二区 | 国产精品久久久久久久久久久不卡 | 香蕉久久网站 | 色老头免费视频 | 日日噜噜噜噜人人爽亚洲精品 | 国产码视频 | 日韩在线不卡一区 | 二三区视频 | 国产男女猛烈无遮挡免费视频 | 中文字幕在线观看线人 | av二区在线 | 夜夜操网址 | 激情五月综合色婷婷一区二区 | 精品久久久久久一区二区里番 | а天堂中文在线官网 | 国产无套精品一区二区 | 成人毛片在线观看 | 97超视频| 国产玖玖视频 | 中文字幕丰满人伦在线 | 欧美日韩不卡合集视频 | 欧美三级影院 | 亚洲美女综合网 | 久久影院一区二区 | 5566色 | 天堂av网站| 91最新视频 | 锕锕锕锕锕锕锕锕 | 中文亚洲av片不卡在线观看 | 在线观看av中文字幕 |