1.一种基于深度学习的指针式仪表识别及读数方法,其特征在于,包括以下步骤:步骤1、通过巡检机器人获取仪表图像,进行预处理并使用标注软件进行人工标注表盘,将标注好的图像划分为训练集和验证集,构建数据集A;
步骤2、根据构建的仪表数据集A,搭建并训练仪表目标检测模型;
步骤3、使用仪表目标检测模型对数据集A进行识别,根据仪表位置信息对原图进行裁剪;
步骤4、用步骤3所裁剪图像构建指针与量程分割数据集B,对指针和量程分别进行标注,将标注好的图像划分为训练集和验证集;
步骤5、根据构建的数据集B,搭建并训练指针目标检测模型与量程语义分割模型,得到指针目标检测模型和量程语义分割模型;
步骤6、根据步骤5中训练好的指针目标检测模型与量程语义分割模型,对仪表的指针和量程进行识别和分割,得到指针图像和量程图像;
步骤7、对步骤6中识别出的量程和指针图像进行处理,最终根据角度法进行数值计算,得到指针读数;
所述步骤7还包括以下步骤:
步骤7‑1、对识别出的量程图像进行预处理,包括灰度化处理、膨胀处理、二值化处理,运用OpenCV计算机视觉开源库对获得量程图像进行椭圆拟合,椭圆中心O就是指针回转中心;
步骤7‑2、基于步骤7‑1,制作椭圆边的mask图,将mask图与量程的膨胀图进行交运算,得到量程的拟合曲线,根据卷积原理,定义3*3的卷积核遍历该曲线,找到量程的两个端点,分别为最小量程点P1和最大量程点P2,运用OpenCV库计算从OP1顺时针到OP2所转过的角度,记角度为θ;
步骤7‑3、对识别出的指针图像,进行掩膜处理,只保留指针部分;
步骤7‑4、基于步骤7‑3,对指针图像进行OTSU二值处理并使用Canny算子检测边缘,对边缘图进行HoughLine检测,得到指针的两端点,距离点O较近的为端点C,距离点O较远的为端点D,运用OpenCV库计算从OP1顺时针到OD所转过的角度,记角度为r;
步骤7‑5、根据指针所在刻度的拟合曲线上的位置,根据角度法进行读数,读数其中Vmin表示最小量程值,Vmax表示最大量程值。
2.根据权利要求1所述的基于深度学习的指针式仪表识别及读数方法,其特征在于,所述步骤1中,针对仪表图像的采集,要求在不同背景、光照、拍摄角度、尺寸的条件下进行采集。
3.根据权利要求1所述的基于深度学习的指针式仪表识别及读数方法,其特征在于,所述步骤1中,利用图像增强技术对数据集进行扩充。
4.根据权利要求1所述的基于深度学习的指针式仪表识别及读数方法,其特征在于,所述步骤1中,利用labelImg工具对仪表表盘进行标注。
5.根据权利要求1所述的基于深度学习的指针式仪表识别及读数方法,其特征在于,所述步骤1中,把采集的图像进行划分,使训练集图像和验证集图像分别占总图像数的90%和
10%。
6.根据权利要求1所述的基于深度学习的指针式仪表识别及读数方法,其特征在于,所述步骤2中,仪表目标检测模型基于YOLOv5进行搭建。
7.根据权利要求1所述的基于深度学习的指针式仪表识别及读数方法,其特征在于,所述步骤4中,利用labelImg工具对仪表指针进行标注,利用labelme工具对仪表量程进行标注。
8.根据权利要求1所述的基于深度学习的指针式仪表识别及读数方法,其特征在于,所述步骤5中,指针目标检测模型基于YOLOv5进行搭建,量程语义分割模型基于DEEPLABv3+进行搭建。