A curated list of deep learning image classification papers and codes since 2014, Inspired by awesome-object-detection, deep_learning_object_detection and awesome-deep-learning-papers.
I believe image classification is a great start point before diving into other computer vision fields, espacially for begginers who know nothing about deep learning. When I started to learn computer vision, I've made a lot of mistakes, I wish someone could have told me that which paper I should start with back then. There doesn't seem to have a repository to have a list of image classification papers like deep_learning_object_detection until now. Therefore, I decided to make a repository of a list of deep learning image classification papers and codes to help others. My personal advice for people who know nothing about deep learning, try to start with vgg, then googlenet, resnet, feel free to continue reading other listed papers or switch to other fields after you are finished.
Note: I also have a repository of pytorch implementation of some of the image classification networks, you can check out here.
For simplicity reason, I only listed the best top1 and top5 accuracy on ImageNet from the papers. Note that this does not necessarily mean one network is better than another when the acc is higher, cause some networks are focused on reducing the model complexity instead of improving accuracy, or some papers only give the single crop results on ImageNet, but others give the model fusion or multicrop results.
- ConvNet: name of the covolution network
- ImageNet top1 acc: best top1 accuracy on ImageNet from the Paper
- ImageNet top5 acc: best top5 accuracy on ImageNet from the Paper
- Published In: which conference or journal the paper was published in.
ConvNet | ImageNet top1 acc | ImageNet top5 acc | Published In |
---|---|---|---|
Vgg | 76.3 | 93.2 | ICLR2015 |
GoogleNet | - | 93.33 | CVPR2015 |
PReLU-nets | - | 95.06 | ICCV2015 |
ResNet | - | 96.43 | CVPR2015 |
PreActResNet | 79.9 | 95.2 | CVPR2016 |
Inceptionv3 | 82.8 | 96.42 | CVPR2016 |
Inceptionv4 | 82.3 | 96.2 | AAAI2016 |
Inception-ResNet-v2 | 82.4 | 96.3 | AAAI2016 |
Inceptionv4 + Inception-ResNet-v2 | 83.5 | 96.92 | AAAI2016 |
RiR | - | - | ICLR Workshop2016 |
Stochastic Depth ResNet | 78.02 | - | ECCV2016 |
WRN | 78.1 | 94.21 | BMVC2016 |
SqueezeNet | 60.4 | 82.5 | arXiv2017(rejected by ICLR2017) |
GeNet | 72.13 | 90.26 | ICCV2017 |
MetaQNN | - | - | ICLR2017 |
PyramidNet | 80.8 | 95.3 | CVPR2017 |
DenseNet | 79.2 | 94.71 | ECCV2017 |
FractalNet | 75.8 | 92.61 | ICLR2017 |
ResNext | - | 96.97 | CVPR2017 |
IGCV1 | 73.05 | 91.08 | ICCV2017 |
Residual Attention Network | 80.5 | 95.2 | CVPR2017 |
Xception | 79 | 94.5 | CVPR2017 |
MobileNet | 70.6 | - | arXiv2017 |
PolyNet | 82.64 | 96.55 | CVPR2017 |
DPN | 79 | 94.5 | NIPS2017 |
Block-QNN | 77.4 | 93.54 | CVPR2018 |
CRU-Net | 79.7 | 94.7 | IJCAI2018 |
ShuffleNet | 75.3 | - | CVPR2018 |
CondenseNet | 73.8 | 91.7 | CVPR2018 |
NasNet | 82.7 | 96.2 | CVPR2018 |
MobileNetV2 | 74.7 | - | CVPR2018 |
IGCV2 | 70.07 | - | CVPR2018 |
hier | 79.7 | 94.8 | ICLR2018 |
PNasNet | 82.9 | 96.2 | ECCV2018 |
AmoebaNet | 83.9 | 96.6 | arXiv2018 |
SENet | - | 97.749 | CVPR2018 |
ShuffleNetV2 | 81.44 | - | ECCV2018 |
IGCV3 | 72.2 | - | BMVC2018 |
MnasNet | 76.13 | 92.85 | arXiv2018 |
Very Deep Convolutional Networks for Large-Scale Image Recognition.
Karen Simonyan, Andrew Zisserman
- pdf: https://arxiv.org/abs/1409.1556
- code: torchvision : https://github.com/pytorch/vision/blob/master/torchvision/models/vgg.py
- code: keras-applications : https://github.com/keras-team/keras-applications/blob/master/keras_applications/vgg16.py
- code: keras-applications : https://github.com/keras-team/keras-applications/blob/master/keras_applications/vgg19.py
Going Deeper with Convolutions
Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich
- pdf: https://arxiv.org/abs/1409.4842
- code: unofficial-tensorflow : https://github.com/conan7882/GoogLeNet-Inception
- code: unofficial-caffe : https://github.com/lim0606/caffe-googlenet-bn
Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification
Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun
- pdf: https://arxiv.org/abs/1502.01852
- code: unofficial-chainer : https://github.com/nutszebra/prelu_net
Deep Residual Learning for Image Recognition
Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun
- pdf: https://arxiv.org/abs/1512.03385
- code: facebook-torch : https://github.com/facebook/fb.resnet.torch
- code: torchvision : https://github.com/pytorch/vision/blob/master/torchvision/models/resnet.py
- code: keras-applications : https://github.com/keras-team/keras-applications/blob/master/keras_applications/resnet.py
- code: unofficial-keras : https://github.com/raghakot/keras-resnet
- code: unofficial-tensorflow : https://github.com/ry/tensorflow-resnet
Identity Mappings in Deep Residual Networks
Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun
- pdf: https://arxiv.org/abs/1603.05027
- code: facebook-torch : https://github.com/facebook/fb.resnet.torch/blob/master/models/preresnet.lua
- code: official : https://github.com/KaimingHe/resnet-1k-layers
- code: unoffical-pytorch : https://github.com/kuangliu/pytorch-cifar/blob/master/models/preact_resnet.py
- code: unoffical-mxnet : https://github.com/tornadomeet/ResNet
Rethinking the Inception Architecture for Computer Vision
Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, Jonathon Shlens, Zbigniew Wojna
- pdf: https://arxiv.org/abs/1512.00567
- code: torchvision : https://github.com/pytorch/vision/blob/master/torchvision/models/inception.py
- code: keras-applications : https://github.com/keras-team/keras-applications/blob/master/keras_applications/inception_v3.py
Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
Christian Szegedy, Sergey Ioffe, Vincent Vanhoucke, Alex Alemi
- pdf: https://arxiv.org/abs/1602.07261
- code: unofficial-keras : https://github.com/kentsommer/keras-inceptionV4
- code: unofficial-keras : https://github.com/titu1994/Inception-v4
- code: unofficial-keras : https://github.com/yuyang-huang/keras-inception-resnet-v2
Resnet in Resnet: Generalizing Residual Architectures
Sasha Targ, Diogo Almeida, Kevin Lyman
- pdf: https://arxiv.org/abs/1603.08029
- code: unofficial-tensorflow : https://github.com/SunnerLi/RiR-Tensorflow
- code: unofficial-chainer : https://github.com/nutszebra/resnet_in_resnet
Deep Networks with Stochastic Depth
Gao Huang, Yu Sun, Zhuang Liu, Daniel Sedra, Kilian Weinberger
- pdf: https://arxiv.org/abs/1603.09382
- code: unofficial-torch : https://github.com/yueatsprograms/Stochastic_Depth
- code: unofficial-chainer : https://github.com/yasunorikudo/chainer-ResDrop
- code: unofficial-keras : https://github.com/dblN/stochastic_depth_keras
Wide Residual Networks
Sergey Zagoruyko, Nikos Komodakis
- pdf: https://arxiv.org/abs/1605.07146
- code: official : https://github.com/szagoruyko/wide-residual-networks
- code: unofficial-pytorch : https://github.com/xternalz/WideResNet-pytorch
- code: unofficial-keras : https://github.com/asmith26/wide_resnets_keras
- code: unofficial-pytorch : https://github.com/meliketoy/wide-resnet.pytorch
SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size
Forrest N. Iandola, Song Han, Matthew W. Moskewicz, Khalid Ashraf, William J. Dally, Kurt Keutzer
- pdf: https://arxiv.org/abs/1602.07360
- code: torchvision : https://github.com/pytorch/vision/blob/master/torchvision/models/squeezenet.py
- code: unofficial-caffe : https://github.com/DeepScale/SqueezeNet
- code: unofficial-keras : https://github.com/rcmalli/keras-squeezenet
- code: unofficial-caffe : https://github.com/songhan/SqueezeNet-Residual
Genetic CNN
Lingxi Xie, Alan Yuille
- pdf: https://arxiv.org/abs/1703.01513
- code: unofficial-tensorflow : https://github.com/aqibsaeed/Genetic-CNN
Designing Neural Network Architectures using Reinforcement Learning
Bowen Baker, Otkrist Gupta, Nikhil Naik, Ramesh Raskar
Deep Pyramidal Residual Networks
Dongyoon Han, Jiwhan Kim, Junmo Kim
- pdf: https://arxiv.org/abs/1610.02915
- code: official : https://github.com/jhkim89/PyramidNet
- code: unofficial-pytorch : https://github.com/dyhan0920/PyramidNet-PyTorch
Densely Connected Convolutional Networks
Gao Huang, Zhuang Liu, Laurens van der Maaten, Kilian Q. Weinberger
- pdf: https://arxiv.org/abs/1608.06993
- code: official : https://github.com/liuzhuang13/DenseNet
- code: unofficial-keras : https://github.com/titu1994/DenseNet
- code: unofficial-caffe : https://github.com/shicai/DenseNet-Caffe
- code: unofficial-tensorflow : https://github.com/YixuanLi/densenet-tensorflow
- code: unofficial-pytorch : https://github.com/YixuanLi/densenet-tensorflow
- code: unofficial-pytorch : https://github.com/bamos/densenet.pytorch
- code: unofficial-keras : https://github.com/flyyufelix/DenseNet-Keras
FractalNet: Ultra-Deep Neural Networks without Residuals
Gustav Larsson, Michael Maire, Gregory Shakhnarovich
- pdf: https://arxiv.org/abs/1605.07648
- code: unofficial-caffe : https://github.com/gustavla/fractalnet
- code: unofficial-keras : https://github.com/snf/keras-fractalnet
- code: unofficial-tensorflow : https://github.com/tensorpro/FractalNet
Aggregated Residual Transformations for Deep Neural Networks
Saining Xie, Ross Girshick, Piotr Dollár, Zhuowen Tu, Kaiming He
- pdf: https://arxiv.org/abs/1611.05431
- code: official : https://github.com/facebookresearch/ResNeXt
- code: keras-applications : https://github.com/keras-team/keras-applications/blob/master/keras_applications/resnext.py
- code: unofficial-pytorch : https://github.com/prlz77/ResNeXt.pytorch
- code: unofficial-keras : https://github.com/titu1994/Keras-ResNeXt
- code: unofficial-tensorflow : https://github.com/taki0112/ResNeXt-Tensorflow
- code: unofficial-tensorflow : https://github.com/wenxinxu/ResNeXt-in-tensorflow
Interleaved Group Convolutions for Deep Neural Networks
Ting Zhang, Guo-Jun Qi, Bin Xiao, Jingdong Wang
- pdf: https://arxiv.org/abs/1707.02725
- code official : https://github.com/hellozting/InterleavedGroupConvolutions
Residual Attention Network for Image Classification
Fei Wang, Mengqing Jiang, Chen Qian, Shuo Yang, Cheng Li, Honggang Zhang, Xiaogang Wang, Xiaoou Tang
- pdf: https://arxiv.org/abs/1704.06904
- code: official : https://github.com/fwang91/residual-attention-network
- code: unofficial-pytorch : https://github.com/tengshaofeng/ResidualAttentionNetwork-pytorch
- code: unofficial-gluon : https://github.com/PistonY/ResidualAttentionNetwork
- code: unofficial-keras : https://github.com/koichiro11/residual-attention-network
Xception: Deep Learning with Depthwise Separable Convolutions
François Chollet
- pdf: https://arxiv.org/abs/1610.02357
- code: unofficial-pytorch : https://github.com/jfzhang95/pytorch-deeplab-xception/blob/master/modeling/backbone/xception.py
- code: unofficial-tensorflow : https://github.com/kwotsin/TensorFlow-Xception
- code: unofficial-caffe : https://github.com/yihui-he/Xception-caffe
- code: unofficial-pytorch : https://github.com/tstandley/Xception-PyTorch
- code: keras-applications : https://github.com/keras-team/keras-applications/blob/master/keras_applications/xception.py
MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
Andrew G. Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, Hartwig Adam
- pdf: https://arxiv.org/abs/1704.04861
- code: unofficial-tensorflow : https://github.com/Zehaos/MobileNet
- code: unofficial-caffe : https://github.com/shicai/MobileNet-Caffe
- code: unofficial-pytorch : https://github.com/marvis/pytorch-mobilenet
- code: keras-applications : https://github.com/keras-team/keras-applications/blob/master/keras_applications/mobilenet.py
PolyNet: A Pursuit of Structural Diversity in Very Deep Networks
Xingcheng Zhang, Zhizhong Li, Chen Change Loy, Dahua Lin
Dual Path Networks
Yunpeng Chen, Jianan Li, Huaxin Xiao, Xiaojie Jin, Shuicheng Yan, Jiashi Feng
- pdf: https://arxiv.org/abs/1707.01629
- code: official : https://github.com/cypw/DPNs
- code: unoffical-keras : https://github.com/titu1994/Keras-DualPathNetworks
- code: unofficial-pytorch : https://github.com/oyam/pytorch-DPNs
- code: unofficial-pytorch : https://github.com/rwightman/pytorch-dpn-pretrained
Practical Block-wise Neural Network Architecture Generation
Zhao Zhong, Junjie Yan, Wei Wu, Jing Shao, Cheng-Lin Liu
Sharing Residual Units Through Collective Tensor Factorization in Deep Neural Networks
Chen Yunpeng, Jin Xiaojie, Kang Bingyi, Feng Jiashi, Yan Shuicheng
- pdfhttps://arxiv.org/abs/1703.02180
- code official : https://github.com/cypw/CRU-Net
- code unofficial-mxnet : https://github.com/bruinxiong/Modified-CRUNet-and-Residual-Attention-Network.mxnet
ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
Xiangyu Zhang, Xinyu Zhou, Mengxiao Lin, Jian Sun
- pdf: https://arxiv.org/abs/1707.01083
- code: unofficial-tensorflow : https://github.com/MG2033/ShuffleNet
- code: unofficial-pytorch : https://github.com/jaxony/ShuffleNet
- code: unofficial-caffe : https://github.com/farmingyard/ShuffleNet
- code: unofficial-keras : https://github.com/scheckmedia/keras-shufflenet
CondenseNet: An Efficient DenseNet using Learned Group Convolutions
Gao Huang, Shichen Liu, Laurens van der Maaten, Kilian Q. Weinberger
- pdf: https://arxiv.org/abs/1711.09224
- code: official : https://github.com/ShichenLiu/CondenseNet
- code: unofficial-tensorflow : https://github.com/markdtw/condensenet-tensorflow
Learning Transferable Architectures for Scalable Image Recognition
Barret Zoph, Vijay Vasudevan, Jonathon Shlens, Quoc V. Le
- pdf: https://arxiv.org/abs/1707.07012
- code: unofficial-keras : https://github.com/titu1994/Keras-NASNet
- code: keras-applications : https://github.com/keras-team/keras-applications/blob/master/keras_applications/nasnet.py
- code: unofficial-pytorch : https://github.com/wandering007/nasnet-pytorch
- code: unofficial-tensorflow : https://github.com/yeephycho/nasnet-tensorflow
MobileNetV2: Inverted Residuals and Linear Bottlenecks
Mark Sandler, Andrew Howard, Menglong Zhu, Andrey Zhmoginov, Liang-Chieh Chen
- pdf: https://arxiv.org/abs/1801.04381
- code: unofficial-keras : https://github.com/xiaochus/MobileNetV2
- code: unofficial-pytorch : https://github.com/Randl/MobileNetV2-pytorch
- code: unofficial-tensorflow : https://github.com/neuleaf/MobileNetV2
IGCV2: Interleaved Structured Sparse Convolutional Neural Networks
Guotian Xie, Jingdong Wang, Ting Zhang, Jianhuang Lai, Richang Hong, Guo-Jun Qi
Hierarchical Representations for Efficient Architecture Search
Hanxiao Liu, Karen Simonyan, Oriol Vinyals, Chrisantha Fernando, Koray Kavukcuoglu
Progressive Neural Architecture Search
Chenxi Liu, Barret Zoph, Maxim Neumann, Jonathon Shlens, Wei Hua, Li-Jia Li, Li Fei-Fei, Alan Yuille, Jonathan Huang, Kevin Murphy
- pdf: https://arxiv.org/abs/1712.00559
- code: tensorflow-slim : https://github.com/tensorflow/models/blob/master/research/slim/nets/nasnet/pnasnet.py
- code: unofficial-pytorch : https://github.com/chenxi116/PNASNet.pytorch
- code: unofficial-tensorflow : https://github.com/chenxi116/PNASNet.TF
Regularized Evolution for Image Classifier Architecture Search
Esteban Real, Alok Aggarwal, Yanping Huang, Quoc V Le
- pdf: https://arxiv.org/abs/1802.01548
- code: tensorflow-tpu : https://github.com/tensorflow/tpu/tree/master/models/official/amoeba_net
Squeeze-and-Excitation Networks
Jie Hu, Li Shen, Samuel Albanie, Gang Sun, Enhua Wu
- pdf: https://arxiv.org/abs/1709.01507
- code: official : https://github.com/hujie-frank/SENet
- code: unofficial-pytorch : https://github.com/moskomule/senet.pytorch
- code: unofficial-tensorflow : https://github.com/taki0112/SENet-Tensorflow
- code: unofficial-caffe : https://github.com/shicai/SENet-Caffe
- code: unofficial-mxnet : https://github.com/bruinxiong/SENet.mxnet
ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design
Ningning Ma, Xiangyu Zhang, Hai-Tao Zheng, Jian Sun
- pdf: https://arxiv.org/abs/1807.11164
- code: unofficial-pytorch : https://github.com/Randl/ShuffleNetV2-pytorch
- code: unofficial-keras : https://github.com/opconty/keras-shufflenetV2
- code: unofficial-pytorch : https://github.com/Bugdragon/ShuffleNet_v2_PyTorch
- code: unofficial-caff2: https://github.com/wolegechu/ShuffleNetV2.Caffe2
IGCV3: Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks
Ke Sun, Mingjie Li, Dong Liu, Jingdong Wang
- pdf: https://arxiv.org/abs/1806.00178
- code: official : https://github.com/homles11/IGCV3
- code: unofficial-pytorch : https://github.com/xxradon/IGCV3-pytorch
- code: unofficial-tensorflow : https://github.com/ZHANG-SHI-CHANG/IGCV3
MnasNet: Platform-Aware Neural Architecture Search for Mobile
Mingxing Tan, Bo Chen, Ruoming Pang, Vijay Vasudevan, Quoc V. Le
- pdf: https://arxiv.org/abs/1807.11626
- code: unofficial-pytorch : https://github.com/AnjieZheng/MnasNet-PyTorch
- code: unofficial-caffe : https://github.com/LiJianfei06/MnasNet-caffe
- code: unofficial-MxNet : https://github.com/chinakook/Mnasnet.MXNet
- code: unofficial-keras : https://github.com/Shathe/MNasNet-Keras-Tensorflow