张友军,张持健,谢婉怡,刘 勇,夏营威,王依人
(1.安徽师范大学 物理与电子信息学院,安徽 芜湖 241002;2.中国科学院 合肥物质科学研究院,安徽 合肥 230031)
云是大气层中的水滴和冰晶[1],在降雨、气候变化等物理过程中充当着重要的角色[2]。云底高度[3-4]作为云参数的一种在航空安全、气候研究等许多邻域有着重要的作用。
云底高测量方法主要有人工目测、探空、雷达探测、双目成像技术[5]。人工目测和探空观察时间长、效率低;雷达只能单点测量且成本高。随着视觉传感器的发展,双目成像技术被应用于地基云底高观测。Mark等人[6]利用双目鱼眼相机拍摄云体,采用光流法匹配云图同名点,计算云底高度。光流法受到光照、相机曝光值的影响会产生一定的误差。陶法等人[7]采用基线60 m的一对摄像机,搭建双目云高系统,采用归一化互相关方法寻找同名点,然后匹配特征点得到相对视差计算云底高度,选择星星作为标定物易受天气环境影响。
采用双目成像技术测量云底高度时,针对无法准确获取同名点对以及外参标定不准确问题,本研究将视觉里程计[8]法运用到相机的外参标定上,采用特征点提取与匹配获取同名点,根据对极约束[9]求出外参。
本文搭建的双目云高系统由2台自主研发的ASC100成像仪[10]组成,外形结构如图1所示。该设备可通过网络对时,同一时刻采集左右2张天空图像,为云高数据反演提供原始数据。
图1 全天空云图仪机械外形图Fig.1 Mechanical outline diagram of all-sky nephogram instrument
双目云高系统工作流程如图2所示。其中,系统标定是整个系统有效工作的重要环节,直接决定整个系统的观测精度。系统参数主要包括左右相机的畸变参数、焦距和两相机的旋转平移位置参数,即相机的内参和外参。
图2 系统工作流程图Fig.2 Flow chart of system work
云低至形成于2 000 m的大气中,高至可达8 000 m,为适应云高变化范围广的特点,需探究双目系统有关参数对探测范围的影响,并对系统可选参数进行配置。系统工作原理是基于三角测量原理,如图3所示,Z为实际距离,Z′为观测距离,点P和点P′分别为待测点和观测点,左右相机成像的点分别为PL和PR。理想情况下,2个相机安装只在水平方向有位移,P的像只在水平方向有差异,记PL的横坐标为uL,PR的横坐标为uR。OL,OR为相机的光圈中心,f为焦距,t为基线(左右相机之间的距离),δ表示像元的宽度[11],设点在图像中的定位误差为 δ/2。 根据 ΔPPLPR和 ΔPOLOR的相似关系,有:
整理得:
式中,d为左右图横坐标之差,称为视差。根据(2)式同理可得:
得到精度误差为
图3 系统误差分析图Fig.3 Analysis diagram of system error
基线是双目云高系统的重要参数,它不仅影响系统的结构,还影响测量精度。由(4)式可知,基线t增大,测量误差减小;焦距增大,测量误差减小。t的增大需要和实际情况相结合,测量较近物体时,基线不宜过大,基线较大,左右相机采集的相同区域减少,影响图像的匹配精度,测量较远物体时,为保证较高的测量精度,基线应尽可能大。焦距越大,视场越小,拍摄图像的特征减少,影响图像的匹配精度。为提高系统观测精度,需要选择合适的基线与焦距。
采用焦距4 mm、6 mm、8 mm和基线20 m、60 m分别进行两两实验。如图4所示,云底高度为0~3 km时,焦距一定,基线越大,单位视差的改变引起的云底高度变化越大,测量精度越高,而基线越大,测量同一云底高度所需的视差越大即共势面越小,影响图像的匹配精度;当基线一定时,焦距越大,单位视差的改变引起的云底高度变化越大,测量精度越高,而焦距越大,视场越小,影响图像的匹配精度。云底高度大于3 km时,焦距一定,基线越小,精度越高;当基线一定时,焦距越小,测量精度越高。整合6条折线,选择基线为60 m,焦距为4 mm的系统较为合适。
图4 系统参数图Fig.4 Diagram of system parameters
里程计法采用的是精度高且速度快的ORB算法[12],该算法特征点提取方式为FAST[13]角点提取。算法思想为:若图像中某点的灰度值连续大于或小于周围一定数量的像素点时,则该点为特征点。特征点用函数判断为
式中:I(p)是 待测点的灰度值;I(x)是圆周点的灰度值;η为设置的阈值(一般为I(p)的20%);圆周点与待测点的响应函数值的和定义为N,当N大于或等于 12时,点p为特征点。
ORB算法采用BRIEF[14]特征描述子,函数表达式定义为
式中:p(x)、p(y)表示点对的灰度,选择多组点对来生成一个二进制字符串表示为
式中:n取256。计算特征点的汉明距离(用D(vp,vq)表示)来匹配同名点,其中vp是左图像中某一特征点p的 特征向量;vq是右图像中邻近特征点p的全部特征向量,D(vp,vq)越小说明2个特征点越相似,距离最小的即为匹配的点对。
外参标定在云底高观测过程中起着重要的作用。获取同名点对后,采用对极几何约束求出相机的外参。如图5,I1与 I2为左右相机拍摄的图像,设两个相机之间的运动为R、t。 假设 I1中有一个特征点p1,它在 I2中对应着特征点p2,两者是通过匹配得到的。
图5 对极几何约束Fig.5 Antipode geometric constraints
设点P的空间位置为
点p1与p2的像素位置为
式中:K为相机的内参矩阵,使用齐次坐标将上式改写成非零常数下成立的等式:
可以得到:
x1、x2是2个像素点归一化平面上的坐标,带入上式得到:
在等式的两边同时左乘xT2t∧得:
t∧x2向量与t和x2都垂直。把它和x2做内 积时,得到0。所以:
带入p1,p2:
(18)式和(19)式称为对极约束。对极约束中包含了旋转矩阵和平移矩阵。
令:
EF和 为本质矩阵和基础矩阵[15]。根据本质矩阵或基础矩阵即可求出相机的外参。
为确定里程计法用于大基线外参标定的精度,在室外搭建双目云高探测系统,以自主研制的2台全天空云图仪代替左右相机,开展室外标定实验。搭建双目云高系统如图6所示,2个云图仪的距离为60 m,2台设备安装时经过调整,保持正南正北朝向,两者只在水平方向上移动。
图6 双目云高探测系统Fig.6 Binocular cloud height detection system
云图仪可全天拍摄大范围的云图,取其中一组图像对进行实验。实验得到外参数据为
数据中,R式中左对角线的值接近于1,表明左右图像的相对倾斜角度较小,与实际情况相符。t式中2个相机水平距离为60.344 4 m,而实际值为60 m,误差为34.44 cm,精度较高,达到99.43%。得到外参数据进行立体校正,结果如图7所示,左右图像上的同名像素点基本上只在水平方向上有偏移,说明标定的外参数据较为准确。
图7 双目立体校正图Fig.7 Binocular stereo correction images
然后进行立体匹配得到视差图,如图8所示,观测的云底高度越高,视差越小,对应的视差图颜色越浅。视差图可以将图像的大部分纹理表示出来,效果较好,表明里程计法用于大基线外参标定的可行性。
图8 云图视差图Fig.8 Parallax diagram of cloud image
采用双目相机探测云底高度时,本研究将里程计法运用到相机的外参标定上,通过室外标定实验,确定了里程计法标定外参的精确性,解决了大基线外参标定困难以及标定不准确的问题。
采用里程计法标定双目相机的外参还存在一些不足之处:在阴天或者雾霾天气时,自主研制的2台全天空云图仪拍摄的云图纹理较少,采用特征点提取与匹配的方法很难提取图像的特征点,匹配同名点时会产生较多的误匹配,很大程度上影响了标定的结果。在今后的学术研究中,对于低纹理问题拟采用图像增强的方法,先增强图像的纹理,再进行外参的标定。