您的位置 首页 ADAS

根据FPGA的车牌识别系统

车牌识别主要包括车牌定位检测、字符分割和字符识别三个部分,现有的车牌识别系统都依托于类似OpenCV这样的软件平台,实际安装操作非常麻烦,没有一个专用的处理器来实现车牌识别功能,针对这一现状,我们设计

作者/李鑫,高佳皓,李金晟(北京理工大学 信息与电子学院,北京 100081)

  摘要:车牌辨认首要包括车牌定位检测、字符切割和字符辨认三个部分,现有的车牌辨认体系都依托于相似OpenCV这样的软件渠道,实践装置操作十分费事,没有一个专用的处理器来完结车牌辨认功用,针对这一现状,咱们规划了依据紫光PGT180H芯片的车牌辨认体系,运用FPGA的灵活性和高速并行的特色,完结了车牌辨认的功用,并在紫光同创开发板上搭建了车牌辨认体系。

  关键词图画处理;神经网络;FPGA;实时处理

  *第二届(2018)全国大学生集成电路立异创业大赛全国一等奖

  0 导言

  课题研讨布景

  智能交通体系是将先进的信息技能、移动通讯技能和核算机技能运用在交通网络,建造一种全方位的、实时精确的归纳运送和办理体系,完结路途交通和机动车辆的主动化办理。主动化的开展在交通办理范畴产生了一系列的运用,比方路途收费、车载导航体系和车联网等。这些运用关于车辆的辨认检测、安全办理也提出了越来越高的要求[1]

  车牌辨认体系研讨现状及难点

  车牌辨认体系,选用的首要办法是通过图画处理技能,对收集的包括车牌的图画进行剖析,提取车牌的方位,完结字符切割和辨认的功用。跟着核算机技能的开展,关于单个字符的辨认现已有十分完善的解决办法,车牌辨认体系精确性首要受限于图画信息的获取,辨认失利也大多数是由获取图画不抱负导致。存在的问题包括车牌图画的歪斜、车牌本身的磨损、光线的搅扰都会影响到定位的精度。关于车牌辨认体系来说,辨认车牌的精确性和快速性往往是互相矛盾的存在,快速实时的捕捉和处理图画往往会运用来辨认的字符产生较大的失真,而不能满意辨认算法的要求,一起为了确保车牌辨认的精确性经常会献身辨认的速度,比方需求车牌在摄像头前坚持更长的一段时间才干完结辨认[2]

  1 规划和体系模块概述

  1.1 著作介绍

  本著作是依据紫光PGT180H的车牌辨认体系,包括了紫光开发板、带FIFO的OV7725摄像头、像素为320×240的LCD显现屏以及搭载了摄像头和LCD的PCB板。

  体系选用OV7725摄像头收集图片,通过RGB转HSV的模块并依据HSV值提取出蓝色部分,通过detect模块检测有无车牌,然后对图画进行处理得到车牌的四个极点,运用线性内插的办法取得固定巨细的图画,提取出车牌中的7个包括字符的图画矩阵,然后运用练习好的神经网络别离对其进行运算剖析,终究辨认出成果并显现到LCD上。

  本项意图具体作业如下。

  ⑴车牌定位检测。针对摄像头获取的图画遭到车牌含糊、光照强度的影响,选用HSV格局的图画二值化办法,提出了一种通过扫描二值化图画检测车牌四个极点的办法,得到了车牌的方位区域,依据设定判别依据检测车牌是否存在于摄像头前,检测成功后主动完结辨认功用。

  ⑵字符切割。依据现已提取的图画定点,选用一种线性内插的办法将原始图画转换为固定巨细图画,这一办法也可以习惯产生旋转后的车牌,再将固定巨细的图画次序切割成单个字符用来辨认。

  ⑶字符辨认。选用神经网络算法完结字符辨认功用,将现已练习好的神经网络矩阵存在存储器中,在FPGA上树立相应并行与流水线结构的乘累加模块规划,运用查找表以及线性内插的办法对激活函数sigmoid进行迫临,进步核算精度和算法功率。

  1.2 体系作业流程

  上电后,先进行摄像头寄存器装备,然后将摄像头捕捉到的画面显现到LCD显现屏上,一起RGB转HSV和detect模块运转;一旦detect模块提取到车牌,LCD画面将转化为暂停的黑白画面,紧接着运转车牌切割和显现的模块image_pro和segment,然后是神经网络辨认车牌,终究将成果显现至LCD左边而且暂停。若想进行第2次辨认,则按下按键将会回到摄像头捕捉画面的状况。

nEO_IMG_1.jpg

  2 车牌检测和图画处理

  2.1 HSV格局

  从摄像头取得RGB565值的巨细会跟着环境光线的改变而改变,直接运用RGB三个值进行二值化是很困难的,咱们采纳将RGB格局转换成HSV格局,再设置二值化相应的阈值。HSV别离表明色相、饱和度和亮度。其间首要的二值化目标是色度和饱和度,表明倾向某个色彩和倾向的标准,通过判别色相和饱和度,咱们将车牌中蓝色的部分提取出来供后边运用。

  咱们运用的阈值如下:饱和度大于30,色相大于200 且小于280,亮度大于30。

  2.2 图画检测

  提取出蓝色部分后,运用算法找到车牌的四个极点,通过四个极点的相对方位,所表明的矩形的长宽比来检测车牌是否被放在摄像头正前方。

  为了提取出车牌,咱们需求剖析车牌的特征。在画面中,车牌占了一大部分,意味着接连的行和列都会出现蓝色,车牌的四个极点别离坐落左上、左下、右上、右下,所核算出的长宽比在1:3到1:4内。检测算法如下。

  ⑴一行一行地遍历整幅图。

  ⑵当一行中检测到接连的10个蓝色点时,flag10赋值为1,视为检测到车牌的开端状况,当接连的10个蓝色点消失时,flag10赋值为0。

  ⑶当flag10为1时,记载接连点中的左极点和右极点。

  ⑷记载车牌的左上、左下、右上、右下的坐标,即每次的左右极点别离核算x+y和x-y的最大最小值与所记载的坐标进行比较。

  ⑸若存在接连的10行,flag10都被赋值为1,视为找到了一大块蓝色区域。

  ⑹当遍历完整幅图而且找到了蓝色区域之后,核算长宽比,到达要求后视为找到了车牌。

  ⑺MATLAB进行的算法验证,如图2所示。

nEO_IMG_2.jpg

  2.3 图画切割

  在车牌检测模块是咱们现已提取出来了4个极点的坐标,通过其间的3个极点,可以将车牌部分映射到巨细为1687的图片中,设新图片中的点坐标为,依据以下公式完结图片映射。

  图形切割办法如下:按行和列将上图切割成7个字符,每个字符出去最边际一行,再将上图中赤色框内的点出去,终究得到71410的字符存进RAM中。

  映射与图形切割的作用如图3。

nEO_IMG_3.jpg

  3 神经网络与字符辨认

  3.1 神经网络算法

  3.1.1 神经网络的规划

  前文中,咱们现已将车牌上的字符提取了出来,每个字符都是一个1410的由0、1构成的矩阵。现已完结了卷积神经网络中相似池化的操作,咱们不太需求愈加杂乱的CNN网络,而可以运用最简略的神经网络结构。

  所以咱们规划了如下的神经网络。

  ⑴整个神经网络由3层感知机组成,输入层、隐含层和输出层。

  ⑵输入层140个神经元,对应1410中的每个像素点;隐含层80个神经元;输出层34个神经元,可别离对应10个数字和24个除掉I、O的字母(车牌中这两个字母由于和1、0比较像,故不存在),或34个省级行政区域。

  ⑶输入层无激活函数,仅隐含层和输出层含有激活函数sigmoid。

  3.1.2 神经网络的练习

  神经网络的练习选用了梯度下降法,通过差错反应调整权值矩阵以削减差错,使得神经网络的输出逐步收敛至咱们想要的输出[3]

  3.2 FPGA完结模块

  神经网络中包括两种运算,别离是矩阵乘法和sigmoid函数映射的运算,首要通过以下的模块完结。

  3.2.1 挑选累加模块

  本模块神经网络的第一层核算,将输入的1410的二值化像素点的向量和练习完结的神经网络权值矩阵W1相乘,得出成果,成果输出至sigmoid模块。由于图画点阵数据格局已二值化,仅含有数字0、1,所以做乘法时相当于在做挑选,故选用挑选累加的办法核算向量与矩阵的乘积。

  3.2.2 sigmoid模块

  Sigmoid函数是一个接连的函数,可是FPGA难以直接地核算该函数,所以咱们通过通讯中PCM编码得到的创意,找到斜率为2的幂次方的折线段的端点坐标存入查找表,对输入的x即可找到对应区间,然后通过移位即可进行对sigmoid曲线的线性迫临。

  3.2.3 乘累加模块

  本模块中,神经网络中第一层算出的80个结点为输入,与练习完结的神经网络权值矩阵W2进行矩阵运算。模块调用乘累加IP核,在模块内调用神经网络的权值矩阵rom2,与顶层的ram2读取的80个结点数据进行乘累加运算,每次运算完结后进行数据的流水输出至Sigmoid模块,一起给出相应ram写入使能的操控。当接收到开端信号有用,模块开端作业,完毕后输出完结信号。

  3.3 神经网络练习

  神经网络的练习应选用精确的数据进行练习,才可以到达完美的练习作用。所以咱们在FPGA上完结了车牌的字符提取之后,编写了一个串口通讯模块,将收集好的字符矩阵传输至电脑端,并以此作为练习数据。在MATLAB大将权值矩阵练习好今后,存储进FPGA的矩阵[4]

  4 硬件完结成果

  4.1 硬件完结

  咱们运用OV7725摄像头和LCD作为外设,担任图画的收集和输出显现,自行规划了PCB板,该外设可以通过插拔的简略办法连接起来,上电后可以直接运用。

  4.2 成果验证

  图4是体系完结的终究作用图,咱们的车牌对通过轻度旋转的图画也有很好的处理作用,在做板级验证的时分,咱们也测试了轻度旋转的图片辨认,可以看出,该体系成功地辨认出了车牌。

nEO_IMG_4.jpg

  5 立异点

  本著作运用FPGA可编程逻辑器件和简略的体系规划,完结了精确性较高的车牌辨认体系,立异的选用HSV格局用作图片二值化办法,取得了很好的区别作用,可以习惯光线改变的不同场景,图画的提取和字符切割也取得了抱负的作用,确保了车牌辨认的正确率,完结了以神经网络为中心的专用FPGA图画辨认处理器及结构,将神经网络和图画处理模块在FPGA芯片上完结。

  参考文献

  [1]张灵芳.车牌辨认体系相关算法研讨与改善[D].中南大学, 2012.

  [2]刘同焰.车牌辨认体系的相关算法研讨与完结[D].华南理工大学, 2012.

  [3]张坤艳,钟宜亚,苗松池,等.一种依据大局阈值二值化办法的BP神经网络车牌字符辨认体系[J].核算机工程与科学, 2010,
32(2):88-89.

  [4]杨凡,赵建民,朱信忠.一种依据BP神经网络的车牌字符分类辨认办法[J].核算机科学,2005,32(8):192-195.

  作者简介:

  李鑫(1997- ),男,本科生,首要从事信号处理和数字逻辑的学习。

  高佳皓(1997-),男,本科生,首要从事信号与信息处理研讨。

  李金晟(1997- ),男,本科生,首要从事集成电路规划。

本文来源于科技期刊《电子产品世界》2019年第3期第77页,欢迎您写论文时引证,并注明出处

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/129255.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部