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

2021-08-31 02:20哲,王
机械与电子 2021年8期
关键词:分水岭珍珠轮廓

魏 哲,王 盼

(西安工程大学,陕西 西安 710048)

0 引言

珍珠作为自然产物,其形状不可能完全一致,作为饰品的珍珠对形状要求很高,需要按不同等级进行分选。现有的珍珠形状分选主要以人工为主,依靠肉眼或手工测量,劳动强度大、分选精度不稳定。随着机器人技术、机器视觉技术的飞速发展,具有视觉感知的机器人越来越多地取代人工应用到各个领域中。王毓综等[1]对国内珍珠形状自动分级的技术现状进行分析,提出了基于机器视觉为主导的未来在线实时检测的解决方案;郑春煌等[2]采用特殊的照明方式对珍珠图像进行采集,在极坐标下获取珍珠长短径,通过直径差对珍珠形状大小进行检测;李革等[3]通过珍珠图像的坐标转换,采用模糊识别方法对多视图珍珠图像特征判断珍珠形状并分类;李益红等[4]设计边缘链码相似性算法,计算4个象限中边缘链码之间的相似度判定珍珠形状的匀称性;王雪奎等[5]采用数字图像技术对黏性土颗粒在长径比、圆度及粗糙度等参数进行分析;邓翔宇等[6]针对交通标识的分类,通过颜色特征分割,提出了基于边缘走势统计特征算法,实现快速识别交通标识;郗厚印等[7]根据采摘机器人自动抓取果实的要求,设计了自然环境下的对重叠的番茄进行分割、识别及定位,实现对果实的定位;张青等[8]针对草莓分级精度不高的问题,利用草莓图像信息提取周长、面积参数,通过多元线性回归分析建立重量分级模型,通过支持向量机建立形状分级模型,对草莓进行有效分级;李蓉娟[9]为了提高作业目标的抓取精度,设计了基于目标形状特征的识别定位方法,有效识别、抓取作业目标;许伟栋等[10]利用机器视觉获取马铃薯图像,通过PCA-SVM算法提取马铃薯特征向量,在SVM模型中进行分类,提高分级精度;王红军等[11]对马铃薯图像进行多个特征参数的提取,通过多元数据回归分析,建立质量和形状分级预测模型,实现基于图像信息的马铃薯自动分级。

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

1 珍珠分拣机器人系统

本文构建如图1a所示的基于机器视觉的珍珠分选机器人系统,由分辨率为2 448×2 048工业相机、25 mm光学镜头及照度为40 000 lx面光源构成了珍珠图像获取的机器视觉系统;珍珠分选的执行机构为4自由度机械臂,末端执行器为气动吸盘;计算机为上位机,可对获取的珍珠图像进行预处理、珍珠图像分割及珍珠形状的计算与等级分类。

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

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

2.1 珍珠图像预处理

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

2.2 分水岭算法原理

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

图2 分水岭算法原理

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

由于珍珠为类圆形状,本文设计圆形结构元素对珍珠图像进行形态学梯度运算,其表达式为

gradf=[(f⊕g)-(f⊖g)]

(1)

gradf为梯度值;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)为平面内任意2点的坐标。

距离变换的二维图形如图3a所示,分水岭线将图像分为4个黑色区域,即为积水盆地区域,对应于图3b中的锥形区域,锥顶为局部最小值,进而将接触珍珠进行了分割,使相互接触的珍珠都有了独立的积水盆及分水岭。各珍珠图像由内部向相互接触区域边界递推计算过程中,像素梯度变化均匀一致,不存在出现小积水盆干扰的情况,实现了对相互接触珍珠的分割,再通过连通区域的标记,结果如图3c所示。

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

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

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

(4)

(xc,yc)为珍珠质心。

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

(5)

由式(2)可以计算出珍珠的半径序列,其表达式为Rk(k=1,2,…,m-1),其中,m为边缘点个数。

(6)

X为形状参数模型。

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

表1 珍珠圆形类分级标准

4 实验数据分析

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

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

图4 实验数据

(7)

图4中点划线为正圆和圆的分割线,双点划线为圆和近圆的分割线,统计3种不同形状的珍珠颗数如表2所示。对实验用90颗样本进行检测,本文算法检测完所有珍珠用时为24 ms。

表2 形状分级统计

5 结束语

本文通过基于机器视觉的珍珠形状检测方法,对珍珠形状进行检测,并进行相关实验,得出以下结论。

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

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

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

猜你喜欢
分水岭珍珠轮廓
“小珍珠”
OPENCV轮廓识别研究与实践
选 择
为了喝到珍珠
基于实时轮廓误差估算的数控系统轮廓控制
“种”珍珠真神奇
绿珍珠城(上)
2019,一定是个分水岭!
高速公路主动发光轮廓标应用方案设计探讨
江淮分水岭地理内涵辨析