陳相武,徐愛俊
(浙江農(nóng)林大學(xué) a.信息工程學(xué)院;b.浙江省林業(yè)智能監(jiān)測與信息技術(shù)研究重點(diǎn)實驗室;c.林業(yè)感知技術(shù)與智能裝備國家林業(yè)與草原局重點(diǎn)實驗室,浙江 杭州 311300)
樹木高度是評價立木質(zhì)量和林木生長狀況的重要標(biāo)志之一[1],在森林資源調(diào)查中已成為一項必須的工作[2-4]。樹木測定工具及其算法作為獲取基本測樹因子的基本途徑,其準(zhǔn)確性、實用性極為重要,其現(xiàn)代化水平也體現(xiàn)了林業(yè)現(xiàn)代化水平[5]。目前,主流的測高儀器如布魯萊斯式測高器[6]因價格低廉、操作簡單、能夠滿足一般精度的要求,應(yīng)用較為廣泛,但其受到需要測量水平距離的限制,在實際森林測量中容易受到遮擋的影響。三維激光掃描技術(shù)通過快速準(zhǔn)確的獲取物體三維坐標(biāo)點(diǎn)云,達(dá)到樹木高度快速精確自動測量的目的,但激光雷達(dá)測量具有設(shè)備成本高,不易攜帶且處理時間較長等缺點(diǎn)[7-8]。近年來,機(jī)器視覺測量技術(shù)發(fā)展迅速,其在林業(yè)應(yīng)用的深度與廣度也在日益增大[9]。目前主流的視覺測量系統(tǒng)可以分為兩類,主要包括單目視覺測量系統(tǒng)和雙目視覺測量系統(tǒng)[10]。其中雙目視覺測量系統(tǒng)的主要原理是利用兩臺相機(jī)從不同視覺對待測目標(biāo)進(jìn)行圖像拍攝,通過兩幅圖像中相應(yīng)的匹配點(diǎn)進(jìn)行三維重建,從而獲得待測目標(biāo)在三維空間中的信息[11]。與雙目視覺相比,單目視覺系統(tǒng)具有相機(jī)標(biāo)定過程和系統(tǒng)構(gòu)造簡單的優(yōu)點(diǎn),并且避免了雙目視覺測量系統(tǒng)中立體匹配困難的缺點(diǎn),因此成為了攝影測量、計算機(jī)視覺領(lǐng)域的重要研究趨勢之一[12]。實際中,單目視覺測量的測量靈活性,圖像獲取快捷性,解算方法普適性也使其廣泛的運(yùn)用于自然環(huán)境下的非接觸測量[13]。朱冰琳等[14]利用機(jī)器視覺獲取溫室中植株三維表型,對不同時期生長的玉米,大豆植株進(jìn)行三維重建,并基于手動測量值對葉長,葉最大寬進(jìn)行精度評估。楊坤等[15]利用無人機(jī)高分辨率影像,采用PIX4D 軟件生產(chǎn)三維點(diǎn)云,基于最大類間方差法把樹木分割為樹木點(diǎn)云以及地面點(diǎn)云,由此提取樹木頂端高度和地面平均高度。周克瑜等[16]在測量樹高時以相似三角形原理,基于三角函數(shù)根據(jù)已知標(biāo)定物尺寸進(jìn)行對比計算,在一定程度上完成了立木高度的快速測量。管昉立等[17]通過數(shù)字圖像處理計算提取樹木的最小外界矩形,標(biāo)定并獲取智能手機(jī)中相機(jī)的內(nèi)外參數(shù)。根據(jù)相機(jī)的二維圖像信息和已知參數(shù)進(jìn)行三維世界的坐標(biāo)重建實現(xiàn)立木高度的測量。但目前國內(nèi)樹木測定工具及其算法大部分存在精度較差、自動化程度不高、操作復(fù)雜等問題。在樹高測量方面仍使用傳統(tǒng)的測量原理和方法,并且要事先測得立木的距離信息,除此之外大多都需要復(fù)雜的運(yùn)算,耗時較大,無法快速便捷的測量立木的高度。
針對上述問題,本研究以立木高度的自動獲取為研究目標(biāo),提出一種借助智能手機(jī)結(jié)合機(jī)器視覺技術(shù)的立木高度測量方法。該方法利用Graph Cut 算法對立木圖像進(jìn)行分割[18],實現(xiàn)立木影像中立木高度像素的自動獲取。通過幾何相似模型自動獲取的立木圖像深度信息,再提取手機(jī)內(nèi)置陀螺儀的角度信息解算測量樹高,為森林資源調(diào)查提供了新的測量方法和技術(shù)手段。
研究區(qū)域位于浙江省杭州臨安市浙江農(nóng)林大學(xué)東湖校 區(qū)(29°56′~30°25′N,118°51′~119°55′E)。臨安市為典型的亞熱帶季風(fēng)氣候,四季分明,雨水充沛,環(huán)境優(yōu)美;年平均氣溫為16.4 ℃,年降水量1 613.9 mm,年平均降水日158 d,無霜期為237 d,全年光照充足。境內(nèi)地勢自西北向東南傾斜,北、西、南三面環(huán)山,東西100 km,南北50 km,總面積3 126.8 km2。研究區(qū)內(nèi)有銀杏Cinkgo biloba,玉蘭Magnolia denudata,無患子等城市常用綠化樹種;植被覆蓋率達(dá)76.55%,樹木組成豐富,具有良好的綠化基礎(chǔ),是典型的城市綠地類型。
在攝影測量中,為了確定對應(yīng)點(diǎn)在針孔模型各坐標(biāo)系之間的投影轉(zhuǎn)換關(guān)系,需要利用相機(jī)參數(shù)構(gòu)建投影幾何模型。為了適應(yīng)智能手機(jī)的相機(jī)鏡頭組的特點(diǎn),研究采用改進(jìn)的張正友標(biāo)定法[19],引入帶有非線性畸變項的相機(jī)標(biāo)定模型進(jìn)行相機(jī)標(biāo)定,從而實現(xiàn)畸變矯正并獲取相機(jī)內(nèi)部參數(shù)。若圖像坐標(biāo)系(x,y)原點(diǎn)在像素坐標(biāo)系(u,v)中的坐標(biāo)為(u0,v0)。相機(jī)坐標(biāo)系中任一點(diǎn)(Xc,Yc,Zc)投影到圖像坐標(biāo)系上的(x,y,f),圖像坐標(biāo)系平面與原點(diǎn)距離為f。且從物體的世界坐標(biāo)Pw(XW,YW,ZW)到相機(jī)坐標(biāo)Pc變換的過程是一種剛體運(yùn)動,可以用物體的平移和旋轉(zhuǎn)來描述。所以世界坐標(biāo)系到相機(jī)坐標(biāo)系的轉(zhuǎn)換關(guān)系表示如下:
其中Mint,Mext分別是相機(jī)標(biāo)定內(nèi)、外參數(shù),相機(jī)外參包括旋轉(zhuǎn)矩陣R和平移矩陣T。dx,dy為平面上每個的物理尺寸(單位:mm)。
由于在自然場景中具有復(fù)雜的背景干擾,在采集立木圖像時,需要對原始圖像進(jìn)行預(yù)處理,突出有用信息、抑制無用信息,從而改善圖像質(zhì)量來方便立木圖像特征信息的提取。本節(jié)使用Graph Cut 算法對采集的立木圖像進(jìn)行前背景分割,以幫助獲得待測立木底部中心點(diǎn)、立木在圖像上的最高點(diǎn)。該算法能在不同光照強(qiáng)度等自然環(huán)境的影響中有效克服自然環(huán)境下的復(fù)雜背景干擾,準(zhǔn)確分割出特定立木。如下圖1所示:(a)為原始輸入圖像,圖1(b)為經(jīng)過Graph Cut 算法提取后得到的感興趣區(qū)域輪廓圖像。
圖1 立木特征輪廓提取Fig.1 Feature extraction of standing trees
由于目標(biāo)立木在圖像中的存在形狀不規(guī)則,位置,方向自由等情況。本研究通過掃描二維圖像的坐標(biāo)分布情況,輸出圖像中二個最值點(diǎn),分別為像平面坐標(biāo)系下Y軸方向上的最大值Smax(x,y)和最小值Smin(x,y),作為后續(xù)樹高測量模型中的輸入。
2.3.1 基于幾何相似的深度信息獲取
在樹高測量模型中,幾何相似法可以用來測量待測目標(biāo)的形狀、二維位置等信息。其主要原理是當(dāng)待測目標(biāo)的幾何參數(shù)位于同一平面上,且相機(jī)的像平面與待測目標(biāo)平行時,通過待測目標(biāo)與圖像之間的空間幾何相似關(guān)系得到待測目標(biāo)的實際參數(shù)。根據(jù)相機(jī)成像原理,以及相機(jī)與地平面的關(guān)系建立了圖像像素坐標(biāo)系與世界坐標(biāo)系距離的幾何模型,如圖2所示。
圖2 深度信息幾何模型Fig.2 Depth information geometry model
其中,L 點(diǎn)所在直線代表地平面,d為相機(jī)到待測目標(biāo)的水平距離(深度值),h為鏡頭中心到地面的垂直水平高度,γ為相機(jī)的垂直俯視角,β為相機(jī)投影與光軸的夾角。ABCD 為相機(jī)像平面,點(diǎn)(x0,y0)為光軸與圖像像平面的交點(diǎn),且光軸垂直于像平面,鏡頭中心到像平面的距離用f表示。取一點(diǎn)P,其在二維平面圖像坐標(biāo)系的投影點(diǎn)為(x,y)。通過上圖的幾何模型可以導(dǎo)出像素坐標(biāo)與世界坐標(biāo)距離的關(guān)系式:
其中β可以表示為三維圖像中像素和焦距的關(guān)系表達(dá)式:
結(jié)合(2)(3)可以得出公式:
根據(jù)圖3所示圖像坐標(biāo)與像素坐標(biāo)之間的幾何關(guān)系可知:
圖3 圖像坐標(biāo)系與像素坐標(biāo)系轉(zhuǎn)換模型Fig.3 Transformation model of image coordinate system and pixel coordinate system
又知y0=0 ,可以得到:
在上述公式中,h是相機(jī)的高度,γ是手機(jī)的俯拍角度,這些都可以通過測量直接獲得的。v為圖像中的y軸坐標(biāo),v0是圖像像平面y軸的主點(diǎn),fy是圖像平面y軸方向的焦距,v0和fy都是相機(jī)的內(nèi)部參數(shù),可以通過第一節(jié)的相機(jī)標(biāo)定獲得。
2.3.2 高度像素坐標(biāo)映射模型
基于相機(jī)小孔成像的原理,建立高度像素坐標(biāo)映射模型,如圖4所示。其中PO為相機(jī)離水平面的垂直高度。在理想情況下,相機(jī)的俯視角γ為0 度,∠OPN=90 度,A1A2為理想成像面,PN為理想情況下光軸所在的直線,PN⊥A1A2,且A1A2所代表的長度就是三維空間中所求的樹高H。在實際測量中,相機(jī)的俯視角會隨著測量的需求發(fā)生變化。根據(jù)相機(jī)投影模型,當(dāng)俯視角進(jìn)行變化時,其中各成像面之間的相對夾角不會發(fā)生變化。若設(shè)俯視角為∠OPG=γ,則∠GPM=90 度,A3A4為實際成像面,PM為實際情況下光軸所在位置,PM垂直A3A4,所以∠NPM=γ,既可得出A3A4的高度公式:
圖4 高度像素坐標(biāo)映射模型Fig.4 Pixel coordinate mapping model
其中xy,xy′為立木在二維平面圖像上的成像點(diǎn),其中最大值為Smax(x,y)和為最小值Smin(x,y),yy′代表立木圖像在像平面上的垂直方向的像素差。fy是相機(jī)標(biāo)定所得的已知參數(shù),v′v為圖像中立木輪廓最高點(diǎn)到圖像底部的像素值差值,單位/像素/pixel。
已知A3A4=H結(jié)合公式(10)(11)可以得出公式:
又已知PN=d,根據(jù)深度提取公式(11)可得公式:
以上公式通過獲取立木圖像在成像面上的像素差y′y和相機(jī)內(nèi)部高精度陀螺儀獲得的俯視角γ來獲取立木的高度H,其中h的物理單位為米/m,y′y和fy的物理單位都是像素/pixel,H的距離單位為米/m。
本研究使用型號為MI 2S 的小米手機(jī),Android 版本為4.1.2,通過Java 語言和C++語言結(jié)合進(jìn)行項目功能的開發(fā)。經(jīng)相機(jī)標(biāo)定后求得相機(jī)內(nèi)部參數(shù)為:fx= 3 486.563 7,u0= 1 569.038 3,fy= 3497.4652,v0=2 107.989 8,設(shè)定手機(jī)距離地面的垂直高度h=1.10 cm,圖像分辨率為3 120× 4 208。輸入待測立木圖像,如下圖所示,以測量數(shù)據(jù)為立木高度真值,測得立木實際高度為6.2 m,通過圖像處理技術(shù)利用Graph Cut 對立木圖像進(jìn)行分割結(jié)果如圖5所示:
掃描圖5(b)二維圖像的坐標(biāo)分布情況,可以得出Y軸方向上的最大值Smax(977,365)和最小值Smin(1 299,3 463),可以得出y′y= 3 144.689 7,此時手機(jī)機(jī)俯視角γ=10.0°,手機(jī)距離地面垂直的垂直高度h=1.10 m。通過公式(12)可以得出立木高度H=6.281 5 m。
圖5 立木圖像分割結(jié)果Fig.5 Segmentation results of standing tree images
為了驗證不同高度樣木區(qū)間樹高測量模型的精度,本研究以常見的樣木高度范圍為樣木區(qū)間,從不同的角度測量待測立木的高度。對樹木進(jìn)行編號并與文獻(xiàn)[15]基于無人機(jī)高分辨影響的立木高度提取方法做比較分析。結(jié)果如表1所示。
如圖6所示,經(jīng)過計算得出測量相對誤差范圍為-0.029~0.338 m,立木高度測量的最高相對誤差為4.22%,最低相對誤差為0.30%。文獻(xiàn)[15]的最高相對誤差為16.23%,最低相對誤差為0.33%。其中本研究立木高度測量方法只有13.64%的誤差在6%的以上,基于文獻(xiàn)[15]的立木高度測量方法有72.74%的相對誤差超過6%,具有較大的波動。通過對比分析可以得出用本研究方法進(jìn)行立木高度的測量精度更高且測量結(jié)果更加穩(wěn)定。且該方法在利用手機(jī)相機(jī)進(jìn)行圖像采集時,選取手機(jī)的旋轉(zhuǎn)角度時應(yīng)確保待測立木的圖像能完整的成像在手機(jī)相機(jī)成像面,同時讓圖像中待測立木的底端的像素成像在光心平面的主點(diǎn),以便能夠準(zhǔn)確地測得待測立木的高度。
表1 立木高度測量數(shù)據(jù)Table 1 Data for standing height measurement
圖6 相對誤差對比圖Fig.6 Relative error comparison diagram
本研究提出一種基于智能手機(jī)的單目視覺立木高度測量方法。該方法首先利用相機(jī)標(biāo)獲得相機(jī)的內(nèi)參和外參,以獲得的相機(jī)參數(shù)來構(gòu)建投影幾何模型,并使用改進(jìn)的Graph Cut 算法對采集的立木圖像進(jìn)行前背景分割,提取其立木的特征輪廓,做為樹高測量中的輸入圖像。根據(jù)相機(jī)成像原理,以及相機(jī)與地平面的關(guān)系建立圖像像素坐標(biāo)系與世界坐標(biāo)系距離的幾何相似模型,由此推導(dǎo)出待測立木實際高度和已知參數(shù)之間的函數(shù)關(guān)系,解算出單株立木的高度值。
結(jié)果表明:1)基于Graph Cut 算法的立木輪廓提取方法,結(jié)合對處理后的圖像進(jìn)行二維坐標(biāo)分布掃描能夠有效獲得立木在圖像中垂直方向像素的最大值Smax和最小值Smin。2)以單目視覺為基礎(chǔ)使用幾何相似模型來提取圖像深度信息,能夠簡便且準(zhǔn)確的計算出目標(biāo)點(diǎn)的三維深度信息。3)對于常見樹高范圍測量區(qū)間內(nèi)的立木,本研究算法具有良好的穩(wěn)定性,且該試驗結(jié)果表明樹高測量中最高相對誤差為4.22%,能夠滿足國家森林資源二類調(diào)查中對樹高測量精度的要求。
對比總結(jié)當(dāng)前樹木測量方法分析發(fā)現(xiàn),不同研究學(xué)者采用多種方法進(jìn)行嘗試,如呂奇等[20]基于攝像頭和CMOS 獲取的立木圖像,再結(jié)合數(shù)字圖像處理技術(shù),使用Roberts 邊緣檢測算子和Hough直線提取對樹木的邊緣直線進(jìn)行提取,獲取其圖片上樹干像素的寬度,根據(jù)相關(guān)高精度距離測高器和激光傾角測高器獲得其他參數(shù),最終事先在非接觸條件下的立木高度測量。侯鑫新等[21]通過對攝像機(jī)進(jìn)行內(nèi)外參數(shù)的標(biāo)定,基于雙目視覺原理,建立了林木攝像系統(tǒng)的數(shù)學(xué)模型,借助CCD 和經(jīng)緯儀,研發(fā)了林木圖像識別系統(tǒng)。黃曉東等[22]利用集成電荷藕合器件圖像傳感器、傾角傳感器、激光測距傳感器、中央處理器、存儲器、液晶顯示屏,測量時可獲取測站點(diǎn)到待測點(diǎn)的傾角和距離2 個參數(shù)值,通過儀器的嵌入式操作程序,實現(xiàn)樹高測量的自動測量。以上研究對于硬件設(shè)備的條件較嚴(yán)格,需要集成多個硬件設(shè)備完成立木高度的測量。進(jìn)行圖片二維坐標(biāo)恢復(fù)到實際空間的三維坐標(biāo)時,難度較高,準(zhǔn)確度也有影響,采集圖片后再在圖像傳感器上分析處理,實時性、便捷性不夠。
相較于以上測量方式,本研究的測量方法成本低且工作效率高,使用智能手機(jī)設(shè)備進(jìn)行樹高測量時不需要嚴(yán)格的硬件條件且設(shè)備集成便捷,整個樹木高度測量的過程只需一人即可完成。但本研究仍然存在很多不足,在β(相機(jī)投影與光軸夾角)較大的情況下,本研究算法會產(chǎn)生較大的誤差,且在實際讀數(shù)中,對于手機(jī)俯視角的提取時的精度要求較高。此外研究對象僅限于單目圖像上的單株立木,在后續(xù)研究中,可以針對以上不足嘗試以單目視覺下多株立木的高度測量作為研究目標(biāo),同時對如何獲取更高精確度的手機(jī)俯視角做進(jìn)一步研究,檢驗本研究所提方法的適用性,以期更好的推廣及進(jìn)一步擴(kuò)展本研究所提出的立木高度測量方法。