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

水尺刻度自动读数方法、系统及电子设备与流程

2023-01-16 23:11:46 来源:中国专利 TAG:


1.本发明涉及图像处理技术,尤其涉及一种水尺刻度自动读数方法、系统及电子设备。


背景技术:

2.水位是反映水体水情最直观的因素,它的变化是由于水体水量的增减变化引起的,连续可靠的水位监测对于水资源调度和防汛抗旱具有重要意义,对水位信息的掌握程度也是国家对水资源监控能力的一种体现。近些年水位采集检测点越来越多,为实时的水位监测提供了便捷,水尺通过读数记录水位的高度,是一种最直观和简单的测量工具,几乎成为水文站的标配。
3.近些年,国内许多重要的水位观测点均建设有视频监控系统并配有标准水尺,为基于视频图像的水尺水位检测提供了有利条件。可以根据监控设备采用图像法对水库中的水尺进行监控,根据图像传感器代替人眼获取水尺图像,通过图像处理技术检测水位线对应的读数,从而自动获取水位信息。
4.目前,基于图像处理识别水位的方法主要包括:一是采用传统图像处理的方法,如对图像进行二值化处理,以及形态学分析,腐蚀膨胀等操作。然而,在水尺周围环境复杂的情况下,或者光线微弱时,传统的图像处理方法会引入很多的噪点,这对准确的水位识别不利。二是基于深度学习的水尺刻度识别方法,采用目标检测对水尺上的信息进行识别。然而由于识别到的水尺最下方的字母e可能会浸在水中,导致字母e并不完整,仅通过目标检测无法准确识别出水尺的真实刻度。


技术实现要素:

5.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种水尺刻度自动读数方法,该方法可提高水尺读数的准确性,同时保证读数效率。
6.本发明的第二个目的在于提出一种电子设备。
7.本发明的第三个目的在于提出一种水尺刻度自动读数系统。
8.为达上述目的,本发明第一方面实施例提出的水尺刻度自动读数方法,包括:获取待识别水尺图像;将所述待识别水尺图像输入预先训练好的字符检测器得到字符检测框,并将所述待识别水尺图像输入预先训练好的场景分割器得到场景分割图像;根据所述字符检测框和所述场景分割图像得到水尺最下方数字、所述最下方数字的周围字母e与水面的关系,根据所述最下方数字和所述关系得到水尺读数。
9.另外,本发明实施例的水尺刻度自动读数方法还可以具有如下附加的技术特征:根据本发明的一个实施例,所述获取待识别水尺图像,包括:通过目标http网址及端口号接收客户端发送的字节信息,其中,所述字节信息由所述客户端对所述待识别水尺图像编码得到;对所述字节信息进行解码得到所述待识别水尺图像。
10.根据本发明的一个实施例,所述方法还包括:将所述水尺读数通过所述目标http网址及端口号发送至所述客户端。
11.根据本发明的一个实施例,所述根据所述字符检测框和所述场景分割图像得到水尺最下方数字、所述最下方数字的周围字母e与水面的关系,根据所述最下方数字和所述关系得到水尺读数,包括:对所述字符检测框中的数字检测框进行排序得到数字字符串,并对所述数字字符串与预设数字串进行匹配,根据匹配结果得到所述最下方数字;对所述场景分割图像中的水面区域和水草区域进行图像融合得到水区域;根据所述水区域、所述最下方数字的周围字母e对应的字符检测框判断所述水尺是否在水中;若是,则得到目标字母e在水中的刻度等级,并根据所述最下方数字和所述刻度等级得到所述水尺读数,其中,所述目标字母e为所述周围字母e中在水中的字母e。
12.根据本发明的一个实施例,所述方法还包括:在对所述字符检测框进行排序之前,将置信度小于预设置信度阈值的字符检测框过滤掉;在根据所述场景分割图像确定水区域之前,将所述场景分割图像中像素值大于预设像素值置信度阈值的像素点置为255,小于或等于所述预设像素值置信度阈值的像素点置为0。
13.根据本发明的一个实施例,所述方法还包括:在将所述待识别水尺图像输入预先训练好的字符检测器之前,将所述待识别水尺图像的尺寸设置为640*640;将所述待识别水尺图像输入预先训练好的场景分割器之前,将所述待识别水尺图像的尺寸设置为512*512。
14.根据本发明的一个实施例,所述字符检测器和所述场景分割器的训练过程包括:获取训练数据集,其中,所述训练数据集包括多个水尺图像和各所述水尺图像的第一标签和第二标签;构建字符检测器,并利用所述训练数据集中的水尺图像及其第一标签训练所述字符检测器,其中,所述字符检测器采用yolov5目标检测网络,所述第一标签包括所述水尺图像中的数字0、1、2、3、4、5、6、7、8、9和字母e;构建场景分割器,利用所述训练数据集中的水尺图像及其第二标签训练所述场景分割器,其中,所述场景分割器采用unet语义分割网络,所述第二标签包括所述水尺图像中的水尺区域、水面区域、水草区域和背景区域。
15.根据本发明的一个实施例,采用labelimg标注软件对所述水尺图像上的数字0、1、2、3、4、5、6、7、8、9和字母e进行标注,得到所述第一标签;采用labelme标注软件对所述水尺图像中的水尺区域、水面区域、水草区域和背景区域进行标注,得到所述第二标签。
16.为达上述目的,本发明第二方面实施例提出的电子设备,包括存储器、处理器和存储在所述存储器上的计算机程序,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如本发明第一方面实施例所述的水尺刻度自动读数方法。
17.为达上述目的,本发明第三方面实施例水尺刻度自动读数系统,所述系统包括:水尺;客户端,用于对所述水尺进行图像采集,识别水尺图像;服务端,与所述客户端通信连接,所述服务端采用根据本发明第二方面实施例所述的电子设备。
18.根据本发明实施例的水尺刻度自动读数方法,逻辑简单,读数效率高,通过将待识别水尺图像输入预先训练好的字符检测器和场景分割器中,提高了在进行水尺刻度读数时对小目标的检测能力,使得确定到的最下方数字以及最下方数字的周围字母e与水面的关系更加准确,可在一定程度上提高水尺刻度读数的准确性。
19.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
20.图1是本发明实施例的水尺刻度自动读数方法的流程示意图;图2是本发明实施例的水尺刻度自动读数方法中步骤s101的流程示意图;图3是本发明一个实施例的水尺刻度自动读数方法的流程示意图;图4是本发明实施例的水尺刻度自动读数方法中步骤s103的流程示意图;图5是本发明实施例的水尺刻度自动读数方法中对字符检测器和场景分割器的训练过程的流程示意图;图6是本发明实施例的电子设备的结构示意图;图7是本发明实施例的水尺刻度自动读数系统的结构示意图。
具体实施方式
21.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
22.下面参考附图描述本发明实施例的水尺刻度自动读数方法、系统及电子设备。
23.图1是本发明实施例的水尺刻度自动读数方法的流程示意图。
24.如图1所示,在一些实施例中,水尺刻度自动读数方法可包括以下步骤:s101,获取待识别水尺图像。
25.示例性地,待识别水尺图像可通过水位观测点建设的视频监控系统进行采集,即根据监控设备对水库中的水尺进行监控,并通过图像传感器获取本实施例中的待识别水尺图像。
26.s102,将待识别水尺图像输入预先训练好的字符检测器得到字符检测框,并将待识别水尺图像输入预先训练好的场景分割器得到场景分割图像。
27.需理解的是,将待识别水尺图像输入预先训练好的字符检测器,可得到各个数字及字符检测框信息,将待识别水尺图像输入预先训练好的场景分割器,得到的场景分割图像为二值化图像。其中,二值化图像是指将图像上的像素点的灰度值分别设为0和255,即将彩色图像变成黑白图像,二值图像每个像素只有两种可能出现的形式,即纯黑或纯白,在进行图像分析处理时,可在一定程度上让对比更加明显,同时还可去除掉彩色图像多余像素的干扰。
28.需要说明的是,本发明实施例中字符检测器和场景分割器的预先训练工作的实施方式可根据相关人员的历史经验选择或实际需求选择,在本发明实施例中不做出具体限制。
29.s103,根据字符检测框和场景分割图像得到水尺最下方数字、最下方数字的周围字母e与水面的关系,根据最下方数字和关系得到水尺读数。
30.具体而言,在根据步骤s102根据待识别水尺图像得到对应的字符检测框和场景分割图像后,便可得到相关的字符检测框信息和场景分割图像信息,可通过对字符检测框进行排序,确定最下方的数字检测框,得到水尺最下方数字及该数字周围字母e框的坐标位置信息(即最下方数字的周围字母e与水面的关系),通过对水尺最下方数字和最下方数字的周围字母e与水面的关系分析得到水尺读数。
31.相较于相关技术,本发明实施例的水尺刻度自动读数方法,通过将待识别水尺图像输入预先训练好的字符检测器得到字符检测框,可降低因检测框误检带来的水尺读数误差,并将待识别水尺图像输入预先训练好的场景分割器得到场景分割图像,能够得到较为准确的水尺和水面的关系,提高得到的水尺读数的准确性,保证水尺刻度自动读数工作的可靠性。
32.作为一种可能的实现方式,如图2所示,上述实施例中的步骤s101,获取待识别水尺图像,可包括:s201,通过目标http网址及端口号接收客户端发送的字节信息,其中,字节信息由客户端对待识别水尺图像编码得到。
33.s202,对字节信息进行解码得到待识别水尺图像。
34.也就是说,客户端将待识别水尺图像编码成字节的形式发送至指定的http网址及端口号上,服务端就可以在相应的http网址及端口号下得到该图像对应的字节信息,通过对该字节信息解码恢复便可得到待识别水尺图像。
35.在本发明的一些实施例中,在得到水尺读数后,还需将该水尺读数发送至客户端,如图3所示,水尺刻度自动读数方法可包括:s301,获取待识别水尺图像。
36.s302,将待识别水尺图像输入预先训练好的字符检测器得到字符检测框,并将待识别水尺图像输入预先训练好的场景分割器得到场景分割图像。
37.s303,根据字符检测框和场景分割图像得到水尺最下方数字、最下方数字的周围字母e与水面的关系,根据最下方数字和关系得到水尺读数。
38.需要说明的是,步骤s301-s303的具体实施方式可参考上述实施例中步骤s101-s103的实施过程,为减少冗余,此处不再赘述。
39.s304,将水尺读数通过目标http网址及端口号发送至客户端。
40.也就是说,在得到水尺读数后,服务端可将该水尺读数以字符串的形式将水尺的刻度信息发送至对应的http网址及端口号(即上述实现方式中接收客户端发送字节信息的http网址及端口号)下,此时客户端便可得到水尺读数结果。可理解的,将水尺读数以字符串的形式将水尺的刻度信息发送至对应的http网址及端口号,使得客户端可随时对该水尺读数进行调用,为进行进一步的数据分析提供便捷。
41.作为一种可能的实现方式,如图4所示,水尺刻度自动读数方法的实施例中,根据字符检测框和场景分割图像得到水尺最下方数字、最下方数字的周围字母e与水面的关系,根据最下方数字和关系得到水尺读数,可包括:s401,对字符检测框中的数字检测框进行排序得到数字字符串,并对数字字符串与预设数字串进行匹配,根据匹配结果得到最下方数字。
42.其中,对字符检测框中的数字检测框进行排序的方式可为从小到大,也可为从大到小,实际应用中根据具体需求进行选择即可,在本发明实施例中不做出具体限制。为解释清楚该匹配过程,接下来以从大到小举例说明,即对字符检测框中的数字检测框进行从大到小排序,从而得到对应的数字字符串,将该数字字符串分为若干字串,预设数字串设为[9,8,7,6,5,4,3,2,1,0],对分出的若干字串和预设数字串进行字符串匹配,将分出的若干字串作为模式串,预设数字串作为主串,寻找模式串是否存在于主串中。
[0043]
可选地,在一些实施例中,通过kmp(knuth-morris-pratt)算法对数字字符串和预设数字串进行匹配,即事先计算出模式串(即上述数字字符串分出的若干字串)的内部匹配信息,包括分出的若干字串的所有前缀和后缀,计算对应的各个前缀后缀的公共元素的最大长度表,根据该最大长度表计算最大长度值,即最匹配的最长字串,最终得到最下方数字。
[0044]
s402,对场景分割图像中的水面区域和水草区域进行图像融合得到水区域。
[0045]
可理解的是,得到的场景分割图像中除包括水面区域、水草区域外,还可能包括背景区域、水尺区域,在需要确定水区域时,无需融合背景区域、水尺区域,仅需对水面区域和水草区域进行图像融合。
[0046]
s403,根据水区域、最下方数字的周围字母e对应的字符检测框判断水尺是否在水中。
[0047]
作为一种可行的实施方式,在根据水区域、最下方数字的周围字母e对应的字符检测框判断水尺是否在水中时,可首先获取最下方数字下侧的字母e对应的字符检测框的宽度和高度,取该字符检测框和水面的交集,若该字符检测框与水面没有交集,则返回的水尺结果为-1,便可判定水尺总体悬挂在水面上;若该字符检测框与水面有交集,判定水尺在水中。
[0048]
s404,若是,则得到目标字母e在水中的刻度等级,并根据最下方数字和刻度等级得到水尺读数,其中,目标字母e为周围字母e中在水中的字母e。
[0049]
可理解的是,因水尺最下方数字的周围字母e可包括多个,因此根据步骤s403判定到水尺在水中时,在确定水尺读数时,需首先确定最下方数字的周围字母e中在水中的字母e在水中的刻度等级,进而根据该刻度等级和最下方数字进行水尺读数的计算。其中,在确定到的刻度等级不同时,计算水尺读数的方式也可不同。
[0050]
作为一种示例,在确定目标字母e在水中的刻度等级,并根据最下方数字和刻度等级得到水尺读数时,可包括:a,判断最下方数字右侧字母e是否检出。
[0051]
b,若检出,则根据该最下方数字右侧字母e对应的检测框进行字符等级推测,否则计算最下方数字与水面距离,对该距离进行字符等级推测,得到最下方数字右侧字母e对应的检测框的高度值。
[0052]
具体而言,在最下方数字右侧字母e检出时,需首先确定水尺上所有字母e对应的检测框高度的中位数,进而计算该检测出的最下方数字右侧字母e对应的检测框高度与水尺上所有字母e对应的检测框高度的中位数的比值,根据计算出的比值确定对应的字符等级,最终根据字符等级确定出相应的最下方数字右侧字母e对应的检测框的高度值。
[0053]
作为一种示例,可通过下式确定最下方数字右侧字母e对应的检测框的高度值:
,其中,表示最下方数字右侧字母e对应的检测框的高度值,x表示最下方数字右侧字母e对应的检测框高度与水尺上所有字母e对应的检测框高度的中位数的比值。
[0054]
需理解的是,最下方数字与水面距离应为最下方数据下侧字母e对应的字符检测框的高度减去该字符检测框和水面的交集部分的高度。若最下方数字右侧字母e未检出时,可计算出该距离与水尺上所有字母e对应的检测框高度的中位数的比值,根据该比值进行上述字符等级推测工作即可。
[0055]
c,判断最下方数字右侧字母e对应的检测框的高度值是否小于预设高度。
[0056]
d,若是,则确定目标字母e在水中的刻度等级为最下方数字右侧字母e的等级,将最下方数字加上该字母e对应的检测框的高度值,得到最终水尺读数;否则判断最下方数字下侧字母e是否检出。
[0057]
e,若检出,则根据最下方数字下侧字母e对应的检测框进行字符等级推测,并得到比值,则判断该比值与最下方数字下侧字母e对应的检测框高度是否相近。
[0058]
f,若是,则计算最下方数字下侧字母e对应的检测框和水面的距离,根据该距离和字符检测框的比值进行字符等级推测,否则根据最下方数字下侧字母e对应的检测框进行字符等级推测得到的比值进行字符等级推测,得到最下方数字下侧字母e对应的检测框的高度值。
[0059]
f,确定目标字母e在水中的刻度等级为最下方数字下侧字母e的等级,将最下方数字减去该字母e对应的检测框的高度值,得到最终水尺读数。
[0060]
需要说明的是,上述示出的根据最下方数字和刻度等级得到水尺读数的方式仅为示例性地,在具体确定过程中计算方式不唯一,可根据相关人员的历史经验或者实际应用需求进行适应性调整,在本发明实施例中不做出具体限制。
[0061]
在本发明的一些实施例中,水尺刻度自动读数方法,还可包括:在对字符检测框进行排序之前,将置信度小于预设置信度阈值的字符检测框过滤掉;在根据场景分割图像确定水区域之前,将场景分割图像中像素值大于预设像素值置信度阈值的像素点置为255,小于或等于预设像素值置信度阈值的像素点置为0。
[0062]
可理解的是,设置预设置信度阈值是为了过滤掉一些置信度低的字符检测框,设置预设像素值置信度阈值可减少一些误检的像素点,此举可提高本发明实施例自动读数工作的可靠性。
[0063]
其中,预设置信度阈值和预设像素值置信度阈值可根据实际情况或者根据相关人员的历史经验进行确定,例如,预设像素值置信度阈值设为0.5,判断预测出的图像的像素点置信度是否大于0.5,像素值置信度大于0.5的像素点置为255,像素值置信度小于0.5的
像素点置为0。
[0064]
在本发明的一些实施例中,水尺刻度自动读数方法,该方法还可包括:在将待识别水尺图像输入预先训练好的字符检测器之前,将待识别水尺图像的尺寸设置为640*640;将待识别水尺图像输入预先训练好的场景分割器之前,将待识别水尺图像的尺寸设置为512*512。
[0065]
可理解的是,在将待识别水尺图像输入预先训练好的字符检测器或预先训练好的场景分割器之前,对待识别水尺图像的尺寸进行设置可在一定程度上降低因图像尺寸过大而造成的计算量,提高计算速度。
[0066]
如图5所示,作为一种可能的实现方式,在水尺刻度自动读数方法的实施例中,对字符检测器和场景分割器的训练过程可具体包括:s501,获取训练数据集,其中,训练数据集包括多个水尺图像和各水尺图像的第一标签和第二标签。
[0067]
s502,构建字符检测器,并利用训练数据集中的水尺图像及其第一标签训练字符检测器,其中,字符检测器采用yolov5目标检测网络,第一标签包括水尺图像中的数字0、1、2、3、4、5、6、7、8、9和字母e。
[0068]
示例性地,可采用labelimg标注软件对水尺图像上的数字0、1、2、3、4、5、6、7、8、9和字母e进行标注,得到第一标签。
[0069]
可选地,字符检测器可通过以下方式进行预先训练,训练过程采用yolov5目标检测网络,需理解的是,该网络由输入端、特征提取端、特征融合端、输出端四部分组成。其中,输入端可用于输入大量训练数据,经过mosaic数据增强对这些训练数据进行扩充,提高对小目标的检测能力以及丰富数据集,其次进入自适应锚框计算,根据标注框的大小,计算出适合水尺数据集的最佳锚框;特征提取端可用于通过focus结构对输入的待识别水尺图像进行切片操作,以减少计算量,加快训练速度,再通过csp结构,该csp结构由cbl模块、res unint模块以及卷积层连接组成,可增加网络的学习能力,使得在轻量化的同时还可保证准确性;特征融合端采用fpn pan结构进行多尺度的特征融合,进一步提升特征的多样性和鲁棒性,从而增强预测的特征信息;输出端可用于完成水尺上的字符检测结果的输出,采用giou_loss损失函数对目标框做分类和回归,使网络有更好的拟合,在后处理阶段采用nms非极大值抑制,筛选多个目标框,提升网络检测的准确性。实际应用中,通过上述方法训练出的字符检测器,各个类别训练精度值均在93%以上,精确率值均在95%以上,召回率均在88%以上。
[0070]
s503,构建场景分割器,利用训练数据集中的水尺图像及其第二标签训练场景分割器,其中,场景分割器采用unet语义分割网络,第二标签包括水尺图像中的水尺区域、水面区域、水草区域和背景区域。
[0071]
示例性地,可采用labelme标注软件对水尺图像中的水尺区域、水面区域、水草区域和背景区域进行标注,得到第二标签。
[0072]
可选地,场景分割器可通过以下方式进行预先训练,训练过程采用unet语义分割网络,需理解的是,该网络由特征提取端和特征融合端组成。其中,在特征提取模块中,输入的待识别水尺图像经过resnet主干网络提取到深层和浅层的特征,所有主干网络具有四个带有残差块的阶段,并且每个阶段的第一层卷积层的步进都为2,以对得到的特征图进行下
采样,从而提高计算效率、增大感受野;在特征融合模块中,采用ppm金字塔池化模块捕获上下文的信息,把得到的特征送入fpn特征金字塔模块进行深层特征与浅层特征的融合,并在fpn中嵌入fam流对齐模块,以代替正常的双线性插值实现上采样,为网络提供丰富的低级特征的语义表示。实际应用中,通过上述方法训练出的场景分割器,各个类别分割精度在98%左右,平均交并比为92%,频权交并比为96%。
[0073]
根据本发明实施例的水尺刻度自动读数方法,在将待识别水尺图像输入预先训练好的字符检测器或预先训练好的场景分割器之前,对待识别水尺图像的尺寸进行设置可在一定程度上降低因图像尺寸过大而造成的计算量,提高计算速度;同时采用深度学习算法训练字符检测器和场景分割器,有效提高了对小目标的检测能力,得到更为准确的水尺和水面的关系,通过分析水尺最下方数字周围的字母e与检测出的水面的位置关系,得到更为准确的水尺刻度。同时,将水尺读数以字符串的形式将水尺的刻度信息发送至对应的http网址及端口号,使得客户端可随时对该水尺读数进行调用,为进行进一步的数据分析提供便捷。
[0074]
进一步地,本发明实施例还提出了一种电子设备。
[0075]
如图6所示,本发明实施例的电子设备100包括存储器102、处理器104和存储在存储器102上的计算机程序106,计算机程序106被处理器104执行时,实现如本发明上述实施例的水尺刻度自动读数方法。
[0076]
进一步地,本发明实施例还提出了一种水尺刻度自动读数系统。
[0077]
如图7所示,水尺刻度自动读数系统200可包括:水尺201;客户端202,和服务端203。其中,客户端202,用于对水尺201进行图像采集,得到待识别水尺图像;服务端203,与客户端202通信连接,服务端203采用根据本发明上述实施例的电子设备100。
[0078]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献