王莉莉,黃鐸,王偉,巧云,張曉東
(內(nèi)蒙古師范大學(xué)青年政治學(xué)院,內(nèi)蒙古呼和浩特 010051)
地質(zhì)災(zāi)害屬于自然災(zāi)害,它的發(fā)生不僅會給一個國家或個人的經(jīng)濟(jì)帶來不可估量的損失,也會極大地破壞人們的穩(wěn)定生活。近年來,深度學(xué)習(xí)技術(shù)廣泛應(yīng)用于圖像視覺領(lǐng)域,它可以自主學(xué)習(xí)圖像特征,不用人工構(gòu)建,無須進(jìn)行復(fù)雜的圖像特征提取,從而可以得到更高的分類準(zhǔn)確率。
因此,本文選取深度學(xué)習(xí)中的CNN模型應(yīng)用于地質(zhì)災(zāi)害分類識別中,重點研究崩塌、滑坡、泥石流、地面塌陷四種大青山地區(qū)常見的地質(zhì)災(zāi)害分類,利用深度學(xué)習(xí)框架VGG-16構(gòu)建模型,提出一種基于CNN的地質(zhì)災(zāi)害圖像智能分類識別的方法,解決目前災(zāi)害分類的準(zhǔn)確度和時效性不足的問題,從而提高大青山地區(qū)地質(zhì)災(zāi)害監(jiān)測技術(shù)的智能化。
大青山坐落于陰山山脈中段,東起呼和浩特大黑河上游,西至包頭昆都侖河。東西長約240公里,海拔2000 米左右,是祖國北疆安全穩(wěn)定屏障。一直以來,大青山山脈呼和浩特市和包頭市境內(nèi)礦山企業(yè)開發(fā)頻繁,造成嚴(yán)重的生態(tài)環(huán)境問題。因此,保護(hù)大青山,研究大青山地區(qū)地質(zhì)災(zāi)害識別方法,對降低大青山地質(zhì)災(zāi)害的發(fā)生具有重要作用。
1.1.1 數(shù)據(jù)的搜集
本實驗選取內(nèi)蒙古大青山地區(qū)常見的四種地質(zhì)災(zāi)害崩塌、滑坡、泥石流、地面塌陷構(gòu)建數(shù)據(jù)集。數(shù)據(jù)來源包括人工采集、無人機(jī)采集、互聯(lián)網(wǎng)Python爬取、雷達(dá)圖像等。
1.1.2 數(shù)據(jù)處理的方法
為了能滿足VGG-16 模型對訓(xùn)練數(shù)據(jù)的要求,原始數(shù)據(jù)需要首先進(jìn)行預(yù)處理,本項目利用Python中的Pandas、CV2和PIL庫對自然災(zāi)害圖像進(jìn)行預(yù)處理,包括使用庫中的方法對圖像進(jìn)行縮放、裁剪、旋轉(zhuǎn)等處理,將圖像轉(zhuǎn)換為模型訓(xùn)練需要的格式[1],使數(shù)據(jù)標(biāo)準(zhǔn)統(tǒng)一化,進(jìn)一步擴(kuò)充數(shù)據(jù)集,為VGG-16 模型的訓(xùn)練提供支持。
1.2.1 深度學(xué)習(xí)
深度學(xué)習(xí)的本質(zhì)就是一個深層神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)一般分為三層,分別是輸入層、隱含層和輸出層。神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)的本質(zhì)是根據(jù)輸入的數(shù)據(jù)和結(jié)果之間的差異來動態(tài)地調(diào)整神經(jīng)元間連接的權(quán)重值。當(dāng)訓(xùn)練開始時,訓(xùn)練數(shù)據(jù)會依托正向傳播算法、反向傳播算法和梯度下降法,通過調(diào)整各層之間的激活值和神經(jīng)元之間的連接權(quán)重值,實現(xiàn)對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。
對于本文研究的四類地質(zhì)災(zāi)害圖像,神經(jīng)網(wǎng)絡(luò)需要計算其屬于某個類別的概率,再將神經(jīng)網(wǎng)絡(luò)給出的概率搜集起來,找出其中概率的最大值即作為網(wǎng)絡(luò)分類識別的結(jié)果。
1.2.2 卷積神經(jīng)網(wǎng)絡(luò)
CNN 主要用于圖像分類識別與目標(biāo)定位。CNN主要由卷積、激活函數(shù)、池化、分類器組成。其中卷積的功能就是特征提取,把圖像中符合條件的特征篩選出來。激活函數(shù)的存在主要是提升網(wǎng)絡(luò)表達(dá)能力。池化又被稱為下采樣,其作用是將卷積層提取的特征圖進(jìn)行降維。在深度學(xué)習(xí)中,分類器用來判別一個新樣本所屬類別。
卷積神經(jīng)網(wǎng)絡(luò)具有三大核心思想:局部感知、權(quán)值共享以及下采樣[2]。局部感知通過改變神經(jīng)元的連接來實現(xiàn)。權(quán)值共享是用一個卷積核去掃描輸入圖片,卷積核里面的數(shù)稱為權(quán)重,這張圖每個位置是被同樣的卷積核掃描的,所以權(quán)重是一樣的,也就是共享[2]。下采樣主要通過池化技術(shù)對圖像進(jìn)行縮小,減少圖像像素,減少計算量[2],加快運算速度,從而減少卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練階段出現(xiàn)過擬合的可能性。
1.2.3 VGG-16網(wǎng)絡(luò)模型
本研究使用的CNN 模型為VGG-16 和Tensor-Flow 2.0框架。VGG-16是一個卷積神經(jīng)網(wǎng)絡(luò)框架,如圖1 所示。TensorFlow 2.0 則是由Google 公司開發(fā)的一種通用的神經(jīng)網(wǎng)絡(luò)框架。
圖1 VGG-16的網(wǎng)絡(luò)結(jié)構(gòu)
1)VGG-16模型由13個卷積層和3個全連接層構(gòu)成。卷積層負(fù)責(zé)提取輸入圖像的特征,卷積層之間周期性地插入池化層,該層對卷積層所提取的信息進(jìn)行進(jìn)一步降維,減少計算量。最后的3層全連接層負(fù)責(zé)完成分類任務(wù)。
2) 模型通道數(shù)分別為64、128、512、512、512、4 096、4 096、1 000。卷積層通道數(shù)翻倍,直到512 時不再增加。通道數(shù)的增加使更多的信息被提取出來。全連接的4 096是經(jīng)驗值,當(dāng)然也可以是別的數(shù),但是不要小于最后的類別[3]。1 000表示要分類的類別數(shù)。
3)所有隱含層的激活函數(shù)都使用Relu函數(shù)。
4)用池化層作為分界,VGG-16共有6個塊結(jié)構(gòu),每個塊結(jié)構(gòu)中的通道數(shù)相同。
5)所有輸出層的分類函數(shù)都使用Softmax函數(shù)。
本項目實驗所用操作系統(tǒng)為Windows10,編程語言為Python,使用開源深度學(xué)習(xí)框架TensorFlow 2.0作為主要搭建網(wǎng)絡(luò)工具,并依賴于Anaconda3、Jupyter、Keras等訓(xùn)練模型。
本項目選擇采用Tensorflow深度學(xué)習(xí)框架進(jìn)行模型的訓(xùn)練和預(yù)測,并對新的自然災(zāi)害圖像進(jìn)行分類。下面是本項目實驗步驟:
1)構(gòu)建數(shù)據(jù)集
對原始數(shù)據(jù)進(jìn)行分割,分為訓(xùn)練集和測試集。將80%的數(shù)據(jù)用作訓(xùn)練集,用于訓(xùn)練模型;另外20%的數(shù)據(jù)用作測試集,用于評估模型的準(zhǔn)確性。這樣可以避免模型過擬合,同時也可以確保模型的泛化能力,即在對未見過的數(shù)據(jù)進(jìn)行分類時,模型的準(zhǔn)確性依然能夠得到保證。
2)圖像預(yù)處理
對圖像數(shù)據(jù)進(jìn)行預(yù)處理,以便使其符合VGG-16模型的輸入要求。本文使用Python 的CV2、Pandas 和PIL庫進(jìn)行圖像的預(yù)處理。預(yù)處理的方法包括圖像的縮放、裁剪、旋轉(zhuǎn)、平移、歸一化等,這樣可以增加數(shù)據(jù)的多樣性和數(shù)量,從而提高模型的性能[4]。
3)卷積層進(jìn)行特征提取
卷積層用于提取輸入圖像的特征信息,每個卷積層都包含多個卷積核,每個卷積核可以在輸入圖像上滑動并提取特定的特征。通過不同大小的卷積核和不同數(shù)量的卷積核,每個卷積層可以提取出不同的特征。因此,VGG-16 的卷積層的作用是在不同的層次上提取輸入圖像的抽象特征。通過多個卷積層和池化層的堆疊,VGG-16 可以逐步提取出越來越高級的特征,從而實現(xiàn)對輸入圖像的有效表示和分類。
4)池化層篩選最大特征
池化層通常放置在兩個卷積層之間。每個池化層都使用2×2的池化窗口,步長為2,因此可以將特征圖的尺寸減小一半。VGG-16的池化層是對卷積特征圖進(jìn)行下采樣,減小特征圖的維度和參數(shù)數(shù)量,從而提高計算效率,降低模型過擬合的風(fēng)險。圖像經(jīng)過卷積和池化處理后,得到的特征圖被展開成一個向量,傳遞到全連接層。
5)全連接層輸出概率值
全連接層由3 層組成,這些全連接層通過非線性激活函數(shù)(如Relu)將特征向量轉(zhuǎn)換為一系列輸出,最終輸出每個類別的概率值。在VGG-16中,全連接層共包含3 層,最后一層為Softmax 層,將輸出映射為概率值,表示圖像屬于崩塌、滑坡、泥石流、地面塌陷不同類別的概率。
6)數(shù)據(jù)可視化
數(shù)據(jù)可視化可以幫助研究者掌握模型訓(xùn)練過程中各項指標(biāo)的變化,以便更好地理解模型的性能和表現(xiàn),從而更好地評估模型的性能。
本文選取準(zhǔn)確率ACC、召回率Recall、精確率Pre、綜合評價F1四個評價指標(biāo)對災(zāi)害識別模型的性能進(jìn)行評價。準(zhǔn)確率(ACC)是衡量整體識別精度的指標(biāo),即預(yù)測正確的樣本比例。召回率(Rec)是衡量陽性樣本覆蓋率的指標(biāo),即正確分類的陽性樣本占總陽性樣本的比例。精確率(Pre)表示被分類為正例的樣本,即正例的比例。F1 值是一個綜合指標(biāo),它是精確度和召回率的調(diào)和平均[5-6]。
經(jīng)過3 000次的訓(xùn)練后,模型的各項指標(biāo)均穩(wěn)定在0.92 左右,說明此時模型的準(zhǔn)確率已經(jīng)預(yù)期效果,具體如圖2所示。
圖2 模型評價指標(biāo)圖
結(jié)果顯示,深度學(xué)習(xí)框架VGG-16 在內(nèi)蒙古大青山地區(qū)自然災(zāi)害圖像分類中有很好的表現(xiàn),取得了較高的準(zhǔn)確率。這表明,使用卷積神經(jīng)網(wǎng)絡(luò)技術(shù)對自然災(zāi)害圖像進(jìn)行分類、識別和預(yù)測是可行的,但仍有許多需要解決的問題,例如,模型在特定場景下的預(yù)測表現(xiàn)可能會受到限制,這需要對模型進(jìn)行更深入的研究和優(yōu)化。同時,也需要更多的數(shù)據(jù)支持來提高模型的魯棒性。綜上所述,深度學(xué)習(xí)在自然災(zāi)害圖像分類和預(yù)測方面具有很大潛力,在未來可以為自然災(zāi)害預(yù)防和應(yīng)急響應(yīng)方面做出貢獻(xiàn)。