Computer Vision Techniques Applied for
Reconstructionof Sea oor 3D Images from Side Scan and SyntheticAperture Sonars
Data
摘要
这篇文章讲的是如何将2d的侧扫声纳图像重建为3d的过程,使用的仍然是shape from shading 算法,基于Lambertian反射和表面反射率一致性假设。
1. 引言
侧扫声纳和合成孔径声纳是比较常用的水下声纳成像装置,因为它们不能像多波束声纳一样直接生成三维图像,因此就需要算法进行三维重建。最常用的方法就是sfs算法(这也是我目前看到最多的),其中Lambert定律常被用作底部散射系数的角依赖模型。
这篇文章提出了两种三维重建的方法:
第一种方法用于水下沉船或其他水下物体的三维重建处理,由于传统的sfs三维重建的表面比较平滑,不适用于沉船等人造物体,因此使用两种组合技术:首先使用基于Lambert定律的sfs算法作为底部散射系数的角依赖函数来估计局部高度梯度; 其次,利用声影区域的尺寸估计高度变化。
第二种方法,同样基于sfs算法,它作为现有方法的改进。对于一个给定的声纳图像的像素对应的海底深度估计,他使用来自当前处理和以前ping的信息,允许局部表面元素方向具有两个自由度。
2. 三维重建和可视化
2.1 算法
该算法基于以下假设:
声波在水中直线传播,
反射模型已知,
声纳传感器高度H已知,
表面的法向垂直于y方向,也就是前进方向(它被用作消除反射系数和表面元素方向之间关系的模糊性问题的最简单方法,后者通常有两个自由度)
与声纳传感器高度相比,被重建物体的垂直(z)轴方向的尺寸较小。
声纳图像的强度和反射的声波强度成正比。
该算法用到的几何模型见下图:
对应于表面的一点Pi,假设经Pi反射回传感器的时间为ti,那么Pi的x方向的坐标为:
每一个表面点对应的高度(z坐标的值)这样求:
首先,假设z的初始值为z0.
然后,如果当前处理的第i个像素未被识别为阴影区域的开始(例如,其强度高于设定的阈值Ith),就可以应用sfs算法,即通过反演后向散射系数的角相关函数,由像素强度估计局部入射角θi。本文采用了海底后向散射系数Ss与入射角θ的类Lambert定律函数:
相邻点Pi+1的高度Zi+1可以使用表面高度沿x坐标的局部梯度进行估计:
并利用有限差分进行近似:
上式中,zi+1可以这样计算:
其中表面的倾斜角αi可以计算为:
另外,在检查到阴影区域时,沿x轴阴影区域的长度计算为:
其中j–当前检测到的阴影区域的像素数。然后将zi+1到zi+j的高度先设为未知,然后zi+j+1的值计算为:
也就是说,产生尺寸为Δxsh阴影区的局部地形元素的高度假定为 :
图2展示了阈值Ith的选取对重建结果的影响。
图4展示了不同的阈值Ith重建后的轮船残骸的一部分。
可以看出,由于图4b中选择了更大的Ith2作为阈值,因此,其阴影的面积更大,并且在[xa,xb]范围内没有重建的内容。
2.2 结果
图3是侧扫声纳获得的水下沉船的图片
为了便于三维可视化,使用了虚拟现实建模语言(VRML)
对于放大部分的三维重建,这里应用了两种阈值Ith1=0.05Imax 和
Ith2=0.1Imax进行比较,见图4.从图中可见,阈值设定的越小,能够获得更多的细节;但是另一方面,Ith的值过低,可能会引起失真或噪点增多(对于局部高度的斜率估计)
3. 三维海底地形重建
3.1算法
该算法除了用到第二部分的假设外,还引入了两个假设:
第一,局部表面元素有两个自由度
第二,假设没有阴影区出现。
该算法用到的几何模型见下图
侧扫声纳的波束覆盖了从φmin到φmax的一个角扇区。
与水下沉船三维重建类似,还是使用(1)式表示Pi点的横坐标xi。
时间瞬间ti,海底表面Si受到声波照射,其面积可用于由经典方程表示的平底情况:
同样的,后向散射模型假设为类Lambertian的形式(公式(2)),但是,在这里不需要在垂直平面XOZ中定义θi角。
图6展示了对连续的离散点(x,y)的高度z的三维海底重建,
其中(i,j)iteration(i表示声纳图像中对应于一次声纳ping的处理行,j表示属于该行的像素数),也就是说对于点Pij=(xi,yi,z(xi,yi))的高度估计,考虑到局部三角形面,顶点位于两个先前估计的点Pi-1j=(xj,yi-1,z(xj,yi-1))和Pi j-1=(xj-1,yi,z(xj-1,yi))处,以及当前估计的点Pij。使用提到的模型,为zij选择的值允许计算到局部表面的法向N、角度θi和局部强度Ii值,然后将它们与原始声纳图像进行比较。在一般情况下,不可能得到最优zij表达式的解析形式,即给定I等于测量值。另一方面,在应用模型中,Ii(z)是z变量在范围[zijmin,zijmax]的单调函数,其中z 对应θijmin = 0°, zijmax 对应 θijmax = 90°。因此,采用简单的二分算法,从初始[zijmin,zijmax]搜索区间开始,进行zij估计。该迭代算法是这样的:对于第K次迭代,zijkmid作为[zijmin,zijmax]的中间值,然后在中值左侧或右侧减小它的搜索范围。也就是说,如果我为zijkmid计算的回波强度I小于当前处理的声纳图像像素的强度,则选择左半部分进行连续迭代,否则选择右半部分。(其实就是2分查找)
3.2结果
下图是侧扫声纳获得的海底图像:
使用3.1的算法重建后的结果如图8a,8b是框选后的放大部分,8c是带纹理的重建结果
4.结论
本文提出了两种shape from shading 算法。所提出方法的优点是它们的简单性和能够连续产生结果的能力。未来的工作应该集中在更先进的SFS和阴影处理算法的实现上。特别是,在所提出的海底重建算法中,在声纳图像处理过程中,可以通过考虑不仅从当前ping和前一个ping获得的信息来实现性能的提高,还可以从一些以前处理过的ping,结合加权平均技术的应用。