目标检测模型训练、检测方法、设备及存储介质与流程

文档序号:24620217发布日期:2021-04-09 20:25阅读:44来源:国知局
目标检测模型训练、检测方法、设备及存储介质与流程

本申请属于目标检测技术领域,具体涉及目标检测模型训练、检测方法、设备及存储介质。



背景技术:

图像的目标检测是计算机视觉经典四个任务中的一个,与目标识别不同,其需要检测出同一图片中存在的多个目标。由于该类算法的复杂性,需要神经网络模型包含大量可训练参数,才能达到较好的检测效果,因此神经网络模型效率低;而现有减少参数数量的方法会导致神经网络模型的检测精度降低。

因此,如何减少神经网络模型的参数数量及模型体积,同时保证神经网络的检测精确度是亟待解决的问题。



技术实现要素:

本申请提供目标检测模型训练、检测方法、设备及存储介质,以解决神经网络模型参数数量大的技术问题。

为解决上述技术问题,本申请采用的一个技术方案是:一种目标检测模型训练方法,所述方法包括:获取训练图像,并处理所述训练图像,以对所述训练图像中的样本目标进行标注;将所述训练图像输入所述目标检测模型,以获取所述训练图像的预测目标;其中,所述目标检测模型包括主干网络,所述主干网络包括若干个卷积层,每个所述卷积层包括若干个滤波器组,每个所述滤波器组包括由一个所述滤波器旋转和/或翻转获得的预定数量个滤波器,同个所述滤波器组的所述滤波器间共享权值;以所述预测目标与所述样本目标差异最小化为目标,以及每个所述滤波器组的所述滤波器间的余弦相似性最小化为目标,训练所述目标检测模型。

根据本申请一实施方式,所述以所述预测目标与所述样本目标差异为目标,且每个所述滤波器组的所述滤波器间的余弦相似性最小化为目标,训练所述目标检测模型包括:利用反向传播梯度算法对所述目标检测模型进行训练,使得预设损失函数最小化;所述预设损失函数包括目标框损失函数、分类损失函数、置信度损失函数和滤波器组损失函数之和,所述滤波器组损失函数包括:其中,α′是常数,ki为所述滤波器组中第i个滤波器,kj为所述滤波器组中第j个滤波器,n为所述预定数量,k是滤波器组矩阵,tr(kkt)为k乘以k的转置的迹。

根据本申请一实施方式,所述同组所述滤波器组的所述滤波器间共享权值包括:在反向传播梯度算法中,同组所述滤波器组的所述滤波器间共享权重和权值修正量。

根据本申请一实施方式,所述目标检测模型还包括与所述主干网络依次连接的特征增强网络和检测头模块。

根据本申请一实施方式,每组所述滤波器组包括由一个所述滤波器不旋转、旋转90°、180°、270°,以及对称变换获得的八个滤波器。

为解决上述技术问题,本申请采用的又一个技术方案是:一种基于目标检测模型的检测方法,所述方法包括:获取目标图像;将所述目标图像输入所述目标检测模型,以获取所述目标图像的检测结果;其中,所述目标检测模型包括主干网络,所述主干网络包括若干个卷积层,每个所述卷积层包括若干个滤波器组,每个所述滤波器组包括由一个所述滤波器旋转和/或翻转获得的预定数量个滤波器,同个所述滤波器组的所述滤波器间共享权值。

根据本申请一实施方式,所述检测结果包括初始目标的目标框值、所述初始目标的初始分类结果和所述初始目标的初始置信度,所述方法包括:获得所述初始分类结果中的最大概率的分类索引,并对照索引表获得最终分类结果;获取所述初始目标的所述目标框值,利用目标框转换方法获得初始目标框;对所述初始目标框的初始置信度进行重新评分,以筛选出最终目标检测结果。

根据本申请一实施方式,所述目标检测模型由上述任一训练方法训练得到。

为解决上述技术问题,本申请采用的又一个技术方案是:一种电子设备,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现上述任一方法。

为解决上述技术问题,本申请采用的又一个技术方案是:一种计算机可读存储介质,其上存储有程序数据,所述程序数据被处理器执行时实现上述任一方法。

本申请的有益效果是:区别于现有技术,本申请的目标检测模型的主干网络的每组滤波器组,包括由一个滤波器旋转和/或翻转获得的预定数量个滤波器,转换后的同组滤波器共享相同参数,这样处理可以通过旋转和对称变换权重来从多个角度提取相似特征,减少不相关的滤波器的数量,有效减少目标检测模型的参数数量,同时保证特征提取的有效性和目标检测的精确性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:

图1是本申请的目标检测模型训练一实施例的流程示意图;

图2是本申请的目标检测模型训练一实施例的四阶二面体群的示意图;

图3是本申请的基于目标检测模型的检测方法一实施例的流程示意图;

图4是本申请的目标检测模型训练装置一实施例的框架示意图;

图5是本申请的基于目标检测模型的检测装置一实施例的框架示意图;

图6是本申请的电子设备一实施例的框架示意图;

图7是本申请计算机可读存储介质一实施例的框架示意图。

具体实施方式

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

请参阅图1和图2,图1是本申请的目标检测模型训练方法一实施例的流程示意图;图2是本申请的目标检测模型训练一实施例的四阶二面体群的示意图。

本申请一实施例提供了一种目标检测模型训练方法,包括如下步骤:

s101:获取训练图像,并处理训练图像,以对训练图像中的样本目标进行标注。

获取训练图像,并对训练图像中的样本目标进行标注,获得数据集。具体地,可以通过现有的目标检测模型对训练图像进行检测标注,例如标准yolov4目标检测模型,获得训练图像的数据集。在使用训练图像对本申请的目标检测模型进行训练时,根据交叉验证方法对数据集进行划分,以在有限的数据中获取尽可能多的有效信息,以获得更稳定的目标检测模型。需要说明的是,训练图像为一组图像序列,包含一定数量的图像,可对目标检测模型起到有效训练效果。

s102:将训练图像输入目标检测模型,以获取训练图像的预测目标。

构建一个初始目标检测模型,目标检测模型包括主干网络,主干网络包括若干个卷积层,每个卷积层包括若干个滤波器组。不同于常规卷积神经网络模型,本申请中构建的目标检测模型的主干网络的每个滤波器组包括由一个滤波器旋转和/或翻转获得的预定数量个滤波器,同个滤波器组的滤波器间共享权值。共享的权值包括权重修正值。

本申请发明人经过统计,发现在卷积神经网络反向传播训练过程,同一卷积层中的滤波器具有相似的权重。其权重的特征在于不同滤波器间权重彼此对称或可以通过旋转或者对称变换获得。

对于上述彼此独立并且在训练后趋于对称相似的滤波器,本方法构建的主干网络的每组滤波器组,包括由一个滤波器旋转和/或翻转获得的预定数量个滤波器,转换后的同组滤波器共享相同参数,这样处理可以通过旋转和对称变换权重来从多个角度提取相似特征,减少不相关的滤波器的数量,有效减少目标检测模型的参数数量,同时保证特征提取的有效性和目标检测的精确性。

其中,在构建主干网络的卷积层时,每组滤波器中随机生成的第一个滤波器为单位元滤波器,每组滤波器中通过旋转和/或翻转变化获得的其他滤波器为生成元滤波器,每组滤波器中滤波器的预定数量至少为两个。例如,如图2所示,根据四阶二面体群性质,每组滤波器组包括由一个滤波器不旋转、旋转90°、180°、270°,以及对称变换获得的八个滤波器。通过变换,滤波器可以在8个不同方向上获得类似的特征。转换后的八个对称卷积滤波器共享相同的参数。在反向传播训练中,将由每组八个卷积滤波器获得的权重修正值进行叠加,并共同对基本参数进行校正。

在一具体实施方式中,可以根据标准yolov4目标检测网络的结构,构造和初始化本申请中的目标检测模型,包括依次连接的主干网络,特征增强网络和检测头模块。其中,主干网络使用修改的cspdarknet53网络,在修改的cspdarknet53网络中,使用本申请的方法构建卷积层。在原cspdarknet53网络的主干网络中,包含5种卷积模块,共52层卷积层,其中每个卷积模块分别包含2个卷积层,其卷积层滤波器的数量为32、64、64、128、128、256、256、512、512、1024,卷积模块间连接,包含32、64、128、256、512、1024个卷积滤波器。在本申请的卷积层中,初始化每个卷积层的滤波器数量变为原有的1/8,同时,将这些滤波器根据四阶二面体群生成元,构建每组8个滤波器,构建后,滤波器总数量和原cspdarknet53网络的主干网络一样,但是其中每组滤波器组间的滤波器共享权值,反向传播时共享权值修正量,分别提取每组中单位元滤波器在不同的生成元滤波器变换下不同方向上的特征。(补充说明:标准的cspdarknet53是在yolov3主干网络darknet53的基础上,借鉴2019年cspnet的经验,产生的backbone结构,其中包含了5个csp模块(跨级局部连接模块);标准的yolov4网络相对于yolov3在准确率上提升了近10个点,然而速度几乎没有下降,yolov4是一种速度更快、精度更好的检测模型,仅需要单张1080ti或2080ti即可完成训练。)

在特征检测主干网络后,使用标准的特征增强网络。(标准的特征增强结构基于特征金字塔框架,增强了特征在层与层之间的交流传播,其添加了自底向上的增强路径,从而增强了低维特征在检测和高维特征提取任务中的体现。使用横向连接将各个卷积层提取的特征输出添加到自顶向下路径的相同阶段特征图中,然后把这些特征图送到下一阶段。)

在特征增强网络后,通过卷积连接依次接入标准的yolov3检测头。(yolov3网络由特征提取网络darknet53和yolov3检测头组成,yolov3检测头通过3个不同尺度的特征图来检测目标的置信度、类别和位置,能够检测到更加细粒度的特征,有利于小目标的检测)。

使用leakyrelu作为目标检测模型的激活函数。

将训练图像输入目标检测模型,可获取训练图像的预测目标。

s103:以预测目标与样本目标差异最小化为目标,且每个滤波器组的滤波器间的余弦相似性最小化为目标,训练目标检测模型。

现有模式中的损失函数包括目标框损失函数、分类损失函数、置信度损失函数之和,本申请在预设损失函数中,额外增加抗对称性约束,约束项定义为滤波器组损失函数。

预设损失函数包括目标框损失函数、分类损失函数、置信度损失函数和滤波器组损失函数之和。预设损失函数为loss=losscls+lossconf+lossbox+λr,其中losscls为分类损失函数,lossconf为置信度损失函数,lossbox为目标框损失函数,r为滤波器组损失函数,λ为系数。通过最小化预设损失函数loss对目标检测模型进行优化训练。

本申请根据计算每个滤波器组的滤波器间的余弦相似性,最小化滤波器间的余弦相似性,抑制经过旋转或对称变换后相似的滤波器的生成。对于一组滤波器组矩阵k,计算约束项r,如下式所示:

其中a是常数,ki为滤波器组中第i个滤波器,kj为滤波器组中第j个滤波器,由于滤波器组矩阵k中的所有滤波器都是由同一滤波器旋转或翻转得到,因此它们具有相等的frobenius范数。因此,假设滤波器组包含预定数量n个滤波器,除则上式可以转换为:

其中,α′是常数,ki为滤波器组中第i个滤波器,kj为滤波器组中第j个滤波器,n为预定数量,k是滤波器组矩阵,tr(kkt)为k乘以k的转置的迹。

由于一些滤波器具有旋转不变性,即某些经过旋转和对称变换后产生的一系列滤波器,对于输入具有相似的特征提取结果,这样增加了计算复杂性,降低了网络效率。本方法中加入抗对称性约束构建预设损失函数。通过最小化每组滤波器组的滤波器间的余弦相似性,有效抑制旋转不变滤波器出现,进而抑制冗余参数的出现,增加算法特征提取效率。

进一步地,利用反向传播梯度算法对目标检测模型进行训练,使得预设损失函数最小化。训练图像处理批量大小batchsize,初始化学习率learnrate,初始化训练周期epoch,使用梯度下降训练方法对目标检测模型进行训练。

由步骤s102可知,在构造本申请的主干网络的卷积层时获得滤波器组的过程,可表示为:

ksi=ki,kdi=f(ki)|i=1,2,...n

其中ki是每组滤波器中随机生成的第一个滤波器,即单位元滤波器,同ksi;f(x)是文本中的旋转和对称变换;kdi是对ki使用生成元滤波器进行转换后获得的滤波器矩阵,kdi是kdi中除了单位元滤波器的其他元素。对于每个滤波器ki,kdi和ksi为具有共享权重和修正量的的滤波器组,这些滤波器将同时在同一层卷积层上使用。

由于权重复用,反向传播梯度计算中的总梯度可以通过两部分之和得到:

反复迭代更新目标检测模型的参数,直至训练周期数达epoch后停止训练。

在反向传播梯度计算训练中,将由每组预定数量个滤波器获得的权重修正值进行叠加,并共同对目标检测模型基本参数进行校正。可有效降低模型训练的过拟合现象的发生,加速模型参数的训练。可以减少不同方向特征分布不均匀以及训练集和测试集之间的特征分布不匹配对检测结果的影响。

本方法的目标检测模型的主干网络的每组滤波器组,包括由一个滤波器旋转和/或翻转获得的预定数量个滤波器,转换后的同组滤波器共享相同参数,这样处理可以通过旋转和对称变换权重来从多个角度提取相似特征,减少了不相关的滤波器的数量,有效减少了目标检测模型的参数数量,同时保证了特征提取的有效性和目标检测的精确性。

请参阅图3,图3是本申请的基于目标检测模型的检测方法一实施例的流程示意图。

本申请又一实施例提供了一种基于目标检测模型的检测方法,包括如下步骤:

s201:获取目标图像。

获取目标图像,目标图像可以为数字图像,也可以通过视频图像预处理后获得,将模拟或数字视频流转化为数字图像,并将标准rgb图像归一化,使像素值归一化至[-1,1]之间,并将处理后的视频图像帧送入目标检测模型。

s202:将目标图像输入目标检测模型,以获取目标图像的检测结果。

将目标图像输入目标检测模型,以获取目标图像的检测结果。其中,目标检测模型包括主干网络,主干网络包括若干个卷积层,每个卷积层包括若干个滤波器组,每个滤波器组包括由一个滤波器旋转和/或翻转获得的预定数量个滤波器,同个滤波器组的滤波器间共享权值。共享的权值包括权重修正值。

对于上述彼此独立并且在训练后趋于对称相似的滤波器,本方法构建的主干网络的每个滤波器组,包括由一个滤波器旋转和/或翻转获得的预定数量个滤波器,转换后的同组滤波器共享相同参数,这样处理可以通过旋转和对称变换权重来从多个角度提取相似特征,减少了不相关的滤波器的数量,有效减少了目标检测模型的参数数量,同时保证了特征提取的有效性和目标检测的精确性。

其中,在构建主干网络的卷积层时,每组滤波器中随机生成的第一个滤波器为单位元滤波器,每组滤波器中通过旋转和/或对称变化获得的其他滤波器为生成元滤波器,每组滤波器中滤波器的预定数量至少为两个。例如,根据四阶二面体群性质,每个滤波器组包括由一个滤波器不旋转、旋转90°、180°、270°,以及对称变换获得的八个滤波器。通过变换,滤波器可以在8个不同方向上获得类似的特征。转换后的八个对称卷积滤波器共享相同的参数。在反向传播训练中,将由每组八个卷积滤波器获得的权重修正值进行叠加,并共同对基本参数进行校正。

本申请的目标检测模型可通过上述任一实施例中的目标检测模型训练方法训练获得。

s203:筛选检测结果,获得最终目标检测结果。

检测结果包括初始目标的目标框、初始目标的初始分类结果和初始目标的初始置信度。

筛选检测结果,获得最终目标检测结果包括:

获得初始分类结果中的最大概率的分类索引,并对照索引表获得初始目标的最终分类结果。

获取初始目标的目标框值,利用目标框转换方法获得初始目标框。具体地,取初始目标的回归值,使用标准yolov4目标框转换对结果进行转换输出初始目标框。

对初始目标框的初始置信度进行重新评分,使用标准matrixnms筛选结果,以筛选出置信度高的初始目标框作为最终目标的目标框,并显示最终目标检测结果,最终目标检测结果包括最终目标的目标框、最终分类结果和置信度。(matrixnms通过计算每个框与其他所有目标框中的最大iou和类别相同且置信度比自己高的iou,对目标框的置信度进行重新评分以筛选目标框。)

通过本方法可以将摄像头实时采集的视频初始化为视频图像流,将视频图像帧送到目标检测模型中,获取精确的目标检测结果。本申请的目标检测模型的参数数量少,同时有效保证特征提取的有效性和目标检测结果的精确性。

请参阅图4,图4是本申请的目标检测模型训练装置一实施例的框架示意图。

本申请又一实施例提供了一种目标检测模型训练装置30,包括获取模块31、网络模块32和处理模块33,以实现上述对应实施例的目标检测模型训练方法。具体地,获取模块31获取训练图像,处理模块33处理训练图像,以对训练图像中的样本目标进行标注;处理模块33将训练图像输入网络模块32,以获取训练图像的预测目标;其中,网络模块32包括目标检测模型,目标检测模型包括主干网络,主干网络包括第若干个卷积层,每个卷积层包括若干个滤波器组,每个滤波器组包括由一个滤波器旋转和/或翻转获得的预定数量个滤波器,同组滤波器组的滤波器间共享权值;处理模块33以预测目标与样本目标差异最小化为目标,以及每个滤波器组的滤波器间的余弦相似性最小化为目标,训练目标检测模型。

本训练装置30的目标检测模型的主干网络的每组滤波器组,包括由一个滤波器旋转和/或翻转获得的预定数量个滤波器,转换后的同组滤波器共享相同参数,这样处理可以通过旋转和对称变换权重来从多个角度提取相似特征,减少不相关的滤波器的数量,有效减少目标检测模型的参数数量,同时保证特征提取的有效性和目标检测的精确性。

请参阅图5,图5是本申请的基于目标检测模型的检测装置一实施例的框架示意图。

本申请又一实施例提供了一种基于目标检测模型的检测装置40,包括获取模块41、网络模块42和处理模块43,以实现上述对应实施例的基于目标检测模型的检测方法。具体地,获取模块41获取目标图像;获取模块41将目标图像输入网络模块42,以获取目标图像的检测结果,网络模块42包括目标检测模型;其中,目标检测模型包括主干网络,主干网络包括若干个卷积层,每个卷积层包括若干个滤波器组,每个滤波器组包括由一个滤波器旋转和/或翻转获得的预定数量个滤波器,同个滤波器组的滤波器间共享权值。

本检测装置40可以通过将摄像头实时采集的视频初始化为视频图像流,将视频图像帧送到目标检测模型中,获取精确的目标检测结果。本申请的目标检测模型的参数数量少,同时有效保证特征提取的有效性和目标检测结果的精确性。

请参阅图6,图6是本申请的电子设备一实施例的框架示意图。

本申请又一实施例提供了一种电子设备50,包括相互耦接的存储器51和处理器52,处理器52用于执行存储器51中存储的程序指令,以实现上述任一实施例的目标检测模型训练方法和上述任一实施例的基于目标检测模型的检测方法。在一个具体的实施场景中,电子设备50可以包括但不限于:微型计算机、服务器,此外,电子设备50还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。

具体而言,处理器52用于控制其自身以及存储器51以实现上述任一实施例的目标检测模型训练方法和上述任一实施例的基于目标检测模型的检测方法中的步骤。处理器52还可以称为cpu(centralprocessingunit,中央处理单元)。处理器52可能是一种集成电路芯片,具有信号的处理能力。处理器52还可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器52可以由集成电路芯片共同实现。

请参阅图7,图7是本申请计算机可读存储介质一实施例的框架示意图。

本申请又一实施例提供了一种计算机可读存储介质60,其上存储有程序数据61,程序数据61被处理器执行时实现上述任一实施例的目标检测模型训练方法和上述任一实施例的基于目标检测模型的检测方法中。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质60中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质60中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的可读存储介质60包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

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