等距变换、欧式变换、相似变换、仿射变换(Affine)射影变换(Projective);单应变换、透视变换

等距变换(Isometries)

[ x ′ y ′ 1 ] = [ σ cos ⁡ θ − sin ⁡ θ x 0 σ sin ⁡ θ cos ⁡ θ y 0 0 0 1 ] [ x y 1 ] \left[\begin{matrix}x'\\y'\\1\\\end{matrix}\right]= \left[\begin{matrix}\sigma\cos\theta&-\sin\theta&x_0\\\sigma\sin\theta&\cos\theta&y_0\\0&0&1\\\end{matrix}\right] \left[\begin{matrix}x\\y\\1\\\end{matrix}\right] xy1=σcosθσsinθ0sinθcosθ0x0y01xy1

σ = ± 1 \sigma=\pm1 σ=±1

欧式变换(Euclidean)

在等距变换(1.4.1)中,如果矩阵 U 是一个旋转矩阵,则这个等距变换称为欧氏变换。

[ x ′ y ′ 1 ] = H e x = [ R t 0 1 ] [ x y 1 ] \left[\begin{matrix}x'\\y'\\1\\\end{matrix}\right]=H_e\mathbf{x}= \left[\begin{matrix}R&t\\0&1\end{matrix}\right] \left[\begin{matrix}x\\y\\1\\\end{matrix}\right] xy1=Hex=[R0t1]xy1

相似变换(Similarity)

相似变换是等距变换与均匀伸缩变换的合成变换,所谓均匀伸缩变换是指下述变换:

[ x ′ y ′ 1 ] = [ s 0 0 0 s 0 0 0 1 ] [ x y 1 ] \left[\begin{matrix}x'\\y'\\1\\\end{matrix}\right]= \left[\begin{matrix}s&0&0\\0&s&0\\0&0&1\\\end{matrix}\right] \left[\begin{matrix}x\\y\\1\\\end{matrix}\right] xy1=s000s0001xy1

其中 s 是均匀伸缩因子。

相似变换,顾名思义,它是保持图形相似的变换。在初等几何中,相似分为旋转相似(保向)和对称相似(逆向)。旋转相似是欧氏变换与均匀伸缩变换的合成,而对称相似是反射等距变换与均匀伸缩变换的合成。

在计算机视觉中最关心的是旋转相似,它可用下面的矩阵形式来表示:

[ x ′ y ′ 1 ] = [ s cos ⁡ θ − s sin ⁡ θ x 0 s sin ⁡ θ s cos ⁡ θ y 0 0 0 1 ] [ x y 1 ] \left[\begin{matrix}x'\\y'\\1\\\end{matrix}\right]= \left[\begin{matrix}s\cos\theta&-s\sin\theta&x_0\\s\sin\theta&s\cos\theta&y_0\\0&0&1\\\end{matrix}\right] \left[\begin{matrix}x\\y\\1\\\end{matrix}\right] xy1=scosθssinθ0ssinθscosθ0x0y01xy1

x ′ = H e x = [ s R t 0 1 ] x \mathbf{x'}=H_e\mathbf{x}= \left[\begin{matrix}sR&t\\0&1\end{matrix}\right]\mathbf{x} x=Hex=[sR0t1]x

旋转相似变换有 4 个自由度,因为它比欧氏变换多一个均匀伸缩因子。

仿射变换(Affine)

[ x ′ y ′ 1 ] = [ A t 0 1 ] [ x y 1 ] = [ a b x 0 c d y 0 0 0 1 ] [ x y 1 ] \left[\begin{matrix}x'\\y'\\1\\\end{matrix}\right]= \left[\begin{matrix}A&t\\0&1\end{matrix}\right] \left[\begin{matrix}x\\y\\1\\\end{matrix}\right]= \left[\begin{matrix}a&b&x_0\\c&d&y_0\\0&0&1\\\end{matrix}\right] \left[\begin{matrix}x\\y\\1\\\end{matrix}\right] xy1=[A0t1]xy1=ac0bd0x0y01xy1

其中 A 是一个 2 阶可逆矩阵。仿射变换有 6 个自由度, 3 个不共线的点对应唯一确定仿射变换。仿射变换的全体也构成一个变换群,称为仿射变换群。 相似变换群是它的子群。

射影变换(Projective)

x ′ = H x = [ A t v T k ] x \mathbf{x'}=H\mathbf{x}= \left[\begin{matrix}A&t\\v^T&k\end{matrix}\right]\mathbf{x} x=Hx=[AvTtk]x

H = H S H A H P = [ s R t / k 0 1 ] [ K 0 0 1 ] [ I 0 v T k ] H=H_SH_AH_P= \left[\begin{matrix}sR&t/k\\0&1\end{matrix}\right] \left[\begin{matrix}K&0\\0&1\end{matrix}\right] \left[\begin{matrix}I&0\\v^T&k\end{matrix}\right] H=HSHAHP=[sR0t/k1][K001][IvT0k]

矩阵 H S H A H P H_SH_AH_P HSHAHP分别是相似变换、仿射变换和射影变换

变换 H P H_P HP属于节A5.3 ( p430)所介绍的一种有约束的透视变换

单应变换(Homography)、透视变换(Perspective)

单应变换即是指具有对应关系的两幅图像之间的映射关系,一般的,单应变换的变换矩阵是一个3*3的矩阵H,H虽然具有9个元素,但是具有8个自由度。

[ u 2 v 2 1 ] = H [ u 1 v 1 1 ] = [ h 1 h 2 h 3 h 4 h 5 h 6 h 7 h 8 h 9 ] [ u 1 v 1 1 ] \left[\begin{matrix}u_2\\v_2\\1\\\end{matrix}\right]=H \left[\begin{matrix}u_1\\v_1\\1\\\end{matrix}\right]= \left[\begin{matrix}h_1&h_2&h_3\\h_4&h_5&h_6\\h_7&h_8&h_9\\\end{matrix}\right] \left[\begin{matrix}u_1\\v_1\\1\\\end{matrix}\right] u2v21=Hu1v11=h1h4h7h2h5h8h3h6h9u1v11

{ u 2 = h 1 u 1 + h 2 v 1 + h 3 h 7 u 1 + h 8 v 1 + h 9 v 2 = h 4 u 1 + h 5 v 1 + h 6 h 7 u 1 + h 8 v 1 + h 9 \left\{\begin{matrix}u_2=\frac{h_1u_1+h_2v_1+h_3}{h_7u_1+h_8v_1+h_9}\\v_2=\frac{h_4u_1+h_5v_1+h_6}{h_7u_1+h_8v_1+h_9}\\\end{matrix}\right. {u2=h7u1+h8v1+h9h1u1+h2v1+h3v2=h7u1+h8v1+h9h4u1+h5v1+h6

在实际处理中通常乘以一个非零因子使得h_9=1,于是有:

{ h 1 u 1 + h 2 v 1 + h 3 − h 7 u 1 u 2 − h 8 v 1 u 2 = v 2 h 4 u 1 + h 5 v 1 + h 6 − h 7 u 1 v 2 − h 8 v 1 v 2 = v 2 \left\{\begin{matrix}h_1u_1+h_2v_1+h_3-h_7u_1u_2-h_8v_1u_2=v_2\\h_4u_1+h_5v_1+h_6-h_7u_1v_2-h_8v_1v_2=v_2\\\end{matrix}\right. {h1u1+h2v1+h3h7u1u2h8v1u2=v2h4u1+h5v1+h6h7u1v2h8v1v2=v2

这样一组匹配点对就可以构造出两项约束,于是自由度为8的单应矩阵可以通过4对匹配特征点算出(注意,这些特征点不能有三点共线的情况)。

[ u 1 1 v 1 1 1 0 0 0 − u 1 1 u 2 1 − v 1 1 u 2 1 0 0 0 u 1 1 v 1 1 1 − u 1 1 v 2 1 − v 1 1 v 2 1 u 1 2 v 1 2 1 0 0 0 − u 1 2 u 2 2 − v 1 2 u 2 2 0 0 0 u 1 2 v 1 2 1 − u 1 2 v 2 2 − v 1 2 v 2 2 u 1 3 v 1 3 1 0 0 0 − u 1 3 u 2 3 − v 1 3 u 2 3 0 0 0 u 1 3 v 1 3 1 − u 1 3 v 2 3 − v 1 3 v 2 3 u 1 4 v 1 4 1 0 0 0 − u 1 4 u 2 4 − v 1 4 u 2 4 0 0 0 u 1 4 v 1 4 1 − u 1 4 v 2 4 − v 1 4 v 2 4 ] [ h 1 h 2 h 3 h 4 h 5 h 6 h 7 h 8 ] = [ u 2 1 v 2 1 u 2 2 v 2 2 u 2 3 v 2 3 u 2 4 v 2 4 ] \left[\begin{matrix}u_1^1 &v_1^1 &1 &0 &0 &0 &-u_1^1u_2^1 &-v_1^1u_2^1\\0 &0 &0 &u_1^1 &v_1^1 &1 &-u_1^1v_2^1 &-v_1^1v_2^1\\u_1^2 &v_1^2 &1 &0 &0 &0 &-u_1^2u_2^2 &-v_1^2u_2^2\\0 &0 &0 &u_1^2 &v_1^2 &1 &-u_1^2v_2^2 &-v_1^2v_2^2\\u_1^3 &v_1^3 &1 &0 &0 &0 &-u_1^3u_2^3 &-v_1^3u_2^3\\0 &0 &0 &u_1^3 &v_1^3 &1 &-u_1^3v_2^3 &-v_1^3v_2^3\\u_1^4 &v_1^4 &1 &0 &0 &0 &-u_1^4u_2^4 &-v_1^4u_2^4\\0 &0 &0 &u_1^4 &v_1^4 &1 &-u_1^4v_2^4 &-v_1^4v_2^4\\ \end{matrix}\right]\left[\begin{matrix}h_1\\h_2\\h_3\\h_4\\h_5\\h_6\\h_7\\h_8\end{matrix}\right]=\left[\begin{matrix}u_2^1\\v_2^1\\u_2^2\\v_2^2\\u_2^3\\v_2^3\\u_2^4\\v_2^4 \end{matrix}\right] u110u120u130u140v110v120v130v140101010100u110u120u130u140v110v120v130v1401010101u11u21u11v21u12u22u12v22u13u23u13v23u14u24u14v24v11u21v11v21v12u22v12v22v13u23v13v23v14u24v14v24h1h2h3h4h5h6h7h8=u21v21u22v22u23v23u24v24

总结

  • 欧式变换的特性是保持欧式距离不变,有一个旋转角度,两个平移变换共三个自由度。

  • 相似变换在欧式变换的基础上增加了一个各向同性的尺度变换,共有四个自由度,保持距离的比例不变。

  • 仿射变换包含了两个旋转角度,两个各向异性的尺度变换,一共有六个自由度,变换后的平行线依然保持平行,平行线所分割的线段及区域成比例。

  • 射影变换(单应变换)在仿射变换的基础增加了两个自由度,使得图像在不同的位置具有不同的尺度变换,变换后保持原有的三点共线特性。

  • 透视投影则是3D到2D的射影变换,是一个3*4的矩阵,有11个自由度,可以分解为5个自由度的相机内参和6个自由度的表示相机姿态的外参。

需要求解单应矩阵的场景主要有相机标定,计算相机焦距,主点,镜头畸变,相机位姿;三维重建,场景结构,相机位姿;视觉测量;立体视觉,计算多视图场景的深度;场景理解,修正相机的摇动、倾斜和变焦等等。

单应矩阵的估计算法。直接线性变换(DLT),直接使用四对点进行计算不准确或类似于过拟合,通常使用正则化的方法进行泛化,更具有一般性。在计算的过程中选择不同的损失(代价)函数,使其最小化。常用的损失函数有代数距离、几何距离、重投影误差、Sampson误差等。

选取的特征也不一定是对应点也可以是对应线和对应的二次曲线。处理离群点通常使用的方法有RANSACLMedS(Least Median of Squares Regression)等。

参考文献

Multiple View Geometry in Computer Vision (Second Edition) 计算机视觉中的多视图几何
计算机视觉中的数学方法-吴福朝
视觉SLAM十四讲:从理论到实践
学习OpenCV 3
Homography Estimation
Least Median of Squares Regression

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值