百度云智峰会Workshop技术干货第5弹 ——飞桨智能交通车牌识别

那些被人工智能改变的生活

 

8月29日下午,在热烈的气氛中,2019百度云智峰会在北京顺利举办。活动现场,百度开发者中心联手百度云智学院,为开发者及学生们,提供了展示自己的舞台,输出百度沉淀的优质技术。百度开发者中心(developer.baidu.com)专注于为开发者打造一个有温度的技术交流社区,一直伴随着中国开发者的成长,通过分享知识、交流。自成立以来,坚持为广大开发者提供优质服务。百度云智学院(abcxueyuan.baidu.com)作为百度对外知识赋能的平台,依托百度ABC战略,整合内外部优质教育培训资源,定义满足产业需求的人才标准和培训体系,以“AI引领未来,茁壮科技人才”为使命,致力于为ABC时代的人才培养、技术分享等问题提供全新的解决思路。

 

为了帮助大家更好地理解Workshop中亮相的6大技术,我们特将技术内容进行梳理总结,出品6篇技术干货文章,在近期于百度开发者中心公众号(ID:baidudev)上逐一分享给大家,请大家持续关注。以下是第五期内容《飞桨智能交通车牌识别》。

 

2019年已经快过去了,人工智能的话题仿佛已经被人忘记在了角落,大家开始谈论的是5G,是物联网,是游戏和电商。

 

图1 2017年至今几个关键技术的百度指数

 

我们已经经历了几个人工智能爆发的大型事件,之前所造成的影响力仿佛要被新的热点所取代了,但是正向当年的云计算和大数据刚刚开始兴起大家的兴起的时候,现在的云计算已经真正的变成了基础建设,像砖,沙子和水泥一样影响着各种高科技产业。

 

图2 几个人工智能技术的关键点

 

新型的技术已经让人们习以为常,有些技术和应用在被大家使用习惯以后,就仿佛大家已经使用的理所当然了。

 

 

目前的大家生活中的每一方面都或多或少的使用了人工智能相关的领域的技术,搜索引擎,语音文本,机器人,甚至现在的物联网技术中,人工智能都是占到很大的比例。

 

其中开车的朋友们最常见到的应该就是智能导航和进出各种地方的车牌识别了。

 

车牌识别是怎样的一种技术实现方法呢?我们可以通过一个实验告诉大家,来百度云智学院在线实验平台,和我们一起看看

 

地址:https://dwz.cn/vJpnSEBf

 

该实验需要实验点数:请微信联系云智小助手:bdyunzhi

 

我们将使用PaddlePaddle来构建一个faster-rcnn网络,实现不同果蔬的检测。 让我们一步步跟随内容完成训练,加深对faster-rcnn 算法理论内容的理解并串联各个知识点,收获对物体检测的整体把握吧!

 

你将学会

  • 什么是物体检测
  • 物体检测有哪些方法
  • pascalvoc数据集的构成
  • coco 数据集的构成
  • 如何用paddle搭建faster-rcnn网络
  • 如何利用利用faster-rcnn算法实现物体检测

 

随着人们物质生活水平的提高,去大型商场购物已经成为生活中不可或缺的一部分。每逢节假日,购物的人数就会大量增加,以此造成了排队结账等诸多困扰。如果此时能有无人售货装置,则会节省大量时间,本次实验就是以此为背景,通过目标检测算法来实现不同蔬菜水果的检测,后续再配上计价环节,就可以实现无人售货等功能。

 

 

 - 物体检测及发展

2.1 - 什么是物体检测?

计算机视觉是深度学习技术最早实现突破性成就的领域。随着2012年深度学习算法AlexNet赢得图像分类比赛冠军,深度学习开始受到学术界广泛的关注。计算机视觉主要有5大任务:

  • 图像分类(Image Classification)
  • 物体检测(Object Dection)
  • 目标跟踪
  • 语义分割(Semantic Segmentation)
  • 实例分割

[参考链接]:https://www.tinymind.cn/articles/120

除了这5大任务之外,还有一些其他任务,比如图像生成、图像标注、风格迁移、视频处理等。 下图列出了常见CV任务的对比:

 

 

物体检测是计算机视觉中的经典问题之一,其任务是用框去标出图像中物体的位置,并给出物体的类别。从传统的人工设计特征加浅层分类器的框架,到基于深度学习的端到端的检测框架,物体检测一步步变得愈加成熟。

 

2.2 - 物体检测算法的发展

物体检测算法的演变分为两个阶段:

  • 一个就是基于传统特征的解决方法;
  • 另外一个就是深度学习算法。

 

在2013年之前主流检测算法是传统的特征优化检测方法。但是,在2013年之后,整个学术界和工业界都逐渐利用深度学习来做检测。

  • 基于深度学习的早期的物体检测,大都使用滑动窗口的方式进行窗口提取,这种方式本质是穷举法 R-CNN。后来提出Selective Search 等区域窗口提取算法,对于给定的图像,不需要再使用一个滑动窗口进行图像扫描,而是采用某种方式“提取”出一些候选窗口,在获得对待检测目标可接受的召回率的前提下,候选窗口的数量可以控制在几千个或者几百个。

 

 

  • 后来,又出现了SPP,其主要思想是去掉了原始图像上的crop/warp等操作,换成了在卷积特征上的空间金字塔池化层。那么为什么要引入SPP层呢?其实主要原因是CNN的全连接层要求输入图片是大小一致的,而实际中的输入图片往往大小不一,如果直接缩放到同一尺寸,很可能有的物体会充满整个图片,而有的物体可能只能占到图片的一角。SPP对整图提取固定维度的特征,首先把图片均分成4份,每份提取相同维度的特征,再把图片均分为16份,以此类推。可以看出,无论图片大小如何,提取出来的维度数据都是一致的,这样就可以统一送至全连接层。

 

 

  • 实际上,尽管R-CNN 和SPP在检测方面有了较大的进步,但是其带来的重复计算问题让人头疼,而 Fast R-CNN 的出现正是为了解决这些问题。 Fast R-CNN使用一个简化的SPP层 —— RoI(Region of Interesting) Pooling层,其操作与SPP类似,同时它的训练和测试是不再分多步,不再需要额外的硬盘来存储中间层的特征,梯度也能够通过RoI Pooling层直接传播。Fast R-CNN还使用SVD分解全连接层的参数矩阵,压缩为两个规模小很多的全连接层。

 

 

  • Fast R-CNN使用Selective Search来进行区域提取,速度依然不够快。Faster R-CNN则直接利用RPN (Region Proposal Networks)网络来计算候选框。RPN以一张任意大小的图片为输入,输出一批矩形区域,每个区域对应一个目标分数和位置信息。从 R-CNN 到 Faster R-CNN ,这是一个化零为整的过程,其之所以能够成功,一方面得益于CNN强大的非线性建模能力,能够学习出契合各种不同子任务的特征,另一方面也是因为人们认识和思考检测问题的角度在不断发生改变,打破旧有滑动窗口的框架,将检测看成一个回归问题,不同任务之间的耦合。

 

 

  • 除了R-CNN、Fast R-CNN 和 Faster R-CNN等两阶段检测算法外,还有YOLO 、SSD 等一阶段检测算法——将物体检测看作一个回归问题。

 

剩下的部分,内容还很多,限于篇幅限制,请大家申请云智学院的实验账号后,在实验里体验下。

收藏 评论(0)
分享到: