File size: 6,051 Bytes
be4ca6a
 
 
 
 
 
f6717f9
be4ca6a
 
 
 
 
7cb6a19
1b6f1bc
5c2b343
208cc9c
a74e8bc
 
208cc9c
 
a74e8bc
 
 
 
 
 
d148ea0
 
a74e8bc
 
 
d148ea0
 
 
 
 
 
be4ca6a
 
 
 
7f6cea3
be4ca6a
 
 
 
 
 
50f0341
 
 
f48da3b
be4ca6a
b0246e8
be4ca6a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8df7e3a
 
 
 
be4ca6a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f6717f9
be4ca6a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143d4a9
be4ca6a
 
 
 
 
 
 
 
143d4a9
 
 
1397f7e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
---
language:
- en
base_model:
- Ultralytics/YOLO11
tags:
- yolo
- yolo11
- yolo11n
- fish
datasets:
- akridge/MOUSS_fish_imagery_dataset_grayscale_small
pipeline_tag: object-detection
library_name: ultralytics
license: agpl-3.0
metrics:
- precision: 0.885
- recall: 0.861
- mAP50: 0.937
- mAP50-95: 0.852
model-index:
- name: yolo11-fish-detector-grayscale
  results:
  - task:
      type: object-detection             
    dataset:
      type: MOUSS_fish_imagery_dataset_grayscale_large         
      name: MOUSS_fish_imagery_dataset_grayscale_large       
    metrics:
      - type: precision       
        value: 0.885 
      - type: recall 
        value: 0.861
      - type: mAP50 
        value: 0.937
      - type: mAP50-95
        value: 0.852
---
# Yolo11n Fish Detector | Grayscale

## Model Details / Overview
This model was trained to detect fish in underwater **Grayscale Imagery** using the YOLO11 architecture. The model was developed using **semi-unsupervised learning** techniques to learn patterns and identify fish without relying on fully labeled datasets.

- **Model Architecture**: YOLO11n
- **Task**: Object Detection (Fish Detection)
- **Footage Type**: Grayscale(Black-and-White) Underwater Footage
- **Classes**: 1 (fish)

## Demo Spaces: 
- https://huggingface.co/spaces/noaa-pifsc-ai/YOLO11_Fish-or-No-Fish-Detector-Demo_grayscale
- https://huggingface.co/spaces/noaa-pifsc-ai/YOLO11-ONNX-Fish-Detector-Grayscale-Gradio-Demo

## Test Results
![GIF description](./yolo11n_ai_test.gif)

## Model Weights
The model's weights can be found [here](./yolo11n_fish_trained.pt)

# Intended Use
- real time detections on Grayscale(Black-and-White) Underwater Footage
- Post-processed video/imagery on Grayscale(Black-and-White) Underwater Footage

# Factors
### Model Performance 
- Unsupervised Learning: Flexible pattern recognition without fully annotated datasets, suited for grayscale imagery.
- Grayscale Imagery: Trained specifically on black-and-white underwater footage, enhancing performance in this environment.
- Model Architecture (YOLO11n): lightweight and optimized for real-time fish detection in underwater footage.
- Training Data: Quality and diversity of the grayscale underwater dataset, split into 80% training and 20% validation.
- Training Parameters: Configured with 50 epochs, a 0.001 learning rate, and 416x416 image size for optimal model convergence.

## Metrics
Below are the key metrics from the model evaluation on the validation set:

- **Precision**: 0.885
- **Recall**: 0.861
- **mAP50**: 0.937
- **mAP50-95**: 0.852

## Training Validation Results
### Training and Validation Losses
![Training and Validation Losses](./train/results.png)

### Confusion Matrix
![Confusion Matrix](./train/confusion_matrix.png)

### Precision-Recall Curve
![Precision-Recall Curve](./train/PR_curve.png)

### F1 Score Curve
![F1 Score Curve](./train/F1_curve.png)

## Training Configuration
- **Model Weights File**: `yolo11n_fish_trained.pt`
- **Number of Epochs**: 50
- **Learning Rate**: 0.001
- **Batch Size**: 16
- **Image Size**: 416x416

## Training and Evaluation Data
- **Dataset**: `fish_dataset.zip` consisting of Grayscale(black-and-white) underwater footage.
- **Training/Validation Split**: The dataset was split into 80% training and 20% validation.
- **Classes**: The model was trained on a single class (fish).
- **Learning Approach**: Unsupervised learning, meaning the model identified patterns in the data without needing detailed annotations for all images.

## Deployment
### How to Use the Model

To use the trained model, follow these steps:

1. **Load the Model**:
   ```python
   from ultralytics import YOLO

   # Load the model
   model = YOLO("yolo11n_fish_trained.pt")
----------
### Limitations
The model was trained on black-and-white underwater footage, and may not generalize well to color images or videos with different lighting conditions.
The unsupervised learning nature of this model may lead to some incorrect detections, particularly in noisy environments where it may confuse other underwater objects for fish.
Images with complex backgrounds, occlusions, or poor resolution may affect the model's performance.

### Additional Notes:
- **Grayscale Imagery**: The model may perform better on grayscale images and might not generalize well to color underwater footage or images with different lighting conditions.
- **Unsupervised Learning**: Since using an unsupervised approach, it's worth noting that this can make the model more flexible but also more prone to errors or misclassifications without annotated data.
- **Ethical Considerations** The unsupervised learning approach could lead to biases in detections, especially in new environments or types of marine life that were not represented in the training dataset. This model should not be used in critical applications without thorough validation to ensure it doesn't miss key detections or produce incorrect results in sensitive scenarios. Consider the potential environmental or societal impact when using the model for marine conservation or research, and ensure that the detections are verified.

#### Disclaimer
This repository is a scientific product and is not official communication of the National Oceanic and Atmospheric Administration, or the United States Department of Commerce. All NOAA project content is provided on an ‘as is’ basis and the user assumes responsibility for its use. Any claims against the Department of Commerce or Department of Commerce bureaus stemming from the use of this project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by DOC or the United States Government.