本发明涉及仪表智能识别,尤其涉及一种方形表读数识别方法、装置、程序产品和电子设备。
背景技术:
1、在工厂中存在大量方形表,如方形电流表、方形电压表、方形压力表、方形温度表等。方形表的表盘中通常存在起始刻度、终止刻度和指针。为降低成本,工厂中的大部分方形表不具备智能仪表的远传功能,只能借助人工或者外部智能设备进行读数。并且,由于工厂环境往往处于高温或者有毒环境中,目前安全和科学的方式是利用外部智能设备进行读数,如利用机器人摄像头拍摄方形表,基于深度学习对采集图像进行智能读数识别。
2、传统的深度学习方案直接从机器人的采集图像中识别出表盘、起始刻度、终止刻度和指针,由于方形表体积较小,拍摄时是通过机器人云台变倍得到的,画面可能出现模糊,特别是指针出现模糊的情况,导致传统的深度学习方案即使检测到表盘,也难以检测到指针,无法准确识别读数。方形表的读数准确度很大程度上依赖于起始刻度、终止刻度、指针,以及指针与两个刻度的相对位置关系的准确识别,然而,读数识别准确性与采集图像(尤其是像平面的水平方向)扭曲状态密切相关。而实际中,机器人并不能保证拍摄图像中方形表处于水平线上,大多数时候是倾斜拍摄的,拍摄图像中方形表画面是不对称的,存在扭曲,导致识别的指针与两个刻度的相对位置关系存在误差。现有技术为改善扭曲问题,对采集图像进行了透视变换,但实际效果有限,透视变换后在像平面水平方向仍然存在扭曲,影响读数识别的准确性。
技术实现思路
1、本发明旨在至少解决现有方形表读数识别方法准确性较低的技术问题,提供一种方形表读数识别方法、装置、程序产品和电子设备。
2、为了实现本发明的上述目的,根据本发明的第一个方面,本发明提供了一种方形表读数识别方法,包括:获取采集图像,将采集图像和预设文本输入训练好的语义分割模型,语义分割模型输出方形表表盘检测框信息和自适应图像变换参数;基于方形表表盘检测框信息从采集图像中分割出方形表表盘图像;结合自适应图像变换参数对方形表表盘图像进行水平矫正;将水平矫正后的方形表表盘图像输入预先训练好的目标检测模型,目标检测模型输出指针、表盘,以及初始刻度和/或终止刻度的检测框信息;根据指针、表盘,以及初始刻度和/或终止刻度的检测框信息确定方形表读数。
3、进一步优选地,所述语义分割模型包括:
4、文本编码器,用于提取预设文本的文本特征;
5、图像编码器,用于提取采集图像的图像特征;
6、文本图像特征融合模块,对文本特征和图像特征进行跨模态增强处理获得增强文本特征和增强图像特征;
7、跨模态解码器,基于增强文本特征和增强图像特征获得解码特征;
8、回归网络,对解码特征进行回归处理获得自适应图像变换参数;
9、解码头,基于解码特征获得方形表表盘检测框信息。
10、进一步优选地,所述语义分割模型包括grounding dino网络和回归网络,所述回归网络的输入端与grounding dino网络的解码器的最后一层全连接前馈网络的输出端连接。
11、进一步优选地,所述结合自适应图像变换参数对方形表表盘图像进行水平矫正,包括:
12、对方形表表盘图像进行透视变换获得透视变换矩阵,透视变换矩阵大小为3×3;
13、将透视变换矩阵的第一列和第二列分别乘以自适应图像变换参数获得矫正矩阵;
14、利用矫正矩阵对方形表表盘图像中像素点的位置坐标进行矫正。
15、进一步优选地,所述根据指针、表盘,以及初始刻度和/或终止刻度的检测框信息确定方形表读数,包括:
16、根据指针、表盘,以及初始刻度和/或终止刻度的检测框信息确定指针、表盘,以及初始刻度和/或终止刻度;
17、若检测到初始刻度且未检测到终止刻度,在像平面将初始刻度关于表盘的中线对称变换获得终止刻度;
18、若检测到终止刻度且未检测到初始刻度,在像平面将终止刻度关于表盘的中线对称变换获得初始刻度;
19、根据指针、表盘、初始刻度和终止刻度确定方形表读数。
20、进一步优选地,所述根据指针、表盘、初始刻度和终止刻度确定方形表读数,包括:
21、连线初始刻度中心位置和终止刻度中心位置,获得第一线段;
22、获取指针中线与第一线段的中垂线的相交点,将所述相交点作为指针转动轴点;
23、计算初始刻度中心位置和指针转动轴点的连线与指针中线的夹角,记为第一夹角;
24、计算初始刻度中心位置和指针转动轴点的连线与指针中线的夹角,记为第二夹角;
25、获取第二夹角与第一夹角的比值,利用预设的比值映射关系将比值映射为方形表读数。
26、进一步优选地,所述根据指针、表盘、初始刻度和终止刻度确定方形表读数,包括:
27、连线初始刻度中心位置和终止刻度中心位置,获得第一线段;
28、获取指针中线与第一线段的中垂线的相交点,将所述相交点作为指针转动轴点;
29、计算初始刻度中心位置和指针转动轴点的连线与指针中线的夹角;
30、利用预设的角度映射关系将所述夹角映射为方形表读数。
31、为了实现本发明的上述目的,根据本发明的第二个方面,本发明提供了一种方形表读数识别装置,用于实现本发明第一方面所述的一种方形表读数识别方法,包括:
32、分割模块,获取采集图像,将采集图像和预设文本输入训练好的语义分割模型,语义分割模型输出方形表表盘检测框信息和自适应图像变换参数;
33、提取模块,基于方形表表盘检测框信息从采集图像中分割出方形表表盘图像;
34、矫正模块,结合自适应图像变换参数对方形表表盘图像进行水平矫正;
35、目标检测模块,将水平矫正后的方形表表盘图像输入预先训练好的目标检测模型,目标检测模型输出指针、表盘,以及初始刻度和/或终止刻度的检测框信息;
36、读数计算模块,根据指针、表盘,以及初始刻度和/或终止刻度的检测框信息确定方形表读数。
37、为了实现本发明的上述目的,根据本发明的第三个方面,本发明提供了一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现本发明第一方面所述的一种方形表读数识别方法的步骤。
38、为了实现本发明的上述目的,根据本发明的第四个方面,本发明提供了一种电子设备,所述电子设备包括:
39、至少一个处理器;以及,
40、与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本发明第一方面所述的一种方形表读数识别方法。
41、本发明提供的方形表读数识别方案将读数识别过程分为两个阶段,第一阶段利用语义分割模型获得采集图像的方形表表盘检测框信息和自适应图像变换参数,根据方形表表盘检测框信息从采集图像中分割提取出方形表表盘图像;第二阶段中结合自适应图像变换参数对方形表表盘图像进行水平矫正,使矫正后的方形表表盘图像的水平度提高,再将矫正后的方形表表盘图像输入目标检测模型获得指针、表盘,以及初始刻度和/或终止刻度的检测框信息,最后基于指针、表盘,以及初始刻度和/或终止刻度的检测框信息获得方形表读数,具有以下有益技术效果:
42、(1)第一阶段结合了预设文本语义信息进行方形表检测,能够在低质量采集图像画面上实现高精度地方形表语义分割,有效地解决了传统算法准确度低甚至难以读数的现象,后续第二阶段的目标检测模型仅处理方形表表盘图像,这种分阶段处理方式能够减少目标检测范围,提高检测性能,避免大量漏检、误检问题。
43、(2)第一阶段还获取了自适应图像变换参数,对传统的透视变换矩阵进行了改进,有效解决了画面扭曲现象,提高了矫正后的方形表表盘图像的水平度,使后续读数识别步骤的准确性提升,且后续读数识别步骤中还可以基于起始刻度和终止刻度的对称性推理出缺失的起始刻度或终止刻度,有效解决了方形表表盘图像中出现的指针模糊、初始刻度或终止刻度小时无法读数的问题。