yolov5目标检测具备一定的小目标检测能力,但由于参与训练的coco数据集缺少小目标素材,故检测小目标有局限。本文利用无人机采集的小目标数据集,对yolov5权重文件进行再训练,提高小目标检测能力。本文仅记录跑通训练的过程,得到一些启示,没有尝试训练整个数据集。

visDrone数据集训练前后的对比

使用visDrone无人机小目标数据集训练yolov5检测器比较

上图用未训练的yolov5s.pt,下图用经过训练的best.pt权重。

可以看出两种检测的区别,其中visDrone训练图片用了其中69张,epoch=100,简单训练已初见成效。而且并没有改变原来的yolov5s模型结构。此测试图来自评估集val。

组织转换visDrone数据集

利用yolov5训练程序,采用visDrone训练集的过程如下:
下载visDrone训练集:https://github.com/VisDrone/VisDrone-Dataset。其中有百度网盘和google drive两种选择,在百度网盘限速时,google drive的下载速度明显快。
新版yolov5提供了visDrone数据集转yolov5训练数据集的格式变换,见yolov5/data/VisDrone.yaml。将该文件中附带的数据集的处理部分取出,新建visdrone2yolov5.py。

from utils.general import download, os, Path
def visdrone2yolo(dir):from PIL import Imagefrom tqdm import tqdmdef convert_box(size, box):# Convert VisDrone box to YOLO xywh boxdw = 1. / size[0]dh = 1. / size[1]return (box[0] + box[2] / 2) * dw, (box[1] + box[3] / 2) * dh, box[2] * dw, box[3] * dh(dir / 'labels').mkdir(parents=True, exist_ok=True)  # make labels directorypbar = tqdm((dir / 'annotations').glob('*.txt'), desc=f'Converting {dir}')for f in pbar:img_size = Image.open((dir / 'images' / f.name).with_suffix('.jpg')).sizelines = []with open(f, 'r') as file:  # read annotation.txtfor row in [x.split(',') for x in file.read().strip().splitlines()]:if row[4] == '0':  # VisDrone 'ignored regions' class 0continuecls = int(row[5]) - 1  # 类别号-1box = convert_box(img_size, tuple(map(int, row[:4])))lines.append(f"{cls} {' '.join(f'{x:.6f}' for x in box)}\n")with open(str(f).replace(os.sep + 'annotations' + os.sep, os.sep + 'labels' + os.sep), 'w') as fl:fl.writelines(lines)  # write label.txt
dir = Path('~/project_name/datasets/VisDrone2019')  # datasets文件夹下Visdrone2019文件夹目录
# Convert
for d in 'VisDrone2019-DET-train', 'VisDrone2019-DET-val', 'VisDrone2019-DET-test-dev':visdrone2yolo(dir / d)  # convert VisDrone annotations to YOLO labels

如此,用visdrone2yolov5.py产生符合yolov5训练数据格式的labels。VisDrone原数据集中,VisDrone2019-DET-train目录下有两个目录:annotations和images,运行visdrone2yolov5.py后,产生labels目录。在yolov5训练中,仅使用-train和-val目录下的images和labels。
准备好的数据集结构如下,注意datasets目录与yolov5目录同级。

构造数据集配置文件,可从VisDrone.yaml修改而得。

# YOLOv5 												

使用visDrone数据集训练yolov5检测器相关推荐

  1. BDD100k数据集训练YOLOv5

    BDD100k数据集标注转YOLO格式: # -*- coding: utf-8 -*- # @Author: lay # @Time: 2022/3/30 上午12:03""&q ...

  2. 用自制数据集训练yolov5步骤

    一.环境安装          yolov5下载地址:https://github.com/ultralytics/yolov5.解压后点进去,按Shift+右键在该目录启动powershell窗口, ...

  3. 在自定义的数据集上训练YOLOv5详细教程分享

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 YOLO系列的目标检测模型随着YOLOv5的引入变得越来越强大了. ...

  4. 如何在自定义的数据集上训练YOLOv5

    YOLO系列的目标检测模型随着YOLOv5的引入变得越来越强大了.在这篇文章中,我们将介绍如何训练YOLOv5为你识别自己定制的对象. 本文我们使用公共血细胞检测数据集,你可以自己导出,也可以在自己自 ...

  5. YOLOv5实现佩戴安全帽检测和识别(含佩戴安全帽数据集+训练代码)

    YOLOv5实现佩戴安全帽检测和识别(含佩戴安全帽数据集+训练代码) 目录 YOLOv5实现佩戴安全帽检测和识别(含佩戴安全帽数据集+训练代码) 1. 前言 2. 佩戴安全帽检测和识别的方法 (1)基 ...

  6. YOLOv5自定义数据集训练

    YOLOv5自定义数据集训练 简介 本文介绍如何在自己的VOC格式数据集上训练YOLO5目标检测模型. VOC数据集格式 首先,先来了解一下Pascal VOC数据集的格式,该数据集油5个部分组成,文 ...

  7. 目标检测第8步:如何在Windows10系统下,训练YOLOv5 5.0自定义数据集?(本地)

    请先看这篇文章:                        本博打开方式!!!请详读!!!请详读!!!请详读!!!_Cat-CSDN博客 很多刚入门的粉丝私信我说,他们的电脑配置很好,想在本地训练 ...

  8. 基于YOLOv5的手势识别系统(含手势识别数据集+训练代码)

    基于YOLOv5的手势识别系统(含手势识别数据集+训练代码) 目录 基于YOLOv5的手势识别系统(含手势识别数据集+训练代码) 1. 前言 2. 手势识别的方法 (1)基于多目标检测的手势识别方法 ...

  9. 深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码)

    深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码) 目录 深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码) 1. 前言 2. 车辆检测数据集说明 (1)车 ...

最新文章

  1. 70. Leetcode 701. 二叉搜索树中的插入操作 (二叉搜索树-基本操作类)
  2. Python绘图之matplotlib基础教程:matplotlib库图表绘制中常规设置大全(交互模式、清除原有图像、设置横坐标显示文字/旋转角度、添加图例、绘图布局自动调整、图像显示、图像暂停)
  3. 2020 操作系统第一天复习(习题总结)
  4. rpc核心实现和原理
  5. 【转】2.2 SharePoint服务器端对象模型 之 访问网站和列表数据(Part 2)
  6. 媒智科技--深度学习算法Python后台开发--热招中~
  7. python画互动图_利用Python画出运动图像
  8. Flutter基础—定位对齐之对齐
  9. perl统计http日志ip
  10. SIM868获取NTP时间
  11. 全局鼠标手势linux,Firefox通过用户脚本和热键进行的全局鼠标手势(Win7 / Linux + FF 68 esr)...
  12. 剑指Java面试:面试官能问到的问题,都被我收集在这份PDF文档里
  13. Google支付订单真伪的验证方式
  14. 微信小程序html5音频,微信小程序 audio音频播放详解及实例
  15. QQ浏览器x5内核的兼容性问题
  16. 基于python机票预定系统_机票预订系统课程设计.doc
  17. 加快SP3下载速度并使用第三方系统主题!适用于XP SP3的TCPIP连接数与主题破解增强补丁下载...
  18. 浏览器加载网页的过程
  19. 迪思杰oracle 11g rac,Oracle 11g RAC UDEV管理RAC共享存储
  20. CV:计算机视觉技最强学习路线

热门文章

  1. 经典智力题:工人分金条问题
  2. 微信小程序存在的风险_微信小程序开发技术风险存在,如何规避是重点
  3. 高维空间最近邻逼近搜索算法评测
  4. CS231n公开课系列1_视频+课件+作业下载+GitHub批量下载工具
  5. GK110和GK104
  6. windows执行bat文件闪退情况解决
  7. 《运营力——微信公众号 设计 策划 客服 管理 一册通》一一1.2 团队岗位介绍...
  8. what this book can do for you ?
  9. 如何将excel.xls文件批量转换成.xlsx格式
  10. 【C语言】[其他] :code, data, idata, xdata, bdata, edata, hdata等,代表的意思