采用图像分割方法进行木材表面缺陷的定量检测
2014-11-11任重昕毕剑华仉俊峰
任重昕,毕剑华,谢 琳,仉俊峰
(1.东北林业大学 土木工程学院,黑龙江 哈尔滨 150040;2.东北林业大学 信息与计算机工程学院,黑龙江 哈尔滨 150040)
1 引 言
近些年来,随着人们对于生活质量的要求不断提高,对木制品材料表面自然属性的苛求,传统的人工木材切割和木材烘干等检测法已无法满足充分利用森林资源,高精度、批量生产木材制品的需要,所以应用数字化检测代替人工定量处理成为了当今人们关注的热点问题[1]。木材料缺陷的种类繁多,树木的遗传因子、立地条件、外界生物危害以及不良人机处理都能对木材质量造成不同程度影响,使其价值与使用效果降低。常见缺陷包括节子、色泽变化、木材腐烂、虫蛀孔、裂纹等缺陷。为此,很多的研究者使用了各种传感器例如可见光成像、核磁共振成像、X射线成像、微波探测等采集木材表面缺陷特征进行处理,根据缺陷的类别、大小进行木材品质的分级处理[2-4]。另外,多传感器数据融合技术也被采用,进一步提高了木材缺陷处理的精度。例如,Conners等使用了彩色摄像机、激光测距仪和X射线扫描仪采集木材表面缺陷特征[5]。总结检测缺陷木材图像的方法,Kline等指出,在整体图像分析过程的关键环节仍然是木材表面图像缺陷分割阶段进行的算法研究[6]。
本文将对基于Isodata聚类迭代法、Otsu阈值算法、最大熵法和边缘检测几种不同的分割算法实现木材表面缺陷检测的实用性进行进一步的探讨。
2 图像的预处理
将木材缺陷图像预处理的主要目的是消除图像中无关的信息,恢复有用的真实信息并增强其可检测性,最大限度地简化数据,从而改进缺陷特征抽取、图像分割、匹配和识别的可靠性。因为我们最终需要提取的是木材缺陷的特征,也就是提取颜色的突变特征,并不需要采集缺陷部分的具体颜色,所以可以先把彩色(RGB)图像转换为灰度图像,这样既可以减少计算量,也可以降低后续特征提取的难度。
对彩色图进行灰度化比较常用3种方法分别是:最大值法、平均值法和加权平均值法,通过实验数据对比得出加权平均值法对木材缺陷图像处理效果最为突出,效果如图1,即选定使用加权平均值法对图像做预处理,其原理为:根据3个分量的重要性及其它指标,将3个分量以不同的权值进行加权平均运算。由于人眼对绿色的敏感度高,对蓝色的敏感度低[4],故按照不同的权值对RGB 3个分量进行加权平均运算能得到比较合理的灰度图像(当WR>WG>WB时得到的灰度图像最为合理)即:
其中:WR、WG、WB分别是对应像素点 R、G、B的权值,显然,当WR、WG、WB不同的值时,得到的灰度图像将不同。
图1 木材节子图像处理结果对比Fig.1 Comparative results of wood burl image processing
通过对比观察图1木材节子的3种灰度转换处理结果,可发现以加权法、平均值法和最大值法3种方法得到的处理结果并不完全相同。有实验和理论证明,当WR=0.3,WG=0.59,WB=0.11时,能得到最合理的灰度图像[5]。图2为木材缺陷图像灰度化后的木材节子图像及其灰度直方图分布状况,仍然表现为有一定程度的具有倾斜性分布态,可以为图像分割提供可追溯的依据。
图2 木材节子灰度图像及其灰度直方图Fig.2 Gray image of wood burl and its gray histogram
3 几种典型图像分割方法
图像分割的主要目的是把待识别的目标从原始图像中分离出来。它是依据一定的阈值将目标从背景中分割出来的过程,它包括阈值计算和目标分割2个步骤[7]。利用灰度图像的阈值分割方法其实就是以图像的整体信息(例如该幅图像的灰度值分布直方图)或局部信息(共生矩阵等)为参考来选择一个或几个阈值,称为单阈值或者多阈值分割[6],从而把该图像分割成目标区域和背景区域,或者多个目标区域与背景区域。基于阈值的分割方法是通过选取或设定的不同的特征阈值,把图像像素点的集合分类为若干类,常用的特征有的直接来自原始图像的灰度或彩色特征,还有些来自于由原始灰度或彩色值变换得到的特征[8]。实际上,图像的底层基本处理例如图像分割是比较困难的,因为经常存在着一些“过分割”现象[9]。本次实验选取了Otsu最大方差阈值分割法、基于Isodata聚类迭代的阈值分割、最大熵法、Sobel算子边缘检测法这4种方法并对比分析其最终分割效果。
3.1 Otsu最大方差阈值分割
Otsu法也被称作最大方差阈值分割法,它通过全局化计算类间最大方差并自动确定阈值。它是在灰度直方图的基础上用最小二乘法原理推导出来的,具有统计意义上的最佳分割效果,其模式可分性最好。其基本思想是设某一个阈值,并参照该值将灰度图分成目标和背景两个类别,在这两类的类内方差最小和类间方差最大的时候,我们能够得出最优的二值化阈值。
Otsu可以自动获取阈值进行分割,且最大类间方差方法具有算法简单,计算精确等优点。所以利用这种方法可以在保留原图细节的同时,完整地将目标从图像背景中提取出来,同时避免了一些其他的图像分割算法未充分考虑图像像素的整体分布和灰度特征的情况。
3.2 基于Isodata聚类迭代的阈值分割
Isodata算法是K均值算法的推广,它主要是应用于遥感图像的非监督学习的动态聚类算法。该算法可以人机交互,需要预先设定分类参数。Isodata算法的主要特点是可以自动改变分类类别数目。算法对上一次迭代的聚类结果进行进一步统计分析,根据统计参数对已有类别进行消除、分裂或者合并处理,并继续进行下一次新的迭代过程,直至超过最大迭代次数或者满足分类参数(阈值),完成分类过程[10]。Isodata迭代算法的优点是计算简单、运算效率高、速度快,所得的阈值分割的图像效果良好,适用于识别致密聚类。但当某一类别样本数较少或者两类别样本聚类中心之间距离太小时,需要指定每一类中最少样本数和两类聚类中心之间的最小距离参数用以避免发生合并。而当某一类的样本向量的某分量出现类内方差过大导致类分裂时,则适合将其分裂成两类,使类内方差比较合理。为此,需要指定类内样本某个分量方差的参数阈值。但是,这种方法也有一定局限性,它只是考虑像素本身的灰度值,一般不考虑空间特征,因而对噪声很敏感。
在应用该算法实现图像分割时,初始开关函数会首先将输入图像分为前景和背景,在第一次处理结束后,平均两个积分器的值确定一个阈值。用此阈值作为控制开关再次输入图像将其分为前景和背景,以此方法反复迭代,直至开关函数保持近似不变时,即能得到前景和背景的最终分割结果。Isodata聚类算法使用了最小聚类数目以及最大聚类数目的概念。此外,分裂的原则可以通过标准差(standard deviation)是否大于指定标准差的α倍来衡量,或者通过计算类内的平均距离来衡量,比如类内距离大于了平均距离的α倍,这样就分割[11]。
综合看来,Isodata聚类迭代方法对于直方图双峰明显,谷底较深的图像有较好较快的处理能力。但对于直方图双峰不明显,或图像目标和背景比例差异悬殊的图像,分割效果较差。
3.3 最大熵法
图像熵是用于表征图像的灰度级分布及图像的细节等信息量的函数。采用基于最大熵的阈值分割法可以利用熵来度量图像灰度值分布均匀性。基于最大熵原则选择图像阈值的方法目的是通过观察图像的灰度直方图来将其分割成不同区域,使得各个区域的总熵最大。从信息理论的角度来看,就是选择最合理的图像阈值,从而使图像中信息量能够被我们最大限度的获取[12]。
3.4 基于Sobel算子的边缘检测法
Sobel operator是边缘检测的经典算法之一,它是用来运算图像亮度函数的梯度之近似值的一种离散性差分算子。它以待增强图像的任意像素为中心,截取一个3×3的邻域窗口,如图3所示。该算子是由两个卷积核g1(x,y)与g2(x,y)对原图像f(x,y)进行卷积运算而得到的。其数学表达式为:
图3 Sobel算子图像窗口Fig.3 Sobel operator image window
由于Sobel算子是滤波算子的形式,因此,Sobel算子并没有将图像的主体与背景严格地区分开来,边缘检测得到的结果只是一些基本的边缘元素,很容易受到噪声等干扰因素的影响。此外,很多情况下检测的结果都是一些离散的不连通的像素点,无法获得具有实际意义的物体边缘轮廓,所以使用过程中有时并不能提取出满意的图像外轮廓。
4 实验结果分析
4.1 木材缺陷图像的处理过程
简洁的编程语言可以方便直观地理解和管理程序,基于阈值化图像分割方法的木材料缺陷的定量检测采用了Matlab软件作为图像处理的主要工具,以便于可以进一步增加修改程序的其他功能。图像分割程序流程图如图4。
4.2 图像分割系统的设计
本系统在 Matlab GUI编程框架完成设计,不仅具有数值运算的基础功能,在图像处理方面也是极其强大的,并且操作方法简单易懂,可以用许多结构化的控制语句来进行面向对象编程[13]。Matlab有很强的图形功能,可以将文本数据轻而易举地与图像中的像素点建立联系,从而实现数据的视觉形象立体化,提供更加友好的交互方式。本程序运行界面如图5所示。
图5 程序运行主界面Fig.5 Main interface of the running program
4.3 木材缺陷检测实验结果和分析
本次实验样本选取了1000幅分别带有死节、活节、掌状节、腐朽节、条形节、虫眼、双心、裂节和径裂这9种典型木材缺陷图像作为原始输入图像,且均为.jpg格式。将选取的实验图像输入到木材缺陷定量检测系统后输出运行结果,图6~图9为部分对比图。
图6 腐朽节图象分割后的对比图Fig.6 Contrast figure of the rotten burl after image segmentation
图7 条形节图象分割后的对比图Fig.7 Contrast figure of the strip-type burl after image segmentation
图8 虫眼图像分割后的对比图Fig.8 Contrast figure of the wormhole image after image segmentation
图9 双心图像分割后的对比图Fig.9 Contrast figure of the double heart image after image segmentation
表1 各图像分割阈值Tab.1 Threshold values after image segmentation
同时,我们也得到各图像的分割阈值,如表1所示。其中由于Sobel边缘检测法的阈值是预先设定的,通过实验比较将其设定为135。
对比分析分割效果来看,总的来说最大熵方法分割效果明显清晰,Otsu和Isodata聚类迭代法所得的结果图差别并不大且均可以大致分割出轮廓,边缘检测法的分割效果不是特别理想。针对不同的缺陷,各个分割方法也有不同分割效果。Otsu和Isodata聚类迭代法对条形节的分割效果较好,如图7(a)、(b)。最大熵法对腐朽节和虫眼的分割效果表现显著,如图6(d)和图8(d)。Sobel边缘检测法分割双心图像的效果相对突出,如图9(e)。
通过观察对比实验结果:我们发现这几种方法的优点在于实现简单,但是这只是针对少数不同类别物体彼此灰度相差很大时,才能进行有效的分割。当图像中不存在明显灰度差异或灰度值范围有较大重叠,难以得到准确的分割结果。其次,仅考虑灰度信息而不考虑图像空间信息,因此算法对噪声的灰度不均匀性敏感。最后,分割后得到的图像不能很好的显示图像的细节。同时,分割结果存在过分割现象,这是因为图像中存在很多的极小值点,导致分割结果淹没在大量的不相关结果中,使分割结果失真。另外,图像中的噪声、物体表面细微的灰度变化,都会产生过度分割的现象。
4.4 图像分割运行时间的结果和分析
整理各像素图像程序运行的平均时间如表2,通过纵向对比分析,可以得到分割速度随着像素数目的减小而增大,进而想要做到实时图像处理与图像采集的像素数量大小有着十分紧密的关联。
表2 各尺寸图像程序运行平均时间Tab.2 Average program running time of images of each size (s)
由表2中数据可知,Otsu最大方差法的时间tOtsu远大于其他分割方法的时间。一个好的缺陷图像分割算法,不仅能够正确分割缺陷,而且也要具有一定的分割速度,这样才能整体提高分割效率。显然,Otsu最大方差法即使具有统计意义上的最佳分割阈值,分离性最大的特点,但分割时间过长却也不适合做实时图像处理。同时由表2可见,Isodata聚类算法在所有算法里的分割时间tIsodata为最小,效率最高,且分割效果良好,得出Isodata聚类算法可以作为木材缺陷图像处理的首选分割方法。
5 结 论
本文分别从木材缺陷特征的分割效果和分割速率对分割算法进行实验对比分析,得到可以针对缺陷木材的特征选择分割方法,同时分割效率也是不容小觑的,它是高效检测木材缺陷图像的基础。总的看来,基于Isodata的聚类分割算法速度快,分割效果较好,是一种较高效的木材缺陷分割方法。
[1]Szymani R,Mcdonald K A.Defect detection in lumber:state of the art[J].Forest Products Journal,1981,31(11):34-43.
[2]Longuetaud F,Mothe F,Kerautret B,et al.Automatic knot detection and measurements from X-ray CT images of wood:a review and validation of an improved algorithm on softwood samples[J].Computers and Electronics in Agriculture,2012,85(2):77-89.
[3]Portala J F,Ciccotelli J.Nondestructive testing techniques applied to wood scanning[J].Measurement,1992,2(3/4):299-307.
[4]Radovan S,George P,Panagiotis M,et al.An approach for automated inspection of wood boards[C].Proc.IEEE ICIP,2001,2:798-801.
[5]Conners R W,Kline D E,Araman P A,et al.Machine vision technology in the forest products industry:a multiple sensor approach[J].IEEE Computer,1997,30(7):38-45.
[6]Kline D E,Surak C,Araman P A.Automated hardwood lumber grading utilizing a multiple sensor machine vision technology[J].Computers and Electronics in Agriculture,2003,41(2):139-155.
[7]陈恺,陈芳,戴敏,等.基于萤火虫算法的二维熵多阈值快速图像分割 [J].光学精密工程,2014,22(2):517-523.Chen K,Chen F,Dai M,et al.Fast image segmentation with multilevel threshold of two-dimensional entropy based on firefly algorithm [J].Optics and Precision Engineering,2014,22(2):517-523.(in Chinese)
[8]Philipp I,Rath T.Improving plant discrimination in image processing by use of different color space transformations[J].Computers and Electronics in Agriculture,2002,35(1):1-15.
[9]宋建中.图像处理智能化的发展趋势[J].中国光学,2011,5(4):431-440.Song J Z.Development trend of image processing intelligence[J].Chinese Optics,2011,5(4),431-440.(in Chinese)
[10]洪军.模糊ISODATA聚类分析方法的设计[J].计算机与数字工程,2009,37(2):19-20.Hong J.Design of a Fuzzy ISODATA clustering analyzing algorithm [J].Computer Digital Engineering,2009,37(2):19-20.(in Chinese)
[11]Tilton J C.Analysis of hierarchically related image segmentations[C].Proc.2003 IEEE Workshop on Advances in Techniques for Analysis of Remotely Sensed Data,2003:60-69.
[12]Wu W R,Wei S C.Rotation and gray-scale transform-invariant texture classificationusing spiral re-sampling,subband decomposition and Hidden Markov Model[J].IEEE Trans on Image Processing,1996,5(12):1423-1434.
[13]高成.Matlab图像处理与应用[M].北京:国防工业出版社,2007.Gao C.Matlab Image Processing and Application [M].Beijing:National Defence Industry Press,2007.(in Chinese)