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 | CVPR2018 |
SKNet | 80.60 | - | CVPR2019 |
DARTS | 73.3 | 91.3 | ICLR2019 |
ProxylessNAS | 75.1 | 92.5 | ICLR2019 |
MobileNetV3 | 75.2 | - | arXiv2019 |
Res2Net | 79.2 | 94.37 | arXiv2019 |
EfficientNet | 84.3 | 97.0 | ICML2019 |
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
- pdf: https://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
Selective Kernel Networks Xiang Li, Wenhai Wang, Xiaolin Hu, Jian Yang
DARTS: Differentiable Architecture Search Hanxiao Liu, Karen Simonyan, Yiming Yang
- pdf: https://arxiv.org/abs/1806.09055
- code: official : https://github.com/quark0/darts
- code: unofficial-pytorch : https://github.com/khanrc/pt.darts
- code: unofficial-tensorflow : https://github.com/NeroLoh/darts-tensorflow
ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware Han Cai, Ligeng Zhu, Song Han
Searching for MobileNetV3 Andrew Howard, Mark Sandler, Grace Chu, Liang-Chieh Chen, Bo Chen, Mingxing Tan, Weijun Wang, Yukun Zhu, Ruoming Pang, Vijay Vasudevan, Quoc V. Le, Hartwig Adam
- pdf: https://arxiv.org/abs/1905.02244
- code: unofficial-pytorch : https://github.com/xiaolai-sqlai/mobilenetv3
- code: unofficial-pytorch : https://github.com/kuan-wang/pytorch-mobilenet-v3
- code: unofficial-pytorch : https://github.com/leaderj1001/MobileNetV3-Pytorch
- code: unofficial-pytorch : https://github.com/d-li14/mobilenetv3.pytorch
- code: unofficial-caffe : https://github.com/jixing0415/caffe-mobilenet-v3
- code: unofficial-keras : https://github.com/xiaochus/MobileNetV3
Res2Net: A New Multi-scale Backbone Architecture Shang-Hua Gao, Ming-Ming Cheng, Kai Zhao, Xin-Yu Zhang, Ming-Hsuan Yang, Philip Torr
- pdf: https://arxiv.org/abs/1904.01169
- code: unofficial-pytorch : https://github.com/4uiiurz1/pytorch-res2net
- code: unofficial-keras : https://github.com/fupiao1998/res2net-keras
EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks Mingxing Tan, Quoc V. Le