2022/03/23 | 電子報No.0188期 | Hom 李宏君

近年來各國遙測衛星的發展可謂百花齊放,不論商用或開源,衛星影像的取得管道比起以往都要更容易許多,隨著拍攝能量的增加也獲取了相當可觀的歷史數據量,目前全球衛星影像累積預估已超過40ZB[1]的規模!以商用高解析度衛星領導者MAXAR公司為例,WorldView系列衛星單日全球的平均拍攝面積據官方統計就超過2,300,000平方公里,也就是說一天就可拍攝超過64個台灣;高頻率拍攝著稱的PlanetScope衛星群每日至少蒐集40TB的資料量,1個月內即可完成全球影像的拍攝,很顯然衛星影像的大數據時代已是現在進行式。

也因為衛星影像的獲取不再是一個大難題,我們更關心的是如何有效率地從如此海量的影像資料分析出有意義的資訊,進一步在應用層面帶來突破。歸功於硬體效能的提升與人工智慧(AI)技術的演進,為遙測影像的自動化分析帶來了新的契機,目前AI相關技術中又以卷積神經網路(Convolutional Neural Networks, CNN)為基礎的深度學習具有最佳的圖像辨識能力。eCognition自9.3版起在原有的物件式影像分析(OBIA)的基礎上導入Google的TensorFlow框架,實現CNN深度學習,在遙測影像判釋應用上是一大推進,我們以林業調查的角度出發,探討OBIA與深度學習的結合如何更有效率地進行遙測影像分析。在開始前,先稍微科普一下CNN深度學習是怎麼幫電腦看懂影像的。

「給他魚吃,不如教他如何釣魚」

 

什麼是機器學習

各位到動物園大概不會把花豹看成老虎,即便他們有相似的斑紋跟體型,這是因為人腦的認知能力非常強大,從小到大在圖片、電視、動物園中已看過無數次,大腦迴路在不知不覺中就可以直覺反應;再想像一下小朋友學識字的過程,一開始由老師家長帶著唸起,從課本、圖書、生活環境中(如電視、廣告看板)大量接觸,然後在一次次作業與考試的不斷訂正過程中就學起來了。機器學習其實就是仿照這樣的原理設計給電腦的學習方法,我們要做的就是給很多案例,讓電腦自行從大量經驗中獲取知識,以後看到類似的問題就可以自己做推斷,而不是死記人們給他的規則,這種類似於人腦的學習模式讓電腦整個聰明起來。

 

神經網路疊出「深度」

為了要模擬複雜的腦神經般傳遞機制,誕生出了以人工神經網路為基礎的深度學習法,它是以神經元(neuron)組成網路的形式來模擬人類複雜感知系統的一種機器學習法,層層將大量無序的資料漸漸轉為有用的資訊,是當前人工智慧的主流技術,其基本架構是由三種神經元層所組成:輸入層(Input Layer)、隱藏層(Hidden Layers)和輸出層(Output layer)。

深度學習的實際操作涉及兩個階段:訓練、預測

「訓練」就好比K書,根據已知訓練樣本(書本上的知識)在各神經元層間傳遞,利用數學運算反覆自我修正參數成為可以得出正確”答案”的模型(腦袋)。看到數學兩個字頭是不是已經開始痛起來嫌自己不夠聰明呢,神經網路也是喔!一般我們可以透過”加深”隱藏層的方式來擴充神經網路的腦容量,使其變得夠聰明來學習更難的任務;在K完書後總是要考試才知道有沒有真的學起來,這階段就稱為「預測」,通常會另外出題來考訓練過的模型,以下圖為例,經過訓練的深度神經網路可正確辨識未曾看過的圖片內容。

經典深度神經網路架構

▲ 圖1 經典深度神經網路(fully connected架構)

 

「卷積」讓神經網路有了視覺

事實上,這種最經典的神經網路還不具備”視覺能力”,沒有辦法以影像的型態直接輸入,必須先將二維的影像攤平成一維的數字陣列,但如此一來便會破壞像素的鄰近關係與結構(pattern),這就好比是瞎子摸象,無法真正”看見”整體結構的情況下會影響辨識的準確度。有鑑於此,在原本的神經網路架構下引入了卷積(Convolution)與池化(Pooling)兩層來做特徵萃取,經過這樣變形後就是鼎鼎大名的卷積神經網路-CNN,而卷積層就是讓神經網路能看得到影像的關鍵。

CNN是在深度神經網路架構上引入卷積與池化層

▲ 圖2 CNN是在深度神經網路架構上引入卷積與池化層

那卷積又是什麼?

在數位影像處理(image processing)與電腦視覺(computer vision)領域中,卷積的目的就是透過各式各樣的濾波器(kernel or filter)在整幅影像中滑動進行內積,這樣可以強化影像中的某些特徵並消除其他不想要的雜訊。一般影像處理上會因應不同的目的採取特定的kernel來做卷積,例如影像處理軟體中常用的銳利化或美肌功能就是分別用了不同的濾鏡處理後的效果;在CNN的卷積層中,要採用什麼樣的kernel則是靠神經網路的訓練而來的最佳解,以同一張鳥的照片為例,能萃取鳥的輪廓特徵的高通(high pass)濾波器或許就是一個不錯的kernel。

透過高通濾波器做卷積處理可萃取邊緣特徵

▲ 圖3 透過高通濾波器做卷積處理可萃取邊緣特徵

 

深度學習在影像應用上涉及的層面很廣,相關的技術與架構也日新月異,在空間資訊相關領域中,近幾年來國內公部門也與專家學者合作,積極投入深度學習發展空間智能分析技術並取得優異的成果[2],本文僅就遙測影像辨識與分類的應用面討論,回過頭來看看CNN與林業應用會迸出什麼樣的火花。

 

當衛星影像遇上CNN

高解析度衛星或空拍影像讓地物無所遁形,是進行大範圍地表調查很重要的資料來源,就如同辨識照片中的動物一樣,在林業調查的任務中,我們也希望藉由遙測影像了解地表上不同種類植被的空間分布,目的都是想從影像中獲取資訊;但相較於照片中的動物,樹木在衛星影像上的目標更小、特徵相似,判讀難度相對也就提高,需高度仰賴森林相關專業與經驗,是一項非常耗時費力的工作,尤其台灣山區林相複雜,對於非林業專家的應用人士來說,缺乏相關的領域知識(domain knowledge)是執行遙測影像判釋首先會遇到的最大障礙。

為了將CNN應用於遙測影像的判釋,我們以較容易由肉眼辨識出的植被:荔枝樹、竹林做為測試,採用全色態銳化後之50公分解析度之WorldView-2衛星影像,搭配Google Maps街景服務來確認樹種於衛星影像中圈畫訓練樣本,提供CNN深度學習進行訓練。事實上,嚴謹的訓練、驗證資料必須輔以現地調查進行標註,本文假設從高解析度影像中可檢視取得正確樣本,以節省人力為前提下研究深度學習的優勢與正確性,對於有時效性之判釋任務提供一個可行折衷方案,當然更複雜的混生林及更細節的樹種研究則不在本次討論範圍。

WorldView-2影像訓練樣本集

▲ 圖4 WorldView-2影像訓練樣本集(僅列出部分)

 

CNN的卷積層可以萃取影像上呈現的特徵,以下是參考VGG-16模型架構訓練後,各類別在第5層所呈現的部分特徵圖,藉以視覺化模型看到了什麼,其採用的卷積核大小是3×3。雖然植被在衛星影像的特徵上不如一般拍攝實物照片來的大,還是可看出三種植被在紋理特徵上有著顯著的差異。

經卷積處理之特徵圖

▲ 圖5 經卷積處理之特徵圖(僅列出部分)

 

這幅WorldView-2衛星影像拍攝地點位於屏東楓港溪附近,可以明顯看出人工種植果園的樹株呈現規則排列,從街景服務中得知這些大部分是荔枝樹為主的經濟作物。我們使用經上述樣本訓練的CNN模型在此幅測試影像上進行預測,辨識結果以熱度圖方式呈現每個像元屬於荔枝樹類別的機率,愈接近紅色代表預測為荔枝樹的機率愈高;反之則愈接近藍色。

▲ 圖6 荔枝樹分布熱度圖(紅色部分為100%、藍色部分為0%)

 

竹苗山區四處都可以看到成片的竹林分布,這些大部分都是由人工種植,是極為重要的經濟作物同時也具備良好的水土保持能力。這幅位於新竹五峰鄉山區的WorldView-2影像,影像中包含的植被主要由竹林混合了針葉、闊葉樹及人造林,透過經過訓練的CNN模型預測出竹林分布的熱度圖。






▲ 圖7、圖8 竹林分布熱度圖(紅色部分為100%、藍色部分為0%)

 

不寫程式也能體驗深度學習

雖然目前已有TensorFlow與PyTorch兩大主流框架提供使用者自行搭建深度學習模型,但在實作上使用者必須具備一定的程式設計基礎與深度學習知識,門檻相對較高。

eCognition站在巨人的肩膀上,導入了TensorFlow深度學習框架來實現CNN深度學習,一手包辦了從訓練樣本產製、樣本資料擴增(data augmentation)、模型建置、模型訓練到資料預測的標準流程,降低了學習曲線,尤其在結合原有OBIA的優勢下,更加強了遙測影像的資訊萃取能力,可更快速實踐並體驗深度學習在遙測影像上的帶來的效益。

eCognition CNN深度學習的內建模組對應

▲ 圖9 eCognition CNN深度學習的內建模組對應

 

eCognition Deep Learning(CNN)工具集中針對每個操作階段模組化為內建演算法,在訓練樣本的蒐集上,可以根據採集的地真點位資料直接套疊在訓練區影像上大量自動擷取固定大小的訓練集圖塊,提供足夠數量的訓練資料。

根據地真點位套疊衛星影像自動產製訓練樣本集

▲ 圖10 根據地真點位套疊衛星影像自動產製訓練樣本集

 

從「模型建置」、「模型訓練」到「模型預測」等深度學習關鍵步驟的超參數設定也更為直觀,包含了隱藏層數量、卷積核大小、學習率(learning rate)、批次大小(batch size)與訓練步數(train step),每個階段完全對應內建模組,可按訓練目標調整。

模型訓練到模型預測等核心階段之超參數設定

▲ 圖11 CNN模型建置、模型訓練到模型預測等核心階段之超參數設定

 

CNN與OBIA的二刀流組合

eCognition的另一大優勢在於可直接整合其原生強大的物件式影像分析(OBIA)技術,OBIA的核心概念是將影像切割成許多區塊(又稱”影像物件”)作為分析單元,將網格資料物件化除了可明確萃取類別邊緣線外,更可進一步抑制預測結果中過度零碎的像元雜訊,與CNN之預測成果相輔相成,進一步提升邊界線之準確度。

結合OBIA與CNN預測結果進行分類

▲ 圖12 結合OBIA與CNN預測結果進行分類

 

在分類法的選擇上,CNN深度學習相較於知識導向(knowledge based)或監督式分類(supervised)等傳統分類方法更適合於複雜多樣的影像判釋任務,以本文為例,在傳統分類法中需明確定義可區分果樹、竹林與針闊葉混合林彼此的指標或特徵,縱使從肉眼可以很清楚地分辨出紋理的差異,卻不容易用有限的指標來描述並準則化;而CNN可從大量樣本中透過卷積、池化的技術提取到更多”抽象”的圖片特徵,並且在訓練過程中一次次自我調整、收斂至最佳的模型參數,因此在人工介入的程度明顯較傳統分析法低了許多,自動化程度明顯提升。

Knowledge Base SVM CNN
特徵選取 人工設定 人工設定 自動學習
特徵性質 給定明確特徵(指標) 給定明確特徵(指標) 圖片抽象化特徵
訓練樣本 較少 較多
模型表達力 低(準則化) 最高(隨深度增加)
判釋方法 人工設定門檻 機器學習 機器學習
硬體要求
自動化程度
判釋精度 視任務複雜度 視任務複雜度 較高

 

接續前例,將竹林區的預測熱度圖進一步搭配OBIA進行土地覆蓋分類,並於25平方公里影像範圍內以人工獨立標註500個均勻分布的點位作為驗證資料,整體精度達到81.89%(竹林區precision: 0.85、recall: 0.80、F1 score: 0.82);另外我們也以支持向量機(SVM)分析相同實驗區作為監督式分類法之對照組,選取灰度共生矩陣(GLCM)指標作為紋理特徵進行訓練(包含Energy、Entropy、Contrast、Homogeneity、ASM、Correlation),採用相同的驗證資料,計算出整體精度為69.71%,可以看出CNN與OBIA的搭配確實有較佳的分類精度。

eCognition物件式分析結合CNN的影像判釋成果

▲ 圖13 eCognition物件式分析結合CNN的影像判釋成果

 

分析能量進化,更高品質的服務

綜合以上所述,我們稍稍一窺在這波人工智慧浪潮下為遙測分析所帶來的效益是相當大的,當然除了林業調查之外,更可以應用在許多需要大範圍的資訊判讀,例如在自然災害的調查與評估上,我們曾經協助水保單位執行災後坡地崩塌範圍的快速偵測;也以變遷偵測的技術,幫助稅務單位萃取地籍坵塊上的新增建物作為課稅的依據,以及協助地方政府進行山坡地禁伐區的檢測作業。相信在引入深度學習的技術並結合既有的物件式影像分析,未來在更多的應用面皆可提供更快速的服務與更準確精緻的判釋成果。

多元應用

 

參考資料

[1] Swarnalatha P, Sevugan Prabu, 2018. “Big Data Analytics for Satellite Image Processing and Remote Sensing”. ISBN13: 9781522536437.
[2] 內政部「109、110年度三維國土形變及空間智能分析技術發展工作案」,蔡富安 張智安 史天元 黃智遠 曾國欣

 

更多有趣的地圖資訊都在「瑞竣科技 給您地圖新鮮事」,馬上Follow


Author
Hom 李宏君

瑞竣科技空間產品事業部技術副理,專長是遙測資料應用與空間資訊分析,喜歡戶外活動、挑戰體能。