机器视觉指通过图像、视频等视觉数据对真实世界进行建模并自动提取信息的技术和方法。机器视觉与人类视觉有许多相似之处,同时也有显著区别。通常,对人类而言容易的任务(如双眼整合、距离感知等)对机器来说则十分困难。机器视觉可以覆盖从无线电波到γ射线整个电磁波谱范围,而人类仅可以感知电磁波谱的可见光波段。机器视觉和人类视觉的区别和联系是什么?我们将通过类比人类视觉的方式介绍机器视觉机理并回答这些疑问。
机器视觉系统通过特殊的光学装置将3D物体投影成2D图像,这样计算机硬件和软件就可以测量、分析和处理各种特征,从而进行决策。由于光学装置成像原理与人眼成像原理类似,我们先介绍光学装置与人眼结构的联系,随后比较机器视觉与人类视觉之间的区别。
相机是一种利用光学成像原理形成影像并使用底片记录影像的设备。如图1-4,它包括镜头、密封的盒状结构和用于成像的图像传感器。盒状结构中含有称为光圈的小孔,允许光线通过并在感光平面上形成图像。照相机控制操纵光线落在感光平面上的方式有:光圈的放大缩小控制进入光线的光量,快门机制控制感光平面暴露在光线下的时间。与人眼成像机理不同,相机的聚焦是通过改变镜头和成像平面间的距离来实现的。
图1-4 相机结构示意图
眼睛和相机的设计上存在诸多共同点,如图1-5所示:(1)角膜的功能类似于镜头的前透镜元件。它们与位于虹膜后面的晶状体一起组成眼睛的聚焦元件,角膜呈弯曲状,可使光线通过瞳孔发散。(2)虹膜和瞳孔的功能类似于照相机的光圈。虹膜是一块肌肉,虹膜收缩时可控制进入眼睛的光量,使眼睛无论在昏暗还是极端光亮的观察环境中都能正常工作。(3)视网膜的功能类似于数码相机中的成像传感器芯片。视网膜包含大量的感光神经细胞,它们将光线转化为电脉冲,并通过视神经传递给大脑,大脑最终接收并感知图像。
图1-5 相机与人眼结构对比
眼睛与相机也存在诸多差异:(1)眼睛不能记录图像。眼睛利用细胞探测光线,将其转化为电信号,传达给大脑并处理成图像,而相机中的视觉信号被保存于存储卡或者胶卷中。(2)眼睛比相机更灵活。人眼中的微小肌肉能够收缩和放松,以适应观测物体的移动,相机必须依靠一系列镜头和机械部件来保持对移动物体的聚焦。(3)眼睛是通过光感受器看东西的,而相机则使用光敏电阻。光感受器是人类眼睛中的特殊细胞。(4)信息传递方式不同。眼睛和照相机传输静态图像的不同之处在于,眼睛是使用异步脉冲序列传递光变化的。
机器视觉利用算法通过大小、颜色和特征等来识别、区分和解释图像等视觉数据的规律,而人的视觉需要眼睛和大脑的协作来发挥作用。由于机理的不同,机器视觉与人的视觉特点不同,具体对比如表1-1 [3] 。
表1-1 机器视觉与人的视觉对比
机器视觉的基本处理对象为数字图像。数字图像可定义为二维函数 f ( x , y ),其中 x 和 y 为平面坐标,该坐标对应的函数值 f ( x , y )为图像在该点的灰度。换句话说,图像在计算机中是用矩阵表示的,矩阵的大小代表着图像的分辨率。如图1-6所示,在灰度图像中,为了更加精确地表达图像,图像中的每个像素一般由一个整数表示,其被定义为捕捉到的光线强度或灰度,范围一般在0~255。而在彩色图像中,图像中的每个像素由三个值表示,这些值将各种颜色编码为红、绿、蓝的数量的组合,称为RGB,像素的最终颜色由三个颜色的强度来定义。由此,机器可通过灰度值和颜色编码来分别表达明暗度和颜色。
图1-6 机器视觉中图像的表现形式 [4]
人眼感受明暗及颜色的机理与机器明显不同。对于反映物体结构的光来说,其最重要的特征是亮度和波长,在人眼中光的亮度代表黑白,光的波长决定颜色。因此,当外部物体将不同位置反射的光投射到视网膜上的视锥细胞和视杆细胞时,每个细胞都会接收到相应光的强度和波长信息,起到光感受器的作用。视网膜区域中的视锥细胞数量决定着视觉的敏锐程度,主要负责亮光环境下的视觉。而视杆细胞只在较暗条件下起作用,适宜于微光视觉,但不能分辨颜色与细节。例如在夜晚,人们观察月光反射下的物体通常难以捕捉颜色信息,是因为此时只有眼睛中的视杆细胞被刺激,该现象称为暗视觉。
中央凹是眼睛特殊的组成部分,它位于视网膜中心附近区域,这一区域是视觉最敏锐的区域,包含高密度紧密排列的视锥细胞。视锥细胞由三种不同类型的细胞组成,这些细胞分别感知红色、绿色和蓝色。具体地,每一种细胞负责感知不同波长的响应峰值,该峰值包括430 nm、535 nm和590 nm。三种锥体受体产生的相对刺激强度在很大程度上决定了成像的颜色。例如,一束光对负责430 nm响应峰值的视锥细胞的刺激远远大于其他两种视锥细胞,这种光被视为蓝色 [5] 。相应地,波长集中在550 nm左右的光显示为绿色,波长集中在600 nm或更长波长的光显示为红色,介于430 nm和590 nm之间的所有波长构成了完整的颜色色谱。
视觉系统需要具有同时处理各种复杂信息的能力。具体来说,视觉系统会同时接收很多不同空间尺度的信息,并由我们的大脑对不同尺度的信息进行综合处理,从而让我们在看到整体画面的同时又能抓住场景的关键细节。这种关键细节是如何被眼睛所捕捉,又是如何被大脑所处理的呢?
研究表明,在高级视觉皮层V4脑区中,除了存在大量低空间分辨率的神经元可以编码整体图像之外,还存在着一些对高度精细的局部视觉刺激有强烈视觉偏好反应的神经元聚集成群 [6] 。并且这两类神经元在反应时间上的区别,也符合人类先看到整体后注意到细节的视觉体验。该研究工作推翻了传统的理论观点,揭示了编码精细视觉的神经元不仅存在于大脑初级视觉皮层V1脑区,而且也存在于中高级视皮层V4中,尤其是表明了在整体和局部的精细视觉编码中,V4脑区起到了承上启下的关键作用。因而其他负责高级认知功能的大脑皮层可以直接从高级视觉皮层V4读取到精细信息,从而更快捷地与外部世界进行互动。