CN115063679B - 一种基于深度学习的路面质量评估方法 - Google Patents
一种基于深度学习的路面质量评估方法 Download PDFInfo
- Publication number
- CN115063679B CN115063679B CN202210680025.5A CN202210680025A CN115063679B CN 115063679 B CN115063679 B CN 115063679B CN 202210680025 A CN202210680025 A CN 202210680025A CN 115063679 B CN115063679 B CN 115063679B
- Authority
- CN
- China
- Prior art keywords
- image
- road surface
- pavement
- detection model
- representing
- 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
- 238000013135 deep learning Methods 0.000 title claims abstract description 18
- 238000001303 quality assessment method Methods 0.000 title claims abstract description 8
- 238000001514 detection method Methods 0.000 claims abstract description 103
- 238000012549 training Methods 0.000 claims abstract description 30
- 238000007781 pre-processing Methods 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 48
- 238000001914 filtration Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 23
- 230000002146 bilateral effect Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 14
- 238000005286 illumination Methods 0.000 claims description 7
- 230000009467 reduction Effects 0.000 claims description 7
- 238000013441 quality evaluation Methods 0.000 claims description 6
- 238000005520 cutting process Methods 0.000 claims description 3
- 238000002156 mixing Methods 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 22
- 238000009826 distribution Methods 0.000 description 11
- 230000009286 beneficial effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000002372 labelling Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000011897 real-time detection Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000003706 image smoothing Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 235000002566 Capsicum Nutrition 0.000 description 1
- 239000006002 Pepper Substances 0.000 description 1
- 235000016761 Piper aduncum Nutrition 0.000 description 1
- 235000017804 Piper guineense Nutrition 0.000 description 1
- 244000203593 Piper nigrum Species 0.000 description 1
- 235000008184 Piper nigrum Nutrition 0.000 description 1
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 240000007651 Rubus glaucus Species 0.000 description 1
- 235000011034 Rubus glaucus Nutrition 0.000 description 1
- 235000009122 Rubus idaeus Nutrition 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000003707 image sharpening Methods 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 235000012434 pretzels Nutrition 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- 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/20—Image preprocessing
- G06V10/30—Noise filtering
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- 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
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种基于深度学习的路面质量评估方法,属于路面质量评估技术领域,该方法包括:采集路面图像,并对路面图像进行预处理;对经预处理后的路面图像进行标注,构建检测模型,并利用经标注后的路面图像训练检测模型;将训练好的检测模型部署至移动端,并利用部署有检测模型的移动端对路面质量进行评估。本发明解决了针对现今路面检测领域中存在的检测破损类别数较少和检测的精准度和召回率不均衡的问题。
Description
技术领域
本发明属于路面质量评估技术领域,尤其涉及一种基于深度学习的路面质量评估方法。
背景技术
公路作为衡量一个国家民生发展的重要保障之一,其养护和维修的工作随之也变得越来越重要,随着这些公路的长时间使用,它们也在不断遭受着降水、降雪等自然因素的侵蚀,长此以往,细小的裂缝在整个路面上不断产生,久而久之,它们逐渐扩大并延伸,从而产生坑洞、凹陷等破损状况,进而损坏整个路面结构。这种情况下,不但路面的寿命被大幅度缩减,也会从一定程度上给人民的出行带来不便,严重情况下甚至会承担引发交通事故的风险。
在路面检测领域上,随着国家在科学计算领域上的不断攻坚和突破,数字图像处理技术逐渐又被应用在路面检测这一领域上。它主要是通过采集设备获取到相关检测图像或视频,然后通过一系列噪声去除、图像分割以及有效的特征提取对图像的边缘进行检测的计算过程,从而得到最终的检测图像结果。然而,由于目前的图像处理的信息大部分都为二维,数据量较大,因此,这一方式就对进行操作的计算机的处理速度以及存储容量的要求较高;同时,在对路面破损状况之一的路面裂缝这一现象进行处理时,由于大部分裂缝存在线条杂乱交错,方向不定的特点,因此包含源图像一般表现出灰度值低于附近灰度值的现象,在处理时产生明显线条边界感,但也存在很多裂缝处灰度值与相邻区域灰度值差异较小的情况,无明显边界生成,这从一定程度上给检测过程带来了难度。
后来随着深度学习的发展与应用,相关研究人员也开始将深度学习应用于路面检测领域,以此来提高其检测的准确度和速度。然而,虽然现有利用深度学习在路面破损检测领域也获得了很多的成果,但也有一定的弊端所在,主要分为以下两方面:(1)路面损伤检测类别数较少;(2)总体检测性能不佳。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于深度学习的路面质量评估方法,解决了针对现今路面检测领域中存在的检测破损类别数较少和检测的精准度和召回率不均衡的问题。
为了达到以上目的,本发明采用的技术方案为:
本方案提供一种基于深度学习的路面质量评估方法,包括以下步骤:
S1、采集路面图像,并对路面图像进行预处理;
S2、对经预处理后的路面图像进行标注,构建检测模型,并利用经标注后的路面图像训练检测模型;
S3、将训练好的检测模型部署至移动端,并利用部署有检测模型的移动端对路面质量进行评估。
本发明的有益效果是:本发明在进行实际路面检测时,能在检测到的路面破损现象的种类更多的同时产生的误检和漏检现象更少;除此之外,在部署到安卓端进行实时检测时,检测的速度更快,有效地提高了整体的检测性能。
进一步地,所述步骤S1包括以下步骤:
S101、采集路面图像,利用双边滤波对路面图像进行降噪处理,得到滤波后的路面图像;
S102、根据滤波后的路面图像,利用Brightness函数对路面破损图像进行光照处理;
S103、对经光照处理后的路面破损图像,利用Contrast函数进行对比度增强处理,完成对路面图像的预处理。
上述进一步方案的有益效果是:经预处理后的图像破损特征较之前更明显,尤其是对于一些路面环境更复杂的情况,便于后续训练过程中对检测目标特征的学习过程,提高整个网络模型的检测性能;除此之外,在实际检测时,具有更好的鲁棒性,
再进一步地,所述双边滤波的权值系数的表达式如下:
其中,C(k,l)表示双边滤波的权值系数,(k,l)表示路面图像中的领域点,I(i,j)表示相对像素点的灰度值,(i,j)表示路面图像的像素点,I(k,l)表示相对像素点的灰度值,σr表示灰度滤波标准差,σd表示空域滤波器的标准差,i表示像素横坐标,k表示领域点横坐标,j表示像素点纵坐标。
上述进一步方案的有益效果是:本发明选取双边滤波对部分图像进行降噪处理,尽可能使距离边缘附近较远的像素影响比较小。双边滤波的处理方式属于非线性,它的优势在于即可以保护图像边缘,又能实现图像的降噪平滑。双边滤波在计算时采用加权平均的方式,用周边像素亮度值的加权平均代表某个像素的强度,所用的加权平均基于高斯分布。最重要的是,它的计算权重会考虑两方面:一是像素的欧氏距离,二是像素区域中整体的颜色强度差异和像素相似度等等,这样也会使得处理后的图像的整体视觉效果更优越。
再进一步地,所述步骤S2包括以下步骤:
S201、根据经预处理后的路面图像,确定路面破损目标位置,对路面的破损目标进行标注,并在标注时,在检测破损目标处绘制矩形框;
S202、对所标注的矩形框添加类别,并将路面破损图像保存为xml格式;
S203、利用主干网络ShuffleNet、加强特征提取网络FPN以及输出网络Yolo Head,构建检测模型;
S204、利用xml格式的路面破损图像训练检测模。
上述进一步方案的有益效果是:利用矩形框的合理标注更便于后续网络的回归,相当于预测效果更好。
再进一步地,所述主干网络ShuffleNet,用于提取检测破损目标的浅层特征;
所述加强特征提取网络FPN,用于基于浅层特征,对破损目标进行特征提取;
所述输出网络Yolo Head,用于基于特征提取网络提供的特征,进行分类和回归处理,输出检测破损目标的类别和概率。
上述进一步方案的有益效果是:网络模型的改进使得网络更为轻量化,在提高网络检测性能的同时便于移动端的部署检测,使得总体对于各类别目标的精准度和召回率达到较好的平衡性。
再进一步地,所述检测模型的损失函数的表达式如下:
FL(pt)=-at(1-pt)γlog(pt)
其中,FL(pt)表示检测模型的损失函数,at表示加权因子,(1-pt)γ表示调节因子,pt表示p的函数,p表示检测模型预测某一个样本为正样本的概率。
上述进一步方案的有益效果是:损失函数的改进进一步解决了在模型训练中对于数据样本分布不均衡的问题,有助于提高整个网络模型对于每个类别的检测性能。
再进一步地,所述步骤S204中针对训练检测模型时,利用CGAN结构进行数据增强,其包括以下步骤:
A1、从经预处理后的路面图像中划分出训练集中带有损伤类别的图像,并将带有损伤类别图像的框从源图像中裁剪;
A2、利用CGAN结构,生成带有损伤类别标签的新路面图像;
A3、利用泊松混合,合并经预处理后的路面图像与新路面图像;
A4、从合并的路面图像中选取高分辨率图像数据来进行数据增强扩。
上述进一步方案的有益效果是:数据增强可以使过拟合现象得到进一步缓解,同时在经过CGAN数据增强后,训练数据大量增加,因此图片语义信息更丰富,模型在训练时学习到的有效特征数量增加,同时降低了网络训练中产生的震荡情况,有效提升模型的检测效果。
再进一步地,所述步骤S3包括以下步骤:
S301、选取已训练的检测模型的pt文件,利用onnx2ncnn文件对pt文件进行onnx和ncnn文件的转换,生成param文件,其中,param文件为网络结构的参数文件;
S302、针对主干网络ShuffleNet的Focus层,修改param文件中的layer_count参数;
S303、对layer_count参数进行修改,并利用自定义的Focus层与其进行相连接得到的param新文件;
S304、基于param新文件,修改将检测的路面图像的破损类别数,完成检测模型在移动端的部署;
S305、利用部署有检测模型的移动端对路面质量进行评估。
上述进一步方案的有益效果是:在本发明设计改进的轻量化后,转换后的模型能很好地部署于用户随身携带的智能手机设备上,然后利用其摄像头完成检测过程,大大降低了传统的检测成本。
附图说明
图1为本发明的方法流程图。
图2为本实施例中双边滤波图像及处理效果图。
图3为本实施例中不同阈值下的光照处理结果图。
图4为本实施例中图像锐化处理结果图。
图5为本实施例中检测模型结构示意图。
图6为本实施例中数据标注过程示意图。
图7为本福州例中xml中各项标签内容示意图。
图8为本实施例中各类别损伤标注示意图。
图9为本实施例中CGAN进行数据增强的路面破损生成示意图。
图10为本实施例中CGAN训练流程图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
实施例
针对现今路面检测领域中存在的检测破损类别数较少和检测的精准度和召回率不均衡的问题,本发明提出了一种基于深度学习的路面质量评估方法,实现了对路面进行破损状况检测时的良好的精准度及检测速度。该方法主要考虑了以下几点,使得最终路面可检测的破损类别总数达到9类,同时最佳的精准度和召回率可达到93%和85%。本发明的创新点主要体现在如下方面:
(1)主干网络的轻量化设计。现如今很多深度学习网络模型的检测性能深受网络深度的影响,常用做法是将各小型网络以及模块进行堆叠,往往使得检测精准度和速度不能达到较好的平衡。那么针对这种差异情况,该方法会对各个主干网络的分类精度以及参数量进行了研究分析,在最新的YOLOX网络中将原始的CSPDarkNet主干网络替换为ShuffleNet-Focus网络结构,使得在网络计算量大幅度下降的同时仅牺牲微小精度,有效实现速度与精度的权衡。
(2)CGAN数据增强。在网络层数不断加深的同时,训练参数量也随之上升,使得过拟合现象更易产生,针对这种情况,多数都采用了Mosaic或CutMix的方式对数据进行增强。但在实测中,这些数据增强方式的结果并不稳定,网络震荡表现更明显,生成的新图像背景无关目标太多,从而导致精准度和召回率的降低。因此,在此基础上,在本发明中引入了CGAN数据增强方式,将原始图像中需要检测的破损类别进行再裁剪拼接得到新图像,使得检测目标数量被有效地扩充,从一定程度上提升模型的检测性能。
(3)损失函数的设计。很多目标检测网络在计算损失时都使用标准交叉熵函数,但由于原始图像数据在大多数时候并不是那么理想,样本分布差异较大,数据表现出极端不均衡。由于本发明中将需要检测的路面破损类别分为9类,每个类别的样本数量不尽相同,因此,本发明使用Focal Loss对标准交叉熵函数进行改进,使得多类别检测中样本数据的不平衡性得到有效改进。
(4)便携移动端系统的部署系统设计。如今,网络的轻量化发展使得便携式设备进行目标检测成为了可能。本发明应用YOLOX的网络结构,并融合轻量化网络的选取设计方案,将检测模型部署于用户随身携带的智能手机设备上,利用其摄像头完成检测过程,大大降低了传统的检测成本。
如图1所示,本发明提供了一种基于深度学习的路面质量评估方法,其实现方法如下:
S1、采集路面图像,并对路面图像进行预处理,其实现方法如下:
S101、采集路面图像,利用双边滤波对路面图像进行降噪处理,得到滤波后的路面图像;
S102、根据滤波后的路面图像,利用Brightness函数对路面破损图像进行光照处理;
S103、对经光照处理后的路面破损图像,利用Contrast函数进行对比度增强处理,完成对路面图像的预处理。
本实施例中,双边滤波:对于所有的原始数据图像,噪声一直以来是一个不可忽略且无法避免的干扰性问题,它会直接影响网络模型对于检测目标的有效特征学习以及后续预测结果的好坏,从而进一步影响后面的实时检测的精准度和速度等问题。因此,为了保障采集到的路面图像具有更高的质量,一般在预处理阶段都会对部分采集图像中存在的噪声做相关处理。就目前来讲,存在于图像中的噪声一般分为量化噪声、冲击噪声、高斯噪声以及椒盐噪声。滤波器一般有线性和非线性划分,高斯滤波器和均值滤波都属于前者,均值滤波器和高斯滤波器的使用原理比较相似,两者的最终输出都为窗口区域内的所有像素的均值;而他们的主要差异性在于模板系数的取值不同。对于均值滤波器的模板系数而言,其所有取值都为1;而高斯滤波器模板系数主要受到距离的影响,距离滤波器模板中心越远,取值则越小。尽管他们二者都可以对图像进行去噪,实现图像平滑,但是高斯滤波器处理后得到的图像的模糊程度远远低于均值滤波器的结果。类似地,滤波方法还有均值滤波和中值滤波,他们都可以对图像噪声进行处理,实现图像的平滑。均值滤波在进行计算时能对窗口区域的所有像素取均值,更为有效。但由于均值滤波方式的自身缺陷所在导致它对图像的细节有所忽略。因此,这种方式尽管对图像的噪声现象进行了有效抑制,但图像的边缘细节之处同时也受到比较严重的破坏,导致效果图在显示上比原图更模糊,所以这种处理方法的普适性也并不高。中值滤波的处理方法是非线性的,它和均值滤波在对噪声的处理表现上也不尽相同,前者对椒盐噪声表现更好,而后者对高斯噪声的处理更佳。综合考虑上述各滤波方法对图像细节处理的优劣之处,本发明选取双边滤波对部分图像进行降噪处理,尽可能使距离边缘附近较远的像素影响比较小。双边滤波的处理方法也是非线性,它的优势在于即可以保护图像边缘,又能实现图像的降噪平滑,双边滤波在计算时采用加权平均的方式,用周边像素亮度值的加权平均代表某个像素的强度,所用的加权平均基于高斯分布。最重要的是,它的计算权重会考虑两方面:一是像素的欧氏距离,二是像素区域中整体的颜色强度差异和像素相似度等等,这样也会使得处理后的图像的整体视觉效果更优越。公式(1)和(2)中给出了双边滤波的操作,Ip为输入图像,表示滤波后图像。
参数σs用于过滤像素的空间邻域的大小,σr控制了相邻像素由于强度差异而降低的权重,而归一化权重之和。双边滤波的权值系数定义如下:
其中,C(k,l)表示双边滤波的权值系数,(k,l)表示路面图像中的领域点,I(i,j)表示相对像素点的灰度值,(i,j)表示路面图像的像素点,I(k,l)表示相对像素点的灰度值,σr表示灰度滤波标准差,σd表示空域滤波器的标准差,i表示像素横坐标,k表示领域点横坐标,j表示像素点纵坐标。
本实施例中,图2展示了本发明利用IPhone XR手机采集的一张路面破损图像并对其进行双边滤波的过程。
本实施例中,光照处理:在实际进行图像采集的过程中,发现阴影和光照从一定程度上影响了路面破损现象的获取,导致部分阴影处的路面破损现象很难被发现,还有太阳光照射路面导致的反光也极难发现路面的破损现象。因此,在本阶段的图像预处理过程中,本发明使用python中PIL模块中的ImageEnhance类中的Brightness函数对部分路面破损图像进行了光照处理。在调整光照参数时,本发明针对数据集中存在的部分较暗或较亮的图像,同时结合不同的Brightness参数的取值得到的不同的结果图选取了最佳的取值。在这多次处理过程中,本发明最初将Brightness的值设置为0.5,然而对比源图像发现两者亮度差异较小,裂纹细节处仍较为模糊,因此将这一数值逐渐调高。随着这一参数取值的逐渐升高至2.13时,发现图像的亮度增加程度过高,导致图像部分检测区域过曝,影响后续检测性能,如下图3(b)。图3(a)为初始的路面破损源图像。因此,本发明在进行了几轮结果的选择对比后,将Bright参数设置为1.53,从而得到了图3(c)中的图像亮度效果。
本实施例中,对比度增强:在对数据集进行相关预处理时,发现一些图像较为模糊,整体观感不佳,为了后续模型训练过程中能够更好的学习到不同破损类别的特征,本发明对这一部分图像进行了锐度的增强调整。这一预处理过程也是利用了Python里PIL模块的ImageEnhance类中的Contrast函数来进行的。如图4所示,图4展示了源路面破损图像与锐化处理后的结果。在这一过程中,本发明将最初的阈值设置为1.5,然后发现在1.5至6.5的区间范围中,部分图像的锐化程度并不明显,然后在这一取值缓慢提升至7.33时可以得到一个较好的效果。根据以上结果可以看到,图4(a)源图像中的裂纹区域显示平滑模糊,在对其进行一定程度的锐化处理后,图像的模糊程度整体下降,但裂纹块区处的细节边缘和轮廓被大幅度加强,如图4(b),便于后续对裂纹处的识别和检测。但需要注意的是,在对图像进行锐化处理时,不仅增强了图像的边缘,同时也从一定程度上增加了图像的噪声,因此也要注重锐化图像的选取过程,在做处理时尽可能地选取路面破损区域在整幅图像中占比较多的原始图像,以增加少量噪声的代价换取裂纹区域轮廓特征大幅度增加的目的,从一定程度上提升后续的检测性能。
S2、对经预处理后的路面图像进行标注,构建检测模型,并利用经标注后的路面图像训练检测模型,其实现方法如下:
S201、根据经预处理后的路面图像,确定路面破损目标位置,对路面的破损目标进行标注,并在标注时,在检测破损目标处绘制矩形框;
S202、对所标注的矩形框添加类别,并将路面破损图像保存为xml格式;
S203、利用主干网络ShuffleNet、加强特征提取网络FPN以及输出网络Yolo Head,构建检测模型;
S204、利用xml格式的路面破损图像训练检测模型;
所述主干网络ShuffleNet,用于提取检测破损目标的浅层特征;
所述加强特征提取网络FPN,用于基于浅层特征,对破损目标进行特征提取;
所述输出网络Yolo Head,用于基于特征提取网络提供的特征,进行分类和回归处理,输出检测破损目标的类别和概率。
检测模型的损失函数的表达式如下:
FL(pt)=-at(1-pt)γlog(pt)
其中,FL(pt)表示检测模型的损失函数,at表示加权因子,(1-pt)γ表示调节因子,pt表示p的函数,p表示检测模型预测某一个样本为正样本的概率。
其中,针对训练检测模型时,利用CGAN结构进行数据增强,其包括以下步骤:
A1、从经预处理后的路面图像中划分出训练集中带有损伤类别的图像,并将带有损伤类别图像的框从源图像中裁剪;
A2、利用CGAN结构,生成带有损伤类别标签的新路面图像;
A3、利用泊松混合,合并经预处理后的路面图像与新路面图像;
A4、从合并的路面图像中选取高分辨率图像数据来进行数据增强扩充充。
本实施例中,对于原始的YOLOX网络,其整体可分为三部分:浅层特征提取网络(提取初步的目标特征)也就是主干网络CSPDarkNet,加强特征提取网络(进一步提取图像特征)FPN及输出网络(分类和回归,输出最终检测框和概率,即最终检测结果)Yolo Head。而在本发明中,将在保持原有Focus模块的基础上,使用ShuffleNet系列网络代替YOLOX当中的CSPDarkNet进行特征提取,后续再对第一步得到的浅层特征进一步加强提取;另外,结合本发明多目标检测的问题考虑,又引入了Focal Loss来解决样本分类困难的问题,完成了整个网络的搭建,框架如图5所示。
本实施例中,选取LabelImg标注工具进行图像数据标注。标注流程一般为以下几点:矩形区域选取、检测类别添加以及标注文件导出为xml格式。图像标注的示例如图6所示。在对路面的破损目标进行标注时,首先要确定好检测的破损目标位置,然后选取目标所在的区域绘制矩形框。在进行矩形框标注时,应该尽可能使得目标区域恰好位于框内,便于提升后续网络模型预测的精准度。接着,对所标注的矩形框进行类别的添加。最后完成了一系列类似操作后,将图像保存为xml格式,这是由于后续实验采用VOC格式数据集,而在实际实验中它使用xml格式来进行解析。保存的xml内容如图7所示,从xml显示出的内容来看,标注文件主要展现了以下几个要点:文件夹名、文件名、原图像数据的长宽和深度信息、标注类别名以及矩形框的坐标信息等,这些相应的数据都需要在后续的网络中进行读取从而完成整个模型的训练过程。标注文件中还会存在difficult属性和truncated属性,difficult主要是用来表示检测类别是否与之前人为预定好的class文件相对应,即目标是否难以识别,0表示容易被识别。本实验中,difficult设置为0;而truncated主要是用来判断目标是否被截断,0表示未被截断。标注完成后的D00至D50的路面破损示例图如图9所示,损伤类别共计9类。
本实施例中,卷积神经网络应用于图像分类任务性能优越,多项研究证明卷积神经网络在大规模带有标签的数据集训练下,训练后网络能够取得高精度的识别率或分类效果。然而在某些特殊领域由于多方面因素制约,累积的数据集中样本远小于一般模型常规训练集规模,因此导致训练后的网络出现过拟合现象。为了降低因训练集样本数量过少对训练造成的不良影响,各种扩展数据集样本的数据增强算法被提出并被广泛应用,将数据增强算法应用于小数据集不仅能够提升数据集样本的数量也能提升样本的多样性。CGAN结构与GAN的主要区别是生成器和判别器的输入数据中都加入类别标签向量,但是普通的GAN所生成的内容是随机的,CGAN实现了根据输入标签生成指定类别的内容。
本实施例中,生成器根据相应变量输出得到一个3通道的图像数据。判别器的输入是图像数据,包括真实的图像数据和生成的图像数据,是一个二分类问题。而且由于GAN包含两个网络,所以需要定义两个优化器分别进行优化。优化时固定一个网络的参数更新另一个,损失函数选择的BCELoss是一种较为常用的二分类损失,因为判别器进行真假的判别实质就是二分类问题,网络的训练关键是如何交替的更新生成器和判别器,以及如何正确的更新梯度,与普通的CNN分类或者回归的单个网络不同,GAN需要训练两个网络:训练生成器G时判别器D的参数固定不变,训练判别器D时生成器参数固定不变。
本实施例中,如图9所示,使用CGAN数据增强生成的路面破损图像示例可知,对于新图像的生成过程可以被定义为:给定一个原始路面破损图像xi∈Rh×w×3,相对应的类别标签为ci∈R1×n,h×w表示图像的尺寸大小,n代表标签类别数。那么,理想的模型便是所生成的图像xo∈Rh×w×3,其目标类别co来自一个随机向量如图10所示,图10展现了使用CGAN进行训练的大致流程。为了更好地使用CGAN对路面破损图像进行数据增强,这里的损失计算分别使用了分类损失和对抗性损失。对于分类损失,它包含两方面:一是用于优化D的真实图像的损失,二是用于优化G的虚假图像的损失。分类损失的公式定义如下:
Dcls(ci|xi)代表了根据D计算的类别标签的概率分布,它将会根据这一损失学习如何对图像进行分类。类似地,G试图生成的图像也将被分类为目标类别co,其公式如下:
这里计算时采用了带有梯度惩罚的Wasserstein-GAN对抗性损失函数定义如下:
上述定义中,x指在源真实路面图像与生成的新图像之间沿指向进行均匀采样的过程,λgp是一个超参数(同下述公式中的λCls),在本发明实验中将其设置为λgp=10。对于G和D的全目标优化为:
其中,LG表示对于生成器G的全目标优化,表示关于生成器G带有梯度惩罚的对抗性损失,/>表示用于优化生成器G的虚假图像损失,/>表示生成器G产生的样本分布,DCls(·)表示根据生成器G计算的类别标签概率分布,co表示生成器G的目标类别,表示根据生成器G计算的类别标签概率分布,/>表示生成器G的真实样本分布,xo表示理想模型下生成器G生成的图像,/>表示随机向量,LD表示对于鉴别器D的全目标优化,/>表示关于鉴别器D带有梯度惩罚的对抗性损失,λCls和λgp均表示超参数,/>表示用于优化鉴别器D的虚假图像损失,/>表示鉴别器G的真实样本分布,Dcls(ci|xi)表示根据鉴别器D计算的类别标签概率分布,ci表示鉴别器G的目标类别,xi表示理想模型下鉴别器G生成的图像,/>表示原真实路面图像与生成的新图像之间沿指向进行均匀采样的过程;
S3、将训练好的检测模型部署至移动端,并利用部署有检测模型的移动端对路面质量进行评估,其实现方法如下:
S301、选取已训练的检测模型的pt文件,利用onnx2ncnn文件对pt文件进行onnx和ncnn文件的转换,生成param文件,其中,param文件为网络结构的参数文件;
S302、针对主干网络ShuffleNet的Focus层,修改param文件中的layer_count参数;
S303、对layer_count参数进行修改,并利用自定义的Focus层与其进行相连接得到的param新文件;
S304、基于param新文件,修改将检测的路面图像的破损类别数,完成检测模型在移动端的部署;
S305、利用部署有检测模型的移动端对路面质量进行评估。
本实施例中,(1)ONNX它是属于开放神经网络交换(Open Neural NetworkExchange,ONNX)的格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移,所以这个是模型转化的第一步,将Pytorch框架训练出的pt格式转化为一种万能格式。它的主要使用流程为将对应的pt文件依次转化为onnx文件(或者torchscript文件)和ncnn文件,最终利用Android Studio编写进行安卓端的部署。(2)CoreML这一格式的模型主要用于IOS端的部署,但是需要同时用到Mac和IPhone,IPhone用作部署端,Mac用于开发对应平台的应用程序。它的主要流程主要是将对应的pt文件转化为onnx文件(或者torchscript文件)和ML文件,然后利用Mac系统运行Xcode开发环境进行编写部署。(3)TFLiteTFLite是Google的一个轻量级的推理库,类似于TensorFlow Lite格式的模型文件可以部署到基于Android的移动端上,它的流程主要也是将对应的模型文件依次转化为onnx文件(或者torchscript文件/wts文件),然后再利用Openvino或者TensorRT进行加速最终部署到树莓派等硬件上。对于上述部署方案,基于本发明Windows环境以及Pytorch框架下的训练环境,最终确定了ONNX的部署方案。在部署进行前,首先选取合适的训练好的模型pt文件,使用onnx2ncnn文件进行onnx和ncnn文件的转换,然后会导出相应的param和bin文件。需要注意的是,在转换为ncnn模型时会报错,产生Unsupported slice step的提示。这是由于在整体网络模型中使用了Focus模块,因此也需要在对应的param中将其进行实现;接着,需要针对Focus模块将param文件中的layer_count参数进行修改,同时找到输入输出的名字用自定义的Focus层与其进行相连接得到最后的param新文件。进行完以上这些工作后,需要将检测的破损类别数对应修改,本发明中为9,最终实现完整部署。
相比现如今流行的一些目标检测算法,如FasterRCNN、SSD以及YOLOV3等等,使用本发明在进行实际路面检测时,能在检测到的路面破损现象的种类更多的同时产生的误检和漏检现象更少;除此之外,在部署到安卓端进行实时检测时,检测的速度更快,有效地提高了整体的检测性能。
Claims (6)
1.一种基于深度学习的路面质量评估方法,其特征在于,包括以下步骤:
S1、采集路面图像,并对路面图像进行预处理;
S2、对经预处理后的路面图像进行标注,构建检测模型,并利用经标注后的路面图像训练检测模型;
所述步骤S2包括以下步骤:
S201、根据经预处理后的路面图像,确定路面破损目标位置,对路面的破损目标进行标注,并在标注时,在检测破损目标处绘制矩形框;
S202、对所标注的矩形框添加类别,并将路面破损图像保存为xml格式;
S203、利用主干网络ShuffleNet、加强特征提取网络FPN以及输出网络Yolo Head,构建检测模型;
S204、利用xml格式的路面破损图像训练检测模型;
S3、将训练好的检测模型部署至移动端,并利用部署有检测模型的移动端对路面质量进行评估;
所述步骤S3包括以下步骤:
S301、选取已训练的检测模型的pt文件,利用onnx2ncnn文件对pt文件进行onnx和ncnn文件的转换,生成param文件,其中,param文件为网络结构的参数文件;
S302、针对主干网络ShuffleNet的Focus层,修改param文件中的layer_count参数;
S303、对layer_count参数进行修改,并利用自定义的Focus层与其进行相连接得到的param新文件;
S304、基于param新文件,修改将检测的路面图像的破损类别数,完成检测模型在移动端的部署;
S305、利用部署有检测模型的移动端对路面质量进行评估。
2.根据权利要求1所述的基于深度学习的路面质量评估方法,其特征在于,所述步骤S1包括以下步骤:
S101、采集路面图像,利用双边滤波对路面图像进行降噪处理,得到滤波后的路面图像;
S102、根据滤波后的路面图像,利用Brightness函数对路面破损图像进行光照处理;
S103、对经光照处理后的路面破损图像,利用Contrast函数进行对比度增强处理,完成对路面图像的预处理。
3.根据权利要求2所述的基于深度学习的路面质量评估方法,其特征在于, 所述双边滤波的权值系数的表达式如下:
;
其中,表示双边滤波的权值系数,/>表示路面图像中的领域点,/>表示相对像素点的灰度值,/>表示路面图像的像素点,/>表示相对像素点的灰度值,/>表示灰度滤波标准差,/>表示空域滤波器的标准差,/>表示像素横坐标,/>表示领域点横坐标,/>表示像素点纵坐标。
4.根据权利要求1所述的基于深度学习的路面质量评估方法,其特征在于,
所述主干网络ShuffleNet,用于提取检测破损目标的浅层特征;
所述加强特征提取网络FPN,用于基于浅层特征,对破损目标进行特征提取;
所述输出网络Yolo Head,用于基于特征提取网络提供的特征,进行分类和回归处理,输出检测破损目标的类别和概率。
5.根据权利要求1所述的基于深度学习的路面质量评估方法,其特征在于,所述检测模型的损失函数的表达式如下:
;
其中,表示检测模型的损失函数,/>表示加权因子,/>表示调节因子,/>表示/>的函数,/>表示检测模型预测某一个样本为正样本的概率。
6.根据权利要求1所述的基于深度学习的路面质量评估方法,其特征在于,所述步骤S204中针对训练检测模型时,利用CGAN结构进行数据增强,其包括以下步骤:
A1、从经预处理后的路面图像中划分出训练集中带有损伤类别的图像,并将带有损伤类别图像的框从源图像中裁剪;
A2、利用CGAN结构,生成带有损伤类别标签的新路面图像;
A3、利用泊松混合,合并经预处理后的路面图像与新路面图像;
A4、从合并的路面图像中选取高分辨率图像数据来进行数据增强扩充。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210680025.5A CN115063679B (zh) | 2022-06-15 | 2022-06-15 | 一种基于深度学习的路面质量评估方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210680025.5A CN115063679B (zh) | 2022-06-15 | 2022-06-15 | 一种基于深度学习的路面质量评估方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115063679A CN115063679A (zh) | 2022-09-16 |
CN115063679B true CN115063679B (zh) | 2024-04-26 |
Family
ID=83200415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210680025.5A Active CN115063679B (zh) | 2022-06-15 | 2022-06-15 | 一种基于深度学习的路面质量评估方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115063679B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115330759B (zh) * | 2022-10-12 | 2023-03-10 | 浙江霖研精密科技有限公司 | 一种基于豪斯多夫距离计算距离损失的方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110598891A (zh) * | 2019-06-27 | 2019-12-20 | 广东逸华交通工程检测有限公司 | 沥青路面全周期性能监测评估方法及系统 |
CN111311538A (zh) * | 2019-12-28 | 2020-06-19 | 北京工业大学 | 一种基于卷积神经网络的多尺度轻量化道路路面检测方法 |
AU2020101011A4 (en) * | 2019-06-26 | 2020-07-23 | Zhejiang University | Method for identifying concrete cracks based on yolov3 deep learning model |
CN111814721A (zh) * | 2020-07-17 | 2020-10-23 | 电子科技大学 | 基于无人机高低空联合扫描的机场跑道异物检测分类方法 |
CN113887330A (zh) * | 2021-09-10 | 2022-01-04 | 国网吉林省电力有限公司 | 一种基于遥感图像的目标检测系统 |
CN113920479A (zh) * | 2021-10-13 | 2022-01-11 | 北京易华录信息技术股份有限公司 | 一种目标检测网络构建和目标检测方法、装置及电子设备 |
CN113989230A (zh) * | 2021-10-28 | 2022-01-28 | 华东交通大学 | 一种基于改进YOLOv4的公路路面病害检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210073692A1 (en) * | 2016-06-12 | 2021-03-11 | Green Grid Inc. | Method and system for utility infrastructure condition monitoring, detection and response |
-
2022
- 2022-06-15 CN CN202210680025.5A patent/CN115063679B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2020101011A4 (en) * | 2019-06-26 | 2020-07-23 | Zhejiang University | Method for identifying concrete cracks based on yolov3 deep learning model |
CN110598891A (zh) * | 2019-06-27 | 2019-12-20 | 广东逸华交通工程检测有限公司 | 沥青路面全周期性能监测评估方法及系统 |
CN111311538A (zh) * | 2019-12-28 | 2020-06-19 | 北京工业大学 | 一种基于卷积神经网络的多尺度轻量化道路路面检测方法 |
CN111814721A (zh) * | 2020-07-17 | 2020-10-23 | 电子科技大学 | 基于无人机高低空联合扫描的机场跑道异物检测分类方法 |
CN113887330A (zh) * | 2021-09-10 | 2022-01-04 | 国网吉林省电力有限公司 | 一种基于遥感图像的目标检测系统 |
CN113920479A (zh) * | 2021-10-13 | 2022-01-11 | 北京易华录信息技术股份有限公司 | 一种目标检测网络构建和目标检测方法、装置及电子设备 |
CN113989230A (zh) * | 2021-10-28 | 2022-01-28 | 华东交通大学 | 一种基于改进YOLOv4的公路路面病害检测方法 |
Non-Patent Citations (3)
Title |
---|
Small Object Detection in Traffic Scenes Based on YOLO-MXANet;Xiaowei He等;《SENSORS》;20211108;全文 * |
基于深度卷积神经网络融合模型的路面裂缝识别方法;孙朝云;马志丹;李伟;郝雪丽;申浩;;长安大学学报(自然科学版);20200715(04);全文 * |
基于深度学习路面质量评估的研究和实现;许洁;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20230115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115063679A (zh) | 2022-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11887362B2 (en) | Sky filter method for panoramic images and portable terminal | |
CN109558806B (zh) | 高分遥感图像变化的检测方法 | |
CN110543837A (zh) | 一种基于潜在目标点的可见光机场飞机检测方法 | |
CN103049763B (zh) | 一种基于上下文约束的目标识别方法 | |
CN107895376A (zh) | 基于改进Canny算子和轮廓面积阈值的太阳能电池板识别方法 | |
CN107038416B (zh) | 一种基于二值图像改进型hog特征的行人检测方法 | |
CN110428450B (zh) | 应用于矿井巷道移动巡检图像的尺度自适应目标跟踪方法 | |
CN110781882A (zh) | 一种基于yolo模型的车牌定位和识别方法 | |
CN110969620A (zh) | 一种磁瓦波纹类缺陷的检测方法及装置 | |
CN114841972A (zh) | 基于显著性图和语义嵌入特征金字塔的输电线路缺陷识别方法 | |
CN115082744B (zh) | 一种基于人工智能的太阳能集热效率分析方法及系统 | |
CN116485709A (zh) | 一种基于YOLOv5改进算法的桥梁混凝土裂缝检测方法 | |
CN116664565A (zh) | 一种光伏太阳能电池片的隐裂检测方法及系统 | |
CN115063679B (zh) | 一种基于深度学习的路面质量评估方法 | |
CN112668725A (zh) | 一种基于改进特征的金属洗手盆缺陷目标训练方法 | |
CN115082776A (zh) | 一种基于图像识别的电能表自动检测系统及方法 | |
CN113610024B (zh) | 一种多策略的深度学习遥感影像小目标检测方法 | |
CN110689003A (zh) | 低照度成像车牌识别方法、系统、计算机设备及存储介质 | |
CN113326734A (zh) | 一种基于YOLOv5的旋转目标检测方法 | |
CN113052234A (zh) | 一种基于图像特征和深度学习技术的玉石分类方法 | |
CN109829511B (zh) | 基于纹理分类的下视红外图像中云层区域检测方法 | |
CN112381794A (zh) | 一种基于深度卷积生成网络的印刷缺陷检测方法 | |
CN117058069A (zh) | 一种全景影像中路面表观病害自动检测方法 | |
CN114283431B (zh) | 一种基于可微分二值化的文本检测方法 | |
CN110751150A (zh) | 一种基于fpga的二值神经网络车牌识别方法及系统 |
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 |