基于机器视觉的瓶装饮料液位识别与定位2023-10-19

0 引言

饮料生产过程中,饮料灌装液位精度受灌装设备的硬件状况和定量灌装控制系统控制策略的影响会出现瓶装饮料液位高度波动。影响因素通常有饮料的液体特性及饮料内的固态成分、灌装设备故障、自动补偿控制系统调控策略等,因而灌装作业中瓶装饮料会出现灌装液位差。灌装后的液位高度检测可以帮助厂家确保质量、控制成本,长期出现灌装过量会造成原料需求量增加,企业利润减少;缺量饮料流入市场,会造成企业的信誉损失,从而影响消费者消费决策。通过液位检测可以反馈生产设备状态,出现大量灌装高度不合格饮料时,及时反馈错误,设备根据反馈信号及时调整参数修正错误,保障生产安全,提高生产效率。

瓶装饮料液位检测依赖光电传感器发出视觉检测程序触发“开关”,配合压力传感器测量、电容式传感器等对灌装液位进行检测,自机器视觉检测技术应用后,在大部分PET饮料瓶质量检测、灌装后液位检测多采用光电传感器触发检测开关,配合图像处理算法构成检测系统。早期基于Opencv液位识别方法识别速度较慢,目前多数以光电传感器作为液位检测图像处理程序的触发器。

随着机器视觉技术的成熟,目前机器视觉识别速度已能达到高速生产检测的要求。使用机器视觉在饮料生产中作为检测触发程序,不仅可以降低检测系统硬件使用量,集成化检测系统,还能快速对检测内容定位和调度检测程序,并且可以简化检测系统设备结构,弥补传感器冗杂的系统硬件布局缺点,提高系统效率和可靠性。饮料生产线视觉检测系统背景较为简单,因而更容易区分检测目标,图像中信息量少,配合图像处理方法识别液位高度也就越快。本研究在YOLOv7基础上参考饮料生产中饮料瓶质量检测和饮料液位检测方法,设计整套系统在背光照明的条件下实现瓶装饮料液位检测的快速识别和定位,并验证了识别速度与识别准确率,为实现高速液位检测提供识别模型,并快速定位液位区域,为液位高度检测程序提供触发指令,取代光电传感器作为检测程序的触发器。

1 数据采集与预处理

1.1 数据采集设备与方法

待采集的饮料瓶放置于传送带上,传送带宽25 cm;传送带一侧设置CMOS传感器海威工业相机,型号为MV-CE060-10UC,8 mm焦距镜头,采集图像分辨率为3 072像素×2 048像素;另一侧正对摄像头设置背光板,背光板尺寸30 cm×60 cm,可满足市场上大部分300~650 m L饮料瓶的高度,以此模拟生产的环境,其实际布局如图1所示。在采集图像试验台上采集不同类型瓶装饮料液位。为获得更好的液位特征完善识别模型,采集时以量筒测量后确定的饮料标准净含量液位面为高度参考面,采集了俯视、平视和仰视3个视角的图像作为学习样本,采集图像如图2所示。

正在加载图片

图1 瓶装饮料液位检测硬件布局   

Fig.1 Measurement hardware layout of bottled beverages liquid level

正在加载图片

图2 采集视角示意  

Fig.2 Schematic diagram of acquisition angle

采集PET瓶装饮料分类如图3所示,将采集PET瓶类型分为透明瓶透明液位、透明瓶有色液位、深色透明瓶、表面粗糙瓶、直颈瓶、浅色透明瓶、白色不透明瓶和瓶颈不规则瓶8类。8种瓶分别采集有标签有盖、有标签无盖、无标签有盖和无标签无盖4小类样本。每种类型饮料瓶基于饮料瓶形状过渡对液位进行高度分段,据此条件作为液位高度变量。

由于生产线生产速度不同,多瓶饮料排列间隔也不同,为模拟生产时多瓶排列情况,将多瓶饮料不同间距排列从紧密到稀松分为4种间隔:紧密、间距2~3 cm、间距5~6 cm和间距8~12 cm,如图4所示。

1.2 验证YOLOv7能识别研究目标

由于YOLOv7网络中默认识别的80类可识别目标包含饮料瓶,因而只需验证该模型在经过训练后能够正常识别和正确框定液位即可满足识别要求。在对采集的部分样本标注后,通过400轮次的训练,训练后验证效果如图5所示。

1.3 图像处理与标注

将采集的原始图像筛选出无残影的图像,对图像采取如下方式修改,增强模型对图像识别准确性。

扩充采集样本,模拟暗光与背光亮度过高,偏色处理模拟颜色失真,改变明度,图6a为随机选取图像改变色相、饱和度和明度权重的样本图像。模糊图像,从选取的图像中随机选取图像,模拟实际应用中拍摄出现异常的情况,增加高斯、椒盐和乘法噪声;部分虚化图像模拟镜头有雾气。图6b分别为加高斯、椒盐、乘法噪声和虚化的样本图像。

为进一步验证模型复杂图片识别能力,选取部分旋转与加马赛克处理,图6c是瓶装饮料原始图像旋转和马赛克处理的样本图像。

正在加载图片

图3 不同类型饮料瓶图像  

Fig.3 Images of different types of beverage bottles

正在加载图片

图4 饮料瓶不同间距排列  

Fig.4 Different interval arrangement of beverage bottles

正在加载图片

图5 饮料液位识别与定位  

Fig.5 Beverage level identification and positioning

2 基于YOLOv7识别网络改进

已验证YOLOv7能够正常且准确识别和框定液位,通过改进YOLOv7结构(图7),使得该算法更加适用于瓶装饮料液位识别与框定,在实际生产检测中与检测程序更加契合。

2.1 空间金字塔池化改进

YOLOv7基于空间金字塔池化结构(Spatial Pyramid Pooling,SPP),通过跨阶段局部网络CSPNet结构设计的一种SPPCSPC的空间金字塔池化结构[21,22]。SPP需要指定3次卷积核大小,默认核大小为5、9、13,通过将来自CBS模块的数据进行3次池化并拼接,然后再过一个CBS,旨在增强特征图特征表达能力。为获得训练加速和加速推理,采用更快的空间金字塔池化结构(Spatial Pyramid Pooling-Fast,SPPF),将输入串行通过3个5×5卷积核的Max Pool层,最后将各个输出连接,与SPP相比,SPPF指定一个卷积核,每次池化后的输出会成为下一个池化的输入,计算速度更快,以此为基础改造该结构为SPPFCSPC结构,其结构如图8所示。

正在加载图片

图6 处理后的图像  

Fig.6 Processed images

正在加载图片

图7 YOLOv7网络框架   

Fig.7 Network framework of YOLOv7

2.2 YOLOv7损失函数改进

YOLOv7采用CIo U损失函数,其纵横比权重不明确,其公式中参数反映的是长宽比差异,而不是宽高分别与其置信度的真实差异,在训练后得到模型检测液位时会因为瓶中倾斜液位而出现检测框偏移较大,因而改进为SIo U公式。

正在加载图片 


角度计算如图9所示,其他计算如下。

正在加载图片 


正在加载图片 


正在加载图片 


正在加载图片 


式中LossSIoU-总体损失函数

Io U-预测框与真实框交集和并集比值

正在加载图片

图8 SPPFCSPC结构  

Fig.8 Structure of SPPFCSPC

正在加载图片

图9 角度损失函数成本贡献计算  

Fig.9 Calculation of angle cost contribution into loss function

Δ-距离损失

Ω-形状损失

Λ-角度损失

A-面积

B-真实框

BGT-预测框

(bcxgt,bcygt)-真实框中心坐标

(bcx,bcy)-预测框中心坐标

cw、ch-真实框与预测框最小外接矩形的宽和高

hc-真实框和预测框中心点的高度差

σc-真实框和预测框中心点的距离

w、h-预测框的宽和高

wgt、hgt-真实框的宽和高

θ-形状损失关注程度,值为4

SIo U损失函数考虑了期望回归之间的向量夹角,即角度损失Λ,还包括距离损失Δ、形状损失Ω、Io U损失。方向框的角度会影响回归,引入了角度损失Λ使得预测框快速地移动到最近地最近角度的轴,随后模型将尝试首先在X或Y轴做预测(以最接近者为准),然后沿着相关轴继续接近。采用SIo U作为损失函数相等的训练轮次下精度更高,添加角度惩罚进一步限制距离损失,有效地减少了损失的总自由度。

3 改进后模型训练与评估

3.1 训练软硬件环境与过程

使用处理后的图像作为训练数据集,采用YOLOv7模块,400次迭代,每8个样本作为一个批处理单元(Batch size)。以多类别平均精度m AP、准确率(预测为正样本实际为正的概率)Precision、损失值Loss及召回率Recall(实际为正的样本中被预测为正样本的概率),作为模型评价指标;以平均精度m AP和检测时间t作为已训练好的模型的主要评价指标。训练配置如表1所示。


  

表1 训练与测试环境  

Tab.1 Train and test environment setting


正在加载图片

标注数据集,标注图像共2 477幅,单瓶样本中,无色透明瓶755幅、有色透明瓶463幅、不透明白色瓶150幅、表面粗糙瓶240幅;多瓶排列样本269幅。修改HSV权值样本100幅、旋转样本100幅、加马赛克100幅、加噪点150幅及虚化样本150幅。按照4∶1∶1的比例分配为训练集、验证集和测试集。

3.2 训练模型

改进后的损失函数曲线如图10所示。模型损失函数曲线在前50轮损失值下降较快后开始收敛,300轮之后损失值变化较小,并且损失值较小,可以确定损失函数有效。

正在加载图片

图1 0 模型训练参数曲线   

Fig.10 Parameters curves of model training

4 结果与分析

4.1 试验方法

为验证改进后的YOLOv7饮料生产线关键目标检测模型的识别性能,对模型的测试集做分类验证。

(1)将分配好的含所有类别图像的测试集图像做混合测试,验证模型性能。

(2)测试集分类验证,将分类好的测试集图像样本、改变HSV权值的样本、马赛克模糊和加噪声3类识别验证,并对以上识别结果框定区域进行人工评估。

4.2 模型试验

将同样的训练集分别在原YOLOv7和改进后的YOLOv7模型上训练。使用二者训练后的模型与本研究改进后的YOLOv7训练好的最好权值模型在测试集上验证。选取测试项为饮料瓶、液位识别精度、总体识别精度和平均精度,结果如表2所示,改进后的模型饮料液位识别精度为96.3%,比未改进模型94.5%高1.8个百分点,模型占用71.3 MB存储空间。平均识别时间10.7 ms,非极大值抑制时间1.4 ms,平均识别框定时间12.1 ms。


  

表2 改进后模型评估 

Tab.2 Improved model evaluation


单位:%

正在加载图片

4.3 处理后样本测试

进一步测试模型在暗光、色彩失真条件下模型的可靠性和检测的准确性,选取暗光和修改色相、饱和度、亮度和全图马赛克(马赛克核为15×15)的图片各30张,包含多瓶排列样本和空瓶,分别使用原算法和改进的YOLOv7训练后得到的最好的模型中测试得到结果如表3和图11所示。


  

表3 失色样本检测  

Tab.3 Discoloration sample detection


正在加载图片

由表3和图11可知,在暗光、马赛克、修改饱和度和改变色调的条件下模型没有出现漏检且液位定位准确。

4.4 噪声与虚化目标检测

在实际生产过程,因为相机过热、线路不稳定等因素会出现部分采集样本出现噪点,因而为验证模型稳定性,分别选取30张加了高斯、椒盐和乘法噪点的样本图像实测模型的抗噪点能力,包含多瓶排列样本和空瓶,检测结果如表4和图12所示。通过实测,模型对于出现噪点的样本同样能准确识别,并且液位框定位置准确;增加噪点的样本仍能准确识别并定位液位位置,对含气泡液位也能正确识别。


  

表4 噪点样本检测  

Tab.4 Noise sample detection


正在加载图片
正在加载图片

图1 1 失色样本检测结果   

Fig.11 Test results of discolored samples

正在加载图片

图1 2 加噪点饮料液位样本检测结果   

Fig.12 Test results of add noise bottled beverage liquid level samples

5 结束语

(1)提出的基于YOLOv7网络模型单幅图像关键目标识别时间10.7 ms及非极大值抑制(NMS)处理时间1.4 ms,识别并定位平均耗时12.1 ms,模型占71.3 MB存储空间。证明该模型对饮料关键检测目标识别与定位的可行性,替换传统传感器作为瓶装饮料液位高度检测的图像识别程序的触发器,可实现实时的检测触发。

(2)识别模型可实时输出识别框的像素位置数据,图像处理程序根据框位置可直接从图像中截取识别目标进行基于图像处理的实时识别。

(3)对多种处理后图像的试验验证表明,该模型具有抗干扰检测能力,并且在暗光、颜色失真、加噪点和混合多类饮料且多噪点情况下也能识别目标,能够对多种饮料瓶液位识别。