指针仪表读数的识别方法、系统、设备及计算机存储介质
技术领域
本申请涉及图像处理
技术领域
,特别是涉及一种指针仪表读数的识别方法、系统、设备及计算机存储介质。背景技术
当前以字符类识别为目的的机器视觉技术已经非常成熟。例如,利用深度神经网络模型对数字类仪表读数进行识别处理。但基于深度神经网络模型输出的识别图像直接计算指针仪表读数可能存在指针仪表读数准确性不高问题。
发明内容
本申请提供了一种指针仪表读数的识别方法、系统、设备及计算机存储介质,以解决现有技术中指针类仪表读数不准确问题。
为解决上述技术问题,本申请提供了一种指针仪表读数的识别方法,所述方法包括:
获取所述指针仪表图像;
将所述指针仪表图像输入深度神经网络模型中,得到目标特征图像;
对所述目标特征图像进行轮廓识别处理,得到环境轮廓识别结果和读数轮廓识别结果;
判断所述环境轮廓识别结果是否满足预设环境轮廓条件;
若所述环境轮廓识别结果满足预设环境轮廓条件,则根据所述读数轮廓识别结果计算所述指针仪表读数。
为解决上述技术问题,本申请提供了一种指针仪表读数的识别系统,所述识别系统包括:
获取单元,用于获取所述指针仪表图像;
网络模型单元,用于将所述指针仪表图像输入深度神经网络模型中,得到目标特征图像;
轮廓识别单元,用于对所述目标特征图像进行轮廓识别处理,得到环境轮廓识别结果和读数轮廓识别结果;
判断单元,用于判断所述环境轮廓识别结果是否满足预设环境轮廓条件;
计算单元,用于若所述环境轮廓识别结果满足预设环境轮廓条件,则根据所述读数轮廓识别结果计算所述指针仪表读数。
为解决上述技术问题,本申请提供了一种终端设备,所述设备包括存储器以及与所述存储器耦接的处理器;
所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如上述的指针仪表读数的识别方法。
为解决上述技术问题,本申请还提供了一种计算机存储介质,所述计算机存储介质用于存储程序数据,所述程序数据在被处理器执行时,用以实现如上述的指针仪表读数的识别方法。
本申请提供的指针仪表读数的识别方法对深度神经网络模型输出的目标特征图像进行轮廓识别处理,以确定环境轮廓识别结果和读数轮廓识别结果,并在环境轮廓识别结果满足预设环境轮廓条件时,利用读数轮廓识别结果计算指针仪表读数,避免直接利用深度神经网络模型输出的目标特征图像计算指针仪表读数所带来的误差,提高了指针仪表读数的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的指针仪表读数的识别方法的实施例的流程示意图;
图2是图1所示的指针仪表读数的识别方法中S103之后的实施例的流程示意图;
图3是图1所示的指针仪表读数的识别方法中S103之后的实施例的流程示意图;
图4是图1所示的指针仪表读数的识别方法中S105的实施例的流程示意图;
图5是图4所示的指针仪表读数的识别方法中S402的实施例的流程示意图;
图6是图1所示的指针仪表读数的识别方法中S101的实施例的流程示意图;
图7是本申请提供的识别系统一实施例的结构示意图;
图8是本申请提供的终端设备一实施例的结构示意图;
图9是本申请提供的计算机存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提出了一种指针仪表读数的识别方法,具体请参阅图1,图1是本申请提供的指针仪表读数的识别方法的实施例的流程示意图。本实施例中指针仪表读数的识别方法可以应用于识别装置,本申请的识别装置可以为服务器,也可以为移动设备,还可以为由服务器和移动设备相互配合的系统。相应地,移动设备包括的各个部分,例如各个单元、子单元、模块、子模块可以全部设置于服务器中,也可以全部设置于移动设备中,还可以分别设置于服务器和移动设备中。
进一步地,上述服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块,例如用来提供分布式服务器的软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
本实施例的指针仪表读数的识别方法具体包括以下步骤:
S101:获取指针仪表图像。
本申请通过图像识别获知指针仪表读数。具体地,识别装置可通过安装在指针仪表前方的摄像头,拍摄指针仪表图像。也可通过抄表工作人员携带的移动终端获取指针仪表图像。采用安装在指针仪表前方的摄像头获取指针仪表图像的方式,可预设时间间隔获取指针仪表图像。采用抄表工作人员携带的移动终端获取指针仪表图像的方式,可于抄表工作人员每次到达指针仪表所在处时获取指针仪表图像。
在具体实施例中,采用抄表工作人员携带的移动终端获取指针仪表图像时,获取的指针仪表图像应在指针仪表正面预设偏角范围内,以避免指针仪表图像偏角过大而导致指针仪表读数识别不准确。其中,预设偏角范围为指针仪表正面20度范围内。
进一步地,考虑到指针仪表的安装环境,为了提高指针仪表图像的获取效率,可按照指针仪表的外形轮廓设置拍摄框,方便抄表工作人员快速框定指针仪表,得到偏角满足预设情况的指针仪表图像。
S102:将指针仪表图像输入深度神经网络模型中,得到目标特征图像。
为了识别得到指针仪表读数,本实施例的识别装置将指针仪表图像输入深度神经网络模型中。具体地,识别装置将目标图像输入深度神经网络模型中,得到目标特征图像。
其中,深度神经网络模型为已经训练完成的网络模型。在具体实施例中,识别装置可利用大量训练图像和标注图像对深度神经网络模型进行训练,得到训练特征图像,并计算训练特征图像和目标特征图像之间的损失函数,以损失函数变小为目标训练深度神经网络模型,得到满足要求的深度神经网络模型。
在具体实施例中,识别装置可将指针仪表图像输入第一子网络模型中,得到多维子特征图像。并将多维子特征图像输入第二子网络模型中,得到目标特征图像。
S103:对目标特征图像进行轮廓识别处理,得到环境轮廓识别结果和读数轮廓识别结果。
考虑到现有技术中直接利用深度神经网络模型输出的目标特征图像计算指针仪表读数的高难度和不准确性。本实施例的识别装置考虑对目标特征图像中指针仪表的环境轮廓和读数轮廓进行识别,以在环境轮廓满足预设环境轮廓条件时,才利用读数轮廓识别结果计算指针仪表读数。具体地,识别装置需对目标特征图像进行轮廓识别处理,得到环境轮廓识别结果和读数轮廓识别结果。其中,环境轮廓识别结果可以包括表盘外轮廓,内轮廓,油液空气分界线等。读数轮廓识别结果可以包括刻度,指针等。
在具体实施例中,识别装置可采用轮廓识别技术对目标特征图像进行轮廓识别处理,得到环境轮廓识别结果和读数轮廓识别结果。其中,轮廓识别技术可以为opencv轮廓识别技术。
S104:判断环境轮廓识别结果是否满足预设环境轮廓条件。
考虑到指针仪表的指针处于表盘轮廓内,为了提高指针仪表读数的准确性。本实施例的识别装置通过判断环境轮廓识别结果是否满足预设环境轮廓条件,在环境轮廓识别结果满足预设环境轮廓条件,执行S105。否则认为环境轮廓识别结果和读数轮廓识别结果错误。
S105:则根据读数轮廓识别结果计算指针仪表读数。
其中,识别装置判定环境轮廓识别结果满足预设环境轮廓条件时,利用读数轮廓识别结果计算指针仪表读数。
上述方案中,识别装置对深度神经网络模型输出的目标特征图像进行轮廓识别处理,以确定环境轮廓识别结果和读数轮廓识别结果,并在环境轮廓识别结果满足预设环境轮廓条件时,利用读数轮廓识别结果计算指针仪表读数,避免直接利用深度神经网络模型输出的目标特征图像计算指针仪表读数所带来的误差,提高了指针仪表读数的准确性。
请继续参阅图2,图2是图1所示的指针仪表读数的识别方法中S103之后的实施例的流程示意图。在上述实施例的基础上,S103之后还包括以下步骤:
S201:判断表盘外轮廓是否满足预设表盘形状,并判断表盘外轮廓尺寸是否满足第一预设尺寸。
为了提高指针仪表读数的准确性,识别装置需确定环境轮廓识别结果是否满足预设环境轮廓条件。此时,环境轮廓识别结果包括表盘外轮廓。具体地,识别装置判断表盘外轮廓是否满足预设表盘形状,并判断表盘外轮廓尺寸是否满足第一预设尺寸,在表盘外轮廓满足预设表盘形状且表盘外轮廓尺寸满足第一预设尺寸时,执行S202。在表盘外轮廓不满足预设表盘形状且表盘外轮廓尺寸不满足第一预设尺寸,或者,表盘外轮廓满足预设表盘形状但表盘外轮廓尺寸不满足第一预设尺寸,以及表盘外轮廓不满足预设表盘形状且表盘外轮廓尺寸满足第一预设尺寸时,表明轮廓识别技术识别的表盘外轮廓错误,无法基于对应的读数轮廓识别结果得到准确的指针仪表读数。
S202:根据读数轮廓识别结果计算指针仪表读数。
基于读数轮廓识别结果计算指针仪表读数。
上述方案中,识别装置通过判断表盘外轮廓是否满足预设表盘形状,并判断表盘外轮廓尺寸是否满足第一预设尺寸,确定轮廓识别技术识别出的表盘外轮廓的准确性,从而提高基于表盘外轮廓计算得到指针仪表读数的准确性。
请继续参阅图3,图3是图1所示的指针仪表读数的识别方法中S103之后的实施例的流程示意图。在上述实施例的基础上,S103之后还包括以下步骤:
S301:获取油液空气分界线和表盘外轮廓之间的距离。
考虑到指针仪表读数中可能存在油液空气分界线,且油液空气分界线对指针仪表读数的识别存在重大影响。为此,识别装置考虑油液空气分界线对指针仪表读数的影响。
具体地,本实施例的环境轮廓识别结果包括表盘外轮廓和油液空气分界线。为了避免油液空气分界线对指针仪表读数准确性的影响,识别装置获取油液空气分界线和表盘外轮廓之间的距离。其中,油液空气分界线和表盘外轮廓之间的距离为内接距离。
S302:判断距离是否不大于第二预设距离阈值,并判断油液空气分界线的长度是否不大于第二预设尺寸。
为了确定轮廓识别技术识别的油液空气分界线和表盘外轮廓的准确性,识别装置判断油液空气分界线和表盘外轮廓之间的内接距离是否不大于第二预设距离阈值,并判断油液空气分界线的长度是否不大于第二预设尺寸,在距离不大于第二预设距离阈值且长度不大于第二预设尺寸时,执行S303。在距离不大于第二预设距离阈值但长度小于第二预设尺寸,或者距离小于第二预设距离阈值但长度不大于第二预设尺寸,以及距离小于第二预设距离阈值且长度小于第二预设尺寸时,确定轮廓识别技术识别的油液空气分界线或表盘外轮廓错误,无法基于对应的读数轮廓识别结果得到准确的指针仪表读数。
S303:根据读数轮廓识别结果计算指针仪表读数。
基于读数轮廓识别结果计算指针仪表读数。
上述方案中,识别装置通过获取油液空气分界线和表盘外轮廓之间的距离,并判断距离是否不大于第二预设距离阈值,并判断油液空气分界线的长度是否不大于第二预设尺寸,确定识别轮廓技术识别出的油液空气分界线和表盘外轮廓的准确性,从而提高基于油液空气分界线和表盘外轮廓计算得到的指针仪表读数的准确性。
请继续参阅图4,图4是图1所示的指针仪表读数的识别方法中S105的实施例的流程示意图。在上述实施例的基础上,S105还包括以下步骤:
S401:判断指针的轴心与刻度所在圆心是否重合。
为了避免基于读数轮廓识别结果计算出的指针仪表读数的不准确性,本实施例的识别装置判断读数轮廓识别结果的准确性。读数轮廓识别结果包括指针和刻度。
在具体实施例中,识别装置判断指针的轴心与刻度所在圆心是否重合,在指针的轴心与刻度所在圆心重合时,执行S402。反之,则表明轮廓识别技术识别的指针和刻度错误。
S402:根据指针及刻度计算指针仪表读数。
可选地,本实施例可采用图5实施例实现S402,具体包括S501~S503:
S501:获取刻度中零刻度与指针的轴心之间的第一连线以及指针所指位置和指针的轴心之间的第二连线。
基于获取的指针和刻度,识别装置获取刻度中零刻度与指针的轴心之间的第一连线,以及指针所指位置和指针的轴心之间的第二连线。
S502:确定第一连线和第二连线之间的夹角。
其中,识别装置利用第一连线和第二连线确定第一连线和第二连线之间的夹角。
S503:利用夹角与预设夹角之间的比值计算得到指针仪表读数。
由于刻度的总读数确定,识别装置利用第一连线和第二连线之间的夹角与预设夹角之间的比值计算指针仪表读数。具体地,识别装置利用比值与总读数之间的乘积计算指针仪表读数。其中,预设夹角为指针仪表刻度中零刻度和最大刻度之间的夹角。
上述方案中,识别装置通过判断轴心与刻度所在圆心是否重合,确定轮廓识别技术识别的指针和刻度的准确性,从而基于指针和刻度计算指针仪表读数,得到指针仪表读数,提高了指针仪表读数的准确性。
可继续参阅图6,图6是图1所示的指针仪表读数的识别方法中S101的实施例的流程示意图。在上述实施例的基础上,S101还包括以下步骤:
S601:根据图像偏转数据确定矩阵透视变换的方程参数,得到矩阵透视变换方程。
考虑到指针仪表图像质量对指针仪表读数识别的重大影响,为了避免因指针仪表环境光线或拍摄指针仪表图像角度等问题而导致获取的指针仪表图像质量较差,从而使得利用指针仪表图像识别出的指针仪表读数准确性低。识别装置根据指针仪表图像的偏转数据确定指针仪表图像和目标图像之间的图像转换关系参数。具体地,识别装置将指针仪表图像的偏转数据作为矩阵透视变换方程参数,得到矩阵透视变换方程。
在具体实施例中,识别装置可利用陀螺仪获取指针仪表图像的偏转数据。
S602:根据矩阵透视变换方程对原始图像进行处理,得到正视拍摄图像。
基于S601中获取的矩阵透视变换方程,识别装置利用矩阵透视变换方程计算得到与指针仪表图像对应的正视拍摄图像。
S603:对正视拍摄图像进行图像预处理,得到指针仪表图像。
考虑到正视拍摄图像的拍摄角度虽满足目标图像要求,但存在拍摄环境光线或其他原因导致的目标图像质量问题。为此,识别装置对正视拍摄图像进行图像预处理,得到指针仪表图像。
在具体实施例中,识别装置可通过对正视拍摄图像进行灰度化处理,得到去灰度后的拍摄图像;并对去灰度后的拍摄图像进行中值滤波处理,得到滤波后的拍摄图像;以基于滤波后的拍摄图像对滤波后的拍摄图像进行平滑处理,得到指针仪表图像。
上述方案中,识别装置利用图像偏转数据作为矩阵透视变换方程参数,得到矩阵透视变换方程,并根据矩阵透视变换方程得到与指针仪表图像对应的正视拍摄图像,并对正视拍摄图像进行图像预处理,得到目标图像,提高了指针仪表读数的准确性,避免因指针仪表图像质量较差而导致指针仪表读数准确性低的问题。
为实现上述实施例的指针仪表读数的识别方法,本申请提出了一种识别系统,具体请参阅图7,图7是本申请提供的识别系统一实施例的结构示意图。
其中,识别系统700包括获取单元71、网络模型单元72、轮廓识别单元73、判断单元74和计算单元75。
具体地,识别系统700包括:获取单元71,用于获取指针仪表图像。
网络模型单元72,用于将指针仪表图像输入深度神经网络模型中,得到目标特征图像。
轮廓识别单元73,用于对目标特征图像进行轮廓识别处理,得到环境轮廓识别结果和读数轮廓识别结果。
判断单元74,用于判断环境轮廓识别结果是否满足预设环境轮廓条件。
计算单元75,用于若环境轮廓识别结果满足预设环境轮廓条件,则根据读数轮廓识别结果计算指针仪表读数。
为实现上述实施例的指针仪表读数的识别方法,本申请提出了一种终端设备,具体请参阅图8,图8是本申请提供的终端设备一实施例的结构示意图。
终端设备800包括存储器81和处理器82,其中,存储器81和处理器82耦接。
存储器81用于存储程序数据,处理器82用于执行程序数据以实现上述实施例的指针仪表读数的识别方法。
在本实施例中,处理器82还可以称为CPU(Central Processing Unit,中央处理单元)。处理器82可能是一种集成电路芯片,具有信号的处理能力。处理器82还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器82也可以是任何常规的处理器等。
本申请还提供一种计算机存储介质900,如图9所示,计算机存储介质900用于存储程序数据91,程序数据91在被处理器执行时,用以实现如本申请方法实施例中所述的指针仪表读数的识别方法。
本申请指针仪表读数的识别方法实施例中所涉及到的方法,在实现时以软件功能单元的形式存在并作为独立的产品销售或使用时,可以存储在装置中,例如一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种二维零件轮廓栅格化特征表示方法