Multi-View Mesh Reconstruction with Neural Deferred Shading

Multi-View Mesh Reconstruction with Neural Deferred Shading

1、Introduction

  • point-nerf和mobile-nerf和这篇都把mesh(geometry)和mlp联合优化。

  • Problem: While fully neural approaches are general, both in terms of geometry and appearance, current methods exhibit excessive runtime, making them impractical for domains that handle a large number of objects or multi-view video (e.g. of human performances).

  • We propose Neural Deferred Shading (NDS), a fast analysis-by-synthesis method that combines triangle meshes and neural rendering. The rendering pipeline is inspired by real-time graphics and implements a technique called deferred shading: a triangle mesh is first rasterized and the pixels are then processed by a neural shader that models the interaction of geometry, material, and light. Since the rendering pipeline, including rasterization and shading, is differentiable, we can optimize the neural shader and the surface mesh with gradient descent . The explicit geometry representation enables fast convergence while the neural shader maintains the generality of the modeled appearance.

2、Method

Given a set of images I = { I 1 , ⋅ ⋅ ⋅ , I n } I = \{I_1, · · · , I_n\} I={I1,⋅⋅⋅,In} from calibrated cameras and corresponding masks M = { M 1 , ⋅ ⋅ ⋅ , M n } M = \{M_1, · · · , M_n\} M={M1,⋅⋅⋅,Mn}, we want to estimate the 3D surface of an object shown in the images. To this end, we follow an analysis-by-synthesis approach: we find a surface that reproduces the images when rendered from the camera views. In this work, the surface is represented by a triangle mesh G = ( V , E , F ) G = (V, E, F) G=(V,E,F), consisting of vertex positions V , a set of edges E, and a set of faces F. We solve the optimization problem using gradient descent and gradually deform a mesh based on an objective function that compares renderings of the mesh to the input images.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uEmkQ447-1661506026965)(C:\Users\47008\AppData\Roaming\Typora\typora-user-images\image-20220808194739207.png)]

2.1. Neural Deferred Shading

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2YqPKYCw-1661506026966)(C:\Users\47008\AppData\Roaming\Typora\typora-user-images\image-20220808194845592.png)]

Given a camera i, the mesh is rasterized in a first pass, yielding a triangle index and barycentric coordinates per pixel. This information is used to interpolate both vertex positions and vertex normals, creating a geometry buffer (g-buffer) with per-pixel positions and normals. In a second pass, the g-buffer is processed by a learned shader with parameters θ \theta θ.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-80OGzGVA-1661506026967)(C:\Users\47008\AppData\Roaming\Typora\typora-user-images\image-20220808202534566.png)]

The shader returns an RGB color value for a given position x ∈ R 3 x ∈ R^3 xR3, normal n ∈ R 3 n ∈ R^3 nR3, and view direction ω o = c i − x ∥ c i − x ∥ ω_o = \frac{ci−x} {∥ci−x∥} ωo=cixcix, with c i ∈ R 3 c_i ∈ R^3 ciR3 the center of camera i. It is optimized together with the geometry.

In addition to a color image, the renderer also produces a mask that indicates if a pixel is covered by the mesh.

2.2. Objective Function

Finding an estimate of shape and appearance formally corresponds to solving the following minimization problem in our framework:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8hrWDhbn-1661506026967)(C:\Users\47008\AppData\Roaming\Typora\typora-user-images\image-20220808210951145.png)]

where L a p p e a r a n c e L_{appearance} Lappearance compares the rendered appearance of the estimated surface to the camera images and L g e o m e t r y L_{geometry} Lgeometry regularizes the mesh to avoid undesired vertex configurations.

2.2.1. Apperance

The appearance objective is composed of two terms:

(img-50mfSjTV-1661506026968)(C:\Users\47008\AppData\Roaming\Typora\typora-user-images\image-20220808212350601.png)]

where the shading term:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XI1Q9huJ-1661506026968)(C:\Users\47008\AppData\Roaming\Typora\typora-user-images\image-20220808212407535.png)]

ensures that the color images produced by the shader I i ~ \widetilde{I_i} Ii correspond to the input images and the silhouette term ensures that the rendered masks M i ~ \widetilde{M_i} Mi match the input masks for all views.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bF7zq4Yx-1661506026969)(C:\Users\47008\AppData\Roaming\Typora\typora-user-images\image-20220808213735000.png)]

Formally, the masks M i ~ \widetilde{M_i} Mi are functions of the geometry G G G and the parameters of camera i.

Separating the shading from the silhouette objective mainly has performance reasons: For a camera view i, the rasterization considers all pixels in the image, therefore computing the mask M i ~ \widetilde{M_i} Mi is cheap. However, shading is more involved and requires invoking the neural shader for all pixels after rasterization, which is an expensive operation. In practice, we only shade a subset of pixels inside the intersection of input and rendered masks while comparing the silhouette for all pixels.

2.2.2. Geometry Regularization

Naively moving the vertices unconstrained in each iteration quickly leads to undesirable meshes with degenerate triangles and self-intersections.We use a geometry regularization term that favors smooth solutions and is inspired by Luan et al. :

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7TOM6XxW-1661506026969)(C:\Users\47008\AppData\Roaming\Typora\typora-user-images\image-20220808214411565.png)]

Let V ∈ R n × 3 V ∈ R^{n×3} VRn×3 be a matrix with vertex positions as rows, the Laplacian term is defined as:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Ku67TdC-1661506026970)(C:\Users\47008\AppData\Roaming\Typora\typora-user-images\image-20220808214501848.png)]

where

在这里插入图片描述

are the differential coordinates of vertex i, L ∈ R n × n L ∈ R^{n×n} LRn×n is the graph Laplacian of the mesh G. Intuitively, by minimizing the magnitude of the differential coordinates of a vertex, we minimize its distance to the average position of its neighbors.

The normal consistency term is defined as:

在这里插入图片描述

where F ‾ \overline{F} F is the set of triangle pairs that share an edge and n i ∈ R 3 n_i ∈ R^3 niR3 is the normal of triangle i (under an arbitrary ordering of the triangles). It computes the cosine similarity between neighboring face normals and enforces additional smoothness.

2.3.3. Optimization

Our optimization starts from an initial mesh that is computed from the masks and resembles a visual hull. Alternatively, it can start from a custom mesh.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
multi-beam imaging是一种在医学图像处理中常用的技术,它可以提高图像的分辨率和质量。在MATLAB中有多种方法可以实现multi-beam imaging。 首先,可以使用信号处理工具箱中的beamforming算法来实现multi-beam imaging。Beamforming是一种将多个接收到的信号进行合并处理的技术,通过合并不同的信号,可以增强图像的对比度和清晰度。在MATLAB中,可以使用beamformplot函数来进行beamforming操作,并通过调整参数来优化图像质量。 其次,可以利用MATLAB中的超分辨率图像重建算法来实现multi-beam imaging。超分辨率图像重建是一种通过将多幅低分辨率图像合成为一幅高分辨率图像的技术,可以提高图像的细节和清晰度。在MATLAB中,可以使用Super-resolution Image Reconstruction (SRR) Toolbox来实现超分辨率图像重建,并通过调整参数和算法来优化multi-beam imaging效果。 最后,还可以利用图像后处理技术来进一步改善multi-beam imaging结果。例如,可以使用图像增强技术来增强细节和对比度,可以使用图像去噪技术来降低噪声干扰,可以使用图像分割技术来提取感兴趣的结构等。MATLAB中有丰富的图像后处理工具箱,可以使用这些工具来进行multi-beam imaging后处理。 总之,利用MATLAB中的信号处理和图像处理工具,可以实现高质量的multi-beam imaging。通过选择合适的算法和调整参数,可以优化multi-beam imaging的效果,提高图像的分辨率和质量。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值