3D TOF(Time-of-Flight) 센서를 위한 필터링
TOF(Time-of-Flight) 센서는 로봇공학 내비게이션을 위한 SLAM(simultaneous location and mapping), 3D 스캐닝 및 프린팅, 유인 감지, 오토-디멘셔닝 등의 3D 이미징 애플리케이션에서 점점 인기가 높아지고 있다. 이러한 애플리케이션들을 견고하게 운용하기 위해서는 TOF 센서가 비교적 깨끗한 치수를 내놓아야 한다. 일반적으로 TOF 치수를 정리하는 방법에는 몇 가지가 있는데, 시스템 설정과 필터링이라는 두 개의 카테고리 안에 들게 된다. 이 글을 통해 치수에 영향을 미치는 시스템 설정과 몇 가지 응용 가능한 필터링 기법들에 대해 알아본다.
- 래리 리 (Larry Li), Texas Instruments -
TOF의 기본 원리
TOF센서는 변조된 빛을 목표에 방출하여 그 빛과 반사 사이의 상대적 위상을 측정하는 방식으로 동작한다. TI의 TOF 센서는 근적외선(near-IR, 850㎚) 빛에 민감한 저가의 CMOS 어레이(array)를 사용하여 방출된 빛과 반사된 빛 사이의 상대적 위상을 펄스 지속파(continuous-wave of pulses)로 측정한 후, 이미지 센서에서 각 픽셀의 깊이를 계산한다.
대부분의 TOF 센서들은 캡처된 프레임 각각에 대해 위상 지도와 진폭 지도를 만들어낸다. 진폭 지도는 각 픽셀이 수신한 반사된 빛의 양을 나타낸다. 위상지도는 각 픽셀 위치에서 측정된 상대적 위상을 나타낸다. 위상지도는 다음 공식을 이용하면 깊이 지도로 손쉽게 변환 된다.
여기에서
c는 광속 상수
f는 변조 주파수
그런 다음 깊이 지도를 필터링한 후 카메라의 광학적 속성, 예를 들어 FOV(field-of-view)를 초점 길이, 그리고 광학 왜곡의 원인이 되는 렌즈 인자들에 기반을 두고 적절한 기하학적 변환을 적용함으로써 포인트 클라우드(point clouds)로 변환한다. <그림 1>은 그레이스케일 진폭 지도(a)와 컬러 코딩된 깊이 지도(b)이다.
<그림 2>는 같은 깊이 지도와 진폭 지도에서 렌더링 된 포인트 클라우드를 보여주고 있다. 깊이 지도에서 각각의 픽셀은 3D 가상공간의 데카르트 꼭짓점(Cartesian vertex)으로 변환되고, 진폭 지도에서 동일 픽셀의 그레이스케일 컬러로 ‘채색’된다.
이러한 꼭짓점들이나 포인트 클라우드가 그려지고 나면, 이들을 현대식 3D 렌더링 기법과 대부분의 컴퓨터에서 이용 가능한 OpenGL 그래픽 액셀러레이터를 이용해 회전, 이동 및 메시, 텍스처 할 수 있다.
시스템 설정
일반적으로 TOF 센서에서 예상되는 깊이 정밀도는 <식 2>로 어림잡을 수 있다:
여기에서
C는 광속 상수
f는 변조 주파수
Cd는 변조 상수
A는 반사된 진폭
B는 집중계(lumped system) 오프셋
이 중에서 변조 주파수와 조도만 동적으로 제어 가능하다. 최대 변조 주파수는 사용된 광원의 종류에 제한을 받게 되고, 최대 조도는 시스템 설계와 전력 예산에 제한을 받는다. 노출시간(integration time)도 A에 영향을 미치므로 이를 극대화해야 한다. 프레임 비율을 낮추면 노출시간이 더 길어지고 따라서 잡음이 줄어든다. 조도 전원을 극대화한 경우, 소프트웨어 필터를 이용해 잔여 잡음을 반드시 줄여야 한다. 이는 깊이 지도가 포인트 클라우드를 구성하는데 쓰이기 전에 그 깊이 지도에 적용되는 것이 보통이다.
필터링
잡음은 시간 필터와 공간 필터를 이용해 처리할 수 있다. 흔한 시간 필터 두 가지가 infinite-pulse-response 필터(IIR)와 median-average 필터이다. 이 일차(first-order) IIR 필터는 매우 간단한 형식을 가지고 있다:
여기에서
α는 필터의 응답을 결정한다.
α가 높을 수록 출력이 입력까지 추적하는 속도가 빨라진다.
따라서 고주파수 잡음은 α를 낮추면 약화된다.
이용할 수 있는 메모리와 CPU 대역폭이 충분하다면, 고차 IIR 필터와 FIR 필터를 배치해 필터 성능을 개선할 수 있다.
median-average 필터는 여러 샘플들을 버퍼링하고 정렬한 후, 중앙, 중간 값이나 정돈된 급수의 중간 값을 출력으로 취하는 비선형 필터이다. 버블 정렬(Bubble Sort) 또는 빠른 정렬(Quick Sort)이 버퍼를 분류하는데 쓰인다. 이러한 정렬 방식들이 계산의 대부분을 차지한다. 일반적으로 용인 가능한 연산 페널티를 이용해 픽셀 당 3 ~ 5개의 샘플들을 버퍼링 할 수 있다. IIR 필터와 median-average 필터는 픽셀 당 실행된다.
시간 필터의 주된 단점은 모션 블러인데, 매우 동적인 장면에 이를 사용하는 것은 적절하지 않다. 더 많은 동적 장면을 처리하려면 공간 필터를 사용해야 한다.
공간 필터
공간 필터는 픽셀 근처의 변화량을 낮추는 방식으로 잡음을 약화시킨다. 결과적으로 훨씬 표면은 더 매끄러워지고 때로는 흐릿한 선과 점과 같은 이미지의 구조적 요소들의 콘트라스트를 낮추는 것만으로도 가능하다.
Gaussian filter는 이미지를 매끄럽게 하는데 가장 흔한 공간 필터일 것이다. 이것은 가우스 가중 함수, G(p - p')를 이용해 정사각 주변부, w 내에서, 픽셀, p를 중심으로 픽셀과 p'를 평균 낸다. 가우스 함수는 방사상 대칭 함수로 정의하면 다음과 같다.
이 연산은 다음과 같다. 각각의 픽셀 p의 경우, 필터링 된 출력이 그 이웃들과 자신에 의해 가중된다. 그 이웃들은 p’에 의해 반복된다.
가우스 필터는 깊이 지도로 변환되기 전에 위상 지도에 적용시키거나 깊이 지도에 바로 적용시킬 수 있다. 어느 쪽을 선택하든, 그냥 <식 5>에서 I를 선택한 지도로 바꾸면 된다. 그런 다음, 그 출력을 가중계수(weighting factors)의 합을 나누는 방식으로 정규화 한다. 그 결과가 <그림 4>와 같은 블러 이미지이다. 실제로, 그 주변부는 3×3이나 5×5 커널이다. 한 그 커널, G(p - p')을 미리 계산하는 것이 계산학적으로 효율적이다.
Bilateral filter는 본질적으로 가우스 필터에서 엣지를 보존한 버전이다. 중앙 픽셀의 강도를 그 이웃들과 비교하는 또 다른 가우스 항을 추가하여 그 가중 함수를 강화한다는 점만 다를 뿐이다.
이 항을 추가하는 근거는 다음과 같다. 엣지란 강도의 단절을 나타내는데 반해 표면은 강도의 연속성을 유지한다. 가중 함수에 강도 항을 추가하면, 더 큰 강도 차이를 가진 이웃 픽셀들은 그 픽셀의 필터링 된 값에 기여하는 바가 줄어들게 될 것이다. 그들이 서로 다른 깊이에 위치하고 있을 공산이 크기 때문이다. 반면 비슷한 강도를 가진 이웃 픽셀들은 더 많은 기여를 하게 된다. 비슷한 깊이에 있을 공산이 크기 때문이다.
TOF 센서의 경우, <식 6>에 정의된 Bilateral filter에 수정이 필요하다. TOF 센서는 진폭 지도와 위상 지도를 둘 다 만들어낸다. 진폭 지도는 주로 또렷하고 안정적인 그레이스케일 이미지가 보통이며, 항 G(Ip - Ip')에서 I로 사용될 수 있다.
하지만 우리는 위상 지도를 필터링 할 것이기 때문에, 분자의 마지막 항, Ip'을 위상 지도, φp'으로 반드시 교체해야 한다. 구체적으로 쌍방 필터를 TOF 센서에 적용했을 때 공식은 다음과 같다:
앞서 설명한 필터에는 입력정보로 진폭 지도와 위상 지도가 둘 다 필요하다. 위상 지도는 깊이 지도로 교체할 수 있다.
Spatial Median Filter는 median-average 필터와 다르다. median-average 필터는 시간 시퀀스의 중간을 찾는다면, spatial median 필터는 <그림 6>처럼 한 픽셀을 중심으로 한 주변부의 중간을 찾는다.
Gaussian filter와 bilateral filter처럼, 그 주변부는 보통 3×3 또는 5×5 커널이다. 그렇지만 spatial median filter는 입력정보로 진폭 지도가 필요하지 않고 깊이 지도에서 바로 동작한다. 또한 주변부의 중간치가 진정한 픽셀 값이다. Gaussian filter와 bilateral filter가 내놓은 보간값과는 다르다.
데드밴딩 (Dead-Banding)
소프트웨어 필터를 적용하면, 잔여 잡음이 3D 포인트 클라우드에서 작은 지터들로 나타난다. 실시간 렌더링의 경우, 이러한 지터는 보는 이들의 주의를 산란하게 할 수 있다. 데드밴딩(Dead-banding)을 이용하면 포인트 클라우드를 안정시킬 수 있다.
데드밴드를 자동 조절할 수 있는 간단한 전략은 많은 픽셀들이 변화하고 있을 동안 그것을 넓히는 것이다.
구체적으로 말해, 2개의 연속 깊이 지도 사이에서 변화하는 픽셀의 수가 허용 가능한 픽셀 수보다 클 경우(픽셀 총 수에 비례한 비율로 정의), 데드밴드를 넓히는 것이다. 그렇지 않다면 좁히면 된다. 다음의 추단법(heuristics)은 희망하는 동작을 구현하고 있다.
여기에서
ξ는 데드밴드
μ는 두 개의 순차적 깊이 지도 사이에서 변화하는 픽셀의 수
r은 총 픽셀에 비례한 비율
W는 픽셀의 총 수
데드밴딩은 안정성을 개선하지만, 정밀도까지 높여주는 것은 아니다. 또한 이전 공식에서 ε는 관련 조건이 만족되면 한계 없이 상승과 감소를 할 수 있다. 따라서 상한과 하한을 강화하는 것이 좋다. 과도한 상한은 이미지를 실제 장면 변화에 둔감하게 만들 수 있다.
요약
이 글을 통해 조도, 노출, 프레임 레이트, 신뢰한계 같은 시스템 설정을 조정해 깊이 치수의 품질을 개선하는 방법을 검토해보았다.
또한 IIR 필터와 median-average filter와 같은 시간 필터와, Gaussian filter, bilateral filter, spatial median filter와 같은 공간 필터에 대해서도 살펴보았고, 포인트 클라우드 보기를 개선할 수 있는 데드밴딩에 대해서도 논의하였다.
이러한 기법들은 적절히 활용한다면 시스템의 성능을 크게 높일 수 있다.
자료제공 | TI(www.ti.com)
TI, 업계에서 가장 우수한 저항을 달성하는
1.2mm2 FemtoFET 60V N-채널 전력 MOSFET 출시
TI 코리아가 최근 업계 최저 저항을 달성하는 새로운 60V N 채널 FemtoFET 전력 트랜지스터 제품을 출시한다고 밝혔다. 신제품 CSD18541F5은 기존의 60V 부하 스위치보다 90% 낮은 저항을 달성함으로써 최종 시스템의 전력 손실을 줄여준다. 또한, 극소형의 1.53㎜×0.77㎜ 실리콘 기반 패키지로 제공되어, SOT-23 패키지로 제공되는 부하 스위치와 비교해서 풋프린트가 80% 절감된 크기이다.
CSD18541F5 MOSFET은 54㎽의 정격 온-저항(Rdson)을 유지하며, 공간 제약적인 산업용 부하 스위치 애플리케이션에서 표준적 소신호 MOSFET을 대체하도록 설계 및 최적화되었다. 또한, 소형화된 LGA(land grid array) 패키지로 패드 간에 피치가 0.5㎜이므로 제조 시에 탑재가 용이하다. CSD18541F5은 TI NexFET™ 기술 포트폴리오의 FemtoFET MOSFET 제품군의 신제품으로써 더 높은 전압을 제공해 제조가 용이하다.
자료제공 | TI코리아(www.ti.com/kr)

















