一种提高水尺水位检测准确度的方法、设备及存储介质与流程

未命名 09-15 阅读:119 评论:0


1.本技术涉及水位监测精度的技术领域,尤其涉及一种提高水尺水位检测准确度的方法、设备及存储介质。


背景技术:

2.水尺是观读江河、湖泊、水库和灌渠水位的标尺,水尺用以观测地下水位和海洋潮汐水位的变化。
3.现有技术中,通常基于图像处理的方法在对水位进行检测时,在前期对图像预处理环节要求较高。利用水尺的边缘特征、颜色信息等分割水尺和提取水位线时,易受到现场复杂环境的影响。相对地,通过深度学习神经网络模型提取图像特征,并利用提取的特征分割水尺和获取水位线,可以增强水位检测算法的环境适应性。
4.然而,在对一整幅图像中使用语义分割算法进行水面分割时,由于水尺与水体的交界边缘在图像中的占比小,边缘信息特征不明显,导致分割后的水位边缘较为粗糙,降低了水位线检测的精度,增加了水位值计算误差。
5.因此,如何提高水尺水位的检测准确度是一个亟待解决的问题。


技术实现要素:

6.本技术实施例提供了一种提高水尺水位检测准确度的方法、设备及存储介质,用以解决如下技术问题:如何提高水池水位的检测准确度。
7.第一方面,本技术实施例提供了一种提高水尺水位检测准确度的方法,其特征在于,方法包括:获取水尺图片,改进yolov4模型以及改进deeplabv3+模型;基于训练后的改进yolov4模型处理水尺图片,以获取水尺图片的预测信息,预测信息包括标签、置信度和预测框的位置信息,其中,位置信息包括预测框的中心坐标以及预测框的宽度和高度;基于预设的奇异值分解算法和预测信息裁剪水尺图片,以获取预处理图片;基于训练后的改进deeplabv3+模型分割预处理图片,以获取分割图片和边缘线,其中,分割图片为包含水尺与水体交界线投影点的图片;基于预设的线性插值算法处理分割图片,以获取水尺水位。
8.在本技术的一种实现方式中,基于训练后的改进yolov4模型处理水尺图片,以获取水尺图片的预测信息,具体包括:
9.基于改进yolov4模型内的目标检测算法识别并标注水尺的刻度字符,刻度字符包括米刻度字符和分米刻度字符;
10.在识别水尺的刻度字符后,框选住刻度字符,进而获取水尺图片的预测框,预测框包括分米刻度字符预测框以及米刻度字符预测框;
11.基于预测框的形状确定预测框的中心坐标,中心坐标包括分米刻度字符预测框的中心坐标以及米刻度字符预测框的中心坐标;
12.基于刻度字符的形状确定标签以及置信度。
13.在本技术的一种实现方式中,改进yolov4模型的获取方法包括:
14.基于focalloss函数对预设的yolov4模型中的类别损失函数进行改进,得到改进yolov4模型,focalloss函数由以下公式表示:
[0015][0016]
其中,fl(p
i,j
(c))表示对于第i个格子中第j个框预测为类别c的置信度p
i,j
(c)使用focal loss损失函数计算,具体表达式如下式(2)所示:
[0017]
fl(p
i,j
(c))=-(1-p
i,j
(c))rlog(p
i,j
(c))
[0018]
其中,p
i,j
(c)表示第i个格子中第j个框预测为类别c的置信度,γ表示可调整的超参数。当γ》0时,模型会更加关注难以分类的样本,当γ=0时,focal loss退化为标准的交叉熵损失函数。
[0019]
在本技术的一种实现方式中,基于预设的奇异值分解算法和预测信息裁剪水尺图片,以获取预处理图片,具体包括:
[0020]
将刻度字符按照排列规则进行排序,以获取水尺中心直线方程;
[0021]
基于水尺中心直线方程和刻度字符获取刻度字符在水尺图片上的投影;
[0022]
基于预设的图片裁剪规则裁剪水尺图片,以获取预处理图片。
[0023]
在本技术的一种实现方式中,基于预设的图片裁剪规则裁剪水尺图片,以获取预处理图片,具体包括:
[0024]
获取米刻度字符预测框的中心坐标至水尺中心直线方程的垂直距离,并命名为第一距离;
[0025]
按照分数刻度字符预测框的中心坐标由小到大的顺序依次排序,选择排列顺序第一的分数刻度字符预测框的中心坐标为第一点位,选择排列顺序第一的分数刻度字符预测框的中心坐标为第二点位;
[0026]
以第一点位为基准点,以第二点位至第一点位的方向上延伸第,选择距离第一点位距离为第一距离的点位,并命名为第三点位;
[0027]
以第三点位为预处理图片的中心点进行裁剪,裁剪的边长为两个第二距离。
[0028]
在本技术的一种实现方式中,以第三点位为裁剪的中心点,裁剪出边长为两个第二距离的预处理图片中的预处理图片的尺寸的计算公式如下:
[0029]
x
min
=max(0,x
0-s)
[0030]ymin
=max(0,y
0-s)
[0031]
x
max
=min(w-1,x0+s)
[0032]ymax
=min(h-1,y0+s)
[0033]
其中,xmin为水尺图片顶点的x轴坐标,ymin为水尺图片顶点的y轴坐标,xmax为与xmin关于中心对称的顶点坐标,ymax为与ymin关于中心对称的顶点坐标,x0为水尺图片中心坐标的x轴坐标,y0为水尺图片中心坐标的y轴坐标,s为第一距离,w为水尺图片的宽,h为水尺图片的高;
[0034]
基于xmin、ymin、xmax以及ymax可以计算预处理图片的宽和高,由以下公式表示:
[0035]
w'=x
max-x
min
+1
[0036]
h'=y
max-y
min
+1
[0037]
其中,w'为预处理图片的宽,h'为预处理图片的高。
[0038]
在本技术的一种实现方式中,基于训练后的改进deeplabv3+模型分割预处理图片,以获取分割图片和边缘线,具体包括:
[0039]
基于预设的语义分割模块提取预处理图片中的水体部分得到语义分割图片;
[0040]
基于应用形态学操作算法、ostu阈值分割算法和canny边缘检测算法处理语义分割图片,以获取边缘线,边缘线为预处理图片中的水体部分与非水体部分的交界线;
[0041]
基于预设的轮廓检测算法处理边缘线,以获取边缘线的平均坐标值;
[0042]
将平均坐标值投影至预处理图片上,获取分割图片。
[0043]
在本技术的一种实现方式中,基于预设的线性插值算法处理分割图片得到水尺水位包括:
[0044]
计算水尺的分米刻度值,公式如下:
[0045][0046]
其中,为水位线中心投影点在分割图像中的纵向坐标,d为水尺的分米刻度值,di为第i个刻度对应的实际水位值,为第i个刻度中心投影点在水尺上的纵坐标;
[0047]
计算水尺水位的实际刻度值,公式如下:
[0048][0049]
其中,scale为水尺水位线的实际刻度值,m为水尺的米刻度值,d为水尺的分米刻度值。
[0050]
第二方面,本技术实施例还提供了一种提高水尺水位检测准确度的设备,其特征在于,设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:获取水尺图片,改进yolov4模型以及改进deeplabv3+模型;基于训练后的改进yolov4模型处理水尺图片,以获取水尺图片的预测信息,预测信息包括标签、置信度和预测框的位置信息,其中,位置信息包括预测框的中心坐标以及预测框的宽度和高度;基于预设的奇异值分解算法和预测信息裁剪水尺图片,以获取预处理图片;基于训练后的改进deeplabv3+模型分割预处理图片,以获取分割图片和边缘线,其中,分割图片为包含水尺与水体交界线投影点的图片;基于预设的线性插值算法处理分割图片,以获取水尺水位。
[0051]
第三方面,本技术实施例还提供了一种提高水尺水位检测准确度的非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,计算机可执行指令设置为:获取水尺图片,改进yolov4模型以及改进deeplabv3+模型;基于训练后的改进yolov4模型处理水尺图片,以获取水尺图片的预测信息,预测信息包括标签、置信度和预测框的位置信息,其中,位置信息包括预测框的中心坐标以及预测框的宽度和高度;基于预设的奇异值分解算法和预测信息裁剪水尺图片,以获取预处理图片;基于训练后的改进deeplabv3+模型分割预处理图片,以获取分割图片和边缘线,其中,分割图片为包含水尺与水体交界线投影点的图片;基于预设的线性插值算法处理分割图片,以获取水尺水位。
[0052]
本技术实施例提供的一种提高水尺水位检测准确度的方法、设备及存储介质,通
过用focalloss函数对预设的yolov4模型中的类别损失函数进行改进,使得改进yolov4模型能够同时度量难分类和易分类样本对总损失的贡献值,从而提高水尺水位识别的准确度和性能。通过奇异值分解算法对水尺图片进行裁剪,能够在一定程度上避免由于摄像或水尺角度的偏差而导致水尺图片的错误,从而在一定程度上避免预处理图片的错误,从而提高了水尺水位的检测精确度。
附图说明
[0053]
此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
[0054]
图1为本技术实施例提供的一种提高水尺水位检测准确度的方法流程图;
[0055]
图2为本技术实施例提供的一种提高水尺水位检测准确度的方法中水尺图片示意图;
[0056]
图3为本技术实施例提供的一种提高水尺水位检测准确度的设备内部结构示意图。
具体实施方式
[0057]
为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0058]
本技术实施例提供了一种提高水尺水位检测准确度的方法、设备及存储介质,用以解决如下技术问题:如何提高水池水位的检测准确度。
[0059]
下面通过附图1对本技术实施例提出的技术方案进行详细的说明。
[0060]
图1为本技术实施例提供的一种提高水尺水位检测准确度的方法流程图。如图1所示,本技术实施例提供的一种提高水尺水位检测准确度的方法,具体包括以下步骤:
[0061]
步骤1、获取水尺图片,改进yolov4模型以及改进deeplabv3+模型。
[0062]
水尺图片为包含需要检测水尺水位目标的图片,该图片包括目标水尺以及目标水尺以及水体,在一般情况下,用于记录水尺的摄像头的中垂线对应水尺的垂线。
[0063]
改进yolov4模型为yolov4模型的改进模型,改进yolov4模型为一种目标检测算法,用于检测水尺图片中的分米刻度值以及米刻度值。改进yolov4模型在步骤2中将进行详细说明。
[0064]
改进deeplabv3+模型为deeplabv3+模型的改进模型,改进yolov4模型为一种语义分割算法,用于获取水尺部分与水体部分的交界线。改进deeplabv3+模型在步骤3中进行详细说明。
[0065]
在具体的事例中,在水尺刻度面的一侧会设置有摄像头,摄像头与水尺刻度面保持平行。在另一事例中,可使用无人机拍摄水尺照片,可以理解的是,应尽量保持无人机摄像头的镜头稳定。
[0066]
摄像头中垂线与水面的夹角应小于固定的角度,该固定角度通常设置为30
°
,可以理解的是,该固定角度的度数可人为设置。
[0067]
步骤2,基于训练后的改进yolov4模型处理水尺图片,以获取水尺图片的预测信息,预测信息包括标签、置信度和预测框的位置信息,其中,位置信息包括预测框的中心坐标以及预测框的宽度和高度。
[0068]
预处理图片为经过改进yolov4模型处理过的图片,此处的预处理图片为包含水尺与水体交界区域的图片,预处理图片的像素面积比水尺图片的像素面积小,预处理图片包括预测信息,预测信息包括标签信息、置信度信息以及预测框的位置信息,其中位置信息包括预测框的中心坐标x和y,以及预测框的宽度和高度。
[0069]
步骤21、基于改进yolov4模型内的目标检测算法识别并标注水尺的刻度字符,刻度字符包括米刻度字符和分米刻度字符。
[0070]
目标检测算法能够识别并标注对象的算法,在本步骤中,目标检测算法用于识别并标注水尺刻度字符,水尺刻度字符包括分米刻度字符以及米刻度字符。
[0071]
参照图2,在具体的事例中,存在水尺图片a,目标检测算法识别到水尺方向上的刻度线的左侧存在分米刻度字符,刻度线的右侧存在米刻度字符。同时识别到在刻度线的右侧存在“m”字符。
[0072]
步骤22、在识别水尺的刻度字符后,框选住刻度字符,进而获取水尺图片的预测框,预测框包括分米刻度字符预测框以及米刻度字符预测框。
[0073]
本步骤可与步骤21同步进行,预测框的大小应与刻度字符的大小相对应且完全框选住刻度字符。
[0074]
步骤23、基于预测框的形状确定预测框的中心坐标,中心坐标包括分米刻度字符预测框的中心坐标以及米刻度字符预测框的中心坐标。
[0075]
在具体的事例中,本实施例中的预测框均为长方体,则中心坐标为长发体的中心坐标,长方形中心确定方法为现有技术,在此不做赘述,。
[0076]
在获取了分米刻度字符、米刻度字符以及“m”字符后,通过计算分米刻度字符、米刻度字符与“m”字符中心位置的距离,可以确定距离“m”字符最近的为米刻度字符。将距离“m”字符最近的米刻度字符的中心位置坐标记为(xm,ym),刻度值记为m,将识别到的分米刻度字符的中心位置坐标记为(xi,yi),分米刻度值记为di,其中i=1,
……
,n,n为分米刻度字符的数量。
[0077]
步骤24、基于刻度字符的形状确定标签以及置信度。
[0078]
置信度为一个概率样本的置信区间是对这个样本的某个总体参数的区间估计。在本实施例中,置信度为该刻度字符为分米刻度字符或米刻度字符的置信度。只有当置信度高于一定阈值时,才会刻度字符相对应的置信度高于一定阈值的标签,可以理解的是,这里的一定阈值可以人为设置。
[0079]
在具体事例中,置信度设置为0.95,即只有当刻度字符的置信度大于0.95时,才会给改刻度字符相应的标签,例如字符a为米刻度字符的置信度为0.94,则不给刻度a标签。
[0080]
基于步骤21,可根据字符的形状确定标签,标签为标注字符,以及标注字符的坐标、置信度。具体标注信息参照步骤21至步骤23。
[0081]
步骤3、基于预设的奇异值分解算法和预测信息裁剪水尺图片,以获取预处理图片。
[0082]
为了避免由于摄像或水尺角度的偏差而导致交界区域位置定位错误,用奇异值分
解来求解最小二乘问题,以便基于分米刻度中心坐标计算水尺所在的水尺中心直线方程。
[0083]
步骤31、将刻度字符按照排列规则进行排序,以获取水尺中心直线方程。
[0084]
在具体的事例中,参与排序的刻度字符主要为分米刻度字符的中心坐标。
[0085]
步骤32、基于水尺中心直线方程和刻度字符获取刻度字符在水尺图片上的投影。
[0086]
在获取了水尺的刻度字符以及水尺中心直线方程后,可将分米刻度字符以及米刻度字符投影到水尺中心直线方程上。
[0087]
在具体事例中,确定了水尺中心直线方程l后,将所有分数刻度字符的中心点,即分米刻度字符的坐标(xi,yi)投影到水尺中心直线方程l上,得到分米刻度字符的坐标(xi,yi)在水尺中心直线方程l上的投影点。
[0088]
步骤33、基于预设的图片裁剪规则裁剪水尺图片,以获取预处理图片。
[0089]
输入进改进yolov4模型的水尺图片的尺寸相比计算水尺水位所需的图片尺寸较大,不便于计算水尺水位,所以需要裁剪水尺图片以便于计算水尺水位。预设的图片裁剪规则为基于水尺的宽度,分米刻度字符以及米刻度字符对水尺图片进行裁剪,裁剪后的水尺图片即为预处理图片。
[0090]
步骤331、获取米刻度字符预测框的中心坐标至水尺中心直线方程的的垂直距离,并命名为第一距离。
[0091]
步骤332、按照分数刻度字符预测框的中心坐标由小到大的顺序依次排序,选择排列顺序第一的分数刻度字符预测框的中心坐标为第一点位,选择排列顺序第一的分数刻度字符预测框的中心坐标为第二点位。
[0092]
步骤333、以第一点位为基准点,以第二点位至第一点位的方向上延伸第,选择距离第一点位距离为第一距离的点位,并命名为第三点位。
[0093]
步骤334、以第三点位为预处理图片的中心点进行裁剪,裁剪的边长为两个第二距离。
[0094]
在具体事例中,设米刻度字符的坐标为(xm,ym),设分米刻度字符的坐标为(xi,yi),分米刻度字符在水尺中心直线方程l上的投影点为,计算米刻度字符(xm,ym)与直线l之间的距离,该距离为第一距离,标注第一距离为s,以便估计水尺的基本宽度。
[0095]
按照分米刻度字符的纵坐标从小到大的顺序以此将分数刻度字符的中心投影点进行排序,选择倒数第一个投影点p0和倒数第二个投影点p1,以p0为基准点在方向上计算距离投影点p0距离为s的另一个点pc=(xc,yc)。可以理解的是,在一般情况下,改进yolov4检测并识别字符时,水尺位于水下的部分无法被检测并识别,所以倒数第一个投影点p0为水尺上靠近水面最近的分米刻度字符。pc距离投影点p0的距离为s。
[0096]
以pc为中心点,裁剪出边长为2s的水尺与水体的交界区域。
[0097]
其中,裁剪出边长为两个第二距离的预处理图片中的预处理图片的尺寸的计算公式如下:
[0098]
x
min
=max(0,x
0-s)
[0099]ymin
=max(0,y
0-s)
[0100]
x
max
=min(w-1,x0+s)
[0101]ymax
=min(h-1,y0+s)
[0102]
其中,x
min
为水尺图片顶点的x轴坐标,y
min
为水尺图片顶点的y轴坐标,x
max
为与x
min
关于中心对称的顶点坐标,y
max
为与y
min
关于中心对称的顶点坐标,x0为水尺图片中心坐标的x轴坐标,y0为水尺图片中心坐标的y轴坐标,s为第一距离,w为水尺图片的宽,h为水尺图片的高;
[0103]
在具体的事例中,(x
min
,y
min
.)通常为预处理图片的左上角,(x
max
,y
max
)通常为预处理图片的右下角。
[0104]
基于x
min
、y
min
、x
max
以及y
max
可以计算预处理图片的宽和高,由以下公式表示:
[0105]
w'=x
max-x
min
+1
[0106]
h'=y
max-y
min
+1
[0107]
其中,w'为预处理图片的宽,h'为预处理图片的高。
[0108]
步骤4、基于训练后的改进deeplabv3+模型分割预处理图片,以获取分割图片和边缘线,其中,分割图片为包含水尺与水体交界线投影点的图片。
[0109]
分割图片为将预处理图片进行语义分割得到的图片,边缘线为水尺图片中水体部分与非水体部分的交界线,即语义分割图片中水尺与水体的交界线。
[0110]
步骤41、基于预设的语义分割模块提取预处理图片中的水体部分得到语义分割图片。
[0111]
在步骤41中语义分割图片为仅包括语义内容为“非水体”部分的图片,预设的语义分割模块能够提取预处理图片中的非水体部分从而得到语义分割图片。
[0112]
在具体的事例中,存在一张预处理图片,该预处理图片包括水体部分和非水体部分,则语义分割模块将预处理图片中没有水的部分定义为“非水体”,将预处理图片中有水的定义为“水体”。之后删去“水体”部分,剩余的即为“非水体”部分,则剩余的部分为语义分割图片。可以理解的是,也可以直接提取“非水体”部分,得到的也为仅包括“非水体”部分的语义分割图片。
[0113]
可以理解的是,参照步骤31,因为获取语义分割图片的目的是获取边缘线,则上述具体的事例中获取的语义分割图片也可以是仅包括“水体”部分。
[0114]
步骤42、基于应用形态学操作算法、ostu阈值分割算法和canny边缘检测算法处理语义分割图片,以获取边缘线,边缘线为预处理图片中的水体部分与非水体部分的交界线。
[0115]
边缘线为预处理图片中的水体部分与非水体部分的交界线,多为语义分割图片中的不规则线段。也可通过人为定义从而获取边缘线,例如在具体的事例中,若语义分割图片为仅包括“非水体”部分的图片,则边缘线为语义分割图片的下端的线条,因为未经处理的预处理图片中非水体部分是在水体部分的上端的。同理,若语义分割图片为仅包括“水体”部分的图片,则边缘线为语义分割图片的上端的线条。
[0116]
应用形态学操作算法、ostu阈值分割算法和canny边缘检测算法将在步骤421至步骤423中进行详细说明。
[0117]
步骤421、基于应用形态学操作算法去除语义分割图片的噪声。
[0118]
应用形态学操作算法用于去除语义分割图片的噪声,使得后续获取的边缘线更加清晰。应用形态学操作算法为现有技术,在此不做赘述。
[0119]
步骤422、基于ostu阈值分割算法增强语义分割图片的像素。
[0120]
ostu阈值分割算法用于增强语义分割图片的像素,使得后续获取的边缘线更加清晰。ostu阈值分割算法为现有技术,在此不做赘述。
[0121]
步骤423、基于canny边缘检测算法检测并定位语义分割图片的中水体部分的边缘线。
[0122]
canny边缘检测算法主要有5个步骤,依次是高斯滤波、像素梯度计算、非极大值抑制、滞后阈值处理和孤立弱边缘抑制。canny在实际生活中的应用较为广泛,例如在matlab软件中有植入的canny边缘检测模块。
[0123]
因此,canny边缘检测算法为现有技术,在此不做赘述。
[0124]
步骤43、基于预设的轮廓检测算法处理边缘线,以获取边缘线的平均坐标值。
[0125]
预设的轮毂检测算法能够统计边缘线的像素点的坐标,并计算所有边缘像素点的坐标的平均坐标,该平均坐标即为代检测水域的平均水位。
[0126]
举例说明,边缘线a包括五个像素点(在实际情况下像素点不止五个,这里仅为简要说明)。五个像素点的坐标分别为(1,6),(3,8),(5,7),(7,6),(9,7)。
[0127]
则边缘线a的平均坐标为(5,7)。在实际操作中,x轴(垂直于水尺中心直线)上的坐标不予考虑,仅考虑y轴(沿水尺中心直线向上)则边缘线a的平均坐标为(x,7)。
[0128]
步骤44、将平均坐标值投影至预处理图片上,获取分割图片。
[0129]
在具体事例中,将平均坐标点在裁剪出的交界区域计算的水尺中心直线l上进行投影,得到水面线在l上的中心投影点。
[0130]
之所以要使用训练后的改进deeplabv3+模型对预处理图片进行语义分割,是因为水尺图片和预处理图片均只涉及水体和非水体两类语义信息,且水体与非水体的边缘交界处包含丰富的细节信息,因此语义分割网络模型需要具备强大的细节特征提取能力。传统图像处理方法受光照和水面倒影等因素的影响较大,很难准确地定位水尺水面线的位置。
[0131]
标准deeplabv3+以及其它相似的语义分割网络模型均是针对物体种类和特征较多、训练数据量较大的数据集进行设计的,因此标准deeplabv3+以及其它相似的语义分割网络模型采用的骨干特征提取网络模型均较为复杂。例如,标准deeplabv3+网络模型采用xception网络模型作为骨干网络来提取特征信息,但xception网络模型训练所需要的参数量大、模型结构复杂。导致计算量大、训练困难等问题,因此采用xception网络模型作为骨干网络的标准deeplabv3+网络模型不适用于小区域的水尺水面线的提取。
[0132]
其中,训练后的改进deeplabv3+模型的获取步骤包括:
[0133]
步骤a1、将预设的mobilenet3网络模型替换预设的deeplabv3+模型中的特征提取骨干网络模型,从而获取改进deeplabv3+模型。
[0134]
mobilenet3网络模型为轻量神经网络模型,通过将mobilenet3网络模型替换掉deeplabv3+模型中的特征提取骨干网络模型,能够降低神经网络模型的复杂度,同时通过轻量神经网络模型处理数量少的语义,也能够提高deeplabv3+模型的分割性能。
[0135]
步骤a2、将预设的deeplabv3+模型中的语义分割模块中的普通卷积替换为深度可分离卷积。
[0136]
深度可分离卷积将卷积分为深度卷积和逐点卷积。对于输入的预处理图片的每个通道,先进行卷积核大小为3
×
3的深度卷积,将每个通道的特征属性分离成3个通道的输出。后对每个通道进行1
×
1卷积得到最终的输出特征图。这种操作使得深度可分离卷积的
性能与标准卷积相当,同时能够使用更少的参数进行特征学习,有效减少了模型训练所需要的参数量。
[0137]
可以理解的是,将语义分割模块中的卷积替换为深度可分离卷积,通过学习特征通道维度的权重信息,对网络性能好的特征通道权重进行提升,抑制对网络性能不好的特征通道权重,提高了训练效率。
[0138]
步骤b、通过预设的迁移学习模块训练改进deeplabv3+模型。
[0139]
预设的迁移学习模块一种机器学习方法,就是把为任务a开发的模型作为初始点,重新使用在为任务b开发模型的过程中。在本技术中是将标准deeplabv3+模型作为初始点,重新为改进deeplabv3+模型进行训练。通过迁移学习,能够提高改进deeplabv3+模型的训练速度。
[0140]
步骤5、基于预设的线性插值算法处理分割图片得到水尺水位。
[0141]
线性插值是指插值函数为一次多项式的插值方式,其在插值节点上的插值误差为零。线性插值相比其他插值方式,如抛物线插值,具有简单、方便的特点。线性插值可以用来近似代替原函数,也可以用来计算得到查表过程中表中没有的数值。
[0142]
为计算水尺水位值,需要综合考虑已识别的米刻度和通过水尺水位换算来的分米刻度。由于水尺在水尺图像中可能存在角度偏移、刻度不清晰等问题,因此需要基于水位线(边缘线)位置进行水位值换算。本文利用线性插值法来计算边缘线对应的实际水位值,水尺与水体交界区域和水位线定位的计算结。,并考虑了水尺图片的像素坐标与真实世界的空间坐标之间的映射关系。
[0143]
步骤51、计算水尺的分米刻度值。
[0144]
具体地,根据水尺图像中分数刻度的中心投影点的纵向坐标以及分米刻度值字符在水尺中对应的实际刻度值的线性关系,公式如下:
[0145][0146]
其中,代表水位线中心投影点在图像中的纵向坐标,d代表分米刻度值,di代表个i个刻度对应的实际水位值,代表第i个刻度中心投影点的纵坐标。
[0147]
步骤52、计算水尺水位的实际刻度值。
[0148]
最后将米刻度和分米刻度加权相加,即可得到水位线的实际刻度值(单位为m,精确度达到小数点后两位)
[0149][0150]
其中,scale为水尺水位线的实际刻度值,m为米刻度,d为分米刻度。
[0151]
需要注意的是,由于分数刻度处于两个米级的标度范围,因此,在实际计算中,需要考虑d的正负关系。
[0152]
在具体的事例中,坐标位于“0”分米刻度之上的是8m的刻度范围,位于“0”刻度之下的是7m的刻度范围,则若m为8m,则d∈(-10,0),若m为7m,则d∈(0,10)。
[0153]
以上为本技术提出的方法实施例。基于同样的发明构思,本技术实施例还提供了一种提高水尺水位检测准确度的设备,其结构如图3所示。
[0154]
图3为本技术实施例提供的一种提高水尺水位检测准确度设备内部结构示意图。如图3所示,设备包括:
[0155]
至少一个处理器201。
[0156]
以及,与至少一个处理器通信连接的存储器202。
[0157]
其中,存储器202存储有可被至少一个处理器执行的指令,指令被至少一个处理器201执行,以使至少一个处理器201能够:获取水尺图片,改进yolov4模型以及改进deeplabv3+模型。基于训练后的改进yolov4模型处理水尺图片,以获取水尺图片的预测信息,预测信息包括标签、置信度和预测框的位置信息,其中,位置信息包括预测框的中心坐标以及预测框的宽度和高度。基于预设的奇异值分解算法和预测信息裁剪水尺图片,以获取预处理图片。基于训练后的改进deeplabv3+模型分割预处理图片,以获取分割图片和边缘线,其中,分割图片为包含水尺与水体交界线投影点的图片。基于预设的线性插值算法处理分割图片,以获取水尺水位。
[0158]
本技术的一些实施例提供的对应于图1的一种提高水尺水位检测准确度的非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:
[0159]
获取水尺图片,改进yolov4模型以及改进deeplabv3+模型。基于训练后的改进yolov4模型处理水尺图片,以获取水尺图片的预测信息,预测信息包括标签、置信度和预测框的位置信息,其中,位置信息包括预测框的中心坐标以及预测框的宽度和高度。基于预设的奇异值分解算法和预测信息裁剪水尺图片,以获取预处理图片。基于训练后的改进deeplabv3+模型分割预处理图片,以获取分割图片和边缘线,其中,分割图片为包含水尺与水体交界线投影点的图片。基于预设的线性插值算法处理分割图片,以获取水尺水位。
[0160]
本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于物联网设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0161]
本技术实施例提供的系统和介质与方法是一一对应的,因此,系统和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述系统和介质的有益技术效果。
[0162]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0163]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0164]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0165]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0166]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0167]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0168]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0169]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0170]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。

技术特征:
1.一种提高水尺水位检测准确度的方法,其特征在于,所述方法包括:获取水尺图片,改进yolov4模型以及改进deeplabv3+模型;基于训练后的改进yolov4模型处理所述水尺图片,以获取水尺图片的预测信息,所述预测信息包括标签、置信度和预测框的位置信息,其中,位置信息包括预测框的中心坐标以及预测框的宽度和高度;基于预设的奇异值分解算法和预测信息裁剪所述水尺图片,以获取预处理图片;基于训练后的改进deeplabv3+模型分割所述预处理图片,以获取分割图片和边缘线,其中,所述分割图片为包含水尺与水体交界线投影点的图片;基于预设的线性插值算法处理所述分割图片,以获取水尺水位。2.根据权利要求1所述的一种提高水尺水位检测准确度的方法,其特征在于,基于训练后的改进yolov4模型处理所述水尺图片,以获取水尺图片的预测信息,具体包括:基于改进yolov4模型内的目标检测算法识别并标注所述水尺的刻度字符,所述刻度字符包括米刻度字符和分米刻度字符;在识别所述水尺的刻度字符后,框选住所述刻度字符,进而获取水尺图片的预测框,预测框包括分米刻度字符预测框以及米刻度字符预测框;基于预测框的形状确定预测框的中心坐标,中心坐标包括分米刻度字符预测框的中心坐标以及米刻度字符预测框的中心坐标;基于刻度字符的形状确定标签以及置信度。3.根据权利要求2所述的一种提高水尺水位检测准确度的方法,其特征在于,所述改进yolov4模型的获取方法包括:基于focalloss函数对预设的yolov4模型中的类别损失函数进行改进,得到改进yolov4模型,focalloss函数由以下公式表示:其中,fl(
i,j
())表示对于第i个格子中第j个框预测为类别c的置信度p
i,j
()使用focalloss损失函数计算,具体表达式如下式(2)所示:fl(p
i,j
(c))=-(1-p
i,j
(c))
r
log(p
i,j
(c))其中,p
i,j
()表示第i个格子中第j个框预测为类别c的置信度,γ表示可调整的超参数。当γ>0时,模型会更加关注难以分类的样本,当γ=0时,focal loss退化为标准的交叉熵损失函数。4.根据权利要求2所述的一种提高水尺水位检测准确度的方法,其特征在于,基于预设的奇异值分解算法和预测信息裁剪所述水尺图片,以获取预处理图片,具体包括:将所述刻度字符按照排列规则进行排序,以获取水尺中心直线方程;基于所述水尺中心直线方程和所述刻度字符获取所述刻度字符在所述水尺图片上的投影;基于预设的图片裁剪规则裁剪所述水尺图片,以获取预处理图片。5.根据权利要求4所述的一种提高水尺水位检测准确度的方法,其特征在于,基于预设的图片裁剪规则裁剪所述水尺图片,以获取预处理图片,具体包括:
获取米刻度字符预测框的中心坐标至水尺中心直线方程的垂直距离,并命名为第一距离;按照分数刻度字符预测框的中心坐标由小到大的顺序依次排序,选择排列顺序第一的分数刻度字符预测框的中心坐标为第一点位,选择排列顺序第一的分数刻度字符预测框的中心坐标为第二点位;以第一点位为基准点,以第二点位至第一点位的方向上延伸第,选择距离第一点位距离为第一距离的点位,并命名为第三点位;以第三点位为预处理图片的中心点进行裁剪,裁剪的边长为两个第二距离。6.根据权利要求5所述的一种提高水尺水位检测准确度的方法,其特征在于,以第三点位为裁剪的中心点,裁剪出边长为两个第二距离的预处理图片中的预处理图片的尺寸的计算公式如下:x
min
=max(0,x
0-s)y
min
=max(0,y
0-s)x
max
=min(w-1,x0+s)y
max
=min(h-1,y0+s)其中,x
min
为水尺图片顶点的x轴坐标,y
min
为水尺图片顶点的y轴坐标,x
max
为与x
min
关于中心对称的顶点坐标,y
max
为与y
min
关于中心对称的顶点坐标,x0为水尺图片中心坐标的x轴坐标,y0为水尺图片中心坐标的y轴坐标,s为第一距离,w为水尺图片的宽,h为水尺图片的高;基于x
min
、y
min
、x
max
以及y
max
以计算预处理图片的宽和高,由以下公式表示:w'=x
max-x
min
+1h'=y
max-y
min
+1其中,w'为预处理图片的宽,h'为预处理图片的高。7.根据权利要求1所述的一种提升水尺水位识别响应速度的方法,其特征在于,基于训练后的改进deeplabv3+模型分割所述预处理图片,以获取分割图片和边缘线,具体包括:基于预设的语义分割模块提取所述预处理图片中的水体部分得到语义分割图片;基于应用形态学操作算法、ostu阈值分割算法和canny边缘检测算法处理所述语义分割图片,以获取边缘线,所述边缘线为预处理图片中的水体部分与非水体部分的交界线;基于预设的轮廓检测算法处理所述边缘线,以获取所述边缘线的平均坐标值;将所述平均坐标值投影至所述预处理图片上,获取所述分割图片。8.根据权利要求1所述的一种提高水尺水位检测准确度的方法,其特征在于,所述基于预设的线性插值算法处理所述分割图片得到水尺水位包括:计算水尺的分米刻度值,公式如下:其中,为水位线中心投影点在分割图像中的纵向坐标,d为水尺的分米刻度值,d
i
为第i个刻度对应的实际水位值,为第i个刻度中心投影点在水尺上的纵坐标;计算水尺水位的实际刻度值,公式如下:
其中,scale为水尺水位线的实际刻度值,m为水尺的米刻度值,d为水尺的分米刻度值。9.一种提高水尺水位检测准确度的设备,其特征在于,所述设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:获取水尺图片,改进yolov4模型以及改进deeplabv3+模型;基于训练后的改进yolov4模型处理所述水尺图片,以获取水尺图片的预测信息,所述预测信息包括标签、置信度和预测框的位置信息,其中,位置信息包括预测框的中心坐标以及预测框的宽度和高度;基于预设的奇异值分解算法和预测信息裁剪所述水尺图片,以获取预处理图片;基于训练后的改进deeplabv3+模型分割所述预处理图片,以获取分割图片和边缘线,其中,所述分割图片为包含水尺与水体交界线投影点的图片;基于预设的线性插值算法处理所述分割图片,以获取水尺水位。10.一种提高水尺水位检测准确度的非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:获取水尺图片,改进yolov4模型以及改进deeplabv3+模型;基于训练后的改进yolov4模型处理所述水尺图片,以获取水尺图片的预测信息,所述预测信息包括标签、置信度和预测框的位置信息,其中,位置信息包括预测框的中心坐标以及预测框的宽度和高度;基于预设的奇异值分解算法和预测信息裁剪所述水尺图片,以获取预处理图片;基于训练后的改进deeplabv3+模型分割所述预处理图片,以获取分割图片和边缘线,其中,所述分割图片为包含水尺与水体交界线投影点的图片;基于预设的线性插值算法处理所述分割图片,以获取水尺水位。

技术总结
本申请公开了一种提高水尺水位检测准确度的方法、设备及存储介质。方法包括:获取水尺图片,改进YOLOv4模型以及改进Deeplabv3+模型;基于训练后的改进YOLOv4模型处理水尺图片,以获取水尺图片的预测信息,预测信息包括标签、置信度和预测框的位置信息,其中,位置信息包括预测框的中心坐标以及预测框的宽度和高度;基于预设的奇异值分解算法和预测信息裁剪水尺图片,以获取预处理图片;基于训练后的改进DeepLabv3+模型分割预处理图片,以获取分割图片和边缘线,其中,分割图片为包含水尺与水体交界线投影点的图片;基于预设的线性插值算法处理分割图片,以获取水尺水位。本申请通过上述方法实现了水尺水位的检测准确度的提升。升。升。


技术研发人员:房爱印 尹曦萌 谢成磊 张磊 王鹏
受保护的技术使用者:浪潮智慧科技有限公司
技术研发日:2023.06.27
技术公布日:2023/9/14
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐