Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

机器之心编辑部发布

换个dataloader函数, COCO提升3mAP ,上海交大MVIG团队提出InstaBoost

近年来最新的一系列实例分割模型,例如 Mask R-CNN 等,其高准确度很大程度上依赖于大量的训练数据(COCO 数据集包含 20 余万张训练图片)。但是获取像素级别的标注是一项成本高昂且复杂精细的工作。为此,上海交通大学 MVIG 实验室(卢策吾团队)提出了 InstaBoost——一种基于 crop-paste 的实例分割数据增强方法。实验表明,在 Mask R-CNN 和 Cascade R-CNN 等框架中应用 InstaBoost,可以在 COCO 实例分割数据集上达到 2.2 mAP 的提升。同时,该方法还能够将物体检测的精度在 COCO 数据集上最高提升 4mAP。该论文已被ICCV 2019接收。

目前,研究团队已将代码及训练好的模型全部开源,包括 Res50, Res101 base 的 Mask R-CNN, Cascade Mask R-CNN, SSD 等,未来还将有更多模型开源,如 yolact 等。

该方法的操作非常简单,目前已发布为 pip 包,只需 python 中加一行代码,import instaboost,换一个 dataloader 函数就可以在 COCO 实例分割数据集上实现显著的性能提升。

近年来,基于 CNN 的深度学习算法,如 Mask R-CNN 等,在实例分割任务中有了非常广泛的应用。但是出于像素级别的标注成本高,周期长,难度大等原因,这些深度学习框架的潜力因为缺少大量的训练数据而难以被充分挖掘出来。

此前我们报道过,Google 研究团队曾研究利用 bounding box 标签,运用强化学习进行数据增强,并获得了一定提升。不过,在实例分割领域,如何利用 mask 标签在 COCO 数据集上获得提升,仍是一个需要探索的问题。

然而实例分割这种像素级的分类要比目标检测难很多,对应的数据增强也要困难很多,这主要体现在它并不能随意把目标切割并移到另外的背景上,因为它们对分割结果也有很大的影响。

来自上海交通大学 MVIG 实验室的研究人员在实例分割应用中对其进行改进优化,成功的将模型的实例分割精度大幅提升,同时也能实现目标检测的提升。

  • 论文地址:https://arxiv.org/abs/1908.07801

  • 代码地址:https://github.com/GothicAi/InstaBoost

  • 演示地址:https://youtu.be/iFsmmHUGy0g

实例分割任务中的数据增强

早期一些方法使用 domain adaptation 等思路,将其他领域的数据作为信息来源辅助数据增强,但是这些方法没有充分利用训练集的 mask 标注信息。

近期一些研究使用基于 crop-paste 的方法在目标检测任务中取得了不错的效果。简单来说,这些方法将物体按照 mask 标注的信息从原图片中剪下来,然后粘贴到一个随机的背景图片上。但是研究者发现这种方法在分割任务中,由于实例和背景契合程度较差,在实验中表现比 baseline 要差。为了解决这一问题,一些论文提出了使用 context model 去为二者一致性打分,但是这种该方法计算成本过高,难以在实际场景中应用。

研究者在这篇论文中提出了两种递进的实例层面的数据增强算法:Random InstaBoost 和 Map-guided InstaBoost。这类算法极大地提高了检测和分割精度。

Matting 和 Inpainting

在将图片前景和背景按照标注进行分离的过程中,如果完全按照标注去切割前景,前景的边界处会呈不自然的多边形锯齿状,这与 COCO 数据标注方式有关。为了解决这一问题,研究者使用《A global sampling method for alpha matting》一文中提出的方法对前景轮廓做 matting 处理,以得到与物体轮廓契合的边界。

在前景背景分离后,背景上会存在若干个空白区域,这些区域可以使用 inpainting 算法进行填补。论文中使用了《Navier-stokes, fluid dynamics, and image and videoinpainting》文章中提出的 inpainting 算法。

从左至右:原图,inpainting 处理后的背景,matting 处理后的前景。

Random InstaBoost

为了尽可能保证粘贴后前景和背景融合的契合程度,直觉上来说将前景粘贴到原位置的附近是最可靠的。Random InstaBoost 方法即是在上述先验的判断下提出的。研究者通过定义一个四元数 (tx, ty, s, r) 来映射前景在数据增强前后的变换。四个参数从左至右分别表示了水平位移,垂直位移,放缩程度和旋转角度。将这四个参数在 (0, 0, 1, 0) 附近进行独立的随机扰动,即可生成一系列符合外观一致性的增强图片。

Map-guided InstaBoost

在 Random InstaBoost 方法中,前景的中心位置 (x,y) 被严格限制在了原位置 (x0,y0) 附近。为了解决这一问题,作者提出了使用外观一致性热度图(appearance consistency heatmap)来引导前景中心粘贴的位置。

外观一致性热度图计算原理大致如下。

外观描述符 D(•)

公式中,(cx, cy) 表示实例的中心坐标,Ci 表示第 i 个轮廓线,wi 表示其对应的权重,i=1 表示最内部的轮廓线。轮廓线通过将实例轮廓膨胀后取差集获得。如下图所示,内外黑色区域之前的三个不同深度区域即为果盘的三个轮廓线。在 w 的取值上,我们按照先验,规定越靠近实例影响越大,权重越大,即 w1>w2>w3。

外观距离

外观距离定义为,外观描述符之间局部外观一致性的度量。由于我们已经定义了具有三个轮廓区域和相应权重关联描述符,D1=D(c1x, c1y) 和 D2=D(c2x, c2y) 之间的外观距离被定义为:

其中 Ik(x, y) 表示图片 k 在 (x, y) 坐标像素点的 RGB 值,Δ可以表示任何距离公式,在实验中作者使用了欧氏距离。对于部分坐标点移出图片的情况,我们将其距离定义为无穷大。

热度图生成与引导平移

通过固定 D0 为实例的原始位置,遍历图片中其余像素点,计算背景上所有可能的 d(D, D0),并通过下列公式将其归一化:

其中 M=max(d(D, D0)),m=min(d(D, D0))。通过将 h(•) 映射到背景图片上的每一个像素,即可获得一个热度图。通过热度与概率之间的映射,可以使用蒙特卡洛方法进行采样,得到高外观一致性的粘贴位置。下图为几则热度图与增强后的实例。

实验结果

在实验过程中,作者使用 Mask R-CNN 和 Cascade R-CNN 两个框架在 COCO 数据集上分别进行了测试,测试结果如下图所示。结果显示,在目标检测实例分割任务上,InstaBoost 在 mAP 标准下最高带来 4mAP 和 2.2mAP 的提升。

研究人员还使用 Mask R-CNN 在 VOCSDS 数据集上进行实验,目标检测实例分割提升分别是 4.2mAP 和 3.9mAP,仍旧十分可观。

随后,研究人员从速度和鲁棒性方面将 InstaBoost 与现有方法进行对比。

从速度上来看,InstaBoost 可以作为在线算法嵌入到 dataloader 内部,在 Mask R-CNN 上对比,使用前后每轮迭代仅增加了 0.03s 的时间成本。而使用 context model 的算法,需要对特定数据集预先进行训练等操作,花费大量额外时间,并且难以作为在线算法内嵌到代码框架内。

从鲁棒性的角度来看,传统的 Mask R-CNN 的框架,在训练到 24 个 Epoch 的时候,出现比较严重的过拟合现象,精度开始下降。使用 InstaBoost 之后,模型在 48 个 Epoch 之后精度仍然呈上升趋势。说明 InstaBoost 很大程度上提升了分割框架的鲁棒性。

为了更直观的反应 InstaBoost 对实例分割效果的提升,这里列出部分可视化对比结果:

入门InstaBoost实例分割任务图像增强
1
相关数据
映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

实例分割技术

实例分割是检测和描绘出现在图像中的每个不同目标物体的任务。

目标检测技术

一般目标检测(generic object detection)的目标是根据大量预定义的类别在自然图像中确定目标实例的位置,这是计算机视觉领域最基本和最有挑战性的问题之一。近些年兴起的深度学习技术是一种可从数据中直接学习特征表示的强大方法,并已经为一般目标检测领域带来了显著的突破性进展。

推荐文章
暂无评论
暂无评论~