본문 바로가기

AI 소식/오픈소스 AI 모델

[이미지 생성 AI] Stable Diffusion 로컬 환경에서 사용하기

안녕하세요.

 

2024년은 AI 시대라고 해도 과언이 아닙니다. 작문부터 번역, 그림, 심지어 영상 제작까지 AI가 우리의 삶을 혁신적으로 변화시키고 있습니다. 이러한 AI 기술의 발전은 우리에게 새로운 가능성을 열어주며, 다양한 분야에서 창의적인 작업을 보다 쉽게 할 수 있도록 도와주고 있습니다. 오늘은 그중에서도 이미지 생성 AI인 Stable Diffusion에 대해 알아보겠습니다.

 


반응형

 

Stable Diffusion이란

Stable Diffusion은 AI 기반의 이미지 생성 모델로, 주어진 텍스트 프롬프트를 바탕으로 고품질의 이미지를 생성합니다. 2022년에 출시된 이 모델은 여러 단계의 노이즈 제거 과정을 통해 이미지를 생성하는 방식으로 작동합니다. Stable Diffusion은 OpenAI의 DALL-E, Google's Imagen 등과 유사하게 딥러닝 기술을 활용하여 텍스트와 이미지를 매핑합니다. Stable Diffusion은 허용적 라이선스에 따라 누구나 사용할 수 있어 이전 모델들과 차별화됩니다. 이로 인해 다양한 사용자들이 쉽게 접근하고 활용할 수 있는 강력한 도구가 되었습니다.

 

주요 특징

  1. Text to Image 변환 : 사용자가 입력한 텍스트 프롬프트를 기반으로 관련 있는 이미지를 생성합니다. 예를 들어, "A cat sitting on a couch"라는 텍스트를 입력하면 이에 맞는 이미지를 생성합니다.
  2. 고품질 이미지 생성 : 높은 해상도와 디테일을 가진 이미지를 생성할 수 있으며, 다양한 스타일과 주제를 커버할 수 있습니다.
  3. 확장성 : 다양한 응용 분야에 사용할 수 있으며, 예술, 디자인, 광고, 게임 개발 등 여러 산업에서 활용 가능합니다.
  4. 사용자 제어 : 사용자가 이미지 생성 과정에서 다양한 파라미터를 조정할 수 있어, 원하는 스타일이나 디테일을 반영할 수 있습니다.

 

작동 원리

Stable Diffusion은 여러 단계의 노이즈 제거 과정을 통해 이미지를 생성하는데, 이 과정은 일반적으로 다음과 같은 단계로 구성됩니다.

  1. 노이즈 추가: 초기 이미지는 무작위 노이즈로 시작합니다. 이 노이즈는 점진적으로 제거되면서 점차 구체적인 형태를 띄게 됩니다.
  2. 노이즈 제거 단계: 각 단계에서는 이전 단계의 출력을 바탕으로 조금씩 노이즈를 제거하며, 텍스트 프롬프트와의 일치도를 높입니다. 이 과정을 통해 점차적으로 구체적인 이미지가 생성됩니다.
  3. 반복 과정: 노이즈 제거 단계는 여러 번 반복되며, 각 반복에서 이미지의 품질이 향상되고, 텍스트 프롬프트와의 일치도가 높아집니다.
  4. 최종 출력: 모든 노이즈 제거 과정이 완료되면, 최종적으로 고품질의 이미지가 출력됩니다.

 

응용 분야

Stable Diffusion은 다양한 분야에서 활용될 수 있습니다.

  • 디지털 아트: 예술가들이 창의적인 작품을 생성하는 데 사용됩니다.
  • 광고 및 마케팅: 고유한 시각적 콘텐츠를 생성하여 광고 캠페인에 활용할 수 있습니다.
  • 게임 개발: 게임에서 사용할 캐릭터, 배경 등 다양한 시각적 요소를 생성할 수 있습니다.
  • 교육 및 연구: AI와 이미지 생성 기술을 학습하고 연구하는 데 사용될 수 있습니다.

Stable Diffusion은 이러한 방식으로 텍스트를 이미지로 변환하여 다양한 응용 분야에서 창의적이고 실용적인 결과물을 제공합니다.

 


728x90

 

Stable Diffusion은 로컬환경에 설치해서 사용할 수 있고, Google colab을 이용하여 사용할 수도 있습니다. 이번 포스팅에서는 Windows 로컬환경에서 설치 및 사용하는 방법으로 진행해보겠습니다.

 

설치하는 방법으로는 하나씩 설치하는 방법원터치로 한번에 설치되는 방법이 있습니다. 한번에 설치하는 방법이 궁금하신 분들은 아래 "Stable Diffusion 원터치 설치" 내용을 바로 확인해 주시길 바랍니다.

 

행 환경

  • 운영체제 : Windows 11 (64-bit)
  • Python : 3.10.6
  • git : 2.45.2
  • GPU : NVIDIA GeForce GTX 1050 Ti

 

Stable Diffusion 수동 설치

  • Python 설치
  • git 설치
  • Stable Duffusion 설치

 

1) Python 설치

Python은 프로그래밍 언어로, 간결하고 읽기 쉬운 문법을 가지고 있습니다. 웹 개발, 데이터 분석, 인공지능, 과학 컴퓨팅, 스크립팅 등 여러 분야에서 널리 사용되는데, 이번 Stable Diffusion 사용을 위해 설치하겠습니다.

 

출처: Python 공식 페이지

 

위의 Python 공식 페이지에서 스크롤을 아래로 내리면 "Files" 섹션이 나옵니다. 여기서 Windows installer (64-bit)를 다운 받고 설치를 진행해줍니다.

 

※ 사용자의 설치 환경에 맞는 설치파일을 다운받으셔야 합니다. 현재 컴퓨터의 운영체제를 확인하고 싶으신 분들은 아래의 순서로 확인하실 수 있습니다.

  • 윈도우 설정
  • 시스템 -> 정보
  • 시스템 종류

클릭시 이미지 확대

 

2) git 설치

Git은 분산 버전 관리 시스템(DVCS)으로, 코드의 변경 사항을 추적하고 여러 개발자들이 협업할 수 있게 해줍니다. 소스 코드의 히스토리를 관리하고 다양한 브랜치에서 독립적으로 작업할 수 있도록 지원합니다. Stable Diffusion을 설치하기 위해 git을 다운받도록 하겠습니다.

 

  1. git 2.45.2 버전 다운로드 (https://git-scm.com/download/win)
  2. PowerShell에서 "winget install --id Git.Git -e --source winget" 명령어를 사용하여 설치

git 또한 사용자 설치 환경에 맞는 버전을 다운받고 설치하시면 됩니다.

출처: git 공식 페이지

 

 

3) Stable Diffusion 설치

이제 Stable Diffusion 설치를 시작해봅시다.

# Windows PowerShell
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

 

※ Windows PowerShell을 실행하면 처음 나타나는 경로는 아래와 같습니다. 여기서 위의 코드를 입력하게 되면 해당 경로에 Stable Duffusion이 설치되게 됩니다. 다른 경로에 설치하시고 싶으면 cd 명령어를 통해 바꿀 수 있습니다.

클릭시 이미지 확대

 

설치가 완료되면 해당 경로에 "stable-diffusion-webui" 폴더가 생성됩니다. 이 폴더에서 "webui-user.bat"을 실행하여 Stable Diffusion 모델과 실행에 필요한 다른 파일들을 설치해줍니다. 설치가 완료되면 자동으로 web 서버가 실행됩니다.

 

Stable Diffusion 실행 화면

 

 

Stable Diffusion 원터치 설치

Stable Diffusion에서 사용자들의 편의를 위해 파일 실행 한번으로 Stable Duffusion이 설치되도록 업데이트 하였습니다. 이를 위해 Stable Diffusion 깃허브 페이지에 접속합니다.

출처: Stable Diffusion 깃허브 페이지

 

 

결과 확인

결과 확인을 위해 귀여운 고양이를 그려달라고 요청해보겠습니다. 텍스트는 아래와 같이 입력했습니다.

 

positive prompt : cut cat, Blurry city background, walking on the fence, High Quality,

negative prompt  : low Quality,

 

※ "positive prompt"는 모델에게 생성할 이미지에 대해 구체적인 내용을 입력해주는 텍스트입니다. "negative prompt" 모델에게 최대한 지양해야할 내용들을 알려주는 텍스트입니다. Stable Diffusion에 사용되는 갖가지 용어들은 다음 포스팅 글에서 자세히 다뤄보도록 하겠습니다.

 

요청한 내용대로 흐린 도시 배경으로 고양이가 있는 이미지를 생성해줬습니다. "팬스 위를 걷는" 이라는 프롬프트는 누락이 된 것으로 보이는데, 이처럼 prompt로 작성한 내용이 반드시 적용되는 것은 아닙니다. AI모델이 조금 더 내 명령을 명확히 따르게 하는 prompt 작성법은 추후에 다뤄보도록 하겠습니다.

 


 

Stable Diffusion은 이미지 생성과 변형을 통해 디지털 창작의 새로운 가능성을 열어주는 강력한 도구입니다. 로컬 환경에서 Stable Diffusion을 이용해 이미지를 생성해 본 결과, GPU를 사용하는 것이 매우 중요하다는 것을 알 수 있었습니다. GPU를 사용하면 더 높은 퀄리티의 이미지를 빠르게 생성할 수 있으며, CPU만으로는 시간이 많이 소요될 수 있습니다. 성능 좋은 GPU를 사용하여 Stable Diffusion의 잠재력을 최대한 활용하면, 창의적인 프로젝트에 큰 도움이 될 것입니다.

다음에는 낮은 비용으로 고성능의 GPU를 사용할 수 있는, Google colab을 이용하여 Stable diffusion을 활용하는 방법에 대한 글로 찾아오겠습니다.

 

 

긴 글 읽어주셔서 감사합니다 :)