File size: 1,769 Bytes
8dd44e2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
license: mit
library_name: ultralytics
pipeline_tag: object-detection
base_model: Ultralytics/YOLO11
tags:
  - yolo
  - smoking-detection
  - cigarette-detection
  - object-detection
  - ultralytics
model-index:
  - name: best_smoke_cigarette-detection
    results:
      - task:
          type: object-detection
        metrics:
          - name: mAP50
            type: mAP
            value: 0.7898
          - name: mAP50-95
            type: mAP
            value: 0.4617
          - name: precision
            type: precision
            value: 0.8199
          - name: recall
            type: recall
            value: 0.7650
---

# best_smoke_cigarette-detection

Fine-tuned from the official Ultralytics **YOLO11m** checkpoint (`yolo11m.pt`) using [Ultralytics](https://github.com/ultralytics/ultralytics).

## Classes

- `cigarette`

## Dataset

- Source: [richie-lab/smoking-tasfx](https://universe.roboflow.com/richie-lab/smoking-tasfx) (version 2)
- Images: 12046 train / 318 valid / 122 test
- Check the dataset page above for its license -- not necessarily the same as this repo's `license` field, which reflects the base model's license.

## Training

| Parameter | Value |
|---|---|
| Base checkpoint | `yolo11m.pt` |
| Epochs | 100 |
| Image size | 640 |
| Batch size | 17 |
| Optimizer | AdamW |
| Initial LR (lr0) | 0.001 |
| Patience (early stop) | 20 |

## Results (held-out validation split)

| Metric | Value |
|---|---|
| mAP50 | 0.7898 |
| mAP50-95 | 0.4617 |
| Precision | 0.8199 |
| Recall | 0.7650 |

## Usage

```python
from ultralytics import YOLO

model = YOLO("best.pt")
results = model.predict("image.jpg", conf=0.25)
for r in results:
    for box in r.boxes:
        print(model.names[int(box.cls[0])], float(box.conf[0]))

```