电子科技大学计算机视觉作业答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

把矩阵分解成 K[R,T]的形式,并用 LinearCalib.mat 这个文件产生代码,可以得到几个相关 参数:
rho = 3.3134e + 003
u0 = 300.5
v0 = 300.5
theta = π 2
alpha = 1.1177e + 003
beta = 1.1177e + 003
⎜⎛ 0.7071 0.4150 − 0.5725⎟⎞
u = [0,607,0,170]; v = [0,0,170,170]; x = [200,0,200,0]; y = [200,200,0,0];
可以得到以下图像,从这副图可以看到,失真表现为图像朝向观察者方向的拉伸。
类似的,使用这个方法和以下数据处理 Checkerboard.pgm:
u = [113,114,504,471]; v = [305,183,295,174]; x = [0,0,200,200]; y = [0,100,0,100];
⎛ 0.0028 − 0.0003 0.2182⎞


H = ⎜ 0.0009 − 0.0048 0.0759⎟
⎜⎝ 0.0000 − 0.0000 0.0011⎟⎠
对输入的图像采用矩阵的逆矩阵,可以得到以下的结果,从这个结果可以看到,图像的失真
表现为尺寸的拉伸。
使用同样的方法和以下数据点处理 edwardVI.pgm:
为 x = (xc , yc ) ,而像点在像素坐标系中的位置为 w = (u,v) ,根据相机投影矩阵及齐次坐标
系的知识可得:
⎛ sx ⎞ ⎛ f
0
0
0
⎛ ⎞⎜
X
c
⎞ ⎟
⎜⎟⎜ ⎜ sy ⎟ = ⎜ 0 ⎜⎝ s ⎟⎠ ⎜⎝ 0
f 0
0 1
0 0
⎟⎜ ⎟⎜ ⎟⎠⎜⎜⎝
Yc Zc 1
⎟ ⎟

⎟⎟⎠
将投影点变换到像素坐标系中可以得到:


焦距
2、Camera Projection
(a).证明:考虑三维世界中的一条直线: Xc = a + λb ,在透视投影条件下它在像平面的
投影为: x = f ( ax + λbx , ay + λby ) 。对投影向量做代数变换可得: az + λbz az + λbz
x = f ( ax + λ(bxaz − bz ax ) , ay + λ(byaz − bz ay ) ) = f ( A + ΛB,C + ΛD) 。 az az (az + λbz ) az az (az + λbz )
最终我们可得:
⎜⎛ su ⎟⎞ ⎜⎛ ku 0 u0 ⎟⎞⎜⎛ sx ⎟⎞ ⎜ sv ⎟ = ⎜ 0 kv v0 ⎟⎜ sy ⎟ ⎜⎝ s ⎟⎠ ⎜⎝ 0 0 1 ⎟⎠⎜⎝ s ⎟⎠
⎜⎛ su ⎟⎞ ⎜⎛ ku
⎜ sv ⎟ = ⎜ 0
⎜ ⎝
s
⎟ ⎠
⎜ ⎝
0
0 kv 0
u0 ⎟⎞⎜⎛ f
v0 ⎟⎜ 0
4d. 如果我们采用仿射而非映射变换的方法来描述从平面到平面的变换,就会存在 6 个自由度。 仿射变换保留了线性和距离的比率。这表明它保留了平行线的特征,与映射变换不同,任何 直线的中点在仿射变换中依然是投影线的中点。此外,映射变换不能保留投影对象的原特征, 而仿射变换不会使任何线或面投影到无穷远处。仿射变换可用于表征类似于旋转,转换,膨 胀,裁剪的结合。相对于映射变换的 11 个自由度,一般的仿射变换有 8 个自由度,所以尽
管在面到面的变换中映射变换失去了 3 个自由度,但仿射变换却仅仅失去了 2 个自由度,因 为它已经被限制于它能执行的变换中。
对于映射变换,它可以使平面方形两个平行边的投影线在极限条件下交于一个消失点,从而 使平面方形映射为三角形。而仿射变换保留了平行性,因此这种情况不会在仿射变换中发生。 当场景中“前”“后”之间的距离较小时,仿射变换是较为理想的模型。因此,对于仿射变 换来说由透视导致的尺寸的改变可以小到忽略不计。
(−1,1,1) → (549.7931,143.4970) (1,−1,1) → (300.5,574.0207) (−1,−1,1) → (510.8559,408.8933)
考虑到没有任何径向失真的条件下,这三个角点变换得到的值表明该矩阵能精确到恰当的精 度。
4a. 对于图像 hall1.pgm,门的四个角在像坐标和物坐标中的值分别为:
⎜⎝ 0
0 1.0000 ⎟⎠
⎛ 0.0139 0 − 0.6394⎞


U = ⎜ 0 0.0139 −1.2649 ⎟
⎜⎝ 0
0
1.0000 ⎟⎠
图像处理结果与(a)中三个问题完全一致,此处略。
4c. 这种方法比(a)和(b)部分包含了更多的误差。对于教学图像,标定图像中平面上矩形的 四个角上的四个点,并采用矩形的两组平行线来定义并找到两个消失点。这两组平行线的交 点就是消失点,平行线用 ax+by+c=0 来表示,然后用给定的矩阵公式来修正图像。其中所 使用的值对于结果图像的精确性非常重要。长焦距会导致图像坐标远大于期望的结果图像。 当 f 取 0.3 到 0.5 范围内的值时,产生的图像较为合理。即使是像素值以起始点为中心,用 这种方法产生的图像仍然没有(a)部分和(b)部分中的精确。但产生的图像的确与期望的结 果近似。对图像 hall1.pgm,产生矩阵为:
⎜⎝ − 0.0002 − 0.0002 − 0.0002 0.0021⎟⎠
在定义一个 2N*12 的矩阵 P 之后,通过寻找 P’*P 的特征向量对应的最小特征值的方法建立 要求的映射矩阵,并且把这个向量重构为一个 3*4 的矩阵。这和 3.1 节所描述的方法一致。 通过获得矩阵的方法打印出输入(u,v)的值和产生的结果,二者看起来与空间中等价立方 体的投影一致,所以该矩阵是可行的。
u = [183,361,205,358];
v = [109,155,917,805];
x = [0,91,0,91];
y = [182,182,0,0];
这些点在本文中定义为一个 8*9 的矩阵,矩阵的特征向量对应的最小特征值定义为所要求的 H 矩阵。把 H 矩阵重构为一个 3*3 的矩阵可以得到:
plot(x,y,'b') 所以在透视映射下球的投影不是圆。
3.Camera Calibration 无法找到这个数据:http://pages.cs.wisc.edu/cs766-1/public/html/fall06/hw/hw1/Feature2D.txt。 以下仅为题目所给的参考答案。
⎜⎛ − 0.2905 − 0.0532 0.1866 0.6283⎟⎞ (a).CamMatrix = ⎜ 0.0881 − 0.3264 0.0881 0.6010⎟
R = ⎜ 0.0000 − 0.8097 − 0.5869⎟
⎜ ⎝

0.7071
0.4150
− 0.5725⎟⎠
⎜⎛ 0.0000 ⎟⎞ T = ⎜ − 0.0810⎟
⎜⎝ 6.9277 ⎟⎠
(b). 因为在同一直线上,所以点(0,0,0),(1,1,1),和(5,5,5)都可以近似映射为点(300.5,287.4363)。 此外,第二坐标值为 287.4631,287.4363 和值 287.4337 都已精确到小数点后第三位。其它对 应点为:
所以线的投影仍为线。
(b).证明:相机坐标系中球坐标:
。由第一题的知识我们知道它
在像平面上X的c 投=影(r为sin:ϕ cosθ + x0, r sin ϕ sin θ , r cosϕ + z0)
到:
x
=
r sin ϕ cosθ f(
+ x0
r sin ϕ sin ,
θ
)
r cos ϕ + z0 r cosϕ + z0
结果为:
4b.
使用与 a 中一致的 H 矩阵,并左乘矩阵 T −1 ,右乘矩阵 U。其中 T 矩阵将图像数据旋转变换 为中心点为(0,0),并且离起始点的平均距离为 (2) ,而 U 矩阵对场景点采取与 T 同样的
变换。对图像 hall.pgm,
⎜⎛ 0.0038 0
0.2182 ⎟⎞
T = ⎜ 0 0.0038 −1.8793⎟
1
⎟⎜ ⎠⎝
0
0
0
0
⎛ ⎞⎜
Xc
⎞ ⎟
f 0
0 1
0⎟⎟⎜⎜ 0⎟⎠⎜⎜

Yc Zc 1
⎟ ⎟
⎟⎟ ⎠
(5). 当物坐标点为 (12m,7m,103m) 时,且 (u0, v0) = (250,250), (ku , kv ) = (41.7,−31.3) 带
入(4)中矩阵可得: w = (367,199) 。
=
2 arctan(
d 2f
)
= 2 arctan(
1), 3
FOLeabharlann BaiduV
= 2 arctan(
h 2f
)
= 2 arctan(
1)。 4
(3).视场对分辨率的影响为:视场越大分辨率越低,视场越小分辨率越高。
(4).应用:假设空间中一点在相机坐标系中的坐标为 X = ( Xc ,Yc , Zc ) ,其在像平面的投影
Computer Vision Homework1
1、CCD to Camera Transformation (1).假设像 平面的宽度 为 d,高度 为 h,相机 的焦距为 f,则横 向和纵向的 视场为:
FOVH
=
2 arctan(
d 2f
) , FOVV
=
2 arctan(
h 2f
)。
(2). FOVH
⎜⎛ − 0.3419 0.1040 0.0005 ⎟⎞ ⎜ 0.1040 0.9919 − 0.0000⎟ ⎜⎝ − 0.0005 0.0000 − 0.3500⎟⎠
由 hall1.pgm 产生的图像如下,结果显示其不如前两种方法精确。
对图像 Checkerboard.pgm 和 Railroad.pgm 采用同样的方法,每次选取场景中平面上的四个 点来确定消失点。对于铁路图像,花费了很长时间来生成。与 hall1 类似,我们可以看到 checkerboard 的图像与(a)部分和(b)部分相比较“扁”一些。结果如下:
,在 matlab 中模拟可以得
clear; clc; a=linspace(0,pi); b=linspace(0,2*pi); [theta,phi]=meshgrid(a,b);
r=4; z0=40; x0=40; f=24; x=f*((r*sin(phi).*cos(theta)+x0).)/(r*cos(phi)+z0); y=f*((r*sin(phi).*sin(theta)).)/(r*cos(phi)+z0);
相关文档
最新文档