3D目標檢測綜述:從數據集到2D和3D方法

點擊上方「計算機視覺cv」便可「進入公衆號」
web

重磅乾貨第一時間送達算法

本文經機器之心(almosthuman2014)受權轉載,禁止二次轉載。做者:Yilin Wang, Jiayi Ye機器之心編譯編輯:Panda微信

目標檢測一直是計算機視覺領域中一大難題。近日,來自阿爾伯塔大學的研究者對目標檢測領域的近期發展進行了綜述,涵蓋常見數據格式和數據集、2D 目標檢測方法和 3D 目標檢測方法。網絡

論文地址:https://arxiv.org/abs/2010.15614架構

目標檢測任務的目標是找到圖像中的全部感興趣區域,並肯定這些區域的位置和類別。因爲目標具備許多不一樣的外觀、形狀和姿態,再加上光線、遮擋和成像過程當中其它因素的干擾,目標檢測一直以來都是計算機視覺領域中一大挑戰性難題。app

本文將概述性地總結一些當前最佳的目標檢測相關研究。第 2 節將簡要介紹目標檢測任務經常使用的數據格式,同時還會給出一些著名的數據集。框架

而後會概述一些預處理方法。第 3 節會介紹與 2D 目標檢測相關的技術,包括傳統方法和深度學習方法。最後第 4 節會歸納性地討論 3D 目標檢測這一主題。編輯器

數據格式

數據集

在計算機圖形學中,深度圖(Depth Map)是包含場景中目標表面與視點之間距離信息的圖像或圖像通道。深度圖相似於灰度圖像,只不過深度圖中每一個像素都是傳感器與目標之間的實際距離。通常來講,RGB 圖像和深度圖是同時採集的,所以二者的像素之間存在一一對應關係。RGB-D 格式的數據集包括 Pascal VOC、COCO、ImageNet 等。函數

雷達數據對目標檢測問題也頗有用。雷達數據的收集方式是:先向目標表面發射聲波,而後使用反射信息來計算目標的速度以及與目標的距離。可是,僅靠雷達可沒法收集到用於檢測和分類的信息,所以不一樣類型數據的融合是很是重要的。性能

點雲數據是三維座標系中的一組向量。這些向量一般用 X、Y、Z 的三維座標表示,是一種經常使用的外表面形狀表示方式。不只如此,除了由 (X,Y,Z) 表示的幾何位置信息以外,每一個點雲還可能包含 RGB 顏色像素、灰度值、深度和法線。大多數點雲數據都由 3D 掃描設備生成,好比激光雷達(2D/3D)、立體相機和 TOF(飛行時間)相機。這些設備可自動測量目標表面上大量點的信息,而後以 .LAS 和 .LAZ 這兩種標準文件格式輸出點雲。這些點雲數據是由掃描設備採集的。在用於訓練的數據集中,除了點雲數據,還有相應的 RGB 圖像。這類數據集包括 KITTI [4]、nuScenes [5]、Waymo Open [6] 等。

本文將使用 nuScenes 數據集來訓練和評估模型。nuScenes 數據集來自 nuTonomy,是一個大規模自動駕駛數據集,其中的數據進行了 3D 目標標註。與其它不少數據集相比,nuScenes 數據集不只規模更大,目標標註更多,並且還提供了整套傳感器套件,包括激光雷達、聲波雷達、GPS 和 IMU。圖 1 展現了 nuScenes 中一個激光雷達點雲的示例。

圖 1:nuScenes 中的激光雷達點雲示例。

預處理

儘管數據集中的圖像質量很高,但在實際應用中,天氣等因素均可能影響圖像的質量,並所以下降檢測準確率。近期提出的一些用於交通場景的去霧算法能夠解決這類問題。好比 [8] 提出了一種基於伽馬校訂和引導濾波的去霧算法:先使用伽馬校訂方法在去霧以前校訂圖像,而後再在校訂後圖像上執行三種不一樣尺度的引導濾波過程,過濾後的圖像再使用 Retinex 模型修改,最後使用加權融合獲得去霧的結果。經過此方法獲得的去霧圖像具備更高的對比度和顏色一致性。Wang [9] 重點研究瞭如何解決霧濃度分佈不均的問題。根據波長與霧濃度的關係,他們針對交通監控圖像構建了一個與波長相關的物理成像模型。而後,再根據波長與顏色的相關性,他們又基於最大模糊相關圖切割設計了一種透射率估計算法。

除了提高圖像質量以外,人們也常使用相機校準來肯定圖像在 3D 空間中的位置。儘管相機校準這一問題已獲得普遍研究,但大多數校準方法都會固定相機位置並使用某個已知的校準模式。Basu [10] 提出了一種使用場景中的清晰邊緣自動校準相機的方法,該方法可移動相機且無需事先定義一種模式。

除了上述問題以外,某些數據集還存在嚴重的類別不平衡問題,好比 nuScenes 數據集。[11] 提出了一種有效解決該問題的方法,並在這個新數據集上取得了優秀表現。他們首先使用數據加強策略,而後使用一些通過改進的 3D 特徵提取網絡,最後改進訓練流程和對損失的評估,進而實現總體性能的提高。

2D目標檢測

傳統方法

傳統的目標檢測算法一般基於不一樣類型的特徵描述子。方向梯度直方圖(HOG)[12] 就是其中一種著名的描述子,它統計在已定位的圖像部分中梯度方向的出現次數。HOG 特徵結合 SVM 分類器的方法已在目標檢測領域獲得普遍應用,在行人檢測方面尤爲成功。

特徵檢測在傳統方法中尤爲重要。近些年,出現了不少特徵提取方面的有趣研究。

霍夫變換(Hough transform)是圖像處理過程當中一種識別圖像中幾何形狀的基本方法。舉個例子,針對人臉跟蹤問題,[13] 使用了一種基於梯度的霍夫變換來定位眼睛虹膜的位置。可是,對於非單視點(SVP)標準的圖像,這樣的變換沒法直接用於特徵識別。[14] 提出了一種解決該問題的數學模型。

雷登變換(Radon Transform)[15] 在醫學影像處理方面應用普遍,它也可用於識別任務。[16] 使用雷登變換來進行視覺手勢識別,獲得了很不錯的識別率。

Yin [17] 提出了一種跟蹤鼻子形狀的方法,之前的研究一般會忽略這個特徵。這一研究使用面積增加方法來肯定鼻子所在的區域,而鼻尖和鼻翼的形狀則是經過預約義模板分別提取。最後,再使用提取出的特徵指示人臉跟蹤的效果。

一旦檢測到相關特徵,就使用 Kanade–Lucas–Tomasi(KLT)等特徵跟蹤器跟蹤下一幀中的特徵。2005 年時,有做者 [18] 提出了一種方法,即便用高斯拉普拉斯算子(Laplace of Gaussian)和高斯加權函數來提高會受噪聲影響的 KLT 跟蹤性能。該加權函數耦合了邊緣特徵,從而獲得了一種用於選取最優加權函數的肯定性公式。這種方法僅會增長少許計算時間,但卻爲跟蹤性能帶來極大提高。

有時候,除了特徵提取,還會涉及到圖像分割。[19] 描述了一種方法,即便用梯度向量流 - 蛇(GVF snake)模型來提取相關輪廓。經過加入邊緣檢測和使用氣道 CT 切片先驗知識的蛇位移(snake shifting)技術,做者對原始 GVF - 蛇方法進行了改進,獲得了更好的結果。這一技術可能也頗有用。

另外一個問題則來自相機移動,隨着收集數據的設備類型的增多,來自移動相機的數據也愈來愈多。至於背景消除問題,不少方法在靜止相機採集的數據上表現優良,好比在事先知道每幀中前景和背景有較大距離的前提下,聚類能夠在一次迭代中完成,並且僅需兩個聚類,[20] 能在背景消除任務上取得較高的準確率。可是,若是相機在移動,難度就會大得多。[21] 首先使用了魯棒型主成分分析(RPCA)來提取背景運動,其假設背景場景能夠描述爲一種低秩矩陣,而後將幀分割爲子像素以提高將光流轉換爲運動的幅度和角度的準確率,由此改善結果。

深度學習方法

目標識別是指與識別圖像或視頻中目標相關的任務,旨在找到圖像中全部相關目標並肯定其 2D 位置。

現今,目標檢測領域的深度學習方法主要分爲兩大類:兩階段式目標檢測算法和單階段式目標檢測算法。前者是先由算法生成一系列候選邊界框做爲樣本,而後再經過卷積神經網絡分類這些樣本。後者則是直接將目標邊界定位問題轉換成迴歸問題,其中不涉及生成候選邊界框。兩種方法的區別也致使其性能也不一樣。前者在檢測準確率和定位準確率方面更優,然後者勝在算法速度。

此外,通用框架也主要有兩種。

第一種是兩階段框架。這類框架首先生成候選區域(region proposal),而後將其分類成不一樣的目標類別,因此這也被稱爲「基於區域的方法」。這類模型主要包括 R-CNN [22]、Fast R-CNN [23]、Faster R-CNN [24]、基於區域的全卷積網絡(R-FCN)等。

在單階段框架中,模型將目標檢測任務視爲一個統一的端到端迴歸問題。在這類框架中,圖像會被縮放到同一尺寸,並以網格形式均等劃分。若是目標的中心位於某個網格單元中,該網格就負責預測目標。經過這種方式,模型僅需處理圖像一次就能獲得位置和分類結果。單階段框架主要包括 MultiBox [26]、YOLO [27]、單次多框檢測器(SSD)[28]。相比於第一類框架,這種框架一般結構更簡單,檢測速度也更快。

3D目標檢測

這一節將簡要討論與 3D 目標檢測相關的工做,這裏基於不一樣的數據信息將這些研究工做分爲了三大類別。

使用 RGB 圖像的目標檢測

RGB 圖像包含充足的語義信息,所以很是適合目標檢測。圖 2 展現了一個使用 2D 圖像檢測目標的示例。3D-GCK [29] 等方法僅使用單目 RGB 圖像就能實現實時的汽車檢測:它首先預測 2D 邊界框,而後使用神經網絡來估計缺失的深度信息,將 2D 邊界框提高到 3D 空間。

圖 2:使用 2D 圖像的目標檢測示例。

近期一項研究 [30] 使用了 RGB-D 傳感器,但只使用了灰度信息來識別無紋理的目標。它首先將傳感器得到的 RGB 圖像轉換成灰度圖像,而後再分割背景和前景。在移除噪聲後,再使用 5 個分類模型執行特徵提取,最終預測出目標的類別。

使用點雲的目標檢測

僅使用點雲數據的分類網絡主要有兩種。第一種是直接使用三維點雲數據。這類方法沒有信息丟失的問題,可是因爲 3D 數據很是複雜,因此每每計算成本較高。第二種方法則是將點雲處理成二維數據,這能夠下降計算量,但不可避免地會丟失原始數據的一些特徵。圖 3 給出了一個使用 3D 激光雷達點雲數據執行檢測的例子。

圖 3:經過 YOLO 使用 3D 點雲的目標檢測示例。

將點雲處理成二維數據的方法有不少。Jansen [31] 提出從多個 2D 角度表示 3D 點雲。在其數據預處理階段,經過取點雲圖像的中心做爲原點,並經過旋轉固定的弧度角來截取 64 張不一樣角度的點雲圖像。這種方法能在必定程度上減小信息損失,由於其中加入了額外的旋轉,並在分類階段使用了許多實例。[32] 等研究則是將點雲投射到一個圓柱面上,以儘量多地保留信息。

BirdNet+ [33] 是基於目標檢測框架 BirdNet [34] 的改進版。BirdNet+ 爲基於激光雷達數據的 3D 目標檢測提供了一種端到端的解決方案。它用到了鳥瞰視角表徵,這是從激光雷達點雲轉換而來的帶有三個通道的 2D 結構,依賴於一個兩階段架構來獲取面向 3D 的邊界框。

近期,[35] 提出了一種計算高效的端到端式魯棒型點雲對齊和目標識別方法,該方法使用了無監督深度學習,並被命名爲深度點雲映射網絡(DPC-MN)。該模型的訓練無需標籤,並且能高效地實現從 3D 點雲表徵到 2D 視角的映射函數。

結合 RGB 圖像與點雲的目標檢測

Frustum PointNets [36] 同時使用 RGB 圖像和激光雷達點雲數據來執行 3D 目標檢測。該算法使用成熟的 2D 目標檢測器來縮小搜索空間。它是經過從圖像檢測器獲得的 2D 邊界框來提取 3D 邊界視錐,而後再在通過 3D 視錐修整過的 3D 空間中執行 3D 目標實例分割。

MV3D [37] 也同時使用 RGB 圖像和激光雷達點雲數據做爲輸入,它是將 3D 點雲投影成鳥瞰圖和正視圖。鳥瞰圖表徵是經過高度、強度和密度編碼的,而正視圖則是將點雲投影到一個圓柱面上生成的。鳥瞰圖可用於生成 3D 先驗邊界框,而後將該 3D 先驗邊界框投影到前視圖和圖像上,這三個輸入生成一個特徵圖。該方法採用 ROI 池化來將三個特徵圖整合到同一個維度。整合後的數據再在網絡上進行融合,而後輸出分類結果和邊界框。

圖 4:使用 MV3D 的目標檢測示例

本文分享自微信公衆號 - 計算機視覺CV(jsjsjcv)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索