[腾讯数平精准推荐 | OCR 技术之检测篇](https://zhuanlan.zhihu.com/p/34579102)
腾讯数平精准推荐主要做实时精准推荐,海量大数据分析挖掘,自研的基于深度在线点击率预估算法及全流程实时推荐系统,效果很好。
可以借助于广告图片中的文本识别加深对广告的理解。
OCR指的是对图像进行分析处理,获得里面的文字。可以在场景图像文字识别、文档图像识别、卡证识别、票据识别里面应用。
所谓场景文字识别,指的是不需要对特殊场景进行定制,可以识别任意场景图片的文字。相比于传统OCR,场景图片的文本检测与识别面临着背景干扰,文字模糊与退化,不可预测的光照,字体多样性、垂直文本,倾斜文本等
主要步骤为:
* 对文字区域定位,也就是找到词或者文本行的边界框
* 对文字进行识别
## 文本检测技术
由于光照的多变性以及字体的不可预测性,准确定位文字的位置比较麻烦。传统的检测方法主要有基于连通域以及基于滑动窗口,2014年之后,基于深度学习的方法逐渐成为主流。
### 基于连通域的方法
文字一般是连续出现的,也就是说图像中的文字可以看做一个连通域。
首先可以将图片所有的连通域都提取出来,这些连通域既有文字连通域,又有背景连通域。
那么下面就需要根据分类器或者启发式规则判断提取连通域到底文字的还是背景 的
![](http://p8a6vmhkm.bkt.clouddn.com/picgo20180824114823.png?picgo)
### 基于滑动窗口
如果把图片里面的文字看作特殊的目标,那么可以使用目标检测的方法来定位文字的位置。
* 首先从每一个滑动窗口提取若干特征
* 然后将提取的特征送入分类器来判定当前的滑动窗口是否包含文字
* 最后需要通过二值化来精确定位场景文本的位置
![](http://p8a6vmhkm.bkt.clouddn.com/picgo20180824115241.png?picgo)
### 基于深度学习
基于深度学习的文本检测方法利用更多的数据去拟合更复杂的模型。
最广泛的是基于Region Proposal 的方法,或者说基于图像分隔的方法。
## 数平精准推荐文本检测技术
### 基于 Rotation-RPN 的文本检测方法
在基于深度卷积网络的物体检测框架中,每一层卷积相当于一层滤波器,多层滤波器的串联可以使最有效的特征被传递到最后,再根据文字目标与物体目标的差异,针对性地改进检测任务的实现机制,能够获得良好的文本检测效果
经典的 Faster RCNN 框架是针对通用物体检测而设计的,但在文本检测这一比较特殊的应用中,则有较多不太一样的地方
Faster RCNN 中 Anchor 的设置并不适合文本检测任务,而是针对物体检测任务来设计的,需要调节;
另外,Anchor 为正矩形,而文字存在倾斜畸变等,如果用正矩形检测,得到的文本检测结果无法满足后续对文字进行识别的要求。
数平团队研发了一种用于任意方向文本的端到端文本检测方法
![](http://p8a6vmhkm.bkt.clouddn.com/picgo20180824121657.png?picgo)
主要包括三部分:基础卷积网络、Rotation-RPN 网络、Rotation-ROI-Pooling
* 图像中的文字并非都是水平的,所以需要把角度信息融入到检测框架中。
* 尺度问题:设定了不同尺寸的Propssal,融合不同尺度卷积特征,用于检测不同尺度的文本;
* 旋转感兴趣区域(RRoI)池化层,可以将任意方向、任意宽高比投影到特定大小的特征图,
* 传统的非极大值抑制(NMS)只能处理轴对齐的候选框
### 基于联结文本建议网络的文本检测方法
与一般物体检测不同的是,文本是一个 Sequence(字符、字符的一部分、多字符组成的一个 Sequence)
通过在卷积网络的特征图上提取 Anchors,并计算每个 Anchor 的得分, 并在计算得分的过程中,综合利用上下文信息、每行的文本序列特性,采用 RNN 进行建模以判断文字的得分
![](http://p8a6vmhkm.bkt.clouddn.com/picgo20180824122546.png?picgo)
我们先检测文本区域,再找出文本行,获得了相比传统检测方法更好的结果。
通过 CNN 提取深度特征,并结合 RNN 进行序列学习,能够大幅提高检测精度,尤其对于长文本(水平及具有一定倾斜角度的长文本)的检测。
### 基于全卷积网络的文本检测
基于全卷积网络(Fully Convolutional Network,FCN):同时使用分割(Segmentation)和边界框回归(Bounding Box Regression)的方式对场景文字进行检测,直接产生单词或文本行级别的预测(旋转矩形或任意四边形),通过非极大值抑制产生最终结果。
![](http://p8a6vmhkm.bkt.clouddn.com/picgo20180824122908.png?picgo)
文本检测网络产生两种输出:
* Score Map
* 文本边界框的回归结果(回归目标为矩形时是 5 自由度的坐标和角度、回归任意四边形时是 8 自由度的坐标)。
其中,分数图的像素值在 [0,1],代表了在同样的位置预测的几何尺寸的置信度, 分数超过预定义阈值的几何形状被认为是有效的结果预测,最后通过非极大值抵制产生最终文本检测结果。