Employing Deep Learning for Fish Recognition
MetadataShow full item record
Underwater imagery processing is in high demand, but the unrestricted environment makes it difficult to develop methods for analyzing it. Not only is obtaining a dataset for a single species difficult, but there are reported 33 970 fish species, which makes it hard to cover all bases for fish recognition. This thesis presents 20 deep neural networks trained for fish (salmon) recognition and provides a comparison and discussion of each model and classifier combination with their respective parameter tunings. A version of SSD Inception V2 achieves 84.64% mAP on the unique fish dataset, with 3.75 FPS, and achieves state-of-the-art accuracy for salmon recognition. Additionally, a version of Faster R-CNN ResNet 152 achieves 83.78%, at 3.76 FPS, and a version of Faster R-CNN Inception V2 achieves 83.62%, at 2.57 FPS. The thesis, in addition to proposing a solution for recognizing fish, serves as a guide for selecting a deep neural network, and finetuning its parameters. The unique dataset in this thesis consists of 20 069 labels of salmon obtained from high-resolution videos from fish farms. Some research use an openly available, but very imbalanced dataset with 27 370 labeled images, and using this dataset for recognizing either salmon, cod, sea trout, or mackerel for instance, would result in failure due to the large difference in fish shape. The thesis proposes a solution for discarding video sequences where no fish is present. The proposed solution reduces storage size, reduces time spent creating datasets from the videos, and makes it easier to analyze the data. The thesis also proposes a solution for obtaining statistics of number of fish in rivers over time, which can drastically improve the current methods used by Statistics Norway in terms of accuracy and effectiveness.