YOLOv4中常见CV学术名词说明(一)【AP/anchor-base/anchor-free/1-stage/2-stage/facol loss/ label smooth/知识蒸馏/loss】

【1】 MS COCO AP是什么意思?

AP: average precision
yolov4中的AP是指针对MS COCO数据集AP。评价标准略微不同

COCO中说的AP是AP[.50:.05:.95],
也就是IOU_T设置为0.5,0.55,0.60,0.65……0.95,
算十个APx,然后再求平均,得到的就是AP。

因为COCO还是多类别,所以再对类别求平均就是`mAP`,
但是COCO统一命名为AP(mAP = AP)

参见官网说明:
http://cocodataset.org/#detection-eval

在这里插入图片描述

【2】 AP50什么意思

在目标检测中,我们常用AP和mAP来评价模型的好坏,但是在很多论文中出现了AP50,AP60等指标,这是什么呢?
在这里插入图片描述
AP是指average precision,平均精确率,即多类预测的时候每一类的precision取平均,类似地还有AR,平均召回率。
以Cascade R-CNN的一张图为例,AP50AP60AP70……等等指的是取detector的IoU阈值大于0.5,大于0.6,大于0.7……等等。
可以看到数值越高,精确率越低,表明越难。
ref: https://zhuanlan.zhihu.com/p/140062567

【3】anchor-base/ anchor-free简述

目标检测算法一般可分为anchor-based、anchor-free、两者融合类,区别就在于有没有利用anchor提取候选目标框
tips:
anchor(也被称为anchor box)是在训练之前,在训练集上利用k-means等方法聚类出来的一组矩形框,代表数据集中目标主要分布的长宽尺度。

在这里插入图片描述

(1) anchor-base就是通过提前设定的不同尺度的anchor-box,通过不断划窗来获取候选目标框,然后再通过与GT的对比以及IOU计算相关score。
anchor-based类算法代表是fasterRCNN、SSD、YoloV2/V3/V4等
在这里插入图片描述

(2) anchor-free则并不是通过kmeans获取图像合集的anchor,而是通过另外一种手段来解决检测问题的。同样分为两个子问题,即确定物体中心和对四条边框的预测。
anchor-free类算法代表是CornerNet、ExtremeNet、CenterNet、FCOS等
在这里插入图片描述
(3) 融合anchor-based和anchor-free分支的方法:FSAF、SFace、GA-RPN等
在这里插入图片描述

ref:
https://www.zhihu.com/question/356551927/answer/926659692
https://zhuanlan.zhihu.com/p/62372897

【4】one-stage/two-stage

在这里插入图片描述
one-stage:
SSD这类1-stage的检测模型实际上是把一张完整的图分成固定大小与长宽比的成千上万个划窗, 分别预测类别与bounding box。典型的就是SSD, YOLOV3

two-stage:
2-stage的方法, 典型的模型就是RCNN, fast-RCNN, faster-RCNN等一系列检测模型. 这个系列模型的主要分成两部分, 分两步走(2-stage):

A. 对一张图先进行区域提名(Region proposal)选取可能有物体的区域, 同时抑制掉大量的负样本(背景).
这些提名的区域称为RoI(Region of interest). 在这个阶段, 不需要知道RoI对应的物体到底是哪一类,
只要知道是否有物体(即实现前景与背景的二分类), 也不需要很精确的bounding box.

B.然后把第一步中认为是正样本(前景)的候选图片作为子图, 对这些候选的子图进行具体类别的分类以及更准确的定位(回归). 之前我们说过,
检测的思路就是把一张完整的图片, 分成多张子图分别预测, 2-stage的方法相当于先找出可能有物体的子图, 然后再把这些子图进行预测.
其完整的结构如下图所示, 其中, 红色部分表示RPN部分, 绿色表示Fast-RCNN部分:

在这里插入图片描述

【5】focal loss

用来避免正反样本分布不均衡引起的误差,代替交叉熵loss计算,新的loss计算公式如下:
在这里插入图片描述
在这里插入图片描述

这个损失函数是在标准交叉熵损失基础上修改得到的。这个函数可以通过减少易分类样本的权重,使得模型在训练时更专注于难分类的样本。为了证明focal loss的有效性,作者设计了一个dense detector:RetinaNet,并且在训练时采用focal loss训练。实验证明RetinaNet不仅可以达到one-stage detector的速度,也能有two-stage detector的准确率

ref: https://zhuanlan.zhihu.com/p/49981234

【6】label smoothing

Lable Smoothing是分类问题中错误标注的一种解决方法。

对于分类问题,特别是多分类问题,常常把向量转换成one-hot-vector(独热向量). 对于损失函数,我们需要用预测概率去拟合真实概率,而拟合one-hot的真实概率函数会带来两个问题:

1)无法保证模型的泛化能力,容易造成过拟合;
2)全概率和0概率鼓励所属类别和其他类别之间的差距尽可能加大,
而由梯度有界可知,这种情况很难适应。会造成模型过于相信预测的类别。

使用下面的 label smoothing 可以缓解这个问题:

在这里插入图片描述

原理:对于以Dirac函数分布的真实标签,我们将它变成分为两部分获得(替换)。

第一部分:将原本Dirac分布的标签变量替换为(1 - ϵ)的Dirac函数;
第二部分:以概率 ϵ ,在u(k) 中份分布的随机变量(u(k)是类别分之一)

ref: https://blog.csdn.net/qq_43211132/article/details/100510113

【7】knowledge distillation(知识蒸馏)

在这里插入图片描述
知识蒸馏,可以将一个网络的知识转移到另一个网络,两个网络可以是同构或者异构。做法是先训练一个teacher网络,然后使用这个teacher网络的输出和数据的真实标签去训练student网络。知识蒸馏,可以用来将网络从大网络转化成一个小网络,并保留接近于大网络的性能;也可以将多个网络的学到的知识转移到一个网络中,使得单个网络的性能接近emsemble的结果

ref: https://zhuanlan.zhihu.com/p/81467832

【8】目标检测回归损失函数归纳(Smooth -> IOU -> GIOU -> DIOU -> CIOU)

1. 早期loss计算(L1/L2/SMOOTH loss)

早期计算BBOX的loss, 一般是计算4个点(测量值(x1,x2,w,h)VS ground truth (x1’, x2’, w’, h’))的L1 loss, or L2 loss, or SMOOTH Loss。

  • 假设x为预测框和真实框之间的数值差异,常用的L1/L2/SMOOTH loss定义为
    在这里插入图片描述

上面的三种Loss用于计算目标检测的Bounding Box Loss时,独立的求出4个点的Loss,然后进行相加得到最终的Bounding Box Loss,这种做法的假设是4个点是相互独立的,实际是有一定相关性的

实际评价框检测的指标是使用IOU,这两者是不等价的,多个检测框可能有相同大小的smoothL1 Loss,但IOU可能差异很大,为了解决这个问题就引入了IOU LOSS
通过4个坐标点独立回归Building boxes的缺点

  • 检测评价的方式是使用IoU,而实际回归坐标框的时候是使用4个坐标点,如下图所示,是不等价的;
  • L1或者L2 Loss相同的框,其IoU 不是唯一的。通过4个点回归坐标框的方式是假设4个坐标点是相互独立的,没有考虑其相关性,实际4个坐标点具有一定的相关性。基于L1和L2的距离的loss对于尺度不具有不变性
    在这里插入图片描述
    图(a)中的三组框具有相同的L2 Loss,但其IoU差异很大;图(b)中的三组框具有相同的L1 Loss,但IoU 同样差异很大,说明L1,L2这些Loss用于回归任务时,不能等价于最后用于评测检测的IoU.
2. IOU(Intersection over Union)

IoU就是我们所说的交并比,是目标检测中最常用的指标,在anchor-based的方法中,他的作用不仅用来确定正样本和负样本,还可以用来评价输出框(predict box)和ground-truth的距离。

I O U = ( A ⋂ B ) / ( A ⋃ B )

可以说它可以反映预测检测框与真实检测框的检测效果。

还有一个很好的特性就是尺度不变性,也就是对尺度不敏感(scale invariant), 在regression任务中,判断predict box和gt的距离最直接的指标就是IoU。(满足非负性;同一性;对称性;三角不等性)

IoU Loss,其将4个点构成的box看成一个整体进行回归:
在这里插入图片描述
上图中的红色点表示目标检测网络结构中Head部分上的点(i,j),绿色的框表示Ground truth框, 蓝色的框表示Prediction的框,IoU loss的定义如上,先求出2个框的IoU,然后再求个-ln(IoU),实际很多是直接定义为IoU Loss = 1-IoU

IoU Loss 前项推理时的算法实现方式
在这里插入图片描述

3.GIOU(Generalized Intersection over Union)

IoU Loss 有2个缺点:

  • 当预测框和目标框不相交时,IoU(A,B)=0时,不能反映A,B距离的远近,此时损失函数不可导,IoU Loss 无法优化两个框不相交的情况。
  • 假设预测框和目标框的大小都确定,只要两个框的相交值是确定的,其IoU值是相同时,IoU值不能反映两个框是如何相交的

在这里插入图片描述
如上图所示,三种不同相对位置的框拥有相同的IoU=0.33值,但是拥有不同的GIoU=0.33,0.24,-0.1。当框的对齐方向更好一些时GIoU的值会更高一些

GIoU的实现方式
在这里插入图片描述
其中C为A和B的外接矩形。用C减去A和B的并集除以C得到一个数值,然后再用框A和B的IoU减去这个数值即可得到GIoU的值

4. DIOU(Distance-IoU Loss)

GIOU不足:
在这里插入图片描述
基于IoU和GIoU存在的问题,作者提出了两个问题:
第一:直接最小化预测框与目标框之间的归一化距离是否可行,以达到更快的收敛速度。

第二:如何使回归在与目标框有重叠甚至包含时更准确、更快。

好的目标框回归损失应该考虑三个重要的几何因素:重叠面积,中心点距离,长宽比。基于问题一,作者提出了DIoU Loss,相对于GIoU
Loss收敛速度更快,该Loss考虑了重叠面积和中心点距离,但没有考虑到长宽比;针对问题二,作者提出了CIoU Loss,其收敛的精度更高,以上三个因素都考虑到了。

通常基于IoU-based的loss可以定义为

其中在这里插入图片描述
定义为预测框B 和目标框 B^gt的惩罚项
DIOU的惩罚项表示为
在这里插入图片描述
其中b和b^{gt} 分别表示B 和B^{gt} 的中心点,ρ(∙)表示欧式距离,c 表示B和 B^{gt}的最小外界矩形的对角线距离,如下图所示。
在这里插入图片描述
可以将DIoU替换IoU用于NMS算法当中,也即论文提出的DIoU-NMS,实验结果表明有一定的提升。
DIoU Loss function定义为:

在这里插入图片描述
在这里插入图片描述

5.CIoU Loss (Complete-IoU Loss)

在这里插入图片描述

效果提升对比
在这里插入图片描述
上表中左边是用5种不同Boudning Box Regression Loss Function的对比,右边是以IoU和GIoU来计算的2种Evaluation的结果;GIoU相对IoU会有2.49点提升,DIoU相对IoU会有3.29点提升,CIoU会有大概5.67点提升,CIoU结合DIoU-NMS使用效果最好,大概会有5.91点提升。

ref: https://zhuanlan.zhihu.com/p/104236411
相关代码实现

写文章

热门文章

  • 树莓派4b基础入门 29254
  • ubuntu查看内存占用和查看cpu使用情况的2种方法 12609
  • vim中文乱码解决方法 11393
  • 经典NMS算法详解 8516
  • rknn3399pro 2小时入门指南(三)在PC上搭建RKNN模拟环境、 模型转换代码、RK3399 pro使用 7671

分类专栏

  • 书生浦语LLM大模型从入门到精通 付费 9篇
  • AI嵌入式设备 付费 16篇
  • python-opencv 图像处理 付费 10篇
  • 目标检测速成计划 付费 13篇
  • 常见环境安装和使用 付费 45篇
  • mmdetection从入门到精通 11篇
  • 科研小技巧 3篇
  • WEB入门到实践 1篇
  • 3d视觉从入门到实践 1篇
  • AI相关竞赛方案汇总 8篇
  • 语义slam 1篇
  • pytorch入门到熟练 13篇
  • mmsegmentation从入门到精通 2篇
  • pyqt5制作界面 1篇
  • 制作obj-detect数据集 1篇
  • ROS 2篇
  • Docker 3篇
  • 目标检测论文精读 12篇
  • c++从入门到吃灰 5篇
  • 剑指offer(python版) 2篇
  • keras深度学习 5篇
  • flask从入门到放弃 4篇
  • 人工智能学习路线和资源整理 8篇
  • 深度学习、知识点、小技巧汇总 15篇
  • 机器学习 1篇

最新评论

  • pytorch深度学习和入门实战(七)模型集成训练

    AI扩展坞: 还行吧,要看你配置

  • pytorch深度学习和入门实战(七)模型集成训练

    阿兑dui: 请问作者运行的时候速度快吗

  • zotero在不同系统的安装(win/linux)

    xiao520_520: 为什么在linux上装出现错误:./zotero: line 20: /opt/Zotero_linux-i686/zotero-bin: cannot execute: required file not found zotero启动不了,求解答

  • pytorch深度学习和入门实战(七)模型集成训练

    地大停车第二帅: 为什么我这样一起训练,只有一个模型能梯度下降,其他都损失都不变了。单独训练时候就可以

  • pytorch深度学习和入门实战(七)模型集成训练

    AI扩展坞: 谢谢夸奖

最新文章

  • 香橙派AIpro基础功能使用指南
  • 【第 8 节】大模型微调数据构造(补充课程)
  • 【第3节】“茴香豆“:搭建你的 RAG 智能助理
2024年11篇
2023年16篇
2022年16篇
2021年29篇
2020年85篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI扩展坞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家河源玻璃钢景观人物雕塑曲阳玻璃钢仿真鹤雕塑福建玻璃钢孔子雕塑厂家商场门前美陈浙江室外玻璃钢花盆河南玻璃钢卡通雕塑奶牛厂家河南公园玻璃钢花盆黄山抽象玻璃钢雕塑市场园林玻璃钢雕塑直销江苏节庆商场美陈销售企业苏州小区玻璃钢雕塑定做玻璃钢雕塑翻模补膜黄粘土玻璃钢雕塑加工厂哪里好商场美陈形象玻璃贴吧安徽学校玻璃钢雕塑制作昆明哪有玻璃钢卡通雕塑宁德玻璃钢雕塑设计玻璃钢民族雕塑江门玻璃钢雕塑工艺玻璃钢荷花荷叶雕塑昌吉景区玻璃钢雕塑徐汇区玻璃钢雕塑价格河南省玻璃钢人物雕塑玻璃钢卡通雕塑公仔定做浦东新区玻璃钢雕塑要多少钱山东玻璃钢商场美陈山东主题商场美陈玻璃钢公园人物雕塑设计山东景观玻璃钢雕塑方法淮北户内玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化