相机模型之鱼眼模型(Equidistant)

相机模型之鱼眼相机模型(Equidistant/Kannala-Brandt)


前言

视觉SLAM、SFM方法中少不了要和各种相机模型打交道,这里把经常碰到的各种相机模型做个系统性的梳理。


Equidistant投影模型

Equidistant模型是由Kannala-Brandt提出的相机模型,描述径向畸变,适用于FOV不超过170°的大广角相机,但不适合FOV更大的全景相机模型。
需要说明的是,鱼眼相机和鱼眼相机模型是两回事。通常FOV很大,畸变比较显著的相机都可以叫鱼眼相机,例如EUCM模型、double sphere模型的相机;但是鱼眼模型则特指Equidistant 模型。

假设相机当前姿态用SE3群表示,将W系中的点转化为相机坐标系,则世界坐标系中一个3d点 P w P_w Pw
到像极坐标系下一点 P c P_c Pc的变换关系为:
P c = R c w P w + t c w P_c=R_{cw}P_w+t_{cw} Pc=RcwPw+tcw
对于大多数相机FOV都不超过180°,则意味着镜头不能看到后面的物体,因而判断 P c P_c Pc的z分量是否大于0,可以作为一个点是否能被相机看见的简单依据;除此以外,点能否被看见还与相机的视野有关系。
对于相机投影来说,只需要知道 P c P_c Pc就够了,不关心 P w P_w Pw,求 P w P_w Pw一般是SFM和SLAM的任务。
严格的说,相机只关心 P c P_c Pc的方向,模长或者深度都不关心。假设 P c P_c Pc在相机平面上的投影成像点是
( u d , v d ) (u_d,v_d) (ud,vd),则投影过程是:
π ( P c ) = [ f x d ( θ ) cos ⁡ ϕ + c x f y d ( θ ) sin ⁡ ϕ + c y ] = [ u d v d ] \pi(P_c)=\left[ \begin{array}{c} f_xd(\theta )\cos\phi+c_x\\ f_yd(\theta)\sin\phi +c_y \end{array} \right]= \left[ \begin{array}{c} u_d \\ v_d \end{array} \right]\\ π(Pc)=[fxd(θ)cosϕ+cxfyd(θ)sinϕ+cy]=[udvd]
其中,
tan ⁡ ( θ ) = X c 2 + Y c 2 Z c ϕ = a t a n 2 ( Y c , X c ) P c = [ X c , Y c , Z c ] = [

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值