Rotation Proposals
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做法,在分类网络中加入旋转角度.
Rotation Proposals的更多相关文章
- Rotational Region CNN
R2CNN 论文Rotational Region CNN for Orientation Robust Scene Text Detection与RRPN(Arbitrary-Oriented Sc ...
- 2017-2018_OCR_papers汇总
2017-2018_OCR_papers 1. 简单背景 基于深度的OCR方法的发展历程 近年来OCR发展热点与趋势 检测方法按照主题进行分类 2. ECCV + CVPR + ICCV +AAAI ...
- UVALive 7139 Rotation(矩阵前缀和)(2014 Asia Shanghai Regional Contest)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=6 ...
- The Rotation Game(IDA*算法)
The Rotation Game Time Limit : 30000/15000ms (Java/Other) Memory Limit : 300000/150000K (Java/Othe ...
- unity3d 的Quaternion.identity和transform.rotation区别是什么
Quaternion.identity就是指Quaternion(0,0,0,0),就是每旋转前的初始角度,是一个确切的值,而transform.rotation是指本物体的角度,值是不确定的,比如可 ...
- Eclipse不给提示no default proposals
解决方法: (1),找到工程所在的workspace,删除.metadata配置文件. (2),启动eclipse,重新定位到先前的workspace目录置,重建同名工程(不要删除原来的工程,只要建立 ...
- ios layer 动画-(transform.rotation篇)
x轴旋转: CABasicAnimation *theAnimation; theAnimation=[CABasicAnimation animationWithKeyPath:@"tra ...
- Unity 3D 中实现对物体 位置(position) 旋转(rotation) 大小(scale) 的全面控制
今天分享一些基础控制的脚本 1.位置(Position): 控制位置很简单,首先要知道要在xyz哪几个轴上移动,确定好后定义代表着那些轴的移动变量,速度(m_speed在函数外定义为全局变量)然后通过 ...
- [CareerCup] 1.8 String Rotation 字符串的旋转
1.8 Assume you have a method isSubstring which checks if one word is a substring of another. Given t ...
随机推荐
- hdu2089 不要62--经典数位DP
一道十分经典的数位DP的题目. dp[i][j]表示最高位是数字i,连同最高位在内共有j位.注意边界的初始化. 接下来就是区间划分,特殊情况处理.....对了,如果不知道自己的方法是否正确,可以写一个 ...
- hdu3016 线段树+简单DP
以每个方块左右坐标区间为节点建立字典树,每个节点保存这个区间对应的方块的下标,将方块按照高度排序. 如何得到第i个方块可以移动到的两个方块呢?将所有方块排完序,将前i-1个方块放入字典树,根据第i个方 ...
- 【BZOJ3993】 星际战争
Time Limit: 1000 ms Memory Limit: 128 MB Description 3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战.在战斗的某一阶段,Y军团一 ...
- Python基于Flask框架配置依赖包信息的项目迁移部署小技巧
一般在本机上完成基于Flask框架的代码编写后,如果有接口或者数据操作方面需求需要把代码部署到指定服务器上. 一般情况下,使用Flask框架开发者大多数都是选择Python虚拟环境来运行项目,不同的虚 ...
- S3 Browser 配置指南
S3 Browser 相对于s3cmd是一个很方便的操作S3的图形化界面工具. 以下是配置步骤: 下载网址:http://s3browser.com/ keygen破解版: http://appdol ...
- Winform中TextBox控件开启自动提示补全功能
问题:Winform开发中,有一个TextBox控件用以输入姓名,现希望在输入名字时能够自动提示所有可能的名字. 解答:winform中的TextBox控件含有如下三个属性: ① AutoComp ...
- Android 网络之 Volley+OkHttp+Https
Volley 已经发布很长时间了, 也已被广泛应用, 相关教程到处都是. 本文只说两个值得注意的地方. 本文讲解部分比较少, 请参阅提供的相关链接. 完整的实现代码在 Github dodocat/A ...
- Caused by: java.sql.SQLException: Field 'id' doesn't have a default value
1.错误描述 org.hibernate.exception.GenericJDBCException: error executing work at org.hibernate.exception ...
- select(Linux 编程)
select系统调用时用来让我们的程序监视多个文件句柄的状态变化的.程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变. 关于文件句柄,其实就是一个整数,通过socket函 ...
- Struts(五)Action的访问
在struts开发中,Action作为框架的核心类,实现对用户的请求的处理,Action被称为业务逻辑控制器.一个Action类代表一次请求或调用.Action就是用来处理一次用户请求的对象 Acti ...