System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于计算机视觉、仪表读数自动化等,具体涉及一种结合字符识别与指针定位的指针式仪表自动读数方法。
技术介绍
1、仪表用于监测和控制各种过程和系统,包括电力系统、化工生产、交通系统、医疗设备等。模拟信号的指针式仪表以其无需供电、不会引发电火花、抗振动与冲击干扰强、耐高温耐腐蚀以及成本低等特点在化工设备领域以及变电站等场合具有特定优势。传统指针式仪表读数需要专人专守,一方面会增加成本,另外其准确性依赖于工作人员的主观经验与感知,存在一定的主观误差。人工读表速度慢,难以适用于快速与多任务测量。若仪表悬挂在背景复杂、位置较高的地方,人工读表存在极大的困难。因此研究一套适用于自然场景下取代人眼读表的指针式仪表自动读数方法具有实际意义。
2、现有技术有提出过一些指针式仪表自动读数方案,但存在以下缺陷:
3、(1)基于传统的图像处理提出不同的仪表自动检测和识别方法,此类指针式仪表识别方法涉及传统的图像处理所依据的理论可靠明确,通常实时性较好。但存在多种问题:采用许多预处理步奏来提取特征,每一步的累积误差都降低了检测结果的精度;要求图像足够清晰以检测刻度线和圆心位置;大多数识别方法只适用于特定类型的仪表模板,表计类型单一、应用场景单一;常常需要人工标记量程或者刻度0点等关键参数,自动化程度不足。
4、(2)使用深度学习方法,深度卷积神经网络为复杂背景下的读数提供了潜在的解决方案,可以提高识别的准确性和鲁棒性。但是深度学习的方法本质上是利用人工神经网络进行大数据训练,架构复杂通常需要几十层甚至上百层网络
技术实现思路
1、针对现有技术存在的缺陷和不足,本专利技术提出了一种结合字符识别与指针定位的指针式仪表自动读数方法,采用轻量级网络nanodet对指针式仪表的表盘进行目标检测,采用深度学习的方法可以避免传统指针式仪表读数只能处理单一类型以及简单背景指针式仪表的缺陷;表盘的刻度数字采用通用的字符识别网络cnocr,使用表盘刻度数字样本对其进行模型精调,避免大量的手工标记数据以及重新进行大规模训练。利用cnocr自动对表盘区域的刻度数字进行读取不需要人工手动标定0点,增强系统自动化程度。确定指针处在哪两个相邻刻度数字内,计算指针线段与相邻的两个刻度数字外接矩形中心连线之间的相对位置关系来确定表计读数。
2、本专利技术解决其技术问题具体采用的技术方案是:
3、一种结合字符识别与指针定位的指针式仪表自动读数方法:采用轻量级网络nanodet对指针式仪表的表盘进行目标检测,对表盘的刻度数字采用字符识别网络cnocr进行识别;进行指针定位后,再通过计算指针线段与相邻的两个刻度数字外接矩形中心连线之间的相对位置关系确定表计读数。
4、进一步地,将表盘定位后的图片归一化后进行指针检测;采用霍夫变换检测图像中的直线,将满足长度大于某一阈值的线段,且距离较近的两条线段拟合为一条新的线段以代表指针。
5、进一步地,所述指针定位为确定指针位于哪两个相邻刻度数字范围内;确定指针在哪两个相邻刻度数字之间后,进行示数读取;这两个相邻刻度数字为ni,ni+1,通过计算指针线段ab与ni,ni+1连线交点o1与ni,ni+1的距离以实现读数。
6、进一步地,具体包括以下步骤:首先将已分割出的表盘区域图片归一化,并通过图像预处理技术增强图像的对比度,并去除噪声;然后使用边缘检测器对预处理后的图像进行边缘检测;接着在边缘图上应用霍夫线变换检测线段,在检测到的所有线段中,对线段长度进行排序,并计算每两条线段之间的距离:如果两条线段的距离小于预设的阈值,且这两条线段的长度之和最大,则将这两条线段视为指针两侧的边缘线段;用最小二乘法将检测到的两条指针边缘线段拟合成一条线段ab,对应表盘指针;接着使用精调训练后的cnocr模型进行刻度数字检测获得数字检测结果;最后将所有得到的数字进行从小到大排序,并将数字外接矩形中心进行依次相连,设表面上的刻度数字有n个;则得到的两两数字中心连线共有n-1段;根据指针所在线段与这n-1条直线是否有交点来确定指针位于哪两个相邻刻度数字范围内以完成示数读取。
7、进一步地,所述cnocr模型的精调训练具体为:采用识别模型en_pp-ocrv3_det、检测模型en_pp-ocrv3,精调数据集包括模拟生成的表盘数字生成标注的多张图片以及经分割处理后的多张表盘图像进行数字标注;使用数据增强增加训练样本的多样性,使训练样本扩充;最后划分训练集与验证集。
8、进一步地,指针示数读取的方法具体为:
9、设指针线段为ab,n-1条直线中任意一条线段为nini+1,其中i=0...n;采用叉积法判断指针线段ab与线段nini+1是否相交;具体步骤如下:假设a、b、ni、ni+1四点坐标分别为a(x1, y1),b(x2, y2),ni(x3, y3),ni+1(x4, y4);
10、计算向量ab与nini+1的叉积:
11、cross1=(x2−x1)·(y3−y1)−(y2−y1)·(x3−x1)
12、计算向量ab与ad的叉积:
13、cross2=(x2−x1)·(y4−y1)−(y2−y1)·(x4−x1)
14、计算向量cd与ca的叉积:
15、cross3=(x4−x3)·(y1−y3)−(y4−y3)·(x1−x3)
16、计算向量cd与cb的叉积
17、cross4=(x4−x3)·(y2−y3)−(y4−y3)·(x2−x3)
18、线段ab与线段nini+1相交的条件为cross1·cross2<0 且 cross3·cross4<0
19、读数计算的具体步骤如下:设坐标o1(x0,y0),ni(x3,y3),ni+1(x4, y4);
20、计算两刻度数字之间的距离:
21、
22、计算 ni到交点o1的距离
23、
24、通过比例关系,示数r按以下方式计算:
25、假设ri刻度数字ni的值,ri+1是刻度数字 ni+1的值;计算交点在刻度区间内的比例:
26、最终示数计算为:。
27、以及,一种结合字符识别与指针定位的指针式仪表自动读数系统,包括:表盘检测模块,采用轻量级网络nanodet对指针式仪表的表盘进行目标检测;刻度数字检测模块,用于对表盘的刻度数字采用字符识别网络cnocr进行识别;以及,读数模块,进行指针定位后,通过计算指针线段与相邻的两个刻度数字外接矩形中心连线之间的相对位置关系确定表计读数。
28、进一步地,还包括指针检测模块,用于将表盘定位后的图片归一化后进行指针检测;采用霍夫变换检测图像中本文档来自技高网...
【技术保护点】
1.一种结合字符识别与指针定位的指针式仪表自动读数方法,其特征在于:采用轻量级网络nanodet对指针式仪表的表盘进行目标检测,对表盘的刻度数字采用字符识别网络cnocr进行识别;进行指针定位后,再通过计算指针线段与相邻的两个刻度数字外接矩形中心连线之间的相对位置关系确定表计读数。
2.根据权利要求1所述的基于一种结合字符识别与指针定位的指针式仪表自动读数方法,其特征在于:将表盘定位后的图片归一化后进行指针检测;采用霍夫变换检测图像中的直线,将满足长度大于某一阈值的线段,且距离较近的两条线段拟合为一条新的线段以代表指针。
3.根据权利要求1所述的一种结合字符识别与指针定位的指针式仪表自动读数方法,其特征在于:所述指针定位为确定指针位于哪两个相邻刻度数字范围内;确定指针在哪两个相邻刻度数字之间后,进行示数读取;这两个相邻刻度数字为Ni,Ni+1,通过计算指针线段AB与Ni,Ni+1连线交点O1与Ni,Ni+1的距离以实现读数。
4.根据权利要求1所述的一种结合字符识别与指针定位的指针式仪表自动读数方法,其特征在于,具体包括以下步骤:首先将已分割出
5.根据权利要求4所述的一种结合字符识别与指针定位的指针式仪表自动读数方法,其特征在于:所述cnocr模型的精调训练具体为:采用识别模型en_PP-OCRv3_det、检测模型en_PP-OCRv3,精调数据集包括模拟生成的表盘数字生成标注的多张图片以及经分割处理后的多张表盘图像进行数字标注;使用数据增强增加训练样本的多样性,使训练样本扩充;最后划分训练集与验证集。
6.根据权利要求4所述的一种结合字符识别与指针定位的指针式仪表自动读数方法,其特征在于:
7.一种结合字符识别与指针定位的指针式仪表自动读数系统,其特征在于,包括:表盘检测模块,采用轻量级网络nanodet对指针式仪表的表盘进行目标检测;刻度数字检测模块,用于对表盘的刻度数字采用字符识别网络cnocr进行识别;以及,读数模块,进行指针定位后,通过计算指针线段与相邻的两个刻度数字外接矩形中心连线之间的相对位置关系确定表计读数。
8.根据权利要求7所述的一种结合字符识别与指针定位的指针式仪表自动读数系统,其特征在于:还包括指针检测模块,用于将表盘定位后的图片归一化后进行指针检测;采用霍夫变换检测图像中的直线,将满足长度大于某一阈值的线段,且距离较近的两条线段拟合为一条新的线段以代表指针。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6任一项所述的一种结合字符识别与指针定位的指针式仪表自动读数方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6任一项所述的一种结合字符识别与指针定位的指针式仪表自动读数方法的步骤。
...【技术特征摘要】
1.一种结合字符识别与指针定位的指针式仪表自动读数方法,其特征在于:采用轻量级网络nanodet对指针式仪表的表盘进行目标检测,对表盘的刻度数字采用字符识别网络cnocr进行识别;进行指针定位后,再通过计算指针线段与相邻的两个刻度数字外接矩形中心连线之间的相对位置关系确定表计读数。
2.根据权利要求1所述的基于一种结合字符识别与指针定位的指针式仪表自动读数方法,其特征在于:将表盘定位后的图片归一化后进行指针检测;采用霍夫变换检测图像中的直线,将满足长度大于某一阈值的线段,且距离较近的两条线段拟合为一条新的线段以代表指针。
3.根据权利要求1所述的一种结合字符识别与指针定位的指针式仪表自动读数方法,其特征在于:所述指针定位为确定指针位于哪两个相邻刻度数字范围内;确定指针在哪两个相邻刻度数字之间后,进行示数读取;这两个相邻刻度数字为ni,ni+1,通过计算指针线段ab与ni,ni+1连线交点o1与ni,ni+1的距离以实现读数。
4.根据权利要求1所述的一种结合字符识别与指针定位的指针式仪表自动读数方法,其特征在于,具体包括以下步骤:首先将已分割出的表盘区域图片归一化,并通过图像预处理技术增强图像的对比度,并去除噪声;然后使用边缘检测器对预处理后的图像进行边缘检测;接着在边缘图上应用霍夫线变换检测线段,在检测到的所有线段中,对线段长度进行排序,并计算每两条线段之间的距离:如果两条线段的距离小于预设的阈值,且这两条线段的长度之和最大,则将这两条线段视为指针两侧的边缘线段;用最小二乘法将检测到的两条指针边缘线段拟合成一条线段ab,对应表盘指针;接着使用精调训练后的cnocr模型进行刻度数字检测获得数字检测结果;最后将所有得到的数字进行从小到大排序,并将数字外接矩形中心进行依次相连,设表面上的刻度数字有n个;则得到的两两数字中心连线共有n-1段;根据指针所在线段与...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。