Rotation Proposals
論文Arbitrary-Oriented Scene Text Detection via Rotation Proposals
這篇論文提出了一個基於Faster R-CNN的支持任意角度旋轉的場景文字檢測框架.在Fast R-CNN的部分與論文Rotated Region Based CNN for Ship Detection的思路基本一致.不過多了候選框生成RPN的部分.
加入旋轉角度的Faster R-CNN pipline如下:
數據預處理
給每個標記的bbox添加旋轉角度,得到5元組(x,y,h,w,θ).其中(x,y)代表中心點坐標,(h,w)是短邊和長邊.
Rotation Anchors
Faster R-CNN中anchors的定義是以(16,16)為基准,得到三種長寬比(0.5,1,2),三種尺度(8,16,32)的anchors,總共9個.論文提出對長寬比進行適當調整,以符合大多數文字區域的長寬比情況.另外,添加了6個不同的角度.因此在特征圖上每個點預測3x3x6個box.
anchor策略如下圖:
bbox回歸
學習的目標是anchor與ground-truth box之間的映射關系(仿射變換與指數映射),而普通的方法里邊學習的目標通常就是標簽,有所不同.那么,為什么要學習一個修正值(regression),而不是直接學習真正的坐標呢?
因為在特征圖上對每個點對應的原圖區域進行二分類(判斷是否是目標區域),坐標是通過類似滑窗的方式就能確定的,無需學習.這種滑窗搜索的方式還不夠精確,可以再通過一個卷積學習一個變換(anchor與ground-truth box這兩個框之間的映射關系可能相對比較固定,可以學習這個映射關系). 這種修正值的方式比直接學習最終的目標要更容易學習, 直接學習最終的目標在數值上如果不加約束, 可能收斂很慢.
注意的是這里新增的對於角度的仿射變換是 \(θ_a − θ_g + kπ\).
針對旋轉的方法適配
-
IoU的計算要考慮傾斜度:
-
NMS除了考慮IoU,置信度,也可以考慮傾斜度,保留角度差值較小的.
-
RRoI Pooling Layer
需要對有角度的roi區域仿射變換到與坐標軸對齊的矩形數組中,再采用max pooling得到相同尺寸的特征圖.
相似論文:
另一篇論文R2CNN: Rotational Region CNN for Orientation Robust Scene Text Detection提出了不同的做法,在RPN中任然使用與坐標平行的box做法,在分類網絡中加入旋轉角度.