打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
论文推荐 | 李佳田, 王聪聪, 阿晓荟, 等. 多向前方交会与单隐层神经网络结合的近景前方交会法

《测绘学报》

构建与学术的桥梁        拉近与权威的距离

复制链接,关注《测绘学报》抖音!

【测绘学报的个人主页】长按复制此条消息,长按复制打开抖音查看TA的更多作品##7NsBSynuc88##[抖音口令]



多向前方交会与单隐层神经网络结合的近景前方交会法

摘要:针对三维坐标求解精度受非线性误差影响的问题,提出了一种多像前方交会与单隐层BP神经网络相结合的方法。基本过程为:①在样本点真实世界坐标已知的条件下,构建关于世界坐标的拉格朗日方程,对相机外参进行优化,以得到更高精度的三维坐标初值。②利用计算得到的三维坐标和真实三维坐标分别作为输入和输出参数对单隐层BP神经网络进行训练。③将三维坐标初值带入网络模型对其进行改正。试验结果表明:①相较于前方交会、稀疏光束法平差及典型神经网络方法,在试验装置环境视场内,本文方法解算精度较高,最大偏差为0.492 7 mm。②相较于典型神经网络方法,本文网络结构为3-6-3,结构简单且计算效率高。

关键词:前方交会    外方位参数    BP神经网络    拉格朗日方程    稀疏光束法平差


引文格式:李佳田, 王聪聪, 阿晓荟, 等. 多向前方交会与单隐层神经网络结合的近景前方交会法. 测绘学报,2020,49(6):736-745. DOI: 10.11947/j.AGCS.2020.20180600.
阅读全文:http://xb.sinomaps.com/article/2020/1001-1595/2020-6-736.htm

全文概述

本文提出一种联合多像前方交会与神经网络的方法,采用最小化世界坐标误差的方法代替最小化重投影误差对相机外参进行优化,求解更高精度的世界坐标,并简化神经网络模型,将前方交会数学模型不完善带来的非线性误差包含在网络结构中,学习计算得到的世界坐标与真实世界坐标间的映射关系,对前方交会进行改正,以兼顾解算精度与计算效率。

多像前方交会改正

1.1  相机外参数求解

相机外参是影响前方交会解算精度的重要因素,其求解精度易受到像点坐标和空间坐标的精度[19-20]以及成像模型的影响。SBA算法[21-23]是优化相机参数的主要方法,该方法通过假设像素坐标误差服从正态分布,最小化重投影误差对相机参数与世界坐标进行最大似然估计。然而,由于相机分辨率、视场角及像素坐标提取精度等因素,较难保证像素坐标误差服从正态分布。

结合图 1所示试验装置,在样本点世界坐标已知条件下,根据共线方程最小化世界坐标误差,对外方位参数进行优化。试验装置具有以下特性:能够控制标定板按照距离准确移动,可精确获得多组角点的世界坐标;装置由一个水平轴和一个竖直轴构成,故以标定板左上角内角点为世界坐标原点,相机位姿固定时,理想情况下不同位置标定板对应的世界坐标系与相机坐标系间的旋转矩阵不变,图像序列1对应的平移向量中xz值不变,图像序列2对应的平移向量中yz值不变。

图 1 试验装置示意 Fig. 1     Diagram of experimental device      

图选项

像点、摄影中心以及空间点坐标满足共线方程为

(1)

式中,

;(XYZ)为空间点坐标;(xy)为像点坐标。

利用图像序列1,最小化世界坐标X和Z的误差方程为

(2)

式中,r1r2r3分别为(a1 a2 a3)、(b1 b2 b3)、(c1 c2 c3);M为(x y -f);n为图像数量。每张标定板选取4个点,由旋转矩阵性质可得约束条件gi

式(2)应用拉格朗日乘子法,构建拉格朗日方程,得到

(3)

假定λ为常量,对r1求偏导可得

(4)

同理,对r3XsZsλi求偏导,联立求解得到对应外方位参数,并更新λ,利用式(1)更新空间点坐标XZ。上述方法迭代更新空间点坐标,直到误差值小于阈值,最终可由旋转矩阵的性质求解得到r2

对图像序列2利用上述方法对式(1)中的Y和Z构建拉格朗日方程,将r2r3ZsZYYs作为初值进行迭代求解,直到误差值小于阈值,即可得到相机外参的最优解。

1.2  多像前方交会

如图 2所示,在多个摄站点对物体进行摄影,获取n张像片,任一空间点A在图像上的构像分别为a1a2,…,an。设n张图像的内外方位元素已知,理想情况下恢复摄影瞬间相机姿态,同名射线S1a1S2a2,…,Snan必交于空间点A。利用同名射线相交确定对应空间点坐标的方法称为多像空间前方交会。

图 2 多像前方交会 Fig. 2     Diagram of space intersection for multi-image      

图选项

S-XcYcZc为以摄影中心S为原点的相机坐标系;o-uv为像素坐标系;O-xy为像平面坐标系;Ow-XwYwZw为世界坐标系;S-XcwYcwZcw为相机坐标系旋转得到的坐标系,其与世界坐标系各轴平行。SOw-XwYwZw下可表示为

(5)

式中,R为HPR(Heading-Pitch-Roll)转角系统下的旋转矩阵;(txtytz)为OwS-XcYcZc下的坐标。

设图像上一点a的像素坐标为(uv),其在S-XcYcZc下可表示为

(6)

S-XcwYcwZcw下可表示为

(7)

Ow-XwYwZw下可表示为

(8)

已知摄影中心和像点在世界坐标系下的坐标分别为(txwtywtzw)和(xwywzw),两点即可确定射线方向。理想情况下同名射线交点即为空间点坐标A,实际情况下,由于像点坐标测量误差、相机光学系统的光学畸变、CCD面阵几何畸变和其他因素,同名射线可能不交于一点甚至不相交,此时问题转化为

(9)

式中,

为待求点A到直线Sa的距离(i=1, 2, …, n),式(9)的解即为所求点A的坐标。

1.3  单隐层BP神经网络坐标改正

利用优化后的外方位参数进行多像前方交会,计算得到的世界坐标仍具有一定误差,并未实现真正的高精度解算,需对误差进行进一步改正。由于误差源比较分散且一般情况下难以精确模型化,而通过单隐层BP神经网络的反向传播过程能够不断更新网络,建立输入输出之间有效的函数映射。因此,在上述基础上利用BP单隐层神经网络建立计算世界坐标与真实世界坐标的函数映射,对计算误差进行改正,以实现前方交会高精度解算。方法描述如下:

(1) 样本采集。如图 1所示,以标定板t11左上角内角点为世界坐标原点。由运动控制器控制标定板按照输入脉冲数精确移动,获取角点a的真实世界坐标。同时采集图像序列,并利用1.1节方法对外参进行优化,得到标定板t11对应相机外参。进而利用多像前方交会方法计算角点a的世界坐标,得到真实世界坐标序列(XiYiZii=1,2,…,n)以及世界坐标序列(

i=1,2,…,n),n为坐标点数目。

(2) 模型构建。选择合适的网络结构对前方交会改正至关重要。神经元过少,网络不具有必要的学习能力以及处理能力;神经元过多,会造成过拟合,导致网络泛化性能差[24]。利用经验公式:

确定神经元数目,其中,nm分别为输入与输出神经元数目,a为[1, 10]之间的常数。经多次试验可得,隐藏层神经元数与模型性能的关系如图 3所示。模型拟合精度随神经元数目增加而提高,但神经元数目超过7时,由于过拟合现象,测试精度出现异常,由此确定神经元数目为6。如图 4所示,将(
i=1,2,…,n)作为输入值,(XiYiZii=1,2,…,n)作为输出值,构造结构为3-6-3的神经网络,通过权值参数和激活函数连接输入向量和输出向量,采用截尾高斯分布初始化权值,以tansig函数作为隐藏层和输出层的激活函数,利用搜索然后收敛方案[25]设置学习率退火,对网络进行训练,直到满足精度要求或达到最大迭代次数。此时,计算世界坐标与真实世界坐标的非线性映射关系可由神经网络模型表征。

图 3 隐藏层神经元数与模型性能关系 Fig. 3     Relationship between the number of hidden layer nodes and model performance      

图选项

图 4 单隐层BP神经网络结构 Fig. 4     Diagram of single hidden layer BP neural network structure      

图选项

(3) 世界坐标求解。选取不同于上述过程中的采样点,首先利用优化后的相机外参采用多像前方交会方法求取世界坐标。再将其作为输入参数代入神经网络模型中,利用BP神经网络对前方交会结果进行改正,求取高精度的世界坐标。

2 试验与分析
 

试验使用4 mm焦距,200万像素工业相机,CCD大小为1/2.7 inch,图像大小为640×480像素,程序编译环境为VS2013,运行环境为i5(1.8 GHz) CPU和4GB RAM。如图 1所示搭建试验平台,由运动控制器控制标定板按输入脉冲数精确移动,获取采样点真实世界坐标,并采集图像序列。图 5为标定板运动到不同位置,以不同位姿放置的相机拍摄得到的像片。

图 5 标定板示意 Fig. 5     Diagram of calibration target      

图选项


2.1  外参优化对比

首先,利用张正友标定法[26]对摄像机进行标定,求解得到相机内参和畸变系数为

(10)

其次,根据旋转矩阵以及平移向量在本试验装置中的特性,对多幅标定板图像所对应的外方位参数取均值,作为初始相机外方位参数。利用多像前方交会求取初始世界坐标,然后利用图像序列1构建关于XZ的拉格朗日方程,迭代求取对应相机外参,再利用图像序列2构建关于YZ的拉格朗日方程,最终得到标定板t11对应的外方位参数。

最后,利用上述方法优化后的相机参数进行多像前方交会,求取标定板某一角点运动过程中的世界坐标序列。为验证外参优化性能,模拟像素误差服从不同分布的情况,以与真实世界坐标的误差平方和为指标,将本文方法与外参优化典型方法SBA进行对比,试验结果如图 6所示。

图 6 外参优化性能 Fig. 6     Diagram of exterior elements optimization performance      

图选项

由图 6可知,像素误差服从正态分布时,SBA性能良好,其他情况下性能相对较差。本文方法基于真实世界坐标约束,相较于SBA性能较好。

模拟像素误差服从正态分布,本文方法与SBA性能见表 1。

表 1 SBA与本文方法性能Tab. 1 Performances of sparse bundle adjustment and method in this paper

方法初始重投影误差/像素最终重投影误差/像素初始三维坐标误差/mm2最终三维坐标误差/mm2迭代次数运行时间/s
SBA2.147 10.306 49.521 83.791 32735.71
本文方法2.147 10.176 59.521 82.021 93019.13

表选项

由表 1可知,像素坐标误差服从正态分布时,利用本文方法优化相机外参,迭代次数与SBA较为接近,但本文方法在真实世界坐标的约束下优化外参,精度优于SBA,且运行时间远小于SBA。

2.2  方法有效性验证

2.2.1  真实试验数据验证

采用单隐层BP神经网络对多像前方交会结果进行进一步改正,求取高精度世界坐标。具体过程为:构建网络结构为3-6-3的BP单隐层神经网络模型,采用截尾高斯分布初始化权值,以tansig函数作为隐藏层和输出层的激活函数,设置学习率初始值为0.01,以搜索然后收敛方案在训练过程中动态调整学习率。设置测距为2000 mm,以图 1中t11左上角内角点为世界坐标原点,采集50组数据点,将计算得到的世界坐标以及真实世界坐标分别作为输入输出数据,对模型进行训练,由此构建两组世界坐标之间的映射关系。最后,采集训练数据集之外的数据对模型精度进行验证,测试数据点均匀分布于有效视场范围内,试验结果如图 7所示。

图 7 模型精度示意 Fig. 7     Diagram of model accuracy      

图选项

图 7(a)表示测试点的真实世界坐标与模型输出世界坐标,模型输出的世界坐标与真实世界坐标误差较小。图 7(b)表示真实世界坐标与模型输出坐标的误差平方和,由图可得最大误差平方和小于0.14 mm2,说明BP神经网络具有较强的改正能力,所构建模型能够较好地表征两组世界坐标之间的非线性关系。

2.2.2  BAL数据集验证

BAL数据集[27]是目前用于验证集束调整算法性能的代表性数据集,数据集中包含空间点三维坐标以及对应于不同位姿相机的像素坐标,同时给出基于针孔相机模型对相机参数的估计值,包括旋转矩阵R,平移矩阵t,焦距f,径向畸变参数K1K2。为证明本文方法有效性,从数据集中选取两组数据进行测试,一组为Dubrovnik数据集,该组数据由16个相机以不同位姿对22 106个物方点进行观测,像点总数为83 718个;另一组为Trafalgar数据集,由21个相机以不同位姿对11 315个物方点进行观测,像点总数为36 455个。从两组数据集中分别随机选取100个物方点利用本文方法构建神经网络,并选取训练数据集以外的50个物方点进行测试,测试结果见表 2。

表 2 BAL数据集测试Tab. 2 The test of BAL dataset

数据集初始平均重投影误差/像素SBA平均重投影误差/像素本文平均重投影误差/像素初始平均三维坐标误差/mm2SBA平均三维坐标误差/mm2本文平均三维坐标误差/mm2
Dubrovnik数据集7.070 90.464 10.315 415.341 85.297 33.504 3
Trafalgar数据集10.002 70.912 90.543 220.021 97.416 84.023 8

表选项

试验结果表明,在数据量较大的公开数据集中本文方法同样适用,并且具有较高精度。

2.3  稳健性分析

像点坐标提取精度直接影响网络性能,为验证方法的稳健性,在提取亚像素角点坐标的基础上对像点坐标加入不同水平噪声,并求解三维坐标。加噪后的像点坐标表示为:(

)=(xi+N×rand1,yi+N×rand2),其中,rand1、rand2为(-1,1)之间的随机数,N表示噪声水平。试验结果见表 3。

表 3 像点坐标精度对求解三维坐标的影响Tab. 3 The effect of image coordinate precision on solving three-dimensional coordinates

N的取值像点重投影误差/像素最大偏差/mm最小偏差/mm均方差/mm
N=00.175 00.101 70.034 30.018 6
N=10.724 50.136 90.071 80.020 7
N=21.854 40.234 10.102 10.040 5
N=33.064 80.381 20.172 20.062 2
N=45.782 10.573 90.294 70.082 1

表选项

试验结果表明,三维坐标求解精度与像点坐标精度成正比。噪声水平在一定范围内时,本文方法具有较高精度,说明本文方法具有较强的稳健性。

2.4  不同距离条件下的精度对比

由试验可知,三维坐标求解精度与距离有关,为验证距离与求解精度的关系,将相机分别置于距标定板平面1、2、3与4 m处,随机选取测试点作为测试集数据,三维坐标求解结果如图 8所示。

图 8 不同距离下本文方法性能 Fig. 8     Diagram of performances at different distances      

图选项

试验结果表明,在近距离范围内,本文方法具有较高精度,距离越近,三维坐标求解精度越高,超出一定距离后,无法满足高精度要求。原因在于,训练样本质量对网络的泛化具有较大影响,训练样本数据反映近距离数据特性,因此,在近距离范围内,模型泛化性能较好,求解得到的三维坐标具有较高精度。且超出一定距离后,受相机分辨率影响像点坐标提取精度下降,具有较高噪声,三维坐标求解精度不具稳定性。

2.5  不同方法对比

将相机固定于距离被测点3190 mm处随机选取测试点与其他几种方法进行对比,在此距离下像点重投影平均误差为3.613 7像素。方法1[14]为利用神经网络调整像点误差,进而对三维坐标进行求解。方法2[15]为利用左右像片像素坐标以及世界坐标作为神经网络训练数据实现三维坐标解算。方法3[28]结合混沌粒子群优化算法(chaos particle swarm optimization,CPSO),构建CPSO-BP神经网络求解三维坐标。方法4[29]结合遗传算法(genetic algorithm,GA),构建GA-BP神经网络求解三维坐标。试验结果如图 9所示。

图 9 不同方法试验结果 Fig. 9     Experimental results of different methods      

图选项

如图 9所示,由相机参数以及数学模型不完善带来的非线性误差导致前方交会、SBA以及利用神经网络调整像素误差进而求取三维坐标的方法较难达到高精度要求,其他方法直接构建输出为世界坐标的神经网络,精度相对于上述3种方法有大幅提高。方法3和方法4对初始权值进行优化,相对于方法2精度更高。本文方法基于优化后的外参,利用多像前方交会计算得到更为准确的世界坐标,并利用神经网络建立两组世界坐标间的映射关系,相对于其他方法性能进一步提高。试验表明本文方法性能较高,能够对世界坐标进行较好的调整实现高精度三维坐标求解。7种方法的性能指标见表 4。

表 4 不同方法对比结果Tab. 4 Results of different methods

性能指标前方交会SBA方法1方法2方法3方法4本文方法
网络结构--4-16-34-10-34-17-34-8-33-6-3
最大偏差/mm3.102 11.317 22.791 860.625 30.553 10.548 70.492 7
下降比例/(%)84.1262.5982.3521.2010.9210.21-
最小偏差/mm1.573 50.421 61.082 10.392 70.257 90.261 20.198 3
下降比例/(%)87.4052.9681.6749.5023.1124.08-
均方差/mm0.655 40.243 10.408 70.079 70.092 10.083 20.077 5
下降比例/(%)88.1668.0981.022.6715.786.77-
运行时间/s1.1933.7057.42820.1415.8115.0112.718
下降比例/(%)-90.6462.2577.8536.8419.5415.26-

表选项

由表 4可知,利用本文方法构建网络所需隐藏层神经元个数较少,网络结构简单,且求得的世界坐标在同等距离条件下精度最高。与此同时,算法运行时间有较为明显的下降。由此可得,本文方法在解算精度以及计算效率上均具有良好的表现。

3  结 论

本文方法的创新之处是,通过多像前方交会利用优化后的外参计算得到的世界坐标与真实世界坐标构建浅层神经网络,在保证改正精度的同时,收敛速度快,更加符合工程应用需要。在实际应用中,可通过将多个标定平面放置在有效视场内(或三维标定板)构建测试数据集。需要注意的是,在像片观测条件差的情况下需考虑粗差的剔除。本文方法潜在应用场景为近距离高精度三维测量任务,如变形监测、工件测量及获取高精度3D点云等。

作者

第一作者简介:李佳田(1975—),男,博士,教授,研究方向:数值最优化方法与机器场景理解,Email:ljtwcx@163.com

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
前沿丨VSLAM中的特征点三角化
SLAM的那些坑——PNP
三坐标基础知识培训教程
四轴
SLAM实习生面试基础知识点总结
最详细、最完整的相机标定讲解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服