代碼連接:https://gitlab.com/rex-yue-wu/ISI-PPT-Text-Detector算法
摘要
該論文由Yue Wu等人發表於ICCV 2017。針對文字檢測中提取文字的行級候選區須要大量後處理、複雜且耗時的問題,提出了一種基於邊界學習的場景文字檢測方法(只須要極少後處理、能夠區分任意形狀的文本區)。網絡
文章的主要貢獻有: gitlab
(1)分析了將文字檢測做爲二分類問題(文字/非文字)的侷限性; 學習
(2)首次將邊界類別引入到文本檢測問題中,驗證了文本邊界在很大程度上簡化了解碼過程; 測試
(3)創建了一個新的用於文本檢測的ppt數據集(10692幅圖像,非文本、邊界和文本標註); url
(4)提出了一個輕量級FCN(0.28M參數,支持多分辨率分析)來有效地學習文本圖像中的邊界。spa
1 方法
爲何文字檢測須要繁雜的後處理過程呢?由於檢測算法獲得的候選區域不是指望的行級文字區域。爲何不直接預測指望的行級文字區域呢?實際上,有一些文字檢測算法使用行級標註,以期得到文本行級的候選區域,但效果不佳,由於幾行文字行間距很小時很難將幾行文字拆分開。.net
將文字檢測做爲二分類問題具備侷限性,如圖1所示:圖1(a)代表當行間距較大時文字/非文字能夠正確地實現文本行分割,而當文本行間距很小時(圖1(b))就沒法將其分離開。做者引入了邊界類(圖1(c)中的綠色區域)來輔助進行文字區域分割,能夠看出分割效果很好。邊界類能夠有效地將緊鄰的文字區域劃分開,並且文字類和邊界類具備共存關係(由於邊界是文字的邊界),因此引入邊界類有助於進一步提高文字區域預測。 做者提出將文字檢測的二分類問題(文字/非文字)轉化爲三分類問題(文字/非文字/邊界),採用端到端訓練避免學習和調整顯式的後處理規則、分類器和其餘參數,測試階段直接從預測的機率圖中得到文本候選區(邊界有助於將每一個單獨的文本區域與其餘文本區域隔離開來)。設計
2 實驗
做者創建了一個由PPT圖像組成的文字檢測數據集,該數據集包括10692幅PPT圖像(77dpi,分辨率720*540,共93228個文字區),語言爲英語和阿拉伯語。文中對邊界類的定義爲:假設原始文字區域的行高是ĥ,標記寬度爲c∗ĥ的帶狀區域爲文本邊界(文中c取0.15)。下圖是關於數據集的一些信息。
因爲做者將文字檢測問題重定義爲分割問題,因此設計了一個輕量級的FCN網絡來有效地學習文字邊界從而實現文字檢測。FCN的結構以下圖所示(包括單分辨率和多分辨率):
爲了驗證方法的有效性,做者首先在本身創建的數據集上進行對比實驗。將PPT數據集劃分爲訓練集(0.9)、驗證集(0.05)和測試集(0.05),數據擴增策略包括隨機resize、隨機顏色變換、隨機旋轉等等。訓練得到單分辨率的baseline模型後直接將其植入多分辨率模型中繼續訓練至網絡收斂。表2比較了Text-Block FCN和文中提出的FCN的效果,能夠看出,文中提出的輕量級FCN在不引入邊界類的狀況下效果與Text-Block FCN至關,可是參數少得多(14.71M vs 0.27M)並且處理速度快。而引入了邊界類以後,單分辨率的f值提高了27個點,而運行時間幾乎沒有增長;多分辨率的模型的f值更是達到了驚人的0.96。
從預測的機率map獲得水平矩形bounding box的算法以下:
在公共數據集上的實驗做者在ICDAR 2015和MSRA-TD 500數據集上進行實驗,對每一個數據集進行微調,圖像過大時縮小(維持寬高比),重複使用多分辨率baseline訓練過程的全部設置。對標註進行修正:
實驗結果:
可見,該方法不只在水平文字檢測方面效果出色,並且對於傾斜文字的檢測效果也達到了state of art水平。對於扭曲文字,該方法也有很好的效果。下面是一些圖像上的檢測結果,圖中藍色區域表示非文本區,紅色表示文本區,綠色表示邊界。
3 分析總結
該方法也有一些缺陷和不足,好比垂直文本錯誤劃分、異形文字檢測、光照強烈狀況下的漏檢狀況等等,以下圖所示:
總而言之,邊界類的引入使得文字檢測任務的後處理工做大大減小;邊界和文字具備共存關係,能夠利用邊界來進一步提高文字檢測的準確率;邊界的形狀與文字區域的輪廓緊密相關,能夠用於文字區域的校訂等工做。