图像处理、分析与机器视觉
上QQ阅读APP看书,第一时间看更新

2.3 相机

2.3.1 CCD和CMOS

早期的相机多基于显像管成像。随着集成电子技术和固体成像器件的发展,以电荷耦合器件(Charge Coupled Device, CCD)为传感器的相机,因其与真空管相比具有无灼伤、无滞后、工作电压及功耗低等优点而大行其道。CCD于1969年由美国贝尔实验室的Willard S.Boyle和George E.Smith发明,它能够将光线变为电荷存储起来,并随后可在驱动脉冲的作用下将存储的电荷转移到与之耦合的区域。人们正是利用它的这一特点发明了各种各样的CCD成像设备。

CCD实际上可以被看作由多个MOS(Metal Oxide Semiconductor)电容组成。在P型单晶硅的衬底上通过氧化形成一层厚度约为100~150nm的SiO2绝缘层,再在SiO2表面按一定层次蒸镀一层金属或多晶硅层作为电极,最后在衬底和电极间加上一个偏置电压(栅极电压),即可形成一个MOS电容器,如图2-22所示。

图2-22 MOS电容

在P型硅衬底中,多数载流子是空穴,少数载流子是电子。当在栅极上施加正电压时,其电场能够透过SiO2绝缘层使衬底中分布均匀的载流子重新排列,带正电荷的空穴被排斥到远离电极处,带负电荷的电子被吸引到紧靠SiO2的表面层。这就在衬底中形成了一个对于带负电荷的电子而言势能特别低的区域(耗尽层)。由于电子一旦进入该区域就很难自由逃出,故又称其为电子“势阱”。

当光线投射到MOS电容上时,光子穿过多晶硅电极及SiO2层,进入P型硅衬底,光子的能量被半导体吸收,产生电子空穴对,产生的电子立即被吸引并储存在势阱中。由于势阱中电子的数量随入射光子多少(即光强度或亮度)增加而增加,而且即使停止光照,势阱中的电子当栅极电压未产生变化时在一定时间内也不会损失,这就实现了光电转换和对光照的记忆存储功能。

由此,不难想到在P型轨衬底上生成多个MOS电容,来制作以其为基本单元的图像传感器。例如,可以将多个MOS电容排列成一行或点阵来扫描或抓取外部图像。考虑到集成芯片尺寸较小,因此可以结合透镜成像的特点,对场景所成的实像进行采集,这就是CCD相机的雏形,如图2-23所示。

图2-23 CCD相机雏形

当光线将MOS电容排列在一起时,虽然可以实现图像到电信号的转换及存储,但要通过存储的电信号获取图像,还需要想办法先把存储的电荷转移出来。同时,如果要进行连续采集,还需要有一种机制能协调采集及转移电荷的时序。这就需要利用CCD的电荷转移特性。

CCD的电荷转移特性可以通过图2-24来说明。最初可以将几个需要进行电荷转移的MOS电容以较小的间隙耦合在一起,随后在第二个MOS电容的栅极施加10V电压,而在其他MOS电容的栅极均加有大于域值电压的较低电压(例如2V),以便在第二个MOS电容下形成势阱。如果用光线照射第二个MOS电容,则由于光电转换,会使第二个MOS电容下的势阱中填充有电荷,如图2-24(a)所示。

图2-24 CCD的电荷转移

接下来,各栅极上的电压变为图2-24(b)所示,即第二个MOS电容栅极电压仍保持为10V,第三个MOS电容栅极电压由2V变到10V,因这两个MOS电容耦合在一起(间隔只有几微米),它们各自的对应势阱将进行合并。原来在第二个电极下的电荷变为这两个电极下的势阱所共有,如图2-24(c)所示。

若此后各栅极上的电压变为图2-24(d)所示,即第二个MOS电容栅极电压由10V变为2V,第三个MOS电容栅极电压仍为10V,则共有的电荷转移到第三个MOS电容下面的势阱中,如图2-24(e)所示,这样就完成了电荷在耦合MOS电容之间的转移。因此可以想到,如果将第三个MOS电容遮盖起来,以避免其受光照影响,而仅留第二个MOS电容进行光电转换,就可以用第三个MOS电容来寄存第二个MOS电容前一时刻的内容。

根据前述CCD的电荷转移特性,可以按不同的方式排列并遮挡部分MOS电容,制作成各种类型的CCD图像传感器,如果再按照一定的时序和频率在栅极上施加高低电平,就可以将光电转换后的电荷提取出来生成电信号,来表示所观测区域的光线的强度变化。由于光电转换的关系可以根据CCD的特性获知,因此不难想到将多个MOS电容排列成一行或多行,来监测更大区域的光强变化,这就是CCD采集图像的基本工作原理。物理上,通常把耦合在一起的一个光敏MOS电容和一个被遮挡的用于存储电荷的MOS电容合在一起称为一个像素。CCD图像传感器的光敏区域可以按一维线阵或二维面阵方式排列,与之对应的相机就是线阵(线扫描)相机或面阵(面扫描)相机,图2-25显示了一些线阵和面阵CCD芯片的实例。

线阵CCD通常是由1024(1K)、2048(2K)、4096(4K)、6144(6K)、12288(12K)等个数的光敏单元呈一维排列,而存储单元(移位寄存器)在被遮挡后与光敏单元分开排列。这些典型线阵CCD传感器的尺寸如图2-26所示。

图2-25 线阵和面阵CCD传感器芯片

图2-26 典型线阵CCD传感器的尺寸

线阵CCD传感器又可根据传输通道的多少分为单通道、双通道、四通道、八通道CCD传感器等。通道数越多,则相对来说传输速度越快。图2-27显示了几种不同通道线阵CCD传感器的结构。在图2-27(a)所示的单通道线阵CCD传感器中,当转移脉冲到来时,线阵光敏单元阵列势阱中的电荷将以并行方式被转移到同一个CCD移位寄存器中,最后在时钟脉冲的作用下相继移出,形成连续的电信号。而在图2-27(b)所示的双通道线阵CCD传感器中,当转移脉冲到来时,线阵光敏单元阵列势阱中的奇偶位的信号电荷将分别以并行方式被转移到不同CCD移位寄存器中,最后再合并为视频信号输出,这样就可以提高传输速度。图2-27(c)和(d)显示的四通道和八通道线阵CCD传感器中增加了更多的寄存器,则传输速度也相应地成倍提高。

图2-27 典型线阵CCD传感器

面阵CCD传感器中光敏元件呈二维阵列分布,传感器芯片的尺寸常通过其对角线长度来表示。常见的有1英寸、2/3英寸、1/2英寸、1/3英寸和1/4英寸等几种。图2-28显示了常见面阵相机传感器芯片的尺寸(注意:由于结合了相机摄像和显示等特点,此处习惯上采用1英寸等效为16mm的特殊关系,而不是1inch=25.4mm来表示传感器尺寸)。

图2-28 常见相机传感器的尺寸

与线阵CCD传感器每次只能获取图像的一行或一列不同,面阵CCD一次可以获取一整幅图像,按照转移电荷的方式不同可以分为全帧转移(Full Frame Transfer, FFT)、帧间转移(Frame Transfer, FT)、行间转移(Interline Transfer,IT)和行帧间转移(Frame Interline Transfer, FIT)几种类型。全帧转移面阵CCD结构相对较为简单,它由成像区和一个只有一行的水平输出移位寄存器构成,如图2-29(a)所示。在光敏矩阵中的元件完成光电转换后,相机快门会屏蔽入射光,随后将向下逐行把光敏区的电荷转移到水平输出移位寄存器,每行又水平串行逐位被转移输出。全帧转移面阵CCD需要机械快门来屏蔽入射光才能正常工作(入射光线本身为脉冲光时除外),而机械快门的动作相对于光电转换较慢,因此常会有图像拖尾(smear)问题。

图2-29 典型面阵CCD传感器

帧间转移面阵CCD由成像区、缓存区和水平输出移位寄存器3部分构成,其缓存区与光线隔离,如图2-29(b)所示。当光敏区域的光电转换完成后,它先将整帧数据转移到缓存区,再由输出寄存器逐行逐位输出。由于在缓存区数据输出过程中,光敏区域便可以开始读取下一帧,因此它相对于全帧转移面阵CCD速度要快些。帧间转移面阵CCD的光敏区域通常可以一直接受入射光,而不用在转移信号到缓存区的过程中屏蔽机械快门,这就延长了机械快门的寿命。然而,在转移图像到缓冲区的过程中,由于光敏区域仍旧在进行光电转换,因此帧间转移面阵CCD仍然有图像拖尾现象。此外,因为增加了缓存区,帧间转移面阵CCD的成本要比全帧转移面阵CCD高。

行间转移CCD每列光敏单元的旁边都有一个垂直移位寄存器,如图2-29(c)所示,它通常只需要大约1μs的时间就能完成光电荷到垂直移位寄存器的转移,随后再由水平输出移位寄存器输出,从而很好地解决了帧转移CCD因转移速度不够快而带来的图像模糊问题。而且,如果暂停施加电荷转移的脉冲信号,还可以关闭行间转移CCD。这种快速传送电荷到垂直移位寄存器保护区的机制称作电子快门(electronic shutter)。电子快门可用于控制CCD芯片的曝光时间,如果物体照明不好,电子快门速度就需要慢些,以增加曝光时间。由于行间转移CCD的垂直移位寄存器所占的面积均被遮蔽,所以其对输入光的利用率以及像素密度相对较低。行帧间转移CCD可以看作是行间转移CCD的特殊形式,它将行间转移CCD与帧间转移CCD的特点相结合,如图2-29(d)所示,以获取更高的传输速度。

面阵CCD的优点是可以获取二维图像信息,测量图像直观;缺点是像元总数多,而每行的像元数一般较线阵少且帧幅率受到限制。而线阵CCD的优点是一维像元数可以做得很多,而且像元尺寸比较灵活,帧幅数高,特别适用于一维动态目标的测量。在要求视场大、图像分辨率高的情况下甚至不能用面阵CCD替代。但是,要用线阵CCD获取二维图像,必须配以扫描运动。如果要确定图像每一像素点在被测件上的对应位置,还必须配以光栅等器件以记录线阵CCD每一扫描行的坐标。这就使得线阵CCD图像获取时间长,测量效率低,系统较复杂,而且图像精度可能受扫描运动精度的影响而降低,最终影响测量精度。

CMOS(Complementary Metal Oxide Semiconductor)图像传感器的开发最早出现在20世纪70年代初。20世纪90年代初期,随着超大规模集成电路(VLSI)制造工艺技术的发展,CMOS图像传感器得到迅速发展。CMOS图像传感器的光电转换原理与CCD图像传感器相同,二者的主要差异在于电荷的转移方式上。CCD图像传感器中的电荷会被逐行转移到水平移位寄存器,经放大器放大后输出。由于电荷是从寄存器中逐位连续输出的,因此放大后输出的信号为模拟信号。在CMOS传感器中,每个光敏元的电荷都会立即被与之邻接的一个放大器放大,再以类似内存寻址的方式输出(图2-30),因此CMOS芯片输出的是离散的数字信号。之所以采用两种不同的电荷传递方式,是因为CCD是在半导体单晶硅材料上集成的,而CMOS则是在金属氧化物半导体材料上集成的,工艺上的不同使得CCD能保证电荷在转移时不会失真,而CMOS则会使电荷在传送距离较长时产生噪声,因此使用CMOS时,必须先对信号放大再整合输出。

表2-2汇总了CCD和CMOS图像传感器之间的主要差异。概括起来,两者的性能有以下一些要点:


CCD传感器芯片将电荷转换为模拟信号,再经放大、A/D转换后才以数字信号形式输出。


图2-30 CCD与CMOS传感器的信号转移方式

CMOS传感器芯片直接将每个电荷放大后转换为数字信号输出,往往成像一致性差。

CCD在电荷转移过程中不会失真,且信号统一放大后才输出,因此成像质量和一致性高。

CCD传感器有更大的填充因子和更高的信噪比,对光更加敏感,更适应低对比度的场合。

CMOS传感器可以获得比CCD传感器高很多的图像传输速度,更适用于高速场合。

CMOS传感器的信号经过放大后才进行转移,所以它的功耗要比CCD低,更适用于应于便携设备。

CCD制造工艺相对复杂,目前只有Teledyne DALSA、Sony、Panasonic等少数几个厂商掌握核心技术,所以它的价格一般较高。


表2-2 CCD和CMOS图像传感器比较

像素分辨率是CCD和CMOS芯片最主要的参数之一,用有效像素区域(即传感器尺寸)内横纵方向上像素的个数来表示。由于CMOS传感器有类似计算机存储器寻址电路的特点,因此CMOS相机允许用户灵活选择输出图像中的感兴趣区域来提高传输速度。而由于串行耦合输出的电路特性,CCD相机只能通过减少行数来提传输速率,如只隔行输出。例如,假定传感器分辨率为720×576,图像传输率为25帧/秒。如果用CCD相机进行隔行输出,则有720×288分辨率和50帧/秒的传输速度;而如果用CMOS相机,则理论上可以选择低于720×576的任何分辨率来提高速度,如选取中心360×288区域的子图传输,则有100帧/秒的速度。

频谱响应(spectral response)特性是CCD/CMOS芯片的另外一个重要参数,它表示芯片对不同波长光线的敏感程度。图2-31中实线显示了CCD/CMOS芯片典型的频谱响应曲线。通常,为了使CCD/CMOS与人眼的频谱响应相似(也就是使CCD获取的照片更真实)或者要排除温度(对应红外波段)等对CCD相机的影响,相机出厂时会带一个红外截止滤光片(IR-cut filter),阻止红外线穿过摄像机的镜头造成图片失真,其频谱响应如图2-31中虚线所示。

图2-31 CCD/CMOS芯片典型频谱响应曲线

如果某些应用要求对近红外光(NIR,参见图2-32)有较高的频谱响应,则常为其选择频谱响应峰值在750nm左右的相机。目前标准CCD芯片技术可以在合理成本范围内满足该要求。但标准CCD技术对紫外光(UV)以及热红外(Thermal IR)、远红外光(Far IR)是不适用的。这些频段内的应用需要特殊的相机或者完全不同的成像技术来实现。

图2-32 电磁波光谱

从本质上讲,CCD和CMOS其实无法区分颜色,这是因为CCD和MOS芯片虽然能按比例将光强度转换为电子,但光的波长,也就是光线的颜色,却在这一过程中未被转换为任何形式的电信号。如果需要使用这些传感器作为彩色相机感光芯片,可以使用分光镜分出R、G、B 3种光线,再通过3个传感器芯片将其转换为电信号,这种结构的相机称为3CCD-RGB彩色相机(图2-33)。3CCD-RGB彩色相机的优点是可以准确地表达颜色,因此常用于需要对色彩进行准确测量的场合。但由于它使用棱镜和3个芯片,因此其成本往往较高。

图2-33 3CCD-RGB彩色相机

Bryce Bayer提出了另一种使用红绿蓝三色的马赛克滤镜(称为Bayer滤镜)和单个CCD芯片来制作彩色相机的方案。使用这种方案的相机称为Bayer相机。Bayer滤镜采用类似马赛克的色彩搭配形式,其中一行使用蓝绿元素,下一行使用红绿元素,如此交替。这就使得在该滤镜下方的CCD芯片每4个像素中有2个对绿色分量感光,1个对蓝色感光,1个对红色感光(对不同颜色的像素排列顺序无硬性要求),从而使得每个物理像素只含有红(25%)、绿(50%)、蓝(25%)三色中一种的信息。实验和研究发现,人眼和硅片对绿色波长的敏感度超过了对红色和蓝色波长敏感度的总和。这正是Bayer滤镜设计的依据。当要还原每个像素所对应的真实图像中的色彩信息时,可以基于邻域内颜色分量的强度信息,通过“色彩空间插值算法”计算获得完整的RGB分布。图2-34显示了一种Bayer相机的工作原理。

单CCD彩色相机使得相机的价格大大降低,随着微电子技术的突飞猛进,目前大部分彩色相机都采用了这种结构。然而色彩插值算法通常会产生低通效应,这使得单CCD彩色相机生成的图片要比3CCD彩色相机生成的图片包含的细节少很多。因此,在进行纹理等细节较多的图像处理时,应尽可能避免使用单CCD的彩色相机。另外,在进行测量应用开发时,也应尽可能避免使用单CCD的彩色相机,避免插值算法对测量结果进行干扰。

值得一提的是,随着最近几年的技术发展和工艺不断完善,基于CCD和CMOS传感器的相机之间差异越来越小,在机器视觉领域,两种相机都有十分广泛的应用。

图2-34 单CCD-RGB彩色相机

2.3.2 模拟相机和模拟视频信号

CCD/CMOS芯片完成光电转换后,其输出为模拟或数字电信号。通常该信号还要被进一步放大、矫正,添加同步、调制或采样编码,生成符合各种标准的视频信号后才正式输出。理论上讲,相机的输出信号可以是任意自定义的形式。但是,由于电视系统先于机器视觉发展多年,若以电视系统中已广泛使用的视频方式输出信号,不仅更便于信号的传输,还能最大限度地利用各种现有的成熟软硬件技术,因此除了少数相机输出非标准信号外,大多数相机的输出都是模拟或数字视频信号。机器视觉相机也因此根据其输出信号的形式分为模拟相机和数字相机两大类。

模拟相机的输出信号通常被加工为可以支持隔行扫描(interlacing scan)显示的视频信号,以便其能与传统电视或视频监控等系统兼容,而多数数码相机的输出则直接按照支持逐行扫描(progressive scan)的方式进行编码。我们知道,支持逐行扫描的视频信号将每一帧图像按顺序逐行连续编码,传送到显示设备后,也会被逐行以扫描的方式显示。支持逐行扫描的信号数据量很大,在电视技术发展的初期要通过天线传输的此类信号极其困难。为了能减少信号的数据量,同时不影响图像的视觉效果,人们提出了隔行扫描的方法。

隔行扫描把每一帧(frame)图像分为两场(field)来传送,第一场只扫描奇数行,而第二场只扫描偶数行,两场因此又分别被称为奇数场(odd field)和偶数场(even field)。由于每行和每场信号后都添加了用于同步的水平同步信号(horizontal synchronization signal)和垂直同步信号(Vertical Synchronization Signal),因此当数据被传送到电视等显示终端时,就可以先将某一场信号显示出来作为图像轮廓,随后再将另一场隔行插入到前一场中显示出整幅图像,如图2-35所示。由于扫描的速度可以达到每秒50或60场(25或30帧),人眼在视觉暂留的作用下看到的仍然是一个平滑的图像。

图2-36 隔行扫描显示运动物体

对机器视觉系统来说,隔行扫描方式的最大劣势在于其监测快速运动物体时,两场图像可能产生错位。由于一帧图像被分为奇数场和偶数场两部分,因此当物体快速移动时,由于两场图像中物体位置不同,在合并两场显示图像时,就会产生垂直边沿的“梳状效果”,如图2-36所示。因此在开发对快速运动的物体进行监测的机器视觉系统时,应该尽量使用逐行扫描相机或使用隔行扫描相机的“场模式”。隔行扫描相机工作在场模式时,将只扫描一个场,这样虽然图像的垂直分辨率将会减半,而帧采集速率将会提高一倍,敏感性以及信噪比都会提高。

图2-35 隔行扫描原理

根据输出信号的色彩不同,相机有彩色和黑白之分。模拟黑白相机在进行视频信号加工时,主要是按照电视(视频)信号标准的约定,为代表每行和每场图像光强度的电信号添加同步信号。具体来说,代表每行图像光强度的电信号后将附加上行同步或水平同步信号(HSync),每场图像开始前会添加场同步或垂直同步信号(VSync)。如果同步信号由相机内部的电路产生,称为内同步(internal synchronization),若由外部信号源提供,称为外同步(external synchronization)。水平同步信号由同步脉冲和水平消隐(horizontal blanking)两部分构成。水平消隐信号包括消隐后肩(blanking back porch)和消隐前肩(blanking front porch)两部分。它用于早期电视系统中的电子枪的电子发射,从而消除电子束作行扫描从右端回到左端时产生的回扫线。每场的垂直同步信号由多个脉冲序列和垂直消隐(vertical blanking)构成。根据标准不同,通常会占用20~25条电视线的周期。

图2-37显示了黑白模拟视频标准RS-170A所规定的视频信号结构。从传输的角度来看,被加工为视频信号的图像仅需一个信道即可实现数据传输。若要在计算机中存储或显示黑白模拟视频信号中的图像,只要使用采集设备提取代表各行黑白图像强度的电信号,并对其进行采样、量化编码后组合成数字图像帧,在显示器上显示或按照各种图像文件格式存放到硬盘即可。

模拟彩色视频信号与模拟黑白视频信号略有不同,它不仅包含图像的亮度(luminance或luma)和同步信息,还包含用于恢复图像色彩的色差(chrominance或chroma)信息,因此常被称为复合视频信号,简称CVBS(Composite Video Baseband Signal或Color, Video,Blanking and Synchronization)。彩色复合视频信号中的图像亮度信息和同步信息等同于与之对应的黑白视频信号,常被称为Y分量。色差信息包括两部分,分别称为UV分量,其中U分量代表图像中蓝色(B)分量与亮度Y的色差,V分量代表红色(R)分量与亮度Y的差值,可以通过下面的公式计算:

图2-37 RS-170A规定的黑白模拟视频信号结构

对人眼特性和人类对颜色的心理反应研究发现,物体的亮度Y可以用不同比重的RGB三基色表示,计算公式为

Y=0.299R+0.587G+0.114B

因此,如果知道图像的YUV信息,就可以通过以上3个公式计算得到RGB三基色分量,从而完整地表示图像色彩。也就是说,可以使用不同YUV分量的组合来表示自然界的各种色彩,这种模型称为YUV颜色模型或YUV色彩空间。YUV色彩模型被广泛用于多种视频信号标准中,它与RGB颜色模型之间的相互转换关系如下:

其中RGB取值范围均为0~255,参数wr=0.299,wg=0.587,wb=0.114分别代表RGB色彩分量的权重,Umax=0.436,Vmax=0.615分别代表UV分量的最大绝对值。若将这些参数值代入上述公式,则有

或用矩阵表示:

图2-38显示了YUV与RGB色彩空间的关系。

图2-38 YUV与RGB色彩空间的关系

图2-39显示了一个典型模拟彩色视频信号中的一行。与黑白视频信号类似,一行完整的彩色复合视频信号也包括同步脉冲、消隐后肩、有效视频区域和消隐前肩几个部分。不仅如此,彩色复合视频信号还在消隐后肩上调制了高频颜色同步信号Color Burst,在Y分量上调制了高频UV色差分量。在传输时,UV分量(带宽1.3MHz)会以正交调制的方式叠加在Y分量(4.43MHz)上,通过同一通道进行传送。Color Burst用作UV分量的参考。UV分量调制到Y分量时,相对于Color Burst的相位各不相同,因此独立提取出UV分量就不是很困难。获得各个YUV分量后,只要结合它们的幅度大小,就可以很容易计算出图像的RGB值。

图2-39 典型模拟彩色视频信号中的一行

彩色相机通过使用滤镜或三色芯片获得的是图像的RGB信息,而且计算机内部也是用RGB色彩空间来表示图像色彩,那么为什么不直接使用RGB视频而是使用YUV视频信号传输模拟彩色图像呢?这主要基于以下几点考虑:

(1)向下兼容老式黑白电视。

彩色电视系统使用RGB代表图像的颜色,而早期的黑白电视信号中只有图像的灰度和同步信息。如果直接使用RGB视频信号,则黑白电视就不能显示所传输的视频。为了能兼容黑白电视,人们将图像的RGB信息转换到YUV色彩空间进行传输。由于YUV视频中信号的亮度Y和色差信息UV是分离的,因此如果只提取Y分量和同步信号,而忽略UV分量,就可以得到黑白电视信号。这样不但彩色电视可以将YUV转换回RGB进行显示,黑白电视机也能提取彩色电视信号中的Y分量显示图像。这就解决了彩色视频信号对黑白电视的兼容问题。

(2)节省传输信道,提高传输速率。

用RGB视频传输图像时,每个颜色分量所需的带宽是均等的,且都与传输亮度信号的带宽相当。而如果在获得图像的RGB色彩信息后,通过矩阵变换电路将其转换为YUV视频,则UV分量可以被调制到Y分量上进行传输,这可以极大地缩减信号传输的带宽。此外,由于人眼主要通过亮度差别来分辨物体形状的细节,而对色彩细节并不敏感(相对于亮度信息来说),所以可以采取保留亮度、缩减色度的压缩方法提高传输速率。当然,这种压缩方法会带来少部分信号损失。

(3)提高信号的抗干扰能力。

使用RGB视频传输图像的另一个缺点是抗干扰能力差。由于G分量占有图像灰度值的58.7%,若单独传输RGB分量,则G分量受到干扰时,相对于直接传输亮度信息来说,像素的亮度值会受到很大的影响。而人眼对亮度信息相又较为敏感,主观上图像的质量就会明显下降。采用YUV视频传输图像时,由于图像亮度被直接传输,所以若色差信号受到干扰,亮度并不会受影响,主观感觉噪声不会增加。

常见的模拟电视信号制式有NTSC(EIA RS-170A)、PAL和SECAM。NTSC制式是美国国家电视标准委员会(National Television Systems Committee)在1953年定义的最早的彩色电视信号标准,又称为正交平衡调幅制式。它被广泛用于北美、中国台湾、日本、韩国、菲律宾等地区,后来又被美国电子工业协会(EIA)定义为制式EIA RS-170A。NTSC制式采用偶数场在前、奇数场在后的隔行扫描方式,每帧图像包含525行电视线,每秒传输30帧(29.97帧/秒)。由于在每场开始时会保留19.5~20不等的电视线作为同步和控制信息,因此只有480到486线作为可视电视线。该可视电视线的多少,直接决定了其输出图像在垂直方向上的分辨率。在水平方向上,模拟相机并未规定每线输出的像素数,而是直接输出模拟信号,具体被数字化为多少像素,由采集卡决定。对NTSC制式来说,人们常将其数字化为640×480的分辨率,画面的宽高比为4:3。

NTSC采用YIQ色彩空间表示图像颜色。其中Y所代表的意义和YUV色彩空间中Y代表的意义相同,都是指亮度。IQ所代表的意义与UV代表的意义相近,但略有差别。在YUV空间中,UV分别代表RGB中蓝色和红色分量与亮度Y的色差,而YIQ色彩空间中,I分量代表从橙色到青色的颜色变化,而Q分量则代表从紫色到黄绿色的颜色变化。由于人眼对橙色到青色区域的颜色变化相对于紫色到黄绿色区域的变化更为敏感,因此除了相对Y分量对IQ分量整体压缩外,还可以在色彩信息中更重视I分量而进一步压缩Q分量。这就使得IQ两个色彩分量的带宽比YUV空间中UV分量所需的带宽更小。

RGB和YIQ的转换关系如下式所示:

或用矩阵表示:

对比色彩空间的转换公式,可以发现YIQ和YUV色彩空间中,代表图像亮度的Y分量与RGB的关系相同。

NTSC制式的信号对色差信息的相位较为敏感,这极易造成色彩失真,因此德国(当时的西德)于1962年制定了利用相邻相位相反信号补偿来消除色彩失真的隔行扫描(Phase Alternative Line, PAL)制式彩色电视信号标准,也称为逐行倒相正交平衡调幅制式。PAL制式每帧包含625行(576行可视电视线),每秒传输25帧(40ms/帧)它采用YUV颜色模型,常被数字化为768×576的分辨率。PAL制式使用YUV色彩空间,主要用于中国和英国、德国等一些欧洲国家。

SECAM(法语:Séquentiel Coleur à Mémoire)制式是由法国在1966年研制成功的彩色电视信号标准,又称为顺序传送彩色与存储制式。这种制式与PAL制式类似,也采用隔行扫描,每帧包含625行(576行可视电视线),每秒传输25帧,常被数字化为768×576的分辨率。它与PAL的主要差别是它的色度信号是频率调制,红色差和蓝色差两个色度信号按行顺序传输。法国、俄罗斯、东欧和中东等约65个国家采用这种制式。

RS-170和CCIR是两种较为常用的黑白电视信号制式,这些制式的主要特点与彩色电视信号制式的特点共同汇总在表2-3。RS-170是美国使用的标准黑白电视信号制式,它采用隔行扫描,每帧图像包含525线,每秒传输30帧,常被数字化为640×480的分辨率。在RS-170标准制定20年之后,电子工业协会EIA制定了RS-170A标准,该标准支持彩色电视信号,由于其特点与NTSC制式相同以及NTSC制式的广泛使用,因此人们常用NTSC制式这个名字代替它。

表2-3 常见视频制式特点

CCIR制式最先用于北欧,因制定它的组织——国际无线电顾问委员会(Consultative Committee for International Radio, CCIR)而得名。CCIR制式与PAL和SECAM制式类似,只是它仅支持黑白电视信号。该制式每帧包含625行(576行可视电视线),每场开始时会保留25个电视线作为同步和控制信息,每秒传输25帧,数字化后分辨率为720×576。

模拟相机输出信号的形式直接决定与之相连的图像采集设备应具备的接口规范。如果模拟相机输出的信号为某种标准的隔行扫描视频信号,则与之连接的图像采集设备就应支持对该种标准视频信号的数字化;如果输出的是非标模拟信号(通常对应逐行扫描),图像采集设备则应支持对该模拟信号的采集。此外,从物理接口来看,模拟相机一般使用同轴电缆BNC接头、S端子(RS-170)或莲花头等进行信号传输,相应地,图像采集设备也应从物理接口上与之兼容。

模拟视频信号中的行同步和场同步信号可以确保图像中的每行信号和每场信号被准确传输。然而模拟视频信号中并未包含每行中单个像素的同步信号,这就要求图像采集卡从中提取数字图像时,需要先从信号中分离出水平和垂直同步信号,然后再按照视频标准约定的频率,将每行信号数字化为多个像素。例如,CCIR要求将每行分为768像素,RS-170则要求分为640像素。在实际数字化过程中,数字化的频率由像素时钟(pixel clock)来控制。对于CCIR标准的视频信号,需要像素时钟频率约为14.76MHz(52ms内扫描767个脉冲),而对于EIA标准,则需要像素时钟频率为12.3MHz(52.59ms内扫描647个脉冲)。

像素时钟通常由图像采集卡的锁相环(Phase Locked Loop, PLL)电路生成。但是这个重构的时钟与相机本身用于驱动传感器上每个像元电荷移动的时钟(相机的像素时钟)可能并不完全相同。这会产生两个问题,一是对每行信号的数字化可能会被提前或滞后,而并不能很精确地从信号有效行的起始位置开始;二是数字图像中的像素不能准确表达相机采样到的像素,从而对于连续的视频会产生闪烁现象。

重构的像素时钟准确性可以用像素抖动(pixel jitter)来衡量,它等于像素时钟脉冲上升沿与水平同步信号下降沿的偏差,单位为纳秒,如图2-40所示。由于受到像素抖动的影响,视频信号可能被提前或滞后抽样,数字化后的像素灰度值相对于其真实值就产生了偏差,从而影响测量精度。通常对精度要求较高的机器视觉系统,应尽量将图像采集时的像素素抖动控制在±3ns之内。对于PAL标准,也就是要控制在单个像素(周期67.7ns)的4.5%之内。

图2-40 像素抖动

通过前述分析可知,如果能使视频信号数字化时的像素时钟和相机的像素时钟一致,则采集得到的数字图像将无像素抖动。如果是单相机系统,则可以将采集卡的像素时钟通过相机外同步端子提供给相机使用。如果是多相机系统,则可以将独立的时钟信号同时提供给采集卡和相机,使它们同步工作。

2.3.3 数字相机和数字视频信号

与模拟相机不同,数字相机会通过其内部集成的A/D转换器将图像转换为数字信号,并编码为数字视频后,按照RS-422、LVDS(RS-644)、FireWire 1394、USB、Camera Link或千兆以太网GigE(Gigabit Ethernet)等标准传输。相机中的A/D转换器位数决定了它能从暗到亮识别的灰度级数,常用位深度(bit depth)来表述,如8位、10位、12位或16位等。对于彩色相机来说,相机的位深度决定了RGB各色彩分量中灰度数据的丰富程度,也就决定了相机能识别或表示的颜色数量。对黑白相机来说,位深度则直接决定了相机可以识别的灰度级数。例如,一个8位的黑白数字相机最高能够检测0(暗)~256(亮)个灰度级,而一个12位相机则可以检测0~4096个灰度级。如果要检测的灰度级间隔比较细,则应尽量使用位数高的相机。例如,若要检测213和214灰度级之间的灰度级,则应使用超过8位的相机。

数字视频信号多采用逐行扫描方式代替隔行扫描,且用帧有效(frame enable)和行有效(line enable)信号代替了模拟视频信号中的场同步和行同步信号,来精确控制每行和每帧图像。每行中的单个像素都以独立数字信号的形式,在像素时钟的控制下传送,如图2-41所示。由于数字视频信号的同步信号(帧有效、行有效和像素时钟)与图像数据并没有像模拟视频信号那样混合在一起传输,因此数字视频信号不存在模拟视频信号的像素抖动问题。此外,数字视频相对于模拟视频有较高的分辨率和帧率、较多的灰度等级、高传输速度、较低的信号衰减和噪声等优点。

图2-41 数字视频信号

可以使用RGB颜色空间来表示数字视频信号的颜色。常见的RGB编码方式如表2-4所示。图像中的每个像素经过RGB编码后,可以经过各种方式传输。接收端接收到信号后就可以对其进行解码、处理后显示在显示器上,或按照某种文件格式(如BMP)存储。

表2-4 RGB编码方式

目前,机器视觉应用使用的数字相机中大多数都直接输出RGB数据。这是因为计算机和通信技术的飞速发展,使得传输大数据量成为可能。人们没有必要再像模拟视频时代那样,为了减少数据量而对其进行有损压缩。然而,这并不意味着模拟视频时代的压缩技术就不再有任何借鉴意义。实际上,对那些测量精度要求不高的机器视觉应用,完全可以按照相同思路压缩数据,以便于信号传输并提高系统的实时性。因此,市面上就有不少相机,按照与模拟视频YUV色彩空间类似的方法,将信号从RGB色彩空间转换到亮度和色度空间,并进行压缩后作为其输出。相应的色彩表示方法称为YCbCr色彩模型/空间。

YCbCr色彩空间是在数字视频标准制定过程中通过对YUV缩放和Gamma修正后得到的(详见标准ITU-R BT.601和ITU-R BT.709)。由于其中Y也是指亮度分量,CbCr也仍然分别指蓝色和红色分量相对于Y的色差,因此很多人也将YCbCr称为YUV。然而这其实并不准确,YUV主要用于模拟视频信号,而YCbCr则是对YUV修正后,将其用于数字视频信号。RGB与YCbCr色彩空间的转换公式如下:

图2-42显示了YCbCr与RGB色彩空间的关系。

图2-42 YCbCr与RGB色彩空间的关系

YCbCr有多种采样方式,主要包括YCbCr444、YCbCr422、YCbCr411、YCbCr420等。名称中的数字表示在连续采集的4个像素中对YCbCr分量的采集的次数。例如,YCbCr422就表示采集4个像素中所有Y分量,而只采集2组Cb和2组Cr分量,逻辑上相当于YYYYCbCrCbCr。图2-43显示了YCbCr422的采样编码过程。

图2-43 YCbCr422采样编码过程

表2-5进一步汇总了各种YCbCr采样方式,其中示意图中灰色框表示被丢弃的CbCr值。这些采样方式都尽可能利用人眼对Y分量更敏感的特点,充分保留了Y分量,而通过子采样压缩色度分量CbCr,来减少数据量。

表2-5 YCbCr采样方式汇总

YCbCr的编码格式分为打包格式(packaging)和分量平面格式(plane)。打包格式常用于YCbCr444和YCbCr422采样方式,它把每个像素的YCbCr分量编码到几个字节中连续传送,如图2-44所示,YCbCr444采用的AYCbCr编码(每像素32位,字节A作为alpha通道)、YCbCr422采用的YCbYCr和CbYCrY编码(平均每像素16位)等。

图2-44 YCbCr打包编码

分量平面编码格式则把所有像素的YCbCr分量单独存放在3个不同区域,常见于YCbCr420采样编码方式,例如图2-44所示的YCbCr420采用的IMC1、IMC3、IMC2、IMC4、YV12和NV12编码等。其中IMC1和IMC3平均每像素16位,其编码方式平均每像素12位。

YCbCr视频信号在显示前通常需要被再次被转换回RGB空间。若数字视频是未被压缩过的YCbCr444信号,则可以直接按照前述RGB与YCbCr色彩空间转换公式进行转换。如果是被压缩过的YCbCr信号,则需要先按照插值算法,将其转换为YCbCr444,再转换到RGB色彩空间。

图2-45 YCbCr分量平面编码

数字相机输出的RGB或YCbCr视频信号可以按照不同接口标准进行传输。表2-6列出了常见数字相机接口标准及其特性。RS-422和RS-466属于低压差分信号(Low Voltage Differential Signalin, LVDS)它们用两根电压相反的线同时传输信号,在接收端通过两根线上的信号强度差来得到最终的数据。信道中同时出现在两根线上的噪声因相减后被去除,因此信号的电压要求低,抗噪声能力强,传输距离远。例如RS-422的最远传输距离可达1200m。

表2-6 常见数字相机接口标准

RS-644(常称为LVDS)信号电压为350mV,比RS-422更低(RS-422为2.4V)。它进一步降低了功耗(仅为RS-422的1/8)和噪声,传输速率最高可达400Mb/s。RS-422及RS-644通常使用68针或100针的高密度物理接口,但各相机厂家的引脚定义不尽相同(对应采集卡引脚定义也不完全一样),如果要更换相机,必须确认接口各引脚信号的定义与更换之前的定义相同,必要时还要做信号转换板。

为了进一步提高数据传输速度并减少连接器的针数,人们制定了Channel Link和Camera Link规范。Channel Link是Camera Link的前身,它在LVDS基础上对并行数据传输进行了串行化,降低了传输电缆的数量。Channel Link可通过5对双绞线传输28位数据。在数据发送端有28路数据信号和1路时钟信号,这些信号被转换为4对串行传输数据的差分信号和1对传输时钟的差分信号。在接收端,5组串行差分信号又被并行化,得到28位的数据和1路时钟信号。Channel Link 1.1的时钟速度达85MHz,数据传输率达2.38Gb/s。虽然Channel Link接口的引脚较LVDS少了很多,但是由于它没有对接头形式做统一约定,因此各厂家的产品之间依然有差异。

图2-46 Channel Link接口

Camera Link是由美国自动化工业学会(AIA)牵头,多家工业相机和采集卡生产商共同参与,专为机器视觉应用制定的串行数据通信接口标准。它不仅在Channel Link的基础上约定了相机和图像采集卡的统一接口标准,让遵循该标准的相机与采集卡可以物理上互连,还增加了4个通过图像卡控制摄像机的CC(Camera Control)通道和它们之间的双向串行通信通道(图2-47),使用户可以从图像卡发送控制指令,以编程的方式控制摄像机。目前,在机器视觉领域,Camera Link有逐渐取代其他标准的趋势。

图2-47 Cameral Link基本配置及接头

Camera Link还定义了基本配置(BaseConfiguration)、中等配置(Medium Configuration)以及全速配置(Full Configuration)3种可选的数据传输模式,以解决高速数据传输的问题。这3种配置的连接方式不同,数据传输速率也逐级递增。基本配置的Camera Link对Channel进行了改进,如图2-47所示。中等配置的Camera Link相当于在基本配置的基础上再增加一个Channel Link单元,而全速配置则相当于在基本配置的基础上再增加两个Channel Link单元。要实现中等和全速配置,需要再额外增加一个26针的接头,因此Channel Link的图像采集卡上通常都有两个D型的连接头,如图2-48所示。

图2-48 Cameral Link的3种配置及接头

IEEE 1394接口,又称FireWire或iLink,最早是由苹果公司开发的用于计算机网络互联的接口,用于数码产品与计算机等机器之间的连接。IEEE 1394总线是目前较快的高速串行总线之一,IEEE 1394a支持100Mb/s、200Mb/s和400Mb/s的带宽,IEEE 1394b提供一个800Mb/s的带宽,最多可达3.2Gb/s。IEEE 1394支持即插即用,可以不用安装驱动程序,直接在Windows、MAC Lions等常见操作系统上使用。IEEE 1394接口分为4芯和6芯,4芯中有两对数据线,6芯除数据线外还包括一组电源线以对外接设备进行供电。IEEE 1394接口不需要控制器,可以实现对等传输。IEEE 1394a数据传输率为400Mb/s,最大传输距离为4.5m。IEEE 1394b数据传输率可达800Mb/s,传输距离通常为10m,在降低数据传输速率的情况下可延伸到100m(100Mb/s),采用中继设备支持可进一步提高传输距离。

IEEE 1394接口会将可得到的带宽分配到传输网络中需要它的全部设备,因此结点上最慢的设备将决定整个传输网络的带宽。IEEE 1394有异步和同步两种工作方式。异步方式在数据发送和接收时通过“握手”确保数据传递的可靠性,但不保证传输速度。同步方式则放弃“握手”过程,侧重于数据传输带宽的提高。如果可提供的带宽被分配给一个以同步方式工作的设备,该设备会对数据进行广播,其他连接在网络上的设备都可以通过同步接收该数据。如果数据包损坏或丢失,也不能重新传送。大多数IEEE 1394接口的工业相机采用同步方式并且遵循数字相机工业仪器规范(Industrial and Instrumentation specification for Digital Cameras, IIDC)。

通用串行总线(Universal Serial Bus, USB)是1994年底由康柏、IBM、Microsoft等多家公司联合制订的串行数据传输标准,但是直到1999年,USB才真正被广泛应用。USB总线连接的系统是一种用于点对点通信的主从系统,其目的是作为一种通用标准来取代现有的各种串行或并行的计算机I/O协议。系统中主控制器担任主机,端点的其他外部设备隶属于它,下位USB设备只能与主机联系,但之间不能互相通信。USB接口共有4针,其中2根为电源线,2根为信号线。USB接口可热拔插,连接方便,可以连接设备数多达127个,两个设备之间最长通信距离为5m。USB采用与IEEE 1394类似的同步和异步数据传输方式。USB 1.1的数据传输带宽为12Mb/s,比标准串口快100倍,比并口快10倍,但它仍不太适合工业相机的图像传输;USB 2.0向下兼容USB 1.1、USB 1.0,数据的传输率达到120Mb/s~480Mb/s,可完全满足工业图像传输的速度需求。

千兆以太网GigE(Gigabit Ethernet)作为最新的高速以太网技术,继承了传统以太网技术价格便宜的特点。它使用常见的以太网络接口连接设备,且采用与10M以太网相同的帧格式、帧结构、网络协议、全/半双工工作方式、流控模式以及布线系统,因此可与10M或100M以太网很好地兼容。以太网协议最早被美国施乐公司开发,后来在与DEC和Intel的合作中获得来巨大改进。使用它可以使系统构建变得容易,而且构建的系统经济、可靠并容易扩展。虽然目前GigE的数据传送率已达到1Gb/s,但基于它传输未压缩图像的工业标准尚未被完全确定。

无论如何,数字相机抗干扰能力强,分辨率高,速度快,而模拟相机则相对容易受到电磁干扰,在分辨率上也常受制于视频信号标准的约定。因此目前在机器视觉领域,大有数字相机一统江湖的局面。然而,这并不等于模拟相机一无是处。模拟相机远比数字相机便宜,它在噪声导致信号失真之前能将信号可靠地传至300m以上,而由于数字相机传输的是高带宽信号,其信号传输长度低于模拟相机可传输长度,具体传输距离根据选用的接口协议不同而不同。

2.3.4 相机筛选

为机器视觉系统选择相机,是一个综合镜头和图像采集卡与相机的接口以及相机自身参数的逐步筛选的过程。按道理来说,第一步应该确定相机与镜头和图像采集卡的物理接口,以便所选的相机可以与镜头和采集卡正常连接。但是,由于目前相机与镜头和电脑/图像采集卡之间的接口都趋于标准化,这就使得我们可以直接从项目对机器视觉系统的精度要求入手来选择相机。

相机选择并无固定流程可循,根据经验,应主要从以下几个方面进行(暂不考虑预算):


根据项目要求和机器视觉成像系统模型,确定相机的传感器尺寸及分辨率。

确定相机的输出方式及标准(模拟/数字,色彩,速率等)。

确定相机物理接口及电器接口。

确定相机其他性能指标。


如2.2节所述,镜头和相机的选择可以根据项目需求和机器视觉成像系统模型来进行。涉及的参数不仅包括与镜头相关的焦距、工作距离、视场,还包括相机的传感器尺寸、像素分辨率以及系统分辨率等,这些参数的约束关系为

例如,要设计一套可以检测桥梁底部裂缝的机器人视觉系统,要求机器人可以最大4.5m/s的速度工作,同时可以在距离桥梁底部400~800mm工作距离内检测到最小宽度为0.2mm的桥梁裂缝(图2-49)。则根据机器视觉有

图2-49 桥梁底部的裂缝

由于裂缝与线对中的黑色线条类似,因此代表最小裂缝宽度的像素数并不需要2个,仅一个即可(pmin=1)。因此有

假定分别有两组镜头和相机可供选择,其参数如表2-7所示。则在考虑消除渐晕现象的情况下,可能的组合为“镜头A和相机1”或“镜头B和任何一个相机”。但是根据上式,如果选择“镜头A和相机1”,则在相机传感器尺寸固定情况下,相机两个方向上的分辨率应满足

也就是说,相机的分辨率应不小于2816×2112,显然这个组合不能满足要求。如果进行同样计算,会发现镜头B与两个相机的任意组合都能满足系统分辨率的要求。然而,考虑机器人必须能以最大4.5m/s的速度工作,因此还要从速度方面验证镜头和相机的组合是否能满足要求。

表2-7 可选镜头和相机

机器人能支持的最大速度可以用其视场和相机的帧率粗略进行计算。由于机器人相对于相机传感器的运动方向未知,为确保机器人在任何方向上的运动均能满足要求,必须以工作距离为400mm时纵横方向上视场的最小值进行计算。因此:

(1)镜头B与相机1组合的最大工作速度为

(2)镜头B与相机2组合的最大工作速度为

通过计算结果可以看出,只有“镜头B与相机1”组合才能满足要求。

检测运动物体时,相机的类型和曝光也很重要。对于高速移动的物体,一般使用线阵相机。对于静止或非高速移动的物体,一般面阵相机即可满足要求,由于整个面阵区域必须一次曝光,在曝光时间当中任何移动都会导致图像的模糊。可以通过选择曝光时间较小的相机或使用闪光灯来提高图像质量。在使用面阵相机拍摄快速运动的物体时,需要保证相机的曝光能在被测目标位移不超过一个像素所表征的特征大小的时间内完成。例如目标以1cm/s的速度匀速移动,且每像素代表1mm,那么相机的曝光时间不能超过0.1s。通常都倾向于将曝光时间设置得比最大值要快,以获取高质量的图像。对于上述例子,曝光时间应控制在0.2/4500=4×10-5s之内。

以上计算中并没有考虑采用亚像素(subpixel)和具体的特征检测算法来提高系统的精度。面阵相机拍摄图像时,将物理世界中连续的图像离散化为像面上的像素。像素是像面上的物理最小单元,它在逻辑上代表了其附近的灰度或颜色。如果能进一步在相邻像素之间增加更多像素,则相机的分辨率将进一步提高。考虑到物理上已经无法在相邻像素间增加更多像素,因此常使用各种二次或多次插值算法,在相邻像素之间插入多个“虚拟像素”以提高测量的精度。这些虚拟像素就称为亚像素。

图2-50 亚像素及亚像素精度

亚像素精度(subpixel accuracy)表示了两个物理像素间隔被细分的程度。例如,可以将相邻像素的间隔分为二等分、三等分、四等分等。如果一张5×5像素的图像按照四等分来分割像素间隔,就等于创建了一张16×16的离散点阵,如图2-50所示,其中大正方形的点代表物理像素点,小点代表新产生的亚像素点。获得亚像素点阵后,就可以在该点阵基础上进行插值运算,进而提高整个机器视觉系统的精度。例如,在前述例子中,如果使用亚像素将相邻像素间隔进行二等分,则对相机物理像素分辨率的要求就可以降低一半。根据目前已知的机器视觉组件,可以可靠的估算至1/25的亚像素精度。

在相机的筛选过程中,除了分辨率,还应关注相机的帧率等其他与相机输出相关的因素。相机的输出类型及标准决定其输出是模拟视频信号还是数字视频信号、输出图像的颜色、输出速度等。相机输出类型的选择主要由系统需要获得的数据类型决定。如果相机输出的信号要直接传给视频监视器,那么就需要输出模拟信号的相机。当需要黑白图像时,可以选用CCIR或RS-170制式相机;若需要彩色图像,则可选用PAL或NTSC制式的相机。如果要将相机获取的图像传输给计算机进行处理,则可以选用多种模拟或数字接口的相机,但应注意和图像采集卡的接口一致。

模拟相机与图像采集卡搭配是比较常见的一种组合,这种方式不仅经济,而且还能兼容模拟接口,但其速度和分辨率一般都不是很高。数码相机的精度通常要高于模拟相机,而且除了传输RGB编码的视频外,还可以传输YCbCr编码的视频信号。通常在计算机一侧也配有采集卡对各种视频信号进行解码,以获取图像帧。对一些没有其他采集卡控制和图像传输可靠性需求的应用,采用直连的USB 2.0接口、IEEE 1394(FireWire)或GigE最为方便。Camera Link接口正在成为机器视觉领域内相机的一种数字输出标准,它需要一张采集卡来与之搭配使用,以满足高速并可对相机进行控制的应用。此外,也有一些老式的数字接口仍然被使用,比如LVDS和RS-644。

确认了相机分辨率及输出方式满足项目需求后,原则上来说该相机已基本可以满足系统的需求。然而相机能否正常与其他机器视觉成像系统硬件连接使用,还要待其物理及电器接口确认后才能确定。相机与镜头的物理接口有C和CS两种,只有它们的接口完全匹配或C接口的镜头与CS接口相机(可以通过5mm适配器)搭配才能正常工作。相机与计算机之间的连接可以通过模拟图像采集卡或其他数字接口实现。如果是模拟相机和采集卡,则通常用BNC接头连接。数码相机的接口多种多样,如USB、FireWire、RJ45或Camera Link等。

相机与计算机之间的电器接口除了遵循各种模拟或数字视频标准的约定,还应特别注意相机的触发和同步方式。触发和同步通常用于多个相机从不同角度拍摄监测目标的场合。这种情况不仅要求各个相机能同时开始拍摄目标,而且还要求在拍摄过程中各个相机所拍的图像在时间上同步。相机的触发方式决定了相机何时开始对目标拍摄,而相机是否同步则确定了拍摄过程中各个相机输出的图像在时间上是否同步,采集卡对视频信号的输出是否失真等。

触发(trigger)是指相机对外部事件的及时响应,可以通过软件或硬件方式实现。一般情况下,当某个触发事件发生时,相机会在一帧图像扫描完成后重启相机,并触发采集卡进行图像采集。例如,当生产线上的产品运动到相机视场范围内时,需要触发相机和图像采集卡对其目标图像进行采集。相机被触发后响应时间需要被精确控制,否则目标可能在相机还未做出响应之前早已离开了视场。异步触发(asynchronous trigger)可以加快相机对触发的响应速度。在异步触发方式下,相机的像素时钟由采集卡提供,视频信号中的行同步和场同步分别控制采集卡的水平扫描时钟和帧扫描时钟,采集卡的A/D转换频率与相机的像素频率一致。当相机被异步重置时,像素时钟、行同步、场同步以及相机的写允许信号都被会被重置。相机将从视频信号的下一行(行异步方式)或下一个像素(像素异步方式)时钟开始,立即启动扫描。

如果系统中的各相机被同时触发,且它们连同采集卡已经被同步,则各采集卡采集到的图像不仅开始采集的时刻一致,且后续各帧采集的时刻也一致。所谓同步(synchronization),主要是指相机的视频信号的行、场、帧以及采集该信号时所用像素时钟的同步。同步可以分为内同步(internalsynchronization)、电源同步(power synchronization)和外同步(external synchronization)3种方式。内同步是指由相机内部电路为视频信号提供同步信号的方式。在这种方式下,各相机之间的视频信号互无影响。电源同步又常被称为电源线锁定同步,它采用电源周波来完成信号的同步。电源同步是比较老的同步方式,正逐渐被淘汰。外同步工作方式下,同步信号由外部信号源提供。外部信号源可以是一个相机的视频输出、独立的同步信号发生器或者是图像采集卡提供的TTL电平信号,如图2-51所示。

图2-51 常见外同步连接方式

在对同步要求不高的应用中,可以使用相机的输出视频信号作为同步信号源,将某个相机的视频输出连接到下一个相机的同步输入,如此往复(图2-51(a))。这种连接方式可以省去独立的信号发生器,但是相机之间的信号迟延可能会导致同步精度不高。如果同步必须精确,则可以使用一个外部同步发生器(图2-51(b))。某些相机可以接收TTL电平信号作为水平和垂直同步信号,很多中高端的图像采集卡的同步输出都可以提供此类信号,此时就可以用采集卡的同步输出信号作为同步信号源(图2-51(c))。然而TTL电平信号驱动能力有限,因此在使用采集卡的同步输出做信号源时,需要注意它的负载驱动能力。大多数图像采集卡可以驱动3个以下相机,如果要连接更多相机,则需要增加中继或功率放大器。

常见的同步有垂直锁定和全锁定两个级别。垂直锁定只对齐到相机视频信号各帧,而不考虑水平同步、像素及色彩的同步等。全锁定则会确保视频信号水平、垂直、偶数/奇数场以及色彩等都同步,是相机之间完全同步的最佳方法。多数相机都具有垂直同步功能,这可以满足大多数普通机器视觉应用的需求。

完成以上各步筛选及参数分析后,机器视觉系统的相机基本上已经锁定。然而还要最后对相机的其他相关参数进行确认,以确保其完全满足项目的需求,包括相机的温度范围、白平衡设置、伽马校正、信噪比以及自动增益等。表2-8给出了某相机的技术参数。

表2-8 某相机的技术参数

白平衡(white balance)是为了解决相机在不同光线下拍摄同一物体时色彩会出现偏差的问题而提出的概念。相机在不同环境下拍摄同一目标时,图像的颜色通常会随光源色温而变化。例如,在日光灯的房间里拍摄的影像会显得发绿,在钨丝灯光下拍摄出来的目标会偏黄,而在日光阴影处拍摄到的照片则常会偏蓝。人眼对于各种环境具有适应能力,可以确保环境变化时看到同一目标物的颜色仍一致。但是相机感光元件自身则没有这种适应能力,为了确保相机在不同光线下拍摄到的图像能一致地反映目标物的颜色,就需要让相机知道某一具体拍摄环境下的颜色基准。又由于白色是红、绿、蓝三原色合成的结果,因此只要确定各种环境下的白色基准,则相机拍摄的图像就可以一致地反映所有其他颜色。在不同环境下为相机确定白色基准的过程就称为白平衡调整。

彩色相机的白平衡是通过调整三原色放大电路的比例来实现的。摄像机内部有红、绿、蓝3个感光电路,理想环境下这3个电路的放大比例相同。在进行白平衡的调整时,相机会根据调整样本改变3个电路的放大比例。例如,在红、绿、蓝的比例为1:1:2(蓝光比例偏高)环境中对相机进行白平衡调整,则调整后3个放大电路的比例关系为2:2:1。由于调整后蓝色放大比例相对减少,这就抵消了环境光中多余的蓝光部分,而整体上确保了相机拍摄的图像可以真实地反映目标的色彩。

白平衡调整有手动调整和自动调整两种方法。自动白平衡通常为相机的默认设置,它依赖相机的测色温系统,测出工作环境中三原色的相对比例,再依据该比例调整红、绿、蓝3个放大电路的增益,使整个系统能真实一致地反映目标色彩。自动白平衡最大的优势是简单、快捷,但在某些环境下的调整结果准确程度不高。手动调整的精确程度要胜过自动调整。手动调整时用白纸或画面中认为是白色的部分作为参照,进行白平衡调节,这样可以得到较为准确的调整结果。另外,有手动白平衡调整功能的相机一般都预置了一些工作模式供选择,如阴天、晴天、荧光灯等,调整也不是很麻烦。

伽马校正是针对传统监视器(特别是基于显像管的监视器)显示非线性的特点提出的。众所周知,从图像采集到显示,通常要经过两次转换:传感器将模拟图像信号转换为电信号的光电转换和显示设备将电信号还原为图像的电光转换。为了使接收端再现的图像与输出端原图像相一致,必须保证两次转换的综合特性具有线性特征。然而现实中两次转换的综合特性并非完全线性,为了补偿非线性的影响,大多数相机提供了伽马校正功能。如果校正值为1,则输出单元以线性模式工作;而如果伽马校正值为0.45,则表明输出更强调中间灰度级。伽马校正常用于监控系统,而在机器视觉系统中的作用稍微小一些。

电子快门用于控制CCD芯片的曝光时间。如果照明情况不是很好,则电子快门速度就需要适当慢些,以延长曝光时间。视频标准通常都规定最小的快门速度,例如CCIR标准要求1/50s,EIA标准要求1/60s。如果观测运动目标,则最小的快门速度应更快些。然而这样带来的负面影响是视频信号幅度比要求幅度(1V)低。在这种情况下,就需要利用增益控制(gain control)来放大信号。最大增益通常为1:10或1:20。增益控制可以分为自动控制和手动控制两种。在自动增益控制模式中,放大器会自动调整信号,输出标准幅度的视频信号。自动增益控制一般常用于监控系统,在机器视觉应用中,增益控制常被调整到手动模式,以按照指定的条件精确设置增益。例如,当视场中包含一个很亮的背景区域和一个很暗的前景目标时,自动增益控制所确定的工作点并不一定就适合前景目标检测。这种情况下常启动背光补偿,使相机仅对前景目标所在的子区域求平均来确定工作点,从而提高了成像质量。

如果通过增益控制还是不能满足信号放大的需求(特别是低光照条情况下),就要进一步使用长时间积分(long-time integration)功能。延长积分时间带来的负面效应也很明显,就是噪声会随着积分时间的延长而增加。因此还要确保相机有合适的信噪比。总而言之,相机选择是一个在项目预算范围内综合各种技术指标,最大限度地满足项目需求的过程。在实践中应根据各种情况灵活应变,并积累经验。