Machine learning

Unreal Engine mediapipe 플러그인 만들기 도전 1. Windows 환경에서 Mediapipe Framework 환경 구축

comwitch 2023. 4. 10. 23:37

안녕하세요, 김동원입니다.

 

Unreal Engine에서 Vtuber와 같은 pose detection을 이용한 3D 모델 조작에 대해 관심이 생겼습니다.

 

그래서 만들어보기로 했습니다.

 

1. Mediapipe Framework 환경 구축하기

 

솔루션을 그대로 쓰기엔, c++에서의 솔루션은 제공이 되지 않습니다. 따라서 Framework 를 이용해서 제작해주어야 합니다.

 

일단 https://developers.google.com/mediapipe/framework/getting_started/install 의 Windows를 한번 보면 됩니다.

 

그런데 이대로 따라하다간 다양한 에러가 날 수 있습니다.

 

그래서 요약해서 필수적으로 해야 하는 부분 + 추가해줘야 하는 부분 몇개에 대해서 알려드립니다.

 

1. Bazel 설치시 주의점 

 

- Bazel은 구글에서 만든 빌드및 테스트 자동화를 가능하게 하는 오픈소스입니다.

 

- Mediapipe는 구글에서 Bazel를 사용해서 빌드할 것을 매우 강력하게 추천합니다. (애초에 다른거 쓴 사람도 있는 거 같은데 매우 비추하는 느낌이더군요)

 

- Bazel를 설치하기전에 Msys 에서 필요한 라이브러리 설치를 먼저 하시고 Bazel를 설치하세요.

 

- 다음과 같은 변수를 윈도우 환경변수 설정을 해주세요 

    - Path에 Bazel.exe 경로설정

    - BAZEL_SH : 설정 사용하는 msys64의 bash.exe 경로

    - BAZEL_VC : visual c++ 경로 설정 (비주얼 스튜디오 사용자라면, 버전\Community\VC)

    - BAZEL_VC_FULL_VERSION : 버전 이름 기입

    - BAZEL_VS : visual studio 경로 설정

    - BAZEL_WINSDK_FULL_VERSION : 윈도우 sdk 버전

 

- BAZEL을 사용할 때는 visual studio 2019버전으로 하는것을 권장합니다.

(2022버전을 썼을때는 link 에러가 나더군요)

 

2. Window에서는 Python 경로를 빌드 할 때 알려주어야 합니다. (리눅스나 Mac os는 안해도 되지만 윈도우는 필수입니다.) 

예시

--action_env PYTHON_BIN_PATH="C://Users//tuna8//AppData//Local//Programs//Python//Python310//python.exe"

 

3. 가끔 permission denied라는 에러가 빌드 할 때 뜨던데, 그럴때는 그냥 경로의 파일들의 읽기전용을 해제해주면 됩니다.

 

아마 이렇게 하면 hello world와 mediapipe hand tracking을 사용 하실 수 있을겁니다..

 

 

다음에는 미디어파이프 프레임워크의 구조와 사용법을 알려드리겠습니다.