相机标定方法机理总结与公式推导(Camera calibration)

8 篇文章 2 订阅
7 篇文章 4 订阅
关于位姿测量的一些研究成果:
Camera calibration

研究现有相机标定的方法的步骤和机理,探讨主动视觉的标定新方法;

张正友法

1)标定模型的建立
λ p = K [ r 1 r 2 t ] [ X w Y w 1 ] \lambda p=K\left[\mathbf{r}_{1} \quad \mathbf{r}_{2} \quad t\right]\left[\begin{array}{c}X^{w} \\ Y^{w} \\ 1\end{array}\right] λp=K[r1r2t]XwYw1

λ p = H P ^ \lambda p=H \hat{P} λp=HP^

H = [ h 1 h 2 h 3 h 4 h 5 h 6 h 7 h 8 h 9 ] H=\left[\begin{array}{lll}h_{1} & h_{2} & h_{3} \\ h_{4} & h_{5} & h_{6} \\ h_{7} & h_{8} & h_{9}\end{array}\right] H=h1h4h7h2h5h8h3h6h9

2)单映性矩阵H的求解

将H矩阵变换成向量的形式:
h = [ h 1 , h 2 , h 3 , h 4 , h 5 , h 6 , h 7 , h 8 , h 9 ] T h=\left[h_{1}, h_{2}, h_{3}, h_{4}, h_{5}, h_{6}, h_{7}, h_{8}, h_{9}\right]^{T} h=[h1,h2,h3,h4,h5,h6,h7,h8,h9]T
带入成像模型得到下式子,含有 8 个未知数,因此只需要获取到 4 个及以上的图像特 的空间参考点世界坐标,便可以利用最小二乘法求解得到 h ,进而恢复单映性矩阵 H;
[ X w Y w 1 0 0 0 − X w u − Y w u − u 0 0 0 X w Y w 1 − X w v − Y w v − v ] h = [ 0 0 ] \left[\begin{array}{ccccccccc}X^{w} & Y^{w} & 1 & 0 & 0 & 0 & -X^{w} u & -Y^{w} u & -u \\ 0 & 0 & 0 & X^{w} & Y^{w} & 1 & -X^{w} v & -Y^{w} v & -v\end{array}\right] h=\left[\begin{array}{l}0 \\ 0\end{array}\right] [Xw0Yw0100Xw0Yw01XwuXwvYwuYwvuv]h=[00]
3)内参数的求解
[ h 1 h 2 h 3 ] = s K [ r 1 r 2 t ] \left[\begin{array}{lll}\mathbf{h}_{1} & \mathbf{h}_{2} & \mathbf{h}_{3}\end{array}\right]=s K\left[\begin{array}{lll}\mathbf{r}_{1} & \mathbf{r}_{2} & t\end{array}\right] [h1h2h3]=sK[r1r2t]
因为R为正交矩阵:
r 1 T r 2 = 0 ∥ r 1 ∥ = ∥ r 2 ∥ = 1 \mathbf{r}_{1}^{T} \mathbf{r}_{2}=0 \quad\left\|\mathbf{r}_{1}\right\|=\left\|\mathbf{r}_{2}\right\|=1 r1Tr2=0r1=r2=1
可得到下列关系:
{ h 1 T K − T K − 1 h 2 = 0 h 1 T K − T K − 1 h 1 = h 2 T K − T K − 1 h 2 \left\{\begin{array}{c}\mathbf{h}_{1}^{T} K^{-T} K^{-1} \mathbf{h}_{2}=0 \\ \mathbf{h}_{1}^{T} K^{-T} K^{-1} \mathbf{h}_{1}=\mathbf{h}_{2}^{T} K^{-T} K^{-1} \mathbf{h}_{2}\end{array}\right. {h1TKTK1h2=0h1TKTK1h1=h2TKTK1h2

B = K − T K − 1 B = K^{-T} K^{-1} B=KTK1

B 为一个对称矩阵:
B = [ B 11 B 12 B 13 B 12 B 22 B 23 B 13 B 23 B 33 ] B=\left[\begin{array}{lll}B_{11} & B_{12} & B_{13} \\ B_{12} & B_{22} & B_{23} \\ B_{13} & B_{23} & B_{33}\end{array}\right] B=B11B12B13B12B22B23B13B23B33
将B矩阵变成向量形式,然后可得到如下关系:
[ V 12 T ( V 11 − V 22 ) T ] b = 0 \left[\begin{array}{c}V_{12}^{T} \\ \left(V_{11}-V_{22}\right)^{T}\end{array}\right] b=0 [V12T(V11V22)T]b=0
4)内外参数的优化求解

以上步骤得到的相机参数是从数值意义上得到的(即为数值解),并不具有物理意义。因此,Zhang 的方法接下来利用最大似然估计的方法,从物理意义上进一步优化求解以上参数。 对于拍摄的n幅图像(每幅图像上选择 m 个特征点),建立以空间特征点实际投影和理想投影误差最小为目标的代价函数:
K , R , t = arg ⁡ min ⁡ ( ∑ i = 1 n ∑ j = 1 m ∥ p i j − p ^ ( K , R , t , P i j ) ∣ 2 ) K, R, t=\arg \min \left(\sum_{i=1}^{n} \sum_{j=1}^{m} \| p_{i j}-\left.\hat{p}\left(K, R, t, P_{i j}\right)\right|^{2}\right) K,R,t=argmin(i=1nj=1mpijp^(K,R,t,Pij)2)
通过将步骤 3)中计算得到的结果作为初值,带上式 ,利用 Levenberg-Marquardt 迭代 算法优化求解得到最终的相机内外参数。

通常情况下,相机的镜头是包含畸变的。因此,在综合考虑畸变和噪声的影响后:
K , R , t , k 1 , k 2 , p 1 , p 2 = arg ⁡ min ⁡ ( ∑ i = 1 n ∑ j = 1 m ∥ p i j − p ^ ( K , R , t , k 1 , k 2 , p 1 , p 2 , P i j ) ∣ 2 ) K, R, t, k_{1}, k_{2}, p_{1}, p_{2}=\arg \min \left(\sum_{i=1}^{n} \sum_{j=1}^{m} \| p_{i j}-\left.\hat{p}\left(K, R, t, k_{1}, k_{2}, p_{1}, p_{2}, P_{i j}\right)\right|^{2}\right) K,R,t,k1,k2,p1,p2=argmin(i=1nj=1mpijp^(K,R,t,k1,k2,p1,p2,Pij)2)

加入相机二维纯旋转运动(俯仰运动和偏航运动)约束后:

H H H为相机内参数, [ R 1 , T 1 ] [R_{1},T_{1}] [R1,T1]为初始相机外参数, s s s为尺度因子, R T i R_{Ti} RTi为第 i i i幅图像与初始图像的旋转矩阵,可以通过经纬仪得到;
[ s i p i s i 1 ] = [ H 0 0 1 ] × [ R c t T c t 0 1 ] − 1 × [ R T i 0 0 1 ] × [ R c t T c t 0 1 ] × [ R 1 T 1 0 1 ] × P \begin{aligned}\left[\begin{array}{c}s_{i} \boldsymbol{p}_{i} \\ s_{i} \\ 1\end{array}\right]=\left[\begin{array}{cc}\boldsymbol{H} & \boldsymbol{0} \\ \boldsymbol{0} & \boldsymbol{1}\end{array}\right] \times\left[\begin{array}{cc}\boldsymbol{R}_{\mathrm{ct}} & \boldsymbol{T}_{\mathrm{ct}} \\ \boldsymbol{0} & \boldsymbol{1}\end{array}\right]^{-1} \times\left[\begin{array}{cc}\boldsymbol{R}_{T i} & \boldsymbol{0} \\ \boldsymbol{0} & \boldsymbol{1}\end{array}\right] \times \left[\begin{array}{cc}\boldsymbol{R}_{\mathrm{ct}} & \boldsymbol{T}_{\mathrm{ct}} \\ \mathbf{0} & \mathbf{1}\end{array}\right] \times\left[\begin{array}{cc}\boldsymbol{R}_{1} & \boldsymbol{T}_{1} \\ \mathbf{0} & \mathbf{1}\end{array}\right] \times \boldsymbol{P} \end{aligned} sipisi1=[H001]×[Rct0Tct1]1×[RTi001]×[Rct0Tct1]×[R10T11]×P

R T i = [ cos ⁡ φ i 0 − sin ⁡ φ i 0 1 0 sin ⁡ φ i 0 cos ⁡ φ i ] [ 1 0 0 0 cos ⁡ ψ i sin ⁡ ψ i 0 − sin ⁡ ψ i cos ⁡ ψ i ] \boldsymbol{R}_{Ti}=\left[\begin{array}{ccc}\cos \varphi_{i} & 0 & -\sin \varphi_{i} \\ 0 & 1 & 0 \\ \sin \varphi_{i} & 0 & \cos \varphi_{i}\end{array}\right]\left[\begin{array}{ccc}1 & 0 & 0 \\ 0 & \cos \psi_{i} & \sin \psi_{i} \\ 0 & -\sin \psi_{i} & \cos \psi_{i}\end{array}\right] RTi=cosφi0sinφi010sinφi0cosφi1000cosψisinψi0sinψicosψi

加入相机纯平移运动约束后:

极几何约束:
在这里插入图片描述

相机不同位置拍摄同一个点时,这两幅图存在如下约束:
x 1 T ( t × d 1 x 1 ) = x 1 T t × R d 0 x 0 x_{1}^{T}\left(t \times d_{1} x_{1}\right)=x_{1}^{T} t \times R d_{0} x_{0} x1T(t×d1x1)=x1Tt×Rd0x0

同一特征点点变焦距成像模型:

在这里插入图片描述

该模型包括 5 个坐标系:世界坐标系 O w X w Y w Z w O_wX_wY_wZ_w OwXwYwZw 、变焦相机基坐标系 O c 0 X c 0 Y c 0 Z c 0 {O}_{c0}X_{c0}Y_{c0}Z_{c0} Oc0Xc0Yc0Zc0 、变焦相机动坐标系 O c n X c n Y c n Z c n {O}_{cn}X_{cn}Y_{cn}Z_{cn} OcnXcnYcnZcn、图像物理坐标 O 1 x y O_{1xy} O1xy、图像像素坐标系 O 0 u v O_{0uv} O0uv

当变焦相机的焦距位于任意位置fn时,物体的三维空间点P通过变焦相机的动坐标系光心 O c n O_{cn} Ocn,并映射到变焦相机的像平面上点 p c n p_{cn} pcn位置。当变焦相机的焦距位于 f 0 f_0 f0时,点P通过变焦相机的基坐标系光心 O c 0 O_{c0} Oc0,并映射到变焦相机的像平面上点 p c 0 p_{c0} pc0位置。

变焦相机动坐标系 O c n X c n Y c n Z c n {O}_{cn}X_{cn}Y_{cn}Z_{cn} OcnXcnYcnZcn Z c Z_c Zc轴与相机的光轴 Z c 0 Z_{c0} Zc0重合,它垂直于图像平面并通过图像坐标系的中心, X c n X_{cn} Xcn轴和 Y c n Y_{cn} Ycn轴分别平行于图像坐标系的u轴和v轴,光心到图像平面的距离 O c n O 1 O_{cn}O_1 OcnO1称为变焦相机的实时焦距 f n f_n fn,设变焦相机坐标系 O c n X c n Y c n Z c n {O}_{cn}X_{cn}Y_{cn}Z_{cn} OcnXcnYcnZcn中的物体空间点 P 在图像物理坐标系 O 1 x y O_{1xy} O1xy下的成像像点为 p c n = [ x , y ] T p_{cn}=[x,y]T pcn=[x,y]T ,则可以得到:
{ u = u 0 + f n d x X c n Z c n v = v 0 + f n d y Y c n Z c n \left\{\begin{array}{l}u=u_{0}+\frac{f_{n}}{d x} \frac{X_{c n}}{Z_{c n}} \\ v=v_{0}+\frac{f_{n}}{d y} \frac{Y_{c n}}{Z_{c n}}\end{array}\right. {u=u0+dxfnZcnXcnv=v0+dyfnZcnYcn
根据相机坐标系下空间点和图像点之间的转换关系,相机的内参数矩阵由式中矩阵 M1 表示。当空间变焦相机的焦距位于基准焦距 f0 时,可以得到:
[ u v 1 ] = [ f 0 d x 0 u 0 0 f 0 d y v 0 0 0 1 ] [ X c 0 Z c 0 Y C 0 Z c 0 1 ] = M 1 [ X c 0 Z c 0 Y c 0 Z c 0 1 ] \left[\begin{array}{l}u \\ v \\ 1\end{array}\right]=\left[\begin{array}{ccc}\frac{f_{0}}{d x} & 0 & u_{0} \\ 0 & \frac{f_{0}}{d y} & v_{0} \\ 0 & 0 & 1\end{array}\right]\left[\begin{array}{c}\frac{X_{c 0}}{Z_{c 0}} \\ \frac{Y_{C 0}}{Z_{c 0}} \\ 1\end{array}\right]=\mathbf{M}_{1}\left[\begin{array}{c}\frac{X_{c 0}}{Z_{c 0}} \\ \frac{Y_{c 0}}{Z_{c 0}} \\ 1\end{array}\right] uv1=dxf0000dyf00u0v01Zc0Xc0Zc0YC01=M1Zc0Xc0Zc0Yc01
当相机的焦距发生改变, α x = f c n d x \alpha_{x}=\frac{f_{c n}}{d x} αx=dxfcn为u轴上的放大系数, α y = f c n d y \alpha_{y}=\frac{f_{c n}}{d y} αy=dyfcn为v轴上的放大系数,相机的外参数矩阵用 M 2 M_2 M2表示, T w e n T_{wen} Twen为3×1平移矩阵, R w e n R_{wen} Rwen为3×3为正交旋转矩阵,则三维空间点与二维图像点之间的映射关系可以通过下式进行描述:
Z c n [ u v 1 ] = [ α x 0 u 0 0 α y v 0 0 0 0 1 0 ] [ X w 0 1 ] [ R w e n T w e n Y w Z w 1 ] = M 1 M 2 [ X w Y w Z w 1 ] = M [ X w Y w Z w 1 ] Z_{c n}\left[\begin{array}{l}u \\ v \\ 1\end{array}\right]=\left[\begin{array}{cccc}\alpha_{x} & 0 & u_{0} & \\ 0 & \alpha_{y} & v_{0} & 0 \\ 0 & 0 & 1 & 0\end{array}\right]\left[\begin{array}{cc}X_{w} & \\ 0 & 1\end{array}\right]\left[\begin{array}{c}\mathbf{R}_{\mathrm{wen}} \mathbf{T}_{\mathrm{wen}} \\ Y_{w} \\ Z_{w} \\ 1\end{array}\right]=\mathbf{M}_{1} \mathbf{M}_{2}\left[\begin{array}{c}X_{w} \\ Y_{w} \\ Z_{w} \\ 1\end{array}\right]=\mathbf{M}\left[\begin{array}{c}X_{w} \\ Y_{w} \\ Z_{w} \\ 1\end{array}\right] Zcnuv1=αx000αy0u0v0100[Xw01]RwenTwenYwZw1=M1M2XwYwZw1=MXwYwZw1

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
相机标定工具gml camera calibration是一种计算机视觉领域的工具,用于对相机进行标定,以提高图像处理和计算机视觉任务的精度和准确性。 相机标定是指通过测量相机的内部和外部参数,包括焦距、畸变等,用数学模型来描述相机的成像特性和几何关系的过程。相机标定是进行三维重建、图像匹配、姿态估计等计算机视觉任务的前提。 gml camera calibration是一种相机标定工具,它能够自动提取相机的内部和外部参数,并且能够校正图像的畸变。通过使用gml camera calibration,我们可以获得更准确和稳定的相机参数,从而提高图像处理和计算机视觉任务的质量。 使用gml camera calibration进行相机标定的过程一般包括以下几个步骤:首先,需要收集一组已知的二维图像点和对应的三维世界坐标点作为标定数据。然后,通过对这组数据进行处理,可以得到相机的内部参数,如焦距、主点和径向畸变系数。最后,利用得到的内部参数和其他几何信息,可以计算得到相机的外部参数,包括相机的位置和姿态。 相机标定计算机视觉领域中非常重要的一个技术,它对于提高图像处理和计算机视觉任务的准确性和可靠性具有重要意义。gml camera calibration作为一种相机标定工具,提供了自动化的标定方法和算法,可以极大地简化了相机标定的过程,并且能够获得更准确和可靠的相机参数,从而提高计算机视觉任务的成果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值