作為一個(gè)DAU過(guò)億的國(guó)民級(jí)軟件,高德地圖每天為用戶提供海量的查詢,、定位和導(dǎo)航服務(wù),。地圖數(shù)據(jù)的豐富性和準(zhǔn)確性決定了用戶體驗(yàn)。傳統(tǒng)的地圖數(shù)據(jù)的采集和制作過(guò)程,,是在數(shù)據(jù)采集設(shè)備實(shí)地采集的基礎(chǔ)上,,再對(duì)采集資料進(jìn)行人工編輯和上線。這樣的模式下,,數(shù)據(jù)更新慢,、加工成本高。為解決這一問(wèn)題,,高德地圖采用圖像識(shí)別技術(shù)從采集資料中直接識(shí)別地圖數(shù)據(jù)的各項(xiàng)要素,,實(shí)現(xiàn)用機(jī)器代替人工進(jìn)行數(shù)據(jù)的自動(dòng)化生產(chǎn)。通過(guò)對(duì)現(xiàn)實(shí)世界高頻的數(shù)據(jù)采集,,運(yùn)用圖像算法能力,,在海量的采集圖片庫(kù)中自動(dòng)檢測(cè)識(shí)別出各項(xiàng)地圖要素的內(nèi)容和位置,,構(gòu)建出實(shí)時(shí)更新的基礎(chǔ)地圖數(shù)據(jù)。而基礎(chǔ)地圖數(shù)據(jù)中最為重要的是POI(Point of Interest)和道路數(shù)據(jù),,這兩種數(shù)據(jù)可以構(gòu)建出高德地圖的底圖,,從而承載用戶的行為與商家的動(dòng)態(tài)數(shù)據(jù)。 圖像識(shí)別能力決定了數(shù)據(jù)自動(dòng)化生產(chǎn)的效率,,其中場(chǎng)景文字識(shí)別技術(shù)占據(jù)了重要位置,。不同采集設(shè)備的圖像信息都需要通過(guò)場(chǎng)景文字識(shí)別(Scene Text Recognition,STR)獲得文字信息,。這要求我們致力于解決場(chǎng)景文字識(shí)別技術(shù)全,、準(zhǔn)、快的問(wèn)題,。在POI業(yè)務(wù)場(chǎng)景中,,識(shí)別算法不僅需要盡可能多的識(shí)別街邊新開商鋪的文字信息, 還需要從中找出擁有99%以上準(zhǔn)確率的識(shí)別結(jié)果,,從而為POI名稱的自動(dòng)化生成鋪平道路,;在道路自動(dòng)化場(chǎng)景中,識(shí)別算法需要發(fā)現(xiàn)道路標(biāo)志牌上細(xì)微的變化,,日處理海量回傳數(shù)據(jù),,從而及時(shí)更新道路的限速、方向等信息,。與此同時(shí),,由于采集來(lái)源和采集環(huán)境的復(fù)雜性,高德場(chǎng)景文字識(shí)別算法面對(duì)的圖像狀況往往復(fù)雜的多,。主要表現(xiàn)為: 圖像來(lái)源多樣:圖像采集自低成本的眾包設(shè)備,,成像設(shè)備參數(shù)不一,,拍攝質(zhì)量差。圖像往往存在傾斜,、失焦,、抖動(dòng)等問(wèn)題。
由于算法的識(shí)別難度和識(shí)別需求的復(fù)雜性,,已有的文本識(shí)別技術(shù)不能滿足高德高速發(fā)展的業(yè)務(wù)需要,,因此高德自研了場(chǎng)景文字識(shí)別算法,,并迭代多年,為多個(gè)產(chǎn)品提供識(shí)別能力,。 二 文字識(shí)別技術(shù)演進(jìn)與實(shí)踐場(chǎng)景文字識(shí)別(STR)的發(fā)展大致可以分為兩個(gè)階段,以2012年為分水嶺,,分別是傳統(tǒng)圖像算法階段和深度學(xué)習(xí)算法階段,。2012年之前,文字識(shí)別的主流算法都依賴于傳統(tǒng)圖像處理技術(shù)和統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法實(shí)現(xiàn),,傳統(tǒng)的文字識(shí)別方法可以分為圖像預(yù)處理,、文字識(shí)別、后處理三個(gè)階段:圖像預(yù)處理:完成文字區(qū)域定位,,文字矯正,,字符切割等處理,核心技術(shù)包括連通域分析,,MSER,,仿射變換,圖像二值化,,投影分析等,; 傳統(tǒng)的文字識(shí)別方法,,在簡(jiǎn)單的場(chǎng)景下能達(dá)到不錯(cuò)的效果,但是不同場(chǎng)景下都需要獨(dú)立設(shè)計(jì)各個(gè)模塊的參數(shù),,工作繁瑣,,遇到復(fù)雜的場(chǎng)景,難以設(shè)計(jì)出泛化性能好的模型,。2012年之后,,隨著深度學(xué)習(xí)在計(jì)算機(jī)視覺領(lǐng)域應(yīng)用的不斷擴(kuò)大,文字識(shí)別逐漸拋棄了原有方法,,過(guò)渡到深度學(xué)習(xí)算法方案,。在深度學(xué)習(xí)時(shí)代,文字識(shí)別框架也逐漸簡(jiǎn)化,,目前主流的方案主要有兩種,,一種是文本行檢測(cè)與文字識(shí)別的兩階段方案,另一種是端到端的文字識(shí)別方案,。主要思路是先定位文本行位置,,然后再對(duì)已經(jīng)定位的文本行內(nèi)容進(jìn)行識(shí)別,。文本行檢測(cè)從方法角度主要分為基于文本框回歸的方法[1],基于分割或?qū)嵗指畹姆椒╗2],,以及基于回歸,、分割混合的方法[3],從檢測(cè)能力上也由開始的多向矩形框發(fā)展到多邊形文本[2],,現(xiàn)在的熱點(diǎn)在于解決任意形狀的文本行檢測(cè)問(wèn)題,。文本識(shí)別從單字檢測(cè)識(shí)別發(fā)展到文本序列識(shí)別,目前序列識(shí)別主要又分為基于CTC的方法[4]和基于Attention的方法[5],。通過(guò)一個(gè)模型同時(shí)完成文本行檢測(cè)和文本識(shí)別的任務(wù),,既可以提高文本識(shí)別的實(shí)時(shí)性,同時(shí)因?yàn)閮蓚€(gè)任務(wù)在同一個(gè)模型中聯(lián)合訓(xùn)練,,兩部分任務(wù)可以互相促進(jìn)效果,。高德文字識(shí)別技術(shù)經(jīng)過(guò)多年的發(fā)展,已經(jīng)有過(guò)幾次大的升級(jí),。從最開始的基于FCN分割,、單字檢測(cè)識(shí)別的方案,逐漸演進(jìn)到現(xiàn)有基于實(shí)例分割的檢測(cè),,再進(jìn)行序列,、單字檢測(cè)識(shí)別結(jié)合的方案。與學(xué)術(shù)界不同,,我們沒(méi)有采用End-to-End的識(shí)別框架,,是由于業(yè)務(wù)的現(xiàn)實(shí)需求所決定的。End-to-End框架往往需要足夠多高質(zhì)量的文本行及其識(shí)別結(jié)果的標(biāo)注數(shù)據(jù),,但是這一標(biāo)注的成本是極為高昂的,,而合成的虛擬數(shù)據(jù)并不足以替代真實(shí)數(shù)據(jù)。因此將文本的檢測(cè)與識(shí)別拆分開來(lái),,有利于分別優(yōu)化兩個(gè)不同的模型,。如下圖所示,目前高德采用的算法框架由文本行檢測(cè),、單字檢測(cè)識(shí)別,、序列識(shí)別三大模塊構(gòu)成。文本行檢測(cè)模塊負(fù)責(zé)檢測(cè)出文字區(qū)域,,并預(yù)測(cè)出文字的掩模用于解決文本的豎直,、畸變、彎曲等失真問(wèn)題,,序列識(shí)別模塊則負(fù)責(zé)在檢測(cè)出的文字區(qū)域中,,識(shí)別出相應(yīng)的文字,對(duì)于藝術(shù)文本、特殊排列等序列識(shí)別模型效果較差的場(chǎng)景,,使用單字檢測(cè)識(shí)別模型進(jìn)行補(bǔ)充,。文字識(shí)別框架 自然場(chǎng)景中的文字區(qū)域通常是多變且不規(guī)則的,文本的尺度大小各異,,成像的角度和成像的質(zhì)量往往不受控制,。同時(shí)不同采集來(lái)源的圖像中文本的尺度變化較大,模糊遮擋的情況也各不相同,。我們根據(jù)實(shí)驗(yàn),,決定在兩階段的實(shí)例分割模型的基礎(chǔ)上,針對(duì)實(shí)際問(wèn)題進(jìn)行了優(yōu)化,。文本行檢測(cè)可同時(shí)預(yù)測(cè)文字區(qū)域分割結(jié)果及文字行位置信息,,通過(guò)集成DCN來(lái)獲取不同方向的文本的特征信息,,增大mask分支的feature大小并集成ASPP模塊,,提升文字區(qū)域分割的精度。并通過(guò)文本的分割結(jié)果生成最小外接凸包用于后續(xù)的識(shí)別計(jì)算,。在訓(xùn)練過(guò)程中,,使用online的數(shù)據(jù)增廣方法,在訓(xùn)練過(guò)程中對(duì)數(shù)據(jù)進(jìn)行旋轉(zhuǎn),、翻轉(zhuǎn),、mixup等,有效的提高了模型的泛化能力,。具體檢測(cè)效果如下所示:目前場(chǎng)景文本檢測(cè)能力已經(jīng)廣泛應(yīng)用于高德POI,、道路等多個(gè)產(chǎn)品中,為了驗(yàn)證模型能力,,分別在ICDAR2013(2018年3月),、ICDAR2017-MLT(2018年10月)、ICDAR2019-ReCTS公開數(shù)據(jù)集中進(jìn)行驗(yàn)證,,并取得了優(yōu)異的成績(jī),。文本行檢測(cè)競(jìng)賽成績(jī) 根據(jù)背景的描述,POI和道路數(shù)據(jù)自動(dòng)化生產(chǎn)對(duì)于文字識(shí)別的結(jié)果有兩方面的需求,,一方面是希望文本行內(nèi)容盡可能完整識(shí)別,,另外一方面對(duì)于算法給出的結(jié)果能區(qū)分出極高準(zhǔn)確率的部分(準(zhǔn)確率大于99%)。不同于一般文字識(shí)別評(píng)測(cè)以單字為維度,,我們?cè)跇I(yè)務(wù)使用中,,更關(guān)注于整個(gè)文本行的識(shí)別結(jié)果,因此我們定義了符合業(yè)務(wù)使用需求的文字識(shí)別評(píng)價(jià)標(biāo)準(zhǔn):文本行識(shí)別全對(duì)率主要評(píng)價(jià)文字識(shí)別在POI名稱,道路名稱的整體識(shí)別能力,文本行識(shí)別高置信占比主要評(píng)價(jià)算法對(duì)于拆分出識(shí)別高準(zhǔn)確率部分的能力,,這兩種能力與我們的業(yè)務(wù)需求緊密相關(guān),。為了滿足業(yè)務(wù)場(chǎng)景對(duì)文字識(shí)別的需求,我們針對(duì)目前主流的文字識(shí)別算法進(jìn)行了調(diào)研和選型,。文字識(shí)別發(fā)展到現(xiàn)在主要有兩種方法,,分別是單字檢測(cè)識(shí)別和序列識(shí)別。單字檢測(cè)識(shí)別的訓(xùn)練樣本組織和模型訓(xùn)練相對(duì)容易,,不被文字排版的順序影響,。缺點(diǎn)在某些'上下結(jié)構(gòu)','左右結(jié)構(gòu)'的漢字容易檢測(cè)識(shí)別錯(cuò)誤,。相比之下序列識(shí)別包含更多的上下文信息,,而且不需要定位單字精確的位置,減小因?yàn)闈h字結(jié)構(gòu)導(dǎo)致的識(shí)別損失,。但是現(xiàn)實(shí)場(chǎng)景文本的排版復(fù)雜,,'從上到下','從左到右'排版會(huì)導(dǎo)致序列識(shí)別效果不穩(wěn)定,。結(jié)合單字檢測(cè)識(shí)別和序列識(shí)別各自的優(yōu)缺點(diǎn),,采用互補(bǔ)的方式提高文字識(shí)別的準(zhǔn)確率。單字檢測(cè)識(shí)別和序列識(shí)別結(jié)果融合 單字檢測(cè)采用Faster R-CNN的方法,,檢測(cè)效果滿足業(yè)務(wù)場(chǎng)景需求,。單字識(shí)別采用SENet結(jié)構(gòu),字符類別支持超過(guò)7000個(gè)中英文字符和數(shù)字,。在單字識(shí)別模型中參考identity mapping的設(shè)計(jì)和MobileNetV2的結(jié)構(gòu),,對(duì)Skip Connections和激活函數(shù)進(jìn)行了優(yōu)化,并在訓(xùn)練過(guò)程中也加入隨機(jī)樣本變換,,大幅提升文字識(shí)別的能力,。在2019年4月,為了驗(yàn)證在文字識(shí)別的算法能力,,我們?cè)贗CDAR2019-ReCTS文字識(shí)別競(jìng)賽中獲得第二名的成績(jī)(準(zhǔn)確率與第一名相差0.09%),。近年來(lái),主流的文本序列識(shí)別算法如Aster,、DTRT等,,可以分解為文字區(qū)域糾正,文字區(qū)域特征提取,、序列化編碼圖像特征和文字特征解碼四個(gè)子任務(wù),。文字區(qū)域糾正和文字區(qū)域特征提取將變形的文本行糾正為水平文本行并提取特征,降低了后續(xù)識(shí)別算法的識(shí)別難度,。序列化編碼圖像特征和文字特征解碼(Encoder-Decoder的結(jié)構(gòu))能在利用圖像的紋理特征進(jìn)行文字識(shí)別的同時(shí),,引入較強(qiáng)的語(yǔ)義信息,,并利用這種上下文的語(yǔ)義信息來(lái)補(bǔ)全識(shí)別結(jié)果。在實(shí)際應(yīng)用中,,由于被識(shí)別的目標(biāo)主要以自然場(chǎng)景的短中文本為主,,場(chǎng)景文本的幾何畸變、扭曲,、模糊程度極為嚴(yán)重,。同時(shí)希望在一個(gè)模型中識(shí)別多個(gè)方向的文本,因此我們采用的是的TPS-Inception-BiLSTM-Attention結(jié)構(gòu)來(lái)進(jìn)行序列識(shí)別,。主要結(jié)構(gòu)如下所示:文本序列識(shí)別模型 對(duì)于被檢測(cè)到的文本行,,基于角點(diǎn)進(jìn)行透視變換,再使用TPS變換獲得水平,、豎直方向的文本,,按比例縮放長(zhǎng)邊到指定大小,并以灰色為背景padding為方形圖像,。這一預(yù)處理方式既保持了輸入圖像語(yǔ)義的完整,,同時(shí)在訓(xùn)練和測(cè)試階段,圖像可以在方形范圍內(nèi)自由的旋轉(zhuǎn)平移,,能夠有效的提高彎曲,、畸變文本的識(shí)別性能,。將預(yù)處理完成的圖像輸入CNN中提取圖像特征,。再使用BiLSTM編碼成序列特征,并使用Attention依次解碼獲得預(yù)測(cè)結(jié)果,。如下圖所示,,這一模型通過(guò)注意力機(jī)制在不同解碼階段賦予圖像特征不同的權(quán)重,從而隱式表達(dá)預(yù)測(cè)字符與特征的對(duì)齊關(guān)系,,實(shí)現(xiàn)在一個(gè)模型中同時(shí)預(yù)測(cè)多個(gè)方向文本,。文本序列識(shí)別模型目前已覆蓋英文、中文一級(jí)字庫(kù)和常用的繁體字字庫(kù),,對(duì)于藝術(shù)文本,、模糊文本具有較好的識(shí)別性能。在地圖數(shù)據(jù)生產(chǎn)業(yè)務(wù)中經(jīng)常會(huì)在道路標(biāo)志牌中發(fā)現(xiàn)一些生僻的地點(diǎn)名稱或者在POI牌匾中發(fā)現(xiàn)一些不常見的字甚至是繁體字,,因此在文字識(shí)別效果優(yōu)化中,,除了對(duì)于模型的優(yōu)化外,合理補(bǔ)充缺字,、少字的樣本也是非常重要的環(huán)節(jié),。為了補(bǔ)充缺字、少字的樣本,,我們從真實(shí)樣本挖掘和人工樣本合成兩個(gè)方向入手,,一方面結(jié)合我們業(yè)務(wù)的特點(diǎn),通過(guò)數(shù)據(jù)庫(kù)中已經(jīng)完成制作的包含生僻字的名稱,反向挖掘出可能出現(xiàn)生僻字的圖像進(jìn)行人工標(biāo)注,,另一方面,,我們利用圖像渲染技術(shù)人工合成文字樣本。實(shí)際使用中,,將真實(shí)樣本和人工合成樣本混合使用,,大幅提升文字識(shí)別能力。高德文字識(shí)別算法通過(guò)對(duì)算法結(jié)構(gòu)的打磨,,和多識(shí)別結(jié)果的融合,,滿足不同使用場(chǎng)景的現(xiàn)實(shí)需要。同時(shí)以文字識(shí)別為代表的計(jì)算機(jī)視覺技術(shù),,已廣泛應(yīng)用于高德數(shù)據(jù)自動(dòng)化生產(chǎn)的各個(gè)角落,,在部分采集場(chǎng)景中,機(jī)器已完全代替人工進(jìn)行數(shù)據(jù)的自動(dòng)化生產(chǎn),。POI數(shù)據(jù)中超過(guò)70%的數(shù)據(jù)都是由機(jī)器自動(dòng)化生成上線,,超過(guò)90%的道路信息數(shù)據(jù)通過(guò)自動(dòng)化更新。數(shù)據(jù)工藝人員的技能極大簡(jiǎn)化,,大幅節(jié)約了培訓(xùn)成本和支出開銷,。目前高德主要依賴深度學(xué)習(xí)的方式解決場(chǎng)景文字的識(shí)別問(wèn)題,相對(duì)國(guó)外地圖數(shù)據(jù),,國(guó)內(nèi)漢字的基數(shù)大,,文字結(jié)構(gòu)復(fù)雜導(dǎo)致對(duì)數(shù)據(jù)多樣性的要求更高,數(shù)據(jù)不足成為主要痛點(diǎn),。另外,,圖像的模糊問(wèn)題往往會(huì)影響自動(dòng)化識(shí)別的性能和數(shù)據(jù)的制作效率,如何識(shí)別模糊和對(duì)模糊的處理也是高德的研究課題之一,。我們分別從數(shù)據(jù),,模型設(shè)計(jì)層面闡述如何解決數(shù)據(jù)不足和模糊識(shí)別的問(wèn)題,以及如何進(jìn)一步提高文字識(shí)別能力,。數(shù)據(jù)問(wèn)題很重要,,在沒(méi)有足夠的人力物力標(biāo)注的情況下,如何自動(dòng)擴(kuò)充數(shù)據(jù)是圖像的一個(gè)通用研究課題,。其中一個(gè)思路是通過(guò)數(shù)據(jù)增廣的方式擴(kuò)充數(shù)據(jù)樣本,。Google DeepMind在CVPR 2019提出AutoAugment的方法, 主要通過(guò)用強(qiáng)化學(xué)習(xí)的方法尋找最佳的數(shù)據(jù)增廣策略。另一種數(shù)據(jù)擴(kuò)充的解決辦法是數(shù)據(jù)合成,,例如阿里巴巴達(dá)摩院的SwapText利用風(fēng)格遷移的方式完成數(shù)據(jù)生成,。模糊通常造成場(chǎng)景識(shí)別文本未檢測(cè)和無(wú)法識(shí)別的問(wèn)題。在學(xué)術(shù)界超分辨率是解決模糊問(wèn)題的主要方式之一,,TextSR通過(guò)SRGAN對(duì)文本超分的方式,,還原高清文本圖像,,解決模糊識(shí)別的問(wèn)題。對(duì)比TextSR,,首爾大學(xué)和馬薩諸塞大學(xué)在Better to Follow文中提出通過(guò)GAN對(duì)特征的超分辨率方式,,沒(méi)有直接生成新的圖像而是將超分辨率網(wǎng)絡(luò)集成在檢測(cè)網(wǎng)絡(luò)中,在效果接近的同時(shí),,由于其采用End-to-End的模式,,計(jì)算效率大幅提高。通常人在理解復(fù)雜文字時(shí)會(huì)參考一定的語(yǔ)義先驗(yàn)信息,,近年來(lái)隨著NLP(Natural Language Processing)技術(shù)的發(fā)展,,使得計(jì)算機(jī)也擁有獲得語(yǔ)義信息的能力。參考人理解復(fù)雜文字的方式,,如何利用語(yǔ)義的先驗(yàn)信息和圖像的關(guān)系提高文字識(shí)別能力是一個(gè)值得研究的課題,。例如SEED在CVPR 2020提出將語(yǔ)言模型添加到識(shí)別模型中,通過(guò)圖像特征和語(yǔ)義特征綜合判斷提高文字識(shí)別能力,。除此之外,,從云到端也是模型發(fā)展的一個(gè)趨勢(shì),端上化的優(yōu)勢(shì)在于節(jié)約資源,,主要體現(xiàn)在節(jié)約上傳至云端的流量開銷和云端服務(wù)器的計(jì)算壓力,。在端上化設(shè)計(jì)上,針對(duì)OCR算法的研究和優(yōu)化,,探索高精度,、輕量級(jí)的檢測(cè)和識(shí)別框架,壓縮后模型的大小和速度滿足端上部署的需要,,也是我們今后需要研究的一個(gè)課題,。1. Liao M et al. Textboxes++: A single-shot oriented scene text detector[J]. IEEE transactions on image processing, 2018.2. Lyu P , Liao M , Yao C , et al. Mask TextSpotter: An End-to-End Trainable Neural Network for Spotting Text with Arbitrary Shapes[J]. 2018.3. Zhou X , Yao C , Wen H , et al. EAST: An Efficient and Accurate Scene Text Detector[J]. 2017.4. Shi B , Bai X , Yao C . An End-to-End Trainable Neural Network for Image-Based Sequence Recognition and Its Application to Scene Text Recognition[J]. ieee transactions on pattern analysis & machine intelligence, 2017, 39(11):2298-2304.5. Wojna Z , Gorban A N , Lee D S , et al. Attention-Based Extraction of Structured Information from Street View Imagery[C]// 2017 14th IAPR International Conference on Document Analysis and Recognition (ICDAR). IEEE, 2018.6. Li H , Wang P , Shen C . Towards End-to-end Text Spotting with Convolutional Recurrent Neural Networks[J]. 2017.
|