YOLOv8 是來自 Ultralytics 的最新的基于 YOLO 的對象檢測模型系列,提供最先進的性能。 利用以前的 YOLO 版本,YOLOv8 模型更快、更準(zhǔn)確,同時為訓(xùn)練模型提供統(tǒng)一框架,以執(zhí)行物體檢測掖桦、實例分割冕香、圖像分類等。
YOLOv8官網(wǎng)地址:https://docs.ultralytics.com/
一镣奋、安裝
1.安裝python币呵,需要安裝python3.10以上版本。
2.運行pip install ultralytics
3.卸載由于第二步直接安裝的組件pip3 uninstall torch torchvision torchaudio侨颈,如果沒有顯卡余赢,或是就想用cpu訓(xùn)練,可以跳過第三步與第四步
4.根據(jù)自己顯卡的版本安裝對應(yīng)的pytorch
由于提示運行下圖內(nèi)容哈垢,因此執(zhí)行
pip3 install torch torchvision torchaudio --index-url
https://download.pytorch.org/whl/cu121
二妻柒、訓(xùn)練
先去下載labelimg用于給圖片打標(biāo)簽,下載地址:
通過圖形化的labelimg這個工具給圖片打標(biāo)簽温赔。
其中蛤奢,一個成熟的圖片數(shù)據(jù)集至少要1萬張圖片鬼癣,常規(guī)需要100萬張才能訓(xùn)練出一個模型,因此給圖片打標(biāo)簽是訓(xùn)練AI中工作量最大的工作啤贩。
創(chuàng)建一個文件夾待秃,目錄結(jié)構(gòu)如下圖:
train與valid的文件夾結(jié)構(gòu)均為
其中l(wèi)abels就是通過labalimgs工具生成的打標(biāo)數(shù)據(jù)。
data.yaml的內(nèi)容如下:
train: train/images
val: valid/images
nc: 1
names: ['smoke']
分別指的是訓(xùn)練集和驗證集痹屹,正式訓(xùn)練章郁,運行如下命令
yolo train model=yolov8n.yaml data='D:\smoke\data.yaml' epochs=100 device=0
其中,epochs是指訓(xùn)練多少次志衍,device=0是說使用顯卡(能大大提升訓(xùn)練速度)暖庄。
根據(jù)實測一個1.5萬圖片的模型,I7 4790 cpu訓(xùn)練一次要10小時楼肪,I9-13900k cpu訓(xùn)練一次要40分鐘培廓,而RTX4090的顯卡訓(xùn)練一次只需要2分鐘。
訓(xùn)練完成后春叫,yolo會自動保留最好的訓(xùn)練結(jié)果肩钠,保存路徑為runs\detect\train\weights\best.pt
三、測試
運行如下命令
yolo predict model=runs\detect\train\weights\best.pt source=D:\smoke\train\images\H_00982_png.rf.cd83cf9394fc63ee2d179a9d14cfcb8b.jpg
生成的結(jié)果會出現(xiàn)在runs\detect\predict中暂殖。