TOF 카메라의 원리

영상처리 2013. 6. 24. 14:27

최근에 TOF 카메라의 원리에 대해 배울 기회가 있어서 그 동안 궁금했던 TOF 방식에 대해 알게 되었습니다.




이번에 MS에서 새로 발표한 키넥트 2가 기존의 IR 구조광 방식을 버리고 TOF 방식을 사용한 점이 세인들의 주목을 받고 있는 것으로 알고 있습니다.


TOF는 Time Of Flight로 비행시간 즉, 빛을 쏘아서 반사되어 오는 시간을 측정하여 거리를 계산하는 방식을 말합니다. TOF 카메라는 TOF 방식을 사용하여 아래 그림과 같이 거리(depth) 이미지를 출력해 주는 카메라를 말합니다.




그러면 구체적으로 어떻게 거리 측정이 가능한 것인지 TOF 카메라의 원리에 대해 하나씩 살펴보도록 하겠습니다. 참고로, 아래 설명에 사용되는 그림들은 지금은 MS에 인수되어 사라진 예전 카네스타(Canesta) 제품에 대한 설명문서가 그 출처입니다.



TOF 카메라의 이미지 센서는 위 그림과 같이 각각의 셀이 2개씩의 receptor 쌍으로 구성되어 있습니다.


TOF 카메라의 기본적인 원리는 카메라로부터 강한 빛을 전방에 쏜 후에 반사되어 돌아오는 빛을 감지하여 거리를 측정하는 방식인데, 이 반사되어 오는 빛을 감지하는 부분이 receptor입니다.


각 Receptor들은 그림과 같이 in phase receptor (하늘색)와 out phase receptor (붉은색) 쌍으로 구성되어 있는데, in phase receptor는 in phase에만 활성화되어 빛을 감지하고, out phase receptor는 out phase에만 활성화되어 빛을 감지합니다.


그리고 빛을 쏘는 부분은 위 첫번째 그림에 보면 렌즈 주변에 LED들이 촘촘히 박혀 있는데 여기서 빛이 나갑니다. 즉, 거리를 측정하기 위해 인위적으로 빛을 쏴야 하는데 이러한 방식을 엑티브 광원(active light source) 방식이라 합니다.


TOF 방식의 가장 핵심적인 원리는 LED 발신부에서는 빛을 쏠 때 굉장히 빠른 간격으로 점멸을 시키면서 즉, 모듈레이션(modulation)을 시키면서 쏘고 수신부에서는 이 모듈레이션 간격과 동기화하여 receptor들을 활성화시키는 것입니다. 여기서 LED를 켜는 동안은 in phase라 부르고 LED를 끄는 동안은 out phase라 부릅니다.



즉, 위 그림과 같이 LED를 켜는 동안에는 in phase receptor들만을 활성화시키고, LED를 끌 동안에는 out phase receptor들만을 황성화시킵니다.


이와 같이 in phase receptor들과 out phase receptor들을 시간차를 두고 서로 다르게 활성화시키면 사물과의 거리에 따라서 수신되는(누적되는) 빛의 양에 차이가 발생하게 됩니다. 이 차이 즉, in phase receptor에 수신된 빛의 양과 out phase receptor에 수신된 빛의 양의 차이를 비교하여 사물과의 거리를 측정하는게 TOF 카메라의 기본 원리입니다.


먼저, 사물이 카메라 바로 앞에 있는 경우를 생각해 보겠습니다 (즉, 거리 = 0인 경우).



이 경우, 위 그림과 같이 빛이 갔다가 반사되어 오는 시간이 없기 때문에 LED의 점멸 주기가 그대로 빛의 수신(returning light) 주기가 됩니다. 따라서, 이 경우에는 in phase receptor 들만 빛을 수신하게 되고 out phase receptor들은 전혀 빛을 수신하지 못하게 됩니다.


다음으로 사물이 카메라로부터 어느 정도 떨어져 있어서 빛의 발신부와 수신부 사이에 시간차가 발생하는 경우를 살펴 보겠습니다.



이 경우, 위 그림과 같이 빛이 갔다가 되돌아오는 시간이 있기 때문에 수신부에 도달하는 빛은 LED 점별 주기와 시간차가 발생하게 됩니다. 그런데, in phase와 out phase를 활성화시키는 주기는 LED 점멸 주기와 일치하기 때문에 위 그림처럼 in phase receptor와 out phase receptor에 누적되는 빛의 양(녹색 부분)에 차이가 발생하게 됩니다.


이상의 내용을 정리해 보면 다음과 같습니다.


먼저, 거리가 0인 경우에는 in phase receptor에만 빛이 수신(누적)됩니다. 그리고 사물과의 거리가 점점 멀어지면 in phase receptor에 수신(누적)되는 빛의 양은 줄어들고 out phase receptor에 수신(누적)되는 빛의 양은 증가합니다. 그러다가 어느 순간에는 out phase receptor에서만 빛이 수신될 것입니다.


즉, TOF 카메라의 기본 감지 거리(one light pulse distance의 2분의 1)를 d라 하고 receptor들에 수신되는 빛의 총합을 1이라 했을 때, 카메라와 사물과의 거리에 따라 receptor에 수신되는 빛의 양은 다음과 같이 변할 것입니다.



여기서, d는 한 펄스 동안 빛이 이동하는 거리의 1/2로서 d = 빛의 속도 x 모듈레이션 간격 / 2로 계산할 수 있습니다(빛은 사물까지 갔다가 되돌아오기 때문에 실제 사물까지의 거리는 빛의 이동거리/2임).


이상으로 TOF 카메라의 기본적인 거리 측정 원리에 대해 설명을 드렸습니다.


물론 실제 제품화될 때에는 이러한 기본 원리를 바탕으로 여러 기법들이 들어갑니다. 예를 들어, 거리 d를 전후로 수신 특성이 대칭되는 모호성(ambiguity) 문제를 해결하기 위해 receptor 활성화 주기를 LED 점멸 주기와 약간 어긋나게(shift) 하거나 수신 특성이 2d를 주기로 반복되는 문제를 해결하기 위해 한 영상 프레임을 획득하는 동안 서로 다른 두 종류의 점멸주기를 사용하는 등의 기법들이 사용된다고 합니다.


---------------


TOF 카메라의 특징은 잘 알려졌다시피 거리 분해능이 뛰어나고 정확한 반면 비교적 크기가 크고 고가이며, 측정 가능한 거리가 제한적이고 (7 m?) 실내에서만 사용 가능합니다. TOF 카메라에서 쏜 특정 파장대의 LED 빛이 사물에 맞고 되돌아오는 동안 많이 약해지기 때문에 감지 거리가 제한되며 실외나 강한 태양광 밑에서는 LED 빛과 태양광을 구분할 수가 없기 때문에 거리 측정이 불가능합니다 (태양광에는 모든 파장대의 빛이 포함되어 있습니다). 또한 TOF 카메라는 각각의 receptor 쌍마다 즉, 이미지 센서 셀(cell)마다 프로세싱 칩(chip)이 들어가기 때문에 비교적 셀의 크기가 크다고 합니다. 이로 인해서 TOF 카메라에 들어가는 이미지 센서의 크기가 커지거나 또는 이미지 센서의 해상도가 낮아지는 문제가 있습니다. 이번 발표된 키넥트 2에 들어간 TOF 센서는 이러한 문제들이 어떻게 처리되었는지 궁금합니다..


by 다크 프로그래머


'영상처리' 카테고리의 다른 글

[영상 Geometry #1] 좌표계  (112) 2013.07.06
OpenCV Haar/cascade training 튜토리얼  (210) 2013.05.31
영상인식과 색상모델(Gray,RGB,HSV,YCbCr)  (57) 2013.05.17