Supporting data for "Deep Machine Learning provides state-of-the-art performance in image-based plant phenotyping" ================================================================================================================== Pound, M, P; Atkinson, J, A; Burgess, A, J; Wilson, M, H; Griffiths, M; Jackson, A, S; Bulat, A; Tzimiropoulos, G; Wells, D, M; Murchie, E, H; Pridmore, T, P; French, A, P (2017) GigaScience Database. http://dx.doi.org/10.5524/100343 Summary: -------- In plant phenotyping, it has become important to be able to measure many features on large image sets in order to aid genetic discovery. The size of the datasets, now often captured robotically, often precludes manual inspection; hence the motivation for finding a fully automated approach. Deep learning is an emerging field that promises unparalleled results on many data analysis problems. Building on artificial neural networks, deep approaches have many more hidden layers in the network, and hence have greater discriminative and predictive power. We demonstrate the use of such approaches as part of a plant phenotyping pipeline. We show the success offered by such techniques when applied to the challenging problem of image-based plant phenotyping, and demonstrate state-of-the-art results (>97% accuracy) for root and shoot feature identification and localisation. We use fully automated trait identification using deep learning to identify quantitative trait loci in root architecture datasets. The majority (12 out of 14) of manually-identified QTL were also discovered using our automated approach based on the deep learning detection to locate plant features. We have shown deep-learning-based phenotyping to have very good detection and localisation accuracy in validation and testing image sets. We have shown that such features can be used to derive meaningful biological traits, which in turn can be used in QTL discovery pipelines. This process can be completely automated. We predict a paradigm shift in image-based phenotyping bought about by such deep learning approaches, given sufficient training sets. Files: ------ > roots/ makedb.py - Python script to build an LMDB image database from folders. root.final.model.caffemodel - Trained model weights for the root dataset root_model.prototxt - Caffe model file root_solver.prototxt - Caffe solver file root_train.sh - Helper bash script test.sh - Helper bash script > roots/data/ 42_testing - LMDB image database files 42_training - LMDB image database files 42.binaryproto - Caffe mean image file source-images.zip - Source images for the root dataset > roots/testing/ root-testing-validation.tar.gz - mixed archive: Unseen testing images and network output for the root dataset. batch.heatmap.sh - Helper bash script batch.sh - Helper bash script heatmap.batch.py - Python code to scan an image using the CNN render_heatmap.py - Python code to combine an input image npy array into an output image root_deploy.prototxt - Caffe model file test-confusion.py - Helper script to visualise a confusion matrix visualise.py - Helper script to visualise network weights - not used in the manuscript. > shoots/ shoot.final.model.caffemodel - Trained model weights for the shoot dataset shoot_model.prototxt - Caffe model file shoot_solver.prototxt - Caffe solver file shoot_test.sh - Helper bash script shoot_train.sh - Helper bash script > shoots/data/ wheat-large_testing - LMDB image database files wheat-large_training - LMDB image database files source-images.zip - Source images for the root dataset wheat-large-mean.binaryproto - Caffe mean image file > shoots/testing/ shoots-testing-validation.tar.gz - mixed archive: Unseen testing images and network output for the shoot dataset. batch.heatmap.sh - Helper bash script batch.scan.sh - Helper bash script heatmap.batch.py - Python code to scan an image using the CNN render_heatmap.py - Python code to combine an input image npy array into an output image render_heatmap.tips.py - Python code to combine an input image npy array into an output image shoot_model.orig.prototxt - Caffe model file shoot_model.prototxt - Caffe model file show_heatmap.py - Python script to save a npy heatmap array directly test-confusion.py - Helper script to visualise a confusion matrix visualise.py - Helper script to visualise network weights - not used in the manuscript.