路面病害检测模型训练方法、装置和计算机设备
文献发布时间:2023-06-19 11:26:00
技术领域
本申请涉及道路检测技术领域,特别是涉及一种路面病害检测模型训练方法和装置、一种路面病害检测方法和装置、一种计算机设备和一种存储介质。
背景技术
路面病害即水泥或沥青路面在通车使用一段时间后,出现的各种损坏、变形等缺陷,及时检测路面病害,能够避免道路出现裂缝、坑槽、沉陷等。
目前的路面病害检测方法主要有两种,一种是通过道路检测车来采集路面数据,由人工对采集到的路面数据进行检测,另一种是采用计算机视觉技术,对路面病害进行自动检测。
然而,当采用道路检测车采集数据的方法时,需要熟悉路面病害的人员进行人工检测和分类,在数据量较大的情况下,存在检测效率低、检测成本高的问题;若采用计算机视觉进行自动检测,由于需要通过人为设计的特征模型来对图像进行特征提取,鲁棒性和泛化能力较差,当路面病害情况复杂、路面图像存在纹理噪声时,则无法准确识别所有的路面病害。
因此,目前的路面病害检测技术存在无法准确识别所有路面病害的问题。
发明内容
基于此,有必要针对上述技术问题,提供能够准确识别所有路面病害的一种路面病害检测模型训练方法和装置、一种路面病害检测方法和装置、一种计算机设备和一种存储介质。
一种路面病害检测模型训练方法,所述方法包括:
获取多个路面图像;
检测所述多个路面图像中的病害图像;所述病害图像为存在病害的路面图像;所述病害图像为多个;
根据所述病害对所述病害图像进行标注,并根据标注内容生成所述病害图像的掩膜图像;
根据所述病害图像和所述病害图像的掩膜图像,得到所述路面病害检测模型的训练数据集;
基于所述训练数据集对所述路面病害检测模型进行训练,得到训练后路面病害检测模型;所述训练后路面病害检测模型用于对待检测路面图像进行路面病害检测。
在其中一个实施例中,所述检测所述多个路面图像中的病害图像,包括:
将所述路面图像分割为多个子区域;
统计每一个所述子区域与其邻域子区域之间的相似度;
当所述相似度超过预设的相似度阈值时,判定所述相似度对应的子区域及其邻域子区域为相似子区域;
统计所述路面图像中相似子区域的数量;
当所述数量小于预设的数量阈值时,判定所述路面图像为病害图像。
在其中一个实施例中,所述根据所述病害对所述病害图像进行标注,包括:
识别所述病害图像中的病害区域和所述病害区域的病害类型;
当所述病害区域的长度不小于预设的长度阈值、或宽度不小于预设的宽度阈值时,对所述病害区域进行标注;
当相邻两个病害区域的病害类型相同、且间隔不超过预设的间隔阈值时,将所述相邻两个病害区域标注为整体病害。
在其中一个实施例中,所述方法还包括:
获取所述路面图像对应的路面类型;所述路面类型包括水泥路面和沥青路面;
根据所述路面类型,得到所述路面病害检测模型的训练数据集;所述训练数据集包括水泥路面数据集和沥青路面数据集;
通过对所述水泥路面数据集进行训练得到训练后水泥病害检测模型,以及,通过对所述沥青路面数据集进行训练得到训练后沥青病害检测模型。
在其中一个实施例中,所述方法还包括:
将多个所述待检测路面图像分别输入所述训练后路面病害检测模型,得到每一个所述待检测路面图像的路面病害检测结果;
识别所述路面病害检测结果中的错误结果,获取所述错误结果对应的校正后掩膜图像,并统计所述校正后掩膜图像的数量;
当所述数量超过预设的图像数量阈值时,将所述错误结果对应的校正后掩膜图像添加到所述训练数据集,得到更新后训练数据集;
基于所述更新后训练数据集对所述训练后路面病害检测模型进行训练,得到调整后路面病害检测模型。
一种路面病害检测方法,所述方法包括:
采集待检测路面图像;
将所述待检测路面图像输入训练后路面病害检测模型,得到所述待检测路面图像中的路面病害;所述训练后路面病害检测模型根据上述任一项实施例中所述的路面病害检测模型训练方法训练得到。
一种路面病害检测模型训练装置,所述装置包括:
获取模块,用于获取多个路面图像;
检测模块,用于检测所述多个路面图像中的病害图像;所述病害图像为存在病害的路面图像;所述病害图像为多个;
标注模块,用于根据所述病害对所述病害图像进行标注,并根据标注内容生成所述病害图像的掩膜图像;
训练数据集生成模块,用于根据所述病害图像和所述病害图像的掩膜图像,得到所述路面病害检测模型的训练数据集;
模型训练模块,用于基于所述训练数据集对所述路面病害检测模型进行训练,得到训练后路面病害检测模型;所述训练后路面病害检测模型用于对待检测路面图像进行路面病害检测。
一种路面病害检测装置,所述装置包括:
图像采集模块,用于采集待检测路面图像;
图像检测模块,用于将所述待检测路面图像输入训练后路面病害检测模型,得到所述待检测路面图像中的路面病害;所述训练后路面病害检测模型根据上述任一项实施例中所述的路面病害检测模型训练方法训练得到。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取多个路面图像;
检测所述多个路面图像中的病害图像;所述病害图像为存在病害的路面图像;所述病害图像为多个;
根据所述病害对所述病害图像进行标注,并根据标注内容生成所述病害图像的掩膜图像;
根据所述病害图像和所述病害图像的掩膜图像,得到所述路面病害检测模型的训练数据集;
基于所述训练数据集对所述路面病害检测模型进行训练,得到训练后路面病害检测模型;所述训练后路面病害检测模型用于对待检测路面图像进行路面病害检测。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取多个路面图像;
检测所述多个路面图像中的病害图像;所述病害图像为存在病害的路面图像;所述病害图像为多个;
根据所述病害对所述病害图像进行标注,并根据标注内容生成所述病害图像的掩膜图像;
根据所述病害图像和所述病害图像的掩膜图像,得到所述路面病害检测模型的训练数据集;
基于所述训练数据集对所述路面病害检测模型进行训练,得到训练后路面病害检测模型;所述训练后路面病害检测模型用于对待检测路面图像进行路面病害检测。
上述路面病害检测模型训练方法、装置、计算机设备和存储介质,通过获取多个路面图像,检测多个路面图像中的病害图像,根据病害对病害图像进行标注,并根据标注内容生成病害图像的掩膜图像,根据病害图像和病害图像的掩膜图像得到路面病害检测模型的训练数据集,可以基于多个路面图像来获取训练数据,使得到的训练数据符合实际应用场景,包含路面病害的各种复杂情况和纹理噪声,基于训练数据集对路面病害检测模型进行训练,得到训练后路面病害检测模型,可以使得到的训练后路面病害检测模型具有较强的鲁棒性和泛化能力,准确识别待检测路面图像中的所有路面病害。
附图说明
图1为一个实施例中路面病害检测模型训练方法的流程示意图;
图2为一个实施例中训练数据集生成步骤的流程示意图;
图3为另一个实施例中路面病害检测模型训练方法的流程示意图;
图4为一个实施例中路面病害检测模型调整的流程示意图;
图5为一个实施例中路面病害检测方法的流程示意图;
图6为一个实施例中路面病害检测模型训练装置的结构框图;
图7为一个实施例中路面病害检测装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的路面病害检测模型训练方法,可以应用于终端或服务器。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图1所示,提供了一种路面病害检测模型训练方法,以该方法应用于服务器为例进行说明,包括以下步骤:
步骤S110,获取多个路面图像。
具体实现中,可以通过轻量化的图像采集设备(例如,线阵相机)对道路进行拍摄,将拍摄得到的路面图像发送至服务器,通过在不同的时间和/或地点进行拍摄,可以发送给服务器多个路面图像。
实际应用中,可以采用低成本的轻量级路面信息图像采集设备,在日常巡查过程中快速采集道路图像,其中,轻量级路面信息图像采集设备可以包括轻量级摄像头、GPS和车载设备,可以简单快速地搭载到日常巡检车辆上。具体地,可以使用线阵相机搭建轻量化前端采集子系统硬件平台,其中轻量化前端采集子系统的硬件主要包括线阵相机、镜头、辅助照明、工控机、图像采集卡、旋转编码器和数据采集卡。
在采集路面图像之前,可以对图像采集设备的相关参数进行设置,例如,可以设置相机参数、辅助照明参数、起始路段桩号等信息。当检测车辆以正常速度行驶时,可以通过图像采集设备上的数据采集模块准确地对路面信息进行完整的采集、压缩、传输和存储,其中,保存的路面数据需要与道路的桩号相匹配。具体地,轻量化路面信息采集的主要设计参数如下:
路面病害检测车辆的行驶速度为0-100km/h;
采集图像的分辨率为2048*2000ppi;
检测宽度覆盖车道路面不小于3.75m。
步骤S120,检测多个路面图像中的病害图像;病害图像为存在病害的路面图像;病害图像为多个。
具体实现中,对于多个路面图像中的每一个图像,可以首先对其进行预处理(例如,去噪),然后将预处理后的路面图像分割成多个子区域,例如,可以分割为多个20×20像素大小的子区域,计算出每个子区域的灰度共生矩阵,每个灰度共生矩阵可以看做是一个“像素点”,通过使用SSIM(Structural Similarity,结构相似性)算法计算当前“像素点”与其8邻域的“像素点”的相似度,当相似度值大于相似度阈值threshold(相似度阈值可以通过实验进行调整,这里可以取threshold=0.7)时,则认为该相似度值对应的子区域与其邻域子区域纹理相同,可以将该子区域与其邻域子区域标记为相似子区域,例如,若计算得到当前子区域与其上方邻域子区域之间的相似度大于threshold,则认为当前子区域与其上方邻域子区域纹理相同,将当前子区域和其上方邻域子区域标记为相似子区域。在遍历完整幅路面图像后,统计图像中相似子区域的数量,若相似子区域数量大于或等于预设的数量阈值(例如,若相似子区域数量超过子区域总数的95%,即相似子区域几乎占满整个图像),则可以判定该路面图像是完好的,否则,若相似子区域数量小于预设的数量阈值,则可以判定该路面图像存在病害,为病害图像。
步骤S130,根据病害对病害图像进行标注,并根据标注内容生成病害图像的掩膜图像。
其中,标注内容可以为对病害图像进行标注的结果。
具体实现中,在检测出病害图像后,服务器可以根据图像中的病害对病害图像进行语义分割标注(识别出图像的内容后以颜色进行分割标注),例如,可以对每张病害图像上的所有病害全部按标注标准进行标注,将各个病害区域分别标记为病害a、病害b、病害c、……;还可以对病害图像中存在交叉病害(同一个区域存在至少两个病害)的情况,全部单独进行标记;当病害图像中病害区域的长和宽均小于50像素时,可以无需标记,若病害区域的长和宽均不小于50像素,则进行标记;当相同类型的病害距离间隔不超过20像素时,可以标记为一个整体病害。可以使用Labelme,VIA(VGG Image Annotator,VGG图像注释器)等软件进行标注,标注格式可以为Cityscapes Dataset(城市景观数据集)样式,标记结果可以为每张图的.json文件(一种轻量级的数据交换格式)。
在对病害图像进行标注后,可以根据标注结果对病害图像进行掩膜处理,例如,可以根据标注内容,对病害图像中的病害a进行掩膜处理,得到病害a对应的病害区域,作为掩膜图像A。实际应用中,还可以编写Python脚本,将标注生成的.json文件转化为掩膜图像,作为路面病害检测模型训练的标签文件。
步骤S140,根据病害图像和病害图像的掩膜图像,得到路面病害检测模型的训练数据集。
具体实现中,可以将病害图像及其对应的掩膜图像存入路面病害语义分割数据集,通过在路面病害语义分割数据集中存入多个病害图像和相应的掩膜图像,可以得到路面病害检测模型的训练数据集。
实际应用中,路面病害检测模型可以采用DeepLabv3+(语义分割模型),该模型为了融合多尺度信息,引入语义分割常用的encoder-decoder(编码器-译码器)。在encoder-decoder架构中,引入可任意控制编码器提取特征的分辨率,通过空洞卷积平衡精度和耗时。同时加入Xception模型,在ASPP(Atrous Spatial Pyramid Pooling,萎缩空间金字塔池)和解码模块使用depthwise separable convolution(深度可分卷积),提高了encoder-decoder的运行速率和健壮性。
步骤S150,基于训练数据集对路面病害检测模型进行训练,得到训练后路面病害检测模型;训练后路面病害检测模型用于对待检测路面图像进行路面病害检测。
具体实现中,可以使用包含病害图像和掩膜图像的训练数据集,对路面病害检测模型进行训练,直至路面病害检测模型的参数符合预设的收敛条件(例如,相邻两次训练得到的模型参数之间的差值小于预设阈值),得到训练后路面病害检测模型。通过将待检测路面图像输入训练后路面病害检测模型,可以检测待检测路面图像中的病害。
图2提供了一个训练数据集生成步骤的流程示意图。根据图2,服务器可以在采集路面图像数据后,检测路面图像中是否有病害,若无病害则不进行处理,若有病害则使用Labelme进行语义分割标注,并将标注文件转化为掩膜图像,生成路面病害语义分割数据集。
上述路面病害检测模型训练方法,通过获取多个路面图像,检测多个路面图像中的病害图像,根据病害对病害图像进行标注,并根据标注内容生成病害图像的掩膜图像,根据病害图像和病害图像的掩膜图像得到路面病害检测模型的训练数据集,可以基于多个路面图像来获取训练数据,使得到的训练数据符合实际应用场景,包含路面病害的各种复杂情况和纹理噪声,基于训练数据集对路面病害检测模型进行训练,得到训练后路面病害检测模型,可以使得到的训练后路面病害检测模型具有较强的鲁棒性和泛化能力,准确识别待检测路面图像中的所有路面病害。
在一个实施例中,上述步骤S120,可以具体包括:将路面图像分割为多个子区域;统计每一个子区域与其邻域子区域之间的相似度;当相似度超过预设的相似度阈值时,判定相似度对应的子区域及其邻域子区域为相似子区域;统计路面图像中相似子区域的数量;当数量小于预设的数量阈值时,判定路面图像为病害图像。
其中,邻域子区域可以为每一个子区域的8邻域子区域。
具体实现中,对于多个路面图像中的每一个图像,服务器可以在进行预处理后分割成多个子区域,例如,可以分割为多个20×20像素大小的子区域,计算出每个子区域的灰度共生矩阵,每个灰度共生矩阵可以看做是一个“像素点”,通过使用SSIM算法计算当前“像素点”与其8邻域的“像素点”的相似度,当相似度值大于相似度阈值threshold时,可以认为该相似度对应的子区域与其邻域子区域纹理相同,可以将该子区域与其邻域子区域标记为相似子区域,例如,若计算得到当前子区域与其上方邻域子区域之间的相似度大于threshold,则认为当前子区域与其上方邻域子区域纹理相同,将当前子区域和其上方邻域子区域标记为相似子区域。在遍历完整幅路面图像后,统计图像中相似子区域的数量,若相似子区域数量大于或等于预设的数量阈值,则可以判定该路面图像是完好的,否则,若相似子区域数量小于预设的数量阈值,则可以判定该路面图像存在病害,为病害图像。
本实施例中,通过将路面图像分割为多个子区域,统计每一个子区域与其邻域子区域之间的相似度,当相似度超过预设的相似度阈值时判定相似度对应的子区域及其邻域子区域为相似子区域,统计路面图像中相似子区域的数量,当数量小于预设的数量阈值时判定路面图像为病害图像,可以快速检测路面图像是否为病害图像,提高路面病害检测模型的训练效率。
在一个实施例中,上述步骤S130,可以具体包括:识别病害图像中的病害区域和病害区域的病害类型;当病害区域的长度不小于预设的长度阈值、或宽度不小于预设的宽度阈值时,对病害区域进行标注;当相邻两个病害区域的病害类型相同、且间隔不超过预设的间隔阈值时,将相邻两个病害区域标注为整体病害。
其中,病害区域可以为病害图像中存在病害的区域。
具体实现中,服务器在检测出路面图像为病害图像后,可以通过机器学习等方法识别病害图像中的病害区域,以及该病害区域中病害的类型。若病害区域的长度小于预设的长度阈值、且宽度小于预设的宽度阈值,则可以不对病害区域进行标注,若病害区域的长度不小于预设的长度阈值、或宽度不小于预设的宽度阈值,则可以对病害区域进行标注,例如,若病害区域的长和宽均小于50像素,则无需标注,若长不小于50像素、或宽不小于50像素,则可以将其标注为病害a。当识别到相邻两个病害区域的病害类型相同时,可以进一步计算该相邻两个病害区域之间的间隔,若间隔不超过预设的间隔阈值,则可以将他们标注为整体病害,例如,若病害区域1的病害类型为裂缝,病害区域2的病害类型也为裂缝,计算病害区域1和病害区域2之间的距离为0.1米,不超过预设的间隔阈值0.5米,则可以将病害区域1和病害区域2标注为一个裂缝病害。
本实施例中,通过识别病害图像中的病害区域和病害区域的病害类型,当病害区域的长度不小于预设的长度阈值、或宽度不小于预设的宽度阈值时对病害区域进行标注,当相邻两个病害区域的病害类型相同、且间隔不超过预设的间隔阈值时将相邻两个病害区域标注为整体病害,可以通过计算机自动标注来提高病害标注的效率,而且,根据病害区域的大小和距离进行标注,可以提高病害标注的准确性。
在一个实施例中,上述路面病害检测模型训练方法,具体还可以包括:获取路面图像对应的路面类型;路面类型包括水泥路面和沥青路面;根据路面类型,得到路面病害检测模型的训练数据集;训练数据集包括水泥路面数据集和沥青路面数据集;通过对水泥路面数据集进行训练得到训练后水泥病害检测模型,以及,通过对沥青路面数据集进行训练得到训练后沥青病害检测模型。
具体实现中,服务器可以通过机器学习等方法来识别路面图像中的路面类型,路面类型可以包括水泥路面和沥青路面。若路面类型为水泥路面,则可以通过检测路面图像中的病害图像,对病害图像进行标注,根据标注内容生成掩膜图像,根据病害图像和掩膜图像生成水泥路面数据集,通过对水泥路面数据集进行训练得到训练后水泥病害检测模型;若路面类型为沥青路面,则可以通过检测路面图像中的病害图像,对病害图像进行标注,根据标注内容生成掩膜图像,根据病害图像和掩膜图像生成水泥路面数据集,通过对沥青路面数据集进行训练得到训练后沥青病害检测模型。在路面病害检测时,可以首先识别路面图像的路面类型,若识别到为水泥路面,则可以输入训练后水泥病害检测模型,进行水泥路面的病害检测,若识别到为沥青路面,则可以输入训练后沥青病害检测模型,进行沥青路面的病害检测。
图3提供了一个路面病害检测模型训练方法的流程示意图。根据图3,路面病害检测模型训练方法可以包括以下步骤:
1、通过解析.json标签文件对路面病害语义分割数据集进行分类,分为水泥路面病害数据集和沥青路面病害数据集;
2、使用deeplabv3+分别对水泥路面病害数据集和沥青路面病害数据集进行训练,生成水泥病害检测模型和沥青病害检测模型;
3、将水泥病害检测模型和沥青病害检测模型部署到AI(ArtificialIntelligence,人工智能)服务器上。
本实施例中,通过获取路面图像对应的路面类型,根据路面类型,得到路面病害检测模型的训练数据集,通过对水泥路面数据集进行训练得到训练后水泥病害检测模型,以及,通过对沥青路面数据集进行训练得到训练后沥青病害检测模型,可以对路面图像进行分类检测,提高路面病害检测的效率,而且,由于分类检测的病害检测模型具有针对性,还可以提高路面病害检测的准确率。
在一个实施例中,上述路面病害检测模型训练方法,具体还可以包括:将多个待检测路面图像分别输入训练后路面病害检测模型,得到每一个待检测路面图像的路面病害检测结果;识别路面病害检测结果中的错误结果,获取错误结果对应的校正后掩膜图像,并统计校正后掩膜图像的数量;当数量超过预设的图像数量阈值时,将错误结果对应的校正后掩膜图像添加到训练数据集,得到更新后训练数据集;基于更新后训练数据集对训练后路面病害检测模型进行训练,得到调整后路面病害检测模型。
具体实现中,可以采集多个待检测路面图像,将多个待检测路面图像依次输入训练后路面病害检测模型,得到每一个待检测路面图像的路面病害检测结果,服务器可以通过机器学习等方法来识别路面病害检测结果中是否存在错误,若存在错误,则可以通过人工方法对错误进行校正,生成正确的掩膜图像,即校正后掩膜图像,并将校正后掩膜图像添加在一个校正图像集中,同时统计校正图像集中校正后掩膜图像的数量,当校正后掩膜图像的数量超过预设的图像数量阈值时,可以将校正图像集中的所有校正后掩膜图像添加到训练数据集中,得到更新后训练数据集,使用更新后训练数据集对训练后路面病害检测模型进行训练,得到调整后路面病害检测模型,之后可以使用调整后路面病害检测模型进行路面病害检测。
图4提供了一个路面病害检测模型调整方法的流程示意图。根据图4,路面病害检测模型调整方法包括以下步骤:
1、前端图像采集设备获取路面图像后上传到AI服务器数据库,前端WEB应用显示待检测的路面;
2、根据不同的路面类型,调用水泥检测模型或沥青检测模型;
3、对检测结果进行优化,如去掉较小的离散区域,连通同一个病害,图像光照均衡化等;
4、输出优化后的检测结果并进行可视化;
5、判断检测结果是否正确;
6、在线修改不正确的检测结果,生成正确的掩膜标签图像;
7、将正确的掩膜标签图像添加到路面病害训练数据集,保存在新的路面语义分割数据集中;
8、当新的路面语义分割数据集(水泥掩膜图像或沥青掩膜图像)数目超过200条时,微调训练相应路面检测模型;
9、更新路面检测模型,将其部署到AI服务器。
本实施例中,通过将多个待检测路面图像分别输入训练后路面病害检测模型得到每一个待检测路面图像的路面病害检测结果,识别路面病害检测结果中的错误结果,获取错误结果对应的校正后掩膜图像,并统计校正后掩膜图像的数量,当数量超过预设的图像数量阈值时将错误结果对应的校正后掩膜图像添加到训练数据集,得到更新后训练数据集,基于更新后训练数据集对训练后路面病害检测模型进行训练得到调整后路面病害检测模型,可以根据路面病害检测结果对路面病害检测模型进行调整,使路面病害检测模型能够不断适应环境的变化,提高路面病害检测模型的鲁棒性和泛化能力,进一步准确识别所有路面病害。
在一个实施例中,如图5所示,提供了一种路面病害检测方法,以该方法应用于服务器为例进行说明,包括以下步骤:
步骤S510,采集待检测路面图像。
具体实现中,可以通过轻量化的图像采集设备(例如,线阵相机)对道路进行拍摄,将拍摄得到的路面图像发送至服务器,作为待检测路面图像。
步骤S520,将待检测路面图像输入训练后路面病害检测模型,得到待检测路面图像中的路面病害;训练后路面病害检测模型根据权利要求1至7任一的路面病害检测模型训练方法训练得到。
具体实现中,可以将待检测路面图像输入训练后路面病害检测模型,通过训练后路面病害检测模型对待检测路面图像进行识别,检测待检测路面图像中的路面病害,包括检测待检测路面图像中是否存在病害,以及当存在病害时的病害大小、病害类型等。其中,训练后路面病害检测模型可以根据前述实施例中的路面病害检测模型训练方法训练得到。
本实施例中,通过采集待检测路面图像,将待检测路面图像输入训练后路面病害检测模型,得到待检测路面图像中的路面病害,可以利用具有较强鲁棒性和泛化能力的训练后路面病害检测模型对待检测路面图像进行病害检测,准确识别所有路面病害。
为了便于本领域技术人员深入理解本申请实施例,以下将结合一个具体示例进行说明。
为了进行路面病害检测,可以开发一套轻量化的路面病害智能识别系统,该系统通过低成本的轻量级路面信息图像采集设备(轻量级摄像头、GPS、车载设备,可以简单快速搭载到日常巡检车辆上),可以在日常巡查过程中快速的采集道路图像。
路面病害智能识别系统可以采用基于深度学习的图像识别技术,以及云平台技术,优势在于可以从大量的数据中自动提取特征,而不用通过人为设计的特征模型来对图像进行特征提取,而且,训练深度学习模型的样本越多,标记的越准确细致,该模型的鲁棒性和泛化能力就越强,同时,深度学习模型是一种可端对端进行训练的数学模型,可实时对路面信息及病害情况进行检测分析。
路面病害智能识别系统可以由三个模块组成实现,分别是轻量化采集和数据标注模块、AI服务器训练和部署检测模型模块、前端WEB应用调用检测模型和在线修改模块。
其中,轻量化采集和数据标注模块针对路面病害检测工程实践中遇到的实际问题,使用线阵相机搭建轻量化前端采集子系统硬件平台,轻量化前端采集子系统的硬件主要包括线阵相机、镜头、辅助照明、工控机、图像采集卡、旋转编码器、数据采集卡,可以实现
(1)进行相关参数设置:在检测路面病害之前对路面病害识别系统的相关参数进行设置,如相机参数、辅助照明参数、起始路段桩号信息等;
(2)数据采集功能:当检测车辆以正常速度行驶时,路面病害智能识别系统的数据采集模块能够准确的将路面信息完整的采集、压缩、传输和存储,且保存的路面数据需要与道路的桩号相匹配;
(3)数据标注:每张图像上的所有病害必须全部按标注标准标注出来;图像中交叉病害的情况,需要全部单独标记出来;当图像病害区域的长和宽均小于50像素时,无需标记;相同类型的病害距离间隔不超过20像素,标记为一个整体病害。标注工具不限,可以为Labelme或VIA。标注格式为Cityscapes Dataset样式,标记结果应该包括每张图的.json文件和mask(掩膜)图像。
其中,AI服务器训练和部署检测模型模块中,AI服务器基于kubernetes上的kubeflow机器学习平台模块,kubeflow基于kubernetes构建一整套统一的机器学习平台,覆盖最主要的机器学习流程(数据导入、特征提取、模型搭建、服务部署和资源监控),同时综合考虑实验探索情境和正式生产环境,最大限度发挥实效性。路面病害检测算法采用DeepLabv3+语义分割模型,该模型为了融合多尺度信息,引入语义分割常用的encoder-decoder,在encoder-decoder架构中,引入可任意控制编码器提取特征的分辨率,通过空洞卷积平衡精度和耗时,同时加入Xception模型,在ASPP和解码模块使用depthwiseseparable convolution,提高encoder-decoder的运行速率和健壮性。
其中,前端WEB应用调用检测模型和在线修改模块中,前端应用开发采用React框架和material UI库,为用户提供简单易用的交互界面,并嵌入Minio高性能对象存储服务,以保证用户文件安全可靠。前端WEB应用主要实现路面病害检测功能和在线修改检测结果功能。
目前的路面病害检测车主要是以雷达和激光等传感器为主、视频摄像头为辅的方式来采集路面数据,后台离线处理传感器信息的数据整合到路面图像信息上的方式来实现,该方法对运行环境要求很高,无法有效应用于日常巡查,并且用户需要购买整台汽车及大量的传感器设备,成本高昂。相比于路面病害检测车,本申请通过摄像头采集数据,并在云端通过智能识别系统进行处理的形式,可以让用户直接将设备安装到日常巡检车上,简单方便地对整体路面进行识别及基于时间轴监测病害变化情况,为预养护提供有利的数据依据,可以实现以下技术效果:
(1)经济绿色:轻量化路面病害智能识别系统比常规的人工巡检效率高10倍以上,极大降低了人工成本;本系统无需依赖费用巨大的检测车,可以挂载摄像头在更加绿色环保的车上使用,使公路养护更绿色化。
(2)便捷智能:便捷式采集装置可以在车辆上快速搭载,使检测路面病害更加便捷;使用基于kubernetes的AI平台,能更加智能地设计和运行路面检测算法,同时对系统的更新和维护也更加智能化。
(3)快速准确全面:采用改进的基于深度学习语义分割deeplabV3+算法,结合数字图像处理方法,可以使路面病害识别更加快速、准确和全面。每张图片平均识别时间不超过1秒,总体准确率达93%以上,可以识别公路路面常见的横向裂缝、纵向裂缝、块状裂缝、龟裂、松散、坑槽和修补等病害类型,覆盖病害所有类型的86.14%。
应该理解的是,虽然图1-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种路面病害检测模型训练装置600,包括:获取模块610、检测模块620、标注模块630、训练数据集生成模块640和模型训练模块650,其中:
获取模块610,用于获取多个路面图像;
检测模块620,用于检测所述多个路面图像中的病害图像;所述病害图像为存在病害的路面图像;所述病害图像为多个;
标注模块630,用于根据所述病害对所述病害图像进行标注,并根据标注内容生成所述病害图像的掩膜图像;
训练数据集生成模块640,用于根据所述病害图像和所述病害图像的掩膜图像,得到所述路面病害检测模型的训练数据集;
模型训练模块650,用于基于所述训练数据集对所述路面病害检测模型进行训练,得到训练后路面病害检测模型;所述训练后路面病害检测模型用于对待检测路面图像进行路面病害检测。
在一个实施例中,上述检测模块620,还用于将所述路面图像分割为多个子区域;统计每一个所述子区域与其邻域子区域之间的相似度;当所述相似度超过预设的相似度阈值时,判定所述相似度对应的子区域及其邻域子区域为相似子区域;统计所述路面图像中相似子区域的数量;当所述数量小于预设的数量阈值时,判定所述路面图像为病害图像。
在一个实施例中,上述标注模块630,还用于识别所述病害图像中的病害区域和所述病害区域的病害类型;当所述病害区域的长度不小于预设的长度阈值、或宽度不小于预设的宽度阈值时,对所述病害区域进行标注;当相邻两个病害区域的病害类型相同、且间隔不超过预设的间隔阈值时,将所述相邻两个病害区域标注为整体病害。
在一个实施例中,上述路面病害检测模型训练装置600,还包括:
路面类型获取模块,用于获取所述路面图像对应的路面类型;所述路面类型包括水泥路面和沥青路面;
路面数据集生成模块,用于根据所述路面类型,得到所述路面病害检测模型的训练数据集;所述训练数据集包括水泥路面数据集和沥青路面数据集;
路面模型训练模块,用于通过对所述水泥路面数据集进行训练得到训练后水泥病害检测模型,以及,通过对所述沥青路面数据集进行训练得到训练后沥青病害检测模型。
在一个实施例中,上述路面病害检测模型训练装置600,还包括:
待检测图像检测模块,用于将多个所述待检测路面图像分别输入所述训练后路面病害检测模型,得到每一个所述待检测路面图像的路面病害检测结果;
错误识别模块,用于识别所述路面病害检测结果中的错误结果,获取所述错误结果对应的校正后掩膜图像,并统计所述校正后掩膜图像的数量;
图像添加模块,用于当所述数量超过预设的图像数量阈值时,将所述错误结果对应的校正后掩膜图像添加到所述训练数据集,得到更新后训练数据集;
模型调整模块,用于基于所述更新后训练数据集对所述训练后路面病害检测模型进行训练,得到调整后路面病害检测模型。
在一个实施例中,如图7所示,提供了一种路面病害检测装置700,包括:图像采集模块710和图像检测模块720,其中:
图像采集模块710,用于采集待检测路面图像;
图像检测模块720,用于将所述待检测路面图像输入训练后路面病害检测模型,得到所述待检测路面图像中的路面病害;所述训练后路面病害检测模型根据上述任一项实施例中所述的路面病害检测模型训练方法训练得到。
关于路面病害检测模型训练装置和路面病害检测装置的具体限定可以参见上文中对于路面病害检测模型训练方法和路面病害检测方法的限定,在此不再赘述。上述路面病害检测模型训练装置和路面病害检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储路面病害检测模型训练数据和路面病害检测数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种路面病害检测模型训练方法和一种路面病害检测方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述一种路面病害检测模型训练方法和一种路面病害检测方法的步骤。此处一种路面病害检测模型训练方法的步骤可以是上述各个实施例的一种路面病害检测模型训练方法中的步骤,一种路面病害检测方法的步骤可以是上述各个实施例的一种路面病害检测方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述一种路面病害检测模型训练方法和一种路面病害检测方法的步骤。此处一种路面病害检测模型训练方法的步骤可以是上述各个实施例的一种路面病害检测模型训练方法中的步骤,一种路面病害检测方法的步骤可以是上述各个实施例的一种路面病害检测方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
- 路面病害检测模型训练方法、装置和计算机设备
- 路面病害检测方法、装置、电子设备和计算机可读介质