# 이벤트 데이터 형식과 특성

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

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

$$
e\_i = (x\_i, y\_i, t\_i, p\_i)
$$

* $x\_i$: 이벤트가 발생한 픽셀의 x 좌표
* $y\_i$: 이벤트가 발생한 픽셀의 y 좌표
* $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$는 보통 마이크로초 단위로 기록되며, 각 이벤트는 비동기적으로 발생한다. 따라서 이벤트 스트림은 다음과 같은 특성을 지닌다:

* **높은 시간 해상도**: 이벤트 데이터는 발생 순간을 실시간으로 기록하기 때문에 동적인 장면에서 빠른 객체의 움직임을 포착하는 데 적합하다.
* **저장 효율성**: 불필요한 프레임 데이터를 기록하지 않고 밝기 변화만을 저장하기 때문에 데이터 양이 훨씬 적다. 이는 저장 공간 및 전송 대역폭의 절감을 가능하게 한다.
* **비동기성**: 각 픽셀이 독립적으로 이벤트를 생성하기 때문에 데이터가 비동기적으로 발생하며, 고정된 프레임 레이트에 의존하지 않는다.

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

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

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

{% @mermaid/diagram content="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)**: 각 픽셀에서 가장 최근에 발생한 이벤트의 타임스탬프를 기록하여, 공간적으로 이벤트의 발생 패턴을 시각화하는 방법.
* **극성 맵(Polarity Map)**: 특정 시간 구간 동안 발생한 모든 이벤트의 극성을 기록하여, 장면 내 밝기 변화의 방향성을 파악하는 방법.
* **이벤트 누적 맵(Event Accumulation Map)**: 주어진 시간 동안 발생한 이벤트의 수를 누적하여 밝기 변화의 양을 시각화하는 방법.

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

#### 타임 서프(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)
$$

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