一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于YOLOv5模型的泥浆泌水率实时检测方法与流程

2022-09-03 03:01:53 来源:中国专利 TAG:

一种基于yolov5模型的泥浆泌水率实时检测方法
技术领域
1.本发明涉及机器视觉应用技术领域,具体为一种基于yolov5模型的泥浆 泌水率实时检测方法。


背景技术:

2.自动泥浆泌水率识别是一项重要的任务,根据《公路工程水泥及水泥混 凝土试验规程》的公告,增加水泥浆体相关试验方法4项。包括:

水泥浆 体钢丝间泌水率试验方法、

水泥浆体自由泌水率和自由膨胀率试验方法、
ꢀ③
水泥浆体充盈度试验方法、

水泥浆体压力泌水率试验方法。
3.目前大多数水泥浆体相关试验的测量,都是使用人工目测统计的方法, 不仅费时费力,在复杂多变的场景下还容易产生错误。
4.近年来,深度学习相关技术的飞速发展给泥浆泌水率试验提供了新的识 别方法,即使在复杂多变的的场景下也能快速准确的得到泥浆泌水率。


技术实现要素:

5.本发明的目的在于提供一种基于yolov5模型的泥浆泌水率实时检测方 法,具有网络快速、pipline简单、背景误检率低、通用性强等优点,以解决 上述背景技术中提出的问题。
6.为实现上述目的,本发明提供如下技术方案:
7.一种基于yolov5模型的泥浆泌水率实时检测方法,包括以下步骤:
8.s1:采用固定在泥浆识别仪器中的相机拍摄多段泥浆泌水图片,使用长 曝光帧,得到大量包含清晰泌水泥浆的图片;
9.s2:经过图像信息标注数据处理后得到数据集;
10.s3:使用迁移学习加载yolov5网络的部分预训练权重,构建yolov5s检 测框架;
11.s4:训练网络并根据检测结果调整超参数,不断优化yolov5-s的损失函 数,直至得到最优网络。
12.更进一步地,s2中得到数据集的具体方法如下:
13.s201:为了得到准确的泥浆泌水率,采用高速连拍相机拍摄泥浆泌水率 识别仪器中静置泥浆泌水视频进行处理:将视频分解为图像序列后人工标注 清晰图片中的泥浆刻度与位置信息;
14.s202:将拍摄得到的模糊图片与其清晰图片进行同样的图像增强操作, 具体为:翻转、裁剪、改变对比度、调整饱和度拼接;
15.s203:将得到的图像对和位置信息组合得到模型的数据集,其中模型输 入包含模糊或清晰的未标注图片,输出包含输入对应的已标注清晰图片以及 泥浆泌水的位置信息。
16.更进一步地,s3中构建yolov5s检测框架的具体方法如下:
17.s301:特征提取网络采用带有focus结构的csp darknet53作为主干网 来提取输
入图片的底层特征;backbone第一层focus,从高分辨率图像中, 周期性的抽出像素点重构到低分辨率图像中,即将图像相邻的四个位置进行 堆叠,聚焦wh维度信息到c通道空间,提高每个点感受野,并减少原始信息 的丢失,从而减少计算量加快速度;
18.s302:从主干网中输出7个不同层次的特征图,其中3个特征图连接 yolov5中的csp结构块,panet基于mask r-cnn和fpn框架,加强信息传 播,用于预测输入图片中泥浆泌水的位置;另外4个特征图通过卷积、上采 样,拼接的方式构成yolov5s网络的降噪分支,用于去除输入图片中的模糊, 生成清晰的图片。
19.更进一步地,在训练好模型后,原始模型在获得推断结果以后会进行调 用绘图函数画框,保存文本结果,保存图像结果的一系列操作,其中,在调 用绘图函数之前截获目标检测坐标和标签信息,并封装成json文件,通过 flask传输至服务器端进行识别。
20.更进一步地,在yolov5特征融合层和检测层网络中,利用fpn pan结构 增强特征与定位的传递性,输出3个尺度的输出检测层:80
×
80、40
×
40和 20
×
20,分别用于检测小、中、大目标;针对泥浆泌水较少,待识别目标较 小,通过去除40
×
40、20
×
20两个尺度检测层;同时,在特征融合层阶段再 次进行上采样操作,最终使检测层的输出尺度分别为160
×
160、80
×
80。
21.更进一步地,采用bn层代替dropout,bn层用在深度神经网络中激活层 之前,用于加快模型训练时的收敛速度,bn层核心公式如下:
22.input:b={x1...m};υ,β(parameters to be learned)
23.output:{yi=bn
γ,β
(xi)}
[0024][0025][0026][0027]
yi←
γxi β
[0028]
输入为数值集合b,可训练参数υ、β;
[0029]
bn层的具体操作为:先计算b的均值和方差,再将b集合的均值、方 差变换为0、1,对应上式中最后将b中每个元素乘以υ再加 β,输出;其中υ、β是可训练参数,参与整个网络的反向传播;
[0030]
归一化处理:将数据规整到统一区间,采用υ、β作为还原参数,在保留 原数据的分布情况下,将起到一定的正则化作用的bn层采用白化预处理,其 计算公式如下:再对某一个层网络的输入数据做一个归一 化处理,训练过程中采用batch随机梯度下降,e[x
(k)
]指的是每一批训练数 据神经元[x
(k)
]的平均值;是每一批数据神经元[x
(k)
]激活度的一个标 准差。
[0031]
更进一步地,yolov5-s的损失函数计算方法分为第一项任务目标检测l1 正则化和第二项任务去模糊l2正则化;其中,l1称为平均绝对值误差mae, 是指模型预测值f(x)和真实值y之间绝对差值的平均值,公式如下:
[0032][0033]
上式中:f(xi)和yi分别表示第i个样本的预测值与真实值,n为样本个数, l1损失函数的导数是常量,有着稳定的梯度;
[0034]
对于l2称为均方误差mse,是指模型预测值f(x)和真实值之间差值平方 的平均值,公式如下:
[0035][0036]
其中,m代表样本数,代表真实数据,x为重建数据。
[0037]
与现有技术相比,本发明的有益效果是:
[0038]
1、本发明提供的一种基于yolov5模型的泥浆泌水率实时检测方法,能 够精确实时的检测出泥浆泌水率,还能去除拍摄光线不好带来的图像模糊, 有利于进一步的泥浆泌水检测。
[0039]
2、本发明提供的一种基于yolov5模型的泥浆泌水率实时检测方法,通 过flask与vue实现了泥浆泌水的在线识别,相比先前人工识别,在检测速 度与检测精度上有明显提高。
[0040]
3、本发明提供的一种基于yolov5模型的泥浆泌水率实时检测方法,保 留了yolov5s检测网络的模型小、检测速度快的特点,且不依靠昂贵的显卡, 可以在大多数设备上运行,便于在线泥浆泌水识别的推广。
附图说明
[0041]
图1为本发明的检测方法流程图;
[0042]
图2为本发明的yolov5s检测框架方法流程图;
[0043]
图3为本发明的卷积分离操作示意图;
[0044]
图4为本发明的泥浆泌水在线检测算法效果图;
[0045]
图5为本发明的泥浆泌水在线检测上传图片示意图;
[0046]
图6为本发明的部分泥浆泌水在线检测过程中效果图。
具体实施方式
[0047]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]
请参阅图1-6,本发明实施例中提供一种基于yolov5模型的泥浆泌水率 实时检测
方法,包括以下步骤:
[0049]
第一步:采用固定在泥浆识别仪器中的相机拍摄多段泥浆泌水图片,使 用长曝光帧,得到大量包含清晰泌水泥浆的图片;
[0050]
第二步:经过图像信息标注数据处理后得到数据集;具体方法如下:
[0051]
为了得到准确的泥浆泌水率,采用高速连拍相机拍摄泥浆泌水率识别仪 器中静置泥浆泌水视频进行处理:将视频分解为图像序列后人工标注清晰图 片中的泥浆刻度与位置信息;
[0052]
然后将拍摄得到的模糊图片与其清晰图片进行同样的图像增强操作,具 体为:翻转、裁剪、改变对比度、调整饱和度拼接;
[0053]
将得到的图像对和位置信息组合得到模型的数据集;其中模型输入包含 模糊或清晰的未标注图片,输出包含输入对应的已标注清晰图片以及泥浆泌 水的位置信息;
[0054]
第三步:使用迁移学习加载yolov5网络的部分预训练权重,构建yolov5s 检测框架;具体方法如下:
[0055]
(1)、特征提取网络采用带有focus结构的csp darknet53作为主干网 来提取输入图片的底层特征;backbone第一层focus,从高分辨率图像中, 周期性的抽出像素点重构到低分辨率图像中,即将图像相邻的四个位置进行 堆叠,聚焦wh维度信息到c通道空间,提高每个点感受野,并减少原始信息 的丢失,该模块的设计主要是减少计算量加快速度;
[0056]
(2)、从主干网中输出7个不同层次的特征图,其中3个特征图连接 yolov5中的csp结构块,panet基于mask r-cnn和fpn框架,加强了信息 传播,具有准确保留空间信息的能力,这有助于对像素进行适当的定位以形 成掩模,用于预测输入图片中泥浆泌水的位置;另外4个特征图通过卷积、 上采样,拼接等方式构成yolov5s网络的降噪分支,用来去除输入图片中的 模糊,生成清晰的图片;
[0057]
第四步:训练网络并根据检测结果调整超参数,不断优化yolov5-s的损 失函数,直至得到最优网络;其中,在训练好模型后,原始模型在获得推断 结果以后会进行调用绘图函数画框,保存文本结果,保存图像结果的一系列 操作,其中,在调用绘图函数之前截获目标检测坐标和标签信息,并封装成 json文件,通过flask传输至服务器端进行识别;
[0058]
在yolov5特征融合层和检测层网络中,利用fpn pan结构增强特征与 定位的传递性,输出3个尺度的输出检测层:80
×
80、40
×
40和20
×
20, 分别用于检测小、中、大目标.针对泥浆泌水较少,待识别目标较小的问题, 本方法去除40
×
40、20
×
20两个尺度检测层;同时,在特征融合层阶段再 次进行上采样操作,最终使检测层的输出尺度分别为160
×
160、80
×
80。
[0059]
在上述方法中,本发明使用bn层代替dropout,bn层往往用在深度神经 网络中激活层之前,其作用可以加快模型训练时的收敛速度,使得模型训练 过程更加稳定,避免梯度爆炸或者梯度消失;bn层核心公式如下:
[0060]
input:b={x1...m};υ,β(parameters to be learned)
[0061]
output:{yi=bn
γ,β
(xi)}
[0062]
[0063][0064][0065]
yi←
γxi β
[0066]
输入为数值集合b,可训练参数υ、β;
[0067]
bn的具体操作为:先计算b的均值和方差,之后将b集合的均值、方 差变换为0、1(对应上式中),最后将b中每个元素乘以υ再 加β,输出;其中,υ、β是可训练参数,参与整个网络的反向传播;归一 化的目的:将数据规整到统一区间,减少数据的发散程度,降低网络的学
[0068]
起到一定的正则化作用的bn层使用了近似白化预处理,其计算公式如下:对某一个层网络的输入数据做一个归一化处理;训练过程 中采用batch随机梯度下降,上面的e[x
(k)
]指的是每一批训练数据神经元 [x
(k)
]的平均值;就是每一批数据神经元[x
(k)
]激活度的一个标准差。
[0069]
在上述方法中,将泥浆检测中yolov5的损失函数计算分为第一项任务目 标检测l1正则化和第二项任务去模糊l2正则化;其中,l1 loss也称为平均 绝对值误差(mae),是指模型预测值f(x)和真实值y之间绝对差值的平均值, 公式如下:
[0070][0071]
其中f(xi)和yi分别表示第i个样本的预测值与真实值,n为样本个;
[0072]
l1损失函数的导数是常量,有着稳定的梯度,所以不会有梯度爆炸的问 题,对于离群点造成的惩罚是固定的,不会被放大。
[0073]
对于l2 loss也称为均方误差(mse),是指模型预测值f(x)和真实值之 间差值平方的平均值,公式如下:
[0074][0075]
其中:m代表样本数,代表真实数据,x为重建数据。
[0076]
yolov5s是非常优秀的轻量级检测网络,但是泥浆识别运行平台要求模型 更易运行,使得不得不缩减网络输入大小,但是单纯降低输入来减少运算, 例如640降低到320,对检测效果损失很大,同时模型体积依然是14m左右, 所以可以通过添加l1正则来约束bn层系数,使得系数稀疏化。
[0077]
l1正则化约束计算公式如下:
[0078]
[0079]
上面第一项是正常训练的loss函数,第二项是约束,其中g(s)=|s|,λ是正则系数,根据数据集调整,可以将参数稀疏化,如果添加到训练的损失函数中去,在进行反向传播时候:
[0080]
l'=∑l' λ∑g'(γ)=∑l' λ∑|γ|'=∑l' λ∑γ*sign(γ)
[0081]
因此,只需要在训练中,反向传播时候,在bn层权重乘以权重的符合函数输出和系数即可。
[0082]
训练过程中为平衡两个损失函数的数量级,采用梯度标准化gradnrom技术更新任务权重,计算公式如下:
[0083]
l(t)=∑iwi(t)*li(t)
[0084]
其中li(t)表示每个任务的损失函数,wi(t)表示各个任务的权重,权重的更新公式如下:
[0085][0086]
其中wi(t)表示各个任务的权重,ε表示调节参数,l
gl
表示gradloss梯度损失,计算公式如下:
[0087][0088]
其中,代表梯度标准化值,表示各个任务的梯度标准化的期望值,ri(t)表示相对反向训练速度,α表示设置的超参数。计算公式如下:
[0089][0090]
其中,w表示最后一个共享层的权重。
[0091]
本发明方法中,用来评价实验性能的指标具体为:
[0092][0093][0094]
其中tp代表真实值是泌水,预测值也是泌水的数量;fp表示真实值不是泌水,预测值是泌水的数量;fn表示真实值是泌水,预测值不是泌水的数量。
[0095]
泥浆泌水图像的清晰度,使用峰值信噪比peaksignal-to-noiseratio(psnr)和结构相似性structualsimilarity(ssim)评价,psnr和ssim的数值越大,表示图像失真越小。计算公式如下:
[0096][0097][0098]
其中μimgr,μimgf分别表示imgr和imgf的像素平均值,σ2imgr,σ2imgf分别表示imgr与imgf的像素方差,c1,c2表示常数。
[0099]
综上所述:本发明提供的一种基于yolov5模型的泥浆泌水率实时检测方法,采用
固定在泥浆识别仪器中的相机拍摄多段泥浆泌水图片,使用长曝光 帧,得到大量包含清晰泌水泥浆的图片;建立泥浆两相流数据集,数据集包 括不同泥浆比、静置时间下的泌水泥浆图片信息,并对数据集包括不同泌水 程度的图片信息进行标注并做好分类得到待训练数据集;利用迁移学习的方 法,加载yolov5的部分预训练权重后构建yolov5s检测框架,使用框架对待 训练数据集进行模型参数训练,训练后的模型即可对图像特征进行预测,生 成边界框并识别泌水率;编写web端预测接口,后端通过使用flask框架编 写函数,vue编写前端web框架,前端发出post请求时,会对上传的图像进 行处理。本发明使用了改进的yolov5-small模型作为网络模型,该网络在 yolov5的基础上减少了网络参数量,构建了轻量化模型,利用所建立的数据 集上进行训练得出的yolov5s模型,通过flask与vue与服务器进行交互, 实现了实时在线的检测方法,只需要输入一张原始图片,即可对图片进行快 速检测与识别并输出泥浆泌水率。
[0100]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不 局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根 据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明 的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献