[![](https://zhuanlan.zhihu.com/p/68291859)](javascript:void\(0\))
![ZhiHu logo](../images/body-e1fa91dbdb48b8055184.png)
[](https://www.zhihu.com)
[关注](https://www.zhihu.com/signin?next=%2Ffollow)[推荐](https://www.zhihu.com/signin?next=%2F)[热榜](https://www.zhihu.com/signin?next=%2Fhot)[专栏](https://www.zhihu.com/signin?next=%2Fcolumn-square)[圈子](https://www.zhihu.com/signin?next=%2Fring-feeds)[AI WorksBeta ](https://www.zhihu.com/project-square)[故事](https://www.zhihu.com/fiore/h5/vip-web)
​
[直答](https://zhida.zhihu.com/)
切换模式
登录/注册
聊聊Anchor的"前世今生"（下）
首发于[Winsty的技术碎碎念](https://www.zhihu.com/column/winsty)
切换模式
# 聊聊Anchor的"前世今生"（下）
[![Naiyan Wang](../images/017.jpg)](https://www.zhihu.com/people/naiyan-wang)
[Naiyan Wang](https://www.zhihu.com/people/naiyan-wang)
[​![](../images/body-fc59311da016732b854e.png)](https://www.zhihu.com/question/48509984)
机器学习等 3 个话题下的优秀答主
[收录于 · Winsty的技术碎碎念](https://www.zhihu.com/column/winsty)
468 人赞同了该文章
大家好，欢迎回来！我们继续上次的anchor之旅。从今年年初开始，整个detection领域掀起了“去anchor化”的潮流。由于有很多的解读都具体介绍过这些方法技术方面的细节了，所以这篇文章不会再重复，只做一个粗略的总结，更多讲讲我个人对这个潮流的一些想法。个人认为市面上现有的anchor free的方法基本可以分为真假anchor free两类（这个名字只是开个玩笑，不要当真，而且两者的界限也没有那么清晰 :-D）：
**“真”anchor free**
这一类方法的鼻祖来自于[ECCV18](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=ECCV18&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJFQ0NWMTgiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.wPfzEB65E2BvJutFfsQT_MmBwOQ2JBPhiuNctE9RufE&zhida_source=entity)的工作[CornetNet](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=CornetNet&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJDb3JuZXROZXQiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.iXxhbbRMxTKomMejcSAYBgFUaIt_zHOcUdfhpHUP-Xk&zhida_source=entity)[8]，一篇真的把detection当做了bounding box的corner keypoint detection，且第一次能和其他box based方法打成平手的文章。这一类方法的核心思想是没有直接instance的概念，独立预测框左上角和右下角的位置，然后通过associative [embedding](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=embedding&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJlbWJlZGRpbmciLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.LHfAc_TfjkwccwPsf9FSt7aB--KGk0XPmNkM-nA85Sg&zhida_source=entity)的办法聚起来对应的左上角和右上角从而得到一个instance。如果有了解human keypoint detection的同学就会知道，这个pipeline是和bottom up的multi-person keypoint detection一模一样的。
![](../images/001.jpg)
比较可喜的是，这类方法在性能上展示了非常强大的潜力，在[Extreme](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=Extreme&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJFeHRyZW1lIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MTAzMzA0ODcwLCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.uK7-DqUQy7SgFKJqcFmVnfoRcuAuWBAxx_bE40R-aME&zhida_source=entity)Net[9]和[CenterNet](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=CenterNet&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJDZW50ZXJOZXQiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.kVrqV7rkjFOEykxUwFk0Y2bZSAu_JKsA7cLsHd4Szs4&zhida_source=entity)[6]的不断改进下，甚至有超越传统one stage detector的趋势，而且方法本身也可以受益于各种SOTA的keypoint detection算法的研究。但就本质而言，**框对于物体来说不是一个最好的表示。** 框的顶点可能甚至都不在物体上，离物体本身已经很远了。CornetNet为了缓解这个问题，使用了Corner Pooling的办法来聚集在边上的检测结果到顶点。不过就算使用了CornerPooling，只使用两个顶点会导致存在大量的误检。CenterNet[6]的想法很简单，既然这些虚无缥缈的顶点这么难预测，我们为什么不去预测更简单更容易的中心点呢？ 所以CenterNet在CornerNet的基础上加入了一支中心点预测，能够组成一个物体的要求不仅仅是两个顶点能匹配，同时这两个顶点定义的框的中心也要有对应的中心点相应，这样就缓解了很多奇怪的误检。CenterNet同时还提出了Center Pooling和Cascade Corner Pooling来改善对于中心点和顶点预测的精度。这里就不再展开，有兴趣的读者可以参阅原文。
![](../images/002.jpg)
另外一个比较有意思的工作是[RepPoints](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=RepPoints&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJSZXBQb2ludHMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.HD0K_72f_KhPY9XK3ps-WOBk5yRqr505WI-fDO-joLY&zhida_source=entity)，这篇文章没有走CornerNet的老路，尝试去预测顶点，而是直接去预测9个representative points（这些顶点并没有明确的语义），然后找出包围这9个点的最紧框去和GT计算loss。然后loss只会回传给对生成这个框有贡献的那些点。整个的思路很清晰，而且方便实现，结果也相当不错。
![](../images/003.jpg)
总结下这类方法：follow up工作不是很多，但是性能不俗。但是个人觉得这不会是这一类方法的终点：直接预测顶点虽然效果也不错，但是总是不是很直观；RepPoints的思路独树一帜，个人比较喜欢。后续这个思路应该可以延伸出一些直接使用更准确的mask为监督的工作，这也有可能是一条可以做出更干净更漂亮的[panoptic segmentation](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=panoptic+segmentation&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJwYW5vcHRpYyBzZWdtZW50YXRpb24iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.W1_pO1AN1r93pzxYzMxSG_8M9BC4lJr9Kg1w00wszj4&zhida_source=entity)之路。
**“假”anchor free**
这一类方法最早的起源是15年的工作[DenseBox](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=DenseBox&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJEZW5zZUJveCIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjEwMzMwNDg3MCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.Ykc6bft_5dDDT2rWDY7sfKTQM5sBA5L_OyYVDe8vjsQ&zhida_source=entity)[10]。（为了避免争议，这是第一篇在这个思想下我认为达到高质量完成度的工作）这一类方法的核心思想是改变one stage detector中对于：1)分类任务中assign正负样本的方式和 2)回归中target的设置。原本anchor based的方法，通过预先指定的anchor和GT的IoU来assign正负样本，回归的都是相对于anchor box的[偏移量](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=%E5%81%8F%E7%A7%BB%E9%87%8F&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiLlgY_np7vph48iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.Y2oq8Z_zB42bvIQltApdisIg6EZ7VzzzjvTEt4xriTg&zhida_source=entity)。在这一批工作中，由于没有anchor的存在，这个流程就简化成了：1) 对是不是某个物体的中心点附近进行分类。2) 对是中心点的位置，直接回归对应的scale（可以是长宽，也可以是到框四条边的距离等）。**核心思想是改变了[bounding box](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=2&q=bounding+box&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJib3VuZGluZyBib3giLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MiwiemRfdG9rZW4iOm51bGx9.kqmyw-RrFvrQ9yza-lQ5IMMXBYZni3mXYiEYZAuBwkk&zhida_source=entity)的编码方式。**最早了解到类似的思想是在自然场景文字检测中，EAST之类的方法提出了这样简单干净的[pipeline](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=2&q=pipeline&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJwaXBlbGluZSIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjEwMzMwNDg3MCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoyLCJ6ZF90b2tlbiI6bnVsbH0.eKsLK5DI6ucN7HCf6UHFaGSaTjoWzlngzIIlFG0SCP4&zhida_source=entity)，这样的想法加上一些改进也最终被运用到了[通用物体检测](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=%E9%80%9A%E7%94%A8%E7%89%A9%E4%BD%93%E6%A3%80%E6%B5%8B&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiLpgJrnlKjniankvZPmo4DmtYsiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.Ge25Sd5oh_3DNlSmlrLiT7tyGtdUtqftq2aF2Wowewo&zhida_source=entity)中。
核心思想是这样的论文有[1-5]，但是在细节上每篇处理不甚相同。FSAF[1]在网络中同时使用anchor based分支和anchor free分支，两支起到互补的作用，并在线选择了每个物体应该被assign到[FPN](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=FPN&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJGUE4iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.O4_wg18EIjEeU8OwNK0iCeDO828rT2W_XtNCanbKl-k&zhida_source=entity)的哪一层中；[FCOS](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=FCOS&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJGQ09TIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MTAzMzA0ODcwLCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.5MX2L1ZIZK1JsGnGw7ckVO1U5wtooK5tNayoEM1v7qQ&zhida_source=entity)[2]除预测上述提到的中心点和长宽之外，还额外预测了一支Centerness，在实验中证明对于抑制一些偏离中心很远的误检非常有作用；另一篇CenterNet[3]在这样的基础上更进一步，除了2D框的长宽之外，把其他各种任务所需要的信息（如[3D框](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=3D%E6%A1%86&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiIzROahhiIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjEwMzMwNDg3MCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.ugJeiByI9DBMf9xkWUpsh6uCCcXGpiZAOfU1UHdNqXI&zhida_source=entity)的大小和朝向，[深度信息](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=%E6%B7%B1%E5%BA%A6%E4%BF%A1%E6%81%AF&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiLmt7Hluqbkv6Hmga8iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.zkDPY8Gg19jcgGmeJI_P3xdIWIz7Rf9PXV-uLrk_vQk&zhida_source=entity)等等）都作为这个中心点要来预测的任务，大幅拓展了这样一个想法的适用范围。
上次说了这么多anchor的产生原因和好处，为什么突然在这个时间点anchor free的方法不约而同地火了起来呢？个人觉得，机缘巧合，**这个原因恰恰在于RetinaNet中两个重要的元素FPN和[Focal Loss](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=Focal+Loss&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJGb2NhbCBMb3NzIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MTAzMzA0ODcwLCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.O0FQRQdsH8wHEhM82yvYvYJiAWH8fqeVOIclfIgVbHc&zhida_source=entity)。**
首先说FPN，anchor free的做法相当于[feature map](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=feature+map&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJmZWF0dXJlIG1hcCIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjEwMzMwNDg3MCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.jIK0pS2AFIg3vQWzKkWfIm0OB5d7kWcO4BQglxE9jIk&zhida_source=entity)的每个位置只能输出一个框，可以想象，如果没有FPN这种多层级的表示，如果最终的feature map [downsample](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=downsample&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJkb3duc2FtcGxlIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MTAzMzA0ODcwLCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.0woi8K7ATPbwIUzk-NUlwK_zT4TzB33LaQPTyoUyxQc&zhida_source=entity)的倍数是8或者16，那么可能会有很多物体的中心点落在同一格子中。这样就会导致训练的时候有很大的歧义性。随着FPN的引入，不同scale的物体被分配到了不同的层级上，冲突的概率大大降低。在CenterNet中，作者还特意起计算了冲突的比例，实际不到0.1%，对于性能的影响实际上也是微乎其微的。回顾下在上一篇文章提到的引入anchor的一个motivation恰恰就是，在FPN中这样的问题被规避掉了，这是我认为anchor free方法回归的第一个重要原因。
再说[Focal loss](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=Focal+loss&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJGb2NhbCBsb3NzIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MTAzMzA0ODcwLCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.Tg5RoNJ3ES-Jn7tE3IznbA4fvWgjYP8sKm5q_vox9vo&zhida_source=entity)，由于物体的中心区域是远小于其他背景区域的，整个分类的[正负样本](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=3&q=%E6%AD%A3%E8%B4%9F%E6%A0%B7%E6%9C%AC&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiLmraPotJ_moLfmnKwiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MywiemRfdG9rZW4iOm51bGx9._z6zmnIQfuywfjgxYlQ0d2uzwTnJ0faIan3o6WxJqsc&zhida_source=entity)和难易样本是极不均衡的。直接训练这样的分类问题很难收敛到一个满意的结果。这样的问题其实在传统的one stage detector中同样存在，解决方案就是OHEM或者focal loss这样的加权办法。实测中，focal loss的结果会更好一些，所以[focal loss](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=3&q=focal+loss&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJmb2NhbCBsb3NzIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MTAzMzA0ODcwLCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjMsInpkX3Rva2VuIjpudWxsfQ.iTH3vI0v92WLu7ZggWqK4n6vq4JxwH2K20ZvG1q9qN0&zhida_source=entity)也基本上被所有这类的方法所采用。
不过个人觉得这些方法其实没有触及到one stage detector中的一个核心问题：框和对应feature的[misalignment](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=misalignment&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJtaXNhbGlnbm1lbnQiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.Oi3PDG7gyz3i8BAoaXGoh5BGhpSSXAjCIsBf5PaGXmk&zhida_source=entity)。这个问题有机会我会再和大家展开介绍。
**总结**
虽然现阶段anchor free的办法在性能和简洁性上都还没完全压倒anchor based的前辈，但是其中蕴含的一些思想还是比较值得深思的，比如前面提到的，在图像上一个物体的更好表示是什么？怎么去更好利用这样的表示？相信这次anchor free的潮流也势必会孕育这下一次[物体识别](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=%E7%89%A9%E4%BD%93%E8%AF%86%E5%88%AB&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiLniankvZPor4bliKsiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoxMDMzMDQ4NzAsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.nGAhDp1l_e9xiktGWBJG59CvCPBIBsEwEVRE-8GzTgc&zhida_source=entity)和分析领域的革命。
[1] Zhu, C., He, Y., & Savvides, M. (2019). Feature Selective Anchor-Free Module for Single-Shot Object Detection. _arXiv preprint arXiv:1903.00621_.
[2] Tian, Z., Shen, C., Chen, H., & He, T. (2019). FCOS: Fully Convolutional One-Stage Object Detection. _arXiv preprint arXiv:1904.01355_.
[3] Zhou, X., Wang, D., & Krähenbühl, P. (2019). Objects as Points _arXiv preprint arXiv:1904.07850_
[4] Kong, T., Sun, F., Liu, H., Jiang, Y., & Shi, J. (2019). FoveaBox: Beyond Anchor-based Object Detector. _arXiv preprint arXiv:1904.03797_.
[5] Liu, W., Liao, S., Ren, W., Hu, W., & Yu, Y. (2019). High-level Semantic Feature Detection: A New Perspective for Pedestrian Detection. _arXiv preprint arXiv:1904.02948_.
[6] Duan, K., Bai, S., Xie, L., Qi, H., Huang, Q., & Tian, Q. (2019). CenterNet: Keypoint Triplets for Object Detection. _arXiv[preprint](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=6&q=preprint&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJwcmVwcmludCIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjEwMzMwNDg3MCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjo2LCJ6ZF90b2tlbiI6bnVsbH0.-osDKny2ZpWozk-B-jxWSMiZgv8Rblb8sYh3rYjYwUU&zhida_source=entity) arXiv:1904.08189_.
[7] Yang, Z., Liu, S., Hu, H., Wang, L., & Lin, S. (2019). RepPoints: Point Set Representation for Object Detection. _arXiv preprint arXiv:1904.11490_.
[8] Law, H., & Deng, J. (2018). Cornernet: Detecting objects as paired keypoints. In _Proceedings of the European Conference on Computer Vision (ECCV)_ (pp. 734-750).
[9] Zhou, X., Zhuo, J., & Krähenbühl, P. (2019). Bottom-up Object Detection by Grouping Extreme and Center Points. _arXiv preprint arXiv:1901.08043_.
[10] Huang, L., Yang, Y., Deng, Y., & Yu, Y. (2015). Densebox: Unifying [landmark](https://zhida.zhihu.com/search?content_id=103304870&content_type=Article&match_order=1&q=landmark&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkyOTYsInEiOiJsYW5kbWFyayIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjEwMzMwNDg3MCwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.A77CT9xdmuHsC2HzsKFUuLjDnHAlFzjkEJE9oy4oU6w&zhida_source=entity) localization with end to end object detection. _arXiv preprint arXiv:1509.04874_.
编辑于 2019-06-10 05:47
[深度学习（Deep Learning）](https://www.zhihu.com/topic/19813032)
[目标检测](https://www.zhihu.com/topic/19596960)
​赞同 468​​24 条评论​434 ​5 
​分享
​申请转载​
​
![](../images/004.jpeg)
未登录用户
  

24 条评论
默认
最新
[![划水](../images/005.jpg)](https://www.zhihu.com/people/0c9ceb6ad9de808d33c524b9bc85b758)
[划水](https://www.zhihu.com/people/0c9ceb6ad9de808d33c524b9bc85b758)
misalignment 用deformable 能缓解吗？感觉roi pooling才是two-stage核心.求大佬早点更新~~
2019-06-06
​回复​4
[![Naiyan Wang](../images/016.jpg)](https://www.zhihu.com/people/f5911fddc7fa5fd74a80d5ce2c12e1a2)
[Naiyan Wang](https://www.zhihu.com/people/f5911fddc7fa5fd74a80d5ce2c12e1a2)
作者​![](../images/body-fc59311da016732b854e.png)
Deformable weight是学的，所以并不能保证。这个问题我们是做了一篇nips... 等有结果了一起讲吧~
2019-06-07
​回复​1
查看全部 9 条回复​
[![王Sr](../images/007.jpg)](https://www.zhihu.com/people/41dc3f2d25b3d8329610e27e64e69690)
[王Sr](https://www.zhihu.com/people/41dc3f2d25b3d8329610e27e64e69690)
感觉目前很多anchor free的方法都在批判anchor based方法的label assignment，而没有真正触及anchor存在的合理性，很多anchor free的方法与anchor本质上也可以兼容
2019-08-09
​回复​3
[![Yangyang](../images/008.jpg)](https://www.zhihu.com/people/7a68c76d3d90ec1517ee688d50b6786c)
[Yangyang](https://www.zhihu.com/people/7a68c76d3d90ec1517ee688d50b6786c)
“one stage detector中的一个核心问题：框和对应feature的misalignment”，那么two stage detector中是因为有roi pooling减轻了misalignment问题？期待乃岩首席的下篇关于misalignment的文章~
2019-09-09
​回复​1
[![快使用双截棍巴拉](../images/009.jpg)](https://www.zhihu.com/people/39ddb79b37dd555281dce451103b800e)
[快使用双截棍巴拉](https://www.zhihu.com/people/39ddb79b37dd555281dce451103b800e)
centernet 和 densebox 有本质区别吗。。 感觉做法都是一个思路的呀
2019-09-01
​回复​喜欢
[![cn123](../images/010.jpg)](https://www.zhihu.com/people/473d3ae1615c8fcb4529eeeb8c53687c)
[cn123](https://www.zhihu.com/people/473d3ae1615c8fcb4529eeeb8c53687c)
““anchor free的做法相当于feature map的每个位置只能输出一个框” 这个是什么意思呢？为什么只能输出一个框？并没有这种直观的感觉
2019-08-29
​回复​喜欢
展开其他 2 条回复​
[![pyyy](../images/011.jpg)](https://www.zhihu.com/people/6a2eee989c612346a4ef80dc21562d92)
[pyyy](https://www.zhihu.com/people/6a2eee989c612346a4ef80dc21562d92)
开拓了眼界, 有想法的人相对多, 有想法又能高质量完成的很少
2019-06-10
​回复​喜欢
[![陈云](../images/012.jpg)](https://www.zhihu.com/people/5a034ece14d016b7ee471695f3fad478)
[陈云](https://www.zhihu.com/people/5a034ece14d016b7ee471695f3fad478)
我觉得fpn不是必需的，像object as points（也叫centernet）就是一个scale的feature map（4x）直接预测
2019-06-09
​回复​喜欢
展开其他 1 条回复​
[![KIvee](../images/013.jpg)](https://www.zhihu.com/people/22d96d51c63c62f7463168676cea51a1)
[KIvee](https://www.zhihu.com/people/22d96d51c63c62f7463168676cea51a1)
强！其实关于keypoint的这种方法，在BMVC2016有一篇LocNet，我觉得也是一篇有启发意义的文章，作者把twostage的第二个部分的bbox回归换成了直接输出两个向量，来表示物体框4条边的响应，因为输入的proposal里一般只有一个物体，所以不用考虑边的匹配。而且文章提出的pooling方式也和cornernet里面的corner pooling有相似之处。但估计作者没有解决在有多个物体的情况下，边之间如何匹配的问题，当时也就没有直接将这个方法扩展到以完整图片为输入。自己试过加上预测中心点的位置，然后利用边和中心点的几何约束来解决多个物体的情况，结果能work，但是效果并不高，也就不了了之了。去年看到cornernet，感觉真的是自己的知识面太窄了，别人竟然用keypoint里面的方法来做这个事情，自己却都没有听说过。。。深感自己的弱小，继续努力，向博主看齐![\[赞\]](https://pic1.zhimg.com/v2-c71427010ca7866f9b08c37ec20672e0.png)
2019-06-06
​回复​喜欢
[![Naiyan Wang](../images/014.jpg)](https://www.zhihu.com/people/f5911fddc7fa5fd74a80d5ce2c12e1a2)
[Naiyan Wang](https://www.zhihu.com/people/f5911fddc7fa5fd74a80d5ce2c12e1a2)
作者​![](../images/body-fc59311da016732b854e.png)
还没看过，回头学习一下。类似想法我觉得可能很早就有了，但是高质量完成cornernet是第一个。
2019-06-07
​回复​1
[![kk111](../images/015.jpg)](https://www.zhihu.com/people/4aa1aa6f1fcb036a1b93f03c13c902e7)
[kk111](https://www.zhihu.com/people/4aa1aa6f1fcb036a1b93f03c13c902e7)
感觉reappoints算是某种程度上在解决onestage框与feature misalignment 的问题吧，只不过似乎复现并不简单(至今未能复现)，论文写的太赶了，很多细节都没交代，期待作者code吧
2019-06-06
​回复​喜欢
[![Naiyan Wang](../images/016.jpg)](https://www.zhihu.com/people/f5911fddc7fa5fd74a80d5ce2c12e1a2)
[Naiyan Wang](https://www.zhihu.com/people/f5911fddc7fa5fd74a80d5ce2c12e1a2)
作者​![](../images/body-fc59311da016732b854e.png)
算是，但是也不是传统意义上的解决。。
2019-06-07
​回复​喜欢
展开其他 1 条回复​
![](../images/004.jpeg)
未登录用户
  

关于作者
[![Naiyan Wang](../images/017.jpg)](https://www.zhihu.com/people/naiyan-wang)
[Naiyan Wang](https://www.zhihu.com/people/naiyan-wang)
CS PhD, 机器学习与计算机视觉
​
[机器学习](https://www.zhihu.com/people/naiyan-wang/creations/19559450)、[人工智能](https://www.zhihu.com/people/naiyan-wang/creations/19551275)、[深度学习（Deep Learning）](https://www.zhihu.com/people/naiyan-wang/creations/19813032) 话题的优秀答主
[ 回答 **130** ](https://www.zhihu.com/people/naiyan-wang/answers)[ 文章 **46** ](https://www.zhihu.com/people/naiyan-wang/posts)[ 关注者 **82,159** ](https://www.zhihu.com/people/naiyan-wang/followers)
​关注他​发私信
大家都在搜
换一换
[江歌妈妈发长文尘埃终将落定704 万](https://www.zhihu.com/search?q=%E6%B1%9F%E6%AD%8C%E5%A6%88%E5%A6%88%E5%8F%91%E9%95%BF%E6%96%87%E5%B0%98%E5%9F%83%E7%BB%88%E5%B0%86%E8%90%BD%E5%AE%9A&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=eb2c8bf8-e45e-42c0-b25c-3e911527a158)热
[中国男足 0-5 巴勒斯坦562 万](https://www.zhihu.com/search?q=%E4%B8%AD%E5%9B%BD%E7%94%B7%E8%B6%B3+0-5+%E5%B7%B4%E5%8B%92%E6%96%AF%E5%9D%A6&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=eb2c8bf8-e45e-42c0-b25c-3e911527a158)热
[原央视主持人阿丘回应被通报419 万](https://www.zhihu.com/search?q=%E5%8E%9F%E5%A4%AE%E8%A7%86%E4%B8%BB%E6%8C%81%E4%BA%BA%E9%98%BF%E4%B8%98%E5%9B%9E%E5%BA%94%E8%A2%AB%E9%80%9A%E6%8A%A5&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=eb2c8bf8-e45e-42c0-b25c-3e911527a158)热
[华为与赛力斯达成新五年合作409 万](https://www.zhihu.com/search?q=%E5%8D%8E%E4%B8%BA%E4%B8%8E%E8%B5%9B%E5%8A%9B%E6%96%AF%E8%BE%BE%E6%88%90%E6%96%B0%E4%BA%94%E5%B9%B4%E5%90%88%E4%BD%9C&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=eb2c8bf8-e45e-42c0-b25c-3e911527a158)热
[迪拜航空确认航班发生事故398 万](https://www.zhihu.com/search?q=%E8%BF%AA%E6%8B%9C%E8%88%AA%E7%A9%BA%E7%A1%AE%E8%AE%A4%E8%88%AA%E7%8F%AD%E5%8F%91%E7%94%9F%E4%BA%8B%E6%95%85&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=eb2c8bf8-e45e-42c0-b25c-3e911527a158)热
[东航回应网传空姐跪地道歉326 万](https://www.zhihu.com/search?q=%E4%B8%9C%E8%88%AA%E5%9B%9E%E5%BA%94%E7%BD%91%E4%BC%A0%E7%A9%BA%E5%A7%90%E8%B7%AA%E5%9C%B0%E9%81%93%E6%AD%89&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=eb2c8bf8-e45e-42c0-b25c-3e911527a158)
[王楚钦：不知道为什么就是感觉累320 万](https://www.zhihu.com/search?q=%E7%8E%8B%E6%A5%9A%E9%92%A6%EF%BC%9A%E4%B8%8D%E7%9F%A5%E9%81%93%E4%B8%BA%E4%BB%80%E4%B9%88%E5%B0%B1%E6%98%AF%E6%84%9F%E8%A7%89%E7%B4%AF&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=eb2c8bf8-e45e-42c0-b25c-3e911527a158)热
[江苏高考作文《衬衫的价格为 9 磅 15 便士》爆火268 万](https://www.zhihu.com/search?q=%E6%B1%9F%E8%8B%8F%E9%AB%98%E8%80%83%E4%BD%9C%E6%96%87%E3%80%8A%E8%A1%AC%E8%A1%AB%E7%9A%84%E4%BB%B7%E6%A0%BC%E4%B8%BA+9+%E7%A3%85+15+%E4%BE%BF%E5%A3%AB%E3%80%8B%E7%88%86%E7%81%AB&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=eb2c8bf8-e45e-42c0-b25c-3e911527a158)
[女装网店开始用防拆带了265 万](https://www.zhihu.com/search?q=%E5%A5%B3%E8%A3%85%E7%BD%91%E5%BA%97%E5%BC%80%E5%A7%8B%E7%94%A8%E9%98%B2%E6%8B%86%E5%B8%A6%E4%BA%86&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=eb2c8bf8-e45e-42c0-b25c-3e911527a158)
[孕妇骑车别车被司机踹翻257 万](https://www.zhihu.com/search?q=%E5%AD%95%E5%A6%87%E9%AA%91%E8%BD%A6%E5%88%AB%E8%BD%A6%E8%A2%AB%E5%8F%B8%E6%9C%BA%E8%B8%B9%E7%BF%BB&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=eb2c8bf8-e45e-42c0-b25c-3e911527a158)
### 推荐阅读
# [聊聊Anchor的"前世今生"（上） 正如大家所见，最近一段时间各种所谓anchor-free的detection算法得到了很多的关注，我其实是一个非常不愿意蹭热点的人，技术上的东西更愿意“让子弹飞一会”，再发表看法。所以今天在这里，… Naiyan Wang ](https://zhuanlan.zhihu.com/p/63273342)[ ![Anchor-free Detection\(上\)](../images/019.jpg)Anchor-free Detection(上) MissingBear ](https://zhuanlan.zhihu.com/p/62969305)[ ![Anchor or No-Anchor](../images/021.jpg)Anchor or No-Anchor smile...发表于浅析计算机... ](https://zhuanlan.zhihu.com/p/61640236)[ ![再谈Anchor](../images/023.jpg)再谈Anchor 我思故我在发表于计算机视觉... ](https://zhuanlan.zhihu.com/p/110276774) 

_想来知乎工作？请发送邮件到 jobs@zhihu.com_
打开知乎App
在「我的页」右上角打开扫一扫
![](../images/body-0f9788d006ab0f4da762.png)
其他扫码方式：微信
下载知乎App
无障碍模式
验证码登录
密码登录
[开通机构号](https://zhuanlan.zhihu.com/org/signup)
中国 +86
获取短信验证码
忘记密码
登录/注册
其他方式登录
未注册手机验证后自动登录，注册即代表同意[《知乎协议》](https://www.zhihu.com/term/zhihu-terms)[《隐私保护指引》](https://www.zhihu.com/term/privacy)
扫码下载知乎 App
关闭二维码
