本發(fā)明涉及計算機視覺領(lǐng)域,特別涉及一種全卷積神經(jīng)網(wǎng)絡(luò)的多方向水表讀數(shù)區(qū)域檢測算法。
背景技術(shù):
近幾年來,隨著移動互聯(lián)網(wǎng)的發(fā)展和數(shù)字產(chǎn)品的普及,來自于不同設(shè)備(智能手機、數(shù)碼相機,甚至自動駕駛街景車、無人機等攝像頭)的圖像數(shù)據(jù)持續(xù)爆發(fā)式地增長。這些海量的圖像中,有相當一部分圖像數(shù)據(jù)攜帶了文字信息,而文字信息通常蘊含著非常有益的語義信息。比如,這些文字信息可能是對建筑物、商店、交通牌、路牌、商品名稱等的描述。因此,這些高層的語義信息可以廣泛地應(yīng)用于機器閱讀、自動拍譯、圖像檢索、視頻檢索、語言翻譯、自動駕駛、機器人導(dǎo)航等場合。人類更加迫切地需要一種智能的視覺文字分析技術(shù)。視覺文字分析是從機器視覺的角度抽取和理解文字信息的一種技術(shù)。它涉及到圖像處理、模式識別、計算機視覺、機器學習和心理學等一系列學科知識,一直以來都是相關(guān)領(lǐng)域的重要研究方向之一。
基于計算機視覺的水表自動讀數(shù)就是視覺文字分析中的一個重要應(yīng)用,它可以取代現(xiàn)有的人工水表讀數(shù)方式,使得水表讀數(shù)成為自動化流程。基于視覺的水表自動讀數(shù)首要解決的問題就是讀數(shù)區(qū)域的檢測,目前主流的方法是基于圖像處理的方法,通過圖像去噪、基于顏色特征的圖像二值化、基于線檢測的方向檢測、區(qū)域分割等步驟來確定讀數(shù)區(qū)域。然而這種方法對各種復(fù)雜場景下的光照、形變、遮掩等條件適應(yīng)性不好,容易受干擾,魯棒性差。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點與不足,提供一種全卷積神經(jīng)網(wǎng)絡(luò)的多方向水表讀數(shù)區(qū)域檢測算法。
本發(fā)明的目的通過以下的技術(shù)方案實現(xiàn):
一種全卷積神經(jīng)網(wǎng)絡(luò)的多方向水表讀數(shù)區(qū)域檢測算法,包含以下步驟:
S1、獲取訓練數(shù)據(jù),通過攝像頭拍攝水表圖像,并對圖像中的水表讀數(shù)區(qū)域進行人工標注;
S2、設(shè)計一個全卷積神經(jīng)網(wǎng)絡(luò),通過誤差反向傳播和隨機梯度下降法優(yōu)化全卷積神經(jīng)網(wǎng)絡(luò)的參數(shù),從而對水表圖像進行多層級聯(lián)特征學習,獲取多通道特征圖;
S3、對多通道特征圖進行滑動窗掃描,將單個滑動窗的多通道特征進行特征融合,通過分類和回歸,獲取每個滑動窗的顯著性以及讀數(shù)區(qū)域位置,從而初步篩選出水表讀數(shù)區(qū)域矩形候選窗;
S4、依據(jù)候選窗的區(qū)域位置信息提取特征圖上相應(yīng)區(qū)域的特征,將特征進行定長尺度的池化并進行多通道的特征融合,再次通過分類和回歸,獲得水表讀數(shù)區(qū)域的中心、長寬、角度信息;
S5、通過仿射變換最終以旋轉(zhuǎn)矩形框的形式得到多方向水表讀數(shù)區(qū)域的檢測結(jié)果。
所述步驟S1具體為:
S1.1、通過RGB攝像頭采集大量實際場景中的水表圖像樣本;
S1.2、對步驟S1.1中所獲取的水表圖像樣本中的水表讀數(shù)區(qū)域進行標注,標注水表讀數(shù)區(qū)域的中心位置(x,y)、長度h、寬度w和角度a;
S1.3、對所有圖像樣本進行多次正負45度的隨機角度旋轉(zhuǎn),并對相應(yīng)的樣本標注進行修正。以增強樣本的多樣性,提升多方向水表區(qū)域檢測性能。
所述水表圖像樣本包括以下不同的參數(shù):光照、視角、水表類型、水表受損程度。這樣做是為了保證樣本的多樣性。
所述步驟S2具體為:
S2.1、設(shè)計一個全卷積神經(jīng)網(wǎng)絡(luò),該卷積神經(jīng)網(wǎng)絡(luò)包括多個卷積層、池化層的級聯(lián),使得該深度卷積神經(jīng)網(wǎng)絡(luò)輸入為三通道RGB圖像,輸出為多通道的特征圖;
S2.2、通過誤差反向傳播和隨機梯度下降法,利用S3和S4中損失函數(shù)所計算的誤差,對全卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)進行優(yōu)化更新;
S2.3、誤差計算所用的損失函數(shù)是多任務(wù)損失函數(shù),包括步驟S3和步驟S4所產(chǎn)生的誤差的加權(quán)和:
L=LS3+λ×LS4。
其中λ為權(quán)重,LS3為步驟S3所產(chǎn)生的誤差,LS4為步驟S4所產(chǎn)生的誤差。
所述步驟S3具體為:
S3.1、對S2中圖像樣本通過全卷積神經(jīng)網(wǎng)絡(luò)計算后得到的多通道特征圖進行滑動窗掃描,并將滑動窗內(nèi)多通道特征圖進行特征融合;
S3.2、以S3.1所得特征為輸入,設(shè)計多個多層全連接神經(jīng)網(wǎng)絡(luò),分別負責不同尺度下目標的檢測和定位;其責任歸屬由水表讀數(shù)區(qū)域的外接水平矩形框和設(shè)定的各種尺度的矩形框的重疊率Overlap決定:
當Overlap>0.7時,該分類器將該特征作為正樣本特征,回歸器以該外接水平矩形框的中心、長度和寬度作為回歸目標;
當Overlap<0.3時,該分類器將該特征作為負樣本特征,回歸器不計算誤差;
當0.7≥Overlap≥0.3時,該分類器和回歸器均不計算誤差;
S3.3、S3.2中所采用的分類器輸出為Sigmoid函數(shù):
其中x為全卷積神經(jīng)網(wǎng)絡(luò)所提取的圖像區(qū)域特征;
分類器損失函數(shù)為交叉熵損失函數(shù):
其中x(i),y(i)分別為第i個圖像區(qū)域的圖像特征及類別標簽,m為圖像區(qū)域總數(shù);
S3.4、S3.2中所采用的回歸器損失函數(shù)為歐式距離損失函數(shù):
其中xj(i),分別為圖像區(qū)域i的第j個目標預(yù)測值及目標真實值,m為圖像區(qū)域總數(shù)。目標值包括目標的相對中心、長度、寬度、旋轉(zhuǎn)角度的正切值;
S3.5、根據(jù)分類器輸出的目標概率,篩選出概率大于0.5的候選窗,并根據(jù)回歸器輸出的目標矩形框參數(shù)對所篩選出的候選框進行極大化抑制,其具體做法如下:在重疊率大于0.5的目標框中只保留置信度最高的結(jié)果。
所述步驟S4具體為:
S4.1、依據(jù)S3.5所得目標候選窗,在多通道特征圖上提取相應(yīng)位置的特征,并進行定尺寸的空間金字塔池化,得到特征向量;
S4.2、特征向量經(jīng)過分類器和回歸器計算后得到目標的顯著性以及矩形框,分類器和回歸器損失函數(shù)與S3.3所述相同;
S4.3、對檢測到的目標進行極大化抑制,得到檢測目標。
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點和有益效果:
1、本發(fā)明利用深度學習中的全卷積神經(jīng)網(wǎng)絡(luò),自動學習文字信息特征提取,解決了水表自動讀數(shù)中的首要難題,即多方向的水表讀數(shù)區(qū)域檢測,具有重大的應(yīng)用前景。
2、本發(fā)明利用深度學習中的全卷積神經(jīng)網(wǎng)絡(luò),自動學習水表讀數(shù)區(qū)域信息特征提取,所提取的特征具有非常強的魯棒性,能夠適應(yīng)不同光照、形變、遮擋等惡劣的復(fù)雜環(huán)境。另外本發(fā)明還能適應(yīng)不同旋轉(zhuǎn)方向、視角的場景。本發(fā)明解決了復(fù)雜場景下的多方向水表的讀數(shù)區(qū)域檢測問題,為進一步的讀數(shù)識別提供了基礎(chǔ)。
附圖說明
圖1為一種全卷積神經(jīng)網(wǎng)絡(luò)的多方向水表讀數(shù)區(qū)域檢測算法的流程圖。
圖2為圖1所述算法的訓練流程圖。
圖3為全卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限于此。
如圖1所示,基于全卷積神經(jīng)網(wǎng)絡(luò)的多方向水表讀數(shù)區(qū)域檢測算法主要包括如下步驟:
S1、獲取訓練數(shù)據(jù);訓練過程如圖2;
S1.1、通過RGB攝像頭采集大量實際場景中的水表圖像樣本,包括各種各樣的的光照、視角、水表類型、水表受損程度等,以保證樣本的多樣性;
S1.2、對S1.1中所獲取的水表圖像樣本中的水表讀數(shù)區(qū)域進行人為的標注,包括水表讀數(shù)區(qū)域的中心位置(x,y)、長度(h)、寬度(w)和角度(a);
S1.3、對所有圖像樣本進行多次正負45度的隨機角度旋轉(zhuǎn),并對相應(yīng)的樣本標注進行修正,以增強樣本的多樣性,提升多方向水表區(qū)域檢測性能。
S2設(shè)計全卷積神經(jīng)網(wǎng)絡(luò),進行特征提??;
S2.1、設(shè)計一個全卷積神經(jīng)網(wǎng)絡(luò)(如圖3所示),該卷積神經(jīng)網(wǎng)絡(luò)包括多個卷積層、池化層的級聯(lián),使得該深度卷積神經(jīng)網(wǎng)絡(luò)輸入為三通道RGB圖像,輸出為多通道的特征圖;
S2.2、通過誤差反向傳播和隨機梯度下降法,利用S3和S4中損失函數(shù)所計算的誤差,對全卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)進行優(yōu)化更新;
S3特征圖滑動窗掃描,獲得目標區(qū)域候選窗;
S3.1、對S2中圖像樣本通過全卷積神經(jīng)網(wǎng)絡(luò)計算后得到的多通道特征圖進行滑動窗掃描,并將滑動窗內(nèi)多通道特征圖進行特征融合;
S3.2、以S3.1所得特征為輸入,設(shè)計多個多層全連接神經(jīng)網(wǎng)絡(luò),分別負責不同尺度下目標的檢測和定位。其責任歸屬由水表讀數(shù)區(qū)域的外接水平矩形框和設(shè)定的各種尺度的矩形框的重疊率Overlap決定:
當Overlap>0.7時,該分類器將該特征作為正樣本特征,回歸器以該外接水平矩形框的中心、長度和寬度作為回歸目標;
當Overlap<0.3時,該分類器將該特征作為負樣本特征,回歸器不計算誤差;
當0.7≥Overlap≥0.3時,該分類器和回歸器均不計算誤差;
S3.3、S3.2中所采用的分類器輸出為Sigmoid函數(shù),分類器損失函數(shù)為交叉熵損失函數(shù),回歸器損失函數(shù)為歐式距離損失函數(shù);
S3.4、根據(jù)分類器輸出的目標概率,篩選出概率大于0.5的候選窗,并根據(jù)回歸器輸出的目標矩形框參數(shù)對所篩選出的候選框進行極大化抑制。
S4進行特征映射,得到目標區(qū)域:
S4.1、依據(jù)S3.5所得目標候選窗,在多通道特征圖上提取相應(yīng)位置的特征,并進行定尺寸的空間金字塔池化,得到特征向量;
S4.2、特征向量經(jīng)過分類器和回歸器計算后得到目標的顯著性以及矩形框,分類器和回歸器損失函數(shù)與S3.3所述相同;
S4.3、對檢測到的目標進行極大化抑制,得到檢測目標。
S5、通過仿射變換最終以旋轉(zhuǎn)矩形框的形式得到多方向水表讀數(shù)區(qū)域的檢測結(jié)果。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。