ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • indirect ToF - 외광 영향
    영상처리/Depth sensors 2022. 10. 18. 23:28
    728x90

    active depth sensor (iToF / dToF / Structured light depth sensor)들은 대부분 외광에 의한 성능 열화가 발생한다.

    iToF에서 외광이 어떠한 영향을 주는지 보고자 한다.

     

    외광 종류

    외광을 여기서는 아래와 같이 두 type으로 나누어 본다.

    1. 시간에 따라 광량이 일정한 경우. ex) 태양광

    2. 시간에 따라 광량이 변하는 경우. ex)  다른 센서의 light

    위의 두 외광은 depth sensor에 안좋은 영향을 주며 iToF의 application에 상당한 제약을 주게 된다.

     

    외광 영향 -  일정한 외광 (ambient light)

    iToF signal schematics. 왼쪽 : 외광이 없을 경우. 중간 : 외광이 들어올 경우. 오른쪽 : 외광이 큰 경우.

    iToF는 위와 같이 광을 발사하여 (Emitted light), 되돌아온 광 (Returned light) 까지의 delay (ToF)를 측정하는 원리이다.

    이는, in phase (최대 signal)/ out phase (최소 signal) 에서의 광량 대비 현재 돌아온 광의 비율을 통해 거리를 계산하는 것이라고 할 수 있다.

    맨 왼쪽의 외광이 없는 경우, 광원에서 발사된 광의 반사광(녹색) 만을 signal로 측정하게 되어, 정확한 depth를 얻게 된다.

    외광이 섞이게 되면 중간과 같이 외광(붉은색)이 일정하게 섞여들어오게 된다. 이는 depth의 절대적인 값에 영향을 주진 않지만, sensor의 SNR을 떨어뜨리게 된다.

    조금 더 극단적으로 그려본 오른쪽 경우 (외광이 매우 강한 경우), signal보다는 외광의 밝기가 절대적이며 이런 경우에는 거의 depth를 얻을 수가 없다.

    ToF의 noise 또한 일반적인 image sensor와 동일하게 shot noise 특성을 갖게 되며, 외광에 의한 photon이 증가하면, noise의 증가를 수반하게 된다.

    추가적으로, 외광은 센서에 saturation을 야기할 수 있으며, iToF는 saturation 된 pixel에서는 depth를 추출할 수 없다. (광량이 왜곡되어 정확한 depth를 계산할 수 없음). 

     

    외광 대응 -  일정한 외광 (ambient light)

    실제 iToF 사용시 겪을수 있는 가장 큰 외광은 바로 "태양광"이다.

    대부분의 active depth sensor들은 태양광 대응을 위해 유사한 전략을 취한다.

    - 940 nm 파장 사용

    - IR band pass filter 사용.

     

    여기서 940nm의 의미는 아래의 그림으로 알 수 있다.

    바로, 태양광이 최소화 되는 IR 파장이다.
    (실제로 더 긴 파장에 보이는 골짜기들이 있지만, image sensor의 효율 자체가 떨어지는 문제가 있다...)

    당연한 얘기지만 해당 파장을 사용하기로 했으면, 다른 파장대의 영상은 찍히지 않도록 수광부에 IR bandpass filter를 장착하여 다른 광을 최대한 차단한다.

    태양광의 spectrum. 940 nm 부근에 H2O가 바로 water에 의한 흡수 peak이다.

    더 자세한 내용은 대기업의 문서를 참고하는게 좋을것 같다. [Link

     

    하지만 그럼에도 불구하고, 태양광 아래에서는 iToF의 성능 열화를 피하긴 어렵다. [Link]

    Azure kinect의 outdoor 영상. 가까운 물체에서도 depth가 듬성듬성 해진다.

    iToF 에게는 outdoor 에서의 성능 열화가 큰 장애물로 보인다.

     

    외광 영향 - modulated light

    일상 생활에서 인공광에는 modulated light는 생각보다 많다. LED의 flickering / TV... 하지만 대부분 IR을 발생시키진 않기에 괜찮지만....

    다른 depth sensor가 옆에 있다면 센서간의 interference는 상당한 문제가 된다.

    이러한 경우, 아래와 같이 iToF의 각 phase 마다 외광에 의해 다른 광량을 받게 되며, 이는 depth 연산에 critical한 영향을 주게 된다.

    외광이 시간에 따라 다른 경우 -> 외광의 변화를 signal로 계산하게 된다!

    외광 대응 -  multi-sensor interference

    이를 수학적으로 풀어보려는 노력들이 있었던 것 같으나, 실제 적용 가능성은 낮아보인다. [Link]

    이럴땐 Azure kinect를 참고해 보는 것이 의미가 있을 것 같다. (가장 잘하는 곳이니까)

    사실 Azure kienct는 센서간 exposure를 피하도록 triggering signal을 통한 sync를 제공한다. [Link]

    즉, interference가 발생하면 대책이 없으니, interference가 애초에 발생하지 않게 한다.

     

    Azure Kinect 메뉴얼 page의 연결 schematic

    다음 논문에서는 실제로 multi - Azure kinect 연결을 보여주고 있다. [Link]

    아무래도 iToF간 interference는 생각보다 큰 문제로 보이며, 휴대폰 등 서로간 sync가 어려운 기기들에 대량 보급되면 사용성에 큰 영향을 주지 않을까 추축된다.

     

    요약

    - iToF에 균일한 외광은 SNR의 저하 / saturation 문제를 일으킨다.

     

    - 태양광 대응을 위해 940nm의 파장 / IR pass filter를 사용하지만 outdoor에서는 성능 열화를 피하기 어렵다.

     

    - iToF를 여러대 구동한 경우, 서로간의 interference가 발생한다.

     

    - sensor간 interference를 피하는 것 이외엔 뾰족한 수가 없어보인다.

    728x90
Designed by Tistory.