易冠霖,吳浩峻,吳韻哲,王浩亮,王丹,孫定翔
(大連海事大學(xué) a.輪機工程學(xué)院;b.信息科學(xué)技術(shù)學(xué)院;c.船舶電氣工程學(xué)院,遼寧 大連 116026)
目前,船舶機艙火災(zāi)探測器各種各樣,如煙敏式、溫敏式、光敏式等,但這些探測器檢測空間范圍有限且信息單一,識別速度存在較大的延遲,并且比較容易受到海上氣候、濕度,以及溫度等環(huán)境的干擾,較難適應(yīng)海上復(fù)雜多變的環(huán)境[1]。傳統(tǒng)火焰和煙霧分割方法主要采用手動提取特征方法,如煙霧顏色[2-4]、形狀[5]和運動。由于煙霧和火焰外觀變化大且屬于非剛性物體,以及煙霧邊緣呈現(xiàn)半透明狀態(tài),難以確定火災(zāi)特征,導(dǎo)致分割效果很差。近年來,基于語義分割的算法得到了快速發(fā)展,相比于傳統(tǒng)的煙霧和火焰分割方法,基于深度學(xué)習(xí)的語義分割算法可以自動提取火焰和煙霧的特征。如今,大部分新建造船舶引入了視頻監(jiān)控系統(tǒng),這為加入基于深度學(xué)習(xí)的語義分割算法的船舶火災(zāi)識別技術(shù)提供了便利。目前,已有不少研究者使用語義分割算法對火焰和煙霧進行檢測,如何進一步提升小火焰及稀薄煙霧的分割精度仍然是一個難題。對此, 提出改進DeepLabv3+[6]語義分割模型,重新設(shè)計模型的上采樣方式,由原解碼部分倍數(shù)為4的雙線性上采樣更改為倍數(shù)為2的近端插值逐步上采樣結(jié)構(gòu),并在編碼網(wǎng)絡(luò)采用更大的卷積核以增大模型感受野。此外,通過針對Focal Loss梯度曲線進行研究,即遠(yuǎn)離真實值的預(yù)測概率值能快速接近真實值,接近真實值的預(yù)測概率值能繼續(xù)保持并繼續(xù)緩慢接近真實值,基于以上特點提出一個更靈活的冪次方損失函數(shù)。
DeepLabv3+網(wǎng)絡(luò)結(jié)構(gòu)由編碼和解碼兩部分組成。編碼部分采用改進的Xception網(wǎng)絡(luò),該網(wǎng)絡(luò)采用具有殘差連接的深度可分離卷積層的堆疊結(jié)構(gòu),為了在不同尺度上捕獲不同的上下文信息,使用具有多個并行不同膨脹系數(shù)的空洞卷積融合的空洞空間金字塔池化(atrous spatial pyramid pooling,ASPP)模塊。解碼部分則是對底層2次簡單的雙線性上采樣,其倍數(shù)為4。
改進后的DeepLabv3+網(wǎng)絡(luò)結(jié)構(gòu)見圖1,DeepLabv3+網(wǎng)絡(luò)的上采樣結(jié)構(gòu)為采用倍數(shù)為4的雙線性上采樣結(jié)構(gòu),上采樣倍數(shù)過大會導(dǎo)致底層特征細(xì)節(jié)信息丟失[7]。為了減少模型在上采樣過程中細(xì)節(jié)信息丟失,設(shè)計新的上采樣結(jié)構(gòu),由原解碼部分倍數(shù)為4的雙線性上采樣更改為倍數(shù)為2的近端插值逐步上采樣結(jié)構(gòu),上采樣后的特征圖經(jīng)過2個3×3卷積進行提取特征,再將經(jīng)過2個3×3卷積后的特征圖在通道維度拼接(concate),使特征得到充分融合,可大大減少細(xì)節(jié)特征信息在上采樣過程中丟失。此外,在保證模型性能不下降情況下,可減少編碼網(wǎng)絡(luò)的通道數(shù)。
圖1 改進的DeepLabv3+網(wǎng)絡(luò)結(jié)構(gòu)
煙霧和火焰屬于非剛性目標(biāo),受周圍環(huán)境影響致使煙霧和火焰呈現(xiàn)多種多樣的姿態(tài),因此,對于煙霧和火焰的特定分割任務(wù)中,適當(dāng)?shù)母惺芤翱梢允鼓P途哂懈玫姆指钚阅?。圖2為通過調(diào)整xception block的卷積核大小,即將xception block中的3×3深度可分離卷積換成7×7深度可分離卷積,以及將1×1深度可分離卷積換成3×3深度可分離卷積,使改進后的DeepLabv3+網(wǎng)絡(luò)模型具有更好的分割效果。
圖2 卷積核調(diào)整示意
損失函數(shù)影響著模型性能的好壞,并且損失函數(shù)會因模型的不同而產(chǎn)生不同的效果[8]。
由于Focal Loss損失函數(shù)[9]擁有良好的性能,并且能夠有效解決正負(fù)樣本不均衡以及難易分類樣本之間的不平衡問題,使得該損失函數(shù)在語義分割領(lǐng)域中得到了廣泛的應(yīng)用。Focal Loss數(shù)學(xué)表達(dá)式如下。
(1)
FL(Pt)=-αt(1-Pt)γlg(Pt)
(2)
式中:p為模型對類別估計概率;y=1為真實類;γ為調(diào)節(jié)難易分類樣本之間的平衡因子,γ>0;αt為可控制正負(fù)樣本對總損失的權(quán)重。
一個合格的損失函數(shù)首先要符合損失函數(shù)的原則:①符合損失函數(shù)的意義,即預(yù)測值和真實值之間的差異越大,損失函數(shù)越大,反之,損失函數(shù)越小;②損失函數(shù)必須連續(xù)可導(dǎo),通過求導(dǎo),可以尋找能夠使損失函數(shù)最小的參數(shù),這些參數(shù)對應(yīng)的映射即最佳線性回歸或者邏輯回歸[10]。根據(jù)以上基本要求,開發(fā)了新的損失函數(shù),并將其命名為冪次方損失函數(shù),公式如下:
(3)
(4)
冪次方損失函數(shù)能夠滿足損失函數(shù)的2個基本原則,并且冪次方損失函數(shù)連續(xù)且可導(dǎo),但這樣簡單的損失函數(shù)性能較差,并不能夠滿足目前的分割精度需求,為此,通過研究優(yōu)秀的Focal loss損失函數(shù)并發(fā)現(xiàn)其自身的規(guī)律。Focal loss的預(yù)測值在[0,1]之間的損失值變化見圖3。
圖3 Focal loss函數(shù)損失值與類別估計概率Pt的關(guān)系
為了便于分析,將Pt值以0.5作為界線。由圖3可見:當(dāng)Pt值處于區(qū)間[0,0.5]曲線梯度遠(yuǎn)比區(qū)間[0.5,1]曲線梯度要大的多,因此,當(dāng)Pt值處于區(qū)間[0,0.5]時,模型更傾向于區(qū)間[0,0.5]的優(yōu)化,使得區(qū)間[0,0.5]的Pt值會隨著訓(xùn)練的過程慢慢向區(qū)間[0.5,1]靠近,在模型訓(xùn)練的前期,使得模型整體損失值快速下降以及分割精度的快速提升。當(dāng)Pt值處于區(qū)間[0.5,1]時,模型給予區(qū)間[0,0.5]較少的優(yōu)化,該區(qū)間的Pt值波動較小,損失下降緩慢。也就是說,遠(yuǎn)離真實值的預(yù)測概率值能快速接近真實值,接近真實值的預(yù)測概率值能繼續(xù)保持并繼續(xù)緩慢接近真實值,使得這樣的梯度曲線具有較好的分割性能。
為了使冪次方損失函數(shù)與Focal loss具有類似梯度,通過加入μ,β和γ調(diào)節(jié)因子使冪次方損失函數(shù)能靈活調(diào)節(jié)梯度,得到下式。
(5)
(6)
通過β調(diào)節(jié)得到與Focal loss區(qū)間[0.5,1]類似的曲線梯度區(qū)間;通過γ調(diào)節(jié)得到與Focal loss區(qū)間[0,0.5]類似的曲線梯度區(qū)間,通過β和γ調(diào)節(jié)得到適合的曲線梯度后,使用μ選擇合適的梯度區(qū)間。如圖4所示,當(dāng)β=1和γ=2時,得到式(3)和式(4)的曲線。當(dāng)μ=0.63、β=0.2和γ=4以及μ=0.93、β=0.05和γ=5時,處于區(qū)間[0.63,1.63]和[0.93,1.93]的冪次方損失函數(shù)擁有一個良好的梯度。
圖4 冪次方損失函數(shù)損失值與類別估計概率Pk的關(guān)系
在損失計算時,通常將標(biāo)簽中的各類別處理為one-hot編碼,0為背景,1為前景。在實際的訓(xùn)練過程中,模型需要同時向背景和前景兩個方向優(yōu)化,而背景占總損失的大部分,造成模型注意力分散,所有類別前景的識別精度決定總體的分割準(zhǔn)度率,為此,將冪次方損失函數(shù)中的背景損失部分移除,使冪次方損失函數(shù)更專注于前景,減少背景部分的干擾,新的冪次方損失函數(shù)公式如下。
Pk=1-p+μy=1
(7)
(8)
目前,船舶機艙火災(zāi)圖像數(shù)據(jù)收集還存在一定的難度,為此,通過使用相機在陸上機艙多方位多角度拍攝獲取火災(zāi)數(shù)據(jù)集,并且覆蓋機艙中的各個角落。所收集到不同場景的部分?jǐn)?shù)據(jù)見圖5。將收集到的機艙火災(zāi)數(shù)據(jù)集經(jīng)過整理篩選后得到2 132張圖像,并使用labelme中的Polygon工具對火焰和煙霧進行手動精細(xì)化標(biāo)注,按照8∶1∶1的比例進行劃分為訓(xùn)練集、驗證集和測試集。
圖5 部分火災(zāi)數(shù)據(jù)
模型訓(xùn)練及測試均采用tensorflow2.5深度學(xué)習(xí)框架,Windows10的64位操作系統(tǒng),cuda11.1和python3.8實驗環(huán)境,中央CPU處理器為Intel core i5-10400F,GPU為NVIDIA GeForce RTX 3060。在訓(xùn)練過程中,使用Adam優(yōu)化器,初始學(xué)習(xí)率為0.0001并采用階層性下降學(xué)習(xí)率方法,連續(xù)3個epochs驗證集損失值不下降后將學(xué)習(xí)率乘0.5,batchsize為2,每輪次設(shè)置60個epochs進行訓(xùn)練。
為確定冪次方損失函數(shù)最佳參數(shù)取值,選取2例進行分析,由圖4可知,當(dāng)β=0.2和γ=4以及β=0.05和γ=5時,冪次方損失函數(shù)曲線的梯度都與Focal loss極為相似,為獲得效果最佳的μ取值,設(shè)置不同的μ值進行冪次方損失函數(shù)對比實驗,采用的評價指標(biāo)為mIoU(平均交并比),見表1。
表1 冪次方損失函數(shù)不同參數(shù)分割性能
從表1中可以看出,當(dāng)β=0.2,γ=4時,μ大于或者小于0.63,冪次方損失函數(shù)的分割性能均下降,μ=0.63時,冪次方損失函數(shù)的性能最佳;當(dāng)β=0.05,γ=5時,μ大于或者小于0.93,冪次方損失函數(shù)的分割性能均下降,μ=0.93時,冪次方損失函數(shù)的性能最佳;并且在冪次方損失函數(shù)中β=0.2、γ=4和μ=0.63比β=0.05、γ=5和μ=0.93的分割性能更好。
為了評估新的冪次方損失函數(shù)的性能,將冪次方損失函數(shù)與多種主流損失函數(shù)進行對比,見表2。冪次方損失函數(shù)均優(yōu)于Dice Loss、Tversky Loss、Focal Loss和MSE Loss損失函數(shù),且均有不同程度的性能提升。
表2 與主流損失函數(shù)對比
為了充分驗證改進后的DeepLabv3+模型在船舶機艙火災(zāi)中的分割性能,將改進后的Deep Labv3+網(wǎng)絡(luò)與主流語義分割網(wǎng)絡(luò)PSPNet[11]、SegNet[12]和DeepLabv3+進行對比,以下模型采用Focal loss損失函數(shù)中的參數(shù)為αt=0.25,γ=2,冪次方損失函數(shù)中的參數(shù)為β=0.2,γ=4,μ=0.63。由表3可見:改進后的DeepLabv3+網(wǎng)絡(luò)相比于原始的DeepLabv3+網(wǎng)絡(luò)提升了3.5%,并且改進后的DeepLabv3+網(wǎng)絡(luò)比原始網(wǎng)絡(luò)的參數(shù)量更少,該方法可有效減少模型在上采樣過程中細(xì)節(jié)信息丟失;在此基礎(chǔ)上,替換掉Focal Loss損失函數(shù),新的冪次方損失函數(shù)相比于Focal Loss損失函數(shù)提升了1.79%,新的損失函數(shù)能更為靈活的調(diào)節(jié)損失函數(shù)整體的梯度,提升整體的分割精度;此外,通過加入New xception block,使改進后的DeepLabv3+模型mIoU達(dá)到了82.51%。在DeepLabv3+基礎(chǔ)模型上,通過一系列改進使得改進后的DeepLabv3+模型相比于原始的DeepLabv3+模型提升了6.26%,并且改進后的DeepLabv3+網(wǎng)絡(luò)均優(yōu)于其他同類型主流網(wǎng)絡(luò)。
表3 與主流模型對比
改進后的DeepLabv3+算法與改進前在測試集上的部分可視化效果見圖6。
從圖6中可以看出,在第1和第6行圖像的矩形框中的DeepLabv3+算法的煙霧分割結(jié)果與真實值誤差較大,改進后的DeepLabv3+模型能夠更好地學(xué)習(xí)稀薄煙霧像素間的關(guān)聯(lián)性,具備更強的分割稀薄煙霧像素的能力;在第2和3行的三角框中的DeepLabv3+算法對于較遠(yuǎn)的火焰識別能力不足,而本文算法對于較遠(yuǎn)的火焰仍然具有較強的識別能力;在第2、3、4和7行中的圓形框中的DeepLabv3+算法將部分散落非煙霧像素誤判為煙霧像素,對于煙霧邊緣分割不完整;在第6和第7行圖像中人員走動存在遮檔,只有部分特征的情況下本文算法依然能較為準(zhǔn)確識別,說明本文算法具有較好的魯棒性;總體上看,改進后的DeepLabv3+模型比原始DeepLabv3+模型的分割效果更為平滑和準(zhǔn)確。
基于船舶機艙火災(zāi)識別需求,在原始DeepLabv3+模型基礎(chǔ)上進行了模型改進和損失函數(shù)設(shè)計,提升了模型對小火焰及稀薄煙霧的分割性能,且在人遮檔部分火災(zāi)特征的識別結(jié)果顯示出該算法具有較強的魯棒性?,F(xiàn)實中船舶機艙火災(zāi)場景較為復(fù)雜,船舶硬件計算資源有限,該算法模型參數(shù)量較大,實際應(yīng)用成本較高,不利于實際工程應(yīng)用。船舶機艙火災(zāi)檢測算法仍有較大的提升空間,對于如何提升算法的分割精度和時間復(fù)雜度,以及減少模型參數(shù)量,將成為日后主要的研究方向。