AI 이미지/워크플로 따라하기

AI 카툰 캐릭터 생성하기 - ComfyUI

하늘이푸른오늘 2024. 2. 6. 23:37

제 사진을 사용해 만든 3D 픽사 캐릭터

이 글에서는 위와 같은 3d 캐릭터를 만드는 방법을 설명합니다. 위의 캐릭터는 제가 젊었던 시절의 사진을 아무거나 적당히 선택해서 생성한 것입니다 (원본보다 훨씬 낫습니다.ㅎㅎ)

사용한 워크플로는 이전 글과 거의 동일하며, 약간 수정만 했습니다. 그래서 글도 상당부분 중복되는 점 참고하시기 바랍니다.

요약 및 느낌

소프트웨어

이 글에서는 스테이블 디퓨전용 GUI중에서도 제가 제일 좋아하는 ComfyUI를 사용합니다. ComfyUI가 처음이시라면, 설치 및 기본 사용방법초보가이드를 확인하시기 바랍니다. 

이 글에서는 IP-Adapter 중에서 FaceID Plus v2 모델을 사용합니다. FaceID 모델은 입력 이미지에서 얼굴을 추출하여 임베딩으로 변환한 뒤 IP-Adapter에 공급하고, IP-adapter 는 이미지 생성에 대한 조건부여(conditioning)을 제공합니다.

따라하기

1 단계: ComfyUI 워크플로 불러오기

아래의 json 파일이나 이미지를 다운로드받고, 이를 ComfyUI 메뉴중 [Load]를 눌러 선택하거나, 그냥 ComfyUI 화면에 Drag&Drop하면 워크플로를 사용할 수 있습니다. 

3d-cartoon-workflow.json
0.02MB

이 워크플로는 대부분 그냥 그대로 사용할 수 있지만, 때때로 오류가 발생할 수 있습니다. 그러한 경우, 다음과 같은 작업이 필요할 수 있습니다.

2 단계: InsightFace 설치하기

FaceID 모델을 사용할 경우, 별도로 InsightFace를 설치해야 합니다. 

이를 위해서는 먼저 ComfyUI의 Python 버전부터 확인해야 합니다.  파일 탐색기를 열어 ComfyUI_windows_potable 폴더로 들어간 후, 주소에 cmd를 입력하고 Enter 키를 누릅니다.

그러면 터미널 창이 열리는데, 여기에 아래의 명령을 입력하고 엔터를 누릅니다.

.\python_embeded\python.exe --version

그러면 Python 3.10.x 또는 Python 3.11.x라고 나타날 것입니다. 이에 맞춰 아래 설치파일을 다운로드 받습니다.

이들 파일을 ComfyUI_windows_portable 폴더에 넣어줍니다.

다음으로 터미널로 돌아가 아래 명령을 수행해 줍니다.

Python 3.10.x 의 경우

.\python_embeded\python.exe -m pip install .\insightface-0.7.3-cp310-cp310-win_amd64.whl

Python 3.11.x의 경우

.\python_embeded\python.exe -m pip install .\insightface-0.7.3-cp311-cp311-win_amd64.whl

이러면 Insight Face 가 설치가 완료됩니다. 터미널을 새로 시작한다거나 화면을 Refresh시켜줄 필요 없습니다.

3단계: 입력 이미지

4개의 [Load Image] 노드에 적당한 이미지를 올려줍니다. 자신의 사진도 좋고, 인터넷에서 찾은 유명인 사진도 좋습니다. 아래는 제 사진중에서 오래된 사진을 몇장 사용했습니다. 그다지 해상도가 높지 않아도 특징만 살아있으면 괜찮은 듯 합니다.  

4단계: 체크포인트 모델 선택

원하는 모델을 선택합니다. 이 워크플로에는 revAnimated 모델을 사용하고 있습니다(아마 3D 쪽이 잘 생성되는 모델이라면 괜찮을 것 같습니다). 파일을 다운로드 받은 후 ComfyUI\models\checkpoints에 넣어주시면 됩니다(AUTOMATIC1111과 모델을 공유할 경우 여기를 읽어보세요). 파일을 다 받은 후에는 ComfyUI 화면을 새로고침(F5)해주세요.

5단계 : IP-adapter 모델 설정

IP adapter 모델 

Face ID Plus v2 IP-adapter 모델을 다운로드 받아, ComfyUI\models\ipadapter 폴더에 넣어줍니다(폴더가 없으면 그냥 새로 생성해서 넣어주시면 됩니다). 파일을 다 받은 후에는 ComfyUI 화면을 새로고침(F5)하고, 아래 그림과 같이 [Load IPAdapter Model] 노드에서 선택합니다.

CLIP Vision 모델

SD 1.5 CLIP Vison 모델을 다운로드 받습니다. 파일명을 clip_vision_ViT_H_sd15.safetensors로 바꿔주고 ComfyUI\models\clip_vision 폴더에 넣어줍니다. 파일을 다 받은 후에는 ComfyUI 화면을 새로고침(F5)하고, 아래 그림과 같이 [Load CLIP Vision] 노드에서 선택합니다.

Face ID Plus v2 LoRA 모델

Face ID 계통의 IP-adapter 는 LoRA모델과 함께 사용하는 것이 좋습니다(자세한 내용은 여기를 읽어보세요) ip-adapter-faceid-plusv2_sd15_lora.safetensors  파일을 다운로드 받아 ComfyUI\models\loras 폴더에 넣어줍니다. 파일을 다 받은 후에는 ComfyUI 화면을 새로고침(F5)하고, 아래 그림과 같이 [LoraLoaderModelOnly] 노드에서 선택합니다.

6단계 : 이미지 생성

이제 메뉴에서 [Queue Prompt]를 누르면 이미지가 생성됩니다. 제 원판보다 너무 잘 나왔습니다만, 그래도 제 얼굴의 특징이 살아 있으면서도 3D 캐릭터의 특성이 잘 살아있어 너무 기분이 좋네요.

모델 : revAnimated
프롬프트: ((best quality)), ((masterpiece)), (detailed) a young man, Pixar protagonist, Disney film character, best quality, cute 3D avatar, 8k, ((smile)), simple background, super detail

다른 인물 테스트

아래는 앞 글에서 사용하였던 김태리님 사진을 사용해 생성한 캐릭터입니다. 아래의 4장을 사용했습니다.

너무나 귀엽게 잘 나와서 기분이 좋네요~ ㅎㅎ

아래는 전지현 님입니다. 이렇게 4장의 사진을 사용했고요,

결과물은 아래와 같습니다. 전지현님도 아주 잘 나오네요. 참고로, 이 두장의 사진은 여러장 중에서 고른 게 아니라, 처음 생성한 2장을 그대로 올린 겁니다.

조인성님은 어떤지 다시 시도해봤습니다. 아래 4장의 사진을 사용했고요,

조인성님은 약간 닮은 듯한데 위의 사진들에 비하면 닮은 정도가 많이 떨어지네요.

좀 강한 캐릭터를 그려보면 어떨까해서 조재윤 배우님을 생성해봤습니다. 아래의 4장을 사용했고요,

아래는 생성 결과입니다. 처음엔 좀 덜 닮은 듯해서 안경을 씌웠더니 훨씬 낫네요. ㅎㅎ

그런데 너무 선한 인상이라... 악당 캐릭터로 바꿔봤습니다.

프롬프트: ((best quality)), ((masterpiece)), (detailed)  a young man,glasses, Pixar protagonist, Disney Villain Character, best quality, cute 3D avatar,8k, Despicable laughter, simple background, super detail

요약 및 느낌

여러 사람으로 테스트 해봤습니다만, 설정을 전혀 바꾸지 않아도 대부분의 경우, 캐릭터가 잘 만들어지는 편입니다. 물론 개인에 따라 차이가 있어서 어떤 사람은 씽크로율이 매우 높은데, 그렇지 않은 사람도 있긴 합니다.

아마도 사진을 다른 사진으로 바꿔주면 좀 더 씽크로율이 올라갈 가능성도 있을 것 같긴한데 시험은 해보지 않았습니다.

그래도 이 정도면 꽤 괜찮은 것 같네요. 제가 스테이블 디퓨전을 만진지 꽤 됐는데, 정말 이 워크플로가 제일 마음에 드네요. ㅎㅎㅎ

민, 푸른하늘