基于机器视觉的玻璃瓶重量检测研究

2022-09-02 03:23邹光明许家旺谢泽祺
制造业自动化 2022年8期
关键词:瓶底瓶身瓶口

姜 佳,邹光明*,许家旺,谢泽祺,闵 达

(1.武汉科技大学 冶金装备及其控制教育部重点实验室,武汉 430081;2.武汉科技大学 机械传动与制造工程湖北省重点实验室,武汉 430081)

0 引言

在玻璃瓶罐行业,由于玻璃料滴温度波动、供料机冲头与液压缸工作不同步、料滴重量不稳定等因素导致10%的玻璃瓶罐产品重量不合格,因此在生产过程中需要检测玻璃瓶的重量是否符合生产要求。传统的检测方法基于人工手动测量检测,例如,在生产时候,每隔10分钟,玻璃瓶罐生产工人就需要从输送带上将玻璃瓶进行称重,根据重量是否符合要求调整供料机的开口。由于玻璃瓶罐生产属于高温环境,特别在夏天,工作环境温度高,工人每隔一段时间就需要换人,这种传统的测量方法受人为因素的影响较大,并且测量效率低,无法满足测量的精度要求[1~3]。因此,基于机器视觉的自动化非接触测量是一种解决方式。

基于机器视觉的检测和测量在工业生产中已经得到了广泛的使用,可用在检测产品的质量、测量产品的几何参数、目标识别等多领域[4]。在物体尺寸测量方面,周平等利用机器视觉技术,获取鸡蛋图像,建立体积与像素体积和表面积与像素表面积之间的线性预测模型[5];周世凡等获取冷态模拟玻璃料滴的图像,利用机器视觉技术,用水平切片法计算物体的体积和重量[6]。我国在玻璃瓶罐质量检测研制方向相对落后,在玻璃瓶罐外形尺寸测量上,陆志敏等利用机器视觉和图像处理技术检测玻璃瓶瓶罐瓶口的内径、外径、瓶子高度和瓶的垂直度,实现了玻璃瓶罐的外形尺寸检测[7]。

本文,利用机器视觉技术对玻璃瓶的重量进行非接触自动化测量,首先搭建基于机器视觉的玻璃瓶测量系统,拍摄玻璃瓶图片,对拍摄到的玻璃瓶瓶口和瓶身图片进行轮廓提取,对相机进行视觉标定,获得提取轮廓的参数信息。然后对获取的轮廓参数信息进行分析,分别得到瓶口壁厚尺寸,瓶身轮廓尺寸信息,对瓶身轮廓按玻璃瓶罐结构特征分为瓶口、瓶颈瓶肩、瓶身、瓶底四部分,每部分体积累加得到玻璃瓶的体积和重量。

1 测量原理

1.1 玻璃瓶重量求解方法

玻璃瓶的重量可由玻璃瓶体积、密度计算得到,瓶罐的体积根据玻璃瓶的结构特征分段累加计算得到。将玻璃瓶体分为若干部分,如图2(a)所示,每一部分都力求为规则几何体,确定各部分相应尺寸,再利用公式计算体积。不是规则几何部分如瓶底,用近似的计算方法求其体积。对于待测的玻璃瓶,将玻璃瓶分为四个部分,即瓶口、瓶颈、瓶身和瓶底。

1.1.1 瓶身体积计算

瓶身部分是规则圆柱形,瓶身的体积计算如式(1)所示:

其中:d为瓶身的直径;h为瓶身的高度。

1.1.2 瓶颈体积计算

瓶颈的体积VPJ,将瓶沿轴向进行分段,求每一个分段的体积,累加各段体积得到该部分的体积。每一个分段取分段平均直径,按规则圆柱体体积公式计算。

1.1.3 瓶口体积计算

对于冠型瓶口,瓶口形状不规则,计算瓶口的体积时,将其水平分割成若干厚度相同的同轴微圆筒,使用积分的方式求得体积,公式如式(2)所示:

其中:hr为瓶口的高度;Δh为微圆筒高度;d为微圆筒直径;

1.1.4 瓶底体积计算

瓶底的体积VPD,根据瓶底结构的具体情况来计算,将其分割成若干规则几何形计算体积。对于本文测量的玻璃瓶瓶底如图1所示,分割为左右扇形圆环、内凹柱体、内凹球面。

1)左右两侧的扇形圆环如图1(b)所示阴影处,扇形圆环体积公式如式(3)所示:

式(3)中,Fx为扇形截面面积,其公式如式(4)所示:

2)柱体体积公式:

3)内凹球面体积公式:

瓶底的体积等于扇形圆环体积与柱球形体积之和:

式(7)中:d为瓶底的直径;R为扇形圆环半径;h柱为内凹柱体高度;h球为内凹球体高度;Rq为内凹球体半径。

式中:VR为玻璃瓶罐的容积。

1.2 水平切分法

根据上一节的分析,玻璃瓶分割后,除瓶底外的其他部分均是规则的几何图形,在瓶口、瓶颈和瓶身部分,玻璃瓶的截面可认为是一个规则的回转体,因此,可利用其旋转特征求玻璃瓶体积,瓶颈与瓶口的体积是将玻璃瓶沿轴向分段,求每一个分段的体积后进行累加。因此,在该方法的基础上对瓶口、瓶颈和瓶身部分提出水平切分再积分的方法进行体积计算,如图2(b)所示,体积计算公式如式(10)所示:

图2 玻璃瓶示意图

式(10)中:h为瓶口、瓶颈、瓶身的高度和,di为水平切分截面直径。

瓶底的部分单独求解,瓶底的直径和高度在已知的情况下可利用公式求解,玻璃瓶罐加工工艺对瓶底的高度有规定值,根据相机的标定结果和瓶底的高度找到瓶底和瓶身的分界像素分割水平线,分割水平线以上瓶身部分按水平分割再积分的方法进行累加,瓶底部分求得像素直径。累加各部分体积得到玻璃瓶的体积,得到玻璃瓶的重量。

2 系统方案设计

2.1 测量系统

设计基于机器视觉的检测平台,搭建玻璃瓶图像的采集系统,该系统包括CCD相机、光源箱、光源、图像采集卡和计算机。CCD相机分别获取玻璃瓶的瓶口图像和瓶身图像,型号为佳能kiss x7。为了照亮目标,区分目标与背景,克服环境光的干扰,搭建光源箱。照明光源用于突出被测部位的特征,使用环形光源放置在被测物体的正上方。后期需要用计算机对图像进行处理,因此需要利用图像采集卡将拍摄到的图像存储至计算机上。图像采集系统如图3所示。

图3 图像采集测量系统图

2.2 图像处理流程图

搭建好图像采集系统并获取玻璃瓶瓶口和瓶身图像后,需要对图像进行一系列操作,提取出瓶口和瓶身轮廓参数。由于所获得的图像是带有大量噪点的原始图像,需要进行滤波降噪、阈值分割等预处理,方便进行下一步轮廓提取[7,8]。玻璃瓶瓶口和瓶身的图像处理流程图如图4所示。

图4 图像处理流程图

2.2.1 瓶口图像处理

对瓶口的原始图像,利用滤波降噪、阈值分割和轮廓提取算法获得瓶口的特征轮廓。

获得的瓶口原始图利用Halcon软件将RGB图像进行灰度处理转换为灰度图像,然后进行图像预处理,在处理过程中,图像上的噪声不易被察觉,为了防止后续的图像处理加深噪声的影响,在边缘提取之前需要进行滤波处理,去掉图像中存在的噪声[10~13]。常用的噪声处理主要包括中值滤波和高斯滤波。图像上存在的单个像素噪声无法直接观察到,本文通过给原始图加上噪声后,采用高斯滤波、中值滤波算法对转换后的灰度图像进行降噪处理,通过对比,选择中值滤波算法进行降噪。

根据降噪后的灰度直方图选取合适的阈值,使图像的特征与背景间的对比更加明显。如果特征区域包含其他没有被分离的区域,还需要将该提取到的图像特征区域打断,再一次分割出特征区域。

瓶口的轮廓通过配合Canny算子对瓶口的内外圈特征进行轮廓提取,利用最小二乘法计算得到拟合圆,在所提取的拟合圆轮廓的基础上获取需要的轮廓具体参数,包括圆心像素值,内外轮廓半径像素差值。

2.2.2 瓶身图像处理和体积计算

对瓶身图像进行预处理后,获得瓶身的特征轮廓,瓶身的轮廓使用外接矩形算法提取出瓶宽和瓶高等几何信息,采用水平切片法求得瓶口、瓶身和瓶颈的像素面积,瓶底部分单独利用公式求解。然后采用Halcon软件标定相机的各种参数,将提取出的轮廓的像素尺寸转换为以毫米为单位的真实尺寸,从而进行下一步的计算。结合相机标定的结果,可得到轮廓对应的实际尺寸信息进而求得玻璃瓶的体积。

2.3 相机标定

为了确定拍摄图像的图像坐标与真实尺寸坐标的转换关系,需要对相机进行标定。本文采用传统张氏标定法[9]进行相机标定,通过拍摄标定物来建立现实世界中的某一点与图像上点间的转换关系,以此方式得到相机参数。使用圆形点标定板作为参照物,并借助Halcon软件来提取标定板中的圆点以及半径,根据标定板上已知的特征圆点与图像像素坐标对应的像素关系来建立函数关系,通过求解并经过优化处理后得出相机的参数,完成相机标定。圆点型标定板的外形尺寸为150mm×150mm,其中有7×7个小圆点,每个小圆点的直径为7.5mm,相邻圆点中心距为15mm。

3 结果与分析

3.1 实验测量

实验测量的玻璃瓶采用小口吹压成型工艺,壁厚均匀,冠型瓶口,瓶身为黑色,结构呈溜肩状,外形圆柱锥面,瓶底凹球型。玻璃瓶实际重量由精度为0.001g的高精度天平秤测得,用排水法测若干组玻璃瓶体积V。通过公式验证其密度均匀的特征,得到玻璃瓶密度平均值为ρ=2.486g/cm3。玻璃瓶罐瓶底尺寸按工艺要求取值h球=3mm,Rq=115mm。

3.2 图像预处理

先将获取到的RGB图像进行灰度处理转换为灰度图像,然后进行图像预处理。瓶口部分所存在的单个像素噪声无法直接观察到,加入噪声后分别进行中值、高斯滤波处理后的效果如图5所示,瓶口图5(a)、图5(d)对比,发现中值滤波的效果更好,通过此方式能够有效去除原图中的噪声干扰。瓶身部分图像的噪声集中在图像右上角,对瓶身原图分别进行高斯滤波、中值滤波后的效果如图6所示,瓶身图6(b)、图6(c)对比,发现均值滤波的效果更好,采用此方式对瓶身进行滤波处理。

图5 瓶口图像预处理

图6 瓶身图像预处理

3.3 图像增强与特征提取

图像增强是对图像中的目标特征进行增强处理,增强图像特征与背景间的对比使图像特征更加明显。根据图像的灰度直方图确定灰度主要分布的区间进行灰度变换,对其进行 值分割处理使背景与特征能够清晰的区分处理便于特征提取[14~16]。瓶口部分图像增强与特征提取处理,根据瓶口灰度直方图分布,双波峰代表区域为背景,将阈值取在波谷处,如图7灰度区间所示。根据瓶身灰度直方图,背景与特征有明显的区分段,将阈值取在前半段,如图8灰度区间所示。阈值分割处理后瓶口部分得到结果如图9(a)所示,阈值分割图中含有背景,将背景与特征打断,选出特征区域得到如图9(b)所示。瓶身部分通过增强处理后将玻璃瓶身特征的像素灰度进行均衡化处理,阈值分割得到结果如图9(c)所示。可以看出特征与背景能够清晰的区分出来,便于轮廓提取。

图7 瓶口灰度直方图

图8 瓶身灰度直方图

图9 瓶口图像增强与特征提取处理

3.4 轮廓边缘提取

对于瓶口部分边缘特征的提取,采用Canny算子。Canny算子不仅可以检测图形的边缘,还能识别边缘的方向。通过阈值分割配合Canny算子对瓶口的内外圈特征进行轮廓提取得到,再利用最小二乘法计算得到拟合圆如图10(a)所示。在所提取的拟合圆轮廓的基础上获取需要的轮廓具体参数,包括圆心像素值,内外轮廓半径像素差。

对于瓶身图像的边缘特征提取,在瓶身不含噪声的图像中,像素变化不光滑的像点即为边缘点,提取所有的边缘点便是图像特征的边缘,这里使用常见的基于梯度的边缘检测算法对瓶身部分进行边缘提取,得到如图10(b)所示的瓶身轮廓。轮廓中由于反光等因素出现一些细小空洞,在轮廓提取前还需要进行形态学运算将空洞补齐,这个过程不会改变瓶身的实际尺寸,再进行瓶身轮廓提取得到如图10(c)所示的边缘。在所提取的轮廓基础上需要获得轮廓具体参数,玻璃瓶体积的计算不仅需要得到壁厚,还要包括瓶身不同部分的宽度与高度。

图10 轮廓边缘提取

3.5 尺寸测量与各部分体积计算

对于各部分的体积计算,利用分段法和水平切分法累加得到玻璃瓶的体积,实验所用的玻璃瓶实际壁厚取平均值2.46mm。实际重量取平均值204.340g。为了验证该方法的精确性和准确性,重复测量8次,测量的结果如表1所示,测量误差如图11所示。实验结果表明,壁厚测量值的相对误差小于1%,玻璃瓶的重量相对误差满足在2%以内。当前测量系统获得了比较满意的结果,可以达到生产线上检测要求,但是精确度还有待进一步提高。

表1 测量结果

图11 壁厚和重量的测量误差

4 结语

针对传统的人工检测玻璃瓶重量的方法,提出基于机器视觉的自动检测方法,利用机器视觉系统采集玻璃瓶瓶口和瓶身图片,结合一系列算法对图像进行滤波、二值化和边缘提取,实现对玻璃瓶壁厚和各部分直径的测量,采用水平切分法和分段法计算玻璃瓶体积,从而得到玻璃瓶重量的检测。经验证,使用本文所提方法得到的玻璃瓶壁厚检测相对误差在1%以内,玻璃瓶重量相对误差在2%以内。

猜你喜欢
瓶底瓶身瓶口
春日粉妆
神奇的瓶子
最是春花烂漫时
百变瓶子
吸管钓鱼大赛
黑暗中寻找光明
口香糖瓶的改进
小蜗牛储物盒
Alexander Wang操刀为Evian设计瓶身