基于YOLOv3目标检测的液位测量方法研究

2022-05-27 08:26李淑娟任朋欣薛丁丹翟兴旺
化工自动化及仪表 2022年3期
关键词:液位特征提取边界

李淑娟 任朋欣 薛丁丹 翟兴旺

(西安理工大学机械与精密仪器工程学院)

随着科学技术的快速发展、工业产线的智能化,液位测量技术得到了大力发展,特别在净水产线、水利工程及石油化工等产业。 常用的液位测量手段通常分为两大类: 接触式和非接触式。接触式液位仪一般有电容式液位仪、电感式液位仪、浮力式液位仪及压阻式液位仪等;非接触式液位仪一般使用超声波传感器、雷达传感器及激光传感器等进行测量,文献[1]还提出了利用激光三角测量原理和角位移同步跟踪来提取液位图像的方法。

在净水器设备中使用的反渗透膜与纳滤膜生产过程中,由于涂布与溶液中的纳米粒子发生反应,导致液位发生连续变化。 当液位不符合要求时,经常导致反渗透膜表面不均匀,影响产品质量。 因此,检测液位高度十分必要。 其中,涂覆过程中的溶液具有高腐蚀性, 且溶液具有流动性, 如果使用接触式传感器则需要经常更换,成本高昂,故此类溶液应采用非接触式传感器进行液位测量。 超声波传感器、雷达传感器及激光传感器等虽然精度高,但是价格高昂,测量范围有限,均属于点测量,不能解决涂覆过程中溶液波动的问题,文献[2,3]采用的是基于机器视觉的液位检测方法,但是鲁棒性较弱,因此笔者对该方法进行改进,设计出一种基于机器视觉的液位测量系统。

1 系统总体构成

笔者设计的基于机器视觉的液位测量系统总体框图如图1所示。

图1 基于机器视觉的液位测量系统总体框图

该系统采用机器视觉方法进行液面高度的自动识别和检测。 在溶液池上标记相应刻度,工业相机实时采集液面信息, 通过YOLOv3+SPP深度学习算法进行目标检测识别,在上位机界面进行显示。 将液位信息传输到控制系统中,对液位进行实时控制,以保证产品质量。

2 YOLOv3原理

YOLO(You Only Look Once)是一种实时的、先进的、端到端的目标检测模型,是目标检测方面的领跑者。 YOLOv3是YOLO的第3版,也是最为经典的一个版本。 文献[4,5]分别介绍了YOLO从第1~3版的发展历程和具体实现方法。

SPP(Spatial Pyramid Pooling)是一种从不同尺度进行最大池化操作得到不同大小视野特征图的网络。

YOLOv3的基本思想是: 将输入的图片经过特征提取网络提取特征, 输出不同大小的特征图,在不同尺度上对目标进行预测。 将输入图像划分为S×S的网格, 真实框中的目标中心落入某个网格中,此网格将预测这个目标;YOLOv3中每个网格根据候选框预测3个边界框的偏移量和置信度,并且预测C个类别分数。 YOLOv3网络模型将Darknet53作为主干特征提取网络, 分别从3个不同尺度进行预测,实现对不同大小目标的精确预测。

YOLOv3+SPP网络结构如图2所示。

DarkNet53的结构如图3所示,输入512×512×3的彩色图像,经过3×3卷积核进行特征提取,不同步长实现图片压缩,1×1卷积核进行降维处理,使用批归一化(Batch Normalization,BN)进行数据处理, 消除噪声干扰。 使用LeakyReLU作为激活函数。 加入残差网络(Residual Networks,ResNets)防止梯度消失、梯度爆炸和过拟合。 DarkNet53作为主干特征提取网络, 为分类网络提供不同尺度的特征层,分别为16×16、32×32、64×64,以此来预测不同大小的目标,提高精度。

图3 DarkNet53的结构

DarkNet53特征提取网络的输出尺度后接SPP网络,SPP网络以1×1、5×5、9×9、13×13这4个不同的尺度进行最大池化操作,即可得到不同大小视野的特征图,这对预测尺寸相差较大的目标是极为有利的,增加了预测精度。SPP网络结构框图如图4所示。

图4 SPP网络结构

YOLOv3+SPP网络中使用一个1×1卷积层将不同尺度输出为最终预测结果, 卷积核个数为(classes+1+4)×anchors,其中classes表示类别个数,1为置信度个数,4为预测边界框相对于候选边界框的偏移量个数,anchors表示候选框的个数。

YOLOv3的损失函数由置信度损失、 分类损失和定位损失3部分组成:

其中,λ1、λ2、λ3是平衡系数;Lconf(o,c)为置信度损失;Lcla(O,C)为分类损失;Lloc(l,g)为定位损失。

目标边界框预测示意图如图5所示, 图中虚线框表示候选边界框,实线框表示预测边界框,cx、cy表示预测目标网格的左上角坐标, 即候选边界框的中心点;pw、ph表示候选边界框的宽、高。bx、by、bw、bh表示预测边界框的中心点、宽和高,其中bx=σ(tx)+cx、by=σ(ty)+cy、bw=pwetw、bh=pheth、σ(x)=Sigmoid(x)。

图5 目标边界框预测示意图

3 实验

采集1 000张实际工作环境照片,利用GitHub上开源软件LabelImg辅助标注工具进行标注,实际检测目标为0~10的数字,即框选出目标图像中数字的真实边界框。LabelImg标注的图像如图6所示。

图6 LabelImg标注的图像

3.1 图像预处理

深度学习训练过程中, 为防止模型过拟合,需要大量训练样本,训练样本数量直接影响最终的检测结果。 1 000张图像属于小样本,对于深度学习训练来说严重不足,因此采用图像增强方式来扩充样本数量和种类。 常用的数据增强方式有旋转、镜像、翻转、裁剪、颜色抖动、噪声、平移、缩放以及采用生成式对抗神经网络生成新图片,文献[6]介绍了相应的图像预处理方法。

笔者采用常用的数据增强算法将数据集扩充至20 000张, 并且使用Mosaic数据增强方法,随机抽取4张图片将其随机裁剪再拼接。这样不仅增加了数据, 而且相当于提高了批处理图片的个数。对数据进行批归一化,防止中间层数据分布发生变化。

3.2 图像训练

YOLOv3 SPP网络中参数量庞大, 如果直接从零训练,没有足够的算力,训练将非常耗时,而且损失值难以下降,预测效果不佳。 笔者在训练过程中采用迁移学习方法中的模型迁移进行训练, 使用官方在PASCAL VOC2012数据集上的训练权重作为预训练权重,将DarkNet53特征提取网络参数进行冻结,SPP网络参数和分类网络参数使用实际液位测量数据(即经过预处理的20 000张图像)进行训练。 学习率按照自适应法取值,随着训练次数的增加, 学习率从0.001逐渐减小,平均准确率均值 (mean Average Precision,mAP)逐渐上升为0.6,如图7、8所示。

图7 学习率随训练次数的变化

图8 mAP随训练次数的变化

3.3 图像预测

将预处理的20 000张图像按9∶1划分为训练集和测试集,将测试集输入mAP值最高(即损失函数最小)的模型中进行预测,满足工程需求,预测结果如图9所示。

图9 网络最终预测结果

为了保证预测结果的准确性,根据液位是连续变化的,进行误识别结果剔除,即对采集的照片进行数字识别,取最小数字和相邻数字的像素坐标,若最小刻度y轴像素坐标小于相邻刻度y轴像素坐标或大于最小间距的1.5倍均为误识别,进行重新采集。 由于液面具有波动性,测量结果随机变化,为了解决这个问题,每10 s采集一帧,取前5次刻度识别结果的平均值以抵消波动带来的影响。 大量实验证明,该方法提升了液位识别的准确率,由原来的95%提升为98%。

4 结束语

笔者设计的基于机器视觉的液位测量系统由海康威视工业相机、 诺达佳嵌入式工控机以及客户端操作软件组成。采用YOLOv3+SPP深度学习算法进行目标识别,具有高鲁棒性和高准确性,可直接移植到其他液位测量项目中。 该液位测量系统属于非接触式测量,安装位置比较宽泛,测量系统整体位于溶液槽外,使用保护罩进行保护,保证了系统的可靠性。 通过实验验证了视觉液位测量系统的可行性,具有一定的推广价值。

猜你喜欢
液位特征提取边界
守住你的边界
探索太阳系的边界
意大利边界穿越之家
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
基于Daubechies(dbN)的飞行器音频特征提取
2009年宝马730Li发动机冷却液报警
宝马530车冷却液液位过低报警
浅谈热控专业中液位开关安装及问题处理