본문 바로가기

Programming

OpenPose로 motion estimation, 모션인식

반응형
SMALL

얼마 전 야구계에 있는 동생이 AI로 선수의 동작분석에 관심이 있다는 이야기를 했고,

나는 AI 모션인식에 관심이 있다고 했더니, 프로그램 만들어볼 수 있겠냐고 했다.

... 나도 완전 쌩 초보이지만...  그래도 관심이 있으니 해보겠다는 도전적인 자세로!!

시작해본다.!!

내가 시도해본 라이브러리는 openpose를 사용했다.

 

그런데! 환경설정하는데만 이틀 밤을 꼬박 새웠다는... 인터넷 웹사이트 검색만 100개 넘게 한 거 같은데.

이번 포스팅은 내가 찾았던 그 포스팅을 정리해 놓은 것이다.

본격 포스팅에 앞서 나는 Mac 유저이다. 즉, Mac을 활용하여 OpenPose motion estimation을 했던 것임

 

1. 아나콘다(Anaconda), 텐서플로우(Tensorflow) 환경 설정

(1) 방법 1

 

Anaconda에 Tensorflow 설치, 사용하기

# Anaconda에 Tensorflow 설치하기 지난 시간에 이어서 써보는 아나콘다 입문 2단계! 텐서플로우를 설치해보면서 아나콘다의 사용법을 익혀보는 시간을 가져봅시다. 1. 가상 환경 생성하기 아나콘다를

zvi975.tistory.com

(2) 방법 2

 

[Mac] 아나콘다 환경에서 텐서플로 설치하기

아나콘다 환경에서 텐서 플로를 설치하는 방법입니다. 아나콘다 설치하는 방법은 아래 링크에서 참고하실 수 있습니다. https://lhh3520.tistory.com/369 Mac에서 아나콘다 설치하는 방법 머신 러닝을 배�

lhh3520.tistory.com

 

2. Openpose 환경 구성

Openpose 환경구성을 위한 youtube 영상 링크

 - 여기까지 하면, 아나콘다 가상 환경이 필요할 것이다. 가상 환경 들어가는 방법은 별도로 아래에 기록해둔다.

$ conda activate tfpose

$ conda deactivate

 

 

3. OpenCV 환경 구성

 

opencv3 install anaconda

opencv  설치가 항상 여러곳에서 문제가 된다... 이번에  mac 설치 + anaconda opencv3 install in anaconda : MacOSX Sierra REF : http://stackoverflow.com/questions/41873941/cant-install-opencv3-on-ana..

windowx.tistory.com

 

4. C++ & Swig 설치

 

ildoonet/tf-pose-estimation

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

github.com

 

여기까지 하면, Pose extimation의 환경 구성은 된 건데, 실행해보면 에러 메시지가 뜬다. 

그 이유는 Tensorflow 2.0버전이 깔려있기 때문이다. 여러 사이트를 검색해본 결과 Tensorflow 1.4 버전으로

시도해보라고 해서 아래 링크와 같이 Tensorflow를 제거 후 다시 설치했다.

 

5. Tensorflow 재설치 방법

 

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

 

6. Tensorflow 버전 확인 방법

$ python

> import tensorflow as tf

> tf.__version__

 

최종 실행 방법

모든 설치와 환경 구성이 완료되면, 바탕화면(나는 바탕화면에 설치했음)에서 tf-openpose폴더에서 run.py를 실행하여 구동한다.

실행은 Terminal에서 하면 된다.

아래를 따라 해 보시라.

https://coupa.ng/b2oBsr

 

Apple 2020년 맥북 에어 13

COUPANG

www.coupang.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다." 

 

<실행방법>

terminal에서 아래 입력

cd Desktop/tf-openpose 로 이동 run.py 있는 디렉토리에서 실행

conda activate tfpose 로 가상 환경에 들어감

아래를 입력하고 엔터 치고 잠시 기다리면 아래 그림과 같은 결과가 나옴

($ 이후부터 입력해야 하는 거 아시죠? 혹시 모르셨다면, 저도 처음에는 $부터 작성했었음... ㅋ)

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

 

<결과 화면>

3D pose estimation (2차원 화면으로 3차원 추정)
3차원 추정 데이터 값
Openpose를 이용한 투구 자세 motion추출

나는 3차원으로 데이터를 뽑아내는 라이브러리를 추가했다.

이것도 추후에 별도 포스팅하기로 하겠다. 

이 라이브러리를 쓰지 않고 2차원 화면에 대한 데이터만 추출하겠다고 하면

마지막 사진의 결과가 바로 나온다.

사진의 해상도에 따라서 결과에 영향이 있는데 사진을 자세히 보면 팔 부분에 해상도가 떨어져서

결과도 좋지 않게 나왔으나, 일단 결과는 나온다는 것을 본 것이니 시작할 수 있는 환경 구성은 됐다고 봐도 되겠다.

 

일단 이틀 밤을 꼬박 새우면서 필요한 정보의 링크를 기록해둔 것이다.

다음에 기회가 되면 하나하나 짚어가면서 포스팅할 기회가 오겠지.

 

 

반응형
LIST
  • 정정선선 2020.09.02 16:18 신고

    안녕하세요 4번 $ sudo apt install swig 로 swig를 설치하려는데 계속
    Unable to locate an executable at "/Library/Java/JavaVirtualMachines/jdk-14.0.2.jdk/Contents/Home/bin/apt" (-1)
    에러가 발생하네요
    .bash_profile도 참고해주신 블로그래도 설정했고 java version도 잘 뜨는데 swig install만 시도하면 에러가 발생하네요
    혹시 swig 어떻게 설치하셨나요?

  • JIN_T 2020.09.02 18:04 신고

    $ swig -python -c++ pafprocess.i && python3 setup.py build_ext --inplace
    으로도 시도해보셨나요?
    그 부분은 기록해두지않았는데, 기억에 그랬던거같아서요.

  • 정정선선 2020.09.02 18:49 신고

    해결했습니다
    apt으로 깔면은 안되고 brew 이용해서 swig를 설치하니 되네요.
    감사합니다, 글 잘 정리해주셔서 도움 많이 됐습니다!

    • JIN_T 2020.09.02 18:51 신고

      어수선하게 많은 정보를 못 적어놨다고 생각했었는데, 부적한 글에도 도움이 되셨다니 기쁘네요.
      더더욱 분발해야겠습니다.
      정정선선님의 블로그 보니 엄청 고수이시던데, 자주 들러서 많이 배우겠습니다^^

  • jw9603 2020.09.20 01:21

    # git clone
    !git clone https://github.com/ildoonet/tf-pose-estimation.git

    # set tensorflow 1.14
    !pip install tensorflow==1.14

    # install swig & requirements
    !apt install swig
    !swig -python -c++ pafprocess.i && python3 setup.py build_ext --inplace
    이런식으로 입력하면
    설치는 되는데 계속
    Unable to find file 'pafprocess.i'.
    가 나옵니다 왜그럴까요,.ㅠㅠ?