Stable Diffusion + Controlnet 을 통한 Logo 이미지 생성

2024. 4. 19. 16:43·AI

Example

  • 2주차의 HTTP와 API 통신!

1. 설치방법!

  • 파이썬 가상환경을 위한 아나콘다 설치
    • 각 OS에 맞게 자기 OS 설치해주시면 됩니다… 저는 linux라..
    • 대부분 mac이던데… 부럽습니다..
    Installation — Anaconda documentation
  • 설치 후 다음 명령어로 가상환경 생성 및 접속 후 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
'AI' 카테고리의 다른 글
  • Stable Diffusion의 기본적인 이해와 설치!
  • AutoEncoder란?
  • Transformer Attention이란?
kiru98
kiru98
다양한 것들을 보고 직접 경험하는것을 중요시 합니다
  • kiru98
    기르기르
    kiru98
  • 전체
    오늘
    어제
    • 분류 전체보기 (30)
      • AI (4)
      • Project (1)
      • MLOps (1)
      • 데이터사이언스 (2)
      • Github (1)
      • Server (17)
      • 알고리즘 (0)
      • DB (4)
      • Golang (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    docker compose
    eventpublisher
    Grafana
    db
    AI
    GAN
    StableDiffusion
    java
    MLOps
    K6
    이미지생성
    spring
    I2I
    springboot
    redis stream
    redis
    spring boot
    Prometheus
    Docker
    PYTHON
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
kiru98
Stable Diffusion + Controlnet 을 통한 Logo 이미지 생성
상단으로

티스토리툴바