개요
Meta에서 새로 나온 기술이 있어서 테스트 해본다.
이미지 안에 있는 사람의 형태를 그대로 메쉬와 스켈레톤으로 export 할 수 있는 획기적인 기술이다.
간단하게 시도해 볼 수 있도록 아래 링크에 잘 만들어져있다.
Segment Anything Playground | Meta
A playground for interactive media
aidemos.meta.com
Git Repo
GitHub - facebookresearch/sam-3d-body: The repository provides code for running inference with the SAM 3D Body Model (3DB), link
The repository provides code for running inference with the SAM 3D Body Model (3DB), links for downloading the trained model checkpoints and datasets, and example notebooks that show how to use the...
github.com
환경 설정 (WSL2 - Ubuntu 22.04.5 LTS)
SAM 3D Body에 대한 설정을 진행해보자.
Ubuntu 경로 내부에 git clone
git clone <https://github.com/facebookresearch/sam-3d-body.git> sam-3d-body
해당 폴더로 이동

환경 설정
conda create -n sam_3d_body python=3.11 -y
conda activate sam_3d_body
torch가 설치되어 있지 않다면 설치해야 한다.

공식 설치 방법대로 CUDA 12.6 버전을 설치한다.
Get Started
Set up PyTorch easily with local installation or supported cloud platforms.
pytorch.org
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu126
설치가 잘 됐다면 import torch에서 메시지가 뜨지 않는다.

Python Dependencies 설치
pip install pytorch-lightning pyrender opencv-python yacs scikit-image einops timm dill pandas rich hydra-core hydra-submitit-launcher hydra-colorlog pyrootutils webdataset chump networkx==3.2.1 roma joblib seaborn wandb appdirs appnope ffmpeg cython jsonlines pytest xtcocotools loguru optree fvcore black pycocotools tensorboard huggingface_hub
Detectron2 설치
pip install 'git+https://github.com/facebookresearch/detectron2.git@a1ce2f9' --no-build-isolation --no-deps
Detectron2 설치에 혹시 에러 메시지가 나온다면,

Gemini의 도움!
# ninja는 선택 사항이지만, 빌드 속도를 위해 설치를 권장합니다.
pip install ninja
# Detectron2가 종속된 필수 패키지들을 먼저 설치합니다.
# pip install opencv-python cython pyyaml -pip 설치 후 다음 단계 numpy 에러 뜸 conda로 설치한다.
conda install -c conda-forge pycocotools
# pycocotools 설치 (GitHub 버전으로 설치해야 호환성이 높습니다.)
pip install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
여기까지 했는데도 Detectron2 설치가 되지 않는다면, 에러 메시지 중 /bin/sh: 1: c++: not found 문구가 있다면 아래의 방법을 시도해본다.
build-essential 설치
sudo apt update
sudo apt install build-essential
다시 Detectron2 설치를 하니 설치가 됐다.
pip install 'git+https://github.com/facebookresearch/detectron2.git@a1ce2f9' --no-build-isolation --no-deps

MoGe 설치
pip install git+https://github.com/microsoft/MoGe.git
체크포인트 다운로드를 받기 위해서 access 허가를 요청한다.
facebook/sam-3d-body-dinov3 · Hugging Face
The information you provide will be collected, stored, processed and shared in accordance with the Meta Privacy Policy. Log in or Sign Up to review the conditions and access this model content.
huggingface.co


HuggingFace CLI 설치
(sam_3d_body) root@victor:/sam-3d-body-main# pip install 'huggingface-hub[cli]<1.0'
huggingface 로그인 -사이트에서 Access Token을 발급하여 복붙하면 된다.
(sam_3d_body) root@victor:/sam-3d-body-main# huggingface-cli login

체크포인트 다운로드
# Download assets from HuggingFace
hf download facebook/sam-3d-body-dinov3 --local-dir checkpoints/sam-3d-body-dinov3

다운이 잘 됐는지 폴더도 확인한다.
여기까지 환경 설정 끝
Demo 실행
demo.py
root 폴더 안에 image, output 폴더를 만든 후 아래 스크립트를 돌려보자.
# Run demo script
python demo.py \
--image_folder ./image \
--output_folder ./output \
--checkpoint_path ./checkpoints/sam-3d-body-dinov3/model.ckpt \
--mhr_path ./checkpoints/sam-3d-body-dinov3/assets/mhr_model.pt
image 폴더에 아무것도 넣지 않은 상태로는 output이 나오지 않는다.
기본으로 제공된 dancing.jpg를 image 폴더에 넣고 돌리면 어떻게 되는지 살펴본다.

사진을 인식하고 사람에 맞는 모델을 오버레이 해서 보여준다.
demo_human.ipynb
sam-3d-body/notebook/demo_human.ipynb at main · facebookresearch/sam-3d-body
The repository provides code for running inference with the SAM 3D Body Model (3DB), links for downloading the trained model checkpoints and datasets, and example notebooks that show how to use the...
github.com
데모 주피터 노트북도 해보자.
pip install jupyter
jupyter notebook --allow-root #root로 진행해서 allow가 필요
바운딩 박스 잘 생성 됐고

메쉬를 블렌더에 넣어보면 ply 축이 블렌더와 안맞게 틀어지긴 했지만 회전해서 정렬하고 보면 사람 메쉬도 잘 나온 것을 볼 수 있다.
폴리곤 수는 3만 6천, 스켈레톤이 같이 포함되어 있지는 않다.

테스트로 다른 아무 이미지나 넣어서 다시 돌려본다.



커스텀 이미지도 너무 잘나와서 놀랍다.
추가 사항
데모 스크립트와 사이트 결과물의 차이
현재, 데모 스크립트와 데모 사이트의 결과물이 다르다는 이슈가 올라와있고, 데모 스크립트는 ViTDet를, 데모 사이트는 SAM3를 사람 디텍터로 사용하는 차이점이 있다고 설명되어 있다. 추후 PR merge를 통해서 데모 스크립트에서도 SAM3를 사용할 수 있도록 조치할 예정이라고 한다.
Inconsistencies between website demo and sam-3d-body repository · Issue #73 · facebookresearch/sam-3d-body
Hey! First of all, I would like to thank the devs for such an amazing work. SAM3D Body definitely works better than most camera-based MoCap solutions. I have been testing both the web demonstrator ...
github.com
Blender Addon으로 기능 구현 - 4차 시도만에 성공
이 기능을 블렌더 Addon으로 만든 사례가 있어서 이 부분도 구현 할 수 있을지 알아본다.
GitHub - xy-gao/sam-3d-body-blender
Contribute to xy-gao/sam-3d-body-blender development by creating an account on GitHub.
github.com
1차 시도 - Detectron2 Wheel Build 실패 후 Issue 등록
윈도우 환경 Powershell 기준
파이썬 버전 3.11 확인
python --version
가상 환경 생성 및 활성화
conda create -n sam-3d-body-blender python=3.11 -y
conda activate sam-3d-body-blender
torch 설치
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
종속성 설치
conda install ninja git -y
detectron 설치
git clone https://github.com/facebookresearch/detectron2.git
cd detectron2
pip install -e .
- 에러 메시지로 인한 설치 불가
리눅스 환경 bash 기준
파이썬 버전 3.11 확인
python --version
가상 환경 생성
python -m venv venv
가상 환경 활성화
source venv/bin/activate
Torch 설치
pip install torch==2.5.1 --index-url https://download.pytorch.org/whl/cu121
Detectron2 빌드
python -m pip wheel 'git+https://github.com/facebookresearch/detectron2.git@a1ce2f9' --no-build-isolation --no-deps

잘 되었다면 경로에 detectron2.whl이 생긴 것을 볼 수 있다.
이 detectron2.whl 파일을 repo .zip 파일에 추가한다.

model.pt 파일 다운로드
Ruicheng/moge-2-vitl-normal at main
huggingface.co
model_final_f05665.pkl 다운로드
Blender를 열어서 detectron2.whl 파일을 넣은 .zip 파일을 add-on에서 설치한다.
Blender 5.0.0에서는 dependency RuntimeError로 설치 불가
Blender 4.5.1LTS 에서는 설치가 잘 되었다. - Blender에서 Info 창을 띄워 놓아야 설치가 된다.


Addon의 Main Model에는 model.ckpt가 들어있는 checkpoints 폴더를 지정해주면 “Model files found”라는 문구가 뜬다.

Optional Models에는 model_final_f05665.pkl 파일을 지정해준다.

FOV Path에는 model.pt 파일을 지정해준다.

이런 식으로 들어가면 된다.

Process Image에는 원하는 사진을 넣는다. 메쉬화 하고 싶은 사람이 있는 사진.

하지만 블렌더에서의 에러 메시지로 인하여 결과물을 보진 못했다.
-no module named detectron2 에러
안되는 부분에 대해서 Issue 등록 완료

2차 시도 - Blender for Linux를 통한 시도 -실패
이전에 Linux 용 Detectron2 Wheel을 빌드하는 데에 성공했었기 때문에 Linux용 블렌더 환경에서 해당 Wheel을 이용해서 사용하는 시도를 해본다.
블렌더 공식 홈페이지에서 blender-4.2.16-linux-x64.tar.xz 다운로드
Powershell 관리자모드로 실행
리눅스 환경 진입
wsl
필수 라이브러리 설치
sudo apt update
# 필요한 라이브러리 설치 (배포판에 따라 다를 수 있음)
sudo apt install libglu1-mesa libxi6 libxrender1
블렌더 파일 압축을 해제하고 linux 폴더에 옮기기
폴더로 이동
cd blender
cd blender-4.2.16-linux-x64
블렌더 설치
apt install blender
블렌더 실행
blender

dependency 에러;;;

블렌더를 닫고 블렌더 파이썬에 종속성 추가를 해보자.
블렌더 파이썬 경로 확인

권한 부여
# Blender의 Python 실행 파일 경로를 변수에 다시 설정
BLENDER_PYTHON_BIN_FULL_PATH="/root/blender/blender-4.2.16-linux-x64/4.2/python/bin/python3.11"
# 해당 파일에 실행 권한을 추가합니다 (chmod +x)
chmod +x ${BLENDER_PYTHON_BIN_FULL_PATH}
설치
# 1. Blender의 Python 실행 파일 경로를 다시 bin 폴더까지만 설정 (pip 명령 사용을 위해)
BLENDER_PYTHON_BIN="/root/blender/blender-4.2.16-linux-x64/4.2/python/bin"
# 2. Torch, Torchvision 설치
${BLENDER_PYTHON_BIN}/python3.11 -m pip install torch torchvision
# 3. Detectron2가 요구하는 기타 기본 종속성 설치
${BLENDER_PYTHON_BIN}/python3.11 -m pip install Cython fvcore
Detectron2 휠 파일 설치
# 휠 파일 설치 (휠 파일이 위치한 디렉토리 경로로 반드시 수정해야 합니다!)
WHEEL_FILE_PATH="/root/detectron2-0.6-cp311-cp311-linux_x86_64.whl"
${BLENDER_PYTHON_BIN}/python3.11 -m pip install ${WHEEL_FILE_PATH}
블렌더 실행
blender
실패!

경로 변수 설정
BLENDER_PYTHON_BIN_FULL_PATH="/root/blender/blender-4.2.16-linux-x64/4.2/python/bin/python3.11"
실행 권한 부여
sudo chmod +x ${BLENDER_PYTHON_BIN_FULL_PATH}
detectron2 종속성 설치
# Blender의 bin 경로 설정
BLENDER_PYTHON_BIN="/root/blender/blender-4.2.16-linux-x64/4.2/python/bin"
# PyTorch, Torchvision 및 기타 종속성 설치
${BLENDER_PYTHON_BIN}/python3.11 -m pip install torch torchvision Cython 'git+https://github.com/facebookresearch/fvcore.git'
fvcore 오류로 0.1.5를 다시 설치
${BLENDER_PYTHON_BIN}/python3.11 -m pip install fvcore==0.1.5.post20221221
detectron2 휠 파일 설치
# 휠 파일 경로를 사용자의 실제 경로로 수정
WHEEL_FILE_PATH="/root/detectron2-0.6-cp311-cp311-linux_x86_64.whl"
${BLENDER_PYTHON_BIN}/python3.11 -m pip install ${WHEEL_FILE_PATH}
똑같이 오류…
3차 시도 - Claude와 함께 detectron2 window wheel build -실패
폴더 이동
파이썬 버전 확인
가상환경생성
가상환경 활성화
torch 설치
pip install torch==2.5.1 --index-url https://download.pytorch.org/whl/cu121
$env:NVCC_FLAGS = "-DWITH_CUDA" #(just for Windows)
종속성 설치
Detectron2 빌드
python -m pip wheel 'git+https://github.com/facebookresearch/detectron2.git@a1ce2f9' --no-build-isolation --no-deps
에러 메시지

에러 메시지에 따른 Claude의 해결책
# Visual Studio Build Tools 다운로드 페이지로 이동
# https://visualstudio.microsoft.com/ko/downloads/
# "Visual Studio 2022용 Build Tools" 다운로드 및 설치
# 설치 시 반드시 체크할 항목:
# - "C++를 사용한 데스크톱 개발"
# - "MSVC v143 - VS 2022 C++ x64/x86 빌드 도구"
# - "Windows 10 SDK" (최신 버전)

이미 설치 되어있던 Visual Studio Build Tools 2022를 업데이트
C++를 사용한 데스크톱 개발 체크 해제 후 다시 체크하여 업데이트
pytorch 다운그레이드
# 현재 PyTorch 제거
pip uninstall torch torchvision torchaudio -y
# PyTorch 2.1 + CUDA 11.8 설치
pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu118
# Detectron2 설치
pip install detectron2 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu118/torch2.1/index.html
계속 안돼서 포기했다...
4차 시도 - Issue 통해서 wheel 전달 받음 -성공 (Blender 4.2.16 LTS 환경)
내가 올렸던 Issue에 제작자가 친절하게 답장을 달아주었고, 해당 Wheel을 이용하여 이후 프로세스를 진행해보도록 한다.

zip 파일 안에 whl 파일 넣기

addon 설치 후 실행해본다. addon 설치 및 활성화에 시간이 오래 걸렸음.



잘 동작했다!


이 기능의 활용법은 이후에 더 찾아봐야겠지만 일단 작동한다는 것에 큰 의의가 있을 것 같다.
사진에 나와있는 인물을 Skeleton과 메쉬로 변환할 수 있다는 점.
'3D AI Generator' 카테고리의 다른 글
| AI를 활용한 Sparc3D 모델링과 Meshy.AI 텍스쳐링 프로세스 (0) | 2025.12.12 |
|---|---|
| QWEN 이미지 AI를 ComfyUI에서 사용하기 (1) | 2025.12.11 |
| Google AI Studio에서 Nanobanana 앱 빌드하기 (0) | 2025.12.09 |
| Meta SAM 3D Object 파헤쳐보기 (0) | 2025.12.03 |
| Claude AI와 Blender MCP를 이용한 모델링 자동화 구현 (4) | 2025.05.27 |