
AI MV에서 캐릭터의 얼굴이 무너지는 7가지 조작 (전부 직접 겪어본 실수)
요약
AI 뮤직비디오 제작 시 캐릭터의 얼굴 일관성을 유지하지 못해 발생하는 7가지 실수와 해결책을 다룹니다. 확산 모델의 특성을 이해하고 비파괴적 조작을 통해 캐릭터의 동일성을 확보하는 실무적인 가이드를 제공합니다.
핵심 포인트
- 컷마다 새로 생성하지 말고 확정된 이미지를 크롭하여 활용할 것
- 옷 갈아입히기(cloth-swap) 기능은 얼굴 변형을 유발하므로 주의
- 이미지 확정 후에는 비파괴적 조작(자르기, 확대 등)만 수행할 것
- LoRA 학습만으로는 생성 시 발생하는 미세한 얼굴 흔들림을 잡기 어려움
로컬 GPU로 풀 코러스(Full Chorus) AI MV를 만들고 있으면, 시간의 9할은 "얼굴이 무너진 원인을 찾는 데" 소비된다.
단발적인 컷은 예쁘게 나온다. 문제는 그것을 묶어서 하나의 작품으로 만들려는 순간 발생한다. 나란히 재생하면 같은 캐릭터로 보이지 않는다. 영상화하면 도중에 딴사람이 된다. 확대하면 피부가 파괴된다.
이 기사에서는 실제로 저질러보고 원인을 밝혀낸 "얼굴을 망가뜨리는 조작" 7가지를 꼽는다. 전부 내가 저지른 실수다. 읽는 것만으로도 같은 실수의 상당 부분을 피할 수 있을 것이다.
1. 컷마다 새로 생성하기
증상: 단독으로 보면 예쁜데, 나란히 재생하면 같은 캐릭터로 보이지 않는다.
원인: 이것이 가장 크고 빈번한 실수다. "같은 프롬프트(Prompt)를 사용하면 같은 캐릭터가 나올 것"이라고 생각하며 컷마다 생성한다. 하지만 확산 모델(Diffusion Model)은 매번 새로 그리는 구조이기 때문에, 프롬프트가 같더라도 얼굴의 생김새, 윤곽, 피부 질감은 조금씩 흔들린다. 5컷을 생성하면 "닮았지만 다른 사람"이 5명 생긴다.
그리고 인간의 뇌는 얼굴의 미세한 차이에 이상할 정도로 민감하다. 스스로는 깨닫지 못해도 시청자는 순식간에 위화감을 느낀다.
대처: 일관성은 확률로 나오는 것이 아니다. 몇 번을 뽑아도 같은 얼굴은 나오지 않는다. 그러니 "매번 뽑는 것"을 그만두고 "한 장을 확정하여 돌려쓰는 것"으로 전환한다. 확정된 한 장을 고해상도화(Upscale)하고, 거기서 closeup / bust / knee / full을 crop(자르기)으로 추출한다. 자르기는 비파괴 조작이므로 얼굴은 원리적으로 변하지 않는다.
캐릭터 LoRA를 학습시키면 해결될 것이라 생각하기 쉽지만, LoRA만으로는 부족하다. LoRA는 "그 캐릭터 같은 사람"을 내보내지만, 생성할 때마다 발생하는 흔들림은 사라지지 않는다.
2. 옷 갈아입히기(cloth-swap)로 옷만 바꾸기
증상: 얼굴은 마음에 드는 마스터(Master) 이미지가 있다. 옷만 참조 이미지의 의상으로 바꾸고 싶어서 이미지 편집 AI의 옷 갈아입히기를 적용했더니, 딴사람이 되었다.
원인: 옷 갈아입히기는 내부적으로 확산(Diffusion)에 의한 재생성을 동반한다. 옷을 바꾸는 과정에서 얼굴까지 새로 만들어지기 때문에 동일성이 유지되지 않는다.
나는 여기서 끈질기게 매달렸다. 얼굴 참조 보조를 추가하고, 가속화 LoRA를 병용하며, 설정을 몇 가지 방식으로 바꾸어 보았다. 그 어떤 것도 유지할 수 없었다. "옷만" 바꾸는 처리처럼 보이지만, 실제로는 전체를 다시 그리고 있는 것이다.
대처: 캐릭터 마스터에 옷 갈아입히기를 끼워 넣지 않는다. 참조하고 싶은 의상이 있다면, 그 이미지를 보고 특징을 글로 옮겨 캐릭터 생성 프롬프트에 써넣어 후보를 다시 뽑는다. 돌아가는 것처럼 보이지만, 이것이 유일한 길이었다.
(본편 마스터로 사용하지 않을 시안이나 옷 단독 테스트라면 옷 갈아입히기를 사용해도 좋다. 금지해야 할 것은 주인공 마스터에 이를 끼워 넣는 것이다.)
3. 확정 후에 "더 좋은 얼굴"을 다시 뽑기
증상: 초반 컷과 종반 컷이 딴사람이 되어 있다.
원인: 확정을 깨뜨렸다. 작업이 진행되다 보면 반드시 "더 좋은 얼굴이 나올지도 모른다"는 유혹이 찾아온다. 한 번 다시 뽑으면 그 컷만 다른 것과 어긋난다. 어긋났으니까 옆 컷도 다시 뽑는다. 정신을 차려보면 모든 컷이 미묘하게 다른 사람이 되어 있다.
대처: 확정은 확정으로 취급한다. 이후의 변경은 자르기, 확대, 색상 조정과 같은 비파괴 조작으로만 한정한다. 이것은 기술이라기보다 운용 규칙의 문제로, 시스템으로 강제하지 않으면 반드시 어기게 된다.
4. 영상 유래 소재를 확산계 업스케일러로 확대하기
증상: 확대했더니 **피부에 무지개색 스펙클(Speckle, 반점)**이 떠올랐다. 시드(Seed)를 바꿔도 고쳐지지 않는다.
원인: 확산계 업스케일러는 "그림으로서 그럴듯하게" 다시 그린다. 낮은 스텝(Step)으로 생성한 영상 유래의 피부에 대해서는, 이 다시 그리는 과정이 파손(Artifact)으로 나타난다.
대처: 소재의 출처에 따라 도구를 바꾼다.
- 이미지 모델로 만든 깨끗한 정지 화상 → 확산계 업스케일러를 사용해도 좋다
- 영상 모델 유래의 소재 → 비확산계(RealESRGAN 계열)로 확대한다
같은 "확대"라도 입력값이 무엇에서 유래했느냐에 따라 정답이 달라진다. 이것을 일률적으로 처리하면 반드시 어딘가에서 파손된다.
덧붙이자면, 로고나 글자까지 초해상도(Super-resolution)를 하는 것도 같은 이유로 위험하다. 확산계는 글자를 새로 만들어 버린다. 사진 부분만 확대하고, 글자는 확대된 해상도에 맞춰 별도로 얹어야 한다.
5. 공격적인 캐시로 가속화하기
증상: 생성 속도를 높이는 설정을 넣었더니, 얼굴 표정이 이상해졌다. 공식 권장값인데도 무너진다.
원인: 노래 립싱크(Lip-sync)는 낮은 스텝의 증류 샘플러(Distilled Sampler)로 돌리고 있다. 스텝 수가 적으면 캐시 스킵(Cache Skip)에 흡수될 여지가 없다. 스킵이 직접적으로 "표정 프레임의 결손"으로 변하게 된다.
이것은 「빠르지만 조금 거칠다」가 아니라 「빠르지만 망가진다」이다. 품질과 속도의 트레이드오프 (Trade-off) 선을 넘은 것이다.
대처: 가속화는 보수적인 설정에 머물러라. 속도를 위해 표정을 희생하지 마라. 어디까지 몰아붙여도 될지는 자신의 환경에서 하나씩 확인해 보는 수밖에 없다.
6. 긴 컷을 「하나의 거대한 처리 창(Processing Window)」으로 돌리기
증상: 생성이 20분이 지나도 끝나지 않는다. VRAM이 98%에 고정된 채 진행되지 않는다.
원인: 곡 전체, 혹은 긴 컷을 하나의 처리 창으로 돌리려 했다. 거대한 하나의 창은 VRAM을 초과시켜 타임아웃 (Timeout)을 일으킨다.
대처: 창을 고정된 크기로 나누어, 약간씩 겹치면서 슬라이드(Slide)시킨다.
단, 여기에는 후속 문제가 있다. 창을 나누면 이번에는 이음새에서 표정이 튀는 경우가 있다. 영상화는 각 프레임을 재그리기하며 창 사이에서 문맥(Context)을 전달하므로, 시간 방향의 드리프트 (Drift)가 제로가 되지는 않는다. 겹치는 양을 줄이면 이음새가 악화되므로, 속도를 위해 줄여서는 안 된다.
기점 소재가 동일 인물이라면 이 드리프트는 미세한 차이로 수렴한다. 토대가 들쭉날쭉하면, 거기에 영상화의 드리프트가 더해져 붕괴한다. 1번 항목과 이어지는 이야기다.
7. 1컷이 마음에 안 든다고 전체를 다시 만들기
증상: 완성 직전에 "이 컷만 신경 쓰인다"라는 생각이 들어 전체를 재생성했더니, 좋았던 컷까지 다른 것으로 변했다.
원인: 수정의 입도 (Granularity)를 잘못 설정했다. 전체를 돌리면 당연히 모든 컷이 다시 그려진다.
대처: 지적 사항은 반드시 "그 컷만" 수정한다.
여기에 또 다른 함정이 있다. 교체한 컷의 길이가 원래와 프레임 단위로 일치하지 않으면, 그 컷 이후의 타이밍이 도미노처럼 어긋난다. 입 모양과 노래가 맞지 않는 것은 대개 이 때문이다. 교체할 컷은 원래 컷의 in–out 길이에 맞춰 트리밍 (Trimming)한 후 삽입한다.
근본 원인은 3가지 원리로 집약된다
7가지를 나열했지만, 원인을 추적하면 3가지로 수렴한다. 개별 증상을 암기하기보다 이 3가지를 파악해 두는 것이 처음 보는 붕괴 현상에서도 갈피를 잡는 데 도움이 된다.
-
일관성은 확률로 나오지 않는다. 몇 번을 뽑아도 같은 얼굴은 나오지 않는다. 1장을 확정하여 잘라낸다.
-
속도에는 넘어서는 안 될 품질의 선이 있다. 과도한 가속화는 표정을 망가뜨린다.
-
소재의 출처에 따라 도구를 바꾼다. 이미지 유래인지 영상 유래인지에 따라 확대 도구가 달라진다.
이 글에서 쓰지 않은 것
여기에 언급한 것은 원인과 대처의 원리다. 실제로 손을 움직이다 보면 다음 질문들이 생긴다.
"그럼 윈도우(Window) 사이즈는 얼마로 해야 하는가?"
"겹침(Overlap)은 몇 프레임을 남겨야 하는가?"
"어떤 업스케일러 (Upscaler)를 어떤 파라미터 (Parameter)로 사용해야 하는가?"
"LoRA 학습은 몇 스텝 (Step)으로 해야 하고, 데이터는 몇 장이 필요한가?"
구체적인 수치와 19개 항목으로 정리한 실패 패턴의 전체 분량은 교재에 정리해 두었다. VRAM 용량별 실측치 (12 / 24 / 32GB에서 무엇을 할 수 있고 몇 분을 기다려야 하는지)와, 모델이 바뀌어도 쉽게 망가지지 않는 원리 / 교체식 설정값 레시피를 나누어 작성했다.
→ 교재 「로컬 AI MV 스튜디오 교과서」 (PDF 62페이지 · 9,800엔)
전체 공정이 어떻게 구성되어 있는지는 이 글에 작성했다.
GPU별 실측치 (VRAM 12/24/32GB에서 무엇을 할 수 있고 몇 분을 기다려야 하는지)는 여기.
노래 립싱크 (Lip-sync)에서 입 모양이 맞지 않는 원인 (소리의 준비)은 여기.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기