ComfyUI XY 비교표 만들기|두 denoise 조합과 최종 설정 선택

ComfyUI 왕초보 가이드 29 / 29장 · 기준: ComfyUI 0.34.0 / 프런트엔드 1.49.6 · Windows x64 / NVIDIA RTX Portable. 다른 버전에서는 메뉴와 노드 표시가 다를 수 있습니다.

이 장의 실습 자료 ZIP 내려받기 (15.5MB)
JSON·입력 PNG·본문 원본 이미지를 담았습니다. 압축을 푼 뒤 본문에 적힌 파일을 선택하세요. 모델과 프로그램은 포함하지 않습니다. 본문의 WebP는 가벼운 표시용 사본이며, PNG의 작업 정보·투명도와 원본 픽셀 비교에는 ZIP 안의 PNG를 사용하세요.

인페인트와 얼굴 디테일러의 denoise를 가로·세로로 비교하고, 고른 조합을 JSON으로 다시 사용합니다.

1. 만들 결과

25장의 코트 꽃 장식 → 얼굴 보정 작업을 그대로 사용합니다. 이번에 새로 배우는 것은 두 강도의 조합을 표로 읽고 선택하는 방법입니다. 기본 실습은 네 조합을 생성하는 2×2 비교로 끝납니다. 넓은 범위를 보는 3×3은 선택 실습입니다.

기본 2×2 XY 비교표 · 실제 최종 결과의 같은 위치를 잘라 배열했습니다. 왼쪽은 얼굴, 오른쪽은 꽃 장식입니다.
기본 2×2 XY 비교표 · 실제 최종 결과의 같은 위치를 잘라 배열했습니다. 왼쪽은 얼굴, 오른쪽은 꽃 장식입니다. 그림을 누르면 큰 화면으로 열립니다.

이 표는 ComfyUI 자동 XY 노드의 출력 화면이 아닙니다. 일반 워크플로로 각 조합을 실행한 뒤 결과를 행·열에 맞춰 배열한 비교 자료입니다. 모든 칸은 같은 좌표를 잘라 같은 2배 배율로 표시했고, 추가 선명화나 얼굴 보정은 넣지 않았습니다. 그림을 누르면 큰 크기로 볼 수 있습니다.

용어뜻·이 장의 예
XY 비교표 · XY plot두 설정을 함께 비교하는 표입니다. X·Y는 이번 원본 사진의 가로·세로 픽셀 좌표를 뜻하지 않습니다.
X축 · 가로인페인트 KSampler의 denoise입니다. 왼쪽 0.85 → 오른쪽 1.00입니다.
Y축 · 세로FaceDetailer의 denoise입니다. 위 0.20 → 아래 0.40입니다. 이 표는 값이 아래쪽으로 커지도록 배치했습니다.
행 / 열 / 칸행은 가로줄, 열은 세로줄입니다. 오른쪽 아래 D칸은 X 1.00과 Y 0.40이 만나는 조합입니다.
denoise · 노이즈 제거량입력 모습에서 벗어나 다시 그릴 여지를 조절합니다. 여기서는 X가 코트 장식, Y가 얼굴을 담당합니다. 두 값을 더하거나 품질 점수로 읽지 않습니다.
변수 / 고정 조건변수는 바꿔 보는 값입니다. 두 denoise만 바꾸고, 원본·마스크·문장·seed·모델 등은 그대로 두어야 차이를 해석할 수 있습니다.

2. 준비물

기존 SDXL Base, Impact Pack·Impact Subpack, 얼굴 검출 모델을 사용합니다. 새 모델이나 XY 전용 노드는 필요 없습니다. 노드 준비는 23장, 두 단계의 연결과 마스크는 25장을 참고하세요.

모델공식 파일·다운로드 위치설치 폴더 안에 넣을 곳선택할 노드처음 사용
SDXL Base 1.0sd_xl_base_1.0.safetensorsComfyUI\models\checkpoints체크포인트 로드4장
얼굴 BBOX 검출 모델face_yolov8m.ptComfyUI\models\ultralytics/bboxUltralyticsDetectorProvider → bbox/face_yolov8m.pt23장
파일어떻게 사용하나요?
원본 · ch29-input.png (ZIP) 25장과 같은 832×1216 가상 성인 사진. ComfyUI/input에 넣거나 원본 LoadImage에서 업로드합니다.
마스크 · ch29-brooch-mask.png (ZIP) 원본과 같은 크기의 투명도 마스크. 마스크 LoadImage에서 선택합니다. JPG로 바꾸거나 흰 배경을 채우지 않습니다.
A · 0.85 / 0.20 (ZIP) 첫 칸을 실행할 일반 워크플로 JSON입니다.
B · 1.00 / 0.20 (ZIP) A와 비교해 인페인트 강도만 높인 칸입니다.
C · 0.85 / 0.40 (ZIP) A와 비교해 디테일러 강도만 높인 칸입니다.
D · 1.00 / 0.40 (ZIP) 이 예제에서 선택한 조합입니다. 기본 2×2 실습의 마지막 칸입니다.

JSON은 작업의 노드·연결·문장·설정 파일이며 모델과 입력 PNG를 모두 포함하지 않습니다. 링크가 글자로 열리면 오른쪽 클릭 → 다른 이름으로 링크 저장을 사용합니다. PNG 두 개를 폴더로 옮길 때는 목적지 ComfyUI/input을 먼저 열고 파일을 복사·붙여넣기 하세요.

3. 따라 하기

A. 바꿀 두 값과 고정할 조건 정하기

결과를 보기 전에 목표를 정합니다. 이번 목표는 코트에서 빨간 꽃이 장식으로 읽히고, 얼굴의 눈·입 표현을 정돈하되 불필요한 인상 변화가 적은 조합입니다. 얼굴만 마음에 든다는 이유로 꽃이 불완전한 칸을 최종 선택하지 않습니다.

Y · 디테일러 ↓ / X · 인페인트 →X = 0.85X = 1.00
Y = 0.20A · 0.85 / 0.20B · 1.00 / 0.20
Y = 0.40C · 0.85 / 0.40D · 1.00 / 0.40
고정할 항목인페인트 KSamplerFaceDetailer
seed / 생성 후 제어2026102501 / fixed2026102502 / fixed
steps / CFG28 / 724 / 5
sampler / schedulerdpmpp_2m / karrasdpmpp_2m / karras
수정 범위제공 코트 마스크·자르기 좌표 유지bbox/face_yolov8m.pt, threshold 0.50, dilation 8, crop_factor 3.0
작업 크기코트 주변 320×320 → 1024×1024에서 작업 → 원래 위치 합성guide_size 512, max_size 1024, cycle 1
경계 설정GrowMask 8, ImageBlur 9 / 3feather 10, noise_mask_feather 20

원본·마스크·긍정과 부정 문장·모델·연결도 유지합니다. 코트 문장은 빨간 꽃 장식, 얼굴 문장은 자연스러운 눈과 닫힌 입을 요청하며 서로 다릅니다. 두 seed를 모두 fixed로 두고 상단 배치 수는 1로 시작합니다. XY 네 칸은 서로 다른 설정 네 번이지 같은 설정의 batch 4가 아닙니다.

B. 첫 칸 A 실행하기

  1. Ctrl+O로 ch29-i085-d020.json을 엽니다. 오른쪽 아래 보기 맞춤으로 전체 그룹을 본 뒤 줌 컨트롤로 값을 읽을 만큼 확대합니다. 멀리 있는 그룹은 캔버스 모드 → 손으로 이동하고 다시 선택으로 돌아옵니다.
  2. 01 원본·모델에서 체크포인트 sd_xl_base_1.0.safetensors, 원본 ch29-input.png, 마스크 ch29-brooch-mask.png를 선택합니다. 목록에 없으면 각 LoadImage의 업로드할 파일 선택을 사용합니다. 마스크는 MASK 출력이 연결된 노드입니다.
  3. 03 인페인트 생성 → X · 인페인트 denoise에서 노이즈 제거량 0.85, 06 얼굴 재생성 → Y · 디테일러 denoise에서 노이즈 제거량 0.20을 확인합니다. 얼굴 검출 모델은 bbox/face_yolov8m.pt입니다.
  4. 상단 실행을 누릅니다. 중간 결과 · 인페인트 후의 꽃을 먼저 보고, 최종 결과 · 두 단계 완료의 얼굴까지 나온 뒤 A칸 결과로 사용합니다. 최종 이미지 크기는 832×1216입니다.
  5. 최종 파일은 ComfyUI/output/guide/ch29_i085-d020_final_…png입니다. inpaint는 얼굴 보정 전 중간 결과이고, inpaint_mask·face_mask는 범위 그림입니다. XY 비교에는 네 칸 모두 final을 사용합니다.

C. B → C → D를 실행해 2×2 채우기

  1. Ctrl+O로 B 파일 ch29-i100-d020.json을 엽니다. 같은 원본·마스크·모델을 선택하고 X 1.00 / Y 0.20으로 실행합니다. 결과는 ch29_i100-d020_final_…png입니다.
  2. C 파일 ch29-i085-d040.json을 열어 X 0.85 / Y 0.40으로 실행합니다. B에서 Y만 바꾸면 D가 되므로, C에서는 X를 다시 0.85로 돌려야 합니다. 제공 파일은 각 칸의 두 값이 이미 들어 있습니다.
  3. D 파일 ch29-i100-d040.json을 열어 X 1.00 / Y 0.40으로 실행합니다. 결과는 ch29_i100-d040_final_…png입니다.
  4. A·B를 위쪽 행, C·D를 아래쪽 행으로 놓고 봅니다. 파일 이름의 i085는 인페인트 0.85, d020은 디테일러 0.20입니다. 이미지가 보기 좋다는 이유로 칸을 바꾸면 축의 의미가 사라집니다.

한 파일에서 직접 바꾸려면 해당 노이즈 제거량 숫자를 두 번 클릭 → 값 입력 → Enter로 두 값을 지정합니다. 저장 노드의 접두사도 현재 조합으로 바꾸고 실행하세요. 예: 최종 SaveImage는 guide/ch29_i100-d040_final. 네 개의 제공 JSON을 차례로 여는 방법이 이름과 설정을 맞추기 쉽습니다.

아래는 네 칸 중 D · 1.00 / 0.40을 실행한 실제 화면입니다. A의 설정 화면과 혼동하지 마세요.

D의 첫 단계 · X 1.00과 인페인트 중간 결과.
D의 첫 단계 · X 1.00과 인페인트 중간 결과. 그림을 누르면 큰 화면으로 열립니다.
D의 두 번째 단계 · Y 0.40과 얼굴 보정까지 마친 최종 결과.
D의 두 번째 단계 · Y 0.40과 얼굴 보정까지 마친 최종 결과. 그림을 누르면 큰 화면으로 열립니다.
선택 조합 D의 전체 프롬프트·설정·노드 연결
설정할 노드입력값
원본 · 두 단계의 출발점 · 입력 사진입력 파일 = ch29-input.png
공통 SDXL Base체크포인트 = sd_xl_base_1.0.safetensors
코트 장식 마스크 · MASK 출력 · RGBA 마스크입력 파일 = ch29-brooch-mask.png
마스크 범위 · 8expand = 8
tapered_corners = true
마스크 경계 · 9 / 3blur_radius = 9
sigma = 3.0
부드러운 최종 마스크channel = red
X · 인페인트 denoiseseed = 2026102501
생성 후 제어 = fixed
steps = 28
CFG = 7.0
sampler = dpmpp_2m
scheduler = karras
denoise = 1.0
원본 보존 · 인페인트 합성x = 316
y = 156
resize_source = false
중간 결과 · 인페인트 후 · ch29_i100-d040_inpaint파일명 접두사 = guide/ch29_i100-d040_inpaint
확인용 · 인페인트 마스크 · ch29_i100-d040_inpaint_mask파일명 접두사 = guide/ch29_i100-d040_inpaint_mask
얼굴 검출 모델model_name = bbox/face_yolov8m.pt
Y · 디테일러 denoiseguide_size = 512
guide_size_for = true
max_size = 1024
seed = 2026102502
생성 후 제어 = fixed
steps = 24
cfg = 5.0
sampler_name = dpmpp_2m
scheduler = karras
denoise = 0.4
feather = 10
noise_mask = true
force_inpaint = true
bbox_threshold = 0.5
bbox_dilation = 8
bbox_crop_factor = 3.0
sam_detection_hint = center-1
sam_dilation = 0
sam_threshold = 0.93
sam_bbox_expansion = 0
sam_mask_hint_threshold = 0.7
sam_mask_hint_use_negative = False
drop_size = 10
wildcard =
cycle = 1
inpaint_model = false
noise_mask_feather = 20
tiled_encode = false
tiled_decode = false
최종 결과 · 두 단계 완료 · ch29_i100-d040_final파일명 접두사 = guide/ch29_i100-d040_final
확인용 · 얼굴 검출 마스크 · ch29_i100-d040_face_mask파일명 접두사 = guide/ch29_i100-d040_face_mask
장식 주변만 자르기너비 = 320
높이 = 320
x = 316
y = 156
작업 크기 1024upscale_method = bicubic
너비 = 1024
높이 = 1024
crop = disabled
같은 좌표의 마스크너비 = 320
높이 = 320
x = 316
y = 156
마스크도 1024upscale_method = bilinear
너비 = 1024
높이 = 1024
crop = disabled
확대 마스크channel = red
생성 부분을 320으로upscale_method = area
너비 = 320
높이 = 320
crop = disabled
합성용 · 원래 크기 마스크x = 316
y = 156
너비 = 320
높이 = 320
입력할 프롬프트 전문

인페인트 문장 · 빨간 꽃 장식

photograph, a single red rose flower brooch pinned to beige trench coat fabric, (red rose petals:1.3), small elegant fabric flower accessory, realistic textile texture, soft studio light

인페인트 · 피할 표현

text, watermark, logo, multiple flowers, bouquet, large flower, extra limbs, distorted clothing, distorted face, blurry, drawing, cartoon

디테일러 문장 · 얼굴만

photograph of an adult woman, natural eyes, dark brown hair, calm neutral expression, closed mouth, realistic skin, soft natural light

디테일러 · 피할 표현

distorted eyes, crossed eyes, asymmetrical pupils, deformed face, open mouth, teeth, heavy makeup, plastic skin, text, watermark
현재 작업의 노드·연결 목록 · 노드 30개와 연결 40개

제공 JSON에 이미 들어 있는 노드와 연결입니다. 실수로 선을 바꿨을 때 이 목록과 대조하세요. 이름이 같은 노드는 역할·파일명으로 구별합니다.

노드 역할검색할 기술 이름
원본 · 두 단계의 출발점 · 입력 사진LoadImage
공통 SDXL BaseCheckpointLoaderSimple
인페인트 문장 · 빨간 꽃 장식CLIPTextEncode
인페인트 · 피할 표현CLIPTextEncode
코트 장식 마스크 · MASK 출력 · RGBA 마스크LoadImage
원본을 잠재 이미지로VAEEncode
마스크 범위 · 8GrowMask
마스크를 그림으로MaskToImage
마스크 경계 · 9 / 3ImageBlur
부드러운 최종 마스크ImageToMask
인페인트 생성 범위SetLatentNoiseMask
X · 인페인트 denoiseKSampler
생성 그림으로 변환VAEDecode
원본 보존 · 인페인트 합성ImageCompositeMasked
중간 결과 · 인페인트 후 · ch29_i100-d040_inpaintSaveImage
확인용 · 인페인트 마스크 · ch29_i100-d040_inpaint_maskSaveImage
얼굴 검출 모델UltralyticsDetectorProvider
디테일러 문장 · 얼굴만CLIPTextEncode
디테일러 · 피할 표현CLIPTextEncode
Y · 디테일러 denoiseFaceDetailer
최종 결과 · 두 단계 완료 · ch29_i100-d040_finalSaveImage
검출 마스크를 그림으로MaskToImage
확인용 · 얼굴 검출 마스크 · ch29_i100-d040_face_maskSaveImage
장식 주변만 자르기ImageCrop
작업 크기 1024ImageScale
같은 좌표의 마스크ImageCrop
마스크도 1024ImageScale
확대 마스크ImageToMask
생성 부분을 320으로ImageScale
합성용 · 원래 크기 마스크CropMask
순서출발 출력도착 입력
1공통 SDXL Base
CLIP →
인페인트 문장 · 빨간 꽃 장식
clip
2공통 SDXL Base
CLIP →
인페인트 · 피할 표현
clip
3작업 크기 1024
이미지 →
원본을 잠재 이미지로
이미지
4공통 SDXL Base
VAE →
원본을 잠재 이미지로
vae
5코트 장식 마스크 · MASK 출력 · RGBA 마스크
마스크 →
마스크 범위 · 8
마스크
6마스크 범위 · 8
마스크 →
마스크를 그림으로
마스크
7마스크를 그림으로
이미지 →
마스크 경계 · 9 / 3
이미지
8마스크 경계 · 9 / 3
이미지 →
부드러운 최종 마스크
이미지
9원본을 잠재 이미지로
잠재 데이터 →
인페인트 생성 범위
잠재 데이터
10확대 마스크
마스크 →
인페인트 생성 범위
마스크
11공통 SDXL Base
모델 →
X · 인페인트 denoise
모델
12인페인트 문장 · 빨간 꽃 장식
조건 →
X · 인페인트 denoise
긍정
13인페인트 · 피할 표현
조건 →
X · 인페인트 denoise
부정
14인페인트 생성 범위
잠재 데이터 →
X · 인페인트 denoise
잠재 입력
15X · 인페인트 denoise
잠재 데이터 →
생성 그림으로 변환
잠재 데이터
16공통 SDXL Base
VAE →
생성 그림으로 변환
vae
17원본 · 두 단계의 출발점 · 입력 사진
이미지 →
원본 보존 · 인페인트 합성
바탕 그림(destination)
18생성 부분을 320으로
이미지 →
원본 보존 · 인페인트 합성
얹을 그림(source)
19합성용 · 원래 크기 마스크
마스크 →
원본 보존 · 인페인트 합성
마스크
20원본 보존 · 인페인트 합성
이미지 →
중간 결과 · 인페인트 후 · ch29_i100-d040_inpaint
이미지
21마스크 경계 · 9 / 3
이미지 →
확인용 · 인페인트 마스크 · ch29_i100-d040_inpaint_mask
이미지
22공통 SDXL Base
CLIP →
디테일러 문장 · 얼굴만
clip
23공통 SDXL Base
CLIP →
디테일러 · 피할 표현
clip
24원본 보존 · 인페인트 합성
이미지 →
Y · 디테일러 denoise
이미지
25공통 SDXL Base
모델 →
Y · 디테일러 denoise
모델
26공통 SDXL Base
CLIP →
Y · 디테일러 denoise
clip
27공통 SDXL Base
VAE →
Y · 디테일러 denoise
vae
28디테일러 문장 · 얼굴만
조건 →
Y · 디테일러 denoise
긍정
29디테일러 · 피할 표현
조건 →
Y · 디테일러 denoise
부정
30얼굴 검출 모델
BBOX_DETECTOR →
Y · 디테일러 denoise
bbox_detector
31Y · 디테일러 denoise
이미지 →
최종 결과 · 두 단계 완료 · ch29_i100-d040_final
이미지
32Y · 디테일러 denoise
마스크 →
검출 마스크를 그림으로
마스크
33검출 마스크를 그림으로
이미지 →
확인용 · 얼굴 검출 마스크 · ch29_i100-d040_face_mask
이미지
34원본 · 두 단계의 출발점 · 입력 사진
이미지 →
장식 주변만 자르기
이미지
35장식 주변만 자르기
이미지 →
작업 크기 1024
이미지
36마스크 경계 · 9 / 3
이미지 →
같은 좌표의 마스크
이미지
37같은 좌표의 마스크
이미지 →
마스크도 1024
이미지
38마스크도 1024
이미지 →
확대 마스크
이미지
39생성 그림으로 변환
이미지 →
생성 부분을 320으로
이미지
40부드러운 최종 마스크
마스크 →
합성용 · 원래 크기 마스크
마스크

D. 가로·세로로 비교하고 한 칸 고르기

  1. 같은 행에서 가로로: A → B 또는 C → D를 봅니다. Y를 고정하고 X만 바뀌므로, 먼저 꽃잎이 모여 장식으로 읽히는지 비교합니다. 이 예제에서는 0.85의 가늘게 벌어진 꽃보다 1.00의 꽃 형태가 더 뚜렷합니다.
  2. 같은 열에서 세로로: A → C 또는 B → D를 봅니다. X를 고정하고 Y만 바뀌므로, 눈 주변·입술과 원래 인상을 비교합니다. 이 예제의 0.20은 원래 눈 주변 대비를 더 남기고, 0.40은 그 표현을 정돈하지만 인상도 일부 바뀝니다.
  3. 처음부터 대각선 A → D로만 비교하지 않습니다. X와 Y가 동시에 달라져 어떤 설정이 어떤 변화를 만들었는지 나누기 어렵습니다. A → B로 꽃, B → D로 얼굴 순서로 확인합니다.
  4. 마지막에는 잘린 부분만 보지 말고 선택한 전체 PNG를 엽니다. 꽃이 유지되는지, 얼굴 합성 경계나 주변 코트·배경의 불필요한 변화가 없는지 봅니다.
칸전체 결과이 예제의 판단
A · 0.85 / 0.20ch29-i085-d020.png (ZIP) 꽃잎이 가늘게 벌어져 있습니다. 얼굴은 원래 눈 주변 대비가 더 남습니다.
B · 1.00 / 0.20ch29-i100-d020.png (ZIP) 꽃 형태가 더 뚜렷합니다. 원래 얼굴 느낌을 더 남기고 싶을 때 선택할 대안입니다.
C · 0.85 / 0.40ch29-i085-d040.png (ZIP) 얼굴 변화는 커졌지만 꽃이 가는 형태인 점은 남습니다. 얼굴 강도로 꽃을 해결하지 않습니다.
D · 1.00 / 0.40ch29-i100-d040.png (ZIP) 이 예제의 선택. 꽃 형태와 눈·입 표현을 함께 판단해 고른 조합입니다. 모든 사진의 최적값은 아닙니다.
비교 전 원본 · 꽃 장식과 얼굴 보정의 출발점입니다.
비교 전 원본 · 꽃 장식과 얼굴 보정의 출발점입니다. 그림을 누르면 큰 화면으로 열립니다.
선택 D · 1.00 / 0.40. 전체 사진에서도 꽃·얼굴·합성 경계를 봅니다.
선택 D · 1.00 / 0.40. 전체 사진에서도 꽃·얼굴·합성 경계를 봅니다. 그림을 누르면 큰 화면으로 열립니다.
원본 얼굴과 꽃 위치도 같은 크기로 보기
보정 전 얼굴 · XY 표와 같은 좌표입니다.
보정 전 얼굴 · XY 표와 같은 좌표입니다. 그림을 누르면 큰 화면으로 열립니다.
장식 전 코트 · 마스크 안의 단추 일부도 장식으로 바뀝니다.
장식 전 코트 · 마스크 안의 단추 일부도 장식으로 바뀝니다. 그림을 누르면 큰 화면으로 열립니다.

얼굴이 매끈하거나 진해졌다는 이유만으로 개선이라고 판단하지 않습니다. 원래 인상에 더 가까운 것이 목표라면 B나 얼굴 보정 전 중간 결과를 선택할 수 있습니다.

중간 결과로 원인 구별하기

각 열의 인페인트 중간 결과는 Y를 바꿔도 같습니다. 아래는 얼굴 보정 전 PNG입니다. 꽃부터 판단하고, 그다음 같은 칸의 final과 얼굴을 비교하세요.

X · 인페인트중간 PNG의미
0.85ch29-i085-inpaint.png (ZIP) 꽃잎이 가는 형태인 이유는 첫 단계에서 찾아야 합니다.
1.00ch29-i100-inpaint.png (ZIP) 이 열은 같은 꽃을 가진 중간 사진으로 얼굴 보정을 시작합니다.
처리된 코트 마스크 · 흰 곳은 수정, 검정은 보존, 회색은 경계입니다.
처리된 코트 마스크 · 흰 곳은 수정, 검정은 보존, 회색은 경계입니다. 그림을 누르면 큰 화면으로 열립니다.
얼굴 검출 마스크 · 검출한 얼굴 영역입니다. 합성 가장자리에는 부드러운 경계가 추가됩니다.
얼굴 검출 마스크 · 검출한 얼굴 영역입니다. 합성 가장자리에는 부드러운 경계가 추가됩니다. 그림을 누르면 큰 화면으로 열립니다.

원본의 두 수정 영역에서 멀리 떨어진 곳도 확인합니다. Y만 바꿨는데 꽃이 바뀌면 입력·seed·연결이나 파일 선택부터 확인하세요. 반대로 X를 바꾸면 디테일러가 받는 사진도 바뀌므로, 같은 Y라도 얼굴이 반드시 픽셀까지 같아지는 것은 아닙니다.

E. 선택한 조합 저장하고 다시 사용하기

  1. 선택 D를 다시 쓰려면 ch29-i100-d040.json을 보관합니다. 자신이 값을 조절했다면 그래프 → 내보내기로 ch29-my-selected.json을 저장합니다. 비교표 PNG와 실행 가능한 JSON은 서로 다른 파일입니다.
  2. 다시 열 때 Ctrl+O로 JSON을 열고 원본·마스크·모델을 선택합니다. X 1.00 / Y 0.40, 두 seed fixed, 배치 1을 유지해 실행합니다. 완성 결과를 새 입력으로 넣어 보정을 누적하지 않습니다.
  3. 다른 사진을 사용할 때는 25장처럼 마스크·자르기 좌표·합성 위치를 먼저 맞춥니다. 그 사진에서 쓸 값을 두 개씩 정해 작은 2×2부터 비교합니다. 사진과 문장을 바꾸었다면 이번 선택값을 그대로 정답으로 취급하지 않습니다.

보관용 2×2 비교표 PNG (ZIP) 와 선택 D의 일반 JSON (ZIP) 을 제공합니다. 비교표는 결과를 고르는 자료이고, 실제 재실행에는 선택한 칸의 JSON과 입력 두 개가 필요합니다.

선택 실습 · 3×3으로 범위 넓혀 보기

기본 네 칸을 마친 뒤 진행합니다. X에 0.60, Y에 0.60을 추가하면 전체는 3×3 = 9칸입니다. 이미 만든 기본 네 칸을 그대로 두면 새로 만들 것은 다섯 칸입니다. 문장·두 seed·마스크·노드 연결은 계속 유지합니다.

실제로 실행한 3×3 비교표 · X 0.60 / 0.85 / 1.00, Y 0.20 / 0.40 / 0.60. 꽃 형태가 부족한 왼쪽 열을 별도로 표시했습니다.
실제로 실행한 3×3 비교표 · X 0.60 / 0.85 / 1.00, Y 0.20 / 0.40 / 0.60. 꽃 형태가 부족한 왼쪽 열을 별도로 표시했습니다. 그림을 누르면 큰 화면으로 열립니다.

Y 0.60 행은 입가·볼과 인상이 더 달라지는 대조입니다. 높은 값이 항상 더 좋은 얼굴을 뜻하지 않습니다. 얼굴 변화가 과하면 X를 유지하고 Y만 낮춰 다시 봅니다. 0.85의 가는 꽃이나 0.60의 미완성 꽃을 얼굴 강도로 해결하려 하지 않습니다. 3×3 비교표 PNG (ZIP)

9칸도 읽기 어렵다면 범위를 무작정 늘리지 말고, 마음에 드는 두 값 주변을 새 2×2로 좁혀 보세요. 예를 들어 D 주변에서 X 0.90 / 1.00, Y 0.30 / 0.40을 정할 수 있습니다. 이는 다음 비교 범위를 정하는 예시이며 이 장에 그 조합의 생성 결과를 제공하는 것은 아닙니다.

선택 개념 · 자동 XY Plot과 무엇이 다른가요?

자동 XY Plot은 정한 값들을 반복 적용하고 결과를 표로 묶는 기능을 뜻합니다. 제공하는 노드 팩마다 지원하는 값과 연결이 다르므로, KSampler의 denoise와 FaceDetailer의 denoise를 각각 바꿀 수 있는지 확인해야 합니다. 같은 설정에서 배치만 9로 늘리는 것은 두 축 비교가 아닙니다.

이 장은 전용 자동 XY 노드를 사용하지 않습니다. 각 칸의 일반 JSON을 실행하고 결과를 수동으로 정한 행·열에 배열합니다. 추가 설치 없이 2×2·3×3을 읽고 선택하는 방법을 익힌 뒤, 자동화를 사용하더라도 축 라벨·실제 값·두 seed가 같은 원칙을 따르는지 확인하세요.

4. 정상 결과 확인

확인할 것완성 기준
칸의 수와 위치기본 2×2 네 칸이 모두 있고 A·B / C·D가 해당 X·Y 값과 맞습니다.
공정한 비교두 denoise와 저장 이름 외에는 같은 원본·마스크·두 seed·문장·모델·연결을 사용합니다.
출력 단계네 칸 모두 final입니다. 중간 사진이나 검출 마스크를 최종 결과 칸에 섞지 않습니다.
꽃·얼굴 판단가로로 꽃, 세로로 얼굴을 보고 선택 이유를 설명할 수 있습니다. 생성 완료와 목표 달성을 구분합니다.
전체 사진선택 결과에 꽃과 얼굴 보정이 함께 있고, 주변 코트·배경과 합성 경계가 자연스럽습니다.
다시 사용선택한 칸의 일반 JSON과 원본·마스크 PNG를 함께 보관해 같은 설정으로 열 수 있습니다.

기본 네 칸과 선택 다섯 칸은 모두 실제 실행한 결과입니다. 같은 X 열의 중간 사진은 Y가 달라도 RGB 픽셀이 같았고, 얼굴 보정 단계에서 꽃 부분은 유지됐습니다. 선택 D를 일반 JSON으로 다시 열어 실행한 중간·최종 결과도 이 장의 D와 RGB가 같았습니다. 이 결과가 다른 사진에서도 같은 최적값을 보장하지는 않습니다.

5. 자주 생기는 문제

증상원인·다음 행동
어느 축이 어느 강도인지 헷갈려요가로 X는 첫 KSampler, 세로 Y는 FaceDetailer입니다. 파일명 i는 인페인트, d는 디테일러입니다. 원본 사진의 x/y 좌표와 구별하세요.
C를 만들었는데 D와 같아요B 다음에는 X를 1.00에서 0.85로 되돌려야 C입니다. 제공 C JSON을 다시 열어 두 값을 확인합니다.
각 칸이 너무 제각각이에요두 seed가 fixed인지, 원본·마스크·문장·모델이 같은지 확인합니다. 최종 결과를 다음 원본으로 넣지 않습니다.
꽃은 없는데 얼굴만 달라져요중간 인페인트 PNG부터 봅니다. 이 예제의 X 0.60처럼 새 꽃이 충분히 생기지 않았다면 X를 바꿔 비교합니다. Y를 높여 코트를 고치지 않습니다.
얼굴이 너무 달라졌어요꽃이 좋은 X는 유지하고 Y만 낮춥니다. 원래 인상 보존이 더 중요하면 0.20이나 얼굴 보정 전 사진도 선택지입니다.
Y만 바꿨는데 꽃도 달라져요같은 X의 중간 사진과 두 seed, 입력 파일을 확인합니다. FaceDetailer image가 인페인트 합성 결과를 받고 있는지도 봅니다. 이번 제공 조합에서는 꽃 영역이 유지됩니다.
XY 노드가 없어요이 장은 XY 전용 노드를 사용하지 않습니다. 제공 JSON 한 개는 표의 한 칸을 실행합니다. 네 칸은 네 파일을 차례로 실행하면 됩니다.
비교표 PNG를 넣었더니 실행이 안 돼요비교표는 여러 결과를 배열한 보기 자료입니다. 워크플로 복원에는 선택한 칸의 일반 JSON을 Ctrl+O로 엽니다.
마스크가 하얗게 보여요원본 마스크는 투명도로 범위를 저장합니다. LoadImage의 MASK 출력을 쓰고 PNG 투명도를 유지합니다. 본문의 처리된 흑백 마스크와 혼동하지 않습니다.
일부 단계가 빠르게 지나가요바뀌지 않은 앞 단계 계산을 재사용할 수 있습니다. 같은 X에서 Y만 바꿨다면 인페인트 결과 재사용은 정상입니다. 속도 때문에 seed를 임의로 바꾸지 않습니다.
파일이 많아 어느 결과인지 모르겠어요i값-d값과 final 접미사를 먼저 봅니다. 실행 중인 작업이 끝난 뒤 다음 칸을 진행하고, 같은 조건을 반복했다면 저장 번호만 다른 파일인지 구별합니다.
다른 사진에서 꽃 위치가 틀어져요제공 마스크·크롭·합성 좌표는 이 사진용입니다. 25장에서 새 사진에 맞게 영역을 먼저 설정한 다음 XY 비교를 시작합니다.

기능과 연결을 다시 확인하려면 22장 인페인트 · 24장 디테일러 · 25장 두 단계 연결을 참고하세요. 이 장은 두 강도를 비교하고 선택한 작업을 보관하는 단계입니다.

준비 단계에서 PC 정보가 헷갈린다면 GPU·메모리 등 내 컴퓨터 사양 확인 방법을 함께 참고하세요. 이 장의 결과와 작업 JSON을 보관한 뒤 다음 실습으로 넘어가면 다시 비교하기 쉽습니다.