本人硕士的研究方向是目标检测,采用模型是yolov8,数据集是VisDrone2019,适用于小目标航拍图像检测。结合了官方使用文档和b站岩学长的视频讲解,教了如何更改模型,添加新模块到yolov8中,以及如何修改yaml配置文件。于是自己总结了 yolov8的训练仓库,后期大家可以随意添加不同的改进yaml配置文件进行模型的训练,觉得好的话可以点个star~
安装
首先就是,当git clone 命令克隆本仓库到自己的本地电脑上
git clone git@github.com:chaizwj/yolov8-tricks.git
然后使用pip命令在一个Python>=3.8环境中安装ultralytics
包,此环境还需包含PyTorch>=1.8。这也会安装所有必要的依赖项。
pip install ultralytics
然后还要先要执行以下命令,根据 requirements.txt文件中需要的第三方库进行安装
pip install -r requirements.txt
使用
在根目录下找到mytrain.py文件,运行下面这行代码
from ultralytics import YOLO
# 加载 yolov8 模型,根据yaml配置文件。每次改进 yolov8 模型,这里更换对应 配置 yaml 就行
model = YOLO('ultralytics/cfg/models/v8/yolov8-biformer.yaml')
# 选择预训练权重,这里默认导入了 yolov8s.pt 和 yolov8n.pt
model = YOLO('yolov8s.pt')
# 训练 yolov8 模型
results = model.train(data='VisDrone.yaml')
如果你想要使用其他版本的 预训练权重,可以去预训练权重中下载。
在根目录下找到mypredict.py文件,运行下面这行代码
from ultralytics import YOLO
# 加载 yolov8 模型,根据yaml配置文件。每次改进 yolov8 模型,这里更换对应 配置 yaml 就行
model = YOLO('ultralytics/cfg/models/v8/yolov8-biformer.yaml')
# 选择预训练权重,这里默认导入了 yolov8s.pt 和 yolov8n.pt
model = YOLO('yolov8s.pt')
# 训练 yolov8 模型
results = model.train(data='VisDrone.yaml')
数据集已经提前下载好了,在datasets文件夹下有一个VisDrone,里面划分了训练集,测试集,还有验证集
在 Hot-Pic文件夹下的hotPic.py代码文件中,可以根据自己的喜好,选择一种生成方式,有 GradCAM, XGradCAM, EigenCAM, HiResCAM 等方式。下面是生成的热力图,仅供参考
在 Experiment-Pic文件夹下有两个py代码文件,可以根据自己的喜好,选择一种生成方式。下面是生成的结果图,仅供参考