无重叠视场的相机阵列优化标定方法与流程

文档序号:11387679阅读:1165来源:国知局

本发明涉及一种相机阵列标定方法,特别是涉及一种无重叠视场的相机阵列优化标定方法。



背景技术:

相机阵列通过利用不同视角的信息,以及更加广阔的视场范围,使其广泛应用于自动导航、三维重建、大型工件测量等工作中。如何精确求解多个相机之间的位置关系是后期工作的关键。

文献“d-calib:calibrationsoftwareformultiplecamerassystem[c].14thinternationalconferenceonimageanalysisandprocessing(iciap2007),2007:285-290.”公开了一种相机阵列标定方法。该方法将特制的标志物放置在所有相机的视场内,使得多个相机能够同时拍摄到标志物,已知标志物的真实位置,根据2d-3d对应关系求解所有相机参数。该方法依赖特定标志物,只能用于重叠视场的相机阵列标定,实用性较低。



技术实现要素:

为了克服现有相机阵列标定方法实用性差的不足,本发明提供一种无重叠视场的相机阵列优化标定方法。该方法将各相机采集的图像视为拍摄时刻的独立相机,采用增量式从运动恢复结构的方法对单一图像所代表的相机完成标定;通过图像编号将同一时刻各相机拍摄的图像进行聚类,得到多组候选相机子集;依据相机空间位置的判断以及候选相机子集平均重投影误差最小原则,筛选出最佳相机子集,从而完成相机阵列标定。该方法适用于无重叠视场的相机阵列标定,且无需附加标志物,实用性好。

本发明解决其技术问题所采用的技术方案是:一种无重叠视场的相机阵列优化标定方法,其特点是包括以下步骤:

步骤一、采用张氏标定法对相机内参标定。连续采集15幅图像,在每幅图像上进行角点检测,计算标定所用图像和棋盘格之间的单应变换h,利用棋盘格的几何关系,建立各视图图像中各角点的对应关系;棋盘格上的所有角点的空间坐标满足共面约束,假设其z坐标为0,对单应性进行计算:

其中,u,v为角点的像素坐标,x,y为角点在棋盘格上的空间坐标。

将单应变换h进行分解,得到:

h=sk[r1r2t](2)

其中,r1,r2,t为棋盘的位置姿态,s为标量系数,k为相机摄像头内参数矩阵。然后利用r1和r2的正交性求解k。

步骤二、搭建无重叠视场的相机阵列,保证多个相机之间的关系固定,将相机阵列安置在载台上,随其运动。改造相机快门,通过时间脉冲同步实现各相机在运动时能同时拍摄。载台运动轨迹包含环形,使得多个相机在不同时刻拍摄到同一静态场景。

步骤三、将各相机采集的图像视为拍摄时刻的独立相机,采用增量式从运动恢复结构的方法对单一图像所代表的相机完成标定,即

将各相机采集的图像混入同一图像集,提取sift特征点并匹配;

根据匹配关系,选取两张图像a和b作为初始,使用8点算法计算基本矩阵f,对于图像a和图像b任意一组匹配的特征点x和x',满足x'fx=0,由基本矩阵与本质矩阵关系:

e=k'tfk(3)

计算出本质矩阵e,其中k't和k分别由相机内参标定步骤中得到。通过对e进行奇异值分解,得到相对姿态旋转矩阵r和平移向量t,以图像a建立世界坐标系,整理得投影矩阵p=k[i|0]以及p=k'[r|t]。

根据估计的相机参数,三角化计算两相机都可见的三维点的坐标。最后使用捆绑调整最小化重投影误差,优化两个相机参数和三维点坐标:

其中,n维的向量c和m维的向量x分别表示整个相机参数和三维点坐标的集合;wij为指示变量,wij=1代表三维点在相机中可见,wij=0代表三维点在相机中不可见;||qij-p(ci,xj)||2表示点i在图j上的重投影误差。

采用基于生长的思想不断添加新的图片,估计相应相机参数并三角化新加入图片中可见的三维点,每一轮均使用捆绑调整对整个系统进行优化。整个生长过程持续到没有新的图片加入时结束。

步骤四、各相机采集的图像以编号进行区分,编号规则为同一相机拍摄图像按时间先后顺序排列,不同相机间的图像编号前缀不同。通过图像编号,对同一时刻各相机拍摄的图像进行聚类,得到多组候选相机子集。

步骤五、对步骤四得到的多组候选相机子集,通过两步筛选,确定最佳相机子集,具体步骤如下:

依据相机空间位置进行判断,相机空间位置由xc=-r't计算得到。由于同组内各相机之间距离在各组中相对稳定,比较不同组中同一对相机之间距离,自适应阈值过滤掉差别较大的候选相机子集。

对剩余的候选相机子集分别统计本组内重投影误差,求和平均后:

最小者为最佳相机子集,其标定结果即为相机阵列标定结果。

本发明的有益效果是:该方法将各相机采集的图像视为拍摄时刻的独立相机,采用增量式从运动恢复结构的方法对单一图像所代表的相机完成标定;通过图像编号将同一时刻各相机拍摄的图像进行聚类,得到多组候选相机子集;依据相机空间位置的判断以及候选相机子集平均重投影误差最小原则,筛选出最佳相机子集,从而完成相机阵列标定。该方法适用于无重叠视场的相机阵列标定,且无需附加标志物,实用性好。

下面结合具体实施方式对本发明作详细说明。

具体实施方式

本发明无重叠视场的相机阵列优化标定方法具体步骤如下:

1、相机内参标定。

采用张氏标定法。连续采集15幅图像,在每幅图像上进行角点检测,计算标定所用图像和棋盘格之间的单应变换h,利用棋盘格的几何关系,建立各视图图像中各角点的对应关系;棋盘格上的所有角点的空间坐标满足共面约束,假设其z坐标为0,对单应性进行计算:

其中,u,v为角点的像素坐标,x,y为角点在棋盘格上的空间坐标。

将h进行分解,得到:

h=sk[r1r2t](2)

其中,r1,r2,t为棋盘的位置姿态,s为标量系数,k为相机摄像头内参数矩阵。然后利用r1和r2的正交性求解k。

2、数据采集。

搭建无重叠视场的相机阵列,保证多个相机之间的关系固定,将相机阵列安置在载台上,随其运动。改造相机快门,通过时间脉冲同步实现各相机在运动时可同时拍摄。载台运动轨迹包含环形,使得多个相机在不同时刻拍摄到同一静态场景。

3、独立相机标定。

将各相机采集的图像视为拍摄时刻的独立相机,采用增量式从运动恢复结构的方法对单一图像所代表的相机完成标定。具体步骤如下:

将各相机采集的图像混入同一图像集,提取sift特征点并匹配;

根据匹配关系,选取两张图像a和b作为初始,使用8点算法计算基本矩阵f,对于图像a和b任意一组匹配的特征点x和x',满足x'fx=0,由基本矩阵与本质矩阵关系:

e=k'tfk(3)

计算出本质矩阵e,其中k't和k分别由相机内参标定步骤中得到。通过对e进行奇异值分解,得到相对姿态旋转矩阵r和平移向量t,以图像a建立世界坐标系,整理得投影矩阵p=k[i|0]以及p=k'[r|t]。

根据估计的相机参数,三角化计算两相机都可见的三维点的坐标。最后使用捆绑调整最小化重投影误差,优化两个相机参数和三维点坐标:

其中n维的向量c和m维的向量x分别表示整个相机参数和三维点坐标的集合;wij为指示变量,wij=1代表三维点在相机中可见,wij=0代表三维点在相机中不可见;||qij-p(ci,xj)||2表示点i在图j上的重投影误差。

采用基于生长的思想不断添加新的图片,估计相应相机参数并三角化新加入图片中可见的三维点,每一轮均使用捆绑调整对整个系统进行优化。整个生长过程持续到没有新的图片可以加入时结束。

4、相机聚类。

各相机采集的图像以编号进行区分,编号规则为同一相机拍摄图像按时间先后顺序排列,不同相机间的图像编号前缀不同。通过图像编号,对同一时刻各相机拍摄的图像进行聚类,得到多组候选相机子集。

5、筛选最佳相机子集。

对上一步中得到的各组候选相机子集,通过两步筛选,确定最佳相机子集,具体步骤如下:

依据相机空间位置进行判断,相机空间位置由xc=-r't可计算得。由于同组内各相机之间距离在各组中相对稳定,比较不同组中同一对相机之间距离,自适应阈值过滤掉差别较大的候选相机子集。

对剩余的候选相机子集分别统计本组内重投影误差,求和平均后:

最小者为最佳相机子集,其标定结果即为相机阵列标定结果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1