Voting for Voting in Online Point Cloud Object Detection 論文筆記

摘要

這篇論文提出了一種將計算機視覺中常用的滑動窗口(sliding window)方法應用於三維數據的有效方案。
具體來說,該問題的稀疏性通過投票方案(voting scheme)得以利用,從而能夠在任何方向上對所有假定的對象位置進行搜索。
這個投票方案在數學上等價於一個稀疏特徵網格上的卷積,因此能夠在全3D中處理任何點雲(point cloud),而不管構造它所需的有利點(vantage points)的數量。
該方法能夠在不到0.5秒的時間內處理一個包含超過100K個點的點雲。

Ⅰ.介紹

滑動窗口(sliding window)物體檢測方法可以說是計算機視覺中最常用的物體檢測範例。然而,在基於激光的物體識別中,它一直被忽視。事實上,同樣的範例似乎同樣適用於3D點雲(point cloud),就像適用於2D圖像一樣。概念上的差異並不明顯,你只需要首先將空間離散成一個三維體素網格,然後在所有三維空間中滑動窗口,而不是像圖像那樣在二維空間中滑動窗口。一個可能導致忽視的因素是感官上的額外維度帶來的計算負擔,從而認爲在3D中考慮滑動窗口不切實際。

舉例說明,假設我們要在一個底面積爲100m*100m,高爲10m的3D點雲空間中進行物體檢測。將空間離散成邊長20cm的單元格,則總共需要100 * 100 * 10 /(0.2 * 0.2 * 0.2)=12.5 * 10610^6 個網格單元。一種簡單的方法是將檢測窗口的一角放在這12.5 * 10610^6個單元格中的每一個上,然後測試它是否包含了感興趣的對象。也就是要處理12.5 * 10610^6個窗口(暫時忽略邊界條件)。即使假設一個窗口的處理只需要1us(相對樂觀了),那麼處理一幀也需要12.5s。

現在利用本論文的方法,對於上述情況下的處理只需0.5s。

實現這種效率的關鍵是注意到與2D圖像相比,3D點雲的結構有一個根本的區別:由於大部分空間是空閒的,所以3D點雲是稀疏的。

Ⅱ.相關工作

Techiman等人(Tracking-Based Semi-Supervised LearningTowards 3D object recognition via classification of arbitrary object tracks):首先分割輸入激光掃描,然後跟蹤在一系列掃描中獲得的片段。採用boosting classifier將每一個被跟蹤的段序列分爲汽車、行人和自行車三類。

Wang等人(What Could Move? Finding Cars, Pedestrians and Bicyclists in 3D Laser Data):首先用激光掃描過度分割成物體部分,然後用SVM分類器將段(segments)分成感興趣的前景和背景,接着用聚類處理前景獲取物體實例。第二個分類階段將產生的集羣劃分爲同一組類:car、pedestrian和bicyclist。

Behley等人(Laser-based segment classification using a mixture of bag-of-words):同樣採用了基於分割的方法。首先,從輸入點雲獲得段的層次結構。然後,使用一個混合模型對這些片段進行分類,該模型以詞袋(bag-of-words)描述符爲訓練對象。層次結構中的冗餘段稍後通過貪婪策略刪除。

Lai等人(Sparse distance learning for object recognition combining
RGB and depth information
):使用Kinect傳感器來學習一個稀疏距離度量,用於使用用Group-Lasso 正則化(Group Least Absolute Shrinkage and Selection Operator)識別預先分割的室內目標。

大量單眼目標檢測中的三維姿態估計的研究也利用三維滑動窗口識別的三維限定框(bounding-box)來表徵目標。(3D Object Detection and Viewpoint Estimation with a Deformable 3D Cuboid ModelThinking Inside the Box: Using Appearance Models and Context Based on Room Geometry)然而,是通過將圖像的平行平面(fronto-parallel)投影到物體邊界長方體的每個可見面上來實現檢測,然後從投影圖像中提取該面的二維特徵。
類似地,另一種常見的三維物體檢測方法是選擇或利用一個有利點(vantage point),將激光掃描儀的三維數據投影到一個成像平面上,形成一個深度圖像,然後利用2D滑動窗口。

Pedestrian Detection Combining RGB and Dense LIDAR
Data
High-accuracy 3D sensing for mobile manipulation: Improving object
detection and door opening
)還考慮了常規圖片中的外觀信息。

Lai等人(Detection-based object labeling in 3D scenes):在3D點雲上進行物體檢測,這個3D點雲由RGB-D數據的多個視角生成(通過在RGB和深度數據上從每一個視角運用2D滑動窗口),然後,將二維檢測分數投影到集成的三維點雲中,利用體素表示(voxel representation)進行融合,得到三維檢測結果。

相比之下,本文提出的方法不需要任何投影,僅對三維數據進行處理。

與本文最密切相關的是由Song和Xiao提出的用於3D對象檢測的滑動窗口方法(Sliding Shapes for 3D Object Detection in Depth Images),通過使用3D積分圖像來減少計算代價。但是,需要顯式地測試每個窗口,以確定是否有比某個閾值更多的已佔用單元。

Lehmann等人(Fast PRISM: Branch and Bound Hough Transform for Object Class Detection)也發現了滑動窗口檢測和投票策略之間的對偶性。

Ⅲ.綜述

Figure 1
左上角爲點雲,首先將點雲離散化爲3D柵格(右上角)。對於每個被佔據的單元,位於單元內的點及其反射率值被映射到一個固定維的特徵向量(中間靠右給出了這樣一個被佔用的單元格的例子,並在右上角和中間靠左突出顯示)。未被佔據的單元根據定義被映射到零特徵向量。因此,點雲被轉換爲一個特徵網格(中間靠左,每個帶顏色的球代表從一個被佔據的單元提取出的特徵向量)。然後在3個維度穿過特徵網格滑動一個3D檢測窗口,利用分類器評估每個窗口位置來檢測物體。每旋轉一個角度,這個過程就重複一次。

檢測的輸入是通過一系列點的位置和反射率值表示的3D激光掃描。首先,點雲根據以下說明轉換成特徵網格。3D空間根據固定的網格大小離散化,且每個被佔據的單元轉換成固定維度的特徵向量。沒有被任何點佔據的單元映射到零特徵向量。這個定義對於挖掘問題的稀疏性很重要。在每個窗口位置,包含在滑動窗口內的特徵向量被堆積成單個長向量並傳遞給分類器(例如,SVM)。然後,分類器通過返回檢測分數來確定檢測窗口的當前位置是否包含了感興趣的對象。

與基於圖像的探測器相比,這裏的尺度不是問題,因爲絕對尺度(以米爲單位)是在3D中已知的。然而,旋轉是一個問題。假設感興趣的物體是普遍垂直的,也就是說,任何旋轉都是基於垂直軸的,爲了在任意的方向檢測物體,我們將360度離散成N個orientation bin並在每個旋轉點雲上對每個orientation bin運行相同的檢測過程N遍。

Ⅳ.Sliding window,Sparse convolution and Voting

線性分類器在滑動窗口檢測的情況下等價於卷積,所以標準的方法比如Fast Fourier Transform (FFT,快速傅里葉變換)可用於高效地計算detection scores,但此方法並不適用於3D中的情況。空間域的稀疏性並不意味着頻率域的稀疏性,因此,稀疏特徵網格的傅里葉變換將是密集的。
在這部分將說明投票策略與稀疏卷積在數學上是等價的。
注意,將要描述的方法只適用於線性分類器。

特徵網格自然是4維的——每個單元有一個特徵向量,而單元跨越一個3維的網格。
fijklf_{ijk}^l來表示位置(i,j,k)(i,j,k)處的單元的lthl’th(第ll)個特徵。
將位置(i,j,k)(i,j,k)處的所有特徵集體表示爲向量fijkf_{ijk}

爲了讓表達簡單,ϕ=(i,j,k)\phi = (i,j,k)
網格有維度(NxG,NyG,NzG)(N_x^G,N_y^G,N_z^G)
定義一個集合Φ=[0,NxG)×[0,NyG)×[0,NzG)\Phi=[0,N_x^G) ×[0,N_y^G)×[0,N_z^G) (此處的符號[m,n)理解爲定義在整數集上的標準半開區間,即[m.n)=qZ:mq<n[m.n)={q\in \Z:m\leq q < n})

所以Φ\Phi是特徵網格上的一組索引,而任何ϕΦ\phi \in \Phi指出了網格中的一個單元。
fijkf_{ijk}則可寫成fϕf_{\phi},相應地fϕ=0f_{\phi}=0則表示在ϕ\phi處的單元沒有被佔據。
我們用ΦΦ\Phi_* \subset \Phi來表示被佔據的單元集合。
則顯然ϕΦΦfϕ=0\phi \subset \Phi \diagdown \Phi_* → f_{\phi} = 0
類似地,detection window 有維度(NxW,NyW,NzW)(N_x^W,N_y^W,N_z^W)
定義一個集合Θ=[0,NxW)×[0,NyW)×[0,NzW)\Theta=[0,N_x^W) ×[0,N_y^W)×[0,N_z^W):detection window的局部索引集

我們將與window(θΘ\theta \in \Theta)中的cell位置相關的線性分類器的權重定義爲wθw_{\theta},這裏與特徵網格相反,權重是密集的。

Figure 2
圖(a)中detection window剛好包含了3個被佔據的單元(已經用不同的顏色表示),detection window的原點(anchor錨點)由角落的藍色大立方體高亮顯示,與特徵網格中的cell位置ψ=ϕ=(i,j,k)\psi = \phi = (i,j,k)重合。所有的3個被佔據單元投票給window位置ψ\psi,進而貢獻給分數sψs_{\psi}.
圖(b)中顯示了單個被佔據的單元的投票。被佔據單元的位置由紅色球體表示,接收來自它的投票的檢測窗口的原點由藍色立方體表示。window大小爲8438*4*3

爲了避免邊界條件的擔憂,規定當索引越界時,定義特徵向量和權重爲0.
這將特徵和權重的索引集擴展到整個Z3\Z^3

定義第三個集合Ψ\Psi:包含所有可能接收到非零檢測分數的detection window位置的索引
如果我們定義detection window的錨點在它的局部座標θ=(0,0,0)\theta=(0,0,0),那麼所有可能的窗口位置集可以由窗口錨點的特徵網格上的所有可能位置集捕獲。
則所有可能接收到非零檢測分數的窗口的錨點的索引集爲Ψ=[1NxW,NxG)×[1NyW,NyG)×[1NzW,NzG)\Psi=[1-N_x^W,N_x^G) ×[1-N_y^W,N_y^G) ×[1-N_z^W,N_z^G)

接下來的推導中,將用ϕ\phi索引出特徵網格中的特徵向量,用θ\theta索引出detection window中的權重向量,用ψ\psi索引出一個window位置(網格中的anchor錨點位置)

定理1
原點在網格位置ψ\psi處的detection window的檢測分數sψs_{\psi}可以寫成落於detection window中的被佔據單元的投票總和。

證明:首先根據線性分類器寫出sψs_{\psi}的顯性形式:
sψ=θΘfψ+θwθ s_\psi=\sum_{\theta \in \Theta} f_{\psi+\theta} · w_{\theta}
因爲當θΘ\theta \notin \Theta時,wθ=0w_{\theta}=0,所以總和可以擴展到整個Z3\Z^3

注意ϕ=ψ+θ\phi=\psi+\theta
在這裏插入圖片描述
在這裏插入圖片描述
定義位置ψ\psi處的window中位置ϕ\phi處的被佔據單元的投票爲vϕ,ψ=fϕwϕψv_{\phi,\psi} = f_{\phi} · w_{\phi-\psi}

在這裏插入圖片描述
推論1
三維分數數組ss可以寫成每個被佔用單元的投票數組的和。
證明:首先,s是將Z3\Z^3中的元素映射到實數(不同窗口位置的檢測分數)
vϕ,ψ=fϕwϕψv_{\phi,\psi} = f_{\phi} · w_{\phi-\psi}
在這裏插入圖片描述
定義函數vϕ:Z3Rv_{\phi}:\Z^3 \Rightarrow \R,即vϕ(ψ)=vϕ,ψ,ψZ3v_{\phi}(\psi)=v_{\phi,\psi},\forall \psi \in \Z^3
則顯然有
s=ϕΦvϕ s = \sum_{\phi \in \Phi*} v_{\phi}
算法1
在這裏插入圖片描述

Ⅴ.Feature Extraction

特徵表示部分,計算了3個形狀因子(shape factor)在被佔據單元內的點的散射,以及單元中包含的點的反射率值的平均值和方差,以及二進制佔用特徵(對於已佔用的單元爲1,如果未佔用則爲0)。
即總共有6個特徵。

爲滑動窗口檢測器選擇最好的特徵不是這篇論文的重點。

Ⅵ.Non-Maximum Suppression

爲了移除重複的檢測,使用了類似於CV中常用的非極大抑制,被選擇了貪婪策略。
非極大抑制作用過程:
首先將所有窗口位置(所有方向角度)中檢測分數大於閾值σ\sigma的根據分數按降序排列。
然後一個個與當前被接受的窗口位置列表(初始化爲空)相比較,如果一個窗口位置與之前接受的任何對象窗口重疊的幅度不超過給定的閾值,則接受該窗口位置並將其添加到接受的窗口列表中。
兩個對象窗口之間的重疊被計算爲交集的體積與並集的體積之比。

總結

CV中基於滑動窗口的目標檢測方法是普遍存在的,但在基於三維激光的目標檢測中卻被忽視。這可能是由於感官上它的計算效率低。在本文中,證明了充分利用問題的稀疏性,在三維空間中進行窮舉窗口搜索是非常有效的。同時證明了稀疏卷積和投票策略之間的數學等價性,並設計了一個有效的算法來精確計算所有窗口位置的檢測分數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章