牛羊檢測數據集 3700張 平視視角牛羊檢測 帶標注 voc yolo
牛羊檢測數據集 3700張 牛羊檢測平視 帶標注 voc yolo
分類名: (圖片張數,標注個數)
cattle:
(1395,4309)
sheep:
(2393,1 1205)
總數:
(3791, 15514)
總類(nc):
2類
以下是詳細的步驟和完整的代碼示例:
完整訓練腳本
1. 安裝依賴
首先確保你已經安裝了必要的庫,特別是ultralytics
庫,它是YOLOv8的核心庫。
pip install ultralytics
2. 準備數據集
假設你的數據集格式符合YOLO的要求,即圖像文件夾和對應的標注文件夾。數據集結構應如下所示:
datasets/
├── images/
│ ├── train/
│ │ ├── img1.jpg
│ │ ├── img2.jpg
│ │ └── ...
│ └── val/
│ ├── img1.jpg
│ ├── img2.jpg
│ └── ...
└── labels/├── train/│ ├── img1.txt│ ├── img2.txt│ └── ...└── val/├── img1.txt├── img2.txt└── ...
每個.txt
文件對應一張圖片,內容格式為:
<class_id> <x_center> <y_center> <width> <height>
其中,坐標值都是歸一化的(范圍在0到1之間)。
3. 配置YOLOv8
創建一個YAML文件來配置數據集路徑和類別信息。例如,創建一個名為cattle_sheep.yaml
的文件:
train: ../datasets/images/train
val: ../datasets/images/valnc: 2
names: ['cattle', 'sheep']
4. 訓練模型
編寫訓練腳本,使用YOLOv8進行訓練。以下是完整的訓練腳本:
[<title="Cattle and Sheep Detection using YOLOv8">]
from ultralytics import YOLO# Load a pre-trained YOLOv8n model
model = YOLO('yolov8n.pt')# Train the model on your dataset
results = model.train(data='cattle_sheep.yaml',epochs=50,imgsz=640,batch=8,workers=4,device='0' # Use GPU if available
)# Evaluate the model performance on the validation set
metrics = model.val()# Export the trained model to ONNX format for deployment
success = model.export(format='onnx')
解釋
- 加載預訓練模型:我們從預訓練的YOLOv8n模型開始。
- 訓練模型:使用
train
方法進行訓練。參數包括數據集配置文件路徑、訓練輪數、圖像大小、批量大小、工作線程數和設備。 - 評估模型:使用
val
方法對模型進行評估。 - 導出模型:將訓練好的模型導出為ONNX格式以便部署。
運行腳本
保存上述腳本到一個Python文件中,例如train_cattle_sheep.py
,然后運行該腳本:
python train_cattle_sheep.py
這樣,你就可以在一個連續的文檔中看到所有的步驟和代碼,并且可以直接復制和運行整個腳本。