마스크 R CNN으로 사람 객체 추출과 합성 자동화
초록
본 논문은 Mask R‑CNN을 활용해 여러 이미지·영상에서 사람 인스턴스를 자동으로 분리하고, 새로운 배경에 합성하는 애플리케이션을 제안한다. 별도의 연산 오버헤드 없이 5 FPS를 유지하며, 입력 영상 길이가 서로 달라도 가장 긴 영상 길이에 맞춰 출력 영상을 생성한다. 단일·다중 인물 추출·배치 사례와 영상 합성 결과를 제시한다.
상세 분석
본 연구는 사진·영상 편집에서 가장 빈번히 수행되는 ‘사람 객체 선택·배경 교체’ 작업을 자동화하는 실용적 시스템을 설계하였다. 핵심 기술은 기존 Mask R‑CNN 구조를 그대로 이용하면서, 추출된 마스크와 바운딩 박스를 후처리하여 알파 블렌딩 형태로 새로운 배경에 삽입하는 파이프라인이다. Mask R‑CNN은 Faster R‑CNN에 인스턴스 마스크 분기(branch)를 추가한 모델로, 객체 탐지와 픽셀 수준 세분화 동시에 수행한다. 논문에서는 사전 학습된 COCO 가중치를 그대로 사용했으며, 사람 클래스만을 필터링해 추출한다.
시스템은 두 단계로 구성된다. 첫 번째 단계는 입력 이미지·영상 프레임마다 Mask R‑CNN을 실행해 사람 마스크와 좌표를 얻는 과정이다. 여기서 중요한 점은 다중 인물 상황에서도 각각의 마스크를 개별 객체로 유지한다는 점이다. 두 번째 단계에서는 사용자가 지정한 새로운 배경 이미지(또는 영상)와 크기·비율을 맞춘 뒤, 각 마스크를 알파 채널로 변환해 배경에 오버레이한다. 이때 마스크 경계의 부드러운 블렌딩을 위해 Gaussian blur와 feathering을 적용해 자연스러운 합성을 도모한다.
영상 입력에 대한 처리 방식도 독창적이다. 서로 다른 길이의 여러 영상을 동시에 입력받아, 가장 긴 영상의 프레임 수를 기준으로 출력 영상을 생성한다. 짧은 영상은 마지막 프레임을 반복 재생하거나 정지 프레임을 삽입해 길이를 맞춘다. 이렇게 하면 여러 소스 영상에서 추출된 인물을 동시에 한 화면에 배치할 수 있다.
성능 측면에서 논문은 실시간에 근접한 5 FPS를 달성했다고 보고한다. 이는 Mask R‑CNN 자체가 비교적 무거운 연산을 포함함에도 불구하고, GPU 가속과 배치 처리, 불필요한 후처리 최소화 전략을 통해 가능했다. 또한 메모리 사용량을 최적화하기 위해 마스크와 원본 프레임을 8‑bit 형식으로 압축 저장하고, 필요 시에만 복원한다.
한계점으로는 사람 외 다른 객체에 대한 지원이 부족하고, 복잡한 포즈·동작이 겹치는 경우 마스크 경계가 부정확해질 수 있다는 점을 들었다. 또한 배경과 인물 간 색상·조명 차이를 자동 보정하는 기능이 없어, 사용자가 수동으로 색 보정 단계가 필요하다. 향후 연구에서는 멀티클래스 지원, 조명 일치 알고리즘 통합, 그리고 경량화된 실시간 세그멘테이션 모델(예: YOLACT) 적용을 제안한다.
전반적으로 이 시스템은 사진·영상 편집 워크플로우에서 가장 반복적이고 시간이 많이 소요되는 ‘인물 선택·배경 교체’ 작업을 크게 단축시킬 수 있는 실용적인 도구이며, 오픈소스 코드 구조와 모듈화된 설계 덕분에 추가 기능 개발 및 커스터마이징이 용이하다.
댓글 및 학술 토론
Loading comments...
의견 남기기