Algae Detection Using Computer Vision and Deep Learning

11/27/2018 ∙ by Arabinda Samantaray, et al. ∙ Purdue University 0

A disconcerting ramification of water pollution caused by burgeoning populations, rapid industrialization and modernization of agriculture, has been the exponential increase in the incidence of algal growth across the globe. Harmful algal blooms (HABs) have devastated fisheries, contaminated drinking water and killed livestock, resulting in economic losses to the tune of millions of dollars. Therefore, it is important to constantly monitor water bodies and identify any algae build-up so that prompt action against its accumulation can be taken and the harmful consequences can be avoided. In this paper, we propose a computer vision system based on deep learning for algae monitoring. The proposed system is fast, accurate and cheap, and it can be installed on any robotic platforms such as USVs and UAVs for autonomous algae monitoring. The experimental results demonstrate that the proposed system can detect algae in distinct environments regardless of the underlying hardware with high accuracy and in real time.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 5

page 7

page 8

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

Algae are primarily aquatic, uni or multi-cellular organisms that contain chlorophyll [1]. In a healthy aquatic environment, algae play the role of primary producers and are critical in preserving the food chain. Algae also benefit humans by reducing the level of greenhouse gases in the atmosphere by fixing large quantities of in oceans [2], serving as a source of energy in the form of bio fuels [3] and acting as a cheap but highly effective means for waste-water treatment [4].

Under congenial ecological conditions, however, the rate of algae proliferation can increase exponentially, and large algal colonies, sometimes covering an area of many square kilo-meters, can be formed. Such colonies are known as harmful algal blooms (HABs). They have been found to be responsible for releasing paralytic, neurotoxic, diarrhetic, amnesic and azaspiracid toxins causing shellfish poisoning [5] in bodies of water, leading to the deaths of fishes, sea mammals, birds and even humans [6][7].

Fig. 1: Concept of a real-time algae monitoring using a mobile platform. Our proposed computer system can be installed on any robotic platforms such as USVs and UAVs.

In addition to releasing toxins, prolonged periods of algal cover on water surfaces reduces sunlight penetration, thus preventing underwater aquatic flora from conducting photo-synthesis and negatively affecting the aquatic ecosystem. Subsequently, when HABs decay, they consume large quantities of oxygen, causing anoxia and death of marine mammals, fishes and crustaceans among others [5].

The destruction of aquatic environments by HABs has a significant negative impact on quality of life for many local communities that depend on these water bodies for potable water, recreation and a flourishing fishing and tourism industry [8].

Hence, it is extremely important that ponds, lakes and rivers are constantly monitored and prompt action is taken against any abnormal algae buildup. However, current methodologies for algae monitoring require significant manpower, making them economically unfeasible (e.g., it was projected that a budget of $3.5 million was required to monitor the 100 largest lakes in Oklahoma once a month [9]). Alternatively, methods may depend upon the hardware available, which can be in the form of drones [10], robotic fish [11], underwater cameras [12] or satellites [13], which limits their applicability in varying environmental, topological and socio-economic conditions.

The primary contributions of our research include the following:

  • Development of a computer vision algorithm based on deep learning that can detect and locate algae accurately in water bodies, irrespective of the variations in camera parameters, environmental conditions, orientation of the captured image or the presence of significant background clutter in the form of trees, vegetation, buildings etc.

  • Our proposed system can be installed on mobile platforms including unmanned aerial vehicles (UAVs), unmanned surface vehicles (USVs), and airplanes. when they are used for algae monitoring, because the system can detect algae in real time.

  • The proposed computer vision system is cheap as it does not require any specialized hardware.

This paper is organized as follows. In Section II, we describe the current algae monitoring systems and their shortcomings. We introduce the proposed algae detection system using computer vision and deep learning in Section III. In Section IV, we present the evaluation procedure and the results obtained, followed by conclusions and future works in Section V.

Ii Related Work

Eutrophication by agricultural runoff [14], dumping of untreated industrial and household effluents [15] and transportation of foreign algae species in ballast water [16][17], coupled with natural phenomena such as storms, tsunamis, currents [18] and global warming [19], have been cited as the root cause for the rising incidence of HABs in water bodies across the globe. This rising incidence has increased the relevance of effective algae monitoring methodologies in the modern world.

Algae monitoring techniques can be roughly classified into 3 categories:

in-situ sampling, computer vision-based techniques and hyperspectral remote sensing using satellite or aircraft.

Ii-a In-situ Sampling

In-situ sampling is done by performing on-site sampling and transporting those samples to laboratories for further evaluation. Although onsite sampling is done at regular intervals, this methodology is extremely time and labor intensive. Also, the possibility of contaminated samples negatively affecting observations is high [20].

Ii-B Computer Vision based Techniques

The distinctive green or greenish-blue color, characteristic of algae has been used to develop computer vision-based algae monitoring systems. However, such traditional computer vision pipelines do not have high repeatability because they are significantly dependent on the effectiveness of the feature detectors or the segmentation procedure, which can be rendered ineffective by various environmental conditions such as fluctuating illumination, occlusion or the presence of comparable objects in the background [21].

The use of color-based segmentation, species specific features and an underwater camera in study [12] implies that the algae monitoring system cannot be applied on a different hardware platform such as an UAV, USV, or smartphone and is susceptible to occlusion and variations in illumination, which are regular occurrences in an outdoor environment. Similarly, the novel approach of combining the use of a smartphone camera and the inertial sensors present on a robotic fish to detect the shoreline and hence perform image segmentation to detect algal blooms as presented in the paper [11] is optimized for their specific hardware platform (i.e., robotic fish) and is susceptible to variable illumination, occlusion and shadows cast by surrounding vegetation.

Similar limitations can also be observed in the work of [10], which made use of a local binary pattern (LBP) texture detector to detect algae. However, in their work, they have only indicated the success of their methodology by using a UAV platform and have not described their system’s performance in case the images were taken from different orientation or higher elevation. Also,they have not presented any results describing the impact that the presence of comparable objects such as trees, plants and seaweeds in the image’s background would have on their algae monitoring system, considering that their detector is only trained on iconic images of algae, grass and water.

Even in paper [22], the authors only considered images that were taken from the ground and did not describe the speed with which their vision system could detect algae. Hence, it is difficult to ascertain whether this method could be used from mobile platforms such as UAVs, USVs and airplanes, which operate in different environments.

Ii-C Satellite Remote Sensing

The use of satellite-based remote sensing for algae monitoring makes use of the increased diffused reflectance caused by the presence of algal pigment in a body of water [13]. Different categories of algorithms such as reflectance classification algorithms, reflectance band-ratio algorithms and spectral band difference algorithms take the spectral data as input to detect the presence of algae in bodies of water [23].

However, although these algorithms have been successful in monitoring algal blooms in the open ocean, they have been unproductive in coastal water and in bodies of water with significant human activity because the reflectance spectrum becomes distorted in the presence of organic material and suspended particles. Also, issues such as unavailability of real-time data, irregular site revisit times, low resolution of publicly available satellite products such as LANDSAT or MODIS () and exorbitant costs of proprietary systems such as QuickBird [24] make the use of satellite imagery for a general purpose algae monitoring system difficult.

(a) Ground view
(b) Aerial view
Fig. 2: Different images of algae filled pond taken from a ground view and an aerial view.
Fig. 3: The procedure undertaken to develop the proposed computer vision system for algae detection.

Hence, an economically feasible algae monitoring system that is robust to changes in image parameters (e.g., image size, resolution, orientation), can be easily calibrated depending on the environmental conditions and algal species under consideration and is able to work from a wide variety of platforms (e.g., UAVs, USVs, airplane, and even smartphones) would significantly facilitate administrators and civilians in monitoring bodies of water for algal blooms. The development of such a computer vision system is the major contribution of this paper.

Iii Methodology

Current computer vision-based algae monitoring techniques can be classified into three categories. The first comprises methods that use UAVs, satellites or airplanes for algae monitoring. The second class of monitoring techniques makes use of water based robots, USVs and ships. A third approach that has been proposed is to build a community-based algae monitoring system composed of citizen scientists using ground-based cameras such as smartphones [22]. However, all these techniques capture images from different orientations and use computer vision pipelines that exploit the advantages provided by their respective hardware platforms, making it highly improbable that the vision system developed for aquatic platforms could work with images taken from the aerial view or vice-versa because the images would be significantly different from each other as shown in Figure 2.

However, using only one kind of platform severely restricts our ability to monitor bodies of water of different sizes effectively. A ground-based algae monitoring system would be incapable of detecting the growth of algal blooms at the center of large lake, while aerial or aquatic robot platform based methods would restrict algae monitoring capabilities to only communities that possess that particular hardware. Hence, a computer vision system that enables algae monitoring to be executed by different platforms, as depicted in Figure 1, would democratize the process of algae monitoring and make it available to communities all across the globe.

The following subsections describe the steps shown in Figure 3, which reflects the steps we have undertaken to develop our computer vision system.

Iii-a Dataset Development

The first step in the application of machine learning algorithms is the preparation of a dataset. Because there is no publicly available dataset containing images of algae in an outdoor environment, a new benchmark dataset must be developed. Each image in the dataset should be labeled with annotation software to generate files containing the coordinates of the bounding boxes, indicating the location of algae in the image. To ensure that the complexity of the images in the dataset is equivalent to that of the outdoor environment, it is recommended that a significant number of background objects such as trees, grass, plants, roads and buildings be present in the images, rather than just having the region of interest, in this case algae, as the main part of the image.

Subsequently, the images and their corresponding annotations should be randomly assigned to training, validation and testing datasets. Typically, we can assign 70% of images to the training set, 20% of images to the validation set and 10% to the test set.

Iii-B Object Detection Algorithm

Initially, the general lack of algae images on the Internet made it inconceivable to apply deep learning algorithms due to the unavailability of a large amounts of annotated data,akin to conventional datasets such as COCO [25] or PASCAL-VOC [26]. However, a new paradigm of machine learning known as Transfer Learning enabled us to overcame the limitations posed by the size of our dataset.

Iii-B1 Transfer Learning

Transfer learning is a new paradigm in machine learning that enables us to use different domains, distributions, and tasks in training and testing datasets [27]

. This implies that, Convolutional Neural Network (CNN), which has been trained on a large labeled dataset from a different domain can be applied for feature detection in a completely new domain. This is made possible by the fact that the lower layers of the network are capable of detecting general features such as edges, blobs etc., that comprise an image, while higher layers capture domain specific features. This enables a pre-trained network to be learn from a much smaller dataset, to recognize a completely new class of objects, as only the latter layers of the network have to be trained

[28].

Iii-B2 Deep Learning Models

An algae monitoring system, that conceivably could be used from mobile platforms such as USVs, UAVs, airplanes etc., has to detect and locate algae at near real time speeds with high accuracy. As Faster R-CNN, Single Shot Detector (SSD), and Region-based Fully Convolutional Networks (R-FCN) models have shown near real-time object detection on conventional datasets such as COCO and PASCAL-VOC with very high accuracy, they are applicable to our envisaged scenario. The working of these 3 models is described in the following subsections.

  • Faster R-CNN: The Faster R-CNN [29] was developed to remove the limitations of R-CNN [30] and Fast R-CNN [31] models. It makes use of a region proposal network to generate box proposals from an intermediate feature map. These box proposals are then applied on the same feature map to extract proposal regions, on which class predictions and bounding box improvements are made.

  • R-FCN:

    R-FCN network has a shared convolution architecture that makes the use of position sensitive score maps to compromise between translation invariance for image classification and translation variance for object detection

    [32].

  • Single Shot Detector: The single shot multibox detector was recently developed in [33]. It is a single layer feed forward convolution network that makes the use of pre-defined anchor boxes, to train the network and make predictions about the class within the anchor box and the offset by which the anchor needs to be shifted to fit the ground-truth box.

Iii-B3 Learning from Custom Dataset

The procedures followed to enable the chosen deep learning models to detect algae are as follows:

  1. [label=)]

  2. Convert data:

    The input data, i.e., the images and bounding box coordinates, need to be converted into appropriate formats depending upon how the data is being ingested and the deep learning framework being utilized. In case of Tensorflow

    [34], the input data should be converted into tfrecords while for MXNET [35], recordIO file should be used. This ensures faster processing as compared to when the data is read directly from disk.

  3. Data Augmentation: To mitigate the effects of having a small dataset and to replicate external environmental conditions such as variable illumination, fluctuating contrast, and blurring, the dataset should be augmented by applying transformations such as randomly changing the brightness, contrast, hue, color, and saturation.

  4. Label Maps: Machine learning algorithms cannot work with categorical features (e.g., class labels for object of interest in images), and hence categorical features should be related with a numerical value. This is usually done by using a label map. Since our dataset annotations belong to only one class (i.e., algae), in our label map, the algae class is related to the ID 1.

  5. Fine tune hyperparameters in configuration files:

    Pre-trained neural networks are made available with 2 components, which are the weights of the model and the configuration file that determines the meta-architecture of the model, feature extractor present in the model, training parameters and the evaluation metrics. To customize the pre-trained networks for our dataset, a decaying learning rate of 10% every 5000 steps is applied, and we change the final layer to reflect that there is only one class of objects in our dataset.

  6. Begin training and monitor evaluation metrics: After customizing the configuration files, the training of the neural network models can be initialized, which would fine-tune the weights in the latter layers of the neural networks enabling them to detect algae. During the training of the model, after a specified number of steps, an intermediate trained model would be stored and evaluated on the validation dataset. Observing the different metric values such as training loss, mean average precision (mAP) on the validation dataset enables us to infer:

    • When the model has stopped learning, so that training can be stopped

    • Whether subsequent iterations of training should be conducted, by optimizing hyperparameters or using a larger dataset

    1:A file containing pre-trained weights of the model; Label map; Configuration file for the pre-trained model;
    2:A file containing the weights of the newly trained model
    3:repeat
    4:     Prepare an annotated dataset and split it into training, validation and testing dataset
    5:     Convert the dataset annotations into appropriate input format
    6:     Fine tune the hyperparameters of the neural network
    7:     Monitor the training loss and mean average precision on validation dataset
    8:     If mAP graph converges stop training and observe the final validation mAP
    9:until validation mAP satisfactory mAP
    10:Obtain the mAP of the trained network on the test dataset
    11:Deploy the model into production
    12:Set a confidence threshold and visualize the results in the image
    Algorithm 1 Training a neural network to detect algae
  7. Evaluating the trained model on the test dataset and deploying into production: The trained model would be evaluated on the test set to examine its classification and detection accuracy on a completely new set of data, allowing us to infer whether the chosen model is applicable to be used as an algae monitoring system.

  8. Visualizing results generated by neural network: For each frame/image the neural network populates the following arrays:

    • Boxes – this array contains the normalized coordinates for each predicted bounding box.

    • Scores – this array contains the confidence scores for each of the predicted boxes.

    • Classes – this array contains the class label for each of the predicted boxes.

    • Number of detections – This array contains the value regarding total number of detections made per image.

    From these individual arrays, we create a list of all the predicted bounding boxes having a confidence score of higher than 50%. Each list item contains the class label, normalized box coordinates and the confidence scores for each bounding box as shown in Figure 4.

    By applying the following equations for each bounding box, we convert the normalized coordinates into image coordinates,

    (1)

    where  (left,right,top,bottom), is an index of boxes, , and is a width of the image. Subsequently, these image coordinates can then be used to visualize the results of the predicted boxes as shown in Figure 4.

Algorithm 1 summarizes all the steps from (a)–(g), involved in developing deep learning models to detect algae.

(a) Results
(b) Resultant Image
Fig. 4: Results generated by the model and visualizing them on the respective image.

Iv Evaluation and Results

Iv-a Preparation for Evaluation

Since our objective was to develop a computer vision system that can detect and locate algae in water bodies at a fast speed, we focused on the following three different evaluation metrics:

  • Precision and Recall – to evaluate the accuracy of our system in detecting whether a given water body contains algae or not

  • Mean Average Precision – to evaluate how accurately our system can locate an algal bloom in a water body

  • Speed – to evaluate the speed at which each neural network detects algae, so as to validate our approach’s appropriateness to be used in mobile platforms such as USVs, UAVs, airplanes etc.

Iv-A1 Dataset Development

For purpose of this research, we developed a dataset containing images of algae in pools, lakes, ponds etc., taken from ground and aerial vehicles. We also collected some images from aerial vehicles of water bodies not containing algal blooms. The dataset we developed had 4 categories:

  • Training dataset – this dataset was used to train each of our neural networks

  • Validation dataset – this data was used to validate the performance of our training, by evaluating the intermediate neural networks. Based upon the results on the validation set, we decided whether to continue training, fine-tune hyper-parameters or stop training.

  • Test set for classification – to ensure that our trained neural networks were only detecting water bodies containing algae, and not water bodies in general, we developed a testing dataset containing images of water bodies having algae (52 images) and not having algae (48 images).

  • Test set for detection – on this dataset, we had images containing ground truth boxes around algal bloom patches and the mAP of each network was calculated on this dataset

The division of the entire dataset into training, validation, and testing dataset is presented in Table I.

Training Validation Testing (D.)
Ground Images 277 79 41
Aerial Images 150 43 20
TABLE I: Distribution of images across the training, validation, and test sets (D.= Detection)

Iv-A2 Model Training Environment

We utilized Tensorflow Object Detection API to train our chosen models to detect algae. Tensorflow Object Detection API is an open source framework based on the tensorflow library, and it provides a well structured environment for developing, training, testing, and deploying deep learning models.

Iv-A3 Hardware for Evaluation

For evaluating our proposed computer vision system, we use a HP Pavilion laptop, having a Intel(R) Core(TM) i7-6500U CPU and NVIDIA GeFORCE 940MX GPU.

Iv-B Results and Analysis

In this section, we will describe the results obtained by the 3 different neural networks on each evaluation criterion:

Iv-B1 Classification

A reliable algae monitoring system should have high Recall( if algae is present, then the system should detect it) and high Precision(if the presence of algae is predicted, then algae should be present in the water body). To evaluate the competence of our system in detecting algae, we performed a binary classification between two sets of images, one having water bodies containing algae and others having water bodies not containing algae. The trained version of each model was tested on the aforementioned images and their results can be seen from the Table II (See column 2–4). Since there were only two class of images, we can observe that SSD performed very poorly and its ability to detect algae was akin to that of random selection which implies that it is not at all a suitable model for algae detection. However, while Faster R-CNN and R-FCN had nearly similar Precision values, the high Recall value of R-FCN indicates that it is highly robust and nearly always detects an algae bloom if it is actually present.

Accuracy   Precision Recall Valid. mAP Test mAP FPS (GPU) FPS (CPU)
Faster R-CNN 72% 74% 71.15% 38.68% 23.46% 2.83 0.62
R-FCN 82% 78.33% 90.38% 38.14% 21.44% 2.72 0.58
SSD 50% 52.08% 48.07% 23.72% 17.29% 19.37 5.16
TABLE II: Evaluating the accuracy of classification (Accuracy, Recall, and Precision), the accuracy of detection (Validation mAP and Test mAP), and the speed of the detection (FPS (GPU) and FPS (CPU)) of each model (Valid. = Validation)

Iv-B2 Detection

The second objective of our algae monitoring system was to locate the exact position of algal blooms in an image. Accurate algae localization on an image would enable us to generate precise world coordinates of where the algae blooms are present, by applying Camera Calibration. The availability of such fine-grained algae monitoring would be a great asset to the local administrators in their battle against the algae menace. To evaluate the algae detection accuracy of the 3 trained models we used the mean average precision (mAP) metric. The mAP is obtained by integrating the precision recall curve [36],

where p(x) is the precision-recall curve. To determine the precision recall curve, the true positive and false positive values of the prediction can be computed by using the Intersection over Union (IoU) criterion,

where and are the areas included in the predicted and ground truth bounding box, respectively. Then, a threshold for IoU is designated (e.g., 0.5), and if the IoU exceeds the threshold, the detection is marked as correct detection. Multiple detections of the same object are considered as one correct detection, while others are considered as false detections. Post, obtaining the true positive and false positive values, a precision-recall curve is generated, based on which the mAP can be calculated.

The mAP values obtained by evaluating all the 3 trained models on the validation and test dataset are presented in Table II (See column 5 and 6). From the table, we can observe that all the 3 models show reasonably acceptable accuracy in algae bloom localization. In particular, it reveals that both Faster R-CNN and R-FCN have higher detection accuracy than SSD on both the test and validation dataset. Also, we can observe that the mAP on the test data set is lower than the mAP on the validation dataset. We believe, this resulted from the fact that we had chosen the most complex images in our entire dataset with significant amounts of background clutter (i.e., trees, buildings, roads etc.,) to be a part of our test dataset. Nevertheless, despite the complexity inherent to our test dataset we observe from Figure 5 and Figure 6 that algal blooms are well detected regardless of orientation and location from where the image was taken.

Iv-B3 Speed of Detection

Since we envision that our algae monitoring system can be applied to fast moving mobile platforms such as UAV, USV, airplanes etc., it is necessary that our system can perform algae detection and localization in real time. The results regarding the speed with which each model can detect algae in an input image is shown in Table II (See the last two columns). In contrast to the classification and detection accuracy, SSD outperforms the other two models in terms of a detection speed both when using a CPU and GPU. However, the detection speeds for each model, particularly when implemented on a GPU, are satisfactory for being used as algal monitoring systems as algal blooms grow in static or slow moving water bodies.

(a) Algae detection by R-CNN
(b) Algae detection by R-FCN
(c) Algae detection by SSD
Fig. 5: Images that show detection results for each model from a ground view drawn in green.
(a) Algae detection by R-CNN
(b) Algae detection by R-FCN
(c) Algae detection by SSD
Fig. 6: Images that show detection results for each model from an aerial view drawn in green.

Iv-C Discussion

Despite using state-of-art object detection models, we observed that there were a few occasions in which either algae was not detected or the surrounding vegetation was detected as algae, which could be a topic for further study. Some examples are presented in Figure 7. The most likely cause for such incidences is that, the only defining characteristic of algae is its green color which is the most common color found in an outdoor environment. However, a larger dataset enabling the neural network to learn more intricate features would be able to detect algae with more consistency.

(a) Incorrect detection of surrounding vegetation as algae
(b) Inabilty to detect algae from ground and aerial view
Fig. 7: Images that show incorrect or inability to detect algae.

V Conclusion and Future Work

In this work, our objective was to develop a computer vision system that can detect and locate algal blooms in real time, from cameras placed on aerial, aquatic or ground based platforms. In order to attain our objective we compared state-of-art object detectors such as Faster R-CNN, R-FCN, and SSD.Our final conclusion was that an algae monitoring system based on the R-FCN model would be highly robust, accurate and fast to enable effective, real time algae monitoring. We expect that such a system will significantly facilitate researchers, local administrators and civilians in monitoring water bodies and promptly curbing any excessive algal growth.

Future works will be focused on improving the current performances by developing a larger dataset and implementing field tests. In addition, we will use this computer vision system to facilitate the working of a multi-robot ecosystem composed of autonomous UAVs and USVs which would be responsible for monitoring water bodies and removal of HABs as shown in Figure 1.

Vi Acknowledgements

The author would like to acknowledge the help and support provided by the SMART Lab members, notably Wonse Jo and Dr. Ramviyas Parasuraman in the development of this computer vision system.

References

  • [1] “General algae information,” http://www.ecy.wa.gov/programs/wq/plants/algae/lakes/AlgaeInformation.html, accessed: 2017-09-30.
  • [2] “Ocean’s living carbon pumps: When viruses attack giant algal blooms, global carbon cycles are affected,” https://www.sciencedaily.com/releases/2014/10/141021101510.htm, accessed: 2017-10-12.
  • [3] M. Y. Menetrez, “An overview of algae biofuel production and potential environmental impact,” Environmental science & technology, vol. 46, no. 13, pp. 7073–7085, 2012.
  • [4] H. Fallowfield and M. Garrett, “The treatment of wastes by algal culture,” Journal of Applied Microbiology, vol. 59, no. s14, 1985.
  • [5] D. M. Anderson, “Approaches to monitoring, control and management of harmful algal blooms,” Ocean and coastal management, vol. 52, no. 7, pp. 342–347, 2009.
  • [6] S. R. Bhat and S. G. P. Matondkar, “Algal blooms in the seas around india – networking for research and outreach,” Current Science, vol. 87, no. 8, pp. 1079–1083, 2004.
  • [7] T. Okaichi, Sustainable Development in the Seto Inland Sea, Japan.   Terra Scientific Publishing Company, 1997.
  • [8] U. S. E. P. Agency, “A compilation of cost data associated with the impacts and control of nutrient pollution,” Tech. Rep., may 2015.
  • [9] K. D. Hambright, X. Xiao, and A. R. Dzialowski, “Remote sensing of water quality and harmful algae in oklahoma lakes [extension from 2013 (final report)],” Oklahoma Water Resources Research Institute, 2015.
  • [10] S. Jung, D. Kim, K. Kim, and H. Myung, “Image-based algal blooms detection using local binary pattern,” 2016.
  • [11] Y. Wang, R. Tan, G. Xing, J. Wang, X. Tan, and X. Liu, “Energy-efficient aquatic environment monitoring using smartphone-based robots,” ACM Transactions on Sensor Networks, vol. 12, no. 3, 2016.
  • [12] C. S. Tan, P. Y. Lau, S.-M. Phang, and T. J. Low, “A framework for the automatic identification of algae (neomeris vanbosseae ma howe): U 3 s,” in Computer and Information Sciences (ICCOINS), 2014 International Conference on.   IEEE, 2014, pp. 1–6.
  • [13] G. A. Carvalho, P. J. Minnett, L. E. Fleming, V. F. Banzon, and W. Baringer, “Satellite remote sensing of harmful algal blooms: A new multi-algorithm method for detecting the florida red tide (karenia brevis),” Harmful algae, vol. 9, no. 5, pp. 440–448, 2010.
  • [14] L. Bennett, “Algae, Cyanobacteria Blooms, and Climate Change,” Climate Institute, Tech. Rep., April 2017.
  • [15] Y.H.Cheung and M.H.Wong, “Properties of animal manures and sewage sludges and their utilisation for algal growth,” Agricultural Wastes, vol. 3, no. 2, pp. 109–122, 1981.
  • [16] G. Hallegraeff and C. Bolch, “Transport of diatom and dinoflagellate resting spores in ships’ ballast water: implications for plankton biogeography and aquaculture,” Journal of Plankton Research, vol. 14, no. 8, p. 1067–1084, 1992.
  • [17] ——, “Transport of toxic dinoflagellate cysts via ships’ ballast water,” Marine Pollution Bulletin, vol. 22, no. 1, pp. 27–30, 1991.
  • [18] K. G. Sellner, G. J. Doucette, and G. J. Kirkpatrick, “Harmful algal blooms: causes, impacts and detection,” Journal of Industrial Microbiology and Biotechnology, vol. 30, no. 7, pp. 383–406, 2003.
  • [19] L. Peperzak, “Climate change and harmful algal blooms in the north sea,” Acta Oecologica, vol. 24, no. 1, pp. 139–144, May 2003.
  • [20] H. B. Glasgow, J. M. Burkholder, R. E. Reed, A. J. Lewitus, and J. E. Kleinman, “Real-time remote monitoring of water quality: a review of current applications, and advancements in sensor, telemetry, and computing technologies,” Journal of Experimental Marine Biology and Ecology, vol. 300, no. 1-2, pp. 409–448, 2004.
  • [21] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, “Gradient-based learning applied to document recognition,” Proceedings of the IEEE, vol. 86, no. 11, pp. 2278–2324, 1998.
  • [22] A. C. Kumar and S. M. Bhandarkar, “A deep learning paradigm for detection of harmful algal blooms,” in Applications of Computer Vision (WACV), 2017 IEEE Winter Conference on.   IEEE, 2017, pp. 743–751.
  • [23] D. Blondeau-Patissier, J. F. Gower, A. G. Dekker, S. R. Phinn, and V. E. Brando, “A review of ocean color remote sensing methods and statistical techniques for the detection, mapping and analysis of phytoplankton blooms in coastal and open oceans,” Progress in oceanography, vol. 123, pp. 123–144, 2014.
  • [24] K. F. Flynn and S. C. Chapra, “Remote sensing of submerged aquatic vegetation in a shallow non-turbid river using an unmanned aerial vehicle,” Remote Sensing, vol. 6, no. 12, pp. 12 815–12 836, 2014.
  • [25] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollár, and C. L. Zitnick, “Microsoft coco: Common objects in context,” in European conference on computer vision.   Springer, 2014, pp. 740–755.
  • [26] M. Everingham, L. Van Gool, C. K. Williams, J. Winn, and A. Zisserman, “The pascal visual object classes (voc) challenge,” International journal of computer vision, vol. 88, no. 2, pp. 303–338, 2010.
  • [27] S. J. Pan and Q. Yang, “A survey on transfer learning,” IEEE Transactions on knowledge and data engineering, vol. 22, no. 10, pp. 1345–1359, 2010.
  • [28] H.-C. Shin, H. R. Roth, M. Gao, L. Lu, Z. Xu, I. Nogues, J. Yao, D. Mollura, and R. M. Summers, “Deep convolutional neural networks for computer-aided detection: Cnn architectures, dataset characteristics and transfer learning,” IEEE transactions on medical imaging, vol. 35, no. 5, pp. 1285–1298, 2016.
  • [29] S. Ren, K. He, R. Girshick, and J. Sun, “Faster r-cnn: towards real-time object detection with region proposal networks,” IEEE transactions on pattern analysis and machine intelligence, vol. 39, no. 6, pp. 1137–1149, 2017.
  • [30] R. Girshick, J. Donahue, T. Darrell, and J. Malik, “Rich feature hierarchies for accurate object detection and semantic segmentation,” in

    Proceedings of the IEEE conference on computer vision and pattern recognition

    , 2014, pp. 580–587.
  • [31] R. Girshick, “Fast r-cnn,” arXiv preprint arXiv:1504.08083, 2015.
  • [32] J. Dai, Y. Li, K. He, and J. Sun, “R-fcn: Object detection via region-based fully convolutional networks,” in Advances in neural information processing systems, 2016, pp. 379–387.
  • [33] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y. Fu, and A. C. Berg, “Ssd: Single shot multibox detector,” in European conference on computer vision.   Springer, 2016, pp. 21–37.
  • [34] J. Huang, V. Rathod, D. Chow, C. Sun, M. Zhu, M. Tang, A. Korattikara, A. Fathi, I. Fischer, Z. Wojna, Y. Song, S. Guadarrama, J. Uijlings, V. Kovalevskyi, and K. Murphy, “Tensorflow object detection api,” https://github.com/tensorflow/models/blob/master/research/object˙detection.
  • [35] “Large scale image classification,” https://mxnet.apache.org/tutorials/vision/large˙scale˙classification.html, accessed: 2018-02-21.
  • [36] S. Tang and Y. Yuan, “Object detection based on convolutional neural network.”