\begin{table}[t]
\small
\centering
\setlength\tabcolsep{1.0pt}
\def1.1{1.1}
\begin{tabular}{C{3.0cm}|C{1.1cm}}
\specialrule{.1em}{.05em}{.05em}
method & CD $\downarrow$ \\ \hline
PIFu~\cite{saito2019pifu} & 79.67 \\
PaMIR~\cite{zheng2021pamir} & 74.24 \\ 
\textbf{MonoNHR (Ours)} &  \textbf{23.94}\\
\specialrule{.1em}{.05em}{.05em}
\end{tabular}
\vspace*{-3mm}
\caption{
{Comparison between state-of-the-art non-NeRF methods and ours on CAPE.} 
}
\label{table:sota_cape}
\end{table}
\noindent\textbf{Mesh feature.} Following NHP~\cite{kwon2021neural}, we sample per-vertex image features from $\mathbf{F}$, given SMPL~\cite{loper2015smpl} mesh vertices.
We project these 3D vertices onto the image plane and use bilinear interpolation to sample the corresponding image features. 
Then, we concatenate the per-vertex image features and the vertices' root joint (~\textit{i.e.}, pelvis)-relative depths, to distinguish the features of both occluded and occluding parts.
The concatenated feature is called the \textcolor[RGB]{98,163,59}{mesh feature} and denoted as \textcolor[RGB]{98,163,59}{$\mathbf{M} \in \mathbb{R}^{M \times (c_p+1)}$}, where $M$ denotes the number of SMPL mesh vertices. We feed these to the geometry branch.

\noindent\textbf{Pixel feature.} We sample 3D query points from a ray of a target view (rendering view), following the quadrature rule of the volume rendering discussed by Max~\cite{max1995optical}. The rays are bounded by the given mesh's 3D bounding box, following NB~\cite{peng2021neural} and NHP~\cite{kwon2021neural}. 
The 3D query point $\mathbf{x}\in \mathbb{R}^3$ is equipped with appearance information from its projection on the image plane. We coin this information the \textcolor[RGB]{252,99,159}{pixel feature $\mathbf{p} \in \mathbb{R}^{c_p}$}.
The pixel feature $\mathbf{p}$ is fed to both geometry and texture branches with $\mathbf{x}$'s \textcolor[RGB]{54,93,183}{root joint-relative depth $\mathrm{z}$}.
The root joint-relative depth is defined in the input view's camera-centered coordinate system.

\subsection{Volume rendering}
Given a target view, we use a classical differentiable ray-marching algorithm~\cite{kajiya1984ray} to render the target image following NeRF~\cite{mildenhall2020nerf}.
Concretely, the final color of a pixel is computed as the integral of RGB values along the ray shot from the camera center $\mathbf{o} \in \mathbb{R}^{3}$, weighted by predicted volume densities.
The integral is approximated via stratified sampling~\cite{mildenhall2020nerf}, and we use the quadrature rule~\cite{max1995optical} to limit memory usage and predict continuous radiance fields in practice.
For each pixel, we sample along the ray $N$ query points$\{\mathbf{x}\}_{i=1}^{N}$, where $\mathbf{x}_i = (\mathbf{o} + z_i\cdot\mathbf{d})$ and $z_i \in [z_\text{near},z_\text{far}]$.
$z_\text{near}$ and $z_\text{far}$ are the absolute depths of the two intersections between the ray and the given SMPL mesh's 3D bounding box. 
Then, the pixel color of the ray is computed as below:

\section{Experiments}
\subsection{Datasets}
\noindent\textbf{Datasets.}
We train and test MonoNHR on ZJU-MoCap~\cite{peng2021neural}, AIST~\cite{li2021learn,tsuchida2019aist}, CAPE~\cite{ma2020learning}, and HUMBI~\cite{yu2018humbi}.
For ZJU-MoCap, we split 10 videos of 10 subjects (1 video per 1 subject) to 7 training videos and 3 testing videos.
For AIST, we follow the official training and testing splits.
The training set has 834 videos of 20 dancing subjects, and the testing set has 374 videos of 10 dancing subjects.
Please note that the testing splits of all datasets contain poses and identities never seen during training.
CAPE is used to compare 3D geometry with non-NeRF methods as the above two datasets do not provide GT 3D geometry.
We use the above datasets for numerical studies, for more meaningful comparisons with prior work, but we also train on HUMBI for qualitative evaluation, for its larger size and diversity (see section~\ref{subsec:qualitative_results}). More details about data settings can be found in the supplementary material.

\subsection{Comparison with state-of-the-art methods}
\noindent\textbf{Overall comparison.}
The Figure~\ref{fig:sota} and Table~\ref{table:sota} show that MonoNHR produces the best results on both ZJU-MoCap~\cite{peng2021neural} and AIST~\cite{li2021learn,tsuchida2019aist}.

\noindent\textbf{Comparison using estimated 3D meshes.}
We also compare MonoNHR with NHP~\cite{kwon2021neural} on ZJU-MoCap~\cite{peng2021neural} using estimated body meshes of SPIN~\cite{kolotouros2019learning} in Table~\ref{table:sota_mesh_estimate}.
SPIN is a monocular method that regresses SMPL~\cite{loper2015smpl} parameters to produce a body mesh.
MonoNHR highly outperforms NHP, which also uses a body mesh at test time, considering that PSNR is in a log scale. 
Figure~\ref{fig:estimated_sota} further validates MonoNHR's robustness on  monocular images.
MonoNHR preserves the subject's 3D shape (\textit{e.g.}, loose clothes around the torso of the right-hand subject) while NHP relatively shrinks the subject's overall shape (\textit{e.g.}, the arms of the right-hand subject).
Also, the results of MonoNHR show more realistic textures in novel views than NHP (\textit{e.g.}, the shirt of the left-hand subject).

\noindent\textbf{3D geometry comparison.} 
Figure~\ref{fig:geo_comparison} compares the 3D geometry reconstruction of MonoNHR with NHP~\cite{kwon2021neural} on ZJU-MoCap.
MonoNHR clearly distinguishes the geometry of the top subjects' shirts and pants, while NHP shows vague boundaries between them. 
Also, on the SPIN example on the right (b), the result from MonoNHR reflects the widened deformation of the subject's shirt in the input image, but NHP recovers the shirt geometry in a tightened shape.
The results prove that MonoNHR learns better geometry features from a monocular image.

\noindent\textbf{Comparison with non-NeRF methods.}
Figure~\ref{fig:sota_cape} shows that MonoNHR produces much better qualitative results than PIFu~\cite{saito2019pifu} and PaMIR~\cite{zheng2021pamir} on ZJU-Mocap.
Note that it is difficult to measure their PSNR/SSIM due to the pixel-level misalignment between their rendered images and the GT ones.
Table~\ref{table:sota_cape} shows that ours achieves much better CD on CAPE~\cite{ma2020learning}.
The results of PIFu and PaMIR are obtained by running their officially released codes and pre-trained weights.
We tested with MonoNHR trained on AIST.
{"value": "79.67", "type": "Result", "training data/set": "CAPE", "test data/set": "CAPE", "task": ["human rendering", "free-viewpoint renderings"], "metric": ["CD", "Chamfer distance"], "experimental settings": {"xx": "yy"}, "model": "PIFu", "model settings": {"xx": "yy"}} {"value": "74.24", "type": "Result", "training data/set": "CAPE", "test data/set": "CAPE", "task": ["human rendering", "free-viewpoint renderings"], "metric": ["CD", "Chamfer distance"], "experimental settings": {"xx": "yy"}, "model": "PaMIR", "model settings": {"xx": "yy"}} {"value": "23.94", "type": "Result", "training data/set": "CAPE", "test data/set": "CAPE", "task": ["human rendering", "free-viewpoint renderings"], "metric": ["CD", "Chamfer distance"], "experimental settings": {"xx": "yy"}, "model": "MonoNHR", "model settings": {"xx": "yy"}}