白翔:複雜開放場景中的文字理解

深度學習大講堂發表於2018-06-05

編者按:李白的《秋浦歌》中有這樣一句詩:“題詩留萬古,綠字錦苔生”,描繪了天執筆、地做紙、苔為墨,揮毫題字的豪邁場景,也展示了自然場景中文字型別的多樣性;而另兩句“古壁剝舊題”,“廢寺失題名”,則暗示了場景噪聲對文字的影響。這幾段描寫共同衍生出了現代計算機視覺領域中的一個挑戰,即複雜開放場景中的文字理解。

本文中,來自華中科技大學的白翔教授,將針對場景中文字型別多樣、場景複雜多變、以及場景噪聲等問題,帶著大家通過深度神經網路,在開放場景中實現準確的文字理解。

文末,大講堂特別提供文中提到所有文章的下載連結。

白翔:複雜開放場景中的文字理解
本文整理自白翔教授在ICDAR2017的學術報告。
白翔:複雜開放場景中的文字理解

本次報告是關於場景文字理解的。眾所周知,深度學習已在影象視訊方面顯示了巨大的能力,且在文字分析領域也取得了一些有意義的進步,我也在嘗試將深度學習用於文字相關工作。

文字理解目前主要有兩個方面的工作,一個是傳統的文字理解,它往往只需識別文件中的文字;而另一個場景文字理解,需要將照片或視訊中的文字識別出來,它包含文字檢測和文字識別兩個步驟:

首先是對存在文字區域的定位(Text  Detection),即找到單詞或文字行的邊界框(bounding box);然後對定位的區域內容進行識別(Text Recognition),即預測邊界框中每一個字元的類標籤。將這兩步合在一起就能達到最終目的:端到端的文字識別。

白翔:複雜開放場景中的文字理解

我的報告分為五個部分。首先,回顧近來用於場景文字理解的深度學習方法;然後介紹我們在場景文字檢測和識別方面的最新工作;最後介紹一些場景文字理解的應用和我對領域趨勢的認識。


背景

白翔:複雜開放場景中的文字理解

相比於檔案圖片,自然場景圖片中文字的分佈更加稀疏和分散,其具有多方向且多語種的特性。

白翔:複雜開放場景中的文字理解

在2016年以前,大多數場景文字檢測工作有三個步驟:首先,利用手工設計特徵生成候選框;然後,利用二分類卷積神經網路或隨機樹來進行文字/非文字區域的分類,即過濾掉誤檢的候選框;最後,利用CNN來修正區域定位,以得到較精確的迴歸結果。

白翔:複雜開放場景中的文字理解

在2016年以後,文字檢測工作逐漸受到深度神經網路的影響,可以大致分為三類:

其一是基於分割的思想,通過分割網路提取文字區域,然後採取一些後處理方法獲取邊界框。代表性的工作是發表在CVPR2016的“Multi-oriented text detection with fully convolutional networks”;

其二是基於候選框的思想,直接用一個神經網路來檢測文字邊界框。代表性的工作是發表在CVPR2016的“Synthetic data for text localization in natural images”;

其三是混合思想,它採用多工學習的框架,結合了分割和邊界框檢測的方法。代表性的工作是發表在ICCV2017的“Deep Direct Regression for Multi-Oriented Scene Text Detection”。

白翔:複雜開放場景中的文字理解

場景文字識別大致分為兩類思路:其一是從單詞或字元層面入手,設計單詞分類器或字元分類器,將每一個單詞或字元作為一類目標,進行多類別分類任務。

而近來迴圈神經網路大放異彩,它可以將文字識別看作一個序列標籤問題,並能夠直接輸出標籤序列。因此,第二種思路從序列層面入手,將文字看作一個字元序列,通過設計序列特徵提取器,結合迴圈神經網路(RNN)和CTC模型(Connectionist temporal classification),將文字序列作為一個整體進行識別。

白翔:複雜開放場景中的文字理解

從“場景文字理解”相關文章在2017年頂會中統計資料來看,超過80%的文章聚焦多方向文字檢測,而對場景文字識別和端到端識別的關注度相對較低,且大多數文章集中於解決英文文字問題。

白翔:複雜開放場景中的文字理解

實際上,拉丁文和非拉丁文是截然不同的。我們在此以英文(拉丁文)和中文(非拉丁文)舉例,前者相鄰單詞間通常有一個空格,而後者沒有明顯的視覺劃分,因此中文的單詞劃分只能藉助語義資訊指導。考慮到此差異性,如果設計一個同時適用於拉丁文和非拉丁文的文字理解系統,可採用基於文字行的檢測和序列標籤方法。

白翔:複雜開放場景中的文字理解

區別於普通的物體和英文單詞,文字行具有更大的高寬比,對於普通的卷積核,文字行不能被完全覆蓋。這意味著現有基於深度學習的目標檢測方法並不能很好適用於場景文字檢測。

白翔:複雜開放場景中的文字理解

上表展示了在ICDAR 2013、ICDAR 2015、RCTW 2017資料集上檢測達到的最好F值結果。即便使用更多的訓練資料,中文資料集上的表現也要明顯低於英文資料集,這是因為中文文字行相對英文有更大的比例變化。這裡中文場景文字RCTW資料集來自於我們最近組織的ICDAR(International Conference on Document Analysis and Recognition)比賽,RCTW資料集包含很多長文字資料。

白翔:複雜開放場景中的文字理解

在非拉丁文字檢測中,為了克服長文字行的較大比例變化,我們引入一些策略:首先改變卷積核尺度,比如使用長條形卷積核;然後為了增大感受野範圍,我們採用類似於inception的模組,組合不同卷積核產生的特徵圖。此外,使用基於部分的模型也是一種很好的選擇,但這就需要把文字行中相鄰的部分進行分組。


場景文字檢測


Proposal-based method

白翔:複雜開放場景中的文字理解

這裡主要介紹兩個場景文字檢測思想,一個是基於候選區域的方法(TextBoxes);另一個是基於部件的方法(SegLink),通過檢測部件後將其連線起來。首先介紹TextBoxes:

白翔:複雜開放場景中的文字理解

在引入我們的演算法之前,首先回顧一下基於CNN的檢測方法:SSD(Single Shot detector )。SSD開始在深度特徵圖上初始化一些預設的方框,這裡我們以4*4和2*2的特徵圖舉例。然後預設框將被分類且被分配一個檢測分值,同時,預設的方框被迴歸到一個確切的位置。預設框和迴歸結果都是矩形的,用中心點和寬高可以將其表示。

白翔:複雜開放場景中的文字理解

TextBoxes方法採用SSD作為基礎框架,首先在設計預設框(Default Box)時,採取多比例大小的框(包含長條形狀的框)。TextBoxes方法對SSD的卷積核也進行了改進,因為文字行往往比普通物體更長,常用卷積核並不能和文字行很好匹配,因此這裡將1*1或3*3的卷積核更換為適合文字的長條形卷積核。

白翔:複雜開放場景中的文字理解

由上表可以看出,TextBoxes明顯優於SSD並且在ICDAR2013資料集上達到了state-of-the-arts的效果,這個資料集主要由包含水平文字的圖片構成。

白翔:複雜開放場景中的文字理解

而現實圖片中的文字往往不是水平的,也就是說,文字的邊界框是多邊形而不總是矩形的,因此我們新增了一個分支來回歸多邊形座標,進一步優化TextBoxes以適用於多方向文字。

白翔:複雜開放場景中的文字理解

我們在ICDAR2015資料集上驗證了我們的演算法,實驗表明,TextBoxes++達到了state-of-the-art的效能。

白翔:複雜開放場景中的文字理解

為了進一步擴大卷積神經網路的感受野,我們使用聯結多種特徵圖的inception模組,舉個例子,上圖的inception模組整合了3*3、1*5、5*1三種不同卷積核產生的特徵圖。

白翔:複雜開放場景中的文字理解

為了驗證inception模組的有效性,我們在RCTW 2017的一個資料子集上進行測試,這個資料集主要包含一些長條形文字圖片,結果表明inception 模組有效提高了長條文字檢測準確率

白翔:複雜開放場景中的文字理解

我們也在整個RCTW資料集上進行了測試,通過和曾在比賽中獲勝的其他團隊方法進行比較,可以看出我們結合inception block的TextBoxes++方法達到了最高的F值。


Part-based method

白翔:複雜開放場景中的文字理解
白翔:複雜開放場景中的文字理解

接下來介紹基於部件的方法SegLink,它的核心思想是將文字行分解成兩種可檢測的元素:定義為部件(segment)和關聯(link)。部件是指文字行的一部分(圖中黃色部分),關聯是指連線兩個相鄰部件的聯絡(圖中綠色短線),被關聯表明其屬於同一單詞或者文字行。 基於segments和links,整個文字行可以通過一個簡單的組合表達出來。因為Segments和Links不涉及感受野問題,所以這個思路可以處理長文字行。

白翔:複雜開放場景中的文字理解

如圖是SegLink的檢測框架圖,我們依舊使用SSD作為基礎框架,採用VGG16檢測模型,通過多層CNN同時檢測segments和links,跨層連線是對不同層的兩個segments的連線,它也是通過計算得到的,因為相鄰的segments可能不會來自同一層。

白翔:複雜開放場景中的文字理解

從在MSRA-TD500和ICDAR2015兩個資料集上的測試結果來看,我們的SegLink方法對方向不確定的文字行和中英混合的文字都有較好的檢測效能。

白翔:複雜開放場景中的文字理解

事實上,SegLink不僅能夠處理長文字行,還可以很好地檢測彎曲排列的文字行。如圖,星巴克的logo字母是彎曲排列的,而SegLink可以靈活地適應它的文字形狀。


場景文字識別


CRNN model

白翔:複雜開放場景中的文字理解

針對場景文字識別,這裡主要講述兩個演算法,針對整齊規則文字的CRNN模型,和針對不規則形文字的RARE模型。首先介紹CRNN:

白翔:複雜開放場景中的文字理解

該網路由三個部分組成:一個CNN網路,一個RNN網路和CTC損失。CNN(卷積神經網路)從輸入圖片提取特徵,然後我們將圖片特徵轉化為特徵序列,作為序列標籤輸入到LSTM中,最後CTC(Connectionist temporal classification) loss將序列標籤轉化為文字。將這三個部分組合從而可以端到端地訓練。

白翔:複雜開放場景中的文字理解

我們將每一個畫素寬度圖片的深度特徵看作一幀,通過這種方法,可以從左到右獲得一個幀序列,每一幀對應原始影象中的區域性區域。

白翔:複雜開放場景中的文字理解

針對開放字典資料集,我們的方法在識別精度上達到了當時的state-of-the-arts。CRNN還具備以下優勢:可以端到端訓練;且不受字元標註的約束,這意味著我們可以直接輸入文字行進行訓練和測試;它沒有字典集的限制,因此我們可以將其用於其他序列的識別,比如識別銀行卡上的數字;在模型大小上,它比主流的模型引數減少了40~50倍,更有利於在工業實際場景中落地。


RARE model

白翔:複雜開放場景中的文字理解

對於形狀不規則的文字行,我們提出了RARE(Robust text recognizer with Automatic REctification)模型來解決。

白翔:複雜開放場景中的文字理解

如圖,由於拍攝視角的變化、文字曲形的排列方式等因素影響,自然場景圖片中的文字形狀常常是不規則的,如圖中SVT-Perspective和CUTE80資料集所示,這就給識別造成了極大的困難。CRNN可能對此類情形並不奏效,它是在輸入文字水平的前提下提出來的,因此我們提出了RARE。

白翔:複雜開放場景中的文字理解

我們設計的網路由兩部分組成,空間轉換網路(STN, Spatial Transformer Network)和序列識別網路(Sequence Recognition Network)。其中,STN負責修正輸入圖片,使其圖片中文字呈水平形,SRN負責識別文字。這兩個網路通過反向傳播進行聯合訓練,上圖中的虛線就表示反向傳播。

SRN包含一個編碼器和一個解碼器。編碼器由一個ConvNet和一個Bi-LSTM組成,用來生成特徵序列表達,解碼器是一個基於注意力機制的字元生成器,根據輸入序列迴圈地產生字元序列,根據每一步的注意力機制來解碼相關內容,上圖展示了SRN在各資料集上的識別精確度。

區別於CRNN模型中的解碼器,我們使用基於注意力機制的模型作為RARE的解碼器。解碼器逐步將一些特徵幀解碼為一個字元,但由於某些幀中的形變,解碼器可能會輸出一些錯誤的識別結果。

白翔:複雜開放場景中的文字理解

在識別之前,我們可以引入一個空間變換網路STN(Spatial Transformer Network)來修正不規則文字圖片。

白翔:複雜開放場景中的文字理解

這裡具體講解一下STN的結構。首先定位網路生成一組基準點C,然後在網格生成器中,從基準點計算TPS變換的引數,在原圖上生成一個取樣網格P,取樣器同時提取網格P和輸入圖片I,以此輸出一個修正後的圖片。

STN的一個特點是其取樣器是可微的,因此只要有一個可微的定位網路和一個可微的網格生成器,STN就可以反向傳播誤差並得以訓練。

白翔:複雜開放場景中的文字理解

網格生成器估計TPS變換的引數,併產生一個取樣網格。如上圖,原圖中基準點是C,修正後圖中定義基準點為C’,網格生成器計算TPS變換的引數T,取樣器將原圖I 修正為I’。上表顯示,相比於單獨使用SRN,新增STN可以大幅度提高識別效果,特別是對於一些有形變的文字資料集。

白翔:複雜開放場景中的文字理解

儘管STN校正有效地提高了識別率,但是對於嚴重彎曲的文字圖片它的效能並不理想。因此,我們用帶有邊界點標註的文字資料作為定位網路的監督資訊訓練,實驗表明,識別率有顯著提升。

白翔:複雜開放場景中的文字理解

如圖,是STN對SVT-Perspective和CUTE80兩個資料集中有形變文字的修正結果。

白翔:複雜開放場景中的文字理解

另一個有趣的發現是,將檢測和識別結合起來,可以使得最終檢測的準確率有極大提升。如圖,輸入圖片通過檢測器檢測出來目標區域後,將檢測的區域摳取出來輸進識別器,這種組合使得很多誤檢可以被過濾掉,也就是說最終檢測的效能提升了。

白翔:複雜開放場景中的文字理解

我們對檢測得分和識別得分求取調和平均值,最終從ICDAR2015上的實驗結果看出,這種組合有效提高了文字檢測的效果。


相關應用


結合文字線索的細粒度圖片分類

白翔:複雜開放場景中的文字理解

這裡主要介紹場景文字檢測識別的三方面應用:

1) 結合文字線索的細粒度圖片分類;

2) 基於數字的行人重識別;

3) 從文字識別到行人重識別。

白翔:複雜開放場景中的文字理解

通常,只用圖片直觀的視覺資訊是不足以進行細粒度影象分類的,如上圖,看上去(a)和(b)是類似的,而實際上,(b)和(c)描述的是同一場景,且與(a)大不相同。我們仔細觀察,(b)(c)中分別包含了語義相近的詞“cafe”和“coffee”,這其實可以在圖片僅有微小視覺差異的情況下幫助我們進行細粒度的圖片分類。

白翔:複雜開放場景中的文字理解

自然場景圖片中的文字包含了豐富的語義資訊,它與目標或場景有著非常密切的關係。因此,我們將文字表達和深度視覺特徵結合起來,訓練一個全域性的深度卷積神經網路

整個端到端的演算法流程如上圖所示。首先使用一個已有的文字識別框架來提取出文字,然後通過word embedding提取這些文字的特徵,同時,GoogLeNet對輸入圖片提取1024維視覺特徵向量,為了消除文字中的噪聲,我們又新增了一個注意力模型對提取出的文字分配權重,最後將視覺特徵和文字特徵基於一定的權重組合起來,利用多模態融合特徵進行最終的分類。

白翔:複雜開放場景中的文字理解

如上圖所示,圖片中的一些文字不是與圖片表達的內容密切關聯的,它們會對後期分類造成干擾,因此我們使用了一個注意力模型來篩選對分類有幫助的文字。

白翔:複雜開放場景中的文字理解

為了驗證演算法的有效性,我們在兩個資料集上進行了測試,一個是辦公場所建築資料集Con-Text,它包含28種場景,共24,255張圖片。另一個是飲料瓶資料集Drink Bottle,它選自ImageNet資料集,含有20種飲料瓶共18,488張圖片。這兩個資料集圖片都包含了文字,且不同種類間只有很小的視覺差異。

白翔:複雜開放場景中的文字理解

可以看出,新增文字線索後,在Con-Text和Drink Bottle上的識別效能都有大幅度的提高。

白翔:複雜開放場景中的文字理解

如圖可以看出,網路中新增的注意力模型可以過濾掉錯誤的文字,並選擇出與類別更相關的文字。

白翔:複雜開放場景中的文字理解

我們也將學習到的融合特徵用於影象檢索,如圖,只用視覺資訊可能會因為其差別過小引起誤分類,而加入文字資訊後,酒瓶圖片檢索的mAP提升了12.8%。


基於數字的行人重識別

白翔:複雜開放場景中的文字理解
白翔:複雜開放場景中的文字理解

在馬拉松比賽中,由於人員龐大、時間持續性長、場景複雜、服裝相似等特性,使用行人重識別或者人臉識別的方法來跟蹤參賽者是非常困難的,考慮到每一位選手有一個獨特的編號,我們試圖從場景文字檢測的角度入手,根據編號進行行人的定位與跟蹤。

白翔:複雜開放場景中的文字理解

如圖,我們提出的方法分為如下幾個步驟:首先使用TextBoxes對輸入圖片進行文字檢測,即定位出文字區域,然後通過CRNN進行文字識別,再將帶搜尋文字與識別出的文字庫進行匹配,尋找到該數字文字對應的選手。

白翔:複雜開放場景中的文字理解

我們在自己收集的一個馬拉松資料集上驗證了這個基於號碼牌的行人重識別方法,Marathon資料集包含8706張訓練圖片和1000張測試圖片,經測試行人重識別正確率為85%,從某種程度上講它可以幫助人們進行搜尋,還能有效減少搜尋時間。


從文字識別到行人重識別

白翔:複雜開放場景中的文字理解
白翔:複雜開放場景中的文字理解

我們發現了一個很有趣的類比思想,將水平文字行看作一個從左到右的序列可以取得很好的識別效果,那麼受此啟發,我們可以將行人看作一個從上到下分塊的序列進行重識別。

白翔:複雜開放場景中的文字理解

我們又進一步探索了LSTM在行人重識別中的作用,發現LSTM可以學到比CNN更加好的特徵,如圖是基於LSTM的模型,新增LSTM後在Market1501上的識別率顯著提升。

白翔:複雜開放場景中的文字理解

我們用上述網路進行行人檢索,由上圖可以直觀地看出,新增LSTM後檢索結果明顯優於以往。這是因為LSTM使用相鄰部分上下文資訊豐富了每個人的部分特徵,使得模型更具有判別性。


未來發展趨勢

白翔:複雜開放場景中的文字理解

未來我們將更加著眼於以下幾個方面:不規則文字的檢測,比如針對彎曲的或者多視角下的文字行;端到端的多語言文字識別;半監督或弱監督的文字檢測識別;基於生成對抗網路的文字影象合成;針對文字識別或自然語言處理的框架;場景文字和影象/視訊的結合,以應用到更多的實際場景中去。

白翔:複雜開放場景中的文字理解
白翔:複雜開放場景中的文字理解
白翔:複雜開放場景中的文字理解
白翔:複雜開放場景中的文字理解


文中白老師提到的文章下載連結為: 

https://pan.baidu.com/s/19zAhdrpRH1M5JpAwjpqnsw


相關文章