计算机视觉逼近拐点,微软算法正跨越“一步之遥”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机视觉逼近拐点,微软算法正跨越“一步之遥”相关的知识,希望对你有一定的参考价值。
在几乎所有的科幻电影里,人工智能机器人都能像人类那样,用计算机视觉动态的识别周围环境、人与物。《星球大战7》里的新型机器人BB-8,还能通过头部的配合,制造出各种萌萌的眼神和表情。
然而与人类数千年的文化相比,计算机科学本身也不过几十年的历史。人眼可以轻易的识别各种2D和3D图像,对于计算机来说只是无数像素点的集合。如何让计算机分析这些捕获的像素点,“识别”出来各种物体,一直是计算机视觉想要攻克的难关。
微软研究院作为全球最大的企业研究院之一,长期以来也与其它科技机构一样,试图打开机器之眼。2015年底,微软在全球顶级的计算机视觉挑战赛ImageNet中拿下了全部三项主要项目的冠军。与此同时,在硬件端微软还开发出了针对智能终端的视觉识别模型压缩算法。
可以说,现在离计算机视觉的全面突破,只有一步之遥。
百层卷积神经网络
ImageNet挑战赛的项目之一是对1000 类、120万张互联网图片进行分类,每张图片人工标注5个相关类别,计算机识别的结果只要有一个和人工标注类别相同就算对。对于该图片集,人眼辨识错误率大概为5.1%,目前只有谷歌和微软等个别参赛团队的算法能够达到低于5%的结果。
2015年12月10日,微软亚洲研究院视觉计算组在ImageNet计算机识别挑战赛中再次打破纪录,获得图像分类、图像定位以及图像检测全部三个主要项目的冠军,将系统错误率降低至3.57%。
在计算机视觉识别领域,卷积神经网络是主要的识别算法。微软亚洲研究院视觉计算组首席研究员孙剑介绍,之所以能实现3.57%的重大突破,是因为他所带领的研究团队使用了前所未有的高达百层的深层卷积神经网络算法,比以往任何成功的算法层数多达5倍以上。
目前神经网络算法的层级普遍为20到30层,而在此次挑战赛中微软团队的卷积神经网络实现了152层。孙剑的团队还采用了全新的“残差学习”原则,很好地解决了神经网络的层级数与准确度之间的矛盾。孙剑说,“深层残差网络”极为通用,将极大地改善计算机视觉的研究。
把视觉识别推进到智能终端里
ImageNet挑战赛不断激励参赛的研究机构开发和优化计算机视觉识别算法,但在实际商业应用中却需要把已经研究出来的科学算法,用简单易用、高效可靠的工程化方式在智能手机等智能终端上实现。
微软亚洲研究院硬件计算组与清华大学电子工程系一直在硬件加速领域合作近10年,从2013年开始双方一起研究怎样把深层卷积神经网络与智能硬件结合起来,其成果就是基于FPGA(可编程芯片)技术的A-Eye视觉芯片。
FPGA对用卷积神经网络算法进行图像识别、压缩算法进行大数据处理等方面有重要价值。微软的研究表明,高端GPU的图像处理能力是FPGA的2到3倍,但FPGA的功耗约是高端GPU的1/10,多个FPGA结合能以低功耗达到GPU的处理能力。
微软亚洲研究院硬件计算组主管研究员徐宁仪介绍说,A-Eye视觉芯片本质上是想把现有的计算机视觉识别算法嵌入到普通的摄像头里。现在,深层神经网络算法的层数越来越高,需要的计算能力越来越强,而智能手机等终端设备的计算、存储和功耗都很有限,因此A-Eye本质上是通过软件压缩和定制的硬件加速,让计算机视觉识别算法适用于普通的智能终端。
A-Eye视觉芯片包括了一个基于软件的压缩算法和基于FPGA芯片的硬件实现,可把一个典型的卷积神经模型压缩近五倍,并且在一个2cm×2cm面积的FPGA芯片里实现。A-Eye视觉芯片是一个通用的平台,适用于任何深层卷积神经网络算法。经过压缩后,一个原来500M的视觉识别算法能被压缩到100M左右。
距离通用型视觉识别“一步之遥”
目前的摄像头主要能完成图像记录、存储等功能,而在摄像头上嵌入A-Eye视觉芯片,就可以让摄像头具有视觉理解能力。基于A-Eye技术的高性能智能视觉芯片,可以广泛用于智能安防、婴儿和老人看护、无人汽车和无人机等各种需要计算机视觉的领域。城市的安防摄像头如果配备了A-Eye芯片,就可以同时寻找一个 “穿黄上衣背黑背包的人”,并且不漏过每一帧图像。
那么,有了百层的神经网络和适用于智能终端的压缩技术后,是否智能终端就具有与人类媲美的视觉识别能力了呢?还不是。徐宁仪介绍说,虽然可以把A-Eye技术工程化,用成本更低、更小型的通用芯片实现智能手机或网络摄像头的视觉识别能力,但由于深层神经网络算法仅仅是针对某一类图像数据的“识别”,类似人眼这样的通用图像识别,还有一段路要走。
所谓深层神经网络算法或机器算法,本身仅仅是对某一类图形图像数据的数学建模,也就是要根据应用场景建立相应的数学模型。以花卉识别为例,微软亚洲研究院与中科院合作,对260万张花卉照片进行深层神经网络训练,得出了花卉类的通用数学模型。基于这个数学模型,可以对摄像头扫描进来的任何花卉图片进行识别,准确叫出花卉的名字及所属的界、门、纲、目、科、属、种。
换句话说,目前的视觉识别算法和压缩技术,仅仅是一种建立数学模型的工具。把海量的动物图片输入到这个工具,另一端得出来的数学模型就只能识别动物图片,以此类推。所以,基于微软的研究成果,可以开发出针对特定场景、可商用的计算机视觉智能解决方案。
那么,我们离通用型计算机视觉智能还有多远?徐宁仪说,这个愿景也许不难实现。所谓“看过世界才知道世界是什么样”,一个可能的方法是通过搜索引擎生成一个半通用型图像识别模型,然后再把具体要识别的图片与这个半通用型模型结合,迅速得出定制化、场景化的模型。
从目前微软等公司的研究进展看,人类离可商用的通用型实时计算机视觉已经逼近拐点。背后还有一个推动力不可忽视:全球5G技术的研发已在2016年初大规模启动,移动网络带宽很快将不再是问题,智能手机等智能终端的性能也在飞速提升中。(文/宁川,本文首发钛媒体、ITValue)
【更多精彩内容 尽在《云科技时代》微信 微信号:CloudTechTime】
本文出自 “云科技时代” 博客,请务必保留此出处http://cloudtechtime.blog.51cto.com/10784015/1737783
以上是关于计算机视觉逼近拐点,微软算法正跨越“一步之遥”的主要内容,如果未能解决你的问题,请参考以下文章
PyTorch实现,GitHub 4000星:这是微软开源的计算机视觉库