文本檢測是深度學習中一項很是重要的應用,在前面的文章中已經介紹過了不少文本檢測的方法,包括CTPN(詳見文章:大話文本檢測經典模型CTPN)、SegLink(詳見文章:大話文本檢測經典模型SegLink)、EAST(詳見文章:大話文本檢測經典模型EAST)、PixelLink(詳見文章:大話文本檢測經典模型PixelLink),這些文本檢測方法主要分爲兩類,一類是基於像素級別的圖像語義分割方法(pixel-based),另外一類是採用通用目標檢測(使用錨點)的方法(anchor-based),這兩種方法的優劣以下:算法
pixel-based、anchor-based方法示意圖以下:
那麼有沒有將pixel-based和anchor-based兩種方法的優勢結合在一塊兒的檢測方法呢?
答案是有的,這就是本文要介紹的端到端深度學習文本檢測方法 Pixel-Anchor微信
一、Pixel-Anchor網絡結構
Pixel-Anchor的網絡結構以下圖所示:
該網絡採用ResNet-50做爲網絡的主幹結構(ResNet網絡的介紹詳見文章:大話CNN經典模型ResNet),提取出1/4, 1/8, 1/16的feature map(特徵圖)出來,做爲像素級別語義分割模塊(Pixel based Module)和錨檢測迴歸模塊(Anchor based Module)的基礎特徵,經過特徵共享的方式把像素級別語義分割和錨檢測迴歸放入到一個網絡之中,其中,pixel-based模塊獲得的輸出結果經過注意力機制送入到anchor-based模塊中(注意力機制的介紹詳見文章:大話注意力機制),使得錨檢測迴歸模塊檢測效率高、精確度高,最後經過融合NMS(非極大值抑制)獲得最終的檢測結果。
下面分別對像素級別語義分割模塊(Pixel based Module)和錨檢測迴歸模塊(Anchor based Module)進行介紹。網絡
二、像素級別語義分割模塊(Pixel based Module)
該模塊的結構以下:
該結構將FPN(特徵金字塔網絡)、ASPP(Atrous Spatial Pyramid Pooling,膨脹空間金字塔池化)操做組合在一塊兒進行特徵提取和處理。
輸入圖像首先通過ResNet-50主幹網絡分別提取出1/4, 1/8, 1/16的feature map(特徵圖)造成特徵金字塔。在1/16的feature map(特徵圖)中,爲了既不犧牲特徵空間分辨率,又可擴大特徵感覺野,採用了ASPP(Atrous Spatial Pyramid Pooling,膨脹空間金字塔池化)方法,這是一種低代價(low cost)的增長網絡感覺野的方法。那什麼是ASPP方法呢?
ASPP是利用Atrous Convolution(膨脹卷積),將不一樣擴張率的擴張卷積特徵結合到一塊兒(如取最大值),以下圖:
在這個pixel-based模塊中設置ASPP的膨脹率爲{3, 6, 9, 12, 15, 18}。接着做一次卷積操做(Conv),再用因子爲2倍的雙線性插值進行上採樣(Upsample),特徵圖變爲1/8,並和來自網絡主幹的1/8特徵圖進行拼接(concat)。接下來重複一次,先作卷積(Conv),再進行上採樣(Upsample),特徵圖變爲1/4,並和來自網絡主幹的1/4特徵圖進行拼接(concat)。最後輸出兩部分:旋轉框預測器(RBox predictor)和注意力熱力圖(attention heat map)。框架
三、錨檢測迴歸模塊(Anchor based Module)
該模塊的結構以下圖:
先看該圖的右半部分,該模塊主要是針對輸入圖像在ResNet-50中提取的1/4特徵圖、1/16特徵圖進行操做。分佈式
APL層(adaptive predictor layer,自適應預測層),見上圖的左半部分,該層分別爲不一樣的卷積核搭配不一樣的寬高比錨,以適應不一樣尺度、不一樣角度的文本。主要分爲如下5類:函數
通過以上APL層以後,將獲得的proposal(候選框)進行拼接,從而預測最終的四邊形區域。oop
爲了實現對密集文本的檢測,做者還提出了anchor density(錨密度),以下圖:
每一個anchor(錨點)經過複製出一些偏移量以更好地覆蓋密度文本,主要有:學習
四、後處理
在推導階段,採用融合NMS(非極大值抑制)方法得到最終的檢測結果,用anchor-based模塊檢測小文本和長文本,用pixel-based模塊檢測中等大小的文本。在anchor-based模塊,1/4特徵圖上的全部anchor(錨點)和在其它特徵圖上的全部長anchor(錨點)都會被保留下來,這些anchors足夠覆蓋小文本,而對於長文本、大角度文本,不具備檢測能力;在pixel-based模塊,將小於10像素,以及寬高比不在[1:15, 15:1]範圍內的文字過濾掉。最終,收集全部保留的候選文本框,經過融合NMS方法得到最終的檢測結果。測試
五、Pixel-Anchor檢測效果
Pixel-Anchor在小文本、大角度文本、長文本行,以及天然場景文本檢測中,均取得了比較好的效果,以下圖:
(1)小文本檢測效果
(2)大角度文本檢測效果
(3)長文本行檢測效果
(4)天然場景文本檢測效果(基於ICDAR 2015)
經在ICDAR 2015數據集上進行測試,並與CTPN、SegLink、EAST、Pixel-Link等方法進行對比,Pixel-Anchor方法的檢測效果很是不錯,以下表:大數據
六、總結
Pixel-Anchor做爲一個端對端的深度神經網絡框架,對各類尺度、角度的文本均有很不錯的檢測效果,主要有兩大創新點:
歡迎關注本人的微信公衆號「大數據與人工智能Lab」(BigdataAILab),獲取更多信息
推薦相關閱讀
一、AI 實戰系列
二、大話深度學習系列
三、圖解 AI 系列
四、AI 雜談
五、大數據超詳細系列