?

基于元學習的少樣本水閘圖像識別方法研究

2024-03-19 01:49薛凌峰鮑建騰戚榮志
江蘇水利 2024年3期
關鍵詞:圖像識別水閘閘門

薛凌峰,宋 煒,鮑建騰,焦 野,戚榮志

(1.江蘇省水旱災害防御調度指揮中心,江蘇 南京 210029;2.河海大學計算機與軟件學院,江蘇 南京 211100)

隨著智慧水利工作的推進,國內各級水利防汛視頻監控系統相繼建成[1-3],可以更及時、便捷地獲得水利影像數據,有助于更好開展水利監管工作。其中,水閘啟閉狀態監控是防汛調度工作中的一項重要內容,應用水閘場景圖像自動識別技術輔助或代替人工監管,可以提高異常情況監測的實時性[4]。但不同類型水閘的啟閉狀態判斷依據相似而不盡相同,而且一些低調度頻率的水閘的各種不同運行狀態的影像資料難以收集,在歷史上也沒有足夠的水閘影像資料積累,于是許多水閘的開啟或關閉狀態的樣本數量很不均衡,部分狀態樣本很少。針對該問題,本研究將不同類型的水閘圖像識別工作視為多個具有相似性的子任務,基于元學習理論[5]捕捉各類型水閘啟閉狀態識別任務的共性,實現跨水閘類型的閘門啟閉狀態圖像識別。

1 水閘圖像數據集構建

水閘圖像識別領域內缺乏權威可靠的開源數據集,因此本研究需自行構建數據集。所有采集到的原始數據需要進行一系列的預處理才能成為可以進行學習的樣本。

1.1 數據來源

本文水閘啟閉狀態圖像數據主要采集自江蘇省防汛視頻監控系統,從系統中導出水閘閘口監控視頻片段作為初始影像數據,再從視頻中提取各種狀態的水閘場景圖像。本文共收集了石梁河水庫南北泄洪閘、皂河閘、??陂l、黃沙港閘等16個閘門的影像數據,由于各個閘門在每個年周期內的調度頻率不同,因此盡量收集了各水閘的不同狀態數據。

1.2 圖像數據預處理

省級防汛視頻監控系統中不同水閘監控點的視頻質量各異,需首先借助視頻格式轉換工具將AVI、MOV 等格式統一轉換為MP4 格式,再人工篩選記錄閘門場景時間段以及對應標簽,并處理視頻損壞、跳幀等。在此基礎上,利用OpenCV計算機視覺模塊提供的CV2.VideoCapture函數從視頻流中截取圖像。為了避免異常干擾,確保正確標記閘門啟閉狀態,對每一連續場景每隔25 幀(約2 s)截取一張圖像,再人工篩除不合格圖片。

視頻在生成和傳輸過程中容易受到各種噪聲的干擾,導致圖像質量下降,對后續圖像的處理和圖像視覺效應將產生不利影響。非局部均值算法[4]充分利用圖像中的冗余信息,在去除噪聲的同時最大程度地保持圖像的細節特征,其基本思想是將圖像中與當前像素具有相似領域結構的像素加權平均作為當前像素的估計值,其權值由像素歐拉距離確定。對于每一個像素點的權值,采用以該像素點為中心的圖像子塊與當前像素點為中心的子塊之間的高斯加權歐氏距離來計算。一般認為,圖像中的其他像素與當前像素的歐拉距離越小,則兩者越相似,因此為此像素設置較高的權重。

視頻監控設備通常安置在拍攝水閘工程整體的位置,因此每張圖像上有多個閘口。為便于做標記和后續算法分析,以單個閘口圖像區域作為感興趣區域(region of interest,ROI),將各ROI 截取為單獨圖片。具體操作為:利用OpenCV2模塊的鼠標事件函數實現交互,得到并記錄感興趣矩形區域的左上、右下頂點坐標值,將其作為Pillow 圖型庫Image.crop函數的輸入值,從而完成圖片裁剪,得到ROI區域。預處理后效果示例如圖1所示。

圖1 圖像預處理效果

1.3 圖像增強

通過圖像數據預處理后得到的樣本存在類別不均衡的問題,部分水閘圖像數據稀缺、啟閉狀態圖像數量差距大,不利于模型的訓練。數據增強使用平移變換、縮放和剪裁等圖像處理方法對原始數據進行變換,生成相同對象不同形態的更多數據,用于補充欠缺的類型樣本,促使模型學習到具有分辨性的特征,增強方法的魯棒性。其中,水平翻轉方法操作簡單,并且在水閘啟閉狀態識別場景中可以保證標簽安全。在實際環境中,水利防汛監控攝像設備的安置位置受限,在同一水閘站點往往僅從某一單側視角進行拍攝記錄。采用水平翻轉進行增強,盡量補充了數據集中樣本量少的開啟或關閉狀態下的某些閘門圖像,并能在確保色彩、線條等其他特征不丟失的同時豐富了水閘的不同視角特征。

2 水閘圖像識別方法

水閘數據集中的圖像大都沒有明確的前后景區分,而且關注區域不是簡單的某個對象,而是以圖中的閘口、浪花、水波紋等要素綜合作為分類結果判斷的依據,這與在標準數據集上開展的圖像分類研究存在較大差異。因此,為了適應少樣本水閘啟閉狀態圖像識別的應用場景,本文基于SNAIL 元學習模型,提出了多頭自注意力水閘圖像識別方法(Multi-Head Self-Attention SNAIL,MH-SNAIL)。MH-SNAIL網絡框架如圖2所示。

圖2 MH-SNAIL網絡框架

MH-SNAIL 接收水閘圖像特征向量組作為輸入,通過3個多頭注意力層和2個時序卷積層交替,后接一個全局平均池化層計算輸出表征預測結果的二維概率向量。其中,3個多頭注意力層的鍵-值嵌入向量的維數依次為64-32、256-128、512-256,2 個時序卷積層的通道數均為128,每個通道包含N×K+1個稠密塊。

2.1 多頭注意力

多頭注意力機制根據查詢嵌入與鍵嵌入的相似性分布計算得到一組關于值嵌入元素的權重,再基于這組權重更新值嵌入中的元素,能夠很好地學習長序列信息。多頭注意力首先對查詢嵌入、鍵嵌入與值嵌入進行線性變換映射到多個不同子空間中,在子空間中分別執行普通的注意力運算后再合并結果,過程示意如圖3所示。

圖3 多頭注意力示意

多頭注意力首先將查詢嵌入Q、鍵嵌入K與值嵌入V線性映射到多個各異的子空間中(設子空間的個數為h,取輸入特征向量維數不大于6的最大公因數),再在各個子空間中并行執行h次注意力函數,從而得到h個不同的注意力結果,即h個頭(head),最后將這些結果拼接起來并進行線性變換,生成最后的注意力結果。

多頭的注意力運算模式能夠從不同的特征表示子空間中學習到更多有價值的信息。顯然,在少樣本水閘圖像分類任務中,相比普通的注意力機制,多頭注意力機制更能達到綜合關注多種特征的要求,有利于網絡更加全面地捕捉水閘圖像中的關鍵信息,也可以更好地彌補時序卷積在長距離依賴中的不足。

2.2 全局平均池化

MH-SNAIL 網絡的輸出層使用全連接層,將學習到的特征表示綜合起來并映射到樣本類別空間中,但全連接層存在參數多、訓練速度慢的弊端,并且會將一定的特征存儲在這些參數中。本文考慮使用全局平均池化層來代替全連接層,先采用一個GAP將N個特征圖降維成一個1×N像素尺寸的特征圖,再用C個1×1 卷積核將1×N的特征圖卷成1×C的向量,其中C為類別數量,在本文的水閘啟閉狀態圖像分類問題中取2。通過這種替換方案,整個過程在維度上來看相當于一層全連接層,但GAP能夠大大減少特征的維度,有利于提升訓練速度。

3 實驗驗證

3.1 實驗數據及評價指標

實驗使用本文第2小節所構建的水閘圖像數據集sluice-ImageNet,共包含來自16類水閘的15 000幅84×84像素的彩色閘門啟閉狀態圖像樣本。為了方便實驗,采用水平翻轉處理數據集的所有圖像,使得樣本數量擴增為原數據集的兩倍。此時,為了保證每一個元任務中都能學習到多于一種水閘類型的樣本,必須設置類別數N不小于5。根據數據采樣規則,將數據集劃分為不同閘門且不同啟閉狀態的25 個子批,每個子批包含1 200 幅圖像。其中,9類閘門包含開啟態和關閉態的兩個子批,挑選其中8 個閘門的16 個子批作為訓練集,將剩余1 個閘門的2個子批連同其他7個子批隨機劃分為測試集和驗證集,具體數據集結構如表1所示。

表1 數據集結構

實驗使用訓練階段的平均驗證準確率(Validate Accuracy)和測試階段的測試準確率(Test Accuracy)來評判所提方法的效果。在訓練階段,每個epoch訓練結束就進行驗證評估和統計每次驗證的結果,取平均值作為一個epoch的驗證準確率。在測試階段,在測試集上構建103個隨機任務,用訓練階段每次驗證準確率最高的權重模型進行測試,所得結果的平均值作為測試準確率。其中,每次任務的驗證與測試結果將會取95%的置信區間。

3.2 實驗環境及配置

實驗的所有網絡模型均運行于相同的軟硬件環境,其詳細軟硬件環境配置如表2所示。

表2 實驗軟硬件環境配置

實驗采用了5-way 1shot和5-way 5-shot這兩種任務的方式,使用批處理大?。╞atch size)為16、初始學習率為1×10-4的Adam 優化算法調整模型的參數,設置訓練次數(epoch)為100,每次訓練的元任務數為103,學習率每訓練20次迭代減半,權重衰減為10-6。訓練階段,每完成一次訓練就進行驗證評估,并統計每一次驗證結果,將其中驗證準確率最高的權重模型保存下來,作為測試階段的模型。

3.3 實驗結果與分析

為了評估MH-SNAIL 在水閘啟閉狀態圖像識別任務上的性能,選擇匹配網絡、MAML、原型網絡和關系網絡這4 種經典的元學習方法與本文的MH-SNAIL 方法進行比較,通過與少樣本圖像分類領域內的其他常用方法比較,進一步驗證本文的MH-SNAIL方法的有效性。

表3中展示了各方法在sluice-ImageNet 數據集上以5-way 1-shot 和5-way 5-shot 的訓練方式進行訓練后得到的測試準確率。從表3 可以看出,MHSNAIL方法在sluice-ImageNet數據集上的表現明顯優于這些方法。在1-shot 場景下,MH-SNAIL 相較于匹配網絡、MAML、原型網絡和關系網絡分別具有11.78%,8.01%,7.46%和5.18%的分類性能提升;在5-shot場景下,則分別具有11.94%,5.57%,4.48%和6.42%的分類性能提升。這有力地驗證了本文提出的MH-SNAIL方法的有效性和優越性。另外,在5-way 5-shot 情景下,MH-SNAIL 方法的分類準確率為70.34%,初步達到了跨水閘類型閘門啟閉狀態圖像識別應用的要求。

表3 在sluice-ImageNet上與其他方法的分類準確率對比

本文采用Python 編程語言,基于TensorFlow 深度學習框架實現了MH-SNAIL模型。模型將應用在重點水利工程視頻監測平臺中。模型部署時,首先將訓練好的模型導出為ONNX格式,然后在GPU服務器上加載ONNX 模型,以加速模型推理的速度。監測平臺通過模型提供的Restful接口進行交互。模型接收用戶通過平臺Web界面上傳的JPG或PNG格式的水閘圖像,或者對接平臺獲取的實時視頻,收到圖像信息后在服務器上進行推理,并將水閘實時狀態識別結果以JSON格式的報文發送給用戶平臺。

4 結 語

提出了基于元學習的少樣本水閘圖像識別方法,采用多頭注意力,提升網絡準確捕捉多種與任務相關的關鍵特征信息的能力,更好地與時序卷積協作實現水閘啟閉狀態圖像識別。在sluice-ImageNet 數據集上的實驗驗證了MH-SNAIL 方法的有效性和優越性,初步達到了跨水閘類型閘門啟閉狀態圖像識別應用的要求,并且,通過微服務架構實現水閘圖像識別方法的服務化封裝,部署于重點水利工程視頻監測平臺中,具有高度靈活性和拓展性。該方法可作為防汛視頻監控系統的延伸,輔助或代替人工監管,提高異常情況監測的實時性,實現更智能的化水利工程管理的運行。

猜你喜歡
圖像識別水閘閘門
我終于會過地鐵閘門了
基于Resnet-50的貓狗圖像識別
高速公路圖像識別技術應用探討
圖像識別在物聯網上的應用
圖像識別在水質檢測中的應用
2016年河南省已建成水閘數量
把住醫?;鹚亻l門
全省已建成水閘數量
找準入口,打開思路的閘門
河南省2014年已建成水閘數量
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合