?

基于圖像分割的水炮射流落點檢測

2020-11-17 06:56周俊杰陳姚節
計算機工程與設計 2020年11期
關鍵詞:水炮落點射流

周俊杰,陳 黎+,陳姚節

(1.武漢科技大學 計算機科學與技術學院,湖北 武漢 430081;2.武漢科技大學 湖北省智能信息處理與實時工業系統重點實驗室,湖北 武漢 430081)

0 引 言

在消防領域的戶外以及海上滅火中,高壓水炮主要依賴人員手動操作,而室內大空間消防仍處于較低的自動化水平。在水面執法和警用防爆領域也主要依賴于人員手動操作或者遠程遙控。這些方法的局限性在于操作人員危險系數高、勞動強度大和工作效率低??煽康娜詣铀趯τ诩皶r消滅隱患、避免二次損害具有重要意義。

現階段的水炮自動控制技術大多數都依賴于開環控制,即在知道水炮與目標的相對位置時,通過先驗數據,計算水炮理論射流軌跡的參數,控制水炮打擊目標。由于水炮的射擊過程中的反饋信息無法被有效捕捉并提取,從而無法形成有效的閉環控制。而水炮射擊作為一種流體控制,在大空間應用環境中極易受到風向、炮口壓強變化和載體運動影響,這些不利因素更加確定了閉環控制是水炮自動化繞不開的技術瓶頸。在具體的應用場景中,水炮自動控制系統可通過計算射流落點與打擊對象的坐標偏差來修正控制偏差,并最終命中目標消除偏差。因此,研究水炮射流的落點檢測有利于推動水炮自動化研究的進程。

1 相關工作

國內外對水炮射流落點定位進行了一定量的研究,主要可分為通過質點運動規律建模和基于圖像射流軌跡識別兩種方法。文獻[1]討論了通過建模射流軌跡的方法定位落點的問題。然而水炮的射流軌跡與現場環境密切相關,真實環境中的風力、氣壓都對水炮射流造成很大的影響,僅用理論模型預測會存在一定的不確定因素。文獻[2]提出一種不受射流軌跡形態限制的曲線提取方法,在紅外圖像上利用射流邊緣的高頻特征分析出射流軌跡集合,從而確定射流落點。文獻[3]提出建模射流軌跡的一條三次曲線,單向搜索軌跡上的目標點并在射流末端確定一個ROI,最終在ROI區域進行射流落點識別。本文將射流落點檢測問題分為兩個階段來研究。第一階段是基于深度學習語義分割算法對圖像中的射流實例做分割,完整清晰的分割輪廓可以為下一步的分析提供適應于各種背景的基礎。第二階段是基于獲取到的輪廓邊緣信息決策出射流落點。本文做出了以下3點貢獻:

(1)收集并制作了射流分割數據集SPOUT1323。數據集中的圖片采集自戶外和室內實驗場地,以及互聯網資源。SPOUT1323數據集共收錄了1323張圖片,并以二值化掩碼標注了圖片中的射流實例,其中1000張圖片作為訓練集,100張作為驗證集,223張作為測試集。數據集中包含了在不同時間段、不同天氣狀況的場景。

(2)本文提出了一種適應于射流分割任務的輕量級深度學習語義分割算法L-Unet。L-Unet參考了Ronneberger等[4]提出的用于生物醫學圖像分割的Unet設計了輕量級的U型編解碼結構,并引入Chen等[5]提出的ASPP構建了濾波器的可變感受野。L-Unet在擁有不錯準確度的前提下達到了30 ms的處理速度,ASPP的嵌入使算法應對尺度多變的射流擁有更高的魯棒性。

(3)本文提出了作為后處理的輪廓分析方法。輪廓分析是在得到完整的射流輪廓后,對射流實例輪廓的梯度進行分析,在一定先驗知識的支撐下決策出射流落點。

2 數據集制作

數據集的質量對深度學習算法的表現起著決定性的作用。深度學習算法的優秀的精確性和魯棒性往往依賴于大規模數據的訓練,大規模的數據不僅僅意味著足夠大的數據量,更意味著需要足夠復雜多樣的背景。SPOUT1323數據集包含了來自現場采集以及互聯網資源的1323張射流圖片。在這些圖片中除了常見的射流圖像,還包括大風造成射流嚴重偏向和射流嚴重霧化圖像。從樣本背景來看,又包含了海上執法、室內消防和陸地消防,如圖1所示。

圖1 SPOUT1323數據集

在水炮射擊過程中,水炮射流是由水炮炮口射出的水形成的柱狀射流。在數據集的標注過程中,本文使用了 Labelme 工具對射流區域進行了手工提取。在實際劃分區域時會存在許多界限不明顯的區域。如圖2(a)所示,射流會在射出炮口后霧化成水幕,如圖2(b)中的Ⅱ區域。而只有當射流的主體部分命中后才是有效命中,如圖2(b)中Ⅰ區域。因此,在標定射流分割標簽時,將主體區域標注而忽略水霧區域。

圖2 數據集分割標簽

在SPOUT1323數據集中,有100張射流輪廓完整的圖片被標注了射流落點,如圖3所示。

圖3 射流落點標簽

3 本文方法

本文提出一種基于圖像分割的射流落點檢測算法。該方法的總體流程如圖4所示,包含射流分割模型和輪廓分析兩個階段。在第一階段分割出射流的實體輪廓,在第二階段決策出射流落點。

圖4 本文方法總體流程

3.1 L-Unet編解碼結構

L-Unet在主體框架的構建過程中廣泛地參考了經典的生物醫學圖像分割算法U-net。L-Unet采取編解碼結構布置,編碼器由8層卷積核為3×3的卷積層和4層最大值池化層構成,解碼器由4層卷積層以及4層反卷積層構成,其結構如圖5所示。為了達到非線性以及避免過擬合效果,每個卷積層后面都會添加一個relu激活函數和一個批歸一化層[6]。

圖5 L-Unet結構

編解碼器網絡結構最早由Long等[7]提出用于通用語義分割任務。在編碼的過程中,卷積層會將輸入特征中所包含的信息逐層提取,經歷了特征由低級細粒度特征到高級語義特征的學習過程。圖像低級特征包括圖像中的邊緣、色彩和亮度等細粒度特征,這些信息會在低層的卷積層中被學習到。圖像的高級語義特征包含目標更多的語義層次的信息,比如目標的外形等。在Zeiler等[8]的卷積神經網絡特征可視化研究中發現,當卷積層層數累加時,低級的細粒度特征會被逐漸抽象成高層語義信息。高層語義信息的累積有利于對目標區域像素的分類,但多層卷積同時會導致算法的計算量巨大,因此在卷積網絡的設計中通常會引入最大值池化操作。L-Unet編碼器包含4個2×2的最大值池化操作,這將會使編碼器輸出特征分辨率相比于輸入圖片下降16倍。本文采用了深度可分離卷積[9]替換普通卷積,這犧牲了極小的計算精度,但減少了大量計算參數與計算耗時。

L-Unet的解碼器是將高度抽象化的高層語義特征恢復到輸入圖片大小。在經過編碼器的卷積以及池化后,雖然網絡提取到了豐富的高層語義信息但存在著細粒度特征損失且分辨率下降的問題。L-Unet的解碼器由4個卷積核為3×3的卷積層、1層卷積核為1×1的卷積層和4層反卷積構成。其中3×3卷積是為了進一步獲取精細的分割結果,本文的方法是在編碼器和解碼器之間建立4條跳層連接,將編碼器中的低級特征直接恒等映射至解碼器中,3×3卷積對拼接的低級特征與高級特征進行融合運算。相比于高級特征,低級細粒度特征在目標邊緣分類時更加有效。L-Unet 算法的最終輸出是使用1×1的卷積層將與原圖尺寸相同、通道數為64的特征圖降維到單通道,并通過sigmod激活函數將結果歸一化為概率圖。

編碼器與解碼器的組合[10,11]在大多數語義分割公開數據集[12,13]上均能取得不錯的分割效果。但公開語義分割數據集中的分割對象和SPOUT1323數據集中的射流實例存在很大的差異性。SPOUT1323數據集中的射流實例尺度更加多變,水炮射流直徑、射流實例在圖像中的占寬比都隨著場景的不同而發生著變化。同時,相比于采用Resnet系列[14,15]層數更深的特征提取網絡作為編碼器的算法[16,17],L-Unet的輕量級編碼器網絡無法為算法提供足夠的感受野來應對分割對象的大尺度。為了解決上述缺陷,本文在 L-Unet 的編碼器與解碼器之間引入了Atrous Spatial Pyramid Pooling[18],下文簡稱ASPP。ASPP的設計是為了解決在語義分割任務中出現的同類目標尺度多變而難以精確分割的問題,通過在特征頂部映射圖使用了6和12兩種擴張率的空洞卷積生成多尺度感受野。同時將輸入特征圖全局池化為分辨率為1×1的特征向量,將結果采用雙線性插值上采樣至輸入特征的大小。所生成的多尺度特征圖拼接并經過一個1×1的卷積下降維度后與輸入特征拼接進入解碼器,過程如圖6所示,其中C為特征通道數。

圖6 多尺度特征融合過程

3.2 損失函數

將射流實例從圖像中被分割出來是一個像素二分類問題,本文將射流所處區域像素定義為正樣本,反之則為負樣本。SPOUT1323數據集中正負樣本的比例接近0.7∶9.3,正負樣本嚴重失衡,如果采用常用的平方損失函數

L(Y,f(x))=(Y-f(x))2

(1)

其中,Y表示樣本真實標簽,f(x) 表示樣本預測值。當數據集中的正負樣本比例差距大,神經網絡就會更加關注樣本多的類別,導致網絡在訓練過程中陷入損失函數的局部最小值,從而產生預測強烈偏向背景的網絡。因此為了解決正負樣本不均衡造成的問題,L-Unet使用二分類交叉熵損失函數和dice損失函數[19]相結合的損失函數來對網絡進行參數更新

(2)

(3)

(4)

H(p,q) 為二分類交叉熵損失函數,D(p,q) 為dice損失函數,HD(p,q) 為本文所使用的損失函數。其中N表示像素點總數,pi∈P表示樣本預測值的總和,qi∈Q表示樣本真實標簽的總和。λ和η是平衡二分類交叉熵損失函數和dice損失函數在梯度下降中貢獻的超參系數。

3.3 輪廓分析

輪廓分析是在獲得取得射流實例的分割輪廓后決策射流落點的過程。在輪廓分析之前需對L-Unet的輸出概率圖做預處理,得到標準二值化輪廓圖,如圖7(c)所示。L-Unet 的輸出的概率圖以閾值prethreshold=0.5劃分像素為正例和負例,得到標準二值化分割圖,如圖7(b)所示?;赾anny邊緣檢測算子提取出射流輪廓二值化輪廓圖,完成輪廓分析的預處理。

圖7 射流邊緣輪廓檢測

射流的輪廓是連續分布的像素集合 {P|p1,p2,p3,…}.本文的思路是挖掘連續輪廓點的依賴關系,即通過設置一定的采樣觀測點求得射流輪廓局部梯度。通過觀察射流輪廓可以得出射流落點通常處于輪廓梯度變化最劇烈的區間。因此,對采樣區間內的輪廓梯度進行排序,再由射流射擊方位等先驗知識篩選出概率最大的射流落點。輪廓分析步驟如下:

(1)均勻采樣,設定一個采樣間隔,在輪廓像素集合上以間隔d為步長,取觀測點。參數d取決于輪廓像素集合的密度和輸入圖像大小,參數設置過大則會導致局部感受野過大,反之則過小,兩者均不能為射流落點決策提供有效的局部梯度特征。本文定義參數d為

(5)

其中,Contour_len為輪廓像素集合長度,Object_wid為輪廓區域寬度,Image_wid為輸入圖像寬度。

圖8 輪廓分析

(3)夾角排序:窮舉上述輪廓像素,生成由夾角角度數據組成的隊列。并對上述計算的夾角隊列按數值大小進行遞增排序,數值較小處落點所在區域概率較高。

(4)射流落點決策:水炮由攝像頭的左側(或右側)向目標射擊的情況是可以預先獲取到的先驗知識,因此通過計算向量夾角中線(如圖8(a)中β射線所示)確定輪廓尖銳處的趨向來選定射擊落點。當射流是由鏡頭右側射向目標時,輪廓向量夾角合理有效區間應為處在第三象限的[-170°,-100°]。當射流是由鏡頭左側射向目標時,輪廓向量夾角合理有效區間應為處在第三象限的[-80°,-10°]。將遞增夾角序列逐次進行有效性判斷,首個出現在有效區間的判定為有效射流落點夾角,取其構成向量的中心輪廓點如圖8(a)中e。

(5)射流落點補償:通過上述4個步驟可以初步得出射流落點,但當射流擊中目標往往會形成浪花干擾分割的結果,如圖9(a)中的射流會分割為圖9(b)中的二值化圖片。本文采取的方法是在落點相鄰的50個輪廓點搜尋縱坐標最低點,并取其橫坐標作為射流落點橫坐標。如圖9(c)中,A點經補償后偏移到B點。

圖9 落點修正過程

4 實驗與分析

4.1 實驗環境

硬件設備:CPU為Intel Core i7-9700k 3.7 GHz,GPU為NVIDIA GeForce RTX 2080 Ti 11 GB,內存為DDR4 16 G。軟件環境:操作系統為windows10-1903,Python3.7,Pytorch1.1.0。

4.2 數據增強

SPOUT1323數據集中的數據主要來源于實驗場地拍攝,所涉及到的實驗場地以及所處的天氣狀況和外界光照強度并不能使L-Unet網絡的泛化能力達到很好。因此,在L-Unet網絡的訓練過程中讀取數據時,通過隨機旋轉、鏡像、模糊、光照調整、尺度調整以及添加人工噪聲等數據增強方法擴增訓練樣本集,如圖10所示。

圖10 數據增強效果

4.3 L-Unet模型

L-Unet模型的訓練在上述實驗環境下完成。模型的訓練采取了按批處理的方式,將6張圖片作為一個批次(batch)參與模型參數優化過程??偣残枰?21個batch完成一個epoch的訓練,最終遍歷SPOUT1323數據集400個epoch完成訓練。訓練采用了Adam的參數優化器,學習率調整策略采取的是Poly策略。Poly策略的公式為

(6)

L-Unet是一個典型的語義分割模型,本文在評估L-Unet 性能時采取了準確率(accuracy,ACC)、靈敏度(sensitivity,SE)和特異性(specificity,SP)評估模型的分割性能。3個指標的計算公式如下所示

(7)

(8)

(9)

其中,TP為真陽性,指的是正確分類的射流點個數,TN為真陰性,指的是正確分類的背景像素點個數,FP為假陽性,指的是誤分成射流像素的個數,FN為假陰性,指的是誤分成背景像素點個數。準確率表示類別預測正確的像素占圖像像素總數的比例,從整體上反映了L-Unet模型訓練的魯棒性。靈敏度表示了被正確預測為射流像素占射流像素總數的比例,反映的是射流像素的漏檢情況。特異性表示被正確預測為背景的像素占背景像素總數的比例,反映的是射流像素的誤檢情況。L-Unet模型訓練的情況如圖11所示。

圖11 訓練損失下降過程

經過400個epoch的訓練,L-Unet訓練損失函數穩定在0.0368結束訓練。本文對Deeplabv3、U-net與本文提出的 L-Unet 算法在分割性能與計算資源消耗上進行了比較。實驗均在704×448的輸入圖片上進行測試,實驗結果見表1。

表1 L-Unet與幾種經典分割方法對比

4.4 落點檢測

本文在100張標注射流落點的數據上進行了落點檢測測試。測試集的圖片均采集自實驗場地,而非來自網絡。這些圖片是從多個角度和多個光照強度段采集,單獨進行測試。相比于來自網絡的射流圖像,采集實驗場地的圖片拍攝角度更加貼近自動水炮的應用需求,且提供更加完整的射流輪廓。落點檢測采取的評價指標是精確率(Precision),其計算公式為

(10)

精確率反映的是所有正確預測的射流落點在所有落點檢測結果中的比例。其中TP為正確定位的射流落點,FP為定位錯誤的射流落點。本文以算法射流落點檢測結果與標簽結果間像素的歐式距離作為TP與FP的區分條件,當誤差距離小于閾值threshold=20時則判定為正確預測,否則判定為錯誤預測。

射流落點檢測實驗結果見表2。

表2 射流落點檢測結果

對其中幾組典型結果做分析,每張圖片耗時約32 ms(包含第一階段分割耗時)。如表3所示的5組實驗:實驗1組展示的是在十分理想的情況下檢測的結果,實驗環境中光照充足,射流軌跡清晰且無霧化現象,在第一階段的分割任務中ACC指標達0.995。良好的分割效果使得第二階段的落點檢測達到較高精度;實驗2組是在較暗的環境中進行,較暗的光照情況使得一階段的分割效果產生了下滑現象,主要體現在分割結果中出現了噪點,但并沒有對二階段的落點檢測產生不利影響;實驗3組是射流的末端出現分散的現象。但在SPOUT1323分割數據標注時將發散部分忽略為背景,這一人為設定在L-Unet訓練過程中被模型學習到了。因此,3組中的射流發散沒有對射流主體的分割造成嚴重干擾;實驗分組4是在室外實驗場地采用大口徑水炮射擊,相比于前幾組實驗產生了霧化干擾,這對分割效果產生了較明顯的干擾;實驗分組5是小口徑水炮散射效果。

表3 實驗效果展示

通過觀察實驗中的分割效果圖和射流落點定位誤差可以看出,射流落點的定位受到一階段射流分割結果的影響較大,良好的檢測結果依賴質量較高的射流分割結果。實驗在100張測試數據集上取得了95%的精確率,而檢測錯誤的來源主要是來源于霧化嚴重的射流對象。

5 結束語

本文提出的水炮射流落點檢測方法最大貢獻之處在于將深度學習模型引入到射流軌跡提取任務。相比于傳統的射流落點檢測方法[3]多是應用在背景相對簡單的紅外圖像上,在射流軌跡的提取方式上,采取了深度學習方案的 L-Unet 模型對形態復雜多變的射流具有較強的魯棒性,這對推動相關技術的實用化具有相當意義。在設計L-Unet的過程中,本文在性能與耗時之間尋找到了平衡點。使得模型在分割準確率達到0.990的可觀精度前提下,分割單幀圖像僅31 ms。第二階段的輪廓分析高度依賴第一階段的射流實體分割精度,通過挖掘射流輪廓點的梯度關系決策出射流落點。本文方法在SPOUT1323數據集射流落點檢測數據集上得到了95%的精確率,但仍存在著很大的優化潛力。下一步的工作應將重點放在輪廓分析階段,增強輪廓分析方法對射流分割結果的抗干擾能力。

猜你喜歡
水炮落點射流
深海逃逸艙射流注水均壓過程仿真分析
低壓天然氣泄漏射流擴散特性研究
基于空間分層組合設計的火箭落點實時計算模型
“防霧霾炮”
鐵礦采場多組份水炮泥抑制爆破煙塵試驗研究
AC313 直升機加裝水箱、水炮總體技術方案通過評審
MSC.365(93)關于修訂SOLAS消防系統要求的研究
美火星軌道器拍到歐洲著陸器落點圖像
射流齒形噴嘴射流流場與氣動聲學分析
地鐵站臺活塞風附壁射流起始段的實測和實驗驗證
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合