安裝labelImg
我們標(biāo)注樣本需要使用這個軟件,我這里在anaconda中直接用下面代碼進(jìn)行安裝和啟動。
pip install labelImg #安裝
labelImg # 啟動
標(biāo)注樣本
首先我們看下界面,Open我們打開一張照片,Open Dir選你放所有圖片的文件夾,Change Save Dir選擇標(biāo)記結(jié)果的文件夾。

接著我們勾選自動保存和YOLO模型,這樣標(biāo)注結(jié)果就能用yolo模型訓(xùn)練了。


最后通過Create RectBox畫框標(biāo)注就行了,可以看看生成的txt,類別和坐標(biāo)。

配置環(huán)境和數(shù)據(jù)
我們通過下面代碼安裝和進(jìn)行驗證。
pip install ultralytics
pip install opencv-python pillow
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg #測試
要訓(xùn)練的數(shù)據(jù)結(jié)構(gòu)如下

我這里在網(wǎng)上下了一些多啦A夢和哆啦美的照片。

配置文件data.yaml
path: datasets # 數(shù)據(jù)集根目錄
train: images/train # 訓(xùn)練圖片路徑
val: images/val # 驗證圖片路徑
# 類別數(shù)
nc: 2
# 類別名稱(必須和標(biāo)注一致)
names:
0: a
1: b
訓(xùn)練和測試
from ultralytics import YOLO
# 加載預(yù)訓(xùn)練模型
model = YOLO('yolov8s.pt')
# 開始訓(xùn)練(CPU版)
model.train(
data='datasets/data.yaml',
epochs=100,
imgsz=640,
batch=8, # CPU 可以保持 8,不報錯就行
patience=20,
device='cpu', # ?? 這里改成 cpu 就可以了
name='ir_animal_model' #保持模型
)
最終模型保存在:runs/detect/ir_animal_model/weights/best.pt
我在找一張照片進(jìn)行測試,使用下面代碼。
from ultralytics import YOLO
import cv2
# 加載模型
model = YOLO('runs/detect/ir_animal_model/weights/best.pt')
# 預(yù)測
img_path = 'test.jpg'
results = model(img_path)
annotated = results[0].plot()
cv2.imwrite('result.jpg', annotated) # 保存到當(dāng)前文件夾
print("檢測完成!結(jié)果已保存為:result.jpg")
