TL;DR

  • 자율주행 데이터의 시간 동기화는 여러 장치의 시계를 맞추는 데 그치지 않고, 센서별 캡처 시점과 프레임 내부 취득 시점까지 고려해야 정확한 센서 융합이 가능함.
  • NVIDIA Hyperion 10은 DRIVE AGX Thor 기반 컴퓨트 2대, 카메라 14대, 레이더 9대, 라이다 1대, 초음파 센서 12대가 통신하는 시스템이며, 각 장치가 자체 시계를 보유함.
  • PTP와 GNSS를 이용해 차량 내부 시계를 약 100ns 수준으로 동기화하고, 외부 신호가 끊기면 내부 시계로 운행한 뒤 신호 복구 후 다시 동기화함.
  • 센서별 작동 주기와 취득 방식이 달라 프레임 타임스탬프만으로는 부족할 수 있으며, 라이다 점이나 카메라 이미지 줄 단위의 시각 정보가 필요함.
  • 저장된 타임스탬프의 의미와 허용 시간 차이를 명시하고 센서 주기를 검증해야 하며, 동기화 오류는 파이프라인 오류 대신 모델 성능의 조용한 저하로 나타날 수 있음.

자율주행 센서 데이터에서 시계가 서로 다른 문제

  • 자율주행차에는 여러 컴퓨터가 들어가며, 카메라·라이다·레이더가 데이터를 생성하고 컴퓨터가 이를 수신해 처리함. 센서 자체에도 데이터 전처리나 통신을 위한 프로세서가 있을 수 있음.
  • NVIDIA의 Hyperion 10 문서에 따르면 DRIVE AGX Thor 기반 컴퓨트 2대, 카메라 14대, 레이더 9대, 라이다 1대, 초음파 센서 12대가 서로 통신하며 각 장치는 자체 시계를 보유함.
  • 자율주행에서는 몇 밀리초의 차이도 물체의 인지 위치에 의미 있는 변화를 일으킬 수 있어 정밀한 시간 동기화가 필요함.
  • 대표적인 방식은 정밀 시간 프로토콜(PTP)임. Waymo가 공개한 특허에서는 PTP로 차량 내부의 여러 시계를 공통 기준에 맞추고, 위성항법시스템(GNSS)에서 얻은 절대 시간으로 내부 시계를 약 100ns 수준까지 동기화함.
  • 터널 진입 등으로 외부 신호가 끊기면 내부 시계로 운행을 이어가고, 외부 신호를 다시 사용할 수 있게 된 뒤 재동기화하는 방식도 구현됨.

시계가 맞아도 센서의 캡처 시점은 다른 문제

  • 시계 동기화만으로는 충분하지 않음. 센서마다 데이터 취득 주기가 다르며, nuScenes 기준 카메라는 12Hz, 라이다는 20Hz, 레이더는 13Hz로 동작함.
  • 데이터셋 제작자는 실제 캡처 순간도 맞추려 함. nuScenes는 회전하는 라이다가 각 카메라 시야 중앙을 지나는 순간 카메라 셔터를 작동시킴.
  • 이는 사후에 타임스탬프가 가장 가까운 데이터를 고르는 방식이 아니라, 하드웨어 단계에서 센서가 대략 같은 시점의 장면을 촬영하도록 맞추는 방식임.

한 프레임 안에서도 흐르는 시간

  • 프레임 하나가 단일 시점을 나타낸다는 직관과 달리, 센서 프레임 내부에서도 취득 시점은 달라질 수 있음.
  • 라이다는 회전하면서 점을 취득함. 10Hz 라이다는 한 바퀴에 0.1초가 걸리며, 차량이 시속 100km로 이동하면 그동안 약 2.8m를 이동함. 따라서 한 라이다 프레임의 첫 점과 마지막 점은 약 2.8m 떨어진 위치에서 취득된 셈임.
  • Waymo 데이터셋의 카메라는 롤링 셔터(rolling shutter) 방식을 사용하므로 이미지의 모든 픽셀이 같은 순간에 촬영되지 않음. 이미지 위쪽 줄과 아래쪽 줄을 촬영하는 사이에도 시간이 흐름.
  • Waymo는 이미지마다 롤링 셔터 타이밍 정보를 제공하며, 이 타이밍을 고려해 라이다 점을 카메라 이미지에 투영한 결과도 별도로 제공함.
  • 적절한 시간 단위는 프레임보다 작을 수 있음. 센서 프레임 전체의 타임스탬프만으로 충분한 경우도 있지만, 라이다의 개별 점이나 카메라의 개별 이미지 줄이 취득된 시점까지 알아야 하는 경우도 있음.
  • 이런 조치에도 동기화 오차는 0이 아님. Waymo가 공개한 카메라와 라이다 사이의 동기화 오차는 99.7% 신뢰 수준에서 -6ms~7ms이며, 시속 100km 기준으로 약 20cm의 위치 차이에 해당함.

데이터 엔지니어링에서 타임스탬프를 해석하고 검증하는 방법

  • 데이터 엔지니어링 관점에서 중요한 점은 저장된 타임스탬프를 얼마나 신뢰할 수 있는지임.
  • 타임스탬프가 실제로 무엇을 가리키는지 확인해야 함. 카메라와 라이다의 타임스탬프가 모두 10.000초여도 같은 순간을 보고 있었다는 뜻은 아님. 카메라의 10.000초는 노출 시작 시점일 수 있고, 라이다의 10.000초는 한 바퀴 측정이 끝난 시점일 수 있음.
  • 센서 데이터를 조인할 때는 단순히 가장 가까운 타임스탬프를 찾는 데 그치지 않고, 같은 순간으로 볼 수 있는 최대 시간 차이인 시간 허용 오차(temporal tolerance)를 명시해야 함.
  • 카메라: 10.000초
  • 라이다: 10.004초 → 일치 처리
  • 레이더: 10.021초 → 제외
  • 센서의 샘플링 주기도 검증할 수 있음. 12Hz 센서의 이상적인 프레임 간격은 약 83ms임. 간격이 갑자기 200ms로 늘어나면 데이터 수신이 지연된 것인지, 프레임이 실제로 유실된 것인지, 시계에 문제가 생긴 것인지 확인해야 함.
  • 시간 동기화 오류가 반드시 명시적 에러를 발생시키는 것은 아님. 데이터 파이프라인 실패가 아니라 모델 성능의 조용한 저하로 나타날 수 있음.