|
^5 z2 ^7 }) R* N A MULTI-DEVICE SONAR SIMULATOR FOR REAL-TIME UNDERWATER APPLICATIONS
% P; N' w# [, v, n( a" f) \: k 摘要7 H8 v; ~# ]& x6 D- G5 J
(背景)水下声纳的模拟允许在事先没有真实数据的情况下开发和评估基于声学的算法,这降低了现场实验的成本和风险。然而,这种应用需要在高效渲染数据的同时模拟声学物理。
: @5 V4 n. R8 z# E& ]) t2 e (工作)为了实现具有实时约束的高可靠性虚拟化,该论文介绍了一种能够再现两种主要成像声纳操作的模拟器:机械扫描成像声纳和前视声纳。虚拟水下场景基于三个组件 i) Gazebo处理物理力,(ii) OpenSceneGraph渲染海洋视觉影响,以及(iii) ROCK framework提供模拟组件之间的通信层。在此基础上,可以获得水下模拟场景,然后通过混合图形过程进行处理,得到模拟声纳图像。在GPU上,着色器通过使用选择性光栅化和光线跟踪方法来计算主反射和次反射,其中计算资源仅分配给反射表面。由此产生的反射被表征为两个声纳渲染参数:脉冲距离和回波强度,它们都是在3D场景中被照射的物体上计算的。然后,这些声纳渲染参数在CPU上被处理成模拟声纳数据,其中可观察场景的声学表示被合成和显示。声音的内在特征,如噪音、声音衰减、混响和材料特性也被认为是最终声像的一部分。
8 o) ?1 t; j9 m1 j0 c: G( I (评估)作者的评估证明了提出的方法产生的图像在视觉上接近真实声纳设备产生的图像的有效性。就计算时间而言,所取得的结果使所提出的模拟器能够满足需要在线处理声学数据的水下应用。 8 D! i" _/ V& _8 J; ? ]
声纳
# v2 R; L; z3 ?, s5 A/ s6 w 声纳系统分为被动式和主动式两种。
% r, E9 Y/ E9 A: H. D 在换能器读数中,每个测量值被称为一个bin,从相同回波获得的一组bin被称为一个波束。因此,当声纳换能器在给定方向发射声音脉冲时,就会产生一个波束。这个波束包含很多个bin,每一个bin都表示声纳前面特定位置返回的回波强度,这样,初始的bin表示最近的距离,最新的bin表示最远的距离。
( i+ f1 b. A3 s: @. I 笛卡尔坐标系中的一个3D点可以表示为 S=[x,y,z]TS=[x,y,z]^T .声纳系统的参考系在球坐标系下定义为 Q=[r,θ,ϕ]TQ=[r,\theta,\phi]^T ,球面坐标系和笛卡尔坐标系的变换为: ' V+ ~* z# F$ g# _, J `/ A- `- \
S=[x,y,z]T=[rcosθcosϕ,rsinθcosϕ,rsinϕ]TS=[x,y,z]^T=[r cos\theta cos\phi,r sin\theta cos\phi,r sin\phi]^T ' N8 z8 _# t7 p }
由于仰角在声学投影的过程中丢失了,声纳测量系统测量零仰角平面上的距离 rr 和偏转角 θ\theta ,作为正投影的近似值,这种近似依赖于假设:场景在仰角方向上的起伏相对于在其他方向上的程度是可以忽略的,从而:
. V8 q+ U+ B* |, x7 S u3 U! T' F5 K7 c P^=[x,y]T=[rcosθ,rsinθ]\hat{P}=[x,y]^T=[r cos\theta ,r sin\theta] f: y4 f5 B Q* o8 J( f% F) V
原始的声纳数据表示为极坐标图像 I(r,θ)I(r,\theta) ,列表示独立的波束,行表示距离采样(bin),像素值对应于反射的声强。在笛卡尔坐标系中,扇形图像保持了目标的几何图像,但是测量分辨率的损失随着距离的增加而增加。
0 ?% u: E% C; D+ H 尽管声纳设备克服了光学设备在水下领域的主要限制,但是声波被不同的因素扭曲和削弱,例如:衰减、斑点噪声、混响/多径传播和表面反射率。
2 m/ b# Y9 F8 R 衰减:能量在水中消耗,衰减引子分成三部分; ( h5 U! m W# z2 m5 L+ ~
斑点噪声:分为乘型噪声和加型噪声,服从高斯概率分布;
# ~% w7 x0 {- s1 C$ G+ F5 X' u' \ 混响:边界混响和体积混响; ' [( \, ^. }/ C4 j
表面反射率:取决于物体的表面材料,为了处理不同的反射率,可以控制声纳单元的增益。 & c4 X1 y: z& [& @
主动声纳可以通过单个换能器或换能器阵列来分类:单波束声纳和多波束声纳。 0 e+ H0 o- c$ s& s# M5 _
在GPU上集成了选择性光栅和光线跟踪模型,其中计算资源只用于反射区域:光栅化处理期间在G缓冲区内的预先计算的数据用于计算一次反射,而反射区域通过光线跟踪来模拟二次反射。这种组合实现了多路径传播的功能,与完全射线跟踪和管道跟踪相比,发射的光线较少,实现了相同的最终的结果。 . N, f, c6 H! g( m
模拟声纳图像% B! G# j5 p6 P
在GPU上,引擎通过使用光栅化和光线跟踪方法计算来自水下模拟场景的反射,其中计算资源仅分配在表面;产生的反射随后在CPU 上被处理成模拟声纳数据,其中可观察的声学表示被合成和显示。 ! ], ~( z/ @, |4 Y2 A8 r
基于CPU的声纳渲染: 4 M6 o0 a: j( O6 i
一旦创建了3D 模型,图形处理过程就将物体投影到2D屏幕上的图像。首先,将组成场景的所有三角形的顶点坐标都转换到一个公共世界坐标系中,然后投影到屏幕空间上。屏幕空间也限制了模型的投影。屏幕视角外的三角形被丢弃,部分位于屏幕视角外的三角形被裁剪。视角内的部分三角形被光栅化。光栅化将屏幕空间内的每个三角形转换为片段的集合,这些片段对应于屏幕中可见的像素。最后,每个片段被适当地着色并显示在屏幕上。
5 o. G/ |: r6 [) H# p1 b1 x 初级反射:
@$ r3 r3 [. q2 e/ @0 W3 M! @5 @ 延迟着色是将几何渲染和光线计算分离的过程。延迟渲染将处理过程分为两个主要部分:首先,场景被渲染一次,以从物体表面检索所有的几何信息,例如,世界空间位置,世界空间法线和颜色,这些信息存储在称为G缓冲区的集合中。在第二步中,片段着色器使用屏幕空间中G缓冲区的值计算直接和简介光线。 2 X4 e7 o! [' H7 v \9 f
第一次反射来源于光线与3D空间中场景集合体的最近交点。为了提高寻找这些与可观察物体相交点的性能,这项工作使用延迟着色技术来模拟声波的第一次反射。初始反射不是通过虚拟环境发射单独的射线并计算射线和场景物体的所有交点,而是利用存储在G 缓冲区中的两个几何信息(世界空间中的位置和法线向量)来计算光栅化过程中的渲染参数:脉冲距离和回波强度。
; L& S' m$ }- v. r 现实感测中,多种因素会影响声波传入回声的强度,这里考虑四种现象:表面不规则性、材料反射率、声音衰减和斑点噪声。表面不规则通过应用法线映射,这是一种RGB纹理,他会改变法线的方向,从而在表面制造粗糙感。法线贴图技术和位移贴图技术相比,达到同等视觉细节水平下,消耗的计算资源更少,因为几何形状没有改变。
- C- N, x+ @ P v; l' _3 |1 X) R 二次反射: 5 a9 [* l: g( p) |0 F' f
二次反射是由初级射线与场景几何图形的交点处产生的。光线跟踪在这里用于跟踪次射线,并模拟他们与场景中虚拟物体的相遇。在射线跟踪中,射线R定义为从称为原点的点开始的线,并且沿着某个方向被无限跟踪,使用t来表示跟随射线行进的距离,则有: ) D; e& `) g) H- c
R(t)=Rorig+Rdir⋅tR(t)=R_{orig}+R_{dir} \cdot t 7 u+ q- F4 a3 J. G: }
因此,追踪一条射线来寻找最近的交点,就是寻找射线与平面相交时的t最小的点。在这项工作中,来自G缓冲区的世界位置和法向向量用于计算声波和场景几何图形的一次反射,确定每条射线的起始位置(交点 RorigR_{orig} )和反射方向( RdirR_{dir} )。随后,所提出的射线跟踪器通过选择回波强度值大于0的所有反射进行跟踪,来启动二次反射。 * B0 C/ v4 i, }
三角形是最简单的表面类型,通过解线性方程来高效计算来检验相交。追踪穿过场景的单条光线将花费与组成该场景的三角形数量成线性关系的时间,因为光线需要针对每个图元进行测试,来找到最近的交点。通过减少交点检验的数量可以减少渲染时间,已有的算法如下:
3 { K" I/ [% G% J! T 1.对于场景中的每个物体,一个盒子封装了所有三角形的顶点;
: |6 `$ I7 Y3 E } 2.如果射线不与一个盒子相交,它就不能与这个盒子内的任何三角形相交;
5 R. ~( y9 M5 O8 ? 3.否则,对包含在盒子中的每个三角形测试射线; - A c+ b8 u# Z q
4.在与三角形正面新相交的情况下,三角形和射线原点之间的脉冲距离和回波强度值存储在结果图像中。
0 {8 Z6 b( ^$ a7 W5 X 统一反射: ( F" x$ f5 v5 R8 t7 Z& u
在计算一次反射和二次反射后,相应的结果与回声强度和脉冲距离值混合在一个统一的着色器图像中,然后应用信号衰减效应。衰减的发射值被组织为着色器图像通道,其中蓝色和绿色分别表示回声强度和脉冲距离。这些值的范围从0到1。结果与回声强度和脉冲距离值混合在一个统一的着色器图像中,然后应用信号衰减效应。衰减的发射值被组织为着色器图像通道,其中蓝色和绿色分别表示回声强度和脉冲距离。这些值的范围从0到1。
" g9 L1 d' h( @0 s 在CPU上生成声纳图像:
* B. b, Y7 D7 L* @0 e, p$ T 在CPU上,产生的声纳渲染参数被转换成相应的声学数据。在一个真实的声纳中,测得的回波随时间采样,并且bin的序号和传感器范围成比例。对于每个波束部分,距离直方图根据脉冲距离值和bin的序号,对像素进行分类,依次计算每个bin中的累计强度。 ) ]+ P7 n( M6 G8 `9 g6 r
2 `/ H7 M M5 d. {! X& c# q% R; g% o8 e3 W1 W
_) E) `) p# G1 z9 A Q- n" v& ~: I# M4 `7 s8 A2 n$ p
|