面向水下自主作业的环境安全性态势评估*
2024-01-16胡文杰续林刚崔燕妮
胡文杰, 王 楠, 续林刚, 崔燕妮
(中国海洋大学信息科学与工程学部, 山东 青岛 266100)
海洋是未来人类赖以生存的重要资源,是经济发展的重要指标。作为陆海兼备的发展中国家,中国提出海洋强国战略,加快海洋建设,提高海洋矿产资源的开发与保护。水下机器人作为新型海洋装备的重要成员,无疑是新时代探测与开发海洋资源的利器[1]。近年来,中国水下机器人技术飞速发展,多次在海洋资源探测中发挥不可替代的作用[2]。
水下自主作业机器人是智能化的移动载具,其最大的优点在于无人无缆、自带电源和推进系统[3]。正是凭借其独特的作业特点和技术优势,填补了遥控水下机器人无法完成的作业空白。水下自主作业机器人可以应用在海洋资源调查、海底测绘、海洋安防等各种复杂的水下任务中[4]。因此,水下自主作业机器人是新一代水下装备的研究重点。
水下机器人作业环境的安全是其完成各种任务的重要前提和基础保障。在复杂的海洋环境中完成作业,水下机器人会受到多种多样的海洋环境要素影响,尤其是恶劣的海洋环境会对水下机器人的安全构成严重威胁。因此,水下机器人在复杂的海洋环境中需要对周围环境有全面准确的态势评估,以提高自主作业情况下决策的精准度。
对复杂多变的海洋环境有准确的态势评估,才能使水下自主作业机器人具备自主完成各种任务的软实力,这使得态势评估在理论和应用方面不断发展。最早提出态势评估解决方法要追溯到上世纪,Jerome Azarewicz等[5]在1989年提出基于模板的态势评估的方法。2016年Carlos Morales等[6]提出基于贝叶斯方法进行建模和检测态势感知信息,应用于评估飞行器的状态问题。2018年何艳侠等[7]提出基于环境态势评估对智能车自主变道决策机制的研究。同年Mingjun Li等[8]提出了一种基于驾驶意图识别和态势评估的共享控制驾驶员辅助系统,以避开障碍物。2019年姜龙亭等[9]提出一种面向空战环境认知的态势评估模型。2020年丁华东等[10]运用混合模型对网络安全态势进行评定。同年Yun Zhang等[11]运用强化学习的角色批评算法训练评估网络,并在模拟战斗训练中建立目标的态势评估模型,为导弹攻击决策提供有效依据。2021年Hongyu Yang等[12]提出一种基于对抗式深度学习的网络态势评估方法,可以全面灵活地评估网络状况。
虽然国内外学者在水下机器人的环境建模理论[13-14]研究取得了许多成果,但是对于水下机器人的环境安全态势评估研究却是浅尝辄止。目前态势评估领域的研究多为零散、独立的观点,至今没有一个系统的理论体系。因此,研究水下自主作业机器人的海洋环境安全态势评估有重要的理论价值和现实意义。
本文提出一种面向水下自主作业的环境安全性态势评估的算法,通过对图像提取环境物体与作业主体之间的距离信息、水下物体运动状况信息和海底地质复杂度等环境要素实现信息融合,获得态势评估特征,从而构建态势评估模型,生成环境态势危险指数,并对评估结果进行等级量化来表征水下环境态势安全状况。此外,运用图像金字塔和四叉树对态势评估算法进行优化,以此来提高算法的计算效率和准确率。实验表明,态势评估算法能够快速、准确的对周围环境进行安全性态势评估,为水下机器人的自主决策提供有效的参数保障。
1 相关工作
态势评估主要是利用拟人的认知思维推理方式,根据已获得的要素信息对环境进行高层理解,并对未来进行预测。由于海洋环境具有复杂性、未知性和时变性,因此,水下自主作业机器人要有能力对环境进行态势评估和相应的态势预测,帮助其高效地完成任务。
态势评估可以为水下机器人的自主决策、路径规划等提供有效的参考。许多学者对水下环境态势评估进行了探索性研究。2012年莫君等[15]采用模糊数学方法构建环境要素对海洋环境要素的航行安全进行评估,但是研究是在较理想条件下的分析和初步探索。2015年Zhao Yuxin等[16]提出了一种基于D-S证据理论的水下环境安全状况评价方法,但是仅选取了三种评估要素,并不能完全地衡量水下环境安全状态。同年Snidaro Lauro等[17]通过马尔可夫网络理论整合不同的信息,实现情境评估,开发了复杂的事件级评估机制。由于应用的场景均为海面上,无法对水下的环境进行安全性评估。2018年么洪飞等[18]采用遗传算法实现离散动态贝叶斯网络参数学习,能够有效地解决复杂海洋环境下的态势评估问题,但是贝叶斯模型需要收集大量的样本数据完成参数的学习。2019年黄钦龙等[19]提出了基于潜在威胁分析的近岸目标威胁评估模型,兼顾主观经验和客观数据分析其潜在的威胁。但是仅对海上近岸目标进行评估,未对水下环境安全态势进行评估。2020年Lang Kun等[20]提出了一种基于贝叶斯网络的急情况评价方法,对深海应急情况进行定量评价。然而,贝叶斯网络建模需要大量的案例数据来进行结构和参数的学习。
2 态势评估
2.1 态势评估框架
态势评估是高层信息处理的过程,是体现机器人智能化的重要环节。通过对水下环境进行态势评估可获得水下环境威胁的基本情况,为水下自主作业机器人确定海域危险程度提供依据。水下环境安全态势评估涉及到多种感知信息融合,因此,本文结合态势感知三级模型[21]构建水下环境安全性态势评估框架,可将其分为态势观测、态势理解和态势估计三个阶段,整体流程如图1所示。
图1 态势评估流程图
2.2 态势评估环境要素
环境安全受到多种海洋环境因素的影响,与海洋环境因素的基本特征和分布密切相关,特别是一些环境要素会对水下机器人的自主作业构成直接影响和严重制约,因此,要获得更为精确的、可为自主作业提供帮助的态势评估,水下自主机器人需要综合评估多种环境要素,其中包括:环境物体与作业主体之间的距离、水下物体运动混乱度和海底地质复杂度。本文重点关注由视觉摄像机提供的环境参数信息,包括深度信息、运动信息和地质复杂度信息。
2.2.1 深度信息 场景中的深度估计信息在态势评估中发挥着重要的作用,而深度信息的获取主要可以分为两种方式:主动深度传感器和被动测距传感器[22]。主动深度传感器主要是通过机械设备来获得场景的深度信息,最常见的设备就是激光雷达。然而,水体对光线的吸收、散射以及不同水域浑浊度变化极大,因此,激光雷达在水下的测量无法保证精度。被动深度信息获取是利用同一场景的图像进行深度估计。常见的被动测距可以分为两种方法:单视图估计和多视图估计。其中,基于多视图估计的方法主要是使用双目图像进行推理,通过几何方法对图像进行推理、匹配、计算,利用相机参数和匹配信息从而获得深度信息。基于双目图像的深度估计方法受到基线长度的影响,因此应用范围有较大的局限性。相对而言,单视图深度估计只需要几幅场景单目图像即可估计深度信息。其中,最简单的单目图像获取方式就是使用单目相机拍摄。为了充分发挥水下机器人现有摄像机的作用,本文采用基于单视图的方式获取深度信息。
根据Jaffe-McGlamery模型[23],水下成像系统所接收到的总强度由目标物体反射的直接分量、目标物体反射发生小角度散射的前向散射分量、周围环境光被悬浮颗粒等散射所造成的后向散射分量这三部分线性叠加组成。对比太阳光与水下目标的距离,水下相机与目标的距离很近,可忽略前向散射分量所引起的模糊。因此,水下光学成像模型为:
I(x)=J(x)ξ(x)+A(x)[1-ξ(x)]。
(1)
式中:x表示图像中的像素点;I(x)表示拍摄图像;J(x)表示清晰图像;A(x)为背景光;ξ(x)表示传播系数。
为了获得准确的深度估计图,采用基于像素值的方法求解背景光。由于水体对不同颜色光的吸收和散射系数不同,因此在水下的衰减也不同,所以R,G,B三种颜色的传播系数需要分开考虑,因此,可将式(1)改写成:
IR(x)=JR(x)ξR(x)+AR(x)[1-ξR(x)],IG(x)=JG(x)ξG(x)+AG(x)[1-ξG(x)],IB(x)=JB(x)ξB(x)+AB(x)[1-ξB(x)]。
(2)
式中R,G,B分别代表图像的三个通道。
以R通道为例,对式(2)两边在局部区域Ω(x)上取最大值,假设传播系数ξ(x)和背景光A(x)在局部区域Ω(x)中保持一致,得到:
(3)
式中y代表局部区域Ω(x)上的像素点。
将式(3)化简,可得到:
(4)
考虑到近距离的衰减,通常水下背景光A是比较暗的,特别是在深海中,同时在合适的窗口尺寸下,目标离相机越接近,目标区域越明亮,J的最大值越近似于1,则有:
(5)
利用背景光和传播系数并结合式(1),即可获得图像的深度估计信息。
2.2.2 运动信息 场景中移动物体的运动情况对于准确预测场景未来走向,帮助机器人尽早做出规划至关重要。光流法能够从图像中获得密集的速度矢量,被广泛应用于检测各种流体,适用于不同场景下的运动估计[24]。因此,可采用光流法表示水流以及内部物体的运动混乱程度,从而实现对水下物体运动状况的检测。
光流法研究的是图像中像素运动的瞬时速度,其原理是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性,找出图像的上一帧与当前帧之间存在的对应关系,从而计算出图像相邻帧之间物体的运动信息。根据光流微小运动和亮度恒定这两个假设,则有:
P(m,n,t)=P(m+Δm,n+Δn,t+Δt)。
(6)
式中:P(m,n,t)表示在t时刻图像(m,n)处的像素值;P(m+Δm,n+Δn,t+Δt)表示经过Δt时间后图像(m,n)分别在m,n方向上移动了Δm,Δn距离后的像素值。
将式(6)按照泰勒公式展开并整理可得:
(7)
(8)
然而,单独使用式(8)去求解两个未知量u、v是不能获得唯一解,这被称为光流计算的孔径问题。为了解决这个问题,通常引用附加的平滑项Ereg(u,v)执行流场的空间平滑度一致性,具体为:
Ereg(u,v)=∬Ω[(|▽u|)2+(|▽v|)2]dmdn。
(9)
式中▽表示梯度算子。通过式(8)和式(9)可获得经典的变分光流法的能量最小化函数E(u,v)。通过式(10)可求解运动物体的光流信息:
(10)
式中γ为平衡系数。
2.2.3 地质复杂度信息 海底地貌形态是由于受到板块运动、地震火山等各种因素导致地质变化而形成的。海底复杂度是描述海底地貌复杂程度的一个量化指标,是水下机器人自主作业时需要考虑的一个重要因素。
图像复杂度是对一个图像复杂程度的度量,关于图像复杂度目前没有一个统一的定量描述,直觉上往往从图像的轮廓等信息来描述复杂度。因此,本文采用对水下图像求取二阶导数获取地质的轮廓信息,以此表征地质复杂度信息。其中,Laplacian边缘检测算法是一种常用的二阶微分算法,被广泛应用于图像的边缘检测。它具有各方向同性的优点,即旋转不变性和位移不变性,能够对任意方向的边缘进行提取,具体的计算公式如下:
(11)
式中:(i,j)为图像对应点坐标;f为原始图像;FLaplacian为检测得到的边缘信息;⊗代表卷积运算。
2.3 态势评估信息融合
影响水下机器人自主作业的海洋环境要素有很多,若只考虑环境与作业主体之间的距离、物体运动混乱度和海底地质复杂度信息进行态势评估显然是不全面的。若在评估中考虑所有的海洋环境要素,不仅评估模型构建复杂、计算繁琐,还有可能会混淆或者削弱主要海洋环境要素的作用,故可按照代表性、全面性以及可行性等原则对海洋环境要素进行筛选。选取影响水下态势评估环境要素主要有:复杂度信息、深度信息、光流流速信息、区域混乱度信息以及运动状态光流混乱度信息。
单目摄像机获取水下环境的图像信息,提取图像的环境要素,通过信息融合并结合海洋环境的特点,从而建立海洋环境安全态势评估特征S,如式(12)所示:
(12)
图2 态势评估结构图
为了实现更加准确的信息融合和评估推断,以此更好的表征环境态势安全性模型,在态势评估特征信息的基础上实现进一步提取特征,生成三个更高维度的特征信息,即整体特征、区域特征和细节特征。其中,环境安全态势用来保存最终的推理结果,不需要进行提取节点属性。
2.4 态势空间推理
本文并没有对水下环境中具体目标进行分类,也没有对其行为分类,而是从更加普适性的角度出发,重点分析水下场景的复杂程度,通过对图像提取特征进行信息融合处理,从而实现准确的水下环境安全性态势评估。其中,图像信息融合可以实现特征信息互补,减少背景信息的干扰,为此我们定义了环境态势危险指数,以此来定量表征态势安全性。其中,环境态势危险指数越接近于0,表示环境态势越安全;该数值越大,表示环境态势越危险。对态势评估特征进行归一化处理,结合态势评估模型框架,构建环境态势危险指数的计算规则为:
(13)
3 态势评估算法与结果评价
3.1 态势评估准则
由于态势空间推理阶段获得离散数值无法直观地表征水下环境安全状况,因此,本文使用了隶属度函数,将离散数值转换为对应的隶属值,实现对海洋环境从数值描述转换为态势安全状态描述,使得结果展示更加直观、简洁。为了提高评估效果并结合实际情况,对海洋环境安全态势的评估等级划分为3种:安全、较危险和危险。选择三值模糊处理的方式,实现对环境态势危险指数进行安全等级量化。隶属度函数U(s_value)定义形式如下:
(14)
式中s_value代表环境态势危险指数,若s_value位于区间[0,0.42),则态势评估结果的隶属值为0,将该s_value对应的图像块原色输出,在本文中亦可以理解为环境态势安全;若s_value位于区间[0.42,0.6),则态势评估结果的隶属值为1,将s_value对应的图像块添加黄色背景,在本文中亦可以理解为环境态势较危险;若s_value>0.6,则态势评估结果的隶属值为2,将s_value对应的图像块添加红色背景,在本文中亦可以理解为环境态势危险。
3.2 算法实现
为了实现精准检测复杂背景下环境的安全态势,需要将复杂的海洋环境要素信息素简化为可计算的数值。对于深度信息,本文参照了IBLA算法(Image blurriness and light absorption)[25]。IBLA通过结合三种深度估计方法计算出场景的深度,从而可以获得精准的深度估计信息。红光是可见光中波长最长的,即前向传播能力最强,因此,可直接根据红色通道的衰减程度获得深度估计图Dr;采用MIP算法(Maximum intensity prior)[26],即使用红色通道和蓝色与绿色通道的最大强度的差值,获得深度估计图Dd;利用图像模糊度计算深度估计图Db。最后,按照式(15)实现三种深度估计图的结合,得到最终的深度估计图:
D=θ[φ×Dd+(1-φ)Dr]+(1-θ)Db。
(15)
式中:D为三种方法结合的深度估计图;Dr,Dd,Db分别为上述三种估计方法获得的深度估计图;θ,φ为平衡系数。
对于运动信息,Farneback稠密光流算法可准确获取所有运动物体的光流矢量。Farneback算法使用多项式拟合平面的方式评估图像中各个点的运动情况,将笛卡尔坐标系上的二维图像信号转换到以(1,x,y,x2,y2,xy)作为基函数的空间中,通过观察一个多项式如何在平移下进行精确变换,最终从多项式展开系数中推导得到位移场。将图像上所有像素点的光流都计算出来,因此可以获得全面的运动物体检测。
对于地质复杂度信息,通过对采集的图像使用Laplacian算子计算图像的二阶梯度,从而可以统计出图像中物体的复杂度信息。此外,光流不仅可以表示刚性物体的运动状况,在流体的运动表示中同样出色[24]。光流法可以从图像中提取密集准确的速度矢量,从而准确的检测物体运动。因此,本文采用光流法表示水流以及内部物体的运动混乱程度,以便对水下环境进行全面的态势评估。对于每一个时间的光流方向,更加值得关注的是光流方向的变化,更混乱的变化意味着更混乱的扰动,意味着水下环境更加复杂危险。所以,通过计算出图像区域光流方向直方图,用光流方向直方图的方差表征区域混乱度,计算时间内的光流方向直方图的协方差的均值表征运动状态光流混乱度。
对于环境态势危险的区域不适宜自主作业,无需进一步细化窗口区域。同理,环境态势安全的区域也无需进一步细化。因此,为了提高环境态势评估的计算效率和准确率,对构建的态势评估模型进行算法优化。采用图像金字塔自顶至下,逐步细化的思路,并且将图像金字塔生成相对应的四叉树,引入阈值熔断机制,采取基于节点的态势评估计算方法,可快速计算态势评估结果。所开发的态势评估方法的伪代码如下列算法所示:
从单目摄像机中获得水下环境图像实现预处理(见图3)。首先,图像按照每层缩小2倍进行5层下采样,生成相对应的图像金字塔。然后,将图像金字塔表示成一颗四叉树,树根代表最顶层的图像,除了叶节点外,树中每个节点均有四个子节点。其中,四叉树的每层节点与图像金字塔的每层相对应,四叉树中每个节点的图像块尺寸都相同,可以保证后续检测的准确性。根据四叉树的节点进行态势评估,如果检查到某个子节点符合态势评估准则,则该子节点不再往下分割,把该节点作为根节点的子树进行删除,完成剪枝操作;否则,把这个节点再根据对应的图像金字塔分割成四个区域,这样递归地分割,直到每个区域都符合态势评估准则中安全或者危险等级。
图3 图像预处理
3.3 态势评估结果
首先,我们定性地分析态势评估结果。在图4中,我们对14种不同水域的水下环境图像进行态势评估测评,可以看出本文提的态势评估算法是一种可普遍适应于水下场景的评估方法。态势评估算法可以直接输出给定水下环境的安全性评估结果,可将海洋环境在物理层面上地形地貌、水文等要素相互作用的结果转换为数学层面上多源环境信息综合的结果。
图4 态势评估结果
此外,为了使得态势评估的结果更加直观、方便可视化,对态势评估结果进一步处理,即判断出水下环境适宜自主作业的安全等级,对不安全的区域根据不同安全等级进行标记,按照红色、黄色和原色三种不同的背景颜色将危险程度进行等级量化。其中,红色背景代表危险、黄色背景代表较危险、原色背景代表安全。态势评估算法通过数值量化风险等级,便于客观定量的分析比较,并且采用不同颜色对评估的不同安全等级进行标定,并将危险分级标注出来,从而获得合理、直观的评估结果。态势评估算法可对水下自然环境及其内部物体进行精细化的危险性评估,为水下机器人自主作业提供技术支持。
为了定量评判态势评估算法的准确性,本文从实际水下自主作业的需求出发,开发了环境态势分析交互界面,实现人工对照实验。通过咨询海洋生态、环境等领域的专家,充分融合专家经验、知识与水下环境要素的客观数据,按照综合性安全评估准则进行人工态势评估,从而获得人工评估结果图。将人工评估结果图与态势评估结果图各自均分为256份,按照评估结果为安全或危险转化为16×16的二维矩阵,根据两者评估结果是否相同计算出态势相似准确度,其公式为:
(16)
式中:Accuracy代表态势相似准确度;Saij代表态势评估二维矩阵的第i行,第j列结果;Aaij代表人工评估二维矩阵的第i行,第j列结果。
通过统计态势评估算法和人工评估两者结果的异同,计算出相应的态势相似准确度(见图5)。态势评估算法在14种不同的水下环境场景下进行测评,对14种不同的水下环境场景计算平均态势评估准确率达到87.2%。由图5可知,态势评估算法的准确率较高,证实了水下环境安全性态势评估算法的可操作性和准确性。此外,为了方便观察态势评估结果准确率,在垂直面设置了0.70的阈值面,小于阈值的图像进行反向的输出,其中,由于水下相机拍摄角度的问题,从而出现假性的近距离,导致图4(e)和图4(n)的态势相似度较差,后续将考虑添加相机位,多角度拍摄取景,实现联合态势评估从而克服这个问题。针对图4(d)出现对于鱼类的危险性误判,后续拟采用光流聚类的方法对数据进行分析,得到光流一致且幅度较大的目标,减除掉目标的光流信息,从而解决危险误判的问题,最终可得到优化的环境态势评估结果。总体而言,态势评估算法可以输出不错的评估结果,可以为水下机器人自主作业提供有效参考。
图5 态势准确度柱状图
4 结语
在本文中,我们提出了一种面向水下自主作业的环境安全性态势评估方法,可以将图像中不确定的环境状态要素转换为可靠的评估结果。通过信息融合处理获得态势评估特征,构建态势评估模型,对水下环境安全进行评估。此外,还通过结合图像金字塔和四叉树对态势评估算法实现优化,提高态势评估的计算效率。实验表明,本文所提算法能准确、有效评价水下环境安全态势评估的问题,进而增强水下自主作业机器人应对海洋环境的快速反应能力,为研究海洋环境评价提供了新思路。但是,本文算法是基于图像的态势评估,忽略了时间序列对态势评估的影响,未来我们研究的重点将是基于水下视频的态势评估。