2. 中国科学院大学,北京 100049;
3. 云南省滇中引水二期工程有限公司,昆明 650000;
4. 长江科学院,武汉 430010;
5. 云南省曲靖市富源县水务局,曲靖 655500;
6. 云南省滇中引水工程有限公司,昆明 650000
2. University of Chinese Academy of Sciences, Beijing 100049, China;
3. Yunnan Dianzhong Water Diversion Phase Ⅱ Engineering Co., Ltd., Kunming 650000, China;
4. Changjiang River Scientific Research Institute, Wuhan 430010, China;
5. Yunnan Qujing Fuyuan Administration of Water Resources, Qujing 655500, China;
6. Yunnan Dianzhong Water Diversion Engineering Co., Ltd., Kunming 650000, China
作为滇中引水控制性工程的香炉山隧洞埋深大、地质条件复杂,有发生中等及以上岩爆的风险[1]。因此计划于香炉山隧洞岩爆段布设中国科学院武汉岩土力学研究所和湖北海震科创技术有限公司联合研发的中科微震监测系统[2-3],以实现岩爆实时监测与预警。为保证监测质量,微震传感器应安装于钻孔内[4-5]。然而,TBM(tunnel boring machine)干涉导致钻孔坐标和倾角的人工测量误差大且效率低,严重影响微震源定位精度[6]和岩爆预警实时性。机器视觉技术通过目标物在不同视角下的位置差异实现快速无接触测量,可用于香炉山隧洞微震传感器钻孔的自动定位。
基于机器视觉的钻孔定位首先需要检测钻孔口轮廓椭圆。椭圆检测方法主要分为基于点和基于弧段的方法。基于点的方法以Hough变换[7]或最小二乘拟合方法为理论基础。Hough变换的主要问题是五维参数空间带来的计算和内存挑战[8];最小二乘拟合方法的问题是容易过拟合,易受噪声点的影响[9]。基于弧段的方法则是将连续的边缘点连接为弧段,并以弧段为最小单元进行组合匹配[10]。2种椭圆检测方法在常规图像中表现较好,但都难以适应香炉山隧洞钻孔轮廓图像噪声严重和孔口轮廓缺失变形的恶劣条件。
在检测轮廓椭圆后,即可开展钻孔定位工作。现有研究的定位目标多为垂直钻孔,定位参数也仅限于钻孔直径和钻孔口中心坐标。范安然[11]通过构建双目视觉系统,利用椭圆检测和图像匹配,获取圆形钻孔的三维坐标。胡彦强等[12]通过引入线结构光发射器,利用Canny算子和Ramer算法,实现圆形平面的定位。Lei等[13]和黄金[14]都先检测双目相机图像中的钻孔口轮廓,再根据视差定位钻孔中心,以实现矿井巷道钢带孔的中心坐标定位。
综上所述,现有研究多聚焦于金属工件上的钻孔,特点为图像背景清晰规整、钻孔口为圆形、定位目标为钻孔直径和钻孔口中心坐标。而香炉山隧洞钻孔与金属工件上的钻孔显著不同:隧洞环境灯光复杂、洞壁粗糙,导致图像背景噪声干扰严重;钻孔口为椭圆形,且孔口轮廓因受施工和凹凸表面影响而畸变严重;定位目标为钻孔口中心坐标和钻孔角度等多维特征,且非平行投影导致图像椭圆中心偏离实际钻孔中心[15]。因此,现有方法难以在香炉山隧洞复杂环境下精准定位倾斜钻孔的坐标和角度等多维特征。
本文提出一种基于深度机器视觉的香炉山隧洞钻孔多维特征精准定位方法YOLO-AT,该方法包括钻孔轮廓检测和钻孔特征定位2部分。首先,在YOLO V8模型中加入旋转角预测模块,以实现复杂隧洞背景下钻孔轮廓的精准稳定拟合;其次,根据对极线和点序不变性特点追踪特定锚点在不同视角下的像素坐标;最后,根据视差定位各锚点的三维坐标,求解隧洞钻孔的多维特征。
1 钻孔多维特征精准定位 1.1 钻孔定位的理论模型明确钻孔定位的目标并建立如图 1所示的钻孔定位理论模型是后续钻孔多维特征定位研究的基础。首先建立世界坐标系OW-XWYWZW,即在真实空间中人为指定某一三维直角坐标系,然后建立空间中的钻孔模型。在世界坐标系中,存在某一钻孔 D,其钻孔壁的形状为圆柱面,其准线是以孔底圆心(xWO, yWO, zWO)为圆心,以rD为半径的圆,其母线的方向向量为NW=[αWD, βWD, γWD](后文称为钻孔方向),则钻孔 D表示为
$ \boldsymbol{D}:\left\{\begin{array}{l} \beta_{\mathrm{W}}^{\mathrm{D}} \gamma_{\mathrm{W}}^{\mathrm{D}}\left(x-x_1\right)=\alpha_{\mathrm{W}}^{\mathrm{D}} \gamma_{\mathrm{W}}^{\mathrm{D}}\left(y-y_1\right)=\alpha_{\mathrm{W}}^{\mathrm{D}} \beta_{\mathrm{W}}^{\mathrm{D}}\left(z-z_1\right) ; \\ \left(x_1-x_{\mathrm{W}}^{\mathrm{O}}\right)^2+\left(y_1-y_{\mathrm{W}}^{\mathrm{O}}\right)^2+\left(z_1-z_{\mathrm{W}}^{\mathrm{O}}\right)^2=r_{\mathrm{D}}^2 ; \\ \alpha_{\mathrm{W}}^{\mathrm{D}}\left(x_1-x_{\mathrm{W}}^{\mathrm{O}}\right)+\beta_{\mathrm{W}}^{\mathrm{D}}\left(y_1-y_{\mathrm{W}}^{\mathrm{O}}\right)+\gamma_{\mathrm{W}}^{\mathrm{D}}\left(z_1-z_{\mathrm{W}}^{\mathrm{O}}\right)=0 . \end{array}\right. $ | (1) |
![]() |
图 1 钻孔定位的理论模型 |
其中(x1, y1, z1)为准线圆上的任一点。
由于钻孔直径远小于隧洞直径,因此,将钻孔处洞壁近似为平面,其方向向量为NP=[αWP, βWP, γWP],称为钻孔口平面方向。钻孔口平面与钻孔壁的交线为钻孔口椭圆,中心坐标为(xWE, yWE, zWE),则钻孔口平面 P和钻孔口椭圆 E可描述为
$ \begin{gathered} \boldsymbol{P}: \alpha_{\mathrm{W}}^{\mathrm{P}}\left(x-x_{\mathrm{W}}^{\mathrm{E}}\right)+\beta_{\mathrm{W}}^{\mathrm{P}}\left(y-y_{\mathrm{W}}^{\mathrm{E}}\right)+ \\ \gamma_{\mathrm{W}}^{\mathrm{P}}\left(z-z_{\mathrm{W}}^{\mathrm{E}}\right)=0, \end{gathered} $ | (2) |
$ \boldsymbol{E}:\left\{\begin{array}{l} \boldsymbol{D}(x, y, z)=0 \\ \boldsymbol{P}(x, y, z)=0 \end{array} .\right. $ | (3) |
最后,建立世界坐标系中的相机系统。在目标钻孔前方,设立若干具有不同视角和方位的视觉相机C1~Cn,依次对目标钻孔进行拍摄,可得到n张钻孔区域图像(下文简称帧)I1~In。对任意相机Ci建立相机坐标系OC-XCYCZC和像素坐标系OI-XIYI。前者是以相机光心为原点,以光轴为Z轴,以成像平面宽度方向为X轴、高度方向为Y轴的三维直角坐标系;后者是以图像左上角像素为原点OI、宽度方向为XI轴、高度方向为YI轴的二维直角坐标系。根据小孔成像模型,钻孔口轮廓上的任一点 K =(xW, yW, zW)与其在第i帧图像上的成像点(ui, vi)有如下映射关系:
$ s_i\left[\begin{array}{c} u_i \\ v_i \\ 1 \end{array}\right]=\boldsymbol{Q}_i K=\boldsymbol{A}_i\left[\begin{array}{cc} \boldsymbol{R}_i & \boldsymbol{T}_i \\ 0 & 1 \end{array}\right]\left[\begin{array}{c} x_{\mathrm{W}} \\ y_{\mathrm{W}} \\ z_{\mathrm{W}} \\ 1 \end{array}\right] . $ | (4) |
其中:si为钻孔口轮廓上的点在第i相机光轴上的投影长度;Qi为第i相机的映射矩阵;Ai为第i相机的内参矩阵;Ri、Ti分别为第i相机的旋转矩阵和平移向量。
分别以钻孔口轮廓椭圆 E的长短半轴为X轴和Y轴,钻孔口平面方向NP为Z轴方向,孔口椭圆中心为原点,建立孔口坐标系OP-XPYPZP。最后,定义钻孔口椭圆中心到孔底圆心的距离为孔深hD。
分析钻孔定位的理论模型可以发现:除孔深外,钻孔的其他参数都与孔口轮廓椭圆有关,这就使通过机器视觉测定孔口椭圆,随后定位钻孔的多维特征(包括钻孔口中心坐标、钻孔直径、钻孔方向和钻孔口平面方向)成为可能。
1.2 基于改进YOLO V8的钻孔轮廓检测YOLO是一系列基于卷积神经网络的目标检测算法[16],YOLO V8作为YOLO家族的最新模型,在YOLO V5模型的基础上对模型结构、训练及预测方法等各方面进行了优化改进,已在各领域应用中展示出强大的目标检测能力[17]。常规YOLO V8模型的输出值为目标框中心坐标和目标框的宽度与高度,可检测钻孔是否存在,但由于缺少旋转角信息,无法精准拟合钻孔轮廓椭圆,因此需要对YOLO V8模型进行以下改进。
1) 增加旋转角的回归预测。
在标准YOLO V8模型预测目标框参数(目标框坐标和长宽)和分类置信度的基础上,使用长边定义法[18],将钻孔旋转角的预测转化为范围为(-π/2, π/2)的回归问题。
2) 优化损失值的计算。
交并比(intersection over union, IoU)是目标检测领域最常用的损失评估指标[19]。然而,周期性变化的旋转角在周期边界的不连续性会导致损失值与真实拟合效果不一致[18],导致YOLO V8使用的Complet-IoU (CIoU) 无法准确评估钻孔的预测效果。使用基于Gauss分布的IoU计算方法是解决上述问题的有效途径[20]。本文使用Probabilistic IoU(ProbIoU)[21]评价旋转目标框与真实钻孔的差距L,表示如下:
$ L=1-\sqrt{1-\int_{\mathbb{R}^2} \sqrt{p(x) q(x)} \mathrm{d} x} . $ | (5) |
其中:p(x)和q(x)分别为预测钻孔和真实钻孔的Gauss目标框,服从二维Gauss分布Ω。Ω表示如下:
$ \mathit{\Omega }:\left\{\begin{array}{l} \mu=\left(x_0, y_0\right), \\ \boldsymbol{C}=\left[\begin{array}{ll} a_{\mathrm{E}} \cos ^2 \theta_{\mathrm{E}}+b_{\mathrm{E}} \sin ^2 \theta_{\mathrm{E}} & \frac{1}{2}\left(a_{\mathrm{E}}-b_{\mathrm{E}}\right) \sin 2 \theta_{\mathrm{E}} \\ \frac{1}{2}\left(a_{\mathrm{E}}-b_{\mathrm{E}}\right) \sin 2 \theta_{\mathrm{E}} & a_{\mathrm{E}} \sin ^2 \theta_{\mathrm{E}}+b_{\mathrm{E}} \cos ^2 \theta_{\mathrm{E}} \end{array}\right] . \end{array}\right. $ | (6) |
其中:μ和 C分别为Ω的均值和协方差矩阵;aE、bE和θE分别为钻孔口椭圆的半长轴、半短轴和旋转角。
本文将改进后的模型称为YOLO V8 OBB模型,其输入数据为经过畸形矫正的钻孔区域图像,输出数据为预测的钻孔口椭圆的中心坐标、长短轴长、旋转角,目标框为钻孔的概率,如图 2所示。将钻孔目标框进行NMS(non-maximum supression)处理[22],以消除重复框,并将置信度最大的目标框作为检测的钻孔口椭圆。
![]() |
图 2 YOLO V8 OBB模型结构 |
1.3 基于锚点追踪的钻孔多维特征定位
由于钻孔口轮廓缺乏角点等强特征,且真实椭圆中心在非平行射影变换下也并不保持在映射椭圆的中心[15]。因此提出AT方法。
1) 锚点追踪。
锚点指钻孔口轮廓椭圆上人为指定的特征点,不少于5个的共面锚点即可完全约束钻孔口轮廓。为获取锚点的空间坐标,需使用对极线追踪锚点在各相机图像的映射关系。对极线的基本原理如图 3所示,孔口轮廓椭圆 E上的某锚点 K、第i帧上的像点 k、第j帧上的像点 k′、2帧对应相机的光心Oi和Oj等5点共面。故无论锚点 K在射线 Oik上何处位置,其像点 k′一定在由面kOiOj与第j帧的像平面确定的对极线 l上。对极线的基本矩阵形式如式(7)所示。
$ \left\{\begin{array}{l} \boldsymbol{k}^{\prime \mathrm{T}} \boldsymbol{A}_j^{-\mathrm{T}} \boldsymbol{S R} \boldsymbol{A}_i^{-1} \boldsymbol{k}=0 ; \\ \boldsymbol{S}=\left[\begin{array}{ccc} 0 & -t_z & t_y \\ t_z & 0 & -t_x \\ -t_y & t_x & 0 \end{array}\right] . \end{array}\right. $ | (7) |
![]() |
图 3 对极线基本原理示意图 |
其中:Ai和Aj分别为第i和j帧的内参矩阵;R为第i帧到第j帧的旋转矩阵;S为反对称矩阵;tx、ty和tz分别为第i帧到第j帧的平移向量的3轴分量。
由于对极线与椭圆最多有2个交点,因此,对于N个锚点来说,锚点追踪的核心问题是从最多2N个潜在像点中找到正确的最多N个真实像点。故根据点序的射影不变性建立如图 4所示的锚点追踪方法,具体步骤如下。
![]() |
图 4 锚点追踪方法示意图 |
步骤1 在帧I1的钻孔口拟合椭圆上等角度间隔取N个初始锚点:k11~k1N。
步骤2 确定当前帧的序号m,并根据式(7)计算N条对极线:lm1~lmN。
步骤3 计算当前帧的孔口椭圆与N条对极线的交点。
步骤4 根据射影不变性,各锚点间的点序在变换前后保持不变,则有:
步骤4.1 使用条件4.2.3方法确定真实锚点1,并将所有待选点从锚点1开始按顺时针方向排序。
步骤4.2 查找当前位置之后的顺位点,有以下3种情况。
条件1 若不存在顺位点,则跳过该锚点。
条件2 若顺位点的2个点位不相邻,则将第1个位置作为真实锚点。
条件3 若顺位点的2个点位相邻,则将该锚点在初始相机中前后移动微小角度后,计算对极线与当前帧椭圆的交点,按顺时针方向排序后取点序正确的锚点作为真实锚点。
步骤4.3 重复步骤4.2至最后一个锚点。
步骤5 重复步骤2—4,直至最后一帧。
2) 锚点定位。
锚点在各帧的位置确认后即可使用DLT (direct linear transform)方法构建齐次线性方程组,如式(8)所示,使用SVD (singular value decomposition)方法即可求解各锚点的空间坐标。
$ \left[\begin{array}{c} \boldsymbol{Q}_{13} u_1-\boldsymbol{Q}_{11} \\ \boldsymbol{Q}_{13} v_1-\boldsymbol{Q}_{12} \\ \vdots \\ \boldsymbol{Q}_{i 3} u_i-\boldsymbol{Q}_{i 1} \\ \boldsymbol{Q}_{i 3} v_i-\boldsymbol{Q}_{i 2} \\ \vdots \\ \boldsymbol{Q}_{M 3} u_M-\boldsymbol{Q}_{M 1} \\ \boldsymbol{Q}_{M 3} v_M-\boldsymbol{Q}_{M 2} \end{array}\right] \boldsymbol{K}=0 . $ | (8) |
其中:Qi1~Qi3分别为第i帧相机映射矩阵Qi的1~3行分量;M为该锚点的总帧数。
3) 钻孔特征求解。
本文将钻孔特征求解过程拆分为3步:首先,拟合孔口平面;其次,拟合孔口平面上的孔口轮廓椭圆;最后,求解钻孔圆柱。
对于孔口平面,构建非齐次线性方程组,如式(9)所示。随后使用SVD方法求得特征值
$ \left[\begin{array}{ccc} x_1 & y_1 & 1 \\ x_2 & y_2 & 1 \\ & \vdots & \\ x_N & y_{\mathrm{N}} & 1 \end{array}\right]\left[\begin{array}{c} \widetilde{\alpha}_{\mathrm{W}}^{\mathrm{P}} \\ \widetilde{\beta}_{\mathrm{W}}^{\mathrm{P}} \\ \widetilde{\delta}_{\mathrm{W}}^{\mathrm{P}} \end{array}\right]=\left[\begin{array}{c} z_1 \\ z_2 \\ \vdots \\ z_N \end{array}\right], $ | (9) |
$ \left[\begin{array}{ccc} \alpha_{\mathrm{W}}^{\mathrm{P}} & \beta_{\mathrm{W}}^{\mathrm{P}} & \gamma_{\mathrm{W}}^{\mathrm{P}} \end{array}\right]=\frac{\left[\widetilde{\alpha}_{\mathrm{W}}^{\mathrm{P}} \;\;\widetilde{\beta}_{\mathrm{W}}^{\mathrm{P}}\;\;-1\right]}{\sqrt{\left(\widetilde{\alpha}_{\mathrm{W}}^{\mathrm{P}}\right)^2+\left(\widetilde{\beta}_{\mathrm{W}}^{\mathrm{P}}\right)^2+1}} . $ | (10) |
对于孔口轮廓椭圆,计算各孔口锚点在孔口平面上的投影点 K′。随后,使用最小二乘法求得孔口轮廓椭圆的长短半轴长aE、bE,中心坐标(xPE, yPE, 0)及相对于孔口平面的旋转角θPE,从而建立孔口坐标系OP-XPYPZP,并确定世界坐标系下的孔口中心坐标。
$ \left(x_{\mathrm{P}}^{\mathrm{E}}, v_{\mathrm{P}}^{\mathrm{E}}, a_{\mathrm{E}}, b_{\mathrm{E}}, \theta_{\mathrm{P}}^{\mathrm{E}}\right)=\operatorname{leasq}\left(\boldsymbol{K}^{\prime}\right) . $ | (11) |
其中leasq(X′)为使用最小二乘法拟合的椭圆。
对于钻孔圆柱求解,参考Miller等[23]使用圆柱参数描述钻孔口椭圆参数的方法,可结合解析几何理论转换为钻孔口轮廓椭圆与钻孔的关系。受限于篇幅,本文直接给出该关系:钻孔直径dD如式(12)所示;钻孔方向NW如式(13)所示。需要特别说明的是,钻孔方向存在2个沿孔口平面方向对称的解,实际应用中需结合先验的钻孔倾向确定其真实方向。
$ d_{\mathrm{D}}=2 b_{\mathrm{E}} \text {, } $ | (12) |
$ \boldsymbol{N}_{\mathrm{W}}={ }_P^W \boldsymbol{R}\left[\begin{array}{c} \pm \sqrt{1-\eta^2} \\ 0 \\ \eta \end{array}\right]. $ | (13) |
其中:
综上所述,通过式(10)获得钻孔口平面方向,通过式(11)求解钻孔口中心坐标,通过式(12)求解钻孔直径,通过式(13)求解钻孔方向,可实现香炉山隧洞钻孔多维特征的定位。
2 香炉山隧洞合成钻孔轮廓数据库真实钻孔图像在钻孔定位验证中存在局限性:一方面,受表面起伏影响,真实钻孔的坐标、倾角等多维特征的测量值误差较大,真实值难以获取;另一方面,真实钻孔也难以定量研究钻孔轮廓质量对定位精度的影响。故基于香炉山隧洞真实衬砌背景,建立一种可控质量的香炉山隧洞合成钻孔口图像方法。该方法步骤如下:
步骤1 从香炉山隧洞收集充足的真实洞壁图像,并从中随机裁剪出背景区域图像Iback。
步骤2 随机选取钻孔多维特征取值,并根据式(3)计算随机钻孔的钻孔口轮廓椭圆 Esyn0。
步骤3 设定轮廓噪声系数mnoise,根据式(14)获得含噪声的钻孔口轮廓椭圆 Esyn。
$ \boldsymbol{E}_{\mathrm{syn}}:\left\{\begin{array}{l} x=x_t^0+M_t\left|x_t^0-x_{\text {ellipse }}\right|, \\ y=y_t^0+M_t\left|y_t^0-y_{\text {ellipse }}\right|, \\ M_t \sim U\left(-m_{\text {noise }}, m_{\text {noise }}\right) . \end{array}\right. $ | (14) |
其中:(xt0, yt0)为钻孔口轮廓椭圆 Esyn上的第t个点;(xellipse, yellipse)为钻孔口椭圆中心坐标;Mt为第t个点的径向缩放系数,并服从U(-mnoise, mnoise)的均匀分布。
步骤4 随机选取各相机参数,根据式(4)计算钻孔口轮廓椭圆 Esyn在各相机对应像素坐标系下的钻孔口轮廓Ф。
步骤5 根据式(15)生成各相机对应像素坐标系下的香炉山隧洞合成钻孔口图像Isyn。
$ \begin{cases}I_{\text {syn }}(x, y)=I_{\text {back }}(x, y)-I_{\text {ellipse }}(x, y) ; \\ I_{\text {ellipse }}(x, y)= \\ \left\{\begin{array}{cl} 0, & (x, y) \notin \mathit{\Phi }; \\ G \sim U\left(g_1, g_{\text {u }}\right), & (x, y) \in \mathit{\Phi }. \end{array}\right.\end{cases} $ | (15) |
其中:Isyn(x, y)、Iback(x, y)和Iellipse(x, y)分别为合成图像、背景图像和椭圆图像在(x, y)点处的灰度值;gl和gu分别为灰度的下限和上限;G为随机灰度值,并服从均匀分布U(gl, gu)。
轮廓噪声系数表征钻孔口轮廓受表面凹凸不平和施工影响而偏离理想轮廓的程度。本文设定了11个工况,轮廓噪声系数水平从0等间隔0.02增大至0.20,其他参数如表 1所示。不同轮廓噪声系数下的合成钻孔轮廓如图 5所示,可以发现:随着轮廓噪声系数的增加,钻孔口轮廓的波动程度增大,对其准确识别的困难程度也增大。
参数 | 取值 |
图像尺寸 | 512×512像素 |
钻孔口平面 | 世界坐标系的XOY平面 |
钻孔方向 | 随机取值,且满足:上倾孔、与钻孔口平面夹角大于30° |
钻孔直径 | ~U(30, 90) mm |
相机内参 | |
相机坐标 | |
相机方向 | 随机取值,且满足:面向钻孔、与钻孔口平面夹角大于60° |
![]() |
图 5 不同轮廓噪声系数下的合成钻孔轮廓 |
每种工况随机生成150个钻孔,其中随机选90个作为训练集、10个作为验证集、50个作为测试集; 每个钻孔设置10个随机相机,形成钻孔口帧组;总计生成的香炉山隧洞合成钻孔轮廓的训练集、验证集和测试集分别为9 900张、1 100张和5 500张。
3 香炉山隧洞钻孔多维特征定位性能 3.1 对比方法和评价指标 3.1.1 对比方法对于钻孔轮廓检测来说,为分析YOLO-AT方法在隧道钻孔环境的优越性,选择3种具有代表性的椭圆检测算法作为对比,分别简称为ALSR (arc-support line segments revisited)[24]、FED (fast ellipse detector)[25]和AAMED (arc adjacency matrix-based ellipse detection)[26],3种方法的源代码都可从网络上获取。ALSR方法使用聚类获取潜在候选椭圆,并分别检验,以提高椭圆检测的鲁棒性;FED方法使用投影不变量大幅过滤无效弧段组合并实现快速椭圆检测;AAMED方法使用弧邻接矩阵实现图像中椭圆的全局搜索。本文利用验证集对比3种方法进行参数调优:确定ALSR方法参数Tac和Tr分别为90°和0.3;FED方法参数ThScore和ThReliability分别为0.5和0.3;AAMED方法参数θarc、λarc和Tval分别为60°、3.4和0.7。此外,改进前的YOLO V8方法也用于对比本文改进的效果。
对于钻孔多维特征定位来说,由于现有孔定位方法均面向圆形轮廓的目标[11, 27-28],其空间圆形目标的基本假设在空间椭圆形轮廓的钻孔口定位情况中不成立,尚无能实现钻孔多维特征定位的方法。因此,使用经典的DLT方法[29],以理想钻孔口轮廓为基础(Ideal-DLT),尝试对钻孔口中心进行定位;同时将上述钻孔轮廓检测方法的结果作为本文所提多维特征定位的基础,分别称为ALSR-AT、FED-AT、AAMED-AT和YOLO V8-AT,以对比本文所提YOLO-AT方法的优越性。
3.1.2 评价指标钻孔轮廓检测:将与真实钻孔的IoU大于i的预测钻孔的数量定义为真正例TPi;与真实钻孔的IoU小于i的预测钻孔的数量定义为假正例FPi;未被检测出的真实钻孔的数量定义为假负例FNi。因此,对任意阈值i都可计算各方法的准确率Pi、召回率Ri及F1分数F1(i):
$ P_i=\frac{\mathrm{TP}_i}{\mathrm{TP}_i+\mathrm{FP}_i}, $ | (16) |
$ R_i=\frac{\mathrm{TP}_i}{\mathrm{TP}_i+\mathrm{FN}_i}, $ | (17) |
$ F_1(i)=2 \frac{P_i R_i}{P_i+R_i} . $ | (18) |
为综合评价各方法的性能,选择平均IoU(RIoU)、平均F1分数F1、IoU阈值为0.9时对应的精确率P0.9、R0.9作为评价指标。RIoU和F1的计算方法如式(19)和(20)所示。RIoU用来评价检测结果与真实钻孔的贴合程度;F1用来在不受IoU阈值影响下综合评价各方法的精准率和召回率;而P0.9和R0.9则是在IoU阈值为0.9的情况下,直观地评价各方法的精准率和召回率。4种指标均以1为最好,0为最差。
$ \bar{R}_{\mathrm{IoU}}=\frac{1}{M_1+M_2} \sum\limits_{i=1}^{M_1} R_i, $ | (19) |
$ \bar{F}_1=\frac{1}{N_{\mathrm{IoU}}} \sum\limits_{i=1}^N F_1\left(T_i\right) . $ | (20) |
其中:M1为检测的钻孔数量;M2为未被检测出的真实钻孔数量;Ri为检测钻孔与真实钻孔的交并比,每个真实钻孔仅与最大交并比的检测钻孔匹配,以防止重复计算,未匹配到真实钻孔的检测钻孔的交并比记为0;NIoU为选取的IoU阈值数量;Ti为第i个IoU阈值,本文从0至1等间距(0.02)选取了51个IoU阈值。
对于钻孔多维特征定位,定义孔口中心坐标的计算值与真实值间的直线距离为孔口中心距离误差Δl;钻孔直径的计算值与真实值间的差值为钻孔直径长度误差Δd;孔口平面方向的计算值与真实值间的夹角为孔口平面方向角度误差Δα;钻孔方向的计算值与真实值间的夹角为钻孔方向角度误差Δβ。同时,统计各误差的中位数(Δl0.5、Δd0.5、Δα0.5、Δβ0.5)作为统计评估指标,以降低定位发散时的极大误差值对各算法性能评估的影响。各误差指标越小,定位结果越接近真实钻孔。
3.2 钻孔轮廓检测性能表 2为各种方法在合成钻孔轮廓测试数据集上的4种评价指标。分析钻孔轮廓检测效果发现:3种现有椭圆检测算法在钻孔检测任务中表现出强烈的不适应性,RIoU和F1均小于0.3,P0.9和R0.9均小于0.4,这表明:现有椭圆检测方法存在大量的钻孔轮廓漏检,对检测到的钻孔轮廓的拟合精度不高;未改进的YOLO V8模型可以保持0.8以上的RIoU和F1,但P0.9和R0.9都低于0.4,表明大量钻孔受旋转角缺失影响无法准确拟合;所提出的YOLO V8 OBB方法在所有方法中具有最好的性能,其RIoU、F1、P0.9和R0.9分别高达0.957、0.948、0.977和0.977,即使在人为添加大量噪声的情况下,依旧实现对钻孔的精准检测。
评价指标 | ALSR | FED | AAMED | YOLO V8 | YOLO V8 OBB |
RIoU | 0.131 | 0.176 | 0.168 | 0.842 | 0.957 |
F1 | 0.213 | 0.290 | 0.280 | 0.835 | 0.948 |
P0.9 | 0.119 | 0.367 | 0.309 | 0.363 | 0.977 |
R0.9 | 0.186 | 0.161 | 0.223 | 0.363 | 0.977 |
图 6为各方法识别结果的IoU分布图。3种现有方法的IoU近80%分布在0~0.1区间,剩余的则主要分布在0.9~1.0区间,这是因为传统方法为保持检测的稳定性,以准确率的大幅降低为代价,在约束条件上进行较严格的限制。未改进的YOLO V8方法的IoU分布在0.6~1.0区间,表明深度学习方法在隧洞复杂背景下可稳定检测到钻孔。所提的YOLO V8 OBB方法超过90%的IoU分布在0.9~1.0区间,远高于其他方法,证明所提的YOLO V8 OBB方法可实现对香炉山隧洞钻孔轮廓的精准定位。
![]() |
图 6 各方法的IoU分布直方图 |
进一步结合图 7中的各指标随噪声轮廓系数的变化曲线及图 8中的典型钻孔图像识别结果,分析各种方法对钻孔轮廓质量的鲁棒性。3种现有方法的钻孔轮廓检测性能可分为稳定、非稳定和失效3个阶段。1) 轮廓噪声系数为0时,为稳定阶段,现有方法的各项指标均维持在0.5以上,特别是,R0.9超过0.8,说明该阶段的现有方法也能较可靠地检测到椭圆,如图 8a所示。此时制约检测精度的因素为隧洞环境下的大量背景噪声,检测效果为AAMED>FED>ALSR。2) 轮廓噪声系数为0.02~0.04时,为非稳定阶段,此时,3种现有方法的检测性能随轮廓质量的变差而断崖式下降,如图 8b所示,虽然还能检测到椭圆,但检测结果出现不同程度的偏差,且对同一钻孔在不同视角下的检测不再保持一致性,表现出检测非稳定阶段的特点。3) 轮廓噪声系数为0.06~0.20时,为失效阶段,此时,3种现有方法的各项指标均小于0.2,几乎无法对钻孔轮廓进行有效检测,如图 8c所示。综上可以发现:一方面,复杂的背景噪声降低了现有方法的检测精度上限;另一方面,质量较差的钻孔轮廓缺乏有效的边缘点和弧段,致使现有基于点或弧段的检测方法的鲁棒性很差。二者的综合作用致使现有方法不适用于香炉山隧洞的钻孔口轮廓检测。
![]() |
图 7 各方法的评价指标随轮廓噪声系数的变化情况 |
![]() |
图 8 各方法对典型钻孔图像序列的检测结果 |
相比之下,2种深度学习方法的检测效果表现出极佳的鲁棒性。不同之处在于改进前的YOLO V8方法只需预测钻孔的外接矩形框,图 8中各钻孔轮廓的局部畸变对其影响很小,其各项指标主要受真实旋转角取值的影响,而非轮廓噪声系数的影响,故表现出稳定但精度有限的特点。所提出的YOLO V8 OBB方法充分利用深度学习的强大抗干扰能力对畸变的钻孔轮廓进行预测,即使在噪声系数为0.20的最不利条件下,也可保证RIoU和F1超过0.91,P0.9和R0.9超过0.85,对图 8中的3种典型钻孔都可实现精准检测,在具有强鲁棒性的同时,也有很高的精度,可高质量地完成香炉山隧洞钻孔轮廓检测的任务。
3.3 钻孔多维特征定位性能不同方法的定位效果如表 3所示;定位误差的分布如图 9所示,其中,长度超过20 mm和角度超过45°的值在统计时均被视为20 mm和45°。分析孔口中心距离误差分布可发现:即使使用理论轮廓进行定位,DLT方法对香炉山隧洞钻孔口中心坐标的定位误差Δl0.5也接近5 mm,原因是椭圆形钻孔口的中心仅在成像平面与钻孔口平面平行时才与图像中的椭圆中心重合[15],这种要求在香炉山隧洞条件下很难满足,因此导致的系统性误差使DLT方法难以直接应用于香炉山隧洞现场,在图 9a中表现为钻孔口中心的定位误差在2~12 mm区间均有分布。3种以现有椭圆检测算法为基础的AT方法的定位效果很差,在图 9中表现为各特征的定位误差集中在很小误差和很大误差2个极端。基于未改进YOLO V8的AT方法对钻孔中心的定位效果较好,Δl0.5可达到1.343 mm的精度,对其他特征的定位效果则较为一般。在图 9中表现为钻孔口中心的误差分布在0~4 mm区间,而钻孔直径、钻孔口平面方向和钻孔倾角的误差则分布较广泛。所提的YOLO-AT方法的定位效果最好,其Δl0.5、Δd0.5、Δα0.5和Δβ0.5分别为0.835 mm、0.795 mm、0.567°和1.751°。分析误差分布可发现:YOLO-AT方法对香炉山隧洞钻孔的钻孔中心和钻孔直径的误差主要分布在4 mm以下;对钻孔口平面方向的定位误差在5°以内;对钻孔方向的定位误差主要分布在10°以内,远高于其他方法。
评价指标 | Ideal-DLT | ALSR-AT | FED-AT | AAMED-AT | YOLO V8-AT | YOLO-AT |
Δl0.5/mm | 4.781 | 67.062 | 32.287 | 37.733 | 1.343 | 0.835 |
Δd0.5/mm | — | 43.834 | 19.373 | 17.443 | 8.600 | 0.795 |
Δα0.5/(°) | — | 39.629 | 25.220 | 22.090 | 4.762 | 0.567 |
Δβ0.5/(°) | — | 41.823 | 28.239 | 31.839 | 17.554 | 1.751 |
![]() |
图 9 各方法定位误差分布直方图 |
图 10为各方法的评价指标随轮廓噪声系数的变化。ALSR-AT和AAMED-AT方法对钻孔轮廓质量最为敏感:在钻孔轮廓噪声系数为0的理想条件下,2种基于现有轮廓检测方法的定位精度可接近所提YOLO-AT方法,甚至对钻孔口中心坐标、钻孔口平面方向和钻孔方向的定位误差中位数略优于YOLO-AT方法;然而随着钻孔轮廓噪声系数的增加,2种方法的定位误差快速攀升;在钻孔轮廓噪声系数超过0.06后,2种方法便基本失去有效定位能力。FED-AT方法与ALSR-AT及AAMED-AT的整体趋势相同,不同之处是其对理想钻孔的定位误差也较大,Δl0.5和Δd0.5都超过10 mm,Δα0.5和Δβ0.5也超过10°。YOLO V8-AT方法对钻孔各特征的定位误差受钻孔轮廓噪声系数的影响较小,其原因与YOLO V8方法检测钻孔轮廓相似,即造成误差的主要原因是旋转角的缺失,而旋转角取值在各种质量钻孔中近似均匀分布,故误差稳定。所提YOLO-AT方法受钻孔轮廓质量的影响较小,随着轮廓噪声系数的增加,各项特征的定位误差虽有增大,但增加幅度很小;即使在轮廓噪声系数为0.20的最差工况下,所提YOLO-AT方法的Δl0.5、Δd0.5、Δα0.5和Δβ0.5仍可维持在2.193 mm、1.551 mm、0.585°和3.440°的水平,具有很好的定位鲁棒性。
![]() |
图 10 各方法的评价指标随轮廓噪声系数的变化情况 |
图 11—13为图 8中3个典型钻孔的定位结果,可直观反映各种方法对不同轮廓质量的钻孔点的定位效果。3种基于现有轮廓检测的AT方法对图 11所示的理想钻孔的定位效果较好,但对图 12所示的轮廓略有畸变的钻孔定位开始出现不稳定性,对图 13所示质量很差的钻孔定位则严重偏离真实值。需要特别说明的是,FED-AT方法检测的同一钻孔在不同相机中的钻孔轮廓的一致性较差,这使其锚点定位不稳定,即使在图 11条件下,钻孔定位也存在一定偏差。改进前的YOLO V8方法预测的是钻孔目标框,将目标框转化为椭圆时只有椭圆中心是准确的,名义长短轴和名义旋转角都有偏差,故YOLO V8-AT方法对锚点的定位以钻孔口中心为基点呈中心对称分布,如图 11d、12d和13d所示,除钻孔口中心外,其他特征都表现出明显的偏差。相较之下,所提YOLO-AT方法对3个典型钻孔的定位效果均较好,在所有方法中具有最佳的定位稳定性。
![]() |
图 11 轮廓噪声系数为0时的定位结果 |
![]() |
图 12 轮廓噪声系数为0.04时的定位结果 |
![]() |
图 13 轮廓噪声系数为0.20时的定位结果 |
综合以上分析发现:一方面,钻孔口轮廓是所提AT方法锚点追踪和钻孔定位的基础,钻孔口轮廓检测的精度及稳定性直接关系到AT方法的定位精度;另一方面,所提YOLO-AT方法结合深度学习对复杂钻孔条件的精准稳定检测的优势和机器视觉准确求解钻孔多维特征的优势,可实现对香炉山隧洞钻孔多维特征的精准定位。
4 结论针对香炉山隧洞复杂环境下倾斜钻孔的坐标和角度等多维特征难以精准测量的问题,提出一种基于深度机器视觉的钻孔多维特征精准定位方法YOLO-AT。该方法创新之处在于:构建考虑旋转角的YOLO V8 OBB模型;提出新颖的锚点追踪算法,可同时求解钻孔口中心坐标、钻孔直径、钻孔口平面方向和钻孔方向等钻孔多维特征。
香炉山隧洞合成钻孔轮廓图像数据库的验证表明:所建立的YOLO V8 OBB方法能实现对香炉山隧洞钻孔轮廓的精准检测;所提YOLO-AT方法对钻孔口中心坐标、钻孔直径、钻孔口平面方向和钻孔方向的定位误差中位数仅为0.835 mm、0.795 mm、0.567°和1.751°,且定位性能受钻孔质量的影响很小,远优于现有方法。本文所提出的YOLO-AT方法能实现对香炉山隧洞钻孔的精准稳定测量,并可推广到各类地下工程的钻孔自动测量工作中。不足之处在于该方法无法对钻孔深度进行测量,且钻孔方向存在双解。下一步将与激光测距技术结合,以测量孔深并消除钻孔方向歧义;同时研究随机抽样一致(RANSAC)及重投影等方法在提高算法精度和稳定性中的作用。
[1] |
欧阳林, 张如九, 刘耀儒, 等. 深埋隧洞岩爆防控技术及典型工程应用现状综述[J]. 长江科学院院报, 2022, 39(12): 161-170. OUYANG L, ZHANG R J, LIU Y R, et al. Review on rockburst prevention techniques and typical applications in deep tunnels[J]. Journal of Yangtze River Scientific Research Institute, 2022, 39(12): 161-170. (in Chinese) |
[2] |
陈炳瑞, 冯夏庭, 符启卿, 等. 综合集成高精度智能微震监测技术及其在深部岩石工程中的应用[J]. 岩土力学, 2020, 41(7): 2422-2431. CHEN B R, FENG X T, FU Q Q, et al. Integration and high precision intelligence microseismic monitoring technology and its application in deep rock engineering[J]. Rock and Soil Mechanics, 2020, 41(7): 2422-2431. (in Chinese) |
[3] |
CHEN B R, WANG X, ZHU X H, et al. Real-time arrival picking of rock microfracture signals based on convolutional-recurrent neural network and its engineering application[J]. Journal of Rock Mechanics and Geotechnical Engineering, 2024, 16(3): 761-777. DOI:10.1016/j.jrmge.2023.07.003 |
[4] |
张楚旋, 李夕兵, 董陇军, 等. 微震监测传感器布设方案评价模型及应用[J]. 东北大学学报(自然科学版), 2016, 37(4): 594-598, 608. ZHANG C X, LI X B, DONG L J, et al. Evaluation model of microseismic monitoring sensor layout scheme and its application[J]. Journal of Northeastern University (Science and Technology), 2016, 37(4): 594-598, 608. (in Chinese) |
[5] |
衡献伟, 李青松, 韩真理, 等. 微震监测系统传感器安装技术及应用[J]. 煤炭技术, 2015, 34(12): 213-214. HENG X W, LI Q S, HAN Z L, et al. Mounting technology and application of microseismic monitoring system sensor[J]. Coal Technology, 2015, 34(12): 213-214. (in Chinese) |
[6] |
李涛. 不良条件下微震源定位及工程应用研究[D]. 北京: 中国科学院大学, 2022. LI T. Research on micro seismic source location and engineering application under adverse conditions[D]. Beijing: University of Chinese Academy of Sciences, 2022. (in Chinese) |
[7] |
杨向东, 芮晓飞, 谢颖. 基于高效Hough变换的圆柱特征检测方法[J]. 清华大学学报(自然科学版), 2015, 55(8): 921-926. YANG X D, RUI X F, XIE Y. Efficient Hough transform-based cylinder feature detection algorithm[J]. Journal of Tsinghua University (Science and Technology), 2015, 55(8): 921-926. (in Chinese) |
[8] |
MEI B, ZHU W D, YAN G R, et al. A new elliptic contour extraction method for reference hole detection in robotic drilling[J]. Pattern Analysis and Applications, 2015, 18(3): 695-712. DOI:10.1007/s10044-014-0394-6 |
[9] |
PRASAD D K, LEUNG M K H, CHO S Y. Edge curvature and convexity based ellipse detection method[J]. Pattern Recognition, 2012, 45(9): 3204-3221. DOI:10.1016/j.patcog.2012.02.014 |
[10] |
贾棋, 梁景朝, 王祎, 等. 基于区域检测和弧筛选的椭圆检测方法[J]. 计算机辅助设计与图形学学报, 2022, 34(11): 1784-1794. JIA Q, LIANG J C, WANG Y, et al. Ellipse detection combining region detection and arc filtering[J]. Journal of Computer-Aided Design & Computer Graphics, 2022, 34(11): 1784-1794. (in Chinese) |
[11] |
范安然. 基于双目立体视觉的道岔钢轨钻孔的尺寸测量[D]. 秦皇岛: 燕山大学, 2015. FAN A R. Size measurement of the switch rail drilling based on binocular stereo vision[D]. Qinhuangdao: Yanshan University, 2015. (in Chinese) |
[12] |
胡彦强, 马钺, 许敏. 白车身孔槽类特征三维坐标在线测量方法研究[J]. 计算机工程, 2017, 43(10): 186-191, 197. HU Y Q, MA Y, XU M. Study of on-line measurement method for 3D coordinates of body-in-white hole slot features[J]. Computer Engineering, 2017, 43(10): 186-191, 197. (in Chinese) |
[13] |
LEI M Y, ZHANG X H, DONG Z, et al. Locating anchor drilling holes based on binocular vision in coal mine roadways[J]. Mathematics, 2023, 11(20): 4365. DOI:10.3390/math11204365 |
[14] |
黄金. 基于双目视觉的机械臂锚护孔位精准定位技术研究[D]. 太原: 太原科技大学, 2022. HUANG J. Research on recise positioning technology of manipulator anchor hole based on binocular vision[D]. Taiyuan: Taiyuan University of Science and Technology, 2022. (in Chinese) |
[15] |
魏振忠, 张广军. 视觉检测中椭圆中心成像畸变误差模型研究[J]. 北京航空航天大学学报, 2003, 29(2): 140-143. WEI Z Z, ZHANG G J. Distortion error model of image of ellipse center in 3D visual inspection[J]. Journal of Beijing University of Aeronautics and Astronautics, 2003, 29(2): 140-143. (in Chinese) |
[16] |
王琳毅, 白静, 李文静, 等. YOLO系列目标检测算法研究进展[J]. 计算机工程与应用, 2023, 59(14): 15-29. WANG L Y, BAI J, LI W J, et al. Research progress of YOLO series target detection algorithms[J]. Computer Engineering and Applications, 2023, 59(14): 15-29. (in Chinese) |
[17] |
方涛涛, 王池社, 王洁, 等. 基于YOLO v8n的探地雷达图像管线定位方法[J]. 国外电子测量技术, 2023, 42(11): 170-177. FANG T T, WANG C S, WANG J, et al. Ground penetrating radar image pipeline location based on YOLO v8n[J]. Foreign Electronic Measurement Technology, 2023, 42(11): 170-177. (in Chinese) |
[18] |
宋怀波, 焦义涛, 华志新, 等. 基于YOLO v5-OBB与CT的浸种玉米胚乳裂纹检测[J]. 农业机械学报, 2023, 54(3): 394-401, 439. SONG H B, JIAO Y T, HUA Z X, et al. Endosperm crack detection method for seed dipping maize based on YOLO v5-OBB and CT technology[J]. Transactions of the Chinese Society for Agricultural Machinery, 2023, 54(3): 394-401, 439. (in Chinese) |
[19] |
蒋弘毅, 王永娟, 康锦煜. 目标检测模型及其优化方法综述[J]. 自动化学报, 2021, 47(6): 1232-1255. JIANG H Y, WANG Y J, KANG J Y. A survey of object detection models and its optimization methods[J]. Acta Automatica Sinica, 2021, 47(6): 1232-1255. (in Chinese) |
[20] |
HOU L P, LU K, YANG X, et al. G-Rep: Gaussian representation for arbitrary-oriented object detection[J]. Remote Sensing, 2023, 15(3): 757. |
[21] |
MURRUGARRA-LLERENA J, KIRSTEN L N, ZENI L F, et al. Probabilistic intersection-over-union for training and evaluation of oriented object detectors[J]. IEEE Transactions on Image Processing, 2024, 33: 671-681. |
[22] |
NEUBECK A, VAN GOOL L. Efficient non-maximum suppression[C]// Proceedings of the 18th International Conference on Pattern Recognition (ICPR 2006). Hong Kong, China: IEEE, 2006: 850-855.
|
[23] |
MILLER J R, GOLDMAN R N. Using tangent balls to find plane sections of natural quadrics[J]. IEEE Computer Graphics and Applications, 1992, 12(2): 68-82. |
[24] |
LU C S, XIA S Y, SHAO M, et al. Arc-support line segments revisited: An efficient high-quality ellipse detection[J]. IEEE Transactions on Image Processing, 2020, 29: 768-781. |
[25] |
JIA Q, FAN X, LUO Z X, et al. A fast ellipse detector using projective invariant pruning[J]. IEEE Transactions on Image Processing, 2017, 26(8): 3665-3679. |
[26] |
MENG C, LI Z X, BAI X Z, et al. Arc adjacency matrix-based fast ellipse detection[J]. IEEE Transactions on Image Processing, 2020, 29: 4406-4420. |
[27] |
王斌, 吴丹, 盖宇航. 面向机器人精密装配的高精度圆片位姿视觉检测[J]. 机械工程学报, 2023, 59(8): 50-59. WANG B, WU D, GAI Y H. High-precision wafer pose visual detection for robot precise assembly[J]. Journal of Mechanical Engineering, 2023, 59(8): 50-59. (in Chinese) |
[28] |
WU W Q, WANG X G, XU D, et al. Position and orientation measurement for autonomous aerial refueling based on monocular vision[J]. International Journal of Robotics and Automation, 2017, 32(1): 13-21. |
[29] |
赵祚喜, 冯荣, 朱裕昌, 等. 空间点的多视图DLT三维定位[J]. 光学精密工程, 2020, 28(1): 212-222. ZHAO Z X, FENG R, ZHU Y C, et al. Multi-view DLT three-dimensional positioning method for spatial points[J]. Optics and Precision Engineering, 2020, 28(1): 212-222. (in Chinese) |