Anchor-free目标检测 | 工业应用更友好的新网络(3)
贡献:
1.通过检测bbox的一对角点来检测出目标。
2.提出corner pooling,来更好的定位bbox的角点。
上图是top-left corner的 Corner Pooling过程。在水平方向,从最右端开始往最左端遍历,每个位置的值都变成从最右到当前位置为止,出现的最大的值。同理,bottom-right corner的Corner Pooling则是最左端开始往最右端遍历。同样的,在垂直方向上,也是这样同样的Pooling的方式。
以左上角点为例,当我们决定此点是否个corner点的时候,往往会沿着水平的方向向右看,看看是否与物体有相切,还会沿着垂直方向向下看,看看是否与物体相切。简而言之,其实corner点是物体上边缘点和坐边缘点的集合,因此在pooling的时候通过Corner Pooling的方式能够一定程度上体现出当前点出发的射线是否与物体相交。
ExtremeNet:
作者使用了最佳的关键点估计框架,通过对每个目标类预测4个多峰值的heatmaps来寻找极值点。另外,作者使用每个类center heatmap来预测目标中心。仅通过基于几何的方法来对极值点分组,如果4个极值点的几何中点在center map上对应的分数高于阈值,则这4个极值点分为一组。
offset的预测是类别无关的,而极值点的预测是类别相关的。对每种极值点heatmap,不包含center map,预测2张offset map(分别对应XY轴方向)。网络的输出是5xC heatmaps和4x2offset maps,C是类别数。
分组算法的输入是每个类的5个heatmaps,一个center heatmap和4个extreme heatmaps,通过检测所有的峰值来提取出5个heatmaps的关键点。给出4个极值点,计算几何中心,如果几何中心在center map上对应高响应,那么这4个极值点为有效检测。作者使用暴力枚举的方式来得到所有有效的4个关键点。
贡献:
1.将关键点定义为极值点。
2.根据几何结构对关键点进行分组。
CornerNet和ExtremeNet的区别:
1.CornerNet通过预测角点来检测目标的,而ExtremeNet通过预测极值点和中心点来检测目标的。
2.CornerNet通过角点embedding之间的距离来判断是否为同一组关键点,而ExtremeNet通过暴力枚举极值点、经过中心点判断4个极值点是否为一组。
FSAF:
让每个实例选择最好的特征层来优化网络,因此不需要anchor来限制特征的选择。
一个anchor-free的分支在每个特征金字塔层构建,独立于anchor-based的分支。和anchor-based分支相似,anchor-free分支由分类子网络和回归子网络。一个实例能够被安排到任意层的anchor-free分支。训练期间,基于实例的信息而不是实例box的尺寸来动态地为每个实例选择最合适的特征层。选择的特征层学会检测安排的实例。推理阶段,FSAF模块和anchor-based分支独立或者联合运行。
在RetinaNet的基础上,FSAF模块引入了2个额外的卷积层,这两个卷积层各自负责anchor-free分支的分类和回归预测。具体的,在分类子网络中,feature map后面跟着K个3x3的卷积层和sigmoid,在回归子网络中,feature map后面跟着4个3x3的卷积层和ReLU。
实例输入到特征金字塔的所有层,然后求得所有anchor-free分支focal loss和IoU loss的和,选择loss和最小的特征层来学习实例。训练时,特征根据安排的实例进行更新。推理时,不需要进行特征更新,因为最合适的特征金字塔层自然地输出高置信分数。
FCOS:
和语义分割相同,检测器直接将位置作为训练样本而不是anchor。具体的,如果某个位置落入了任何gt中,那么该位置就被认为是正样本,并且类别为该gt的类别。基于anchor的检测器,根据不同尺寸安排anchor到不同的特征层,而FCOS直接限制边界框回归的范围(即每个feature map负责一定尺度的回归框)。
Center-ness:
为了剔除远离目标中心的低质量预测bbox,作者提出了添加center-ness分支,和分类分支并行。
优点:
1.将检测和其他使用FCN的任务统一起来,容易重用这些任务的思想。
2.proposal free和anchor free,减少了超参的设计。
3.不使用trick,达到了单阶段检测的最佳性能。
4.经过小的修改,可以立即拓展到其他视觉任务上。
FoveaBox:
人类眼睛的中央凹:视野(物体)的中心具有最高的视觉敏锐度。FoveaBox联合预测对象中心区域可能存在的位置以及每个有效位置的边界框。由于特征金字塔的特征表示,不同尺度的目标可以从多个特征层中检测到。
FoveaBox添加了2个子网络,一个子网络预测分类,另一个子网络预测bbox。
Object Fovea:
目标的中央凹如上图所示。目标中央凹只编码目标对象存在的概率。为了确定位置,模型要预测每个潜在实例的边界框。
FSAF、FCOS、FoveaBox的异同点:
1.都利用FPN来进行多尺度目标检测。
2.都将分类和回归解耦成2个子网络来处理。
3.都是通过密集预测进行分类和回归的。
4.FSAF和FCOS的回归预测的是到4个边界的距离,而FoveaBox的回归预测的是一个坐标转换。
5.FSAF通过在线特征选择的方式,选择更加合适的特征来提升性能,FCOS通过center-ness分支剔除掉低质量bbox来提升性能,FoveaBox通过只预测目标中心区域来提升性能。
总结:
1.各种方法的关键在于gt如何定义
2.主要是基于关键点检测的方法和密集预测的方法来做Anchor-Free
3.本质上是将基于anchor转换成了基于point/region
下一期我们详细说说商汤的《CentripetalNet: Pursuing High-quality Keypoint Pairs for Object Detection》,基于向心偏移的anchor-free目标检测网络centripetalnet,为基于关键点的目标检测方法研究带来了新思路。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。
隔离器相关文章:隔离器原理 电流传感器相关文章:电流传感器原理