![ComfyUI Face Detailer을 이용한 얼굴 보정 워크플로우](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FP6FXD%2FbtsHp2vwSzg%2FIsuxgcUlzDrtAV5pQ9kHA0%2Fimg.png)
안녕하세요, SDmaster입니다. 오늘 포스팅할 글은 ComfyUI로 이미지에 있는 얼굴 영역만 보정하는 워크플로우를 뜯어보겠습니다.
기본적인 워크플로우로 이미지 생성을 했을 때 특히 얼굴쪽을 보정하고 싶은 경우에 사용하는 워크플로우 입니다.
이전 포스팅 ComfyUI Face Detailer 파라미터 뜯어보기 (feat.Impact Pack)에서 Face Detailer에서 대해 먼저 읽어 보시는걸 추천드립니다.
ComfyUI Face Detailer 파라미터 뜯어보기 (feat.Impact Pack)
안녕하세요, SDmaster 입니다. 이미지 생성형 AI로 이미지를 생성할 때 마음에 들지 않는 부분이나 특정 부분만 퀄리티를 높이고 싶은 경험을 해보신 적이 많으실 겁니다. 앞서 작성한 글 중 Inpaint
generative-ai-everything.tistory.com
얼굴 보정 워크플로우
전체적인 워크플로우 모습입니다. FaceDetailer를 제회한 처음보는 custom node들이 몇개 보이네요. 그러한 node들도 대략적인 설명과 함께 뜯어보겠습니다.
전체적인 워크플로우의 흐름을 설명해드리면
체크 포인트 모델 로드 → 로드 이미지 → 태거 추출 → IPAdapter FaceID + IPAdapter Unified Loader FaceID→ UltralyticsDetertorProivder + SamLoader → FaceDetailer → Color Match → Preview Image
입니다. 이제 node의 관계를 뜯어보며 하나씩 설명해보겠습니다.
Load Checkpoint & Load Image node
우선적으로 모델을 불러오기 위한 필수 node인 Load Checkpoint node와 얼굴을 보정이 필요한 참조 사진을 불러오기 위해 Load Image node를 생성합니다.
CLIP Text Encode & WD14 Tagger node
그리고 프롬프트를 작성하게 해줄 CLIP Text Encode node를 기본적인 워크플로우에서와 마찬가지로 positive와 negative에 연결해주기 위해 2개를 불러옵니다. 그리고 각각 Load Checkpoint node에 연결합니다.
밑에 WD14 Tagger란 node가 생소하실 수 있는데 역할은 참조 이미지에서 프롬프트를 추출하는 역할을 합니다.
우리는 참조 이미지와 똑같지만 얼굴만 보정하기 원하기 때문에 프롬프트를 그대로 사용하는 것이 중요한데,
그것을 위해 사용되는 node라고 보시면 됩니다.
WD14 Tagger node는 위 positive에 연결해줄 CLIP node와 연결시켜 연동시킵니다.
IPAdapter FaceID node
다음으로는 참조 이미지의 얼굴을 바꾸기 위한 node로 IPAdapter FaceID node를 불러옵니다.
IPAdapter를 이용하면 참조 이미지의 스타일, 구도, 얼굴 등 다양하게 복제해서 사용가능하게 해주는 역할을 합니다.
특히 IPAdapter 중에서도 IPAdapter FaceID node는 얼굴을 복제할때 주로 사용됩니다.
좌측 model 엣지는 Load Checkpoint의 MODEL엣지와 연결하여 불러오고 싶은 모델을 사용하시면 되고
우측 MODEL 엣지는 FaceDetailer node에 연결해주시면 됩니다.
IPAdapter를 사용하려면 특정 model이 필요한데 그 model을 불러와주는 node가 IPAdapter Unified Loader FaceID node 입니다. 위 IPAdapter FaceID node에서 ipadapter 엣지와 연결해서 사용하시면 됩니다.
원래 clip_vision 이나 insightcafe의 엣지와 연결해줄 node들도 필요한데 이번에 새롭게 패치되면서 통합된 node인
IPAdapter Unified Loader FaceID node가 나오면서 간편해졌습니다.
IPAdapter node는 중요하기 때문에 추후 포스팅에서 더 자세히 다루겠습니다.
UltralyticsDetertorProivder & SamLoader node
FaceDetailer 파라미터 뜯어보기 포스팅에서 다뤘던 node입니다. 두 node는 특정 부분을 감지하는 역할을 합니다.
이번엔 segm/face_yolov8m을 통해 얼굴영역을 감지하도록 설정했습니다. UltralyticsDetertorProivder의 두 엣지인 BBOX_DETERCTOR와 SEGM_DETECTOR는 FaceDetail node에서 각각 상응하는 엣지에 연결해주시면 됩니다.
FaceDetailer & Color Match node
복제한 얼굴 영역과 감지된 부분을 수정하기 위해 필요한 FaceDetailer node 입니다.(FaceDetail node 같은 경우엔 이전 포스팅에서 자세하게 다뤘기 때문에 설명은 생략하겠습니다)
image 엣지는 참조 이미지에서 받아오며 model 엣지는 IPAdapter에서 받아옵니다.
얼굴 부분의 보정 강도를 조절하려면 체크 포인트 모델을 바꿔보거나 sampler_name, scheduler 파라미터를 수정해보시기 바랍니다.( 혹은 denoise 값을 수정해 잡음 제어를 통해 조절할 수도 있습니다.)
우측에 Color Match node는 보정할때 색상에 관한 부분을 그대로 전송하기 위한 역할을 합니다.
현재 저의 참조 이미지에는 없어도 차이가 많이 나지 않지만 추후 다른 이미지를 사용하실때 혹시 모를 경우를 대비해 추가된 node입니다.
보정 전후 비교
해당 워크플로우를 이용해 얼굴부분만 추출 후 보정된 비교 사진입니다.
체크포인트 모델은 majicmixRealistic을 사용했는데 확실히 체크포인트 모델에 따라가려는 경향이 많이 보이는 것 같습니다. 비교를 확실하게 하기 위해서 강도를 세게 하다보니 보정 사진이 거의 faceswap이 된 것 같습니다.
여러분들은 FaceDetailer node의 파라미터를 바꿔가며 보정의 강도를 조정해보시기 바랍니다.
이번 워크플로우가 필요하신분은 댓글에 비밀글로 메일주소를 남겨주세요:)
'ComfyUI > Workflow 뜯어보기' 카테고리의 다른 글
AI가 그린 어색한 손들 ComfyUI로 고쳐보기(feat.MeshGraphormer) (2) | 2024.05.22 |
---|---|
ComfyUI에서 ControlNet의 모든것(Open pose, Cany, Tile...) (0) | 2024.05.17 |
ComfyUI Face Detailer 파라미터 뜯어보기 (feat.Impact Pack) (0) | 2024.05.09 |
ComfyUI 인페인트(Inpaint)로 원하는 부분 수정하기 (0) | 2024.04.29 |
ComfyUI 기본 개념과 워크 플로우 뜯어보기 (3) | 2024.04.25 |
생성형 이미지 AI 중 스테이블 디퓨전에 관한 내용을 주로 다룹니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!