筠连地区煤储层敏感性及配伍性分析
Analysis of coal reservoir sensitivity and compatibility in Junlian Area
-
摘要: 储层敏感性,包括速敏、水敏、盐敏、酸敏和应力敏感性(五敏),直接影响钻井、压裂等施工过程中的流体选择和煤层气井产能。为查明筠连地区煤储层敏感性和注入流体配伍性,采集筠连地区二叠系乐平组C2+3和C7+8号煤层样品,分析其低温液氮吸附和核磁共振分析孔渗特征。在此基础上,通过岩心流动试验进行五敏性测试,并选择不同井的地层水与压裂液进行配伍性试验研究。研究结果表明:测试样品主体为半暗型煤、中高灰分、镜质体反射率在2.2%以上。煤层渗流孔发育较少,孔隙类型以吸附孔为主,微孔和小孔占优势且微孔-小孔与较大孔连通性差。低温液氮吸附测试的煤岩比表面积平均为4.55 m2/g,总孔体积平均值为0.004 9 mL/g。针对JL-1和JL-2两口井段煤岩样品,测试的速敏伤害率为20.74%和25.26%;水敏伤害率分别为12.52%和19.29%;盐敏损害程度分别为14.68%和19.84%;酸敏损害率为负伤害,分别为-0.077%和-0.057%;应力敏感性损害程度分别为76.82%和47.67%。根据SY/T 5358—2010《储层敏感性流动实验评价方法》,煤储层呈现弱速敏、弱水敏、弱盐敏性和无酸敏性,但分别表现出了中等偏弱和强应力敏感性。将地层水与压裂液过滤后分别按不同体积比例混合(0∶1、1∶1、1∶2)测其浊度,总体压裂液与地层水配伍性良好,浊度清亮,无沉淀产生。相关成果对查明煤储层敏感性影响因素,指导后续压裂施工提供科学依据和技术支持。Abstract: Reservoir sensitivities,including velocity sensitivity,water sensitivity,salt sensitivity,acid sensitivity and stress sensitivity (five sensitivities),directly affect the fluid selection and coalbed methane production in the process of drilling,fracturing and other engineering processes. In order to find out the coal reservoir sensitivity and fluid compatibility,samples of C2+3 and C7+8 coal seams of Permian were collected,and the characteristics of porosity and permeability were analyzed by low temperature liquid nitrogen adsorption and nuclear magnetic resonance. On this basis,five sensitivities test were carried out through core flooding,and the compatibility of formation water and fracturing fluid in different wells was studied. The results showed that the coals are mainly semi dull coal,medium to high ash content,with the vitrinite reflectance being higher than 2.2%. There are few seepage pores in the coal,and the pore types are mainly adsorption pores. Micropores and mesopores are dominant,and the connectivity between micro-meso pores and macropores is poor. The average specific surface area of coal is 4.55 m2/g and the average total pore volume is 0.004 9 mL/g. Focusing on samples from JL-1 and JL-2 wells,the velocity sensitive damage ratio is 20.74% and 25.26%,with the water sensitive damage of 12.52% and 19.29%,salt sensitive damage of 14.68% and 19.84%,acid sensitive damage of -0.077% and -0.057%,and stress sensitive damage of 76.82% and 47.67%,respectively .According to the standard of SY/T 5358—2010,the coal reservoir shows weak velocity sensitivity,weak water sensitivity,weak salt sensitivity and no acid sensitivity,while shows medium weak and strong stress sensitivity. After filtering formation water and fracturing fluid,the turbidity was measured by mixing them in different volume proportions (0∶1,1∶1,1∶2). The overall compatibility of fracturing fluid and formation water was good,the turbidity was clear,and there was no precipitation. The relevant results provide scientific basis and technical support for identifying the influencing factors of coal reservoir sensitivity and guiding the follow-up fracturing construction.
-
0. 引 言
随着智能矿山、智慧矿山建设理论的提出,传统煤矿开采进入了智能化和智慧化转型阶段。环保、智能化装备和低碳、无人化流程逐渐渗透到采矿工程的各个环节之中,推动了采矿设计、计划、生产、调度及决策等过程的智能化进程。智能机器人技术在采矿工程中的应用主要集中在挖掘、地面运输、钻孔和炸药部署作业等,其能够有效提高生产率、安全性,通过长期应用可以达到降低生产成本的效果。特别是对于黑暗、充满扬尘、地形崎岖和泥土覆盖面积大的井下煤矿环境而言,部署自动化、智能化机器人能够有效应对井下工作场地巡检[1]、未知环境探勘[2]、危险区域救援[3]等重要工作。
在煤矿巷道、采空区等这种不具有可预测性的复杂环境中,现有的机器人定位方法受到限制:GPS信号无法到达;恶劣的环境导致射频识别定位、ZigBee定位等主流定位技术在井下失效或者效果不佳;在煤矿灾害现场,甚至失去了先验路标和地图的可靠性。基于以上问题,亟需机器人利用依靠多传感器和周围环境信息来对自身进行定位的SLAM技术来解决机器人在煤矿井下无网络条件下的数字地图构建和定位问题。以相机作为主传感器的视觉SLAM(Visual SLAM)虽然成本可观,但对暗光照、光照变化剧烈、动态环境等事件敏感,需要针对煤矿井下环境提出相应的解决方案。随着深度学习在计算机视觉领域的突破,SLAM系统能够借助深度学习框架克服系统原有的不足[4],从而提供更具有鲁棒性的定位方案。
矿山井下场景图像往往会出现对比度低、色彩失真、噪点等多种退化现象。图像增强的目的是在原始图像的基础上通过灰度变换、滤波等方法选择性的突出图像中感兴趣的区域,抑制噪声和不感兴趣的区域,以提高图像质量[5]。LORE等[6]首次提出端到端的深度学习方法来增强低照度图像,但增强后的图像雾化现象明显。ZHANG等[7]基于分解的学习方法,将图像分解为反射率分量和光照分量解决图像伪影问题,但却加重了图像的模糊度。孔二伟等[8]设计了融合特征提取模块、增强模块的卷积神经网络(Convolutional Neural Networks, CNN),在提高煤矿井下低照度图像的同时抑制了曝光过度和噪声。大多数基于深度学习的图像增强算法严重依赖配对的数据集,而在弱光和正常光照条件下收集同一场景的配对图像存在一定难度,于是一些采用无监督学习方法的图像增强任务逐渐被研究人员重视。MENG等[9]基于GAN[10]网络利用对抗损失,感知损失和总变化损失作为约束建立网络,搭建了夜间图像增强框架。JIANG等[11]采用注意力引导的U-net为生成器,并使用对偶判别器来引导全局和局部信息,实现包括照明增强和噪声抑制,以完全无监督的方式增强现实世界的低光图像,在保持模型轻量的同时,避免了对配对数据集的依赖。
SLAM系统利用移动机器人自身搭载的传感器获取环境信息,并构建数字地图,以此对环境进行映射;同时再利用这些信息进行自主定位,以服务于后续的自主导航等工作。视觉SLAM一般使用单目相机、双目相机、深度相机(RGB–D)三大类视觉传感器作为主传感器,以拍摄的视频或连续帧作为输入数据。2007年,KLEIN等[12]提出了第1个正式的单目视觉SLAM,启发了后来的多种相机SLAM[13]、多线程SLAM[14]等研究。但单个运作的传感器极易受到环境干扰,导致定位失败,由加速度计和陀螺仪组成的惯性测量单元 (Inertial Measurement Unit, IMU)能够补偿视觉SLAM缺失的尺度因子并计算自身相对运动,提高算法前后端性能。MUR-ARTALD等[15]在文献[16]的基础上引入了双目和RGB–D相机,但存在对噪声敏感的问题,特征点容易跟踪丢失。
在矿山场景下,郭科等[16]利用匹配特征在像素坐标系上的平均移动来计算并评判EBL参数以减小模糊帧对前端的影响,但该方法中的帧移除算法会剔除过多的图像,可能导致系统跟踪失败。ZHU等[17]改进了ORB特征和直线特征进行特征匹配,以应对场景结构退化和光照不足的情况,减少了由于快速运动而造成的特征损失。高扬等[18]将RFAST模块融入VINS–Mono框架中,在夜间的汽车定位精度取得了显著提高。CHEN等[19]基于局部残差运动模糊判别网络检测模糊图像,QUAN等[20]利用3D CNN提高视觉 SLAM 的特征提取和匹配质量,均证明了基于深度学习的图像增强能够提高SLAM系统准确性和稳定性。
鉴于以上研究,笔者基于具有较强鲁棒性的ORB–SLAM3,提出适用于煤矿井下的FitCoalMine-SLAM( FCM–SLAM)。为解决视觉里程计类算法因煤矿井下暗光照环境导致的特征不充分、图像匹配失败甚至跟踪丢失等问题,选用自注意力模块改进的无监督学习的EnlightenGAN作为系统图像增强模块,同时可以减小对成对数据集的依赖并保证轻量化。引入基于解析解的IMU初始化方法以优化系统在煤矿井下环境下的响应速度。最终,提升视觉SLAM算法在煤矿井下的适用性。
1. 基于ORB–SLAM3改进的FCM–SLAM算法
FCM–SLAM主要包含4个模块:图像增强、跟踪、局部建图和回环检测。在户外场景中,原本的ORB–SLAM3框架可以达到很高的定位精度,其通过提取ORB特征,利用对极约束原理利用两张图像来求得转移矩阵T(包括了旋转矩阵R和平移矩阵t)以获得相机位姿,如图1所示。通过三角测量将相机位姿结合帧间像素坐标计算出3D点坐标,以获得整体的位姿信息和地图点。在后续的跟踪、定位流程中,关键帧所包含的位姿和地图点信息就尤为重要,较低质量的描述子将严重影响系统的定位精度。而在煤矿井下等极端环境(易出现暗光照、光照不均和粉尘等现象)中,输入系统的图像极易出现纹理信息缺失的现象,导致SLAM系统前端的特征提取困难,关键帧之间的匹配效果较差,最终致使系统的定位精度降低。
原本的ORB–SLAM3系统主要通过视觉传感器与IMU实现进行定位,不依赖于先验地图信息。然而,在实际煤矿井下的运行中,机器人在移动时未能有良好的运动激励,即在xyz三轴上的运动不够充分。此外,为了使IMU拥有较好初始参数,原系统整个IMU初始化以及视觉惯性里程计优化(Visual-Inertial Bundle Adjustment, VIBA)最少需要15 s才能完成初始化。这2个原因导致系统经常面临初始化重置的情况,如图2所示。
为了改善视觉SLAM系统在煤矿井下出现的以上问题,本文基于 ORB–SLAM3框架,融入了图像亮度检测和融合自注意力模块的EnlightenGAN图像增强模块以改善特征提取效果差的情况。同时在系统IMU初始化部分引入解析解方法求解初始化参数,以改善SLAM系统在煤矿井下的定位性能。FCM–SLAM整体框架如图3所示。
1.1 基于EnlightenGAN的图像增强模块
1.1.1 生成式对抗网络(Generative Adversarial Networks,GAN)
GAN为10 a以来最具前景的无监督学习方法之一,模型框架灵感来自于纳什均衡,通过两个互相博弈的模块:生成模型(Generative Model,G)和辨别模型(Discriminative Model,D)之间的互相博弈学习产生输出,其中辨别模型用于判断对象真假,即是否由生成器生成;生成模型用于生成对象,最终目的是生成能“骗”过辨别器。通过交替训练的方法,生成器和辨别器的性能便能不断提高。
1.1.2 图像亮度检测
在图像增强模块中,本文首先在图像输入时加入亮度检测环节,当图像亮度评价值大于设定阈值时,判断为亮度正常图像,否则直接送入EnlightenGAN网络中进行处理。且为了节省双目相机模式下的判断时间,仅对左镜头拍摄的图像进行亮度检测。
亮度检测采用无参考评价方法的灰度方差,可反映图像各个像元灰度相对于均值的离散情况,公式如下:
$$ {E_{{\mathrm{var}}}} = \frac{{ \displaystyle\sum \limits_{i = 0}^{M - 1} \displaystyle \sum \limits_{j = 0}^{N - 1} {{\left[ {F\left( {i,j} \right) - u} \right]}^2}}}{{MN}} $$ (1) $$ u = \frac{\displaystyle \sum _{i=0}^{M-1}\displaystyle \sum_{j=0}^{N-1}F\left(i,j\right)}{MN} $$ (2) 式中:Evar为图像灰度方差;u为图像像素灰度平均值;M、N分别为图像的宽、高;(i,j) 为像素坐标;F(i,j) 为对应的灰度。
对于判断为亮度正常的图像,为减少照度不均的影响,进一步的将评价值在一定阈值内(弱正常)的图像随机裁剪,再次进行亮度检测,整体流程如图4所示。
1.1.3 改进的EnlightenGAN网络
提高SLAM系统的输入图像质量能够改善SLAM系统在煤矿井下低光照、光照不均条件下的特征提取、匹配性能,进而提高系统的定位性能。FCM–SLAM的图像增强模块采用加入自注意力模块[21]的EnlightenGAN网络结构,无监督网络使得不利于拍摄精确匹配的成对图像数据的煤矿井下也能够使用轻量化的GAN,自注意力模块可以建立图像不同区域的依赖关系,网络结构如图5、图6所示。网络生成器采用自注意力改进的U–Net网络,全局生成器损失函数$L_{\mathrm{G}}^{\mathrm{Global}} $、局部生成器损失函数$L_{\mathrm{G}}^{\mathrm{Local}} $、自特征保留损失函数LSFP为
$$ \begin{gathered} L_{\mathrm{G}}^{{\text{Global}}} = {E_{{{{x}}_{\text{f}}}\sim {P_{{\text{fake}}}}}}{[({D_{{\mathrm{Ra}}}}({x_{\mathrm{f}}},{x_{\text{r}}}) - 1)]^2} +\\ {E_{{{{x}}_{\mathrm{r}}}\sim {P_{{\mathrm{real}}}}}}[{({D_{{\mathrm{Ra}}}}({x_{\mathrm{r}}},{x_{\mathrm{f}}})]^2} \end{gathered} $$ (3) $$ L_{\mathrm{G}}^{{\mathrm{Local}}} = {E_{{{{x}}_{\text{r}}}\sim {P_{{\text{fake\_patches}}}}}}{[(D({x_{\mathrm{f}}}) - 1)]^2} $$ (4) $$ {L_{{\mathrm{SFP}}}}({I_{\mathrm{L}}}) = \frac{1}{{{W_{i,j}}{H_{i,j}}}}\sum\limits_{x = 1}^{{W_{i,j}}} {\sum\limits_{y = 1}^{{H_{i,j}}} {{{\left[{\varPhi _{i,j}}({I_{\mathrm{L}}}) - {\varPhi _{i,j}}\bigg(G({I_{\mathrm{L}}})\bigg)\right]}^2}} } $$ (5) 式中:xr为真实图像;xf为生成图像;DRa(xr,xf)为真实图像较生成图像更真实的概率;DRa(xf,xr)为生成图像较真实图像更真实的概率,以最小二乘作为激活函数;x~p为从数据分布P中采样样本x(包括生成样本分布Pfake、真实样本分布Preal、生成样本裁剪后分布Pfake_patches、真实样本裁剪后分布Preal_patches),$L_{\mathrm{G}}^{\mathrm{Local}} $中,使用随机裁剪的4个patch计算对抗损失;D(xr)为辨别器判断真实图像为真的概率;D(xf)为辨别器判断生成图像为真的概率;$\varPhi_{i,j} $()为判断输入的暗光图像与其增强的输出图像间的VGG特征距离;IL为输入的暗光图像;Wi,j 和Hi,j 为提取的特征图的大小。
网络辨别器采用双尺度判别器引导全局和局部信息,除了将真实图像和生成图像作整张图像的对抗损失外,也将2张图像进行随机裁剪,以改善网络在光照不均情况下的图像增强能力,全局辨别器损失函数$L_{\mathrm{D}}^{\mathrm{Global}} $、局部辨别器损失函数$L_{\mathrm{D}}^{\mathrm{Local}} $为
$$ \begin{gathered} L_{\mathrm{D}}^{{\text{Global}}} = {E_{{{{x}}_{\text{r}}}\sim {P_{{\text{real}}}}}}{[({D_{{\mathrm{Ra}}}}({x_{\mathrm{r}}},{x_{\mathrm{f}}}) - 1)]^2} + \\ {E_{{{{x}}_{\text{f}}}\sim {P_{{\text{fake}}}}}}{[{D_{{\mathrm{Ra}}}}({x_{\mathrm{f}}},{x_{\mathrm{r}}})]^2} \end{gathered} $$ (6) $$ \begin{gathered} L_{\mathrm{D}}^{{\mathrm{Local}}} = {E_{{{{x}}_{\text{r}}}\sim {P_{{\text{real\_patches}}}}}}{[(D({x_{\mathrm{r}}}) - 1)]^2} + \\ {E_{{{{x}}_{\text{f}}}\sim {P_{_{{\text{fake\_patches}}}}}}}{[(D({x_{\mathrm{f}}}) - 0)]^2} \end{gathered} $$ (7) 自注意力模块中,自注意力图
$$ {\beta _{j,i}} = \frac{{\exp\left( {{s_{ij}}} \right)}}{{\displaystyle \sum \limits_{i = 1}^N \exp\left( {{s_{ij}}} \right)}},\;{\mathrm{where}}{\text{ }}{s_{ij}} = F{\left( {{x_i}} \right)^{\mathrm{T}}}G\left( {{x_j}} \right) $$ (8) 式中:βj,i为合成第j个区域时,模块对第i个位置的关注程度。
借此与原特征图做内积,即将图像全局空间信息和局部信息整合到一起,得到
$$ {O}_{j}=\displaystyle \sum _{i=1}^{N}{\beta }_{j,i}H\left({x}_{i}\right) $$ (9) 最后,如图5所示,γ为尺度参数,初始值为0,令网络先学习局部特征,在后续的训练中再逐步增加权重以学习全局特征。最终得到的输出为
$$ \gamma {O_i} + {x_i} $$ (10) 1.2 基于解析解的IMU初始化方法
本文引入基于解析解的IMU初始化方法[22],以最大似然(Maximum Likelihood Estimation, MLE)框架而非迭代求得加速度计偏置、重力方向和尺度因子,以求更高效地求得IMU初始化参数、完成整个系统的初始化。
首先根据陀螺仪测量值和k、k+1时刻关键帧方向估计陀螺仪偏差,定义预积分残差为
$$ r_k^g(x) = \log \left[ {{{\left( {{\text{\Delta }}{{{R}}_{k,k + 1}}\exp ({{{\boldsymbol{J}}}}_{{{\Delta R}}}^gx)} \right)}^ {\mathrm{T}} }{{R}}_k^ {\mathrm{T}} {{{R}}_{k + 1}}} \right] $$ (11) 其中,log()为SO(3)指数映射的逆;$\Delta {R_{{{k,k + 1}}}}$为通过预积分得到的k到k+1时刻的旋转测量值;${R_{{k}}}$和$ {P_{{k}}} $分别为IMU在关键帧k时的旋转和位姿;${{{\boldsymbol{J}}}}_{{{\Delta R}}}^g$为旋转预积分相对于陀螺仪偏差的雅可比矩阵。然后,通过g2o迭代求解优化问题为
$$ \mathcal{X}_g^* = {\underset{b^g}{\mathop{\text{argmin}}} } \sum_{k \in \mathcal{K}} r_k^g \left( b^g \right)^2 _{ \sum\limits_{k}^g }$$ (12) 其中,$\displaystyle\sum _k^{\text{g}}$为协方差矩阵。得到陀螺仪偏置${{{b}}^g}$。
然后,从测量的加速度和相对姿态中找到加速度计偏差${{{b}}^{{a}}}$、重力方向g和重建的尺度因子s,且考虑3个连续关键帧以降低复杂度。定义加速度计残差为
$$ r_k^a(x) = \left[ {\begin{array}{*{20}{c}} {{\alpha _k}}&{{A_k}}&{{B_k}} \end{array}} \right]x - {\pi _k} $$ (13) 其中,
$$ x = {[s,{b^a},g]^ {\mathrm{T}} } $$ (14) $$ {A_k} = \frac{{{R_{k - 1}}J_{{\text{\Delta }}{p_{k - 1,k}}}^a}}{{{\text{\Delta }}{t_{k - 1,k}}}} - \frac{{{R_k}J_{{\text{\Delta }}{p_{k,k + 1}}}^a}}{{{\text{\Delta }}{t_{k,k + 1}}}} - {R_{k - 1}}J_{{\text{\Delta }}{v_{k - 1,k}}}^a $$ (15) $$ {B_k} = - \frac{1}{2}({\text{\Delta }}{t_{k - 1,k}} + {\text{\Delta }}{t_{k,k + 1}}){I_{3 \times 3}} $$ (16) $$ {\alpha _k} = \frac{{{{\bar p}_{k + 1}} - {{\bar p}_k}}}{{{\text{\Delta }}{t_{k,k + 1}}}} - \frac{{{{\bar p}_k} - {{\bar p}_{k - 1}}}}{{{\text{\Delta }}{t_{k - 1,k}}}} $$ (17) $$ \begin{array}{*{20}{c}} {{\pi _k} = \dfrac{{{{{R}}_k}{{\Delta }}{p_{k,k + 1}}}}{{{{\Delta }}{t_{k,k + 1}}}} - \dfrac{{{{{R}}_{k - 1}}{{\Delta }}{p_{k - 1,k}}}}{{{{\Delta }}{t_{k - 1,k}}}} + {{{R}}_{k - 1}}{{\Delta }}{v_{k - 1,k}}} +\\ { \dfrac{{\left( {{{{{\bar R}}}_k} - {{{{\bar R}}}_{k - 1}}} \right){t_{CB}}}}{{{{\Delta }}{t_{k - 1,k}}}} - \dfrac{{\left( {{{{{\bar R}}}_{k + 1}} - {{{{\bar R}}}_k}} \right)}}{{{{\Delta }}{t_{k,k + 1}}}}} \end{array} $$ (18) 式(13)展开后分别代表旋转、速度和位姿的残差。其中,a为加速度计;${\overline P _{{k}}}$为关键帧k时刻的位姿;$ {{\Delta }}t $为积分时间;$ {\boldsymbol{J}}_{{{\Delta }}pi,j}^a $和$ {\boldsymbol{J}}_{{{\Delta }}vi,j}^a $分别为位姿预积分和速度预积分相对于加速度计偏置的雅可比矩阵;$\Delta {P_{{{k,k + 1}}}}$为通过预积分得到的k到k+1时刻的位姿测量值;${{\boldsymbol{I}}_{3 \times 3}}$为3×3的单位矩阵;${{\Delta }}{v_{k,k + 1}}$为通过预积分得到的k到k+1时刻的速度测量值;${\overline R _k}$为由视觉系统估计的关键帧k时刻的旋转方向;${t_{{\mathrm{CB}}}}$为外参标定参数(相机相对于机器人主体)。
最后,以重力向量G已知为9.81的情况下,通过矩阵计算和拉格朗日乘子法将约束优化问题
$$ \mathcal{X}_a^* = {\underset{x}{\mathop{\text{argmin}}} } \sum_{k \in \mathcal{K}}\| r_k^a \left(x \right)\|^2 _{ \sum_{k}^a } \;\;{\text{subject to }}\left| g \right| = {\boldsymbol{G}} $$ (19) 转化为求解多项式的根得到加速度计偏差${{{b}}^{{a}}}$,重力方向g和尺度因子s。
2. 试验与分析
本文通过将EuRoC数据集、实际煤矿井下场景作为试验环境,以验证基于FCM–SLAM算法在煤矿井下的定位性能。
自主搭建的煤矿用智能机器人平台如图7所示,配备极摩客M2,内置i7 11390H CPU、16 G内存,相机传感器为OAK–D-PRO–W。操作系统为Uuntu20.04,程序在机器人操作系统ROS(Robot Operation System)的Noetic版本下运行。
2.1 图像增强试验验证
2.1.1 图像增强效果分析
为了训练针对煤矿井下的无监督EnlightenGAN算法,本文构建了非成对的煤矿井下图像数据集,数据采集于陕西省宝鸡市某煤矿井下。图像数据集由HuaWei P30Pro拍摄,分辨率为2 340×1 080像素,在平硐内1 500 m范围各个场景进行拍摄,场景包括但不限于巷道、硐室、井下电机车等,并在各个角度以及目标远近进行采样拍摄,确保数据集的真实性。为了优化和扩增数据集,首先人工筛选去除过曝和模糊的图像,再将图像裁剪为600×400尺寸的图像,尽可能的包含各个场景的图像,并将图像进行90°/180°翻转、镜像翻转,最终得到
3560 张图像,从中随机选择光照较暗的160张图像作为测试集,剩下的图像组成光照较暗的trainA和光照正常的trainB,数据集部分图像如图8所示。网络训练参数见表1。表 1 改进的EnlightenGAN训练参数Table 1. Improved EnlightenGAN training parameter table参数 图像尺寸 批量大小 优化器 初始学习率 学习率衰减策略 预训练模型 训练轮数 取值 600×400 16 AdamW 10−4 Linear vgg16 200 为了对比改进后EnlightenGAN算法的效果,选取了基于Retinex理论的MSRCR和卷积神经网络模型RetinexNet[23]、同样轻量不需要配对训练的Zero-DCE[24]、原版EnlightenGAN进行对比,选取煤矿井下数据测试集的图像进行测试,部分效果图如图9所示。所选取测试集存在暗光、光照不均等情况,经过5种方法均可以提高图像的亮度,但效果存在差异。MSRCR方法存在明显的失真,在暗光处也存在较多的噪点。而RetinexNet方法出现了对比度严重下降,导致弱化了垃圾桶的边缘特征,在第2、第3组尤为明显,这显然不利于SLAM中的特征点提取。原始的EnlightenGAN在处理部分阴影时存在一些明显的噪点,如第3组所示。而对比于Zero-DCE,改进的EnlightenGAN算法能够更好地调节曝光细节,满足煤矿井下智能机器人定位系统对输入图像的质量要求。
2.1.2 特征点数量分析
EuRoC数据集是用微型飞行器上的相机和IMU组成的视觉惯性系统收集而得,包含2场景子集工业场景Machine Hall(MH)和房间Vicon Room(V),常用于特征点提取和SLAM系统定位效果的测试,其中一些子集存在暗光照及光照不均场景,能够检测FCM–SLAM对这些场景的适应性。其中MH04_difficult、MH05_difficult存在正常光照(图10a)、暗光照(图10b)部分,以及煤矿井下真实场景(图10c、图10d)。如表2和图10所示,可以发现当环境光照强度充足时,图10a图像提取到的特征点未发生明显变化,证明系统在正常光照下能维持稳定的工作性能;而当环境光照强度较弱时,图像增强模块大幅改善了低光照下的图像细节不足问题,使得融合改进的EnlightenGAN的SLAM系统能够提取的特征点数量明显增加,这点在暗光环境的井下场景(图10c)较为明显,这将提高SLAM系统的特征匹配精度,进而提高系统的定位性能。
2.2 SLAM定位试验验证
1)公开数据集试验验证
EuRoc 数据集的子集MH根据微型飞行器的移动速度、环境光照条件分为简单、中等、困难3个类型的数据,共5个不同的数据集序列,对数据集的详细描述如表2、表3所示。
表 3 EuRoc数据集MH子集序列描述Table 3. Description of MH subset sequence in EuRoc dataset数据集序列名称 描述 采集距离/m MH01_easy 正常运动,正常光照 80.6 MH02_easy 正常运动,正常光照 73.5 MH03_medium 快速运动,存在暗光照 130.9 MH04_difficult 快速运动,存在暗光照 91.7 MH05_difficult 快速运动,存在暗光照 97.6 本小节主要验证的是本文算法在暗光条件下的SLAM系统定位效果。在公开数据上的测试均在配备Intel i7 CPU、RTX3060 GPU和16 GB内存的计算机上进行,软件环境仍为Uuntu20.04,ROS版本为Noetic。图11、图12分别展示了FCM–SLAM和原版ORB–SLAM3算法在MH04_difficult、MH05_difficult子集场景下的运行轨迹对比,其中虚线代表groundtruth(即实际轨迹),蓝色曲线代表本文算法轨迹,绿色曲线代表原版ORB–SLAM3算法运行轨迹。可以看出:本文算法在运动轨迹上更贴近真实轨迹,而原版ORB–SLAM3算法在存在暗光条件的区域发生了一定的偏移。
为了定量评估本文算法的优势,使用表示轨迹全局一致性的绝对轨迹误差( Absolute Trajectory Error, EAT )来评估系统的整体性能,其思想是先将运动轨迹进行对齐,再求取每个状态的均方根误差( Root Mean Square Error, ERMS )和标准差(Standard Deviation Error, ESD)。其中,ERMS 比均值和中位值更能反映系统的准确性和鲁棒性,ESD能反映系统的稳定性。EAT定义如下:
$$ {F_i} = Q_i^{ - 1}{\boldsymbol{S}}{P_i} $$ (20) $$ {E}_{{{\mathrm{RMS}}}}({F}_{1:n})=\sqrt{\left(\frac{1}{{n}}\sum _{i=1}^{n}\Vert {\mathrm{trans}}({F}_{i}){\Vert }^{2}\right)} $$ (21) 式中:Fi为第i帧的EAT;Qi为第i帧真实位姿;Pi为第i帧算法估计位姿;S为从估计位姿到真实位姿的相似转换矩阵;trans(Fi)为EAT中的平移部分。
定量分析选取了同样在视觉SLAM领域常用的ORB–SLAM2、VINS–Fusion和原版ORB–SLAM3做对比,以量化本文算法在暗光条件下的改进效果,且均采用双目+IMU模式(ORB–SLAM2仅有双目模式)。本文通过对每个序列分别运行5次取平均值,得到EAT的ERMS和ESD,来判断定位精度和系统稳定性。各算法对比结果和本文算法较原版ORB–SLAM3的提升见表4、表5。可知,算法运行在存在暗光照条件的MH03_medium 、MH04_difficult、MH05_difficult序列上,ERMS和ESD均有了明显的下降,ERMS平均下降13.7%,ESD平均下降15.24%,充分验证了本文算法在低光照环境下提高系统精度和稳定方面的有效性。而对于正常光照条件下的MH01_easy、MH02_easy序列,ERMS和SD的变化幅度不大,证明引入的基于解析解的IMU初始化方法不会影响SLAM的定位性能。
表 4 ERMS结果对比Table 4. ERMS results comparison序列/算法名称 ERMS/m 较ORB–SLAM3
下降幅度/%ORB–SLAM2 VINS–Fusion ORB–SLAM3 FCM–SLAM MH01_easy 0.035 8 0.060 2 0.041 4 0.041 5 0.24 MH02_easy 0.018 9 0.066 4 0.034 7 0.033 4 3.75 MH03_medium 0.028 3 0.135 0 0.028 2 0.025 0 11.35 MH04_difficult 0.109 0 0.056 7 0.048 3 0.040 7 15.73 MH05_difficult 0.068 9 0.054 7 0.055 7 0.047 9 14.00 表 5 ESD结果对比Table 5. ESD results comparison序列/算法名称 ESD/m 较ORB–SLAM3
下降幅度/%ORB–SLAM2 VINS–Fusion ORB–SLAM3 FCM–SLAM MH01_easy 0.020 9 0.097 9 0.015 7 0.014 9 5.10 MH02_easy 0.028 7 0.028 0 0.019 6 0.019 0 3.06 MH03_medium 0.025 5 0.013 9 0.012 8 0.011 4 10.94 MH04_difficult 0.039 9 0.023 0 0.024 2 0.020 1 16.94 MH05_difficult 0.040 2 0.030 2 0.028 6 0.023 5 17.83 2)实际矿山场景验证
为验证本文算法在井下环境的定位效果,本部分试验数据仍采自于陕西省宝鸡市某煤矿井下,试验平台为图7的煤矿用智能机器人平台。试验分为1、2两个场景,采集的数据类型为双目视频和IMU数据。场景的数据内容均为带有2个拐弯处的巷道,其中标记的A、B、C、D点为场景中含有的暗光照或者光照不均位置,其易导致系统识别到的特征点减少,致使系统跟踪丢失,反映到稀疏点云地图上产生了空白区域,最终导致定位轨迹发生偏移。
如图13所示,在A点,3组SLAM系统定位效果差异不大,仅VINS–FUSION的轨迹发生了一些波动,这是由于VINS–FUSION抗干扰能力较差引起的。在B点,ORB–SLAM3较FCM–SLAM发生了轨迹偏移,且由于FCM–SLAM能够均衡地提高暗光图像亮度,帮助特征点提取模块提取更多的特征点,反映在稀疏点云上比ORB–SLAM3做到了明显的补全效果。而VINS–FUSION在经过B点后轨迹产生了较明显且危险的漂移现象,偏离机器人真实运动轨迹。由图14可知,ORB–SLAM3在暗光照的C点直接发生了严重的漂移,导致整个场景定位失败。VINS–FUSION虽然未在C点发生严重漂移,但也存在定位轨迹的明显波动,经过D点时较场景2地图相比也发生了明显的偏移。而FCM–SLAM在场景2下定位轨迹更接近真实运行轨迹,更能满足煤矿井下机器人定位精度的需求。
2.3 系统响应速度验证
原版ORB–SLAM3在巷道内开始运行时,由于巷道内纹理较弱,且煤矿用智能机器人的运动激励有限,出现了IMU初始化激励不足,系统反复重启的情况(受制于原版算法的设计),5次初始化时间测试平均初始化时间在17.7 s。而FCM–SLAM引入基于解析解的IMU初始化方法使得初始化得以更快运行,先进行纯视觉优化,再将初始化完毕的IMU与视觉一起做联合初始化优化。在与图1的同一场景下,系统能够正常初始化,如图15所示。5次初始化时间测试平均初始化时间在7.5 s。
3. 结 论
1)提出了一种应用于井下暗光照环境的煤矿井下机器人定位方法FCM–SLAM。以ORB–SLAM3为主体框架,设计了全局部亮度检测以筛分图像,引入了融合自注意力的Enlighten图像增强模块以复原井下图像,其中自注意力模块能够建立暗光图像不同区域的依赖关系以提高模块对光照不均图像的增强能力。在初始化部分,引入了基于解析解的IMU初始化策略,使系统更快地进入SLAM后续线程中,且不影响定位精度。
2)通过试验分析表明,本文提出FCM–SLAM算法在煤矿井下暗光环境中具有良好的定位性能,在EuRoC数据集暗光序列下ERMS和ESD平均下降13.7%和15.24%;在存在暗光环境的真实巷道场景内,也更好地恢复了机器人运行轨迹,体现了算法定位性能的优势。
3)文章还存在一定的局限性,在实际运行中,发现视觉SLAM在井下巷道这类弱纹理环境下也易产生特征点较少的情况,在图10中较为明显,此现象亦会影响系统后续定位精度。此外,在井下试验中发现,当机器人运行在较为颠簸路段和视野内快速大面积物体经过的情况下,产生的模糊画面易使视觉SLAM跟踪失败。下一步工作应集中于改善SLAM在井下弱纹理环境和模糊场景中性能下降的问题,为井下机器人提供更精准的定位效果。
-
期刊类型引用(1)
1. 朱磊,张潇文,张楠. 基于SLAM的矿井移动机器人定位算法. 金属矿山. 2025(05): 272-277 . 百度学术
其他类型引用(0)