后部分分別標(biāo)注。對訓(xùn)練樣本或者開發(fā)樣本進(jìn)行人工標(biāo)注時,當(dāng)樣本圖像中包 含的字?jǐn)?shù)少于設(shè)置的最長字?jǐn)?shù)時,使用設(shè)定的標(biāo)記符,比如:〈SP>標(biāo)記符將樣本圖片中的字 數(shù)補(bǔ)齊。
[0032] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:本發(fā)明提供一種基于CNN-RNN的復(fù)雜圖像字 序列識別方法,采用一個滑動采樣框?qū)ΥR別圖像文字序列進(jìn)行滑動采樣,通過CNN對采樣 獲得的子圖片進(jìn)行特征提取,然后將特征輸出到RNN中,所述RNN根據(jù)輸入信號,依次識別出 漢字的前部分、漢字的后部分、數(shù)字、字母、標(biāo)點符號或者空白;依次記錄和整合各個時刻 RNN的識別結(jié)果,獲得完整的識別結(jié)果;所述RNN每個時刻的輸出信號出卷積神經(jīng)網(wǎng)絡(luò)提取 的子圖片特征外,還包括上一時刻遞歸神經(jīng)網(wǎng)絡(luò)的輸出數(shù)據(jù)以及上一時刻遞歸神經(jīng)網(wǎng)絡(luò)識 別結(jié)果轉(zhuǎn)化成的向量數(shù)據(jù)。本發(fā)明系統(tǒng)的克服了 OCR識別前先要進(jìn)行圖片切分的弊端,解決 了混合有漢字(包括左右結(jié)構(gòu)的漢字)、數(shù)字、字母、符號等復(fù)雜文字序列的識別問題,提高 了復(fù)雜文字序列的識別的準(zhǔn)確率。同時本發(fā)明中采用的遞歸神經(jīng)網(wǎng)絡(luò)在模型訓(xùn)練和應(yīng)用的 過程中遞歸使用了上一輪的輸出數(shù)據(jù)和識別結(jié)果,這樣這每次輸出識別結(jié)果在依賴本次采 樣數(shù)據(jù)的同時也依賴了先前的識別結(jié)果;這種對先前識別結(jié)果的依賴,可以理解為對語言 模型的依賴,這樣不需要構(gòu)建額外的語言模型來對單個字符的識別進(jìn)行優(yōu)化,在提升字、詞 序列的識別準(zhǔn)確率的同時進(jìn)一步提高了圖像文字的識別效率??傊景l(fā)明方向顯著提高了 混合有漢字、數(shù)字、字母以及標(biāo)點符號的復(fù)雜圖像文字序列的識別效率;在圖像文字識別領(lǐng) 域,具有廣闊的應(yīng)用前景。
【附圖說明】:
[0033] 圖1為本發(fā)明方法文字序列識別過程信號流向示意圖。
[0034] 圖2為本發(fā)明方法的實現(xiàn)過程示意圖。圖3為卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖。
[0035] 圖4為局有相同偏旁的漢字字符標(biāo)注示例圖。
【具體實施方式】
[0036] 下面結(jié)合試驗例及【具體實施方式】對本發(fā)明作進(jìn)一步的詳細(xì)描述。但不應(yīng)將此理解 為本發(fā)明上述主題的范圍僅限于以下的實施例,凡基于本
【發(fā)明內(nèi)容】
所實現(xiàn)的技術(shù)均屬于本 發(fā)明的范圍。
[0037] 本發(fā)明提供一種基于CNN-RNN的復(fù)雜圖像字序列識別方法;通過一個滑動采樣框, 通過滑動采樣的方式提取待識別圖像文字序列中的字符信息,并將滑動采樣框每次采樣獲 取到的信息輸入到卷積神經(jīng)網(wǎng)絡(luò)中,通過卷積神經(jīng)網(wǎng)絡(luò)提取對應(yīng)采樣框的特征數(shù)據(jù)輸入到 遞歸神經(jīng)網(wǎng)絡(luò)中,通過遞歸神經(jīng)網(wǎng)絡(luò)實現(xiàn)連續(xù)預(yù)測多個字符的目的。
[0038]為了實現(xiàn)上述發(fā)明目的,本發(fā)明提供如圖1所示的技術(shù)方案:一種基于CNN-RNN的 復(fù)雜圖像字序列識別方法,通過一個滑動采樣框?qū)Υ幚韴D像文字序列進(jìn)行滑動采樣,并 將采樣獲得的子圖片輸入到卷積神經(jīng)網(wǎng)絡(luò)中;
[0039] 由所述卷積神經(jīng)網(wǎng)絡(luò)對輸入的子圖片提取特征,并將提取的特征數(shù)據(jù)輸入到遞歸 神經(jīng)網(wǎng)絡(luò)中,由所述遞歸神經(jīng)輸出識別結(jié)果;所述遞歸神經(jīng)網(wǎng)絡(luò)的輸入信號還包括:上一時 刻遞歸神經(jīng)網(wǎng)絡(luò)的輸出數(shù)據(jù)以及上一時刻遞歸神經(jīng)網(wǎng)絡(luò)識別結(jié)果轉(zhuǎn)化成的向量數(shù)據(jù);
[0040] 依次迭代;將每個時刻所述遞歸神經(jīng)網(wǎng)絡(luò)的識別結(jié)果記錄合并,得到待識別圖像 文字序列的完整識別結(jié)果。
[0041] 具體的,本發(fā)明方法包含如圖2所示的以下實現(xiàn)步驟:
[0042] (1)構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)模型,所述遞歸神經(jīng)網(wǎng)絡(luò)各個時刻輸入信 號包括:所述卷積神經(jīng)網(wǎng)絡(luò)提取的樣本特征數(shù)據(jù),上一時刻遞歸神經(jīng)網(wǎng)絡(luò)的輸出數(shù)據(jù)以及 上一時刻遞歸神經(jīng)網(wǎng)絡(luò)識別結(jié)果轉(zhuǎn)化成的向量數(shù)據(jù)。本發(fā)明采用的卷積神經(jīng)網(wǎng)絡(luò)主要是用 于子圖片特征的自動學(xué)習(xí),圖3所示,卷積神經(jīng)網(wǎng)絡(luò)的工作原理如下:卷積神經(jīng)網(wǎng)絡(luò)的每一 個特征圖(feature map,圖中的豎排長方形所示)的產(chǎn)生都是通過自有的一個卷積核(即如 圖3中的小矩形框,在指定的特征圖里是共享的)進(jìn)行初步的特征抽取,二次采樣層對卷積 層所提取的特征進(jìn)行采樣,以主要解決卷積層所抽取特征的冗余性。簡言之,所述卷積神經(jīng) 網(wǎng)絡(luò)通過卷積層提取圖片的不同特征,通過二次采樣層對提取到的特征進(jìn)行采樣,以去除 冗余信息(在一個卷積神經(jīng)網(wǎng)絡(luò)中可以包含多個卷積層,二次采樣層和全連接層),最后通 過全連接層將不同的特征圖串聯(lián)起來構(gòu)成最終完整的子圖片特征,本發(fā)明方法使用卷積神 經(jīng)網(wǎng)絡(luò),依次對滑動采樣框所提取的子圖片進(jìn)行特征提取,避免了傳統(tǒng)OCR識別方法中所采 取的圖片切分步驟,避免了單字符切分錯誤可能導(dǎo)致的不可逆轉(zhuǎn)的識別錯誤。
[0043] (2)使用訓(xùn)練樣本集來訓(xùn)練所述卷積神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)模型;
[0044] (3)由滑動采樣框?qū)ΥR別圖像文字序列進(jìn)行滑動采樣,并將采樣結(jié)果輸入訓(xùn)練 好的所述卷積神經(jīng)網(wǎng)絡(luò)中,由所述卷積神經(jīng)網(wǎng)絡(luò)提取待識別圖片的特征數(shù)據(jù),輸入到所述 遞歸神經(jīng)網(wǎng)絡(luò)中,經(jīng)過所述遞歸神經(jīng)網(wǎng)絡(luò)的依次迭代,輸出待識別圖像文字序列的完整識 別結(jié)果。
[0045] 具體的,本發(fā)明方法中所使用的遞歸神經(jīng)網(wǎng)絡(luò)向前算法的計算公式如下:
[0046]
[0047]
[0048]
[0049]
[0050]其中I是輸入向量的維度,V是詞典映射的維度,Η是隱層的神經(jīng)元個數(shù),K是輸出層 的神經(jīng)元個數(shù),X為卷積神經(jīng)網(wǎng)絡(luò)提取出來的特征數(shù)據(jù),V為RNN識別出的字或者詞經(jīng)過詞典 映射表轉(zhuǎn)化成的向量數(shù)據(jù)(特別的/ = 〇),<為當(dāng)前時刻遞歸神經(jīng)網(wǎng)絡(luò)中隱含層神經(jīng)元的 輸入,^為當(dāng)前時刻遞歸神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元的輸出(特別的# = 0); Wih,Wlh,Wh,h,為 <,對應(yīng)的權(quán)重參數(shù),在一次向前算法傳遞過程中,參數(shù)Wih,Wlh,WVh均是跨時 序共享的,所謂跨時序共享是指遞歸神經(jīng)網(wǎng)絡(luò)在一次信號正向傳遞過程中,各個時刻Wlh, Wih,wv h的值相同(并非Wih=Wih = wv h),不同時刻RNN的Wih,Wih,wv h值相同,降低了模型參數(shù) 的復(fù)雜程度,也避免了模型復(fù)雜度的線性增長導(dǎo)致可能的過擬合。^4為當(dāng)前時刻遞歸神經(jīng) 網(wǎng)絡(luò)輸出層神經(jīng)元的輸入;whk為輸出層各神經(jīng)元對應(yīng)的權(quán)重;為當(dāng)前時刻遞歸神經(jīng)網(wǎng) 絡(luò)輸出層神經(jīng)元的輸出,為一個概率值,表示當(dāng)前時刻對應(yīng)神經(jīng)元輸出值相對于輸出層 所有神經(jīng)元輸出值的加和的比例,一般情況下,將選擇:^值最大的輸出神經(jīng)元對應(yīng)的類別 為該時刻遞歸神經(jīng)網(wǎng)絡(luò)的識別結(jié)果。
[0051]從上述公式可以看出本發(fā)明方法中所使用的遞歸神經(jīng)網(wǎng)絡(luò)中隱含層神經(jīng)元的輸 入數(shù)據(jù)包括3個方面,CNN提取出來的特征數(shù)據(jù),上一時刻遞歸神經(jīng)網(wǎng)絡(luò)隱含層的輸出數(shù)據(jù), 以及上一時刻遞歸神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果(識別出來的字符或者字符的部分)經(jīng)過詞典映射表 進(jìn)行向量化的數(shù)據(jù)。因此本發(fā)明使用的遞歸神經(jīng)網(wǎng)絡(luò)在預(yù)測當(dāng)前時刻的字(詞)的時候,既 依賴了圖像的特征,也依賴了上一時刻輸出的特征(語言模型)。
[0052]進(jìn)一步的,本發(fā)明采用上述向前算法在卷積神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)中來逐級傳 輸運算數(shù)據(jù),在輸出層獲取到識別(預(yù)測)數(shù)據(jù),當(dāng)預(yù)測結(jié)果與訓(xùn)練樣本的標(biāo)注結(jié)果具有偏 差時,通過神經(jīng)網(wǎng)絡(luò)中經(jīng)典的誤差反向傳播算法來調(diào)整神經(jīng)網(wǎng)絡(luò)中的各個權(quán)重,誤差反向 傳播方法將誤差逐級反向傳播分?jǐn)偟礁鲗拥乃猩窠?jīng)元,獲得各層神經(jīng)元的誤差信號,進(jìn) 而修正各神經(jīng)元的權(quán)重。通過向前算法逐層傳輸運算數(shù)據(jù),并通過向后算法來逐漸修改個 神經(jīng)元的權(quán)重的過程就是神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程;重復(fù)上述過程,直到預(yù)測結(jié)果的正確率達(dá) 到設(shè)定的閾值,停止訓(xùn)練,此時可認(rèn)為所述卷積神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)模型已經(jīng)訓(xùn)練完 成。
[0053]進(jìn)一步的,在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,通過開發(fā)集來檢驗神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果及時 調(diào)整神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方向,防止模型過擬合情況的發(fā)生,在模型訓(xùn)練過程中,僅僅保留在開 發(fā)集上識別準(zhǔn)確率最高的訓(xùn)練模型。使用開發(fā)集來避免神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中的過擬合,是 機(jī)器學(xué)習(xí)領(lǐng)域中的常見技術(shù)具體過程不再贅述。
[0054]作為一種優(yōu)選,所述滑動采樣框滿足以下條件:a 1.5a,0.5b K 1.5b,其中 L為矩形滑動采樣框的長,W為矩形滑動采樣框的寬,a為待識別字符圖片的長,b為待識別字 符圖片的寬。本發(fā)明方法實現(xiàn)的圖像文字序列識別,通過滑動取樣框依次序?qū)ΥR別的圖 像文字序列進(jìn)行取樣,取樣框的大小可設(shè)計成與待識別圖片單個漢字字符的大小相當(dāng),則 每次采樣可以覆蓋大約一個漢字字符的面積;且經(jīng)過優(yōu)選,所述滑動采樣框每次滑動的距 離Η滿足以下條件:0.4b < Η < 0.6b,即將每次滑動的距離設(shè)置為半個取樣框的面積,這樣每 次采樣大約可以覆蓋半個漢字字符、一個數(shù)字、字母或者標(biāo)點;方便識別神經(jīng)網(wǎng)絡(luò)的識別; 將每次取樣框采樣的數(shù)據(jù)輸入到卷積神經(jīng)網(wǎng)絡(luò)和遞歸神經(jīng)網(wǎng)絡(luò)中,由遞歸神經(jīng)網(wǎng)絡(luò)每次根 據(jù)輸入數(shù)據(jù)輸出識別結(jié)果,該識別