崔 瑩
(西南電子技術研究所 成都 610036)
BP 神經網絡是一種人工神經網絡模型,自被提出以來,已被廣泛應用于各種檢測[1~2]。我們知道BP 神經網絡是一種多層次的神經網絡,BP 神經網絡的拓撲結構主要由輸入層、隱層、輸出層三部分組成。其中,隱藏層至少有一層,在各層之間神經元是完全連接的。除了輸入層外,每一層的輸入都與上一層的輸出密切相關。通常,BP 神經網絡是一種負反饋神經網絡。它通過負誤差響應來調整權重,使其更接近非線性函數。因此,BP 神經網絡的收斂速度相對較慢。
近年來,文本檢測已成為計算機視覺領域的研究熱點和具有挑戰性的課題。Tutz 提出了Logit 模型來估計權重,而不是使用完全由距離決定的權重。使用lasso 或enhancement 等選擇過程自動選擇最近的鄰居。然后,基于評估和選擇的概念,預測器空間被擴展[9]。Nucci 提出了一種自適應的ASCI(錯誤預測分類器的自適應選擇)方法,該方法根據類的特征,動態選擇一種分類器,可以從一組機器學習分類器中更好地預測類的錯誤傾向。對30 個軟件系統的實證研究表明,ASCI 的性能優于5個單獨使用并結合多數投票集成[10]的分類器。
在研究中,利用花授粉算法(FPA)對傳統BP神經網絡進行優化,優化了網絡的權重和閾值,并提出了一種基于改進神經網絡的中文文本事件檢測方法。為了驗證改進后的神經網絡算法在中文文本事件檢測中的效果,實驗采用GB2312 格式的訓練數據集,并對中文詞匯進行模糊處理,以實現分析詞匯意義的目的。在計算機上對兩種方法進行實驗,比較了自然場景文本檢測方法和基于改進神經網絡的檢測方法的檢測效果,包括準確率、召回率、F值和時間消耗量。
大多數傳統的文本檢測算法都是基于連通域分析的。這些算法首先根據低級別的特征(如光強度、顏色、梯度等)將圖像像素聚集到不同的連接區域中,然后用分類模型對這些連接的組件進行分類,以過濾噪聲區域。傳統的文本檢測算法主要采用自下而上的方法。這些算法通常從字符檢測或筆劃檢測開始,然后通過過濾文本元素來應用文本檢測,從而構造文本行,并驗證文本行。因此,該方法的檢測結果精度低,魯棒性差,實現過程過于復雜。在當今社會快速發展過程中,文本檢測任務正面臨著更大的挑戰[11~15]。
1)圖像中可能出現文字的任何長度、寬比、顏色、字體、大小和形狀;
2)圖像背景更加復雜多樣,紋理與文本相似,容易引起混淆,如圍欄、植被等物體;
3)圖像質量不確定,文本檢測對圖像質量非常敏感。常見的干擾有光照條件、運動模糊、低分辨率和遮擋;
4)圖像文本分布密集,不同文本特征相似,只有細節筆畫不同,多個文本之間的空間很小,一些小細節可能導致多個文本被檢測為一個文本[16~19]。面對這些更復雜和困難的挑戰,傳統的多步文本檢測算法很容易生成大量非文本連接區域,這給后續的文本行拼接和文本行驗證帶來了很大的困難。
神經網絡是由大量簡單計算單元組成的非線性系統,它在一定程度上模擬了人腦的處理操作。
由于實驗數據集主要是中文數據,單詞很難分割,因此,采用紅黑樹的方法,對系統中預存儲的詞匯表進行分段。在分析數據集時,對數據集中的單詞進行分割,然后與系統中的單詞進行比較。FPA神經網絡支持GB2312 數據集,實現分析中文文本的能力。
在研究中,我們利用BP 神經網絡的誤差函數作為FPA 的物理狀態函數,找到物理函數的最小值,并反復更新FPA的狀態,即當誤差值最小時,可以得到FPA的最佳解。可作為BP神經網絡的初始權重和閾值。
全局授粉過程由列維飛行完成,描述如下:
局部授粉過程和花的規律性描述如式(2):
其中ε是均勻分布生成的隨機數,在(0,1)范圍。
最優解,l是列維飛行的步長參數,按以式(3)計算:
1)實驗準備
實驗選擇CEC 語料庫作為測試對象。CEC 語料庫以地震、火災、道路事故、恐怖襲擊和食物中毒等五種緊急事件的新聞報道為素材。通過文本預處理、文本分析、事件標記和一致性檢查,最終注釋存儲在文本中。
2)實驗環境
在建立和編碼文本事件檢測系統后,利用CEC語料庫對系統進行了測試,全面驗證了改進算法的檢測效果。
編程開發環境如下:
開發工具:VS2008;
開發語言:C++、STL;
操作系統:Windows7。
測試文本數據集:2048,測試的核心代碼如下(部分代碼,如圖1所示)。

圖1 文本檢測算法代碼
神經網絡不能直接識別文本,因此需要將文本數據映射到多維實向量中,即文本向量化。數據預處理包括以下三個步驟。
1)分詞
中文文本之間沒有明顯的界限,所以中文文本的分割比英語文本更困難。是否能準確分割文本,對文本情緒分類的準確性有重要影響。“結巴”中文分詞庫是一個python中文分詞庫,支持傳統的分詞和自定義詞典,選擇這種方法可以更準確地分割句子。
2)詞向量化
詞的分布式表示具有很強的表示能力,每個詞之間的相似性可以用空間向量來表示。所謂的詞向量化是將單詞處理為單詞向量的形式。目前,word2vec是生成分布式詞向量的主流方式。結合中文語料庫,利用word2vec的相關技術得到詞向量模型,在分割后輸入到向量模型中,可以得到每個詞的詞向量。
3)生成詞向量矩陣
分詞和詞向量化后,形成N×m詞向量矩陣。其中N是分詞后的單詞數,m是詞向量的維數。為了便于模型的訓練,需要將每個文本生成的詞向量矩陣的大小進行標準化,以使所有文本生成的詞向量矩陣的大小都是相同的。其處理方法為
其中,n是歸一化詞向量矩陣中的單詞數;avgN是所有文本分詞后詞的平均數n;stdN是分詞后數詞n的標準偏差。
然后,處理由文本生成的詞向量矩陣。不足的字向量矩陣用0 填充,修剪超長詞向量矩陣。這樣,n×M詞向量矩陣可以覆蓋95%的樣本。
中文辭海包含85568 個漢字。可以看出,構成文本的漢字數量相當大,但大多數漢字并不常用。因此,如果我們將很少使用的漢字和一些特殊符號作為禁用字,并在文本預處理階段將其從文本中刪除,可以大幅提高程序的處理速度。使用現代漢字列表中常用的2500 個漢字對文本進行預處理。建立通用漢字碼交叉參考表,編號為2500 個通用漢字(漢字標記為w),編號為1~2500個。通過查找表格,可以獲得每個漢字的代碼或相應的漢字。表1是漢字編碼表的部分示例。

表1 常用字編碼
無論是中文文本還是英文文本,與其他對象相比,字符都有自己的特征,如筆畫寬度、文本結構、圖像中字符的顏色和字符的邊緣等特征。根據文本圖像相關特征,進行統一歸納,整理相關決策檢測規則,以實現文本事件檢測的目的。與自然場景中的圖像文本相比,它很容易受到復雜背景條件的影響。中文印刷文本在字符大小、顏色、筆畫寬度和紋理分布方面往往有統一的規范。因此,可基于上述特征來檢測打印的文本。
傳統的自然場景文本檢測算法基本上以英語文本為檢測對象。與英文文本的圖像檢測相比,中文文本檢測的風格不同,結構復雜,檢測結果并不理想。因此,將中文印刷區感興趣的輸出區域與改進的SWT 路徑寬度算法相結合來檢測文本事件。與傳統的整個文本圖像的檢測過程相比,對感興趣文本區域的檢測無疑更快。
1)不同檢測方法的精度和召回率結果分析
首先對兩種中文文本檢測方法的準確性和召回率進行分析,檢測結果見表2和圖2。

表2 不同檢測方法的準確率和召回率的比較

圖2 不同事件檢測方法結果對比
從表2 和圖2 可以看出,這兩種方法的準確率和召回率有所不同。自然場景文本檢測算法的準確率為88%,召回率為73%。基于改進神經網絡的文本檢測算法的準確率為95%,召回率為86%。從兩組數據的比較可以看出,改進神經網絡文本檢測算法在中文文本事件檢測中具有較好的性能。
2)不同檢測方法的F值與耗時分析
為進一步分析兩種算法的實用性,對比分析兩種檢測算法的準確率和召回率后,進一步對兩種算法的F 值和時間消耗實驗結果進行了比較,結果見表3和圖3。

表3 不同檢測方法的準確率和召回率比較

圖3 不同檢測方法的F值和耗時比較
表3 和圖3 顯示,中文文本事件檢測測試中自然場景文本檢測算法的F 值為0.79,耗時4.56s;基于改進神經網絡的文本檢測算法的F 值為0.90,耗時0.64s。從數據比較中可以看出,基于改進神經網絡的文本檢測算法可以更快地檢測中文文本事件,具有更好的實用性。
本研究中,提出了一種基于改進神經網絡的中文文本事件檢測方法,通過使用花授粉算法來優化神經網絡的權重和閾值。為了驗證該方法的有效性,將其與自然場景文本檢測方法進行了比較,并分析了它的準確性、召回率和時間消耗,得到以下結論。
1)基于改進的神經網絡的文本檢測算法的準確率為95%,召回率為86%,相較于自然場景中文本檢測方法,其事件檢測精度更高。
2)基于改進的神經網絡的文本檢測算法的F值為0.90,時間為0.64s,相較于自然場景中文本檢測方法,其耗時更短,F 值更高,該方法具有更好的性能。
雖然提出的基于改進神經網絡的文本檢測算法已經取得了一些效果,但其性能還需通過應用于實際生產得到進一步驗證。本課題將在未來繼續進行深入學習和優化算法。