共计 2629 个字符,预计需要花费 7 分钟才能阅读完成。
CentripetalNet 的外围在于新的角点匹配形式,额定学习一个向心偏移值,偏移值足够小的角点即为匹配,绝对于 embedding 向量的匹配形式,这种办法更为鲁棒,解释性更好。另外论文提出的十字星变形卷积也很好地贴合角点指标检测的场景,加强角点特色
起源:晓飞的算法工程笔记 公众号
论文: CentripetalNet: Pursuing High-quality Keypoint Pairs for Object Detection
- 论文地址:https://arxiv.org/abs/2003.09119
- 论文代码:https://github.com/KiveeDong/CentripetalNet
Introduction
CornerNet 关上了指标检测的新形式,通过检测角点进行指标的定位,在角点的匹配上,减少了额定 embedding 向量,向量间隔较小的角点即为匹配。而论文认为,这种办法不仅难以训练,而且仅通过物体外表进行预测,不足指标的地位信息。对于类似物体,embedding 向量很难进行特定的表白,如图 1 所示,类似的物体会造成错框景象。
为此,论文提出了 CentripetalNet,外围在于提出了新的角点匹配形式,额定学习一个向心偏移值,偏移值足够小的角点即为匹配。绝对于 embedding 向量,这种办法更为鲁棒,解释性更好。另外,论文还提出十字星变形卷积,针对角点预测的场景,在特征提取时可能精确地采样要害地位的特色。最初还减少了实例宰割分支,可能将网络拓展到实例宰割工作中。
CentripetalNet
如图 2 所示,CentripetalNet 蕴含四个模块,别离为:
- 角点预测模块(Corner Prediction Module):用于产生候选角点,这部分跟 CornerNet 一样。
- 向心偏移模块(Centripetal Shift Module):预测角点的向心偏移,并依据偏移后果将相近的角点成组。
- 十字星变形卷积(Cross-star Deformable Convolution):针对角点场景的变形卷积,可能高效地加强角点地位的特色。
- 实例宰割分支(Instance Mask Head):相似 MaskRCNN 减少实例宰割分支,可能晋升指标检测的性能以及减少实例宰割能力。
Centripetal Shift Module
Centripetal Shift
对于 $bbox^i=(tlx^i,tly^i,brx^i,bry^i)$,几何核心为 $(ctx^i, cty^i)=(\frac{tlx^i+brx^i}{2}, \frac{tly^i+bry^i}{2})$,定义左上角点和右下角点的向心偏移为:
$log$ 函数用来缩小向心偏移的数值范畴,让训练更容易。在训练时,因为非 GT 角点须要联合角点偏移计算向心偏移,比较复杂,如图 a 所示,所以仅对 GT 角点应用 smooth L1 损失进行向心偏移训练:
Corner Matching
属于同一组的角点应该有足够近的中心点,所以在失去向心偏移和角点偏移后,可依据角点对应的中心点判断两个角点是否对应。首先将满足几何关系 $tlx < brx \wedge tly < bry$ 的角点组合成预测框,每个预测框的置信度为角点置信度的均值。接着,如图 c 所示,定义每个预测框的核心区域:
$R_{central}$ 的角点计算为:
$0 < \mu \le 1$ 为核心区域对应预测框边长的比例,依据向心偏移计算出左上角点的中心点 $(tl_{ctx}, tl_{cty})$ 和右下角点的中心点 $(br_{ctx}, br_{cty})$,计算满足核心区域关系 $(tl^j_{ctx}, tl^j_{cty})\in R^j_{central} \wedge (br^j_{ctx}, br^j_{cty})\in R^j_{central}$ 的预测框的权值:
从公式 5 能够看出,角点对应的中心点的间隔越近,预测框的权值越高,对于不满足中心点几何关系的预测框,权值间接设为 0,最初,使用权值对置信度进行加权输入。
Cross-star Deformable Convolution
为了让角点感知指标的地位信息,coner pooling 应用 max 和 sum 来进行指标信息的程度和垂直传递,导致输入的特色图存在十字星景象,如图 4a 所示,十字星的边界蕴含了丰盛的上下文信息。为了进一步提取十字星边界的特色,不仅须要更大的感触域,还须要适应其非凡的几何构造,所以论文提出了十字星变形卷积。
但并不是所有的边界特色都是有用的,对于左上角点而言,因为十字星的左上部边界特色在指标的内部,所以其对左上角点是绝对无用的,所以论文应用偏移疏导 (guiding shift) 来显示疏导偏移值 (offset field) 的学习,偏移疏导如图 b 所示。偏移值共通过三个卷积层取得,前两个卷积层转化 corner pooling 的输入,通过上面的损失函数有监督学习:
$\delta$ 为偏移疏导,定义为:
第三层卷积将特色映射为最终偏移值,外延了指标的上下文信息和几何信息。
论文对不同的采样办法进行了可视化,能够看到论文提出的十字星变形卷积的成果合乎预期,左上角点对应的采样点均为十字星的右下部边界。
Instance Mask Head
为了获取实例宰割的后果,论文取 soft-NMS 前的检测后果作为候选框,应用全卷积网络进行 mask 预测。为了保障检测模块可能提供无效的候选框,先对 CentripetalNet 预训练几轮,而后取 top- k 候选框进行 RoIAlign 失去特色,应用间断四个卷积层提取特色,最初应用反卷积层进行上采样,训练时对每个候选框进行穿插熵损失:
Experiment
残缺的损失函数为:
$L_{det}$ 和 $L_{off}$ 跟 CornerNet 定义的一样,为预测框损失和角点偏移损失,$\alpha$ 设置为 0.005。
指标检测性能比照。
实例宰割性能比照。
CornerNet/CenterNet/CentripetalNet 可视化比照。
Conclusion
CentripetalNet 的外围在于新的角点匹配形式,额定学习一个向心偏移值,偏移值足够小的角点即为匹配,绝对于 embedding 向量的匹配形式,这种办法更为鲁棒,解释性更好。另外论文提出的十字星变形卷积也很好地贴合角点指标检测的场景,加强角点特色。
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】