卢韶芳 费斌 张超 陈玄真
(吉林大学通信工程学院,长春 130025)
立体视觉的定位已成为这些年来视觉导航定位系统的研究热点之一,在寻求定位的同时,对定位的精度要求也不断提高,从某种程度上说,定位精度已成为视觉导航定位系统的关键,定位的精确与否将关系到整个工作的成败.所以,研究能够有效提高视觉导航系统定位精度的方法至关重要.
对于机器人辅助外科(robot assisted surgery,RAS)来说,立体视觉定位系统是机器人辅助微创手术系统的子系统,是手术导航系统的重要组成部分,其定位精度的要求非常之高,它直接关系到整个系统的精度以及计算机辅助手术的成败.对于传统误差补偿,系统数学模型较难建立,因此本文提出使用模糊推理和遗传算法改进神经网络方法[1-2]对误差进行预测,结果表明模糊推理和遗传算法误差补偿技术精度较高,具有较强的拟合能力.
1)硬件的误差
硬件引起的误差对于定位精度的影响非常大.考虑实验的条件,又分为定标工具误差、摄像机镜头畸变误差和透视误差[3].
对于定标工具误差,由于“两步法”标定是利用打印的标准模板,使用已知尺寸工具建立坐标系而实现的,因此标准模板、工具尺寸的误差直接影响着最终的结果.对于镜头畸变误差而言,根据几何光学成像理论,近轴区的成像被认为是理想成像,而实际光学系统的成像和近轴区的成像是有差异的,它们之间的差异即为像差.通常而言,当视场发生改变,畸变值随之改变,越接近视场的边缘,其畸变值越大.对于透视误差,在理想的摄像机安装情况下,摄像机光轴与检测平面垂直.当摄像机光轴与检测平面不垂直时,将会引入透视误差.
2)软件的误差
软件算法误差主要是包括标定算法、定位算法和图像处理算法引入的误差.
对于标定算法和定位算法的误差,由于摄像机摄取的图像存在多种畸变,使得摄像机坐标系与成像平面坐标系呈现复杂的非线性关系.在实验中为兼顾定位精度与系统实时性的要求,仅考虑主要畸变,并在此基础上建立摄像机成像模型,因此标定和定位算法本身会存在误差.对于图像处理算法引入的误差,由于图像采集卡采集的图像受环境光照和传感器等干扰的影响而存有噪声,虽然对其进行了图像处理等操作,但仍不可避免会存在一定的误差,且图像特征点提取算法也会引入一定程度的误差.
3)人为误差
在两步法标定方法中,需要使用已知尺寸精确工具接触标准模板上的三个点建立坐标系,为了得到空间点的标准坐标值,也需接触空间点,判断接触的过程中可能存在人为误差.
本文通过双目立体视觉定位实验,得到大量的空间点定位坐标,比照空间点实际世界坐标,得到空间点重建后的定位误差,然后分别对x,y,z方向进行误差修正.针对误差的规律和引起误差的原因,x,y方向的定位误差应用函数法就能进行修正且能达到很好的精度;而对于深度方向的误差应用传统的方法进行修正后的误差还比较大,所以本文主要研究z方向的误差补偿方法.实验的定标模板如图1所示.图中小圆直径2 mm,中心处3个大圆直径3 mm,相邻圆中心点间距4 mm,x,y方向总共是8×22=176个点.
图1 定标模板
根据定位实验结果,与空间点的标准世界坐标比较,统计出了空间点三维重建后的定位误差如表1所示.
表1 定位误差统计
图2为定标模板在0至70 mm移动,15组模板中心圆点的定位误差.
图2 定标模板圆点的定位误差
图3为定标模板在0至70 mm移动,15组模板右下点的定位误差.
图3 定标模板右下的定位误差
通过表1、图2和图3可知,靠近模板中心的标定误差相对较小,这是由于x方向和y方向的畸变相对值与径向半径的平方成正比,即在图像中心处畸变较小,在边缘处的畸变较大.随着高度的降低,误差越来越大,这是由于最初拍摄模板图像时,在z=70 mm焦距调节到最佳位置,移动定标模板后,图像质量下降所导致.
GA(genetic algorithm)是由美国John Holland教授1975年提出的,它是一类模拟生物界自然选择和自然遗传机制的随机化搜索算法,其内涵哲理乃是启迪于自然界生物从低级、简单、到高级、杂乃至漫长而绝妙的进化过程,是借鉴达尔文的物竞天演、优胜劣汰、适者生存的遗传选择和自然淘汰的生物进化过程的计算模型,其本质是一种求解问题的高效并行全局搜索方法.选择(selection)、交叉(crossover)和变异(mutation)是GA的3个主要操作操作数(operator),构成了所谓的遗传操作(genetic operation).GA求解问题所需的信息比传统优化方法要少得多,且容易求得全局最优解.其主要特点是群体搜索策略和群体中个体之间的信息交换,搜索不依赖于梯度信息.GA已广泛应用于许多领域,尤其适用于处理传统搜索方法难于解决的复杂性问题和非线性问题.
对于x,y方向的定位坐标,分别随机产生一组二进制位串种群,然后计算适应度值,评价网络的性能,接着再判断神经网络性能是否满足所需的精度,如果是的话则直接保存网络权值和阈值,学习过程结束.如果不是,通过选择、交叉和变异等遗传操作,产生下一代种群,形成下一代网络再计算适应度值,如此循环.
基于遗传算法的BP神经网络学习算法[4-5]的算法流程如图4所示.
图4 遗传算法学习神经网络流程图
模糊理论可从指定的系统输入/输出信号中,建立系统的输入/输出关系.这一输入/输出关系不像传统的经典数学建模具有确定的数学表达式,而是给出一定算法,这样从而避开了复杂的建模过程.模糊推理流程如图5所示.
首先设计了模糊控制系统;确定了模糊输入输出变量;结合隶属函数的选取原则比较选取了输入输出变量的隶属函数;而后依据立体视觉定位实验中获得的大量补偿点建立了控制系统的模糊规则;最后给出了模糊推理过程.
图5 模糊推理流程图
误差补偿模型可以用下式来表示:
式中,E表示测量的误差向量;U表示误差修正向量.
计算机辅助误差补偿通常采用数字式补偿,即补偿点的设立是非连续性的,因而其补偿模型可用离散形式表示为
式中,Ei表示目标补偿点的误差向量;Ui表示目标补偿点的误差修正向量;i表示各个补偿点.
模糊控制是一种基于规则的控制,它直接采用语言型控制规则,在设计中不需要建立被控对象精确的数学模型,因而模糊控制对那些数学模型难以获取,动态特性不易掌握或变化非常显著的对象非常适用.
图6为z=15 mm处未进行误差补偿前的曲面.
图6 z=15 min时误差修正前曲面
针对图6中的误差曲面设计隶属函数和控制规则,图7为使用模糊推理实现的误差补偿效果图.
图7 模糊控制误差补偿曲面
由图6可知,未补偿前z=15 mm处曲面较不平滑,且有很大的误差,最大误差在0.35 mm左右,由图7、图8可以看出,误差补偿后曲面相对较平滑,且补偿后最大误差控制在0.12 mm以内,补偿后的误差小了很多.
图8 模糊控制预测误差
图9~图11为使用遗传神经网络得出的实验结果,抽取其中132组用于训练资料,其余44组用于测试资料.
图9 z=15 mm时期望输出与预测输出仿真
图10 z=15 mm时预测误差
图11 z=15 mm时误差修正后曲面
由图9可知,预测的误差能够很好地拟合期望的误差.从图11中可以看出,预测的误差能够控制在0.08 mm以内.对比图8可知,遗传算法改进神经网络具有更好的误差补偿效果.对比图7和图11可以看出,使用遗传算法改进神经网络进行误差修正的曲面比使用模糊控制得到的误差曲面更平整和平滑.
本文先对定位系统中深度误差产生的原因和误差结果进行了分析,提出使用模糊推理和遗传算法改进人工神经网络的方法进行误差修正的方法.实验表明,当使用模糊控制进行误差修正后,实验结果得到了很大的改进.模糊控制是一种基于规则的控制,它直接采用语言型控制规则,在设计中不需要建立被控对象精确的数学模型,因而模糊控制对那些数学模型难以获取,动态特性不易掌握或变化非常显著的对象非常适用,但其模糊规则较难建立.
采用遗传算法改进人工神经网络,极大地提高网络的学习性能,遗传算法误差补偿技术精度最高,具有较强的拟合能力,进一步提高了神经网络的补偿效果.遗传算法能以较快的速度减小搜索空间范围,有很强的全局搜索能力;而BP算法则具有局部搜索效率高的特点,将两者结合起来,从而提高了算法的整体性能.
References)
[1]张宏韬,姜辉,杨建国.模糊神经网络理论在数控机床热误差补偿建模中的应用[J].上海交通大学学报,2009,43(12):1950-1952.Zhang Hongtao,Jiang Hui,Yang Jianguo.Application of fuzzy neural network theory in thermal error compensation modeling of nc machine tool[J].Journal of Shanghai Jiaotong University,2009,43(12):1950-1952.(in Chinese)
[2]陈希,付兴武,张兴元.BP神经网络在测距误差补偿中的应用[J].工矿自动化,2008,6(3):57-58.
[3]吕宏伟.机器人辅助微创手术视觉导航定位系统研究[D].长春:吉林大学通信工程学院,2008.
[4]Wang Wu,Zhang Yuanmin.Application of recursive predict error neural networks in mechanical propertise forecasting[C]//2009 International Joint Conference on Artificial Intelligence.Pasadena,California,USA,2009:132-135.
[5]Wang Gang,Zhang Weihong.Prediction of diameter error of workpiece in turning process using neural Network[C]//2009 International Conference on Intelligent Human Machine Systems and Cybernetics.Hangzhou,China,2009:95-98.