Monocular Real-Time Volumetric Performance Capture

Ruilong Li, Yuliang Xiu, Shunsuke Saito, Zeng Huang, Kyle Olszewski, Hao Li

Introduction

Videoconferencing using a single camera is still the most common approach face-to-face communication over long distances, despite recent advances in virtual and augmented reality and 3D displays that allow for far more immersive and compelling interaction. The reason for this is simple: convenience. Though the technology exists to obtain high-fidelity digital representations of one’s specific appearance that can be rendered from arbitrary viewpoints, existing methods to capture and stream this data require cumbersome capture technology, such as a large number of calibrated cameras or depth sensors, and the expert knowledge to install and deploy these systems. Videoconferencing, on the other hand, simply requires a single video camera, such as those found on common consumer devices, e.g. laptops and smartphones. Thus, if we can capture a complete model of a person’s unique appearance and motion from a single consumer-grade camera, we can bridge the gap preventing novice users from engaging in immersive communication in virtual environments.

However, successful reconstruction of not only the geometry but also the texture of a person from a single viewpoint poses significant challenges due to depth ambiguity, changing topology, and severe occlusions. To address these challenges, data-driven approaches using high-capacity deep neural networks have been employed, demonstrating significant advances in the fidelity and robustness of human modeling . In particular, Pixel-Aligned Implicit Function (PIFu) achieves fully-textured reconstructions of clothed humans with a very high resolution that is infeasible with voxel-based approaches. On the other hand, the main limitation of PIFu is that the subsequent reconstruction process is not fast enough for real-time applications: given an input image, PIFu densely evaluates 3D occupancy fields, from which the underlining surface geometry is extracted using the Marching Cubes algorithm . After the surface mesh reconstruction, the texture on the surface is inferred in a similar manner. Finally, the colored meshes are rendered from arbitrary viewpoints. The whole process takes tens of seconds per object when using a 2563256^{3} resolution. Our goal is to achieve such fidelity and robustness with the highly efficient reconstruction and rendering speed for real-time applications.

To this end, we introduce a novel surface reconstruction algorithm, as well as a direct rendering method that does not require extracting surface meshes for rendering. The newly introduced surface localization algorithm progressively queries 3D locations in a coarse-to-fine manner to construct 3D occupancy fields with a smaller number of points to be evaluated. We empirically demonstrate that our algorithm retains the accuracy of the original reconstruction, while being two orders of magnitude faster than the brute-force baseline. Additionally, combined with the proposed surface reconstruction algorithm, our implicit texture representation enables direct novel-view synthesis without geometry tessellation or texture mapping, which halves the time required for rendering. As a result, we enable 1515 fps processing time with a 2563256^{3} spatial resolution for volumetric performance capture.

In addition, we present a key enhancement to the training method of to further improve the quality and efficiency of reconstruction. To suppress failure cases that rarely occur during training due to the unbalanced data distribution with respect to viewing angles, poses and clothing styles, we introduce an adaptive data sampling algorithm inspired by the Online Hard Example Mining (OHEM) method . We incrementally update the sampling probability based on the current prediction accuracy to train more frequently with hard examples without manually selecting these samples. We find this automatic sampling approach highly effective for reducing artifacts, resulting in state-of-the-art accuracy.

The first approach to full-body performance capture at real-time speed from monocular video not requiring a template. From a single image, our approach reconstructs a fully textured clothed human under a wide range of poses and clothing types without topology constraints.

A progressive surface localization algorithm that makes surface reconstruction two orders of magnitude faster than the baseline without compromising the reconstruction accuracy, thus achieving a better trade-off between speed and accuracy than octree-based alternatives.

A direct rendering technique for novel-view synthesis without explicitly extracting surface meshes, which further accelerates the overall performance.

An effective training technique that addresses the fundamental imbalance in synthetically generated training data. Our Online Hard Example Mining method significantly reduces reconstruction artifacts and improves the generalization capabilities of our approach.

Related Work

Volumetric performance capture has been widely used to obtain human performances for free-viewpoint video or high-fidelity geometry reconstruction . To obtain the underlining geometry with an arbitrary topology, performance capture systems typically use general cues such as silhouettes , mutli-view correspondences , and reflectance information . While these approaches successfully reconstruct geometry with an arbitrary topology, they require a large number of cameras with accurate calibration and controlled illumination. Another approach is to leverage commodity depth sensors to directly acquire 3D geometry. Volumetric fusion approaches have been used to jointly optimize for the relative 3D location and 3D geometry, incrementally updated from the captured sequence using a single depth sensor in real-time . Later, this incremental geometry update was extended to non-rigidly deforming objects and joint optimization with reflectance . While these approaches do not require a template or category-specific prior, they only support relatively slow motions. Multi-view systems combined with depth sensors significantly improve the fidelity of the reconstructions and both hardware and software improvements further facilitate the trend of high-fidelity volumetric performance capture . However, the hardware requirements make it challenging to deploy these systems for non-professional users.

Template-based Performance Capture

To relax the constraints of traditional volumetric performance capture, one common approach is to use a template model as an additional prior. Early works use a precomputed template model to reduce the number of viewpoints and improve the reconstruction quality . Template models are also used to enable performance capture from RGBD input . However, these systems still rely on well-conditioned input from multiple viewpoints. Instead of a personalized template model, articulated morphable models such as SCAPE or SMPL are also widely used to recover human pose and shapes from video input , a single image , or RGBD input . More recently, components corresponding to hands and faces were incorporated into a body model to perform more holistic performance capture from multi-view input , which was later extended to monocular input as well . Although the use of a parameteric model greatly eases the ill-posed nature of monocular performance capture, the lack of personalized details such as clothing and hairstyles severely impairs the authenticity of the captured performance. Recently Xu et al. demonstrated that articulated personalized avatars can be tracked from monocular RGB videos by incorporating inferred sparse 2D and 3D keypoints . The most relevant work to our approach is , which is the real-time extension of with the reconstruction fidelity also improved with an adaptive non-rigidity update. Unlike the aforementioned template-based approaches, our method is capable of representing personalized details present in the input image without any preprocessing, as our approach is based on a template-less volumetric representation, enabling topological updates and instantaneously changing the subject.

Deep Learning for Human Modeling

To infer fine-grained 3D shape and appearance from unconstrained images, where designing hand-crafted features is non-trivial, we need a high-capacity machine learning algorithm. The advent of deep learning showed promise by eliminating the need for hand-crafted features and demonstrated groundbreaking performance for human modeling tasks in the wild . Fully convolutional neural networks have been used to infer 3D skeletal joints from a single image , which are used as building blocks for monocular performance capture systems . For full-body reconstruction from a single image, various data representations have been explored, including meshes , dense correspondences , voxels , silhouettes , and implicit surfaces . Notably, deep learning approaches using implicit shape representations have demonstrated significantly more detailed reconstructions by eliminating the discretization of space . Saito et al. further improve the fidelity of reconstruction by combining fully convolutional image features with implicit functions, and demonstrate that these implicit field representations can be extended to continuous texture fields for effective 3D texture inpainting without relying on precomputed 2D parameterizations. However, the major drawback of these implicit representations is that the inference is time-consuming due to the dense evaluation of the network in 3D space, which prevents its use for real-time applications. Though we base our 3D representation on for high-fidelity and memory-efficient 3D reconstruction, our novel surface inference and rendering algorithms significantly accelerate the reconstruction and visualization of the implicit surface.

Method

In this section, we describe the overall pipeline of our algorithm for real-time volumetric capture (Fig. 2). Given a live stream of RGB images, our goal is to obtain the complete 3D geometry of the performing subject in real-time with the full textured surface, including unseen regions. To achieve an accessible solution with minimal requirements, we process each frame independently, as tracking-based solutions are prone to accumulating errors and sensitive to initialization, causing drift and instability . Although recent approaches have demonstrated that the use of anchor frames can alleviate drift, ad-hoc engineering is still required to handle common but extremely challenging scenarios such as changing the subject.

For each frame, we first apply real-time segmentation of the subject from the background. The segmented image is then fed into our enhanced Pixel-Aligned Implicit Function (PIFu) to predict continuous occupancy fields where the underlining surface is defined as a 0.50.5-level set. Once the surface is determined, texture inference on the surface geometry is also performed using PIFu, allowing for rendering from any viewpoint for various applications. As this deep learning framework with effective 3D shape representation is the core building block of the proposed system, we review it in Sec. 3.1, describe our enhancements to it, and point out the limitations on its surface inference and rendering speed. At the heart of our system, we develop a novel acceleration framework that enables real-time inference and rendering from novel viewpoints using PIFu (Sec. 3.2). Furthermore, we further improve the robustness of the system by sampling hard examples on the fly to efficiently suppress failure modes in a manner inspired by Online Hard Example Mining (Sec. 3.3).

PIFu first extracts an image feature obtained from a fully convolutional image encoder gO(I)g_{O}(\mathbf{I}) by a differentiable sampling function Φ(Pxy,gO(I))\Phi(\mathbf{P}_{xy},g_{O}(\mathbf{I})) (following , we use a bilinear sampling function for Φ\Phi). Given the sampled image feature, a function parameterized by another neural network fOf_{O} estimates the occupancy of a queried point P\mathbf{P} as follows:

PIFu uses a fully convolutional architecture for gOg_{O} to obtain image features that are spatially aligned with the queried 3D point, and a Multilayer Perceptron (MLP) for the function fOf_{O}, which are trained jointly in an end-to-end manner. Aside from the memory efficiency for high-resolution reconstruction, this representation especially benefits volumetric performance capture, as the spatially aligned image features ensure the 3D reconstruction retains details that are present in input images, e.g. wrinkles, hairstyles, and various clothing styles. Instead of L2L2 loss as in , we use a Binary Cross Entropy (BCE) loss for learning the occupancy fields. As it penalizes false negatives and false positives more harshly than the L2L2 loss, we obtain faster convergence when using BCE.

Additionally, the same framework can be applied to texture inference by predicting vector fields instead of occupancy fields as follows:

where given a surface point P\mathbf{P}, the implicit function T\mathbf{T} predicts RGB color C\mathbf{C}. The advantage of this representation is that texture inference can be performed on any surface geometry including occluded regions without requiring a shared 2D parameterization . We use the L1L1 loss from the sampled point colors.

Furthermore, we made several modifications to the original implementation of to further improve the accuracy and efficiency. For shape inference, instead of the stacked hourglass , we use HRNetV2-W18-Small-v2 as a backbone, which demonstrates superior accuracy with less computation and parameters. We also use conditional batch normalization to condition the MLPs on the sampled image features instead of the concatenation of these features to the queried depth value, which further improves the accuracy without increasing computational overhead. Additionally, inspired by an ordinal depth regression approach , we found that representing depth PzP_{z} as a soft one-hot vector more effectively propagates depth information, resulting in faster convergence. For texture inference, we detect the visible surface from the reconstruction and directly use the color from the corresponding pixel, as these regions do not require any inference, further improving the realism of free viewpoint rendering. We provide additional ablation studies to validate our design choices in the appendix.

In , the entire digitization pipeline starts with the dense evaluation of the occupancy fields in 3D, from which the surface mesh is extracted using Marching Cubes . Then, to obtain the fully textured mesh, the texture inference module is applied to the vertices on the surface mesh. While the implicit shape representation allows us to reconstruct 3D shapes with an arbitrary resolution, the evaluation in the entire 3D space is prohibitively slow, requiring tens of seconds to process a single frame. Thus, acceleration by at least two orders of magnitude is crucial for real-time performance.

2 Real-Time Inference and Rendering

To reduce the computation required for real-time performance capture, we introduce two novel acceleration techniques. First, we present an efficient surface localization algorithm that retains the accuracy of the brute-force reconstruction with the same complexity as naive octree-based reconstruction algorithms. Furthermore, since our final outputs are renderings from novel viewpoints, we bypass the explicit mesh reconstruction stage by directly generating a novel-view rendering from PIFu. By combining these two algorithms, we can successfully render the performance from arbitrary viewpoints in real-time. We describe each algorithm in detail below.

The major bottleneck of the pipeline is the evaluation of implicit functions represented by an MLP at an excessive number of 3D locations. Thus, substantially reducing the number of points to be evaluated would greatly increase the performance. The octree is a common data representation for efficient shape reconstruction which hierarchically reduces the number of nodes in which to store data. To apply an octree for an implicit surface parameterized by a neural network, recently propose an algorithm that subdivides grids only if it is adjacent to the boundary nodes (i.e., the interface between inside node and outside node) after binarizing the predicted occupancy value. We found that this approach often produces inaccurate reconstructions compared to the surface reconstructed by the brute force baseline (see Fig. 3). Since a predicted occupancy value is a continuous value in the range $$, indicating the confidence in and proximity to the surface, another approach is to subdivide grids if the maximum absolute deviation of the neighbor coarse grids is larger than a threshold. While this approach allows for control over the trade-off between reconstruction accuracy and acceleration, we also found that this algorithm either excessively evaluates unnecessary points to perform accurate reconstruction or suffers from impaired reconstruction quality in exchange for higher acceleration. To this end, we introduce a surface localization algorithm that hierarchically and precisely determines the boundary nodes.

We illustrate our surface localization algorithm in Fig. LABEL:fig:algo_recon. Our goal is to locate grid points where the true surface exists within one of the adjacent nodes at the desired resolution, as only the nodes around the surface matter for surface reconstruction. We thus use a coarse-to-fine strategy in which boundary candidate grids are progressively updated by culling unnecessary evaluation points.

Given the occupancy prediction at the coarser level, we first binarize the occupancy values with threshold of 0.50.5, and apply interpolation (i.e., bilinear for 2D cases, and trilinear for 3D) to tentatively assign occupancy values to the grid points at the current level (Fig. LABEL:fig:algo_recon(a)). Then, we extract the boundary candidates by extracting the grid points whose values are neither nor 11. To cover sufficiently large regions, we apply a dilation operation to incorporate the 11-ring neighbor of these boundary candidates (Fig. LABEL:fig:algo_recon(b)). These selected nodes are evaluated with the network and the occupancy values at these nodes are updated. Note that if we terminate at this point and move on to the next level, the true boundary candidates may be culled similar to the aforementioned acceleration approaches. Thus, as an additional step, we detect conflict nodes by comparing the binarized values of the interpolation and the network prediction for the boundary candidates. The key observation is that there must be a missing surface region when the value of prediction and the interpolation is inconsistent. The nodes adjacent to the conflict nodes are evaluated with the network iteratively until all the conflicts are resolved (Fig. LABEL:fig:algo_recon(c)).

Fig. LABEL:fig:algo_recon shows the octree-based reconstruction with binarization and the subdivision with a higher threshold suffers from inaccurate surface localization. While the subdivision approach with a lower threshold can prevent inaccurate reconstruction, an excessive number of nodes are evaluated. On the other hand, our approach not only extracts the accurate surface but also effectively reduces the number of nodes to be evaluated (see the number of blue-colored nodes).

Mesh-free Rendering.

While the proposed localization algorithm successfully accelerates surface localization, our end goal is rendering from novel viewpoints, and from any viewpoint a large portion of the reconstructed surface is not visible. Furthermore, PIFu allows us to directly infer texture at any point in 3D space, which can substitute the traditional rendering pipeline, where an explicit mesh is required to rasterize the scene. In other words, we can directly generate a novel-view image if the surface location is given from the target viewpoint. Motivated by this observation, we propose a view-based culling algorithm together with a direct rendering method for implicit data representations . Note that while recently differentiable sphere tracing and ray marching approaches have been proposed to directly render implicit fields, these methods are not suitable for real-time rendering, as they sacrifice computational speed for differentiability to perform image-based supervision tasks.

Fig. 4 shows the overview of the view-based surface extraction algorithm. For efficient view-based surface extraction, note that the occupancy grids are aligned with the normalized device coordinates defined by the target view instead of the model or world coordinates. That is, the xx and yy axes in the grid are corresponding to the pixel coordinates and the zz axis is aligned with camera rays. Thus, our first objective is to search along the zz axis to identify the first two consecutive nodes within which the surface geometry exists.

First, we apply the aforementioned surface localization algorithm up to the (L−1)(L-1)-th level, where 2L×2L×2L2^{L}\times 2^{L}\times 2^{L} is the target spatial resolution. Then, we upsample the binarized prediction at the (L−1)(L-1)-th level using interpolation and apply the argmax operation along the zz axis. The argmax operation provides the maximum value and the corresponding zz index along the specified axis, where higher zz values are closer to the observer. We denote the maximum value and the corresponding index at a pixel q\mathbf{q} by Omax(q)O_{max}(\mathbf{q}) and imax(q)i_{max}(\mathbf{q}) respectively. Note that if multiple nodes contain the same maximum value, the function returns the smallest index. If Omax(q)=1O_{max}(\mathbf{q})=1, the nodes whose indices are greater than imax(q)i_{max}(\mathbf{q}) are always occluded. Therefore, we treat these nodes as shadow nodes which are discarded for the network evaluation (Fig. 4(a)). Once shadow nodes are marked, we evaluate the remaining nodes with the interpolated value of 0.50.5 and update the occupancy values (Fig. 4(b)). Finally, we apply binarization to the current occupancy values and perform the argmax operation again along the zz axis to obtain the updated nearest-point indices. For the pixels with Omax(q)=1O_{max}(\mathbf{q})=1, we take the nodes with the index of imax(q)−1i_{max}(\mathbf{q})-1 and imax(q)i_{max}(\mathbf{q}) as surface points and compute the 3D coordinates of surface P(q)\mathbf{P}(\mathbf{q}) by interpolating these two nodes by the predicted occupancy value (Fig. 4(c)). Then a novel-view image R\mathbf{R} is rendered as follows:

3 Online Hard Example Mining for Data Sampling

As in , the importance-based point sampling for shape learning is more effective than uniform sampling within a bounding box to obtain highly detailed surfaces. However, we observe that this sampling strategy alone still fails to accurately reconstruct challenging poses and viewing angles, which account for only a small portion of the entire training data (see Fig. 5). Although one solution is to synthetically augment the dataset with more challenging training data, manually designing such a data augmentation strategy is non-trivial because various attributes (e.g., poses, view angles, illuminations, and clothing types) may contribute to failure modes, and they are highly entangled.

Nevertheless, the success of importance sampling in illustrates that changing the data sampling distribution directly influences the quality of the reconstruction. This observation leads us to a fundamental solution to address the aforementioned training data bias without domain-specifig knowledge. The key idea is to have the network automatically discover hard examples without manual intervention and adaptively change the sampling probability. We will first formulate the problem and solution in a general form and then develop an algorithm for our specific problem. While there are some works address the data bias problem using online hard negative mining (OHEM) strategy in various tasks such as learning image descriptors, image classifiers, and object detection, each employs a mining strategy specific to their task. So it is non-trivial to extend there algorithms to another problem. On the contrary, our formulation is general and can be applied to any problem domain as it requires no domain-specific knowledge.

Given a dataset M\mathcal{M}, a common approach for supervised learning is to define an objective function LmL_{m} per data sample mm and reduce an error within a mini-batch using optimizers (e.g., SGD, Adam ). Assuming uniform distribution for data sampling, we are minimizing the following function L\mathcal{L} w.r.t. variables (i.e., network weights) over the course of iterative optimization:

Now suppose the dataset is implicitly clustered into SS classes denoted as {Mi}\{\mathcal{M}_{i}\} based on various attributes (e.g., poses, illumination). Eq. 4 can be written as:

where Pi=∥Mi∥∥M∥P_{i}=\frac{\|\mathcal{M}_{i}\|}{\|\mathcal{M}\|} is the sampling probability of the cluster Mi\mathcal{M}_{i} among all the data samples. As shown in Eq. 5, the objective functions in each cluster are weighted by the probability PiP_{i}. This indicates that hard examples with lower probability are outweighed by the majority of the training data, resulting in poor reconstruction. On the other hand, if we modify the sampling probability of data samples in each cluster to be proportional to the inverse of the class probability Pi−1P^{-1}_{i}, we can effectively penalize hard examples by removing this bias.

In our problem setting, the goal is to define the sampling probability per target image PimP_{\text{im}} and per 3D point PptP_{\text{pt}}, or alternatively to define the inverse of these directly. Note that the inverse of probability needs to be positive and not to go to infinity. By assuming the accuracy of prediction is correlated with class probability, we approximate the probability of occurrence of each image by an accuracy measurement as Pim∼IoUP_{\text{im}}\sim\text{IoU}, where IoU is computed by the sampled nOn_{O} points for each image. Similarly, we use a Binary Cross Entropy loss to approximate the original probability of sampling points. Based on these approximations, we model the inverse of the probabilities as follows:

where α\alpha and β\beta are hyperparameters. In our experiments, we use αi=0.15\alpha_{\text{i}}=0.15, βi=10.0\beta_{\text{i}}=10.0, αp=0.7\alpha_{\text{p}}=0.7 and βp=0.0\beta_{\text{p}}=0.0. During training, we compute Pim−1P^{-1}_{\text{im}} and Ppt−1P^{-1}_{\text{pt}} for each mini-batch and store the values for each data point, which are later used as the online sampling probability of each image and point after normalization. We refer to OHEM for images and points item-ohem and point-ohem respectively. Please refer to Sec. 4.1 for the ablation study to validate the effectiveness of our sampling strategy.

Results

We train our networks using NVIDIA GV100s with 512×512512\times 512 images. During inference, we use a Logitech C920 webcam on a desktop system equipped with 62 GB RAM, a 6-core Intel i7-5930K processor, and 2 GV100s. One GPU performs geometry and color inference, while the other performs surface reconstruction, which can be done in parallel in an asynchronized manner when processing multiple frames. The overall latency of our system is on average 0.25 second.

We evaluate our proposed algorithms on the RenderPeople and BUFF datasets , and on self-captured performances. In particular, as public datasets of 3D clothed humans in motion are highly limited, we use the BUFF datasets for quantitative comparison and evaluation and report the average error measured by the Chamfer distance and point-to-surface (P2S) distance from the prediction to the ground truth. We provide implementation details, including the training dataset and real-time segmentation module, in the appendix.

In Fig. 1, we demonstrate our real-time performance capture and rendering from a single RGB camera. Because both the reconstructed geometry and texture inference for unseen regions are plausible, we can obtain novel-view renderings in real-time from a wide range of poses and clothing styles. We provide additional results with various poses, illuminations, viewing angles, and clothing in the appendix and supplemental video.

Fig. 3 shows a comparison of surface reconstruction algorithms. The surface localization based on a binarized octree does not guarantee the same reconstruction as the brute-force baseline, potentially losing some body parts. The octree-based reconstruction with a threshold shows the trade-off between performance and accuracy. Our method achieves the best acceleration without any hyperparameters, retaining the original reconstruction accuracy while accelerating surface reconstruction from 3030 seconds to 0.140.14 seconds (77 fps). By combining it with our mesh-free rendering technique, we require only 0.060.06 seconds per frame (1515 fps) for novel-view rendering at the volumetric resolution of 2563256^{3}, enabling the first real-time volumetric performance capture from a monocular video.

In Tab. 1 and Fig. 5, we evaluate the effectiveness of the proposed Online Hard Example Mining algorithm quantitatively and qualitatively. Using the same training setting, we train our model with and without the point-ohem and item-ohem sampling. Fig. 5 shows the reconstruction results and error maps from the worst 55 results in the training set. The point-ohem successfully improves the fidelity of reconstruction by focusing on the regions with high error (see the point-ohem weight in Fig. 5). Similarly, the item-ohem automatically supervises more on hard images with less frequent clothing styles or poses, which we expect to capture as accurately as more common poses and clothing styles. As a result, the overall reconstruction quality is significantly improved, compared with the original implementation of , achieving state-of-the-art accuracy (Tab. 1).

2 Comparison

In Tab. 1 and Fig. 6, we compare our method with the state-of-the-art 3D human reconstruction algorithms from RGB input. Note that we train PIFu using the same training data with the other settings identical to for a fair comparison, while we use the public pretrained models for VIBE and DeepHuman due to the custom datasets required by each method and their dependency on external modules such as the SMPL model. Although a template-based regression approach achieves robust 3D human estimations from images in the wild, the lack of fidelity and details severely impairs the authenticity of the performances. Similarly, a volumetric performance capture based on voxels suffers from a lack of fidelity due to the limited resolution. While an implicit shape representation achieves high-resolution reconstruction, the reconstructions become less plausible for infrequent poses and the inference speed (30 seconds) is too slow for real-time applications, both of which we address in this paper. We also qualitatively compare our reconstruction with the state-of-the-art real-time performance capture using a pre-captured template (Fig. 7). While the reconstructed geometries are comparable, our method can render performances with dynamic textures that reflect lively expressions, unlike a tracking method using a fixed template. Our approach is also agnostic to topology changes, and can thus handle very challenging scenarios such as changing clothing (Fig. 1).

Conclusion

We have demonstrated that volumetric reconstruction and rendering of humans from a single input image is possible to achieve in near real-time speed without sacrificing the final image quality. Our novel progressive surface localization method allows us to vastly reduce the number of points queried during surface reconstruction, giving us a speedup of two orders of magnitude without reducing the final surface quality. Furthermore, we demonstrate that directly rendering novel viewpoints of the captured subject is possible without explicitly extracting a mesh or performing naive, computationally intensive volumetric rendering, allowing us to obtain real-time rendering performance with the reconstructed surface. Finally, our Online Hard Example Mining technique allows us to find and learn the appropriate response to challenging input examples, thereby making it feasible to train our networks with a tractable amount of data while attaining high-quality results with large appearance and motion variations.

While we demonstrate our approach on human subjects and performances, our acceleration techniques are straightforward to implement and generalize to any object or topology. We thus believe this will be a critical building block to virtually teleport anything captured by a commodity camera anywhere.

Acknowledgement

This research was funded by in part by the ONR YIP grant N00014-17-S-FO14, the CONIX Research Center, a Semiconductor Research Corporation (SRC) program sponsored by DARPA, the Andrew and Erna Viterbi Early Career Chair, the U.S. Army Research Laboratory (ARL) under contract number W911NF-14-D-0005, Adobe, and Sony.

References

A1 Implementation Details

Similar to , we leverage high-quality photogrammetry scans of clothed humans with synthetic rendering to construct our training dataset. Aside from 466466 static scans from RenderPeople used in , we incorporate additional 167167 rigged models from RenderPeople and apply 3232 animation sets from Mixamo so that wider pose variations are covered for performance capture. Please refer to appendix 0.A for the complete list of animations. By randomly selecting 33 frames from each animation, we obtain 466+167×32×3=16,498466+167\times 32\times 3=16,498 models. We split this into training and validation sets based on subject identities, resulting in 452+164×32×3=16,196452+164\times 32\times 3=16,196 meshes in the training set and 14+3×32×3=30214+3\times 32\times 3=302 meshes in the validation set. For training, each mesh is rendered with weak perspective camera at every 1010 degrees around the yaw axis using Precomputed Radiance Transfer and 163163 second-order spherical harmonics derived from HDRI Haven . For validation, we compute our loss metrics on the validation set rendered with 33 views sampled at 120120-degree intervals around the yaw axis. The hyper-parameters αi\alpha_{\text{i}}, βi\beta_{\text{i}}, αp\alpha_{\text{p}} and βp\beta_{\text{p}} in our Online Hard Example Mining (OHEM) training strategy (see Eq. 6 in the paper) are chosen using the validation set.

BUFF

To quantitatively evaluate the generalization ability of the proposed system and fairly compare with the existing methods, we propose to use the BUFF dataset for the following reasons: First, the BUFF dataset provides high-fidelity geometry with photorealistic texture, approximating the modality of real images with detailed ground truth geometry. Secondly it contains large pose variations. Thus, accuracy of each method under various poses can be properly evaluated. Lastly, as the existing approaches are trained with custom datasets, we can fairly compare on a dataset with which none of these methods are trained. The BUFF dataset consists of 55 subjects, each of which is captured with 11 or 22 unique outfits. In total, it contains 2626 sequences with per-frame ground-truth 3D meshes and textures. As the large portion of poses are duplicated (e.g., T-pose), we apply K-Medoids to each sequence to obtain distinctive frames. By setting K=10K=10, we obtain 26×10=26026\times 10=260 frames and render them from 33 views points at 120120-degree intervals around the yaw axis, resulting in 260×3=780260\times 3=780 images for test set (see Fig. 12 for sample images).

A1.2 Network Architectures

We have made several architectural modifications to improve the efficiency and robustness of the original implementation of . In this section, we provide the implementation details as well as discussion about the effectiveness of each modification. Fig. 8 shows the overview of our network architectures.

For surface reconstruction, we replace the stacked hourglass network with HRNetV2-W18-Small-v2 in our image encoder for shape inference due to its superior performance in various tasks (e.g., semantic segmentations, human pose estimations) with faster computation (see Figure 8). The final feature resolution is 128×128128\times 128 with the channel size of 256256 as in . Table 2 shows the ablation study on the choice of image encoders. HRNet not only shows better reconstruction accuracy but also faster runtime (1414 fps vs 1212 fps) with less parameters and computation. For color inference, we found that a higher spatial resolution for image features result in more detailed textures. To this end, we modify the architecture with 66 residual blocks by upsampling the stacked output feature maps from shape and color image encoders from 128×128128\times 128 to 512×512512\times 512 with the output channel size of 3232 using a transposed convolution.

Depth Representation

where Pz′=0.5⋅(Pz+1.0)P^{\prime}_{z}=0.5\cdot(P_{z}+1.0) and N=64N=64 in our experiments. We term this multi-channel depth representation soft one-hot depth (SoftZ). Figure 9 and Table 2 demonstrates the faster convergence and more accurate reconstruction of the proposed depth representation.

Pixel-aligned 3D Lifting

The original implementation of lifts the pixel-aligned image features into 3D by feeding the image feature and the depth value PzP_{z} into a multi-layer perceptron (MLP). To further reduce the channel size of intermediate layers, we adopt a conditional batch normalization (CBN) . More specifically, the soft one-hot depth vector Z\mathbf{Z} (our final model) or the depth value PzP_{z} (only for ablation study) is fed into a multi-layer perceptron (MLP) consisting of 55 blocks of an conditional batch normalization module (CBN) where input feature vector for each CBN layer are normalized with the learnable multiplier γ(c)\gamma(c) and bias β(c)\beta(c) taking as input a conditional vector cc as follows:

where finf_{in} and foutf_{out} are the input and output features, μ\mu is the statistical mean, σ\sigma is the standard deviation, and ϵ=1.0×10−5\epsilon=1.0\times 10^{-5}. Each layer is followed by non-linear ReLU activation. Note that unlike , our conditional vector cc is pixel-aligned image features Φ(Pxy,gO(I))\Phi(\mathbf{P}_{xy},g_{O}(\mathbf{I})) to learn precise geometry aligned with an input image. Please refer to Figure 8 for the detailed architecture. We use the channel size of 128128 for all the intermediate feature dimensions. In Tab. 2, CBN is referred to as 3d lifting with conditional batch normalization modules and MLP as the naive concatenation of a queried depth value and image features as in . The number of parameters and computational overhead are further reduced while retaining the same level of reconstruction accuracy.

For color inference, we take as input the concatenation of the depth value PzP_{z}, RGB value from the corresponding pixel of the input image, and the learned image feature, resulting in 3636 dimensional vector. They are fed into another MLP consisting of 55 layers with the channel size of 10241024, 512512, 256256, 128128, and 33 and skip connections at 11, 22, 33, and 44-th layers. Each layer is followed by the LeakyReLU activation except the last layer, and Tanh activation for the last layer.

Training procedure

We use RMSProp and Adam for the surface reconstruction and texture inference respectively, with a learning rate of 1e−31e-3. Since the batch normalization layer in HRNet and CBN can benefit from large batch sizes, we use a batch size of 2424 for both surface reconstruction and texture inference. The number of sampled points per image is 40964096 in every training batch. We first train the surface reconstruction network for 55 epochs with the constant learning rate, then fix it and only train the texture inference network for 55 more epochs. The training of our networks for surface reconstruction and texture inference takes 33 days each on a single NVIDIA GV100 GPU.

A1.3 Real-time Human Segmentation

As preprocessing, we require an efficient and accurate human segmentation network. To this end, we start by collecting high-quality data with accurate annotations. Because publicly available human segmentation datasets are either low-quality or biased to particular types of images (e.g., portraits) , we collected 12,02912,029 human images with various backgrounds, lighting conditions, poses, and different outfits. Most of the images come from the LIP dataset , while the rest are collected from the internet. We obtained high-quality annotations of these images using a commercial websitehttps://www.remove.bg/. We use a U-Net with ResNet-18 as backbone with Adadelta using an initial learning rate of 10.010.0. The learning rate is reduced by a factor of 0.950.95 after each epoch. The training converges after 100100 epoches, which takes about 22 days on a single NVidia GV100. During inference, with 256×256256\times 256 image resolution, this model run at 150150 fps on NVidia GV100. Figure 13 and Figure 14 show the sampled training dataset and segmentation results of our real-time segmentation model, respectively.

A2 Additional Results

We evaluate the robustness of our algorithm under different lighting conditions, viewpoints, and clothes topology in Figure 10. We also provide additional qualitative results from a video sequence (see Figure 15) and from internet photos (see Figure 16). The other video reconstruction results can be found in the supplemental video.

As our training data consists of only a single person at a time, the presence of multiple people confuses the network (see Figure 11). Modeling multiple subjects is essential to understanding social interaction for a truly believable virtual experience. In the future, we plan to extend our approach to handle multiple people in a single monocular video. Another interesting direction is to handle occlusion by other objects, as a complete 3D reconstruction is difficult without explicitly modeling the occlusion occurring in natural scenes.

Appendix 0.A Mixamo Animation Sets