基于机器视觉的金刚石原石检测系统*
2020-01-13石广丰王淑坤郭丰杰于大伟
石广丰, 王 雪, 王淑坤, 郭丰杰, 于大伟
(长春理工大学 机电工程学院, 长春 130022)
在开展金刚石原石加工前,对其加工的过程和结果进行规划设计必不可少,原石检测是设计前最重要的步骤[1-2],检测上的略微失误都将导致整个设计方案失败。随着高新技术的发展,新的方法与设备逐渐被引入到了金刚石检测环节中来。以色列、美国等率先研发出了在珠宝行业内应用的检测设备[3],其图像检测软件虽然效果明显,但成本过高。近年来,国内众多学者也对人造金刚石颗粒检测进行了研究。郭树青等[4-7]通过数字图像处理对片状金刚石颗粒形貌、尺寸进行研究,实现了对片状金刚石颗粒的形状、大小、净度、透明度等参数的测量。但目前国内研究者对金刚石原石检测系统进行的相关研究较少,国内的大部分厂家仍采用较为落后的手段进行检测。
传统的金刚石原石检测分级每一步都需要专人使用专用的检测工具进行。金刚石的尺寸通常使用游标卡尺、表盘卡尺、电子数显卡尺进行测量。金刚石的颜色测量是宝石学家使用精密仪器将钻石放在白纸上,面朝下与一套比色石进行比较。其外形检测则需要10倍或更低倍率的放大镜来完成。但仅靠宝石学家的眼睛进行检测分级容易出现误差[8-10]。
因此,需开发出一套基于机器视觉的天然金刚石原石检测系统,用来检测金刚石的尺寸、形貌与颜色,并生成一个可自由视角显示的天然金刚石原石三维模型,以减少检测成本和人为误差,并可以为后续的计算机辅助设计提供金刚石原石的三维模型。
1 试验原理
1.1 金刚石原石检测系统的硬件构成
金刚石原石检测系统原理如图1所示。其主要由照明子系统、光学成像子系统、机械运动子系统、图像采集子系统以及计算机组成。照明子系统由光源及光源控制器组成。标准钻石灯光源由2根15 W的色温为5 000~6 500 K的荧光灯及一根波长为365 nm的长波紫外光管构成。光学成像子系统由变焦镜头等组成。图像采集子系统由1 800万像素的CMOS和图像采集卡构成。机械运动子系统由旋转工作台、底座和步进运动系统(步进电机、51单片机、驱动控制器、led显示屏)构成。
检测过程中,运动控制子系统控制天然金刚石在指定位置以一定速度匀速旋转,照明子系统、光学成像子系统、图像采集子系统获取图像数据,并由计算机软件进行处理。
图1 基于机器视觉的金刚石原石检测原理图
1.2 金刚石原石检测系统的工作原理
金刚石原石的尺寸测量:通过CMOS相机获取原石的图像,随后对图像进行预处理,通过测量程序对被测金刚石原石的图像进行各边尺寸测量,生成尺寸模型。
金刚石的颜色分级:将金刚石原石特定位置的颜色均值(RGB)与在同一试验环境测得的金刚石比色石或比色卡的均值进行对比,得到其颜色等级。
金刚石的形态检测:通过识别图片中金刚石的表面特征与其典型晶面熔蚀特征对比,判断金刚石表面的(110)晶面和(111)晶面;再通过2种典型晶面面积的大小,确定其晶体类别(生长形态、过渡形态和熔解形态);最后将带有尺寸、颜色与表面特征信息的金刚石二维图片进行三维重建,得到可交互的金刚石自由视角的三维显示模型。
图2为金刚石原石检测系统结构示意图。通过图像传感器(CMOS)获取被测物体图像的模拟信号,再通过图像采集卡进行A/D转换得到其数字信号,输入到计算机,然后由开发的检测软件对被测物体进行检测。检测软件需要实现的功能包括获取图像并对图像进行预处理(包括:滤波除噪、图像增强)、直线图元测量(测量金刚石各边边长)、交互式测量指定位置的颜色均值、晶面熔蚀特征对比、三维重建等。
图2 金刚石原石检测系统结构示意图
2 金刚石原石检测系统的关键算法
2.1 图像预处理
由于图片在拍摄的过程中有各种因素的影响,会使图像与被测物体或原始图像产生差异。因此,在图像测量之前需要预处理,来降低噪声的干扰。由于要测量物体轮廓边缘的几何信息,所以图像的边缘信息提取极为重要。一般物体和背景对比度较大,反映在图像上是物体和背景的灰度差别较大,图像直方图将呈现较为明显的双峰型。因此,系统采用阈值法分割图像[11-12]。
2.2 直线图元测量算法
对于直线图元,采取先逐行或逐列扫描的方法去除边缘图像中干扰的“毛刺”噪声点,同时采用细化算法细化物体边缘图像。然后再对边缘图像利用最小二乘法进行线性回归分析后,得到其直线方程。考虑到一些未能去除的干扰的噪声点,所以在第一次线性回归分析后,计算各点到拟合直线的距离,将距离大的离散点去除,然后再进行一次校正线性回归分析。
2.3 典型熔蚀图元识别算法
对于金刚石切磨师而言,外形检测不仅可以鉴定原石的真伪,还可以帮助切磨师判断加工取向,是原石检测中不可或缺的步骤。由软件对被测图元进行判断,通过判别其熔蚀类型来确定金刚石各面的晶面,从而判断其晶体形态(生长形态、过渡形态、熔解形态)。不同晶面表现出的熔蚀痕迹各不相同[13],如图3。
典型的(111)晶面熔蚀痕迹有6种,如图3a所示,分别为:1-底部锐利的倒三角蚀像;2-阶梯状下沉的平底倒三角蚀像;3-平底倒三角蚀像;4-正三角蚀像;5-截角倒三角蚀像;6-六边形蚀像。(110)晶面熔蚀如图3b,分别为:1-平行蚀纹像;2-网状蚀纹像;3-趋(210)隆起曲线像;4-叠瓦状蚀像;5-盘状蚀像。(100)晶面的熔蚀为方形蚀像,如图3c。
利用一种基于图元特征的图元自动识别算法判别晶面熔蚀[14]。先通过图像处理识别图形外部轮廓,接着找到内部特征图形的起始点。按照从左到右,从上到下的顺序搜索,找到第一个轮廓点,定义为起始点,并将其存储在图形轮廓数组中。从起始点开始,在当前搜索方向的基础上逆时针旋转90°,用同样的方法依次找到各个轮廓点,并按照顺序存储在轮廓数组中。若全部搜寻完毕,能够返回到最初的起始点,证明此图元为封闭图元,否则为非封闭图元,从而最先筛选出(110)面熔蚀。
通过轮廓跟踪获取轮廓点数组后,再通过角度判别三角形、矩形和六边形,即根据轮廓信息计算曲率,判别拐角点数目。具体判别方法为:要判别轮廓点数组中第ai点是否为拐角点,则选择此点前后间隔为s的轮廓点,即分别找到第ai-s、ai+s2个点,s的大小经验证选4~6个点效果较好。将ai-s,ai,ai+s3个点组成三角形,采用反余弦定理,可计算3点在ai点出构成的夹角。计算公式如下:
(1)
(2)
(3)
(4)
将计算的角度θi与规定的阀值T比较,若小于T,如公式(7)所示,则判定ai是拐角点。
有2个拐点,判别为三角形,为(111)晶面熔蚀;有3个拐点为矩形,为(100)晶面熔蚀;有5个拐点,判别为六边形,为(110)晶面熔蚀。
2.4 指定区域的颜色均值算法
金刚石原石的颜色根据晶体表面的不同形态(生长形态、过渡形态、熔解形态)进行分级,如图4所示。因此,机器视觉实现颜色分级时不能简单计算整个金刚石原石的颜色均值(RGB),而是根据形态检测判定后,对不同类型的金刚石原石采用不同部位的颜色均值(RGB)再进行比较。
交互式选取指定位置图形,并计算此图形的颜色均值(RGB),编写图像测量程序。测量算法为——
选取图中任意2点p1(x1,y1),p2(x2,y2),通过2点在图片上取1个矩形,其长、宽分别为:
q=x2-x1,w=y2-y1
(5)
提取该矩形的所有颜色信息,构成3个矩阵:
(6)
矩阵中每个元素的值为:
rnm=image(x1+n-1,y1+m-1,1)
gnm=image(x1+n-1,y1+m-1,2)
(7)
bnm=image(x1+n-1,y1+m-1,3)
其中,n∈[1,w]、m∈[1,q],image表示储存此幅图片信息的文件名称。图像的颜色信息由R、G、B矩阵构成,这3个矩阵的值分别存储在图像的1、2和3矩阵通道中。因此此式中的rnm为图像image中第一通道矩阵坐标点(x1+n-1,y1+m-1)存储的值。gnm为图像image中第二通道矩阵坐标点(x1+n-1,y1+m-1)存储的值。bnm为图像image中第三通道矩阵坐标点(x1+n-1,y1+m-1)存储的值。
2.5 金刚石原石的三维重建
重建步骤为:(1)对采集到的图片序列利用中值滤波去除噪声,并利用Canny算子检测每幅图片中物体的边缘轮廓;(2)由于实际测量过程有一定程度的误差,通过Hough变换对这些近似于直线的零散点做直线检测,得出直线方程参数[15];(3)应用LOWE[16]提出的SIFT方法找出各幅图片中的匹配点,进行两两匹配;(4)基于Levenberg-Marquardt算法的Bundler匹配结果,利用射影定理计算得到相机的位置场景信息,再结合PMVS 算法将场景信息与原始照片结合在一起,得到照片中物体的三维点云[17];(5)用泊松表面重建算法[18]把这些点连成面,最终形成金刚石原石的三维模型。
3 结果与讨论
3.1 比例尺设定
影像的测量过程需将测到的像素值换算成毫米,而在不同的放大倍率下像素所代表的被测物体长度不同,需调整比例尺。通常的做法是用标定板(即刻有不同尺寸正方形的白色圆板)在不同放大倍数下对标定板进行像素值测量,实际尺寸与像素值的比值即为比例尺数值。对同一标准板上的图像像素长度测量如图5所示。
表1为比例尺测量结果。在同一放大倍数下,测量了8组不同正方形的像素和物长,计算出其比例尺平均值为0.004 58 mm/px,由公式(8)得出其测量精度3σ为0.5 μm。
(8)
图5 比例尺设定试验
表1 系统比例尺的标定结果
3.2 金刚石原石检测结果
将得到的比例尺输入到程序中进行金刚石原石尺寸测量。点击尺寸检测按钮,即可利用检测软件中的图元测量程序测量金刚石各边尺寸,金刚石各边边长测量结果如表2所示。根据测量的边长结果生成金刚石原石的尺寸模型,如图6所示。
表2 金刚石各边边长测量结果
图6 金刚石原石的尺寸模型
金刚石原石的形态检测如图7所示。图7中,通过图元自动识别算法捕获到了金刚石晶体表面存在正三角形熔蚀与平行蚀纹,即可判断此试验用金刚石的表面由(111)晶面和(110)晶面组成,晶体表面(111)的面积是(110)面积的2.541倍。结果表明此试验用金刚石为早期过渡形态金刚石。
图7 金刚石原石的外形检测
根据形态检测得到的结果,交互式选取金刚石指定区域图形,运行颜色检测程序,计算此区域内颜色的均值(RGB),得到R为241、G为233、B为227。对比在同一试验条件下测得的比色石的颜色均值,表明此试验用金刚石原石没有达到钻石级别的颜色要求,为工业级金刚石原石。
3.3 金刚石可自由视角显示的三维模型
选择由硬件平台采集到的144幅金刚石原石旋转一周的图像序列,运行三维重建程序,即可得到可以自由视角显示的金刚石原石的三维模型,如图8所示。表明此系统可以为后续计算机辅助设计提供金刚石原石的三维模型。
图8 金刚石原石的三维模型
4 结论
将金刚石原石的尺寸检测、外形检测、颜色检测以及金刚石原石的三维重建等功能集为一体,开发了基于机器视觉的金刚石原石检测系统。试验结果表明:尺寸检测模块中比例尺精度为0.5μm,图元的测量精度在微米级。外形检测可以判别金刚石晶体表面熔蚀及晶体形态,判断试验用金刚石颜色等级并生成可自由视角显示的金刚石原石的三维模型。该系统可减少人为误差,为后续的计算机辅助设计提供金刚石原石的三维模型。由于此系统为自主研发,因此所需成本仅为硬件成本,成本不足购买国外同类产品价格的十分之一。