[发明专利]一种端到端的轻量级深度车牌识别方法有效
申请号: | 202010149501.1 | 申请日: | 2020-03-06 |
公开(公告)号: | CN111401361B | 公开(公告)日: | 2022-09-30 |
发明(设计)人: | 茅耀斌;张伟;张浩;韩翊;项文波;曹倩倩;卓一 | 申请(专利权)人: | 南京理工大学 |
主分类号: | G06V10/20 | 分类号: | G06V10/20;G06V10/44;G06V10/774;G06V10/80;G06V10/82;G06N3/04 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 马鲁晋 |
地址: | 210094 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 端到端 轻量级 深度 车牌 识别 方法 | ||
1.一种端到端的轻量级深度车牌识别方法,其特征在于,所述方法包括以下步骤:
步骤1,采集包含车牌的图像,构建车牌数据集;
步骤2,构建车牌检测网络;具体包括:
步骤2-1,构建第一特征提取模块,利用该模块提取车牌数据的特征,生成n个不同尺寸的特征图;所述构建第一特征提取模块,具体为:利用基于深度可分离卷积的轻量化模块作为特征提取的基础模块,结合下采样模块,构建第一特征提取模块;
步骤2-2,构建第一特征融合模块,利用该模块实现统一步骤2-1所有特征图的尺寸,对统一尺寸后的所有特征图进行求和,并利用全局上下文增强模块进行全局信息增强,获得第一复合特征图;
步骤2-3,构建第一解码模块,利用该模块对所述第一复合特征图进行解码,解码后输出的特征图通道数为车牌检测所需的信息长度;其中所述所需的信息包括:车牌角点的坐标与置信度;所述构建第一解码模块,具体为:利用基于深度可分离卷积构建的残差模块,以及后卷积模块,构建解码模块;
步骤3,获取车牌区域图像;
步骤4,构建车牌识别网络;具体包括:
步骤4-1,构建第二特征提取模块,利用该模块提取步骤3获得的车牌区域图像的特征,生成n个不同尺寸的特征图;
步骤4-2,构建第二特征融合模块,利用该模块实现统一步骤4-1所有特征图的尺寸,在通道维度对统一尺寸后的特征图进行拼接,并利用全局上下文嵌入模块进行特征增强,获得第二复合特征图;所述构建第二特征提取模块,具体为:利用基于深度可分离卷积的轻量化模块作为特征提取的基础模块,结合并行下采样模块,构建第二特征提取模块;
所述并行下采样模块包括:
两路分支,一路依次使用步长为1的1×1卷积和步长为2的3×3卷积,另一路采用步长为2的2×2最大池化层,两路的输出特征在通道维度进行拼接后作为一个1×1卷积单元的输入;
或两路分支,一路依次使用步长为1的1×1卷积和步长为(2,1)的3×3卷积,另一路采用步长为(2,1)的3×3最大池化层,两路的输出特征在通道维度进行拼接后作为一个1×1卷积单元的输入;
或两路分支,一路依次使用步长为1的1×1卷积和步长为(2,1)的5×1卷积,另一路采用步长为(2,1)的3×3平均池化层,两路输出特征在通道维度进行拼接后作为一个1×1卷积单元的输入;
或两路分支,一路依次使用步长为1的1×1卷积和步长为(4,1)的7×1卷积,另一路采用步长为(4,1)的5×3平均池化层,两路输出特征在通道维度进行拼接后作为一个1×1卷积单元的输入;
步骤4-3,构建第二解码模块,利用该模块对所述第二复合特征图进行解码,获得车牌字符序列;对所述第二复合特征图进行解码,具体包括:依次利用分解卷积模块、平均池化层以及对特征图第二维度取平均对第二复合特征图进行处理;
步骤5,将车牌检测网络和车牌识别网络视为整体,对该整体网络进行端到端训练;具体包括:
步骤5-1,从步骤3-2获得的图像中提取若干图像输入至车牌检测网络,获得检测预测张量T1,T1尺寸为通道数为L1,视为L1个的栅格图,L1为每个车牌检测所需的信息长度;
步骤5-2,对检测预测张量T1进行后置处理获得检测结果张量R1,尺寸为C×L1;其中,C表示检测到的车牌数量;具体过程包括:
步骤5-2-1,对检测预测张量T1每个位置预测的四个角点置信度取平均,获得对象得分栅格图g1;
步骤5-2-2,将g1中的得分进行降序排序,并提取前k项得分;
步骤5-2-3,将前k项得分中小于预设阈值H的得分去除;
步骤5-2-4,对剩余得分项进行非极大值抑制,最终保留下来的项即为检测结果张量R1;
步骤5-3,将步骤3-4中经过透视矫正后的车牌区域图像尺寸缩放至车牌识别网络所需的输入尺寸a×b,之后将缩放后的车牌区域图像输入至车牌识别网络,获得识别预测张量T2;
步骤5-4,构建车牌检测与识别网络的损失函数Ltotal;具体包括:
步骤5-4-1,构建检测网络的损失函数:
(1)划分正负样本区域;
构建一个尺寸与检测预测张量T1尺寸相同的栅格图g,将标注的车牌区域角点位置信息投影至栅格图g中,之后按照FoveaBox的方法,将车牌区域按尺寸大小划分成三部分:正样本区域、忽略区域以及负样本区域;具体地,求取车牌区域的中心,将中心到四个角点的距离乘以收缩因子σ1,获得新的四个角点构成的四边形区域sp,将sp内部作为正样本区域;重新将中心到四个角点的距离乘以收缩因子σ2,获得新的四个角点构成的四边形区域sn,将sn外部作为负样本区域;sp与sn之间作为忽略区域;其中,0<σ1<σ2≤1;这三类样本区域对应到T1中得到三类区域的数据;
(2)计算正、负样本区域的整体置信度损失Lconf,所用公式为:
式中,Npos,Nneg分别代表栅格图g中正、负样本的个数,LFl为每个样本的置信度损失,公式如下:
式中,c为预测的对象整体置信度,由一个车牌对象的所有角点置信度得分取平均得到;cgt为相应的真实置信度;sample代表一个栅格属于正样本还是负样本,1代表正样本,0代表负样本;
(3)计算正样本区域数据中所包含的预测角点坐标的损失Lcor,所用公式为:
式中,LCG为复合高斯损失,公式如下:
式中,第一项代表角点预测损失,Gscore为对象置信度;第二项代表边界框距离损失,含义与DIoU损失中的对应项相同,b代表预测的角点位置构成的外接矩形边界框,bgt代表标注的角点位置构成的外接矩形边界框,ρ(b,bgt)代表两个边界框b、bgt中心点之间的距离,c代表b、bgt所确定的外接矩形的对角线长度;第三项代表四边形形状损失,最后一项代表四个角点置信度的离散度损失,其中:
式中,(w1,h1,w2,h2)代表检测出的四个角点中位于左上和右下的两个角点、右上和左下的两个角点分别组成的两个边界框对应的宽与高,(w1gt,h1gt,w2gt,h2gt)代表标注信息中对应的四个角点中位于左上和右下的两个角点、右上和左下的两个角点分别组成的两个边界框对应的宽与高,Gsi表示预测的四个角点中第i个角点的置信度得分,Gsigt表示标注的第i个角点的真实置信度得分;
(4)构建检测网络的损失函数Ldet,所用公式为:
Ldet=Lconf+Lcor
步骤5-4-2,构建识别网络的损失函数Lctc:
Lctc=-∑(x,z)∈S lnp(z|x)
式中,x为车牌的标注信息中车牌号码对应字典d的编码序列,z为对应字典d的输出序列,p(z|x)代表在x条件下生成z的概率,S表示训练集中的数据;字典d由所有车牌字符类别构成;
步骤5-4-3,根据检测网络的损失函数和识别网络的损失函数构建车牌检测与识别网络的损失函数Ltotal为:
Ltotal=Ldet+λLctc
式中,λ为权重因子,取值范围为(0,1);
步骤5-5,将T1、T2作为输入,根据损失函数计算当前损失值,根据当前损失值对车牌检测与识别网络进行优化;
步骤5-6,从步骤3-2获得的图像中提取若干图像,重复步骤5-1至步骤5-5,直至达到预设终止条件,结束训练;
步骤6,利用训练后的网络识别待检测车牌图像中的车牌;具体过程包括:
步骤6-1,对待检测车牌图像执行步骤5-1至步骤5-3的过程,获得检测结果张量R1和识别预测张量T2;
步骤6-2,按照CTC的实现规则,对T2进行Softmax操作将其变换为概率形式;
步骤6-3,利用贪心搜索获取每个预测位取概率最大的字符,获得车牌的字符序列S;
步骤6-4,去除所述字符序列S的空白位和重复位,获得最终的车牌识别结果R2。
2.根据权利要求1所述的端到端的轻量级深度车牌识别方法,其特征在于,步骤3所述获取车牌区域图像,具体包括:
步骤3-1,将车牌数据集中图像的尺寸统一放缩至M×M;
步骤3-2,进一步将图像尺寸放缩至N×N,N×N为车牌检测网络的输入尺寸,其中,N<M;
步骤3-3,将车牌检测网络输出的角点坐标投影至步骤3-1中尺寸为M×M的图像中,取出相应的车牌区域图像;
步骤3-4,对所述车牌区域图像进行几何透视矫正。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010149501.1/1.html,转载请声明来源钻瓜专利网。