Update README.md
Browse files
README.md
CHANGED
|
@@ -22,13 +22,13 @@ My dataset, consisting of Southern Sea Otter enclosure live feeds, will serve as
|
|
| 22 |
|
| 23 |
|
| 24 |
---
|
| 25 |
-
|
| 26 |
|
| 27 |
My dataset consists of 3 live feed videos of Southern Sea Otter enclosures. One video is from the Georgia Aquarium, and two are from the Monterey Bay Aquarium. The dataset consists of 348 raw images, and around 900 after the augmentations were added. Within all 3 videos, Southern Sea Otters are the only class present and there are 3 - 5 in each enclosure.
|
| 28 |
|
| 29 |
Within each enclosure, my 3 defined zones of interest are present. These zones are water, land, and seclusion. The enclosures are divided in this way to produce the most detailed tracking information possible for the model outputs.
|
| 30 |
|
| 31 |
-
|
| 32 |
Video 1:
|
| 33 |
- **Source:** Georgia Aquarium
|
| 34 |
- **Location:** Atlanta, Georgia
|
|
@@ -46,35 +46,35 @@ Videos 2 & 3:
|
|
| 46 |
- **Citation:** Sea Otter Cam. Montereybayaquarium.org. (2025). https://www.montereybayaquarium.org/animals/live-cams/sea-otter-cam
|
| 47 |
|
| 48 |
---
|
| 49 |
-
|
| 50 |
-
|
| 51 |
I chose to use YOLOv11 to create a custom object detection model. The model was trained to detect the presence of Southern Sea Otters in water and on land. I chose an object detection model because it would allow me to add additional features to my model through supplementary code snippets. The features would produce additional visualizations to better interpret movement patterns and behaviors from the dataset. I manipulated the code [found in our textbook](https://oceancv.org/) to better identify and correctly label the otters in lower resolution cam footage, as well as in both land and water.
|
| 52 |
|
| 53 |
-
|
| 54 |
Additionally, I utilized code from Ultralytics to produce an object counting in region video. I defined the 3 regions of interest (land, water, seclusion) through pixel coordinates over the input video, meaning the model was then able to differentiate between each zone and produce unique counts for each. I was able to manipulate the base code to track all 3 regions as once/
|
| 55 |
|
| 56 |
I also utilized Ultralytics’ heatmap code to display a heatmap on the input video, showing which regions of the enclosure were most frequently occupied. I specifically focused the heatmap on the land zone, where the otters were spending most of their resting time. I manipulated the code to focus on the land zone, using pixel locations to create a custom region within the video.
|
| 57 |
|
| 58 |
|
| 59 |
---
|
| 60 |
-
|
| 61 |
-
|
| 62 |
|
| 63 |
-
|
| 64 |
The final confusion matrix shows that my model was very successful at identifying sea otters across the dataset. There are a portion of mislabels where the model mistook a sea otter for background, but this can be expected with the quality of training images and smaller dataset.
|
| 65 |
https://huggingface.co/OceanCV/Southern_Sea_Otter_Tracking/blob/main/confusion_matrix_final.png
|
| 66 |

|
| 67 |
|
| 68 |
-
|
| 69 |
The final F1 curve shows my model’s high precision and recall across the various confidence levels. The curve had a high peak, signifying a harmonic balance between precision and recall.
|
| 70 |
https://huggingface.co/OceanCV/Southern_Sea_Otter_Tracking/blob/main/F1_curve.png
|
| 71 |

|
| 72 |
|
| 73 |
-
|
| 74 |
My final object detection output video was a key metric in assessing the performance of my model. I bounced between looking at the output video, assessing how accurate the bounding boxes and identifications were, and rerunning the model with modified parameters. My final model output was successful at identifying sea otters in both land and water, with minimal misclassifications or missed detections. The final video can be found on my [repository](https://huggingface.co/OceanCV/Southern_Sea_Otter_Tracking/resolve/main/object_detection_final.avi?download=true)
|
| 75 |
|
| 76 |
---
|
| 77 |
-
|
| 78 |
**Example Proposal:** Utilize the Behavioral Tracking Model to track and analyze the movement patterns of Sea Otters between water, land, and secluded zones to assess their interactions with their enclosure.
|
| 79 |
|
| 80 |
**Example Hypothesis:** Southern Sea Otters will congregate in the water zone most frequently and for the most time, and will rarely enter the seclusion zone.
|
|
@@ -84,7 +84,7 @@ My final object detection output video was a key metric in assessing the perform
|
|
| 84 |
**Model Justification:** My model would be a reasonable tool for initial data collection, providing species interaction data across zones, animal frequency, and areas of interest within the enclosure.
|
| 85 |
|
| 86 |
---
|
| 87 |
-
|
| 88 |
Credit for all videos used in the dataset go to the [Monterey Bay Aquarium](https://www.montereybayaquarium.org/) and [Georgia Aquarium](https://www.georgiaaquarium.org/).
|
| 89 |
- **Video 1:** [Link to Youtube video used](https://www.youtube.com/watch?v=bfjxsHrgeQs)
|
| 90 |
- **Video 2 & 3:** [Link to Youtube video used](https://www.youtube.com/watch?v=9JlkEzxk6Qc)
|
|
|
|
| 22 |
|
| 23 |
|
| 24 |
---
|
| 25 |
+
## Dataset Description
|
| 26 |
|
| 27 |
My dataset consists of 3 live feed videos of Southern Sea Otter enclosures. One video is from the Georgia Aquarium, and two are from the Monterey Bay Aquarium. The dataset consists of 348 raw images, and around 900 after the augmentations were added. Within all 3 videos, Southern Sea Otters are the only class present and there are 3 - 5 in each enclosure.
|
| 28 |
|
| 29 |
Within each enclosure, my 3 defined zones of interest are present. These zones are water, land, and seclusion. The enclosures are divided in this way to produce the most detailed tracking information possible for the model outputs.
|
| 30 |
|
| 31 |
+
### Metadata:
|
| 32 |
Video 1:
|
| 33 |
- **Source:** Georgia Aquarium
|
| 34 |
- **Location:** Atlanta, Georgia
|
|
|
|
| 46 |
- **Citation:** Sea Otter Cam. Montereybayaquarium.org. (2025). https://www.montereybayaquarium.org/animals/live-cams/sea-otter-cam
|
| 47 |
|
| 48 |
---
|
| 49 |
+
## Model Selection
|
| 50 |
+
### YOLOv11 Object Detection Model
|
| 51 |
I chose to use YOLOv11 to create a custom object detection model. The model was trained to detect the presence of Southern Sea Otters in water and on land. I chose an object detection model because it would allow me to add additional features to my model through supplementary code snippets. The features would produce additional visualizations to better interpret movement patterns and behaviors from the dataset. I manipulated the code [found in our textbook](https://oceancv.org/) to better identify and correctly label the otters in lower resolution cam footage, as well as in both land and water.
|
| 52 |
|
| 53 |
+
### Additional Features: Ultralytics Objects Counting in Regions & Heatmap
|
| 54 |
Additionally, I utilized code from Ultralytics to produce an object counting in region video. I defined the 3 regions of interest (land, water, seclusion) through pixel coordinates over the input video, meaning the model was then able to differentiate between each zone and produce unique counts for each. I was able to manipulate the base code to track all 3 regions as once/
|
| 55 |
|
| 56 |
I also utilized Ultralytics’ heatmap code to display a heatmap on the input video, showing which regions of the enclosure were most frequently occupied. I specifically focused the heatmap on the land zone, where the otters were spending most of their resting time. I manipulated the code to focus on the land zone, using pixel locations to create a custom region within the video.
|
| 57 |
|
| 58 |
|
| 59 |
---
|
| 60 |
+
## Model Assessment
|
| 61 |
+
### Here are the metrics I used to assess the accuracy and performance of my model during training.
|
| 62 |
|
| 63 |
+
### Confusion Matrix
|
| 64 |
The final confusion matrix shows that my model was very successful at identifying sea otters across the dataset. There are a portion of mislabels where the model mistook a sea otter for background, but this can be expected with the quality of training images and smaller dataset.
|
| 65 |
https://huggingface.co/OceanCV/Southern_Sea_Otter_Tracking/blob/main/confusion_matrix_final.png
|
| 66 |

|
| 67 |
|
| 68 |
+
### F1 Score
|
| 69 |
The final F1 curve shows my model’s high precision and recall across the various confidence levels. The curve had a high peak, signifying a harmonic balance between precision and recall.
|
| 70 |
https://huggingface.co/OceanCV/Southern_Sea_Otter_Tracking/blob/main/F1_curve.png
|
| 71 |

|
| 72 |
|
| 73 |
+
### Object Detection Model Output
|
| 74 |
My final object detection output video was a key metric in assessing the performance of my model. I bounced between looking at the output video, assessing how accurate the bounding boxes and identifications were, and rerunning the model with modified parameters. My final model output was successful at identifying sea otters in both land and water, with minimal misclassifications or missed detections. The final video can be found on my [repository](https://huggingface.co/OceanCV/Southern_Sea_Otter_Tracking/resolve/main/object_detection_final.avi?download=true)
|
| 75 |
|
| 76 |
---
|
| 77 |
+
## Model Use-case
|
| 78 |
**Example Proposal:** Utilize the Behavioral Tracking Model to track and analyze the movement patterns of Sea Otters between water, land, and secluded zones to assess their interactions with their enclosure.
|
| 79 |
|
| 80 |
**Example Hypothesis:** Southern Sea Otters will congregate in the water zone most frequently and for the most time, and will rarely enter the seclusion zone.
|
|
|
|
| 84 |
**Model Justification:** My model would be a reasonable tool for initial data collection, providing species interaction data across zones, animal frequency, and areas of interest within the enclosure.
|
| 85 |
|
| 86 |
---
|
| 87 |
+
## Disclaimer
|
| 88 |
Credit for all videos used in the dataset go to the [Monterey Bay Aquarium](https://www.montereybayaquarium.org/) and [Georgia Aquarium](https://www.georgiaaquarium.org/).
|
| 89 |
- **Video 1:** [Link to Youtube video used](https://www.youtube.com/watch?v=bfjxsHrgeQs)
|
| 90 |
- **Video 2 & 3:** [Link to Youtube video used](https://www.youtube.com/watch?v=9JlkEzxk6Qc)
|