yolo

部署运行你感兴趣的模型镜像
yolo9000

提出一种联合训练机制,将检测数据集和分类数据集联合训练。使用含有标签的检测数据集去学习检测相关的信息,比如bbox的坐标预测,是否包含目标,以及包含目标的概率。使用仅有类别标签的分类数据集图片去拓展可以检测的种类。
在训练的时候,把检测和分类数据集混合起来,当网络遇到一张属于检测数据集的图片就基于YOLOv2的全部损失函数(包括分类部分和检测部分)做反向传播。当遇到一张属于分类数据集的图片就仅基于分类部分的损失函数做反向传播。

采用联合训练后,yolo9000从coco检测数据集中学习如何在图片中寻找物体,从Imagenet数据集中学习更广泛的物体分类。

定义错误类型,对于每种错误,人为地消除后观察其提升,没有了分类方面的错误后,性能提升最明显。

YOLOv4
  1. 提出了一种高效而强大的目标检测模型。使每个人都可以使用1080等GPU训练超快速和准确的目标检测器。
  2. 在检测器训练期间,验证了SOTA的Bag-of Freebies和Bag-of-Specials方法的影响。
  3. 改进了SOTA的方法,使它们更有效,更适合单GPU训练,包括CBN,PAN,SAM等。将目前主流的目标检测器框架进行拆分:input,backbone,neck和head,具体如下图:
    在这里插入图片描述
  • 对于GPU,在卷积层使用:CSPResNeXt50/CSPDarknet53

作者的目标是在输入网络分辨率,卷积层数,参数数量和filters的数量之间找到最佳平衡。
YOLOv4 = CSPDarknet53(Backbone)+SPP+PAN(Neck)+YOLOv3(Head)

  • 用于backbone的BoF:CutMix和Mosaic数据增强,DropBlock正则化,Class label smoothing
  • 用于backbone的BoS:Mish激活函数,CSP,MiWRC
  • 用于检测器的BoF:CIoU-loss,CmBN,DropBlock正则化,Mosaic数据增强,Self-Adversarial 训练,消除网格敏感性,对单个ground-truth使用多个anchor,Cosine annealing scheduler,最佳超参数,Random training shapes
  • 用于检测器的Bos:Mish激活函数,SPP,SAM,PAN,DIoU-NMS

您可能感兴趣的与本文相关的镜像

Yolo-v5

Yolo-v5

Yolo

YOLO(You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的Joseph Redmon 和Ali Farhadi 开发。 YOLO 于2015 年推出,因其高速和高精度而广受欢迎

### 将YOLO模型转换为其他版本或格式 #### YOLO不同版本之间的转换 YOLO的不同版本(如YOLOv3、YOLOv4、YOLOv5等)主要区别在于网络架构和配置文件。为了将一个版本的YOLO模型迁移到另一个版本,通常需要调整以下几个方面: - **权重文件**:YOLO各版本之间可能有不同的层结构和参数数量,因此直接迁移权重通常是不可行的。可以考虑重新训练新版本的模型,使用旧版模型作为预训练模型来初始化权重[^1]。 - **配置文件**:每个YOLO版本都有特定的`.cfg`配置文件定义了网络架构和其他超参数设置。当从一个版本切换到另一个版本时,需修改这些配置文件以适应新版的要求。 #### YOLO与其他框架/工具链的互操作性 对于希望利用YOLO之外的其他深度学习平台或工具的情况,可以通过以下几种方式实现YOLO模型向其他格式的转换: - **ONNX (Open Neural Network Exchange)**:这是一种开放的标准交换格式,支持多种机器学习库间的模型共享。通过PyTorch或TensorFlow导出YOLO模型至ONNX格式后,可以在多个平台上部署该模型[^2]。 ```python import torch.onnx as onnx from models import * # 假设这是加载YOLO模型的地方 model = Darknet('yolov3.cfg', img_size=(416, 416)).cuda() dummy_input = torch.randn(1, 3, 416, 416).cuda() onnx.export(model, dummy_input, 'yolov3.onnx', verbose=True, opset_version=11) ``` - **Core ML / TensorFlow Lite**:如果目标是在移动设备上运行YOLO,则可将其转化为适用于iOS(Core ML) 或 Android(TensorFlow Lite) 的轻量化模型形式。这同样涉及到先将原始YOLO模型保存成中间表示(比如ONNX),再进一步编译为目标平台所需的二进制格式。 #### 数据标注格式转换 除了模型本身的转换外,在某些情况下还需要处理数据集标签格式的变化。例如,要将在YOLO格式中标记的对象位置信息应用于Pascal VOC标准下的项目中,就需要编写专门的脚本来完成这种转变。此过程涉及解析源格式并按照目的格式重组相关信息。 ```bash # 使用命令行调用Python脚本进行批量转换 $ python yolo_to_voc.py --input_dir ./annotations_yolo \ --output_dir ./annotations_voc \ --images_dir ./images ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值