计算机系统应用  2020, Vol. 29 Issue (12): 64-71   PDF    
改进的桥梁三维重构及裂缝检测系统
孙乐乐1, 席一帆1, 孙恒2, 钟永元3     
1. 长安大学 信息工程学院, 西安 710064;
2. 长安大学 汽车学院, 西安 710064;
3. 福建省高速技术咨询有限公司, 福州 350001
摘要:针对桥梁病害检测问题, 尤其是损害程度较高的裂缝检测, 结合已有的桥梁检测系统, 本文提出一种改进的桥梁检测系统, 改进后的系统硬件是大疆M210-RTK无人机, 软件由图像数据获取模块、裂缝检测模块、3D模型构建模块构成. 其中, 裂缝检测模块增加了裂缝长宽计算功能, 对裂缝分段迭代后进行曲线拟合求取长度, 骨架法计算宽度. 在实验中设置无人机的飞行轨迹、扫描间距, 拍摄距离以及对待检测桥梁桥墩分区域编号, 最终拍摄了200张桥墩桥面图片和采集了桥梁视频数据. 通过对桥墩桥面裂缝种类的识别和裂缝长宽计算, 更全面的了解了裂缝信息及危害程度, 减少了后期人工测量, 并结合Ubuntu 16.04系统, 使用直接稀疏里程计法(DSO)进行桥梁3D建模, 3D模型能够方便直观的展示桥梁概况. 改进后的系统稳定, 方法省时省力, 适用性广, 特别是对一些跨海大桥及周边环境复杂的桥梁检测具有重要意义.
关键词: 桥梁工程    无人机    裂缝检测    图像处理    3D建模    
Improved Bridge 3D Reconstruction and Crack Detection System
SUN Le-Le1, XI Yi-Fan1, SUN Heng2, ZHONG Yong-Yuan3     
1. School of Information Engineering, Chang’an University, Xi’an 710064, China;
2. School of Automobile, Chang’an University, Xi’an 710064, China;
3. Fujian Provincial Expressway Technology Consulting Co. Ltd., Fuzhou 350001, China
Foundation item: General Program of National Natural Science Foundation of China (51878066)
Abstract: Aiming at the problem of bridge disease detection, especially the crack detection with high degree of damage, combined with the previous bridge detection system, an improved bridge detection system was proposed in this study. The hardware of the improved system is the DJI M210-RTK Unmanned Aerial Vehicle (UAV), and the software consists of image data acquisition module, crack detection module, and a module of 3D model building. In this study, calculation function of crack length and width is added to the crack detection module, and the length of the crack is calculated by curve fitting after iteration, besides, skeleton method is used to calculate the width. In the experiment, by setting the flight path, scanning distance, shooting distance of the UAV and the sub-region number of the bridge pier to be tested in advance, 200 pictures of the bridge pier deck and the video data of the bridge were collected. By identifying the crack types of bridge deck, and calculating length and width of crack, it can make us having a more comprehensive understanding of crack information and the degree of damage, and manual measurement in later period can be reduced, besides, combined with Ubuntu 16.04 system, the 3D model can easily and intuitively display the general situation of the bridge with using Direct Sparse Odometry (DSO) to carry out bridge 3D modeling. The improved system is stable, the method saves time and effort, and has wide applicability, especially for the detection of some sea-crossing bridges and bridges with complex surrounding environments.
Key words: bridge engineering     Unmanned Aerial Vehicle (UAV)     crack detection     image processing     3D modeling    

1 引言

随着公路桥梁数量的不断增多, 后期的检验养护等问题也越来越多. 根据《公路养护技术规范》裂缝宽度最大容许值为0.25 mm, 对于裂缝大于0.25 mm的裂缝应当及时封闭处理. 传统的裂缝检测主要是桥检车, 高倍望远镜等, 检测耗时耗力, 对于跨海大桥及复杂环境桥梁, 传统方法不能很好的满足需求, 因此, 提出一种高效适用性强的桥梁检测系统很有意义.

对于桥梁检测国内外学者做了大量研究, Baltazart[1]改进了最小路径算法并在3种平台检验裂缝测试效果. Dinh等[2]从裂缝图像的阈值背景出发提取感兴趣区域, 在均值滤波后进行裂缝检测. Hoshyar等[3]提出一种混合方法检测, 通过传感器接收到的数据进行处理, 提取出裂缝的统计特征并结合支持向量机进行裂缝检测. Teng等[4]提出了一种基于形状的裂缝检测方法, 提取出潜在裂缝并进行曲线拟合, 根据形状度量来区分裂缝及其背景. Prasanna等[5]设计了一种空间解调分类器检测裂缝, 该法精度高但是检测结果不具连贯性.

国内也发展迅速, 杨会玲等[6]提出一种基于多尺度滤波和裂缝合并算法, 突出裂缝特征检测裂缝. 陈瑶等[7]用爬壁机器人采集数据, 并通过KD树分类和支持向量机实现检测. 瞿中等[8]研究了图像中细小裂缝的检测, 提出一种加速渗流模型, 快速检测裂缝. 刘洪公等[9]提出了卷积神经网络检测裂缝, 识别不同的裂缝图像, 改进了网络模型. 孙乐乐等[10]提出裂缝检测拼接3D系统, 该系统检测方便, 但未考虑到裂缝长宽的测量, 本文在此基础上改进, 增加裂缝长宽检测, 可以对宽度超标的裂缝及时封闭处理.

无人机桥梁适用性强, 数据采集方便, 不受地理条件的制约. 本文设计的改进型桥梁三维重构及检测系统, 硬件是大疆M210-RTK工业级无人机, 软件是由件是由图像数据获取模块、裂缝检测模块、3D模型构建模块构成, 并提出改进后的检测方法, 该检测方法是无人机分别采集图片视频数据, 对采集回来的图片数据进行裂缝种类识别, 长度计算. 对视频数据建立3D模型, 3D模型能够直观看到裂缝在桥梁中的区域, 便于检修人员快速找到病害位置并及时制定解决方案. 本方法提高了整个桥检的效率, 通过长宽计算功能的添加, 完善了桥检系统, 减少了后期人工测量长宽, 节省了一些人物力.

2 系统介绍

本系统由3个模块组成, 图像数据获取模块, 裂缝检测模块, 3D模型构建模块, 如图1.

图 1 系统总体功能模块

该系统的图像数据获取模块和裂缝检测模块采用Matlab语言并在Matlab R2015b平台上设计了工作界面, 3D建模是基于Ubuntu 16.04系统. 其中裂缝检测可与3D建模分开并独立工作, 提升工作效率. 图像获取模块根据桥梁的不同采集时间也不同, 一般半天左右, 每张裂缝图片种类检测耗时3.6 s, 长宽检测平均耗时4.3 s. 3D建模耗时一般为所采集视频时长的1.5倍. 软件系统界面如图2. 图2(a)图2(b)是Matlab界面主要用于裂缝检测和图像拼接, 图2(c)图2(d)是3D建模界面.

2.1 无人机图像数据获取

本文采用大疆无人机M210-RTK采集图像, 该型号无人机是大疆公司篇高端的一款机型, 抗干扰能力强, 障碍物感知准确, 具体参数信息见表1.

为了保证无人机安全作业, 首先要预制飞行方案, 其次将桥墩划分区域, 具体划分规则是将桥墩柱从上到下每隔1 m作为一个区域, 并对每个区域进行编号, 方便后期维护人员快速找到裂缝的大致位置.

第一次飞行将避障距离设为2 m, 设置定时定距离环绕桥墩拍摄, 设置的定时时间是2 S, 设定的固定距离是2 m, 以划分好的区域为单位进行飞行拍摄.

第二次飞行时启用录像功能, 选择环绕飞行模式, 以桥墩为中心, 飞行一周进行采集数据, 拍摄时要设置好镜头转变的角度, 不能过大或过小, 本文将角速度设为π/9 (rad/s).

图 2 软件系统工作界面

表 1 M210-RTK参数

图3为无人机实物图, 图4为无人机飞行模式图.

图 3 无人机及作业画面

图 4 飞行模式图

2.2 裂缝检测

裂缝是危害桥梁安全的重要因素, 及时准确的检测对后期保养维修起着重要的作用, 本文主要研究水泥沥青路面的裂缝种类及长宽计算, 检测步骤分为6步.

(1)灰度化. 为了减小内存提高处理速度, 将原图灰度化, 本文灰度化采用RGB加权平均法来, 见式(1):

${I}\left( {{i,j}} \right){ = 0}{.3} \times {R}{(}{i}{,}{j}{) + 0}{.59} \times {G}{(}{i}{,}{j}{) + 0}{.11} \times {B}{(}{i,j}{)}$ (1)

(2)中值滤波. 中值滤波是一种非线性平滑技术, 在滤波的同时可以保护边缘信息[11], 见式(2):

${g}{(}{x}{)} = {medf}{\{ }{f}{(}{x} - {k},{y} - 1{)},{(}{k},{l} \in {w}{)\} }$ (2)

式中, f(x)是原图, g(x)是滤波后的图, w是在原图上滑动的模版, 本文模版取3×3, 如下:

${w} = \left[ {\begin{array}{*{20}{c}} 1&1&1 \\ 1&1&1 \\ 1&1&1 \end{array}} \right]$

(3)图像边缘与周围像素差值较大, 包含着丰富的细节信息. 由于Sobel算子运行速度快, 处理噪声较多和灰度渐变的图像效果好[12], 此处采用Sobel算子进行边缘检测, Sobel算子有xy两个方向构成, 并分别求卷积求取梯度, 模版如下:

水平方向模版:

${{G}_{x}}{ = }\left[ {\begin{array}{*{20}{c}} {{ - 1}}&{0}&{1} \\ {{ - 2}}&{0}&{2} \\ {{ - 1}}&{0}&{1} \end{array}} \right]{*}{A}$ (3)

垂直方向模版:

${G_y} = \left[ {\begin{array}{*{20}{c}} { - 1}&{ - 2}&{ - 1} \\ 0&0&0 \\ 1&2&1 \end{array}} \right]*A$ (4)

每个点梯度的大小:

${G = }\sqrt {{{G}_{x}}^{2}{ + G}_{y}^{2}} $ (5)

(4)裂缝边缘连通分量提取. 若uy中的一个点, yA中一个连通分量, 每次迭代仅能得到一个连通分量, 因此需不断迭代直至求出所有连通分量, 即式(6):

$\left\{ {\begin{array}{l} {{X_k} = ({X_{k - 1}} \oplus B)A} \\ {{X_K} = {X_{K - 1}}} \end{array}} \right.$ (6)

式中, X0=u, k=1, 2, 3, ···, A为大津法分割后的图像, $ \oplus $ 为膨胀运算, B为膨胀的结构元素, 本文结构元素是8连通区域的3×3矩阵, 结构元素见图5.

图 5 结构元素(均为1)

(5)裂缝种类识别. 桥梁中的裂缝主要分为3类: 横向, 竖向, 网状. 本文通过像素累计迭代法判定裂缝类型, 首先计算裂缝的质心坐标(x_cen, y_cen),然后以长8r+1, 宽2r+1并以质心坐标(x_cen, y_cen)构建矩形, 计算矩形内裂缝像素和sumr与总像素的比值ρ, 若ρ小于0.8, 则r+10扩张矩形再次进行计算, 直至ρ>0.8, 计算过程如图6.

图 6 计算裂缝像素数目

图6中4表示裂缝, 3表示初始建立的长为8r+1, 宽为2r+1的长方形(初始值r=10), 2表示扩张后的长方形(每次以r=r+10进行扩张), 1表示拍摄的整个图片.

裂缝的分布密度ρ为:

${\rho }{ = }\frac{{{sumr}}}{{{(2}{r}{ + 1)(8}{r}{ + 1)}}}$ (7)

计算x_max, y_max差分值并与0.2作比较, 在ρ小于0.2的情况下, x_max<y_max为纵向裂缝, x_max>y_max为横向裂缝,若ρ的值在0.2与0.335之间则为网状裂缝.

(6)裂缝的尺寸计算. 裂缝的长度宽度可以直观的反应对桥梁的危害程度, 对于小于规定的裂缝宽度可以忽略, 大于规定阈值0.25 mm要及时封闭处理.

将第(4)步边缘连通分量提取之后的图像进行闭操作, 闭操作是先膨胀后腐蚀, 可以平滑轮廓, 并填充比结构元素小的洞[13], 见式(8):

${G} \cdot {R} = {(}{G} \oplus {R}{)}\Theta {R}$ (8)

式中, R表结构元素, 本文用的是3×3的单位矩阵, $ \oplus $ 表膨胀操作符, $\Theta $ 腐蚀操作符, G为闭操作处理之后的图像.

类比定积分思想, 对上述图像通过分段迭代法进行曲线拟合求取长度, 步骤如下, 示意图见图7.

图 7 分段迭代示意图

① 连接裂缝左右端点mn, 在曲线上找一点s2, 使s2到线段mn的距离最大.

② 连接ms2, ns2, 分别在其中间找s1s3满足s2到线段ms2, ns2的距离最大.

③ 重复上述步骤, 直至满足最大距离小于设置的阈值.

④ 将ms1,s1s2,···,s(n−1)n相加得到裂缝的长度像素l.

骨架化在图像处理中主要用于骨架的提取, 将一定宽度的裂缝变成单像素宽, 骨架化可以简洁的描述裂缝的形态信息, 目标M中所有最大内切圆的圆心构成了目标M的骨架SK(M)[14], 骨架化示意图见图8.

图 8 骨架法示意图

骨架的每一个点都有对应的半径和最大内切圆, 见式(9):

${SK}{(}{M}{)} = \mathop \cup \limits_{{r} > 0} {{s}_{r}}{(}{M}{)} = \mathop \cup \limits_{{r} > 0} {[(}{M}\Theta {B}{)} - {{(}{M}\Theta {rB}{)}_{{drB}}}{]}$ (9)

式中, M为待处理目标, rB代表半径为r的圆, drB代表微小半径的圆, 骨架化之前像素数是面积S, 已知l, 则骨架化后的裂缝宽度d见式(10):

${d} = \frac{{S}}{{l}}$ (10)
2.3 3D模型构建

本文三维构建采用直接稀疏里程计法DSO (Direct Sparse Odometry). 基于收集到的图像信息, DSO可以在陌生环境下通过连续的数据流对数据进行建模. DSO视觉里程计通过计算局部地图中的点得到像素点的三维坐标, 并记录视觉里程计不同时刻的相机位资, 根据基于图优化估计得到的全局轨迹, 建立符合建模的环境或地图[10].

DSO是一种视觉Slam的解决方案, 但与传统Slam匹配特征点不同[15], 它是直接视觉Slam法与稀疏法相结合, 利用图像中的所有像素点, 将不同时刻的位资估计与数据关联联系起来, 统一成优化问题, 这对图像细节信息少, 纹理特征弱的桥梁图像具有较高的鲁棒性.

本文通过DSO对桥梁进行三维建模, 可建出桥梁概况, 在检测到有裂缝的区域之后, 可通过对3D模型做出标记, 方便检修人员在检修作业前了解其大概方位, 可以更快地到达目的地. 3D建模的步骤如下所示:

(1)标定图片, 计算内参矩阵. 为了减小透镜畸变的影响, 在用无人机采集图像之前要对相机进行标定, 为了提高标定精度, 每副标定图片都有一定的角度变化, 本文标定图片采用8×8的棋盘格, 角点数为49, 每个格子边长2.5 mm, 标定图片见图9.

将15副标定图片输入Matlab中Camera Calibrator工具箱, 得出内参矩阵K:

$ {K} = \left[ {\begin{array}{*{20}{c}} {2327.8}&0&{2018.8}\\ 0&{2331.7}&{1511.1}\\ 0&0&1 \end{array}} \right] $
图 9 标定图片

(2)视觉里程计(VO)

视觉里程计VO (Visual Odometer)是3D建模中一个重要的环节, 它通过对视频中连续变化图像的提取, 计算出不成熟且逆深度收敛的三维坐标点, 从而得到点云数据. 在建模过程中, 后端优化与视觉里程计同时存在. 假设两帧图像I1, I2和空间中的点P是同一个相机获取的, P1, P2代表空间点PI1, I2中的像素坐标, [X,Y,Z]是其世界坐标, 如图10.

图 10 直接法示意图

为了得到相机位姿变换, 参考第一帧并求取第二帧的移矩阵t和旋转矩阵R, 考虑到在整个建模过程中相机内参矩阵K保持不变, P1P2的投影方程为:

${{P}_1}{\rm{ = }}\left[ {\begin{array}{*{20}{c}} {u} \\ {v} \\ 1 \end{array}} \right] = \frac{1}{{{{{\textit{z}}}_1}}}{KP}$ (11)
${{P}_2} = \left[ {\begin{array}{*{20}{c}} {u} \\ {v} \\ 1 \end{array}} \right] = \frac{1}{{{{{\textit{z}}}_2}}}{K}({RP} + {t}) = \frac{1}{{{{{\textit{z}}}_2}}}{K}({\exp}(\xi ^\wedge){P})$ (12)

其中, z1是空间点P在第一帧图片I1的深度, z2空间点P在第二帧I2的深度, K为无人机相机的内参矩阵, ξ为t, R对应的代数.

在VO中对每一帧图像的流程如图11所示.

(3)后端优化

DSO中滑动窗口关键帧与其相连的成熟点(地图点)构成了残差项, 建立了后端优化问题, 为了后端优化, 本文采用高斯-牛顿法进行迭代, 迭代过程中残差项会形成一个大的线性方程[16]:

${{J}^{\rm T}}{WJ\sigma x} = - {{J}^{\rm T}}{Wr}$ (13)

其中, r, W, J为残差权重和雅可比行列式, $ \delta x $ 是全局优化更新量. 在3D建模的过程中不断重构这个优化问题, 并保存优化后的结果.

图 11 DSO每帧图像处理流程

3 实验结果 3.1 裂缝检测实验

在西安市桥墩桥面出拍摄了200副裂缝图片, 100副水泥裂缝, 100副沥青裂缝, 依托2.2节所述理论方法, 基于Matlab平台进行了识别, 正确识别率高达93.3%, 精度较高, 对于病害能够及时检测到. 水泥, 沥青裂缝识别精度见表2表3, 长宽计算精度见表4, 部分检测结果见图12.

表 2 水泥裂缝识别精度

表 3 沥青裂缝识别精度

表 4 裂缝长款计算精度

3.2 建模实验

本次实验地点为长安大学的桥梁柱, 该桥梁柱与桥墩具有相同的特征, 因此选用此柱模拟桥梁桥墩以检验建模效果, 通过大疆M210-RTK采集视频, 结合上述DSO法, 在Ubuntu 16.04系统中完成了程序设计进行3D建模. 效果图如图13图14.

图 12 检测结果

图 13 效果图左下角大图

图 14 效果图

4 结语

本文针对桥梁裂缝病害检测, 提出了基于无人机的桥梁三维重构及检测系统, 针对此系统提出了相应的检测方法:

(1)获取图像数据, 本文基于无人机采集, 方便灵活且安全高效.

(2)裂缝检测, 对无人机采集回来的图片进行种类的识别和长宽的计算, 更为全面的了解裂缝信息, 对超标的裂缝及时封闭处理.

(3)本文用DSO 法进行三维立体式模型构建, 对桥梁全貌可以有直观的了解, 对检测出来的裂缝按照之前划分好的对应标号可在3D模型中直观了解到病害的具体方位, 对维修人员工作前的方案制定有一定帮助.

(4)本文在进行桥梁裂缝病害检测时采用工业级无人机获取数据, 并将二维与三维相结合, 可实现对裂缝检测并确定其大概方位. 对复杂桥梁的裂缝病害检测具有高效, 直观, 易实现的现实意义.

参考文献
[1]
Baltazart V, Nicolle P, Yang L. Ongoing tests and improvements of the MPS algorithm for the automatic crack detection within grey level pavement images. 2017 25th European Signal Processing Conference. Kos, Greek. 2017. 2016–2020.
[2]
Dinh TH, Ha QP, La HM. Computer vision-based method for concrete crack detection. 2016 14th International Conference on Control, Automation, Robotics and Vision. Phuket, Thailand. 2016. 1–6.
[3]
Hoshyar AN, Kharkovsky S, Samali B. Statistical features and traditional SA-SVM classification algorithm for crack detection. Journal of Signal and Information Processing, 2018, 9(2): 111-121. DOI:10.4236/jsip.2018.92007
[4]
Wang T, Gopalakrishnan K, Smadi O, et al. Automated shape-based pavement crack detection approach. Transport, 2018, 33(3): 598-608. DOI:10.3846/transport.2018.1559
[5]
Prasanna P, Dana KJ, Gucunski N, et al. Automated crack detection on concrete bridges. IEEE Transactions on Automation Science and Engineering, 2016, 13(2): 591-599. DOI:10.1109/TASE.2014.2354314
[6]
杨会玲, 崔洪恩, 孙慧婷, 等. 多尺度矩阵滤波的路面裂缝检测方法研究. 液晶与显示, 2016, 31(8): 778-783.
[7]
陈瑶, 梅涛, 王晓杰, 等. 基于爬壁机器人的桥梁裂缝图像检测与分类方法. 中国科学技术大学学报, 2016, 46(9): 788-796.
[8]
瞿中, 郭阳, 鞠芳蓉. 一种基于改进渗流模型的混凝土表面裂缝快速检测算法. 计算机科学, 2017, 44(1): 300-302, 313. DOI:10.11896/j.issn.1002-137X.2017.01.055
[9]
刘洪公, 王学军, 李冰莹, 等. 基于卷积神经网络的桥梁裂缝检测与识别. 河北科技大学学报, 2016, 37(5): 485-490. DOI:10.7535/hbkd.2016yx05009
[10]
孙乐乐, 孙恒, 徐婷. 基于无人机的桥梁三维重构及检测系统. 第十四届中国智能交通年会论文集. 青岛. 2019.13.
[11]
姜吉荣. 基于图像分析的路面裂缝检测方法与识别研究[硕士学位论文]. 南京: 南京邮电大学, 2016.
[12]
占继刚. 基于图像处理的桥梁底面裂缝检测识别方法研究[硕士学位论文]. 北京: 北京交通大学, 2017.
[13]
郭亚, 肖定华, 黄艳国. 数学形态学和多尺度分析的路面裂缝提取. 公路, 2018, 63(1): 31-34.
[14]
黄卫岭. 基于图像处理技术的桥梁裂缝测量系统研究[硕士学位论文]. 北京: 北京交通大学, 2013.
[15]
Davison AJ, Reid ID, Molton ND, et al. MonoSLAM: Real-time single camera SLAM. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2007, 29(6): 1052-1067. DOI:10.1109/TPAMI.2007.1049
[16]
Engel J, Koltun V, Cremers D. Direct sparse odometry. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 40(3): 611-625. DOI:10.1109/TPAMI.2017.2658577