河川廢棄物偵測 v20260511 — YOLO11n + 彰化 CCTV

Single class debris. Train 4539 / Val 479 / Test 482. 雙 5090 DDP, 100 epochs, AdamW.

v511 變更:

跨版本對照

v509 baselinev510 productionv511 (this)
v509 test (iwhr+tudgv) mAP500.91850.92130.9196
v509 test (iwhr+tudgv) mAP50-950.69370.69140.6924
v510 test (+ ocean) mAP500.88620.8863
v510 test (+ ocean) mAP50-950.65450.6550

v511 test set metrics

setmap50map50-95PR
v511 test (=v510 test) 0.88630.6550 0.88900.7966
v509 test (iwhr+tudgv only) 0.91960.6924 0.89950.8388

Final epoch (val) metrics

metricvalue
train/box_loss0.8622
train/cls_loss0.4899
train/dfl_loss0.9211
metrics/precision(B)0.9136
metrics/recall(B)0.8211
metrics/mAP50(B)0.9084
metrics/mAP50-95(B)0.6716
val/box_loss0.9833
val/cls_loss0.5647
val/dfl_loss0.9603

Best epoch (mAP50-95) val metrics

metricvalue
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