/yolov8-tricks

目标检测,采用yolov8作为基准模型,数据集采用VisDrone2019,带有自己的改进策略

Primary LanguagePython

⭐简介

本人硕士的研究方向是目标检测,采用模型是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 等方式。下面是生成的热力图,仅供参考

image

image

自定义的实验结果图

在 Experiment-Pic文件夹下有两个py代码文件,可以根据自己的喜好,选择一种生成方式。下面是生成的结果图,仅供参考

image image

⭐持续更新中...