A neural network implementation for detecting wheat heads from field optical images using EfficientDet, an object detection model developed by Google Research. The model relies on the EfficientNet architecture and has achieved SOTA results in many benchmarks, including the COCO Dataset.
This implementation uses a Pytorch version of the model and starts with pre-trained weights. The model is trained with the Global Wheat Dataset, the first large-scale dataset for this task. During training, many augmentation techniques are used, including brand new Cutmix and Mixup (see references).
The training and inference process are shown in the notebooks, which includes sample images.
To get large and accurate data about wheat fields worldwide, plant scientists use image detection of "wheat heads"—spikes atop the plant containing grain. These images are used to estimate the density and size of wheat heads in different varieties. Farmers can use the data to assess health and maturity when making management decisions in their fields.
Global Wheat Head Detection (GWHD) dataset [arXiv]
EfficientDet: Scalable and Efficient Object Detection [arXiv]
Mixup: Beyond Empirical Risk Minimization [arXiv]
CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features [arXiv]
EfficientDet Pytorch: A Pytorch implementation by rwightman [GitHub repo]
Albumentations library [GitHub repo]
A huge thanks to Alex Shonenkov for his work with the baseline for this implementation. This code was tested using Python 3.8.2, PyTorch 1.4 and Ubuntu 20.04.