本發(fā)明涉及一種利用圖像識別水流測速的方法,具體涉及一種利用卷積神經(jīng)網(wǎng)絡(luò)算法對河流表面圖片進(jìn)行識別分類,得出該圖片狀態(tài)下所對應(yīng)的河流流速的方法,屬于計算機(jī)視覺和河流檢測領(lǐng)域。
背景技術(shù):
我國江河眾多,做好河流流速測量工作對預(yù)防洪澇災(zāi)害,保護(hù)國家和人民的財產(chǎn)安全具有重要意義。傳統(tǒng)的浮標(biāo)測量流速方法在面對洪水時,常常面臨著浮標(biāo)被沖走的問題,增加了測量過程的不穩(wěn)定性。測量過程中,往往需要人工投放浮標(biāo),多人配合計算浮標(biāo)流過距離和時間來計算河流的流速。高洪期間測量不便,并且不能保證測量人員的生命安全。
隨著計算機(jī)視覺技術(shù)、人工智能技術(shù)的快速發(fā)展,使得基于圖像的非接觸式水面流速測量方法成為可能。本方法僅需要通過攝像頭獲取河流表面圖片,利用深度學(xué)習(xí)算法進(jìn)行圖像分類得出對應(yīng)的水流流速,提高了河流流速測量的便捷性、穩(wěn)定性和洪水高發(fā)期測量的安全性。卷積神經(jīng)網(wǎng)絡(luò)能夠隱式地從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)特征,避免了顯式的特征抽取,在對無規(guī)律、無顯著特征的水面圖像做分類時,具有較大的優(yōu)勢。因此,利用卷積神經(jīng)網(wǎng)絡(luò)算法對河流表面圖片進(jìn)行識別分類,能夠有效地區(qū)分不同流速下的水流圖片,得出該圖片狀態(tài)下的水流流速。
技術(shù)實現(xiàn)要素:
本發(fā)明要改善以往浮標(biāo)法的弊端,避免與河流的接觸,采用非接觸式的攝像頭,獲取大量河流不同狀態(tài)下的表面圖像。采用市場上已有的浮標(biāo)或流速儀測量每張圖像對應(yīng)的流速,根據(jù)精確度需要,將流速類別化,獲取大量圖像后,依據(jù)圖像所對應(yīng)流速的類別標(biāo)記圖像,并對圖像進(jìn)行預(yù)處理,生成訓(xùn)練集訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),之后再次需要測量流速時,只需攝像頭拍攝下當(dāng)時河流表面的圖片,利用訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)對該圖片進(jìn)行分類,與該圖片相同概率最高的類別圖片的流速,即為此時河流的流速。
本發(fā)明的一種基于卷積神經(jīng)網(wǎng)絡(luò)圖像識別的水流測速方法,具體步驟如下:
1.選取目標(biāo)河流,于河流邊安全位置安裝攝像頭,調(diào)整攝像頭角度對準(zhǔn)河流表面,并保證拍攝鏡頭中僅有河流表面,無岸邊雜物。
2.選取不同時間段的各種天氣條件下,拍攝河流表面的視頻,并由工作人員用現(xiàn)有設(shè)備測取拍攝每段視頻時大致的河流流速。利用視頻軟件逐幀截取圖片,根據(jù)圖片和對應(yīng)流速的映射關(guān)系,建立圖片與流速關(guān)系表。
3.選取各種流速圖片進(jìn)行預(yù)處理,分別作為圖片樣本的訓(xùn)練集和測試集;對流速進(jìn)行范圍性分類并標(biāo)記每個類別,分析圖片與流速關(guān)系表,依次對相應(yīng)流速范圍的圖片劃分類別,分別作為圖片樣本的訓(xùn)練類別標(biāo)簽和測試類別標(biāo)簽。
4.搭建卷積神經(jīng)網(wǎng)絡(luò)模型,用第三步所得的樣本數(shù)據(jù)訓(xùn)練并調(diào)整卷積神經(jīng)網(wǎng)絡(luò),使誤差達(dá)標(biāo)。
5.繼續(xù)拍攝河流表面圖片,經(jīng)由第三步預(yù)處理后,將該圖片輸入卷積神經(jīng)網(wǎng)絡(luò)模型,輸出該圖片的流速類別標(biāo)簽,該標(biāo)簽所對應(yīng)的流速范圍即為該圖片的流速范圍。
盡管本方法在前期收集視頻、圖片和流速時,需要投入不少人力與時間成本,但在完成前期準(zhǔn)備工作后,可以更加方便快捷地進(jìn)行流速測量工作,能夠節(jié)省更多的人力、物力與時間成本。
本發(fā)明的優(yōu)點是:方便快捷,節(jié)省人力、物力與時間成本,
附圖說明
圖1是本發(fā)明的設(shè)備安裝示意圖
圖2是本發(fā)明的樣本圖片采集流程圖
圖3是本發(fā)明的實驗?zāi)P陀?xùn)練流程圖
圖4是本發(fā)明的實際測量流程圖
具體實施方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。
本發(fā)明的一種基于卷積神經(jīng)網(wǎng)絡(luò)圖像識別的水流測速方法,具體包括如下步驟:
步驟1(設(shè)備安裝階段):如圖1所示,選取目標(biāo)河流并勘察,若河流有橋或碼頭,則將攝像頭安裝于橋或碼頭,若河流無橋或碼頭,則選取平坦河岸樹立支架,安裝攝像頭。攝像頭通過視頻線連接水電站主機(jī),該主機(jī)需安裝視頻采集卡。攝像頭選擇球機(jī)以方便調(diào)整攝像頭角度對準(zhǔn)河流表面,調(diào)試攝像頭,使其捕獲的畫面僅有河流表面圖像,無河岸雜物。如有必要,與拍攝區(qū)域安裝照明燈,用于夜間的拍攝工作。
步驟2(樣本圖片采集階段):如圖2所示,抽樣選取各個時間段、各種天氣條件以及洪水高發(fā)期等特殊時期,拍攝河流表面的視頻,由工作人員使用流速測量儀跟蹤浮標(biāo),記錄每段視頻對應(yīng)時刻的河流流速。利用視頻軟件逐幀截取圖片,同一段視頻截取的圖片劃歸為同一流速。根據(jù)圖片和流速的映射關(guān)系,建立圖片與流速關(guān)系映射表。
步驟3(建立樣本數(shù)據(jù)階段):如圖3所示,選取3000張各個流速狀態(tài)的圖片,根據(jù)流速測量的精度要求和洪水預(yù)防的警報線要求,對流速進(jìn)行范圍性分類并用數(shù)字標(biāo)記每個類別(對流速分類越細(xì)致則測量精度越高),對照圖片與流速映射表,依次對所屬流速范圍的圖片進(jìn)行類別標(biāo)記,作為訓(xùn)練樣本集的類別標(biāo)簽;將圖片轉(zhuǎn)換為同樣格式,對圖片進(jìn)行灰度化、直方圖均衡、對比度增強等圖片預(yù)處理操作,并保存為訓(xùn)練樣本集。選取1000張各個流速狀態(tài)的圖片,再次進(jìn)行上述操作,得到測試樣本集的類別標(biāo)簽和測試樣本集。
步驟4(訓(xùn)練分類器階段):如圖3所示,搭建卷積神經(jīng)網(wǎng)絡(luò)初步結(jié)構(gòu)模型,用步驟3所得的樣本數(shù)據(jù)訓(xùn)練并測試調(diào)整卷積神經(jīng)網(wǎng)絡(luò)模型。
其中卷積神經(jīng)網(wǎng)絡(luò)模型相關(guān)描述如下:
本網(wǎng)絡(luò)模型依次由輸入層、卷積層、池化層、卷積層、池化層、輸出層組成。輸入層為訓(xùn)練數(shù)據(jù),卷積層(C層)為特征提取層,池化層(S層)位于卷積層后,是一個二次提取的計算層;第二個S層,即完成了對原始數(shù)據(jù)的特征提取后,把S層的特征數(shù)據(jù)進(jìn)行向量化,然后連接到分類器,經(jīng)輸出層輸出類別結(jié)果。
卷積層用卷積核(一個特征矩陣)在圖像矩陣上游走,在對應(yīng)位置元素相乘,再把相乘的結(jié)果相加,最后相加的結(jié)果形成新的圖像矩陣,游走完成后即完成了對原始圖像的卷積變換,形成此卷積核下的特征提取。(本網(wǎng)絡(luò)模型的卷積核大小為5*5)。在通過卷積獲得了特征之后,對特征矩陣分區(qū)域進(jìn)行平均值池化,降低特征維度。
輸出層輸出實際類別,與樣本的類別標(biāo)簽對比,反向調(diào)整權(quán)值,直至實際輸出與類別標(biāo)簽盡可能接近,調(diào)整迭代次數(shù)直至誤差函數(shù)收斂。
卷積神經(jīng)網(wǎng)絡(luò)包含前向傳播與反向傳播兩個過程。
前向傳播將上一層的輸出加權(quán)求和后,經(jīng)由激活函數(shù)輸出結(jié)果,該結(jié)果又作為下一層的輸入,繼續(xù)加權(quán)求和,由激活函數(shù)輸出,如此反復(fù),直到網(wǎng)絡(luò)模型最后的輸出層。假設(shè)當(dāng)前層為l層,當(dāng)前層的輸出結(jié)果為a(l),W表示權(quán)值,b表示偏置,下一層則為l+1層,l層的輸出結(jié)果a(l),加權(quán)求和得到z(l+1)作為l+1層的輸入,得到該層的輸出a(l+1),激活函數(shù)f(·)為sigmod函數(shù)。計算公式如下:
z(l+1)=W(l)a(l)+b(l)
a(l+l)=f(z(l+1))
接下來,通過反向傳播調(diào)整網(wǎng)絡(luò)模型的權(quán)值W和偏置b。反向傳播的核心是使代價函數(shù)J(W,b)最小化,從而使得誤差更小。具體計算過程如下:
(1)代價函數(shù)計算公式:
其中hW,b(x)為前向傳播的實際輸出結(jié)果,y為對應(yīng)的樣本標(biāo)簽,即期望輸出。
(2)對于第nl層(輸出層)的每個輸出單元i,我們根據(jù)以下公式計算其殘差
(3)對l層(中間層)的第i個節(jié)點的殘差δ(l)的計算公式為:
δ(l)=((W(l))Tδ(l+1))·f′(z(l))
(4)計算我們需要的偏導(dǎo)數(shù),計算公式為:
(5)更新權(quán)值參數(shù):
其中α是學(xué)習(xí)速率,m為數(shù)據(jù)集的樣例個數(shù),λ為權(quán)重衰減參數(shù),用于控制公式中兩項的相對重要性。
接著重復(fù)以上迭代步驟,不斷更新權(quán)值與偏置,減小J(W,b)的值,進(jìn)而得出完整的卷積神經(jīng)網(wǎng)絡(luò)。
步驟5(實際測量階段):如圖4所示,繼續(xù)拍攝河流表面圖片,經(jīng)由第三步所述方法處理圖片,并將圖片傳入第四步中訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò),經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)分類后得出該圖片類別標(biāo)簽,該類別標(biāo)簽所對應(yīng)的流速范圍即為該圖片的流速范圍。
如上所示,根據(jù)本發(fā)明,可以提供一種基于卷積神經(jīng)網(wǎng)絡(luò)圖像識別的水流測速方法。
本說明書實施例所述的內(nèi)容僅僅是對發(fā)明構(gòu)思的實現(xiàn)形式的列舉,本發(fā)明的保護(hù)范圍不應(yīng)當(dāng)被視為僅限于實施例所陳述的具體形式,本發(fā)明的保護(hù)范圍也及于本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明構(gòu)思所能夠想到的等同技術(shù)手段。