上海網(wǎng)站建設(shè)-中國互聯(lián)免費模板
數(shù)據(jù)標注
前期準備
先打開Anaconda Navigator,點擊Environment,再點擊new(new是我下載anaconda的文件夾名稱),然后點擊創(chuàng)建
點擊綠色按鈕,并點擊Open Terminal
輸入labelimg便可打開它,labelimg是圖像標注工具,在上篇文章中有講到如何下載
標注工具的使用
找個空目錄新建一個文件夾,我這里名稱叫做yolotest,也可以設(shè)置其他名稱
在 yolotest 目錄下新建labels和images文件夾
在images文件夾新建test,train,val三個文件夾
在labesl下面新建train,val兩個文件夾
images文件夾下面的test,train,val三個文件夾,全部存放相同的要訓(xùn)練的圖片,例如train下面是 1.png,2.png,將這個兩個文件復(fù)制一份到val,再復(fù)制一份到test
labels下面的train,val兩個文件夾存放的是用labelimg標注的標簽數(shù)據(jù)文件,等會 labelimg 使用會用到這個文件夾
將準備好的圖片放到?images/train?文件夾下面并且復(fù)制一份到?images/val?和?images/test兩個文件夾
數(shù)據(jù)集獲取:https://storage.googleapis.com/openimages/web/visualizer/index.html?type=detection&set=train&c=%2Fm%2F05676x
來到labelimg界面,點擊?Open Dir?按鈕,選擇到你的?images/train?文件夾即可,例如 D:\YOLOv8\yolotest\images\train。點擊?Change Save Dir?按鈕,選擇到你的?labels/train?文件夾即可,例如 D:\YOLOv8\yolotest\labels\train。最后點擊Save?下面的格式按鈕,調(diào)整到?YOLO?格式的模式即可。
接下來開始標注數(shù)據(jù)
我選的例子是蘋果,首先在圖片上右鍵菜單,選擇?Create RectBox?選項,或者點擊左側(cè)的?Create RectBox
在蘋果圖片區(qū)域拉出選框,會彈出框,輸入分類名稱,這里填寫的是apple,點擊ok即可保存 ,這分類名稱注意后面函數(shù)調(diào)用要用到。
此時在使用時可能會出現(xiàn)如下錯誤
解決方法
找到canvas.py,例如:D:\anaconda\envs\yolotest\Lib\site-packages\libs\canvas.py,打開它將526、530、531行的float改為int即可。
修改前后
修改完成后就可以正常工作啦!!!
我們繼續(xù)接著上步,第一個圖片標注完成后,點擊左側(cè)的?Save?按鈕保存,然后點擊?Next Image?切換標注下一張圖片,操作和第一張圖片類似
圖標標注保存后,會在?labels/train?文件夾存儲了標注的數(shù)據(jù),classes.txt內(nèi)容就是分類名稱,其他的是和圖片相同的名稱的txt標注文件
最后,將?labels/train?文件夾數(shù)據(jù)復(fù)制到?labels/val?文件夾,等會驗證模型的時候使用
至此,數(shù)據(jù)標注就完成啦!
模型訓(xùn)練
在?yolotest?文件下新建一個訓(xùn)練的配置文件,例如文件名稱叫?apple.yaml,使用記事本打開,填寫內(nèi)容如下
path: D:/YOLOv8/yolotest
train: images/train
val: images/val
test: images/test
nc: 1
names: ["apple"]# 有多個類別的話,按照以下方法寫
# names: ["111","222"]
- 參數(shù)解釋
?path: 代表訓(xùn)練的根目錄,這里的 yolotest在D盤,就寫 D:/YOLOv8/yolotest,其他盤的路徑自己修改
train: 代表要訓(xùn)練的圖片文件夾,相對于path路徑
val: 代表要驗證的圖片文件夾,相對于path路徑
test: 代表要測試的圖片文件夾,相對于path路徑
nc: 代表分類名稱數(shù)量,這是1個,因為使用labelimg標注的是1個類別,如果是多個數(shù)據(jù)就跟和實際類別數(shù)量一樣的即可
names: 是一個json數(shù)組,代表的是標注的分類名稱,labelimg使用的是apple這一個分類名稱,這里就這樣寫即可
切記如果有多個分類名稱的話名稱的順序不要寫錯,會影響訓(xùn)練結(jié)果
開始訓(xùn)練
在控制臺輸入命令,在cmd窗口,輸入d:
回車,在輸入?cd YOLOv8/yolotest
,進入這個文件夾?yolotest
,其他路徑自行進入
輸入以下訓(xùn)練命令,下面兩個任選一個,截圖參數(shù)看ultralytics官網(wǎng)
yolo detect train data=d:/YOLOv8/yolotest/apple.yaml model=d:/YOLOv8/yolotest/yolov8s.pt imgsz=640
yolo detect train data=d:/YOLOv8/yolotest/apple.yaml model=d:/YOLOv8/yolotest/yolov8s.pt epochs=100 imgsz=640
這個時候系統(tǒng)會下載yolov8s.pt的基礎(chǔ)訓(xùn)練文件
環(huán)境配置成功,一切無誤,開始訓(xùn)練
訓(xùn)練完畢,注意這里的?Results saved后面的路徑是動態(tài)的,截圖中是在?runs/detect/train文件夾下,就是D:/YOLOv8/yolotest文件夾下
最后,在訓(xùn)練完成的目錄中可以找到?best.pt
?的訓(xùn)練模型以及訓(xùn)練中被標記和選中目標的圖片結(jié)果集