一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于半监督模型的道路裂痕检测方法、系统及介质

2022-11-16 14:01:53 来源:中国专利 TAG:


1.本发明属于道路维护的技术领域,具体涉及一种基于半监督模型的道路裂痕检测方法方法、系统及介质。


背景技术:

2.城市路面的建设与后期维护工作是道路建设工作的重要部分之一。如何高精度识别道路裂痕是保证道路质量的关键所在,如何解决提取裂痕的特征及识别问题,也是待需解决的关键问题所在。伴随道路修建与维护技术的不断发展,采用计算机视觉对道路裂痕进行检测,减轻了道路状态检测的工作量,提高检测的精确度,保证道路行驶的安全性。
3.传统对道路裂痕检测方法通过对道路裂痕图像进行预处理,然后找到边缘阈值,通过设置单个阈值、多个阈值,甚至自适应阈值的方式,完成对道路裂痕的切割。但是这种方式并不能满足多样化的道路裂痕图像,由于传统算法模型无法适应复杂的裂痕图像数据,存在检测不全面、检测误差大、时间成本大、处理方式繁琐等的问题。现有技术中的基于深度学习的道路裂痕检测方法,虽然能取得较好的检测效果,但是该方法是基于有监督学习模型,由于有监督模型需要足够大的数据且有对应的标签,使得模型训练过程中易出现过拟合的情况,导致模型无法学习到数据集本身的分布特征;而对于道路裂痕数据,原始数据本身不携带有任何标签,并且裂痕的位置、形状、长度等都存在不同的情况,故很难对数据进行前期的预处理操作,因此需要更为泛化、高效的道路裂痕检测方法。


技术实现要素:

4.本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于半监督模型的道路裂痕检测方法、系统及介质,通过建立有标签及无标签数据的联系,对无标签数据生成伪标签,将真实标签与伪标签联合用于训练半监督模型,实现对道路裂痕的精准、高效识别与检测,为道路的建设与维护提供支持。
5.为了达到上述目的,本发明采用以下技术方案:
6.本发明第一目的在于提供一种基于半监督模型的道路裂痕检测方法,包括下述步骤:
7.采集道路裂痕数据集,并划分为训练集和测试集;所述道路裂痕数据集包括有标签数据集和无标签数据集;
8.构建半监督检测模型,所述半监督检测模型包括教师模型和学生模型;
9.使用训练集对教师模型进行训练并优化损失函数,生成训练集中无标签数据的伪标签,得到伪标签数据集;
10.将伪标签数据集输入学生模型中进行训练,计算得到损失函数,得到训练好的半监督检测模型;
11.将测试集输入训练好的半监督检测模型,得到道路裂痕检测结果。
12.作为优选的技术方案,所述道路裂痕数据集表示为d={d
l
,du},其中
为有标签数据集,为无标签数据集,为第i个有标签数据样本,为第i个无标签数据样本,是采用one-hot的数据样本标签,n是样本的类别数量,l为有标签数据样本个数,u为无标签数据样本个数;
13.所述训练集表示为d
tr
={x
tr
,y
tr
,xu},其中,x
tr
,y
tr
分别为训练集中有标签数据样本及其对应的标签,xu为训练集中无标签数据样本;
14.所述测试集表示为d
te
={x
te
},其中x
te
为测试集中测试数据样本,包括有标签数据样本及无标签数据样本。
15.作为优选的技术方案,所述半监督检测模型采用resnet50及vgg16网络结构进行构建;所述教师模型用于构建无标签数据的伪标签,所述学生模型利用伪标签进行训练,用于检测道路裂痕;
16.所述resnet50网络结构包括多个卷积组、全局平均池化层、全连接层及softmax层;所述卷积组由多个卷积块cb、识别块ib及3个bottleneck模块构成;所述卷积块cb用于调整并改变网络的维度;所述识别块ib用于加深网络;所述卷积块cb与识别块ib重复叠加;所述resnet50使用卷积组获得输入图像数据的特征图,再经过全局平均池化层缩放特征图,最后经由全连接层及softmax层输出结果;
17.所述vgg16网络结构包含有13个卷积层,5个池化层和3个全连接层;所述卷积层中的卷积核大小统一采用5*5,所述池化层中的池化核大小统一采用3*3。
18.作为优选的技术方案,所述得到伪标签数据集,具体为:
19.将训练集d
tr
中有标签数据样本和无标签数据样本输入教师模型中采用归纳式学习进行训练,生成无标签数据样本的伪标签,生成公式为:
[0020][0021]
其中,yu表示生成的无标签数据样本伪标签,p(c|xu;θ)表示教师模型f
θ
将无标签数据样本xu∈du预测为类别c的概率,且c={0,1,...,n-1},θ为教师模型的参数;
[0022]
获得伪标签数据集,表示为d

tr
={x
tr
,y
tr
,xu,yu};
[0023]
采用kl散度对损失函数进行优化,得到教师模型的损失函数:
[0024][0025]
其中,θ为教师模型参数,x为训练集,y为训练集对应的标签集,yi为训练集中第i个标签数据。
[0026]
作为优选的技术方案,所述得到训练好的半监督检测模型,具体为:
[0027]
使用数据增强法对伪标签数据集中有标签数据样本和伪标签数据样本进行插值处理,并将插值后数据加入伪标签数据集中获得插值数据集dm={b
l
,bu,b
lm
,b
um
};
[0028]
将插值数据集dm输入学生模型中,通过计算损失值获得学生模型的损失函数l:
[0029]
[0030][0031][0032][0033]
l=ls w1lu w2l
lm
w3l
um
[0034]
其中,ls为插值数据集中有标签数据样本b
l
的损失值,lu为插值数据集中伪标签数据样本bu的损失值,l
lm
为插值数据集中插值后有标签数据样本b
lm
的损失值,l
um
为插值数据集中插值后伪标签数据样本b
um
的损失值,w1,w2,w3为平衡因子,y
t
为数据样本标签的转置,为学生模型的参数;
[0035]
使用损失函数对学生模型进行训练,设置学习率、动量值、训练批次及训练轮数,采用随机梯度下降法更新学生模型参数;得到训练好的半监督检测模型。
[0036]
作为优选的技术方案,所述使用数据增强法对伪标签数据集中有标签数据样本和伪标签数据样本进行插值处理,具体为:
[0037]
使用mixup数据增强法对伪标签数据集d

tr
中有标签数据样本和伪标签数据样本进行插值处理,实现不同标签道路裂痕数据样本间的融合,插值后的数据样本及标签表示为:
[0038]
x
um
=λx
l
(1-λ)xu[0039]yum
=λy
l
(1-λ)yu[0040][0041][0042]
其中,x
um
为插值后伪标签数据样本,y
um
为插值后伪标签数据样本对应的标签,x
l
为有标签数据样本,xu为伪标签数据样本,y
l
为有标签数据样本的标签,yu为伪标签数据样本的标签,λ∈[0,1];
[0043]
插值操作后,将数据样本划分为有标签数据样本集伪标签数据样本集插值后有标签数据样本集插值后伪标签数据样本集m为伪标签数据集中的样本数量;
[0044]
整理得到插值数据集,表示为dm={b
l
,bu,b
lm
,b
um
}。
[0045]
作为优选的技术方案,所述使用mixup数据增强法进行插值处理前,使用教师模型对伪标签数据集中的伪标签进行置信度计算,筛选出符合某一置信度的伪标签用于训练,否则将不符合的进行清除处理。
[0046]
作为优选的技术方案,所述学生模型训练过程中,为防止出现无标签数据样本的过拟合现象,将有标签数据样本在每轮训练中重复使用,保证有标签数据样本与无标签数据样本的一致性。
[0047]
本发明第二目的在于提供一种基于半监督模型的道路裂痕检测系统,应用于上述
的基于半监督模型的道路裂痕检测方法,所述系统包括数据采集模块、模型构建模块、伪标签生成模块、模型训练模块及检测模块;
[0048]
所述数据采集模块用于采集道路裂痕数据集,并划分为训练集和测试集;所述道路裂痕数据集包括有标签数据集和无标签数据集;
[0049]
所述模型构建模块用于构建半监督检测模型,所述半监督检测模型包括教师模型和学生模型;
[0050]
所述伪标签生成模块用于使用训练集对教师模型进行训练并优化损失函数,生成训练集中无标签数据的伪标签,得到伪标签数据集;
[0051]
所述模型训练模块用于将伪标签数据集输入学生模型中进行训练,计算得到损失函数,得到训练好的半监督检测模型;
[0052]
所述检测模块用于将测试集输入训练好的半监督检测模型,得到道路裂痕检测结果。
[0053]
本发明第三目的在于,提供一种计算机可读存储介质,存储有程序,所述程序被处理器执行时,实现上述的基于半监督模型的道路裂痕检测方法。
[0054]
本发明与现有技术相比,具有如下优点和有益效果:
[0055]
1、由于实际采集的道路裂痕数据并不能呈现完美的状态,通常不携带所有模型均能使用的相关参数,需要人为调整,而本发明构建的半监督检测模型能有效的利用无标签数据,构建相关的伪标签,从而有效的节省数据成本,提高了检测效率。
[0056]
2、对于道路裂痕检测,通过各种摄像头所采集到的数据,并不会进行人为的自动打标签,需要进行后期的人工标注,这不仅花费了大量的人力物力,也存在标注样本少的问题;本发明设计的半监督模型通过教师模型和学生模型联合检测道路裂痕,能有效应对此类问题,节省成本及提高准确率。
[0057]
3、在实际的道路维护中,大量采集的数据需要人为判断并进行维护,投入的成本很高,而本发明提出的道路裂痕检测方法能做到实时的道路图像裂痕检测,减少了人力资源的浪费,并为道路的维护提供了数据支持,且应用广泛。
附图说明
[0058]
为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0059]
图1为本发明实施例中基于半监督模型的道路裂痕检测方法的流程图;
[0060]
图2为本发明实施例中半监督模型的结构示意图;
[0061]
图3为本发明实施例中部分道路裂痕数据的示意图;
[0062]
图4为本发明实施例中基于半监督模型的道路裂痕检测系统的方框图;
[0063]
图5为本发明实施例中计算机可读存储介质的结构图。
具体实施方式
[0064]
为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的
附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0065]
在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本技术所描述的实施例可以与其它实施例相结合。
[0066]
请参阅图1,在本技术的一个实施例中提供了一种基于半监督模型的道路裂痕检测方法,包括下述步骤:
[0067]
s1、采集道路裂痕数据集d={d
l
,du},并划分为训练集d
tr
={x
tr
,y
tr
,xu}和测试集d
te
={x
te
};其中,道路裂痕数据集中包括有标签数据集和无标签数据集同理,划分后的训练集和测试集中也包含有有标签数据样本和无标签数据样本;为第i个有标签数据样本,为第i个无标签数据样本,是采用one-hot的数据样本标签,n是样本的类别数量,l为有标签数据样本个数,u为无标签数据样本个数,x
tr
,y
tr
分别为训练集中有标签数据样本及其对应的标签,xu为训练集中无标签数据样本,x
te
为测试集中测试数据样本。
[0068]
s2、构建半监督检测模型,包括教师模型和学生模型;
[0069]
如图2所示,半监督检测模型采用resnet50及vgg16网络结构进行构建;其中教师模型与学生模型结构相同,其中教师模型用于构建无标签数据的伪标签,学生模型利用伪标签进行训练,用于检测道路裂痕;
[0070]
本实施例中,resnet50网络结构包括多个卷积组、全局平均池化层、全连接层及softmax层;其中卷积组由多个卷积块cb、识别块ib及3个3、4、6的bottleneck模块构成;卷积块cb用于调整并改变网络的维度;识别块ib用于加深网络;卷积块cb与识别块ib重复叠加;resnet50使用卷积组获得输入图像数据的特征图,再经过全局平均池化层缩放特征图,最后经由全连接层及softmax层输出结果;
[0071]
vgg16网络结构包含有13个卷积层,5个池化层和3个全连接层;所述卷积层中的卷积核大小统一采用5*5,所述池化层中的池化核大小统一采用3*3。
[0072]
s3、使用训练集对教师模型进行训练并优化损失函数,生成训练集中无标签数据的伪标签,得到伪标签数据集;
[0073]
由于道路裂痕数据集中无标签数据样本较多,无法满足最佳情况的需求,故考虑将有标签数据样本与无标签数据样本共同输入到教师模型中生成无标签数据样本的伪标签,具体为:
[0074]
将训练集d
tr
中有标签数据样本和无标签数据样本输入教师模型中采用归纳式学习进行训练,生成无标签数据样本的伪标签,生成公式为:
[0075][0076]
其中,yu表示生成的无标签数据样本伪标签,p(c|xu;θ)表示教师模型f
θ
将无标签数据样本xu预测为类别c的概率,且c={0,1,...,n-1},θ为教师模型的参数;
[0077]
获得伪标签数据集,表示为d

tr
={x
tr
,y
tr
,xu,yu};
[0078]
采用kl散度对损失函数进行优化,得到教师模型的损失函数:
[0079][0080]
其中,θ为教师模型参数,x为训练集,y为训练集对应的标签集,yi为训练集中第i个标签数据。
[0081]
s4、将伪标签数据集输入学生模型中进行训练,计算得到损失函数,得到训练好的半监督检测模型;
[0082]
在模型训练过程中,使用数据增强法对伪标签数据集中有标签数据样本和伪标签数据样本进行插值处理,并将插值后数据加入伪标签数据集中获得插值数据集dm={b
l
,bu,b
lm
,b
um
};
[0083]
将插值数据集dm输入学生模型中,通过计算损失值获得学生模型的损失函数l:
[0084][0085][0086][0087][0088]
l=ls w1lu w2l
lm
w3l
um
[0089]
其中,ls为插值数据集中有标签数据样本b
l
的损失值,lu为插值数据集中伪标签数据样本bu的损失值,l
lm
为插值后数据集中插值有标签数据样本b
lm
的损失值,l
um
为插值数据集中插值后伪标签数据样本b
um
的损失值,w1,w2,w3为平衡因子,y
t
为数据样本标签的转置,为学生模型的参数;
[0090]
使用损失函数对学生模型进行训练,设置学习率、动量值、训练批次及训练轮数,采用随机梯度下降法更新学生模型参数;得到训练好的半监督检测模型。
[0091]
更具体的,在进行插值处理前,使用教师模型对伪标签数据集中的伪标签进行置信度计算,筛选出符合某一置信度的伪标签用于训练,否则将不符合的进行清除处理;
[0092]
本实施例中的置信度计算,是数据集在经过教师模型训练后,将对应得到的伪标签数据与原始数据进行匹配,计算准确度;对于无标签数据,通过人为缺失后进行置信度计算评估,再确保检测合理后进行真实数据的使用。
[0093]
插值处理的具体步骤为:
[0094]
使用mixup数据增强法对伪标签数据集d

tr
中有标签数据样本和伪标签数据样本进行插值处理,实现不同标签道路裂痕数据样本间的融合,插值后的数据样本及标签表示为:
[0095]
x
um
=λx
l
(1-λ)xu[0096]yum
=λy
l
(1-λ)yu[0097][0098][0099]
其中,x
um
为插值后伪标签数据样本,y
um
为插值后伪标签数据样本对应的标签,x
l
为有标签数据样本,xu为伪标签数据样本,y
l
为有标签数据样本的标签,yu为伪标签数据样本的标签,λ∈[0,1];
[0100]
插值操作后,将数据样本划分为有标签数据样本集伪标签数据样本集插值后有标签数据样本集插值后伪标签数据样本集m为伪标签数据集中的样本数量;
[0101]
整理得到插值数据集,该插值数据集包括所有相关的原始标签数据、无标签数据集伪标签数据,表示为dm={x
l
,y
l
,xu,yu,x
um
,y
um
}。
[0102]
本实施例中,为了防止学生模型训练过程中出现无标签数据样本的过拟合现象,同时考虑了无标签数据样本多于有标签数据样本的情况,采用将有标签数据样本重复使用的方式,保证有标签数据样本与无标签数据样本的一致性。
[0103]
s5、将测试集输入训练好的半监督检测模型,得到道路裂痕检测结果。
[0104]
如图3所示,图中展示了测试集中3组原始道路裂痕图像输入训练好的半监督检测模型中,获得的道路裂痕检测结果图,由图可见,道路裂痕清晰可见、检测准确。
[0105]
本实施例中将有监督模型、伪标签法pl及一致性标签法mt作为参照进行对比,验证基于半监督模型的道路裂痕检测方法的有效性及合理性,具体为:
[0106]
道路裂痕数据集随机划分为训练集和测试集,道路裂痕标签数量按照100、250、500进行划分,采用restnet50及vgg16作为本实施例中半监督模型的网络结构,采用随机梯度下降法(sgd)对损失函数进行优化,学习率learningrate为0.001,动量值momentum为0.99,训练批次batch-size为64,训练轮次epoch为100,得到如下表的检测准确率:
[0107][0108][0109]
通过上述的实验结果可得,道路裂痕数据的标签数增加能提供相应的精确度,半监督模型相比较有监督或参照方式,最终的效果相近甚至有超过,这也证明本实施例中的半监督模型在标签数据较少的情况下,利用无标签数据学习道路裂痕特征,取得了良好的检测效果及准确率,为后续研究提供了一定的支持和帮助。
[0110]
需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
[0111]
基于与上述实施例中的基于半监督模型的道路裂痕检测方法相同的思想,本发明还提供了基于半监督模型的道路裂痕检测系统,该系统可用于执行上述基于半监督模型的道路裂痕检测方法。为了便于说明,基于半监督模型的道路裂痕检测系统实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0112]
请参阅图4,在本技术的另一个实施例中,提供了一种基于半监督模型的道路裂痕检测,该系统包括数据采集模块、模型构建模块、伪标签生成模块、模型训练模块及检测模块;
[0113]
其中,数据采集模块用于采集道路裂痕数据集,并划分为训练集和测试集;道路裂痕数据集包括有标签数据集和无标签数据集;
[0114]
模型构建模块用于构建半监督检测模型,包括教师模型和学生模型;
[0115]
伪标签生成模块用于使用训练集对教师模型进行训练并优化损失函数,生成训练集中无标签数据的伪标签,得到伪标签数据集;
[0116]
模型训练模块用于将伪标签数据集输入学生模型中进行训练,计算得到损失函数,得到训练好的半监督检测模型;
[0117]
检测模块用于将测试集输入训练好的半监督检测模型,得到道路裂痕检测结果。
[0118]
需要说明的是,本发明的基于半监督模型的道路裂痕检测系统与本发明的基于半监督模型的道路裂痕检测方法一一对应,在上述基于半监督模型的道路裂痕检测方法的实施例阐述的技术特征及其有益效果均适用于基于半监督模型的道路裂痕检测系统的实施例中,具体内容可参见本发明方法实施例中的叙述,此处不再赘述,特此声明。
[0119]
此外,上述实施例的基于半监督模型的道路裂痕检测系统的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将所述基于半监督模型的道路裂痕检测系统的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
[0120]
请参阅图5,在一个实施例中,提供了一种计算机可读存储介质,存储有程序,当程序被处理器执行时,实现上述的基于半监督模型的道路裂痕检测方法,具体为:
[0121]
采集道路裂痕数据集,并划分为训练集和测试集;
[0122]
构建半监督检测模型,包括教师模型和学生模型;
[0123]
使用训练集对教师模型进行训练并优化损失函数,生成训练集中无标签数据的伪标签,得到伪标签数据集;
[0124]
将伪标签数据集输入学生模型中进行训练,计算得到损失函数,得到训练好的半监督检测模型;
[0125]
将测试集输入训练好的半监督检测模型,得到道路裂痕检测结果。
[0126]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0127]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0128]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献