前言
最近准备极验3代,选字验证码的破解。之前用CNN实现端到端的字符型验证码破解已满足不了需求了,我以为破解选字验证码关键步骤有三:1.图片文本的识别;2.字符坐标的识别;3.字序的识别。设计的技术有,图片识别技术、特征位置检测和NLP处理。本文作为关键技术之一,用于收录转载,感谢本篇论文的翻译者!
目录
作者和相关链接几个关键的Idea出发点方法概括方法细节实验结果总结与收获点作者和相关链接
个人主页:Zhi Tian,黄伟林,Tong He,Pan He,乔宇作者简单信息: 论文下载:论文传送门代码下载:代码传送门几个关键的Idea出发点
文本检测和一般目标检测的不同——文本线是一个sequence(字符、字符的一部分、多字符组成的一个sequence),而不是一般目标检测中只有一个独立的目标。这既是优势,也是难点。优势体现在同一文本线上不同字符可以互相利用上下文,可以用sequence的方法比如RNN来表示。难点体现在要检测出一个完整的文本线,同一文本线上不同字符可能差异大,距离远,要作为一个整体检测出来难度比单个目标更大——因此,作者认为预测文本的竖直位置(文本bounding box的上下边界)比水平位置(文本bounding box的左右边界)更容易。
Top-down(先检测文本区域,再找出文本线)的文本检测方法比传统的bottom-up的检测方法(先检测字符,再串成文本线)更好。自底向上的方法的缺点在于(这点在作者的另一篇文章中说的更清楚),总结起来就是没有考虑上下文,不够鲁棒,系统需要太多子模块,太复杂且误差逐步积累,性能受限。
RNN和CNN的无缝结合可以提高检测精度。CNN用来提取深度特征,RNN用来序列的特征识别(2类),二者无缝结合,用在检测上性能更好。
方法概括
基本流程如Fig 1, 整个检测分六步:
第一,用VGG16的前5个Conv stage(到conv5)得到feature map(W*H*C)第二,在Conv5的feature map的每个位置上取3*3*C的窗口的特征,这些特征将用于预测该位置k个anchor(anchor的定义和Faster RCNN类似)对应的类别信息,位置信息。第三,将每一行的所有窗口对应的3*3*C的特征(W*3*3*C)输入到RNN(BLSTM)中,得到W*256的输出第四,将RNN的W*256输入到512维的fc层第五,fc层特征输入到三个分类或者回归层中。第二个2k scores 表示的是k个anchor的类别信息(是字符或不是字符)。第一个2k vertical coordinate和第三个k side-refinement是用来回归k个anchor的位置信息。2k vertical coordinate表示的是bounding box的高度和中心的y轴坐标(可以决定上下边界),k个side-refinement表示的bounding box的水平平移量。这边注意,只用了3个参数表示回归的bounding box,因为这里默认了每个anchor的width是16,且不再变化(VGG16的conv5的stride是16)。回归出来的box如Fig.1中那些红色的细长矩形,它们的宽度是一定的。第六,用简单的文本线构造算法,把分类得到的文字的proposal(图Fig.1(b)中的细长的矩形)合并成文本线Fig. 1: (a) Architecture of the Connectionist Text Proposal Network (CTPN). Wedensely slide a 3×3 spatial window through the last convolutional maps (conv5)of the VGG16 model [27]. The sequential windows in each row are recurrentlyconnected by a Bi-directional LSTM (BLSTM) [7], where the convolutional feature (3×3×C) of each window is used as input of the 256D BLSTM (includingtwo 128D LSTMs). The RNN layer is connected to a 512D fully-connected layer,followed by the output layer, which jointly predicts text/non-text scores,y-axiscoordinates and side-refinement offsets ofkanchors. (b) The CTPN outputssequential fixed-width fine-scale text proposals. Color of each box indicates thetext/non-text score. Only the boxes with positive scores are presented.