ComfyUI에서 3d pose editor 사용하기

컨트롤넷 오픈포즈 스켈레톤을 ComfyUI 안에서 바로 조작하고 이미지 생성까지 할 수 있도록 해주는 3d pose editor를 설치하고 사용하는 방법에 대해 살펴보겠습니다.

ComfyUI 3D Pose Editor 설치

ComfyUI 3D Pose Editor는 기존의 웹 또는 WebUI에서 동작하던 3D Pose Editor를 ComfyUI 내에서 곧바로 사용할 수 있도록 배포된 커스텀 노드입니다. 따라서 기본적인 포즈 조작방법이나 사용법은 웹버전 또는 WebUI 버전과 동일합니다. WebUI 버전 오픈포즈 에디터 또는 웹버전으로 직접 3d Pose Editor를 사용하고 싶으신 분들은 아래 링크를 참고하시기 바랍니다.

먼저 사용을 위해 아래 와 같이 hinablue님의 ComfyUI_3dPoseEditor 커스텀노드를 ComfyUI manager에서 검색하거나, 깃 레포지토리 주소를 이용해 설치합니다.

GitRepo : https://github.com/hinablue/ComfyUI_3dPoseEditor.git

comfyui 3d pose editor github page
comfyui manager 3d pose editor

ComfyUI Manager 사용법 또는 커스텀노드 설치 방법에 대해 익숙하지 않은 분들은 아래글을 참고해주시기 바랍니다.

ComfyUI 3D Pose Editor 사용방법

기본적인 3d 오픈포즈 에디터 자체의 사용법은 이전 WebUI 포스팅에서 다뤘으므로 생략하고, 여기서는 ComfyUI 내에서 어떻게 워크플로우를 구성하고, 해당 커스텀노드를 활용할 수 있는지에 대해 살펴보도록 하겠습니다. 먼저 3d pose editor 노드를 다음과 같이 추가합니다.

3d pose editor adding node

노드를 새로 추가하면 다음과 같이 웹에서 볼 수 있던 3d pose editor 화면이 그대로 ComfyUI 노드 속으로 반영됩니다.

3d pose editor node use example

우측 상단의 동그란 화살표를 눌러 컨트롤 패널을 열고 닫을 수 있으며, 여기서 컨트롤넷 힌트이미지의 해상도를 입력해줍니다.

3d pose editor output images

3d pose editor 노드에는 4개의 이미지 출력단이 존재합니다. 각각 오픈포즈, 뎁스, 노말, 캐니 힌트 이미지로, Queue Prompt 버튼을 누르면 현재 편집창에서의 스켈레톤의 모습대로 4개의 이미지가 각각 출력됩니다. 위의 예시는 모든 출력단에 Preview Image 노드를 연결한 뒤 Queue Prompt 버튼을 눌러 컨트롤넷 힌트이미지를 생성해본 모습입니다.

이렇게 생성된 이미지는 아래와 같이 바로 컨트롤넷(apply controlnet 노드)에 전달만해주면 바로 사용 가능합니다.

3d pose editor workflow

위 예시는 Openpose 스켈레톤만 컨트롤넷으로 전달해 곧바로 이미지를 생성해본 예시입니다. 만약 다수의 컨트롤넷을 동시에 적용하고싶다면 아래와 같이 컨트롤넷 노드를 2개 연속으로 구성한뒤, 3d pose editor에서 나온 힌트 이미지를 각각 연결해주고, 그에 맞는 컨트롤넷 모델을 적용해주면 됩니다.

3d pose editor workflow for double controlnet

위 예시는 오픈포즈 스켈레톤과 뎁스 모델을 동시에 적용해 인물의 손과 발 모양을 가이드한 모습입니다. 이처럼 원하는 포즈의 참고이미지를 찾기 어렵거나, 독창적인 포즈가 필요한 경우, 또는 배경 이미지 속에 인물을 배치해야 하는 경우에 활용할 수 있습니다.

배경 설정하기

인물의 비율이나, 위치 등을 미리 배경이미지와 대조하여 결정할 수 있다면, 이미지 생성 및 편집 과정에서 시행착오를 굉장히 줄일 수 있습니다. 3d pose editor에서는 아래와 같이 스켈레톤 이미지 뒤에 백그라운드 이미지를 미리 세팅하여 대략적인 비율과 각도 등을 시각적으로 보면서 조정이 가능합니다.

3d pose editor set background image

File > Set Background Image를 눌러 배경이미지를 설정한 뒤 그 배경에 맞춰 스켈레톤의 크기, 각도, 자세 등을 조정합니다.

배경 속에 인물 생성하기

백그라운드 이미지를 설정한 상태에서 스켈레톤을 조작을 모두 마쳤다면, 아래와 같이 백그라운드 이미지 위에 소프트 인페인트를 진행하여 설정한 자세와 각도로 인물을 그려넣을 수 있습니다.

3d pose editor result comparison

위 그림은 배경속에 인물의 자세를 잡고 오픈포즈와 뎁스를 이용해 새로운 인물을 소프트 인페인트로 그려넣은 예시입니다. 이처럼 3d pose editor는 인물 중심의 이미지를 생성할 때 굉장히 유용하게 활용할 수 있습니다.