文本檢測: CTPN


參考:

https://zhuanlan.zhihu.com/p/37363942

https://zhuanlan.zhihu.com/p/34757009

https://zhuanlan.zhihu.com/p/31426458 【 Faster RCNN 非常詳盡】

 

對於理解RNN/LSTM首先推薦閱讀以下2篇文章,里面有詳細的公式推導:

零基礎入門深度學習(5) - 循環神經網絡

零基礎入門深度學習(6) - 長短時記憶網絡(LSTM)

簡介

文章基本信息

論文題目:Detecting Text in Natural Image with Connectionist Text Proposal Network,簡稱CTPN.該文章是ECCV2016喬宇老師的文章

論文地址:

代碼實現:https://github.com/tianzhi0549/CTPN(作者的caffe實現),

                 https://github.com/eragonruan/text-detection-ctpn(其他人tensorflow實現)

作者提供的caffe實現沒有訓練代碼,不過訓練代碼可以參考faster-rcnn的訓練代碼

文本檢測概述

文本檢測可以看成特殊的目標檢測,但它有別於通用目標檢測.在通用目標檢測中,每個目標都有定義好的邊界框,檢測出的bbox與當前目標的groundtruth重疊率大於0.5就表示該檢測結果正確.

文本檢測中正確檢出需要覆蓋整個文本長度,且評判的標准不同於通用目標檢測,具體的評判方法參見(ICDAR 2017 RobustReading Competition).所以通用的目標檢測方法並不適用文本檢測。

 

原始CTPN只檢測橫向排列的文字。CTPN結構與Faster R-CNN基本類似,但是加入了LSTM層。假設輸入 N Images:

  • 首先VGG提取特征,獲得大小為 N \times C\times H\times W 的conv5 feature map。
  • 之后在conv5上做 3×3 的滑動窗口,即每個點都結合周圍 3×3 區域特征獲得一個長度為 3×3×C 的特征向量。輸出 N \times9C\times H\times W 的feature map,該特征顯然只有CNN學習到的空間特征。
  • 再將這個的feature map每一行都作為一個 T_{max}= W 的數據流,輸入Bi-directional LSTM(雙向LSTM),學習每一行的sequence feature。經過reshape后最終輸出N \times256\times H\times W 特征,既包含空間特征,也包含了LSTM學習到的序列特征。
  • 再經過“FC”卷積層,變為 N \times512\times H\times W 的特征
  • 最后經過類似Faster R-CNN的RPN網絡,獲得text proposals,如圖2-b。

圖2 CTPN網絡結構

  • 更具體的網絡結構,請使用netscope查看CTPN的deploy.prototxt網絡配置文件。

    接下來,文章圍繞下面三個問題展開:

      1. 為何使用BLSTM
      2. 如何通過FC層輸出產生圖2-b中的Text proposals
      3. 如何通過Text proposals確定最終的文本位置,即文本線構造算法

     回答這三個問題,基本原理就了解了。感謝作者,寫的很詳細。

     詳見知乎:https://zhuanlan.zhihu.com/p/34757009

     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM