河川廢棄物偵測 v20260511 — YOLO11n + 彰化 CCTV
Single class debris. Train 4539 / Val 479 / Test 482. 雙 5090 DDP, 100 epochs, AdamW.
v511 變更:
- v510 dataset 為 base,train 加入 78 個彰化地區真實 CCTV task:700 frames / 355 bbox。
- 25 個 task 有 bbox(positive samples),53 個空標 task 進 train 當 hard negative,目的是降真實場域 FP。
- Val/Test 完全與 v510 一致(即 v509 test + ocean),保留可比性。
跨版本對照
| v509 baseline | v510 production | v511 (this) |
| v509 test (iwhr+tudgv) mAP50 | 0.9185 | 0.9213 | 0.9196 |
| v509 test (iwhr+tudgv) mAP50-95 | 0.6937 | 0.6914 | 0.6924 |
| v510 test (+ ocean) mAP50 | — | 0.8862 | 0.8863 |
| v510 test (+ ocean) mAP50-95 | — | 0.6545 | 0.6550 |
v511 test set metrics
| set | map50 | map50-95 | P | R |
| v511 test (=v510 test) |
0.8863 | 0.6550 |
0.8890 | 0.7966 |
| v509 test (iwhr+tudgv only) |
0.9196 | 0.6924 |
0.8995 | 0.8388 |
Final epoch (val) metrics
| metric | value |
|---|
| train/box_loss | 0.8622 |
| train/cls_loss | 0.4899 |
| train/dfl_loss | 0.9211 |
| metrics/precision(B) | 0.9136 |
| metrics/recall(B) | 0.8211 |
| metrics/mAP50(B) | 0.9084 |
| metrics/mAP50-95(B) | 0.6716 |
| val/box_loss | 0.9833 |
| val/cls_loss | 0.5647 |
| val/dfl_loss | 0.9603 |
Best epoch (mAP50-95) val metrics
| metric | value |
|---|
| metrics/precision(B) | 0.8925 |
| metrics/recall(B) | 0.8393 |
| metrics/mAP50(B) | 0.9079 |
| metrics/mAP50-95(B) | 0.6746 |
Train / val curves
Eval curves
PR curve
F1 curve
P curve
R curve
Confusion matrix
Confusion matrix (normalized)
Label distribution
Test set sample inference (iwhr / tudgv / ocean × 2, conf≥0.25)
iwhr_2365.jpg (preds=13)

tudgv_exp8_114.jpg (preds=3)

ocean_tl_ishem_ptm5116_2022-04-19T1400_1.jpg (preds=1)

iwhr_2441.jpg (preds=7)

tudgv_exp55_218.jpg (preds=11)

ocean_1705576500_20240118_111500_PTM5533.jpg (preds=11)

彰化 CCTV sample inference (train, conf≥0.25)
注意:彰化 CCTV 全在 train,這裡只是視覺確認 hard negative 有沒有把 FP 壓下去。
changhua_2566_0900.jpg (preds=0)

changhua_2619_0800.jpg (preds=0)

changhua_2587_1000.jpg (preds=0)

changhua_2598_112500.jpg (preds=1)

changhua_2588_1100.jpg (preds=2)

changhua_2631_0600.jpg (preds=0)

Train args
task: detect
mode: train
model: /home/ubuntu/yolo11n.pt
data: /mnt/ssd/cvat2/datasets/river_debris_v511/data.yaml
epochs: 100
time: null
patience: 30
batch: 64
imgsz: 640
save: true
save_period: 10
cache: false
device: 0,1
workers: 8
project: /home/ubuntu/runs_new/river_debris_v20260511
name: run
exist_ok: true
pretrained: true
optimizer: AdamW
verbose: true
seed: 42
deterministic: true
single_cls: false
rect: false
cos_lr: true
close_mosaic: 10
resume: false
amp: true
fraction: 1.0
profile: false
freeze: null
multi_scale: 0.0
compile: false
overlap_mask: true
mask_ratio: 4
dropout: 0.0
val: true
split: val
save_json: false
conf: null
iou: 0.7
max_det: 300
half: false
dnn: false
plots: true
end2end: null
source: null
vid_stride: 1
stream_buffer: false
visualize: false
augment: false
agnostic_nms: false
classes: null
retina_masks: false
embed: null
show: false
save_frames: false
save_txt: false
save_conf: false
save_crop: false
show_labels: true
show_conf: true
show_boxes: true
line_width: null
format: torchscript
keras: false
optimize: false
int8: false
dynamic: false
simplify: true
opset: null
workspace: null
nms: false
lr0: 0.001
lrf: 0.01
momentum: 0.937
weight_decay: 0.0005
warmup_epochs: 3
warmup_momentum: 0.8
warmup_bias_lr: 0.1
box: 7.5
cls: 0.5
dfl: 1.5
pose: 12.0
kobj: 1.0
rle: 1.0
angle: 1.0
nbs: 64
hsv_h: 0.015
hsv_s: 0.7
hsv_v: 0.4
degrees: 0.0
translate: 0.1
scale: 0.5
shear: 0.0
perspective: 0.0
flipud: 0.0
fliplr: 0.5
bgr: 0.0
mosaic: 1.0
mixup: 0.0
cutmix: 0.0
copy_paste: 0.0
copy_paste_mode: flip
auto_augment: randaugment
erasing: 0.4
cfg: null
tracker: botsort.yaml
save_dir: /home/ubuntu/runs_new/river_debris_v20260511/run