舰船水下设备的正常运转是舰船正常航行的基本保障,水下船体破损、海水阀堵塞以及螺旋桨、舵、翼等传动装置的损坏都会降低舰船的在航率。为了提高水下维修保障能力,设计一套应用于水下应急维修的机械臂系统,在不靠港不进坞的情况下就能完成简单的检修任务。本文研究依托于水下维修机械臂,在机械臂的末端装有多个工装位,可搭配多种末端执行器,其中水下摄像机就位于机械臂末端,执行着水下照明和水下摄像的任务,便于上位机能观察水下作业环境和设计水下作业方案。水下作业促进了水下目标检测和水下图像识别技术的快速发展,虽然水下目标识别技术的研究基于声视觉占有主导地位,但这种非接触的识别技术取得的结果不直观,因此光视觉能给人最直观与丰富的视觉感知,所以在近距离水下作业中有着不可替代的作用[1-2]。
文献[3]利用优化后的MSRCR算法估计图像光照量并消除水下噪声对图像质量的影响,同时将改进的YOLOv3目标检测算法,加深检测网络深度,突出目标物特征,提高对海参目标的检测精度。文献[4]提出了一种用于改善水下图像对比度,提高图像特征匹配数量的方法。利用常见的直方图算法对水下图像进行增强使其均衡,得到亮度和对比度分布均匀图像,特征匹配数量明显增加,特征点提取结果一致。文献[5]针对水下图像退化严重,首先基于暗通道先验与颜色校正的增强算法,并引入2个控制参数估计波长,利用颜色校正纠正颜色偏差,提升水下图像质量,改善视觉效果。
1 影响水下图像质量的因素当舰船水下设备受到损伤时,可能会直接威胁到舰船的生存能力。从实际现状及需求出发,解决舰船在港口的日常检查和海上应急水下抢修的问题。受不同海域水质的影响,海水中含有的溶解物和颗粒物浓度、种类都不相同,因此对光在水中传播的方式也有很大影响。一方面由于水的吸收效应会衰减变暗,另一方面由于悬浮物和水体会发生发散和吸收,改变光的传播方向和减少光量[6]。对于水下图像,光在水中的传播有向前散射和向后散射,水下图像的形成过程如图1所示。
水体会对光进行散射和吸收改变光的传播方向和光量。散射和吸收效应造成光在水下传播的衰减效应,根据Lambert-Beer经验定律,得到水下光的衰减模型为:
$ L = {L_0}{e^{ - cr}}。$ | (1) |
其中:
光在水下的散射函数计算公式为:
$ L\left( {x,\lambda } \right) = {L_0}\left( {x,\lambda } \right){e^{ - a\left( \lambda \right)r\left( x \right)}}。$ | (2) |
式中:
光在水下的散射函数计算公式为:
$ L\left( {x,\lambda } \right) = {L_0}\left( {x,\lambda } \right){e^{ - b\left( \lambda \right)r\left( x \right)}},$ | (3) |
式中,
综上,光在水体下衰减的计算公式为:
$ L\left( {x,\lambda } \right) = {L_0}\left( {x,\lambda } \right){e^{ - c\left( \lambda \right)r\left( x \right)}}。$ | (4) |
式中:
水下图像的获得在实验室中进行,如图2所示。采用升降设备将水下机械臂送入装有水的水箱,并利用上位机检测真实水下情况。
构建水下图像物理模型,根据水体对水下图像的影响,物理模型一般将前向散射的影响忽略不计,将水下图像物理模型改写为:
$ {I_\lambda }\left( x \right) = {J_\lambda }\left( x \right){t_\lambda }\left( x \right) + {B_{\lambda ,\infty }}\left( {1 - {t_\lambda }\left( x \right)} \right)。$ | (5) |
其中:
起初暗通道先验算法被用作图像去雾,可以直接从图像的暗像素中估计雾和光的相关信息,简单且高效。图像中单个像素中的三通道中必定存在一个通道的值最低,将所有最低值集合的图像称为暗通道图像[7]。
首先利用DCP算法构建图像退化模型,利用暗通道算法对其定义如下式:
$ {J^{dark}}\left( x \right) = \mathop {\min }\limits_{y \in \Omega \left( x \right)} \left( {\mathop {\min }\limits_{c \in \left\{ {r,g,b} \right\}} {J^c}\left( y \right)} \right)。$ | (6) |
其中:
从图3可以看到暗通道图的大部分像素具有很低的亮度值,少数的亮度较高区域由背景光或湖面反射的自然光造成的[8]。
根据式(5)可知,对于一幅图像的物理模型,
有关学者认为有雾图像中最亮的点即为图像背景光,但是当图像中有光源存在时背景光的估计会出现错误;有的学者认为在有雾图像中,背景光的估计出现在雾最浓的地方,而该思路符合暗通道先验算法,因此在检测有雾图像背景光时,确定暗通道中亮度较亮的一部分点的集合为背景光[9-11]。
对背景光的估计完成后还需要对图像的传输率进行估计,对式(5)取2次最小滤波运算得到下式:
$\begin{aligned}[b] & \mathop {\min }\limits_{x \in \varOmega \left( y \right)} \left( {\mathop {\min }\limits_{\lambda \in \left( {r,g,b} \right)} {I_\lambda }\left( x \right)} \right) = \mathop {\min }\limits_{x \in \varOmega \left( y \right)} \left[ {\mathop {\min }\limits_{\lambda \in \left( {r,g,b} \right)} \left( {{J_\lambda }\left( x \right){t_\lambda }\left( x \right)} \right)} \right] + \\ & \mathop {\min }\limits_{x \in \varOmega \left( y \right)} \left[ {\mathop {\min }\limits_{\lambda \in \left( {r,g,b} \right)} \left( {{B_{\lambda ,\infty }}\left( {1 - {t_\lambda }\left( x \right)} \right)} \right)} \right]。\end{aligned}$ | (7) |
传输率是指在一个区域缓慢变化的量,并与深景相关。设某个区域传输率是一个常量,根据算法的有关理论有
$ t\left( x \right){\text{ = }}1 - \mathop {\min }\limits_{x \in \varOmega \left( y \right)} \left( {\mathop {\min }\limits_{\lambda \in \left( {r,g,b} \right)} \frac{{{I_\lambda }\left( x \right)}}{{{B_{\lambda ,\infty }}}}} \right)。$ | (8) |
在实际图像中或多或少会存在雾化效果,如果直接完全去除雾对图像的影响,会使得图像看起来不自然,颜色不均衡,因此引入一个参数控制雾气的去除程度如下式:
$ t\left( x \right){\text{ = }}1 - \omega \mathop {\min }\limits_{x \in \varOmega \left( y \right)} \left( {\mathop {\min }\limits_{\lambda \in \left( {r,g,b} \right)} \frac{{{I_\lambda }\left( x \right)}}{{{B_{\lambda ,\infty }}}}} \right)。$ | (9) |
得到图像的背景光和透射率后,图像的场景灰度就可以还原处理了。当
$ {J_\lambda }\left( x \right) = \frac{{{I_\lambda }\left( x \right) - {B_{\lambda ,\infty }}}}{{\max \left( {t\left( x \right),{t_0}} \right)}} + {B_{\lambda ,\infty }} 。$ | (10) |
图5为水下机械臂末端所拍摄的水下压力表画面,水下场景图像原图和用传统暗通道先验算法处理后的图像。
从仿真后所得出的结果可以对比,仿真图虽然能有效改善水下对图片影响使图片更加清晰,但是处理后的图像色偏严重,不自然,影响图像的视觉感受,因此使用常规的暗通道先验算法直接处理水下图像,很难做到符合人眼视觉效果,需对算法改进后处理水下图像。
3 改进暗通道先验理论国内目前关于水下视觉的研究比较少,尤其是在军事方面的应用几乎空白,但是在水下养殖方面水下视觉却有大量的直接应用。对于水下图像来说,未改进的暗通道先验算法无法准确估计出水下图像三个颜色通道的传输图,会降低图像还原的质量,为了更加适合处理水下图像,需对先验算法进行改进。改进的方式是通过引入变量,估计各个颜色通道间的系数比,依据所得系数比估计RGB三通道传输图,从而改善水下图像的处理效果[12]。
按照改进算法的流程,对图像的背景光进行估计,水下图像可以近似的处理成雾化效果,处理后的暗通道图亮度较高,使用该方法容易出错。
依照暗通道先验理论估计水下图像背景[13]。图像中的任何区域都可以看成三颜色通道组合而成,而亮度较高的区域颜色比较均衡;与一般图像不同的是水下图像的背景区域,3个颜色通道的亮度不均衡,一般呈蓝色或绿色调。故有色饱和度的定义,如下式:
$ satuationg{\text{ = max}}\left( {R,G,B} \right) - \min \left( {R,G,B} \right)。$ | (11) |
其中:
设定阈值是因为背景光色饱和度高于平均色饱和度,如下式:
$ satuation{g_{low}}=\rho \bullet {\text{avg}}\left( {satuationg} \right)。$ | (12) |
式中:
背景光的计算很难获得准确值,因此需要对其进行估计。背景光估计的流程图:首先取暗通道图像中亮度为前0.1%的点,同时选出亮度最高点作为预估背景光
为了更好地对水下图像进行还原,还需要得到3个颜色通道的传输图[13]。对式(5)两端同时除以背景光
$ \mathop {\min }\limits_{x \in \varOmega \left( y \right)} \frac{{{I_\lambda }\left( x \right)}}{{{B_{\lambda ,\infty }}}} = \mathop {\min }\limits_{x \in \varOmega \left( y \right)} \frac{{{J_\lambda }\left( x \right){t_\lambda }\left( x \right)}}{{{B_{\lambda ,\infty }}}} + 1 - {t_\lambda }\left( x \right),$ | (13) |
对等式两端3个颜色通道取最小值,得到下式:
$\begin{aligned}[b] \mathop {\min }\limits_{\lambda \in \left\{ {r,g,b} \right\}} \left[ {\mathop {\min }\limits_{x \in \varOmega \left( y \right)} \frac{{{I_\lambda }\left( x \right)}}{{{B_{\lambda ,\infty }}}}} \right] = & \mathop {\min }\limits_{\lambda \in \left\{ {r,g,b} \right\}} \left[ {\mathop {\min }\limits_{x \in \varOmega \left( y \right)} \frac{{{J_\lambda }\left( x \right){t_\lambda }\left( x \right)}}{{{B_{\lambda ,\infty }}}}} \right] +\\ & 1 - \mathop {\min }\limits_{\lambda \in \left\{ {r,g,b} \right\}} \left[ {{t_\lambda }\left( x \right)} \right] ,\end{aligned}$ | (14) |
根据暗通道先验理论
$ \mathop {\min }\limits_{\lambda \in \left\{ {r,g,b} \right\}} \left[ {{t_\lambda }\left( x \right)} \right]{\text{ = 1}} - \mathop {\min }\limits_{\lambda \in \left\{ {r,g,b} \right\}} \left[ {\mathop {\min }\limits_{x \in \varOmega \left( y \right)} \frac{{{I_\lambda }\left( x \right)}}{{{B_{\lambda ,\infty }}}}} \right]。$ | (15) |
根据光在水中的传播特性,红光的衰减系数最大,因此传输率最小,使用暗通道先验算法估算出红色通道的传输图。估计三通道(RGB)中的R传输率,还需要对G和B的传输率进行估计,才能还原水下图像场景辉度,图7为3个颜色通道的传输图。
不同的水质、不同的水域以及不同的光照条件对水下图像的质量影响很大,从北到南,我国海域的海水越来越清晰。随着自然条件的变化,图像退化程度也出现很大的差异,导致退化函数必须符合当地水质。在实验室模拟自然光照下的海水成像,假设背景光为定值。
3.1 水下图像场景还原得到水下图像颜色通道的传输图和背景光后就可以还原图像的场景辉度,还原后的水下图像视觉效果更容易被接受,各要素更加突出,如图8所示。
为对水下图像色偏现象进行校正,在获取衰减系数时无法通过计算直接获得,必须通过实验测量,而且难度较大较复杂,因此通过引入2个未知参数估计衰减系数对图片色彩校正,提升整体视觉效果。
3.3 水下图像试验与传统的图像处理算法比较。传统算法通过计算三颜色通道的最大值,并将其作为主要通道,而另外2个值比较小多的颜色通道作为次通道。通过改进,本文计算RGB三通道颜色通道的平均值,选出主颜色通道,另外2个进行放大处理,如下式:
$ {R_{avg}} = \frac{1}{{MN}}\sum\limits_{i = 1}^M {\sum\limits_{j = 1}^N {{I_r}\left( {i,j} \right)} } ,$ | (16) |
$ {G_{avg}} = \frac{1}{{MN}}\sum\limits_{i = 1}^M {\sum\limits_{j = 1}^N {{I_g}\left( {i,j} \right)} },$ | (17) |
$ {B_{avg}} = \frac{1}{{MN}}\sum\limits_{i = 1}^M {\sum\limits_{j = 1}^N {{I_b}\left( {i,j} \right)} }。$ | (18) |
其中:
$ gainA = \frac{{\max \left( {{R_{avg}},{G_{avg}},{B_{avg}}} \right)}}{{\min \left( {{R_{avg}},{G_{avg}},{B_{avg}}} \right)}},$ | (19) |
$ gainB = \frac{{\max \left( {{R_{avg}},{G_{avg}},{B_{avg}}} \right)}}{{{m} ed\left( {{R_{avg}},{G_{avg}},{B_{avg}}} \right)}}。$ | (20) |
最后对2个次通道进行放大,平衡图像的色彩,如下式:
$ \begin{gathered} {{\tilde I}_{\min }}\left( {{R_{avg}},{G_{avg}},{B_{avg}}} \right) = gainA \times \\ {I_{\min }}\left( {{R_{avg}},{G_{avg}},{B_{avg}}} \right),\\ \end{gathered} $ | (21) |
$ \begin{gathered} {{\tilde I}_{{m} {\text{ed}}}}\left( {{R_{avg}},{G_{avg}},{B_{avg}}} \right) = gainB \times \\ {I_{{m} ed}}\left( {{R_{avg}},{G_{avg}},{B_{avg}}} \right)。\\ \end{gathered} $ | (22) |
其中:
改进算法后的处理结果如图9所示。
通过对算法的改进,为舰船水下部分及附属装置的检修清洗等维修任务提供方案制定的依据,同时为水下检测、水下应急维修和水下可视化提供参考。
峰值信噪比(PSNR)是一种常用的评价算法处理图像效果好坏的指标,是图像信号与图像噪声功率谱的比值,信噪比越高,信号中的噪声越小,图像效果越好。在Matlab中计算后得到PSNR值分别为16.20 dB和13.88 dB,如表1所示。
[1] |
朱振杰. 基于视觉的水下目标识别系统研究[D]. 镇江: 江苏科技大学, 2010, 46(9): 19–25.
|
[2] |
孙贝. 基于视觉的水下目标识别算法研究[D]. 哈尔滨: 哈尔滨工业大学, 2017.
|
[3] |
郝琨, 王阔, 赵璐, 等. 基于图像增强与改进YOLOv3的生物检测算法[J]. 吉林大学学报(工学版), 2022, 52(5): 1088-1097. HAO KUN, WANG KUO, ZHAO LU, et al. Biological detection algorithm based on image enhancement and improved yolov3 [J]. Journal of Jilin University (Engineering and Technology Edition), 2022, 52(5): 1088-1097. |
[4] |
张阳, 徐爽, 朱建军, 等. 水下视觉SLAM图像增强研究[J]. 信息技术, 2015(5): 25-30. ZHANG Yang, XU Shuang, ZHU Jian-jun, et al. Research on underwater visual slam image enhancement[J]. Information technology, 2015(5): 25-30. |
[5] |
陈超. 水下图像增强算法研究及其应用[D]. 大连: 大连理工大学, 2016.
|
[6] |
宋鑫, 熊淑华, 何小海, 等. 基于HSI空间的Retinex低照度图像增强算法[J]. 图像与信号处理, 2017, 6(1): 29-36. SONG Xin, XIONG Shu-hua, HE Xiao-hai, et al. Retinex low illumination image enhancement algorithm based on HSI space[J]. Image and Signal Processing, 2017, 6(1): 29-36. DOI:10.12677/JISP.2017.61004 |
[7] |
宋绍剑, 朱靖旭. 基于Mask R-CNN和迁移学习的水下生物目标识别研究[J]. 计算机应用研究, 2020, 31(S02): 386-388+391. Song Shaojian, Zhu Jingxu. Research on underwater biological target recognition based on mask r-cnn and transfer learning [J]. Computer Application Research, 2020, 31(S02): 386-388+391. |
[8] |
徐萌. 基于机器视觉的水下海参图像识别技术研究[D]. 济南: 山东大学, 2020.
|
[9] |
张琦, 张荣梅, 陈彬. 基于深度学习的医疗影像识别技术研究综述[J]. 河北省科学院学报, 2020, v.37(133): 5-12. |
[10] |
周星宇. 水下目标运动要素辨识及搜索策略研究[D]. 哈尔滨: 哈尔滨工程大学.
|
[11] |
YU S C, KIM T W , MARANI G , et al. Real-time 3D sonar image recognition for underwater vehicles[C]// Symposium on Underwater Technology & Workshop on Scientific Use of Submarine Cables & Related Technologies. IEEE, 2007: 142–146.
|
[12] |
JIN L, HONG L. Deep learning for underwater image recognition in small sample size situations[C]// Oceans. IEEE, 2017.
|
[13] |
ZHAO M, HU C, WEI F, et al. Real-time underwater image recognition with FPGA embedded system for convolutional neural network[J]. Sensors, 2019, 19(2): 350. DOI:10.3390/s19020350 |