一種基于深度學習的文字檢測方法及裝置的制造方法
【技術領域】
[0001] 本發明涉及模式識別與機器學習技術領域,特別涉及一種基于深度學習的文字檢 測方法及裝置。
【背景技術】
[0002] 對于文字檢測,傳統的連通區域法如SWT或者MSER,認為文字是連通的,這些方法 對于文字模糊的情況處理不好。而深度學習是一種基于區域的方法,我們只需要提供大量 訓練樣本,模型就會自動學習到魯棒的特征表達,可以很好地處理模糊的情況。
[0003] 另外,傳統的掃描窗口法需要對每一個窗口進行測試,各個窗口之間會有重疊,這 將大大增加計算時間。考慮到卷積操作具有平移不變性,可以將全連接層轉化成卷積層,對 整張測試圖像進行卷積,得到文字區域的概率圖。通過使用GPU進行并行計算,一張圖像的 測試時間在Is以內。
【發明內容】
[0004] 為了解決現有技術存在的上述技術問題,本發明提供了一種基于深度學習的文字 檢測方法及裝置。
[0005] 根據本發明一方面,其提供了 1、一種基于深度學習的文字檢測方法,包括步驟:
[0006] 步驟S1,構建多層卷積神經網絡;所述多層卷積神經網絡包括多個卷積層和全連 接層;其輸入為圖像,輸出為字符分類結果;
[0007] 步驟S2,采用誤差反向傳播算法訓練所述多層卷積神經網絡,從而得到字符識別 模型,其中訓練過程中使用的目標函數為輸入圖像的真實字符類別與所述字符識別模型預 測結果的交叉熵;
[0008] 步驟S3,將步驟Sl中建立的多層卷積神經網絡的輸出層節點修改為2,并利用訓 練好的所述字符識別模型的權重初始化修改后的多層卷積神經網絡的權重;
[0009] 步驟S4,利用字符-非字符數據集對修改后的多層卷積神經網絡進行訓練,得到 字符-非字符二分類模型;
[0010] 步驟S5,將所述字符-非字符二分類模型中的所有全連接層修改成卷積層;
[0011] 步驟S6,利用步驟S5中修改后的所述字符-非字符二分類模型對測試圖像采用多 尺度掃描窗口進行測試,得到文字區域的概率圖,并對所述概率圖進行非極大值抑制得到 最終的文字區域。
[0012] 根據本發明另一方面,其提供了一種基于深度學習的文字檢測裝置,包括:
[0013] 構建模塊,構建多層卷積神經網絡;所述多層卷積神經網絡包括多個卷積層和全 連接層;其輸入為圖像,輸出為字符分類結果;
[0014] 字符識別模型訓練模塊,采用誤差反向傳播算法訓練所述多層卷積神經網絡,從 而得到字符識別模型,其中訓練過程中使用的目標函數為輸入圖像的真實字符類別與所述 字符識別模型預測結果的交叉熵;
[0015] 第一模型修改模塊,將所述構建模塊建立的多層卷積神經網絡的輸出層節點修 改為2,并利用訓練好的所述字符識別模型的權重初始化修改后的多層卷積神經網絡的權 重;
[0016] 字符-非字符訓練模塊,利用字符-非字符數據集對修改后的多層卷積神經網絡 進行訓練,得到字符-非字符二分類模型;
[0017] 第二模型修改模塊,將所述字符-非字符二分類模型中的所有全連接層修改成卷 積層;
[0018] 檢測模塊,第二模型修改模塊修改后的所述字符-非字符二分類模型對測試圖像 采用多尺度掃描窗口進行測試,得到文字區域的概率圖,并對所述概率圖進行非極大值抑 制得到最終的文字區域。
[0019] 由于本發明基于深度學習,把文字檢測問題當成文字-非文字二分類問題。該方 法可以利用復雜任務學習到文字的魯棒特征,不必人工設計特征,且后續處理可以快速有 效地找出文字區域。
[0020] 本發明先利用卷積神經網絡進行復雜的多分類任務來學習文字特征,再做二分類 任務,對于文字的顏色、大小、光照、模糊具有魯棒性,比直接訓練二分類器的效果好。
【附圖說明】
[0021] 圖1是本發明中基于深度學習的文字檢測方法的流程圖。
[0022] 圖2是本發明中基于深度學習的文字檢測方法字符識別網絡結構示意圖。
[0023] 圖3是本發明中基于深度學習的文字檢測方法字符-非字符二分類網絡結構示意 圖。
[0024] 圖4是本發明中文字檢測方法中測試時的示意圖。
【具體實施方式】
[0025] 為使本發明的目的、技術方案和優點更加清楚明白,以下結合具體實施例,并參照 附圖,對本發明作進一步的詳細說明。
[0026] 本發明提出了一種基于深度學習的文字檢測方法,如圖1所示,包括以下步驟:
[0027] 步驟S1,構建多層卷積神經網絡;所述多層卷積神經網絡包括多個卷積層和全連 接層;其輸入為圖像,輸出為預測的多個字符分類結果;
[0028] 步驟S2,采用誤差反向傳播算法訓練所述多層卷積神經網絡,從而得到字符識別 模型,其中訓練過程中使用的目標函數為輸入圖像的真實標簽與所述字符識別模型預測結 果的交叉熵;
[0029] 步驟S3,將步驟Sl中建立的多層卷積神經網絡的輸出層節點修改為2,并利用訓 練好的所述字符識別模型的權重初始化修改后的多層卷積神經網絡的權重;
[0030] 步驟S4,利用字符-非字符數據集對修改后的多層卷積神經網絡進行訓練,得到 字符-非字符二分類模型;
[0031] 步驟S5,將所述字符-非字符二分類模型中的所有全連接層修改成卷積層;
[0032] 步驟S6,利用步驟S5中修改后的所述字符-非字符二分類模型對測試圖像采用多 尺度掃描窗口進行測試,得到文字區域的概率圖,并對所述概率圖進行非極大值抑制得到 最終的文字區域。
[0033] 以下詳細說明本發明方法涉及的關鍵步驟。
[0034] 首先,對于步驟S1,構建多層的神經網絡的結構。包括定義構成網絡的層數、卷積 窗大小和節點數等。一般來說,網絡越深效果越好,但同時計算量增加。優選地,本神經網 絡結構如圖2所示,包含2層卷積層+3層全連接層,輸入為28 X 28減去均值的灰度圖像的 像素值,輸出層的每個輸出節點代表一類字符,對于英文來說共62類(26個大寫字母+26 個小寫字母+10個數字)。
[0035] 其次,采用誤差反向傳播算法對網絡進行訓練。卷積層和全連接層均使用激活函 數提供非線性,本模型的激活函數f(x)可以表示為f(x) =max(0,WTx+b)。其中W是模型 權重,b是偏置項,X是上一層的輸出,作為本層的輸入。記Z1為第1類對應輸出節點的輸 出值,共有62個輸出值Zk (k = 1. .. 62),這些輸出值沒有限定在0~1之間。對Z1進行歸 一化得到模型預測P1S
[0037] P1可以理解為模型認為該圖像屬于第1類的概率。采用反向傳播算法對所建立的 多層神經網絡進行有監督訓練,模型的目標函數E為圖像的真實類別qi (屬于第1類,則為 1,否則為〇)與模型預測P1之間的交叉熵:
[0039] 采用隨機梯度下降算法使目標函數E盡可能的小,即模型預測值與真實類別越接 近越好。權重值的更新如下:
[0041] η為學習率,Wi為第i層的權重值,偏導數的求取需要使用誤差反向傳播算法。
[0042] 第三,上述訓練好的模型輸出層節點數是62,接下來訓練字符-非字符二分類模 型,所以將步驟一中建立的卷積神經網絡的最后一個全連接層即輸出層的結點數目修改為 2,如圖3所示。用上一步的字符分類模型初始化卷積層和全連接層,即二分類模型的權值 都從字符分類模型中提取。
[0043] 第四,用字符-非字符數據進行訓練,訓練算法與步驟二相同,得到字符-非字符 二分類模型。可選地,該數據集可以是Wang Tao等人在2012年公布的,包含了英文字符-非 字符的灰度圖像。
[0044] 第五,二分類模型訓練好后,將所述二分類模型中的全連接層改為卷積層,但權重 值保持不變。這是