실시간 이벤트 카메라 클러스터링을 위한 O(n) 비동기 알고리즘
초록
본 논문은 이벤트 카메라의 비동기 스트림을 직접 처리하여, 시간·공간 거리 기준으로 작은 이벤트 클러스터를 실시간으로 탐지하는 O(n) 복잡도의 계층적 군집화 알고리즘을 제안한다. 클러스터의 루트 이벤트를 즉시 출력하며, 픽셀 배열 크기에 독립적인 실행 시간을 갖는다.
상세 분석
이 논문은 이벤트 카메라가 제공하는 비동기적, 고해상도 이벤트 흐름을 그대로 활용한다는 점에서 기존 프레임 기반 혹은 배치형 클러스터링 방법과 차별화된다. 핵심 아이디어는 이벤트를 시간 순서대로 하나씩 순회하면서, 현재 이벤트가 기존 클러스터에 속할지 혹은 새로운 클러스터를 시작할지를 결정하는 ‘시간 표면(Time Surface)’과 ‘루트 포인터’를 이용한 그래프 모델이다.
알고리즘은 네 개의 고정 파라미터(δ, d, n, m)만을 사용한다. δ는 시간적 허용 오차, d는 공간적 반경, n은 최소 이벤트 수, m은 최소 픽셀 수를 정의한다. 이벤트가 들어올 때마다 다음과 같은 절차가 수행된다. 1) 현재 픽셀이 이미 다른 클러스터 루트를 가리키고 있는지 확인하고, 기존 루트가 이미 새로운 클러스터에 의해 대체되었는지 검사한다. 2) 현재 픽셀 주변 d 반경 내에서 가장 최근에 업데이트된 타임 서피스 값을 가진 픽셀을 찾고, 그 픽셀이 가리키는 클러스터에 현재 이벤트를 연결한다. 3) 위 조건을 만족하지 않으면 새로운 클러스터를 생성한다.
이 과정은 모든 이벤트에 대해 상수 시간 연산만을 수행하므로 전체 복잡도는 O(n)이다. 또한, 클러스터와 관련된 메타데이터(시작·종료 타임스탬프, 이벤트 수, 픽셀 수 등)는 픽셀 좌표에 매핑된 r×s 크기의 동적 배열에 저장된다. 따라서 메모리 사용량은 O(r·s)이며, 이는 카메라 해상도에 비례하지만, 실제 운영에서는 메모리 초기화가 한 번만 이루어지므로 실시간 성능에 큰 영향을 주지 않는다.
알고리즘이 폴리포레스트 형태의 그래프를 구성한다는 점은 이론적으로 깔끔하지만, 실제 구현에서는 그래프 구조를 명시적으로 유지하지 않고 포인터와 배열만으로 구현한다는 점이 실용적이다. 또한, 폴라리티(polarity)를 전혀 사용하지 않으며, 이는 이벤트의 부호 정보를 활용할 수 있는 잠재적 확장 여지를 남긴다.
강점으로는 (1) 이벤트 흐름을 한 번만 순회하면서 클러스터 루트를 즉시 제공한다는 실시간성, (2) 픽셀 해상도와 무관한 시간 복잡도, (3) 파라미터가 직관적이며 조정이 용이하다는 점을 들 수 있다. 반면 약점은 다음과 같다. 첫째, 실험 결과가 전혀 제시되지 않아 실제 처리 속도와 메모리 사용량, 그리고 다른 최신 이벤트 기반 클러스터링 기법과의 정량적 비교가 불가능하다. 둘째, 파라미터 δ와 d가 고정값으로 설정돼 있어 동적 환경(조명 변화, 움직임 속도 변화)에서 적응적으로 조정되지 않는다. 셋째, 노이즈 픽셀에 대한 처리 로직이 단순히 픽셀 수 기준(m)으로만 제한되는데, 고주파 노이즈가 집중되는 경우 오탐이 발생할 가능성이 있다. 넷째, 알고리즘이 단일 스레드 기반으로 가정하고 있어, 멀티코어 혹은 GPU 가속을 통한 추가 속도 향상 가능성을 탐구하지 않았다.
향후 연구 방향으로는 (1) 파라미터 자동 튜닝 메커니즘(예: 적응형 δ·d) 도입, (2) 폴라리티와 이벤트 강도 정보를 활용한 클러스터 품질 향상, (3) 대규모 실험을 통한 벤치마크와 기존 방법과의 정량적 비교, (4) GPU 기반 병렬 구현을 통한 초고속 처리, (5) 클러스터 내부 구조(예: 트리 깊이, 이벤트 간 거리 분포) 분석을 통한 응용 분야 확대(예: 객체 추적, SLAM) 등을 제안한다.
전반적으로 이 논문은 이벤트 카메라의 비동기 특성을 활용한 O(n) 클러스터링 프레임워크를 제시함으로써 이론적 기여는 크지만, 실험적 검증과 실용적 최적화 부분이 부족한 상태이다.
댓글 및 학술 토론
Loading comments...
의견 남기기