選自arXiv
作者:Yilin Wang等
機器之心編譯
編輯:Panda
目標檢測一直是計算機視覺領域中一大難題。近日,來自阿爾伯塔大學的研究者對目標檢測領域的近期發展進行了綜述,涵蓋常見數據格式和數據集、2D 目標檢測方法和 3D 目標檢測方法。
目標檢測任務的目標是找到圖像中的所有感興趣區域,並確定這些區域的位置和類別。由於目標具有許多不同的外觀、形狀和姿態,再加上光線、遮擋和成像過程中其它因素的幹擾,目標檢測一直以來都是計算機視覺領域中一大挑戰性難題。
本文將概述性地總結一些當前最佳的目標檢測相關研究。第 2 節將簡要介紹目標檢測任務常用的數據格式,同時還會給出一些著名的數據集。
然後會概述一些預處理方法。第 3 節會介紹與 2D 目標檢測相關的技術,包括傳統方法和深度學習方法。最後第 4 節會概括性地討論 3D 目標檢測這一主題。
2 數據格式
2.1 數據集
在計算機圖形學中,深度圖(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 中的雷射雷達點雲示例。
2.2 預處理
儘管數據集中的圖像質量很高,但在實際應用中,天氣等因素都可能影響圖像的質量,並因此降低檢測準確率。近期提出的一些用於交通場景的去霧算法可以解決這類問題。比如 [8] 提出了一種基於伽馬校正和引導濾波的去霧算法:先使用伽馬校正方法在去霧之前校正圖像,然後再在校正後圖像上執行三種不同尺度的引導濾波過程,過濾後的圖像再使用 Retinex 模型修改,最後使用加權融合得到去霧的結果。通過此方法得到的去霧圖像具有更高的對比度和顏色一致性。Wang [9] 重點研究了如何解決霧濃度分布不均的問題。根據波長與霧濃度的關係,他們針對交通監控圖像構建了一個與波長相關的物理成像模型。然後,再根據波長與顏色的相關性,他們又基於最大模糊相關圖切割設計了一種透射率估計算法。
除了提升圖像質量之外,人們也常使用相機校準來確定圖像在 3D 空間中的位置。儘管相機校準這一問題已得到廣泛研究,但大多數校準方法都會固定相機位置並使用某個已知的校準模式。Basu [10] 提出了一種使用場景中的清晰邊緣自動校準相機的方法,該方法可移動相機且無需事先定義一種模式。
除了上述問題之外,某些數據集還存在嚴重的類別不平衡問題,比如 nuScenes 數據集。[11] 提出了一種有效解決該問題的方法,並在這個新數據集上取得了優秀表現。他們首先使用數據增強策略,然後使用一些經過改進的 3D 特徵提取網絡,最後改進訓練流程和對損失的評估,進而實現整體性能的提升。
3 2D目標檢測
3.1 傳統方法
傳統的目標檢測算法通常基於不同類型的特徵描述子。方向梯度直方圖(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)來提取背景運動,其假設背景場景可以描述為一種低秩矩陣,然後將幀分割為子像素以提升將光流轉換為運動的幅度和角度的準確率,由此改善結果。
3.2 深度學習方法
目標識別是指與識別圖像或視頻中目標相關的任務,旨在找到圖像中所有相關目標並確定其 2D 位置。
現今,目標檢測領域的深度學習方法主要分為兩大類:兩階段式目標檢測算法和單階段式目標檢測算法。前者是先由算法生成一系列候選邊界框作為樣本,然後再通過卷積神經網絡分類這些樣本。後者則是直接將目標邊界定位問題轉換成回歸問題,其中不涉及生成候選邊界框。兩種方法的區別也導致其性能也不同。前者在檢測準確率和定位準確率方面更優,而後者勝在算法速度。
此外,通用框架也主要有兩種。
第一種是兩階段框架。這類框架首先生成候選區域(region proposal),然後將其分類成不同的目標類別,所以這也被稱為「基於區域的方法」。這類模型主要包括 R-CNN [22]、Fast R-CNN [23]、Faster R-CNN [24]、基於區域的全卷積網絡(R-FCN)等。
在單階段框架中,模型將目標檢測任務視為一個統一的端到端回歸問題。在這類框架中,圖像會被縮放到同一尺寸,並以網格形式均等劃分。如果目標的中心位於某個網格單元中,該網格就負責預測目標。通過這種方式,模型僅需處理圖像一次就能得到位置和分類結果。單階段框架主要包括 MultiBox [26]、YOLO [27]、單次多框檢測器(SSD)[28]。相比於第一類框架,這種框架通常結構更簡單,檢測速度也更快。
4 3D目標檢測
這一節將簡要討論與 3D 目標檢測相關的工作,這裡基於不同的數據信息將這些研究工作分為了三大類別。
4.1 使用 RGB 圖像的目標檢測
RGB 圖像包含充足的語義信息,因此非常適合目標檢測。圖 2 展示了一個使用 2D 圖像檢測目標的示例。3D-GCK [29] 等方法僅使用單目 RGB 圖像就能實現實時的汽車檢測:它首先預測 2D 邊界框,然後使用神經網絡來估計缺失的深度信息,將 2D 邊界框提升到 3D 空間。
圖 2:使用 2D 圖像的目標檢測示例。
近期一項研究 [30] 使用了 RGB-D 傳感器,但只使用了灰度信息來識別無紋理的目標。它首先將傳感器獲得的 RGB 圖像轉換成灰度圖像,然後再分割背景和前景。在移除噪聲後,再使用 5 個分類模型執行特徵提取,最終預測出目標的類別。
4.2 使用點雲的目標檢測
僅使用點雲數據的分類網絡主要有兩種。第一種是直接使用三維點雲數據。這類方法沒有信息丟失的問題,但是由於 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 視角的映射函數。
4.3 結合 RGB 圖像與點雲的目標檢測
Frustum PointNets [36] 同時使用 RGB 圖像和雷射雷達點雲數據來執行 3D 目標檢測。該算法使用成熟的 2D 目標檢測器來縮小搜索空間。它是通過從圖像檢測器得到的 2D 邊界框來提取 3D 邊界視錐,然後再在經過 3D 視錐修整過的 3D 空間中執行 3D 目標實例分割。
MV3D [37] 也同時使用 RGB 圖像和雷射雷達點雲數據作為輸入,它是將 3D 點雲投影成鳥瞰圖和正視圖。鳥瞰圖表徵是通過高度、強度和密度編碼的,而正視圖則是將點雲投影到一個圓柱面上生成的。鳥瞰圖可用於生成 3D 先驗邊界框,然後將該 3D 先驗邊界框投影到前視圖和圖像上,這三個輸入生成一個特徵圖。該方法採用 ROI 池化來將三個特徵圖整合到同一個維度。整合後的數據再在網絡上進行融合,然後輸出分類結果和邊界框。
圖 4:使用 MV3D 的目標檢測示例。
11 月 14 日,DevRun 開發者沙龍華為雲即將登陸上海。華為雲技術大咖將帶領開發者玩轉 ModelArts,並解讀華為雲 IoT 服務與 AI 如何實現互通;聚焦華為雲 ModelArts 和 IoT 智能設備,為開發者帶來一場乾貨滿滿的技術盛宴。掃描二維碼,參與報名。
© THE END
轉載請聯繫本公眾號獲得授權
投稿或尋求報導:content@jiqizhixin.com喜歡此內容的人還喜歡
原標題:《從數據集到2D和3D方法,一文概覽目標檢測領域進展》
閱讀原文