基于颜色曲线分析的快速焊缝条纹提取方法
2014-04-03毛金莲
毛金莲
MAO Jinlian
浙江商业职业技术学院 信息技术学院,杭州 310053
Institute of Information Technology,Zhejiang Business College,Hangzhou 310053,China
1 引言
管道作为一种重要的物质传输工具,在现代工农业和人们的日常生活中,都起到至关重要的作用。由于在实际工程建设中,管道多是采用分段焊接的方式,在户外直接完成;因此,为了保障管道运输的安全可靠,常常需要对焊缝条纹进行定期检测和维护。近年来,随着计算机视觉和自动化技术的飞速发展,采用机器人对包含焊缝管道区域拍摄图像,然后运用计算机视觉技术对焊缝条纹进行自动识别、定位、提取和检测的方法被大量使用,极大地提高了工作效率和识别的准确性[1-3]。
然而,与日常图像相比较,这类拍摄到的管道焊缝检测图像,具有亮度不均匀,焊缝边缘结构复杂,图像噪声较多的特点(如图1所示),给后续的焊缝条纹识别、定位与分割带来了极大的挑战。与此同时,在实际工程应用中,为了尽量提高机械自动化检测的准确率,需要预先对包含焊缝条纹的检测图像进行快速处理,从中准确地提取出焊缝条纹,整个处理过程需要尽量达到实时性的要求[2-3]。
图1 彩色焊缝条纹图像示例
针对上述问题和要求,本文根据管道焊缝条纹图像的特点,提出一种基于颜色曲线分析的快速焊缝条纹提取方法,通过将原始的RGB颜色空间转换到YUV颜色空间,在V通道上进行颜色曲线统计分析,可以快速得到一个最佳的二值化阈值,再结合形态学去噪、填充和合并离散块操作处理,得到焊缝条纹分割提取模板,最后依据该模板,可以实现快速、准确的彩色图像焊缝条纹提取。
2 相关工作
与本文研究内容关系最密切的工作主要是:图像分割。因此,在本章,先对这方面的研究情况做简要回顾。
图像分割是计算机视觉研究中一个非常重要的问题,在传统数字图像处理中占据重要地位。若将一幅图像看成是由前景区域和背景区域叠加构成的,那么图像分割可以解释为将用户所需要的前景区域从原始图像中提取出来的过程。按照所处理图像类型的不同,可以大致划分为彩色图像分割和灰度图像分割。虽然彩色图像与灰度图像在数据表达上存在差异:前者是多通道(分量)的图像,而后者是单通道的图像,但是从图像分割的基本原理来说,这两类图像的分割方法是非常接近的。通常都是利用图像像素之间的相似性和像素点的空间结构关联性,对目标区域进行分割提取[4-6]。
就具体方法而言,常用的图像分割方法包括如下几类:阈值方法[7-8]、基于边缘的方法[9]、基于区域的分割方法[10-12]和结合特定理论工具的方法(如基于数学形态学的分割方法[9,13-15]与基于粗糙集技术的图像分割方法[10],基于谱图理论和最大流的分割方法[16-17]等)。现实生活中的图像,包含的内容极其复杂多样,图像的前景区域与背景区域有时又具有一定的模糊性和可变性,使得现有的图像分割算法,大多只是针对某些类型的图像分割有效,而对其他类型的图像则不尽如人意。因而,实际应用中不仅需要选择合适的分割方法,还需要根据应用背景对方法进行特定优化,比如使用形态学改进边缘检测效果[9,14]和使用人工交互处理[11]来提高图像分割准确率。
其中,使用形态学与阈值方法相结合的方法,因计算简单、快速、易于实现,在许多场合都被证明是一种行之有效的图像分割方法。在生物组织的纹理分割[13]和小鼠舌头切片图像的分割[14]应用中都验证了该方法所具有的优势。本文所提出基于颜色曲线分析的快速焊缝条纹提取方法,本质上可以看成是一种改进的形态学与阈值方法相结合的方法。
而在特定的焊缝条纹提取研究工作中,大多数研究都是从数字图像处理的角度,对包含焊缝条纹的图像进行分割处理,比较少有研究者关注到图像的颜色曲线,从分析颜色曲线变化的角度来实现快速的焊缝条纹图像分割。
金忠[15]等人在分析X射线数字图像的特点后,提出利用多尺度形态学梯度算子来获取梯度图像,结合迭代阈值分割算法,实现图像的分割。刘国平[18]等人则针对结构光下焊缝图像的特点,提出多种快速模板匹配的算法,并实验验证了所提方法的可行性。丁度坤[2]等人对焊缝识别技术进行了深入研究,提出采用最小二乘法建立焊缝的轨迹方程,提高焊缝跟踪定位精度。基于跟踪的结果,可以用于指导彩色焊缝条纹的提取。
与现有其他工作不同,本文所提方法通过将原始RGB颜色空间图像转换到YUV颜色空间,对YUV颜色空间中的V通道颜色曲线的分析,快速得到最佳的二值化阈值。利用该阈值对V通道图像进行二值化,经形态学去噪、填充、膨胀和合并离散块处理,得到图像分割模板,最后根据该模板,可以实现快速彩色图像焊缝条纹提取。
3 基于颜色曲线分析的快速焊缝条纹提取方法
彩色图像提供了比灰度图像更加丰富的信息,对于客观世界的描述能力也更加强。随着近年来计算机处理能力的飞速提升,对彩色图像的处理变得越来越容易。然而,由于不同的颜色空间下,图像的各个颜色通道所表达的内容是不一样的,对于图像的分割也会随之产生不一样的效果,因此在彩色图像分割时,选择合适的颜色空间非常重要。
3.1 颜色空间选择
常用的颜色空间包括RGB,归一化RGB,YUV,HSV,HIS等。其中,RGB颜色空间中三个通道依次对应与图像的R、G、B三个颜色分量,与人们日常中对颜色的直接定义比较接近,因而使用得比较广泛。然而,RGB颜色空间具有三个分量高度相关并且颜色空间不均匀的特点。图像的亮度变化时,RGB空间所对应的三个分量会随之发生变化,因而不稳当。虽然归一化的RGB颜色空间降低了亮度对图像色彩的影响,但是在低亮度情况下对噪声特别敏感[9]。YUV是线性颜色空间,将亮度和色度分离开,部分地消除了RGB颜色空间的相关性问题,同时具有计算量小,易于与RGB颜色空间进行转换(转换公式(1)和(2)),在图像边缘检测中应用得非常普遍。在YUV颜色空间中,Y分量决定了颜色的明亮度,U和V决定颜色本身。此外,HSV和HSI是非线性的颜色空间,消除了分量之间的相关性,各个分量也具有很直观的含义,常用于图像处理。
图2和图3显示的是本文实验所要处理的一幅彩色图像及其在YUV和HSV颜色空间下各个分量图。对比图2和图3,可以看出来,在HSV颜色空间上,S分量虽然很好地保留和突出了焊缝条纹,但是其中还是包含了较多的杂质点,并不适合用来做后续的处理。相对而言,在YUV颜色空间中的V分量图上,不仅很好地保留了焊缝条纹区域,同时焊缝条纹与周围杂质的区分性也非常明显,适合用于后续的处理。因此,在本文中,选择在YUV颜色空间的V通道上对图像进行后续处理。
图2 原始图像及其在HSV颜色空间上的三个分量
图3 原始图像及其在YUV颜色空间上的三个分量
3.2 颜色曲线分析
承前所述,在图像分割方法中,包括了阈值方法、基于边缘的方法、基于区域的分割方法和结合特定理论工具的方法。基于边缘的方法严重依赖于边缘检测算子,通常对于边缘清晰的图像效果比较合适,但是对于本文所需要处理的图像(如图1,2所示),边缘并不清晰,同时噪声非常严重,因此并不合适。基于区域分割的方法,根据图像的空间局部特性(如灰度、纹理和颜色)来划分区域。该方法能准确定位图像的边缘,计算熵,相对来说也比较简单,但是该方法对于噪声比较敏感,并且容易产生过分割现象,也容易丢失低对比度图像的重要轮廓。结合特点理论工具的方法,往往需要借助一定的数学理论模型,计算复杂度也比较高,并且在实现上也存在一定的难度。对比而言,阈值方法是最简单和实用的一种分割方法,适合在前景图像与背景图像存在明显的差异的情况下使用。直观上来说,就是在图像的直方图上体现为“双峰”特性。
本文统计V分量图像,绘制直方图如图4所示。从图4可以看出来,虽然V分量图的直方图并不是呈现出简单的“双峰”特性,而是“多峰”特性,但是不同峰之间的间隙非常明显,也就是说可以利用阈值方法,实现对不同峰的划分。因像素值小于110或大于160的像素点都非常少,因此x轴区间设置为110~160。
图4 V分量图的直方图
为了确定一个合适的二值化阈值(即分割时所需要平均像素值与偏差),本文对V分量图像的颜色曲线进行分析。在实验中,首先将所有的样本图像都统一缩放到800×600的尺寸大小。图5显示的是图3(d)V分量图像上的第400行位置600个像素点的像素值变化曲线和列方向平均的像素值变化曲线。从图5(a)中可以看出,对于单行的像素点,像素值变化存在一定的波动,但是在进行整幅图像的平均后,像素值的变化变得稳定(如图5(b))。易发现图5(b)的低谷位置所对应的正是原始图像中焊缝条纹所在的位置,低谷附近的小段曲线可以用来确定二值化阈值。
图5 V分量图像的颜色曲线图
图6 焊缝条纹边缘搜索示意图
为了自动获取这小段曲线的起始列号,对图5(b)做进一步分析,得到图6。以图6(a)中像素值最小的列号为中心(对应于图6(a)中红色五角星标记位置),根据实际焊缝宽度,设置一定宽度的左右搜索空间(实验中设置为30个像素,对应图6(a)中红色星号标记位置)。对这个搜索区间内的每一点,以其自身为中心,左右各3个像素,总共7个像素点,计算直线拟合方程,得到该点上拟合直线的斜率值。根据每个搜索点所对应的斜率值,可以得到的斜率曲线(如图6(b)所示),称之为“一次斜率曲线”。从图6(b)的一次斜率曲线可以看出曲线中存在两个突变的地方,整条曲线大致可以划分为三个部分。同理,对一次斜率曲线再按照相同的规则,计算二次斜率曲线(如图6(c))。对图6(c)以0.1为阈值,求大于此阈值的所有列号。对满足条件的列号进行排序,求列号排序上相邻且列差最大的两个列号(如图6(c)红色箭头所指位置),将其作为计算二值化阈值所需要的曲线段起始与终止列号。
根据所确定的曲线段范围,计算焊缝条纹区域像素的平均值与方差,计算公式如下:其中,Iij是V分量图像上(i,j)位置处的像素值,S是根据曲线分析得出的焊缝区间范围集合,n是图像上总共落在焊缝区间范围内的像素点总数。
根据上式计算的阈值参数m和σ,对V分量图像按照如下的准则进行二值化:
其中,Iij代表原始V分量图像上的第i行第j列位置的像素值,Bij是该位置在二值化图像中的值,k是用户定义的一个正数,在本文实验中设置为3。
3.3 形态学过滤与合并离散块处理
在得到V 分量图像(图7(a))的二值化图(图7(b))中,依旧包含有不少的噪声。为了去除掉周围的噪声,本文利用形态学处理方法,先对原始二值化图像做腐蚀操作,去掉较小的对象,随后进行膨胀操作[13-14]。图7(c)显示的是经过形态学处理后的结果。可以看出,此时图像分成若干个不同大小的块。为了得到完整的焊缝条纹,对这些块进行合并操作[12],对于任意的两个块,如果它们在列方向上块的坐标值区间存在相交部分,则进行合并,最后保留所占面积最大的块,得到如图7(d)所示的结果。此时已经得到图像分割模板,将其运用到原图像上(如图8(a)),即可实现对原始彩色图像的焊缝条纹提取(如图8(b)所示)。
图7 V分量图像及其二值化、形态学处理和合并离散块处理结果
图8 焊缝条纹图像及其上焊缝提取结果
4 实验结果
为了验证本文算法的有效性,使用在实际工程项目中拍摄的350张包含焊缝条纹的彩色图像进行测试。实验测试前,先将全部彩色图像统一缩放到800像素×600像素的固定大小。部分测试样例图像如图1所示。本文算法使用MATLAB语言编程实现,在英特尔Core i5处理器、2.40 GHz主频、4 GB内存的台机上运行。实验中随机选择200张彩色图像,人工标注焊缝条纹框所在位置,以此作为基准,对比算法计算得到的焊缝条纹框与人工标注的焊缝条纹框之间的重叠程度(即2×重合面积/条纹框总面积),用以验证算法的准确性。测试结果如表1所示。从表1可以看出,重叠比例在70%以上的占90%。将本文所提算法与采用视觉注意的支持向量机(Support Vector Machine,SVM)彩色图像分割方法进行比较[19]。SVM方法的分割结果如表2所示。对比表1和表2可以看出,本文所提出的方法在分类准确性上要优于其对比方法。主要的原因是因为SVM彩色图像分割方法适用于前后背景区分比较明显的自然图像[19],用于焊缝图像处理时,得到的分割结果破碎区域比较多,易造成前景提取区域的扩大化,从而降低图像分割的准确率。
表1 本文方法实验结果
表2 对比方法实验结果
此外,在算法消耗时间对比上(如表3所示),实验结果表明:平均处理一幅800×600尺寸大小的图像时间约为0.3 s,远快于SVM方法[19]。主要原因是本算法所需要的计算量相对比较少,主要时间消耗是在两次计算曲线斜率和形态学处理上。相对而言,对比算法在图像预处理阶段:首先利用Hou提取显著区域法[20]在缩微图像频谱上分析幅度谱和相位谱,再通过Fourier逆变换在空间域上得到缩微图像的显著图,接着利用双线性插值方法得到原始图像上的显著图。而在图像的分割阶段,则是利用已经训练好的SVM分类器模型对所有图像像素进行逐像素的分类预测。因此整个算法的计算复杂性要远高于本文所提的方法。通过上述两个实验,可以看出本算法可以快速、准确地提取出彩色图像中所包含的焊缝条纹区域。
表3 不同算法平均消耗时间对比结果
5 总结
本文提出一种基于颜色曲线分析的快速焊缝条纹提取方法。实验结果表明将该方法运用到彩色图像焊缝条纹的提取,可以在0.3 s内,快速、准确地提取出图像中所包含的焊缝条纹区域,具有较强的实用性。然而,本方法也存在一定的不足,比如对于曲线型的焊缝条纹,在合并离散块时,可能出现提取区域的扩大,这是下一步研究工作需要解决的问题。
[1]毛鹏军,张慧,黄石生,等.计算机视觉及其在焊接中的应用[J].电焊机,2002,32(7):1-4.
[2]丁度坤,高向东,赵传敏.计算机视觉焊缝识别技术研究[J].焊接技术,2006,35(6):19-21.
[3]廖高华,甘志梅,吴园.管道焊缝检测视觉图像处理的研究[J].工艺与新技术,2011,40(6):33-36.
[4]陈科庆,何茂军.彩色图像分割综述[J].湖北师范学院学报,2004,24(4):32-36.
[5]林开颜,吴军辉,徐立鸿.彩色图像分割方法综述[J].中国图象图形学报,2005,10(1):15-20.
[6]Lin Y,Tian J.A survey on medical image segmentation methods[J].InternationalJournalofPattern Recognition and Artificial Intelligence,2002,6(2):192-204.
[7]韩思奇,王蕾.图像分割的阈值法综述[J].系统工程与电子技术,2002,24(6):91-102.
[8]陈坤,马燕,李顺宝.融合直方图阈值和K-均值的彩色图像分割方法[J].计算机工程与应用,2013,49(4):162-165.
[9]黄凤岗,杨国,宋克欧.柔性形态学在图像边缘检测中的应用[J].中国图象图形学报,2000,5(4):284-287.
[10]姚红,王国胤,张清华.基于粗糙集合云模型的彩色图像分割方法[J].小型微型计算机系统,2013,11(34):2615-2620.
[11]吴琳,李海燕.面向生物医学图像的交互式分割算法[J].计算机工程,2010,36(16):208-209.
[12]范伟.基于区域生长的彩色图像分割算法[J].计算机工程,2010,36(13):192-193.
[13]赵福君,李景文,陈大克,等.数学形态学的纹理图像分割方法[J].计算机技术与发展,2008,18(5):112-114.
[14]王奇文,郑丽敏,梅树立.基于形态学的小鼠舌头切片图像分割与实现[J].计算机工程,2011,37(19):5-8.
[15]金忠,刘波峰,张林山,等.一种基于形态学的X射线数字图像焊缝边缘检测方法[J].计量技术,2006,1(5):33-35.
[16]钱素静,彭宏京,刘越.一种改进的谱聚类彩色图像分割方法[J].小型微型计算机系统,2013,34(6):1413-1416.
[17]杨晓艺,王小欢,宋锦萍.连续最大流图像分割模型及算法[J].中国图象图形学报,2013,18(11):1462-1467.
[18]刘国平,王洪亮,胡荣华,等.模板匹配技术在焊缝图像处理中的应用[J].焊接技术,2004,33(4):14-16.
[19]郭文涛,王文剑,白雪飞.基于视觉注意的SVM彩色图像分割方法[J].计算机工程与应用,2011,47(36):174-176.
[20]Hou X,Zhang L.Saliency detection:a spectral residual approach[J].Computer Vision and Pattern Recognition,2007:1-8.