| Literature DB >> 31894176 |
John Atanbori1, Andrew P French1,2, Tony P Pridmore1.
Abstract
There is an increase in consumption of agricultural produce as a result of the rapidly growing human population, particularly in developing nations. This has triggered high-quality plant phenotyping research to help with the breeding of high-yielding plants that can adapt to our continuously changing climate. Novel, low-cost, fully automated plant phenotyping systems, capable of infield deployment, are required to help identify quantitative plant phenotypes. The identification of quantitative plant phenotypes is a key challenge which relies heavily on the precise segmentation of plant images. Recently, the plant phenotyping community has started to use very deep convolutional neural networks (CNNs) to help tackle this fundamental problem. However, these very deep CNNs rely on some millions of model parameters and generate very large weight matrices, thus making them difficult to deploy infield on low-cost, resource-limited devices. We explore how to compress existing very deep CNNs for plant image segmentation, thus making them easily deployable infield and on mobile devices. In particular, we focus on applying these models to the pixel-wise segmentation of plants into multiple classes including background, a challenging problem in the plant phenotyping community. We combined two approaches (separable convolutions and SVD) to reduce model parameter numbers and weight matrices of these very deep CNN-based models. Using our combined method (separable convolution and SVD) reduced the weight matrix by up to 95% without affecting pixel-wise accuracy. These methods have been evaluated on two public plant datasets and one non-plant dataset to illustrate generality. We have successfully tested our models on a mobile device.Entities:
Keywords: Lightweight deep convolutional neural networks; Pixel-wise segmentation for plant phenotyping; Separable convolutions; Singular value decomposition
Year: 2019 PMID: 31894176 PMCID: PMC6917635 DOI: 10.1007/s00138-019-01051-7
Source DB: PubMed Journal: Mach Vis Appl ISSN: 0932-8092 Impact factor: 2.012
Fig. 1Flower and leaf images in the first row, their ground truth mask in the second row and the predicted CNN mask in the last row. The plants and flowers classes are predicted with a different colour indicating class. Images sources: The plant phenotyping and Oxford Flower datasets
Fig. 2The Oxford flower dataset
Fig. 3The plant phenotyping dataset
Fig. 4The CamVid dataset
Fig. 5Architecture of our Tiny-FCN. This is a typical VGG-19 architecture with only four blocks. The building blocks are comprised of a 2D convolution (Conv2D), 2D seperable convolution (SeparableConv2D), batch normalisation (BN), a ReLU activation, max-pooling and up-sampling
Fig. 6Architecture of our Tiny-SegNet. This is a typical VGG-19 architecture with only four blocks. The building blocks are comprised of a 2D convolution (Conv2D), 2D seperable convolution (SeparableConv2D), batch normalisation (BN), ReLU and softmax activations, max-pooling and up-sampling
Comparing parameters of some popular models with ours
| Model | Parameters (Millions) |
|---|---|
| Tiny-FCN (Ours) | 0.9 |
| Very-Tiny-FCN (Ours) | 0.9 |
| Tiny-Sub-Pixel (Ours) | 0.9 |
| Very-Tiny-Sub-Pixel (Ours) | 0.9 |
| SqueezeNet [ | 1.3 |
| Tiny-SegNet (Ours) | 2.0 |
| Very-Tiny-SegNet (Ours) | 2.0 |
| MobileNet[ | 4.2 |
| GoogleNet [ | 6.8 |
| Sub-Pixel [ | 7.6 |
| FCN (VGG-16 Basic) [ | 7.6 |
| VGG-16 Compressed [ | 11.3 |
| AlexNet - QCNN [ | 12.6 |
| SegNet (VGG-16 Basic)[ | 17.5 |
| Xception [ | 22.9 |
| Inception V3 [ | 23.2 |
| SVD [ | 47.6 |
The number of parameters is in millions
Fig. 7The training and validation loss versus epochs’ curves for the flower dataset based on the SegNet model
Fig. 8The training and validation loss versus epochs curves for the flower dataset based on the Tiny-Sub-Pixel model
Model parameters and size of weight matrices on disc for all models used in our experiments
| Parameters | Weight matrix | |||
|---|---|---|---|---|
| # | Reduction (%) | Size on disc (MB) | Storage savings (%) | |
| – | – | |||
| Tiny-FCN | 885,528 | 88.42 | 10.2 | 88.36 |
| Very-Tiny-FCN | 885,528 | 88.42 | 3.51 | 95.99 |
| – | – | |||
| Tiny-SegNet | 2,034,499 | 88.47 | 23.4 | 88.42 |
| Very-Tiny-SegNet | 2,034,499 | 88.47 | 7.96 | 96.06 |
| – | – | |||
| Tiny-Sub-Pixel | 881,142 | 88.48 | 10.9 | 87.6 |
| Very-Tiny-Sub-Pixel | 881,142 | 88.48 | 3.6 | 95.9 |
The baseline models have been highlighted in bold
Accuracies for both original and tiny models based on the plant phenotyping dataset
| Precision (%) | Recall (%) | Pixel accuracy (%) | Mean IoU (%) | |
|---|---|---|---|---|
| 98.59 | 98.57 | 98.58 | 95.49 | |
| Tiny-FCN | 98.45 | 98.44 | 98.45 | 95.47 |
| Very-Tiny-FCN | 98.45 | 98.44 | 98.45 | 95.47 |
| SegNet | 98.27 | 98.20 | 98.23 | 94.82 |
| Tiny-SegNet | 98.09 | 98.03 | 98.06 | 94.07 |
| Very-Tiny-SegNet | 98.09 | 98.03 | 98.06 | 94.07 |
| Tiny-Sub-Pixel | 98.73 | 98.56 | 98.65 | 96.18 |
| Very-Tiny-Sub-Pixel | 98.73 | 98.56 | 98.65 | 96.18 |
Plants were segmented into three classes
Accuracies for both original and tiny models based on the Oxford flower dataset
| Precision (%) | Recall (%) | Pixel accuracy (%) | Mean IoU (%) | |
|---|---|---|---|---|
| FCN | 94.98 | 94.02 | 94.38 | 72.73 |
| Tiny-FCN | 94.08 | 93.29 | 93.57 | 72.38 |
| Very-Tiny-FCN | 94.08 | 93.29 | 93.57 | 72.38 |
| Tiny-SegNet | 94.46 | 94.06 | 94.20 | 74.50 |
| Very-Tiny-SegNet | 94.46 | 94.06 | 94.20 | 74.50 |
| Sub-Pixel | 94.21 | 94.04 | 94.04 | 72.18 |
| Tiny-Sub-Pixel | 93.81 | 93.60 | 93.72 | 71.92 |
| Very-Tiny-Sub-Pixel | 93.81 | 93.60 | 93.72 | 71.92 |
The flowers were segmented into 13 classes
Accuracies for both original and tiny models based on the CamVid dataset
| Precision (%) | Recall (%) | Pixel accuracy (%) | Mean IoU (%) | |
|---|---|---|---|---|
| Tiny-FCN | 90.73 | 88.88 | 88.98 | 51.59 |
| Very-Tiny-FCN | 90.73 | 88.88 | 88.98 | 51.59 |
| SegNet | 92.59 | 89.75 | 90.85 | 54.48 |
| Tiny-SegNet | 90.87 | 89.77 | 89.80 | 53.69 |
| Very-Tiny-SegNet | 90.87 | 89.77 | 89.80 | 53.69 |
| Sub-Pixel | 93.51 | 88.72 | 88.85 | 51.89 |
| Tiny-Sub-Pixel | 90.53 | 88.12 | 88.28 | 51.77 |
| Very-Tiny-Sub-Pixel | 90.53 | 88.12 | 88.28 | 51.77 |
The road scenes were segmented into 12 classes (including the background)
Accuracies for both original and tiny models based on the Oxford 17 flower dataset
| Precision (%) | Recall (%) | Pixel accuracy (%) | Mean IoU (%) | |
|---|---|---|---|---|
| FCN | 97.10 | 97.10 | 97.10 | 93.29 |
| Tiny-FCN | 96.80 | 96.80 | 96.80 | 92.64 |
| Very-Tiny-FCN | 96.80 | 96.80 | 96.80 | 92.64 |
| Tiny-SegNet | 97.08 | 97.08 | 97.08 | 93.24 |
| Very-Tiny-SegNet | 97.08 | 97.08 | 97.08 | 93.24 |
| Sub-Pixel | 97.18 | 97.18 | 97.18 | 93.47 |
| Sub-Pixel | 96.92 | 96.92 | 96.92 | 92.87 |
| Tiny-Sub-Pixel | 96.92 | 96.92 | 96.92 | 92.87 |
The flowers were segmented into two classes (flowers and background)
Fig. 9Mobile test results using Google Nexus 5X emulators. From left to right: Flower segmentation into 13 classes, leaf segmentation into 3 classes and flowers segmentation into 2 classes (foreground and background)
Fig. 10Real-time infield test on Samsung Galaxy J1 smart phone. This was performed only for the flowers dataset
Fig. 11Segmenting leaf data collected from the internet on the Samsung Galaxy J1 smart phone
Average processing speed in seconds for segmenting a leaf and a flower into two or 13 classes using the tiny models
| Windows | Nexus 5x | Samsung J1 | |
|---|---|---|---|
| Tiny-FCN | |||
| Flower-2 classes | |||
| Flower-13 classes | |||
| Leaf | |||
| Tiny-SegNet | |||
| Flower-2 classes | |||
| Flower-13 classes | |||
| Leaf | |||
| Tiny-Sub-Pixel | |||
| Flower-2 classes | |||
| Flower-13 classes | |||
| Leaf | |||
These have been tested on three devices (Windows 10 computer, Google Nexus 5x emulator and Samsung J1 mobile). These were computed using 15 test flower and leaf images. The average processing speed shows plus/minus standard deviation
Average Processing speed in seconds for segmenting a leaf and a flower into two or 13 classes using the Baseline models
| Windows | Nexus 5x | Samsung J1 | |
|---|---|---|---|
| FCN | |||
| Flower-2 classes | |||
| Flower-13 classes | |||
| Leaf | |||
| SegNet | |||
| Flower-2 classes | – | ||
| Flower-13 classes | – | ||
| Leaf | – | ||
| Sub-Pixel | |||
| Flower-2 classes | |||
| Flower-13 classes | |||
| Leaf | |||
These have been tested on three devices (Windows 10 computer, Google Nexus 5x emulator and Samsung J1 mobile). These were computed using 15 test flower and leaf images. The average processing speed shows plus/minus standard deviation
Fig. 13Sample test instances from the Oxford flower dataset with visually very good segmentation (two classes)
Fig. 14Multi-class segmentation: Sample test instances from the Oxford flower dataset with some segmentation errors present
Fig. 12Sample test instances from the Plant Phenotyping dataset
Fig. 15Two-class (background and flower) segmentation: Sample test instances from the Oxford flower dataset with some segmentation errors
Fig. 16Multi-class segmentation: Sample test instances from the CamVid dataset with some segmentation errors