李玲玲1,,王正勇1,,卿粼波1,何海波2
?。?.四川大學(xué) 電子信息學(xué)院,,四川 成都610065;2.成都西圖科技有限公司,, 四川 成都610000)
摘要:為了滿(mǎn)足現(xiàn)實(shí)生活中對(duì)物體體積實(shí)時(shí)測(cè)量的需求,,提出了一套基于Kinect 2.0深度圖像處理的快速體積測(cè)量方案。首先,,使用Kinect 2.0 深度傳感器獲得深度圖像及對(duì)應(yīng)的點(diǎn)云數(shù)據(jù)矩陣,,并對(duì)深度圖像進(jìn)行增強(qiáng)、二值化,、目標(biāo)提取等預(yù)處理,,定位出目標(biāo)物體。然后,,通過(guò)像素點(diǎn)的統(tǒng)計(jì)和點(diǎn)云數(shù)據(jù)的處理得到目標(biāo)物體的面積,、高度。最后由面積和高度完成目標(biāo)物體的體積計(jì)算,。經(jīng)驗(yàn)證這種方法的體積測(cè)量誤差控制在3%以?xún)?nèi),,完全滿(mǎn)足實(shí)時(shí)性的誤差要求,又由于深度圖像較彩色圖像不易受光線,、背景的干擾,,使得該方法具有很強(qiáng)的魯棒性。
關(guān)鍵詞:Kinect 2.0深度圖像,;點(diǎn)云數(shù)據(jù)矩陣,;目標(biāo)提取,;體積計(jì)算
中圖分類(lèi)號(hào):TP274文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.07.011
引用格式:李玲玲,,王正勇,卿粼波,,等.基于Kinect 2.0深度圖像的快速體積測(cè)量[J].微型機(jī)與應(yīng)用,,2017,36(7):35-38,42.
0引言
體積測(cè)量在現(xiàn)實(shí)生活中應(yīng)用廣泛,,例如在航空運(yùn)輸行業(yè)中,,貨物入艙前需對(duì)運(yùn)輸貨物體積有快速明確的估計(jì),以滿(mǎn)足飛機(jī)腹艙空間的充分利用,,提高運(yùn)輸效率,。目前機(jī)場(chǎng)主要是通過(guò)目測(cè)確定需運(yùn)入飛機(jī)腹艙的貨物體積,,其精確度不夠高,因此研發(fā)一套自動(dòng)化體積測(cè)量系統(tǒng)尤為必要?,F(xiàn)體積測(cè)量系統(tǒng)主要是基于激光傳感器[13],,但實(shí)際操作中為了獲得被測(cè)物體某個(gè)面上的三維坐標(biāo)信息,激光傳感器需要電機(jī)等配套設(shè)備的驅(qū)動(dòng)才能獲取由線陣數(shù)據(jù)組成的整個(gè)物體表面的信息[1],,又由于對(duì)激光傳感器的掃描分辨率和靈敏度的要求,,使得整個(gè)系統(tǒng)操作復(fù)雜,速度慢且成本高[1],。不同于傳統(tǒng)的激光傳感器得到的線陣數(shù)據(jù),,Kinect 2.0深度傳感器得到的不僅是面陣數(shù)據(jù),,而且可獲取物體深度信息,,為此,本文主要研究基于Kinect 2.0深度圖像預(yù)處理方法實(shí)現(xiàn)入艙前貨物體積的快速實(shí)時(shí)測(cè)量,。該方案優(yōu)點(diǎn)主要體現(xiàn)在實(shí)現(xiàn)速度快,,系統(tǒng)組成和操作簡(jiǎn)單,只需一臺(tái)Kinect和一臺(tái)電腦,,成本低,,更具有經(jīng)濟(jì)使用價(jià)值。
1實(shí)現(xiàn)方案
圖1體積測(cè)量方案流程圖1為體積測(cè)量方案流程,。本文首先用Kinect 2.0采集深度圖像及其對(duì)應(yīng)的點(diǎn)云數(shù)據(jù)矩陣,,然后采用漫水填充的方法增強(qiáng)圖像初步去噪突出目標(biāo)物體,并經(jīng)過(guò)圖像二值化,、Canny邊緣檢測(cè)提取物體輪廓,,圖像填充提取目標(biāo)物體。最后,,根據(jù)Kinect 2.0視場(chǎng)與像素個(gè)數(shù)的比值關(guān)系得到面積,,由目標(biāo)物體在整個(gè)圖像中的具體位置將其配準(zhǔn)到點(diǎn)云數(shù)據(jù)矩陣中計(jì)算物體高度,進(jìn)而求出物體體積,。
2深度圖像和點(diǎn)云數(shù)據(jù)矩陣獲取
2.1深度圖像獲取
深度圖像又叫做距離圖像,,類(lèi)似于彩色圖像矩陣中的顏色值、灰度圖像矩陣中的灰度值,,深度圖像信息即深度值存儲(chǔ)在深度圖像矩陣中,。深度圖像較灰度圖像的優(yōu)勢(shì)是,深度值只與距離相關(guān),,與光照強(qiáng)度和方向無(wú)關(guān)[4],。
本方案采用Kinect 2.0攝像頭獲取深度圖像。Kinect 2.0是微軟公司于2014年7月推出的高性?xún)r(jià)比攝像頭,。相比于傳統(tǒng)的激光傳感器,,Kinect 2.0是一款功能強(qiáng)大,、性?xún)r(jià)比高、方便使用的三維數(shù)據(jù)采集設(shè)備,,圖2Kinect深度圖像其分辨率為512×424,;水平視場(chǎng)可增大至70°,垂直視場(chǎng)增大至60°,;其深度圖像拍攝范圍為0.8~4.0 m,,圖2為獲取的一張深度圖像。
2.2點(diǎn)云數(shù)據(jù)矩陣獲取
點(diǎn)云是指以各種方式獲得的點(diǎn)數(shù)據(jù),,是測(cè)量目標(biāo)表面上各點(diǎn)信息的集合,。坐標(biāo)數(shù)據(jù)是點(diǎn)云數(shù)據(jù)必須包括的信息,另外法向量,、顏色值或其他數(shù)據(jù)信息也可能被包括在點(diǎn)云數(shù)據(jù)中[5],。本方案中Kinect 2.0獲取的點(diǎn)云數(shù)據(jù)是與其深度圖像的每個(gè)像素點(diǎn)對(duì)應(yīng)的距離信息矩陣,其大小為512行,、424列,,其值表示的是Kinect 2.0深度攝像頭到被拍攝物體表面的垂直距離,單位為mm。經(jīng)實(shí)驗(yàn)驗(yàn)證Kinect 2.0在其所能達(dá)到的距離范圍0.8~4 m內(nèi)的距離誤差均在2 cm以?xún)?nèi),,Kinect 2.0測(cè)得距離與實(shí)際距離的比較如表1所示,,由此獲得的Kinect 2.0測(cè)試距離和實(shí)際距離的精度曲線如圖3所示。
3深度圖像預(yù)處理
由于Kinect采集的深度圖像并不完美,,含有與距離平方成正比的噪聲及無(wú)效像素構(gòu)成的空洞[6],。本文中的深度圖像還有周?chē)矬w的干擾,因此對(duì)采集到的原始深度圖像進(jìn)行預(yù)處理對(duì)后續(xù)進(jìn)一步研究尤為重要,。本方案經(jīng)過(guò)對(duì)深度圖像的漫水填充[7]處理,、基于Otsu[8]算法的圖像二值化、Canny算子[9]邊緣檢測(cè),、圖像填充等預(yù)處理方法檢測(cè)定位提取出目標(biāo)物體,。
3.1基于漫水填充的圖像增強(qiáng)
圖像增強(qiáng)可弱化或消除一些不必要信息,經(jīng)過(guò)增強(qiáng)處理的圖像比原始圖像更適合特定場(chǎng)景的需求[10],。本文首先對(duì)帶目標(biāo)物體的深度圖像通過(guò)漫水填充,,強(qiáng)化突出目標(biāo)區(qū)域。實(shí)驗(yàn)證明該方法效果比較理想,,基本上消除了周?chē)肼暡⑼怀隽四繕?biāo)物體,,為后續(xù)圖像處理做準(zhǔn)備。漫水填充法是一種常用的區(qū)域填充法,,它的實(shí)質(zhì)是種子填充法,,經(jīng)常被用來(lái)標(biāo)記或分離圖像的感興趣區(qū)域。
圖4漫水填充處理后的圖像漫水填充法的具體操作即在具有同一顏色或亮度值的像素區(qū)域內(nèi)選取種子點(diǎn),,通過(guò)判斷種子與種子點(diǎn)的鄰域像素顏色或亮度值的差別是否滿(mǎn)足預(yù)先設(shè)定的閾值,,來(lái)決定是否對(duì)鄰域的像素用新的顏色或亮度值代替,,直到遍歷完區(qū)域內(nèi)所有像素或達(dá)到輪廓線的邊界[11]。由此可知,,初始種子點(diǎn),、替代顏色和目標(biāo)顏色判定閾值是漫水填充的3個(gè)重要參數(shù)。本文并沒(méi)有填充目標(biāo)區(qū)域,,而是通過(guò)填充目標(biāo)區(qū)域以外的區(qū)域?yàn)榘咨聪袼刂禐椋?55,255,255)來(lái)突出黑色的目標(biāo)區(qū)域,,這樣就簡(jiǎn)化了參數(shù)的選擇。漫水填充可通過(guò)opencv中的cvFlood Fill函數(shù)來(lái)實(shí)現(xiàn),,選取種子點(diǎn)為(20,20),,將下標(biāo)記和上標(biāo)記都選取為30,對(duì)種子的8鄰域逐點(diǎn)進(jìn)行判斷,,經(jīng)實(shí)驗(yàn)驗(yàn)證這種參數(shù)的選取值可取得很好的效果,,如圖4所示。
3.2基于Otsu的圖像二值化
圖像增強(qiáng)雖然突出了目標(biāo)物體但周?chē)杂性肼?,故需?duì)圖像進(jìn)行進(jìn)一步的處理,。接下來(lái)對(duì)漫水填充后的圖像進(jìn)行二值化操作以適應(yīng)下一步圖像處理的要求,。針對(duì)目標(biāo)物體與背景有較大差別的圖像,,為了得到理想的二值化效果,閾值分割是備受青睞的方法,。因此,,區(qū)分目標(biāo)物體和背景的閾值對(duì)二值化效果是否理想起到關(guān)鍵的作用。設(shè)原始灰度圖像為f(x,y),,經(jīng)二值化處理的圖像為g(x,y),,可用式(1)描述二值化過(guò)程。
g(x,y)=1,f(x,y)t
x,f(x,y)<t(1)
全局閾值法和局部閾值法是二值化的主流方法,,本文采用基于Otsu算法的全局閾值法,,該方法針對(duì)直方圖呈明顯雙峰分布的圖像實(shí)現(xiàn)效果優(yōu)越,適合本文中的圖像,。Otsu算法可自動(dòng)獲取圖像二值化所需要的閾值,。其具體實(shí)現(xiàn)是以一個(gè)初始閾值t分割圖像,這樣就把原圖像分割成C1和C2兩部分,,C1和C2分別為像素灰度值大于等于t和小于t的集合,,之后分別求得這兩部分的類(lèi)間方差σ2B和類(lèi)內(nèi)方差σ2A,最終找出分割圖像的最佳閾值t,,也就是滿(mǎn)足兩個(gè)方差比σ2B/σ2A最大的閾值,。分別將C1類(lèi)和C2類(lèi)的像素點(diǎn)總數(shù)設(shè)為W1和W2,其像素點(diǎn)灰度均值為M1和M2,方差分別為σ21和σ22,。則有:
σ2B=W1W2(M1-M2)2(2)
σ2A=W1σ21+W2σ22(3)
將灰度值大于等于t的像素灰度值規(guī)定為255,,小于t的像素灰度值規(guī)定為0,。通過(guò)圖像二值化將24 bit的深度圖像轉(zhuǎn)化為8 bit深度圖像,以便后續(xù)對(duì)目標(biāo)圖像的提取,。
3.3基于Canny算子邊緣檢測(cè)的目標(biāo)提取
目標(biāo)提取即把感興趣的部分從單幅圖像或序列圖像中提取出來(lái),。為了從背景中提取出目標(biāo)物體,采用Canny算子對(duì)二值化圖像進(jìn)行邊緣檢測(cè),。相比于其他邊緣檢測(cè)算子,,依據(jù)圖像邊緣檢測(cè)最優(yōu)準(zhǔn)則設(shè)計(jì)的Canny邊緣檢測(cè)算法具有良好的邊緣檢測(cè)性能,且具備信噪比大和檢測(cè)精度高的優(yōu)點(diǎn),,因此文中使用Canny算子進(jìn)行邊緣檢測(cè),,效果如圖5所示。
然后對(duì)提出的邊緣進(jìn)行內(nèi)輪廓填充,,將輪廓內(nèi)的像素值填充為1,,效果如圖6所示,圖中黑色的區(qū)域?yàn)楸尘?,白色區(qū)域即提取出的目標(biāo)物體,。
4體積測(cè)量
利用統(tǒng)計(jì)匹配像素點(diǎn)及視場(chǎng)比值不變性的方法計(jì)算物體的體積, Kinect 2.0的視場(chǎng)圖如圖7所示。其中h是Kinect 2.0到物體表面的距離,,N是圖像中目標(biāo)物體區(qū)域內(nèi)像素個(gè)數(shù)測(cè)量值,,S是物體實(shí)際面積大小,;M是Kinect 2.0整個(gè)視場(chǎng)范圍內(nèi)像素的個(gè)數(shù),,S1是Kinect 2.0整個(gè)視場(chǎng)的面積;α和β分別是Kinect 2.0的水平視場(chǎng)和垂直視場(chǎng),。
4.1面積計(jì)算
由于Kinect 2.0采集的深度圖像中保存的是深度信息,,要進(jìn)行體積測(cè)量還需得到面積相關(guān)的信息。當(dāng)Kinect 2.0與所測(cè)物體的距離固定時(shí),,可以根據(jù)Kinect 2.0在該距離的視場(chǎng)范圍和該視場(chǎng)范圍內(nèi)像素個(gè)數(shù)的比例關(guān)系來(lái)求取面積,。即圖像中目標(biāo)物體區(qū)域內(nèi)像素個(gè)數(shù)測(cè)量值N與實(shí)際物體的面積大小S的比值和在該距離下Kinect 2.0整個(gè)視場(chǎng)范圍內(nèi)像素的個(gè)數(shù)M與整個(gè)視場(chǎng)面積S1的比值是相等的,如式(4)所示:
其中N是根據(jù)圖像統(tǒng)計(jì)出的目標(biāo)物體所在區(qū)域的像素個(gè)數(shù),,即二值圖像中像素值等于1的像素個(gè)數(shù),,S1可根據(jù)圖7中Kinect 2.0的視場(chǎng)范圍由幾何關(guān)系求出,如式(5)所示:
又由于視場(chǎng)S1中總的像素個(gè)數(shù)M=512×424,利用這個(gè)原理,,對(duì)于搭建好的圖像采集系統(tǒng),,由式(4),在S1,、M,、N已知的情況下即可以求出目標(biāo)物體區(qū)域的面積S:
4.2高度計(jì)算
統(tǒng)計(jì)目標(biāo)物體區(qū)域即圖6中的白色區(qū)域在整幅圖像中的具體位置,即白色區(qū)域的起始行m1和終止行m2以及起始列n1和終止列n2,然后求出白色區(qū)域的中間行m和中間列n,,并將其配準(zhǔn)對(duì)應(yīng)到點(diǎn)云矩陣A1和A,,即在A1和A中提取出白色區(qū)域?qū)?yīng)的距離信息。由于得到的Kinect 2.0攝像頭到背景表面和到目標(biāo)物體表面的兩個(gè)點(diǎn)云矩陣A1和A邊緣有噪聲,,因此選取A1和A中20×20的中間區(qū)域的小矩陣,,即行m-10至m+9和列n-10至n+9的區(qū)域分別求平均值得到h1和h。通過(guò)背景距離減去前景距離計(jì)算被測(cè)物的高度信息h2,,計(jì)算公式為:
h2=h1-h(7)
4.3體積計(jì)算及實(shí)驗(yàn)測(cè)試
由體積計(jì)算公式V=Sh2,,即可計(jì)算出被測(cè)物的體積。
分別對(duì)不同的物體和0.8~4 m不同的距離(Kinect 2.0到被測(cè)物的距離)進(jìn)行了實(shí)驗(yàn),,盡管被測(cè)對(duì)象的體積很小,,但誤差均有良好的可控性,結(jié)果顯示控制在3%以?xún)?nèi),,這充分說(shuō)明了該方案的潛力和可行性,。具體測(cè)量結(jié)果及誤差分析如表2所示。
5結(jié)論
本文基于VS2013環(huán)境和Kinect SDK 2.0提出一套體積測(cè)量方案,,實(shí)驗(yàn)證明本文提出的測(cè)量方案測(cè)量結(jié)果準(zhǔn)確可靠,,3%以?xún)?nèi)的體積測(cè)量誤差可滿(mǎn)足實(shí)時(shí)的需求。
?。?)本文應(yīng)用Kinect 2.0深度圖像的處理來(lái)求體積,,充分利用了深度圖像較彩色圖像不易受光照強(qiáng)度和方向影響的優(yōu)勢(shì),增強(qiáng)了本文提出算法的魯棒性,。
?。?)本文設(shè)計(jì)的體積測(cè)量方案成本低,經(jīng)濟(jì)實(shí)惠,,不需要配套的硬件驅(qū)動(dòng),所需設(shè)備僅為一臺(tái)電腦和一臺(tái)Kinect 2.0,,性?xún)r(jià)比高,,操作簡(jiǎn)單便捷,并且可實(shí)現(xiàn)快速準(zhǔn)確實(shí)時(shí)的體積測(cè)量,,經(jīng)濟(jì)價(jià)值可觀,。
(3)本文將Kinect 2.0的應(yīng)用由尺寸測(cè)量進(jìn)一步深入到體積測(cè)量領(lǐng)域,,增強(qiáng)了Kinect 2.0的實(shí)用性,,拓展了Kinect 2.0的應(yīng)用領(lǐng)域,對(duì)計(jì)算視覺(jué)技術(shù)在體積測(cè)量領(lǐng)域的應(yīng)用具有積極意義,。
參考文獻(xiàn)
?。?] 路達(dá), 滕奇志, 卿粼波,等. 基于激光測(cè)距的中小型貨物三維體積掃描[J]. 微型機(jī)與應(yīng)用, 2015,34(23):83-86.
[2] 周峰. 基于三維激光掃描技術(shù)的倉(cāng)儲(chǔ)散糧堆體積測(cè)量系統(tǒng)研究[D].長(zhǎng)春:吉林大學(xué),2015.
[3] 雷文. 基于激光掃描的物料堆三維測(cè)量系統(tǒng)研究[D].長(zhǎng)沙:湖南大學(xué),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.
?。?] 韋羽棉. 基于 Kinect 深度圖像的三維重建研究[D].重慶:重慶大學(xué), 2014.
[6] 陳理. Kinect 深度圖像增強(qiáng)算法研究[D]. 長(zhǎng)沙:湖南大學(xué), 2013.
?。?] BRADSKI G,, KAEBLER A.Learning OpenCV[M].California:0’Reilly Media,Inc,,2008.
?。?] OTSU N. A threshold selection method from graylevel histogram [J]. IEEE Transactions on Systems, Man, and Cybernetics, 1979, 9(1): 62-66.
[9] CANNY J. A computational approach to edge detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986, 8(6):679-698.
?。?0] Li Bai, Li Ya, Cao Hongxin, Fet al. Image enhancement via lateral inhibition: an analysis under illumination changes[J]. OptikInternational Journal for Light and Electron Optics, 2016, 127(12): 5078-5083.