Intel论文揭示自家车牌识别算法:LPRNet

来自工业界的最佳实践。
车牌识别是一个老生常谈的话题,在工业界已经得到广泛应用。当深度学习在各种视觉识别任务上刷新更高精度的时候,却常常被认为计算量远大于传统方法。Intel公司俄罗斯IOTG计算机视觉组的工程师最近发布了一篇论文,揭示了自家已经商用的车牌识别算法,使用轻量级深度神经网络进行车牌识别,达到快准狠的新高度,即速度超快、精度超准、硬件利用率超狠。
本文来自于论文《LPRNet: License Plate Recognition via Deep Neural Networks》。

文章的的第一作者已经离开Intel,这篇论文是他们17年的工作,通过Linkedin得知,两位作者来自Intel收购的Itseez公司,也就是之前维护OpenCV的俄罗斯公司。
该文提出了LPRNet – 自动车牌识别的end-to-end方法,识别之前无需进行初步的字符分割。该方法使用了深度神经网络,能够实时运算,在中国车牌识别准确度上高达95%,速度上在nVIDIA GeForce GTX 1080显卡运算每个车牌3ms,在英特尔酷睿i7-6700K上每个车牌1.3ms。LPRNet由轻量级卷积神经网络组成,因此可以端到端的方式进行训练。论文称,LPRNet是第一个不使用RNN的实时车牌识别系统。因为速度快,LPRNet算法可用于自动车牌识别的嵌入式解决方案,即使在具有挑战性的中国车牌上也具有高精度。
需要说明的是,LPRNet解决的是识别的问题,文中车牌检测使用的是LBP-cascade。

LPRNet特性
1.实时、高精度、支持车牌字符变长、无需字符分割、对不同国家支持从零开始end-to-end的训练;
2.第一个不需要使用RNN的足够轻量级的网络,可以运行在各种平台,包括嵌入式设备;
3.鲁棒,LPRNet已经应用于真实的交通监控场景,事实证明它可以鲁棒地应对各种困难情况,包括透视变换、镜头畸变带来的成像失真、强光、视点变换等。

车牌识别的挑战
图像模糊、很差的光线条件、车牌数字的变化(比如中国和日本的车牌有一些特殊字符)、车牌变形、天气影响(比如雨雪天气)、车牌上的字符个数有变化。

空间变换预处理LocNet
这是对检测到的车牌形状上的校正,使用 Spatial Transformer Layer[1],这一步是可选的,但用上可以使得图像更好得被识别。

LPRNet的基础构建模块
LPRNet的基础网络构建模块受启发于SqueezeNet Fire Blocks[2]和Inception Blocks[3],如下图所示。

特征提取骨干网架构
骨干网将原始的RGB图像作为输入,计算得到空间分布的丰富特征。为了利用局部字符的上下文信息,该文使用了宽卷积(1×13 kernel)而没有使用LSTM-based RNN。骨干网络最终的输出,可以被认为是一系列字符的概率,其长度对应于输入图像像素宽度。
由于解码器的输出与目标字符序列长度不同,训练的时候使用了CTC Loss[4],它可以很好的应对不需要字符分割和对齐的end-to-end训练。

为了进一步提高性能,使用了论文[5]中global context嵌入。
推理阶段对上述一系列字符的概率进行解码,使用beam search[6],它可以最大化输出序列的总概率。
后过滤(post-filtering)阶段,使用面向任务的语言模型实现作为目标国家车牌模板的一组集合,后过滤阶段是和beam search 结合一起用的,获得通过beam search找到的前N个最可能序列,返回与预定义模板集合最匹配的第一个序列,该模板取决于特定国家的车牌规则。

识别实验结果
训练时,使用一个来自监控场景的中国车牌的私有库,总共有11696幅经过LBP级联检测器检测出来的车牌,并进行了数据增广(data augmentation)即随机旋转、平移、缩放,下图报告了上述各种tricks对识别精度的影响。

最大的识别精度增益来自于global context(36%),其次是data augmentation(28.6%),STN-based alignment即预处理也带来了显著提高(2.8-5.2%),Beam Search联合post-filtering进一步提高了0.4-0.6%.

识别速度
Intel将LPRNet在CPUGPUFPGA上都进行了实现,每个车牌的识别时间如下:

这里GPU用的是nVIDIA GeForce1080, CPU是Core i7-6700K SkyLake, FPGA是Intel Arria10,推断引擎IE来自Intel OpenVINO.

虽然这篇文章本身没有什么新的发明,但52CV还是认为非常值得推荐给大家的,它绝不属于水文,因为Intel已经将其商用了,足以证明它的优势和价值。

该文没有开源代码,论文地址:
https://arxiv.org/abs/1806.10447v1
在“我爱计算机视觉”公众号后台回复“lprnet”可以直接获取论文的百度网盘下载地址。

参考文献
[1]“Spatial Transformer Networks,”arXiv:1506.02025
[2]“SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5mb model size,”arXiv:1602.07360
[3]“Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning,” arXiv:1602.07261
[4]Connectionist temporal classification:labelling unsegmented sequence data with recurrent neural networks. ICML 2006:369-376
[5]“ParseNet: Looking Wider to See Better,” arXiv:1506.04579
[6]Supervised Sequence Labelling with Recurrent Neural Networks, 2012th ed. Heidelberg ; New York:Springer, Feb. 2012.

转载来源:《快准狠!Intel论文揭示自家车牌识别算法:LPRNet

推荐文章

谷歌AI团队近日推出了一款新型图像标注方式——“流体标注”,即采用机器学习来注释分类标签并勾勒出图片中的每个对象和背景区域。谷歌官方表示其可将标记数据集的速度提高三倍。百度众测平台去年曾发布了5000万元的数据标注任务,而今年预计将达3亿元。面对如此大的市场需求,效率低、交付质量参差不齐的人工标注方式亟待改善。谷歌此次推出的“流体标注”如何为图像标注提速?数据标注——机器感知世界的起点“数据标注是人工智能产业的基础,是机器感知现实世界的起点。从某种程度上来说,没有经过标注的数据就是无用数据。”美国加州科技大学校长秦志刚教授在接受科技日报记者采访时表示,机器识别事物主要通过物体的一些特征。被识别的物体还需要通过数据标注才能让机器知道这个物体是什么。在机器的世界里,图像与语音、视频等一样,是数据的一个种类。近年来,随着数码产品以及存储技术的迅速普及和发展,人们每天都可通过相机、可视电话、监控及医疗设备等制造大量图像。因此,现阶段图像已然成为标注产业发展的重点对象。如果素材是一张人物图像,那么需要标注的信息往往是性别、面部朝向、人种、有无帽子眼镜等,也可以人为地将人物和背景的区域划分开来。将成千上万张经过标注的图片组成的数据集“投喂”给机器,它才能在一张全新的图像中分辨出人物在哪个区域、具有怎样的外貌特征。对于人来说“小儿科”的思考历程,机器却需要大量的标记数据集进行训练。机器学习——缓解人工标注的压力提到人工智能产业,人们往往联想到繁华的城市和干练的IT精英,但实际上,支撑起人工智能的数据标注产业,却是一个劳动密集型产业。百度搜索“数据标注”,会出现很多图片语音视频数据采集、标注公司。随机选择一个此类词条点进去,往往会看到“万人数据标注团队”等类似宣传语。可见人工标注是目前数据标注的主要方式。“谷歌推出的流体标注模型主要利用人工智能学习的基础,对图像数据进行自动标注,对于标注不准确或者出现偏差的地方可以通过人工调整,从而提高标注效率。”秦志刚指出,即便该模型可借助机器学习提升标注速度,但最初还需进行人为地数据标注,为其提供初始训练数据集。事实也正是如此,为了标注图片,谷歌预先以约一千张具有分类标签和信任分数的图片训练了语意分割模型。但该模型尚不完美,谷歌称,物体边界标记问题、界面操作速度以及类别扩展等仍需进一步研究或完善。人工智能——致力于生活中的简单应用虽然还有诸多难题尚待攻克,但以流体标注模型为代表的数据标注新方式无疑顺应着人工智能的大潮流。实际上,自人工智能逐渐走热以来,很多行业都想搭上这个热潮。然而,在灼热的潮流背后,掩藏着一个根本性的问题:人工智能终将走向何方?“人工智能的本质是机器拥有‘学习’的能力,可想而知,人工智能可以极度缩短人类自身的学习时间,从而将人从大规模脑力学习活动中解放出来,去专注于更有价值的工作。”秦志刚表示,虽然人们普遍认为人工智能终将到来,但现阶段人工智能产业仍在云端。目前大多数人工智能的应用只能生存在高性能处理器的大型厂房中,就如同第一代通用计算机ENIAC一样“大而笨重”。“众所周知,随后的几十年内计算机飞速发展到小型的笔记本电脑,功能却比ENIAC更强大。人工智能也当如此”。界面简单、功能友好、毫无相关知识基础的人都能使用并获得舒适感,这是秦志刚设想的人工智能时代。一枚小小的人工智能芯片,可以完成学习、训练、推理等一系列“思考”过程,而它的终端表现则或许只是人们生活中最为常见的简单应用。如下班回家,不需再拿出钥匙开门,智能门锁就像一位尽职的管家,会在第一时间感知你的到来,为你敞开家门。“十年之后,人工智能将会成为主流,潜移默化渗透到生活中的各种角落。别看是小事情,背后却是高密集的技术支撑。”秦志刚表示。“愿景十分美好,但如何将人工智能落地和普及推广?这将是我们下一步亟待攻克的难题。”秦志刚说。

热门文章

简单讲:互联网数据标注员是借助电脑或者移动设备对一些原始的数据进行处理,生产出满足AI公司机器学习需要数据的一群人。按照数据处理对象的不同,工作内容也会有差别,标注员的工作内容可以分为:分类;框选;注释;标记。按照所处公司的不同,标注员的工作方式也会有差别:有的人工智能公司处于对数据安全性考虑会自建标注团队,在这些公司工作的标注员可以保证自己工作内容不会出现太大变动;但一些服务于人工智能公司非专业外包公司标注员的工作则是项目制的,一个项目忙完紧接着做另一个项目,这样工作内容连续性较差,对一种类型的项目经验也不会积累的太多。就目前来说,人工智能还处于人工增长阶段,机器依然需要大量的数据进行训练,测试。标注员在当下也会一直存在,而且从业群体会越来越多,所以暂时不用担心这份职业会不会短期消失。就标注员从业来说,建议选择人工智能公司和专业的数据公司,这样可以保证自己在一个方向上了解的足够深入。就职场晋升来说,以牛牛数据为例:标注员——项目经理——项目总监——数据运营总监。首先谈谈什么是数据标注。数据标注有许多类型,如分类、画框、注释、标记等等,我们会在下面详谈。要理解数据标注,得先理解AI其实是部分替代人的认知功能。回想一下我们是如何学习的,例如我们学习认识苹果,那么就需要有人拿着一个苹果到你面前告诉你,这是一个苹果。然后以后你遇到了苹果,你才知道这玩意儿叫做“苹果”。类比机器学习,我们要教他认识一个苹果,你直接给它一张苹果的图片,它是完全不知道这是个啥玩意的。我们得先有苹果的图片,上面标注着“苹果”两个字,然后机器通过学习了大量的图片中的特征,这时候再给机器任意一张苹果的图片,它就能认出来了。这边可以顺带提一下训练集和测试集的概念。训练集和测试集都是标注过的数据,还是以苹果为例子,假设我们有1000张标注着“苹果”的图片,那么我们可以拿900涨作为训练集,100张作为测试集。机器从900张苹果的图片中学习得到一个模型,然后我们将剩下的100张机器没有见过的图片去给它识别,然后我们就能够得到这个模型的准确率了。想想我们上学的时候,考试的内容总是不会和我们平时的作业一样,也只有这样才能测试出学习的真正效果,这样就不难理解为什么要划分一个测试集了。我们知道机器学习分为有监督学习和无监督学习。无监督学习的效果是不可控的,常常是被用来做探索性的实验。而在实际产品应用中,通常使用的是有监督学习。有监督的机器学习就需要有标注的数据来作为先验经验。在进行数据标注之前,我们首先要对数据进行清洗,得到符合我们要求的数据。数据的清洗包括去除无效的数据、整理成规整的格式等等。具体的数据要求可以和算法人员确认。二、常见的几种数据标注类型1.分类标注:分类标注,就是我们常见的打标签。一般是从既定的标签中选择数据对应的标签,是封闭集合。如下图,一张图就可以有很多分类/标签:成人、女、黄种人、长发等。对于文字,可以标注主语、谓语、宾语,名词动词等。&lt;img src="https://pic2.zhimg.com/50/v2-df93dc0a7e8a5fe387dc3774748b5f05_hd.jpg" data-caption="" data-size="normal" data-rawwidth="700" data-rawheight="400" class="origin_image zh-lightbox-thumb" width="700" data-original="https://pic2.zhimg.com/v2-df93dc0a7e8a5fe387dc3774748b5f05_r.jpg"&gt;适用:文本、图像、语音、视频应用:脸龄识别,情绪识别,性别识别2.标框标注:机器视觉中的标框标注,很容易理解,就是框选要检测的对象。如人脸识别,首先要先把人脸的位置确定下来。行人识别,如下图。&lt;img src="https://pic2.zhimg.com/50/v2-7824903d6d840e2bb08d96b5c2fa5874_hd.jpg" data-caption="" data-size="normal" data-rawwidth="591" data-rawheight="398" class="origin_image zh-lightbox-thumb" width="591" data-original="https://pic2.zhimg.com/v2-7824903d6d840e2bb08d96b5c2fa5874_r.jpg"&gt;适用:图像应用:人脸识别,物品识别3.区域标注:相比于标框标注,区域标注要求更加精确。边缘可以是柔性的。如自动驾驶中的道路识别。&lt;img src="https://pic3.zhimg.com/50/v2-4bc1dd2278182acf94fc426d7e6f2dc1_hd.jpg" data-caption="" data-size="normal" data-rawwidth="601" data-rawheight="377" class="origin_image zh-lightbox-thumb" width="601" data-original="https://pic3.zhimg.com/v2-4bc1dd2278182acf94fc426d7e6f2dc1_r.jpg"&gt;适用:图像应用:自动驾驶4.描点标注:一些对于特征要求细致的应用中常常需要描点标注。人脸识别、骨骼识别等。&lt;img src="https://pic4.zhimg.com/50/v2-5e24f394516c75e45942c37ba0da85c0_hd.jpg" data-caption="" data-size="normal" data-rawwidth="583" data-rawheight="387" class="origin_image zh-lightbox-thumb" width="583" data-original="https://pic4.zhimg.com/v2-5e24f394516c75e45942c37ba0da85c0_r.jpg"&gt;适用:图像应用:人脸识别、骨骼识别5.其他标注:标注的类型除了上面几种常见,还有很多个性化的。根据不同的需求则需要不同的标注。如自动摘要,就需要标注文章的主要观点,这时候的标注严格上就不属于上面的任何一种了。(或则你把它归为分类也是可以的,只是标注主要观点就没有这么客观的标准,如果是标注苹果估计大多数人标注的结果都差不多。)三、有什么发展前途?数据标注员可以说是AI消灭了一部分工作又创造出来的一种工作。在未来AI发展良好的前提下,数据的缺口一定是巨大的。可以预见3-5年内数据标注员的需求会一直存在。至于发展,其实所谓一些熟能生巧的工作,都是有被替代掉的风险的。深度学习解决的一件事情就是熟能生巧。在这个岗位上,其实你的一些想法就代表了AI的想法,AI会根据你标注的数据进行学习,想想还是有点成就感的。数据标注可以说是AI的入门级岗位,未来可转向其他AI岗位。如项目实施顾问等,这就要求更多的工作技能,需要再工作中积累。作者:跹尘链接:https://www.zhihu.com/question/30654399/answer/264828926来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。