原标题:车牌识别算法之CNN卷积神经网络

随着我国经济的发展,汽车,特别是小轿车的数量越来越多,智能交通管理系统应运而生。车牌智能自动识别作为智能交通管理系统中的重要组成部分,在智能交通管理中发挥着越来越重要的作用,其应用非常广泛,在高速公路收费管理、超速违章自动拍照、停车场管理、小区进出车辆管理、交通数据采集等许多系统中都需要识别车牌号码。车牌识别系统中主要采用车牌图像进行识别。基于车牌图像的车牌智能自动识别系统主要由3部分组成:车牌定位、字符分割、字符识别,其中字符识别是最后最关键的步骤。车牌字符的正确识别率直接关系到车牌识别系统的性能,车牌字符识别技术已成为完善智能交通管理系统的关键。

下面我们讲一下车牌识别算法之CNN卷积神经网络:

1 卷积神经网络介绍

CNN是一种多层非全连接的神经网络,主要包括卷积层和采样层,LeNet-5是CNN的经典例子,用于手写体数字字符识别,其网络结构如下

2 基于CNN的车牌字符识别

2.1 基于CNN的车牌字符识别流程

由两部分构成:第一部分,输入训练图像集训练CNN分类模型;第二部分,将待识别的车牌字符图像输入训练好的模型进行识别。

2.2 车牌字符图像预处理

字符原始图像预处理流程如下:

步骤1 将字符彩色图像图 3(a)统一转化为灰度图像(图 3(b));

步骤2 统一图像大小为36×28的二值图像(图 3(c));

步骤3 去除二值图中的噪声点(图 3(d));

步骤4 对二值图进行水平和垂直投影切分,去除边界部分,保留字符部分区域(图 3(e));

步骤5 由于字符“1”的结构特殊性,所以将“1”的图大小调整为28×4,其他字符图像调整为28×20(图 3(f));

步骤6 添加边界,使字符区域居中, 并细化字符。最后得到有边界且字符居中的大小为36×28细化图(图 3(g))。

2.3 识别车牌字符的CNN模型结构

将LeNet-5用于10个手写数字字符识别具有很好的识别性能。车牌字符中除去汉字字符,共有34(10个数字字符,24个字母字符,不含字母O与I)个字符。相比手写数字字符,经过预处理后的车牌字符虽种类更多,但其字符形状结构更简单,同个字符的不同图像样本间差别小。针对车牌字符图像的特点,可以简化LeNet-5的结构,使其既能满足正确识别率要求,又能减少识别时间,因此本文提出一种改进的CNN模型用于识别车牌字符。改进的CNN模型结构如图 4所示。

各层介绍:1) 输入层为字符图像,图像大小为36×28;2) C1层为卷积层,得到4个大小为32×24的特征图,每个卷积核大小为5×5,共用了4个卷积核;3) S2层是采样层,每个C1层的特征图经过下采样变成大小为16×12的特征图,每个采样窗口大小为2×2;4) C3层是卷积层,得到12个大小为12×8的特征图,每个特征图都是S2层4个特征图卷积的累加,每个卷积核大小为5×5,共12×4个卷积核;5) S4层是采样层,分别对C3层的每个特征图进行下采样,得到12个大小为6×4的特征图,每个采样窗口大小为2×2;6) F5层将S4层12个特征图变形转换连接成一个向量,向量包含12×6×4即288个神经元,反向传播计算时又将向量转换成12个特征图;7) 输出层是由34个神经元构成的向量,对应34个字符的输出,F5层和输出层构成一个Softmax分类器。返回搜狐,查看更多

责任编辑:

卷积神经网络算法python实现车牌识别_车牌识别算法之CNN卷积神经网络相关推荐

  1. mooc数据结构与算法python版期末考试_数据结构与算法Python版-中国大学mooc-试题题目及答案...

    数据结构与算法Python版-中国大学mooc-试题题目及答案 更多相关问题 婴儿出生一两天后就有笑的反应,这种笑的反应属于(). [判断题]填制原始凭证,汉字大写金额数字一律用正楷或草书书写,汉字大 ...

  2. knn算法python理解与预测_理解KNN算法

    KNN主要包括训练过程和分类过程.在训练过程上,需要将训练集存储起来.在分类过程中,将测试集和训练集中的每一张图片去比较,选取差别最小的那张图片. 如果数据集多,就把训练集分成两部分,一小部分作为验证 ...

  3. 数据结构与算法python语言实现答案_数据结构与算法:Python语言实现 源代码 PPT 练习答案 源码.zip...

    1 60660-数据结构与算法:Python语言实现[练习答案]Solutions Manual.rar 943.25 KB 2018/11/1 12:03:34 2 __MACOSX 0 Bytes ...

  4. 数据结构与算法python版 期末考试_数据结构与算法Python版期末在线考试OJ部分

    1 二叉树路径(10分) 题目内容: 给定一个二叉查找树的节点插入顺序,请重新构建这个二叉查找树,并按从左至右顺序返回所有根节点至叶节点的路径 输入格式: 一行整数,以空格分隔 注:测试用例中不包含重 ...

  5. Android平台上实现身份证识别(通过阿里云Api-印刷文字识别_身份证识别)

    Android平台上实现身份证识别(通过阿里云Api-印刷文字识别_身份证识别) 一: 前言 继上一篇文章有段时间了,上一篇文章的身份证和银行卡的识别时通过本地的opencv库,tess-two库识别 ...

  6. Android平台上实现银行卡识别(通过阿里云Api-印刷文字识别_银行卡识别)

    Android平台上实现银行卡识别(通过阿里云Api-印刷文字识别_银行卡识别) 一: 前言 上一篇文章是通过阿里云Api实现在android中扫描身份证和从相册中选取身份证图片识别身份证信息的功能, ...

  7. 支付宝 印刷文字识别_身份证识别

    支付宝 印刷文字识别_身份证识别 上传身份证图片,自动获取身份证信息 public function verifyCard($img_url,$side= 'face'){$url = "h ...

  8. python手写字母识别_机器学习--kNN算法识别手写字母

    本文主要是用kNN算法对字母图片进行特征提取,分类识别.内容如下: kNN算法及相关Python模块介绍 对字母图片进行特征提取 kNN算法实现 kNN算法分析 一.kNN算法介绍 K近邻(kNN,k ...

  9. 卷积后的特征有负数吗?_赠书 | 人工智能识万物:卷积神经网络的前世今生

    来源 |<Python人工智能开发从入门到精通> 作者 | 杨柳.郭坦.鲁银芝 责编 | 晋兆雨 深度学习在技术与应用上的突破引发了第三次人工智能浪潮,获得了空前成功.在前述章节的基础上, ...

最新文章

  1. 人体姿态估计研究文集
  2. 关于字符串计算size的方法比较
  3. 面试题: mysql 数据库已看 sql安全性 索引 引擎 sql优化
  4. linux每日命令(19):locate 命令
  5. java 幽灵引用_Java 幽灵引用的作用
  6. Python面试题之这两个参数是什么意思:*args,**kwargs?我们为什么要使用它们?
  7. php开发面试题---1、php常用面试题一(PHP有哪些特性)
  8. HIT Software Construction Review Notes(0-1 Introduction to the Course)
  9. 自定义QListWidget实现item被hover时改变图标样式(模仿网易云音乐选项列表)(方法一)
  10. [Javascript]把html内容复制到剪贴板
  11. linux启动盘制作
  12. 如何根据一张照片判断出女孩住在几层楼?
  13. 使用Aspose给PDF加密,免受未经授权的访问和内容篡改
  14. 有理数加法C语言pta,有理数
  15. Wincc 编辑颜色对应c脚本返回的十进制数
  16. golang自动构建脚本
  17. 龙ol服务器维护补偿boss,BOSS也疯狂《龙OL》野外BOSS大搜罗
  18. NET性能优化-推荐使用Collections.Pooled(补充)
  19. idea打开项目,项目(project)栏不显示项目项目名和项目结构
  20. IE浏览器中img标签不显示图片

热门文章

  1. Mac下的pyecharts的安装及使用
  2. 机器学习之无监督学习-K均值聚类算法
  3. 在线支付系列【24】支付宝开放平台产品介绍
  4. 一图看懂SpringBoot项目结构
  5. 服务器 ip 网络共享 多服务器用同一个公网IP
  6. OLTP、OLAP、即席查询(ad hoc query)区别与联系
  7. 即席查询之Druid
  8. android六轴传感器,6轴传感器、IP67防水:AMAZFIT米动智芯2 上架有品
  9. USB扫码枪获取数据流的实现方式
  10. 这些Word快捷键的使用方法教给你