一种城市排水管道缺陷点云语义分割的数据增强方法
- 国知局
- 2024-09-14 14:32:11
本发明属于城市生命线工程结构评价及自动化领域,具体涉及一种城市排水管道缺陷点云语义分割的数据增强方法。
背景技术:
1、城市排水管道系统是确保城市韧性和可持续发展的最有价值的基础设施之一,素来有“城市生命线工程”之称。一方面,我国城市排水管道铺设公里数的逐年快速增加,但另一方面,也面临着严峻老化失修问题。因此,自动化和智能化的城市排水管道例行检测对于减少时间和成本耗费至关重要。
2、在过去三十年里,城市排水管道的日常巡检最广泛使用的技术是基于视觉的闭路电视监控系统。在最近的十几年里,受益于深度学习在二维图像的物体检测和分割领域的飞速发展,闭路电视监控系统的缺陷检测效率和准确性得到了极大的提高。然而,由于缺乏深度信息、相机视角有限以及镜头畸变效应等原因,二维图像一般只用来处理缺陷分类任务,而不是三维定量评价。激光雷达技术凭借着非接触性、无需光照条件,快速而密集地发射点云来获取被测对象的精确三维几何映射等优势,近年来在管道领域受到了高度关注。各式各样的基于三维点云的管道服役状态评估算法被提出来解决不同情况问题,但是都存在一个共同的前提是需要首先从没有语义信息的杂乱点云中识别并分割出缺陷点云。混凝土供排水管道的缺陷形式十分复杂,既包括变形、剥落、腐蚀、错口、脱节和橡胶圈脱落等结构性缺陷,又包括了淤积、障碍物等功能性缺陷。由于管道点云规模庞大,管道缺陷复杂,人工标注语义信息非常费时费力且容易出错。
3、深度学习技术已成为自动化解决复杂实际问题的标杆,正在对建筑工程领域进行改变。除了适合目标任务的高性能神经网络算法以外,训练一个成功的模型很大程度上还依赖于高质量的训练数据集。然而,对于地下管道行业来说,巡检获得的真实数据既稀缺又昂贵。出于保密协议和资产隐私政策的考虑,地下管网的管理者往往不会给大量真实数据添加注释,更不会对外公布。因此,数据稀缺极大地限制了地下管网领域在三维点云深度学习的发展,甚至会阻碍行业跟进当前正在进行的自动化变革潮流。当前合成点云的生成方法主要集中在室内建筑和桥梁结构的构件分割上。但与这些常规场景相比,混凝土供排水管道的缺陷形式更加复杂、随机性更强,然而目前具有自动化标注功能的合成点云数据的生成方法却尚未开发出来。此外,如何有策略地、最大化利用人工合成数据训练深度学习模型也是一个技术问题。
技术实现思路
1、为了克服城市排水管道在三维点云深度学习方向所面临的数据稀缺问题,本发明提供一种城市排水管道缺陷点云语义分割的数据增强方法,为城市排水管道缺陷的深度学习模型训练提供了大量低成本、高质量、采集速度快、随机性强的人工合成数据,并提供了使用人工合成数据训练深度学习模型的高效途径。
2、本发明为解决其技术问题所采用的技术方案是:
3、一种城市排水管道缺陷点云语义分割的数据增强方法,步骤包括:
4、第一步、采用bim软件建立管道三维数字模型,输出obj格式文件并导入unity3d引擎中制作预制体;
5、第二步、在unity3d虚拟环境中建立结构性域随机化规则;
6、第三步、设定全局参数,建立管道脱节和错口、橡胶圈脱落、混凝土剥落、腐蚀、淤积、障碍物堵塞缺陷的模拟算法,随机生成城市排水管道缺陷的模拟场景;
7、第四步、基于unity3d物理引擎建立激光雷达机器人在管内扫描检测过程的模拟算法,设定与传感器设备相关的参数;
8、第五步、使用自动化语义标注的合成点云生成算法,实现合成点云缺陷数据的自动化采集;合成点云缺陷标签包括“正常”、“剥落”、“障碍物”、“腐蚀”、“错口”、“淤积”、“脱节”和“橡胶圈缺陷”;
9、第六步、使用预训练-微调的深度学习数据增强策略,首先大量合成数据训练基础模型,然后再结合具体工程的少量实测数据优化模型参数,获得管道缺陷语义分割模型。
10、进一步的,第一步具体包括:在bim软件中按照工程使用的管道设计图纸建立管道的三维数字几何模型,创建的三维数字几何模型将管道预先划分为三段:插口段、中间管段、承口段,每节管道的总长度分为有效长度和接口长度;承口段和插口段的长度分别是距离管道有效长度的端部10cm的范围;然后从bim软件中输出obj格式文件并导入unity3d中创建管道预制体;管道预制体设置了四个控制点,分别为“首点”、“承口端点”、“中间点”和“插口端点”,从而将管道的有效长度四等分。
11、进一步的,第二步具体为:结构性域随机化从整体到局部包括三类组件,分别为全局参数、规则线和沿规则线放置的物体对象;设定结构性域随机化的不同组件之间的概率联系,在模拟场景中设立全局参数,全局参数控制生成缺陷对象所对齐的规则线,包括了控制点数量、每个缺陷的发生概率和扫描方向;其中控制点数量由场景中模拟的管道数量和每节管道上的控制点数量共同决定;结构性域随机化的规则线包括管顶线、管中线、管底线,生成规则线需首先按照管道轴线方向安装管道预制体,其中管道预制体的轴线方向被预先设定为unity世界坐标系中的z轴方向;管中线由控制点生成,然后将管中线沿y轴上下偏移一个单位的管道半径,得到另外两条规则线,即管顶线和管底线;扫描方向设定为两种:沿着z轴正方向扫描和沿着z轴负方向扫描;随机扫描方向通过随机翻转全部控制点的z坐标实现。
12、进一步的,第三步所述管道脱节和错口的模拟算法按照下式建立:
13、
14、式(1)中:pcoord,dis是发生脱节缺陷之后的管道控制点坐标(x,y,z);pcoord,x、pcoord,y、pcoord,z是初始的管道坐标;和分别是沿着x轴和y轴的大于零的随机位移,单位为m;l2是管道承口段的接口长度;为沿着z轴的大于零的随机位移,单位为m;pcoord,mis是发生错口缺陷后的管道控制点坐标(x,y,z);是沿着z轴的大于零的随机位移,单位为m;分别是沿着x,y和z轴的随机旋转;
15、所述橡胶圈脱落的模拟算法按照以下方法建立:首先,在bim软件中对不同形状的橡胶圈进行建模,然后导入unity3d创建橡胶圈预制体;橡胶圈预制体以随机选择形状和概率的方式放置到管顶线的错口或脱节缺陷控制点上,同时沿着x和y轴随机缩放u(-trubb,trubb),沿着xoy平面在-180°到180°之间随机旋转,沿着x、y、z轴随机缩放u(srubb,min,srubb,max);其中,u代表均匀随机分布,trubb表示橡胶圈预制体从边缘到中心的距离,srubb,min和srubb,max分别表示橡胶圈尺寸的最小和最大缩放因子;
16、所述混凝土剥落的模拟算法按照以下方法建立:根据管道的表面弯曲特性,在管道bim设计模型的内径上构建混凝土剥落缺陷数字模型,并设定剥落缺陷的坐标原点位于横截面中心;剥落缺陷由两部分组成:剥落面和剥落洞口,剥落洞口表示扫描过程中激光入射口以实现剥落的遮挡关系;最后将混凝土剥落缺陷的obj数字模型导入unity3d并创建剥落缺陷预制体;在生成剥落缺陷预制体时,随机选择剥落的深度和形状,绕z轴在-180°到180°之间随机旋转,沿z轴随机平移u(-tspall,tspall),沿z轴随机缩放u(sspall,min,sspall,max),并按概率参数将其放置在不包括“首点”控制点的管中线上;其中u代表均匀随机分布,tspall设定为两个控制点之间距离的一半,sspall,min和sspall,max分别为剥落尺寸的最小和最大缩放因子;
17、所述腐蚀的模拟算法按照以下方法建立:腐蚀缺陷的建模在unity3d环境下通过顶点和三角面构建的网格编程实现,腐蚀表面顶点的坐标按下式生成:
18、
19、i型腐蚀的边缘顶点(θ=-θcorros或θ=θcorros)将单独设置为(x,y)=polartocart(θ,r)模拟腐蚀的边缘位置,而ii型腐蚀模拟全截面完全腐蚀的情况,使用三角面连接边缘顶点成为圆环网格;
20、式(2)中:polartocart(*)表示将极坐标系转换为直角坐标系的函数;r为管道的设计内径;u表示随机均匀分布,反映腐蚀程度;设置腐蚀等级的随机分布u(0,αt),其中t是管道壁厚,α为腐蚀损失百分比;θcorros设置为(θmin,θmax)范围内的随机值,生成从2θmin至2θmax的随机腐蚀角度,θmin和θmax分别为沿着管道横截面的最小和最大腐蚀范围;zscale表示沿着管道纵向的腐蚀长度,为随机值u(scorr,min,scorr,max),scorr,min和scorr,max分别为沿管道纵向的最小和最大腐蚀范围;new vector3(*)表示在unity中创建三维坐标向量;
21、所述淤积的模拟算法按照以下方法建立:利用perlin噪声和分形布朗运动fbm噪声模拟淤积缺陷的地形起伏,除了y坐标的变化外,淤积缺陷在x轴和z轴的范围定义为(-r,r),其中r为管道的设计半径,x、y、z坐标遵循unity3d的世界坐标系,模拟淤积深度的变化采用沿y轴随机平移其中yh为fbm算法在y轴上的波动高度,在0至的随机深度范围内生成淤积物;
22、所述障碍物堵塞的模拟算法按照以下方法建立:在bim软件中建模各种形状和大小的砖块模型,然后将其导入unity3d中创建障碍物预制体,随后,在障碍物预制体中添加rigidbody组件,以基于物理引擎模拟重力和运动阻力;同时,在障碍物预制体、管道预制体和淤积网格中添加碰撞器collider组件,使用random.onunitsphere()函数,从随机方向上按概率参数生成障碍物并由重力模拟掉落至管道底部。
23、进一步的,第四步具体包括:虚拟机器人的激光雷达扫描过程通过unity3d中的ray射线和physics.raycastall()函数进行模拟;设置点云的分辨率:在10m位置处的点距离为x,激光射线在垂直和水平方向上的角度步长均为θstep=arctan(x/10000)·180°/π;虚拟机器人的扫描范围分别设定为垂直方向夹角为(θlongi_start,θlongi_end)和水平方向夹角为(θcircum_start,θcircum_end);虚拟机器人激光雷达沿垂直方向发射(θlongi_end-θlongi_start)/θstep根ray射线来模拟垂直方向上的扫描,以θstep的角度步长进行水平旋转来模拟水平方向上的扫描,因此,每次扫描过程可收集的最大点云数量为[(θlongi_end-θlongi_start)/θstep]·[(θcircum_end-θcircum_start)/θstep];虚拟机器人的扫描模拟参数设置中,传感器长度设置为扫描射线的最远抵达距离,单次扫描结束后,虚拟机器人将移动至管中线的下一个控制点坐标;当虚拟机器人移动至场景中的最后一个控制点坐标时且点云采集任务仍未完成,将自动化重新生成新的混凝土管道缺陷场景继续点云采集任务。
24、进一步的,在虚拟机器人的激光雷达扫描过程中引入各种扫描误差,以使其更接近真实点云情况;扫描误差包括随机误差、距离误差和设备误差,见下式:
25、
26、式中:op'coord为施加误差后的扫描坐标点;opcoord为理想化的扫描坐标点;erandom是随机误差,包括x、y和z轴上的分量ex、ey和ez,且各分量均服从正态分布;μ是正态分布的均值,σ是正态分布的标准偏差,n(μ,σ)表示均值为μ、标准偏差为σ的正态分布;均由所模拟设备的技术参数确定;edistance是距离误差;σperdistanceunit是单位射线距离的附加标准偏差,根据技术参数确定;dhit为扫描传感器位置到目标点的距离;vray为扫描射线矢量的归一化向量。
27、进一步的,第五步所述自动化语义标注的合成点云生成算法具体流程为:①输入物理引擎模拟的激光射线与物体撞击后的信息hits={pointi=(xi,yi,zi),i=[0,n]},其中hits[0]=point0为射线击中的第一个对象信息,hits[1]=point1为第二个对象,以此类推;pointi是世界坐标系中的坐标位置;(xs,ys,zs)是虚拟机器人在世界坐标系中的位置坐标;②输出结果设定为:激光射线采集的点云在扫描仪坐标系中的坐标(x,y,z)和标签tag,其中tag=0表示正常,1为剥落,2为障碍物,3为腐蚀,4为错口,5为淤积,6为脱节,7为橡胶圈缺陷;③获取射线击中的第一个物体的类型hits[0].transform.tag;④下面依次按顺序判断,若hits[0].transform.tag为障碍物:(x,y,z)=(xs,ys,zs)-point0+erandom+edistance;tag=2;⑤若hits[0].transform.tag为橡胶圈缺陷:(x,y,z)=(xs,ys,zs)-point0+erandom+edistance;tag=7;⑥若hits0].transform.tag为淤积:(x,y,z)=(xs,ys,zs)-point0+erandom+edistance;tag=5;⑦若hits[0].transform.tag为剥落洞口,第一种情形是没有同时发生腐蚀,n≥2且hits[2].transform.tag为剥落面:(x,y,z)=(xs,ys,zs)-point2+erandom+edistance;tag=1;第二种情形是腐蚀深度小于剥落深度,n≥3且hist[2].transform.tag为腐蚀面且hits[3].transform.tag为剥落面:(x,y,z)=(xs,ys,zs)-point3+erandom+edistance;tag=1;⑧若管道发生脱节且hits[0].transform.tag为插口或承口:(x,y,z)=(xs,ys,zs)-point0+erandom+edistance;tag=6;⑨若管道发生错口且hits[0].transform.tag为插口或承口:(x,y,z)=(xs,ys,zs)-point0+erandom+edistance;tag=4;⑩若管道发生腐蚀,n≥1,hits[0].transform.tag为管段、插口或承口,且hits[1].transform.tag为腐蚀面:(x,y,z)=(xs,ys,zs)-point1+erandom+edistance;tag=3;最后若hits[0].transform.tag为管段、插口或承口:(x,y,z)=(xs,ys,zs)-point0+erandom+edistance;tag=0;获得点云数据(x,y,z,tag);所有数据集(x,y,z,tag)都会再通过open3d中python工具包进一步添加法向量数据(nx,ny,nz)。
28、本发明有益效果包括:
29、1.本发明针对城市排水管道,为该类型管道的缺陷语义分割提供了大量低成本、高质量、采集速度快、随机性强的人工合成数据,解决了深度学习在工程实际应用过程中面临的数据匮乏和单一的问题。
30、2.本发明所生成的人工合成点云,在理论上,其数据量仅受计算服务器的计算能力和数据存储能力的限制,因此相比现场采集大量成本高且速度慢的真实数据,为训练数据的扩充提供了一条低成本、快速的途径。
31、3.本发明基于unity3d游戏引擎和bim设计软件模拟了城市排水管道的缺陷场景,在集成3d建模和图形渲染技术的基础上采用先进的结构性域随机化模拟技术,构筑了逼真的数字化缺陷场景。
32、4.本发明结合地下管网检测中新兴的激光雷达管内检测技术,所提的人工合成数据生成方法集成了先进的激光雷达扫描模拟技术,实现了人工合成点云的自动化采集及语义标注,同时考虑了激光雷达采集的各种噪声影响,为生成高质量、逼真、语义丰富的人工合成点云奠定了基础。
33、5.本发明所提出的人工合成点云生成方法包括了复杂几何形式和高度随机分布的城市排水管道缺陷类别:“剥落”、“障碍物”、“腐蚀”、“错口”、“淤积”、“脱节”和“橡胶圈缺陷”。
34、6.本发明所提出的首先使用大量低成本、采集速度快的人工合成点云获得预训练基础模型,然后可使用较少量的工程实地真实点云进行微调方法,能够更好的利用人工合成点云,为合成点云与真实点云之间的知识迁移提供了有效途径。
35、7.本发明为城市排水管道缺陷的语义分割提供了新的数据增强途径,以更高效的方式识别复杂缺陷,为城市排水管道的缺陷量化评价奠定了基础。
本文地址:https://www.jishuxx.com/zhuanli/20240914/294597.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。