개발/Unity

How to use OpenPose with video in Unity(ver.한글설명)

슐리반 2025. 3. 27. 19:15

안녕하세요 슐리반입니다.

unity 에서 openpose를 이용하려는데 외국에서도 많이들 물어보더라구요

그래서 이번엔 한글판과 영문판으로 글을 작성해보려고 합니다.

 

1. 깃허브에서 유니티 전용 openpose를 다운로드 한 후 압축을 풉니다.

압축 풀때 저는 C드라이브에 Unity 폴더만 만들어서 압축 풀었어요

https://github.com/CMU-Perceptual-Computing-Lab/openpose_unity_plugin

 

GitHub - CMU-Perceptual-Computing-Lab/openpose_unity_plugin: OpenPose's Unity Plugin for Unity users

OpenPose's Unity Plugin for Unity users. Contribute to CMU-Perceptual-Computing-Lab/openpose_unity_plugin development by creating an account on GitHub.

github.com

 

2. 유니티 허브에서 2018.4 버전을 다운로드 받은 후, 유니티 openpose 파일을 연다.

 

2-1. 첫번째 링크 들어가면 이 부분이 있고 doc/installation.md를 클릭해보시면 설치 방법이 나와있어요

 

하지만 전 여기서 문제가 생기고 말았답니다

 

 

 

여기서 세번째 영역 보시면 Run getModels.bat를 누르면 모델이 다운로드 된다는데 전 로딩을 하다가 Error가 뜨는거예요

이때부터 영어든 한글이든 폭풍 구글링을 해본 결과,,,(블로그 쓰게 된 계기도 이거임)

 

3. 모델 폴더는 코로나 때문에 웹사이트 접속이 안된다 해서 여기서 다운받았습니다.

친절하게도 댓글에 남겨져있었어요 정말 찾느라 시간이 꽤 걸렸지만,,,

https://github.com/CMU-Perceptual-Computing-Lab/openpose/issues/1602

 

 

Unable to fetch/download models · Issue #1602 · CMU-Perceptual-Computing-Lab/openpose

Issue Summary Unable to fetch/download models Executed Command (if any) models\getModels.bat OpenPose Output (if any) Type of Issue Compilation/installation error Execution error Your System Config...

github.com

 

하단에 내리면 이렇게 다운로드 링크까지 있습니다

G Drive version:
Models: https://drive.google.com/file/d/1QCSxJZpnWvM00hx49CJ2zky7PWGzpcEh

 

models.zip

 

drive.google.com

 

 

4. 다운 받은 모델 폴더를 유니티 openpose 폴더 안에다가 압축 풀기

 

이렇게 까지하면 준비 완료입니다!

 

이제 유니티 안에서 할 일이에요

1. openpose 오브젝트 클릭한 다음, inspector 창에서 Input type을 확인해줍니다.

(웹캠이 잘 작동 되는지 확인하기 위해서 웹캠 먼저 해줄게요 -> 선택사항)

 

2. Input type을 Webcam으로 해주기

 

3. 컴퓨터와 웹캠이 연결 되었는지 확인해보기 (저는 USB만 꽂으면 연결되는 다이소 5000원 웹캠 사용했어요)

 

하지만 문제 발생!!!

OP_Error: Error occurred on a thread. OpenPose closed all its threads and then propagated the error to the main thread. Error description: Caffe trained model file not found: C:\Unity\openpose_unity_plugin-master\OpenPosePlugin\Assets\StreamingAssets\models\pose/body_25/pose_iter_584000.caffemodel. Possible causes: 1. Not downloading the OpenPose trained models. 2. Not running OpenPose from the same directory where the model folder is located. 3. Using paths with spaces

 

해당 오류가 떠서 또 폭풍 구글링 결과!

https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/installation/0_index.md#models-download

 

openpose/doc/installation/0_index.md at master · CMU-Perceptual-Computing-Lab/openpose

OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation - CMU-Perceptual-Computing-Lab/openpose

github.com

 

사진 속 1번을 보시면 아시겠지만 openpose.sln을 빌드해줘야했어요

4. 그래서 폴더로 가서(아래사진 참고) 밑에서 두번째에 있는 OpenPosePlugin.snl 을 열고, ctrl+F5 눌러서 빌드를 해줍니다.

 

그리고 다시 유니티에서 Play를 해주니 웹캠이 인식이 잘 되더라구요

 

(참고로 webcam으로 설정시 producer string을 -1로 해주어야 오류 안납니다)

 

다음으론 이제 비디오!!!

1. 먼저 openpose를 이용할 비디오를 Asset > StreamingAssets 폴더 안에 넣어줍니다.

 

2. 그리고 Input type을 video로 변경하고, Producer String에다가 영상의 경로를 넣어줄거예요

영상의 경로를 아는 법은 영상폴더를 오른쪽 마우스 클릭하면 Copy Path를 해줄 수 있습니다.

이걸 누르면 해당 영상의 경로가 자동으로 복사가 돼요

 

 

그리고 Producer String에 해당 영상의 경로를 붙여넣기 해줍니다.

 

그리고 실행하면 완료!! (참고로 OpenPosePlugin.snl 은 계속 빌드되고 있는 상태여야 해요!)

그럼 이렇게 영상까지도 잘 보이는 걸 확인하실 수 있습니다!!

 

 

사실 비디오 경로 어디에 넣나 진짜 코드도 보고 이것저것 봤는데 너무 간단했어요 ㅋㅋ

다른 분들은 문제 없이 잘 실행되시길 바라면서 글 마칩니다

 

도움이 되셨거나 유익했다면 좋아요와 댓글 부탁드리고 질문이나 피드백도 언제든 환영입니다

감사합니다!