bbopen commited on
Commit
bb6b5f9
·
0 Parent(s):

Initial commit: camouflaged person detector (YOLO) — weights (.pt/.onnx/.torchscript), model card, configs

Browse files
.gitattributes ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ *.torchscript filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ pipeline_tag: object-detection
3
+ library_name: ultralytics
4
+ license: apache-2.0
5
+ tags:
6
+ - yolo
7
+ - ultralytics
8
+ - camouflaged-person
9
+ - onnx
10
+ - pytorch
11
+ inference: true
12
+ ---
13
+
14
+ # Camouflaged Person Detector (YOLO, single class)
15
+
16
+ - Single class: person
17
+ - Phase B fine-tuned model on camo fill/background pairs + negatives
18
+ - Artifacts: `camo-person-yolo.pt` (PyTorch), `camo-person-yolo.onnx` (opset 12, dynamic, simplified), `camo-person-yolo.torchscript`
19
+
20
+ ## Quick usage
21
+
22
+ ### Ultralytics (PyTorch)
23
+ ```python
24
+ from ultralytics import YOLO
25
+ model = YOLO("bbopen/camo-person-yolo") # loads camo-person-yolo.pt by default
26
+ model.predict(source="image.jpg", imgsz=1280, conf=0.25, iou=0.6)
27
+ ```
28
+
29
+ ### ONNX Runtime
30
+ ```python
31
+ import onnxruntime as ort, numpy as np, cv2
32
+ sess = ort.InferenceSession("camo-person-yolo.onnx", providers=["CUDAExecutionProvider","CPUExecutionProvider"])
33
+ im = cv2.imread("image.jpg"); im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)
34
+ im = cv2.resize(im, (1280,1280)).astype(np.float32)/255.0
35
+ im = np.transpose(im,(2,0,1))[None]
36
+ outputs = sess.run(None, {"images": im})
37
+ ```
38
+
39
+ ## Jetson Orin Nano (export to TensorRT)
40
+ - Install runtime: `python3 -m pip install --upgrade ultralytics`
41
+ - Export FP16 engine:
42
+ ```bash
43
+ yolo export model=camo-person-yolo.pt format=engine half=True imgsz=1280 device=0
44
+ ```
45
+ - Inference:
46
+ ```bash
47
+ yolo task=detect mode=predict model=best_fp16_1280.engine source=path/to/images conf=0.25 iou=0.6 imgsz=1280
48
+ ```
49
+
50
+ ## Repro/configs
51
+ - Optional training args: `args.yaml`
52
+ - Optional dataset layout reference: `data.yaml`
53
+
54
+
args.yaml ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ task: detect
2
+ mode: train
3
+ model: /workspace/runs/camo_phaseA2_unfreeze/weights/best.pt
4
+ data: /workspace/training_pairs/data.yaml
5
+ epochs: 60
6
+ time: null
7
+ patience: 100
8
+ batch: 8
9
+ imgsz: 1280
10
+ save: true
11
+ save_period: -1
12
+ cache: false
13
+ device: '0'
14
+ workers: 8
15
+ project: /workspace/runs
16
+ name: camo_phaseB_lr7e4_nomscale
17
+ exist_ok: false
18
+ pretrained: true
19
+ optimizer: auto
20
+ verbose: true
21
+ seed: 0
22
+ deterministic: true
23
+ single_cls: false
24
+ rect: false
25
+ cos_lr: true
26
+ close_mosaic: 10
27
+ resume: false
28
+ amp: true
29
+ fraction: 1.0
30
+ profile: false
31
+ freeze: 0
32
+ multi_scale: false
33
+ overlap_mask: true
34
+ mask_ratio: 4
35
+ dropout: 0.0
36
+ val: true
37
+ split: val
38
+ save_json: false
39
+ conf: null
40
+ iou: 0.7
41
+ max_det: 300
42
+ half: false
43
+ dnn: false
44
+ plots: true
45
+ source: null
46
+ vid_stride: 1
47
+ stream_buffer: false
48
+ visualize: false
49
+ augment: false
50
+ agnostic_nms: false
51
+ classes: null
52
+ retina_masks: false
53
+ embed: null
54
+ show: false
55
+ save_frames: false
56
+ save_txt: false
57
+ save_conf: false
58
+ save_crop: false
59
+ show_labels: true
60
+ show_conf: true
61
+ show_boxes: true
62
+ line_width: null
63
+ format: torchscript
64
+ keras: false
65
+ optimize: false
66
+ int8: false
67
+ dynamic: false
68
+ simplify: true
69
+ opset: null
70
+ workspace: null
71
+ nms: false
72
+ lr0: 0.0007
73
+ lrf: 0.01
74
+ momentum: 0.937
75
+ weight_decay: 0.0005
76
+ warmup_epochs: 3.0
77
+ warmup_momentum: 0.8
78
+ warmup_bias_lr: 0.1
79
+ box: 7.5
80
+ cls: 0.5
81
+ dfl: 1.5
82
+ pose: 12.0
83
+ kobj: 1.0
84
+ nbs: 64
85
+ hsv_h: 0.015
86
+ hsv_s: 0.7
87
+ hsv_v: 0.4
88
+ degrees: 0
89
+ translate: 0.05
90
+ scale: 0.6
91
+ shear: 0.0
92
+ perspective: 0.0
93
+ flipud: 0.0
94
+ fliplr: 0.5
95
+ bgr: 0.0
96
+ mosaic: 0
97
+ mixup: 0
98
+ cutmix: 0.0
99
+ copy_paste: 0
100
+ copy_paste_mode: flip
101
+ auto_augment: randaugment
102
+ erasing: 0.4
103
+ cfg: null
104
+ tracker: botsort.yaml
105
+ save_dir: /workspace/runs/camo_phaseB_lr7e4_nomscale
camo-person-yolo.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fdbf6f13e87286e119337c1f5f895124190062b60ee09fcd7298caf5c486f1d5
3
+ size 11038702
camo-person-yolo.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:330f234fddec964ea7ce8aa3222fb4f4a9153c0012389f986f784e67beeebd95
3
+ size 5678995
camo-person-yolo.torchscript ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3c13ea052a787aa956cc25057616d8cd4961f183f811ef4caf02edf3ecef0b8f
3
+ size 10757108
data.yaml ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ train: /workspace/training_pairs/images/train
2
+ val: /workspace/training_pairs/images/val
3
+ names: [person]