发明内容
针对目前机房数字仪表读数存在的问题,本发明提供一种巡检场景下数字仪表读数的识别方法,可以提高数字仪表读数的识别速率和准确率。
第一方面,本发明提供一种巡检场景下数字仪表读数的识别方法,包括以下步骤:
步骤S101、基于巡检路线,采集所述巡检场景下的设备图片;
步骤S103、基于深度学习的识别算法识别设备图片得到对应的数字仪表板和数字示数,筛选出所述设备图片中包含数字仪表的第一图片;其中,数字仪表包括数字仪表板和数字示数;
步骤S105、基于WEB规则模板对所述第一图片进行数字仪表板和数字示数的筛选,其中所述WEB规则模板包括数字仪表外轮廓的空间信息和待识别数字示数的外轮廓空间信息;
步骤S107、对上述筛选结果中的数字示数的结果进行方向矫正处理;
步骤S109、对矫正后的图片进行数字示数识别;
步骤S111、对上述识别的结果进行置信度判断,输出置信度大于预设置信度阈值的结果。
其中,所述步骤S103之后还包括:
判断所述第一图片中数字仪表数量;
基于所述第一图片中数字仪表的数量,采用相应的处理。
其中,基于所述第一图片中数字仪表的数量,采用相应的处理具体包括:
当所述数字仪表数量等于1时,执行步骤S105;
当所述第一图片中数字仪表的数量大于1,则基于先验数据将数字仪表与相应的数字示数进行关联对应。
其中,基于计算交并比IoU来筛选所述数字仪表。
其中,步骤S105之前还包括:
预先远程对当前图片中某一位置的某一数字仪表设定WEB规则模板,所述WEB规则模板包括第一WEB规则模板和第二WEB规则模板;所述第一WEB规则模板基于所述数字仪表外轮廓的空间信息筛选图片中的数字仪表;所述第二WEB规则模板基于数字示数的外轮廓空间信息筛选待识别数字示数。
其中,对于某一个数字仪表,所述第一WEB规则模板与所述第二WEB规则模板一一对应。
其中,所述步骤S107包括:
使用方向分类器对上述筛选结果进行方向矫正。
其中,所述基于WEB规则模板对所述第一图片数字示数的筛选,包括:
获取所述第一图片中的数字仪表板的外轮廓的位置和尺寸信息;
根据获取的数字仪表板的外轮廓的位置和尺寸信息,以及所述第一WEB规则模板建立仿射变换关系,得到仿射变换矩阵,其中,所述第一WEB规则模板存储有数字仪表板的外轮廓位置和尺寸信息;
基于仿射变换矩阵和第二WEB规则模板,得到转换后的模板数字框;
根据转换后的模板数字框筛选所述第一图片中的数字框信息。
其中,得到仿射变换矩阵具体包括:
在同一坐标系下,得到矩形R1和矩形R2;矩形R1为第一图片中的数字仪表板的外轮廓位置和尺寸信息,矩形R2为第一WEB规则模板中的数字仪表板的外轮廓位置和尺寸信息;
根据矩形R1矩形R2,获得矩形R1变换为矩形R2的仿射变换关系,具体为:
R2=TR1
式中,T为矩形R1和矩形R2进行仿射变换的矩阵;
定义矩形R1的左上角坐标和右下角坐标为(a1,b1)和(a2,b2),矩形R2的左上角坐标和右下角坐标为(m1,n1)和(m2,n2);
根据矩形R1的左上角坐标和右下角坐标、矩形R2的左上角坐标和右下角坐标、和仿射变换关系获得矩阵T,具体为:
其中,进行巡检拍摄设备图片的大小为已知且不变的,假设第一图片宽为width,高为height,以第一图片的左上角为坐标原点(0,0),右下角点(width,height),则第一图片中的信息都会在(0,0)到 (width,height)之间。设定的WEB规则模板也是以(0,0)为左上角点, (width,height)为右下角点设定的位置信息,故认为第一图片和WEB规则模板在同一坐标系下。
第二方面,本发明还提供一种实现上述方法的巡检场景下数字仪表读数的识别系统,其包括:
图片采集模块,其用于基于巡检路线,采集巡检场景下的设备图片;
图片筛选模块,其用于筛选出设备图片中包含数字仪表的第一图片;
仪表筛选模块,其用于基于WEB规则模板对第一图片进行数字仪表板和数字示数的筛选,其中WEB规则模板包括数字仪表外轮廓的空间信息和待识别数字示数的外轮廓空间信息;
示数矫正模块,其用于对筛选结果中的数字示数的结果进行方向矫正处理;
示数识别模块,其用于对矫正后的图片进行数字示数识别;
结果判断模块,其用于对数字示数识别的结果进行置信度判断,输出置信度大于预设置信度阈值的结果。
本发明在检测特定目标时,使用基于深度学习的目标检测的方法进行特定的目标检测。之后对检测到的目标进行处理后,将结果再送入OCR算法中进行特定数字的读数。此方案借鉴了目前已有的传统图像算法方案的流程,并使用了目前基于深度学习的文字识别算法的部分功能。即解决了第一种方案的泛用性差,速度慢,和准确率不高的特点,又解决了第二种方案中无法针对特定场景使用的缺点。通过对提取到的目标数字增加了方向分类器来对数字进行矫正,进一步提高识别的准确率。
并且通过本方案可以实现在特定场景下的数字仪表的读数与记录。借助智能巡检机器人的平台,进行图片的采集。然后根据提供的图片返回识别到的特定的读数,保证了在无人参与的情况下对机房中的信息进行自动记录,并且根据记录实时监控,实时报警。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述……,但这些……不应限于这些术语。这些术语仅用来将……区分开。例如,在不脱离本发明实施例范围的情况下,第一……也可以被称为第二……,类似地,第二……也可以被称为第一……。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者装置中还存在另外的相同要素。
下面结合附图详细说明本发明的可选实施例。
实施例一、
参见图1所示,本发明公开了一种巡检场景下数字仪表读数的识别方法,包括以下步骤:
步骤S101、基于巡检路线,采集巡检场景下的设备图片;
步骤S103、基于深度学习的识别算法识别设备图片得到对应的数字仪表板和数字示数,筛选出设备图片中包含数字仪表的第一图片;其中,数字仪表包括数字仪表板和数字示数;
步骤S105、基于WEB规则模板对第一图片进行数字仪表板和数字示数的筛选,其中WEB规则模板包括数字仪表外轮廓的空间信息和待识别数字示数的外轮廓空间信息;
步骤S107、对上述筛选结果中的数字示数的结果进行方向矫正处理;
步骤S109、对矫正后的图片进行数字示数识别;
步骤S111、对上述识别的结果进行置信度判断,输出置信度大于预设置信度阈值的结果。
实施例二、
在实施例一的基础上,本实施例还可以包括以下内容:
本发明公开了一种巡检场景下数字仪表读数的识别方法,包括以下步骤:
步骤S101、基于巡检路线,采集巡检场景下的设备图片;
步骤S103、基于深度学习的识别算法识别设备图片得到对应的数字仪表板和数字示数,筛选出设备图片中包含数字仪表的第一图片;
判断第一图片中数字仪表数量;
基于第一图片中数字仪表的数量,采用相应的处理,具体包括:
当数字仪表数量等于1时,执行步骤S105;
当第一图片中数字仪表的数量大于1,则基于先验数据将数字仪表与相应的数字示数进行关联对应。
步骤S105、基于WEB规则模板对第一图片进行数字仪表板和数字示数的筛选,其中WEB规则模板包括数字仪表外轮廓的空间信息和待识别数字示数的外轮廓空间信息;
步骤S107、对步骤S105筛选结果中的数字示数的结果使用方向分类器进行方向矫正处理;
步骤S109、对矫正后的图片进行数字示数识别;
步骤S111、对上述识别的结果进行置信度判断,输出置信度大于预设置信度阈值的结果。
本实施例置信度为识别结果的可信度。置信度是识别仪表所显示数字的识别模型的输出信息之一。本实施例输出数字对应的识别字符还输出其置信度,取值0-1,用于表征该识别数字正确的一种度量值。
其中,步骤S105中基于计算交并比IoU来筛选数字仪表。
实施例三、
在上述实施例的基础上,本实施例还可以包括以下内容:
本发明实施例在步骤S105之前还包括:
预先远程对当前图片中某一位置的某一数字仪表设定WEB规则模板,WEB规则模板包括第一WEB规则模板和第二WEB规则模板;第一WEB规则模板基于数字仪表外轮廓的空间信息筛选图片中的数字仪表;第二WEB规则模板基于数字示数的外轮廓空间信息筛选待识别数字示数。本实施例可以对所有的数字仪表进行预设WEB规则模板,以保证后续对数字仪表读数的快速识别。在一个应用场景中,本实施例对于某一个数字仪表而言,第一WEB规则模板与第二WEB规则模板一一对应。
参见图2所示,本实施例基于WEB规则模板对第一图片数字示数的筛选,可以包括:
获取第一图片中的数字仪表板的外轮廓的位置和尺寸信息;
根据获取的数字仪表板的外轮廓的位置和尺寸信息,以及第一 WEB规则模板建立仿射变换关系,得到仿射变换矩阵,其中,第一 WEB规则模板存储有数字仪表板的外轮廓位置和尺寸信息;
基于仿射变换矩阵和第二WEB规则模板,得到转换后的模板数字框;
根据转换后的模板数字框筛选第一图片中的数字框信息。
本实施例进行数字示数筛选的主要原因在于,本实施例在进行筛选钱已经找到需要的那个仪表,故这个仪表中的数字即为本实施例需要的数字。但是检测到数字也同时存在多个,其中还包含识别错误的结果。所以本实施例也需要对数字进行筛选。本实施例可以结合WEB 规则模板中的信息和检测到的仪表的信息进行筛选。在第一WEB规则模板中存储着仪表的外轮廓位置和尺寸信息。而本实施例对第一图片检测到的结果中也包含仪表的外轮廓的位置和尺寸信息。利用这两组参数可以建立起仿射变换(Affine Transformation)关系。并使用仿射变换矩阵来表示这个变换过程。通过此仿射变换矩阵,可以实现WEB规则模板中任意空间坐标转换到当前检测结果所在的空间坐标。
进一步地,本实施例在获得仿射变换矩阵之后,可以实现将第二 WEB规则模板中的数字框通过这个仿射变换矩阵变换到实际拍摄图片中的位置。之后使用转换后的模板数字框对检测结果中的数字框进行筛选。其中,由于本实施例检测的结果中可能包含了许多误识别或者识别多余的信息。需要使用转换后的模板数字框信息与实际检测到的数字框信息进行IoU运算。设定IoU阈值,筛选出我们需要的数字框。
本实施例在得到同一坐标系下的两个不同矩形后,可以建立一种仿射变换关系,使得一个矩形通过仿射变换为另一个矩形。即本实施例通过得到仿射变换矩阵来进行变化,具体可以包括:
在同一坐标系下,得到矩形R1和矩形R2;矩形R1为第一图片中的数字仪表板的外轮廓位置和尺寸信息,矩形R2为第一WEB规则模板中的数字仪表板的外轮廓位置和尺寸信息;
根据矩形R1矩形R2,获得矩形R1变换为矩形R2的仿射变换关系,具体为:
R2=TR1
式中,T为矩形R1和矩形R2进行仿射变换的矩阵;
定义矩形R1的左上角坐标和右下角坐标为(a1,b1)和(a2,b2),矩形R2的左上角坐标和右下角坐标为(m1,n1)和(m2,n2);
根据矩形R1的左上角坐标和右下角坐标、矩形R2的左上角坐标和右下角坐标、和仿射变换关系获得矩阵T,具体为:
获得仿射变换关系的矩阵T后,可以将R1中的任意一点变换为R2中的点。
对模板数字框信息与实际检测到的数字框信息进行IoU运算时,可以包括:
在获得的两个矩形A、B中,定义A的左上角和右下角坐标分别为(a1,b1)(a2,b2),B的左上角与右下角为(m1,n1)(m2,n2),则IoU公式如下:
实施例四、
在上述实施例的基础上,本实施例还可以包括以下内容:
在实际应用场景中,本实施例进行数字仪表读数的识别时,其主要采用包括以下步骤:
在当前巡检场景下根据巡检路线进行巡检;
对巡检过程中的设备进行拍摄采集;
根据已有的深度学习识别算法识别拍摄的设备图片,以得到对应的数字仪表板和数字示数,并筛选出设备图片中包含数字仪表板和数字示数的图片;
对设备图片进行设定包含数字仪表板外轮廓空间信息的第一WEB 规则模板和包含数字示数外轮廓空间信息的第二WEB规则模板;
基于第一WEB规则模板和第二WEB规则模板,通过计算交并比 IoU对设备图片中的数字仪表板和数字示数进行筛选;
对筛选出的数字示数使用方向分类器进行方向矫正处理;
对矫正后的图片通过OCR算法进行数字示数识别,
对识别后的数字示数进行置信度判断,当置信度大于预设值时输出该识别结果。
实施例五、
参见图3所示,本发明实施例还提供一种实现上述方法的巡检场景下数字仪表读数的识别系统,其包括:
图片采集模块,其用于基于巡检路线,采集巡检场景下的设备图片;
图片筛选模块,其用于筛选出设备图片中包含数字仪表的第一图片;
仪表筛选模块,其用于基于WEB规则模板对第一图片进行数字仪表板和数字示数的筛选,其中WEB规则模板包括数字仪表外轮廓的空间信息和待识别数字示数的外轮廓空间信息;
示数矫正模块,其用于对筛选结果中的数字示数的结果进行方向矫正处理;
示数识别模块,其用于对矫正后的图片进行数字示数识别;
结果判断模块,其用于对数字示数识别的结果进行置信度判断,输出置信度大于预设置信度阈值的结果。
实施例六、
本公开实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行如上实施例所述的方法步骤。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(AN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/ 或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
以上介绍了本发明的较佳实施方式,旨在使得本发明的精神更加清楚和便于理解,并不是为了限制本发明,凡在本发明的精神和原则之内,所做的修改、替换、改进,均应包含在本发明所附的权利要求概括的保护范围之内。