Ankush Gupta et al. 2016 CVPR
Text Spotting: 電腦視覺中,處理在自然場景中閱讀文字問題
Intro 提到此時的 SOTA 是 這篇 (同一個Group自己講的, 自行判斷~)
SOTA 的問題
正確切割成為辨識正確率的瓶頸
正確切割的文字圖片的 Accuracy 達到98%, 但 end2end 的 F-measure 只有69%, 主因是有許多錯誤切割的區域, 會造成辨識上困難
參見附圖 🤣
速度太慢
因為用了很多傳統方法加上 R-CNN ,(光是看到用第一版本的 R-CNN大概就知道在普通等級的硬體上絕對不會是即時偵測XD, 不過畢竟其有時空背景上的限制)
本篇貢獻
Generating Engine
其實 前一篇 就有提到用合成的方式做數據,但並不自然, 這一篇特別介紹生成引擎並提供 github ,用現成的深度學習與切割方法來對齊文字, 讓文字自然的融入自然場景照片中
Fully-convolutional regression network(FCRN)
此時 ,物件偵測的時空背景是 Yolov1 出一年左右, SSD 剛出不到半年, Yolov2未出。
另外, E Shelhamer
的 FCN 已出
作者使用了一個類似全卷積的 YOLO 架構,加上convolutional regressor, 做出文字框與文字的預測。
Generating Engine
文字與圖像的來源
第一步當然是要先取出要合成的 Text 跟 Image
Text 的來源是 Newsgroups20 datasets, 這裡取三種 1.Words 2.Lines (up to 3 lines) 3.Paragraphs (up to 7 lines)。(這個數據集內有英文,符號,數字,標點)
Image 的來源則是 Google Image Search, 這裡取了 objects/scenes, indoors/outdoors, natural/artificial, 共八千張圖。 特別需要注意的是,為了標注嚴謹, 圖片上不能本來就有其他字樣(例如路標),所以在搜尋時就不會用 "street-sign" , "menu" 這類關鍵字, 為求嚴謹,還有再經過人工檢查,刪去本來就有字樣的圖片。
如下圖就是標注不嚴謹的例子
(SVT dataset)
可以看到內有許多文字沒被標注出來
Segmentation
再來就進入怎麼對齊文字的方法論了
首先是切割, 基於一個假設: 文字必然是出現在某個特殊區塊內(特別的紋理和顏色), 於是用了 gPb-UCM contour hieranchies, efficient graph-cut inplementation 來決定區域
如下圖,左邊有區域限制,右邊沒限制
Geometry Estimation
決定區域之後,再來就是要根據幾何構造將文字貼上去
通常文字會在區域的表面,為了估計出類似效果,會根據估計出來的局部區域法線來將文字投影上去 (perspectively transformed)
被決定的區域如果有以下情形還是會被刪掉
1.太小
2.極端的長寬比
3.法線與視角垂直
4.紋理太多(紋理強度用RGB影像的三階導數算)
Fully-Convolution Regression Network
cc代表信心值,pose
因為原圖共經過四次 downsampling, 一格Feature channel代表 個 pixels
接著對每格再經過的卷積核做出7個值的預測 pose
(卷積都有經過 Zero padding)
Reading text in the wild with convolutional neural networks
Synthetic Data for Text Localisation in Natural Images
Supplementary Material