本文根据图像处理的全流程,对图像分析方法进行总结,包括图像预处理、图像分析、图像处理等。
图像预处理是通过像素点的变换,增强或减弱图像的部分特征,以更好的进行下一步处理,预处理方法的得当与否,决定了后续工作量的大小甚至是结果的好坏。预处理包括基本的变换与图像增强。
图像变换包括空域内变换、空域与频域变换、频域内变换。
平移、镜像、旋转、缩放、错切、转置等;其原理是确定变换前与变换后图像中点与点之间的映射关系,明确映射关系后,变换在具体像素点处理中,即为像素点的矩阵变换。
在变换过程中,可能因为原图或者处理后的图像存在像素点增多、减少等现象,导致图像的视觉效果变差,因此要运用插值运算对图像点进行赋值。插值运算方法包括:最邻近插值、双线性插值、双三次插值。
在空域内,图像点像素矩阵庞大,数据处理难度也随之增大,因此可以将图像放入频域内进行处理,空域转频域方法有:傅里叶变换、余弦变换、K-L变换、Radon变换、小波变换。
描绘图像、滤波、压缩及运算;傅里叶变换在一定程度上满足描绘子的几何不变性,可以保证识别结果的稳定性;余弦变换可以进行有损数据压缩,将大多数的能量都集中在离散余弦变换后的低频部分,压缩编码效果较好;K-L变换常作为一种特征提取方法,从一组特征中计算出一组按重要性从大到小排列的新特征,是原有特征的线性组合,并且相互之间是不相关的,实现了数据的降维。
在空域中,由于图像像素矩阵庞大,如RGB空间,则具有三层通道,在图强增强过程中,不利于处理,因此,将图像灰度化是常用的手段。灰度化是将图像信息,利用图像的亮度值表示出来,从纯白到纯黑,划分无数的灰度级。
点运算算法:线性灰度级变换、非线性灰度级变换、直方图变换。目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。
领域算法:平滑、锐化。抑制或消除图像中存在的噪声的方法称为图像平滑滤波,方法有均值滤波、高斯滤波、双边滤波、中值滤波;图像锐化的目的是加强图像中景物的边缘和轮廓,突出图像中的细节或者增强被模糊了的细节,当利用不同的像素、不同的加权进行微分运算时,得到不同的微分算子,如Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、LoG算子、Canny算子等。
频域滤波的基础是傅里叶变换和卷积定理,即G(u,v)=H(u,v)*F(u,v)(G为增强后的图像,H为传递函数、F为待增强的图像)。
低通滤波:通过滤波器函数衰减高频信息而使低频信息畅通无阻的过程称为低通滤波。低通滤波抑制了反映灰度聚变边界特征的高频信息以及包括在高频中国的孤立点噪声,起到平滑图像、去噪声的增强作用。
高通滤波:在频域中采用高通滤波的方法进行处理,就可以让高频分量顺利通过,而低频分量则受到抑制,从而增强高频的成分,使图像的边缘或线条变得清晰,图像得到锐化。
基于小波变换的图像增强:基于小波变换的图像增强需要首先对图像进行二维小波变换,根据不同的处理目的修改变换系数,之后进行反变换重构图像。对图像进行多层小波变换分解,对高频进行置零或衰减,实现低频滤波效果;对低频数据置零或衰减,实现高通滤波效果。
自然景物图像f(x,y)可以表示为光源照度场i和场景中物体反射光的反射场r的乘积,称为图像的照度-反射模型:f=i*r。基于照度-反射模型的处理算法,通常会借助于对数变换,将i、r两个相乘分量变为两个相加分量,可简化计算,而对数变换接近人眼亮度感知能力,能够增强图像的视觉效果。
由图像的视觉外形定义的特征称为自然特征,人工特征则是由对图像的特定操作得到的。自然特征包括像素区域的亮度和纹理区域的灰度。而像素的幅度直方图及空间频谱则属于人工特征。对图像的描绘可以从几何性质、形状、大小、相互关系等多方面进行。
距离:欧式距离、街区距离、棋盘距离、明氏距离、马氏距离。
位置:区域在图像中的位置用区域面积的中心点来表示。二值图像质量分布均匀,质心和形心重合。
方向:将最小二阶矩轴定义为较长物体的方向
尺寸、周长、面积
孔数和欧拉数:孔数是指不包含感兴趣像素的被封闭边缘包围的区域;图像中的对象数减去这些对象中的孔数,即是欧拉数。
凸包:点集的凸包是指一个最小凸多边形,满足点集中或在多边形边上或者在其内。
矩形度:矩形度就是物体呈现矩形的程度,通常用物体对其外接矩形的充满程度来衡量。
圆形度:可以采用圆度、边界能量、圆形性及内切圆、外接圆半径比等特征描述。
中轴变换:中轴也称对称轴或骨架,既能压缩图像信息,又能完全保留目标的形状信息,且由中轴及其他数值还可以恢复区域,是一种重要的形状特征。
边界表示关注的是图像中区域的形状特征,常用的方法有链码、边界分段、多边形近似、标记图。
链码:用于表示由顺次连接的具有指定长度和方向的直线段组成的边界线;
边界分段:是将边界分成若干段,分别对每一段进行表示。特点是降低边界复杂程度,简化表示过程特别适用于边界具有多个凹点的情况;
多边形的边可用线性关系表示。对一条闭合曲线,当多边形的边数等于边界上的点数时,这种近似是准确的,此时,每对相邻点定义多边形的一条边。多边形近似问题常用聚合技术和拆分技术来实现;
标记图是一种用一维函数表达二维边界的方法,以达到降低表达难度的目的。它可以用多种方法生成。最简单的方法是把从重心到边界的距离作为角度的函数来标记。该方法不受边界平移的影响,但是当边界旋转或发生尺度变换时,标记将会发生改变。可以用归一化方法进行解决。
图像矩通常用来描述分割后的图像对象。可以通过图像的矩来获得图像的部分性质,包括面积(或总体亮度),以及有关几何中心和方向的信息 。
矩不具有几何变换不变性,往往采用中心矩以及归一化的中心距;
中心矩具有平移不变性,归一化后的中心矩具有比例变换不变性。
纹理反映一个区域中像素灰度级空间分布的属性。类似于砖墙、布匹、草地等具有重复性结构的图像称为纹理图像。
灰度共生矩阵法是对图像所有像素进行统计调查,以便描述其灰度分布的一种方法;
灰度差分统计法是考查相距微小距离的两点的灰度,计算灰度差考查概率;
行程长度统计法是指在同一方向上具有相同灰度值或灰度差别在某个范围内的像素个数,通过统计行程长度来体现纹理特性;
LBP算子是一种用来描述图像局部纹理特征的算子,具有旋转不变性和灰度不变性等显著的优点。
图像特征提取指对图像中的信息进行处理和分析,将其中不易受随机因素干扰的、具有标志性的信息作为该图像的特征信息提取出来。常见的特征提取算法有:SIFT、SURF、BRISK、FREAK和MSER等。
SIFT算法:利用高斯金字塔和高斯核滤波差分提取局部特征,在尺度空间寻找极值点,提取位置、尺度和旋转不变量;
SURF算法:在生成特征矢量时,利用积分图,使用快速Hessian检测子来判断尺度空间提取的关键点是否为极值点;确定每个极值点的主方向,沿主方向构造一个窗口区域,在窗口内提取特征向量,用该向量描述关键点;相比SIFT算法,SURF算法保持了尺度不变和旋转不变的特性,速度快,鲁棒性好;
BRISK算法:通过构造图像金字塔,在尺度空间利用FAST-16进行特征点检测,以满足尺度不变性;
FREAK算法:也是一种二进制的特征点描述算子,可通过模仿人眼视觉系统完成;
MESR算法:是一种仿射不变区域特征提取算法,通过寻找最大稳定极值区域作为区域特征描述。
还有HOG、ORB、HAAR、Deep Learning(神经网络特征提取)等其他算法,这里不再赘述。
图像分割是将图像划分成或分隔成具有相似特征的区域。图像分割的最基本特征是:单色照片图像的亮度幅度和彩色照片的彩色分量。
阈值分割是根据图像灰度值的分布特性确定某个阈值来进行图像分割的一类方法。
基于直方图的阈值选择:若图像的灰度直方图为双峰分布,表明图像的内容大致分为两个部分,其灰度分别 为灰度分布的两个山峰附近对应的值,选择阈值为两峰间的谷底点对应的灰度值,把图像分割成两部分;
基于模式分类思路的阈值选择:认为像素值为待分类的数据,寻找合适的阈值,把数据分为不同类别,从而实现图像分割。经典算法有:OTSU最大类间方差法、最大熵法、最小误差法;
基于迭代运算的阈值选择:先选择一个阈值作为初始值,然后进行迭代运算,按照某种策略不断改进阈值,直到满足给定的准则为止;
基于模糊理论的阈值选择:将图像f映射到一个区间的模糊集表示点具有某种模糊属性的隶属度,当隶属度为0或1时,是最清晰的状态;而取值是0.5时,则是最模糊的状态。其基本思想是确定一个目标函数,当目标函数取最优时对应的阈值为最佳阈值。
Haralick和Helly采用数据聚类方法所做的图像分割算法是:将图像细分为若干区域,每一个区域中都包含有同类的特征。虽然聚类分割的概念相对简单,但是其计算量却是非常巨大的。
Coleman和Andrews提出一种相对有效的图像分割聚类算法:
(1)特征计算阶段,在尺寸为1、3、7和15像素的正方形窗口内采用模-12度量;
(2)聚类阶段,确定聚类的最佳数据及其每一个聚类的特征空间中心,在分割器中,一个给定的特征向量被指派给离它最近的聚类中心。
基于聚类实现图像分割有如下两个需要关注的问题:
一是,如何把像素表示成特征空间中的点。一般是由灰度值、RGB值及由此推出的颜色特征、纹理度量等组成特征向量;
二是,聚类方法。其中,K均值、模糊C均值、EM和分层聚类方法是常用的聚类算法。
阈值和聚类方法是基于图像点的特征,Muerle和Allen首次提出了逻辑扩展方法,该方法是利用图像的空间特性来进行分割。
区域增长法:区域增长是一个对图像分割方法的简单近似,具有相似幅度的领域像素被集中到一起,形成一个分割区域。第一步是,先对每个需要分割的区域找一个种子像素作为生长的起点,第二步是,将种子像素周围领域中与种子像素有相同或相似性质的像素合并到种子像素所在的区域,第三步是,将这些新像素当做新的种子像素继续进行上面的过程,直到再没有满足条件的像素可被包括进来;
区域合并法:第一步是,图像的初始区域分割,极端情况下可以认为每个像素均为一个小区域,第二步是,确定相似性准则,可以基于相邻区域的灰度、颜色、纹理等参量来比较,若相邻区域内灰度分布均匀,可以比较区域间的灰度均值,若灰度均值差小于一定的阈值,则认为两个区域相似可以合并,第三步是,判断图像中的相邻区域是否满足相似性准则,相似则合并,不断重复这一步骤,直到没有区域可以合并为止;
区域分裂法:用于检验一个区域是否具有一致性,若不具有,则分裂为几个小区域;再检测小区域的一致性,若不具有,则进一步分裂;重复这个过程直到每个区域都具有一致性;分裂的过程可以采用四叉树进行;
区域分裂合并法:第一步是,将原图分为4个相等的子块,计算子块区域是否具有一致性,第二步是,判断是否需要分裂,如果子块不具有一致性,则分裂该块;第三步是,判断是否需要合并,对不需要分裂的子块进行比较,对具有相似性的子块合并;第四步是,重复上述过程,直到不再需要分裂或合并;
分水岭分割:是基于地形学概念的分割方法,其实现可采用数学形态学的方法,应用较为广泛。在图像梯度图上进行阈值选择时,经常遇到的问题时如何恰当的选择阈值,阈值太高,丢失信息多,阈值太低,产生虚假边缘,分水岭分割可以有效避免这个问题。在灰度图像中找出不同的吸水盆地和分水岭,由这些不同的吸水盆地和分水岭组成的区域即为我们要分割的目标。
通过检测区域的边界轮廓来实现图像分割的方法,一般来说有3个步骤:边界检测、边界改良、边界跟踪。实现边界分割,最主要的是确定图像的闭合轮廓,如果能预先知道所拟合的区域形状,那么可以直接对该轮廓进行分割。确定区域轮廓的方法有:曲线拟合边缘连接、启发式边缘连接、霍夫变换边缘连接、弯曲边界连接。
纹理对于图像分割是一个颇有价值的特征。纹理图像的分割,分两步走:纹理图像特征的提取和纹理的分类组成;
纹理特征提取方法有:灰度共生矩阵、基于Gabor滤波的纹理特征提取、基于小波变换的纹理特征提取;
纹理分类的方法有:模糊C均值、Hopfield神经网络、均值移动算法。
2.3.6运动分割
静态图像是空间位置的函数,它与时间变化无关,仅仅单幅静止图像无法描述物体的运动。运动目标分割的研究对象通常是图像序列,图像序列的每一幅称为每一帧。具体分割方法有背景差值法、图像差分法。
参考资料:
1、百度百科;
2、William K.Pratt著、张引、李虹等译.数字图像处理(原书第4版)[M]. 机械工业出版社, 2010;
3、蔡利梅. MATLAB图像处理理论、算法与实例分析[M]. 清华大学出版社, 2020。