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 ...
随机推荐
- Java经典编程题50道之三十九
写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. public class Example39 { public static void main(String[] a ...
- Java经典编程题50道之二十四
有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁.问第4个人岁数,他说比第3个人大2岁. 问第三个人,他说比第2人大两岁.问第2个人, 说比第一个人大两岁.最后问第一个人,他说是10岁. 请问 ...
- nginx虚拟域名的配置以及测试验证
1.保证该机器上安装了nginx 未安装请看:centos/linux下的安装Nginx 2.使用root用户编辑配置文件 vim /usr/local/nginx/conf/nginx.conf 3 ...
- C语言_scanf()和getchar() 使用[粗俗易懂]
原文地址:http://blog.csdn.net/hao5743/article/details/6939661/,以下是我重新整理的以下. 问题描述一:[分析scanf()和getchar()读取 ...
- RMI远程服务调用
数据库:info.sql /* Navicat MySQL Data Transfer Source Server : yuanzhen Source Server Version : 50713 S ...
- 1×1卷积的用途(Network in Network)
1×1卷积,又称为Network in Network 如果卷积的输出输入都只是一个平面,那么1x1卷积核并没有什么意义,它是完全不考虑像素与周边其他像素关系. 但卷积的输出输入是长方体,所以1x1卷 ...
- 内置函数--bin() oct() int() hex()
英文文档: bin(x) Convert an integer number to a binary string. The result is a valid Python expression. ...
- mysql 集群 监控
部署mysql高可用集群(mysql-mmm+主从同步)4台数据库服务器:四个数据库之保留初始的四个库,其他库全部删除 主机158 主机137 主机99 主机67 主机102(可与其他四台ping通即 ...
- Java for Anfroid 学习之 内部类
1.什么是内部类 所谓的内部类,就是一个类定义在另一个类的里面. 代码: class A { int i; class B { int j; int func(){ int resu ...
- Android的微信智能心跳方案
原文地址: 年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援.刚到广州的时候,Ray让我和春哥对Line和WhatsApp的心跳机制进行分析.我和春哥抓包测试了差不多两个多礼拜 ...