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

3.1 图像采集设备

相机输出的视频信号中携带着彩色或黑白图像帧。若要在计算机中分析处理这些图像,必须先设法从视频中提取出这些图像。图像采集设备就是用于从视频信号中“抓取”图像帧的设备,也称为帧存器(frame grabber)。

不同类型的相机输出的模拟和数字视频信号不仅有彩色和黑白之分,还常出于兼容性和数据传输的需要,在不同于RGB的色彩空间(YUV、YIQ或YCbCr)对信号进行编码。相应地,从不同输出类型的相机提取数字图像的方法也略有差别,表3-1汇总了从不同输出类型的相机获取数字图像的方法。以从彩色RGB数字视频信号中获取图像帧为例,除了需要参照同步信号提取图像帧数字信号,还要考虑视频信号的编码方式。如果相机为带Bayer滤镜的单CCD/CMOS相机,则必须将原始RGB数据(RGB raw data)解码为完整的RGB图像。而若相机使用3个CCD/CMOS分别采集RGB分量,则可以直接参照同步信号提取数字图像。无论何种方法,都需要先参照同步信号从视频中提取出图像帧,并最终将图像转换至RGB色彩空间,用于计算机显示。

表3-1 从不同输出类型的相机获取数字图像

在空间坐标上对彩色图像各个分量或灰度图像的离散化抽样称为采样(sampling),对各个抽样点数据的离散化称为量化(quantization)。采样确定了图像的空间分辨率,而量化则确定了图像中像素灰度的分辨率。采样和量化的结果就是在二维空间上将连续的图像沿水平和垂直方向等间距地分割成由离散像素构成的矩阵结构,矩阵中各点的数值就是量化后的灰度值。如果用笛卡儿坐标系来描述图像的数字化,则各采样点可以用坐标系中xy平面上离散点表示,而量化值则可以用xy平面上各采样点对应于z轴上的离散点表示。数字图像中每个像素点的坐标和灰度都可以对应于空间坐标系中的某一点,如图3-2所示。

图像数字化时,采样频率越高(采样点间隔越小,数量越多),采样获得的数据量越大,图像的空间分辨率也就越高。根据采样定理,采样频率必须大于或等于源图像中最高频率分量的两倍,才能恢复图像。为了更精确地恢复图像,实际中一般使用高频率分量的5~10倍作为采样频率。如果采样不足,图像中就会出现颗粒(graininess)现象,极端情况下连是什么物体都很难辨别。

图3-2 图像的采样和量化

量化可以将模拟图像(或某个颜色分量)中连续的灰度值转换为由一组离散数据表示的离散灰度值。当图像的采样点数一定时,可以表示灰度的离散数据个数和范围越大,则图像的颜色和灰度就越丰富、精细。从应用的角度来看,只要水平和垂直方向采样点数足够多,灰度级数足够高,数字图像就可近似地被当作原始模拟图像,当然得到的数字图像容量也较大。对灰度图像来说,可以表示灰度的离散数值个数称为灰度级数,每个数值称为一个灰度级。量化的灰度级数越小,图像的质量就越差。如果是只有0和1两个灰度级的极端情况,图像就变成二值图像。图3-3显示了使用不同采样频率和量化级时获得的不同数字图像的效果。

图3-3 不同采样率和量化级下的图像效果

图像的采样和量化由图像采集设备完成,它们可按所处理的信号标准不同分为两大类。一类专门对成像设备输出的标准模拟视频信号(如PAL、NTSC、CCIR、RS-170/EIA等)或非标准模拟视频进行采集和量化;另一类设备自身就能完成图像的数字化,它们将信号编码为黑白灰度数字信号或彩色RGB/YCbCr数字视频后,通过USB、IEEE 1394或Camera Link等数字接口传送至计算机。

目前,在机器视觉行业中,虽然Camera Link标准的数字图像接口卡正逐步取代其他图像数字化设备,但传统的模拟图像采集卡仍因其低廉的价格和模拟相机的存在而被大量使用。图像采集卡有多种总线形式,如PCI、PCI Express、PXI、AGP、ISA、PC104Plus、CompactPCI以及VME等。图3-4给出了一个PCI图像采集卡的硬件示意图。

图3-4 PCI图像采集卡硬件示意图

PCI总线出现之前,各种总线的数据传输速率极低,这使得早期的图像采集卡不得不基于帧存储器来工作。当时,在对图像处理前,先要“冻结”动态图像并将其写入帧存器。在图像处理时,还要将图像再从帧存储器中读出。这使得图像采集和处理的速度极为缓慢,也限制了机器视觉应用的发展。20世纪90年代初,Intel公司提出了PCI(Peripheral Component Interconnect,外设组件互连)局部总线规范。它不仅支持32位或64位的总线带宽,还允许直接或间接连接到总线上的设备快速完成数据交换,从而较好地解决了数据传输的瓶颈问题。PCI总线的速度提升也使得图像采集卡摆脱了帧存储器的工作方式,取而代之的是一个先进先出(FIFO)的缓存器。数字化后的图像只要在缓存器中进行简单的缓存,即可直接快速地传送到计算机内存,供计算机进行进一步处理或显示。这就极大地提高了整个图像处理系统的速度,也带动了机器视觉应用的飞速发展。

图3-5显示了典型PCI图像采集卡的基本逻辑结构。同步分离器用于从输入的视频信号中分离出水平和垂直同步脉冲。如果没有外部同步信号源,则采集卡就会使用分离出的同步脉冲对齐图像中的行(水平同步)和帧(垂直同步)。通常在视频信号与图像采集卡相连接之初,图像采集卡需要3帧图像采集的时间才能达到稳定工作状态。如果有多个相机同步工作,则当一个相机的视频源切换至另一个时,就可造成各相机图像之间的相位差。外同步可以保证所有相机的水平与垂直都是同步的,这就是锁相机制。一些采集卡本身就带有用于锁相的同步信号发生器,通常这些同步信号是TTL电平。可以将该信号作为相机的同步信号源来同步视频信号,详见2.3.4节。应注意,使用采集卡的同步发生器并不表示同步分离器也是由同步发生器直接控制的,事实上同步分离器与同步发生器是相互独立工作的。

图3-5 图像采集卡的基本逻辑结构

一旦采集卡达到行和帧同步的稳定工作状态,就可以对视频信号进行采样和量化,以产生图像像素。根据视频标准,采样/保持单元需要对CCIR标准的视频信号每行抽样767个像素点,对于EIA标准的视频每行需抽样647个像素。如第2章所述,对于CCIR标准的视频信号,需要14.75MHz的像素时钟频率来抽样,而对于EIA相机则需要12.3MHz的像素时钟频率。实际中,采集卡的参数可能与标准值会有些不同,但差别不会太大。另外,只有在采集卡使用相机的像素时钟时,才能够在不产生像素抖动的情况下,精确地将相机传感器芯片的像素映射到采集卡缓存。

PCI总线的持续平均数据传输率一般在50~90Mb/s之间,总线上主设备(BUS master device)的突发数据传输速率可以达到132Mb/s。在图像采集过程中,如果PCI总线的传输速度可持续大于图像数字化的速率,图像就可以数据流的方式直接传输到计算机或显示设备。事实上图像对视频信号的数字化总是持续进行的,而PCI总线设备却是以突发的方式向总线传输数据。如果图像数字化的速度较快,就需要使用图像缓存队列缓存那些在相邻突发数据传输间隔时间产生的图像数据,以匹配图像采集和经PCI总线传送的速度。必要时,还要使用更大容量的在板存储器(on-board memory)。一旦图像数据流源源不断地经过总线传送至计算机,就可以将它们抓取到计算机内存中进行处理。

并非所有模拟相机都严格输出标准视频信号,有的相机会在视频标准的基础上对像素时钟、触发机制等进一步精细化,有的相机则为了提高精度或输出速率提供多个输出通道。相较于隔行扫描的标准模拟视频,逐行扫描和线阵相机针对运动目标检测应用时更有效。如果要对这些非标准的视频信号进行数字化,相应的图像采集卡也必须能提供一些标准视频以外的特性。不仅如此,为了满足部分机器视觉系统的高要求,一些图像采集卡上还配备图像预处理模块,以减轻计算机的预算负担。使用非标准图像采集卡时,应仔细研究其使用手册。

数字视频可通过两大类标准接口传输。一类是与计算机直连式的数字接口,如IEEE 1394、USB、GigE等;另一类则通常需要接口卡,如LVDS/RS-422、Channel Link、Camera Link等。无论是针对哪种制式的信号,图像采集卡的选择都要与相机综合考虑,此外,虽然直连相机价格较低,但它们常为了减少数据传输量而对信号进行有损压缩。此外,也无法通过计算机发送指令控制其行为。因此大多数对精度和自适应要求较高的机器视觉应用并不选择此类相机。

选择图像数字化设备时应注意其支持的接口标准、图像类型、通道数、图像分辨率、帧率、同步和触发以及与计算机的总线接口等。表3-2列出了一些实际图像采集卡的参数。图像采集卡的接口应与相机视频输出接口匹配,才能正常进行连接。采集卡可支持的分辨率体现其对图像信号采样的密集程度,也决定了所获得数字图像的像素分辨率。图像的帧率与采集卡的采样率反映了采集卡处理图像的速度和能力,模拟视频的帧率为每秒25帧或30帧(帧率单位用fps表示),视所用标准而定。为保证数据完整性,在选择采集设备时,需要保证它的数据采样频率大于或等于相机信号数据输出频率。具体来说,可以按照下面定量的经验公式进行选择:

数字视频采集设备采样率>数码相机的帧率

模拟视频采集设备采样率≥1.2×(分辨率×帧率)

表3-2 图像采集卡参数实例

除了输出RGB色彩空间的数字图像,有些图像采集设备还可以通过板载转换电路将RGB数字图像转换到HSL、HIS或HSV(又称为HSB)色彩空间再传送到计算机。这些色彩空间是为了按照人类区分颜色的习惯来对其进行量化而创建的。它们通过色调(Hue)、饱和度(Saturation)和光线的亮度(Lightness)、强度(Intensity)或明度(Value/Brightness)构成的三维模型来表示目标的颜色。由于这些色彩空间将图像的色彩信息与表征光线强度的信息进行了分离,所以不稳定光源就不会影响系统对彩色分量的处理结果,因此这些色彩空间特别适合进行色彩匹配的机器视觉系统的开发。若采集卡可以在采集的数字图像输入到计算机前就完成色彩空间转换,那么视觉系统的实时性就可以提高。有关这些色彩空间的使用,本书后续章节将详细讲述。

图像采集设备可以使用不同位数的二进制数据来量化图像的像素灰度,如1位、2位、4位、8位、16位、32位等。此二进制数的位数称为位深度。位深度决定了采集到的数字图像的类型,其值越大,说明可以用来表述灰度的离散数据越多。对于灰度图像来说,使用一组离散数据即可表示图像中被量化的像素灰度,而彩色图像则通常需要三组数据来表示像素的RGB或HSL/HSI分量。从图像分析和处理来的角度来看,位深度不仅决定了灰度级的高低,还决定了能在图像上施加的操作。例如,多数图像处理算法只能用于灰度图像,如果要对RGB彩色图像的灰度分量施加这些算法,就需要先将其转换到HSL/HSI色彩空间上,再对LI分量进行操作。

图像采集卡通常可以工作在锁相环(PLL)、XTAL和VScan 3种同步模式下。PLL工作模式下,相机向采集卡提供A/D转换的时钟信号,此时钟信号来自相机输出的视频信号,水平和垂直同步信号可以来自复合视频信号(composite video)、复合同步信号(composite sync)或分离同步信号(separate sync)。在XTAL模式下,图像采集卡给为相机提供时钟信号以及水平和垂直同步信号,并用所提供的时钟信号作为A/D转换的时钟。在XTAL模式下,同步信号仍可使用相机输出的水平和垂直同步脉冲。在VScan工作模式下,采集卡的像素时钟、水平和垂直同步均由相机提供。

机器视觉应用中所使用的图像采集卡与多媒体视频捕捉卡在本质上有较大区别,在使用时应加以区分。多媒体视频捕捉卡获取图像的目的是为了进行视频和音频编辑、显示、存储和传输,因此通常用低分辨率图像及压缩技术即可。而用于机器视觉的图像必须尽可能精确地表示检测目标,因而对图像的分辨率要求也较高。从驱动软件的角度看,多媒体图像采集卡多采用现存的标准接口,如MCI或TWAIN,而机器视觉领域的图像采集卡常通过驱动对硬件资源直接存取。