高莉平 徐愛俊
(浙江農(nóng)林大學,杭州,311300) (浙江省林業(yè)智能監(jiān)測與信息技術(shù)研究重點實驗室(浙江農(nóng)林大學))
在森林資源調(diào)查中,林業(yè)的精準測量往往是森林經(jīng)營[1]中的重要環(huán)節(jié)。如何快捷精準地獲取立木的高度等測樹因子一直是林業(yè)工作者及專家探討的研究熱點[2-3]。傳統(tǒng)的人工接觸[4]式測繪方法勞動強度大、人力成本高、效率低。使用全站儀[5-8]等精密測量設(shè)備存在操作復雜、不易攜帶、成本較高等問題。近景攝影測量方法[9-12]可以較好地解決這些問題,但傳統(tǒng)近景攝影測量方法主要基于雙目視覺測量[13-16]原理,雙目測量精度受到相機性能、光照和基線長度的影響,算法程序復雜,應用限制偏多。近年來,傳感器性能得到提升,從單目圖像[17]中測量物體尺寸成為可能,王忠亮等[18]基于單目機器視覺研究定位高壓輸電線路障礙物,但目前單目測量還是主要針對攝像機等專業(yè)的拍攝儀器。隨著智能終端設(shè)備迅速發(fā)展,運用非專業(yè)設(shè)備的智能終端測量立木高度成為可能。目前,大部分智能終端方面研究基于Android平臺[19]開發(fā)研究的測樹軟件或方法,李亞東等[20]研究基于Android手機傳感器的實現(xiàn)林木單株樹高測量的技術(shù),周玉晨等[21]設(shè)計與研究基于Android的角規(guī)測樹及數(shù)據(jù)處理軟件,這類方法的原理主要基于三角函數(shù)原理和相似三角形原理建立進行立木高度計算,這類方法需要對立木進行多次拍攝,操作復雜,魯棒性有待提高。
基于以上討論,為了滿足林業(yè)資源過程中立木高度測量的普適率和精度要求,以快速、實時、自動獲取立木高度為目標。提出一種基于智能終端,結(jié)合測樹學原理、單目視覺測量技術(shù)、圖像處理技術(shù)及攝影測量學原理,運用智能終端——普通Android手機采集單幅的單株立木圖像,由內(nèi)嵌程序獲取相機參數(shù)、傾角,運用閾值突變?nèi)c法獲取立木圖像感興趣區(qū)域,根據(jù)改進的非線性畸變校正模型[22-24]和基于點運算擴展透視變換模型實現(xiàn)立木高度測量。以期提升森林資源外業(yè)調(diào)查的作業(yè)精度和效率,達到讓非專業(yè)測量人員借助非專業(yè)設(shè)備實現(xiàn)立木樹高測量的目的。
根據(jù)單目視覺測量技術(shù)、圖像處理技術(shù)、攝影測量學技術(shù)和光學成像原理構(gòu)建立木高度測量方法。通過智能終端設(shè)備相機對待測的單株立木進行圖像采集,因智能手機相機與單株立木呈一定角度進行拍攝,導致立木圖像產(chǎn)生圖像失真問題。由于立木生存環(huán)境復雜,不利于圖像邊緣檢測,通過圖像視覺顯著性分析圖中HSV調(diào)節(jié)原始圖像的亮度和對比度;結(jié)合去噪算法和Canny算子進行圖像輪廓邊緣檢測,通過立木的邊緣閾值突變的三點法選取立木圖像感興趣區(qū)域;根據(jù)移動端相機特點改進的非線性畸變項的相機標定模型[24]獲取高精度的相機的參數(shù),校正圖像偏移像素,結(jié)合光學成像系統(tǒng)和點運算處理對圖像進行透視校正;將校正后圖像進行輪廓邊緣檢測,獲取立木圖像邊緣垂直方向閾值突變最大值,得到垂直像素高度值(h),測量目標距離(L),帶入構(gòu)建的立木高度測量函數(shù),實現(xiàn)立木高度測量。立木高度測量方法流程圖如圖1所示。
圖1 立木高度測量方法流程圖
在自然環(huán)境下移動端設(shè)備采集立木圖像,相比工業(yè)環(huán)境下的機器視覺圖像處理,具有目標圖像光照不均和噪聲干擾因素多等特點,依據(jù)這些信息特性,文中主要采取圖像顯著性增強處理、數(shù)學形態(tài)學變換、閾值突變?nèi)c法選取圖像感興趣區(qū)域4個步驟。
將智能手機采集的圖像進行視覺顯著性分析,利用分析圖調(diào)整HSV空間特征分量和Lab顏色空間分布增加顏色的對比度和圖像亮度。獲取增強后圖像,進行灰度轉(zhuǎn)換,獲取灰度統(tǒng)計直方圖,通過圖像中目標物和背景在灰度中的差異,對直方圖進行遍歷,計算每個(t,s)組合所得到的矩陣離散度,也就是一維大津法中所謂的最大類間方差求得使“類間方差”最大的(t,s),由于t代表灰度值、s代表改點在其鄰域內(nèi)的灰度均值,選擇最佳閾值s。灰度圖像轉(zhuǎn)化為二值化圖像,采用數(shù)學形態(tài)學變化進行缺陷處理,在立木圖像垂直方向進行增厚和減薄。將獲取圖像進行開運算處理(先腐蝕后膨脹),使聯(lián)通區(qū)域進行分離,刪除噪聲像素,再將圖像中目標物體增大處理,減小空洞,將分離區(qū)域進行連通。
Canny算子具有良好的輪廓邊緣檢測效果,在人臉識別和農(nóng)業(yè)產(chǎn)品識別方面廣泛運用。利用算子中的G(i,j)函數(shù)與圖像像素f(x,y)進行卷積處理,通過3×3模板求取f(x,y)在x和y方向上的偏導數(shù)x′和y′,利用偏導數(shù)的平方根得到梯度K(i,j),結(jié)合灰度閾值銳化圖像;利用二維傅里葉方法變換圖像,得到圖像直流分量F(0,0),通過傅里葉譜對數(shù)進行函數(shù)變換,直流分量被減弱,保持直流分量(DC),增強其他分量,增加圖像細節(jié)部分;利用高斯濾波函數(shù)與圖像I(x,y)進行卷積處理得到I2(x,y),利用公式(1)、(2)求出圖像梯度大小P(x,y)和梯度方向Δθ(x,y),用3×3窗口在8個方向的領(lǐng)域內(nèi)對P(x,y)的所有像素沿梯度方向進行習慣梯度幅值的插值,利用像素點(x,y)梯度幅值P(x,y)小于沿梯度方向Δθ(x,y)兩個相鄰像素點幅值插值比較判定邊緣點;P(x,y)與非極大值抑制后的梯度幅值進行處理后的高閾值T1和低閾值T2進行比較,小于T1或T2,得到兩幅圖像F1、F2,在F2基礎(chǔ)上將兩幅圖對應位置像素進行8鄰域的對比計算,連接輪廓,得到圖像的輪廓邊緣檢測圖像。
(1)
(2)
將圖像通過以上算法進行處理之后,將獲取得到圖像在y軸方向上發(fā)生閾值突變的像素最大值坐標點P1(x1,ymax),在x軸方向上發(fā)生閾值突變的像素最小值坐標點P2(xmin,y2)、在x軸方向上發(fā)生閾值突變的像素最大值坐標點P3(xmax,y3)。獲取圖像感興趣區(qū)域,加快圖像畸變校正運算速度。閾值突變?nèi)c法感興趣區(qū)域選取流程如圖2所示。
圖2 閾值突變?nèi)c法感興趣區(qū)域選取
通過智能終端設(shè)備采集立木圖像,獲取待測立木的圖像信息,通過閾值突變?nèi)c法獲取圖像中感興趣區(qū)域,方便立木圖像畸變的速度,減少不必要圖像像素的畸變校正。但因鏡頭制造工藝的問題,造成圖像通過光學透鏡拍攝的圖像從中間邊緣部分產(chǎn)生不同程度的變形和失真,形成圖像畸變?;趩沃炅⒛舅幁h(huán)境,使得獲取圖像信息的林業(yè)操作人員的拍攝單株立木圖像獲取完整圖像時,手機相機拍攝不平行與立木所在平面并且與水平面成一定仰視角度進行立木圖像的獲取,造成了圖像的透視失真?;兊拇嬖诓焕诓僮魅藛T對于圖像的辨認、分析和判斷,所以需要對畸變進行一定的校正,從而減少因為像的失真影響的對于圖像定量分析的精度?;趫D像處理算法,將手機相機所拍攝的圖像產(chǎn)生的因透視原理產(chǎn)生得到幾何畸變和攝影鏡頭產(chǎn)生的鏡頭畸變,結(jié)合光學小孔成像原理,利用改進的非線性畸變校正模型對圖像進行鏡頭校正,進一步運用基于點運算的透視畸變校正模型進行透視校正。
因?qū)嶋H的工藝制作問題,導致實際鏡頭的小孔成像模型并不是理想化的成像模型,往往帶有不同程度的畸變,從而導致空間實際圖像點坐標偏離理想針孔模型計算所得的坐標值。因此,為了確定空間物體表面某點的三維幾何位置與其在圖像中對應點之間的投影關(guān)系,需要利用相機參數(shù)構(gòu)建相機成像模型。本研究采用Zhang[22-23]標定法中的方法進行相機標定,并且針對移動端相機鏡頭組的優(yōu)缺點,引入一種改進的帶有非線性畸變項的相機標定模型來實現(xiàn)相機標定[24],從而獲取高精度相機參數(shù)和實現(xiàn)鏡頭畸變校正。
用移動端設(shè)備拍攝標定板,采集模板圖像信息和已知的模板平面建立有約束關(guān)系的函數(shù)模型,獲取內(nèi)、外參數(shù)矩陣??紤]到透鏡徑向畸變的問題,將最大似然估計法和非線性最小二乘法的L-M算法進行結(jié)合運用,獲取移動設(shè)備相機的內(nèi)、外參數(shù)。
(3)
公式(3)中,(xw,yw,zw)表示坐標點在三維世界坐標中的坐標,圖像坐標系上的點(x,y)在像素坐標系(u,v)中的坐標為(u0,v0),像面上每一個像素點在x軸、y軸方向上的物理尺寸為dx、dy;f表示相機焦距;R表示旋轉(zhuǎn)矩陣;T表示平移向量。
相機畸變又分為徑向畸變和切向畸變兩種:
徑向畸變:這是由于透鏡先天條件原因(透鏡形狀),成像儀中心(光學中心)的畸變?yōu)?,隨著向邊緣移動,畸變越強。
(4)
切向畸變:這是攝像機安裝過程造成的,如當透鏡不完全平行于圖像平面的時候產(chǎn)生的。切向畸變數(shù)學模型:
(5)
(6)
公式(6)中,Δu=xu/dx,Δv=yv/dy,為圖像中每一個像素點和它在x軸、y軸方向上的物理尺寸dx、dy的比值。
(7)
公式(7)中坐標點在實際圖像中的值為(x,y),(xu,yu)為理想圖像坐標點,主要通過線性小孔成像模型計算出,其中(δx,δy)為坐標點具有的非線性畸變值;k1、k2、k3代表徑向畸變系數(shù);p1、p2代表切向畸變系數(shù)。
已知相機的內(nèi)、外參數(shù),將獲取的特定區(qū)域畸變圖像中的坐標(x,y)帶入相機校正模型,對圖片中的所有像素進行偏移糾正,從而將圖像的鏡頭畸變進行校正的理想圖像坐標(xu,yu)。標定圖像的反投影誤差和每幅模板圖像的平均像素誤差如圖3和表1所示。
圖3 棋盤格標定圖像的反差投影
標定圖片像素平均誤差標定圖片像素平均誤差圖10.4200圖110.5300圖20.4400圖120.4700圖30.5800圖130.4400圖40.4600圖140.4500圖50.5100圖150.4800圖60.5200圖160.5000圖70.4800圖170.5700圖80.4900圖180.5100圖90.4700圖190.4900圖100.4500總體平均誤差0.4873
智能終端Android手機相機形成一定仰視角度拍攝單株立木,導致立木的圖像產(chǎn)生透視幾何畸變,影響后期利用圖像獲取信息和目標的定位、立木因子測量等。理想景物成像面和實際景物成像面的幾何關(guān)系見圖4。校正透視幾何畸變,需了解圖像在理想情況下的幾何坐標和圖像在畸變情況下的幾何坐標,在一定情況下的相互轉(zhuǎn)換關(guān)系。在光學成像原理圖中,實際畸變圖像上的圖像點的坐標為x′和y′,理想圖像上的圖像點的坐標為x和y,理想圖像和畸變圖像成像在同一像面中。手機相機的鏡頭光軸與y坐標軸在像面中投影重合,x軸通過原點并始終與y坐標軸垂直。在理想成像情況下,手機相機的拍攝鏡頭的光軸與成像物面垂直。但是因拍攝因素的影響,導致畸變的存在,實際物體成像平面并不垂直于光軸,即β≠90°。
圖4 手機相機成像的幾何關(guān)系
根據(jù)圖4中的幾何關(guān)系,則得到以下公式:
(8)
(9)
(10)
根據(jù)圖4得到,fy為手機鏡頭在y軸上的焦距;L1為理想物面到鏡頭的距離;l是光軸與實際物成像面的交點物體成像面上A′的距離;β為實際物體成像面與光軸所稱的夾角;h為物點A′到光軸的垂直距離。聯(lián)立以上公式(8)、(9)、(10)得到相應的理想坐標點y′和實際畸變坐標點y的關(guān)系:
(11)
由于x坐標軸始終與光軸垂直,因此,理想像面上的像點坐標x和實際像面上的畸變點的像點坐標x′的比值取決于透鏡到通過相應物點并且垂直于光軸的平面之間的距離L,即:
(12)
由以上公式中的(9)、(10)、(12)可以得到畸變圖像坐標系x′和理想圖像坐標系x之間的轉(zhuǎn)換關(guān)系如下:
(13)
由公式(11)和(13)得到相應的理想圖像和畸變圖像之間的坐標關(guān)系:
(14)
(15)
利用編程的高效率和實際處理功能對畸變圖像進行校正,從而恢復圖像一定的信息。根據(jù)圖4的手機成像幾何圖可以分析出,從理想圖像中的x′和y′出發(fā),然后利用以上推導公式中的(14)、(15)可以得出,畸變圖像像素相對應的校正后的像素坐標x和y,然后利用雙線性插值法的方法將原畸變圖像的灰度值進行算法處理從而得到與之相對應的理想的校正圖像。將所有的畸變圖像像素通過插值算法處理,得到選定區(qū)域的所有的理想像素的灰度等級,并進行賦值,從而裁剪圖像得到一副透視畸變校正的理想圖像。
透視坐標變換原理的(14)、(15)公式可得到校正后的理想圖像的坐標和相關(guān)的灰度值,得到新的灰度圖像。圖像中像素坐標進行轉(zhuǎn)換時,需建立以圖像中心為原點的坐標軸,通過函數(shù)關(guān)系進行計算,將畸變圖像像素坐標校正到理想圖像像素坐標上,賦予正確像素值,最終得到理想校正圖像。因誤差因素影響,理想圖像中坐標(x′,y′)經(jīng)過相關(guān)的算法轉(zhuǎn)換得到數(shù)值并非對應圖像的整數(shù)像素值,為提高圖像校正精確度,需對得到的畸變圖像坐標進行插值運算處理獲取非整數(shù)像素灰度值。基于文中圖像感興趣區(qū)域選取的基礎(chǔ)上,結(jié)合運算精度和速度考慮選用雙線性插值法進行灰度插值運算。與一般最鄰近插值法相比,雙線性插值法獲取得到圖像更加平滑,有利于后期對圖像的信息提取。因為,圖像感興趣區(qū)域選取,減輕了雙線性插值法的工作量,加快了程序運算的速度。手機相機成像的校正對比如圖5所示。
圖5 手機相機成像的校正對比圖
基于Android智能手機設(shè)備,結(jié)合光學系統(tǒng)成像模型和圖像移位視差法,建立立木高度測量模型示意圖(圖6)。設(shè)備OP為設(shè)備離開地面的距離,直線OM為相機拍攝的光軸線,OA1為視線,∠MOA1=1/2α(α為視場角)。因為設(shè)備FG和光軸OM垂直,OP和ON垂直,所以∠GOM和∠PON都為直角。因∠POG+∠GPN=90°,∠NOM+∠GON=90°,所以∠POG=∠NOM=θ(手機重力傳感器獲取的手機傾斜角)。目標距離L,即PA1數(shù)據(jù)為實際量測獲取,立木實際高度為A1A3,AA2為理想情況下立木高度(立木于拍攝設(shè)備相互平行共同垂直于光軸情況),并且AA2//FG//y′y″。
圖6 樹高測量模型示意圖
將因手機相機拍攝造成的畸變進行校正后,立木圖像從實際圖像A1A3轉(zhuǎn)變?yōu)樵诖怪迸c光軸的理想物面上進行成像AA2,所以AA2=A1A3。立木圖像AA2經(jīng)過相機成像原理在成像面上形成圖像y′y″,分別與光軸OM垂直于點y0和點M,Oy0=fy(手機垂直方向上的焦距,單位/像素(pixel))。其中光軸與理想物面和實際物面的交點都為點O,AA2=A1A3,所以AM=A3M,A1M=A2M。
因為A1A3為所求立木高度,即立木高度H=A1A3。
(16)
式中:fy為已知由相機標定所得參數(shù)獲?。粂′y″為圖像中立木輪廓最高點到圖像底部的像素差值,單位:像素。
ON=PA1,
(17)
OM=ON·cosθ,
(18)
OM=PA1·cosθ,
(19)
H=A1A3。
(20)
由式(16)、式(20)可得立木高度計算公式:
(21)
式(21)中,通過獲取的實際目標距離PA1和手機獲取的傾斜角度θ(其中PA1的物理單位為m;傾斜角θ的物理單位為°;y′y″和fy的物理單位都是像素。其中公式中得到最后距離H,單位為m。
在本試驗中驗證使用的客戶端測試手機是小米手機,型號為MI 2S,Android版本為4.1.2,通過Java語言和C++語言結(jié)合進行項目功能的開發(fā)。
立木圖形的校正過程如圖2所示,校正圖像如圖5所示,根據(jù)以上立木高度測量方法實現(xiàn)立木高度測量,測量對比如圖7所示。
圖7 樹高測量方法對比圖
在校園林區(qū)內(nèi)隨機選取12棵樣本進行立木樹高的測量,對文中算法進行試驗驗證。選用改進的布魯萊斯測高器和皮尺對12棵立木進行樹高測量。因周圍環(huán)境等額外因素影響,布魯萊斯測高器水平距離均選用15 m進行測量,皮尺測量用梯子爬到樹上進行測量,每一顆樣本樹都用兩種測量儀器進行3次測量,選取平均值作為立木的樹高真值。然后利用校準的試驗手機對這12棵立木進行測量,利用皮尺獲取實際立木目標距離L為5 m,每棵立木在拍攝點距離固定不變的情況下,對立木進行拍攝測量,測量時應保持立木和測量人員處于同一水平面。測量結(jié)果如表2所示,由表2可知,測量結(jié)果的最大誤差為6.42%。
表2 樹高試驗測量數(shù)據(jù)
注:樣本的目標距離通過實際皮尺進行測量獲取。
綜上所述,利用文中的立木樹高測量方法進行試驗驗證發(fā)現(xiàn),試驗測量滿足精準林業(yè)和數(shù)字林業(yè)的資源調(diào)查要求。測量結(jié)果如表2所示。由表2可知,測量結(jié)果的相對誤差均小于6.42%。
本研究結(jié)合圖像處理技術(shù)、單目視覺測量技術(shù)、近景攝影測量技術(shù)和光學成像原理,提出一種利用智能終端設(shè)備采集單幅立木圖像自動測量立木高度的方法。經(jīng)驗證,該方法進行立木高度測量的精度誤差小于6.42%,滿足國家森林資源二類調(diào)查的精度要求。
文中方法與現(xiàn)有的智能終端的Android平臺的測樹方法相比,該方法采用了圖像處理中的圖像視覺顯著性增強,感興趣區(qū)域選取及圖像校正等技術(shù),校正了因拍攝儀器和操作方式產(chǎn)生的圖像畸變,提高了測量精度和測量的魯棒性;將機器視覺技術(shù)應用于林業(yè)資源調(diào)查工作,在實現(xiàn)立木高度快速測量的同時,獲取并保存了立木圖像信息,為林業(yè)提供了直觀可視的存檔資料,方便后續(xù)復查。與傳統(tǒng)雙目攝影測量的測樹方法比較,該方法采用單目視覺測量技術(shù),設(shè)備成本低廉、體積小,數(shù)據(jù)結(jié)果采集過程簡單、處理便捷;采用普適率高的智能終端手機代替專業(yè)測量工具,將操作步驟簡單化,易于非專業(yè)人士使用和推廣林業(yè)知識。由于時間和試驗條件限制,文中測量方法目前只涉及立木高度測量,后續(xù)可擴展到立木其他因子的尺寸測量。