聶佩晗,繆慧敏,張雅婷,陳 勇
(南京林業(yè)大學(xué)機(jī)械電子工程學(xué)院,江蘇 南京 210037)
隨著科學(xué)技術(shù)與生產(chǎn)工藝的不斷發(fā)展,測(cè)量場(chǎng)景和需求的多樣化發(fā)展迅速,激光三維測(cè)量技術(shù)已廣泛應(yīng)用于多個(gè)領(lǐng)域。目前三維測(cè)量的方法有三坐標(biāo)測(cè)量機(jī)的接觸式測(cè)量[1]、基于光柵投影的三維測(cè)量[2]、基于雙目視覺的測(cè)量[3]、線激光三維測(cè)量[4]等。然而當(dāng)前激光掃描儀多數(shù)體積較大,且需要較高的成本。近年來(lái)國(guó)內(nèi)外學(xué)者對(duì)激光三維測(cè)量技術(shù)有一定的研究。瑞典NDC公司開發(fā)的Laser Navigation Kit激光導(dǎo)航定位系統(tǒng),其定位精度達(dá)到2 cm以內(nèi),檢測(cè)距離為30~50 m[5];德國(guó)Ibeo公司的NavVis內(nèi)景智能掃描機(jī)器人M3-Trolley應(yīng)用先進(jìn)的圖像及激光雷達(dá)成像技術(shù)。國(guó)內(nèi),孟慶林等[6]提出基于線激光的三維檢測(cè)系統(tǒng)檢測(cè)客車輪廓形位公差,在1 200 mm范圍內(nèi)其精度能達(dá)到±0.6 mm;徐進(jìn)軍等[8]利用地面三維激光掃描技術(shù)測(cè)量橋塔撓度;李秋潔等[8]提出基于激光雷達(dá)提取、導(dǎo)航果園行間路徑,從而獲得樹干測(cè)量數(shù)據(jù);許莎莎等[9]利用激光技術(shù)標(biāo)定識(shí)別作物;雷文[10]利用激光掃描技術(shù)實(shí)現(xiàn)了物料堆的測(cè)量,對(duì)不同堆體的體積測(cè)量結(jié)果誤差在5%以內(nèi)。由于國(guó)內(nèi)對(duì)果蔬植物的采摘精度要求較嚴(yán)格,三維測(cè)量技術(shù)在農(nóng)業(yè)上的應(yīng)用更加廣泛。國(guó)內(nèi)三維測(cè)量在農(nóng)業(yè)上的研究大多使用雙目立體識(shí)別技術(shù),但該技術(shù)所需成本高,有的甚至高達(dá)幾十萬(wàn),實(shí)際應(yīng)用性較差。
為了解決這些問(wèn)題,設(shè)計(jì)并構(gòu)建了低成本的線激光三維測(cè)量系統(tǒng),通過(guò)對(duì)pcDuino8硬件板卡、單片機(jī)、步進(jìn)電機(jī)、線激光以及攝像頭等硬件的設(shè)計(jì),實(shí)現(xiàn)了結(jié)構(gòu)相對(duì)簡(jiǎn)單、完善的算法,并展開了三維重建實(shí)驗(yàn),實(shí)驗(yàn)表明該系統(tǒng)在農(nóng)林自動(dòng)化領(lǐng)域具有一定的適用性。
線激光三維測(cè)量技術(shù)屬于主動(dòng)式非接觸光學(xué)測(cè)量方法,有測(cè)量精度較高和成本較低等優(yōu)點(diǎn),是目前最受歡迎的三維測(cè)量技術(shù)之一。設(shè)計(jì)的線激光三維測(cè)量系統(tǒng)主要包括云臺(tái)控制、圖像采集、圖像處理三大部分,掃描系統(tǒng)如圖1所示。
圖1 掃描系統(tǒng)框圖
其中,云臺(tái)控制由步進(jìn)電機(jī)驅(qū)動(dòng),旋轉(zhuǎn)平臺(tái)對(duì)于攝像頭以及激光器運(yùn)行有著重要的支持作用;圖像采集部分由攝像頭和激光器構(gòu)成,激光器發(fā)射出的一字線激光照射在被測(cè)物體表面上,在被測(cè)物體的表面形成高亮度的線激光條紋,再由攝像頭捕捉形成線激光條紋;攝像頭與ARM開發(fā)板的usb接口連接,將圖像傳輸給開發(fā)板。線激光三維測(cè)量系統(tǒng)的主要部分是圖像處理部分,開發(fā)板是系統(tǒng)的核心,包括完成攝像頭的標(biāo)定、線激光條紋的圖像處理、坐標(biāo)的轉(zhuǎn)化、點(diǎn)云的重建命令。
硬件主要是以pcDuino8開發(fā)板為核心基于Linux操作系統(tǒng)實(shí)現(xiàn)視頻傳輸、顯示及控制指令的發(fā)送;7寸高清液晶屏提供交互界面直接與主控制器相連接;VNC遠(yuǎn)程控制,借用PC機(jī)的顯示屏以及鍵盤編寫程序,待系統(tǒng)完成后可以直接通過(guò)HIMD接口連接液晶顯示屏,實(shí)現(xiàn)縮小體積、降低成本的目的。
線激光三維測(cè)量系統(tǒng)的軟件部分框架圖如圖2所示。軟件設(shè)計(jì)主要基于QT Creator平臺(tái),通過(guò)調(diào)用OpenCV圖像處理庫(kù)函數(shù)實(shí)現(xiàn)攝像頭的標(biāo)定、圖像處理以及點(diǎn)云的重建,其中圖像處理包括圖像灰度化、中值濾波去噪、背景去除、中心線提取。圖像處理的效果極大影響著三維恢復(fù)的精度,因此需要確定理想算法,從而有效地處理圖像。
圖2 線激光三維測(cè)量系統(tǒng)軟件框架圖
通過(guò)對(duì)攝像頭標(biāo)定獲取的攝像機(jī)內(nèi)參和外參矩陣的分析可以有效地矯正圖像,獲得相對(duì)較小畸變的圖像[11],標(biāo)定流程圖如圖 3 所示。
圖3 標(biāo)定流程圖
線激光三維測(cè)量系統(tǒng)對(duì)被測(cè)物三維恢復(fù)的精度與圖像采集的數(shù)量有著緊密聯(lián)系,采集的激光條紋線條越密集,三維重建效果越好,系統(tǒng)精度越高。
為了提高系統(tǒng)的效率以及掃描精度,經(jīng)過(guò)反復(fù)實(shí)驗(yàn),本系統(tǒng)最終選擇了利用攝像頭拍攝視頻后截取視頻圖像的方式實(shí)現(xiàn)圖像采集,在節(jié)約時(shí)間的同時(shí)也提高了三維系統(tǒng)的完整性。通過(guò)調(diào)用OpenCV函數(shù)庫(kù)中的VideoCapture函數(shù)打開攝像頭、拍攝掃描視頻、把拍攝的視頻按幀分解為圖片,并用循環(huán)代碼顯示每一幀,截取視頻圖像,完成圖像采集。
2.3.1 灰度化
系統(tǒng)為提高圖像處理的效率,需要把彩色圖像展開灰度化[12],即轉(zhuǎn)化彩色圖像獲得灰度圖像,從而完成灰度化處理?;叶葓D像的描述在很多方面類似于彩色圖像,其體現(xiàn)出整幅圖像的整體和局部的色度以及亮度等級(jí)的分布和特征??梢灾苯油ㄟ^(guò)OpenCV提供的顏色空間轉(zhuǎn)換函數(shù)cv::cvtColor(rgbMat,greyMat,CV_BGR2GRAY)獲得灰度圖像,能夠有效減少圖像的計(jì)算量[13]。
2.3.2 濾波
圖像濾波即對(duì)圖像細(xì)節(jié)特征進(jìn)行保存,能夠有效抑制目標(biāo)圖像的噪聲,在圖像預(yù)處理中發(fā)揮著重要的作用[14]。圖像濾波的目的一是提取對(duì)象的特征;二是滿足圖像的處理要求,有效地消滅噪聲[15]。
中值濾波可以使線激光光條與環(huán)境交接部分的噪聲得到抑制,而且也不像均值那樣模糊化過(guò)于嚴(yán)重,同時(shí)中值濾波器還有保留邊緣銳利度的優(yōu)點(diǎn)。因此系統(tǒng)采用自定義中值濾波的方法,對(duì)圖像中 3*3 的矩陣中存在的9個(gè)像素點(diǎn)進(jìn)行順序排列,展開對(duì)矩陣的中心點(diǎn)賦值以獲得9個(gè)像素的中值,該方法能有效抑制線激光光條與環(huán)境交接部分的噪聲,同時(shí)保留了邊緣銳利度。
2.3.3 背景去除
圖像經(jīng)濾波處理后仍存在著其他背景,此時(shí)還無(wú)法提取激光條紋中心,因此需要預(yù)先進(jìn)行圖像分割,從而有效地去除圖像中多余的背景。
圖像分割的常見方法有閾值法、邊緣檢測(cè)法、差影法等。閾值法是最簡(jiǎn)單且速度最快的圖像分割方法,廣泛應(yīng)用在硬件圖像處理領(lǐng)域,適用于物體之間不接觸且物體灰度和背景灰度之間差別比較明顯的情況,這對(duì)本系統(tǒng)被測(cè)物體與背景要求較高[16];邊緣檢測(cè)法的結(jié)果是一個(gè)個(gè)的點(diǎn),并不能作為圖像分割的結(jié)果[17]。差影法是普遍使用的方法之一[18],也是本系統(tǒng)的最優(yōu)選擇。
差影法假定前景是會(huì)動(dòng)的,而背景是不會(huì)動(dòng)的,兩個(gè)幀的不同可以用下面的公式來(lái)表示[19]:
D(t+1)=|V(x,y,t+1)-V(x,y,t)|
(1)
用D(t+1)來(lái)表示同個(gè)位置前后不同時(shí)刻的光強(qiáng)差,只要把D為0的點(diǎn)取出,就完成了背景去除。
2.3.4 中心線提取
為了能夠精確地測(cè)量出被測(cè)物的三維坐標(biāo),系統(tǒng)采用簡(jiǎn)單極值法和自適應(yīng)閾值法進(jìn)行結(jié)構(gòu)光條中心提取。
極值法本質(zhì)屬于一種光條中心提取算法,確定了光條橫截面極大值,這樣也就獲得了光條中心,在這個(gè)過(guò)程中需要充分使用光條中心點(diǎn)位于光條橫截面灰度的零階極大值處所表現(xiàn)出的特征。分析極值法算法可知,需要滿足的條件是充分使用光條中心點(diǎn)位于光條橫截面灰度的零階極大值處所表現(xiàn)出的特征,但噪聲對(duì)其有著非常大的影響[20],噪聲影響下的極值法如圖4所示。
圖4 噪聲影響下的極值法
分析自適應(yīng)閾值法算法可知,先確定光條圖像的每行灰度最大值點(diǎn),然后確定閾值,基于此對(duì)最大值是否為光條上的點(diǎn)進(jìn)行判斷,該過(guò)程需要保證足夠的嚴(yán)謹(jǐn)性[21],如果最大值比此閾值要小,就將其視為噪聲點(diǎn),不能夠再使用;如果與閾值要求相匹配,此極值點(diǎn)在這種情況下就會(huì)被確定為光條中心點(diǎn),建立在極值點(diǎn)的灰度值基礎(chǔ)之上,實(shí)現(xiàn)對(duì)光條橫截面的灰度閾值有效測(cè)算。
gmax被視為最大值點(diǎn)灰度,t被視為行灰度閾值,此時(shí)存在著:
t=gmax-k
(2)
上述參數(shù)多是一種經(jīng)驗(yàn)值,在研究中確定k=10~15。若要確定本行閾值t,就需要展開重心插值運(yùn)算,實(shí)現(xiàn)對(duì)光條中心點(diǎn)詳細(xì)位置的有效確定[22-23]。
2.3.5 三維重建
在 OpenCV 處理線激光條紋后取得的三維空間所對(duì)應(yīng)的點(diǎn)云數(shù)據(jù)包括色信息和位置數(shù)據(jù),三維重建的最后一步就是要把這些數(shù)據(jù)連接起來(lái)最終顯示三維模型,對(duì)點(diǎn)云展開縮放等操作[24]。本文利用OpenGL來(lái)處理點(diǎn)云的顯示及其變換操作。經(jīng)過(guò)前期圖像處理后,pcDuino8計(jì)算所得三維點(diǎn)云坐標(biāo)數(shù)據(jù)通過(guò)直接文件載入完成點(diǎn)云顯示。在顯示的過(guò)程中,需要調(diào)用SwapBuffers函數(shù),實(shí)現(xiàn)對(duì)前臺(tái)和后臺(tái)緩沖區(qū)的交換,使圖形變得光滑。
選擇一平面,測(cè)量平面的四個(gè)角高度,確保平面高度一致。在平面上放置小木塊,小木塊長(zhǎng)寬高均為 50 mm,實(shí)驗(yàn)圖像如圖5所示。
圖5 實(shí)驗(yàn)圖像
控制木塊高度分別為300 mm、400 mm、500 mm、600 mm、700 mm、800 mm、900 mm、1 000 mm、1 500 mm、2 000 mm,使用線激光三維測(cè)量系統(tǒng)由上至下對(duì)其分別進(jìn)行測(cè)量,選取中間木塊進(jìn)行對(duì)比誤差。線激光三維測(cè)量系統(tǒng)所測(cè)數(shù)據(jù)為計(jì)算距離,激光測(cè)距儀測(cè)得數(shù)據(jù)為實(shí)際距離,根據(jù)偏差算出誤差比例。測(cè)量結(jié)果見表1。
表1 測(cè)量結(jié)果列表 mm
分析表1可得:實(shí)際距離增加到600 mm與800 mm,誤差可控制在3 mm范圍內(nèi),其比例小于0.3%;實(shí)際距離增加到2 000 mm,誤差控制在10 mm左右。在600~2 000 mm范圍內(nèi),距離大于700 mm時(shí),誤差隨距離的增加而增加;在距離600~800 mm范圍內(nèi),距離誤差值在2 mm左右;距離為700 mm時(shí)最高精度達(dá)到1 mm。由此攝像頭拍攝范圍為800 mm*800 mm的正方形,包括攝像頭畸變等原因,測(cè)得四個(gè)角上的木塊誤差在2 mm左右。
為了實(shí)現(xiàn)在農(nóng)業(yè)中的使用,在圖6所示試驗(yàn)臺(tái)上對(duì)人工草皮進(jìn)行了三維重建實(shí)驗(yàn),實(shí)驗(yàn)效果如圖7所示,可以看出三維重建后的草皮輪廓清晰,三維重建精度較高,能夠滿足農(nóng)林業(yè)許多場(chǎng)合的測(cè)量需要。目前,課題組應(yīng)用該裝置在農(nóng)田雜草識(shí)別、茶葉嫩芽識(shí)別、果蔬采摘等相關(guān)研究中。
圖6 掃描系統(tǒng)整體實(shí)驗(yàn)圖
圖7 草皮三維重建圖
構(gòu)建了成本較低、精度較高的線激光三維測(cè)量系統(tǒng),基于OpenCV完成了攝像頭校正、圖像采集、灰度化、濾波、圖像分割等預(yù)處理,并融合了簡(jiǎn)單極值法和自適應(yīng)閾值法,提高了算法的實(shí)用性。基于該系統(tǒng)進(jìn)行了三維重建實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)表明,設(shè)計(jì)的線激光三維測(cè)量系統(tǒng)在使用距離為600~800 mm,實(shí)驗(yàn)誤差在2.36 mm以內(nèi),在700 mm時(shí)最小誤差在1 mm左右,能夠滿足農(nóng)林業(yè)測(cè)量的基本需要,與傳統(tǒng)測(cè)量裝置相比有較強(qiáng)的實(shí)用性,且具有成本較低的優(yōu)點(diǎn)。