Mushroom Image Classification with CNNs: A Case-Study of Different Learning Strategies

Picking mushrooms is traditionally a popular hobby for many people, on the other hand, image based mushroom recognition is a great challenge for machine learning methods due to the large number of species, similarities in appearance, and wide spectrum of environmental effects during imaging. While deep learning convolutional neural networks (CNNs) became monarch in image based recognition, the large number of possible architectures, the alternatives of training, the setting-up of proper data-sets, the settings of hyperparameters are making headaches for the researchers and developers to find optimal solutions for classification problems. In our article we are to solve a mushroom classification task by systematically going through the above key questions. First, we introduce how we created and cleaned a proper data-set for training, then why we selected a specific neural network considering the constraints of limited hardware resources. We go through different alternatives for training such as transfer learning, gradual freezing, changing model size, incremental-size learning, and also applying task specific subnetworks. Performance evaluation is made on our data-set of 106 species, the best approach reaching 92.6% accuracy.