Rotational Region CNN
R2CNN
论文Rotational Region CNN for Orientation Robust Scene Text Detection与RRPN(Arbitrary-Oriented Scene Text Detection via Rotation Proposals)均提出了检测出任意角度的文字目标框的方法.两篇论文是同一年出的(2017,R2CNN在RRPN之后3个月,并且在论文中做了结果对比),两个方法的主要区别在于得到候选框角度的网络位置,在RRPN中是在RPN中产生带角度的候选框\((cx,cy,w,h,\theta)\),在后续的RCNN中对候选框分类和回归候选框位置.R2CNN作者认为RPN产生的矩形候选区域足以供RCNN得到更进一步的类别信息和角度信息.因此将角度信息的获取放在了RCNN中.但是作者指出直接使用角度表示并不稳定,如对于角度分别为90度和-90度的box,在不严格区分头尾的情况下可看作相同的角度,但是数值计算上却相差很大.论文采用的box表示法是(x1,y1,x2,y2,h),即宽边上的两个点坐标和高度.在RCNN中在原来两条分支,分类和边框回归分支的基础上再加一条分支,用来输出任意角度的rbox(添分支的方式与mask r-cnn类似).使用不同的权重控制每个分支对整体loss的比例:
\[
\mathcal L(p,t,v,v^*,u,u^*)=L_{cls}+\lambda_1t\sum_{i\in\{x,y,w,h\}}L_{reg}(v_i,v^*_i) \\
+\lambda_2t\sum_{i\in\{x1,y1,x2,y2,h\}}L_{reg}(u_i,u^*_i)
\]
实验结果表明两个box回归分支同时使用比单独使用任意角度的box回归分支效果好.
由于文字通常是长条形,在ROIPooling中仅使用7x7正方形网格提取特征可能不太合适,作者采用了三种尺寸(7x7,11x3,3x11)得到三个特征之后拼接起来.F score有大约1%的提升.RRPN需要按照倾斜角度进行ROIPooling,而R2CNN不需要,因此计算较为方便.R2CNN在ICDAR2015的检测结果F score比RRPN高出5%.由于R2CNN是基于坐标轴方向的box得到任意角度的rbox,因此这种方法很容易迁移到SSD,YOLO等方法中.
TextBoxes++
这是白翔等人在2018年1月初公布的一篇关于文字检测的论文,是TextBoxes的升级版.
其借鉴SSD等网络的做法使文字检测能够end-2-end训练,并与R2CNN类似,在输出坐标对齐的矩形框时同时输出任意角度的目标框(R2CNN中也提到该方法可以用于SSD,YOLO这种方法上,TextBoxes++引用了R2CNN).
TextBoxes++除了输出水平的矩形还可输出更紧确的任意四边形 quadrilateral \((x^q_1,y^q_1,x^q_2,y^q_2,x^q_3,y^q_3,x^q_4,y^q_4)\)或者倾斜的矩形\((x^r_1,y^r_1,x^r_2,y^r_2,h^r)\).这种倾斜矩形表示法采用和R2CNN相同的表示法,不采用角度\(\theta\)表示的原因是数据集中\(\theta\)分布有bias,即不均衡,使得模型会与数据强相关(而R2CNN指出90度与-90度代表相同的结果时数值计算不稳定).这两种表示法的一个主要区别是任意四边形可以是不规则的,对不规则的艺术字等效果更好,将图片拉伸缩放后倾斜的矩形会变形,重设置为矩形则不够贴切.实验结果中表明任意四边形表示法比任意角度的矩形表示法高2.5%.
anchor(default box)的生成方式:
长宽比按照1,2,3,5,1/2,1/3,1/5设计,anchor均设置为水平的矩形,而不像RRPN那样设置多角度的矩形或者DMPNet(Y. Liu and L. Jin, “Deep matching prior network: Toward tighter multi-oriented text detection,” in Proc. CVPR, 2017.)那种多角度的任意四边形.并考虑到文字图片通常在竖直方向上相对比较稠密,因此通过在竖直方向上对anchor增加偏移使得竖直方向上anchor box比较稠密,能够覆盖更多的文字区域.
考虑到文字的形状特点,在卷积层做的改变是采用矩形而不是方形的卷积核.用3x5代替3x3,这样能够减少多余区域带来的噪声.
测试时级联NMS提高四边形NMS速度,具体做法是先对水平的矩形以较高的IOU(如0.5)去除多余的目标框,接着对任意的四边形或任意角的矩形以较低的IOU(如0.2)去除多余框.
与文字识别相结合提升检测结果,CRNN也是一个端到端训练的网络,可以和它相结合提升检测的精度,其做法是将识别得到的score与检测的score相结合得到新score.由于检测分数\(s_d\)的阈值与识别\(s_r\)的阈值通常相差较大(0.6 vs 0.005),因此不能直接将两者相加,可以采用调和均值(harmonic mean):
\[
S={2\times e^{s_d+s_r}\over e^{s_d}+e^{s_r}} \tag{$m={2\over {1\over a}+{1\over b}}$}
\]
在ICDAR 2015 Incidental Text dataset上通过识别结果改进检测器可获得1.3%的提升.
数据增广:改进了SSD的随机裁剪的增广方式.SSD增广随机裁剪时要求裁剪的目标与ground truth之间的Jaccard(IOU)超过阈值.这样裁剪出的图片的目标占比较大,这种情况在文字数据集中很少出现,因此需要避免这种情况,方法便是约束裁减后的目标占原ground truth的比例.
不足之处:
- 有目标遮挡和较大的字符间隙
- 垂直的文字,由于此类数据较少
- 弯曲文字
对这些问题处理的比较好的方法有:linking segment和EAST.
Rotational Region CNN的更多相关文章
- 论文阅读笔记三:R2CNN:Rotational Region CNN for Orientation Robust Scene Text Detection(CVPR2017)
进行文本的检测的学习,开始使用的是ctpn网络,由于ctpn只能检测水平的文字,而对场景图片中倾斜的文本无法进行很好的检测,故将网络换为RRCNN(全称如题).小白一枚,这里就将RRCNN的论文拿来拜 ...
- Rotation Proposals
Rotation Proposals 论文Arbitrary-Oriented Scene Text Detection via Rotation Proposals 这篇论文提出了一个基于Faste ...
- R2CNN论文思路记录
Rotational region cnn 我们的目标是检测任意方向的场景文本,与RRPN类似,我们的网络也基于FasterR-CNN ,但我们采用不同的策略,而不是产生倾斜角度建议. 我们认为RPN ...
- R2CNN模型——用于文本目标检测的模型
引言 R2CNN全称Rotational Region CNN,是一个针对斜框文本检测的CNN模型,原型是Faster R-CNN,paper中的模型主要针对文本检测,调整后也可用于航拍图像的检测中去 ...
- 大规模视觉识别挑战赛ILSVRC2015各团队结果和方法 Large Scale Visual Recognition Challenge 2015
Large Scale Visual Recognition Challenge 2015 (ILSVRC2015) Legend: Yellow background = winner in thi ...
- 2017-2018_OCR_papers汇总
2017-2018_OCR_papers 1. 简单背景 基于深度的OCR方法的发展历程 近年来OCR发展热点与趋势 检测方法按照主题进行分类 2. ECCV + CVPR + ICCV +AAAI ...
- Coursera, Deep Learning 4, Convolutional Neural Networks, week3, Object detection
学习目标 Understand the challenges of Object Localization, Object Detection and Landmark Finding Underst ...
- 【目标检测】Faster RCNN算法详解
Ren, Shaoqing, et al. “Faster R-CNN: Towards real-time object detection with region proposal network ...
- 目标检测-Faster R-CNN
[目标检测]Faster RCNN算法详解 Ren, Shaoqing, et al. “Faster R-CNN: Towards real-time object detection with r ...
随机推荐
- iOS原生和H5的相互调用
为什么现在越来越多的APP中开始出现H5页面? 1,H5页面开发效率更高,更改更加方便: 2,适当缩小APP安装包的大小: 3,蹭热点更加方便,比如五一,十一,双十一搞活动: 那么为什么说H5无法取代 ...
- the c programing language 学习过程7
interact 互动 carriage运费运输 linefeed 换行 redirection改方向 interleaved交叉存取 adequate足够的 untouched原样的 specif ...
- hive: insert数据时Error during job, obtaining debugging information 以及beyond physical memory limits
insert overwrite table canal_amt1...... 2014-10-09 10:40:27,368 Stage-1 map = 100%, reduce = 32%, Cu ...
- mysql数据库 索引 事务和事务回滚
mysql索引 索引相当于书的目录优点:加快数据的查询速度缺点:占物理存储空间,添加,删除,会减慢写的速度 查看表使用的索引 mysql> show index from 表名\G;(\G分行显 ...
- cips2016+学习笔记︱简述常见的语言表示模型(词嵌入、句表示、篇章表示)
在cips2016出来之前,笔者也总结过种类繁多,类似词向量的内容,自然语言处理︱简述四大类文本分析中的"词向量"(文本词特征提取)事实证明,笔者当时所写的基本跟CIPS2016一 ...
- MFC下用sdl 显示bmp、rgb、yuv
#include <libsdl/SDL.h>//#include "SDL.h"#ifdef TEST_VGA16 /* Define this if you wan ...
- 使用mongoVUE删除大量数据的情况下失效问题
昨天有一个系统出现了问题,导致半夜时大量的错误数据产生,早晨一早接到上边通知让把这些数据尽数删除. 不可否认在数据操作时mongoVUE更加直观,因此一般情况下我也都是使用这个工具,但是今天却出现了问 ...
- 解决MyEclipse中的Building workspace问题
解决MyEclipse中的Building workspace问题 1.方法一 点击"Project",取消勾选"Build Automatically" 2. ...
- 利用Eclipse中的Maven构建Web项目(二)
利用Eclipse中的Maven构建Web项目 1.新建源文件夹,Java Resources鼠标右键,"New-->Source Folder" 2.新建src/main/ ...
- Caused by: java.lang.ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWo
1.错误描述 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help ...