JLOG

OpenPose, ildoonet 실행하기, 구현하기 본문

AI/human pose estimation

OpenPose, ildoonet 실행하기, 구현하기

정정선선 2020. 9. 7. 23:45

[참고]

이 글은 이 블로그 내용을 참고해서 작성 되었습니다.

jin-t.tistory.com/4#comment5854351

 

OpenPose로 motion estimation, 모션인식

얼마 전 야구계에 있는 동생이 AI로 선수의 동작분석에 관심이 있다는 이야기를 했고, 나는 AI 모션인식에 관심이 있다고 했더니, 프로그램 만들어볼 수 있겠냐고 했다. ... 나도 완전 쌩 초보이지

jin-t.tistory.com

 

 

 

Human pose estimation 관련 프로젝트를 시작하기 위해 OpenPose를 먼저 실행시켜 보려 했다.

 

mac환경에서 OpenPose를 구동하려고 하니

8GB RAM 이상/ 8 cores CPU 이상의 사양이 요구 되었다.

내 소중한 맥북은 그 사양이 되지 않아 ildoonet으로 대체해서 실행시켰다.

 

(혹시 사양을 충족한다면 아래 블로그를 참조하자)

(Run OpenPose on Mac : maelfabien.github.io/tutorials/open-pose/#functionalities)

 

How to use OpenPose on macOS ?

Tutorials

maelfabien.github.io

 

 

ildoonet이란? (tf-pose-estimation)

ildoonet은 OpenPose를 tensorflow로 구현한 것이다.

비교적 낮은 사양에서도 human pose estimation 프로그램을 실행할 수 있다.

 

ildoonet github : 

github.com/ildoonet/tf-pose-estimation

 

ildoonet/tf-pose-estimation

Deep Pose Estimation implemented using Tensorflow with Custom Architectures for fast inference. - ildoonet/tf-pose-estimation

github.com

 

 

Mac에서의 ildoonet의 설치과정을 설명하자면,

 

1. 가상환경

먼저, 가상환경을 설정해주여야 한다.

이미 설치된 ananconda, pyenv, virtualenv 등 사용하는 환경이 있다면 사용하면 되고 없다면,

whatisthenext.tistory.com/136

 

[파이썬] pyenv, virtualenv 설치 및 가상환경 생성하기

pyenv, virtualenv Pyenv와 Virtualenv 설정하기 OS : Ubuntu 16.04 LTS Mac OS X : 10.11 왜 설치해야 하죠? pyenv는 로컬환경(즉, 나의 컴퓨터)에 다양한 파이썬 버전을 확인할 수 있습니다. 요약을 하면 "쉽게..

whatisthenext.tistory.com

을 참고해 가상환경을 구현해 보는 것을 추천한다.

 

참고로, 가상환경에서 개발 환경을 구성하면 파이썬 버전을 관리하기도 편하고, 후에 설치된 모듈들을 공유하기에도 편하다.

 

 

2. tensorflow 1.14, openCV3 설치

가상환경 안에서 

pip을 이용해 tensorflow와 openCV3를 설치하자

이때, 주의할 점은 tensorflow 1.14 버전으로 설치해야지 에러가 안난다고 한다.

$ pip install tensorflow==1.14
$ pip install opencv-python

 

만약, 이미 tensorflow 2.0 이상 버전이 설치되어있다면, 아래 주소를 참고해서 다시 깔아보자

www.tutorialfor.com/questions-287431.htm

 

python - about openpose execution

I want to run OpenPose on Mac I browsed various sites and built an environment, but I got an error and I can not execute it ModuleNotFoundError: No module named 'tensorflow.contrib' Tried I tried installing tensorflow with pip install, but I can't solve it

www.tutorialfor.com

 

3. C++ & Swig 설치

github.com/ildoonet/tf-pose-estimation/tree/master/tf_pose/pafprocess

 

ildoonet/tf-pose-estimation

Deep Pose Estimation implemented using Tensorflow with Custom Architectures for fast inference. - ildoonet/tf-pose-estimation

github.com

앞서 올린 ildoonet git에서 C++와 Swig를 설치할 수 있다.

 

나는 homebrew를 이용해서 Swig를 설치한 후

$ brew install swig

C++를 설치해주었다. (해당 git clone 후 - ./tf-pose-estimation/tf_pose/pafprocess/에서 해당 라인을 터미널에 입력하면 된다.)

$ swig -python -c++ pafprocess.i && python3 setup.py build_ext --inplace

 

 

4. 관련 module & Package 설치

clone 한 git파일의 tf-pose-estimation/requirement.txt  tf-pose-estimation/tf_pose/pafprocess를 이용하여 필요한 모듈들을 설치하면 된다.

$ git clone https://www.github.com/ildoonet/tf-pose-estimation
$ cd tf-pose-estimation
$ pip3 install -r requirements.txt
$ git clone https://www.github.com/ildoonet/tf-pose-estimation
$ cd tf-pose-estimation
$ python setup.py install  # Or, `pip install -e .`

 

 

 

5. 실행

-image 실행

$ python run.py --model=mobilenet_thin --resize=432x368 --image=./images/p1.jpg

human pose emtimation의 결과가 나오는 것을 알 수 있다.

 

 

-video(using webcam) 실행

$ python run_webcam.py --model=mobilenet_thin --resize=432x368 --camera=0

으로 웹캠 결과를 실행할 수도 있다.

 

 

실행결과

3FPS로 했더니 움직임을 바로바로 따라잡지 못하는 느낌이 있었다.

그래도 실시간으로 잘 따라잡는 것을 확인하였다.

 

Comments