동영상 객체 인식을 위한 딥러닝 기술은 정지된 이미지를 분석하는 것을 넘어, 시간의 흐름과 객체의 움직임을 함께 고려해야 하는 복잡한 분야입니다.
핵심은 시간적 일관성(Temporal Coherency)을 어떻게 모델에 통합하느냐에 있습니다. 동영상 속 객체는 프레임마다 조금씩 움직이며, 때로는 다른 객체에 가려지거나(occlusion) 프레임 밖으로 나갔다가 다시 돌아오기도 합니다.
동영상 객체 인식을 수행하는 딥러닝 기술은 크게 '탐지(Detection)'와 '추적(Tracking)'이라는 두 가지 주요 작업으로 나뉩니다.
1. 동영상 객체 탐지 (Video Object Detection, VOD)
VOD는 비디오의 모든 프레임에서 객체의 위치와 종류를 식별하는 작업입니다.
(1) 프레임별 탐지 (Frame-by-Frame Detection)
가장 간단한 접근 방식입니다. 비디오를 여러 개의 정지 이미지(프레임)로 나눈 뒤, YOLO (You Only Look Once), SSD (Single Shot Detector), Faster R-CNN과 같은 강력한 이미지 객체 탐지 모델을 각 프레임에 독립적으로 적용합니다.
- 장점: 구현이 매우 간단합니다.
- 단점:
- 느린 속도: 비디오의 모든 프레임(초당 30~60장)에 무거운 모델을 실행해야 해 실시간 처리가 어렵습니다.
- 일관성 부족: 프레임 간의 연관성을 고려하지 않아, 특정 프레임에서만 객체를 놓치거나(flickering) 바운딩 박스가 심하게 흔들릴 수 있습니다.
- 모션 블러(Motion Blur) 취약성: 객체가 빠르게 움직여 흐릿하게 찍힌 프레임에서는 탐지 성능이 급격히 저하됩니다.
(2) 시간 정보 통합 (Temporal Information Integration)
프레임별 탐지의 단점을 보완하기 위해 이전 프레임과 다음 프레임의 정보를 활용하는 방식입니다.
- 특징 전파 (Feature Propagation):
- 몇 프레임마다 한 번씩(예: 10프레임마다) '키 프레임(Key-frame)'을 정해 정밀한 탐지(YOLO 등)를 수행합니다.
- 그 사이의 프레임들은 광학 흐름(Optical Flow)(픽셀의 이동 방향과 속도를 계산) 등을 이용해 키 프레임의 탐지 결과를 "끌어와서"(propagate) 위치를 보정합니다.
- 대표 모델: DFF (Deep Feature Flow), FGFA (Flow-Guided Feature Aggregation)
- 3D 컨볼루션 (3D CNN):
- 이미지(2D)에 사용하는 CNN을 3D로 확장하여, (너비, 높이)뿐만 아니라 시간(t) 축까지 한 번에 처리하는 컨볼루션 필터를 사용합니다.
- 공간 정보와 시간(움직임) 정보를 동시에 학습할 수 있습니다.
- RNN/Transformer 활용:
- 각 프레임에서 추출한 특징(feature)을 RNN (LSTM, GRU)이나 트랜스포머(Transformer)의 입력 시퀀스로 넣어 프레임 간의 관계를 학습합니다.
- 최신 모델들은 비디오를 시공간(space-time) 패치로 나눠 트랜스포머로 처리하며(예: ViViT - Video Vision Transformer), 높은 성능을 보여줍니다.
2. 동영상 객체 추적 (Video Object Tracking, VOT)
VOT는 VOD보다 한 단계 더 나아간 작업입니다. 단순히 "프레임에 사람이 있다"가 아니라, "1번 사람"이 다음 프레임에서 어디로 갔는지, "2번 사람"은 어디로 갔는지 식별자(ID)를 유지하며 쫓아가는 기술입니다.
현재 가장 널리 쓰이는 방식은 "탐지 기반 추적 (Tracking-by-Detection)" 패러다임입니다.
이는 (1) 탐지와 (2) 연관의 2단계로 나뉩니다.
(1) 1단계: 탐지 (Detection)
먼저 VOD 기술(YOLO 등)을 이용해 현재 프레임($N$)에 있는 모든 객체를 탐지합니다.
(2) 2단계: 연관 (Association)
$N$번째 프레임의 탐지 결과들을 $N-1$번째 프레임에서 추적해오던 객체들과 "짝짓기"하는 과정입니다.
- 전통적 방식 (Kalman Filter + Hungarian Algorithm):
- 칼만 필터(Kalman Filter): $N-1$ 프레임까지의 움직임을 바탕으로 객체가 $N$ 프레임에서 어디에 있을지 예측합니다.
- 헝가리안 알고리즘(Hungarian Algorithm): 예측된 위치와 $N$ 프레임에서 실제 탐지된 객체들 간의 거리(IoU 등)를 계산하여 가장 비용이 적게 드는 짝을 찾아줍니다.
- 딥러닝 방식 (DeepSORT):
- 전통 방식의 한계는 객체가 잠시 가려졌다가(occlusion) 다시 나타나거나, 두 객체가 교차할 때 ID가 바뀌기 쉽다는 것입니다.
- DeepSORT는 이 문제를 해결하기 위해 딥러닝을 사용합니다.
- 칼만 필터로 움직임을 예측하는 것은 동일하지만, "연관" 단계에서 외형 특징(Appearance Feature)을 추가로 사용합니다.
- 별도의 Re-ID (재식별) 딥러닝 모델을 사용해 각 객체의 외형(예: '빨간 옷', '파란 가방')을 벡터로 추출합니다.
- 따라서 $N$ 프레임에서 탐지된 객체가 $N-1$ 프레임의 객체와 위치도 가깝고 (by Kalman Filter) 생김새도 비슷해야 (by Re-ID model) 같은 ID로 판단합니다.
3. 주요 활용 분야
- 자율 주행 (Autonomous Driving): 주변 차량, 보행자, 자전거 등을 탐지하고 지속적으로 추적하여 경로를 계획하고 충돌을 방지합니다.
- 지능형 CCTV / 보안 (Intelligent Surveillance): 특정 인물의 동선 추적, 침입 감지, 분실물 탐지, 교통량 분석 등에 사용됩니다.
- 스포츠 분석 (Sports Analytics): 선수들의 움직임을 추적하여 포메이션을 분석하거나, 공의 궤적을 추적합니다.
- 인터랙티브 미디어 (Interactive Media): 영상 편집 시 특정 인물이나 객체만 자동으로 모자이크 처리하거나 배경을 제거하는 데 활용됩니다.