[0051] 为了能更清晰的阐述本发明的上述目的、特点及其优点,下面结合附图和具体实施方式对本发明所提及的方法网络作更加详细的说明。
[0052] 本发明所提出的基于高效卷积网络(Efficient ConvNet)和卷积条件随机场(Convolutional CRFs)神经网络框架的具体构成与步骤如下(为了便于说明,在此假设输入图像尺寸为1024x512):
[0053] 步骤1、输入一张任意尺寸的RGB图像,采用由下采样模块 (Downsampler block)和一维非瓶颈单元(Non-bottleneck-1D)构成的编码器网络对原始RGB图像进行语义提取,得到一个由特征图组成的矩阵。具体实现如下:
[0054] 对输入的RGB图像进行编码处理,编码器如图3中的“encoder”部分,用于编码的网络层由16层神经网络构成,其中第1、2、8层为下采样层,第一层网络的输入尺寸为原始RGB图像的尺寸,输出为 512*256*16;第二层网络输入为第一层的输出,输出为256*128*64;第八层网络输入为256*128*64,输出为128*64*128。
[0055] 本方法中采用的下采样层结构如图4,采用滤波器(filter)为 3x3、步长为2的卷积层和滤波器(filter)为2*2、步长为2的最大池化层构成,目前大多数方法只在网络开始时使用这样的结构,但在本方法采用的网络中,此结构被用于每一个下采样层。使用下采样层虽然会降低空间分辨率使得输出结果变得粗略但能结合浅层和深层网络的信息,提高分类结果,而且它能减少网络的计算量。
[0056] 编码器的其余13层全部使用由“一维非瓶颈单元 (Non-bottleneck-1D)”模块构成的卷积网络。其中第3-7层网络输入尺寸为256*128*64,输出尺寸为256*128*64。第9-16层为输入为 128*64*128,输出尺寸为128*64*128;其中每一层的“一维非瓶颈单元(Non-bottleneck-1D)”模块结构如图4。并且该网络层采用残差学习,具体如下:
[0057] 当F和x相同维度时,直接相加(element-wise addition),公式如下:
[0058] y=F(x,{Wi})+x
[0059] 这种方法不会增加网络的参数以及计算复杂度。
[0060] 当F和x维度不同时,需要先将x做一个变换(linear projection),然后再相加,公式如下:
[0061] y=F(x,{Wi})+WSx
[0062] 每一个“一维非瓶颈单元(Non-bottleneck-1D)”模块由四层卷积层构成,一三层为filter为3*1的卷积层,二四层为3*1的卷积层构成。层与层之间使用激活函数进行连接。利用这样的残差学习网络,这样可以更快地执行,减少参数数量和更好的正则化,而不会对其学习性能产生重大影响。
[0063] 经过第一步对图像进行编码,将得到一个由特征图组成的矩阵。
[0064] 步骤2、采用反卷积层和一维非瓶颈单元(Non-bottleneck-1D) 将编码器网络学习的辨别性特征(低分辨率的)从语义上映射到像素空间(高分辨率的),以得到密集分类结果;
[0065] 如图3的decoder部分,解码网络由7层神经网络层构成。此部分网络用于对编码器网络提取到的特征图进行上采样以将输出图像尺寸匹配为与输入的原始RGB图像一致。在这一步中,本方法同样使用到了四层一维非瓶颈单元(Non-bottleneck-1D)网络,用残差学习的方法增大感受野,增强网络层之间的联系。为了将特征图重新扩大到与原图相同尺寸,在解码器网络部分,采用三层反卷积层,其中第17层网络输入为128*64*128,输出为256*128*64,第20层输入为256*128*64,输出为512*256*16,最后一层输入为512*256*16,输出为1024*512*C,其中C表示图中像素点的总类数,可见,经过三层反卷积层,本方法得到了与原图相同尺寸的结果。本方法使用的反卷积层为滤波器(filter)为2*2,步长为2的网络层。
[0066] 步骤3、采用卷积条件随机场(Convolutional CRFs)网络层,结合原始RGB图像的像素点信息和解码器网络得到的像素点分类信息,对像素点语义特征再进行一次分类,从而达到输出结果优化的目的。
[0067] 对于解码器得到的结果,本发明的方法将结合原始RGB图像对其结果进行像素点再分类。以便于得到更精确的结果,此步骤,本发明采用卷积条件随机场(Convolutional CRFs)。使用卷积条件随机场步骤如下:
[0068] 3-1.对于解码器得到的结果,将其视作概率图,则解码器输出便是一个L通道的矩阵,其中每一个通道代表隐变量集X属于该类别的概率。
[0069] 3-2.Message Passing:卷积条件随机场(ConvCRF)用条件独立假设补充全连接条件随机场(FullCRF)。将解码器得到的结果每一层假设为[bs,c,h,w]的矩阵,视作卷积条件随机场的输入P,其中 bs,c,h,w分别表示批大小、类别数量、输入高度和宽度。对于由特征向量f1...fd定义的高斯核g,为其定义一个大小为[bs,h,w]的核矩阵:
[0070]
[0071] 其中θi是可学习的参数。对于一组高斯核g1…gs,定义经合并的核矩阵K为:
[0072]
[0073] 所有s个核的组合信息传递的最后输出结果Q如下所示:
[0074] Q[b,c,x,y]=K[b,dx,dy,x,y]·P[b,c,dx+x,dy+y]
[0075] 这种信息传递操作类似于卷积神经网络中标准的二维卷积,滤波器的值取决于空间维度x和y。这与局部连接层相似与局部连接层和二维卷积不同的是,卷积条件随机场的滤波器的通道维度c是不变的,一般可以将这种操作看作是维度c2上的卷积。为了提高计算速度本方法选择建立一个本地的底层实现,以获得额外10倍的加速。并通过类似于二维卷积和局部连接层来实现这种卷积的高效计算。第一步是平铺输入P以获得形状为[bs,c,k,k,h,w]的数据。这个过程通常被称为im2col,与二维卷积相同。二维卷积通过在空间维度上批量进行矩阵乘法来完成,本方法用通道维度上的批量点积来代替这一步骤。
[0076] 3-3.滤波器权重输出(WeightingFilterOutputs):
[0077]
[0078] 这一步是上一步不同的卷积核输出的带权累加。即可以理解为对某一个通道的输入做了不同卷积核以后,再使用一个1×1的卷积核做卷积。卷积核的参数就是 个数为m.
[0079] 3-4.兼容性变换(Compatibility Transform):
[0080]
[0081] 这样每一个通道的输入经过步骤3-2和3-3都会有一个输出;也就是这一步的输入是L通道的概率分布图。这一步可理解为对每一个通道再用一个1×1的卷积核做卷积。这里尤其注意,u(1,2)与u(2,1) 是不同的;也就是说,这一步我们的输出同样是L通道的输出。比如,针对1通道的输出,我们使用卷积{u(1,l')}l'∈L得到其对应的输出。针对 2通道的输出,我们使用卷积{u(2,l')}l'∈L得到其对应的输出,一直输出L 通道的概率分布。卷积核参数为{u(L,l')}l'∈L卷积核个数为L。
[0082] 3-5.加入一元概率(Adding Unary Potentials):
[0083]
[0084] 在对应通道上加入FCN输出的概率分布图。
[0085] 3-6.归一化(Normalizing):
[0086] Qi(xi)←normalize(Qi(xi))
[0087] 归一化,可理解为SoftMax层在经过本发明所提到的方法的编码解码网络与卷积条件随机场后,将会得到一张为每个像素点分好类的图像。