【论文速读】XiangBai_CVPR2018_Rotation-Sensitive Regression for Oriented Scene Text Detection
XiangBai_CVPR2018_Rotation-Sensitive Regression for Oriented Scene Text Detection
作者和代码
关键词
文字检测、多方向、SSD、$$xywh\theta$$、one-stage,开源
方法亮点
核心思想认为,分类问题对于旋转不敏感,但回归问题对于旋转是敏感的,因此两个任务不应该用同样的特征。所以作者提出来基于旋转CNN的思路,先对特征做不同角度的旋转,该特征用于做框的回归,而对分类问题,采用沿oriented response pooling,所以对旋转不敏感。
Text coordinates are sensitive to text orientation. Therefore, the regression of coordinate offsets should be performed on rotation-sensitive features.
In contrast to regression, the classification of text presence should be rotation-invariant, i.e., text regions of arbitrary orientations should be classified as positive.
Figure 1: Visualization of feature maps and results of baseline and RRD. Red numbers are the classification scores. (b): the shared feature map for both regression and classification; (c): the result of shared feature; (d) and (e): the regression feature map and classification feature map of RRD; (f): the result of RRD.
- 首次使用Oriented Response Convolution来做文字检测
方法概述
本文方法是SSD进行修改,除了修改输出预测4个点坐标偏移量来检测倾斜文本外,还利用了ORN来提取旋转敏感的文字特征,然后在分类分支增加最大池化来提取针对分类不敏感的特征。
方法细节
网络结构
该网络结构由SSD改造,不同的是原来的多层融合侧边连接是普通的卷积,但这里换成了RSR。每一个RSR分为两个部分,第一部分是把卷积改成多种不同方向的oriented convolution。第二部分是用来做predicition,包括regression和classification两个分支。classification分支的不同地方在于多了一个oriented response pooling。
Figure 2: Architecture of RRD. (a) The rotation-sensitive backbone follows the main architecture of SSD while changing its convolution into oriented response convolution. (b) The outputs of rotation-sensitive backbone are rotation-sensitive feature maps, followed by two branches: one for regression and another for classification based on oriented response pooling. Note that the inception block is optional.
ORN(Oriented response net-works)
目的:通过使用旋转滤波器(active rotating filters,ARF)来提起对旋转敏感(rotation-sensitive)的卷积特征
方法来源:Y. Zhou, Q. Ye, Q. Qiu, and J. Jiao. Oriented response networks. In CVPR, 2017.
github链接:https://github.com/ZhouYanzhao/ORN
主要思想:
Rotation-Invariant Classification
简单说,就是把所有方向的结果逐像素取个最大值。如果文字是某个方向的,那么对应的方向的response应该比较大,这样就能把该方向的特征抽取出来(因为原来的feature有多个方向的,但只给定feature是不知道具体是哪个方向的,不能把它单独拿出来,用Max就可以不管是哪个方向都能提取出来)。
The rotationsensitive feature maps are pooled along their depth axis.
Default Boxes
使用四个顶点的四边形来表示。最后prediction的是四个点坐标的offset。
训练
作者argue第一个点的选择很重要,文中采用了textbox++提供的方法来确定第一个点
计算IOU的时候为了简化直接用了最外接矩形bb的IOU
损失函数 = 分类-2类softmax损失 + 回归-smooth_L1损失
实验结果
- Ablation 实验
Baseline: architecture without inception block, using shared conventional feature maps for both regression and classification;
Baseline+inc: baseline architecture using inception blocks;
Baseline+inc+rs: architecture with inception block, using rotation-sensitive features for both regression and classification;
Baseline+inc+rs+rotInvar: the proposed RRD. Note that for word-based datasets, inception block is not applied and we also name it RRD.
- 在RCTW-17、ICDAR2015、MSRA-TD500上的实验结果
- 不同IOU实验结果
- ICDAR2013实验结果
- 在其他数据集(ship,HRSC2016)检测上结果
- 当前文字检测结果中常见的歧义性
总结与收获
这篇文章的key idea和R-FCN有点像。检测对于平移、旋转具有敏感性,但分类不具有。所以这篇文章的方法是通过一个最大池化来去掉分类特征对旋转的敏感性。另外,这是第一篇把oriented response net-works引入ocr检测的文章。
【论文速读】XiangBai_CVPR2018_Rotation-Sensitive Regression for Oriented Scene Text Detection的更多相关文章
- 【论文速读】XiangBai_TIP2018_TextBoxes++_A Single-Shot Oriented Scene Text Detector
XiangBai_TIP2018_TextBoxes++_A Single-Shot Oriented Scene Text Detector 作者和代码 Minghui Liao, Baoguang ...
- 论文阅读(Xiang Bai——【arXiv2016】Scene Text Detection via Holistic, Multi-Channel Prediction)
Xiang Bai--[arXiv2016]Scene Text Detection via Holistic, Multi-Channel Prediction 目录 作者和相关链接 方法概括 创新 ...
- 【论文速读】ChengLin_Liu_ICCV2017_Deep_Direct_Regression_for_Multi-Oriented_Scene_Text_Detection
ChengLin Liu_ICCV2017_Deep Direct Regression for Multi-Oriented Scene Text Detection 作者 关键词 文字检测.多方向 ...
- 论文速读(Chuhui Xue——【arxiv2019】MSR_Multi-Scale Shape Regression for Scene Text Detection)
Chuhui Xue--[arxiv2019]MSR_Multi-Scale Shape Regression for Scene Text Detection 论文 Chuhui Xue--[arx ...
- 论文速读(Yongchao Xu——【2018】TextField_Learning A Deep Direction Field for Irregular Scene Text)
Yongchao Xu--[2018]TextField_Learning A Deep Direction Field for Irregular Scene Text Detection 论文 Y ...
- 【论文速读】Chuhui Xue_ECCV2018_Accurate Scene Text Detection through Border Semantics Awareness and Bootstrapping
Chuhui Xue_ECCV2018_Accurate Scene Text Detection through Border Semantics Awareness and Bootstrappi ...
- 论文阅读(Weilin Huang——【TIP2016】Text-Attentional Convolutional Neural Network for Scene Text Detection)
Weilin Huang--[TIP2015]Text-Attentional Convolutional Neural Network for Scene Text Detection) 目录 作者 ...
- 【论文速读】Shitala Prasad_ECCV2018】Using Object Information for Spotting Text
Shitala Prasad_ECCV2018]Using Object Information for Spotting Text 作者和代码 关键词 文字检测.水平文本.FasterRCNN.xy ...
- 【论文速读】Sheng Zhang_AAAI2018_Feature Enhancement Network_A Refined Scene Text Detector
Sheng Zhang_AAAI2018_Feature Enhancement Network_A Refined Scene Text Detector 作者 关键词 文字检测.水平文字.Fast ...
随机推荐
- Java笔记(二十一) 动态代理
动态代理 一.静态代理 代理的背后一般至少有一个实际对象,代理的外部功能和实际对象一般是一样的, 用户与代理打交道,不直接接触实际对象.代理存在的价值: 1)节省成本比较高的实际对象创建开销,按需延迟 ...
- Buffer --缓冲器
一. 启动Buffer缓冲器 node 输入 buffer 创建一个新的buffer var buf = new buffer(''hello word) 查看buf的长度 buf.length 运行 ...
- python学习:删除空白
删除空白 删除尾部空白 确保字符串尾部没有空白,使用rstrip(); 删除字符串开头的空白,使用lstrip(); 同时删除字符串两端的空白,使用strip() 代码: >>> ...
- angularjs ng-if 中的ng-model 值作用域问题
现象:最近做了一个需求,页面上使用了ng-if 条件做判断,导致通过使用 $scope 获取不到 ng-model 的值. 问题原因: ng-if这个指令单独开了一个作用域,它只可以继承,不可以进行往 ...
- JSON WEB Token(JWT)
最近面试被问及单点登陆怎么解决?自己的项目前后端分离,自己实现token认证,token有失效时间,token中包含用户基本的信息.且一个当用户重新登陆后,原来的token就会失效,这么安全的一个to ...
- 动态规划-数位DPwindy
https://vjudge.net/contest/297216?tdsourcetag=s_pctim_aiomsg#problem/L #include<bits/stdc++.h> ...
- 9、vuex快速上手
vue脚手架 npm install -g vue-cli usage: vue init example: vue init webpack myvue 安装vuex: npm i -S vuex ...
- word/pdf互转的链接
参考链接 http://www.greenxf.com/soft/98467.html
- Maven多模块项目编译失败:程序包xxx不存在
项目结构如下: parent(父类工程) | - - - - - common(通用工具类子工程) | - - - - - projectA(springboot子工程,依赖common工程) pom ...
- 2.2String工具类
1:split方法 public class SplitDemo1 { public static String[] name = new String[20]; public SplitDemo1( ...