最新情境文字檢測進展(含代碼)

來源:互聯網
上載者:User

標籤:swt   文字檢測   text detection   情境文字   

       關於情境文字檢測的定義、應用、意義等科普性質的細節這裡就不提了,本文是一篇相對比較專業的文章,如果非此領域的同學請繞行。本文主要探討情境文字主流的方法,並提供了一些創新思路,以及一個基於文獻[1]的情境文字檢測系統(在csdn上分享了該代碼)。就我所知(半年前全面搜尋過),十分完善的情境文字檢測的代碼網上是沒有的,有的只是一些演算法,或者比較過時的系統,本文的出現正是希望通過本人的一點努力填補這個空白,方便廣大研究者能夠更快入門,至少一開始研究就有一個基本架構。

 

      目前主流的方法主要有兩類:基於地區(MSER,最大穩定極值地區)和基於像素點(SWT,筆劃寬度變換)的方法。在文獻[2]中提到:截止2011年,情境文字檢測結果最好的是韓國人Chunghoon Kim基於MSER的方法,其查全率(recall)為62.47%,查准率(precision)為82.98%。遺憾的是,他的方法並沒有寫成論文,其演算法也不得而知。

 

       當然,使用SWT是更普遍的情況,[1]即是基於SWT的。SWT方法最有代表性的有兩篇文章,都出自微軟研究院,一篇是SWT開山之作——Epshtein大神的文獻[3],一篇是巔峰之作——華科Cong Yao的文獻[4]。Epshtein大神提出SWT演算法,使得情境文字檢測向前邁出一大步,其演算法核心非常簡單,大致是(1)將原圖做Canny檢測,Canny邊緣圖作為演算法的輸入圖,對每一個Canny點進行一次SWT演算法,見圖1;(2)SWT演算法的一個前提是作者認為每個字元的筆劃寬度是大致相同的,所以從一個Canny邊緣點順著梯度方向出發,如果能夠找到梯度方向正好相反的點,且該點也是Canny邊緣點,則認為該筆劃寬度有效;(3)當檢測完所有的Canny點時,有效筆劃寬度就構成了輸出圖,即文字檢測圖,可見圖2。當然,理論上是這樣,而實際上會出現很多虛警圖,這些虛警通常是由於類文字物體得到的,如條環、窗戶、磚塊和網格等。我認為該演算法是基於像素點的,是因為起始點是Canny邊緣點,梯度方向和大小也是基於邊緣點,而筆劃寬度則是將兩個對應的Canny邊緣點間的線段串連起來。基於像素點有一個最嚴重的問題,就是容易受到雜訊點或特殊點的影響。比方說圖2,本來很好的結果,卻由於偽筆劃寬度帶了一些問題,因此做完SWT變換,必須做一些處理或改進。


  

(a)原圖的梯度方向                      (b)局部放大圖

圖1 梯度方向圖


  (a)原圖               (b)Canny邊緣圖          (c)SWT圖

圖2. SWT過程圖(具體演算法見[3])


    Cong Yao的文章曾讓我大為震驚,雖然我並未做模擬,也沒有按照其思路進行研究,但是並不妨礙我推崇這篇文章。我沒有做模擬的原因是,這篇文章的工作量太大,對於只有半年時間寫論文的我來說時間不夠。通常,看到這類文章就像尋著一個珍寶一樣,時不時要拿出來鼓勵一下自己,什麼是真正的好文章?既有創新,又有工作量。可能是受Marios Anthimopoulos的啟發,Cong Yao使用的分類器是RFs(Random Forests, 隨機森林) 。在文獻[5]中,Marios例舉了RFs在文字檢測中比Boosting、SVM和NNs好的兩個優點。我在網上搜過RFs的代碼,只有一個簡化版的,本來RFs是一種判決樹,輸出的是機率,具體閾值可以人為設定,但是簡化版的只給出0或1。另外,該論文使用contour shape,  edge shape 很新的描述子作為特徵向量,說明作者對映像領域最新發展是很熟悉的。作者一共給了十來個特徵向量,測試這些特徵的工作量可想而知。當然,工作量歸工作量,如果結果不行,那工作量也是白瞎,但是作者不負眾望,對ICDAR的查全率為0.66,查准率為0.68,對OSTD(傾斜情境文字資料庫,由文獻[1]作者發布)的查全率為0.73,查准率為0.77。


(a)p, e, c, o出現了偽筆劃寬度   (b)E, A, G, S包含偽筆畫寬度

圖3. SWT由於雜訊點引起的偽筆劃寬度


    2012年,Weilin Huang提出了SWT的變體——SFT[6],在SWT演算法中添加了顏色資訊。2014年,將由本人提出另一種SWT變體——GSWT,目前還在進一步實驗中,但相信不久就能成文,準備發到PR上。

 

    本人曾做過兩個有趣的小實驗,有圖供大家參考批評。

    一是研究映像梯度時,發現文字的梯度大小圖有一個很明顯的特徵,就是一個文字的筆劃對應的兩個邊緣的梯度大小是大致相等的。見圖4。

 

    二是,由於SWT受雜訊點影響較大,所以可以通過濾波,將雜訊點過濾掉再使用SWT演算法,但是一般低通濾波器會使文字的邊緣資訊造成模糊,所以保持邊緣平滑濾波器是一個完美選擇。我在這方面的研究還不深入,但是做個一個很神奇的實驗。靈感來自於Gastal寫的文獻[7],Adaptive Manifolds濾波器是一種新型的而且效能非常優越的保持邊緣平滑濾波器。見圖5。

圖4. 對比原圖和梯度大小圖。上行為原圖;下行為梯度大小圖,顏色從藍至紅表示值增大。可以發現,每個字中筆劃對應的兩個邊緣梯度大小是基本相等的。


  

(a)對原圖進行文字檢測         (b)對經過AM濾波後的圖進行文字檢測

圖5. 黃色框表示檢測到的豎直文字地區,紅色表示水平文字地區。可見,原圖由於雜訊的影響,結果很不準確,而後者能夠準確檢測。


    最後,提一下我發布的一個情境文字檢測系統——TSDFNS(text string detection from natural scenes)——也許是很多人最想要的。但在這裡,希望大家有時間能夠讀一讀上面我提到的兩個小實驗,或許會對你在這個領域有寫協助。代碼見TSDFNS。


 

參考文獻

[1] Chucai Yi, etc. Text string detection from natural scenes by structure-based partition and grouping. TIP, 2011.

[2] Asif Shahab, etc. ICDAR 2011 Robust Reading Competition Challenge 2: Reading Text in Scene Images. ICDAR, 2011.

[3] Boris Epshtein, etc. Detecting Text in Natural Scenes with Stroke Width Transform. CVPR, 2010.(為了致敬,特意將Epshtein標為粗體)

[4] Cong Yao, etc. Detecting texts of arbitrary orientation in natural images. CVPR, 2012.

[5] Marios Anthimopoulos, etc. Detection of artificial and scene text in images and video frames. PAA, 2011.

[6] Weilin Huang, etc. Text Localization in Natural Images using Stroke Feature Transform and Text Covariance Descriptors. ICCV, 2012.

[7] Eduardo S. L. Gastal, etc. Adaptive Manifolds for Real-Time High-Dimensional Filtering. SIGGRAPH, 2012.

 


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.