brunch

You can make anything
by writing

C.S.Lewis

by 액션피규어랩 Sep 23. 2024

Lesson 11 - Face detailer

작은 인물의 얼굴 디테일을 높이자

쉽게 배우는 ComfyUI 기초

L1 - ComfyUI 소개, 설치

L2 - Text to Image

L3 - Latent Upscaling

L4 - Image to Image Painting

L5 - Image to Image Render_WD14

L6 - Model Switch and Masking

L7 - Live Model Merge

L8 - Using Loras

L9 - ControlNet

L10 - UltimateUpsacle

L11 - Faced etailer


Facedetailer는 ComfyUI에서 이미지를 생성할 때 얼굴 부분의 디테일을 크게 향상시켜주는 기능입니다. 이 기능은 특히 인물이 작게 표현되는 장면에서 얼굴의 세부 묘사가 부족하거나 흐릿할 때 사용되며, 이미지의 완성도를 높이는 데 매우 효과적입니다.

모델 정보 : YeFaMIX v3
프롬프트 : ((masterpiece, high quality, best quality, 8k, wallpaper, detailed, realistic)), woman, dynamic pose, earrings, wearing(bikini top, black sweatpants), pretty hands, fringe, full body,yellow sneakers, <lora:GoodHands:1>, simple black background ,<lora:Astraali_GRAFFITI:1>

1. Facedetailer의 역할과 중요성:

이미지 생성 과정에서 인물의 얼굴이 작은 크기로 표현되거나, 저해상도 업스케일링만으로는 디테일이 부족할 때, Facedetailer는 이러한 문제를 해결해 줍니다.

특히 전체적인 장면에서 얼굴이 작게 보이더라도, Facedetailer를 사용하면 얼굴 부분을 고해상도로 개선하여 훨씬 더 선명하고 현실적인 이미지를 얻을 수 있습니다.

이는 인물 사진뿐 아니라, 풍경이나 배경 속에 있는 작은 인물에도 디테일을 추가할 때 유용합니다.

모델 정보 : ReV Animated, 도시 배경에 작은 사람이 있는 경우 얼굴의 뭉개짐 발샘
프롬프트 : (best quality:1.2), (masterpiece), (high resolution), (realistic, photo-realistic:1.2),solo, 1girl, smiling, facing viewer, standing alone in a empty alley, sci-fi, cyberpunk megacity, Tokyo, neon signs, highly detailed, masterpiece


2. Facedetailer의 적용 과정:

초기 이미지 생성 및 업스케일링: 먼저 K 샘플러를 사용해 기본 이미지를 생성하고, Latent Upscaler를 통해 1.5배 또는 2배로 업스케일링합니다. 이 단계에서는 전체 이미지가 업스케일되지만, 얼굴 디테일이 여전히 부족할 수 있습니다.

Facedetailer 적용: 업스케일링된 이미지를 Facedetailer에 전달하면, 자동으로 이미지에서 얼굴을 감지하고 그 부분만 고해상도로 다시 렌더링합니다. 이때, 두 가지 모델인 YOLO V8과 SAM VitB 0.1이 사용됩니다.

YOLO V8: 이미지를 분석해 얼굴을 자동으로 감지합니다. 이는 인물의 얼굴 위치를 정확하게 파악하여 Facedetailer가 그 부분을 개선할 수 있도록 돕습니다.

SAM VitB 0.1: 감지된 얼굴 부분을 기반으로 고해상도로 업스케일링하며, 얼굴의 세부 묘사를 더욱 선명하게 만들어 줍니다.

(왼쪽) 원본 이미지, (가운데) 업스케일링(1.5값)된 이미지, (오른쪽) Facedetailer가 적용된 최종 이미지
이미지의 스케일이 커지면서 디테일이 올라간 부분도 있지만, Facedetailer를 통해서 얼굴의 디테일이 확실히 선명해진것을 볼수 있습니다.

3. Facedetailer의 노드 구성:

Facedetailer 노드를 적용할 때, "Ultra litic detector provider"와 "SAM model"을 정확하게 연결해야 합니다.

"Ultra litic detector provider"는 YOLO V8 모델을 불러와 얼굴 감지 기능을 제공합니다.

"SAM model"은 감지된 얼굴을 고해상도로 변환하는 데 사용됩니다.

이러한 연결을 통해, Facedetailer는 이미지 내 모든 얼굴을 자동으로 탐지하고 개선할 수 있습니다.

Facedetailer Node가 추가된 워크플로우

파일 경로 : \ComfyUI_windows_portable\ComfyUI\models\ultralytics\bbox\face_yolov8m.pt

파일 경로 : \ComfyUI_windows_portable\ComfyUI\models\sams\sam_vit_b_01ec64.pth

ImageBlend에 사용된 이미지

4. Facedetailer 활용 시 팁:

얼굴이 여러 개인 이미지에서도 모든 얼굴이 감지되어 각각 고해상도로 업스케일링되기 때문에, 단체 사진이나 여러 인물이 등장하는 장면에서도 효과적입니다.

Facedetailer는 이미 업스케일링된 이미지의 얼굴 부분만 다시 렌더링하기 때문에, 전체 이미지를 다시 생성할 필요 없이 시간과 리소스를 절약할 수 있습니다.

자동으로 생성된 마스크를 활용하여, 원하는 얼굴 부분만 선택적으로 적용할 수도 있습니다. 이는 다른 부분과의 차이를 더 조화롭게 만들 수 있는 유용한 기능입니다.

설정값은 수정하지 않았습니다


5. Facedetailer의 결과 비교:

Facedetailer를 적용하지 않은 업스케일된 이미지의 얼굴은 디테일이 부족하고 흐릿하지만, Facedetailer를 적용하면 표정, 눈, 입술, 피부 등의 디테일이 크게 향상됩니다.

특히, 먼 거리에서 작게 보이는 얼굴도 선명하게 표현할 수 있어, 전체 이미지의 품질이 한 단계 업그레이드됩니다.

Facedetailer는 ComfyUI에서 인물의 얼굴 디테일을 개선하는 데 최적화된 기능으로, 일반 업스케일링만으로는 얻기 어려운 세밀한 묘사를 가능하게 합니다.
이를 통해 이미지의 완성도를 높이고, 현실감 넘치는 결과물을 얻을 수 있어, 인물 사진이나 캐릭터 일러스트에 특히 효과적입니다.


참고 자료

* face_yolov8m.pt(https://huggingface.co/Bingsu/adetailer/tree/main)

*sam_vit_b_01ec64.pth(https://huggingface.co/datasets/Gourieff/ReActor/tree/main/models/sams)

*워크플로우:


매거진의 이전글 Lesson 10 - Ultimate Upsacle
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari