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

二维图形的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点变换