이 글에서는 아래와 같은 페이스 아트 애니메이션 비디오를 생성합니다.
소프트웨어
이 글에서는 스테이블 디퓨전용 GUI중에서도 제가 제일 좋아하는 ComfyUI를 사용합니다. ComfyUI가 처음이시라면, 설치 및 기본 사용방법 및 초보가이드를 확인하시기 바랍니다.
이 워크플로의 원리
참조 이미지 생성
이 워크플로에서는 먼저 SDXL 모델과 loRA를 사용해서 비디오를 생성하기 위한 참조 이미지를 생성합니다.
비디오 생성
비디오는 SD 1.5 모델에 AnimateDiff 를 적용하여 생성합니다. 비디오 생성 도중에 IP adapter를 사용하여 참조 이미지를 주입합니다. 여기에서 프롬프트는 비워두어서 오직 이미지를 기준으로만 비디오를 생성하게 됩니다.
후처리
스테이블 디퓨전을 사용하여 이미지를 생성한 후, 원하시면 다음과 같은 작업을 추가로 실시할 수 있습니다(모두 워크플로 내에 포함되어 있습니다).
- 고해상도로 비디오 Upscale
- 프레임을 내삽하여 부드러운 비디오 생성
- 비디오에 음악 삽입
- 색 발란스의 수정
따라하기
1 단계: ComfyUI 워크플로 불러오기
아래의 파일을 다운로드 받은 후, ComfyUI 화면에 Drag&Drop합니다. 또는 메뉴에서 Workflow->Open을 선택해도 됩니다.
이 워크플로는 대부분 그냥 그대로 사용할 수 있지만, 때때로 오류가 발생할 수 있습니다. 그러한 경우, 다음과 같은 작업이 필요할 수 있습니다.
- 처음 사용할 때 - ComfyUI Manager 를 설치해야 합니다.
- ComfyUI를 오랜만에 사용할 때 - ComfyUI를 최신버전으로 업데이트해야 합니다.
- 노드가 없다고 (빨간색) 경고가 뜰 때 - 빠진 커스톰 노드를 가져오기해야 합니다.
- 불러오기 혹은 수행중 에러 발생시 - 커스톰 노드를 업데이트해야 합니다.
2 단계: 모델 다운로드
체크포인트 모델
이 글에서는 SDXL base 모델과 Juggernaut Reborn(SD1.5) 체크포인트 모델을 사용합니다. 이 파일들을 다운로드 받은 후, ComfyUI/models/checkpoints 폴더에 넣어줍니다. (A1111과 모델을 공유할 경우, 이 글을 보세요.) 다운로드가 완료되면 화면을 새로고침(F5)합니다.
다 받아진 후 화면을 리프레시(F5)하고 Images 그룹에 있는 [Load Checkpoint] 노드 및 Settings 그룹에 있는 [Load Checkpoint] 노드에서 해당 모델을 선택합니다.
LoRA 모델
Polygon Style SDXL LoRA 를 다운로드받아, ComfyUI/models/loras 폴더에 넣어줍니다. 마찬가지로 화면을 새로고침하여야 해당 LoRA를 선택할 수 있습니다.
IP adapter
IP adapter 는 얼굴과 옷을 일관성있게 유지하는 데 사용합니다. SD1.5 IP adapter Plus 모델을 다운로드 받아 ComfyUI/models/ipadapter에 넣어줍니다.
다음으로 SD 1.5 CLIP vision 모델을 다운로드 받아 ComfyUI/models/clip_vision 폴더에 넣어줍니다. 그리고 CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors 라는 이름으로 파일명을 변경해 줍니다.
이 두 개의 모델은 IPAdapter Unified Loader 모드에서 사용합니다. (별도로 지정할 필요가 없습니다)
AnimateDiff
AminateDiff MM-Stablilized High 모델을 다운로드 받아, ComfyUI/models/animatediff_models에 넣어줍니다.
다운로드가 완료되면 화면을 새로고침(F5)하고 [Load AnimateDiff Model] 노드에서 선택합니다.
Upscaler
4x-Ultrasharp upscaler 모델을 다운로드 받아, ComfyUI/models/upscale_models 폴더에 넣어줍니다. 그 다음 화면을 새로고침(F5)하고, [Upscale]노드에서 선택합니다.
3 단계: 비디오 생성
이제 [Queue]를 누르면 비디오가 생성됩니다.
메모리 에러가 발생하면 run_video_gpu.bat 파일을 편집하여 --disable-smart-memory 옵션을 추가해줍니다. 그래도 에러가 발생할 경우에는 생성되는 비디오의 크기를 줄여주면 해결됩니다.
.python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --disable-smart-memory
아래가 생성된 비디오입니다.
아래는 씨드 값을 바꾸어 생성한 비디오입니다.
===========
아래는 제가 수정한 워크플로입니다. 주요 내용은 이미지 및 비디오 크기를 여러군데에서 설정할 필요 없이, Settings 그룹에서 한꺼번에 지정할 수 있도록 한 것입니다. 이미지/비디오의 종횡비가 달라지면 이상한 결과물이 나오기 때문입니다.
우선 Comfyroll의 [CR SD1.5 Aspect Ratio] 노드를 사용해서 기본 크기를 지정하면, SDXL로 생성하는 참조이미지와 비디오는 이보다 2배 크게 자동 설정됩니다.
예를 들어, 위와 같이 2:3 portrait로 설정할 경우, 참조 이미지와 비디오는 1024x1536 으로 생성됩니다.
참조 이미지에 사용된 프롬프트는 아래와 같습니다.
프롬프트: A beautiful woman painted in the style of Impressionist Van Gogh, oil painting, upper body shot, vibrant brushstrokes, rich colors, expressive texture, soft lighting, elegant pose, serene expression, detailed clothing with swirling patterns.
이상입니다.
이 글은 stable-diffusion-art.com의 글을 수정하여 작성하였습니다.
- ComfyUI로 설치 및 사용법 기초
- ComfyUI 투토리얼
- ComfyUI를 위한 유용한 정보
- ComfyUI와 SDXL 사용법(1) - 기초
- ComfyUI에서 ControlNet 사용법
- 편리한 ComfyUI 워크플로 모음
- LCM-LoRA - 초고속 스테이블 디퓨전
- Stable Video Diffusion(비디오 스테이블 디퓨전)
- Stable Diffusion 인공지능 이미지 생초보 가이드
- Stable Diffusion 대표 UI - AUTOMATIC1111 설치방법
- Automatic1111 GUI: 초보자 가이드(메뉴 해설)
- Stable Diffusion에 대한 기본적인 이론
- ChatGPT로 스테이블 디퓨전 프롬프트 만들기