鞋子商城网站开发背景,成都广告制作安装公司,请问门户网站是什么意思,关键词优化方法有什么步骤PP-YOLO系列#xff0c;均是基于百度自研PaddlePaddle深度学习框架发布的算法#xff0c;2020年基于YOLOv3改进发布PP-YOLO#xff0c;2021年发布PP-YOLOv2和移动端检测算法PP-PicoDet#xff0c;2022年发布PP-YOLOE和PP-YOLOE-R。由于均是一个系列#xff0c;所以放一起解… PP-YOLO系列均是基于百度自研PaddlePaddle深度学习框架发布的算法2020年基于YOLOv3改进发布PP-YOLO2021年发布PP-YOLOv2和移动端检测算法PP-PicoDet2022年发布PP-YOLOE和PP-YOLOE-R。由于均是一个系列所以放一起解读方便对比前后改进地方。 PP-YOLO系列算法解读
PP-YOLO算法解读PP-YOLOv2算法解读PP-PicoDet算法解读PP-YOLOE算法解读PP-YOLOE-R算法解读
YOLO系列算法解读
YOLOv1通俗易懂版解读SSD算法解读YOLOv2算法解读YOLOv3算法解读YOLOv4算法解读YOLOv5算法解读 文章目录 1、算法概述2、PP-YOLO细节2.1 Selection of Tricks 3、实验3.1 消融实验3.2 与其他检测算法比较 PP-YOLO(2020.7.23)
论文PP-YOLO: An Effective and Efficient Implementation of Object Detector 作者Xiang Long, Kaipeng Deng, Guanzhong Wang, Yang Zhang, Qingqing Dang, Yuan Gao, Hui Shen, Jianguo Ren, Shumin Han, Errui Ding, Shilei Wen 链接https://arxiv.org/abs/2007.12099 代码https://github.com/PaddlePaddle/PaddleDetection 1、算法概述
直接从论文摘要可以看出PP-YOLO的目标是想实现一种可以直接应用于实际应用场景的检测精度和检测速度相对平衡的目标检测器而不是提出一种新的检测模型。鉴于YOLOv3在实际中得到了广泛的应用所以PP-YOLO的作者基于YOLOv3开发新型目标检测器。作者主要尝试结合现有的各种几乎不增加模型参数和FLOPs数量的技巧看到这里有点像YOLOv4利用BoF改进啊!!!以达到在保证速度几乎不变的情况下尽可能提高检测器精度的目的。由于本文中所有的实验都是基于百度的PaddlePaddle框架进行的所以算法被命名为PP-YOLO。通过结合多种技巧PP-YOLO在COCO上达到45.2%mAP和72.9FPS。上图 与YOLOv4不同PP-YOLO没有探索不同的骨干网络和数据增强方法也没有使用NAS查询超参数。对于骨干网作者直接使用最常见的ResNet作为PP-YOLO的骨干网。对于数据增强直接使用最基本的MixUp。一个原因是ResNet的使用更加广泛各种深度学习框架都针对ResNet系列进行了深度优化在实际部署中会更加方便在实践中会有更好的推断速度。另一个原因是主干的替换和数据增强是相对独立的因素几乎与所讨论的技巧无关。 2、PP-YOLO细节
检测算法分为backbone、neck和head三个部分PP-YOLO基于YOLOv3进行改进改进地方可以直接从文中网络框图看出下面分别进行阐述 从图中可以看出主要改进点在neck和head部分。有紫色三角块黄色方块和红色星星作为改进插入点。 紫色三角块代表DropBlock 黄色方块代表CoordConv 红色星星代表SPP
Backbone部分 PP-YOLO将YOLOv3的DarkNet-53替换成ResNet50-vd-dcn。由于直接替换成ResNet50-vd会掉点所以将最后一个stage的3x3卷积替换成了DCN(Deformable Convolutional Networks可变形卷积)。用来做预测的特征图为C3C4C5。
Neck部分 拿Backbone输出的C3C4C5特征图应用FPN其中FPN经过DropBlock、CoordConv和SPP改进。
Head部分 和YOLOv3一样分三个特征图输出每个特征图每个网格设置3个anchor每个网格位置输出3x(k5)对于NxN大小的特征图输出为NxNx3x(k5)的tensor。唯一改进的地方为在最后预测层3x3卷积中加入CoordConv。
2.1 Selection of Tricks
Larger Batch Size 大的batchsize可以增加训练稳定性得到更好的结果。将batchsize由64变成192。EMA 在训练模型时保持训练参数的移动平均线通常是有益的。DropBlock 只在FPN中应用DropBlock。IoU Loss 与YOLOv4不同的是作者并没有直接用IoU损失代替l1损失而是增加了一个分支来计算IoU损失。由于作者发现各种IoU损失的改善效果相似所以选择了最基本的IoU损失。IoU Aware 在YOLOv3中分类概率和objectness得分相乘作为最终检测目标的置信度得分但是这没有考虑定位精度。为了解决这一问题增加了IoU预测分支来衡量定位的准确性。在训练过程中采用IoU感知损失训练IoU预测分支。在推理过程中将预测的IoU乘以分类概率和objectness得分计算出最终的检测置信度该置信度与定位精度更相关。然后将最终检测置信度用作后续NMS的输入。虽然IoU感知分支会增加额外的计算成本。但是只增加了0.01%的参数个数和0.0001%的flop几乎可以忽略不计。Grid Sensitive 借鉴YOLOv4的改进Matrix NMS 受到了soft-NMS的启发并行的方式实现NMS更快。CoordConv 它的工作原理是通过使用额外的坐标通道让卷积访问自己的输入坐标。CoordConv允许网络学习完全的变换不变性或不同程度的变换依赖性。考虑到CoordConv将在卷积层中增加两个输入通道因此将增加一些参数和FLOPs。为了尽可能减少效率的损失作者没有改变骨干中的卷积层只将FPN中的1x1卷积层和检测头中的第1个卷积层替换为CoordConv。SPP 和YOLOv4一样也引入了SPP层增大感受野。Better Pretrain Model 使用蒸馏的ResNet50-vd模型作为预训练模型。 3、实验
3.1 消融实验
作者对以上改进做了消融实验如下表所示 值得注意的是作者在YOLOv3的基础上直接替换主干为ResNet50-vd-dcn后mAP提升推理速度也加快了。每个trick都有涨点其中B-C涨点最多。
3.2 与其他检测算法比较
PP-YOLO与现如今最新检测算法在COCO数据集上的mAP比较如下表所示。可以看出PP-YOLO无论是mAP指标或者是FPS指标都是非常优秀的。