티스토리 뷰
작은 흠집 때문에 좋은 이미지를 버릴 필요는 없습니다.
인페인팅을 사용하여 이미지의 일부를 원하는 만큼 변경할 수 있습니다.
이 기사에서는 다음을 살펴보겠습니다.
기본 인페인팅 작업 흐름
인페인팅 설정
인페인팅 모델
ControlNet 인페인팅
자동 인페인팅
소프트웨어 설정
AUTOMATIC1111 Stable Diffusion WebUI를 사용하겠습니다.
그것은 무료이며 대중적인 선택입니다. 소프트웨어는 Windows, Mac 또는 Google Colab 에서 사용할 수 있습니다.
Stable Diffusion을 처음 사용하는 경우 빠른 시작 가이드를 확인하세요.
인페인팅의 기본 예
단계별 작업 흐름
이 섹션에서는 인페인팅의 기본 사용법을 살펴보겠습니다.
다음 설정을 사용하여 이미지를 생성하기 위해 txt2img 페이지를 사용했다고 가정해 보겠습니다 .
모델: 현실적인 비전 V5.1
프롬프트 :
전신, 오드리 햅번, 흑발, 18세, 1940년대, 사진 촬영, Fujifilm XT3 Viltrox, 포즈를 취하는, 인스타그램, 행복한 미소, 일어서다, 매우 세밀한, 선명한 초점, 우아함, 보석, 도시 배경, 림 조명, 짧은 베이지 드레스 , 베이지 키튼 힐, 검은 장갑, 진주 티아라, 진주 목걸이, 화려한 진주 귀걸이, hdr, 고대비, 햇빛, , 그림자, 피부 모공, 예쁘다, 아름답다, 여성적, 사랑스럽다, 사랑에 빠졌다, 사랑스럽다, 패션, 시크, 탁월함 , 다리, 드레스
부정적인 프롬프트:
추악한, 변형된, NSFW, 변형된
CFG 규모: 7
크기: 512x768
좋은 이미지를 얻었습니다. 하지만 전신 사진에서는 얼굴이 제대로 나오지 않습니다.
얼굴이 너무 작아서 제대로 생성되지 않기 때문입니다.
다행히도 인페인팅을 사용하여 이 문제를 해결할 수 있습니다.
이미지 아래 Inpaint로 보내기 아이콘을 클릭하여 이미지를 img2img > inpainting 으로 보냅니다 .
이제 img2img 페이지와 Inpaint 탭 에 있습니다 .
페인트 브러시 도구를 사용하여 얼굴에 마스크를 만듭니다.
기본 설정은 꽤 괜찮습니다.
다음 몇 가지 사항만 확인하면 됩니다.
Inpaint Area: Only Masked - 마스크된 영역을 다시 생성하려고 합니다.
배치 크기: 4 – 매번 생성할 인페인팅 이미지 수입니다.
노이즈 제거 강도: 0.75 - 마스크된 영역이 얼마나 변경되는지 제어하는 가장 중요한 매개변수입니다.
값이 높을수록 이미지가 더 많이 변경됩니다.
인페인팅을 시작하려면 생성을 누르세요.
마스크 외부의 모든 것을 동일하게 유지하면서 얼굴이 고정된 이미지를 얻을 수 있습니다.
인페인팅은 어떻게 작동하나요?
인페인팅은 이미지 대 이미지 와 유사하며, 노이즈 제거 전에 잠재 공간의 전체 이미지에 임의의 노이즈가 추가됩니다.
그러나 인페인팅에서는 마스크된 영역에만 임의의 노이즈가 추가됩니다.
인페인팅 설정 설명
이 섹션에서는 인페인팅의 필수 설정을 살펴보겠습니다.
노이즈 제거 강도
노이즈 제거 강도는 인페인팅에서 가장 중요한 설정입니다. 마스크된 영역이 얼마나 변경되어야 하는지를 제어합니다.
일반적으로 값이 너무 높으면 인페인팅 결과가 이미지의 나머지 부분과 일치하지 않게 됩니다.
(이 글의 뒷부분에서 수정할 수 있는 방법이 있습니다.)
값이 너무 낮으면 결과가 흐릿해질 수 있습니다.
노이즈 제거 강도를 0.5로 설정하는 것이 좋은 출발점입니다.
![]() |
![]() |
![]() |
![]() |
전체 그림을 다시 칠하는 것과 마스크만 적용하는 것
Stable Diffusion이 애초에 왜 얼굴을 올바르게 생성할 수 없는지 궁금하십니까?
얼굴이 너무 작기 때문이죠. Stable Diffusion v1의 기본 해상도는 512×512 픽셀입니다.
충분한 픽셀로 덮이지 않은 얼굴은 생성할 수 없습니다.
유일한 마스크 옵션은 이 문제를 해결하도록 설계되었습니다.
마스크된 영역을 잘라내고 해당 영역의 전체 해상도를 사용합니다.
그런 다음 결과를 원래 크기로 다시 조정합니다. 작은 얼굴이나 물체를 그리는 문제를 해결합니다.
전체 사진 옵션은 입력 사진과 마스크를 자르지 않고 그대로 가져옵니다.
유일한 마스크 옵션 의 가장 일반적인 사용 사례는 얼굴을 더 세밀하게 재생성하는 것입니다.
인페인팅을 위해 마스크 영역을 잘라내기 때문에 이미지 나머지 부분의 일관성이 저하되는 경우가 많습니다.
배경의 결점 수정과 같이 전체적인 일관성이 중요한 경우 전체 그림 옵션을 사용하십시오 .
전체 그림을 Inpaint하면 얼굴이 수정되지 않습니다.
![]() |
![]() |
![]() |
마스크만 인페인팅하면 얼굴이 수정됩니다. (노이즈 제거 강도: 0.5)
반면, 배경의 일부를 재생성할 때는 전체 그림을 다시 칠해야 합니다.
마스크된 옵션만 사용하면 아래 이미지와 같은 아티팩트가 생성될 수 있습니다.
![]() |
![]() |
![]() |
마스크된 콘텐츠
마스크 된 콘텐츠 옵션은 인페인팅 전에 마스크된 영역의 이미지를 변경할지 여부를 지정합니다.
원본 : 변경사항 없음.
채우기 : 마스크된 영역의 평균 색상으로 대체합니다.
잠재 소음 : 무작위 소음만 해당됩니다.
잠재무 : 색상이나 노이즈가 없음 (올 제로 잠상)
원본은 마스크된 콘텐츠 에서 가장 일반적인 선택입니다.
원본 이미지와 상당히 다른 것을 원할 때 채우기를 사용할 수 있습니다.
잠재 소음 과 잠재 무는 대개 재난으로 끝납니다.
![]() |
![]() |
Prompt
인페인팅을 사용하는 가장 강력한 방법 중 하나는 마스크된 영역의 내용을 변경하는 것입니다.
예를 들어, 일관된 얼굴을 생성하는 기술을 사용하여 "audrey hepburn"을 다음으로 대체했습니다.
Ana de Armas, (emma watson:0.5), Liza Soberano
이제 나는 내가 원했던 모습을 지닌 일관되고 일반적인 얼굴을 갖게 되었습니다.
모델 인페인팅
인페인팅용으로 설계된 Stable Diffusion 모델이 있다는 것을 알고 계십니까?
이 모델은 표준 Stable Diffusion 모델과 약간 다릅니다.
마스크와 마스크된 이미지를 나타내는 UNet에 대한 5개의 추가 입력 채널이 있습니다.
작은 패치를 수정할 때는 일반적으로 인페인팅 모델이 필요하지 않습니다.
큰 영역을 다시 칠하기 위한 것입니다. 체크포인트 모델을 변경하면 스타일에 큰 영향을 미칠 수 있으므로 원본 모델과 일치하는 인페인팅 모델을 사용해야 합니다.
예를 들어,
사실적인 비전 v5.1 인페인팅
현실적인 비전 v5.1
인페인팅 모델은 높은 노이즈 제거 강도에서 더 높은 전역 일관성을 생성할 수 있습니다.
아래 이미지를 참조하세요.
이미지의 아래쪽 절반을 원본과 인페인팅 모델로 인페인팅했습니다. (노이즈 제거 강도는 1로 설정됨)
![]() |
![]() |
인페인팅 모델 사용 시 오류
인페인팅 모델을 사용할 때 다음과 같은 오류가 발생하는 경우.
"런타임 오류: 텐서 크기는 차원 1을 제외하고 일치해야 합니다.
예상 크기는 1이지만 목록의 텐서 번호 1에 대해 크기 2가 있습니다."
설정 페이지에서 최적화 Negative Guidance 최소 시그마를 설정했을 수 있습니다.
설정 페이지 > 최적화 로 이동합니다 . Negative Guidance 최소 시그마를 0으로 설정합니다 .
ControlNet 인페인팅
자, 지금까지 몇 가지 기본적인 인페인팅 작업을 다루었습니다.
이 섹션에서는 인페인팅과 함께 ControlNet을 사용하는 방법을 다룰 것입니다.
ControlNet은 Stable Diffusion을 위한 필수 도구입니다.
다른 이미지에서 윤곽선, 인물 포즈 등을 복사할 수 있습니다.
인페인팅의 경우 원본 이미지를 ControlNet의 참조로 사용합니다.
다음 가이드는 Stable Diffusion v1 모델에 적용됩니다.
타일 리샘플
ControlNet Tile을 사용하면 높은 노이즈 제거 강도를 사용하면서 원본 콘텐츠를 밀접하게 따라갈 수 있습니다.
ControlNet 타일을 사용하려면 img2img 탭의 ControlNet 섹션까지 아래로 스크롤하세요.
활성화: 예
제어 유형: 타일/흐림
전처리기: Tile_resample
모델: control_xxx_sd15_tile
ControlNet: 1로 시작합니다. 아티팩트가 보이면 값을 낮추세요.
ControlNets에서는 인페인팅 체크포인트 모델을 사용하면 안 됩니다. 일반적으로 훈련되지 않기 때문입니다.
필요에 따라 다운샘플링 속도를 조정합니다.
다운샘플링 속도가 높을수록 제어 이미지가 더 흐려지고 이미지가 더 많이 변경됩니다.
노이즈 제거 강도 1을 사용하여 얼굴을 계속 칠하고 헤어스타일과 같은 세부 사항을 보존할 수 있습니다. 아래에서 얼굴 교체 후 헤어스타일이 유지되는 것을 확인하세요.
![]() |
![]() |
![]() |
Canny
Canny는 이미지의 윤곽을 추출합니다.
ControlNet Canny는 개요를 따르는 이미지를 생성합니다.
인페인팅의 경우 Canny는 타일 리샘플과 유사한 기능을 제공하지만 색상을 수정하지는 않습니다.
ControlNet 전처리기는 칠해진 영역의 윤곽을 추출합니다.
이전 섹션의 지침을 따르되 대신 다음 설정을 사용하십시오.
전처리기: 캐니
모델: control_xxxx_sd15_canny
아래 이미지는 프롬프트의 일부를 “검은 머리”에서 “핑크 머리”로 변경하여 생성한 것입니다.
인페인팅
인페인팅 체크포인트 모델을 사용하면 전역 일관성을 잃지 않고 높은 노이즈 제거 강도를 사용할 수 있다는 것을 기억하십니까? ControlNet 인페인팅을 사용하여 동일한 효과를 얻을 수 있습니다.
전처리기: inpaint_only
모델: control_xxxx_sd15_inpaint
아래 이미지는 1로 설정된 노이즈 제거 강도를 사용하여 생성됩니다.
ControlNet 인페인팅을 사용하면 전역 일관성을 희생하지 않고 의복을 완전히 재생성할 수 있습니다.
![]() |
![]() |
Automatic inpainting
마지막으로, 인페인팅을 사용하여 얼굴을 수정했다면 프로세스가 기계적이라고 느낄 수 있습니다.
즉, Inpaint로 보냅니다. 얼굴 주위에 마스크를 만듭니다. 노이즈 제거 강도를 0.5로 설정하고 인페인트합니다.
왜 이것을 자동화하지 않습니까? Adetailer 확장 이 바로 그 일을 합니다.
마스크된 옵션 만으로 얼굴을 자동으로 감지하고 수정합니다.
기본 설정을 사용하는 것이 좋습니다.
txt2image에서 이를 활성화하여 자동 인페인팅을 수행할 수 있습니다.
'스테이블 디퓨전' 카테고리의 다른 글
SDXL 잠재 공간 설명 (0) | 2023.11.23 |
---|---|
Stable Video Diffusion 소개 (0) | 2023.11.22 |
DALL·E 3 vs Stable Diffusion XL 비교 (0) | 2023.11.05 |
Stable Diffusion에서 이미지 프롬프트를 사용하는 방법 (0) | 2023.10.29 |
Stable Diffusion의 용어 (0) | 2023.10.22 |