花勝強,陳 意,鄭慧娟,袁 帥,高 磊
(南瑞集團(tuán)(國網(wǎng)電力科學(xué)研究院)有限公司,江蘇南京211106)
隨著我國制造產(chǎn)業(yè)的迅猛發(fā)展,人民群眾生活水平的飛速提升,以及水利水電建設(shè)的大規(guī)模開展,水電廠、水利樞紐的庫區(qū)開始出現(xiàn)和聚集大量的漂浮物,其成分主要包含生活垃圾、工業(yè)廢棄物及樹干枝葉等。由于水電廠或水利樞紐一般承擔(dān)著防洪、供水、發(fā)電、航運及旅游等社會和民生功能,防漂浮物的存在不僅對運管單位的水工設(shè)施、交通安全、機電設(shè)備等造成危害,更會污染水體,破壞地區(qū)生態(tài)環(huán)境,因此,及時地監(jiān)控、估算庫區(qū)漂浮物,從而合理制定和安排漂浮物清除作業(yè),無疑具有極其重要的經(jīng)濟(jì)和安全效益[1-3]。
當(dāng)前,對于庫區(qū)漂浮物的實時監(jiān)測主要依賴人工巡檢及機器視覺等方式。人工巡檢實施簡單但耗費人力,也無法實現(xiàn)實時監(jiān)測,對于當(dāng)前漂浮物的體量難以量化預(yù)估,不利于后續(xù)組織安排清除作業(yè)船只?;谶h(yuǎn)程攝像的機器視覺是一種借助圖形圖像處理方法進(jìn)行成像中目標(biāo)物檢測、分割和識別的技術(shù),具備自動化、智能化等特性,是進(jìn)行庫區(qū)漂浮物在線監(jiān)控和分析的良好途徑。已有文獻(xiàn)提出基于圖像灰度和邊緣曲線的BP神經(jīng)網(wǎng)絡(luò)用于樹枝和漂浮瓶的判別模型,基于Faster R-CNN、R-FCN和SSD等多種深度學(xué)習(xí)網(wǎng)絡(luò)用于落葉和水草的目標(biāo)檢測,以及基于AlexNet卷積神經(jīng)網(wǎng)絡(luò)用于水面塑料制品的識別等,均取得了一定的識別效果[4-5]。
BP神經(jīng)網(wǎng)絡(luò)及深度學(xué)習(xí)算法關(guān)于復(fù)雜非線性映射關(guān)系良好的擬合能力,在圖形圖像分析識別中確實具有一定的優(yōu)勢,但其限制條件也很顯著,如網(wǎng)絡(luò)模型的精度是由數(shù)據(jù)驅(qū)動的,需要大樣本的漂浮物圖像集并一一加以標(biāo)注,數(shù)據(jù)預(yù)處理工作量巨大;網(wǎng)絡(luò)模型的結(jié)構(gòu)設(shè)計困難且復(fù)雜,模型超參數(shù)量巨大且不易設(shè)定,模型訓(xùn)練耗時耗資源,導(dǎo)致產(chǎn)出門檻較高等[6]。
針對以上問題,本文提出了一種庫區(qū)漂浮物體量預(yù)估的方法,首先在完成圖像預(yù)處理后,進(jìn)行樣本圖像中漂浮物目標(biāo)區(qū)域的人工標(biāo)注;其次,基于形態(tài)學(xué)方法生成每個樣本圖像的梯度特征空間;然后,基于滑動梯度卷積及和聲搜索算法進(jìn)行漂浮物識別模型的訓(xùn)練和優(yōu)化,并產(chǎn)出庫區(qū)漂浮物圖像識別模型;最后,根據(jù)預(yù)定義的像素面積比、漂浮物平均厚度、漂浮物平均密度等參數(shù),給出庫區(qū)漂浮物的面積、體積和質(zhì)量的預(yù)估,以便于后續(xù)管理單位的船舶清除調(diào)度安排。由于是基于樣本圖像的梯度特征空間進(jìn)行模型的學(xué)習(xí)訓(xùn)練,故該方法只需小樣本量即可生成較高精度的漂浮物識別模型,無論是在樣本獲取、樣本預(yù)處理還是模型訓(xùn)練的時間和空間資源消耗等環(huán)節(jié),其工作效率都比較高[6]。
當(dāng)前圖像進(jìn)行識別前通常要求壓縮到指定尺寸上,如果原圖與指定尺寸的寬高比差異較大,會導(dǎo)致圖像內(nèi)容發(fā)生形變失真;另外,圖像中的目標(biāo)區(qū)域也可能跟隨著圖像壓縮處理而同步損失,從而丟失了寶貴的目標(biāo)內(nèi)容信息。由此,本文中提出一種基于內(nèi)容的圖像壓縮改進(jìn)算法,以盡可能保持原圖像中含有重要信息區(qū)域的比例,從而避免縮放造成的失真。
當(dāng)前常用的圖像壓縮算法,是類似于沿著圖像橫向或者縱向做均勻等間隔的降采樣。此法雖然邏輯上簡單明了,但也造成了無差別的內(nèi)容裁減。由此,本文提出基于圖像能量,而非均勻等間隔選點的策略來確定待壓縮路徑集合。
首先,定義圖像中某點P的能量,即
(1)
其次,定義圖像中的一條路徑為如下所述圖像點的集合,即從圖像的頂部或者左側(cè)的任意一點開始,依次向下或者向右相鄰的3個點中擇一移動,如此重復(fù)移動,直至達(dá)到圖像最底部或者最右側(cè),則所有選擇遍歷過的圖像點即組成一條路徑。
再次,定義路徑的能量,即為該路徑上所有像素點的能量之和。
最后,可得出本算法的目標(biāo)為,每次找到能量最小的一條路徑,然后刪除此路徑上所有像素點,如此循環(huán)迭代,直至達(dá)到壓縮尺寸為止。
該算法流程如下:
(1)根據(jù)原圖尺寸和壓縮后的目標(biāo)尺寸,確定橫向與縱向各需要循環(huán)的次數(shù)。
(2)計算圖像中每個像素點的能量。
(3)基于求解矩陣最短路徑的動態(tài)規(guī)劃算法,找出圖像當(dāng)前橫向或縱向方向上的能量最小的路徑。
(4)移除最小路徑上所有像素點,得到新圖像。
(5) 重復(fù)步驟(2)至步驟(4),直到新圖像橫向與縱向都達(dá)到目標(biāo)尺寸為止。
形態(tài)學(xué)分析通?;跀?shù)學(xué)工具從圖像中提取出表達(dá)和描繪區(qū)域形狀特征的圖像分量,其基本運算包括腐蝕和膨脹、開運算和閉運算、形態(tài)學(xué)梯度、空間變換等等。由此,本文提出基于形態(tài)學(xué)分析的庫區(qū)漂浮物識別方法流程如下:
(1)能量矩陣生成?;诠?1)定義的圖像點能量定義,生成與原圖像素點一一對應(yīng)的二維能量矩陣。顯然,能量矩陣的尺寸與原圖一致,矩陣中每個元素值代表了原圖中相應(yīng)位置像素點的能量。
(2)能量矩陣分塊與選擇。首先,基于給定尺寸的滑動窗口,將能量矩陣分割成多個窗口大小的矩陣塊,并計算每個矩陣塊的能量,其中,矩陣塊能量即為塊內(nèi)各個元素值之和;然后,基于給定的能量閾值,選擇所有能量不低于閾值的矩陣塊并加以標(biāo)注。
(3)目標(biāo)矩陣塊形態(tài)學(xué)處理。將上步中標(biāo)注的目標(biāo)矩陣塊,基于指定的尺寸分別進(jìn)行腐蝕、膨脹處理,以消除目標(biāo)矩陣塊所構(gòu)成的整體識別區(qū)域內(nèi)部中的氣泡、區(qū)域邊緣的毛刺等,使得整體的識別區(qū)域得到更好的內(nèi)部連通性與邊緣平滑性。
(4)目標(biāo)塊聯(lián)通化識別與過濾。首先,將各目標(biāo)矩陣進(jìn)行聯(lián)通化分析和識別,以將所有相連的矩陣塊合并成一個整體區(qū)域。其次,基于指定的最小區(qū)域尺寸閾值,去除尺寸過小的識別區(qū)域,以減少圖像中噪音部分的干擾,提高識別的準(zhǔn)確率。
根據(jù)上述流程可知,形態(tài)學(xué)分析共含有6個基礎(chǔ)參數(shù),包括分割能量矩陣的滑動窗口像素尺寸(窗口高WH、寬WL)、選擇矩陣塊的最小能量閾值E、對矩陣塊進(jìn)行腐蝕操作的像素尺寸C、對矩陣塊進(jìn)行膨脹操作的像素尺寸S、單堆漂浮物的最小區(qū)域像素尺寸A。顯而易見,這些參數(shù)的取值設(shè)定會直接決定圖像中漂浮物區(qū)域識別的精度高低,而各個參數(shù)取值的排列組合的復(fù)雜度,導(dǎo)致尋找出最優(yōu)參數(shù)取值組合近似為NP問題,故考慮采用基于群體仿生智能的啟發(fā)式搜索算法,來尋找基礎(chǔ)參數(shù)的最優(yōu)取值組合。
和聲搜索算法是一種借鑒了樂隊進(jìn)行音樂創(chuàng)作過程的啟發(fā)式全局搜索算法,在多個組合優(yōu)化領(lǐng)域中得到了成功應(yīng)用,并展示出了較傳統(tǒng)群體智能仿生算法更好的尋優(yōu)能力和運算性能。樂隊創(chuàng)作時,每位樂師演奏一種樂器,所有樂器的演奏加起來對應(yīng)一組和聲,樂師們會不斷調(diào)整各自演奏的音調(diào),以求達(dá)到整體最好的和聲效果。和聲搜索算法正是基于此原理,將各樂器視為優(yōu)化問題中的決策變量,各樂器發(fā)出的音調(diào)視為變量取值,各樂器音調(diào)組合成的和聲視為一組解向量,樂師們對和聲的評價視為優(yōu)化問題中目標(biāo)函數(shù)對解向量好壞的評估。和聲算法的最優(yōu)化過程,就是對每一組和聲進(jìn)行評價,如果達(dá)不到要求,各樂器就繼續(xù)各自調(diào)整音調(diào),直到得到一組滿意的和聲為止[7]。
和聲搜索算法包含如下幾個基本參數(shù):①和聲庫大小,表征用于存儲候選最優(yōu)和聲的記憶庫的大小。②和聲庫取值概率,表征每次迭代時候直接從和聲庫中選擇的可能性,否則就按照各決策變量的取值范圍構(gòu)成的解空間,隨機生成一組和聲。③微調(diào)概率,表征當(dāng)直接從記憶庫中選擇和聲時候,對選中的和聲中各個變量取值再進(jìn)行微調(diào)的概率。④微調(diào)帶寬,表征當(dāng)要對選中的和聲進(jìn)行微調(diào)時的調(diào)整幅度大小。⑤最大迭代次數(shù),表征上述整個尋優(yōu)調(diào)整過程最大迭代的次數(shù)。和聲搜索算法流程如圖1所示。
圖1 和聲搜索算法流程
和聲搜索算法基本參數(shù)的取值,直接關(guān)系到后續(xù)算法尋優(yōu)的精度和性能,而其中和聲庫取值概率、微調(diào)概率、微調(diào)帶寬更是尤為重要,現(xiàn)將此3個參數(shù)的取值策略分析如下:
(1)和聲庫取值概率,當(dāng)取值較大時,有利于局部解空間內(nèi)的最優(yōu)值搜索收斂,而取值較小時,有利于增加候選最優(yōu)和聲的多樣性,防止陷入局部最優(yōu)的早熟,故可以采取動態(tài)更新策略,算法啟動時取值較小以增大搜索的多樣性,隨著迭代次數(shù)增加而逐漸擴(kuò)大,以便更聚焦最優(yōu)局部空間內(nèi)尋優(yōu),其概率取值為
(2)
式中,m為最大迭代次數(shù);i為當(dāng)前尋優(yōu)迭代的次數(shù);Pi為第i次時的和聲庫取值概率;Ps為初始的和聲庫取值概率取值;Pe為最終的和聲庫取值概率取值。
(2)微調(diào)概率,與和聲庫取值概率恰好相反,取值較大時利于搜索的多樣性,較小時利于局部尋優(yōu)收斂,故仍可以采取動態(tài)更新策略,算法啟動時取較大值以增大搜索的多樣性,隨著迭代次數(shù)增加而逐漸減小,其概率取值為
(3)
式中,Qi為第i次時的微調(diào)概率;Qs為初始微調(diào)概率值;Qe為最終微調(diào)概率值。其他含義同上。
(3)微調(diào)帶寬,原始和聲搜索算法中一般取固定值,即各個決策變量的微調(diào)帶寬取值初始化設(shè)定后,運行過程中將不再改變,本文仍然考慮動態(tài)取值策略,其帶寬取值為
(4)
式中,Ri為第i次時的微調(diào)帶寬;R為初始設(shè)定帶寬;Ran(-1,1)為位于區(qū)間[-1,1]內(nèi)的隨機浮點數(shù)。
和聲搜索改進(jìn)的形態(tài)學(xué)分析在庫區(qū)漂浮物體量預(yù)估中的應(yīng)用流程詳細(xì)步驟說明如下[8-9]:
(1)圖像壓縮?;诒疚奶岢龅膲嚎s算法,將所有樣本圖像壓縮至指定尺寸,以便于后續(xù)統(tǒng)一的圖像分析處理,并極大地降低分析計算量。
(2)灰度轉(zhuǎn)換與目標(biāo)區(qū)域標(biāo)注。將壓縮后的樣本圖像統(tǒng)一變換為灰度圖,變換方法如下
Gray=(38R+75G+15B)?7
(5)
式中,Gray為圖像中某像素點轉(zhuǎn)換后的灰度值;R為該像素點在原圖像RGB空間中的紅色分量值;G為綠色分量值;B為藍(lán)色分量值。同時,將圖像中的所有漂浮物區(qū)域進(jìn)行標(biāo)注,并記錄下區(qū)域坐標(biāo)集合,以便后續(xù)識別學(xué)習(xí)時進(jìn)行精度判定。
(1)基于和聲搜索算法進(jìn)行形態(tài)學(xué)分析模型的訓(xùn)練。對于形態(tài)學(xué)分析中涉及到的基礎(chǔ)算法參數(shù),則基于和聲搜索算法進(jìn)行各參數(shù)最優(yōu)化取值組合的自動化尋優(yōu);作為優(yōu)化目標(biāo)的損失函數(shù),定義為形態(tài)學(xué)分析出的漂浮物區(qū)域,與標(biāo)注的漂浮物區(qū)域相差異的總像素點數(shù)。顯然,差異點總數(shù)越小,當(dāng)前的形態(tài)學(xué)分析基礎(chǔ)參數(shù)取值組合的分析精度越高。
(2)得到和聲搜索改進(jìn)的庫區(qū)漂浮物形態(tài)學(xué)分析識別模型并進(jìn)行體量預(yù)估基于和聲搜索算法的訓(xùn)練完成后,得到最終的形態(tài)學(xué)分析模型,模型輸出內(nèi)容即為輸入圖片中判定為漂浮物區(qū)域的總像素點數(shù)N,以及相應(yīng)的像素點坐標(biāo)集合。
分析識別時,將待處理的庫區(qū)圖片按照4.1的步驟(1)和(2)預(yù)處理完成后,代入步驟(3)產(chǎn)出的形態(tài)學(xué)分析模型,得到分析識別出來的漂浮物區(qū)域信息和總像素點數(shù)N,然后,按照設(shè)定好的3個預(yù)估參數(shù):①像素-面積轉(zhuǎn)換比A,m3/像素。該參數(shù)表征了圖像中1個像素點代表了水庫庫區(qū)中的實際面積大小。②漂浮物平均深度H,m。該參數(shù)代表了庫區(qū)水上漂浮物的平均厚度,包括水面上下的厚度。③漂浮物平均密度P,kg/m3。根據(jù)以上參數(shù),得到漂浮物總體積V為
V=NAH
(6)
由此,漂浮物總質(zhì)量M為
M=VP
(7)
以湖北省某大型水庫上游庫區(qū)遠(yuǎn)程攝像頭所拍圖像為例,除去因天氣、攝像頭遮擋等導(dǎo)致質(zhì)量不佳的成像外,共計得到63張有效樣本圖像,統(tǒng)一按照流程(1)、(2)進(jìn)行預(yù)處理后,將其中的48張作為訓(xùn)練樣本集,15張作為測試樣本集。
基于圖像內(nèi)容的壓縮效果如圖2所示。從圖2可以看出,本文算法對于目標(biāo)區(qū)域的損失極小,基本上保留了漂浮物區(qū)域的原始細(xì)節(jié)信息。
圖2 基于內(nèi)容的圖像壓縮算法對比
本實例中和聲搜索算法的基礎(chǔ)參數(shù)設(shè)定如下:和聲庫大小為200,和聲庫取值概率起始值為0.10,最終值為0.90,微調(diào)概率起始值為0.80,最終值為0.25,微調(diào)帶寬取值為1.0,最大迭代次數(shù)為6 000。
此外,和聲庫初始化時形態(tài)學(xué)分析的基礎(chǔ)參數(shù)取值組合時,以滑動窗口高WH=6、寬WL=6、矩陣塊最小能量閾值E=180、矩陣塊腐蝕尺寸C=5、矩陣塊膨脹尺寸S=5、單堆漂浮物的最小區(qū)域像素尺寸A=150作為種子,隨機生成各種參數(shù)的取值組合。
訓(xùn)練完成后,以產(chǎn)出的形態(tài)學(xué)分析模型對測試集圖像進(jìn)行漂浮物區(qū)域識別,并輸出識別區(qū)域,效果如圖3、圖4所示。其中,能量矩陣塊圖為經(jīng)過能量閾值選擇過的矩陣塊集,形態(tài)學(xué)處理圖為經(jīng)過腐蝕、膨脹、矩陣塊聯(lián)通化處理的圖像。
圖3 和聲搜索改進(jìn)的形態(tài)學(xué)分析模型識別效果示例1
圖4 和聲搜索改進(jìn)的形態(tài)學(xué)分析模型識別效果示例2
圖3和圖4的形態(tài)學(xué)分析模型在訓(xùn)練集中的整體精度達(dá)到95.61%左右,在測試集中的平均識別精度也達(dá)到了94.37%左右。以圖5為例,左上為測試集中的原始庫區(qū)圖像,右上為達(dá)到能量閾值的矩陣塊集合,左下為經(jīng)過腐蝕、膨脹、聯(lián)通化和最小面積區(qū)域過濾的識別圖像,右下為最終識別出的區(qū)域與原圖疊加對比的效果圖。從圖5可以看出,本方法基本以較好的精度達(dá)到了庫區(qū)漂浮物識別的目標(biāo)。最后,水庫單位根據(jù)多年來運行管理經(jīng)驗,基于漂浮物的常見構(gòu)成部分和比例設(shè)定了漂浮物平均深度、平均密度,最終得出了庫區(qū)當(dāng)前漂浮物的體積與質(zhì)量的估計值。
圖5 和聲搜索改進(jìn)的形態(tài)學(xué)分析模型整體效果對比
本文提出的庫區(qū)漂浮物形態(tài)學(xué)分析識別方法已在湖北省某大型水庫上得到了實際應(yīng)用,投運以來的運行實踐表明,其計算精度良好,魯棒性強,為水庫的庫區(qū)漂浮物監(jiān)控管理工作提供了實時、可靠的決策輔助支持。
本文提出了基于和聲搜索算法改進(jìn)的庫區(qū)漂浮物形態(tài)學(xué)分析識別方法,其核心在基于數(shù)學(xué)形態(tài)學(xué)的基礎(chǔ)上提出了漂浮物識別的方法論、演算函數(shù)以及損失函數(shù)定義,然后利用和聲搜索算法在形態(tài)學(xué)分析參數(shù)的取值組合空間內(nèi)尋求最優(yōu)解,從而得到最終的分析識別模型。相比較目前流行的深度學(xué)習(xí)圖像識別,該方法邏輯清晰簡明,易于實現(xiàn)、部署與迭代,計算資源需求極小,且更適用于小樣本量下的庫區(qū)漂浮物分析識別處理。
庫區(qū)漂浮物形態(tài)學(xué)分析識別方法在體量預(yù)估上還有持續(xù)改進(jìn)的空間,包括雨雪、霧霾、強光、暗光、陰影等條件下,圖像識別前需考慮增加銳化、增強、濾波等預(yù)處理操作;此外,體量預(yù)估中人工設(shè)定像素-面積轉(zhuǎn)換比、漂浮物平均深度、漂浮物平均密度等參數(shù)的精度難以把握,如何繼續(xù)基于圖形圖像處理技術(shù)給出更精確的估值等,都是下一步工作的重點與方向。