当前位置:首页 >> 机械/仪表 >>

一种基于球面投影模型的快速鱼眼图像校正方法


一种基于球面投影模型的快速鱼眼图像校正方法 *
马程 卢荣胜 操虹
(合肥工业大学 仪器科学与光电工程学院 ,安徽合肥 230009) 摘要:利用鱼眼镜头摄像机可以实现大视场的图像采集,但是鱼眼镜头会引起非常严重的图像畸变,因此 在有些场合下必须对畸变图像进行校正。本文在研究球面投影模型的基础上提出了一种快速准确的校正方 法。该文首先分析了鱼眼镜头的各种畸变类

型,将总畸变分解成径向畸变和切向畸变,然后使用球面透视 投影约束得到径向和切向变形参数,实现了平面坐标向球面坐标的转换,最后将球面坐标按经纬映射展开 得到校正结果图。实验表明,该方法简单快速,校正结果比较理想。 关键词:鱼眼镜头; 畸变校正; 球面坐标; 经纬映射 中图法分类号:TP391.4

Fast Fisheye Distortion Correction Using Spherical Projection Model
MA Cheng , LU Rong-sheng,CAO Hong
(School of Instrument Science & Opto-electronics Engineering,Hefei university of technology, Hefei 230009,China) Abstract: To take a satisfied picture of a wide view of a scene with an off-the-shelf fisheye lens, the image deformation caused by the lens distortions may not be ignored. In this paper, an effective correction algorithm for fisheye distortion based on an improved spherical projection model will be presented. The implementation is carried out by firstly computing the radial and tangential distortion parameters under the constriction of spherical perspective projection. Then all the planar coordinates are transformed into spherical coordinates, which are lastly projected into a less distortion image plane using latitude-longitude projection. The experimental results show that the algorithm depicted in this paper is very effective and timesaving. Keywords: fisheye lens; distortion correction; spherical coordinates; latitude-longitude projection

1 引 言
鱼眼镜头由于成像视场大,在视频监控、虚拟现实、立体视觉等领域有着广泛的应用, 但用低成本鱼眼镜头成像常带来非常严重的图像变形。 因此, 在许多大视场高品质成像场合, 需要对鱼眼镜头拍摄的畸变图像进行快速而准确的校正。 目前常用的鱼眼镜头校正方法大致有以下几种: 球面坐标定位展开法、 多项式坐标变换 法、立体视觉标定法、球面投影模型校正法和抛物面成像模型校正法。球面坐标定位展开法 只适合粗略的校正,最终处理的效果不够理想 ;多项式坐标变换法及其改进算法运算量过 大导致处理速度比较慢[2][3];立体视觉标定法精度比较高,但是该算法过程复杂[4],双目视 觉传感器的 2 个镜头即使同一型号同一批次,但由于镜头的做工较粗糙,2 个鱼眼镜头的内 外参数也都不一样而导致校正结果有偏差,另外该算法校正后的图像会遗失部分边缘信息; 球面投影模型法是一种简单有效的方法, 将鱼眼镜头成像面看成一个球面求解校正参数, 但 [5,6] 该算法需投影到半立方体才能得到满意的效果,如果投影到平面,边缘失真会很严重 ; 抛物面成像模型法是球面投影模型的改进方法,将成像面看成一个抛物面,该算法比球面投
*资助项目:NSFC 基金 (50875074),APNSF 基金(070414149),HFUT 创新 群体基金(2007HGCX0040).
[1]

影模型要复杂很多,主要用于恢复三维场景,对二维图像的校正结果改进不是很大 。 如何将一幅鱼眼图像完整快速地校正到平面图像是鱼眼校正的难点和重点, 以往的校正 算法没有兼顾到速度、 校正结果和图像的完整性等特性的有机统一, 本文提出一种基于球面 投影模型的快速鱼眼图像校正方法能较好解决上述问题。 该方法首先根据球面透视模型求出 镜头校正参数,参数校正好之后,将鱼眼图像上每一点坐标转换成其对应的球面坐标。根据 球面经纬映射法,将经度映射为水平坐标,纬度映射成垂直坐标。实验证明该算法具有以下 优点:适合任何视角鱼眼镜头的校正,快速,精度高,校正结果为单幅图像,未遗失边缘图 像信息。

[7]

2 鱼眼镜头畸变分析
2.1 鱼眼镜头畸变的种类
鱼眼镜头畸变主要是由镜头自身引起的光学变形、 镜头光学系统存在加工误差和装配误 差, 导致物点在像面上的实际成像点与理想像点之间存在偏离而产生的。 主要的畸变类型有 以下几种: (1) 鱼眼成像原理误差 众所周知,理想镜头的成像为薄棱镜成像,其成像规则为:空间一条直线在像平面上成 像为一条直线。但鱼眼镜头等价于半球体成像,如图 1 所示。半球体镜头的厚度是无法忽略 的,根据光学成像特点,空间直线 AB 经过透镜成像后为一曲线 A ’B’。这样不可避免地产 生成像原理误差。对于鱼眼镜头来说,这种成像原理误差主要导致了图像发生桶形畸变,如 图 2 所示。种畸变会引起图像点沿径向移动,离中心点越远,变形量越大。

B’ A B
图 1 鱼眼镜头成像 图 2 径向桶形畸变

f

A’

(2) 制造与安装产生的畸变误差 镜头与摄像机的组装时,成像面与光轴可能不完全垂直;镜头光学系统在组装时,多个 光学镜头的光轴不可能完全共线,各个镜头的光学中心发生偏移等,从而引起偏心畸变。如 图 3 所示, 向为其它镜头组的光轴方向, z 该镜头在安装是与光轴不垂直, 且发生偏心现象, 这些都会发生成像畸变误差。

y x P z

图 3 制造与安装产生的畸变误差

图 4 总畸变合成与分解

2.2 鱼眼镜头畸变的建模
从以上的分析可以看出, 虽然引起鱼眼镜头畸变的原因很多, 但可以分解为径向畸变和 切向畸变的矢量和,如图 4 所示。他们可以在极坐标系 ( r , ? ) 下,用式(1)表示的 r 和 ? 的 畸变模型多项式来近似描述。

?r ' ? k1r ? k2 r 2 ? k3r 3 ? ... ? ? 2 3 ?? ' ? s1? ? s2? ? s3? ? ... ?

(1)

式 中 (r ?, ? ?) 和 ( r , ? ) 分 别 表示 理想 点 与实 际 成像 点在 极 坐标 系下 的 位置 , (k i , si ) ,

i ? 1,2,3,? ,分别表示径向与切向畸变系数。在径向畸变与切向畸变的校正时,多项式的
次数可以根据实际需要来选取,一般选择 3 阶左右就可以得到较好的校正精度。

3 鱼眼畸变参数的求取
图 5 为球面透视投影模型原理图,AB 为空间一条直线,如果是理想透视成像,根据小 孔成像原理可知成像过程完全是线性的,成的像仍然为直线 a’b’。但由于存在径向畸变和切 向畸变,实际成的像为曲线 ab,这也是我们看到鱼眼图像为什么会严重变形的原因。
A

Z
B

A?

B?

Y
O Y

f

X

x
b?

o
a?

b

a

y

图 5 鱼眼成像示意图

整个成像的过程是复杂的,非线性的,为了简化成像过程,以 A 点为例将成像过程分 [6, 8, 9] 解成两步来解释 :第一步,连接 A 与投影中心 O 的直线与单位球面相交于 A ’,即 A 球 面映射到 A ’,A ’称为 A 的单位球面透视投影点;第二步,A ’经过球面透镜非线性映射成像 到 a? ,用公式(2)表示: (2) a ? D( A ') D 称为鱼眼变形模型。D 是可逆的,因为每个球面点对应唯一的图像点,每个图像点也对应 唯一的球面点。因此有

A ' ? D?1 (a)
D 称为鱼眼变形校正模型。
?1 ?1

(3)

校正鱼眼图像主要是求解鱼眼图像点到球面校正点之间的映射关系 D ,图 6 (a)中 ab 是空间一条直线所成的鱼眼图像,(b)中 A ’B’是其对应的单位球面透镜投影图像,它属于单 位球体某个大圆 c。公式(1)表示的是鱼眼镜头实际像点位置与理想像点位置的关系式,也可

以用来表示实际像点位置与球面投影之间的关系。 Y a

Z A’ B’ Y
c

r ?

b X

?'
O

?'

X

(a)

(b)
图 6 (a) 一幅鱼眼图像 (b)对应的球面投影图像

已知像点 b 的极坐标为 ( r , ? ) ,对应 B’点的球面坐标为 (? ', ? ') ,选取三次多项式对其 进行拟合,变换公式变为:

?? ' ? c1r ? c2 r 2 ? c3 r 3 ? ? ' 2 3 ?? ? a1? ? a2? ? a3? ?

(4)

由于图像平面极坐标的周期性,当 ? =0 时, ? ' =0;同理当 ? =2 ? 时,有 ? ' =2? ,所以 由此可见, a3 不是一个独立的参数。因此,我们只需校正 ?c1 , c2 , c3 , a1 , a2 ? 共 5 个畸变校正 参数。 如果 ab 上均匀选取 10 个点,经过公式(4)(5)可转换成球面上 10 个对应的球面点,这 10 个球面点理论上是在圆弧 A ’B’上的,但由于误差的关系应该分布在 A ’B’的周围。为此,我 们采用实际球面点到圆弧 A ’B’的球面距离的平方和最小求取上述 5 个参数。 为了提高精度,我们选取 10 条曲线,每条曲线均匀采集 10 个点,利用同样的方法计算 出这 100 个球面点到相应圆弧的球面距离。利用 Levenberg-Marquardt 方法对球面距离平方 和进行非线性优化。L-M 算法对初始值的选取有较高要求,初始值选的不恰当会导致迭代 算法错误收敛或不收敛,我们选取的初始值如下:c1 = ? / ? , c 2 = c3 =0; a1 =1,a2 =0。? 为鱼眼镜头的视场, ? 为鱼眼图像的宽度。 在实际拍摄过程中,尽量选取空间直线比较多的场景拍摄,如建筑物、靶标、桌子等都 是含有大量空间直线的物体。选取合适的场景能使校正结果更加准确可靠。

a3 ? (1 ? a1 ? 2? a2 ) / 4? 2

(5)

4 经纬映射展开
经过上节的介绍,我们已经求解出鱼眼图像点到球面校正点之间的映射关系 D ,下一 步本将对球面点投影即可得到校正图像。 但是由于鱼眼镜头的视场角太大, 如果对其进行平 面投影,随着角度的增加,边缘的拉伸越严重,超过 120°的地方已经严重失真。因此本文 在求出球面坐标后并不直接对其直接投影, 而是根据球面坐标求出经度和纬度, 再将其经纬 展开得到校正图像。具体方法如下: [10] 如图 7(a), 假设球面上任意一点 P, 它的经度展开为水平坐标, 纬度展开为垂直坐标 。 如果整个球面都展开, 那将是一张 2: 的矩形图, 1 半球面展开就是一张正方形图, 如图 7(b)。 经过上节的参数校正, 我们可以将鱼眼图像点 P ( r , ? ) 通过参数 ?c1 , c2 , c3 , a1 , a2 ? 转换成球面 坐标 (? ', ? ') ,因此图 7(b)中横坐标的值为 OP’与 z 轴夹角( arctan(tan?'cos? ')) ,相 等的点为同一经度的点;OP 与 y 轴夹角( arccos(sin?'sin? '))相等的点为同一纬度 的点。
?1

y

?

纬度

P z P’ P x
(a) 图 7 经纬展开原理图

P

o

O
(b)

?

经度

在实际展开经度的过程中,当角度比较大时正切值很大,余弦值很小,两者的乘积误差 会比较大,导致边缘的处理不够理想。因此我们可以用一种简单、近似的方法代替。 如图 8 所示,相同经度的不同像素在展开后的图像中具有相同的列坐标值 。图中 h 和 k 点应该具有相同的 x 坐标。根据图像间的比例关系可以由 h 点求得 k 点的 x 坐标。
[1]

xk xh x ? ? xk ? h ? R 2 ? yi 2 dx R R
y
90

(6)

r
90

h
O 90

R

x

dx

k

yi

90

图 8 经度展开图

公式(6)是在 180°的情况下使用的,因此需将 150°转换成 180°才能使用该公式。转 换过程很简单,只需将原来的圆同心扩大。已知原图像半径为 r , R ? r / sin(75o ) 。 前面的过程是将图像象剥洋葱一样层层剥开, 下一步是确定属于同一经度的各个点的纬 度。已知球面坐标 (? ', ? ') ,x 轴上方的称为北纬,下方的称为南纬,纬度计算公式: (7) l ? ? / 2 ? arccos(sin ? 'sin ? ') 以图 8 中 h 和 k 点为例说明。h 点中 ? ' ? ? ,根据公式(7)计算纬度为 0,地理意义 上就是说明 x 轴对应的球面点在赤道上, 因此 y 轴坐标为 0; 点坐标 (? ', ? ') , k 根据公式 (7) 计算 k 点纬度为南纬 l ,对应的距离 y ' ? l ?R 。由于我们选取的模型为映射模型,因此实际 的点应该是相对于原点的对称点,即 y ? yi ? yi ? y ' ? 2 ? yi ? y ' 。 对图像中每个像素通过上述计算,就可以将鱼眼图像恢复还原。

5 实验结果
本文使用的是 MINTRON 2360CA 黑白摄像机,镜头是 AVENIR SSE0217NI 鱼眼镜头。 该镜头参数上标注的视场角为 180°,但经过实际计算后视场角大约是 150°。处理图像时 所用计算机配置:中央处理器 Intel Pentium 3.0GHz;内存 1GB;操作系统 windows XP。

图 9(a)为待校正鱼眼图片: 靶标与显示器成直角摆放在近景处, 远景是房间的一个角落; 图 9(b)为球面坐标校正法校正后的结果,可以看出效果较差且缺乏立体感;图 9(c)(e)是用球 面透视投影约束选取五次多项式校正后的平面投影图像,图 9(c)是从原图取出视场角约为 120°区域(白线以内)的校正图,图 9(e)是整幅图像的校正图,从两幅图可以看出,在 120° 范围以内校正效果良好,但超过 120°后随着视场的增大,边缘被拉伸的越大,因此对球面 直接投影无法实现单幅图像的恢复; 9(d)为采用本文方法校正后的结果, 图 我们可以看出校 正后的图像没有遗失任何信息; 对物体自身和边缘还原效果好; 恢复了近距离与大范围的立 体感知。 校正后的图像边缘有黑色阴影是因为该处获取的图像信息没有其余地方多, 读者可 以根据实际情况予以取舍。

(a)

(b)

(c)

(d)

(e)
图 9 鱼眼图像校正结果比较图

我们对 2 种方法处理的速度也进行了对比,原图像大小为 576×658,2 种算法全部由 Matlab 程序编写,单独处理一幅图像根据球面透视投影约束采用五阶多项式校正后的平面 投影法所用的时 6.4s,本文所用的时间为 4.1s。 本文仅采用三阶拟合, 相比更高阶拟合计算量 减少了许多,但校正结果也是比较理想的。

6 小 结
对一幅待校正鱼眼图片, 首先利用场景中直线的鱼眼投影曲线, 使用球面透视投影约束, 得到鱼眼镜头的径向和切向畸变系数, 从而实现了鱼眼镜头的校正; 然后将图像上各个像素 对应的球面点按经纬映射法展开。 实验表明, 该方法在简单快速的情况下还能取得比较满意 的校正结果,同时适用于任何视场鱼眼镜头的校正,因此该方法具有较高的实用价值。 参考文献 [1] Mundhenk T N, Rivett M J. Techniques for fisheye lens calibration using a minimal number of measurements[C]. Proc. of SPIE Intelligent Robotics and Computer Vis ion Conference, 2000(11):8-9. [2] Nomura Y Sagara M, Naruse H. Simple calibration algorithm for high-distortion-lens , camara[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992,14(11): 1095-1099. [3] Shah S, Aggarwal J K. A simple calibration procedure for fish-eye (high distortion) lens camera[C]. Proceedings of the IEEE International Conference on Robotics and Automation, 1994,4:3422-3427. [4] Jia Y un-de, Lu Hong-jing, Liu Wan-chun. Fisheye lens camera stereo vision for dense depth map recovery[J]. Chinese Journal of Computers, 2000, 23 (12):1332-1336.[贾云得,吕宏静,刘 万春.鱼眼变形立体图像恢复稠密深度图的方法[J].计算机学报,2000, 23 (12):1332-1336.] [5] Xiong Y Turkowski K. Creating image-based VR using a self-calibrating fisheye lens[C]. , Proceedings of 1997 Conference on Computer Vision and Pattern Recognition,1997:237-243. [6] Ying Xiang-hua, Hu Zhan-yi. Fisheye lenses distortion correction using spherical perspective projection constraint[J]. Chinese Journal of Computers, 2003, 26(12):1702-1708.[英向华,胡占 义 . 一 种 基 于 球 面 透 视 投 影 约 束 的 鱼 眼 镜 头 校 正 方 法 [J]. 计 算 机 学 报 ,2003, 26(12):1702-1708.] [7] Zhang Cheng, Wang Jia-ye. 3D model reconstruction from fisheye images and virtual

walk-through[J]. Journal of Computer-aided Design & Computer Graphics, 2004, 16(1):79-84. [张诚,汪嘉业.对鱼眼照片场景实现三维重建和虚拟游览[J].计算机辅助设计与图形学学 报,2004, 16(1):79-84.] [8] Devernay F, Faugeras O. Straight lines have to be straight: automatic calibration and removal of distortion from scenes of structured environments. Machine vision and Applications, 2001,13(1):14-24. [9] Kannala J, Brandt S S. A generic camera model and calibration method for conventional, wide-angel and fish-eye lenses[J]. IEEE Trans. of Pattern Analysis and Machine Intelligence, 2006, 28(8):1335-1340. [10] Wang Jun-jie, Xu Xiao-gang, Hu Yun-fa, et al Mini-Micro System[J], 2004, 25(2):287-290. [王俊杰,徐小刚,胡运发等.鱼眼投影在虚拟实景中的应用研究[J].小型微型计算机系统, 2004, 25(2):287-290.] 作者简介: 马程,男,1983 年生。2005 年获合肥工业大学学士学位,现为合肥工业大学硕士研究生。 主要研究方向为机器视觉与图像处理。 联系方式:macheng019@163.com 13615601480 合肥工业大学南区 242 信箱 230009 卢荣胜,男,1963 年生,博士,合肥工业大学教授,博士生导师,主要研究方向为机器视 觉、自动光学检测、图像处理、精密测试技术及仪器。 联系方式:rslu@hfut.edu.cn 13605511011 操虹,男,1985 年生,合肥工业大学硕士研究生,主要研究方向为嵌入式系统与信号处理


相关文章:
一种基于球面投影模型的快速鱼眼图像校正方法_马程-revised
一种基于球面投影模型的快速鱼眼图像校正方法 * 马程 卢荣胜 操虹(合肥工业大学 仪器科学与光电工程学院 ,安徽合肥 230009) 摘要:利用鱼眼镜头摄像机可以实现大视...
基于球面坐标定位算法的鱼眼图像校正方法
实验表明,与传统的球面投影模型相比, 球面坐标定位模型运行速度更快、图像校正...球面坐标定位法又称为经度映射法,是一种比较典型 快速的二维鱼眼图像校正算法。...
基于椭球面模型的鱼眼图像校正方法
目前,鱼眼校正算法有高次多项式拟合校正法[3]、球面坐标定位 法[4]、球面透视投影约束法[56]、抛物面投影校正[78]、基于渐变方程和经纬映射模型校正 [9]及基于...
基于定位检索的鱼眼图像校正处理
本文提出了一种基于定位检索 的鱼眼图像校正处理方法...根据鱼眼镜头成像原理中的球面坐标模型(x-x0)2+(...l 为投影成像点 q 与投影坐 标原点 o 的距离,r...
基于定位检索的鱼眼图像校正处理
若将空间上所有的景物点都按上述方法投影到 OXY 平面,所获得图像即畸变鱼眼 图像。 2 基于定位检索的鱼眼图像校正算法 根据鱼眼镜头成像原理中的球面坐标模型(...
鱼眼图像国内外的研究
在对国外的资料收集的基础上, 可以从两种方式来总结鱼眼图像校正算法。 第一种从鱼眼镜头成像的两种投影模型---球面投影模型和抛物面投影模型来 分析: (1) 球面投...
鱼眼镜头校正摘要
研究基于球面透视投影约束的鱼眼镜头校正方法.球面透视投影约束是指空间直线的球面...为了实现鱼眼镜头图像的校正,提出了一种基于几何成像模型的鱼眼镜头校正算法和技术...
鱼眼镜头的发展概况及应用
1-6 鱼眼镜头系统模拟图 模型中鱼眼摄像成像...(球面投影型及抛物面投影模型)进行分析 球面投影型是...可控畸变鱼眼镜头标定和成像校正方法研究;硕士毕业论 ...
鱼眼图像畸变校正算法
用标定得到的参数进行校正,推出校正模型,方法简 单,易于实现,并对鱼眼图的畸变...一种基于球面投影模型的... 8页 2下载券 基于几何模型的鱼眼图像... 2页...
安徽大学2004 年科技论文(下)
鱼眼图像轮廓提取算法研究 宽带网络中业务模型的性能...32. 基于共形对应的球面图像的计算全息图 计算全息...电大导体目标电磁散射特性的投影迭代法分析 基于离散...
更多相关标签:
鱼眼图像校正 | 鱼眼图像畸变校正代码 | 鱼眼图像校正算法研究 | 鱼眼图像校正 matlab | 鱼眼图像校正算法 | 图像鱼眼畸变校正 | 鱼眼图像校正 opencv | 鱼眼镜头全景图像校正 |