一、介绍

这是CVPR2017的一篇文章,主要通过将local binary pattern的编码方式与卷积神经网络CNN相结合,进而提出一种可以极大减少可学习参数数量的模型。

官方下载网址 http://xujuefei.com/lbcnn.

二、主要内容

意义

该模型的意义可以总结如下:

  1. 对可学习参数的数量进行极大缩减,可以减少9到169倍(取决于滤波器的尺寸)可学习参数的数量
  2. 避免过拟合,加快收敛速度,更适用于小规模训练集
  3. 大幅度减少了模型尺寸以及计算消耗

通过卷积进行LBP运算

local binary pattern 可以通过卷积进行实现,以(r, p)=(1,8)的lbp运算为例。
传统lbp的计算过程:

  1. 对比中心点与领域像素值的大小
  2. 若领域像素值较大则在该位置标注为1,否则为0
  3. 将所有领域的标签乘以对应的权重后求和

通过卷积进行LBP运算的计算过程:

  1. 使用8个预定义的3*3滤波器对图像进行卷积操作,每个滤波器只有两个非0的权值,中心点的权重为-1,领域点的权重为1。
  2. 使用非线性函数(单位阶跃函数)对卷积后的结果进行映射,若卷积结果为正数,则将该值映射为1,否则为0
  3. 将得到的8个channel的值乘以对应的权重后求和,这一过程可以通过1*1的卷积实现

Local Binary Convolutional Neural Networks
可以看到传统lbp的操作与传统卷积的方式极为相似。

LBCNN的网络结构

作者通过将固定参数与可学习参数相结合的方式,提出一种称为LBC的模型用来替代网络结构中的卷积过程,并将使用LBC的网络称为LBCNN,
LBC描述如下:

  1. 对于一个输入通道为1的图像,首先使用一组预定义的滤波器对其进行卷积操作,这一组滤波器由m个hw1,每个滤波器的权重定义为LBP的权重(即中心为-1,领域为1,其余为0)。
  2. 使用非线性函数将得到的m个差分图进行映射(由于lbp中使用的单位阶跃函数不可微,所以使用simoid或ReLU函数)
  3. 对于m个映射图,使用11的卷积将这m个分图的值对应求和,从而得到1个特征图,这些11的卷积中的参数是可学习的。
    Local Binary Convolutional Neural Networks

参数对比

假设输入通道和输出通道的数量分别为p和q,滤波器的尺寸为hw,m为LBC中滤波器的数量。则在CNN中需要学习的参数数量为phwq,在LBC中可学习参数的数量为mq,不妨设m=p,则LBC的参数比CNN少hw倍。

预定义权重随机化

借鉴3DLBP的思想,可以通过改变中心点或领域点的位置对LBP进行泛化,具体方式为:

  1. 首先确定滤波器中非0权重的数量
  2. 随机等概率分配1和-1给滤波器中的权重
    图示内容为非0元素依次递增的随机权重(2, 4, 9)
    Local Binary Convolutional Neural Networks

相关文章: