人工智能|深度学习——基于数字图像处理和深度学习的车牌定位

1.研究背景及研究目的和意义

车牌识别Vehicle License Plate Recognition VLPR) 是从一张或一系列数字图片中自动定位车牌区域并提取车牌信息的图像识别技术。车牌识别 以数字图像处理、模式识别、计算机视觉等技术为基础,是现代智能交通系统的重要组成部分,广泛应用于日常生活中,如 停车场收 费管理,车辆出入管理,自动放行,交通流量控制指标测量,车辆定位,汽车防盗,高速公路超速自动化监管、闯红灯电子警察、公路收费站等。

据公安部交管局统计,截至2016年底,全 国机动车保有量达 2.9亿辆,其中汽车 1.94亿辆 2016年新注册登记的汽车达 2752万辆,保有量 增 加了 2212万辆。全国有 49个城市的汽车保有量超过百万辆, 18个城市超 过 200万辆, 6个城市超过 300 万辆。 面对迅猛增长的汽车 保有量和高密度的城市汽车保有率,车牌识别对于维护交通安全和城市治安,防止交通堵塞,实现交通自动化管理有着重要的现实意义。

生活中应用的自动车牌检测系统往往包括车辆检测、图像采集、车牌识别三个部分,其硬件基础包括触发设备(如地感线圈、红外线)、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机(如计算机)等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等 。它的基本 原理为,车辆检测部分检测到车辆到达后触发图像 采集单元,采集当前的视频图像。车牌识别单元对图像进行处理,定位 牌照位置 ,再将牌照中 的字符 进行 分割 和 识别,组成 号牌信息 输出 。

这种方法使得车牌区域在图像中的位置和大小较为固定,车牌往往不存在倾斜和形变的情况,并且图片中没有太多干扰物体,图像大小和清晰度以及成像系统的参数特性都是已知的,这些先验知识大大降低了数字图像处理的难度,但却增加了系统对硬件的要求。近十年来,人们通过移动设备获取了大量的图片信息,这些信息公布在网络社交中,蕴含了大量潜在价值,但由于生活场景比生产场景包含更为丰富信息,需要识别的对象呈现形式更为自由,导致传统的图像处理方法效果不佳。这两个问题都迫使我们寻找更为智能的车牌识别方法。

2006年, Geoffrey Hinton和他的学生 发表了深度学习的里程碑式的 文章 [自此沉寂多年的神经网络复兴,人工智能取得了突破性进展。近些年来 阿里巴巴、百度、腾讯、华为都在进行这方面的研究,江苏卫视《最强大脑》 的人机对战也 引起了广泛地关注, 2017年的政府工作报告也提到了人工智能 。 不可否认, 人工智能确实取 得了很快发 展,它将 引领经济社会发展。

车牌识别作为人工智能中一个细小的分支,一方面,它既涉及许多新兴学科的基础知识,也可以验证多种理论方法的应用效果,而且由于车牌种类相对单一,特征比较明显,数据获取也很方便,是入门机器学习的良好 素材。另一方面,车牌识别还有很大的提升空间,面对复杂的成像环境,多样的光照条件和不同的成像距离,以及一定的失真、遮挡、污损,如何提高车牌识别的准确率仍然是个问题。

现如今很多场合下的车辆身份识别采用的是IC卡识别技术或者条形码识别技术,这种技术比基于图像识别的技术可靠性 好,准确度高,但无法核对车辆与 IC卡是否相符,需要司机停车刷卡,而基于图像的方法可以对运动中的车辆实现非接触性信息采集和实时识别,使车辆无障碍通行。不可否认,这两种方法各有优缺点,但随着数字图像处理 技术的 发展,基于图片的识别方法会被越来越多的 人认可。

基于车牌识别不应该局限于处理固定视角的摄像监控图片这个的出发点,本次毕业设计希望研究出一个更加通用的中文车牌识别方法。这里的“通用”指的是基于多种背景,视角,大小,光照条件和来源的中文车牌识别,当然这个“通用”也只是一个相对的概念,它依然有自己的局限性。

2.车牌识别技术发展概况

车牌识别的概念 最早 在 1976年 由英国的公安科学发展处( Police Scientific Development Branch)提出,它的第一个实验室原型诞生于 1979年,同年,第一相关行业生产标准在英国沃金厄姆颁发。车牌识别早期的试验系统部署在英国最长的编号公路 A1公路和达特福德隧道, 然而由于硬件设备 价格 昂贵 和处理器计算能力有限 ,直到上世纪 90年代 VLPR才开始快速发展, 许多复杂的算法得以应用,程序处理的对象 也 由黑白图片、灰度图片转变为彩色图片和视频,车牌识别率和识别速度均得到显著提高。

在我国,该项研究虽然起步较晚,但在高水平期刊中不乏优秀的研究团队发表文 章 ,在市场中也有像“文通科技”、“汉王科技”这样的杰出企业 存在 。中华人民共和国交通运输部 于 2011年 公布的《交通运 输“十二五”发展规划》明确提出“推进交通信息化建设,大力发展智能交通,提升交通运输的现代化水平”,自此 在我国 智能交通由理论研究向实践阶段 快速 转型,车牌识别 技术 在公共交通中得以大围应用。目前,无论是国内还是国外,均 有 文献报道 实现 了 90%以上的 整体识别
正确率 和单张图片平均 处理时间 低于 300ms的 处理速度 [2,3]。

车牌识别技术一方面需要稳定可靠的识别效果,以满足 全天时和全天候的工作要求,另一方面需要快速的处理能力,以实现实时 处理。 在不同国家和地区,车牌尺寸、颜色、字符、编码方式都有明显差异,在实际应用中,不同国家和地区的车牌识别方法会略有不同。 虽然在学术研究中,多种先进的图像处理方法被应用在市场上,也有很多产品宣称自己达到了 99%的识别率, 然而这些方法大多是在特定条件下才会取得很好的效果,比如特定的光照条件,特定的成像距离和视角,特定的背景,有限的车速,甚至特定的成像设备 ,一旦条件改变 车牌识别效果将会变得很差 [4]。而且由于没有统一的测试 集和评估方法,明确指出哪种方法 优于其他方法是不恰当的 [5]。

车牌识别技术最大的挑战 在于车牌和环境的多样性,其中车牌的多样性主要体现在 以下几点:


(1)车牌区域在图片中的呈现形式多样 。车牌区域可以出现在图片中的任意位置,一张图片也可以包含多个车牌区域。由于拍摄距离和相对位置的不同,同一车牌在特定大小的图片中,面积不固定,而且由于视角的不同,像与真实物体之间存在扭曲和形变,使得角度和长宽比发生改变。


(2)车牌种类 繁多。不同款式的车牌拥有不同的背景和字符颜色,不同地区车牌使用的 号牌编码方式 不同,使用相同语言的国家 在 车牌 上使用的字体 有所差异,同一国家,不同款式的车牌,字符的排版方式也不同。

(3)车牌固有属性可变。随着使用时间的增加 车牌会 发生老化,使得颜色和纹理信息发生改变。车牌区域会存在污渍和损坏,不同款式的车安装车牌的方式也有所不同,有的车牌存在外框架,有的车牌为了与车头相匹配存在人为扭曲。

环境的多样性主要体现在光照和背景两个方面:
(1)光照干扰。在白天,户外的成像设备往往依靠自然光,但由于太阳照射角在一天内 不断改变 ,会出现顺光和逆光的情形,顺光时车牌区域会有反光现象而逆光会导致阴影的产生。在夜间和室内, 往往采用补光设备,保证机器的正常工作,然而由于车灯的干扰,成像 存在 模糊的问题。过强和过弱的光照条件均会使得车牌的颜色发生一定程度 的失真。


(2)背景干扰。背景中往往存在许多与车牌区域具有相似特征的对象,比如颜色特征相似, 纹理特征相似的区域,在算法不够聪明的情况下,处理器会将这些区域 作为车牌区域处理,有时会影响到真实车牌 区域 的识别,而为了充分滤除这些干扰,需要使用更多的的特征和智能的过滤器,这会拖累处理速度 ,影响 实时性。目前,这些困难还不能得到有效地解决。

在我国,标准汽车牌照是由汉字、英文字母和阿拉伯数字共7个字符组成, 根据不同车辆、车型、用途规定了多种 款式的 牌照 可以 分为普通车轿车、使馆车、警车、军车等,通常汽车牌照中也分大车和小车 ,并且存在临时车牌。我国汽车牌照的底色和字符颜色有多种组合, 日常生活中常见的有蓝底白字车牌、黄底黑字车牌、以及白底黑字车牌 三种 ,而自 2016年 12月 1日起,上海、南京、无锡、济南、深圳 5个城市率先试点 绿 底白字的 新能源 车 牌。 由于多数汉字不连通(苏,川,吉),结构复杂(赣,浙,藏),车牌识别 的难度较大,对图像处理的技术要求高,国外许多成功的车牌识别方法 不能直接应用在中文车牌识别中。


2017年发表的 一篇论文 [6],阐述了一种基于改进的卷积神经网络的中文车牌识别方法,通过对 2189幅不同背景下的包含车牌的日常生活图片的车牌识别,达到了 93.74%的识别率和平均每张图片 318ms的处理速度。

3.主要研究内容

主要阐述了一种更加“通用”的中文车牌识别方法及其程序实现,该方法针对于识别多种背景,视角,大小,光照条件和来源的车牌图片,它的基本流程如图 1-2所示, 输入需要 识别的图片,通过分析边缘或者颜色特征,得到车牌区域候选人,通过对车牌区域候选人进行字符分析,判断它的字符数是否为七,是 则将字符分析的结果输入字符识别中,输出车牌号,否则认为它不是车牌。

本研究的关键点在于实现一种“通用”的中文车牌识别方法,“通用”指的是基于多种背景,视角,大小,光照条件和来源。虽然中文车牌种类繁多,但由于图片数量的限制以及个人精力有限,本文只研究了生活中最为常见的小型汽车车牌,也就是 蓝底白字白框线 的尺寸为440mm××140mm的车牌,本文的“通用”不涉及各种类型的中文车牌识别。

 (4)图片没有较大的水印和人为的涂画,天气状况均为晴天 。

本文主体部分共有五章,分别是建立图片集、提取车牌区域候选人、字符分析、字符的识别、程序综合与分析。

  • 图片集的建立是本研究开展的基础工作,也是研究中相比其他各项工作 人力消耗最大的部分 ,数据集的质量和数量,是整套方法建立的依据 。 数据集的制作 分为 5个部分: 获取包含车牌的数字图片集;获取车牌区域候选人的数据集;建立字符判断的数据集;建立数字和字母识别的数据集;建立中文字符识别的数据集。
  • 车牌区域候选人的获取章节的 主要内容是对 图片集进行分析并探讨适用的定位方法, 传统的车牌定位即使结合了多种图像处理的技术,也是用一套方法去处理不同环境下的图片,实际上不同的场景适合不同的处理方 法,细化分类才能帮助机器更好的理解决策 。
  • 字符分析章节 的处理对象是 车牌区域候选人,主要分为字符候选人的提取,字符判断和文本提取 三个部分,该部分可以实现非车牌区域的滤除和车牌区域字符分割两大功能。字符候选人的提取采用改进的最大稳定极值区域( Maximally Stable Extremal Regions MSER)的方法,字符判断使了基于 20个字符特征的支持向量机(Support Vector Machine SVM)作为分类器。字符候选人的提取和字符判断只针对车牌上的数字和字母,不包括汉字。字符聚类搜索可以解决字符嵌套和字符遗漏的问题,完成字符外接矩形校正,最终得到完整的车牌字符序列。
  • 字符的识别章节分为 汉字和非汉字 识别两部分 ,其中汉字为 31个省份的简称,分类器使用 是自主设计的 10卷积神经网络( Convert Neutral Network CNN 模型MyLeNet 分类器 输入是大小为 32*32的黑白图片;非汉字指的是车牌上使用的 10种数字和 24种英文大写字符,它们的识别使用了 BP神经网络( Back Propagation Neutral Network),分类器的输入是基于纹理的金字塔梯度方向直方图Pyramid of Histogram of Oriented Gradients PHOG)的维度为 180的特征向量。为了充分说明所用分类器的合理性,本章对比了 BP神经网络和 CNN的汉字识别效果以及 SVM和 BP神经网络对数字和字母的识别效果。
  • 程序综合 章节 简要 说明了项目平台的搭建过程和程序的框架结构 ,介绍了本次研究所使用的开发工具集 Visual Studio和主要使用的计算机视觉库 OpenCV和卷积神经网络框架 Caffe,阐述了程序如何综合前几章节的研究成果实现 自动识别一张或多张 图片的功能 ,展示了程序的运行效果 。

4.建立图片集

5.车牌候选人提取

6.编程环境

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/694819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端项目docker部署

以react项目为例,理论上vue项目也支持。 打包。最好在package.json 里加上"homepage": ".",打包好后,会生成build目录将build目录下的所有文件上传到服务器,假设放在/root/service/shop-h5/public 目录下编写…

C#知识点-16(计算器插件开发、事件、递归、XML)

计算器插件开发 1、Calculator.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Calculator_DLL {//用来明确所有插件开发人员的开发规范public abstract class Calculator{public int N…

2024-02-21 算法: 测试链表是否有环

点击 <C 语言编程核心突破> 快速C语言入门 算法: 测试链表是否有环 前言一、双指针 ( 快慢指针 )二、代码总结 前言 要解决问题: 一道简单的算法题, 测试链表是否含有环. 想到的思路: 哈希表, 将链表指针强制转换为整型, 利用求余法建立哈希函数. 太复杂, 内存效率不高…

MyBatis的注解式开发

MyBatis的注解式开发 一、准备开发环境1.添加依赖2.jdbc.properties3.mybatis-config.xml4.Article实体类5.SqlSessionUtil工具类 二、Insert三、Delete四、Update五、Select mybatis 中也提供了注解式开发⽅式&#xff0c;采⽤注解可以减少 Sql 映射⽂件的配置。使⽤注解式开发…

设计模式浅析(六) ·命令模式

设计模式浅析(六) 命令模式 日常叨逼叨 java设计模式浅析&#xff0c;如果觉得对你有帮助&#xff0c;记得一键三连&#xff0c;谢谢各位观众老爷&#x1f601;&#x1f601; 命令模式 概念 命令模式&#xff08;Command Pattern&#xff09;是一种行为设计模式&#xff0c…

YOLOv5代码解读[02] models/yolov5l.yaml文件解析

文章目录 YOLOv5代码解读[02] models/yolov5l.yaml文件解析yolov5l.yaml文件检测头1--->耦合头检测头2--->解耦头检测头3--->ASFF检测头Model类解析parse_model函数 YOLOv5代码解读[02] models/yolov5l.yaml文件解析 yolov5l.yaml文件 # YOLOv5 &#x1f680; by Ult…

FPGA SERDESE2 (SDR收发仿真)

高速 Serdes 环路测试 高速串行通信优势非常巨大,只需要很少的IO引脚就可以实现高速通信,这也是当今FPGA高速接口的核心 技术。比如XILINX的7代FPGA,GTX可以达到10.3125Gbps,ultrascale FPGA的GTH可以达到16Gbps。目前国产FPGA还难以达到这么高的接口速度。 高速串行通信经…

社区分享|中华保险基于MeterSphere开展接口自动化测试

中华联合保险集团股份有限公司&#xff08;以下简称为“中华保险”&#xff09;始创于1986年&#xff0c;是全国唯一一家以“中华”冠名的国有控股保险公司。截至2022年12月底&#xff0c;中华保险总资产为1006.06亿元&#xff0c;在全国拥有超过2900个营业网点&#xff0c;员工…

Servlet中的请求与响应

Request和Response 1.Request和Response的概述2.Request对象2.1 Request继承体系2.2 Request获取请求数据2.3 解决post请求乱码问题 *2.4 Request请求转发(-&#xff0c;*)2.5 request的生命周期 3.HTTP响应详解(理解)1.使用抓包查看响应报文协议内容2.HTTP响应报文协议介绍 4.…

汇编英文全称

mov move mvn Mov Negative ldr LoaD Register str Store Register lsl Logic Shift Left lsr Logic Shift Right asr Arithmetic Shift Right 算数右移 ror Rotate right 循环右移…

人工智能讲师AI讲师大模型讲师叶梓介绍及大语言模型技术原理与实践提纲

叶梓&#xff0c;上海交通大学计算机专业博士毕业&#xff0c;高级工程师。主研方向&#xff1a;数据挖掘、机器学习、人工智能。历任国内知名上市IT企业的AI技术总监、资深技术专家&#xff0c;市级行业大数据平台技术负责人。 长期负责城市信息化智能平台的建设工作&#xff…

angular-引用本地json文件

angular-引用json文件&#xff0c;本地模拟数据时使用 在assets目录下存放json文件 大佬们的说法是&#xff1a;angular配置限定了资源文件的所在地&#xff08;就是assets的路径&#xff09;&#xff0c;放在其他文件夹中&#xff0c;angular在编译过程中会忽略&#xff0c;会…

云计算的两地三中心和灾备介绍

两地三中心是指在不同的地理位置建立两个数据中心和一个灾备中心&#xff0c;其中一个数据中心为主数据中心&#xff0c;另一个数据中心为备用数据中心&#xff0c;灾备中心则用于备份数据和在主数据中心或备用数据中心发生故障或灾难时提供应急支持。 异地灾备则是指在不同的地…

Docker之查看并获取最新Ubuntu镜像(十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

基于springboot+vue的教学资源库系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

Nginx配置组成与性能调优

目录 一、Nginx配置介绍 1. 模块组成 2. 图示 3. 相关框架 二. 配置调优 1. 全局配置 1.1 关闭版本和修改版本 1.2 修改启动的进程数 1.3 cpu与work进程绑定 1.4 pid路径 1.5 nginx进程的优先级&#xff08;work进程的优先级&#xff09; 1.6 调试work进程打开的文…

利用System.Web.HttpRuntime.Cache制作缓存工具类

用到的依赖介绍 当谈到 ASP.NET 中的缓存管理时&#xff0c;常涉及到以下三个类&#xff1a;CacheDependency、HttpRuntime.Cache 和 System.Web.Caching。 CacheDependency&#xff08;缓存依赖项&#xff09;&#xff1a; CacheDependency 类用于指定一个或多个文件或目录作…

问题:Spark SQL 读不到 Flink 写入 Hudi 表的新数据,打开新 Session 才可见

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…

Predis Multi-Zone

A Data Flow Framework with High Throughput and Low Latency for Permissioned Blockchains 联盟链的吞吐瓶颈由共识层和网络层的数据分发过程共同决定。 Predis 协议利用了共识节点的空闲带宽&#xff0c;提前分发区块中的内容即bundle&#xff0c;减少了共识区块中的内容&…

在vue3中使用canvas实现雨滴效果

在vue3中使用canvas实现雨滴效果 这是封装的一个组件DotAndRain&#xff08; &#xff09; <script setup> import { ref, onMounted } from "vue"; import { onUnmounted } from "vue";let animationFrameId null;const el ref(null); let canv…