1. 前言
依旧是CVPR 2018的文章,感觉alignment今年还蛮火的。
2. 介绍
首先论文中提到了一个观点,全卷积网络能够很好地提取局部特征,但是却无法很好的整合全局的信息,因为特征对应的感受野都不够大。
为了克服这个问题,人们使用例如:级联,池化,或者拟合一个统计模型(?),这篇论文提取了一个新思路来在FCN中引入全局信息。
关键点是一个implicit kernel convolution within the network.
论文中提到了全卷积网络的几个特点:
- 不依赖于图片分辨率
- 不需要bounding box
- 可以处理没有物体或者多个物体的情况
- 可以处理cropped和遮挡
- 更少的参数和内存需求
3. Local-global context network
作者采用了heatmap回归的方式,论文的方法能够考虑到全局的context,并且可以根据点分布模型来通过后处理优化。
通过使用dilated convolution,可以避免过拟合的问题。?
3.1 预处理
首先将训练和测试图片crop到正方形,在rescale到96*96。作者将图片都转换为了灰度图,作者发现结果和RGB差不多,甚至有时候更好,这可能是因为三通道容易过拟合。
landmark的groundtruth被设置为灰度图,通过线性插值使得包含4个不为零的像素点,它们的和为1.
3.2 Network architecture
如下图:
总体来说,网络包含四个部分:
- local-context, fully-convolutional network
- convolution with a (customizable) static kernel
- Global-context, dilated fully-convolutional network
- Square error-like loss versus kernel-convolved labels
3.2.1 Local-context subnet
该子网络作为局部特征提取器,提取一些底层的局部landmark特征,上述图片中,该子网络是一个15层的CNN,和一个1*1的linear convolution。
3.2.2 Kernel convolution
local-context子网络的输出,通过grouped convolution来进行整合,只是group size为1。就是每个卷积核仅仅和输入的一个通道卷积。
它有两个目的:
- 像素之间的平方差现在关联了预测和ground truth之间的距离
-
global-context子网络可以利用dilated,而不是dense convolution
论文给出了一些解释。
kernel设计如下:
3.2.3 Global-context subnet
该全局子网络的目的是整合local子网络的信息。作者使用了dilated卷积来增大感受野。
3.2.4 Loss
作者根据N个landmark是否在图片边界内来对它们进行加权:
loss定义如下: