The Visionary Researcher

Research/Pose Estimation 2건이 검색되었습니다.

"Direct Prediction of 3D Body Poses from Motion Compensated Sequences"

2016 CVPR

author : Bugra Tekin et al.

논문 : Click


<Key Point>

1. 연속적인 Video에서 3D pose 추정

2. 기존 방법들 : 각 프레임마다 포즈 주정하고, 후처리과정으로 그들을 잇는다

3. 제안하는 방법 : bounding box의 spatial temporal volume으로부터 한번에 3D pose를 regression한다.

4. 연속적인 프레임에서 motion compensation을 수행한다.


<Introduction>

1. 3D pose estimation의 중요성, 흥미

- Depth 카메라를 이용해서 비디오에서 3D 정보를 얻는 방법은 쉽게 가능하지만, 뎁스카메라 없이 하는 것은 힘들지만 흥미로운 일이다.

2. 3D pose estimation의 최신 연구 동향

- Monocular 3D pose tracking(frame to frame tracking 포함) -> distraction과 occlusion때문에 힘듬[1]

- tracking by detection(연속 frame 말고, across the frame) -> 더 나음[2] [3]

- 효과적인 single frame 접근방법 -> 2D HOG features를 3D pose로 kernel embedding하여 regressor 학습하는 방법[4]

- Neural Net 이용한 방법[5]

3. 한계점

- 3D에서 2D로 projection하는 것에서 내제된 모호성(self occlusion, mirroring)은 여전히 힘들게 한다.

- 연속적인 프레임에서 호환이 되는 후보자를 선택하면서 문제가 있는 프레임을 제거하는 결과에 의해서 원인을 분석(귀납적)하는 방법인 연결정보를 이용함으로써 이러한 어느정도의 모호성을 바로세울 수 있다.

- 그러나 이러한 문제가 있는 프레임이 자주 발생할 때, 시간적인 일치성을 나중에 강조하는것은(귀납적으로 분석하는 것은) 충분하지 않다. 

 4. 제안하는 방법 소개

- 귀납적이 아닌 시작할때 모션 정보를 이용한다.

- spatio temporal volume으로부터 한번에 3D pose를 예측하고, regression을 학습한다.

- 이 volume은 연속적인 프레임에서 사람을 둘러싸고 있는 bounding box로 구성된다.

- 이 방법은 첫 추정치를 귀납적으로 분석하는 것보다 훨씬 효과적이라는 것을 말해준다.

- image volume에 spatio temporal feature[6][7]를 추출하여 Deep network를 적용한 것과 다른 regression 스킴을 비교한다.

- 사람이 volume에 중심이 되는 것이 필수적이라는 것을 보여준다.

- 2개의 CNN(1개는 연속적은 프레임 사이에서 몸이 움직이는 것을 예측해주는것, 다른 1개는 refine하는 것)을 학습한다.

- 이러한 motion compensation은 기존의 것을 능가하고, 3D human pose estimation의 accuracy를 증가시켜주는 것을 보여준다.
(Human3.6, HumanEva, KTH Multivuew Foot ball 3D human pose estimation benchmarks)

- 3D body pose에서 차별적인 태도를 예측하기 위해 appearance와 motion단서를 결합한다.

- 무엇이 motion compensation을 실용적이고 효과적으로 만드는지 증명한다.


<Related Works>

1. Single image에서 3D pose 추정

- generative model 




2. 비디오에서 3D pose 추정





<References>

[1] R. Urtasun, D. Fleet, A. Hertzman, and P. Fua. Priors for People Tracking from Small Training Sets. In ICCV, 2005.

[2] D. Ramanan, A. Forsyth, and A. Zisserman. Strike a Pose: Tracking People by Finding Stylized Poses. In CVPR, 2005.

[3] M. Andriluka, S. Roth, and B. Schiele. Monocular 3D Pose Estimation and Tracking by Detection. In CVPR, 2010.

[4] C. Ionescu, I. Papava, V. Olaru, and C. Sminchisescu. Human3.6M: Large Scale Datasets and Predictive Methods for 3D Human Sensing in Natural Environments. PAMI, 2014.

[5] S. Li and A. B. Chan. 3D Human Pose Estimation from Monocular Images with Deep Convolutional Network. In ACCV, 2014.

[6] A. Kl¨aser, M. Marszałek, and C. Schmid. A Spatio-Temporal Descriptor Based on 3D-Gradients. In BMVC, 2008.

[7] D.Weinland, M. Ozuysal, and P. Fua. Making Action Recognition Robust to Occlusions and Viewpoint Changes. In ECCV, 2010.


댓글 0

논문 : Click


"Deep pose: Human Pose Estimation via Deep Neural Networks"

2014 CVPR

Author : Alexander Toshev et al.

<Key Point>

1. 모든관절이 보이는 것은 아니다, 따라서 전체적인 추론(holistic reasoning)이 필요하다.

2. DNN regressor를 이용하면 해결될 것이다.


<Introduction>

1. Pose estimation의 정의, 방법, 어려움(한계점)

(정의 : 사람의 관절 위치를 찾는 것)

(방법 : part-based model, ..)

(한계점 : local detector는 모든 관절의 상호과정 속에서 일부분만 모델링함으로써 local한 part를 추론하는 것이다. 하지만 실제 사진에서는 모든 joint를 확인할 수도 없고 안보이는 부분은 추측을 해야 한다. 따라서 local detector는 안보이는 부분을 찾을 수 없다. 즉 전체적인 추론(holistic reason)을 해야하는데 이를 사용한 방법도 아직 성능이 그리 좋지 않다.) 

2. DNN의 정의, 이는 pose estimation의 문제점 해결할 것이다.

3. 제안하는 방법과 DNN의 장점

(7 layer generic convolution DNN)

(장점1 : 각 관절의 전체 맥락을 고려한다) <- 아까 말한 local descriptor와 상반

(장점2 : graphical model로 간단히 구현) <- deep leaning의 장점, feature 표현할 필요 없음, joint 사이의 상호관계 정의하지 않아도됌(문제가 될거같은데..)

(joint regression, pose predictor 제안 : 처음에 pose estimate한 다음, 고화질 sub image를 이용하여 각 관절 예측값을 조정하는 DNN-based regressor 적용)

4. 성능 좋다 언급


<Related Work>

1. Pictorial Strictures(PSs) [1] 발전(다루기 쉽고 실용적) -> 문제점 : 이미지 data가 아닌 간단한 binary potential을 가진 tree-based pose 모델이라는 것

2. Richer part detectors [2]

3. mixture model of parts (mixture of PSs) [3]

4. hierarchical model [4]

5. Image-dependent PS models(global classifier) [5]

6. holistic manner 어렵다.

7. semi-global classifier [6]

8. 3D pose regression [7]

9. Convolution NNs + Neighborhood Component Analysis [8] (not cascade)

10. casecade DNN regressor (used for facial points) [9]


<Deep Learning Model for Pose Estimation>

1. Notation

- joint 개수 : k

- pose vector : y (x, y 좌표)

- 이미지 : x

2. Normalization 

- c는 중심, w는 폭, h는 높이, 세 파라미터에 의해서 정규화

- 같은 x에 있는 모든 k에 대해서 동일하게 적용



<Pose Estimation as DNN-based Regression>

1. Notation

- input x (이미지)

- function (x가 들어왔을때 파라미터 theat에 의하여 k개 관절당 2개씩 좌표, 2k의 원소 생성)

- 정규화된 x에 함수를 통과한 뒤 다시 이미지에 투영하기 위해 역정규화

- 함수를 DNN으로 인해 구현한다.

2. 아키텍쳐

- 처음 x들어오면 미리 지정해준 사이즈로 resize한 다음에 여러 layer를 거쳐서 최종적으로 2k개의 좌표를 얻는다.

- 기본 아키텍쳐는 Alex net[10], 또한 이 아키텍쳐는 localization에서도 좋은 성능 [11]

- 총 7 layers

- C : conv(learnable), P : pooling, F : fully(learnable), LRN : local response normalization

- C(55,55,96, filter : 11x11)-LRN-P-C(27,27,256, filter : 5x5)-LRN-P-C(13,13,384, filter : 3x3)-C(13,13,384, filter : 3x3)-C(13,13,384, filter : 3x3)-P-F(4096)-F(4096)

- 총 파라미터 수 40M

- Generic DNN 아키텍쳐 사용(좋은 성능 증명되어서), holistic하게 한번에 full image를 비선형 변환해서 관절들을 찾는다.

- 7개의 hidden layer가 sharing하기 때문에 특정한 pose model 혹은 loss를 수정하지 않아도 된다.(....)

3.학습

- 기존 Alex net의 classification softmax loss가 아닌, 각 관절의 예측값과 GT값의 L2 distance를 이용하여 loss를 정한다. (linear regression)

- 정규화를 하지 않는다면 L2 loss가 이상하게 될 것이므로, 정규화 필수

- 이미지 x에 대하여 모든 관절 k개와 x, y 좌표에 대한 loss

- 이 loss는 back propagation에 의해서 최소화된다(deeplearning 기본)

- mini batch size : 128

- ada-grad

- Lr : 0.0005

- F에서 dropout(0.6)

- data augmentation을 위해 LRflip, random crop 이용


<Cascade of Pose Regressors>

- 초기 DNN한 번만 적용할 경우 인풋사이즈가 220,220으로 고정되어있기 때문에, network는 자세하게 보는 능력을 갖기 어렵다.

- 따라서 cascade of pose regressor를 제안한다.

- 처음에 초기 관절 위치를 추정한 다음 이전 stage보다 더 좋은 위치를 추적하기 위하여 추가적인 DNN regressor를 학습한다.

- 즉, 반복적으로 refinement를 하는 과정이다.

- 이때, full image가 아닌 crop 이미지를 넣음으로써 high resolution 영상을 얻게되고, 더 정교하게 관절을 추정할 수 있게된다.

- 우리는 모든 stage에 동일한 아키텍쳐를 사용한다. 

- 총 S개의 스테이지에서 S배만큼의 파라미터가 필요하다(각 stage는 같은 아키텍쳐이지만, 다른 파라미터 이용)

- crop을 하는 방법은, y_i 를 중심으로 두고, b_i 박스를 선택한다. 이때 길이는 sigma*diameter(y)로 정의된다.

- diameter(y)는 human torso에서 반대방향 관절을 의미한다.(예를 들면, 왼쪽 어깨와 오른쪽 엉덩이) 이 값은 dataset의 구체적인 포즈 정의에 의존한다.

- 처음에는 모든 관절에 대해서 한번에 수행, 그 후 stage에서는 i가 1~k로써 모든 관절에 대해서 각각 수행

- 각 스테이지마다 다른 파라미터를 사용하기 때문에 각 스테이지마다 동일한 학습을 해야한다.

- 각 스테이지의 각 관절은 각기 다른 bounding 박스에 의해 정규화된다. 이때, 바로 bounding box의 위치는 전 단계의 추정치에 영향을 받는다.

- 각 이미지의 각 조인트에 multiple 정규화를 사용한다. 

- 단지 이전 스테이지 추정치에 영향을 받는 것이 아닌 simulated(모조의) 예측값을 이용한다. 

- 각 스테이지, 각 관절에 대해서, 모든 학습 데이터의 displacement(차분데이터) 의 mean과 variance를 계산하여 2차 정규분포함수를 만든다.

- 즉, 해당 정규분포함수에 의해서 각 스테이지, 각 관절데이터는 정규화될 수 있다.


<Empirical Evaluation>

1. Dataset

- Frames Labeled In Cinema(FLIC) [12] : 4000 학습이미지, 1000 테스트이미지, Hollywood movies, 다양한옷, 10개이상 관절이 label

- Leeds Sports Dataset(LSP) [13,14] : 11000 학습이미지, 1000 테스트 이미지, 스포츠, 다양한 포즈, 모든 사람 full body 그리고 14 관절

- diameter(y)는 모두 어깨와 반대편 엉덩이 사이의 거리, skeleton은 tree kinematic

2. Metric

- Percentage of Correct Parts(PCP) : 팔다리 감지율, 실제와 추정치의 distance가 limb length의 절반 이하면 감지(짧은 팔다리나, 어깨가 낮으면 감지하기 힘든 단점)

- Percent of Detected Joints (PDJ) : 단점 보완 위해 새로운 metric, distance가 torso 지름에 특정비율 이하인 경우, 특정비율 다르게하면서 감지율 계산, 모든 관절이 같은 거리 threshold에 영향을 받으므로 장점

3. Experimental Detail

- FLIC으로 초기 stage 학습, 

- 30개의 이미지로 hyperparameter 결정

- PDJ는 0.2 이용(모든 관절 다)

- 시그마는 FLIC은 1.0, LSP는 2.0, 총 stage수인 S는 3

- LSP에서 11000이미지 학습, 40개 랜덤 크롭, 2개 좌표, 14개 관절 총 12M개의 트레이닝셋(이정도는 필수다, parameter 많아서..)

- 12core CPU에서 이미지당 0.1s (다른 방법보다 빠르다, 하지만 training complexity는 더 크다)

- 초기 stage는 3일 소요, 각 refinement stage는 7일 소요(40개 랜덤크롭해서 40배 크기 때문에 더 크다)


<Result and Discussion>

1. Comparison

- PDJ에서 모두 좋은 결과를 가져온다.

- appearance가 다양한 movie나 다양한 포즈가 있는 sport 모두 잘된다.

2. Effect of cascade-based refinement

- stage가 증가할수록 좋은 결과를 가져온다

- 초기 단계에서 잘 snap했지만 scale이 안맞는경우 발생, stage넘어가면 이상적으로 refine

3. Cross-dataset Generalization

- 일반화 위해, LSP와 FLIC 모두로 학습, 새로운 Image Parse dataset[15]으로 테스트

- 이때는 PDJ 작으면 다른것이 성능 더 좋은경우도, PDJ 크면 Deep pose가 이김

4. 특별한 pose들

- 흔한 실패의 예는 등이 보이게 사진을 직을 경우 left와 right에 혼동이 온다.


<References>

[1] M. A. Fischler and R. A. Elschlager. The representation and matching of pictorial structures. Computers, IEEE Transactions on, 100(1):67–92, 1973.

[2] M. Andriluka, S. Roth, and B. Schiele. Pictorial structures revisited: People detection and articulated pose estimation. In CVPR, 2009.

[3] S. Johnson and M. Everingham. Learning effective human pose estimation from inaccurate annotation. In CVPR, 2011.

[4] G. W. Taylor, R. Fergus, G. Williams, I. Spiro, and C. Bregler. Pose-sensitive embedding by nonlinear nca regression. In NIPS, 2010.

[5] Y. Tian, C. L. Zitnick, and S. G. Narasimhan. Exploring the spatial hierarchy of mixture models for human pose estimation. In ECCV, 2012.

[6] G. Gkioxari, P. Arbel´aez, L. Bourdev, and J. Malik. Articulated pose estimation using discriminative armlet classifiers. In CVPR, 2013.

[7] C. Ionescu, F. Li, and C. Sminchisescu. Latent structured models for human pose estimation. In ICCV, 2011.

[8] C. Szegedy, A. Toshev, and D. Erhan. Object detection via deep neural networks. In NIPS 26, 2013.

[9] G. Shakhnarovich, P. Viola, and T. Darrell. Fast pose estimation with parameter-sensitive hashing. In CVPR, 2003.

[10] A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, 2012.

[11] Y. Sun, X. Wang, and X. Tang. Deep convolutional network cascade for facial point detection. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on, pages 3476–3483. IEEE, 2013.

[12] B. Sapp and B. Taskar. Modec: Multimodal decomposable models for human pose estimation. In CVPR, 2013.

[13] S. Johnson and M. Everingham. Clustered pose and nonlinear appearance models for human pose estimation. In BMVC, 2010.

[14] S. Johnson and M. Everingham. Learning effective human pose estimation from inaccurate annotation. In CVPR, 2011.

[15] D. Ramanan. Learning to parse images of articulated bodies. In NIPS, 2006.

댓글 0