Multi-Frame 기반 VLM 탐지: 단일 이미지 한계를 넘어 시간적 맥락으로
단일 프레임은 충분한가?
최근 Vision-Language Model(VLM)은 단일 이미지에 대한 이해 능력에서 매우 높은 성능을 보여주고 있습니다. 대규모 멀티모달 모델들은 다중 이미지와 텍스트 조건을 함께 처리하는 구조를 제시하며, 멀티 프레임 기반 추론 가능성을 이론적으로 확장해왔습니다.
그러나 실제 산업 현장의 탐지 시나리오는 연구 환경과 다르게 훨씬 복잡합니다. 단일 프레임으로는 충분해 보이던 문제도, 실제 운영 환경에서는 다양한 오탐과 경계 사례를 만들어냅니다.
예를 들어, 사람이 바닥에 누워 있는 장면이 있습니다. 그 순간만 보면 쓰러짐으로 판단하기 쉽습니다. 하지만 바로 직전 프레임에서는 스트레칭을 하고 있었을 수도 있고, 작업 도중 잠시 자세를 바꾼 것일 수도 있습니다.
야간 환경에서는 렌즈 플레어나 조명 반사, 빛 번짐 현상이 화재의 색상 패턴과 유사하게 나타나 단일 이미지 기준으로는 화재로 오탐되는 경우도 존재합니다. 사람조차 한 장의 스냅샷만 보고는 확신하기 어려운 상황에서, 모델에게 단일 프레임만을 제공하는 것은 구조적으로 한계를 가질 수밖에 없습니다.

이러한 사례는 공통적으로 “맥락 부족”이라는 문제를 공유합니다.
시간은 가장 강력한 컨텍스트다
탐지 시나리오 중에는 본질적으로 시간적 흐름을 전제로 하는 것들이 존재합니다.
배회는 일정 시간 이상 동일 공간에 머무르는 패턴을 봐야 정의할 수 있습니다. 장시간 방치 역시 특정 물체가 놓인 뒤 일정 시간 이상 변화가 없다는 조건이 필요합니다.
이러한 문제를 단일 프레임으로 해결하려는 시도는 구조적으로 어렵습니다. “상태”가 아니라 “변화”를 봐야 하기 때문입니다.
우리는 이를 세 가지 컨텍스트 수준으로 구분했습니다.
- 단일 이미지 기반 판단
- 짧은 구간의 멀티 이미지 기반 순간적 맥락 판단
- 시간 흐름을 포함한 멀티 이미지 기반 Temporal 판단
실제 운영 환경에서는 이 세 가지가 혼재합니다. 어떤 시나리오는 단일 프레임으로 충분하고, 어떤 시나리오는 몇 초 간격의 연속 프레임이 필요하며, 또 어떤 경우는 수십 초 이상의 흐름을 봐야 합니다.
EVA의 Multi Frame Manager
EVA에서는 사용자가 작성한 시나리오를 단순한 텍스트 조건으로 보지 않습니다. 해당 시나리오가 요구하는 “맥락 수준”을 분석한 뒤, 그에 맞는 프레임 수집 전략을 결정합니다.
예를 들어, 쓰러짐 탐지라면 단일 프레임이 아니라 전후 몇 초 구간을 포함한 멀티 이미지가 필요합니다. 반면 장시간 방치는 슬라이딩 윈도우 기반으로 일정 시간 동안의 프레임을 지속적으로 수집해야 합니다.
이 과정을 담당하는 모듈이 Multi Frame Manager입니다. 이 모듈은 시나리오 특성에 따라 아래의 사항을 동적으로 결정합니다.
- 필요한 프레임 수
- 수집 간격
- 유지 시간
- 이벤트 트리거 확장 여부
수집된 이미지는 단순히 나열되지 않습니다. 시간 순서가 명확히 정렬된 상태로 VLM에 전달되며, 모델이 프레임 간 변화를 비교하도록 유도하는 시스템 프롬프트가 함께 적용됩니다.
멀티 이미지 기반 VLM 추론 전략
멀티 프레임 입력이 들어오면 VLM은 단순히 각 장면의 객체를 개별적으로 검출하는 데 그치지 않습니다. EVA에서는 멀티 이미지를 독립적인 데이터 집합이 아닌, 하나의 연속된 흐름(Context)으로 해석하도록 추론 구조를 설계했습니다.
이를 위해 프레임들은 다음과 같은 전략을 통해 모델에 전달됩니다.
- 시간 순서 기반 프레임 정렬: 과거에서 현재로 이어지는 시계열 데이터를 구성하여 사건의 인과관계를 파악합니다.
- 비교 유도 시스템 프롬프트: "이전 프레임 대비 변화된 지점을 식별하라"는 지시어를 통해 프레임 간 상관관계를 분석합니다.
- 시간적 맥락 추론 (Temporal Reasoning): 단편적인 스냅샷 판단이 아닌, 시간의 흐름에 따른 상태 변화를 논리적으로 도출합니다.
Case Study: 오탐을 줄이는 시간적 맥락의 힘
아래의 사례는 단일 프레임의 정보가 멀티 프레임의 '맥락'을 통해 어떻게 정확하게 정정되는지 보여주는 대표적인 예시입니다.

- Single Image: 사람이 바닥에 낮게 엎드린 자세로 정지해 있습니다. 이 순간만 본 VLM은 상황을 "사람이 쓰러져 있음(Collapse)"으로 오판할 확률이 매우 높습니다.
- Multi-Image: 이어지는 프레임에서 사람이 팔을 움직여 휴대폰을 조작하고, 고개를 숙여 화면을 응시하는 미세한 움직임이 포착됩니다.
- 결과: EVA는 시간적 맥락 추론을 통해 이를 "앉아서 휴대폰 사용 중으로 판단" 으로 최종 결론 내립니다.
이처럼 모델이 각 프레임을 개별적으로 판단하는 것이 아니라 프레임 간 차이를 비교하며 상황을 이해하도록 유도하는 것이 핵심입니다.
쓰러짐과 같은 고위험 탐지의 경우, 모델은 다음과 같은 점진적 상황 구체화 (Progressive Situation Refinement) 과정을 거칩니다.
- 초기 상태 식별: 대상 객체(사람 등)와 초기 시각적 특징(누운 자세 등) 확인
- 동적 변화 감지: 이전 프레임 대비 신체 각도의 유의미한 변화나 자발적인 움직임 추적
- 상태 지속성 검증: 변화된 자세가 외부 충격에 의한 정지인지, 의도적인 동작이 수반되는지 판단
- 최종 문맥 확정: 유사한 시각적 패턴을 가진 노이즈(Noise)와 실제 이벤트(Event)를 정교하게 구분
이러한 시간적 맥락 추론 구조는 단일 이미지 기반 판단에서 발생하는 수많은 엣지 케이스 오탐을 획기적으로 줄여주며, 실제 운영 환경에서 훨씬 안정적인 결과를 제공합니다.
이처럼 모델이 각 프레임을 개별적으로 판단하는 것이 아니라 프레임 간 차이를 비교하며 상황을 이해하도록 유도하는 것이 핵심입니다.
쓰러짐이나 화재와 같은 고위험 탐지의 경우, 모델은 다음과 같은 점진적 상황 구체화 과정을 거칩니다.
- 초기 상태 식별: 대상 객체(사람, 차량 등)와 초기 시각적 특징(누운 자세, 붉은 빛 등) 확인
- 동적 변화 감지: 이전 프레임 대비 객체의 이동 궤적이나 추가적 인 등화 장치 점등 등의 변화 추적
- 상태 지속성 및 인과관계 검증: 일시적인 빛 번짐인지, 자발적인 움직임에 의한 상태 변화인지 인과관계를 판단
- 최종 문맥 확정: 유사한 시각적 패턴을 가진 노이즈(Noise)와 실제 이벤트(Event)를 정교하게 구분
이러한 시간적 맥락 추론 구조는 단일 이미지 기반 판단에서 발생하는 수많은 엣지 케이스(Edge Case) 오탐을 획기적으로 줄여주며, 실제 운영 환경에서 훨씬 안정적인 결과를 제공합니다.
| Category | Single Image | Multi Image | ||||
|---|---|---|---|---|---|---|
| accuracy | precision | recall | accuracy | precision | recall | |
| 보호구 미착용 | 0.66 | 0.87 | 0.68 | 0.76 | 0.87 | 0.82 |
| 작업 중 마스크 미착용 | 0.94 | 0.69 | 0.54 | 0.93 | 0.76 | 0.52 |
| 배회 | 0.49 | 0.92 | 0.33 | 0.63 | 0.85 | 0.64 |
| 쓰러짐 | 0.87 | 1.0 | 0.36 | 0.96 | 1.0 | 0.82 |
결과적으로 EVA의 멀티 프레임 추론 구조는 단순히 입력 이미지를 늘리는 방식이 아니라, 시간적 변화(temporal change)를 모델의 추론 과정에 직접 포함시키는 접근 방식이라고 볼 수 있습니다.
멀티 프레임의 대가: 연산 비용
정확도 향상에는 비용이 따릅니다.
멀티 프레임 기반 추론은 더 많은 시각 정보를 활용할 수 있다는 장점이 있지만, 동시에 연산 비용 증가라는 문제를 동반합니다. 멀티모달 모델에서 이미지 입력은 일반적으로 Vision Encoder를 통해 임베딩으로 변환된 후 LLM으로 전달되며, 이 과정은 비교적 높은 연산 비용을 요구합니다.
특히 멀티 프레임 분석에서는 다음과 같은 상황이 자주 발생합니다.
- 연속된 프레임 중 동일하거나 매우 유사한 이미지가 반복되는 경우
- 여러 요청이 동일한 카메라 프레임을 참조하는 경우
- 동일한 이미지를 기반으로 여러 질의를 수행하는 경우
이러한 경우 Vision Encoder가 동일한 이미지를 반복적으로 처리하게 되면서 불필요한 연산이 발생할 수 있습니다.
EVA에서는 이러한 문제를 해결하기 위해 vLLM에서 제공하는 Encoder Cache 기능을 최대한 활용하는 구조로 개발되었습니다.
vLLM은 멀티모달 입력 처리 시 Vision Encoder 결과를 캐싱하고 재사용할 수 있도록 Encoder Cache Manager 구조를 제공합니다.
이를 활용하면 동일한 이미지 입력에 대해 이미 생성된 encoder embedding을 재사용할 수 있어 Vision Encoder 연산을 반복 수행하지 않아도 됩니다.
EVA에서는 이러한 캐싱 기능을 효과적으로 활용하기 위해 Agent 레이어에서 요청을 관리하는 구조를 적용했습니다.
Agent는 다음과 같은 방식으로 요청을 조정합니다.
- 동일 이미지 입력이 재사용될 수 있도록 요청을 구성
- 캐시 활용이 가능하도록 이미지 단위를 기준으로 요청을 관리
- 불필요한 중복 인코딩이 발생하지 않도록 요청 흐름을 최적화
이를 통해 멀티 프레임 기반 분석 환경에서도 Vision Encoder 연산을 최소화하면서 GPU 자원을 보다 효율적으로 활용할 수 있습니다.
결론
멀티 프레임 기반 VLM 추론은 단일 이미지 기반 분석보다 상황 이해 능력과 탐지 정확도를 크게 향상시킬 수 있는 접근 방식입니다.
그러나 프레임 수가 증가할수록 Vision Encoder 연산량이 크게 증가하기 때문에 성능 향상뿐만 아니라 연산 효율성과 인프라 비용을 함께 고려한 설계가 중요합니다.
EVA에서는 이러한 문제를 해결하기 위해 vLLM의 Encoder Cache 기능을 적극적으로 활용하고, 이를 효과적으로 사용할 수 있도록 Agent 레이어에서 요청을 관리하는 구조를 적용했습니다.
이러한 구조를 통해 멀티 프레임 분석 환경에서도 추론 성능을 유지하면서 불필요한 연산을 줄이고, GPU 자원 활용 효율과 인프라 운영 비용 측면에서도 지속적인 개선을 이루고 있습니다.
해당 기능은 EVA v2.6.0 부터 제공됩니다.



