改进基本矩阵计算和优化的多摄像机并行标定算法文档资料.docx
- 文档编号:386768
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:6
- 大小:15.79KB
改进基本矩阵计算和优化的多摄像机并行标定算法文档资料.docx
《改进基本矩阵计算和优化的多摄像机并行标定算法文档资料.docx》由会员分享,可在线阅读,更多相关《改进基本矩阵计算和优化的多摄像机并行标定算法文档资料.docx(6页珍藏版)》请在冰豆网上搜索。
改进基本矩阵计算和优化的多摄像机并行标定算法文档资料
改进基本矩阵计算和优化的多摄像机并行标定算法
0引言
随着摄像机制造成本的下降,多摄像机系统已经成为目标跟踪及三维重构等领域的发展趋势。
多摄像机系统在机器人导航、人体动作捕获、导弹定位和无人机等领域广泛应用。
早期多摄像机系统由于受到硬件限制,通常由3~10个摄像机组成[1]。
近年来,大规模集成电路迅速发展,多摄像机系统中摄像机的数目也急剧增加。
如斯坦福并行128个摄像机组成的大型摄像机阵列[2],瑞士的360度环绕式多摄像机系统[3]。
在大量摄像机组成的多摄像机系统中,传统的摄像机标定技术不再适用[4]。
一方面,传统摄像机标定方法针对单个摄像机标定,在多摄像机系统中,如果使用传统标定法对每个摄像机进行单独标定,那么整个标定过程将变得十分繁琐和耗时;另一方面,多摄像机系统着重整体优势,传统的摄像机标定技术研究单个摄像机的性能而忽视整体性能。
多摄像机标定技术成为现在摄像机标定的研究热点[5]。
摄像机标定的方法依据标定物的维数分为四类:
三维立方体标定法、二维平面标定法、一维直线标定法和自标定。
由于存在自身的遮挡,三维立方体标定法和二维平面标定法不适用于多摄像机系统标定。
一维标定法采用已知彼此距离且共线的标记点组成。
一维标定物具有制作简单,而且不会被自身遮挡的优势,已经成为多摄像机系统标定的主要手段[6]。
Zhang[7]最早提出一维标定法,但是真正将一维标定法应用于多摄像机系统是deFrance等[8]。
在国内,吴朝福[9]提出一维标定物做任意刚体运动,标定多摄像机系统的内外参数的方法;王涛等[10]研究表明一维标定法可以获得同二维平面标定法相同的精度。
自标定是基于绝对二次曲线或者对偶绝对二次曲线,理论不成熟,现在还处于研究阶段。
就目前而言,自标定理论还没有应用于多摄像机系统的标定中[3]。
多摄像机系统在工程中被广泛应用,多摄像机系统标定的理论成为机器视觉的研究热点。
但是现在多摄像机系统标定基本都集中在摄像机标定的精度问题上,很少关注标定的时间复杂度。
相比于单摄像机标定,多摄像机系统标定的时间是一个不可忽视的问题。
由32个摄像机组成的多摄像系统,整个标定过程需要消耗60~90min。
目前多摄像机系统标定都是串行的标定算法,这必然使得标定时间会随摄像机数目的增加而递增。
一旦多摄像机系统中摄像机数目过多,标定不可能在预定的时间内完成。
近年来,已经有学者开始对摄像机的并行标定算法进行探索和研究。
国内,熊九龙等[11]结合摄像机成像模型与神经网络技术提出了摄像机标定的并行算法,通过将三维世界坐标分成三个独立分量分别处理实现并行处理;李超等[12]采用GPU技术加快标定所需的图像特征点的计算,实现了摄像机的实时标定。
但是,这些算法主要针对单个摄像机而设计,并行化的思路也主要是简单对数据分组处理来实现。
在多摄像机系统中随着摄像机数目的增多,传统单摄像机标定算法是低效的;并且传统算法考虑的是单个摄像机的精度,而不是系统整体的精度。
国外,现有的摄像机并行标定技术主要针对摄像机的自标定。
自标定算法对于噪声比较敏感,计算复杂度高,很少应用于多摄像机系统。
本文针对多摄像机系统的标定算法,以系统整体性能最优为目标,改进了多摄像机标定中基本矩阵的计算和迭代优化中增量的计算,降低了多摄像机标定算法的时间复杂度。
多摄像机系统标定分为两个阶段:
第一阶段,使用线性方法对摄像机标定参数进行初始值估计;第二阶段,利用迭代法对线性算法的结果进行优化。
多摄像机系统的标定,首先需要对摄像机进行两两分组,通过基于随机抽样一致性(RANdomSAmpleConsensus,RANSAC)算法求解每组对应的基本矩阵和极点坐标。
基本矩阵的计算是整个计算过程中最复杂的部分,串行基于RANSAC算法基本矩阵的计算效率低。
因此,改进基本矩阵的计算是提高线性标定算法的有效手段。
根据苗青等[13]提出的并行改良随机抽样一致性思想,结合八点法的求解过程,提出计算基本矩阵的并行算法。
求得基本矩阵和极点坐标后,利用Kruppa方程计算出摄像机焦距,再联合内参矩阵和基本矩阵求解本质矩阵;对本质矩阵进行分解,即得到摄像机的旋转矩阵和平移向量。
在得到所有摄像机参数的初始值后,以第一个摄像机坐标为世界坐标,统一其他摄像机的坐标系。
第二步,使用迭代算法求解欧氏重构下极大似然解,在摄像机标定中常使用捆绑调整方法。
捆绑调整方法本质是一种基于梯度方向更新自变量值的迭代法,优化过程中自变量值的更新是关键步骤。
传统自变量更新是通过解大型线性方程组得到的,在多摄像机组标定中,这个线性方程至少上千维。
线性方程组的求解常采用高斯消元法,而高斯消元法的时间复杂度是矩阵维数的三次方,其计算时间会随维数的增加而急剧增加,因此,对大型线性方程进行降维将有效地减少运行时间。
根据优化过程中空间点相互独立的特点,结合多摄像机模型,对线性方程组进行合理的分块,分块后的方程不仅求解效率提高,并且容易实现并行化。
基本矩阵计算和优化过程的改进,使得标定算法的时间复杂度从O(n3)降为O(n)。
采用基于OpenMP的多核编程,其编程的实现相对简单,并且标定时间满足现实的要求。
实验数据表明:
相比于串行标定算法,并行标定算法在不降低标定精度的同时大幅度缩减了标定时间。
2.1基本矩阵并行算法
理论上基本矩阵的计算只需要8对独立的点坐标就可求解,但是实际标定过程中存在图像点错误匹配和图像坐标不精确等问题,导致基本矩阵的解误差大。
RANSAC算法能有效地消除错误点给模型参数带来的偏差,基于RANSAC算法的八点法成为了基本矩阵计算的经典方法。
RANSAC算法通过引入有效点和平均误差来评价模型参数的优劣。
首先必须设定一个阈值κ和最低平均误差率ε,将图像匹配点对代入极限约束方程,如在阈值κ范围内满足,则称为有效点;统计所有有效点的平均误差率,如小于最低平均误差率ε,则记录此时有效点数目,并将有效点最多时的解作为基本矩阵。
传统RANSAC算法具有很多局限性(样本多、模型复杂或者数据错误率高),计算效率十分低。
因为匹配算法总存在大量错误匹配情况,所以计算基本矩阵的样本含有较高的数据错误率。
基于RANSAC算法计算基本矩阵能避免错误匹配导致的误差。
但是,基于RANSAC算法的基本矩阵计算将变得十分复杂并且效率低,成为线性标定过程中最为耗时的部分。
根据基本矩阵计算原理,结合RANSAC基本过程,提出计算基本矩阵的并行RANSAC算法。
并行算法克服了传统算法弊端,当图像坐标样本数量大时有可观的效率优势。
并行RANSAC的基本矩阵计算主要分为如下三个步骤。
因为数据存在一定误差,所以式(7)需要转换成在约束条件rank(F)=2下的最小二乘解。
八点法的计算仅依赖于8个样本,而不依赖于总体样本,样本之间也相互独立,所以每个处理单元可以独立地计算基本矩阵。
3)用一致性集评估基本矩阵。
比较每个处理单元计算的基本矩阵的解。
首先将总样本代入式(5)中,计算有效点的个数以及有效点平均误差;接着比较有效点的平均误差是否小于给定的最小平均误差,若满足则保存有效点的个数;在满足给定的平均误差率的条件下,选择有效点个数最大的解作为本次并行计算基本矩阵的最佳解;如果最佳基本矩阵解的有效点个数比当前全局变量保存有效点的个数还要多,则用当前最佳有效点的个数更新全局变量保存点数及基本矩阵。
迭代的终止条件有两个:
1)有效点占总体样本比例超过给定的值,跳出循环,输出最佳基本矩阵;2)在规定的迭代次数内,还没得到最佳基本矩阵的解,则表明样本受到噪声严重污染,该总体样本集无法在给定的精度范围求解基本矩阵。
苗青等[13]的分析表明:
当模型计算过程仅依赖于样本,且抽样和检验相互不影响,则并发RANSAC算法过程和传统RANSAC算法等效。
本文基本矩阵计算模型过程中抽样和计算步骤仅涉及到抽取的样本,即选取出8个样本组成的子集,所以并行RANSAC算法计算基本矩阵和传统基本矩阵的计算是等效的。
根据如下两个约束条件可以排除3个理论解:
1)只有位于摄像机前面的物体才能投影到像平面。
在摄像机坐标系中,空间点的坐标Z值的分量必须大于零。
2)摄像机相互位置关系。
摄像机的平移分量应该和摄像机的摆放位置一致。
假设摄像机是从左摄像机到右摄像机,那么平移向量的x分量必须小于零。
比例因子确定:
分解得到平移向量和真实平移向量存在一个比例关系,需要根据真实场景中的尺度信息来确定。
将场景中的真实距离和三维重构的距离相比,即可得到比例因子。
3摄像机标定非线性优化
线性算法没有考虑到噪声的分布而且摄像机通过分组求解参数,忽视了多摄像机系统整体性。
因此,线性标定结果都需要进行非线性优化。
在计算机视觉中,进行非线性优化的常用方法是捆绑调整。
捆绑调整本质就是以所有摄像机参数和空间点为优化变量、以反投影误差最小为优化目的迭代方法。
自变量的更新是迭代法的一个关键步骤,通过解一个大型的线性方程组而得到。
目前,计算机常用的方法是高斯消元法。
通过将高阶稀疏矩阵转换成多个独立的低阶稠密矩阵,更有利于使用高斯消元法求解线性方程。
本文针对摄像机标定参数的优化特点,将自变量进行分块处理,能极大简化方程组形式,并给出了并行的优化算法。
多摄像机系统参数的优化时间复杂度主要由线性方程组决定,式(17)中系数矩阵的维数和多摄像机系统优化算法的时间复杂度密切相关。
多摄像机系统标定过程中,空间点的优化数目远大于摄像机的个数,即NG。
例如:
8个摄像机组成的多摄像机系统中,空间点数目取300~500。
迭代过程时间复杂度主要由解线性方程组决定。
传统的串行算法将多摄像机系统参数和全部空间点参数不加区分一起计算,矩阵的维数为O(7N+3G),高斯消元法的时间复杂度为矩阵维数的三次方,则串行算法的时间复杂度为O((7N+3G)3);并行算法将大型线性方程简化成摄像机参数线性方程和G个空间点矩阵方程组求解,参与运算矩阵的最大维数仅为O(N),因此,并行算法总时间为O(GN3),并且空间复杂度也仅O(GN2)。
相对于传统串行算法的多摄像机系统标定算法,在保证相同的精度时,能极大缩短标定所需要的时间。
4并行多摄像机标定算法的时间复杂度
并行的标定算标定分为4个步骤:
基本矩阵计算、内参矩阵计算、外参矩阵计算和摄像机优化。
求解基本矩阵是线性标定部分最为复杂的过程。
因为基本矩阵的精度直接影响后续计算,所以基本矩阵一般采用复杂的鲁棒性RANSAC算法来提高精度。
由于图像坐标提取和匹配存在数据量大及错误率高的现象,使得传统RANSAC算法计算效率低。
基本矩阵的计算和检验具有样本之间相互独立性,使得并行RANSAC算法基本矩阵计算能够充分发挥其性能。
根据苗青等[13]关于时间复杂度分析,在抽样、计算模型和检验参数互不影响的情况下,并行算法的时间复杂度为O(n)。
在假设摄像机的主点位置和宽高比后,根据式(10),即可算出焦距。
内参的矩阵求解仅涉及到少数几次的矩阵乘法和除法操作,在常数项的时间复杂度下即可以完成。
外参矩阵只需要一次奇异值分解后,再根据现实约束条件判断出真实解即可。
显然,内参矩阵和外参数矩阵计算时间复杂度都是常数项O
(1)。
多摄像机系统优化是标定的非线性部分。
样本数量直接决定优化的时间复杂度,由上一章分析可知,传统的优化算法是O(n3)。
为了提高精度和避免误差的影响,标定会选择大量的样本用于优化,这使得算法的时间复杂度急剧增大。
根据空间点位置相互独立,提出改进增量方程的算法,将大型线性方程组简化成G个独立小型线性方程组,每个小型方程组代表一个空间点的增量方程而且这些方程组具有相同的结构和运算,能够容易实现并行。
根据上节分析,因为摄像机个数远远小于空间点样本数目NG,所以并行算法的时间复杂度可以约简为O(G)。
总体上,相对于传统串行标定算法时间复杂度O(G3),并行标定算法时间复杂度减少为O(G)。
5实验分析
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 改进 基本 矩阵 计算 优化 摄像机 并行 标定 算法 文档 资料