Segmentation Is All You Need
https://www.jiqizhixin.com/articles/2019-06-02-2
目前目标检测算法中有两个模块比较重要: region proposal networks (RPNs) 和 non-maximum suppression (NMS) ,虽然这两个模块解决目标检测中的一些问题,但是它们也引入了一些难以克服的问题。
边界框(Bounding Box)不应该存在
虽然 anchor 的存在减少了很多计算量,但是也带来了超参数增加、人为调参过拟合评测数据集、前后景目标类别不平衡等一系列令人头疼的问题。
让我们回到边界框的本质。所有的边界框其实都是一种无限制保证前景物体像素召回率的标注方式,它会尽可能贴着外轮廓,因此会导致背景像素大量进入框内。然而,真实世界的物体可以随意转动,不同的机位拍一个 3D 物体出现的结果可以大不相同,因此用框作为一个表征工具来把东西框起来,本身就不稳健。而且,框的标注本身也带有一定的随机性,毕竟要遵守标注规则把框标得非常好可能花的成本也会很高。
非极大值抑制(NMS)不应该存在
NMS 是一项很神奇的工作,目标检测领域用 NMS 作为选框策略已经有大概几十年了,因为没有一项工作能超越它。然而如上所述,既然边界框本身并不稳健,选出的框再优秀也无济于事。更何况选出的框也不会格外优秀,因为真实世界里不可能有一个具体的阈值来控制所有的场景,例如遮挡问题。现实世界中的遮挡问题十分复杂,挡了一部分和挡了一大半完全不是同一种情况。既然如此,用一个单一的阈值怎么可能解决问题?事实上,在之前的工作中,动态调整 NMS 的 SoftNMS、动态调整 IoU 的 Cascade RCNN 方案都取得了很不错的结果,但是前者依然回避了「复杂遮挡」的复杂性,后者参数量激增,速度慢到难以想象。
如上所言,边界框靠不住,NMS 也靠不住。
那么为什么不直接做分割?分割存在哪些问题?
分割(segmentation)的问题所在
Anchor Free 方法已经不新鲜了,相信这些问题早已经让一些一线工作的研究人员头疼很久了。那么为什么难?
分割糊成一团,很难用;
分割很贵;
YOLO 又快又简单,能满足客户要求。
第一个问题用 Instance Aware 可以解决,但为了完成 Instance Aware,计算量可能增加;第二个问题几乎无解;第三个问题主要还是 YOLO 太出名,darknet 写的是真的好,而后得过且过。
这里我们还是走分割的路线。
本文提出的方法为 WSMA-Seg,包括 训练阶段和测试阶段。
训练阶段首先将矩形框标记的训练图像转化为分割训练图像。
Generating Multimodal Annotations
这里我们将矩形框标记信息变为三类信息: the interior, the boundary, and the boundary on the interior of geometries
分割网络模型
MSP-Seg is trained to learn three heatmaps for each image, which are called interior heatmap, boundary heatmap, and boundary on interior heatmap, respectively
MSP-Seg 的输出就是 interior heatmap, boundary heatmap, and boundary on interior heatmap
测试阶段,首先用 MSP-Seg 得到 interior heatmap, boundary heatmap, and boundary on interior heatmap
接着我们根据输出的三类信息得到 instance-aware segmentation map,然后提取每个物体的轮廓
实验结果:
这里没有 Yolo 进行对比,再就是速度应该是比较慢啊
11