近年來,卷積神經網絡(cnn)以其局部權值共享的特殊結構在語音識别和圖像處理等方面得到了快速發展,特别是大型圖像處理方面,更是表現出色,逐漸成為了行業内一個重要的技術選擇。
不過,好用并不代表萬能。這裡雷鋒網從一個衛星圖像分析的具體執行個體出發,介紹了cnn模組化和本地拉普拉斯濾波這兩種分析技術的效果對比,最終我們發現,本地拉普拉斯濾波的效果反而更好。
雷鋒網注:矢量資料和栅格資料都是地理資訊系統(gis)中常見的分析模型。其中栅格結構是以規則的陣列來表示空間地物或現象分布的資料組織,組織中的每個資料表示地物或現象的非幾何屬性特征。特點是屬性表現明顯,便于空間分析和地表模拟,但定位資訊隐含。而矢量資料結構是通過記錄坐标的方式盡可能精确地表示點、線和多邊形等地理實體,坐标空間設為連續,允許任意位置、長度和面積的精确定義。特點是定位資訊明确,但屬性資訊隐含。
得到栅格資料之後,下一步是利用caffe開源架構和cnn模型對系統進行訓練。如圖所示為cnn模型的一種參數設定。
cnn模型的一種參數設定
利用大量資料訓練得到的卷積神經網絡模型處理災後的圖像,識别出的受災房屋情況如圖所示(圖中白色色塊代表房屋,具體可對比後面拉普拉斯濾波的處理結果)。
cnn的分析結果,左圖為災前的圖像,右圖為災後的圖像
另一種方式是跨過gdal轉換,利用拉布拉斯濾波直接在矢量資料的基礎上進行分析。
具體方法是:對比災前和災後兩張圖像,識别房屋的變化和兩個圖像的重疊部分,進而對受災程度做出評估。本例中将對比門檻值設為10%,即如果災後圖像中某個房屋的面積小于災前面積的10%,那麼就判定這一房屋已經被損毀。
需要注意的是,這裡用到了兩個重要的濾波器。一個是拉普拉斯濾波,作用是識别出圖像中所有突出的不平整的部分(這裡即所有的房屋輪廓),然後将其标記并繪制出來。另一個是設定為10%的“噪聲”濾波,即對比災前和災後的圖像,按照10%的門檻值過濾出受災的房屋。
相比cnn的方法,這裡用到了該問題的一個獨特屬性,即房屋總是高于地面的,而且利用多邊形方塊可以清晰地标出其輪廓。
拉普拉斯濾波模型
如圖所示為 matlab 模組化的本地拉普拉斯濾波視窗,其中“img”變量為包含4個通道的原始圖像,其中除了rgb三原色通道外,還有一個額外的 alpha 通道,用來标明每個像素點的灰階資訊。而變量“img1”是與“img”完全相同的圖像,隻是被濾除了 alpha 通道。
拉普拉斯濾波結果,紅色色塊為房屋
opencv濾波模型
如圖所示是利用opencv開源計算機視覺庫實作的第二個濾波器,以及濾波結果,可以看到受災房屋被清晰地濾出了(相對cnn來說)。
opencv濾波結果
如圖所示為兩個濾波器的作用效果。
兩個濾波器的綜合作用結果
在輸出結論前,還需要将此時的濾波結果與災前圖像進行最後的對比,用14%的面積門檻值判定最終的受災房屋情況,以避免此前計算中引入的誤差。
14%面積的門檻值判定
如圖所示,其中黃色為拉普拉斯濾波的結果,綠色為災前圖像。
識别出受損房屋之後,借助災前osm資料庫的幫助,還可以通過qgis工具友善地導出每間受損房屋的位址清單資訊。具體步驟是:首先将災前osm資料導入qgis平台最為底層資訊,然後導入之前的分析結果,通過對比得到受損房屋的具體位置,然後導入一份xml格式的拓撲結構說明檔案,接着利用spatialite資料庫管理平台就能根據需要導出一份具體房屋和位址相對應的清單資訊。
利用 qgis 和 spatialite 導出位址清單
最終對比發現,以cnn技術為核心的受災房屋識别準确率隻有78%,而拉布拉斯濾波則高達96.3%。另外,拉布拉斯濾波的這一優勢在災前建築的識别上也得到了延續,其正常建築的識别準确率高達97.9%,而相比之下cnn隻有93%。到這裡結論已經很明顯了:基于平整度識别的拉普拉斯濾波最終效果要優于基于大資料訓練的cnn卷積神經網絡。
需要指出的是,上文提到的拉普拉斯濾波法的重要意義并不局限于其技術實作本身,這種根據特殊問題采取特殊處理方法的應對政策,也同樣值得我們思考。
本文作者:恒亮