이벤트 기반 카메라의 데이터 형식
이벤트 카메라는 기존 프레임 기반 카메라와 달리, 픽셀 단위에서 발생하는 밝기 변화에 대한 정보를 비동기적으로 전달한다. 이벤트 데이터는 각 픽셀이 특정 조건을 만족할 때마다 이벤트를 생성하며, 각 이벤트는 4개의 주요 정보로 구성된다:
- x_i: 이벤트가 발생한 픽셀의 x 좌표
- y_i: 이벤트가 발생한 픽셀의 y 좌표
- t_i: 이벤트 발생 시간 (타임스탬프)
- p_i: 이벤트의 극성 (폴라리티, 즉 밝기의 증가 또는 감소)
이러한 형식의 데이터는 시간 축에 따라 연속적인 프레임을 제공하지 않고, 개별적인 이벤트로 이루어진 스트림을 형성한다. 이벤트 스트림은 각 픽셀에서의 밝기 변화만을 기록하기 때문에 전통적인 프레임 기반 카메라와는 다른 성격을 지닌다.
이벤트 발생 조건
이벤트는 각 픽셀에서 밝기 변화가 일정 임계값을 넘을 때 발생한다. 이를 수식으로 표현하면 다음과 같다:
여기서 I(x_i, y_i, t)는 시간 t에서 픽셀 (x_i, y_i)의 밝기 값을 나타내며, 이벤트는 다음 조건을 만족할 때 발생한다:
여기서 C는 임계값으로, 이 값이 클수록 작은 밝기 변화는 이벤트로 기록되지 않는다. 극성 p_i는 다음과 같이 정의된다:
이벤트 스트림의 특성
이벤트 데이터는 시간적으로 매우 높은 해상도를 제공한다. 이는 이벤트가 발생하는 순간을 매우 정확하게 기록할 수 있음을 의미한다. 타임스탬프 t_i는 보통 마이크로초 단위로 기록되며, 각 이벤트는 비동기적으로 발생한다. 따라서 이벤트 스트림은 다음과 같은 특성을 지닌다:
- 높은 시간 해상도: 이벤트 데이터는 발생 순간을 실시간으로 기록하기 때문에 동적인 장면에서 빠른 객체의 움직임을 포착하는 데 적합하다.
- 저장 효율성: 불필요한 프레임 데이터를 기록하지 않고 밝기 변화만을 저장하기 때문에 데이터 양이 훨씬 적다. 이는 저장 공간 및 전송 대역폭의 절감을 가능하게 한다.
- 비동기성: 각 픽셀이 독립적으로 이벤트를 생성하기 때문에 데이터가 비동기적으로 발생하며, 고정된 프레임 레이트에 의존하지 않는다.
이벤트 데이터의 공간적 해상도
이벤트 카메라의 공간적 해상도는 센서의 픽셀 수에 따라 결정된다. 전통적인 카메라와 마찬가지로, 픽셀 수가 많을수록 공간적 해상도는 높아진다. 하지만 이벤트 카메라는 각 픽셀에서 발생하는 이벤트만을 기록하기 때문에, 특정 시점에서의 전체 이미지 정보는 제공되지 않는다. 대신, 특정 시간 간격 동안 발생한 이벤트들을 통해 장면을 재구성할 수 있다.
이벤트 데이터의 구조를 시각적으로 표현하면 다음과 같은 스트림 형태로 나타난다:
이벤트 데이터의 극성 및 밝기 변화
이벤트 카메라에서 극성은 픽셀의 밝기 변화 방향을 나타낸다. 밝기가 증가하면 극성은 양수 (+1), 감소하면 음수 (-1)로 기록된다. 이는 전통적인 카메라에서 밝기 값을 절대적으로 기록하는 것과 달리, 상대적인 변화만 기록하는 방식이다. 이를 통해 밝기 변화의 방향뿐 아니라 속도도 분석할 수 있다.
이벤트 카메라의 데이터 처리 방식
이벤트 카메라에서 생성된 데이터는 기존의 프레임 기반 영상 처리와는 다른 방식으로 처리된다. 이벤트 스트림은 각 픽셀의 밝기 변화에 대한 비동기적인 정보이기 때문에, 특정 시간 구간에서의 데이터를 집계하거나, 적절한 시간 범위 내에서 발생한 이벤트를 누적하여 분석하는 방식으로 처리된다.
이벤트 데이터의 집합적 표현
특정 시간 구간 [t_1, t_2] 동안 발생한 모든 이벤트 e_i의 집합을 수식으로 표현하면 다음과 같다:
이러한 이벤트 집합은 다양한 방식으로 처리될 수 있으며, 대표적인 처리 방법으로는 다음과 같은 방식이 있다:
- 타임스탬프 서피스(Timestamp Surface): 각 픽셀에서 가장 최근에 발생한 이벤트의 타임스탬프를 기록하여, 공간적으로 이벤트의 발생 패턴을 시각화하는 방법.
- 극성 맵(Polarity Map): 특정 시간 구간 동안 발생한 모든 이벤트의 극성을 기록하여, 장면 내 밝기 변화의 방향성을 파악하는 방법.
- 이벤트 누적 맵(Event Accumulation Map): 주어진 시간 동안 발생한 이벤트의 수를 누적하여 밝기 변화의 양을 시각화하는 방법.
이벤트 데이터를 이러한 방식으로 표현함으로써, 공간적으로 또는 시간적으로 복잡한 장면 내에서의 중요한 특징을 효과적으로 추출할 수 있다.
타임 서프(Timestamp Surface) 예시
타임 서프는 각 픽셀에서 가장 최근에 발생한 이벤트의 타임스탬프를 기록하는 방법으로, 이를 통해 장면 내에서 시간적으로 얼마나 빠르게 변화가 발생하는지 확인할 수 있다. 타임 서프는 다음과 같은 행렬로 표현할 수 있다:
여기서 \mathbf{T}(x, y)는 각 픽셀 (x, y)에서 가장 최근에 발생한 이벤트의 타임스탬프를 나타낸다.
타임 서프는 이벤트가 주로 발생한 영역을 강조하는 데 유용하며, 물체의 경계를 추출하거나 빠르게 움직이는 물체를 감지하는 데 활용될 수 있다.
극성 맵(Polarity Map) 예시
극성 맵은 특정 시간 구간 동안 발생한 모든 이벤트의 극성을 기록하여, 장면 내에서 밝기가 증가하거나 감소하는 패턴을 시각적으로 분석할 수 있는 방법이다. 극성 맵은 다음과 같은 행렬로 표현된다:
여기서 \delta는 디랙 델타 함수로, 이벤트가 발생한 픽셀 위치에서만 값을 1로 설정한다. 이 수식을 통해, 시간 구간 [t_1, t_2] 동안 특정 픽셀에서 발생한 극성 변화를 기록하게 된다.
극성 맵을 사용하면 밝기 변화의 패턴을 더욱 직관적으로 파악할 수 있으며, 특정 패턴을 분석하는 데 유용하다.
이벤트 누적 맵(Event Accumulation Map) 예시
이벤트 누적 맵은 특정 시간 구간 동안 발생한 이벤트의 수를 누적하여, 장면 내에서의 밝기 변화의 양을 시각화한다. 이를 통해, 움직임이 많은 영역을 강조할 수 있다. 이벤트 누적 맵은 다음과 같은 행렬로 정의된다:
이 수식을 통해, 특정 시간 동안 발생한 이벤트의 양을 각 픽셀마다 누적하여 기록할 수 있다. 이는 움직임이 많거나 변화가 큰 영역을 강조하는 데 적합하다.