机器视觉 增强现实分享 http://blog.sciencenet.cn/u/wanglin193

博文

鱼眼相机成像、校准和拼接(笔记) 精选

已有 24298 次阅读 2017-5-2 21:21 |个人分类:VR|系统分类:科研笔记| 鱼眼相机, 全景图拼接

理想相机模型的映射函数[1][2]:

对于单目相机而言,空间的3D点的成像过程可以表达为空间点P(物点)光心O的连线在成像面上的投影p(像点),机器视觉中的所有问题都是关于P,O,p三点的共线问题:已知p和O求P可以看成是重建;已知P和p求O可以看成是标定。如果成像面是平面,就是常规的小孔成像模型的线性相机。成像面也可以是球面,一个成像点p可以对应一条空间射线,只有两个自由度,可以用地球上的经度和维度表达,地球的中心在坐标(0,0,0),半径为rad。这样每个3D点都可以用球面二维角度坐标来表达。成像过程可以看成是一个降维过程。

如果相机透镜光心在(0,0,0)位置,则只能是线性投影,即空间直线投影成平面直线。对于相机成像模型(包括线性投影模型和广角/鱼眼相机模型),可以理解成空间3D点在球面上投影以后再次投影到真正的投影面上,从而使原来只能在球面上成像的点投影到一个平面上,这个平面可以是地球表面在北极点的切平面,而投影中心(光心)位置可在南北极的轴线上移动,如下图所示:


另一种理解方式是假设有一个理想的小孔成像的相机,光轴方向从南极指向北极,光心(相机的透镜中心)位置可以在北极(0,0,rad)到南极(0,0,-rad)之间的轴线上移动。


不论假设成像平面在哪里,相机光心在不同的位置可以对应不同的映射函数:

  1. 透射映射(Perspective):当相机的光心处在地心(0,0,0)位置,对应理想的小孔成像相机的模型。又称rectilinear,即空间中直线的成像也是直线。此时光心到成像面(相机的CCD)的距离为焦距f,空间点与光轴的夹角为θ,那么成像点在图像上对应的半径为R = f*tan(θ)。当f固定,θ增大到接近90度时,此时成像的入射光线与CCD平行,R为无穷大。就是说,常规的小孔成像模型的缺点: 1.处在赤道上的点无法在小孔相机的CCD上成像,2.理想小孔相机的FOV无法达到180度,3.越靠近赤道的物体以(tan(θ)-tan(θ+dθ))/dθ的比例迅速增大,导致变形严重。

  2. 等距映射(Equidistant): R = fθ,成像点的位置R与入射角成正比,比例系数为f。与透射映射相比,解决了tan(90)为无穷大的问题。2D图像上θ对应的等高线为半径等比例变化的同心圆,最大的FOV可以达到360度,这是最简单的一种鱼眼模型。

  3. 等立体角投影(Equisolid angle): R = 2fsin(θ/2)。这个是比较常用的模型。

  4. 正交投影(Orthographic): R = fsin(θ), 与透射映射不同,不会产生近大远小的透视效果。2D图像上θ对应的等高线从0到90度越来越密。最大的FOV是180度。

  5. 球极投影(Stereographic): 是一种将圆球面投影至平面的映射,在几何学里也称共型映射conformal mapping,是一种保角映射。此时相机的光心移到南极的位置,光轴朝向北极,所以有R = 2ftan(θ/2)。最大的FOV可以接近360度。



另外,360度VR应用使用的等距圆柱投影(equirectangular),是在垂直方向上采用等距投影,水平方向采用圆柱投影。用一个圆柱形的圆筒把像球面给包了起来。地球仪到世界地图的映射就是典型的等距圆柱投影。

鱼眼图像的画幅

1.Circular (hemispherical) fisheye images:整个半球投影到圆内。水平垂直视角皆为180度。画幅为圆的外接正方形。

2.Full-frame fisheye images:画幅为圆的内接矩形,对角线FOV为180度。水平垂直视角则小于180度。

广角和鱼眼图像校准: 实际相机镜头的加工无法严格按照上面介绍的映射模型精确实现,所有一般用θ的多项式来近似R函数。如文献[4]中的形式: R = fθ(1 + k1θ + k2θ2 + k3θ3 + k44)。

所以对于鱼眼相机,需要标定的内参为焦距f,图像中光心位置Co和多项式映射函数的系数ki(OpenCV以及一般的文档中称为径向畸变参数),有的还会加上切向畸变参数pi等。引入过多的参数可能会导致优化求解过程陷入局部最小值,所以OpenCV文档中默认畸变参数(distortion coefficients) k1,k2,k3,k4

鱼眼图像拼接时的外部参数校准
多个鱼眼相机组成的全景视频采集设备,需要校准外参,即每个相机相对于第一个相机的空间关系(通常只有旋转矩阵R)。所有相机的内参和外参以及3D特征点要放在一起做平差(Bundle Adjustment),能量函数定义为空间点(如上面所述表达为360度VR球面上二维点)在各个相机图像上的2D投影误差。下图是6个GoPro广角相机拼接全景视频的示意。


参考:

[1].维基百科 Fisheye_lens
[2].鱼眼投影
[3].像曲面概念
[4].Calibration of fisheye camera systems and the reduction of chromatic aberration.pdf


本篇笔记中的图像均来自网络。




https://blog.sciencenet.cn/blog-465130-1052526.html

上一篇:基于HOG特征的SDM face alignment
下一篇:SLAM系统的滤波和优化方法笔记
收藏 IP: 58.247.171.*| 热度|

5 李学宽 黄永义 张珑 罗帆 bebop

该博文允许注册用户评论 请点击登录 评论 (5 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-23 17:19

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部