人工智能与计算机视觉

工控方

    前不久,vivo宣布成立AI全球研究院,将会加大对人工智能多个领域包括知识图谱、自然语言以及机器视觉等加大投入,深入研究开发创新性技术。
    过去几年,全球的互联网公司包括谷歌、微软、Facebook以及中国的百度、阿里巴巴都在加强人工智能领域的投资,设立自己的人工智能研究院。vivo是第一家设立专攻人工智能方向研究院的中国手机公司。此举是vivo内部已经确立的一份3-5年的中长期发展的战略规划,未来对人工智能的发展研究是必然趋势,vivo公司创始人兼CEO沈炜曾表示“人工智能和5G的结合将会是5G时代手机发展的趋势”。
    今年我们看到vivo在产品上不少创新,比如AI拍照、商用屏下指纹技术等等,这些都是基于生物特征(biometrics)的鉴别技术,除此之外还有对人脸、虹膜、指纹、声音等特征上的识别,这些大多涉及到视觉信息,正是体现了计算机视觉的应用性,那什么是计算机视觉呢?
    
    计算机视觉技术的概念
    正像其它学科一样,一个大量人员研究了多年的学科,却很难给出一个严格的定义,模式识别如此,目前火热的人工智能如此,计算机视觉亦如此。与计算机视觉密切相关的概念有视觉感知(visual perception),视觉认知(visual cognition),图像和视频理解( image and video understanding)。这些概念有一些共性之处,也有本质不同。
    从广义上说,计算机视觉就是“赋予机器自然视觉能力”的学科。自然视觉能力,就是指生物视觉系统体现的视觉能力。一则生物自然视觉无法严格定义,在加上这种广义视觉定义又“包罗万象”,同时也不太符合40多年来计算机视觉的研究状况,所以这种“广义计算机视觉定义”,虽无可挑剔,但也缺乏实质性内容,不过是一种“循环式游戏定义”而已。
    实际上,计算机视觉本质上就是研究视觉感知问题。视觉感知,根据维科百基(Wikipedia)的定义, 是指对“环境表达和理解中,对视觉信息的组织、识别和解释的过程”。根据这种定义,计算机视觉的目标是对环境的表达和理解,核心问题是研究如何对输入的图像信息进行组织,对物体和场景进行识别,进而对图像内容给予解释。
    计算机视觉(Computer Vision, CV)是一门研究如何让计算机达到人类那样“看”的学科。更准确点说,它是利用摄像机和电脑代替人眼使得计算机拥有类似于人类的那种对目标进行分割、分类、识别、跟踪、判别决策的功能。
    计算机视觉是使用计算机及相关设备对生物视觉的一种模拟,是人工智能领域的一个重要部分,它的研究目标是使计算机具有通过二维图像认知三维环境信息的能力。计算机视觉是以图象处理技术、信号处理技术、概率统计分析、计算几何、神经网络、机器学习理论和计算机信息处理技术等为基础,通过计算机分析与处理视觉信息。
    通常来说,计算机视觉定义应当包含以下三个方面:
    1、对图像中的客观对象构建明确而有意义的描述;
    2、从一个或多个数字图像中计算三维世界的特性;
    3、基于感知图像做出对客观对象和场景有用的决策。
    作为一个新兴学科,计算机视觉是通过对相关的理论和技术进行研究,从而试图建立从图像或多维数据中获取“信息”的人工智能系统。计算机视觉是一门综合性的学科,其中包括计算机科学和工程、信号处理、物理学、应用数学和统计学,神经生理学和认知科学等,同时与图像处理,模式识别,投影几何,统计推断,统计学习等学科密切相关,近年来,与计算机图形学,三维表现等学科也发生了很强的联系。
    人工智能与计算机视觉
    计算机视觉与人工智能有密切联系,但也有本质的不同。人工智能的目的是让计算机去看、去听和去读。图像、语音和文字的理解,这三大部分基本构成了我们现在的人工智能。而在人工智能的这些领域中,视觉又是核心。大家知道,视觉占人类所有感官输入的80%,也是最困难的一部分感知。如果说人工智能是一场革命,那么它将发轫于计算机视觉,而非别的领域。
    人工智能更强调推理和决策,但至少计算机视觉目前还主要停留在图像信息表达和物体识别阶段。“物体识别和场景理解”也涉及从图像特征的推理与决策,但与人工智能的推理和决策有本质区别。
    
    计算机视觉和人工智能的关系:
    第一, 它是一个人工智能需要解决的很重要的问题。
    第二, 它是目前人工智能的很强的驱动力。因为它有很多应用,很多技术是从计算机视觉诞生出来以后,再反运用到AI领域中去。
    第三, 计算机视觉拥有大量的量子AI的应用基础。
    计算机视觉技术的原理
    计算机视觉就是用各种成象系统代替视觉器官作为输入敏感手段,由计算机来代替大脑完成处理和解释。计算机视觉的最终研究目标就是使计算机能象人那样通过视觉观察和理解世界,具有自主适应环境的能力。在实现最终目标以前,人们努力的中期目标是建立一种视觉系统,这个系统能依据视觉敏感和反馈的某种程度的智能完成一定的任务。例如,计算机视觉的一个重要应用领域就是自主车辆的视觉导航,还没有条件实现象人那样能识别和理解任何环境,完成自主导航的系统。因此,人们努力的研究目标是实现在高速公路上具有道路跟踪能力,可避免与前方车辆碰撞的视觉辅助驾驶系统。
    这里要指出的一点是在计算机视觉系统中计算机起代替人脑的作用,但并不意味着计算机必须按人类视觉的方法完成视觉信息的处理。计算机视觉可以而且应该根据计算机系统的特点来进行视觉信息的处理。但是,人类视觉系统是迄今为止,人们所知道的功能最强大和完善的视觉系统,对人类视觉处理机制的研究将给计算机视觉的研究提供启发和指导。因此,用计算机信息处理的方法研究人类视觉的机理,建立人类视觉的计算理论,也是一个非常重要和信人感兴趣的研究领域。
    这一领域的深入研究是从20世纪50年代开始的,走的是三个方向——即复制人眼;复制视觉皮层;以及复制大脑剩余部分。
    复制人眼——让计算机“去看”
    目前做出最多成效的领域就是在“复制人眼”这一领域。在过去的几十年,科学家已经打造了传感器和图像处理器,这些与人类的眼睛相匹配,甚至某种程度上已经超越。通过强大、光学上更加完善的镜头,以及纳米级别制造的半导体像素,现代摄像机的精确性和敏锐度达到了一个惊人的地步。它们同样可以拍下每秒数千张的图像,并十分精准地测量距离。
    但是问题在于,虽然我们已经能够实现输出端极高的保真度,但是在很多方面来说,这些设备并不比19世纪的针孔摄像机更为出色:它们充其量记录的只是相应方向上光子的分布,而即便是最优秀的摄像头传感器也无法去“识别”一个球,遑论将它抓住。
    换而言之,在没有软件的基础上,硬件是相当受限制的。因此这一领域的软件才是要投入解决的更加棘手的问题。不过现在摄像头的先进技术,的确为这软件提供了丰富、灵活的平台就是了。
    复制视觉皮层——让计算机“去描述”
    要知道,人的大脑从根本上就是通过意识来进行“看”的动作的。比起其他的任务,在大脑中相当的部分都是专门用来“看”的,而这一专长是由细胞本身来完成的——数十亿的细胞通力合作,从嘈杂、不规则的视网膜信号中提取模式。
    如果在特定角度的一条沿线上出现了差异,或是在某个方向上出现了快速运动,那么神经元组就会兴奋起来。较高级的网络会将这些模式归纳进元模式(meta-pattern)中:它是一个朝上运动的圆环。同时,另一个网络也相应而成:这次是带红线的白色圆环。而还有一个模式则会在大小上增长。从这些粗糙但是补充性的描述中,开始生成具体的图像。
    使用人脑视觉区域相似的技术,定位物体的边缘和其他特色,从而形成的“方向梯度直方图”
    由于这些网络一度被认为是“深不可测的复杂”,因此 在计算机视觉研究的早期,采用的是别的方式:即“自上而下的推理”模式——比如一本书看起来是“这样”,那么就要注意与“这个”类似的模式。而一辆车看起来是“这样”,动起来又是“这样”。
    在某些受控的情况下,确实能够对少数几个物体完成这一过程,但如果要描述身边的每个物体,包括所有的角度、光照变化、运动和其他上百个要素,即便是咿呀学语的婴儿级别的识别,也需要难以想象的庞大数据。
    而如果不用“自上而下”,改用“自下而上”的办法,即去模拟大脑中的过程,则看上去前景更加美好:计算机可以在多张图中,对一张图片进行一系列的转换,从而找到物体的边缘,发现图片上的物体、角度和运动。就像人类的大脑一样,通过给计算机观看各种图形,计算机会使用大量的计算和统计,试着把“看到的”形状与之前训练中识别的相匹配。
    科学家正在研究的,是让智能手机和其他的设备能够理解、并迅速识别出处在摄像头视场里的物体。如上图,街景中的物体都被打上了用于描述物体的文本标签,而完成这一过程的处理器要比传统手机处理器快上120倍。
    随着近几年并行计算领域的进步,相关的屏障逐渐被移除。目前出现了关于模仿类似大脑机能研究和应用的爆发性增长。模式识别的过程正在获得数量级的加速,我们每天都在取得更多的进步。
    复制大脑剩余部分——让计算机“去理解”
    当然,光是“识别”“描述”是不够的。一台系统能够识别苹果,包括在任何情况、任何角度、任何运动状态,甚至是否被咬等等等等。但它仍然无法识别一个橘子。并且它甚至都不能告诉人们:啥是苹果?是否可以吃?尺寸如何?或者具体的用途。
    前面说过,没有软件,硬件的发挥非常受限。但现在的问题是,即便是有了优秀的软硬件,没有出色的操作系统,也“然并卵”。
    对于人们来说,大脑的剩余部分由这些组成,包括长短期记忆、其他感官的输入、注意力和认知力、从世界中万亿级别的交互中收获的十亿计知识,这些知识将通过我们很难理解的方式,被写入互联的神经。而要复制它,比起我们遇到过的任何事情都要更加复杂。
     计算机视觉的应用领域
    计算机视觉的应用领域主要包括对照片、视频资料如航空照片、卫星照片、视频片段等的解释、精确制导、移动机器人视觉导航、医学辅助诊断、工业机器人的手眼系统、地图绘制、物体三维形状分析与识别及智能人机接口等。
    早期进行数字图像处理的目的之一就是要通过采用数字技术提高照片的质量,辅助进行航空照片和卫星照片的读取判别与分类。由于需要判读的照片数量很多,于是希望有自动的视觉系统进行判读解释,在这样的背景下,产生了许多航空照片和卫星照片判读系统与方法。自动判读的进一步应用就是直接确定目标的性质,进行实时的自动分类,并与制导系统相结合。目前常用的制导方式包括激光制导、电视制导和图像制导,在导弹系统中常常将惯性制导与图像制导结合,利用图像进行精确的末制导。
    工业机器人的手眼系统是计算机视觉应用最为成功的领域之一,由于工业现场的诸多因素,如光照条件、成像方向均是可控的,因此使得问题大为简化,有利于构成实际的系统。与工业机器人不同,对于移动机器人而言,由于它具有行为能力,于是就必须解决行为规划问题,即是对环境的了解。随着移动式机器人的发展,越来越多地要求提供视觉能力,包括道路跟踪、回避障碍、特定目标识别等。目前移动机器人视觉系统研究仍处于实验阶段,大多采用遥控和远视方法。
    在医学上采用的图像处理技术大致包括压缩、存储、传输和自动/辅助分类判读,此外还可用于医生的辅助训练手段。与计算机视觉相关的工作包括分类、判读和快速三维结构的重建等方面。长期以来,地图绘制是一件耗费人力、物力和时间的工作。以往的做法是人工测量,现在更多的是利用航测加上立体视觉中恢复三维形状的方法绘制地图,大大提高了地图绘制的效率。同时,通用物体三维形状分析与识别一直是计算机视觉的重要研究目标,并在景物的特征提取、表示、知识的存储、检索以及匹配识别等方面都取得了一定的进展,构成了一些用于三维景物分析的系统。
    近年来,基于生物特征(biometrics)的鉴别技术得到了广泛重视,主要集中在对人脸、虹膜、指纹、声音等特征上,这其中大多都与视觉信息有关。与生物特征识别密切相关的另一个重要应用是用于构成智能人机接口。现在计算机与人的交流还是机械式的,计算机无法识别用户的真实身份,除键盘、鼠标外,其他输入手段还不成熟。利用计算机视觉技术可以使计算机检测到用户是否存在、鉴别用户身份、识别用户的体势(如点头、摇头)。此外,这种人机交互方式还可推广到一切需要人机交互的场合,如入口安全控制、过境人员的验放等。