(上海工程技术大学 电子电气工程学院,上海 201620)
在电气柜的制造过程中,电气柜内部电路接线的正确与否直接关系到设备是否能够正常运行,一旦电气接线出现问题,将会引起设备故障,进而影响整个系统的运行。因此,电气接线的检测尤为重要,怎样快速准确的检测出电气柜接线的正确与否,一直是检测人员追求的目标。
目前,常用的电气接线检测方法有万用表测量法和人工识图检测法。但是,万用表测量法效率低,工作量大;采用人工识图检测,对检测人员要求较高且自动化程度低,准确度低。采用机器识别[1]的方法检测电气接线是否正确,能够有效克服在电气柜的大批量制造过程中人工视觉检测的不足,提高检测效率和准确度,从而大大提高生产效率和生产自动化程度。
针对常规电气柜检测方法较为复杂,且检测效率低的问题,用机器视觉代替人工视觉,采用机器识别的方法检测接线情况,建立数据库,对电气接线进行自动检测,检测原理如图1所示。
图1 电气接线检测原理图
拍照前在电气柜上设立三个大小相同的定位点作为基准位置,图像采集后,根据定位点的位置建立直角坐标系,如图2所示。点O、A、B为定位点,假设点O为坐标原点,点O指向点A的方向为x轴正方向,指向点B的方向为y轴正方向。线段OA、OB的实际长度已知,分别记为为li、lj,这样所有接线点的位置坐标即是固定的。在坐标轴上按实际尺寸标上刻度,建立直角坐标系。以坐标轴上的刻度为标准,依次分别检测出各导线接线点与横坐标、纵坐标的距离,即可获取导线接线位置信息。记点P为检测点,从点P出发向两坐标轴作垂线,交点分别为点M、点N。假设线段OA、OB在图像中的长度分别为xl、yl,线段OM、ON在图像中的长度分别为xp、yp,则点P到坐标轴的实际距离x、y分别为:
图2 位置检测
位置信息获取后,根据检测点所在导线图像信息识别线号。对采集到的待测电气柜接线图进行图像预处理,提取其边缘信息用于导线编号的检测,分割字符串后采用模板法识别导线编号。
接线表存入MySQL数据库中形成完整的数据库作为模板,导线的编号信息与位置信息将作为检测结果与模板中相应的数据进行对比,并输出结果信息。若检测结果与数据库中数据全部相同或在误差允许范围内,则说明接线正确,将结果返回给电气接线检测结果输出单元;若出现差异且在误差允许范围外,则说明接线有误,并将有误的导线编号输出。
要获取导线的编号信息,需提取图像的边缘轮廓。为提高检测精度,本文针对Canny算子[2]在滤波去噪与阈值选取的不足进行改进,采用自适应平滑滤波[3]与形态学闭运算[4]相结合的方式代替高斯滤波,采用最大类间方差法(Otsu)[5]自适应选取阈值。
1)滤波改进
单纯的平滑滤波去噪时易丢失部分原图细节,使图像模糊。采用自适应平滑滤波,可在去噪的同时增加细节部分,提高图像增强效果。设原图像为f(i,j),则第k次迭代后梯度分量为:
滤波器的模板系数为:
对f(k)(i,j)进行加权平均:
自适应平滑滤波处理后,图像的边缘不够平滑,且分布着一些由错判造成的小孔,对图像进行闭运算处理,一方面可以在物体面积变化较小的范围内平滑其边缘,另一方面可以消除小颗粒噪声,连接断裂的边缘线。这种在图像自适应平滑滤波后进行闭运算的滤波方式,能够有效去除噪声,锐化边缘轮廓,平滑区域边缘。
2)自适应阈值
传统Canny算子阈值需人工设定,高阈值过高将造成边缘信息缺失,过低则易产生伪边缘,低阈值设置不合理会对边缘连续性造成严重影响,适应性差,效率较低。采用Otsu法自适应选取阈值,根据图像的灰度特性,将图像像素分为前景与背景两部分,使类间方差最大的阈值,即为最佳阈值[5,6]。
若大小为M×N像素的图像含有L个不同的灰度级,用{0,1,2,…,L-1}表示,灰度级为i的像素数为ni,则:
灰度为i的概率为:
选取阈值k(0<k<L-1),图像分为C1={0,1,…,K}、C2={k+1,k+2,…,L-1}、两部分,则像素被分类到C1和C2的概率分别为:
分配到C1和C2的像素平均灰度值为:
k的累加均值:
全局均值为:
当方差最大时,记最佳阈值k=k*,即:
将Otsu法获得的最佳阈值k*作为Canny算子的高阈值,由Th=2Tl的准则可得到低阈值,这样就自适应选取了Canny算子的高、低阈值[7]。
改进Canny算子后检测图像边缘,如图3所示。
图3 边缘检测
导线的编号较多且排列拥挤,对原图像进行预处理后,得到的待测字符边缘轮廓依然存在轻微粘连现象。图像边缘检测后应用腐蚀运算,可以细化图像,不仅能够有效消除待测字符之间的粘连以及小颗粒噪声的影响,而且可以分开距离较近的字符。
导线编号为一串字符,要完成字符识别,需先进行字符分割,将图像分割成一系列单个字符图像,本文采用投影法分割字符。先对图像自上而下进行逐行扫描,标志出字符的大致高度范围,然后在高度范围内自左至右进行逐列扫描,标志出字符的大致宽度范围。依次判定每个字符的范围,分割结果如图4所示。
图4 字符分割
本文采用模板匹配法[8]识别字符,由于导线编号字符串较为简单,通常仅由若干个英文字符与数字组成,因此能够建立完整的数据库作为模板。字符图像归一化后与字符模板进行比对,相似度最高的即为匹配结果。
常用的电气设计软件为AutoCAD和EPLAN,相较于AutoCAD,使用EPLAN软件设计线路准确度高,工程耗时短,本文使用EPLAN设计电气原理图。布线完成后,在标签中设置导出模版,形成接线表,存入MySQL数据库[9]中,表中包括各导线的编号和位置坐标,用以与检测结果进行对比。
将通过机器识别检测到的导线编号与位置信息与数据库中的对应信息一一对比,即可自动判别电气接线的正确与否。若检测数据与库中数据全部对应或在误差允许范围内,则接线正确;否则存在问题,输出有误导线编号。部分检测结果如表1所示。
表1 电气接线检测
误差设定为0.3cm,由表1中的检测结果可以看出,在位置坐标误差允许范围内,实验所得位置数据及其对应的导线编号均与数据库中的模板信息相符,本文所述方法能够准确地检测出电气柜接线是否正确,有效提高电气接线检测效率。
本文提出了一种结合图像处理与数据库建立的电气接线自动检测方法。通过改进Canny算子,有效提高了图像边缘检测的精度。获取导线的编号与位置信息后,与模板数据对比,输出检测结果。本文所述检测方法能够有效提高检测准确性与效率,可应用于电气柜的生产制造与电气接线检测领域。