YOLO目標(biāo)檢測簡單實現(xiàn)

安裝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")
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容