机器之心报道
作者:微胖
垃圾难分、智能制造火热、Pepper 机器人做你的英语私教、AutoNLP 全自动建模.......WAIC 2019 黑客马拉松四十八小时鏖战,亮点不断。
8 月 29 日上午,WAIC 黑客马拉松与世界人工智能大会开幕式同时启动,在张江人工智能岛火热开赛。作为世界人工智能大会期间唯一的一场黑客松,该大赛由机器之心承办,张江集团协办,阿里云、微软Azure提供云计算资源支持,张江创业工坊、微软人工智能和物联网实验室提供场地支持。
此次黑客松设计了四大赛题,主要聚焦 AI 技术与应用的热点问题,分别由微众银行、软银机器人、第四范式以及微软 AIoT 实验室进行命题,吸引了来自世界多个国家近百余支团队、数百名开发者报名参赛。
在决赛阶段,48 支团队近 200 位开发者线下展开了四十八小时的鏖战。最终,十三支队伍分列各赛题前三,取得胜利。
微众智能垃圾分类:识别率不理想,场景更难找
和其他三大赛道比起来,这个赛道的团队成员最为年轻。
尽管如此,这一命题还是比我们想象中更有现实意义。据在场评委介绍,在探索智能技术在垃圾分类的应用上,上海做的远比外界认为的多。目前,从前端的居民生活垃圾分类,到小区垃圾装运,再到垃圾厂分选处理,计算机视觉被应用到了每个环节。
作为出题方的微众银行也进行了相关实践。他们曾经花了两周左右的时间做了一款智能垃圾识别的小程序。
垃圾分类范围非常广泛,包括生活垃圾、建筑垃圾(比如居民装修产生的垃圾)、电子垃圾、医疗垃圾等。本次挑战赛聚焦生活垃圾,利用深度学习图像分类模型的构建,实现(上海)四大类别垃圾图片的精准识别,包括湿垃圾、干垃圾、有害垃圾和可回收垃圾。
为此,微众银行发布了 20000 张图片作为训练集、9000 张图片作为测试集(参赛者不可见),考验参赛选手模型的建构、抗干扰能力以及迁移能力。
一共有九支队伍参加了此赛题的角逐。最终,skype 脱颖而出,拔得头筹。
skype 答辩中
skype 首先捋顺了识别逻辑。在她看来,模型构建的过程和人类认知过程差不多:通常,人类一眼就能识别自己扔的是什么垃圾,比如苹果、电池、筷子、纸盒。然后,再根据相关提示进一步分类到合适的垃圾桶,比如干垃圾或者有害垃圾。
微众银行提供的数据也涉及两级目标分类:一级目标的四大类和二级目标的 400 多个种类,覆盖了主要的生活垃圾。
skype 认为,可以将任务理解为一个二级标签空间上的分类以及标签映射问题。随后,她介绍了自己的分类器设计、特征提取模型以及推断策略。和其他选手不同的是,在整个比赛过程中,她并没有爬取额外的数据。
从最终结果来看,验证集结果明显好于测试集。其中,针对有害垃圾的识别效果较差;可回收和干垃圾识别效果最理想,可以达到 80% 以上。
分析其中原因,她认为有一点在于训练集与测试集差别很大。如果要提升效果,还要在数据搜集方面多下工夫,更加切合实际情况。
评委也针对她的算法设计提出了自己的看法:不要为了算法而算法,可以考虑将常识添加到分类设计中。
评委进一步解释道,上海将垃圾分为四大类别,其实并没有大多数人想的那么深奥,本质上也符合生活常识:原则上,人吃的东西,剩下来就是湿垃圾;可回收垃圾无非就是玻璃、塑料、金属、纸张和衣服;至于干垃圾,就是一个兜底的类别。
另一位评委赛后告诉机器之心,他们发现一些参赛选手在算法处理上有一些很有意思的地方,这位 skype 选手的处理方式比较特别,让她印象比较深刻。事实上,在点评过程中,评委也曾就推理策略与选手有过几轮交流。
第二名「分不清什么垃圾」算是本赛道最有故事的选手:垃圾分类本该是 CV 选手的天下,然而这位背景为 NLP 的同学却独自完成了比赛,且获得了第二名的好成绩。
作为一名 NLP 选手,他看到图片后的第一反应是如何用 image caption 将图像中的语义、物体转化为文本,然后再进行垃圾分类。NLP 背景让他没有完全依赖外部形态,而是考虑到了语义特征。他最终选择了 Resnet 50 进行训练。
「分不清什么垃圾」答辩中
第三名是「sharing happiness」。第一次训练后,和其他获奖选手一样,他的图像分类结果在测试集上的效果出现了大幅下滑,仅有 49%。他认为,除了模型,数据本身也有很大问题,比如爬取图和实际垃圾差距比较大。
接下来,选手对不合理数据进行了人工清理,同时为二级类别每个类型增加了 120 张图片并加入到原始数据,然后进行了二次训练。结果,算法在测试集上的准确率提升了 30% 多,大概为 79%。因为将主要工作都集中在了数据工作上,选手认为,最终结果的提升也与此关系重大。
需要说明的是,79% 是四类垃圾分类效果的平均值。就具体类别来说,和其他选手遇到的情况一样,有害垃圾识别率最低,即便是从网络爬取一些图片后,效果仍不理想;而效果最好的是干垃圾。
评委对干垃圾识别率高的这一结果多少有些意外,在他看来,干垃圾作为一个兜底分类,包含垃圾成分会比较多,也比较复杂。理论上,识别起来应该更加困难。或许,这一结果与参赛者的样本有关。
sharing happiness 团队答辩
从应用场景上来看,大家几乎都设想到了手机、电脑等前端甚至后端工厂的应用可能性。
笔者非常赞同第三名获得者的一个观点:最终,特别是在后端,往往需要不同技术手段的联合,包括光学技术、机器人甚至其他物理方法。事实上,目前搭载了 CV 的机器人,也仅仅在后端工厂的最终质检环节发挥作用(甚至可以说可有可无)。没有被委以重任的一个很大阻碍,仍然是处理速度。
纵观整个比赛过程,我们可以看到一些共性,比如 ResNet 成为大多数团队的首选,都非常强调数据集对识别效果的重要性。
针对几乎都在有害垃圾识别上翻车的现象,评委告诉机器之心,选手普遍反映数据集存在一些挑战,比如数据量不够。但数据也与算法要服务的具体场景有关系,比如,如果知道这个算法所要服务的场景的具体情况,然后有的放矢地去收集相关数据,算法效果会有改善。
在评委看来,最棘手的问题其实不是算法,而是找到一个非常合适的落地场景。相对而言,在后端的 CV 识别可能更能满足比较刚性的需求。
传说中的智能分类垃圾桶
评委的一番话,让我想起位于张江人工智能岛大门一侧的那台巨型智能垃圾箱,据厂家介绍,这个垃圾箱价值好几千。
该垃圾箱配备感应器,当我将易拉罐靠近一扇关闭的小窗时,系统会感应到进而打开小窗。易拉罐扔进去后,小窗立刻关闭。不一会儿,就可以听见系统识别出这是可回收垃圾,轰隆一声,本来水平的铁板向可回收垃圾一侧倾斜,易拉罐掉了进去。
如果我扔进去的是一袋未加分类的垃圾呢?机器之心曾在 WAIC2019 现场询问过该垃圾箱制造厂商,对方说,系统会直接默认为不可回收垃圾。
虽说系统可以识别 97% 的可回收垃圾,可当你观摩过黑客松现场就会发现,这其实是最容易做好的一类识别:
可回收垃圾无非就是那几样,通常都是有形的,效果当然好;相反,如果是湿垃圾,因为早已不再是有形的(苹果变成了苹果皮),识别起来就更困难了。
据了解,目前这台智能垃圾系统还无法进一步区分玻璃瓶和易拉罐(仅能识别这是不是一个瓶子)。至于能否像国外网红智能垃圾桶 Oscar 那样识别出瓶子包装上的可口可乐等 logo,厂家告诉我们,这也是他们努力的方向,但目前做到的识别率仅 30% 多。
评委告诉我们,识别更多的商品包装信息对数据集要求就更高,目前简单的一级、二级分类目标就无法满足需求,数据规模也要变得更庞大,这也意味着更加复杂的工作。笔者不由一惊,如此一来,智能垃圾桶的价格岂不是要上万了?!
微软智能车间:实力强劲,亮点不断
在微软智能车间挑战赛中,出题方主要聚焦两大问题:一方面关注智能盘库(空间建模、货物识别、标签识别等)和 AGV(在室内移动状态下的目标识别和测距能力,室内空间行车路线学习和稳定行驶能力。);另一方面关注基于 HoloLens 的一线员工赋能。
与智能垃圾分类赛道的组队不同,参加微软智能车间挑战的不少团队都是久经沙场的资深从业者,获奖的团队也是行业公司。智能车间也是四大赛道中唯一诞生了两个第三名的赛道。所有参赛团队都在微软提供的 Azure 云服务平台上完成智能车间赛题。
专注 AI 物流创新的上汽安吉拔得头筹。
上汽安吉智能充分利用了 Azure 云端服务能力,实现自定制深度学习模型算法。目前的仓库盘点工作存在很多问题,比如货架很高,通常 6 到 8 米,工人要用叉车将库存取出,放到一层,用扫描枪进行扫描,有的甚至还用纸本记录。整个工作不仅非常耗费人工,而且还要停止一周的工作。
上汽安吉提出的方案是:在叉车上安装摄像头和补光设备,行驶过程中录下视频,传给本地服务器,进行视频图像识别和分析,得到货物数量和种类。
在整个技术实现过程中,难点也是很多的。比如,环境很复杂;采集图像不容易;网络环境也很差,很难实时发送数据;移动采集数据实际上很多用不了;光线会大大影响识别效率。
不过,据介绍,采纳他们的方案后,盘点精度达到了 99%,耗时下降了 10 倍,一万平的仓库一台机器 4 个小时即可完成工作。
上汽安吉答辩中
另外,上汽安吉也提供了一套 AGV 移动精准定位、使用微软 Azure 高性能 GPU 算力资源及 Kinect 设备完成的方案。
传统方案不仅依赖在地面上添加辅助标志,还存在定位不准的问题。如何精准测量与货架的距离,并精准地将 AGV 移到货架下面,将货取走,是他们试图解决的问题。
与传统方案相比,他们使用了前置 Kinect 相机的方案来测距。使用透视变换算法来解决 AGV 相机视角较低引起的测距误差。不过,在关键位置,仍然需要增加标志物保持定位精度,通过动态补偿算法解决移动过程抖动导致的定位不准问题。解决方案最后实现的定位精度可达 5 毫米左右。
上汽安吉
获得第二名的是品览团队的智能货架巡检方案。超市货架通常需要补货,存在商品陈列不饱满、商品品牌未露出等问题,这些需要遵守的排放姿势直接关系到商品的出售可能性,比如,摆的足够好、露出品牌、在客户视线范围内的商品更容易被买走。
传统的巡检都是靠人,不仅低效而且容易出现遗漏和工作不到位,机器人工作不仅精确,没有疏漏,而且每天可以做多次盘点。
品览答辩中
品览设计的这款智能盘库机器人,底部有一个激光雷达用来地图建模,上面和下面还有两个摄像头用来避障。这些硬件设备可以保障机器人实现场地的自在游走。照片采集器位于这些摄像头的卡槽位置。走过货架,摄像头就会将浏览到的商品都拍下来。
另外,针对地下的超市,他们做了 5G 通讯模块,利于拍摄视频上传和下载。针对货架通常会比较长的情况,他们还做了图像拼接。通过针对搜集的数据在本地边缘节点分析同时传至 Azure 云端数据湖,即可实现智能巡检。据介绍,这套设备可以显著提升商品陈列合规性。
针对新品类的训练问题,他们会将这部分归为其他,上传到Azure 云端数据湖进行比对,然后添加标签,使用Azure Machine Learning Services,进入 SKU 模块里再训练。
目前,这套系统的检出率可以达到 99%,甚至 100%,识别率在 95%-97%。其中难点之一在于,光照会影响到识别,比如果汁之类的识别。另外,由于仓库的光线以及货物摆放通常凹凸不一,这对摄像头也是一个挑战,因为焦距变化,摄像头也要能够根据实际情况「能伸能屈。」
品览团队的品识 AI 中台
第三名由北光科技(天津)和摩联科技共同获得。其中,Galatea(北光科技)将有关 AGV 的考题解读为用户不接受铺轨;实际场景中,会经常碰到人和电线、货架物品等障碍物;场地变化大,地图不固定。
他们的解决方案是使用 Kinect SDK 的 3D 点云做可行驶区域检测、路径规划,以及避障提示;然后用Azure 高性能 GPU 算力资源运行机器学习做积水识别与二维码库存盘货。
团队谈到,他们偶然发现 Kinect SDK 云图将地上的电线识别得特别清楚,因此,他们意识到这对于识别电线很有用,将 Kinect 与他们以前做过的机器人结合起来。
其中的技术难点不少,包括多 ROS 系统通讯、基于神经网络的障碍物识别、基于三维点云与神经网络预测结果的建图与路径规划以及头部云台与 IMU。
在展示视频中,我们可以发现机器人行走时会自动避开桌子,而不是钻到桌子底下。他们的团队告诉机器之心,其主要贡献就是将那些地面辅助导航的「地图」(比如二维码)抹去了。没有这些地图,小车仍然可以精确行进。他们将自己的机器人称为语义控制的机器人。
团队表示,机器人是 2017 年做的,但是尝试与 Azure Kinect DK 结合还是第一次。与之前仅用摄像头的方案不同,这次他们去掉了过滤算法。
Galatea(北光科技)的 AGV 行驶中
软银 Pepper 机器人:来玩「石头剪刀布」吧
第一次和十来台 Pepper 机器人共处一室,感觉还真有些特别。Pepper 一双萌萌的大眼睛盯着你,视线还能跟随你的移动,有时,还真的有点心跳的感觉。
从 2017 年进入中国到现在,软银机器人产品广泛应用于商业服务场景及教育市场,在全球有超过 5000 家企业使用 Pepper 机器人,为包括汽车 4S 店、机场以及电网公司等企业提供专业的客户服务支持。
在教育市场,已有超过 3000 所科研院校使用软银 Pepper 及 NAO 机器人进行科研及竞赛项目研究。软银机器人在中国携手浙江政府打造 AI 未来英才培育计划,2000 台 Pepper 进校园,通过编程学习让学生进一步了解、学习人形机器人,和老师共同探讨未来机器人的应用想法与创意。
SUDO 答辩中
本次黑客松的冠军即是面向教育主题,来自三星通信技术有限公司的 SUDO 战队,将目光投向英语早教市场,为 4 到 12 岁小孩提供私人外教服务。
选手表演了这样一个场景:5 岁的小朋友父母工作在外,小朋友在家里玩得很开心,忘记学习。
Pepper 会提示小朋友时间表到了,该学习了。还能识别小男孩手中的绘本书,并为之朗读。读完后,会针对相关内容进行趣味小测试,并与小朋友交流。
在学习过程中,Pepper 机器人会用它独特的肢体语言来吸引小朋友的注意力。还会对单词发音是否准确,给出评估。除此之外,通过观察小朋友的头部运动情况,Pepper 机器人还可以识别小朋友的注意力情况。如果小朋友太调皮,家长可通过 Pepper 机器人以远程视频的方式与小朋友通话。
评委认为,此项展示将 Pepper 人形机器人的交互优势体现得淋漓尽致,特别是肢体语言方面得到了很好的发挥,增加了交互的趣味性。
除了 SUDO,其他一些团队也瞄准了英语早教的应用场景。比如,快乐英语学习,因地制宜的口语学习等等。可见无论是评委还是参赛选手对于机器人教育方向均表示十分认可。
同时评委表示,目前优秀的机器人价格高昂,期待在未来能够有更多的好应用、好创意来丰富机器人体验,让机器人早日走进千家万户。
世界人工智能大会现场,很多人都感受到了空调低温带来的「刺骨」。笔者在世博中心冻了两天,一直在想,是否有一种可以智能调节空调温度的方案?
结果,第二名获得者上实龙创团队给我们带来了答案。他们开发 Pepper 机器人作为一个移动的边缘计算节点,负责智慧空间的管理。
上实龙创团队答辩中
做过一些酒店、社区等智慧空间管理项目后,他们发现传统智慧空间解决方案的一些痛点。比如前端交互方式(App)就是一个问题,对于老人或者小孩并不友好,使用起来也比较麻烦。
他们认为,利用 Pepper 基于 CV 与语音识别的人机交互优势,进行数据建模并深度开发功能,可以让 Pepper 做为智能管家帮助人们进行实时决策。
在现场,他们演示了一个酒店场景下的应用。比如,Pepper 可以识别住店客人是谁,然后告诉对方房间号,还可以提前打开房间空调,并控制合适的温度、光线等等。
在评委看来,智能音箱行动力有限,Pepper 机器人的存在恰好弥补其缺点,并希望选手可以将 Pepper 机器人打造成一个边缘计算的拓展,将诸如地下空间等地方的空间服务打通,提供更完整的服务。
比如,机器人可以通过人类的肢体识别(冷得哆嗦)调节室内空调温度、实现节能,将城市管理的决策交给消费者、老百姓。在技术实现上,可以考虑按区域分布,做 5G 机器人云等。
ITC 万物链
第三名被 AI 交互式游戏项目拿走,获胜者是 ITC 万物链,一位「独狼」式的选手。
他受曾经看过的一部电影的影响,想通过与呆萌的 Pepper 交流,让它变成一个具有真实情感的人类。因此,他选择了一个非常聚焦、细致的场景:石头剪刀布游戏。
演示过程中,Pepper 会主动搭讪邀请对方和自己玩游戏,用户回答肯定后,可以选择进入游戏。机器人一边说着石头剪刀布,一边与用户摆出手势。如果用户出的是石头,而机器人说剪子(随机),Pepper 会通过 CV 判断对方的手势(判断是石头、剪刀或布),进而推断输赢。
评委表示,机器人作为一个全新的 AI 领域应用正逐渐走入人们视野,正如「扫雷」、「纸牌」等经典游戏之于电脑系统一样,当下的机器人应用正缺少一个特色经典游戏,让人们真正体会到 AI 与机器人技术的便捷有趣,同时希望选手们能够持续创新,找到机器人互动娱乐的突破点。
特邀嘉宾评委在赛后点评中表示,未来人工智能的发展离不开各位的努力和创造,我们也希望能够有机会做更多的工作帮助整个行业形成机器人开发者生态,为优秀的开发者设立创意孵化器,让整个生态圈良性地发展下去。在这次大会,通过选手的精彩展示,我们看到软银的 Pepper 机器人,无论在商业还是在教育领域都具有广阔的应用空间,期待未来能够看到更多机器人的商业落地应用。
第四范式 AutoNLP 大赛
AutoNLP 答辩现场
AutoNLP 是近来非常前沿的比赛,它希望参赛选手设计能自动处理自然语言文本分类任务的系统,大赛公布数个公开数据集,供参赛选手开发全自动的文本分类系统。
这也是本次比赛最为国际化的一个赛题,吸引了瑞士、韩国、日本、印度等国际选手参加。
AutoNLP 比赛是提交代码方案的比赛,选手代码的整个评测阶段(包括训练阶段)都会在平台上被全自动执行,期间不会有任何人工干预。
比赛开始前一个月内,第四范式公布了 5 个离线公共数据集、5 个线上公共数据集(用于盲测,选手无法获得数据集任何信息)。选手下载离线公共数据集,开发全自动的文本分类系统,实现接收原始未经预处理的文本训练数据、全自动地完成文本预处理、模型结构设计和参数调校等过程。随后将产出文本分类模型上传至比赛平台上,通过 5 个线上公共数据集评估其 AutoNLP 方案的实时性能反馈,也据此得出预赛阶段的排名。
在决赛阶段,选手将自动文本分类系统在私有数据集上进行性能测试,以验证方案的可推广性。方案在没有人工干预的前提下,通过 5 个未经处理的私有数据集进行评估。最终,DeepBlueAI、upwind _flys 以及 txta 获得前三名。
在第一名 DeepBlueAI 的答辩中,开发者展示了 AutoNLP 主要过程,并介绍了他们的解决方案。简单而言,采用 AutoNLP 进行文本分类任务主要分为四大步骤,即自动实现预处理过程、自动抽取文本特征、自动设计高效的神经网络架构,以及自动选择预训练模型等。
如下是 DeepBlueAI 的系统架构,其中预处理过程会从字、词到样本提供各种层级的信息,随后的 Cell 会自动学习最适合数据的模型结构。这相当于我们从不同角度观察文本,最后综合所有信息进行分类,这里「综合」的过程就是集成学习。
开发者表示,他们在自动预处理过程中会根据语言确定不同的策略,例如英文的预处理会将所有大写字母变为小写,并以词为单位进行分割;而中文的预处理会以字为单位进行分割,同时也会进行中文分词。重要的是,开发者表示他们会采用 Python 代码实现数据预处理,从而加速该过程。
在进行一系列特征工程后,开发者表示后面就需要确定一种高效的模型架构,它们尝试将 TextCNN、BiGRU、CNN 等主流模型都聚合在一起,并希望系统能自动搜索更符合数据的架构。
除了第一名的 AutoNLP 解决方案外,其它团队的方案也各有特色。upwind 尝试方案采取了轻量级元学习思路下的自动化深度学习框架,具体而言,该方案功能分为元控制器,自适应数据预处理,自动模型调度器,模型仓库,反馈仿真器几个部分,希望在方案上做到通用和自适应,基于数据特征和任务元特征来进行自动学习,避免出现过拟合的情况。其中,包括了数据自适应处理和增强、自动化模型选择和模型仓库、反馈仿真和元训练模式等特点。因此,使方案具有很好的综合泛化性能,同时由于方案对目标具有很好的预判和模型调度能力,此方案的计算成本在所有参赛队伍中优势明显。
获得第三名的 txta 使用更具特色的支持向量机来解决问题。比赛中,该团队实验了不同的解决方案,基于深度神经网络模型虽然在近些年来很热门,但是训练起来速度比较慢,在大数据上效果和线性支持向量机相比,没有明显的优势。考虑到本次比赛的评价指标中训练和预测的时间也是重要的影响因子,所以选择了词袋模型特征与线性支持向量机相结合的解决方案。正是使用线性的支持向量机,模型的训练阶段和推理阶段速度都是深度学习模型无法比拟的。此外,由于该方案使用的模型是线性模型,不同于神经网络的黑盒结构,也具有较好的泛化效果。
不论思路是什么样的,AutoML 这类前沿领域的探索确实能让人感叹机器学习的潜力还远远未被发掘。
经过 48 小时的鏖战,四大赛题决出了最终的获胜团队,而后在由机器之心承办的 WAIC 开发者日主单元上,上海市经信委领导、机器之心以及出题方为获胜团队代表进行了颁奖。