anchor free系列检测方法
Posted 爆米花好美啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了anchor free系列检测方法相关的知识,希望对你有一定的参考价值。
one stage和two stage是目标检测的主流方法,最近由deng老板引领的anchor free方法另辟蹊径,以关键点检测为基础来做检测,也算是one stage的一种吧
CornerNet
]预测图片上所有物体的左上角、右下角,然后后处理时再组合在一起。第一篇用关键点做检测,无需设置anchor的文章,但是还是有很多问题的
- 左上角、右下角语义信息比较弱,很难检测到,因此文章引入Cornerpool来改善这个问题
- 由于是bottom-up结构,还需要后处理组合在一起
ExtremeNet
改进Cornernet,本质上Cornernet还是top down结构,因为左上角和右下角其实算是bbox的另一种形式,它不是直接和物体的语义特征相关的,局部的外观特征不一致,一个人姿势不同左上角完全不一样。虽然引入了Corner pooling也只是部分缓解;cornetnet的后处理需要把左上角和右下角正确的组合起来,它利用的是geometric grouping,学习一个embeding,然后组合起来。
而Extremenet的不同点是检测边缘点,最左边最右边最上边最下边的极值点,这些点是有明确的语义特征,而且局部外观特征是一致的,容易被检测到;后处理进行组合时不需要隐式地去学习embeding,而是直接根据外观特征进行组合。
问题
- 速度慢,需要检测的点更多了(每类都要上下左右中)
- 需要标注extreme point,不过可以通过coco的segmentation得到,或者重新找人标注,文章说比标注bbox更便宜
- 比Cornernet没有明显提升
CenterNet(Objects as Points)
超喜欢的一篇工作,算是top-down,不需要nms等后处理。
没有anchor的设置(和yolov1一样),检测物体的中心点,然后从中心点出发回归wh,或者做其他应用3d检测等
- 利用关键点检测网络,预测一个heatmap,每个点代表一个物体,可能出现两个物体的中心点落在同一个heatmap的格子里,不过作者计算发现这种情况太少了
- 由于heatmap是原图的1/S,出现了量化误差。所以还需要一个加个regress网络需要中心点的偏移
- 但是中心点有时候不在物体上面,还是存在语义问题,根据作者提供的消融实验,换成gt的中心点,精度大幅提升
开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系
以上是关于anchor free系列检测方法的主要内容,如果未能解决你的问题,请参考以下文章
YOLO系列中Anchor Based和Anchor Free的相爱相杀