2020-06-01

Geometric camera calibration

2020-06-01图2,中心折反射相机,分别具有双曲、椭圆和抛物面镜。Z轴是相机的光轴,也是镜面的旋转轴。场景点P成像在p点。在任何情况下,反折射系统的视点都是由焦距F表示的反射镜的焦点。在双曲和椭圆镜的情况下,透视相机的有效针孔必须放置在另一个焦点上,这里用 F ′ F^{'} F′表示。

相机模型

本节描述常见的相机模型。主要关注中心相机,也就是具有单一有效视点的相机。单视点意味着到达图像的所有光线都穿过空间中的单个点,即焦点。

透视相机

针孔相机模型是最常见的相机模型,对于大多数服从透视模型的传统相机来说,这是一个相当合理的近似模型。通常,这些相机具有小于60°的小视场。本质上,针孔相机模型只是一个透视投影,然后是图像平面中的仿射变换。
2020-06-01
相机坐标系(3D)到像平面坐标系(2D)的齐次变换可用3x4投影矩阵表示
Z c ( x y 1 ) = [ f 0 0 0 0 f 0 0 0 0 1 0 ] ( X c Y c Z c 1 ) Z_c\begin{pmatrix} x\\ y\\ 1 \end{pmatrix} = \begin{bmatrix} f& 0& 0 & 0\\ 0& f& 0 & 0\\ 0& 0& 1 & 0 \end{bmatrix}\begin{pmatrix} X_c\\ Y_c\\ Z_c \\ 1 \end{pmatrix} Zc​⎝⎛​xy1​⎠⎞​=⎣⎡​f00​0f0​001​000​⎦⎤​⎝⎜⎜⎛​Xc​Yc​Zc​1​⎠⎟⎟⎞​

像平面坐标系到像素坐标系变换:
( u v ) = [ m u − m u cot ⁡ α 0 m v sin ⁡ α ] ( x y ) + ( u 0 v 0 ) \begin{pmatrix} u\\ v \end{pmatrix} = \begin{bmatrix} m_u& -m_u\cot \alpha\\ 0& \frac{m_v}{\sin \alpha} \end{bmatrix}\begin{pmatrix} x\\ y \end{pmatrix}+\begin{pmatrix} u_0\\ v_0 \end{pmatrix} (uv​)=[mu​0​−mu​cotαsinαmv​​​](xy​)+(u0​v0​​)

α \alpha α是轴u和v的夹角,传统相机一般是90°。 m u m_u mu​和 m v m_v mv​是轴u和v方向上每单位距离内的像素数量。

联立起来,得到世界坐标系到像素坐标系的变换公式:
2020-06-01
m u f m_u f mu​f是一起变化的,优化时直接合在一起。 s = − cot ⁡ α s=-\cot \alpha s=−cotα; γ = m v m u sin ⁡ α \gamma=\frac{m_v}{m_u\sin \alpha} γ=mu​sinαmv​​。简化为:
1 Z c ( u v 1 ) = [ f s f u 0 0 γ f v 0 0 0 1 ] [ R t ] ( X c Y c Z c 1 ) \frac{1}{Z_c}\begin{pmatrix} u\\ v \\ 1 \end{pmatrix} =\begin{bmatrix} f& sf& u_0\\ 0& \gamma f& v_0\\ 0& 0& 1 \end{bmatrix} [\mathbf{R} \quad \mathbf{t}] \begin{pmatrix} X_c\\ Y_c\\ Z_c \\ 1 \end{pmatrix} Zc​1​⎝⎛​uv1​⎠⎞​=⎣⎡​f00​sfγf0​u0​v0​1​⎦⎤​[Rt]⎝⎜⎜⎛​Xc​Yc​Zc​1​⎠⎟⎟⎞​
由于一般 α \alpha α是90°,当轴u和v上的像素数相同时,s=0, γ = 1 \gamma=1 γ=1。不相同时保留 γ \gamma γ,进行优化。

简化写为内参和外参矩阵形式:
λ ( u v 1 ) = K [ R t ] ( X c Y c Z c 1 ) \lambda \begin{pmatrix} u\\ v \\ 1 \end{pmatrix} = \mathbf{K} [\mathbf{R} \quad \mathbf{t}] \begin{pmatrix} X_c\\ Y_c\\ Z_c \\ 1 \end{pmatrix} λ⎝⎛​uv1​⎠⎞​=K[Rt]⎝⎜⎜⎛​Xc​Yc​Zc​1​⎠⎟⎟⎞​

上一篇:js 求圆周每个点坐标解决 threejs 获取2D圆上的每个点


下一篇:微积分小题集(2)