supplemental to – pushing the envelope for rgb-based dense 3d...

5
Supplemental to – Pushing the Envelope for RGB-based Dense 3D Hand Pose Estimation via Neural Rendering Seungryul Baek Imperial College London [email protected] Kwang In Kim UNIST [email protected] Tae-Kyun Kim Imperial College London [email protected] This supplemental material provides a brief summary of our training and testing processes (Sec. 1.1), details of our skeleton regressor (Sec. 1.2), and data pre-processing and normalization steps (Sec. 1.3); and presents additional results and examples (Sec. 2). Some contents from the main paper are reproduced so that this document is self-contained. 1. Details of our algorithm 1.1. Summary of the training and testing processes Testing. Our dense hand pose estimator (DHPE) receives an input RGB image x ∈X and generates the corresponding 2D segmentation mask m 0 ∈M and 3D skeleton j 0 ∈J estimates. During the testing process, it also synthesizes the 3D mesh v 0 ∈V corresponding x: The DHPE decomposes into multiple component functions: X f HME =f E3D f E2D z }| { f E2D --→ Z f E3D --→ V f Proj =(f Reg ,f Ren ) ----------→ | {z } f DHPE =f Proj f HME Y =(J , M), (1) where the hand mesh estimator (HME) f HME estimates a 3D hand model (MANO)-based parameterization h 0 of v 0 : h =[p, s, c q , c s , c t ] > . (2) Here p and s, respectively represent the shape and pose (articulation) while the other three parameters represent a camera (3D rotation c q R 4 , scale c s R, and translation c t R 3 ). Once the initial mesh (parameter) h 0 is estimated, our algorithm refines it by enforcing its consistency over the intermediate variables generated during testing: It minimizes L h = [f DHPE (x)] J XY - j 0 J2D 2 2 + λ F (x) - F (f Ren (v 0 ) x) 2 2 + L Lap , (3) where denotes element-wise multiplication and [j] XY ex- tracts the x, y-coordinate values of skeleton joints from j. The Laplacian regularizer L Lap enforces spatial smoothness in the mesh v. This helps avoid generating implausible hand meshes as suggested by Kanazawa et al. [4]. Our renderer f Ren synthesizes a 2D hand segmentation mask from a mesh by simulating the camera view of x. Algorithm 2 summa- rizes the testing process. Training. For training, our system receives 1) a set of train- ing data D = {(x i , (j i , m i ))} l i=1 which consists of input RGB images x i , and the corresponding ground-truth 3D skeletons j i and 2D segmentation masks m i , 2) the projec- tion operator f Proj , 3) the MANO model consisting of its PCA shape basis and the mean pose vector. Our algorithm optimizes the weights of the 3D mesh estimator f E3D and 2D feature extractor F based on L (Eq. 8). In parallel, the joint estimation network f J2D is optimized based on L J2D (Eq. 4). Algorithm 1 summarizes the training process. The two training hyperparameters T (the number of epochs) and N 0 (the size of mini-batch) are determined at 100 and 40, respectively. L J2D (f J2D )=kf J2D (x) - j 2DHeat k 2 2 (4) L Feat (F )=kF (x) - F (x m)k 2 2 (5) L Sh = [f DHPE (x i )] M - m i 2 2 (6) L Ref = f Ref ( [j 0 2D (t),F (x), h 0 (t),f Reg (v 0 )] ) - j 2DGT 2 2 (7) L(f E3D ,F )=L Art (f E3D ,F )+ L Lap (f E3D ,F )+ L Feat (F ) + λL Sh (f J3D ,F )+ L Ref (f J3D ,F ), (8) where [y] M extracts the m-component of y =(j, m). 1.2. Skeleton regressor f Reg The skeleton regressor f Reg receives a (predicted) mesh consisting of 778 vertices v ∈V⊂ R 778×3 and generates 21 skeletal joint positions j ∈J⊂ R 21×3 . Our regressor builds upon the original MANO regressor which is imple- mented as three multi-dimensional linear regressors, each aligned with a coordinate axis [5]: The x-axis regressor receives the x-coordinate values of v and synthesizes the

Upload: others

Post on 26-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Supplemental to – Pushing the Envelope for RGB-based Dense 3D …openaccess.thecvf.com/content_CVPR_2019/supplemental/... · 2019-06-12 · RGB images x i, and the corresponding

Supplemental to – Pushing the Envelope for RGB-basedDense 3D Hand Pose Estimation via Neural Rendering

Seungryul BaekImperial College [email protected]

Kwang In KimUNIST

[email protected]

Tae-Kyun KimImperial College [email protected]

This supplemental material provides a brief summaryof our training and testing processes (Sec. 1.1), details ofour skeleton regressor (Sec. 1.2), and data pre-processingand normalization steps (Sec. 1.3); and presents additionalresults and examples (Sec. 2). Some contents from the mainpaper are reproduced so that this document is self-contained.

1. Details of our algorithm1.1. Summary of the training and testing processes

Testing. Our dense hand pose estimator (DHPE) receivesan input RGB image x ∈ X and generates the corresponding2D segmentation mask m′ ∈ M and 3D skeleton j′ ∈ Jestimates. During the testing process, it also synthesizes the3D mesh v′ ∈ V corresponding x: The DHPE decomposesinto multiple component functions:

X

fHME=fE3D◦fE2D︷ ︸︸ ︷fE2D

−−→ Z fE3D

−−→V fProj=(fReg,fRen)−−−−−−−−−−→︸ ︷︷ ︸fDHPE=fProj◦fHME

Y = (J ,M), (1)

where the hand mesh estimator (HME) fHME estimates a 3Dhand model (MANO)-based parameterization h′ of v′:

h = [p, s, cq, cs, ct]>. (2)

Here p and s, respectively represent the shape and pose(articulation) while the other three parameters represent acamera (3D rotation cq ∈ R4, scale cs ∈ R, and translationct ∈ R3).

Once the initial mesh (parameter) h′ is estimated, ouralgorithm refines it by enforcing its consistency over theintermediate variables generated during testing: It minimizes

Lh =∥∥[[fDHPE(x)]J

]XY− j′J2D

∥∥22

+ λ∥∥F (x)− F (fRen(v′)� x)

∥∥22+ LLap, (3)

where � denotes element-wise multiplication and [j]XY ex-tracts the x, y−coordinate values of skeleton joints from j.The Laplacian regularizer LLap enforces spatial smoothness

in the mesh v. This helps avoid generating implausible handmeshes as suggested by Kanazawa et al. [4]. Our rendererfRen synthesizes a 2D hand segmentation mask from a meshby simulating the camera view of x. Algorithm 2 summa-rizes the testing process.

Training. For training, our system receives 1) a set of train-ing data D = {(xi, (ji,mi))}li=1 which consists of inputRGB images xi, and the corresponding ground-truth 3Dskeletons ji and 2D segmentation masks mi, 2) the projec-tion operator fProj, 3) the MANO model consisting of itsPCA shape basis and the mean pose vector. Our algorithmoptimizes the weights of the 3D mesh estimator fE3D and2D feature extractor F based on L (Eq. 8). In parallel, thejoint estimation network f J2D is optimized based on LJ2D

(Eq. 4). Algorithm 1 summarizes the training process. Thetwo training hyperparameters T (the number of epochs) andN ′ (the size of mini-batch) are determined at 100 and 40,respectively.

LJ2D(fJ2D) =‖f J2D(x)− j2DHeat‖22 (4)

LFeat(F ) =‖F (x)− F (x�m)‖22 (5)

LSh =∥∥[fDHPE(xi)]M −mi

∥∥22

(6)

LRef =∥∥fRef ([j′2D(t), F (x),h′(t), fReg(v′)]

)− j2DGT

∥∥22

(7)

L(fE3D, F ) =LArt(fE3D, F ) + LLap(f

E3D, F ) + LFeat(F )

+ λLSh(fJ3D, F ) + LRef (f

J3D, F ), (8)

where [y]M extracts the m-component of y = (j,m).

1.2. Skeleton regressor fReg

The skeleton regressor fReg receives a (predicted) meshconsisting of 778 vertices v ∈ V ⊂ R778×3 and generates21 skeletal joint positions j ∈ J ⊂ R21×3. Our regressorbuilds upon the original MANO regressor which is imple-mented as three multi-dimensional linear regressors, eachaligned with a coordinate axis [5]: The x−axis regressorreceives the x−coordinate values of v and synthesizes the

Page 2: Supplemental to – Pushing the Envelope for RGB-based Dense 3D …openaccess.thecvf.com/content_CVPR_2019/supplemental/... · 2019-06-12 · RGB images x i, and the corresponding

Algorithm 1: Training processInput:

–Training data D = {(xi, (ji,mi))}li=1:x: RGB image;(j,m): ground-truth

3D skeleton and 2D segmentation mask;–Projection operator fProj = (fReg, fRen);–MANO model: PCA shape basis;

mean pose vector;–Hyper-parameters: number T of epochs

size N ′ of mini-batch;Output: (Weights of)

–3D mesh estimator fE3D;–2D evidence estimator fE2D = (F, f J2D);

Initialization:–Randomize (parameters) of fE3D;–Pre-train F based on [2];–Pre-train f J2D based on [7];

for t = 1, . . . , T dofor n = 1, . . . , N/N ′ do

For each data point x in the mini-batch Dn,evaluate (feed-forward) fDHPE on x:Generate mesh parameter h′, 3D skeleton j′

and 2D segmentation mask m′;Generate 2D evidences (F (x), j′2D(t)), meshparameter h′, 3D skeleton j′ and 2Dsegmentation mask m′;

if t > 20 thenAugment D with new synthetic data

instances generated from h′ (Eq. 2), bychanging its shape s′ and viewpoint q′;

endCalculate gradient∇L with respect to (theweights of) fE3D (Eq. 8) on Dn, and updatefE3D;

Calculate gradients∇LFeat (Eq. 5) and∇Lwith respect to F on Dn, and update F ;

Calculate gradient∇LJ2D (Eq. 4) with respectto∇f J2D on Dn, and update f J2D;

endend

x−axis coordinate values of 16 skeletal joints. The y−axisand z−axis regressors are constructed similarly. In this way,the original MANO regressor estimates only 16 joint posi-tions. The remaining five, finger tip positions are estimatedby simply selecting a point of v that corresponds to a fingertip, per axis.1 These additional regressors are implementedfor each finger tip and for each axis, as a 778-dimensional

1Unlike other skeletal joint locations which lie inside the mesh v, fingertips lie on (the surface) v. Therefore, selecting a point on v can give a goodjoint location estimate.

Algorithm 2: Testing processInput: Test image x;Output:

–3D mesh v′;–2D segmentation mask m′;–3D skeleton j′;

Feed-forward fDHPE on x: Generate 2D evidencej′2D(t), and 3D mesh v′ and it’s parameter h′;

for t = 1, . . . , 50 doUpdate h′(t) using Eq. 3.

endGenerate v′ from h′(t) and m′;Generate j′ from v′;

vector where all elements are zero except for the entry corre-sponding to the vertex location of the corresponding fingertip, where value 1 is assigned. As a whole, our regressorfReg is represented as three matrices of size 778 × 21. Asa linear regressor, fReg is differentiable with respect to itsinput and output arguments.

1.3. Data pre-processing and normalization

To facilitate the training of the skeleton regressor fReg,similarly to [3, 7], we explicitly normalize its output spaceJ :Our articulation loss LArt measures the deviation betweenthe skeleton estimated from the training input xi and thecorresponding growth-truth ji:

LArt = ‖[fDHPE(xi)]J − ji‖22, (9)

where [y]J extracts the j-component of y = (j,m).Here, j spatially normalizes j: First, a tight 2D hand

bounding box is extracted from the corresponding ground-truth 2D skeleton of xi, and the center of the skeleton ismoved to its middle finger’s MCP position. Then, each axisis normalized to a unit interval [0, 1]: The x, y−coordinatevalues are divided by g (=1.5 times the maximum of heightand width of the bounding box). The z−axis value is dividedby (zRoot×g)/cf where zRoot is the depth value of the middlefinger’s MCP joint and cf is the focal length of the camera.

At testing, once normalized skeletons are generated, theyare inversely normalized to the original scale based on theparameters g and zRoot.

Estimation of the bounding box size g. First, we use Zim-mermann and Brox’s hand detector [7] to infer boundingboxes in each video frame. The corner coordinates of thedetected boxes are then temporally smoothed by taking anaverage over the past five frames.

For RHD, following Cai et al.’s experimental settings [1],the bounding boxes are extracted from the ground-truth 2Dskeletons provided in the dataset, to facilitate a fair compari-son with their algorithm.

Page 3: Supplemental to – Pushing the Envelope for RGB-based Dense 3D …openaccess.thecvf.com/content_CVPR_2019/supplemental/... · 2019-06-12 · RGB images x i, and the corresponding

(a) (b) (c) (d)

Figure 1: Data augmentation examples: (a) the originalmesh, (b) and (c) shape variations from (a), and (d) view-point variation from (a). 3D meshes on top are textured andrendered on random backgrounds (bottom).

Estimation of the hand depth zRoot. We use the 3D rootdepth estimation algorithm proposed by Iqbal et al. [3] forDO. For RHD and SHD, for pair comparison with [1], theground-truth depth values are used.

2. Additional results and examplesFigure 1 shows example outputs of our data augmenta-

tion method. Figure 2 shows additional dense hand poseestimation results extending Fig. 7 of the main paper. Whencompared with the results obtained by a variation of ouralgorithm that does not use the shape loss (b–d: LSh; Eq. 6),our final algorithm (e–g) acheived much higher shape esti-mation accuracy (c and f, especially in 1st, 2nd, 5th, and 7thexamples), which led to better alignment of hand contours (cand f) and eventually to significantly lower pose estimationerror (b and e). These examples confirm the quantitativeresults shown in Fig. 3 and demonstrate the benefits of shapeestimation even when the final goal is to estimate skeletalposes.

References[1] Y. Cai, L. Ge, J. Cai, and J. Yuan. Weakly-supervised 3d hand

pose estimation from monocular rgb images. In ECCV, 2018.2, 3

[2] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learningfor image recognition. In CVPR, 2016. 2

[3] U. Iqbal, P. Molchanov, T. Breuel, J. Gall, and J. Kautz. Handpose estimation via latent 2.5D heatmap regression. In ECCV,2018. 2, 3

[4] A. Kanazawa, S. Tulsiani, A. A. Efros, and J. Malik. Learningcategory-specific mesh reconstruction from image collections.In ECCV, 2018. 1

[5] J. Romero, D. Tzionas, and M. J. Black. Embodied hands:Modeling and capturing hands and bodies together. In SIG-GRAPH Asia, 2017. 1

[6] D. J. Tan, T. Cashman, J. Taylor, A. Fitzgibbon, D. Tarlow,S. Khamis, S. Izadi, and J. Shotton. Fits like a glove: Rapidand reliable hand shape personalization. In CVPR, 2016. 4

[7] C. Zimmermann and T. Brox. Learning to estimate 3D handpose from single RGB images. In ICCV, 2017. 2

Page 4: Supplemental to – Pushing the Envelope for RGB-based Dense 3D …openaccess.thecvf.com/content_CVPR_2019/supplemental/... · 2019-06-12 · RGB images x i, and the corresponding

30.65 mm 29.85 mm

7.73 mm 7.43 mm

16.22 mm 15.14 mm

11.89 mm 11.44 mm

17.87 mm 17.10 mm

9.80 mm 7.67 mm

(a) (b) 13.81 mm (c) (d) (e) 12.99 mm (f) (g)

Figure 2: Dense hand pose estimation examples. (a) input images, (b-d) and (e-g) results obtained without and with shapeloss, respectively. (b,e) estimated hand meshes overlaid on the input image and the corresponding estimated skeletons (Blue)overlaid with their ground-truths (Red), (c,f) estimated shapes rendered in canonical articulation and viewpoints, and (d,g)Color-coded 2D segmentation masks: (Green and Blue: estimated masks; Green and Red: ground-truth masks; Red and Bluehighlight errors). Our visualization method in (d) and (g) is inspired by [6].

Page 5: Supplemental to – Pushing the Envelope for RGB-based Dense 3D …openaccess.thecvf.com/content_CVPR_2019/supplemental/... · 2019-06-12 · RGB images x i, and the corresponding

0 20 40 60 80Error Thresholds (mm)

0

0.2

0.4

0.6

0.8

1

3D P

CK

0 20 40 60 80 100Error Thresholds (mm)

0

0.2

0.4

0.6

0.8

1

3D P

CK

0 20 40 60 80Error Thresholds (mm)

0

0.2

0.4

0.6

0.8

1

3D P

CK

Figure 3: Performance of our algorithm with different design choices. Top to bottom: results on RHD, DO, and SHD,respectively.