教学参考-21

来自cslt Wiki
跳转至: 导航搜索

教学目标

  • 了解车牌识别的基本流程
  • 了解两种车牌定位方法
  • 了解两种车牌㸝符识别方法


教学内容

什么是车牌识别

  • 车牌识别是应用最广泛的人工智能系统之一,在智能出入库,交通违法抓拍等方面发挥着重要作用。
  • 车牌的印制规范,数字和字母规律性强,识别起来相对容易。然而,在实际应用中,天气情况、环境光线、拍摄角度、车辆速度等因素都会不同程度上降低车牌识别的性能。
  • 车牌识别原则上分为两个步骤:一是车牌定位,在复杂场景中把车牌的位置找出来;二是字符识别,把找到的车牌图像识别成正确的数字和字母串。


车牌定位:图像处理方法

  • 车牌的安装位置相对固定,且底色形状都比较确定。利用这些特征,可以通过图像处理方法定位出车牌位置。
  • 一个典型的车牌定位过程包括:(a)将彩色图片转换成灰度图;(b)对图片做二值化,把像素值设置为0或255;(c)对二值图像做边缘检测,提取出灰度变化的边缘线;(d)通过图像形态学的膨胀和腐蚀操作,获得大块连续封闭区域;(e)定位候选区域;(f)选择最可能的车牌区域。

车牌定位:神经网络方法

  • 基于传统图像处理方法的车牌定位不需要太多训练数据,但容易受到环境干扰,容易出现判断错误。如果有较多的训练数据,可以训练神经网络模型,通常可获得更好的性能。
  • YOLO网络是目前较为流行的目标定位方法。YOLO将整幅图片输入一个卷积神经网络,并对每个位置输出(1)该位置存在某一类目标(如人,汽车等)的可能性;(2)B个包含某一目标(任意类别)的矩形区域。
  • 应用到车牌定位,只需预测一类目标(即车牌)。首先将图片分隔成小块,神经网络预测(1)每个小块中包含车牌的可能性,(2)车牌中心在该小块中的相对位置,(3)以及车牌的大小。预测完成后,保留那些可能包含车牌性的小块,即可定位车牌位置。
  • 基于神经网络的车牌定位环境适应性强,计算速度快,是很多实际系统的首选方法。


字符识别

  • 得到了车牌图像,识别任务就相对简单多了。一种方法是将车牌里的字符分割出来,再训练一个分类器(如神经网络)对每个分割出的字符分别识别。另一种方法是利用循环神经网络的序列建模能力,对车牌图像中的字符串做整体识别。
  • 字符分割可以有多种方法。一种简单方法是看每一个水平位置上,取坚直图像条里有多少个白色像素,或白色像素的比例。这样形成一条白色像素的曲线,曲线位置低的部分就是分割点。
  • 字符分割完成后,可以采用CNN分类器来识别每个分割出的小块。
  • RNN方案是一种端到端识别方案,给定一个车牌图片,直接输出字符序列。这是一个序列到序列的转换过程,类似于语音识别(从声音到文字),看图说话(从图像到文本)。