目标检测:Anchor-Free时代( 二 )


对于每个角点来说 , 只有一个gt正例位置 , 其他都为负例位置 。 训练时 , 以正例位置为圆心 , 设置半径为r的范围内 , 减少负例位置的惩罚(采用二维高斯的形式) , 如上图所示 。
Grouping Corners
受到多人姿态估计论文的启发 , 基于角点embedding之间的距离来对角点进行分组 。
Corner Pooling
目标检测:Anchor-Free时代文章插图
在每个pixel位置 , 最大池化第一个feature map右方的所有特征向量 , 最大池第二个feature map下方的所有特征向量 , 然后将两个池化结果相加 。
4.ExtremeNet两个贡献:
1.将关键点定义为极值点 。
2.根据几何结构对关键点进行分组 。
目标检测:Anchor-Free时代文章插图
作者使用了最佳的关键点估计框架 , 通过对每个目标类预测4个多峰值的heatmaps来寻找极值点 。 另外 , 作者使用每个类center heatmap来预测目标中心 。 仅通过基于几何的方法来对极值点分组 , 如果4个极值点的几何中点在center map上对应的分数高于阈值 , 则这4个极值点分为一组 。
目标检测:Anchor-Free时代文章插图
offset的预测是类别无关的 , 而极值点的预测是类别相关的 。 center map没有offset预测 。 网络的输出是5xC heatmaps和4x2offset maps , C是类别数 。
Center Grouping
目标检测:Anchor-Free时代文章插图
分组算法的输入是每个类的5个heatmaps , 一个center heatmap和4个extreme heatmaps , 通过检测所有的峰值来提取出5个heatmaps的关键点 。 给出4个极值点 , 计算几何中心 , 如果几何中心在center map上对应高响应 , 那么这4个极值点为有效检测 。 作者使用暴力枚举的方式来得到所有有效的4个关键点 。
CornerNet和ExtremeNet的区别:
1.CornerNet通过预测角点来检测目标的 , 而ExtremeNet通过预测极值点和中心点来检测目标的 。
2.CornerNet通过角点embedding之间的距离来判断是否为同一组关键点 , 而ExtremeNet通过暴力枚举极值点、经过中心点判断4个极值点是否为一组 。
密集预测5 FSAF
Motivation
让每个实例选择最好的特征层来优化网络 , 因此不需要anchor来限制特征的选择 。
目标检测:Anchor-Free时代文章插图
一个anchor-free的分支在每个特征金字塔层构建 , 独立于anchor-based的分支 。 和anchor-based分支相似 , anchor-free分支由分类子网络和回归子网络 。 一个实例能够被安排到任意层的anchor-free分支 。 训练期间 , 基于实例的信息而不是实例box的尺寸来动态地为每个实例选择最合适的特征层 。 选择的特征层学会检测安排的实例 。 推理阶段 , FSAF模块和anchor-based分支独立或者联合运行 。
Feature Selective Anchor-Free Module
目标检测:Anchor-Free时代文章插图
在RetinaNet的基础上 , FSAF模块引入了2个额外的卷积层 , 这两个卷积层各自负责anchor-free分支的分类和回归预测 。 具体的 , 在分类子网络中 , feature map后面跟着K个3x3的卷积层和sigmoid , 在回归子网络中 , feature map后面跟着4个3x3的卷积层和ReLU 。
Ground-truth
目标检测:Anchor-Free时代文章插图
白色为有效区域 , 灰色为忽略区域 , 黑色为负样本区域 。
Online Feature Selection
目标检测:Anchor-Free时代文章插图
实例输入到特征金字塔的所有层 , 然后求得所有anchor-free分支focal loss和IoU loss的和 , 选择loss和最小的特征层来学习实例 。 训练时 , 特征根据安排的实例进行更新 。 推理时 , 不需要进行特征更新 , 因为最合适的特征金字塔层自然地输出高置信分数 。
6 FCOS
四个优点:
1.将检测和其他使用FCN的任务统一起来 , 容易重用这些任务的思想 。
2.proposal free和anchor free , 减少了超参的设计 。
3.不使用trick , 达到了单阶段检测的最佳性能 。
4.经过小的修改 , 可以立即拓展到其他视觉任务上 。
目标检测:Anchor-Free时代文章插图
和语义分割相同 , 检测器直接将位置作为训练样本而不是anchor 。 具体的 , 如果某个位置落入了任何gt中 , 那么该位置就被认为是正样本 , 并且类别为该gt的类别 。 基于anchor的检测器 , 根据不同尺寸安排anchor到不同的特征层 , 而FCOS直接限制边界框回归的范围(即每个feature map负责一定尺度的回归框) 。