티스토리 뷰
Stable Diffusion - Inpaint 기능 사용설명서 (특정 부분 다시 그리기) Stable Diffusion WebUI 무료 AI 그림
AI insights 2023. 4. 9. 21:54Inpaint 기능 사용설명서 (특정 부분 다시 그리기)
오늘은 Stable Diffusion WebUI 기능 중 특정 부분을 다시 그릴 수 있는 Inpaint 기능에 대하여 상세히 설명드리겠습니다.
참고로 inpaint는 직역하면 파손된 부분을 복원한다는 뜻입니다.
간단하게 설명드리면 아래 그림과 같이 생성된 이미지의 특정 부분을 바꾸실 수 있습니다.
금목걸이를 -> 진주목걸이로
1. Stable Diffusion WebUI 설치 안 하셨다면?
먼저 Stable Diffusion WebUI 설치 안 하신 분들은 아래 링크 확인하셔서 설치 부탁 드립니다.
2. inpaint 사용 두 가지 방법
Inpaint 사용하는 방법은 크게 두 가지가 있습니다.
1. 기본 보유하고 있는 이미지를 불러와서 수정하는 방법
2. Stable Diffusion WebUI에서 생성한 이미지를 바로 수정하는 방법
우선 첫 번째
1) 기본 보유하고 있는 이미지를 불러와서 수정하는 방법
우선 Stable Diffusion WebUI 접속하시면 아래와 같은 화면을 보실 수 있습니다.
아래 화면에서 아래 "img2img" 탭을 클릭하시고 "inpaint" 탭을 클릭합니다.
두 번째
2) Stable Diffusion WebUI에서 생성한 이미지를 바로 수정하는 방법
Stable Diffusion WebUI에서 생성하신 이미지 아래쪽에 보시면 "Send to inpaint" 버튼이 있습니다.
이 버튼을 누르시면 아래 그림과 같이 inpaint 화면을 보실 수 있습니다.
그럼 위 그림 기준으로 주요 기능에 대해서 간단하게 설명드리겠습니다.
3. inpaint 설정값 상세 설명
1. Resize mode
1) just resized
: resize image to target resolution, Unless height and width match, you will get incorrect aspect ratio
: 이미지를 대상 해상도로 크기 조정, 높이와 너비가 일치하지 않으면 잘못된 가로 세로 비율이 표시됩니다.
즉 위 6번 해상도 높이, 너비와 가져온 이미지 해상도 높이, 너비가 일치하지 않으면 잘못된 가로 세로 비율이 나옴. 그러나 5번 image area에서 Only masked를 선택했을 때는 상관없음.
2) Crop and resize
: Resize the image so that entirety of target resoution is filled with the image, Crop parts that stick out
: 6번에 설정된 해상도 전체에 맞게 이미지를 자른 후 크기 조정
3) Resize and fill
: Resize the image so that entirety of image is inside target resoultion. Fill empty space with image's colors.
: 이미지 전체가 6번에 설정된 해상도로 조정 후 빈 공간을 이미지의 색상으로 채웁니다.
4) Just resize(latent upscale)
: 잠재적 업스케일을 포함하여 이미지를 6번에 설정된 해상도로 크기 조정,
2. Mask blur
: how much to blur the mask before processing, in pixels.
: 이미지 생성하기 전에 마스크를 얼마나 흐리게 처리할지 결정(픽셀 단위)
3. Mask mode
1) inpaint masked
: 마스킹된 부분만 inpaint 실행
2) inpaint not masked
: 마스킹된 부분을 제외한 곳에 inpaint 실행
4. Masked content
1) fill
: fill it with colors of the image
: 원본 그림과 동일한 prompt 일 경우에도 생성되는 이미지가 매번 다르므로 마킹된 영억에 생성된 이미지 기준으로 표시됨. 만약 Prompt 가 바뀔 경우에는 Propmt 명령어로 생성되는 이미지 기준으로 마킹된 영역에 표시됨
2) original
: keep whatever was there originally
: 원본 그림과 동일한 prompt 일 경우 매우 유사한 이미지가 생성됨. 만약 Prompt 가 바뀔 경우에도 원본은 최대한 유지하면서 Propmt 명령어로 생성되는 이미지의 느낌(색상 등)을 포함함
3) latent noise
: fill it with latent space noise
: 원본 그림과 동일한 prompt 일 경우 잠재적으로 유사한 특성은 보유하면서 다른 이미지가 생성됨. 만약 Prompt 가 바뀔 경우에는 Propmt 명령어로 생성되는 이미지 기준으로 마킹된 영역에 표시됨
4) latent nothing
: fill it with latent space zeros
: 원본 그림과 동일한 prompt 일 경우 잠재적으로 유사한 특성은 보유하지 않음. Prompt 가 바뀔 경우에는 Propmt 명령어로 생성되는 이미지 기준으로 마킹된 영역에 표시됨
5. inpaint area
1) Whole picture
: 전체 그림에서 마킹한 부분을 prompt 명령어에 따라 생성된 전체 이미지에서 해당 마킹된 부분만큼 위치의 부분 이미지가 반영됨
2) Only masked
: 전체 그림에서 마킹한 부분을 prompt 명령어에 따라 생성된 전체 이미지 모두가 해당 마킹된 부분에 반영됨
6. Width, Height
: 생성할 이미지 사이즈를 나타냅니다.
7. Batch count, Batch size
: 두 개 숫자를 곱한 수만큼 이미지가 생성됩니다.
8. CFG Scale (Classifier Free Guidance Scale)
: How strongly the image should conform to prompt - lower values produce more creative results)
: 이미지가 프롬프트를 얼마나 강력하게 준수해야 하는지, 값이 낮을수록 더 창의적인 결과를 생성합니다.
9. Denoising strength
: Determines how little respect the algorithm should have for image's content. At 0, nothing will change, and at 1 you'll get an unrelated image. With values below 1.0, processing will take less steps than the sampling steps slider specifies.
: 알고리즘이 이미지 콘텐츠에 대해 어느 정도 존중해야 하는지 결정합니다. 0에서는 아무것도 변경되지 않으며 1에서는 관련 없는 이미지가 표시됩니다. 1.0 미만의 값을 사용하면 처리 단계가 슬라이더에서 지정한 샘플링 단계보다 적게 걸립니다.
10. Seed
: A value that determines the output of random number generator - if you create an image with same parameters and seed as another image. you'ss get the same result
: 난수 생성기의 출력을 결정하는 값.
: 동일한 prompt로 이미지와 Seed 번호로 이미지를 생성할 경우 같은 이미지를 얻을 수 있음.
4. inpaint 기능 이용 목걸이 바꾸기 실습
자 그럼 이미지를 생성 후에 위에서 보신 목걸이를 바꾸는 걸 해보겠습니다.
바꾸려는 이미지 중 일부분만 수정해야 하기 때문에 원본 그림의 Seed 번호를 꼭 고정하셔야 합니다.
(Seed 번호를 고정하지 않고 했을 때 어떻게 되는지는 아래 다양한 케이스로 실험한 내용이 있으니 참고하시기 바랍니다. ^^)
그림 위에 마우스를 위치시키시면 둥근 검은색 점이 생깁니다.
왼쪽 마우스를 누르시고 바꾸시려는 목걸이 부분을 아래와 같이 칠해줍니다.
다음 아래와 같이 설정하시고
기존 Prompt 란에 키워드를 전부 지우시고 "a pearl necklace"만 입력하시고
"Generate" 버튼을 누르시면
짜잔!!!
비교를 위하여 원본 이미지 보시면
그럼 두 개 같이 ^^
자 그럼 여기서 한발 더 나아가
5. inpaint 기능 이용 선글라스 바꾸기 실습
선글라스도 한번 도전해 보겠습니다.
그런데...
살짝 안타까운 결과가 나왔습니다.
마스킹 영역이 좀 부족했던 것 같습니다. ㅠㅠ
여러분도 직접 해보시면 아시겠지만
그림 생성이 원하는 데로 한 번에 잘 나오지는 않습니다.
그런데 마스킹을 잘한 건지 모델 자체에 데이터가 많았던 건지
진주 목걸이는 정말 한 번만에 나온 결과입니다.
여러분도 저처럼 이렇게 저렇게 가지고 놀아 보시고
여러분만의 노하우를 찾으세요 ^^
6. inpaint 기능 이용 방사진으로 실습
추가로 이번에는 인물사진 말고
방 사진으로 inpaint 기능을 한번 적용해 보겠습니다.
이번에는 Seed 번호를 고정하지 않고 진행한 테스트입니다.
이 케이스는 본인이 이미 가지고 있는 이미지를 수정할 경우에 해당한다고 보시면 되겠습니다.
우선 기본이 되는 이미지를 생성하기 위해서 Prompt "Room"만 입력하고
이미지를 아래와 같이 생성합니다.
모델은 요즘 가장 많이 사용하는
chilloutmix_NiPrunedFp32Fix.safetensors 를 사용했습니다.
아래와 같이 변화시키고자 하는 부분을 창문과 커튼 부분을 브러시로 검게 색칠한 후
아래 세팅값으로 기본 설정하고
Masked content와 Inpaint area를 바꿔가면서 실험해 봤습니다
1. fill, whole picture, prompt "room" 적용
: 새로 생성되는 prompt (room) 기준의 이미지에서 해당 마킹된 부분만큼만 부분 이미지가 들어감
2. fill, whole picture, prompt "cherry blossoms" 적용
: 새로 생성되는 prompt (cherry blossoms) 기준의 이미지에서 해당 마킹된 부분만큼만 부분 이미지가 들어감
3. fill, only masked, prompt "room" 적용
: 새로 생성되는 prompt (room) 기준의 이미지 전체가 마킹한 부분에 이미지로 들어감
4. fill, only masked, prompt "cherry blossoms" 적용
: 새로 생성되는 prompt (cherry blossoms) 기준의 이미지 전체가 마킹한 부분에 이미지로 들어감
5. original, whole picture, prompt "room" 적용
: 원본 창문 커튼 모양은 유지하면서 prompt (room) 느낌이 반영된 원본 이미지가 나옴
> 원본 모양을 약간씩 변화시키는 느낌
6. original, whole picture, prompt "cherry blossoms" 적용
: 원본 창문 커튼 모양은 유지하면서 prompt (cherry blossoms) 느낌(분홍색)이 반영된 원본 이미지가 나옴
7 original, only masked, prompt "room" 적용
: 원본 창문 커튼 모양은 유지하면서 prompt "room"에 있는 창문 이 더해진 원본 이미지가 나옴
> 내가 적어 넣고도 무슨 말인지 모르겠음 ㅡ,.ㅡ;
> 결론적으로 똑같은 prompt "room"을 적용하면 위 original, whole picture 테스트 결과와 비슷함.
8. original, only masked, prompt "cherry blossoms" 적용
: 원본 창문 커튼 모양은 유지하면서 prompt "cherry blossoms" 실물이 더해진 이미지가 나옴
9. latent noise, whole picture, prompt "room" 적용
: 원본 창문 커튼 대신해서 사용할 수 있는 블라인드나 다른 모양의 이미지가 생성됨
10. latent noise, whole picture, prompt "cherry blossoms" 적용
: 새로 생성되는 prompt (cherry blossoms) 기준의 이미지에서 해당 마킹된 부분만큼만 부분 이미지가 들어감
> 위 2번 fill, whole picture, prompt "cherry blossoms" 적용과 비슷함
11. latent noise, only masked, prompt "room" 적용
: 원본 창문 커튼 대신해서 사용할 수 있는 블라인드나 다른 모양의 이미지가 생성되나 9번 latent noise, whole picture보다는 좀 더 이질적인 이미지가 생성됨.
12. latent noise, only masked, prompt "cherry blossoms" 적용
: 새로 생성되는 prompt (cherry blossoms) 기준의 이미지 전체가 마킹한 부분에 이미지로 들어감
> 위 4번 fill, only masked, prompt "cherry blossoms" 적용과 비슷함
13. latent nothing, whole picture, prompt "room" 적용
: 새로 생성되는 prompt (room) 기준의 이미지에서 해당 마킹된 부분만큼만 부분 이미지가 들어가기도 하고 원본 창문 과유사한 다른 부분 이미지가 들어가기도 함.
> 위 1번 fill, whole picture, prompt "room" 적용과 9번 latent noise, whole picture, prompt "room" 적용 섞은 느낌
14. latent nothing, whole picture, prompt "cherry blossoms" 적용
: 새로 생성되는 prompt (cherry blossoms) 기준의 이미지에서 해당 마킹된 부분만큼만 부분 이미지가 들어감
> 위 2번 fill, whole picture, prompt "cherry blossoms" 적용과 비슷함
15. latent nothing, only masked, prompt "room" 적용
: 새로 생성되는 prompt (room) 기준의 이미지 전체가 마킹한 부분에 이미지로 들어가기도 하고
> 위 3번 fill, only masked, prompt "room" 적용과 9번 latent noise, whole picture, prompt "room" 적용 섞은 느낌
16. latent nothing, only masked, prompt "cherry blossoms" 적용
: 새로 생성되는 prompt (cherry blossoms) 기준의 이미지 전체가 마킹한 부분에 이미지로 들어감
> 위 4번 fill, only masked, prompt "cherry blossoms" 적용과 비슷함
제가 추가로 다른 케이스를 계속 테스트해 볼 예정입니다.
테스트 결과는 계속해서 블로그에 업데이트 예정이고요
영상이 편하신 분들은 아래영상 시청 부탁 드립니다.
7. Stable Diffusion Web UI 상세 사용설명서 구매
추가로 Stable Diffusion Web UI 상세 사용설명서 구매하실 분들은 아래 링크 참조 하세요 ^^
https://hello.aikoreacommunity.com/stable-diffusion-aiinsight
크몽 회원이시면 아래 링크로 구매 가능하십니다. ^^
무료 설치 동영상은 아래 링크 클릭하시면 됩니다. ^^
오늘은 여기까지 하겠습니다.
감사합니다.
AI 인사이트 였습니다. ^^
'AI 이미지 - 스테이블 디퓨젼 Stable Diffusion WebUI' 카테고리의 다른 글
- Total
- Today
- Yesterday
- Stable Diffusion
- 인공지능
- AI 교육
- ai 실사
- CONTROLNET
- 딥페이크
- AI 이미지
- 인공지능그림
- 딥러닝
- Prompt
- 무료그림
- Inpaint
- 구글드라이브
- Midjourney
- LoRa
- AI그림
- 디지털 성범죄
- WebUI
- checkpoint
- AI이미지
- web ui
- AI
- 인공지능 그림
- mid journey
- AI 그림
- 스테이블디퓨젼
- Stable Diffusion Web ui
- ChatGPT
- 미드저니
- 스테이블 디퓨젼
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |