卷积神经网络算法python实现车牌识别_车牌识别算法之CNN卷积神经网络
原标题:车牌识别算法之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卷积神经网络相关推荐
- mooc数据结构与算法python版期末考试_数据结构与算法Python版-中国大学mooc-试题题目及答案...
数据结构与算法Python版-中国大学mooc-试题题目及答案 更多相关问题 婴儿出生一两天后就有笑的反应,这种笑的反应属于(). [判断题]填制原始凭证,汉字大写金额数字一律用正楷或草书书写,汉字大 ...
- knn算法python理解与预测_理解KNN算法
KNN主要包括训练过程和分类过程.在训练过程上,需要将训练集存储起来.在分类过程中,将测试集和训练集中的每一张图片去比较,选取差别最小的那张图片. 如果数据集多,就把训练集分成两部分,一小部分作为验证 ...
- 数据结构与算法python语言实现答案_数据结构与算法:Python语言实现 源代码 PPT 练习答案 源码.zip...
1 60660-数据结构与算法:Python语言实现[练习答案]Solutions Manual.rar 943.25 KB 2018/11/1 12:03:34 2 __MACOSX 0 Bytes ...
- 数据结构与算法python版 期末考试_数据结构与算法Python版期末在线考试OJ部分
1 二叉树路径(10分) 题目内容: 给定一个二叉查找树的节点插入顺序,请重新构建这个二叉查找树,并按从左至右顺序返回所有根节点至叶节点的路径 输入格式: 一行整数,以空格分隔 注:测试用例中不包含重 ...
- Android平台上实现身份证识别(通过阿里云Api-印刷文字识别_身份证识别)
Android平台上实现身份证识别(通过阿里云Api-印刷文字识别_身份证识别) 一: 前言 继上一篇文章有段时间了,上一篇文章的身份证和银行卡的识别时通过本地的opencv库,tess-two库识别 ...
- Android平台上实现银行卡识别(通过阿里云Api-印刷文字识别_银行卡识别)
Android平台上实现银行卡识别(通过阿里云Api-印刷文字识别_银行卡识别) 一: 前言 上一篇文章是通过阿里云Api实现在android中扫描身份证和从相册中选取身份证图片识别身份证信息的功能, ...
- 支付宝 印刷文字识别_身份证识别
支付宝 印刷文字识别_身份证识别 上传身份证图片,自动获取身份证信息 public function verifyCard($img_url,$side= 'face'){$url = "h ...
- python手写字母识别_机器学习--kNN算法识别手写字母
本文主要是用kNN算法对字母图片进行特征提取,分类识别.内容如下: kNN算法及相关Python模块介绍 对字母图片进行特征提取 kNN算法实现 kNN算法分析 一.kNN算法介绍 K近邻(kNN,k ...
- 卷积后的特征有负数吗?_赠书 | 人工智能识万物:卷积神经网络的前世今生
来源 |<Python人工智能开发从入门到精通> 作者 | 杨柳.郭坦.鲁银芝 责编 | 晋兆雨 深度学习在技术与应用上的突破引发了第三次人工智能浪潮,获得了空前成功.在前述章节的基础上, ...
最新文章
- 人体姿态估计研究文集
- 关于字符串计算size的方法比较
- 面试题: mysql 数据库已看 sql安全性 索引 引擎 sql优化
- linux每日命令(19):locate 命令
- java 幽灵引用_Java 幽灵引用的作用
- Python面试题之这两个参数是什么意思:*args,**kwargs?我们为什么要使用它们?
- php开发面试题---1、php常用面试题一(PHP有哪些特性)
- HIT Software Construction Review Notes(0-1 Introduction to the Course)
- 自定义QListWidget实现item被hover时改变图标样式(模仿网易云音乐选项列表)(方法一)
- [Javascript]把html内容复制到剪贴板
- linux启动盘制作
- 如何根据一张照片判断出女孩住在几层楼?
- 使用Aspose给PDF加密,免受未经授权的访问和内容篡改
- 有理数加法C语言pta,有理数
- Wincc 编辑颜色对应c脚本返回的十进制数
- golang自动构建脚本
- 龙ol服务器维护补偿boss,BOSS也疯狂《龙OL》野外BOSS大搜罗
- NET性能优化-推荐使用Collections.Pooled(补充)
- idea打开项目,项目(project)栏不显示项目项目名和项目结构
- IE浏览器中img标签不显示图片