一种基于辅助打孔目标检测的隧道打孔孔位定位方法与流程

未命名 08-27 阅读:127 评论:0


1.本发明涉及目标检测与隧道打孔定位技术领域,尤其涉及一种基于辅助打孔目标检测的隧道打孔孔位定位方法。


背景技术:

2.随着网络通信、人工智能、视频分析等技术的发展,传统地铁隧道施工行业紧追人工智能发展机遇,结合地铁隧道施工业务特点,积极探索人工智能落地应用,如何让该技术应用于地铁隧道施工安全运行及打孔实施和管理上实现智能化、物联化、实用化,一直是地铁隧道施工企业关注的重点。
3.隧道自动化打孔技术是一种新型的技术,其开发需要结合不同的技术学科,加强对施工方法、施工环境和工作条件等的研究,以实现更高效的施工过程,提高施工质量和效率,降低施工成本。
4.在地铁隧道施工中,隧道侧壁线缆、管道安装等都需要钻孔。隧道钻孔多采用的是人工作业方式,即工人在梯车上扶持电钻钻孔,针对于此,在隧道打孔机器人机械臂安装高清晰度工业相机,当自动打孔装置停下时,拍下此时的照片,利用工控机内置运行的目标检测算法,获取辅助打孔目标比如盾构板凹槽(上下左右四个方向)、锚栓等,利用辅助打孔目标信息,规划出适宜的打孔目标位置,将位置信息返回给工控机,工控机控制隧道打孔机器人实施自动打孔作业,从而能够实现更高效的打孔施工过程,提高施工质量和效率,降低施工成本。
5.目标检测过程中有很多不确定因素,如图像中物体数量不确定,物体有不同的外观、形状、姿态,加之物体成像时会有光照、遮挡、小目标检测精确度低等因素的干扰,导致检测算法有一定的难度。进入深度学习时代以来,目标检测算法的发展主要集中在两个方向: 两阶段目标检测器和单阶段目标检测器。两阶段的目标检测器通常基于一个区域建议网络(rpn)来生成区域建议,然后进行分类和包围盒回归步骤。单阶段检测器的例子包括rcnn、 fast rcnn和faster rcnn。另一方面,单阶段目标检测器将区域提议和检测步骤结合到一个单一的网络中,如 yolo、 ssd 和 retinanet。相比其它检测算法,yolov5算法的准确率和速度是平衡的最好的,但在地铁隧道环境中的检测效果并不佳,无法快速有效地识别地铁隧道盾构板辅助打孔的目标。目前,除了传统的借助依靠工人经验规划打孔孔位外,还有一些利用机器人、传感器和人工智能算法等方式来规划打孔孔位以提高打孔作业的安全性和效率。


技术实现要素:

6.本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于辅助打孔目标检测的隧道打孔孔位定位方法,辅助打孔机器人更简单、更高效、更有序地进行自动化打孔作业。
7.为解决上述技术问题,本发明所采取的技术方案是:一种基于辅助打孔目标检测
的隧道打孔孔位定位方法,包括以下步骤:步骤1:获取盾构板辅助打孔目标图像数据集,将数据集的分辨率调整到统一大小;并按照比例划分为训练集和测试集;步骤2:对盾构板辅助打孔目标图像数据集中的辅助打孔目标进行标注,并检查是否有类别名标错或漏标的图像;所述辅助打孔目标包括盾构板凹槽和锚栓;对盾构板辅助打孔目标图像数据集中的辅助打孔目标进行标注,包括盾构板朝上凹槽、盾构板朝下凹槽、盾构板朝左凹槽、盾构板朝右凹槽和锚栓五种目标类别,标注后同时保存图像中每种目标的大小、位置和类别信息;步骤3:对标注后的训练集进行图像预处理,制作voc格式的训练集;所述制作voc格式数据集的过程具体为:将图像数据和标注信息一起制作成pascal voc格式的训练数据集,训练数据集包含annotations、imagesets和images三个文件夹:annotations文件夹存放图片标注信息的xml文件,imagesets文件夹存放的都是txt文件,txt文件中每一行包含一个图片的名称,这些txt文件将数据集的图片分成训练集和测试集集合,images文件夹包含所有的训练和测试验证图像;步骤4:提取训练集中隧道盾构板上的辅助打孔目标的先验框尺寸信息;在训练集中,通过标记信息获得了隧道盾构板凹槽和锚框区域的标注框尺寸信息,利用k-means聚类求出盾构板凹槽与锚栓的先验框尺寸,并利用设定的3种尺度先验框聚类出9种尺寸的先验框;步骤5:基于改进的yolov5网络搭建目标检测模型;以yolov5检测模型为基础,在其骨干网络中除csp结构之外的普通卷积都替换成ghostconv轻量化卷积,并在sppf结构前加上ca注意力模块;在特征提取网络部分也将普通卷积都替换成ghostconv轻量化卷积,并在csp结构之后增加psa注意力模块,采用softmax分类器做训练,在训练参数中设置学习率为0.0001,批量大小为12,采用批量标准化对权重参数和偏置参数进行迭代训练,设置权重衰减速率weight_decay默认为0.0005,动力为0.937,优化器采用的是adamw,池化层采用平均池化方式,同时将最大池化的padding的模式设为same,迭代训练100次;步骤6:利用训练集数据对目标检测模型进行训练;修改目标检测模型的目标检测的目标类别数及对应的目标类别名称,并将模型配置文件yaml中的预设9个先验框尺寸替换为步骤4聚类出来的先验框尺寸,然后将ghostconv轻量化卷积,psa注意力模块和ca注意力模块的相关代码加入到yolov5网络结构的相应位置,最后运行yolov5网络的train.py文件,在训练集上对改进的yolov5目标检测模型进行训练;步骤7:采用训练好的目标检测模型对盾构板辅助打孔目标进行检测;将工业相机实时采集的地铁隧道盾构板图像输入训练好的目标检测模型中进行检测,在给定准确度置信度阈值下得到盾构板辅助打孔目标的初步检测结果,初步检测结果包括目标类别及目标边界框坐标;然后使用非极大值抑制算法去除冗余的目标边界框,从而识别出地铁隧道盾构板辅助打孔目标;步骤8:利用目标检测模型检测出的地铁隧道盾构板辅助打孔目标确定适宜的打孔孔位位置;
1)找到所有的地铁隧道盾构板凹槽匹配对,凹槽匹配对需要满足如下两个条件:a、水平方向:图像内左侧凹槽在左、右侧凹槽在右,且左右凹槽之间的距离大于最小距离,小于最大距离;b、左侧凹槽和右侧凹槽在垂直方向有交集;2)将所有的凹槽匹配对按照盾构板分组,并选择在图像中最靠近居中位置的匹配对组,具体分组步骤如下:对所有匹配对分组,在同一个盾构板上的匹配对均为同一组;选择距离图像中心最近的匹配对组;3)在选择的凹槽匹配对组内分析所有凹槽匹配对,选择适宜的打孔孔位位置;适宜的打孔位置,在y轴为朝右盾构板凹槽最右侧与朝左盾构板凹槽最左侧距离的1/3位置;在x轴选取指定打孔的高度位置,选取的x轴与y轴的交点作为适宜打孔孔位位置坐标。
8.采用上述技术方案所产生的有益效果在于:本发明提供的一种基于辅助打孔目标检测的隧道打孔孔位定位方法,从地铁隧道实际环境出发,针对光照不均匀、局部过度曝光、隧道空间小遮挡严重、小目标检测不准的问题展开研究,设计了基于改进yolov5的目标检测模型,在骨干网络和特征提取网络部分将普通卷积替换成ghostconv轻量化卷积,并在sppf结构前加上ca注意力模块,在csp结构之后增加psa注意力模块。设计的目标检测模型在参数减少的情况下利用注意力模块帮助了提高模型的性能,允许模型关注数据中最相关的部分,并且提升了对暗光下目标检测的准确度,从而提升了隧道环境下目标检测的精度,实测在1280分辨率的条件下使用1060显卡下检测用时为250ms,准确率高,在隧道打孔检测领域有很高的应用价值。同时,采用k-means聚类算法对真实标注框进行统计得到锚边框的尺度,以生成更高质量的候选窗口,提高了预测框回归的准确性,从而提升了地铁隧道盾构板辅助打孔目标的检测精度。最后利用辅助打孔目标的结构,更好的自适应的定位出了适宜孔位打孔位置的坐标信息。
附图说明
9.图1为本发明实施例提供的一种基于辅助打孔目标检测的隧道打孔孔位定位方法的流程图;图2为本发明实施例提供的基于改进的yolov5网络搭建的目标检测模型的网络结构示意图;图3为本发明实施例提供的ghostconv轻量化卷积的网络结构示意图;图4为本发明实施例提供的ca注意力模块的网络结构示意图;图5为本发明实施例提供的pas注意力模块的网络结构示意图;图6为本发明实施例提供的对地铁隧道内盾构板辅助打孔目标进行检测和适宜孔位定位的实际效果图,其中,(a)为目标检测模型检测结果,(b)为打孔孔位y轴适宜位置,(c)为适宜打孔孔位位置坐标。
实施方式
10.下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
11.一种基于辅助打孔目标检测的隧道打孔孔位定位方法,如图1所示,包括以下步骤:步骤1:获取盾构板辅助打孔目标图像数据集,将数据集的分辨率调整到统一大小;并按照比例划分为训练集和测试集;本实例中,通过模拟机械臂的运动方式,手持同类型的工业相机获取大量不同光照场景下的盾构板的视频图像,每隔两秒保存一幅图像,并删除拍摄质量过差的图片,将采集图像按照4:1比例划分为训练集和测试集;步骤2:对盾构板辅助打孔目标图像数据集中的辅助打孔目标(盾构板凹槽和锚栓)进行标注,并检查是否有类别名标错或漏标的图像;对数据集中辅助打孔目标进行标注,包括盾构板朝上凹槽(up)、盾构板朝下凹槽(down)、盾构板朝左凹槽(left)、盾构板朝右凹槽(right)和锚栓(circle)五种目标类别,标注后同时保存图像中每种目标的大小、位置和类别信息;作为本实施例一种可能的实现方式,在对目标检测模型进行训练前还包括训练集图像增强处理步骤。训练集图像增强处理包括:调整图像的曝光度、hsv色域与饱和度,利用数据抖动以及水平翻策略生成更多的训练数据,还使用了 mosaic 数据增强方法,其主要思想就是将 4 张图片进行随机裁剪、缩放后,再随机排列拼接形成一张图片,实现丰富数据集的同时,增加了小样本目标,提升网络的训练速度。
12.步骤3:对标注后的训练集进行图像预处理,制作voc格式的训练集;所述制作voc格式数据集的过程具体为:将图像数据和标注信息一起制作成pascal voc格式的训练数据集,训练数据集包含annotations、imagesets和images三个文件夹:annotations文件夹存放图片标注信息的xml文件,imagesets文件夹存放的都是txt文件,txt文件中每一行包含一个图片的名称,这些txt文件将数据集的图片分成训练集和测试集集合,images文件夹包含所有的训练和测试验证图像;步骤4:提取训练集中隧道盾构板上的辅助打孔目标的先验框尺寸信息;在训练集中,通过标记信息获得了隧道盾构板凹槽和锚框区域的标注框尺寸信息,利用k-means聚类求出盾构板凹槽与锚栓的先验框尺寸,并利用设定的3种尺度先验框聚类出9种尺寸的先验框;9种尺寸的先验框分别是:(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326)。本实施例中,在最小的4*4、2*2特征图上(有最大的感受野)应用较大的先验框(116x90),(156x198),(373x326),适合检测较大的对象适用于较大的物体对象的检测。在中等的16*16、8*8特征图上(中等感受野)应用中等大小的先验框(30x61),(62x45),(59x119),适合检测中等大小的物体。在较大的64*64、32*32特征图上(较小的感受野)应用较小的先验框(10x13),(16x30),(33x23),适合检测较小的对象。
13.步骤5:基于改进的yolov5网络搭建目标检测模型;在pytorch深度学习框架中构建目标检测模型,如图2所示,以yolov5检测模型为基础,在其骨干网络中除csp结构之外的普通卷积都替换成ghostconv轻量化卷积,并在sppf结构前加上ca注意力模块;在特征提取网络部分也采用上述策略,将普通卷积都替换成ghostconv轻量化卷积,并在csp结构之后增加psa注意力模块,采用softmax分类器做训练,在训练参数中设置学习率为0.0001,批量大小为12,采用批量标准化对权重参数和偏置
参数进行迭代训练,设置权重衰减速率weight_decay默认为0.0005,动力为0.937,优化器采用的是adamw,池化层采用平均池化方式,同时将最大池化的padding的模式设为same,迭代训练100次;本实施例中,ghostconv轻量化卷积的基本网络结构如图3所示。将原本的一步卷积变为两步卷积,第一步首先进行常规卷积,但是减少了输出通道数,第二步在第一步的基础上进行深度可分离卷积;此外,第二步卷积还有并行的一个连接分支,这个分支是第一步卷积的输出。ghostconv轻量化卷积的输出通道数等于第一步卷积后的通道数c加上第二步卷积后的通道数n*c,所以最终通道数为(n+1)*c。
14.ca注意力模块的基本网络结构如图4所示。利用两个1d全局池操作,分别将沿垂直和水平方向的输入特征聚合为两个单独的方向性特征图;然后将这两个具有嵌入的方向特定信息的特征图分别编码为两个关注图,每个关注图捕获输入特征图沿一个空间方向的长距离相关性;因此,位置信息可以被保存生成为两个注意力图。然后通过乘法将两个注意力图应用于输入特征图以强调感兴趣的表示。
15.pas注意力模块的基本网络结构如图5所示。首先此模块将输入张量从通道上分成s组,每一组进行不同卷积核大小的卷积,卷积核大小逐渐增大,如k=3,5,7,9,以获取不同尺度特征图的感受野,通过这种方法,psa整合了不同尺度的上下文信息,具有更好的像素级注意力,然后使用se模块提取每个组通道的权重值,最后加权s组的权重值,最后对每组通道注意力的权重值拼接,进行softmax归一化,并对s组的输出特征图进行加权。
16.步骤6:利用训练集数据对目标检测模型进行训练;coco数据集为公开图像数据集,yolov5模型的预训练权重文件就是在此数据集上训练而来的。在进行迁移训练时,根据本实例的对目标检测算法目标类别需求,将原始目标类别80改为5,并修改目标类别名称为up,down,left,right和circle。 修改目标检测模型的目标检测的目标类别数及对应的目标类别名称,并将模型配置文件yaml中的预设9个先验框尺寸替换为步骤4聚类出来的先验框尺寸,然后将ghostconv轻量化卷积,psa注意力模块和ca注意力模块的相关代码加入到yolov5网络结构的相应位置,最后运行yolov5网络的train.py文件,在训练集上对改进的yolov5目标检测模型进行训练;步骤7:采用训练好的目标检测模型对盾构板辅助打孔目标进行检测;将工业相机实时采集的地铁隧道盾构板图像输入训练好的目标检测模型中进行检测,在给定准确度置信度阈值下得到盾构板辅助打孔目标的初步检测结果,初步检测结果包括目标类别及目标边界框坐标;然后使用非极大值抑制算法(nms)去除冗余的目标边界框,从而识别出地铁隧道盾构板辅助打孔目标,目标检测模型检测结果如图6(a)所示;所述使用非极大值抑制算法去除冗余的目标边界框的过程具体为:(1)通过目标检测模型检测得到所有目标检测窗口及其得分score;(2)对所有窗口的得分进行排序,选中最高分及其对应的窗口被选为抑制窗口;(3)剩下得分比抑制窗口低的窗口则作为被抑制窗口,计算被抑制窗口与抑制窗口的重叠面积(iou);(4)如果重叠面积高于大于设定阈值t,则对该窗口进行抑制,即将该窗口去除;(5)当只剩一个检测窗口则结束,否则继续选择下一个分数最高的窗口作为抑制窗口,转到步骤(4);经过非极大值抑制后,得到最终的检测结果。
17.步骤8:利用目标检测模型检测出的地铁隧道盾构板辅助打孔目标确定适宜的打孔孔位位置;1)找到所有的地铁隧道盾构板凹槽匹配对,凹槽匹配对需要满足如下两个条件:a、水平方向:图像内左侧凹槽在左、右侧凹槽在右,且左右凹槽之间的距离大于最小距离,小于最大距离(最小距离即左侧凹槽右边界与右侧凹槽左边界之间的最近距离,最大距离根据实际情况确定,本实施例中,将最小距离设置为100个像素单位,将最大距离设置为1500个像素单位);b、左侧凹槽和右侧凹槽在垂直方向有交集;2)将所有的凹槽匹配对按照盾构板分组,并选择在图像中最靠近居中位置的匹配对组,具体分组步骤如下:对所有匹配对分组,在同一个盾构板上的匹配对均为同一组;选择距离图像中心最近的匹配对组;3)在选择的凹槽匹配对组内分析所有凹槽匹配对,选择适宜的打孔孔位位置;适宜的打孔位置,在y轴为朝右盾构板凹槽最右侧与朝左盾构板凹槽最左侧距离的1/3位置,打孔孔位y轴适宜位置如图6(b)所示;在x轴选取指定打孔的高度位置,选取的x轴与y轴的交点作为适宜打孔孔位位置坐标,如图6(c)所示;将适宜的打孔孔位位置发给打孔机器人就能够在地铁隧道实施打孔作业。
18.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

技术特征:
1.一种基于辅助打孔目标检测的隧道打孔孔位定位方法,其特征在于:包括以下步骤:步骤1:获取盾构板辅助打孔目标图像数据集,将数据集的分辨率调整到统一大小;并按照比例划分为训练集和测试集;步骤2:对盾构板辅助打孔目标图像数据集中的辅助打孔目标进行标注,并检查是否有类别名标错或漏标的图像;所述辅助打孔目标包括盾构板凹槽和锚栓;步骤3:对标注后的训练集进行图像预处理,制作voc格式的训练集;步骤4:提取训练集中隧道盾构板上的辅助打孔目标的先验框尺寸信息;步骤5:基于改进的yolov5网络搭建目标检测模型;以yolov5检测模型为基础,在其骨干网络中除csp结构之外的普通卷积都替换成ghostconv轻量化卷积,并在sppf结构前加上ca注意力模块;在特征提取网络部分也将普通卷积都替换成ghostconv轻量化卷积,并在csp结构之后增加psa注意力模块,采用softmax分类器做训练,在训练参数中设置学习率为0.0001,批量大小为12,采用批量标准化对权重参数和偏置参数进行迭代训练,设置权重衰减速率weight_decay默认为0.0005,动力为0.937,优化器采用的是adamw,池化层采用平均池化方式,同时将最大池化的padding的模式设为same,迭代训练100次;步骤6:利用训练集数据对目标检测模型进行训练;步骤7:采用训练好的目标检测模型对盾构板辅助打孔目标进行检测;步骤8:利用目标检测模型检测出的地铁隧道盾构板辅助打孔目标确定适宜的打孔孔位位置。2.根据权利要求1所述的一种基于辅助打孔目标检测的隧道打孔孔位定位方法,其特征在于:所述步骤2对盾构板辅助打孔目标图像数据集中辅助打孔目标进行标注,包括盾构板朝上凹槽、盾构板朝下凹槽、盾构板朝左凹槽、盾构板朝右凹槽和锚栓五种目标类别,标注后同时保存图像中每种目标的大小、位置和类别信息。3.根据权利要求1所述的一种基于辅助打孔目标检测的隧道打孔孔位定位方法,其特征在于:所述制作voc格式数据集的过程具体为:将图像数据和标注信息一起制作成pascal voc格式的训练数据集,训练数据集包含annotations、imagesets和images三个文件夹:annotations文件夹存放图片标注信息的xml文件,imagesets文件夹存放的都是txt文件,txt文件中每一行包含一个图片的名称,这些txt文件将数据集的图片分成训练集和测试集集合,images文件夹包含所有的训练和测试验证图像。4.根据权利要求1所述的一种基于辅助打孔目标检测的隧道打孔孔位定位方法,其特征在于:所述步骤4的具体方法为:在训练集中,通过标记信息获得隧道盾构板凹槽和锚框区域的标注框尺寸信息,利用k-means聚类求出盾构板凹槽与锚栓的先验框尺寸,并利用设定的3种尺度先验框聚类出9种尺寸的先验框。5.根据权利要求1所述的一种基于辅助打孔目标检测的隧道打孔孔位定位方法,其特征在于:所述步骤6的具体方法为:修改目标检测模型的目标检测的目标类别数及对应的目标类别名称,并将模型配置文件yaml中的预设9个先验框尺寸替换为步骤4聚类出来的先验框尺寸,然后将ghostconv轻量化卷积,psa注意力模块和ca注意力模块的相关代码加入到yolov5网络结构的相应位置,最后运行yolov5网络的train.py文件,在训练集上对改进的
yolov5目标检测模型进行训练。6.根据权利要求2所述的一种基于辅助打孔目标检测的隧道打孔孔位定位方法,其特征在于:所述步骤7的具体方法为:将工业相机实时采集的地铁隧道盾构板图像输入训练好的目标检测模型中进行检测,在给定准确度置信度阈值下得到盾构板辅助打孔目标的初步检测结果,初步检测结果包括目标类别及目标边界框坐标;然后使用非极大值抑制算法去除冗余的目标边界框,从而识别出地铁隧道盾构板辅助打孔目标。7.根据权利要求6所述的一种基于辅助打孔目标检测的隧道打孔孔位定位方法,其特征在于:所述步骤8的具体方法为:1)找到所有的地铁隧道盾构板凹槽匹配对,凹槽匹配对需要满足如下两个条件:a、水平方向:图像内左侧凹槽在左、右侧凹槽在右,且左右凹槽之间的距离大于最小距离,小于最大距离;b、左侧凹槽和右侧凹槽在垂直方向有交集;2)将所有的凹槽匹配对按照盾构板分组,并选择在图像中最靠近居中位置的匹配对组,具体分组步骤如下:对所有匹配对分组,在同一个盾构板上的匹配对均为同一组;选择距离图像中心最近的匹配对组;3)在选择的凹槽匹配对组内分析所有凹槽匹配对,选择适宜的打孔孔位位置;适宜的打孔位置,在y轴为朝右盾构板凹槽最右侧与朝左盾构板凹槽最左侧距离的1/3位置;在x轴选取指定打孔的高度位置,选取的x轴与y轴的交点作为适宜打孔孔位位置坐标。

技术总结
本发明提供一种基于辅助打孔目标检测的隧道打孔孔位定位方法,涉及目标检测与隧道打孔定位技术领域。该方法首先获取盾构板辅助打孔目标图像数据集,对数据集中的辅助打孔目标进行标注,对标注后的训练集进行图像预处理,制作VOC格式的训练集;再提取训练集中隧道盾构板上的辅助打孔目标的先验框尺寸信息;然后基于改进的YOLOV5网络搭建目标检测模型;并利用训练集数据对目标检测模型进行训练;最后采用训练好的目标检测模型对盾构板辅助打孔目标进行检测;利用目标检测模型检测出的地铁隧道盾构板辅助打孔目标确定适宜的打孔孔位位置。该方法设计的目标检测模型提升了对暗光下目标检测的准确度,从而提升了隧道环境下目标检测的精度。检测的精度。检测的精度。


技术研发人员:郭军 吴定贵 刘艳伟 刘轶轩
受保护的技术使用者:帝信科技股份有限公司
技术研发日:2023.03.15
技术公布日:2023/8/24
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐