天天看點

場景文字檢測

場景文字檢測可以作為OCR的前端,為可以應用于商辨別别等應用。

https://blog.csdn.net/intflojx/article/details/81278393

1 賽題簡介

在網際網路世界中,圖檔是傳遞資訊的重要媒介。特别是電子商務,社交,搜尋等領域,每天都有數以億兆級别的圖像在傳播。圖檔文字識别(OCR)在商業領域有重要的應用價值,是資料資訊化和線上線下打通的基礎,也是學術界的研究熱點。然而,研究領域尚沒有基于網絡圖檔的、以中文為主的OCR資料集。本競賽将公開基于網絡圖檔的中英混合資料集,該資料集資料量充分,涵蓋幾十種字型,幾個到幾百像素字号,多種版式,較多幹擾背景。期待學術界可以在本資料集上作深入的研究,工業界可以藉此發展基于OCR的圖檔管控,搜尋,資訊錄入等AI領域的工作。

2 資料集

我們提供20000張圖像作為本次比賽的資料集。其中50%用來作為訓練集,50%用來作為測試集。該資料集全部來源于網絡圖像,主要由合成圖像,産品描述,網絡廣告構成。典型的圖檔如圖1所示:

場景文字檢測

                                                                                       圖1:典型圖檔

這些圖像是網絡上最常見的圖像類型。每一張圖像或者包含複雜排版,或者包含密集的小文本或多語言文本,或者包含水印,這對文本檢測和識别均提出了挑戰。

對于每一張圖像,都會有一個相應的文本檔案(.txt)(UTF-8編碼與名稱:[圖像檔案名] .txt)。文本檔案是一個逗号分隔的檔案,其中每行對應于圖像中的一個文本串,并具有以下格式:

      X1,Y1,X2,Y2,X3,Y3,X4,Y4,“文本”

其中X1,Y1,Y2,X2,X3,X4,Y3,Y4分别代表文本的外接四邊形四個頂點坐标。而“文本”是四邊形包含的實際文本内容。

圖2是标注的圖檔,紅色的框代表标注的文本框。

圖3是标注圖檔對應的文本檔案。标注時我們對所有語言,所有看不清的文字串均标注了外接框(比如圖2中的小字),但對于除了中文,英文以外的其它語言以及看不清的字元并未标注文本内容,而是以“###”代替。

場景文字檢測

圖2:image.jpg

場景文字檢測

圖3:image.txt

     3 任務描述

網絡圖像的文本檢測:

檢測并定位圖像中的文字行位置,允許使用其它資料集或者生成資料, 允許Fine-tuning 模型或者其他模型。入圍團隊送出報告中須對額外使用的資料集,或非本資料集訓練出的模型做出說明。

訓練集:

對于每個圖像,隻需要用[圖像檔案名] .txt裡的坐标資訊。即: X1,Y1,X2,Y2,X3,Y3,X4,Y4。

測試集:

輸入:整圖

輸出:對于每一個檢測到的文本框,按行将其頂點坐标輸出到對應的[圖像檔案名] .txt中。

送出:

将所有圖像對應的[圖像檔案名] .txt放到一個zip壓縮包中,然後送出。

4 評估标準

文本定位評測遵循ICDAR2013 Born-Digital Image的主體思路。本次競賽資料集以中文為主,标注較細緻,是以按照論文中“one to many”和“many to one”[1]的思路更為準确。其中一些門檻值進行了調整:

第一,為“單個目标框”篩選合格“多個合格框”的門檻值tmany。“多”中的任意框與目标框交叉面積除以自身面積大于 tmany=0.7時,視為合格候選。

第二,計算“多個合格框”覆寫“單目标框”的面積門檻值tone。“多”中的所有框覆寫了目标框總面積大于tone=0.7時,視單目标框可被召回或者屬于正确檢測範疇,視“多個合格框”為可被召回或者屬于正确檢測範疇。

第三,确定召回率和精度。計算“多”檢測框對“單”标注框時,如果滿足了tone,那麼單标注框召回率為1,多個檢測框(個數為k)的檢測準确度為penal(K)。計算“多”标注框對“單”檢測框時,如果滿足tone,那麼單檢測框精度為1,多個标注框(個數為k)中每一個召回率為penal(K)。其中penal(K)為懲罰“分散”或者“合并”錯誤的函數,公式為:

                     penal(K) = 1/(1+ln(K))               (1)

第四,處理“可忽略行”。對于行标注内容為“###”的文本行。“可忽略行”不計算召回率。當某個檢測框被“可忽略行”覆寫的面積除以自身面積大于tignore=0.5時,視該檢測框為“可忽略檢測行”。可忽略的标注行和檢測行不計入最終結果。

5. 解題

剛好看到國内的曠視今年在CVPR2017的一篇文章:EAST: An Efficient and Accurate Scene Text Detector。而且有開放的代碼,學習和測試了下。

       題目說的是比較高效,它的高效主要展現在對一些過程的消除,其架構就是下圖中對應的E部分,跟上面的比起來的确少了比較多的過程。這與去年經典的CTPN架構類似。不過CTPN隻支援水準方向,而EAST在論文中指出是可以支援多方向文本的定位的。

場景文字檢測

論文采用的架構如下:

場景文字檢測

這個架構的細節應該包括幾個部分:

(1) The algorithm follows the general design ofDenseBox [9], in which an image is fed into the FCN andmultiple channels of pixel-level text score map and geometryare generated. 從論文中這句話可以看出,參考了DenseBox的架構,采用FCN網絡,同時在多個通道中進行特征層的輸出與幾何的生成。

(2) 文中采用了兩種幾何對象,rotated box (RBOX) and quadrangle (QUAD),通過這兩種,可以實作對多方向場景文本的檢測。

(3) 采用了Locality-Aware NMS來對生成的幾何進行過濾,這也是代碼中lanms(C++)代碼的因素。

實驗部分:

由于該源碼已經公布,進行了測試,效果如下:

(1) ICDAR相關的資料集測試,有相當部分的效果還是可以的。

場景文字檢測
場景文字檢測
場景文字檢測
場景文字檢測

(2 )改進:

首先:用EAST跑比賽訓練集,在此基礎上進行以下改進嘗試:

樣本:

  1. 通過統計平衡樣本比例
  2. 采用focal loss
  3. 負樣本挖掘,損失高的多訓練幾次
  4. 強調小目标檢測,下采樣多尺寸檢測
  5. 加入Text-attentional的資料增強方法,再進行訓練和測試。
  6. 樣本進行旋轉
  7. 擴大尺度
  8. 多尺度

網絡:

  1. 修改成寬度網絡
  2. 修改成ResNetX
  3. 其他修改
  4. 先用synth800k進行預訓練

融合:

  1. 采用refineNet的融合方式
  2. 按不同權重進行融合,分辨率大的可能更重要
  3. 将中間層也拉出來做預測,并加入loss中,可調loss權重,與最終結果做融合
  4. 多尺度輸入,并将不同尺度輸入的feature map進行融合,最後進行預測
  5. 引入普通規則:将中間謀層拉出來做預測,(統計得到的)寬高比(或其他規則)需滿足一定的條件,并加入Loss中,旨在提高準确率。
  6. 引入覆寫率概念:從淺層到高層不斷做預測,觀測預測的結果是否有前面檢測小目标後面檢測大目标的特性,進而指導應該采用哪些層做預測。

輸出:

  1. 大目标檢測單詞
  2. 小目标檢測文本線
場景文字檢測
場景文字檢測
場景文字檢測

評測結果:在1萬張測試集,準确率:0.75,召回率:0.65 

繼續閱讀