ICCV2021: 淘系素材制备平台中的自研交互式分割技术(含试用demo)-阿里云开发者社区

开发者社区> 淘系技术小助手> 正文

ICCV2021: 淘系素材制备平台中的自研交互式分割技术(含试用demo)

简介: 还在为耗时耗力的抠图苦恼吗?只要轻松几次点击,即可分割出图像中你想要的任意目标。淘系技术“图像和美”团队联合iTag推出FAI-素材制备平台(如图1),致力于用最简单的交互获取精准的分割掩膜。已对集团多个分割业务进行支持,带来分割标注的效率提升。其背后的算法Conditional Diffusion for Interative Segmentation已被计算机视觉顶级会议 ICCV2021收录。本文带你走近淘系FAI素材制备平台及其背后的交互式分割新技术。
+关注继续查看

image.png

业务背景

图像分割算法在淘宝的各种业务中广泛应用,比如商品换背景,直播人像换背景,服饰部件分离等。但是图像分割算法的大规模应用却面临着以下两个瓶颈:

  1. 训练分割模型需要⼤量标注,分割需要像素级精细标注,成本远⾼于分类、检测等其他任务;
  2. 分割模型在复杂的实际场景中难以做到毫⽆瑕疵,对于展示精度要求高的场景需要人工审核和修正。

总之,“智能”的分割算法离不开“人工”标注和审核修改,而分割任务所需要的“人工”成本极高;当下广泛使用的分割标注平台大多仅靠“打点描边”或者“涂抹/擦除”等基础手段进行分割样本的标注或者修正,想要获取高质量的掩膜极其耗时耗力。而交互式分割(Interactive Segmentation) 给以上问题提供了新思路: 交互式分割以“人机交互”的模式支持用户以点击、画框、涂抹等方式简单的定义分割目标,模型根据用户交互信息预测目标掩膜。

系统设计

在此背景下,“图像和美”团队联合iTag推出FAI-素材制备平台(如图2),支持用户使用智能分割工具以少数几次点击便捷的进行分割,同时我们还提供了辅助分割工具以应对分割异常的边缘样例。此外,我们还设计了审改一体化系统,支持用户对大批量数据进行浏览、审核、标注。

image.png

▐ 智能分割工具

用户仅需要在目标的前景/背景区域进行少数几次点击,即可分割出想要的目标。我们的智能分割工具有以下特点:

  • 简单

区别于photoshop眼花缭乱的功能。我们专注于抠图,以简洁的界面,轻量的Web工具支持用户低成本使用。

  • 灵活

FAI-素材制备平台不限目标类别,且可以对部件、完整物体、背景区域进行分割。并且支持在已有分割掩膜的基础上进行交互式修改。

  • 快速

我们的算法响应速度快,无明显卡顿,且需要的交互次数较少;力求在最短的时间内完成抠图。

▐ 辅助分割工具

为了满足用户的不同需求同时给交互式分割无法解决的边缘样例兜底,我们在FAI-素材制备平台增添了几样辅助工具,比如:超像素、边缘套索、橡皮擦。如图3,用户可以利用这些工具相互配合,对各种样例进行分割。

image.png

▐ 审-改一体化系统

为了帮助用户对已有分割结果进行快速审核,我们设计了审改一体化功能,如图4. 系统首先对所有的分割结果进行自动评估,帮助用户批量发现需要修改的分割掩膜,用户可以通过缩略图进行快速判别。当用户发现需要标注/修改的图片,可以一键点击进入交互式分割界面,对目标图片进行标注或修改。

image.png

我们的素材制备平台已经在对多个业务进行支持,包括FAI试搭间,淘系商品发布端等。该平台的背后离不开算法创新和工程打磨。淘系自研的交互式分割算法 Conditional Diffusion for Interative Segmentation已被计算机视觉顶级会议 ICCV2021收录。后续部分将详细介绍我们在算法层面的创新以及实际落地过程中的经验和思考。

技术简介

▐ 技术背景

交互式分割支持用户通过少量前、背景“点击”定义任意分割目标,从而便捷的完成“抠图”。文章DIOS[1]在2016年首次将深度学习应用到交互式分割当中,大幅提升了算法的性能。算法流程如图5所示,DIOS将前、背景点击分别编码成两个高斯图,连同待分割图片(RGB三个通道)组合成5通道的输入张量送入全卷积网络,对分割目标进行预测。

后续的学者大多基于这一架构进行改进,包括:用距离图、超像素等不同的形式表示点击;用第一个点击的信息构造Attention等。近年来发表的效果最好的论文当属 f-BRS[2], f-BRS利用点击点的已知标签对模型参数进行在线微调,在各个数据集都达到了领先的表现。

image.png

然而,之前的算法距离实际应用仍然有一定距离,他们往往还是需要较多次数的点击才能得到满足要求的分割结果,或相应速度无法满足需求。在实际应用中,我们还发现之前的算法广泛存在两个问题:

  1. 欠泛化(Under-Generalization): 对于较大的目标,比如平整的墙面,即使外观一致,预测的标签也无法从点击点泛化到较远的位置;
  2. 过泛化(Over-Generalization): 对于较小的目标,比如桌上的铅笔,即使存在较为清晰的边界,预测的标签也时常从点击点溢出边界。

▐ 算法创新

由以上问题出发,我们分析如何通过点击准确推断用户意图区域是算法的关键。而之前的方法大多仅利用了点击中的位置信息,将点击编码成高斯图/距离图/超像素等。此类方法无法应对分割目标大小不同、种类繁多的情况,需要多次点击才能得到理想的结果。为了用更少的点击获得更好的分割结果,我们分析除了位置信息,点击区域和图像其他区域的外观相似信息也很重要,因为外观相似的区域往往对应一致的预测结果。由此,我们提出Conditional Diffusion for Interative Segmentation(CDNet),通过特征比对,将线索从点击点扩散到与其相似的区域;并且以不同的点击分布为条件动态的调整信息扩散的路径。基于该方法,CDNet在更少的点击输入下有着更准确的分割结果。

  • 模型结构总述

如图6所示,CDNet提出两个即插即用的扩散模块:Feature Diffusion Module(FDM)和Pixel Diffusion Module(PDM),由粗到精,从不同的层级提升交互式分割模型的性能。同时,为了解决交互式分割中训练目标歧义性的问题,我们提出了Diversified Training(DT),使得CDNet的训练过程更加稳定。

image.png

  • 特征扩散模块

Feature Diffusion Module(FDM)在高层特征维度对点击点的信息进行扩散,提升模型预测效果的语义一致性。FDM的结构如图7所示,受Non-Local Network[3] 的启发,FDM采用 k,q,v 的方式进行特征传播;区别于Non-Local,由于交互式分割的目标可以根据用户的点击任意定义,不同的目标对应着不同的“相似"准则, 所以FDM根据用户点击对Affinity Matrix进行动态权重调整(Conditional Re-weighting)。具体而言,CDNet将前景点和背景点的信息传播分为两支,分别对特征传播的起始区域和终点区域进行约束。起始区域约束使用高斯核提升点击区域的权重;终点区域约束使用学习的方式,对前背景区域进行初步预测。由此,前/背景点击中的信息将由点击点扩散到预期的前/背景范围。

其中Conditional Re-weighting的可以被表示成如下公式:

image.png


其中A表示和Non-Local相同计算方式的Affinity Matrix, S和D分别为表示起始位置(Source)和终点位置(Destination)的权重矩阵。S为用户点击位置编码的高斯图,D为通过学习的方式预测出的终点区域范围。如图7右侧所示,FDM以简单的逐像素乘法分别将起始约束和终点约束施加于Affinity Matrix的不同维度,从而对信息扩散的路径进行动态调整。

image.png

  • 像素扩散模块

Pixel Diffusion Module(PDM)在输出Logits的维度对点击点的信息进行扩散,提升模型预测效果的色彩一致性。PDM核心思想和FDM相同, 也是基于self-attention的k,q,v形式进行信息传播。不同的是,由于logitis的尺寸和原图相同,以self-attention的形式建立全局Affinity Matrix的计算量过大,无法实施。于是PDM采取了“局部求解+多轮迭代”的方式,每次只在每个像素点周围的n个相邻像素区域求Affinity并且开展信息扩散。整个过程迭代N(=10)次,即可将信息扩散到准确且广阔的范围。

PDM的详细过程如图8所示,PDM将模型预测的Logits, 前背景点击编码的高斯核以及原始图片当做输入。首先利用点击编码的高斯核的已知标签对Logits在点击点附近的预测结果进行强化,以此当做信息扩散源。

同时,PDM以颜色相似度作为Affinity的度量准则,在每个相似的n个相邻像素区域求解Affinity并且根据以下公式进行多轮次信息扩散。

image.png

经过PDM的精修,模型的输出结果更具颜色一致性,并且有更加精细的边缘细节。

image.png

  • 多样化训练

在训练过程中,之前的大多数方法以在Ground Truth Mask的内部和外部随机采样的方法模拟前景/背景点击,该方法容易造成优化目标的歧义。如图9所示,当一个前景点落在车手的腿上,模型的预测结果无论是裤子、车手、车手+摩托车都是合理的,因为抠图的目标可以自由定义,单独一个点无法明确意图。而训练中的Ground Truth只有一个,假定图9的情况模型预测了裤子当做Mask, 就会受到很大的Loss惩罚;而后续迭代轮次的Ground Truth也许是一个局部区域,当模型预测完整物体,又会受到很大的Loss惩罚,从而造成训练目标的不稳定。

受到[5]的启发, DT通过支持多样化的预测输出,降低训练过程中的目标歧义性。如图9,我们在原有Head的基础上,增加了N(=4)个 Latent Head。这N个Head采用完全相同的结构,不同的初始化方式。每次计算和GT的Loss之后,我们只保留Loss最小的Head的梯度进行回传。同时,为了保证N个Head都能够得到优化,对于每个Head都保留前景点和背景点周围高斯核区域的梯度。如此,在训练一定轮次后,我们发现每一个Head都可以自动找到特定Pattern。由此,无论Ground Truth表示的是局部,整体或是多目标组合,都会有相应的预测结果与之匹配。与[5]不同的是,在模型推理的过程中,我们删去所有的 Latent Head, 只保留原有Head的预测结果。虽然在推理过程中被删去,Latent Head在训练过程中回传的梯度让模型学到了更好的representation。

image.png

实验结果

我们在交互式分割常用的四个数据集GrabCut, Berkeley, SBD, DAVIS上做了详细的对比实验。如表1所示,我们的CDNet在指标上超越了之前的算法,达到了新的SOTA。实验中选用的指标NoC(Number of Click)85/90 表示分割结果达到IOU85%/90%所需要的平均点击次数。可见,相对于其他算法,我们的CDNet在更少的点击次数下可以获得更好的分割结果。

image.png

同时,我们还将CDNet与f-BRS等前SOTA算法进行了速度对比,如表2所示,相对比于BRS[4]和f-BRS[2] 我们的方法在准确度领先的同时有着较为明显的速度优势。表中的SPC(Second Per Click)表示每一次点击所需要的处理时间。

image.png

实践经验

基于CDNet的研究,我们将点击式交互式分割集成到了智能分割标注工具当中,对多项分割业务进行了支持。从科研论文到实际系统之间还有很长的路,我们自底向上从模型优化、功能拓展两个方面进行了细致的思考和提升。我们后续计划将我们详细的实践方案总结成新的论文,分享我们如何弥补现有的交互式分割算法和实用工具之间的差距。

▐ 模型优化

  • 模型轻量化

论文中的模型为了保证实验公平往往使用较重的网络设计。在计算资源有限的情况下速度达不到用户要求,并且模型参数量较大,不适合端化部署。

由此我们对模型的结构进行了化简,设计了不同大小的模型以面对不同场景的具体需求,并且探索了知识蒸馏等不同的训练策略。最终我们最大的模型参数量不超过4MB, 在保持高精度的同时,对于1000x1000以上的图片我们的服务也可以在400ms内完成返回。

  • 大数据训练

我们的分割工具支持多样的目标类别,不限种类,且可以是部件、物体、区域、背景。为了提升模型的泛华能力,我们从各种场景收集了大量的分割数据。并且根据实际应用场景在训练过程中对数据的分布做了调优。训练数据的多样性也保证了模型对于通用类别的分割能力。同时我们也对跨数据集、跨域数据的联合训练做了研究, 更好的利用不同数据域提供的信息。

▐ 功能拓展

  • 在预标基础上修改

学术界的算法仅支持从零开始标注,实际场景中很多图像都是有带瑕疵的预标掩膜;我们拓展了CDNet的功能,使其能够在任意的预标基础上对Mask进行修改,更加满足业务场景的需求。

  • 渐进式交互式分割

学术界的交互式分割算法在每次用户点击之后都会对掩膜进行新的全局预测,造成远离点击区域的掩膜也会变化。该问题不仅导致标注过程中需要反复修改,并且不支持交互式分割与其他分割工具的切换(交互式分割每次会重新预测别的工具修改的区域)。

针对该问题,我们提出“渐进”策略,分析用户点击意图,每次点击仅改变需要修正的区域;保留原理点击点的正确区域。渐进策略使得我们的分割工具在标注过程中更加稳定,并且支持和其他形式的分割工具进行切换。

总结展望

我们提出的CDNet将点击式交互式分割看做条件信息扩散的过程,提升了算法的性能,对实际分割业务带来了提升。当然CDNet还有很多问题没有解决,包括如何进CPU端的快速分割,如何得到更精确的边缘细节,如果在不同的局部/整体分割目标直接快速切换等等。我们已在以下两个方面取得初步进展:

  1. 算法提升:我们在点击式交互式分割算法上持续发力,进行了多方面的探索,包括更加快速的模型结构、点击的不同编码形式、更精确的细节预测、Transformer架构等等;目前精度和速度已经大幅超过ICCV版本。
  2. 细节精修:我们计划增加“涂抹”的交互形式。如图10,用户在需要精修的区域进行涂抹,模型会自动对涂抹区域进行精修。该功能背后的算法为针对通用类别的 Interative Image Matting。可以满足高质量的抠图需求。

image.png

我们还将继续对“交互式分割”这一课题进行探索,力求做出更加好用的交互式工具,用AI进一步提升生产效率。

Reference

[1] Deep Interactive Object Selection
[2] f-BRS: Rethinking Backpropagating Refinement for Interactive Segmentation
[3] Non-local Neural Networks
[4] Interactive image segmentation via backpropagating refinement scheme
[5] Interactive image segmentation with latent diversity

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
7411 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
8261 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
5533 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
9512 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
2243 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
17371 0
141
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载