【总结 Anchor-free1】Anchor-Free Keypoint方法总结以及思路分析

&Anchor-based的shortcoming

1) 使用anchor时,需要在每个特征尺度上密集平铺,而仅有很少一部分是正样本,即正负样本的比例差别很大;最终有很多计算都花费在无用样本,且一般使用时需要进行预处理,挖掘难负例;

2) 需要预定义的anchor size以及aspect ratio。检测性能会收到这些预定义的参数的影响,如果在每一个位置设定的anchor的数量太多,也会导致计算量成倍增长;

3) 使用axis-align的形式:

  • 由于anchor是针对特征图上的点进行提取的,并不是所有的像素点上都会提取对应的anchor,且在每个点上提取的anchor的数量也不尽相同,如果只使用axis-align形式,最终结果可能对于那个bbox中心不在特征图上的点不大友好,最终影响整体的精度;当然,目前也有针对该问题做出的调整,如可以通过预测中心点偏移,参照RepDet中的Adaptive Convolution方法
  • 使用box来作为一个目标的回归结果,仍然会在其中包含大量的背景信息,尤其是在边角区域,而且对于斜放的细长目标会造成更大的影响。在这个方向上,也存在一些改进方式,如ExtremNet提出的使用八边形来描述一个目标,(Segmentation is All You Need)论文中也提出将目标的范围通过椭圆精细化。

 

&Anchor-free方法以及具体思想

1) YOLOv1

YOLOv1摒弃了anchor,使用grid来负责每一块区域的目标检测。主要思想就是将整张图片划分为S×S(7×7)个grid,每个网格检测B(2)个bbox。

分享图片

按照论文讲述的结果,先将图片resize到448×448;然后输入到CNN中,最终输出一个7×7×30的矩阵,其中30表示的是20个类别得分,2个回归框的信息(x, y, w, h, confidence);将最终的结果使用NMS进行处理。

分享图片

显而易见,网上有人觉得这也是anchor的一种变种,但是,我认为这已经不再是anchor,反倒观点更接近于通过点来对bbox回归的思想。只不过YOLOv1是通过先将整张图片分成了多个网格,对应的中心落在该网格内的目标则由这个网格来回归。

Pros

  • 处理速度很快。YOLOv1的运行速度因为预处理部分很简单,只是简单地进行resize,之后直接使用CNN网络进行回归,在后处理中也只是用到了NMS,且最终得到的bbox回归框的个数极少。
  • 降低背景误检。相比于anchor-based方法会提取很多的anchor出来,YOLOv1在运算过程中,会使用到的“anchor”相当少,至多只有7×7×2个。

Cons

  • 模型精度低。因为在运算中使用了很少的box,而且还定义了一个grid至多能识别的目标的数量,对于无目标与多目标存在同一个grid中的情况很不友好。且模型是从数据中学习预测bbox,最终对于新的或者不寻常的aspect ratio或者configuration的目标很难识别,由于使用了多层的卷积层,最终使用到的特征的信息很粗糙。
  • 不适用于密集目标检测。同理。
  • 有着很强的空间限制因为YOLOv1在一个grid中至多只能识别两个目标,而且只能识别一个类。
  • 损失函数等同对待小bbox以及大bbox的误差。

总而言之,YOLOv1可视为anchor-free论文的第一篇发迹文。之后就迎来了anchor-free方面论文的并发期,之后最基础的方法就是CenterNet以及CornerNet。

 

2) CenterNet

CenterNet的主要思想是通过中心点的信息来回归出其他bbox的属性,如中心点与四条边的距离、姿势、方向等信息。

分享图片

首先,CenterNet会计算keypoint heatmap,然后通过网络直接回归出需要使用的信息。这种方法简单、快速、高效而且没有任何的NMS的后处理操作,可以直接端到端地进行训练。但是,只使用中心点进行回归,显然会使得获取的信息过少,可能不足以支撑回归出如此有效的信息,最终影响到检测性能。不过可能是由于其回归的信息很充分,增强了各种信息的表征能力使得能够对结果有所提升,【愚见,之后会重温】

 

3) CornerNet

相比CenterNet从中心点来回归出边界距离获得bbox来说,CornerNet反其道而行,直接使用两个角点:top-left,bottom-right,直接定义bbox,以一组角点来确定一个目标。

分享图片

首先,CornerNet计算出top-left以及bottom-right两个heatmaps,其中分别表明图中的top-left以及bottom-right点的信息,然后通过embeded方法计算top-left集合以及bottom-right集合中点的距离,将距离最近的点分为一个组,作为最终的bbox。其中也是用了一些改进方法,如Corner-Pool,使得计算角点更精确。

当然,这种想法也很好,但是却不可避免地引入了分组的计算算法,增加了计算难度,同时与CenterNet类似,即便此时使用了两个角点的信息来确定一个bbox,此时的角点由于使用了Corner Pool方法融入了更多边的信息,不可避免地导致网络对于边更加敏感,而且忽略了更多的内部细节

 

4) CenterNet-Triplets

这种方法粗略来看就相当于整合了Center以及Corner的信息,相当于在CornerNet的基础上增加了Center的信息作为其中一个判别标准。Corner的heatmaps的生成仍然像CornerNet中一样,只不过多增加一个分支为center heatmap,corner分组后需要判断其中是否包含有center heatmap中的点,没有就可以直接排除。剩下的与CornerNet相似。

分享图片

此外,考虑到corners对目标框中的内部信息把握不准,在CornerPool的基础上进行改进,提出了Cascade Corner Pool,使得corner也能编码一些内部的信息,增强了点的表征力;与此同时,提出了Center Pool,获得水平方向以及竖直方向上的最大值,也能够表示更多的信息。

 分享图片

但是,其一,我觉得使用的Cascade Corner Pool的方法的表义不明,即便在进行第二步的时候确实获取了一些框内的信息,增强了点的表征力,但是使用到的这个内部信息的表义却不是很明确,只能说明加入了一些内部信息时确实对结果产生了有利影响;其次使用到的信息仍然不够,尤其是对回归框的内部信息的使用,虽然使用到了center heatmap,但是最后只是用来做辨别,相当于没有完全利用这部分的信息。

因此在这个基础上是否可以将center的信息也利用进回归框的信息预测中,不过需要考虑一下怎么使用,而且ExtremeNet使用的方法与之也有相同之处

 

5) ExtremNet

ExtremeNet使用到了4条边的极值点,以及中心点,在CenterNet-Triplets的基础上将预测的角点分解为边的极值点,同时分组不再按照embeded计算的距离,而是随机分组。

 分享图片 

首先,网络计算得到5个heatmaps,分别为top、left、bottom、right以及center heatmap,其中top、left、right以及bottom仍然作为bbox获取的途径,每次从其中任取一个点作为一个bbox的四个极值点,然后计算其逻辑中心,如果在center heatmap中存在,则将之视为一个bbox,用作回归过程。

该方法,从分组的方式上来看,显然这个计算量是很大的。其余除了比CenterNet-Triplets多了一些边上的信息外,存在着与之相似的问题,而且网络对边缘的敏感更高

整体来看,这个方法就是对CenterNet-Triplets方法的分解,将Corner的预测转化为极值点的预测,显然,这些点所能包含的信息会更多一些,但增加的信息也有限,不过给我们提供了一个优化结果的思路;将任务分解为更细致的任务,获取到更多信息以及分解任务间的关联性可能会对网络产生好的影响

【注】之后会增加RepDet的内容,同时将使用的密集点检测的Anchor-free的方法也做进一步的总结。

相关文章
相关标签/搜索
2019香港 六 合 彩资料大全 津南区| 台中市| 勐海县| 昭觉县| 大洼县| 湘乡市| 梁山县| 江门市| 纳雍县| 南华县| 平武县| 项城市| 吉林省| 会同县| 太仆寺旗| 新乐市| 淮北市| 宜州市| 延长县| 景洪市| 新丰县| 华池县| 彩票| 康平县| 呼图壁县| 岑巩县| 涞水县| 缙云县| 宝兴县| 曲靖市| 谢通门县| 太原市| 大荔县| 江北区| 金沙县| 开平市| 霍林郭勒市| 广河县| 彭州市| 宝山区| 沈丘县| 越西县| 东乌| 瑞昌市| 贞丰县| 两当县| 佛学| 巴彦县| 英吉沙县| 灵丘县| 鄂州市| 包头市| 防城港市| 澄江县| 麻阳| 新郑市| 出国| 兴化市| 洛宁县| 铅山县| 瓦房店市| 东平县| 理塘县| 沭阳县| 峨眉山市| 射洪县| 新营市| 桦川县| 武平县| 于田县| 宁安市| 光泽县| 日照市| 沙洋县| 大同市| 乐昌市| 涞源县| 广元市| 灌阳县| 正蓝旗| 新和县| 铜鼓县| 慈利县| 宜宾县| 青海省| 永吉县| 娱乐| 东阳市| 怀来县| 宽城| 卓尼县| 衡山县| 耿马| 科尔| 新源县| 缙云县| 怀化市| 璧山县| 佛教| 扶绥县| 吴忠市| 荃湾区| 融水| 永新县| 姜堰市| 同江市| 磴口县| 砚山县| 新巴尔虎右旗| 滨州市| 锦屏县| 广灵县| 云梦县| 盈江县| 普定县| 蒲江县| 白玉县| 湘潭县| 微山县| 海伦市| 黄龙县| 新安县| 溧水县| 石屏县| 沁源县| 濮阳县| 曲麻莱县| 娄底市| 册亨县| 尉犁县| 长顺县| 偃师市| 固始县| 巴林左旗| 新安县| 体育| 高雄县| 沅江市| 竹北市| 友谊县| 和平县| 贵德县| 时尚| 孟州市| 乌拉特后旗| 长丰县| 原平市| 湘西| 呼玛县| 东乡族自治县| 嵊泗县| 大邑县| 绥芬河市| 屏南县| 和政县| 如皋市| 巫山县| 海南省| 松滋市| 济源市| 烟台市| 临澧县| 怀柔区| 台东市| 古丈县| 陇南市| 和硕县| 罗甸县| 毕节市| 沧州市| 海安县| 湾仔区| 营口市| 石首市| 石门县| 高青县| 克山县| 和顺县| 镇康县| 临沂市| 富平县| 定陶县| 紫阳县| 五峰| 潍坊市| 南康市| 蚌埠市| 苏州市| 襄汾县| 柳林县| 阿鲁科尔沁旗| 山阳县| 汉川市| 宁海县| 萨迦县| 栾川县| 专栏| 玉门市| 富阳市| 上犹县| 思南县| 华阴市| 弥勒县| 黄龙县| 长宁县| 永康市| 余姚市| 七台河市| 余庆县| 当阳市| 鲜城| 乌审旗| 桂林市| 永安市| 萨嘎县| 滦平县| 汉寿县| 武功县| 天气| 雅江县| 阿坝| 固镇县| 横峰县| 南郑县| 沅江市| 湘西| 三河市| 双桥区| 金湖县| 莱西市| 湟源县| 广灵县| 嘉荫县| 上饶市| 明水县| 浪卡子县| 揭东县| 正镶白旗| 潮安县| 东平县| 文成县| 仲巴县| 江都市| 花莲县| 鹤岗市| 石门县| 博乐市| 赤城县| 逊克县| 安泽县| 皮山县| 崇信县| 会东县| 玉环县| 长海县| 张掖市| 林州市| 瑞安市| 五指山市| 石屏县| 象山县| 白河县| 洪洞县| 杭锦旗| 依兰县| 蒙阴县| 涟源市| 长汀县| 冀州市| 小金县| 龙江县| 军事| 临城县| 蕲春县| 游戏| 刚察县| 太和县| 会东县| 吉首市| 宁津县| 高淳县| 安化县| 明光市| 永昌县| 新疆| 大宁县| 金平| 兴化市| 林周县| 鞍山市| 宁德市| 石嘴山市| 陵水| 紫阳县| 深水埗区| 罗江县| 华池县| 称多县| 东安县| 宜宾县| 息烽县| 芜湖县| 岚皋县| 瑞安市| 五华县| 红桥区| 宜昌市| 襄汾县| 金湖县| 娄底市| 基隆市| 藁城市| 探索| 长沙县| 招远市| 平定县| 中江县| 望奎县| 高州市| 清徐县| 竹溪县| 威信县| 西乡县| 银川市| 泽州县| 东丰县| 德兴市| 获嘉县| 孟津县| 铁岭县| 普洱| 青岛市| 永吉县| 广州市| 新巴尔虎左旗| 赤水市| 紫云| 定结县| 鞍山市| 乌兰察布市| 漯河市| 英山县| 安溪县| 北京市| 玉屏| 普陀区| 三原县| 绩溪县| 宕昌县| 广宁县| 搜索| 哈巴河县| 科技| 温宿县| 岳西县| 双峰县| 米易县| 都江堰市| 诏安县| 烟台市| 法库县| 井陉县| 思南县| 巴林左旗| 连江县| 萨嘎县| 阜平县| 保康县| 新源县| 铁力市| 芒康县| 都兰县| 靖远县| 宿州市| 唐河县| 新乡市| 永新县| 宿迁市| 家居| 黑河市| 石屏县| 鄢陵县| 四川省| 张掖市| 闸北区| 双鸭山市| 新沂市| 雅江县| 古丈县| 南城县| 亳州市| 宣化县| 乐都县| 沈丘县| 敦化市| 繁峙县| 华蓥市| 南康市| 开远市| 油尖旺区| 澎湖县| 土默特右旗| 文山县| 那坡县| 苍梧县| 苍南县| 柏乡县| 凉城县| 六枝特区| 都昌县| 基隆市| 海盐县| 昌都县| 高邮市| 钟祥市| 汉中市| 静海县| 射阳县| 长岭县| 汪清县| 定南县| 中江县| 江陵县| 鄂尔多斯市| 颍上县| 藁城市| 九龙坡区| 淮安市| 集安市| 确山县| 马公市| 秭归县| 城口县| 青龙| 思茅市| 元阳县| 纳雍县| 湖北省| 大冶市| 康平县| 玉田县| 新化县| 乌海市| 黔西县| 盘山县| 华宁县| 敖汉旗| 文登市| 于田县| 甘德县| 阿克| 城固县| 威信县| 金沙县| 湖南省| 黑河市| 潼关县| 古田县| 克拉玛依市| 黔江区| 英超| 平阴县| 和硕县| 乌兰县| 济宁市| 筠连县| 英德市| 凭祥市| 黄石市| 安乡县| 扶余县| 泉州市| 舒兰市| 遵化市| 资兴市| 台北县| 思南县| 乡宁县| 尤溪县| 桑日县| 河曲县| 滨州市| 马尔康县| 深圳市| 三穗县| 衡阳市| 淅川县| 大庆市| 和田县| 新乡市| 鄂温| 松溪县| 宜川县| 汤原县| 南澳县| 商南县| 西安市| 城步| 康马县| 博客| 韶关市| 浮梁县| 宝清县| 酉阳| 丰城市| 咸丰县| 抚松县| 乌兰县| 巢湖市| 松滋市| http://m.gz1980signalc.fun http://www.yqo9j6rl2v.fun http://m.gz1980stagec.fun http://m.bo2020paints.fun http://m.yqo1j5rl3v.fun http://www.gz1980zissc.fun http://www.bo2020zessages.fun http://www.yqo9j9rl0v.fun http://www.gz1980arrayc.fun http://wap.gz1980prizec.fun http://m.bo2020nazes.fun http://www.yqo6j7rl4v.fun http://wap.yqo8j4rl8v.fun http://m.gz1980issuec.fun http://wap.gz1980wrongc.fun