Space Coordinate Calculation and Attitude Estimation Based on Binocular Stereo Vision
-
摘要: 基于双目立体视觉的目标空间坐标计算及姿态估计方法、双目立体视觉系统标定和双目视觉系统校准技术,构建了三维场景中目标的空间坐标与图像中点像素坐标的对应方法.通过双目立体视觉系统采集目标图像,采用基于半全局立体匹配(SGBM)方法,实现了目标中心点三维坐标的计算,并通过背景差分的手段获得目标轮廓,获取目标在水平面的旋转角度,配合焦点所处的坐标位置标示,即可提取目标姿态信息.采用以上方法对电力仪表的姿态进行估计和验证,结果表明:设计的方法可以完成电力仪表的空间坐标计算以及姿态估计,可实现对电力仪表的准确抓取,为机器人在电力系统人工智能领域的应用提供参考.Abstract: The target space coordinate calculation and attitude estimation method based on binocular stereo vision, binocular stereo vision system calibration and binocular vision system calibration technology is used to construct the correspondence between the spatial coordinates of the target in the 3D scene and the pixel coordinates of the midpoint of the image. The target image is acquired through the binocular stereo vision system, and then the three-dimensional coordinates of the target midpoint are calculated with the semi-global stereo matching (SGBM) method. The target contour is obtained with the background difference method, and then the rotation angle of the target in the horizontal plane is obtained. The coordinate position indicated by the focus indicates the target posture information. The attitude estimation and the test of power meter are verified with the method proposed above. The experimental results show that the designed method can complete the space coordinate calculation and attitude estimation of power meter. It can realize the accurate grasp motion of the power instrument and provide reference for the application of robot in the field of artificial intelligence of power system.
-
在实际工程应用中,经常需要通过非接触的方式实现目标空间坐标及姿态的测量,基于双目立体视觉的测量方法具备效率高、系统结构简单、成本低、非接触式等特点,可以实现目标空间三维信息的测量. 20世纪80年代,麻省理工人工智能实验室的MARR提出MARR视觉理论,推动了机器视觉理论的快速发展[1].双目立体视觉理论通过视差原理来还原空间物体的深度信息[2],已被应用于具体应用场景,例如:在无人驾驶的起重机上安装双目立体视觉系统,为起重机吊运目标物体提供了具体的三维空间信息[3];在月球漫游车模型上搭载双目立体视觉系统[4],对目标进行切割、抓取等操作;利用双目立体视觉系统测量光学元件的位置姿态,可建立基于双目立体视觉的孔径测量系统[5].近些年来双目立体视觉理论及技术得到了长足发展,然而在实际应用中仍然存在鲁棒性差的问题[6].需要针对不同的应用背景,设计相应的解决方案.
在电力仪表的全自动化检定领域,需要对仪表进行自动抓取与搬运,其中亟需解决的问题是对仪表空间位置及姿态识别计算的准确性.虽然基于双目立体视觉与机械臂相配合的系统已在很多场合得到应用,但目前应用于仪表自动识别并抓取的研究少有报道.北京东方计量研究所目前公布了最新研制的数字式仪表检定平台,通过夹具固定仪表位置,根据仪表型号事先标定相应的空间位置;在变电站巡检系统中,虽然通过模板匹配实现仪表平面内位置的识别,但不能获得其深度信息.本文提出了一种实用化的目标空间坐标及姿态估计方法,并应用于电力仪表的自动抓取系统,实验结果表明,所提出的方法性能稳定,能满足实际应用需求.
1. 研究方法
1.1 双目立体视觉成像模型
双目视觉的基本原理是利用双摄像头模拟人眼的定位.分析图像中相同目标成像的差异,可以得到目标物的三维位置信息. 图 1模型代表了理想状态的双目立体视觉系统,系统成像共面的2个相机(C1、C2)具有一致的焦距且光轴平行[7].在左相机坐标系中,空间点P的空间位置坐标为(XC, YC, ZC),而(uL, vL)、(uR, vR)表示图像像素在左右图像坐标系中的坐标.
根据几何知识能够推导特征点P和其在左相机图像中投影点的位置关系:
{XC=(uL−u0)dxT−(uL−uR)dx=XCTYC=(vL−v0)dyT−(uL−uR)dy=YCTZC−fT−(uL−uR)dx=ZCT. (1) 其中,(u0, v0)是真实坐标原点在像素坐标系中的坐标,f为相机焦距.定义d=uL-uR作为视差,对于左相机的相机坐标系,特征点P的三维坐标为
{XC=T(uL−u0)dYC=T(vL−v0)dZC=Tfddx. (2) 然而,在实际工程的双目视觉系统中,2个成像平面以及焦距难以保持一致,所以,如果知道2个相机的相对位置关系,可实施校正[8],使校正模型满足理想状态下的成像要求.
1.2 双目相机的标定
基于二维棋盘格图像校准板的相机视觉算法标定方法[9]结合了传统校准算法的优点,具有良好的鲁棒性和自校准算法,可以满足校准对象的依赖性要求[10].不需要标定板移动的参数,仅需要标定模板在2个方向上的移动图像即可进行标定.该方法标定精度高、成本低,已被广泛用于桌面视觉系统.
该标定方法的基本步骤[11]:(1)将棋盘的图像当作标定板,打印并将其附着在刚性平面上;(2)分别从多个角度拍摄标定板;(3)提取每幅图像中的特征点,同时得到特征点在2个关键坐标系中的位置;(4)使用线性模型提取摄像头的内部参数以及每次图像的外部参数;(5)借助畸变模型优化相机内外部参数,得到所有参数.
本文利用MATLAB对双目相机进行标定.从多个角度用2个相机获取20幅平面标定板的双图像组(图 2展示20幅左相机图像),对获得的图像通过MATLAB的Stereo Calibration工具完成标定.
标定得到平移向量T为[-71.409 21,1.071 99,-0.194 66],2个相机的间距为72 mm,平移参数经过标定取得,结果为72.526 17 mm,大体上持平,同时,剩余维度的偏移很小.所以,双目相机标定的结果可作为校正参数.
1.3 仪表图像的立体匹配
仪表图像的立体匹配主要采用半全局立体匹配算法,通过在不同方向扫描线上一维的局部寻优过程来逼近二维图像的全局寻优过程.主要步骤为计算单个像素点的匹配代价.通过线上的平滑约束和多个方向上匹配成本的聚合阶段,构建逼近的全局能量函数.使用优化方法最小化该能量函数来估计视差[12].半全局匹配方法在确保良好精度的前提下,具有相对低的时间复杂度,同时,并行处理单元可使算法的计算速度得到提高.由于函数对相机采样效果不敏感[13],本文使用BT函数计算像素点的匹配成本.实验中以仪表图像为目标,算法的结果视差图通过实验得到(图 3).
在定义半全局匹配方法的能量函数时,增加额外的视差平滑约束:
E(d)=∑pC(p,dp)+∑q∈NpP1T[|dp−dq|=1]+∑q∈NpP2T[|dp−dq|>1], (3) 式中,第一项为数据项,是基于视差的像索点匹配成本累计和;第二、三项为平滑项,P1、P2分别代表NP邻域中视差变化的匹配点P的惩罚系数(满足P1>P2).通常,为了避免引起边界模糊匹配,需要依据P′2=P2/(Irp-Irq)像素灰度的变化自适应调节P2[14].
针对二维图像上的全局最小NP完全问题求解能量函数,需要使用多方向的一维平滑来逼近二维情况的平滑约束.半全局匹配算法吸收了扫描线最优算法的思想[15]:沿着8条不同的扫描线分别计算,然后聚合沿扫描线存储的扫描成本.以迭代的方式得到视差计算:采用右视差图像纠正右图像,进而完成匹配并生成新的视差图像.还可以使用分层计算的方法:首先在半分辨率的情况下计算视差图像作为初始值,然后使用所获得的视差图像执行递归计算[16].以左图像为基准完成相应的左图像和右图像的匹配,若2次匹配视差结果不相同则视为无效匹配.与此同时,利用视觉系统的左相机收集图像并进行处理.采用背景差分的方法在预先存储了背景图像的前提下分割采集到的图像,可获取仪表的轮廓. 图 4为仪表轮廓背景差分方法的流程图.
采用上述流程对采集的图像进行处理,去除处于图像边缘区域的轮廓,保留连通域中最大部分作为进行仪表定位和抓取的工作区域,可得到仪表的轮廓信息,具体包含:仪表的轮廓大小、中心点坐标和倾斜角度[7].然后,在原始图像中显示仪表的轮廓信息(图 5).
结合视差可计算仪表中心点的三维坐标.仅获得仪表中心点的三维坐标仍然不能描述仪表在空间中的姿态,本文通过增加仪表在水平面的倾斜角度,结合仪表的中心点三维坐标,可以完整地描述仪表处于水平面时的空间姿态.
1.4 实验设置
本文将所设计的双目立体视觉系统应用于电力仪表的自动抓取,实现仪表空间坐标计算及姿态估计,系统实物如图 6所示,机械臂末端安装夹爪及双目立体视觉系统,通过双目立体视觉系统识别仪表空间坐标及姿态,进而实现对仪表的自动抓取.
双目视觉系统首先采集仪表图像,然后提取特征点,进而实现立体匹配.仪表特征点集中在仪表表盘目标区域,且仪表外壳区域特征点的分布没有统计意义.所以,仪表中心点的三维坐标能够通过表盘区域中匹配点的视差得到.通过查阅仪表规格知道表盘区域较外壳突出16 mm,那么计算所有匹配点的视差得到坐标Z最大的点,则判断为表盘区域的点.为了得到仪表中心点坐标,可以通过这个点的视差得到,对Z进行补偿能够得到中心点的三维坐标.使用精度为0.01 mm的手动三维坐标测量仪测量坐标,将其作为标定的世界坐标,视为坐标真值,与双目视觉系统匹配得到的三维坐标对比,进行坐标误差计算.
2. 结果与讨论
2.1 匹配误差分析
系统与目标仪表检测区域的相对距离为400 mm,考虑不同仪表的不同姿态,进行10次实验,实验所得仪表中心点的三维坐标、坐标真值以及两者间的误差如表 1所示.
表 1 匹配结果及误差Table 1. The matching results and errorsmm 序号 三维坐标 匹配坐标 误差 1 [27.16,2.57,511.72] [28.23,2.89,510.88] [-1.07,-0.32,0.84] 2 [4.15,-1.32,509.78] [4.21,0.11,508.16] [-0.06,-1.43,-1.24] 3 [-43.14,-14.93,510.22] [-42.07,-10.28,508.76] [-1.07,-4.65,-1.46] 4 [-38.76,-12.47,509.84] [-36.47,-7.19,509.13] [-2.29,-5.28,0.71] 5 [-40.76,-17.23,509.87] [-38.45,-16.01,509.52] [-2.31,-1.22,-0.35] 6 [96.21,-16.32,509.75] [92.17,-14.91,509.58] [4.04,-1.41,0.17] 7 [35.87,8.49,510.72] [34.68,9.51,509.89] [1.19,-1.02,-0.83] 8 [-47.09,-18.93,509.94] [-44.25,-16.80,509.32] [-2.84,-2.13,-0.62] 9 [-37.91,-13.67,511.84] [-36.34,-10.13,511.68] [-1.43,-2.57,-1.72] 10 [31.45,-0.27,509.67] [28.69,2.15,509.92] [2.76,1.88,-0.25] 当双目立体视觉系统与仪表的距离分别为380、400、420、440、460 mm时,计算仪表中心点三维坐标中Z的绝对误差如图 7所示,其平均相对误差不超过1.84%.根据趋势,图中Z的绝对误差随着仪表深度距离的增加而增大,当双目立体视觉系统与仪表的距离增加到460 mm时,误差达到最大(13.96 mm),此时已不满足系统的误差要求.而在实际操作情况中,在保证检测速度的前提下,通过转动仪表检测平台,设置实验将双目立体视觉系统的相对距离设置为400 mm,即相机与不同仪表的距离为400 mm,对仪表中心点三维坐标进行立体匹配.经过大量的测试实验,结果表明:本文设计的双目立体视觉系统运行稳定、鲁棒性好、系统误差满足要求,可实现对仪表空间坐标的计算及姿态估计,进而实现对仪表的准确抓取.
2.2 与其他方法的对比及分析
目标空间位置识别的准确性主要取决于采用的立体匹配算法,将本文提出的方法与基于尺度不变特征变换(SIFT)特征算子的立体匹配方法进行比较.基于SIFT特征算子的立体匹配是典型的基于特征的匹配算法,仅需要对图像中的一部分像素点计算视差,因此其计算量较小.双目立体视觉系统与仪表的深度距离为400 mm时采集10个不同姿态的仪表图像,不同方法的平均坐标误差及计算时间如表 2所示.虽然所提出的方法耗时比SIFT特征匹配方法的秏时略长,但准确性显著优于SIFT特征匹配方法,这是因为基于SIFT特征的匹配方法属于稀疏匹配,匹配到的特征点位置具有随机性,但是对仪表中心点坐标计算的精度不如本文所提出的方法.
表 2 本文方法与SIFT特征匹配方法对比Table 2. the comparison of the proposed method and the SIFT method匹配方法 平均坐标绝对误差/mm 平均计算时间/s 本文方法 6.156 8.101 SIFT特征匹配方法 8.412 8.056 3. 结论
提出了基于双目立体视觉的目标空间坐标计算及姿态估计方法,并应用于电力仪表抓取系统.首先在完成双目系统标定后,通过对左右相机采集的图像经过半全局立体匹配算法计算获得目标视差图;然后通过背景差分法获得仪表轮廓信息,包括仪表轮廓大小、轮廓中心点坐标以及相对垂直方向的倾斜角;最后通过仪表中心点的像素坐标和仪表的视差图计算出仪表中心点在空间中的三维坐标,将该坐标与仪表的倾斜角度结合起来,可以描述仪表在空间中的任意水平姿态.实际测试结果表明:所设计的双目视觉系统性能稳定,可以实现仪表空间坐标的计算及姿态估计,为机械臂抓取仪表奠定了基础,具有重要的应用价值.
-
表 1 匹配结果及误差
Table 1 The matching results and errors
mm 序号 三维坐标 匹配坐标 误差 1 [27.16,2.57,511.72] [28.23,2.89,510.88] [-1.07,-0.32,0.84] 2 [4.15,-1.32,509.78] [4.21,0.11,508.16] [-0.06,-1.43,-1.24] 3 [-43.14,-14.93,510.22] [-42.07,-10.28,508.76] [-1.07,-4.65,-1.46] 4 [-38.76,-12.47,509.84] [-36.47,-7.19,509.13] [-2.29,-5.28,0.71] 5 [-40.76,-17.23,509.87] [-38.45,-16.01,509.52] [-2.31,-1.22,-0.35] 6 [96.21,-16.32,509.75] [92.17,-14.91,509.58] [4.04,-1.41,0.17] 7 [35.87,8.49,510.72] [34.68,9.51,509.89] [1.19,-1.02,-0.83] 8 [-47.09,-18.93,509.94] [-44.25,-16.80,509.32] [-2.84,-2.13,-0.62] 9 [-37.91,-13.67,511.84] [-36.34,-10.13,511.68] [-1.43,-2.57,-1.72] 10 [31.45,-0.27,509.67] [28.69,2.15,509.92] [2.76,1.88,-0.25] 表 2 本文方法与SIFT特征匹配方法对比
Table 2 the comparison of the proposed method and the SIFT method
匹配方法 平均坐标绝对误差/mm 平均计算时间/s 本文方法 6.156 8.101 SIFT特征匹配方法 8.412 8.056 -
[1] SOVOBODA T, KYBIC J, HLAVAC V. Image processing, analysis & and machine vision-a MATLAB companion[M]. New York:Thomson Learning, 2008.
[2] PENG J, XU W, HAN Y. An efficient pose measurement method of a space non-cooperative target based on stereo vision[J]. IEEE Access, 2017, 5:22344-22362. doi: 10.1109/ACCESS.2017.2759798
[3] 贾丙西, 刘山, 张凯祥, 等.机器人视觉伺服研究进展:视觉系统与控制策略[J].自动化学报, 2015, 41(5):861-873. http://d.old.wanfangdata.com.cn/Periodical/jqr200403019 JIA B X, LIU S, ZHANG K X, et al. Survey on robot visual servo control:vision system and control strategies[J]. Acta Automatica Sinica, 2015, 41(5):861-873. http://d.old.wanfangdata.com.cn/Periodical/jqr200403019
[4] 周芳.双目视觉中立体匹配算法的研究与实现[D].大连: 大连理工大学, 2013. ZHOU F. Research on stereo matching in binocular vision and its implementation[D]. Dalian: Dalian University of Technology, 2013.
[5] PENG J, XU W, LIANG B, et al. Pose measurement and motion estimation of space non-cooperative targets based on laser radar and stereo-vision fusion[J]. IEEE Sensors Journal, 2019, 19(8):3008-3019. doi: 10.1109/JSEN.2018.2889469
[6] ZHANG Q, WANG Y, WANG L. Registration of images with affine geometric distortion based on maximally stable extremal regions and phase congruency[J]. Image & Vision Computing, 2015, 36:23-39. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=0876fd97b03e1e3f1a3523afe8b5400d
[7] 蔡晓妍, 戴冠中, 杨黎斌.一种快速的单模式匹配算法[J].计算机应用研究, 2008, 25(1):45-46;81. doi: 10.3969/j.issn.1001-3695.2008.01.011 CAI X Y, DAI G Z, YANG L B. Faster algorithm for single pattern matching[J]. Application Research of Computers, 2008, 25(1):45-46;81. doi: 10.3969/j.issn.1001-3695.2008.01.011
[8] GOLDBERG S B, MAIMONE M W, MATTHIES L. Stereo vision and rover navigation software for planetary exploration[C]//2002 IEEE Aerospace Conference Proceedings. Montana: IEEE, 2002.
[9] TSAI R Y. A versatile camera calibration technique for high-accuracy 3d machine vision metrology using off-the-shelf TV cameras and lenses[J]. IEEE Journal of Robotics and Automation, 1987, 3(4):323-344. doi: 10.1109/JRA.1987.1087109
[10] ZHANG Z. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11):1330-1334. doi: 10.1109/34.888718
[11] 李小文.利用拉普拉斯-高斯模板进行边缘检测[J].华南师范大学学报(自然科学版), 1997(2):53-55. http://journal-n.scnu.edu.cn/article/id/1686 LI X W. Edge detection using Laplacian-of-Gaussian masks[J]. Journal of South China Normal University (Natural Science Edition), 1997(2):53-55. http://journal-n.scnu.edu.cn/article/id/1686
[12] 倪爱伟.基于双目立体视觉的三维定位技术研究[D].南京: 南京航空航天大学, 2009. NI A W. Study on three dimension reconstruction technique based on stereo vision[D]. Nanjing: Nanjing University of Aeronautics and Astronautics, 2009.
[13] 李胜利.基于双目立体视觉的工件识别与定位技术研究[D].哈尔滨: 哈尔滨工业大学, 2016. LI S L. Research on workpiece recognition and location technology based on binocular stereo vision[D]. Harbin: Harbin Institute of Technology, 2016.
[14] OKADA K, INABA M, INOUE H. Integration of real-time binocular stereo vision and whole body information for dynamic walking navigation of humanoid robot[C]//Proceedings of IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems, MFI2003. Piscataway: IEEE, 2003.
[15] 何佳唯.基于双目视觉的机器人定位技术研究[D].无锡: 江南大学, 2016. HE J W. Research of robot positioning technology[D]. Wuxi: Jiangnan University, 2016.
[16] ZENG Z, YAN H. Region matching and optimal matching pair theorem[C]//International Conference on Computer Graphics. Piscataway: IEEE, 2001.
-
期刊类型引用(16)
1. 魏保龙,王霏. 基于嵌入式立体视觉的智能机器人障碍检测方法. 宜春学院学报. 2024(03): 24-28 . 百度学术
2. 孙静,刘晓燕. 基于双目立体视觉和轻量化神经网络的交通标志分割和识别. 微型电脑应用. 2024(06): 38-41 . 百度学术
3. 刘桐伯,景文博,熊泽宇,吴雪妮,夏璇. 宽基线立体视觉远距离目标位姿测量. 长春理工大学学报(自然科学版). 2024(03): 37-44 . 百度学术
4. 丁亚琼,贾寒光,万凯. 基于自适应机器学习的视觉机械臂控制方法. 华南师范大学学报(自然科学版). 2024(03): 50-57 . 百度学术
5. 郭海欣,高子博,张晨曦,康竞然,杨贵林. 基于三维视觉技术的相机标定及三维坐标提取. 科技与创新. 2023(14): 1-7+11 . 百度学术
6. 崔凯. 煤矿主煤流自动传输系统智能视觉监控设备的设计与实现. 自动化技术与应用. 2023(08): 137-140 . 百度学术
7. 朱兴帅,叶彬,姚康,丁上上,徐道亮,付威威. 基于深度学习的交互笔关键点估计研究. 计算机工程. 2023(10): 22-30 . 百度学术
8. 金何. 基于立体视觉匹配的采摘机器人目标定位方法. 齐齐哈尔大学学报(自然科学版). 2023(06): 47-52 . 百度学术
9. 朱小超,张磊,解秦虎,黄莺,崔悦. 双目视觉和机器学习的拆回电能表微颗粒清洗系统. 西安工程大学学报. 2022(02): 49-55 . 百度学术
10. 赵建敏,关晓鹏. 基于双目深度估计的牛体尺测量方法设计. 光电子·激光. 2022(04): 429-435 . 百度学术
11. 陈从平,姚威,王钦. 面向低纹理工件的识别与位姿估计方法研究. 传感器与微系统. 2022(10): 43-46 . 百度学术
12. 刘亮. 基于姿态估计的健身操运动员训练动作自动检测系统. 自动化与仪器仪表. 2021(03): 119-122 . 百度学术
13. 冀将,孟立凡. 基于双目视觉的障碍物识别研究. 电子设计工程. 2021(06): 60-64 . 百度学术
14. 杨光义,林欣,厉杰,吴啸宇. 非接触式婴幼儿身高测量系统设计. 实验技术与管理. 2021(04): 66-70+75 . 百度学术
15. 李丹,汪元礼. 双目测距在Android人机交互平台上的实现. 安徽工业大学学报(自然科学版). 2021(03): 305-310+331 . 百度学术
16. 张海国,崔志亮,杨豪,曹苏群. 无人液体配比实验室. 机械工程师. 2021(11): 119-121 . 百度学术
其他类型引用(20)