APP下载

基于双目视觉的指针仪表读数识别

2022-04-28涂沛驰傅钰雯熊宇璇杨健晟

智能计算机与应用 2022年4期
关键词:双目三维重建读数

涂沛驰,傅钰雯,熊宇璇,杨健晟

(1贵州大学 电气工程学院,贵阳 550025;2贵州交通职业技术学院 物流系,贵阳 551400;3贵州大学 外国语学院,贵阳 550025)

0 引 言

随着科学技术的发展,变电站作为电力系统中不可或缺的一部分,变电站的安全系数及工作效率就变得尤为重要,但由于站内存在电磁干扰等环境因素将对数显式仪表产生读数上的影响,因此变电站中的指针式仪表是对特定数据进行采集及监测的重要工具,但到目前为止,大部分变电站内的指针式仪表仍靠人工进行读数,由于人眼识别读数存在着工作效率低下、读数误差大等缺点,因此实现变电站内指针式仪表的自动化读数是亟需解决的问题。

随着计算机图像处理技术的发展,现如今基于计算机视觉的自动识别技术在仪表读数中得到了广泛的应用。张冀等人、曾舒帆等人以及李祖贺等人采用剪影法把2张背景相同、但指针位置不同的图片进行减法操作,以此来获取仪表指针的位置。刘迪等人通过改进的Hough变换来识别指针仪表的位置,再根据指针的旋转角度来计算读数。针对指针颜色与表盘存在明显区别,徐洋等人采用了RGB颜色通道与改进的Hough变换相结合的办法来定位指针的所在位置。这是基于相机正视仪表的情况下所进行的读数识别,但在许多场景下,由于相机不能完全正视仪表,就会导致拍摄时出现视差的情况,从而使读数出现较大的误差。

针对表盘倾斜的状况,莫文雄等人使用Canny边缘检测算子提取刻度盘以及指针轮廓作为模板,再将输入图像与模板进行匹配,通过部分区域相似性来计算模板在输入图像中的位置,最后利用查表法进行读数识别。房桦等人首先对仪表图像建立模板,然后通过SIFT算法提取仪表表盘所在位置,该算法在处理圆形物体时,寻找到的关键点较少,耗时长且数据计算量大,针对校正圆形物体存在一定的缺陷。朱柏林等人采用了ORB算法来获取仪表盘区域,该算法具有较快的运行速度。然而上述方法中,模板的制作需针对同型号仪表,工厂中存在不同种类仪表,全部建立模板工作量大。SIFT算法需要提取图中的稳定点,适合有明显角点的矩形仪表,对于工厂中圆形仪表识别较为困难,故上述方法适用性不强。

相对于传统单目的指针式仪表的读数识别,双目视觉及三维重建技术能很好地还原出物体的三维信息,从而消除由视差引起的读数误差问题。

在此情况下,提出了一种基于双目视觉的指针式仪表读数的识别方法,通过双目相机获取指针式仪表视差图,利用视差图中的特征点匹配进行三维重建,在重建的三维空间中校正指针与表盘的相对位置,最终实现工业环境下指针式仪表在任何视角下的准确读数。

1 系统设计方案

本方案采用双目视觉系统采集倾斜状态下的指针式仪表的视差图并进行图像预处理,接着通过特征点匹配重建出指针与表盘在空间中的位置,此方案的核心是将空间中的指针垂直投影至重建出的表盘平面上,并构建指针角度-仪表读数模型来计算读数。针对双目视觉技术下的指针式仪表的读数识别,系统设计流程如图1所示。

图1 双目视觉指针仪表读数识别流程图Fig.1 Flow chart for recognition of binocular vision pointer meter readings

2 双目视觉原理

2.1 双目视觉计算原理

图2 双目视觉成像原理图Fig.2 Principle diagram of binocular vision imaging

由图2可知,右侧仪表上特征点的三维空间坐标为(,,),该点在左、右相机成像上对应的投影点分别为(,)和(,)。假设左、右相机平行,即。由三角几何关系,从图1中可以得到式(1)和式(2):

由式(1)和式(2)可以获取到拍摄物体所需要的深度信息为式(3):

其中,()为视差,可以通过匹配左、右视图中的对应特征点获取。因此,左相机上的任意一点在右相机上找到与之对应的特征点后,便能得到获取对应物体的深度信息,即三维坐标。由式(3)可以看出,在双目视觉系统中,当与确定时,深度与视差()成反比。

2.2相机标定及内外参数

三维重建前需要对相机进行标定,常用的有张氏标定法、传统标定法等。相机进行标定后,立体空间中任意一点的坐标与相机坐标系下对应点的坐标可以通过式(4)表示:

其中,ff、、、为相机内参;ff分别为轴和轴上的归一化焦距;与为光学中心;为图像坐标与世界坐标的斜交因子;矩阵与矩阵为相机外参,分别表示旋转矩阵及平移矩阵。

3 实验过程与数据处理

3.1 双目相机标定

实验采用的双目系统由2台工业相机组成,配合使用6 mm定焦镜头,使用三脚架进行固定拍摄。图像曝光时间为30 ms,增益为1.25,拍摄11组标定板图像,标定板的角点识别结果如图3所示。

图3 标定板角点识别结果Fig.3 Results of the identification of corner points of the calibration plate

在此基础上,通过Matlab软件自带的stereo Camera Calibrator标定程序对其进行标定以获取内、外参数,标定后对11组标定板图像进行三维重建,如图4所示。重建后的误差如图5所示。

图4 标定板三维重建Fig.4 3D reconstruction of the calibration plate

图5 标定板重建的像素误差Fig.5 Pixel errors in calibration plate reconstruction

3.2 仪表指针特征点的三维重建

首先采用灰度化、滤波、二值化、膨胀腐蚀等图像预处理方法以及霍夫直线检测方法,识别出指针式仪表左右视图上指针的所在位置,并对其进行标注,其中一个视图中仪表指针识别结果如图6所示。

图6 指针识别Fig.6 Pointer recognition

进一步地,通过利用标定获得的相机内、外参数对左、右视图进行畸变校正以及极线约束,使双目相机所采集到的左、右视图上的所有匹配点处于同一水平状态,如图7所示。其中,指针上标出的红色圆点为指针与极线约束后提取的特征点,即左、右视图中提取的指针匹配点。

图7 校正后指针特征点的选取Fig.7 Selection of pointer feature points after correction

在获得了2组匹配点之后,使用匹配点在左、右视图中的二维图像坐标,以及双目相机标定得来的参数,通过三角形算法进行三维重建,以得到指针上2个特征点的空间三维坐标,在三维空间中显示如图8所示。分别以坐标,关系建立指针的空间函数,如式(5)、(6)所示:

图8中所显示的橙色线段即为指针在空间中的重建,红色圆点为指针重建后的特征点。

图8 指针的三维重建Fig.8 3D reconstruction of the pointer

3.3 仪表表盘的三维重建

与指针的三维重建过程相似,在通过双目相机标定消除畸变后,采用极线校正,使左、右视图的表盘各特征点处于同一水平状态。因仪表在左、右视图中所占位置较小,在处理前先将仪表区域裁剪出来,接着再采用灰度化、去噪、二值化等图像预处理操作提取出表盘刻度线骨架,最后采用极线约束,将左、右视图中对应的表盘刻度线骨架与极线的交点作为一组表盘的匹配点,用此方法得到3组匹配点。如图9所示。

图9 校正后表盘特征点的选取Fig.9 Selection of dial feature points after calibration

利用双目相机标定好的相机内、外参数,对得到的3组表盘匹配后的特征点进行三维重建,得到3个表盘特征点的空间三维坐标(,,)、(,,)、(,,),平面方程一般式如式(7)所示:

将前文求得3个三维空间坐标点代入公式(7)中可得三元一次方程组,解方程组求得参数、、,从而解析出平面方程。计算出对应的平面方程,并构建出表盘面在空间中的位置,如图10所示。

图10中黄色圆点为表盘重建后的特征点标点。

图10 表盘的三维重建Fig.10 3D reconstruction of the dial

同理,可求出平面外另一点所对应的垂直投影坐标。

将重建后的指针目标点投影至构建的仪表盘平面,实现指针在仪表盘上的垂直投影,如图11所示。

图11 指针在表盘上的垂直投影Fig.11 Vertical projection of the hands on the dial

图11中所显示的红色线段为空间中指针在表盘平面上的垂直投影,蓝色圆点为空间中指针特征点在表盘平面上的垂直投影。

4 构建指针角度-仪表读数模型

将重建后的指针垂直投影至仪表表盘,并将空间三维坐标系下的垂直投影坐标投影至二维平面坐标系。三维空间坐标投影至二维平面后,构建对应比例尺关系,这里通过区分不同象限与其所对应角度的关系计算出指针在每个象限的角度,0刻度时计算出的角度为最小角度,记为。0刻度所对应的量程为最小量程,记为;06刻度时计算出的角度为最大角度,记为。06刻度所对应的量程为最大量程,记为。以此为基础构建指针角度与仪表读数的比例尺,当前检测角度记为,根据式(9)可计算出仪表读数:

5 实验结果与分析

通过实验得到多组数据进行实验如图12所示。

图12 多组实验数据Fig.12 Multiple sets of experimental data

对比分析结果见表1,双目视觉识别指针式仪表读数是具备准确读数效果。通过与左、右相机对比分析,可以发现,左、右相机单独读数至少存在一个相机的光轴中心未能对准指针仪表中心,从而引起读数的误差,这表示相机拍摄仪表存在倾斜角度时,会因为指针成像位置的改变而造成读数误差。经过双目立体视觉对指针和表盘三维重建,获取其深度信息后,可有效减小读数的误差,可有效地识别指针式仪表的读数。

表1 读数分析结果Tab.1 Results of analysis of readings

6 结束语

针对二维成像的仪表读数受成像角度影响大的问题,设计了一种基于双目视觉立体成像的指针仪表读数识别,通过对双目相机同步拍摄左、右视图,并对左、右视图进行预处理操作,寻找到左、右视图中匹配的特征点进行三维重建,获取其三维空间坐标,重建了指针及仪表后,将空间中的指针垂直投影至表盘平面,以此来消除由于视差所导致的读数误差,最后构建指针角度-读数的比例尺关系计算读数。经实验证明,该方法具有较强的应用价值。

此外,指针式仪表的特征点选取及匹配直接影响到空间三维重建的精度,因此,该方案中特征点的选取以及匹配还存在进一步优化的空间。

猜你喜欢

双目三维重建读数
采用双目视觉和自适应Kalman滤波的作物行识别与跟踪
霜 降 苏美玲
基于双目视觉的机器人定位与导航算法
“0”的读法和要领
机械手的双目视觉定位抓取研究
互联网全息位置地图迭加协议与建模制图技术
品析“飞利浦公司”基于单目视觉的三维重建技术专利
无人机影像在文物建筑保护中的应用
光编码技术在犯罪现场重建中的应用
例谈高中物理常见读数问题