# MeLa: A Programming Language for a New Multidisciplinary Oceanographic Float
## 4 Experiments
### Detection of Blue Whales
#### Evaluation Protocol  
We used the data from the DCLDE 2015 challenge that has been recorded with High-frequency Acoustic Recordings Packages deployed off the southern and central coast of California. The data spans all four seasons over the 2009-2013 period (See the full dataset documentation at [[http://cetus.ucsd.edu/dclde/datasetDocumentation.html](http://cetus.ucsd.edu/dclde/datasetDocumentation.html)]([http://cetus.ucsd.edu/dclde/datasetDocumentation.html](http://cetus.ucsd.edu/dclde/datasetDocumentation.html)).) but we used a 50h-long subset that has been annotated during a recent collaborative campaign [27]. The annotators have identified a total of 916 D-calls, plus 101 40 Hz annotated sound events. The high-frequency data have been decimated to 200 Hz bandwidth to feed the MeLa algorithm. Furthermore, we used as performance metrics the _Precision_ (i.e. total number of detected calls) and _Recall_ (i.e. total number of annotated calls), while using the python library _sed_eval_ ([[https://tut-arg.github.io/sed_eval/sound_event.html](https://tut-arg.github.io/sed_eval/sound_event.html)]([https://tut-arg.github.io/sed_eval/sound_event.html](https://tut-arg.github.io/sed_eval/sound_event.html))) [28] for their implementation. As we are interested in soft detection of sound events, i.e. without the estimation of D-calls duration, we only used the onset time in our evaluation metrics with a large time collar of 6s from the reference time onset, within which the estimated onset needs to fit in, so that a detection is counted as being correct. The detection performance of the MeLa algorithm was compared to a custom Convolutional Neural Network (CNN)-based model. CNNs are increasingly used in classification applications that involve acoustics [29; 30; 31] and have recently revealed promising performance for marine mammal detection [32; 33; 34; 35]. We used the ResNet architecture, which is a deep neural network using skip connections or short-cuts to jump over some layers [36]. Only 18 layers were stacked to avoid overfitting, as the training set is not very large. It was trained from scratch to handle the size of the mel-spectrogram [37] images (110 \(\times\) 90 instead of the initial shape of 224 \(\times\) 224). Each image is generated from 5s audio excerpts sequentially taken from the recordings. Our implemented version is based on existing open source codes ([[https://github.com/keras-team/keras-contrib/blob/master/keras_contrib/applications/resnet.py](https://github.com/keras-team/keras-contrib/blob/master/keras_contrib/applications/resnet.py)]([https://github.com/keras-team/keras-contrib/blob/master/keras_contrib/applications/resnet.py](https://github.com/keras-team/keras-contrib/blob/master/keras_contrib/applications/resnet.py))). Results  
The Resnet model has a precision of 82% and recall of 69% for 765 overall detected events. The MeLa algorithm has a precision of 99% and recall of 55% for 513 overall detected events. Even if the recall is lower for the MeLa algorithm, its precision is better, which is an advantage if the algorithm is used in an alarm system to prevent ship collision. The main differences between the algorithms reside in the resources that they use:  
* For the execution time, it takes 12 s for Resnet to process a five minutes long recording whereas it takes only 15 milliseconds for the algorithm written in MeLa; for one year of data, it is 14 d against 26 min. Moreover the CNN has been executed on GPU Geforce GTX1060, whereas the MeLa algorithm has been executed on a laptop. * The network Resnet size is 134.4 MB whereas the programmable memory of the float has only 256 kB of space, the MeLa algorithm size is 410 kB if compiled for a laptop and 139 kB if compiled for the float (and 148 kB if compiled with the seismic detection algorithm). * The GPU used in the evaluation has a power consumption of 116 Watts, which would consume the 4 kWatts.h of energy that is available on the MERMAID float just after a day and a half.