In this work we investigate the effect of the convolutional neural network depth on its accuracy in the large-scale image recognition task. Our main contribution is a thorough evaluation of networks of increasing depth using an architecture with very small (3x3) convolution filters, which shows that a significant improvement on the prior-art configurations can be achieved by pushing the depth to 16-19 weight layers. These findings were the basis of our ImageNet Challenge 2014 submission, where our team won the first and the second places in the localisation and classification tracks respectively. We also show that our representations generalise well to other datasets, where they achieve state-of-the-art results. We have made our two best-performing convolutional neural network models publicly available to facilitate further research on the use of deep visual representations in computer vision.