基于遗传算法和U型神经网络的道路裂缝分割的方法与流程

文档序号:23719423发布日期:2021-01-24 07:07阅读:79来源:国知局
基于遗传算法和U型神经网络的道路裂缝分割的方法与流程
基于遗传算法和u型神经网络的道路裂缝分割的方法
技术领域
[0001]
本发明属于结构健康监测和图像处理技术领域,具体涉及基于遗传算法和u型神经网络的道路裂缝分割的方法。


背景技术:

[0002]
随着交通运输业的发展,公路的养护工作变得十分的重要。而裂缝是道路受损中最为常见的缺陷,道路路面缺陷的检测是后续维护和修理的前提。因此道路裂缝的检测工作必不可少。在实际检测过程中由于裂缝分布杂乱无规律,且容易被周边障碍物干扰,造成漏检误检,从而对道路健康状况产生极大的安全隐患。
[0003]
传统的道路裂缝识别一般由道路维护人员现场人工检测,尽管采用摄像设备进行图像采集,裂缝的识别标注还是需要人工标注完成,不同观察者的经验判断,主观感受都不一样,即便是对同一张道路裂缝图像进行识别标注,不同观察者给出的结果也各不相同。因此传统的手工道路裂缝识别不仅耗费大量人力,而且没有办法保证裂缝识别的精度和效率。采用传统图像处理方法对道路裂缝进行识别,其对图像的画质要求较高,且操作复杂,耗时,得到的识别效果不太理想,精度不高;采用无监督方法,神经网络模型通常涉及较多需要满足的附加条件,对图像的质量要求较高,且识别出的道路裂缝精度较低;有监督方法中,神经网络模型对复杂道路表面图像的特征有着较强的提取能力,相较于传统的图像处理方法和无监督方法,神经网络模型对这些复杂情况体现出明显的优势。但目前,现有人工设计的用于道路裂缝检测的神经网络模型在面对道路表面图像的复杂情况仍有一定的局限性,而且其计算复杂度较高,致神经网络模型进行裂缝识别过程耗时长,效率低。手工设计高性能神经网路模型往往需要大量重复的工作,并且对设计者的经验知识有着较高的要求。
[0004]
目前的这些现有技术存在着以下问题:
[0005]
1、针对裂缝分割任务,现有人工设计的神经网络训练耗时,参数量大,通常需要消耗较高的内存和计算复杂度,使其很难运行在没有足够计算力的设备上。
[0006]
另一方面,在道路表面图像复杂情况下仍然难以比较准确地获取道路的裂纹结构,对错综交叉和细小的裂缝分割效果还不理想。
[0007]
2、传统图像处理方法对含有复杂背景的道路图像中裂缝分割精度不高,而人工设计的神经网络方法对用于训练、测试和验证神经网络的道路裂缝图像要求较高,若样本图像质量较差,得到的神经网络对裂缝的识别分割精度也较差。
[0008]
3、人工手动设计的神经网络模型严重依赖于人的知识和经验,要设计出高效的、高精度的道路裂缝方法,消耗的时间长,且不能最优,甚至不能得到满意的神经网络模型。
[0009]
导致原因:
[0010]
道路表面图像的复杂性:道路裂缝在采集过程中存在运动模糊情况,降低了图像质量,特别是宽度较小的裂缝分支,使得精确分割细小裂缝分支称为一个难题,传统数字图像处理对裂缝的图片要求高,此外,图像可能会存在光照不均、裂缝与背景难以区分等问
题;经常还会遇到阴影、水渍和油渍的干扰。
[0011]
图像背景的干扰:处理图像采集过程中人为或设备带来的干扰以外,普遍情况下,道路存在杂物,如树叶、沙石等,而更严重的干扰情况,阴天或雨天已经有水面的道路,在此类情况下,传统数字图像分割方法很难进行高精度图像分割;
[0012]
3、经验知识的局限性:人工设计神经网络更多地是依靠人的经验知识,并没有太多坚实的理论支撑,往往都是先设想,后实验验证,若有效果再采用该方案。为了使神经网络的性能更出色,倾向于把神经网络设计的更大、更复杂,以至于模型往往有更高的计算复杂度。同时,由于人的精力和知识的局限,人工设计的神经网络架构并不是最优的架构。
[0013]
综上,由于图像背景干扰、道路表面图像的复杂性、人经验知识的局限性等因素,自动设计用于道路裂缝分割的轻型神经网络模型是有挑战性和有必要性的。


技术实现要素:

[0014]
本发明的目的在于提出基于遗传算法和u型神经网络的道路裂缝分割的方法,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
[0015]
本发明提出的基于遗传算法和u型神经网络的道路裂缝分割的方法,使用遗传算法对u型编-解码结构的全卷积神经网络架构进行搜索以实现自动化设计,用于解决人工设计道路裂缝分割神经网络模型工作繁琐、工作量大以及所设计的模型较复杂和在复杂情况下对道路裂缝分割不精确的问题,本发明在基于u型编解码结构神经架构的基础上,在特定的搜索空间中,使用遗传算法对u-net不同模块的内部结构进行搜索以实现轻型u型卷积神经网络模型的自动化设计,所设计的轻型神经网络模型能自动且精确地对道路裂缝进行分割。
[0016]
由于道路裂缝分割任务中的裂缝的结构形态学特征差异巨大,其粗细变化动态范围大的任务难点,以及人工设计道路裂缝分割神经网络模型工作繁琐、工作量大以及所设计的模型较复杂和在复杂的道路表面图像中对道路裂缝分割不精确的原因,本发明结合进化算法和神经网络的各自优点,对道路表面裂缝进行高效、高精度分割。具体的首先制作道路裂缝数据集,并将数据集划分为训练集、验证集和测试集三部分;其次以u-net网络为基本架构,确定网络模型的搜索空间,使用遗传算法对u-net网络不同模块的内部结构进行搜索,并利用裂缝训练集和验证集得到轻量化的的u型卷积神经网络模型,最后将测试集用于测试验证自动化设计出的神经网络模型的性能及分割出道路裂缝,并显示出道路裂缝的分割结果图。采用遗传算法可以自动设计出轻量化的,能高效分割道路裂缝的轻量化神经网络模型,且所得的神经网络模型计算复杂度低。
[0017]
为了实现上述目的,提供基于遗传算法和u型神经网络的道路裂缝分割的方法,所述方法包括以下步骤:
[0018]
s100:读取道路裂缝数据集;
[0019]
s200:构建神经网络模型;
[0020]
s300:对神经网络模型进行优化得到优化神经网络模型;
[0021]
s400:以道路裂缝数据集划分的训练集对优化神经网络模型训练得到道路裂缝分割模型;
[0022]
s500:通过道路裂缝分割模型对输入的道路表面图像进行道路裂缝分割。
[0023]
进一步地,在s100中,道路裂缝数据集为公开的公共数据集如cfd、aiglern等,或由手持智能终端,如手机,相机进行采集得到,或由携带有智能手机,相机的移动机器人、无人机拍摄得到,此外,也可通过网络下载得到。为增大数据样本,可以是由上述方式得到的数据的集合。在本发明中,采用了公开的道路裂缝数据集cfd来设计相关的神经网络模型。将数据集cfd划分为训练集、验证集和测试集,分别有50,22和36张照片;除公开数据集外,通过其他方式得到的图像都需要进行标注,再按照一定的比例或数量划分为训练集、验证集和测试集。
[0024]
进一步地,在s100中,道路裂缝数据集划分为训练集、验证集和测试集。
[0025]
进一步地,在s200中,构建神经网络模型的方法为:所述神经网络模型以u型神经网络(例如u-net网络)为基本的神经网络骨架进行搜索,所述神经网络模型由一个编码器e和一个解码器d构成,其中编码器e和解码器d都分别包含编码模块ei(i=0,1,2,3)和解码模块dj(j=0,1,2);从上到下,u型神经网络可以被分成不同的阶段sk(k=0,1,2,3),保证相同阶段的特征图维度是不变的,u型结构采用了4个阶段,包含4个编码模块和3个解码模块,u型结构可以包含除4之外的若干不同阶段。除最后一个阶段外,对应的编码器模块和解码器模块(i=j)均通过跳连(skip connection)方式将编码器e所提取的不同语义信息传递给解码器d,这样既可以加强解码器和编码器之间的联系,也可以减轻模型训练中的梯度消散问题。编码器d需要融合来自跳连和上采样的信息,其中可以采用拼接和对位相加的方式将解码过程中上采集的信息与来自跳连的信息进行融合。为了减轻模型的计算复杂度,选择了对位相加(对应元素位置数据相加)的方式用以特征融合。
[0026]
进一步地,将所述神经网络模型中的编码模块和解码模块统称为模块,每个模块的内部结构都是由节点和连接各节点的边组成的,每个节点代表一个操作单元或者一个操作序列,每条边代表的是两个节点间具有连接关系。使用二值编码表示模块内部节点间的连接关系,先将模块中的节点分成两类,默认节点和中间节点。默认节点包括默认输入节点和默认输出节点,其作用是为了保证每位二值编码的有效性,默认输入节点会接收先前模块输出的数据,并将所输出的数据传送给每个没有前置的节点;默认输出节点则接收所有没有后置的节点的输出数据,并把这些数据加起来并处理,然后再把数据传向池化层(最大池化)。对于模块中另外的k个中间节点)v
k
(k=0,1,2,...,k-1),使用位比特编码这些节点间的连接关系,第一位比特表示的是(v
0
,v
1
)的连接关系,接下来的两位比特表示的是(v
0
,v
2
)和(v
1
,v
2
)的连接关系,以此类推,直到后k-1位比特用以表示v
1
,v
2
,...,v
k-2
和v
k-1
之间的连接关系。为保证模块不过于复杂,中间节点数需要限制在较小的范围内,本方法把k设置成5。其中,如果两个节点间对应的比特是1,则说明它们之间相连接,后面的节点会把前面节点的输出作为输入的一部分,如果比特是0,则说明对应的两个节点间不存在连接;节点都会把它们的所有输入先加起来再进行处理。
[0027]
进一步地,在所述神经网络模型中构建16个操作序列作为模块中节点的操作选项,每个操作序列都是由一些基本的操作单元所组成的,包括3*3卷积(conv)、5*5卷积(conv)、relu激活函数、mish激活函数和实例归一化(instance normalization);为了搜索到轻型神经网络架构,每个操作序列中卷积操作的卷积核个数c需要限制在以较小的范围内,将c设置为20;这些操作序列主要的不同体现在卷积核的大小,激活函数,激活方式(前
激活或者后激活)和归一化类型(是否使用实例归一化),因此使用一段4比特的二值编码表示这些操作序列。假设模块中的节点都是相同的操作序列,通过多个模块基因对应u-net网络中的4个编码模块和3个解码模块,所以每个模块基因由一个4比特的操作基因和一个10比特的连接基因组成,操作基因是为卷积操作(3*3或5*5),激活函数(relu或mish),激活方式(前激活或者后激活)和归一化类型(是否使用实例归一化)等操作序列的编码;而连接基因是各个节点间的连接关系的编码;并且,7个模块基因一起构成了一个神经架构的基因型。
[0028]
进一步地,对神经网络模型进行优化得到优化神经网络模型的方法包括以下步骤:
[0029]
以每个个体代表一个神经架构,个体的适应度值取决于对应架构的性能,生成新的个体后,根据所提供的数据从零开始训练这些新生成个体所表示的神经架构,以获得其适应值;
[0030]
s301:首先随机初始化种群(由n个个体组成)(取n为20),n为种群规模;然后演化t代,t为最大进化代数,(t取50),每一代都会包含着交叉、变异和选择操作,p
c
为交叉概率,p
m
为变异概率,p
b
为每比特的变异概率;;
[0031]
s302:随机初始化规模为n个使用二值编码的个体作为初始化种群p
0

[0032]
s303:评估种群p
0
中个体的适应度值;
[0033]
s304:设置变量t的初始值为0,t为自然数取值为[0,t],令q
t
为种群;
[0034]
s305:设置q
t
为空集;
[0035]
s306:从p
t
中选择两个父代个体p
1
和p
2

[0036]
s307:将父代个体p
1
和p
2
分别以概率p
c
、p
m
和p
b
进行交叉和变异以生成两个子代个体q
1
和q
2

[0037]
s308:当|q
t
|<n时将q
t
∪q
1
∪q
2
赋值到q
t
中并转到步骤s306,否则转到步骤s309;
[0038]
s309:评估种群q
t
中个体的适应度值;
[0039]
s310:使用相应的环境选择方法从p
t
∪q
t
选出n个个体到种群p
t+1
中;
[0040]
s311:当t小于t时,将变量t增加1并且转到步骤s305,否则转到步骤s312;
[0041]
s312:输出种群p
t
中适应度值最大的个体。
[0042]
其中,两个个体p1和p2在每次选择中均为不同的个体。
[0043]
进一步地,在s306和s310中,s306中的从p
t
中选择两个父代个体p
1
和p
2
的选择方法和s310中的环境选择方法为:从当前种群p
t
和所生成的子代q
t
中选出s个最好的个体进入下一代种群p
t+1
,s为5,此时,将被选出的个体也会从p
t
∪q
t
中移除。然后,继续使用二元锦标赛选择法从p
t
∪q
t
选择其他的个体进入下一代种群,直至下一代种群p
t+1
和当前种群p
t
的种群规模相同。
[0044]
进一步地,在s306和s310中,s306中的从p
t
中选择两个父代个体p
1
和p
2
的选择方法和s310中的环境选择方法为:遗传算法的交叉操作,为了保证种群个体间的信息交换,有效的信息交换可以保证算法的收敛性;传统遗传算法常选择单点交叉或者两点交叉生成子代,但这两种交叉操作搜索步长较小,在基因编码长度较长时,对算法性能的提高并不理想;多点交叉相较于单点交叉和两点间交叉有着更大的搜索步长,在基因编码长度较长时会使算法的表现更好,考虑到我们方法中个体有着较长的基因编码,我们选择了多点交叉
score
best

0,符号

表示为设置值或赋值;
[0066]
b304:使用训练数据d
train
通过梯度下降算法训练架构arch一轮,进化代数epoch增加1;
[0067]
b305:如果epoch>80则使用验证数据d
valid
验证正在训练中的架构arch从而得到适应度值f1-score;
[0068]
b306:如果f1-score>f1-score
best
则f1-score
best

f1-score;
[0069]
b307:如果epoch<130则转到步骤b304,否则把f1-score
best
设置为个体individual的适应值并且转到步骤b308;
[0070]
b308:判断每个在p
t
中的个体individual是否全部评估完了适应度值,如果是则转到步骤b309,如果不是则转到步骤b302开始评估没有评估完成的个体individual的适应度值;
[0071]
b309:输出已评估适应度值的种群p
t

[0072]
进一步地,变异操作的方法为:在选择过程中,将性能好的个体和性能相对较差的个体都选择进入下一代种群。从当前种群p
t
和所生成的子代q
t
中选出s个(本实施例中s取5)最好的个体进入下一代种群p
t+1
,此时,这些被选出的个体也会从p
t
∪q
t
中移除。然后继续使用二元锦标赛选择法从p
t
∪q
t
选择其他的个体进入下一代种群,直至下一代种群p
t+1
和当前种群p
t
的种群规模相同。交叉操作产生的子代个体以pm=0.7的概率变异,个体确定变异后,其基因的每一比特以pb=0.05的概率翻转。
[0073]
进一步地,适应度值评估个体的适应度值是其对应架构在所提供的数据上道路裂缝分割的f1-score,评估适应度值的方法总结了评估种群中个体的步骤,每一个体都使用这样方式进行评估。在评估的开始前,每个个体都需要将其解码为对应的神经架构。架构开始训练之前,使用he initialization初始化架构的权重参数,然后,基于所提供的训练数据,使用以adam作为基础优化器的lookahead方法训练神经架构。从第80轮开始,在训练集上的训练的每一轮结束后都使用验证数据验证训练中架构的性能得到f1-score,直到第130轮结束。架构的训练停止后,把训练过程中在验证数据上得到的最好的f1-score设置为对应个体的适应度值。变异操作的方法并没有把架构训练至收敛,而是使用了早停的策略。
[0074]
进一步地,在本实施例中用于架构搜索的数据来自cfd数据集,cfd数据集一共有108张道路表面照片及其对应的标注,对其进行了训练集-验证-测试集划分,训练集、验证集和测试集各包含50,22和36张照片。我们的方法在架构搜索的过程中不会使用测试集的照片,而是使用训练集的数据对待评估的模型进行训练,使用验证集的数据评估架构搜索过程中评估个体对应架构,以得到对应个体的适应值。
[0075]
本发明的有益效果为:本发明提出一种为道路裂缝分割自动设计轻型神经网络模型的方法,以u型解码-编码结构为骨干网络对其中模块的内部结构进行搜索和优化,从而为这些模块寻找到比人工设计更好和具有更低计算复杂度的结构和操作。该方法所设计的神经网络模型能更有效地处理道路表面图像的复杂情况,对复杂的道路表面图像裂缝、病害的不均匀性和光照不均衡现象的干扰具有较强的鲁棒性,能更准确地提取道路裂缝的特征,从而提高整张图像的分割准确率。本发明设计了更合理和紧凑的搜索空间,既保证了架构的灵活性也提高了架构搜索的效率,并且改进了遗传算法中的交叉操作,提高了遗传算法的在架构搜索过程中的搜索能力。本发明能够自动设计用于道路裂缝分割的轻型神经网
路模型,可以有效减小人工设计的工作量,减轻对专业知识的依赖,所设计的模型相比其他模型有着更低的计算复杂度和更好的裂缝分割效果,更有潜力应用于工程上的自动化结构健康诊断。
附图说明
[0076]
通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
[0077]
图1所示为搜索空间的骨架图;
[0078]
图2所示为两个编码节点连接关系的示意图;
[0079]
图3所示为模块基因和架构的基因型图;
[0080]
图4所示为top one架构图;
[0081]
图5所示为top two架构图;
[0082]
图6所示为本发明的优化神经网络模型与u-net道路裂缝分割的效果对比图。
具体实施方式
[0083]
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0084]
本发明提出基于遗传算法和u型神经网络的道路裂缝分割的方法,具体包括以下步骤:
[0085]
1、构建道路裂缝数据集,并将其划分为训练集、验证集和测试集;
[0086]
其中,道路裂缝数据集可以为公开的公共数据集如cfd、aiglern等,可以由手持智能终端,如手机,相机进行采集得到,也可以是由携带有智能手机,相机的移动机器人、无人机拍摄得到,此外,也可通过网络上下载得到。为增大数据样本,可以是由上述方式得到的数据的集合。在本发明实施例中,我们采用了公开的道路裂缝数据集cfd来设计相关的神经网络模型。将数据集cfd划分为训练集、验证集和测试集,分别有50,22和36张照片。
[0087]
2、设计一个最优的神经网络模型,用于道路裂缝分割;
[0088]
首先,设计一个用于道路裂缝分割的神经架构搜索空间,然后使用二值编码方式对搜索空间进行编码,再使用遗传算法对神经网络架构进行搜索和优化。
[0089]
(1)设计搜索空间及对搜索空间进行编码
[0090]
如图1所示,本发明以u-net为基本的神经网络骨架进行搜索,其由一个编码器e和一个解码器d构成。其中编码器e和解码器d都分别包含编码模块ei(i=0,1,2,3)和解码模块dj(j=0,1,2)。从上到下,u-net可以被分成不同的阶段sk(k=0,1,2,3),保证相同阶段的特征图维度是不变的。在本实施例中,u型结构采用了4个阶段,包含4个编码模块和3个解码模块。可以理解的,在其实实施例中,u型结构可以包含除4之外的若干不同阶段。除最后一个阶段外,对应的编码器模块和解码器模块(i=i)均通过跳连(skip connection)方式将编码器e所提取的不同语义信息传递给解码器d,这样既可以加强解码器和编码器之间的
联系,也可以减轻模型训练中的梯度消散问题。编码器d需要融合来自跳连和上采样的信息,其中可以采用拼接和对位相加的方式将解码过程中上采集的信息与来自跳连的信息进行融合。为了减轻模型的计算复杂度,在本实施例中,我们选择了对位相加(对应元素位置数据相加)的方式用以特征融合。
[0091]
(b)模块及其编码
[0092]
在我们的方法中,每个模块的内部结构都是由节点和连接各节点的边组成的,每个节点代表一个操作单元或者一个操作序列,每条边代表的是两个节点间具有连接关系。如图2所示,图2为两个编码节点连接关系的例子(节点中的数字仅代表节点的顺序),我们使用二值编码表示模块内部节点间的连接关系,先将模块中的节点分成两类,默认节点和中间节点。默认节点包括默认输入节点(图2中的input)和默认输出节点(图2中的output),其作用是为了保证每位二值编码的有效性,默认输入节点会接收先前模块输出的数据,并将所输出的数据传送给每个没有前置的节点;默认输出节点则接收所有没有后置的节点的输出数据,并把这些数据加起来并处理,然后再把数据传向池化层(最大池化)。对于模块中另外的k个中间节点v
k
(k=0,1,2,对于k-1),我们需要使用位比特编码这些节点间的连接关系,第一位比特表示的是(v
0
,v
1
)的连接关系,接下来的两位比特表示的是(v
0
,v
2
)和(v
1
,v
2
)的连接关系,以此类推,直到后k-1位比特用以表示v
1
,v
2
,特用以v
k-2
和v
k-1
之间的连接关系。在本实施例中为保证模块不过于复杂,我们将k设置成5。其中,如果两个节点间对应的比特是1,则说明它们之间相连接,后面的节点会把前面节点的输出作为输入的一部分,如果比特是0,则说明对应的两个节点间不存在连接。节点都会把它们的所有输入先加起来再进行处理。
[0093]
如表1表1节点可选的操作序列,in表示实例归一化(instance normalization)所示,我们提供了16个操作序列作为模块中节点的操作选项,每个操作序列都是由一些基本的操作单元所组成的,包括3*3卷积(conv)、5*5卷积(conv)、relu激活函数、mish激活函数和实例归一化(instance normalization)。为了搜索到轻型神经网络架构,每个操作序列中卷积操作的卷积核个数c需要限制在以较小的范围内,在本实施例中,c设置为20。这些操作序列主要的不同体现在卷积核的大小,激活函数,激活方式(前激活或者后激活)和归一化类型(是否使用实例归一化),因此我们使用一段4比特的二值编码表示这些操作序列。我们假设模块中的节点都是相同的操作序列,所以每个模块基因由一个4比特的操作基因(操作基因为图3(a)中的operation gene)和一个10比特的连接基因(连接基因为图3(a)中的connection gene)组成(如图3(a)所示)。并且,7个模块基因一起构成了一个神经架构的基因型(如图3(b)所示)。
[0094]
表1节点可选的操作序列,in表示实例归一化(instance normalization)
[0095][0096]
(2)优化算法
[0097]
每个个体代表一个神经架构,个体的适应度值取决于对应架构的性能。如算法1:genetic u-net的流程框架所示,算法的流程如下:首先随机初始化种群(由n个个体组成)(本实施例中n为20);然后演化t代(本实施例中t取50),每一代都会包含着交叉、变异和选择操作。生成新的个体后,我们会根据所提供的数据从零开始训练这些新生成个体所表示的神经架构,以获得其适应值,注:算法1:genetic u-net的流程框架为伪代码。
[0098]
[0099][0100]
其中,交叉操作由单点交叉或者两点交叉生成子代而本发明我们采用了一种差异引导的父代交叉个体选择方法,该方法先通过二元锦标赛选择法选择两个个体p1和p2,并通过公式(1)计算两个个体的差异值diff,如果差异值diff大于我们所设定的阈值μ=0.2,则将这两个个体设定为待交叉的父代个体,否则,p1和p2会被同样的方式重新选择,如果10次重新选择后,p1和p2仍然不满足要求,则将最后一次选择的个体设定为待交叉的父代个
体。之后,所选定的父代个体会以pc=0.9的概率进行交叉。交叉的详细流程如算法2:差异引导的交叉操作所示,注:算法2:差异引导的交叉操作为伪代码:j

0<10意义为:令变量j的初值为0,且j<10。
[0101]
其中,两个个体间差异值的计算公式如下:
[0102][0103]
p1和p2代表两个个体,l
gene
是个体基因的长度。
[0104][0105]
优选地,变异操作为:在选择过程中,我们把性能好的个体和性能相对较差的个体都选择进入下一代种群。我们会从当前种群p
t
和所生成的子代q
t
中选出s个(本实施例中s取5)最好的个体进入下一代种群p
t+1
,此时,这些被选出的个体也会从p
t
∪q
t
中移除。然后,我们会继续使用二元锦标赛选择法从p
t
∪q
t
选择其他的个体进入下一代种群,直至下一代种群p
t+1
和当前种群p
t
的种群规模相同,交叉操作产生的子代个体会以pm=0.7的概率变异,
two架构图,图4和图5中第一个模块input(默认输入节点)为3*3卷积和最后一个模块output(默认输出节点)为1*1卷积。
[0111]
我们在cfd和aiglern等道路裂缝分割的数据集上验证了搜到的最好的架构(如图4所示)的性能,也把该架构的计算复杂度和在道路裂缝分割任务上的表现与原始u-net模型进行了对比,本算法(本算法为genetic u-net)与u-net比较对比情况如图6和表2所示,表2为本专利(genetic u-net)与u-net比较计算复杂度,图6所示为本发明的优化神经网络模型与u-net道路裂缝分割的效果对比图,在图6中,images为原始的道路表面图像,label为图像标签,genetic u-net和u-net分别为genetic u-net分割后的道路裂缝图像和u-net分割后的道路裂缝图像。非常明显,我们搜的架构在道路裂缝分割任务上比原始u-net表现的更出色,在道路表面图像的复杂情况下仍能准确地分割出道路裂缝的结构,表现出了一定的鲁棒性,在计算复杂度方面,搜到的架构要远低于原始u-net,参数量比u-net要小100多倍,macs也比原始u-net大约要小3.2倍。
[0112]
表2本专利(genetic u-net)与u-net比较计算复杂度
[0113][0114]
现有的遗传算法会随机选择两个父代个体后直接将其交叉,并不会判断交叉个体间的相似性,导致交叉算子在进化过程所起的作用有限且低效。
[0115]
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1