《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于Kinect 2.0深度圖像的快速體積測量
基于Kinect 2.0深度圖像的快速體積測量
2017年微型機與應用第7期
李玲玲1,,王正勇1,,卿粼波1,,何海波2
1.四川大學 電子信息學院,,四川 成都610065,;2.成都西圖科技有限公司,, 四川 成都610000
摘要: 為了滿足現(xiàn)實生活中對物體體積實時測量的需求,,提出了一套基于Kinect 2.0深度圖像處理的快速體積測量方案,。首先,,使用Kinect 2.0 深度傳感器獲得深度圖像及對應的點云數(shù)據(jù)矩陣,并對深度圖像進行增強,、二值化,、目標提取等預處理,定位出目標物體,。然后,,通過像素點的統(tǒng)計和點云數(shù)據(jù)的處理得到目標物體的面積、高度,。最后由面積和高度完成目標物體的體積計算,。經(jīng)驗證這種方法的體積測量誤差控制在3%以內(nèi),完全滿足實時性的誤差要求,,又由于深度圖像較彩色圖像不易受光線,、背景的干擾,,使得該方法具有很強的魯棒性。
Abstract:
Key words :

  李玲玲1,,王正勇1,,卿粼波1,何海波2

 ?。?.四川大學 電子信息學院,,四川 成都610065;2.成都西圖科技有限公司,, 四川  成都610000)

       摘要:為了滿足現(xiàn)實生活中對物體體積實時測量的需求,,提出了一套基于Kinect 2.0深度圖像處理的快速體積測量方案。首先,,使用Kinect 2.0 深度傳感器獲得深度圖像及對應的點云數(shù)據(jù)矩陣,,并對深度圖像進行增強、二值化,、目標提取等預處理,,定位出目標物體。然后,,通過像素點的統(tǒng)計和點云數(shù)據(jù)的處理得到目標物體的面積,、高度。最后由面積和高度完成目標物體的體積計算,。經(jīng)驗證這種方法的體積測量誤差控制在3%以內(nèi),,完全滿足實時性的誤差要求,又由于深度圖像較彩色圖像不易受光線,、背景的干擾,,使得該方法具有很強的魯棒性。

  關鍵詞:Kinect 2.0深度圖像,;點云數(shù)據(jù)矩陣,;目標提??;體積計算

  中圖分類號:TP274文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.07.011

  引用格式:李玲玲,王正勇,,卿粼波,,等.基于Kinect 2.0深度圖像的快速體積測量[J].微型機與應用,2017,36(7):35-38,,42.

0引言

  體積測量在現(xiàn)實生活中應用廣泛,,例如在航空運輸行業(yè)中,貨物入艙前需對運輸貨物體積有快速明確的估計,,以滿足飛機腹艙空間的充分利用,,提高運輸效率,。目前機場主要是通過目測確定需運入飛機腹艙的貨物體積,其精確度不夠高,,因此研發(fā)一套自動化體積測量系統(tǒng)尤為必要?,F(xiàn)體積測量系統(tǒng)主要是基于激光傳感器[13],但實際操作中為了獲得被測物體某個面上的三維坐標信息,,激光傳感器需要電機等配套設備的驅(qū)動才能獲取由線陣數(shù)據(jù)組成的整個物體表面的信息[1],,又由于對激光傳感器的掃描分辨率和靈敏度的要求,使得整個系統(tǒng)操作復雜,,速度慢且成本高[1],。不同于傳統(tǒng)的激光傳感器得到的線陣數(shù)據(jù),Kinect 2.0深度傳感器得到的不僅是面陣數(shù)據(jù),,而且可獲取物體深度信息,,為此,本文主要研究基于Kinect 2.0深度圖像預處理方法實現(xiàn)入艙前貨物體積的快速實時測量,。該方案優(yōu)點主要體現(xiàn)在實現(xiàn)速度快,,系統(tǒng)組成和操作簡單,只需一臺Kinect和一臺電腦,,成本低,,更具有經(jīng)濟使用價值。

1實現(xiàn)方案

001.jpg

  圖1體積測量方案流程圖1為體積測量方案流程,。本文首先用Kinect 2.0采集深度圖像及其對應的點云數(shù)據(jù)矩陣,,然后采用漫水填充的方法增強圖像初步去噪突出目標物體,并經(jīng)過圖像二值化,、Canny邊緣檢測提取物體輪廓,,圖像填充提取目標物體。最后,,根據(jù)Kinect 2.0視場與像素個數(shù)的比值關系得到面積,,由目標物體在整個圖像中的具體位置將其配準到點云數(shù)據(jù)矩陣中計算物體高度,進而求出物體體積,。

002.jpg

2深度圖像和點云數(shù)據(jù)矩陣獲取

  2.1深度圖像獲取

  深度圖像又叫做距離圖像,,類似于彩色圖像矩陣中的顏色值、灰度圖像矩陣中的灰度值,,深度圖像信息即深度值存儲在深度圖像矩陣中,。深度圖像較灰度圖像的優(yōu)勢是,深度值只與距離相關,,與光照強度和方向無關[4],。

  本方案采用Kinect 2.0攝像頭獲取深度圖像。Kinect 2.0是微軟公司于2014年7月推出的高性價比攝像頭,。相比于傳統(tǒng)的激光傳感器,,Kinect 2.0是一款功能強大,、性價比高、方便使用的三維數(shù)據(jù)采集設備,,圖2Kinect深度圖像其分辨率為512×424,;水平視場可增大至70°,垂直視場增大至60°,;其深度圖像拍攝范圍為0.8~4.0 m,,圖2為獲取的一張深度圖像。

  2.2點云數(shù)據(jù)矩陣獲取

003.jpg

  點云是指以各種方式獲得的點數(shù)據(jù),,是測量目標表面上各點信息的集合,。坐標數(shù)據(jù)是點云數(shù)據(jù)必須包括的信息,另外法向量,、顏色值或其他數(shù)據(jù)信息也可能被包括在點云數(shù)據(jù)中[5],。本方案中Kinect 2.0獲取的點云數(shù)據(jù)是與其深度圖像的每個像素點對應的距離信息矩陣,其大小為512行,、424列,,其值表示的是Kinect 2.0深度攝像頭到被拍攝物體表面的垂直距離,單位為mm。經(jīng)實驗驗證Kinect 2.0在其所能達到的距離范圍0.8~4 m內(nèi)的距離誤差均在2 cm以內(nèi),,Kinect 2.0測得距離與實際距離的比較如表1所示,,由此獲得的Kinect 2.0測試距離和實際距離的精度曲線如圖3所示。

008.jpg

3深度圖像預處理

  由于Kinect采集的深度圖像并不完美,,含有與距離平方成正比的噪聲及無效像素構(gòu)成的空洞[6],。本文中的深度圖像還有周圍物體的干擾,因此對采集到的原始深度圖像進行預處理對后續(xù)進一步研究尤為重要,。本方案經(jīng)過對深度圖像的漫水填充[7]處理,、基于Otsu[8]算法的圖像二值化、Canny算子[9]邊緣檢測,、圖像填充等預處理方法檢測定位提取出目標物體,。

  3.1基于漫水填充的圖像增強

  圖像增強可弱化或消除一些不必要信息,經(jīng)過增強處理的圖像比原始圖像更適合特定場景的需求[10],。本文首先對帶目標物體的深度圖像通過漫水填充,,強化突出目標區(qū)域。實驗證明該方法效果比較理想,,基本上消除了周圍噪聲并突出了目標物體,,為后續(xù)圖像處理做準備,。漫水填充法是一種常用的區(qū)域填充法,,它的實質(zhì)是種子填充法,經(jīng)常被用來標記或分離圖像的感興趣區(qū)域,。

  圖4漫水填充處理后的圖像漫水填充法的具體操作即在具有同一顏色或亮度值的像素區(qū)域內(nèi)選取種子點,,通過判斷種子與種子點的鄰域像素顏色或亮度值的差別是否滿足預先設定的閾值,,來決定是否對鄰域的像素用新的顏色或亮度值代替,直到遍歷完區(qū)域內(nèi)所有像素或達到輪廓線的邊界[11],。由此可知,,初始種子點、替代顏色和目標顏色判定閾值是漫水填充的3個重要參數(shù),。本文并沒有填充目標區(qū)域,,而是通過填充目標區(qū)域以外的區(qū)域為白色即像素值為(255,255,255)來突出黑色的目標區(qū)域,這樣就簡化了參數(shù)的選擇,。漫水填充可通過opencv中的cvFlood Fill函數(shù)來實現(xiàn),,選取種子點為(20,20),將下標記和上標記都選取為30,,對種子的8鄰域逐點進行判斷,,經(jīng)實驗驗證這種參數(shù)的選取值可取得很好的效果,如圖4所示,。

004.jpg

  3.2基于Otsu的圖像二值化

  圖像增強雖然突出了目標物體但周圍仍有噪聲,,故需對圖像進行進一步的處理。接下來對漫水填充后的圖像進行二值化操作以適應下一步圖像處理的要求,。針對目標物體與背景有較大差別的圖像,,為了得到理想的二值化效果,閾值分割是備受青睞的方法,。因此,,區(qū)分目標物體和背景的閾值對二值化效果是否理想起到關鍵的作用。設原始灰度圖像為f(x,y),,經(jīng)二值化處理的圖像為g(x,y),,可用式(1)描述二值化過程。

  g(x,y)=1,f(x,y)t

  x,f(x,y)<t(1)

  全局閾值法和局部閾值法是二值化的主流方法,,本文采用基于Otsu算法的全局閾值法,,該方法針對直方圖呈明顯雙峰分布的圖像實現(xiàn)效果優(yōu)越,適合本文中的圖像,。Otsu算法可自動獲取圖像二值化所需要的閾值,。其具體實現(xiàn)是以一個初始閾值t分割圖像,這樣就把原圖像分割成C1和C2兩部分,,C1和C2分別為像素灰度值大于等于t和小于t的集合,,之后分別求得這兩部分的類間方差σ2B和類內(nèi)方差σ2A,最終找出分割圖像的最佳閾值t,,也就是滿足兩個方差比σ2B/σ2A最大的閾值,。分別將C1類和C2類的像素點總數(shù)設為W1和W2,其像素點灰度均值為M1和M2,方差分別為σ21和σ22。則有:

  σ2B=W1W2(M1-M2)2(2)

  σ2A=W1σ21+W2σ22(3)

  將灰度值大于等于t的像素灰度值規(guī)定為255,,小于t的像素灰度值規(guī)定為0,。通過圖像二值化將24 bit的深度圖像轉(zhuǎn)化為8 bit深度圖像,以便后續(xù)對目標圖像的提取,。

  3.3基于Canny算子邊緣檢測的目標提取

  目標提取即把感興趣的部分從單幅圖像或序列圖像中提取出來,。為了從背景中提取出目標物體,采用Canny算子對二值化圖像進行邊緣檢測,。相比于其他邊緣檢測算子,,依據(jù)圖像邊緣檢測最優(yōu)準則設計的Canny邊緣檢測算法具有良好的邊緣檢測性能,且具備信噪比大和檢測精度高的優(yōu)點,,因此文中使用Canny算子進行邊緣檢測,,效果如圖5所示。

005.jpg

  然后對提出的邊緣進行內(nèi)輪廓填充,,將輪廓內(nèi)的像素值填充為1,效果如圖6所示,,圖中黑色的區(qū)域為背景,,白色區(qū)域即提取出的目標物體。

006.jpg

  4體積測量

  利用統(tǒng)計匹配像素點及視場比值不變性的方法計算物體的體積, Kinect 2.0的視場圖如圖7所示,。其中h是Kinect 2.0到物體表面的距離,,N是圖像中目標物體區(qū)域內(nèi)像素個數(shù)測量值,S是物體實際面積大??;M是Kinect 2.0整個視場范圍內(nèi)像素的個數(shù),S1是Kinect 2.0整個視場的面積,;α和β分別是Kinect 2.0的水平視場和垂直視場,。

 

007.jpg

  4.1面積計算

  由于Kinect 2.0采集的深度圖像中保存的是深度信息,要進行體積測量還需得到面積相關的信息,。當Kinect 2.0與所測物體的距離固定時,,可以根據(jù)Kinect 2.0在該距離的視場范圍和該視場范圍內(nèi)像素個數(shù)的比例關系來求取面積。即圖像中目標物體區(qū)域內(nèi)像素個數(shù)測量值N與實際物體的面積大小S的比值和在該距離下Kinect 2.0整個視場范圍內(nèi)像素的個數(shù)M與整個視場面積S1的比值是相等的,,如式(4)所示:

  JT{`4]KDJ}}%)1GOF7DCNIR.png

  其中N是根據(jù)圖像統(tǒng)計出的目標物體所在區(qū)域的像素個數(shù),,即二值圖像中像素值等于1的像素個數(shù),S1可根據(jù)圖7中Kinect 2.0的視場范圍由幾何關系求出,如式(5)所示:

  [T`6A6MBXZ4`OENE9P2WIYN.png

  又由于視場S1中總的像素個數(shù)M=512×424,,利用這個原理,,對于搭建好的圖像采集系統(tǒng),由式(4),,在S1,、M、N已知的情況下即可以求出目標物體區(qū)域的面積S:

  X`902FC`VL09@N}G7PEA$BX.png

  4.2高度計算

  統(tǒng)計目標物體區(qū)域即圖6中的白色區(qū)域在整幅圖像中的具體位置,即白色區(qū)域的起始行m1和終止行m2以及起始列n1和終止列n2,,然后求出白色區(qū)域的中間行m和中間列n,并將其配準對應到點云矩陣A1和A,,即在A1和A中提取出白色區(qū)域?qū)木嚯x信息,。由于得到的Kinect 2.0攝像頭到背景表面和到目標物體表面的兩個點云矩陣A1和A邊緣有噪聲,因此選取A1和A中20×20的中間區(qū)域的小矩陣,,即行m-10至m+9和列n-10至n+9的區(qū)域分別求平均值得到h1和h,。通過背景距離減去前景距離計算被測物的高度信息h2,計算公式為:

  h2=h1-h(7)

  4.3體積計算及實驗測試

  由體積計算公式V=Sh2,,即可計算出被測物的體積,。

  分別對不同的物體和0.8~4 m不同的距離(Kinect 2.0到被測物的距離)進行了實驗,盡管被測對象的體積很小,,但誤差均有良好的可控性,,結(jié)果顯示控制在3%以內(nèi),這充分說明了該方案的潛力和可行性,。具體測量結(jié)果及誤差分析如表2所示,。

009.jpg

  5結(jié)論

  本文基于VS2013環(huán)境和Kinect SDK 2.0提出一套體積測量方案,實驗證明本文提出的測量方案測量結(jié)果準確可靠,,3%以內(nèi)的體積測量誤差可滿足實時的需求,。

  (1)本文應用Kinect 2.0深度圖像的處理來求體積,,充分利用了深度圖像較彩色圖像不易受光照強度和方向影響的優(yōu)勢,,增強了本文提出算法的魯棒性。

 ?。?)本文設計的體積測量方案成本低,,經(jīng)濟實惠,不需要配套的硬件驅(qū)動,,所需設備僅為一臺電腦和一臺Kinect 2.0,,性價比高,操作簡單便捷,,并且可實現(xiàn)快速準確實時的體積測量,,經(jīng)濟價值可觀。

 ?。?)本文將Kinect 2.0的應用由尺寸測量進一步深入到體積測量領域,,增強了Kinect 2.0的實用性,拓展了Kinect 2.0的應用領域,,對計算視覺技術(shù)在體積測量領域的應用具有積極意義,。

  參考文獻

  [1] 路達, 滕奇志, 卿粼波,等. 基于激光測距的中小型貨物三維體積掃描[J]. 微型機與應用, 2015,34(23):83-86.

  [2] 周峰. 基于三維激光掃描技術(shù)的倉儲散糧堆體積測量系統(tǒng)研究[D].長春:吉林大學,2015.

 ?。?] 雷文. 基于激光掃描的物料堆三維測量系統(tǒng)研究[D].長沙:湖南大學,2014.

 ?。?] Yue Haosong, Chen Weihai, Wu Xingming, et al. Fast 3D modeling in complex environments using a single Kinect sensor[J]. Optics and Lasers in Engineering, 2014, 53(2): 104-111.

  [5] 韋羽棉. 基于 Kinect 深度圖像的三維重建研究[D].重慶:重慶大學, 2014.

 ?。?] 陳理. Kinect 深度圖像增強算法研究[D]. 長沙:湖南大學, 2013.

 ?。?] BRADSKI G, KAEBLER A.Learning OpenCV[M].California:0’Reilly Media,,Inc,,2008.

  [8]  OTSU N. A threshold selection method from graylevel histogram [J]. IEEE Transactions on Systems, Man, and Cybernetics, 1979, 9(1): 62-66.

 ?。?]  CANNY J. A computational approach to edge detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986, 8(6):679-698.

  [10] Li Bai, Li Ya, Cao Hongxin, Fet al. Image enhancement via lateral inhibition: an analysis under illumination changes[J]. OptikInternational Journal for Light and Electron Optics, 2016, 127(12): 5078-5083.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。