熊風光,董 彪,張 鑫,劉歡樂,韓 燮,況立群
(1.中北大學 大數據學院,山西 太原 030051; 2.中北大學 山西省視覺信息處理及智能機器人工程研究中心,山西 太原 030051)
隨著圖像處理及計算機視覺學科的發展,對圖像、視頻這些可視媒體的信息實現分類、定位及分割,并根據這些信息分析邏輯關系,已成為現在計算機領域的研究熱點。高分遙感影像紋理和特征豐富,且建筑物是地表人類聚集的常見地物,實現該類目標的檢測識別在現代工業、城市規劃等領域具有重要的應用價值[1-3],傳統的矩形識別框已無法滿足對不規則遙感建筑物的精確檢測需求,在原先“分類+回歸”模式下的檢測已經不適用,基于Faster RCNN的Mask RCNN以“分類+回歸+分割”的特性廣泛應用于遙感建筑物的檢測當中。國內外對此已有相關研究,如文獻[4]提出一種基于Mask RCNN算法的建筑物檢測分割方法,將對象檢測、對象分類、邊界框定位和語義分割相結合達到像素級的檢測分割;文獻[5]將Mask RCNN算法中區域建議網絡(RPN)損失函數進行優化,減少預測框坐標與實際目標的位置偏差,提取到更精確的船舶坐標信息。遙感領域的重要任務之一就是從圖像中檢測地表建筑物,但由于遙感圖像本身由于設備的局限性,導致缺乏紋理信息,且目標建筑物形狀不規則,故本文借鑒深度學習的思想,參考國內外相關學者對于Mask RCNN算法的改進,以FPN和RPN網絡結構的改進及掩膜mask的參數優化為研究方向,充分利用空間信息,有效抑制干擾像素,實現更完整的模型提取[6]。
RCNN類算法首先對樣本分割,得到大量包含目標的區域,然后再輸入特征提取網絡,因此該類算法作為基于區域檢測的代表算法。這類算法通過神經網絡對樣本提取特征,對特征映射反復訓練并不斷調整參數,得到訓練模型,再根據該網絡模型實現分類識別[7,8]。國外學者首先提出RCNN思想,將檢測問題劃分成定位與分類兩個階段,并以此設計出相關算法[9],該算法在公共數據集中達到較高準確率,并對之后基于RCNN的改進及應用提供了思路;之后有學者借鑒RCNN思想,簡化特征提取,在池化層中計算感興趣區域,有效加快了檢測速度,這就是Fast RCNN算法,但是由于產生候選區域導致訓練時間過長,不利于模型收斂[10];之后有研究人員針對Fast RCNN進行網絡結構優化,提出Faster RCNN算法,在卷積神經網絡中生成多尺度特征,然后進一步篩選出多尺度特征圖的預測框,加快模型收斂,提高檢測效率[11];有研究人員在文獻中指出,將語義分割與目標檢測結合,提出一種新的檢測框架,這就是Mask RCNN算法,增加mask掩膜用來分割目標,并且優化之前的池化操作,抑制非目標像素的干擾,既保證了高精度檢測率,又實現語義分割的任務,尤其對于人體數據集表現良好[12]。
YOLO(you only look once)系列是基于端到端的目標檢測算法,該類算法不產生候選框,在神經網絡中完成特征提取,實現對目標的分類及定位的同時預測。國外研究人員提出Yolo v1算法,文獻中采用深層網絡提取特征,由于對分類和定位同時處理,因此大大加快了檢測時間[13];但由于Yolo v1算法在檢測精度上存在不足,許多學者對此進行研究,有相關文獻提出Yolo v2算法,作者首先提高預訓練分類網絡的分辨率,并移除了全連接層,采用先驗框預測類別和坐標,既提升了定位的準確度,同時保持分類的準確度[14];有研究團隊提出Yolo v3算法,優化特征圖的提取,加快神經網絡的訓練,運行速度達到22.2 ms,且mAP為28.2%,在檢測精度及檢測速度上都有了明顯提高[15]。
本文以不規則的遙感建筑物為研究對象,為提高檢測分割效果,對Mask RCNN算法中FPN和RPN網絡結構的改進及掩膜mask的參數優化展開研究,提出一種改進的Mask RCNN檢測算法。
本節首先對Mask RCNN算法作出相關介紹,并結合本文所做工作的創新性展開說明,主要針對網絡結構的改進優化,提出一種新的網絡結構用于本文檢測場景。
Mask RCNN算法結合了檢測與分割,以RCNN檢測網絡為基礎,多尺度提取特征,再通過候選框對特征圖篩選,不僅可以對目標實現分類定位,而且通過添加掩膜mask對檢測目標實現分割[16],也就是把人或其它對象從圖像中檢測出來,并對每個檢測到的目標實例生成一個分割遮罩[17,18],檢測流程如圖1所示。

圖1 Mask RCNN檢測流程
首先,對輸入圖片預處理,在檢測網絡中,圖片以二維矩陣形式存儲;在特征金字塔網絡(FPN)中,不同尺度的卷積核與圖像二維矩陣做內積運算,得到不同尺度特征圖;然后,根據特征圖中每一點實現預測,得到大量感興趣區域(ROI),在RPN網絡中對這些ROI篩選,進一步提取得到最有可能的目標區域;接著,對這些目標區域實現ROI Align操作,即對特征向量統一尺度;最后對特征向量進行映射,得到3個輸出分支,實現分類、定位及分割任務。
原Mask RCNN算法雖然在檢測及分割方面都表現良好,但是對于遙感領域的應用仍存在不足,遙感圖像本身背景復雜,視角特殊,這給計算機視覺檢測任務帶來極大困難,因此結合應用場景做分析改進。首先FPN網絡基于特征金字塔,通過不同尺度的分辨率對輸入樣本實現特征提取,得到多尺度的特征圖,再對特征圖完成融合,但是自頂向下的特征融合過程十分繁瑣,導致有效信息丟失,檢測精度下降;其次RPN網絡通過候選區域對特征圖實現初步預測,得到大量候選框,并對部分越界或偏移值大的候選框去除,進一步提升精度,加快模型收斂,但是RPN網絡候選框長寬比不適合本文研究場景,導致計算冗余;而原算法中mask掩膜對遙感影像的分割效果表現不好,由于目標與背景輪廓存在遮擋等情況,導致像素丟失,無法提取目標輪廓。
對于Mask RCNN算法的應用,許多研究人員已提出很多相關的應用及改進。如文獻[19]以車輛為數據集,對殘差網絡(ResNet)進行優化,并調整區域建議網絡(RPN)中錨點的比例和閾值,提高了平均檢測精度;文獻[20]中提出一種優化的ROI Align操作,在雙線性插值基礎上調節閾值,顯著提高指針式儀表識別讀數的準確性,同時在光照不均等自然環境下具有較好的魯棒性。
本文的創新性主要有三方面:對FPN網絡結構的改進,保留語義信息,完善特征融合,有效提高檢測準確率;簡化RPN網絡結構,對先驗框聚類分析,減少算法計算量,加快模型收斂;優化掩膜mask參數,抑制干擾像素,增強對目標像素的提取能力。
2.2.1 FPN網絡的改進
FPN網絡是Mask RCNN算法中的主干網絡,基于多尺度金字塔,以不同分辨率模擬人眼由遠及近的觀察效果,可以得到對樣本提取的不同尺度特征圖,這種由不同尺度組成的提取網絡被稱為金字塔,實現對不同尺寸目標的完整特征提取。FPN網絡通過上述提取方式得到不同尺度的特征,又通過自頂向下的方式實現特征融合,在金字塔不同層特征融合的過程中開始預測,并最后對預測結果進行融合。
在本文遙感數據集應用場景中,只有建筑物這一類目標,該方法特征融合過于繁瑣,首先需要對不同尺度的特征圖做統一操作,得到相同尺度特征圖,再對特征圖做預測,最后融合預測結果,但由于特征圖分辨率的多次縮放,導致損失了大量有效信息,不適用于本文遙感數據集,故本文不經過橫向連接,直接在每一層進行相應的預測,再對預測結果做空洞卷積,提高精確定位,避免原算法中為擴大感受野導致分辨率下降,最后對預測結果融合,修改網絡結構如圖2所示。

圖2 修改后的FPN網絡結構
經實驗驗證,本文通過改進FPN網絡,保留了完整語義信息,優化預測結果的融合,有效提高了檢測精度和目標的檢出率。
2.2.2 RPN網絡的改進

針對本文采用的遙感圖像訓練數據集,RPN網絡的候選框尺寸并不適用,對同一尺度特征圖重復計算,產生冗余預測框,且預測框與真實框的位置信息及尺寸相差較大,導致模型收斂難度較大,故針對本文數據集,通過特征相似性,對候選框聚類分析,將長寬設定為64×64、128×128、256×256,減少計算量,提高目標的檢測和分割效果,提高目標框的檢出率,結構如圖3所示。

圖3 修改后的RPN網絡結構
經實驗驗證,改進RPN網絡對于目標的位置信息更加準確,可以提取到置信度更高的ROI區域,簡化了計算量,加快了模型的收斂。
2.2.3 掩膜mask的改進
掩膜mask是一種用于圖像分割的操作,通過設置閾值對樣本進行劃分,得到不同像素區域,再對這些像素區域做邏輯運算,區域內像素與預測框像素接近的設置為目標像素,其它判斷為干擾像素,從而實現對目標的突出或隱藏。
在本文遙感數據集中,遙感圖像本身顏色信息缺乏,目標像素與背景像素差異不大,且目標建筑物形狀不規則,導致掩膜mask對目標輪廓無法精細區分,造成目標缺失。故通過對原算法中14×14與28×28的mask掩膜調參,得到適合本文遙感建筑物數據集適用的參數:32×32與64×64像素,結構如圖4所示。

圖4 修改后的mask像素值
經實驗驗證,通過調節mask掩膜參數有利于提取更多細節信息,提高掩膜效果,有效優化建筑物的分割效果。
本節表明實驗數據集來源,對實驗結果進行評估,并通過大量樣例分析,與多種檢測算法橫向對比,驗證本文工作的優越性。
本文使用的數據集來自SpaceNet數據集中的AOI_2_Vegas,在原數據集基礎上對圖像重新裁剪及篩選,使用標注工具labelme進行標注,標注類別為建筑物(building),以此作為本文的數據集;labelme是一個圖形界面的圖像標注工具,利用該標注工具,手動完成各種形狀(矩形、圓形、不規則形狀等)標注,得到標注圖像及對應文件,如圖5所示,對建筑物進行標注。

圖5 標注目標
本文開發平臺為臺式機,配置為Intel i9-9700H處理器,2070顯卡,16 GB內存,開發環境為Python 3.6,Pytorch 1.3;本文對相關參數不斷調整,如學習率調整至0.0001,最后迭代次數為25 000~30 000次時,loss值趨于穩定,如圖6所示。

圖6 訓練過程
3.3.1 樣例分析
本文基于Mask RCNN算法,針對不規則建筑物檢測難度大的問題進行研究,通過改進FPN網絡和RPN網絡,并調節mask掩膜參數,加強對不規則建筑物的檢測,有效解決該應用場景中的問題。經過本文改進算法檢測,選取形狀不規則、背景復雜度高的建筑物檢測場景做樣例分析,檢測樣例如圖7所示。

圖7 本文方法檢測樣例
從檢測結果可以看出,對圖7樣例場景中不規則的建筑物做到了很好的檢測分割效果,在有道路、樹木等干擾信息的場景中也做到了精準分割,尤其對于目標建筑物的空隙分割效果良好。故本文對Mask RCNN算法進行了有效改進,通過修改FPN和RPN網絡結構及優化mask掩膜參數提高了對不規則建筑物的檢測分割能力。
3.3.2 評價指標
本文采用平均檢測精度(mAP)、平均檢測時間(time)、回歸率(recall)作為檢測評價指標。其中精度和召回率分別定義為
(1)
(2)
式(1)表示目標的平均檢測準確率,precision為樣本準確率,N是樣本總數,是目標檢測領域常見的評價指標,直觀反映檢測效果;式(2)表示回歸率,其中相關變量表示檢測正確與誤檢的樣本數,評價算法收斂程度;并對算法的平均檢測時間time做對比分析,評估算法效率。
3.3.3 實驗對照
本文選取遙感場景中常見的場景,如背景復雜度高的場景(a)和建筑物空隙分割效果差的場景(b),并與相同場景下原Mask RCNN算法檢測結果做對比,如圖8所示。

圖8 對照檢測結果
對檢測結果做定性分析,在背景復雜度高的場景(a)中,對于相同目標的檢測,本文改進算法(article method)相比原Mask RCNN算法的檢測精度有較明顯提高;在建筑物之間的空隙分割效果差的場景(b)中,本文改進算法(article method)對不規則目標建筑物的檢測分割效果很好,對細節信息做到了很好的語義分割。
實驗對照如下:本文改進算法(article method)與原Mask RCNN算法、Yolo v3算法、以及Faster RCNN算法和最新的Yolo v4算法做效率分析,見表1。

表1 效率分析
由表1可知,首先在平均檢測精度(mAP)方面,本文改進算法(article method)平均精度為99.80%,相比原Mask RCNN算法98.26%、Yolo v3算法86.47%、Yolo v4算法98.01%、Faster RCNN算法97.54%,本文提出的改進算法表現良好;再對時間效率方面進行分析,本文改進算法(article method)為1.19 s,檢測速度較基于端到端的Yolo v3算法0.32 s和 Yolo v4算法0.28 s較慢,但優于同樣基于區域檢測的原Mask RCNN算法1.48 s和Faster RCNN算法2.09 s;在召回率(recall)方面,本文改進算法(article method)為97.88%,相比原Mask RCNN算法96.23%、Yolo v3算法84.69%、Yolo v4算法95.98%、Faster RCNN算法96.14%,本文改進算法高于其它算法,依然表現良好。
本文通過對Mask RCNN算法改進得到一種適合遙感不規則建筑物的網絡模型,有效改善了該類目標的檢測分割效果,提高了檢測精度。因此,可認為本文基于Mask RCNN的改進算法(article method)優于其它算法。
本文對Mask RCNN算法改進FPN和RPN網絡結構,并對掩膜mask參數優化,提出適用于遙感領域建筑物的檢測算法。實驗結果表明,本文提出的改進Mask RCNN算法表現良好,不僅檢測精度高,計算量小,且加強了目標的分割效果。但對于遙感影像中飛機等空中目標仍無法做到精確分割,故下一步擬解決該類目標的檢測分割問題。