聂 霖,郑传广,徐 莹,陈 柔,王昱晴,孙皓天
(1.中国电力科学研究院有限公司,武汉 430074;2.中国地质大学 自动化学院,武汉 430074)
屏蔽服是输电线路带电作业过程中不可或缺的防护用具。根据GB/T 6568《带电作业用屏蔽服装》标准中规定,屏蔽服装的型式试验需要通过燃烧试验测量碳化面积对衣料的耐燃性能进行检测检测。
燃烧试验碳化样品如图1所示,碳化部分其图形边缘复杂和不规律给碳化面积的测量带来了不便。传统的碳化面积测量方法有:坐标纸换算法和求积仪法。此两种人工测量面积方法均存在人为操作影响因素多、测量结果偏差大及效率低下等缺点。
图1 燃烧试验后样品例图
随着科技的发展,视觉图像面积测量在许多领域应用于实际。在农业领域,刘哲等提出一种基于双远心镜头的高精度叶面积测量方法[1],采用机器视觉测量的方法,大大提高了农作物叶片面积测量的精度和效率。在电气领域,吴杰等对一种基于机器视觉的线缆截面积测量方法进行分析[2],能有效提高检测准确性,各项指标均优于标准方法。工业制造领域,陈文等提出一种基于激光标定的热工缺陷面积测量方法[3],该方法具有方便快捷,准确度高的优点。
考虑到传统测量碳化面积方法的缺陷及现有光电和图像技术的应用于测量领域的优势,本研究提出一种基于机器视觉亚像素测量技术的方法测量带电作业屏蔽服燃烧试验碳化面积:先对预处理后的测量对象进行像素级的粗轮廓提取和面积测量,再在已获得粗边缘的前提下进行亚像素级的精确轮廓提取和面积测量,以达到提高测量精度和测量效率的效果。
本研究中的碳化面积测量方法实现步骤如图2所示。将燃烧试验后的碳化部分放置在固定位置,通过图像传感器(摄像头、扫描仪等)进行捕获,得到含有被测样品的图像。对于图像进行预处理操作,简化图像数据,滤除噪音干扰,凸显特征信息,为后面的轮廓提取创造良好的条件。经过初步像素级轮廓提取和进一步亚像素级轮廓提取后,分别获取轮廓离散坐标点信息,根据此信息可以得出以像素为单位的面积数据,乘以对应的比例即可得出被测碳化部分的实际面积。
图2 机器视觉碳化面积测量方法实现流程图
图像预处理操作主要包括图像灰度处理、图像二值处理以及图像滤波算法[4]。
1.2.1 灰度化处理
经过图像传感器捕获到的图像为RGB三通道的图像,为了方便后期算法的实现,缩小数据体积,需要对于图像进行灰度化处理。人眼对于色彩敏感性有差异,由高到低排序为:绿、红、蓝,因此使用加权平均法[5]可以得到较为合理的灰度图像。灰度化计算如(1)所示:
gray=0.299×R+0.578×G+0.114×B
(1)
其中:gray为所求位置的灰度像素值,R,G,B为所求位置3个通道的分量像素值。
1.2.2 图像二值化处理
图像二值化处理就是将不同坐标的像素值根据设定的阈值设置为0或者255的过程,如式(2):
(2)
图像二值化处理能够在进一步简化数据的同时,突显出感兴趣的目标轮廓,强化图形边界特征信息。
为了能准确地得到二值化图像,本文采用大津算法(OTSU)[6]进行二值化处理。其主要原理为:将图像分成背景和前景两部分,定义背景和前景间的类方差如式(3):
σ2=p1(m1-mG)2+p2(m2-mG)2
(3)
其中:σ2为类方差,m1和p1为前景区域中灰度值均值和像素点占比,m2和p2为背景区域中灰度值均值和像素点占比。类方差越大,说明所选择的前景区域与背景区域的差别越大,反之,则差别越小。因此,使类方差最大的阈值即为图像二值化处理的最佳阈值。大津算法具有参数自适应性,不受图像对比度影响,可以很好地满足图像二值化处理的需求。
1.2.3 图像滤波算法
在捕获原始图像过程中,无可避免地会引入灰尘、颗粒以及因图像传感器自身原因而引起的噪音干扰。这些干扰会导致后期轮廓识别和提取产生偏差,是影响面积测量准确性的重要因素之一。因此,需要在识别和测量之前进行滤波处理。为了能够有效的去除因灰尘、颗粒引起的椒盐噪声和斑块噪声,同时尽可能保留原始图像特征,本文方法中采用中值滤波算法[7]对于所捕获到的图像进行滤波处理。中值滤波算法主要原理是统计周围像素值,取中值代替当前像素值。如图3所示,中值滤波算法可以有效的去除因灰尘、颗粒而引起的噪声干扰。
图3 中值滤波前后对比
对于图形的像素级面积测量首先需要对图形的边缘进行提取,进而转换为像素级别的图形轮廓。在已知图形轮廓的前提下,通过统计像素数量求取图形像素级面积。
1.3.1 边缘检测
图像中包含有效信息最大的部分即为图像的边缘。边缘检测可以在大幅度减少图像数据量的基础上,对于感兴趣部分进行详细的特征提取。为了保证边缘检测的准确性,采用canny算子实现边缘检测算法[8-10],具体实现步骤如下:
1)高斯平滑滤波。由于边缘检测算法主要是通过图像灰度值的导数进行计算得到,当图像灰度数据中存在噪声时,导数计算将会放大噪声干扰,从而使计算结果不准确,因此,在进行边缘检测算法之前,需要对于图像进行滤波处理,以消除噪音影响。这里主要采用高斯滤波算法实现,计算公示如式(4)所示:
(4)
其中:H3×3为3×3的高斯滤波器的核,A3×3为需要进行滤波的图像中某3×3的灰度值矩阵,e’为滤波后的值。
2)计算梯度方向和强度。通过已有边缘检测算子(如Roberts,Sobel等)求得水平方向一阶导数值Gx和垂直方向的一阶导数Gy,借此求取该像素点的梯度大小G和方向角theta。
(5)
3)非极大值抑制。通过比较当前像素梯度与同方向上前后像素梯度幅值大小,判断该像素点是否为梯度幅值最大像素点,以确定当前像素是否为合适的边缘像素点。
4)双阈值检测。为了解决由于噪声或颜色变换而引起的一些边缘像素问题,Canny边缘检测算法使用双阈值进行边缘检测。双阈值检测方案如式(6)所示:
(6)
强边缘可以被认为真实边缘,非边缘区域则被排除,弱边缘区域则需要进行进一步的判断。
5)抑制孤立弱边缘。对于上一步中所判断的弱边缘进行取舍,当该边缘与已确定的强边缘相连时,则该边缘为真实边缘,否则,将被认为是非边缘点进行抑制。此判断可以进一步保证边缘判断的准确性,排除噪声等因素干扰。
1.3.2 八领域轮廓跟踪法
经过边缘算法计算得出的结果是一些离散的边缘信息,需要通过跟踪算法将这些离散信息串接起来,形成完整的、按照固定方向传递的轮廓信息,为后面的算法优化和面积测量打下基础。常用的轮廓跟踪方法有四邻域法和八领域法[11],为了保证准确性,采用八邻域法进行轮廓跟踪提取。具体实现步骤如下:首先随机选取离散边缘坐标点集中的一个坐标。按照固定顺序(逆时针)检测该坐标点周围8个邻域的坐标是否存在于离散边缘坐标点集合中,当存在时,则该邻域点为下一个轮廓点,以此类推。当所检测出的轮廓点与初始点重合时,则该轮廓序列检测完毕,将所提取的坐标轮廓序列保存并进行下一次八邻域轮廓跟踪法。八领域位置关系如图4所示。
图4 八领域位置关系示意图
1.3.3 像素级面积测量
对于已知轮廓信息的图形进行像素级面积测量,仅需要对于轮廓所包围区域的像素进行统计计算即可。遍历图像中每一行的像素坐标和对应轮廓中的像素坐标,对于每一行中的包围在轮廓内的像素数量进行统计,再将每一行统计的像素数量进行叠加即为当前轮廓所包围图形面积的像素值。经过转换系数进行转换即可得到实际面积参数。
众所周知,数字图像中最小数据单元为一个像素,因此像素级轮廓提取与面积测量的精度很大程度地受到了硬件的限制:当分辨率较低时,所带来的误差将不可忽略;而具有高精度、高分辨率的图像传感器成本较高,无法普及使用。因此,通过对亚像素级边缘与轮廓提取的研究,以实现亚像素级面积测量功能,达到提高面积测量精度的效果。
1.4.1 亚像素级边缘与轮廓提取
根据相关定义可知,边缘是图像属性发生剧变的部分。因此,在图像中的边缘梯度方向上,灰度变化最剧烈的位置可以被认为是图像的准确边缘。选择像素级轮廓点梯度方向前后共7个像素点灰度值放置于坐标系中进行观察和分析可以发现,梯度方向上的灰度值分布情况与反正切函数分布相似,因此推测,梯度方向上连续的灰度值变化情况可以用反正切函数(y=a×arctan(bx+c)+d)近似表示,如图5所示。通过最小二乘法对反正切曲线进行拟合,当得到近似反正切函数后,对函数求取一阶导数和二阶导数,令二阶导数为0求极值,即为原函数变换率最大处。
图5 局部灰度值
具体实现步骤如下:
1)梯度方向确定:
考虑到灰度图像数据的离散性,即使通过式(5)中计算求取了准确的梯度方向角,亦无法确定梯度方向上的灰度值序列。因此,本文设计了一种简单的梯度方向近似确定法,可以快速有效地寻找到合适的灰度值序列,为后续的曲线拟合奠定基础。
如图6所示,以第一象限方向梯度为例,选取像素级轮廓提取中得到了的边缘中一点,计算其四邻域与该点的灰度值之差,寻找差值最大的两个邻域为A和B。进行如式(7)归一化计算得到二者大小关系。
图6 梯度方向示意图(第一象限)
(7)
其中:O、A、B为像素级轮廓点及其周围两邻域灰度值,A’、B’为邻域灰度差值归一化后的值。通过比较A’、B’的大小,选取偏向较大值的方向即为梯度方向。第一象限中A’、B’大小关系与梯度方向确定如表1所示,其中梯度方向用像素点坐标序列进行表示。
表1 梯度方向确定表
2)曲线拟合与变化率极大值点的确定:
在已知像素级边缘梯度方向对应像素序列的情况小,可以根据序列点灰度值采用最小二乘法[12-13]对反正切函数曲线进行拟合计算。计算过程如(8)~(10)所示。
反正切函数表达式:
y=a·arctan(bx+c)+d
(8)
求取损失函数:
(9)
对不同参数求取偏导,并令所求偏导数表达式为0:
(10)
经式(10)可以得出未知参数a、b、c、d的拟合值,进一步可求取该曲线的变化率极大值点:
(11)
令对二阶导数为0,可求得变化率极大值点为:
(12)
反正切函数拟合效果与变化率极大值点求取结果如图7所示。
图7 曲线拟合与变化率极大值
3)亚像素边缘点的计算:
通过拟合方式求取的变化率极大值点为梯度方向上的实际边缘点,亦可以看作为梯度方向上的亚像素边缘补偿值。若将其表示成直角坐标系中,则需要根据表1中确定的梯度方向进行角度换算。换算表达式如式(13)所示,其中Δt为梯度方向上的亚像素边缘补偿值,θ为梯度方向角。
(13)
1.4.2 亚像素级面积测量
与像素级面积测量不同,亚像素级所得到的边缘坐标为非整数,因此无法简单的使用像素统计的方法来进行面积的计算。考虑到所得到的亚像素边缘坐标特点,采用格林公式(14)对于亚像素级面积进行测量。利用格林公式求取面积如式(14)所示,其中D为带求面积区域,L为该区域的边界曲线,取逆时针方向。
(14)
由前文方法所求得的边缘坐标为离散坐标,因此需要将格林公式进行离散化处理。格林公式离散化形式如式(15)所示:
(15)
为了验证提出方法的准确性,比较像素级和亚像素级方法的优劣性,采用标准图形进行对比分析和验证。标准图形采用圆形、半圆形、正三角形、直角三角形、平行四边形、梯形、正方形和长方形等8种形状,其面积均为3.0 mm2。像素级与亚像素级轮廓提取情况(以圆形为例)如图8所示。不同图形不同角度放置的像素级与亚像素级面积测量结果如表2所示,其中转换系数为0.006 777 28 mm2/像素。相对误差曲线如图9所示。
图8 像素级与亚像素级轮廓提取对比(圆形)
图9 相对误差曲线
由图8中的圆形轮廓提取情况对比可以看出,亚像素级提取的轮廓线更加平滑,更加接近于原始标准图形边缘。
由表2中不同图形多方向面积测量结果的均值和标准差对比可以看出,亚像素级方法测量所得数据更加接近于标准参数,数据稳定性更高。由图9中相对误差曲线可以看出,像素级测量方法相对误差(实线)高达0.04~0.08(即4%~8%),而亚像素级测量方法相对误差(虚线)小于0.02(即2%),精度提高2~4倍。可见,基于亚像素级轮廓提取的面积测量方法精度和稳定性均优于像素级方法。
表2 多角度像素级与亚像素级面积测量结果 mm2
选取一片经过燃烧试验后的碳化样品,分别利用传统坐标纸法、求积仪法与基于机器视觉的亚像素方法分别进行10次试验,随机放置的不同角度与位置试验对比,其中坐标纸法采用的坐标纸最小分辨率为1 mm,求积仪法所采用的测量设备精度为1%。10次试验测量结果的均值和标准差如表3所示。由表中数据可知,基于机器视觉的亚像素方法较其他两种方法更加稳定,数据波动幅度约为传统方法的1/4,精度较高;同时测量过程耗时远远小于传统方法,测量效率提高至传统方法的20倍以上。
表3 三种方法分别验检10次测结果的均值及标准差
本研究针对传统面积测量方法中人为影响因素误差较多,测量结果误差较大,同时效率低下等问题,提出了基于机器视觉的带电作业屏蔽服燃烧实验碳化面积测量方法。通过对8种标准图形和实际碳化样品在不同放置位置、角度情况下的面积测量数据对比分析,试验数据表明,基于机器视觉的屏蔽服燃烧试验碳化面积测量方法在数据准确性、测量稳定性和测量效率方面均优于传统方法。为碳化面积测量提供了一种可满足实际测量需求的,简单、准确、高效的新方法,更方便、高效地实现对于带电作业屏蔽服燃烧实验碳化面积的精确测量。