The terms “deep learning” and “deep neural networks” are based on the principle
of artificial neural network. As one of the most frequently used artificial neural
network structure, the convolutional neural network is effective for semantic segmentation and object recognition in image processing and computer vision tasks. It
has been applied in many kinds of agricultural image processing tasks, such as crop
mapping (Sidike et al. 2019), crop yield estimation (Kuwata and
Shibasaki 2015) plant identification (Lee et al. 2015), and plant disease detection
(Mohanty et al. 2016). An example of using convolutional neural network for remote
sensing image-based agricultural land use classification is shown as Fig. 6.6.
The artificial neural network is suitable for many advanced image processing
tasks such as image classification, image segmentation, and object detection. However, it is time-consuming to manually implement complicated artificial neural
network in agricultural applications. Fortunately, many machine learning software
and libraries, such as Caffe, TensorFlow, PyBrain, Theano, and Nvidia DIGITS, are
available and free to use, which would significantly facilitate the implementation of
artificial neural network for agricultural image processing and analysis. Here are
some examples of machine learning libraries and software.
Caffe: Caffe is an open source deep learning framework developed by Jia et al.
(2014). Many different types of deep learning networks such as CNN, RCNN,
and LSTM are supported. Also, Caffe is optimized for GPU acceleration. By
bundling Nvidia cuDNN library, the training process could be accelerated by
1.38x overall, and testing process could be accelerated by 1.50x (Shelhamer
2014). In 2017, Facebook announced Caffe2, a new lightweight, modular, and
scalable deep learning framework, which not only supports desktop platform but
also works on mobile platforms such as iOS and Android.
TensorFlow: TensorFlow is an open source machine learning library developed by
Google (Abadi et al. 2016) which provides a powerful artificial neural network
function. TensorFlow provides APIs for different programming languages such
as Python, C++, Java, Haskell, Go, and Rust and offers both CPU-only and
GPU-optimized version. Based on its powerful APIs and libraries, many complicated image analysis tasks such as image recognition could be performed using
TensorFlow very easily.
Nvidia DIGITS: Nvidia Deep Learning GPU Training System (DIGITS) is an open
source deep learning implementation for image classification, segmentation, and
object detection tasks (Heinrich, 2016; Barker and Prasanna 2016). By using
Fig. 6.6 The architecture of a typical convolutional neural network
96
C. Zhang and L. Lin
of artificial neural network. As one of the most frequently used artificial neural
network structure, the convolutional neural network is effective for semantic segmentation and object recognition in image processing and computer vision tasks. It
has been applied in many kinds of agricultural image processing tasks, such as crop
mapping (Sidike et al. 2019), crop yield estimation (Kuwata and
Shibasaki 2015) plant identification (Lee et al. 2015), and plant disease detection
(Mohanty et al. 2016). An example of using convolutional neural network for remote
sensing image-based agricultural land use classification is shown as Fig. 6.6.
The artificial neural network is suitable for many advanced image processing
tasks such as image classification, image segmentation, and object detection. However, it is time-consuming to manually implement complicated artificial neural
network in agricultural applications. Fortunately, many machine learning software
and libraries, such as Caffe, TensorFlow, PyBrain, Theano, and Nvidia DIGITS, are
available and free to use, which would significantly facilitate the implementation of
artificial neural network for agricultural image processing and analysis. Here are
some examples of machine learning libraries and software.
Caffe: Caffe is an open source deep learning framework developed by Jia et al.
(2014). Many different types of deep learning networks such as CNN, RCNN,
and LSTM are supported. Also, Caffe is optimized for GPU acceleration. By
bundling Nvidia cuDNN library, the training process could be accelerated by
1.38x overall, and testing process could be accelerated by 1.50x (Shelhamer
2014). In 2017, Facebook announced Caffe2, a new lightweight, modular, and
scalable deep learning framework, which not only supports desktop platform but
also works on mobile platforms such as iOS and Android.
TensorFlow: TensorFlow is an open source machine learning library developed by
Google (Abadi et al. 2016) which provides a powerful artificial neural network
function. TensorFlow provides APIs for different programming languages such
as Python, C++, Java, Haskell, Go, and Rust and offers both CPU-only and
GPU-optimized version. Based on its powerful APIs and libraries, many complicated image analysis tasks such as image recognition could be performed using
TensorFlow very easily.
Nvidia DIGITS: Nvidia Deep Learning GPU Training System (DIGITS) is an open
source deep learning implementation for image classification, segmentation, and
object detection tasks (Heinrich, 2016; Barker and Prasanna 2016). By using
Fig. 6.6 The architecture of a typical convolutional neural network
96
C. Zhang and L. Lin
