论文阅读-《Deep Matching Prior Network:Towards Tighter Multi-oriented Text Detection》
来源:互联网 发布:软件项目报价表 编辑:程序博客网 时间:2024/06/03 18:10
CVPR2017 by Yuliang Liu & Lianwen Jin
1.Motivation
对于自然文本的检测任务,原来的方法都专注于用矩形框来对文本进行定位。但是实际上因为文本图像存在透视变换等等问题,图像里面的自然文本并不是严格地呈现矩形的。这个时候用矩形框来定位的话会有以下问题:
左边表示用四边形定位的结果,右边表示用矩形定位的结果。
(a)表示用矩形定位会引入不必要的overlap
(b)表示用矩形会导致文本的边界不能很好的定位
(c)表示矩形会引入额外的噪声。
因此作者提出了自己的Deep Matching Prior Network用来检测四边形边框。
2.Proposed methodology
1.利用quadrilateral sliding windows来对text进行粗定位;
2.采用shared Monte-Carlo方法快速计算两个任意四边形的交叉面积
3.利用和gt overlap大的四边形进行text的精确定位
4.设计了smooth Ln loss来提高定位精度
2.1.Rough recall text with quadrilateral sliding window
作者指出之前的方法都是用水平的矩形来作为anchor box,这种方法对于倾斜的文本来说,相同的阈值下recall太低了。因此作者提出了倾斜四边形作为anchor box,如下图所示:
(b)表示水平矩形作为anchor box,
(c)表示作者提出来的quadrilateral作为anchor box,
(a)表示两种方法的对比,
可以看到,quadrilateral能够更好地对text进行定位。减少背景噪声的影响。
2.2.Shared Monte-Carlo method
为了确定哪个anchor box是positive的,我们需要计算gt box和anchor box之间的IOU,作者指出原来的算法只能计算矩形之间的IOU,并且效率还不高。因此,他们提出了基于Monte-Carlo的方法来计算多边形的面积。方法如下图所示:
方法有两步:
1)对于GT,首先在它的外接矩形框里面均匀采样10000点,然后统计在GT多边形里面的点,得到GT的面积;
2)如果sliding window的外接矩形和GT的外界矩形不相交,那么GT和sliding window的IOU就是0,否则根据1)计算sliding window的面积,然后统计GT里面的点在sliding window里面的比例,求得交叉区域的面积,得到IOU
通过在GPU上并行计算,这种方法的效率很高。
2.3.Finely localize text with quadrangle
通过上一步确定了哪些sliding window负责预测text之后,下一步就是根据这些sliding window的参数预测四边形的坐标。首先我们需要确定四边形的四个点的预测顺序。
sequential protocol of coordinates
上图表示凸四边形顶点确定流程。首先在四个点里面选择x坐标最小的,如果有两个x一样,那么选择y最小的。确定完点1之后,可以连接剩下的点引出三条线段,找到中间那条,确定点3。然后画出对角线L13,找到在L(P)>0的P点为第二个点,否则为第4个点。
最后连接点1,3和点2,4.选择斜率更大的那条线上x更小的点作为新的点1.剩下的依次确定。
确定了点的顺序之后,要预测的参量其实就是四个点的坐标。作者这里换了一种预测方法:
对于gt四边形,得到它的最小外接矩形。然后用(x,y,w1,h1,w2,h2,w3,h3,w4,h4)表示这个gt。其中(x,y)表示外接矩形的中心点坐标,(wi,hi)表示四边形四个点相对(x,y)的偏移。
2.4.Smooth Ln Loss
一般回归的loss会用L2 loss或者smoothed L1 loss,其中smoothed L1 loss相比L2 loss,对于离群值的敏感度更小(more robust)。
但是从训练的角度来说,L2 loss能够加快收敛的速度。因为当预测值和真实值相差比较大的时候,L1 loss的梯度始终是1,但是L2 loss的梯度和误差是同一量级,这样可以加快收敛。
综合以上,作者提出了smoothed Ln loss,综合了L2 loss和smooth L1 loss的特点。
从上图中可以看到,Ln loss对于离群值的敏感度小于L2 loss,同时梯度的调节能力优于smooth L1 loss。
3.Experiments
实验在ICDAR 2015 challenge 4 “Incidental Scene Text” Localization上。
- 论文阅读-《Deep Matching Prior Network:Towards Tighter Multi-oriented Text Detection》
- Deep Matching Prior Network: Toward Tighter Multi-oriented Text Detection
- Deep Matching Prior Network: Toward Tighter Multi-oriented Text Detection 论文笔记
- 【论文阅读】Fused Text Segmentation Network for Multi-oriented Scene Text Detection
- 论文笔记 MSCNN:A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection
- MSCNN 论文解析(A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection
- MSCNN 论文解析(A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection
- [论文解读] MSCNN: A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection
- 【论文阅读】Sequential Matching Network: A New Architecture for Multi-turn Response Selection in Retrieval
- 【论文笔记】 Arbitrary-Oriented Scene Text Detection via Rotation Proposals
- 论文笔记-Arbitrary-Oriented Scene Text Detection via Rotation Proposals
- [论文笔记]Arbitrary-Oriented Scene Text Detection via Rotation Proposals
- [水水文]Fused Text Segmentation Networks for Multi-oriented Scene Text Detection
- [论文阅读]HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection
- 论文笔记-Temporal segment network:towards good practices for deep action recognition
- Deep Convolutional Network Cascade for Facial Point Detection阅读笔记
- Deep Convolutional Network Cascade for Facial Point Detection阅读笔记
- Deep Convolutional Network Cascade for Facial Point Detection阅读笔记
- mybatis
- 算法概论8章,部分习题证明
- 深入理解JVM之类的加载机制
- 10个值得程序员关注的C语言开源项目
- 邮票问题---动态规划
- 论文阅读-《Deep Matching Prior Network:Towards Tighter Multi-oriented Text Detection》
- Android中View绘制过程(三) setContentView()到performTraversals()
- 数据库字符函数的理解及使用
- centos系统python版本升级
- OpenCV Mat常用操作
- 面试题17: 合并两个排序的链表
- 使用groovy理解gradle配置文件
- hibernate笔记-012-多对一双向映射
- Android获取设备唯一ID的几种方式