APP下载

平行双目视觉系统的定位误差补偿

2019-07-05樊海风王见

计算技术与自动化 2019年2期
关键词:误差分析BP神经网络预测

樊海风 王见

摘   要:测量精度在平行双目视觉系统的应用中非常重要.为了提高测量系统的精度,提出了基于改进的BP神经网络的误差补偿策略。采用不同位置处的测量数据作为学习样本,利用训练好的网络模型预测测量系统的误差,对测量结果进行误差补偿,得到新的数据作为测量值。实验结果表明,该方法的结果值相较原始数据,误差减少了70%,为提高视觉系统的定位精度提供了一种新的思路。

关键词:双目视觉;误差补偿;BP神经网络;预测;误差分析

中图法分类号:TP391                                               文献标识码:A

Positioning Error Compensation for Parallel Binocular Vision Systems

FAN Hai-feng?覮,WANG Jian

(State Key Laboratory of Transmission,Chongqing University,Chongqing 400044,China)

Abstract: Measurement accuracy is very important in the application of parallel binocular vision systems. In order to improve the accuracy of the measurement system,a measurement error compensation strategy based on an improved BP neural network was proposed. The measurement data at different locations are used as learning samples. The trained network model is used to predict the error of the measurement system. Errors are compensated for the measurement results and new data are obtained as the measurement values. The experimental results show that compared with the original data,the error of this method is reduced by 70%,which provides a new idea for improving the positioning accuracy of the visual system.

Key words: binocular vision;error compensation;BP neural network;prediction;error analysis

双目立体视觉是计算机视觉研究领域最活跃的分支之一,它由两个摄像头组成,从不同角度对同一物体进行拍摄,然后根据所得图像重建物体的三维位置。其广泛应用于机器人导航,工业测量,医学图像分析等领域[1],因此视觉系统的定位精度研究有着非常重要的意义。

目前,关于双目视觉系统定位精度的研究很多。文献[2]系统地分析了相机标定参数对于双目立体视觉系统精度的影响,并通过仿真系统探讨了失真参数误差和相机内外参数误差对系统重建精度的影响。文献[3-6]系统的分析了结构参数对测量精度的影响,并给出在不同结构参数下的仿真结果,从中得到误差较小时结构参数的最佳范围,对双目视觉系统的设计起到指导性作用。文献[7]引入互信息理论并结合多分辨率技术实现亚像素级点匹配,将视差精度提高到0.01像素。

但这些研究大多为分析双目视觉系统测量误差的影响因素,鲜有测量误差补偿方面的研究。文献[8]在双目视觉系统标定后,分析深度误差和视场方向以及距离之间的关系,获得校正的误差曲线,对测量结果进行补偿,提高测量精度。文献[9-10]建立了双经纬仪的测量误差模型,并通过仿真实验证明将有优化权重的神经网络应用于误差补偿上的可行性。

首先分析了双目立体视觉系统定位精度的影响因素,提出用神经网络学习的方法预测视觉系统的测量误差,对测量结果进行补偿,实验表明,补偿后的测量结果的精度得到了明显提高。

1   平行双目视觉系统的误差分析

1.1   平行双目视觉系统的测量模型

双目立体视觉是基于视差原理,由多幅图像获取目标物的三维位置信息的方法。图1为平行双目立体视觉系统的测量原理图。由三角几何关系得到:

令视差d = (xl - xr),根据平行双目视觉系统测量模型可计算出P在双目视觉系统坐标系下的坐标(Xc,Yc,Zc)为:

其中B为相机的中心距。因此,只要左圖像上的任意一点只要能在右图像上找到对应的匹配点,就可以计算出该点的三维坐标。

1.2   平行双目视觉系统的误差分析

在实际应用中,对平行双目视觉系统测量精度有较大影响的主要是相机标定及立体匹配等方面[11]。

1.2.1   相机标定及误差分析

相机标定,是指建立相机的几何成像模型,描述了空间坐标系中的特征点同它在图像坐标系上的像点之间的几何关系,在计算机领域中,相机模型一般都采用针孔模型,如图2所示

相机标定的目的就是得到内参数矩阵及畸变向量,但在实际标定过程中,由于标定板本身的精度以及人为操作的原因,使建立的几何成像模型与实际相机模型有一定偏差,属于系统误差,一旦标定完成,这个偏差就是确定的,我们可以通过学习样本训练出一个确定的非线性模型来表示这种偏差关系。

1.2.2   量化误差及匹配误差分析

在平行双目视觉系统中,立体匹配是非常关键的一步,它对测量精度有着很大的影响,匹配过程中的误差主要来源于匹配算法与量化误差。量化误差是由于相机在采集图像时,需要将模拟信号转换为数字信号,在这个过程中就会产生量化误差。而不同的匹配算法各自的精度不一样,在匹配过程中,误差还与目标点的局部信息有关,假设立体匹配产生的误差为Δδ,那么目标的深度误差为:

2   BP神经网络算法

2.1   BP神经网络预测测量误差的可行性

由上述对平行双目视觉系统测量误差的分析可知,其主要影响因素有标定误差以及匹配误差。在相机标定过程中,几何成像模型与实际模型的偏差是固定值,属于系统误差,而匹配过程中产生的误差属于随机误差,无法准确预测,但是在匹配算法合理的情况下,这个误差值在一个可接受的范围内波动。因此,视觉系统的测量误差模型如图3所示。

从图3可以看出,如果把空间点测量值作为输入,测量误差作为输出,那么它们之间的关系可以用一个非线性模型表示,而BP神经网络可以逼近任意的非线性映射关系,具有全局逼近的特性以及较好的泛化能力,因此选用BP神经网络建立测量误差的预测模型。

3.2   BP神经网络算法的改进

BP神经网络的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。其流程图如图4所示。

但是标准的最速下降法在实际应用中往往有收敛速度慢和容易陷入局部极小值的缺点。针对标准BP算法的不足,本文采用动量BP算法和自适应学习速率法来解决这些问题。

动量BP法是在标准BP算法的权值更新阶段引入动量因子α(0<α<1),使权值修正值具有一定惯性:

式中,η为学习速率,n为当前训练次数,α为动量因子。权值的更新方向与幅度不但与本次计算所得的梯度有关,还与上一次更新的方向与幅度有关,使权值的更新具有了一定的抗震荡能力和加快收敛的能力。

自适应学习速率法是通过观察误差的增减来判断的。当误差以减小的方式趋于目标时,说明修正方向是正确的,可以增加学习率;当误差增加超过一定范围时,说明前一步修正进行得不正确,应减小步长,并撤销前一步修正过程。学习率的增减通过乘以一个增量/减量因子实现:

η(n + 1)=1.05η(n) e(n+1) < e(n)0.7η(n)   e(n+1) > 1.03e(n)η(n)        e(n) < e(n+1) < 1.03e(n)  (5)

3    平行双目视觉系统测量误差的神经网络

模型

3.1   BP神经网络结构设计

在前述分析的基础上,本文利用3层神经网络来建立平行双目视觉测量系统的误差预测模型,选取特征点在测量系统下的三维坐标作为预测模型的输入,其在三个方向上的误差值作为输出,因此输入输出层的节点数都为3,隐含层神经元节点数取为5,平行双目视觉系统误差预测的神经网络结构如图5所示。

4.2   学习样本数据

选用Zed摄像头作为平行双目视觉系统的测量工具,测量不同位置处棋盘角点的空间坐标,如图6所示。

目标点在Zed相机中的三维坐标作为网络模型的输入,对应的测量误差作为输出。本次实验将采集得到的500次试验结果建立学习样本,其中最后160次试验数据作为检验样本不参加学习。部分试验数据如表1所示.

3.3   学习样本训练

选用改进的BP神经网络算法对学习样本进行网络训练,预测模型的实现过程如下:

将学习样本数据归一化后输入网络,设定网络隐含层和输出层的激励函数都为tansig函数,训练最大迭代次数为10000次,期望误差为0.001,学习速率为0.01,动量系数为0.9。选取样本数据中1~340号作为学习样本进行网络训练,341~500号数据用于验证网络模型预测结果的正确性。

采用批训练,经过8936次学习建立神经网络模型,预测特征点在测量系统中的测量误差,对测量结果进行补偿,得到一个新的结果作测量数据。图7显示了学习样本中原始数据与补偿后测量结果的误差的对比。

从图7可以看出,在Y方向上,原始误差很明显随着特征点的位置区域发生变化,包含了系统误差以及随机误差,与我们对双目视觉系统的误差分析相吻合。经过误差补偿后,X和Y方向上的测量误差都在2 mm内,Z方向上的测量误差也基本在5 mm内,这说明,针对视觉系统的测量误差预测模型很好的表达了原始测量值与测量误差之间的非线性模型。

3.4   结果分析

为了验证BP神经网络模型预测测量误差的可行性,我们将验证数据作为样本,进行误差预测,并补偿原始测量值,作为最终测量结果,圖8显示了原始测量值与补偿后测量结果的误差对比。

从图8可以看出,数据样本的测量结果经过补偿后其精度得到了很大提高,X与Y方向上的误差在2 mm以内,Z方向上的误差也在5 mm范围内,并且整个测量数据的误差波动也呈现下降趋势。表2显示了原始数据与补偿后数据的误差统计结果,可以发现,经过补偿后,测量结果在三个方向上的误差都减少了70%左右,X和Y方向上的平均误差更是在1 mm内,表示误差波动的均方差也缩小了一半,实验结果表明,基于BP神经网络的误差补偿思想在提高视觉系统测量精度上是可行的。

猜你喜欢

误差分析BP神经网络预测
选修2—2期中考试预测卷(B卷)
选修2—2期中考试预测卷(A卷)
气压高度计的测量误差分析及修正方法
基于“比值比较法”确定最佳实验方案的研究
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 
电学计量的误差分析及不确定度理论探究分析
BP神经网络算法在数值预报产品释用中的应用
《福彩3D中奖公式》:提前一月预测号码的惊人技巧!
预测高考