发明内容
针对现有技术中存在的问题,本发明提供一种基于频域小波基处理的神经网络的图像分类处理方法,将频域分析结合到图像的分类处理中,操作简单,分类精度高,准确性好,更加接近于人类视觉对图像的处理。
本发明是通过以下技术方案来实现:
基于频域小波基处理的神经网络的图像分类处理方法,包括如下步骤,
步骤1,利用多级离散小波变换将自然图像中的信息按其频段的分布分解为三组;
步骤2,将得到的三组信息从低频到高频逐步注入神经网络中。
优选的,所述的步骤1,具体步骤如下,
对输入的自然图像应用离散小波变换后,对第一次变换结果中的低频部分进行连续的第二次分解变换;从而将得到的信息被分成三组:
低频组由第二次变换中的最低频率信息组成;
中频组由除最低频率组外的第二次变换结果组成;
剩余的频率信息形成最高频率组;
输入图像的R、G、B通道被单独地分别进行变换,最终在神经网络中拼接在一起。
进一步,步骤2中,低频组作为神经网络的输入,中频组在第二阶段注入到神经网络中,最高频率组作为最后的输入被注入到神经网络中;
在神经网络第一之前注入中频组信息,第二下采样之前注入最高频率组信息。
再进一步,步骤2中,通过注意力拼接以合并特征和注入信息,从而将中频组信息和高频组信息注入到神经网络当中;具体的步骤如下,
步骤2.1,利用1×1卷积层将注入信息的通道增加到特征的一半;
步骤2.2,将特征和注入频率信息拼接在一起,并馈入两级注意力模块,该两级注意力模块由一个卷积层和一个去卷积层组成,通过点积的方式产生对输入的空间和语义增强;
步骤2.3,利用1×1卷积将注意力模块结果的通道减少到特征通道的原点数。
优选的,所述的离散小波变换如下,
对于一个给定的函数ψ,令X(ψ)是的扩张和移位的集合:
X(ψ)={ψjk=2j/2ψ(2jx-k),j,k∈Z}
其中,X(ψ)在L2空间中形成基,ψ是正交小波,Z表示整数集合,x表示处理的图像数据;在离散情况下,离散小波变换分别对应低通滤波器和高通滤波器的滤波操作。
优选的,所述神经网络的开始处附加有一个步长为1的卷积层和池化层。
与现有技术相比,本发明具有以下有益的技术效果:
本发明提出了基于频域小波基处理的神经网络的图像分类处理方法,其中,基于频域处理的深度卷积神经网络是一个名为J-Net的新颖的神经网络,该网络将图像分解为不同的频带,然后对其进行顺序处理。具体地,通过给定的小波变换对输入图像进行分解,然后根据分解级别将小波变换的系数逐步馈入到深度神经网络的不同深度图层中。进一步的,在进行馈入的同时,利用一个注意力模块来促进神经网络特征和注入信息的融合,从而产生显著的性能增益。从而,得到了不同频率的信息如何影响深度神经网络的精确度。通过实验验证,在Caltech 101、Caltech 256和ImageNet数据集上,精确度分别提升了5.91%、5.32%、2.00%。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
本发明所述的方法不是将整个图像一起输入,而是使用预先定义的小波变换对图像进行分解,并将分解后的图像逐步馈入网络。通过将输入限制在不同的频段内,可以简化分析并帮助我们更清楚地理解网络任务的内部机制。
本发明的原理解释。
频率信息在信号处理中起着重要的作用。频率的重要性因不同任务而异,如图1a所示,相对于不同的图像分辨率示出了二元分类任务的精确,X、Y轴表明图像的分辨率以及其相应的精确度,其中低分辨率图像表示具有低通滤波器的下采样图像。
可以观察到:(i)在小分辨率图像中丢失更多的高频后,所有任务的精确度都有下降的趋势;(ii)对于相同的图像分辨率,不同任务的精确度不同,例如狗对猫任务的精确度比狗对衣柜任务的精确度下降更多。这种现象可能由以下原因解释:与衣柜相比,猫的低频信息,例如形状,更类似于狗。结果,高频信息对于区分狗和猫是不可缺少的。因此,分类精确度取决于不同类别的图像的分辨率。
如图1b所示,在Caltech 101和Caltech 256中,具有各种分辨率的分类精确度。结果示出,在两个数据集中,分类精确度都随着分辨率的降低而下降,并且Caltech 256的分类精确度比Caltech 101的分类精确度有更显著的下降趋势,这表明具有更多识别困难的图像需要更大的分辨率,其包含更多的高频信息。因此,通过不同的方法处理不同的频率信息,而不是将它们作为整体输入,更有利于精度的提高。
本发明所述的则J-Net,则控制在神经网络各层中输入不同频率的信息,充分利用不同频率级别的信息。首先,利用多级离散小波变换将自然图像中的信息按其频段的分布分解为三组。其次,将这些信息从低频到高频逐步注入神经网络。在此基础上,通过额外的注意力模块,以融合神经网络中的特征和高频率地注入信息,从而显著提升了各种数据集和神经网络的精确度。
与现有的神经网络架构相比,所述的J-Net在进行图像分类处理方法时,有如下几个不同之处:(i)如在图1a和图1b中所示,保留所有信息用于处理,与此相反,现有技术中调整大小后的图像丢失一些高频,降低分类精确度;(ii)随着逐渐输入频率,网络相对容易解释和调试;(iii)通过独立地处理频带信息,该分解提供并行实现并显示加速效果。通过逐步处理频率可以大幅度提升分类精确度。
值得注意的是,J-Net的架构类似于U-Net的精神,U-Net是现有技术中许多图像处理任务中最先进的方法。如在图2中所示,J-Net可以被视为U-Net的右半部分,目标是分类而不是分解。用于图像分割的U-Net可以被看作用于处理像素级任务的RN→RN映射,但是在J-Net中的分类是RN→R1函数,其相对更容易被寻址。与通过跳过连接将左部具有各种分辨率的特征传递到对应的右部的U-Net相比,J-Net用离散小波变换代替左部卷积层,其具有较少的参数和计算量。J-Net的另一个出色优势在于它的可解释性。U-Net的左部卷积层的参数是从数据中学习得到的,数据通常被称为黑匣子,并且难以理解神经网络的内部机制。
与现有技术相反的,离散小波变换将图像分解为不同的频带,并且每个频带在时域和频域中都是很好理解的。因此,当训练图像具有高分辨率时,由神经网络处理的频带信息是可控制的。基于该性质,在讨论部分中已经进行了频带的消融实验。
综上所述,本发明基于频域小波基处理的神经网络的图像分类处理方法,利用不同的频率和各种方法来利用信息。首先处理低频信息,然后处理高频信息,该过程更类同于人类感知。这也是第一次通过控制频率输入进行分类,从而获得显著的精确度的收益。
具体的,本发明基于频域小波基处理的神经网络的图像分类处理方法,如下所述。
本发明所述的小波变换。
对于一个给定的函数ψ,令X(ψ)是的扩张和移位的集合:
X(ψ)={ψjk=2j/2ψ(2jx-k),j,k∈Z}
如果X(ψ)在L2空间中形成基,ψ是正交小波,Z表示整数集合,x表示处理的图像数据。小波变换对高频的时间分辨率良好,而对缓慢变化的函数,频率分辨率显著。这个优势允许我们通过使用小波变换来逐渐处理频率信息。主要的小波有Haar小波、Daubechies小波等。在离散情况下,离散小波变换分别对应低通滤波器和高通滤波器的滤波操作,并且有着完美重构的性质。
在J-Net中,利用多级小波变换获取图像中具有不同频率的信息。如图3所示,我们首先对输入图像应用离散小波变换,然后对第一次变换结果中的低频部分进行连续的第二次分解变换。从而将得到的信息被分成三组:低频组是神经网络的输入,由第二次变换中的最低频率信息组成,如图3中的LL2。
在第二阶段注入到神经网络中的中频组由除最低频率组外的第二次变换结果组成(HL2,LH2、HH2)。
剩余的频率信息(LH1,HL1,HH1)形成最高频率组,作为最后的输入被注入到神经网络中。输入图像的R、G、B通道被单独地分别进行变换,最终拼接在一起。
本发明所述的神经网络。
调整具有大步长的第一卷积层。在许多传统的神经网络体系架构中,例如ResNet、AlexNet和VGG,在整个神经网络的开始处附加一个步长大于1的卷积层和池化层,以减小输入图像的宽度和高度。在J-Net中,这些层的步长应被调整为1,因为在离散小波变换中输入信息的宽度和高度已经减小了4倍。
选择合适的注入位置。在J-Net中的另一个关键问题是如何为中频和高频信息选择合适的注入位置。大多数现有的神经网络根据其下采样操作可分为多个阶段。本发明在第一和第二下采样之前,将中频和高频信息注入到神经网络中。
使用注意力拼接以合并特征和注入信息。在中高频信息的注入过程中,神经网络的特征和中高频信息融合在一起。一般而言,来自两个流的信息融合可以通过简单的添加或拼接来完成。
在本发明中提出了一个用于拼接的注意力模块,用于自动学习特征和注入信息的平衡,以便于两个组件的融合,如在图4中所描绘。首先,利用1×1卷积层将注入信息的通道增加到特征的一半。然后,将特征和注入频率信息拼接在一起,并馈入两级注意力模块,该两级注意力模块由一个卷积层和一个去卷积层组成,通过点积的方式产生对输入的空间和语义增强。最后,利用1×1卷积将注意力模块结果的通道减少到特征通道的原点数。如在表1中所示,注意力拼接实现了比简单地相加或拼接更高的精确度。
表1:三种信息融合方法在JResNet18上的比较(%)。
融合策略 |
Caltechl0l |
Caltech256 |
基线 |
68.34 |
59.35 |
添加 |
72.21 |
62.39 |
拼接 |
71.94 |
62.25 |
注意力拼接 |
72.84 |
63.53 |
以下通过在不同数据集和神经网络上的实验结果来对本发明所提出的方法进行验证。本发明在Caltech101、Caltech256和ImageNet中,平均可以分别观察到5.91%、5.32%和2.00%的精确度增益。
实验设置如下。
提出的J-Net在三个基准数据集上进行评估:ImageNet、Cal-tech101和Caltech256,其具有各种神经网络架构:ResNet、SENet和ResNeXt。
在训练阶段中,利用包括学习速率调度、l2正则化的常用技术,包括水平翻转和随机剪切的数据论证,得到可靠结果。Caltech和ImageNet实验的批量大小分别为128和256。在所有已报告的实验中,学习率初始化为0.1,并且神经网络训练了90次,在第30、60、85次将学习率除以10。在表2和表3的实验中利用Haar小波基,用Pywavelet程序包实现。
Caltech101和Caltech256数据集按8:2的比例随机分为训练集和测试集。并在验证集上评估了ImageNet的所有报告的精确度。在以下表格中,以“J”开头的神经网络名称表明装备有所提出的J-Net的神经网络。所有实验利用在Tesla V100和RTX 2080Ti GPU设备上运行的PyTorch1.0进行。
在ImageNet上的结果。
表2:数据集上top 1和top 5精确度(%)的实验结果。括号中的数字表明与基线模型相比的精确度增量。粗体数字表明该数据集上的最大增量。
神经网络 |
Top 1精确度(%) |
Top 5精确度(%) |
参数(M) |
ResNetl8 |
69.21 |
89.01 |
11.69 |
JResNetl8 |
71.47(2.26f) |
90.29(1.28f) |
13.18 |
ResNet50 |
75.35 |
92.41 |
25.56 |
JResNet50 |
76.41(1.06f) |
93.29(0.88f) |
49.47 |
SENet18 |
70.19 |
89.76 |
11.78 |
JSENet18 |
72.88(2.69f) |
91.34(1.58f) |
13.28 |
如在表2中所描绘,在各种神经网络上可以观察到显著的精确度增益。平均来说,J-Net在Top 1精确度上导致2.00%的精确度增量,范围从在SENet18上的最大值2.69%到在ResNet50上的最小值1.06%,且在Top 5精确度上的1.25%精确度增量,范围从在SENet18上的最大值1.58%到在ResNet50上的最小值0.88%。
在Caltech101和Caltech256上的结果
表3:在Caltech101和Caltech256上的精确度(%)的实验结果。括号中的数字表明与基线模型相比的精确度增量。粗体数字表明该数据集上的最大增量。
神经网络 |
Caltech101精确度(%) |
Caltech256精确度(%) |
参数(M) |
ResNet18 |
68.34 |
59.35 |
11.69 |
JResNet18 |
72.84(4.50↑) |
65.53(6.18↑) |
13.18 |
ResNet50 |
54.38 |
59.41 |
25.56 |
JResNet50 |
64.04(9.66↑) |
64.35(4.94↑) |
49.47 |
SENet18 |
73.64 |
58.27 |
11.78 |
JSENet18 |
75.32(1.68↑) |
61.98(3.71↑) |
13.28 |
SENet50 |
67.90 |
60.41 |
28.09 |
JSENet50 |
76.06(8.16↑) |
64.83(4.42↑) |
52.01 |
ResNeXt50 |
63.07 |
58.37 |
25.03 |
JResNeXt50 |
68.60(5.53↑) |
65.73(7.36↑) |
48.95 |
在表3中描绘了在Caltech101和Caltech256上的实验。可以观察到:(i)可以在所有神经网络和两个数据集上观察到显著且一致的精确度增量。(ii)在Caltech101上,平均获得5.91%的增量,范围从在ResNet50上的最大值9.66%到在SENet18上的最小值1.68%。(iii)在Caltech256上,平均获得5.32%的增量,范围从在ResNext上的最大值7.36%到在SENet18上的最小值3.71%。(iv)在50层神经网络上观察到6.68%的精确度增益,其大于在18层神经网络上的4.02%的精确度增益,表明更深的神经网络更多地受益于所提出的J-Net。
如在表3中所描绘,所提出的J-Net与原始模型相比带来了额外的参数(例如,在JResNet18中的1.49M)。然而,实验结果论证了J-Net的益处大于来自参数的益处。因为在Caltech数据集中存在非常有限的图像(在大多数类别中小于100个图像),深度神经网络非常倾向于在训练集上过拟合,导致具有更多参数的深度神经网络实现与浅层神经网络相等甚至更低的精确度的现象。例如,ResNet50的精确度比在Caltech101中的ResNe18的精确度高13.96%。相反,所提出的J-Net实现了显著高于基线的精确度,表明所提出的J-Net多于简单地增加神经网络的深度。
本发明所述的方法具有小波基的通用性。
选择四种不同类型的小波变换来对频率信息进行分组。表4示出了在三种数据集上具有四种小波基的J-Net的有效性。注意Sub-ImageNet表示从ImageNet中随机选择的100个类别组成的数据集。观察到(i)在三种数据集上,具有各种小波基的J-Net实现了显著的精确度增益:Caltech101上的3.90%、Caltech256上的4.26%、Sub-ImageNet上的4.14%。(ii)不同小波基的J-Net精确度范围小于1.17%,表明小波基的选择不会严重影响J-Net的精确度。
表4:在四种小波基下的JResNet18的精确度(%)
小波基 |
Caltechl0l |
Caltech256 |
SubImageNet |
基线 |
68.34 |
58.95 |
76.89 |
Haar |
72.84 |
63.53 |
81.45 |
Rbio |
72.43 |
63.04 |
80.16 |
Bior |
71.45 |
62.98 |
81.74 |
Db |
72.23 |
63.29 |
80.77 |
通过对比不同频率信息模型的精确度,对不同频率信息的影响进行了消融实验。
图5和图6示出了在三个频率设置下的结果。可以观察到:(i)低频是关键的,但不是决定性的。只有低频信息的J-Net精确度有时可以达到相应的基线,例如在Caltech256上的SENet18。然而,由于中高频的损失,两个数据集的平均精确度分别比平均基线低4.03%和3.10%。(ii)中频信息总是导致精确度增量。与仅有低频信息的J-Net相比,中频信息导致在Caltech101上有6.60%的精确度增益,在Caltech256上平均有3.77%的精确度增益,表明中频信息对精确预测也是必不可少的。(iii)在大多数情况下,高频是有益的。实验示出,高频注入的J-Net在Caltech101和Caltech256上分别实现了3.33%和4.25%的精确度增量。
然而,在Cal-tech101上在所有频率下JResNet18和SENet18的精确度都低于没有高频时的精确度,表明高频的益处不一致。此现象仅在Caltech101上的浅层(18层)神经网络上观察到,这可能由以下两个原因解释:(i)在最后几个层处将高频注入到J-Net中。在浅层神经网络中,用于高频信息的左层不足以处理它们。(ii)与Caltech256相比,Caltech101的分类容易得多,这导致高频信息的重要性降低。
通过在两个数据集和神经网络上进行实验,以展示将不同频率的信息按照升阶(从低频到高频)馈入神经网络,三级频率信息的阶数如何影响神经网络的性能的。
如在表5和表6中所示,观察到(i)具有升频率阶的J-Net在所有情况下都实现了最高的精确度。(ii)降频率阶J-Net比升频率阶J-Net,这表明神经网络的浅层倾向于处理低频信息,而深层倾向于处理高频信息。
表5:在Caltech101上的J-Nets的两个频率阶之间的精确度(%)比较。
模型 |
基线 |
高→低 |
低→高 |
JResNet18 |
68.34 |
72.22 |
72.84 |
JSENet18 |
73.64 |
71.77 |
75.32 |
表6:在Caltech256上的J-Nets的两个频率阶之间的精确度(%)比较。
模型 |
基线 |
高→低 |
低→高 |
JResNet18 |
59.35 |
63.12 |
63.53 |
JSENet18 |
58.27 |
59.65 |
61.98 |
本发明中所述的J-Net利用离散小波变换(DWT)将图像分解为不同频率的信息,也可以通过离散余弦变换(DCT)或离散傅里叶变换(DFT)来实现。我们利用JResNet18、SENet18进一步探讨在Caltech101数据集上的有效性。如表7所描绘,对于具有DCT或DFT的JResNet18或SENet18,没有观察到精确度提升,表明DWT是J-Net中更好的频率分解方法。
表7:在Caltech101上三种频率分解方法的比较。
模型 |
基线 |
DWT |
DCT |
DFT |
JResNet18 |
68.34 |
72.84 |
67.85 |
66.53 |
JSENet18 |
73.64 |
75.32 |
68.55 |
66.42 |
本发明通过将分解后的图像逐步输入到基于频域小波基处理的神经网络J-Net中,通过以上大量实验证明,J-Net可以容易地装备于各种神经网络,在数据集、神经网络和小波基上具有良好的通用性,极大的提高了图像分类处理的精确性。