* AI 사용 권장 사양
AI 사용 시 VRAM을 많이 사용하기 때문에 GPU VRAM을 넉넉하게 맞춰주는 것이 좋다.
ex > 3090 24GB 또는 4090 ti 8GB, 최소로 RTX 3060 8~12vram
[스테이블 디퓨전(SD) 설치 및 사용]
SD 1.5v이 제일 많이 사용되는 버전. 이 버전은 기본적으로 512사이즈로 학습되어있다.
SD XL은 더 큰 이미지를 학습시킨 AI여서 좀 더 고 퀄리티로 나온다. 사양이 더 좋아야함.
<Web SD UI 구성>
긍정 프롬프트(위쪽)와 부정 프롬프트(아래쪽), 샘플러, 결과 창 등으로 구성.
Sampling steps : 연산 단계?를 늘려주는 것 ( AI에게 생각할 시간을 늘려주는 것과 같은 의미 )
CFG Scale : 프롬프트에 반응하도록 강조성을 높여주는 것
CheckPoint
체크 포인트는 광범위한 분야에 대해서 많은 양의 이미지들을 학습시켜놓은... 라이브러리 같은 것. 이를 베이스로 AI가 이미지를 생성하게 된다.
최소로 만들어도 하나에 6, 7GB의 용량이다.
체크 포인트들은 용량을 많이 차지하므로, AI용으로 작업을 하려면 컴퓨터 SSD를 2TB로 맞추는 것이 좋다. + 여분 드라이브(작업, 백업용)
Lora
체크 포인트 보다는 좀 더 좁혀진 특정 스타일의 이미지를 학습시켜놓은 집합체. 용량이 Check Point에 비해서는 가볍다.
예시를 들면 Check Point는 애니메이션 스타일라이즈 형태라면 Lora는 애니메이션 스타일 중에서도 지브리 스타일에 한정되어 학습된 것이다. Lora의 경우에는 필수는 아니지만 사용하면 좀 더 원하는 스타일 생성에 맞는 결과물을 추출 할 수 있다.
<SD의 설치>
git과 Python( 3.10.6 )이 우선적으로 깔려있어야 Web SD를 설치할 수 있다.
1.Install Python 3.10.6 (파이썬은 반드시 64 bit을 설치)
받은 파일을 실행하고, ‘Add Python 3.10 to PATH’에 반드시 체크후 ‘Install Now’ 클릭하기. 경로를 안잡아놓으면 수동으로 잡아야하기 때문에 꼭 체크하기
2.Install git (’git’은 최신 것을 설치) 별도 옵션 건드리지말고 설치
‘Git CMD’를 열어 아래의 내용을 복사, 붙여넣고 엔터
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
- ‘Model, LoRA, Output’등이 차지하는 용량이 생각보다 크기 때문에 충분히 용량(500G이상~2T)이 있는 드라이브에 설치 한다.
- ‘CMD’창에서 드라이브 옮기는 방법—>’D:’치고, 엔터 ('How to move a drive in the 'CMD' window’—>’D:’)
설치가 된 폴더에서 webui-user.bat(배치파일) 를 실행하면 추가 다운로드(15분정도)가 진행이 되고, 끝나면 WebUI 화면이 자동으로 뜬다.
*.bat이 안보이면 탐색기 - 보기 에서 확장자명 켜고 확인하기
(webui-user.bat 파일은 이후부터 WebUI의 실행파일로 사용)
SD를 완전 새로 껐다 키고 싶을 때는 CMD창도 같이 껐다가 다시 실행해줘야한다.
<Web SD의 세팅>
세팅할때는, UI+CMD창의 끄고, 켜기가 반복 된다
WebUI 생성 속도증가, 안정성을 위한 세팅
- 설치된 폴더에서 ‘web-ui-bat’ 파일을 오른쪽 마우스—>’추가옵션’—>’편집’으로 열어 아래와 같이 세팅을 맞춘다
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers --autolaunch --no-half-vae --no-half
git pull
call webui.bat
- 저장하고, 다시 Web UI를 실행한다
- ***참고로, git pull 명령어는 자동-업데이트 명령어 인데, UI와 Extention의 업데이트 주기가 다르므로 충돌에 의한 에러가 종종 생긴다. 설치후, 그 문구는 삭제후 다시 저장하는 편이 좋다.
- 수동업데이트 시에는 Git CMD창에서 git pull치면 업데이트 해준다.
Setting / 상단 메뉴의 세팅에서 기본 운용 환경 갖추기
- Stable Diffusion/Sampler parameter에서 자주 사용하지 않는 샘플러 꺼놓기
- (안해도 되지만, 안쓰는게 너무 많이 보이면 혼란스러움)
- User interface/Infotext 항목에서 “Create a text file with infotext next to every generated image”에 체크
- (모든 생성이미지에 정보를 담은 텍스트 파일생성하는 부분)
- User interface/User interface 항목에서 ‘sd-vae, img2img_color_correction’ 추가하기
*Vae란 잠재공간에 담궜다 꺼내는 역할, 체크포인트와 Vae가 잘 맞아야 결과가 잘나온다.
*Color correction’은’ i2i’작업시 원본의 컬러를 유지 하게 하는 옵션임.
* 재시동 후 상단에 생긴 UI 참고
- System/System 항목에서 아래 두가지 체크하기(Infotext 파일에 포함 될 내용과 생성된 이미지 생성칸에서 생성 정보를 보여주는 것)
- Saving images/saving images/grids에서 모든 생성 이미지 저장과, 시드, 프롬프트 정보를 포함하여 저장하는 옵션 체크해주기
위에 것을 다 해준 후 반드시 Apply settings를 클릭해 저장한 후, UI+CMD재시동
<Web SD의 사용자 편의 세팅>
- 기본 프롬프트 사전 등록
Webui를 처음 깔면 프롬프트가 비어있는데, 자주 사용하는 명령어를 기본적으로 load하도록 설정해 줄 수 있다.
설치 폴더에서 ui-config.json파일을 열어 아래의 내용을 추가해주면 프롬프트에 명령어가 자동로드된다. 재시작해주기
- 자주 사용하는 프롬프트 등록
아래 Styles.csv파일을 설치폴더에 업로드.(이후 편집은 엑셀등 문서 편집기에서 조정)
<AI 이미지 파일 정보 보는 법>
1. AI 이미지를 뽑을 때 생성된 텍스트 파일을 Prompt에 드래그 드롭해주고 화살표 아이콘을 클릭하면 아래의 샘플러에 해당이미지를 만들때 사용했던 정보들이 반영된다.
2. 또는 PNG Info에 AI 이미지를 드래그 드롭하면 우측에 정보가 글로 출력된다.
<다수의 Checkpoint를 섞는 법>
기본 2가지의 Checkpoint를 섞어주는 기능.
<Extension 설치하기>
Extensions탭 - Available - Load from: 클릭하면 밑에 목록이 뜨고, 원하는 것을 install해주면된다.
또는 git에 들어가서 원하는 Extensions를 들어간 후 주소를 복사, Install from URL탭에서 설치해주면 된다.
(설치 후 껐다 켜기)
1. Control Net 설치
Control Net은 어텐션 툴, 제어 Net의 일종
Extension만 깐다고 사용할 수 없음. Model이 있어야 함.
설치경로\stable-diffusion-webui\extensions\sd-webui-controlnet\models에 위치해있음.
Model도 따로 다운을 받아야함.
- Default Model(1.0 Models/SD1.5) All file download
https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
*Canny와 Lineart의 차이는 둘 다 선을 이용하는 거지만 Canny는 공간으로 인식하고 Lineart는 평면으로 인식한다.
*Scribble : 낙서와 같은 스케치를 이용하는 방
<Control Net의 사용>
- OpenPose
포즈 레퍼런스가 될 이미지를 넣고, Enable을 체크해준다.
(image 2 image;i2i에서는 기본적으로 업로드된 사진을 기준으로 controlnet을 사용할 수 있도록 세팅된다. Controlnet 옆에 초록 아이콘이 생성되면 등록되어있다는 의미, 만약 다른 이미지를 사용하고 싶으면, Upload independent control image를 체크해준다. )
control type을 openpose로 선택하면 preprocessor가 자동 선택되는데 여기도 목록에서 다른 것을 선택해 줄 수 있다.
dw_openpose_full이 더 디테일하게 읽힌다.
그리고 Model을 선택 후 충돌모양의 아이콘을 누르면 포즈를 뼈대를 미리보기할 수 있다.
기본적으로 레퍼런스로 넣었던 이미지와 생성 이미지 사이즈를 맞춰주는 것이 좋으나, 만약 사이즈를 알지 못하거나 변경을 원하면 Resize Mode를 이용해줄 수 있다. just resize하면 레퍼런스 이미지를 집어넣고 남은 여백을 자동으로 채워주지않고, crop and resize는 사이즈에 벗어나는 부분을 잘라내버린다. resize and fill은 이미지를 집어넣고 남은 여백을 자동으로 채워준다.
기본 생성 사이즈는 512 x 512로 작게 설정해놓고 Hires.fix를 체크하여 생성과 동시에 업스케일링하며 밀도를 높여줄 수 있다. 단, 이렇듯 여러 옵션을 이용하면 순차적으로 처리되는 것이기 때문에 시간은 더 걸릴 수 있다.
i2i의 방식에서는 denoising 과정이 중요하다.
denoising strength를 조절하면 ai가 스스로 하는 정도를 조절할 수 있다.
0.35~0.5가 약간 수정하는 정도고, 프롬프트를 기반으로 ai에 자율도가 어느정도 있는 상태가 0.75이다.
만약 가져온 이미지가 많이 유지되길 원한다면 0.35 밑으로 하는 것이 좋다.
t2i의 방식에서는 기본적으로 denoising이 없으나, hires.fix를 활성화하면 그 하위 옵션으로 denoising strength가 생긴다.
만약 업스케일링용으로만 사용하려면 여기서도 denoising strength 수치를 낮춰주어야한다.
<샘플러의 활용>
- inpaint
i2i의 inpaint 탭에서 사용할 수 있다. 이미지를 불러오고 펜으로 마스크영역을 지정해준다.
보통 마스크 단위로 수정을 원하면 Only Masked를 선택해주고, Masked content는 보통 fill과 original 둘 중 하나를 쓴다.
<프롬프트 활용>
ctrl + shift + 방향키 (위, 또는 아래) : 가중치 설정된다. 0부터 2까지 설정이 가능하다. 원하는 단어를 드래그해서 선택한 후 단축키를 눌러주면 괄호가 생기며 숫자가 자동입력된다. 보통 1.4가 넘어가면 아티팩트가 발생하여 그 이하로 사용하는 것이 좋다.
부분 수정 : SD의 inpaint / 미드저니의 region
실무에서 사용할 수 있느냐는 결국 개인화를 할 수 있느냐가 중요( 내가 원하는 방향, 입맛대로 바꿀 수 있는 것인가)
<AI의 활용사례>
1. 3D 자사 IP를 가지고 있는 회사에서
기존 캐릭터를 레퍼런스로 포즈, 헤어 등만 빠르게 수정해서 사용하는 것.
(저작권 이슈를 피할 수 있으며, AI로 빠르게 작업하는 방향)
2. 기존 이미지 to 생성 이미지로 스타일을 바꿔보는 방식
3. 스타일 선정, 옷, 장면의 앵글 등을 위한 생성과 선별
빠르게 생성하고 결과물을 예상해볼 수 있다. 연출의 정확도의 상승(레퍼런스용으로의 사용)
4. a~z 캐릭터 아트부터 마무리까지 모든 작업을 AI에서 하는 것. 캐릭터의 일관성을 유지하는 것이 핵심
<기타 모바일로 진행할 수 있는 생성형 AI>
- Being Image Creator
<SD의 CheckPoint와 Lora를 얻는 사이트>
Models 탭에 들어가서 확인 할 수 있다.
Civital Browser Extensions를 깔면 web sd에서도 볼 수 있다.
<유용한 Extensions>
(comfyUI에서는 노드라고 불림)
3d Model&pose loader
CivitAI Browser+
Depth Library
FaceSwapLab
Tagger
WildcardsManager
ReActor - 얼굴합성, FaceSwap, 딥페이크 용도
aDetailer - 생성된 결과물에서 얼굴 보정
<클립 모델과 디퓨전 모델>
SD도 미드저니도 결국 두 모델을 다 사용하기 때문에 기본 작동원리가 같다고 할 수 있다.
<Webui SD git 사이트>
https://github.com/AUTOMATIC1111/stable-diffusion-webui
'Unreal Engine' 카테고리의 다른 글
Motion Capture - 02 (0) | 2024.04.30 |
---|---|
Unreal Lighting - 04 (0) | 2024.04.29 |
Unreal Material - 04 (0) | 2024.04.25 |
Blender - 01 (0) | 2024.04.24 |
Motion Capture - 01 (0) | 2024.04.23 |