基于改进CNN-RANSAC的水下图像特征配准方法*

2020-06-02 00:19盛明伟唐松奇秦洪德
计算机工程与科学 2020年5期
关键词:内点描述符图像增强

盛明伟,唐松奇,万 磊,秦洪德,李 俊

(哈尔滨工程大学水下机器人技术重点实验室,黑龙江 哈尔滨 150001)

1 引言

近几十年,水下图像处理由于其挑战性和重要性受到了广泛的关注。水下图像的质量对于水下计算机视觉,如水下目标检测[1]、评估地质环境和水下勘探等具有重要意义,但是拍摄的水下图像对比度低、颜色失真、噪声大。由于光在水下的衰减,水对红光吸收最为强烈,蓝光由于波长最短,吸收最少[2],所以在水下拍摄得到的图像会出现颜色失真,呈现蓝绿色。前向和后向散射导致图像对比度低,呈现雾状模糊[3]。同时,水中的有机物质、悬浮粒子等杂质也会降低水下图像的质量,单幅水下图像的可视范围受到极大限制[4],这些问题会影响水下图像特征提取的精度与鲁棒性。因此,从模糊退化的水下图像中有效提取出特征点并进行匹配是一个亟需解决的问题。

针对上述问题,研究者提出了多种方法。1999年Lowe[5]提出的尺度不变特征变换SIFT(Scale Invariant Feature Transform)方法是一种局部特征提取方法,具有尺度和旋转不变性,其抗噪声性能适用于水下图像配准。Chen等[6]综合考虑了水下能见度、光照等的变化,利用SIFT对水下图像进行特征提取,然后利用随机抽样一致性RANSAC(RANdom SAmple Consensus)[7]方法去除误匹配点,保证了图像匹配的准确性和稳定性,充分利用小波变换对匹配图像进行融合,实现水下图像拼接,对水下图像具有良好的视觉效果和匹配精度。Fu等[8]考虑到图像的背景信息较少,而且特征总是主要集中在其他对象上,通过寻找一组潜在的特征点来确定感兴趣区域ROI(Region Of Interest),然后采用机器学习方法构建二进制分类器,识别候选特征点,并建立一个ROI搜索区域,最后使用加速稳健特征SURF(Speeded Up Robust Features)方法来实现图像配准。该方法在保证拼接精度的同时,提高了计算速度。Babu[9]通过Harris方法提取待配准图像中的特征点,利用双正交多小波变换得到特征向量,经过支持小波变换的最小二乘准则进行处理得到变换因子,最后对图像进行重采样和变换实现图像配准。

卷积神经网络CNN(Convolutional Neural Network)在计算机视觉领域取得了巨大的成功[10],研究者将CNN运用到图像特征提取与配准上。雒培磊等[11]提出一种利用分层卷积特征进行图像配准的方法,使用VGGNet网络中第3~5个卷积层自适应提取特征点的分层卷积特征,通过CF(Correlation Filter)滤波器对不同深度的卷积特征逐层进行相关性分析,进而综合计算特征点的位置,根据配准的特征点计算变换参数,实现图像的配准。Ye等[12]通过将VGGNet中FC7层和FC6层的输出作为基于CNN的图像配准特征,然后生成CNN和SIFT的组合特征,再将该组合特征集成到PSO-SIFT方法中实现图像配准。但是,该方法只适用于遥感图像配准,对于特征点少的模糊水下图像配准效果不佳。

为了实现水下复杂场景下特征提取的鲁棒性和精确性,本文将CNN引入水下图像增强与特征提取中,利用基于深度CNN的水下图像增强方法对模糊退化的水下图像进行增强,提出了一种基于改进的CNN-RANSAC的水下图像特征配准方法。通过水下图像分类数据集迁移学习训练VGGNet-16网络框架,利用修改后的网络框架生成鲁棒的多尺度特征描述符与特征点,经过特征粗匹配与动态内点选择,并利用改进的RANSAC方法剔除误匹配点,以提高特征点配准的鲁棒性。

2 基本原理

基于改进的CNN-RANSAC的水下图像配准具体流程如图1所示。

2.1 基于特征的图像配准问题的研究

基于特征的图像配准方法的核心步骤为:

(1)图像特征提取。特征提取可以进一步分为特征点提取和构造特征描述符,可使用SIFT或SURF特征描述符在一对或多对图像中检测并提取足够多的特征点[13]。图像中每个特征点的坐标、尺度以及方向都确定之后,根据这些信息构造特征描述子[14]。

(2)特征预匹配。特征点提取之后,需要找出一个点集与另一个点集之间的对应关系,通过在特征空间中寻找最近邻来估计一个初步的逐点对应关系[15]。

(3)匹配点对提纯与模型参数估计。研究人员常采用随机抽样一致性方法RANSAC来消除匹配过程中的误匹配点对,该方法可从一组包含局内点和局外点的观测数据集中,通过不断迭代的方式估计数学模型的参数,完成对观测数据集进行数学模型拟合的过程,实现对数据集的局外点及噪声进行剔除的目的[16]。使用2幅图像的最终的匹配特征点对计算图像间的单应矩阵H。

(4)图像变换。图像配准过程的最后一步是根据前一步得到的对应关系对2幅图像进行物理对齐。将待配准图像乘以单应矩阵H,最后将所得结果与参考图像进行线性相加,得到最终的配准结果。

Figure 2 A convolutional neural network for underwater image enhancement图2 用于水下图像增强的CNN网络框架

2.2 卷积神经网络

CNN是一种深度学习模型,也是一种多层前馈人工神经网络,在卷积层和池化层之间交替,并包含数个全连接的层[17]。卷积结构可以减少深层网络占用的内存量,其具有2个关键的操作,其一是局部感受野,其二是权值共享。池化层从卷积层的输出中提取小矩形块并对其进行子采样,以从该块中生成单个输出,有效减少了网络的参数个数,缓解了模型的过拟合问题。随着深度学习的推进,CNN开始不断向纵深化方向发展,相继出现了结构很深的VGGNet和GoogLeNet等新模型[18],通过增加网络的深度可以提升网络的性能,VGGNet的核心思想是利用较小的卷积核来增加网络的深度,其有2种基本类型:一种为VGGNet-16,另一种为VGGNet-19。VGGNet在图像特征提取方面相比于其他CNN的优势体现在以下3个方面: (1)优异的图像定位与分类性能表明了该模型的效果,对其他数据集具有很好的泛化能力。(2)该模型结构简单,仅通过叠加卷积层、池化层和全连接层来构造,无分支或快捷连接,可用于不同的目的,包括图像特征提取。(3)利用加深结构的思路来提升性能,全部使用3×3的卷积核和2×2的池化核,较小的卷积核能使网络结构更深,并经过大量多样的图像数据训练,学习到的特征更多,结果更具判别性。

3 基于改进CNN-RANSAC的水下图像特征配准方法

3.1 水下图像增强预处理

由于光在水下的衰减,在水下拍摄得到的图像出现颜色失真,呈现蓝绿色。前向和后向散射导致图像对比度低,呈现雾状模糊。同时,水中的有机物质、悬浮粒子等杂质也会降低水下图像的质量,造成了水下图像配准困难,因此本文提出一种基于深度卷积神经网络的水下图像增强方法。

水下图像的数量对于深度学习来说是相对有限的,目前仍未有完整的水下图像数据集用于增强,而大量训练数据是参数训练的关键。为解决该问题,本文通过暗通道先验估计图像的透射率,利用水下成像模型公式计算得到模糊图像,然后通过对红、绿、蓝通道衰减系数的更改,利用不同通道的衰减系数与模糊图像做卷积运算,得到模拟水下蓝色和绿色图像,最终将这3部分退化图像与清晰图像作为训练CNN的数据集。

本文充分考虑退化模糊图像与增强清晰图像之间的关系,即为端对端非线性映射关系,构建了一种对称式卷积的CNN用于图像增强,通过不断调整卷积核与逆卷积核大小和特征图的数量来优化神经网络的学习退化特征的能力,得到水下退化图像到增强清晰图像的非线性映射。本文提出的用于水下图像增强的CNN网络框架如图2所示,将模糊退化的水下图像从输入层输入,网络的隐含层均由特征图组成,分别包括3个不同卷积核的卷积子网与逆卷积子网,两者卷积核对称。由于CNN的连续卷积无法恢复低质量水下图像的细节,所以引入对称的逆卷积层对提取的纹理特征进行细化。输入图像经过卷积网络训练之后,在输出层得到与输入图像同等宽高的增强图像。本文通过对比实验得出最佳卷积核为7×5×3×3×5×7,最佳特征图数量为32×64×128×128×64×3。

3.2 基于改进的CNN-RANSAC的水下图像特征提取与匹配方法

为了充分利用CNN强大的特征提取与表示能力,并克服底层特征的不稳定性,提高配准的鲁棒性,本文提出了一种基于改进的CNN-RANSAC的水下图像配准方法。首先通过水下图像分类数据集迁移学习训练VGGNet-16网络框架,然后利用修改后的框架生成鲁棒的多尺度特征描述符与特征点,经过特征点粗匹配与动态内点选择,并利用改进的RANSAC方法剔除误匹配点,以提高特征点配准的准确性。

Figure 3 Diagram of modified VGGNet-16图3 修改后的VGGNet-16网络框架图

(1)迁移学习训练VGGNet-16框架并生成特征描述符与特征点。

本文选择的CNN网络框架是VGGNet-16,是一个分类1 000个类别的图像分类网络,由13个卷积层(核大小均为3×3)、5个最大池化层和3个全连接层组成。在水下图像分类数据集上迁移学习训练已在ImageNet数据集预训练完成的VGGNet-16网络框架,对网络框架中各个权值参数进行微调,使其更加适用于水下图像特征提取。首先制作水下图像分类数据集,数据集包括5类:海鱼、海胆、章鱼、珊瑚礁与水母,共包含约1 000幅图像,每幅图像中只包含一个样本,均带有一定的颜色衰减和模糊退化。在训练中,通过数据增强的方式适当增加数据量,能有效按照需求提高训练集的质量,以此来提高网络的鲁棒性与泛化能力,训练过程中微调网络权值参数,其中学习率设为0.01,batch_size设为16,迭代次数为200 000次,在水下验证集上的准确率达到了90.75%。

由于全连接层对空间特征表达能力的劣势,以及本文使用CNN的目的是图像特征提取而不是图像分类,本文去除了CNN的全连接层与Softmax层;由于原VGGNet中的第5个最大池化层受特定分类对象的影响,不适合提取一般特征,所以在第5个卷积块中经过1次卷积后添加1个最大池化层,修改后的VGGNet-16网络框架如图3所示。本文所用的卷积特征描述符是使用训练完成的VGGNet-16网络框架中特定层的输出来构造的。通过对不同卷积层的可视化和以单层输出为特征的实验,需要选择不同网络层来构建图像的特征描述符,其中主要的考虑因素为卷积滤波器的普遍性和感受野大小,因此本文选择pool3层、pool4层和在block5_conv1层之后添加的最大池化层即pool5_1层来提取图像特征,这些层能够很好地覆盖不同大小的感受野,并能得到相应的特征。

如图3所示,修改后的VGGNet-16网络框架包含5个卷积计算块,每个块分别有2~3个卷积层。由于pool3层所得特征图的大小是28×28×256,所以在输入图像上放置一个28×28的网格来分割整个图像块,每个块对应于pool3层输出中的256维向量,在图像的每个8×8正方形区域中心生成一个描述符,将每个块的中心视为一个特征点。将256维向量定义为pool3层的特征描述符,将pool3层的输出直接作为pool3层特征图FM1,大小为28×28×256。pool4层所得特征图的大小为14×14×512,在图像的每个16×16正方形区域中心,生成一个pool4描述符,它由4个特征点共享。pool4特征图FM2由克罗内克乘积(由⊗表示)计算得到:

FM2=Opool4⊗I2×2×1

(1)

其中,Opool4表示池化层pool4的输出,I表示一个值都为1、形状为2×2的张量。pool5_1层的输出维度为7×7×512,每个pool5_1描述符被16个特征点共享,其特征图FM3为:

FM3=Opool5_1⊗I4×4×1

(2)

图4表示水下图像特征的CNN描述符与特征点在32×32正方形区域中的分布。三角形点表示pool3层特征描述符,处于8×8正方形区域中,并将每个区域的中心视为一个特征点。圆形点表示pool4层特征描述符,处于16×16正方形区域中,每个描述符由4个特征点共享。正方形点表示由16个特征点共享的pool5_1层特征描述符。

Figure 4 Schematic diagram of the distribution of CNN feature descriptors and feature points图4 CNN特征描述符与特征点的分布示意图

在得到各个层的特征图FM1、FM2和FM3后,需要将特征图归一化为单位方差:

(3)

其中,FMi表示所在层的特征图,σ(·)表示计算矩阵中各值的标准差,FMnorm_i表示归一化为单位方差后的特征图。点x的pool3层、pool4层和pool5_1层特征描述符分别用T1(x)、T2(x)和T3(x)表示。

(2)特征点粗匹配与动态内点选择。

首先定义特征的距离度量,2个特征点x和y之间的特征距离是3个距离值的加权和:

(4)

满足以下2个条件时,特征点x与y匹配:

①d(x,y)是所有d(·,y)中最小的。

②不存在d(z,y)使d(z,y)<θ×d(x,y)。其中θ是匹配阈值,该参数值大于1,匹配阈值越小,选取的特征点越多。

本文所提取的特征点是在正方形图像块的中心生成的。在变形的情况下,待配准图像和参考图像相应的特征点的图像块可能部分重叠,也可能完全重叠,重叠比例较大的特征点具有更高的匹配程度,重叠比例越小的特征点匹配概率应越低,其中部分重叠图像块的中心之间的距离应较小。因此,为了实现更准确的图像特征点粗匹配,利用动态内点选择[19]方法来确定对齐的程度。在每k次迭代中更新内点的选择,若特征点为内点,则移动引导点位置,而外点移动是一致的。在特征点粗匹配阶段,使用一个低阈值θ0得到大量特征点并滤除不相关的点,然后指定一个较大的初始阈值θ′,使只有正确的内点才满足条件,正确的内点指的是具有重叠块的特征点。在之后的粗匹配过程中,在每k次迭代中将阈值θ减去步长δ,允许更多的特征点影响变换。这使得强匹配的特征点能够确定整体变换,而其他特征点可以优化配准精度,提高特征点粗匹配的精度。

(3)改进的RANSAC方法剔除误匹配点。

特征粗匹配中都会存在错误匹配点对,可采用RANSAC方法进行特征点对提纯。但是,传统的RANSAC方法存在2个主要的局限:效率方面,当配准图像中存在误匹配点偏多时,匹配过程需要的迭代次数将大大增加,效率低下;精度方面,初始模型参数估计是由随机抽取的样本数据计算得到的,选取最小子集是从效率的角度考虑的,往往得到的是非最佳模型参数[20]。为获得最佳匹配点对集,本文综合以下3种方式对传统RANSAC方法进行改进:

①减小观测数据范围。

在特征点粗匹配的过程中,2个特征点x和y之间的特征距离是建立特征点之间匹配关系的纽带,特征距离越大,说明相似性越低。将所有匹配点对按照距离从小到大排列,那么排在前面的匹配点对具有较高的匹配准确率。本文通过选取排序之后的前80%的匹配点对组成新的匹配点集,然后计算出单应性矩阵参数模型,内点在新匹配点集中所占的比例变大,提高了运算效率,有效减少了计算所需的迭代次数。

②去除交叉特征点。

匹配的特征点之间的连接直线不应该存在交叉,但如果一条直线与大部分直线相交,则该点对应该是匹配错误的。因此,本文通过设置一个阈值,然后计算一个匹配点对的连接直线与其他线相交的次数,当这个数大于阈值时,则可以删除这个点,以此来提高匹配的正确率。

③通过寻找目标区域,移除不在目标区域内的特征点。

大部分图像中包括目标对象和背景,图像目标区域与背景中的一些特征点会匹配,导致误匹配点对增多,则需要直接删除属于背景区域的特征点,只保留在目标区域的特征点。通过计算出每个点周围区域的特征点匹配成功数量,若小于阈值则认为该点大概率属于背景区域,并将其移除出内点集。

(4)利用图像间的单应矩阵进行图像配准。

经过改进的RANSAC方法剔除误匹配点后,得到水下图像中最佳匹配点,使用2幅图像的最终匹配特征点对,通过式(5)计算图像间的单应矩阵H。根据配准图像间的单应矩阵H,可以对相应的图像进行变换,以确定图像间的重叠区域。 将待拼接图像乘以矩阵H,最后将所得结果与参考图像进行线性相加,得到最终的配准结果。

(5)

其中,(x′,y′)表示参考图像中的点,(x,y)表示待配准图像中与(x′,y′)相对应的点。

4 实验结果及对比分析

为了测试本文方法的水下图像增强、特征提取与匹配性能,本节对不同类型的水下图像进行了增强与配准测试。水下图像集包括了海底图像、水下输水隧洞内部图像、AUV拍摄的湖底图像等,约100幅图像,均有一定的模糊退化与颜色衰减。在其中选取1组具有代表性的水下图像,分别进行图像增强与配准对比实验,并从增强效果、提出特征点数、粗匹配对数、精匹配对数以及各个阶段耗时4个方面对不同增强与配准方法进行客观的评价。实验软件平台:Windows 10,64位操作系统,Matlab 2016a,使用TensorFlow深度学习框架对增强与配准网络框架进行训练,在GPU上实现卷积神经网络的增强与特征提取训练。使用的GPU为NVIDIA GeForce GTX 1060,使用的CPU主频为2.2 GHz,显存为8 GB,内存为16 GB。

4.1 训练参数设置

在水下图像增强处理阶段,将训练学习率设置为0.000 1,迭代次数设置为10万次,使用均值为0、标准差为0.001的高斯随机分布初始化权值w,所有偏置b初始化为0,并采用片段式的学习方式,从数据集中随机多次采样,从退化图像与对应清晰图像中分别获得片段大小为55×55的训练数据,训练时输入为模拟水下退化图像,训练标签为清晰图像。在特征提取与匹配阶段,通过选择最可靠的128对特征点自动确定阈值θ0,然后通过选择最可靠的64对特征点来确定θ′。在动态内点选择阶段,步长δ由δ=(θ′-θ0)/10确定。

4.2 水下图像预处理实验

首先对水下原图像进行增强预处理,为检验本文所提出的基于深度CNN的水下图像增强方法的效果,将其与常用的图像增强方法进行对比,包括直方图均衡化方法(简称HE方法)、对比度受限自适应直方图均衡化方法(简称CLAHE方法)、基于暗通道先验的去雾方法(简称DCP方法)、用于水下图像增强的波长补偿和去雾增强方法(简称WCID方法)、具有色彩恢复的多尺度Retinex增强方法(简称MSRCR方法)和基于图像融合的水下图像增强方法(简称IFUIE方法)。水下图像增强对比图如图6所示。

Figure 5 Comparison of underwater image enhancement methods图5 水下图像增强方法对比图

如图6所示,HE方法能有效改善图像清晰度,对颜色衰减有较好的处理效果,但出现了部分颜色失真,偏离了正常颜色;DCP方法与CLAHE方法增强效果相似,能在一定程度上提高图像清晰度,细节相对于退化图像更加清楚,但未能改变图像颜色衰减,所以不能应用于水下成像的色度调整;WCID方法在颜色校正方面有着较好效果,但是与本文方法相比,整体偏暗,部分细节信息仍模糊不清。MSRCR方法存在颜色失真,且存在较大的噪声,细节信息仍难以辨识,增强效果较差。IFUIE方法能较好地改善图像清晰度与颜色退化,效果与本文方法相接近。本文方法所得增强图像在视觉上更为真实,细节信息突出,在亮度、对比度方面改善明显,具有更好的视觉效果,有利于之后的图像特征提取与匹配。除了定性的视觉比较之外,为量化本文方法在水下实际场景中的增强效果,本节通过增强处理20幅水下退化图像,采用常用的图像评价指标对不同水下图像增强方法进行对比,如表1所示,利用本文方法增强后的图像均值略低于FUIE方法的,标准差与信息熵是最高的,模糊程度值为最低,平均梯度最高。由此可知,本文提出的增强方法清晰程度较高,信息提取量较高,增强处理效果更好。

Figure 6 Contrast results of underwater image feature extraction图6 水下图像特征提取对比图

Table 1 Comparison of underwater image enhancement evaluation results among different methods

4.3 不同方法的水下图像特征提取与匹配结果

水下图像特征提取结果如图6所示。

水下图像特征粗匹配与提纯结果如图7~图9所示。

Figure 7 Results of underwater image feature rough matching and purification based on SIFT method图7 基于SIFT方法的水下图像特征粗匹配与提纯结果图

Figure 8 Results of underwater image feature rough matching and purification based on SURF method图8 基于SURF方法的水下图像特征粗匹配与提纯结果图

图6中的上图为参考图像,记为图A,下图为待配准图像,记为图B。选取了基于SIFT和基于SURF的配准方法进行对比,3种不同方法的水下图像配准结果如表2所示。在水下图像特征点提取结果中,由于增强处理前的图像对比度低、图像细节模糊,未经过图像增强所提取的特征点数远远小于图像增强后提取的特征点数,并且无法得到正确的匹配点对,无法满足获取变换矩阵所需的最少4个正确匹配点对。而增强处理后的图像获得了足够多的特征点,说明本文的增强方法突出了水下图像的细节信息,有效地改善了图像的亮度和对比度,提高了方法对水下图像的特征提取能力。如图6所示,SIFT方法所提取的特征点数量最多,但是耗时最多;SURF方法提取的水下图像特征点最少,约为SIFT方法的一半,但是耗时最少,具有较好的实时性;本文方法提取的水下图像特征点比SIFT方法稍微少一些,耗时比SIFT方法少,但与SURF方法相比,牺牲了一些速度优势,能够提取更多的特征点。总的来说,本文方法与传统的SIFT和SURF相比,具有较好的特征提取能力。在水下图像粗匹配阶段,SIFT方法与SURF方法得到的粗匹配点对与耗时相差不多,本文方法在粗匹配阶段增加了动态内点选择,能有效提高特征点粗匹配的精度,得到的粗匹配点对相对更多。由图7a、图8a和图9a可得,基于SIFF方法和SURF方法的2幅水下图像的粗匹配点对中存在较多错误匹配,而本文方法的粗匹配点对中只有少数错匹配点对。在水下图像特征点对提纯阶段,使用传统的RANSAC方法所得的精匹配点对都偏少,而且仍会存在误匹配点对,耗时更长;如图9b和图9c所示,采用传统RANSAC方法提纯本文方法所得粗匹配点对,得到54对精匹配点对,仍存在2对误匹配点对,而采用改进的RANSAC方法能得到78对精匹配点对,而且无错误点对,相对于传统RANSAC方法耗时更少,内点比例更高。综上所示,本文所提出的特征提取方法能提取出足够多的特征点,粗匹配精度更高。改进RANSAC方法能得到更多的正确匹配点对,实现了匹配正确率的大幅度提高,内点比例更高,且耗时远低于传统RANSAC方法。这说明本文方法对于水下图像特征提取与匹配具有较好的效果。

Figure 9 Results of underwater image feature rough matching and purification based on the proposed method图9 基于本文方法的水下图像特征粗匹配与提纯结果图

Table 2 Comparison of underwater image registration results among different method

5 结束语

水对光的吸收和散射效应降低了水下图像的质量,为了更好地配准水下图像,本文提出了一种改进CNN-RANSAC的水下图像特征配准方法。首先利用基于深度CNN的水下图像增强方法对模糊退化的水下图像进行增强,有效地改善了图像的亮度和对比度,并提高了对水下图像的特征点提取数量。然后通过水下图像分类数据集迁移学习训练VGGNet-16网络框架,微调VGGNet中的权值参数,使其更适用于水下图像特征提取。通过修改后的网络框架生成鲁棒的多尺度特征描述符与特征点,经过特征粗匹配与动态内点选择过程,使用改进的RANSAC方法剔除误匹配点,完成水下图像特征点的配准。经过大量水下图像特征提取和匹配实验,将实验结果与传统的基于SIFT方法和SURF方法的配准方法相比,本文方法能够检测到足够多的特征点,匹配精度更高,对水下图像特征提取与匹配具有较好的效果。

猜你喜欢
内点描述符图像增强
基于结构信息的异源遥感图像局部特征描述符研究
图像增强技术在超跨声叶栅纹影试验中的应用
水下视觉SLAM图像增强研究
拓扑空间中五类特殊点的比较
基于AKAZE的BOLD掩码描述符的匹配算法的研究
虚拟内窥镜图像增强膝关节镜手术导航系统
基于深度学习的局部描述符
区分平面中点集的内点、边界点、聚点、孤立点
基于图像增强的无人机侦察图像去雾方法
基于罚函数内点法的泄露积分型回声状态网的参数优化