five

coco2017, coco2014, BDD100k, Visdrone, Hand

收藏
github2024-05-18 更新2024-05-31 收录
下载链接:
https://github.com/SpursLipu/YOLOv3-ModelCompression-MultidatasetTraining-Multibackbone
下载链接
链接失效反馈
官方服务:
资源简介:
该项目提供了多个主流目标检测数据集的训练方法,包括coco2017, coco2014, BDD100k, Visdrone, Hand等。

本项研究汇集了针对多个主流目标检测数据集的训练策略,涵盖了诸如 COCO2017、COCO2014、BDD100k、Visdrone 及 Hand 等多个数据集。
创建时间:
2019-12-24
原始信息汇总

数据集概述

数据集内容

支持的训练方法和模型

  • 多主流对象检测数据集训练:支持COCO2017, COCO2014, BDD100k, Visdrone, Hand等数据集。
  • 模型压缩算法:包括剪枝、量化和知识蒸馏。
  • 多骨干网络:支持Darknet-YOLOv3,Tiny-YOLOv3,Mobilenetv3-YOLOv3等。

数据集详情

  • Dior:包含大量船舶和车辆实例,图像来自Google Earth。
  • bdd100k:包含100,000个驾驶视频,覆盖不同天气和时间条件。
  • Visdrone:由无人机拍摄,包含288个视频片段和102,090张静态图像,覆盖多种环境和对象。

训练命令

  • 通用命令: bash python3 train.py --data ... --batch-size ... --weights ... --cfg ... --img-size ... --epochs ...

  • 特定数据集命令

    • COCO2017: bash python3 train.py --data data/coco2017.data --batch-size ... --weights weights/yolov3-608.weights -pt --cfg cfg/yolov3/yolov3.cfg --img-size ... --epochs ...

    • Dior: bash python3 train.py --data data/dior.data --batch-size ... --weights weights/yolov3-608.weights -pt --cfg cfg/yolov3/yolov3-onDIOR.cfg --img-size ... --epochs ...

    • bdd100k: bash python3 train.py --data data/bdd100k.data --batch-size ... --weights weights/yolov3-608.weights -pt --cfg cfg/yolov3/yolov3-bdd100k.cfg --img-size ... --epochs ...

    • Visdrone: bash python train.py --data data/visdrone.data --batch-size ... --weights weights/yolov3-608.weights -pt --cfg cfg/yolov3/yolov3-visdrone.cfg --img-size ... --epochs ...

模型压缩方法

剪枝

  • 方法:包括常规剪枝、快捷剪枝、剪枝融合、规则剪枝、层剪枝和层通道剪枝。
  • 步骤
    • 训练: bash python3 train.py --data ... -pt --batch-size ... --weights ... --cfg ...

    • 剪枝

      • 常规剪枝: bash python3 normal_prune.py --cfg ... --data ... --weights ... --percent ...

      • 规则剪枝: bash python3 regular_prune.py --cfg ... --data ... --weights ... --percent ...

      • 快捷剪枝: bash python3 shortcut_prune.py --cfg ... --data ... --weights ... --percent ...

      • 剪枝融合: bash python3 slim_prune.py --cfg ... --data ... --weights ... --percent ...

      • 层剪枝: bash python3 layer_prune.py --cfg ... --data ... --weights ... --shortcut ...

      • 层通道剪枝: bash python3 layer_channel_prune.py --cfg ... --data ... --weights ... --shortcut ... --percent ...

量化

  • 方法:包括Dorefa量化和Google量化。

  • 命令: bash python train.py --data ... --batch-size ... --weights ... --cfg ... --img-size ... --epochs ... --quantized 2

    bash python train.py --data ... --batch-size ... --weights ... --cfg ... --img-size ... --epochs ... --quantized 1

知识蒸馏

  • 方法:基于Hinton的蒸馏方法,结合检测网络进行部分改进。
  • 命令: bash python train.py --data ... --batch-size ... --weights ... --cfg ... --img-size ... --epochs ... --t_cfg ... --t_weights ...

性能指标

多数据集性能

数据集 YOLOv3-640 YOLOv4-640 YOLOv3-mobilenet-640
Dior 0.749 - -
bdd100k 0.543 - -
Visdrone 0.311 0.383 0.348

模型性能

结构 骨干网络 后处理 参数 GFLOPS mAP0.5 mAP0.5:0.95 速度(推理/NMS/总) FPS
YOLOv3 38.74M 20.39M 59.13M 117.3 0.580 0.340 12.3/1.7/14.0 ms 71.4fps
YOLOv3tiny 6.00M 2.45M 8.45M 9.9 0.347 0.168 3.5/1.8/5.3 ms 188.7fps
YOLOv3-mobilenetv3 2.84M 20.25M 23.09M 32.2 0.547 0.346 7.9/1.8/9.7 ms 103.1fps
YOLOv3tiny-mobilenetv3-small 0.92M 2.00M 2.92M 2.9 0.379 0.214 5.2/1.9/7.1 ms 140.8fps
YOLOv4 - - 61.35M 107.1 0.650 0.438 13.5/1.8/15.3 ms 65.4fps
YOLOv4-tiny - - 5.78M 12.3 0.435 0.225 4.1/1.7/5.8 ms 172.4fps

以上信息提供了数据集的详细描述、支持的训练方法和模型、以及性能指标,有助于用户快速了解和使用该数据集。

搜集汇总
数据集介绍
main_image_url
构建方式
该数据集的构建方式主要通过整合多个主流的目标检测数据集,包括COCO2017、COCO2014、BDD100k、Visdrone和Hand,并通过预处理步骤生成适用于YOLOv3模型的配置文件、数据索引文件、类别文件以及重新聚类的锚框尺寸。这些数据集的图像和标注信息经过K-means算法处理,以确保锚框的合理分布,从而提升模型训练的效果。
使用方法
使用该数据集时,用户可以通过提供的训练脚本进行模型训练,支持多种数据集的切换和预训练模型的加载。训练命令如`python3 train.py --data data/coco2017.data --batch-size ... --weights weights/yolov3-608.weights -pt --cfg cfg/yolov3/yolov3.cfg --img-size ... --epochs ...`。此外,数据集的测试和检测功能也通过相应的脚本实现,用户可以根据需求选择不同的模型架构和数据集进行训练和评估。
背景与挑战
背景概述
该数据集项目涵盖了多个主流目标检测数据集,包括COCO2017、COCO2014、BDD100k、Visdrone和Hand,主要用于支持YOLOv3模型的多数据集训练。该项目由北京大学研究人员于2020年发起,旨在通过提供多种主流模型压缩算法(如剪枝、量化和知识蒸馏)以及多样的YOLOv3骨干网络(如Darknet-YOLOv3、Tiny-YOLOv3和Mobilenetv3-YOLOv3),推动目标检测领域的研究进展。这些数据集的引入不仅丰富了训练资源的多样性,还为模型压缩和多任务学习提供了新的研究方向,尤其在资源受限的嵌入式设备上具有重要应用价值。
当前挑战
该数据集项目面临的主要挑战包括:1) 多数据集的异质性问题,不同数据集的标注格式、类别分布和图像质量差异较大,导致模型训练时需要进行复杂的预处理和适配;2) 模型压缩过程中的精度损失问题,剪枝、量化等压缩技术虽然能够减少模型参数和计算量,但往往伴随着模型性能的下降,如何在压缩率和精度之间取得平衡是一个关键挑战;3) 多任务学习的复杂性,不同数据集的任务目标可能存在冲突,如何在多任务学习中实现高效的模型共享和任务区分也是一个亟待解决的问题。
常用场景
经典使用场景
在计算机视觉领域,COCO2017、COCO2014、BDD100k、Visdrone和Hand等数据集广泛应用于目标检测任务。这些数据集为YOLOv3等深度学习模型提供了丰富的训练资源,尤其在多目标检测和实时检测场景中表现出色。通过这些数据集,研究者可以训练出高效的目标检测模型,应用于自动驾驶、无人机监控、手势识别等多个领域。
解决学术问题
这些数据集解决了目标检测领域中多类别、多尺度目标检测的学术难题。通过提供多样化的图像和标注数据,它们帮助研究者开发出能够处理复杂场景的检测算法,提升了模型在不同环境下的泛化能力。此外,这些数据集还推动了模型压缩、量化和知识蒸馏等技术的研究,为模型在资源受限设备上的部署提供了可能。
实际应用
在实际应用中,这些数据集训练出的模型广泛应用于自动驾驶、智能监控、无人机导航等领域。例如,BDD100k数据集为自动驾驶系统提供了丰富的道路场景数据,帮助车辆在不同天气和光照条件下识别道路上的物体。Visdrone数据集则为无人机监控提供了多视角、多环境下的目标检测能力,提升了无人机在城市和乡村环境中的应用效果。
数据集最近研究
最新研究方向
在计算机视觉领域,多数据集训练与模型压缩技术正成为前沿研究的热点。该数据集(如COCO2017、COCO2014、BDD100k、Visdrone、Hand)的应用推动了目标检测模型的多任务学习与跨领域适应性研究。通过结合YOLOv3等主流检测框架,研究者们探索了模型压缩技术,如剪枝、量化和知识蒸馏,以提升模型在资源受限环境下的性能。这些技术不仅优化了模型的计算效率,还显著降低了推理时间,为自动驾驶、无人机监控等实际应用场景提供了技术支持。此外,多数据集训练的策略使得模型能够在不同场景下保持较高的检测精度,进一步推动了目标检测技术在复杂环境中的广泛应用。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作