基于Harris-SIFT算法的缝料视觉定位系统

2021-04-02 02:13吴元伟朱建公廖晓波
计算机测量与控制 2021年3期
关键词:椒盐算子灰度

吴元伟,朱建公,廖 璇,周 军,廖晓波

(1.西南科技大学 制造过程测试技术省部共建教育部重点实验室,四川 绵阳 621010;2.绵阳逢研科技有限公司,四川 绵阳 621010)

0 引言

随着人们生活水平的不断提高,缝制行业极具前景,但行业竞争也日趋白热化,如何提高生产效率与缝制质量成为行业发展的主要方向[1]。随着工业缝纫机的问世,缝制速度与缝制效率迅速提高;然而,目前缝制工艺中缝制时间仅占比21%,大量时间消耗在人工取料、送料和定位等操作上,大大降低了缝制的效率[2]。为了提高缝制行业自动化和智能化程度,必须采用工业机器手来代替人工取料、送料和定位操作;但是工业机器手在操作过程中,大都采用人工编程或者示教的方法进行操作,限制了其应用场景。因此,本文通过给工业机器手增加视觉系统来实现对缝料的姿态识别和定位,从而推动缝制行业的自动化、智能化发展。

图像特征提取是图像识别定位的前提,图像特征包括颜色、纹理、形状以及局部特征点等。局部特征点具有很好的稳定性,且不容易受外界环境的干扰,因此在目标识别定位中得到了广泛的应用。SIFT算法(尺度不变特征变换)由Lowe[3-4]于1999年发表,并在2004年完善。SIFT算子通过构建差分金字塔和为特征点构建128维向量的方式,使得SIFT特征描述子不受角度旋转和尺度缩放影响,并且对于外界环境的亮度变化、拍摄视角变化和噪声都有一定的稳定性,因此SIFT算法一经问世便获得广泛关注与应用[5-6]。李鹏飞[7]利用SIFT算法去除掉一些无用点后使用Forstner算法获得缝料尺寸与位置。董煜文[8]将SIFT 算法和Graham算法结合,在获取目标图像匹配点集的凸包后,利用最小外接矩形和比例变换找到衣架指夹在图像中的位置。SIFT算法由于匹配精度高和环境适应性强等优点取得了广泛的应用,但是算法存在运算量大、速度低、实时性不强等问题。针对上述问题,许多学者从减少特征点数量和描述子维度的方向进行研究。Y.Ke[9]在2004年提出的PCA-SIFT算法中,利用主元分析法代替了SIFT算子中的直方图法,使得算法描述子维度从128维降至20维,提高了算法的运算速度。Herbert[10]于2006年提出的SURF算法利用Hessian矩阵行列式的近似值图像代替SITF算法的DOG金字塔,虽然牺牲了一部分精度,但速度提升了2~3倍。曹霞等人[11]首先提取蕾丝花边的纹理特征和形状特征,然后与SURF特征在不同层次进行匹配,提高了检索速度和准确性。

Harris算子利用自相关函数,通过计算x和y方向的一阶曲率来判定角点[12];Harris算法相比SIFT算法无需构建DOG金字塔,检测速度快,但其特征点不具备方向、尺度等信息。因此,本文将Harris算子与SIFT算法进行结合,首先在大尺度空间下利用Harris提取特征点,然后将其映射到小尺度空间生成SIFT描述子,并进行特征粗匹配。同时,为消除特征点数量减少而导致的定位精度下降影响,在完成粗匹配后,通过模板匹配的方式提高匹配精度。

1 视觉定位系统搭建与软件框架设计

缝料视觉定位系统由硬件定位平台、伺服驱动软件和图像处理软件构成。其中硬件定位平台由定位机构、伺服电机、摄像头和光源组成;图像处理软件用于提取目标缝料的质心和偏移角度;伺服驱动软件负责姿态解算和驱动载物台移动。

1.1 视觉定位硬件平台

在相机分辨率一定的情况下,相机平面与定位目标的高度决定了图像识别区域大小与定位精度,因此需要通过伺服电机调整到指定高度;缝料由于其薄片性质可以将其近似看做二维物体。因此,为验证视觉定位系统准确性,选用如图1所示的四坐标定位机构,平台具有x、y、z三轴和绕z轴旋转的4个高精度伺服电机,伺服电机单点运动精度为0.01 mm,旋转精度为0.05°。为驱动伺服电机,平台搭载一套专用的PMAC运动控制板卡。首先,利用图像处理软件获取目标缝料质心位置和角度,并通过平台配套的上位机软件进行解析后发送到运动控制板卡驱动伺服电机移动。

图1 视觉定位硬件平台

拟定定位缝料尺寸为200*300 mm以内,定位精度为0.2 mm。根据透镜模型选择WP-UFV500工业相机,相机分辨率为1 944*2 592,搭配WP-5M0620-C镜头,相机安装在距定位平面410 mm位置。同时,为减少外部环境带来的干扰,采用维视图像的100 W可调 LED机器视觉专用光源。

1.2 缝料视觉定位软件系统

如图2所示,缝料视觉定位软件系统包括视觉处理软件和伺服驱动软件。其中视觉处理软件由相机标定[13]、图像预处理[14]、特征提取[15]和特征匹配[16]组成,主要用于获取缝料姿态信息;伺服驱动软件将姿态信息转换为移动步长与旋转角度,驱动载物台和相机移动到合适位置。

图2 缝料视觉定位系统结构

1.3 相机标定

在图像测量中,为确定目标物体在图像坐标系与世界坐标系的对应关系,需要建立成像的几何模型。建立几何模型的前提就是获取相机参数,而获取参数的过程就是相机标定。因此,在平台安装完成后,需要通过相机标定构建多坐标系关系和消除相机畸变[17],其中多坐标系包括像素坐标系、图像坐标系、相机坐标系与世界坐标系。像素坐标系到世界坐标系的转换关系如式(1):

(1)

其中:像素坐标系坐标为(u,v),世界坐标系坐标为(X,Y,Z),式中2*2矩阵表示坐标系的平移变换,4*3矩阵则为相机内参矩阵,包含相机焦距、像元尺寸等固定参数。

在相机制造过程中,受到相机镜片制造和安装误差的影响,相机采集的图像往往会发生弯曲,导致图像失真,这种失真即是图像畸变。图像畸变包括径向畸变和切向畸变,而切向畸变影响较小,因此一般只需要消除径向畸变的影响。相比传统标定算法,张正友标定法只需要一个打印棋盘即可进行标定,标定简单且精度高,其标定流程如图3所示。

图3 张正友标定法流程图

首先将棋盘图像张贴在平面上,然后从不同角度拍摄多张图像,并利用棋盘的角点计算在理想状态下的相机内外参数,最后通过最小二乘法和极大似然估计得到真实的相机内外参数。标定后得到单个像素对应的实际物理尺寸为0.012 09 mm,标定矩阵如式(2)所示:

(2)

2 图像处理

2.1 图像预处理

图像质量的好坏直接影响算法的效果,因此需要进行图像预处理。图像预处理主要是消除无关信息、提高运算速度和增强信息的可检测性。预处理流程如图4所示。

图4 预处理流程

2.1.1 图像灰度化

本文相机采用的输出格式为RGB图像,图像数据量巨大,若直接进行后续图像处理,不仅会降低系统实时性,同时也会引入颜色信息干扰系统处理效果。通过灰度变换将其转换为单通道图像,可以减少数据量和提高运算速度[18]。灰度化主要有分量法、最大值法、平均值法和加权平均法,其中加权平均法(心理学公式)根据人眼对三基色不同敏感性赋予不同权重,如式(3)所示。

Gray(i,j)=

0.299*R(i,j)+0.578*G(i,j)+0.114*B(i,j)

(3)

式中,R(i,j)、G(i,j)和B(i,j)代表红、绿、蓝三基色对应通道值。

2.1.2 图像滤波

由于制造工艺影响,系统图像在采集、传输、存储过程中往往会被多种噪声污染。与此同时,外界光源不理想或背景不干净也会引入图像噪声。一般来说,图像噪声会对观测目标进行干扰,噪声与原图真实灰度值进行叠加,出现一些与目标图像整体灰度不相符的明暗干扰点,不仅降低了图像质量,也会对后续特征提取等工作造成干扰。

为实现对缝料的精准识别与定位,需要在过滤噪声的同时,能够很好的保护缝料的边缘信息。在视觉定位系统中,主要存在高斯噪声和椒盐噪声,其中光源不理想和相机的长期工作导致出现高斯噪声;图像传输和解码过程中会出现椒盐噪声。

针对系统出现的高斯噪声和椒盐噪声,需要分别进行处理。高斯噪声是指其噪声出现的概率密度符合高斯分布,因此可以通过高斯滤波模型将图像灰度值按照不同权重重新计算,降低噪声能量。高斯滤波函数如式(4)所示,其中σ为高斯函数的方差。

(4)

椒盐噪声往往在灰度图中表现为独立的黑白点,与背景或目标物体灰度值差距较大。由于图像中椒盐噪声点比例远小于图像总像素点,且椒盐噪声一般灰度值为0或者255,可以认为像素邻域中值点非椒盐噪声点。因此,可以通过中值滤波将像素邻域的中值代替像素点灰度值来去除椒盐噪声。中值滤波算法简单,运算速度快,且不会因为加权而导致边缘模糊,因此广泛用于椒盐噪声的去除。中值滤波公式如式(5):

y=Mid(x1,x2,…,xn-1,xn)=

(5)

针对图像中出现椒盐噪声和高斯噪声,需要分别利用中值滤波和高斯滤波进行抑制。首先通过中值滤波消除椒盐噪声,选用像素周围8个像素中值作为像素灰度值,然后通过高斯滤波消除高斯噪声,其中高斯函数方差σ为1.4,卷积核大小为5*5。

2.1.3 阈值分割

图像滤波完成后,为进一步减少图像处理的数据量和提取图像的感兴趣部分,需要对图像进行阈值分割(二值化)。由大津提出的最大类间方差法(大津算法)被认为是阈值分割的最佳算法。大津算法根据图像的灰度特性,将图像动态分为目标和背景两个部分。假设存在阈值TH将图像像素分为C1和C2两类,然后分别计算不同阈值时的前背景方差,当两部分方差最大时,则认定此时的阈值TH为最佳阈值。最大类间方差法如式(6):

g=ω1ω2(μ1-μ2)2

(6)

其中:ω1和ω2分别表示前景与后景像素点个数占图像总像素点的比例,μ1和μ2分别表示前后景的平均灰度值。

2.1.4 边缘提取

边缘检测是图像处理中极为重要的一种方法,一个清晰的边缘对于目标的测量和定位有着极其重要的意义。图像边缘是像素剧烈变化点的集合,表现为领域的一阶导数存在较大值或二阶导数符号改变。目前常用的边缘检测算法主要分为一阶微分算子和二阶微分算子,其中一阶微分算子包括Roberts算子、Prewitt算子和Sobel算子,二阶微分算子包括Laplacian算子、LoG算子和Canny算子。

Canny于1986年提出了边缘检测算子的3条判定准则:信噪比、定位精度和单边缘,并因此推导出Canny算子。Canny算子首先将图像图像进行高斯平滑,然后通过计算梯度来估算边缘强度和方向,并利用非极大值抑制和双阈值来获取强弱边缘点,最后通过边界跟踪剔除因噪声引起的弱边缘,从而得到真实的边缘信息。Canny算子流程如图5所示。

图5 Canny算子流程图

2.2 Harris-SIFT粗匹配

SIFT算法在检测特征点和特征点描述部分耗时超过80%,因此降低特征点数量和描述子维度则成为研究重点。Harris算子特征点提取简单,速度快 ,但不具备方向信息,因此本文利用SIFT 特征尺度空间的因果关系,使用Harris 算子在大尺度空间检测特征点后映射到小尺度空间生成SIFT特征描述子。

Harris 角点检测窗口平移产生的自相关函数如式(7):

(7)

其中:I(x,y)为输入待检测图像,w(x,y)表示窗口函数,(u,v)表示窗口平移量。

将平移后的图像进行泰勒展开,并忽略其高阶余项,则自相关函数表示为:

(8)

R=det(M)-k(traceM)2

(9)

其中:det(M) =λ1*λ2,trace(M) =λ1 +λ2,λ1和λ2是M的特征值,k为常系数。

为了避免常数k的选取问题,将角度响应函数R′定义为:

(10)

为了提高算法运行速度,本文使用Harris算子在大尺度空间提取特征点,在规定阈值的同时限制其最大提取特征点数,算法如下:

(11)

式中,C为大尺度空间角点位置映射到小尺度空间的邻域,即寻求的特征点是该邻域角点响应最强点。

2.3 Harris-SIFT精匹配

在Harris算子特征点提取过程中,可能会产生大量偏移叠加点,使用拟合或者寻找最强响应点方式难以找到真实角点,定位精度较差。为了解决粗定位精度不足的问题,提出一种改进的可旋转模板匹配算法:在传统的模板匹配算法基础上加入旋转因子。

模板旋转中心由式(12)表示,式中C为模板图像区域,w(x,y)为(x,y)点处的像素值。

(12)

精匹配算法如(13)和(14)。式中,Δθ为模板绕其形心旋转的角度,T为模板每次平移向量,M′和N′为图片尺寸,S(x′,y′)为目标图像。

(13)

(14)

精匹配算法流程如图6所示。为提高算法效率,本文选用二分法来快速迭代到指定精度。其中θ0为初始定位角,θ为最大迭代角,连续5次迭代精度误差和小于β值则表明迭代完成。

图6 精匹配算法流程图

2.4 质心坐标与角度偏移

为验证Harris-SIFT算法定位精度,需要计算缝料图像与模板图像的质心和角度误差。在完成目标匹配后,将欧氏距离最小的4个特征点重合,当重合点最多时假定缝料图像与模板图像重合。则此时目标质心(x0,y0)定义如下:

(15)

为检测角度偏移值,首先需要将两图质心重合,然后将欧式距离最小的4个特征点连接构成四边形。本文将四条边的角度偏差平均值作为角度偏移值,其中单条边角度偏差计算公式如(16)所示,其中(xo,y0)为质心坐标,(x1,y1)和(x2,y2)为两边终点坐标。

θ=Arccos

(16)

3 实验验证分析

为了检测基于Harris-SIFT算法的缝料视觉定位系统的实时性与准确性,与基于传统SIFT算法的视觉定位系统检测结果进行对比,并分析实验结果。

3.1 系统效率对比分析

本文选用了6种缝料,分别为方形、平行四边形、三角形、六边形、月牙形与带孔多边形,以上缝料皆为手工裁剪,非标形状。方形、平行四边形、六边形和三角形缝料使用同一缝料,内部存在毛绒,用于检测毛绒物和不同形状对匹配精度的影响;月牙形和带孔多边形为异形缝料,用于检测不同材质缝料对匹配精度的影响。

图7 6种典型测试缝料

在图像匹配算法中,特征点检测耗时占比超过80%,因此,为验证系统实时性,本文采用在不同角度的特征点检测数量平均值作为评判指标。下表列出了本文系统算法与SIFT算法在尺度空间σ=5.0下的测试数据。

图8 6种缝料特征点检测数量与耗时对比

从(a)图中可以看出,SIFT算法容易将噪声检测为特征点,例如方形内部毛绒物较多,因此特征点数量多。而本文系统算法提取到的特征点数量相对较少且较为稳定,特征点数量在4~15以内。从检测时间上来看,本文系统算法相比SIFT算法检测时间同比缩小4~5倍。

3.2 定位精度对比分析

为了验证和测试系统的稳定性和匹配精度,本文测试了6种缝料的实际匹配效果,包括质心定位误差与旋转角度误差。本文将模板图像质心置于(100 mm,100 mm)处,将待定位图像随机置于图像视野中某点,并将待定位缝料依次旋转180度生成180组待定位图像。分别计算其质心定位误差与角度偏差,表1列出6种样本的平均定位误差和平均角度偏差,其中表中误差均为180组样本的平均值。

表1 不同缝料匹配结果

从表1数据可以看出,带孔多边形缝料轮廓清晰且边缘无毛刺,定位误差与旋转角度偏差都较小;而月牙形缝料存在毛刺,匹配误差较大,但定位误差仍小于0.2 mm,角度偏移小于0.15度,满足缝料工艺操作要求。

4 结束语

为解决传统缝料定位效率低和精度差问题,本文在对SIFT和Harris算法进行分析的基础上,针对二维空间缝料,设计出一种基于Harris-SIFT改进算法的缝料定位系统。

1)论文将Harris算子特征点代替SIFT算子特征点,减少了特征点数量和描述子维度,提高了系统运算效率;其次,通过模板匹配提高匹配精度,满足缝料定位精度要求。

2)论文从理论和实验上证明了基于Harris-SIFT算法的缝料视觉定位系统的可行性。实验结果表明,基于 Harris-SIFT算法的缝料视觉定位系统检测到的特征点数量较少且稳定,特征点数量为4~15个,特征点提取时间相比基于SIFT算法的视觉定位系统缩小4~5倍。

3)通过实验验证,系统质心定位精度为0.2 mm,定位角度偏差小于0.15°。系统在满足缝料定位工艺要求的前提下,计算耗时更小,满足实时性要求,可移植到嵌入式系统。

该系统的提出必将在缝制行业的自动化和智能化发展过程中得到广泛应用。

猜你喜欢
椒盐算子灰度
航空滤光片阵列多光谱图像条带灰度调整算法
天津港智慧工作平台灰度发布系统和流程设计
Domestication or Foreignization:A Cultural Choice
学做椒盐虾
Arduino小车巡线程序的灰度阈值优化方案
QK空间上的叠加算子
逼近论中的收敛性估计
椒盐芝麻烧饼
椒盐卷饼
幼儿园私家菜