CN110751150A - 一种基于fpga的二值神经网络车牌识别方法及*** - Google Patents
一种基于fpga的二值神经网络车牌识别方法及*** Download PDFInfo
- Publication number
- CN110751150A CN110751150A CN201910937139.1A CN201910937139A CN110751150A CN 110751150 A CN110751150 A CN 110751150A CN 201910937139 A CN201910937139 A CN 201910937139A CN 110751150 A CN110751150 A CN 110751150A
- Authority
- CN
- China
- Prior art keywords
- license plate
- neural network
- image
- binary neural
- fpga
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/63—Scene text, e.g. street names
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/1475—Inclination or skew detection or correction of characters or of image to be recognised
- G06V30/1478—Inclination or skew detection or correction of characters or of image to be recognised of characters or characters lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/158—Segmentation of character regions using character size, text spacings or pitch estimation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/08—Detecting or categorising vehicles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及基于FPGA的二值神经网络车牌识别方法及***,方法包括:步骤1:利用图像预处理模块对输入图像做细化处理,并得到灰度图;步骤2:利用车牌定位提取模块对灰度图进一步处理以完成车牌的定位提取;步骤3:利用车牌字符分割模块对定位提取的车牌字符进行分割,并二值化形成尺寸固定的图像块;步骤4:对二值神经网络模块中的二值神经网络进行训练,利用训练完毕的二值神经网络模型对尺寸固定的图像块进行识别,并输出结果,方法配套的***包括图像预处理模块、车牌定位提取模块、车牌字符分割模块和二值神经网络模块且基于FPGA平台实现。本发明将神经网络与FPGA硬件相结合,充分发挥两者优势,在保证车牌识别精度同时,实现了高效、低功耗。
Description
技术领域
本发明涉及机器学习技术领域,尤其是涉及一种基于FPGA的二值神经网络车牌识别方法及***。
背景技术
随着经济的快速发展,车辆越来越多,无论是住宅小区还是各种公共场所,都会有大量车辆,为了便于管理,保障人身财产安全,对车牌信息的采集、识别、保存越来越重要。
此外,交通***正趋于智能化,其中车牌的采集和识别是一个重要的部分,在交通监控***、高速自动收费***、车流量检测***等智能交通***中的应用越来越广泛。
近年来,随着人工智能(AI)技术的发展,其应用领域越来越广泛,比如基于卷积神经网络(CNN)的人脸识别***等。然而传统基于浮点运算的神经网络,一方面参数量大、计算量大,需要占用很多的计算资源。另一方面,基于GPU(图形处理器)的深度学习算法,在进行车牌识别的时候,其对车牌轮廓、字符轮廓的提取采用纯软件的方式,势必降低处理大量数据的效率。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于FPGA的二值神经网络车牌识别方法及***。
本发明的目的可以通过以下技术方案来实现:
一种基于FPGA的二值神经网络车牌识别方法,该识别方法包括以下步骤:
步骤1:利用图像预处理模块对输入图像做细化处理,并得到灰度图;
步骤2:利用车牌定位提取模块对灰度图进一步处理以完成车牌的定位提取;
步骤3:利用车牌字符分割模块对定位提取的车牌字符进行分割,并二值化形成尺寸固定的图像块;
步骤4:对二值神经网络模块中的二值神经网络进行训练,利用训练完毕的二值神经网络模型对尺寸固定的图像块进行识别,并输出结果。
进一步地,所述的步骤1具体包括:利用图像预处理模块对对输入图像进行增强处理,调整对比度和亮度,并对拍摄角度引起的倾斜图像进行矫正处理,最后再将图像灰度化,并得到灰度图。
进一步地,所述的步骤2具体包括:利用车牌定位提取模块首先对灰度图进行腐蚀、膨胀操作以凸出车牌的边缘轮廓,然后利用边缘检测算法查找轮廓并按轮廓面积和长宽比筛选去除干扰选项,并最终输出轮廓面积最小且符合车牌长宽比的矩形框,即对应完成车牌的定位提取。
进一步地,所述的步骤3具体包括:利用车牌字符分割模块依据标准车牌尺寸,采用中心点逐次右移的方法,对定位提取的车牌字符进行字符分割,并二值化形成尺寸固定的图像块。
进一步地,所述尺寸包括28×28和32×32。
进一步地,所述的步骤4中的二值神经网络的用的二值化激励函数为sign函数。
进一步地,所述的步骤4中的二值神经网络的硬件搭建采用FPGA平台。
本发明还提供一种用于所述的基于FPGA的二值神经网络车牌识别方法的***,该***包括:
图像预处理模块,用于对采集的图像进行增强、灰度化和去噪预处理;
车牌定位提取模块,用于对预处理后的图像中的车牌定位并提取输出;
车牌字符分割模块,用于采用中心点逐次右移的方法对车牌字符进行分割,并二值化,形成固定大小的图像块;
二值神经网络模块,用于通过训练数据生成最佳网络模型,对输入图像进行识别,并最终输出结果。
与现有技术相比,本发明具有以下优点:
(1)本发明基于FPGA设计***,首先硬件平台的设计提高了车牌轮廓提取的效率,其次放弃对字符轮廓的提取,采用中心点逐次右移的方法直接进行字符分割,然后在加上基于FPGA的二值神经网络大大减少了计算量,进一步提高了运行效率。
(2)本发明***中,FPGA的输入由外部摄像头采集,在FPGA内部设计了图像预处理模块、车牌定位提取模块、车牌字符分割模块和二值神经网络模块。图像预处理模块主要对采集的图像进行增强、灰度化、去噪等一系列处理,车牌定位提取模块主要对图像中的车牌定位并提取输出,车牌字符分割模块主要对车牌字符进行分割、二值化,形成固定大小的图像块输入到下一层,二值神经网络模块通过训练大量数据生成最佳网络模型,对输入图像识别,最终输出结果,由于在配套方法中引入了神经网络,通过监督学习提高了整个***的泛化能力以及自适应性,此外二值神经网络可以大大减少计算量,利用FPGA的并行执行优势,在保证准确性的同时提高了效率,且功耗低。
附图说明
图1为本发明方法的流程图;
图2为本发明***的FPGA模块设计框架图;
图3为本发明***中图像预处理模块的工作流程图;
图4为本发明***中车牌定位提取模块的工作流程图;
图5为本发明***中车牌字符分割模块的工作流程图;
图6为本发明***中二值神经网络模块的工作流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
实施例
本发明是基于FPGA开发设计的,在FPGA上集成设计了若干模块,来实现图像处理以及神经网络运行,如图2所示,根据所实现功能的不同,设计了四个模块,分别为:
图像预处理模块,对外部获取的图像进行增强、灰度化、去噪处理。
车牌定位提取模块,识别图像中的车牌,定位并提取,车牌定位提取模块采用边缘检测算法,凸出车牌轮廓并输出。
车牌字符分割模块,对提取的车牌进行字符分割,并调整所有的字符块尺寸,以固定的尺寸输入至下一模块,依据标准车牌尺寸,采用中心点逐次右移的方法,对提取的轮廓进行字符分割,二值化后以固定尺寸输出,如28x28、32x32。
二值神经网络模块,训练好相应的汉字、字母和数字网络,对输入字符块识别,并输出结果,二值神经网络模块采用的是二值神经网络,该网络包括了基本的输入层、隐层(含有多层)和输出层,其中隐层又包括了全连接、归一化以及二值化,因此该网络有别于浮点运算网络,很大程度简化了计算,在FPGA平台搭建二值神经网络,将矩阵向量的点积运算替换成位的同或运算,大大提高运算效率。
本发明***基于带有处理器的FPGA设计实现,将二值神经网络硬件化,搭建在FPGA平台,充分利用硬件资源,以提高图像处理效率。
本发明的***采用二值神经网络,降低了数据处理量,提高了计算能力,并将其搭载在FPGA硬件平台,进一步提高识别效率,且功耗低。
如图1所示,给出了整个识别方法中结合***各个模块的工作流程图,从图像的获取、预处理,到车牌的定位、提取与分割,再到二值神经网络的训练、判断识别,展示了各模块的协同,下面分别介绍各模块的主要功能:
图像预处理模块,主要是对输入图像做一些细化处理,由于摄像头采集的原始图像会受到外部环境以及拍摄角度的影响,为了提高识别精度,需要对原始图像进行增强处理,主要是调整对比度和亮度,对拍摄角度引起的倾斜图像进行矫正处理,最后再将图像灰度化,输入下一层,具体工作流程如图3所示;
车牌定位提取模块,对灰度图做进一步处理,进行腐蚀、膨胀操作,凸出车牌的边缘轮廓,再去除干扰杂质,利用边缘检测算法,查找轮廓,计算轮廓面积,按轮廓面积和长宽比的筛选,去除干扰选项,最后输出面积最小的且符合车牌长宽比的矩形框,完成车牌的定位提取,具体工作流程如图4所示;
车牌字符分割模块,考虑到车牌定位提取的效果好,此外字符的尺寸一样,那么对字符的分割将采取简单按比例分割法,这样可以简化设计且对精度影响较小。首先计算字符块的平均宽度W以及字符块的高H,计算最左侧字符块的中心坐标(x,y),以此中心点上下延伸H/2,左右延伸W/2,以这个大小的矩形框截取字符,再将中心点右移,依次用同样方法截取后面的字符,最后车牌被分成7个字符块,具体工作流程如图5所示;
二值神经网络模块,该网络是一种在计算参数梯度下降时将权值和激励控制在-1或1,或者0或1的神经网络学习方法,该方法将参数计算中的大量乘法运算替换成位的同或运算,大大减少了计算时的资源占用,进而提高了计算速度。该网络采用的二值化激励函数是sign函数(二值化方法还有很多,如可采用阈值法):
在网络学习过程中,权值会相应的往优化的方向更新,此时权值会出现大于1或小于-1,或者是(-1,1)间的情况,为了保证权值的二值化,首先要对更新后的权值做切割处理,采用Clip函数,当w大于1是取1,当w小于0时取0,当w在在0到1之间时不变,使其被控制在[0,1]间:
w=Clip(w,0,1)
进而再对权值进行二值化,先采用Round取整函数(四舍五入)使权值为0或1,紧接着使权值为-1或1:
wb=2*Round(w)-1
最后,输入数据经过二值神经网络的运算后形成一个独热码(one-hot)向量,既在一个N位行向量里只有一位是1,与已知的标签向量对比,判断识别结果,具体工作流程如图6所示。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种基于FPGA的二值神经网络车牌识别方法,其特征在于,该识别方法包括以下步骤:
步骤1:利用图像预处理模块对输入图像做细化处理,并得到灰度图;
步骤2:利用车牌定位提取模块对灰度图进一步处理以完成车牌的定位提取;
步骤3:利用车牌字符分割模块对定位提取的车牌字符进行分割,并二值化形成尺寸固定的图像块;
步骤4:对二值神经网络模块中的二值神经网络进行训练,利用训练完毕的二值神经网络模型对尺寸固定的图像块进行识别,并输出结果。
2.根据权利要求1所述的一种基于FPGA的二值神经网络车牌识别方法,其特征在于,所述的步骤1具体包括:利用图像预处理模块对对输入图像进行增强处理,调整对比度和亮度,并对拍摄角度引起的倾斜图像进行矫正处理,最后再将图像灰度化,并得到灰度图。
3.根据权利要求1所述的一种基于FPGA的二值神经网络车牌识别方法,其特征在于,所述的步骤2具体包括:利用车牌定位提取模块首先对灰度图进行腐蚀、膨胀操作以凸出车牌的边缘轮廓,然后利用边缘检测算法查找轮廓并按轮廓面积和长宽比筛选去除干扰选项,并最终输出轮廓面积最小且符合车牌长宽比的矩形框,即对应完成车牌的定位提取。
4.根据权利要求1所述的一种基于FPGA的二值神经网络车牌识别方法,其特征在于,所述的步骤3具体包括:利用车牌字符分割模块依据标准车牌尺寸,采用中心点逐次右移的方法,对定位提取的车牌字符进行字符分割,并二值化形成尺寸固定的图像块。
5.根据权利要求4所述的一种基于FPGA的二值神经网络车牌识别方法,其特征在于,所述尺寸包括28×28和32×32。
6.根据权利要求1所述的一种基于FPGA的二值神经网络车牌识别方法,其特征在于,所述的步骤4中的二值神经网络的用的二值化激励函数为sign函数。
7.根据权利要求1所述的一种基于FPGA的二值神经网络车牌识别方法,其特征在于,所述的步骤4中的二值神经网络的硬件搭建采用FPGA平台。
8.一种用于如权利要求1~7中任意一项所述的基于FPGA的二值神经网络车牌识别方法的***,其特征在于,该***包括:
图像预处理模块,用于对采集的图像进行增强、灰度化和去噪预处理;
车牌定位提取模块,用于对预处理后的图像中的车牌定位并提取输出;
车牌字符分割模块,用于采用中心点逐次右移的方法对车牌字符进行分割,并二值化,形成固定大小的图像块;
二值神经网络模块,用于通过训练数据生成最佳网络模型,对输入图像进行识别,并最终输出结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910937139.1A CN110751150A (zh) | 2019-09-29 | 2019-09-29 | 一种基于fpga的二值神经网络车牌识别方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910937139.1A CN110751150A (zh) | 2019-09-29 | 2019-09-29 | 一种基于fpga的二值神经网络车牌识别方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110751150A true CN110751150A (zh) | 2020-02-04 |
Family
ID=69277508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910937139.1A Pending CN110751150A (zh) | 2019-09-29 | 2019-09-29 | 一种基于fpga的二值神经网络车牌识别方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110751150A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582180A (zh) * | 2020-05-09 | 2020-08-25 | 浙江大华技术股份有限公司 | 车牌定位方法、图像处理装置及具有存储功能的装置 |
CN112258377A (zh) * | 2020-10-13 | 2021-01-22 | 国家计算机网络与信息安全管理中心 | 鲁棒二值神经网络的构建方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408933A (zh) * | 2008-05-21 | 2009-04-15 | 浙江师范大学 | 基于粗网格特征提取和bp神经网络的车牌字符识别方法 |
CN101789080A (zh) * | 2010-01-21 | 2010-07-28 | 上海交通大学 | 车辆车牌实时定位字符分割的检测方法 |
CN109241975A (zh) * | 2018-08-27 | 2019-01-18 | 电子科技大学 | 一种基于字符中心点定位的车牌字符分割方法 |
CN109635637A (zh) * | 2018-10-30 | 2019-04-16 | 深圳市航天华拓科技有限公司 | 一种车牌识别方法、装置和计算设备 |
-
2019
- 2019-09-29 CN CN201910937139.1A patent/CN110751150A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101408933A (zh) * | 2008-05-21 | 2009-04-15 | 浙江师范大学 | 基于粗网格特征提取和bp神经网络的车牌字符识别方法 |
CN101789080A (zh) * | 2010-01-21 | 2010-07-28 | 上海交通大学 | 车辆车牌实时定位字符分割的检测方法 |
CN109241975A (zh) * | 2018-08-27 | 2019-01-18 | 电子科技大学 | 一种基于字符中心点定位的车牌字符分割方法 |
CN109635637A (zh) * | 2018-10-30 | 2019-04-16 | 深圳市航天华拓科技有限公司 | 一种车牌识别方法、装置和计算设备 |
Non-Patent Citations (2)
Title |
---|
梁爽: "可重构神经网络加速器设计关键技术研究", 《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》 * |
范肖飞: "基于FPGA的车牌识别***设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582180A (zh) * | 2020-05-09 | 2020-08-25 | 浙江大华技术股份有限公司 | 车牌定位方法、图像处理装置及具有存储功能的装置 |
CN111582180B (zh) * | 2020-05-09 | 2023-04-18 | 浙江大华技术股份有限公司 | 车牌定位方法、图像处理装置及具有存储功能的装置 |
CN112258377A (zh) * | 2020-10-13 | 2021-01-22 | 国家计算机网络与信息安全管理中心 | 鲁棒二值神经网络的构建方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109815886B (zh) | 一种基于改进YOLOv3的行人和车辆检测方法及*** | |
CN108986119B (zh) | 图像分割方法及装置、计算机设备及可读存储介质 | |
Wu et al. | Helmet detection based on improved YOLO V3 deep model | |
CN112232349B (zh) | 模型训练方法、图像分割方法及装置 | |
CN103049763B (zh) | 一种基于上下文约束的目标识别方法 | |
CN107038416B (zh) | 一种基于二值图像改进型hog特征的行人检测方法 | |
CN110070091B (zh) | 用于街景理解的基于动态插值重建的语义分割方法及*** | |
CN107316016A (zh) | 一种基于Hadoop和监控视频流的车辆轨迹统计方法 | |
CN109886159B (zh) | 一种非限定条件下的人脸检测方法 | |
CN111753682B (zh) | 一种基于目标检测算法的吊装区域动态监控方法 | |
CN110781882A (zh) | 一种基于yolo模型的车牌定位和识别方法 | |
Xiang et al. | Lightweight fully convolutional network for license plate detection | |
CN113888547A (zh) | 基于gan网络的无监督域自适应遥感道路语义分割方法 | |
CN104751485A (zh) | 一种基于gpu自适应的前景提取方法 | |
Han et al. | An enhanced image binarization method incorporating with Monte-Carlo simulation | |
CN110751150A (zh) | 一种基于fpga的二值神经网络车牌识别方法及*** | |
CN117876383B (zh) | 一种基于yolov5l的公路表面条状裂缝检测方法 | |
CN105354547A (zh) | 一种结合纹理和彩色特征的行人检测方法 | |
Ying et al. | License plate detection and localization in complex scenes based on deep learning | |
CN109829511B (zh) | 基于纹理分类的下视红外图像中云层区域检测方法 | |
CN115294392B (zh) | 基于生成网络模型的可见光遥感图像云去除方法及*** | |
CN115063679B (zh) | 一种基于深度学习的路面质量评估方法 | |
CN113012167B (zh) | 一种细胞核与细胞质的联合分割方法 | |
CN114332144A (zh) | 样本粒度检测方法、***、电子设备及存储介质 | |
CN113901913A (zh) | 一种用于古籍文档图像二值化的卷积网络 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200204 |