河川廢棄物偵測 v20260512 — YOLO11n + 153 個彰化 CCTV

cvat2 #16 全 162 task 走 task.subset 自動 split。Train 6253 / Val 479 / Test 482。雙 5090 DDP, 100 epochs, AdamW, batch=64, imgsz=640。

v512 變更:

跨版本對照

v509v510v511v512 (this)
v509 test mAP@0.50.91850.92130.91960.9208
v509 test mAP@0.5:0.950.69370.69140.69240.6907
v510 test mAP@0.50.88620.88630.8949
v510 test mAP@0.5:0.950.65450.65500.6603
v512 test (new) mAP@0.50.8808
v512 test (new) mAP@0.5:0.950.6483

v512 test eval

{
  "weights": "/home/ubuntu/runs_new/river_debris_v20260512/run/weights/best.pt",
  "v512_test_set": {
    "map50": 0.8807561046063634,
    "map75": 0.7287177179952702,
    "map50_95": 0.6483069401490815,
    "mp": 0.9010607021312118,
    "mr": 0.7831845666570688
  },
  "v510_test_set_frozen": {
    "map50": 0.8948662575654381,
    "map75": 0.7431153527711123,
    "map50_95": 0.6603113350409379,
    "mp": 0.9109757333775215,
    "mr": 0.7968704723268618
  },
  "v509_test_set_frozen": {
    "map50": 0.9208127491928045,
    "map75": 0.7820229634924891,
    "map50_95": 0.6906899747976956,
    "mp": 0.9160475749660726,
    "mr": 0.8324386056018511
  }
}

Final epoch (val) metrics

metricvalue
train/box_loss0.8851
train/cls_loss0.5030
train/dfl_loss0.9285
metrics/precision(B)0.9134
metrics/recall(B)0.7989
metrics/mAP50(B)0.8909
metrics/mAP50-95(B)0.6523
val/box_loss1.0010
val/cls_loss0.5759
val/dfl_loss0.9600

Train / val curves

Eval curves

PR curve

F1 curve

P curve

R curve

Confusion matrix

Confusion matrix (normalized)

Label distribution

Test sample inference (conf≥0.25)

t2554_000242_2575.jpg (preds=9)
t2554_000137_1859.jpg (preds=3)
t2557_000036_exp50_pic640.jpg (preds=9)
t2554_000270_1840.jpg (preds=1)
t2557_000041_exp20_pic155.jpg (preds=6)
t2554_000179_1011.jpg (preds=6)

彰化 CCTV train sample (FP audit)

彰化 CCTV 全在 train。這裡是視覺確認 hard negative 是否壓 FP。

t2681_073500.jpg (preds=0)
t2691_065500.jpg (preds=18)
t2669_090500.jpg (preds=0)
t2678_062000.jpg (preds=0)
t2678_061000.jpg (preds=0)
t2705_081000.jpg (preds=0)

Train args

task: detect
mode: train
model: /home/ubuntu/yolo11n.pt
data: /mnt/ssd/cvat2/datasets/river_debris_v512/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_v20260512
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_v20260512/run