Example
- 2주차의 HTTP와 API 통신!
1. 설치방법!
- 파이썬 가상환경을 위한 아나콘다 설치
- 각 OS에 맞게 자기 OS 설치해주시면 됩니다… 저는 linux라..
- 대부분 mac이던데… 부럽습니다..
- 설치 후 다음 명령어로 가상환경 생성 및 접속 후 git과 pip 설치
conda create -n diffusion python=3.10.6
conda activate diffusion
conda install git pip
- 이후 stable diffusion을 코드없이 webui로 실행할수 있는 git repo 가져옵니다.
git clone <https://github.com/AUTOMATIC1111/stable-diffusion-webui.git>
- git repo 설명 따라가셔도 됩니다.
- https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon
- 현재 Window 라면 추가설정 필요
- git clone한 폴더 들어가서 webui-user.bat 파일 열고 다음과 같이 수정해줍니다.
- 현재 Mac이나 Linux라면? 실행 파라미터로 넣어주면 됩니다.
모델 다운로드
- 현재 가장많이 쓰이는 stable diffusion model 1.5 다운로드
- 1.5 → 512*512 크기의 이미지로 학습한 모델
runwayml/stable-diffusion-v1-5 · Hugging Face
- ckpt와 safetensor 확장자가 있는데 암거나 다운로드 받아주셔도됩니다.
- ckpt에서 AI확장자로 요즘 safetensor를 통한 확장자를 통해서 좀더 빠르게 AI결과물을 출력하는 그냥 확장자입니다.
이 모델을 다음 폴더에 넣어주세요
**@ git clone한 폴더
stable-diffuison-webui**/models/Stable-diffusion
실행하기
cd stable-diffusion-webui
#window
webui-user.bat
#linux ,MacOS
./webui-user.sh --xformers
혹시 ./ 실행이 안된다면
**chmod +x webui-user.sh**
로 실행가능하게 만드는것 잊지 마시고!
chmod 는 파일의 읽고 쓰고 디렉토리인지 group인지 auth등을 걸어주고 바꿔주는 명령어입니다!!
실행 화면
- 혹시 실행화면이 안뜨면 터미널에 localhost:어쩌구 떴을텐데 그거 찾아서 열어주세요
이전에 그린 그림 똑같이 생성하고 싶을때는
- Setting 들어가서 text 검색후 이미지 생성마다 prompt에 대한 text를 저장해주는 것 선택!
2. 기본적인 WebUI메뉴 설명 : T2I : Text to Image
- sampling method
- 노이즈 제거 방법, 이미지 생성속도, 디테일 차이
- sampling steps
- 높을수록 선명하고 디테일한 이미지
- hires.fix
- upscaler : 초해상도
- steps : 초해상도 이미지 스텝
- denoising strength : 출력 이미지에 대한 변화도
- upsclae by : 초해상도 비율
- refinder
- 베이스 모델과 prompt이해도가 높은 모델 함께 사용
- batch count
- 몇번 반복해서 뽑을건지?
- batch size
- 한번에 몇개의 이미지 뽑을건지?
- CFG Scale
- 프롬프트의 의존성 => 높을수록 프롬프트에 따라가려고함
- 이런건 사실 직접해봐야 이해가 될거같은데용 하다보면 여러가지 만져보면서 재밌어요!!
색감보정을 위한 VAE 다운: 색감보정 할사람만
- Variation AutoEncoder의 약어로 간단히 말해서 이미지를 압축했다가 되돌릴때의 구조로 사용이 되는데 Variation을 통해서 위치보정이 약간 들어간 AutoEncoder를 뜻합니다. 모르셔도됩ㄴ디ㅏ..
사실 없어도 되는데 아래처럼 색감에서 차이가 날수도 있어요
stabilityai/sd-vae-ft-mse-original · Hugging Face
- 마찬가지로 들어가서 둘중 암거나 다운받고 다음 폴더에 넣어주세요
**stable-diffuison-webui**/models/VAE
- 다음과같은 순서로 눌러주기
3. Logo Line을 따라가기 위한 Controlnet 다운..
- 너무많나요..?
Controlnet 다운로드
lllyasviel/ControlNet-v1-1 at main
- 다 받으셔도 되고..
- light빼고 다 받아주시면 됩니다.
- 사용할것만 받아주셔도 됩니다..
3. 이미지 만들기
- 아래에서 다양한 AI모델 혹은 스타일 , prompt등을 따오거나 다운로드 가능
Civitai: The Home of Open-Source Generative AI
우선 Checkpoint , Lora , SDXL, SD 단어만 가볍게 보기
- checkpoint : AI모델 : 파일 크기큼 ⇒ SD 1.5 로 선택해야함, 용량이 된다면 XL도 가능
- 원본이 되는 요리도구라고 생각하면됌
- Lora : 스타일 변환 : 파일크기 작음
- 요리를 만들기 위해 사용되는 재료등이라고 생각하면됩니다.
- 좋은 재료가 들어가면 맛난 요리가 나오겠죠?? 그런 의미입니다. 주로 스타일에 쓰입니당.
- SD : Stable Diffusion : 512*512로 학습한 모델
- SDXL : Stable Diffusion 고해상도로 학습한 모델
💡 XL 붙은 Lora 말
고 Lora 붙은것만 다운해야함 : SD랑 XL Lora랑 호환이안됌
- 저는 Art형식을 원했기때문에 다음과 같은 checkpoint를 사용했습니다.
- checkpoint는 AI모델이기 때문에 다음과같은 폴더에 넣어줍니다.
- 또한 저 SD 1.5가 적혀있어야겠죠?
**@ git clone한 폴더
stable-diffuison-webui**/models/Stable-diffusion
Checkpoint
- 다음 (i) 표시를 누르면 어떤 prompt를 사용했는지 확인할수 있구
- 위에는 Positive Prompt 아래는 Negative Prompt입니다.
- Negative는 나오면 안되는것들을 주로 적어놓습니다.
- CFG scale
- prompt를 얼마나 AI모델이 중요하게 여겨야하는지를 나타냅니다.
- Steps:
- 이미지 노이즈 스텝을 얼마나 진행할지 입니다. 기본은 20으로 설정되있습니다.
Lora
- 저는 이걸 사용했는데 사용해도되고 안해도됩니다. 잘나오더라고요?
- Loar는 기본적으로 모델보다 파일크기가 훨씬 적습니다.
- 간단한 설명을 하자면 Cross Attention 을 AI모델에 적용해 작은 크기로도 원하는 스타일로 변환을 줄수있는 방법입니다.
- 근데 이걸 넣으면 이거 만든사람이 여자캐릭터 자꾸 써서 backlight 만들었는지 여자캐릭이 자주 나오더라고요 ,..?
원하는 형태의 썸네일 만들기!!!
- positive prompt
- 저는 다음과 같은 prompt를 사용했습니다.
neon, cyberpunk, white and dark green , background only black, server developer, high quality, detail , detail text , gradation
- 다음과같이 설정해주시고 이미지 크기는 사이즈 맞게 지정해주시면되는데
- 이미지 크기를 모른다? 그러면 img2img 탭가셔서
이거 눌러보시면 이미지 크기 나옵니다. 이미지도 그럼 txt2img 가서 저대로 따라 치시면됩니다.
대망의 Controlnet !!
- 다음과 같이 설정을 바꿔주세요
- 내 Controlnet 설정이 더 중요하게 작용해서 이미지를 생성해달라는 설정입니다.
- 다음 이미지를 저는 사용해서 그냥 ppt에 갖다붙였어요
- 걍 ppt켜시고 screent shot한다음에 붙여넣기 하시면 됩니다!
- 이제 위에 Generate 버튼을 누르면 요러컴 나오게 되는데 뭔가 좀 이상하죠?
- text 배경색 이미지를 색깔을 조금만 바꿔서 맞춰주고
- 다시한번 Generate! 잘 안나오면 controlnet 중요도를 2로 올려봅시다.
- 요로코롬 나와버리는데
- 여기에 back lightning Lora를 추가하면?
- 클릭하면 요롷게 나오는데 누르면 저렇게 prompt로 자동으로 들어가는데
- ctrl + 위아래 키로 Lora의정도도 조절할수 ㅣㅇㅆ습니다.!
- 그럼 요론 이미지가 나오고 자기 멋대로 prompt를 추가하면됩니다!
- prompt 찾기 어려우면 citivt 저기 위에 들어가서
- 적절한 prompt나 Lora를 추가해서 다양하게 만들어볼수 있습니다! 혹은 checkpoint를 변경한다거나?
- 저는 아예 다른느낌으로 여긱 prompt를 갑자기 가져와서 복붙해주면
- 요론 보라보라 느낌의 외계인 이미지도 만들수가 있죠!
다음번엔 저희 SOPT 서버의 포즈에 맞춰 사람을 생성해보는 방법으로 돌아오겠습니다!!
'AI' 카테고리의 다른 글
Stable Diffusion의 기본적인 이해와 설치! (1) | 2024.04.12 |
---|---|
AutoEncoder란? (0) | 2024.01.16 |
Transformer Attention이란? (0) | 2023.12.14 |