안녕하세요. 이번 포스트는 여러분께 OpenPose를 빌드 하는 법을 가르쳐 드리겠습니다.
우선 필요한 설치 환경을 알려드리겠습니다.
conda
python
cmake 3.28.6
VisualStudio 2022
powershell7
https://github.com/CMU-Perceptual-Computing-Lab/openpose
우선 해당 링크가 openpose의 github 링크 되시겠습니다.
git을 설치하셨다는 전제로 진행하겠습니다.
powershell을 열어서 다음과 같이 입력합니다.
cd [directory to install; 원하시는 경로]
git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose
cd openpose
다음과 같이 입력하시어 github에 있는 openpose를 목적 디렉토리에 clone합니다.

위 사진 처럼 되실 것입니다. 다만 아직 cmake를 안거쳤기 때문에 여러분의 사진과 저의 사진 속 내용물은 다를 것입니다.
이제 powershell로 해당 디렉토리로 이동합니다.
cd A:\openpose
다음과 같이 이동하여 현재 사진속 보이는 디렉토리 경로와 powershell에서 현재 경로로 표시되는 경로를 일치시켜 줍니다.
이제 python 3.7이 설치된 가상환경을 만들어 보겠습니다.
anaconda가 설치되어 있다는 전제하게 진행하겠습니다.
conda create -n pyopenpose3.7 -y python==3.7
conda env list
conda activate pyopenpose3.7
다음과 같이 들어가졌으면 파워쉘을 관리자 권한으로 다시 시작해주시고 activate 를 사용하여 다시 한번 위의 상태로 만들어줍니다. 경로 이동도 다시 해주시고요.
이제 cmake가 설치되었다는 가정하에 진행하도록 하겠습니다.
cmake-gui .

다음과 같이 해주시면 되겠습니다.
그럼 cmake창이 뜨게 되는데요

이런 창을 보시려면 몇가지 준비 절차가 필요합니다.
현재 openpose라이브러리를 빌드하기 위해서는 종속성이라는 것을 만족 시켜줘야 합니다. 그래야지만 빌드가 될 수 있어요.
그래서 저와 함께 종속성을 만족시켜 보시겠습니다.

우선 가장 중요한 것은 3rdparty디렉터리안의 내용물을 채우는 것입니다.
따라서
https://github.com/CMU-Perceptual-Computing-Lab/openpose/issues/1602#issuecomment-641653411
의 링크에서

이 아저씨가 올린 링크를 사용하면 되는데요
다음과 같이 트리를 올려드립니다. 보시고 환경을 맞추시면 됩니다.
좋습니다. 이제 종속성을 만족시키셨을 겁니다.
이제 CMakeLists.txt를 조금 수정해야 합니다. 왜냐하면 현재 CMakeLists.txt의 내용 중에서 특정 서버에 접근해서 다운로드 받는 코드가 있는데 현재 그 서버에서 다운로드가 안되고 있습니다. 이유는 모르겠어요. 따라서 다음과 같이 수정하시면 됩니다.
이제 해당 CMakeLists를 올려드린 txt로 대체하시고
3rdparty/pybind11로 이동하셔서
git fetch origin
git checkout v2.10.0
을 치셔서 pybind11의 버전을 맞춰주시고
cmake-gui .
를 쳐서 cmake의 화면을 띄웁니다.

configure버튼을 누르시면 다음과 같이 나오게 됩니다. 사진처럼 설정해줍니다.
이제 Finish를 눌러서 진행해줍니다.

다음과 같이 진행이 되실 것입니다.

다음과 같은 화면이 뜨시게 되실 것입니다.
다음과 같이 Build_caffe, build python 등등을 사진처럼 체크해주세요

다음과 같이 세팅해주세요. 다만 INSTRUCTION_SET은 AVX2를 지원하는 CPU의 경우 저 옵션을 유지해주시고 AVX2를 지원하지 않는 CPU는 NONE으로 해주시면 됩니다.
그리고 다시 한번 configure 버튼을 누릅니다.

그럼 아까와 다른 창이 뜨게 됩니다.



가장 중요한 것은 위와 같이 python_excutable의 path가 아나콘다의 파이썬 실행경로로 잡혔느냐 인것입니다.
그리고 generate 버튼을 눌러서 프로젝트를 생성합니다. 그리고 Open project를 눌러서 다음과 같이 visual studio를 띄우시면 됩니다.

Release 모드로 전환하세요. 그리고 우측의 CMakepredefinedTargets를 우클릭 후 빌드를 눌러주시면 됩니다.
그럼 빌드가 진행됩니다.
그럼 OpenPose를 빌드하여 사용할 수 있게 됩니다.
이제 사용을 위한 중요한 절차를 알려드리겠습니다.
현재 exe에서 필요한 dll이 누락되고 있습니다. 다만 걱정하실 필요는 없습니다.
3rdparty디렉터리에 필요한 모든 dll이 들어 있습니다.
따라서 3rdparty 경로에서 아래 사진과 같이 *.dll 확장자를 검색합니다.

모든 dll들을 복사하셔서
A:\openpose\x64\Release
경로에 넣어주시면 됩니다. 다만 주의하실 점은 저는 A드라이브를 사용했기 때문에 여러분의 드라이브를 잘 고려하셔서 해당 경로에 dll들을 붙여 넣어 줍니다.
또한
A:\openpose\bin 경로에 있는 모든 파일을 A:\openpose\x64\Release로 복사 – 붙여넣기 합니다.
그리고

models폴더를

x64/Release폴더에 통채로 복붙합니다.
build20250708은 신경쓰지 마세요 openpose/x64/Release폴더를 사용하세요
OpenPoseDemo.exe --video "A:\openpose\examples\media\video.avi" --write_video output.avi

그럼 다음과 같이 잘 나오게 됩니다.
다음과 같이 잘 되는 것을 보실 수 있습니다.