?

基于卷積神經網絡的監控圖像水位識別

2023-09-27 07:40王述強艾小堅
江西水利科技 2023年5期
關鍵詞:水尺語義像素

王述強,張 飛,艾小堅

(1. 信江饒河水文水資源監測中心,江西 上饒,334000;2. 江西省水文監測中心,江西 南昌,330002;3. 西安電子科技大學,陜西 西安,710071)

0 引言

水文監測是許多國家非常重要的研究領域[1],尤其是在河流區域較多的國家。河流在人類生活中起著至關重要的作用,也是洪水的源頭。雨季洪水頻發,造成大量經濟損失和災害性疾病。據中國國家減災中心統計,洪水也是2020 年的主要災害,造成27 個省3200萬人受災。因此,準確、快速地開展河流水位檢測,迅速應對洪澇災害迫在眉睫。

本文引入卷積神經網絡來檢測水尺和水尺上的印刷數字。然后,使用語義分割模型對水面上的水尺進行分割,得到準確的水位線。前者是目標檢測任務。本文采用改進的目標檢測模型FCOS[2]來檢測水尺和水尺編號。得到數值相關信息后,下一步就是檢測水位線。文章通過在水面以上劃分水尺來間接檢測水位線。為了實現這一點,本文采用了Deeplab-v3+[3],它是一種高效的語義分割模型。為了提升模型邊緣計算和模型的對復雜水文場景的檢測能力,本文對FOCS 和Deeplabv3+加入了上下文融合語義模塊,分別將改進后的模型命名為FCOS-CA,Deeplab-CA。

1 研究方法

1.1 水尺及數字區域檢測模型

本文提出的模型主要是用邊緣計算的思想進行部署的。網絡需要在確保準確性的同時盡可能小。本文提出的FCOS-CA 模型使用ResNet-54 作為主干網絡。FCOS 使用五個不同尺度的特征圖進行進一步檢測。由于任務是單個目標檢測,因此這些不同尺度的特征圖是不必要的。模型只使用三個特征圖?;貧w和分類的特征也減少到了3 個。采用上述修改后,本文提出的模型在檢測精度和模型大小之間達到了平衡。FCOS 的骨干網絡充分提取了原始圖像的語義特征。不同高度的特征圖層包含不同層次的語義信息,較低層次的特征包含豐富的圖像細節,較高層次的特征包含全局語義結構信息[4,5]。因此,模型融合了相鄰層之間的特征圖,以充分保留源圖像中的語義信息?;谶@個想法,本文提出了上下文融合模塊。該模塊生成密集的像素級上下文信息,同時提高長連接路徑中特征編碼的效率。

1.2 水尺區域分割模型

基于卷積神經網絡的語義分割已經達到了很高的水平[6,7],在智慧水利上也有使用先例,從FPN 到Deeplab 系列模型,語義分割的性能不斷提升。未來水位識別模型需要在邊緣設備而不是計算機上運行,因此模型的大小是有限制的。所以使用ResNet54 作為Deeplab 的骨干網絡。骨干網絡的減少肯定會導致性能下降。為了緩解這個問題,對特征融合進行了改進??紤]到水面以上和以下水尺的分割精度,通過使用上下文融合模塊改進了特征融合的方法,如圖1 所示。

圖1 特征融合示意圖

改進后的Deeplab 模型結構如圖2 所示。

圖2 改進后的Deeplab 結構圖

1.3 水位識別

1.3.1 水位線提取

Deeplab 分割的結果是一個多邊形區域。需要提出一種算法來根據多邊形計算水位的位置。首先計算該區域的最大包圍矩形。為方便起見,只計算垂直矩形框。矩形框的關鍵是計算左上角右下角坐標。使用該方法來計算這些坐標。水位線提取示意圖如圖3 所示。

圖3 水位線檢測示意圖

1.3.2 水位測量

FCOS 物體檢測的結果顯示了每個數字的像素坐標,可以計算每個數字之間的距離。水位線的分割結果顯示了水位線的像素高度,然后可以計算它與最近數字的距離。FCOS 模型的檢測結果是矩形框,理想情況下可以給每個圖一個矩形框。由于實際水尺背景復雜,FCOS 模型的檢測精度無法達到100%,導致存在漏檢或誤檢的情況。需要利用刻度上數字的分布作為先驗信息,即水尺從下到上均勻分布數字0 到9,并對檢測結果進行處理,去除錯誤的檢測結果。

一個檢測矩形代表一個數字區域,矩形左上角和右下角的坐標是已知信息。數字矩形中心的坐標記為hx,其中x 表示數字個數,而兩個相鄰檢測數字之間的距離用dxy表示。由于每個數字是等距的,所以兩個相鄰數字之間的實際距離可以用下式表示

n 的值由數字之間的實際編號距離決定。如果模型只檢測到“8”和“2”兩個數字,則n 的值為6。任意一個數字的實際高度,即物理距離為5cm,相鄰兩個數字之間的實際物理距離為10cm,即每單位像素高度的實際物理距離。每單位像素高度的實際物理距離表示為:

檢測到的最小數x 的中心坐標高度為hmin,檢測到的水位線高度為hline,則實際水位值可通過以下方程計算:

2 研究結果

2.1 評價指標

本文描述的三個任務使用了不同的評估指標。對于水尺檢測任務,本質上是一個物體檢測問題,指標為準確率、召回率和均值平均精度。對于水尺區域分割任務,為像素精度和平均交叉合并率。對于水位識別任務,選擇包括相對誤差和絕對誤差在內的指標。

精確度和召回率這兩個指標由四個基礎指標組成,即TP、TN、FP 和FN。TP 表示正樣本被預測為正樣本。TN 表示負樣本被預測為負樣本。FP 表示負樣本被預測為正樣本。FN 表示預測為負樣本的正樣本。精度和召回率計算如下。

同時,為了綜合考慮這兩個指標的評價,可以用這兩個指標來繪制一條PR 曲線,即以準確率為縱坐標,召回率為橫坐標,然后是PR 曲線所包圍的面積,坐標軸可以作為新的測量值。對于單個目標,該指標稱為平均準確度。對于多個目標,每個類別的AP 平均值計算為mAP。

每像素累積(Per-pixel acc)是預測的準確像素數(在分割任務中分割準確的像素數)與總像素數之比。假設有n 個類別,預測為i 類像素的類像素數用TPi表示,預測為類別的i 類像素數用FNi表示。然后,Perpixel acc 的表達式如下式所示:

2.2 數據集

由于水尺圖像沒有公共數據集,本文只在我們的水尺數據集上對其進行訓練和評估。大部分水位數據來自江西婺源水文站。我們從該水文站的20 個監測點收集了560 幅水尺圖像。此外,我們還從互聯網上下載獲得200 幅水尺圖像。還對圖像進行幾何變換以擴展數據集,包括翻轉、旋轉、裁剪、變形、縮放等。然后用12 類注釋量規和打印數字,并將原始圖像裁剪為小尺寸。因此,分別使用5.6K 和0.6K 圖像創建訓練和測試分割。數據集的采樣器如圖4 所示。

圖4 數據集樣本

2.3 實驗和分析

2.3.1 水尺及數字檢測

本文使用自制的水尺數據集對改進后的FCOS 模型進行訓練和測試,同時也選擇了SSD、YOLOv3 目標檢測模型作為對比模型。模型的測試結果如表1 所示。本文改進的模型表示為FCOS-CA。

表1 不同模型的檢測效果

從表1 可以看出,FCOS-CA 在三個指標上的良好結果表明該模型能夠勝任水位檢測任務。

同時,本文還對水尺水位值識別中的7 個難點場景進行了測試,分別是:反射、風浪、逆光、水體透明度、夜間補光、臟污和日影。其中部分難點場景檢測結果如圖5 所示,效果較好。

圖5 水尺檢測情況

2.3.2 水尺區域分割

使用自制的水尺數據集對本文改進的Deeplabv3+語義分割模型進行訓練和測試,表示為Deeplab-CA。FCN 和UNET 分割模型也被選為比較模型。不同模型的測試結果見表2。在水尺區域分割的實驗結果中,將分割結果表示為淺綠色區域并疊加在原始圖像之上,同時降低原始水尺圖像的亮度以獲得更可觀的可視化測試結果。

表2 水尺區域分割模型性能對比

從表2 可以看出,在推理時間上,雖然Deeplab-CA模型稍慢,分別比UNET 和Deeplab-v3+慢0.02s 和0.04s,但都有不同程度的提升。Deeplab-CA 在三個指標上的良好結果表明,該模型能夠勝任水位線分割的任務。

同時,本文還對水尺水位值識別中的七個難點場景進行了測試,分別是:反射、風浪、逆光、水體透明度、夜間補光、臟污和太陽陰影。其中部分分割結果如圖6。

圖6 水尺分割結果

對于圖6 中的傾斜水尺,FOCS-CA 模型準確區分了水尺區域上下兩部分,也解決了“傾斜”帶來的干擾。

在水尺區域的分割指標方面,該模型實現了92%的像素分割準確率。從可視化分割結果來看,FOCS-CA 模型不僅在實際復雜場景中分割效果顯著,而且對實際場景中的七種特殊場景也取得了顯著的分割效果。

2.3.3 水位測量實驗

為了驗證水位值識別的有效性,本文采用的評價指標是比較人眼觀察到的水位線垂直高度與算法識別的水位線垂直高度的誤差。這里的高度是水尺刻度下的高度,即由尺身編號構成的高度。水尺讀數示意圖如圖7。

圖7 水尺水位值讀數示意圖

每個字母E 與翻蓋E 的實際物理距離為5cm,字母E 的每個“十字”的物理寬度為1cm。每個數字的中心對應字母E 中間的一個“十字”中心的位置。兩個相鄰數字的中心之間有10 個“十字”。圖中水位值的讀數為5.0cm 或50.0cm,不帶單位表示標記相對于刻度底部的距離,帶單位表示相對于刻度底部的實際物理距離,水位值的實際水文場景也需要利用水尺安裝位置的高程信息進行計算,本文僅以水尺的相對標記距離作為水位值進行討論。首先,本文選取水尺數據集的測試集進行水位值識別實驗,測試結果見表3。識別結果按照絕對誤差分為若干范圍,統計每個范圍的樣本結果占所有樣本的比例。該統計結果表明:本文提出的水位識別算法取得了較好的效果。

表3 水尺測試集水位值識別統計結果

然后選取校園內不同人工湖中背景干擾程度不同的六組位置進行測試,測試結果見表4。

表4 實際監測點水尺水位測量結果

人工讀數由七名觀察員進行人眼觀察讀數。對七組水位值數據的每個監測點水位圖像,去除最大值和最小值以減少個體偏差引入的誤差,最后取平均值作為水位圖像的水位值。表4 中算法識別值為本文通過算法識別的水位值。其中相對誤差為“+”表示算法讀數偏大,“-”表示偏小。

從校園人工湖實際監測點的水位識別實驗可以看出,FOCS-CA 算法的識別效果與人工觀測結果非常接近,絕對誤差大部分在1cm 以內,滿足水位觀測標準的要求。同時,本文測量了七種特殊復雜場景下水尺水位值的識別情況。測量結果見表5。

表5 七種特殊場景下的水位值識別結果統計

3 結語

為了解決真實水文場景中的水位識別問題,本文提出了一種基于卷積神經網絡的水位識別組合方法。這種組合方法包括水位數字檢測模型、水位區域分割模型和水位線提取算法。實驗結果表明,文中提出的方法有效地解決了基于水位圖像的水位識別問題。目前的缺點是還不能將該方法應用于嵌入式AI 設備。未來,我們將探索解決問題的方法,提高該方法應用效率和識別準確率。

猜你喜歡
水尺語義像素
趙運哲作品
像素前線之“幻影”2000
淺析國內海洋漁船與海船載重線、水尺標志勘劃的區別
語言與語義
海運電廠船舶靠岸側水尺圖像采集實驗研究*
水尺標志放樣及數控切割解決問題方案
“像素”仙人掌
“上”與“下”語義的不對稱性及其認知闡釋
高像素不是全部
淺析水尺勘劃方法及要點
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合