作者 | 派派星 编辑 | CVHub
点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心【实例分割】技术交流群
后台回复【分割综述】获取语义分割、实例分割、全景分割、弱监督分割等超全学习资料!
![c60619e891b6a5327bb058a488459924.png](https://i-blog.csdnimg.cn/blog_migrate/abff293129b98ed20010068a3e3151e6.png)
Title: PatchDCT: Patch Refinement for High Quality Instance Segmentation
Paper: https://arxiv.org/pdf/2302.02693
Code: https://github.com/olivia-w12/PatchDCT
作者知乎: https://www.zhihu.com/people/flyyoung-68 【欢迎关注】
导读
图像分割是指在复杂的视觉环境中分离对象的任务,是计算机视觉研究的一个重要领域。而实例分割是图像分割任务的一种特殊形式,它可以在分割的基础上有效的区分对象的实例。这在自动驾驶汽车、医学成像、空中作物监测等实际生活场景中具有大规模的适用性。
简单理解的话,我们可以任务实例分割是语义分割和目标检测的联动体,它能够在两者基础之上表达更丰富的内容。从专业角度来看的话,实例分割可以为多个类别的每个实例生成边界框以及相应的对象分割掩码。它将同一类的多个对象视为不同的实例。
或许很多人都听说过这项任务,但相对来说很少有人投入到该方向,毕竟检测图像中存在的不同对象的多个实例及其逐像素分割掩码确实是一个极具挑战性的任务,尤其是涉及到精细化的输出要求。今天为大家带来的便是由作者本人对 PatchDCT[1] 工作的解读,本文由浙大、阿里、交大等院校和公司联合发表在 ICLR 2023 上的高分文章。
动机
精细实例分割是计算机视觉里面比较重要的研究课题。Mask R-CNN[2] 应该可以算是该领域的一个代表性工作,随后更令人印象深刻的便是同样由何凯明提出的 PointRend,通过将计算机视觉中的图像分割问题类比为计算机图形学中的图像渲染问题,并利用一种不断迭代的算法来自适应的挑选出不够“完美”的区域,同时对该区域的像素点进行精细化的调整预测,最终呈现出完美的分割效果:
![b444c80fc89e633bcfda56cfefd355d2.png](https://i-blog.csdnimg.cn/blog_migrate/b4449f3b41e8cae44692a117a90c52ae.png)
尤其记得当时第一次看到这张图时感觉非常的 Amazing!特别是五根手指关节的细节部分,着实佩服。而今天为大家介绍的 PatchDCT 这个工作便是这个方向上的一点贡献。
首先,让我们先总结下实现精细化实例分割的两种常见做法:
多阶段级联来精修分割结果,代表作有 HTC[3]、PointRend[4]、Mask Transfiner[5]、RefineMask[6]等;
向量压缩保留高分辨率的特征,代表作有 MEInst[7]、DCT-Mask[8]、SOLQ[9] 等。
那么一种自然的想法便呼之即出:是否可以结合两种方式更好地实现精细分割结果。 答案是可以的,但不是简单的结合就可以成功。
首先,让我们先观察使用 DCT 编码实现高分辨率掩码的编解码过程:
![23f194396a321651de38188d717fc9a6.png](https://i-blog.csdnimg.cn/blog_migrate/ec6a417f78082c5a6e7af84c4334836e.png)
接下来,再让我们一起回顾下 DCT 的编码公式:
![582edf6ebb426dc5c95539d894de858f.png](https://i-blog.csdnimg.cn/blog_migrate/76206482ecce6c4faa8da2a45da82fcd.png)
![7822b74357b79ede59239987d1063cd5.png](https://i-blog.csdnimg.cn/blog_migrate/44a2e70e5afdd064df31963c4ce37f42.png)
不难发现高度压缩的特征向量的每一个元素和原始高分辨率特征图中所有区域的特征都有关系,反之亦然。如果结合多阶段级联的想法不断地精修这个压缩向量,一定会经常出现下图(a)中的现象。即当300维的 DCT 向量中有一个元素发生了剧烈的改变,会导致 DCT 反变换后整个掩码发生巨大变化,而且这个变化往往是不可控的。根据实验发现,简单地使用“级联精修+压缩向量”的方式只带来了0.1%的性能提升。相比所牺牲的速度,这点提升显然是不可接受的。
![ba566472fc082d7864f0b0e441455b4c.png](https://i-blog.csdnimg.cn/blog_migrate/5cc4ea85d569501fe9113d149fd79884.png)
因此,为降低由于压缩向量对整个掩码的产生的影响,本文提出了一种基于切片化的策略,即将整个掩码切割成多个相互独立的“块”(patch),然后对这些 patch 进行向量压缩以及级联精修。如上图(b)所示,某个 patch 的压缩向量元素的变化不会影响其它 patch 的掩码预测。我们将基于这种做法的实例分割方法叫做 PatchDCT
。
方法
网络架构图
![f498779c296b82af5a7e1fc734495ce0.png](https://i-blog.csdnimg.cn/blog_migrate/670297b60f55c4961c7b7bea7193cf15.png)
上图展示了 PatchDCT 的整体结构,其主要包含一个三分类的分类器和一个回归器,下面分别介绍下。
分类器
掩码的 patch 在本文被分类三类:
前景 patch(只包含前景)
背景 patch(只包含背景)
混合 patch(同时包括前后景)
其中,前景、背景和混合 patch 经过 DCT 变换后,其压缩向量分布如下图所示:
![52b9393fae0174420ef1345823322f47.png](https://i-blog.csdnimg.cn/blog_migrate/47b0afdc5f39e12d09e06be8d98ab01c.png)
可以看到前景和背景 patch 的压缩向量特点鲜明,因此分类器对于区分这三种 patch 会比较容易。当然还是会存在前后景识别错误的情况,那样的话往往会出现前景分割结果中间存在一个方形空洞,或者背景区域中有一个前景块的情况,这个会在最后给一些可视化的例子。
回归器
分类器的主要作用其实是筛选出混合 patch,因为待分割目标的边界往往存在在这些patch中。能否实现精细实例分割的关键往往取决于边界处的分割效果。回归器输出 维()包含足够 mask 信息的 DCT 向量。
多阶段级联
通过DCT-Mask得到预测的掩码之后,就可以使用多个PatchDCT模块进行级联精修,如下图右边所示,其中 表示 PatchDCT 模块, 表示 mask, 表示 FPN-P2 输出的特征。
![b0baed57aff966e5e331415be37f9707.png](https://i-blog.csdnimg.cn/blog_migrate/1836cd218261901d9001e4981349c526.png)
整体的掩码损失计算如下:
式中第一项 是第一阶段 DCT-Mask 预测的 维掩码压缩向量的损失:
式中 和 分别是 GT 和预测的 DCT 向量的第 个元素, 是 DCT 向量的维度,默认 300。
此外,第 个级联阶段中的分类损失 是三分类的交叉熵损失,而第 个级联阶段的回归损失可表示为:
式中 和 分别表示混合 patch 的数量和所有 patch 的数量。 则表示每个 patch 所对应的 DCT 向量的维度,文中最终使用 。 是一个符号函数,如果当前是混合 patch 则等于1,否则为0。
实验
Ablation Study
![1a9af4b59d376d63e58c020faa09014e.png](https://i-blog.csdnimg.cn/blog_migrate/9509ef871f3a299ac3c6dbd4381e43d0.png)
此外,本文还做了充足的消融实验来将整个模块的各个参数调至最优状态,包括级联阶段数、patch 所对应的 DCT 向量维度等等。
Quantitative Comparison
![c5de9940a8ee2155c61d10644238d3a7.png](https://i-blog.csdnimg.cn/blog_migrate/efcd5286db7e758f700642eb9c250448.png)
![fffcf8867986e99f68f84ff39f01b277.png](https://i-blog.csdnimg.cn/blog_migrate/5215fd34f9e8beef5a6c9c70c09ff05a.png)
![12de61aca29d89fb06ac47e9f0aec17a.png](https://i-blog.csdnimg.cn/blog_migrate/bca1327849a6b76a0049302fa1843ffe.png)
结论:PatchDCT 模块可以有效地同时发挥级联精修和压缩向量两种方式的优势。表2和表3显示,PatchDCT 相比 Mask RCNN 在 COCO、LVIS 和 Cityscapes 数据集上分别提高了2.0%、3.2%和4.5%的AP,以及3.4%、 5.3%, 7.0% 的 Boundary AP。
另外,相比于 DCT-Mask,PatchDCT 分别在这三个数据集上提高了0.7%、1.1%和1.3%的 AP,以及 0.9%、1.7%和4.2% 的Boundary AP。由于本文主要目标就是提高分割的精细程度,因此 Boundary AP 指标更具有代表性。除此之外,PatchDCT 相比其他精细实例分割方法在速度和精度上同时展现出了有竞争力的表现,如表4所示。
Qualitative Comparison
![1a5c80a1c530faaa90a26fd900d9f382.png](https://i-blog.csdnimg.cn/blog_migrate/e662ce6d813f019fa3fda46a666c3804.png)
![57e6938eadb3493cdc0593a4d96303eb.png](https://i-blog.csdnimg.cn/blog_migrate/a997e664aaff7d76b450852cbedd700a.png)
![39aae76546aada984b7ab37e5ad11263.png](https://i-blog.csdnimg.cn/blog_migrate/7dcf000aefe67b3714c071d496cfc3e8.png)
Limitations
![f37e93cbeecf747467c0c686a74da973.png](https://i-blog.csdnimg.cn/blog_migrate/adfc20110ec37a6b55bc298d08515c90.png)
前面提到过分类器可能存在分类错误的现象,导致出现一些空洞(hole)现象,如上图所示。
总结
本文提出了一种基于压缩向量的高质量实例分割方法——PatchDCT。同先前的方法相比,PatchDCT 分别细化了每个掩码块,并利用 PatchDCT 向量来压缩充满细节的边界。此外,通过使用分类器细化前景和背景块,并为每个混合块预测信息丰富的低维 DCT 向量,PatchDCT 得以生成具有精细边界的高分辨率掩码。总的来说,PatchDCT 所提出的 Patch 化思路通俗易懂,整个方法的结构设计也简洁明了。同时,与 Mask-RCNN 和 DCT-Mask 相比,该方法能够以极低的速度成本获得高质量的分割效果。
References
[1]
PatchDCT: https://arxiv.org/pdf/2302.02693.pdf
[2]Mask R-CNN: https://openaccess.thecvf.com/content_ICCV_2017/papers/He_Mask_R-CNN_ICCV_2017_paper.pdf
[3]HTC: https://arxiv.org/abs/1901.07518
[4]PointRend: https://arxiv.org/abs/1912.08193
[5]Mask Transfiner: https://arxiv.org/abs/2111.13673
[6]RefineMask等: https://arxiv.org/abs/2104.08569
[7]MEInst: https://arxiv.org/abs/2003.11712
[8]DCT-Mask: https://openaccess.thecvf.com/content/CVPR2021/papers/Shen_DCT-Mask_Discrete_Cosine_Transform_Mask_Representation_for_Instance_Segmentation_CVPR_2021_paper.pdf
[9]SOLQ: https://arxiv.org/abs/2106.02351
国内首个自动驾驶学习社区
近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!
【自动驾驶之心】全栈技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;
添加汽车人助理微信邀请入群
备注:学校/公司+方向+昵称