3.1.3 罕用的文本检测模型

R-CNN、Fast R-CNN、Faster R-CNN

1)R-CNN(CVPR 2014, TPAMI 2015)

2014年论文《Rich feature hierarchies for accurate object detection and semantic segmentation Tech report》提出R-CNN模型,即Regions with CNN features。这篇论文能够算是将CNN办法利用到指标检测问题上的开山之作。
R-CNN的算法原理:

 RCNN算法分成四个步骤:
(1)获取输出图像
(2)提取大概2000个自下而上的候选区域
(3)应用大型卷积神经网络(CNN)计算每个倡议的特色
(4)应用特定分类的线性反对向量机(SVM)对每个区域进行分类。

试验后果:
表1显示了VOC 2010数据集上的试验残缺后果。试验将R-CNN办法与四个强Baseline进行了比拟,其中包含SegDPM,它将DPM检测器与语义宰割零碎的输入相结合,并应用额定的检测器间上下文和图像分类器从新排序。最亲密的比拟是与Uijlings等人钻研的UVA零碎,因为R-CNN的零碎应用雷同的区域候选算法。为了对区域进行分类,UVA的办法构建了一个四级空间金字塔,并应用密集采样的SIFT、扩大的OpponentSIFT和RGBSIFT描述符对其进行填充,每个向量应用4000字的码本进行量化。采纳直方图相交核反对向量机进行分类。与UVA的多特色非线性核SVM办法相比,R-CNN在mAP方面获得了很大的改良,从35.1%进步到53.7%,同时速度也更快。R-CNN的办法在VOC 2011/12测试中达到了相似的性能(53.3%mAP)。

 图3将R-CNN与ILSVRC 2013年较量的参赛作品以及赛后的OverFeat后果进行了比拟。R-CNN取得了31.4%的mAP,显著当先于OverFeat第二好的24.3%。为了理解AP在不同类别上的散布状况,还提供了方框图,并在表8中的文章开端提供了一个perclass AP表。大多数竞争对手提交的材料(OverFeat、NEC-MU、UvAEuvision、Toronto A和UIUC-IFP)都应用了卷积神经网络,这表明CNN如何利用于指标检测存在显著差别,导致后果差别很大。

 首先查看CNN不在PASCAL进行微调,即所有CNN参数仅在ILSVRC 2012上进行预训练后的后果。逐层剖析性能(表2第1-3行)表明,fc7的特色概括起来比fc6的特色更差。这意味着,在不升高地图品质的状况下,能够删除29%或1680万个CNN参数。更令人诧异的是,删除fc7和fc6会产生十分好的后果,只管pool5性能仅应用CNN 6%的参数计算。CNN的大部分提取特色的能力来自其卷积层,而不是更大的密集连贯层。这一发现表明,仅应用CNN的卷积层就能够计算任意大小图像的浓密特色图(从HOG的意义上讲)的潜在效用。这种示意形式将反对在pool5个性的根底上应用滑动窗口检测器(包含DPM)进行试验。

在VOC 2007 trainval上微调了CNN的参数后,当初来看一下CNN的后果。改良是惊人的(表2第4-6行):微调将mAP进步了8.0个百分点,达到54.2%。fc6和fc7的微调带来的晋升要比pool5大得多,这表明从ImageNet学习到的pool5性能是通用的,大部分改良都是通过学习特定畛域的非线性分类器取得的。所有R-CNN变体的性能都显著优于三个DPMBaseline(表2第8-10行),包含应用性能学习的两个。与只应用HOG性能的最新版本DPM相比,R-CNN的mAP进步了20多个百分点:54.2%比33.7%,绝对进步了61%。HOG和sketch令牌的组合比独自的HOG产生2.5个mAP,而HSC比HOG进步了4个mAP(与它们的专用DPM Baseline进行外部比拟时,两者都使用性能低于开源版本的非公开DPM实现)。这些办法别离实现了29.1%和34.3%的MAP。


 在表3中,试验展现了应用Simonyan和Zisserman最近提出的16层深度网络进行VOC 2007测试的后果。该网络是最近ILSVRC 2014分类挑战赛中体现最好的网络之一。该网络具备由13层3×3卷积核组成的同质构造,其中交叉有5个最大池层,顶部有3个齐全连贯的层。对于OxfordNet,试验将该网络称为“O-Net”,对于TorontoNet,试验将baseline称为“T-Net”。

为了在R-CNN中应用O-Net,试验从Caffe模型Zoo1下载了VGG ILSVRC 16层模型的公开预训练网络权重,而后应用与T-Net雷同的协定对网络进行微调。惟一的区别是依据须要应用较小的小批量(24个示例),以适应GPU内存。表3中的结果表明,应用O-Net的RCNN显著优于应用T-Net的R-CNN,将mAP从58.5%减少到66.0%。然而,在计算工夫方面有一个相当大的毛病,O-Net的向前传递大概比T-Net长7倍。

  成果:
R-CNN在pascal voc2007上的检测后果从DPM HSC的34.3%间接晋升到了66%(mAP)。R-CNN速度慢的起因:对图像提取region proposal(2000个左右)之后将每个proposal当成一张图像进行后续解决(利用CNN提取特色+SVM分类),实际上对一张图像进行了2000次提取特色和分类的过程。

2)Fast R-CNN(ICCV 2015)

Fast R-CNN的算法原理:

 Fast R-CNN算法步骤:
(1)输出待检测图像
(2)利用Selective Search算法在输出图像中提取出2000个左右的候选区域,
(3)将这些候选区域输出到CNN进行特征提取
(4)对于卷积特色层上的每个候选区域进行RoI Pooling操作,失去固定维度的feature map;
(5)提取到的特色输出全连贯层,而后用Softmax进行分类,对候选区域的地位进行回归。

试验后果:
在VOC07上,试验比拟了Fast R-CNN、R-CNN和SPPnet。所有办法都从雷同的预训练VGG16网络开始,并应用边界框回归。VGG16 SPPnet后果由SPPnet BB的作者计算得出。SPPnet在培训和测试期间应用五个量表。与SPPnet相比,Fast R-CNN的改良表明,只管Fast R-CNN应用单尺度训练和测试,但微调conv层能够大幅提高mAP(从63.1%进步到66.9%)。R-CNN取得了66.0%的mAP。主要的一点是,SPPnet在帕斯卡语中没有标记为“艰难”的例子。删除这些示例将Fast R-CNN映射进步到68.1%。所有其余试验都应用“艰难”的例子。

 在VOC 2010 and 2012数据集中,试验将Fast R-CNN(简称FRCN)与公开排行榜comp4(内部数据)上的顶级办法进行比拟(表2,表3)。对于NUS NIN c2000和BabyLearning办法,目前没有相干论文,试验无奈找到所用ConvNet体系结构的确切信息;它们是网络设计中网络的变体。所有其余办法都是从雷同的预训练VGG16网络初始化的。Fast R-CNN以65.7%的mAP在VOC12上获得了最佳后果(额定数据为68.4%)。

它也比其余办法快两个数量级,这些办法都基于“慢速”R-CNN管道。在VOC10上,SegDeepM取得了比Fast R-CNN更高的mAP(67.2%对66.1%)。SegDeepM在VOC12 trainval和分段正文上进行训练;通过应用马尔可夫随机场推理O2P语义宰割办法中的R-CNN检测和宰割,旨在进步R-CNN的准确性。疾速R-CNN能够替换为SEGDEPM代替R-CNN,这可能会产生更好的后果。当应用扩充的07++12训练集(见表2题目)时,Fast R-CNN的mAP减少到68.8%,超过SegDeepM。

 与R-CNN框架图比照,有两处不同:
(1)最初一个卷积层后加了一个RoI(Regions of Interest) pooling layer;
(2)损失函数应用了多任务损失函数(multi-task loss),将边框回归间接退出到CNN网络中进行训练。 

Fast R-CNN改良:
(1)RoI pooling layer:SPP-NET对每个proposal应用了不同大小的金字塔映射,将RoI pooling layer只须要下采样到一个7×7的特色图;
(2)应用softmax代替SVM分类,将多任务损失函数边框回归退出到网络中:除了region proposal提取阶段以外,其余的训练过程是端到端的;
(3)微调局部卷积层。

存在问题
要先提取region proposal,没有实现真正意义上的端到端训练。

3)Faster R-CNN(ICCV 2015)

通过R-CNN和Fast R-CNN的积淀,Ross B. Girshick在2016年的论文《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》提出了新的Faster RCNN。Faster R-CNN算法原理:

 整个网络能够分为四个局部:
(1)Conv layers。首先应用一组根底的conv+relu+pooling层提取image的feature maps。该feature maps被共享用于后续的RPN层和全连贯层。
(2)Region Proposal Networks。RPN网络用于生成region proposals。该层通过softmax判断anchors属于foreground或者background,再利用bounding box regression来修改anchors来取得准确proposals。
(3)RoI Pooling。该层收集输出的feature maps和proposals,送入后续全连贯层断定指标类别。
(4)Classifier。利用proposal feature maps计算proposals的类别,同时再次利用bounding box regression取得检测框最终的准确地位。 

FASTER-RCNN算法步骤:
(1)输出测试图像;
(2)将整张图片输出CNN,进行特征提取;
(3)用RPN生成倡议窗口(proposals),每张图片生成300个倡议窗口;
(4)把倡议窗口映射到CNN的最初一层卷积feature map上;
(5)通过RoI pooling层使每个RoI生成固定尺寸的feature map;
(6)利用Softmax Loss(探测分类概率) 和Smooth L1 Loss(探测边框回归)对分类概率和边框回归(Bounding box regression)联结训练. 

试验后果:
试验在PASCAL VOC 2007检测基准上综合评估了FASTER-RCNN的办法【11】。该数据集包含约5k个TranVal图像和超过20个对象类别的5k个测试图像。FASTER-RCNN还提供了一些模型的PASCAL VOC 2012基准测试后果。对于ImageNet预训练网络,FASTER-RCNN应用“疾速”版本的ZF net[32],它有5个卷积层和3个齐全连贯层,以及公共VGG-16 model7[3],它有13个卷积层和3个齐全连贯层。FASTER-RCNN次要评估检测均匀精度(mAP),因为这是对象检测的理论度量(而不是关注对象倡议代理度量)。

表2(顶部)显示了应用各种区域候选办法进行训练和测试时的Fast R-CNN后果。这些后果应用ZF网络。对于选Selective Search(SS),试验通过“疾速”模式生成了大概2000个候选。对于EdgeBoxes(EB),试验通过调整为0.7 IoU的默认EB设置生成提案。在疾速R-CNN框架下,SS的mAP为58.7%,EB的mAP为58.6%。应用Fast R-CNN的RPN获得了有竞争力的后果,在应用多达300个提议8的状况下,其mAP为59.9%。因为共享卷积计算,应用RPN比应用SS或EB产生更快的检测零碎;更少的提案也升高了区域级齐全连贯层的老本(表5)。

为了钻研RPN的行为作为一种倡议办法,试验进行了几项融化钻研。首先,试验展现了RPN和Fast R-CNN检测网络之间共享卷积层的成果。为此,试验在四步训练过程的第二步之后进行。应用独自的网络将后果稍微升高到58.7%(RPN+ZF,非共享,表2)。察看到这是因为在第三步中,当应用detectortuned特色微调RPN时,倡议品质失去了进步。

接下来,试验剖析了RPN对训练Fast R-CNN检测网络的影响。为此,试验应用2000 SS提案和ZF网络来训练Fast R-CNN模型。Fast R-CNN修复此检测器,并通过更改测试时应用的倡议区域来评估检测图。在这些烧蚀试验中,RPN与探测器不具备雷同的特色在测试时用300个RPN提案替换SS,mAP为56.8%。mAP中的损失是因为培训/测试提案之间的不统一。此后果作为以下比拟的基线。有些令人诧异的是,当在测试时应用排名前100的提案时,RPN依然会导致竞争后果(55.1%),这表明排名前100的RPN提案是精确的。另一方面,应用排名靠前的6000个RPN计划(无NMS)有一个可比的地图(55.2%),表明NMS不会侵害检测地图,并可能缩小误报。

接下来,Fast R-CNN通过在测试时敞开其中一个来别离钻研RPN的cls和reg输入的作用。当在测试时删除cls层(因而不应用NMS/排名)时,Fast R-CNN从未评分区域随机抽取N个提案。当N=1000时,mAP简直没有变动(55.8%),但当N=100时,mAP显著降落至44.6%。这表明cls分数阐明了排名最高的提案的准确性。

另一方面,当reg层在测试时被移除(因而提案成为锚定框)时,mAP降落到52.1%。这表明,高质量的提案次要是因为回归框界线。锚箱尽管具备多个刻度和纵横比,但不足以进行准确检测。试验还评估了更弱小的网络对RPN提案品质的影响。试验应用VGG-16来训练RPN,并且依然应用上述SS+ZF检测器。mAP从56.8%(应用RPN+ZF)进步到59.2%(应用RPN+VGG)。这是一个有心愿的后果,因为它表明RPN+VGG的提案品质优于RPN+ZF。因为RPN+ZF的提案与SS具备竞争性(当继续用于培训和测试时,两者均为58.7%),能够预期RPN+VGG优于SS。以下试验证实了这一假如。VGG-16的性能。

表3显示了VGG-16的倡议和检测后果。应用RPN+VGG,非共享个性的后果为68.5%,略高于SS基线。如上所示,这是因为RPN+VGG生成的提案比SS更精确。与预约义的SS不同,RPN通过踊跃培训,并受害于更好的网络。对于性能共享变体,后果是69.9%,比弱小的SS基线要好,但简直没有老本。试验进一步在PASCAL VOC 2007 trainval和2012 trainval的联结集上训练RPN和检测网络。mAP为73.2%。图5显示了PASCAL VOC 2007测试集的一些后果。

在PASCAL VOC 2012测试集(表4)上,faster-RCNN的办法在VOC 2007 trainval+测试和VOC 2012 trainval的联结集上训练了70.4%的映射。表6和表7显示了具体的数据。

在表5中,试验总结了整个指标检测零碎的运行工夫。SS须要1-2秒,具体取决于内容(均匀约1.5秒),而带有VGG-16的Fast R-CNN在2000个SS提案上须要320ms(如果在齐全连贯的层上应用SVD,则须要223ms[2])。试验应用VGG-16的零碎在倡议和检测方面总共须要198ms。共享卷积个性后,仅RPN就只需10ms即可计算额定的层。因为提案较少(每张图片300个),区域计算也较低。Faster RCNN零碎在ZF网络上的帧速率为17 fps。 

相比FAST R-CNN,次要两处不同:
(1)应用RPN(Region Proposal Network)代替原来的Selective Search办法产生候选窗口;
(2)产生候选窗口的CNN和指标检测的CNN共享 次要奉献:提出了区域举荐网络(RPN,Region Proposal Networks),实现了真正意义上的端到端训练。

RPN网络:
在提取特色的最初的卷积层上滑动一遍,利用anchor机制和边框回归,失去多尺度多长宽比的region proposals。

Anchor机制:

  对于提取特色的最初的卷积层的每一个地位,思考9个可能的候选窗口:三种面积(128128,256256,512512) 三种比例(1:1,1:2,2:1)。这些候选窗口称为anchors。