基于计算机视觉的路面多种病害面积检测及定位方法

文档序号:27909009发布日期:2021-12-11 07:19阅读:234来源:国知局
基于计算机视觉的路面多种病害面积检测及定位方法

1.本发明涉及图像处理技术领域,具体涉及一种基于计算机视觉的路面多种病害面积检测及定位方法。


背景技术:

2.近年来,国家加大了对于道路的相关建设,道路频繁使用导致路面会出现很多病害,所以道路的养护显得尤为重要,提升养护和管控水平,精确发现影响驾驶车辆的道路问题,及时生成道路病害工单并推送到养护单位,缩短道路病害基本工作闭环时间,尽快解决影响车辆驾驶的道路问题。对于路面病害的养护,首先要收集有关路面的病害情况,然后准确检测到路面病害,然后根据检测到的结果提取出病害的类型、个数、病害面积及病害位置等所需信息。但是,目前主要检测路面病害的方法主要是先用图像处理收集信息,再辅以人工判断,这种方法获得的检测结果包含的病害信息有限,仅仅只包含检测到的路面病害类型信息,不仅检测效率低,精准度也不高。道路养护工作效率的提升,需要收集到全面的路面病害信息,不仅要获取到路面病害的类型和数量,还要具体计算出路面病害的面积和位置,为道路养护提供精准实时的方案,提高道路养护效率。


技术实现要素:

3.针对上述问题,本发明的目的是为了提供一种基于计算机视觉的路面多种病害面积检测及定位方法,该方法提升了检测路面病害的速度,实现实时检测路面病害的功能。在计算路面病害过程中,通过收集到的路面病害图像制作出病害训练集、病害验证集、病害测试集,利用病害训练集与病害验证集对病害检测模型进行训练,并用病害测试集对训练后的模型进行评估,保存符合要求的训练后的模型。在目标路面现场中部署训练后的模型,对目标路面进行实时病害检测,得到检测结果,检测结果中包含病害的个数和类型,获取检测结果中病害图像,利用拟合椭圆计算出检测检测目标路面的病害的实际位置与大小,极大的加快了路面病害检测的效率,提高了路面病害检测的精准度,实现实时检测路面病害的功能,为路面病害的养护提供了更为快捷的方法。
4.为了达到上述目的,本发明所采用的技术方案为:
5.基于计算机视觉的路面多种病害面积检测及定位方法,其特征在于,所述方法包括基于计算机视觉的路面病害检测和路面病害计算:所述基于计算机视觉的路面病害检测包括获取病害数据集、训练病害检测模型、检测目标路面病害,主要功能为实时检测目标路面的病害、获取检测目标路面的病害的类型和个数;所述路面病害计算包括计算病害中心坐标、计算病害面积,主要功能为利用拟合椭圆计算所述检测检测目标路面的病害的实际位置与大小。
6.进一步的,所述获取病害数据集,其步骤如下:
7.(1)收集路面病害图像,路面病害图像要包括“无异常”、“裂缝”、“车辙”、“松散”、“冻胀翻浆”、“沉陷”、“拥包”、“泛油“、“龟裂唧浆”和“桥头沉降”状态的图像,制作病害样本
集;
8.(2)标注所述病害样本集的每个图像样本,获得病害样本集对应的json样本标签文件,该json样本标签文件中包含每个图像样本的标签值;
9.(3)所述病害样本集和病害样本集的json文件样本标签,预处理病害样本集,转化为coco数据集格式,转化后的病害样本集按照比例8:1:1分为病害训练集、病害验证集、病害测试集。
10.进一步的,所述训练病害检测模型,其步骤如下:
11.(1)设置病害检测模型的初始训练参数:主干网络(backbone)设置为resnet50、学习率衰减区间(lr_steps)设置为(30000,60000,90000)、训练迭代次数(max_iter)设置为30000、训练批次(batch_size)设置为4、阈值(score_threshold)设置为0.3;
12.(2)输入病害训练集与病害验证集,训练病害检测模型,其训练过程为:
13.(2

1)病害训练集与病害验证集的图像样本输入到病害检测模型主干网络(backbone)进行图像样本的特征提取,所述主干网络(backbone)采用:resnet50残差结构+fpn结构,以及多尺度的特征图,从而可以检测到不同尺寸的病害;resnet50残差结构共有c1到c5五个卷积模块,fpn网络是由c5卷积模块经过1个卷积层得到p5特征图,对p5特征图采用双线性插值使特征图扩大一倍,与经过卷积的c4卷积模块相加得到p4特征图,再采用同样的方法对p4特征图采用双线性插值使特征图扩大一倍,与经过卷积的c3卷积模块相加得到p3特征图,然后对p5特征图进行卷积和下采样得到p6特征图,对p6特征图进行同样的卷积和下采样得到p7特征图,从而建立p3

p7五个特征图的fpn网络,p3特征图被送入protonet任务分支,同时p3

p7五个特征图也被送入prediction head任务分支中;
14.(2

2)protonet任务分支,该任务分支是由若干卷积层组成的全卷积网络(fcn)来生成一组与所述病害原图像尺寸(550*550)一样的原型掩码(p),protonet部分对于每张输入的病害图像预测k个原型掩码,由于病害训练集、病害验证集、病害测试集,转化为coco数据集格式,对于coco数据集格式k取32效果最好,所以这部分输出的掩模维度是138*138*32,即32个原型掩码,每个大小是138*138;
15.(2

3)prediction head任务分支,采用共享卷积网络,提高对图像样本的检测速度,从而达到对图像样本的实时检测;p3

p7五个特征图输入到prediction head任务分支,每个特征图先生成图像样本中的病害,然后prediction head任务分支为每个特征图生成三类输出:类别置信度、位置回归参数、掩模系数,将五个特征图生成的三类输出进行拼接,最终生成图像样本中各个病害的类别置信度、位置回归参数以及掩模系数(c);
16.(2

4)所述protonet任务分支与prediction head任务分支是并行任务,对经过nms后的预测病害,通过线性组合两个任务分支的结果所述原型掩码(p)与所述掩模系数(c)来计算每个病害的掩模,具体做法是采用如下的矩阵乘法:
17.m=σ(pc
t
)
18.其中p是h
×
w
×
k的原型掩码,c是n
×
k的掩模系数矩阵,h是原型掩码的高,w是原型掩码的宽,n是通过nms和阈值过滤后每个病害对应的k个掩模系数;
19.(2

5)将病害框之外的位置置零,以阈值为0.3,对输出的掩模做二值化操作,将掩模中值的范围限制在[0,1]之间;
[0020]
(3)训练迭代到30000次后,停止训练,保存训练后的模型;
[0021]
(4)用病害测试集对训练后的模型进行评估,将病害测试集中所有图像依次输入到训练后的模型中,记录下每张图像样本检测后的标签值,并与病害测试集的json文件中标注的对应标签值进行比较,在病害测试集中所有图像样本全部判断完成后,查看病害检测置信度分数,判断训练后的模型在病害测试集中的判断准确率是否符合要求,如果符合要求,则保存训练后的模型;如果不符合要求,则跳转到步骤(1),修改病害检测模型的初始训练参数:训练迭代次数与阈值,进行再次训练。
[0022]
进一步的,所述检测目标路面病害,其步骤如下:
[0023]
(1)使用训练后的模型对目标路面进行实时检测,将训练后的模型部署到目标路面现场中,摄像机对目标路面进行实时拍摄,将拍摄到的视频每一帧图像,作为待检测图像;
[0024]
(2)对所述待检测图像进行所述预处理后得到检测样本集;
[0025]
(3)所述检测样本集输入到所述训练后的模型中,提取图像中病害的特征,并对所述特征进行特征分类;
[0026]
(4)训练后的模型计算出检测结果,在所述检测图像中标出检测到的病害注明其类型作为检测结果输出,保存所述检测结果,检测结果中包含目标路面中病害的类型和个数,从而实现实时检测目标路面病害的功能。
[0027]
进一步的,所述计算病害中心坐标,其特征为获取检测结果中病害图像,利用opencv中拟合椭圆计算病害中心坐标:对病害图像进行二值化操作,对二值化图像进行高斯滤波,提取病害掩模边缘轮廓,输出病害图像中病害掩膜边缘轮廓点坐标、病害掩膜边缘轮廓的关系;将病害掩膜边缘轮廓从左到右进行排序,循环排序后的病害掩膜边缘轮廓,得到图像中病害的拟合椭圆,输出所述拟合椭圆的中心点坐标,按照病害图像像素距离与目标路面实际距离的比值设定比例尺,计算出病害在目标路面的位置。
[0028]
进一步的,所述计算病害面积,其特征为获取检测结果中病害图像,利用opencv中拟合椭圆计算病害中心坐标:对病害图像进行二值化操作,对二值化图像进行高斯滤波,提取病害掩模边缘轮廓,输出病害图像中病害掩膜边缘轮廓点坐标、病害掩膜边缘轮廓的关系;将病害掩膜边缘轮廓从左到右进行排序,循环排序后的病害掩膜边缘轮廓,得到图像中病害的拟合椭圆,输出计算机测量的所述拟合椭圆像素点长轴长度和短轴长度,按照病害图像像素距离与目标路面实际距离的比值设定比例尺,计算出计算机测量的所述拟合椭圆像素点长轴长度和短轴长度与设定比例尺的比值,从而计算出检测到的病害在目标路面中所占面积。
[0029]
本发明有益效果体现在:
[0030]
本发明所述的基于计算机视觉的路面多种病害面积检测及定位方法,在检测路面病害过程中,提升了检测路面病害的速度,实现了实时检测路面病害的功能。在计算路面病害过程中,通过收集到的路面病害图像制作出病害训练集、病害验证集、病害测试集,利用病害训练集与病害验证集对病害检测模型进行训练,并用病害测试集对训练后的模型进行评估,保存符合要求的训练后的模型。在目标路面现场中部署训练后的模型,对目标路面进行实时病害检测,得到检测结果,检测结果中包含病害的个数和类型,获取检测结果中病害图像,利用拟合椭圆计算出检测检测目标路面的病害的实际位置与大小。基于计算机视觉的路面多种病害面积检测及定位方法大大降低了路面养护检测期间的工作量,不仅加快了
对目标路面的病害检测效率,还提高了路面病害检测结果的准确度,为路面病害检测提供了更为快捷高效的方法。
附图说明
[0031]
图1为本发明方法的整体框图。
[0032]
图2为本发明方法获取病害训练集的流程图。
[0033]
图3为本发明方法训练病害检测模型的流程图。
[0034]
图4为本发明方法病害检测模型训练流程图。
[0035]
图5为本发明方法检测目标路面病害的流程图。
[0036]
图6为本发明方法计算病害中心坐标的流程图。
[0037]
图7为本发明方法计算病害面积的流程图。
[0038]
图8为本发明方法实验结果图。
具体实施方式
[0039]
如图1所示,基于计算机视觉的路面多种病害面积检测及定位方法总体过程为:
[0040]
本发明方法包括基于计算机视觉的路面病害检测和路面病害计算:所述基于计算机视觉的路面病害检测包括获取病害数据集、训练病害检测模型、检测目标路面病害,主要功能为实时检测目标路面的病害、获取检测目标路面的病害的类型和个数;所述路面病害计算包括计算病害中心坐标、计算病害面积,主要功能为利用拟合椭圆计算所述检测检测目标路面的病害的实际位置与大小。
[0041]
如图2所示,本发明方法的获取病害训练集过程为:
[0042]
(1)收集路面病害图像,路面病害图像要包括“无异常”、“裂缝”、“车辙”、“松散”、“冻胀翻浆”、“沉陷”、“拥包”、“泛油“、“龟裂唧浆”和“桥头沉降”状态的图像,制作病害样本集;
[0043]
(2)标注所述病害样本集的每个图像样本,获得病害样本集对应的json样本标签文件,该json样本标签文件中包含每个图像样本的标签值;
[0044]
(3)所述病害样本集和病害样本集的json文件样本标签,预处理病害样本集,转化为coco数据集格式,转化后的病害样本集按照比例8:1:1分为病害训练集、病害验证集、病害测试集。
[0045]
如图3所示,本发明方法的训练病害检测模型过程为:
[0046]
进一步的,所述训练病害检测模型,其步骤如下:
[0047]
(1)设置病害检测模型的初始训练参数:主干网络(backbone)设置为resnet50、学习率衰减区间(lr_steps)设置为(30000,60000,90000)、训练迭代次数(max_iter)设置为30000、训练批次(batch_size)设置为4、阈值(score_threshold)设置为0.3;
[0048]
(2)输入病害训练集与病害验证集,训练病害检测模型;
[0049]
(3)训练迭代到30000次后,停止训练,保存训练后的模型;
[0050]
(4)用病害测试集对训练后的模型进行评估,将病害测试集中所有图像依次输入到训练后的模型中,记录下每张图像样本检测后的标签值,并与病害测试集的json文件中标注的对应标签值进行比较,在病害测试集中所有图像样本全部判断完成后,查看病害检
测置信度分数,判断训练后的模型在病害测试集中的判断准确率是否符合要求,如果符合要求,则保存训练后的模型;如果不符合要求,则跳转到步骤(1),修改病害检测模型的初始训练参数:训练迭代次数与阈值,进行再次训练。
[0051]
如图4所示,本发明方法的病害检测模型训练过程为:
[0052]
(1)病害训练集与病害验证集的图像样本输入到病害检测模型主干网络(backbone)进行图像样本的特征提取,所述主干网络(backbone)采用:resnet50残差结构+fpn结构,以及多尺度的特征图,从而可以检测到不同尺寸的病害;resnet50残差结构共有c1到c5五个卷积模块,fpn网络是由c5卷积模块经过1个卷积层得到p5特征图,对p5特征图采用双线性插值使特征图扩大一倍,与经过卷积的c4卷积模块相加得到p4特征图,再采用同样的方法对p4特征图采用双线性插值使特征图扩大一倍,与经过卷积的c3卷积模块相加得到p3特征图,然后对p5特征图进行卷积和下采样得到p6特征图,对p6特征图进行同样的卷积和下采样得到p7特征图,从而建立p3

p7五个特征图的fpn网络,p3特征图被送入protonet任务分支,同时p3

p7五个特征图也被送入prediction head任务分支中;
[0053]
(2)protonet任务分支,该任务分支是由若干卷积层组成的全卷积网络(fcn)来生成一组与所述病害原图像尺寸(550*550)一样的原型掩码(p),protonet部分对于每张输入的病害图像预测k个原型掩码,由于病害训练集、病害验证集、病害测试集,转化为coco数据集格式,对于coco数据集格式k取32效果最好,所以这部分输出的掩模维度是138*138*32,即32个原型掩码,每个大小是138*138;
[0054]
(3)prediction head任务分支,采用共享卷积网络,提高对图像样本的检测速度,从而达到对图像样本的实时检测;p3

p7五个特征图输入到prediction head任务分支,每个特征图先生成图像样本中的病害,然后prediction head任务分支为每个特征图生成三类输出:类别置信度、位置回归参数、掩模系数,将五个特征图生成的三类输出进行拼接,最终生成图像样本中各个病害的类别置信度、位置回归参数以及掩模系数(c);
[0055]
(4)所述protonet任务分支与prediction head任务分支是并行任务,对经过nms后的预测病害,通过线性组合两个任务分支的结果所述原型掩码(p)与所述掩模系数(c)来计算每个病害的掩模,具体做法是采用如下的矩阵乘法:
[0056]
m=σ(pc
t
)
[0057]
其中p是h
×
w
×
k的原型掩码,c是n
×
k的掩模系数矩阵,h是原型掩码的高,w是原型掩码的宽,n是通过nms和阈值过滤后每个病害对应的k个掩模系数;
[0058]
(5)将病害框之外的位置置零,以阈值为0.3,对输出的掩模做二值化操作,将掩模中值的范围限制在[0,1]之间;
[0059]
如图5所示,本发明方法的检测目标路面病害过程为:
[0060]
(1)使用训练后的模型对目标路面进行实时检测,将训练后的模型部署到目标路面现场中,摄像机对目标路面进行实时拍摄,将拍摄到的视频每一帧图像,作为待检测图像;
[0061]
(2)对所述待检测图像进行所述预处理后得到检测样本集;
[0062]
(3)所述检测样本集输入到所述训练后的模型中,提取图像中病害的特征,并对所述特征进行特征分类;
[0063]
(4)训练后的模型计算出检测结果,在所述检测图像中标出检测到的病害注明其
类型作为检测结果输出,保存所述检测结果,检测结果中包含目标路面中病害的类型和个数,从而实现实时检测目标路面病害的功能。
[0064]
如图6所示,本发明方法的计算病害中心坐标过程为:获取检测结果中病害图像,利用opencv中拟合椭圆计算病害中心坐标:对病害图像进行二值化操作,对二值化图像进行高斯滤波,提取病害掩模边缘轮廓,输出病害图像中病害掩膜边缘轮廓点坐标、病害掩膜边缘轮廓的关系;将病害掩膜边缘轮廓从左到右进行排序,循环排序后的病害掩膜边缘轮廓,得到图像中病害的拟合椭圆,输出所述拟合椭圆的中心点坐标,按照病害图像像素距离与目标路面实际距离的比值设定比例尺,计算出病害在目标路面的位置。
[0065]
如图7所示,本发明方法的计算病害面积过程为:获取检测结果中病害图像,利用opencv中拟合椭圆计算病害中心坐标:对病害图像进行二值化操作,对二值化图像进行高斯滤波,提取病害掩模边缘轮廓,输出病害图像中病害掩膜边缘轮廓点坐标、病害掩膜边缘轮廓的关系;将病害掩膜边缘轮廓从左到右进行排序,循环排序后的病害掩膜边缘轮廓,得到图像中病害的拟合椭圆,输出计算机测量的所述拟合椭圆像素点长轴长度和短轴长度,按照病害图像像素距离与目标路面实际距离的比值设定比例尺,计算出计算机测量的所述拟合椭圆像素点长轴长度和短轴长度与设定比例尺的比值,从而计算出检测到的病害在目标路面中所占面积。
[0066]
如图8所示,本发明方法实验结果为:摄像机对目标路面进行实时拍摄到的一帧图像,经过基于计算机视觉的路面多种病害面积检测及定位方法,检测到目标路面病害类型,计算出路面病害的面积和中心坐标。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1