1.yolov8训练检测模型
这部分就不赘述了,用命令快速训练,然后进行追踪。
1.1.创建conda环境
conda create -n 环境名 python=3.9
conda create -n yololv8 python=3.11
其他常用conda命令:
# 克隆环境
conda create -n B --clone A (B代表新环境名,A原环境名)
# 升级python版本
conda install python=3.10.9
#移除conda环境
conda remove -n 环境名 --all
# 配置国内源下载
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/ && pip config set install.trusted-host mirrors.aliyun.com
1.2.下载代码和环境
pip install ultralytics
1.3.YOLOv8训练代码及解释
以下是提供的代码的解释:
yolo train data=./dataset_Attention/data.yaml model=yolov8s.pt epochs=100 device=0,1,2,3,4,5,6,7 imgsz=640 batch=256
- yolo: YOLOv8的命令行工具。
- train: 指定进行训练操作。
- data=./dataset_Attention/data.yaml: 指定包含数据集信息的YAML文件的路径,其中包括数据集的配置和类别信息。
- model=yolov8s.pt: 指定初始模型的路径或者使用预训练模型。
- epochs=100: 指定训练的轮数,这里设置为100轮。
- device=0,1,2,3,4,5,6,7: 指定使用的GPU设备编号。
- imgsz=640: 设置输入图像的大小为640x640像素。
- batch=256: 设置训练时的批处理大小为256。
2.使用yolov8自带追踪脚本进行追踪
Ultralytics YOLO 支持以下跟踪算法。通过传递相关的 YAML 配置文件(如
tracker=tracker_type.yaml
:
BoT-SORT - 使用 botsort.yaml 以启用此跟踪器。
字节跟踪 - 使用 bytetrack.yaml 以启用此跟踪器。
只需要修改model,source的位置就行。
model:训练好的检测模型;source需要追踪的图片或视频。
yolo track model='./runs/detect/train/weights/best.pt' source= './test/video.mp4' tracker="botsort.yaml" save=True
或者python代码
import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'True'
from ultralytics import YOLO
# Load a pretrained YOLOv8n model
model = YOLO('./runs/detect/train/weights/best.pt')
# Define path to the image file
source = './test/video.mp4'
reults = model.track(source , show= True, tracker="botsort.yaml",save=True)