纪世雨, 龙静
(解放军总医院第五医学中心, 北京 100039)
深度学习已经成为解决图像类问题的最先进的方法[1-2],基于深度学习,人们可以对图像进行分类,找寻图像之间的关联[3],还可以通过深度学习对图像处理,预测事件发生的概率[4]。在这些应用领域,虽然深度学习展现了令人印象深刻的准确性,但其结果也受到图像特性(如对称性和旋转)的严重影响[5]。为了解决以上问题,本研究提出了一种基于散射变换的旋转不变神经网络结构。在定向小波特征空间的基础上,利用小波变换呈现的旋转平移特性构建神经网络。此外,该网络能够连续地将输入的随机旋转映射到输出的圆形空间,并在这个圆形空间输出预测的角度。
大多数卷积神经网络(CNN)都是为使用垂直方向进行训练和分类而设计的[6-8]。如果旋转图像,它们的精度会大大降低。虽然有些数据图像是自然垂直的,如图1中的人脸,但另一些则呈现随机的方向,如图1中的食物跟浮游生物。
图1 图像方向示意图
为了解决旋转问题,目前大多数方法都是将旋转样本集成到训练数据集中,但仍然存在精度不高等问题。所以,本研究提出了一种基于小波散射的CNN网络,来解决这个问题。
小波散射网络计算出一种对变形稳定的平移协变图像表示,并保留高频信息用于分类。该网络可提供第一层深卷积网络[9]。在此使用散射变换得到一个定向小波特征空间,如图2所示。这个空间中的平移与输入的旋转是协变的,如图3(a)所示。
图2 以字母X为例的散射变换的小波特征空间
利用文献[9]中描述的Morlet小波的实部,可以将输入变换成定向小波特征空间,如图3(b)所示。该变换输出一系列能量不同的小波样本,与输入中的边共线的角度包含更高的能量。例如,字母X特征空间将包含在角度33°和146°上具有更多能量,而在0°上几乎没有能量的小波。此外,在定向小波特征空间中,角行程的距离与输入边缘之间的角的距离成正比。
定向小波特征空间的一个重要性质是输入的旋转和特征空间上的平移之间的协方差。这个平移与角θ成正比。角阶跃dθ可以通过将特征空间上的小波方向数(ns=16)除以变换的正则范围(180°)来计算。此变换的另一个特性是能够将两个图像边缘之间的角度距离映射到角度采样之间的线性距离。将样本设为字母X,在笔划之间包含112°和其他68°的角度。因此可以观察到较大角度的角样本之间的线性距离为10步,较小角度的角样本之间的线性距离为6步。对于输入图像的每次旋转,此线性距离保持不变。通过将这些数字乘以dθ=11.25,可以恢复角距离。
虽然具有定向小波空间是重要的,但是图像的扫描顺序代表了实现其旋转不变性和协方差的一个关键因素,因此小波角样本的扫描方向应与其所代表的方向相同。
为了实现这一点,本研究设计了一个自定义的密集权重层,该层对特征空间样本进行重新索引。这个致密层形成一个双线性的非旋转,利用前面步骤计算的定向小波值来补偿小波中的角度。
这个自定义层的输出结果是一个水平方向的小波特征空间,如图3(c)所示,它包含每个角度样本的未旋转版本,并且与水平扫描顺序正确匹配。
图3 网络架构示意图
由于旋转平移协方差,小波特征空间包含了输入以平移形式的所有可能旋转。为了得到所有的平移,本研究首先将周期性填充应用到定向小波特征空间。这种周期性填充的结果是具有包含所有可能的平移的形状(14,14,31)的增强小波特征空间,如图3(d)所示。
为了增强水平对齐的小波信息,办研究应用一个大小为(2,2,1)的最大池化层,如图3(e)所示。这将减少下一层所需的参数数量。这个步骤的输出是一个形状为(7,7,31)的张量。
为了获得每一个平移的信息,预测器需要跨越扩展的小波特征空间。也就是说,将预测器应用于前16个小波方向,然后向前移动一步。利用这种方法,可以得到16个不同形状的小波特征空间(7,7,16)。每个空间都包含一个特征空间的平移。
预测器的第一阶段包括5个三维卷积,每个卷积具有核大小(2,2,4)和10个滤波器,如图3(f)所示。这些卷积捕获了小波方向之间的潜在特征。这些特征之一就是它们之间的距离。这个预测器应用于包含转换的每个空格。作为一个跨越它们的共享权重预测因子的重要性在于学习对应于右上角位置的转换特征。这种垂直位置的平移可以出现在任何平移空间上。这个阶段的输出是16个空格(2,2,1,10),包含每个转换的信息。
预测器的第二阶段是共享的密集层,如图3(g)所示。这个共享的密集层将应用于第一阶段的每个输出空间。这个密集层的输出形状等于类的数量。这一层将对每一个变换进行预测,并将其存储在张量中。输出将是一个概率分布P,列数和类数一样多,行数和变换数一样多。
假设情况是ns=16和10类。共享的权重密度层对16个反式中的每一个进行预测。每个预测都存储在输出张量上。这个张量的形状是(16×10)。这个张量的10列将包含预测的类信息,16行包含角度信息如图3(h)所示。之后,如图3(i)所示,应用于列的全局最大池化层,输出最大概率类及其行索引。将行索引乘以dθ加上预测角度的常数。
整个算法框图如图4所示。
图4 算法框图
在应用上述技术实现之后,使用MNIST数据集验证了本文所提出的体系结构。首先用垂直定向的样本进行实验,然后用随机定向的样本进行实验。两种方法都在随机旋转的样本上进行了验证。为了在MNIST数据集生成这种变化,对从MNIST-R获得灵感的原始MNIST的每个样本在[-90,90]之间实现了随机旋转。
在此使用二阶散射变换M=2,如文献[9]中所建议的,高阶变换没有用,因为它们的能量可以忽略不计。
scale参数固定在J=1上,因为正在处理28×28像素大小的图像,而因子2J使输出图像为14×14像素,进一步缩放该参数将显著减少网络可用的信息。最后一个参数固定在L=16,允许在-90°~90°范围内有16个角度样本。
旋转不变性通过体系结构在输入旋转的情况下正确预测类的能力得到验证。本研究通过使用MNIST-R和原始MNIST训练网络来测试此属性,结果如表1、表2所示。两个测试都在随机旋转的数据集MNIST-R上得到了验证。
表1 基于MNIST-R数据集的结果
表2 基于MNIST数据集的结果
可以在表1中观察到,作为在网络上保持协方差的代价,所以在不变性上损失了一些精度。然而,仍然是在比较的这些方法中错误率是较低的。
表2表明,本研究的方法在预测阶段仅使用7 022个可训练参数时,误差率达到了最低水平。值得注意的是,RP_RF_1有130 050个参数,RP_RF_1_32包含超过100万个可训练参数。
由于数据的变化,预测器能够容忍的微小变化。因此,它将输出对应于θ的行的最大概率和前后的非零概率(对应于θ±δθ)。这允许预测器将输入的随机旋转连续映射到预测角度的圆形空间。本研究通过以dθ=11.25°的步骤将输入样本从-90°旋转到78.75°,并绘制由输出预测行表示的输出圆形空间来对此进行测试,如图5所示。
图5 预测的旋转角度映射到连续的圆形空间
旋转映射到前面描述的输出张量的行。输出表示了一种自组织行为,即将连续的角度值映射为表中的连续行。这是由于上θ±δθ的非零类概率和θ上的最大概率以及上一个和下一个角度上的较低概率造成的。当绝对角度的参考未知时(如,对于浮游生物上-右位置不存在),本网络会将其中一个旋转值映射到线性空间的一个点,然后将连续的角度做线性映射。
线性输出空间包含输入的角度信息。当使用垂直定向数据集和随机旋转数据集训练时,该空间具有相同的特性和行为。这将导致从连续角度生成线性关系,而角度旋转输入空间上不存在任何参考值。
本研究证明了仅用垂直样本训练网络可以获得旋转不变性的能力。该网络能够预测训练阶段看不到的角度。此外,当输入数据自然地是随机的时,体系结构能够推断出样本的方向,并在它们之间产生线性关系。这使得该体系结构的进一步应用能够自动对齐随机定向的数据集。当使用一个由散射变换计算的特征时,达到了最低的错误率。期望网络中的输入图像比本文提出的要大,在更大的图像中的测试表明,由于扫描和预测包含在特征空间中的每一个转换,导致时间增加。
降低错误率的下一步是用一个可训练的特征阶段代替散射变换,该阶段预先服务于这个旋转变换属性,并在其他数据集(如浮游生物、食物或人脸)上来验证它。