陳正兵
(南京理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 南京210094)
基于深度圖像的室內(nèi)三維平面分割方法研究
陳正兵
(南京理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 南京210094)
當(dāng)前隨著3D相機(jī)在智能機(jī)器人領(lǐng)域的廣泛運(yùn)用,越來(lái)越多的學(xué)者投入到了基于3D相機(jī)深度圖像的室內(nèi)三維平面分割研究當(dāng)中。文運(yùn)用了一種快速而且比較穩(wěn)定的方法去檢測(cè)復(fù)雜的平面,其中深度圖像是運(yùn)用Kinect相機(jī)采集的。為了提高平面提取的速度,我們首先計(jì)算深度圖像中點(diǎn)的法向量,通過(guò)法向量來(lái)判斷這些點(diǎn)是否在一個(gè)平面上。運(yùn)用求點(diǎn)的法向量可以同時(shí)檢測(cè)多個(gè)復(fù)雜的平面,而且實(shí)驗(yàn)結(jié)果顯示該方法比傳統(tǒng)的3D Hough Transform以及RANSAC方法要快。此種方法還有個(gè)優(yōu)點(diǎn)就是可以運(yùn)用到實(shí)時(shí)的平面與障礙物檢測(cè)當(dāng)中,此方法在機(jī)器人領(lǐng)域有比較大的應(yīng)用前景。
平面提??;深度圖像;法向量;Kinect相機(jī)
目前基于深度圖像的三維場(chǎng)景分割的主要優(yōu)點(diǎn)是可以幫助機(jī)器人認(rèn)識(shí)和理解周圍的環(huán)境,而且機(jī)器人周圍的環(huán)境以及障礙物都是平坦的,或者說(shuō)可以分解為平面區(qū)域。所以基于深度圖像的室內(nèi)三維場(chǎng)景分割也可以轉(zhuǎn)化為對(duì)室內(nèi)三維場(chǎng)景的平面分割,當(dāng)前平面分割算法主要是基于兩個(gè)標(biāo)準(zhǔn),一個(gè)是基于框架,你一個(gè)是基于特征?;诳蚣艿钠矫嫣崛∷惴ㄖ饕校簠^(qū)域生長(zhǎng)算法[1],聚類算法[2]和邊緣檢測(cè)算法[3]?;谔卣鞯钠矫娣指钏惴ㄖ饕校悍ㄏ蛄克惴╗4]和掃描線分割算法[5]。深度圖像提取和分割是物體識(shí)別定位和特征提取之前的重要步驟,受到了較多研究人員的關(guān)注。由于深度圖像的分割是圖像各種處理和分析的基礎(chǔ),而分割結(jié)果的好壞直接影響著后續(xù)的數(shù)據(jù)處理效果,并且對(duì)數(shù)據(jù)分割這方面的研究還沒有一個(gè)符合一般情況的成系統(tǒng)性的成果,所以到現(xiàn)在,深度圖像的分割問題還一直是研究的熱點(diǎn)和難點(diǎn)之一。當(dāng)前平面提取方法種類比較多,國(guó)內(nèi)外許多學(xué)者對(duì)這個(gè)方面提發(fā)表了自己的研究成果,國(guó)外學(xué)者提出的基于深度圖像的梯度進(jìn)行平面分割[6],充分運(yùn)用到圖像的梯度信息從而完成深度圖像的平面提取,李寶等人[7]提出的一種基于RANSAC的點(diǎn)云特征線提取算法,對(duì)點(diǎn)云的噪聲、外點(diǎn)和數(shù)據(jù)缺失有很強(qiáng)的魯棒性。國(guó)內(nèi)錢偉寧[8]等人基于大量的距離和深度信息對(duì)平面提取進(jìn)行了研究。
在傳統(tǒng)的平面檢測(cè)方法中,需要解決的也是面臨的主要難點(diǎn)是怎樣改進(jìn)數(shù)據(jù)處理的速度。在3D Hough Transform[9]方法需要使用所有的點(diǎn),在計(jì)算的過(guò)程中計(jì)算的復(fù)雜度比較高,效率比較低。RANSAC[10]方法是一種很早之前就提出來(lái)的一種方法,但是該方法存在重復(fù)計(jì)算,復(fù)雜度較高,效率相對(duì)3D Hough Transform方法更低?;赗ANSAC平面提取的方法存在執(zhí)行時(shí)間的缺點(diǎn),假設(shè)所利用的是可靠的點(diǎn)(認(rèn)為存在的噪聲點(diǎn)較少)而不是隨機(jī)的點(diǎn),將會(huì)減少迭代的過(guò)程,從而提高該方法的效率。該算法首先是對(duì)點(diǎn)云進(jìn)行抽樣,得到一定數(shù)量點(diǎn)云集,然后通過(guò)奇異值分解的方法得到類別相似的點(diǎn)然后進(jìn)行歸類,然后對(duì)歸類好的點(diǎn)進(jìn)行平面擬合,反復(fù)進(jìn)行抽樣直到所有的點(diǎn)都被分類,然后進(jìn)行平面擬合,最后得到點(diǎn)云數(shù)據(jù)的平面圖。
在本篇文章中我們所采用的是法向量算法,深度圖像是通過(guò)采集室內(nèi)封閉的環(huán)境,并且該環(huán)境內(nèi)有光照,在滿足該條件的情況下,我們利用Kinect相機(jī)能夠采集到在該環(huán)境下的深度圖像,同時(shí)也可以得到相對(duì)應(yīng)的彩色圖像。通過(guò)以上條件我們可以很輕松的通過(guò)Kinect相機(jī)得到3D點(diǎn)云數(shù)據(jù)。傳統(tǒng)的處理3D點(diǎn)云數(shù)據(jù)是計(jì)算每個(gè)3D點(diǎn)之間的距離,在本篇文章中我們所采取的方法是計(jì)算3D點(diǎn)云的法向量[11],通過(guò)法向量來(lái)判斷3D點(diǎn)是不是在一個(gè)平面。
如上圖所示,文中提到的算法主要是先求出所有點(diǎn)云的法向量,然后根據(jù)法向量的方向判斷點(diǎn)云的類別,然后同樣利用奇異值分解的方法對(duì)所有點(diǎn)云進(jìn)行分類,對(duì)于分類好的點(diǎn)云進(jìn)行平面擬合。
1.1 點(diǎn)云法向量計(jì)算的研究現(xiàn)狀
當(dāng)前法向量的計(jì)算方法大致可以分為3類:基于點(diǎn)云數(shù)據(jù)局部表面擬合的方法,基于Delaunay方法,基于魯棒統(tǒng)計(jì)的方法。
1)基于點(diǎn)云數(shù)據(jù)局部表面擬合的方法是由 Hugues Hoppe[12]等人基于有向距離函數(shù)(Signed Distance Function)的三維點(diǎn)云表面重建算法中提出。這種方法的原理主要是將K個(gè)最近點(diǎn)擬合出的平面的法向量作為當(dāng)前點(diǎn)的法向量。
2)基于Delaunay[13]方法。該方法的原理主要是首先為點(diǎn)云構(gòu)建Voronoi圖,然后進(jìn)行Delauney三角劃分,對(duì)于點(diǎn)云數(shù)據(jù)中的每個(gè)點(diǎn),假設(shè)點(diǎn)處于整個(gè)點(diǎn)云的凸起的部位內(nèi),我們可以將所在的Voronoi柵格中距離最遠(yuǎn)的頂點(diǎn)的連線作為點(diǎn)的法向量。OuYang等人[14]在這種方法的基礎(chǔ)上做了一些該進(jìn),他們?yōu)辄c(diǎn)的領(lǐng)域構(gòu)建一個(gè)局部的Voronoi圖,然后為該Voronoi圖擬合一組二次曲面,通過(guò)計(jì)算這些二次曲面的切向量來(lái)計(jì)算點(diǎn)的法向量。Alliez等人[15]提出將PCA方法和Voronoi方法相結(jié)合,這種方法可以得到比較可靠的法向量,但是點(diǎn)云中存在的一些尖銳特征仍然沒有考慮進(jìn)去。
3)基于魯棒統(tǒng)計(jì)的方法。
基于魯棒統(tǒng)計(jì)的方法Fleishman等人提出了利用魯棒的移動(dòng)最小二乘(Robust Moving Least Squares,RMLS)來(lái)重建點(diǎn)云數(shù)據(jù)中具有尖銳特征的表面,對(duì)于給定的點(diǎn)云中的一個(gè)點(diǎn),我們將它分為多個(gè)沒有外點(diǎn)的光滑區(qū)域,對(duì)于這些子區(qū)域我們進(jìn)行投影,在進(jìn)行表面重建的過(guò)程中,我們可以通過(guò)重建的分片光滑表面得到。
1.2 計(jì)算點(diǎn)云的法向量
文中利用了sobel算子來(lái)計(jì)算點(diǎn)云的法向量,sobel算子在圖像中是用來(lái)進(jìn)行邊緣檢測(cè)的,它是基于一階導(dǎo)數(shù)的邊緣檢測(cè)算子,但是在進(jìn)行邊緣檢測(cè)的同時(shí)我們可以得到圖像邊緣方向和幅度兩個(gè)屬性,基于這個(gè)啟發(fā),在三維點(diǎn)云數(shù)據(jù)的法向量計(jì)算過(guò)程中,我們可以使用sobel算子的這些特性來(lái)計(jì)算點(diǎn)云數(shù)據(jù)中某一點(diǎn)的空間法向量。在二維圖像中sobel算子包含兩組3×3的矩陣:文中利用sobel算子計(jì)算空間點(diǎn)的法向量時(shí)取的兩個(gè)常量sobel_u,sobel_v,由于空間某一點(diǎn)對(duì)應(yīng)的鄰近點(diǎn)有8個(gè),在計(jì)算法向量時(shí)我們兩個(gè)常量的取值分別為:
在二維圖像中我們通過(guò)卷積可以得到圖像邊緣點(diǎn)的幅度和方向的變化[16],利用此原理,在三維空間中通過(guò)卷積可以得到空間中三維點(diǎn)的法向量。首先我們利用 sobel_u對(duì)空間八個(gè)點(diǎn)進(jìn)行卷積得到矩陣B1,利用sobel_v對(duì)空間八個(gè)點(diǎn)進(jìn)行卷積得到矩陣B2,然后計(jì)算矩陣B1的各項(xiàng)和b1,計(jì)算矩陣B2的各項(xiàng)和b2,利用b1和b2得到新的矩陣B=[b1;b2;1],再由矩陣A=[1,0,0;0,1,0;x,y,1]以及單位矩陣I進(jìn)行卷積得到法向量N=I.*A.*B,由此方法可以快速得道點(diǎn)云的法向量。在計(jì)算法向量時(shí)由于一些邊界點(diǎn)沒有鄰近的空間8個(gè)點(diǎn),因此我們?cè)谟?jì)算的時(shí)候邊界點(diǎn)先不取值,點(diǎn)云邊界點(diǎn)的法向量設(shè)為其鄰近點(diǎn)一致。
1.3 對(duì)3D點(diǎn)云數(shù)據(jù)進(jìn)行分類
為了提高點(diǎn)云數(shù)據(jù)處理的速度,我們采取的是均勻采樣的方法而不是單獨(dú)的對(duì)每個(gè)點(diǎn)進(jìn)行處理,當(dāng)進(jìn)行均勻采樣的過(guò)程中,能夠確定哪些點(diǎn)在一個(gè)平面上,哪些點(diǎn)不在一個(gè)平面上,判斷兩個(gè)點(diǎn)是否在同一個(gè)平面上的方法主要通過(guò)以下方法確定:
Ni和Nj分別是點(diǎn)Pi和Pj對(duì)應(yīng)的法向量,方程(1)用來(lái)確定法向量相同的點(diǎn),方程(2)是用來(lái)兩個(gè)法向量?jī)上嗤狞c(diǎn)的連線是否與兩個(gè)點(diǎn)的方向量垂直,通過(guò)這種方法可以對(duì)3D點(diǎn)云進(jìn)行分類,從而判斷哪些點(diǎn)是在同一個(gè)平面上。
1.4 平面提取
經(jīng)過(guò)之前對(duì)3D點(diǎn)云數(shù)據(jù)分類之后,對(duì)于點(diǎn)云數(shù)據(jù)對(duì)應(yīng)的平面方程就可以確定,該平面可以用方程式(3)表示,為了從多個(gè)復(fù)雜的點(diǎn)中提取平面,矩陣方程(4)是約束條件。
在上面的方程中,Xi是一個(gè)被分離的點(diǎn)集,n是這個(gè)點(diǎn)集中點(diǎn)的數(shù)目,結(jié)合以上的方程再利用SVD(奇異值分解)方法來(lái)處理數(shù)據(jù)。
1.5 通過(guò)比較平面方程的系數(shù)來(lái)處理相同的平面
最后對(duì)于那些系數(shù)比較相近的平面我們可以將他們?nèi)コ?,那些包含最多點(diǎn)的平面被保留下來(lái)而其余的則被去除,假設(shè)兩個(gè)平面一樣則有:
在這個(gè)方程中,a,b,c,d是平面i和j的平面方程系數(shù)。方程(5)檢測(cè)的是兩個(gè)平面的角度是一樣的。假如方程(5)滿足,方程(6)檢測(cè)的是兩個(gè)平面的距離為0。在這部分中,我們?cè)O(shè)定一個(gè)閾值,假如平面的參數(shù)在這個(gè)閾值內(nèi)則我們可以判定這些平面是一個(gè)平面,假如方程式(5)和(6)在這些閾值范圍內(nèi)是成立的則可以判斷這些平面是相同的平面。
以下兩幅圖像是用kinect相機(jī)采集的彩色圖和深度圖,根據(jù)kinect相機(jī)的原理,在采集到的信息中包含圖像的點(diǎn)云信息。
圖2 深度相機(jī)采集的彩色圖和深度圖
先對(duì)深度圖像的點(diǎn)云數(shù)據(jù)求其法向量,得到點(diǎn)云法向量的坐標(biāo),然后對(duì)法向量進(jìn)行分類,得到的圖如圖3所示。
圖3 點(diǎn)云法向量
在求出三維點(diǎn)云的法向量后[17],我們根據(jù)之前提出的方法進(jìn)行平面提取得到三維圖像如圖4所示。
圖4 提取的平面分割圖
在進(jìn)行本方法的同時(shí)我們也利用傳統(tǒng)的 3D Hough Transform方法和RANSAC方法進(jìn)行了比較,得出的結(jié)論如表1所示。
表1 3種平面提取方法比較
為了和之前提出的方法進(jìn)行比較,我們利用之前提到的兩種方法進(jìn)行了實(shí)驗(yàn),運(yùn)行的環(huán)境都是在matlab 2012b,從上表可以看出,本文提出的方法在處理上大大縮短了運(yùn)行的時(shí)間,這在平面提取涉及到的應(yīng)用上有了比較大的優(yōu)勢(shì),當(dāng)然本方法也是在結(jié)合傳統(tǒng)平面提取方法上的一種改進(jìn)。
我們提出的方法是在酷睿 i5-3230M雙核處理器(2.6 GHz,睿頻可達(dá)3.2 GHz)為主板的計(jì)算機(jī)上進(jìn)行運(yùn)算的。
在文中我們提出了一種基于Kinect深度相機(jī)的室內(nèi)三維平面分割方法,我們所用的是通過(guò)計(jì)算點(diǎn)云數(shù)據(jù)的法向量,然后對(duì)法向量進(jìn)行分類,最后通過(guò)分類后的法向量來(lái)提取平面。從結(jié)果我們可以看出,我們采用的方法所用的時(shí)間較其他兩種方法有明顯的優(yōu)勢(shì)。相比較而言,3D Hough Transform所用的時(shí)間是文中提出的方法的好多倍,而且需要較大的存儲(chǔ)空間來(lái)保證結(jié)果的準(zhǔn)確性。而且文中提出的方法不需要迭代,因此這種方法比RANSAC方法更快,雖然準(zhǔn)確性上幾乎一樣。
[1]秦曉薇.區(qū)域填充算法的研究[J].赤峰學(xué)院學(xué)報(bào):自然科學(xué)版,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的點(diǎn)云特征線提取算法[J].計(jì)算機(jī)工程與科學(xué),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]南向軍.寬?cǎi)R赫數(shù)二維曲面壓縮高超聲速進(jìn)氣道設(shè)計(jì)[J].火箭推進(jìn),2015(1):43.
[17]余武江,王海洲,陳二鋒,等.單向閥三維動(dòng)態(tài)流場(chǎng)穩(wěn)定性仿真研究[J].火箭推進(jìn),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 稿件編號(hào):201512109
陳正兵(1986—),男,湖北鄂州人,碩士。研究方向:三維點(diǎn)云特征提取。