楊靛青,毛艷萍
(福州大學(xué) 經(jīng)濟(jì)與管理學(xué)院,福建 福州 350116)
先前,利用專業(yè)人員對無人機(jī)航拍圖片判斷滑坡險情[1]的方法來代替人工巡檢,但航拍采集的圖片數(shù)據(jù)量較大,并且無人機(jī)航拍過程容易受干擾導(dǎo)致圖片不清晰、模糊等問題,使得存在誤判或漏檢的情況[2]。因此,利用機(jī)器學(xué)習(xí)方法自動識別航拍圖片的滑坡險情是及時準(zhǔn)確發(fā)現(xiàn)滑坡災(zāi)害點(diǎn)、提高應(yīng)急搶險速度的有效途徑。但傳統(tǒng)機(jī)器學(xué)習(xí)方法的泛化性、實(shí)時性以及精度已無法滿足當(dāng)前需求,而基于深度學(xué)習(xí)的目標(biāo)檢測算法能夠改善這些方面的不足。目前基于深度學(xué)習(xí)的目標(biāo)檢測方法分為兩類:一是以YOLO與SSD算法為主One-Stage目標(biāo)檢測算法,檢測速度快,實(shí)時性更有優(yōu)勢;二是以Faster R-CNN算法為主的Two-Stage目標(biāo)檢測算法,精確度以及定位更加的準(zhǔn)確,小目標(biāo)檢測更為穩(wěn)定[3]。由于只有準(zhǔn)確地識別滑坡目標(biāo),進(jìn)一步的救援措施才是有效的,否則定位的錯誤不僅使險情無法及時的解決,還會產(chǎn)生新的隱患。因此,本文基于Faster R-CNN算法的目標(biāo)檢測模型進(jìn)行研究,針對無人機(jī)航拍圖像環(huán)境復(fù)雜、滑坡目標(biāo)區(qū)域較小等情況,提出結(jié)合深度殘差收縮網(wǎng)絡(luò)DRSN-CW的Faster R-CNN模型,減小由于航拍圖像中滑坡目標(biāo)區(qū)域較小而導(dǎo)致周圍較多冗余信息的噪聲干擾,改善復(fù)雜環(huán)境下漏檢現(xiàn)象,提升滑坡目標(biāo)的檢測精度。
Faster R-CNN是Ross B. Girshick等在Fast R-CNN基礎(chǔ)上提出的目標(biāo)檢測算法。Faster R-CNN是對Fast R-CNN的優(yōu)化,兩者在感興趣區(qū)域生成方法上存在區(qū)別,F(xiàn)ast R-CNN是選擇性搜索而Faster R-CNN采用RPN(region proposal network)結(jié)構(gòu)生成候選框,從而實(shí)現(xiàn)高精度檢測性能。Faster R-CNN算法主要分為特征提取(feature extraction)、區(qū)域候選網(wǎng)絡(luò)(region proposal network)、ROI Pooling以及分類回歸4個部分,將4個部分整合到一個網(wǎng)絡(luò)中,促使綜合性能得到較大提升。該算法可分為3個步驟:
(1)首先,將圖片輸入到主干特征提取網(wǎng)絡(luò),得到相應(yīng)的特征圖;
(2)其次,采用區(qū)域候選網(wǎng)絡(luò)結(jié)構(gòu)生成候選框,將生成的候選框映射到相應(yīng)的特征圖上,從而獲得相應(yīng)的特征矩陣;
(3)最后,將每個特征矩陣通過池化感興趣區(qū)域(ROI pooling)層縮放到7*7大小的特征圖;再進(jìn)行展平處理后通過一系列全連接層,利用Softmax得到目標(biāo)類別預(yù)測概率,同時利用損失函數(shù)(smooth L1 loss)完成邊界框回歸獲得目標(biāo)的精確位置。
為了獲取深層次的特征,卷積神經(jīng)網(wǎng)絡(luò)的卷積層數(shù)需不斷增加,但隨之帶來了識別網(wǎng)絡(luò)模型訓(xùn)練效率低、梯度消失、準(zhǔn)確率下降等問題。因此,微軟研究院的何愷明等人提出殘差網(wǎng)絡(luò)(ResNet),通過引入跨層連接,直接將輸入信息繞道傳到輸出,顯著降低了模型訓(xùn)練的難度,極大改善了網(wǎng)絡(luò)深度的增加而帶來的梯度消失的問題,達(dá)到較好的訓(xùn)練效果。
假設(shè)輸入樣本為x時,期望輸出H(x) 是網(wǎng)絡(luò)學(xué)習(xí)到的特征。在傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò),H(x) 是通過直接學(xué)習(xí),輸入x映射到輸出。而殘差網(wǎng)絡(luò)學(xué)習(xí)的是F(x)=H(x)-x, 即輸出值H(x) 與輸入值x的殘差。當(dāng)學(xué)習(xí)達(dá)到近似的準(zhǔn)確率,也就是F(x) 足夠小時,輸出H(x) 就近似等于x, 則x為恒等映射。殘差模塊結(jié)構(gòu)如圖1所示。
圖1 殘差模塊結(jié)構(gòu)
SENet是典型的注意力算法之一,SENet通過學(xué)習(xí)的方式來自主地獲取每個通道的重要程度,再依照這個重要程度來提升與目標(biāo)任務(wù)有關(guān)的特征信息抑制無關(guān)的特征。
SENet算法可分為3個步驟。首先,Squeeze(壓縮)操作是把C個H*W的特征圖通過全局平均池化壓縮成C的1*1的實(shí)數(shù)列,而這一維參數(shù)能夠獲得更廣的感受野區(qū)域。其次,Excitation(激勵)操作將壓縮后的1*1*C的向量經(jīng)過兩個全連接層,再使用Sigmoid函數(shù)對每個特征通道的重要度進(jìn)行預(yù)測,得到不同通道的重要性權(quán)重;最后,對于C個H*W的每個元素乘以對應(yīng)通道的權(quán)重,得到新的特征圖。
殘差模式下的Squeeze-and-Excitation模塊如圖2所示,將上述殘差模塊與SENet網(wǎng)絡(luò)結(jié)合在一起,在這個結(jié)構(gòu)中,殘差結(jié)構(gòu)的恒等路徑,能夠促使SENet注意力機(jī)制訓(xùn)練更為容易,并且根據(jù)樣本特征圖自身特點(diǎn)的不同而獲得不同的通道權(quán)值,具有自適應(yīng)能力。
圖2 殘差模式下的Squeeze-and-Excitation模塊
為了能夠解決對無人機(jī)回傳的實(shí)時險情圖片因復(fù)雜環(huán)境、滑坡目標(biāo)區(qū)域面積較小等問題,本文提出了基于Faster R-CNN與DRSN-CW的滑坡險情目標(biāo)識別。主要有以下操作:①在預(yù)處理階段,由于險情天氣、地勢原因以及無人機(jī)自身的抖動、姿勢,可能造成圖片昏暗、噪聲以及模糊等問題,對圖片進(jìn)行預(yù)處理是必不可少的,利用Gamma變換調(diào)整圖片的亮度,再通過高斯濾波方法,減少噪聲促使圖像質(zhì)量提升;②在訓(xùn)練階段利用GN(group norma-lization)群組歸一化方法替換BN(batch normalization),解決由于無人機(jī)航拍圖像的尺寸較大而顯存有限batchsize取值較小的影響;③提出結(jié)合深度殘差收縮網(wǎng)絡(luò)DRSN-CW的Faster R-CNN算法,能夠通過閾值化制定較小的系數(shù)來抑制滑坡目標(biāo)無關(guān)區(qū)域的干擾,減少噪聲以及冗余信息,能夠提高對滑坡目標(biāo)物體的定位,可解決滑坡漏檢的問題。因此,本文改進(jìn)的Faster R-CNN的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,其中RSBU-CW為逐通道不同閾值的深度殘差收縮網(wǎng)絡(luò)DRSN-CW中的殘差收縮模塊。
圖3 改進(jìn)的Faster R-CNN的網(wǎng)絡(luò)結(jié)構(gòu)
圖像預(yù)處理是圖像識別的重要環(huán)節(jié),圖像質(zhì)量的好壞,直接影響著對目標(biāo)物體識別。由于無人機(jī)航拍所處的險情環(huán)境較為復(fù)雜,在圖片采集中容易受到飛行的軌跡以及姿勢、高空氣流導(dǎo)致抖動等影響,再加上天氣自身原因的綜合作用,導(dǎo)致圖片可能存在噪聲干擾、模糊昏暗、亮度不足或曝光等問題,因此需對圖像進(jìn)行預(yù)處理,能夠提高圖片的質(zhì)量,更適用于后續(xù)目標(biāo)識別的研究。
圖像增強(qiáng)是一項(xiàng)預(yù)處理技術(shù),能夠改善圖像的視覺效果,去除噪聲、提高圖片亮度、對比度等,使圖中的目標(biāo)更為明顯,有利于后續(xù)工作的進(jìn)行。因此,本文采用Gamma變化將無人機(jī)航拍圖像進(jìn)行處理,計算亮度的均值和方差,自適應(yīng)的調(diào)整Gamma值,對于亮度過高的圖片適當(dāng)?shù)恼{(diào)低,亮度過低的圖片適當(dāng)調(diào)高;同時,利用高斯濾波去除噪聲,高斯濾波能夠減少高斯噪聲給圖片帶來的干擾,性能較好,并且能夠?qū)D片細(xì)節(jié)保留方面較為出色。
2.1.1 Gamma變換
Gamma變換是通過非線性變換來進(jìn)行矯正,讓過暗、曝光的圖像轉(zhuǎn)換成更為清晰、更能被識別的圖像。當(dāng)γ>1時,較亮的區(qū)域灰度被拉伸,較暗的區(qū)域被壓縮,圖像整體變暗;當(dāng)γ<1時,較亮的區(qū)域灰度被壓縮,較暗的區(qū)域灰度被拉伸,圖像整體變亮。Gamma變換能對無人機(jī)航拍圖像出現(xiàn)的亮度問題進(jìn)行調(diào)整,提高圖像的質(zhì)量。Gamma變換的公式如下
Vout=AVinγ
(1)
其中,A為常數(shù),通常取1;Vin∈[0,1]。
2.1.2 高斯濾波
高斯濾波能夠減少無人機(jī)航拍圖像的高斯噪聲帶來的干擾,并保留更多的圖片細(xì)節(jié)。高斯濾波廣泛地被采用在圖像處理中進(jìn)行降噪過程中,主要適用于高斯噪聲的消除。高斯濾波的操作是對圖片進(jìn)行加權(quán)平均的過程,用濾波器模板與每個像素點(diǎn)進(jìn)行卷積運(yùn)算,由其本身與鄰域內(nèi)其它像素點(diǎn)平均加權(quán)后得到的結(jié)果。一維及二維高斯濾波公式如下
(2)
(3)
其中,(x,y) 為目標(biāo)像素,σ為標(biāo)準(zhǔn)差。
2.1.3 圖片增強(qiáng)效果
圖片增強(qiáng)效果如圖4所示,經(jīng)過上文闡述的Gamma變化以及高斯濾波兩種預(yù)處理方法后,可以從圖4明顯看出提高了圖像的質(zhì)量。首先,對于圖(a)為無人機(jī)航拍的險情原圖,存在暗沉、模糊等問題;再經(jīng)過Gamma變化,圖(b)顏色的對比度發(fā)生了明顯變化,更能夠看清圖像中的滑坡目標(biāo),但仍存在不夠清晰的問題;最后,通過高斯濾波去除干擾噪聲,生成的圖(c)能夠進(jìn)一步提高圖像質(zhì)量。
圖4 圖片增強(qiáng)效果
批處理歸一化(BN)已經(jīng)普遍存在于許多基于深度學(xué)習(xí)的模型網(wǎng)絡(luò)中,特別在圖像識別領(lǐng)域。通過計算平均值和方差來規(guī)范化層輸入,從而導(dǎo)致模型容易訓(xùn)練。而BN層在訓(xùn)練過程中需要在batchsize上計算中間統(tǒng)計量,導(dǎo)致BN嚴(yán)重依賴于batchsize大小的影響。當(dāng)batchsize較小時,會受到干擾導(dǎo)致BN無法正確估計當(dāng)前batch的均值和方差,會造成模型誤差明顯增加,惡化其性能。
但由于本文針對于無人機(jī)航拍的圖像,輸入圖片的尺寸較大,由于顯存受限,需要對batchsize進(jìn)行調(diào)小,這樣導(dǎo)致BN的不足顯現(xiàn),因此本文采用組歸一化方法(GN)來替代批處理歸一化(BN)。GN的計算與batchsize無關(guān),消除batchsize的影響來實(shí)現(xiàn)歸一化。對于高精度圖片小batchsize的情況效果更好,在batchsize不同時性能是一致的,減小了BN的缺陷。
GN計算均值和標(biāo)準(zhǔn)差時,把每一個樣本特征圖的通道劃分成多個組,再計算每個 (C/G)HW內(nèi)的均值和方法,各組通道用其對應(yīng)的歸一化參數(shù)獨(dú)立地進(jìn)行歸一化
(4)
(5)
(6)
其中,ε是個很小的數(shù)用于防止前式中分母為0。
滑坡區(qū)域相對于泥石流等險情面積較小,在一張無人機(jī)航拍的滑坡險情圖像中,存在較少部分為滑坡目標(biāo),圖像中則包含較多與滑坡目標(biāo)無關(guān)的區(qū)域。對于這些區(qū)域就是冗余信息,會干擾對滑坡物體識別,需要盡可能地減小這些與當(dāng)前任務(wù)無關(guān)的特征信息對模型的噪聲干擾,如何減小噪聲的干擾是成為影響模型目標(biāo)檢測的重要問題。
而軟閾值是降噪方法的核心步驟[4]。它的作用是將絕對值低于某閾值的特征設(shè)置為零,則其它特征照著0進(jìn)行調(diào)整,即達(dá)到收縮的作用。并且,由于軟閾值函數(shù)求導(dǎo)后梯度只有0和1,也避免了梯度爆炸以及消失的問題。閾值是需要設(shè)置的參數(shù)并對降噪的結(jié)果影響較大,而一個合適的軟閾值需要不斷的調(diào)試,不具有自學(xué)習(xí)能力。因此,深度殘差收縮網(wǎng)絡(luò)將軟閾值作為收縮層引入殘差網(wǎng)絡(luò)中,借助注意力機(jī)制,根據(jù)各特征圖的特點(diǎn)自適應(yīng)地設(shè)置不同的閾值,形成一種有效消除無關(guān)特征信息以及噪聲的方式;其轉(zhuǎn)化函數(shù)以及偏導(dǎo)函數(shù)如下
(7)
(8)
其中,τ為閾值,是一個正數(shù),x是輸入特征,y是輸出特征。
從公式上可看出,輸入特征x在 [-τ,τ] 區(qū)間內(nèi)都會被置為0,將τ大于的輸入特征x減τ, 將小于-τ的輸入特征x加τ, 向中心收縮,其偏導(dǎo)數(shù)取值只為 0或1,有利于訓(xùn)練梯度的反向傳播,ReLU激活函數(shù)也同時具有此特征。但ReLU激活函數(shù)直接將負(fù)值設(shè)置為0,而軟閾值只將 [-τ,τ] 這一區(qū)間特征置為0,能夠保留有用的負(fù)值特征,根據(jù)自身的情況,自動進(jìn)行調(diào)整,更加地靈活對待置0區(qū)間,更具有擴(kuò)展性。
一個深度殘差收縮網(wǎng)絡(luò)DRSN-CW的模塊結(jié)構(gòu)如圖5所示,其中框中為軟閾值學(xué)習(xí)模塊。該學(xué)習(xí)模塊先對輸入的特征圖所有特征x取絕對值,再經(jīng)過全局平均池化(golbal average pooling)得到一個特征A;同時,將經(jīng)過GAP后的輸出結(jié)果進(jìn)行兩次全連接層,再經(jīng)過Sigmoid函數(shù)將結(jié)果映射到0-1之間,獲得一個系數(shù)λi(i=1,2,…,n), 公式如下
圖5 深度殘差收縮網(wǎng)絡(luò)模塊
λi=1/(1+e-ωi)i=1,2…,n
(9)
其中,ωi為最后一層全連接網(wǎng)絡(luò)第i神經(jīng)元的輸出值,λi為歸一化的結(jié)果。
最后,將分別得到的A和λi相乘,得到自動學(xué)習(xí)到的軟閾值結(jié)果,公式如下
τi=λi*A
(10)
其中,τi為特征圖第i個通道的閾值,A為特征圖經(jīng)過全局平均池化的結(jié)果。
深度殘差收縮網(wǎng)絡(luò)通過各種非線性變化來學(xué)習(xí)到判別特征,消除無關(guān)特征的干擾。若樣本的不同,則產(chǎn)生的閾值也不同,靈活地對目標(biāo)任務(wù)噪聲信息進(jìn)行抑制。在一定程度上,可以理解成特殊的注意力機(jī)制,對于當(dāng)前目標(biāo)無關(guān)特征可通過閾值化將它們設(shè)置為0來進(jìn)行抑制,該網(wǎng)絡(luò)能夠更好地適用當(dāng)前滑坡目標(biāo)檢測任務(wù)。
在Ubuntu 20.04操作系統(tǒng)上搭建CPU使用Intel(R)Core(TM)i5-1035G1,GPU為Nvidia TITAN Xp,使用python3.7編程開發(fā)語言,采用pytorch 1.7.1和torchvision 0.8.1。
本文采用F1分?jǐn)?shù)與平均準(zhǔn)確率mAP來對模型進(jìn)行評價,F(xiàn)1-score與AP是對準(zhǔn)確率P和召回率R的綜合評價,而由TP、FP、FN計算公式可得到準(zhǔn)確率P和召回率R
(11)
(12)
公式中TP是指所預(yù)測得到目標(biāo)類別和實(shí)際定義的目標(biāo)類別相同的樣本數(shù)量,F(xiàn)P是指所預(yù)測得到目標(biāo)類別和實(shí)際定義的目標(biāo)類別不相同的樣本數(shù)量,F(xiàn)N則指實(shí)際定義的目標(biāo)沒被檢測到的樣本數(shù)量。精確率是指真正例的樣本與預(yù)測為正例的樣本的數(shù)量之比,描述模型準(zhǔn)的程度;召回率是指被預(yù)測為正例與為真的樣本的數(shù)量之比,描述模型全的程度。但僅僅用它們分別單一的去評價模型的好壞是不夠全面的,因此通過F1-score與mAP來進(jìn)行評判,F(xiàn)1-score是準(zhǔn)確率和召回率的調(diào)和平均數(shù),取值范圍為0到1,值越大代表模型越好而mAP指標(biāo)是不同查全率R水平下對準(zhǔn)確率P做平均,也就是得到AP,最后再對所有類別按比例取平均,由于本文只針對滑坡這一險情類別進(jìn)行目標(biāo)檢測,因此AP值就是mAP值
(13)
(14)
不同基礎(chǔ)網(wǎng)絡(luò)的滑坡檢測的平均精度以及速度值對比見表1,與當(dāng)前比較流行的其它主干網(wǎng)絡(luò)進(jìn)行對比分析:Mobilenetv2以及VGG16。從表中可得知Resnet50更適合本文模型,雖速度相較于Mobilenetv2、VGG16慢了0.007 s、0.013 s,但檢測精度比Mobilenetv2、VGG16高了8%,6.4%,因此本文模型選取Resnet50為基礎(chǔ)網(wǎng)絡(luò)。
表1 不同基礎(chǔ)網(wǎng)絡(luò)的滑坡檢測對比
本文將ResNet50深度殘差網(wǎng)絡(luò)的殘差模塊中嵌入DRSN-CW收縮網(wǎng)絡(luò)作為主干網(wǎng)絡(luò)應(yīng)用于無人機(jī)航拍圖片中滑坡險情目標(biāo)檢測,為了驗(yàn)證深度殘差收縮網(wǎng)絡(luò)對于滑坡檢測的優(yōu)越性,在配置條件以及各個參數(shù)值相同的情況下,將ResNet50與本文進(jìn)行圖像預(yù)處理、歸一化方法替換以及與結(jié)合DRSN-CW的不同模型方案進(jìn)行對比,對比實(shí)驗(yàn)結(jié)果根據(jù)F1值以及mAP評價指標(biāo)進(jìn)行評價。
不同模型方案的實(shí)驗(yàn)結(jié)果對比見表2,本文在深度殘差收縮網(wǎng)絡(luò)DRSN模型對航拍滑坡目標(biāo)識別的F1值以及平均精確度達(dá)到91.3%、92.1%,而主干網(wǎng)絡(luò)為ResNet50模型分別為85.7%、87.5%,說明深度殘差收縮網(wǎng)絡(luò)對識別航拍滑坡目標(biāo)是更為有效的,在圖像識別中是具有優(yōu)勢的。
表2 不同模型方案的實(shí)驗(yàn)結(jié)果比對
同時,經(jīng)過圖像增強(qiáng)預(yù)處理后的ResNet50模型相比原始模型的F1值以及mAP值增加了3.1%、3.5%,由此可見針對實(shí)際目標(biāo)檢測任務(wù)的數(shù)據(jù)預(yù)處理是必不可少的,能夠提升模型的性能;再通過GN歸一化方式替換BN后的模型與原始網(wǎng)絡(luò)模型相比F1值以及mAP值分別增加了5.1%、5.6%,可得知?dú)w一化方式GN相對于BN更適用于本文目標(biāo)檢測,能夠提高模型的識別能力。
圖6為上述4種模型方案在滑坡險情的識別效果,對于圖6(a)骨干網(wǎng)絡(luò)為ResNet的Faster R-CNN模型存在漏檢的情況;在ResNet50骨干網(wǎng)絡(luò)基礎(chǔ)上,采用圖像增強(qiáng)預(yù)處理后的圖6(b),同時存在漏檢的情況,但定位更為準(zhǔn)確;在此基礎(chǔ)上,再通過GN的歸一化方式來替換BN的識別圖6(c),對于識別能力有了提高,但仍存在漏檢;本文模型在數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理、歸一化方式替換之后,將ResNet50模型中嵌入DRSN-CW網(wǎng)絡(luò)結(jié)構(gòu),可以從圖6(d)能夠較好地識別小目標(biāo)、背景復(fù)雜等的滑坡險情,對漏檢有明顯改善,在復(fù)雜的環(huán)境下也能表現(xiàn)的很好,在對滑坡險情識別的準(zhǔn)確度方面有了很好的突破。
圖6 上述4種模型方案的識別結(jié)果
圖7是本文模型mAP指標(biāo)變化的過程,通過圖中可得知,隨著訓(xùn)練次數(shù)的增加,mAP值是不斷上升的,當(dāng)?shù)竭_(dá)12次后,mAP值變化趨于平穩(wěn),最高可達(dá)到92.1%。從圖8可以看出,本模型方法能夠較為有效正確地識別無人機(jī)航拍圖片中的險情所在的地理位置,為進(jìn)一步搶險救災(zāi)做好準(zhǔn)備。
圖7 mAP變化過程
圖8 本文模型滑坡的檢測結(jié)果
本研究針對無人機(jī)航拍圖片復(fù)雜環(huán)境、地形差異、滑坡目標(biāo)區(qū)域較小等情況而導(dǎo)致滑坡檢測精度不高的問題,先利用Gamma變換、高斯濾波來調(diào)整圖片的亮度以及平滑去噪,通過圖像增強(qiáng)預(yù)處理有效地保證了圖片的質(zhì)量;再采用不依賴于batchsize的分組歸一化方法,消除batchsize對模型的影響,很好地適用無人機(jī)航拍圖像分辨率過高的情況;最后,提出了將DRSN-CW嵌入到ResNet50網(wǎng)絡(luò)結(jié)構(gòu)的Faster R-CNN模型對滑坡險情的目標(biāo)檢測,有效地抑制對于滑坡目標(biāo)無關(guān)的區(qū)域以及冗余信息干擾,增強(qiáng)重要特征信息。實(shí)驗(yàn)結(jié)果表明,本文改進(jìn)后的模型有更好的識別與定位能力,能夠?yàn)楹罄m(xù)精準(zhǔn)救援提供可靠信息。