Coral Classification

By Nick Cortale

Here we explore tensorflow (a python package for neural nets) as a way to classify a benthic photomosiac into two categories: Group 1 (coral, algae, etc…a total of 45 species) or Group 2 (sand, cca, etc…). In the future, this analysis will be expanded to multiple classes (species).

To do this, we chunk up a 10,000 x 10,000 pixel photomosaic from FR13 into 40,000 randomly sampled, 64 x 64 images. An example of the raw mosaic, the hand classified mosaic, and 20 64x64 images are shown below. The top row of the 64 x 64 images are Group 1 (0) and the bottom is Group 2 (1).

fr 13

fr 13

The model was trained for 9 hours before the error leveled off. At this point the model had achieved 99% accuracy on the training set. To make sure that the model had not simply memorized all the training images, we tested the model on different locations.

Palmyra - FR 14

The first test was another region from Palmyra, FR 14. The photomosaic, classified mosaic, and 64 x 64 sub images are shown below.

fr 14

fr 14

Even with massive differences in the white balances between the two zones, the model was still able to achieve an accuracy of 93.5%. The testing set was 40,000 64 x 64 subsampled images.

Kiribati - KIR B1

Next we checked out kiribati.

kir b1

kir b1

The model was not able to generalize to this zone. Most likely because it had never seen sand before and this kind of algae. The model achieved an accuracy of only 9.7%. Either we must include Kiribati in the training set or maybe train a different model to classify kiribati. More generally, each island might need its own fine tuned model instead of one model that can classify all regions.

Fanning - FAN B6

Next we checked out fanning island.

fan b6

fan b6

The model was able to achieve 90.3% accuracy on this region. This is encouraging as it was a different island and was able to achieve more than 90% accuracy.

Summary

We trained a convolutional neural network on 64 x 64 sub-sampled regions of FR13 and attempted to classify them as either Group 1 (coral, algae, etc.) or Group 2 (dead coral, sand, etc.). We then took our trained model and attempted to classify other zones. The accuracy is shown in the table below. The accuracy for FR 13 is on out of sample images that the model had never seen before.

Zone Accuracy
KIR B1 9.7%
KIR B5 39.9%
FAN B6 90.3%
FR 4 96.3%
FR 13 98.5%
FR 14 93.5

The results here are very encouraging. To improve the accuracy of Kiribati, we will include training images from the zone, or we will train an entirely separate model. Future experiments will determine which is better.