传送门:
wuzhihao7788/yolodet-pytorch
YOLODet-PyTorch
YOLODet-PyTorch是端到端基于pytorch框架复现yolo最新算法的目标检测开发套件,旨在帮助开发者更快更好地完成检测模型的训练、精度速度优化到部署全流程。YOLODet-PyTorch以模块化的设计实现了多种主流YOLO目标检测算法,并且提供了丰富的数据增强、网络组件、损失函数等模块。
目前检测库下模型均要求使用PyTorch 1.5及以上版本或适当的develop版本。
内容
简介
特性:
-
模型丰富:
YOLODet提供了丰富的模型,涵盖最新YOLO检测算法的复现,包含YOLOv5、YOLOv4、PP-YOLO、YOLOv3等YOLO系列目标检测算法。
-
高灵活度:
YOLODet通过模块化设计来解耦各个组件,基于配置文件可以轻松地搭建各种检测模型。
支持的模型:
更多的Backone:
- DarkNet
- CSPDarkNet
- ResNet
- YOLOv5Darknet
数据增强方法:
- Mosaic
- MixUp
- Resize
- LetterBox
- RandomCrop
- RandomFlip
- RandomHSV
- RandomBlur
- RandomNoise
- RandomAffine
- RandomTranslation
- Normalize
- ImageToTensor
- 相关配置使用说明请参考【这里】
损失函数支持:
- bbox loss (IOU,GIOU,DIOU,CIOU)
- confidence loss(YOLOv4,YOLOv5,PP-YOLO)
- IOU_Aware_Loss(PP-YOLO)
- FocalLoss
训练技巧支持:
- 指数移动平均
- 预热
- 梯度剪切
- 梯度累计更新
- 多尺度训练
- 学习率调整:Fixed,Step,Exp,Poly,Inv,Consine
- Label Smooth
-
强烈说明 通过实验对比发现YOLOv5的正负样本划分定义和损失函数定义,使得模型收敛速度较快,远超原yolo系列对正负样本的划分和损失定义。对于如果卡资源不充足,想在短时间内收敛模型,可采用yolov5的正负样本划分和损失函数定义,相关参数为
yolo_loss_type=yolov5
。 - 额外补充 YOLOv5对于正样本的定义:在不同尺度下只要真框和给定锚框的的比值在4倍以内,该锚框即可负责预测该真值框。并根据gx,gy在grid中心点位置的偏移量会额外新增两个grid坐标来预测。通过这一系列操作,增加了正样本数量,加速模型收敛速度。而YOLO原系列对于真框,在不同尺度下只有在该尺度下IOU交并集最大的锚框负责预测该真框,其他锚框不负责,所以由于较少的正样本量,模型收敛速度较慢。
扩展特性:
- [x] Group Norm
- [x] Modulated Deformable Convolution
- [x] Focus
- [x] Spatial Pyramid Pooling
- [x] FPN-PAN
- [x] coord conv
- [x] drop block
- [x] SAM
代码结构说明
yolodet-pytorch
├──cfg #模型配置文件所在目录(yolov5,yolov4等)
├──tools #工具包,包含训练代码,测试代码和推断代码入口。
├──yolodet #YOLO检测框架核心代码库
│ ├──apis #提供检测框架的训练,测试和推断和模型保存的接口
│ ├──dataset #包含DateSet,DateLoader和数据增强等通用方法
│ ├──models #YOLO检测框架的核心组件集结地
│ │ ├──detectors #所有类型检测器集结地
│ │ ├──backbones #所有骨干网络集结地
│ │ ├──necks #所有necks集结地
│ │ ├──heads #heads集结地
│ │ ├──loss #所有损失函数集结地
│ │ ├──hooks #hooks集结地(学习率调整,模型保存,训练日志,权重更新等)
│ │ ├──utils #所有工具方法集结地
安装说明
安装和数据集准备请参考 INSTALL.md 。
快速开始
请参阅 GETTING_STARTED.md 了解YOLODet的基本用法。
预训练模型
查看预训练模型请点击【这里】
相关推荐
本项目将详细介绍如何利用Yolov5和Flask构建一个实时目标检测的Web应用程序。 首先,我们需要理解Yolov5的核心概念。YOLO(You Only Look Once)是一个实时目标检测系统,由Joseph Redmon等人提出。Yolov5是其最新...
使用VUE框架开发一个简洁易用的WEB端目标检测应用。 部署YOLOv5模型,实现实时目标检测功能。 优化模型性能,确保在WEB端流畅运行。 设计友好的用户界面,提升用户体验。 项目开发: 使用VUE框架搭建项目的基本结构...
《基于yolov5和PyQT5的可视化目标检测系统:摄像头、视频和图像检测的全方位解析》 在计算机视觉领域,目标检测是一项至关重要的任务,它能够识别并定位图像中的特定对象。近年来,YOLO(You Only Look Once)系列...
这是一个关于使用Yolov5进行目标检测的Vue前端项目的源码包。Yolov5是一种流行的深度学习模型,专门用于实时对象检测,而Vue.js是一个前端JavaScript框架,用于构建用户界面。这个项目将两者结合,提供了在前端进行...
YOLOv5行人车辆目标检测结果exp19-person_car-检测结果-789.zip是一个包含计算机视觉领域重要应用的压缩文件,主要涉及目标检测技术,特别是针对行人和车辆的识别。目标检测是人工智能和计算机视觉的一个核心任务,...
YOLO(You Only Look Once)...总之,这个压缩包提供了在MATLAB中实现YOLOv3和YOLOv4的代码,为学习者提供了一个实践平台,通过更改训练样本,可以适应不同的目标检测任务,是深入理解YOLO算法和进行相关研究的好材料。
无论是学术研究还是实际应用,YOLOv5都是一个值得深入学习和使用的优秀目标检测框架。如果你需要在自己的项目中实现小目标检测,理解和掌握YOLOv5的相关知识将极大地提升你的工作效率和模型性能。
而将Yolov5与Qt结合,构建一个多线程的用户界面,可以实现更加流畅的实时检测体验。本文将深入探讨如何在Qt环境中,利用多线程技术来运行Yolov5模型,以实现高效的视频流目标检测。 首先,我们需要了解Qt框架。Qt是...
标题中的“yolov5在线检测目标检测网页实时识别”涉及的是计算机视觉领域的技术,具体是YOLO(You Only Look Once)目标检测算法的第五个版本。YOLO是一种高效的实时物体检测系统,它能够在一个单一的神经网络中同时...
本文将重点介绍一个基于YOLOv5的抽烟检测数据集,帮助读者理解其用途和使用方法。 首先,我们要讨论的核心是"yolov5抽烟检测数据集"。这个数据集专门设计用于训练模型识别抽烟行为,对于公共场所的监控、健康习惯的...
Yolov5是一种基于深度学习的实时目标检测框架,以其快速的检测速度和较高的准确性而受到欢迎。Yolov5采用了一种称为You Only Look Once(YOLO)的算法,该算法通过单次前向传播即可完成目标检测,避免了传统的滑动...
总的来说,这个数据集提供了一个训练和测试YOLOv5进行鸟类检测的良好平台,对于研究者和开发者来说,它是进一步理解目标检测算法、优化模型性能和探索计算机视觉应用的一个宝贵资源。通过不断迭代和优化,我们可以...
YOLO(You Only Look Once)是一种广泛应用于计算机视觉领域的实时目标检测算法,它的第四代版本YOLOv4在性能上有了显著提升,特别是在准确性和速度之间找到了很好的平衡。本项目将教你如何使用C++调用YOLOv4来实现...
总结来说,这个压缩包提供的资源是一个经过训练的YOLOv5模型,专门用于检测图像中的人和安全帽,适用于监控场景的安全帽佩戴检查。通过使用提供的代码和预训练权重,用户可以快速集成这个功能到自己的应用中,从而...
YOLOv5训练好的火焰烟雾检测模型,包括yolov5s-fire_smoke.pt和yolov5m-fire_smoke.pt两个训练好的模型,并包含标注好的火焰和烟雾数据集,标签格式为xml和txt两种 有QT界面 采用pytrch框架,代码是python的 YOLOv5...
在本项目中,我们结合了三个关键的技术领域:Flask后端开发、Vue.js前端框架以及YOLOv5目标检测模型的部署。这个压缩包文件提供了实现这些技术整合的资源,使得用户能够在Web端实时进行目标检测。接下来,我们将详细...
1、yolov5玩手机检测,包含训练好的玩手机检测权重,以及PR曲线,loss曲线等等,在玩手机检测数据集中训练得到的权重,有pyqt界面,目标类别为play_phone共1个类别,并附3000多张玩手机识别数据集,标签格式为txt和...
【基于Yolov5的Vue前端目标检测和训练可视化系统】是一个综合性的项目,它将深度学习技术与前端开发相结合,提供了一种直观的方式来进行目标检测任务,并且能够实时展示训练过程。该项目主要由两大部分构成:前端...
YOLO(You Only Look Once)是实时目标检测系统的一个著名实现,而YOLOv5则是其最新版本,以其快速和准确而闻名。本篇将深入探讨如何在C#环境中利用YOLOv5进行人体检测。 首先,我们需要了解YOLOv5的基本原理。...
总的来说,这个抽烟检测数据集结合YOLOv5 6.2框架,为研究人员和开发者提供了一个完整的解决方案,用于构建和优化抽烟检测模型。通过深入理解和利用这些资源,我们可以开发出更加智能、可靠的抽烟检测系统,为公共...