用射影不变性纠正鱼眼镜头畸变
引言
计算机视觉分析中大多数镜头的畸变可以忽略,因此经常采用针孔摄像机模型。对存在较大畸变的鱼镜头或广角镜头,应用针孔模型之前应纠正鱼眼镜头畸变。事实上,有时虽采用了普通镜头,但要求的测量精度非常高时,也应先纠正镜头畸变。
如图1所示,三维空间中的任一点P投影到图像面上,可认为发生了两次变换:首先,是射影变换(实际应用中常采用透视变换);然后是镜头畸变。在发生射影变换过程中,也就是从三维物点投影到无畸变的理想像点的过程遵守射影不变性,这样就有可能通过分析射影不变性纠正鱼眼镜头畸变。图2为一个等间隔正交网格的原图和同时发生射影变换及镜头畸变后的图像。从图2中不难看出,经过鱼眼畸变后的网格线由直线变成了曲线。不难理解,纠正鱼眼畸变也就是从图2(c)恢复成图2(b)。
1 鱼眼镜头畸变模型
鱼眼镜头畸变可以分解为径向畸变和切向畸变:径向畸变是沿畸变中心到图像点方向的畸变;切向畸变与该方向垂直。
由于在畸变模型中,通常使用规一化图像坐标[3],而不是以像素为单位的帧存坐标,所以在获得像素坐标(u,v)后,用下式将其转换为规一化坐标。
式中, (u0,v0)为镜头畸变中心; f为焦距;A为图像像素纵横比。对实际的摄像机镜头来说,镜头畸变中心与图像中心并不重合,图像像素纵横比A亦不为1。本文旨在纠正镜头畸变,并不要求解算出实际摄像机焦距f。不失一般性,本文不妨假设焦距为1。本文采用如下多项式畸变模型:
式中, 称为畸变半径。无论是(xu,yu)还是(xd,yd)都是用(1)式变换后的规一化图像坐标。许多实验证明,只用二次项的模型精度及其它透视参数就足以使三维测量精度达到0.1像素[5]。而且,高次项的畸变还可以用畸变中心、图像纵横比等效。由于本方法将畸变中心与图像纵横比也看成待标定参数,因此只考虑二次项就完全可行。
综上所述,求解畸变模型的任务是求解4个参数:畸变系数k、畸变中心坐标(u0,v0)和纵横比A。
2 射影不变性
常用的射影不变性有共线点的投影仍然共线,平行直线的投影平行或相交于一点,直线段投影的交比不变等。
如图2(b)所示,原来位于同一条网格线的点应仍然共线,各网格线仍平行或相交于一点,相邻网格线段交比不变。以这些射影不变性为条件,按照(1)式的畸变模型建立约束方程,就能解算出畸变模型。
2.1 共线点的投影仍然共线
如图3所示,实线表示发生畸变后的直线段,虚线表示拟合后的直线。如果一条网格线由n个网格结点控制,某结点畸变后的规一化图像坐标为(xi,yi),则该点偏离量可按如下计算:
相关文章
- 2024-05-21再谈智能高速在线涡流探伤系统的研发
- 2023-10-30智能化仪器监控程序的结构设计
- 2024-08-28多功能形位误差测量系统的研制与应用
- 2024-08-15浅谈风机机座上两轴承孔同轴度偏差过大的修正
- 2023-11-03MSP430单片机在新型智能水表开发中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。