『paper-CV-2』《GenNBV》
《Generalizable Next-Best-View Policy for Active 3D Reconstruction》
From IEEE/CVF Computer Vision and Pattern Recognition Conference (2024)
一、拟解决问题
- 大规模场景数字化:图像捕捉费时费力
- 现有 NBV 问题:基于实际经验的视角选取 + 人工限定的action范围,限制针对陌生场景的泛化能力
需要改进 NBV,使其支持任意场景下的主动探索
二、相关工作
- 传统三维重建:利用光度和几何信息进行重建评估,展现出大规模场景中的重建能力,但泛化性较差、实时性差
- 主动三维重建:NBV,依赖于人工制定视角选取标准,候选视角有限,仅在特定场景下表现较好,泛化性同样较差
三、研究方法
NBV 问题描述:(对无人机)给定当前观测 \(o_t\),执行 \(a_t\),到达下一个观测点 \(o_{t+1}\)
- 观测空间:\(o_t\) \(\leftarrow\) 过去所有捕捉的RGB图片 + 所有深度信息D + 所有5D位姿 \((x,y,z, y,p)\)
- 行动空间:相机三维位置空间 \((x, y, z)\) + 二维旋转空间 \((y, p)\)(不支持 \(r\))
可泛化状态嵌入:
几何表征:将 \(t\) 时刻场景划分为 3D Grids \(F_t^G\),用概率表示"occupied"、"free" 以及 "unscanned"
设 \(i^{th}\) 体素概率为 \(v_i\),\(z_j\) 表示相机 \(j^{th}\) 视线穿过 \(i^{th}\) 对应的体素之measurement
则有 \(\log \text{Odd}(v_i | z_j) = \log \text{Odd}(v_i) + C\),其中 \(c\) 是基于经验的更新常数语义表征:将当前 RGB \(I_t\) 和 灰化的过去 \(k\) 帧图 \([I_{t-1}, \dots, I_{t-k}]\) 拼接,再输入两层卷积网络提取融合特征 \(F_t^S\)
"语义表征" 可用于区分处理 hole 和 unscanned 区域,弥补了"几何表征"的缺陷
状态嵌入:\(s_t = \text{Linear}(s_t^G; s_t^S;s_t^A)\),其中 \(s_t^G = \text{Linear}(\text{Flatten}(F_t^G))\),\(s_t^A = \text{Linear}(a_{1:t})\)
"状态嵌入"进一步融合了多源信息(几何表征 + 语义表征 + action)Policy:将 \(s_t\) 作为输入,经过三层MLP,实现 \(a \sim \pi(\cdot | o_t)\)
优化过程:RL-based NBV
- 计算 occupied 比率:设置一个 occupied 阈值,计数 occupied voxels,得到被占用比率 \(\text{CR}_t = \dfrac{\tilde{N}_t}{N^{*}}\)
- 奖励函数:\(r^{\text{CR}}_t = \text{CR}_{t+1} - \text{CR}_t\),即鼓励无人机扫描更多的未知领域;若在自由空间发生碰撞,给予负奖励
- PPO 损失函数:\(L(\theta) = \mathbb{E}_t[\dfrac{\pi_\theta (a_t|s_t)}{\pi_{\theta_{\text{old}}}(a_t | s_t)}A^{\pi_{\theta_{\text{old}}}}(s_t, a_t)]\),限制新旧策略变化剧烈的同时提升策略增益 \(A\)