中心透视投影和鱼眼投影的区别(Central perspective projection vs. fisheye projection)

前言

panoramic images(全景图像)以及Fisheye图像都不满足中心透视投影(Central perspective projection),不能使用collinearity equation(共线性方程)


中心透视投影

其中中心透视投影数学模型建立的假设是:

物体点入射线和光轴的夹角和在像平面上的成像点和光轴的夹角相同,如上图所示


鱼眼透视投影

鱼眼图像希望在有限的平面内获取更大的视角(几乎接近90度),然而按照中心透视投影的假设来说,在像平面上的像点会位于无穷远的地方,因此,我们需要修改投影模型,采用折射的方法将入射线沿光轴方向折射得到像点。鱼眼透镜系统的透镜类型和配置实现的。


鱼眼投影模型

位于头顶的鱼眼图像实际上监控着位于其下方的整个半球中的场景,需要将物体坐标投影到相机坐标系下(这里我觉得是对应着我之前的一篇博客中所说的4种图像坐标系,从世界坐标系变换到相机坐标系下),这不过不同的是这里的变换增加了投影中心的坐标(也是在物体坐标系下的),没有了平移量,得到了如下的转换公式:
X C = r 11 ⋅ ( X − X 0 ) + r 21 ⋅ ( Y − Y 0 ) + r 31 ⋅ ( Z − Z 0 ) Y C = r 12 ⋅ ( X − X 0 ) + r 22 ⋅ ( Y − Y 0 ) + r 32 ⋅ ( Z − Z 0 ) Z C = r 13 ⋅ ( X − X 0 ) + r 23 ⋅ ( Y − Y 0 ) + r 33 ⋅ ( Z − Z 0 ) \begin{array}{l} X_{C}=r_{11} \cdot\left(X-X_{0}\right)+r_{21} \cdot\left(Y-Y_{0}\right)+r_{31} \cdot\left(Z-Z_{0}\right) \\ Y_{C}=r_{12} \cdot\left(X-X_{0}\right)+r_{22} \cdot\left(Y-Y_{0}\right)+r_{32} \cdot\left(Z-Z_{0}\right) \\ Z_{C}=r_{13} \cdot\left(X-X_{0}\right)+r_{23} \cdot\left(Y-Y_{0}\right)+r_{33} \cdot\left(Z-Z_{0}\right) \end{array} XC=r11(XX0)+r21(YY0)+r31(ZZ0)YC=r12(XX0)+r22(YY0)+r32(ZZ0)ZC=r13(XX0)+r23(YY0)+r33(ZZ0)
其中 ( X C , Y C , Z C ) (X_C,Y_C,Z_C) (XC,YC,ZC)为相机坐标系中的物体点坐标, ( X , Y , Z ) (X,Y,Z) (X,Y,Z)为物体坐标系下的物体点坐标, ( X 0 , Y 0 , Z 0 ) (X_0,Y_0,Z_0) (X0,Y0,Z0)是在物体坐标系下的投影中心坐标, r i , j r_{i,j} ri,j为旋转矩阵的元素。
投影过程

从上图中将90°的物体点的入射线,映射到了圆形像的边缘位置,由上面定义的鱼眼模型,对应的映射关系为:
α r = 9 0 ∘ R  where  r = x ′ 2 + y ′ 2 \begin{aligned} &\frac{\alpha}{r}=\frac{90^{\circ}}{R}&\text { where } &r=\sqrt{x'^{2}+y'^{2}} \end{aligned} rα=R90 where r=x2+y2
其中 α \alpha α是物体点的入射角, r r r是像点的半径, R R R是图像的半径,像点位置 P = ( x ′ , y ′ ) P=(x',y') P=(x,y),由于物体点P和像点P’都在一个3维 y = k x y=kx y=kx的平面上,因此P’和P在各自的Z平面上,和坐标原点( O ′ , O C O',O_C O,OC)之间的连线夹角相同,因此有:
x ′ y ′ = X C Y C \frac{x^{\prime}}{y^{\prime}}=\frac{X_{C}}{Y_{C}} yx=YCXC,这里由相机坐标系到鱼眼图像坐标系下的变换公式为:
在这里插入图片描述
论文中给出的公式为:

x ′ = 2 ⋅ R π ⋅ atan ⁡ [ ( X C ) 2 + ( Y C ) 2 Z C ] ( Y C X C ) 2 + 1 + d x + x h y ′ = 2 ⋅ R π ⋅ atan ⁡ [ ( X C ) 2 + ( Y C ) 2 Z C ] ( X C Y C ) 2 + 1 + d y + y h \begin{aligned} &x^{\prime}=\frac{\frac{2 \cdot \mathrm{R}}{\pi} \cdot \operatorname{atan}\left[\frac{\sqrt{\left(\mathrm{X}_{\mathrm{C}}\right)^{2}+\left(\mathrm{Y}_{\mathrm{C}}\right)^{2}}}{\mathrm{Z}_{\mathrm{C}}}\right]}{\sqrt{\left(\frac{\mathrm{Y}_{\mathrm{C}}}{\mathrm{X}_{\mathrm{C}}}\right)^{2}+1}}+\mathrm{d} \mathrm{x}+\mathrm{x}_{\mathrm{h}}\\ &y^{\prime}=\frac{\frac{2 \cdot \mathrm{R}}{\pi} \cdot \operatorname{atan}\left[\frac{\sqrt{\left(\mathrm{X}_{\mathrm{C}}\right)^{2}+\left(\mathrm{Y}_{\mathrm{C}}\right)^{2}}}{\mathrm{Z}_{\mathrm{C}}}\right]}{\sqrt{\left(\frac{\mathrm{X}_{\mathrm{C}}}{\mathrm{Y}_{\mathrm{C}}}\right)^{2}+1}}+\mathrm{d} \mathrm{y}+\mathrm{y}_{\mathrm{h}}\\ \end{aligned} x=(XCYC)2+1 π2Ratan[ZC(XC)2+(YC)2 ]+dx+xhy=(YCXC)2+1 π2Ratan[ZC(XC)2+(YC)2 ]+dy+yh
跟推导的公式相比来说查了后面加上的项,其中 d y , d x \mathrm{d} \mathrm{y},\mathrm{d} \mathrm{x} dy,dx为失真多项式,他们是为了对镜头失真进行建模设计的, x h , y h \mathrm{x}_{\mathrm{h}},\mathrm{y} _{\mathrm{h}} xh,yh是主点的坐标( coordinates of the principle point ),这一项我也不是很清楚。

参考文献

E. Schwalbe, “Geometric modelling and calibration of fisheye lens camera systems,” Proc. 2nd Panoramic Photogrammetry Workshop, Int. Archives of Photogrammetry and Remote Sensing, vol. 36, no. Part 5, 2005

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值