CFG (Classifier-Free Guidance) 심층 이해
Stable Diffusion에서 CFG는 텍스트 프롬프트를 기반으로 이미지를 생성하는 과정에서 모델을 안내하는 핵심 기술입니다. 기존의 이미지 생성 방식과 차별화되는 CFG의 장점과 작동 방식을 더욱 깊이 살펴보겠습니다.
1. CFG의 장점:
- 사실성과 정확성 향상: 텍스트 프롬프트와의 일치도를 평가하여 이미지의 사실성과 정확성을 높일 수 있습니다.
- 특정 요소 강조 및 제외: 프롬프트 내 특정 단어나 개념을 강조하거나 제외하도록 모델을 유도하여 원하는 이미지를 구현하는 데 유용합니다.
- 창의적인 효과 창출: 다양한 CFG 프롬프트 조합을 통해 예술적이고 독창적인 이미지를 제작할 수 있습니다.
2. CFG 작동 방식:
- 프롬프트 입력 및 이미지 생성: 사용자가 텍스트 프롬프트를 입력하면 Stable Diffusion 모델은 학습된 데이터 세트를 기반으로 프롬프트에 해당하는 이미지를 생성합니다.
- CFG 평가: 생성된 이미지는 CFG 평가기를 거쳐 프롬프트와 얼마나 일치하는지 평가됩니다.
- 모델 조정 및 반복: 평가 결과를 바탕으로 모델은 이미지를 개선하기 위해 조정되고, 이 과정은 이미지가 프롬프트와 충분히 일치할 때까지 반복됩니다.
3. CFG 척도 조절:
CFG 척도는 이미지의 사실성과 창의성 사이의 균형을 조절하는 데 사용됩니다.
- 낮은 CFG 척도: 더 창의적이고 예상치 못한 결과를 만들어 낼 수 있지만, 원하는 이미지와는 상당히 차이가 날 수도 있습니다.
- 높은 CFG 척도: 텍스트 프롬프트를 엄격하게 따르도록 모델을 유도하여 원하는 이미지에 더 가까운 결과를 만들 수 있지만, 그만큼 이미지의 창의성은 떨어집니다.
4. Keyframes에서의 CFG 활용:
Stable Diffusion Keyframes는 애니메이션 제작 과정에서 각 프레임에 대한 CFG 설정을 별도로 조정할 수 있도록 지원합니다. 이를 통해 애니메이션 전체에 걸쳐 이미지의 스타일을 변화시키거나 특정 프레임에서 이미지의 정확성을 높이는 등 다양한 효과를 만들 수 있습니다.
5. Motion, Noise, Coherence, Anti Blur, Depth Warping & FOV 심층 분석:
Motion (움직임):
- 이미지 또는 비디오 내 움직임을 제어합니다. 높은 값은 더 많은 움직임을, 낮은 값은 더 정적인 이미지를 생성합니다.
- 객체 이동, 회전, 변형 등을 설정하여 원하는 움직임을 구현할 수 있습니다.
Noise (노이즈):
- 이미지에 무작위로 추가되는 잡음을 조절합니다.
- 이미지에 질감이나 빈티지 효과를 추가하는 데 사용할 수 있습니다.
- 너무 많은 노이즈는 이미지의 선명도를 저하시킬 수 있으니 주의가 필요합니다.
Coherence (일관성):
- 이미지의 구조와 패턴이 일관되게 유지되는 정도를 조절합니다. 높은 일관성은 이미지가 더 안정적이고 자연스러운 모습을 유지하도록 합니다.
- 특히 여러 이미지를 합성하거나 변형하는 경우 이미지의 일관성을 유지하는 데 중요합니다.
Anti Blur (안티 블러):
- 이미지의 흐릿함을 감소시키는 효과를 제어합니다. 높은 값은 이미지가 더 선명하게 보이도록 합니다.
- 특히 움직임이 있는 이미지나 작은 객체를 표현할 때 이미지의 선명도를 유지하는 데 유용합니다.
Depth Warping & FOV (심도 왜곡 및 시야):
- 이미지의 깊이와 시야를 조절하여 3차원적인 효과를 적용합니다.* 깊이 왜곡은 이미지의 깊이를 조절하여 원근감을 부여합니다. 전경과 배경의 거리를 조절하여 깊이감을 더합니다.
* 시야 설정은 이미지의 시야를 조절하여 화면에 표시되는 영역을 조절합니다. 넓은 시야는 전체적인 풍경을 보여주는 데 유용하며, 좁은 시야는 특정 부분에 초점을 맞출 때 효과적입니다.이러한 기능들은 Stable Diffusion의 Keyframes를 통해 각 프레임에서 다양한 설정을 적용하여 원하는 이미지 및 애니메이션 효과를 만들어내는 데 중요한 역할을 합니다.