随着水下机器人载体技术的不断成熟,水下机器人在水雷探测和港口反蛙人等传统和非传统安全领域都有很大的应用前景。小型自主水下机器人因为其成本低,灵活性好,非常适合在水下安保应用。为了实现水下机器人自主识别水下目标,通常需要借助声纳信息,但因为小型水下机器人需要考虑体积,功耗,成本等诸多因素,在其上使用的声纳需要具备体积小,功耗低,价格便宜等特点。研究如何利用一种简单的前视声纳,从其数据中获取有效的环境信息,对提高小型水下机器人的安保应用的能力有很大的意义。
本文研究了一种可用于小型水下机器人的的前视声纳的信息提取方法,采用的声纳为Tritech公司的单波束机械扫描声纳Micron Sonar DST,虽然其产生的声纳图像的分辨率和更新的频率不如多波束图像声纳高,但其具有价格低体积小功耗低的优点,非常适合小型水下机器人的避碰,目标识别和导航等应用[1]。研究如何获取这种简单低成本声纳的返回数据中的有效信息对提高小型水机器人的自主能力非常有意义。
1. 声纳原始信息
1.1 声纳视域模型
Micron Sonar DST单波束步进扫描声纳,可以给出目标的方向和距离信息。其波束垂直宽度为35°,水平宽度为3°,采样数据由8位或4位两种模式。在当前扫描位置发出一个波束,然后以一定的时间间隔对回波的强度进行采样,采样值表示了相应位置的回波强度。完成当前位置的采样之后声纳头旋转一个步进角到下一个位置,同时将此次采样值以数据包的形式向上发送。如此,便可以利用单波束声纳头完成对一个面的探测[2]。
建立声纳数据与实际扫描空间的映射关系:以声纳为原点,建立空间内的球面坐标系 ,设声纳探测范围为,当前位置为,每个波束的采样数为 ,第个采样点的值对应的空间区域在球面坐标系下的方程为:
(1)
虽然式1表示的是空间区域,但是声纳的数据中只能给出由方向和距离组成的二维平面信息,所以垂直方向的位置将会被忽略:用一个过原点的平面与空间区域相截,得到一个过声纳的平面,在该平面上建立声纳直角坐标系和极坐标系。直角坐标系方便生成声纳图像,极坐标系方便表达每一波束的采样值。一个波束中每个采样点在平面内的对应关系为:
(2)
式2表示了第个采样值在声纳极坐标系的平面内所对应的区域,通过式2便可以将每次返回的数据映射到声纳平面上,形成直观的声纳图像。
1.2 生成声纳图像
将多个波束的一维的声纳数据合成二维的声纳图像,以便从中提取有效的信息。声纳回波强度值通常为8位,取值范围为0~255,可用灰度图或伪彩色图来表示。对声纳图像的处理,既可以消除每一次数据中噪声,也可以通过多组数据得到更准确的目标特征信息。
定义一个角度维分辨率×距离维分辨率大小的位图矩阵,将每次返回的数据存储在位图的一行中,多个波束的数据就构成整个位图。再定义一个1000×600的位图,并以位图的左下角为原点建立位图坐标系。位图坐标系与声纳坐标系()之间的关系为:
(3)
为采样点在声纳坐标系下的位置。
图1是声纳在水下机器人实验室里12m×20m大小的水池中按以上映射关系获得的图像。声纳位于水池边缘,扫描范围为前方180度,距离为20m,声纳头步进角为0.9度,每个波束采样点数为300。将图1所示的原始数据按照声纳视域模型映射到位图坐标系下,可得到图2,它可以直观显示目标与声纳之间的位置关系。
图 1声纳原始数据
图 2 声纳原始图像
2.信息提取
Micron Sonar DST声纳的图像分辨率较低,包含噪声多,其中的有效信息比多波束图像声纳要少得多。为了提高信息提取的准确性,最大限度的消除各类噪声和畸变对图像中目标区域的影响,必须对声纳的原始图像进行处理,然后才能进行目标的特征信息。所以,信息提取过程包括声纳图像预处理和目标特征信息提取两部分[3]。
2.1声纳图像预预处理
本文根据Micron Sonar DST声纳图像的特点,结合具体生成的声纳图像,使用以下步骤进行处理:
图 3 声纳图像预处理过程
去噪处理[4]:虽然可以通过设定声纳的接收阈值来控制背景噪声,但经过实验表明,先使用低通滤波对声纳原始数据中一些孤立的噪声点进行处理,有利于后续信息提取的准确性。
波束内插值:声纳相邻两个波束之间角度一般设定为1.8°或0.9°,分辨率较低,图像的信息显得单薄,容易在处理程中损失,采用插值的方法估计相邻波束之间区域的反射值,这样不但有利于信息的提取,也有利于声纳图像的显示。本文采用双线性插值法进行处理。
灰度变换[4]:灰度变换的目的是扩展并强调感兴趣的灰度范围。本文通过强调高灰度区域压缩低灰度区域来突显反射源和抑制反射阴影部分。
图像二值化[4]:二值化的目的是去除反射阴影,确定反射源。二值化的关键是确定阈值,为了适应不同的特点的图像,本文采用自动阈值法二值化图像。
形态学变换[4]:二值化后的图像仍带有很多的噪声,目标区域内部也充满空洞,通过形态学变换的腐蚀和膨胀可以消除噪声和填充空洞,以便连通区域被正确地识别。形态学变换容易存在的问题是将一些小目标消除掉和将大目标分分离成两个目标。本文采取先进行小窗口腐蚀操作,然后再进多次的膨胀和腐蚀操作,可以得到比较理想的效果。
连通区域标记[4]:经过形态学变换的图像由多块连通的区域组成,每块区域被识别为一个目标。从1开始编号,用不同的编号标记每一个连通区域。经过以上处理后便可以对图中每一个目标的特征信息进行提取。
本文使用根据声纳通信协议设计的VC程序获得声纳的原始数据[5],采用了易于实现图像处理算法的matlab程序来实现以上处理过程,并在将其编译成动态链接库,在VC程序中加载,使得图像采集与图像处理集成在一个程序中。由于在matlab下实现以上算法比较容易,这里不作详细介绍。
图4是声纳原始图像图3处理后的结果。从4中可以看出,处理后的图像标记出了声纳视域中的4个目标。其中目标1为水池壁;目标2和目标3为放入水中的两个反射源;目标4为水池壁多次反射产生的阴影,实际中并不存在这个目标,可以根据其位置关系进行排除。
图 4声纳图像中的目标
2.2目标特征信息提取
对于图像中面积较小的目标,得到其在声纳平面坐标系下的坐标;对于面积较大的目标,需要得到其反射轮廓的曲线方程。
3.2.1点特征信息提取
根据目标面积的大小把目标分为点目标和线目标,图中一共有4个目标,通过面积判断目标的大小。
设集合为图像的目标区域的像素集合,则定义函数用来确定像素是否属于集合:
(4)
则区域的面积定义为:
(5)
设定一个阈值,对大于的目标进行边缘提取,小于的只提取其质心位置信息,对于后者,需要求出其曲线方程。
以图4为例,得到各目标区域的面积及中心点的坐标分别为:
表 1 目标点特征信息
目标 | X坐标 (像素) | Y坐标 (像素) | Area (像素2) | 方向 (度) | 距离 (米) |
1 | 449 | 287 | 135178 | —— | —— |
2 | 498 | 157 | 507 | 90 | 6.2 |
3 | 617 | 73 | 302 | 31 | 5.5 |
4 | 928 | 54 | 2909 | 7 | 17.2 |
表1中列出四个目标在位图坐标系下的相关特征信息。假设个像素点,通过面积来判断,目标1为大目标,目标2~4为小目标。对于小目标,根据位图坐标系到声纳坐标系之间的转换关系,就得到其在声纳坐标下的方位信息。
3.2.2边缘特征信息提取
目前有许多关于图像边缘检测的方法,它们对图像中一区域轮廓进行检测,给出某一连通区域的边缘。本文感兴趣的并不是图像中某一区域的边缘,而是该目标的大致外形内侧(靠近声纳坐标系原点一侧)在声纳坐标系下的曲线方程。获取该曲线方程分两步进行:首先检测出靠近声纳一侧的边缘点集,然后对边缘点进行曲线拟合。
1) 检测内侧边缘
以图4中的目标1为例,首先将目标1从位图坐标系转换到声纳坐标系(),记目标1的像素点集合为。设在声纳极坐标系下,集合T中的像素点,可表示为:
(6)
内侧边缘点即是同一角度与声纳坐标系的原点距离最小的点的集合,记作集合:
(7)
其中为角度采样步长。
因为点由参数决定,定义一个参数空间,那么空间内的点与应声纳坐标系下的点就有一一对应关系。为了方便找到集合E中的分段点,将集合E中的各点映射到空间内。于是集合通过映射,就得到在空间内的另一个点集,记作。集合和都是同一信息的表达。
以图4中的目标1为例,取,根据以上方法求得集合和,如图5(a) 和5(b)表示。
图 5(a) 点集 图 5(b) 点集
2) 分段曲线拟合
本文使用最小二乘法,其基本原理是拟合数据误差平方合最小。对于给定一组数据,寻求一个多项式模型,使得目标函数取得最小值,其中为[6]:
(8)
模型的阶次越大,拟合的效果越好,但计算量会增大,反之如果模型过于简单,拟合误差就会较大,综合考虑时间和误差的要求,本文采用二次模型:
(9)
对点集使用二次模型直接进行拟合,误差较大,效果如图6所示:
图 6 二次模型拟合结果
本文提出了分段拟合的方法,该方法的基本思想是将目标的边缘信息用若干个分段函数进行表达,关键是对目标的边缘数据进行分段。
观察图5(a)可以看出,根据图中数据的其变化趋势,点集中的数据被两个畸点分为三段;而图5(b) 表示了集合,它反应了在空间内关于的函数的变化关系,从图中可以看出,的两个极大值点正好对应图5(a)中的两个畸点,于是的极大值点便是数据的分段点。
我们只需要在集合中寻找到使取得局部极大值的点,点为:
(10)
根据连续函数求极大值的思想,容易求得集合中离散数据点的极大值。中的各点把集合分为若干个子集合:
(11)
根据以上的方法,在图5(b)表示的集合中求得两个极大值,将集合分三个数据段,图7(a)为分段拟合的结果,虚线为原数据,实线为拟合的曲线方程:
(11)
图 7(a) 分段拟合结果图
图7(b) 水池三面壁的线特征
将空间内的曲线方程映射到声纳坐标系下,得到关于的参数方程:
(12)
曲线如图7(b),其按照参数的取值分为三段,这三段就是实验水池的三面壁在声纳坐标系下的数学描述,水下机器人根据它便可以根据它理解周围的环境。
3.结论
本文通过对Micron Sonar DST单波束前视声纳原始数据的处理,从而提取出声纳视域内的目标特征信息。将声纳图像中的目标分为大目标和小目标,对于较小的目标,得到其中心点在声纳平面坐标系下的坐标;对于面积较大的目标,本文提出分段曲线拟合的方法,得到其反射轮廓的曲线方程。同时,给出该方法在水池实验的结果。
本文解决了单波束前视声纳在小型水下机器人上应用的关键问题,即水下机器人自动理解声纳返回数据中的环境信息的问题,在小型水下机器人的自主目标跟踪和避碰方面具有很大的应用价值。