yongyong-e
[OpenPose] How to use OpenPose on ubuntu 본문
※ OpenPose 테스트 환경
- 소스코드: https://github.com/CMU-Perceptual-Computing-Lab/openpose v1.5.0
- OS: Ubuntu 16.04 64bit
- GPU: Nvidia GeForce GTX 1080Ti
1) Ubuntu 설치
- Ubuntu는 16.04 버전으로 설치하여 준비하자.
- 또한 이후 Ubuntu 환경에 Anaconda 라이브러리를 포함하고 있으면 안된다. (Anaconda는 Caffe와 호환되지 않는 이유)
2) NVIDIA 그래픽 드라이버 설치
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
$ sudo apt-get install nvidia-375
$ sudo reboot
3) CUDA 설치
- CUDA는 8.0 버전으로 설치
- https://developer.nvidia.com/cuda-downloads를 통해 CUDA Toolkit 8.0 - Feb 2017를 선택하여 아래와 같이 설치 가능하다.
- 설치 과정 중 질문에 대해서는 다음과 같이 답하면 된다.
- 추가적으로 bashrc 파일에 CUDA에 대한 환경변수를 적용하도록 한다.
1. bashrc 파일 편집
$ vim .bashrc
2. 마지막 라인에 아래의 환경변수 추가
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
3. 환경변수 적용
$ source .bashrc
4) cuDNN 설치
- cuDNN은 5.1 버전으로 설치
- https://developer.nvidia.com/cudnn를 통해 다운로드 가능하며 아래와 같은 버전을 받아야 한다.
- cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0
- cuDNN v5.1 Library for Linux
- 이후 아래와 같이 /usr/local/cuda-8.0 경로에 복사한다.
$ tar xzvf cudnn-8.0-linux-x64-v5.1.tgz
$ sudo cp cuda/lib64/* /usr/local/cuda-8.0/lib64/
$ sudo cp cuda/include/* /usr/local/cuda-8.0/include/
$ sudo chmod a+r /usr/local/cuda-8.0/lib64/libcudnn*
$ sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h
$ sudo apt-get install libcupti-dev
5) OpenPose 구성
- OpenPose 소스코드 다운로드
$ git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose
- OpenPose에 필요한 라이브러리 설치
$ sudo apt-get install wget vim cmake cmake-qt-gui
$ sudo apt-get install python-dev python-pip python-numpy
$ pip install --upgrade pip
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev
$ sudo apt-get install libhdf5-serial-dev protobuf-compiler
$ sudo apt-get install libboost-all-dev libgoogle-glog-dev
$ sudo apt-get install liblmdb-dev libopenblas-dev libatlas-base-dev
6) 소스코드 설정
(방법 1)
- CMake 이용
$ cp openpose/script/ubuntu_deprecated/Makefile.config.Ubuntu16_cuda8.example Makefile.config
$ cp openpose/3rdparty/caffe/Makefile.config.Ubuntu16_cuda8.example 3rdparty/caffe/Makefile.config
$ cd build/
$ cmake ..
* * *
Protocol Buffers 라이브러리에 대한 오류 발생시
2.6.1버전의 protobuf를 설치하여 적용해야한다.
* * *
- protocol buffers 2.1.6버전 다운로드
$ curl -OL https://github.com/google/protobuf/releases/download/v2.1.6/protoc-2.1.6-linux-x86_64.zip
- 압축 풀기
$ unzip protoc-2.1.6-linux-x86_64.zip -d protoc2
- /usr/local/bin/ 경로로 파일 이동
$ sudo mv protoc2/bin/* /usr/local/bin/
- /usr/local/include/ 경로로 파일 이동
$ sudo mv protoc2/include/* /usr/local/include/
- 권한 변경
$ sudo chown [user] /usr/local/bin/protoc
$ sudo chown -R [user] /usr/local/include/google
(방법 2)
- CMake-GUI 실행
$ cmake-gui
- 오픈포즈 소스코드 경로와 빌드 디렉토리 경로 설정
- Configure 버튼을 누르고 아래와 같이 설정 후 Finish 버튼을 클릭
- 이후 아래와 같이 텍스트 창에 Configuring done이 뜨면 성공
- 그리고 Generate 버튼을 클릭하고 CMake-GUI를 종료한다.
7) Open Pose 빌드
- 마지막으 build 디렉토리로 이동하여 Open Pose를 빌드하도록 한다.
$ cd openpose/build/
$ make -j`nproc`
8) OpenPose 실행
- 비디오 입력을 통한 실행
$ ./build/examples/openpose/openpose.bin --video examples/media/video.avi
- 카메라 입력을 통한 실행 (리언센스의 RGB 카메라 Index는 2)
$ ./build/examples/openpose/openpose.bin --camera=2
- Face, Hand Pose 모델 추가
$ ./build/examples/openpose/openpose.bin --camera=2 --face --hand
- 실행 결과
Reference
https://github.com/CMU-Perceptual-Computing-Lab/openpose
'머신러닝 > 컴퓨터비전' 카테고리의 다른 글
[DensePose] How to use DensePose (3) | 2019.03.05 |
---|---|
[Darknet: YOLO] Test with GTX 1080ti (0) | 2017.09.21 |
[Darknet: YOLO] 3. Real-Time Object Detection on a Webcam (5) | 2017.07.25 |
[Darknet: YOLO] 2. Compiling With CUDA & OpenCV (0) | 2017.07.25 |
[Darknet: YOLO] 1. Detection Using A Pre-Trained Model (0) | 2017.07.25 |