APP下载

基于OpenCV的汽车插片保险丝定位算法研究

2018-06-21姚一鸣陈龙

软件导刊 2018年5期
关键词:机器视觉

姚一鸣 陈龙

摘 要:根据汽车插片保险丝的形状特征,基于机器视觉与OpneCV开源视觉库设计汽车插片保险丝定位算法。通过对采集到的汽车插片保险丝图像进行处理,计算出汽车插片保险丝的位置与角度。算法核心为通过计算汽车插片保险丝轮廓的几何矩求取位置信息,并结合最小外接矩形与汽车插片保险丝的形状特征求取角度信息。试验结果表明,该算法能够准确检测出图像中汽车插片保险丝的位置及角度信息,具备一定的应用价值。

关键词:机器视觉;OpenCV;几何矩;汽车插片保险丝;形状特征

DOI:10.11907/rjdk.172726

中图分类号:TP312

文献标识码:A 文章编号:1672-7800(2018)005-0053-03

Abstract:According to the shape features of the automobile plug fuse, we design a positioning algorithm for automobile plug fuses based on machine vision and OpenCV (Open Source Computer Vision Library). The main content of this paper is to calculate the position and angle information of the fuses by processing the fuse images. The core of the algorithm is to obtain the position information of the automobile plug fuse by geometric moments of the fuse contours, and to obtain the angle information using the minimum enclosing rectangle and the shape features of the automobile plug fuse.Experiments prove that the algorithm can accurately detect the position and angle information of the automobile plug fuse in the image, and has certain application value.

Key Words:machine vision; OpenCV; geometric moment; automobile plug fuse; shape features

0 引言

在現代工业中,随着自动化技术的发展,机器视觉得到了广泛运用。机器视觉即将视觉信息作为输入,并对其进行处理。机器视觉的主要功能为识别物体信息,将识别结果作为下一步动作的信息指南,如定位、抓取、导航与避障等[1]。

在对工件的定位抓取研究中,东南大学的尤卫卫[2]对机器人分拣工件系统作了详细研究;刘周林,卢建湘等[3]针对SMT零件,采用形状匹配的方法设计了定位抓取算法;刘学平、陈艺昌、刁常龙等[4]采用机器视觉[5]对BGA芯片检测对中技术进行了研究;彭继彬、陈晓荣[6]采用HALCON对票据上的字符进行定位识别与提取;刘劲松、梁皓源[7]使用OpenCV对特定晶圆产品上的编号进行了定位识别与提取。

随着汽车零部件行业逐渐往自动化方向发展,在汽车保险丝领域,保险丝的分拣装配目前仍为人工操作,从而大大浪费了劳动资源并延长了产品生产周期,因此急需以机器代替人工劳动。本文基于汽车插片保险丝的形状特征,结合Visual C++与OpenCV[8]开源视觉库实现了汽车插片保险丝的定位。

1 系统概述

基于机器视觉的汽车插片保险丝定位系统需要对置物台上的汽车插片保险丝进行采集和识别,最终确定其在置物平台上的位置与姿态。系统构成主要有光照系统、CCD摄像机、图像采集卡、工业计算机、控制机构等模块,如图1所示。

机器视觉系统主要包括图像采集、图像处理、目标识别3部分。在此系统中,工位放置在被检测区域内,通过光源打光去除工件阴影,然后使用CCD相机拍照,经过图像采集卡传输给工业计算机,再通过系统定位识别软件计算工件的位置与角度,最后传输给相应控制机构执行下一步操作。例如:控制机构控制机械手或吸盘抓取工件。

本文根据汽车插片保险丝定位的实际需求,获得清晰的汽车插片保险丝图像,进而通过图像预处理,获取工件外轮廓,然后通过汽车插片保险丝外轮廓的形状特征,用最小包围矩形获取工件在图片中的位置信息,最后根据轮廓形状的非对称性获取工件角度信息,系统流程如图2所示。

2 图像预处理

2.1 中值滤波

中值滤波[9]是一种典型的非线性滤波技术,其基本思想是用像素点邻域灰度值的中值代替该像素点的灰度值。该方法在去除脉冲噪声、椒盐噪声的同时又能保留图像边缘细节。

2.2 图像二值化

图像二值化有多种方式,如全局二值化、局部区域二值化等。本文中由于工件与背景色差明显,易于分离背景,所以采用全局二值化方式提取目标物体。

全局二值化方法是设定一个全局阈值T,用T将图像数据分成两部分:大于T的像素群和小于T的像素群。将大于T像素群的像素值设定为白色(或者黑色),小于T像素群的像素值设定为黑色(或者白色)。

3 工件位置获取

图像经过二值化后,先提取出工件外轮廓,然后计算其几何矩,通过轮廓的零阶矩和一阶矩计算工件质心,以质心位置代表工件在图像坐标系中的位置。

4 工件旋转角度计算

在采集图像时,工件在图像中具有相同视角,即平置在台面上,但是它们之间角度不同。本文在获取保险丝片轮廓后,根据轮廓形状,采用最小外接矩形包围保险丝片,初步得到外接矩形与图像坐标系X轴之间的倾斜角度.再通过工件轮廓的非对称性分类计算,进而得到工件图像的倾斜角度。

4.1 最小外接矩形

最小外接矩形也称最小边界矩形、最小包含矩形或最小外包矩形。最小外接矩形是指以二维坐标表示的若干二维形状(例如点、直线、多边形等)的最大范围,即通过给定的二维形状各个顶点中的最大与最小横坐标,以及最大与最小纵坐标定下边界的矩形。

在OpenCV库中采用minArearect函数计算物体轮廓的最小外接矩形,并得到以下参数:①最小矩形框的中心点C。中心点C为最小矩形框的对角线交点;②最小矩形框角度θ。角度θ为最小矩形框绕其中心点顺时针不断旋转,在旋转过程中,当X轴第一次与矩形框任意一条边平行时,最小矩形框需旋转的角度;③最小矩形框的宽width与高height。最小矩形框顺时针旋转θ度后,与X轴平行的对边为宽width,与Y轴平行的对边为长height。

最小矩形框的中心点C、角度θ、长heigh和宽width示意图如图3所示。

4.2 工件角度计算

根據OpenCV中最小矩形框的原理,采用最小矩形框包围工件轮廓后,将图像顺时针旋转θ度,然后单独提取出旋转后的图像。

任意一个随意摆放的汽车插片保险丝,经过旋转并提取图像后,会出现A、B、C、D四种不同情况,此时可根据图像长宽的差异以及工件特定区域内黑白像素个数的差异对旋转后的4种不同形状进行分类,进而得出最终的旋转角度α。

如图4所示,其中图a、b、c、d代表旋转前的图形姿态,图A、B、C、D代表旋转后图形的4种不同姿态,虚线框区域代表黑白像素检测区域,其位置按提取后图像的大小比例确定。

4类图像判断依据如表1所示。

以姿态A为基准姿态,任意摆放的汽车插片保险丝经过上述算法变换后,最终归于A、B、C、D四类之一,即其与基准姿态之间的偏转角α如表2所示。

5 实验结果与分析

5.1 实验细节过程

本文使用OpenCV3.1以及VS2013对上述所有过程进行实际测试,首先通过相机获取汽车插片保险丝的原始灰度图片,如图5所示。

其次,调用OpenCV中的medianBlur函数对图像进行中值滤波处理,处理后的图像如图6(a)所示;再调用二值化函数threshold,设定阈值后进行二值化,结果如图6(b)所示;之后采用findcounters函数,获取二值化后的图像轮廓;最后根据轮廓的大小、面积去除非工件轮廓,留下保险丝片轮廓,然后使用drawContours函数画出轮廓,并用白色像素填充满轮廓内部,效果如图6(c)所示。

在提取出清晰的工件轮廓后,运用函数Moment根据工件外轮廓计算其零阶矩和一阶矩,进而确定工件质心,代表工件在图像坐标系的位置,如图7(a)所示,其中白色轮廓为工件外轮廓,黑色点为轮廓质心。然后使用minArearect函数获取角度θ,轮廓的最小包围矩形如图7(b)所示。最后通过4.1与4.2节所述算法处理图片,按表1、表2规则分类,计算最终偏转角α。

5.2 实验结果分析

笔者在生产线上随机抽取20张保险丝图像进行测试。样本中,每张图像中的工件均为随意水平放置。试验结果证明,该算法能够有效识别汽车插片保险丝的位置与角度,且单个汽车插片保险丝的平均检测时间为500ms,可满足一般流水线生产要求。检测的位置精度为±0.1mm,角度精度为±0.1°,满足基本要求。该算法仍有很多不足,体现在该算法为针对特定产品设计,普适性较差,在保险丝片的角度求取上缺乏移植性。

6 结语

视觉检测技术作为机器视觉的重要研究领域,不仅能提高系统的自动化程度,还能显著提升检测的安全性与可靠性[10]。本文基于汽车插片保险丝的轮廓形状特点,设计了一种识别定位汽车插片保险丝的算法,通过机器视觉检测应用,既保证了生产效率,又提高了可靠性,为后续汽车零配件行业的工业自动化发展提供了新的思路。该算法具有一定应用价值,后续将对其作进一步改进与完善。

参考文献:

[1] 薛梦霞,刘士荣,王坚.基于机器视觉的动态多目标识别[J].上海交通大学学报,2017,51(6):727-733.

[2] 尤卫卫. 机器人分拣作业中工件识别实用技术的研究与实现[D]. 南京:东南大学,2016.

[3] 刘周林,卢建湘,谢煌生,等.SMT零件的视觉遍历定位与抓取方法[J]. 液压与机床,2015,43(3):67-71.

[4] 刘学平,陈艺昌,刁常龙,等.基于机器视觉的BGA芯片检测对中技术[J].计算机工程,2013,39(8):281-284.

[5] CARSTEN S,MARKUS U,CHRISTIAN W.机器视觉算法与应用[M].第3版.杨少荣,译.北京:清华大学出版社,2011:432-438.

[6] 彭继彬,陈晓荣.基于HAL CON的票据字符提取系统设计与实现[J].软件导刊,2017,16(4):80-82.

[7] 刘劲松,梁皓源.基于OpenCV的晶圆编号识别算法研究[J].软件导刊,2017,16(6):25-27.

[8] 布拉德斯基,克勒.学习OpenCV[M].北京:清华大学出版社,2009:256-258.

[9] 张广渊,王爱侠,王超.数字图像处理基础及OpenCV实现[M].北京:知识产权出版社,2014:190-192.

[10] 赵杰文,陈振涛,邹小波.机器视觉实现方便面破损在线检测的研究[J].微计算机信息,2007,23(10):238-240.

(责任编辑:黄 健)

猜你喜欢

机器视觉
大场景三维激光扫描仪在研究生实践教学培养中的应用