乐趣区

关于人工智能:PPYOLO超越YOLOv4目标检测的进步

作者 |Jacob Solawetz
编译 |Flin
起源 |towardsdatascience

PP-YOLO 评估指标比现有最先进的对象检测模型 YOLOv4 体现出更好的性能。然而,百度的作者写道:

本文不打算介绍一种新型的指标检测器。它更像是一个食谱,通知你如何逐渐建设一个更好的探测器。

让咱们一起看看。

YOLO 发展史

YOLO 最后是由 Joseph Redmon 编写的,用于检测指标。指标检测是一种计算机视觉技术,它通过在指标四周画一个边界框来定位和标记对象,并确定一个给定的框所属的类标签。和大型 NLP transformers 不同,YOLO 设计得很小,可为设施上的部署提供实时推理速度。

YOLO-9000 是 Joseph Redmon 出版的第二个“YOLOv2”指标探测器,它改良了探测器,并强调了该检测器可能推广到世界上任何物体的能力。

YOLOv3 对检测网络做了进一步的改良,并开始将指标检测过程纳入支流。咱们开始公布对于如何在 PyTorch 中训练 YOLOv3、如何在 Keras 中训练 YOLOv3 的教程,并将 YOLOv3 的性能与 EfficientDet(另一种最先进的检测器)进行比拟。

而后约瑟夫·雷德曼出于伦理思考退出了指标探测游戏。

当然,开源社区接过了指挥棒,持续推动 YOLO 技术的倒退。

YOLOv4 最近由 Alexey AB 在他的 YOLO Darknet 存储库中发表。YOLOv4 次要是其余已知的计算机视觉技术的汇合,通过钻研过程进行了组合和验证。请看这里深刻理解 YOLOv4。

  • https://blog.roboflow.ai/a-th…

YOLOv4 论文的读数与 PP-YOLO 论文类似,如下所示。咱们提供了一些对于如何在 Darknet 中训练 YOLOv4 的很好的训练教程。

  • https://blog.roboflow.ai/trai…

而后,就在几个月前,YOLOv5 被公布了。YOLOv5 采纳了 Darknet(基于 C)的训练环境,并将网络转换为 Pytorch。改良的训练技术进一步提高了模型的性能,并创立了一个十分好用的开箱即用的对象检测模型。从那以后,咱们始终激励应用 Roboflow 的开发人员通过这个 YOLOv5 训练教程将他们的注意力转向 YOLOv5,以造成他们的自定义对象检测器。

输出 PP-YOLO。

PP 代表什么?

PP 是百度编写的深度学习框架 PaddlePaddle 的缩写。

如果你不相熟 Paddle,那咱们就在同一条船上了。paddle 最后是用 Python 编写的,它看起来相似于 PyTorch 和 TensorFlow。深入研究 paddle 框架很乏味,但超出了本文的范畴。

PP-YOLO 奉献

PP-YOLO 的论文读起来很像 YOLOv4 论文,因为它是计算机视觉中已知的技术的汇总。新鲜的奉献是证实这些技术的集成可进步性能,并提供融化钻研,以钻研每一步对模型的帮忙水平。

在咱们深入研究 PP-YOLO 的奉献之前,先回顾一下 YOLO 检测器的体系结构。

解剖 YOLO 检测器

YOLO 检测器分为三个次要局部。

YOLO Backbone:YOLO Backbone(骨干)是一个卷积神经网络,它将图像像素合并在一起以造成不同粒度的特色。骨干通常在分类数据集(通常为 ImageNet)上进行预训练。

YOLO Neck:YOLO Neck(下面抉择了 FPN)在传递到预测头之前对 ConvNet 图层示意进行组合和混合。

YOLO Head:这是网络中进行边界框和类预测的局部。它由对于类,框和对象的三个 YOLO 损失函数领导。

当初,让咱们深刻理解 PP YOLO 做出的奉献。

更换骨干网

第一种 PP YOLO 技术是用 Resnet50-vd-dcn ConvNet 骨干替换 YOLOv3 Darknet53 骨干。Resnet 是一个更风行的骨干,它的执行优化了更多的框架,并且其参数少于 Darknet53。通过替换此骨干能够看到 mAP 的改良,这对 PP YOLO 来说是一个微小的胜利。

模型参数的 EMA

PP-YOLO 跟踪网络参数的指数挪动均匀,以放弃模型权重的暗影预测工夫。这曾经被证实能够进步推理的准确性。

更大的批量

PP-YOLO 将批量大小从 64 减少到 192。当然,如果有 GPU 内存限度,这很难实现。

DropBlock 正则化

PP-YOLO 在 FPN 颈部实现 DropBlock 正则化(在过来,这通常产生在骨干)。在网络的给定步骤中,DropBlock 会随机删除一部分训练特色,以批示模型不依赖于要害特色进行检测。

IOU 损失

YOLO 损失函数不能很好地转换为 mAP 指标,该指标在计算中大量应用了 Union 上的 Intersection。因而,在思考到最终预测的状况下编辑训练损失函数是很有用的。这个编辑也呈现在 YOLOv4 中。

IoU Aware

PP-YOLO 网络增加了一个预测分支,以预测给定对象的模型预计的 IOU。在决定是否预测对象时蕴含此 IoU Aware 可进步性能。

电网灵敏度

旧的 YOLO 模型不能很好地在锚框区域的边界左近进行预测。为了防止这个问题,能够略微不同地定义框坐标。YOLOv4 中也有这种技术。

矩阵非最大克制

非最大克制是一种删除候选对象的提议以进行分类的技术。矩阵非最大克制是一种并行排序这些候选预测的技术,它放慢了计算速度。

CoordConv

CoordConv 受 ConvNets 一个问题的激励,即 ConvNets 仅将(x,y)坐标映射到一个热像素空间。CoordConv 解决方案使卷积网络能够拜访其本人的输出坐标。CoordConv 干涉措施上方标有黄色菱形。无关更多详细信息,请参见 CordConv 文件。

  • https://arxiv.org/pdf/1807.03…

SPP

空间金字塔池化是骨干层之后的一个额定块,用于混合和合并空间特色。还在 YOLOv4 和 YOLOv5 中实现。

更好的预训练骨干

PP YOLO 的作者提炼出更大的 ResNet 模型作为骨干。更好的预训练模型显示也能够改善上游转移学习。

PP-YOLO 是最先进的吗?

PP-YOLO 胜过 2020 年 4 月 23 日公布的 YOLOv4 后果。

  • YOLOv4:https://arxiv.org/pdf/2004.10…

偏心地说,作者指出这可能是一个谬误的问题。作者的用意仿佛不只是“引入一种新鲜的新型检测器”,而是表明认真调整对象检测器以最大化性能的过程。在此处援用本文的介绍:

本文的重点是如何重叠一些简直不影响效率的无效技巧以取得更好的性能……本文无心介绍一种新鲜的指标检测器。它更像一个食谱,它通知你如何逐渐构建更好的检测器。咱们发现了一些对 YOLOv3 检测器无效的技巧,能够节俭开发人员的重复试验工夫。 最终的 PP-YOLO 模型以比 YOLOv4 更快的速度将 COCO 的 mAP 从 43.5%进步到 45.2%

下面的 PP-YOLO 奉献参考将 YOLOv3 模型在 COCO 对象检测工作上从 38.9 mAP 晋升到 44.6 mAP,并将推理 FPS 从 58 减少到 73。论文中显示了这些指标,胜过了 YOLOv4 和 EfficientDet 的以后公布后果。

在以 YOLOv5 为基准对 PP-YOLO 进行基准测试时,YOLOv5 仿佛仍在 V100 上具备最快的推理精度(AP 与 FPS)。然而,YOLOv5 论文依然有待公布。此外,钻研表明,在 YOLOv5 Ultralytics 存储库上训练 YOLOv4 体系结构的性能要优于 YOLOv5,并且,以可移植的形式,应用 YOLOv5 奉献进行训练的 YOLOv4 的性能将胜过此处公布的 PP-YOLO 后果。这些后果仍有待正式公布,但能够追溯到 GitHub 上的探讨。

  • https://github.com/ultralytic…

值得注意的是,在 YOLOv4 中应用的许多技术(如架构搜寻和数据裁减)并没有在 ppyolo 中应用。这意味着,随着更多这些技术的联合和集成,指标检测的最新技术仍有倒退的空间。

毋庸置疑,这是施行计算机视觉技术的激动人心的时刻。

我应该从 YOLOv4 或 YOLOv5 切换到 PP-YOLO 吗?

PP-YOLO 模型显示了最先进的指标检测的前景,但与其余对象检测器相比,改良是渐进的,它是在一个新的框架中编写的。在这个阶段,最好的做法是通过在本人的数据集上训练 PP-YOLO 来倒退本人的教训后果。

同时,我倡议你查看以下 YOLO 教程,让你的对象探测器成为事实:

  • 如何在 Darknet 中训练 YOLOv4

    • https://blog.roboflow.ai/trai…
  • 如何在 PyTorch 中训练 YOLOv5

    • https://blog.roboflow.ai/how-…

原文链接:https://towardsdatascience.co…

欢送关注磐创 AI 博客站:
http://panchuang.net/

sklearn 机器学习中文官网文档:
http://sklearn123.com/

欢送关注磐创博客资源汇总站:
http://docs.panchuang.net/

退出移动版