일상생활/AI

Stable Diffusion(스테이블 디퓨전) WebUI 06. Lora 사용

LeePorter 2024. 9. 4. 19:48

이번 포스팅에서는 스테이블 디퓨전에서 제공하는 Script라는 기능의 하나인 X/Y/Z plot에 대해서 설명하도록 하겠습니다.

 

🟧 이전글 보기

Stable Diffusion(스테이블 디퓨전) WebUI 01. 준비하기

Stable Diffusion(스테이블 디퓨전) WebUI 02. 기본설정

Stable Diffusion(스테이블 디퓨전) WebUI 03. 이미지 생성하기(Embeddings, Hires 적용)

Stable Diffusion(스테이블 디퓨전) WebUI 04. 프롬프트 사용법

Stable Diffusion(스테이블 디퓨전) WebUI 05. 프롬프트 Style 저장 및 사용


🔷 Lora 사용법

  - 부정프롬프트에서는 Embeddings라는 것을 사용하여 깔끔하게 만들어주면서 퀄리티도 높이고, 함축적으로 단어하나만 넣으면 되서 관리적인 측면이나 간단하게 사용할 수 있었는데, 이를 기본 프롬프트에서도 비슷하게 사용해볼 수 있는 기능이 Lora입니다.

 

  - 엄밀히 말하자면 체크포인트 모델이 범용적으로 학습한 인공지능 모델이라면, 특정한 부분에 대해서만 고밀도로 학습한 것이 Lora입니다. 그래서 체크포인트보다 비교적 용량이 작고, 특정부분에만 특화되어 이미지를 생성 및 변경, 보정하는 역할을 합니다.

 

  - 예를 들면 특정한 캐릭터나, 인물, 복장, 포즈, 배경, 디테일 등등 종류도 엄청 많습니다.

 

만화 이미지, 2D 애니메이션 타로카드 및 모바일 게임 캐릭터 스타일 등 Lora를 적용하여 특화된 이미지 생성 가능

 

  - 이번에 테스트해볼 Lora를 사용하기 위해 먼저 다운로드를 받아보겠습니다. 아래 링크를 통해 다운로드 받아주세요

 

🟧 Add Detail Lora (이미지 디테일 향상 및 보정 Lora) : 링크

 

Detail Tweaker LoRA (细节调整LoRA) - v1.0 | Stable Diffusion LoRA | Civitai

HF: https://huggingface.co/OedoSoldier/detail-tweaker-lora This is a LoRA for enhancing/diminishing detail while keeping the overall style/characte...

civitai.com

 

  - Civitai 사이트에서는 각종 다양한 체크포인트 모델, Lora, Embedding 등 다운로드 받기 편하고, 버전별(SD1.5, SD2.0, SDXL 등)로 사람들이 공유하고 있어서 유용한 사이트이니 즐겨찾기 필수!

 

  - 링크를 통해 들어가면 위와 같이 사이트 화면이 나타납니다. 우측에 Download 아이콘 클릭하여 받아주시면 됩니다. 그 아래에는 Type이 Checkpoint인지, Lora인지 보여주며, Model은 SD1.5에서 작동한다고 알려줍니다.

 

  - 작성자가 자세한 사용법과 Lora를 사용할 때 어떤 트리거 문자를 넣어야 하는지를 알려주니 꼭 Lora를 사용할 때는 자세하게 읽어봐야합니다! 다행히 해당 Lora는 트리거 문자 없이 단독으로 사용하면 되므로 쉽게 사용할 수 있습니다.

 

  - 다운로드 받은 파일은 스테이블 디퓨전 폴더의 [models] - [Lora] 에 넣어주시면 됩니다. 이 폴더 안에 새로운 폴더를 만들어서 각 Lora별로 구분하여 정리할 수 있으며, 스테이블 디퓨전 웹페이지에서 폴더 단위로 볼 수 있습니다.

 

※ 스테이블 디퓨전이 실행중이어도 상관없습니다. 폴더 안에 넣기만 하고 웹페이지에서 아래 사진을 참고하여 Lora에서 새로고침 버튼(F5를 누르라는 말이 아닙니다!!!) 눌러주면 실행 중에 넣은 Lora를 볼 수 있습니다.(마찬가지로 Checkpoints 도 동일합니다)

Lora 또는 Checkpoint 모델들을 폴더로 구분하여 정리할 수 있음

  - Generation 설정값을 넣는 부분 우측에 보면 Lora가 있습니다. 클릭하면 Lora 페이지가 하단에 나타납니다.

 

  - Lora 페이지로 이동하면 우측에 아이콘들이 보입니다. 여기서 Sort 부분은 정렬 방식이고, 우측 끝에 보면 폴더 카테고리를 보여줄지 선택하는 아이콘과 새로고침 아이콘이 있습니다. 폴더에 넣은 Lora를 실시간으로 실행 중에 보고 싶을 때는 저 새로고침 버튼을 클릭하면 업데이트 됩니다.

 

  - 새로고침하였거나 스테이블 디퓨전을 새로 실행하여 Lora 페이지로 이동하였다면 아래와 같이 add_detail 이라는 것이 보일 겁니다. 이를 클릭하면 프롬프트에 자동으로 삽입됩니다.

 

 

아마 처음 add_detail을 클릭하여 프롬프트에 넣으면 <lora:add_detail:1> 이렇게 들어갈겁니다. 뒤에 붙는 숫자는 가중치로 0을 기준(=적용안함)으로 음수부터 양수까지 설정가능하나 이건 Lora마다 천차만별입니다. 그래서 설명을 꼭 읽어보거나 테스트하면서 가중치 범위를 확인해야합니다!

 

  - 저의 경우 add_detail 값은 0.5 정도의 가중치가 적당하고 자연스러워 낮게 사용합니다. 본인 취향에 맞춰서 조절하여 사용하시면 됩니다.

 

  - 이제 Lora를 적용한 이미지를 생성해보겠습니다. 아래 내용을 참고하여 생성하시면 됩니다.

 

 

🟧 사용한 체크포인트 모델 : DreamShaper v8

🟧 VAE : vae-ft-mse-840000-ema-pruned (실사 또는 반실사에서는 거의 이것만 사용합니다)

(masterpiece, best quality, highres, highest detailed), (photorealistic), (realistic), HDR+, (extremely intricate, intricate details, extreme detailed), fashion photography, (extremely detailed CG unity 8k wallpaper, professional photograph), (colorful, dim colors, official art), lower body, cowboy shot, outdoors, the most beautiful in the world, far away castle, looking at viewer, BREAK 1girl, sharp jawline, shiny skin, smile, long hair, blonde hair, ponytail, sidelocks, blue eyes, swept bangs, collarbone, earrings, jewelry, shirt, white shirt, long sleeves, jacket, open jacket, black jacket, skirt, pleated skirt, <lora:add_detail:0.5>

 

🟧 부정프롬프트

(worst quality, low quality:1.4), BadDream, UnrealistickDream

 

  - 결과 이미지는 Seed 값이 랜덤이므로 다르게 나올겁니다. 일단 다음 포스팅에서 설명하겠지만 저는 X/Y/Z plot script 기능을 이용하여 add_detail이 적용된 이미지와 적용되지 않은 이미지를 비교하기 위해 두 이미지를 생성해서 보여드리겠습니다.

 

 

  - 겉으로 보기만해도 주름진 디테일이나 음영, 옷의 질감, 표정 등이 차이나는 것을 볼 수 있습니다. 이렇게 Lora를 사용하면 모델 자체에서 만들어내는 이미지를 보정하거나 캐릭터, 의상, 배경 등을 바꿔서 본인이 원하는 이미지를 생성할 수 있습니다.

 

  - 사용하는 Lora 또는 Checkpoint 모델이 많아질수록 관리가 필요해지는데 이때 각 Lora나 Checkpoint 등에 설명을 적거나 샘플이미지를 등록시킬 수 있습니다.

 

  - Lora 페이지로 이동하여 add_detail에 마우스를 올려놓으면 아래와 같이 상단에 아이콘이 나타납니다. 빨간 박스의 아이콘을 클릭하면 설명 및 가중치값과 샘플이미지 등을 적용할 수 있는 화면이 나타납니다.

 

 

  - 위에서부터 설명하면 가장 상단에는 Lora 페이지에 보이는 카드모양에 보면 아래쪽에 Lora 이름(add_detail)이 보입니다. 그 아래에 간략한 설명을 출력해주는 것이 Description입니다.

 

  - 그 아래 Stable Diffusion version은 어떤 버전을 사용하는지 SD1, SD2, SDXL 등 선택할 수 있는데 사실상 확인용이고 어디 보여지거나 정렬되거나 하지는 않습니다 ^^;;;

 

  - Activation text는 Lora를 클릭했을 때 프롬프트에 <lora:add_detail:0.5>과 같이 프롬프트에 삽입될 때 추가적으로 이어서 적을 프롬프트들을 적습니다. 위에서도 언급했듯이 특정 Lora들은 트리거 문자들을 같이 적어줘야할 때가 있습니다.

ex) <lora:CharacterDesign_Concept:0.8> (CharacterSheet:1), (multiple views, full body, upper body, reference sheet:1), perfect anatomy

 

  - 위의 예시처럼 사용할 때 넣어줄 프롬프트들을 쭉 적어주면 됩니다.

 

  - Preferred weight은 Lora의 가중치 값입니다. 0으로 되어 있으면 기본으로 1의 가중치가 들어갑니다.

 

  - Notes에는 자세한 설명을 자유롭게 작성하시면 됩니다. 해당 내용은 Lora 카드에 출력되지 않고 오직 설정창에서만 볼 수 있는 내용입니다.

 

  - 마지막으로 맨 아래 Replace preview 버튼을 누르면 방금 생성한 이미지를 Lora 샘플 이미지로 등록하게 됩니다. 그리고 Save를 눌러 저장하면 됩니다.

 

※ 주의! 작성 중에 마우스로 설정창 밖의 빈공간을 클릭하면 창이 닫히면서 방금 작성한 내용이 모두 날라갑니다!! 작성할 때 주의하세요(Save를 했다면 그 내용은 그대로 보존됩니다)

 

  - 제가 작성한 내용은 아래와 같습니다. 비슷하게 작성하셔도 되고 본인이 편하게 작성하시면 됩니다.

 

 

  - 다 작성하고 Save하였다면 위와 같이 Lora 페이지에 카드모양으로 샘플이미지와 함께 Lora 이름과 간략한 설명이 출력됩니다. 아래는 제가 사용하는 Lora들의 한 부분이며, 이런 식으로 관리하는 예시로 보시면 됩니다.

 


이상 Lora에 대한 사용법 포스팅이었습니다. 다음 포스팅에서는 Script의 X/Y/Z plot을 사용하여 Grid(표) 형태의 이미지 생성하는 방법에 대해서 설명하도록 하겠습니다.

감사합니다

 

다음글 : Stable Diffusion(스테이블 디퓨전) WebUI 07. Script(X/Y/Z plot)