akridge commited on
Commit
f6f4e93
1 Parent(s): f45d425

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +108 -0
README.md ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - en
4
+ base_model:
5
+ - Ultralytics/YOLO11
6
+ tags:
7
+ - yolo
8
+ - yolo11
9
+ - yolo11m
10
+ - urchin
11
+ - sea
12
+ - marine-detection
13
+ pipeline_tag: object-detection
14
+ ---
15
+ # Yolo11m Sea Urchin Detector
16
+
17
+ ## Model Details / Overview
18
+ This model was trained to detect sea urchins using the YOLO11 architecture. Trained on open datasets to identify and locate urchins in various underwater conditions.
19
+
20
+ - **Model Architecture**: YOLO11m
21
+ - **Task**: Object Detection (Urchin Detection)
22
+ - **Footage Type**: Underwater Footage
23
+ - **Classes**: 1 (urchin)
24
+
25
+ ## Test Results
26
+ ![results](./results.jpg)
27
+
28
+ ## Model Weights
29
+ The model's weights can be found [here](./yolo11m_urchin_trained.pt) | Also available in various formats:
30
+
31
+ - **[PyTorch (best.pt)](./train/weights/best.pt)**: Standard format for PyTorch-based applications.
32
+ - **[Latest PyTorch Checkpoint (last.pt)](./train/weights/last.pt)**: The latest checkpoint from training.
33
+ - **[ONNX (best.onnx)](./train/weights/best.onnx)**: ForONNX runtime.
34
+ - **[TorchScript (best.torchscript)](./train/weights/best.torchscript)**
35
+ - **[NCNN](./train/weights/best_ncnn_model/model.ncnn.bin)**: Efficient for mobile platforms and embedded systems.
36
+
37
+ # Intended Use
38
+ - Real-time detections on underwater footage
39
+ - Post-processed video/imagery for detecting sea urchins in underwater environments
40
+
41
+ # Factors
42
+ ### Model Performance
43
+ - Multi-source Dataset: Trained on datasets that include urchin images from various angles.
44
+ - Model Architecture (YOLO11m): Lightweight and optimized for real-time urchin detection in underwater footage.
45
+ - Training Data: The dataset is split into 70% training, 20% validation, and 10% test data.
46
+ - Training Parameters: Configured with 50 epochs, a 0.001 learning rate, and 640x640 image size for convergence.
47
+
48
+ ## Datasets
49
+ The training data was collected, parsed and organized from open sources:
50
+ 1. **[Orange-OpenSource Marine-Detect](https://github.com/Orange-OpenSource/marine-detect)**
51
+ 2. **[Roboflow - Sakana Urchins CJLib](https://universe.roboflow.com/sakana/urchins-cjlib)**
52
+
53
+ - **Roboflow Details**:
54
+ - **Workspace**: sakana
55
+ - **Project**: urchins-cjlib
56
+ - **Version**: 1
57
+ - **License**: CC BY 4.0
58
+ - **URL**: [https://universe.roboflow.com/sakana/urchins-cjlib/dataset/1](https://universe.roboflow.com/sakana/urchins-cjlib/dataset/1)
59
+
60
+ ### Dataset Composition:
61
+ - **Training Images**: 1169
62
+ - **Validation Images**: 334
63
+ - **Test Images**: 168
64
+ - **Train/Val/Test Split Ratio**: 7:2:1
65
+
66
+ ## Metrics
67
+ Below are the key metrics from the model evaluation on the validation set:
68
+
69
+ ## Training Validation Results
70
+ ### Training and Validation Losses
71
+ ![Training and Validation Losses](./train/results.png)
72
+
73
+ ### Confusion Matrix
74
+ ![Confusion Matrix](./train/confusion_matrix.png)
75
+
76
+ ### Precision-Recall Curve
77
+ ![Precision-Recall Curve](./train/PR_curve.png)
78
+
79
+ ### F1 Score Curve
80
+ ![F1 Score Curve](./train/F1_curve.png)
81
+
82
+ ## Training Configuration
83
+ - **Model Weights File**: `yolo11m_urchin_trained.pt`
84
+ - **Number of Epochs**: 100
85
+ - **Learning Rate**: 0.001
86
+ - **Batch Size**: 32
87
+ - **Image Size**: 640x640
88
+
89
+ ## Deployment
90
+ ### How to Use the Model
91
+
92
+ To use the trained model, follow these steps:
93
+
94
+ 1. **Load the Model**:
95
+ ```python
96
+ from ultralytics import YOLO
97
+
98
+ # Load the model
99
+ model = YOLO("yolo11m_urchin_trained.pt")
100
+
101
+ ## Limitations
102
+ The model was trained on a mix of open source images. It may not generalize well to other environments or non-marine scenarios. Additionally, environmental variations, occlusions, or poor lighting may affect performance.
103
+
104
+ ## Additional Notes:
105
+ Dataset Sources:
106
+ - Two datasets were combined to improve model robustness, allowing the model to adapt to varying lighting and water conditions.
107
+ Ethical Considerations:
108
+ - The detection results should be validated before using them for critical applications. The model’s performance in new environments might vary, and it may have biases if certain types of sea urchins were underrepresented in the training datasets.