水下光学摄影跟声纳比起来,具备提供更高解析度影像的潜力。而影像的清晰度很大程度取决于水质。在混浊的水中,开启使用在低光线情况下的照明会造成反向散射(backscatter),或者照射在水中微粒的光线反射回摄影机(如同在雾中开车更为困难一般)。
为了处理这样的挑战,SINTEF与欧洲各地的合作伙伴一同开发了为混浊环境设计的摄影系统-UTOFIA(图1)。
影机以每秒10~20个画面的速度传递3D影像,摄影范围最高可达15公尺,在深达300公尺时的解析度有1公分。它使用了距离选通摄影(range-gated imagin,请见补充说明)来将反向散射的影响降至最低,并取得视野中的物体距离资料(图2)。
图2 : (左)以UTOFIA摄影机拍下的影像,并透过上色来显示距离资料。(右)以一般摄影机拍下的相同场景影像,可看到有反向散射的情形。 |
|
我们开发演算法来处理从摄影机取得的原始资料,并制作3D、无反向散射的影像。这对我们来说是全新的领域,且需要快速的测试新的想法。透过MATLAB的整合式环境,以及其强大的视觉化支援,我们可以尝试超过40种不同的方法与技巧。在Python或C++,每一次的实现和测试都会需要比较多的时间,也不可能让我们有足够时间进行这么多次的测试。
距离选通摄影(Range-gated Imaging)
与其利用持续的光线照亮目标,距离选通摄影使用的是由闪光雷射(strobed laser)产生的毫微秒长(nanosecond-long)的光脉冲。从目标物之前的微粒所反射的光回到摄影机的时间会稍稍早于从目标物反射回摄影的光。我们可以透过控制摄影机快门,仅捕捉光从目标反射回到摄影机的瞬间以及非常些微从水中微粒反射的光的画面,来抑制反向散射效果(图3)。除此之外,我们可以测量光脉冲个别返回摄影机的时间,再乘上光速,便能准确地判断与目标之间的距离。
图3 : 上:距离选通摄影机的原理示意。下:摄影机拍摄不同距离取得的画面。 |
|
初始资料分析与峰值侦测
不同于传统的数位摄影机产生2D阵列像素,我们摄影机产生的是3D阵列方块,每个方块所记录的值代表光在视野的特定区域,以及与摄影机的特定距离下反射的强度。为了要从摄影机所产生的几十亿位元组资料中萃取出有用的影像,我们的演算法必须要能够从这些强度值资料辨别出峰值(图4)。外部因素会影响峰值的位置,在水中的散射可能也造成错误的峰值。这些原因都有可能降低产生影像的清晰度以及3D重建的品质。
图4 : 照片几个点之中(上图)当强度为距离的函数时的峰值(中与下) |
|
为了实际了解机械机制,我们针对水的各种混浊度以及摄影机的设定执行了大量的统计分析。这些分析包含建立以经验为依据的反向散射模型、研究向前散射的特性、以及建立特性响应的探测器模型。
我们也开发了一个MATLAB app来控制资料捕捉的流程,并且把这个流程自动化(图5)。这个app包含了介面元件来控制脉冲的扫射,以及一个我们用来配置拍摄设定及其他摄影机零件的.NET介面。
图5 : 用来自动捕捉资料的MATLAB app。 |
|
开发3D重建演算法
摄影机硬体已大幅削减反向散射,但可以透过软体再更进一步地降低反向散射带来的影响。我们开发了一个在不同混浊程度下的反向散射响应模型,并实现几个演算法来降低反向散射效果。在此探讨了几个替代方案,包含同态过滤(homomorphic filtering)以及直方图均衡化(histogram equalization)之下的变异,最后我们选择了非锐化过滤(unsharp filtering),这也改善了3D性能。除此之外,也为摄影机的校准、3D估计、峰值侦测、峰值拟合开发了演算法。
影像资料的视觉化
当我们分析了资料并开发3D重建演算法之后,需要把结果与其他UTOFIA伙伴分享。因此,建议另外一个MATLAB app来视觉化UTOFIA影像资料(图6)。这个app包含调整选项以及演算法参数的控制,像是对比、对焦、杂讯移除、直方图均衡化等等。使用者可以设定这些参数并立即在萤幕上看到调整后对结果的影响。
我们透过MATLAB编译器(MATLAB Compiler)把app包装一个独立版本,并且发布给合作伙伴,让他们提供一些回馈以及改善的需求。利用MATLAB与MATLAB编译器,可以在短短几天之内就把伙伴们要求的变更实现出来。如果是用C/C++或其他类似语言来实现这些变更则可能要花上好几周,或什至好几个月。
持续的开发
我们已经完成UTOFIA计画的第一阶段,摄影机与核心软体的开发。现在在影像和3D资料上执行额外的处理以因应特定产业应用,并开始研究计画的第二阶段:应用影像的机器学习与深度学习来辨别物体与其他现象。
即时3D资料的取得开启了改善渔业及水产养殖业流程的全新可能性,特别是自动化的计量分析。举例来说,我们在一家西班牙的水产养殖机构利用摄影机来辨识及测量鲔鱼的长度(图7)。
图7 : 经由UTOFIA摄影机产生的鲔鱼测量结果。 |
|
另外是在挪威的一研究单位,利用UTOFIA来进行行为分析,在一段时间之内追踪个别鱼只,估计其游泳的速度和型态(图8)。
同时,在水产养殖业尝试使用摄影机时,可以在低亮度且高混浊度的条件下观察鱼类和其他水产生物以进行生物质量估计(图9)。
图9 : (上)影像加上长度的估计值。(下)用来追踪单一鱼只的影像 |
|
若是使用传统水下摄影机,是非常难以在这样的条件下进行探测的。
(本文由钛思科技提供;作者Jens Thielemann、Petter Risholm、Karl H. Haugholt任职于SINTEF公司)