摘 要
ABSTRAVT
隨著人工智能時代的到來,計算機視覺領(lǐng)域被廣泛應(yīng)用到各個行業(yè)中。同樣的,人工智能改變著傳統(tǒng)林業(yè)的研究方法,林業(yè)信息工程技術(shù)日漸成熟。針對傳統(tǒng)樹高測量方法中存在的結(jié)果準(zhǔn)確性不高、操作困難、專業(yè)知識轉(zhuǎn)化為規(guī)則困難等問題,采用了一種基于雙目立體視覺理論計算樹高的方法,實現(xiàn)了樹木高度的無接觸測量。以雙目相機作為采集設(shè)備,基于MATLAB、VS2015開發(fā)平臺,采用張正友單平面棋盤格相機標(biāo)定方法進行單目標(biāo)定和雙目標(biāo)定,從而獲取雙目相機2個鏡頭的參數(shù)。通過SGBM算法和BM算法立體匹配后獲得視差深度圖像,進而獲取樹木關(guān)鍵點的三維坐標(biāo)信息并以此來計算樹木高度。將深度學(xué)習(xí)與雙目視覺相結(jié)合可以實現(xiàn)樹木同時在二維和三維空間的信息提取。在VS2015上的試驗結(jié)果表明,該方法操作相對簡單,并且能夠較為準(zhǔn)確地測量樹木高度,SGBM算法樹高測量結(jié)果的相對誤差范圍為0.76%~3.93%,BM算法相對誤差范圍為0.29%~3.41%。結(jié)果表明:采用雙目視覺技術(shù)測量樹木高度可以滿足林業(yè)工程中對于樹高測量的精度需要。
隨著現(xiàn)代科學(xué)技術(shù)的迅速發(fā)展,林業(yè)管理工作效率需要不斷提高,精準(zhǔn)林業(yè)成為林業(yè)領(lǐng)域的發(fā)展趨勢。
樹木參數(shù)
樹木參數(shù)是林業(yè)調(diào)查的重要指標(biāo),其中樹高是森林調(diào)查的重要指標(biāo),對于樹木生長具有一定參考價值。
機器視覺可代替人眼對物體進行檢測和識別,較為常見的是利用單目攝像頭。若要獲取物體的深度信息,僅憑單目攝像頭是不完善的,通常情況下需選擇雙目攝像頭來獲取物體三維信息。
目前,智能手機后置鏡頭數(shù)大多不少于2個,已達到雙目視覺測量的物理環(huán)境,未來將雙目視覺技術(shù)應(yīng)用在智能手機上可以達到成本低、操作便捷的效果。
同樣的,可以將雙目視覺技術(shù)應(yīng)用在無人機上,實現(xiàn)對地勢復(fù)雜、不易拍攝的樹木進行樹高測量。此外,雙目視覺技術(shù)對傾斜樹木的樹高測量具有一定價值和意義。
目前,大多采用傳統(tǒng)的望遠測樹儀來測量樹木高度。
邱梓軒等利用PDA模塊、遠程EDM模塊、長焦CCD鏡頭模塊和云臺組成望遠測樹儀測量立木高度。有研究人員選擇手持智能手機通過內(nèi)置傳感器獲取參數(shù),從而計算測得立木高度信息。
李亞東等以Android智能手機作為測量設(shè)備,調(diào)用Android中API接口中的三角函數(shù)對立木高度進行測量。
也有研究人員采用激光雷達點云數(shù)據(jù)對樹高信息進行提取。劉金鵬等基于Skel Tre算法對帶有噪聲的TLS(terrestrial laserscanning)數(shù)據(jù)生成骨架模型和圖深度優(yōu)先搜索算法提取單木信息。
Maas等對真實世界的植被進行了主動激光掃描,并提出了一種魯棒地重建樹木骨骼結(jié)構(gòu)的自動方法。
Wu等提出了一種新的基于體素的標(biāo)記鄰域搜索方法,用于從移動激光掃描(mobile laserscanning,MLS)點云數(shù)據(jù)中有效地識別行道樹并獲取其立木形態(tài)參數(shù)。
Chen等針對測量輸電線路走廊中的樹障,提出了一種雙目視覺測距方法,用于測量輸電線路與樹木之間的距離。
倪超等采用了NCC(normalized cross correlation)立體匹配算法對苗木圖像進行匹配,提取形態(tài)學(xué)參數(shù)。
Ni等用雙目視覺的方法對樹冠進行三維重建。
因此,選擇一種具有良好準(zhǔn)確率以及魯棒性,并且較為經(jīng)濟的測量樹木高度的方法可以滿足精準(zhǔn)林業(yè)的需求。
東北林業(yè)大學(xué)張真維,趙鵬等采用基于雙目立體視覺原理的樹木高度測量方法,對相機前方樹木提取深度信息,獲取樹木關(guān)鍵點的空間三維坐標(biāo),從而計算樹木高度;隨機選取行道樹進行試驗研究,并驗證該方法的合理性、有效性。
01
雙目視覺與相機標(biāo)定
1.1雙目立體視覺模型1.2雙目視覺系統(tǒng)測距原理1.3相機標(biāo)定試驗設(shè)備1.4標(biāo)定方法與步驟
02
匹配算法及樹高測量方法
2.1立體匹配立體匹配是雙目視覺系統(tǒng)中的核心部分,可確定多幅圖像之間投影點間的一一對應(yīng)關(guān)系,有效的立體匹配可以使關(guān)鍵點更加容易被提取。 2.2 SGBM算法SGBM算法的整個過程如圖6所示。
1)采用水平Sobel算子提取圖像中的邊緣,獲取圖像的梯度信息,保存起來的預(yù)處理圖像將會進行代價計算。Sobel算子公式為:
2)代價計算。對左目圖像和右目圖像同時有兩種處理方式:對輸入圖像經(jīng)過SobelX水平算子處理后計算BT代價;對輸入圖像直接進行BT代價計算。前者可以更好地保留圖像邊緣和細節(jié)信息,后者將會更好地保留原圖信息。 3)塊計算。塊計算的方法是根據(jù)選定像素點周圍8個鄰接像素的代價之和進行塊匹配,在相對應(yīng)的右目圖片中,逐一對像素點周圍8個代價值之和進行計算,當(dāng)計算周圍8個像素點的絕對值之和相差最小時,即認(rèn)為匹配成功。 4)SGM算法。可達到多路徑約束聚合的目的,使當(dāng)前像素點受到周圍多個方向路徑的約束。為了優(yōu)化更新像素點的代價,采用聚合公式來解決這些問題:
式中:E(D)為構(gòu)建的能量函數(shù);p、q為圖中的像素點;Np為像素點p周圍8個相鄰像素點的集合。式(3)中的第一項表示像素點p視差為Dp時的匹配代價;第2項表示當(dāng)視差差值為1個像素時,將增加1個懲罰系數(shù)P1;Dq為視差,Dp-Dq表示視差差值;第3項表示當(dāng)視差差值大于1個像素時,將增加1個懲罰系數(shù)P2。通常P2>P1,P1是為了適應(yīng)傾斜或彎曲的表面,P2則是為了保留不連續(xù)性。 單一方向上,整張圖片的像素通過動態(tài)規(guī)劃公式參與:
式中:C(p,d)表示當(dāng)前代價;第2項中4個式子分別表示像素p在某方向上的像素在視差值為d時的代價、視差值為d-1時的代價加上P1、視差值為d+1時的代價加上P1、視差值在非d-1和d+1時的代價最小值加上P2;最后一項可起到防止聚合結(jié)果過大的作用。 共有16個約束方向,則把16個方向的值加和完成聚合過程,即完成了SGM的代價優(yōu)化。 5)視差計算和視差后處理。進行后處理操作的目的是處理視差圖在前面步驟中可能造成的視差誤差、圖像魯棒性較差、圖像不連貫等問題。 2.3BM算法BM算法對8位的灰度圖像進行處理時運行時間較短,可生成灰度視差圖像,圖像越亮代表距離越近。在用BM算法進行立體匹配時,模式串(用于匹配原灰度圖像文本串的灰度模板)的移動方向為從左到右,但模式串與文本串進行比較時的方向為從右到左。匹配過程中引入壞字符算法和好后綴算法,當(dāng)匹配過程中存在不匹配的情況時,采用這2種算法進行處理,直到完成匹配。 2.4雙目視覺與深度學(xué)習(xí)通過深度學(xué)習(xí)的方法可以對樹木進行目標(biāo)檢測與識別。林朝劍等利用遷移學(xué)習(xí)實現(xiàn)林業(yè)業(yè)務(wù)圖像識別;劉嘉政等使用改進的CNN模型對樹種圖像進行識別。雙目視覺可以良好地獲取樹木的深度信息。將深度學(xué)習(xí)技術(shù)與雙目視覺技術(shù)進行結(jié)合,使用雙目相機作為圖像采集設(shè)備,既可以實現(xiàn)樹種的識別及檢測,又可以對樹高、樹距等空間深度信息進行計算。在同一時間內(nèi)實現(xiàn)了二維和三維空間中樹木信息的提取,在林業(yè)工程的實際工作中具有較好的價值與意義。采用Yolo v4算法,基于Pytorch框架,對樟子松和云杉2種樹木在雙目相機所拍攝的圖像上進行目標(biāo)檢測和識別。選取139張樟子松圖片以及278張云杉圖片作為數(shù)據(jù)集,使用Labelme工具制作標(biāo)簽后進行深度學(xué)習(xí)訓(xùn)練。目標(biāo)檢測與識別在雙目圖像中的檢測結(jié)果見圖7。
2.5提高測量精度的方法分析在雙目視覺技術(shù)的基礎(chǔ)上,提高測量精度(即深度距離)較為關(guān)鍵。 1)算法角度:在圖2中,設(shè)基線距離與焦距恒定,視差為d,視差偏差為Δd,深度距離偏差為ΔD,由式(5)可得,視差偏差越小,則深度距離偏差越小。
2)硬件角度:設(shè)Δd恒定,由式(6)可得,基線距離與焦距更大時,深度距離偏差越小。
3)像素角度:像素越小、物理尺寸恒定時,參與的像素越多,深度距離偏差越小。 4)深度范圍角度:深度范圍對精度有影響,設(shè)基線距離、焦距、視差偏差均恒定,由式(7)可得,測量目標(biāo)越近,深度偏差越小。
綜上所述,提高測量精度的方法有:選取高精度視差估計算法;在合適的場景下,適當(dāng)增加雙目相機基線距離并酌情采用焦距大的鏡頭;選取像素尺寸小的高分辨率相機;在合適的情況下,拉近拍攝距離。 在提高測量精度方面,針對算法角度,選取SGBM算法,在SGBM算法后處理的過程中進行置信度檢測、亞像素插值、左右一致性檢測的步驟,達到了消除錯誤視差以及優(yōu)化視差圖像的效果,從而提高了視差的準(zhǔn)確性,即提高了測量精度。針對硬件角度,選用了高幀率可變基線USB3.0雙目相機,以及一對4mm和一對12mm的鏡頭,在合適的場景下進行拍攝試驗。針對像素角度,選用了分辨率為1 280×720的雙目相機,提高在相同物理尺寸下的像素數(shù)量。針對深度范圍角度,在拍攝樹木圖像時,在圖像成像合適的情況下拉近拍攝距離。 2.6樹高計算方法在測樹學(xué)中,樹高是指樹干的根頸處至主干稍頂?shù)拈L度,是表示樹木高矮的調(diào)查因子。 樹高示意圖如圖8所示,P點為樹梢頂端點,Q點為地面上根莖與地面的接觸點,P和Q的距離L即為樹高。若要計算出樹木高度L,可將樹木置于一個空間直角坐標(biāo)系下,通過P、Q兩點的空間坐標(biāo)計算L。在雙目立體視覺標(biāo)定過程中已建立了以雙目相機左鏡頭的中心作為原點空間坐標(biāo)系,此時,在經(jīng)過SGBM、BM算法之后,獲得的視差深度圖可以較好地獲取樹木關(guān)鍵點的深度信息。設(shè)P點坐標(biāo)為(X, Y, Z),Q點坐標(biāo)為(A, B, C),則:
03
結(jié)果與分析
3.1雙目標(biāo)定結(jié)果隨機選擇行道樹作為數(shù)據(jù)進行樹木高度測量試驗,通過MATLAB分別對雙目相機左右目鏡頭進行標(biāo)定并分別獲取.mat文件,同時將2個.mat文件作為參數(shù)進行雙目標(biāo)定。雙目標(biāo)定后的參數(shù)提取結(jié)果見表1。
3.2圖像校正圖像校正的目的是為了使雙目相機2個鏡頭的光軸處于平行狀態(tài),同時可以檢驗雙目標(biāo)定結(jié)果是否準(zhǔn)確,從而達到像素點在左右目圖像上高度一致的效果。即只有當(dāng)雙目標(biāo)定結(jié)果準(zhǔn)確時,左右圖像才會處于像素點一致的狀態(tài)。圖像校正的方法:獲取雙目標(biāo)定結(jié)果參數(shù);通過Remap函數(shù)實現(xiàn)圖像校正。圖像校正成功后便可進行圖像的立體匹配,深度計算以及生成深度圖像。試驗圖像校正結(jié)果見圖9,點云深度圖圖像見圖10。圖9中,2個左圖像為雙目相機左鏡頭拍攝圖片,2個右圖像為右鏡頭拍攝圖片。圖9a、b、c為針葉、有葉樹冠形態(tài)樹(云杉),對應(yīng)圖10a;圖9d、e、f為闊葉、無葉樹冠形態(tài)樹(杏樹),對應(yīng)圖10b。由此可知在樹木圖像校正時,校正結(jié)果準(zhǔn)確,樹木類型(針葉和闊葉)和樹冠形態(tài)(有葉和無葉)對校正結(jié)果無較大影響。
3.3立體匹配獲取樹木有效特征參數(shù)較重要。立體匹配雙目圖像最重要的作用是獲取樹木關(guān)鍵點的深度信息,將圖像校正后的2張圖像通過SGBM算法與BM算法獲得樹木的視差深度圖。在這個過程中,SGBM算法經(jīng)過預(yù)處理、代價計算、塊計算、SGM處理、視差計算和視差后處理,得到彩色視差深度圖像;BM算法經(jīng)過模式串與文本串進行匹配,并通過2種規(guī)則進行處理,得到灰度視差深度圖像。圖10顯示了云杉、杏樹、榆樹、樟子松經(jīng)立體匹配后得到的深度圖像:圖10a、b、c的拍攝距離分別約為25,42和6m;圖10d為多棵樹木圖像。結(jié)果顯示,在近距離及中距離拍攝時,SGBM算法得到的深度圖像表面平滑,輪廓較分明,結(jié)果較好,而BM算法輪廓分明,但樹的表面有部分失真。在遠距離拍攝時,BM算法得到的深度圖像輪廓分明,效果良好,但SGBM算法出現(xiàn)失真,如圖10b所示。
3.4樹高測量結(jié)果SGBM算法和BM算法試驗測得的樹高結(jié)果分別見表2和3。以雙目相機左鏡頭為原點建立空間直角坐標(biāo)系,P點(樹木最高點)的選擇方式為樹木輪廓Y軸值最大的點,Q點的選擇采取多點取平均值的方式確定,由于存在著很多樹根和地面的接觸點,采取視野范圍內(nèi)樹根左邊與地面接觸點與樹根右邊與地面接觸點的三維空間坐標(biāo),并取平均值作為Q點。P、Q兩點的坐標(biāo)如表2和3所示。樹木實際高度采用全站儀10次測量的平均結(jié)果得到。由表2和3可知,通過獲取樹木關(guān)鍵點的空間坐標(biāo)計算樹木高度的方法具有一定的可行性,誤差相對較小,與實際數(shù)據(jù)具有較強的相關(guān)性。
3.5樹木重疊當(dāng)拍攝過程中出現(xiàn)樹木重疊的情況時,可以通過視差圖的明亮程度來判斷最高點的位置屬于哪棵樹,出現(xiàn)此類情形時的深度圖見圖11。圖11a為原始圖像,紅色方框區(qū)域為此次拍攝樹木所遮擋的2棵其他樹的樹尖,這2個樹尖在圖像中高于待測樹木高度,對待測樹木最高點的判斷產(chǎn)生了影響;圖11b和c為SGBM算法和BM算法所生成的深度圖,紅色方框內(nèi)的部分為重疊樹木樹尖的位置。因此,當(dāng)樹木重疊時,越靠近相機的樹木顏色越明亮,以此可以解決樹木重疊覆蓋時其他樹木對待測樹木最高點判斷的影響。
3.6誤差分析試驗誤差分布見表4。由表4可知,基于雙目視覺的樹木高度測量方法計算樹高的結(jié)果,SGBM算法相對實際值的最大相對誤差為3.93%,最小為0.76%;BM算法相對實際值的最大誤差為3.41%,最小為0.29%,根據(jù)2.5中提高精度的測量方法,對于拍攝5~6m以上較高的樹木誤差可以控制在3%左右,2種算法均滿足精準(zhǔn)林業(yè)的精度需求。此外,造成誤差的原因可能有:樹木背景距離樹木本身太近,造成深度圖不明顯;相機標(biāo)定時出現(xiàn)誤差;樹頂端出現(xiàn)失真等問題。SGBM算法生成的深度圖表面平滑、連貫,但在拍攝遠距離樹木時易造成輪廓不清晰;BM算法輪廓清晰,但深度圖表面有輕微失真,在實際應(yīng)用中要根據(jù)實際情況選擇算法。
結(jié)論
針對能實現(xiàn)樹木無接觸式的測量方法,以及綜合考慮樹木生長過程中存在的傾斜、彎曲等不規(guī)則形態(tài),提出了基于雙目立體視覺的樹高測量方法。將深度學(xué)習(xí)與雙目視覺相結(jié)合,可以實現(xiàn)樹木同時在二維和三維空間的信息提取。雙目視覺包括相機標(biāo)定、圖像校正、立體匹配等技術(shù);樹木的目標(biāo)檢測技術(shù)則基于Yolo v4和Pytorch框架。此外,筆者基于雙目視覺理論分析了提高樹木測量精度的方法,如從算法角度、硬件角度、像素角度等多方面分析。試驗部分闡述了雙目視覺方法測量樹高的全過程,通過相機標(biāo)定獲取相機鏡頭參數(shù),結(jié)合SGBM算法與BM算法進行匹配,獲得待測樹木的深度圖像,進而對樹木關(guān)鍵點的空間坐標(biāo)進行提取,計算測得樹高結(jié)果。其次,考慮到測量樹木高度過程中可能存在樹木遮擋重疊的問題,從而對樹木關(guān)鍵點的判斷產(chǎn)生影響,因此,在試驗部分分別用兩種算法的深度圖像清晰地描繪了解決該問題的途徑。在試驗誤差方面,SGBM算法樹高測量結(jié)果的相對誤差范圍為0.76%~3.93%,BM算法相對誤差范圍為0.29%~3.41%。總體來看,該方法具有較好的應(yīng)用價值,可以滿足精準(zhǔn)林業(yè)的需求。
審核編輯 :李倩
-
傳感器
+關(guān)注
關(guān)注
2552文章
51359瀏覽量
755675 -
機器視覺
+關(guān)注
關(guān)注
162文章
4403瀏覽量
120554
原文標(biāo)題:基于雙目視覺的樹木高度測量方法研究
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論