◆張龍坤 何舟橋 萬武南
(成都信息工程大學網絡空間安全學院 四川 610225)
隨著5G時代的到來,信息大爆炸、人工智能、大數據、機器學習等成為這個時代的新標簽。人們對這些新技術的應用也獲得了新的進步和發展。尤其是在當代,網絡辦公和網絡課堂正如雨后春筍般出現,圖像交流和圖像傳播已經成了新的趨勢,圖像截取、文字識別和文字翻譯三種應用結合成為人們網絡辦公和網絡社交的基本需求。但是市面上與需求匹配的應用卻發展滯后。突出的問題是文字識別和文字翻譯單個功能在發展,但是沒有將圖像識別、文字識別和文字翻譯三種應用進行密切結合。而這個結合點正是人們現在的特殊需要和新需求。
出現新的需求,就會有新的應用為之誕生,也會推動著相應的技術和算法取得新的突破。本文將對文字識別算法Tesseract OCR分析和介紹。圖像截取、文字識別和文字翻譯應用結合的功能將成為新一代的辦公軟件和社交軟件的基本功能。新的用戶體驗也必將推動著辦公軟件和社交軟件的革新。本文給出,圖像截取、文字識別和文字翻譯三種應用結合的基本模型,并對模型做出簡單的示例演示。
隨著互聯網技術的高速發展,人工智能、機器學習、文字識別,智能翻譯等新的高科技領域研究和發展方興未艾。對這些領域新的應用創新也層出不窮。其中圖像截取,文字識別和文字翻譯的研究和應用如火如荼,但是這三種應用的結合使用,卻沒有跟上信息社會的發展腳步,略顯滯后。市面上對這三種應用的結合也有許多不盡如人意的地方。目前的大多數辦公軟件、社交軟件和翻譯軟件都沒有將這三種應用得到很好的結合。有些軟件要么只有圖像截取、要么只有文字翻譯功能,卻很少有將三種應用全面結合的。支撐這三種應用的有關技術的發展和相關算法的研究也存在一定的瓶頸。文字識別存在不準確和模糊現象和文字翻譯結果略顯機械呆板的情況,這些問題的解決都需要技術的進一步發展和算法的新突破。
信息大爆炸時代已經到來,傳統經濟向數字經濟轉型發展,人們的需求日益變化。產品設計也從以技術為核心、以功能為賣點到以用戶體驗為中心進行了轉變。人們對辦公軟件、社交軟件和翻譯軟件的辦公效率和使用體驗也提出了新的要求。當下,網絡辦公、網絡課堂發展異軍突起,人們對圖像處理、文字識別、文字翻譯等功能的需求顯著增加。在網上辦公、網上課堂和網上社交等必然難以離開文字,文字是人們使用這些應用的進行交流的主要途徑。技術的發展使得我們對圖像的傳輸和廣泛使用成了可能。新的需求推動著對圖像處理的研究,例如圖像中的文字識別。隨著經濟全球化的發展,國與國之間的交流日益密切,人們對除了母語之外的語言文字的接觸也日益頻繁。文字處理有了新的廣闊的應用場景,即對圖像文字的識別提取和對文字翻譯。
隨著科技的發展,人們對圖像截取、文字識別和文字翻譯應用結合的需求已經成了新的發展趨勢。圖像交流和圖像傳播具有高效的特點,而人們對各種軟件和應用的體驗也正在向簡潔、高效和智能等方面聚集。對圖像中的文字識別和再理解,也將成為人們的基本需求。有了新的需求推動,必然會產生新的用戶體驗設計。圖像截取、文字識別和文字翻譯三種應用的結合必然會成為下一代辦公軟件和社交軟件的必備的基礎功能,也必然成為有關軟件對用戶體驗新的研究點,進而成為新的價值增長點。
新的需求已經產生,新的用戶體驗不僅依賴于應用結合的創新,還需要從技術這個根本點出發。圖像截圖、文字識別和文字翻譯三種應用的結合的實現和新發展,需要文字識別和文字翻譯有關算法和技術的新突破。
文字識別和文字翻譯當前的主流機器學習算法的研究已經取得了豐碩的成果。
文字識別算法:基于深度學習的OCR(Optical Character Recognition,光學字符識別)技術,例如Tesseract OCR和CRNN OCR和attention OCR。OCR電子設備(例如掃描儀或數碼相機)檢查紙上打印的字符,通過檢測暗、亮的模式確定其形狀,然后用字符識別方法將形狀翻譯成計算機文字的過程。
支持“向量機算法”,是一種監督式學習的方法,可廣泛地應用于統計分類以及回歸分析。它是將向量映射到一個更高維的空間里,在這個空間里建立有一個最大間隔超平面。在分開數據的超平面的兩邊建有兩個互相平行的超平面,分隔超平面使兩個平行超平面的距離最大化。假定平行超平面間的距離越大,分類器的總誤差越小。
文字翻譯算法:循環神經網絡和雙向RNN是比較成熟的文字翻譯算法,這兩種算法的核心是通過分析大量的文檔從而得出相應的模型以實現對文字的翻譯。
這些主流的機器學習算法,都有本身的優點和缺陷,需要進一步的研究和發展。
筆者在實現圖像截取,文字識別和文字翻譯應用基本模型時,通過使用Tesseract OCR算法來實現文字識別功能。在此,簡單地分析和介紹一下,Tesseract OCR算法。
Tesseract使用了一種通過文本行累加的簡單而有效的偏斜檢測算法。該算法中將Blobs組織成文本行,并且分析這些行和區域以用來獲取固定間距或成比例的文本。然后會經過兩遍識別,在第一遍中,嘗試依次識別每個單詞,將每個令人滿意的單詞都將作為訓練數據傳遞給自適應分類器。然后自適應分類器將會更準確地識別頁面下方的文本行,找到文本行后,使用二次樣條曲線更精確地擬合基線。通過將blobs劃分為幾組來擬合基線,并為原始筆直基線合理地連續位移。
二次樣條曲線以最小二乘擬合到人口最多的分區(假定為基線)。當從一個完整的單詞識別出來的結果不太滿意時,tesseract通過字符級別的分割blob來改善結果。多邊形輪廓的一些凹的頂點是作為候選的分割點,以及相反方向的凹點或者線段。這三部分可以成功的分割連接的字符。當潛在的分割點已用完,但是還不能滿足要求,文字識別不好時,就用到了“聯合器”。“聯合器”會嘗試最優先搜索,把分割的blob最大可能聯合成候選字符。最后來解決含糊不清的空格,檢查x-height,定位small-cap的文本,和對大小寫處理。
字庫訓練:由于tesseract利用多邊形近似法而不是字符粗略的輪廓這種不同尋常的處理方式,也就帶來了識別率不高的問題。因此為了提高不同場景下對文字的識別率,利用jTessBoxEditor軟件,需要對字庫進行訓練:具體操作步驟如下:
(1)圖片樣本采集
(2)圖片樣本標注
(3)圖片樣本降噪
(4)將圖片轉換為TIF格式
(5)將TIF格式的圖片樣本合并為一個TIF文件
(6)生成TIF文件的box盒子文件
(7)補充和修正box盒子文件
(8) 生成lstmf文件
(1)液質條件:Thermo Scientific LCQ液質聯用儀,XbridgeTM-C18色譜柱(250 mm×4.6 mm,5 μm);填充劑為十八烷基硅烷鍵合硅膠;流動相為乙腈-0.5%氨水溶液,等度洗脫(80∶20),體積流量0.5 mL/min;檢測波長235 nm;柱溫25 ℃;進樣量5 μL。ESI離子源,正離子檢出模式,掃描范圍m/z 95~800。
(9)提取語言的LSTMF文件
(10)訓練
簡易STR(截屏翻譯識別)軟件是一款基于Python、運用了文字識別、文字翻譯、截屏等技術的文字工具,致力于解決文字轉換給人們帶來的困擾。它包含了文字識別、文字提取、截屏等三大模塊,三者既可以各自獨立工作,也可結合起來。文字翻譯模塊可指定英語、中文、韓語、法語等國際通用語言之間相互轉換,可從翻譯文本框中選擇性的轉換從圖片中識別出的文字,翻譯后的文本可全文復制以備他用;圖片截取模塊可截取當前屏幕的選擇區域,也可全屏截取,截取圖片后可以使用文字提取模塊將截圖中的文字提取到翻譯文本框中,也可將圖片復制到剪切板,以便發送給他人,或做其他的編輯。
本軟件采用Python語言編程算法設計,使用最多的是邏輯結構的判斷語句,還有順序結構,還有循環結構。本系統的大多數算法簡單,軟件方便操作,容易上手。軟件設計時簡單分為可視化窗口設計,截圖功能設計、文字識別功能設計和翻譯功能設計四大部分進行編程,使用python語言中的tkinter進行GUI設計,簡單樸素,功能齊全,使用tkinter編輯可視化窗口,操作簡單。系統框架如圖1,軟件流程如圖2。
3.3.1 圖像截取的實現
使用tkinter的canvas畫布并監聽鼠標的單擊位置和釋放位置來實現截圖,可以對屏幕進行截圖,使用者可以使用本功能截取屏幕上想要的部位,也可以對圖片利用本軟件的文字提取模塊對截取圖中的文字進行提取,從未獲得圖片中文字的文本。截取的圖片會以一個單獨的窗口呈現,對窗口里的截取的圖片可以進行復制,以作其他用途。大致步驟如下所示:
(1)產生截屏需求
(2)點擊圖片截圖按鈕
(4)截取圖片磁盤存儲
(5)截取圖片可視化呈現
(6)圖片利用,文字提取,圖片拷貝
3.3.2 圖像文字識別的實現
本軟件使用由Google公司維護的一款功能強大的圖像識別軟件tesseract,其可識別超過100種語言,本軟件根據例如各種軟件無法識別的提示框,各種語言的外刊等幾十種不同應用場景來訓練了字庫,將其對文字的識別率提高到了98%。提取圖片中的文字,將圖片中的文字轉化為可以進行編輯的文本形式。方便使用者對圖片中的文字進行編輯,并且結合了圖片截取功能,使得辦公更加方便。大致步驟如下所示:
(1)對獲取圖片,提取文字
(2)點擊文字提取按鈕
(3) 程序通過pytesseract庫調用tesseract
(4)發出請求,返回提取結果
(5)對提取結果進行簡單處理
(6) 在InText文本框中呈現,翻譯編輯等

圖1 STR(截屏翻譯識別)軟件系統框圖

圖2簡易STR(截圖翻譯識別)軟件流程圖
3.3.3 文字翻譯的實現
軟件基于強大的百度翻譯平臺來實現對不同種語言的轉換,支持世界上主流語言的互相翻譯:目前支持的語言有中文、英語、日語、韓語、法語、阿拉伯語、俄羅斯語、西班牙語、葡萄牙語等國際主流語言的相互翻譯。只需將想要翻譯的文字放到InText文本框里,選擇對應的語言和要翻譯成的語言即可完成翻譯。譯文會自動呈現在OutText文本框中。其步驟如下所示:
(1) 將原文放到InText文本框中
(2)選定原文的語言,選定譯文語言
(3)點擊文字翻譯按鈕
(4) OutText文本框呈現翻譯的譯文
3.3.4 實現結果展示
通過對圖像截取、文字識別、文字翻譯這三大原本各自獨立功能的結合,并依附強大的百度翻譯,Google Tesseract-OCR圖像識別軟件,最終形成了STR(截屏翻譯識別)軟件的雛形。打開主界面,如需截取相應的文字區域,則點擊圖片截取按鈕來截圖,然后通過文字提取按鈕來識別圖片中的文字,再指定想要轉換的源語言和目的語言來轉換全文或者選擇其中的一部分文字來進行轉換,點擊文字翻譯按鈕后會將全文或者選中的文字翻譯成指定的語言,輸出到下方的文本框中。
運行主界面如圖3,文字翻譯結果展示如圖4。

圖3運行主界面

圖4識別和翻譯運行界面
網絡空間已經成為人們主要的精神生活虛擬空間,網絡空間的信息主要的形式載體就包含圖片,而圖像交流和圖像傳播已經成為一個新的趨勢。對圖像種文字地提取和翻譯已經成為新的需求。圖像截取、文字識別和文字翻譯的應用結合迫切需要得到實現。文字識別和文字翻譯的新技術和新算法也需要不斷地突破,為新的應用結合提供技術支撐。本文據此提出,圖像截取、文字識別和文字翻譯應用結合的基本模型,并通過示例對模型做了基本演示,更加具體和可行的模型和具有更加豐富功能的示例,需要進一步的豐富和完善。