歡迎使用CSDN-markdown編輯器

文檔OCR-文字區域定位 (Edge Boxes)

標籤:document_processing


   在介紹Edge Box之前先簡單的介紹下圖像中的文本分類以及傳統的字符區域定位有哪些方法。

圖像中的文本分類:

  • 疊加文本:疊加文本是指視頻或圖像中原本沒有的,爲了進行描述和解說,在後期製作中加入的文本。疊加文本主要是新聞中的標題字幕、電影中的對白字幕、廣告中的廣告商和產品信息等。

  • 場景文本: 場景文本是指從自然界的場景中,由相機不加處理獲取到的文本,其來源是現實世界中的場景,所以命名爲場景文本。場景文本主要是商店招牌、汽車號牌、球衣號碼、牌匾等生活中常見的文本。

   字符區域定位是預處理的關鍵步驟,是否準確定位出字符,決定這字符識別的成功與否。當前字符區域自動定位的算法有很多。

疊加文本定位主要歸爲四大類:

  • 一是基於邊緣特徵的定位方法,如通過字符邊緣異與非字符區域的密集度來定位,以上一節的水平、垂直直方圖投影爲例;
  • 二是基於字符結構特徵的定位方法,即通過字符的字符顏色、幾何特點等來定位,以顏色信息定位爲例[33];
  • 三是基於筆畫特徵的方法;
  • 四是基於字符紋理特點的定位方法[34],即通過字符與背景紋理特點不同來定位,以基於離散餘弦變換的字符定位方法爲例。其中,基於字符結構特徵的定位方法與基於字符紋理特點的定位方法是這章節的研究重點。而基於字符邊緣特徵的定位方法,以直方圖投影爲例。

場景文本定位主要歸爲三大類:

  • 一是基於區域的定位方法,也叫滑動窗口Sliding Window,用一個滑動窗口來搜索圖像中可能的文本即候選區域,然後運用機器學習來判決文本。
  • 二是基於連通分量的定位方法Connected Component,是一類自下而上的文本檢測算法。在基於連通分量的方法中,圖像中的連通分量被提取作爲候選字符,如果他們有相似的幾何屬性,則合併文本區域,然後再進行額外的檢驗來剔除僞文本區。基於連通分量的方法克服了滑動窗口類算法的一些缺點,它不用遍歷圖像的多尺度,也不採用窗口遍歷圖像,而是對整個圖像進行統一的處理,無需對圖像進行變換。

  • 三是基於deep features多特徵融合的方法;

   光學字符識別系統的字符定位算法,可以根據不同的應用場合中,字符區域的結構、邊緣或紋理特徵來快速定位[35]。目前傳統方法中應用較多的就是 基於離散餘弦變換的紋理定位方法基於顏色空間的特徵定位方法 ,兩種方法各自應用於不同的場合。都是字符定位中簡潔有效的方法。

  《Edge Boxes: Locating Object Proposals from Edges》是ECCV2014的一篇關於目標檢測的一篇文章,作者是來自於MSRA的 Piotr 等人。本文並沒有涉及到“機器學習”,反之採用的是最原始的圖像處理方法,因爲現在很多提取proposals的文獻,例如BING等,都是基於學習的方法。此外,本文的許多內容,甚至數學公式,都是基於作者的直覺直接建立。一篇學術paper,一般由研究目標,研究方法和實驗結論組成,以下部分分別從這幾方面進行介紹。
  作者爲了加速現有目標檢測算法,提出了一種能夠以較高精度確定proposal的新方法。至於proposal 還沒有一個確定的中文翻譯,一般被稱作“目標可能位置”。這個概念非常重要,當我們看到一幅圖像的時候,我們絕對不會像傳統檢測算法那樣去遍歷圖像,而是一眼“縱觀全局”,直接發現目標“大概的位置”,然後進一步細看。
  這篇文章確定 proposal 的方法的可貴之處就是進一步挖掘了圖像更原始更本質的內容。顯而易見,這樣的方式,速度會很快。
  Pioter 的研究方法:利用邊緣信息(Edge),確定bounding box 內的輪廓個數和與 box 邊緣重疊的輪廓個數(這點很重要,如果我能夠明確一個box內包含的輪廓個數,那麼目標有很大可能性就在這個框中,這也是作者的直覺),並基於此對框框進行評分,進一步根據得分的高低順序確定proposal信息(由大小,長寬比,位置構成)。而後續工作就是在proposal內部運行相關檢測算法。
下面試着詳細介紹本文算法流程。

圖1來自於文獻,箭頭是我自己加的,我覺得這幅圖像,可以很好的說明該文的算法思想。
  首先,第一行是原圖,第二行是用 Structured Edge detector 計算出原圖每一個像素的邊緣響應 edge response 。詳情見論文1 Doll´ar, P., Zitnick, C.L.: Structured forests for fast edge detection. In: ICCV. (2013)和論文2 Doll´ar, P., Zitnick, C.L.: Fast edge detection using structured forests. CoRR abs/1406.5549 (2014)。這時得到的的邊緣圖像顯得很緊密,需要用NMS進一步處理得到一個相對稀疏的邊緣圖像。
  其次,第三行中,本來灰色的邊緣變成了五顏六色的邊緣,其實這些五顏六色的邊緣是基於某種策略,將邊緣點集合起來得到的N多個小段,論文中,叫做edge group。所採用的的策略是:將近乎在一條直線上的邊緣點,集中起來形成一個edge group,具體的做法是,不停地尋找8連通的邊緣點,直到兩兩邊緣點之間的方向角度差值的和大於 π/2 ,這樣便得到了N多個edge group。
  再其次,得到N個edge group之後,還要進一步計算兩兩edge group之間的相似度,相似度的公式很簡單,如下:

a(Si,Sj)=|cos(θiθij)cos(θjθij)|γ(1)

  這樣變使得,如果兩個edge group 越在一條直線上,上述公式計算得到的相似度就越高,反之亦然。作者之所以引入edge group概念,是爲了確定輪廓個數做準備,因爲一個輪廓中的所有edge group當然是最相似的,這點可以在紙上畫畫,十分明顯。
  最後,讓我們看看作者是怎麼根據edge group 來確定輪廓的。作者的做法在我看起來很奇葩,他給每一個 edge group 一個權值,換句話說,打個分數,然後把權值均爲1的 edge group 歸爲框框內輪廓上的一部分,把權值爲0的 edge group 歸爲框框外或者與框框邊界重疊的輪廓的一部分。採用了一個數學公式達到了上述目的,如下:

wb(si)=1maxTj|T|1a(tj,tj1)(2)

  其中,T是指從框框的邊緣開始到達si的edge group 序列集合,當然,會有很多個T,看到沒,它的目標就是從這麼多的路徑T中,尋找相似度最高的路徑,這就是傳說中的輪廓。值得注意的是,在某路徑T上,一旦出現相似度爲0(這很容易出現)的情況,這條路徑T就廢棄了,所以想找到那個合適的T,真的很快。。。。
  最最後,作者給出了框框的評分(具體公式沒什麼好解釋的,就不給出了)。然後就得到了倒數第二行的效果,效果還是很不錯的。
綜上,給出自己畫的算法流程圖,如下所示:
Created with Raphaël 2.1.0輸入圖像計算 edge response計算 edge groups計算 edge groups 之間的相似度公式 (1)計算 boxes 交叉集合 Sb計算 edge group 權值計算 boxes 評分End

  本文的實驗效果:作者和幾個當前流行的proposal提取算法進行了比較,得到了比較不錯的效果,主要是基於經典的PASCAL VOC數據集,但是不得不說,他把BING弄得太差了。另外,這個算法存在一個較大的缺陷。
  本文算法的不足:一句話,通過demo測試,發現,其評分較高的proposals均爲近乎整幅圖像,比如說,圖像中有8個人,那麼該算法評分最高的proposal肯定是同時包含了這8個人的,這一點不足,使得這個算法的含金量大大縮水,因爲,在實際應用中,我想要的效果往往是,最高評分的幾個proposal最好是單獨的人,而不是8個人一起。
  至於原因,不難理解,上面已經說過了,本文不是基於“學習”的算法,沒有訓練過程,不可能像BING那樣,訓練了單獨人體,那麼最高評分的proposal肯定就是單獨的人體,訓練了汽車,那麼最高評分的proposal肯定就是單獨的汽車等等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章