Most existing 3D human datasets do not provide joint visibility labels, and none annotates vertex visibility.
To train our VisDB network, we obtain pseudo ground-truths from the fitted SMPL meshes and dense UV estimations.
For x and y-axis truncation, we can simply identify the truncated joints/vertices by projecting the fitted mesh onto the image plane.
Occlusion, however, cannot be easily inferred from the input image or fitted mesh alone.
One can estimate self-occlusion by rendering a fitted mesh, but this does not capture occlusions by other objects.
More importantly, the fitting algorithm used to get the pseudo ground-truth meshes is not robust to partial-body cases.
To address this, we propose to exploit dense UV correspondence between the input image and a SMPL mesh.
Dense UV estimation provides the part-based segmentation mask of a human body as well as continuous UV coordinates of each human pixel, which are robust to truncation and occlusions.
We calculate the UV coordinate of each pixel by applying an off-the-shelf dense UV estimation method [1]}.
For each human pixel \(p\) , we then find the corresponding mesh vertex \(v\)  whose UV coordinate is closest to the pixel.
The pixel-to-vertex \(M_P\)  and vertex-to-pixel \(M_V\)  mappings can be expressed as:
\(\begin{split}M_P &= \big \lbrace  p \rightarrow v \big | v = \text{argmin}_{v^{\prime }} \big \Vert  \text{UV}(v^{\prime }) - \text{UV}(p) \big \Vert _2 \forall p \big \rbrace  \\M_V &= \big \lbrace  v \rightarrow \lbrace p^{\prime }\rbrace  \big | M_P(p^{\prime }) = v \forall v \big \rbrace .\end{split}\) 
