728x90
반응형





OpenPose 


지난 2017년 발표되었던 CMU의 OpenPose 라이브러리에 이어, 깊이 정보까지 알 수 있는 DensePose 가 발표되었다. 인간 행위 인식, 인간 자세 추정과 같은 분야에 있어서 가장 최신 기술 동향이라고 할 수 있다. 인간의 관절부위인 Keypoint Detection 하는 문제부터 시작해서 그 point 들을 어떻게 연결할 것인지, 어떻게 관절 부위(joint or landmark)들을 산출할 것인지 문제를 푸는 것이 중요하다. 


OpenPose 는 Caffe, OpenCV 기반으로 이루어져 있고, 사람의 얼굴, 신체부위, 손가락을 추정한다. 



OpenPose 프로젝트 홈페이지 : https://github.com/CMU-Perceptual-Computing-Lab/openpose






OpenPose 동영상 : https://www.youtube.com/watch?v=pW6nZXeWlGM&feature=youtu.be

OpenPose 관련 논문 : 


@inproceedings{cao2017realtime,
  author = {Zhe Cao and Tomas Simon and Shih-En Wei and Yaser Sheikh},
  booktitle = {CVPR},
  title = {Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields},
  year = {2017}
}

@inproceedings{simon2017hand,
  author = {Tomas Simon and Hanbyul Joo and Iain Matthews and Yaser Sheikh},
  booktitle = {CVPR},
  title = {Hand Keypoint Detection in Single Images using Multiview Bootstrapping},
  year = {2017}
}

@inproceedings{wei2016cpm,
  author = {Shih-En Wei and Varun Ramakrishna and Takeo Kanade and Yaser Sheikh},
  booktitle = {CVPR},
  title = {Convolutional pose machines},
  year = {2016}
}



keypoint 를 localization 하는 자세 추정기인 CPM (Convolutional Pose Machine) 이 주된 내용이며, 관절 간의 비 모수적 관계인 Part Affinity Fields (PAFs)를 계산하여 자세 추정을 수행한다. 


CPM이 처음 나왔을 때 CPM 이라고 계속 줄여서 써도 되는건지 의문이 들 정도로 생소할 것 같았는데, 이 분야를 연구한지 반년이 지날 즈음, 이 자세 추정기를 이용한 연구들 (2d, 3d pose estimation, ...)이 마구 쏟아져 나와서 CPM 이라고 쓰는게 무색할 만큼 익숙해져있다.





DensePose



최근 등장한 DensePose 는 2d 좌표만을 추정하였던 OpenPose에 비해, RGB 이미지 상의 인간의 모든 픽셀을 3D 표면에 매핑하는 것이다. 각 인간 영역 내의 신체 부위 좌표를 여러 프레임 마다 회귀 시킨다. 또한, 지역 기반 모델(Region-based model) 과 fully convolutional networks 로 이루어져있으며 Cascading 을 통해서 정확도를 향상한다. 




DensePose는 자세 추정 (Pose Estimation), 객체 탐지 (Object Detection) 분야와 관련되어 있고, 여기서 part 와 instance 를 분할하는 문제를 해결하는 것이 목적이다. 이를 해결하는 것은 3d 기반의 객체 이해를 향한 발판이 될 수 있고, 증강현실, 그래픽, 인간-컴퓨터 상호작용과 같은 단순한 관절 위치 예측 (landmark localization)을 넘어서는 문제에 응용 될 수 있다. 




보통 이미지에서 표면 기반 모델(surface-based model)로 dense correspondence 를 설정하는 작업은 주로 깊이 센서 환경에서 처리되었다. 대조적으로 여기서는 이미지 픽셀과 surface point 사이에 correspondence 가 성립되는 단일 RGB 이미지를 입력으로 한다. 즉, RGB 이미지를 입력으로 사용했다는 이야기. 


그리고 3D 표면 모델은 제일 유명한 SMPL 모델을 사용하였다. 네트워크는 MaskRCNN에 의존하며, Deeplan을 기반으로 한다. 자세한 네트워크 구조는 논문이나, 참고자료를 보면 좋겠다. 



DensePose 프로젝트 홈페이지 : http://densepose.org/

DensePose 동영상 : https://www.youtube.com/watch?v=Dhkd_bAwwMc&feature=youtu.be

DensePose 참고자료 : https://www.techleer.com/articles/484-densepose-dense-human-pose-estimation-in-the-wild/


DensePose 관련 논문 : 


  @article{Guler2018DensePose,
  title={DensePose: Dense Human Pose Estimation In The Wild},
  author={R\{i}za Alp G\"uler, Natalia Neverova, Iasonas Kokkinos},
  journal={arXiv},
  year={2018}
  }






Total Capture


최근, 3d pose estimation 에서 더 나아가 3d model 과의 매칭을 통해 인간의 자세를 더 유연하게 나타내는 연구가 활발하게 진행되고 있다. 예를 들면 최근 CMU에서 발표한 Total Capture 를 예로 들 수 있다. (OpenPose의 후속 연구인듯...)


이는 얼굴 표정, 몸 동작 및 손짓을 포함하여 인간의 움직임의 다중 스케일을 마커리스 (markerless) 로 포착(capture) 하기 위한 통합 변형 모델 (a unified deformation model)을 제시한다. 이 연구에서는 신체 부위를 나타내기 위해 "프랑켄슈타인(Frankenstein) 모델" 을 이용해서 얼굴과 손을 포함한 하나의 완벽한 모델로 관절의 움직임을 완벽하게 표현한다. 


이 프랑켄슈타인 모델을 최적화하여 연구에서는 "아담(Adam)" 모델을 생성한다. 일반적으로 사람들에게서 나타나는 모발 및 의류 형상(Shape) 을 표현 할 수 있는 보정 모델 이라고 칭하고 있다. 총체적인 행위를 추적하기 위해 이 모델을 사용하여 대규모의 신체 움직임을 담고, 미묘한 얼굴과 손 동작을 동시에 캡쳐하게 된다. 




해당 논문에서 다른 모델들 과의 비교 논문은 다음과 같다. 제일 왼쪽 핑크색이 SMPL, 은색이 프랑켄슈타인, 제일 오른쪽인 골드 모델이 아담 모델이다. 모발이나 손동작을 잘 표현하였다. 보통 3d pose estimation에서 일어나는 폐색 또는 가려짐 (occlusion) 현상을 잘 처리한 좋은 예시 이다. 




Total Capture 프로젝트 홈페이지 : http://www.cs.cmu.edu/~hanbyulj/totalcapture/

Total Capture 동영상 : https://www.youtube.com/watch?v=5QzdXQSf-oY








SMPL


SMPL (Skinned Multi-Person Linear Model) 을 간략하게 설명하자면, 인체를 나타내는 사실적인 3D 모델이며, 수천가지 3차원 바디 스캔을 통해 학습되었다. 이 모델은 자연스러운 인간 포즈에서 다양한 몸체 모양 (Body Shape)을 정확하게 표현하며, 버텍스 기반 모델이다. 




SMPL 프로젝트 홈페이지 : http://smpl.is.tue.mpg.de/

SMPL 동영상 : https://www.youtube.com/watch?v=kuBlUyHeV5U

SMPL 참고자료 : https://ps.is.tuebingen.mpg.de/publications/smpl-2015

SMPL 관련 논문 : 



@article{SMPL:2015,
  title = {{SMPL}: A Skinned Multi-Person Linear Model},
  author = {Loper, Matthew and Mahmood, Naureen and Romero, Javier and Pons-Moll, Gerard and Black, Michael J.},
  journal = {ACM Trans. Graphics (Proc. SIGGRAPH Asia)},
  volume = {34},
  number = {6},
  pages = {248:1--248:16},
  publisher = {ACM},
  address = {New York, NY},
  month = oct,
  year = {2015},
  month_numeric = {10}
}





이러한 SMPL 모델을 이용하여 3D Human Pose and Shape 을 추정한 연구가 있다. 신체 관절 부위를 추정하여 2d keypoint (joint or landmark) 좌표를 얻은 후에, 2차원 좌표를 3차원 SMPL 모델과 매칭, 맞추어(fitting) 3차원 자세를 추정한 것이다. 동시에 형상 즉, 모습 까지도 추정이 가능하다.  




SMPLify 프로젝트 홈페이지 : http://smplify.is.tue.mpg.de/

SMPLify 동영상 : https://www.youtube.com/watch?v=eUnZ2rjxGaE

SMPLify 관련 논문


  @inproceedings{Bogo:ECCV:2016,
        title = {Keep it {SMPL}: Automatic Estimation of {3D} Human Pose and Shape
        from a Single Image},
        author = {Bogo, Federica and Kanazawa, Angjoo and Lassner, Christoph and
        Gehler, Peter and Romero, Javier and Black, Michael J.},
        booktitle = {Computer Vision -- ECCV 2016},
        series = {Lecture Notes in Computer Science},
        publisher = {Springer International Publishing},
        month = oct,
        year = {2016}
        }
      







보통의 3d human pose estimation의 과정은 신경망을 통해서 2차원 관절 좌표를 추출하고, 그것을 이용해서 3차원 공간상에 매핑한 뒤에 포즈를 추정하거나, 바로 이미지에서 3차원 포즈를 추정한다. 


또한 3차원 공간상에 매핑 할 때에는 어떠한 3차원 모델 데이터를 이용하거나, 3차원 자세를 추정하기 위한 레이어를 추가하기도 한다. 



728x90
반응형