王晶:华为云OCR文字识别服务技术实践、底层框架及应用场景 | AI ProCon 2019
生活随笔
收集整理的這篇文章主要介紹了
王晶:华为云OCR文字识别服务技术实践、底层框架及应用场景 | AI ProCon 2019
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
演講嘉賓 |?王晶(華為云人工智能高級算法工程師王晶)出品 |?AI科技大本營(ID:rgznai100)
近期,由 CSDN 主辦的 2019 中國AI 開發者大會(AI ProCon 2019)在北京舉辦。在計算機視覺技術專題,華為云OCR人工智能高級算法工程師王晶分享了“文字識別服務的技術實踐、底層框架及應用場景”的主題演講。
演講的第一部分,他分享了文字檢測和識別的基礎知識以及難點和最新進展。第二部分是華為云文字識別服務關鍵能力、關鍵技術,以及落地過程中遇到的“坑”,這對其他人工智能產品甚至以數據為驅動的產品都具有實踐參考意義。第三部分,他主要介紹了文字識別應用場景以及典型的落地方案。
在王晶看來,雖然現在人工智能很火,但真正能落地的場景比較少,能大規模應用的場景更是少之又少,不過,文字識別服務在經典落地場景中顯然有一席之地。
以下為王晶演講內容實錄,由AI科技大本營(ID:rgznai100)整理:文字識別基本概述和最新進展幾年前我們開始做服務的時候心里還是比較忐忑的,因為文字識別聽起來沒有像人臉識別或者自動駕駛那么高大上,但是后來證明我們的選擇是非常對的,現在這個產品基本上是整個華為云EI部門的明星產品,應用范圍非常廣。
先說一個概念,光學字符識別,英文簡寫是OCR。它的意思是將圖片、PDF中文字轉換為可編輯的文本文件。首先是檢測過程,檢測是指判斷是否存在文字實例并給出具體位置的過程。其次是識別,當我們找到了文字塊之后可以把它轉化成具體的可編輯的內容。一般大家會把2014年前的方法統稱為傳統方法,依靠的是傳統手工設計特征,第二個方法是深度學習,左邊是把發票和文檔轉化成可編輯文字的實例。文字檢測和識別的難點非常多,這些圖是我們做產品過程中遇到的實際場景。首先可以看到背景很多樣,非常復雜,字體也可以有很多種,比如第一張字體相對標準一點,最后一張則是有一些藝術字的特點,顏色也可以很多,比如可以是黃色、白色、黑色等各種各樣的顏色。方向依然可以是隨意的,語言也不統一,中國遇到的大多數場景是漢字和英語,海外的很多場景包含了各種語言。最后是板式不固定,這個很直接。
還有一個難點是日常生活的指示欄、窗戶、磚塊、圖標、花草、柵欄和指示牌等,這些物體和文字的紋理有非常大的相似性。比如移動logo這個圖標和這邊文字紋理特征非常相近,是有極大可能被檢測出來的,但是大部分字符集成沒有這個字符,極其容易造成誤識別。還有就是圖像本身的成像等問題也會造成干擾,比如反光、各種遮擋等,這些都會影響文字的檢測和識別。深度學習時代的文字檢測和識別方法和物體檢測類似,因為文字本身就是物體的一種,所以檢測思路同樣分為兩種。相對規整文字是基于物體檢測回歸的方法,另一種是文字形狀更加多變的,可以基于分割的方法,左上角這個論文核心的工作是就是把SSD的Anchor設計基于文字特點重新設計了。普通的物體檢測Anchor設計偏于正方形或正方形按一定比例左右拉伸的變換。比如本次報告的標題就比較長,實際的場景可以非常長,比如超出我身后屏幕的容納范圍。文字識別,非常容易想到的方法就是把字符一個個切割出來進行分類,這個方法在深度學習之前是最常用的方法。第二是整詞分類,我們把一個單詞直接進行分類。但是對于漢語來說,如果基于整詞分類,大家會發現類別特別多,在實際應用場景中是不現實的。最后一個是現在最常用的方法,基于序列特征提取,比如從語音識別借鑒過來的CTC。除了檢測和識別以外還有一個方法是端到端,同時做檢測和識別,本質上還是需要檢測識別的,只是在一個任務中同時做檢測和識別。一個文字檢測的例子就是TextField,圖中的文字弧形比較大、也比較密集,這個方法是基于像素進行分類,通過后處理把文字合在一起形成一個結果,這個工作的優點是可以檢測比較密的文字,也可以檢測出弧形比較大的文字。另一個例子是文字識別的一個非常典型的工作,據我所知很多的中國的公司都在用這個方法,就是CRNN,首先通過CNN特征提取,提取之后進入一個RNN網絡,比如LSTM,這樣更利于提取圖片中文字的前后聯系,最后通過CTC訓練得到序列化的結果。
文字識別服務的關鍵能力和和關鍵技術第二部分是我今天要講的重點,也就是華為云文字識別服務的關鍵能力和關鍵技術。我會講很多我們在做產品過程中遇到的問題和踩過的坑,其中很多問題和坑不只是文字識別,包括人工智能甚至數據驅動的服務基本都會遇到這些問題。我們是一個產品團隊,我們的核心工作是做產品,但是我們也會順便參加一些比賽,發一些論文,提交一些專利來提高影響力。
我們的服務主要分為五大類,包括通用類、票據類、證件類、行業類和定制類。通用類包括比如通用文字、通用表格、網絡截圖等比較通用的能力。票據類包括增值稅發票、車輛通行費、火車票、行程單等。證件類包括身份證、駕駛證、行駛證、護照等等。行業類則是面向特定行業的,比如物流行業的紙質面單、電子面單,燃氣表、醫學檢驗單、醫療化驗單等。最后是定制類,這些是需要特殊定制的,比如海外服務,助力企業提高生產力,降低成本。
核心步驟有五部分,第一是圖像預處理,我們拿到的圖像很多時候有各種各樣的背景,第一步首先做的是把圖片切割出來,如果有表格的話單獨處理,然后是文字定位、文字識別,最后是后處理校驗,返回結構化的json結果。
那這些能力是如何實現的?首先就是從硬件開始優化,結合我們自己的AI Ascend昇騰芯片,從底層算子開始改寫,我們做產品的時候會把多個算子進行融合,基于芯片進行底層算子重寫。一個AI真的想特別落地的話一定需要考慮硬件場景,前面幾個老師提過他們需要在手機側落地,就一定需要考慮手機側的特點,因為手機芯片的能力沒有GPU那么強。為了訓練速度的提升,我們會做非常多樣的優化,比如圖像預處理優化,會基于圖片長度生成很多進程,對不同長度的文字進行不同的讀取,queue還有輔助queue。
同時會對梯度進行系統聚合優化等等,我們可以在10小時內完成1億的切片數據訓練。所以不管是大公司還是小公司大家做產品的時候第一步都要考慮硬性條件,很多算法性能非常好,但是跑不起來又有什么用呢?
第二個是模型一定要持續優化,這是2018年發在IEEE上的一篇論文,我們做了類似Textbox的優化后,性能提升了10個點左右。右邊的圖也是我們實際遇到的場景,這是一個醫療的收費票據單,客戶需要把蓋章里面的文字識別出來,這個要求可能聽起來比較奇葩,但是我們做產品的時候發現客戶的需求總是多種多樣的,很多需求你都想不到。里面的章也非常多樣,除了橢圓章、圓章,還有方形章、三角形章等;同時票據的種類也非常多,大概有幾千種。
我們開始嘗試了非常多的弧形文字檢測、不規則文字檢測算法,實際的效果都沒有那么好,后來加了一個單字符模塊,最終的精度達到了96%以上,基本滿足了客戶的需求。我要說的是做產品的時候,很多論文的性能非常好,但是當真正落地的時候遇到的情況和論文的差別非常大,這個時候就需要對模型進行持續的優化,如果不優化算法,要我們算法工程師做什么呢?算法工程師不優化算法,不如回家賣地瓜。
數據增強非常重要,在深度學習時代數據成為關鍵,對數據的需求量也大增。現實情況是數據總是有限的,如果我們標注數據的話首先耗時耗力,其次成本非常巨大,標一張圖不同公司的收費是幾毛到幾塊,成本非常大,合成數據基本成為文字檢測和識別的必由之路,針對此種情況,我們內部自研了一套用于數據增強的算子庫。左邊第一張圖是SynthText,首先通過分割得到一些區域,計算景深,生成文字區域,中國有很大一部分公司在用這個算法進行合成數據。第二種辦法是基于OpenCV、Pillow等一些傳統方法合成整圖的數據。我們也會用GAN進行切片風格轉移,這兩張放出來的圖片效果不錯,但實際情況是很多生成的圖片基本不可用,你永遠不知道算法會讓你得到什么。這就涉及了深度學習的另一個問題,因為不可解釋,你永遠不知道你會得到什么。
自動化學習錦上添花,也是我們實際中會用到的東西。比如基于種群的增強算法PBA,能夠快速高效的學到一個先進的應用于神經網絡訓練的數據增強方法,大家可以看一下這張圖,這是隨著訓練的迭代得到的不同的圖片增強參數。有些場景我們訓練如果需要3天的話用這種方法優化后可能減到0.5天,但并不是每個模型都能這樣,因為實際情況是多種多樣的,在有些算法上它可以輔助提高性能,但在另一些算法上則基本沒有效果。右邊是基于NAS的搜索,我們的實現是基于ModelArts自動學習平臺,同時也有海外的研究所幫我們專門做模型壓縮、剪枝。我們的工程師則負責從算法自研到上線等所有的工作。自動化能力是未來。現在人工智能基本都是定制化的,前面各個老師的講座內容很多都是基于特定場景的,所以我們一定要做到自動化?,F在人工智能界有句話叫做有多少人工就有多少智能,現在的人工智能是費時費力的,自動化成了必需。首先我們會輸入一部分圖片生成模板,進行數據擴充,最后自動生成一個模型部署到線上。我們的模型也會開放在模型市場上,客戶可以使用這些模型形成他們自己的服務,也可以利用這些模型來提供服務。
速度和性能需要同時兼顧,這也是我們的一個實際案例,視頻OCR就是從視頻中識別文字。這是我們識別的幾個圖。我們做的時候會基于視頻幀的前后聯系來提高精度。但是這里就有一個問題了,日常情況下視頻是1秒25幀,如果視頻是高清度的話幀率會更高。一般情況下是我們的服務會1秒識別一張,因為如果每幀都識別的話,準確率確實會提升,但我們的成本卻相應的提高了25倍,這是所有的公司都不可能承受的。所以我們做產品的時候一定要平衡性能和速度,在性能好的同時一定要考慮速度,速度意味著成本,不考慮成本的產品是沒有意義的。
下一個我特別要講的是一定要對數據懷有敬畏之心?,F在做人工智能的時候其實需要大量的數據,很多公司對數據往往都非常饑渴,這個時候有些公司就會應用一些比較巧的手段獲得數據,但是我要說的是我們一定要對數據懷有敬畏之心,數據非常珍貴,我們一定要取之有道。最近就有些公司因為不合理的采用爬蟲爬取數據被公安機關審查了。我們在海外市場一定會嚴格遵循GDPR等本地的隱私保護條例,這個也是華為30年海外服務積累下的經驗和教訓,如果我們不遵循這一條會對我們的聲譽和經濟造成不可估量的損失,甚至可能產生嚴重的政治事件。不只是國外,中國對數據隱私也越來越重視,近年出臺了很多的法律法規。我們原來做PAAS服務的時候客戶是歐洲的法國電信、德國電信,如果出現一點點數據隱私的問題都是影響非常大的。還有一個例子,比如說5G,因為中美貿易戰,現在華為就在反復在向全世界證明我們是安全的,是非常尊重客戶隱私的。方案跟著需求走。我們現在的部署方式是云邊端協同部署。最開始的方案是部署在云側,我們覺得我們做的是云上服務,客戶當然需要通過API服務調用了。后來我們接觸的客戶越來越多,發現很多金融、醫療、保險的客戶雖然覺得我們會遵循數據保護條例,不會偷偷竊取他們的數據,但是他們依然不愿意把數據傳出他們的網絡。
所以后來我們的方案就變得越來越靈活,我們會在端側部署一些包括智能攝像頭在內的小盒子,在邊側部署Atlas服務器等滿足不同的客戶需求。這也是做產品的必需要注意的,客戶才是上帝,在產品中工程師要為上帝服務。基于客戶需求調整業務模式,也是產品成功的關鍵之一。文字識別應用場景及典型落地方案最后一部分是應用場景及落地方案?,F在人工智能非常火,但能落地的場景不是那么多,能夠大規模商用并產生經濟價值的更不是那么多,但是我們的應用場景現在已經非常成熟了。應用場景包含并不限于物流與制造業、金融保險、醫療教育、政務政法、互聯網,基本所有有文字的地方都需要OCR服務。我們的識別精度非常高,證件、票據類識別率基本能達99%以上,當然個別場景例外。數據安全、端云協同前面已經提到了,還有高適應性,支持錯行、蓋章、傾斜、文字疊加、反光、任意角度等復雜場景識別能力。同時提供多種易用的SDK,易集成非常重要,你可以說我的產品非常好非常優秀,但是很多時候客戶更關心的是它好不好用。你的產品再好,不好用,消費者也是不認可的。最后一個是高可靠,基本可以支持每月10億級的調用。
醫學理賠是非常典型的應用場景。首先客戶會把他們客戶的身份證、銀行卡、醫療發票、醫療檢驗單通過掃描轉化成數字信息并調用云上的OCR服務,服務會返回一個結構化的json數據??蛻羰盏絡son之后會傳到數據庫進行人工校驗。其實很多時候,人工智能并不能達到100%的識別率,也不能取代人工,但是它依然有非常多的價值,能減少人的重復性勞動,提高效率,這本身就足夠了。
下面是一個實際案例,客戶要識別一些檢驗單,因為票據種類非常多,正常情況下醫生和護士需要一張張的人工識別?,F在我們可以支持上千家醫院檢驗單的識別錄入,能有效處理拍照不規范、上下左右翻轉。大家可以聽到我在反復強調我們可以支持上下左右翻轉識別,做產品不同于做研究,我們希望模型越簡單、運行步驟越少越好,模型太多了看護不過來。
比如我們團隊有1/3以上的博士,每個人最多只能看護一個模型,實際情況非常復雜,大家手上的事情非常多,根本看護不過來太多的模型,所以一個非常重要的工作就是需要找到一個模型,不說包打天下,但它結合其他一兩個模型需要能做到基本包打天下,模型太多了基本就沒法用。互聯網電商實現的落地的場景包括淘寶京東等電商截圖、手機截圖、QQ、微信聊天對話、廣告設計宣傳圖/海報等的識別。很多互聯網公司有一個非常龐大的團隊叫審核團隊,比如字節跳動,審核團隊就有幾千人,他們要干的事情就是要確保用戶發布的圖片或文字是符合國家規定的,不然的話就有非常大的公關事件。
今年上半年我們的鄰國領導人來訪問就要求把所有互聯網上關于他的戲謔稱呼都刪掉,現在大家可以baidu一下這位鄰居領導人的稱呼,基本再也找不到了。很多東西看著沒有價值,但是實際價值是非常大的。還有一個場景,大家都寄快遞,當我們截取一張地址圖片傳上去后,快遞公司會自動把手機號、地址等填到快遞單上去,背后用到的技術就是類似的技術。
這個是財務報銷場景,相信在座的很多人過來都是公費出差的。我們回去要把出租車票、火車票、航空票、酒店發票通通貼到一張紙上交給財務,財務看了說沒問題就給我們報銷了,如果有問題打回來重新填,其實用到的就是類似的一個場景。
報銷時大家會把很多票貼到一張紙上,我們的OCR服務會把每張票切割出來一張張識別最后返回結果,這個場景看著非常low,遠遠沒有其他場景聽著那么高大上,但是它非常有用,需求量非常大,很多客戶都在咨詢這個業務。
最后一個案例是海外案例。左上角這個圖是緬甸的身份證,世界上有很多國家并沒有我大中華這么先進,他們的身份證沒有芯片,有的上面的字甚至是手寫上去的,所以他們就需要把這些字自動化識別出來。
在緬甸,很多人需要經常要拿著這種身份證辦各種業務,相關的服務需求量非常大。后來我們緬甸的客戶經理找了很多當地的大學生給我們標注相關數據,標了之后我們把緬文OCR服務給孵化了出來?,F在緬甸很多公司都在用這個服務。后面是泰國身份證、緬甸駕駛照、馬來身份證等等,我們也在給阿拉伯國家做相應的阿拉伯文OCR服務,這些都是海外的文字識別的需求案例。
最后說一下未來之路,不只是OCR產品,我相信所有人工智能產品或其他數據為驅動的產品都需要走這條路。首先是我們需要持續突破新場景,比如識別分子式,分子式千奇百怪,我們的工作是給客戶把分子式符號轉換為路易斯結構式;再比如說識別公式。第二是模型的魯棒性進一步提高,比如我們希望把證件類和票據類的API歸一,很多公司都希望用一個模型包打天下,省時省力。第三是訓練和推理速度要持續優化,因為訓練速度的提高意味著產品更快的迭代,而推理速度的提高意味著成本更可控。有的公司口號非常響,但掙錢就是另一回事了,做產品一定要考慮性能和收益。第四是小樣本學習、無監督學習、遷移學習,很多時候客戶給你的數據是非常少的,給你一兩張圖片就希望你給他一個服務,而且希望98%以上的精度。
最后一個是領域結合的人工智能,我們團隊好幾個博士在突破手寫簽名場景,到現在為止依然沒有解決的特別好,手寫簽名識別需求量非常大,很多銀行都要用這個東西。包括現在非常火的多模態識別依然解決不了這個問題,所以后面需要結合一些行業知識來提高精度。其實不只是OCR,人工智能的各個方向基本都這樣,未來的人工智能一定是結合了行業知識的人工智能,這樣才能真正的解決客戶場景。
(*本文為 AI科技大本營原創文章,轉載請微信聯系 1092722531)
◆
精彩推薦
◆
2019 中國大數據技術大會(BDTC)再度來襲!豪華主席陣容及百位技術專家齊聚,15 場精選專題技術和行業論壇,超強干貨+技術剖析+行業實踐立體解讀,深入解析熱門技術在行業中的實踐落地。
即日起,限量?5 折票開售,數量有限,掃碼購買,先到先得!
推薦閱讀
確認!語音識別大牛Daniel Povey將入職小米,曾遭霍普金斯大學解雇,怒拒Facebook
大規模1.4億中文知識圖譜數據,我把它開源了
自動駕駛關鍵環節:行人的行為意圖建模和預測(上)
不足 20 行 Python 代碼,高效實現 k-means 均值聚類算法
巨頭垂涎卻不能染指,loT 數據庫風口已至
【建議收藏】數據中心服務器基礎知識大全
從4個維度深度剖析閃電網絡現狀,在CKB上實現閃電網絡的理由 | 博文精選
身邊程序員同事竟說自己敲代碼速度快!Ctrl+C、Ctrl+V ?
100 美元一行代碼,開源軟件到底咋賺錢?
你點的每個“在看”,我都認真當成了AI
總結
以上是生活随笔為你收集整理的王晶:华为云OCR文字识别服务技术实践、底层框架及应用场景 | AI ProCon 2019的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三 转码需求(智源GM813X多国语言O
- 下一篇: aiml java_AIML实现智能聊天