akridge commited on
Commit
be4ca6a
1 Parent(s): 798301e

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +95 -0
README.md ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - en
4
+ base_model:
5
+ - Ultralytics/YOLO11
6
+ tags:
7
+ - yolo11
8
+ - yolo11n
9
+ - fish
10
+ datasets:
11
+ - akridge/MOUSS_fish_imagery_dataset_grayscale_small
12
+ ---
13
+ # Yolo11n Fish Detector | Grayscale
14
+
15
+ ## Model Details / Overview
16
+ This model was trained to detect fish in underwater **Grayscale Imagery** using the YOLO11 architecture. The model leverages **unsupervised learning** techniques to learn patterns and identify fish without relying on fully labeled datasets.
17
+
18
+ - **Model Architecture**: YOLO11n
19
+ - **Task**: Object Detection (Fish Detection)
20
+ - **Footage Type**: Grayscale(Black-and-White) Underwater Footage
21
+ - **Classes**: 1 (fish)
22
+
23
+ ## Test Results
24
+ ![GIF description](./unsupervised_ai_test.gif)
25
+
26
+ ## Model Weights
27
+ The model's weights can be found [here](./yolo11n_fish_trained.pt)
28
+
29
+ # Intended Use
30
+ - real time detections on Grayscale(Black-and-White) Underwater Footage
31
+ - Post-processed video/imagery on Grayscale(Black-and-White) Underwater Footage
32
+
33
+ # Factors
34
+ ### Model Performance
35
+ - Unsupervised Learning: Flexible pattern recognition without fully annotated datasets, suited for grayscale imagery.
36
+ - Grayscale Imagery: Trained specifically on black-and-white underwater footage, enhancing performance in this environment.
37
+ - Model Architecture (YOLO11n): lightweight and optimized for real-time fish detection in underwater footage.
38
+ - Training Data: Quality and diversity of the grayscale underwater dataset, split into 80% training and 20% validation.
39
+ - Training Parameters: Configured with 50 epochs, a 0.001 learning rate, and 416x416 image size for optimal model convergence.
40
+
41
+ ## Metrics
42
+ Below are the key metrics from the model evaluation on the validation set:
43
+
44
+ - **Precision**: 0.863
45
+ - **Recall**: 0.869
46
+ - **mAP50**: 0.936
47
+ - **mAP50-95**: 0.856
48
+
49
+ ## Training Validation Results
50
+ ### Training and Validation Losses
51
+ ![Training and Validation Losses](./train/results.png)
52
+
53
+ ### Confusion Matrix
54
+ ![Confusion Matrix](./train/confusion_matrix.png)
55
+
56
+ ### Precision-Recall Curve
57
+ ![Precision-Recall Curve](./train/PR_curve.png)
58
+
59
+ ### F1 Score Curve
60
+ ![F1 Score Curve](./train/F1_curve.png)
61
+
62
+ ## Training Configuration
63
+ - **Model Weights File**: `yolo11n_fish_trained.pt`
64
+ - **Number of Epochs**: 50
65
+ - **Learning Rate**: 0.001
66
+ - **Batch Size**: 16
67
+ - **Image Size**: 416x416
68
+ -
69
+ ## Training and Evaluation Data
70
+ - **Dataset**: `fish_dataset.zip` consisting of Grayscale(black-and-white) underwater footage.
71
+ - **Training/Validation Split**: The dataset was split into 80% training and 20% validation.
72
+ - **Classes**: The model was trained on a single class (fish).
73
+ - **Learning Approach**: Unsupervised learning, meaning the model identified patterns in the data without needing detailed annotations for all images.
74
+
75
+ ## Deployment
76
+ ### How to Use the Model
77
+
78
+ To use the trained model, follow these steps:
79
+
80
+ 1. **Load the Model**:
81
+ ```python
82
+ from ultralytics import YOLO
83
+
84
+ # Load the model
85
+ model = YOLO("yolo11n_fish_trained.pt")
86
+
87
+ ### Limitations
88
+ The model was trained on black-and-white underwater footage, and may not generalize well to color images or videos with different lighting conditions.
89
+ 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.
90
+ Images with complex backgrounds, occlusions, or poor resolution may affect the model's performance.
91
+
92
+ ### Additional Notes:
93
+ - **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.
94
+ - **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.
95
+ - **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.