CN113947705B - 一种基于约束条件下的演化神经网络的目标检测方法 - Google Patents
一种基于约束条件下的演化神经网络的目标检测方法 Download PDFInfo
- Publication number
- CN113947705B CN113947705B CN202111238755.1A CN202111238755A CN113947705B CN 113947705 B CN113947705 B CN 113947705B CN 202111238755 A CN202111238755 A CN 202111238755A CN 113947705 B CN113947705 B CN 113947705B
- Authority
- CN
- China
- Prior art keywords
- individuals
- convolution layer
- individual
- fitness
- population
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of 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/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Physiology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Genetics & Genomics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于约束条件下的演化神经网络的目标检测方法,其包括构建若干结构块和由若干个体构成的种群,通过变长编码方式对每个个体进行编码,即完成种群初始化;根据训练数据集对每个个体进行训练更新;在验证数据集上对个体进行评估,计算个体准确率和复杂度得到个体适应度;根据预设的约束量,利用约束控制方法调整个体适应度,并调整准确率超过阈值的个体构架;根据调整后的适应度从种群中选择父本,通过父本交叉生成一级子代,并使一级子代概率性发生变异,生成二级子代;对父代、一级子代和二级子代进行选择,生成新的种群,进行迭代进化。本发明设计轻量结构单元利用约束方法,不用人工经验达到优化的目标检测结果。
Description
技术领域
本发明涉及数字图像处理领域,具体涉及一种基于约束条件下的演化神经网络的目标检测方法。
背景技术
目标检测是计算机视觉、机器学习、人工智能等领域的研究热点,在诸如智能视频监控、机器人环境感知、大规模图像检索等方面都有广泛的应用。然而,由于实际场景中目标物体的各种形变、姿态变化以及背景光照、角度等环境因素,目标检测仍是一个具有挑战的任务。随着深度学习技术的不断发展,基于深度学习的目标检测性能得到了大幅度的提升。目前,目标检测主要利用图像处理和深度学习的方法定位图像中感兴趣的目标,准确地判别每个目标的类别并且给出每个目标在图像中的边界框,为后续图像智能分析(跟踪、识别、验证、匹配、检索等等)顺利进行的必要条件。
随着物联网概念的兴起,目标检测在移动和嵌入式设备上进行广泛应用,诸如智能视频监控、车辆自动驾驶、机器人环境感知、视觉人机交互等。这些设备往往具有有限的计算资源限制,在移动和嵌入式设备上进行部署的目标检测模型不仅要准确,而且要满足特定的资源约束限制。目前,在目标检测方法中,卷积神经网络与候选区提取算法相结合,利用卷积神经网路进行分类和识别,可以进行多尺度和多类别的目标检测,极大提高了目标检测的准确率。但是良好的网络模型性能需要较大的网络深度和网络宽度,会带来较大的网络规模和复杂度。因此,为了达到更优性能同时满足设备要求,我们需要设计复杂度尽可能接近设备限制的模型。
随着深度学习的不断发展,卷积神经网络(CNN)成为目标检测技术的有效方法,可以有效提高其准确度。然而,卷积神经网络的架构设计颇具挑战性,尤其是构建一个拥有很好目标检测功能的轻量级神经网络强烈依赖人工经验,这些人工经验来自无数专业人员对处理任务以及神经网络模型多年研究成果的共同积累。目前这些行业大量匮乏此类专业人员,这导致面向移动和嵌入式设备的基于CNN的目标检测方法很难独立实现。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于约束条件下的演化神经网络的目标检测方法解决了目前目标检测模型规模大,无法直接用于资源有限的移动端和嵌入式设备,以及现有技术中轻量级神经网络十分依赖人工经验的问题。
为了达到上述发明目的,本发明采用的技术方案为:
提供一种基于约束条件下的演化神经网络的目标检测方法,其包括以下步骤:
S1、构建若干结构块,并通过结构块构建组成种群的个体,通过变长编码方式对每个个体进行编码,即完成种群初始化;每个结构块包括至少两个卷积层;个体为CNN网络;
S2、构建训练数据集,根据训练数据集对每个个体进行训练更新;
S3、构建验证数据集,根据验证数据集对个体进行评估得到适应度,即个体的准确率和复杂度;
S4、根据预设的约束量对个体适应度进行约束控制,并根据准确率和复杂度调整个体构架,并评估得到构架调整后的适应度;
S5、根据调整后的适应度从种群中选择父本,通过父本交叉生成一级子代,并使一级子代概率性发生变异,生成二级子代;
S6、对父代、一级子代和二级子构成的种群代进行选择,生成新的种群;
S7、重复步骤S2到步骤S6进行迭代进化,得到用于进行目标检测的轻量模型。
进一步地,步骤S1的具体方法为:
S1-1、通过间接编码方式对各个结构块进行编码,并设置各个结构块的数目范围;
S1-2、根据设置的范围,以一个结构块为初始,随机添加结构块或池化层,并在最后添加若干全连接层,构成一个初始CNN网络;其中随机添加结构块时匹配每个卷积层的输入输出特征图数目,随机添加池化层时匹配池化层类型;
S1-3、在初始CNN网络后依次添加一个RPN网络、一个ROI池化层和若干全连接层,完成CNN网络构建;其中RPN网络用于在滑动窗口生成一个不同大小和不同长宽比的候选区域,候选区域用于映射输入的样本;
S1-4、利用结构块类型和输入输出特征图的个数对CNN网络的结构块进行编码,利用池化层类型对CNN网络的池化层进行编码,直到完成对构建的CNN网络的编码,即完成对构建的CNN网络的变长编码;
S1-5、重复上述步骤,构建若干个CNN网络,即完成初始化;其中一个CNN网络即一个种群中的一个个体。
进一步地,步骤S1中的五种结构块的结构为:
第一结构块,包括依次连接的第一卷积层和第二卷积层;所述第一卷积层和第二卷积层均为3×3结构;
第二结构块,包括依次连接的第三卷积层和第四卷积层,且第三卷积层的输入端与第四卷积层的输出端相连;所述第三卷积层和第四卷积层均为3×3结构;
第三结构块,包括依次连接的第五卷积层、第六卷积层和第七卷积层,且第五卷积层的输入端与第七卷积层的输出端相连;所述第六卷积层为3×3结构,所述第五卷积层和第七卷积层为1×1结构,构成瓶颈结构;
第四结构块,包括依次连接的第八卷积层和第九卷积层,且第八卷积层的输入端与第九卷积层的输出端相连;所述第八卷积层为分组卷积层,所述第八卷积层和第九卷积层均为3×3结构;
第五结构块,包括依次连接的第十卷积层、第十一卷积层和第十二卷积层,且第十卷积层的输入端与第十二卷积层的输出端相连;所述第十卷积层和第十二卷积层为1×1结构,所述第十一卷积层为3×3结构,构成瓶颈结构;其中第十卷积层和第十二卷积层为通过分组数设置的分组卷积层,第十一卷积层和第十二卷积层构成深度可分离卷积结构。
进一步地,步骤S2的具体方法为:
S2-1、获取待训练图片,并通过选择性搜索算法提取待训练图片的候选区域;
S2-2、通过公式IoU=A∩B/A∪B,计算候选区域与待训练图片的交并比;其中A为预测结果,即候选区域值,B为真实标签,即待训练图片的正确区域值,IoU为交并比,∩为交集运算,∪为并集运算;
S2-3、将交并比大于阈值的候选区域作为正样本;
S2-4、从最大交并比值开始对正样本进行排序,并取前I个候选区域,将前I个候选区域的坐标作为该待训练图片的训练样本;
S2-5、将待训练图片和训练样本输入初始化的CNN网络,并将批处理参数设置为m进行训练,得到分类向量和输出的坐标;
S2-6、将分类向量和候选区域的类别进行交叉熵计算得到分类损失,并将正确区域的坐标与输出的坐标进行回归损失计算得到回归损失;
S2-7、将分类损失和回归损失相加并返回网络,同时利用SGD算法对网络进行优化更新。
进一步地,步骤S2-6的具体方法包括以下子步骤:
S2-6-1、根据公式:
得到分类损失L;其中n1为样本数量,x为每个样本,y为真实样本标签,a为预测输出,ln为以自然对数为底的对数运算;
S2-6-2、根据公式:
得到回归损失L(t,t*);其中{x,y,w,h}为坐标,(x,y)为中心坐标,w为宽度,h为高度,i属于{x,y,w,h},smoothL1(·)为回归损失函数,t为输出目标框的坐标,t*为正确区域的坐标,ti和为中间变量,均用于对坐标的四个维度进行计算。
进一步地,步骤S3中对个体进行评估得到适应度的具体方法为:
S3-1、根据公式:
得到精度平均值即个体准确率mAP;其中AP为精度值,n2为目标类别,TP为被分为正样本并分对的概率,FN为被分为负样本并分错的概率,FP为被分为正样本并分错的概率,recall为召回率,其中recall按照升序排列为t1,t2,t3,...,tm,m为常数,precision为识别准确率,Precision(ti+1)为ti+1对应的识别准确率;
S3-2、获取个体的参数数目作为复杂度;其中准确率和复杂度共同构成适应度。
进一步地,步骤S4的具体方法为:
S4-1、将个体参数数目与预设的参数量约束值进行比较,判断个体是否可行,若是则不处理;否则通过自适应惩罚函数对个体进行适应度惩罚,并进入步骤S4-2;
S4-2、判断不可行个体的准确率是否大于阈值,若是则修复调整不可行个体的结构至少一次,并进入步骤S4-3;否则不处理;
S4-3、判断调整后的个体是否满足步骤S4-1的参数量约束,若是则保留替换结构;否则保留初始个体结构。
进一步地,步骤S4-1的自适应惩罚函数fitness为:
其中φ为当前种群的可行性比例,CV为归一化约束违背量,Nf为当前种群中可行个体数,N为当前种群所有个体数,complexityi为当前种群中个体复杂度,complexitymax为当前种群中个体的最大复杂度,C为约束量,mAP为个体准确率。
进一步地,步骤S5的具体方法为:
S5-1、设置父本大小、交叉概率和突变概率;
S5-2、随机一个整数,在种群中选择对应整数个个体;
S5-3、比较所选个体约束后的适应度大小,保留约束后的适应度最大的个体,完成一个父本的选择;
S5-4、重复步骤S5-2和步骤S5-3直到达到设置父本大小;
S5-5、在父本中随机选择两个父本,并生成一个随机数;
S5-6、判断随机数是否小于交叉概率,若是则将两个父本随机分成两部分,实现单点交叉,生成两个子代,进入步骤S5-7;否则使两个父本直接进入后代种群中,进入步骤S5-7;
S5-7、生成一个随机数,判断其是否小于突变概率,若是则对个体进行变异操作;否则个体保持不变;其中变异操作包括:随机添加一个结构块、随机添加一个池化层、移除选定位置上的结构块、移除选定位置上的池化层、随机改变选定位置上结构块的参数值、随机改变选定位置上池化层的参数值中的至少一种。
进一步地,步骤S6中生成新的种群的具体方法为:
S6-3、将所有个体按照适应度从大到小进行排序,并按照这N个个体的选取概率将[0,1]划分为N个区间;
S6-4、产生H个随机数,利用轮盘赌算法将H个随机数落在N个区间上;
S6-5、统计各个区间的随机数个数,保留随机数最多的区间对应的个体,重复操作N次,得到N个个体;
S6-6、用适应度最大的个体代替选出的个体中适应度最小的个体,得到新的种群。
本发明的有益效果为:
1、利用自适应惩罚方法,利用种群中可行个体(模型参数量超过设置的网络架构)的比例作为惩罚因子,与归一化复杂度(模型参数量),对不可行个体的适应度进行惩罚;利用自适应恢复算法,通过架构中结构单元替换的思想对不可行架构进行恢复。以上过程不需要人工经验的参与,能够根据当前实验中种群个体性能进行约束控制,实现对演化神经网络复杂度的高效约束。在提高神经网络性能的同时,限制网络规模,有利于最终的CNN模型满足小型设备的资源要求。
提出约束控制方法与演化神经网络相结合的方法用于目标检测,通过约束控制方法和演化计算找到一个满足约束条件同时性能较好的神经网络;使用遗传算法优化CNN的体系结构设计和连接权重初始化,实现在没有人工经验的情况下,能够通过神经网络达到较好的目标检测效果。
2、设计改进搜索空间,通过设计结构块构建多种轻量结构单元,有助于搜索轻量网络模型和后续的恢复操作。
3、利用可变长度编码方式,通过编码卷积结构类型,输入输出通道数和池化层类型实现对网络架构的快速编码,方便进行后续的遗传操作。
4、根据整个模型在演化过程的评估结果进行约束优化,优化目标检测效果的同时搜索更小型的完整网络。
5、在找到最佳神经网络之前,CNN的最佳深度是不清楚的,本方法中提出间接编码和可变长度基因编码策略对CNN进行编码,提高CNN结构的多样性。
6、在环境选择环节,种群中采用混合选择算法选择,既保证了精英性又具有多样性。
附图说明
图1为本发明的流程图;
图2为第二结构块的结构图;
图3为第三结构块的结构图;
图4为第四结构块的结构图;
图5为第五结构块的结构图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,提供一种基于约束条件下的演化神经网络的目标检测方法,其包括以下步骤:
S1、构建若干结构块,并通过结构块构建组成种群的个体,通过变长编码方式对每个个体进行编码,即完成种群初始化;每个结构块包括至少两个卷积层;个体为CNN网络;
S2、构建训练数据集,根据训练数据集对每个个体进行训练更新;
S3、构建验证数据集,根据验证数据集对个体进行评估得到适应度,即个体的准确率和复杂度;
S4、根据预设的约束量对个体适应度进行约束控制,并根据准确率和复杂度调整个体构架,并评估得到构架调整后的适应度;
S5、根据调整后的适应度从种群中选择父本,通过父本交叉生成一级子代,并使一级子代概率性发生变异,生成二级子代;
S6、对父代、一级子代和二级子构成的种群代进行选择,生成新的种群;
S7、重复步骤S2到步骤S6进行迭代进化,得到用于进行目标检测的轻量模型。
步骤S1的具体方法为:
S1-1、通过间接编码方式对各个结构块进行编码,并设置各个结构块的数目范围;
S1-2、根据设置的范围,以一个结构块为初始,随机添加结构块或池化层,并在最后添加若干全连接层,构成一个初始CNN网络;其中随机添加结构块时匹配每个卷积层的输入输出特征图数目,随机添加池化层时匹配池化层类型;
S1-3、在初始CNN网络后依次添加一个RPN网络、一个ROI池化层和若干全连接层,完成CNN网络构建;其中RPN网络用于在滑动窗口生成一个不同大小和不同长宽比的候选区域,候选区域用于映射输入的样本;
S1-4、利用结构块类型和输入输出特征图的个数对CNN网络的结构块进行编码,利用池化层类型对CNN网络的池化层进行编码,直到完成对构建的CNN网络的编码,即完成对构建的CNN网络的变长编码;
S1-5、重复上述步骤,构建若干个CNN网络,即完成初始化;其中一个CNN网络即一个种群中的一个个体。
如图2到图5所示,步骤S1中的五种结构块的结构为:
第一结构块,包括依次连接的第一卷积层和第二卷积层;所述第一卷积层和第二卷积层均为3×3结构;
第二结构块,包括依次连接的第三卷积层和第四卷积层,且第三卷积层的输入端与第四卷积层的输出端相连;所述第三卷积层和第四卷积层均为3×3结构;
第三结构块,包括依次连接的第五卷积层、第六卷积层和第七卷积层,且第五卷积层的输入端与第七卷积层的输出端相连;所述第六卷积层为3×3结构,所述第五卷积层和第七卷积层为1×1结构,构成瓶颈结构;
第四结构块,包括依次连接的第八卷积层和第九卷积层,且第八卷积层的输入端与第九卷积层的输出端相连;所述第八卷积层为分组卷积层,所述第八卷积层和第九卷积层均为3×3结构;
第五结构块,包括依次连接的第十卷积层、第十一卷积层和第十二卷积层,且第十卷积层的输入端与第十二卷积层的输出端相连;所述第十卷积层和第十二卷积层为1×1结构,所述第十一卷积层为3×3结构,构成瓶颈结构;其中第十卷积层和第十二卷积层为通过分组数设置的分组卷积层,第十一卷积层和第十二卷积层构成深度可分离卷积结构。
步骤S2的具体方法为:
S2-1、获取待训练图片,并通过选择性搜索算法提取待训练图片的候选区域;
S2-2、通过公式IoU=A∩B/A∪B,计算候选区域与待训练图片的交并比;其中A为预测结果,即候选区域值,B为真实标签,即待训练图片的正确区域值,IoU为交并比,∩为交集运算,∪为并集运算;
S2-3、将交并比大于阈值的候选区域作为正样本;
S2-4、从最大交并比值开始对正样本进行排序,并取前I个候选区域,将前I个候选区域的坐标作为该待训练图片的训练样本;
S2-5、将待训练图片和训练样本输入初始化的CNN网络,并将批处理参数设置为m进行训练,得到分类向量和输出的坐标;
S2-6、将分类向量和候选区域的类别进行交叉熵计算得到分类损失,并将正确区域的坐标与输出的坐标进行回归损失计算得到回归损失;
S2-7、将分类损失和回归损失相加并返回网络,同时利用SGD算法对网络进行优化更新。
步骤S2-6的具体方法包括以下子步骤:
S2-6-1、根据公式:
得到分类损失L;其中n1为样本数量,x为每个样本,y为真实样本标签,a为预测输出,ln为以自然对数为底的对数运算;
S2-6-2、根据公式:
得到回归损失L(t,t*);其中{x,y,w,h}为坐标,(x,y)为中心坐标,w为宽度,h为高度,i属于{x,y,w,h},smoothL1(·)为回归损失函数,t为输出目标框的坐标,t*为正确区域的坐标,ti和为中间变量,均用于对坐标的四个维度进行计算。
步骤S3中对个体进行评估得到适应度的具体方法为:
S3-1、根据公式:
得到精度平均值即个体准确率mAP;其中AP为精度值,n2为目标类别,TP为被分为正样本并分对的概率,FN为被分为负样本并分错的概率,FP为被分为正样本并分错的概率,recall为召回率,其中recall按照升序排列为t1,t2,t3,...,tm,m为常数,precision为识别准确率,Precision(ti+1)为ti+1对应的识别准确率;
S3-2、获取个体的参数数目作为复杂度;其中准确率和复杂度共同构成适应度。
步骤S4的具体方法为:
S4-1、将个体参数数目与预设的参数量约束值进行比较,判断个体是否可行,若是则不处理;否则通过自适应惩罚函数对个体进行适应度惩罚,并进入步骤S4-2;
S4-2、判断不可行个体的准确率是否大于阈值,若是则修复调整不可行个体的结构至少一次,并进入步骤S4-3;否则不处理;
S4-3、判断调整后的个体是否满足步骤S4-1的参数量约束,若是则保留替换结构;否则保留初始个体结构。
步骤S4-1的自适应惩罚函数fitness为:
其中φ为当前种群的可行性比例,CV为归一化约束违背量,Nf为当前种群中可行个体数,N为当前种群所有个体数,complexityi为当前种群中个体复杂度,complexitymax为当前种群中个体的最大复杂度,C为约束量,mAP为个体准确率。
步骤S5的具体方法为:
S5-1、设置父本大小、交叉概率和突变概率;
S5-2、随机一个整数,在种群中选择对应整数个个体;
S5-3、比较所选个体约束后的适应度大小,保留约束后的适应度最大的个体,完成一个父本的选择;
S5-4、重复步骤S5-2和步骤S5-3直到达到设置父本大小;
S5-5、在父本中随机选择两个父本,并生成一个随机数;
S5-6、判断随机数是否小于交叉概率,若是则将两个父本随机分成两部分,实现单点交叉,生成两个子代,进入步骤S5-7;否则使两个父本直接进入后代种群中,进入步骤S5-7;
S5-7、生成一个随机数,判断其是否小于突变概率,若是则对个体进行变异操作;否则个体保持不变;其中变异操作包括:随机添加一个结构块、随机添加一个池化层、移除选定位置上的结构块、移除选定位置上的池化层、随机改变选定位置上结构块的参数值、随机改变选定位置上池化层的参数值中的至少一种。
步骤S6中生成新的种群的具体方法为:
S6-3、将所有个体按照适应度从大到小进行排序,并按照这N个个体的选取概率将[0,1]划分为N个区间;
S6-4、产生H个随机数,利用轮盘赌算法将H个随机数落在N个区间上;
S6-5、统计各个区间的随机数个数,保留随机数最多的区间对应的个体,重复操作N次,得到N个个体;
S6-6、用适应度最大的个体代替选出的个体中适应度最小的个体,得到新的种群。
在本发明的一个实施例中,使用一个(0,0.5)之间的数字来表示最大池类型,使用一个[0.5,1)之间的数字来表示平均池化类型。步骤S1-4中的变长编码方式的具体编码例子为:
假设一个CNN结构为:包括依次连接的第二结构块(输入量为32和输出量为64)、第一结构块(输入量为64和输出量为256)、平均池化层和第三结构块(输入量为256和输出量为512),其中第二结构块的输入通道数为32,第三结构块的输出通道数为512;则该CNN结构的编码结果过为:2(32-64)-1(64-256)-0.8-3(256-512)。
为了实现目的,本发明设计了五种结构块用于建立种群,步骤S6的过程保证了种群的精英性。
为了验证该神经网络在目标检测任务中的准确性,应用PASCALVOC数据集,共20类,统一图片大小224×224。把全部图片按照7:2:1的比例随机分成训练集、验证集和测试集。验证集的数据仅仅在选择演化模型的时候起验证作用,查看网络训练是否有效,而测试集是在最后的实验结果对比中起测试作用。
在演化过程中根据适应度选择出了在目标检测任务中效果最好的网络结构。网络结构模型包含了卷积和池化操作,可以实现图片的特征提取和分类。训练过程设置训练步数为300,每一步遍历所有训练数据,在不过拟合的情况下,达到较好的学习效果;为了不超出存储,一个批次训练2个样本。模型需要优化算法求解,优化算法采用SGD算法,学习率设为0.001,进行权重更新。在网络训练过程中,要确保训练集和测试集的损失都呈下降趋势,这样才进行有效训练。
本发明利用自适应惩罚方法,利用种群中可行个体(模型参数量超过设置的网络架构)的比例作为惩罚因子,与归一化复杂度(模型参数量),对不可行个体的适应度进行惩罚;利用自适应恢复算法,通过架构中结构单元替换的思想对不可行架构进行恢复。以上过程不需要人工经验的参与,能够根据当前实验中种群个体性能进行约束控制,实现对演化神经网络复杂度的高效约束。在提高神经网络性能的同时,限制网络规模,有利于最终的CNN模型满足小型设备的资源要求。
提出约束控制方法与演化神经网络相结合的方法用于目标检测,通过约束控制方法和演化计算找到一个满足约束条件同时性能较好的神经网络;使用遗传算法优化CNN的体系结构设计和连接权重初始化,实现在没有人工经验的情况下,能够通过神经网络达到较好的目标检测效果。
设计改进搜索空间,通过设计结构块构建多种轻量结构单元,有助于搜索轻量网络模型和后续的恢复操作。
利用可变长度编码方式,通过编码卷积结构类型,输入输出通道数和池化层类型实现对网络架构的快速编码,方便进行后续的遗传操作。
根据整个模型在演化过程的评估结果进行约束优化,优化目标检测效果的同时搜索更小型的完整网络。
在找到最佳神经网络之前,CNN的最佳深度是不清楚的,本方法中提出间接编码和可变长度基因编码策略对CNN进行编码,提高CNN结构的多样性。
在环境选择环节,种群中采用混合选择算法选择,既保证了精英性又具有多样性。
Claims (7)
1.一种基于约束条件下的演化神经网络的目标检测方法,其特征在于,包括以下步骤:
S1、构建若干结构块,并通过结构块构建组成种群的个体,通过变长编码方式对每个个体进行编码,即完成种群初始化;每个结构块包括至少两个卷积层;个体为CNN网络;
S2、构建训练数据集,根据训练数据集对每个个体进行训练更新;
S3、构建验证数据集,根据验证数据集对个体进行评估得到适应度,即个体的准确率和复杂度;
S4、根据预设的约束量对个体适应度进行约束控制,并根据准确率和复杂度调整个体构架,并评估得到构架调整后的适应度;
S5、根据调整后的适应度从种群中选择父本,通过父本交叉生成一级子代,并使一级子代概率性发生变异,生成二级子代;
S6、对父代、一级子代和二级子构成的种群代进行选择,生成新的种群;
S7、重复步骤S2到步骤S6进行迭代进化,得到用于进行目标检测的轻量模型;
步骤S2的具体方法为:
S2-1、获取待训练图片,并通过选择性搜索算法提取待训练图片的候选区域;
S2-2、通过公式IoU=A∩B/A∪B,计算候选区域与待训练图片的交并比;其中A为预测结果,即候选区域值,B为真实标签,即待训练图片的正确区域值,IoU为交并比,∩为交集运算,∪为并集运算;
S2-3、将交并比大于阈值的候选区域作为正样本;
S2-4、从最大交并比值开始对正样本进行排序,并取前I个候选区域,将前I个候选区域的坐标作为该待训练图片的训练样本;
S2-5、将待训练图片和训练样本输入初始化的CNN网络,并将批处理参数设置为m进行训练,得到分类向量和输出的坐标;
S2-6、将分类向量和候选区域的类别进行交叉熵计算得到分类损失,并将正确区域的坐标与输出的坐标进行回归损失计算得到回归损失;
S2-7、将分类损失和回归损失相加并返回网络,同时利用SGD算法对网络进行优化更新;
步骤S4的具体方法为:
S4-1、将个体参数数目与预设的参数量约束值进行比较,判断个体是否可行,若是则不处理;否则通过自适应惩罚函数对个体进行适应度惩罚,并进入步骤S4-2;
S4-2、判断不可行个体的准确率是否大于阈值,若是则修复调整不可行个体的结构至少一次,并进入步骤S4-3;否则不处理;
S4-3、判断调整后的个体是否满足步骤S4-1的参数量约束,若是则保留替换结构;否则保留初始个体结构;
步骤S4-1的自适应惩罚函数fitness为:
其中φ为当前种群的可行性比例,CV为归一化约束违背量,Nf为当前种群中可行个体数,N为当前种群所有个体数,complexityi为当前种群中个体复杂度,complexitymax为当前种群中个体的最大复杂度,C为约束量,mAP为个体准确率。
2.根据权利要求1所述的基于约束条件下的演化神经网络的目标检测方法,其特征在于,步骤S1的具体方法为:
S1-1、通过间接编码方式对各个结构块进行编码,并设置各个结构块的数目范围;
S1-2、根据设置的范围,以一个结构块为初始,随机添加结构块或池化层,并在最后添加若干全连接层,构成一个初始CNN网络;其中随机添加结构块时匹配每个卷积层的输入输出特征图数目,随机添加池化层时匹配池化层类型;
S1-3、在初始CNN网络后依次添加一个RPN网络、一个ROI池化层和若干全连接层,完成CNN网络构建;其中RPN网络用于在滑动窗口生成一个不同大小和不同长宽比的候选区域,候选区域用于映射输入的样本;
S1-4、利用结构块类型和输入输出特征图的个数对CNN网络的结构块进行编码,利用池化层类型对CNN网络的池化层进行编码,直到完成对构建的CNN网络的编码,即完成对构建的CNN网络的变长编码;
S1-5、重复上述步骤,构建若干个CNN网络,即完成初始化;其中一个CNN网络即一个种群中的一个个体。
3.根据权利要求1所述的基于约束条件下的演化神经网络的目标检测方法,其特征在于,步骤S1中的五种结构块的结构为:
第一结构块,包括依次连接的第一卷积层和第二卷积层;所述第一卷积层和第二卷积层均为3×3结构;
第二结构块,包括依次连接的第三卷积层和第四卷积层,且第三卷积层的输入端与第四卷积层的输出端相连;所述第三卷积层和第四卷积层均为3×3结构;
第三结构块,包括依次连接的第五卷积层、第六卷积层和第七卷积层,且第五卷积层的输入端与第七卷积层的输出端相连;所述第六卷积层为3×3结构,所述第五卷积层和第七卷积层为1×1结构,构成瓶颈结构;
第四结构块,包括依次连接的第八卷积层和第九卷积层,且第八卷积层的输入端与第九卷积层的输出端相连;所述第八卷积层为分组卷积层,所述第八卷积层和第九卷积层均为3×3结构;
第五结构块,包括依次连接的第十卷积层、第十一卷积层和第十二卷积层,且第十卷积层的输入端与第十二卷积层的输出端相连;所述第十卷积层和第十二卷积层为1×1结构,所述第十一卷积层为3×3结构,构成瓶颈结构;其中第十卷积层和第十二卷积层为通过分组数设置的分组卷积层,第十一卷积层和第十二卷积层构成深度可分离卷积结构。
6.根据权利要求1所述的基于约束条件下的演化神经网络的目标检测方法,其特征在于,步骤S5的具体方法为:
S5-1、设置父本大小、交叉概率和突变概率;
S5-2、随机一个整数,在种群中选择对应整数个个体;
S5-3、比较所选个体约束后的适应度大小,保留约束后的适应度最大的个体,完成一个父本的选择;
S5-4、重复步骤S5-2和步骤S5-3直到达到设置父本大小;
S5-5、在父本中随机选择两个父本,并生成一个随机数;
S5-6、判断随机数是否小于交叉概率,若是则将两个父本随机分成两部分,实现单点交叉,生成两个子代,进入步骤S5-7;否则使两个父本直接进入后代种群中,进入步骤S5-7;
S5-7、生成一个随机数,判断其是否小于突变概率,若是则对个体进行变异操作;否则个体保持不变;其中变异操作包括:随机添加一个结构块、随机添加一个池化层、移除选定位置上的结构块、移除选定位置上的池化层、随机改变选定位置上结构块的参数值、随机改变选定位置上池化层的参数值中的至少一种。
7.根据权利要求1所述的基于约束条件下的演化神经网络的目标检测方法,其特征在于,步骤S6中生成新的种群的具体方法为:
S6-3、将所有个体按照适应度从大到小进行排序,并按照这N个个体的选取概率将[0,1]划分为N个区间;
S6-4、产生H个随机数,利用轮盘赌算法将H个随机数落在N个区间上;
S6-5、统计各个区间的随机数个数,保留随机数最多的区间对应的个体,重复操作N次,得到N个个体;
S6-6、用适应度最大的个体代替选出的个体中适应度最小的个体,得到新的种群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111238755.1A CN113947705B (zh) | 2021-10-25 | 2021-10-25 | 一种基于约束条件下的演化神经网络的目标检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111238755.1A CN113947705B (zh) | 2021-10-25 | 2021-10-25 | 一种基于约束条件下的演化神经网络的目标检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113947705A CN113947705A (zh) | 2022-01-18 |
CN113947705B true CN113947705B (zh) | 2022-08-12 |
Family
ID=79332086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111238755.1A Active CN113947705B (zh) | 2021-10-25 | 2021-10-25 | 一种基于约束条件下的演化神经网络的目标检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113947705B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115359337B (zh) * | 2022-08-23 | 2023-04-18 | 四川大学 | 用于图像识别的脉冲神经网络的搜索方法、系统及应用 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845642A (zh) * | 2017-01-22 | 2017-06-13 | 北京科技大学 | 一种带约束云工作流调度的自适应多目标进化方法 |
CN109919108A (zh) * | 2019-03-11 | 2019-06-21 | 西安电子科技大学 | 基于深度哈希辅助网络的遥感图像快速目标检测方法 |
CN109959123A (zh) * | 2019-03-11 | 2019-07-02 | 浙江工业大学 | 一种基于遗传算法和长短期记忆循环神经网络的空调节能方法 |
CN111414849A (zh) * | 2020-03-19 | 2020-07-14 | 四川大学 | 一种基于演化卷积神经网络的人脸识别方法 |
CN111898689A (zh) * | 2020-08-05 | 2020-11-06 | 中南大学 | 一种基于神经网络架构搜索的图像分类方法 |
-
2021
- 2021-10-25 CN CN202111238755.1A patent/CN113947705B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845642A (zh) * | 2017-01-22 | 2017-06-13 | 北京科技大学 | 一种带约束云工作流调度的自适应多目标进化方法 |
CN109919108A (zh) * | 2019-03-11 | 2019-06-21 | 西安电子科技大学 | 基于深度哈希辅助网络的遥感图像快速目标检测方法 |
CN109959123A (zh) * | 2019-03-11 | 2019-07-02 | 浙江工业大学 | 一种基于遗传算法和长短期记忆循环神经网络的空调节能方法 |
CN111414849A (zh) * | 2020-03-19 | 2020-07-14 | 四川大学 | 一种基于演化卷积神经网络的人脸识别方法 |
CN111898689A (zh) * | 2020-08-05 | 2020-11-06 | 中南大学 | 一种基于神经网络架构搜索的图像分类方法 |
Non-Patent Citations (2)
Title |
---|
"Automatically Designing CNN Architectures Using the Genetic Algorithm for Image Classification";Yanan Sun等;《IEEE Transactions on Cybernetics》;20200421;全文 * |
"Completely Automated CNN Architecture Design Based on Blocks";Yanan Sun等;《IEEE Transactions on Neural Networks and Learning Systems 》;20190620;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113947705A (zh) | 2022-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111079561B (zh) | 一种基于虚拟训练的机器人智能抓取方法 | |
CN111429415B (zh) | 基于网络协同剪枝的产品表面缺陷高效检测模型构建方法 | |
CN113011570B (zh) | 一种采用神经网络压缩系统的人脸表情识别方法 | |
CN104850890A (zh) | 基于实例学习和Sadowsky分布的卷积神经网络参数调整方法 | |
CN109766873B (zh) | 一种混合可变形卷积的行人再识别方法 | |
CN110059625B (zh) | 一种基于mixup的人脸训练与识别方法 | |
CN105989368A (zh) | 一种目标检测方法及装置以及移动终端 | |
CN113362368B (zh) | 一种基于多层次时空图神经网络的人群轨迹预测方法 | |
CN113128432B (zh) | 基于演化计算的机器视觉多任务神经网络架构搜索方法 | |
CN113516133B (zh) | 一种多模态图像分类方法及系统 | |
CN113947705B (zh) | 一种基于约束条件下的演化神经网络的目标检测方法 | |
CN110990608A (zh) | 一种基于Siamese结构双向长短时记忆网络的三维模型检索方法 | |
CN112561039A (zh) | 一种改进的基于超网络的进化神经网络架构搜索方法 | |
CN113033547A (zh) | 一种基于MobileNetV2的焊接状态分类方法 | |
CN114580718A (zh) | 一种基于条件变分生成对抗网络的行人轨迹预测方法 | |
CN108229692B (zh) | 一种基于双重对比学习的机器学习识别方法 | |
CN109583584B (zh) | 可使具有全连接层的cnn接受不定形状输入的方法及系统 | |
CN117132546A (zh) | 一种用于无缺陷样本条件下的混凝土表面缺陷检测方法 | |
CN117058235A (zh) | 跨多种室内场景的视觉定位方法 | |
CN115620046A (zh) | 一种基于半监督性能预测器的多目标神经架构搜索方法 | |
CN117173449A (zh) | 基于多尺度detr的航空发动机叶片缺陷检测方法 | |
CN114494284B (zh) | 一种基于显式监督区域关系的场景解析模型及方法 | |
Yang et al. | A tool for searching active bending bamboo strips in construction via deep learning | |
CN115170793A (zh) | 面向工业产品质检的小样本图像分割自我校准方法 | |
Shi et al. | Factors Affecting Accuracy of Genotype Imputation Using Neural Networks in Deep Learning |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |