CN116051961A - 一种目标检测模型训练方法、目标检测方法、设备及介质 - Google Patents
一种目标检测模型训练方法、目标检测方法、设备及介质 Download PDFInfo
- Publication number
- CN116051961A CN116051961A CN202310122211.1A CN202310122211A CN116051961A CN 116051961 A CN116051961 A CN 116051961A CN 202310122211 A CN202310122211 A CN 202310122211A CN 116051961 A CN116051961 A CN 116051961A
- Authority
- CN
- China
- Prior art keywords
- model
- channel
- pruned
- target
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 95
- 238000012549 training Methods 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000013138 pruning Methods 0.000 claims abstract description 51
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 12
- 230000006835 compression Effects 0.000 claims description 10
- 238000007906 compression Methods 0.000 claims description 10
- 230000005284 excitation Effects 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 9
- 108091006146 Channels Proteins 0.000 description 227
- 238000004364 calculation method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000628997 Flos Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种目标检测模型训练方法、目标检测方法、设备及介质,应用于目标检测技术领域,包括:利用第一图像样本训练集对初始模型进行训练以得到训练后模型,进行重参数化;利用预设通道重要性判别标准确定重参数化后模型中每个卷积层对应的待剪枝通道并进行剪枝;分别确定深度卷积层的第一输出通道以及逐点卷积层的第二输出通道;第一输出通道为第一目标通道之外的输出通道,第一目标通道为自身以及与自身通道序号相同的输入通道均为待剪枝通道的输出通道;基于剪枝后模型构建新模型,以得到目标检测模型;新模型保留第一输出通道以及第二输出通道。能够提升目标检测的效率,有效节省资源。
Description
技术领域
本申请涉及目标检测技术领域,特别涉及一种目标检测模型训练方法、目标检测方法、设备及介质。
背景技术
自从深度学习算法在图像任务中取得举世瞩目的成绩后,深度卷积神经网络逐渐取代了传统的统计学习成为计算机视觉的主流框架和方法,逐渐应用于多种场景如手机、自动驾驶、智慧医院等。但是很多卷积神经网络都需要高额的计算成本,而许多场景的硬件资源受到外形、电池和散热的严格限制,这些计算成本远远超出了大多数移动设备的能力,如车辆、手机、物联网、人工智能物联网(AIOT)边缘设备。而且,这些计算工作不能委托给云服务器,因为它们可能对延迟(例如,自动驾驶)或隐私(例如,医疗保健)非常敏感。
目前,针对目标检测任务,如何减少网络模型在执行任务时产生的不必要的计算量、参数量和内存消耗,使得模型可以更加高效的对图像进行目标检测,同时产生较小的内存消耗,从而有效节省计算和存储资源是目前基带解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种目标检测模型训练方法、目标检测方法、设备及介质,在保证深度卷积层输入输出通道数一致的前提下,避免剪去逐点卷积层中的重要通道,能够提升目标检测的效率,以及有效的节省计算和存储资源。其具体方案如下:
第一方面,本申请公开了一种目标检测模型训练方法,包括:
利用第一图像样本训练集对初始模型进行训练以得到训练后模型,并将所述训练后模型进行重参数化,得到重参数化后模型;所述重参数化后模型中包括深度卷积层和逐点卷积层;
利用预设通道重要性判别标准确定所述重参数化后模型中每个卷积层对应的待剪枝通道并基于待剪枝通道对所述重参数化后模型进行剪枝,得到剪枝后模型;
分别确定所述深度卷积层的第一输出通道以及所述逐点卷积层的第二输出通道;所述第一输出通道为第一目标通道之外的输出通道,所述第一目标通道为自身以及与自身通道序号相同的输入通道均为待剪枝通道的输出通道,所述第二输出通道为第二目标通道之外的输出通道,所述第二目标通道与所述第一目标通道的通道序号相同;
基于所述剪枝后模型构建新模型,以得到目标检测模型;其中,所述新模型中保留所述第一输出通道以及所述第二输出通道。
可选的,所述基于待剪枝通道对所述重参数化后模型进行剪枝,得到剪枝后模型之后,还包括:
利用第二图像样本训练集对所述剪枝后模型进行训练,得到目标剪枝后模型;
相应的,所述基于所述剪枝后模型构建新模型,以得到目标检测模型,包括:
基于目标剪枝后模型构建新模型,以得到最终的目标检测模型。
可选的,所述基于所述剪枝后模型构建新模型,以得到目标检测模型,包括:
利用图像样本测试集分别对所述目标剪枝后模型和所述新模型进行测试,得到所述目标剪枝后模型和所述新模型的精度;
若所述目标剪枝后模型与所述新模型精度一致,则进行重复剪枝以及模型构建,直到构建的新模型符合预设性能指标,将该新模型作为最终的目标检测模型。
可选的,所述利用第二图像样本训练集对所述剪枝后模型进行训练,得到目标剪枝后模型之前,还包括:
在所述剪枝后模型中添加批标准化层。
可选的,所述初始模型包括卷积块结构;所述卷积块结构包括深度卷积层、逐点卷积层、批标准化层以及压缩激励模块;
相应的,所述预设通道重要性判别标准为:通道权重的绝对值大小/批标准化层的权重参数的绝对值大小/通道泰勒一阶项的大小减去每层Flops正则项的大小/压缩激励模块输出的大小。
可选的,所述利用第一图像样本训练集对初始模型进行训练以得到训练后模型之前,还包括:
对批标准化层的权重参数的梯度添加正则化因子。
可选的,所述利用预设通道重要性判别标准确定所述重参数化后模型中每个卷积层对应的待剪枝通道,包括:
利用预设通道重要性判别标准确定每个卷积层的每个通道的通道重要性;
分别对所有所述深度卷积层和所有所述逐点卷积层的通道重要性进行排序,以得所有所述深度卷积层对应的第一排序结果,以及所有所述逐点卷积层对应的第二排序结果;
分别基于所述第一排序结果和所述第二排序结果确定深度卷积层和逐点卷积层对应的待剪枝通道。
第二方面,本申请公开了一种目标检测方法,包括:
获取待检测图像;
将所述待检测图像输入目标检测模型,得到目标检测结果;其中,所述目标检测模型基于如前述的目标检测模型训练方法得到。
第三方面,本申请公开了一种目标检测模型训练装置,包括:
模型训练模块,用于利用第一图像样本训练集对初始模型进行训练以得到训练后模型;
重参数化模块,用于将所述训练后模型进行重参数化,得到重参数化后模型;所述重参数化后模型中包括深度卷积层和逐点卷积层;
模型剪枝模块,用于利用预设通道重要性判别标准确定所述重参数化后模型中每个卷积层对应的待剪枝通道并基于待剪枝通道对所述重参数化后模型进行剪枝,得到剪枝后模型;
保留通道确定模块,用于分别确定所述深度卷积层的第一输出通道以及所述逐点卷积层的第二输出通道;所述第一输出通道为第一目标通道之外的输出通道,所述第一目标通道为自身以及与自身通道序号相同的输入通道均为待剪枝通道的输出通道,所述第二输出通道为第二目标通道之外的输出通道,所述第二目标通道与所述第一目标通道的通道序号相同;
模型构建模块,用于基于所述剪枝后模型构建新模型,以得到目标检测模型;其中,所述新模型中保留所述第一输出通道以及所述第二输出通道。
第四方面,本申请公开了一种电子设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述的目标检测模型训练方法,和/或,前述的目标检测方法。
第五方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的目标检测模型训练方法,和/或,前述的目标检测方法。
可见,本申请先利用第一图像样本训练集对初始模型进行训练以得到训练后模型,并将所述训练后模型进行重参数化,得到重参数化后模型;所述重参数化后模型中包括深度卷积层和逐点卷积层,之后利用预设通道重要性判别标准确定所述重参数化后模型中每个卷积层对应的待剪枝通道并基于待剪枝通道对所述重参数化后模型进行剪枝,得到剪枝后模型,并且,分别确定所述深度卷积层的第一输出通道以及所述逐点卷积层的第二输出通道;所述第一输出通道为第一目标通道之外的输出通道,所述第一目标通道为自身以及与自身通道序号相同的输入通道均为待剪枝通道的输出通道,所述第二输出通道为第二目标通道之外的输出通道,所述第二目标通道与所述第一目标通道的通道序号相同,然后基于所述剪枝后模型构建新模型,以得到目标检测模型;其中,所述新模型中保留所述第一输出通道以及所述第二输出通道。也即,本申请基于重参数化后模型确定待剪枝模型,并进行剪枝,基于剪枝后模型构建新模型以得到目标检测模型,对深度卷积层,最终剪去的仅为自身以及与自身通道序号相同的输入通道均为待剪枝通道的输出通道,在保证深度卷积层输入输出通道数一致的前提下,避免剪去逐点卷积层中的重要通道,能够提升目标检测的效率,以及有效的节省计算和存储资源。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种目标检测模型训练方法流程图;
图2为本申请提供的一种重参数网络结构示意图;
图3为本申请提供的一种具体的新模型构建示意图;
图4为本申请提供的一种具体的目标检测模型训练方法流程图;
图5为本申请提供的一种具体的初始模型结构示意图;
图6为本申请提供的一种具体的卷积块结构示意图;
图7为本申请提供的一种目标检测方法流程图;
图8为本申请提供的一种目标检测模型训练装置结构示意图;
图9为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,针对目标检测任务,如何减少网络模型在执行任务时产生的不必要的计算量、参数量和内存消耗,使得模型可以更加高效的对图像进行目标检测,同时产生较小的内存消耗,从而有效节省计算和存储资源是目前基带解决的问题。为此,本申请提供了一种目标检测模型训练方案,在保证深度卷积层输入输出通道数一致的前提下,避免剪去逐点卷积层中的重要通道,能够提升目标检测的效率,以及有效的节省计算和存储资源。
参见图1所示,本申请实施例公开了一种目标检测模型训练方法,包括:
步骤S11:利用第一图像样本训练集对初始模型进行训练以得到训练后模型,并将所述训练后模型进行重参数化,得到重参数化后模型;所述重参数化后模型中包括深度卷积层和逐点卷积层。
可以理解的是,初始模型为基于目标检测任务搭建的网络模型,并且为适用于目标检测任务的多分支并列的网络。所述初始模型包括卷积块结构;在一种实施方式中,所述卷积块结构包括深度卷积层、逐点卷积层、批标准化层。进一步的,还可以包括压缩激励模块、shortcut(即直连)结构。
需要指出的是,重参数化网络结构属于高效的神经网络中的一种。重参数化网络结构是一种推理和训练时采用不同的网络结构,但是输出相同的网络结果。在现实场景中,训练资源一般是相对丰富的,所以采用多分支并列的网络结构。而布置网络进行推理时却要考虑内存的大小和性能,因此重参数化网络结构应运而生,RepVGG以及MobileOne均为重参数化网络结构,RepVGG训练时的结构由3*3卷积层加BN(即batchnorm,批标准化)层,1*1卷积层加BN层和单独的BN层,推理时通过重参数化算法将上述的四层参数合并为一层3*3卷积层。在此基础上,提出的MobileOne网络结构,不同于RepVGG,MobileOne采用了深度可分离卷积,所以训练时有上下两层结构,上层结构采用4个3*3卷积层加BN层,1*1卷积层加BN层和单独的BN层,下层结构采用了4个1*1卷积层加BN层和单独的BN层。推理时则变成上层为3*3卷积层,下层为1*1卷积层。例如,参见图2所示,图2为本申请实施例提供的一种重参数网络结构示意图,图2中(a)为RepVGG结构,图2中(b)为MobileOne结构。本申请中初始模型中的卷积块结构可以采用RepVGG结构、也可以采用MobileOne结构。并且,可以进行改进,添加压缩激励模块、shortcut(即直连)结构,以提升模型性能。
另外,本申请实施例可以对批标准化层的权重参数的梯度添加正则化因子。也即,本申请对初始的多分支并列的网络进行训练达到最优精度,在训练过程中插入BN层正则化因子,使得BN层的权重参数γ更为接近0。训练完成后,进行重参数化过程,合并参数。并且,本申请实施例还可以对通道权重添加L2正则化因子。
步骤S12:利用预设通道重要性判别标准确定所述重参数化后模型中每个卷积层对应的待剪枝通道并基于待剪枝通道对所述重参数化后模型进行剪枝,得到剪枝后模型。
在第一种实施方式中,所述预设通道重要性判别标准为通道权重的绝对值大小。
在第二种实施方式中,所述预设通道重要性判别标准为批标准化层的权重参数的绝对值大小。
在第三种实施方式中,所述预设通道重要性判别标准为通道泰勒一阶项的大小减去每层Flops正则项的大小。
在第四种实施方式中,所述预设通道重要性判别标准为压缩激励模块输出的大小。
进一步的,在具体的实施方式中,可以利用预设通道重要性判别标准确定每个卷积层的每个通道的通道重要性;分别对所有所述深度卷积层和所有所述逐点卷积层的通道重要性进行排序,以得所有所述深度卷积层对应的第一排序结果,以及所有所述逐点卷积层对应的第二排序结果;分别基于所述第一排序结果和所述第二排序结果确定深度卷积层和逐点卷积层对应的待剪枝通道。
在一种实施方式中,对于深度卷积层,将第一预设比例的通道重要性最低的输出通道确定为待剪枝通道。对于逐点卷积层,将第二预设比例的通道重要性最低的输出通道确定为待剪枝通道。第一预设比例可以与第二预设比例相同或不同。
在另一种实施方式中,对于深度卷积层,将通道重要性低于第一预设阈值的输出通道确定为待剪枝通道。对于逐点卷积层,将通道重要性低于第二预设阈值的输出通道确定为待剪枝通道。第一预设阈值可以与第二预设阈值相同或不同。
进一步,深度卷积层的待剪枝通道的数量可以小于逐点卷积层的待剪枝通道的数量。需要指出的是,深度卷积层的重要性大于逐点卷积层,本申请实施例保留更多的深度卷积层,使得模型的性能更好。
也即,本申请实施例利用预设通道重要性判别标准对训练好的网络结构进行剪枝,通道重要性判别标准可以为:每个通道权重的绝对值的大小,每个通道BN层的权重参数γ的绝对值的大小,每层通道泰勒一阶项的大小减去每层Flops正则项的大小,模型中压缩激励模块输出的大小。四种标准可以各自进行剪枝,最后选择最优的模型。另外,重参数化后BN层会并入卷积层中,所以第一次获取γ值是重参数化前的BN层中的γ值,并且,每层的四个标准还需要根据每层进行标准的归一化,确保每层都按同一个标准进行剪枝。每种标准按网络结构中3*3层和1*1层分别进行归一化大小排列,因为在模型中深度卷积3*3层主要用于提取图像的信息而逐点卷积1*1层主要用于通道的改变,所以两者的重要性不同,排名越小的通道则视为可以剪去的通道,可以选择一定的比例或者按一定值的大小选出阈值,确定待剪枝通道,然后将待剪枝通道的参数都置为0。
在其他实施例中也可以确定每个卷积层的重要性,第一卷积层的待剪枝通道高于第二卷积层,第一卷积层的重要性低于第二卷积层,也即,以卷积层重要性越高,减去的通道数越少为原则确定待剪枝通道。
进一步的,在具体的实施方式中,可以利用第二图像样本训练集对所述剪枝后模型进行训练,得到目标剪枝后模型。
另外,所述利用第二图像样本训练集对所述剪枝后模型进行训练,得到目标剪枝后模型之前,还包括:在所述剪枝后模型中添加批标准化层。
也即,本申请实施例对剪枝完成后的模型进行训练微调,提升精度。第一次剪枝后的模型没有BN层,所以需要添加BN层,再进行微调,直至模型达到最优精度。
步骤S13:分别确定所述深度卷积层的第一输出通道以及所述逐点卷积层的第二输出通道;所述第一输出通道为第一目标通道之外的输出通道,所述第一目标通道为自身以及与自身通道序号相同的输入通道均为待剪枝通道的输出通道,所述第二输出通道为第二目标通道之外的输出通道,所述第二目标通道与所述第一目标通道的通道序号相同。
步骤S14:基于所述剪枝后模型构建新模型,以得到目标检测模型;其中,所述新模型中保留所述第一输出通道以及所述第二输出通道。
在具体的实施方式中,可以基于目标剪枝后模型构建新模型,以得到最终的目标检测模型。也即,获取目标剪枝后模型的相应参数,构建新模型。
并且,本申请实施例可以利用图像样本测试集分别对所述目标剪枝后模型和所述新模型进行测试,得到所述目标剪枝后模型和所述新模型的精度;若所述目标剪枝后模型与所述新模型精度一致,则进行重复剪枝以及模型构建,直到构建的新模型符合预设性能指标,将该新模型作为最终的目标检测模型。
需要指出的是,剪枝后的模型变成通道稀疏化后的模型,需要构建一个新的模型,不包含前面通道参数置0的通道。深度可分离卷积的第一层3*3卷积需要实行对位原则,即剪去自身以及与自身通道序号相同的输入通道均为待剪枝通道的输出通道。例如,参见图3所示,图3为本申请实施例公开的一种具体的新模型构建示意图,其中,阿拉伯数字为通道号,灰度的方块代表待剪枝通道。剪去第3,6,7通道。而1,2,4,5通道由于对位原则不需要剪枝,所以则需要保留这些通道。另外新模型中的1*1卷积层不需要考虑这个过程,直接将通道剪枝即可。本申请实施例进行迭代式剪枝:测试完新模型的精度,完成一次剪枝。完成一次剪枝后,可重复剪枝、模型微调,新模型的构建和测试,直至模型的参数量、计算量、内存消耗和精度都符合预设性能指标,则停止剪枝。将最终剪枝完的新模型布置到AIOT边缘设备中,进行目标检测。
需要指出的是,本申请实施例的目的在于通过减少模型的计算量,参数量和内存消耗,加速神经网络推理速度,从而可以将模型布置在一些AIOT边缘设备中进行目标检测,提出了一种基于重参数化网络结构的结构化剪枝方案,本实施例还可以适用于其他图像任务,比如图像分类、目标分割等。通过对网络模型中不重要的参数进行修剪,来减少网络模型在进行图像任务时产生的不必要的计算量,参数量和内存消耗,使得剪枝后的网络模型可以更加高效的对图像进行分类,目标检测或目标分割等,同时产生较小的内存消耗,从而有效节省计算和存储资源,使模型更好地应用到一些AIOT边缘设备中。
例如,参见图4所示,图4为本申请实施例提供的一种具体的目标检测模型训练方法流程图。具体包括以下步骤:
首先,构建初始模型:利用多分支网络结构构建目标检测模型。参见图5所示,图5为本申请实施例提供的一种具体的初始模型结构示意图,图5中(a)为原始的SSD结构,(b)为本申请实施例改进的初始模型结构。SSD的网络主要由VGG16作为主干网络,再加上4个额外的卷积层,每个卷积层都由一层1*1卷积层(用于改变通道数目)一层3*3卷积层(用于提取特征)构成。分类和回归总共提取SSD网络结构中的6层,分别是卷积层4-3的512*38*38的特征输出图,卷积层7的1024*19*19特征图,还有就是额外4层卷积层中的第2层,分别是卷积层8-2的512*10*10特征图,卷积层9-2的256*5*5特征图,卷积层10-2的256*3*3特征图和卷积层11-2的256*1*1特征图。浅层特征图用于提取小目标,而深层的特征图则用于提取较大的目标。本申请首先将整个VGG16替换为MobileOne-S0的结构,也就是SSD的主干网络替换为MobileOne-S0的结构。MobileOne-S0中stage(阶段)7为Avgpool层,所以只截取到stage6为止。另外额外的4个卷积层也替换为MobileOne中的重参数化结构,由4层深度可分离卷积构成,每层深度可分离卷积可分为3*3的深度卷积和1*1的逐点卷积。此外由于模型是应用于行人的目标检测任务,所以摄像头所针对的都是行人这些大目标。所以针对这个任务的特殊性,分类和回归提取SSD网络结构中的6层中,首先取消了38*38的特征输出图,改由19*19作为特征输出层的第一层。由于原SSD结构中的第二层为1024通道,所以将MobileOne-S0中stage6的通道由512改为1024。特征输出层的第一层变成MobileOne-S0的stage5的256*19*19的特征图,第二层变成MobileOne-S0的stage6的1024*19*19的特征图。后面4层依次皆为额外层的第二层的特征输出图,依次是额外层7-2的512*5*5特征图,额外层8-2的256*3*3特征图,额外层9-2的256*2*2特征图,额外层10-2的256*1*1特征图。图5中X1~X6表示特征图。以卷积层7-2为例,7-2表示该层取第二个卷积层的输出特征图。另外对于每个多分支结构中的卷积块修改结构如图6,每个卷积块增加压缩激励模块和shortcut结构(图6加号),shortcut结构只在前后特征图形状完全相同时触发。
进一步的,训练模型:对重参数化前的多分支并列网络进行训练,训练过程中,插入BN层正则化因子,具体的,在BN层的权重参数γ的梯度加一个λ*sign(γ)(λ默认取0.0001),使得更新参数时γ向0接近。训练完成后,进行重参数化过程。合并参数。
进一步的,通道重要性判别标准:剪枝判断通道重要性的标准有四种,分别为每个通道权重的绝对值的大小、每个通道BN层的权重参数γ的绝对值的大小、压缩激励模块中输出的大小、每层通道泰勒一阶项的大小减去每层卷积层Flops正则项的大小。前三个标准参数可以直接提取,第四个标准通道泰勒一阶项公式为:
其中,hi为第i个卷积层的输出,C表示通道,θC/θhi为卷积层输出的梯度,需要反向传播时才可以得到,所以还需要一轮不更新参数的训练。另外Flops正则化项公式为:Flops=Cin*Cout*W*H*k*k*λ;其中,Cin为卷积层的输入通道数、Cout为卷积层的输出通道数,W和H分别表示网络运行过程中输出图像的宽和高,k表示卷积核的大小,λ取0.001。其中,每个通道BN层的权重参数γ的绝对值的大小,需要在重参数化前计算。每个通道的四种标准可以各自进行剪枝,最后选择最优的模型。每种标准计算完大小后,按每层进行归一化,归一化公式为:
其中,Zk代表待归一化通道的任一种标准的值,n表示通道总数,Zi表示第i个通道的该种标准的值。
进一步的,模型剪枝:四种标准都根据网络结构中3*3层和1*1层分别进行归一化后,按大小进行排列,排名越小的通道则视为可以剪去的通道,可以选择一定的比例,如选择剪去10%的通道,则选取排列的总数乘以10%的通道作为可以剪去的通道,或选择一个定值如10-5作为阈值。两种卷积层的标准分开计算,将可以剪去的通道的权重和偏置都置为0,保存每层的掩码,掩码和通道数一致,由1和0构成,1为未剪枝通道,0为剪枝通道。
进一步的,模型微调:将剪枝完成后的模型进行训练微调,提升精度。这时微调的模型为重参数化后的结构,为3*3的卷积层或3*3的卷积层和1*1的卷积层,没有BN层。所以第一次剪枝后的模型需要添加BN层,再进行微调,直至模型达到最优精度。BN层的公式为:
其中,M是上一层的输入,W是卷积层的权重,μ、γ、σ、β分别是BN层的平均值,权重,标准差和偏置,i表示第i个通道。为使BN层插入前和插入后输出一致,则将μ、γ、σ,分别设置为0,1,1,再将β设置为卷积层的偏置,卷积层偏置设置为无,这样输出结果就和之前一致。
进一步的,构建新模型:由于深度可分离卷积的第一层3*3卷积层是深度卷积,输入通道数和输出通道数必须一致。所以在构建通道的时候,实行对位原则。以图3为例,具体算法为:
①先求出输入通道和输出通道中保留通道的索引以得到两个索引集,即0,2,5,8,9和0,1,4,8,9。
②求出上述两个索引集的并集,即0,1,2,4,5,8,9。这就是需要构建的通道。
③求出该并集和上述两个索引集的差集,即1,4和2,5。这两个差集是需要构建新模型后将掩码置0的通道的索引。
④求出两个差集对应的新模型的索引,即1,3和2,4。
⑤根据②构建新模型,再根据④的结果将相应通道即1,3和2,4的掩码置0。
另外新模型中的1*1卷积层则不需要考虑这个过程,直接将通道剪枝即可。
具体构建新模型算法为:
1)将每层掩码中上述步骤③中索引对应的掩码置1;
2)将每层掩码中1的通道保留,除去0的通道;
3)将每层掩码中上述步骤④中索引对应的掩码置0。
并且,本申请迭代式剪枝:测试新模型的精度,如果和模型微调后一致则完成一次剪枝,不一致则需检测之前的步骤。完成一次剪枝后,重复进行剪枝、模型微调以及新模型的构建和测试,直至模型的参数量、计算量、内存消耗和精度都符合预设性能指标,则停止剪枝。四种剪枝标准可同时进行剪枝,最后取表现最好的一种。
最后,将最终构建的新模型布置到AIOT边缘设备中。
可以理解的是,本申请实施例提供了基于前述对位原则的MobileOne结构中深度可分离卷积的剪枝方案,相对于直接剪深度卷积3*3层,然后去掉上层1*1逐点卷积对应的通道,本申请实施例可以通过同时剪两种层。避免剪去逐点卷积中重要的层,以及后续还需要再进行参数的微调的问题,可以直接将结构剪枝后的网络布置到硬件中,和未构建新模型的原网络输出相同。并且,深度可分离卷积中不同层的重要性不同,本申请实施例分别剪枝,提升了模型性能。
参见图7所示,本申请实施例公开的一种目标检测方法,包括:
步骤S21:获取待检测图像。
步骤S22:将所述待检测图像输入目标检测模型,得到目标检测结果;其中,所述目标检测模型基于前述实施例公开的目标检测模型训练方法得到。
在具体的实施方式中,可以将前述实施例得到的目标检测模型布置到AIOT边缘设备中,采集行人图像,得到待检测图像,将待检测图像输入目标检测模型,得到目标检测结果。
可见,本申请实施例基于剪枝得到的目标检测模型进行目标检测,能够提升目标检测的效率,以及有效的节省计算和存储资源。
参见图8所示,图8为本申请实施例公开的一种目标检测模型训练装置,包括:
模型训练模块11,用于利用第一图像样本训练集对初始模型进行训练以得到训练后模型;
重参数化模块12,用于将所述训练后模型进行重参数化,得到重参数化后模型;所述重参数化后模型中包括深度卷积层和逐点卷积层;
模型剪枝模块13,用于利用预设通道重要性判别标准确定所述重参数化后模型中每个卷积层对应的待剪枝通道并基于待剪枝通道对所述重参数化后模型进行剪枝,得到剪枝后模型;
保留通道确定模块14,用于分别确定所述深度卷积层的第一输出通道以及所述逐点卷积层的第二输出通道;所述第一输出通道为第一目标通道之外的输出通道,所述第一目标通道为自身以及与自身通道序号相同的输入通道均为待剪枝通道的输出通道,所述第二输出通道为第二目标通道之外的输出通道,所述第二目标通道与所述第一目标通道的通道序号相同;
模型构建模块15,用于基于所述剪枝后模型构建新模型,以得到目标检测模型;其中,所述新模型中保留所述第一输出通道以及所述第二输出通道。
可见,本申请实施例先利用第一图像样本训练集对初始模型进行训练以得到训练后模型,并将所述训练后模型进行重参数化,得到重参数化后模型;所述重参数化后模型中包括深度卷积层和逐点卷积层,之后利用预设通道重要性判别标准确定所述重参数化后模型中每个卷积层对应的待剪枝通道并基于待剪枝通道对所述重参数化后模型进行剪枝,得到剪枝后模型,并且,分别确定所述深度卷积层的第一输出通道以及所述逐点卷积层的第二输出通道;所述第一输出通道为第一目标通道之外的输出通道,所述第一目标通道为自身以及与自身通道序号相同的输入通道均为待剪枝通道的输出通道,所述第二输出通道为第二目标通道之外的输出通道,所述第二目标通道与所述第一目标通道的通道序号相同,然后基于所述剪枝后模型构建新模型,以得到目标检测模型;其中,所述新模型中保留所述第一输出通道以及所述第二输出通道。也即,本申请基于重参数化后模型确定待剪枝模型,并进行剪枝,基于剪枝后模型构建新模型以得到目标检测模型,对深度卷积层,最终剪去的仅为自身以及与自身通道序号相同的输入通道均为待剪枝通道的输出通道,在保证深度卷积层输入输出通道数一致的前提下,避免剪去逐点卷积层中的重要通道,能够提升目标检测的效率,以及有效的节省计算和存储资源。
参见图9所示,本申请实施例公开了一种电子设备20,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,前述实施例公开的目标检测模型训练方法,和/或,目标检测方法。
关于上述目标检测模型训练方法,和/或,目标检测方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述电子设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述电子设备20上的各硬件设备提供工作电压;所述通信接口24能够为所述电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的目标检测模型训练方法,和/或,目标检测方法。
关于上述目标检测模型训练方法,和/或,目标检测方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种目标检测模型训练方法、目标检测方法、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种目标检测模型训练方法,其特征在于,包括:
利用第一图像样本训练集对初始模型进行训练以得到训练后模型,并将所述训练后模型进行重参数化,得到重参数化后模型;所述重参数化后模型中包括深度卷积层和逐点卷积层;
利用预设通道重要性判别标准确定所述重参数化后模型中每个卷积层对应的待剪枝通道并基于待剪枝通道对所述重参数化后模型进行剪枝,得到剪枝后模型;
分别确定所述深度卷积层的第一输出通道以及所述逐点卷积层的第二输出通道;所述第一输出通道为第一目标通道之外的输出通道,所述第一目标通道为自身以及与自身通道序号相同的输入通道均为待剪枝通道的输出通道,所述第二输出通道为第二目标通道之外的输出通道,所述第二目标通道与所述第一目标通道的通道序号相同;
基于所述剪枝后模型构建新模型,以得到目标检测模型;其中,所述新模型中保留所述第一输出通道以及所述第二输出通道。
2.根据权利要求1所述的目标检测模型训练方法,其特征在于,所述基于待剪枝通道对所述重参数化后模型进行剪枝,得到剪枝后模型之后,还包括:
利用第二图像样本训练集对所述剪枝后模型进行训练,得到目标剪枝后模型;
相应的,所述基于所述剪枝后模型构建新模型,以得到目标检测模型,包括:
基于目标剪枝后模型构建新模型,以得到最终的目标检测模型。
3.根据权利要求2所述的目标检测模型训练方法,其特征在于,所述基于所述剪枝后模型构建新模型,以得到目标检测模型,包括:
利用图像样本测试集分别对所述目标剪枝后模型和所述新模型进行测试,得到所述目标剪枝后模型和所述新模型的精度;
若所述目标剪枝后模型与所述新模型精度一致,则进行重复剪枝以及模型构建,直到构建的新模型符合预设性能指标,将该新模型作为最终的目标检测模型。
4.根据权利要求2所述的目标检测模型训练方法,其特征在于,所述利用第二图像样本训练集对所述剪枝后模型进行训练,得到目标剪枝后模型之前,还包括:
在所述剪枝后模型中添加批标准化层。
5.根据权利要求4所述的目标检测模型训练方法,其特征在于,所述初始模型包括卷积块结构;所述卷积块结构包括深度卷积层、逐点卷积层、批标准化层以及压缩激励模块;
相应的,所述预设通道重要性判别标准为:通道权重的绝对值大小/批标准化层的权重参数的绝对值大小/通道泰勒一阶项的大小减去每层Flops正则项的大小/压缩激励模块输出的大小。
6.根据权利要求5所述的目标检测模型训练方法,其特征在于,所述利用第一图像样本训练集对初始模型进行训练以得到训练后模型之前,还包括:
对批标准化层的权重参数的梯度添加正则化因子。
7.根据权利要求1至6任一项所述的目标检测模型训练方法,其特征在于,所述利用预设通道重要性判别标准确定所述重参数化后模型中每个卷积层对应的待剪枝通道,包括:
利用预设通道重要性判别标准确定每个卷积层的每个通道的通道重要性;
分别对所有所述深度卷积层和所有所述逐点卷积层的通道重要性进行排序,以得所有所述深度卷积层对应的第一排序结果,以及所有所述逐点卷积层对应的第二排序结果;
分别基于所述第一排序结果和所述第二排序结果确定深度卷积层和逐点卷积层对应的待剪枝通道。
8.一种目标检测方法,其特征在于,包括:
获取待检测图像;
将所述待检测图像输入目标检测模型,得到目标检测结果;其中,所述目标检测模型基于如权利要求1至7任一项所述的目标检测模型训练方法得到。
9.一种电子设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的目标检测模型训练方法,和/或,如权利要求8任一项所述的目标检测方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的目标检测模型训练方法,和/或,如权利要求8任一项所述的目标检测方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310122211.1A CN116051961A (zh) | 2023-02-16 | 2023-02-16 | 一种目标检测模型训练方法、目标检测方法、设备及介质 |
PCT/CN2023/082112 WO2024168972A1 (zh) | 2023-02-16 | 2023-03-17 | 一种目标检测模型训练方法、目标检测方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310122211.1A CN116051961A (zh) | 2023-02-16 | 2023-02-16 | 一种目标检测模型训练方法、目标检测方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116051961A true CN116051961A (zh) | 2023-05-02 |
Family
ID=86127761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310122211.1A Pending CN116051961A (zh) | 2023-02-16 | 2023-02-16 | 一种目标检测模型训练方法、目标检测方法、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116051961A (zh) |
WO (1) | WO2024168972A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117671573A (zh) * | 2024-02-01 | 2024-03-08 | 苏州凌影云诺医疗科技有限公司 | 基于胃镜图像的幽门螺旋杆菌的感染状态识别方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532859B (zh) * | 2019-07-18 | 2021-01-22 | 西安电子科技大学 | 基于深度进化剪枝卷积网的遥感图像目标检测方法 |
CN113128355A (zh) * | 2021-03-29 | 2021-07-16 | 南京航空航天大学 | 一种基于通道剪枝的无人机图像实时目标检测方法 |
CN114913441B (zh) * | 2022-06-28 | 2024-04-16 | 湖南大学 | 通道剪枝方法、目标检测方法及遥感图像车辆检测方法 |
CN115577765A (zh) * | 2022-09-09 | 2023-01-06 | 美的集团(上海)有限公司 | 网络模型剪枝方法、电子设备及存储介质 |
-
2023
- 2023-02-16 CN CN202310122211.1A patent/CN116051961A/zh active Pending
- 2023-03-17 WO PCT/CN2023/082112 patent/WO2024168972A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117671573A (zh) * | 2024-02-01 | 2024-03-08 | 苏州凌影云诺医疗科技有限公司 | 基于胃镜图像的幽门螺旋杆菌的感染状态识别方法和装置 |
CN117671573B (zh) * | 2024-02-01 | 2024-04-12 | 苏州凌影云诺医疗科技有限公司 | 基于胃镜图像的幽门螺旋杆菌的感染状态识别方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2024168972A1 (zh) | 2024-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210042580A1 (en) | Model training method and apparatus for image recognition, network device, and storage medium | |
CN108764471B (zh) | 基于特征冗余分析的神经网络跨层剪枝方法 | |
CN107563381B (zh) | 基于全卷积网络的多特征融合的目标检测方法 | |
CN111091130A (zh) | 基于轻量级卷积神经网络的实时图像语义分割方法及系统 | |
CN109614968B (zh) | 一种基于多尺度混合图像风格化的车牌检测场景图片生成方法 | |
CN111507993A (zh) | 一种基于生成对抗网络的图像分割方法、装置及存储介质 | |
CN108288270A (zh) | 一种基于通道修剪与全卷积深度学习的目标检测方法 | |
CN110929610A (zh) | 基于cnn模型和迁移学习的植物病害识别方法及系统 | |
CN111652329B (zh) | 一种图像分类方法、装置、存储介质和电子设备 | |
CN112528845A (zh) | 一种基于深度学习的物理电路图识别方法及其应用 | |
WO2021185121A1 (zh) | 模型生成方法、目标检测方法、装置、设备及存储介质 | |
CN111339935A (zh) | 一种基于可解释cnn图像分类模型的光学遥感图片分类方法 | |
CN112819157B (zh) | 神经网络训练的方法及装置、智能行驶控制的方法及装置 | |
CN116740362B (zh) | 一种基于注意力的轻量化非对称场景语义分割方法及系统 | |
CN112115971B (zh) | 一种基于异质学术网络进行学者画像的方法及系统 | |
CN115272776B (zh) | 基于双路卷积与双注意的高光谱图像分类方法及存储介质 | |
CN116051961A (zh) | 一种目标检测模型训练方法、目标检测方法、设备及介质 | |
CN112215268A (zh) | 一种灾害天气卫星云图分类方法和装置 | |
CN113989287A (zh) | 城市道路遥感图像分割方法、装置、电子设备和存储介质 | |
CN111368865B (zh) | 遥感影像储油罐检测方法、装置、可读存储介质及设备 | |
CN114972753A (zh) | 基于上下文信息聚合和辅助学习的轻量级语义分割方法及系统 | |
CN116796821A (zh) | 面向3d目标检测算法的高效神经网络架构搜索方法及装置 | |
CN116011521A (zh) | 一种高效的基于可微分的神经网络架构搜索方法 | |
CN110569871A (zh) | 一种基于深度卷积神经网络的鞍部点识别方法 | |
CN114118411A (zh) | 图像识别网络的训练方法、图像识别方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |