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

试用demo请在后台回复“分割(目前试用demo只适用于PC端)

图1 FAI-素材制备平台使用实例

业务背景

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

  1. 训练分割模型需要⼤量标注,分割需要像素级精细标注,成本远⾼于分类、检测等其他任务;

  2. 分割模型在复杂的实际场景中难以做到毫⽆瑕疵,对于展示精度要求高的场景需要人工审核和修正。

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

系统设计

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

图2. 素材制备平台UI

  智能分割工具

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

  • 简单

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

  • 灵活

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

  • 快速

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

  辅助分割工具

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

图3. FAI-素材制备平台辅助工具栏

  审-改一体化系统

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

图4. FAI-素材制备平台审改一体化

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

技术简介

  技术背景

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

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

图5. DIOS算法流程图

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

  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的训练过程更加稳定。

图6. CDNet算法流程

  • 特征扩散模块

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的可以被表示成如下公式:

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

图7. FDM流程图

  • 像素扩散模块

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并且根据以下公式进行多轮次信息扩散。

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

图8. PDM流程图

  • 多样化训练

在训练过程中,之前的大多数方法以在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。

图9. DT示意图

  实验结果

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

表1. CDNet与SOTA算法的性能对比

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

表2. CDNet速度对比

实践经验

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

  模型优化

  • 模型轻量化

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

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

  • 大数据训练

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

  功能拓展

  • 在预标基础上修改

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

  • 渐进式交互式分割

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

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

总结展望

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

  1. 算法提升:我们在点击式交互式分割算法上持续发力,进行了多方面的探索,包括更加快速的模型结构、点击的不同编码形式、更精确的细节预测、Transformer架构等等;目前精度和速度已经大幅超过ICCV版本。

  2. 细节精修:我们计划增加“涂抹”的交互形式。如图10,用户在需要精修的区域进行涂抹,模型会自动对涂抹区域进行精修。该功能背后的算法为针对通用类别的 Interative Image Matting。可以满足高质量的抠图需求。

图10. FAI-素材制备工具:细节精修

我们还将继续对“交互式分割”这一课题进行探索,力求做出更加好用的交互式工具,用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

????橙子说
欢迎来我们平台体验啊试用demo请在后台回复“分割”(目前试用demo只适用于PC端)

✿  拓展阅读

作者|汐知

编辑|橙子君

出品|阿里巴巴新零售淘系技术

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

  1. 618 大促背后的淘系前端技术体系

    简介:2020年618大促已经过去,作为淘系每年重要的大促活动,淘系前端在其中扮演着什么样的角色,如何保证大促的平稳进行?又在其中应用了哪些新技术? 淘系技术特此推出「618 系列|淘系前端技术分享」 ...

  2. 中国计算机大会|淘系主办“新零售智能商业操作系统”论坛

    中国计算机学会 (CCF) 主办的「2019中国计算机大会」(简称:CNCC )将于10月17-19日在苏州金鸡湖国际会议中心举办.为更好把握零售业技术升级的脉搏,加速前沿技术在零售业的落地,阿里巴巴 ...

  3. 图片上传系统在淘系中的实践

    传统图片信息的上传渠道一般在pc端的后台或者客户端上直接上传,但是如何在移动端的webview上快速上传图片,并保证图片安全下载这一直是一个挑战. 名词解释 阿里云oss:阿里云对象存储OSS(Obj ...

  4. 淘系用户平台技术团队单元测试建设

    简介:单元测试是工程交付前质量保障的第一环,也无疑是软件工程质量保障的重要基石,有效的单元测试能够提前发现90%以上的代码Bug问题,同时也能防止代码的腐化,在工程重构演进时起到至关重要的作用. 作者 ...

  5. “保持耐心”,永远从用户角度出发— 专访阿里巴巴淘系技术内容中台负责人吴桂林(梁舒)...

    互联网电商的出现为人们的生活带来了很大便捷,随着媒体化的趋势和发展,更多电商相关如直播.短视频等内容形式纷纷涌现,带来的是更高的技术要求与挑战. 以下内容由LiveVideoStack对阿里巴巴淘系技 ...

  6. 淘系技术虚拟AI技术创新未来,斩获IJCAI2021 Video Competition Award

    在即将落下帷幕的第三十届国际人工智能联合会议(IJCAI2021)上,淘系技术荣获 IJCAI Video Competition Award . 第三十届国际人工智能联合会议(internation ...

  7. 淘系技术内容中台负责人接受采访回应“淘宝为什么要做媒体化升级”

    互联网电商的出现为人们的生活带来了很大便捷,随着媒体化的趋势和发展,更多电商相关如直播.短视频等内容形式纷纷涌现,带来的是更高的技术要求与挑战. 以下内容由LiveVideoStack对阿里巴巴淘系技 ...

  8. 玩转娱乐化时代|淘系互动团队几年的技术沉淀+经验都在这!

    作者|渚薰 出品|阿里巴巴新零售淘系技术部 作者简介:淘系技术部-互动-渚薰.12年加入阿里,曾先后参与和担任手淘无线基础架构工作.WEEX 前端框架工作.16年来到淘系互动团队,带领一群志同道合的兄 ...

  9. 阿里巴巴淘系开源大型3D家具数据集(3D-FUTURE)推动3D家居智能研究

    出品 | 阿里巴巴新零售淘系技术部&躺平 阿里巴巴淘系技术部与英国伦敦大学伯贝克学院 Steve Maybank 教授(Fellow of the IEEE and a Member of t ...

最新文章

  1. 安装好的苹果系统部分截图
  2. php call_user_func和,php – call_user_func()和$var()之间有区别吗?
  3. 使用CoreRT将.NET Core发布为Native应用程序
  4. sorted_一个函数秒杀冒泡排序算法和选择排序
  5. 大龄屌丝自学笔记--Java零基础到菜鸟--006
  6. server.htaccess 具体解释以及 .htaccess 參数说明
  7. Python学习指南——1.常用库说明
  8. 堆排序时间复杂度的计算过程
  9. mac os安装Windows系统失败后不能合并为一个分区
  10. 证件照更换背景 裁剪尺寸 智能图片放大 照片 证件照大师
  11. 汇编语言---80386寄存器,GCC内联汇编语法
  12. Monkey log 分析
  13. Unity lua os.time超过2038年1月19日3时14分07秒会出问题的解决办法(新千年虫问题、C#时间)
  14. ArcGIS二次开发基础教程(01):打开mxd文件,添加(.shp),(.lyr),(.mdb),(.tif;.img)等多种类型数据
  15. linux 桌面 修复工具下载,恢复ubuntu20.04默认桌面管理器
  16. 3.20 关于怎样做好小红书直播的一些技巧【玩赚小红书】
  17. pyecharts 画折线图去掉折线上小圆圈
  18. html引入微软雅黑,网页引入特殊字体的几种方案
  19. RS422通讯应用电路(MAX488)
  20. 51单片机——电脑通过串口控制LED

热门文章

  1. python 时间序列突变检测_Python 百度指数突变点检测
  2. 嵌入式系统概述1-嵌入式系统定义、特点和发展历程
  3. 像滴滴快车一样的网约车上区块链后能否杜绝惨案发生
  4. 一个人越想赚钱,就越要改掉这3个习惯,否则注定穷一辈子
  5. HDMI 2.1的traning流程
  6. 二叉树学习笔记(未完待续)
  7. 每日一句英语 2012-9-15
  8. VMwear虚拟机安装动态网卡和静态网卡(Basic Service版)
  9. Nervos 双周报第 4 期:经济白皮书的发件小哥正在路上
  10. %p 打印地址?它打印的是变量值!什么是格式化输出,指针与地址的区别