欢迎来到机器视觉网! 登录 | 注册

机器视觉网:机器视觉如何让你看清世界

发布日期:2019-04-11

        高度专业化的计算机可以将周围环境的景象勾勒成一幅图像,但要达到人眼所能看到的画面标准还需要对计算机进行很长时间的训练。


        作为成年人,我们想当然地认为,用眼睛看东西是很自然的事情,自然得就像我们的呼吸一样。其实不然,我们的双眼要看清东西,需要长期训练、掌握技巧才行。小孩子从小就本能地开始练习看的技巧,两岁前喜欢凝视事物,让眼睛聚焦观察对象。一直到大约6岁时,他们才能像成年人一样,看清周围的事物。同时,他们还练习把眼睛看到的事物在脑子里形成3D图像。其基本原理就像我们戴特制眼镜看立体电影一样,左右眼看到的影像略微有些差别,大脑从这些细微差别中感知远近距离信息,从而形成3D立体感。孩子们的眼睛和大脑就是这样接受日常训练的,6岁左右已经训练得接近成年人的水平了。计算机也一样需要接受数年时间的学习和训练才能看明白周围的环境。


        计算机看世界要使用一款称为神经网络的软件程序,它是一种计算机图像识别软件。神经网络最早发表于1957年,当时,在天气比较好的条件下,该软件能够识别树林里经过伪装的坦克。目前,神经网络已经可以识别人的面孔,实现图片计算机自动管理。只是,现在的神经网络还是固定代码的应用程序,不久的将来,神经网络会自动修改程序代码,像小孩子一样,在实际认识过程中不断发现错误、改正错误、提高识别能力。神经网络输入的图片越多,对图片主要特征和观察视角的把握就越接近我们人类。神经网络已经成为我们管理大量图片的得力助手,能提供管理建议、进行图片归类。尽管神经网络近年来发展很快,但还不能满足广泛复杂的应用需求。


        另外,人们给计算机配备多个传感器,让计算机能够感知环境。多年前,微软开启了这个进程,研发了游戏操纵使用的Kinect摄像机系统。该系统能感知游戏操作者的动作。现在,嵌入小巧的Google Project Tango平板电脑系统或英特尔新一代RealSense摄像单元的移动设备具备了感知三维环境的能力。由于采用了RealSense摄像单元,戴尔Venue87000平板电脑能够对周围环境生成立体影像。这是第一代RealSense摄像单元,名为R100,可为每张照片保存额外的空间信息。为此,该单元装备了3个摄像头,安放在一条直线上,彼此位置等距分开,同时拍摄。中间摄像头拍摄实际影像,软件算法查找左右两个摄像头所拍影像的相同点。自上而下的分析功能使用这些相同点来确定景物的远近,其数学基础是三角测量原理。分析精度在1m以外是相当精确的,但超过5m精度随景物距离的增大而下降。这款戴尔平板电脑也可以测量两个物体之间的距离,还可以测量表面面积。业余建筑师和家庭装修工不再需要拿卷尺测量计算装修面积,只需用该平板电脑照张像,一切就可以搞定。


        网格法测量空间


        下一代RealSense摄像单元(R200)的测量精度将更高:使用红外激光技术,构建测量网格,两个红外探头接收这些点的测量数据,软件算法把这些点连成面,在屏幕上显示景物远近立体图像。例如,该软件对人的脸孔构建一个78点的测量网格,捕捉脸孔不同部位的深浅变化,借以纪录人的表情:愤怒、快乐、沮丧。该软件还能感知面部颜色的变化,测量人的心跳速率。将来,移动设备能够感知机主和聊友们的心情,有了神经网络,移动设备对环境的感知能力将越来越强。


        前述微软的Kinect摄像机系统采用了英特尔RealSense摄像单元,即使选择低分辨率,如320×240或360×480测量点网格,该系统需要记录测量视频,假如帧频是每秒60帧,那么系统每秒需要执行1800万次与距离相关的运算才不会丢失信息。为达到必要的网格测量精度,英特尔还要求摄像机必须缓慢移动,被测景物最好静止不动。这些使用要求表明,用于移动设备的硬件性能还远不能满足诸如全自动驾驶的定位测量需求。另一个挑战是RealSense摄像单元的体积如何缩小到能装进手机里。微软公司的一个研发团队已经找到缩小传感器的方法,在摄像机镜头周围安装一圈红外发光二极管,因此,摄像机内部的红外滤波器就可以去掉,还能感应这种特定波长的光。Depth4Free系统能识别附近人的姿态,但该系统不能用于空间测量。


        Google的Project Tango平板电脑系统却能胜任空间测量工作,而且相关的研发项目有望在2015年年底前找到嵌入客户设备的方法。该系统计划首次应用于美国NASA(美国国家航空航天局)的SPHERES机器人。这些足球大小的机器人将在国际空间站内飘来飘去,测量内部空间。


        迄今为止,只有一款Google Tango平板电脑配置了类似RealSense的传感器。另外,一个运动轨迹跟踪系统也使用红外测量技术,拍下照片的同时还记录系统所在位置。假如你在家里拿着该平板电脑走动,它在记录行走路线的同时,还能测量室内空间。假如你再退回几步,平板电脑将进行数据同步操作,并发现它曾到过这个位置,很快,它就相当熟悉家里的环境了。


        人们做上述图像识别和距离测量工作有什么意义呢?有现实意义,例如,预计几年内,在计算机系统的控制下,全自动驾驶汽车将会纷纷上路。这些车要在不断变化的环境里找到行驶方向,需要配置多种传感器。30m内景物的距离,用前述立体摄像机来计算足够精确了,它们能分辨道路和交通信号。但只能处理前方50°~60°的小视角范围。全自动驾驶汽车配置一个Li-DAR激光雷达系统,能够计算出周围360°范围内景物的距离。这种雷达发射激光脉冲,测量激光从景物返回所需时间。在数百米范围内,这种雷达测距的精度相当高。然而,只测距对自动驾驶来说还不够,车载计算机必须把这些测量数据与一个详细的、包含所在位置的三维地图同步,还需要人行道位置、交通信号等信息,才能计算出行驶的路径。另外,车载计算机必须辨别人、自行车或动物,以便预测他们的移动轨道。这些任务都将由神经网络来完成。


        神经网络自我完善


        神经网络回答“什么时候一匹马确实是一匹马?”之类的问题。为此,神经网络要读入大量的有关马的图片,从中过滤出马的可用于识别的特征,如鬃毛、尾巴、鼻子、腿和蹄子。假如研究人员训练神经网络达到足够的强度,理论上讲,神经网络检测出马对交通构成潜在危险的能力,可以达到与我们人类一样可靠的程度。神经网络识别物体的突破性进展,是在研究人员使用卷积神经网络(CNN)时获得的。该识别算法建立一个卷积滤波器。


        人们在图像处理中锐化或钝化图像时,实际上已经用到了上述卷积滤波器。CNN重复多次这个处理过程,处理后的图像越来越抽象,最后呈现出一些直线、曲线和边界线等刻画眼睛、鼻子和嘴巴特征。为此,CNN同时启动成千上万次这种滤波运算,直到最后CNN作出决定,是的,图片上明显是一匹马。


        当今世界顶尖的CNN专家都在像斯坦福这样的大学工作,他们通常最终为大型服务供应商工作,如Google、Facebook或微软公司。这些大公司使用CNN梳理并分类海量图片。2015年2月,斯坦福大学和雅虎实验室的研究人员宣布脸部识别技术取得突破。他们的CNN可从任意角度识别脸孔,甚至被部分遮挡的脸孔也能被识别。他们给CNN输入20万张包含脸孔的图片和2000万张无脸孔的图片。在识别训练结束前,CNN运行了5万个批量图片处理进程,每批包含128张图片。Facebook公司甚至宣称它的DeepFace神经网络识别脸孔的成功率达97.25%,接近我们人类识别脸孔的平均水平。


        德国弗朗霍夫研究所的博士Mark Asbach说,即便是在一个复杂图片里识别单个物体,CNN也会遇到很多困难。如果识别对象只有部分显现,那么CNN可能需要评估每张图片里数百万个部分。这样将导致识别错误爆发性增加。


        同样的道理,假如对CNN做过特殊训练,并且重要参数不多,那么CNN的识别率就高、识别速度就快。新泽西州罗格斯大学的研究人员建立了一个CNN,用于识别画家和他们的绘画风格。该CNN通过绘画作品鉴别作者的正确率达60%,鉴别绘画风格的正确率达50%。2015年4月底,微软在hao-old.net网站推出了一个CNN,尝试评估人的年龄。只是可惜,评估正确率不理想。为了改善评估效果,微软不得不在CNN里引入反馈功能。


        为手机研制的专用芯片在进行之中


        将来,CNN不再局限于大型网站服务器,经过高强度训练后,一个CNN可以在任何计算机上运行。识别功能将做成编程语言(如Wolfram Alpha)的一部分。软件开发人员只需将模块化的CNN集成到自己的应用软件中即可。高通,这位移动处理器市场的领导者,未来甚至会提供含特殊硬件模块的骁龙(Snapdragon)芯片组,用于处理CNN中大量并行计算操作。在未来的几年里,这些芯片可能会像现代音频或视频转换信号芯片一样,成为新的智能手机模块里的一部分。


        CNN的研发进展颇具戏剧性,仅仅几年前,CNN还不是人们偏爱的神经网络,而现在,CNN已经站在神经网络的最前沿。Mark Asbach担心,未来将只有大型网络服务提供商才有能力为新需求建设较好的神经网络,而个体研究人员不再支付得起日益上升的神经网络训练费用。据他所言,神经网络的下一步发展将涉及到自我训练,预计几年后,当今的CNN将被新的识别方案取代,那时,将不再需要寻找训练样本的专家和高强度的训练。


        综上所述,关于何时计算机能像一个6岁孩子那样看明白这个世界,还没有结论性的答案。a