面向分拣机器人的珍珠形状视觉检测方法

2022-03-30 14:02刘新颖金守峰
计算机测量与控制 2022年2期
关键词:分水岭轮廓珍珠

刘新颖,金守峰,严 楠

(1.西安工程大学 机电工程学院,西安 710048; 2.宁波职业技术学院,浙江 宁波 315800)

0 引言

珍珠为自然产物,其形状不能完全一致,作为饰品的珍珠对形状要求很高,需要按不同等级进行分选,现有的珍珠形状分选主要以人工为主,依靠肉眼或手工测量,劳动强度大、分选精度不稳定。随着机器人技术、机器视觉技术的飞速发展,越来越多具有视觉感知的机器人取代人工应用到各个领域中。苏泽斌等[1]提出基于参数核图割计算纱线毛羽特征参数的算法,将纱线二值图像与纱芯二值图进行逻辑运算,分析毛羽参数特征,实验表明该方法耗时少、误分点少;谢佳等[2]利用最小外接矩算法测量鞋面尺寸,提高了尺寸测量的精度与速度;P.Vermeulen等[3]将近红外高光谱成像法,与形态学结合,在面积、周长、圆形度、最大内核直径、最小内核直径、纵横比、圆度、密实度等8个方面对硬粒小麦和普通小麦进行分类;周新文等[4]提出了一种基于数字图像处理的DIP法,通过分析沙粒投影,测量沙子的特征参数来表征颗粒形态。N.Tsoulias等[5]采用光检测与距离系统对苹果树在生长过程中去叶前和去叶后进行扫描,利用基于雷达三维点云提取线性度和曲率检测苹果的几何特征;段宇飞等[6]采用光源透射方式采集鸡蛋图像,结合凸包算法提取鸡蛋长短轴及蛋形,实现鸡蛋尺寸分级;袁雷明等[7]利用多视角采集葡萄果穗不同角度图像,通过提取轮廓曲线及颜色空间转换实现葡萄外观分级;王毓综等[8]对国内珍珠形状自动分级的技术现状进行分析,提出了以机器视觉为主导的未来在线实时检测的解决方案;郑春煌等[9]采用特殊的照明方式对珍珠图像进行采集,在极坐标下获取珍珠长短径,通过直径差对珍珠形状大小进行检测;张建华等[10]结合H-minima分水岭分割方法和最小二乘圆法误差理论,实现棉花叶部粘连病斑的分割,但当病斑粘连特别紧密时存在欠分割现象;孙卫红等[11]针对粘连蚕茧难以分割定位的问题,采用凹点定向腐蚀的方法完成图像分割,但该方法凹点检测率较低;李革等[12]通过珍珠图像的坐标转换,采用模糊识别方法对多视图珍珠图像特征判断珍珠形状并分类;白莉娜等[13]针对颗粒图像中粘连区域不易分割的问题,利用链码进行边界跟踪并计算粘连区域边界曲率,将匹配到的凹点利用分割线连接,从而实现粘连颗粒的分割;王雪奎等[14]采用数字图像技术对黏性土颗粒在长径比、圆度及粗糙度等参数进行分析;邓翔宇等[15]针对交通标识的分类,通过颜色特征分割,提出了基于边缘走势统计特征算法,实现快速识别交通标识;杨辉华等[16]针对粘连细胞分割问题,利用水平集方法提取细胞轮廓,循环迭代检测粘连细胞轮廓上的凹点区域,确定分割位置完成细胞分割,但该方法计算量大、效率低;李蓉娟等[17]为了提高作业目标的抓取精度,设计了基于目标形状特征的识别定位方法,有效识别、抓取作业目标;许伟栋等[18]利用机器视觉获取马铃薯图像,通过PCA-SVM算法提取马铃薯特征向量,在SVM模型中进行分类,提高分级精度。

粘连珍珠的分割是机器视觉识别中的难点,目前,对类圆形物体的分割方法主要有凹点法[19]、膨胀腐蚀法[20]、轮廓曲线法[21]、分水岭算法[22]等。以上算法针对具体情况均可以实现类圆形颗粒分割,但同时又都具备一定的局限性。例如,凹点法主要利用目标物粘连时的凹凸特性,根据凹点处的夹角进行粘连目标的分割,但凹点的确定和匹配容易出错,计算量较大;膨胀腐蚀算法容易破坏珍珠的原始形状,不利于本文对珍珠形状特征参数的测量;轮廓曲线法计算时运算量大,识别率低,一般仅适用于2~3颗少数目标粘连的情况;分水岭算法是一种分割重叠图像的经典算法,具有快速准确有效的特点,但传统的分水岭算法会受到噪声的干扰产生过分割或欠分割现象,产生大量的虚假边缘或造成真实边缘消失,尤其多颗珍珠粘连时,分割效果较差。对传统分水岭算法进行改进,是提高分割效果的关键。本文结合形态学算法和欧氏距离变换改进传统分水岭算法,分割粘连珍珠图像。

针对人工进行珍珠形状分选劳动强度大、效率低及分选精度不稳定等问题,提出面向珍珠分拣机器人的形状视觉检测方法。通过机器视觉获取珍珠图像信息,在珍珠图像预处理基础上,采用改进的分水岭算法进行珍珠图像分割并计算珍珠轮廓及质心位置,建立基于图像信息的珍珠形状参数模型,对珍珠形状进行量化表征。

1 分拣机器人系统

本文构建如图1所示的基于机器视觉的珍珠分选机器人系统,由分辨率为2 448×2 048工业相机、25 mm光学镜头及照度为40 000 Lux面光源构成了珍珠图像获取的机器视觉系统;珍珠分选的执行机构为四自由度机器人,重复定位精度为0.2 mm,最大负载为500 g,最大延伸距离为320 mm;末端执行器为气动吸盘;计算机为上位机对获取的珍珠图像进行预处理、珍珠图像分割及珍珠形状的计算与等级分类。

图1 珍珠分拣机器人系统

由于珍珠表面存在纹理、光泽,当光源直接照射珍珠表面时会产生反射导致成像质量下降,因此本文设计的珍珠分选机器人系统采用了背光成像方式,获取的珍珠图像边缘轮廓清晰,消除了珍珠表面纹理、光泽的干扰。

2 基于分水岭算法的相互接触珍珠的分割

2.1 珍珠图像预处理

获取的珍珠图像背景灰度分布不均导致对比度低,因此采用同态滤波算法压缩亮度范围和增强对比度来改善珍珠图像的质量。珍珠区域与背景对比度增强,通过最大类间方差法对珍珠灰度图像进行二值化处理[23]。珍珠区域与背景区域完全分开,但是珍珠图像中存在相互接触的珍珠,将影响到珍珠形状轮廓的提取,必须将相互接触的珍珠进行分割处理成单独的区域。

2.2 分水岭算法原理

如图2所示,分水岭算法的原理是将图像表示为测地学上的拓扑地貌,图像中每一点像素值表示该点的海拔高度,每一个区域极小值及其影响区域表示集水盆地,集水盆地的边界即为分水岭。在刺穿每一个区域极小值表面,再将整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成了分水岭[24],将集水盆地分开,实现了对图像的分割。

图2 分水岭算法原理

2.3 基于分水岭算法的接触珍珠的分割

对于分割后的珍珠图像既要保留珍珠边缘轮廓区域,满足形状测量精度,同时还要消除噪声和微小误分割区域的影响,因此本文基于形态学构建珍珠梯度图像,由于珍珠为类圆形状,本文设计圆形结构元素对珍珠图像进行形态学梯度运算,其表达式为:

grad(f)=[(f⊕g)-(fΘg)]

(1)

式中,grad(f)为梯度值,f为珍珠分割图,g为圆形结构元素,⊕为膨胀运算,Θ为腐蚀运算。

2.4 分水岭与集水盆的构建

由分水岭算法的原理可知,水是由各集水盆底逐渐向分水岭上蔓延,被珍珠各区域内部逐渐向接触区域的边缘递推,通过形态学梯度计算得到接触珍珠与独立珍珠的边缘轮廓,该轮廓为理想的分水岭边界。为实现接触珍珠的分割,要将各珍珠区域的盆底之间进行分离,且不与分水岭边界粘连,并为整个区域的低值区。因此设定本文中的珍珠二值图为B,Bij为第i行第j列的像素值,图像中珍珠区域的像素点构成了前景,其集合为Z={(i,j)|Bij=1};像素值为0的像素点构成背景,其集合为G={(i,j)|Bij=0}。对珍珠图像进行距离变换来确定珍珠区域低值区。珍珠图像B中各像素点之间的最小距离的表达式为:

Dij=min{Dist[(i,j),(x,y)],(x,y)∈Z}

(2)

式中,Dist为距离度量函数,x为珍珠轮廓点的横坐标,y为珍珠轮廓点的纵坐标。

由于珍珠为类圆形,其质心到最近的轮廓点的距离最大,近似为珍珠半径,故以欧氏距离作为距离度量函数,其表达式为:

(3)

式中,(a1,b1)、(a2,b2)分别为平面内任意两点的坐标。

距离变换三维图形如图3(a)所示,最短距离为谷底位置,该位置对应图3(b)中黑色区域为最小值区域,目标之间的白色分割线为分水岭的脊线。由分水岭脊线可以确定集水盆地和分水岭,将前景珍珠目标标记为1,确定珍珠图像的集水盆;图像的背景标记为0,确定多颗珍珠的分水岭。使得相互接触的珍珠都有了独立的集水盆及分水岭,各珍珠图像由集水盆底向分水岭递推计算过程中,像素梯度变化均匀,不存在集水盆中噪声过多而产生的干扰情况,实现了对相互接触珍珠的分割。再通过连通区域的颜色标记,相互粘连的珍珠通过不同颜色划分成独立的个体,结果如图3(c)所示。

3 珍珠形状参数模型的建立及分级标准

珍珠区域的边缘轮廓作为珍珠形状的有力描述,是珍珠分级的重要参数。由图3(c)可知,在珍珠图像分割的基础上,每个连通域的珍珠均为独立个体,当图像中连通域个数为n时,设连通域中的珍珠图像为fi(x,y),其中i取值为1-n。利用质心算法[25]求取每个珍珠的质心坐标为:

(4)

式中,(xc,yc)为珍珠质心。

图3 分水岭算法分割接触珍珠

本文采用形态学边缘跟踪算法对珍珠图像进行轮廓特征提取,结果如图3(c)的白色轮廓,利用两点之间距离公式计算珍珠轮廓边缘点(x1,y1)到质心的距离,其表达式为:

(5)

由式(2)可以计算出珍珠的半径序列,其表达式为:

Rk(k=1,2…,m-1)

(6)

式中,m为边缘点个数。

(7)

式中,X为形状参数模型。

由式(7)可知,半径百分比越小则说明珍珠越接近正圆,反之则次之。以此为依据,建立了如表1所示的珍珠圆形类分级标准。

表1 珍珠圆形类分级标准

4 实验数据分析

4.1 实验用珍珠

本文主要针对圆形类的珍珠进行形状检测,实验中选用正圆、圆、近圆3种形状的淡水珍珠共60颗作为检测目标。

4.2 实验数据分析

人工根据国标要求采用游标卡尺进行测量,将本文方法的计算值与人工测量值进行对比如图4所示,由图可知本文方法的计算值与人工测量值的分布一致,通过式(8)计算的误差百分比为0.63%,满足使用要求。

(8)

如图4中点划线为正圆和圆的分割线,虚线为圆和近圆的分割线,对比手工测量和本文方法测量3种形状珍珠,每一类珍珠均正确分布在相应区域。统计两种方式下测得的不同形状珍珠颗数如表2所示,3种形状测量精度均为100%。对实验用60颗样本进行多次重复检测,算法检测所用时间为24 ms。

图4 实验数据

等级人工/颗本文方法/颗精度/%正圆2020100圆2323100近圆1717100

5 结束语

1)针对珍珠形状的人工分拣效率低、精度不稳定等问题,提出基于机器视觉的珍珠形状检测方法,构建了检测系统实验平台对60颗不同形状的珍珠样本进行实验分析,检测误差为0.63%,形状统计精度为100%,算法耗时24 ms。

2)对多颗珍珠存在的相互接触影响珍珠轮廓提取的问题,采用改进的分水岭算法对多颗珍珠图像进行分割,实现了对相互接触珍珠的分割,通过连通区域的标记确定其质心位置。

3)基于珍珠图像信息建立了珍珠形状参数模型,通过珍珠轮廓各点与质心两点之间距离计算珍珠半径序列,提取最大、最小及平均半径,建立珍珠形状参数,定量表征珍珠形状。

猜你喜欢
分水岭轮廓珍珠
“种”珍珠真神奇
跟踪导练(三)
人生有哪些分水岭
雨珍珠
取珍珠
闯过Windows 10“分水岭”
基于形态学重建和极大值标记的分水岭分割算法
儿童筒笔画
创造早秋新轮廓
珍珠汽车