李博,王廣彪,車仁正,張芳芳,姚黎帆
(1.北京航空航天大學青島研究院,山東 青島 266000; 2.青島空天行者科技有限公司,山東 青島 266000)
松材線蟲病是由松材線蟲侵染引起的松樹迅速萎蔫、死亡的破壞性松樹疾病,是一種世界性的重大的植物疫病。松材線蟲病主要是通過松褐天牛自然擴散的。根據(jù)國標《松材線蟲普查監(jiān)測技術規(guī)程》,每年都需要組織專門的松材線蟲病普查監(jiān)測,監(jiān)測頻度為一年2次。通常松材線蟲病普查采用傳統(tǒng)的人工普查方式,費時費力且效率低。隨著無人機遙感技術的發(fā)展,利用無人機航攝監(jiān)測病疫松樹,再結合地理信息技術、人工智能和云計算快速定位病疫松樹,可以極大提高病疫松樹的監(jiān)測效率,降低監(jiān)測成本,從而抑制松材線蟲病的快速傳播。
傳統(tǒng)的松材線蟲疫木監(jiān)測通常是依靠人工普查的方式來完成的。隨著無人機技術的發(fā)展,特別是無人機遙感成本的降低,其應用領域也越來越多,而病死疫木監(jiān)測正是一個非常適用無人機遙感技術應用的行業(yè)。無人機的種類有很多,比較常見的是固定翼無人機和多旋翼無人機。在無人機遙感領域,固定翼無人機和多旋翼無人機都有著廣泛的應用,比較而言,多旋翼無人機適合小范圍、高精度、較為平坦區(qū)域的遙感檢測;固定翼無人機,由于其飛行速度快,續(xù)航時間長,可攜帶載荷重,適合大范圍、低精度,特別是在落差較大的山地丘陵等區(qū)域使用。在松材線蟲病疫木遙感實際監(jiān)測中,往往可以采用兩種機型相結合的方式,從而在效率和監(jiān)測質量上獲得很好的平衡。文獻[4]采用的是雙光譜相機無人機遙感監(jiān)測,基于可見光和紅外兩種傳感器,可以很好利用不同光譜的特點來劃分松材線蟲病害發(fā)生區(qū)域。文獻[5,6]都是利用無人機遙感拍攝松樹林,但都采用了人工目視法標注死樹,其標注準確度和用時都不盡人意。文獻[7]是采用有監(jiān)督的機器學習識別算法自動識別病死松樹,再結合帶有知識庫的專家系統(tǒng)進行驗證,從而實現(xiàn)了松材線蟲病疫木的自動標注。總體而言,國內利用無人機遙感監(jiān)測松材線蟲病樹的研究正在從人工識別向自動識別、區(qū)域識別向單株識別轉變,研究領域主要集中在病害木材的識別方法上。關于如何有效、快速地對無人機航拍照片進行預處理,進而進行快速病疫木識別的研究較少。我們在實際項目中發(fā)現(xiàn),航拍照片的預處理質量和速度對病死松樹識別的準確性和抑制松材線蟲病擴延都有著很大影響。
根據(jù)國標《松材線蟲普查監(jiān)測技術規(guī)程》中疫木監(jiān)測工作內容,采用無人機進行病死疫木監(jiān)測基本上可以分成5個步驟:
2.1.1 準備階段 主要是對需要監(jiān)測的區(qū)域進行地理人文等資料的收集、熟悉和掌握該地區(qū)的地形地貌;組織人員進行外業(yè)勘察,根據(jù)設定區(qū)域選擇合適的地面控制點;無人機飛行準備,劃分飛行區(qū)域、飛行航次,設定飛行航線,申請相應空域等等。
2.1.2 無人機航拍 無人機航拍是對監(jiān)測區(qū)域進行航空拍攝,航拍圖像質量的好壞對后續(xù)圖像處理和疫木監(jiān)測都有著重要影響。無人機航拍應根據(jù)指定飛行計劃,結合飛行當天的實際天氣情況,調整飛行區(qū)域、飛行計劃,在確保飛行安全的基礎上,確保航拍圖像的高質量。
2.1.3 航拍圖像處理 航拍圖像處理是無人機監(jiān)測松材線蟲病疫木的一個關鍵步驟。航拍圖像處理包括對航拍獲得的圖像進行拼接、鑲嵌、均色等處理。由于后續(xù)處理是采用人工智能算法對圖像進行自動識別,因此該步驟對后續(xù)識別的準確率有著很大的影響,同時圖像處理的時間在疫木圖像后處理過程中占有很大比重,因此航拍圖像處理時間的長短會影響疫木監(jiān)測的時效性乃至防治效果。
2.1.4 病死疫木的人工智能自動識別 傳統(tǒng)的疫木識別大多由專業(yè)人員憑經驗進行逐一目視識別,這種方式費時費力,而且準確度不高,漏檢率大。隨著人工智能的快速發(fā)展,利用機器學習或深度學習等算法由計算機自動識別已經成為主要發(fā)展方向。
2.1.5 信息輸出 按照要求的格式將識別得到的疫木經緯度、屬地等所需信息輸出,從而方便后續(xù)的疫木處理。由于地理坐標系的原因,為了確保輸出數(shù)據(jù)的兼容性,要事先明確輸出地理坐標系的選擇,比如采用WGS84坐標系或者中國2000大地坐標系。
無人機航拍圖像的處理是松材線蟲病死疫木監(jiān)測中非常重要的一環(huán),關系到疫木監(jiān)測的時效性和準確性。相對于傳統(tǒng)的航空航天遙感影像,無人機航拍獲取的圖像具有影像幅小、像對也小、圖幅量大的特點,如果完全采用傳統(tǒng)航空航天影像的方法對無人機航拍圖像進行處理,其效率低,工作量大。隨著無人機遙感在各行各業(yè)中的應用越來越廣泛,伴隨于此,專門用于無人機遙感圖像處理的各種軟件也如雨后春筍般應運而生。不同軟件的原理基本相同,處理流程主要包括以下幾個步驟:
2.2.1 圖像校正 由于生產工藝、制造精度等原因,相機的鏡頭都存在鏡頭畸變,而且不同的相機其畸變不完全一樣。通常來說,相機的畸變包括枕形畸變或者桶形畸變?;兊拇嬖跁古臄z得到的圖像產生變形,特別是對遙感測繪等高精度的應用,畸變會嚴重影響測繪的精度。所以,為了得到準確的處理結果,在使用圖片之前通常需要對圖片進行畸變校正。目前,大多數(shù)的無人機遙感圖像處理軟件已經能夠在無需已知相機畸變參數(shù)的前提下,即可完成對航拍圖像畸變的自動校正。
2.2.2 特征點的提取和匹配 特征點提取算法,是提取圖像上具有明顯特征的特征點,為了保證后續(xù)匹配的質量,提取的特征點應該在圖像上合理分布。提取特征點,獲取其對應的特征描述;然后根據(jù)位置或其他約束關系篩選出潛在具有重疊關系的對應圖像構成像對。再對每一像對的特征描述進行匹配,并使用RANSAC等算法消除錯誤的匹配。
2.2.3 計算稀疏點云 在特征點提取和匹配后,開始進行相機和特征點的三維重建,即利用這些特征點的信息計算相機參數(shù)和特征點的三維坐標信息,這又被稱為稀疏點云的生成。通過稀疏點云的計算,可以得到在該坐標系下相機的位置和姿態(tài)等信息,從而生成視覺場景下相機和匹配點構建的稀疏場景。在實際工程應用中,利用相機拍攝時無人機的經緯度和高度,以及附近的像控點經緯度坐標,通過最小二乘法進行迭代尋求最優(yōu)解,即可求得在最優(yōu)條件下,相機和稀疏點云在真實空間內的位置信息。
2.2.4 計算密集點云 密集點云是在稀疏點云的基礎上進一步計算得到的。密集點云可以解決稀疏點云精度低、密度不足,不能生成準確、真實的重建目標的問題,可以使重建目標能夠展示出來。計算密集點云的算法主要有基于體素的算法、基于可變多邊形網絡的算法、基于多重深度映射的算法等等。就PhotoScan而言,其采用的是PMVS算法(基于片面的多視圖立體視覺算法,patch-based MVS algorithm)。經過密集點云生成計算后,重建目標在特征上和數(shù)量上都得到了明顯的提高,特征的描述更為細致和完整,可以全面、準確地反映重建對象的幾何特征。
2.2.5 生成正射影像 在計算得到密集點云后,可以計算正射影像,該步驟通常采用反解法數(shù)字微分糾正得到正射影像,主要包括以下過程:
(1)計算地面點坐標。由正射影像上任意一點,已知影像的坐標和影像的比例尺,通過坐標和比例尺可以計算出點所對應的地面點的坐標值(,);
(2)計算像點坐標。得到點的坐標值后,采用共線方程即可計算得到點在原始圖像上的像點坐標值(,);
(3)灰度內插。計算像點坐標是為了得到該點的灰度值,但由于計算的離散化,得到的像點坐標并不一定在采樣點上,因此不能夠直接得到該像點的灰度值,這個時候就需要采用內插的方法來計算該像點的灰度值,通常像點的灰度值用(,)表示;
(4)灰度賦值。在計算得到像點的灰度值后,就可以把該值賦予糾正后的像元,即(,)=(,),將影像上所有的像素點依次進行上述計算過程,最后可以得到所需的正射影像。
如前文所述,目前國內市場上有很多無人機圖像處理軟件,這里我們采用PhotoScan來進行無人機圖像的正射拼接。在實際工程使用中,該軟件并不提供集群處理功能,如果使用單一工作站來進行大量圖像數(shù)據(jù)處理,不僅處理的速度慢,且由于每臺工作站的處理能力有限,如果所需處理的圖像數(shù)量過大,超過單臺處理能力,就會導致程序報錯以致圖像處理過程中斷。
為了解決上述不足,我們利用多臺工作站、磁盤矩陣、高性能交換機構建了一個海量無人機遙感數(shù)據(jù)處理集群。集群中設置一個主節(jié)點,由一臺工作站擔任,該主節(jié)點可同時承擔圖像數(shù)據(jù)處理和圖像處理任務規(guī)劃及分發(fā)的功能,也可只承擔圖像處理任務規(guī)劃和分發(fā)。剩下的工作站可作為集群的子節(jié)點,子節(jié)點只承擔圖像數(shù)據(jù)處理任務功能??梢圆捎脤S玫拇疟P矩陣用來存放無人機遙感數(shù)據(jù)、圖像處理中間數(shù)據(jù)和生成的正射影像數(shù)據(jù)。為了保證各節(jié)點間的高速數(shù)據(jù)交換,選擇了一個企業(yè)級的交換機。
為了保證集群能夠協(xié)同處理海量無人機遙感數(shù)據(jù),還需在各節(jié)點上進行軟件設置。在主節(jié)點工作站上的PhotoScan安裝目錄下面新建一個批處理文件,如server.bat。文件代碼如下:“"D:Program FilesAgisoftPhotoScan Prophotoscan.exe"--server--control 192.168.1.X--dispatch 192.168.1.X”,其中“--server”、“--control”和“--dispatch”是命令控制參數(shù),“192.168.5.X”是主節(jié)點的IP地址。在子節(jié)點工作站上的PhotoScan安裝目錄下面同樣新建一個批處理文件,如node.bat。文件代碼如下:“"D:Program FilesAgisoftPhotoScan Prophotoscan.exe" -node --dispatch 192.168.5.X --root \192.168.5.YPhotoscanProject”。其中“--node”、“--dispatch”是命令控制參數(shù),“192.168.1.X”是主節(jié)點的IP地址?!?92.168.1.Y”是磁盤矩陣的IP地址。設置好后,按照先運行主節(jié)點批處理文件、然后各子節(jié)點批處理文件、最后在主節(jié)點上運行PhotoScan執(zhí)行程序的順利依次啟動,后續(xù)即可按照單機的方式進行無人機遙感圖像的正射影像拼接。
以青島嶗山區(qū)無人機遙感影像為實驗數(shù)據(jù),利用PhotoScan軟件在單機環(huán)境下和集群環(huán)境下進行正射影像處理對比。由于嶗山地形地貌比較豐富,拍攝的區(qū)域涵蓋林地、水面、建筑等,為了保證航拍圖像的處理效果,航路規(guī)劃時要保證沿同一航線上相鄰像片間的圖像重疊大于70%、航向重疊一般應達到大于60%。
為了比較不同航片數(shù)量,單機環(huán)境和集群環(huán)境條件下PhotoScan的處理耗時,分別選取了3組航片,數(shù)量分別為551張、4033張和10947張,耗時分別如表1。
表1 無人機影像數(shù)據(jù)處理時間的比較
圖1 PhotoScan拼接后得到正射圖像
本文介紹了利用無人機進行松材線蟲病疫木監(jiān)測的完整流程,對無人機拍攝的圖像的處理方法,如特征提取、特征匹配、空三計算和正射投影等進行了詳細介紹,最后以青島市嶗山區(qū)松材線蟲疫木監(jiān)視為例,提出了一種基于PhotoScan的集群構建方法。通過該方法進行航攝圖像處理,速度快,耗時少,配合以基于深度學習的病死疫木人工智能檢測算法,可以快速完成病死疫木的判讀。