로라 모델 중 컨셉 슬라이더를 사용하면 가중치 조절만으로 이미지의 일관성을 최대한 유지하면서 특정 특징만 변경하는 것이 가능합니다. 예를 들어 Age Concept Slider를 사용하면 나이를 조절할 수 있고, Weight 컨셉 슬라이더를 사용하면 인물의 체형도 변경할 수 있습니다. 본문에서는 컨셉슬라이더를 사용하는 방법과 그 결과에 대해 살펴보도록 하겠습니다.
컨셉 슬라이더
일전에 소개드린 바와 같이 로라 모델은 체크포인트 모델에 추가학습된 내용을 얹어 최종적으로 생성되는 이미지에 추가학습 내용을 반영할 수 있습니다. 컨셉 슬라이더는 이 과정에서 로라 적용 가중치 조절만으로 특정한 특징을 변경할 수 있습니다.
Age Concept Slider
가장 먼저 변화가 가장 두드러지는 인물의 나이를 컨셉 슬라이더로 변경해보도록 하겠습니다. 예시에 사용한 로라는 아래 주소에서 다운받을 수 있습니다.
해당 로라의 설명 페이지를 보면 로라의 가중치를 -1~4 사이로 조절할 것을 권장하고 있으므로 우리도 해당 범위에서 가중치를 조절하며 프롬프트에는 나이를 명시하여 로라 적용여부, 샘플링 방식에 따른 차이 등을 비교해 보도록 하겠습니다.
프롬프트만으로 나이 제어
먼저 컨셉 슬라이더를 사용하지 않고 프롬프트에만 나이를 명시했을 때 어떤 변화가 있는지 살펴보겠습니다. 아래는 10살부터 50살까지 10년 간격으로 나이를 올려가며 프롬프트를 작성해 생성한 이미지입니다.
Sampler : shampoomix_v10 | Sampling method : DPM++2M SDE | Sampling Steps : 20 | CFG Scale : 3 | Seed : 517840779
Prompt : (best quality:1.5), (realistic:1.5), girl, solo, long disheveled hair, 10 years old,
모든 설정은 동일하게 유지한 채 프롬프트에만 나이를 10 years old부터 50 years old로 변경하여 생성했습니다. 결과 이미지에서 보다시피 프롬프트에 나이를 명시했음에도 불구하고 30살 이상을 입력했을 때는 그림에 크게 반영이 되지 않는 모습입니다.
샘플링 방식에 따른 차이
이번에는 컨셉 슬라이더를 적용해 이미지를 생성해보도록 하겠습니다. 샘플링 방식 및 다른 설정값은 모두 앞서 그린 그림과 동일하게 유지하고 Age Slider를 적용한 결과입니다.
Sampler : shampoomix_v10 | Sampling method : DPM++2M SDE | Sampling Steps : 20 | CFG Scale : 3 | Seed : 517840779
Prompt : (best quality:1.5), (realistic:1.5), girl, solo, long disheveled hair, 10 years old, <lora:age_slider_v6:-1>
예시 이미지의 -1~+4는 로라 가중치를 의미하며, 각 이미지의 위치에 따라 프롬프트에도 동일하게 나이를 명시해줬습니다. 즉, 가중치 -1일 때는 10 years old, 가중치 +1일 때는 20 years old를 입력하는 식입니다. 일단 로라를 적용하지 않았을 때와 비교하면 확실히 입력한 나이에 따라 변화가 느껴집니다. 하지만, 로라의 가중치를 2 이상 올려 적용함에 따라 원본 이미지의 구도에도 큰 변화가 일어나는 것을 볼 수 있습니다. 아래는 샘플링 방식을 기존의 DPM++ 2M SDE에서 DPM++ 2M Karras로 변경했을 때 결과입니다.
Sampler : shampoomix_v10 | Sampling method : DPM++2M Karras | Sampling Steps : 20 | CFG Scale : 3 | Seed : 517840779
Prompt : (best quality:1.5), (realistic:1.5), girl, solo, long disheveled hair, 10 years old, <lora:age_slider_v6:-1>
당연하게도 로라 가중치와 나이 프롬프트는 잘 반영되긴 하지만 샘플링 방식의 변경에 따라 이미지의 구도 및 느낌이 모두 달라진 모습입니다. 여기서 또 눈여겨볼 점은 샘플링 방식이 달라졌음에도 로라 가중치가 3이상일 때는 인물의 팔이 머리로 올라간다는 것입니다. 이는 아무래도 해당 로라가 제작될 때 학습에 사용된 이미지에 영향을 받은 것으로 생각됩니다.
가중치 고정 후 프롬프트로 제어
이번에는 로라 가중치를 아예 1로 고정한 상태에서 프롬프트로 나이만 변경해보도록 하겠습니다.
Sampler : shampoomix_v10 | Sampling method : DPM++2M SDE | Sampling Steps : 20 | CFG Scale : 3 | Seed : 517840779
Prompt : (best quality:1.5), (realistic:1.5), girl, solo, long disheveled hair, 10 years old, <lora:age_slider_v6:1>
확실히 로라를 아예 적용하지 않고 프롬프트만 입력했을 때와는 달리 30~50살을 입력한 이미지에서 나이듦이 표현되고 있습니다. 물론 로라의 가중치가 높을 때(+4)와 비교하면 노화의 정도가 약하긴 하지만, 로라를 적용하지 않았을 때와는 크게 다른 모습입니다.
다양한 컨셉 슬라이더
위에서는 나이를 제어하는 컨셉 슬라이더만 살펴봤지만, 그 외에도 다양한 슬라이더가 있습니다. SD1.5 버전은 물론이고 SDXL 버전에서도 컨셉 슬라이드는 여전히 유효합니다.
어안렌즈 슬라이더 (SD1.5)
슬라이더 없이 어안렌즈(fisheye) 프롬프트만으로도 어느정도 이미지가 생성되기도 하지만, 프롬프트만으로 작성하면 종종 이미지에 물고기가 등장하거나 프롬프트가 동작을 하지 않는 등 부작용이 있습니다. 컨셉 슬라이더를 사용해 조금 더 편하게 어안렌즈를 표현해보았습니다.
픽사 스타일 스타일러 (SDXL)
아래는 SDXL 모델에 픽사 스타일의 컨셉 스타일러를 적용한 결과입니다. 슬라이더 로라 가중치가 3까지 올라가자 실사 이미지에서 3D 에니메이션 이미지로 변화한 모습입니다.
열대지역 스타일 (SDXL)
아래 예시는 열대지역(tropical) 스타일 컨셉 슬라이더를 적용한 결과입니다. 마찬가지로 가중치가 2를 넘어가자 인물 배경이 열대 지역의 해변으로 변화되는 모습입니다.
맺음말
본문에서 소개드린 로라 이외에도 Civitai 및 Huggingface 등을 통해 다양한 컨셉 슬라이더 로라가 공유되고 있습니다. 만약 프롬프트나 컨트롤넷만으로는 구현이 까다로운 부분이 있다면 컨셉 슬라이더를 적절히 잘 활용하는 것으로 극복하는 방법도 고려해볼 만한 포인트입니다.