建筑裂缝检测方法、装置、计算机设备和存储介质与流程

文档序号:18512364发布日期:2019-08-24 09:12阅读:211来源:国知局
建筑裂缝检测方法、装置、计算机设备和存储介质与流程

本申请涉及检测技术领域,特别是涉及一种建筑裂缝检测方法、装置、计算机设备和存储介质。



背景技术:

随着检测技术的发展,越来越多的工业生产领域开始注重质量检测。桥梁、堤坝、房屋等建筑与人息息相关,当这些建筑使用年限过长,或建造质量不佳时可能会出现建筑裂缝,给人们的安全留下严重隐患,因此对建筑裂缝的检测尤为重要。

然而,传统的建筑裂缝检测方案是拍摄目标建筑物的建筑图像,对建筑图像进行各种基于视觉技术的处理,当目标建筑物所在的环境情况复杂时,检测目标建筑物是否存在裂缝的准确度较低。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高检测准确度的建筑裂缝检测方法、装置、计算机设备和存储介质。

一种建筑裂缝检测方法,所述方法包括:

获取目标建筑物的建筑图像;

将所述建筑图像输入机器学习模型进行检测,得到裂缝特征图像;

对所述裂缝特征图像进行二值化处理,获得二值化裂缝特征图像;

从所述二值化裂缝特征图像中提取裂缝连通域;

通过所述裂缝连通域确定所述目标建筑物是否存在裂缝。

一种建筑裂缝检测装置,所述装置包括:

图像获取模块,用于获取目标建筑物的建筑图像;

图像检测模块,用于将所述建筑图像输入机器学习模型进行检测,得到裂缝特征图像;

图像处理模块,用于对所述裂缝特征图像进行二值化处理,获得二值化裂缝特征图像;

连通域提取模块,用于从所述二值化裂缝特征图像中提取裂缝连通域;

裂缝确定模块,用于通过所述裂缝连通域确定所述目标建筑物是否存在裂缝。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取目标建筑物的建筑图像;

将所述建筑图像输入机器学习模型进行检测,得到裂缝特征图像;

对所述裂缝特征图像进行二值化处理,获得二值化裂缝特征图像;

从所述二值化裂缝特征图像中提取裂缝连通域;

通过所述裂缝连通域确定所述目标建筑物是否存在裂缝。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取目标建筑物的建筑图像;

将所述建筑图像输入机器学习模型进行检测,得到裂缝特征图像;

对所述裂缝特征图像进行二值化处理,获得二值化裂缝特征图像;

从所述二值化裂缝特征图像中提取裂缝连通域;

通过所述裂缝连通域确定所述目标建筑物是否存在裂缝。

上述建筑裂缝检测方法、装置、计算机设备和存储介质,获取目标建筑物的建筑图像后,将建筑图像输入机器学习模型,通过机器学习模型对建筑图像中的裂缝特征进行第一次检测,得到裂缝特征图像;再对裂缝特征图像进行二值化处理,得到二值化裂缝特征图像,从二值化裂缝特征图像中提取裂缝连通域;通过裂缝连通域进行第二次检测,确定目标建筑物是否存在裂缝,在检测过程中结合机器学习模型和连通域进行两次检测以减少错误检测,提高了检测准确度。

附图说明

图1为一个实施例中建筑裂缝检测方法的应用环境图;

图2为一个实施例中建筑裂缝检测方法的流程示意图;

图3为一个实施例中提取裂缝连通域的步骤的流程示意图;

图4为一个实施例中通过种子填充确定裂缝连通域的步骤的流程示意图;

图5为一个实施例中通过裂缝连通域确定是否存在裂缝的步骤的流程示意图;

图6为一个实施例中通过面积确定是否存在裂缝的步骤的流程示意图;

图7为一个实施例中训练机器学习模型的步骤的流程示意图;

图8为一个实施例中构建多组建筑图像样本的步骤的流程示意图;

图9为一个实施例中服务器构建的多组建筑图像样本的示意图;

图10为一个实施例中建筑裂缝检测的示意图;

图11为一个实施例中建筑裂缝检测装置的结构框图;

图12为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的建筑裂缝检测方法,可以应用于如图1所示的应用环境中。其中,终端102可以通过网络与服务器104进行通信,还可以通过串口进行通信。其中,终端102可以但不限于是各种相机、摄像机、搭载有摄像头的无人机,还可以是各种具有图像采集装置的工业计算机、个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备;服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种建筑裂缝检测方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

步骤202,获取目标建筑物的建筑图像。

其中,目标建筑物可以是被检测的建筑物。建筑图像可以是拍摄目标建筑物得到的图像。

具体地,终端对目标建筑物需要被检测的部位进行拍照,获得建筑图像。终端可以通过网络将采集到的建筑图像发送至服务器。服务器接收终端发送的建筑图像。

在一个实施例中,目标建筑物可以是各种类型的建筑物,比如桥梁、堤坝和房屋等。检测人员通过人工或操纵搭载摄像头的无人机采集目标建筑物表面(包括外表面和内表面)的图像得到建筑图像。

步骤204,将建筑图像输入机器学习模型进行检测,得到裂缝特征图像。

其中,裂缝特征图像可以是通过机器学习模型检测到的包含裂缝特征的建筑图像。

具体地,服务器中存在训练好的机器学习模型。服务器将获取到的建筑图像输入机器学习模型,通过机器学习模型对建筑图像进行处理。机器学习模型检测到建筑图像中的裂缝特征时,对裂缝特征进行标记,得到裂缝特征图像。检测完毕后,机器学习模型输出裂缝特征图像。

在一个实施例中,机器学习模型可以是卷积神经网络(convolutionalneuralnetworks,cnn)。

步骤206,对裂缝特征图像进行二值化处理,获得二值化裂缝特征图像。

其中,二值化裂缝特征图像可以是对裂缝特征图像进行二值化处理得到的图像。

具体地,服务器得到机器学习模型输出的裂缝特征图像后,对裂缝特征图像进行二值化处理,得到二值化裂缝特征图像。二值化裂缝特征图像呈现只有黑色和白色的效果,其中白色部分可以是检测到的裂缝特征,黑色部分可以是背景。

在一个实施例中,服务器进行二值化处理时,可以采用大津算法、kittler最小错误分类法、灰度平均值法和基于双峰平均值的阈值法中的任意一种。

步骤208,从二值化裂缝特征图像中提取裂缝连通域。

其中,裂缝连通域可以是由表征裂缝特征的像素构成的连通域。

具体地,为了避免图像噪声导致产生的误判,服务器需要对机器学习模型检测到的裂缝特征进行第二次处理。服务器进行第二次处理时,根据二值化裂缝特征图像中表征裂缝特征的像素提取裂缝连通域。

步骤210,通过裂缝连通域确定目标建筑物是否存在裂缝。

具体地,当机器学习模型检测到的裂缝特征来自目标建筑物中的裂缝时,裂缝特征对应的裂缝连通域满足连通域判断条件。服务器提取到裂缝连通域后,根据连通域判断条件对提取到的裂缝连通域进行判断,当裂缝连通域满足连通域判断条件时,服务器确定目标建筑物中存在裂缝。

本实施例中,获取目标建筑物的建筑图像后,将建筑图像输入机器学习模型,通过机器学习模型对建筑图像中的裂缝特征进行第一次检测,得到裂缝特征图像;再对裂缝特征图像进行二值化处理,得到二值化裂缝特征图像,从二值化裂缝特征图像中提取裂缝连通域;通过裂缝连通域进行第二次检测,确定目标建筑物是否存在裂缝,在检测过程中结合机器学习模型和连通域进行两次检测以减少错误检测,提高了检测准确度。

如图3所示,在一个实施例中,步骤208具体还包括提取裂缝连通域的步骤,该步骤具体包括如下步骤:

步骤302,对二值化裂缝特征图像进行形态学处理。

具体地,服务器从二值化裂缝特征图像中提取裂缝连通域之前,首先对二值化裂缝特征图像进行形态学处理。服务器可以先对二值化裂缝特征图像进行膨胀操作,再进行腐蚀操作,以去除二值化裂缝特征图像中杂散的点状噪声。

步骤304,遍历经过形态学处理后的二值化裂缝特征图像中的各像素。

具体地,服务器完成形态学处理后,遍历形态学处理后的二值化裂缝特征图像中的各个像素。服务器可以对形态学处理后的二值化裂缝特征图像建立图像坐标系,从原点开始遍历各个像素。

步骤306,当遍历到的像素符合预设裂缝条件时,根据符合预设裂缝条件的像素确定裂缝连通域。

其中,预设裂缝条件可以是像素表征裂缝特征时所满足的条件。

具体地,服务器根据预设裂缝条件判断遍历到的像素是否表征裂缝特征,具体可以是判断遍历到的像素的像素值是否满足预设裂缝条件。当二值化裂缝特征图像中白色部分(像素值为1)为裂缝特征、黑色部分(像素值为0)为背景时,预设裂缝条件可以是像素值为1。当遍历到的像素的像素值为1时,该像素表征裂缝特征。

当遍历到的像素符合预设裂缝条件时,服务器根据该像素进行种子填充,种子填充完毕后,得到裂缝连通域。

在一个实施例中,服务器可以从形态学处理后的二值化裂缝特征图像中提取到一个裂缝连通域,也可以提取到多个裂缝连通域。

本实施例中,先对二值化裂缝特征图像进行形态学处理以较少噪声的影响,提高了图像处理的准确性。遍历形态学处理后的二值化裂缝特征图像中的各像素,根据符合预设裂缝条件的像素确定裂缝连通域,避免了遗漏提取裂缝连通域。

如图4所示,在一个实施例中,步骤306具体还包括通过种子填充确定裂缝连通域的步骤,该步骤具体包括如下步骤:

步骤402,将符合预设裂缝条件的像素作为种子像素,并将种子像素的坐标进行入栈。

其中,种子像素可以是进行种子填充所需的初始像素;种子填充可以是从种子像素开始,查找更多符合预设裂缝条件的像素的过程。

具体地,当遍历到的像素符合预设裂缝条件时,服务器将该像素标记为种子像素,获取种子像素的坐标并将种子像素的坐标进行入栈。

栈(stack)又叫堆栈,是一种运算受限的线性表。栈仅允许在表的一端进行插入和弹出,这一端即为栈顶,另一端即为栈底。

步骤404,将种子像素的邻域内符合预设裂缝条件的像素作为可填充像素,并将可填充像素的坐标进行入栈。

其中,可填充像素是可以作为种子像素进行种子填充的像素。

具体地,服务器在种子像素的邻域内,查找同样符合预设裂缝条件的像素,将查找到的符合预设裂缝条件的像素作为可填充像素。服务器查找时的邻域可以是四邻域和八邻域中的任意一种。服务器获取可填充像素的坐标,并将坐标压入栈内。

步骤406,弹出位于栈顶的坐标。

具体地,服务器向一个栈插入新坐标时,是将新坐标放到栈顶坐标的上面,使之成为新的栈顶坐标;从栈中弹出坐标,是把栈顶坐标删除掉,使其相邻的坐标成为新的栈顶坐标。服务器将可填充像素的坐标入栈后,弹出位于栈顶的坐标。

步骤408,将弹出的坐标所对应的像素作为种子像素继续查找可填充像素,直至栈内为空。

具体地,服务器将弹出的坐标所对应的像素作为新的种子像素,在新的种子像素的邻域内查找可填充像素,并将查找到的可填充像素的坐标入栈。服务器不断弹出栈顶的坐标并查找可填充像素,当无法再查找到可填充像素时,栈内的坐标数量随着栈顶坐标的不断弹出逐渐减少,当栈内为空即栈内不存在坐标时,种子填充结束。

步骤410,将弹出的各坐标所对应的像素区域确定为裂缝连通域。

其中,像素区域可以是栈内弹出的坐标所对应的图像区域。

具体地,从栈内弹出的所有坐标所对应的像素组成像素区域,服务器将该像素区域确定为裂缝连通域。

在一个实施例中,服务器将遍历到的符合预设裂缝条件的像素作为种子像素,并将种子像素的坐标入栈时,给坐标添加标签(label);服务器根据种子像素进行种子填充时,将全部入栈的坐标均添加相同的标签。在一次种子填充结束后,服务器将具有相同标签的坐标所对应的像素区域确定为裂缝连通域。服务器遍历像素时,若遍历到的像素已经存在标签,则不再对像素进行处理,以避免重复提取连通域。

本实施例中,将符合预设裂缝条件的像素的坐标进行入栈,逐一弹出栈顶坐标并继续查找符合预设裂缝条件的像素,借助栈这一运算受限的线性表,可以不遗漏地查找到全部符合预设裂缝条件的像素,并根据查找到的像素确定裂缝连通域,提高了提取裂缝连通域的准确性。

如图5所示,在一个实施例中,步骤210具体还包括通过裂缝连通域确定是否存在裂缝的步骤,该步骤具体包括如下步骤:

步骤502,统计裂缝连通域中像素的数量值。

具体地,服务器从二值化裂缝特征图像中提取到裂缝连通域后,统计提取到的裂缝连通域中像素的数量,得到裂缝连通域中像素的数量值。

步骤504,当数量值大于预设数量值时,确定裂缝连通域的外接矩形。

其中,预设数量值可以是预先设定的数量值。外接矩形可以是外接于裂缝连通域的矩形。

具体地,服务器获取存储的预设数量值,预设数量值用于对裂缝连通域进行判断,以去除二值化裂缝特征图像中面积较小的点状、斑状噪声的影响。当裂缝连通域中像素的数量值小于或等于预设数量值时,确定此裂缝连通域为背景。当裂缝连通域中像素的数量值大于预设数量值时,在二值化裂缝特征图像中确定裂缝连通域的外接矩形。

在一个实施例中,当数量值大于预设数量值时,服务器确定裂缝连通域的最小外接矩形(minimumboundingrectangle,mbr)。

步骤506,计算外接矩形的矩形面积和长宽比。

其中,长宽比可以是外接矩形的长度与宽度的比值。

具体地,服务器确定裂缝连通域的外接矩形后,将较长的边作为外接矩形的长度,将较短的边作为外接矩形的宽度,并计算长度与宽度的比值,得到长宽比。

步骤508,当长宽比大于或等于第一预设比值时,确定目标建筑物存在裂缝。

其中,第一预设比值可以是预设的长度与宽度的比值,用于判断目标建筑物是否存在裂缝。

具体地,服务器获取存储的第一预设比值,并将长宽比与第一预设比值做比较。外接矩形的形状与裂缝连通域相关,当长宽比大于或等于第一预设预设比值时,表征外接矩形较为狭长,服务器确定裂缝连通域来自目标建筑物中的裂缝,即目标建筑物中存在裂缝。

本实施例中,先根据裂缝连通域中像素的数量值进行判断以去除部分噪声的影响,确保检测的准确性。外接矩形的形状与裂缝连通域相关,通过比较外接矩形的长宽比和第一预设比值的大小,实现从形状上确定目标建筑物是否存在裂缝,提高了裂缝检测的准确性。

如图6所示,在一个实施例中,步骤210还包括通过面积确定是否存在裂缝的步骤,该步骤具体包括如下步骤:

步骤602,当长宽比小于第一预设比值时,计算矩形面积与数量值之间的比值。

其中,矩形面积可以是外接矩形的面积。

具体地,当外接矩形的长宽比小于第一预设比值时,需要进行进一步的判断。服务器计算外接矩形的面积,裂缝连通域中像素的像素值可以作为裂缝连通域的面积,服务器计算矩形面积与数量值的比值。

步骤604,当比值大于第二预设比值时,确定目标建筑物存在裂缝。

其中,第二预设比值可以是预设的矩形面积与数量值之间的比值。

具体地,长宽比小于第一外接矩形的裂缝连通域可能来自面积较大的团状噪声。当矩形面积与数量值的比值大于第二预设比值时,服务器排除团状噪声的影响,确定目标建筑物中存在裂缝;当矩形面积与数量值的比值小于第二预设比值时,确定此裂缝连通域为背景。

本实施例中,长宽比小于预设比值的裂缝连通域可能来自噪声,根据矩形面积与数量值的比值进行再次判断,当比值大于第二预设比值时,确定目标建筑物存在裂缝,消除了噪声的影响,提高了裂缝检测的准确性。

如图7所示,在一个实施例中,建筑裂缝检测方法还包括训练机器学习模型的步骤,该步骤具体包括如下步骤:

步骤702,获取关于建筑物的建筑图像样本和对应的标签。

其中,建筑图像样本可以是用于训练机器学习模型的建筑物的图像。标签可以是对建筑图像样本中的裂缝特征添加的标注。

具体地,终端采集大量关于建筑物的建筑图像样本,建筑图像样本中可以包括裂缝特征,也可以不包括裂缝特征。检测人员对裂缝特征进行标注得到与建筑图像样本对应的标签。终端将建筑图像样本和对应的标签发送至服务器,服务器接收终端发送的建筑图像样本和对应的标签。

步骤704,对建筑图像样本分别按照不同的图像处理方式进行处理,得到多组建筑图像样本。

具体地,服务器需要对获取到的建筑图像样本进行数据扩充以丰富建筑图像样本。服务器在进行数据扩充时,按照不同的图像处理方式对建筑图像样本进行处理,处理完成后得到多组建筑图像样本。

步骤706,分别将所得到的多组建筑图像样本输入机器学习模型进行训练,得到训练裂缝特征图像。

其中,训练裂缝特征图像可以是机器学习模型在训练中输出的图像,标注有机器学习模型检测到的裂缝特征。

具体地,服务器将数据扩充后得到的多组建筑图像样本输入到机器学习模型中,机器学习模型对建筑图像样本进行处理,检测建筑图像样本中的裂缝特征并进行标注,得到训练裂缝特征图像,并输出得到的训练裂缝特征图像。

在一个实施例中,在对机器学习模型进行训练之前,需要先构建机器学习模型。构建的机器学习模型可以采用卷积神经网络,卷积神经网络可以由输入层、卷积层、池化层和输出层组成,其中卷积层和池化层可以是以卷积层、池化层、卷积层、池化层这样交叉重复的形式进行构建。

对于第一层卷积层,输入为建筑图像样本,第一层卷积层的表达式为:

其中建筑图像样本可以采用rgb(redgreenblue,红绿蓝)色彩模式,i1-i3分别是输入的建筑图像样本的r、g和b三个通道的像素值。

当卷积层的上一层为池化层时,第l层卷积层的计算公式为:

其中,为第l层的第j个特征映射,ul为卷积偏置操作后但还没经过激活函数f1时的变量,mj为输入的特征映射集合,为第l-1层的第i个特征(第l-1层的输出即为第l层的输入),为第l层中对应于第i个输入特征与第j个输出特征的卷积核,为对应于第j个输出特征的偏置项。f1为激活函数,可以是relu激活函数(rectifiedlinearunit,线性整流函数),表达式为:

利用relu来进行单边抑制,而且训练速度更快。

传统的卷积神经网络在进行卷积运算时,卷积层要在输入图像的边缘填充0,使得输入图像与输出图像保持相同的尺寸。而本方案中所建立的卷积层不进行填充,所利用的所有信息均来源于建筑图像样本本身。因为本方案训练时采用小尺寸图像,识别时输入大尺寸图像,如果训练时进行边缘填充0的操作,检测时边缘填充的将不是0,而是大尺寸图像中某个小块边缘的像素,导致训练与检测所用到的信息不一致,影响检测结果。另外,如果采用尺寸为3×3的卷积核,则输出的特征图像的尺寸将比输入尺寸减小2。

池化层用于对卷积层输出的特征图像进行降采样,其计算公式为:

其中,为第l层的第j个特征图像,表示对第l-1层输出的特征图像进行降采样,降采样可以采用求平均的方法,则池化层根据第l-1层输出的特征图像中的每个2×2的小块的平均值,得到第l层输出的特征图像中的一个点,即将第l-1层输出的特征图像的尺寸缩小2×2倍。分别为乘法偏置和加法偏置。

本方案中的输出层,是将传统卷积神经网络的全连接层替换为卷积层,使得卷积神经网络可以处理任意尺寸的图像。

卷积神经网络的损失函数可以是交叉熵损失函数,交叉熵损失函数可以是二分类交叉熵损失函数,以对应卷积神经网络可以检测到输入的图像中包含裂缝特征或不包含裂缝特征。二分类交叉熵损失函数的计算公式如下:

其中y是输出的训练裂缝特征图像,y^是与建筑图像样本对应的标签,loss是计算得到的误差。

步骤708,计算训练裂缝特征图像和标签之间的误差。

具体地,服务器得到机器学习模型输出的训练裂缝特征图像后,将训练裂缝特征图像以及与建筑图像样本对应的标签代入损失函数进行计算,得到训练裂缝特征图像和标签之间的误差。服务器可以根据公式(5)来计算误差。

步骤710,根据误差调整机器学习模型中的模型参数。

其中,模型参数可以是机器学习模型中的参数。

具体地,服务器得到误差后,按照最小化误差的趋势调整机器学习模型中的模型参数,并继续训练参数调整后的机器学习模型,直至误差小于预设的误差阈值,停止训练,得到训练完毕的机器学习模型。

在一个实施例中,服务器调整模型参数时,机器学习模型中的训练次数计数器自增长1,当训练次数计数器统计的训练次数大于预设的训练次数阈值时,则停止训练,得到训练完毕的机器学习模型。

在一个实施例中,服务器通过梯度下降法调整卷积层和池化层中的模型参数。服务器在对卷积层进行参数调整时,分别计算误差loss对卷积核和偏置的偏导数,将计算得到的偏导数与学习率η(可以是常数)的乘积,作为卷积核和偏置在每次调整时的变化量,计算公式如下:

其中,是参数调整前的卷积核,是参数调整后的卷积核;是参数调整前的偏置,是参数调整后的偏置。

池化层中的模型参数为乘法偏置和加法偏置调整时的计算公式如下:

其中,是参数调整前的乘法偏置,是参数调整后的乘法偏置;是参数调整前的加法偏置,是参数调整后的加法偏置。服务器可以先根据公式(5)计算误差,再根据公式(6)和公式(7)分别调整计算卷积层和池化层中的模型参数。

在一个实施例中,服务器随机设置卷积层中的卷积核和偏置池化层中的乘法偏置和加法偏置由人工设置学习率η、误差阈值e和训练次数阈值n,其中学习率η、误差阈值e和训练次数阈值n均为常数。服务器计算得到训练裂缝特征图像和标签之间的误差后,通过链式法则将误差进行反向传播,对模型参数进行调整直至训练结束。

本实施例中,对建筑图像样本分别按照不同的图像处理方式进行处理,使得对机器学习模型进行训练的建筑图像样本更加丰富。在训练时分别将得到的多组建筑图像样本输入机器学习模型,得到训练裂缝特征图像,计算训练裂缝特征图像和标签之间的误差,并根据误差调整机器学习模型中的模型参数,保证了训练完成后的机器学习模型可以准确地进行裂缝检测。

如图8所示,在一个实施例中,步骤704具体还包括构建多组建筑图像样本的步骤,该步骤具体包括如下步骤:

步骤802,将建筑图像样本分割为多个建筑图像块。

其中,建筑图像块可以是对建筑图像样本进行分割后得到的图像。

具体地,服务器可以将建筑图像样本分割为预设大小的图像,得到多个建筑图像块。举例说明,服务器可以将建筑图像样本分割为多个空间分辨率为38*38的建筑图像块。

步骤804,对所得的建筑图像块分别进行图像变换,得到第一图像块;图像变换包括旋转处理和缩放处理中的至少一种。

具体地,服务器得到建筑图像块后,可以对建筑图像块进行图像变换,图像变换可以包括旋转处理和缩放处理中的至少一种,图像变换完成后,服务器得到第一图像块。

服务器对建筑图像块进行旋转处理时,可以进行水平镜像旋转、垂直镜像旋转,还可以以建筑图像块的中心为原点进行多次旋转。服务器通过矩阵的计算确定旋转后建筑图像块中像素的分布,比如,当建筑图像块围绕中心旋转90度时,计算公式为:

其中,x0和y0分别是旋转前建筑图像块中像素的横坐标和纵坐标;x和y分别是旋转后该像素的横坐标和纵坐标。

步骤806,对第一图像块的第一副本进行图像增强处理,得到第二图像块。

其中,图像增强处理是给图像附加一些信息或变换数据,以改善图像的视觉效果。

具体地,服务器得到第一图像块后,对第一图像块进行多次复制得到多个副本。当服务器对第一图像块进行两次复制时,得到两个副本,分别为第一副本和第二副本。

服务器可以对第一副本进行不同的图像增强处理,得到第二图像块。图像增强处理可以是对第一副本的亮度进行调整,以获得多个不同亮度的第一副本。服务器在进行亮度调整时,可以将第一副本的直方图沿着横轴进行压缩或拉伸,以模拟不同的光照。

步骤808,对第一图像块的第二副本进行图像滤波处理,得到第三图像块。

具体地,服务器可以对第二副本进行图像滤波处理,得到第三图像块。在进行图像滤波处理时,通过多种滤波方法对第二副本进行处理,还可以在第二副本中添加随机噪声。

步骤810,将第一图像块、第二图像块和第三图像块构建为多组建筑图像样本。

具体地,服务器按照不同的图像处理方式对建筑图像块进行处理后,将得到的第一图像块、第二图像块和第三图像块作为建筑图像样本,得到多组建筑图像样本。

图9为一个实施例中服务器构建的多组建筑图像样本的示意图,具体地,参照图9,第一行可以是对建筑图像块进行旋转处理得到的第一图像块;第二行可以是对第一图像块的第一副本进行增强处理得到的第二图像块;第三行可以是对第一图像块的第二副本进行滤波处理得到的第三图像块。在图9中,根据分割得到的1张建筑图像块,得到12张建筑图像样本。

本实施例中,将建筑图像样本进行分割,再进行不同的处理,以模拟多种条件下的建筑图像样本,保证了机器学习模型可以得到充分的训练。

应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

图10为一个实施例中建筑裂缝检测的示意图,具体地,参照图10,建筑裂缝检测可以分为训练阶段和检测阶段。其中,训练阶段首先获取建筑图像样本,接着对建筑图像样本进行分割,然后对建筑图像块进行数据扩充得到多组建筑图像样本,再构建机器学习模型,根据多组建筑图像样本训练机器学习模型。在检测阶段,首先获取目标建筑物的建筑图像,将建筑图像输入训练好的机器学习模型得到裂缝特征图像,再通过裂缝连通域进行二次确定,即确定目标建筑物是否存在裂缝。

在一个实施例中,如图11所示,提供了一种建筑裂缝检测装置1100,包括:图像获取模块1102、图像检测模块1104、图像处理模块1106、连通域提取模块1108和裂缝确定模块1110,其中:

图像获取模块1102,用于获取目标建筑物的建筑图像。

图像检测模块1104,用于将建筑图像输入机器学习模型进行检测,得到裂缝特征图像。

图像处理模块1106,用于对裂缝特征图像进行二值化处理,获得二值化裂缝特征图像。

连通域提取模块1108,用于从二值化裂缝特征图像中提取裂缝连通域。

裂缝确定模块1110,用于通过裂缝连通域确定目标建筑物是否存在裂缝。

本实施例中,获取目标建筑物的建筑图像后,将建筑图像输入机器学习模型,通过机器学习模型对建筑图像中的裂缝特征进行第一次检测,得到裂缝特征图像;再对裂缝特征图像进行二值化处理,得到二值化裂缝特征图像,从二值化裂缝特征图像中提取裂缝连通域;通过裂缝连通域进行第二次检测,确定目标建筑物是否存在裂缝,在检测过程中结合机器学习模型和连通域进行两次检测以减少错误检测,提高了检测准确度。

在一个实施例中,连通域提取模块1108还用于对二值化裂缝特征图像进行形态学处理;遍历经过形态学处理后的二值化裂缝特征图像中的各像素;当遍历到的像素符合预设裂缝条件时,根据符合预设裂缝条件的像素确定裂缝连通域。

本实施例中,先对二值化裂缝特征图像进行形态学处理以较少噪声的影响,提高了图像处理的准确性。遍历形态学处理后的二值化裂缝特征图像中的各像素,根据符合预设裂缝条件的像素确定裂缝连通域,避免了遗漏提取裂缝连通域。

在一个实施例中,连通域提取模块1108还用于将符合预设裂缝条件的像素作为种子像素,并将种子像素的坐标进行入栈;将种子像素的邻域内符合预设裂缝条件的像素作为可填充像素,并将可填充像素的坐标进行入栈;弹出位于栈顶的坐标;将弹出的坐标所对应的像素作为种子像素继续查找可填充像素,直至栈内为空;将弹出的各坐标所对应的像素区域确定为裂缝连通域。

本实施例中,将符合预设裂缝条件的像素的坐标进行入栈,逐一弹出栈顶坐标并继续查找符合预设裂缝条件的像素,借助栈这一运算受限的线性表,可以不遗漏地查找到全部符合预设裂缝条件的像素,并根据查找到的像素确定裂缝连通域,提高了提取裂缝连通域的准确性。

在一个实施例中,裂缝确定模块1110还用于统计裂缝连通域中像素的数量值;当数量值大于预设数量值时,确定裂缝连通域的外接矩形;计算外接矩形的矩形面积和长宽比;当长宽比大于或等于第一预设比值时,确定目标建筑物存在裂缝。

本实施例中,先根据裂缝连通域中像素的数量值进行判断以去除部分噪声的影响,确保检测的准确性。外接矩形的形状与裂缝连通域相关,通过比较外接矩形的长宽比和第一预设比值的大小,实现从形状上确定目标建筑物是否存在裂缝,提高了裂缝检测的准确性。

在一个实施例中,裂缝确定模块1110还用于当长宽比小于第一预设比值时,计算矩形面积与数量值之间的比值;当比值大于第二预设比值时,确定目标建筑物存在裂缝。

本实施例中,长宽比小于预设比值的裂缝连通域可能来自噪声,根据矩形面积与数量值的比值进行再次判断,当比值大于第二预设比值时,确定目标建筑物存在裂缝,消除了噪声的影响,提高了裂缝检测的准确性。

在一个实施例中,建筑裂缝检测装置1100还包括:获取模块、样本处理模块、模型训练模块、误差计算模块和参数调整模块,其中:

获取模块,用于获取关于建筑物的建筑图像样本和对应的标签。

样本处理模块,用于对建筑图像样本分别按照不同的图像处理方式进行处理,得到多组建筑图像样本。

模型训练模块,用于分别将所得到的多组建筑图像样本输入机器学习模型进行训练,得到训练裂缝特征图像。

误差计算模块,用于计算训练裂缝特征图像和标签之间的误差。

参数调整模块,用于根据误差调整机器学习模型中的模型参数。

本实施例中,对建筑图像样本分别按照不同的图像处理方式进行处理,使得对机器学习模型进行训练的建筑图像样本更加丰富。在训练时分别将得到的多组建筑图像样本输入机器学习模型,得到训练裂缝特征图像,计算训练裂缝特征图像和标签之间的误差,并根据误差调整机器学习模型中的模型参数,保证了训练完成后的机器学习模型可以准确地进行裂缝检测。

在一个实施例中,样本处理模块还用于将建筑图像样本分割为多个建筑图像块;对所得的建筑图像块分别进行图像变换,得到第一图像块;图像变换包括旋转处理和缩放处理中的至少一种;对第一图像块的第一副本进行图像增强处理,得到第二图像块;对第一图像块的第二副本进行图像滤波处理,得到第三图像块;将第一图像块、第二图像块和第三图像块构建为多组建筑图像样本。

本实施例中,将建筑图像样本进行分割,再进行不同的处理,以模拟多种条件下的建筑图像样本,保证了机器学习模型可以得到充分的训练。

关于建筑裂缝检测装置的具体限定可以参见上文中对于建筑裂缝检测方法的限定,在此不再赘述。上述建筑裂缝检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用于建筑裂缝检测的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种建筑裂缝检测方法。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述建筑裂缝检测方法的步骤。此处建筑裂缝检测方法的步骤可以是上述各个实施例的建筑裂缝检测方法中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述建筑裂缝检测方法的步骤。此处建筑裂缝检测方法的步骤可以是上述各个实施例的建筑裂缝检测方法中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1