| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> PP-yoloE论文的理解 -> 正文阅读 |
|
[人工智能]PP-yoloE论文的理解 |
目录 2.4 Efficient Task-aligned Head(ET-head)? 2.4.2?distribution focal loss(DFL) 出自:百度 2022.44.2 论文:https://arxiv.org/pdf/2203.16250.pdf 代码:https://github.com/PaddlePaddle/PaddleDetection ?PP-YOLOE的整体框架图: 1.简单回顾PP-YOLOv2论文:https://arxiv.org/abs/2104.10419 代码:https://github.com/paddlepaddle/paddledetection 主干ResNet50-vd,deformable convolution,PAN neck with SPP layer and DropBlock【7】,lightweight IOU aware head。 主干激活使用relu,neck 激活使用mish。 loss函数有分类loss,回归loss和目标loss,且PP-yolov2使用了IoU loss和Iou aware loss; 2.本文的贡献①anchor-free ②powerful backbone and neck equipped with CSPRepResStage ③ET-head ④TAL动态label assign 2.1?anchor free原因:基于anchor的方法掺杂太多人工设定,且同一组anchor参数无法适用于所有数据集; 细节:anchor free方法参考FCOS【25】,PPYOLOE中的anchor free方法,主要就是将之前anchor base中预测相较于anchor的xywh,改进为预测ltrb(left,top,right,bottom),并将ltrb结果乘上当前特征图的stride。 结果:速度略有提升,且ap下降0.3; 2.2 Backbone and Neck提出了RepResBlock: 使用了resdiual connections和dense connection,将这种模块用于backbone和neck中; 参考TreeBlock【20】,作者提出了RepResBlock,训练阶段如fig3(b),推理阶段如图3(c),简化的TreeBlock如fig3(a),将concat替换成element-wise add operation就得到了fig3(b)作者的backbone命名为CSPRepResBlock,包括三个卷积和四个RepResBlock,如fig3(d) 通过ESE(Effective Squeeze and Extraction) layer施加通道注意力。? 2.2.1 ESE的原始架构?SE(Squeeze-and-Excitation(SE))结构: ? ESE结构: 区别:se有两个fc,ese只有一个fc; 2.3?TAL和T-head物体检测方法的2个局限性: ? ? ①分类和定位的独立性。分类和定位一般用的是2个独立的分支,这样使得2个任务之间缺乏交互,在预测的时候就会出现:得分高的预测位置不准,位置准的预测得分不高。 ? ?②任务无关的样本分配:对于分类最优的anchor和对于定位最优的anchor往往并不是同一个。 解决办法:TOOD提出任务对齐头(Task-aligned head, T-head)和新的任务对齐学习(Task-aligned Learning, TAL)来更明确地对齐两个任务; 操作流程:首先,T-head对FPN特征进行预测。然后,计算每个定位点的任务对齐度量,TAL根据此度量为T-head生成学习信号。最后,T-head对分类和定位的分布进行相应的调整。其中,最对齐的锚通过概率图prob (probability map)获得更高的分类得分,通过学习偏移获得更准确的锚框预测。 2.3.1?TALTask Alignment Learning:为了进一步指导T-Head做出与任务对齐的预测提出TAL。 它包括一个分配策略和新损失的函数; 分配策略 ①Task-aligned Sample Assignment: 1)对齐良好的锚点应能联合精确定位预测出较高的分类分数; 2)不对齐的锚应具有较低的分类评分,并随后予以抑制。 ②Anchor alignment metric:分类得分和IoU的高阶组合来衡量任务对齐程度,? ? 其中:s和u分别表示分类分数和IOU值 ③Training sample assignment:选择t值最大的m个锚点为正样本,而使用其余的锚点作为负样本;? 损失函数 t^是对t的归一化 2.4 Efficient Task-aligned Head(ET-head)?解决的点:分类和定位的任务冲突 ? ? YOLOX使用了decopled head 该方法的缺点:导致分类任务和定位任务分离,使得两个任务独立; 缺乏特定任务学习; 解决方法:参考TOOD【5】,优化得到ET-head 改进点: ? ?①相比较TOOD,使用ESE block替换layer attention。 ? ? ②分类分支添加了shortcut。 ? ? ③分类分支使用varifocal loss (VFL),优点:这种实现使得iou高的正样本对损耗的贡献相对较大,促使模型更加关注高质量样本; ? ?④回归分支使用distribution focal loss(DFL)。 最终loss: 结果:map提升0.5; 2.4.1?varifocal loss (VFL)focal loss: 其中a用来均衡正负样本的权重,y为gt,前景类的预测概率p∈[0,1],(1-p)的r次和p的r次用来调制每个样本的权重。使困难样本有更高的权重; VFL从focal loss中借鉴了样本加权思想来解决类不平衡问题; VFL loss: 其中p是预测的IACS(分类)得分,q是目标IoU得分。 对于训练中的正样本,将q设置为生成的bbox和gt box之间的IoU;而对于负样本,q为0。 2.4.2?distribution focal loss(DFL)参考:《Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection》 -清华大学,南京大学 https://blog.csdn.net/qq_52302919/article/details/125304230 ? https://zhuanlan.zhihu.com/p/310229973? 3. 实验实验数据:MS COCO-2017(80个类别,118000张图片) 数据处理细节:random crop,random horizontal filp,color distortion,和multi-scale; 参数设置细节:SGD,momentum=0.9,weight decay=5e-4,cosine learning rate schedule,epochs=300,warmup epochs=5,base learning rate=0.01,batch size=64;exponential moving average(EMA) 硬件设备:8*32G V100 GPU 3.1 与sota检测器相比科普性相关信息 一文看懂Label Assignment--标签分配最新论文总结 - 知乎 涉及到的论文《Bag of Tricks for Image Classification with Convolutional Neural Networks》 可学习的各种训练策略(文中用于分类): 1.学习率的调整 当batch_size=256时,初始化lr=0.1,当batch_size=b,则学习率调整为 ? ? 如:b=128, 2.学习率热身效应 在训练初期使用较小的学习率进行热身,逐渐增大到设置的学习率,则前m个batches使用warm up使用的学习率: ? ? ,1<=i<=qm 3.使的网络初始阶段更容易训练 Zero γ(可查看原文) 4.只对卷积层和全连接层的weight的weights使用weight decay 在SGD中优化中相当于L2正则,作者认为并不是所有的参数weight decay; 5.其他策略 (使用广泛,不一一细讲了): 1.提升模型的训练速度,FP16和FP32的混合训练; 2.ResNet网络结构的优化; 3.Cosine Learning Rate Decay; 4.Label Smoothing 5.Knowledge Distillation 6.Mixup Training 参考:https://www.jianshu.com/p/02a76ac73d48 《Dropblock:A regularization method for convolutional networks:Advaces in neural information process system》 dropblock:一种正则化方法,在ImageNet分类任务中,使用Resnet-50精度提升了1.6%个点,在coco检测任务中,精度提升了1.6%。 SPP layer :将不同尺寸使用max pooling输出为固定长度的尺寸 Relu激活:又称为修正线性单元(Rectified Linear Unit),是一种分段线性函数,其弥补了sigmoid函数以及tanh函数的梯度消失问题。 函数:
mish激活:
函数: 图形来自于:https://wenku.baidu.com/view/9cbad2976adc5022aaea998fcc22bcd126ff4236.html? IOU loss的使用:
?《Fcos:Fully convolutional one-stage object detection》 提出的无anchor的网络结构: 分类使用fcoal loss,回归使用iou loss;center-ness大小为0-1,用BCE loss计算。用于抑制FCOS产生的低质量的bbox,尤其是那些离目标中心较远的locations?; residual connections: 残差链接主要是为了解决梯度消失问题; dense connections : 密集连接主要是使用更多的感受野扩大中间特征; |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:33:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |