关于人工智能:水下视觉SLAM的图像滤波除尘与特征增强算法

2次阅读

共计 8326 个字符,预计需要花费 21 分钟才能阅读完成。

作者:胡瀚文, 王猛, 程卫平, 刘宗霖, 陈苗苗
起源:机器人
编辑:东岸因为 @一点人工一点智能
原文:水下视觉 SLAM 的图像滤波除尘与特色加强算法

摘要:将视觉 SLAM(同步定位与地图创立)办法利用于水下环境时,扬起的沉积物会导致 SLAM 特色点提取与追踪艰难,而且人工光源的光照不平均还会引起特色点散布不均与数量较少。针对这些问题,设计了一种水下图像半均值滤波除尘与光照均衡化特色加强算法;依据水中杂质的像素特色,依照“检测-滤波”的程序采取从外至内的半均值滤波过程打消扬起的沉积物在图像内造成的烦扰;同时,通过统计光照平均、短缺区域内的像素散布,失去同一地形下不同地位处的环境特色类似的法则,并将其用于求解水下光照模型,将图像还原为光照平衡的状态,以此来加强图像的特色,进而实现更多无效特色点的提取。最初,利用该滤波与加强算法对多种海底地形数据集进行解决,并在 ORB-SLAM3 算法下测试运行。结果表明,滤波与加强后的数据集可能将特色点提取数量和构建地图的点云数量均匀进步 200%。综上,图像滤波除尘与特色加强算法可能无效进步视觉 SLAM 算法的运行成果与稳定性。

01  引言

水下视觉 SLAM,即是在水下场景中,通过对所采集的图像进行特色匹配与追踪,实现对相机的轨迹定位与对周围环境的构建[1],在无人勘测、自在巡航等畛域有微小的利用后劲。

水下环境与海洋环境之间存在微小差别。首先,在水下尤其是深水中,次要依赖人工光源照明,而且水对光的排汇与散射作用 [2] 导致照明范畴无限且清晰度有余,水下图像特征提取艰难,特色匹配度不高。此外,潜水器在近底作业或察看时,本体或推进器的扰动会将海底的沉积物扬起,如图 1(a)所示,此为水下扬尘景象。这些被扬起的沉积物与背景环境亮度色调差距显著,因而会被误选取为高质量的特色点参加匹配,大量有效的特色点会对轨迹的求解与定位产生较大影响,极易呈现跟踪匹配指标失落的问题。因为以上问题的存在,水下图像并不能间接利用于视觉 SLAM 中,须要对图像进行预处理,使得其在以 ORB-SLAM[3-4]为代表的各类开源视觉 SLAM 框架 [5-6] 中具备良好的体现。

图 1 海山区有、无沉积物烦扰条件下的黑白比照图

为解决上述问题,应答水下图像进行两方面解决,别离为对水下扬起沉积物的过滤以及对无效特色的加强。目前不足无关对沉积物或杂质的特征分析以及其对图像所造成烦扰的钻研,而无关水下图像增强的算法钻研较多,能够分为传统算法、去雾加强算法以及基于深度学习的算法 3 大类。

这 3 类算法中,传统办法包含滤波 [7]、直方图均衡化[8] 以及独立成分剖析 [9-11] 等,这些办法简略易用,但不足足够的灵活性来应答水下的简单状况;去雾加强算法包含暗通道去雾 [12] 和 Retinex 去雾 [13] 等,它们通过建设光照模型 [2] 并提取图像自身的反射光成分来实现图像增强,这种算法的图像复原能力很强,但利用在水下时须要用深度信息计算光的衰减 [2],在仅有灰度图的状况下对深度的估算具备较大的误差,加强成果无限;同时,基于深度学习的图像增强算法,例如用卷积神经网络加强 DSLR(数码单反)图像的算法[14] 和 WESPE(weakly supervised photo enhancer)[15]等,无论在视觉效果或是图像评估指标上均表现出色,但其须要大量的数据集来训练生成式反抗网络,而且泛化能力有余,不能适应数据集外多样的环境。

本文工作能够分为两大部分:首先,为打消扬起沉积物对特征提取与匹配的烦扰,通过剖析沉积物的特色,设计一种半均值滤波算法,防止了视觉 SLAM 零碎呈现跟踪定位失败的状况;其次,为解决照明范畴限度和清晰度有余的问题,在已有钻研的根底上,利用深海同一地形环境特色的相似性建设并求解光照模型,设计一种光照均衡化算法,用于对水下图像进行特色加强。

02  半均值滤波算法

2.1 图像沉积物杂质的特色

图 1 为水下机器人在海底作业时拍摄的图像,图 1(a)展现了水中因为潜水器静止或螺旋桨扰动而扬起的沉积物(黄色的杂质)对图像的烦扰,图 1(b)则为无沉积物烦扰时的图像。

如图 1(a)所示,大量水下沉积物杂质弥散在空间中,它们具备如下特色:

1) 粒度极小,个别在 10 个像素的范畴内;

2) 与背景像素灰度值对比度极高,亮度差别很大;

3) 地位扩散,不会显著影响背景图像的特色散布。

基于以上剖析,半均值滤波算法在尽可能不影响原有的地形相干特色的根底上,滤掉被扬起的沉积物杂质,以进步特色点提取的有效性。

图 2 为滤波示意图,整个矩形框示意图片,矩形外部的方形示意宽度为
\(w\)、高度为 \(h\) 的滤波窗口 \(I\);\(p_{i,j}\)示意以图片左上角为坐标原点,依照图中坐标轴所示方向建设的坐标系下第 \(i\)行第 \(j\)列的像素灰度值;而 \(I_{i,j}\)则示意以第 \(i\)行 \(j\)列像素点为核心的滤波窗口。针对像素点 \(P_{i,j}\)地位的滤波过程记作

图 2 半均值滤波示意图

其中 \(I^{in}_{i,j}\)和 \(I^{out}_{i,j}\)别离示意窗口 \(I_{i,j}\)笼罩的地位在滤波前后所有像素形成的像素矩阵,\(F_i(・)\)为滤波函数。

上面将具体论述式 (1) 中函数 \(F_i(・)\)的运行过程,分为检测与滤波两局部。

(1) 检测。设整张图片的像素灰度均值为
\(\bar{p}\),如果窗口 \(I^{in}_{i,j}\) 的所有边缘像素点(如图 3 中的 0 号位)的灰度均值 \(\bar{e}_{i,j}\)与 \(\bar{p}\)靠近,即

图 3 w=7、h=7 条件下的半均值滤波过程

其中 \(τ\)为环境阈值,则认为该窗口边缘像素点处于图像的背景环境中。而后,比拟窗口核心像素灰度值 \(P_{i,j}\)与边缘像素灰度均值 \(\bar{e} _{i,j}\),若满足

其中 \(θ\)为杂质阈值,则根据 2.1 节第 2) 个个性,认为
\(P_{i,j}\) 为杂质像素点,要进行滤波。根据小概率事件的判断阈值,\(θ\)取图像像素灰度值标准差的 3 倍。

(2) 滤波。操作的具体程序如图 3 所示。边缘像素点设为 0 号位不变,两头的像素点顺次依照从外到内、从角到边的程序检测并更新(图中序号的程序)。更新的规定为:如果以后像素点和与其相邻的更新过的像素点的灰度均值差小于滤波阈值
\(r\),则不更新以后像素点,以此爱护原始特色的完整性;否则,以相邻的更新过的像素的灰度均值作为新的像素灰度值。在图 3 中,绿色箭头示意用所有指向该像素点的相邻像素点的灰度均值评估是否更新该像素点。例如,图中 2 个 0 号位像素指向 1 号位像素,如果这 2 个 0 号位像素的灰度均值与 1 号位的像素灰度值差距小于 \(r\),则不更新 1 号位像素灰度值,否则将其更新为 2 个 0 号位像素的灰度均值。而后依照从两端到两头的程序顺次更新各个边像素,以此类推从外至内逐层检测更新,直到最终解决中心点 \(P_{i,j}\)(6 号位),遍历了窗口所有像素后完结,最初输入更新后的像素矩阵至
\(I^{out} _{i,j}\)。

因为滤波过程中采纳外侧已检测的相邻像素点而不是所有相邻像素点的灰度均值更新以后像素点,因而本算法被命名为半均值滤波算法。

2.3 算法运行条件

算法运行时窗口的长、宽个别取图像尺度的 1%~2%,如果设计得太大则会滤掉原始的背景特色,如果太小则会无奈胜利过滤杂质。环境阈值 \(τ\)取 20,滤波阈值 \(r\)取 20。对环境阈值 \(τ\)的选取次要基于无沉积物烦扰的场景中像素的方差,对滤波阈值 \(r\)的选取基于 SLAM 算法中提取 ORB 特色点时的阈值[4]。

本算法实用于对杂质特色显著、背景特色格调对立的图像的解决,因而并不仅限于对扬起沉积物的过滤,但同时可能会毁坏色调过丰盛的特色。

2.4 图像处理成果

本节对算法进行初步测试,测试图像大小为 450×700,窗口长、宽被设置为 w = 7 和 h =7。

图 4(a)为有杂质的海底图像,图 4(b)是通过半均值滤波算法解决后的输入图像。图中,半均值滤波算法可能无效地去除图像中被扬起的沉积物杂质,并保留了环境自身的特色,获得了良好的成果。凑近图像右边缘的杂质未被去除,这次要是因为其尺度较大,因而被算法认定为无效特色而保留下来。

图 4 半均值滤波算法的运行成果比照

图 5 为图 4 除杂质前后图像的 ORB 特征提取状况。图中仅展现前 500 个特色点(绿色标记)。原图的特色点大量散布于杂质与背景的边缘,而除杂质后图像的特色点则无效提取到背景地位,因而能够证实半均值滤波算法对特色筛选的有效性。

图 5 对图 4 图像提取 ORB 特色的后果比照

03  光照均衡化算法

3.1 光照模型剖析

直方图均衡化算法 [8] 被较多利用于图像的预处理,其将整张图的初始像素灰度值散布通过非线性变换映射为均匀分布,从而达到图像增强的目标。然而,该算法对亮度或光照散布不平均的图片,只会使亮处更亮,暗处更暗,不能很好地起到特色加强的作用。而深水图像因为人工光源照明范畴的限度,其环境就是处于这种亮度差别极大的状态。

图 6(a)为原始图像,核心区域亮度大且清晰,边缘区域亮度低且含糊,图 6(b)为将该图作直方图均衡化的成果,尽管均衡化后图像整体亮度差别变大,但部分区域的对比度并没有无效加强,因而须要解决光照不平衡的问题。

图 6 直方图均衡化成果比照图

3.1.1 深海光照模型图 6(a)中,两头区域亮堂且清晰,是因为风物反射光成分占比拟大;而边缘灰暗且含糊,则是因为光照范畴的有余使得反射光占比升高,散射光占比晋升。

为还原环境的自身特色使其不受光照范畴与强度的影响,建设图 7 的光照模型[2],图像可被看作是风物反射光和水中散射光的叠加,满足

图 7 水下光照模型

其中 \(P_{i,j}\)示意图像在 \((i,j)\)地位的光强,也是图像在该地位的灰度值,\(q_{i,j}\)为该地位反射光光强,\(a_{i,j}\)为散射光光强,\(w\)为成分权重。上述公式次要利用于光照散布较为平均的水下场景[2, 12],但因为人工光源照耀范畴的限度导致不同地位的光照强度不同,因而在式(2) 的根底上引入光照范畴衰减系数 \(α\),满足

其中 \(α_{i,j}\)示意地位 \((i,j)\)的衰减系数,
\(q_{i,j}\)示意该地位在光照短缺、平均条件下的反射光强。光照均衡化算法,即是将原本因为光照范畴限度导致不同地位处亮度与对比度不平均的图像,通过求解式(3) 光照模型,还原为光照短缺且平均的状况下图像的状态,以此加强图像并解决像素散布不均导致的直方图均衡化成果欠佳的问题。

3.1.2 光照散布不变性

图 8 所示为海山地形的 2 张图片,以坐标点(250,350) 为核心,截取 150×200 大小的窗口,保障区域处于光照最短缺的中央,计算图中红色矩形区域内像素的散布状况。图 9 为 2 个窗口的像素散布直方图,表 1 为二者的均值和标准差,二者的散布极为类似。

图 8 海山区不同地位的两张图片

图 9 图 8 两张图片选中区域的像素散布直方图

表 1 图 8 两张图片选中区域的像素灰度均值与方差

因而能够假设:若光照条件雷同且短缺,海底雷同地形的不同区域,像素灰度值的散布近似雷同。本文将该法则称为同一地形光照散布的不变性。

基于同一地形环境特色的相似性,能够间接地近似求解光照模型中的范畴衰减系数 \(α\)与权重 \(w\),进而还原光照匀、短缺时的光强 \(q\),算法见 3.2 节。

3.2 光照均衡化模型

假如以像素点 \(P_{i,j}\)为核心、尺寸为 20×20 的窗口
\(I_{i,j}\) 所笼罩像素的灰度均值为 \(μ_{i,j}\),标准差为 \(σ_{i,j}\);

选取各窗口覆盖范围内像素点的灰度均值的最大值 \(μ_{max}\)作为基准亮度,并认为该地位的范畴衰减系数
\(α\) 为 1。基于 3.1.2 节光照散布的不变性可知,在光照短缺的状况下,每一个窗口的像素散布的均值和标准差该当大致相同。通过各个窗口 \(μ_{i,j}\)的差异能够失去不同地位的光照衰减系数:

因为窗口 \(I_{i,j}\)的范畴较小,因而能够近似认为 \(I_{i,j}\)范畴内散射光光强 \(a\)不变,即在窗口内任意地位,散射光强均为常数,故方差 \(σ^2_{i,j}\)满足

其中 \(σ^2_{qi,j}\)示意反射光在窗口 \(I_{i,j}\)
内散布的方差,\(\bar{q}_{i,j}\)为反射光在该窗口内的均值。寻找所有窗口中在去除衰减系数影响后标准差 \(σ_{i,j}/α_{i,j}\)的最大值,记为 \(σ_{αmaxx}\),满足

并认为在该地位散射光比重近似为 0,即 ω =1,同时基于 3.1.2 节标准差不变的假如

可解得反射光权重 \(w_{i,j}\)满足

最初求解散射光 \(a\)。根据暗通道实践 [11],在没有自然光烦扰的时候,每个窗口 \(I_{i,j}\) 中反射光像素灰度值
\(q\) 的最小值靠近 0,即令

因而,有

其中 \(P^i_{i,j_min}\)示意窗口 \(I_{i,j}\)中图像光强的最小值,故

衰减系数 \(α_{i,j}\)和比例系数 \(w_{i,j}\)根据式(4)(5) 求得,因而可失去
\(a_{i,j`}\)。最初依据式(3)~(6) 可求得

对每个像素点进行上述计算后,即能还原光照平均、短缺条件下的像素散布 \(q\),实现特色的加强。随后,对还原的图像再进行直方图均衡化,便能充沛防止光照不平均导致的对比度加强有余的问题。

图 10 为光照均衡化加强算法的总体构造流程。

图 10 光照均衡化加强算法结构图

3.3 图像增强成果

图 11 所示为将图像转化为灰度图后进行图像增强的后果。图 11(a)为原始灰度图,图 11(b)为用光照均衡化算法还原的图像,图 11(c)为将图 11(b)再进行直方图均衡化的成果。由图可知,还原后的图像整体亮度散布更加平衡,而将还原后的图像进行直方图均衡化解决,则能在全局范畴内将图像的对比度无效加强。

图 11 光照均衡化加强算法成果

本算法预先确定的窗口大小个别取图像尺度的 5%。图像大小为 400×750,故窗口长、宽均为 20。光照均衡化算法次要用于解决灰度图,对大多光照散布不平均且背景特色较为对立的图片均具备较好的还原加强成果。

04  试验

本节对实在的水下视频数据集先后进行图像半均值滤波和光照均衡化解决,别离利用解决后的数据集与原始数据集运行 ORB-SLAM3 算法[3],并比拟运行后果。两种算法的具体运行流程如图 12 所示。

图 12 图像预处理算法总流程图

4.1 试验评估指标

从图像增强成果以及视觉 SLAM 运行成果两方面评估算法的有效性。

4.1.1 图像增强成果

掂量图像的加强成果次要集中于三方面:首先,掂量图像的清晰度与对比度是否有显著晋升,个别采纳均匀梯度(MG)评估;其次,检测加强后的图像是否尽可能保留了原始图像的信息,个别采纳构造相似性(SSIM)和峰值信噪比(PSNR)计算图像的构造相似性;最初,通过观察解决前后的图像,直观剖析加强成果。

1) 均匀梯度 [16] 用来掂量图像的对比度,均匀梯度越大则对比度越大。

其中 \(P_{i,j}\)示意 \((i,j)\)地位的像素灰度值,图像大小为 \(H×W\)。

2) 构造相似性 [17-18] 用来评估解决后图像与原始图像之间像素的相关性。

其中 \(μ_{x}\)和 \(μ_{y}\)为 2 幅图像的灰度均值,
\(σ_{X}\)和 \(σ_{y}\)为标准差,而 \(σ_{}xy\)是 2 幅图像的灰度协方差,\(C_{1}\)和 \(C_{2}\)为常量。

3) 峰值信噪比 [19] 能够反映被解决后的图像与原始图像之间的类似水平,和 SSIM 性能相似。

其中 \(L_{MSE}\)为解决前后两张图片的均方误差,\(ε\)
为二进制下的像素位数,取 8。

4.1.2 视觉 SLAM 运行成果

图像增强算法对视觉 SLAM 零碎的作用体现为可能更不便地提取到更多的无效特色。本文通过比拟特色点均匀数量来掂量特征提取的难度,采纳最终建图点的数量评估无效特色的晋升状况。

1) 图像特色点的均匀提取数量。试验中勾销 ORB-SLAM3 算法对于特色点提取数量的下限限度,统计每一帧图像的 ORB 特色点数量并计算各个数据集下所有图像特色点数量的平均值。

2) 地图点构建数量。在各数据集下运行 ORB-SLAM3 算法,统计每次运行完结后构建的点云图中地图点的数量。

4.2 实验设计

4.2.1 试验数据集

如表 2 所示,试验应用海山区、落石区和结核区 3 种地形下 ROV(遥控潜水器)作业的拍摄视频,帧率为 30 帧 / 秒,视频各截取 1000 个间断帧造成图像数据集,对海山区进行半均值滤波(SMF)解决,对结核区和落石区以及海山区滤波后的图像进行光照均衡化(IE)解决,并与直方图均衡化(HE)算法 [8]、DCP(dark channel prior)去雾算法[12] 和 Cho[2]的水下可视性加强(underwater visibility enhancement)算法进行成果比照。

表 2 试验数据集信息

4.2.2 试验环境

试验环境如表 3 所示。

表 3 试验环境

4.3 试验后果

4.3.1 图像处理后果

1) 对海山区的原始灰度图作半均值滤波解决,解决前后的指标如表 4 所示,成果如图 13 所示。

表 4 海山区图像半均值滤波后果

图 13 海山区图像半均值滤波解决成果

2) 对海山区滤波后图像、落石区和结核区原灰度图作光照均衡化加强解决,后果见表 5~7,效果图见图 14~16。

表 5 海山区图像指标

表 6 落石区图像指标

表 7 结核区图像指标

图 14 海山区图像预处理成果及比照

图 15 落石区图像预处理成果及比照

图 16 结核区图像预处理成果及比照

4.3.2 图像处理后果剖析

如图 12、14~16 所示,半均值滤波算法对海山区图像中被扬起的沉积物有很好的打消作用。同时,相比于直方图均衡化算法、暗通道去雾算法和 Cho 算法,海山区、落石区和结核区图像在加强后全局亮度更加平衡,对比度更清晰。

剖析表 5~7 的图像指标能够发现,半均值滤波算法的 SSIM 和 PSNR 指标都比拟大,表明滤波后的图像在打消了沉积物杂质烦扰的前提下,较好地保留了原始图像的环境特色。同时,光照均衡化算法的 SSIM 和 PSNR 指标偏低,这是因为其扭转了原始图像的光照状态和部分像素散布,因而绝对升高了与原始图像的相似性,其解决的图像的 MG 指标显著大于原始图像以及比照算法解决的图像,表明了光照均衡化算法对晋升对比度与清晰度的有效性。

比照试验后果发现,MG 最大的地形为海山区,其次为结核区,最初为落石区,这在肯定水平上反映了不同地形特征提取难度的差异。

4.4 SLAM 运行后果

4.4.1 视觉 SLAM 运行后果

表 8~10 为视觉 SLAM 算法在各个数据集上的运行后果。海山区应用无解决图像运行时呈现了特色点跟踪失落的问题,地图不残缺,因而海山区的比拟基准采纳半均值滤波后的数据集,其余地形依然采纳无解决图像的数据集。

表 8 海山区视觉 SLAM 运行后果

表 9 落石区视觉 SLAM 运行后果

表 10 结核区视觉 SLAM 运行后果

4.4.2 SLAM 运行后果剖析

视觉 SLAM 算法的运行结果表明,本文所设计的光照均衡化算法能提取更多的特色点,晋升比例约为 200%,除此之外,本文算法的地图点数量相比于原图晋升也在 200% 左右。综上,本文的光照均衡化加强算法在 SLAM 零碎下的运行成果远优于原图与比照算法。

图 17 为 ORB-SLAM 算法生成的点云地图。海山区地图点最密集,落石区地图点次要集中在落石与沉积物的边缘,而结核区的特色点分散在整个地图区域内。联合图像处理后果可知,图像均匀特色点提取数量与图像的 MG 成正相干关系,也可证实 MG 用于掂量图像增强成果的有效性。

图 17 ORB-SLAM 算法点云图

综上所述,半均值滤波算法可能在无效去除图像中杂质的同时保留原始图像的结构特征;光照均衡化加强算法可能大幅度提高图像的清晰度,由此进步 ORB-SLAM 算法提取到的特色点数量与最终的建图点数量。

05  论断

提出了用于水下视觉 SLAM 图像处理的半均值滤波与光照均衡化算法,用于解决水下光照不平均、有扬起沉积物烦扰以及特色不显著的问题。通过试验发现,本算法可能无效避免图像杂质烦扰导致的 SLAM 轨迹跟踪失落问题,同时显著进步检测特色点的数量,进步地图匹配点个数,使视觉 SLAM 零碎在水下的体现更稳固无效。

1. 45 个主动驾驶开源数据集总结

2. 书籍举荐 -《大规模 SLAM 技术》

3. 书籍举荐 -《ROS2 机器人编程扼要教程》

4. 基于多传感器交融的定位和建图零碎

5. 最新|3D SLAM 对于 z 轴精度的优化思路整顿

6. 书籍举荐 -《自主移动机器人与多机器人零碎:静止布局、通信和集群》

正文完
 0