当达摩院大牛学会抠图,这一切都不受控制了……
在外界人眼中,达摩院人才济济,大多是奇人异士,做着神秘且高端的研究,有如扫地僧一般的存在,但是如果有一天,当神秘专家不再神秘,你发现他们也开始玩抠图,且这一切都朝着不受控制的方向发展了的时候,那么抠图他们能玩出哪些花样?
你看看,万物接可抠!
部分图片来源淘宝商品图
换成视频试试?可以!
我们为什么要开始研究抠图?
这要从阿里巴巴智能设计实验室自主研发的一款设计产品鹿班说起。鹿班的初衷是改变传统的设计模式,使其在短时间内完成大量banner图、海报图和会场图的设计,提高工作效率。商家上传的宝贝图参差不齐,直接投放效果不佳,通过鹿班制图可以保证会场风格统一、高质视觉效果传达,从而提升商品吸引力和买家视觉体验,达到提升商品转化率的目的。
而在制图的过程中,我们发现商品抠图是一项不可避免且繁琐的工作,一张人像精细抠图平均需要耗费设计师2h以上的时间,这样无需创意的纯体力工作亟需被AI所取代,我们的抠图算法应运而生。
近几年图像抠图算法逐渐进入人们的视野,如腾讯(天天P图)、百度(人像抠图、汽车分割)等。而潜藏在其背后的行业:泛文娱,电商行业、垂直行业,诸如在线餐饮、媒体、教育等行业商业价值不容小觑,可以满足各种战报、在线课程教师抠图、视频封面制作等不同形式的图片制作需求拓展。市面上的一些抠图算法效果在人像发丝细节处理均不是很好,且对一些通用场景(电商等)支持也不是很好。我们针对这两个问题一方面设计更具有泛化能力的系统、一方面深化发丝和高度镂空相关算法,均有更好的效果。
遇到的难题和解决方案
我们最开始在上手鹿班“批量抠图”需求时,发现用户上传的图像质量、来源、内容五花八门,想用一个模型实现业务效果达到一劳永逸很难。在经过对场景和数据的大量分析后,定制整体框架如下:
主要涵盖了过滤、分类、检测、分割四个模块:
•过滤:滤掉差图(过暗、过曝、模糊、遮挡等),主要用到分类模型和一些基础图像算法;
•分类:瓶饮美妆等品类商品连通性比较好,3C、日用、玩具等品类则反之,另外场景(如人头、人像、动物)需求也是各具差异,故而设计不同的分割模型提升效果;
•检测:在鹿班场景用户数据多来自于商品图,很多是经过高度设计的图像,一图多商品、多品类、主体占比小,也不乏文案、修饰、logo等冗余信息,增加一步检测裁剪再做分割效果更精准;
•分割:先进行一层粗分割得到大致mask,再进行精细分割得到精确mask,这样一方面可以提速,一方面也可以精确到发丝级;
如何让效果更精准?
目前分类、检测模型相对比较成熟,而评估模型则需要根据不同场景做一些定制(电商设计图、天然摄影图等),分割精度不足,是所有模块中最薄弱的一个环节,因此成为了我们的主战场。详述如下:
•分类模型:分类任务往往需要多轮的数据准备,模型优化,数据清洗才能够落地使用。据此,我们设计完成了一个自动分类工具,融合最新的优化技术,并借鉴autoML的思想,在有限GPU资源的情况下做参数和模型搜索,简化分类任务中人员的参与,加速分类任务落地。
•评估模型:直接使用回归做分数拟合,训练效果并不好。该场景下作为一个前序过滤任务,作为分类问题处理则比较合理。实际我们也采用一些传统算法,协助进行过暗、过曝等判断。
•检测模型:主要借鉴了FPN检测架构。
1、对特征金字塔每一层featuremap都融合上下相邻层特征,这样输出的特征潜在表征能力更强;
2、特征金字塔不同层特征分别预测,候选anchors可增加对尺度变化的鲁棒性,提升小尺度区域召回;
3、对候选anchor的设定增加一些可预见的scale,在商品尺寸比例比较极端的情况下大幅提升普适性;
•分割融合模型:参考论文>>点击查看<<
与传统的只需要分别前景、背景的图像分割(segmentation)问题不同,高精度抠图算法需要求出某一像素具体的透明度是多少,将一个离散的0-1分类问题变成[0, 1]之间的回归问题。在我们的工作中,针对图像中某一个像素p,我们使用这样一个式子来进行透明度预测:
其中和分别代表了这个像素属于前景和背景的概率,是混合权重。我们的网络可整体分为两部分,分割网络和融合网络,如下图:
分割网络:我们使用了在图像分割任务中常用的编-解码器结构作为我们的基础结构,但与传统结构不同,我们的网络中使用了双解码器分别来预测前、背景概率和。如果像素p在图像的实心区域(透明度为0或1),我们预测像素透明度的真实值;如果p在图像的半透明区域(透明度值在0到1之间),我们预测像素透明度真实值的上下界。通过在半透明区域使用加权的交叉熵损失函数,使和的值相应升高,即可将透明度的真实值“包裹”!在这一区间中。
右图中红色部分即是被前背景概率包住的像素!
融合网络:由数个连续卷积层构成,它负责预测混合权重。注意,在图像的实心区域,像素的前背景预测往往容易满足这一条件,此时和求导恒为0,这一良好性质令融合网络在训练时可以自动“聚焦”于半透明区域。
应用产品化开放
得以商业应用的基础是我们在应用层单点能力,如人像/人头/人脸/头发抠图、商品抠图、动物抠图,后续还会逐步支持卡通场景抠图、服饰抠图、全景抠图等。据此我们也做了一些产品化工作,如鹿班的批量白底图功能、E应用证件照/战报/人物换背景(钉钉->我的->发现->小程序->画蝶)等。
试用地址:https://ivpd.console.aliyun.com/api-image
接入说明:https://help.aliyun.com/document_detail/139269.html
商务合作咨询请戳链接:https://page.aliyun.com/form/act854786621/index.htm
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Firefox 73 可禁用来自网站的 VR 设备访问通知
随着 Firefox开始支持Virtual Reality,包含 Vimeo 视频或 VR 内容的网站现在都会尝试请求访问 VR 设备。当用户访问受 VR 支持的网站时,当前可以在 Firefox 73 Nightly 中看到这些通知。同时,像其他通知请求一样,Firefox 也允许在新的 Virtual Reality权限设置中阻止 Virutal Reality 设备访问请求。 Mozilla 为 Virtual Reality 提供了专门的 Firefox 浏览器,称为 Firefox Reality,其允许用户在其中打开 Web。当前,Firefox Reality 支持以下VR headsets:Viveport,Oculus Go 和 Google Daydream。 到目前为止,包含有 Vimeed 视频的网站可以看到该通知,如下所示:“您是否允许 player.vimeo.com 访问 virutal reality设备?” Firefox 在通知中警告说,这可能会暴露敏感信息,您可以选择允许或不允许访问该站点的 VR 设备。 Block website request...
- 下一篇
阿里云物联网平台数据分析API调用
概述 物联网数据分析,又称Link Analytics,是阿里云为物联网开发者提供的设备智能分析服务,全链路覆盖了设备数据生成、管理(存储)、清洗、分析及可视化等环节。有效降低数据分析门槛,助力物联网开发工作。物联网数据分析的主要能力包括:数据管理、数据开发、流数据分析和空间数据可视化。 本文从物联网平台产品创建开始,结合设备的创建、设备属性上报到LA数据分析:数据管理将数据存储,最后使用LA数据开发API实现数据的调用访问。 操作步骤 1、创建产品和设备 阿里云物联网平台Qucik Start 2、设备属性上报 基于开源JAVA MQTT Client连接阿里云IoT 3、LA数据存储 4、创建开发任务 5、生成API 6、SDK调用 6.1 pom.xml <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.3.5</version> </depe...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果