使用地平面单应性和高度的相机方向(用于体积雕刻)
Camera orientation(for volume carving) using Ground Plane Homography and Height
我正在尝试实现 this paper 中使用的 3D 重建技术
即体积雕刻
我正在使用 terrace 数据集,其中包含来自四个不同视图的视频。我从这些视频中提取了前景。现在要使用体积雕刻,我需要知道相机的相对位置。我很难找到这个。在校准文件中,我得到了 3*3 地平面单应矩阵和每个相机的高度。
相机 0
地平面单应性
-1.6688907435 -6.9502305710 940.69592392565
1.1984806153 -10.7495778320 868.29873467315
0.0004069210 -0.0209324057 0.42949125235
摄像机视图中的头部平面高度
10.590278
相机 1
地平面单应性
0.6174778372 -0.4836875683 147.00510919005
0.5798503075 3.8204849039 -386.096405131
0.0000000001 0.0077222239 -0.01593391935
摄像机视图中的头部平面高度
9.722222
相机 2
地平面单应性
-0.2717592338 1.0286363982 -17.6643219215
-0.1373600672 -0.3326731339 161.0109069274
0.0000600052 0.0030858398 -0.04195162855
摄像机视图中的头部平面高度
6.423611
相机 3
地平面单应性
-0.3286861858 0.1142963200 130.25528281945
0.1809954834 -0.2059386455 125.0260427323
0.0000693641 0.0040168154 -0.08284534995
摄像机视图中的头部平面高度
6.423611
获取相机位置和方向的方法是:
使用相机校准矩阵对 3*3 单应矩阵进行反规范化
将得到的单应矩阵分解为3*4投影矩阵
投影矩阵包含旋转和平移矩阵,平移会归一化位置信息。
将位置向量乘以高度,得到相机相对于地面坐标系的位置,给出了 3*3 单应矩阵。
使用 opencv 的内置函数可以完成 1-3 个步骤 DecomposeHomography
休息是直截了当的
我不认为你真的需要你所拥有的相对相机姿势(尽管你可以很容易地计算出它们)。你只需要每个相机的绝对位姿 w.r.t。参考平面,因为该平面定义了放置要雕刻的体积的 "world" 坐标系。您可以通过 RQ-decomposing 同形异象获得绝对姿势。
H = s * R * Q
s 是标量,R 是直角三角矩阵(相机矩阵),Q 是正交位姿矩阵。我假设 "head plane height" 可以为您提供绝对比例。
查看非常古老的 Szelisky 和 Kutulakos/Seitz 关于 space 雕刻的论文:
http://research-srv.microsoft.com/pubs/75650/Szeliski-CVGIPIU93.pdf
http://www.cs.toronto.edu/~kyros/pubs/00.ijcv.carve.pdf
我正在尝试实现 this paper 中使用的 3D 重建技术 即体积雕刻
我正在使用 terrace 数据集,其中包含来自四个不同视图的视频。我从这些视频中提取了前景。现在要使用体积雕刻,我需要知道相机的相对位置。我很难找到这个。在校准文件中,我得到了 3*3 地平面单应矩阵和每个相机的高度。
相机 0
地平面单应性
-1.6688907435 -6.9502305710 940.69592392565
1.1984806153 -10.7495778320 868.29873467315
0.0004069210 -0.0209324057 0.42949125235
摄像机视图中的头部平面高度 10.590278
相机 1
地平面单应性
0.6174778372 -0.4836875683 147.00510919005
0.5798503075 3.8204849039 -386.096405131
0.0000000001 0.0077222239 -0.01593391935
摄像机视图中的头部平面高度 9.722222
相机 2
地平面单应性
-0.2717592338 1.0286363982 -17.6643219215
-0.1373600672 -0.3326731339 161.0109069274
0.0000600052 0.0030858398 -0.04195162855
摄像机视图中的头部平面高度 6.423611
相机 3
地平面单应性
-0.3286861858 0.1142963200 130.25528281945
0.1809954834 -0.2059386455 125.0260427323
0.0000693641 0.0040168154 -0.08284534995
摄像机视图中的头部平面高度 6.423611
获取相机位置和方向的方法是:
使用相机校准矩阵对 3*3 单应矩阵进行反规范化
将得到的单应矩阵分解为3*4投影矩阵
投影矩阵包含旋转和平移矩阵,平移会归一化位置信息。
将位置向量乘以高度,得到相机相对于地面坐标系的位置,给出了 3*3 单应矩阵。
使用 opencv 的内置函数可以完成 1-3 个步骤 DecomposeHomography 休息是直截了当的
我不认为你真的需要你所拥有的相对相机姿势(尽管你可以很容易地计算出它们)。你只需要每个相机的绝对位姿 w.r.t。参考平面,因为该平面定义了放置要雕刻的体积的 "world" 坐标系。您可以通过 RQ-decomposing 同形异象获得绝对姿势。
H = s * R * Q
s 是标量,R 是直角三角矩阵(相机矩阵),Q 是正交位姿矩阵。我假设 "head plane height" 可以为您提供绝对比例。
查看非常古老的 Szelisky 和 Kutulakos/Seitz 关于 space 雕刻的论文:
http://research-srv.microsoft.com/pubs/75650/Szeliski-CVGIPIU93.pdf http://www.cs.toronto.edu/~kyros/pubs/00.ijcv.carve.pdf