从远古时期开始,人类就已经学会了用简单的涂鸦去描绘自己看到的世界,而到了今天,涂鸦或者更准确的说是简笔画,可能是唯一的全人类通用的绘画技能。如果给你一张纸和一支笔,请你画出一双大眼睛,美术生画出来的可能是左边这样的,漫画家画出来的可能是右边这样的

而我们的灵魂画手画出来的可能是下面这样的......虽然看起来简单,但是一笔一划中都透露着一股神韵......

1     “猜画夺宝”项目背景

刚刚过去的农历春节中,淘宝直播就上线了这样一款名为“猜画夺宝”的实时互动游戏,让我们这些灵魂画手也能在手机端轻松的一展画技,通过AI猜画夺宝,赢取了海量的红包奖励,春节期间该活动吸引的互动总数超过1亿人次

淘宝用户参与“猜画夺宝”的方式有两种。一种是日常分享的玩法,用户根据画板上的提示绘画一些特定种类的物体,然后AI会识别出相应的类别并提示用户分享识别到的内容,具体效果如下图所示。小编绘画的抽象派猪年生肖就被AI正确的识别到了。

另一种玩法是在淘宝直播的官方直播间,主持人口头播报12道猜画夺宝题目,用户可以单人也可以组队参与这12道题的作答,每道题都是AI识别用户绘画的物体,如果识别到的内容和题目要求绘画的一致,则作答正确,每答对一题都会有机会抽取现金红包,最后的终极大奖会根据全队的总得分进行抽取。

整个项目中我们见证了许多用户的“灵魂画作”,让我们一睹为快。

 

2     “猜画夺宝”项目面临的挑战

可能有的读者也试玩过谷歌的“猜画小歌”这一款微信小程序,可以说“猜画小歌”是手机端AI猜画互动游戏的鼻祖,并且谷歌也开源了Quick, Draw!简笔画识别数据集。相较于“猜画小歌”,我们的AI简笔画识别面临更多的挑战:

  • 如果采用类似谷歌的服务器端算法,超过10万人同时参与相同题目的AI猜画有一定风险,因为上传图片,大模型预测,再加预测结果返回,整套流程过于冗长,手机端的互动流畅性难以保证。

  • 如果采用基于手机端的小模型识别算法,虽然速度上能够保证,但是识别准确度方面难免会打一些折扣。

那么我们最终选择了手机端的简笔画识别方案。基于淘宝自研的AliNN深度学习Inference框架,我们的模型可以获得流畅的用户体验,而对于小模型精度方面的损失,我们也研发了一套自己的解决方案,会在下一部分进行详述。

 

3     “猜画夺宝”项目采用的识别方案

简笔画识别的目标是对任意一幅简笔画物体进行分类,而相较于普通图片中的物体分类,简笔画物体分类的难度更大,因为简笔画物体往往缺少丰富的纹理信息,也存在大量的形状类似的简笔画物体。

在机器学习领域,学术界一直以来都在尝试对简笔画物体进行分类,比较传统的做法是先对简笔画物体进行特征提取(比如用一些传统的SIFT特征或者HOG特征),然后针对这些提取出来的特征,用SVM分类器进行多类物体的分类,当然相较于现在流行的深度神经网络的分类方案,这样的传统算法的准确度比较低。

近些年,随着深度学习的发展,简笔画分类算法有了很大程度的进步,CNN方案和RNN方案是两种比较常用的简笔画分类算法,我下面简单介绍一下这两者的原理。

CNN方案

CNN方案简单地把所有的简笔画图像看成是一幅黑白图,在我们把数据集中所有简笔画的笔画粗细,物体大小归一化到同一个尺度上以后,我们就可以选择适合的CNN网络对这些黑白图进行分类训练了。下图展示了近几年在ImageNet物体分类比赛上取得成功的多个CNN网络,我们可以根据实际的场景,选择相应的CNN网络来做简笔画分类。比如当我们追求准确度的时候,我们可以选择像NASNet这样重量级的网络,而当我们追求性能和精度平衡的时候,我们可以选择像MobileNet这样的可以在移动端运行的CNN网络。

ImageNet上比较成功的CNN网络对比图,准确度vs计算量[1]

RNN方案

这里我们介绍的RNN方案[1] 来自于Tensorflow官网,是一份很好的简笔画识别+Tensorflow应用的教程。那么在这个方案中,简笔画图像不再是简单的黑白笔画信息了,它引入了时序信息,而我们知道RNN是非常适合解决拥有时序信息的问题的。在这个方案中,所有的简笔画物体的笔画由三个信息决定,即笔画经过的点的位置(x,y)坐标和经过这个点的时刻t(从当前笔画开始计算)。如下图中所示,一幅“猫”的简笔画被量化成了一个位置加时间的序列,当然在这幅图中时间信息被进一步简化,如果是笔画开始的点就为1,如果不是笔画开始的点时间信息就为0。

在RNN的预测过程中,这样一幅简笔画序列将经过一系列一维卷积,再经过LSTM层,并将所有 LSTM 步的输出之和馈送到 softmax 层,以便根据我们已知的简笔画类别来决定简笔画的分类。

RNN方案举例[2]

我们的方案

CNN网络简笔画识别流程示例

RNN网络简笔画识别流程示例

综合CNN和RNN的方案,我们在实验中发现,RNN网络要比CNN网络整体的准确度更高,这也显而易见,因为RNN网络的输入信息更丰富,把时序信息也引入了其中,而CNN网络相较于RNN网络平均的预测速度更快,也更容易在手机端进行部署,那么如何能够取长补短,形成我们自己的简笔画识别方案呢?

我们参考了kaggle简笔画识别比赛[3]的前几名方案,把RNN利用的时序信息和CNN的黑白输入图像结合到了一起,不再使用黑白简笔画图像作为输入,而是使用RGB图像进行输入。如下图所示,我们用不同的颜色给不同顺序的笔画进行着色,比如每幅简笔画的第一笔我们用红色进行着色,更进一步,如果我们拥有的时间更精确(比如时间信息是从当前笔画开始的毫秒时间),我们甚至可以把第一笔红色笔画变成从浅红到深红的渐变笔画。用这样的方法,我们就把抽象的时序信息融入到了CNN的输入图像中去,用新的RGB图像作为网络输入。

时序信息融入RGB图像示例[3]

这样,我们新的方案的示意图如下图所示,CNN网络输入是拥有笔画时序信息的RGB简笔画图像,先经过一系列2D卷积层和Max pooling层,再用一系列全连接层把图像抽象成更高维的信息,最后用softmax层把最终的分类结果得到。

我们的时序CNN网络简笔画识别流程示例


4     “猜画夺宝”项目采用的数据集

Google’sQuick, Draw!数据集 [4]

TU-Berlin数据集 [5]

简笔画识别领域的公开数据集并不多,比较著名的有Quick, Draw!数据集[4](上图)和TU-Berlin数据集[5](上图)。之所以简笔画识别数据集比较难构建,是因为一个好的简笔画数据集必须具备以下几个特点[6]:

  • Exhaustive:数据集中的物体种类必须涵盖大部分我们在日常生活中遇到的物体种类。

  • Recognizable: 每个物体种类必须从形状就能被识别,而不需要纹理信息。

  • Specific: 每个物体种类必须足够明确,不存在太多的视觉上的差异,比如“乐器”就不是一个很好的物体种类,因为存在太多种不同种类的乐器了。

而Quick, Draw!数据集和TU-Berlin数据集就是两个很好的具有上述特点的简笔画识别数据集。

谷歌的Quick, Draw!数据集是现在公开的最大的简笔画数据集,包含345个物体种类,总共约5千万幅简笔画图像,每个类别平均约有15万幅简笔画,而且它们来自于世界各地,由世界各地的用户在20秒内完成单幅简笔画的绘画。所以Quick, Draw!数据集的更倾向于抽象的简笔画流派。

TU-Berlin数据集包含250类物体,每类物体提供了80幅简笔画,而每幅简笔画都是由志愿者花了将近30分钟绘画完成的,所以TU-Berlin数据集更倾向于比较现实流派的简笔画数据集。

综合我们实际的淘宝直播答题场景,我们选择了谷歌的Quick, Draw!数据集作为训练数据集,我们从每一类物体的数据中随机选择了一部分简笔画作为测试图像,其余的数据作为训练图像,训练我们的时序CNN模型。

最终我们的时序CNN模型在保证运行速度达到实时的前提下,在测试集上获得了TOP3准确度超过90%的表现,相比于不加时序信息的CNN模型获得了接近5%的精度提升。

5     “猜画夺宝”项目未来的发展和应用

本次的“猜画夺宝”活动,吸引了超过1亿人次参与互动,说明广大的淘宝消费者对于有趣的手机端智能玩法有很高的认同度。只要互动玩法设计的有趣,参与时的智能科技感强,就很能够获得大众的青睐。

沿着这样的思路,未来我们一方面会尝试对“AI猜画”的算法能力进行不断的升级和优化,让AI能够准确地识别更多种类的物体;另一方面,依托我们自研的移动端智能SDK——PixelAI(见下图),在其他有趣的智能场景,我们也会推出更多的互动玩法。

PixelAISDK能力和功能示意图

PixelAISDK涵盖了人脸、表情、姿态、手势、分割、追踪、SLAM等端上智能算法以及互动渲染能力,还包括了AliBeauty美肤、滤镜、美型美体、上妆四大功能,以及基础图像处理,视频编解码技术,是我们移动端智能互动玩法的基础SDK。目前为止我们根据PixelAI的算法能力推出过本次春节的“猜画夺宝”活动,2018年双11猫晚的“笑脸红包”,以及去年世界杯期间“这就是世界波”栏目的AR头球互动等(参考下图)。

PixelAISDK移动端智能玩法举例:“猜画夺宝”,“笑脸红包”,“AR头球”

未来我们会以PixelAI为基础推出更多有趣的互动玩法,让用户拥有更多的智能体验。

参考文献

【1】Benchmark Analysis ofRepresentative Deep Neural Network Architectures (Simone Bianco, Remi Cadene,Luigi Celona, Paolo Napoletano), In IEEE Access, volume 6, 2018.

【2】

https://www.tensorflow.org/tutorials/sequences/recurrent_quickdraw#download_the_data

【3】 https://www.kaggle.com/c/quickdraw-doodle-recognition

【4】 https://quickdraw.withgoogle.com/data

【5】 http://cybertron.cg.tu-berlin.de/eitz/projects/classifysketch/

【6】 M. Eitz, J. Hays, and M. Alexa. How do humans sketch objects? ACMTOG, 31(4):44:1–44:10, July 2012.

关于作者

塞远(陈志文),淘宝技术部算法小二,个人兴趣是计算机视觉和深度学习,目前主要从事淘宝多媒体算法的开发工作,服务端和移动端算法都有涉猎。

推荐阅读

AI挖掘优质淘宝买家秀 再也不用担心辣眼睛了

淘宝直播:多媒体终端智能互动实践

手机淘宝H265编解码算法与工程优化

扫描二维码

关注淘宝技术

超1亿人次嗨玩猜画夺宝 AI助灵魂画手智抢红包相关推荐

  1. 微信支付8·8无现金日超1亿人次、近70万家门店参与

    8月8日,微信支付晒出今年无现金日的成绩单,在今年的"8·8无现金日",共有超过1亿人次.全国近70万家门店参与."8.8无现金日"是去年由微信支付倡导发起的全 ...

  2. TikTok全球下载突破超20亿人次,它做对了什么?

    TikTok is more machine than man. In this way, it's from the future - or at least a future. --纽约时报「抖音 ...

  3. 日调用量超600亿次,HMS Core HiAI Foundation助力AI应用高效开发

    随着新技术的不断演进,人工智能已经广泛地应用到教育.金融.物流.零售.交通.医疗等各个领域.而在AI高速发展的当下,高效开发变得更为重要,如何将创意想法与AI技术深度融合,迅速转化为可落地的AI应用, ...

  4. 每年 13 亿吨食物遭浪费,如何用 AI 助餐厅后厨省粮

    By 超神经 场景描述:通过在厨房管理中,加入数据分析,计算机视觉等技术,一家叫 Winnow 的公司,帮助酒店企业减少在生产过程中的食物浪费,节省开支,杜绝浪费. 关键词:计算机视觉  食材规划 食 ...

  5. 产出估值超百亿的“国民种草机”,这两个80后不简单

    来源 | 熔财经 文 | 陈三 小红书,现在年轻人手中最为"热闹"的种草平台. "吃喝玩乐"前,翻一翻笔记,找一找标准答案,成了躺平一族无言的默契,小红书也一度 ...

  6. 还没通关“猜画小歌”?击败谷歌AI的秘籍在此

    这两天,Google又刷屏了. 不是因为这家公司要被欧盟罚款50亿美元,而是因为Google首款微信小程序"猜画小歌":跟AI玩我画你猜的小游戏.  有很多人赞美. " ...

  7. 从“猜画小歌”背后的AI原理,教大家如何得高分

    原文转载于:https://blog.csdn.net/L70AShC3Q50/article/details/81187226 作者:邵宇,清华大学计算机专业博士 近期谷歌的"猜画小歌&q ...

  8. 【云栖大会夺宝攻略】在线PK、打卡领奖、抢offer,开发者专属玩法在这里

    简介:云栖大会2020就要来了! 什么才是开发者专属"游园"姿势? 丰厚"宝藏"如何免费拿? 不要慌!游玩入口就在下面,快点击图片去"夺宝" ...

  9. 众筹一元夺宝---会玩的赶紧来组团

    一元夺宝q裙,489424255.十人开团!玩过一元夺宝的应该会明白,自己单独投资,中奖概率还是很低的.有没想过,组个团队,集每人的份额,投进去是不是概率是高了,虽然中将之后,奖品拾大家分,但按中将概 ...

最新文章

  1. Python中lxml库的安装(Windows平台)
  2. 13.angular时间
  3. tomcat 深度优化
  4. uestc 250 windy数(数位dp)
  5. 15个C++项目列表
  6. SCCM 2012 R2 从入门到精通 Part2 部署准备
  7. Unity C# Job System介绍(二) 安全性系统和NativeContainer
  8. React-Native视频组件react-native-video使用(安卓版)
  9. Liunx 重定向,管道符(转)
  10. Java程序员最值得学习的10大技术
  11. SAP License:兼顾发展与成本:解构大中型企业ERP产品需求
  12. 在中国知网下载 PDF 格式的学位论文
  13. 新浪微博批量删除微博方法
  14. 毕业4年,给自己来个了结,^_^
  15. 要恢复丢失的照片,需要做哪些准备?
  16. [lighttpd]referer字段实现域名过滤及放行指定域名不走重定向
  17. 微信小程序的background-image使用
  18. 对于等待事件(direct path read)的理解
  19. word如何一键全选_word文档怎么全选所有内容
  20. 【2020 ACM Fellow 华人学者】 吕晨阳 圣路易斯华盛顿大学

热门文章

  1. java解析soap返回报文_java解析soap响应报文
  2. 【程序源代码】小程序最佳开发实践-租房小程序
  3. [渝粤教育] 南方医科大学 医学统计学 参考 资料
  4. java Arrarlist中的add(int index,Object ojb)
  5. 使用ADODB在C#
  6. Bottom Tab
  7. JS实现华为账号授权服务,一键登录!
  8. java计算机毕业设计智慧门诊综合管理系统源码+mysql数据库+系统+部署+lw文档
  9. sql语句-既包含又包含
  10. 基于IP的设计学习1:ug896.一些基本概念