一种基于变形平面物体检测网络的大角度车牌检测方法与流程

文档序号:21641798发布日期:2020-07-29 02:53阅读:424来源:国知局
一种基于变形平面物体检测网络的大角度车牌检测方法与流程

本发明涉及计算机视觉和模式识别技术领域,具体涉及一种基于变形平面物体检测网络的大角度车牌检测方法。



背景技术:

目前来说,车牌检测是计算机视觉和模式识别领域的热点研究问题之一。而在许多车牌检测任务中,检测出来的车牌往往出现严重倾斜的问题,把这种严重倾斜的车牌称为大角度车牌,严重倾斜的车牌会影响后续的车牌识别,因此如何识别这种大角度车牌已经成为车牌识别领域中的一个重点和难点。

jaderberg提出的检测方法是将车牌识别分为两部分,首先使用定位取代分割定位每个字符的位置,然后对每个字符进行分类来识别车牌,但是由于该方法检测出来的车牌都是矩形框,并没有做车牌矫正,因此没有从根本上解决车牌识别困难的问题。



技术实现要素:

本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于变形平面物体检测网络的大角度车牌检测方法

本发明的目的可以通过采取如下技术方案达到:

一种基于变形平面物体检测网络的大角度车牌检测方法,该变形平面物体检测网络由主干网络和预测网络顺序连接组成,所述的大角度车牌检测方法包括下列步骤:

s1、使用卷积层、池化层、relu层构造大角度车牌检测的主干网络,作为车牌图像的特征提取器,其中卷积层中卷积核的尺寸为k*k,采用主干网络对输入的车牌图像进行特征提取得到特征图;

s2、构建预测网络,预测网络具有两个并行的卷积层,分别称为第一卷积层和第二卷积层,在所述的第一卷积层内,用2个m*m的卷积核在主干网络输出的特征图上滑动计算得到第一实例特征图,其中m为卷积核的尺寸,将第一实例特征图通过softmax激活函数,得到置信度特征图;在所述的第二卷积层内,用6个n*n卷积核在主干网络输出的特征图上滑动计算得到第二实例特征图,其中n为卷积核的尺寸,将第二实例特征图通过linear激活函数,得到仿射特征图,最后将仿射特征图和置信度特征图在通道维度上进行拼接操作,得到预测特征图ft,其中,所述的预测特征图ft含有8通道,8通道内数值分别定义为vi,i=1~8,其中v1,v2分别表示该预测框含有目标的置信度和不含有目标的置信度,v3~8分别表示仿射矩阵元素,通过在预测网络中设计两个并行的卷积层,将置信度预测与仿射参数预测进行部分解耦,提升预测网络的准确率;

s3、设计损失函数对主干网络和预测网络进行训练;

s4、将所述的预测特征图ft,以(m,n)点单元为中心,构造四个虚拟角点qi,i=1~4,其中m、n分别表示预测特征图ft中点单元的横坐标和纵坐标,然后对四个虚拟角点进行仿射变换得到目标四个预测角点坐标li,i=1~4;

s5、根据预测角点坐标li,求解透射变换方程组,得到单应性矩阵,然后根据单应性矩阵矫正图像,并利用v1、v2剔除置信度低的矫正图像,得到最后的检测结果。

进一步地,所述的主干网络具体结构如下:

从输入层至输出层依次连接为:卷积核的尺寸为3x3、个数16的卷积层conv;relu层conv_relu;卷积核的尺寸为3x3、个数16的卷积层conv;relu层conv_relu;池化层max_pooling;卷积核的尺寸为3x3、个数32的卷积层conv;relu层conv_relu;池化层max_pooling;卷积核的尺寸为3x3、个数32的卷积层conv;relu层conv_relu;池化层max_pooling;卷积核的尺寸为3x3、个数64的卷积层conv;relu层conv_relu、池化层max_pooling;卷积核的尺寸为3x3、个数128的卷积层conv。

主干网络全部采用尺寸为3x3的卷积核,因为在获得同样感受野大小的前提下,多个3x3的卷积核比一个大尺寸的卷积层拥有更少的参数量,更多的非线性,使得变形平面物体检测网络拟合能力更强,变形平面物体检测网络参数量更少。

进一步地,所述的损失函数由两部分组成,第一部分为角点坐标距离损失函数,第二部为置信度损失函数,其中,所述的角点坐标距离损失函数计算过程如下:

对虚拟角点进行仿射变换:

这里对虚拟角点进行仿射变换,而不是透射变换,是因为透射变换中涉及的除法运算可能会在分母中生成较小的值,进而导致数值不稳定。

对车牌四个真实角点pi中心化,得到中心化坐标cmn(pi):

其中ns表示变形平面物体检测网络下采样倍数,

计算真实角点坐标pi和vmn(qi)之间距离误差,得到角点坐标距离损失函数:

其中,所述的置信度损失函数计算公式如下:

其中,为目标指示函数,用来指示预测特征图ft中(m,n)单元是否包含目标;

在置信度损失函数中采用交叉熵损失函数,降低变形平面物体检测网络的训练难度。

所述的损失函数由角点坐标距离损失函数和置信度损失函数相加得到,表达式如下:

进一步地,所述的步骤s5中使用透射变换对预测角点坐标进行转换,得到矫正图像,过程如下:

首先对k,k≥4组不共线的匹配特征点求解仿射方程组,得到单应性矩阵h,然后根据单应性矩阵对原始图像进行透射变换,得到矫正图像,并根据预测坐标裁剪目标区域。

本发明相对于现有技术具有如下的优点及效果:

1、本发明提出的基于变形平面物体检测网络的大角度车牌检测方法由yolo方法和stn方法改进而成,同时具备车牌矫正和运行速度快的特性,可以大幅度提升在终端设备上的运行速度

2、本发明公开的车牌检测方法通过构造变形平面物体检测网络直接回归大角度车牌的四个角点坐标,然后对大角度车牌进行透射变换,将大角度车牌矫正为正角度车牌,有效提高各种非限制场景下的车牌识别准确率。

附图说明

图1是本发明实施例公开的基于变形平面物体检测网络的大角度车牌检测方法的流程图;

图2是本发明实施例公开的基于变形平面物体检测网络的大角度车牌检测方法的示例处理步骤图;

图3是本发明实施例公开的变形平面物体检测网络的主干网络结构图;

图4是本发明实施例公开的变形平面物体检测网络中的预测网络结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

本实施例公开了一种基于变形平面物体检测网络的大角度车牌检测方法,具体包括下列步骤:

s1、变形平面物体检测网络由主干网络和预测网络串联组成,使用卷积层、池化层、relu层构造大角度车牌检测的主干网络,作为车牌图像的特征提取器,其中卷积层内卷积核的尺寸为3*3,主干网络对输入车牌图像进行特征提取得到主干网络输出特征图,主干网络具体结构如下:

从输入层至输出层依次连接为:卷积核的尺寸为3x3、个数16的卷积层conv;relu层conv_relu;卷积核的尺寸为3x3、个数16的卷积层conv;relu层conv_relu;池化层max_pooling;卷积核的尺寸为3x3、个数32的卷积层conv;relu层conv_relu;池化层max_pooling;卷积核的尺寸为3x3、个数32的卷积层conv;relu层conv_relu;池化层max_pooling;卷积核的尺寸为3x3、个数64的卷积层conv;relu层conv_relu、池化层max_pooling;卷积核的尺寸为3x3、个数128的卷积层conv。

s2、构建预测网络,预测网络具有两个并行的卷积层,分别称为第一卷积层和第二卷积层:(i)在第一卷积层内,用两个m*m的卷积核在主干网络输出的特征图上滑动计算得到第一实例特征图,其中m为卷积核的尺寸,将第一实例特征图通过softmax激活函数,得到置信度特征图;(ii)在第二卷积层内,用六个n*n卷积核在主干网络输出的特征图上滑动计算得到第二实例特征图,其中n为卷积核的尺寸,将第二实例特征图通过linear激活函数,得到仿射特征图,最后将仿射特征图和置信度特征图在通道维度上进行拼接操作,得到最后的预测特征图ft。预测特征图ft含有8通道,8通道内数值分别定义为vi,i=1~8,其中v1,v2分别表示该预测框含有目标的置信度和不含有目标的置信度,v3~8分别表示仿射矩阵元素,预测网络的作用是将置信度预测与仿射参数预测进行部分解耦。

s3、训练损失函数对主干网络和预测网络进行训练。

损失函数由两部分组成,第一部分为角点坐标距离损失函数,第二部为置信度损失函数。

对虚拟角点进行仿射变换:

对车牌四个真实角点pi中心化,得到中心化坐标cmn(pi):

其中ns表示变形平面物体检测网络下采样倍数。

计算真实角点坐标pi和vmn(qi)之间距离误差,得到角点坐标距离损失函数:

其中,置信度损失函数计算公式如下:

其中,为目标指示函数,用来指示预测特征图ft中(m,n)单元是否包含目标;

损失函数由角点坐标距离损失函数和置信度损失函数相加得到,表达式如下:

s4、以预测特征图ft中(m,n)点单元为中心,构造四个虚拟角点qi,i=1~4,其中m,n分别表示预测特征图ft中点单元的横坐标和纵坐标,然后对四个虚拟角点进行仿射变换vmn(qi),得到目标四个预测角点坐标li,i=1~4。

s5、根据预测角点坐标li,求解透射变换方程组,得到单应性矩阵,然后根据单应性矩阵矫正图像,并利用v1,v2剔除置信度低的矫正图像,得到最后的检测结果。

在一台256内存的dell服务器上进行网络训练和测试,服务器配置4张nvidia1080tigpu和intelxeoncpue5-2660v3cpu,运行主频为2.6ghz,操作系统为ubuntu16.04.4lts,图像处理库opencv2.4.9,程序开发语言为python,基于tensorflow深度学习框架,使用1600张图片用于网络训练,学习率设置为0.0001,网络迭代50000次,在第30000次衰减学习率,衰减参数为0.01。使用200张图片作为测试集,车牌倾角范围-20°~+20°,设定车牌检测结果与车牌正确标注区域的iou大于0.7为定位正确,对测试集进行实验,本发明方法的定位准确率为95.5%,比开源项目easypr的准确率高出5%,验证了本发明的有效性。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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