一种管道缺陷检测机器人及检测方法

文档序号:37906527发布日期:2024-05-09 21:54阅读:16来源:国知局
一种管道缺陷检测机器人及检测方法

本发明属于管道检测,具体涉及一种管道缺陷检测机器人及检测方法。


背景技术:

1、在不对污水管道进行开挖的条件下,急需对污水管道的损伤做检测,以排除隐藏的危险。据初步调查,目前国内地下管道维护60%依赖人工,30%采用进口设备,而国产设备只占到10%。由于管道内环境恶劣,同时长期使用的管道还可能有瘴气、中毒、漏电等危险情况,导致人工作业效率低下,并且还存在较大风险。因此城市地下管道检测机器人应运而生。管道检测机器人结构小巧简便,能适应不同的管道管径,运行平稳,操控性能好,检测效率高,能够代替人工进入实际管道内部工作。

2、目前,管道检测的主流方式为检测人员进入管道检查,这种方式不仅效率低下,而且存在安全性隐患,可检测管道缺陷范围较小,难以进行大规模管道检测。此外还有一种使用潜望镜的方法来实现管道检测,但由于设备的局限,管道潜望镜法主要检测对象为管口缺陷,针对细微的结构性缺陷及功能性缺陷的检测效果不好,只能进行初步的检测评估;管道的缺陷图像目前通常由专业检查人员进行判定,而大量的管道视频由人工来进行检测存在易疲劳、主观性强、效率低下等缺点。


技术实现思路

1、为了克服以上现有技术存在问题,本发明的目的在于提供一种管道缺陷检测机器人及检测方法,利用视觉技术识别管道缺陷并进行自动检测,能够对管道内部的缺陷进行图像采集并识别分类,解决管道中的恶劣环境对人工作业造成诸多不便的问题。

2、为了实现上述目的,本发明采用的技术方案是:

3、一种管道缺陷检测机器人,包括机械系统、控制系统、图像识别系统以及管道缺陷检测系统;

4、所述机械系统用于为机器人移动提供动力、保护、结构支撑和拍摄;

5、所述控制系统实时传输画面,便于操作人员规划路径,通过电缆实现画面的传送以及上位机对机械系统、图像识别系统以及管道缺陷检测系统的远程控制;

6、所述图像识别系统用于对于机械系统拍摄的图像采集后导入计算机内通过算法进行检测,从而判断管道是否有缺陷;

7、所述管道缺陷检测系统通过导入图像识别系统识别后的管道内视频图像,然后自动的生成对应的管道缺陷检测报告。

8、所述机械系统包括支撑装置、驱动装置、拍摄装置;所述支撑装置用于机器人的保护和结构支撑,设计为方形,包括顶板和底板,顶板和底板通过穿钉用螺栓连接,构造成中空骨架,中间中空骨架放置电控系统装置,底板底部利用紧定螺钉连接控制装置,保证机器人在运动过程中的可靠性;

9、位于支撑装置两侧设置有驱动装置,所述驱动装置包括驱动轮,驱动轮选用麦克纳姆轮作为管道检测机器人驱动轮,从而实现全向灵活运动;

10、所述驱动装置选择使用电机驱动作为管道检测机器人驱动方式,实际工作时驱动装置为管道机器人提供前进的动力。

11、所述支撑装置的底板前方设置拍摄装置,拍摄装置为视觉传感器,用于检测管道缺陷信息。

12、所述控制系统用于对管道机器人的工作情况进行实时控制,各类控制元件放置在所述底板上;所述控制系统分为电机驱动器模块、图像采集模块、光源模块;

13、所述电机驱动模块通过电机对机器人的驱动装置进行驱动;

14、所述图像采集模块用于对管道的内部信息进行图像采集,且将采集到的图像信息发送至图像识别系统进行识别分类;

15、所述光源模块通过上位机分析图像信息,从而向光源模块发出信号,产生光源。

16、所述控制系统用于实时传输画面的要求以便操作人员规划路径,在上位机ubuntu20.04系统中开发了一款管道机器人控制界面以实时控制管道机器人的工作情况,以stm32f407单片机作为下位机处理上位机发出的指令控制驱动模块实现机器人的行进,通过电缆实现画面的传送以及上位机对机器人的远程控制。

17、所述图像识别系统包括yolo-td的管道缺陷检测算法模块;

18、由于管道地形变化产生的摄像机剧烈抖动以及人为控制的大幅度偏摆等原因出现非正常视角,这一类视角通常以一种运动过渡状态短暂地出现在视频段中,有很大的概率被认定为带有缺陷的异常帧。

19、图像识别系统通过伪缺陷图像过滤对于非管道本身缺陷导致的伪异常帧过滤后,使用yolo-td的管道缺陷检测算法模块进行检测;

20、所述伪缺陷图像过滤是通过利用改进的lucas-kanade算法监测机械系统拍摄装置摄像机的位姿变化,对偏摆幅度大于一定阈值的视频帧从预测序列中剔除,这就能有效的降低过检率。同时,由于视频本身的连贯性这一策略并不会导致缺陷漏检。

21、其步骤是,对当前视频帧进行特征点检测,而后利用光流原理对检测出的特征点进行特征点跟踪,利用特征点移动的距离和方向来监测摄像机的位姿变化;

22、所述特征点检测是对于图像采集模块实时传送回来的管道内的图像选择图像上的几个点作为角点,将选用角点作为待跟踪特征点,在假定的角点周围放置一个小窗口,并观察窗口内某个方向上强度值的平均变化。

23、进一步的,所述角点为多个方向的平均强度变化值都比较高的像素点;

24、假定位移向量为(μ,γ),那么平均强度值变化就是:

25、

26、式中i(x,y)——管道内图像像素灰度;

27、w(x,y)——通过管道内部图像确定的窗口内对应像素坐标位置;

28、将式(1)泰勒展开得到式(2),将式(2)转换为矩阵形式得到式(3):

29、

30、

31、记中间矩阵为m,该矩阵的两个特征值分别表示最大平均强度值变化和其垂直方向的平均强度值变化;

32、如果两者都很大,那么就是在角点的位置,定义角点响应函数s式如下:

33、s=λ1λ2-k(λ1+λ2)2=det(m)-trace2(m)

34、式中λ1,λ2——矩阵m的两个特征值;

35、det——矩阵行列式;

36、trace——矩阵的迹。

37、将响应函数大于一定阈值δ的窗口中心认定为角点。由于管道场景整体灰度趋于平滑。同时,在算法中加入非极大值抑制,滤除极值相邻的角点,使检测角点较为分散地分布在视角中。

38、所述特征点跟踪为帕间特征点跟踪,根据视频帧的连续性,利用lucas-kanade算法跟踪检测到的角点,判断当前帧角点在后续帧中的新位置,根据位置变化幅度来判断摄像机的偏摆程度。假定相邻帧中的同一特征点强度值是不变的,这个过程就是寻找如下的位移(μ,γ):

39、it(x,y)=it+1(x+μ,y+v)

40、式中it和it+1分别代表机械装置所获取管道内图像的当前帧和下一个瞬间的帧;

41、强度值不变的假设适用于相邻图像上的微小位移,将式泰勒展开得到下式,去掉两个表示强度值的项可得到式:

42、

43、

44、单个方程无法解出两个未知量,l-k算法假设光流向量在像素点的邻域保持不变,然后使用最小二乘法对邻域中的所有像素点求解光流方程。然而,为了提高跟踪结果的精度,应该选择较小的邻域窗口,而为了处理快而长的运动应该选择大的邻域窗口。为了解决这一矛盾引入了金字塔l-k算法。

45、所述金字塔l-k算法为改进的lucas-kanade算法(为了解决特征点跟踪中不能同时处理提高跟踪结果的解决精度与处理长而快的运动提出的),先在图像金字塔的最顶层计算光流,用上一层估计到的运动结果作为下一层金字塔的初始值,下一层在上一层基础上计算光流向量,重复这样的估计直到金字塔的最底层,将最底层光流向量作为最终结果,上述策略能够使得l-k算法适用于速度快、位移大的运动,从而提高算法在真实检测场景中的准确性和鲁棒性。

46、所述流光的计算采用双向光流法;

47、所述双向逆流法步骤为在当前帧it利用l-k算法检测出当前帧特征点st,特征点st为之前所述角点,在下一帧it+1中对应的特征点st+1,同时进行反向计算将it+1作为当前帧,将it作为下一帧,计算出st+1在it中对应的特征点str,若st和str的偏差小于一定的阈值才认定为跟踪成功,经实际验证,双向光流法有效的提高了本场景特征点的跟踪效果,获取到了相邻帧的特征点位置信息后,根据下式:

48、

49、式中n为当前帧特征点数量,|s(t+1)i-sti|为特征点i前后帧x,y坐标差之和,δ为所设定的阈值,如果式成立,则认定该帧为伪异常帧并将其从缺陷检测序列中移除。

50、所述yolo-td的管道缺陷检测算法是基于yolo v5s模型,引入swin transformer结构来提取语义特征,dspp模块,损失函数;演变而来的。

51、将经过伪缺陷图像过滤后的待检测图像输入yolo v5s模型的主干网进行特征提取,然后经过颈部网络加强特征的鲁棒性,最后通过卷积层组成的检测头进行管道缺陷检测。

52、所述yolo v5s模型包括:输入端、基准网络、neck网络与head输出端;

53、所述输入端表示输入机械装置所提取的图片;该网络的输入图像大小为608*608,包含一个图像预处理阶段,即将输入图像缩放到网络的输入大小,并进行归一化等操作,在网络训练阶段,yolov5使用mosaic数据增强操作提升模型的训练速度和网络的精度;并提出了一种自适应锚框计算与自适应图片缩放方法。

54、基准网络通常是一些性能优异的分类器种的网络,该模块用来提取输入端提取图片所包含的一些通用的特征表示。yolov5中不仅使用了cspdarknet53结构,而且使用了focus结构作为基准网络,

55、所述cspdarknet53结构分为两种,csp1_x结构应用于基准网络,另一种csp2_x结构应用于neck网络中。

56、所述focus结构为对图像进行切片,使原始图像的长宽信息集中到通道空间,得到图像信息不变的二倍下采样特征图,改善检测精度的同时也提高了检测效率。。

57、所述neck网络通常位于基准网络和头网络的中间位置,利用它可以进一步提升输入端提取图片特征的多样性及鲁棒性,是利用spp模块实现。

58、所述head用来完成目标检测结果的输出。针对不同的检测算法,输出端的分支个数不尽相同,通常包含一个分类分支和一个回归分支。

59、本发明提出的yolo-td不再使用cspdarknet53作为主干网,而是选择了性能更好的swin transformer,使主干网可以提取更加高级的语义特征。

60、所述swin transformer结构用移动窗口将自注意力计算限制在非重叠的局部窗口上,同时允许跨窗口连接,具体来说,swin transformer是通过将transformer中的多头自注意力(msa)模块替换为基于移动窗口的模块。同时,在每个msa模块和每个mlp之前应用layernorm层,并且在每个模块之后应用残差连接。

61、然而,spp模块在检测过程中仅进行池化操作,导致图像特征的细节等信息出现不可逆的丢失,从而在管道缺陷检测的过程中出现漏检率高的问题。因此本发明提出了dspp模块来代替原始的spp模块进行池化操作

62、所述dspp模块为当swin transformer结构所得到的图像特征输入dspp后,与spp一样经过四个分支来进行不同尺度的最大化池化操作,并且每个分支的最大化池化信息会与其他分支的特征信息一同作为池化操作的输入,同时补充的池化信息量也由损失信息量决定,从而有效解决了spp存在的信息丢失问题,进一步提高了管道缺陷检测的准确性。

63、当输入特征信息为x时,dspp模块的输出信息y如式所示:

64、y=x+x2+x3+x4

65、其中x2,x3,x4分别如式所示:

66、x2=p5(x)

67、x3=p9(x+x2)

68、x4=p13(x+x2+x3)

69、所述损失函数损失函数共由三种损失构成:目标损失函数loss_obj、类别损失函数loss_cls和检测框损失函数loss_box。其中,loss_obj和loss_cls均采用交叉熵损失loss_bec进行计算:

70、

71、式中:n为图像总数,为sigmoid函数,ti和分别为标签真值和预测值。检测框损失函数loss_box如式所示:

72、loss_box=1-giou

73、其中,giou如式所示:

74、

75、式中:iou为交并比,a为检测框,b为预测框,c为能包含检测框和预测框的最小封闭框。本技术检测模型的损失函数loss_如式所示:

76、loss=αloss_obj+βloss_cls_+γ(1-giou)

77、式中:α=0.45,β=0.5,γ=0.05。

78、所述管道缺陷检测系统使用pyqt5设计端对端检测的图形用户界面。

79、该界面可以导入管道机器人拍摄到的管道内视频图像,然后自动的生成对应的管道缺陷检测报告。本测试对100张管道图像进行了检测,其中包含正常样本80张,缺陷样本20张,其包括裂缝、脱节、障碍和支管暗接类型的缺陷,在本次测试中,管道缺陷类别均被正确的判别。

80、一种管道缺陷检测机器人的管道检测方法,包括以下步骤;

81、步骤1:通过机械系统中拍摄装置的摄像头采集信息通过电控部分将实时的画面传送到pc端,确保无误后即可操纵小车向前进行缺陷检测;

82、步骤2:进行伪缺陷图像的过滤,通过摄像头将图像采集完成后传输到图像采集模块,通过在假定的角点周围放置一个小窗口,并观察窗口内某个方向上强度值的平均变化,假定位移向量为(μ,γ),那么平均强度值变化就是:

83、

84、式中i(x,y)——图像像素灰度;

85、w(x,y)——兴趣点邻域;

86、将式(1)泰勒展开得到式(2),将式(2)转换为矩阵形式得到式(3):

87、

88、

89、记中间矩阵为m,该矩阵的两个特征值分别表示最大平均强度值变化和其垂直方向的平均强度值变化;如果两者都很大,那么就是在角点的位置。定义角点响应函数s为式4:

90、s=λ1λ2-k(λ1+λ2)2=det(m)-trace2(m) (4)

91、式中λ1,λ2——矩阵m的两个特征值;

92、det——矩阵行列式;

93、trace——矩阵的迹。

94、将响应函数大于一定阈值δ的窗口中心认定为角点;由于管道场景整体灰度趋于平滑,将δ设定为0.1,窗口大小winsize设为15;同时,在算法中加入非极大值抑制,滤除极值相邻的角点,使检测角点较为分散地分布在视角中;

95、步骤3:根据视频帧的连续性,利用lucas-kanade算法跟踪检测到的角点,判断当前帧角点在后续帧中的新位置,根据位置变化幅度来判断摄像头的偏摆程度;假定相邻帧中的同一特征点强度值是不变的,这个过程就是寻找如下的位移(μ,γ):

96、it(x,y)=it+1(x+μ,y+v)(1)

97、式中it和it+1分别代表当前帧和下一个瞬间的帧。强度值不变的假设适用于相邻图像上的微小位移;

98、将式(1)泰勒展开得到式(2),去掉两个表示强度值的项可得到式(3):

99、

100、

101、单个方程无法解出两个未知量,l-k算法假设光流向量在像素点的邻域保持不变,然后使用最小二乘法对邻域中的所有像素点求解光流方程。然而,为了提高跟踪结果的精度,应该选择较小的邻域窗口,而为了处理快而长的运动应该选择大的邻域窗口。为了解决这一矛盾引入了金字塔l-k算法,先在图像金字塔的最顶层计算光流,用上一层估计到的运动结果作为下一层金字塔的初始值,下一层在上一层基础上计算光流向量,重复这样的估计直到金字塔的最底层,将最底层光流向量作为最终结果。上述策略能够使得l-k算法适用于速度快、位移大的运动,从而提高算法在真实检测场景中的准确性和鲁棒性。

102、在当前帧it利用l-k算法检测出当前帧特征点st在下一帧it+1中对应的特征点st+1,同时进行反向计算将it+1作为当前帧,将it作为下一帧,计算出st+1在it中对应的特征点str,若st和str的偏差小于一定的阈值才认定为跟踪成功。

103、如下式所示

104、

105、式中n为当前帧特征点数量,|s(t+1)i-sti|为特征点i前后帧x,y坐标差之和,δ为所设定的阈值,如果上式成立,则认定该帧为伪异常帧并将其从缺陷检测序列中移除;

106、步骤4:在对伪缺陷图像的过滤后对于通过机械部分所提取的照片再利用基于yolo-td的管道缺陷检测算法进行检测,首先,将待检测图像输入swin transformer进行特征提取,swin transformer用移动窗口将自注意力计算限制在非重叠的局部窗口上,同时允许跨窗口连接,从而提高了效率。此外,这种分层结构还具有在不同尺度下建模的灵活性,增强了模型捕获多尺度信息的能力。具体来说,swin transformer是通过将transformer中的多头自注意力(msa)模块替换为基于移动窗口的模块,解决了长期困扰业界的transformer应用到计算机视觉领域速度慢的问题。同时,在每个msa模块和每个mlp之前应用layernorm层,并且在每个模块之后应用残差连接。

107、步骤5:当提取到图像特征后将其输入dspp,与spp一样经过分别为1×1、5×5、9×9和13×13四个分支来进行不同尺度的最大化池化操作,并且每个分支的最大化池化信息会与其他分支的特征信息一同作为池化操作的输入,同时补充的池化信息量也由损失信息量决定,从而有效解决了spp存在的信息丢失问题,进一步提高了管道缺陷检测的准确性,当输入特征信息为x时,dspp模块的输出信息y如式(6)所示:

108、y=x+x2+x3+x4                  (6)

109、其中x2,x3,x4分别如式(7)~(9)所示:

110、x2=p5(x)  (7)

111、x3=p9(x+x2) (8)

112、x4=p13(x+x2+x3) (9)

113、pa为a×a的最大池化操作;“+”为concat操作。

114、步骤6:经过颈部网络加强特征的鲁棒性,最后通过卷积层组成的检测头进行管道缺陷检测。

115、本发明的有益效果:

116、1.本发明利用计算机视觉技术对采集的管道图像存在的缺陷类别进行自动检测。

117、2.本发明使用容易捕获全局信息的swin transformer结构来提取更强大的语义特征,增强网络对缺陷特征的提取能力。

118、3.本发明设计密集的空间金字塔池化模块并引入到yolo-td中,以获取目标中更加丰富的细节信息。

119、4.针对由于管道地形变化及人为偏摆控制等原因产生的伪缺陷图像的问题,利用改进的双向光流法对摄像机的位姿变化进行监测,过滤位姿变化幅度过大产生的伪异常图像。

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