宮法明,徐晨曦,李厥瑾
(1.中國石油大學(華東)計算機科學與技術學院,山東青島 266580;2.山東電子職業(yè)技術學院本科教務處,濟南 250200)
城鄉(xiāng)結合部違規(guī)占地導致建設混亂,影響城市市容并產生潛在危害。傳統(tǒng)的違建航攝方法存在費用昂貴且數(shù)據(jù)獲取不便等問題,例如衛(wèi)星遙感、普通航空遙感等。許多單位開始使用投入成本相對較低且易于維護和操作的無人機航拍技術對違建場地進行拍攝。在實際工作場景中,無人機航拍檢測面積較大,為節(jié)省時間成本,無人機只能飛得較高,將拍攝范圍擴大,而人工檢測只能通過無人機傳回的視頻在較小的屏幕內觀察,極易產生遺漏。若違建場地未能及時被發(fā)現(xiàn)并制止,則在拆除違建場地的執(zhí)法工作中將面臨很多困難,甚至會產生民事糾紛。對于違建檢查工作,理想的方法是在建設初期及時發(fā)現(xiàn)違建場地并制止,可以極大程度地避免由拆除違建引起的一系列糾紛。
在前期的研究中,無人機航拍視頻利用傳統(tǒng)的目標識別算法直接對數(shù)據(jù)集進行訓練,但獲得的檢測效果并不理想,計算時間較長。無人機在拍攝過程中鏡頭方向和飛行高度均不確定,使得目標場地在視頻中產生旋轉、放大、縮小等形變問題。樣本庫中因形變目標樣本數(shù)量不足導致檢測器對形變目標的檢測結果不理想。在當前目標檢測工作中,如果學習一個對于旋轉形變樣本具有穩(wěn)定性的目標識別檢測器,需要大量數(shù)據(jù)集對其進行訓練。由于樣本庫具有的形變數(shù)據(jù)樣本較少,因此沒有足夠的樣本實例覆蓋所有可能出現(xiàn)的形變情況。
本文通過深度學習方法對無人機航拍視頻進行自動檢測,提出一種結合空間變換網絡與Fast RCNN的生成對抗網絡ASTN-Fast RCNN 用于建設初期的違建場地識別。利用目標檢測器的反饋優(yōu)化生成器,生成目標檢測器難以識別的旋轉形變樣本,并將生成的旋轉形變樣本加入訓練,解決檢測器對形變目標識別精度低的問題。
無人機航拍視頻識別違建場地主要包括違建場地檢測、深度學習目標檢測、生成性對抗網絡3 個方面工作。傳統(tǒng)的違建場地檢測方法主要通過遙感圖像分析檢測違建場地[2]。
深度學習目標檢測的研究領域主要有3 個方向[3]:1)深度學習利用樣本數(shù)據(jù)來提高檢測精度[4],近年來,目標檢測器通過可用性更高的數(shù)據(jù)來提高檢測器的檢測精度,例如,在樣本訓練策略方面進行改進,研究人員提出OHEM 算法,該算法在訓練過程中主動選擇難樣本加入訓練,在提升網絡性能的同時使訓練更高效,其他工作[5-6]也是通過數(shù)據(jù)本身提高檢測性能;2)通過改變神經網絡的基礎結構和增加神經網絡的層次來提高檢測器的性能[7-8],這個方向的研究工作包括ResNet[9]、Inception-ResNet[10]和ResNetXt[11];3)利用多個卷積層特征來提高目標檢測性能,例如使用上下文推理和多尺度特征提高小目標檢測精確率[12-13],通過上下文的語義關聯(lián)學習互補信息[14],采用自上而下的上下文語義分割提高Faster RCNN 的檢測性能[15]等。
文獻[16]在GAN 中設計卷積神經網絡,改進圖像生成技術;文獻[17]引入新的方法,提高網絡的收斂和GAN 中圖像生成模型的性能;文獻[18-20]利用GAN 改進傳統(tǒng)機器學習的算法;文獻[21]采用GAN 改進口語識別算法;文獻[22]提出GAN 架構,解決目標識別中樣本不足的問題;文獻[23]提出一種利用GAN 框架進行半監(jiān)督或無監(jiān)督的算法。GAN 的樣本是通過學習大量的形變樣本,生成接近真實的形變圖像,但是此過程需要大量的形變樣本來加入訓練,或者生成所有可能的形變樣本,然后利用這些形變樣本來訓練檢測器。由于產生形變的范圍很大,因此訓練效率較低。文獻[1]指出,選擇難樣本得到的檢測器相較于加入所有樣本的訓練更優(yōu)。
本文通過樣本數(shù)據(jù)來提高檢測精度,但是由于樣本庫中的形變樣本數(shù)量不足,在樣本庫中直接篩選難以識別形變樣本的方法并不可行。本文利用GAN 生成檢測器在識別時易出錯的難以識別形變樣本。在GAN 中,生成器通過檢測器的反饋來學習預測檢測器難以識別的樣本,同時檢測器通過難以識別形變樣本來提高識別精度。GAN 通常是用于訓練優(yōu)秀的圖像生成器,而在本文算法中GAN 用于完成相反的任務,即通過GAN 競爭訓練一個對形變樣本具有魯棒性的檢測器,利用對抗學習提高識別形變樣本的能力。
本文基于Fast RCNN 進行目標檢測識別[24]。Fast RCNN 網絡主要由2 部分組成:1)卷積網絡提取圖像特征生成特征圖,作為后續(xù)網絡的輸入;2)RoI-pooling 層和全連接層輸出目標類別概率和邊界框。
將圖像輸入Fast RCNN 網絡,該圖像依次通過卷積網絡、RoI-pooling 層和全連接層。卷積網絡通過對圖像進行卷積和最大池化提取圖像特征,最終輸出卷積特征圖。因此,輸出特征圖的空間尺寸并不是固定的,將隨著輸入圖像尺寸變化而改變。RoI-pooling 層為候選區(qū)域池化,通過坐標投影方式將特征圖中的候選區(qū)域投影到特征空間,并對該候選區(qū)域進行池化,得到統(tǒng)一大小的的特征向量輸入全連接層。全連接層定義了損失函數(shù),通過Softmax分類器和boxbounding 回歸器分別輸出候選區(qū)域的類別概率以及包圍框坐標。
為解決形變目標的識別問題,本文算法通過對抗網絡對原始樣本進行形變產生新樣本,加入檢測器的訓練。針對生成器網絡,本文算法選用空間變換網絡(Spatial Transformer Network,STN)[25]。STN 網絡作為一個可微分的網絡,可以插入到卷積神經網絡框架中,使神經網絡學習對輸入圖像進行空間變換,以提高檢測模型對目標幾何變化的魯棒性。本文算法通過對抗形變網絡ASTN-Fast RCNN 訓練,得到對形變目標具有魯棒性的目標檢測器。
STN 網絡通過神經網絡學習如何對輸入圖像進行空間變換,以提高模型的幾何不變性。STN 網絡結構如圖1 所示,其運作機制可分為本地網絡、網格生成器和采樣器3 個部分。
圖1 STN 網絡結構Fig.1 Structure of STN network
本地網絡將特征圖輸入STN 網絡,根據(jù)特征圖預測產生的空間變換,并輸出對應的參數(shù)變量。
網格生成器根據(jù)本地網絡預測的變換參數(shù)值θ,通過矩陣運算目標圖V中每個位置對應原圖U的坐標位置,生成Tθ(G),如式(1)所示:
采樣器根據(jù)Tθ(G)中的坐標信息和輸入的原始特征圖對原始圖目標特征U進行采樣并復制到目標特征圖V中,輸出變換后的特征圖。本文算法根據(jù)STN 網絡的可微分特點,通過反向傳播直接優(yōu)化本地網絡參數(shù)。
GAN 包含生成器G 和判別器D 這2 個神經網絡模型,GAN 訓練過程是生成器G 與判別器D 對抗競爭的過程,通過一次迭代訓練,生成器G 與判別器D在對抗博弈狀態(tài)中相互調整改進,以最大程度減小最小-最大損失以達到最佳狀態(tài)。
在本文的對抗形變網絡(ASTN-Fast RCNN)中,STN 網絡作為生成器,F(xiàn)ast RCNN 網絡用于識別分類的全連接層與分類回歸器并作為判別器。首先將原始圖片進行卷積池化得到特征圖;然后將特征圖輸入訓練模型中。特征圖作為ASTN 網絡輸入,生成器主要對特征圖產生變換,然后將變換后的特征圖輸入到判別器進行訓練識別,同時判別器將分類結果反饋給生成器。因此,在對抗學習過程中生成器可以生成檢測器不易識別的形變樣本。在生成器ASTN 中用于預測空間變換參數(shù)變量的本地網絡由3 個完全連接層構成,其中第1 層與第2 層均使用ImageNet 預訓練網絡進行初始化。
GAN 在進行正式訓練前需要對判別器進行初始訓練,當判別器具有一定的判別能力后,在對抗訓練中才能更有效對生成器進行反饋。本文網絡模型結構如圖2 所示,將特征圖輸入到STN 網絡中,將形變特征圖作為Fast RCNN 的輸入,由于STN 網絡是可以微分的,因此ASTN-Fast RCNN 網絡通過分類損失對ASTN 的本地網絡中空間變換參數(shù)進行調整。
圖2 本文網絡模型結構Fig.2 Structure of the proposed network model
數(shù)據(jù)集不包含所有可能的形變樣本。本文通過生成目標檢測器難以識別的形變樣本來提高對形變樣本的識別精度。設原始目標檢測器網絡為F(X),則原始檢測器損失函數(shù)如式(2)所示:
其中:X為候選區(qū)域;Fc為檢測器輸出的目標類別;Fl為檢測器輸出的邊界框坐標;C為候選框區(qū)域的真值;L為空間位置。
訓練生成對抗網絡的損失函數(shù)如式(3)所示:
其中:A(X)為對抗網絡。
檢測器很容易對GAN 的形變樣本進行分類,則生成器即STN 網絡將獲得高損失,相反,如果檢測器對生成的形變樣本難以分類,則檢測器獲得高損失,而STN 網絡獲得低損失值。
本文將數(shù)據(jù)集按2∶1∶1 分為訓練集、驗證集和測試集。原始數(shù)據(jù)來自于國土局下屬單位無人機采集視頻庫。無人機在外進行飛行拍攝,并將實時拍攝視頻傳輸并存儲到視頻庫中。
3.1.1 本文實驗設計
在實驗之前,本文考慮到無人機拍攝范圍廣,相機拍攝清晰度要求高,導致圖片過大,在對圖片進行處理時,計算量也會變大。因此,在訓練之前,本文首先對視頻幀圖像進行去均值處理,在訓練自然圖像時,由于圖像任一部分的統(tǒng)計性質都與其他部分相同,因此對每個像素單獨估計均值和方差意義不大。去均值處理歸一化可以移除圖像的平均亮度值。在對圖像進行訓練之前,本文去掉圖像中無關的特征值,能夠減少后處理中的計算量,提高訓練速度。
實驗需要對模型進行預訓練,ASTN-Fast RCNN網絡模型使用標準Fast RCNN 并加入STN 對抗網絡。ASTN-Fast RCNN 模型采用分階段式訓練,訓練流程如圖3 所示。
圖3 ASTN-Fast RCNN 網絡模型訓練流程Fig.3 Training procedure of ASTN-Fast RCNN network model
從圖3 可以看出,首先訓練標準的Fast RCNN目標檢測器,使用Image Net 預訓練模型作為初始化網絡的權重,迭代1×104訓練Fast RCNN 目標檢測器得到預訓練模型。ASTN 網絡利用Fast RCNN的共享卷積層、RoI-pooling 層,與自身獨立的完全連接層來預訓練GAN 模型以創(chuàng)建旋轉形變。將得到的預訓練STN 網絡和Fast RCNN 放在同一個網絡下聯(lián)合訓練得到ASTN-Fast RCNN 網絡模型。實驗過程遵循標準的Fast RCNN 訓練過程。訓練采用選擇性搜索算法產生候選區(qū)域,利用隨機梯度下降對模型進行8×104次迭代。學習率初始值設置為0.01,在大約6×104次迭代后學習率下降到0.000 1。
3.1.2 對照實驗設計
本文設計了2 組對照實驗,分別為:1)對照實驗1,本實驗為了對照生成形變樣本加入訓練對檢測器的影響,直接訓練標準的Fast RCNN 目標檢測器,原始樣本集使用Image Net 的預訓練模型作為初始化網絡的權重,采用選擇性搜索算法產生候選區(qū)域,利用隨機梯度下降對模型進行8×104次迭代;2)對照實驗2,本實驗利用外部軟件對樣本集中的每個樣本進行旋轉生成形變樣本,由于產生形變的空間較大,本文考慮到實驗效率問題,將形變限制在可接受范圍內的5 個旋轉度與放大縮小,樣本集擴充到原始的8 倍,用擴充樣本集訓練標準的Fast RCNN 目標檢測器,同樣使用ImageNet 的預訓練模型作為初始化網絡的權重,采用選擇性搜索算法產生候選區(qū)域,利用隨機梯度下降對模型進行8×104次迭代。
為驗證檢測器對旋轉形變目標的識別效果,本文在數(shù)據(jù)集中選取包含形變目標圖像。違建場地如圖4 所示,2 個場景下有3 處目標需要識別,已用方框標出。
圖4 違建場地Fig.4 Unauthorized construction sites
對照實驗1 的識別結果如圖5 所示,使用原樣本集直接訓練標準的Fast RCNN 目標檢測器產生的部分實驗結果。從圖5 可以看出,在拍攝過程中,檢測器并未有效地識別出目標旋轉。每個實驗抽出兩個場景下相同的15 張圖像展示旋轉過程的識別結果。組圖中主要包含目標從傾斜旋轉到平行的過程。
圖5 對照實驗1 的違建場地識別結果Fig.5 Recognition results of unauthorized construction sites on controlled experiment 1
對照實驗2 的識別結果如圖6 所示,采用外部軟件對原樣本進行無差別旋轉生成形變樣本,擴大樣本集加入訓練得到的部分實驗結果。從圖6 可以看出,通過人工添加有限的形變樣本改進形變目標的識別結果,但效果并不理想。
圖6 對照實驗2 的違建場地識別結果Fig.6 Recognition results of unauthorized construction sites on controlled experiment 2
本文網絡對違建場地的識別結果如圖7 所示,使用本文提出ASTN-Fast RCNN 網絡進行聯(lián)合訓練后的部分檢測結果,雖然仍有漏檢狀況,但相較于對照實驗1 與對照實驗2 的結果,能夠有效提升識別結果準確率。
圖7 本文網絡對違建場地的識別結果Fig.7 Recognition results of unauthorized construction sites using the proposed network
3 個實驗的mAP 值對比如圖8 所示。mAP 為AP 的平均值,在目標檢測任務中通常用mAP 值衡量模型性能。
圖8 3 個實驗的mAP 值對比Fig.8 mAP comparison of three experiments
從圖8 可以看出,對照實驗1 在訓練的前期使用原樣本集直接訓練標準Fast RCNN 目標檢測器的mAP 上升較快,在大概4×104次迭代后曲線趨于平穩(wěn),mAP 值不再上升,檢測器對測試集中的形變樣本識別困難。對照實驗2 用外部軟件進行旋轉生成形變樣本,擴大樣本集之后進行訓練,由于樣本集數(shù)量過大,模型在約7×104次迭代后,mAP 值趨于穩(wěn)定。本文ASTN-Fast RCNN 網絡模型盡管在訓練前期不穩(wěn)定,在1×104~1.5×104次出現(xiàn)下降的情況,但是隨著迭代次數(shù)的增加,mAP 值在6×104次迭代后趨于穩(wěn)定,mAP 值約為91%。3 個實驗的檢測結果對比如表1 所示。從表1 可以看出,對照實驗1 使用原樣本集直接訓練標準的Fast RCNN 目標檢測器在全部測試集上得到的檢測結果是76.53%,通過人工擴大樣本集在Fast RCNN 上訓練得到的檢測結果是84.69%,本文提出的聯(lián)合網絡訓練出檢測器的檢測結果是91.84%。實驗結果表明,數(shù)據(jù)集可以結合基于Fast RCNN 的生成對抗網絡研究旋轉檢測,并取得較優(yōu)的結果。
表1 3 個實驗的檢測結果對比Table 1 Detection results comparison of three experiments %
目前對違建場地的檢測方法主要通過人工對無人機拍攝的視頻進行查驗,不僅耗時費力,而且容易遺漏。本文提出一種結合空間變換網絡與Fast RCNN 的生成對抗網絡ASTN-Fast RCNN,將深度學習與無人機航拍視頻相結合用于違建場地的自動檢測識別。將空間變換網絡作為生成器生成形變樣本,通過Fast RCNN 目標檢測器與生成器的競爭式訓練,提高檢測器的魯棒性。實驗結果表明,該網絡能夠提高形變樣本的檢測性能和違建檢查的工作效率。下一步將在本文工作基礎上對復雜場景下違建場地的特征提取與背景分割進行研究,以提升網絡的通用性,使其適用于更多復雜場景下違建場地的自動檢測工作。