一种指针式仪表倾斜校正方法及系统与流程

文档序号:21728812发布日期:2020-08-05 01:20阅读:698来源:国知局
一种指针式仪表倾斜校正方法及系统与流程

本发明实施例涉及智能识别技术领域,尤其涉及一种指针式仪表倾斜校正方法及系统。



背景技术:

现有技术例如变电站系统中,存在大量用于检测设备工作状态的指针式仪表,对这些仪表进行检测及读取是一项繁重的任务。随着智能电力的快速发展,机器人逐渐代替人工完成各类仪表的智能检测及读取。但是,机器人在检测过程中,经常从不同的角度来拍摄仪表图像,而指针式仪表作为一种圆形刻度仪表,读数的准确性很大程度上取决于仪器的检测视角。

当相机正对仪表拍摄图像时,采集的仪表图像为圆形,此时算法可以显示出最佳性能。当相机倾斜拍摄仪表图像时,采集的仪表图像为椭圆形,仪表的刻度线发生比例变换,此时识别算法的准确度将会大大降低。由于现实情况下的自然环境复杂且设备的安装也经常不端正,相机往往无法从正视角度采集图像,使得采集的仪表图像倾斜较为严重,图像比例值发生变换,给仪表的智能读数识别带来困难且识别误差大。

目前,对获取的圆形的指针式仪表图像,并没有一种较好的校正方法。主要是通过模板图像和待识别的图像进行特征匹配实现仪表的倾斜校正,这种方法匹配速度较慢,并且需要预先采集各类模板图像,适用性较差。还有部分技术是通过在采集图像前人为添加参照物,最后根据参照物变化通过透视变换实现仪表倾斜校正,这种方法操作复杂,不具有灵活性,难以应用于工业环境。

有鉴于此,亟需提供一种有效的针对指针式仪表倾斜情况进行校正的方法。



技术实现要素:

为了解决现有技术中在圆形指针式仪表检测中存在的诸多不足,本发明提出了一种指针式仪表倾斜校正方法及系统。

第一方面,本发明实施例提供一种指针式仪表倾斜校正方法,主要包括:将待校正的倾斜仪表图像输入至关键点检测模型,获取多个检测关键刻度数字坐标;基于最小二乘法对检测关键刻度数字坐标进行椭圆拟合,获取拟合椭圆;获取拟合椭圆的椭圆参数,并确定透视变换前坐标点;确定拟合椭圆的外切圆,并结合椭圆参数,确定透视变换后坐标点;根据透视变换前坐标点和透视变换后坐标点,获取透视变换矩阵;根据透视变换矩阵,对待校正的仪表图像进行透视变换,获取校正后的正视仪表图像。

作为可选地,在上述将待校正的倾斜仪表图像输入至关键点检测模型之前,还包括对关键点检测模型进行预训练,主要包括:

采集不同倾斜角度、不同类型的指针式仪表图像,构建训练集;对训练集中每个指针式仪表图像中的仪表刻度数字进行区域标注,构建训练标签集,训练标签集中的训练标签与训练集中的指针式仪表图像一一对应;利用训练集中的每个训练样本作为输入,以训练标签集中与训练样本对应的带区域标注图像作为输出,完成对关键点检测模型的预训练。

作为可选地,在对训练集中每个指针式仪表图像中的仪表刻度数字进行区域标注,构建训练标签集之后,还包括:基于k-means算法,预测对所述训练集中每个指针式仪表图像中的仪表刻度数字进行区域标注的数量和范围。

作为可选地,关键点检测模型可以为:rcnn、mask-rcnn、r-fcn、yolo、ssd、fpn模型中的一种。

作为可选地,上述基于最小二乘法对所述检测关键刻度数字坐标进行椭圆拟合,获取拟合椭圆,主要包括:从opencv图像处理库调用椭圆拟合函数;利用最小二乘法,根据检测关键刻度数字坐标对椭圆拟合函数进行匹配,获取拟合椭圆。

作为可选地,上述获取拟合椭圆的椭圆参数,并确定透视变换前坐标点,主要包括:获取拟合椭圆的中心点坐标、长轴及长轴斜率、短轴及短轴斜率;确定长轴和短轴与拟合椭圆的交点坐标作为透视变换前坐标点。

作为可选地,上述确定拟合椭圆的外切圆,并结合椭圆参数,确定透视变换后坐标点,主要包括:由拟合椭圆的中心点坐标和长轴的半径获取拟合椭圆对应的外切圆方程;将外切圆方程结合拟合椭圆的长短轴直线方程,获取长轴和短轴与外切圆的交点坐标作为透视变换后坐标点。

第二方面,本发明实施例提供一种指针式仪表倾斜校正系统,主要包括坐标获取单元、椭圆拟合单元、变换矩阵运算单元以及图像校正单元,其中:

坐标获取单元,用于实现将待校正的倾斜仪表图像输入至关键点检测模型,获取多个检测关键刻度数字坐标;椭圆拟合单元,用于基于最小二乘法对检测关键刻度数字坐标进行椭圆拟合,获取拟合椭圆;变换矩阵运算单元,用于获取拟合椭圆的椭圆参数,并确定透视变换前坐标点;确定拟合椭圆的外切圆,并结合椭圆参数,确定透视变换后坐标点;根据透视变换前坐标点和透视变换后坐标点,获取透视变换矩阵;图像校正单元,用于根据透视变换矩阵,对待校正的仪表图像进行透视变换,获取校正后的正视仪表图像。

第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如第一方面任一所述的指针式仪表倾斜校正方法的步骤。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面任一所述的指针式仪表倾斜校正方法的步骤。

本发明实施例提供的指针式仪表倾斜校正方法及系统,利用训练好的神经网络模型对待校正的倾斜仪表图像进行识别获取关键刻度坐标拟合椭圆,结合椭圆变换原理对拟合椭圆使用透视变换,以实现仪表的倾斜校正,鲁棒性好,在表盘遮挡、模糊和光照不均等情况下,依然可以准确实现任意圆形类仪表的倾斜校正。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种指针式仪表倾斜校正方法流程示意图;

图2为本发明实施例提供的一种关键点检测模型预训练的流程示意图;

图3为本发明实施例提供的一种待校正的倾斜仪表示意图;

图4为本发明实施例提供的一种含多个检测关键刻度数字坐标的待校正的倾斜仪表示意图;

图5为本发明实施例提供的一种获取透视变换前、后坐标点的待校正的倾斜仪表示意图;

图6为本发明实施例提供的一种校正后的正视仪表示意图;

图7为本发明实施例提供的一种指针式仪表倾斜校正系统的结构示意图;

图8为本发明实施例提供的一种电子设备的实体结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

针对目前缺少一种稳定而通用的圆形指针式仪表倾斜校正方法,以及现有的方法中校正参考点选择困难等问题,本发明实施例提供了一种基于深度学习的指针式仪表倾斜校正方法,通过本方法构建的指针式仪表倾斜校正方法,旨在通过深度神经网络学习表盘上的刻度数字特征,从而获得以刻度数字为中心的关键点坐标,再根据坐标信息拟合椭圆,结合椭圆变换原理使用透视变换实现仪表的倾斜校正。本实施例的方法适合各种圆形类型的仪表的倾斜校正,具有普适性的特点,如图1所示,该方法主要包括但不限于以下步骤:

步骤s1,将待校正的倾斜仪表图像输入至关键点检测模型,获取多个检测关键刻度数字坐标。

步骤s2,基于最小二乘法对所述检测关键刻度数字坐标进行椭圆拟合,获取拟合椭圆。

步骤s3,获取拟合椭圆的椭圆参数,并确定透视变换前坐标点。

步骤s4,确定拟合椭圆的外切圆,并结合椭圆参数,确定透视变换后坐标点。

步骤s5,根据透视变换前坐标点和所述透视变换后坐标点,获取透视变换矩阵。

步骤s6,根据透视变换矩阵,对待校正的仪表图像进行透视变换,获取校正后的正视仪表图像。

其中,关键点检测模型可以是一种卷积神经网络,在本发明实施例中,主要是基于该卷积神经网络提取待校正的倾斜仪表图像的深层特征,并根据提取的特征自动实现图像的检测关键刻度数字坐标的检测。其中,关键刻度数字可以是仪表图像中所显示的仪表盘中明显的标注刻度值,例如:仪表盘中的阿拉伯数字“0”、“10”、“20”等。由于这些阿拉伯数字与刻度之间存在明显的差异,便于识别,能够有效的提高卷积神经网络的识别精度。

其中,最小二乘法(又称最小平方法)是一种数学优化技术,其通过最小化误差的平方和来寻找数据的最佳函数匹配。在本发明实施例中利用最小二乘法进行曲线拟合。具体地,可以通过最小化约束条件4ac-b2=1,最小化距离误差,然后利用最小二乘法进行求解。包括,先引入拉格朗日乘子算法获得等式组,然后求解等式组得到最优的拟合椭圆。

进一步地,在通过对检测关键刻度数字坐标进行拟合,获取到拟合椭圆之后,可以对该拟合椭圆进行数学计算,获取到拟合椭圆的椭圆参数。在获取到拟合椭圆的椭圆参数,可以将拟合椭圆上的一些特殊点,设定为透视变换前坐标点。

由于本发明实施例是需要将倾斜视角的仪表图像利用透视变换,转换成圆形的正视角仪表图像下的正视仪表图像,因此,在确定了拟合椭圆后,则可以进一步的确定出正视仪表图像的圆,即透视变换后形成的与拟合椭圆所对应的圆,可以将该圆设置为拟合椭圆的外切圆。在确定了上述外切圆的坐标参数之后,则可以结合透视变换前坐标点在拟合椭圆上的位置以及拟合椭圆的椭圆参数,进一步确定出与每个透视变换前坐标点一一对应的透视变换后坐标点。

进一步地,可以根据每个透视变换前坐标点和与其对应的透视变换后坐标点之间的关系,计算出用于透视变换的透视变换矩阵。

最后,根据透视变换矩阵将待校正的仪表图像中的每个像素点按照相同规则进行透视变换,获取到校正后的正视仪表图像。

本发明实施例提供的指针式仪表倾斜校正方法,利用训练好的神经网络模型对待校正的倾斜仪表图像进行识别获取关键刻度坐标拟合椭圆,结合椭圆变换原理对拟合椭圆使用透视变换,以实现仪表的倾斜校正,鲁棒性好,在表盘遮挡、模糊和光照不均等情况下,依然可以准确实现任意圆形类仪表的倾斜校正。

基于上述实施例的内容,作为一种可选实施例,在将待校正的倾斜仪表图像输入至关键点检测模型之前,还包括对关键点检测模型进行预训练,主要包括但不限于以下步骤:

采集不同倾斜角度、不同类型的指针式仪表图像,构建训练集;对训练集中每个指针式仪表图像中的仪表刻度数字进行区域标注,构建训练标签集,训练标签集中的训练标签与所述训练集中的指针式仪表图像一一对应;利用训练集作为输入,训练标签集作为输出,完成对关键点检测模型的预训练。

基于上述实施例的内容,作为一种可选实施例,在对训练集中每个指针式仪表图像中的仪表刻度数字进行区域标注,构建训练标签集之后,还可以包括:基于k-means算法,预测对训练集中每个指针式仪表图像中的仪表刻度数字进行区域标注的数量和范围。

如图2所示,本发明实施例提供的对建立的关键点检测模型进行预训练的整个流程包括但不限于以下步骤:

在步骤s11中,采集包括不同旋转角度、不同倾斜角度、不同的遮挡情况和不同光照等情况下的指针式仪表图像,以构建出训练集(也可称作:数据集),能有有效的提高关键点检测模型的鲁棒性。

在步骤s12中,对数据集的图像中仪表的刻度数字进行区域标注,其中标注的方式可以是采用手动进行的。为了提高模型训练的识别度,这一步骤中,主要是标注仪表盘上的所有刻度数字所在的区域。例如,对图3所示的本发明实施例提供的待校正的倾斜仪表示意图中的仪表盘上的所有刻度数字所在的区域进行标注,获取到如图4所示的含多个标注了检测关键刻度数字坐标的待校正的倾斜仪表示意图。

在步骤s13中,使用k-means聚类算法对步骤s12标注的区域进行聚类,并求用于模型训练的最佳标注区域的数量和标注区域(可以是一个标注框,其形状可以是圆形、矩形或菱形等)大小。可以理解为:本发明实施例中采用k-means算法的作用是在训练的过程中,通过k-means对标注的数据集标签进行聚类,求出刻度数字最佳的数量(一般3-9个)以及最合适的尺寸。在实际预测阶段,就根据这个最可能的数量和尺寸去索引区域标注的预测框,将相似度低的自动排除,进而可以提高预测的准确度和速度。

在步骤s14中,通过关键点检测模型结合最佳标注区域大小,通过参数调优对标注的训练集进行训练,完成对深度网络模型的预训练。

本发明实施例提供的指针式仪表倾斜校正方法,利用深度学习网络模型自动识别待校正的倾斜仪表图像中的刻度数字并建立起坐标,有效的提高了校正的效率和精度;同时,在进行深度学习网络模型预训练时,结合k-means聚类算法,以确定对图像中的仪表刻度数字进行标注的范围及个数,能够进一步的提高校正的效率。

基于上述实施例的内容,作为一种可选实施例,关键点检测模型可以采用rcnn、mask-rcnn、r-fcn、yolo、ssd、fpn等目标检测网络模型中的一种,对此本发明实施例不作具体的限定。

作为可选实施例,基于最小二乘法对所述检测关键刻度数字坐标进行椭圆拟合,获取拟合椭圆,可以采用以下方式实现:从opencv图像处理库调用椭圆拟合函数;利用最小二乘法,根据检测关键刻度数字坐标对椭圆拟合函数进行匹配,获取拟合椭圆。

其中,opencv图像处理库是intel公司推出的开源、免费的计算机视觉程序库,利用opencv可以很方便地实现图像和视频处理。在本发明实施例中,在opencv图像处理库调用的基础上,结合最小二乘法,以根据刻度数字坐标实现椭圆拟合函数的匹配,有效的提高了拟合函数的准确性。

基于上述实施例的内容,作为一种可选实施例,获取拟合椭圆的椭圆参数,并确定透视变换前坐标点,可以包括以下内容:获取拟合椭圆的中心点坐标、长轴及长轴斜率、短轴及短轴斜率;确定长轴和短轴与拟合椭圆的交点坐标作为透视变换前坐标点。

首先,根据步骤s4中获取的拟合椭圆,获取该拟合椭圆的椭圆方程系数(a-e):ax2+bxy+cy2+dx+ey+1=0;

然后,由椭圆方程获取椭圆参数,主要包括:

(1)椭圆中心为:

(2)长、短轴分别为:

(3)椭圆长轴的水平倾斜角度θ为:

(4)椭圆长短轴的直线斜率分别为k1、k2,其中

k1=tanθ,

进一步地,在步骤s4中,确定拟合椭圆的外切圆,并结合椭圆参数,确定透视变换后坐标点,可以包括以下步骤:由拟合椭圆的中心点坐标和长轴的半径获取所述拟合椭圆对应的外切圆方程;将外切圆方程结合所述拟合椭圆的长短轴直线方程,获取所述长轴和所述短轴与所述外切圆的交点坐标作为所述透视变换后坐标点。

具体地,由椭圆长轴倾斜角度得到椭圆长轴的直线斜率k1=tanθ,椭圆短轴的直线斜率同时联立椭圆的中心坐标,获取椭圆的长轴和短轴直线方程为y=kx+yc-kxc

其中,当k=k1时为长轴直线方程;k=k2时为短轴直线方程。由长短轴直线方程再联立椭圆方程求交点,最后得到四个坐标点,如图5所示的拟合椭圆的长轴和短轴与拟合椭圆的交点坐标a、b、c、d点即为透视变换变换前的坐标点对。

进一步地,由椭圆几何中心坐标和长轴半径可以获取到到椭圆的外切圆方程为:

(x-xc)2+(y-xc)2=b2

则可以将椭圆外切圆方程联立椭圆的长、短轴直线方程求交点坐标,最后得到透视变换后的坐标点对。如图5所示,拟合椭圆的长轴和短轴与外切圆的交点e、f、g、h可以被作为透视变换后坐标点。

进一步地,可以根据交点a、b、c、d与交点e、f、g、h之间的坐标对应关系,计算透视变换矩阵m。最后,根据透视变换矩阵,实现仪表的倾斜校正,获取如图6所示的校正后的正视仪表图像。

其中,透视变换(perspectivetransformation)是指利用透视中心、像点(a、b、c、d)、目标点(e、f、g、h)三点共线的条件,按透视旋转定律(即按照透视变换矩阵m)使承影面(透视面)绕迹线(透视轴)旋转某一角度,破坏原有的投影光线束,仍能保持承影面上投影几何图形不变的图形变换方法。

本发明实施例提供的指针式仪表倾斜校正方法,采用透视变换的方法将待校正的倾斜仪表图像转换成正视仪表图像,有效的提高了仪表检测的准确性,且在表盘遮挡、模糊和光照不均等情况下,依然可以准确实现任意圆形类仪表的倾斜校正。

本发明实施例提供一种指针式仪表倾斜校正系统,如图7所示,包括但不限于坐标获取单元1、椭圆拟合单元2、变换矩阵运算单元3、图像校正单元4,其中:

坐标获取单元1主要用于实现将待校正的倾斜仪表图像输入至关键点检测模型,获取多个检测关键刻度数字坐标;椭圆拟合单元2主要用于基于最小二乘法对检测关键刻度数字坐标进行椭圆拟合,获取拟合椭圆;变换矩阵运算单元3主要用于获取拟合椭圆的椭圆参数,并确定透视变换前坐标点;确定拟合椭圆的外切圆,并结合椭圆参数,确定透视变换后坐标点;还用于根据透视变换前坐标点和透视变换后坐标点,获取透视变换矩阵;图像校正单元4主要用于根据所述透视变换矩阵,对待校正的仪表图像进行透视变换,获取校正后的正视仪表图像。

需要说明的是,本发明实施例提供的指针式仪表倾斜校正系统在具体运用时,可以执行上述任一实施例所述的指针式仪表倾斜校正方法,对此,本实施例不作赘述。

图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)310、通信接口(communicationsinterface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行如下方法:将待校正的倾斜仪表图像输入至关键点检测模型,获取多个检测关键刻度数字坐标;基于最小二乘法对检测关键刻度数字坐标进行椭圆拟合,获取拟合椭圆;获取拟合椭圆的椭圆参数,并确定透视变换前坐标点;确定拟合椭圆的外切圆,并结合椭圆参数,确定透视变换后坐标点;根据透视变换前坐标点和透视变换后坐标点,获取透视变换矩阵;根据透视变换矩阵,对待校正的仪表图像进行透视变换,获取校正后的正视仪表图像。

此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:将待校正的倾斜仪表图像输入至关键点检测模型,获取多个检测关键刻度数字坐标;基于最小二乘法对检测关键刻度数字坐标进行椭圆拟合,获取拟合椭圆;获取拟合椭圆的椭圆参数,并确定透视变换前坐标点;确定拟合椭圆的外切圆,并结合椭圆参数,确定透视变换后坐标点;根据透视变换前坐标点和透视变换后坐标点,获取透视变换矩阵;根据透视变换矩阵,对待校正的仪表图像进行透视变换,获取校正后的正视仪表图像。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1