APP下载

基于改进的Hough变换的直线提取算法

2015-03-31闫怀仁杨慕升

红外技术 2015年11期
关键词:轴径累加器轴类

闫怀仁,杨慕升



基于改进的Hough变换的直线提取算法

闫怀仁,杨慕升

(山东理工大学 机械工程学院,山东 淄博 255049)

Hough变换的运算精度及其运算速度,在高速、高精度工作环境下具有重要的意义,提出了一种改进的Hough变换的直线提取算法。通过对零件图像预处理、改进的Hough变换处理,实现了快速、高精度地轴类零件轮廓直线的检测。利用C++编程,采用OpenCV,针对某轴类零件轴径的非接触检测,实现了改进的Hough变换的直线提取算法。

Hough变换;轴类零件;边缘检测;直线检测

0 引言

轴类零件是机械工业中极为常见的零件之一,其几何尺寸及精度不仅直接影响机械运动的性能、使用寿命,且对减少能源消耗与环境污染等有重要影响[1]。对轴类零件尺寸的传统检测一般是人工用手持尺类测量工具来实现的。人工检测不仅易受情绪、操作方法、仪器精度环境等多种因素的影响,难以保证检测的质量,而且不能适应现代工业生产现场在线检测、实时控制的要求[2]。随着图像测量技术在国内外的飞速发展,该技术已广泛应用于几何量的尺寸测量、航空遥感测量、精密复杂零件微尺寸测量和外观监测、光波干涉图、应力应变场状态分布图等和图像有关的技术领域[3]。

轴径是轴类零件的重要尺寸,为了从轴类图像中求得轴径大小,应获得轴类零件轮廓线的间隔,因而,如何得到轴类零件的轮廓线成为获得轴径大小的关键技术。直线拟合、Hough变换是国内外近年来检测轮廓线直线的常用的方法,直线拟合对噪声很敏感,当已知数据点附近存在噪声时,拟合误差较大,导致检测直线精度低。由于良好的鲁棒性及抗干扰性,Hough变换[4]已成为模式识别中提取直线的一个常用的重要的工具。然而,Hough变换容易产生虚假直线,导致其检测精度低,另外,Hough变换运算速度较慢,因而,Hough变换未能广泛地应用于有着高实时性、高精度要求的领域。针对于Hough变换的不足,随机Hough变换及其改进算法被提出,然而,由于随机Hough变换的不确定性的特点,以及受噪声干扰较大,因而,随机Hough变换不适于高精度尺寸检测的场合。

在实际生产中,往往需要在夜间对轴类零件进行测量,由于夜间光照强度不足以及对比度差,即使采取补光措施,使用传统摄像工具所采集到的图像成像质量较低,在后续检测轮廓线时,往往产生虚假直线,造成检测误差。因此,采用红外成像技术,对零件进行图像采集。

为了提高Hough变换的运算精度及其运算速度,本文提出了一种改进的Hough变换提取直线的算法。通过对一类回转体零件轴径的检测,验证了该算法的可行性。

1 传统的Hough变换

1.1 传统Hough变换检测直线的原理

Hough变换的基本思想[5]是,利用图像域与参数域的点与线的对偶原理:

设直线方程为:

=+

同一条直线上的点(0,0), (1,1), …, (x,y)可以确定唯一的、,将图像上离散的点的坐标作为已知量求未知量、,所以直角坐标系下的直线=+在参数空间表示为点(,),然而,该方法不适用于不存在斜率的直线,因而将参数空间坐标表示为极坐标下的=cos+sin为原点到直线的距离,为直线与轴的夹角。图像域中的一个点(0,0),在极坐标下变换为一条正弦曲线,同一条直线上的点在极坐标空间下正弦曲线的交点即为要求的、。在实际应用中,通常将参数空间离散化成一个累加器阵列(,),按照极坐标方程,将图像空间中的每一点(,)映射到参数空间对应的一系列累加器中,将对应的累加器加1。如果图像空间中存在一条直线,则参数空间中有一个对应的累加器出现局部最大值。通过检测这个局部最大值即可确定与该直线对应的一对(,)参数,从而检测出直线。

1.2 传统Hough变换存在的问题

传统Hough变换盲目性大,导致其存在巨大的计算量及低的算法效率,反应在处理结果上,则为检测速度慢,容易出现直线错检、漏检的情况。

图1为采集到的零件的原始图像,该零件为一个阶梯轴,为了测量该轴的最大轴径,对图1进行传统的Hough变换,检测结果如图2所示,所用时间为7296ms。分析图2发现,经典的Hough变换可以检测出最大轴径段轴的轮廓线如图2中①所示,然而所用时间较长且存在过多虚假直线,不利于后续检测轴径大小。传统Hough变换不能应用于高速、高精度工作环境。

2 改进的Hough变换

2.1 算法原理

为提高Hough检测的运算速度,常见的方法有多分辨率Hough检测、极角约束Hough检测[6]。前者通过对图像分辨率由粗到细的处理来减少参与Hough变换中“投票”的点的数量来提高速度,然而,这种处理方法会造成图像边缘模糊,检测精度则大大降低;后者是通过针对应用对象的特点,限定极角变换的范围,从而减少计算量,然而,对于极角范围不确定的应用对象,该方法并不适用。基于以上两种思想的启发,本文采用一种多分辨率投票的方法:先由较大的离散化极角值D1投票,根据参数空间的峰值确定出极角范围Î(1,2)及距离范围Î(1,2),然后采用较大的离散化极角值D1在极角范围Î(1,2)中对每个特征点进行计算,对于计算结果处于(1,2)内的点进行投票。该处理方式不仅可以极大地减少计算量,而且可以有效地区分开累加器中的有效峰值与噪声峰值,避免了错检与漏检,从而大大提高了直线检测精度。算法流程图如图3所示。

图1 原始图像

图2 传统Hough变换检测到的直线

图3 改进的Hough变换检测算法流程图

Fig.3 The flow chart of improved Hough transform

2.2 预处理

由于CMOS元件本身存在缺陷以及拍摄现场干扰,拍摄出的图像中存在有噪声。噪声的存在会使Canny检测处理时产生无用的边缘信息,增加Hough变换的时间且影响检测精度,因而应首先对图像进行去噪声处理。图像平滑是一种消除图像噪声的常用方法,是为了适应人类视觉系统的生理接受特点而设计的一种改善图像质量的一种方法,其处理对象是在图像生成、传输、处理、显示等过程中受到多种因素扰动形成的受污图像[7]。

为了有效地去除图像中存在的噪声并且保留轮廓信息,本文算法采用的是中值滤波器滤波。中值滤波器是一种非线性的滤波器,在保留图像更多的轮廓信息的同时能有效地抑制脉冲干扰和图像噪声[8]。

2.3 二值化

为了从图像中得到目标物体,最常用的方法是对图像进行二值化处理。常见的二值化算法分为两种,一种是全局阈值算法,另一种是局部阈值[9]算法。本文采取的二值化算法为全局阈值迭代法,其核心思想为:

2)初始阈值将图像分为目标区域与背景区域,分别统计这两个区域的像素个数o、b,分别计算出目标区域与背景区域的平均像素值o、b:

通过全局阈值迭代法得到了较为理想的零件二值化图像,然而,由于采集图像时光照较强,零件中间出现一条灰度较大的光带,经迭代法处理后,光带未能消除,若此时进行Canny检测,中间光带处会产生虚假轮廓,影响Hough变换检测直线的精度。通过填充上下轮廓之间区域的方法消除中间光带,处理结果如图5所示。

2.4 Canny检测

图像的边缘是图像的最基本特征[10],由于图像的边缘通常含有大量重要信息,因此,边缘检测成为图像处理的—个重要环节。在经典的边缘检测方法中,常用的一阶微分算子有Robets算子、Prewwits 算子、Sobel算子等。对噪声较敏感,抗干扰性能差,且边缘的精度有待提高。Canny算子是一类最优边缘检测算子,具有较好的边缘定位能力和抗噪性能[11]。图6为Canny检测后的图像。

2.5 直线检测

为提高Hough变换的检测速度和精度,本文采用多分辨率投票的方法。传统的参数空间变换的方法在粗投票中确定极角、距离的变化范围时,计算量大,占用的存储空间大,算法实现复杂。将二值化图像中的点依次做变换域的计算,在图像空间绘制出将每一个特征点所对应的正弦曲线并进行累加,如图7所示,图像空间中某店像素的灰度值越高,说明该点对应参数空间中的直线通过点数越多,通过阈值化处理即可滤除噪声,即可确定出极角、距离变化范围,即新的累加器空间。通过对二值化图像中的特征点在新的累加器空间进行投票,从而可检测出大径的直线。

3 实验结果

以工业300万像素的CCD做图像数据采集设备,采用C++语言进行算法设计,基于OpenCV对某轴类零件进行试验,轴的大径为59.50mm(工控机的系统硬件配置:CPU E3300主频2.50G,内存1.0G)。结果如表1。

分析表1可知,在同样的图像分辨率下,本文算法所用时间远小于标准Hough变换所用时间;针对于不同分辨率的图像,同样算法的处理时间不同,随着分辨率的增加,算法所用时间也随着增大;处理图像的分辨率越大,检测到的零件尺寸越精确。为了同时保证算法处理的速度和精度,选用图像分辨率为640×480。

图8为未加入噪声的零件图像,图9为加入椒盐噪声的零件图像,分辨率均为640×480,分别对图8、图9用本文算法以及直线拟合的方法进行大径检测,检测结果如表2所示。

分析表2可知,对于同一处理对象,直线拟合所用时间略短,但检测精度较低。综合考虑到速度和精度,本文算法更适于工业的实时性与高精度的要求。

图10、图12为两种轴径大小不同的轴,图11为采用本文算法对图10处理而检测到的直线效果图;图13为采用本文算法对图12处理而检测到的直线效果图。

分析表3可知,对于不同轴径大小的应用对象,均可较精确地检测到轴径大小,所用时间均比传统Hough变换检测直线所用时间短很多。

图14为采用红外技术采集到的零件图像,图15为零件4的处理结果,其中,灰色线为检测到的轮廓线。分析表4可知,本文算法对轴类零件的红外图像进行处理,所用时间比标准Hough变换所用时间短,检测到的轴径尺寸与实际尺寸相差不大,满足精度要求。

图16为本文算法检测直线效果图。通过分析表1、表2、表3、表4与图15、图16可知,对于可见光图像与红外图像,本文算法均可以准确快速地提取出目标轮廓直线,且不受零件大小限制,满足工业实时性与高精度的要求。

图4 全局阈值迭代法处理后

图5 消除光带后的二值化图像

图6 Canny检测出的轮廓图

图7 特征点对应的正弦曲线累加图

表1 检测结果对比

表2 检测结果对比

图8 未加入噪声的图像

图9 加入噪声的图像

表3 检测结果对比

图10 零件2

图11 零件2的处理结果

图12 零件3

图13 零件3的处理结果

表4 检测结果对比

图14 零件4

图15 零件4的处理结果

图16 本文算法检测直线效果图

4 结束语

实验结果表明,针对于同一零件尺寸检测,相比于传统的Hough检测、曲线拟合算法,改进的Hough检测算法大大提高了检测直线的精度与速度,满足工业应用要求。如何更精确快速地检测直线是本文算法以后研究的方向。

[1] 祁晓玲, 赵霞霞, 靳伍银. 基于机器视觉的轴类零件几何尺寸测量[J]. 组合机床与自动化加工技术, 2013(1): 65-68.

QI Xiao-ling, ZHAO Xia-xia, JIN Wu-yin. Geometric dimensions measurement for shaft based on machine Vision[J]., 2013(1): 65-68

[2] 尚小燕, 姜旭, 武继安. 基于图像处理的轴类零件尺寸测量技术研究[J]. 工具技术, 2012,46(3): 85-88.

Shang Xiaoyan, Jiang Xu, Wu Ji’an. Research on size measurement of shaft parts based on image processing[J]., 2012, 46(3): 85-88.

[3] 夏若安, 朱理, 胡双炎. 高精度零件尺寸测量系统[J]. 科学技术与工程, 2005, 20(5): 1506-1508.

XIA Ruo’an, ZHU Li, Hu Shuangyan. High accuracy part size measurement system[J]., 2005, 20(5): 1506-1508.

[4] Priyanka Mukhopadhyay, Bidyut B Chaudhuri. A survey of Hough transform[J]., 2015, 48(3): 993-1010.

[5] Gustavo Botelho de Souza, Aparecido Nilceu Marana. HTS and HTSn: New shape descriptors based on Hough transform statistics[J]., 2014, 127: 43-56.

[6] 杨喜宁, 段建民, 高德芝, 等. 基于改进Hough变换的车道线检测技术[J]. 计算机测量与控制, 2010, 18(2): 292-294.

Yang Xining, Duan Jianmin, Gao Dezhi, et al. Research on lane detection based on improved Hough transform[J]., 2010, 18(2): 292-294.

[7] 秦志远, 吴冰, 王艳, 等. 图像平滑算法比较研究及改进策略[J]. 测绘学院学报, 2005, 22(2):103-105.

Qin Zhiyuan, Wu Bing, Wang Yan, et al. The comparison study on image smoothing algorithm & improve strategy[J]., 2005, 22(2): 103-105.

[8] Xu Jiangtao, Wang Lei, Shi Zaifeng. A switching weighted vector median filter based on edge detection[J]., 2014, 98: 359-369.

[9] 童立靖, 张艳, 舒巍, 等. 几种文本图像二值化方法的对比分析[J]. 北方工业大学学报, 2011, 23(1): 25-34.

Tong Lijing, Zhang Yan, Shu Wei, et al. Comparison and Analysis of Several Document Image Binarization Algorithm[J].., 2011, 23(1): 25-34.

[10] 张帆, 彭中伟, 蒙水金. 基于自适应阈值的改进Canny边缘检测方法[J]. 计算机应用, 2012, 32(8): 2296-2298.

Zhang Fan, Peng Zhongwei, Meng Shuijin. Improved Canny edge detection method based on self-adaptive threshold[J]., 2012, 32(8): 2296-2298.

[11] 曾接贤, 周沥沥, 符祥. 改进的Beamlet与Canny相结合提取复杂图像线特征[J]. 中国图象图形学报, 2012, 17(7): 775-783.

Zeng Jiexian, Zhou Lili, Fu Xiang. Complex image line feature extraction based on improved Beamlet transform and the Canny operator[J]., 2012, 17(7): 775-783.

Line Extraction Based on Improved Hough Transform

YAN Huai-ren,YANG Mu-sheng

(,,255049,)

A line extraction algorithm based on improved Hough transform was proposed to realize non-contact measurement of shaft component. It processed the image by pre-treated, improved Hough transform to realize detecting the shaft component outline more quickly and with high-precision. The method which detects diameter of one shaft is realized by using OpenCV in C++ Builder programming environment.

Hough transform,shaft component,edge detection,line detect

TP391.41

A

1001-8891(2015)11-0970-06

2014-12-08;

2015-10-09.

闫怀仁(1990-),男,山东省济宁市鱼台县人,硕士研究生,主要研究方向:精密检测与质量控制技术。

杨慕升(1963-),男,山东潍坊人,教授,主要研究方向:机械制造过程质量控制技术、机电一体化及数控技术。E-mail:huairenm4@163.com。

国家自然科学基金,面向再制造工程的精度设计及质量控制系统方法的研究,编号:50875159。

猜你喜欢

轴径累加器轴类
用于轴类零件的机器人夹爪设计
车轴轴径微差测量仪测量不确定度评定
密码累加器研究进展及应用
40Cr钢转向节轴部直径对其淬火态组织和硬度的影响
用线切割机床加工轴类零件的工装设计
Fpga的信号发生器设计原理
船用针阀体轴类工件的自动化生产线设计与实现
基于霍夫变换的工位点识别算法设计与实现
一种检测轴类零件几何公差的方法
轴径类工件测量的误差分析