2023/07 15

DreamBooth 사용법 - Colab

며칠전에 DreamBooth 에 대한 소개 글을 올렸습니다. 간단히 요약하면, 나만의 피사체(우리 가족이나 우리집 멍뭉이, 내가 좋아하는 피규어, 내가 이번에 산 책등)의 사진을 4-5장 정도만 학습시켜 인공지능 이미지 생성에 사용할 수 있다는 내용입니다. 이미지 생성형 인공지능으로 자기 자신이던 누구던 아무나 끼워넣을 수 있고, 어떤 배경으로도 이미지를 생성할 수 있다는 겁니다. 그러고 보면 Dream(꿈) Booth(칸막이 공간), 즉 꿈의 사진관이라고 할까요... 드림부스를 설치하고 사용하는 방법에 대한 글 그리고 영상이 여기저기 올라와 있습니다만, 저도 나름대로 정리해보고자 합니다. 그런데.... 원래는 AUTOMATIC1111 에 Dreambooth 확장을 붙여서 학습하는 방법을 생각했었습니다...

Stable Diffusion - AUTOMATIC1111 최적화

Stable Diffusion이 느리다고 생각되나요? 속도를 올릴 수 있는 옵션이 여러가지 있습니다. 이 글에서는 Stable Diffusion 실행 속도를 올릴 수 있는 다음과 같은 방법에 대해 설명합니다. 교차 인지(cross-attention) 최적화 토큰 병합(token merging) 부정적 가이드(negative guidance) 최소 시그마(minimum sigma) 이 글의 목차는 아래와 같습니다. 소프트웨어 교차인지 최적화 옵션 메모리 관리 옵션 토큰 병합(Token merging) Negative guidance minimum sigma 스피드 및 메모리 사용량 벤치마크 테스트 소프트웨어 이 글에서는 Stable Diffusion의 GUI중의 하나인 AUTOMATIC1111을 사용합니다..

Stable Diffusion - 콘트롤넷(ControlNet) 1.1 사용방법(2)

(이 글은 ControlNet 1.1의 변경 내용을 포함하여 많은 내용을 수정하여 재발행한 글입니다) ControlNet이란 인물이나 배경 등의 배치, 형상, 자세 등을 잡아내어, 이를 바탕으로 이미지를 생성해주는 Stable Diffusion 모델의 일부입니다. 이 글에서는 지난 글에 이어 ControlNet에 대한 좀더 자세한 정보를 알아보겠습니다. 이 글의 목차는 다음과 같습니다. ControlNet 모델 요약 ControlNet 모델의 종류 전처리기(Preprocessor)와 모델 개요 Canny 모델 Depth 모델 ControlNet Inpainting IP-Adapter IP2P LineArt MLSD Normal Map OpenPose Reference Scribble Segmentatio..

Stable Diffusion - 콘트롤넷(ControlNet) 1.1 사용방법(1)

콘트롤넷(ControlNet)은 구도와 피사체의 자세를 복제할 수 있는 신경망입니다. 콘트롤넷에 관한 자세한 이론은 Lvmin Zhang 등이 저술한 Adding Conditional Control to Text-to-Image Diffusion Models를 참고하시기 바랍니다. 스테이블 디퓨전을 조금이라도 써보신 분은 아시겠지만, 생성되는 이미지가 원하는 자세를 갖도록 하는 것은 거의 불가능합니다. 자세 뿐만 아니라 배경이나 인물까지도 모두 무작위로 생성되기 때문입니다. 해결 방법은 그저 이미지를 많이 생성하는 것 뿐이었습니다. ControlNet을 사용하면 이런 문제를 어느 정도 해결할 수 있습니다. ControlNet을 사용하면 파사체를 어디에 둘지, 어떤 모습을 가지게 할지 등을 정확하게 제어할..

DreamBooth 소개

인공지능 이미지 고유사이트를 돌아다니면서 만난 멋진 이미지를 따라 해보는 등 스테이블 디퓨전으로 이런 저런 이미지를 생성하다보면, 자신이 좋아하는 대상을 이미지로 표현해보고 싶은 욕구가 생기기 마련입니다. 우리집 멍뭉이, 내가 가지고 있는 피규어, 내가 이번에 산 책 등을 이미지로 표현하는 거죠. 이렇게 어떤 피사체를 이미지로 표현하기 위해서는 먼저 해당 피사체를 학습시켜 모델을 만들어야 합니다. 일반적으로 체크포인트 모델을 학습시키는 것이 가장 확실하지만, LoRA, 하이퍼네트워크, 텍스트 인버전 등을 학습시키는 방법도 존재합니다. 체크포인트는 모든 피사체의 모든 부분을 다 학습시키지만, 나머지는 인공지능 모델 중 일부만 학습시키는 방법입니다. 자세한 내용은 스테이블 디퓨전 기본 이론을 읽어보시기 바랍..