当达摩院大牛学会抠图,这一切都不受控制了……

在外界人眼中,达摩院人才济济,大多是奇人异士,做着神秘且高端的研究,有如扫地僧一般的存在,但是如果有一天,当神秘专家不再神秘,你发现他们也开始玩抠图,且这一切都朝着不受控制的方向发展了的时候,那么抠图他们能玩出哪些花样?

你看看,万物接可抠!

换成视频试试?可以!

视频链接:https://ucc-vod.alicdn.com/sv…

我们为什么要开始研究抠图?

这要从阿里巴巴智能设计实验室自主研发的一款设计产品鹿班说起。鹿班的初衷是改变传统的设计模式,使其在短时间内完成大量banner图、海报图和会场图的设计,提高工作效率。商家上传的宝贝图参差不齐,直接投放效果不佳,通过鹿班制图可以保证会场风格统一、高质视觉效果传达,从而提升商品吸引力和买家视觉体验,达到提升商品转化率的目的。

而在制图的过程中,我们发现商品抠图是一项不可避免且繁琐的工作,一张人像精细抠图平均需要耗费设计师2h以上的时间,这样无需创意的纯体力工作亟需被AI所取代,我们的抠图算法应运而生。

近几年图像抠图算法逐渐进入人们的视野,如腾讯(天天P图)、百度(人像抠图、汽车分割)等。而潜藏在其背后的行业:泛文娱,电商行业、垂直行业,诸如在线餐饮、媒体、教育等行业商业价值不容小觑,可以满足各种战报、在线课程教师抠图、视频封面制作等不同形式的图片制作需求拓展。市面上的一些抠图算法效果在人像发丝细节处理均不是很好,且对一些通用场景(电商等)支持也不是很好。我们针对这两个问题一方面设计更具有泛化能力的系统、一方面深化发丝和高度镂空相关算法,均有更好的效果。

遇到的难题和解决方案

我们最开始在上手鹿班“批量抠图”需求时,发现用户上传的图像质量、来源、内容五花八门,想用一个模型实现业务效果达到一劳永逸很难。在经过对场景和数据的大量分析后,定制整体框架如下:

主要涵盖了过滤、分类、检测、分割四个模块:

  • 过滤:滤掉差图(过暗、过曝、模糊、遮挡等),主要用到分类模型和一些基础图像算法;
  • 分类:瓶饮美妆等品类商品连通性比较好,3C、日用、玩具等品类则反之,另外场景(如人头、人像、动物)需求也是各具差异,故而设计不同的分割模型提升效果;
  • 检测:在鹿班场景用户数据多来自于商品图,很多是经过高度设计的图像,一图多商品、多品类、主体占比小,也不乏文案、修饰、logo等冗余信息,增加一步检测裁剪再做分割效果更精准;
  • 分割:先进行一层粗分割得到大致mask,再进行精细分割得到精确mask,这样一方面可以提速,一方面也可以精确到发丝级;

如何让效果更精准?

目前分类、检测模型相对比较成熟,而评估模型则需要根据不同场景做一些定制(电商设计图、天然摄影图等),分割精度不足,是所有模块中最薄弱的一个环节,因此成为了我们的主战场。详述如下:

  • 分类模型:分类任务往往需要多轮的数据准备,模型优化,数据清洗才能够落地使用。据此,我们设计完成了一个自动分类工具,融合最新的优化技术,并借鉴autoML的思想,在有限GPU资源的情况下做参数和模型搜索,简化分类任务中人员的参与,加速分类任务落地。
  • 评估模型:直接使用回归做分数拟合,训练效果并不好。该场景下作为一个前序过滤任务,作为分类问题处理则比较合理。实际我们也采用一些传统算法,协助进行过暗、过曝等判断。
  • 检测模型:主要借鉴了FPN检测架构。

1、对特征金字塔每一层featuremap都融合上下相邻层特征,这样输出的特征潜在表征能力更强;
2、特征金字塔不同层特征分别预测,候选anchors可增加对尺度变化的鲁棒性,提升小尺度区域召回;
3、对候选anchor的设定增加一些可预见的scale,在商品尺寸比例比较极端的情况下大幅提升普适性;

与传统的只需要分别前景、背景的图像分割(segmentation)问题不同,高精度抠图算法需要求出某一像素具体的透明度是多少,将一个离散的0-1分类问题变成[0, 1]之间的回归问题。在我们的工作中,针对图像中某一个像素p,我们使用这样一个式子来进行透明度预测:

应用产品化开放

得以商业应用的基础是我们在应用层单点能力,如人像/人头/人脸/头发抠图、商品抠图、动物抠图,后续还会逐步支持卡通场景抠图、服饰抠图、全景抠图等。据此我们也做了一些产品化工作,如鹿班的批量白底图功能、E应用证件照/战报/人物换背景(钉钉->我的->发现->小程序->画蝶)等。

试用地址:https://ivpd.console.aliyun.com/api-image接入说明:https://help.aliyun.com/document_detail/139269.html

本文作者:机器智能技术

阅读原文

本文为阿里云内容,未经允许不得转载。

作者:阿里云云栖号

【资源说明】 1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通。 2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 本文介绍了基于QEM(Quadric Error Metrics,二次误差度量)的优化网格简化算法的C和C++实现源码及其相关文档。这一算法主要应用于计算机图形学领域,用于优化三维模型的多边形数量,使之在保持原有模型特征的前提下实现简化。简化的目的是为了提高渲染速度,减少计算资源消耗,以及便于网络传输等。 本项目的核心是网格简化算法的实现,而QEM作为该算法的核心,是一种衡量简化误差的数学方法。通过计算每个顶点的二次误差矩阵来评估简化操作的误差,并以此来指导网格简化过程。QEM算法因其高效性和准确性在计算机图形学中广泛应用,尤其在实时渲染和三维打印领域。 项目代码包含C和C++两种语言版本,这意味着它可以在多种开发环境中运行,增加了其适用范围。对于计算机相关专业的学生、教师和行业从业者来说,这个项目提供了丰富的学习和实践机会。无论是作为学习编程的入门材料,还是作为深入研究计算机图形学的项目,该项目都具有实用价值。 此外,项目包含的论文文档为理解网格简化算法提供了理论基础。论文详细介绍了QEM算法的原理、实施步骤以及与其他算法的对比分析。这不仅有助于加深对算法的理解,也为那些希望将算法应用于自己研究领域的人员提供了参考资料。 资源说明文档强调了项目的稳定性和可靠性,并鼓励用户在使用过程中提出问题或建议,以便不断地优化和完善项目。文档还提醒用户注意查看,以获取使用该项目的所有必要信息。 项目的文件名称列表中包含了加水印的论文文档、资源说明文件和实际的项目代码目录,后者位于名为Mesh-Simplification-master的目录下。用户可以将这些资源用于多种教学和研究目的,包括课程设计、毕业设计、项目立项演示等。 这个项目是一个宝贵的资源,它不仅提供了一个成熟的技术实现,而且为进一步的研究和学习提供了坚实的基础。它鼓励用户探索和扩展,以期在计算机图形学领域中取得更深入的研究成果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘欣贺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值