自駕車 Sensor Fusion in Visual Perception 簡介


Posted by Po-Jen on 2020-08-30

前言

繼上次簡單討論了 自駕車的 software stack 之後,今天想來討論從 sensor 收到 data,到 perception module 要使用這些 data 之間,一個很重要的功能 - Sensor Fusion,把各種 sensor 的 data 整合起來,形成更好用的 data。

簡單舉個例子,lidar data 是沒有顏色資訊的 3D point cloud,camera data 是有顏色的 2D image,單純把這兩者結合起來,就會變成有 RGB 色彩資訊的 3D RGB-D point cloud。

會用到的 Sensor

在 perception 的應用(汽車行人辨識、紅綠燈辨識、移動物體 tracking、防碰撞等等)中,主要用到的 sensor 有三種 - Camera, Lidar 跟 Radar。大家應該都大概知道這些 sensor 是什麼,所以我就稍稍講一點各 sensor 的特色。

  1. Camera:應該不用多說,是唯一有提供色彩資訊的 sensor,舉凡辨識紅綠燈、汽車方向燈、各種路標等等,都一定要用到 camera。camera 的缺點是,資料量很大,不管是 30 fps 或 60 fps,加上一台車上會有多個 camera,需要處理的資料量其實不小。

  2. Lidar:lidar 主要的功能就是獲取精準的深度資訊,這對於精準判斷各種距離非常重要,尤其是在小巷子、或是遇到併排停車需要繞過去但也要避免對向來車時,幾十公分的誤差可能就會產生擦撞。

  3. Radar:radar 最大的特色是可以看得很遠(Long-range 的可以看到 200 公尺以上),而且收到的資料最不會受下雨、下雪、起霧等壞天氣的影響, 所以 radar 像是 sensor 中的安全網。

使用 Sensor Fusion 的理由

了解我們有上面這幾種 sensor 跟這些 sensor 的特色後,就可以知道一個重要的事實:這些 sensor 的資料可以互補。而且在多年的研究努力後,使用 sensor fusion 確實能產生更 robust、更精準的 data,而不是反而產生混亂的資料。這其實不是一件簡單的事,因為各種 sensor 收資料的頻率可能不同、各 sensor 的誤差可能也不同、各 sensor 資料的座標軸原點也不同、自駕車開一開可能有某 sensor 掛掉或被鳥屎打到...等等挑戰。

Sensor Fusion 的應用

3D object detection

3D object detection 應該是最重要的應用之一,因為要辨識行人、汽車、腳踏車、機車甚至是路上可能會有的各種其他東西,有一種做法是,先把 lidar 跟 camera 合起來產生有 RGB 資訊的 point cloud,再從 point cloud 中去辨識物體。

另一種方法,則是先取出 image 跟 point cloud 的 feature,再從這些 feature 中直接取出想要的資訊,下面的架構圖是延伸閱讀 2 的 PointFusion 架構:

Moving object detection and tracking

自駕車要能安全行駛,絕對要能夠偵測有哪些物體在移動、追蹤這些移動物體,後續才能讓 prediction module 預測這些移動物體的軌跡,這還是一個很活躍的研究領域,有興趣的讀者可以去看看延伸閱讀 3 的 paper,然後可以看哪些 paper 引用它,追到更新的 paper。下面放一張延伸閱讀 3 paper 提出的架構圖:

可以看到裡面使用了 lidar, camera 跟 radar。

occupancy grid mapping

Grid mapping 是一種抽象化 data 的方式,直接看下圖:

用這種表示方法,navigation 的路徑規劃可以先專注在 2D 的路徑上,而不用去管 3D 的各種資訊。如果對這應用很有興趣,可以去看看延伸閱讀 4。

總結

今天簡單地介紹了 sensor fusion,也講到了重要的應用,雖然今天只討論了 perception 裡面需要用到的概念,但 sensor fusion 的應用不僅於此,例如我們可以結合 Lidar、GPS 跟 IMU 來定位自駕車的位置,不過今天就只討論比較視覺上的應用,之後有機會再跟大家討論不同的主題,或深入討論某些有趣的 paper!

延伸閱讀

  1. Towards Robust Sensor Fusion in Visual Perception
  2. PointFusion: Deep Sensor Fusion for 3D Bounding Box Estimation
  3. Multiple Sensor Fusion and Classification for Moving Object Detection and Tracking
  4. Fast Occupancy Grid Filtering Using Grid Cell Clusters From LIDAR and Stereo Vision Sensor Data

#Self-Driving Car









Related Posts

7. SpringBoot使用jms 聆聽連線錯誤處理

7. SpringBoot使用jms 聆聽連線錯誤處理

[JS Behind The Scene] prototype chain-new 在背後到底做了甚麼?

[JS Behind The Scene] prototype chain-new 在背後到底做了甚麼?

CH4 字元與字串筆記

CH4 字元與字串筆記




Newsletter




Comments