1. 实物与图片坐标之间的转换
示例:用图像引导机器人的针头插入
任务:根据器官的透视投影图像进行多根针插入
真实世界坐标中的目标物体被摄像头捕捉到,并在图片坐标中存储为图片。(假设所有目标物都在同一平面)机器人以此为判断依据,把针头插入目标物。
1.1 校准
Calibration校准,是识别转换参数的过程

图片:
[xy]
物体:
[XY]
[xy]=PRT[XY]
T: translation平移 R: rotation旋转 P:perspective projection透视投影
T(−w):[XY]+[−vx−vy]=[X′Y′]
R(−α):[cosαsinα−sinαcosα][X′Y′]=[X′′Y′′]
P:−β[X′′Y′′]=[xy]
T:[xy]=[a11a21a12a22a13a23]⎣⎡XY1⎦⎤
aij:transformation parameters转换参数
[xy]=[a11a21a12a22a13a23]⎣⎡XY1⎦⎤=[X0Y0100X0Y01]⎣⎢⎢⎢⎢⎢⎢⎡a11a12a13a21a22a23⎦⎥⎥⎥⎥⎥⎥⎤
⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡x1y1x2y2xNyN⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡X10X20XN0Y10Y20YN01010100X10X20XN0Y10Y20YN010101⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎢⎡a11a12a13a21a22a23⎦⎥⎥⎥⎥⎥⎥⎤
a=(XTX)−1XTx是最小误差∣∣x−Xa∣∣2的解(最小二乘逼近)。
(最小二乘逼近的详细推导在supply中)
假设我们做了一系列的实验,期望输出y被一个关于t的线性函数近似,y=C+Dt;
y1=C+Dt1y2=C+Dt2...yN=C+DtN→⎣⎢⎢⎡x1y1...yN⎦⎥⎥⎤=⎣⎢⎢⎡11...1t1t2tN⎦⎥⎥⎤[CD]→b=Ax
ATAx=ATb→ATA[CˉDˉ]=ATb→[CˉDˉ]=(ATA)−1ATb→[CˉDˉ]=[N∑ti∑ti∑ti2]−1[∑yi∑tiyi]
2. 齐次坐标
Homogeneous coordinates齐次坐标,齐次向量对应于一条经过原点的直线。

⎣⎡xyz⎦⎤↔⎣⎢⎢⎡kxkykz1⎦⎥⎥⎤,k=0
齐次坐标的优势:平移和透视变换可以用矩阵形式表示,连续几何变换可以表示为具有矩阵乘法的一系列矩阵。
图像点:
ui=[xiyi]→u^i=⎣⎡kxikyik⎦⎤
实物点:
X0=⎣⎡x0y0z0⎦⎤→X^0=⎣⎢⎢⎡kx0ky0kz0k⎦⎥⎥⎤
在齐次坐标的平移:
⎣⎢⎢⎡xyz1⎦⎥⎥⎤new=⎣⎡100010000txty1⎦⎤⎣⎢⎢⎡xyz1⎦⎥⎥⎤
T−1=⎣⎢⎢⎡100001000010−tx−ty−tz1⎦⎥⎥⎤
缩放:
S=⎣⎢⎢⎡Sx0000Sy0000Sz00001⎦⎥⎥⎤
旋转:

Rz,θ=⎣⎢⎢⎡cosθ−sinθ00sinθcosθ0000100001⎦⎥⎥⎤Rx,α=⎣⎢⎢⎡10000cosα−sinα00sinαcosα00001⎦⎥⎥⎤Ry,β=⎣⎢⎢⎡cosβ0sinβ00100−sinβ0cosβ00001⎦⎥⎥⎤
复合变换:
A=Rz,θST→P′=AP
透视投影:从平面上的一点到三维空间的反透视变换对应于一条直线,即一个齐次向量。

Z>>f
相似三角形:
fx=−Z−fX=f−ZX
fy=−Z−fY=f−ZY
矩阵形式的透视投影:
ch=Pwh=⎣⎢⎢⎡10000100001−f10001⎦⎥⎥⎤⎣⎢⎢⎡kXkYkZk⎦⎥⎥⎤=⎣⎢⎢⎡kXkYkZ−fkZ+k⎦⎥⎥⎤
图像点的笛卡尔坐标:
c=⎣⎡xyz⎦⎤=⎣⎢⎡f−ZfXf−ZfYf−ZfZ⎦⎥⎤
反透视变换映射图像点回到三维:
Wh=P−1Ch
P−1=⎣⎢⎢⎡10000100001−f10001⎦⎥⎥⎤
3. Camera Model and Calibration
Camera Model:
实际中,摄像机和世界系统不一致,安装在gimbal万向架上的摄像机可以调整x轴和X轴之间的角度和z轴和Z轴之间的角度。
1.从世界坐标原点到万向节中心的平移
2.x轴平移(绕z轴旋转一个角度θ)
-平移角是在x轴和X轴之间测量的。
3.z轴的倾斜(绕x轴旋转一个α)
-倾斜角度是测量之间的z和Z轴。
4.从万向节中心到摄像机坐标系原点的平移。
5.从意象点到世界点的透视转换。
Ch=PT(r)Rx(α)Rz(θ)T(w0)Wh
在齐次坐标下,场景点或实物点在世界坐标X上的投影到图像点u由一个简单的线性映射给出。
u=MX→⎣⎢⎢⎡kXkYkZk⎦⎥⎥⎤=⎣⎢⎢⎡a11a21a31a41a12a22a32a42a13a23a33a43a14a24a34a44⎦⎥⎥⎤⎣⎢⎢⎡XYZ1⎦⎥⎥⎤
如果缩放系数为1:
⎣⎢⎢⎡XYZ1⎦⎥⎥⎤=⎣⎢⎢⎡a11a21a31a41a12a22a32a42a13a23a33a43a14a24a34a44⎦⎥⎥⎤⎣⎢⎢⎡xyz1⎦⎥⎥⎤
在接收平面上z=0,忽略掉z项:
⎣⎡xy1⎦⎤=⎣⎢⎢⎡a11a21a31a41a12a22a32a42a13a23a33a43a14a24a341⎦⎥⎥⎤⎣⎢⎢⎡XYZ1⎦⎥⎥⎤
有11个自由参数,可以改写为:
[xy]=XαX=[X0Y0Z0100X0Y0Z01−xX−yX−xY−yY−xZ−yZ]α=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡α1α2α3α4α5α6α7α8α9α10α11⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤