李艷春
蒙古櫟林蟲對蒙古櫟種子破壞后,種子無法正常生長,導致森林生態環境遭到破壞.為了能夠更好地預防蒙古櫟林蟲害,現將已經被蟲蛀的種子進行切削處理,對害蟲活動路徑進行分析,以期在此基礎上尋求針對害蟲的有效防治方法.
目前國內在基于二維圖像的三維建模技術方面,在很多技術算法上都進行了大量研究,提出了很多比較完善的理論.通過軟件能夠完成特征點的提取、特征點的匹配、模型的三維顯示功能[1-3].
本文將基于二維圖像對害蟲蟲道進行三維重構和仿真.根據標記點批量提取大小和方向均一致的研究區域,使其坐標范圍統一.在圖像上確定蟲道位置信息(以像素為單位),重構出蟲道的三維結構圖.重新建立統一的研究范圍和統一的參考坐標點,實現所有圖片在統一的標準量下進行數據提取分析,使用photoshop 軟件將所有圖片進行統一規范化處理(使所有圖片的像素均為一致)并建立二維坐標系.
將已處理好的圖片進行分組,取等距離大小建立網格,在網格中通過使用線性插值和非線性插值方法進行數據的高度標準提取,以確定蟲道的平面位置信息.由于圖片中相鄰圖片的實際厚度均一致,因此將所有提取出的二維平面數據依次等距離排放,利用MATLAB 軟件將二維數據填入,繪制出蟲道的三維結構圖.
假設種子的每一個橫截面都是圓形且只有一條蟲子,假設橫截面中的每一塊蟲洞區域都是一個點,每一個橫截面都是從底部開始截取.
本文中所使用的符號:k表示間隔序號;x表示橫坐標;y表示縱坐標;σ表示尺度坐標;Omin表示倍頻組o初始索引;σo表示基準層尺度;Ns表示每個倍頻組中模糊層的數目;δ表示插值系數.
在種子橫截面的重建坐標系中,重建圖像的坐標系可以通過像素坐標和物理坐標進行統計與分析;可結合標記點對區域范圍的提取特征進行統計與計算.在像素坐標中,點o和(x,y)為主要內容,像素的坐標(x,y)單元中,可以根據像素轉變過程,建立物理坐標系,并通過特征數據分析,提高信息處理與分析的準確性.為了獲取圖像信息,需將每一張圖片進行處理.以標定點A到標定點B的距離為研究邊長,取800×800 像素為研究區域,利用photoshop 軟件進行裁剪,圖片49~141 均帶有蟲洞[1],其中第49 張圖片經過photoshop 軟件裁剪后效果如圖1 所示.將標定點A設為中心點,以AB所在邊為X軸,垂直AB朝向種子方向為Y軸,效果如圖2 所示.將每一張圖片劃分為20×20 的正方形格子,每個正方形格子占40×40 像素,效果如圖3 所示(此圖為種子最大橫截面).

圖2 第80 張經過標記后的橫截圖

圖3 第74 張經過劃分網格后的橫截圖
(1)特征點提取與匹配技術現狀.特征點提取與信息處理的過程中,要結合圖像信息,在三維重建空間中,可根據種子橫截面重點散點數量,對橫截面的散點分布進行統計與計算.特征點在實際提取的過程中,可在數據處理與分析的基礎上,對特征點提取和計算過程等進行完善,從而提高數據提取與分析的準確性.在數據提取與匹配中,可在信息數據處理和特征點提取分析中,滿足特征分析與處理的綜合需求.在進行特征數據提取與分析中,可對圖像中的提取數據進行再次處理,并根據圖像的尺寸、大小、是否旋轉等進行計算,從而達到特征點檢測與分析的目的[4],在對特征點提取過程和數據分析中,可對特征點數據利用統計特征分析的方式計算,并將點云數據作為三維重建的信息數據.
(2)特征點提取.利用三維空間的視角下可結合空間非合作的關系特征,對序列圖像中的相關特征點進行提取與匹配分析.在三維重建與分析處理中,可通過旋轉、縮放、平移等方式對圖像進行合理計算,從而獲得目標中的信息數據.
(3)尺度空間生成.在對尺度空間進行計算與分析中,可通過SIFT 算法進行.因此,在高斯卷積的應用下,可對二維圖像的尺度空間進行計算與分析,獲得統一的尺度信息.在對相關數據信息整合與處理中,可對每個橫截面的整體進行計算,并將其放到標準尺度空間中,對尺度空間的相關數據進行統計與計算,具體計算公式為[5]:
其中:I(x,y) 表示橫截面I 在像素平面坐標(x,y)位置的數值,表示尺度數值,(x,y)表示空間坐標,σ表示尺度坐標,σ的數值越大,圖像越清晰,σ的大小對圖像的平滑程度、分辨率會產生直接影響.
結合上述計算方式,在圖像尺度計算與分析中,可通過σ值的變化獲得高斯函數,并利用高斯函數對圖像的卷積過程進行分析,獲得圖像層.在圖像層中,為提取高尺度模擬效果,可對圖像進行整合與分析,在種子截面的尺度空間計算下,利用不同參數進行計算.參數分別為倍頻組坐標o和模糊層坐標s,兩者之間的關系式為[6]:
其中:σo表示基準層尺度,Ns表示每個倍頻組中模糊層的數目,o∈omin+ [0,1,2,…,No- 1],s∈[0,1,2,…,Ns- 1].其中,omin表示倍頻組o初始索引.設x0是o= 0 組的空間坐標,則可得出x= 2oxo.其中,空間坐標x是倍頻組o的非線性函數.假設(M0,N0)是o= 0 時圖像的分辨率,那么通過下式,即可得出其他圖像組的分辨率[7].
(4)特征匹配.特征點在橫截面下的匹配作為三維信息的導入窗口,影響著散點的數目,匹配點數目越多,三維重建構成的蟲道越稠密.
根據SIFT 算法,在對特征點進行提取與分析中,可根據特征點的向量關系,對特征點之間的數據關系,以及圖像之間的匹配關系進行優化. 在利用KD-tree 搜索查詢特征點時,可以對圖像的特征點進行提取,并利用KD-tree 對可能存在的特征點進行查詢與分析,確定對應的匹配點.
本文通過模擬圖像中種子胚乳顏色與蟲洞的顏色對比進行模糊處理,對SIFT 算法進行優化,將模擬圖像進行比較,在每一張橫截面上得到散點數據.在SIFT 算法下的二維模擬數據如圖4 所示.

圖4 SIFT 算法下的二維模擬數據
(1)有序點的數據處理.有序點的數據處理要考慮誤差、標定誤差等因素的影響,在三維散點空間中會存在誤差比較大的散點,這一類散點被稱為壞點,壞點會導致這一散點與周圍其他散點偏離原二維圖像,需要對三維散點空間進行處理,從而達到去除壞點的目的.由于三維散點在重建后,空間排布具有一定的隨機性,所以,結合種子橫截面的特征點匹配算法,可以對三維散點空間進行重建,散點的排布具有方向性,在對散點空間進行梳理中,可對分布進行整合與計算.點云計算機檢測要將采集數據呈現到圖像的終端,并通過半自動的光順方法對采集數據進行檢查與過濾.判斷壞點的方法分為三種.主要有直接檢測法、曲線檢測法和弦高差法[8].
(2)散亂點的數據處理.對于由致密匹配算法經過三維散點重建得到的三維散點空間,各個點之間不存在拓撲關系,因此需在各點之間建立拓撲關系.采用三角網絡模型,建立三維各個散點數據的拓撲關系.散點擬合數據圖如圖5 所示.

圖5 散點擬合數據
(3)插值.插值可通過離散數據對未知數據進行計算,并在數據加密以及離散處理的基礎上,獲得擬合數據.
①線性插值.線性插值可以應用到直線重建的插值計算中,假設已知坐標與,想得到內某一處x在直線上的值.根據幾何學知識可以得到:
其中:δ為插值系數,因此線性插值算法定義涉及三個量,首先要確定間隔序號k,使得
第二個量是局部變量s,其定義為:
最后一個量為一次均差δ(插值系數),其定義為:
則插值函數可表示為:
將平面整合進行插值后效果如圖6 所示.

圖6 蟲洞散點間線性插值
②雙線性插值.雙線性插值是兩個變量的插值函數的線性插值的有效擴展,在對不同散點進行計算中,可從兩端分別進行線性插值的統計與計算,主要適用于面重建,以此利用在本問題上.先在x方向進行插值,得到:
后在y方向進行插值,得到:
從而得到:
根據雙線性插值算法在兩點之間散點,插值結果如圖7 所示.

圖7 蟲洞散點間雙線性插值
③曲面擬合與插值.曲面擬合過程中,插值與曲線擬合的數值存在一定的差異性,在進行模擬分析中,可通過三維空間對插值進行計算.其算法基本類似曲線擬合和插值的算法,利用MATLAB 中的函數polyfit 進行插值,插值后的結果如圖8 所示.

圖8 蟲洞散點利用函數polyfit 進行插值
在進行散點插值后利用MATLAB 中的scatter3 函數整合出所有蟲洞,效果如圖9 所示.

圖9 蟲洞散點間的整合
利用MATLAB 中的mesh 函數將蟲道中的多余散點去除,并模擬出蟲道的路徑,由于觀測出實物中點(100,280,118)到點(340,120,115)并沒有連接的跡象,所以推測出害蟲并未經過標記的路徑,而是從種子外部進入另一個蟲洞.路徑修改前及修改后的情況如圖10 所示.

圖10 多余散點去除后蟲道模擬路徑
為了按照實際情況反映三維散點數據按弦長的排布情況,本文采用B 樣條插值方法.
B 樣條插值的三維數據模型重構中,要從兩條蟲道路徑與散點排布關系的角度,簡化散點數據的整體排布,并通過張量積曲面的性質,將問題轉化為兩個階段的散點反算過程[8].
將蟲道分成兩組數據,運用MATLAB 中的scatter3 函數進行整合得出兩組數據,并判斷至少為兩條害蟲.具體情況如圖11 所示.

圖11 蟲洞散點整合后的蟲道路徑
三維數據散點的參數會對三維模型的重構精度和弦長等產生直接的影響,因此,在利用數字化模型中,亦可通過弦長分布的不規則特性進行計算.
本文根據二維數據制作單層平面圖,再運用SIFT 算法進行三維建模,最后用散亂點的線性及非線性插值得到圖像,利用MATLAB軟件對數據進行整合,構出蟲道路徑.
基于二維圖像的三維建模技術的研究表明,三維蟲道重構及仿真具有重大實用價值,隨著對研究的重視、仿真技術的探索及應用領域的深入研究,這一技術將會得到更加快速的發展.