데이터사이언스 대학원 생활/Human Pose Estimation

MMPose 설치 방법

데욱 2023. 6. 23. 13:34

MMPose는 Openmmlab의 구성원인 Pytorch 기반 포즈 추정 오픈 소스 툴킷이다.

 

2d 다중 사람 인간 포즈 추정, 2d 손 포즈 추정, 2d 얼굴 랜드마크 감지, 133 키포인트 전신 인간 포즈 추정,

패션 랜드마크 감지 및 동물 포즈 추정을 위한 풍부한 알고리즘 세트와 관련 구성 요소 및 모듈을 포함하고 있다.

 

https://mmpose.readthedocs.io/en/latest/overview.html 

 

Overview — MMPose 1.0.0 documentation

Docs > Overview 以中文阅读 Edit on GitHub Shortcuts

mmpose.readthedocs.io

공식 Doc 페이지

 

https://github.com/open-mmlab/mmpose

 

GitHub - open-mmlab/mmpose: OpenMMLab Pose Estimation Toolbox and Benchmark.

OpenMMLab Pose Estimation Toolbox and Benchmark. Contribute to open-mmlab/mmpose development by creating an account on GitHub.

github.com

공식 github 페이지


저번 글 올렸을 때, HRnet을 힘들게 하나하나 환경 구성을 했었다.

 

그런데 이 MMpose를 사용하면?!

나름 유명한 포즈 추정 모델들을 간편하고 쉽게 환경구성을 하여 코드만 살짝 바꾼후 돌리면 끝!

 

같은 데이터에 모델을 바꿔가며 추정 결과를 비교 분석할 수 있다!!! 이 얼마나 혁명적인가!

(ex) HRnet, Vipnas, ResNet 등 비교)

 

빌드 환경

  • CUDA 11.2 (torch는 11.1? 그거로했다.) 
  • 우분투 20.04
  • GPU: RTX4080 (글카램이 부족하다면, 코드 배치를 다운하면 웬만하면 돌아간다.  )

자 이제 시작해보자 https://mmpose.readthedocs.io/en/latest/installation.html

 

Installation — MMPose 1.0.0 documentation

Installation We recommend that users follow our best practices to install MMPose. However, the whole process is highly customizable. See Customize Installation section for more information. Installation Prerequisites Best Practices Build MMPose from source

mmpose.readthedocs.io

위의 설치과정을 따르기만 하면된다.

 

Step 0. Download and install Miniconda from the official website.

 

Miniconda — conda documentation

Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages, including pip, zlib and a few others. Use the conda in

docs.conda.io

개인 pc 내 아나콘다가 설치되어 있다면 생략해도 된다.

 

 

Step 1. Create a conda environment and activate it.

conda create --name openmmlab python=3.8 -y
conda activate openmmlab

가상환경 openmmlab을 구성한다. 참고로 나는 우분투 20.04환경에서 진행했다.

 

 

Step 2. Install PyTorch following official instructions, e.g.

파이토치 기반이기 때문에 파이토치를 설치한다. 

필자의 Cuda version은 11.2 이다. 크게 버전을 타진 않는 것 같으니... 본인 cuda 환경의  맞는 torch를 설치하자.

 

On GPU platforms: 아래 코드 돌리면 최신 버전으로 다운되니깐 주의

conda install pytorch torchvision -c pytorch #무턱대고 돌리지 말아야 함

당연히 GPU 버전으로 사용한다.

 

 

Step 3. Install MMEngine and MMCV using MIM.

 

GitHub - open-mmlab/mim: MIM Installs OpenMMLab Packages

MIM Installs OpenMMLab Packages. Contribute to open-mmlab/mim development by creating an account on GitHub.

github.com

 

MIM을 사용해 설치하란다. 한 줄씩 실행한다. 

 

pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0"
mim install "mmdet>=3.0.0"

위 과정을 거치면 기본적인 설치는 끝났다.


올바르게 설치되었는지 확인하기 위해 예제를 실행해보자.

mim download mmpose --config td-hm_hrnet-w48_8xb32-210e_coco-256x192  --dest .

코드를 통해 다운로드 완료되면 현재 폴더내,

두 개의 파일을 

td-hm_hrnet-w48_8xb32-210e_coco-256x192.py

hrnet_w48_coco_256x192-b9e0b3ab_20200708.pth

찾을 수 있다.

 

근데 나는 pth 파일 이름이 조금 달랐다. 그래서 그거에 맞게 수정해주고...

python demo/image_demo.py \
    tests/data/coco/000000000785.jpg \
    td-hm_hrnet-w48_8xb32-210e_coco-256x192.py \
    hrnet_w48_coco_256x192-b9e0b3ab_20200708.pth \ #파일 명에 맞게 수정
    --out-file vis_results.jpg \
    --draw-heatmap

코드를 실행하면 

요렇게 키포인트와 히트맵 시각화 결과를 확인할 수 있다. 

참고로 터미널에 warning이 노란색으로 깜빡이는데 원래 그런거니깐 신경쓰지 말자.