基于单目视觉原理的空间位置测量技术研究
2019-08-31王锴磊沙春哲王春喜王占涛
王锴磊 吴 跃 沙春哲 刘 莎 王春喜 王占涛
(北京航天计量测试技术研究所,北京100076)
1 引言
空间位置传递一直是科学研究和空间测量的一项重要手段,从进行大地测量和空间测量开始,其空间位置传递就成为一个重要的课题,很多研究单位进行了系列的研究。早在20世纪50年代,全站仪的出现就实现了快速的空间位置传递,到目前为止,通过全站仪建立空间坐标系,实现精确的位置传递,仍然在广泛应用,这也是精度较高的空间定位系统,操作相对简便。20世纪80年代,美国开发了全球定位系统(GPS),该系统通过向太空中发射地球同步卫星,基于卫星的运行和电磁信号的传输,在全球范围内实现米级的精确定位。GPS定位系统可以大范围、实时定位,数据输出频率可达到25Hz,但是在小范围内的高精度空间定位,GPS则很难实现。90年代出现了差分GPS的定位方法,也就是在地面建立基准站和移动站的方式,通过两个GPS接收机的相互通信,实现差分定位,达到厘米级的定位精度。目前,随着电子技术的发展,也出现了基于室内GPS、激光跟踪仪、雷达扫描仪等先进仪器的空间位置传递方式。基于双目PNP的视觉定位系统也是一种新颖的定位方式[1]。现阶段国内外对视觉测量的应用一方面主要在整体静态定位及几何尺寸测量[2]、运动物体的整体跟踪等[3];另一方面用于测量物体自身在小位移、小运动范围内的运动细节,如对桥梁桥身纵向振动位移的监测[4,5]
本文所述的视觉位置测量方式是建立三个空间坐标已知的基准坐标点,通过工业相机成像,由此建立成像方程,通过计算机对方程进行求解实现定位。该种定位测量方式可以实现快速位置传递,位置测定等。其工作方式简单,只需要一台高分辨率CCD相机和固定靶标即可,相对于文献[1]所述的两台CCD相机更加简便和方便。
2 定位测量模型
定位测量为空间三维位置坐标的测量,测量模型如图1所示。
图1 相对定位原理Fig.1 Relative positioning principle
假设被测位置点的坐标为Pa,已知点的坐标为Pb,视觉测量单元测量出A点(被测点)相对于B点(已知点)的偏差d=Pa-Pb,偏差d在各个方向值为[dxdydz],于是有
或
这样一旦得到B点坐标Pb及A点相对B点的偏差,就可以根据公式(2)求出点A的坐标。视觉定位中以一组视觉靶标作为参考点B实现空间位置测量。精确测定相机光心所在的位置坐标,从而实现定位,这种定位方式既不需要全站仪定位需要的水平基准,又比GPS定位提升了定位精度,是静、动态条件下定位校准的最佳方式。
3 视觉定位原理
视觉测量是通过工业相机进行图像采集,实现从三维到两维图像的转换,然后对机器图像进行处理,实现从两维平面图像到三维空间坐标的转换。一般采用双目测量和单目测量的方法。下面从理论上说明视觉测量的原理。成像关系如图2所示,该图说明了单目视觉定位的基本成像原理。
图2 视觉成像关系示意图Fig.2 Visual Imaging Relation Diagram
其中P点为被测点,p为P的像点,地面直角坐标系定义为O-XYZ,相机测量坐标系定义为SXYZ,S为相机的光心位置,两个坐标系只有平移变换而无旋转;像空间坐标系S-UVF,像平面坐标系为o-uv。图中各点在各自坐标系中的坐标:S在O-XYZ中的坐标为(XS,YS,ZS),物点P在O-XYZ中的坐标为(X,Y,Z),P在S-XYZ中的坐标为(X-XS,Y-YS,Z-ZS),P在S-UVF中的坐标为(X',Y',Z'),p在S-UVF中的坐标为(u,v,-f)。由S、P、p三点共线,故有
P点在S-XYZ中的坐标(X-XS,Y-YS,ZZS)与P在S-UVF中的坐标(X',Y',Z')的关系为
公式(5)为成像基本方程,对于6个外方元素(ω,κ,φ,XS,YS,ZS),可以通过设置 3 个基准坐标点求取。对同一坐标点进行拍摄,获得重叠照片,由此确定物点的空间坐标。根据成像方程我们可以组建四个方程,经过平差后可解出物点P的三维空间坐标。以上即为计算机视觉测量的理论基础。
通过天文的方式精确建立P1、P2和P3在地面直角坐标系下的坐标,记为P1(X1,Y1,Z1),P2(X2,Y2,Z2),P3(X3,Y3,Z3)。P1、P2、P3在相机成像平面坐标系内的坐标记为(u1,v1)、(u2,v2)、(u3,v3),为已知量,f为已经标定完的相机焦距,相机的光心坐标记为P(X,Y,Z),为像空间坐标系的原点。其中P1、P2、P3为已知点,P为待求点。根据成像方程(5)可以建立六个共线方程,如公式(6)。
公式(6)共有 φ,ω,κ 和X,Y,Z六个未知数,六个方程即可解算测量点P的坐标,实现空间定位。
4 视觉定位的实现步骤
图像的处理核心为作为基准坐标点的靶标编号的识别和靶标图像坐标点的提取。识别出靶标编号后可以查表获得该靶标的基准坐标,靶标图像坐标的提取可以获得像平面的两维坐标。其实现的基本步骤为:
a)以全站仪为基准建立坐标系,标定基准靶标的空间坐标,输入控制计算机;
b)相机触发拍照,读取图像;
c)对图像进行处理,识别靶标编号,查表读取靶标内基准点的坐标;
d)识别靶标内基准点在像平面成像点的两维坐标;
e)按照公式(6)进行计算,实现视觉定位。
4.1 靶标编号识别
靶标的基本设计如图3所示,每个靶标上均匀放置9个LED指示灯,根据点亮的LED指示灯的位置确定靶标的编号,根据编号在数据库中查找基准坐标。因此,通过图像对靶标编号的识别是查表确立其基准坐标的前提。
由于在视野中可能出现多个靶标的情况,我们的假设是,靶标与靶标之间两个LED灯最近的距离比靶标内部LED灯之间的距离大。基于这样的原则,我们可把一组杂乱无章的点进行聚类。找出属于同一靶标的各个成像点。
图3 靶标的配置Fig.3 Configuration of the target
一旦完成点的聚类,则可以对类内点进行处理,以最终识别出类的编号,及类内点的序号。为实现上述功能,首先要对类内点进行旋转处理。旋转处理的目的是找出相邻的点,由于靶标点设计成点阵,因此最近邻一定是相互处于水平方向或垂直方向。所以可以统计相邻点连线的斜率,计算出他们的倾斜角θ。并对倾斜角进行反旋转补偿rot(-θ),如公式(7)所示,使得反旋转的点阵,最近邻彼此是处于水平或垂直方向的。
反旋转后的点列,如图4所示。软件通过对点的旋转处理后实现拍摄的自由性,不限定基于水平基准的拍摄,这也是单目视觉空间位置测量的基本要求。
图4 点的处理Fig.4 Processing of points
由于靶标是十字交叉的,因此我们可以用十字链表实现靶标的数组化。我们采用递归的方法处理:
a)任意选取类内一点,该点被认为是根节点;
b)标记该点为已访问;
c)对该根节点,从靶标点列里找到该根节点可能的没有访问的邻居,包括上邻居,下邻居,左邻居,右邻居。并用相应的指针指向他们;
d)对该根节点的邻居,执行与根节点同样的操作,直到所有的点都已访问;
e)这样我们的点列就一定成为了一个名符其实的十字链表。
基于该方法,图中的点列可以转化为下图的二维数组。一旦数组得到,图像点在靶标内部的序号即可求出,图4的靶标利用数组表示如图5所示。
图5 获得的靶标序号Fig.5 Ordinal number of the target
4.2 靶标中心点的计算
靶标中心点的计算主要是提取靶标中LED灯所对应的像平面坐标,也就是公式(6)中的u,v。
程序读入采集的图像后,自动统计图像的灰度直方图。并采用阈值自适应分割方法得到区分前景和背景的阈值T1。
在阈值分割后,靶标点的图像是一个均匀的区域,而不是孤立的点,因此需要把这些联通区域连接起来,并以一个区域的方式对这些点进行标记,便于后续的处理。
标记好联通区域后,只检测LED灯光斑的区域,而其他区域都被当成背景。最后对每一个联通区域根据事先得到的阈值进行重心计算获得该区域的靶标中心点,如公式(8)所示。
式中:Rk——第k联通区域;(xi,yi)——联通区域中的第i个点坐标;Ti——联通区域中的第i个点坐标点的灰度值;T1——灰度阈值;(,)——靶标中心坐标。
5 试验与分析
5.1 试验平台搭建
单目视觉定位平台的基本搭建方法如图6所示。相机与计算机形成测量系统,放置在运动的载体上,本试验采用汽车作为测量载体,方便进行静态和动态的视觉定位,侧面放置已知坐标点的靶标。运动载体载相机和计算机运行,当靶标进入相机视场后自动触发拍摄,形成图像,计算机对图像进行处理,获取P1、P2和P3的像平面坐标,然后依据公式(6)计算光心S点坐标,实现位置测量。
图6 觉定位装置示意图Fig.6 Schematic diagram of sensory positioning device
按照图6我们建立了试验装置,装置安装在一个面包车的车顶上,计算机放置在车内,侧面布置五个靶标。触发拍摄,实现定位,确定运动的汽车在拍照时刻在靶标坐标系下的坐标,完成单目视觉定位。
5.2 试验结果分析
试验设备搭建完成后,为了验证单目视觉定位原理和方法的正确性,我们进行了静态和动态定位试验。以全站仪建立基准坐标系,并测量相机触发拍照时刻的定位点基准坐标为(3.103,4.605,2.145),视觉定位试验数据分别见表1、2、3。
表1 运动载体视觉定位测试数据(静态)Tab.1 Test data of visual positioning for moving vehicle(static) m
根据表1、2、3测量的原始数据,计算6次定位的平均值,与定位点的基准坐标相减即可得出不同速度时各个方向的定位误差,如表4所示。
从表4可以看出,水平定位误差小于高程定位误差。分析是由于在运动载体运行过程中,高程方向由于车体的上下颠簸导致其定位点偏离基准点,造成高程定位误差大于水平定位误差。
图7 定位误差与速度的关系Fig.7 Relation between Location Error and Velocity
根据定位测量数据绘制运动载体的定位误差与速度的关系如图7所示。图中,虚线为基准点定位值,从图中可知静态定位误差较小,速度越快,误差越大,这是由于CCD相机外部触发拍照和CCD相机曝光导致的误差变大。但是整体上运动载体的定位误差达到了厘米级的定位精度。由此可以看出。本文所述的单目视觉原理的空间位置测量方法相对于全站仪的定位方法可以实现动态定位,定位精度较高,相对于GPS系统动态响应更快,定位精度更高。
6 结束语
通过理论设计和试验考核,基于单目视觉原理的空间位置测量方法和实现过程完全满足工程使用的要求,相对于其他的定位方式有着精度和动态性能的优越性。其操作简单,装置测量完全自动化,能够方便的将静态位置坐标转换为动态位置坐标,可以推广到大地测量、动态坐标校准等应用领域。