本发明涉及模式识别与计算机视觉领域,具体涉及一种基于深度学习网络的车牌检测定位方法。
背景技术:
随着我国社会的快速推进,车辆作为代步出行的交通工具逐渐得到普及。但另一方面,车辆数目的激增给我国城市交通带来了巨大的压力。为了缓解城市交通的压力,我国很多城市采取了尾号限行等办法。但大多数该类方法都属于短期措施。由于道路硬件设施的限制,汽车保有量的增加带来的各类交通安全、堵塞问题成为了社会矛盾的焦点。综上所述,加强交通管理的重要性不言而喻。
不论是当今各种交通场合,还是公共安全管理系统,抑或未来无人汽车、无人驾驶领域,车牌检测系统都是一个不可或缺的过程,给城市健康有序管理带来了诸多便捷。虽然车牌检测系统已得到广泛应用,但是,目前车牌检测技术仍然存在诸多难点,各方面性能还有很大的改进空间。特别地,相比国外的车辆牌照,我国的车牌又具有其独特性:我国车牌除了阿拉伯数字和英文字母外,还含有中文字符,而且存在车牌前景、背景颜色不一,单双车牌,各种特殊用途车牌如使馆、警用车牌和军用车牌等。因此,我国的车牌识别系统不能简单移植国外的技术,只能自主研发创新。另外在复杂背景、光照影响、车牌脏污或者缺失的情况下,现有的车牌检测系统检测效果并不理想。
技术实现要素:
有鉴于此,本发明的目的在于提供一种基于深度学习网络的车牌检测定位方法,解决针对基于复杂场景下全球眼视频监控道路中车牌检测定位的问题。
为实现上述目的,本发明采用如下技术方案:
一种基于深度学习网络的车牌检测定位方法,包括以下步骤:
步骤s1:采集车辆和车牌样本图片数据;
步骤s2:构建第一卷积神经网络,并将车辆样本图片数据作为训练数据训练第一卷积神经网络,得到车牌检测粗定位模型;
步骤s3:构建第二卷积神经网络,并将车牌样本图片数据作为训练数据训练第二卷积神经网络,得到车牌检测角点回归模型;
步骤s4:对输入的监控视频按照静止帧提取待检测的视频图片序列;
步骤s5:将待检测的视频图片序列输入车牌检测粗定位模型,得到候选车牌图片;
步骤s6:将候选车牌图片输入车牌检测角点回归模型,并标记并反馈出车牌角点信息,得到待检测的视频图片序列的车牌检测结果。
进一步的,所述步骤s1采集的车辆和车牌样本图片数据包括带有车牌外接矩形信息的车辆正样本数据、不存在车牌信息的车辆负样本数据、标注过的车牌顶点坐标信息、车牌正样本图片数据、存在部分车牌信息的车牌部分样本图片数据和不存在车牌信息的车牌负样本图片数据
进一步的,所述步骤s2具体为:
步骤s21:构建第一卷积神经网络,包括19个卷积层、6个次采样层和1个softmax回归层,所述卷积层作为特征提取层,对输入的部分图像进行高级特征提取;所述次采样层包括1个平均池化层和5个最大池化层,作为对应卷积层的下采样运算;所述softmax回归层作为分类算法,得到该输入部分图片对应区域是否存在车牌;
步骤s22:对第一卷积神经网络中卷积层的参数进行初始化,将标注过的带有车牌外接矩形信息的车辆正样本数据和不存在车牌信息的车辆负样本数据作为训练样本;
步骤s23:使用训练样本训练初始化后的第一卷积神经网络结构,每经过预设批次训练,将会微调卷积神经网络,随机选择新的图片尺度进行输入,使得该卷积神经网络具有对不同尺寸图片的鲁棒性;
步骤s23:使用随机梯度下降算法对第一卷积神经网络进行参数的动态更新,得到车牌检测粗定位模型。
进一步的,所述步骤s3具体为:
步骤s31:构建第二卷积神经网络包括4个卷积层、3个次采样层、2个全连接层1个softmax回归层,所述卷积层作为特征提取层,对输入的部分图像进行高级特征提取;所述次采样层包括3个最大池化层,作为对应卷积层的下采样运算;所述全连接层作为检测层,对输出的部分图像对应的相应图;所述softmax回归层作为分类算法,得到该输入部分图片对应区域是否存在车牌,以及如果存在车牌时标记出车牌的四个角点的坐标信息;
步骤s32:对第二卷积神经网络中卷积层的参数进行初始化,将标注过的车牌顶点坐标信息的车牌正样本数据、存在部分车牌信息的车牌部分样本数据和不存在车牌信息的车牌负样本作为训练样本;
步骤s33:使用训练样本训练初始化后的第二卷积神经网络结构训练使用的损失函数由二部分构成,包括车牌分类损失函数:
其中车牌分类损失函数
角点定位损失函数:
其中角点定位损失函数
步骤s34:使用训练样本训练初始化后的第二卷积神经网络结构,使用随机梯度下降算法对第二卷积神经网络进行参数的动态更新,最后得到车牌检测角点回归模型。
进一步的,所述步骤s5具体为:
步骤s51:对待检测的视频图片序列进行预处理操作,去除影像设备对图像造成噪声影响,将处理后的图像作为输入图像。
步骤s52:通过滑动窗口的方式,让输入图片分辨率以416*416的大小输入第一卷积神经网络中;
步骤s53:选取3*3的卷积核进行前向卷积运算,进行卷积特征提取,得到卷积特征图;
步骤s54:对卷积特征图执行下采样运算,得到高低分辨率的特征图;
步骤s55:在高低分辨率的特征图之间通过转移层做一次连接,连接方式是叠加特征到不同的通道上,将不同分辨率的特征图进行连接,使得卷积神经网络检测器拥有更好的细粒度特征;
步骤s56:使用全局平均池化层,将1*1的卷积核置于3*3卷积核之间,用来进行特征压缩;
步骤s57:在最后一层softmax层中,设置该层神经元个数为2,用于分类,按照以下式子进行车牌目标判别:
其中c(i,k)表示图像i属于第ck类、c1表示车牌类,c2表示非车牌类;所述scorek为经过softmax层计算得出的第k类的得分,取scorek高于阈值,其中大于0.7为车牌类,否则为非车牌类为车牌类,以此进行车牌检测粗定位,得到候选车牌图片。
进一步的,所述步骤s6具体为:
步骤s51:对输入的候选车牌图片进行归一化处理,使得图像满足其第二卷积神经网络输入图像的要求,图像i‘为图像缩放后图像i;
步骤s52:选取3*3的卷积核进行前向卷积运算,进行卷积特征提取,得到卷积特征图;
步骤s53:对卷积特征图执行下采样运算;
步骤s54:执行全连接运算,第l层为全连接层,第l层的输出为:
f=f(wl·i’(l)+b(l))
其中wl为第l层的全连接层的权重值;所述i’(l)为第l层全连接层的输入;所述b(l)为第l层全连接层的偏置值;所述f(-)为relu激活函数,公式为:f(x)=max(0,x),所述x为该函数的自变量;
步骤s55:输出层由两部分构成:在softmax层中,设置该层神经元个数为2,用于分类,按照以下式子进行车牌目标判别:
其中,c(i,k)表示图像i属于第ck类,c1表示车牌类,c2表示非车牌类;所述scorek为经过softmax层计算得出的第k类的得分,取scorek高于阈值,大于0.8为车牌类,否则为非车牌类为车牌类;以此进行车牌类别检测;
步骤s56:当分类出为车牌类后,全连接层将回归出该车牌的四个角点坐标信息,并且在图像中标记出4个角点位置。
本发明与现有技术相比具有以下有益效果:
本发明采用深度学习技术,对车牌检测拥有很强的错误兼容性,能够自己调整学习过程,可以省去大量的人工数学建模和数据分析工作。
附图说明
图1为本发明的方法流程图;
图2为本发明一实施例中车牌粗定位卷积神经网络结构图;
图3为本发明一实施例中车牌角点回归卷积神经网络结构图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
请参照图1,本发明提供一种基于深度学习网络的车牌检测定位方法,包括以下步骤:
步骤s1:采集车辆和车牌样本图片数据;包括带有车牌外接矩形信息的车辆正样本数据、不存在车牌信息的车辆负样本数据、标注过的车牌顶点坐标信息、车牌正样本图片数据、存在部分车牌信息的车牌部分样本图片数据和不存在车牌信息的车牌负样本图片数据;
步骤s2:构建第一卷积神经网络,并将车辆样本图片数据作为训练数据训练第一卷积神经网络,得到车牌检测粗定位模型;
步骤s3:构建第二卷积神经网络,并将车牌样本图片数据作为训练数据训练第二卷积神经网络,得到车牌检测角点回归模型;
步骤s4:对输入的监控视频按照静止帧提取待检测的视频图片序列;
步骤s5:将待检测的视频图片序列输入车牌检测粗定位模型,得到候选车牌图片;
步骤s6:将候选车牌图片输入车牌检测角点回归模型,并标记并反馈出车牌角点信息,得到待检测的视频图片序列的车牌检测结果。
本实施例中,所述步骤s2具体为:
步骤s21:构建第一卷积神经网络,包括19个卷积层、6个次采样层和1个softmax回归层,所述卷积层作为特征提取层,对输入的部分图像进行高级特征提取;所述次采样层包括1个平均池化层和5个最大池化层,作为对应卷积层的下采样运算;所述softmax回归层作为分类算法,得到该输入部分图片对应区域是否存在车牌;
步骤s22:对第一卷积神经网络中卷积层的参数进行初始化,将标注过的带有车牌外接矩形信息的车辆正样本数据和不存在车牌信息的车辆负样本数据作为训练样本;其中正样本和负样本的数量比例为3:1;
步骤s23:使用训练样本训练初始化后的第一卷积神经网络结构,每经过10批次训练,将会微调卷积神经网络,随机选择新的图片尺度进行输入,使得该卷积神经网络具有对不同尺寸图片的鲁棒性;
步骤s23:使用随机梯度下降算法对第一卷积神经网络进行参数的动态更新,得到车牌检测粗定位模型。
在本实施例中,所述步骤s3具体为:
步骤s31:构建第二卷积神经网络包括4个卷积层、3个次采样层、2个全连接层1个softmax回归层,所述卷积层作为特征提取层,对输入的部分图像进行高级特征提取;所述次采样层包括3个最大池化层,作为对应卷积层的下采样运算;所述全连接层作为检测层,对输出的部分图像对应的相应图;所述softmax回归层作为分类算法,得到该输入部分图片对应区域是否存在车牌,以及如果存在车牌时标记出车牌的四个角点的坐标信息;
步骤s32:对第二卷积神经网络中卷积层的参数进行初始化,将标注过的车牌顶点坐标信息的车牌正样本数据、存在部分车牌信息的车牌部分样本数据和不存在车牌信息的车牌负样本作为训练样本;其中正样本、部分样本和负样本的数量比例为1:1:3;
步骤s33:使用训练样本训练初始化后的第二卷积神经网络结构训练使用的损失函数由二部分构成,包括车牌分类损失函数:
其中车牌分类损失函数
角点定位损失函数:
其中角点定位损失函数
步骤s34:使用训练样本训练初始化后的第二卷积神经网络结构,使用随机梯度下降算法对第二卷积神经网络进行参数的动态更新,最后得到车牌检测角点回归模型。
在本实施例中,所述步骤s5具体为:
步骤s51:对待检测的视频图片序列进行预处理操作,去除影像设备对图像造成噪声影响,将处理后的图像作为输入图像。
步骤s52:通过滑动窗口的方式,让输入图片分辨率以416*416的大小输入第一卷积神经网络中;所述分辨率为416*416大小,这样容易产生一个中心,对每个中心预测k个建议框(这里k表示建议框个数,这里取k的值为5个),提高检测车牌的概率。所述的建议框为先验框,使用了k-means聚类方法训练合适的先验框宽高维度。该聚类方法采用的距离函数为:d(box,centroid)=1-iou(box,centroid)。其中box为可能的候选框,centroid为该候选框的中心点,iou(-)为对该候选框的评分。
步骤s53:选取3*3的卷积核进行前向卷积运算,进行卷积特征提取,得到卷积特征图;设第i层神经元的输入为i’(i),则第i+1层神经元输入即第i层的输出为:
步骤s54:对卷积特征图执行下采样运算,得到高低分辨率的特征图;将次采样层i’(i)的输入划分为区域ak,k∈(1,n)。所述下采样运算按照以下公式进行采样:
步骤s55:在高低分辨率的特征图之间通过转移层做一次连接,连接方式是叠加特征到不同的通道上,将不同分辨率的特征图进行连接,使得卷积神经网络检测器拥有更好的细粒度特征;
步骤s56:使用全局平均池化层,将1*1的卷积核置于3*3卷积核之间,用来进行特征压缩;使用的采样运算按照以下公式进行采样:pool(ak)=avgi∈kfi。所述ak为全局平均池化层的输入的区域划分;所述fi为该层输入划分区域的像素值。
步骤s57:在最后一层softmax层中,设置该层神经元个数为2,用于分类,按照以下式子进行车牌目标判别:
其中c(i,k)表示图像i属于第ck类、c1表示车牌类,c2表示非车牌类;所述scorek为经过softmax层计算得出的第k类的得分,取scorek高于阈值,其中大于0.7为车牌类,否则为非车牌类为车牌类,以此进行车牌检测粗定位,得到候选车牌图片。
在本实施例中,所述步骤s6具体为:
步骤s51:对输入的候选车牌图片进行归一化处理,使得图像满足其第二卷积神经网络输入图像的要求,图像i‘为图像缩放后图像i;
步骤s52:选取3*3的卷积核进行前向卷积运算,进行卷积特征提取,得到卷积特征图;设第i层神经元的输入为i’(i),则第i+1层神经元输入即第i层的输出为
步骤s53:对卷积特征图执行下采样运算;将次采样层i’(i)的输入划分为区域ak,k∈(1,n)。所述下采样运算按照以下公式进行采样:
步骤s54:执行全连接运算,第l层为全连接层,第l层的输出为:
f=f(wl·i’(l)+b(l))
其中wl为第l层的全连接层的权重值;所述i’(l)为第l层全连接层的输入;所述b(l)为第l层全连接层的偏置值;所述f(-)为relu激活函数,公式为:f(x)=max(0,x),所述x为该函数的自变量;
步骤s55:输出层由两部分构成:在softmax层中,设置该层神经元个数为2,用于分类,按照以下式子进行车牌目标判别:
其中,c(i,k)表示图像i属于第ck类,c1表示车牌类,c2表示非车牌类;所述scorek为经过softmax层计算得出的第k类的得分,取scorek高于阈值,大于0.8为车牌类,否则为非车牌类为车牌类;以此进行车牌类别检测;
步骤s56:当分类出为车牌类后,全连接层将回归出该车牌的四个角点坐标信息,并且在图像中标记出4个角点位置。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。