Skip to content
Code for our CVPR 2019 paper: Selective Kernel Networks; See zhihu:https://zhuanlan.zhihu.com/p/59690223
C++ Cuda
Branch: master
Clone or download
xiangli
xiangli add sknet101
Latest commit 17dd708 Mar 26, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
figures update attention distribution images Mar 18, 2019
include/caffe/layers first cap Mar 15, 2019
models add sknet101 Mar 26, 2019
src/caffe first cap Mar 15, 2019
README.md add sknet101 Mar 26, 2019

README.md

SKNet: Selective Kernel Networks (paper)

By Xiang Li[1,2], Wenhai Wang[3,2], Xiaolin Hu[4] and Jian Yang[1]

[PCALab, Nanjing University of Science and Technology][1] Momenta[2] [Nanjing University][3] [Tsinghua University][4].

Approach

Figure 1: The Diagram of a Selective Kernel Convolution module.

Implementation

In this repository, all the models are implemented by Caffe.

We use the data augmentation strategies with SENet.

There are two new layers introduced for efficient training and inference, these are Axpy and CuDNNBatchNorm layers.

  • The Axpy layer is already implemented in SENet.
  • The [CuDNNBatchNorm] is mainly borrowed from GENet.

Trained Models

Table 2. Single crop validation error on ImageNet-1k (center 224x224/320x320 crop from resized image with shorter side = 256).

Model Top-1 224x Top-1 320x #P GFLOPs
ResNeXt-50 22.23 21.05 25.0M 4.24
AttentionNeXt-56 21.76 31.9M 6.32
InceptionV3 21.20 27.1M 5.73
ResNeXt-50 + BAM 21.70 20.15 25.4M 4.31
ResNeXt-50 + CBAM 21.40 20.38 27.7M 4.25
SENet-50 21.12 19.71 27.7M 4.25
SKNet-50 20.79 19.32 27.5M 4.47
ResNeXt-101 21.11 19.86 44.3M 7.99
Attention-92 19.50 51.3M 10.43
DPN-92 20.70 19.30 37.7M 6.50
DPN-98 20.20 18.90 61.6M 11.70
InceptionV4 20.00 42.0M 12.31
Inception-ResNetV2 19.90 55.0M 13.22
ResNeXt-101 + BAM 20.67 19.15 44.6M 8.05
ResNeXt-101 + CBAM 20.60 19.42 49.2M 8.00
SENet-101 20.58 18.61 49.2M 8.00
SKNet-101 20.19 18.40 48.9M 8.46

Download:

Model caffe model
SKNet-50 GoogleDrive
SKNet-101 GoogleDrive

20190323_Update: SKNet-101 model is deleted by mistake. We are retraining a model and it will come soon in 2-3 days. 20190326_Update: SKNet-101 model is ready.

Attention weights correspond to object scales in low/middle layers

We look deep into the selection distributions from the perspective of classes on SK_2_3 (low), SK_3_4 (middle), SK_5_3 (high) layers:

Figure 2: Average mean attention difference (mean attention value of kernel 5x5 minus that of kernel 3x3) on SK units of SKNet-50, for each of 1,000 categories using all validation samples on ImageNet. On low or middle level SK units (e.g., SK\_2\_3, SK\_3\_4), 5x5 kernels are clearly imposed with more emphasis if the target object becomes larger (1.0x -> 1.5x).

More details of attention distributions on specific images are as follows:

Citation

If you use Selective Kernel Convolution in your research, please cite the paper:

@inproceedings{li2019selective,
  title={Selective Kernel Networks},
  author={Li, Xiang and Wang, Wenhai and Hu, Xiaolin and Yang, Jian},
  journal={IEEE Conference on Computer Vision and Pattern Recognition},
  year={2019}
}
You can’t perform that action at this time.