基于全景图像CNN的隧道病害自动识别装置的制作方法

文档序号:12657067阅读:340来源:国知局
基于全景图像CNN的隧道病害自动识别装置的制作方法

本发明涉及全方位视觉传感器、模式识别、人工智能、应用数学、数字图像处理以及计算机视觉技术在隧道病害的检测方面的应用,尤其涉及一种基于全景图像CNN的隧道病害自动识别装置。



背景技术:

为解决人口流动与就业点相对集中给交通、环境等带来的压力,满足国家环境和局势变化需求,修建各种各样的隧道及地下工程(如城市地铁、公路隧道、铁路隧道、水下隧道、市政管道、地下能源洞库等)成为必然趋势。

截止2014年,全国公路隧道为12404座,1075.67万延米。其中,特长隧道626座,合计276.62万延米;长隧道2623座,合计447.54万延米。如何运营好、管理好数以万计的公路隧道,为国民经济和社会发展发挥更大的作用,是当前研究的热点问题之一。

隧道的渗水和裂缝是隧道工程中的两大主要病害。在隧道建设初期,由于部分隧道建设的资金少、周期短,导致了许多隧道在建成时没有及时进行支护,形成了“裸洞隧道”。这些隧道在建成多年后,由于没有衬砌的保护,随着时间的推移,在地质地形条件、气候条件和设计、施工、运营过程中的各种因素影响下,在长期的使用过程中,出现了各种各样的不同程度的裂缝及渗水情况,严重影响到我国铁路的行车安全和人民群众生命财产安全。

隧道的健康监测可分为两个阶段:施工阶段和运营阶段。在隧道的运营过程中,隧道的安全问题主要受到以下几个方面的影响:一是运营过程中长期振动荷载引起的道床整体沉降;二是由于大多数长大隧道处于复杂的地质条件中,车辆荷载引起的线路沿轴线方向的不均匀沉降;最后就是隧道周边建筑物和地质条件变化等影响。而这些影响会造成隧道轮廓的开裂,变形,漏水甚至脱落等一系列安全问题。

隧道运输运行管理过程中,由于我国处于高速建设期,重建轻管,缺少长期有效的在线监测和检测数据,导致隧道的运行状况不清楚。目前我国对隧道安全监测基本上还停留在人工排查的水平上。

中国发明专利申请号为201110281700.9本发明公开了一种基于机器视觉技术的隧道病害快速调查系统及调查方法,装置安置在调查承载车上,包括:机器视觉子系统,用CCD摄像机获取待调查对象图像数据;激光测距子系统,用激光测距法测量机器视觉子系统采集的图像的成像距离;光电测速子系统,用于提供采集图像在隧道中的对应坐标;控制子系统,控制激光测距及光电测速子系统,将该两子系统获得数据传至数据处理子系统,触发机器视觉子系统采集图像传至数据处理子系统;数据处理子系统,根据控制子系统传来的数据处理机器视觉子系统获取的图像;电源子系统,为各子系统提供电压。该案采用多个CCD摄像机采集隧道内壁图像,除了增加了设备成本以外,还带来了多摄像机的标定、图像数据的配准、协调控制等众多问题,同时在近距离拍摄隧道内壁时获取的图像有较大变形影响着测量精度,另外数据处理子系统要同时处理多幅隧道内壁图像需要在调查承载车上配置性能很高的计算机。

中国发明专利申请号为201410275604.7公开了一种隧道病害的识别方法以及多图像识别方法。利用线阵CCD以及图像融合技术,高速获取隧道表面的数字图像并存储。再利用数字图像处理算法对已知隧道病害进行特征分类建模,建立特征数据库,进行病害特征匹配与病害识别。该案采用多个CCD线阵摄像机采集隧道内壁图像,因此也存在着中国发明专利申请号为201110281700.9同样的问题。

申请号为201410791514.3的中国专利申请公开了一种公路隧道病害集成检测车,该检测车通过集成线阵相机、红外相机和雷达三种检测装备实现对衬砌裂缝、渗漏水和空洞三种病害的同时检测,其检测车具有检测效率高、非接触性和安全性高等。

申请号为201521140003.1的中国专利申请公开了一种隧道病害检测系统,包括机械臂和安装在机械臂上的病害探测装置,机械臂能够托举病害探测装置在隧道内移动,以检测隧道病害。此系统能有效解决一些检测设备需要人工托举其天线进行检测,特别是对于无线检测系统中一些天线(例如探地雷达),由于其重量较大,导致施工人员手动托举负载过大的问题。但是仍然无法解决隧道病害检测的自动化水平低的问题。

申请号为201510418537.4的中国专利申请公开了一种隧道裂缝快速检测装置,它包括运载工具、设置在运载工具内的电脑和主控机以及探测模块、安装在运载工具的滚轮上的里程记数器,探测模块包括照相机、激光断面扫描器、红外成像仪、惯性导航器和灯光频闪器,主控机的各个通信端通过对应的电缆分别连接照相机、激光断面扫描器、红外成像仪、惯性导航器、灯光频闪器和里程记数器的通信端,主控机数据通信端连接电脑的数据通信端。但最终需要将获取得到隧道三维结构图、隧道三维成像图、隧道顶部红外温度图以及运载工具路线图进行肉眼识别来判断待测隧道的待测区域是否存在衬砌裂缝、衬砌渗水、漏水、剥落、脱空、衬砌形变进行检测等病害。这种方式智能化水平较低,容易受检测人员的主观经验影响,导致耗费较大人力资源。

综上所述,针对隧道病害检测的内容,目前尚存在着如下若干个棘手的问题:1)如何全方位高效高保真的获取隧道病害数据;2)如何对隧道病害图像进行自动检测识别。



技术实现要素:

针对目前隧道衬砌病害检测过程中快速方便获取隧道内壁全景图像难和自动检测识别各种病害难等问题等不足,本发明提供一种基于全景图像CNN的隧道病害自动识别装置,在检测装置上能有效提高隧道病害的视觉识别的自动化和智能化水平、能保证在较好的检测识别精度基础上有实时检测识别能力、能较好解决隧道内壁识别的复杂性和推广性的矛盾、具有较佳的普适性。在隧道的维护、竣工验收方面提供了有效的技术支撑。

要实现上述发明内容,必须要解决几个核心问题:(1)设计一种快速获取隧道内壁全景图像的全景视觉传感器;(2)通过数字图像处理技术对隧道全景图像进行处理,提取出疑似病害区域;(3)实现一种含有对隧道病害图像进行分类功能的卷积神经网络;(4)实现一批可以用于卷积神经网络(CNN)训练用的隧道病害图像样本数据。

本发明解决其技术问题所采用的技术方案是:

一种基于全景视觉CNN的隧道病害自动识别装置,包括:隧道检测车和远程计算机;

所述的隧道检测车上配置有主动式全景视觉传感器、RFID读取器、测距轮、无线接发送单元、控制器和工控机,所述的主动式全景视觉传感器安装在所述的隧道检测车的前方中央,所述的RFID读取器读取配置在隧道内壁上安置的RFID信息,所述的隧道检测车的底部安装一个测距轮,所述的控制器读取测距轮中光电编码器的脉冲当量并估算所述的隧道检测车的行走距离Zi;所述的控制器读取主动式全景视觉传感器所获取的隧道全断面全景图像并以所述的隧道检测车的行走距离Zi和现在时刻为文件名保存在所述的控制器的存储单元中;当所述的隧道检测车达到下一个站点时,所述的控制器通过所述的无线接发送单元将所述的控制器的存储单元中的隧道全断面全景图像发送给所述的站级通信系统;

所述的主动式全景视觉传感器包括全方位视觉传感器和投射照明光源;所述的全方位视觉传感器与所述的投射照明光源进行同轴固定连接,安装在所述的隧道检测车的前方中央位置;

所述全方位视觉传感器包括双曲面镜面、上盖、透明半圆形外罩、下固定座、摄像单元固定座、摄像单元、连接单元和上罩;所述的双曲面镜面固定在所述的上盖上,所述的连接单元将所述的下固定座和透明半圆形外罩连接成一体,所述的透明半圆形外罩与所述的上盖以及所述的上罩固定在一起,所述的摄像单元固定在所述的摄像单元固定座上,所述的摄像单元固定座固定在所述的下固定座上,所述的全方位视觉传感器中的所述的摄像单元的输出通过千兆网数据接口与所述的控制器连接;

所述的照明光源设计上采用了直接照明法,包括光源上盖、圆锥形镜面、透明外罩、底座和24颗LED。24颗LED均匀分布固定在底座外圆侧对隧道内壁进行照明,圆锥形镜面的轴心线与光源上盖轴心线一致,透明外罩将嵌入24颗LED和固定圆锥形镜面的光源上盖集成为投射照明光源;

所述的远程计算机作为服务器采用Linux系统。所述的隧道检测车行进过程中,工控机每隔时间T采集隧道内壁全景图像,时间T是由隧道检测车的行进速度V以及全景视觉垂直成像范围F来决定的。全景图像采集间隔时间用公式(1)计算得到,

T=0.8×F/V (1)

式中,T为ODVS的采样间隔,V为隧道检测车的行进速度,F为全景视觉垂直成像范围。

工控机通过无线接发送单元将携带着隧道空间位置信息的展开的隧道内壁全景图像发送给远程计算机,所述远程计算机包括用于隧道病害自动识别的CNN模块。

工控机中的图像处理主要包括:隧道断面全景图像数据读取单元和隧道横断面全景图像展开单元;远程计算机中的图像处理主要包括:隧道疑似病害图像预处理单元和隧道疑似病害图像提取单元。

隧道断面全景图像数据读取单元每隔时间T通过ODVS来获取隧道内壁的一帧全景图像。接着,隧道横断面全景图像展开单元全景图像进行展开处理,展开处理后的全景图像用隧道检测车的行走距离Zi为文件名保存。

全景柱状展开是以全景图像中心坐标为原点建立平面坐标系O(0,0),X轴水平向右,Y轴竖直向上;选取合适的内径为r1、外径为r2,展开半径为R=(r1+r2)/2,方位角为θ=tan-1(y/x);全景柱状展开图以坐标原点O*(0,0)、X*轴、Y*轴为平面坐标系,将全景图像坐标系下点(r,0)作为全景柱状展开图坐标原点O*(0,0),以方位角θ顺时针方向展开建立全景柱状展开图;建立全景柱状展开图像中任意一点象素坐标P*(x*,y*)与全景图像中的象素坐标P(x,y)的对应关系,其计算公式为:

x=y/(tan(360x*/π(r1+r2))) (2)

y=(y*+r1)cosθ (3)

式中:x*,y*为全景柱状展开图的坐标,x,y为全景图像的坐标,R为全景图像展开区域的外径,r为全景图像展开区域的内径,θ为全景图像坐标的方位角。

模拟隧道内壁柱状展开图用隧道检测车的行走距离zi为文件名保存,请求服务器来读取该图像文件。

远程计算机得到从隧道检测车发送过来的读取请求后,读取暂时存储在工控机内的展开全景图像,递交给隧道疑似病害图像预处理单元进行图像预处理。其主要工作是对隧道柱状展开图像进行增强,包括灰度校正和图像平滑,这项工作的主要作用是提高图像质量,为后续隧道疑似病害检测识别进一步处理做好准备。

在图像预处理方面,本发明采用一种自适应的图像直方图均衡处理方法,自适应的直方图均衡考虑了图像的位置信息,该方法根据图像像素点的局部统计特征对像素灰度值进行函数变换,变换函数有像素点周围某个大小的子图像的直方图确定。

在图像平滑方面,本文采用图像的自适应wiener滤波方法,wiener滤波将均方误差的数学期望取极小估值作为其最优标准。

隧道疑似病害的提取包括:图像分割以及图像的形态学处理等,针对隧道疑似病害图像选择合适的方法;这里首先采用Otsu法对隧道疑似病害图像进行二值分割,然后对隧道疑似病害二值图像的数学形态学处理;在数学形态学处理中采用先进行开运算再进行闭运算。

开运算是利用同一结构元素对象对同一目标图像依次进行腐蚀运算和膨胀运算,计算方法如公式(4)所示:

式中,A是隧道疑似病害的原始图像,B是结构元素图像。

闭运算是指对同一目标图像先进行膨胀运算后进行腐蚀运算,计算方法如公式(5)所示:

式中,A是隧道疑似病害原始图像,B是结构元素图像。

提取出疑似病害之后就需要通过卷积神经网络(convolutional neural network,CNN)对疑似病害进行识别分类。

基于卷积神经网络的隧道病害自动识别方法,包括训练阶段和测试阶段;在训练阶段,将训练样本输入卷积神经网络,获得卷积神经网络的连接权值和偏置值;在测试阶段,读入隧道病害图像,对隧道病害图像采用数字图像处理技术进行预处理,提取出感兴趣区域,然后将感兴趣区域图像尺寸进行归一化处理后作为卷积神经网络的输入。

卷积神经网络的结构为6层,包括依次连接的输入层,C1层,S2层,C3层,S4层和输出层。其中C1层和C3层为卷积层,S2层和S4层为下采样层,输入层为大小为28*28像素的图像,输出层包括4个一维向量,分别表示4类隧道病害:(1)裂纹;(2)裂缝;(3)衬砌脱落;(4)渗漏水。

有关隧道识别CNN框架的详细描述如下:

(1)输入。输入图像为图像预处理得到的28*28的灰度疑似病害图像。

(2)C1层。C1层为卷积层,用于提取图像特征。卷积核的大小影响着神经元感受野的大小,当卷积核较小时,无法提取有效的局部特征,当卷积核较大时,又无法描述过于复杂的信息。对于28*28的输入图像,一般选用5*5的卷积核就能够达到较好的效果,得到24*24的特征图。每个卷积核用于提取某一类特征,这里采用6个卷积核对同一图像进行卷积,得到6张不同的特征图。卷积核中各参数通过随机初始化设置在-1到1之间,一般地,随机初始化的卷积核有较好的边缘提取效果。

(3)S1层。S1层为降采样层。它将C1层输出的特征图进行缩小。主要是将邻域内的像素求和成一个像素,然后通过W加权,再增加偏置b,最后通过sigmoid激活函数,这样就可以将C1层中得到的特征提取图映射为缩小后的特征映射图。一般缩放因子为2就能够达到较好的效果。

(4)C2层。C2层为卷积层,用于提取图像特征,与C1层相似。C1层是将1张原图通过6个卷积核获得6张特征提取图。而C2层则是将6张输入的特征映射图,通过随机组合得到12张特征图,然后通过不同的卷积核映射得到12张特征提取图。这是因为不完全的连接可以将原图像中某一区域的不同特征融合,破坏了网络的对称性。

(5)S2层。S2层为降采样层,与S1层基本相同。

(6)输出层。输出层是与S2层的全连接。S2层有12*4*4=192个神经元,每一个神经元都与输出的一个神经元相连,输出层暂时设定为4类,即4个神经元,总共有192*4=768个连接,这里可以将S2看作一个192维的线性向量,而S2到输出层的映射相当于使用该向量进行分类,这个分类器共有768个参数来对4种病害类别进行分类,因此具有很强的描述能力。

卷积神经网络的训练需要大量数据。本发明采用的隧道病害图像主要是通过检索网络上的隧道病害图像得到,数据量偏少。通过真实拍摄获取得到部分模拟隧道病害图像,作为初始的训练样本。为了增加数据量,通过对病害区域进行下述操作:

(1)平移:水平或垂直平移,步长为0.2倍的病害区域大小。

(2)缩放:对病害区域大小乘以比例因子[0.8,1.2]。

(3)旋转:对病害区域进行60度以下的旋转。

(4)翻转:对病害区域进行上下、左右翻转。

(5)亮度调整:对病害区域进行整体亮度调整。

(6)对比度调整:对病害区域进行灰度线性或非线性拉伸。

对于每个种子图像,随机选取K个变换,然后将这些变换应用到每个种子图像上,形成新的训练样本。

卷积神经网络的性能对于学习速率的选择非常敏感,学习速率过大,算法可能振荡而导致不稳定;学习速率过小,则收敛速率慢,训练时间长。因此采用自适应调整学习速率。

卷积神经网络的训练过程如图4所示,主要包括4步,这4步被分为两个阶段:

第一阶段,向前传播阶段:

(1)从样本集中取一个样本(X,Yp),将X输入网络;

(2)计算相应的实际输出Op

在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。在此过程中,网络执行的是计算(实际上就是输入与每层的权值矩阵相点乘,得到最后的输出结果):

Op=Fn(…(F2(F1(XpW(1))W(2))…)W(n))(2)

在计算过程中,都是用Sigmoid作为激活函数。

第二阶段,向后传播阶段:

(1)计算实际输出Op与相应的理想输出Yp的差;

(2)按极小化误差的方法反向传播调整权矩阵。

向后传播阶段也是卷积神经网络中最复杂的地方,基本思想是跟反向传播算法(BP算法)一样,都是通过最小化残差来调整权重和偏置,但是卷积神经网络的网络结构并不像反向传播算法那样单一,对不同的结构处理方式也不一样,而且因为权重共享,使得计算残差变得更加困难。所述的反向传播算法是一种计算偏导数的有效方法,它的基本原理是:利用前向传播最后输出的结果来计算误差的偏导数,再用这个偏导数和前面的各层进行加权求和,如此一层一层的向后传下去,直到输入层(不计算输入层),最后利用每个节点求出的偏导数来更新权重。

其中,为了便于理解,后面我们用“残差”这个词来表示误差的偏导数。

其中,输出层到S4层的残差=-(输出值-样本值)*激活函数的导数,隐藏层的残差=(右层每个节点的残差加权求和)*激活函数。

其中,残差全部计算好后,就可以更新权重了:

(1)输入层:权重增加=输入值*右层对应节点的残差*学习率

(2)隐藏层:权重增加=当前节点的Sigmoid*右层对应节点的残差*学习率

(3)偏移值的权重增加=右层对应节点的残差*学习率

其中,隐藏层表示除输入层、输出层以外的其他各层。学习率是一个预先设置好的参数,用于控制每次更新的幅度。此后,对全部数据都反复进行这样的计算,直到输出的误差达到一个很小的值为止。

在卷积神经网络中,输出层的残差是输出值与样本值的差值,而中间各层的残差来源于下一层的残差的加权和。输出层的残差计算如下:

其中,(第nl层表示输出层)为输出层的残差,yi表示输出值,表示前向传播中输出层的输入值,表示激活函数的导数。

下一层为采样层的卷积层的残差的计算可以对采样层的残差与一个2×2的全1矩阵进行克罗内克积进行扩充,因为从卷积神经网络的结构图看出,采样层的map大小是卷积层的但这两层的map个数是一样的,卷积层的某个map中的4个单元与采样层对应map的一个单元关联,扩充之后使得采样层的残差的维度与上一层的输出map的维度一致。

下一层为卷积层的采样层的残差的计算比较麻烦一点,因为采样层到卷积层直接的连接是有权重和偏置参数的,因此不像卷积层到采样层那样简单。当采样层L的下一层是卷积层(L+1),并假设我们已经计算出L+1层的残差,再假设L层第j个map Mj与L+1层的M2j关联,按照反向传播算法的原理,L层的残差Dj是L+1层残差D2j的加权和,M2j与Mj的关联关系采用将卷积核矩阵进行180度旋转,使之一一对应。

残差计算出来后,就是更新权重和偏置参数。

在完成卷积神经网络的训练后,便进入了测试阶段,测试阶段用来测试所使用的卷积神经网络用于对隧道病害检测识别的精度和速度是否可靠。其过程为:读取检测图像,然后将这些图像输入训练好的卷积神经网络中进行测试,利用卷积神经网络进行分类,分类的结果为上述的4类隧道病害,进而可以获取误差率。

采用上述技术方案带来的有益效果:

(1)提供了一种高性价比的、能快速获取全景图像的全方位视觉传感器;实现了对隧道病害检测中“采集-识别-判定”全过程的自动运行,真正实现了隧道病害检测的自动化;

(2)本发明采用卷积神经网络作为隧道病害检测的分类器,由于卷积神经网络权值共享的网络结构,降低了网络结构的复杂度,减少了权值的数量,所以由它进行分类的速度快,另外,使用带有疑似缺陷样本进行训练,让卷积神经网络自动学习4类样本复杂的类条件密度,避免了人为假设类条件密度函数所带来的问题,提高了检测精度;

(3)本发明在测试过程中将测试样本进行分批处理,加快了测试的速度,减少了测试时间;

(4)提供了一种自动化、智能化的隧道病害检测的手段,极大的降低了隧道病害检测人员的工作负荷,提高了检测效率;

(5)本发明采用卷积神经网络和分批处理的测试方法,提高了隧道病害检测的精度和速度,非常适用于铁路隧道和地铁隧道运营部门的维护和检修,因此具有巨大前景。

附图说明

图1为隧道内壁进行全景检测示意图,1为隧道内壁,2为全景成像范围;

图2为ODVS的结构图;

图3为模拟隧道内壁全景图及柱状展开图,(a)为全景图,(b)为柱状展开图;

图4为隧道内壁中疑似病害的提取;

图5为卷积神经网络结构图;

图6为病害种子图像及变换后得到的图像,其中,(a)为病害种子图像,(b)为裂缝随机组合变换图像。

具体实施方式

以下将结合附图,对本发明的技术方案进行详细说明。

参照图1~图6,一种基于全景视觉CNN的隧道病害自动识别装置,包括隧道检测车和远程计算机。图1为ODVS对隧道内壁进行全景视觉检测的示意图。图中的灰色区域是ODVS获取隧道内壁360°全方位图像的部分。

所述的隧道检测车上配置有主动式全景视觉传感器、RFID读取器、测距轮、无线接发送单元、控制器和工控机,所述的主动式全景视觉传感器安装在所述的隧道检测车的前方中央,所述的RFID读取器读取配置在隧道内壁上安置的RFID信息,所述的隧道检测车的底部安装一个测距轮,所述的控制器读取测距轮中光电编码器的脉冲当量并估算所述的隧道检测车的行走距离Zi;所述的控制器读取主动式全景视觉传感器所获取的隧道全断面全景图像并以所述的隧道检测车的行走距离Zi和现在时刻为文件名保存在所述的控制器的存储单元中;当所述的隧道检测车达到下一个站点时,所述的控制器通过所述的无线接发送单元将所述的控制器的存储单元中的隧道全断面全景图像发送给所述的站级通信系统;

所述的主动式全景视觉传感器,其硬件主要包括:全方位视觉传感器、投射照明光源;所述的全方位视觉传感器与所述的投射照明光源进行同轴固定连接;

所述的全方位视觉传感器包括双曲面镜面、上盖、透明半圆形外罩、下固定座、摄像单元固定座、摄像单元、连接单元和上罩;所述的双曲面镜面固定在所述的上盖上,所述的连接单元将所述的下固定座和透明半圆形外罩连接成一体,所述的透明半圆形外罩与所述的上盖以及所述的上罩固定在一起,所述的摄像单元固定在所述的摄像单元固定座上,所述的摄像单元固定座固定在所述的下固定座上,所述的全方位视觉传感器中的所述的摄像单元的输出通过千兆网数据接口与所述的控制器连接;

所述的ODVS安装在隧道检测车的前方中央位置,如图1所示,隧道检测车在行进过程中不断地快速获取隧道内壁的全景图像。图2是ODVS的结构图

所述的照明光源设计上采用了直接照明法,包括光源上盖、圆锥形镜面、透明外罩、底座和24颗LED。24颗LED均匀分布固定在底座外圆侧对隧道内壁进行照明,圆锥形镜面的轴心线与光源上盖轴心线一致,透明外罩将嵌入24颗LED和固定圆锥形镜面的光源上盖集成为投射照明光源。

所述的远程计算机作为服务器采用Linux系统。所述的隧道检测车行进过程中,工控机每隔时间T采集隧道内壁全景图像,时间T是由隧道检测车的行进速度V以及全景视觉垂直成像范围F来决定的。全景图像采集间隔时间用公式(1)计算得到,

T=0.8×F/V (1)

式中,T为ODVS的采样间隔,V为隧道检测车的行进速度,F为全景视觉垂直成像范围。

工控机通过无线接发送单元将携带着隧道空间位置信息的展开的隧道内壁全景图像发送给远程计算机。

工控机中的图像处理主要包括:隧道断面全景图像数据读取单元和隧道横断面全景图像展开单元;远程计算机中的图像处理主要包括:隧道疑似病害图像预处理单元和隧道疑似病害图像提取单元。

隧道断面全景图像数据读取单元每隔时间T通过ODVS来获取隧道内壁的一帧全景图像。接着,隧道横断面全景图像展开单元全景图像进行展开处理,展开处理后的全景图像用隧道检测车的行走距离zi为文件名保存。

全景柱状展开是以全景图像中心坐标为原点建立平面坐标系O(0,0),X轴水平向右,Y轴竖直向上;选取合适的内径为r1、外径为r2,展开半径为R=(r1+r2)/2,方位角为θ=tan-1(y/x);全景柱状展开图以坐标原点O*(0,0)、X*轴、Y*轴为平面坐标系,将全景图像坐标系下点(r,0)作为全景柱状展开图坐标原点O*(0,0),以方位角θ顺时针方向展开建立全景柱状展开图;建立全景柱状展开图像中任意一点象素坐标P*(x*,y*)与全景图像中的象素坐标P(x,y)的对应关系,其计算公式为:

x=y/(tan(360x*/π(r1+r2))) (2)

y=(y*+r1)cosθ (3)

式中:x*,y*为全景柱状展开图的坐标,x,y为全景图像的坐标,R为全景图像展开区域的外径,r为全景图像展开区域的内径,θ为全景图像坐标的方位角。

图3(a)为ODVS拍摄的模拟隧道内壁全景图,图3(b)为模拟隧道内壁柱状展开图。模拟隧道内壁柱状展开图用隧道检测车的行走距离zi为文件名保存,请求服务器来读取该图像文件。

远程计算机得到从隧道检测车发送过来的读取请求后,读取暂时存储在工控机内的展开全景图像,递交给隧道疑似病害图像预处理单元进行图像预处理。其主要工作是对隧道柱状展开图像进行增强,包括灰度校正和图像平滑,这项工作的主要作用是提高图像质量,为后续隧道疑似病害检测识别进一步处理做好准备。

在图像预处理方面,本发明采用一种自适应的图像直方图均衡处理方法,自适应的直方图均衡考虑了图像的位置信息,该方法根据图像像素点的局部统计特征对像素灰度值进行函数变换,变换函数有像素点周围某个大小的子图像的直方图确定。

在图像平滑方面,本发明采用图像的自适应wiener滤波方法,wiener滤波将均方误差的数学期望取极小估值作为其最优标准。

隧道疑似病害的提取包括:图像分割以及图像的形态学处理等,针对隧道疑似病害图像选择合适的方法;这里首先采用Otsu法对隧道疑似病害图像进行二值分割,然后对隧道疑似病害二值图像的数学形态学处理;在数学形态学处理中采用先进行开运算再进行闭运算。

开运算是利用同一结构元素对象对同一目标图像依次进行腐蚀运算和膨胀运算,计算方法如公式(4)所示:

式中,A是隧道疑似病害的原始图像,B是结构元素图像。

闭运算是指对同一目标图像先进行膨胀运算后进行腐蚀运算,计算方法如公式(5)所示:

式中,A是隧道疑似病害原始图像,B是结构元素图像。

图4为隧道内壁中疑似病害的提取,提取出疑似病害之后就需要通过卷积神经网络对疑似病害进行识别分类。

基于卷积神经网络的隧道病害自动识别方法,包括训练阶段和测试阶段;在训练阶段,将训练样本输入卷积神经网络,获得卷积神经网络的连接权值和偏置值;在测试阶段,读入隧道病害图像,对隧道病害图像采用数字图像处理技术进行预处理,提取出感兴趣区域,然后将感兴趣区域图像尺寸进行归一化处理后作为卷积神经网络的输入。

在本实施例中,卷积神经网络的结构为6层,包括依次连接的输入层,C1层,S2层,C3层,S4层和输出层。其中C1层和C3层为卷积层,S2层和S4层为下采样层,输入层为大小为28*28像素的图像,输出层包括4个一维向量,分别表示4类隧道病害:(1)裂纹;(2)裂缝;(3)衬砌脱落;(4)渗漏水。图5为本发明采用的卷积神经网络结构图。

有关隧道识别CNN框架的详细描述如下:

(1)输入。输入图像为图像预处理得到的28*28的灰度疑似病害图像。

(2)C1层。C1层为卷积层,用于提取图像特征。卷积核的大小影响着神经元感受野的大小,当卷积核较小时,无法提取有效的局部特征,当卷积核较大时,又无法描述过于复杂的信息。对于28*28的输入图像,一般选用5*5的卷积核就能够达到较好的效果,得到24*24的特征图。每个卷积核用于提取某一类特征,这里采用6个卷积核对同一图像进行卷积,得到6张不同的特征图。卷积核中各参数通过随机初始化设置在-1到1之间,一般地,随机初始化的卷积核有较好的边缘提取效果。

(3)S1层。S1层为降采样层。它将C1层输出的特征图进行缩小。主要是将邻域内的像素求和成一个像素,然后通过W加权,再增加偏置b,最后通过sigmoid激活函数,这样就可以将C1层中得到的特征提取图映射为缩小后的特征映射图。一般缩放因子为2就能够达到较好的效果。

(4)C2层。C2层为卷积层,用于提取图像特征,与C1层相似。C1层是将1张原图通过6个卷积核获得6张特征提取图。而C2层则是将6张输入的特征映射图,通过随机组合得到12张特征图,然后通过不同的卷积核映射得到12张特征提取图。这是因为不完全的连接可以将原图像中某一区域的不同特征融合,破坏了网络的对称性。

(5)S2层。S2层为降采样层,与S1层基本相同。

(6)输出层。输出层是与S2层的全连接。S2层有12*4*4=192个神经元,每一个神经元都与输出的一个神经元相连,输出层暂时设定为4类,即4个神经元,总共有192*4=768个连接,这里可以将S2看作一个192维的线性向量,而S2到输出层的映射相当于使用该向量进行分类,这个分类器共有768个参数来对4种病害类别进行分类,因此具有很强的描述能力。

卷积神经网络的训练需要大量数据。本发明采用的隧道病害图像主要是通过检索网络上的隧道病害图像得到,数据量偏少。通过真实拍摄获取得到部分模拟隧道病害图像,作为初始的训练样本。为了增加数据量,通过对病害区域进行下述操作:

(1)平移:水平或垂直平移,步长为0.2倍的病害区域大小。

(2)缩放:对病害区域大小乘以比例因子[0.8,1.2]。

(3)旋转:对病害区域进行60度以下的旋转。

(4)翻转:对病害区域进行上下、左右翻转。

(5)亮度调整:对病害区域进行整体亮度调整。

(6)对比度调整:对病害区域进行灰度线性或非线性拉伸。

对于每个种子图像,随机选取K个变换,然后将这些变换应用到每个种子图像上,形成新的训练样本。然后将这些样本输入卷积神经网络中进行训练,获得卷积神经网络的连接权值和偏置值。

图6(a)为种子图像,分别对应裂纹、裂缝、衬砌脱落和渗漏水等4种类型隧道病害。图6(b)为对图6(a)中的裂缝进行随机组合变换得到的图像。

卷积神经网络的性能对于学习速率的选择非常敏感,学习速率过大,算法可能振荡而导致不稳定;学习速率过小,则收敛速率慢,训练时间长。因此采用自适应调整学习速率。

卷积神经网络的训练过程如图4所示,主要包括4步,这4步被分为两个阶段:

第一阶段,向前传播阶段:

(1)从样本集中取一个样本(X,Yp),将X输入网络;

(2)计算相应的实际输出Op

在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成训练后正常运行时执行的过程。在此过程中,网络执行的是计算(实际上就是输入与每层的权值矩阵相点乘,得到最后的输出结果):

Op=Fn(…(F2(F1(XpW(1))W(2))…)W(n)) (2)

在计算过程中,都是用Sigmoid作为激活函数。

第二阶段,向后传播阶段:

(1)计算实际输出Op与相应的理想输出Yp的差;

(2)按极小化误差的方法反向传播调整权矩阵。

向后传播阶段也是卷积神经网络中最复杂的地方,基本思想是跟反向传播算法(BP算法)一样,都是通过最小化残差来调整权重和偏置,但是卷积神经网络的网络结构并不像反向传播算法那样单一,对不同的结构处理方式也不一样,而且因为权重共享,使得计算残差变得更加困难。所述的反向传播算法是一种计算偏导数的有效方法,它的基本原理是:利用前向传播最后输出的结果来计算误差的偏导数,再用这个偏导数和前面的各层进行加权求和,如此一层一层的向后传下去,直到输入层(不计算输入层),最后利用每个节点求出的偏导数来更新权重。

其中,为了便于理解,后面我们用“残差”这个词来表示误差的偏导数。

其中,输出层到S4层的残差=-(输出值-样本值)*激活函数的导数,隐藏层的残差=(右层每个节点的残差加权求和)*激活函数。

其中,残差全部计算好后,就可以更新权重了:

(1)输入层:权重增加=输入值*右层对应节点的残差*学习率

(2)隐藏层:权重增加=当前节点的Sigmoid*右层对应节点的残差*学习率

(3)偏移值的权重增加=右层对应节点的残差*学习率

其中,隐藏层表示除输入层、输出层以外的其他各层。学习率是一个预先设置好的参数,用于控制每次更新的幅度。此后,对全部数据都反复进行这样的计算,直到输出的误差达到一个很小的值为止。

在卷积神经网络中,输出层的残差是输出值与样本值的差值,而中间各层的残差来源于下一层的残差的加权和。输出层的残差计算如下:

其中,(第nl层表示输出层)为输出层的残差,yi表示输出值,表示前向传播中输出层的输入值,表示激活函数的导数。

下一层为采样层的卷积层的残差的计算可以对采样层的残差与一个2×2的全1矩阵进行克罗内克积进行扩充,因为从卷积神经网络的结构图看出,采样层的map大小是卷积层的但这两层的map个数是一样的,卷积层的某个map中的4个单元与采样层对应map的一个单元关联,扩充之后使得采样层的残差的维度与上一层的输出map的维度一致。

下一层为卷积层的采样层的残差的计算比较麻烦一点,因为采样层到卷积层直接的连接是有权重和偏置参数的,因此不像卷积层到采样层那样简单。当采样层L的下一层是卷积层(L+1),并假设我们已经计算出L+1层的残差,再假设L层第j个map Mj与L+1层的M2j关联,按照反向传播算法的原理,L层的残差Dj是L+1层残差D2j的加权和,M2j与Mj的关联关系采用将卷积核矩阵进行180度旋转,使之一一对应。

残差计算出来后,就是更新权重和偏置参数。

在完成卷积神经网络的训练后,便进入了测试阶段,测试阶段用来测试所使用的卷积神经网络用于对隧道病害检测识别的精度和速度是否可靠。其过程为:读取检测图像,然后将这些图像输入训练好的卷积神经网络中进行测试,利用卷积神经网络进行分类,分类的结果为上述的4类隧道病害,进而可以获取误差率。

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