Inithouse의 Ziva Fotka: 오래된 스캔 사진 및 흑백 사진을 위한 AI 사진-비디오 애니메이터
요약
Ziva Fotka는 오래된 스캔 사진이나 흑백 사진을 생동감 있는 비디오로 변환하는 AI 애니메이터입니다. 저화질 입력값의 문제를 해결하기 위해 정제된 이미지 기반의 얼굴 랜드마크 탐지와 별도의 컬러화 단계를 거치는 기술적 파이프라인을 구축했습니다.
핵심 포인트
- 오래된 사진의 노이즈와 저화질 문제를 해결하기 위한 전처리 파이프라인 구축
- 정제된 입력값에 대해 얼굴 랜드마크를 탐지하여 애니메이션 정확도 향상
- 원본의 질감과 입자감을 보존하며 표정을 매핑하는 기술 적용
- 흑백 사진의 깊이감을 더하기 위해 애니메이션 전 단계에서 컬러화 수행
Ziva Fotka를 통해 애니메이션화된 10,000장 이상의 사진 중 약 10장 중 4장은 오래되었거나, 스캔되었거나, 흑백으로 촬영된 사진이었습니다. 이 비율은 저희를 놀라게 했습니다. 저희는 Ziva Fotka를 AI 사진-비디오 애니메이터 (AI photo-to-video animator)로 구축했습니다. 정지된 얼굴을 업로드하면 짧은 생동감 있는 클립을 돌려받는 방식입니다. 하지만 실제 엔지니어링 과제는 애니메이션이 시작되기 _전_에 일어나야 하는 모든 과정임이 밝혀졌습니다.
Ziva Fotka가 실제로 하는 일
Ziva Fotka는 정지된 사진을 짧고 생동감 있는 비디오로 변환하는 AI 도구입니다. 또한 오래된 사진이나 흑백 사진을 편집하고 채색(colorize)하여 결과물이 일반적이지 않고 자연스럽게 보이도록 할 수 있습니다. 전체 프로세스는 약 60초 내에 실행되며, 5개의 현지화된 도메인에서 5개 언어로 작동하고, 계정이 필요하지 않습니다.
마지막 부분은 기술적 파이프라인 (technical pipeline) 측면에서 중요합니다. 계정이 없다는 것은 저장된 설정(preferences)이 없고, 학습할 업로드 기록도 없다는 것을 의미합니다. 모든 사진은 콜드 스타트 (cold start) 상태로 시작됩니다.
오래된 사진은 현대의 셀카가 아닙니다
현대의 스마트폰 카메라는 일관되고 조명이 잘 갖춰진 고해상도 이미지를 생성합니다. 1960년대에 찍혔거나 인화 앨범에서 스캔한 사진은 그렇지 않습니다. 입력 품질(input quality)은 대부분의 표준 애니메이션 파이프라인 (animation pipelines)을 깨뜨리는 방식으로 차이가 납니다.
| 입력 유형 | 전형적인 문제 | 파이프라인이 가장 먼저 처리하는 것 |
|---|---|---|
| 최근 스마트폰 사진 | 최소화되거나 없음 | 애니메이션으로 바로 진행 |
| ... |
일반적인 "이 얼굴을 애니메이션화하라"는 모델은 깨끗한 입력을 가정합니다. 이마에 주름이 가 있는 누렇게 변한 1975년 가족 초상화를 받게 되면, 모델은 조용히 실패하거나 결과물을 원본보다 더 나쁘게 만드는 아티팩트 (artifacts)를 생성합니다.
저하된 입력값에서의 68개 이상의 얼굴 랜드마크 (facial landmarks)
표준 얼굴 탐지 (face detection)는 턱선, 콧등, 눈꼬리, 입술 가장자리 등 얼굴 전체에 68개 이상의 지점을 매핑합니다. 선명한 정면 셀카에서는 이것이 안정적으로 작동합니다. 얼굴의 절반이 그림자에 가려진 거친 스캔 이미지에서는 탐지 모델 (detection model)이 더 열심히 작동해야 합니다.
모든 애니메이션 프레임이 랜드마크 (landmarks)에 의존하기 때문에, 랜드마크는 여전히 정확하게 위치해야 합니다. 눈꼬리를 놓치면 입의 움직임이 어긋나게 됩니다. 턱선 지점이 잘못 배치되면 머리의 회전이 부자연스러워 보입니다.
우리는 원본 업로드 파일이 아닌, 정제되고 향상된 버전의 입력값에 대해 얼굴 탐지 (face detection)를 수행합니다. 그런 다음 애니메이션 모델 (animation model)이 원래의 질감 위에 표정을 매핑하여, 입자를 매끄럽게 지워버리는 대신 입자감 (grain)과 노화 흔적을 보존합니다. 그 결과는 필터로 재구성된 것이 아니라, 마치 동일한 사진이 움직이는 것처럼 보입니다.
컬러화 (colorization)가 별도의 단계인 이유
흑백 얼굴을 애니메이션화하면 흑백 비디오가 생성됩니다. 기술적으로는 작동하지만, 결과물이 평면적으로 느껴집니다. 색상은 피부톤, 눈 색깔, 의류 질감과 같이 깊이감을 더해줍니다. 색상이 없으면 움직임이 살아있는 무언가가 아니라 필터 효과처럼 읽히게 됩니다.
Ziva Fotka는 그레이스케일 (grayscale) 입력을 감지하면 애니메이션을 실행하기 전, 별도의 단계로 컬러화를 수행합니다. 컬러화 모델은 고정된 팔레트에서 색을 가져오는 대신, 문맥(피부 영역, 하늘, 직물 패턴)을 기반으로 그럴듯한 색상을 할당합니다. 1940년대 초상화는 인스타그램식 채도가 아닌, 따뜻한 필름 시대의 톤을 얻게 됩니다.
이것이 중요한 이유는 컬러화의 품질이 후속 단계인 애니메이션 품질에 직접적인 영향을 미치기 때문입니다. 잘못된 색상은 불쾌한 골짜기 (uncanny) 움직임을 만들어냅니다. 두 단계는 순차적으로 실행되지만 서로 결합되어 있습니다.
출력 결과의 모습
출력물은 사진 속 인물이 눈을 깜빡이고, 머리를 약간 움직이며, 숨을 쉬는 것처럼 보이는 짧은 비디오(몇 초)입니다. 움직임은 의도적으로 미묘하게 설정되었습니다. 과장된 움직임은 감성적인 사진을 불쾌한 골짜기 (uncanny valley) 영상으로 만들어버리며, 당사의 사용자 데이터(1,200개 이상의 평점 중 5점 만점에 4.8점)는 사람들이 절제된 버전을 선호한다는 것을 보여줍니다.
모든 입력 유형에 대한 평균 처리 시간은 약 18초입니다. 업로드, 대기, 다운로드. 파이프라인 (pipeline)은 내부적으로 라우팅을 처리합니다: 이것이 그레이스케일인가? 손상되었는가? 저해상도인가? 각 조건은 애니메이션이 실행되기 전 적절한 전처리 (preprocessing) 체인을 트리거합니다.
이것이 중요한 이유
전형적인 사용 사례는 창의적인 실험이 아닙니다. 물론 그런 실험을 하는 사람들도 있지만, 우리의 데이터에 따르면 오래된 사진 애니메이션의 대다수는 가족의 추억입니다. 할머니의 결혼식 초상화, 1980년대의 어린 시절 스냅샷, 이사를 하다가 서랍에서 발견한 빛바랜 사진 같은 것들 말이죠.
Ziva Fotka를 구축하면서 우리는 입력값의 거의 절반이 먼저 복원 (restoration) 과정을 거쳐야 한다는 점을 고려할 때, "사진 애니메이션 (animate a photo)"이라는 카테고리 명칭이 오해의 소지가 있다는 것을 배웠습니다. 더 정확한 설명은 다음과 같습니다: 대부분의 표준 도구들이 거부하거나 저조한 결과를 내놓을 법한 입력값에 대해, 클리닝 (cleanup)부터 채색 (colorization), 그리고 움직임 (motion)에 이르기까지 전체 체인 (chain)을 처리하는 AI 사진-비디오 애니메이터 (AI photo-to-video animator)입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기