上海论文网提供MBA论文选题服务,专业提供硕士毕业论文服务。
导航 当前位置:上海论文网 > 计算机论文 > 正文
基于计算机视觉的道路路面裂缝检测分析
  • 论文价格:150
  • 用途:硕士毕业论文 Master Thesis
  • 编辑:若诗
  • 点击次数:
  • 论文字数:58811
  • 论文编号:el2021081115251822675
  • 日期:2021-08-13
  • 来源:上海论文网
tagTAG:
本文是计算机论文,在基于深度学习的分类神经网络里,本文根据数据集类别数量分布不均的特点,对交叉熵损失函数略加改进,提升了网络的准确率,根据选用网络过深过长的特点,对网络进行了精简,在牺牲一定准确率的情况下较多的提升了网络的运行速度,使其更加适合工程应用.此外,还进行了多种网络的对比实验,选出了最适合识别裂缝的网络模式和超参数.在数字图像处理内容里,对传统算法做了详细介绍,可视化的展示了如何一步一步提取到裂缝的骨架.接着在第四章,本文尝试新的思路,提出基于语义分割的全卷积网络算法VUNet_CI_CovSkip,网络结构使用UNet结构,下采样编码结构使用VGG16,做了一系列对照实验,证明二者结合是最适合分割裂缝的算法。在优化方面,本文提出了对VGG_Unet网络的损失函数的改进,基于裂缝细小的特性,网络优化应该给与裂缝IOU一定的重视才能获取更好的IOU结果,因此本文改进的损失函数是将交叉熵损失函数与裂缝IOU损失函数按一定权重相加而得,实验证明改进的损失函数的Dice相比交叉熵损失函数有了2.6个点的提升.基于卷积分类网络与数字图像处理分割相结合的裂缝分割提取本文提出了一个两步骤的方案,将泛化能力更强的深度学习与数字图像处理技术相结合完成裂缝识别:第一阶段,将待识别的图片按网格状切分成小块的小图,然后使用卷积神经网络InceptionV3网络对小图进行分类区分出含有裂缝的小图和不含有裂缝的小图。

.......

 

第一章绪论

 

本论文主要是基于计算机视觉的道路路面裂缝识别,因此,研究对象主要是道路的表面裂缝信息,当前的现有的混凝土或沥青表面裂缝识别技术很少表现裂缝的详细精确信息,如个数,长度,宽度等。本文的主要目的是寻找合适的计算机视觉相关技术,对道路表面裂缝进行定性,定位和定量。由于考虑到数字图像处理技术的局限性,低鲁棒性,抗噪声干扰能力弱,本文拟考虑引入深度学习的相关方法来处理裂缝的识别。当前主流深度学习裂缝识别主要分为三种方式:其一,将图片分割成小块,然后对小块图片完成裂缝分割[30-32],此方案分为两步骤进行,先对众多小块区域进行分类判断,然后对类别为裂缝,即存在裂缝的小块区域进行裂缝的分割和提取;其二,利用目标检测的方法对裂缝所在区域定位,然后对裂缝分割和提取[33],此方案也是分为两步骤进行,先定位,再针对局部区域进行裂缝分割提取,但是由于裂缝的长度和走向的不确定性,目标检测算法的感兴趣框也很难有着固定的大小,如果某条裂缝从图片的左下角延伸到右上角,则感兴趣框的大小接近整张图,这样的目标检测就没有了意义;其三,直接使用语义分割[34],此方案与前两者相比有所不同,是直接一步到位完成裂缝的分割提取,此方案在速度和准确率方面较前两者有一定的优势,但是若裂缝过于细长时,语义分割就很容易识别不到裂缝或者出现裂缝多处断裂的情况。本文具体研究内容如下:(1)剔除不含裂缝的小图完成裂缝所在位置的大致判断。第二阶段,利用数字图像处理技术对裂缝进行分割提取,使用了mask匀光,灰度拉伸,中值滤波,大津阈值二值化,膨胀和腐蚀,根据裂缝条状特征设置过滤器和骨架细化等算法完成裂缝的提取。

......
 

第二章相关技术原理和数据集介绍

 

2.1卷积神经网络(CNN)分类
卷积神经网络的隐藏层是网络计算的核心,隐藏层一般含有多层卷积层和池化层,卷积层的计算只要依赖卷积核与待采样数据进行卷积运算,卷积层含有三个超参数,分别是卷积运算的步长,填充和卷积核的大小,卷积运算后一般会使用激活函数来实现非线性变化,使得网络可以模拟任何非线性函数。当前主流激活函数分为Sigmoid[35]函数,Tanh函数和ReLU函数这三种,其中ReLU函数最为常用。图2-2是ReLU激活函数图,式2-1为其公式。2015年ResNet[20]被提出,其最大的特点是提出了残差模块,如图2-5所示,解决了深度网络难以训练的问题,该网络深度达到152层,ResNet的有以下特点:在每层卷积后都使用了批归一化,多次使用池化降低维度,在优化器学习率等方面均有特点,总之,残差模块的提出,有效的解决了深度网络带来的负面影响,但是也正是由于其网络的深度因素,大量的参数使得其对内存或计算资源的依赖比GoogLeNet更高。在后文的卷积分类算法中,本文对裂缝图像采取了旋转、镜像翻转、随机裁剪等数据增强的方式。而在全卷积网络语义分割的算法里,本文对裂缝图像采取了旋转、镜像翻转、色彩抖动和噪声引入等数据增强方式。在本方案中,由于训练数据裂缝和非裂缝数据量比例差距较大,因此修改了损失函数,根据其训练数据量比例对每类别损失函数进行了加权。此外,在考虑到InceptionV3网络过深过于复杂,本文也尝试将网络层削减,在尽量减少准确率损失的情况下,较大的提升识别速度。最后,本文在两个不同数据集上对本章算法进行了测试,并与其他裂缝论文的算法进行了对比。
计算机论文范文
道路路面裂缝图

 

2.2基于数字图像处理的裂缝分割技术
基于计算机视觉的道路路面的裂缝识别,按流程分为两部分,图像采集和图像识别。图像采集部分当前主流一般采用CCD[47]相机﹑录影机来获取图像。随着近些年科技的不断发展,现阶段道路裂缝的采集主要依赖车载式拍摄的设备,利用线阵相机与激光光源完成裂缝图像采集,便捷快速。由于我司项目的数据采集系统尚未完善,因此本文采用开源数据集仅对数据处理做相关研究。本文的裂缝数据集主要来源于公开数据集CFD[48],数据集中含有112张已标注的大小为480*320的图片。所有图像均由iPhone5拍摄,焦点为4mm,光圈为f/2.4,曝光时间为1/134s,数据来源于中国北京的城市路面。数据集的部分数据截图如图2-10所示,我们可以看到这些图像包含诸如阴影,油斑和水渍之类的噪声。裂缝图片里按类型分为混凝土道路和沥青道路,分别如图2-11和2-12所示。混凝土道路噪点较少,裂缝较浅,而沥青道路噪点很多,裂缝往往也更深更加清晰。在深度学习中,数据增强是指使用一些特殊手段令数据集的数量得到较大的扩增。数据增强有多种好处,前人实验证明增强的数据集不仅可以取得更好的训练效果,还可以令网络不容易过拟合,在数据增强过程中相当于引入了部分噪声,提高网络的鲁棒性,使网络在测试集上有更好的表现。本文的裂缝图像也有着特殊性,它可以接受任意程度的裁剪和旋转而不失其真实性。

 

第三章基于卷积网络分类和数字图像处理的裂缝分割...........................................................................19
3.1分类算法与分割算法拼接整合........................................................19
3.2基于卷积神经网络对裂缝图片分类............................................20
第四章基于全卷积网络语义分割的裂缝分割.....................................................47
4.1全卷积网络语义分割结构................................................................47
4.2优化函数的选取和损失函数改进..........................................49
4.3网络结构的改进.........................................................50
4.4实验过程..............................................................................52
4.5实验结果分析............................................................52
第五章裂缝检测系统的设计与实现.....................................61
5.1系统功能完善............................................................61
5.2系统功能展示..................................................................62
5.3系统封装.............................................................................................................65

....

 

第五章裂缝检测系统的设计与实现

 

5.1系统功能完善
本文的最终目的是建立一个裂缝检测系统,本系统的设计方案是设计一套基于裂缝分割算法的windows平台软件,当前软件是本地处理,尚未开发在线模块。此外,由于前文最优算法VUNet_CI_CovSkip的FPS可以达到44.69,后续项目如果有实时处理的需求,该算法也是可以胜任的。系统输入采集的裂缝图像,可以在较短的时间内以较高的准确率对裂缝进行分割识别处理,并将结果输出保存。本章后续的软件测试环节表明可以达到设计方案的目标。在前几章已经介绍了裂缝检测系统较为核心的检测算法,本章将会把这些独立的检测模块结合起来,完成封装,实现完整的裂缝检测功能。经过前两章的算法研究,本文将最终使用VUNet_CI_CovSkip算法来完成裂缝识别系统。系统流程如图5-1所示,前文已完成了分割算法的研究,本小节将对mask信息计算长度和宽度做详细介绍。首先对分割算法预测的mask图按第三章的描述做骨架细化操作,得到骨架图后,由于骨架是单像素宽度,因此可遍历骨架上的点,记录相邻两点的方位关系,将竖直水平方向关系的连接记为A类,将倾斜方向(左上,左下,右上,右下)关系的连接记为B类,统计A类的数量记为AN,B类的数量记为BN。在工程应用的原始数据采集时,可以根据设备状态和与目标的距离来计算得出单个像素所代表的实际长度,本实验拟采用默认参数=0.3mm/像素。则裂缝的长度L由式5-1可得。
计算机论文格式
实验软件环境配置表

 

5.2系统功能展示
本文对系统的功能进行了封装,使其成为一个较为实用的可视化数据处理软件。软件是基于windows平台运行,主要功能是对裂缝的识别,位置定位,长宽信息的提取等。本节将对软件的功能和性能进行详细介绍。系统界面使用python的Tkinter[68]库建立。界面分为两种工作模式,分别是单张图片裂缝识别模式和批量图片裂缝识别模式,其中单张图片裂缝识别模式界面如图5-3所示,批量图片裂缝识别模式界面如图5-4所示。在系统软件被打开时,后台程序便开始加载卷积神经网络的模型,约为十几秒。在软件界面打开后,需要人工手动输入一个参数,即裂缝图片的一个像素与实际尺寸的关系,这个参数与图片采集方式有关,须根据摄像头到目标物的距离,以及摄像头视角的大小来计算出来,由于本文的系统是一个基于windows平台的内业处理软件,并不包含采集控制部分的功能,因此此参数需要用户手动输入。接着便是选择软件的工作模式,本软件可支持单张裂缝图片的识别和批量裂缝图片的识别。若想对图片进行批量识别,可以在软件左上角选择“批量裂缝识别模式”。然后依次选择好待处理的图片文件所在的文件夹,需要保存信息的文件夹,由于是批量处理,因此本软件不再在界面显示处理结果,而是将每张图的处理结果保存入TXT,存在所选择保存的路径下。在选择好后,即可点击开始批量识别,界面上会显示一共要处理的图片总量以及当前正在处理第几张图片。总之,以上便是本软件的全部界面以及操作方式,虽然较为简易,但是基本完成了需要完成的核心功能,具有较强的实用性。

....
 

总结与展望

 

此外,本文还提出了对网络结构的优化,在跳跃连接处对连接的特征图增加卷积层,增强其非线性,实验证明改进的网络结构的Dice相比改进前有着1.7个点的提升。在今后的工作中,针对本文的算法,有以下几点可以优化:首先,由于裂缝区域细长的特殊性,与块状区域明显不同,可以以此设置一些先验知识来优化网络。其次,数据集不够丰富,由于本人所在公司项目数据采集系统尚未完善,尚未能获取大量裂缝数据集,只能采用数量较少的开源数据集做预研。后期若是能够获取更多的数据集,相信网络的识别能力和鲁棒性都能有较大的提升。在软件左上角选择“单张裂缝识别模式”后,可打开文件夹选择裂缝图片,然后点击开始识别裂缝,系统便自动有序的对图片进行识别工作,最后将结果显示到界面上。界面显示有两张图和一个文本结果,两张张图分别是裂缝输入的原图,经过程序识别完成后的mask结果图,文本信息展示了本次识别是否有裂缝,若有裂缝,则显示裂缝的长度,平均宽度,最大宽度等信息。最后,由于缺乏裂缝图片的真实长宽数据,本文算法对裂缝长度和宽度的判断能力并没有做实验进行衡量,因此本文的算法重点还在于对裂缝的定位,长宽信息仅做用户参考,后续若是能获取到相关数据,算法也就还有更多的改进空间。因此,在后续的工作中,将主要针对网络的优化,数据集的扩展,和系统的识别率进行加强。
参考文献(略)