1.2 图像处理的特点
图像处理具有6个重要的特点,即图像处理的一致性、分层性、邻域性、行顺序性、并行性、实时性。
1.一致性
图像处理的一致性是指对图像区域内的每一点进行的处理是采用相同算法的处理,以图像求反为例,处于确定区域里的每一个像素都要进行求反运算。这里讲“确定区域”而不统称整幅图像,原因在于偶尔也会出现在整幅图像的不同区域实施不同算法的情况。
2.分层性
在图像处理中,常常不是一种算法就能够解决整个问题,而要依次使用多种不同的算法,而且上一步的处理结果会直接影响下一步的处理。根据算法所涉及数据的性质,可以把这些不同的算法划分成不同的处理层次。一般把这些处理层次由低到高依次分为3个层次:数据处理层、信息提取层及知识应用层。对一幅图像进行处理,首先是进行原始图像数据的处理,从待处理的数据来讲,这时的数据量大。经过数据处理层处理以后,下一个处理层则是信息提取层,即提取所需要的信息,如提取物体边界等。知识应用层则应用知识对信息进行加工处理,如基于知识的图像检索、文字识别、指纹识别、人脸识别等。对一幅图像先后进行3个层次的处理,其表征该幅图像的数据量,将随着处理层次的提升而降低。即处理层次越高,表征该幅图像的数据量就越少。以人脸识别的全过程为例,在预处理阶段,进行一些底层处理,处理的是点位图,处理结果也是点位图,数据量较大。在信息处理层,诸如提取人脸特征,处理的是点位图,处理的结果则是得到人脸特征,数据量较少。而在知识应用层次上的识别,面对的只是人脸的特征,识别后输出的数据量更少。这种现象常常称作“处理锥”。
值得指出的是,图像处理的分层性和多级图像处理的概念不同,在同一个处理层次里会有多种算法,这些算法依次可以组成多级图像处理,甚至在一个具有硬件处理功能的图像处理系统里,也会出现多级不同算法的图像处理,如对图像进行边缘增强,然后再对其结果进行中值滤波等,这些处理均属于数据处理层的多级图像处理。
3.邻域性
在图像数据处理层,以图像处理算法所涉及像素区域的差别,根据算法的共性,大体上可以把图像数据处理划分为点处理、邻域处理、几何变换处理。点处理是对单一像素进行处理,可以是对一帧图像内的点处理,也可以是对两帧图像对应像素点的点-点处理,这些处理不需要加入该像素的相邻像素即可完成。
一种邻域处理是在对单一像素进行处理时,需要该像素的相邻像素参加运算才能够完成,这一类邻域处理的算法如Roberts(2×2邻域)、Sobel(3×3邻域)等。
另一种邻域处理是以一个数据块为单位进行运算,例如按8×8数据块进行的JPEG图像压缩,相邻两次处理采用不同的8×8数据块。
几何变换处理一般是指图像的放大、缩小、旋转、平移等处理,这类处理往往是被处理的像素在处理后的地址发生了变化,放大和缩小处理还在像素数量上发生了变化。
所谓图像处理的邻域性,一般是指图像处理的许多算法属于邻域处理,即许多算法需要邻域数据。如3×3卷积运算,每一个点的运算都需要3×3邻域数据,在以单行为特征的视频数据流作为输入信号的情况下如何形成3×3邻域数据,这本身就是一个难题。广义来讲,同时进行多像素的点处理属于区域性图像处理,也可以认为是一种邻域像素的并行处理。显然,图像数据的邻域处理,正是图像并行处理面临的一个严重问题,同时邻域图像处理的速度也是表征图像处理系统能力的一个重要指标。
值得注意的是,上面介绍的三类处理(点处理、邻域处理、几何变换处理)只是在图像数据处理层中按照算法所涉及像素区域的差别以及像素地址的变化来分类的,数据处理层的计算量较大,是硬件图像处理研究的重点。
4.行顺序性
在图像处理中,就相邻两次处理所涉及的像素地址来分类,有随机点处理和行顺序点处理。对于随机点处理的理解,我们可以光标为例,光标的移动是随机的。在链码结构的边界跟踪中,因为边界点的走向是由原始图像决定的,而且各种边界也不同,其边界走向“随机”,八方向链码的搜索也就具有随机性了。行顺序性是由电视扫描方式引起的,电视扫描是按照从上到下、从左到右的规律进行的,图像数字化也按这一规律进行,第1行第1点、第2点……下一行的第1点、第2点……直至一帧图像数字化完成。视频数据流具有行顺序性,图像的多种数据格式也具有行顺序性,这种行顺序性正是流水线处理的出发点。
5.并行性
一般来说,在数据处理层的各种算法具有高度的并行性。这是二维的并行处理,而对数据按顺序串行执行一系列指令的冯·诺依曼结构是完全不适合的。针对二维数据的并行处理,可以采用不同的并行结构,既可以对邻域的像素作并行处理,也可以在更大的区域作并行的点处理。这些并行处理或采用流水线结构,或采用并行阵列连接,其特点是与像素的局部地址无关。并行处理在数据处理层的处理中可以大展身手,其效果(在算法类别及其处理速度上)是显著的,甚至是激动人心的,各种并行处理的结构和各种硬件处理系统也可在这些指标上一比高低。形成数据处理层处理并行性高的原因是数据的规律性以及图像处理的一致性,具体来说是算法的邻域性和数据的顺序性。算法的邻域性首先是指许多图像处理的算法要求邻域处理,其次是指在点处理中也因为二维图像的特点而可以形成一个由相邻像素组成的区域。数据的顺序性是指图像数据按照一种扫描规律流动,这种规律可以是隔行扫描,也可以是逐行扫描。显然,在数据具有确定的规律性的情况下,就可以有的放矢地形成相应的并行处理结构。在“处理锥”的最底层是对像素本身进行处理,并行性高,而在其他层次的处理,并行性则较低。但是,这并不是说高层的处理不需要并行处理。这里要特别注意一个容易引起混淆的问题,即“处理锥”并不是图像处理的速度、复杂度、运算量的表征,而只是原始图像在各层处理中数据量的变化。在人脸识别的全过程中,如果是在1000万人中进行,这时识别的数据量很大,因而在识别的整个过程中所占用的时间比底层的预处理时间要多得多。在指纹识别中,用一台计算机进行比对,达到每秒上百枚指纹的查询速度,而用硬件并行处理,目前可达到每秒上万枚指纹的比对速度,可见在知识应用层里的并行处理也是意义重大的。
6.实时性
实时性是图像界常说的一个话题,实时采集、实时显示、实时存储、实时处理、实时传输,这些功能都体现了实时性。实时性的一个含义是指某些过程和图像信源在时间上具有一致性,这个图像信源常指视频图像。对于视频图像,我们常说其中的一些信息“稍纵即逝”,从中也可体会到实时性的某些含义。这种实时性的含义在时间上是确切的,可称为时域实时性。实时采集也称为实时冻结,是指按照输入图像的速率进行图像数字化。与实时采集不同的是慢速图像采集,如在512帧的时间里采集一幅图像,慢速图像采集只能用在静态图像的获取上。实时显示是指图像按一定规则(如某一电视制式)的扫描速率进行显示。实时存储,其重要性不仅仅在于实时地把一帧或连续多帧的视频图像存入图像帧存,更重要的是把更多帧的连续视频图像实时存入硬盘。在处理时间上,实时性也是即时处理和事后处理的一个主要划分标准。事后处理不具备实时性,只有即时处理在处理速度上才具有实时性。在图像处理中,常用硬件处理来提高图像处理的速度,硬件处理的水平有高有低,其衡量的主要指标是算法及其速度。实时处理一般是指在电视帧频的速率下完成一幅图像的处理,具体来说,对PAL制的图像,若在40ms的时间里完成了一幅图像的某种处理,则该系统具有这种算法的实时处理功能。这里要注意一个问题,即单一算法的实时性并不等于多种算法的实时性。有时,一个系统可以实时实现一些算法,而在低于实时的时间里实现另一些算法。如美国IMAG公司的“IPWS台式实时图像工作站”(20世纪80年代中期),可以进行实时的图像加减运算,但涉及邻域的操作如Roberts算子,运行时间需要0.6s;3×3卷积,则需要1.35s,显然涉及邻域的处理速度远没有达到实时的水平。超实时处理一般是指在高于电视帧频的速率下完成一幅图像的处理,如在4ms的时间里完成两幅图像的相加运算。当然,对于所有的硬件处理,描述其所达到的水平还是用“算法类别及其处理速度”更为准确。实时传输主要是指视频图像的网络传输,在实现上一般采用图像压缩技术和高速网络通信技术。
综上所述,实时性的主要含义是视频实时。值得指出的是,在实时处理的说法上存在一些混乱的提法,有的系统达不到40ms处理完一幅图像的速度,同时也不具有下面所述的任务实时,却称为实时处理系统,显然是不确切的。
实时性的另一个含义指的是任务实时。这个含义在任务上是确切的,可称为任务实时性。这种任务实时显然是针对实际任务来说的,而且常常是针对生产流水线的在线作业。例如,玻璃瓶在线缺陷检测系统就是一种任务实时系统,在生产流水线中的下一个玻璃瓶到来之前能够完成对当前玻璃瓶的检测,这就达到了任务实时。对于不同的任务,任务实时所需要的处理时间也不尽相同。
任务实时是图像并行处理系统主要追求的指标,而时域实时常常是任务实时的条件,也是一个图像并行处理系统的速度指标。
上面讲的图像处理的6个重要特性是设计图像处理系统的基本出发点,对于设计图像并行处理系统尤为重要。应该说,图像数据和图像处理突出的特点既加大了图像并行处理的难度,也为并行处理提供了广阔的舞台。