전체 글 1739

인공지능 확대 도구(UpScaler) 사용법

ESRGAN과 같은 이미지 AI 확대기는 스테이블 디퓨전(Stable Diffusion)으로 생성한 이미지의 품질을 향상시키기 위해 반드시 사용해야 하는 도구입니다. 이 도구는 아주 많이 사용되기 때문에 Stable Diffusion GUI에서 기본으로 제공하는 경우가 많습니다. 이 글에서는 이미지 AI 확대기(Upscaler)가 무엇인지, 작동 원리는 어떠한지, 어떻게 사용할 수 있는지 등을 알아보겠습니다. 이 글의 목차는 아래와 같습니다. 이미지 확대 도구가 필요한 이유 전통적인 확대 도구의 단점 인공지능 확대 도구의 작동 원리 스테이블 디퓨전의 AI 확대도구 사용법 AI 확대도구 종류 새로운 Upscaler 설치방법 Upscaler2 SD Upscale 스크립트 txt2img 페이지의 Hires F..

하이퍼네트워크 사용방법

스테이블 디퓨전이 어떻게 작동되는지에 대해서도 조금 알게되었고, Stable Diffusion의 대표 UI라고 할 수 있는 AUTOMATIC1111을 설치하였으며, 기본적인 사용법은 시험해 봤고, LoRA와 ControlNet도 돌려본 상태라면, 이제 Stable Diffusion을 사용해서 왠만한 정도의 사진이나 그림을 뽑아낼 수 있을 것입니다. 이 글은 이러한 기본을 뛰어 넘어 한 단계의의 기술인 하이퍼네트워크(Hypernetwork) 모델에 대한 글입니다. 이 글에서는 하이퍼네트워크가 무엇인지, 어떻게 사용하는지에 대해 설명합니다. 하이퍼네트워크란? 하이퍼네트워크는 Novel AI에서 처음 개발한, 미세 조정 기법입니다. Novel AI는 Stable Diffusion이 처음 공개된 때부터 개발에 ..

Stable Diffusion - LoRA 모델 사용법

그림 생성형 인공지능인 Stable Diffusion을 사용해서 이미지를 생성하다보면 LoRA라는 단어를 자주 만날 수 있습니다. 이 글은 LoRA 모델이 무엇인지, 일반적인 checkpoint 모델과는 무엇이 다른지, 그리고 어떻게 사용해야 하는지 등에 대해 간단히 정리합니다. 로라 모델은 일반적인 checkpoint 모델에서 작은 변화만 일으키는, 크기가 작은 Stable Diffusion 모델입니다. 일반적으로 체크포인트 모델보다 1/10 ~ 1/100 정도 크기뿐이 안되어서 여러가지 모델을 수집하는 사람들에게 매우 인기가 높습니다. 이 글은 이제까지 LoRA를 사용해 보지 않은 초보자를 위한 튜토리얼입니다. LoRA가 무엇인지, 어디에 있는지, AUTOMATIC1111에서 어떻게 사용하는지 등을 ..

Stable Diffusion에 대한 기본적인 이론

스테이블 디퓨전(Stable Diffusion)은 텍스트로부터 인공지능 이미지를 생성하는 잠재 확산 모델(latent diffusion model) 입니다. 고차원의 이미지 공간이 아닌, 먼저 이미지를 잠재 공간(latent space)로 압축합니다. Stable Diffusion을 우리말로 번역하면 "안정적인 확산"입니다. 왜 이런 이름을 붙였을까요? 그냥 사용할 줄 알면 되지, 왜 작동 원리까지 알아야 할까요? 그 해답은 이렇습니다. "우리가 필요한 것은 내가 원하는 이미지를 잘 뽑아내는 것이고, 내부 작동원리를 알면 이렇게 이미지를 잘 뽑아내는 데 도움이 되기 때문"입니다.한마디로 도구를 올바르게 사용하면 더 정밀한 결과를 얻을 수 있습니다. text-to-image 는 image-to-image와..

Stable Diffusion으로 사실적인 인물 사진을 생성하는 방법

스테이블 디퓨전을 활용하는 이유중 가장 중요한 것중의 하나가 사실적인 인물 사진을 생성하는 것입니다. 카메라로 직접 현장에서 찍은 것같은 진짜처럼 보이는 사진. 이 글에서는 사진 스타일의 이미지를 생성하는 원리를 알아 보겠습니다. 프롬프트, 모델, 사진확대기 등이 이 글에서 다룰 주요 내용이다. 소프트웨어 스테이블 디퓨전을 사용하는 방법은 여러가지가 있습니다. 이 글에서는 AUTOMATIC1111을 사용하는데, AUTOMATIC1111 GUI는 윈도에서도, Mac에서도, Google Colab에서도 사용할 수 있습니다. 제 컴퓨터 그래픽 카드가 오래된 것이다보니, 저는 앞으로 Google Colab 환경을 주로 사용하기로 했습니다. 프롬프트 여기에서는 사실적인 인물 사진을 생성하기 위한 고품질의 프롬프트..

Automatic1111 GUI: 초보자 가이드(메뉴 해설)

Atutomatic1111 Stable Diffusion webUI는 사실상의 표준 GUI입니다. 새로운 기능이 나오면 여기에 가장 먼저 등장합니다. 그런데 쉬운 소프트웨어는 아닙니다. 문서도 별로 없구요. 메뉴를 들여다보면, 특히 설정(Settings)의 경우 너무 복잡해서 숨이 넘어갈 정도입니다. 이글은 AUTOMATIC1111 GUI를 사용하는 방법에 대한 가이드입니다. 투토리얼로 생각해도 무방합니다. 여러가지 예제가 많이 들어있으니 직접 실습해보시면 좋습니다. AUTOMATIC1111이 뭘 할 수 있는지가 궁금하다면 먼저 대충 어떤 기능이 있는지만 알아보고, 나중에 확인해 보는 것도 좋습니다. txt2img 탭 GUI를 시작하면 제일 먼저 보이는 것이 text2img (Text to Image)탭..

OpenArt의 프롬프트 북(Prompt Book)

Stable Diffusion을 포함하여, Text2Img 방식의 그림생성 인공지능에서 가장 중요한 것중의 하나가 프롬프트(Prompt)이다. 프롬프트는 자신이 생성하고자 하는 이미지를 표현하는 단어들의 모음이다. 즉, 프롬프트를 얼마나 잘 입력하느냐가 생성된 이미지의 품질을 좌우한다. 그러나, 프롬프트 시장이 확대된다는 신문 기사에서 알 수 있는 것처럼, 좋은 프롬프트를 만드는 것은 쉬운 일이 아니다. 이 글에서는 OpenArt에 올려진 프롬프트 북(The PromptBook) 을 기준으로, 직접 테스트해보면서 필요에 따라 편집한 결과를 정리한다. 1. 서론 Tiny cute cow toy, reading a book, standing character, soft smooth lighting, soft..

AI 이미지 2023.04.15

Stable Diffusion A1111 메모리 부족 에러

AUTOMATIC1111을 설치하고, 몇가지 테스트 중이었습니다. 그중에서도 Easy Diffusion에서는 사용할 수 없었던 LoRA를 사용할 수 있다고 해서 기분 좋게 돌리고 있었죠. 그런데, 잘 돌아가는 듯 하다가... 뻗었습니다. 처음에 512x512짜리 이미지 1개를 생성할 때는 문제가 없었는데 크기를 좀 늘이고 2장씩 뽑으라고 했더니 아래처럼 "torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 38.00 MiB (GPU 0; 4.00 GiB total capacity; 2.67 GiB already allocated; 27.80 MiB free; 2.71 GiB reserved in total by PyTorch" 라는 메시..

Stable Diffusion 대표 UI - AUTOMATIC1111 설치방법

그림 생성형 인공지능 중 하나인 Stable Diffusion은 다양한 방법으로 사용할 수 있습니다. 오픈 소스이기 때문에 원하는 누구나 조금씩 수정하여 프로그램을 만들 수 있기 때문입니다. 며칠전 소개시켜드린 Easy Diffusion 2.5도 그중 하나입니다. 이 프로그램은 아무 사전 작업없이 그냥 파일을 다운로드 받고, 설치를 풀기만 하면 실행할 수 있어 편리합니다. 아무리 컴맹이라도 실패할 확률이 "제로"죠. 그런데 Easy Diffusion을 사용해 보니 몇가지 문제가 있었습니다. 무엇보다 최신의 기능이 지원되지 않는다는 것이었습니다. 특히 (정확히 무언지는 모르지만) LoLA를 이제 겨우 베타버전에서만 지원하기 시작했고, Inpainting에서도 생각대로 작동되지 않는 것 같았습니다. 오늘 소..

python을 실행시켰더니 Windows 앱스토어가 뜰때

요즘 이런저런 이유로 python을 공부하고 있습니다. Stable Diffusion을 사용하기 위해서 필요한 것도 있고, 가끔 퍼즐을 풀 때 프로그램을 짜야 할 때가 있어서입니다. 물론 다른 언어도 사용할 수 있겠지만, 몇년 전부터 들어왔던 python이 가장 나을 것 같아서입니다. 그래서 현재 제 컴엔 anaconda3와 pycharm 이 설치되어 있고, 주력으로 사용하고 있습니다. 그런데 Stable Diffusion을 사용하려면 별도로 python 3.10.6 을 깔으라고 하더군요. 설치하면서 반드시 PATH 를 추가하라고 해서 시키는 대로 했고요.그런데... 다했는데도 불구하고 python을 실행하기만 하면 아래처럼 Windows App Store 가 뜨더군요. python이 없으니 새로 설치하..

Easy Diffusion - VAE

VAE (Variational Auto Encoder)란? 간단히 말해서, VAE를 사용하면 생성된 이미지의 품질이 향상된다. VAE 는 이미지 중에서 특정한 측면을 위해 학습된 것으로, Easy Diffusion에 기본으로 탑재된 VAE인 vae-ft-mse-840000-ema-pruned 는 생성된 이미지에서 눈을 더 잘 표현한다. Stable Diffusion은 vae-ft-mse-840000-ema-pruned 를 사용하여 설치하고 시작한다. 이 VAE 파일은 모든 Stable Diffusion 모델에서 사용할 수 있다. 이 VAE의 원본은 https://huggingface.co/stabilityai/sd-vae-ft-mse-original이다. VAE 를 변경할 경우 VAE 파일 (확장자는 ...

Easy Diffusion - 모델 추가 방법

Stable Diffusion 에서 생성되는 이미지는 여러가지 요인에 의해 영향을 받지만, 그중 가장 큰 비중을 차지하는 것이 이미지 생성에 사용되는 모델이다. Stable Diffusion은 여러개의 학습 모델을 사용하면서, 수시로 교체하며 사용할 수 있다. 이 글은 여러가지 모델을 어떻게 설치하고 사용할 수 있는지에 대해 설명한다. Stable Diffusion 모델이란? 스테링블 디퓨전의 UI는 이른바 모델(model)을 사용하여 이미지를 생성한다. 모델은 수많은 이미지와 이미지에 대한 설명을 사용하여 학습한 결과이다. Easy Diffusion을 설치하면 기본 모델인 sd-v1-4 가 다운로드된다. 하지만, 다른 모델도 존재하며 매우 다양하다. 그중에는 sd-v1-4를 기반으로 하여 추가로 다른 ..

Easy Diffusion - 모델 병합

Stable Diffusion 에서 생성되는 이미지는 여러가지 요인에 의해 영향을 받지만, 그중 가장 큰 비중을 차지하는 것이 이미지 생성에 사용되는 모델이다. Stable Diffusion은 여러개의 학습 모델을 사용하면서, 수시로 교체하며 사용할 수 있다. 사용가능한 모델은 .ckpt 또는 .safetensors 로서, "C:\EasyDiffusion\models\stable-diffusion" 에 복사하면 사용할 수 있다. 모델 병합(Model Merging)은 2개의 Stable Diffusion 모델(.ckpt 또는 .safetensors)을 합쳐서, 각각의 스타일과 기능을 결합하는 것을 말한다. (단, 이 기능은 Easy Diffusion 2.5.0 이상에서만 지원한다.) 1 단계 Easy D..

Easy Diffusion 인페인팅 사용방법

인페인팅(Inpainting)은 Stable Diffusion 모드 중 하나로서, 입력된 초기 이미지중에서 표시된 일부분만 변경하는 모드를 말한다. 그림의 배경을 바꾼다거나, 새로운 객체를 추가하고자 하는 경우 유용하다. 입력 이미지 지정 인페인팅을 사용하려면 먼저 입력용 이미지를 지정해야 한다. 입력용 이미지는 두 가지 방법으로 지정할 수 있다. 첫번째는 입력용 이미지를 직접 불러오는 것이다. 아래 그림에서 왼쪽 [Browse] 버튼을 누르고 원하는 그림을 불러오면 된다. 두번째는 Stable Diffusion 을 사용해 생성한 그림을 그대로 입력용 그림으로 지정하는 방법으로, 이미지에 마우스를 올리면 나타나는 버튼 메뉴에서 [Use as Input] 을 누르면 된다. 인페인트(InPaint) 이렇게 ..

Easy Diffusion 프롬프트 작성 방법

Stable Diffusion은 두가지 방식의 이미지 생성을 지원한다. 첫번째는 img-to-img 즉, 그림을 입력하여 그 그림을 기반으로 이미지를 생성하는 방법이며, 두번째는 txt-to-img, 즉 문자를 입력하여 이미지를 생성하는 방법이다(대부분의 이미지 생성형 AI는 이 두가지 방식을 지원한다). txt-to-img 방식에서 입력하는 문자를 프롬프트(prompt)라고 한다. 프롬프트는 생성할 이미지에 반영하고 싶은 여러가지 속성을 짧은 어구로 입력하는데, 프롬프트를 얼마나 잘 입력하느냐에 따라 생성되는 이미지가 자신이 원하는 이미지와 가까와질 확률이 높아진다. 즉, 프롬프트는 txt-to-img 방식에서 가장 핵심이라고 할 수 있다. 이 글에서는 프롬프트를 작성하기 위한 기본적인 사항을 설명한다..