Skip to content

필사 모드: SOTA 실시간 비디오 분석 — 추적, 이해, 효율 추론

한국어
0%
정확도 0%
💡 왼쪽 원문을 읽으면서 오른쪽에 따라 써보세요. Tab 키로 힌트를 받을 수 있습니다.
원문 렌더가 준비되기 전까지 텍스트 가이드로 표시합니다.

들어가며

이미지 한 장을 이해하는 것과 시간이 흐르는 비디오를 이해하는 것은 다른 문제입니다. 비디오에는 시간 축이 더해지고, 물체는 움직이고 가려지고 다시 나타납니다. "지금 무슨 일이 일어나고 있는가", "이 물체가 다음 프레임에서 어디로 갔는가"를 실시간으로 답하려면 정확도뿐 아니라 지연 시간까지 함께 고려해야 합니다.

이 글은 실시간 비디오 분석의 대표적 과제와 접근을 아키텍처 원리 중심으로 정리합니다. 비디오 SOTA 역시 빠르게 바뀌므로, 특정 모델의 순위나 수치는 단정하지 않고 개념과 계열의 흐름에 집중합니다. 확실치 않은 최신 스펙은 일반화해서 다룹니다.

다룰 내용은 크게 네 갈래입니다. 첫째, 비디오 이해가 나누어지는 과제들. 둘째, 그 과제를 푸는 비디오 모델의 아키텍처 흐름. 셋째, 분할과 추적을 통합하는 SAM 2 계열의 관점과 다중 객체 추적. 넷째, 실시간을 가능케 하는 최적화와 배포의 현실입니다. 각 갈래는 결국 "정확도와 지연 사이 어디에 설 것인가"라는 하나의 질문으로 수렴합니다.

비디오 이해의 주요 과제

비디오 이해는 목표에 따라 여러 과제로 나뉩니다. 대표적인 것들을 정리하면 다음과 같습니다.

- **행동 인식(action recognition)**: 짧은 클립 또는 스트림에서 "무슨 행동이 일어나는가"를 분류합니다. 걷기, 뛰기, 물건 집기 같은 라벨을 부여합니다.

- **시간적 행동 위치 추정(temporal action localization)**: 긴 비디오에서 "언제부터 언제까지 어떤 행동이 일어났는가"를 구간으로 찾아냅니다.

- **객체 추적(object tracking)**: 특정 물체를 프레임을 넘어 지속적으로 따라갑니다. 단일 물체 추적과 다중 물체 추적으로 나뉩니다.

- **시간적/비디오 분할(video segmentation)**: 물체의 픽셀 마스크를 프레임에 걸쳐 일관되게 유지합니다. 이미지 분할이 시간 축으로 확장된 형태입니다.

- **비디오 질의응답·캡셔닝**: 비디오 내용을 언어로 설명하거나 질문에 답합니다. 멀티모달 모델의 영역입니다.

비디오 이해 과제의 지도 (개념)

분류 축: "무엇이 일어나는가" --> 행동 인식

시간 축: "언제 일어나는가" --> 시간적 위치 추정

추적 축: "그 물체가 어디로" --> 객체 추적 (MOT/SOT)

픽셀 축: "경계는 어디까지" --> 비디오 분할

언어 축: "말로 설명/질의응답" --> 비디오-언어 모델

이 과제들은 서로 독립적이지 않습니다. 예컨대 자율주행에서는 추적과 분할과 행동 예측이 하나의 파이프라인 안에서 맞물려 돌아갑니다.

또 하나 강조할 점은, 비디오 이해가 단순히 "이미지 이해를 여러 번 하는 것"이 아니라는 사실입니다. 프레임 사이의 관계, 즉 시간적 일관성이 핵심입니다. 같은 물체를 프레임마다 다른 것으로 본다면 추적은 무너지고, 프레임마다 마스크가 흔들린다면 분할은 쓸모가 없어집니다. 그래서 비디오 모델은 "정확도"만이 아니라 "시간에 걸친 안정성"을 함께 요구받습니다.

비디오 모델의 아키텍처 흐름

3D 합성곱에서 시공간 어텐션으로

초기 비디오 모델은 이미지의 2D 합성곱을 시간 축으로 확장한 **3D 합성곱**을 사용했습니다. 공간과 시간을 함께 훑어 움직임 패턴을 포착하는 방식입니다. 이후 트랜스포머가 이미지에 성공적으로 적용되면서(비전 트랜스포머), 비디오에도 **시공간 어텐션(spatio-temporal attention)** 이 도입되었습니다.

비디오 트랜스포머 (개념)

비디오 = 프레임들의 시퀀스

|

각 프레임을 패치로 나눔 (공간)

|

프레임을 시간으로 이어붙임 (시간)

|

[시공간 어텐션]

- 공간 어텐션: 한 프레임 내 관계

- 시간 어텐션: 프레임 간 관계

|

분류/검출/분할 헤드

시공간 어텐션의 과제는 **연산량**입니다. 프레임 수와 패치 수가 곱해지면 어텐션 비용이 커집니다. 이를 다루기 위한 대표적 절충은 다음과 같습니다.

- **분해된 어텐션(factorized attention)**: 공간 어텐션과 시간 어텐션을 따로 계산해 곱셈적 비용을 덧셈적으로 줄입니다.

- **토큰 축소·샘플링**: 중요하지 않은 토큰을 줄이거나 프레임을 성기게 샘플링합니다.

- **윈도우·지역 어텐션**: 전역 대신 지역 범위로 어텐션을 제한합니다.

이 절충들은 정확도와 속도의 상충 위에서 선택됩니다. "가장 좋은" 조합은 과제와 지연 요구에 따라 달라집니다.

시공간 어텐션이 강력한 이유는 "멀리 떨어진 프레임 사이의 관계"를 직접 학습할 수 있기 때문입니다. 예컨대 어떤 행동의 시작과 끝이 수 초 떨어져 있어도, 어텐션은 그 두 시점을 이어 볼 수 있습니다. 3D 합성곱이 주로 인접한 프레임의 지역적 움직임에 강한 것과 대비됩니다. 다만 이 표현력의 대가가 연산량이며, 실시간 시스템은 앞서 말한 절충으로 이 대가를 관리합니다. 이것이 비디오 아키텍처 설계의 핵심 긴장입니다.

비디오 분할과 추적: SAM 2 계열의 관점

이미지 분할에서 Segment Anything(SAM)이 프롬프트 가능 분할을 열었다면, 그 사고방식을 비디오로 확장하는 흐름이 자연스럽게 이어졌습니다. SAM 2 계열은 "이미지의 프롬프트 가능 분할"을 "비디오의 프롬프트 가능 분할·추적"으로 넓히는 개념으로 이해할 수 있습니다.

핵심 아이디어는 다음과 같습니다.

- 한 프레임에서 점·박스 같은 프롬프트로 대상을 지정하면, 모델이 그 대상의 마스크를 이후 프레임에 걸쳐 **전파(propagate)** 합니다.

- 프레임 사이에 과거 정보를 담는 **메모리** 구조를 두어, 물체가 잠시 가려졌다가 다시 나타나도 동일 대상으로 이어 붙일 수 있게 합니다.

- 스트리밍 방식으로 프레임을 순차 처리해, 긴 비디오도 다룰 수 있는 구조를 지향합니다.

비디오 프롬프트 분할·추적 (개념)

프레임 t=0: 프롬프트(점/박스)로 대상 지정 --> 마스크

|

v (메모리에 대상 표현 저장)

프레임 t=1..N: 메모리 참조하여 마스크 전파

|

가림/재등장: 메모리로 동일 대상 재연결

|

결과: 대상의 마스크가 프레임 전체에서 일관 유지

여기서 중요한 점은 "추적과 분할이 하나로 묶인다"는 것입니다. 전통적으로 추적은 박스를, 분할은 마스크를 다뤘지만, 이 계열은 마스크 수준의 추적을 통합적으로 제공합니다. 다만 실시간 성능·긴 비디오에서의 안정성·복잡한 가림 상황은 여전히 난제이며, 세부 성능은 구현과 설정에 따라 달라집니다.

메모리 구조의 역할은 특히 강조할 만합니다. 물체가 잠시 화면에서 사라졌다가 돌아올 때, 메모리가 없다면 모델은 그것을 새로운 물체로 오인하기 쉽습니다. 과거 프레임의 대상 표현을 기억해 두면, 재등장한 물체를 "그때 그 대상"으로 다시 이어 붙일 수 있습니다. 이는 앞서 본 MOT의 재식별과 목적이 같지만, 별도 재식별 특징을 두는 대신 통합된 메모리로 처리한다는 점이 다릅니다. 검출·추적·분할이 각각 발전해 온 아이디어들이 이렇게 한 틀 안에서 만나는 것이 최근 흐름의 흥미로운 지점입니다.

다중 객체 추적(MOT)

여러 물체를 동시에 추적하는 다중 객체 추적(Multi-Object Tracking, MOT)은 실시간 비디오 분석의 핵심 축입니다. MOT의 목표는 단순히 "물체를 찾는 것"이 아니라, 각 물체에 시간에 걸쳐 일관된 정체성(ID)을 부여하는 것입니다. 프레임 12의 3번 사람과 프레임 400의 3번 사람이 같은 사람이어야 의미가 있습니다. 널리 쓰이는 접근은 **검출 기반 추적(tracking-by-detection)** 입니다.

검출 기반 추적 (tracking-by-detection)

프레임마다 [검출기] --> 이번 프레임의 박스들

|

이전 트랙들과 이번 박스들을 [연결(association)]

- 위치 예측: 칼만 필터 등으로 다음 위치 추정

- 외형 매칭: 재식별(re-ID) 특징으로 동일 물체 판정

|

같은 물체면 트랙 ID 유지, 새 물체면 새 ID 부여

|

결과: 각 물체에 일관된 ID를 붙여 시간에 따라 추적

- **위치 예측**: 칼만 필터 같은 운동 모델로 다음 프레임에서의 위치를 예측해 후보를 좁힙니다.

- **연결(association)**: 예측 위치와 검출 박스를 짝짓습니다. 헝가리안 알고리즘 같은 할당 기법이 쓰입니다.

- **재식별(re-ID)**: 외형 특징을 비교해, 잠시 가려졌다 나타난 물체를 같은 ID로 이어 붙입니다.

참고로 추적은 대상 개수에 따라 나뉩니다. 단일 물체 추적(SOT)은 사용자가 첫 프레임에 지정한 하나의 대상을 끝까지 따라가는 과제로, 대상이 무엇인지 미리 알 필요가 없습니다. 다중 물체 추적(MOT)은 여러 대상을 동시에 다루며, 대개 미리 정한 클래스(사람·차 등)의 모든 물체를 검출해 추적합니다. 두 과제는 목표와 난점이 다르며, 여기서 다루는 검출 기반 추적은 주로 MOT의 방식입니다.

MOT의 난제는 **ID 스위칭**(가림·교차 시 ID가 뒤바뀌는 문제)과 **밀집 장면**입니다. 좋은 검출기, 견고한 운동 모델, 판별력 있는 재식별 특징의 조합이 성능을 좌우합니다. 어떤 방법이 "최고"인가는 장면 밀도, 카메라 움직임, 지연 요구에 따라 달라지므로 일반화해서 이해하는 편이 안전합니다.

MOT 평가 지표

MOT 성능은 검출과 달리 "얼마나 오래, 얼마나 일관되게 따라갔는가"까지 재야 합니다. 대표 지표를 개념 수준에서 정리하면 다음과 같습니다.

- **정확한 위치·검출**: 매 프레임에서 물체를 잘 찾고 위치를 맞추는가.

- **ID 일관성**: 같은 물체에 같은 ID를 오래 유지하는가. ID 스위칭이 적을수록 좋습니다.

- **연관 품질**: 프레임을 넘나들며 예측과 정답 궤적을 잘 짝지었는가.

이 여러 측면을 하나로 묶어 보려는 종합 지표들이 있지만, 어떤 지표도 만능은 아닙니다. 감시처럼 놓치지 않는 게 중요한 경우와, 통계처럼 ID 일관성이 중요한 경우는 봐야 할 지표의 무게가 다릅니다.

추적 패러다임의 두 갈래

추적은 크게 두 방식으로 나눠 볼 수 있습니다.

- **검출 기반 추적(tracking-by-detection)**: 앞에서 설명한, 프레임별 검출 후 연결하는 방식입니다. 검출기 성능에 크게 의존하며 모듈화가 쉽습니다.

- **공동 검출·추적(joint detection and tracking)**: 검출과 추적을 하나의 모델로 함께 학습합니다. 프레임 간 특징을 직접 전파하거나, 트랜스포머의 쿼리로 트랙을 표현하는 접근이 있습니다.

트랜스포머 기반 추적은 DETR의 집합 예측 사고방식을 시간 축으로 확장한 흐름으로 볼 수 있습니다. "이전 프레임의 트랙 쿼리를 다음 프레임으로 이어받아 갱신한다"는 식으로, 검출과 연결을 하나의 학습된 과정으로 묶으려 합니다. 다만 어떤 방식이 우월한지는 장면과 지연 요구에 따라 다르므로 계열 수준에서 이해하는 편이 안전합니다.

행동 인식의 관점

행동 인식은 "무슨 일이 일어나는가"를 시간에 걸쳐 판단하는 과제입니다. 정지 이미지 분류와 달리, 움직임 자체가 정보입니다. 예컨대 "앉기"와 "일어서기"는 한 프레임만 보면 구분이 어렵지만, 시간 흐름을 보면 명확해집니다.

- **모션 단서**: 광학 흐름(optical flow) 같은 움직임 표현을 함께 쓰면 행동을 더 잘 구분할 수 있습니다. 초기 모델은 외형과 모션을 별도 스트림으로 처리하기도 했습니다.

- **시간 범위**: 짧은 동작(손 흔들기)과 긴 동작(요리하기)은 필요한 시간 창이 다릅니다. 모델은 다양한 시간 규모를 다룰 수 있어야 합니다.

- **골격 기반 행동 인식**: 사람의 관절(스켈레톤)을 추출해 그 움직임으로 행동을 분류하는 접근도 있습니다. 배경·조명 변화에 덜 민감한 장점이 있습니다.

행동 인식의 정보원 (개념)

외형(무엇이 보이는가) --> 물체·장면 단서

모션(어떻게 움직이는가) --> 광학 흐름, 프레임 차이

골격(관절이 어떻게) --> 스켈레톤 시퀀스

|

이들을 결합해 "무슨 행동인가"를 시간에 걸쳐 판정

행동 인식은 감시, 스포츠, 재활, 인간-로봇 상호작용 등에서 쓰입니다. 다만 실제 환경의 다양성(카메라 각도, 가림, 개인차) 때문에 벤치마크 성능이 그대로 현장 성능으로 이어지지 않는 경우가 많습니다.

또한 행동 인식은 종종 앞서 본 추적·분할과 결합됩니다. 먼저 사람을 추적·분할해 각 개인의 영역을 얻고, 그 영역 안에서 행동을 인식하는 식입니다. 이렇게 하면 여러 사람이 있는 장면에서도 "누가 무엇을 하는가"를 개별적으로 판정할 수 있습니다. 이는 비디오 이해의 부품들이 어떻게 파이프라인으로 조립되는지 보여주는 좋은 예입니다.

비디오와 언어의 결합

최근 흐름의 한 축은 비디오를 언어와 잇는 것입니다. 멀티모달 모델은 비디오를 인코딩해 언어 모델과 결합함으로써, 비디오에 대해 질문하고 답을 받는 상호작용을 가능하게 합니다.

- **비디오 캡셔닝**: 비디오 내용을 문장으로 설명합니다.

- **비디오 질의응답**: "영상에서 사람이 무엇을 집었나?" 같은 질문에 답합니다.

- **시간적 지시(temporal grounding)**: "공을 던지는 순간"처럼 언어로 특정 시점을 찾아냅니다.

- **행동 예측·이유 추론**: 다음에 무슨 일이 일어날지, 왜 그런 행동을 했는지 추론하려는 시도도 있습니다. 다만 이는 여전히 매우 어려운 과제입니다.

- **긴 비디오 요약**: 수십 분 이상의 영상을 핵심만 추려 요약합니다. 시간적 맥락 유지가 관건입니다.

이런 능력은 방대한 비디오를 사람이 일일이 보지 않고도 검색·요약·분석할 수 있게 합니다. 다만 비디오는 프레임이 많아 계산이 무겁고, 긴 영상의 시간적 맥락을 유지하기가 어렵습니다. 실무에서는 프레임 샘플링, 핵심 구간 선별, 계층적 요약 같은 기법으로 이 부담을 줄입니다.

시간 모델링의 방법들

비디오 이해의 핵심은 "시간을 어떻게 모델에 넣느냐"입니다. 대표적 방식을 정리하면 다음과 같습니다.

- **프레임 독립 + 후집계**: 각 프레임을 따로 처리한 뒤 결과를 시간에 걸쳐 모읍니다. 단순하지만 프레임 간 미세한 움직임을 놓칠 수 있습니다.

- **3D 합성곱**: 공간과 시간을 함께 훑어 지역적 움직임을 직접 포착합니다. 긴 시간 의존에는 상대적으로 약합니다.

- **순환(recurrent) 구조**: 상태를 프레임마다 갱신하며 시간 정보를 이어갑니다. 스트리밍에 자연스럽지만 매우 긴 의존은 어렵습니다.

- **시간 어텐션**: 프레임들 사이의 관계를 어텐션으로 직접 학습합니다. 장기 의존에 강하지만 연산량이 큽니다.

시간 모델링 방식의 스펙트럼 (개념)

단순/가벼움 <--------------------> 표현력/무거움

| |

프레임 독립+집계 시간 어텐션

3D 합성곱(지역) 순환(스트리밍)

실무: 과제의 시간 규모와 지연 예산에 맞춰 선택

어떤 방식이 무조건 우월하지는 않습니다. 짧은 클립의 행동 분류와 긴 영상의 사건 이해는 요구하는 시간 규모가 다르고, 실시간 스트리밍과 오프라인 배치 처리는 지연 제약이 다릅니다. 방식 선택은 이 요구들의 함수입니다.

데이터와 라벨링의 어려움

비디오 모델의 성능은 데이터에 크게 의존하는데, 비디오 라벨링은 이미지보다 훨씬 비쌉니다.

- **프레임 폭증**: 1초에 수십 프레임이므로, 짧은 영상도 라벨링할 프레임이 매우 많습니다.

- **시간 라벨의 모호성**: "행동이 언제 시작되고 끝나는가"의 경계는 사람마다 판단이 갈립니다.

- **추적 라벨의 노동집약성**: 물체마다 프레임을 넘나들며 ID와 마스크를 유지해 라벨링하는 것은 매우 손이 많이 갑니다.

이 때문에 자기지도·약지도 학습, 합성 데이터, 그리고 모델이 초안 라벨을 만들고 사람이 검수하는 반복 방식이 널리 쓰입니다. SAM 계열의 프롬프트 분할이 비디오 라벨링 도구로도 주목받는 이유가 여기에 있습니다. 사람이 몇 개의 프롬프트만 주면 모델이 나머지 프레임의 마스크를 채워, 라벨링 비용을 크게 줄일 수 있기 때문입니다.

결국 데이터 문제는 "모델을 어떻게 학습시키느냐"만이 아니라 "라벨을 어떻게 효율적으로 만드느냐"까지 포함합니다. 좋은 비디오 시스템은 종종 좋은 라벨링 파이프라인에서 시작하며, 이 파이프라인 자체에도 모델(프롬프트 분할·추적)이 부품으로 들어가는 순환 구조가 나타납니다.

실시간 추론 최적화

비디오는 초당 여러 프레임이 밀려오므로, 정확도만큼이나 **처리량과 지연**이 중요합니다. 처리량(throughput)은 "초당 몇 프레임을 처리하는가", 지연(latency)은 "한 프레임이 입력되고 결과가 나오기까지 걸리는 시간"입니다. 둘은 다릅니다. 배치를 크게 하면 처리량은 오르지만 개별 프레임의 지연은 늘 수 있습니다. 실시간 응용에서는 이 둘의 균형이 중요합니다. 실시간성을 확보하는 대표적 전략을 정리합니다.

계산량 줄이기

- **경량 백본**: 연산량이 적은 백본과 효율적 특징 융합으로 프레임당 비용을 낮춥니다.

- **프레임 샘플링**: 모든 프레임을 무겁게 처리하지 않고, 키프레임만 무겁게 처리하고 사이는 가볍게 추정·보간합니다.

- **관심 영역 처리**: 화면 전체가 아니라 물체가 있을 법한 영역에 계산을 집중합니다.

- **캐스케이드 처리**: 가벼운 모델로 빠르게 걸러내고, 의심스러운 경우에만 무거운 모델을 호출해 평균 비용을 낮춥니다.

표현·정밀도 최적화

- **양자화(quantization)**: 가중치·활성값의 정밀도를 낮춰 처리량을 높이고 메모리를 줄입니다.

- **지식 증류(distillation)**: 큰 모델의 지식을 작은 모델로 옮겨, 작은 모델이 더 나은 성능을 내도록 합니다.

- **가지치기(pruning)**: 중요도가 낮은 연결·채널을 제거해 모델을 가볍게 만듭니다.

스트리밍·상태 재사용

- **인과적 처리(causal processing)**: 미래 프레임을 기다리지 않고 과거·현재만으로 출력해 지연을 줄입니다.

- **상태 재사용**: 이전 프레임의 특징·메모리를 다음 프레임 계산에 재사용해 중복 연산을 피합니다.

이 세 축(계산량 줄이기, 표현·정밀도 최적화, 스트리밍·상태 재사용)은 서로 배타적이지 않고 함께 쓰입니다. 예컨대 경량 백본으로 계산량을 줄이고, 양자화로 정밀도를 낮추며, 상태 재사용으로 중복을 없애는 식으로 여러 기법을 겹쳐 실시간을 확보합니다. 다만 각 기법은 정확도를 조금씩 깎을 수 있으므로, 어디까지 감내할지는 응용의 요구가 결정합니다. 최적화는 "공짜"가 아니라 언제나 무언가와의 교환입니다.

실시간 파이프라인 절충 (개념)

정확도 <-----------------------> 속도

| |

무거운 백본 경량 백본

모든 프레임 처리 키프레임+보간

높은 해상도 낮은 해상도

전역 어텐션 지역/분해 어텐션

높은 정밀도 양자화

실무: 목표 지연/정확도에 맞춰 이 축들을 조합

핵심은 정답이 하나가 아니라는 점입니다. 감시 카메라의 실시간 경보와 오프라인 스포츠 분석은 요구하는 지연·정확도가 다르므로, 최적 조합도 달라집니다.

응용 분야

- **감시·보안**: 실시간 침입 감지, 이상 행동 탐지, 사람·차량 계수. 지연이 짧아야 하고 오탐 관리가 중요합니다. 여러 카메라를 동시에 다뤄야 하는 규모의 문제도 큽니다.

- **스포츠 분석**: 선수·공 추적, 전술 분석, 하이라이트 자동 생성. 밀집·빠른 움직임·가림이 어려움입니다. 같은 유니폼을 입은 선수들의 ID 유지가 특히 까다롭습니다.

- **자율주행·로보틱스**: 주변 물체 추적과 미래 궤적 예측이 안전에 직결됩니다. 실시간성과 견고함이 필수이며, 드문 상황(예외적 장면)에서도 무너지지 않아야 합니다.

- **미디어·편집**: 비디오에서 특정 물체를 마스크로 따내 편집하거나 배경을 바꾸는 작업에 프롬프트 분할·추적이 쓰입니다. 여기서는 실시간성보다 정밀도·일관성이 우선입니다.

- **의료·행동 분석**: 재활 동작 평가, 수술 영상 분석 등에서 세밀한 시간적 행동 이해가 필요합니다. 정확성과 설명 가능성이 중요합니다.

응용마다 지연·정확도·견고함의 우선순위가 다르며, 그 우선순위가 아키텍처와 최적화 선택을 좌우합니다. 예컨대 자율주행은 지연과 견고함을 함께 극한으로 요구하지만, 미디어 편집은 시간을 들여서라도 정밀한 마스크를 원합니다. 같은 "비디오 분석"이라는 이름 아래에서도 요구가 이렇게 갈립니다.

실무에서 자주 마주치는 문제

실시간 비디오 시스템을 실제로 운영하면 이론에서 잘 드러나지 않는 문제들이 나타납니다.

- **가림과 재등장**: 물체가 다른 물체 뒤로 사라졌다 나타나면 추적이 끊기기 쉽습니다. 메모리·재식별로 완화하지만 완전하지 않습니다.

- **모션 블러·저조도**: 빠른 움직임이나 어두운 환경에서는 검출·추적 품질이 급격히 떨어집니다.

- **카메라 이동**: 움직이는 카메라(드론·차량)는 배경 자체가 흘러가 운동 모델을 어렵게 만듭니다.

- **밀집·유사 외형**: 비슷하게 생긴 물체가 많으면(군중, 같은 유니폼) ID 스위칭이 잦아집니다.

- **드리프트**: 오차가 프레임에 걸쳐 누적되며 추적이 서서히 어긋날 수 있습니다. 주기적 재검출로 보정합니다.

실시간 추적 실패 모드 (개념)

가림 -----> 트랙 끊김 -----> 재식별로 재연결 시도

블러 -----> 검출 실패 -----> 프레임 스킵/보간으로 버팀

카메라 이동 -> 운동 예측 오류 -> 배경 보정 필요

밀집 -----> ID 스위칭 -----> 강한 외형 특징으로 완화

이런 문제들은 "완벽히 푼다"기보다 "얼마나 잘 완화하느냐"의 문제입니다. 그래서 실무 시스템은 실패를 감지하고 복구하는 로직(재검출 트리거, 신뢰도 기반 폐기 등)을 함께 갖춥니다.

하드웨어와 배포의 관점

실시간성은 모델만의 문제가 아니라 배포 환경과 함께 결정됩니다.

- **엣지 대 서버**: 카메라 근처(엣지)에서 처리하면 지연·대역폭이 유리하지만 연산 자원이 제한됩니다. 서버로 보내면 강한 모델을 쓰지만 전송 지연이 생깁니다.

- **가속기 활용**: GPU·전용 가속기에 맞춘 최적화(연산 융합, 배치, 정밀도 조절)가 처리량을 크게 바꿉니다.

- **파이프라인 병렬화**: 디코딩·전처리·추론·후처리를 파이프라인으로 겹쳐 처리량을 높입니다.

- **입력 스트림 관리**: 여러 카메라를 동시에 다룰 때는 프레임 드롭·우선순위 정책이 필요합니다.

배포 관점을 무시한 채 정확도만 높이면, 실제로는 프레임을 따라가지 못해 무용지물이 되기 쉽습니다. "정확하지만 늦은" 결과와 "덜 정확하지만 제때 오는" 결과 중 무엇이 나은지는 응용이 결정합니다.

벤치마크를 읽는 법

비디오 분석 논문의 수치를 읽을 때 유의할 점이 있습니다.

- **지연을 함께 보라**: "정확도 X%"만 보고 판단하면 안 됩니다. 그 정확도를 어떤 프레임률·해상도·하드웨어에서 냈는지가 실시간성을 좌우합니다.

- **데이터셋 특성**: 벤치마크가 상정한 장면(도심 도로, 실내, 스포츠 등)이 내 응용과 얼마나 닮았는지 확인해야 합니다.

- **평가 조건**: 온라인(스트리밍) 평가인지 오프라인(전체 영상을 본 뒤) 평가인지에 따라 난이도가 다릅니다. 미래 프레임을 볼 수 있으면 대체로 더 쉽습니다.

이런 맥락을 무시하고 표의 숫자만 비교하면 잘못된 결론에 이르기 쉽습니다. 항상 "어떤 조건에서 잰 수치인가"를 함께 물어야 합니다.

특히 "실시간"이라는 표현 자체가 상대적입니다. 어떤 응용에는 초당 5프레임이면 충분하지만, 다른 응용에는 30프레임 이상이 필요합니다. 또 같은 프레임률이라도 처리 지연이 누적되면 결과가 실제 상황보다 뒤처집니다. 따라서 논문이 "실시간"이라고 주장할 때, 그 기준이 내 응용의 기준과 같은지 확인하는 것이 중요합니다.

강점과 한계 정리

| 접근 | 강점 | 한계 |

|---|---|---|

| 3D 합성곱 | 지역 움직임 포착에 강함 | 긴 시간 의존성에 상대적으로 약함 |

| 시공간 트랜스포머 | 전역 관계·장기 의존성 | 연산량 큼(절충 필요) |

| 검출 기반 MOT | 모듈화·유연함 | ID 스위칭, 밀집 장면에 취약 |

| 프롬프트 분할·추적 | 마스크 수준 통합 추적 | 실시간성·긴 비디오 안정성 난제 |

| 경량화·양자화 | 실시간 확보 | 정확도 손실 가능 |

마무리

실시간 비디오 분석은 "정확도"라는 한 축만으로 설명되지 않습니다. 시간 축이 더해지면서 추적의 일관성, 가림 처리, 그리고 무엇보다 지연 시간이 함께 걸립니다. 아키텍처는 시공간 어텐션으로 표현력을 얻고, 최적화는 경량화·스트리밍으로 속도를 벌며, 이 둘 사이의 절충에서 실무 시스템이 만들어집니다.

SAM 2 계열이 보여준 "프롬프트로 지정하고 프레임에 걸쳐 전파한다"는 사고방식은 분할과 추적의 경계를 흐리며 비디오 이해의 부품을 재편하고 있습니다. 새 모델이 계속 나오더라도, 과제의 구조와 절충의 원리를 이해하면 변화를 훨씬 수월하게 따라갈 수 있습니다.

실무자에게 남기고 싶은 조언은 이것입니다. 비디오 시스템을 설계할 때 "가장 정확한 모델"을 먼저 찾기보다, "우리가 견뎌야 하는 지연은 얼마이고, 어떤 실패(가림·블러·ID 스위칭)를 얼마나 감내할 수 있는가"를 먼저 정하십시오. 그 제약이 정해지면, 시간 모델링 방식과 최적화 기법, 배포 위치를 그 위에서 조합하는 일이 훨씬 명확해집니다. 비디오 이해의 어려움은 대부분 시간과 자원의 제약에서 오며, 그 제약을 정직하게 마주하는 것이 좋은 시스템의 출발점입니다.

참고 자료

- Segment Anything 논문(이미지 SAM): [arxiv.org/abs/2304.02643](https://arxiv.org/abs/2304.02643)

- Segment Anything 공식 페이지: [segment-anything.com](https://segment-anything.com)

- Attention Is All You Need(트랜스포머): [arxiv.org/abs/1706.03762](https://arxiv.org/abs/1706.03762)

- ViT(비전 트랜스포머) 논문: [arxiv.org/abs/2010.11929](https://arxiv.org/abs/2010.11929)

- DETR(집합 예측 검출) 논문: [arxiv.org/abs/2005.12872](https://arxiv.org/abs/2005.12872)

- I3D(비디오 3D 합성곱) 논문: [arxiv.org/abs/1705.07750](https://arxiv.org/abs/1705.07750)

- SORT(온라인 다중 객체 추적) 논문: [arxiv.org/abs/1602.00763](https://arxiv.org/abs/1602.00763)

- Segment Anything 코드: [github.com/facebookresearch/segment-anything](https://github.com/facebookresearch/segment-anything)

퀴즈

행동 인식은 클립·스트림에서 "무슨 행동인가"를 분류합니다. 시간적 위치 추정은 긴 비디오에서 "언제부터 언제까지" 그 행동이 일어났는지 구간까지 찾아냅니다.

프레임 수와 프레임당 패치 수가 곱해져 어텐션 비용이 커지기 때문입니다. 이를 완화하려 공간·시간 어텐션을 분해하거나 토큰을 줄이거나 지역 어텐션을 씁니다.

한 프레임의 프롬프트로 지정한 대상의 마스크를 이후 프레임으로 전파하고, 메모리 구조로 가림·재등장에도 동일 대상을 이어 붙이는 것입니다. 분할과 추적을 마스크 수준에서 통합합니다.

프레임마다 검출기로 박스를 얻고, 위치 예측(운동 모델)과 외형 매칭(재식별)으로 이전 트랙과 연결해 같은 물체에 일관된 ID를 유지합니다.

가림이나 물체 교차 상황에서 원래 트랙의 ID가 다른 물체로 뒤바뀌는 문제입니다. 밀집 장면과 유사 외형에서 특히 발생하기 쉽습니다.

경량 백본 사용, 키프레임만 무겁게 처리하고 사이 프레임은 가볍게 보간하는 프레임 샘플링, 관심 영역 집중 처리 등이 있습니다.

미래 프레임을 기다리지 않고 과거·현재 정보만으로 출력하기 때문입니다. 스트리밍 환경에서 즉시 응답이 필요할 때 유리합니다.

응용마다 요구하는 지연·정확도·견고함의 우선순위가 다르기 때문입니다. 감시 경보와 오프라인 스포츠 분석은 서로 다른 절충을 요구하므로 최적 설정도 달라집니다.

검출 기반 추적은 프레임별 검출 후 별도로 연결합니다(모듈화 쉬움, 검출기 의존). 공동 검출·추적은 검출과 추적을 하나의 모델로 함께 학습해, 프레임 간 특징 전파나 트랙 쿼리로 두 과정을 묶습니다.

"앉기"와 "일어서기"처럼 한 프레임만으로는 구분이 어려운 행동이 많기 때문입니다. 광학 흐름 같은 움직임 표현을 함께 쓰면 시간에 걸친 변화를 포착해 행동을 더 잘 구분합니다.

프레임이 계속 밀려오므로, 처리 속도가 프레임 속도를 못 따라가면 밀린 결과는 이미 지난 상황을 가리킵니다. 감시·자율주행처럼 즉시성이 중요한 응용에서는 제때 오는 근사값이 더 유용할 수 있습니다.

엣지(카메라 근처)는 전송 지연·대역폭이 유리하지만 연산 자원이 제한됩니다. 서버는 강한 모델을 쓸 수 있지만 전송 지연이 생깁니다. 응용의 지연 요구와 자원 제약에 따라 선택이 갈립니다.

현재 단락 (1/195)

이미지 한 장을 이해하는 것과 시간이 흐르는 비디오를 이해하는 것은 다른 문제입니다. 비디오에는 시간 축이 더해지고, 물체는 움직이고 가려지고 다시 나타납니다. "지금 무슨 일이 ...

작성 글자: 0원문 글자: 11,256작성 단락: 0/195