This thesis presents a highly compact neural network model optimized for FPGAimplementations, targeting real-time cloud detection from RGB satellite images. Our model
uses an encoder and decoder structure without skip connections, and uses piecewise linear
activation functions for low-resource hardware implementations. Detecting Clouds from
images using deep learning has made a lot of progress with image recognition and
computer vision, at the cost of intensive computation requirements. Due to the challenge of
the complexity of state-of-the art neural networks, these networks often cannot be used to
perform real-time processing on edge nodes. Hardware accelerators such as FPGAs can be
helpful, but naively porting neural network models without considering hardware
characteristics can result in inefficient use of hardware resources and high power
consumption. In this thesis, I modify a highly compact neural network for detecting clouds,
C-Unet++, for efficient hardware implementation on low-power FPGAs. The modified model
has a slightly different model structure, is quantized for integer operations, and also uses
piecewise linear activation functions to reduce eventual FPGA resource requirements. The
model is trained using the Cloud-38 dataset of RGB satellite images. The accuracy of 32-bit
floating point is 93.767%. The 16-bit quantized model achieved an accuracy of 89.856%