Embodied Scene-aware Human Pose Estimation
[Figure]
Abstract
We propose embodied scene-aware human pose estimation where we estimate 3Dposes based on a simulated agent’s proprioception and scene awareness, alongwith external third-person observations.
Unlike prior methods that often resortto multistage optimization, non-causal inference, and complex contact modelingto estimate human pose and human scene interactions, our method is one stage,causal, and recovers global 3D human poses in a simulated environment.
Since2D third-person observations are coupled with the camera pose, we propose todisentangle the camera pose and use a multi-step projection gradient defined in theglobal coordinate frame as the movement cue for our embodied agent.
Leveraginga physics simulation and prescanned scenes ( e.g., 3D mesh), we simulate ouragent in everyday environments (libraries, offices, bedrooms, etc. ) and equip ouragent with environmental sensors to intelligently navigate and interact with scenegeometries.
Our method also relies only on 2D keypoints and can be trained onsynthetic datasets derived from popular human motion databases.
To evaluate, weuse the popular H36M and PROX datasets and achieve high quality pose estimationon the challenging PROX dataset without ever using PROX motion sequences fortraining. Videos are available at the project page.
Introduction
We consider a 3D human pose estimation setting where a calibrated camera is situated within aprescanned environment (with known 3D geometries such as meshes).
Such a setting has a widerange of applications in mixed reality telepresence, animation and gaming, at-home robotics, videosurveillance etc. , where a single fixed RGB camera is often used to observe human movement.
However, even under such constraints, severe occlusion, low-textured garments and human-scene interactions often cause pose estimation methods to fail catastrophically.
Especially when estimatingglobal 3D human pose estimation, state-of-the-art methods often resort to expensive multistage batchoptimization [5], motion prior or infilling [26, 42], and depth information to recover reasonable globaltranslation and orientation.
Consequently, these methods cannot be applied in a streaming fashionand have limited use cases in time-critical applications.
Multistage optimization can also suffer fromfailure of convergence, where the optimizer cannot find a good solution due to occlusion, numericalinstability, or bad initialization.
Effective use of scene information is also critical for human pose estimation.
Unfortunately, the lackof datasets with paired ground-truth 3D body pose and annotated contact labels make it difficult toincorporate scene information to estimate pose.
Thus, popular methods often resort to 1) minimizingthe distance between predefined contact points in the body and the scene [5], 2) using vertex-based PROXimity [43] as a PROXy scene representation, and 3) semantic labels as affordance cues [15].
These methods, while effective in modeling human-scene interactions, are expensive to compute andheavily rely on a batch optimization procedure to achieve good performance.
More complex scenesare also harder to model in a batch optimization framework, as the number of contact constraintsincreases significantly as the number of geometries increases.
We hypothesize that embodiment may be a key element in estimating accurate absolute 3D humanposes.
Here, we define embodiment as having a tangible existence in a simulated environment inwhich the agent can act and perceive.
In particular, humans move according to their current bodyjoint configuration (proprioception), movement destination (goal), and an understanding of theirenvironment’s physical laws (scene awareness and embodiment).
Under these guiding principles,we propose embodied scene-aware human pose estimation as an alternative to optimization andregression-based methods.
Concretely, we estimate poses by controlling a physically simulated agentequipped with environmental sensors to mimic visual observations in a streaming fashion.
At eachtimestep, our agent receives movement goals from a third-person observation and computes its torqueactuation based on (1) current agent state: body pose, velocities, etc. , (2) comparison between itscurrent pose and visual observation, and (3) environmental features from the agent’s point of view.
Acting in a physics simulator, our agent can receive timely feedback about physical plausibility,contact, and scene geometry to compute the next time frame.
Although there exist prior methods thatalso use simulated characters, we draw the distinction in how the next-frame target pose is computed.
Previous work regresses the kinematic pose [3, 40] without considering egocentric features such asbody and environmental states.
As a result, when the kinematic pose estimation method fails due toocclusion, these embodied agents will receive unreasonable target poses.
Our method, on the otherhand, predicts body velocities by comparing the current body pose with visual observations.
When2D observations are unreliable, body velocities will be computed based on environment cues andcurrent body states.
Thus, our method is robust to occlusion and can recover from consecutive framesof missing occluded body parts.
Our method is also able to estimate pose for long-term (severalminutes), in sub-real-time (10 fps), while creating physically realistic human scene interactions.
To achieve this, we propose a multi-step projection gradient (MPG) to provide movement cues to ourembodied agent from 2D observations.
At each time step, MPG performs iterative gradient descentstarting from the current pose of the humanoid to exploit the temporal coherence of human movementand better avoid local minima.
MPG also directly provides temporal body and root movementsignals to our agent in the world coordinate frame. Thus, our method does not need to take the 3Dcamera pose as input explicitly.
To control a simulated character, we extend the Universal Humanoid Controller (UHC) and the kinematic policy proposed in previous work [18] to support the control ofhumanoids with different body shapes in environments with diverse geometries.
Finally, we equipour agent with an occupancy-based environmental sensor to learn about affordances and avoidance.
Since only 2D keypoint coordinates are needed by our method to estimate body motion, our modelcan be learned from purely synthetic data.
To summarize, our contribution is as follows: 1) we propose embodied scene-aware human poseestimation, where we control a simulated scene-aware humanoid to mimic visual observations andrecover accurate global 3D human pose and human-scene interactions; 2) we formulate a multi-stepprojection gradient(MPG) to provide a camera-agnostic movement signal for an embodied agent tomatch 2D observations; and 3) we achieve state-of-the-art result on the challenging PROX datasetwhile our method remains sub-real-time, causal, and trained on synthetic data derived from popularhuman motion databases.
Related Work
Local and Absolute 3D Human Pose Estimation.
It is popular to estimate the 3D human pose inthe local coordinate system (relative to the root)
[1, 9, 10, 11, 12, 13, 14, 17, 21, 22, 24, 25, 32, 34]where the translation is discarded and rotation is defined in the camera coordinate frame.
Amongthese methods, some focus on lifting 2D keypoints to 3D [1, 24], while others use a template 3Dhuman mesh (the SMPL [16] body model and its extensions [23, 27]) and jointly recover body shapeand joint angles.
Among these methods, some [13, 32, 40] make use of iterative optimization to betterfit 2D keypoints.
SPIN [13] devises an optimization-in-the-loop fitting procedure to provide a betterstarting point for a pose regressor.
NeuralGD
[32] and SimPOE [40] both utilize a learned gradientupdate to iteratively refine body pose and shape, where the optimization starts from either zero pose(NeuralGD) or estimated kinematic pose (SimPOE).
Compared to these methods, our MPG starts theoptimization process from the previous time-step pose to leverage the temporal coherence in humanmotion.
While estimating pose in the local coordinate frame is useful in certain applications, it isoften desirable to recover the pose in the absolute/global space to fully leverage the estimated posefor animation or telepresence.
However, recovering the absolute 3D body pose that includes roottranslation is challenging due to limb articulation, occlusion, and depth ambiguity.
Among the workthat attempt to estimate the absolute human pose [21, 24, 25, 28], most take a two-stage approachwhere the root-relative body pose is first regressed from a single image and then a root translation isestimated from image-level features.
Compared to these methods, we leverage physical laws andmotion cues to autoregressively recover both root movement and body pose.
Scene-aware Human Pose and Motion Modeling The growing interest in jointly modeling humanpose and human-scene interactions has led to a growing popularity in datasets containing both humanand scenes [6, 20, 36].
In this work, we focus on the PROX [6] dataset, where a single human isrecorded moving in daily indoor environments such as offices, libraries, bedrooms, etc.
Due to thediversity of motion and human-scene interaction (sitting on chairs, lying on beds, etc.) and lack ofground-truth training data, the PROX dataset remains highly challenging.
Consequently, state-of-theart methods are mainly optimization-based [6, 26, 41] while leveraging the full set of observations(scene scans, camera pose, depth).
HuMoR [26] and LEMO [41] achieves impressive result by usinglarge-scale human motion datasets to learn strong prior of human movement to constrain or infillthe missing human motion.
However, multistage optimization can often become unstable due toocclusion or failures in 2D keypoint detections.
Physics-based humanoid control for pose estimation Physical laws guard every aspect of humanmotion and there is growing interest in enforcing physics prior to human pose estimation [3, 7, 18,30, 31, 37, 38, 39, 40].
Some methods prefer to use physics as a postprocessing step and refineinitial kinematic pose estimates [30, 31, 37], while ours follows the line of work where a simulatedcharacter is controlled to estimate pose inside a physics simulation [3, 7, 18, 40].
Although bothapproaches have their respective strong suites, utilizing a physics simulation simplifies the process ofincorporating unknown scene geometries and can empower real-time pose estimation applications.
Among simulated character control-based methods, Neural Mocon [7] utilizes sampling-based controland relies on the learned distribution of human motion from the training split of the dataset to acquirequality motion samples.
SimPOE [40] first extracts the kinematic pose using off-the-shelf method[11] and then uses a simulated agent for imitation.
PoseTriplet [3] proposes using a self-supervisedframework to co-evolve a pose estimator, imitator, and hallucinator.
Compared to ours, SimPoE and
PoseTriplet both relies on a kinematic pose estimator as backbones [11, 24] and requires well-observed2D keypoints for reliable pose estimates.
They also require lengthy policy training time and do notmodel any scene geometries.
Our work also extends Kin_poly [18], where a simulated characteris used to perform first-person pose estimation.
While Kin_poly uses egocentric motion as theonly motion cue we proposes a multi-step Projection Gradient to leverage thrid-person observations.
Compared to their object-pose based scene feature, we use an occupancy-based scene feature inspiredby the graphics community [4, 33] to better model affordance.
Method
Given a monocular video I 1: T taken using a calibrated camera in a known environment, our aimis to estimate, track, and simulate 3D human motion in metric space.
We denote the 3D humanpose as q t ≜ ( r R t , r T t , θ t ) , consisting of the 3D root position r T t , the orientation r R t and the anglesof the body joints θ t . Combining 3D pose and velocity, we have the character’s state s t ≜ ( q t , ˙ q t ) . [Figure]
As a notation convention, we use (cid:101) · to represent kinematic poses (without physics simulation), (cid:98) · todenote ground-truth quantities from Motion Capture (MoCap), and normal symbols without accentsfor values from the physics simulation.
In Sec 3.1, we will first summarize our extension to the Universal Humanoid Controller [18] to support controlling people with different body proportions.
Then, in Sec.3.2, we will describe the state space of our character’s control policy: the multi-stepprojection gradient (MPG) as a feature and occupancy scene feature.
Finally, we will detail thetraining procedure to learn our embodied pose estimator using synthetic datasets in Sec 3.3.
Our poseestimation pipeline is visualized at Fig.2.
3.1 Preliminaries: Physics-based Character and Universal Humanoid Controller (UHC)
To simulate people with varying body shapes, we first use an automatic simulated character creationprocess similar to SimPoE [40] to generate human bodies with realistic joint limits, body proportions,and other physical properties based on the popular human mesh model SMPL [16].
In SMPL, bodyjoints are recovered from mesh vertices and a joint regressor, so the length of each limb may varydepending on body pose.
This is undesirable, as varying body limb length is physically inaccurateand computing a large number of vertices (6890) is time-consuming.
Therefore, we fix the lengths ofthe limbs using those calculated from the T pose (setting the joint angles to zero) and use forwardkinematics to recover the 3D location of the body joints J t .
Given the shape of the body β and thepose q t , we define the forward kinematics function as FK β ( q t ) → J t .
To learn a universal humanoid controller that can perform everyday human motion with differentbody types, we follow the standard formulation in physics-based character and model controllinga humanoid for motion imitation as a Markov Decision Process (MDP) defined as a tuple M =⟨S , A , T , R, γ ⟩ of states, actions, transition dynamics, reward function, and discount factor.
Thestate s ∈ S , reward r ∈ R , and transition dynamics T are determined by the physics simulator,while the action a ∈ A is given by the control policy π UHC ( a t | s t , (cid:98) q t +1 , β ) .
Here we extend the
Universal Humanoid Controller proposed in Kin_poly [18] condition the control policy on the currentsimulation state s t , the reference motion (cid:98) q t , and the body shape β .
We employ PROXimal Policy
Optimization (PPO) [29] to find the optimal control policy π UHC to maximize the expected discountedreward E (cid:104)(cid:80) Tt =
1 γ t − 1 r t (cid:105) .
For more information on the UHC network architecture and trainingprocedure, please refer to Kin_poly [18] and our Appendix.
3.2 Embodied Scene-Aware Human Pose Estimation
To estimate the global body pose from the video observations, we control a simulated character tofollow 2D keypoint observations in a sequential decision manner.
Assuming a known camera poseand scene geometry, we first use an off-the-shelf 2D keypoint pose estimator, DEKR [2], to extract2D keypoints kp 2D t at a per-frame level.
Then, we use an off-the-shelf pose and body shape estimator, HuMoR [26] to extract the first-frame 3D pose (cid:101) q 0 and body shape β from RGB observations as initialization.
Given (cid:101) q 0 and β , we initialize our simulated character inside pre-scanned scene, andthen we attempt to estimate poses which match observed 2D keypoints in a streaming fashion.
Multi-step Projection Gradient (MPG) as a Motion Feature To match the motion of the 3Dsimulated humanoids to 2D keypoint observations, it is essential to provide 3D information about howposes should be modified in the global coordinate frame (coordinate frame of the scene geometry andthe 3D humanoid).
As 2D keypoints are coupled with camera pose (the same body pose correspondsto different 2D keypoints based on the camera pose), it is problematic to directly input 2D observationswithout a proper coordinate transform.
To avoid this issue, prior arts that use simulated charactercontrol [3, 40] often estimate the kinematic human pose in the camera coordinates using a kinematicpose estimator.
However, since the up-vector of the camera is not always aligned with the directionof gravity, corrections to the character’s z-direction are often needed for a successful simulation [3].
To decouple the pose of the camera from the pose estimation pipeline, we propose using a multi-stepprojection gradient (MPG) feature as an alternative to an estimated kinematic pose feature as an inputto the policy.
Intuitively, the MPG is a modified (learned) sum of 2D projection loss gradients thatencodes how much the 3D pose should be adjusted for a better fit.
Given the current global state ofthe humanoid q t and the camera projection function π cam , we define MPG ϕ as:
[Equation]
) , where q
[Equation]
and L proj =
∥
π cam ( FK β ( q t ))
− kp 2D t +1 ∥ 2 is the L 2 reprojection loss with respect to the observed 2Dkeypoints kp 2D t +1 .
s is the step size of the gradient and k indexes into the total number of gradientdescent steps K .
The 2D project loss gradient ∂ L ∂ q t represents how the root pose and body joints shouldchange to better match the 2D keypoints of the next frame and contains rich geometric informationindependent of the camera projection function π cam .
Due to noise in the detection, occlusion and depth ambiguity of 2D key points, a single-step instantaneous projection gradient ∂ L proj ∂ q kt can be erroneous and noisy, especially the gradient of root translationand orientation.
Thus, we augment ∂ L proj ∂ q kt with a geometric and learning-based transform G that isintended to remove noise.
In this way, the MPG feature is an aggregation of a collection of modifiedgradients to compute a more stable estimate of the 2D projection loss gradient.
To better recover root rotation, we use a temporal convolution model (TCN) similar to VideoPose3D[24] and PoseTriplet [3] to regress camera-space root orientation from 2D keypoints.
We noticethat while TCN may can produce an unreasonable pose estimate during server occlusion, its rootorientation estimation remains stable.
We compute the camera space root orientation using a causal TCN F TCN and transform it into the world coordinate system r ′ R t using the inverse camera rotation:r ′ R t = π − 1 cam ( F TCN ( kp 2D t − µ : t +1 )) .
We then calculate the difference between the current root rotation r R tand r ′ R t as an additional movement gradient signal.
Given the current 3D pose q kt and the projectionfunction π cam , we can obtain a better root translation r Tt by treating the 3D keypoints obtained as fixedon a rigid body and solving for translation using linear least squares.
Combining the F TCN model andthe geometric transformation step, we obtain the function G to obtain a better root translation andorientation gradient.
By taking multiple steps, we avoid getting stuck in local minima and obtainbetter gradient estimates.
For a more complete formulation of MPG, see our Appendix.
[Equation] Scene Representation To provide our embodied agent with an understanding of its environment,we use a voxel-based occupancy map to indicate the location and size of the scene geometries, similarto [4, 33].
Occupancy provides basic-level scene and object awareness to our agent and is robust
Input: Pre-trained controller π UHC , ground truth motion dataset (cid:98) Q ; while not converged do
M dyna ← ∅ initialize sampling memory ; while M dyna not full do q 1: T ← sample random sequence of human pose ; kp 2 {+D 1: T ← π cam ( q 1: T ) // compute paired 2D projection . ; for t ← 1 ...T do s t ← ( q t , ˙ q t ) ϕ t ← (cid:80) Kk =
 G ( ∂ L proj ∂ q kt , q kt , kp 2D t − µ : t +1 ) // movement cues from 2D observations .+}
; (cid:101) q t +1 ← π KIN ( s t , ϕ t , o t )
+ q t s t +1 ← T ( s t +1 | s t , a t ) , a t ← π UHC ( a t | s t , (cid:101) q t +1 ) //
physics simulation and agent control using π UHC store ( s t , a t , r t , s t +1 , (cid:98)
q t , (cid:101) q t +1 ) into memory M dyna end end end π KIN ← Supervised learning update using experiences collected in M dyna for 10 epoches.
to changing scene geometries.
Concretely, we create a cube of 2 meters in diameter as the sensingrange of our agent’s surroundings and create a 16 by 16 by 16 evenly spaced grid.
At the center ofeach point on the grid, we sample the signed distance function of the scene F s to obtain how far thesampling point is from the geometries of the scene.
Then, we threshold the gird feature to provide afiner scene information.
In time step t , for threshold σ = 0 .
05 , the value of point p
i in the grid canbe computed as o it , and o t =
{ o i 0 , o i 1 , . . .
As the scanned meshes provided by the PROX dataset often have incorrect volumes, we use a semiautomatic geometric fitting procedure to apPROXimate the scene by simple shapes such as rectanglesand cylinders.
The modified scene can be visualized together in Eq.2.
For more information aboutour scene simplification process, please refer to Appendix.
Scene-aware Kinematic Policy To train and control our embodied agent in the physics simulator,we extend a policy network similar to Kin_poly [18], with the important distinction that our kinematicpolicy is scene-aware and performs third-person pose estimation.
Under the guiding principle ofembodied human pose estimation, our kinematic policy π KIN computes the residual 3D movement ˜˙ q tbased on proprioception s t , movement goal ϕ t , and scene awareness o t :
[Equation]
Specifically, the input q t contains the current body joint configurations, ϕ t provides the movementsignal per step, while o t provides awareness to the agent’s surroundings.
Within π KIN , an agentcentric transform T AC is used to transform q t , ϕ t and s t into the agent-centirc coordinate system.
The output ˜˙ q t , is defined as ˜˙ q t ≜ (˜˙ r R t , ˜˙ r T t , ˜˙ θ t ) , which computes the velocity in root translation˜ ˙ r R t and orientation ˜ ˙ r T t , as well as the joint angles ˜ ˙ θ t .
Notice that ˜ ˙ q t computes the residual bodymovement instead of the the full kinematic body pose ˜
q t +1 and establishes a better connectionwith the movement feature ϕ t .
During inference, π KIN works in tandem with π UHC and computesthe next-step target pose ˜
q t +1 for the humanoid controller to mimic.
In turn, π KIN receives timelyfeedback about physical realism, contact, based on physics simulation and agent’s state.
3.3 Learning the embodied human pose estimator
Since π KIN relies only on 2D keypoints, we can leverage the large-scale human motion databaseand train our pose estimation network using synthetic data.
We use the AMASS [19], H36M [8],and Kin_poly [18] datasets to dynamically generate 2D keypoints and 3D pose pairs for training.
At the beginning of each episode, we sample a motion sequence and randomly change its directionand starting position in a valid range, similar to the procedure defined in NeuralGD [32].
Then weuse a randomly selected camera projection function π cam to project 3D keypoints onto 2D imagesto obtain paired 2D keypoints and human motion sequences.
During training, we initialize theagent with the ground-truth 3D location and pose.
The H36M and Kin_poly dataset contains simplehuman-scene interactions, such as sitting on chairs and stepping on boxes.
To better learn object affordance and collision avoidance, we also randomly sample scenes from the PROX dataset and pairthem with motions from the AMASS dataset.
Although these motion sequences do not correspond tothe sampled scene, the embodied agent will hit the scene geometries while trying to follow the 2Dobservations.
We stop the simulation when the agent deviates too far away from the ground-truthmotion to learn scene affordance and avoidance.
We train the kinematic policy as a per-step model together with physics simulation, following thedynamics-regulated training procedure defined in [18].
Combining our UHC and our kinematicpolicy, we can leverage the pre-learned motor skills from the UHC and let the kinematic policy actdirectly in a simulated physical space to obtain feedback on physical plausibility.
The procedurefor dynamics-regulated training is described in Alg.
In each episode, we connect the UHC andthe kinematic policy using the result of the UHC and the physics simulation q t +1 to compute theinput features to the kinematic policy.
Using q t +1 verifies that (cid:101) q t can be followed by our controllerand informs our π KIN of the current humanoid state to encourage the policy to adjust its predictionsto improve stability.
Here we only train our π KIN using supervised learning, as third-person poseestimation is a more well-posed problem and requires less exploration than estimating pose fromonly egocentric videos [18].
For each motion sequence, our loss function is defined as L 1 distancebetween the predicted kinematic pose and the ground truth plus a prior loss using a learned motiontransition prior p θ and the encoder q ϕ from HuMoR [26].
The prior term encourages the generatedmotion to be smoother:
[Equation]
Experiments
Implementation details.
We use the MuJoCo [35] physics simulator and use the modified scenegeometries as environments.
The training process or our embodied pose estimator takes around 1 dayon a RTX 3090 with 30 CPU threads.
During inference, our network is causal and runs at 10 FPS onan Intel desktop CPU (not counting the time for 2D keypoint pose estimation, which runs at around30 FPS [2]).
For more implementation details and network architecture, please refer to the appendix.
Datasets Our Universal Humanoid Controller is trained on the AMASS dataset training split thatcontains high-quality SMPL parameters of 11402 sequences curated from the various MoCap datasets.
For training our pose estimator, we use motions from the AMASS training split, the Kin_poly dataset,and H36M dataset.
The Kin_poly dataset contains 266 motion sequences of type sitting, stepping,pushing, and avoiding, and the H36M dataset consists of 210 indoor videos with 51 different uniqueactions.
Note that we only use the motion sequences from these datasets and not the paired videos.
For evaluation, we use videos from the PROX [6] dataset and the test split of H36M.
Metrics and Baselines.
We compare against a series of state-of-the-art methods HyperIK
MeTRAbs [28], VIBE [11], and SimPOE [40] on the H36M dataset.
On the PROX dataset, wecompare against SOTA methods HuMoR [26], LEMO [41], and HyberIK with RootNet [21].
We usethe official implementation of the above methods.
We use pose-based and plausibility-based metricsfor evaluation.
To evaluate pose estimation when there is ground truth MoCap pose, we report theabsolute/global and root-relative mean per joint position error:
A-MPJPE and MPJPE.
On the PROXdataset, since there is no ground truth 3D pose annotation, we report: success rate SR (whether theoptimization procedure converges and whether the simulated agents loses balance), average chamferdistance from the point cloud (ACD, acceleration (ACC), and scene penetration frequency (Freq.)and distance (Pen.).
For a full definition of our evaluation metrics, please refer to the appendix.
4.1 Results
[Table]
Results on H36M
We report pose estimation onthe H36M dataset at Table1.
Here we can see thatour method achieves reasonable pose estimation resulton both root-relative andglobal pose metrics.
Noticethat our experiment on the
[Figure] H36M dataset is meant to be a sanity check on our pose estimation framework and is not a faircomparison.
Our method only uses a sparse set of detected 2D keypoints (12 keypoints) as input anddoes not directly use any image feature.
We also evaluate on a different subset of 3D keypoints, asour use of forward kinematics FK β causes our joint definition to be different from prior works.
Results on PROX Table 2 shows our result in the PROX dataset where we compare against SOTAmulti-stage batch optimization based methods LEMO [41] and HuMoR [26].
We also report theresult using HyperIK with RootNet [14] to show that severe occlusion and human scene interactionon the PROX dataset is also challenging to SOTA regression methods.
From Table 2, we can see thatour method achieves the best ACD (chamfer distance) without using any depth information, and iscompetitive in all other metrics against both RGB and RGB-D based methods.
Notice that LEMOand HuMoR directly optimize chamfer distance and ground penetration during optimization, whileour method only relies on 2D keypoints and laws of physics to achieve plausible pose estimates.
From Fig.4 we can see that our method can estimate accurate 3D absolute poses that align with the 3Dscene.
Compared to batch multistage optimization methods that utilize RGB-D input, PROX [6] and
LEMO [41], our method can achieve comparable results while running in near real-time.
Comparedwith the regression-based method, HybrIK [14] with RootNet [21], our method can estimate muchmore accurate root translation and body pose. In terms of physical plausibility, optimization-basedmethods often perform well but can still exhibit floating and penetration. While the optimization methods can take over a minute per-frame to estimate poses, catastrophic failure can still occur (asshown in the fourth row). Since motion is best seen in videos, please refer to our project website forvideo quantitative comparison.
[Table]
4.2 Ablation
In Table 3, we ablate the main components of our framework.
Row 1 (R1) corresponds to not usingany scene awareness; R2 uses MPG with only one time-step, which results in nosier gradients; R3trains a model without using the geometric translation step in G ; R4 does not use the TCN model F TCNin G , R5 does not leverage modified 3D scenes and uses the original scene scans.
R1 demonstratesthat the scene-awareness further improves our result, where our agent learns important affordanceinformation about chairs and sofas to improve the success rate.
R2 also highlights the importance oftaking the gradient step multiples times to obtain better gradients. Comparing R3 and R4 with R6,we can see that the learned function G is essential to obtain better root translation and orientationmovement signal, without which the agent drifts significantly.
R5 implies that the original scenescans have a large discrepancy between the real world and degrades performance.
[Table]
Discussions
Failure Cases We show the failure cases of our proposed method in the last two rows of Fig. 4.
Although our method can estimate human pose and human-scene interaction from the PROX datasetwith a high success rate, there is still much room for improvement.
We simplify all humanoids andscene geometries as rigid bodies and do not model any soft materials such as human skin, cushions,or beds.
As a result, our sitting and lying motion can often result in jittery motion, since contactoccurs only in a very small surface area on the simulated body and hard surfaces.
Due to the natureof physics simulation, our simulated humanoid sometimes gets stuck on a narrow gap between chairsand tables, or when lying on beds.
In these scenarios, our method can often recover quickly by joltingout of the current state and trying to follow the target kinematic pose.
Nevertheless, if the drift ofglobal translation is severe or many 2D keypoints are occluded, our agent may lose balance. Ourcausal formulation may also lead to jittery motion when 2D keypoint observations jitter. Currently,our agent has no freedom to deviate from the 2D observations and always try to match the 2D motioneven when it is stuck.
More intelligent control modeling will be needed to improve these scenarios.
Conclusion and Future Work We introduce embodied scene-aware human pose estimation, wherewe formulate pose estimation in a known environment by controlling a simulated agent to follow2D visual observations.
Based on the 2D observation, its current body pose, and environmentalfeatures, our embodied agent acts in a simulated environment to estimate pose and interact withthe environment.
A multi-step projection gradient (MPG) is proposed to provide global movementcues to the agent by comparing the current body pose and target 2D observations.
The experimentalresult shows that our method, trained only on synthetic datasets derived from popular motion datasetbases, can estimate accurate global 3D body pose on the challenging PROX dataset while using only
RGB input.
Future work includes providing a movement prior for the embodied agent to intelligentlysample body motion based on scene features to better deal with occlusion.