一种基于高位摄像头的智能停车车牌识别方法

文档序号:25428664发布日期:2021-06-11 21:43阅读:243来源:国知局
一种基于高位摄像头的智能停车车牌识别方法

本发明属于车位管理与图像处理领域,具体涉及一种基于高位摄像头的智能停车车牌识别方法。



背景技术:

汽车保有量的持续增长给交通以及交通管理带来较大的压力,所以智能交通管理系统应运而生。随着深度学习技术在各领域取得了突破性进展,智慧交通也成了深度学习技术应用的热点领域,其中车牌识别是智慧交通的重要组成部分。车牌识别是利用图像处理等技术从图像中提取车牌特征信息并识别车牌。车牌自动识别帮助人们高效识别图片,过程中不需要人工参与,目前广泛应用于地下停车场收费站等公共场所,具有一定的市场规模。

但是实际投入的应用场景受限,都是固定场景的识别。停车场中的应用受限于卡口出入的车牌识别,然而街边道路停车缺乏车牌识别应用系统。街边道路停车通常是人工收费,规划的停车路段需要收费员对每个停车位位置看着,根据车辆停车时间来计时收费。这样的收费方式耗费大量的人力财力,所以提出实现智能停车系统自动识别车牌来减少人工收费是非常必要的。卡口处容易获得车牌,且识别的车牌图片都较清晰端正。在高位摄像头下较难获取车牌,车辆行驶到停车区域,车牌容易被行人、其他车辆等遮挡,以及在高位摄像头情况下获取的车牌具有一定的俯仰角倾斜,车牌还可能有水平程度的左右倾斜;车辆与车牌距离的不固定,造成图片分辨率大小不一,小分辨率车牌识别困难问题。为解决上述问题设计了一种智能停车车牌识别系统。



技术实现要素:

针对现有技术中的上述不足,本发明提供的一种基于高位摄像头的智能停车车牌识别方法解决了现有技术中存在的问题。

为了达到上述发明目的,本发明采用的技术方案为:一种基于高位摄像头的智能停车车牌识别方法,包括以下步骤:

s1、建立停车场数据库,并为每两个车位设置一个监控摄像头;

s2、通过摄像头采集停车场中车位监控视频,并对视频进行截帧处理,得到监测图片;

s3、判断监测图片中是否存在车辆,若是,则进入步骤s4,否则返回步骤s2;

s4、判断车辆是否存在于监控摄像头中的两个车位上,若是,则进入步骤s5,否则返回步骤s2;

s5、识别位于车位上车辆的车牌,保存数据至停车场数据库;

s6、将车位的标志位flag设置为车位空false,保存数据至停车场数据库,并返回步骤s2。

进一步地,所述步骤s1具体为:

s1.1、为停车场中每个车位分配一条数据记录,并为每条记录设置一个标志位flag;

s1.2、将标志位flag设置为车位空false,完成停车场数据库的构建;

s1.3、为每两个车位设置一个监控摄像头。

进一步地,所述步骤s2具体为:

s2.1、通过摄像头采集停车场中车位监控视频;

s2.2、对视频进行截帧处理,每隔12帧抽取1帧,并将抽取帧放入长度为20的图像队列,得到监测图片。

进一步地,所述步骤s3具体为:

s3.1、将监测图片中停车位区域设置为感兴趣区域;

s3.2、通过yolov3模型检测感兴趣区域上是否存在车辆,若是,则进入步骤s4,否则返回步骤s2。

进一步地,所述步骤s5具体为:

s5.1、为存在车辆的车位新建临时数据记录,并将临时数据记录的标志位flag设置为车位满true;

s5.2、选取1张监测图片裁剪车辆区域,并对车辆区域中的车牌进行识别,得到车牌号;

s5.3、滤除置信度低于设定阈值的车牌号,并判断是否存在置信度高于设定阈值的车牌号,若是,则直接进入步骤s5.4,否则将临时数据记录的标志位flag设置为车位空false,并进入步骤s5.4;

s5.4、判断车位对应的标志位flag是否为车位满true,若是,则进入步骤s5.5,否则进入步骤s5.6;

s5.5、判断临时数据记录的标志位flag是否为车位满true,若是,则进入步骤s5.7,否则进入步骤s5.8;

s5.6、判断临时数据记录的标志位flag是否为车位满true,若是,则进入步骤s5.9,否则返回步骤s5.2;

s5.7、判断车位在停车场数据库中记录的车牌号与临时数据记录对应车牌号是否相同,若是,则将车位对应的数据记录的标志位flag设置为车位满true,并保存数据且结束识别流程,否则识别图像队列中所有图像中的车牌号,并将置信度最高且重复度最高的车牌号保存为临时记录,保存数据且结束识别流程;

s5.8、判断车位已有的车辆图像中车辆位置框与临时数据记录中车辆位置框的交并比iou是否大于0.85,若是,则表明两条记录为同一辆车,将已有记录的车牌号赋予临时数据记录的车辆,将车位对应的数据记录的标志位flag设置为车位满true,并保存数据且结束识别流程,否则返回步骤s5.2;

s5.9、将临时数据记录对应车牌号赋予车位的数据记录,并将车位的标志位flag设置为车位满true,保存数据且结束识别流程。

进一步地,所述步骤s5.2具体为:

s5.2.1、选取1张监测图片并使用opencv级联分类器进行车牌检测;

s5.2.2、裁剪车牌区域,并对车牌区域中的车牌进行矫正;

s5.2.3、采用字符识别模型cnn对矫正后的车牌图像进行识别,得到车牌号。

进一步地,所述步骤s5.2.2中对车牌区域中的车牌进行矫正的具体方法为:

s5.2.2.1、根据车位与高位摄像头之间的距离和高度,获取高位摄像头与车位的俯角角度θ;

s5.2.2.2、以平行于车牌高度的直线为y轴,以垂直于车牌平面的直线为x轴建立坐标系,且x轴的负半轴穿过车牌平面;

s5.2.2.3、将车牌区域沿坐标系顺时针方向旋转θ度,得到初级矫正图像;

s5.2.2.4、采用透视变换方法对初级矫正图像进行矫正,完成车牌的矫正。

进一步地,所述步骤s5.2.3中的字符识别模型cnn包括依次连接的输入层、第一卷积层、第一最大池化层、第二卷积层、第二最大池化层、第三卷积层、第三最大池化层、第四卷积层、第四最大池化层、第五卷积层、第六卷积层、第一融合层、第十三卷积层以及输出层;所述第六卷积层还依次通过反卷积层、第二融合层、第七卷积层、第三融合层、第八卷积层、第四融合层、第九卷积层、第五融合层、第十卷积层、第五最大池化层、第六融合层、第十一卷积层、第六最大池化层、第七融合层以及第十二卷积层与第一融合层连接;所述反卷积层还与第七融合层连接,所述第五卷积层还分别与第二融合层和第七融合层连接,所述第七卷积层还与第六融合层连接,所述第四卷积层还分别与第三融合层和第六融合层连接,所述第八卷积层还与第五融合层连接,所述第三卷积层还分别与第四融合层和第五融合层连接;所述第七卷积层进行上采样操作,所述第八卷积层的输出进行上采样操作以及crop裁剪图像操作恢复图像尺寸。

进一步地,所述第十三卷积层采用softmax函数作为激活函数,所述第一卷积层至第十二卷积层均采用relu函数作为激活函数且输出均进行归一化处理。

进一步地,所述第一融合层至第七融合层均用于将输入的两个特征图通道数合并,将浅深层特征融合以增加语义信息。

本发明的有益效果为:

(1)本发明提供了一种基于高位摄像头的智能停车车牌识别方法,解决了现有街道路边停车的人工收费造成的费时费力的问题。

(2)本发明通过视频帧队列保存车辆停车过程事件的一段视频,解决了停车过程中车牌遮挡问题;通过车辆是否越过车位线解决了车辆停车问题;通过垂直俯仰角近似旋转变换和透视变换矫正方法解决摄像头下车牌倾斜的问题,通过车牌识别神经网络识别车牌解决了车牌识别的问题,加上多尺度特征融合方法解决了小分辨率车牌识别的问题。

(3)本发明针对于高位摄像头下车牌被遮挡问题,利用队列来保存发生停车和离开事件的流程照片,增加了获取车牌的机会,保证了车位的管理效率。

(4)本发明用识别结果累计比较的方法,让车牌识别结果更加精确。

(5)本发明在车牌识别前使用矫正方法矫正车牌图片,通过矫正后可以识别有小倾角的车牌,提高车牌识别结果的精确度。

(6)本发明采用全卷积网络的方法实现车牌识别系统,能够实现任意输入图像大小分辨率,可识别多种不同类型的车牌字符,有较好的识别精度,自动化识别车牌,可以降低人工收费操作,进一步提升城市智能化。

附图说明

图1为本发明提出的一种基于高位摄像头的智能停车车牌识别方法流程图。

图2为本发明提出的字符识别模型cnn结构示意图。

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

下面结合附图详细说明本发明的实施例。

如图1所示,一种基于高位摄像头的智能停车车牌识别方法,包括以下步骤:

s1、建立停车场数据库,并为每两个车位设置一个监控摄像头;

s2、通过摄像头采集停车场中车位监控视频,并对视频进行截帧处理,得到监测图片;

s3、判断监测图片中是否存在车辆,若是,则进入步骤s4,否则返回步骤s2;

s4、判断车辆是否存在于监控摄像头中的两个车位上,若是,则进入步骤s5,否则返回步骤s2;

s5、识别位于车位上车辆的车牌,保存数据至停车场数据库;

s6、将车位的标志位flag设置为车位空false,保存数据至停车场数据库,并返回步骤s2。

在本实施例中,识别到车牌后,过滤掉置信度低的车牌。对比当前车位已有记录和临时记录中车牌号信息,同一个车位有以下四种情况:一:已有记录车牌号不为空,临时记录车牌号为空;二:已有记录车牌号为空,临时记录车牌号不为空;三:已有记录车牌号和临时记录车牌号都不为空,车牌号相同;四:已有记录车牌号和临时记录车牌号都不为空,车牌号不相同。

第一种情况:对比两个车辆位置,两个车辆位置框的iou(交并比)大于0.85表明是同一辆车,车辆继续停在车位中,让已有记录的车牌赋值给临时记录的车牌,并将已有记录中flag置为true;位置框的iou(交并比)小于0.85表明不是同一辆车。

第二种情况:让临时记录的车牌复制给内存记录的车牌,将已有记录中的flag置为true。

第三种情况:表明是同一辆车,车辆继续停在车位中,将已有记录中的flag置为true。

第四种情况:表明是两辆车,原来的车辆发生离开事件,新的车辆发生停车事件,将队列中的帧全部识别,累积结果,取置信度和重复度最高车牌最为结果保存在临时记录中。上报已有记录车辆的离开事件,计算离开时间,更新数据库:删除已有记录,上传添加临时记录。

所述步骤s1具体为:

s1.1、为停车场中每个车位分配一条数据记录,并为每条记录设置一个标志位flag;

s1.2、将标志位flag设置为车位空false,完成停车场数据库的构建;

s1.3、为每两个车位设置一个监控摄像头。

所述步骤s2具体为:

s2.1、通过摄像头采集停车场中车位监控视频;

s2.2、对视频进行截帧处理,每隔12帧抽取1帧,并将抽取帧放入长度为20的图像队列,得到监测图片。

所述步骤s3具体为:

s3.1、将监测图片中停车位区域设置为感兴趣区域;

s3.2、通过yolov3模型检测感兴趣区域上是否存在车辆,若是,则进入步骤s4,否则返回步骤s2。

所述步骤s5具体为:

s5.1、为存在车辆的车位新建临时数据记录,并将临时数据记录的标志位flag设置为车位满true;

s5.2、选取1张监测图片裁剪车辆区域,并对车辆区域中的车牌进行识别,得到车牌号;

s5.3、滤除置信度低于设定阈值的车牌号,并判断是否存在置信度高于设定阈值的车牌号,若是,则直接进入步骤s5.4,否则将临时数据记录的标志位flag设置为车位空false,并进入步骤s5.4;

s5.4、判断车位对应的标志位flag是否为车位满true,若是,则进入步骤s5.5,否则进入步骤s5.6;

s5.5、判断临时数据记录的标志位flag是否为车位满true,若是,则进入步骤s5.7,否则进入步骤s5.8;

s5.6、判断临时数据记录的标志位flag是否为车位满true,若是,则进入步骤s5.9,否则返回步骤s5.2;

s5.7、判断车位在停车场数据库中记录的车牌号与临时数据记录对应车牌号是否相同,若是,则将车位对应的数据记录的标志位flag设置为车位满true,并保存数据且结束识别流程,否则识别图像队列中所有图像中的车牌号,并将置信度最高且重复度最高的车牌号保存为临时记录,保存数据且结束识别流程;

s5.8、判断车位已有的车辆图像中车辆位置框与临时数据记录中车辆位置框的交并比iou是否大于0.85,若是,则表明两条记录为同一辆车,将已有记录的车牌号赋予临时数据记录的车辆,将车位对应的数据记录的标志位flag设置为车位满true,并保存数据且结束识别流程,否则返回步骤s5.2;

s5.9、将临时数据记录对应车牌号赋予车位的数据记录,并将车位的标志位flag设置为车位满true,保存数据且结束识别流程。

所述步骤s5.2具体为:

s5.2.1、选取1张监测图片并使用opencv级联分类器进行车牌检测;

s5.2.2、裁剪车牌区域,并对车牌区域中的车牌进行矫正;

s5.2.3、采用字符识别模型cnn对矫正后的车牌图像进行识别,得到车牌号。

所述步骤s5.2.2中对车牌区域中的车牌进行矫正的具体方法为:

s5.2.2.1、根据车位与高位摄像头之间的距离和高度,获取高位摄像头与车位的俯角角度θ;

s5.2.2.2、以平行于车牌高度的直线为y轴,以垂直于车牌平面的直线为x轴建立坐标系,且x轴的负半轴穿过车牌平面;

s5.2.2.3、将车牌区域沿坐标系顺时针方向旋转θ度,得到初级矫正图像;

s5.2.2.4、采用透视变换方法对初级矫正图像进行矫正,完成车牌的矫正。

在本实施例中,车牌矫正部分:矫正分为两个步骤,一是对摄像头和车位进行俯仰角近似换算矫正俯仰角后旋转变换;二是采用透视变换方法矫正车牌。通过车位和固定的高位摄像头的距离以及高度得到近似的摄像头与车位俯角角度θ,车牌换算为直线进行旋转:将车牌以高度为直线,字面为左边,以车牌低端一点为原点建立坐标系,以原点为旋转中心顺时针旋转θ角度,得到旋转变换后的图片直线,计算变换坐标,通过坐标变换原来的车牌图片,变换后的车牌图片放入到第二步矫正。透视变换矫正需获得车牌四个顶点的具体位置,所以矫正前要对车牌进行更精确的定位来得到顶点位置。首先图像处理:先灰度化车牌图片,再进行自适应阈值二值化。检测二值化图片的车牌轮廓,使用正外接矩形包围轮廓点。检测轮廓中会有小噪点,待选车牌区域的像素均值大于噪点,所以通过对轮廓做像素均值过滤噪点。

通过在轮廓点集上做最小外接矩形操作,得到最小外接矩形的四个坐标a=(x1,y1),b=(x2,y2),c=(x3,y3),d=(x4,y4),分别为左上,左下,右上,右下。根据四个坐标获取轮廓点集到组成最小外接矩形直线的距离d,以(x1,y1),(x3,y3)组成的直线为例:

1)斜率无穷大:距离d=|x-x3|;

2)斜率不为无穷大:斜率距离

只通过计算轮廓点集到最小外接矩形的四个顶点距离求车牌顶点,在倾斜程度大的车牌上会有误差,所以在计算距离最小时包括到点和到线的距离。计算轮廓点集中到最小外接矩形的四个顶点a,b,c,d的距离d0以及到上下两条直线的距离l0,距离之和最小的四个点为车牌的四个顶点,距离之和公式为d=αd0+βl0。对到点的距离和线的距离有权重值参数weightα和weightβ,经过调试,weightα值取0.95,weightβ值取0.05,得到车牌顶点的准确度最高。

根据车牌的大小比例取(250,80)的车牌大小为透视变换所需的矩形,加上自动换算的转换矩阵,在原图像上透视变换得到矫正的车牌。

现已有很多仿射变换矫正车牌的方法,相对于仿射变换,本系统使用的透视变换更适合用于拍摄造成的车牌倾斜矫正。仿射变换是二维坐标和二位坐标的线性变换,适用于平面二维图像的坐标线性变换。透视变换是将二维坐标转换到三维的空间,再从三维空间映射到二维坐标中,适用于三维空间的非线性变换。拍摄的图像是由三维空间映射到二维坐标图像,使用透视变换将其映射回三维坐标,提升维度,减少矫正偏差。

通过轮廓点集到最小外接矩形的四个顶点距离和到两条直线距离的相结合,减少了在车牌倾角大时获取车牌顶点位置的误差。

如图2所示,所述步骤s5.2.3中的字符识别模型cnn包括依次连接的输入层、第一卷积层、第一最大池化层、第二卷积层、第二最大池化层、第三卷积层、第三最大池化层、第四卷积层、第四最大池化层、第五卷积层、第六卷积层、第一融合层、第十三卷积层以及输出层;所述第六卷积层还依次通过反卷积层、第二融合层、第七卷积层、第三融合层、第八卷积层、第四融合层、第九卷积层、第五融合层、第十卷积层、第五最大池化层、第六融合层、第十一卷积层、第六最大池化层、第七融合层以及第十二卷积层与第一融合层连接;所述反卷积层还与第七融合层连接,所述第五卷积层还分别与第二融合层和第七融合层连接,所述第七卷积层还与第六融合层连接,所述第四卷积层还分别与第三融合层和第六融合层连接,所述第八卷积层还与第五融合层连接,所述第三卷积层还分别与第四融合层和第五融合层连接;所述第七卷积层进行上采样操作,所述第八卷积层的输出进行上采样操作以及crop裁剪图像操作恢复图像尺寸。图2中括号里的内容为特征图的大小。

所述第十三卷积层采用softmax函数作为激活函数,所述第一卷积层至第十二卷积层均采用relu函数作为激活函数且输出均进行归一化处理。所述第一融合层至第七融合层均用于将输入的两个特征图通道数合并,将浅深层特征融合以增加语义信息。

字符识别模型cnn使用ctc作为损失函数实现端到端识别车牌字符,字符识别模型cnn共包含13个卷积层和1个反卷积层,分别为:第一卷积层至第十三卷积层,反卷积层。其中共有6次下采样进行降维,共有三次上采样进行图像特征放大,三次上采样包括一次反卷积和两次双线性插值。除最后一层第十三卷积层采用softmax作为激活函数,其他卷积均采用的是非线性激活函数relu并且进行了批归一化。cnn网络中使用了多尺度特征融合方法,最原始的特征由第一卷积层至第六卷积层得到,将第三卷积层至第六卷积层得到的特征进行双向融合,合并融合得到的特征和原始第六卷积层卷积得到的特征层,输入到最后一层进行卷积。浅深层特征融合过程采用concat方法来融合特征,concat(融合层)是两个特征图通道数的合并,通过浅深层特征融合增加了更多的语义信息,包括语义信息特征和空间信息特征。

第一卷积层至第五卷积层分别由16个、32个、64个、128个、256个3*3滤波器构成,第六卷积层由512个5*5滤波器构成,这6层卷积构成cnn的backbone主干网络。将第三卷积层至第六卷积层的特征分别从下至上和从下至上两次融合。从下至上融合(深层特征到浅层特征融合):使用反卷积和双线性插值的上采样方法加上crop裁剪图像恢复图像尺寸,使用concat方法叠加相同尺寸的特征图,增加通道数,特征融合之后再采用3*3或者5*5的卷积核对融合结果卷积,消除上采样的混叠效应。从下至上融合(浅层特征到深层特征融合):由主干网络特征、第一步融合特征和当前的特征叠加,同样使用concat方法叠加相同尺寸的特征图,融合之后进行卷积。将主干网络的最后特征与第二步特征融合后得到的最后特征进行concat融合,输入到最后的第十三卷积层,使用1*1的卷积核代替全连接层,去掉了全连接层对输入网络图像分辨率的限制,用组成车牌的字符总数目加上一个空字符数作为滤波器的个数来得到车牌字符分类输出。

卷积网络通常最后会连接着全连接层网络,这时输入图片的大小需固定resize成特定的大小才能放进网络中,resize后的图片会有畸变,造成识别困难问题。通过1*1的卷积核将网络变成全卷积形式,可以让网络输入任意图像进行识别,不用在识别时重新调整车牌图片resize成一个大小放进网络识别,提高网络识别的精度。同时由于不固定图片大小识别,可识别国内不同类型大小的车牌,如蓝牌,黄牌,绿牌。

本发明的有益效果为:

(1)本发明提供了一种基于高位摄像头的智能停车车牌识别方法,解决了现有街道路边停车的人工收费造成的费时费力的问题。

(2)本发明通过视频帧队列保存车辆停车过程事件的一段视频,解决了停车过程中车牌遮挡问题;通过车辆是否越过车位线解决了车辆停车问题;通过垂直俯仰角近似旋转变换和透视变换矫正方法解决摄像头下车牌倾斜的问题,通过车牌识别神经网络识别车牌解决了车牌识别的问题,加上多尺度特征融合方法解决了小分辨率车牌识别的问题。

(3)本发明针对于高位摄像头下车牌被遮挡问题,利用队列来保存发生停车和离开事件的流程照片,增加了获取车牌的机会,保证了车位的管理效率。

(4)本发明用识别结果累计比较的方法,让车牌识别结果更加精确。

(5)本发明在车牌识别前使用矫正方法矫正车牌图片,通过矫正后可以识别有小倾角的车牌,提高车牌识别结果的精确度。

(6)本发明采用全卷积网络的方法实现车牌识别系统,能够实现任意输入图像大小分辨率,可识别多种不同类型的车牌字符,有较好的识别精度,自动化识别车牌,可以降低人工收费操作,进一步提升城市智能化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1