當前位置:
首頁 > 科技 > OCR大突破:Facebook推出大規模圖像文字檢測識別系統——Rosetta

OCR大突破:Facebook推出大規模圖像文字檢測識別系統——Rosetta

作者 | Fedor Borisyuk,Albert Gordo,Viswanath Sivakumar

譯者 | 林椿眄

編輯 | 非主流

出品 | AI科技大本營

【導讀】OCR(Optical Character Recognition),也稱光學字元識別,是通過掃描等光學輸入方式將各種票據、報刊、書籍、文稿及其它印刷品的文字轉化為圖像信息,再利用文字識別技術將圖像信息轉化為可以使用的計算機輸入的一種技術。其實大家都在應用這項技術——快遞單號的掃描識別、火車票的驗證等等。最近,Facebook 研究人員提出了一個大規模圖像文本提取和識別系統——Rosetta。接下來 AI科技大本營就為大家解讀一下這個 OCR 界的最新神器。

摘要

在本文中,我們提出了一個可部署、可擴展的光學字元識別 (OCR) 系統,稱之為 Rosetta,用於處理 Facebook 上每天上傳的圖片。對於 Facebook 這樣社交網路中的互聯網用戶而言,通過圖像內容共享實現對圖像及其包含文字的理解,已經成為信息溝通的一種主要方式,這對促進搜索和推薦應用來說也是至關重要的。這裡, 我們提出 Rosetta 系統結構,這是一種有效的建模技術用於檢測和識別圖像中的文本。通過進行大量的評估實驗,我們解釋了這種實用系統是如何用於構建 OCR 系統,以及如何在系統的開發期間部署特定的組分。

簡介

人們在 Facebook 等社交網路中的信息共享主要是通過一些視覺媒體,如圖片和視頻等。在過去的幾年裡,每天上傳到社交媒體平台上的照片數量成倍增長,這對大量視覺信息的處理技術提出了挑戰。圖像理解的主要挑戰之一是將有關圖像中的文本信息檢索出來,這也稱為光學字元識別 (OCR),這是一個將電子圖像中的字體,繪圖或場景文本轉化為機器編碼文本的過程。從圖像中獲取這樣的文本信息是非常重要的,這也能促進許多不同的現實應用,如圖像搜索和推薦等。

在光學字元識別任務中,給定一張圖像,我們的 OCR 系統能夠正確地提取所覆蓋或嵌入的文本圖片。這種任務所面臨的挑戰主要是來自一些潛在的字體、語言、詞典和其他語言變體,包括特殊的符號,非字典單詞或圖像中的 URL,email ID 等特定信息。此外,圖像的質量往往也會隨著自然場景圖像中文字的出現而變化不同的背景。另一方面,社交網路上每天上傳的圖像數量都是龐大的,對於如此大量的圖片進行處理也是目前這項任務所要面臨的一大挑戰。我們想要在圖像上傳的同時,實時地進行 OCR 處理,這需要我們花費大量的時間對系統的組件進行優化。

總的說來,我們希望建立一個強大而準確的 OCR 系統,來實時處理每天上傳的數億張圖像。本文,我們提出一種可擴展的 OCR 系統 Rosetta,為 Facebook 日常網路社交提供支持。我們的 OCR 系統分為文本檢測和文本識別兩個階段:基於 Faster-RCNN 模型,在文本檢測階段我們的系統能夠檢測出圖像內包含文本的區域;採用基於全卷積網路的字元識別模型,在文本識別階段我們的系統能夠處理檢測到的位置並識別出文本的內容。下圖1展示了 Rosetta 系統的檢測識別效果。

圖1 使用 Rosetta 系統進行 OCR 文本識別。首先,基於 Faster-RCNN 模型檢測出單詞的位置,並採用全卷積模型生成每個單詞的轉路信息。

方法

我們的 OCR 系統 Rosetta 主要包含兩個階段:檢測和識別階段。在檢測階段,我們的系統能夠檢測出圖像中可能包含文字的矩形區域。在識別階段,我們對每個檢測到的區域,使用全卷積神經網路模型,識別並轉錄該區域的單詞,實現文本識別。兩階段的處理過程有幾大好處,包括解耦訓練處理、部署並更新檢測和識別模型的能力,並行地運行文本識別,獨立地支持不同語言的文本識別等。下圖2詳細說明我們系統的流程。

圖2 兩階段模型的結構。第一階段是基於 Faster-RCNN 模型進行單詞檢測。第二階段使用具有 CTC 損失的全卷積模型進行單詞識別。這兩個模型是獨立訓練的。

文本檢測模型

文本檢測階段,我們採用最先進的 Faster-RCNN 目標檢測網路。簡而言之,Faster-RCNN 通過一個全卷積神經網路和區域建議網路 (RPN) 同時實現目標的檢測和識別:學習表徵一張圖像的卷積特徵映射並生成 k 個高可能性的文本建議區域候選框及其置信度得分,隨後按置信度分數排序這些候選框並利用非極大值抑制 (NMS) 演算法得到最有希望的檢測區域,再從候選框中提取相關的特徵映射並學習一個分類器來識別它們。此外,邊界框回歸 (bounding-box regression) 通常用於提高邊界框生成的準確性。

考慮到模型效率的問題,我們的文本檢測模型採用基於 ShuffleNet 結構的 Faster-RCNN 模型,而 ShuffleNet 卷積結構是在 ImageNet 數據集上經過預訓練得到的。整個文本檢測系統是以監督式的,端到端的方式進行訓練的。訓練過程中,該檢測系統採用內部合成的數據進行訓練,並在 COCO-Text 數據集上進行微調後應用於學習真實世界數據集特徵。了,

文本識別模型

文本識別階段,我們嘗試了以下兩種不同的模型結構,並採用了不同的文本損失函數。

基於字元序列的編碼模型 (CHAR)。該模型假設所有圖像都具有相同的大小並且存在最大可識別字元數量 k。對於較長的單詞,單詞中只有 k 個字元能夠被識別出。該 CHAR 模型的主體由一系列卷積結構組成,後接上 k 個獨立的多類分類器,用於預測在每個位置上出現的字元。在訓練期間,共同學習卷積體和 k 個不同的分類器。使用 k 個並行損失 (softmax + negative cross-entropy) 並提供合理的基線就能很容易地訓練 CHAR 模型,但這有兩個重大缺點:它無法正確識別長的單詞串 (如 URL 地址),分類器中大量的參數容易導致模型出現過擬合現象。

基於全卷積模型。我們將此模型稱為 CTC,因為它使用 seq2seq 的CTC損失函數用於模型的訓練,並輸出一系列字元。CTC 模型的結構示意圖如下圖3所示,基於 ResNet-18 結構,在最後一層的卷積中預測輸入字元在每個圖像中最可能的位置。與其他工作不同的是,我們在此不使用顯式循環神經網路結構 (如 LSTM 或 GRU) 或任何的注意力機制,而直接生成每個字元的概率。訓練時,我們採用 CTC 損失函數,通過邊緣化所有可能對齊的路徑集合來計算給定標籤的條件概率,這就能夠使用動態編程進行有效地計算。 如圖3所示,特徵映射的每一列對應於圖像每個位置所有字元的概率分布,CTC 能夠找到它們之間的對齊預測,即可能包含重複的字元或空白字元 (-)和真實標籤。

圖3 文本識別模型的結構

Rosetta 系統

下圖4展示了 Rosetta 的系統結構,其在線圖片處理的流程主要包含以下幾個步驟:

Rosetta 將客戶端的圖片下載到本地計算機集群,並通過預處理步驟,如調整大小和規範化來進一步處理。

執行文本檢測模型 (圖4中的步驟4) 獲取圖像中所有單詞的位置信息 (邊界框坐標和置信度分數)。

將單詞的位置信息傳遞給文本識別模型 (圖4中的步驟5),用於提取圖像給定裁剪區域的單詞字元。

所提取的文本信息及圖像中文本的位置信息都被存儲在 TAO 中,這是 Facebook 的一個分散式圖形資料庫 (圖4中的步驟6)。

諸如圖片搜索等下游應用程序可以從 TAO 中訪問所提取的圖像文本信息 (圖4中的步驟7)。

圖4 Rosetta 系統結構,這是 Facebook 的可擴展的文本識別系統。

實驗

我們對 Rosetta OCR 系統進行了大量的評估實驗。首先,我們定義用於評估準確性和系統處理時間的度量,並描述用於訓練和評估的數據集。我們在單獨的數據集上進行保準的模型訓練和評估過程。進一步,我們評估文本檢測和文本識別模型,以及系統準確性和運行時間之間的權衡。

評估度量

對於文本檢測模型,我們採用 mAP 和 IoU 作為評估度量。而對於文本識別模型,我們使用 accuracy 和 Levenshtein』s edit distance 作為我們的評估指標。

資料庫

我們採用 COCO-Text 數據集對我們的模型進行訓練和測試。COCO-Text 數據集包含大量自然場景下注釋的文字,由超過63000張圖片和145000文本實例組成。為了解決 COCO-Text 數據與 Facebook 上圖片數據分布不匹配的問題,我們還通過隨機重疊 Facebook 中圖像的文本來生成了一個大規模的合成數據集。

模型檢測性能

下表1,表2,表3分別展示了 Faster-RCNN 檢測模型在不同數據測試集上的的檢測性能,不同卷積主體結構的推理時間,以及 ResNet-18 和 ShuffleNet 為卷積主體的檢測性能。

表1 在不同數據測試集上 Faster-RCNN 檢測模型的mAP。準確性是 mAP 在合成訓練數據集上的相對改進。表示微調,即 AB 表示在 A 上訓練並在 B 上微調。

表2 以各種卷積結構為主體的 Faster-RCNN 模型的推理時間。表中的數字為相對於 ResNet-50 的改進。

表3 使用 ResNet-18 和 Shuffle 結構的 Faster R-CNN 在 COCO-Text 數據集上評估結果。表格中的 mAP 是對 ResNet-18 的 3個RPN 寬高比的相對改進。

模型識別性能

下表4,表5分別展示了在不同數據集上模型的識別性能以及結合檢測和識別系統檢測到的詞召回率下降的歸一化幅度。

表4不同數據集上模型的識別性能。越高的 accuracy 和越低的 edit distance 代表越好的結果。表中的數字是相對於在合成數據集上訓練的 CHAR 模型的改進。

表5 檢測和識別組合系統檢測到詞召回率下降的歸一化幅度

結論

本文,我們提出了魯棒而有效的文本檢測和識別模型,並用於構建可擴展的 OCR 系統 Rosetta。我們對 Rosetta 系統進行了大量的評估,結果展示系統在權衡模型精度和處理時間方面都能實現高效率的性能。進一步地,我們的系統將部署到實際生產中並用於處理 Facebook 用戶每天上傳的圖片。

http://delivery.acm.org/10.1145/3220000/3219861/p71-borisyuk.pdf?ip=211.103.135.162&id=3219861&acc=OPEN&key=4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E6D218144511F3437&__acm__=1535625033_0d5caf858af000c0791835439d2604a5

——完——

AI科技大本營在線公開課第15期

機器學習專場

時間:9月6日(今晚) 20:00-21:00

入群福利:講師交流+PPT分享+抽獎送書


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI科技大本營 的精彩文章:

AI有嘻哈!

TAG:AI科技大本營 |