Towards safeguarding convolutional neural networks against physical corruptions