视觉三维重建中不同三角网格视角的选择

每个三角网格可能被多个视角所看到,但每个三角网格只选择一个视角获取纹理

视角的选择应当考虑到以下因素:

  1. 三角网格在视角中的可视性
  2. 三角网格在视角图像的细节丰富程度
  3. 三角网格在视角图像中的尺度
  4. 相邻三角网格尽量具有相同视角

判断可视性

  1. 法向量与负视线方向的夹角要小于一定值
  2. 视线方向与相机朝向的夹角要小于一定值
  3. 碰撞检测(BVH)

数学模型

马尔科夫随机场

\[E(l)=\sum_{F_{i} \in \text { Faces }} E_{\text { data }}\left(F_{i}, l_{i}\right)+\sum_{\left(F_{i}, F_{j}\right) \in \text { Edges }} E_{\text { smooth }}\left(F_{i}, F_{j}, l_{i}, l_{j}\right) \]

数据项

  1. 纹理细节--投影三角形的平均梯度(一般转化为灰度图)
  2. 尺度--投影三角形的面积

\[E_{\mathrm{data}}=-\int_{\phi\left(F_{i}, l_{i}\right)}\left\|\nabla\left(I_{l_{i}}(p)\right)\right\|_{2} \mathrm{d} p \\ l_{i} \quad 表示视角\\ \nabla\left(I_{l_{i}}(p)\right)表示投影点处的梯度\\ \phi\left(F_{i}, l_{i}\right)表示三角形的投影区域 \]

由于像素离散性,在投影三角形上均匀取点计算梯度平均值,再乘以三角形面积。

平滑项

\[E_{\mathrm{smooth}}=\left[l_{i} \neq l_{j}\right] \]

如果两个三角网格不相邻添加罚项

posted @ 2019-05-21 21:40  narjaja  阅读(554)  评论(0编辑  收藏  举报