数平精准推荐 | OCR技术之数据篇
導語:深度學習在OCR領域的成功應用需要大量數據,數平精準推薦團隊利用圖像增強,語義理解,生成對抗網絡等技術生成高質足量的數據,為算法模型提供燃料,幫助OCR技術服務在多種業務場景中快速迭代,提升效果。
如果把深度學習看做引擎,大量帶標注的數據則是燃料,燃料的體量和質量直接影響引擎的動力。隨著計算能力大幅增強,深度學習模型已向著wide?&?deep的方向越走越遠,更大更深的模型需要更多的數據訓練。這一點從近年來學術界與工業界競相公開的數據集規模上可見一斑。以經典的計算機視覺任務為例,如fig.1所示,公開數據集的量級幾乎呈指數上升趨勢。體量越來越大的數據集同時也包含著越來越豐富的標簽信息,正是這些龐大而豐富的信息使得深度模型得以充分的訓練,從而能完成各種機器視覺,語義理解,行為預測等任務。
fig.?1?近年來計算機視覺公開數據集?[1][2][3]?[4]?[5]
1.1?OCR數據
如圖fig.2所示,OCR的作用是檢測圖像中的文字區域以及識別文字內容。我們的OCR算法當前主要應用于廣告圖片,不僅助力廣告審核,更重要的是提取廣告素材圖片中的語義特征以求更精準的推薦[17]。除了廣告領域,我們還服務于內容相關的網絡圖像,游戲圖像,以及各類卡證圖像的識別。相比物體檢測識別,OCR由于包含傾斜文本框,低分辨率文字,以及文本版面多樣化,因此OCR數據標注具有特殊性,標注成本更高。如此情況決定了我們難以通過用戶反饋獲得待標注樣本來支撐OCR深度模型訓練。因此,除了在具體業務場景中必不可少的人工數據標注,我們的訓練樣本需要通過機器生成來獲取。
fig.2?OCR圖像文字識別效果
二.?OCR數據生成
對基于深度學習的技術而言,訓練數據的數量很大程度上影響了技術效果。公司的業務圖片中包含大量中文漢字文本行,中英文數字混合的情況,幾乎沒有這樣大規模可用的文字檢測識別數據集,由于獲取大量帶標注訓練數據成本高,易擴展且速度快的數據機器生成便成為首選。在計算機視覺領域,數據機器生成主要可粗略的分為三種類型:底層的圖像處理技術,中間層的圖像理解加人為規則,以及高層的端到端圖像數據生成,OCR技術的數據生成同樣遵循這三類。
2.1?圖像處理數據增強
基于圖像處理進行數據增強這種訓練數據生成的方式是門檻最低也應用最為廣泛的方法。最常用的圖像處理方式包含如fig.3所示,翻轉,平移,旋轉,加噪聲,模糊,等幾十種基礎操作,每張樣本可通過組合這些操作生成出眾多新樣本。在OCR領域,除了上述的基礎圖像處理技術,書寫文字的屬性及背景圖片也可以極大的多樣化。我們使用的背景圖片來自于多種業務場景;在字體選取上使用幾百種中英文字體;在語料庫的選擇上,在現有廣告語料基礎上,我們構建了近千萬詞條的新語料庫。生成的樣本最大化接近真實廣告圖片,?生成樣本數千萬,使得模型具備強大的識別能力和泛化性能。
fig.3?圖像樣本增強:噪聲,旋轉,調整對比度,模糊等
2.2?基于圖像分割&景深
由于直接將文字寫在背景圖片上這種策略并不考慮背景變化,在很多背景復雜的情況下,生成的樣本顯得不真實,且部分樣本人眼也無法判斷文字內容。這些樣本的存在有極大的可能給模型檢測識別能力帶來副作用,受到牛津大學VGG實驗室16年發表的文章[6]啟示,我們對背景圖片進行分析理解,選取趨近一致的背景進行文字書寫,并且根據圖片景深信息,將文字書寫平面與圖片中物體表面進行擬合,讓文字貼合物體表面,獲得更加真實的視覺效果。
fig.4?OCR圖像文字識別效果
(綠色文本框標識文本行位置,黑色文字代表文本框內文字內容,圖像來源[6])
在fig.4中,第一行為背景圖片處理流程,第二列為生成樣本示例。圖片經過景深檢測,圖像分割以及文字區域篩選。在書寫文本行的過程中,文字書寫的平面會依據物體表面,以模擬出更真實的圖片樣本。在fig.5中可以看到圖片中生成的文字不僅每個文本行帶有標注框,每個字的位置也有文本框明確的標注。
fig.5?基于圖像分割和景深生成OCR標簽圖片
基于上述圖像分割和圖像景深的技術,我們在廣告圖片上生成了大量的帶標注樣本供文本檢測模型訓練。如fig.6所示,樣本中的文字與圖片大小比例,文本行傾斜角度,文字顏色與背景顏色的映射關系,文字間隔等細節特征也通過統計廣告圖片獲得。在使生成樣本更加趨近真實的樣本的基礎上,我們還從文字透明度,斜體方面增加了生成樣本的多樣性,從而獲得更加魯棒的文字檢測及端到端檢測識別的能力。
fig.6?廣告圖片生成樣本
對于大部分網絡圖片(廣告圖片,信息流文章圖片,游戲圖片等),由于業務中的樣本本身也由計算機生成,屬于生成數字圖片(Born-Digital?Images)識別,因此我們生成的樣本可以模擬到非常逼真,但是在部分業務場景里,待識別的圖片來自于真實拍攝,屬于自然場景文字識別? STR(Scene?Text?Recognition),STR在計算機視覺領域是經典且熱門的技術,很多年來一直持續不斷有研究工作[10][11][12][13]推進其發展。但是,STR在公開數據集的數量方面一直沒有突破,一些研究嘗試使用基于類似生成網絡圖片的方式生成自然場景樣本,卻始終沒有取得顯著的效果。
2.3?生成對抗網絡(Generative?Adversarial?Network)
在自然場景中,文字通常不但不像網絡圖片具有顯著性,還經常伴隨著模糊,反光等情況,給文字檢測識別帶來極大的困難。以銀行卡號識別場景為例,陰影,反光,角度,背景均給識別帶來很大的困難,然而這些并不是最核心的問題,核心問題是銀行卡圖片屬于個人隱私,獲取大量真實銀行卡圖片樣本幾乎不可能。那么,如何滿足模型訓練卻必須有樣式豐富、數量龐大的樣本集需求呢?我們需要更多從算法角度出發,尋找突破口。
fig.7生成對抗網絡結構
自從2014年底Ian?Goodfellow?提出生成對抗模型(GANs)[7]以來,業界涌現出大量GANs應用在各個任務上的工作,其中包含了一些數據生成的成果[8][9][14][15]。GANs思想如fig.7所示,生成網絡負責生成圖像,判別網絡負責預測輸入圖片是否真實,隨著生成網絡G與判別網絡D的交替式對抗學習,生成網絡逐漸能夠生成以假亂真的圖像
(a)模型訓練過程
?(b)?生成器模型結構選擇
fig.8?pix2pix[14]原理圖解
在一系列生成對抗網絡的成果中,我們發現基于對抗學習的圖片風格轉化[14][15]更符合我們的場景,如fig.8所示,pix2pix[14]中,判別器D學習區分真實樣本和生成樣本;生成器G學習生成更真實的樣本以求讓D無法識別,其中生成器網絡結構可選擇是否帶有跳躍連接。在這個基礎上,我們可以將人工生成出的白底黑字的號碼轉化為銀行卡號的風格,用以增加訓練樣本。如fig.9所示,左邊為真實的銀行卡樣本圖片,右邊為對應卡號的模版。我們期望利用訓練好的生成對抗網絡將隨機的卡號轉化為銀行卡風格的樣本,如此以來我們便可以獲得大量帶標注的銀行卡樣本用以訓練文字識別模型。
fig.?9?銀行卡樣本素材(部分號碼涂黑為保護卡號隱私)
fig.10為我們使用的生成對抗模型,不同于常規的圖片生成任務,卡號圖片為長條形(長是寬的10倍以上),為了保證生成的圖片整體風格一致,我們調整網絡結構,讓網絡感受野足夠看到大部分圖片,從而保障生成的圖片整體風格保持一致。另外再通過drop?out來控制隨機性,使同一個號碼模版可以生成出幾百種不同的風格。
fig.10?銀行卡樣本生成對抗模型
Fig.11中的圖片通過GANs生成,?可以看到盡管圖片還有少量瑕疵(最下圖),但絕大多數圖片已經可以達到以假亂真的程度。我們依照銀行卡號數字編碼規范,可以很快生成幾十萬數字模版,再通過GANs將這些模版轉換為銀行卡號風格,伴隨推理過程中的隨機性,我們可以在一天內產出百萬量級的生成樣本提供給識別模型訓練。
fig.11?用生成對抗網絡生成銀行卡號樣本效果
2.4?小結
在各類任務上,我們累計生成樣本千萬級別,為OCR檢測和識別提供了充足的訓練數據。通過上述的數據生成技術,我們在網絡圖片,自然場景圖片,以及特定業務場景(銀行卡,身份證...)的OCR檢測與識別效果有明顯提升。尤其是網絡圖片,由于生成樣本逼真,數量多,足夠多樣化,能夠通過算法bad?case反饋迅速反應,生成針對性的樣本,使得OCR能力快速提升。在生成對抗網絡方面,優化生成模型的穩定性,利用少樣本學習,半監督學習等將會是我們重點探索的方向。
本文分享了數平精準推薦團隊在數據生成方面的工作,主要基于圖像處理,圖像理解,和生成對抗網絡三種類型的技術快速產生大量帶標注數據,在此之外,也在不斷積累人工標注數據作為真實樣本,這些真實樣本不但客觀反映了業務場景,也為生成數據規范提供了標桿,即依賴這些真實數據樣式來在生成數據環節進行大量的模擬和泛化。在后續的工作中,我們會重點關注如何通過服務化和工具化實現不斷的數據自動積累,模型自動訓練更新。除OCR外,計算機視覺乃至整個機器學習領域,盡管數據驅動這個詞被無數次提到,但真正能夠釋放數據驅動能力的產品或技術服務依然寥寥無幾。如何讓機器自身具備數據收集、整理、分析的能力,并自主對算法進行調整和優化,自主做出判斷和決策將是我們探索的方向。
騰訊TEG數平精準推薦團隊OCR方面已經有了多年積累下的各項技術積累,愿意與任何有OCR技術相關需求的業務同事們進行交流合作,以TEG的使命:專業、合作、伙伴為目標,唯愿以持續打造業界一流的數據、算法、系統,為業務團隊提供優質的服務。
技術&業務合作請咨詢:hongfawang@tencent.com,亦長期招聘優秀算法工程師與實習生,歡迎聯系。
參考文獻:
[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.
總結
以上是生活随笔為你收集整理的数平精准推荐 | OCR技术之数据篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信安 | 网上吵个架都能被封号?是“黑科
- 下一篇: 如何从零到一地开始机器学习?