ToF(Time-of-Flight) 센서 이해하기: ToF 3D 카메라가 거리를 측정하는 원리
ToF 센서가 어떻게 거리를 결정하는지 알아보세요. 예제 3D 카메라를 통해 ToF 카메라에 대해 자세히 알아봅니다.
ToF 센서가 어떻게 거리를 결정하는지 알아보세요. 예제 3D 카메라를 통해 ToF 카메라에 대해 자세히 알아봅니다.
휴대폰과 자동차에 탑재되기 위해 경쟁하는 세 가지 주요 3D 이미징 기술이 있습니다. 입체 영상, 구조광 투사, ToF(Time-of-Flight) 카메라입니다. 이 장치들이 생성하는 데이터는 보행자 감지, 얼굴 특징 기반 사용자 인증, 손동작 감지, SLAM(동시 위치 파악 및 지도 작성) 알고리즘 공급에 활용됩니다.
이 분야의 두 주요 플레이어는 ams와 Infineon입니다. 작성 시점 기준 ams는 각 유형 센서를 하나씩 보유하고 있고, Infineon은 ToF 센서에 집중합니다.

이 글은 pmdtechnologies의 3D 카메라 개발 키트 'pico flexx'에 초점을 맞춰 ToF 센서 뒤의 기술을 설명합니다. (참고: 'pico flexx'와 'pmdtechnologies'는 웹사이트에서 모두 소문자로 표기됩니다.)
pico flexx는 Infineon과 pmd가 공동 개발한 3D 이미지 센서 REAL3를 중심으로 제작되었습니다.

2019년 4월 29일 pmdtec.com에서 가져온 손의 가짜 컬러 3D 이미지. 색상은 센서에서 손까지 거리에 따라 개별 픽셀에 매핑됨 (빨강=가까움, 파랑=멀음)
pmd가 이 기사를 위해 장치를 제공했음을 알립니다.
ToF(Time of Flight) 센서란?
ToF 센서는 무언가가 매질을 통해 거리를 이동하는 데 걸리는 시간을 측정합니다. 일반적으로 파동 펄스 방출, 물체 반사, ToF 센서 복귀까지 경과 시간을 측정합니다. ToF 카메라는 ToF 측정을 활용해 카메라와 물체 또는 환경 간 거리를 결정하고, 개별 측정 포인트로 생성된 이미지를 만듭니다.
ToF 카메라 응용: 레이저 기반 스캐너리스 LiDAR 이미징 시스템, 모션 감지 및 추적, 머신 비전 및 자율주행을 위한 물체 감지, 지형 매핑 등.
하지만 이 측정은 어떻게 달성될까요?
아래에 이동 시간을 이용해 거리를 결정하는 세 가지 방법을 나타냈습니다.

이동 시간을 이용한 거리 결정 방법들
맨 위는 첫 번째 방법: 펄스 전송 후 반사되어 돌아올 때까지 시간 간격 측정.
중간은 두 번째 방법: 광원 진폭 변조 후 반사파 위상 변화 기록.
아래는 세 번째 방법: 50% 듀티 사이클 사각파 전송 후 특정 구간에 도착한 반사광량 기록.
밀리미터급 정밀도 ToF 카메라
빛과 전파는 약 300,000,000,000mm/s로 이동, 1mm 이동에 ~3.3ps 소요(왕복 6.6ps). 방 안 모든 물체 이미징에 ~1mm 해상도 원하면 타이밍 전자회로에 피코초 해상도 필요. 이는 수백 GHz 클록 속도 의미.
그러한 주파수에서 동작하는 전자 회로 설계는 쉽지도 경제적이지도 않아, 소비자 기기 가격대로 만들려면 더 낮은 주파수에서 작동하는 방법 고안 필요.
합리적인 서브 GHz 주파수로 작업하면서 밀리미터급 정밀도 달성하는 두 가지 일반적 방법:
- 정현파 변조파 위상 변화와 거리 연관
- 50% 듀티 사이클 사각파 위상 변화와 차동 전압으로 거리 결정
아래 섹션에서 이 두 방법을 자세히 살펴봅니다.
진폭 변조파 위상 변화로 거리 결정
최대 길이 15m인 소형 사무실이나 대형 거실 매핑하려 한다고 가정. 적정 동작 주파수 결정 위해 c=λ·f 사용 (c=광속 3×10⁸m/s, λ=15m, f=주파수). 이 예에서 f=20MHz, 비교적 다루기 쉬운 주파수.
밝은 빛 출력을 20MHz 정현파 신호로 변조하여 시작. 광파는 결국 물체나 벽에 도달해 반사, 방향 역전. 원래 변조광의 어두운 버전이 수신기로 복귀. 물체가 정확히 15m 정수 배 거리에 있지 않다면 위상 어느 정도 이동.
위상 변화를 이용해 파동이 이동한 거리 계산 가능.

위상 각을 정확히 측정하면 반사 물체가 센서/수신기에서 얼마나 떨어져 있는지 정확히 결정 가능.
정현파 위상 각 측정 방법
정현파 위상 각을 어떻게 빠르게 측정할까? 수신 신호 진폭을 네 등분 간격(90° 또는 1/4λ 간격) 지점에서 측정하면 됩니다.
φ = ArcTan((A₁-A₃)/(A₂-A₄))
측정값과 위상 각 관계 아래에 설명. A₁-A₃ 차이와 A₂-A₄ 차이 비율이 위상 각 탄젠트와 같음. ArcTan은 실제로는 2인수 아크탄젠트 함수로 적절한 사분면 매핑, A₂=A₄이고 A₁>A₃ 또는 A₃>A₁일 때 0° 또는 180° 정의.

다이어그램 클릭 시 A₁, A₂, A₃, A₄ 차이의 단위 원 위 위치 보여주는 더 복잡한 이미지 확인 가능.
위 그림에서 맨 왼쪽 그래프에 두 수직 수직선이 A₁-A₃ 빼기 결과(진한 노랑)와 A₂-A₄ 빼기 결과(파랑) 표시. 측정된 값은 중간의 정현파 그래프에서 수직선으로 표시.
이 그래픽은 반사 고려 안 함(효과적으로 모든 것 180° 시프트).
주어진 거리에 대한 동작 주파수 결정
예제로 돌아가서, 타겟까지 거리는 다음 방정식으로 결정:
d = (c·φ)/(4π·f)
c는 광속, φ는 위상 각(라디안), f는 변조 주파수.
광자 실제 비행 시간 측정엔 333GHz 전자회로 필요. 이 방법은 최대 4×변조 주파수 필요, 이 경우 4×20MHz=80MHz. 자원 획기적 감소. 하지만 영리한 엔지니어들이 최대 주파수 더 낮추는 방법 찾았음.
충전 커패시터 차동 전압 측정으로 위상 변화 결정
다음 측정 상황은 스트로보스코픽 광원과 픽셀당 두 커패시터 가진 CMOS 이미징 센서 포함.
클록 소스가 50% 듀티 사이클 사각파 생성, 이 사각파가 밝은 스트로빙 광원과 각 픽셀 내 충전 저장 커패시터 연결 제어.
이러한 시스템 예시 아래 이미지:

'A Fast Calibration Method for Photonic Mixer Device Solid-State Array LiDARS'에서 발췌. 들어오는 빛 기록 위해 번갈아 연결되는 두 충전 저장 커패시터 가진 CMOS 픽셀 표시.
광원 떠난 빛이 물체 반사 후 픽셀 도달, 위 그림 CA 또는 CB에 전하로 기록. 커패시터들은 조명 소스와 같은 주파수로 같은 클록 소스 사용해 번갈아 픽셀에 연결.
이 영리한 배열로 커패시터 차동 전하가 위상 오프셋과 직접 연관. 위상은 파장과 타겟 왕복 거리에 의해 결정.

'A Fast Calibration Method for Photonic Mixer Device Solid-State Array LiDARS'에서 발췌.
피사체는 커패시터 채울 만큼 여러 사이클 동안 조명 가능. 거리 일정하면 전하 비율 동일 유지.
ToF 센서 실전
이 방법이 얼마나 잘 작동할까? 예상보다 잘 작동합니다.
AAC에 제공된 센서와 동반 소프트웨어로 최대 45fps 기록 가능. 낮은 재생률에서 셔츠 주름까지 쉽게 이미징.

pmd의 pico flexx 카메라로 캡처한 각 픽셀의 (x,y,z) 정점 위치 플롯.
깊이 데이터만으로는 시각화 어려워. 깊이 이미지를 사진과 결합하거나 가짜 색상으로 표시해 장면 해석 용이하게 함.

저해상도 이미지의 가짜 색상 깊이 오버레이로 장면 해석 용이. pmd Royal Viewer 소프트웨어와 CamBoard pico flexx 3D 개발 키트로 촬영한 필자 이미지.
ToF 센서는 영리한 물리학과 엔지니어링 결합으로 환경 3D 맵 생성 등 다양한 응용에 활용 가능.
업무에서 3D 카메라 사용해 보셨나요? ToF 센서 사용 시 설계 제약사항에 대해 무엇을 말씀해 주실 수 있나요? 아래 댓글로 경험 공유해 주세요.