ComfyUI FaceDetailer 사용법|얼굴 검출·보정·강도 비교

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

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

작게 나온 얼굴의 눈·입 표현을 다듬고, denoise에 따른 변화와 얼굴 주변의 보존 범위를 비교합니다.

1. 만들 결과

23장은 얼굴의 위치를 찾는 준비였습니다. 이번에는 찾은 얼굴을 실제로 다시 그립니다. 전체 사진에서 작게 나온 얼굴의 눈·입 표현을 정돈하면서 시선·머리 모양·옷·배경이 불필요하게 바뀌지 않는 결과를 고릅니다.

보정 전 · SDXL Base로 생성한 가상 성인의 전신 사진. 얼굴은 전체 사진에서 작은 부분을 차지합니다.
보정 전 · SDXL Base로 생성한 가상 성인의 전신 사진. 얼굴은 전체 사진에서 작은 부분을 차지합니다. 그림을 누르면 큰 화면으로 열립니다.
기본 결과 · FaceDetailer denoise 0.40. 원본 크기 832×1216을 유지한 실제 출력입니다.
기본 결과 · FaceDetailer denoise 0.40. 원본 크기 832×1216을 유지한 실제 출력입니다. 그림을 누르면 큰 화면으로 열립니다.
보정 전 얼굴 · 눈 주변의 강한 밝은 점과 입술의 거친 경계를 봅니다.
보정 전 얼굴 · 눈 주변의 강한 밝은 점과 입술의 거친 경계를 봅니다. 그림을 누르면 큰 화면으로 열립니다.
0.40 얼굴 · 눈 주변과 입술선이 정돈된 기본 선택. 얼굴 형태가 완전히 고정되는 작업은 아닙니다.
0.40 얼굴 · 눈 주변과 입술선이 정돈된 기본 선택. 얼굴 형태가 완전히 고정되는 작업은 아닙니다. 그림을 누르면 큰 화면으로 열립니다.

얼굴 비교는 각 전체 결과의 동일한 좌표를 잘라 확대 표시한 것입니다. 확대 표시 자체가 새로운 세부 정보를 만든 것은 아닙니다. 코트 주름이나 부츠를 고치는 실습도 아닙니다. 원본의 눈 주변·입술 표현과 비교해 얼굴 보정의 효과를 판단합니다.

설명용 흐름도
원본 사진 → 얼굴 위치 검출 → 주변과 함께 잘라 확대 → 얼굴 부분 재생성 → 원래 위치에 부드럽게 합성

FaceDetailer(얼굴 디테일러)는 이 흐름을 한 노드에서 처리합니다. 단순 선명도 필터와 달리 생성 모델이 얼굴의 세부 표현을 새로 계산합니다. denoise는 그때 원본에서 벗어날 여지를 조절하는 값입니다. 낮으면 원본의 영향이 크고, 높으면 눈·입 모양이나 표정까지 더 바뀔 수 있습니다.

2. 준비물

23장의 Impact Pack·Impact Subpack·face_yolov8m.pt와 기존 SDXL Base를 그대로 사용합니다. 추가 설치·모델 다운로드는 필요 없습니다. 노드가 없다면 23장 설치·누락 해결을 먼저 진행합니다. SAM·SAM2·LoRA는 이번 기본 실습에 연결하지 않습니다.

모델공식 파일·다운로드 위치설치 폴더 안에 넣을 곳선택할 노드처음 사용
SDXL Base 1.0sd_xl_base_1.0.safetensorsComfyUI\models\checkpoints체크포인트 로드4장
얼굴 BBOX 검출 모델face_yolov8m.ptComfyUI\models\ultralytics/bboxUltralyticsDetectorProvider → bbox/face_yolov8m.pt23장
기본 실습 파일둘 곳·역할
ch24-detailer.json (ZIP) 일반 워크플로 JSON. 노드·문장·설정·연결이 들어 있으며 실습 폴더에 보관합니다.
ch24-input.png (ZIP) 보정 전 원본. ComfyUI/input에 둡니다. 비교 실험도 항상 이 파일에서 출발합니다.
  1. 탐색기 한 창에서 ComfyUI/input을 먼저 엽니다. 다른 창에서 받은 ch24-input.png를 복사해 붙여 넣습니다. 파일을 복사한 뒤 경로 문자열을 다시 복사하지 않습니다.
  2. ComfyUI 화면을 이미 열어 두었다면 현재 작업을 저장한 뒤 F5로 새로고침합니다. 새 PNG가 파일 목록에 반영됩니다. 이후 JSON을 열고 모델·입력을 선택합니다.

JSON은 작업 구성이며 모델과 입력 PNG를 모두 포함하는 파일은 아닙니다. 링크가 글자로 열리면 오른쪽 클릭 → 다른 이름으로 링크 저장으로 .json 확장자를 유지합니다.

3. 따라 하기

A. 기본값으로 얼굴 한 번 보정하기

  1. Ctrl+O로 ch24-detailer.json을 엽니다. 아래쪽 보기 맞춤으로 전체 위치를 보고, 줌 컨트롤에서 배율을 올려 값을 읽습니다. 긴 디테일러 노드가 있으므로 모든 글씨를 한 화면에 넣으려고 너무 축소하지 않습니다.
  2. 01 입력·생성 모델에서 SDXL Base · 생성 모델은 sd_xl_base_1.0.safetensors, 보정할 원본은 ch24-input.png로 선택합니다. 파일 목록에 없다면 원본 노드의 업로드할 파일 선택으로 받은 PNG를 지정합니다.
  3. 02 문장·검출 모델에서 얼굴 검출 모델의 model_name을 bbox/face_yolov8m.pt로 둡니다. 긍정 문장은 자연스러운 눈, 짙은 갈색 머리, 차분한 표정과 닫힌 입을 요청합니다. 부정 문장은 뒤틀린 눈, 어긋난 눈동자, 과한 화장 등을 피하도록 요청합니다. 기본 실습에서는 JSON의 문장을 그대로 둡니다.
  4. 03 얼굴 부분 생성 → 얼굴 디테일러 · denoise에서 노이즈 제거량(denoise)을 0.40으로 둡니다. 숫자를 두 번 클릭해 입력한 뒤 Enter를 누릅니다. seed 2026102401, 생성 후 제어 fixed, steps 24, CFG 5, sampler dpmpp_2m, scheduler karras를 유지합니다.
  5. 같은 노드의 bbox 감지 임계치는 0.50, bbox 확장은 8, bbox 자르기 배율은 3.0입니다. 가이드 크기 512, 가이드 크기 대상 bbox, 최대 크기 1024, 가장자리 흐림 10도 유지합니다. 나머지는 아래 표처럼 제공 JSON의 값으로 둡니다.
  6. 상단 배치 수 1에서 실행을 한 번 누릅니다. 04 최종 결과 → 최종 얼굴 보정 저장에 인물 사진이 나오면 열어 얼굴을 비교합니다. 완성 파일은 ComfyUI/output/guide/ch24_d040_…png입니다. 오른쪽 검정·흰색 그림은 검출 확인용이며 완성 사진과 다릅니다.
제공 JSON을 실제 ComfyUI에서 불러와 재실행한 화면 · 노이즈 제거량 0.40, 최종 사진, 얼굴 검출 마스크를 함께 보여줍니다.
제공 JSON을 실제 ComfyUI에서 불러와 재실행한 화면 · 노이즈 제거량 0.40, 최종 사진, 얼굴 검출 마스크를 함께 보여줍니다. 그림을 누르면 큰 화면으로 열립니다.
그대로 둘 항목기본값·역할
노이즈 마스크 사용 · noise_maskenabled. 생성할 때 검출한 얼굴 마스크를 사용합니다.
인페인트 강제 적용 · force_inpaintenabled. 크기를 기준으로 보정을 생략하는 것을 막습니다. denoise를 높이는 기능은 아닙니다.
cycle1. 검출된 부분에 재생성을 한 번 적용합니다. 기본 실습에서 횟수를 늘리지 않습니다.
인페인트 모델 · inpaint_modeldisabled. 이번 생성 모델은 일반 SDXL Base이며 전용 인페인트 체크포인트를 사용하지 않습니다.
noise_mask_feather20. 생성 과정의 노이즈 마스크 경계를 다룹니다. 최종 합성 경계를 섞는 feather 10과 별개의 값입니다.
SAM·segm·hook 입력, wildcard추가 입력 선은 연결하지 않고 wildcard 칸은 비웁니다. sam_으로 시작하는 숫자가 보여도 SAM 모델을 연결하지 않은 이번 경로에는 사용하지 않습니다.
타일 인코드·디코드tiled_encode / tiled_decode 모두 disabled. 기본 JSON 그대로 둡니다.
현재 JSON의 전체 설정·프롬프트·노드 연결
설정할 노드입력값
보정할 원본 · 입력 사진입력 파일 = ch24-input.png
SDXL Base · 생성 모델체크포인트 = sd_xl_base_1.0.safetensors
얼굴 검출 모델model_name = bbox/face_yolov8m.pt
얼굴 디테일러 · denoiseguide_size = 512
guide_size_for = true
max_size = 1024
seed = 2026102401
생성 후 제어 = 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
최종 얼굴 보정 저장 · ch24_d040파일명 접두사 = guide/ch24_d040
확인용 · 검출 마스크 · ch24_d040_mask파일명 접두사 = guide/ch24_d040_mask
입력할 프롬프트 전문

얼굴 묘사 · 긍정

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
현재 작업의 노드·연결 목록 · 노드 9개와 연결 12개

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

노드 역할검색할 기술 이름
보정할 원본 · 입력 사진LoadImage
SDXL Base · 생성 모델CheckpointLoaderSimple
얼굴 묘사 · 긍정CLIPTextEncode
피할 얼굴 표현 · 부정CLIPTextEncode
얼굴 검출 모델UltralyticsDetectorProvider
얼굴 디테일러 · denoiseFaceDetailer
최종 얼굴 보정 저장 · ch24_d040SaveImage
검출 범위 보기MaskToImage
확인용 · 검출 마스크 · ch24_d040_maskSaveImage
순서출발 출력도착 입력
1SDXL Base · 생성 모델
CLIP →
얼굴 묘사 · 긍정
clip
2SDXL Base · 생성 모델
CLIP →
피할 얼굴 표현 · 부정
clip
3보정할 원본 · 입력 사진
이미지 →
얼굴 디테일러 · denoise
이미지
4SDXL Base · 생성 모델
모델 →
얼굴 디테일러 · denoise
모델
5SDXL Base · 생성 모델
CLIP →
얼굴 디테일러 · denoise
clip
6SDXL Base · 생성 모델
VAE →
얼굴 디테일러 · denoise
vae
7얼굴 묘사 · 긍정
조건 →
얼굴 디테일러 · denoise
긍정
8피할 얼굴 표현 · 부정
조건 →
얼굴 디테일러 · denoise
부정
9얼굴 검출 모델
BBOX_DETECTOR →
얼굴 디테일러 · denoise
bbox_detector
10얼굴 디테일러 · denoise
이미지 →
최종 얼굴 보정 저장 · ch24_d040
이미지
11얼굴 디테일러 · denoise
마스크 →
검출 범위 보기
마스크
12검출 범위 보기
이미지 →
확인용 · 검출 마스크 · ch24_d040_mask
이미지

B. 무엇이 바뀌고 무엇이 유지되는지 보기

검출 모델은 얼굴 위치를 찾고, SDXL Base는 그 부분을 다시 그립니다. 둘의 역할이 다릅니다. SDXL 로더의 MODEL·CLIP·VAE와 문장 조건은 디테일러로 연결하고, 검출 모델의 BBOX_DETECTOR 출력은 디테일러의 bbox 감지기 입력으로 연결합니다.

디테일러 출력어디에 쓰나요?
image · 화면의 개선 이미지원래 사진 크기로 다시 합성한 최종 결과입니다. 최종 얼굴 보정 저장에 연결합니다.
cropped_refined / cropped_enhanced_alpha내부에서 보정한 잘린 부분과 투명도가 있는 부분 결과입니다. 이번 기본 실습에서는 저장하지 않습니다.
mask · 마스크검출 후 확장한 범위를 보여줍니다. 최종 feather를 적용하기 전의 마스크이므로 검정 영역 전체가 최종 합성에서 절대로 바뀌지 않는다는 뜻은 아닙니다.
확인용 · 실제 검출 마스크 보기
FaceDetailer의 실제 mask 출력 · 얼굴 한 곳이 선택되었습니다. 합성 경계의 흐림은 이 그림에 포함되지 않습니다.
FaceDetailer의 실제 mask 출력 · 얼굴 한 곳이 선택되었습니다. 합성 경계의 흐림은 이 그림에 포함되지 않습니다. 그림을 누르면 큰 화면으로 열립니다.

이번에는 SAM 없이 BBOX 마스크를 사용하므로 사각형이 정상입니다. feather는 이 마스크의 가장자리를 부드럽게 섞는 값입니다. 경계까지 포함한 보정 영역 주변을 확대해서 피부·머리·목이 자연스럽게 이어지는지 봅니다.

이 예제의 네 조건에서는 최종 합성 마스크의 영향이 없는 바깥 영역이 원본과 RGB 픽셀까지 같았습니다. 여기에는 코트의 몸통·부츠·멀리 떨어진 배경이 포함됩니다. 얼굴과 경계까지 원본과 같다는 뜻은 아닙니다. 디테일러는 얼굴을 새로 그리므로 눈 모양·입술선에는 변화가 남습니다.

선택 비교 1 · denoise만 0.20 → 0.40 → 0.60으로 바꾸기

기본 결과를 만든 뒤 진행합니다. 아래 작업은 모두 ch24-input.png에서 시작하며 모델·문장·seed·검출값·자르기 배율·연결이 같습니다. denoise 하나만 바꾸고 저장 이름을 구별했습니다. 앞서 보정한 결과를 다음 입력으로 넣지 마세요. 보정을 누적하면 이 비교와 조건이 달라집니다.

조건일반 워크플로이번 예제에서의 판단
0.20ch24-denoise-020.json (ZIP) 보수적 대안. 원래 화장·눈의 대비가 많이 남고 변화는 비교적 작습니다. 원래 인상 유지가 더 중요하면 먼저 살펴볼 값입니다.
0.40ch24-detailer.json (ZIP) 기본 선택. 눈 주변과 입술선이 정돈되고, 0.60보다 입가·표정 변화가 적습니다.
0.60ch24-denoise-060.json (ZIP) 변화가 큰 대조군. 볼·입가의 주름과 입 모양이 더 바뀌어 이번 인상 보존 목표에는 덜 맞습니다.
denoise 0.20 · 원래 얼굴의 대비와 인상이 더 많이 남는 선택.
denoise 0.20 · 원래 얼굴의 대비와 인상이 더 많이 남는 선택. 그림을 누르면 큰 화면으로 열립니다.
denoise 0.40 · 이 장의 기본 선택.
denoise 0.40 · 이 장의 기본 선택. 그림을 누르면 큰 화면으로 열립니다.
denoise 0.60 · 입가·표정 변화가 커진 비교 예제. 강도가 높다고 더 좋은 결과로 보지 않습니다.
denoise 0.60 · 입가·표정 변화가 커진 비교 예제. 강도가 높다고 더 좋은 결과로 보지 않습니다. 그림을 누르면 큰 화면으로 열립니다.

변화가 과할 때: 원래 ch24-input.png로 돌아가 기본 0.40 JSON을 엽니다. 그때도 눈·입 모양의 변화가 부담스럽다면 0.20 결과와 비교합니다. 이미 충분히 자연스러운 얼굴이라면 디테일러를 생략하는 선택도 가능합니다.

전체 크기로 보기: 0.20 전체 결과 (ZIP) · 0.60 전체 결과 (ZIP) . 각각 ch24_d020, ch24_d060 접두사로 저장됩니다. 눈동자·입술뿐 아니라 합성 경계와 전체 사진의 분위기도 함께 보세요.

선택 비교 2 · denoise는 유지하고 자르기 배율만 비교하기

bbox_crop_factor(화면의 bbox 자르기 배율)는 얼굴 주위에서 함께 잘라 볼 주변 범위입니다. bbox_dilation은 수정 마스크를 넓히는 값이므로 역할이 다릅니다. crop_factor를 크게 한다고 그 주변 전체가 최종 사진에서 수정되는 것은 아닙니다.

기본 0.40 / crop_factor 3.0과 아래 0.40 / crop_factor 2.0을 비교합니다. 두 파일은 자르기 배율과 저장 접두사만 다릅니다. 원본·denoise·seed·문장·검출값은 유지합니다.

조건JSON의미
기본 3.0ch24-detailer.json (ZIP) 얼굴 주변을 더 넓게 잘라 함께 봅니다.
비교 2.0ch24-crop-2.json (ZIP) 주변을 더 좁게 잘라 봅니다. 변경 범위를 두 배로 칠한다는 뜻은 아닙니다.
denoise 0.40 / 자르기 배율 3.0 · 기본.
denoise 0.40 / 자르기 배율 3.0 · 기본. 그림을 누르면 큰 화면으로 열립니다.
denoise 0.40 / 자르기 배율 2.0 · 같은 위치의 실제 결과.
denoise 0.40 / 자르기 배율 2.0 · 같은 위치의 실제 결과. 그림을 누르면 큰 화면으로 열립니다.

이번에는 두 조건 모두 얼굴이 검출됐고, 2.0에서 눈·입술의 표현이 조금 달라졌습니다. 검출 마스크 자체는 같았습니다. 배율을 낮추면 늘 좋아진다는 결과는 아닙니다. guide_size 512 / bbox는 얼굴 상자의 짧은 변을 확대할 기준이고, max_size 1024는 잘라 낸 작업 이미지의 긴 변 제한입니다. 주변 범위가 달라지면 이 제한 때문에 내부에서 얼굴을 처리하는 크기도 달라질 수 있습니다.

최종 출력 크기는 두 조건 모두 원본과 같은 832×1216입니다. 자르기 배율 2.0 전체 결과 (ZIP) 도 함께 비교하세요. 저장 접두사는 ch24_crop2입니다.

C. 다음에도 같은 작업으로 시작하기

  1. 기본 작업에서 그래프 → 내보내기로 ch24-my-detailer라는 이름의 일반 JSON을 보관합니다. 입력 PNG도 함께 보관합니다.
  2. 다음에는 Ctrl+O로 JSON을 열고 원본·생성 모델·검출 모델을 선택합니다. 처음에는 한 번만 보정하고 결과를 확대해 봅니다. 다른 얼굴에 적용할 때는 원본을 유지한 채 denoise를 한 값씩 바꾸세요.
선택 · 이 장의 입력 원본도 직접 생성하기

기본 실습에서는 제공된 PNG를 사용하면 됩니다. 원본 장면을 만들어 보고 싶다면 아래 별도 작업을 엽니다. 이 작업은 기본 노드와 SDXL Base로 전신 사진을 생성하며 FaceDetailer가 들어 있지 않습니다.

ch24-source.json (ZIP)

seed 20261024 / 832×1216 / 28 steps / CFG 6 / dpmpp_2m / karras입니다. 저장 접두사는 guide/ch24_input입니다. 생성된 파일을 input에 복사하고 디테일러 작업의 보정할 원본에서 그 파일을 직접 선택합니다. 기본 비교를 그대로 따라갈 때는 제공한 ch24-input.png를 유지합니다.

설정할 노드입력값
SDXL Base체크포인트 = sd_xl_base_1.0.safetensors
입력 이미지 크기너비 = 832
높이 = 1216
배치 크기 = 1
입력 생성seed = 20261024
생성 후 제어 = fixed
steps = 28
CFG = 6.0
sampler = dpmpp_2m
scheduler = karras
denoise = 1.0
입력 원본 저장 · ch24_input파일명 접두사 = guide/ch24_input
입력할 프롬프트 전문

입력 장면 · 긍정

full body photograph of one adult woman, standing facing the camera, long dark brown hair, calm neutral expression, closed mouth, wearing a plain beige trench coat, hands inside coat pockets, dark trousers, brown boots, simple gray studio background, soft natural light, realistic photography

입력 장면 · 부정

text, watermark, logo, multiple people, extra limbs, malformed hands, distorted face, blurry face, low quality, open mouth
현재 작업의 노드·연결 목록 · 노드 7개와 연결 9개

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

노드 역할검색할 기술 이름
SDXL BaseCheckpointLoaderSimple
입력 장면 · 긍정CLIPTextEncode
입력 장면 · 부정CLIPTextEncode
입력 이미지 크기EmptyLatentImage
입력 생성KSampler
그림으로 복원VAEDecode
입력 원본 저장 · ch24_inputSaveImage
순서출발 출력도착 입력
1SDXL Base
CLIP →
입력 장면 · 긍정
clip
2SDXL Base
CLIP →
입력 장면 · 부정
clip
3SDXL Base
모델 →
입력 생성
모델
4입력 장면 · 긍정
조건 →
입력 생성
긍정
5입력 장면 · 부정
조건 →
입력 생성
부정
6입력 이미지 크기
잠재 데이터 →
입력 생성
잠재 입력
7입력 생성
잠재 데이터 →
그림으로 복원
잠재 데이터
8SDXL Base
VAE →
그림으로 복원
vae
9그림으로 복원
이미지 →
입력 원본 저장 · ch24_input
이미지

4. 정상 결과 확인

확인할 곳완성 기준
검출과 실행확인용 마스크에 얼굴 한 곳이 흰색으로 표시되고 최종 사진도 저장됩니다. 검출만 됐다고 얼굴 품질까지 좋아졌다고 판단하지 않습니다.
눈·입눈동자 위치와 밝은 점이 부자연스럽지 않은지, 입술에 이중 선이나 뭉친 경계가 남지 않았는지 같은 크기로 비교합니다.
인상·표정큰 시선 방향과 차분한 표정이 유지되는지 봅니다. 다른 얼굴처럼 느껴지면 강도를 낮추거나 원본을 선택합니다.
합성 경계·주변피부와 머리·목 사이에 네모 테두리나 색 띠가 생기지 않았는지 확인합니다. 옷·배경과 최종 이미지 크기도 원본과 비교합니다.
재사용JSON을 다시 열었을 때 ch24-input.png, 두 모델, denoise 0.40, seed와 fixed가 유지되어 실행할 수 있습니다.

세 denoise 조건과 자르기 배율 2.0 조건을 실제 재생성했습니다. 기본 일반 JSON도 ComfyUI 화면에서 열어 다시 계산했으며, 첫 0.40 결과와 RGB 픽셀이 같았습니다. 네 조건에서 최종 합성 영향 범위 밖 995,762픽셀이 원본과 같았습니다. 같은 seed가 다른 PC·버전에서도 동일 픽셀을 보장한다는 뜻은 아닙니다.

5. 자주 생기는 문제

증상원인 구별·해결
FaceDetailer / 검출 노드가 없다고 나옴23장의 Impact Pack·Impact Subpack 준비를 확인합니다. 노드 코드를 추가한 뒤에는 서버를 재시작해야 합니다.
입력 파일 누락 알림ch24-input.png를 input에 넣고 화면을 새로고침한 뒤 선택합니다. 또는 보정할 원본 노드에서 직접 업로드합니다. 결과 PNG를 원본으로 바꿔 넣지 않습니다.
마스크가 검고 얼굴도 그대로임검출 실패일 수 있습니다. bbox_threshold는 보정 강도가 아닌 검출 문턱값입니다. 제공 입력에서 0.99로 올렸을 때는 얼굴을 못 찾고 원본이 그대로 반환됐습니다. 기본 0.50로 되돌리고 face_yolov8m.pt 선택을 확인합니다.
다른 사진의 작은 얼굴을 못 찾음bbox_threshold를 너무 높이지 않았는지, drop_size가 작은 검출을 제외하고 있지 않은지 봅니다. 기본은 0.50 / 10입니다. 임계값을 낮출 때는 얼굴 아닌 부분의 오검출도 함께 확인합니다.
얼굴이 달라지거나 표정이 과하게 바뀜같은 원본에서 denoise를 낮춰 비교하고 cycle은 1로 둡니다. 보정한 결과를 다시 입력해 반복하면 변화가 누적됩니다. 얼굴 묘사 문장도 원본과 충돌하지 않는지 봅니다.
피부가 매끈해지거나 원래 특징이 사라짐재생성으로 생긴 변화일 수 있습니다. 강도를 낮추거나 원본을 선택합니다. 선명해 보인다는 이유만으로 원래 인상의 손실을 무시하지 않습니다.
네모난 경계나 색 띠가 보임feather는 최종 합성 경계, bbox_dilation은 수정 범위, crop_factor는 함께 볼 주변 범위입니다. 먼저 제공 기본값 10 / 8 / 3.0으로 돌아간 뒤 원인을 하나씩 구별합니다.
자르기 배율을 바꾸자 얼굴 표현도 달라짐함께 보는 주변과 내부 확대 크기가 달라질 수 있습니다. denoise를 유지해도 같은 얼굴 픽셀이 나오는 설정은 아닙니다. 선택 비교 2를 참고하세요.
최종 사진 대신 얼굴 조각만 저장됨디테일러의 첫 image 출력이 최종 얼굴 보정 저장으로 연결되는지 봅니다. cropped_refined 출력과 구별합니다.
얼굴이 여러 곳 바뀜이번 예제는 한 명입니다. 여러 얼굴이 있는 사진에서는 검출된 여러 곳을 보정할 수 있으므로, 한 사람만 지정하는 예제로 해석하지 않습니다.
GPU 메모리 부족우선 요청·배치를 1로 하고 불필요한 동시 GPU 작업을 정리합니다. max_size를 줄이면 내부 처리 크기와 결과가 달라지므로 새 결과를 다시 판단해야 합니다.
공식 참고 자료

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