단체 사진 페이스 스왑(Face Swap): 대상 선택 및 크롭(Cropping)
요약
단체 사진에서 AI 페이스 스왑을 수행할 때 발생하는 얼굴 감지 및 선택 문제를 해결하기 위한 가이드입니다. 크롭(Cropping)을 활용하여 대상 인물을 격리하거나 맥락을 유지하며 정밀하게 제어하는 워크플로우를 제안합니다.
핵심 포인트
- 단체 사진은 크기, 각도, 조명 차이로 인해 페이스 스왑이 까다로움
- 정밀한 제어를 위해 가장 신뢰할 수 있는 도구는 크롭(Cropping)임
- 모델은 사람과 달리 픽셀, 선명도, 각도 등 데이터 패턴으로 얼굴을 감지함
- 단일 인물 대상 시 상반신 구도로 크롭하는 것이 품질이 가장 높음
- 그룹 맥락 유지가 필요할 경우 2단계 워크플로우(크롭 후 생성 및 재배치) 권장
단체 사진은 AI 페이스 스왑(face swap)에서 가장 어려운 입력값 중 하나입니다. 문제는 단순히 얼굴이 더 많다는 것만이 아닙니다. 각 얼굴은 서로 다른 크기, 각도, 표정, 조명 조건 및 가려짐(obstruction) 정도를 가질 수 있습니다. 또한 모델은 감지된 얼굴 중 어떤 얼굴에 참조 정체성(reference identity)을 적용해야 할지 결정해야 합니다.
현재의 페이스 스왑 워크플로우에서는 타겟 이미지를 업로드하고 내장된 얼굴 참조(face reference) 또는 허용된 사용자 정의 참조를 사용합니다. 정밀한 얼굴 개수 선택기는 존재하지 않습니다. 만약 특정 인물에 대한 제어가 중요하다면, 크롭(cropping)이 가장 신뢰할 수 있는 선택 도구입니다.
이 가이드는 장면의 불필요한 부분을 너무 많이 버리지 않으면서 단체 사진을 준비하는 방법을 설명합니다.
먼저 결과물에 무엇을 담고 싶은지 결정하세요
파일을 편집하기 전에, 의도한 결과를 한 문장으로 기술하십시오.
예시:
- "전체 그룹을 유지하되, 중앙에 서 있는 사람만 변형한다."
- "왼쪽에 있는 사람을 클로즈업한 밈(meme) 형태의 크롭 이미지를 만든다."
- "모든 명확하게 보이는 얼굴을 동일한 참조로 변형한다."
- "두 명은 유지하되, 작업 이미지에서 멀리 떨어진 배경의 군중은 제거한다."
이것들은 서로 다른 작업입니다. 단 한 번의 업로드로 이 모든 것을 항상 안정적으로 해결할 수는 없습니다.
만약 목표가 한 명의 인물이라면, 그 인물을 격리(isolate)시키십시오. 만약 그룹의 맥락이 필수적이라면, 얼굴 선택과 일관성(consistency)이 덜 예측 가능할 수 있음을 받아들여야 합니다. 가장 큰 얼굴, 왼쪽에서 첫 번째 사람, 또는 중앙의 얼굴이 항상 선택될 것이라고 가정하지 마십시오.
그룹 내에서 얼굴 감지(Face Detection)가 변화하는 방식
사람은 전경의 인물, 배경의 얼굴, 반사된 모습, 포스터, 그리고 부분적으로 보이는 머리를 즉각적으로 구분합니다. 반면 모델은 후보 얼굴 패턴(candidate facial patterns)을 봅니다.
감지는 다음과 같은 요소의 영향을 받을 수 있습니다:
- 픽셀 단위의 얼굴 크기;
- 선명도(sharpness) 및 대비(contrast);
- 얼굴이 얼마나 보이는지;
- 머리 각도;
- 이미지 가장자리로부터의 거리;
- 다른 사람과의 겹침(overlap);
- 얼굴이 화면, 거울 또는 포스터에 나타나는지 여부;
- 모델 제공업체에 의해 수행된 전처리(preprocessing).
작고 정면을 향하고 있는 배경의 얼굴이 때로는 더 크고 측면을 향한 전경(foreground)의 얼굴보다 감지하기 더 쉬울 수 있습니다. 이것이 바로 사람에게는 "명확한 피사체"가 시스템에게는 명확한 피사체가 아닐 수 있는 이유입니다.
세 가지 단체 사진 시나리오
시나리오 1: 의도한 인물은 한 명이며, 그룹 맥락이 필요하지 않은 경우
해당 인물을 중심으로 머리와 어깨 또는 상반신 구도로 사진을 크롭(crop)하세요. 이 방식이 가장 높은 제어력을 제공하며 일반적으로 가장 높은 출력 품질을 보여줍니다.
머리카락, 귀, 턱 주변에 충분한 공간을 남겨두세요. 얼굴 경계선을 따라 정확하게 크롭하지 마십시오. 모델이 가장자리를 블렌딩(blending)하고 장면의 빛을 보존하기 위해서는 주변 픽셀이 필요합니다.
시나리오 2: 의도한 인물은 한 명이며, 그룹 맥락이 유지되어야 하는 경우
변환하려는 의도가 없는 얼굴들도 감지 가능한 상태로 남아 있기 때문에 이 방식은 더 어렵습니다.
다음과 같은 2단계 워크플로(workflow)를 사용하세요:
- 의도한 인물과 충분한 주변 맥락을 포함하는 작업용 크롭(crop)을 만듭니다.
- 해당 크롭 내에서 얼굴 결과물을 생성하고 평가합니다.
- 권한과 편집 기술이 있다면, 일반 이미지 편집기를 사용하여 검토된 결과물을 원본의 복사본에 다시 배치합니다.
이 방식은 페이스 스왑(face-swap) 모델에게 그룹 전체를 이해하도록 요구하지 않고도 선택 제어권을 제공합니다. 최종 합성물은 여전히 가장자리, 조명 및 공개(disclosure)에 대한 주의 깊은 검토가 필요합니다. 허위 증거를 만들거나 시청자를 속이기 위해 이 방법을 사용하지 마십시오.
시나리오 3: 의도한 얼굴이 여러 명인 경우
더 많은 변동성을 예상해야 합니다. 각 대상 얼굴은 기하학적 구조(geometry), 포즈(pose), 빛이 다르기 때문에 동일한 참조(reference)라도 사람마다 다르게 보일 수 있습니다.
스타일화된 밈(meme)의 경우 변동성이 허용될 수 있습니다. 정교한 이미지를 원한다면 사람들을 별도의 크롭으로 처리하고 각 결과물을 검토하십시오. 그룹 단위의 단일 패스(pass)는 더 빠르지만, 어떤 얼굴이 어떻게 변하고 얼마나 일관되게 블렌딩되는지에 대한 제어력이 떨어집니다.
신뢰할 수 있는 크롭(Cropping) 워크플로
1단계: 원본 파일에서 시작하기
원본 사진을 사용할 수 있다면 스크린샷으로 시작하지 마세요. 스크린샷은 종종 해상도를 낮추고, 인터페이스 테두리를 추가하며, 추가적인 압축 사이클 (compression cycle)을 유발합니다.
원본을 복제하여 나중에 다시 사용할 수 있도록 하세요. 유일한 복사본 위에 반복해서 저장하지 마세요.
2단계: 감지 가능한 모든 얼굴 식별하기
의도한 대상 너머를 살펴보세요. 다음 사항들을 확인하십시오:
- 배경의 하객들;
- 프레임 밖에 부분적으로 걸쳐 있는 사람들;
- 휴대폰이나 모니터 속의 얼굴들;
- 거울과 창문;
- 포스터, 인쇄된 셔츠 또는 표지판;
- 텍스트나 스티커 뒤에 숨겨진 얼굴들.
원치 않는 얼굴이 여전히 식별 가능하다면, 해당 얼굴이 감지될 수 있다고 가정해야 합니다.
3단계: 의도한 대상 주변에 첫 번째 크롭(Crop) 그리기
근접 촬영(close) 결과물을 얻으려면 머리 전체, 목, 어깨, 그리고 약간의 배경을 포함하세요. 중간 크롭(medium crop)의 경우, 상체와 관련 객체들을 유지하세요.
다음 부위가 잘리지 않도록 주의하십시오:
- 헤어라인(hairline) 또는 머리 윗부분;
- 턱(chin or jaw);
- 귀;
- 얼굴을 만지고 있는 손;
- 다른 사람의 어깨가 겹쳐져 있어 그 겹침이 턱의 경계선을 정의하는 경우.
너무 타이트한 크롭은 얼굴 크기를 키울 수는 있지만 경계 정보(boundary information)를 손상시킬 수 있습니다. 목표는 가능한 가장 작은 직사각형을 만드는 것이 아니라, 가장 깨끗하고 유용한 컨텍스트(context)를 확보하는 것입니다.
4단계: 크롭 후 픽셀 디테일 확인하기
크롭을 하면 화면에서 얼굴이 더 커지지만, 실제 디테일이 추가되지는 않습니다. 크롭된 이미지를 100% 배율로 확인하세요. 눈과 입이 여전히 뭉개져(blocky) 보인다면, 원본으로 돌아가 다른 이미지를 선택하세요.
유용한 크롭은 대상이 모호하지 않게 만들면서도, 특징점의 경계(feature edges)를 보존할 수 있을 만큼 충분한 픽셀을 유지해야 합니다. 사진 품질 스코어카드 (photo quality scorecard)를 사용하여 원본과 크롭된 이미지를 비교해 보세요.
5단계: 참조(Reference) 일치시키기
내장된 참조(built-in reference)는 안정적인 기본 정체성을 제공하도록 설계되었습니다. 사용자 정의 참조(custom reference)를 업로드하는 경우, 반드시 한 사람만 선택하고 선명한 초상화를 사용하세요.
참조 이미지(reference image)로 단체 사진을 사용하지 마세요. 참조 이미지는 "어떤 정체성(identity)?"에 답해야 하며, 대상(target) 이미지는 "어떤 장면과 포즈(scene and pose)?"에 답해야 합니다. 두 이미지 모두에 여러 얼굴이 포함되어 있으면 두 가지 층위의 모호함이 발생합니다.
6단계: 한 번에 내보내기 (Export)
파일 크기가 중요하다면 일반 사진의 경우 JPG를 사용하고, 워크플로(workflow)에서 해당 형식이 필요한 경우에는 PNG 또는 WebP를 사용하세요. 품질은 높게 설정하되 과도하지 않게 조절하고, 저장 후 다시 여는 과정을 여러 번 반복하는 것은 피하세요.
현재 업로드 인터페이스에는 허용되는 형식과 파일 크기 제한이 표시됩니다. 대용량 카메라 원본 파일이 변함없이 그대로 업로드될 것이라고 가정하기보다는, 표시된 제한 사항을 따르세요.
7단계: 생성된 결과를 두 가지 스케일로 검사하기
일반적인 보기 크기에서는 의도한 인물이 바뀌었는지, 그리고 그룹 전체가 여전히 자연스럽게 보이는지 확인하세요.
100% 확대 상태에서는 다음 항목을 검사합니다:
- 눈과 안경;
- 헤어라인(hairline)과 귀;
- 주변 사람들과의 턱 중첩;
- 혼합된 조명 아래에서의 피부색;
- 치아와 벌린 입;
- 그리고 예상치 못하게 변했을 수 있는, 손대지 않은 다른 얼굴들.
단순히 의도한 얼굴이 괜찮아 보인다는 이유만으로 결과를 공유하지 마세요. 배경에 있는 인물에게 더 심각한 아티팩트(artifact)가 포함되어 있을 수 있습니다.
불균일한 얼굴 크기는 불균일한 품질을 만듭니다
세 명이 있는 사진을 가정해 보겠습니다:
- 인물 A는 카메라와 가까워 턱부터 이마까지 400픽셀을 차지합니다.
- 인물 B는 더 멀리 있어 160픽셀을 차지합니다.
- 인물 C는 흐릿한 배경의 손님으로 얼굴이 60픽셀입니다.
세 명 모두 감지되더라도, 모델은 이들에게 동일한 양의 정보를 가지고 있지 않습니다. 인물 A는 설득력 있게 보일 수 있지만, 인물 B는 흐릿할 수 있고, 인물 C는 왜곡된 패치(patch)처럼 변할 수 있습니다.
이것은 단일 "품질 설정(quality setting)"의 문제가 아닙니다. 소스 이미지 내부의 정보 문제입니다. 출력 해상도(output resolution)를 높인다고 해서 인물 C의 원래 얼굴이 더 상세해지지는 않습니다.
모든 인물이 중요하다면, 얼굴들의 크기(scale)와 초점(focus)이 유사한 이미지를 사용하세요.
중첩(Overlap)은 단순한 폐쇄(Occlusion)보다 어렵습니다
안경 한 쌍이 한 사람의 얼굴 일부를 가리고 있지만, 그 안경은 해당 인물의 것입니다. 단체 사진에서는 다른 사람의 머리카락, 손, 어깨 또는 얼굴이 대상의 경계선을 가로지를 수 있습니다. 모델은 어떤 픽셀이 누구에게 속하는지 결정해야 합니다.
흔히 발생하는 실패 사례는 다음과 같습니다:
- 대상의 턱이 인접한 볼과 섞이는 현상;
- 한 사람의 머리카락이 변환된 이마를 가로지르는 현상;
- 중첩 부근에서 눈이나 입 모양이 중복되는 현상;
- 손 주변에 피부색의 이음새(seam)가 생기는 현상;
- 참조된 정체성(reference identity)이 잘못된 얼굴에 부분적으로 나타나는 현상.
크롭(Cropping)으로는 심각한 중첩을 해결할 수 없습니다. 대상 얼굴이 다른 사람에 의해 물리적으로 가려져 있다면 다른 프레임을 선택하세요.
잘못된 얼굴이 바뀌는 경우 대처법
동일한 파일을 즉시 다시 제출하지 마세요. 반복 시도가 약간 다른 이미지를 생성할 수는 있지만, 모호함 자체를 제거하지는 못합니다.
다음 순서를 따르세요:
- 보이는 다른 모든 얼굴을 크롭하여 제외합니다.
- 의도한 머리 전체와 주변 맥락(context) 일부를 유지합니다.
- 크롭된 이미지 내에서 대상 얼굴이 가장 크고 선명한 얼굴인지 확인합니다.
- 얼굴 위에 덧칠하는 방식이 아니라, 크롭을 통해 스크린샷 테두리나 불필요한 반사광을 제거합니다.
- 더 호환 가능한 각도를 가진 참조(reference) 이미지를 시도합니다.
- 한 번 생성한 후 비교합니다.
의도한 장면이 대상 주변에 수정되지 않은 여러 명의 사람을 포함해야 하는 경우, 앞서 설명한 2단계 워크플로우(two-stage workflow)를 사용하세요.
업로드 전 단체 사진 체크리스트
생성하기 전에 다음 사항을 확인하세요:
- 변환하고자 하는 정확한 인물(들)의 이름을 지정할 수 있는가.
- 사진과 묘사된 초상권을 사용할 권한이나 기타 법적 근거가 있는가.
- 대상 얼굴이 심하게 가려지거나 잘려 나가지 않았는가.
- 크롭된 영역에 불필요한 얼굴, 화면, 거울, 포스터 등이 포함되지 않았는가.
- 100% 확대 시에도 대상이 상세하게 유지되는가.
- 참조 이미지에 하나의 선명한 얼굴이 포함되어 있는가.
- 최종 이미지가 실제 사건의 증거로 제시되지 않을 것인가.
- 맥락이 오해될 수 있는 경우, 결과물을 AI로 편집된 패러디(parody)라고 표시할 준비가 되었는가.
첫 번째 질문에 명확하게 답할 수 없다면, 모델은 아마도 동일한 모호함에 직면하게 될 것입니다.
그룹 사진에서는 개인정보 보호와 동의가 더 중요합니다
단체 사진에는 자신의 이미지가 AI 서비스에 의해 처리될 것을 전혀 예상하지 못한 사람들이 포함될 수 있습니다. 공개적으로 이용 가능하다는 사실이 프라이버시(privacy), 초상권(publicity), 생체 인식(biometric), 저작권(copyright) 또는 계약적 허가(contractual permission)에 대한 모든 권한을 자동으로 부여하는 것은 아닙니다.
처리할 권한이 있는 사진을 사용하십시오. 미성년자, 사적인 설정, 민감한 사건 또는 반대 의사를 밝힌 사람이 포함된 이미지는 피하십시오. 공개적으로 공유할 때는 식별 가능한 모든 사람이 결과물을 사실적인 기록이 아닌 농담(joke)으로 합리적으로 이해할 수 있을지 고려하십시오.
민감한 자료를 업로드하기 전에 콘텐츠 정책 (Content Policy), AI 공개 (AI Disclosure), 그리고 개인정보 처리방침 (Privacy Policy)을 검토하십시오.
최종 권장 사항
신뢰할 수 있는 제어를 위해, 크롭(cropping)을 대상 선택(target selection)으로 취급하십시오:
- 한 사람을 원하는 경우: 한 사람을 격리(isolate)하십시오.
- 그룹 맥락을 원하는 경우: 제어된 크롭을 테스트한 다음, 맥락을 복원해야 하는 경우 법적 근거가 있고 명확하게 공개된 편집 워크플로우(editing workflow)를 사용하십시오.
- 여러 얼굴을 원하는 경우: 변동성을 예상하고 모든 얼굴을 개별적으로 검토하십시오.
최상의 그룹 입력값은 반드시 가장 넓거나 고화소(high-megapixel)인 이미지는 아닙니다. 의도한 얼굴이 선명하고, 조명이 유사하며, 겹침이 최소화되어 있고, 다른 얼굴 형태의 객체와 쉽게 구별할 수 있는 이미지가 최상입니다.
크롭이 준비되면 페이스 스왑 도구 (faceswap tool)를 여십시오. 결과물에 눈, 헤어라인, 턱 또는 피부 아티팩트(artifacts)가 포함되어 있다면, 당사의 페이스 스왑 아티팩트 문제 해결 가이드 (face-swap artifact troubleshooting guide)를 계속 참조하십시오.
https://charliekirkface.net/blog/face-swap-group-photos-target-selection-and-cropping에서 처음 게시되었습니다. 이 교차 게시물(cross-post)은 검색 엔진이 원본 정식 문서(canonical article)를 가리키도록 합니다.]
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기