WTF is|计算机视觉是什么鬼?

下一篇文章

WTF is|假新闻是什么鬼?

WTF is|计算机视觉是什么鬼?

房间里有人扔给你一个球,你伸手接住。这很简单,不是吗?

但实际上,这正是我们试图理解的最复杂的过程之一,而用机器去复现这样的过程更困难。发明一种能像人类一样观察的机器是非常困难的任务。这并不仅仅是因为,让计算机做这件事很困难,而是我们首先就没有彻底弄明白,我们自己是怎么做到的。

具体的机制大概如下:球的影像通过你的眼睛投射在视网膜上,视网膜将会进行一些初步分析,将信号传送给大脑,而视觉皮层将会更彻底地分析影像。随后,信号将被传送至大脑皮层的其他部位,并与已知的其他一切进行对比,而对象将被归类。大脑将决定你做出什么样的反应:伸出手接住球。这一切会在极短的时间内完成,对人类来说不会是有意识的行为,而成功率几乎是 100%。因此,重建人类视觉并不是单一的问题,而是一系列问题,且相互依赖。

没有人认为这很简单。人工智能的先驱马文·明斯基(Marvin Minsky)曾在 1966 年指导一名研究生“将摄像头连接至计算机,让计算机去描述对象”。然而遗憾的是,在 50 年之后,我们仍在研究这一问题。

关于计算机视觉的严肃研究从 50 年代开始,其中包括 3 个方面:模拟眼睛(困难),模拟视觉皮层(非常困难),以及模拟大脑的其他部分(被认为是难度最大的问题)。

计算机如何看见

light sensor on a card of digital camera with coloured interference

light sensor on a card of digital camera with coloured interference

模拟眼睛是到目前为止人类最成功的一个环节。过去几十年,我们开发了传感器和图像处理设备,能够匹敌甚至胜过人眼的能力。借助大型光学透镜,以及纳米级别的半导体亚像素,当代摄像头的精度和灵敏度已经非常强大。摄像头每秒能记录数千张图片,并以极高的精度去探测距离。

尽管输出结果的精确度很高,但从很多方面来看,这些设备与 19 世纪的针孔摄像头相比也没有太大的优势:摄像头仅仅只是记录从某个方向传播而来的光子。最强大的摄像头传感器也无法识别球体,更不要说判断如何接住球。

换句话说,在没有软件的情况下,硬件受到了严重局限。这是个更需要解决的问题。然而,当代摄像头技术提供了丰富而灵活的平台,以解决这一问题。

计算机如何描述

这里并非视神经解剖学课程,但可以说,我们的大脑从一开始就完美地支持了视觉。相对于执行其他任务,大脑负责视觉的部分更多,而这些功能一直深入至细胞层面。数十亿细胞协同工作,从视网膜嘈杂、无序的信号中提取出模式。

如果视觉信息中出现某种模式,例如特定角度的线条,或是向着某个方向的快速运动,那么神经元将会被激活。更高层次的网络将这些模式聚合成为“元模式”。一个网络会判断,这一圆环是白色,有着红色的线条。而另一个网络会判断,这一圆环的尺寸在扩大。随后,基于这些信息大脑将会判断影像是什么。

histogram_oriented

由于这些网络非常复杂,早期的计算机视觉研究采取了不同的方法:“从顶向下”的推理。例如,一本书的外观是“这样”,因此“这样”的影像就是一本书。汽车看起来是“这样”,其运动方式又是“这样”。

对于受控环境下的少数对象,这种模式运转良好。然而,如果尝试描述周围不同角度的所有对象,这些对象的光照和运动情况都不同,那么很明显计算机需要获得大量数据,而这是不切实际的。

模拟人脑的“自底向上”模式看起来更有前景。计算机可以对图像进行一系列的转换,发现其中的边缘。而通过对多张图片的分析,计算机可以了解其含义、角度和运动情况。这些流程中包含大量的数学和统计学方法,但这种方式可以让计算机将需要识别的图像与已知图像进行对比。这与我们大脑的机制类似。

Researchers are working to enable smartphones and other mobile devices to understand and immediately identify objects in a camera's field of view, overlaying lines of text that describe items in the environment. Here, a street scene is labeled by the prototype, running up to 120 times faster than a conventional cell-phone processor. (Purdue University image/e-Lab)

来自普渡大学 E-lab 的图片显示了计算机如何通过计算识别出图像。

“自底向上”架构的支持者或许说过“我告诉你就是这样”。但实际上直到最近几年,人工神经网络的开发和运行还不切实际,因为这样的神经网络需要消耗大量的计算资源。并行计算的发展解决了这些障碍,过去几年,模拟人脑的计算机系统获得了长足发展。模式识别能力有了几个数量级的提升,而目前我们仍在这一领域取得不断的进展。

计算机如何理解

当然,你可以开发一种系统,识别出各种各样的苹果,无论从什么角度、在什么场景下、是否被咬过,是在运动还是处于静止。然而,这样的系统无法识别出橙子。此外,系统也无法告诉你,苹果是什么,苹果有多大,以及苹果有什么用途。

问题在于,即使是最优秀的硬件和软件,在没有操作系统的情况下也无法带来太大的用途。

Artificial intelligence and cybernetics

对我们来说,这就是人脑其他部分的功能:长期和短期记忆,来自其他知觉、注意力和认知能力的输入,以及通过与世界数万亿次互动获得的丰富经验。

这正是计算机科学的前沿,也是通用人工智能探索的领域。我们正在关注这一领域。通过计算机科学家、工程师、心理学家、神经科学家,以及哲学家的共同努力,我们可以了解人类心灵工作的方式,以及未来如何模拟人脑。

这并不意味着,我们正走入死胡同。计算机视觉的未来在于,将强大的专用系统集成至更通用的系统。后一类系统专注于更复杂的概念,包括环境、注意力和意图。

即使是最初级的计算机视觉也非常有用。这样的功能可以集成在我们的相机中,识别人脸和笑容;集成在无人驾驶汽车中,识别交通信号和行人;集成在工厂机器人中,监控问题并识别人类的同事。计算机视觉实现类似人脑的功能还有很长的路要走。不过考虑到当前需要解决的问题,让计算机具备视觉本身就非常有趣。

翻译:维金

WTF is computer vision?

blog comments powered by Disqus