OpenPose를 움직여 보았다.

목차



1.OpenPose를 움직여 보았다.
2.OpenPose 자습서의 소스 코드를 읽습니다.
3. Windows에서 OpenPose를 움직여 보았다.
4.OpenPose의 Face Estimation을 움직여 보았다.
5.OpenPose의 Hand Estimation을 움직여 보았다.

배경



CVPR2017에서 발표된 DeepLearning을 사용한 단안 카메라에서의 스켈레톤 검출 알고리즘이 OpenPose라는 명칭으로 라이브러리화·공개되었습니다.

조만간 Ubuntu(1404)에서 OpenPose의 Pose Estimation을 움직여 보았으므로 절차를 설명합니다.
htps : // 기주 b. 코 m / C 무 ぺr 세 p


위 이미지 소스는 [파쿠타소 (www.pakutaso.com)]의 무료 사진 소재를 사용했습니다.

논문



Realtime Multi-Person 2D Human Pose Estimation using Part Affinity Fields, CVPR 2017:
동영상:
Realtime Multi-Person 2D Human Pose Estimation using Part Affinity Fields, CVPR 2017 Oral - YouTube
프레젠테이션:
Multi-person pose estimation-CMU
논문:
htps : // 아 rぃ v. rg / pdf / 1611.08050. pdf

사용환경



Description: Ubuntu 14.04.5(x64) LTS trusty
CUDA 버전 8.0.61
NVIDIA-SMI 375.66/Driver Version: 375.66/GeForce GTX 1050
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
OpenPose 1.0.0rc1(Apr 2017)

라이브러리 설치



기본적으로 doc/installation.md를 참조하여 설치하면 된다.
htps : // 기주 b. 이 m/C무-ぺrせp つあl-m ぷちんgーぁb/오뻬뽀세/bぉb/마s r/도 c/인 s 탓치온. md
OpenPose는 CUDA, cuDNN, OpenCV, Atlas를 미리 설치해야합니다.
내 환경은 Ubuntu1404이기 때문에 CUDA8.0과 cuDNN5.1을 설치했습니다.

CUDA 설치



htps : //에서 ゔぇぺぺr. 응아아. 코 m / 쿠다 - ww 아아 ds
에서 deb를 다운로드하여 설치.
sudo dpkg -i cuda-repo-ubuntu1404-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

HOME의 .bashrc에 다음을 추가한다.
export CUDA_HOME=/usr/local/cuda-8.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${CUDA_HOME}/lib64
export PATH=$PATH:${CUDA_HOME}/bin

cuDNN 설치



htps : //에서 ゔぇぺぺr. 응아아. 코 m / rdp / 쿠 드 - w w ぉ 아 d
에서 deb를 다운로드하여 설치.
다운로드에는 사용자 등록이 필요합니다.

ver5.1
sudo dpkg -i libcudnn5_5.1.10-1+cuda8.0_amd64.deb
sudo dpkg -i libcudnn5-dev_5.1.10-1+cuda8.0_amd64.deb

ver6.0
sudo dpkg -i libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb 
sudo dpkg -i libcudnn6_6.0.21-1+cuda8.0_amd64.deb 

여기서 내 환경에서는

libEGL.so.1 is not a symbolic link

가 나왔기 때문에, 아래와 같이 링크를 수정.
sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1

참고 : linux - libEGL.so.1 is not a symbolic link - Stack Overflow

OpenCV, Atlas 설치



이것은 apt-get로 설치하면 된다.
sudo apt-get install libopencv-dev
sudo apt-get install libatlas-base-dev

openpose 설치



openpose 바로 아래의 아래의 파일을 실행하면, 부수적으로 필요한 라이브러리·학습기의 다운로드·인스톨과, 샘플의 컴파일이 행해진다.
 ./ubuntu/install_caffe_and_openpose_if_cuda8.sh 

샘플을 움직여보십시오.



1. 샘플 동영상으로 움직여보세요



./build/examples/openpose/openpose.bin --video examples/media/video.avi

2. 웹캠으로 움직여보세요



./build/examples/openpose/openpose.bin

3. 샘플 스틸 이미지로 움직여보세요.



./build/examples/openpose/openpose.bin --image_dir examples/media/

소스를 컴파일 해 본다.



openpose는/example/usercode 이하에 소스 코드를 저장하면 openpose 바로 아래의 Makefile로 컴파일이 통과하게 되어 있다. 가장 작은 샘플 인 "1_extract_from_image"(스틸 이미지를 읽고 스켈레톤 추정을 수행하는 샘플)을 사용자 코드 아래에 복사하고 make합니다.
cp examples/tutorial_pose/1_extract_from_image.cpp examples/user_code/
make

make 된 실행 파일은 ./build/examples/user_code/아래에 저장됩니다../build/examples/user_code/1_extract_from_image.bin
또한, 1_extract_from_image.cpp는 27행째로 파일명을 지정하고 있다. 여기의 jpeg 파일 이름을 변경하면 모든 이미지를 읽을 수 있습니다.
DEFINE_string(image_path, "examples/media/COCO_val2014_000000000192.jpg","Process the desired image.");

소감



RGB-D카메라도, 스테레오도 아닌, 단안의 WEB카메라로 리얼타임에 스켈레톤 검출이 생기는 것을 보면, 순수하게 기술의 진보를 느낀다.

좋은 웹페이지 즐겨찾기