重见光明:深度学习帮助盲人“看”到世界

作者 英伟达中国

导盲犬可以很好地帮助盲人或视障人士出行,但是如果想辨别出前面路口的标识,或者想知道钱包里还有多少钱,导盲犬可就办不到了。

由微软AI研究小组开发的应用程序Seeing AI为这个问题给出了解决方案。该应用程序可为盲人和弱视用户描述这个世界,使他们可以使用自己的智能手机来识别一切:包括单个物体、颜色、钞票、文档等。

自去年问世以来,这一应用程序的下载量已突破15万次,执行任务500万次,其中一些任务的服务对象还是全球知名的盲人。

“Stevie Wonder(美国知名艺人)每天都会用,这确实很令人振奋。”微软高级数据科学家Anirudh Koul在3月于圣何塞举行的GPU技术大会上发表演讲时说道。

该应用程序的现场演示就已展现出了其强大的功能。和Koul一同上台的还有他的一位同事,当他在自己的智能手机上运行应用程序,并将手机朝向他的同事时,应用程序描述他看到的是“一位31岁、有着黑头发、戴着眼镜且看起来很开心的男士”。

如果这位同事在他的联系人列表中,则有更佳的使用效果,因为Seeing AI可以与用户的联系人进行整合,并能识别出朋友的名字。

Koul还分享了几个令人叹服的使用案例:一位盲人教师将运行该应用的手机面朝教室门口,这样孩子们就不会因她是盲人而趁机偷偷进出教室;另一位用户在飓风肆虐的地区穿行时,利用这款应用程序避开了倒落的电线和其他障碍物。

Seeing AI的开发始于2014年2月,开发人员曾试图创建一个能发现并识别周围物体的卷积神经网络。但是其延迟时间达10秒,这样的速度不能及时帮助人们快速作出决策。

第二年,微软赞助了一场为期一周的黑客马拉松,活动共吸引了13000人参与,并由此引发了第二次尝试:在用户的头上配备手机。

在使用智能眼镜进行试验后,Koul的团队开始着手于应用程序本身的开发工作。网络本地训练过程在NVIDIA GPU上进行,而较为繁重的工作则交给了基于NVIDIA Tesla P100 GPU运行的Azure云实例。通过逐帧分析确定每一部分训练的发生位置。

AI调优

应用程序需要辨别不同图像,而图像属性具有不确定性,所以开发人员针对此特性对模型进行了训练。例如,如果训练应用程序识别货币,则需要向训练网络内输入不清晰和无背景的货币图片,以及货币某一极小部分放大后的图片,再让其识别出图片的真实内容。

该团队向志愿者征集,最终得到了各种类型的图片,其中包括一张猫咪玩纸币的图片,以及纸币被封在冰块中的照片。通过这些变量对模型进行训练,最终就能够计算出识别图片所需的最小参数。

Koul的团队对网络进行了调整,使其倾向于得出否定性分类或不分类的结果,而不是猜测结果(这样可能将5元钞票识别成10元),因为猜测很显然会给盲人用户造成麻烦。

随着用户人数的增多,这款应用程序也将变得越好、越准确。AI将会成为盲人和视障用户的福音。