danielritchie commited on
Commit
0636406
·
verified ·
1 Parent(s): 21ac093

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +113 -3
README.md CHANGED
@@ -1,3 +1,113 @@
1
- ---
2
- license: mit
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Model Card for YOLOv8n Rubber Duck Detection
2
+
3
+ This model is a fine-tuned version of YOLOv8n specifically optimized for rubber duck detection. It was developed after inspiration to improve rubber duck detection on a course setup for the [HackerBot Industries HB 0x01 hackathon](https://www.hackerbot.co/) with the specific goal of detecting coordinates for rubber ducks in live video feeds.
4
+
5
+ Actual inference time on an RaspberryPi 5 was around 330ms, though the entire process took much longer. More evaluation is necessary to determine if the time to respond is due to other limitations or if a smaller model is justified.
6
+
7
+ In any case, initial results suggest that this model could enable more accurate navigation within the hackathon course through improved duck location detection capabilities.
8
+
9
+
10
+ ## Model Details
11
+
12
+ ### Model Description
13
+
14
+ - **Developed by:** Daniel Ritchie
15
+ - **Model type:** YOLOv8n (object detection)
16
+ - **Language(s):** Python (Computer Vision)
17
+ - **License:** MIT
18
+ - **Finetuned from model:** YOLOv8n
19
+
20
+ ### Model Sources
21
+ - **Base Model:** [YOLOv8n.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt)
22
+ - **Demo:** [Duck Detection Demo Space](https://huggingface.co/spaces/brainwavecollective/duck-duck-go)
23
+ - **Original Datasets:**
24
+ - [Rubber-Duck-blip-captions](https://huggingface.co/datasets/Norod78/Rubber-Duck-blip-captions) by Norod78
25
+ - [rubber_ducks](https://huggingface.co/datasets/linoyts/rubber_ducks) by linoyts
26
+
27
+
28
+ ## Uses
29
+
30
+ ### Direct Use
31
+ The model is specifically designed for detecting rubber ducks and providing their coordinates. It was developed for a very specific use case within a hackathon context. The teddy bear class was used as a starting point, and was specifically chosen due to its tendency to over-identify objects, which provided a good foundation for detecting rubber ducks. Note that we falesly labelled the ducks as teddy bears and change the class label at inference time. The model does not support any other classes.
32
+
33
+ ### Out-of-Scope Use
34
+ This model should not be used for:
35
+ - General object detection
36
+ - Production environments
37
+ - Safety-critical systems
38
+ - Any application requiring reliable teddy bear detection (as the original class was modified)
39
+
40
+ ## Bias, Risks, and Limitations
41
+
42
+ - The model is intentionally overfit to a specific use case
43
+ - Increased false positive rate for duck detection
44
+ - Modified teddy bear class may no longer reliably detect teddy bears
45
+ - Limited to the specific context and image conditions present in the training data
46
+ - Not suitable for general-purpose object detection
47
+
48
+ ### Recommendations
49
+ Users should be aware that this is a specialized model created for a specific hackathon use case. It should not be used in production environments or for general object detection tasks.
50
+
51
+ ## Evaluation
52
+
53
+ ### Results
54
+ The model demonstrated significant improvement during training, as shown in the comparison below:
55
+
56
+ | Metric | Initial Performance | Final Performance |
57
+ |-----------|-------------------|------------------|
58
+ | Precision | 0.006 | 0.523 |
59
+ | Recall | 0.812 | 0.638 |
60
+ | mAP50 | 0.089 | 0.598 |
61
+ | mAP50-95 | 0.057 | 0.499 |
62
+
63
+ Initially, the model would enthusiastically label almost anything as a duck - finding many actual ducks but with overwhelming false positives (being correct less than 1% of the time when it claimed to find a duck). The improved model is much more discerning: now, when it says it's found a duck, it's right about half the time. This increased reliability, combined with better accuracy in placing bounding boxes around actual ducks, makes the final model much more practical for real-world use. Adjustments to hyperparamters provided a wide range of outcomes suggesting additional room for improvement.
64
+
65
+ ### Model Statistics
66
+ - Layers: 168
67
+ - Parameters: 3,005,843
68
+ - GFLOPs: 8.1
69
+
70
+ ## Training Details
71
+
72
+ ### Training Data
73
+ The training data was derived from two Hugging Face datasets:
74
+ 1. [Norod78/Rubber-Duck-blip-captions](https://huggingface.co/datasets/Norod78/Rubber-Duck-blip-captions)
75
+ 2. [linoyts/rubber_ducks](https://huggingface.co/datasets/linoyts/rubber_ducks)
76
+
77
+ Data preparation process:
78
+ 1. Existing labels were stripped
79
+ 2. Initial automated annotation was performed using YOLOv8x's teddy bear class, but much was left to be desired
80
+ 3. Manual verification and correction of bounding boxes was performed using CVAT (Computer Vision Annotation Tool)
81
+
82
+ ### Training Procedure
83
+
84
+ #### Hardware Specifications
85
+ - **GPU:** NVIDIA A6000
86
+ - **Configuration:** 6 CPU, 48GB RAM/VRAM
87
+
88
+ ## Environmental Impact
89
+
90
+ Hardware Type: RTX A6000
91
+ Hours used: 4 (annotations < 2 minutes, actual training < 10 minutes)
92
+ Cloud Provider: IMWT
93
+ Compute Region: US Central
94
+ Carbon Emitted: 0.5 kg of CO2eq
95
+
96
+ ## Technical Specifications
97
+
98
+ ### Model Architecture and Objective
99
+ - Base Architecture: YOLOv8n
100
+ - Task: Object Detection
101
+ - Specific Focus: Rubber duck detection through modification of teddy bear class
102
+
103
+ ### Compute Infrastructure
104
+
105
+ #### Hardware
106
+ - Single NVIDIA A6000 GPU
107
+ - Used for both:
108
+ - Initial automated annotation
109
+ - Model training
110
+
111
+ ## Model Card Contact
112
+ For more information about this model, please contact the Brain Wave Collective. You may reach [Daniel by email](https://brainwavecollective.ai/~email-daniel?utm_source=hf&utm_campaign=duckcard) or use the [website form](https://brainwavecollective.ai/~form?utm_source=hf&utm_campaign=duckcard).
113
+