Generative Shape Models: Joint Text Recognition and Segmentation with Very Little Training Data
(生成形状模型:使用非常少的训练数据进行联合文本识别和分割)
摘要:我们证明了物体形状的生成式模型可以在具有挑战性的场景文本识别任务中实现最先进的结果,并且训练图像的数量级少于竞争判别方法所需的数量级。除了从具有挑战性的图像转录文本外,我们的方法还可以对字符进行细粒度的实例分割。我们表明,与以前的方法相比,我们的模型对于仿射变换和非仿射变形都更加稳健。
1.简介
经典光学字符识别(OCR)工具专注于从精心准备的扫描文档中读取文本。当用于从现实世界场景的图像中读取文本时,它们表现不佳[1]。场景文本在字体,外观和变形方面表现出非常强烈的变化,并且图像质量可以通过许多因素降低,包括噪声,模糊,光照变化和结构化背景。图1显示了来自两个主要场景文本数据集的一些代表性图像:国际文档分析和识别会议(ICDAR)2013和街景文本(SVT)。
图1:现实世界场景中的文本示例:ICDAR 2013(左两列)和SVT(右两列)。 与处理精心准备的扫描文档的经典OCR不同,由于字体,背景,外观和失真的强烈变化,场景文本识别很困难。
尽管存在这些挑战,但机器学习和计算机视觉社区最近,也表现出了对开发用于场景文本识别的新方法的兴趣。这是由许多潜在的应用驱动的,例如机器人控制和增强现实的场景理解,自动驾驶的路标读取和大规模图像搜索的图像特征提取。在本文中,我们提出了一种强大的场景文本识别的新方法。具体来说,我们研究了包含单个单词的裁剪图像中的文本识别问题,这通常是一些文本定位方法的输出(参见[2]对此进行全面审查)
我们最主要的贡献就是提出了一种新颖的生成式形状模型,它具有强大的泛化能力。与之前许多基于判别模型并需要在数百万真实图像上训练的方法不同,我们的生成式模型仅需要数百个训练图像,但仍然有效地捕获仿射变换和非仿射变形。为了应对真实场景中字体的强烈变化,我们还提出了一种从大型字体数据库中选择代表性字体的贪心算法。最后,我们介绍了一个使用结构化输出学习训练的单词解析模型。
我们评估了我们在ICDAR 2013和SVT上的方法,并且尽管使用了几个数量级的训练数据,但仍获得了最先进的性能。我们的结果表明,这不是依靠大量的监督来训练的一个判别模型,而是使用适当编码的不变性对整齐字体进行训练的生成式模型,它能很好地概括了自然图像中的文本并且更易于解释。
2相关工作
我们只考虑用英语识别场景文本的文献。解决这个问题有两种范例:字符检测后面接着是单词解析,或者是同时进行字符检测和单词解析。
字符检测后跟单词解析是比较流行的范例。本质上,字符检测方法首先找到候选字符,然后解析模型通过优化某些目标函数来搜索真实的字符序列。遵循此范例的许多先前工作在检测和解析方法上有所不同。
字符检测方法可以是基于块的,也可以是自下而上的。基于块的检测首先使用过分割(over-segmentation)[3]或笔划宽度变换(stroke width transformation )[4]找到(最有希望)单个字符的部分,然后在每个块上运行字符分类器。自下而上检测首先使用设置好的或是学习到的特征创建图像级表示,然后通过聚合(aggregating)图像级别(image-level)证据并在每个像素处搜索强激活(strong activations)来查找字符实例。
许多不同的表征方式已经被提出,如Strokelets [5],卷积神经网络[6],基于区域的特征[7],树状结构可变形模型[8]和简单形状模板[9]。基于块和自下而上特征字符检测,它们两个都具有缺陷的定位(flawed localization),因为它们无法提供字符的准确分割边界。
与检测不同,文章中的单词解析方法往往非常相似。它们通常是一个序列模型,并且利用单个字符以及相邻候选字符的属性去解决问题。它们在模型顺序和推理技术上有所不同。例如,[10]将该问题视为贝叶斯推理框架中的高阶马尔可夫模型。 [8,11,4]也使用了经典的成对条件随机场,并且使用消息传递[11]和动态规划[8,4]进行推理。因为了解到(pairwise)成对模型不能像高阶字符(high-order character n-gram)n-gram 那样编码有用的特性,[3]提出了一种基于块(patch)的序列模型,该模型可编码最多4阶字符n-gram并应用光束(beam)搜索来解决它。
(ps:N-gram模型是一种语言模型(Language Model,LM),语言模型是一个基于概率的判别模型,它的输入是一句话(单词的顺序序列),输出是这句话的概率,即这些单词的联合概率(joint probability)。)
第二种范例是同时字符检测和单词解析,在没有用于检测字符的明确(explicit)步骤的情况下读取文本。例如,[12]提出了一个图形模型,它一起构造(model)了字符的属性、位置、类别以及它们构成的单词的语言一致性。使用加权有限状态传感器(weighted finite-state transducers)(WFST)进行推理。[13]采取了截然不同的方法:他们使用大约90k字的词汇表(lexicon)来合成(synthesize)大约800万个文本图像,用于训练CNN,预测每个独立位置的字符。这种“一体化”方法的主要缺点是弱不变性和不充分的健壮性,因为任何属性的改变(比如字符之间的间隔)可能导致系统由于过度拟合训练数据而预测失败。
3模型
我们的方法遵循第一个检测解析范例。首先,使用在清洁字符图像(就是没有背景干扰,字体工整)上训练我们的新型生成式形状模型(novel generative shape model)用来检测候选字符。其次,解析模型用于推断真实的单词,并且使用最大边距结构化输出学习(max-margin structured output learning)来训练该解析器(parser)。
3.1字体的生成式形状模型( Generative Shape Model )
与许多视觉问题不同(比如那些区分狗与猫的问题,这种问题里有许多局部辨别特征可以提供信息),在真实场景中的文本,往往使用某些不容易通过局部特征区分的字体,。例如,“O”底部的曲线“^”也存在于“G”,“U”和“Q”中。这种特殊结构“`”可以在“B”,“E”,“F”,“H”,“P”和“R”中找到。
如果没有全局结构感知,局部特征的简单积累(naive accumulation)很容易导致在存在噪声或字符紧密排列时的错误检测。我们的目标是建立一个专门考虑全局结构的模型,即整个字体形状。我们的模型是生成式的,因此在测试期间我们获得分割和分类,并且由于更好的解释,使得最终的单词解析更容易。
模型构建
在训练期间,我们从干净的字体图像构建图形表征,如图2所示。由于我们主要关心形状,基本的图像级特征表示仅依赖于边缘,使我们的模型不变于外观,如颜色和质地。具体来说,给定一个干净的字体图像,我们使用16个定向滤波器来检测边缘,然后是局部抑制,每个像素最多保持一个边缘方向活动(图2a)。然后,通过一次选择一个边缘,抑制固定半径内的任何其他边缘来生成式“地标”特征(landmark),并重复(图2b)。(所谓“地标”就是选了个代表,我一个点就代表这个区域的线段)
然后,我们以每个地标点为中心创建池变量,以便它能在地标周围的池化范围内(pooling window)中进行转化(图2b)。为了协调相邻地标点之间的池选择(根据字母的形状选),我们在位于相同边缘轮廓上的相邻池对之间添加“横向约束”(图2c中的蓝色虚线)。所有横向约束都是弹性的,允许一定程度的仿射和非仿射变形。这允许我们的模型推广到在真实图像中观察到的不同变化,例如噪声,变化,模糊等。除了轮廓横向,我们在远距离像素对之间添加横向约束(图2c中的红色虚线)以进一步约束此模型可以表示的形状。这些远距离横向,从最短到最长使用贪心算法添加。在成对特征点之间,当前约束可以允许变形超过,刚才添加直的接约束(通常γ≈3)所允许变形的γ倍。
形式上,我们的模型可以被视为图2d中所示的因子图(因子图在概率图模型中经常使用)。以地标特征为中心的每个池变量被认为是随机变量,并且与对应于地标特征的变换的一元因子(unarg factor)相关联。每个横向约束是成对因子。当在推理和实例检测中找到匹配的特征时,一元因子给出正得分。
成对因子用单个扰动半径参数去参数化,该参数被定义为相邻池中特征的相对位置的最大允许变化。该扰动半径禁止极端变形,如果违反该横向约束则给出−∞对数概率。在测试期间,每个随机变量的状态空间是池化窗口(pooling window),并且不允许违反横向约束。
在训练期间,该模型构建过程独立地对所有字母图像执行,并且每个字母以多种字体呈现。
推理和实例检测
可以认为字母模型在所有变换中平铺(tile)输入图像。给定测试图像,通过前向传递和后向传递这两个步骤,找到所有候选字符实例。
前向传递是自下而上的过程,其收集来自测试图像的证据,以计算每个像素位置处的形状模型的边缘分布,类似于激活的热图(heatmap)(通过热图可以简单地聚合大量数据,并使用一种渐进的色带来优雅地表现,直观地展现空间数据的疏密程度或频率高低)。
为了加速计算,我们将图形(图2c)简化为最小生成树,边缘权重等于特征之间的像素距离。而且,我们让池化窗口与整个图像一样大,以避免扫描过程。通过单次迭代的置信传播,可以精确快速地计算树中的边缘。在非最大抑制之后,选择具有最强激活的几个位置用于回溯。这个过程一定会高估原始循环图形模型(loopy graphical model,)中的真实边缘,因此这个前向传递允许一些误报。当图像具有紧密的字符布局或突出的纹理或背景时,这种误报更常发生。
给定字符实例的估计位置,在原始循环图中执行回溯以进一步减少误报,并输出测试图像中每个实例的分段(segmentation)(通过连接“地标”)。回溯过程选择单个地标特征,将其位置约束到其前向过程的边缘的其中局部最大值上,然后在完整循环图中执行MAP推断以估计模型中所有其他地标的位置,这提供了分段。因为这种推断比前向传递更准确,所以在回溯后可以把附加的失误消除掉。
无论是在前向还是在后向传递中,使用经典的循环信念传播(loopy belief propagation )就足够了。
字体模型的贪心选择(贪心算法)
场景文本阅读中的一个挑战就是真实世界图像中字体会发生巨大变化。对所有字体进行训练是不可行的,因为它的计算成本太高且冗余(redundant)。我们采用自动并且是贪心的字体选择方法。简而言之,对于某些字母,我们提供所有字体的图像,然后使用生成(resulting )的图像来训练形状模型。训练之后,测试这个形状模型使用的是其他给定的图像,从而产生相同字母的每对字体之间的兼容性分数(匹配上的“地标”特征的数量)。如果一种字体的兼容性分数大于给定阈值(= 0.8),则认为另一种字体可由另一种字体表示。对于每个字母,我们找到并保留可以代表大多数其他字体的那种字体,并在字体候选集中将它以及它所代表的所有字体一起删除。重复此选择过程,直到表示所有字体的90%。通常,剩下的10%字体是非典型的,在真实场景中很少见。(是从候选集中删除,不用做冷板凳了,被选中了)
3.2使用结构化输出学习的单词分析
解析模型
1我们的生成形状模型在所有字体图像上独立训练。因此,在解析之前不执行解释。形状模型显示出高不变性和灵敏度,产生了包含许多误报的候选字母的丰富列表。例如,字母“E”的图像也可以触发以下内容:“F”,“I”,“L”和“c”。单词解析是指从候选字母列表中推断出真正的单词。
我们的解析模型可以表示为图3中的高阶因子图。首先,我们在候选字母和它右侧一段距离内的每个候选字母之间建立假设边连接。创建两个伪(pseudo)字母“*”和“#”,分别表示图的开始和结束。从“开始”节点到所有可能的头部字母(head letters)创建边缘,同样的,从“结束”节点到所有可能的尾部字母(tail letter)创建边缘。每个边被认为是一个二进制随机变量,如果被激活,则表示来自真实单词中的一对相邻字母。我们定义了四种类型的因子。
过渡因子(绿色,一元unary)描述一对假设相邻字母对为真的可能性。
平滑因子(蓝色,成对pairwise)描述连续(consecutive)字母三元组的可能性。添加了两个附加因子作为约束以确保有效输出。
一致性因子(红色,高阶high-order)确保如果任何候选字母具有激活的内边缘,则它必须具有一个激活的外边缘。这有时被称为“流量一致性”。
最后,为了满足单个单词约束,添加单因素因子(紫色,高阶high-order),使得必须存在来自“开始”的单个激活边缘。这些因素的例子如图3所示。
在数学上,假设提供了因子的潜力(),在解析因子图中推断随机变量的状态等同于解决以下优化问题。
参数学习
为了学习直接映射解析因子图的输入—输出依赖性的最佳权重向量,我们使用了最大边际结构化输出学习范例(maximum-margin structured output learning paradigm)[14]。
简而言之,“最大边际结构化输出学习”试图通过最大化真实值(ground truth)解决方案的兼容性得分与第二好的解决方案的兼容性得分之间的差距,来学习结构化输入和输出之间的直接功能依赖性。它是经典支持向量机(SVM)范例的扩展。通常,兼容性得分是一些所谓的联合特征向量(即解析特征)和要学习的特征权重(即wT和wS)的线性函数。我们设计了18个解析特征,包括单个候选字母的得分,假设的邻近对之间的颜色一致性的得分,假设的连续三元组的对齐的得分,以及到达三阶的字符n-grams的得分。最后进行Re-ranking,使用来自维基百科的统计词频率,对来自二阶的最高得分词的维特比算法(Viterbi algorithm)进行Re-ranking(好像是行人重识别的一种方法)。
4实验
4.1数据集
ICDAR
ICDAR(“文件分析和识别国际会议”)是一个关于文本识别的一年二度的比赛。ICDAR 2013健壮(robust)阅读比赛旨在比较场景文本识别方法[1]。与网络上使用的数字生成图像不同,由于不受控制的环境和成像条件导致字体,模糊,噪声,失真,不均匀外观和背景结构的强烈变化,现实世界图像识别更具挑战性。我们研究了两个数据集:ICDAR 2013分段数据集和ICDAR 2013识别数据集。在这个实验中,我们只考虑字母,忽略标点符号和数字。所有测试图像都被裁剪,每个图像只包含一个单词,请参见图1中的示例。
SVT
街景文本(SVT)数据集[15]是从Google街景中收集的。该数据集中的图像文本具有高可变性并且通常具有低分辨率。 SVT提供了一个小词典,用于词典驱动的单词识别。在我们的实验中,我们没有将设置限制为给定的小词典,而是使用一般的大型英语词典。 SVT不包含字母以外的符号。
4.2模型训练
训练生成形状模型
为了确保足够的字体覆盖,我们从谷歌字体库1(Google Fonts1)中获得了492种字体。手写字体选择是有偏差和不准确的,并且训练所有字体是不可行的(492种字体乘以52个字母给出25584个训练图像)。在针对所有字母提出贪心的字体选择过程之后,我们总共保留了776个独特的训练图像(如果我们将训练所有字母的所有字体,则相当于3%的压缩率)。图4分别显示了字母“a”和“A”的所选字体。
训练单词解析模型
使用监督方式来训练“结构化输出预测模型”是昂贵的,因为每个训练样本由许多随机变量组成,并且每个随机变量的状态必须被注释(即整个解析路径)。我们使用ICDAR 2013 Segmentation数据集[1]自动为我们的解析模型准备训练数据,该数据集[1]提供场景文本的每个字符分段。简而言之,我们首先检测字符并为每个图像构建解析图。然后,我们通过将检测到的字符与真实(ground truth)分割相匹配,找到解析图中的真实路径(即一系列激活的随机变量)。总的来说,我们使用630个图像来训练使用PyStruct2的解析器(parser)。
形状模型不变性研究
我们通过测试训练图像的变换来研究模型的不变性。我们考虑了缩放和旋转。对于前者,当缩放率在130%和70%之间变化时,我们的模型执行稳健拟合。对于后者,稳健拟合的角度在-20和+20度之间。
4.3结果与比较
字符检测
我们首先在ICDAR 2013 Segmentation数据集上测试了我们的形状模型。由于这是预解析(pre-parsing)并且没有执行解释(explaining-away),我们特别寻找高召回率(we specifically looked for high recall)。
只有当字母种类匹配并且它们两个的分割掩码(mask)高度重叠≥0.8IoU(交叉结合intersection-over-union)时,才会将检测到的字母和真正的分段(segmented)字母视为匹配。根据从Google字体中选择的字体进行培训,我们获得了非常高的95.0%的召回率(recall),这比数据集上报告最佳的方法明显优于68.7%[1]。这归因于我们的模型中从横向约束中编码的高不变性。该模型的生成性质提供了完整的分割和分类,而不仅仅是字母分类(正如大多数判别模型所做的那样)。图5显示了我们的模型检测到的一些字母实例。它们在字体和外观上表现出很强的差异。请注意,我们有两个比例(×1,×2)
单词解析
我们在ICDAR 2013健壮阅读比赛中将我们的方法与表现最佳的方法进行了比较。结果见表4.3。我们的模型比Google的PhotoOCR [3]表现更好,高了2.3%。然而,更重要的信息是我们只使用少量的训练数据来实现这一结果:1406个总图像(用于训练形状模型的776个字母字体图像和用于训练解析器的630个单词图像)而不是PhotoOCR的500万个。以上两个主要成果都归因于我们的高数据利用率。首先,考虑到字符检测,我们的模型在实践中表现出强烈的泛化。像PhotoOCR那样的数据密集型模型强加了较弱的结构先验,还需要更多的监督。其次,考虑到单词解析,我们的生成模型一起解决了识别和分割,允许使用高度准确的解析功能。另一方面,PhotoOCR的基于神经网络的字符分类器无法生成准确的字符分割边界,从而使解析质量受到限制。我们对SVT数据集的观察是相似的:使用完全相同的训练数据,我们获得了最先进的80.7%的准确度。请注意,我们实验中的所有报告结果都区分大小写。图6展示了我们针对不寻常字体,噪声,模糊和干扰性背景的方法的稳健性。
4.4进一步分析和讨论
失效案例分析
图7显示了我们系统(左)和PhotoOCR(右)的一些典型失效情况。当图像被噪声,模糊,过度曝光或手写文本严重损坏(corrupt)时,我们的系统会失效。但是PhotoOCR在一些易于阅读的干净图像上也会失败(不忘黑别人一下)。这反映了数据密集型模型的有限泛化,因为增加更多的训练数据的效果会逐渐减少(diminishing)。这种比较还表明我们的方法更具解释性:我们可以通过查看覆盖在原始图像上的字母分割边界来快速找出失败原因。例如,过度曝光和模糊导致边缘特征失败,从而使形状模型失效。相反,解释为什么像PhotoOCR这样的判别模型在某些情况下失败并不是那么简单,如图7所示。
语言模型
在我们的实验中,语言模型扮演两个角色:解析过程(字符n-gram特征)和re-ranking过程(单词级别特征)。理想情况下,完美的感知系统应该能够识别ICDAR中的大多数文本而无需语言模型。我们在实验中关闭了语言模型,观察到性能大约下降15%。
在相同的配置下,PhotoOCR性能下降超过40%。这是因为PhotoOCR的“核心识别模型”只是对场景的粗略(coarse)理解,如果没有我们的“生成形状模型”提供的高质量字符分割,解析就会很困难。
与其他方法的关系
在这里,我们讨论我们的形状模型和两个非常流行的视觉模型之间的联系和差异:可变形零件模型deformable parts models(DPM)[17]和卷积神经网络 convolutional neural networks(CNN)[18]。首先,与DPM和CNN都是有区别的:我们的模型是生成性的。只有我们的模型才能生成分割边界而无需任何额外的临时处理。其次,CNN不对任何全局形状结构进行建模,仅依赖于局部判别特征(通常以分层方式)来执行分类。
DPM考虑了某种程度的全局结构,因为部件的相对位置以星形或树形结构编码。我们的模型通过使用短的和长的横向约束强加了更强的全局结构。第三,在模型推理期间,CNN和DPM都只执行前向传递,而我们执行反向跟踪以进行精确分割。最后,关于不变性和泛化,我们使用横向约束中的扰动半径直接将不变性编码到模型中。这被证明在捕获各种变形方面非常有效,同时仍保持整体形状的稳定性。 DPM和CNN都不直接编码不变性,而是依靠大量数据来学习模型参数。
5结论和展望
本文提出了一种新的场景文本识别生成形状模型。与使用结构化输出学习训练的解析器一起,所提出的方法在ICDAR和SVT数据集上实现了最先进的性能,并且使用的训练图像数量级比许多纯粹的判别模型要少。本文证明,最好以横向约束的形式直接编码不变性和变形先验。遵循这一原则,即使像我们这样的非等级模型也可以胜过深度判别模型。
将来,我们有兴趣将我们的模型扩展到具有可重用功能的分层版本。我们还有兴趣进一步改进解析模型,以解决由于模糊和过度曝光而导致的缺失边缘证据。
参考
[1] Dimosthenis Karatzas, Faisal Shafait, Seiichi Uchida, Mikio Iwamura, Lluis Gomez i Bigorda, Sergi Robles Mestre, Jordi Mas, David Fernandez Mota, Jon Almazan Almazan, and Lluis-Pere de las Heras. Icdar 2013 robust reading competition. In Document Analysis and Recognition (ICDAR), 2013 12th International Conference on, pages 1484–1493. IEEE, 2013.
[2] Qixiang Ye and David Doermann. Text detection and recognition in imagery: A survey. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 37(7):1480–1500, 2015.
[3] Alessandro Bissacco, Mark Cummins, Yuval Netzer, and Hartmut Neven. Photoocr: Reading text in uncontrolled conditions. In Proceedings of the IEEE International Conference on Computer Vision, pages 785–792, 2013.
[4] Lukas Neumann and Jiri Matas. Scene text localization and recognition with oriented stroke detection. In Proceedings of the IEEE International Conference on Computer Vision, pages 97–104, 2013.
[5] Cong Yao, Xiang Bai, Baoguang Shi, and Wenyu Liu. Strokelets: A learned multi-scale representation for scene text recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4042–4049, 2014.
[6] Adam Coates, Blake Carpenter, Carl Case, Sanjeev Satheesh, Bipin Suresh, Tao Wang, David J Wu, and Andrew Y Ng. Text detection and character recognition in scene images with unsupervised feature learning. In Document Analysis and Recognition (ICDAR), 2011 International Conference on, pages 440–445. IEEE, 2011.
[7] Chen-Yu Lee, Anurag Bhardwaj, Wei Di, Vignesh Jagadeesh, and Robinson Piramuthu. Region-based discriminative feature pooling for scene text recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4050–4057, 2014.
[8] Cunzhao Shi, Chunheng Wang, Baihua Xiao, Yang Zhang, Song Gao, and Zhong Zhang. Scene text recognition using part-based tree-structured character detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2961–2968, 2013.
[9] James M Coughlan and Sabino J Ferreira. Finding deformable shapes using loopy belief propagation. In European Conference on Computer Vision, pages 453–468. Springer, 2002.
[10] Jerod J Weinman, Erik Learned-Miller, and Allen R Hanson. Scene text recognition using similarity and a lexicon with sparse belief propagation. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 31(10):1733–1746, 2009.
[11] Anand Mishra, Karteek Alahari, and CV Jawahar. Top-down and bottom-up cues for scene text recognition. In Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on, pages 2687–2694.IEEE, 2012.
[12] Tatiana Novikova, Olga Barinova, Pushmeet Kohli, and Victor Lempitsky. Large-lexicon attributeconsistent text recognition in natural images. In Computer Vision–ECCV 2012, pages 752–765. Springer,2012.
[13] Max Jaderberg, Karen Simonyan, Andrea Vedaldi, and Andrew Zisserman. Synthetic data and artificial neural networks for natural scene text recognition. arXiv preprint arXiv:1406.2227, 2014.
[14] Ioannis Tsochantaridis, Thomas Hofmann, Thorsten Joachims, and Yasemin Altun. Support vector machine learning for interdependent and structured output spaces. In Proceedings of the twenty-first international conference on Machine learning, page 104. ACM, 2004.
[15] Kai Wang and Serge Belongie. Word spotting in the wild. Computer Vision–ECCV 2010, pages 591–604,2010.
[16] Max Jaderberg, Karen Simonyan, Andrea Vedaldi, and Andrew Zisserman. Deep structured output learning for unconstrained text recognition. arXiv preprint arXiv:1412.5903, 2014.
[17] Pedro Felzenszwalb, David McAllester, and Deva Ramanan. A discriminatively trained, multiscale, deformable part model. In Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on, pages 1–8. IEEE, 2008.
[18] Yann LeCun, Leon Bottou, Yoshua Bengio, and Patrick Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11):2278–2324, 1998.