[机器视觉]欧式空间中的二维点变换关系

二维图形的5种几何变换

变换 英文
平移 Translate
旋转 Rotate
比例 Scale
反射 Reflect
错切 shear

平移

旋转

比例

反射

错切

小结

符合下面形式的坐标变换称为二维仿射变换:

平移、旋转、比例、反射、错切都是二维仿射变换的特例,任何一组二维仿射变换总可表示为这5种变换的组合。
仿射变换具有平行线变换成平行线,有限点映射到有限点的一般特性。

VisionPro的CogCalibNPointToNPointTool的5种自由度

自由度 英文 含义
平移 Translate
旋转 Rotate
缩放 Scale
纵横比 Aspect 缩放时xy比例不同
倾斜 Skew 旋转时xy角度不同

上述5种自由度均属于2D线性变换

CogCalibNPointToNPointTool功能:将图像坐标映射到“真实情况”坐标的二维转换,要求至少3个已知位置

2D线性变换(2D Linear Transformations)

2D变换常用于将点从pixel space映射到user space,两者之间常常有不同的测量单位

包含3大类:

  1. 缩放(scaling)
  2. 旋转(rotation)
  3. 平移(translation)

缩放(Scaling)

缩放:改变一个坐标空间相对于另一个坐标空间的x轴单位和y轴单位

均匀缩放(Uniform Scaling)

xy缩放比例相同

非均匀缩放(Nonuniform Scaling)

xy缩放比例不同,会改变坐标空间的纵横比(Aspect)

两种实现:

  • 两个不同的缩放因子、
  • 均匀缩放的缩放因子和附加的纵横比(Aspect)

旋转(Rotation)

旋转:相对于另一个坐标空间,旋转x和y轴(弧度)

刚性旋转(Uniform or Rigid Rotation)

xy旋转角度相同

θ为点的逆时针方向旋转角
注意:旋转角度θ是在B中测量的,从空间B到空间A的角度

倾斜旋转(Nonuniform or Skew Rotation)

xy旋转角度不同

两种实现:

  • 两个不同的旋转角度、
  • 相同的旋转角度、附加的倾斜(Skew)因子

纵横比(Aspect)

纵横比:沿y轴的缩放因子与沿x轴缩放因子的比率

平移(Translation)

平移:由坐标空间相对于另一个坐标空间的原点的偏移量组成

如果是从坐标空间B到空间A的平移向量的分量,以空间B表示,则可以使用以下方法将空间A中的点P映射到空间B。

两种组合

两种组合只是视角不同,均为6个约束变量

ScalingX/Y-RotationX/Y Method

Scaling-Aspect-Rotation-Skew Method

VisionPro 2D Transformation Objects

方法:GetTransform()、MapPoint()

两步优化思路

符号 含义 维数
N 映射的点的个数 N
w1 模板位的2D点坐标 3*N
w2 偏移位的2D点坐标 3*N
Rt 通过伪逆求得的变换关系=w2*pinv(w1) 3*3
init 由Rt求得的3个约束变量(旋转角度、x偏移、y偏移) 3
getRtFromRES() 由约束变量求变换关系(3*3) 3->3*3
x0 第1次优化的结果 3
x 第2次优化的结果 3
优化步骤 优化量初始值 优化函数 目的
第1次优化 init getRtFromRES(init) - Rt 得到满足物理约束的3个约束变量
第2次优化 x0 getRtFromRES(x0)*w1 - w2 使约束变量映射后的点与偏移位的点尽量接近

可视化

红点:模板(w1)
绿色:偏移(w2)
蓝色:估计(getRtFromRES(x)*w1)

参考

参考内容 参考方面
单目视觉标定:世界坐标系、相机坐标系、图像坐标系、像素坐标系——简单粗暴,粗暴 2D点到点的映射矩阵
使用 levenberg-marquardt 优化 欧式空间中的三维点变换关系 求点到点的映射的LM法优化思路
二维图形基本几何变换矩阵 二维图形的5种变化关系
Cognex VisionPro Documentation 9.1中的Transformations VisionPro的2D点变换