計算機視覺方向簡介 | 基於RGB-D的3D目標檢測

2021-02-07 計算機視覺life

點「計算機視覺life」關注,置頂更快接收消息!

本文授權自知乎作者ChenJoya, 原文:https://zhuanlan.zhihu.com/p/34887948,文末點擊閱讀原文查看。

前言

CNN(convolutional neural network)在目標檢測中大放異彩,R-CNN系列,YOLO,SSD各類優秀的方法層出不窮。在2D圖像的目標檢測上,不少學術界提出的框架已經投入商用。但是,具體落實到自動駕駛、機器人這類應用場景上時,2D場景下的目標檢測對於3D真實世界的場景描述依然不夠。

目標檢測問題實際上包含了兩個任務:定位和分類。3D目標檢測在定位這一任務上的目標是返回3D bounding boxes,而其需要的信息除了2D的RGB圖像以外,還包含了與之對應的深度信息Depth Map:

RGB-D = 普通的RGB三通道彩色圖像 + Depth Map

在3D計算機圖形中,Depth Map(深度圖)是包含與視點的場景對象的表面的距離有關的信息的圖像或圖像通道。其中,Depth Map 類似於灰度圖像,只是它的每個像素值是傳感器距離物體的實際距離。通常RGB圖像和Depth圖像是配準的,因而像素點之間具有一對一的對應關係。

本文以時間為主軸,帶你速覽自2014年以來的,在RGB-D圖像上進行目標檢測的典型論文。

論文

2014年:Learning Rich Features from RGB-D Images for Object Detection and Segmentation(ECCV'14)

本文是rbg大神在berkeley時的作品。」基於CNN已經在圖像分類、對象檢測、語義分割、細粒度分類上表現出了相當的優勢,不少工作已經將CNN引入在RGB-D圖像上的視覺任務上。這些工作中一部分直接採用4-channel的圖像來進行語義分割任務(not object detetction),一部分只是在非常理想的環境下對小物體進行目標檢測。「

作者的方法是在2D目標檢測框架R-CNN的基礎上,增加對Depth Map進行利用的module,總體結構如下:



(1)基於RGB圖像和Depth Map,檢測圖像中的輪廓,並生成2.5D的proposals(從overview上可以看到,所謂的2.5D實則包括目標每個像素的視差、高度、傾斜角)

(2)利用CNN進行特徵提取,這裡的網絡包括兩個:Depth CNN學習深度圖上的特徵,RGB CNN學習2D圖像上的特徵,最後利用SVM進行分類。

在對Depth Map的利用上,論文所述方法並沒有直接利用CNN對其進行學習,而是encode the depth image with three channels at each pixel: horizontal disparity(水平視差), height above ground(高度), and the angle the pixel’s local surface normal makes with the inferred gravity direction(相對於重力的傾斜角).

2015年:3D Object Proposals for Accurate Object Class Detection(NIPS'15)

來自Tsing Hua陳曉智大神的作品(大神在同時也是CVPR17: Multi-View 3D Object Detection Network for Autonomous Driving的一作,給跪了)。

作者首先指出,目前最先進的RCNN方法在自動駕駛數據集KITTI上表現不好,原因之一在於KITTI上的測試圖像中,包含許多小型物體、遮擋、陰影,使得實際包含了object的proposals被認為是不包含的。此外,KITTI對區域的精細程度要求很高(overlap),而目前的大多數區域推薦都基於強度和紋理的grouping super pixels,它們無法獲得高質量的proposals。

文章面向自動駕駛場景,提出了一種新的object proposal方法。對於每一個3D bounding box(記為y),將其用一個元組來表示(x, y, z, θ, c, t),(x, y, z) 表示 3D box的中心,θ 表示其方位角,c代表object是哪一類,t代表相應的3d box模板集合。

x代表點雲,y代表proposal,作者認為y應該有以下特性:

包含點雲的高密度區域

不能與free space重疊

點雲不應該垂直延伸在3d box之外

box附近的點雲高度應該比之低

基於這些特性,作者列出了能量方程,目標為最小化E(x,y),採用ICML2004上一篇文章中所述的structured SVM進行訓練。

文章中所述方法的效果、代碼、數據:3D Object Proposals for Accurate Object Class Detection



2016年:Deep Sliding Shapes for Amodal 3D Object Detection in RGB-D Images(CVPR'16)

文章來自普林斯頓大學,提出的方法為Faster R-CNN的3D版本,側重於indoor scene下的object detection。

目前關於3D目標檢測任務的方法,有採用2D方法來結合深度圖的,也有在3D空間內進行檢測的。這不禁讓作者發問:which representation is better for 3D amodal object detection, 2D or 3D?接著他指出,目前2D方法表現更優異的原因,可能是因為其CNN模型更為powerful(well-designed&pre-trained with ImageNet),而不是由於其2D表達。

作者的方法是設計名為Deep Sliding Shapes的3D CNN,輸入3D的立體場景,輸出3D bounding boxes,由此提出了Multi-scale 3D RPN(Region Proposal Network):


類似於Faster R-CNN中的RPN網絡,對於每一個滑動窗口,作者定義N=19種anchor boxes:

而後,為了檢測大小不一的目標,作者增加了多尺度的檢測手段。具體來說,在不同的卷積層上進行滑窗。這裡的滑窗是3D sliding window,因為整個網絡結構就是接收3Dinput的。為了精修區域,作者改進了bbox regression,提出3D box regression:一個3D box可以由中心坐標[cx, cy, cz],長寬高[s1, s2, s3]來表示,最後要得到的是6個偏移量:

而後採用與2D box regression同樣的smooth L1 loss即可。

補充:如何從Depth Map得到3D Input?

Encoding 3D Representation:不同於Depth RCNN的disparity+height+angle 表達,作者在這裡採用了TSDF方法,可以看如下的引用:

KinectFusion在世界坐標系中定義了一個立方體,並把該立方體按照一定的解析度切割成小立方體(voxel)。以圖8上為例所示,圖中定義了一個3x3x3米的立方體,並把立方體分為不同解析度的小立方體網格。也就是說,這個大立方體限制了經過掃描重建的模型的體積。然後,KinectFusion使用了一種稱為「截斷有符號距離函數」(truncated signed distance function,簡稱TSDF)的方法來更新每個小網格中的一個數值,該數值代表了該網格到模型表面的最近距離,也稱為TSDF值(圖8下)。對於每個網格,在每一幀都會更新並記錄TSDF的值,然後再通過TSDF值還原出重建模型。例如,通過圖8下兩幅圖中的網格的TSDF數值分布,我們可以很快還原出模型表面的形狀和位置。這種方法通常被稱為基於體數據的方法(Volumetric-based method)。該方法的核心思想是,通過不斷更新並「融合」(fusion)TSDF這種類型的測量值,我們能夠 越來越接近所需要的真實值。


2017:Learning Cross-Modal Deep Representations for Robust Pedestrian Detection(CVPR'17)

這篇文章雖然是針對於專門的pedestrians detection任務,但是其做法是很具有啟發性的,所以也貼在這裡。

作者指出,「行人檢測任務在深度學習的幫助下已經取得重大突破,同時新型傳感器(如thermal and depth cameras)也為解決不利照明和遮擋提供了新的機會。但是,現有監控系統絕大多數仍然採用傳統的RGB傳感器,因此在illumination variation, shadows, and low
external light仍然十分具有挑戰。」

在針對於照明條件不利環境下的行人檢測任務,文章描述了一種依賴於cross-modality learning framework的學習框架,由兩個網絡組成:

(1)Region Reconstruction Network (RRN)

RRN用於學習在RGB圖像和thermal image間的映射,而後學習得到的模型就可以用於依據RGB生成thermal image。RRN接收RGB+行人proposals,在ROI Pooling後加了重建網絡(全卷積)。這裡的重建網絡不重建整幅圖像的thermal image,而是只對行人區域進行重建。

(2)Multi-Scale Detection Network (MSDN)

MSDN利用RRN學習的cross-modal representations來進行檢測。其包含兩個子網(Sub-Net A和Sub-Net B),其中Sub-Net B中的參數從RRN中遷移而來,最後的fc分別做multi-task:bbox regression和softmax。

2017:Amodal Detection of 3D Objects: Inferring 3D Bounding Boxes from 2D Ones in RGB-Depth Images(CVPR'17)

來自坦普爾大學的文章。作者在這裡與2016的Deep Sliding Shapes思路不同,重新回到2.5D方法來進行3D目標檢測。所謂2.5D方法,實則就是從RGB-D上提取出合適的表達,而後building models to convert 2D results to 3D space。「雖然利用三維幾何特徵檢測前景光明,但在實踐中,重建的三維形狀往往不完整,由於遮擋、反射等原因而含有各種噪聲。」

整個系統的overview如下,其基於Fast R-CNN實現:

對於每一個2D的proposal(這裡關於2D proposals的方法就是用的Depth R-CNN中的方法),由分類結果和depth information來初始化一個3D bounding box(圖中黃色的虛線框),而後也是用一個3d box regression來進行區域精修。重點關注3D box proposal and regression:

圖中是3D box proposal的一個實例。每一個3d box由向量[xcam, ycam, zcam, l, w, h, θ].來表達,[xcam, ycam, zcam]表中心位置,[l, w, h]表尺寸,θ∈ [−π/2, π/2]表示方位角,即圖中黃色的箭頭與z軸形成的夾角。在初始化的時候,關於尺寸是由某一類物體的類別來進行確定的。最後輸出7個調整量[δx, δy, δz, δl, δw, δh, δθ],利用Smooth L1 Loss作為損失函數。

結語

3D目標檢測對於自動駕駛與機器人等領域意義重大。本文以時間為序,重點關注和分析了基於RGB-D上的3D Object Detection方法。從Depth R-CNN到3D Faster-RCNN,似乎始終基於2D的目標檢測框架在跟循改進。期待在未來,將會有更為優美的方法出現。

感謝您的閱讀,文中的遺漏與錯誤,懇請批評指正。

參考文獻

[1] Gupta S, Girshick R, Arbeláez P, et al. Learning Rich Features from RGB-D Images for Object Detection and Segmentation[C]// European Conference on Computer Vision. Springer, Cham, 2014:345-360.

[2] Chen X, Kundu K, Zhu Y, et al. 3D object proposals for accurate object class detection[C]// International Conference on Neural Information Processing Systems. MIT Press, 2015:424-432.

[3] Song S, Xiao J. Deep Sliding Shapes for Amodal 3D Object Detection in RGB-D Images[J]. 2015, 139(2):808-816.

[4] Deng Z, Latecki L J. Amodal Detection of 3D Objects: Inferring 3D Bounding Boxes from 2D Ones in RGB-Depth Images[C]// IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2017:398-406.

[5] Xu D, Ouyang W, Ricci E, et al. Learning Cross-Modal Deep Representations for Robust Pedestrian Detection[J]. 2017.

推薦閱讀

計算機視覺方向簡介 | 從全景圖恢復三維結構

計算機視覺方向簡介 | 陣列相機立體全景拼接

計算機視覺方向簡介 | 單目微運動生成深度圖

計算機視覺方向簡介 | 深度相機室內實時稠密三維重建

計算機視覺方向簡介 | 深度圖補全

計算機視覺方向簡介 | 人體骨骼關鍵點檢測綜述

計算機視覺方向簡介 | 人臉識別中的活體檢測算法綜述

計算機視覺方向簡介 | 目標檢測最新進展總結與展望

計算機視覺方向簡介 | 唇語識別技術

計算機視覺方向簡介 | 三維深度學習中的目標分類與語義分割

計算機視覺方向簡介 | 基於單目視覺的三維重建算法

計算機視覺方向簡介 | 用深度學習進行表格提取


從零開始學習SLAM,掃描查看介紹,3天內無條件退款

有效期一年,每天0.3元,幫你少走彎路,快速入門SLAM!


覺得有用,給個在看啦~     

相關焦點

  • 計算機視覺方向簡介 | 多視角立體視覺MVS
    推薦閱讀前段時間參加了個線下交流會(附SLAM入門視頻)計算機視覺方向簡介 | 從全景圖恢復三維結構計算機視覺方向簡介 | 陣列相機立體全景拼接計算機視覺方向簡介 |單目微運動生成深度圖計算機視覺方向簡介 | 深度相機室內實時稠密三維重建計算機視覺方向簡介 | 深度圖補全計算機視覺方向簡介 | 人體骨骼關鍵點檢測綜述計算機視覺方向簡介 | 人臉識別中的活體檢測算法綜述計算機視覺方向簡介 | 目標檢測最新進展總結與展望計算機視覺方向簡介 |
  • 綜述:在RGB-D圖像上進行目標檢測(Object detection in RGB-D images)
    本文根據論文先後發表的時間順序,帶大家速覽自2014年以來的,在RGB-D圖像上進行目標檢測的典型論文。>>加入極市CV技術交流群,走在計算機視覺的最前沿CNN(convolutional neural network)在目標檢測中大放異彩,R-CNN系列,YOLO,SSD各類優秀的方法層出不窮。在2D圖像的目標檢測上,不少學術界提出的框架已經投入商用。
  • 現在開源的RGB-D SLAM有哪些?
    點「計算機視覺life」關注,置頂更快接收消息!
  • AAAI 2020 Oral | TANet:提升點雲3D目標檢測的穩健性
    另一方面,點雲通常是無序、稀疏、不均勻分布的,這對於準確目標檢測是一項巨大挑戰。近年來,3D 目標檢測社區提出了多種基於點雲的方法。PointRCNN 直接基於原始點雲運行,用 PointNet 提取特徵,然後用兩階段檢測網絡估計最終結果。VoxelNet、SECOND 和 PointPillars 將點雲轉換成規則的體素網格,然後應用一系列卷積操作進行 3D 目標檢測。
  • Stereo R-CNN 3D 目標檢測
    ,也是各個公司無人駕駛或者機器人學部門關注的重點,包含了點雲,點雲圖像融合,以及單目3D檢測,但是在雙目視覺方面的貢獻還是比較少,自從3DOP之後。在具有挑戰性的KITTI數據集上的實驗表明,該方法在3D檢測和3D定位任務上的性能優於最先進的基於立體的方法約30%AP。
  • 最強戰隊 | 三維視覺、SLAM方向全球頂尖實驗室匯總
    作者:任旭倩本文授權轉載自公眾號:計算機視覺life經常收到大家的提問,關於讀碩博選擇、研究方向選擇、出國留學等各種問題。:主要研究算機視覺,圖像處理和模式識別等一系列方向,即基於圖像的3D重建,光流估計,機器人視覺,視覺SLAM等。
  • 深度學習檢測小目標常用方法匯總
    ,以求在比較小的窗口分類器中檢測到小目標。淺層的特徵圖感受野小,比較適合檢測小目標(要檢測大目標,則其只「看」到了大目標的一部分,有效信息不夠);深層的特徵圖感受野大,適合檢測大目標(要檢測小目標,則其」看「到了太多的背景噪音,冗餘噪音太多)。
  • 深度學習在目標視覺檢測中的應用進展與展望
    目標視覺檢測是計算機視覺領域中一個非常重要的研究問題.隨著電子設備的應用在社會生產和人們生活中越來越普遍, 數字圖像已經成為不可缺少的信息媒介, 每時每刻都在產生海量的圖像數據.與此同時,對圖像中的目標進行精確識別變得越來越重要[1].我們不僅關注對圖像的簡單分類, 而且希望能夠準確獲得圖像中存在的感興趣目標及其位置[2], 並將這些信息應用到視頻監控、自主駕駛等一系列現實任務中, 因此目標視覺檢測技術受到了廣泛關注
  • 語義分割方向知乎、公眾號、博客有哪些大V值得關注?
    相關經典文章:綜述 | 語義分割經典網絡及輕量化模型盤點CVPR2019 | Decoders 對於語義分割的重要性CVPR 2019 | 微軟亞研院提出用於語義分割的結構化知識蒸餾計算機視覺方向簡介 | 三維深度學習中的目標分類與語義分割實戰 | 基於SegNet和U-Net的遙感圖像語義分割-分割線
  • 【3D目標檢測】開源 | 弱監督的3D目標檢測器,不需要任何ground truth就可以進行模型訓練
    長按關注▲                  長按加微信▲備註:研究方向+地點+學校/公司+暱稱,更快通過申請,長按加細分領域技術交流群,目前有細分領域:圖像分割、圖像目標檢測、論文寫作、車道檢測、模型優化、目標跟蹤
  • 基於OpenCV的條形碼檢測
    我們將使用numpy進行數字處理,argparse用於解析命令行參數,cv2進行opencv綁定。然後我們將設置命令行參數。我們這裡只需要一個開關,即 --image,它是我們圖像的路徑,其中包含我們想要檢測的條形碼。
  • 分16個方向:目標檢測 / 圖像分割 / 人臉 / 行人重識別等
    關注過極市一段時間的小夥伴應該都知道,我們從2017開始不定期舉辦優質的計算機視覺直播分享,迄今為止,已經邀請超過100位技術大咖嘉賓,並完成了75期線上直播分享,這些技術直播深入講解了神經網絡、目標檢測、圖像分割、目標跟蹤、人臉、人體姿態估計、行人重識別、行為識別與檢測、人流密度分析、工業檢測
  • 2021年目標檢測大盤點|目標檢測總結——附論文&代碼下載
    口令紅包🧧:計算機視覺新春快樂掃描二維碼 關注我們微信公眾號 : 計算機視覺研究院知乎專欄:計算機視覺戰隊不知不覺2021年已經過去了一個多月,ECCV頂級期刊陸陸續續告一段落,大年初一「計算機視覺研究院」依然給大家分享目標檢測領域優秀的算法及框架!
  • 3D目標檢測綜述:從數據集到2D和3D方法
    目標檢測一直是計算機視覺領域中一大難題。近日,來自阿爾伯塔大學的研究者對目標檢測領域的近期發展進行了綜述,涵蓋常見數據格式和數據集、2D 目標檢測方法和 3D 目標檢測方法。由於目標具有許多不同的外觀、形狀和姿態,再加上光線、遮擋和成像過程中其它因素的幹擾,目標檢測一直以來都是計算機視覺領域中一大挑戰性難題。本文將概述性地總結一些當前最佳的目標檢測相關研究。第 2 節將簡要介紹目標檢測任務常用的數據格式,同時還會給出一些著名的數據集。然後會概述一些預處理方法。第 3 節會介紹與 2D 目標檢測相關的技術,包括傳統方法和深度學習方法。
  • 論文簡述 | FlowFusion:基於光流的動態稠密RGB-D SLAM
    點擊上方「小白學視覺」,選擇加"星標"或「置頂」重磅乾貨,第一時間送達動態環境對視覺SLAM具有挑戰性,因為移動對象遮擋了靜態環境特徵並導致錯誤的攝像機運動估計.在這篇文章中,我們提出了一個新的密集的三維立體模型解決方案
  • 深度學習(計算機視覺方向)小白入門的一些建議
    在這之後我還研究了一段時間的追蹤,看了一些幀差法,光流法,背景差分法什麼的,已經記不住了,就剩個大概意思了,然後就去研究目標檢測了。後來10月份的時候我們報名了一個京東的豬臉識別大賽,可是發現什麼都不會,感覺好心塞,慢慢的開始知道機器學習了,我在網上找了一些博客看了一些那種概述,大致知道了什麼意思。
  • 計算機視覺中的雙目立體視覺和體積度量
    大多數三維相機模型都是基於立體視覺理論和技術的。兩臺攝像機之間設置一定的距離,這樣它們就可以從不同的角度「看」物體。評估兩個圖像之間的對應關係,人工智慧確定到目標的距離,分析,並建立目標的3D結構。、點雲後處理、多視圖幾何等方向。
  • 計算機視覺軟體庫OpenCV的開發基礎介紹
    ,而計算機視覺(Computer Vision)無疑是人工智慧一個非常重要的分支,計算機視覺的發展也成為了很多科研人員和業界開發人員聚焦的熱點。(3)本庫採用的協議不要求商業產品繼續開放代碼,這使得可移植的、性能被優化的代碼可以自由獲取,可以促進基於視覺的商業應用的發展。這些目標說明了OpenCV的緣起。計算機視覺應用的發展會增加對快速處理器的需求。與單獨銷售軟體相比,促進處理器的升級會為Intel帶來更多收入。這也許是為什麼這個開放且免費的庫出現在一家硬體生產企業中,而不是在一家軟體公司中。
  • 每日新文推薦:計算機視覺方向 [2020-11-25]
    寫在前面我們對arix每天更新的論文進行分類推送給大家,如果你想增加某個領域或方向的論文,可以私信我們。Karam連結:http://arxiv.org/abs/2011.11957 目標檢測: 4篇[0] KeepAugment: A Simple Information-Preserving Data Augmentation Approach標題:KeepAugment:一種簡單的信息保存數據擴充方法
  • 來了解下計算機視覺的八大應用
    如果想進入機器學習領域,首先還是選擇一個方向領域,然後了解和熟悉該方向領域內所需要的算法,特定的解決技巧等。當然,這篇文章主要介紹的是計算機視覺的應用,計算機視覺也算是這 16 個方向裡面最熱門也是發展最成熟的其中一個方向了。