Torch Tutorial for PlantVillage Challenge.
On the newly built data science challenges platform crowdAI there is an interesting Deep Learning challenge called the PlantVillage Disease Classification Challenge. In this challenge, you are required to identify the disease of a plant from an image of its leaf.
The dataset include 38 classes of both healthy and diseased leaves. The training dataset has 21917 images.
We’ll use the popular deep learning platform Torch to solve this problem. This is a hands-on tutorial covering training of AlexNet ImageNet Classification with Deep Convolutional Neural Networks .
The tutorial is also accompanied by a repo containing complete working code. It will include ResNet Deep Residual Learning for Image Recognition along with Alexnet.
This tutorial assumes familiarity with convolutional neural networks (CNNs) and torch. Here are some resources to get started:
- Neural Networks and Deep Learning book by Michael Nielsen. Chapter 6 is the essential reading.
- Torch tutorials
- Torch cheat sheet
CNNs learn hierarchical task-specific invariant features. For example, first few layers of CNN may learn to recognize particular type of leaf spots and later layers may learn about pattern of these spots to finally make a decision about disease. An usual, CNNs are a stack of convolutional layers and max-pooling layers.
CNNs have been very successful in visual recognition tasks. They have been consistently winning ImageNet large scale visual recognition challenge (ILSVRC). ImageNet is a huge database of 15 million tagged images. A standard approach for a problem like ours is to take an ImageNet trained model and fine tune it to our problem. However this is against the rules of the PlantVillage challenge. So, we’ll train our networks from scratch.
Let’s quickly start by building the AlexNet model.