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

AI로 그린 판타지 바탕화면 월페이퍼 - ComfyUI

하늘이푸른오늘 2024. 1. 22. 01:42

요즘은 그다지 컴퓨터 바탕 화면에 신경을 쓰지 않습니만, 한때는 고해상도 Wall paper를 구하느라 인터넷을 뒤적거렸던 기억이 나네요.

이 글에서는 여러가지 다양한 스타일의 바탕화면 이미지를 자동 생성해주는 ComfyUI 워크플로를 소개시켜 드립니다. 아래는 이 워크플로로 자동 생성한 월 페이퍼들입니다. 보시는 것처럼, 색깔/테마/계절 등이 다양하게 생성됩니다.

윈도11 바탕 화면 설정

소프트웨어

이 글에서는 스테이블 디퓨전을 위한 GUI 중 하나인 ComfyUI를 사용합니다. 설치 및 기본 사용방법은 이 글을 보시면 됩니다. 조금 중복되는 부분도 있지만, 초보자 가이드도 참고하세요.

따라하기

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

ComfyUI를 실행한 후, 아래의 json 파일이나 그림을 ComfyUI 화면에 Drag&Drop하면 아래와 동일한 워크플로가 불러올 수 있습니다.

wallpaper.json
0.05MB

참고로 이 워크플로는 OpenArtFlow에서 가져와 약간 수정한 것입니다.

대부분 아래에 있는대로 설정하면 그대로 사용할 수 있지만, 때때로 오류가 발생할 수 있습니다. 그러한 경우, 다음과 같은 작업이 필요할 수 있습니다.

2단계: 모델 설정하기

먼저 체크포인트 모델을 선택해야 합니다. [CR Select Model] 노드에서 적당한 SDXL 기반의 모델을 선택해 주시면 됩니다. 저는 JuggernautXL 모델을 사용했습니다. 없으시면 다운로드 받은 후 ComfyUI\models\checkpoints 폴더에 넣어주시면 됩니다. AUTOMATIC1111과 모델을 공유하실 경우엔 여기를 보세요) 다 받은 후에는 화면을 새로고침(F5)하면 목록에 나타납니다.

[CR Load LoRA] 노드에서는 LoRA 파일을 선택합니다. 저는 섬세한 디테일을 추가해주는데 사용하는 add-detail-xl 을 사용했습니다. 없으시면 다운로드 받은 후 ComfyUI\models\lora 폴더에 넣어주시면 됩니다. AUTOMATIC1111과 모델을 공유하실 경우엔 여기를 보세요) 다 받은 후에는 화면을 새로고침(F5)하면 목록에 나타납니다.

다음으로 [Load VAE] 노드에서 VAE 파일을 선택합니다. 저는 sdxl_vae.safetensors를 사용했습니다. 없으시면 다운로드 받은 후 ComfyUI\models\vae 폴더에 넣어주시면 됩니다. AUTOMATIC1111과 모델을 공유하실 경우엔 여기를 보세요) 다 받은 후에는 화면을 새로고침(F5)하면 목록에 나타납니다.

[CR Multi Upscale Stack] 노드에서는 AI 확대기(upscaler) 모델을 선택합니다. 저는 4x-UltraSharp 모델을 선택했습니다. 원하시면 여러가지 Upscaler를 중복해서 사용하셔도 됩니다. 없으시면 다운로드 받은 후 ComfyUI\models\upscale_models 폴더에 넣어주시면 됩니다. AUTOMATIC1111과 모델을 공유하실 경우엔 여기를 보세요) 다 받은 후에는 화면을 새로고침(F5)하면 목록에 나타납니다.

3 단계: 이미지 사이즈 선택하기

이미지 사이즈가 적당하기만 하면 알아서 늘려주지만, 가능하면 모니터의 화면 비율과 동일하게 선택하는 게 좋겠죠. 우선 바탕화면에서 우클릭하여 디스플레이 설정에 들어가서 화면의 크기를 확인합니다. 저의 경우엔 1920x1080 를 사용하고 있습니다. 

그런데 이 크기를 이 워크플로에서 직접 사용하는 것보다, SDXL 에서 기본으로 지원하는 크기를 적용하는 게 좋습니다. 이렇게 해야 이미지 품질이 좋아지기 때문입니다. 그래서 먼저 여기에 들어가서 화면 비율만 확인합니다. 1920x1080은 종횡비 16:9라는 걸 확인했습니다. 

그다음 [CR Aspect Ratio] 노드에 들어가서 동일한 종횡비의 이미지 크기를 선택합니다. SDXL에서 16:9 비율은 1344x768  크기가 최적임을 알 수 있습니다.

그런데, 워크플로 뒤쪽에 AI 확대기(Upscaler)로 1.5배 확대하도록 설정되어 있고 중간에도 Tile이 적용되어 있어, 최종적으로는 2400x1344 크기로 생성됩니다. 

이제 [Queue Prompt]를 누르면 이미지가 생성됩니다. 아래는 이 워크플로로 생성한 이미지중 몇가지 입니다. 보시는 것처럼, 색채도 다양하고, 테마도 다양합니다. 

설정 변경 방법

먼저 좌측 위는 프롬프트를 조합하는 부분입니다. 위쪽에서는 스타일(중세/이집트/중국), 장소(마을/도시/궁전/성), 풍경(지하/강/해변/산/언덕/섬), 계절(봄/여름/가을/겨울)이 나열되어 있습니다. 매번 이미지가 생성될 때마다 무작위로 선택되어 조합됩니다. 이것만 해도 3x4x7x4=336가지나 됩니다. 그 아래에는 색(blue/red/yellow/bright green/orange/white/rainbow)등이 무작위로 선택되고 기본 스타일(3D fractal landscape, close-up graphic design panels, UHD, 8K, depth of field, refraction)이 있습니다. 최종적으로 선택된 사항은 맨 아래에 [Show Text] 노드에 나타나게 됩니다. 현재는 아래와 같습니다.

프롬프트: medieval island town in spring, 3D fractal landscape, close-up graphic design panels, UHD, 8K, depth of field, refraction, red color tint

그러므로 여기에서 원하는 스타일이나 장면등을 넣고 빼주고 하면 좀 더 다양한 이미지를 생성할 수도 있습니다. 

Efficient 노드를 사용한 개선 버전

위의 워크플로를 돌려보시면 아시겠지만, 상당히 느립니다. 특히 Upscale하는 과정에서 KSampler를 두번 더 돌리기 때문에 일반 이미지 생성에 비해 4배나 시간이 많이 걸립니다. 또 제가 보기에 몇가지 쓸데없는 노드가 들어 있습니다. 그래서 좀 고치다가 아예 제가 좋아하는 SDXL Efficient 기본노드를 약간 변형해 비슷한 기능을 하도록 새로 만들었습니다.

사용방법은 비슷하기 때문에 다시 말씀드리지 않겠습니다만, Color를 설정하는 부분에서 너무 지정한 색이 강하게 나와서 ({blue|red|yellow|bright green|orange|white|rainbow} color tint:0.5) 이런 식으로 가중치를 0.5로 지정해서 조금 약하게 만들었습니다. 

wallpaper2.json
0.02MB

아래는 결과물들입니다. 제 생각엔 원래것들 보다 훨씬 나은것 같네요. ㅎㅎㅎ

윈도11 바탕 화면 설정

이렇게 여러가지 바탕화면용 월페이퍼 이미지를 생성하는 건, 자신의 모니터에 자동으로 표시하려는 것이겠죠. 윈도 11 바탕화면 설정에 들어가면 이미지 들이 들어있는 폴더를 지정해서 슬라이드쇼를 지정할 수 있습니다. 그런데, 해보시면 아시겠지만, 여러가지로 불만족스럽습니다. 

하지만, https://www.internetmap.kr/entry/Wallpaper-SlideShow-for-Multi-Monitor-Johns-Switcher 를 보시면 바탕화면을 훨씬 멋지게 설정할 수 있는 방법이 있으니 참고하세요.

민, 푸른하늘

====