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 ...
随机推荐
- angular-file-upload封装为指令+图片尺寸限制
不了解angular-file-upload基础使用 请先参考http://blog.csdn.net/lai_xu/article/details/49535847 博客地址 下文如果有更好的建议请 ...
- Android Stdio 中的Rendering Problems Android N requires the IDE to be running with Java 1.8 or later Install a supported JDK解决办法
出现如下图所示的错误 解决办法为: 然后在里面输入SDK 下载 下载APILevel为23版本的SDK 换成23版本的SDK 完美解决问题
- c#IO的学习
常见应用方面 一.路径的相关操作,如判定路径是否合法,路径类型,路径的特定部分,合并路径,系统文件夹路径等内容:二.相关通用文件对话框,这些对话框可以帮助我们操作文件系统中的文件和目录:三.文件.目录 ...
- hdu 2046递推
递推公式 F[N]=F[N-1]+F[N-2]; AC代码: #include<cstdio> const int maxn=55; long long ans[maxn]; void ...
- 《清华梦的粉碎》by王垠
清华梦的诞生 小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进入清华大学读书,为我们家争光.我不知道清华是什么样子,但是我 ...
- Java中的自定义数组队列
在Java中,作为所有数据结构中存储和获取速度最快的一种,数组凭借其这种简单易用的优势在各个方面都能大显神威.但是数组也有自身的局限性.数组的长度必须是固定的一旦定义之后就无法动态的更改,这就会造成这 ...
- dwr3+spring实现消息实时推送
最近项目要实现一个消息推送的功能,主要就是发送站内信或者系统主动推送消息给当前在线的用户.每次的消息内容保存数据库,方便用户下次登录后也能看到.如果当前用户在线,收到站内信就主动弹出提示.一开始想到的 ...
- python开发【第一篇】
内容编码 python解释器在加载.py文件的时候,会对内容进行编码(默认是ascii编码). ASCII 是基于拉丁系统的一套电脑编码系统, 主要用于显示现代英语和其他西欧语言,其最多只能用8位来表 ...
- 为什么在Python里推荐使用多进程而不是多线程
转载 http://bbs.51cto.com/thread-1349105-1.html 最近在看Python的多线程,经常我们会听到老手说:"Python下多线程是鸡肋,推荐使用多进程 ...
- FusionCharts封装-单系列图组合
ChartAction.java: /** * @Title:ChartAction.java * @Package:com.fusionchart.action * @Description:单系列 ...