?

改進的Mask R-CNN在車輛實例分割的應用

2024-01-05 05:21徐福良孫傳龍
關鍵詞:實例卷積函數

羅 勇, 趙 紅, 徐福良, 孫傳龍

(青島大學機電工程學院, 山東 青島 266071)

近年來,基于深度學習的實例分割方法在研究上取得了巨大突破,其中一個重要應用領域就是無人駕駛汽車系統??焖贉蚀_地感知和識別外界環境,更好地識別道路、車輛、行人以及其他障礙物,是實現無人駕駛系統工作的重要前提[1]。圖像分割通過對輸入圖像中不同實例對象的分割和識別,實現無人駕駛汽車對外部環境的快速準確感知[2]。圖像實例分割是基于目標檢測和語義分割的基礎,它不僅具備目標檢測的特點,即能夠定位圖像中的所有實例對象,而且還具備語義分割的特點,即能夠對每個像素進行分類。這種綜合的分割方法能夠更全面地理解圖像中的場景,并為無人駕駛汽車提供更精確的環境感知能力[3],避免潛在危險,確保行駛的安全性和穩定性。許多學者研究了圖像實例分割在無人駕駛汽車技術中的應用。LIU S等人[4]提出了路徑聚合網絡(path aggregation network,PAN)方法, 融合高層語義信息和低層位置信息,提升了圖像分割任務的性能;由于PA Net的性能會受輸入數據的質量和多樣性的影響,WANG S等人[5]提出了RDSnet模型,充分利用目標檢測和實例分割2個任務的信息交互作用,但其實例掩碼的分辨率低,掩碼對框和邊界框的定位誤差很大;Deep mask算法[6]是由Fair團隊開發的一種實例分割算法,用于發現和切割單張圖像中的物體,但有時在生成實例分割掩碼時無法準確地捕捉物體的邊界和輪廓,影響了分割的精度和準確性;2019年,BOLYA D等人[7]提出的Yolact模型,在解決同類任務中以速度著稱,但計算內存需求較大,資源有限的設備上難以實時應用或部署;CHEN H等人[8]提出的Blend mask模型是近期實例分割任務中較完美的算法,但在某些場景下,該模型對小目標的分割結果不夠準確或完整,并且計算復雜程度高、內存占用大?;诖?為了有效利用有限的標注數據提高實例分割算法的準確性,本文通過向Mask R-CNN網絡的卷積層添加一種門控注意力機制(gated channel transformation,GCT)方法進行算法改進,并對激活函數ReLU修改為Mish函數,在保證運算速度的同時,提高了圖像識別質量和整個網絡架構的穩定性。該研究對無人駕駛實例分割算法的發展具有積極意義。

1 Basebone層架構

1.1 經典Mask R-CNN算法Basebone層

經典Mask R-CNN算法的Basebone層采用ResNet-50作為特征提取器提取特征,由“由底至頂”采樣層(Bottom-up layers)和“由頂向底”采樣層(Top-down layers)2部分組成,通過底層和頂層的特征融合獲取更豐富的特征表示,提高目標檢測和實例分割的性能[9]。Basebone結構如圖1所示。

圖1 Basebone結構

輸入大小為H×W的圖像,通過ResNet后,得到五層特征圖,尺寸大小依次為

低層特征往往含有較多的細節信息,如顏色、輪廓、紋理等,同時包含許多噪聲等無關信息[10],高層特征包含充分的語義信息,如類別和屬性等,但空間分辨率卻很小,導致高層特征信息丟失較為嚴重。因此,Mask R-CNN采用特征金字塔網絡(feature pyramid network,FPN)結構進行特征提取[11]。圖1中C1~C5是底層的特征圖,即“由底至頂”采樣層的輸出,主要捕捉圖像的低級和中級特征,如邊緣和紋理等。C1是輸入圖像經過一次卷積操作得到的特征圖,C2則是C1經過進一步卷積操作得到的特征圖,以此類推得到C5。P1~P5是頂層的特征圖,即“由頂向底”采樣層的輸出,包含了全局的語義信息和局部的細節信息,能夠提供更豐富的特征表示。P1是從高級語義特征恢復的細節信息,P2則是進一步上采樣得到的特征圖,以此類推得到P5。通過C1~C5和P1~P5等特征圖的組合和融合,Mask R-CNN的Basebone層能夠捕捉到底層的細節特征和頂層的語義信息,提供更全面豐富的特征表示。該設計有助于改善目標檢測和實例分割的性能,提高模型的準確度和魯棒性。

1.2 改進Mask R-CNN算法Basebone層

針對現實中汽車行駛環境復雜多變,基于經典的Mask R-CNN算法架構,增加了對環境信息的分辨能力及算法的識別速度,可對環境精準快速地進行分析,保證自動駕駛的安全。經典的Mask R-CNN算法采取Res-FPN結構,對圖像分辨能力效果較好,但細小或遮擋目標的分辨能力受卷積層數的影響[12]。在一定范圍內,隨著卷積層數的增加,對圖像中細小目標的分辨能力增強,但卷積層數不能無限增加。此外,隨著卷積層數的增加,算法的單次運行時間也增加。雖然原有Mask R-CNN卷積神經網絡結構已滿足基本需求,但為進一步提高檢測精度,本文在原有神經網絡結構的基礎上,添加了一種應用在每次進行卷積之前的自適應門控通道注意力機制(gate channels transformation,GCT)[13]。GCT是一種結構簡單且易于應用的注意力機制,用于增強神經網絡模型的表達能力。它采用規范化方法構建通道之間的競爭或協同關系,更傾向于在淺層階段促進合作,而在更深層次上加強競爭。一般而言,淺層學習主要用于捕捉低級屬性,如紋理等一般特征,而在更深層次上,高級特征更具判別性,并與任務密切相關。此外,GCT的訓練參數量較輕量級,因此GCT易于部署且不會占用過多的參數空間,同時也有助于對GCT的競爭或協同等行為進行可視化解釋。GCT是一種簡單有效的通道間關系建模體系結構,提高了深度卷積網絡在視覺識別任務和數據集上的泛化能力,證明了其實用性。GCT結構示意圖如圖2所示。

圖2 GCT結構示意圖

GCT由3個主要部分組成,分別是全局上下文嵌入(global context embedding,GCE)、通道規范化(channel normalization,CN)和門限機制(gating adaptation,GA)。α,β,γ為可訓練參數,決定了GCT在每個通道的行為表現。其中,α有助于嵌入輸出的自適應性,β和γ用于控制激活門限。

1) 全局上下文嵌入(GCE) 大感受視野有助于避免局部混淆,因此設計了一種全局上下嵌入模塊,用于每個通道的全局上下文信息匯聚。給定嵌入參數α=[α1,…,αc],該模塊定義為

(1)

其中,l為極小常數。

2) 通道規范化(CN) 規范化通過少量計算資源構建神經元間的競爭關系,類似于LRN。GCT采用進行跨通道特征規范化,即通道規范化。其定義為

(2)

3) 門限機制(GA) GCT在上述基礎上添加了門限機制,有助于促進神經元的競爭或協同關系。其定義為

(3)

實驗結果表明,將GCT插入到每次卷積操作之前,提高對圖像信息的分辨能力。改進后的Basebone層在保證運算速度的同時,增加了對圖像中小目標的獲取能力,同時,GCT網絡的加入提高了系統的魯棒性。對于Resnet網絡來說,增強效果尤其顯著。改進后的Basebone 結構如圖3所示。

圖3 改進后的Basebone 結構

經典的Mask R-CNN網絡采用的激活函數是ReLU函數, ReLU函數圖像如圖4所示。激活函數的主要作用是改變之前數據的線性關系,如果網絡中全部是線性變換,則多層網絡可通過矩陣變換直接轉換成一層神經網絡[14]。因此,激活函數使神經網絡可學習復雜的數據,表示輸入輸出之間非線性的復雜的任意函數映射[15]。ReLU函數的數學表達式為

圖4 ReLU函數圖像

f(x)=max(0,x)

(4)

ReLU激活函數能夠加快網絡的訓練速度,增加網絡的非線性能力,此外,ReLU函數計算簡單,廣泛應用于卷積層和深度學習模型訓練。ReLU函數的實現僅需一個max()函數,非常易于使用。另外,ReLU函數能夠實現代表性的稀疏性以及線性行為。當神經網絡的行為是線性或接近線性時,ReLU函數更容易優化[16]。然而,ReLU函數在輸入值為負時,會導致輸出為零,并且在零點處不可導。因此,當神經元的第一個輸入為負時,可能導致整個神經網絡的“死亡”現象。此外,當輸入值為負時,所有負值都會被立即置零,從而降低了模型對數據的適應能力和訓練能力[17]。也就是任何傳遞給ReLU激活函數的負輸入都會立即將其值置零,由于負值得不到適當地映射,可能會影響結果。

為了增加網絡的穩定性,本文將ReLU函數更換為平滑度更好的Mish函數, Mish函數圖像如圖5所示。

Mish函數的數學表達式為

f(x)=xtanh(softplus(x))=xtanh(ln(1+ex))

(5)

Mish函數使用了tanh和softplus2個函數共同實現函數的門控機制,同時利用了tanh函數的零中心對稱的特性,在更多的網絡模型和數據集上取得更好的性能[18]。Mish函數在零點處是可微的,且在輸入值為負值時也有輸出,保證了模型所需的平滑度,提高了系統的穩定性。

2 實驗設置和結果分析

2.1 實驗數據集

Cityscapes數據集,即城市景觀數據集[19],是一個面向大型城市道路場景的常用分割數據集,它通過汽車駕駛視角采集了包含50個不同城市的立體視頻圖像序列,涵蓋了行人、汽車、公交車及信號燈等多個場景類別。該數據集擁有5 000張精細標注的在城市環境中駕駛場景的圖像(2 975張訓練集,500張驗證集,1 525張測試集)以及20 000張粗糙標注圖像,具有19個類別的密集像素標注(97%覆蓋率),其中,8個具有實例級分割,是目前公認的機器視覺領域內最具權威性和專業性的圖像分割數據集之一。

2.2 實驗環境及實驗設置

本實驗均在PyCharm 2021.3.1集成開發環境上進行,硬件平臺為window10系統,CPU為i7,GPU為1塊16GB的NVIDIA RTX 2070 SUPER。

2.3 評價指標

平均精度(average precision,AP)是一種常用的評估模型性能的指標,用于衡量目標檢測和實例分割任務中的準確性[20]。本文采用了不同的AP變體評估模型的實例分割性能,包括AP50、AP75、APs、APm、APl。其中,AP50表示當IOU閾值為0.5時的平均精度,IOU用來衡量預測的邊界框與真實邊界框之間重疊程度的指標,0.5的閾值意味著預測框與真實框的重疊面積至少為真實框面積的一半;AP75表示當IOU閾值為0.75時的平均精度;APs表示面積較小的目標物體的平均準確率;APm表示面積中等的目標物體平均準確率;APl表示面積較大的目標物體的平均準確率[21]。該評估設置可提供對模型在不同場景和尺度下的表現能力的全面認知,為模型的改進和比較提供有價值的參考。

2.4 結果對比

為驗證本文算法的有效性,本人對3種算法的目標檢測結果和實例分割結果進行對比。3種算法分別是基準算法的Mask R-CNN原算法(M);Mask R-CNN結合GCT模塊后的算法(M-GCT);Mask R-CNN結合GCT模塊后并且修改激活函數后的算法(M-Mish-GCT)。3種算法的目標檢測結果如表1所示,比較了不同評價指標下的性能表現。3種算法的實例分割結果如表2所示。通過對比表1和表2,可直觀地評價3種算法在目標檢測和實例分割任務上的表現。

表1 3種算法的目標檢測結果

表2 3種算法的實例分割結果

由表1和表2可以看出,經過GCT改進后的Mask R-CNN算法,各項評價指標都有所提升,在實例識別方面表現更出色,證明了GCT在視覺識別任務中的性能提升作用。在網絡推理階段,添加了GCT模塊的算法,運行速度為每秒13幀,與原始算法每秒12幀相比,并沒有因添加模塊而導致算法性能下降,并且文中的實驗算法采用Python語言,其運行效率相對較低。但在實際應用中,可通過采用C/C++語言提高程序的執行速度,同時降低內存占用率,提高算法的運行效率。

為了更直觀地展示改進后的算法在Cityscapes數據集中的分割效果,節選不同場景下的效果圖進行分析。不同場景下3個車輛行駛時的原圖與分割效果圖對比如圖6~圖8所示。

圖6 場景一

由圖6~圖8的分割效果圖可以看出,改進的算法對不同類別不同個體的分割效果表現優秀,沒有發生明顯的漏檢和錯檢問題。由圖7可以看出,光照條件對無人駕駛識別效果和分割精度存在一定程度的影響。通過3個不同場景下的實驗可以得到,改進算法為車輛提供準確有效的外部信息,可對不同物體進行精準分割,有效驗證了改進算法的性能和良好的泛化能力。

圖7 場景二

圖8 場景三

為了對比改進算法與原始算法的分割效果,對同一張圖像分別進行不同方法的識別, Mask R-CNN算法分割效果如圖9所示。

圖9 Mask R-CNN算法分割效果

圖9中有2位處于坐立狀態的行人、1位騎行者和6輛汽車。經過原Mask R-CNN算法訓練識別后,雖然大目標、近處以及無遮擋的目標識別程度不錯,但2位行人之間的拐杖也被識別為1位行人,且右側汽車車窗反光處被認為不是汽車而沒有標注出來。

改進的Mask R-CNN算法分割效果如圖10所示;測試圖像局部對比如圖11所示。

圖10 改進Mask R-CNN算法分割效果

圖11 測試圖像局部對比

對比圖9~圖11可以看出,圖中行人之間的拐杖沒有被識別成行人,車窗反光處也被納入汽車的部分,其中車輪處被路燈遮擋部分也未被誤判為汽車。結果表明,改進后的算法在目標檢測和實例分割方面取得了更優的分割效果。

3 結束語

本文將視覺識別注意力模塊嵌入到Mask R-CNN網絡結構,并在Cityscapes數據集上進行驗證。實驗結果表明,在實例分割任務中,本文的改進算法比原算法識別分辨能力更強,并未降低算法效率,平均準確率提高了約13.9%,有效提高了圖像識別質量和整個網絡架構的穩定性。下一步的研究重點是將汽車行駛時實際場景中復雜繁多的類別進行有效精準識別,且會考慮光照條件不足或雨雪霧等復雜氣象環境下的無人駕駛實例分割。

猜你喜歡
實例卷積函數
二次函數
基于3D-Winograd的快速卷積算法設計及FPGA實現
第3講 “函數”復習精講
二次函數
函數備考精講
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
完形填空Ⅱ
完形填空Ⅰ
一種基于卷積神經網絡的性別識別方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合