六自由度同时追踪位置
别名: 六自由度 · 6DoF · 位置追踪 · translational tracking
概念解释
同一只花瓶,人往前迈半步、蹲下去,桌沿从视野里长出来,桌底的结构露出来。六自由度(6DoF, six degrees of freedom)在旋转之外同时追踪位置:世界坐标系里的前后、左右、上下。视点不再钉在球心,头在房间里移动,摄像机一起移动。探身、侧步、低头看手,这些日常用来确认深度的动作开始有对应的光流。
「同时」是这句话的载荷。不是有一个旋转系统再外挂一个位移开关,而是每一帧姿态都是旋转加位置的完整刚体变换。缺任何一轴,那一轴上的运动视差就不会出现。
机制
位置无法靠廉价惯性积分长期站住,所以六自由度系统要一个能看见世界或被世界看见的参照:灯塔基站、室内定位、头显上的相机对周围特征做即时定位与地图。得到的是头在房间里的三维坐标,与惯性测到的旋转融合成每一帧的视点。人蹲下十厘米,虚拟地面的近处纹理按透视展开,远处地平线几乎不动——这正是真实行走时视网膜上的那幅光流。
位置通道打开的是运动视差和可到达性。运动视差让深度在单目下也能从相对滑动里读出来;可到达性让手的工作空间和头的工作空间对齐——伸手碰到的地方,也是探头能看清的地方。这两件事都不来自分辨率,而来自摄像机被允许离开原点。
怎么研究
把同一套场景做成「位置开 / 位置关」的配对:旋转始终更新,只开关位移。任务用需要深度确认的动作,例如判断两根杆谁在前、从桌沿探头看被挡住的标签、把真实的手伸向虚拟杯把。
自变量:位置追踪开或关、允许的移动幅度(坐姿微动 / 站姿一步)、场景中近处结构的密度。 因变量:深度判断正确率、完成探视任务的时间、手眼到达点的误差、主观的「能走进去」评分。
房间尺度的走查用来看位置追踪是否在任务需要的那几米内稳定,而不是看它在空房间里能不能画轨迹。轨迹漂亮但任务用不到的位移,不能算作这套自由度被用上了。
边界
位置追踪的工作体积是物理的:外向式相机能看到的特征、灯塔能盖住的房间、线缆允许的半径。超出体积,六自由度在规格上仍是六自由度,实际上位置开始不可用。坐姿、头几乎不动的观影里,位置通道开着也很少被采样,六自由度的增量接近于零,不能用这种任务去证明「必须上位置追踪」。黑暗、无纹理的白墙、强反光会让视觉定位变差;这是实现条件,不是自由度定义改变。单目深度任务(远处地平线、天空盒)本身就不靠运动视差,开位置通道也买不来判断力。
怎么落地
- 把「需要走近、蹲下、侧头才能完成」的动作当作六自由度的验收用例,而不是当作彩蛋。桌下标签、从柱子后露出的指示、伸手可及的控件,都是在用位置通道。
- 近处结构要经得起探身:桌沿、窗框、栏杆这些会在位移下产生大视差的物体,几何和碰撞体必须对准,否则位置通道一开,破绽比关着更刺眼。
- 坐姿应用若没有任何需要位移的动作,不要把六自由度写进卖点;写进卖点的,就要在前三十秒里让人用一次探身或蹲下,否则通道等于没开。
- 验证:请人完成一个必须离开初始头位才能看见答案的任务(标签在桌下、箭头在立柱侧面)。做得到,位置在被用;靠转头就能完成,任务没有在测六自由度。