【PFTrack教程】如何将多个摄像机解算到一个场景中?(gif图文详解)
› VFX大学 › PFtrack,3DEqualizer,Mocha追踪 › 【PFTrack教程】如何将多个摄像机解算到一个场景中?(gif图文详解)
-
作者帖子
-
-
2018-01-16 - 19:28 #31464
当我们跟踪来自同一个地点的多个镜头时,非常重要的一点就是每个镜头都共享同一个坐标系统。这样我们可以确保关键位置和每个摄像机解算出来的位置是独立的。有一种简单的方法可以确保多个摄像机共享同一个坐标系统,那就是在 PFTrack 中将它们跟踪并解算到同一个场景。
本次教程的主要思路是:1. 导入片段和照片;2. 使用公共跟踪点解算摄像机;3. 使用摄影测量解算摄像机;4. 跟踪物体;5. 最终结果。
-
2018-01-16 - 19:49 #31468
1. 导入片段和照片
在本次教程中,我们选择了38张静帧照片来测量场景。
首先,我们将视频片段从文件浏览器直接拖拽到媒体库中,导入视频片段。
导入静帧照片时,要注意一下,将文件浏览器切换到静帧模式,再导入静帧,当静帧图像有不同的方向或文件名序号不连续时,这一点尤其重要。为了不弄乱默认媒体文件夹,我们可以将整个目录拖进媒体库,而不是一张一张拖图片。
-
2018-01-17 - 17:39 #31477
2. 使用公共的跟踪点解算摄像机
我们首先跟踪的是两个视频片段。使用公共跟踪点将两个或以上摄像机解算到一个场景中,这种方法不需要任何额外的数据,并且只要每个片段中有足够的公共特征点就会一直工作。
——————
跟踪公共特征点
为了识别和跟踪多个片段中的公共特征点,这些片段必须连接到同一个 User Track 节点中。通过在所有片段中放置并跟踪对应的跟踪点,我们可以在节点中创建公共特征点。
下图显示了两个片段中一个合适的公共特征点。
练习素材中的 camera_trackers.txt 文件中包含多个跟踪点,有的是这两个片段的公共跟踪点,有的是每个片段中一些额外的独有跟踪点。
——————
解算摄像机
下面,所有的 User Track 节点的输出都连接到一个 Camera Solver 节点上了。
在 Camera Solver 节点中,点击 Solve All,同时解算两个摄像机。我们可以在解算前分别调节每个摄像机的解算参数。
解算完成后,我们可以在 3D 视图中检查这两个摄像机的运动。
——————
解算后
解算好的场景可以由节点树传递下来,比如流入 Orient Scene、Test Object 和 Export 节点。Camera Solver 节点的每个输出都代表一个摄像机,所以我们需要把所有的输出都连接到下一个节点,这一点对那些可能更改坐标系的节点尤其重要,比如 Orient Scene 节点。
所有的摄像机都可以统一导出到一个 3D 场景文件中,当然,也可以单独导出。
-
2018-01-17 - 17:44 #31485
3. 使用测量图片解算摄像机
使用一个位置的测量静帧图像,是一种专门用来将多个运动摄像机解算到一个场景中的不同方法。使用这种方法,我们会使用 Photo Survey 节点从静帧图像中建立场景,然后在 Scene Solver 节点中以此解算移动摄像机。
——————
使用静帧图像
建议使用 Image Input 节点收集静帧图像,当图像方向不同或文件名序号不连续时这一点尤其重要。
将图片拖拽到 Image Input 节点的节点编辑器中,导入静帧图片。
我们可以在 Image Input 节点中对图像作一些操作和管理,比如指定图像的方向、垂直翻转或水平翻转等。
在本次案例中,静帧图像都是水平翻转+垂直翻转的,以免在 Cinema 中倒立显示。
——————
Photo Survey 节点
Photo Survey 节点会从静帧图像中创建一个场景和点云,这个过程是分两步完成的。第一步是自动寻找匹配特征点。
第二步会从这些特征点中创建点云。
我们应该从图片文件中读取 EXIF 数据,如果可用的话。
——————
定位场景
在本次案例中,我们是先定位场景,然后解算运动摄像机。不过这个顺序并不是一定要这样,我们也可以在后续阶段定位场景,这里说明一下。
在之前的教程中追光说过,如果已知两个跟踪点之间的距离,我们就可以设置一个正确的场景大小。靠在墙上的金属板上的两个铰链之间的距离,是实地测量过的。已知两个选中的跟踪点或点云点之间的距离,是可以提供给 Orient Scene 节点,以缩放场景的。
——————
解算视频摄像机
Scene Solver 节点是专门用来将运动摄像机解算到场景(该场景是由 Photo Survey 节点摄影测量过的)中的节点。Photo Survey 中的点云必须连到 Scene Solver 的第一个输入端,而运动摄像机需要连到额外的输入。
Photo Survey 中的数据进行初始化(初始化操作每个节点必须做一次)之后,就可以跟踪并解算额外的摄像机到场景中了。
-
2018-01-17 - 17:48 #31489
4. 跟踪物体
之前追光讲过好几种在 PFTrack 中跟踪一个独立的运动物体的方法。如果物体有几何体模型,我们可以使用几何体跟踪。还有我们传统的方法是使用 User Track 跟踪物体,然后使用 Object Solver 节点解算物体运动。
——————
跟踪物体
使用 User Track 节点跟踪物体的话,可以参考这个帖子:
但是要注意,因为跟踪点使用来解算物体而不是解算摄像机的,所以需要创建一个新的运动组。
box_trackers.txt 文件包含本次案例中用到的跟踪点,给大家做个参考对比一下。
——————
解算物体
Object Solver 节点可以将 2D 跟踪转换为物体运动,就像 Camera Solver 将 2D 跟踪转换为摄像机运动一样。
如果物体只在一个摄像机中可见,那么 Object Solver 将无法自动确定物体的大小。最终得到的结果,要么是一个离摄像机较远的大物体,要么是一个离摄像机较近的小物体。在这种情况下,可以使用 Distance From Camera 定位模式来缩放物体。
这里我们对物体进行缩放,在第一帧上,它的距离大约是 3.5m。
-
2018-01-17 - 17:50 #31491
5. 结果
使用第二种方法求出来的场景包含静帧图像的所有位置、点云、两个运动摄像机和运动物体。
-
2018-01-17 - 17:51 #31492
如有疑问,可以跟帖留言,追光会尽快回复噢。
如果喜欢追光的帖子,点击我的头像,加我为好友,就可以看到我得更新啦,也可给我发私信,点击帖子顶部得收藏放入收藏夹,方便将来再次查看~
本帖未经允许不得转载,禁止二次转载,转载请注明出处并保留在本站的完整链接,谢谢!
-
2018-03-26 - 18:19 #35765
版主你好。。。没有看懂 物体跟踪那一栏3.5米的含义 。没有看懂。。
-
2018-03-26 - 19:20 #35766
下午一直在拍摄,回复慢了一些。
在拍摄前实际测量过的距离,严格的后期特效的前期拍摄是需要做场景测量的。
1,测量前期场景的实际距离
2,记录前期使用摄影机的镜头,焦段,感光器大小,实际感光器大小,镜头畸变的参数之类的
比如说 filmback 是后期解算中非常重要的一个参数
最终的目的是:使后期反求出来的场景大小和前期的实际宽度,精确到毫米。也就是将点云拿去建模出来的实际大小和前期的场景的宽高,都是一致的。才能使后期的模型完整的嵌套到前期拍摄的物体上进行场景替换,角色,面部的替换。
-
-
2018-03-26 - 19:24 #35770
好的好的主要是我的跟踪全是反求的一点信息都没有。
-
2018-03-26 - 19:30 #35774
复杂的场景,前期信息一点都没有,后期的工作量要增加几十倍而且不一定能有好的结果。
-
-
-
作者帖子
- 在下方一键注册,登录后就可以回复啦。