數平精準推薦 | OCR技術之數據篇

導語:深度學習在OCR領域的成功應用需要大量數據,數平精準推薦團隊利用圖像增強,語義理解,生成對抗網絡等技術生成高質足量的數據,爲算法模型提供燃料,幫助OCR技術服務在多種業務場景中快速迭代,提升效果。


一. 背景介紹

如果把深度學習看做引擎,大量帶標註的數據則是燃料,燃料的體量和質量直接影響引擎的動力。隨着計算能力大幅增強,深度學習模型已向着wide & deep的方向越走越遠,更大更深的模型需要更多的數據訓練。這一點從近年來學術界與工業界競相公開的數據集規模上可見一斑。以經典的計算機視覺任務爲例,如fig.1所示,公開數據集的量級幾乎呈指數上升趨勢。體量越來越大的數據集同時也包含着越來越豐富的標籤信息,正是這些龐大而豐富的信息使得深度模型得以充分的訓練,從而能完成各種機器視覺,語義理解,行爲預測等任務。

1.jpg

fig. 1 近年來計算機視覺公開數據集 [1][2][3] [4] [5]


1.1 OCR數據

如圖fig.2所示,OCR的作用是檢測圖像中的文字區域以及識別文字內容。我們的OCR算法當前主要應用於廣告圖片,不僅助力廣告審覈,更重要的是提取廣告素材圖片中的語義特徵以求更精準的推薦[17]。除了廣告領域,我們還服務於內容相關的網絡圖像,遊戲圖像,以及各類卡證圖像的識別。相比物體檢測識別,OCR由於包含傾斜文本框,低分辨率文字,以及文本版面多樣化,因此OCR數據標註具有特殊性,標註成本更高。如此情況決定了我們難以通過用戶反饋獲得待標註樣本來支撐OCR深度模型訓練。因此,除了在具體業務場景中必不可少的人工數據標註,我們的訓練樣本需要通過機器生成來獲取。

2.jpg

fig.2 OCR圖像文字識別效果


二. OCR數據生成

對基於深度學習的技術而言,訓練數據的數量很大程度上影響了技術效果。公司的業務圖片中包含大量中文漢字文本行,中英文數字混合的情況,幾乎沒有這樣大規模可用的文字檢測識別數據集,由於獲取大量帶標註訓練數據成本高,易擴展且速度快的數據機器生成便成爲首選。在計算機視覺領域,數據機器生成主要可粗略的分爲三種類型:底層的圖像處理技術,中間層的圖像理解加人爲規則,以及高層的端到端圖像數據生成,OCR技術的數據生成同樣遵循這三類。


2.1 圖像處理數據增強

基於圖像處理進行數據增強這種訓練數據生成的方式是門檻最低也應用最爲廣泛的方法。最常用的圖像處理方式包含如fig.3所示,翻轉,平移,旋轉,加噪聲,模糊,等幾十種基礎操作,每張樣本可通過組合這些操作生成出衆多新樣本。在OCR領域,除了上述的基礎圖像處理技術,書寫文字的屬性及背景圖片也可以極大的多樣化。我們使用的背景圖片來自於多種業務場景;在字體選取上使用幾百種中英文字體;在語料庫的選擇上,在現有廣告語料基礎上,我們構建了近千萬詞條的新語料庫。生成的樣本最大化接近真實廣告圖片, 生成樣本數千萬,使得模型具備強大的識別能力和泛化性能。

3.jpg

fig.3 圖像樣本增強:噪聲,旋轉,調整對比度,模糊等


2.2 基於圖像分割&景深

由於直接將文字寫在背景圖片上這種策略並不考慮背景變化,在很多背景複雜的情況下,生成的樣本顯得不真實,且部分樣本人眼也無法判斷文字內容。這些樣本的存在有極大的可能給模型檢測識別能力帶來副作用,受到牛津大學VGG實驗室16年發表的文章[6]啓示,我們對背景圖片進行分析理解,選取趨近一致的背景進行文字書寫,並且根據圖片景深信息,將文字書寫平面與圖片中物體表面進行擬合,讓文字貼合物體表面,獲得更加真實的視覺效果。

4.jpg

fig.4 OCR圖像文字識別效果

(綠色文本框標識文本行位置,黑色文字代表文本框內文字內容,圖像來源[6])


在fig.4中,第一行爲背景圖片處理流程,第二列爲生成樣本示例。圖片經過景深檢測,圖像分割以及文字區域篩選。在書寫文本行的過程中,文字書寫的平面會依據物體表面,以模擬出更真實的圖片樣本。在fig.5中可以看到圖片中生成的文字不僅每個文本行帶有標註框,每個字的位置也有文本框明確的標註。

5.jpg

fig.5 基於圖像分割和景深生成OCR標籤圖片


基於上述圖像分割和圖像景深的技術,我們在廣告圖片上生成了大量的帶標註樣本供文本檢測模型訓練。如fig.6所示,樣本中的文字與圖片大小比例,文本行傾斜角度,文字顏色與背景顏色的映射關係,文字間隔等細節特徵也通過統計廣告圖片獲得。在使生成樣本更加趨近真實的樣本的基礎上,我們還從文字透明度,斜體方面增加了生成樣本的多樣性,從而獲得更加魯棒的文字檢測及端到端檢測識別的能力。

6.jpg

fig.6 廣告圖片生成樣本


對於大部分網絡圖片(廣告圖片,信息流文章圖片,遊戲圖片等),由於業務中的樣本本身也由計算機生成,屬於生成數字圖片(Born-Digital Images)識別,因此我們生成的樣本可以模擬到非常逼真,但是在部分業務場景裏,待識別的圖片來自於真實拍攝,屬於自然場景文字識別  STR(Scene Text Recognition),STR在計算機視覺領域是經典且熱門的技術,很多年來一直持續不斷有研究工作[10][11][12][13]推進其發展。但是,STR在公開數據集的數量方面一直沒有突破,一些研究嘗試使用基於類似生成網絡圖片的方式生成自然場景樣本,卻始終沒有取得顯著的效果。


2.3 生成對抗網絡(Generative Adversarial Network)

在自然場景中,文字通常不但不像網絡圖片具有顯著性,還經常伴隨着模糊,反光等情況,給文字檢測識別帶來極大的困難。以銀行卡號識別場景爲例,陰影,反光,角度,背景均給識別帶來很大的困難,然而這些並不是最核心的問題,核心問題是銀行卡圖片屬於個人隱私,獲取大量真實銀行卡圖片樣本幾乎不可能。那麼,如何滿足模型訓練卻必須有樣式豐富、數量龐大的樣本集需求呢?我們需要更多從算法角度出發,尋找突破口。

7.jpg

fig.7生成對抗網絡結構


自從2014年底Ian Goodfellow 提出生成對抗模型(GANs)[7]以來,業界涌現出大量GANs應用在各個任務上的工作,其中包含了一些數據生成的成果[8][9][14][15]。GANs思想如fig.7所示,生成網絡負責生成圖像,判別網絡負責預測輸入圖片是否真實,隨着生成網絡G與判別網絡D的交替式對抗學習,生成網絡逐漸能夠生成以假亂真的圖像

8.jpg

(a)模型訓練過程

9.jpg

 (b) 生成器模型結構選擇

fig.8 pix2pix[14]原理圖解


在一系列生成對抗網絡的成果中,我們發現基於對抗學習的圖片風格轉化[14][15]更符合我們的場景,如fig.8所示,pix2pix[14]中,判別器D學習區分真實樣本和生成樣本;生成器G學習生成更真實的樣本以求讓D無法識別,其中生成器網絡結構可選擇是否帶有跳躍連接。在這個基礎上,我們可以將人工生成出的白底黑字的號碼轉化爲銀行卡號的風格,用以增加訓練樣本。如fig.9所示,左邊爲真實的銀行卡樣本圖片,右邊爲對應卡號的模版。我們期望利用訓練好的生成對抗網絡將隨機的卡號轉化爲銀行卡風格的樣本,如此以來我們便可以獲得大量帶標註的銀行卡樣本用以訓練文字識別模型。

10.jpg

fig. 9 銀行卡樣本素材(部分號碼塗黑爲保護卡號隱私)


fig.10爲我們使用的生成對抗模型,不同於常規的圖片生成任務,卡號圖片爲長條形(長是寬的10倍以上),爲了保證生成的圖片整體風格一致,我們調整網絡結構,讓網絡感受野足夠看到大部分圖片,從而保障生成的圖片整體風格保持一致。另外再通過drop out來控制隨機性,使同一個號碼模版可以生成出幾百種不同的風格。

11.jpg

fig.10 銀行卡樣本生成對抗模型


Fig.11中的圖片通過GANs生成, 可以看到儘管圖片還有少量瑕疵(最下圖),但絕大多數圖片已經可以達到以假亂真的程度。我們依照銀行卡號數字編碼規範,可以很快生成幾十萬數字模版,再通過GANs將這些模版轉換爲銀行卡號風格,伴隨推理過程中的隨機性,我們可以在一天內產出百萬量級的生成樣本提供給識別模型訓練。

12.jpg

fig.11 用生成對抗網絡生成銀行卡號樣本效果


2.4 小結

在各類任務上,我們累計生成樣本千萬級別,爲OCR檢測和識別提供了充足的訓練數據。通過上述的數據生成技術,我們在網絡圖片,自然場景圖片,以及特定業務場景(銀行卡,×××...)的OCR檢測與識別效果有明顯提升。尤其是網絡圖片,由於生成樣本逼真,數量多,足夠多樣化,能夠通過算法bad case反饋迅速反應,生成針對性的樣本,使得OCR能力快速提升。在生成對抗網絡方面,優化生成模型的穩定性,利用少樣本學習,半監督學習等將會是我們重點探索的方向。


三、總結

本文分享了數平精準推薦團隊在數據生成方面的工作,主要基於圖像處理,圖像理解,和生成對抗網絡三種類型的技術快速產生大量帶標註數據,在此之外,也在不斷積累人工標註數據作爲真實樣本,這些真實樣本不但客觀反映了業務場景,也爲生成數據規範提供了標杆,即依賴這些真實數據樣式來在生成數據環節進行大量的模擬和泛化。在後續的工作中,我們會重點關注如何通過服務化和工具化實現不斷的數據自動積累,模型自動訓練更新。除OCR外,計算機視覺乃至整個機器學習領域,儘管數據驅動這個詞被無數次提到,但真正能夠釋放數據驅動能力的產品或技術服務依然寥寥無幾。如何讓機器自身具備數據收集、整理、分析的能力,並自主對算法進行調整和優化,自主做出判斷和決策將是我們探索的方向。


騰訊TEG數平精準推薦團隊OCR方面已經有了多年積累下的各項技術積累,願意與任何有OCR技術相關需求的業務同事們進行交流合作,以TEG的使命:專業、合作、夥伴爲目標,唯願以持續打造業界一流的數據、算法、系統,爲業務團隊提供優質的服務。


技術&業務合作請諮詢:[email protected],亦長期招聘優秀算法工程師與實習生,歡迎聯繫。


參考文獻:

[1] The 2005 PASCAL Visual Object Classes Challenge, M. Everingham, A. Zisserman, C. Williams, L. Van Gool, M. Allan, C. Bishop, O. Chapelle, N. Dalal, T. Deselaers, G. Dorko, S. Duffner, J. Eichhorn, J. Farquhar, M. Fritz, C. Garcia, T. Griffiths, F. Jurie, D. Keysers, M. Koskela, J. Laaksonen, D. Larlus, B. Leibe, H. Meng, H. Ney, B. Schiele, C.Schmid,E.Seemann,J.ShaweTaylor, A. Storkey, S. Szedmak, B. Triggs, I. Ulusoy, V. Viitaniemi,and J. Zhang.      In Selected Proceedings of the First PASCAL Challenges Workshop, LNAI, Springer-Verlag,  2006 (in press).

[2] SUN Database: LargeScale Scene Recognition from Abbey to Zoo. J. Xiao, J. Hays, K. Ehinger, A. Oliva, and A. Torralba. IEEE Conference on Computer Vision and Pattern Recognition, 2010.

[3] The MIR Flickr Retrieval Evaluation. M. J. Huiskes, M. S. Lew, ACM International Conference on Multimedia Information Retrieval (MIR'08), Vancouver, Canada

[4] New Trends and Ideas in Visual Concept Detection. M. J. Huiskes, B. Thomee, M. S. Lew, ACM International Conference on Multimedia Information Retrieval (MIR'10), Philadelphia, USA.

[5] Abu-El-Haija,  Sami, Nisarg Kothari,  Joonseok Lee,  Paul Natsev,  George Toderici,   Balakrishnan Varadarajan, and Sudheendra Vijayanarasimhan.  "Youtube-8m: A large-scale video classification benchmark." arXiv preprint arXiv:1609.08675, 2016.

[6] Synthetic Data for Text Localisation in Natural Images, Ankush Gupta, Andrea Vedaldi, Andrew Zisserman. CVPR 2016.

[7] Generative Models, Andrej Karpathy, Pieter Abbeel, Greg Brockman, Peter Chen, Vicki Cheung, Rocky Duan, Ian Goodfellow, Durk Kingma, Jonathan Ho, Rein Houthooft, Tim Salimans, John Schulman, Ilya Sutskever, And Wojciech Zaremba, OpenAI, retrieved April 7, 2016.

[8] Ashish Shrivastava, Tomas Pfister, Oncel Tuzel, Josh Susskind, Wenda Wang, Russ Webb, Learning from Simulated and Unsupervised Images through Adversarial Training, CVPR 2017.

[9] Xinlong Wang,  Mingyu You , Chunhua Shen, Adversarial Generation of Training Examples for Vehicle License Plate Recognition. arXiv 2017.

[10] Xinhao Liu , Takahito Kawanishi , Xiaomeng Wu, Kunio Kashino,  Scene text recognition  with high performance CNN classifier and efficient word inference.  ICASSP 2016.

[11] Fei Yin, Yi-Chao Wu, Xu-Yao Zhang, Cheng-Lin Liu,  Scene Text Recognition with Sliding  Convolutional  Character Models, Arxiv 2017.

[12] Suman K.Ghosh, Ernest Valveny, Andrew D. Bagdanov, Visual attention models for scene text recognition, CVPR 2017.

[13] Baoguang Shi, Xinggang Wang, Pengyuan Lyu, Cong Yao, Xiang Bai Robust Scene Text Recognition with Automatic Rectification, CVPR 2016.

[14] Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, Alexei A. Efros, Image-to-Image Translation with  Conditional Adversarial Nets, CVPR 2017.

[15] Jun-Yan Zhu,  Taesung Park,  Phillip Isola, Alexei A. Efros, Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. Arxiv 2017.

[16] Mehdi Mirza, Simon Osindero, Conditional Generative Adversarial Nets. Arxiv 2014.

[17]薛偉, 廣告中的大數據與機器學習, 騰訊大數據技術峯會, 2017.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章