近年來,,卷積神經(jīng)網(wǎng)絡(luò)(CNN)以其局部權(quán)值共享的特殊結(jié)構(gòu)在語音識別和圖像處理等方面得到了快速發(fā)展,,特別是大型圖像處理方面,,更是表現(xiàn)出色,逐漸成為了行業(yè)內(nèi)一個重要的技術(shù)選擇,。 不過,,好用并不代表萬能。這里雷鋒網(wǎng)從一個衛(wèi)星圖像分析的具體實例出發(fā),,介紹了CNN建模和本地拉普拉斯濾波這兩種分析技術(shù)的效果對比,,最終我們發(fā)現(xiàn),本地拉普拉斯濾波的效果反而更好,。 卷積神經(jīng)網(wǎng)絡(luò)為了從衛(wèi)星圖像中分析和評估一項自然災(zāi)害造成的損失,,首先需要得到相關(guān)地理區(qū)域?qū)崟r的高分辨率的衛(wèi)星圖像,這是進行后續(xù)所有分析的數(shù)據(jù)基礎(chǔ),。目前,,除了Google Earth之外,最方便也最經(jīng)濟的數(shù)據(jù)來源就是OSM(OpenStreetMap)開源地圖計劃,。該計劃于2004年在美國創(chuàng)立,,類似于維基百科,,鼓勵全球用戶自由無障礙地分享和使用地理位置數(shù)據(jù)。 由于OSM提供的是矢量數(shù)據(jù)(Vector Data),,為了便于空間分析和地表模擬,,因此需要利用GDAL(Geospatial Data Abstraction Library)庫中的 gdal_rasterize 工具將其轉(zhuǎn)化為柵格數(shù)據(jù)(Raster Data)。 雷鋒網(wǎng)注:矢量數(shù)據(jù)和柵格數(shù)據(jù)都是地理信息系統(tǒng)(GIS)中常見的分析模型,。其中柵格結(jié)構(gòu)是以規(guī)則的陣列來表示空間地物或現(xiàn)象分布的數(shù)據(jù)組織,,組織中的每個數(shù)據(jù)表示地物或現(xiàn)象的非幾何屬性特征。特點是屬性表現(xiàn)明顯,,便于空間分析和地表模擬,,但定位信息隱含。而矢量數(shù)據(jù)結(jié)構(gòu)是通過記錄坐標的方式盡可能精確地表示點,、線和多邊形等地理實體,,坐標空間設(shè)為連續(xù),允許任意位置,、長度和面積的精確定義,。特點是定位信息明確,但屬性信息隱含,。 得到柵格數(shù)據(jù)之后,,下一步是利用Caffe開源框架和CNN模型對系統(tǒng)進行訓(xùn)練。如圖所示為CNN模型的一種參數(shù)設(shè)置,。 CNN模型的一種參數(shù)設(shè)置 利用大量數(shù)據(jù)訓(xùn)練得到的卷積神經(jīng)網(wǎng)絡(luò)模型處理災(zāi)后的圖像,識別出的受災(zāi)房屋情況如圖所示(圖中白色色塊代表房屋,,具體可對比后面拉普拉斯濾波的處理結(jié)果),。 CNN的分析結(jié)果,,左圖為災(zāi)前的圖像,右圖為災(zāi)后的圖像 拉普拉斯濾波另一種方式是跨過GDAL轉(zhuǎn)換,,利用拉布拉斯濾波直接在矢量數(shù)據(jù)的基礎(chǔ)上進行分析,。 具體方法是:對比災(zāi)前和災(zāi)后兩張圖像,識別房屋的變化和兩個圖像的重疊部分,,從而對受災(zāi)程度做出評估,。本例中將對比閾值設(shè)為10%,即如果災(zāi)后圖像中某個房屋的面積小于災(zāi)前面積的10%,,那么就判定這一房屋已經(jīng)被損毀,。 需要注意的是,這里用到了兩個重要的濾波器,。一個是拉普拉斯濾波,,作用是識別出圖像中所有突出的不平整的部分(這里即所有的房屋輪廓),,然后將其標記并繪制出來。另一個是設(shè)置為10%的“噪聲”濾波,,即對比災(zāi)前和災(zāi)后的圖像,,按照10%的閾值過濾出受災(zāi)的房屋。 相比CNN的方法,,這里用到了該問題的一個獨特屬性,,即房屋總是高于地面的,而且利用多邊形方塊可以清晰地標出其輪廓,。 拉普拉斯濾波模型 如圖所示為 Matlab 建模的本地拉普拉斯濾波窗口,其中“img”變量為包含4個通道的原始圖像,,其中除了RGB三原色通道外,,還有一個額外的 Alpha 通道,用來標明每個像素點的灰度信息,。而變量“img1”是與“img”完全相同的圖像,,只是被濾除了 Alpha 通道,。 拉普拉斯濾波結(jié)果,紅色色塊為房屋 OpenCV濾波模型 如圖所示是利用OpenCV開源計算機視覺庫實現(xiàn)的第二個濾波器,,以及濾波結(jié)果,可以看到受災(zāi)房屋被清晰地濾出了(相對CNN來說),。 OpenCV濾波結(jié)果 如圖所示為兩個濾波器的作用效果。 兩個濾波器的綜合作用結(jié)果 在輸出結(jié)論前,,還需要將此時的濾波結(jié)果與災(zāi)前圖像進行最后的對比,用14%的面積閾值判定最終的受災(zāi)房屋情況,,以避免此前計算中引入的誤差,。 14%面積的閾值判定 如圖所示,,其中黃色為拉普拉斯濾波的結(jié)果,,綠色為災(zāi)前圖像。 識別出受損房屋之后,,借助災(zāi)前OSM數(shù)據(jù)庫的幫助,,還可以通過QGIS工具方便地導(dǎo)出每間受損房屋的地址列表信息。具體步驟是:首先將災(zāi)前OSM數(shù)據(jù)導(dǎo)入QGIS平臺最為底層信息,,然后導(dǎo)入之前的分析結(jié)果,,通過對比得到受損房屋的具體位置,,然后導(dǎo)入一份XML格式的拓撲結(jié)構(gòu)說明文件,接著利用SpatiaLite數(shù)據(jù)庫管理平臺就能根據(jù)需要導(dǎo)出一份具體房屋和地址相對應(yīng)的列表信息,。 利用 QGIS 和 SpatiaLite 導(dǎo)出地址列表 最終對比發(fā)現(xiàn),以CNN技術(shù)為核心的受災(zāi)房屋識別準確率只有78%,,而拉布拉斯濾波則高達96.3%,。另外,拉布拉斯濾波的這一優(yōu)勢在災(zāi)前建筑的識別上也得到了延續(xù),,其正常建筑的識別準確率高達97.9%,,而相比之下CNN只有93%。到這里結(jié)論已經(jīng)很明顯了:基于平整度識別的拉普拉斯濾波最終效果要優(yōu)于基于大數(shù)據(jù)訓(xùn)練的CNN卷積神經(jīng)網(wǎng)絡(luò),。 需要指出的是,,上文提到的拉普拉斯濾波法的重要意義并不局限于其技術(shù)實現(xiàn)本身,這種根據(jù)特殊問題采取特殊處理方法的應(yīng)對策略,,也同樣值得我們思考,。 來源:medium,由雷鋒網(wǎng)編譯 |
|