模型生成方法、目标检测方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机应用
技术领域
,尤其涉及一种模型生成方法、目标检测方法、装置、设备及存储介质。背景技术
目标检测(Object Detection)技术是很多计算机视觉任务的基础,其可用于判断待检测图像中是否存在感兴趣的待检测目标,并对待检测目标进行精准定位。而且,目标检测技术可与目标跟踪、目标重识别等技术相结合,应用于人工智能系统、车辆自动驾驶系统、智能机器人、智能物流等领域。
在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:现有的目标检测技术多是基于深度学习模型实现的,而深度学习模型因尺寸较大容易出现检测速度较慢的问题,这在计算资源受限的设备中尤其明显,这使得目标检测技术很难在实际项目上直接落地应用。
例如,在智能物流领域中,无人配送车的大量应用可以降低配送成本且提高配送效率,而基于视觉的目标检测技术是无人配送车感知周围环境所需的一种非常重要的技术手段。但是,出于量产和成本方面的考虑,无人配送车上的车载处理器多是基于计算资源相对有限的Xvaier平台组成的。由此,应用于这一车载处理器上的目标检测模型的检测速度相对较慢,这将直接影响无人配送车的环境感知能力,进而影响无人配送车的配送效率。因此,如何提升目标检测模型的检测速度,这对智能物流领域的发展至关重要。
发明内容
本发明实施例提供了一种模型生成方法、目标检测方法、装置、设备及存储介质,以实现通过压缩模型来提升模型的检测速度的效果。
第一方面,本发明实施例提供了一种模型生成方法,可以包括:
获取初步训练完成的中间检测模型中批归一化层的缩放系数,其中,中间检测模型是基于多个训练样本对原始检测模型进行训练后得到的,训练样本包括样本图像和样本图像中已知目标的样本标注结果;
根据各缩放系数的数值大小,从各缩放系数中筛选出待剪枝系数;
从中间检测模型的各通道中,筛选出与待剪枝系数对应的待剪枝通道,并对待剪枝通道进行通道剪枝,生成目标检测模型。
可选的,根据各缩放系数的数值大小,从各缩放系数中筛选出待剪枝系数,可以包括:
根据各缩放系数的数值大小和预设剪枝率,得出缩放系数的剪枝阈值,并根据剪枝阈值从各缩放系数中筛选出待剪枝系数。
可选的,上述模型生成方法,还可以包括:
从中间检测模型的各卷积层中筛选出可剪枝卷积层,其中,可剪枝卷积层包括除1*1卷积层和/或分类回归分支中的卷积层之外的卷积层;
从各缩放系数中筛选出与可剪枝卷积层对应的目标缩放系数;
根据各缩放系数的数值大小,从各缩放系数中筛选出待剪枝系数,可以包括:根据各目标缩放系数的数值大小,从各目标缩放系数中筛选出待剪枝系数。
可选的,从中间检测模型的各通道中,筛选出与待剪枝系数对应的待剪枝通道,可以包括:
从中间检测模型的各卷积层的各通道中,筛选出与各待剪枝系数中的当前剪枝系数对应的当前卷积层的输出通道,以及当前卷积层的下一层卷积层的输入通道,并将输出通道和输入通道作为待剪枝通道。
可选的,上述模型生成方法,还可以包括:
获取训练样本,并基于多个训练样本对原始检测模型进行基于批归一化层的稀疏化训练,得到中间检测模型。
可选的,原始检测模型中的目标损失函数由原始损失函数和L1正则约束函数构成,L1正则约束函数包括对各缩放系数进行L1正则约束的损失函数。
可选的,目标损失函数L通过如下公式表示:
其中,x是样本图像,y是样本标注结果,W是原始检测模型中的参数值,f(x,W)是样本图像中已知目标的样本预测结果,γ是缩放系数,λ是惩罚系数,l()是原始损失函数,g()是L1正则约束函数。
可选的,对待剪枝通道进行通道剪枝,生成目标检测模型,可以包括:
对待剪枝通道进行通道剪枝,得到剪枝检测模型;
对剪枝检测模型进行微调训练,生成目标检测模型。
可选的,原始检测模型包括单次多框检测器SSD,或者原始检测模型包括单次多框检测器SSD且单次多框检测器SSD的主干网络包括inception_v3结构。
第二方面,本发明实施例还提供了一种目标检测方法,可以包括:
获取待检测图像和按照上述任一项的方法生成的目标检测模型;
将待检测图像输入至目标检测模型中,根据目标检测模型的输出结果,得到待检测图像中待检测目标的目标检测结果。
第三方面,本发明实施例还提供了一种模型生成装置,可以包括:
第一获取模块,用于获取初步训练完成的中间检测模型中批归一化层的缩放系数,其中,中间检测模型是基于多个训练样本对原始检测模型进行训练后得到的,训练样本包括样本图像和样本图像中已知目标的样本标注结果;
第一筛选模块,用于根据各缩放系数的数值大小,从各缩放系数中筛选出待剪枝系数;
模型生成模块,用于从中间检测模型的各通道中,筛选出与待剪枝系数对应的待剪枝通道,并对待剪枝通道进行通道剪枝,生成目标检测模型。
第四方面,本发明实施例还提供了一种目标检测装置,可以包括:
第二获取模块,用于获取待检测图像和按照上述任一项的方法生成的目标检测模型;
目标检测模块,用于将待检测图像输入至目标检测模型中,根据目标检测模型的输出结果,得到待检测图像中待检测目标的目标检测结果。
第五方面,本发明实施例还提供了一种设备,可以包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明任意实施例所提供的模型生成方法或是目标检测方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的模型生成方法或是目标检测方法。
本发明实施例的技术方案,通过获取初步训练完成的中间检测模型中批归一化层的缩放系数,可以根据各缩放系数的数值大小,从各缩放系数中筛选出待剪枝系数;因待剪枝系数和待剪枝通道具有对应关系,则可以从中间检测模型的各通道中筛选出与待剪枝系数对应的待剪枝通道,并对待剪枝通道进行通道剪枝,生成目标检测模型。上述技术方案,将通道剪枝与中间检测模型相结合,可以根据初步训练完成的中间检测模型中的缩放系数,对中间检测模型进行通道剪枝,由此实现了通过压缩模型来提升模型的检测速度的效果。
附图说明
图1是本发明实施例一中的一种模型生成方法的流程图;
图2是本发明实施例二中的一种模型生成方法的流程图;
图3是本发明实施例三中的一种目标检测方法的流程图;
图4a是本发明实施例三中的一种目标检测方法中模型压缩流程图;
图4b是本发明实施例三中的一种目标检测方法中模型剪枝流程图;
图5是本发明实施例四中的一种模型生成装置的结构框图;
图6是本发明实施例五中的一种目标检测装置的结构框图;
图7是本发明实施例六中的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一中提供的一种模型生成方法的流程图。本实施例可适用于对目标检测技术中的深度学习模型进行压缩的情况。该方法可以由本发明实施例提供的模型生成装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在各种电子设备上。
参见图1,本发明实施例的方法具体包括如下步骤:
S110、获取初步训练完成的中间检测模型中批归一化层的缩放系数,其中,中间检测模型是基于多个训练样本对原始检测模型进行训练后得到的,训练样本包括样本图像和样本图像中已知目标的样本标注结果。
其中,获取未经训练的原始检测模型,该原始检测模型是深度学习模型中一种用于视觉检测的模型,其可以分为anchor-based、anchor-free和两者融合类,它们的区别就在于是否利用anchor提取候选框。anchor也可称为anchor box,其是在模型训练前,在训练样本上基于聚类算法得到的一组矩形框。
具体的,anchor-based中的原始检测模型包括fasterRCNN、SSD(Single ShotMultiBox Detector,单次多框检测器)、YoloV2、YoloV3等等;anchor-free中的原始检测模型包括CornerNet、ExtremeNet、CenterNet、FCOS等等;融合anchor-based分支和anchor-free分支的原始检测模型包括FSAF、SFace、GA-RPN等等。特别的,SSD是一种单阶段(one-stage)检测模型,其没有候选区域生成(region proposalas)阶段,直接生成待检测目标的类别概率和位置坐标,在检测速度上具有较大优势,可以更好的在无人配送车、移动终端上远行。由此,一个可选示例,原始检测模型可以是SSD,在此基础上,SSD的主干网络可以是inception_v3结构。
由此,在基于多个训练样本对原始检测模型进行训练后,可以得到初步训练完成的中间检测模型,该训练样本可以包括样本图像和样本图像中已知目标的样本标注结果,该样本图像可以是一帧图像、视频序列等等,该样本标注结果可以是类别概率和位置坐标。
需要说明的是,在原始检测模型的每个卷积层的后面均紧邻一个批归一化(BatchNormalization,BN)层,BN层可以对每个卷积层的输出结果的尺度进行归一化,这可以在训练过程中避免出现梯度损失和梯度溢出的情况。BN层包括缩放系数(gamma系数)和偏移系数(beta系数),其中,在每个BN层中,缩放系数的个数与该BN层紧邻的卷积层中的通道个数是一致的,即每个缩放系数对应卷积层中的一个通道。例如,若某个BN层中有32个缩放系数,则与该BN层紧邻的卷积层中包括32个通道,且该BN层亦包括32个通道。而且,在原始检测模型的训练阶段和应用阶段,缩放系数是与卷积层中的对应通道进行乘法运算,即某个缩放系数是否存在,将直接影响与其对应的卷积层中的通道是否起到作用。因此,可以获取中间检测模型中批归一化层的缩放系数,并根据该缩放系数确定对中间检测模型中的哪些进行通道剪枝。
S120、根据各缩放系数的数值大小,从各缩放系数中筛选出待剪枝系数。
其中,根据各缩放系数的数值大小,从各缩放系数中筛选出待剪枝系数的实现方式有多种,比如,可以对各缩放系数的数值大小进行排序,根据排序结果得到各缩放系数的中值,并根据该中值从各缩放系数中筛选出待剪枝系数;比如,可以计算出各缩放系数的数值大小的均值,并根据该均值从各缩放系数中筛选出待剪枝系数;再比如,可以根据各缩放系数的数值大小和预设剪枝率,得出缩放系数的剪枝阈值,并根据剪枝阈值从各缩放系数中筛选出待剪枝系数,该待剪枝系数可以是数值小于等于剪枝阈值的缩放系数;等等。
S130、从中间检测模型的各通道中,筛选出与待剪枝系数对应的待剪枝通道,并对待剪枝通道进行通道剪枝,生成目标检测模型。
其中,每个缩放系数和某个卷积层中的某个通道是一一对应的,且某个卷积层中的某个通道和与该卷积层紧邻的BN层中的某个通道也是一一对应的,由此,根据待剪枝系数可以从中间检测模型的各通道中筛选出待剪枝通道,该待剪枝通道是那些重要性较低的通道,它们可能是某个卷积层中的某个通道,也可能是某个BN层中的某个通道。
进一步,可以对待剪枝通道进行通道剪枝,生成目标检测模型,由此实现了模型压缩的效果。其中,通道剪枝(channel pruning)是通过删减模型中冗余通道的方式来简化模型,是一种结构化压缩方式;而且,在对待剪枝通道进行通道剪枝后,与这些待剪枝通道对应的卷积核也会相应删除,因此通过通道剪枝也减小卷积的运算量。示例性的,如果某个卷积层是32个通道,则与其紧邻的BN层也是32个通道,BN层中的每个通道包括缩放系数和偏移系数,待剪枝系数是从缩放系数中筛选出来的,由此,根据待剪枝系数可以确定BN层中的哪些通道是待剪枝通道,相应的可以确定卷积层中的哪些通道是待剪枝通道。
可选的,上述通道剪枝的具体实现过程可以是:从中间检测模型的各卷积层的各通道中,筛选出与各待剪枝系数中的当前剪枝系数对应的当前卷积层的输出通道,以及当前卷积层的下一层卷积层的输入通道,并将输出通道和输入通道作为待剪枝通道。这是因为,当前卷积层的输出通道是当前卷积层的下一层卷积层的输入通道,示例性的,若当前卷积层的输出通道是1-32,则当前卷积层的下一层卷积层的输入通道也是1-32,此时,若与当前剪枝系数对应的当前卷积层的输出通道17是待剪枝通道,则当前卷积层的下一层卷积层的输入通道17也是待剪枝通道。
本发明实施例的技术方案,通过获取初步训练完成的中间检测模型中批归一化层的缩放系数,可以根据各缩放系数的数值大小,从各缩放系数中筛选出待剪枝系数;因待剪枝系数和待剪枝通道具有对应关系,则可以从中间检测模型的各通道中筛选出与待剪枝系数对应的待剪枝通道,并对待剪枝通道进行通道剪枝,生成目标检测模型。上述技术方案,将通道剪枝与中间检测模型相结合,可以根据初步训练完成的中间检测模型中的缩放系数,对中间检测模型进行通道剪枝,由此实现了通过压缩模型来提升模型的检测速度的效果。
一种可选的技术方案,上述模型生成方法还可以包括:从中间检测模型的各卷积层中筛选出可剪枝卷积层,其中,可剪枝卷积层包括除1*1卷积层和/或分类回归分支中的卷积层之外的卷积层;从各缩放系数中筛选出与可剪枝卷积层对应的目标缩放系数;相应的,根据各缩放系数的数值大小,从各缩放系数中筛选出待剪枝系数,可以包括:根据各目标缩放系数的数值大小,从各目标缩放系数中筛选出待剪枝系数。
其中,通常情况下,原始检测模型通常包括主干网络和分类回归分支这两部分,主干网络可以用于提取特征图,分类回归分支是从主干网络中分支出的一个分类分支和一个回归分支,可用于对已提取的特征图进行分类或是回归。由于分类回归的类别通常是固定的,因此可尽可能保持分类回归分支中卷积层的固定,这样可以确保输出维度的固定,且可以简化执行代码。由此,可以将1*1卷积层和/或分类回归分支中的卷积层之外的卷积层作为可剪枝卷积层,并从可剪枝卷积层中的各目标缩放系数筛选出待剪枝系数。
一种可选的技术方案,在对待剪枝通道进行通道剪枝后,可以先生成剪枝检测模型;然后,再对剪枝检测模型进行微调训练,生成目标检测模型。也就是说,可以对通道剪枝后的精简的剪枝检测模型进行微调训练,由此恢复检测效果,即在压缩模型的同时,尽可能保持了模型的原始性能。其中,微调训练的过程可以是:获取历史图像和历史图像中已知目标的历史标注结果,并将历史图像和历史标注结果作为一组历史样本;基于多个历史样本对剪枝检测模型进行训练,得到目标检测模型。需要说明的是,通常情况下,该历史样本和上述训练样本是相同的样本数据,即在微调训练时,历史图像和样本图像可以是相同的图像,且历史标注结果和样本标注结果也可以是相同的标注结果。
实施例二
图2是本发明实施例二中提供的一种模型生成方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,上述模型生成方法,还可以包括:获取训练样本,并基于多个训练样本对原始检测模型进行基于批归一化层的稀疏化训练,得到中间检测模型。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图2,本实施例的方法具体可以包括如下步骤:
S210、获取训练样本,并基于多个训练样本对原始检测模型进行基于批归一化层的稀疏化训练,得到中间检测模型,其中,训练样本包括样本图像和样本图像中已知目标的样本标注结果。
其中,在对原始检测模型进行基于BN层的稀疏化训练时,可得到一个BN层稀疏化的中间检测模型,即在原始检测模型的稠密连接上引入稀疏化。示例性的,基于BN层的稀疏化训练的一个可选方案是,对原始检测模型中的各个缩放系数施加L1正则约束,使得原始检测模型朝着结构性稀疏的方向调整参数,此时BN层中的缩放系数(gamma系数)所起的作用相当于信息流通道的开关系数,控制着信息流通道的开关闭合。
这样设置的原因在于,在模型训练过程中,对缩放系数施加L1正则约束,可以将更多的缩放系数调整为0。由此,在模型训练阶段和应用阶段,因缩放系数是与卷积层中的对应通道进行乘法运算,则当更多的缩放系数为0时,与其对应的卷积层中的通道将不再起到任何作用,即通过对缩放系数进行大幅压缩的方式也起到了通道剪枝的作用。在此基础上,在根据预设剪枝率筛选待剪枝通道时,若中间检测模型中数值为0的缩放系数越多,则将数值非0的缩放系数对应的通道剪掉的可能性越低,由此生成的目标检测模型的网络结构和中间检测模型的网络结构越一致,这样一来,两者的检测性能也越一致,即在保证检测性能的同时,实现了模型压缩的效果。
在此基础上,原始检测模型中的目标损失函数可以由原始损失函数和L1正则约束函数构成,L1正则约束函数可以包括对各缩放系数进行L1正则约束的损失函数。即,在原始损失函数的基础上,引入了BN层的缩放系数的L1正则约束项。这样一来,在训练过程中可以根据目标损失函数求解极小值,并根据求解结果调整模型中的各参数值。
可选的,目标损失函数L可以通过如下公式表示:
其中,x是样本图像,y是样本标注结果,W是原始检测模型中的参数值,f(x,W)是样本图像中已知目标的样本预测结果,γ是缩放系数,λ是惩罚系数,l()是原始损失函数,g()是L1正则约束函数。而且,因为L1正则约束函数仅施加于BN层的缩放系数,因此在反向传播更新梯度时,缩放系数的梯度γgrad需要加上一个[缩放系数符号sign(γ)与惩罚系数λ的乘积项],其公式如下所示:
γgrad=γgrad+λ*sign(γ)
S220、获取中间检测模型中批归一化层的缩放系数,并根据各缩放系数的数值大小,从各缩放系数中筛选出待剪枝系数。
S230、从中间检测模型的各通道中,筛选出与待剪枝系数对应的待剪枝通道,并对待剪枝通道进行通道剪枝,生成目标检测模型。
本发明实施例的技术方案,基于多个训练样本对原始检测模型进行基于BN层的稀疏化训练,可以得到一个BN层稀疏化的中间检测模型;在对中间检测模型进行通道剪枝后可生成的目标检测模型,且二者的检测性能较为一致,即在保证检测性能的同时,实现了模型压缩的效果。
实施例三
图3是本发明实施例三中提供的一种目标检测方法的流程图。本实施例可适用于基于上述任意实施例所述的方法生成的目标检测模型,对待检测图像进行目标检测的情况。该方法可以由本发明实施例提供的目标检测装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在各种电子设备上。
参见图3,本发明实施例的方法具体包括如下步骤:
S310、获取待检测图像和按照上述任意实施例的方法生成的目标检测模型。
其中,该待检测图像可以是一帧图像、视频序列等等,该目标检测模型可以是按照上述任意实施例所述的方法生成的是视觉检测模型。示例性的,目标检测模型的一种生成方法可以如图4a所示:
首先,以原始SSD检测模型为基础,以inception_v3结构为主干网络,在模型训练期间,在保持原有参数设置的情况下,通过对与卷积层紧邻的BN层中的gamma系数施加L1正则约束,使得模型朝着结构性稀疏的方向调整参数,由此实现了BN层的稀疏化。其次,在完成基于BN层的稀疏化训练后,可以根据BN层的缩放系数,对初步训练完成的中间检测模型按照预设剪枝率裁剪对应的卷积层和BN层中的通道,由此能够精简模型并提升一定的检测速度。最后,对通道剪枝后的精简模型进行微调训练,恢复检测效果。
在此基础上,上述通道剪枝过程可以如图4b所示,首先,需要确定对哪些卷积层进行通道剪枝,在本发明实施例中有两个限制:1*1卷积层和分类回归分支中的卷积层均不剪枝,这可以确保输出的维度不变。其次,统计其余的可剪枝卷积层对应的BN层中的gamma系数,并对统计出的全部gamma系数进行排序,按照预设剪枝率计算出gamma系数的剪枝阈值。再次,根据剪枝阈值对卷积层和BN层中的各个通道进行选取,保留那些数值大于剪枝阈值的gamma系数对应的通道,由此确定出BN层以及与BN层紧邻的卷积层中可保留的通道的掩模(MASK)。最后,根据MASK保留卷积层和BN层中对应的通道,并剪枝掉那些未保留的通道。
S320、将待检测图像输入至目标检测模型中,根据目标检测模型的输出结果,得到待检测图像中待检测目标的目标检测结果。
一个可选示例,继续以背景技术中的例子为例,上述目标检测方法可以应用于智能物流领域的无人配送车上的视觉目标检测。虽然无人配送车上的车载处理器多是基于计算资源相对有限的Xvaier平台组成的,但是,上述目标检测方法中涉及到的目标检测模型的规模较小且检测速度较快,即使受限计算资源的约束下,依然可以满足无人配送车的真正意义上的脱人运行。而且,在通道级上实施结构化剪枝操作,由此生成的精简模型能够直接运行在成熟框架比如Pytorch、MXnet、TensorFlow等等,或是硬件平台上比如GPU、FPGA等等,无需特殊算法库的支持,应用起来更加便捷。
为进一步验证上述目标检测方法的检测精度,将这一方法在BDD数据集的5类子集(car,pedestrian,truck,bus,rider)上测试检测精度,其量化结果如下述两个表格所示。从表中数据可以得知,本发明实施例的结构化剪枝的目标检测方法,在保留部分卷积层和BN层不动的情况下,能够达到比较明显的压缩效果,同时其检测结果mAP(5类子集的平均值)只有很微小的下降。
预设剪枝率
模型参数量
模型计算量(FLOPS)
base
28.29M
9.45G
30%
21.55M
5.97G
50%
16.76M
5.60G
80%
11.24M
4.94G
预设剪枝率
mAP
car
pedestrian
truck
bus
rider
base
37.56
56.66
22.95
44.56
44.37
19.28
80%
37.32
56.55
23.26
44.11
44.13
18.55
本发明实施例的技术方案,可以基于已生成的目标检测模型对待检测图像进行目标检测,因目标检测模型是模型压缩后的精简模型,这可有效提升待检测图像中待检测目标的检测速度,且可尽可能保持模型的原始性能。
实施例四
图5为本发明实施例四提供的模型生成装置的结构框图,该装置用于执行上述任意实施例所提供的模型生成方法。该装置与上述各实施例的模型生成方法属于同一个发明构思,在模型生成装置的实施例中未详尽描述的细节内容,可以参考上述模型生成方法的实施例。参见图5,该装置具体可包括:第一获取模块410、第一筛选模块420和模型生成模块430。
其中,第一获取模块410,用于获取初步训练完成的中间检测模型中批归一化层的缩放系数,中间检测模型是基于多个训练样本对原始检测模型进行训练后得到的,训练样本包括样本图像和样本图像中已知目标的样本标注结果;
第一筛选模块420,用于根据各缩放系数的数值大小,从各缩放系数中筛选出待剪枝系数;
模型生成模块430,用于从中间检测模型的各通道中,筛选出与待剪枝系数对应的待剪枝通道,并对待剪枝通道进行通道剪枝,生成目标检测模型。
可选的,第一筛选模块420,具体可以用于:
根据各缩放系数的数值大小和预设剪枝率,得出缩放系数的剪枝阈值,并根据剪枝阈值从各缩放系数中筛选出待剪枝系数。
可选的,在上述装置的基础上,该装置还可以包括:
第二筛选模块,用于从中间检测模型的各卷积层中筛选出可剪枝卷积层,可剪枝卷积层包括除1*1卷积层和/或分类回归分支中的卷积层之外的卷积层;
第三筛选模块,用于从各缩放系数中筛选出与可剪枝卷积层对应的目标缩放系数;
相应的,第一筛选模块420,具体可以用于:
根据各目标缩放系数的数值大小,从各目标缩放系数中筛选出待剪枝系数。
可选的,模型生成模块430,具体可以包括:
待剪枝通道筛选单元,用于从中间检测模型的各卷积层的各通道中,筛选出与各待剪枝系数中的当前剪枝系数对应的当前卷积层的输出通道,以及当前卷积层的下一层卷积层的输入通道,并将输出通道和输入通道作为待剪枝通道。
可选的,在上述装置的基础上,该装置还可以包括:
第三获取模块,用于获取训练样本,并基于多个训练样本对原始检测模型进行基于批归一化层的稀疏化训练,得到中间检测模型。
可选的,原始检测模型中的目标损失函数由原始损失函数和L1正则约束函数构成,L1正则约束函数包括对各缩放系数进行L1正则约束的损失函数。
可选的,目标损失函数L通过如下公式表示:
其中,x是样本图像,y是样本标注结果,W是原始检测模型中的参数值,f(x,W)是样本图像中已知目标的样本预测结果,γ是缩放系数,λ是惩罚系数,l()是原始损失函数,g()是L1正则约束函数。
可选的,模型生成模块430,具体可以包括:
通道剪枝单元,用于对待剪枝通道进行通道剪枝,得到剪枝检测模型;
微调训练单元,用于对剪枝检测模型进行微调训练,生成目标检测模型。
本发明实施例四提供的模型生成装置,通过第一获取模块获取初步训练完成的中间检测模型中批归一化层的缩放系数;第一筛选模块可以根据各缩放系数的数值大小,从各缩放系数中筛选出待剪枝系数;模型生成模块因待剪枝系数和待剪枝通道具有对应关系,则可以从中间检测模型的各通道中筛选出与待剪枝系数对应的待剪枝通道,并对待剪枝通道进行通道剪枝,生成目标检测模型。上述装置,将通道剪枝与中间检测模型相结合,可以根据初步训练完成的中间检测模型中的缩放系数,对中间检测模型进行通道剪枝,由此实现了通过压缩模型来提升模型的检测速度的效果。
本发明实施例所提供的模型生成装置可执行本发明任意实施例所提供的模型生成方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述模型生成装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例五
图6为本发明实施例五提供的目标检测装置的结构框图,该装置用于执行上述任意实施例所提供的目标检测方法。该装置与上述各实施例的目标检测方法属于同一个发明构思,在目标检测装置的实施例中未详尽描述的细节内容,可以参考上述目标检测方法的实施例。参见图6,该装置具体可包括:第二获取模块510和目标检测模块520。
其中,第二获取模块510,用于获取待检测图像和按照实施例一和实施例二中的任一项的方法生成的目标检测模型;
目标检测模块520,用于将待检测图像输入至目标检测模型中,根据目标检测模型的输出结果,得到待检测图像中待检测目标的目标检测结果。
本发明实施例五提供的目标检测装置,通过第二获取模块和目标检测模块相互配合,可以基于已生成的目标检测模型对待检测图像进行目标检测,因目标检测模型是模型压缩后的精简模型,这可有效提升待检测图像中待检测目标的检测速度,且可尽可能保持模型的原始性能。
本发明实施例所提供的目标检测装置可执行本发明任意实施例所提供的目标检测方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述目标检测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例六
图7为本发明实施例六提供的一种设备的结构示意图,如图7所示,该设备包括存储器610、处理器620、输入装置630和输出装置640。设备中的处理器620的数量可以是一个或多个,图7中以一个处理器620为例;设备中的存储器610、处理器620、输入装置630和输出装置640可以通过总线或其它方式连接,图7中以通过总线650连接为例。
存储器610作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的模型生成方法对应的程序指令/模块(例如,模型生成装置中的第一获取模块410、第一筛选模块420和模型生成模块430),或者,如本发明实施例中的目标检测方法对应的程序指令/模块(例如,目标检测装置中的第二获取模块510和目标检测模块520)。处理器620通过运行存储在存储器610中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的模型生成方法或是目标检测方法。
存储器610可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器610可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器610可进一步包括相对于处理器620远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可用于接收输入的数字或字符信息,以及产生与装置的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。
实施例七
本发明实施例七提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种模型生成方法,该方法包括:
获取初步训练完成的中间检测模型中批归一化层的缩放系数,其中,中间检测模型是基于多个训练样本对原始检测模型进行训练后得到的,训练样本包括样本图像和样本图像中已知目标的样本标注结果;
根据各缩放系数的数值大小,从各缩放系数中筛选出待剪枝系数;
从中间检测模型的各通道中,筛选出与待剪枝系数对应的待剪枝通道,并对待剪枝通道进行通道剪枝,生成目标检测模型。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的模型生成方法中的相关操作。
实施例八
本发明实施例八提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种目标检测方法,该方法包括:
获取待检测图像和按照上述实施例七所述的方法生成的目标检测模型;
将待检测图像输入至目标检测模型中,根据目标检测模型的输出结果,得到待检测图像中待检测目标的目标检测结果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。依据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种模型训练的样本增强方法、装置与系统