4k Resolution Upscale (8x) + ControlNet Tile Resample: In depth with resources
세부 정보
파일 다운로드
모델 설명
압축 파일에는 튜토리얼에 포함된 모든 원본 이미지와 생성 데이터가 포함되어 있습니다.
요구사항:
각 항목에 대한 설치 지침을 따르십시오. ControlNet 및 다양한 모델은 설치가 매우 간단합니다.
Automatic1111 (이미 설치되어 있으나, 업데이트를 권장)
https://github.com/AUTOMATIC1111/stable-diffusion-webuiControlNet 1.1+ (공식 A1111 릴리스는 곧 출시될 예정)
https://github.com/Mikubill/sd-webui-controlnetTile 모델 버전 v11f1e
https://huggingface.co/lllyasviel/ControlNet-v1-1/blob/main/control_v11f1e_sd15_tile.pth
설치 경로: ...\stable-diffusion-webui\extensions\sd-webui-controlnet\models\Ultimate SD Upscale
https://github.com/Coyote-A/ultimate-upscale-for-automatic1111
설치 경로: GitHub URL로 확장 프로그램으로 로드해야 하며, .py 파일을 직접 ...\stable-diffusion-webui\scripts\ 디렉토리로 복사해도 됩니다.
예제 생성
A-Zovya Photoreal [7d3bdbad51] - Stable Diffusion 모델
/model/57319/a-zovya-photoreal
설치 경로: ...\stable-diffusion-webui\models\Stable-diffusion\EasyNegative [C74B4E810B] - 임베딩
/model/7808/easynegative
설치 경로: ...\stable-diffusion-webui\embeddings\Image Sharpener [FE5A4DFC4A] - 임베딩
/model/43286/image-sharpener
설치 경로: ...\stable-diffusion-webui\embeddings\4x UltraSharp - 업스케일러
https://upscale.wiki/wiki/Model_Database#Universal_Models
설치 경로: ...\stable-diffusion-webui\models\ESRGAN\--xformers
필수는 아닙니다. 이 옵션을 사용하면 최종 출력 결과가 당신의 것과 약간 다를 수 있습니다.
설치: webui-user.bat 파일을 열고 "set COMMANDLINE_ARGS=--xformers"을 추가합니다.
참고: 최신 GPU용이며, 요구사항이 충족되지 않으면 여기에서 빌드할 수 있습니다 (개인적으로 테스트하지 않음).
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Xformers
워크플로우:
1) txt2img
512x512 크기의 기본 이미지를 생성합니다. 참고로, 256에서 2048로 업스케일하는 것보다 512에서 4096로 업스케일하는 것이 훨씬 더 좋은 결과를 얻을 수 있습니다.

생성 데이터:
숲속에 버려진 트럭
음성 프롬프트: lr, easynegative,
단계: 32, 샘플러: DPM++ 2S a Karras, CFG 스케일: 7, 시드: 979998160, 크기: 512x512, 모델 해시: 7d3bdbad51, 모델: aZovyaPhotoreal_v1, Clip Skip 1
참고: 두 개의 음성 임베딩은 좋은 결과를 얻기 위해 필수는 아닙니다. 단지 예제를 재현하기 위한 것이며, Image Sharpener (lr)는 대부분 더 높은 품질의 생성 이미지를 제공합니다. EasyNegative (easynegative)는 대부분 더 나은 조합을 제공합니다.
다음 스크린샷과 같이 img2img로 전송합니다:

2) img2img
여기서는 기본 설정을 거의 그대로 두어도 됩니다. 실험 데모에서는 ControlNet의 작동 방식과 타일링 처리 능력을 보여주기 위해 높은 노이즈 제거 강도(0.75)를 사용합니다. 0.2까지 낮출 수 있지만, 0.35 이하로 설정하면 4~8배 업스케일 시 눈에 띄는 부드러움이 발생합니다. 사용하는 샘플러를 선택해야 하며, 저는 DPM++ 2S a Karras를 사용하며, 이는 아마도 최고이자 가장 느린 선택입니다.

3) ControlNet
ControlNet 패널로 아래로 스크롤하여 탭을 열고, Enable 체크박스를 선택하세요. 전처리기로 tile_resampler를 선택하고, 모델로 control_v11f1e_sd15_tile을 선택합니다.

4) Ultimate SD Upscale
정말 혼란스러운 부분일 수 있습니다. 스크립트를 올바르게 설치했다고 가정하면, 아래 페이지의 스크립트 선택 창으로 스크롤하여 Ultimate SD Upscale을 선택하세요.
설정:
대상 크기 유형: 이미지 크기에서 스케일로 설정하고, 8(4K) 또는 4(2K) 선택
업스케일러: 4x-UltraSharp를 선택하거나 선호하는 업스케일러를 선택
타입: Linear, 틈이 보일 경우 체스 타입 사용, 이는 도움이 될 수 있음(단, 더 오래 걸림)
타일 너비/높이: 현재는 512로 유지, 그러나 더 큰 타일 크기는 전체 이미지 품질을 향상시킴. 512 타일과 1024 타일 예제 참조.
매끄러움 수정: none. 예제는 매끄러움 수정을 사용하지 않음. 체스 재그리드 타입이 도움이 안 된다면만 매끄러움 수정을 시도해 보는 것을 추천. 예제에서는 눈에 띄는 틈이 없이 볼 수 있음(실제로는 존재함).

생성 데이터:
숲속에 버려진 트럭
음성 프롬프트: lr, easynegative,
단계: 32, 샘플러: DPM++ 2S a Karras, CFG 스케일: 7, 시드: 979998160, 크기: 4096x4096, 모델 해시: 7d3bdbad51, 모델: aZovyaPhotoreal_v1, 노이즈 제거 강도: 0.75, Ultimate SD 업스케일 업스케일러: 4x-UltraSharp, Ultimate SD 업스케일 타일 너비: 512, Ultimate SD 업스케일 타일 높이: 512, Ultimate SD 업스케일 마스크 블러: 8, Ultimate SD 업스케일 패딩: 32, ControlNet 활성화: True, ControlNet 전처리기: tile_resample, ControlNet 모델: control_v11f1e_sd15_tile [a371b31b], ControlNet 가중치: 1, ControlNet 시작 단계: 0, ControlNet 종료 단계: 1, ControlNet 리사이즈 모드: 자르기 및 리사이즈, ControlNet 픽셀 퍼펙트: False, ControlNet 조절 모드: 균형, ControlNet 전처리기 파라미터: "(512, 1, 64)", Clip Skip 1
결과 4K 이미지 (해상도 전체 이미지는 갤러리 이미지를 참조하시기 바랍니다)

결과 2K 이미지

결과 1K 이미지

원본 512

8K 업스케일에 대한 참고 사항
512에서 4096로 512 타일 크기로 업스케일하면 64개의 타일이 생깁니다. 엄청난 수의 타일입니다.
이처럼 많은 타일을 처리하면 가시화된 그림자(잠재적 물체)가 나타날 수 있습니다. 위의 4K 예제에서 여러 타일 내에 숨겨진 ‘버려진 트럭’을 볼 수 있습니다. 아래는 두 개의 타일이 생성된 부분의 부분 확대입니다.

노이즈 제거 조정: 더 낮은 노이즈 제거 매개변수로 줄일 수 있지만 문제는 여전히 남습니다. 낮은 노이즈 제거는 효과를 약화시켜 줄이지만, 세부 정보 감소(부드러워짐)도 동반합니다. 아래는 .35 노이즈 제거 결과로, 더 눈에 띄지 않으며 약간 더 매끄러울 수 있습니다.

프롬프트 수정: 더 높은 노이즈 제거로 이 문제를 해결할 수 있습니다. 바로 프롬프트를 비우는 것입니다. 프롬프트가 설정되지 않으면 각 타일마다 위치한 장면을 다시 그리려는 시도가 없습니다. 그러나 단점은 .75 노이즈 제거라도 세부 정보가 현저히 줄어든다는 것입니다. 아래 그림은 그림자 트럭 효과가 완전히 제거된 것을 보여줍니다.

하지만 제가 말하다시피, 프롬프트가 없으면 세부 사항이 훨씬 줄어듭니다. 아래 그림에서 명확히 차이를 알 수 있습니다.
프롬프트가 있는 4K

프롬프트 없는 4K
아래 예제에서는 음성 임베딩을 사용하지 않았지만, lr를 포함해 세부 사항을 증가시킬 수 있습니다. sharp, detailed 등의 단어를 사용해 도움을 줄 수 있지만, ‘거친 금속’이라고 하면 나무 및 다른 요소에 녹을 추가하기 시작할 수 있습니다. 따라서 프롬프트를 수정할 때 논리적으로 신중해야 합니다.

더 큰 타일로 해결: 프롬프트를 설정하고 높은 노이즈 제거 강도 사용 시, 1024 타일 크기(16개 타일)로 문제를 크게 줄일 수 있습니다. 높은 타일 크기는 전반적인 세부 사항도 향상되지만, 여전히 문제는 존재할 수 있습니다. 아래 부분 확대 그림에서는 한 트럭을 제거했지만, 다른 트럭은 더욱 상세해졌습니다. 총합적으로 타일 내 숨겨진 트럭 수가 반 정도로 줄어들었지만 여전히 존재합니다. 문제는 주제(버려진 트럭)에 해당하지 않는 타일에서 모델이 트럭을 삽입하려고 시도한다는 점입니다. 이 시점에서 머리에 그리기 또는 낮은 노이즈 제거와 더 높은 타일 크기, 프롬프트 수정의 조합을 이용해 최적의 결과를 얻을 수 있습니다.

설정 제한
4096 해상도 이미지를 렌더링하기 위해 설정에서 더 높은 이미지 크기 옵션을 활성화해야 합니다.
설정 > 이미지/그리드 저장
너비/높이 제한 - 4096 (사용자가 더 높은 값을 원하면 8192도 가능)
최대 메가픽셀 - 400 (정확한 측정 방식은 확실하지 않음)
체크박스 옵션 (다운스케일된 JPG로 이미지 저장)을 활성화하면 PNG 형식으로도 이미지 저장이 가능합니다.

문제 해결:
정확한 타일 모델을 다운로드했는지 확인하세요. ControlNet 1.1 초기 릴리스 시기의 버전이 작동하지 않아 삭제되었습니다. 만약 1.1 출시 시점에 다운로드했다면 모델 업데이트가 필요합니다. 모델 버전 번호를 확인하세요. 매우 중요합니다.
문제 발생 시 GPU 드라이버, 라이브러리, A1111 등을 업데이트해 보세요.
컴퓨터를 재시작하세요.
다른 모델이나 크기를 시도해 보세요.
Ultimate SD Upscale에서 매끄러움 수정 기능을 사용하면, 수정된 것과 없는 둘의 이미지를 각각 생성합니다. 둘 다 확인하여 비교하세요.
직접 예제를 재현해보세요. 자신의 예제가 아닌 제가 만든 예제를 따라하면, 설정에 문제가 있는지 알기 쉽습니다.
생성 데이터와 ControlNet 이미지 간 거리가 멀수록 이미지가 더 부드러워질 수 있습니다.
마치며:
일부 튜토리얼에서는 512를 2048로 업스케일한 후, 2048를 4096으로 다시 업스케일하는 방식을 사용합니다. 저는 이 방법을 추천하지 않으며, 필요하지도 않습니다. 이 방법은 512에서 4096으로 바로 업스케일하는 것보다 훨씬 더 오래 걸립니다(3~4배 더 오래 걸림). 기술적으로는 더 좋은 세부 사항을 얻을 수 있지만, 최적의 방법은 아닙니다.
이미지가 너무 부드럽게 보인다면, 4K 렌더링에 대해 고노이즈 설정을 사용해 최종 세부 사항을 처리할 수 있습니다. 다만 스케일을 1로 낮추세요.
다양한 설정, 매끄러움 등 각기 다른 버전의 렌더링을 저장한 후, 포토샵(또는 기타 도구)에서 마스크로 합성하는 것을 고려해 보세요.
압축 파일에는 튜토리얼에 포함된 모든 원본 이미지와 생성 데이터가 포함되어 있습니다.




















