이벤트 기반 카메라의 데이터 형식

이벤트 카메라는 기존 프레임 기반 카메라와 달리, 픽셀 단위에서 발생하는 밝기 변화에 대한 정보를 비동기적으로 전달한다. 이벤트 데이터는 각 픽셀이 특정 조건을 만족할 때마다 이벤트를 생성하며, 각 이벤트는 4개의 주요 정보로 구성된다:

e_i = (x_i, y_i, t_i, p_i)

이러한 형식의 데이터는 시간 축에 따라 연속적인 프레임을 제공하지 않고, 개별적인 이벤트로 이루어진 스트림을 형성한다. 이벤트 스트림은 각 픽셀에서의 밝기 변화만을 기록하기 때문에 전통적인 프레임 기반 카메라와는 다른 성격을 지닌다.

이벤트 발생 조건

이벤트는 각 픽셀에서 밝기 변화가 일정 임계값을 넘을 때 발생한다. 이를 수식으로 표현하면 다음과 같다:

\Delta L(x_i, y_i, t) = \log(I(x_i, y_i, t)) - \log(I(x_i, y_i, t - \Delta t))

여기서 I(x_i, y_i, t)는 시간 t에서 픽셀 (x_i, y_i)의 밝기 값을 나타내며, 이벤트는 다음 조건을 만족할 때 발생한다:

\left| \Delta L(x_i, y_i, t) \right| \geq C

여기서 C는 임계값으로, 이 값이 클수록 작은 밝기 변화는 이벤트로 기록되지 않는다. 극성 p_i는 다음과 같이 정의된다:

p_i = \begin{cases} +1 & \text{밝기 증가 시} \\ -1 & \text{밝기 감소 시} \end{cases}

이벤트 스트림의 특성

이벤트 데이터는 시간적으로 매우 높은 해상도를 제공한다. 이는 이벤트가 발생하는 순간을 매우 정확하게 기록할 수 있음을 의미한다. 타임스탬프 t_i는 보통 마이크로초 단위로 기록되며, 각 이벤트는 비동기적으로 발생한다. 따라서 이벤트 스트림은 다음과 같은 특성을 지닌다:

이벤트 데이터의 공간적 해상도

이벤트 카메라의 공간적 해상도는 센서의 픽셀 수에 따라 결정된다. 전통적인 카메라와 마찬가지로, 픽셀 수가 많을수록 공간적 해상도는 높아진다. 하지만 이벤트 카메라는 각 픽셀에서 발생하는 이벤트만을 기록하기 때문에, 특정 시점에서의 전체 이미지 정보는 제공되지 않는다. 대신, 특정 시간 간격 동안 발생한 이벤트들을 통해 장면을 재구성할 수 있다.

이벤트 데이터의 구조를 시각적으로 표현하면 다음과 같은 스트림 형태로 나타난다:

graph TD A[이벤트 카메라] --> B(이벤트 스트림) B --> C[x 좌표] B --> D[y 좌표] B --> E[타임스탬프] B --> F[극성]

이벤트 데이터의 극성 및 밝기 변화

이벤트 카메라에서 극성은 픽셀의 밝기 변화 방향을 나타낸다. 밝기가 증가하면 극성은 양수 (+1), 감소하면 음수 (-1)로 기록된다. 이는 전통적인 카메라에서 밝기 값을 절대적으로 기록하는 것과 달리, 상대적인 변화만 기록하는 방식이다. 이를 통해 밝기 변화의 방향뿐 아니라 속도도 분석할 수 있다.

이벤트 카메라의 데이터 처리 방식

이벤트 카메라에서 생성된 데이터는 기존의 프레임 기반 영상 처리와는 다른 방식으로 처리된다. 이벤트 스트림은 각 픽셀의 밝기 변화에 대한 비동기적인 정보이기 때문에, 특정 시간 구간에서의 데이터를 집계하거나, 적절한 시간 범위 내에서 발생한 이벤트를 누적하여 분석하는 방식으로 처리된다.

이벤트 데이터의 집합적 표현

특정 시간 구간 [t_1, t_2] 동안 발생한 모든 이벤트 e_i의 집합을 수식으로 표현하면 다음과 같다:

\mathcal{E}(t_1, t_2) = \{e_i \mid t_1 \leq t_i \leq t_2 \}

이러한 이벤트 집합은 다양한 방식으로 처리될 수 있으며, 대표적인 처리 방법으로는 다음과 같은 방식이 있다:

이벤트 데이터를 이러한 방식으로 표현함으로써, 공간적으로 또는 시간적으로 복잡한 장면 내에서의 중요한 특징을 효과적으로 추출할 수 있다.

타임 서프(Timestamp Surface) 예시

타임 서프는 각 픽셀에서 가장 최근에 발생한 이벤트의 타임스탬프를 기록하는 방법으로, 이를 통해 장면 내에서 시간적으로 얼마나 빠르게 변화가 발생하는지 확인할 수 있다. 타임 서프는 다음과 같은 행렬로 표현할 수 있다:

\mathbf{T}(x, y) = \max\{ t_i \mid (x_i, y_i) = (x, y) \}

여기서 \mathbf{T}(x, y)는 각 픽셀 (x, y)에서 가장 최근에 발생한 이벤트의 타임스탬프를 나타낸다.

타임 서프는 이벤트가 주로 발생한 영역을 강조하는 데 유용하며, 물체의 경계를 추출하거나 빠르게 움직이는 물체를 감지하는 데 활용될 수 있다.

극성 맵(Polarity Map) 예시

극성 맵은 특정 시간 구간 동안 발생한 모든 이벤트의 극성을 기록하여, 장면 내에서 밝기가 증가하거나 감소하는 패턴을 시각적으로 분석할 수 있는 방법이다. 극성 맵은 다음과 같은 행렬로 표현된다:

\mathbf{P}(x, y) = \sum_{t_1 \leq t_i \leq t_2} p_i \cdot \delta(x_i - x, y_i - y)

여기서 \delta는 디랙 델타 함수로, 이벤트가 발생한 픽셀 위치에서만 값을 1로 설정한다. 이 수식을 통해, 시간 구간 [t_1, t_2] 동안 특정 픽셀에서 발생한 극성 변화를 기록하게 된다.

극성 맵을 사용하면 밝기 변화의 패턴을 더욱 직관적으로 파악할 수 있으며, 특정 패턴을 분석하는 데 유용하다.

이벤트 누적 맵(Event Accumulation Map) 예시

이벤트 누적 맵은 특정 시간 구간 동안 발생한 이벤트의 수를 누적하여, 장면 내에서의 밝기 변화의 양을 시각화한다. 이를 통해, 움직임이 많은 영역을 강조할 수 있다. 이벤트 누적 맵은 다음과 같은 행렬로 정의된다:

\mathbf{A}(x, y) = \sum_{t_1 \leq t_i \leq t_2} \delta(x_i - x, y_i - y)

이 수식을 통해, 특정 시간 동안 발생한 이벤트의 양을 각 픽셀마다 누적하여 기록할 수 있다. 이는 움직임이 많거나 변화가 큰 영역을 강조하는 데 적합하다.