Accurate Multiple View 3D Reconstruction using Patch-Based Stereo for Large-Scale Scenes——论文阅读笔记

论文阅读笔记:Accurate Multiple View 3D Reconstruction using Patch-Based Stereo for Large-Scale Scenes

一、立体对选择

对于图像集中的每个图像,我们需要为其选择一个参考图像以进行立体计算。立体图像对的选择不仅关系到立体匹配的准确性,而且关系到最终的MVS结果。立体对选择对于车载摄像头采集的数据或受控于环境的摄像头采集的数据(Middlebury数据)来说是一项相对容易的任务,但针对无序图像就比较困难了。好的候选参考图像应具有与目标图像相似的观察方向,并且具有合适的基线,既不能太短而降低重建精度,也不能太长而导致具有较少的场景公共覆盖。

假设我们有 n n n个图像,对其中的第 i i i个图像,我们计算相机 i i i j j j的主视图方向之间的角度 θ i j ( j = 1 , … , n ) θ_{ij}(j=1,\ldots,n) θij(j=1,,n)。如果使用SFM算法校准相机姿态,则生成一组稀疏3D点,使用相机 i i i j j j的可见点和相机中心之间角度的平均值可以计算出更好的 θ i j θ_{ij} θij。除了 θ i j θ_{ij} θij,我们还计算了另一个参数 d i j ( j = 1 , … , n ) d_{ij}(j=1,\ldots,n) dij(j=1,,n),对于每个图像 i i i d i j d_{ij} dij表示摄像机 i i i j j j的光学中心之间的距离。然后,对于满足 5 ˚ < θ i j < 60 ˚ 5˚<θ_{ij}<60˚ 5˚<θij<60˚的图像,我们计算其 d i j d_{ij} dij的中值 d ˉ \bar{d} dˉ,并移除 d i j > 2 d ˉ d_{ij}>2\bar{d} dij>2dˉ d i j < 0.05 d ˉ d_{ij}<0.05\bar{d} dij<0.05dˉ的图像。在这些计算之后,如果剩余图像的数目小于 k 1 k_1 k1,则将这些图像视为图像 i i i的相邻图像,表示为 N ( i ) N(i) N(i)。否则,剩余图像按照 θ i j ⋅ d i j θ_{ij}·d_{ij} θijdij按升序排序,前 k 1 k_1 k1张图像组成相邻图像 N ( i ) N(i) N(i)(在本文中,我们设置 k 1 = 10 k_1=10 k1=10)。最后,选择 N ( i ) N(i) N(i) θ i j ⋅ d i j θ_{ij}·d_{ij} θijdij最小的图像作为第 i i i幅图像的参考图像,形成立体对。

二、深度图的计算

对于每个符合条件的立体对,我们按照1中的想法计算深度贴图。其核心思想是,对输入图像中的每个像素,我们试图找到一个与参考图像具有最小聚合匹配代价的平面,如图 1 {\rm{1}} 1所示。支撑平面 f f f本质上是场景曲面的局部切平面,在相关摄像机的坐标系中,它由一个3D点和它的法线 n i n_i ni表示。

对于图像集中的第 i i i个输入图像 I i I_i Ii,给定其参考图像为 I j I_j Ij,以及相关的相机参数 { K i , R i , C i } {\lbrace}K_i,R_i,C_i{\rbrace} { KiRiCi} { K j , R j , C j } {\lbrace}K_j,R_j,C_j{\rbrace} { KjRjCj},我们首先将 I i I_i Ii中的每个像素 p p p分配给一个随机三维平面,其中 K K K是相机内参, R R R是旋转矩阵, C C C是相机中心。假设 p p p的齐次坐标为: p = [ u v 1 ] p=\left[ \begin{array}{c} u\\ v \\ 1 \end{array} \right] p=uv1
3D点 X i X_i Xi必须与像素 p p p在同一条直线上,我们在深度范围 λ ∈ [ λ m i n , λ m a x ] \lambda\in[\lambda_{min},\lambda_{max}] λ[λmin,λmax]中为 λ \lambda λ选择一个随机,则 X i X_i Xi C i C_i Ci的坐标中计算为: X i = λ K i − 1 p X_i={\lambda}K^{-1}_ip Xi=λKi1p
这 个 公 式 就 是 将 像 素 坐 标 转 化 为 世 界 坐 标 , 转 换 公 式 为 : \color{blue}{这个公式就是将像素坐标转化为世界坐标,转换公式为:} Z c [ u v 1 ] = [ 1 d x 0 u 0 0 1 d y v 0 0 0 0 ] [ f 0 0 0 0 f 0 0 0 0 1 0 ] [ R T 0 ⃗ 1 ] [ X w Y w Z w 1 ] = [ f x 0 u 0 0 0 f y v 0 0 0 0 1 0 ] [ R T 0 ⃗ 1 ] [ X w Y w Z w 1 ] Z_c\left[ \begin{array}{c} u\\ v\\ 1 \end{array} \right]=\left[ \begin{array}{c} \frac{1}{d_x} & 0 & u_0\\ 0 & \frac{1}{d_y} & v_0\\ 0& 0& 0 \end{array} \right] \left[ \begin{array}{c} f& 0 & 0&0\\ 0 & f& 0&0\\ 0& 0&1&0 \end{array} \right] \left[ \begin{array}{c} R& T\\ \vec{0} &1\\ \end{array} \right] \left[ \begin{array}{c} X_w\\ Y_w\\ Z_w\\ 1 \end{array} \right]= \left[ \begin{array}{c} f_x& 0&u_0&0\\ 0 &f_y&v_0&0\\ 0&0&1&0 \end{array} \right] \left[ \begin{array}{c} R& T\\ \vec{0} &1\\ \end{array} \right] \left[ \begin{array}{c} X_w\\ Y_w\\ Z_w\\ 1 \end{array} \right] Zcuv1=dx1000dy10u0v00f000f0001000[

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值