陳正兵
(南京理工大學 計算機科學與工程學院,江蘇 南京210094)
基于深度圖像的室內三維平面分割方法研究
陳正兵
(南京理工大學 計算機科學與工程學院,江蘇 南京210094)
當前隨著3D相機在智能機器人領域的廣泛運用,越來越多的學者投入到了基于3D相機深度圖像的室內三維平面分割研究當中。文運用了一種快速而且比較穩定的方法去檢測復雜的平面,其中深度圖像是運用Kinect相機采集的。為了提高平面提取的速度,我們首先計算深度圖像中點的法向量,通過法向量來判斷這些點是否在一個平面上。運用求點的法向量可以同時檢測多個復雜的平面,而且實驗結果顯示該方法比傳統的3D Hough Transform以及RANSAC方法要快。此種方法還有個優點就是可以運用到實時的平面與障礙物檢測當中,此方法在機器人領域有比較大的應用前景。
平面提取;深度圖像;法向量;Kinect相機
目前基于深度圖像的三維場景分割的主要優點是可以幫助機器人認識和理解周圍的環境,而且機器人周圍的環境以及障礙物都是平坦的,或者說可以分解為平面區域。所以基于深度圖像的室內三維場景分割也可以轉化為對室內三維場景的平面分割,當前平面分割算法主要是基于兩個標準,一個是基于框架,你一個是基于特征。基于框架的平面提取算法主要有:區域生長算法[1],聚類算法[2]和邊緣檢測算法[3]。基于特征的平面分割算法主要有:法向量算法[4]和掃描線分割算法[5]。深度圖像提取和分割是物體識別定位和特征提取之前的重要步驟,受到了較多研究人員的關注。由于深度圖像的分割是圖像各種處理和分析的基礎,而分割結果的好壞直接影響著后續的數據處理效果,并且對數據分割這方面的研究還沒有一個符合一般情況的成系統性的成果,所以到現在,深度圖像的分割問題還一直是研究的熱點和難點之一。當前平面提取方法種類比較多,國內外許多學者對這個方面提發表了自己的研究成果,國外學者提出的基于深度圖像的梯度進行平面分割[6],充分運用到圖像的梯度信息從而完成深度圖像的平面提取,李寶等人[7]提出的一種基于RANSAC的點云特征線提取算法,對點云的噪聲、外點和數據缺失有很強的魯棒性。國內錢偉寧[8]等人基于大量的距離和深度信息對平面提取進行了研究。
在傳統的平面檢測方法中,需要解決的也是面臨的主要難點是怎樣改進數據處理的速度。在3D Hough Transform[9]方法需要使用所有的點,在計算的過程中計算的復雜度比較高,效率比較低。RANSAC[10]方法是一種很早之前就提出來的一種方法,但是該方法存在重復計算,復雜度較高,效率相對3D Hough Transform方法更低。基于RANSAC平面提取的方法存在執行時間的缺點,假設所利用的是可靠的點(認為存在的噪聲點較少)而不是隨機的點,將會減少迭代的過程,從而提高該方法的效率。該算法首先是對點云進行抽樣,得到一定數量點云集,然后通過奇異值分解的方法得到類別相似的點然后進行歸類,然后對歸類好的點進行平面擬合,反復進行抽樣直到所有的點都被分類,然后進行平面擬合,最后得到點云數據的平面圖。
在本篇文章中我們所采用的是法向量算法,深度圖像是通過采集室內封閉的環境,并且該環境內有光照,在滿足該條件的情況下,我們利用Kinect相機能夠采集到在該環境下的深度圖像,同時也可以得到相對應的彩色圖像。通過以上條件我們可以很輕松的通過Kinect相機得到3D點云數據。傳統的處理3D點云數據是計算每個3D點之間的距離,在本篇文章中我們所采取的方法是計算3D點云的法向量[11],通過法向量來判斷3D點是不是在一個平面。
如上圖所示,文中提到的算法主要是先求出所有點云的法向量,然后根據法向量的方向判斷點云的類別,然后同樣利用奇異值分解的方法對所有點云進行分類,對于分類好的點云進行平面擬合。
1.1 點云法向量計算的研究現狀
當前法向量的計算方法大致可以分為3類:基于點云數據局部表面擬合的方法,基于Delaunay方法,基于魯棒統計的方法。
1)基于點云數據局部表面擬合的方法是由 Hugues Hoppe[12]等人基于有向距離函數(Signed Distance Function)的三維點云表面重建算法中提出。這種方法的原理主要是將K個最近點擬合出的平面的法向量作為當前點的法向量。
2)基于Delaunay[13]方法。該方法的原理主要是首先為點云構建Voronoi圖,然后進行Delauney三角劃分,對于點云數據中的每個點,假設點處于整個點云的凸起的部位內,我們可以將所在的Voronoi柵格中距離最遠的頂點的連線作為點的法向量。OuYang等人[14]在這種方法的基礎上做了一些該進,他們為點的領域構建一個局部的Voronoi圖,然后為該Voronoi圖擬合一組二次曲面,通過計算這些二次曲面的切向量來計算點的法向量。Alliez等人[15]提出將PCA方法和Voronoi方法相結合,這種方法可以得到比較可靠的法向量,但是點云中存在的一些尖銳特征仍然沒有考慮進去。
3)基于魯棒統計的方法。
基于魯棒統計的方法Fleishman等人提出了利用魯棒的移動最小二乘(Robust Moving Least Squares,RMLS)來重建點云數據中具有尖銳特征的表面,對于給定的點云中的一個點,我們將它分為多個沒有外點的光滑區域,對于這些子區域我們進行投影,在進行表面重建的過程中,我們可以通過重建的分片光滑表面得到。
1.2 計算點云的法向量
文中利用了sobel算子來計算點云的法向量,sobel算子在圖像中是用來進行邊緣檢測的,它是基于一階導數的邊緣檢測算子,但是在進行邊緣檢測的同時我們可以得到圖像邊緣方向和幅度兩個屬性,基于這個啟發,在三維點云數據的法向量計算過程中,我們可以使用sobel算子的這些特性來計算點云數據中某一點的空間法向量。在二維圖像中sobel算子包含兩組3×3的矩陣:文中利用sobel算子計算空間點的法向量時取的兩個常量sobel_u,sobel_v,由于空間某一點對應的鄰近點有8個,在計算法向量時我們兩個常量的取值分別為:

在二維圖像中我們通過卷積可以得到圖像邊緣點的幅度和方向的變化[16],利用此原理,在三維空間中通過卷積可以得到空間中三維點的法向量。首先我們利用 sobel_u對空間八個點進行卷積得到矩陣B1,利用sobel_v對空間八個點進行卷積得到矩陣B2,然后計算矩陣B1的各項和b1,計算矩陣B2的各項和b2,利用b1和b2得到新的矩陣B=[b1;b2;1],再由矩陣A=[1,0,0;0,1,0;x,y,1]以及單位矩陣I進行卷積得到法向量N=I.*A.*B,由此方法可以快速得道點云的法向量。在計算法向量時由于一些邊界點沒有鄰近的空間8個點,因此我們在計算的時候邊界點先不取值,點云邊界點的法向量設為其鄰近點一致。
1.3 對3D點云數據進行分類
為了提高點云數據處理的速度,我們采取的是均勻采樣的方法而不是單獨的對每個點進行處理,當進行均勻采樣的過程中,能夠確定哪些點在一個平面上,哪些點不在一個平面上,判斷兩個點是否在同一個平面上的方法主要通過以下方法確定:

Ni和Nj分別是點Pi和Pj對應的法向量,方程(1)用來確定法向量相同的點,方程(2)是用來兩個法向量兩相同的點的連線是否與兩個點的方向量垂直,通過這種方法可以對3D點云進行分類,從而判斷哪些點是在同一個平面上。
1.4 平面提取
經過之前對3D點云數據分類之后,對于點云數據對應的平面方程就可以確定,該平面可以用方程式(3)表示,為了從多個復雜的點中提取平面,矩陣方程(4)是約束條件。

在上面的方程中,Xi是一個被分離的點集,n是這個點集中點的數目,結合以上的方程再利用SVD(奇異值分解)方法來處理數據。
1.5 通過比較平面方程的系數來處理相同的平面
最后對于那些系數比較相近的平面我們可以將他們去除掉,那些包含最多點的平面被保留下來而其余的則被去除,假設兩個平面一樣則有:

在這個方程中,a,b,c,d是平面i和j的平面方程系數。方程(5)檢測的是兩個平面的角度是一樣的。假如方程(5)滿足,方程(6)檢測的是兩個平面的距離為0。在這部分中,我們設定一個閾值,假如平面的參數在這個閾值內則我們可以判定這些平面是一個平面,假如方程式(5)和(6)在這些閾值范圍內是成立的則可以判斷這些平面是相同的平面。
以下兩幅圖像是用kinect相機采集的彩色圖和深度圖,根據kinect相機的原理,在采集到的信息中包含圖像的點云信息。

圖2 深度相機采集的彩色圖和深度圖
先對深度圖像的點云數據求其法向量,得到點云法向量的坐標,然后對法向量進行分類,得到的圖如圖3所示。

圖3 點云法向量
在求出三維點云的法向量后[17],我們根據之前提出的方法進行平面提取得到三維圖像如圖4所示。

圖4 提取的平面分割圖
在進行本方法的同時我們也利用傳統的 3D Hough Transform方法和RANSAC方法進行了比較,得出的結論如表1所示。

表1 3種平面提取方法比較
為了和之前提出的方法進行比較,我們利用之前提到的兩種方法進行了實驗,運行的環境都是在matlab 2012b,從上表可以看出,本文提出的方法在處理上大大縮短了運行的時間,這在平面提取涉及到的應用上有了比較大的優勢,當然本方法也是在結合傳統平面提取方法上的一種改進。
我們提出的方法是在酷睿 i5-3230M雙核處理器(2.6 GHz,睿頻可達3.2 GHz)為主板的計算機上進行運算的。
在文中我們提出了一種基于Kinect深度相機的室內三維平面分割方法,我們所用的是通過計算點云數據的法向量,然后對法向量進行分類,最后通過分類后的法向量來提取平面。從結果我們可以看出,我們采用的方法所用的時間較其他兩種方法有明顯的優勢。相比較而言,3D Hough Transform所用的時間是文中提出的方法的好多倍,而且需要較大的存儲空間來保證結果的準確性。而且文中提出的方法不需要迭代,因此這種方法比RANSAC方法更快,雖然準確性上幾乎一樣。
[1]秦曉薇.區域填充算法的研究[J].赤峰學院學報:自然科學版,2011,27(6):47-49.
[2]Johnson A E,Hebert M.Using spin-images for efficient multiple model recognition in cluttered 3-D scenes[J].PAMI,1999,5(21):433-449.
[3]Goerzen C,Kong Z,Mettler B.A survey of motion planning algorithms from the perspective of autonomous uav guidance[J].JournalofIntelligent& Robotic Systems,2010,1(57):65-100.
[4]WoodenD,Egerstedt M.Oriented visibility graphs:Lowcomplexity planning in real-time environments[J].IEEE,2006,2(31):2354-2359.
[5]Kuwata Y,How J.Three dimensional receding horizon control for uavs,AIAA Guidance[R].Navigation,and Control Conference and Exhibit,2004,3(1):2100-2113.
[6]Enjarini B,Grser A.Planar segmentation from depth images using gradient of depth feature[J].2012 IEEE/RSJ、International Conference on Intelligent Robots and Systems October 7-12,2012,2(1):4668-4674.
[7]李寶,程志全,黨崗,等.一種基于RANSAC的點云特征線提取算法[J].計算機工程與科學,2013,35(2):147-152.
[8]QIAN Wei-ning,GONG Xue-qing,AO Ying-zhou.Clustering in very large databases based on distance and density[J]. Journal of Computer Science andTechnology,2003,18(1): 67-76.
[9]DoritBorrmann.The 3D Hough Transform for Plane Detection in Point Clouds:A Review and a newAccumulator Design[N].3D Research Center and Springe,2011(2):2092-6731.
[10]Fischler M A,Bolles R C.Random samples conse-nsus:A paradigm for model fitting with application to image analysis and automated cartography [J].Communicatio-ns of the ACM,Null,1981,6(24):381-395.
[11]Dirk Holz,Stefan Holzen,Radu Bogdan Rusu,and Sven Behnke,Real-Time Plane Segmentation Using RGB-D Cameras [J].RoboCup 2011,LNCS7416,2011,5(11):306-317.
[12]Hugues Hoppe,Tony DeRose,Tom Duchamp,et al.Surface Reconstruction from Unorga-nized Points[C]//University of Washington Seattle,1992:71-78.
[13]Nina Amenta,Marshall Bern.Surface Reconstruction by Voronoi Filtering[J].Discrete and Computational Geometry,1998(22):481-504.
[14]Daoshan OuYang,Hsi-Yung Feng,“On the normal vector estimation for point cloud data from smooth surfaces”[J]. Computer-Aided Design 37,2005,3(2):1071-1079.
[15]Alliez P,Cohen-Steiner D,Tong Y,et al.Voronoi-based VariationalReconstruction ofUnoriented PointSets[J]. Eurographics Symposium on Geometry Processing,2007,2(5):1009-1018.
[16]南向軍.寬馬赫數二維曲面壓縮高超聲速進氣道設計[J].火箭推進,2015(1):43.
[17]余武江,王海洲,陳二鋒,等.單向閥三維動態流場穩定性仿真研究[J].火箭推進,2015(1):82.
Indoor three-dimensional plane segmentation method based on depth image research
CHEN Zheng-bing
(College of Computer Science and Engineering,Nanjing University of Science and Technology,Nanjing 210094,China)
With the wide application of 3D camera in the field of intelligent robots,more and more scholars have devoted to the study of 3D plane segmentation based on the depth image of 3D camera.In this paper,a fast and relatively stable method is used to detect the complex plane,and the depth image is acquired by Kinect camera.In order to improve the speed of plane extraction,we first calculate the normal vector of the depth of the image,and judge whether these points are in a plane by the normal vector.The normal vector of the point can be detected simultaneously by a number of complex planes,and the experimental results show that the proposed method is faster than the traditional Hough Transform 3D and RANSAC method. This method has the advantage that it can be applied to real-time detection of planar and obstacles,and this method has a relatively large application prospect in the field of robotics.
plan extraction;depth image;normal vector;Kinect camera
TN919.8
A
1674-6236(2016)24-0158-03
2015-12-09 稿件編號:201512109
陳正兵(1986—),男,湖北鄂州人,碩士。研究方向:三維點云特征提取。