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