Plant Phenomics / 2020 / Article / Tab 1

Review Article

Convolutional Neural Networks for Image-Based High-Throughput Plant Phenotyping: A Review

Table 1

Summary of major CNN architecture developed for image classification, object detection, and semantic and instance segmentation.

ModelVision taskKey conceptSource code (third-party implementation)

AlexNetImage classificationA five-layer CNN architecturehttps://github.com/TensorFlow/models/blob/master/research/slim/nets/alexnet.py (TensorFlow)
https://github.com/pytorch/vision/blob/master/torchvision/models/alexnet.py (PyTorch)

ZFNetImage classificationFeature visualization for model improvementhttps://github.com/caffe2/models/tree/master/zfnet512 (Caffe2)

VGGNetImage classificationSmall-sized (3 by 3) convolutional filters to increase the depth of CNNs (up to 19 layers)http://www.robots.ox.ac.uk/~vgg/research/very_deep/ (Caffe)

Inception familyImage classificationInception modules for increasing the width of CNNs and therefore the capability of feature representationhttps://github.com/TensorFlow/models/tree/master/research/inception (TensorFlow)
https://github.com/pytorch/vision/blob/master/torchvision/models/inception.py (PyTorch)

ResNet familyImage classificationResidual representation and skip connection scheme to enable the training of very deep CNNs (up to 1000 layers)https://github.com/TensorFlow/models/tree/master/official/resnet (TensorFlow)
https://github.com/pytorch/vision/blob/master/torchvision/models/resnet.py (PyTorch)

DenseNetImage classificationDense block modules to substantially decrease the number of model parameters (therefore computational cost) and strengthen feature propagation (therefore feature learning capability)https://github.com/liuzhuang13/DenseNet (supports multiple DL framework)

NASNetImage classificationReinforcement learning on a small dataset to find optimal convolutional cells that are used to build a CNN architecture for a large datasethttps://github.com/TensorFlow/models/tree/master/research/slim/nets/nasnet (TensorFlow)

RCNN familyObject detectionA two-stage framework to generate regions of interest (ROIs) and then predict the class label and calculate the bounding box coordinates for each ROIhttps://github.com/TensorFlow/models/tree/master/research/object_detection (TensorFlow) for Faster RCNN
https://github.com/facebookresearch/Detectron (Caffe2) for R-FCN, and Fast/Faster RCNN

YOLO familyObject detectionA one-stage framework to regress both class labels and bounding box coordinates for each grid cell on the last feature maphttps://pjreddie.com/darknet/yolo/ (C++)

SSDObject detectionA one-stage framework to regress class labels and bounding box coordinates for anchors in each grid cell on feature maps extracted from different convolution layers (thus different resolutions)https://github.com/weiliu89/caffe/tree/ssd (Caffe)
https://github.com/TensorFlow/models/tree/master/research/object_detection (TensorFlow) for SSD

RetinaNetObject detectionA one-stage framework to use focal loss that is a new loss function to solve the foreground-background class imbalance problemhttps://github.com/facebookresearch/Detectron (Caffe2) for RetinaNet

FCNSemantic segmentationFully convolutional architecture to train and predict classes at the pixel level in an end-to-end manner for semantic segmentationhttps://github.com/shelhamer/fcn.berkeleyvision.org (Caffe)
https://github.com/shekkizh/FCN.TensorFlow (TensorFlow)
https://github.com/wkentaro/pytorch-fcn (PyTorch)

U-NetSemantic segmentationAn encoder-decoder architecture for semantic segmentationhttps://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/ (Caffe)
https://github.com/jakeret/tf_unet (TensorFlow)
https://github.com/milesial/Pytorch-UNet (PyTorch)

DeepLab familySemantic segmentationAtrous convolution operation to simultaneously increase receptive field and reduce the computation complexity to improve the segmentation accuracy; fully connected conditional random field (CRF) as a postprocessing method to improve the segmentation accuracyhttps://bitbucket.org/aquariusjay/deeplab-public-ver2/src/master/ (Caffe)
https://github.com/TensorFlow/models/tree/master/research/deeplab (TensorFlow)
https://github.com/jfzhang95/pytorch-deeplab-xception (PyTorch)

Mask RCNNInstance segmentationMasking head with ROI align operation on top of the Faster RCNN model to significantly improve segmentation accuracyhttps://github.com/facebookresearch/Detectron (Caffe2)
https://github.com/tensorflow/models/tree/master/research/object_detection (TensorFlow) for Mask RCNN

Note: source code provided by original authors.