diff --git a/.gitignore b/.gitignore index 657d054..cbbda1f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,7 @@ debug_ocr/ .ruff_cache/ .env .env.* +dataset_yolo/labels/*.cache +dataset_yolo/labels/*_backup_before_remap_*/ +runs/flywms_dataset_check/ +runs/flywms_dataset_check_1epoch/ diff --git a/data/img/classes.txt b/data/img/classes.txt new file mode 100644 index 0000000..8617265 --- /dev/null +++ b/data/img/classes.txt @@ -0,0 +1,2 @@ +gaylord +etichetta diff --git a/dataset_yolo/README.md b/dataset_yolo/README.md new file mode 100644 index 0000000..713c249 --- /dev/null +++ b/dataset_yolo/README.md @@ -0,0 +1,13 @@ +# FlyWMS YOLO dataset + +Classi: + +- 0 gaylord +- 1 etichetta + +Regole annotazione: + +- gaylord: corpo visibile dell unita di carico, senza pallet per ora. +- etichetta: rettangolo bianco dell etichetta. +- annotare tutti gli oggetti visibili e riconoscibili. +- se un oggetto e tagliato dal bordo, annotare la parte visibile. diff --git a/dataset_yolo/classes.txt b/dataset_yolo/classes.txt new file mode 100644 index 0000000..8617265 --- /dev/null +++ b/dataset_yolo/classes.txt @@ -0,0 +1,2 @@ +gaylord +etichetta diff --git a/dataset_yolo/data.yaml b/dataset_yolo/data.yaml new file mode 100644 index 0000000..46cf77b --- /dev/null +++ b/dataset_yolo/data.yaml @@ -0,0 +1,7 @@ +path: C:/devel/flywms/dataset_yolo +train: images/train +val: images/val + +names: + 0: gaylord + 1: etichetta diff --git a/dataset_yolo/export_val/project-val-cleaned-2026-05-15.zip b/dataset_yolo/export_val/project-val-cleaned-2026-05-15.zip new file mode 100644 index 0000000..82c25b1 Binary files /dev/null and b/dataset_yolo/export_val/project-val-cleaned-2026-05-15.zip differ diff --git a/dataset_yolo/export_val/quality_check/remap_report.json b/dataset_yolo/export_val/quality_check/remap_report.json new file mode 100644 index 0000000..4678041 --- /dev/null +++ b/dataset_yolo/export_val/quality_check/remap_report.json @@ -0,0 +1,25 @@ +{ + "zip": "C:\\devel\\flywms\\dataset_yolo\\export_val\\project-val-cleaned-2026-05-15.zip", + "export_classes": [ + "etichetta", + "gaylord" + ], + "remap": { + "0": 1, + "1": 0 + }, + "val_images": 16, + "export_label_files": 15, + "missing_from_export_written_empty": [ + "testhd_f002172_s1539" + ], + "counts": { + "gaylord": 50, + "etichetta": 43 + }, + "empty_final_files": 1, + "issues": [], + "final_issues": [], + "backup": "C:\\devel\\flywms\\dataset_yolo\\labels\\val_backup_before_remap_20260515_151934", + "preview": "C:\\devel\\flywms\\dataset_yolo\\export_val\\quality_check\\val_remapped_preview.jpg" +} \ No newline at end of file diff --git a/dataset_yolo/export_val/quality_check/val_remapped_preview.jpg b/dataset_yolo/export_val/quality_check/val_remapped_preview.jpg new file mode 100644 index 0000000..381d49f Binary files /dev/null and b/dataset_yolo/export_val/quality_check/val_remapped_preview.jpg differ diff --git a/dataset_yolo/exports_train/project-1-at-2026-05-15-14-33-979c090c.zip b/dataset_yolo/exports_train/project-1-at-2026-05-15-14-33-979c090c.zip new file mode 100644 index 0000000..4135414 Binary files /dev/null and b/dataset_yolo/exports_train/project-1-at-2026-05-15-14-33-979c090c.zip differ diff --git a/dataset_yolo/exports_train/quality_check/report.json b/dataset_yolo/exports_train/quality_check/report.json new file mode 100644 index 0000000..30ac7f4 --- /dev/null +++ b/dataset_yolo/exports_train/quality_check/report.json @@ -0,0 +1,493 @@ +{ + "label_files": 61, + "empty_files": [ + "testhd_f000543_s0574" + ], + "box_counts": { + "etichetta": 177, + "gaylord": 133 + }, + "issues": [ + "testhd_f000000_s0582.txt:2 coord out of range (0.8337236533957847, 0.5000000000000001, 0.33255269320843084, 1.0000000000000002)" + ], + "boxes_per_image": [ + [ + "testhd2_f000000_s0559", + 2, + { + "gaylord": 1, + "etichetta": 1 + } + ], + [ + "testhd2_f000522_s0480", + 2, + { + "gaylord": 1, + "etichetta": 1 + } + ], + [ + "testhd2_f001044_s1361", + 5, + { + "gaylord": 2, + "etichetta": 3 + } + ], + [ + "testhd2_f002610_s1316", + 2, + { + "gaylord": 2 + } + ], + [ + "testhd2_f003132_s1532", + 2, + { + "etichetta": 2 + } + ], + [ + "testhd2_f003828_s1406", + 6, + { + "gaylord": 2, + "etichetta": 4 + } + ], + [ + "testhd2_f004350_s1655", + 4, + { + "gaylord": 2, + "etichetta": 2 + } + ], + [ + "testhd2_f005394_s2116", + 6, + { + "gaylord": 2, + "etichetta": 4 + } + ], + [ + "testhd2_f005916_s1944", + 3, + { + "gaylord": 3 + } + ], + [ + "testhd2_f006438_s2196", + 3, + { + "gaylord": 3 + } + ], + [ + "testhd2_f006960_s2179", + 3, + { + "gaylord": 3 + } + ], + [ + "testhd2_f008004_s1307", + 6, + { + "gaylord": 2, + "etichetta": 4 + } + ], + [ + "testhd2_f008526_s1167", + 8, + { + "gaylord": 4, + "etichetta": 4 + } + ], + [ + "testhd2_f009048_s1165", + 5, + { + "gaylord": 2, + "etichetta": 3 + } + ], + [ + "testhd2_f009570_s1661", + 7, + { + "gaylord": 3, + "etichetta": 4 + } + ], + [ + "testhd2_f010788_s2001", + 9, + { + "gaylord": 3, + "etichetta": 6 + } + ], + [ + "testhd2_f011310_s1307", + 4, + { + "gaylord": 2, + "etichetta": 2 + } + ], + [ + "testhd2_f011832_s1219", + 6, + { + "gaylord": 2, + "etichetta": 4 + } + ], + [ + "testhd2_f012354_s1318", + 5, + { + "gaylord": 2, + "etichetta": 3 + } + ], + [ + "testhd2_f013398_s1856", + 11, + { + "gaylord": 3, + "etichetta": 8 + } + ], + [ + "testhd2_f013920_s1830", + 9, + { + "gaylord": 3, + "etichetta": 6 + } + ], + [ + "testhd2_f014442_s2191", + 5, + { + "gaylord": 1, + "etichetta": 4 + } + ], + [ + "testhd2_f014964_s1402", + 8, + { + "gaylord": 2, + "etichetta": 6 + } + ], + [ + "testhd2_f016008_s1424", + 4, + { + "gaylord": 2, + "etichetta": 2 + } + ], + [ + "testhd2_f016530_s1153", + 6, + { + "gaylord": 2, + "etichetta": 4 + } + ], + [ + "testhd2_f017052_s0719", + 4, + { + "gaylord": 2, + "etichetta": 2 + } + ], + [ + "testhd2_f017748_s0986", + 4, + { + "gaylord": 2, + "etichetta": 2 + } + ], + [ + "testhd2_f018792_s1435", + 8, + { + "gaylord": 4, + "etichetta": 4 + } + ], + [ + "testhd2_f019314_s1231", + 6, + { + "gaylord": 3, + "etichetta": 3 + } + ], + [ + "testhd2_f019836_s1049", + 6, + { + "gaylord": 2, + "etichetta": 4 + } + ], + [ + "testhd2_f020358_s1742", + 4, + { + "gaylord": 2, + "etichetta": 2 + } + ], + [ + "testhd_f000000_s0582", + 3, + { + "etichetta": 2, + "gaylord": 1 + } + ], + [ + "testhd_f000543_s0574", + 0, + {} + ], + [ + "testhd_f001086_s0908", + 1, + { + "etichetta": 1 + } + ], + [ + "testhd_f001629_s1334", + 4, + { + "etichetta": 2, + "gaylord": 2 + } + ], + [ + "testhd_f002715_s1348", + 3, + { + "gaylord": 3 + } + ], + [ + "testhd_f003258_s1453", + 2, + { + "gaylord": 2 + } + ], + [ + "testhd_f003982_s1755", + 2, + { + "etichetta": 1, + "gaylord": 1 + } + ], + [ + "testhd_f004525_s1283", + 2, + { + "gaylord": 1, + "etichetta": 1 + } + ], + [ + "testhd_f005611_s2120", + 4, + { + "etichetta": 2, + "gaylord": 2 + } + ], + [ + "testhd_f006154_s2426", + 2, + { + "gaylord": 1, + "etichetta": 1 + } + ], + [ + "testhd_f008326_s1493", + 4, + { + "gaylord": 2, + "etichetta": 2 + } + ], + [ + "testhd_f008869_s1403", + 6, + { + "gaylord": 2, + "etichetta": 4 + } + ], + [ + "testhd_f009412_s1102", + 4, + { + "gaylord": 2, + "etichetta": 2 + } + ], + [ + "testhd_f009955_s1320", + 6, + { + "gaylord": 3, + "etichetta": 3 + } + ], + [ + "testhd_f011222_s1666", + 7, + { + "gaylord": 3, + "etichetta": 4 + } + ], + [ + "testhd_f011765_s1527", + 6, + { + "gaylord": 3, + "etichetta": 3 + } + ], + [ + "testhd_f012308_s1235", + 6, + { + "gaylord": 2, + "etichetta": 4 + } + ], + [ + "testhd_f012851_s1496", + 4, + { + "gaylord": 2, + "etichetta": 2 + } + ], + [ + "testhd_f013937_s1949", + 11, + { + "gaylord": 3, + "etichetta": 8 + } + ], + [ + "testhd_f014480_s2048", + 11, + { + "gaylord": 3, + "etichetta": 8 + } + ], + [ + "testhd_f015023_s1996", + 6, + { + "gaylord": 2, + "etichetta": 4 + } + ], + [ + "testhd_f015566_s1402", + 8, + { + "gaylord": 3, + "etichetta": 5 + } + ], + [ + "testhd_f016652_s1419", + 4, + { + "gaylord": 2, + "etichetta": 2 + } + ], + [ + "testhd_f017195_s1173", + 6, + { + "gaylord": 2, + "etichetta": 4 + } + ], + [ + "testhd_f017738_s0715", + 4, + { + "gaylord": 2, + "etichetta": 2 + } + ], + [ + "testhd_f018462_s1305", + 6, + { + "gaylord": 4, + "etichetta": 2 + } + ], + [ + "testhd_f019548_s1342", + 6, + { + "gaylord": 3, + "etichetta": 3 + } + ], + [ + "testhd_f020091_s0989", + 5, + { + "gaylord": 2, + "etichetta": 3 + } + ], + [ + "testhd_f020634_s1195", + 6, + { + "gaylord": 3, + "etichetta": 3 + } + ], + [ + "testhd_f021177_s2394", + 8, + { + "gaylord": 3, + "etichetta": 5 + } + ] + ], + "preview": "C:\\devel\\flywms\\dataset_yolo\\exports_train\\quality_check\\train_annotation_preview.jpg" +} \ No newline at end of file diff --git a/dataset_yolo/exports_train/quality_check/train_annotation_preview.jpg b/dataset_yolo/exports_train/quality_check/train_annotation_preview.jpg new file mode 100644 index 0000000..47359c8 Binary files /dev/null and b/dataset_yolo/exports_train/quality_check/train_annotation_preview.jpg differ diff --git a/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p1.jpg b/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p1.jpg new file mode 100644 index 0000000..52e2851 Binary files /dev/null and b/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p1.jpg differ diff --git a/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p2.jpg b/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p2.jpg new file mode 100644 index 0000000..fb79504 Binary files /dev/null and b/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p2.jpg differ diff --git a/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p3.jpg b/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p3.jpg new file mode 100644 index 0000000..b209c5b Binary files /dev/null and b/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p3.jpg differ diff --git a/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p4.jpg b/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p4.jpg new file mode 100644 index 0000000..f78147c Binary files /dev/null and b/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p4.jpg differ diff --git a/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p5.jpg b/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p5.jpg new file mode 100644 index 0000000..fc5ba7f Binary files /dev/null and b/dataset_yolo/exports_train/quality_check/train_annotation_preview_export_classes_p5.jpg differ diff --git a/dataset_yolo/exports_train_v2/project-train-cleaned-2026-05-15.zip b/dataset_yolo/exports_train_v2/project-train-cleaned-2026-05-15.zip new file mode 100644 index 0000000..e55dbd9 Binary files /dev/null and b/dataset_yolo/exports_train_v2/project-train-cleaned-2026-05-15.zip differ diff --git a/dataset_yolo/exports_train_v2/quality_check/remap_report.json b/dataset_yolo/exports_train_v2/quality_check/remap_report.json new file mode 100644 index 0000000..9281e49 --- /dev/null +++ b/dataset_yolo/exports_train_v2/quality_check/remap_report.json @@ -0,0 +1,33 @@ +{ + "zip": "C:\\devel\\flywms\\dataset_yolo\\exports_train_v2\\project-train-cleaned-2026-05-15.zip", + "export_classes": [ + "etichetta", + "gaylord" + ], + "target_classes": { + "0": "gaylord", + "1": "etichetta" + }, + "remap": { + "0": 1, + "1": 0 + }, + "train_images": 64, + "export_label_files": 63, + "missing_from_export_written_empty": [ + "testhd2_f001566_s1309" + ], + "counts": { + "gaylord": 175, + "etichetta": 135 + }, + "issues": [], + "backup": "C:\\devel\\flywms\\dataset_yolo\\labels\\train_backup_before_remap_20260515_145941", + "previews": [ + "C:\\devel\\flywms\\dataset_yolo\\exports_train_v2\\quality_check\\train_remapped_preview_p1.jpg", + "C:\\devel\\flywms\\dataset_yolo\\exports_train_v2\\quality_check\\train_remapped_preview_p2.jpg", + "C:\\devel\\flywms\\dataset_yolo\\exports_train_v2\\quality_check\\train_remapped_preview_p3.jpg", + "C:\\devel\\flywms\\dataset_yolo\\exports_train_v2\\quality_check\\train_remapped_preview_p4.jpg", + "C:\\devel\\flywms\\dataset_yolo\\exports_train_v2\\quality_check\\train_remapped_preview_p5.jpg" + ] +} \ No newline at end of file diff --git a/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p1.jpg b/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p1.jpg new file mode 100644 index 0000000..d35c42a Binary files /dev/null and b/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p1.jpg differ diff --git a/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p2.jpg b/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p2.jpg new file mode 100644 index 0000000..dbfe293 Binary files /dev/null and b/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p2.jpg differ diff --git a/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p3.jpg b/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p3.jpg new file mode 100644 index 0000000..830eede Binary files /dev/null and b/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p3.jpg differ diff --git a/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p4.jpg b/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p4.jpg new file mode 100644 index 0000000..58068dd Binary files /dev/null and b/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p4.jpg differ diff --git a/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p5.jpg b/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p5.jpg new file mode 100644 index 0000000..5045e08 Binary files /dev/null and b/dataset_yolo/exports_train_v2/quality_check/train_remapped_preview_p5.jpg differ diff --git a/dataset_yolo/images/train/classes.txt b/dataset_yolo/images/train/classes.txt new file mode 100644 index 0000000..8617265 --- /dev/null +++ b/dataset_yolo/images/train/classes.txt @@ -0,0 +1,2 @@ +gaylord +etichetta diff --git a/dataset_yolo/images/train/testhd2_f000000_s0559.jpg b/dataset_yolo/images/train/testhd2_f000000_s0559.jpg new file mode 100644 index 0000000..ca1909a Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f000000_s0559.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f000522_s0480.jpg b/dataset_yolo/images/train/testhd2_f000522_s0480.jpg new file mode 100644 index 0000000..3dc9050 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f000522_s0480.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f001044_s1361.jpg b/dataset_yolo/images/train/testhd2_f001044_s1361.jpg new file mode 100644 index 0000000..94afa64 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f001044_s1361.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f001566_s1309.jpg b/dataset_yolo/images/train/testhd2_f001566_s1309.jpg new file mode 100644 index 0000000..7bb02e0 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f001566_s1309.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f002610_s1316.jpg b/dataset_yolo/images/train/testhd2_f002610_s1316.jpg new file mode 100644 index 0000000..32e44bd Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f002610_s1316.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f003132_s1532.jpg b/dataset_yolo/images/train/testhd2_f003132_s1532.jpg new file mode 100644 index 0000000..f3d7b23 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f003132_s1532.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f003828_s1406.jpg b/dataset_yolo/images/train/testhd2_f003828_s1406.jpg new file mode 100644 index 0000000..77b3e30 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f003828_s1406.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f004350_s1655.jpg b/dataset_yolo/images/train/testhd2_f004350_s1655.jpg new file mode 100644 index 0000000..2d0ad6e Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f004350_s1655.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f005394_s2116.jpg b/dataset_yolo/images/train/testhd2_f005394_s2116.jpg new file mode 100644 index 0000000..6f89816 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f005394_s2116.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f005916_s1944.jpg b/dataset_yolo/images/train/testhd2_f005916_s1944.jpg new file mode 100644 index 0000000..b58db1c Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f005916_s1944.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f006438_s2196.jpg b/dataset_yolo/images/train/testhd2_f006438_s2196.jpg new file mode 100644 index 0000000..f924db2 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f006438_s2196.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f006960_s2179.jpg b/dataset_yolo/images/train/testhd2_f006960_s2179.jpg new file mode 100644 index 0000000..32738ea Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f006960_s2179.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f008004_s1307.jpg b/dataset_yolo/images/train/testhd2_f008004_s1307.jpg new file mode 100644 index 0000000..ffa0913 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f008004_s1307.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f008526_s1167.jpg b/dataset_yolo/images/train/testhd2_f008526_s1167.jpg new file mode 100644 index 0000000..23f3e49 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f008526_s1167.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f009048_s1165.jpg b/dataset_yolo/images/train/testhd2_f009048_s1165.jpg new file mode 100644 index 0000000..57bba67 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f009048_s1165.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f009570_s1661.jpg b/dataset_yolo/images/train/testhd2_f009570_s1661.jpg new file mode 100644 index 0000000..f6ee352 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f009570_s1661.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f010788_s2001.jpg b/dataset_yolo/images/train/testhd2_f010788_s2001.jpg new file mode 100644 index 0000000..8f58829 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f010788_s2001.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f011310_s1307.jpg b/dataset_yolo/images/train/testhd2_f011310_s1307.jpg new file mode 100644 index 0000000..c4059e0 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f011310_s1307.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f011832_s1219.jpg b/dataset_yolo/images/train/testhd2_f011832_s1219.jpg new file mode 100644 index 0000000..a3f6433 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f011832_s1219.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f012354_s1318.jpg b/dataset_yolo/images/train/testhd2_f012354_s1318.jpg new file mode 100644 index 0000000..cf04886 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f012354_s1318.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f013398_s1856.jpg b/dataset_yolo/images/train/testhd2_f013398_s1856.jpg new file mode 100644 index 0000000..b728085 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f013398_s1856.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f013920_s1830.jpg b/dataset_yolo/images/train/testhd2_f013920_s1830.jpg new file mode 100644 index 0000000..bfd7782 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f013920_s1830.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f014442_s2191.jpg b/dataset_yolo/images/train/testhd2_f014442_s2191.jpg new file mode 100644 index 0000000..2893020 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f014442_s2191.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f014964_s1402.jpg b/dataset_yolo/images/train/testhd2_f014964_s1402.jpg new file mode 100644 index 0000000..d0addc6 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f014964_s1402.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f016008_s1424.jpg b/dataset_yolo/images/train/testhd2_f016008_s1424.jpg new file mode 100644 index 0000000..43e65b7 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f016008_s1424.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f016530_s1153.jpg b/dataset_yolo/images/train/testhd2_f016530_s1153.jpg new file mode 100644 index 0000000..6b9f8a2 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f016530_s1153.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f017052_s0719.jpg b/dataset_yolo/images/train/testhd2_f017052_s0719.jpg new file mode 100644 index 0000000..3804bb1 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f017052_s0719.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f017748_s0986.jpg b/dataset_yolo/images/train/testhd2_f017748_s0986.jpg new file mode 100644 index 0000000..fb16891 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f017748_s0986.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f018792_s1435.jpg b/dataset_yolo/images/train/testhd2_f018792_s1435.jpg new file mode 100644 index 0000000..1999de0 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f018792_s1435.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f019314_s1231.jpg b/dataset_yolo/images/train/testhd2_f019314_s1231.jpg new file mode 100644 index 0000000..061f43b Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f019314_s1231.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f019836_s1049.jpg b/dataset_yolo/images/train/testhd2_f019836_s1049.jpg new file mode 100644 index 0000000..6dc3442 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f019836_s1049.jpg differ diff --git a/dataset_yolo/images/train/testhd2_f020358_s1742.jpg b/dataset_yolo/images/train/testhd2_f020358_s1742.jpg new file mode 100644 index 0000000..4300fd2 Binary files /dev/null and b/dataset_yolo/images/train/testhd2_f020358_s1742.jpg differ diff --git a/dataset_yolo/images/train/testhd_f000000_s0582.jpg b/dataset_yolo/images/train/testhd_f000000_s0582.jpg new file mode 100644 index 0000000..be9995a Binary files /dev/null and b/dataset_yolo/images/train/testhd_f000000_s0582.jpg differ diff --git a/dataset_yolo/images/train/testhd_f000543_s0574.jpg b/dataset_yolo/images/train/testhd_f000543_s0574.jpg new file mode 100644 index 0000000..7d20b61 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f000543_s0574.jpg differ diff --git a/dataset_yolo/images/train/testhd_f001086_s0908.jpg b/dataset_yolo/images/train/testhd_f001086_s0908.jpg new file mode 100644 index 0000000..251601b Binary files /dev/null and b/dataset_yolo/images/train/testhd_f001086_s0908.jpg differ diff --git a/dataset_yolo/images/train/testhd_f001629_s1334.jpg b/dataset_yolo/images/train/testhd_f001629_s1334.jpg new file mode 100644 index 0000000..77ca5f7 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f001629_s1334.jpg differ diff --git a/dataset_yolo/images/train/testhd_f002715_s1348.jpg b/dataset_yolo/images/train/testhd_f002715_s1348.jpg new file mode 100644 index 0000000..fd9e49f Binary files /dev/null and b/dataset_yolo/images/train/testhd_f002715_s1348.jpg differ diff --git a/dataset_yolo/images/train/testhd_f003258_s1453.jpg b/dataset_yolo/images/train/testhd_f003258_s1453.jpg new file mode 100644 index 0000000..98648bd Binary files /dev/null and b/dataset_yolo/images/train/testhd_f003258_s1453.jpg differ diff --git a/dataset_yolo/images/train/testhd_f003982_s1755.jpg b/dataset_yolo/images/train/testhd_f003982_s1755.jpg new file mode 100644 index 0000000..ba4eb6d Binary files /dev/null and b/dataset_yolo/images/train/testhd_f003982_s1755.jpg differ diff --git a/dataset_yolo/images/train/testhd_f004525_s1283.jpg b/dataset_yolo/images/train/testhd_f004525_s1283.jpg new file mode 100644 index 0000000..104f961 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f004525_s1283.jpg differ diff --git a/dataset_yolo/images/train/testhd_f005611_s2120.jpg b/dataset_yolo/images/train/testhd_f005611_s2120.jpg new file mode 100644 index 0000000..cdc7579 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f005611_s2120.jpg differ diff --git a/dataset_yolo/images/train/testhd_f006154_s2426.jpg b/dataset_yolo/images/train/testhd_f006154_s2426.jpg new file mode 100644 index 0000000..049c108 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f006154_s2426.jpg differ diff --git a/dataset_yolo/images/train/testhd_f006697_s2165.jpg b/dataset_yolo/images/train/testhd_f006697_s2165.jpg new file mode 100644 index 0000000..9fadde5 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f006697_s2165.jpg differ diff --git a/dataset_yolo/images/train/testhd_f007240_s2031.jpg b/dataset_yolo/images/train/testhd_f007240_s2031.jpg new file mode 100644 index 0000000..c6ec0d2 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f007240_s2031.jpg differ diff --git a/dataset_yolo/images/train/testhd_f008326_s1493.jpg b/dataset_yolo/images/train/testhd_f008326_s1493.jpg new file mode 100644 index 0000000..35bf52e Binary files /dev/null and b/dataset_yolo/images/train/testhd_f008326_s1493.jpg differ diff --git a/dataset_yolo/images/train/testhd_f008869_s1403.jpg b/dataset_yolo/images/train/testhd_f008869_s1403.jpg new file mode 100644 index 0000000..7e9dfd8 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f008869_s1403.jpg differ diff --git a/dataset_yolo/images/train/testhd_f009412_s1102.jpg b/dataset_yolo/images/train/testhd_f009412_s1102.jpg new file mode 100644 index 0000000..df4af29 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f009412_s1102.jpg differ diff --git a/dataset_yolo/images/train/testhd_f009955_s1320.jpg b/dataset_yolo/images/train/testhd_f009955_s1320.jpg new file mode 100644 index 0000000..876c879 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f009955_s1320.jpg differ diff --git a/dataset_yolo/images/train/testhd_f011222_s1666.jpg b/dataset_yolo/images/train/testhd_f011222_s1666.jpg new file mode 100644 index 0000000..636591f Binary files /dev/null and b/dataset_yolo/images/train/testhd_f011222_s1666.jpg differ diff --git a/dataset_yolo/images/train/testhd_f011765_s1527.jpg b/dataset_yolo/images/train/testhd_f011765_s1527.jpg new file mode 100644 index 0000000..c6fc33c Binary files /dev/null and b/dataset_yolo/images/train/testhd_f011765_s1527.jpg differ diff --git a/dataset_yolo/images/train/testhd_f012308_s1235.jpg b/dataset_yolo/images/train/testhd_f012308_s1235.jpg new file mode 100644 index 0000000..40fc429 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f012308_s1235.jpg differ diff --git a/dataset_yolo/images/train/testhd_f012851_s1496.jpg b/dataset_yolo/images/train/testhd_f012851_s1496.jpg new file mode 100644 index 0000000..1cb5a11 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f012851_s1496.jpg differ diff --git a/dataset_yolo/images/train/testhd_f013937_s1949.jpg b/dataset_yolo/images/train/testhd_f013937_s1949.jpg new file mode 100644 index 0000000..4813750 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f013937_s1949.jpg differ diff --git a/dataset_yolo/images/train/testhd_f014480_s2048.jpg b/dataset_yolo/images/train/testhd_f014480_s2048.jpg new file mode 100644 index 0000000..b3e2380 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f014480_s2048.jpg differ diff --git a/dataset_yolo/images/train/testhd_f015023_s1996.jpg b/dataset_yolo/images/train/testhd_f015023_s1996.jpg new file mode 100644 index 0000000..f301b36 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f015023_s1996.jpg differ diff --git a/dataset_yolo/images/train/testhd_f015566_s1402.jpg b/dataset_yolo/images/train/testhd_f015566_s1402.jpg new file mode 100644 index 0000000..e90de9c Binary files /dev/null and b/dataset_yolo/images/train/testhd_f015566_s1402.jpg differ diff --git a/dataset_yolo/images/train/testhd_f016652_s1419.jpg b/dataset_yolo/images/train/testhd_f016652_s1419.jpg new file mode 100644 index 0000000..5985cbf Binary files /dev/null and b/dataset_yolo/images/train/testhd_f016652_s1419.jpg differ diff --git a/dataset_yolo/images/train/testhd_f017195_s1173.jpg b/dataset_yolo/images/train/testhd_f017195_s1173.jpg new file mode 100644 index 0000000..e25e3e6 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f017195_s1173.jpg differ diff --git a/dataset_yolo/images/train/testhd_f017738_s0715.jpg b/dataset_yolo/images/train/testhd_f017738_s0715.jpg new file mode 100644 index 0000000..4ea65a1 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f017738_s0715.jpg differ diff --git a/dataset_yolo/images/train/testhd_f018462_s1305.jpg b/dataset_yolo/images/train/testhd_f018462_s1305.jpg new file mode 100644 index 0000000..757087c Binary files /dev/null and b/dataset_yolo/images/train/testhd_f018462_s1305.jpg differ diff --git a/dataset_yolo/images/train/testhd_f019548_s1342.jpg b/dataset_yolo/images/train/testhd_f019548_s1342.jpg new file mode 100644 index 0000000..09c1b08 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f019548_s1342.jpg differ diff --git a/dataset_yolo/images/train/testhd_f020091_s0989.jpg b/dataset_yolo/images/train/testhd_f020091_s0989.jpg new file mode 100644 index 0000000..792c361 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f020091_s0989.jpg differ diff --git a/dataset_yolo/images/train/testhd_f020634_s1195.jpg b/dataset_yolo/images/train/testhd_f020634_s1195.jpg new file mode 100644 index 0000000..9ffb033 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f020634_s1195.jpg differ diff --git a/dataset_yolo/images/train/testhd_f021177_s2394.jpg b/dataset_yolo/images/train/testhd_f021177_s2394.jpg new file mode 100644 index 0000000..f423039 Binary files /dev/null and b/dataset_yolo/images/train/testhd_f021177_s2394.jpg differ diff --git a/dataset_yolo/images/val/classes.txt b/dataset_yolo/images/val/classes.txt new file mode 100644 index 0000000..8617265 --- /dev/null +++ b/dataset_yolo/images/val/classes.txt @@ -0,0 +1,2 @@ +gaylord +etichetta diff --git a/dataset_yolo/images/val/testhd2_f002088_s1267.jpg b/dataset_yolo/images/val/testhd2_f002088_s1267.jpg new file mode 100644 index 0000000..adef33a Binary files /dev/null and b/dataset_yolo/images/val/testhd2_f002088_s1267.jpg differ diff --git a/dataset_yolo/images/val/testhd2_f004872_s1600.jpg b/dataset_yolo/images/val/testhd2_f004872_s1600.jpg new file mode 100644 index 0000000..f177dcc Binary files /dev/null and b/dataset_yolo/images/val/testhd2_f004872_s1600.jpg differ diff --git a/dataset_yolo/images/val/testhd2_f007482_s1754.jpg b/dataset_yolo/images/val/testhd2_f007482_s1754.jpg new file mode 100644 index 0000000..3ae8b2d Binary files /dev/null and b/dataset_yolo/images/val/testhd2_f007482_s1754.jpg differ diff --git a/dataset_yolo/images/val/testhd2_f010092_s1842.jpg b/dataset_yolo/images/val/testhd2_f010092_s1842.jpg new file mode 100644 index 0000000..590f0ba Binary files /dev/null and b/dataset_yolo/images/val/testhd2_f010092_s1842.jpg differ diff --git a/dataset_yolo/images/val/testhd2_f012876_s1907.jpg b/dataset_yolo/images/val/testhd2_f012876_s1907.jpg new file mode 100644 index 0000000..d52c945 Binary files /dev/null and b/dataset_yolo/images/val/testhd2_f012876_s1907.jpg differ diff --git a/dataset_yolo/images/val/testhd2_f015486_s1565.jpg b/dataset_yolo/images/val/testhd2_f015486_s1565.jpg new file mode 100644 index 0000000..96d9076 Binary files /dev/null and b/dataset_yolo/images/val/testhd2_f015486_s1565.jpg differ diff --git a/dataset_yolo/images/val/testhd2_f018270_s1249.jpg b/dataset_yolo/images/val/testhd2_f018270_s1249.jpg new file mode 100644 index 0000000..2f7d98b Binary files /dev/null and b/dataset_yolo/images/val/testhd2_f018270_s1249.jpg differ diff --git a/dataset_yolo/images/val/testhd2_f020880_s1677.jpg b/dataset_yolo/images/val/testhd2_f020880_s1677.jpg new file mode 100644 index 0000000..f06e3b2 Binary files /dev/null and b/dataset_yolo/images/val/testhd2_f020880_s1677.jpg differ diff --git a/dataset_yolo/images/val/testhd_f002172_s1539.jpg b/dataset_yolo/images/val/testhd_f002172_s1539.jpg new file mode 100644 index 0000000..664304d Binary files /dev/null and b/dataset_yolo/images/val/testhd_f002172_s1539.jpg differ diff --git a/dataset_yolo/images/val/testhd_f005068_s1737.jpg b/dataset_yolo/images/val/testhd_f005068_s1737.jpg new file mode 100644 index 0000000..e48b19b Binary files /dev/null and b/dataset_yolo/images/val/testhd_f005068_s1737.jpg differ diff --git a/dataset_yolo/images/val/testhd_f007783_s2254.jpg b/dataset_yolo/images/val/testhd_f007783_s2254.jpg new file mode 100644 index 0000000..fdd63d2 Binary files /dev/null and b/dataset_yolo/images/val/testhd_f007783_s2254.jpg differ diff --git a/dataset_yolo/images/val/testhd_f010498_s1717.jpg b/dataset_yolo/images/val/testhd_f010498_s1717.jpg new file mode 100644 index 0000000..65e1ae9 Binary files /dev/null and b/dataset_yolo/images/val/testhd_f010498_s1717.jpg differ diff --git a/dataset_yolo/images/val/testhd_f013394_s1910.jpg b/dataset_yolo/images/val/testhd_f013394_s1910.jpg new file mode 100644 index 0000000..062cd8c Binary files /dev/null and b/dataset_yolo/images/val/testhd_f013394_s1910.jpg differ diff --git a/dataset_yolo/images/val/testhd_f016109_s1541.jpg b/dataset_yolo/images/val/testhd_f016109_s1541.jpg new file mode 100644 index 0000000..9212ab9 Binary files /dev/null and b/dataset_yolo/images/val/testhd_f016109_s1541.jpg differ diff --git a/dataset_yolo/images/val/testhd_f019005_s1379.jpg b/dataset_yolo/images/val/testhd_f019005_s1379.jpg new file mode 100644 index 0000000..04433ec Binary files /dev/null and b/dataset_yolo/images/val/testhd_f019005_s1379.jpg differ diff --git a/dataset_yolo/images/val/testhd_f021720_s1544.jpg b/dataset_yolo/images/val/testhd_f021720_s1544.jpg new file mode 100644 index 0000000..0d68c71 Binary files /dev/null and b/dataset_yolo/images/val/testhd_f021720_s1544.jpg differ diff --git a/dataset_yolo/labels/train/testhd2_f000000_s0559.txt b/dataset_yolo/labels/train/testhd2_f000000_s0559.txt new file mode 100644 index 0000000..8cfc328 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f000000_s0559.txt @@ -0,0 +1,2 @@ +1 0.895004 0.092289 0.133489 0.170700 +0 0.767369 0.457976 0.440281 0.913175 diff --git a/dataset_yolo/labels/train/testhd2_f000522_s0480.txt b/dataset_yolo/labels/train/testhd2_f000522_s0480.txt new file mode 100644 index 0000000..601e67f --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f000522_s0480.txt @@ -0,0 +1,2 @@ +1 0.919594 0.151271 0.112412 0.152659 +0 0.811866 0.436465 0.376269 0.867378 diff --git a/dataset_yolo/labels/train/testhd2_f001044_s1361.txt b/dataset_yolo/labels/train/testhd2_f001044_s1361.txt new file mode 100644 index 0000000..f482e1a --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f001044_s1361.txt @@ -0,0 +1,5 @@ +1 0.473068 0.192211 0.104606 0.156822 +1 0.853630 0.201232 0.114754 0.149883 +0 0.363778 0.449649 0.360656 0.788273 +0 0.757221 0.464915 0.359094 0.771619 +0 0.973849 0.468384 0.052303 0.784110 diff --git a/dataset_yolo/labels/train/testhd2_f001566_s1309.txt b/dataset_yolo/labels/train/testhd2_f001566_s1309.txt new file mode 100644 index 0000000..e69de29 diff --git a/dataset_yolo/labels/train/testhd2_f002610_s1316.txt b/dataset_yolo/labels/train/testhd2_f002610_s1316.txt new file mode 100644 index 0000000..d74d604 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f002610_s1316.txt @@ -0,0 +1,2 @@ +1 0.873536 0.024980 0.115535 0.049961 +1 0.187354 0.023593 0.099922 0.047185 diff --git a/dataset_yolo/labels/train/testhd2_f003132_s1532.txt b/dataset_yolo/labels/train/testhd2_f003132_s1532.txt new file mode 100644 index 0000000..1db4d5e --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f003132_s1532.txt @@ -0,0 +1,2 @@ +0 0.968384 0.487119 0.063232 0.721658 +0 0.967603 0.023593 0.064793 0.044410 diff --git a/dataset_yolo/labels/train/testhd2_f003828_s1406.txt b/dataset_yolo/labels/train/testhd2_f003828_s1406.txt new file mode 100644 index 0000000..fdedb70 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f003828_s1406.txt @@ -0,0 +1,6 @@ +1 0.473849 0.329604 0.098361 0.120739 +1 0.069867 0.250499 0.096019 0.120739 +0 0.393052 0.453812 0.302108 0.668922 +0 0.392272 0.027756 0.297424 0.055512 +0 0.068306 0.006939 0.136612 0.013878 +0 0.063622 0.440628 0.127244 0.695290 diff --git a/dataset_yolo/labels/train/testhd2_f004350_s1655.txt b/dataset_yolo/labels/train/testhd2_f004350_s1655.txt new file mode 100644 index 0000000..78e1ac0 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f004350_s1655.txt @@ -0,0 +1,4 @@ +1 0.287666 0.174169 0.088212 0.112412 +1 0.587822 0.178333 0.082748 0.115188 +0 0.029274 0.183884 0.058548 0.367768 +0 0.027713 0.718883 0.055425 0.546795 diff --git a/dataset_yolo/labels/train/testhd2_f005394_s2116.txt b/dataset_yolo/labels/train/testhd2_f005394_s2116.txt new file mode 100644 index 0000000..0f13d24 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f005394_s2116.txt @@ -0,0 +1,6 @@ +1 0.418423 0.249111 0.092116 0.123515 +1 0.711163 0.623818 0.087432 0.115188 +0 0.911007 0.512100 0.177986 0.699454 +0 0.909836 0.969078 0.180328 0.061844 +0 0.315769 0.483650 0.322404 0.703617 +0 0.311475 0.962139 0.327869 0.075722 diff --git a/dataset_yolo/labels/train/testhd2_f005916_s1944.txt b/dataset_yolo/labels/train/testhd2_f005916_s1944.txt new file mode 100644 index 0000000..a027e4c --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f005916_s1944.txt @@ -0,0 +1,3 @@ +1 0.154176 0.667534 0.094457 0.124902 +1 0.622560 0.633533 0.097580 0.131841 +1 0.962529 0.633533 0.074941 0.126290 diff --git a/dataset_yolo/labels/train/testhd2_f006438_s2196.txt b/dataset_yolo/labels/train/testhd2_f006438_s2196.txt new file mode 100644 index 0000000..26cfacf --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f006438_s2196.txt @@ -0,0 +1,3 @@ +1 0.031226 0.824356 0.062451 0.105473 +1 0.354801 0.817417 0.096019 0.124902 +1 0.791959 0.845867 0.097580 0.145719 diff --git a/dataset_yolo/labels/train/testhd2_f006960_s2179.txt b/dataset_yolo/labels/train/testhd2_f006960_s2179.txt new file mode 100644 index 0000000..92d703a --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f006960_s2179.txt @@ -0,0 +1,3 @@ +1 0.188134 0.793824 0.096799 0.122127 +1 0.528103 0.637002 0.088212 0.124902 +1 0.971116 0.829907 0.057767 0.122127 diff --git a/dataset_yolo/labels/train/testhd2_f008004_s1307.txt b/dataset_yolo/labels/train/testhd2_f008004_s1307.txt new file mode 100644 index 0000000..7d84cd1 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f008004_s1307.txt @@ -0,0 +1,6 @@ +1 0.590164 0.560673 0.087432 0.116576 +1 0.938329 0.631451 0.098361 0.124902 +0 0.474239 0.117963 0.320843 0.233151 +0 0.820453 0.120739 0.324746 0.241478 +0 0.499610 0.716801 0.304450 0.550958 +0 0.833724 0.729682 0.332553 0.540637 diff --git a/dataset_yolo/labels/train/testhd2_f008526_s1167.txt b/dataset_yolo/labels/train/testhd2_f008526_s1167.txt new file mode 100644 index 0000000..259b08c --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f008526_s1167.txt @@ -0,0 +1,8 @@ +1 0.561280 0.111718 0.092116 0.109637 +1 0.908275 0.048573 0.085090 0.094371 +1 0.589774 0.947567 0.081967 0.104866 +1 0.941062 0.987119 0.092896 0.025761 +0 0.475800 0.310868 0.317721 0.621736 +0 0.819672 0.318501 0.334114 0.631451 +0 0.501952 0.910790 0.306011 0.178420 +0 0.836066 0.927444 0.323185 0.145112 diff --git a/dataset_yolo/labels/train/testhd2_f009048_s1165.txt b/dataset_yolo/labels/train/testhd2_f009048_s1165.txt new file mode 100644 index 0000000..7cc9ff7 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f009048_s1165.txt @@ -0,0 +1,5 @@ +1 0.562842 0.254662 0.085870 0.117963 +1 0.907494 0.171394 0.089774 0.123515 +0 0.477361 0.402463 0.319282 0.729985 +0 0.820062 0.420505 0.331772 0.727210 +0 0.500000 0.980874 0.306792 0.038251 diff --git a/dataset_yolo/labels/train/testhd2_f009570_s1661.txt b/dataset_yolo/labels/train/testhd2_f009570_s1661.txt new file mode 100644 index 0000000..9a002fb --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f009570_s1661.txt @@ -0,0 +1,7 @@ +1 0.087041 0.164455 0.091335 0.120739 +1 0.542155 0.190129 0.085090 0.113800 +1 0.871585 0.188048 0.088212 0.112412 +0 0.083919 0.400382 0.163154 0.700841 +0 0.454333 0.413566 0.304450 0.685576 +0 0.783372 0.426750 0.314598 0.695290 +0 0.970726 0.437852 0.058548 0.670310 diff --git a/dataset_yolo/labels/train/testhd2_f010788_s2001.txt b/dataset_yolo/labels/train/testhd2_f010788_s2001.txt new file mode 100644 index 0000000..8ad11da --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f010788_s2001.txt @@ -0,0 +1,9 @@ +1 0.016003 0.217191 0.030445 0.106861 +1 0.313037 0.217191 0.087432 0.123515 +1 0.739266 0.247723 0.087432 0.117963 +0 0.028884 0.400382 0.056206 0.673085 +0 0.222092 0.398300 0.308353 0.668922 +0 0.641686 0.411484 0.296643 0.667534 +0 0.901639 0.418423 0.196721 0.670310 +0 0.241998 0.969078 0.304450 0.061844 +0 0.637393 0.973241 0.295863 0.053517 diff --git a/dataset_yolo/labels/train/testhd2_f011310_s1307.txt b/dataset_yolo/labels/train/testhd2_f011310_s1307.txt new file mode 100644 index 0000000..a78dac3 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f011310_s1307.txt @@ -0,0 +1,4 @@ +1 0.188134 0.160291 0.090554 0.117963 +1 0.518735 0.216498 0.086651 0.111024 +0 0.126464 0.398300 0.249805 0.688351 +0 0.444184 0.414260 0.299766 0.673085 diff --git a/dataset_yolo/labels/train/testhd2_f011832_s1219.txt b/dataset_yolo/labels/train/testhd2_f011832_s1219.txt new file mode 100644 index 0000000..c1b0931 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f011832_s1219.txt @@ -0,0 +1,6 @@ +1 0.167838 0.710556 0.088993 0.116576 +1 0.501952 0.759823 0.087432 0.112412 +0 0.122560 0.190823 0.245121 0.381646 +0 0.419594 0.192905 0.305230 0.380258 +0 0.117486 0.808787 0.234973 0.382427 +0 0.428962 0.809480 0.303669 0.381039 diff --git a/dataset_yolo/labels/train/testhd2_f012354_s1318.txt b/dataset_yolo/labels/train/testhd2_f012354_s1318.txt new file mode 100644 index 0000000..2e39b7b --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f012354_s1318.txt @@ -0,0 +1,5 @@ +1 0.158470 0.451037 0.090554 0.116576 +1 0.509368 0.435771 0.085090 0.119351 +0 0.118657 0.018735 0.237315 0.037471 +0 0.120609 0.616185 0.241218 0.682800 +0 0.414910 0.629369 0.311475 0.698066 diff --git a/dataset_yolo/labels/train/testhd2_f013398_s1856.txt b/dataset_yolo/labels/train/testhd2_f013398_s1856.txt new file mode 100644 index 0000000..a6068d7 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f013398_s1856.txt @@ -0,0 +1,11 @@ +1 0.028103 0.383034 0.056206 0.122127 +1 0.355191 0.402463 0.090554 0.108249 +1 0.666276 0.399688 0.094457 0.119351 +0 0.038251 0.020123 0.076503 0.040246 +0 0.246682 0.024287 0.326308 0.048573 +0 0.576112 0.034001 0.307572 0.068002 +0 0.949649 0.035389 0.100703 0.070778 +0 0.043326 0.619655 0.086651 0.703617 +0 0.251756 0.627982 0.314598 0.689739 +0 0.581967 0.644635 0.309914 0.695290 +0 0.921155 0.646717 0.157689 0.688351 diff --git a/dataset_yolo/labels/train/testhd2_f013920_s1830.txt b/dataset_yolo/labels/train/testhd2_f013920_s1830.txt new file mode 100644 index 0000000..496e6be --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f013920_s1830.txt @@ -0,0 +1,9 @@ +1 0.354801 0.428832 0.099141 0.127678 +1 0.681109 0.428138 0.089774 0.123515 +1 0.984387 0.412178 0.031226 0.127678 +0 0.205308 0.013878 0.329430 0.027756 +0 0.542935 0.018735 0.319282 0.037471 +0 0.872756 0.011796 0.254489 0.023593 +0 0.244731 0.621736 0.330211 0.729985 +0 0.588993 0.630757 0.320843 0.711944 +0 0.877440 0.635615 0.245121 0.716107 diff --git a/dataset_yolo/labels/train/testhd2_f014442_s2191.txt b/dataset_yolo/labels/train/testhd2_f014442_s2191.txt new file mode 100644 index 0000000..2a0a571 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f014442_s2191.txt @@ -0,0 +1,5 @@ +1 0.678376 0.418423 0.095238 0.126290 +0 0.587041 0.635701 0.330991 0.728597 +0 0.897346 0.638780 0.205308 0.722439 +0 0.884075 0.021511 0.227166 0.043022 +0 0.574941 0.013184 0.331772 0.026368 diff --git a/dataset_yolo/labels/train/testhd2_f014964_s1402.txt b/dataset_yolo/labels/train/testhd2_f014964_s1402.txt new file mode 100644 index 0000000..769c26e --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f014964_s1402.txt @@ -0,0 +1,8 @@ +1 0.323575 0.382340 0.100703 0.126290 +1 0.713895 0.511406 0.100703 0.134617 +0 0.930133 0.642250 0.139735 0.715500 +0 0.643638 0.636005 0.336456 0.727990 +0 0.225215 0.629369 0.341140 0.736924 +0 0.003123 0.628676 0.006245 0.738312 +0 0.645589 0.014572 0.332553 0.029144 +0 0.933255 0.006939 0.133489 0.013878 diff --git a/dataset_yolo/labels/train/testhd2_f016008_s1424.txt b/dataset_yolo/labels/train/testhd2_f016008_s1424.txt new file mode 100644 index 0000000..78e69f4 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f016008_s1424.txt @@ -0,0 +1,4 @@ +1 0.565574 0.409402 0.091335 0.124902 +1 0.943794 0.383034 0.095238 0.124902 +0 0.474239 0.634617 0.328649 0.730766 +0 0.831772 0.638087 0.336456 0.723827 diff --git a/dataset_yolo/labels/train/testhd2_f016530_s1153.txt b/dataset_yolo/labels/train/testhd2_f016530_s1153.txt new file mode 100644 index 0000000..7554050 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f016530_s1153.txt @@ -0,0 +1,6 @@ +1 0.562451 0.800069 0.097580 0.129066 +1 0.945355 0.793824 0.099922 0.124902 +0 0.455113 0.208171 0.337237 0.416341 +0 0.823966 0.208865 0.352069 0.409402 +0 0.470336 0.825744 0.323966 0.327522 +0 0.832943 0.837237 0.334114 0.325527 diff --git a/dataset_yolo/labels/train/testhd2_f017052_s0719.txt b/dataset_yolo/labels/train/testhd2_f017052_s0719.txt new file mode 100644 index 0000000..3f102b0 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f017052_s0719.txt @@ -0,0 +1,4 @@ +1 0.543716 0.224824 0.097580 0.130454 +1 0.930913 0.220661 0.103825 0.136005 +0 0.452381 0.487119 0.338017 0.766068 +0 0.823185 0.491977 0.353630 0.789661 diff --git a/dataset_yolo/labels/train/testhd2_f017748_s0986.txt b/dataset_yolo/labels/train/testhd2_f017748_s0986.txt new file mode 100644 index 0000000..9fffa9b --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f017748_s0986.txt @@ -0,0 +1,4 @@ +1 0.515222 0.148495 0.093677 0.133229 +1 0.899297 0.138780 0.101483 0.127678 +0 0.423497 0.405933 0.341140 0.767456 +0 0.798205 0.410790 0.367681 0.782722 diff --git a/dataset_yolo/labels/train/testhd2_f018792_s1435.txt b/dataset_yolo/labels/train/testhd2_f018792_s1435.txt new file mode 100644 index 0000000..b0c28e8 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f018792_s1435.txt @@ -0,0 +1,4 @@ +1 0.586651 0.296990 0.094457 0.116576 +1 0.933255 0.206783 0.102264 0.127678 +0 0.510148 0.414260 0.323966 0.734149 +0 0.846995 0.428138 0.306011 0.739700 diff --git a/dataset_yolo/labels/train/testhd2_f019314_s1231.txt b/dataset_yolo/labels/train/testhd2_f019314_s1231.txt new file mode 100644 index 0000000..85acddb --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f019314_s1231.txt @@ -0,0 +1,6 @@ +1 0.300546 0.253968 0.092116 0.124902 +1 0.595628 0.200538 0.088993 0.117963 +1 0.949649 0.321277 0.091335 0.123515 +0 0.192037 0.421893 0.337237 0.707780 +0 0.532006 0.435771 0.323966 0.718883 +0 0.851288 0.444791 0.294301 0.720271 diff --git a/dataset_yolo/labels/train/testhd2_f019836_s1049.txt b/dataset_yolo/labels/train/testhd2_f019836_s1049.txt new file mode 100644 index 0000000..2fc52ed --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f019836_s1049.txt @@ -0,0 +1,6 @@ +1 0.288056 0.151965 0.095238 0.120739 +1 0.620219 0.208171 0.096019 0.133229 +0 0.995316 0.166537 0.009368 0.116576 +0 0.180328 0.409402 0.337237 0.735536 +0 0.517564 0.413566 0.327869 0.743863 +0 0.884856 0.421199 0.230289 0.725822 diff --git a/dataset_yolo/labels/train/testhd2_f020358_s1742.txt b/dataset_yolo/labels/train/testhd2_f020358_s1742.txt new file mode 100644 index 0000000..c338352 --- /dev/null +++ b/dataset_yolo/labels/train/testhd2_f020358_s1742.txt @@ -0,0 +1,4 @@ +1 0.156909 0.131841 0.093677 0.119351 +1 0.483997 0.234539 0.093677 0.122127 +0 0.110070 0.383728 0.218579 0.734149 +0 0.400468 0.392749 0.321624 0.710556 diff --git a/dataset_yolo/labels/train/testhd_f000000_s0582.txt b/dataset_yolo/labels/train/testhd_f000000_s0582.txt new file mode 100644 index 0000000..34f0dd7 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f000000_s0582.txt @@ -0,0 +1,3 @@ +0 0.349336 0.497528 0.558158 0.995056 +0 0.833724 0.500000 0.332553 1.000000 +1 0.518345 0.036777 0.148322 0.073554 diff --git a/dataset_yolo/labels/train/testhd_f000543_s0574.txt b/dataset_yolo/labels/train/testhd_f000543_s0574.txt new file mode 100644 index 0000000..e69de29 diff --git a/dataset_yolo/labels/train/testhd_f001086_s0908.txt b/dataset_yolo/labels/train/testhd_f001086_s0908.txt new file mode 100644 index 0000000..e99f105 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f001086_s0908.txt @@ -0,0 +1 @@ +0 0.893052 0.448955 0.213895 0.892358 diff --git a/dataset_yolo/labels/train/testhd_f001629_s1334.txt b/dataset_yolo/labels/train/testhd_f001629_s1334.txt new file mode 100644 index 0000000..d8663d3 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f001629_s1334.txt @@ -0,0 +1,4 @@ +0 0.422326 0.455894 0.360656 0.792436 +0 0.812646 0.471854 0.366901 0.777171 +1 0.528103 0.194293 0.100703 0.130454 +1 0.906714 0.209559 0.096019 0.130454 diff --git a/dataset_yolo/labels/train/testhd_f002715_s1348.txt b/dataset_yolo/labels/train/testhd_f002715_s1348.txt new file mode 100644 index 0000000..93bef53 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f002715_s1348.txt @@ -0,0 +1,3 @@ +1 0.254489 0.019429 0.099922 0.033307 +1 0.645589 0.027756 0.099922 0.055512 +1 0.962529 0.040246 0.073380 0.077717 diff --git a/dataset_yolo/labels/train/testhd_f003258_s1453.txt b/dataset_yolo/labels/train/testhd_f003258_s1453.txt new file mode 100644 index 0000000..68a7133 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f003258_s1453.txt @@ -0,0 +1,2 @@ +1 0.148712 0.026368 0.102264 0.047185 +1 0.837627 0.030532 0.099922 0.055512 diff --git a/dataset_yolo/labels/train/testhd_f003982_s1755.txt b/dataset_yolo/labels/train/testhd_f003982_s1755.txt new file mode 100644 index 0000000..bab369a --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f003982_s1755.txt @@ -0,0 +1,2 @@ +0 0.528884 0.458669 0.317721 0.709168 +1 0.617877 0.226906 0.092896 0.123515 diff --git a/dataset_yolo/labels/train/testhd_f004525_s1283.txt b/dataset_yolo/labels/train/testhd_f004525_s1283.txt new file mode 100644 index 0000000..2870ef7 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f004525_s1283.txt @@ -0,0 +1,2 @@ +1 0.325137 0.319889 0.094457 0.117963 +0 0.245121 0.444791 0.316940 0.678636 diff --git a/dataset_yolo/labels/train/testhd_f005611_s2120.txt b/dataset_yolo/labels/train/testhd_f005611_s2120.txt new file mode 100644 index 0000000..4b497db --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f005611_s2120.txt @@ -0,0 +1,4 @@ +0 0.107728 0.467690 0.215457 0.721658 +1 0.142077 0.289357 0.101483 0.131841 +0 0.468384 0.486426 0.302888 0.675861 +1 0.556987 0.301848 0.099141 0.129066 diff --git a/dataset_yolo/labels/train/testhd_f006154_s2426.txt b/dataset_yolo/labels/train/testhd_f006154_s2426.txt new file mode 100644 index 0000000..8e60a57 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f006154_s2426.txt @@ -0,0 +1,3 @@ +1 0.752927 0.262295 0.092896 0.124902 +0 0.657689 0.505855 0.323966 0.720271 +1 0.245509 0.621234 0.097519 0.126224 diff --git a/dataset_yolo/labels/train/testhd_f006697_s2165.txt b/dataset_yolo/labels/train/testhd_f006697_s2165.txt new file mode 100644 index 0000000..9802f4f --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f006697_s2165.txt @@ -0,0 +1,2 @@ +1 0.211719 0.646326 0.096664 0.130786 +1 0.567579 0.676742 0.093242 0.118620 diff --git a/dataset_yolo/labels/train/testhd_f007240_s2031.txt b/dataset_yolo/labels/train/testhd_f007240_s2031.txt new file mode 100644 index 0000000..b0f78d2 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f007240_s2031.txt @@ -0,0 +1,3 @@ +1 0.151411 0.832620 0.085543 0.123182 +1 0.508127 0.829579 0.087254 0.117099 +1 0.835757 0.843266 0.092387 0.126224 diff --git a/dataset_yolo/labels/train/testhd_f008326_s1493.txt b/dataset_yolo/labels/train/testhd_f008326_s1493.txt new file mode 100644 index 0000000..bdf36ca --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f008326_s1493.txt @@ -0,0 +1,4 @@ +1 0.591725 0.272010 0.093677 0.116576 +1 0.939500 0.322665 0.099141 0.131841 +0 0.501171 0.496834 0.304450 0.693902 +0 0.834114 0.506549 0.331772 0.705005 diff --git a/dataset_yolo/labels/train/testhd_f008869_s1403.txt b/dataset_yolo/labels/train/testhd_f008869_s1403.txt new file mode 100644 index 0000000..4acf548 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f008869_s1403.txt @@ -0,0 +1,6 @@ +1 0.588212 0.745251 0.092896 0.130454 +1 0.936378 0.816029 0.105386 0.130454 +0 0.475410 0.209559 0.313817 0.419117 +0 0.818891 0.217885 0.329430 0.432995 +0 0.498439 0.805317 0.316159 0.389366 +0 0.833333 0.816419 0.331772 0.367161 diff --git a/dataset_yolo/labels/train/testhd_f009412_s1102.txt b/dataset_yolo/labels/train/testhd_f009412_s1102.txt new file mode 100644 index 0000000..aa5c197 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f009412_s1102.txt @@ -0,0 +1,4 @@ +1 0.558938 0.223437 0.095238 0.124902 +1 0.908665 0.146413 0.093677 0.129066 +0 0.477361 0.378177 0.317721 0.723046 +0 0.819282 0.392055 0.339578 0.723046 diff --git a/dataset_yolo/labels/train/testhd_f009955_s1320.txt b/dataset_yolo/labels/train/testhd_f009955_s1320.txt new file mode 100644 index 0000000..a86233f --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f009955_s1320.txt @@ -0,0 +1,6 @@ +1 0.308743 0.235233 0.103825 0.112412 +1 0.640125 0.163067 0.090554 0.126290 +1 0.975800 0.176251 0.048400 0.130454 +0 0.216628 0.386504 0.331772 0.720271 +0 0.557767 0.398300 0.317721 0.705005 +0 0.880172 0.404545 0.239657 0.695290 diff --git a/dataset_yolo/labels/train/testhd_f011222_s1666.txt b/dataset_yolo/labels/train/testhd_f011222_s1666.txt new file mode 100644 index 0000000..69ea48b --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f011222_s1666.txt @@ -0,0 +1,7 @@ +1 0.035519 0.165149 0.071038 0.108249 +1 0.458236 0.201232 0.087432 0.122127 +1 0.765808 0.251193 0.084309 0.122127 +0 0.044496 0.393443 0.087432 0.675861 +0 0.360265 0.403851 0.306792 0.682800 +0 0.683841 0.426056 0.298205 0.657819 +0 0.923888 0.430913 0.150664 0.659207 diff --git a/dataset_yolo/labels/train/testhd_f011765_s1527.txt b/dataset_yolo/labels/train/testhd_f011765_s1527.txt new file mode 100644 index 0000000..97f49a3 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f011765_s1527.txt @@ -0,0 +1,6 @@ +1 0.035909 0.219967 0.071819 0.123515 +1 0.329820 0.163067 0.086651 0.120739 +1 0.654957 0.209559 0.087432 0.116576 +0 0.043716 0.389973 0.085870 0.691127 +0 0.239266 0.394137 0.300546 0.693902 +0 0.583138 0.411484 0.306011 0.678636 diff --git a/dataset_yolo/labels/train/testhd_f012308_s1235.txt b/dataset_yolo/labels/train/testhd_f012308_s1235.txt new file mode 100644 index 0000000..d8895b7 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f012308_s1235.txt @@ -0,0 +1,6 @@ +1 0.172912 0.515569 0.091335 0.117963 +1 0.503513 0.560673 0.095238 0.127678 +0 0.122951 0.089513 0.244340 0.179027 +0 0.419594 0.095759 0.311475 0.191517 +0 0.120999 0.697762 0.241998 0.604476 +0 0.430523 0.711640 0.297424 0.576720 diff --git a/dataset_yolo/labels/train/testhd_f012851_s1496.txt b/dataset_yolo/labels/train/testhd_f012851_s1496.txt new file mode 100644 index 0000000..336a769 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f012851_s1496.txt @@ -0,0 +1,4 @@ +1 0.159251 0.362911 0.087432 0.112412 +1 0.510148 0.344176 0.086651 0.122127 +0 0.122170 0.528060 0.244340 0.686963 +0 0.417252 0.534999 0.303669 0.692515 diff --git a/dataset_yolo/labels/train/testhd_f013937_s1949.txt b/dataset_yolo/labels/train/testhd_f013937_s1949.txt new file mode 100644 index 0000000..3608d37 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f013937_s1949.txt @@ -0,0 +1,11 @@ +1 0.096409 0.398300 0.094457 0.130454 +1 0.413349 0.390667 0.092896 0.126290 +1 0.842311 0.405239 0.096799 0.119351 +0 0.071429 0.016654 0.141296 0.033307 +0 0.318891 0.023593 0.319282 0.047185 +0 0.802888 0.033307 0.303669 0.063839 +0 0.989852 0.034001 0.017174 0.068002 +0 0.076503 0.625206 0.151444 0.709168 +0 0.323185 0.627288 0.321624 0.696678 +0 0.749024 0.639778 0.313037 0.696678 +0 0.981265 0.641860 0.037471 0.692515 diff --git a/dataset_yolo/labels/train/testhd_f014480_s2048.txt b/dataset_yolo/labels/train/testhd_f014480_s2048.txt new file mode 100644 index 0000000..4b00c8b --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f014480_s2048.txt @@ -0,0 +1,11 @@ +1 0.152225 0.430219 0.096799 0.122127 +1 0.489461 0.439934 0.090554 0.113800 +1 0.808353 0.430913 0.096019 0.137393 +0 0.088603 0.015266 0.177205 0.030532 +0 0.348946 0.029144 0.321624 0.058288 +0 0.698673 0.029838 0.307572 0.059676 +0 0.111241 0.636005 0.222482 0.727990 +0 0.388368 0.632145 0.316159 0.686963 +0 0.716628 0.648495 0.310695 0.703010 +0 0.976190 0.034001 0.047619 0.068002 +0 0.989071 0.652268 0.021858 0.685576 diff --git a/dataset_yolo/labels/train/testhd_f015023_s1996.txt b/dataset_yolo/labels/train/testhd_f015023_s1996.txt new file mode 100644 index 0000000..ebbae03 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f015023_s1996.txt @@ -0,0 +1,6 @@ +1 0.548400 0.426056 0.096019 0.130454 +1 0.936768 0.466302 0.101483 0.152659 +0 0.447697 0.018041 0.323966 0.036083 +0 0.803279 0.022899 0.320062 0.045798 +0 0.449649 0.636005 0.341920 0.727990 +0 0.833333 0.646413 0.333333 0.707173 diff --git a/dataset_yolo/labels/train/testhd_f015566_s1402.txt b/dataset_yolo/labels/train/testhd_f015566_s1402.txt new file mode 100644 index 0000000..b6e985d --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f015566_s1402.txt @@ -0,0 +1,8 @@ +1 0.251756 0.379565 0.103825 0.123515 +1 0.642857 0.509324 0.097580 0.144332 +1 0.987510 0.479487 0.024980 0.129066 +0 0.163934 0.628676 0.326308 0.732761 +0 0.569867 0.638087 0.337237 0.723827 +0 0.893052 0.643638 0.213895 0.712724 +0 0.570258 0.015960 0.330211 0.031920 +0 0.894223 0.015960 0.208431 0.029144 diff --git a/dataset_yolo/labels/train/testhd_f016652_s1419.txt b/dataset_yolo/labels/train/testhd_f016652_s1419.txt new file mode 100644 index 0000000..ff58c1d --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f016652_s1419.txt @@ -0,0 +1,4 @@ +1 0.567916 0.409402 0.092896 0.124902 +1 0.944965 0.384422 0.099141 0.127678 +0 0.473458 0.636699 0.328649 0.726602 +0 0.832943 0.639474 0.334114 0.721051 diff --git a/dataset_yolo/labels/train/testhd_f017195_s1173.txt b/dataset_yolo/labels/train/testhd_f017195_s1173.txt new file mode 100644 index 0000000..d5e72f4 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f017195_s1173.txt @@ -0,0 +1,6 @@ +1 0.563622 0.836152 0.098361 0.145719 +1 0.946136 0.827132 0.098361 0.127678 +0 0.455113 0.223437 0.338798 0.441322 +0 0.823575 0.222049 0.349727 0.441322 +0 0.470726 0.849033 0.332553 0.301934 +0 0.832943 0.851115 0.334114 0.297771 diff --git a/dataset_yolo/labels/train/testhd_f017738_s0715.txt b/dataset_yolo/labels/train/testhd_f017738_s0715.txt new file mode 100644 index 0000000..99dcc41 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f017738_s0715.txt @@ -0,0 +1,4 @@ +1 0.544106 0.226906 0.095238 0.137393 +1 0.931304 0.222049 0.103044 0.130454 +0 0.453552 0.485038 0.340359 0.770232 +0 0.822795 0.491977 0.354411 0.775783 diff --git a/dataset_yolo/labels/train/testhd_f018462_s1305.txt b/dataset_yolo/labels/train/testhd_f018462_s1305.txt new file mode 100644 index 0000000..84ee180 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f018462_s1305.txt @@ -0,0 +1,4 @@ +1 0.320062 0.131148 0.093677 0.126290 +1 0.699063 0.128372 0.102264 0.126290 +0 0.226776 0.392055 0.348946 0.775783 +0 0.600312 0.400382 0.354411 0.781334 diff --git a/dataset_yolo/labels/train/testhd_f019548_s1342.txt b/dataset_yolo/labels/train/testhd_f019548_s1342.txt new file mode 100644 index 0000000..e46cbe2 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f019548_s1342.txt @@ -0,0 +1,6 @@ +1 0.209212 0.272010 0.103044 0.127678 +1 0.562842 0.187354 0.095238 0.122127 +1 0.940281 0.178333 0.089774 0.129066 +0 0.151835 0.390667 0.303669 0.759129 +0 0.481655 0.405933 0.321624 0.734149 +0 0.843091 0.402463 0.309133 0.729985 diff --git a/dataset_yolo/labels/train/testhd_f020091_s0989.txt b/dataset_yolo/labels/train/testhd_f020091_s0989.txt new file mode 100644 index 0000000..ebd9aff --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f020091_s0989.txt @@ -0,0 +1,5 @@ +1 0.141686 0.147801 0.097580 0.120739 +1 0.508977 0.278255 0.099922 0.120739 +0 0.889930 0.422587 0.220141 0.723046 +0 0.123731 0.398994 0.247463 0.731373 +0 0.427400 0.405933 0.325527 0.736924 diff --git a/dataset_yolo/labels/train/testhd_f020634_s1195.txt b/dataset_yolo/labels/train/testhd_f020634_s1195.txt new file mode 100644 index 0000000..24ecb5e --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f020634_s1195.txt @@ -0,0 +1,6 @@ +1 0.189305 0.179721 0.110070 0.151271 +1 0.617096 0.158210 0.091335 0.133229 +1 0.946916 0.244948 0.096799 0.134617 +0 0.126854 0.390667 0.253708 0.770232 +0 0.513661 0.402463 0.320062 0.732761 +0 0.845433 0.415647 0.309133 0.728597 diff --git a/dataset_yolo/labels/train/testhd_f021177_s2394.txt b/dataset_yolo/labels/train/testhd_f021177_s2394.txt new file mode 100644 index 0000000..62e5207 --- /dev/null +++ b/dataset_yolo/labels/train/testhd_f021177_s2394.txt @@ -0,0 +1,8 @@ +1 0.165496 0.762599 0.104606 0.120739 +1 0.478923 0.782722 0.091335 0.119351 +1 0.840749 0.763293 0.095238 0.130454 +0 0.111632 0.170700 0.223263 0.341400 +0 0.402420 0.180415 0.319282 0.360829 +0 0.117486 0.793824 0.234973 0.394137 +0 0.404372 0.802541 0.318501 0.394917 +0 0.747463 0.801848 0.316159 0.396305 diff --git a/dataset_yolo/labels/val/testhd2_f002088_s1267.txt b/dataset_yolo/labels/val/testhd2_f002088_s1267.txt new file mode 100644 index 0000000..501d26f --- /dev/null +++ b/dataset_yolo/labels/val/testhd2_f002088_s1267.txt @@ -0,0 +1,3 @@ +1 0.245081 0.014447 0.106929 0.028895 +1 0.632164 0.028134 0.107784 0.056268 +1 0.959795 0.039540 0.078700 0.072997 diff --git a/dataset_yolo/labels/val/testhd2_f004872_s1600.txt b/dataset_yolo/labels/val/testhd2_f004872_s1600.txt new file mode 100644 index 0000000..8ef3548 --- /dev/null +++ b/dataset_yolo/labels/val/testhd2_f004872_s1600.txt @@ -0,0 +1,5 @@ +1 0.559025 0.602224 0.081266 0.106454 +1 0.871257 0.612109 0.089820 0.120141 +1 0.285287 0.279061 0.089820 0.126224 +0 0.193328 0.472959 0.311377 0.684346 +0 0.188195 0.950908 0.311377 0.098185 diff --git a/dataset_yolo/labels/val/testhd2_f007482_s1754.txt b/dataset_yolo/labels/val/testhd2_f007482_s1754.txt new file mode 100644 index 0000000..d4a5f30 --- /dev/null +++ b/dataset_yolo/labels/val/testhd2_f007482_s1754.txt @@ -0,0 +1,12 @@ +1 0.345595 0.257010 0.087254 0.115578 +1 0.673653 0.314039 0.094953 0.123182 +1 0.980325 0.245604 0.039350 0.114058 +1 0.331908 0.988167 0.090676 0.023667 +1 0.676219 0.994250 0.093242 0.011501 +1 0.981180 0.986646 0.037639 0.026708 +0 0.247648 0.480563 0.312233 0.693470 +0 0.582121 0.487406 0.320787 0.701074 +0 0.880667 0.492729 0.238666 0.699553 +0 0.238238 0.960032 0.332763 0.079935 +0 0.585543 0.962313 0.329341 0.075373 +0 0.884089 0.963074 0.231822 0.073852 diff --git a/dataset_yolo/labels/val/testhd2_f010092_s1842.txt b/dataset_yolo/labels/val/testhd2_f010092_s1842.txt new file mode 100644 index 0000000..53ac8af --- /dev/null +++ b/dataset_yolo/labels/val/testhd2_f010092_s1842.txt @@ -0,0 +1,7 @@ +1 0.117622 0.183253 0.106929 0.135348 +1 0.558597 0.212908 0.094098 0.118620 +1 0.909752 0.214428 0.094953 0.133828 +0 0.095808 0.402243 0.189906 0.682825 +0 0.466638 0.409847 0.307100 0.685866 +0 0.808811 0.418211 0.317365 0.693470 +0 0.987169 0.425815 0.025663 0.675221 diff --git a/dataset_yolo/labels/val/testhd2_f012876_s1907.txt b/dataset_yolo/labels/val/testhd2_f012876_s1907.txt new file mode 100644 index 0000000..bb07186 --- /dev/null +++ b/dataset_yolo/labels/val/testhd2_f012876_s1907.txt @@ -0,0 +1,10 @@ +1 0.143285 0.407566 0.091531 0.121661 +1 0.546193 0.427336 0.086399 0.115578 +1 0.830197 0.463074 0.094953 0.111016 +0 0.100513 0.602224 0.201027 0.687387 +0 0.442258 0.615911 0.313088 0.690429 +0 0.755774 0.623515 0.300257 0.666096 +0 0.968349 0.632639 0.063302 0.675221 +0 0.756202 0.026613 0.304534 0.053227 +0 0.437126 0.018249 0.304534 0.036498 +0 0.096664 0.006083 0.193328 0.012166 diff --git a/dataset_yolo/labels/val/testhd2_f015486_s1565.txt b/dataset_yolo/labels/val/testhd2_f015486_s1565.txt new file mode 100644 index 0000000..e3e516e --- /dev/null +++ b/dataset_yolo/labels/val/testhd2_f015486_s1565.txt @@ -0,0 +1,4 @@ +1 0.556886 0.403764 0.099230 0.138390 +1 0.939264 0.382473 0.099230 0.129265 +0 0.466210 0.638390 0.331908 0.723220 +0 0.831052 0.639911 0.337896 0.720179 diff --git a/dataset_yolo/labels/val/testhd2_f018270_s1249.txt b/dataset_yolo/labels/val/testhd2_f018270_s1249.txt new file mode 100644 index 0000000..04a01f4 --- /dev/null +++ b/dataset_yolo/labels/val/testhd2_f018270_s1249.txt @@ -0,0 +1,5 @@ +1 0.245509 0.116339 0.097519 0.135348 +1 0.639863 0.128505 0.100941 0.129265 +0 0.161249 0.389317 0.322498 0.778633 +0 0.543627 0.395400 0.351583 0.766467 +0 0.901198 0.405285 0.197605 0.758863 diff --git a/dataset_yolo/labels/val/testhd2_f020880_s1677.txt b/dataset_yolo/labels/val/testhd2_f020880_s1677.txt new file mode 100644 index 0000000..455cfc7 --- /dev/null +++ b/dataset_yolo/labels/val/testhd2_f020880_s1677.txt @@ -0,0 +1,6 @@ +1 0.168520 0.878244 0.094098 0.120141 +0 0.121044 0.861943 0.238666 0.276114 +0 0.122754 0.252447 0.245509 0.504895 +0 0.409324 0.253208 0.312233 0.506416 +0 0.831908 0.016728 0.089820 0.033457 +0 0.753208 0.260812 0.303678 0.521623 diff --git a/dataset_yolo/labels/val/testhd_f002172_s1539.txt b/dataset_yolo/labels/val/testhd_f002172_s1539.txt new file mode 100644 index 0000000..e69de29 diff --git a/dataset_yolo/labels/val/testhd_f005068_s1737.txt b/dataset_yolo/labels/val/testhd_f005068_s1737.txt new file mode 100644 index 0000000..a6c530b --- /dev/null +++ b/dataset_yolo/labels/val/testhd_f005068_s1737.txt @@ -0,0 +1,6 @@ +1 0.284431 0.374869 0.082977 0.101891 +1 0.587254 0.387796 0.082977 0.106454 +1 0.019675 0.049425 0.039350 0.098850 +0 0.008127 0.858474 0.016253 0.114058 +0 0.030796 0.291227 0.058169 0.582454 +0 0.026518 0.829579 0.053037 0.333048 diff --git a/dataset_yolo/labels/val/testhd_f007783_s2254.txt b/dataset_yolo/labels/val/testhd_f007783_s2254.txt new file mode 100644 index 0000000..06e0999 --- /dev/null +++ b/dataset_yolo/labels/val/testhd_f007783_s2254.txt @@ -0,0 +1,5 @@ +1 0.107357 0.231917 0.091531 0.114058 +1 0.495295 0.628838 0.083832 0.123182 +1 0.806245 0.831860 0.096664 0.127745 +0 0.088965 0.482844 0.177930 0.713240 +0 0.083832 0.964595 0.164243 0.070811 diff --git a/dataset_yolo/labels/val/testhd_f010498_s1717.txt b/dataset_yolo/labels/val/testhd_f010498_s1717.txt new file mode 100644 index 0000000..5659070 --- /dev/null +++ b/dataset_yolo/labels/val/testhd_f010498_s1717.txt @@ -0,0 +1,7 @@ +1 0.007699 0.199221 0.015398 0.106454 +1 0.378101 0.173368 0.088965 0.115578 +1 0.725834 0.228876 0.088109 0.117099 +0 0.017109 0.397681 0.034217 0.682825 +0 0.281437 0.403764 0.316510 0.688908 +0 0.623610 0.422013 0.309666 0.682825 +0 0.900342 0.439502 0.199316 0.684346 diff --git a/dataset_yolo/labels/val/testhd_f013394_s1910.txt b/dataset_yolo/labels/val/testhd_f013394_s1910.txt new file mode 100644 index 0000000..504e73b --- /dev/null +++ b/dataset_yolo/labels/val/testhd_f013394_s1910.txt @@ -0,0 +1,8 @@ +1 0.272455 0.418211 0.091531 0.115578 +1 0.557742 0.455470 0.087254 0.111016 +1 0.914885 0.428096 0.089820 0.120141 +0 0.163815 0.609828 0.313944 0.696512 +0 0.479042 0.610588 0.299401 0.673700 +0 0.819932 0.623515 0.319076 0.687387 +0 0.485885 0.023572 0.301112 0.047144 +0 0.160393 0.014447 0.319076 0.028895 diff --git a/dataset_yolo/labels/val/testhd_f016109_s1541.txt b/dataset_yolo/labels/val/testhd_f016109_s1541.txt new file mode 100644 index 0000000..71fae1c --- /dev/null +++ b/dataset_yolo/labels/val/testhd_f016109_s1541.txt @@ -0,0 +1,4 @@ +1 0.555603 0.402243 0.096664 0.126224 +1 0.933276 0.382473 0.097519 0.129265 +0 0.463216 0.636109 0.322498 0.727783 +0 0.826775 0.642192 0.346450 0.715616 diff --git a/dataset_yolo/labels/val/testhd_f019005_s1379.txt b/dataset_yolo/labels/val/testhd_f019005_s1379.txt new file mode 100644 index 0000000..45da004 --- /dev/null +++ b/dataset_yolo/labels/val/testhd_f019005_s1379.txt @@ -0,0 +1,5 @@ +1 0.289991 0.117099 0.104363 0.130786 +1 0.736527 0.165764 0.102652 0.127745 +0 0.188195 0.390077 0.371257 0.774071 +0 0.626604 0.406805 0.358426 0.767988 +0 0.918734 0.411368 0.162532 0.764946 diff --git a/dataset_yolo/labels/val/testhd_f021720_s1544.txt b/dataset_yolo/labels/val/testhd_f021720_s1544.txt new file mode 100644 index 0000000..6ee23b2 --- /dev/null +++ b/dataset_yolo/labels/val/testhd_f021720_s1544.txt @@ -0,0 +1,6 @@ +1 0.464927 0.461553 0.084688 0.111016 +1 0.765184 0.470678 0.084688 0.107975 +1 0.179641 0.121661 0.092387 0.121661 +1 0.151411 0.956991 0.094098 0.086018 +0 0.120188 0.336090 0.240376 0.672179 +0 0.122327 0.879432 0.244654 0.241137 diff --git a/dataset_yolo/predefined_classes.txt b/dataset_yolo/predefined_classes.txt new file mode 100644 index 0000000..8617265 --- /dev/null +++ b/dataset_yolo/predefined_classes.txt @@ -0,0 +1,2 @@ +gaylord +etichetta diff --git a/flywms.py b/flywms.py index b36f362..6b24c56 100644 --- a/flywms.py +++ b/flywms.py @@ -96,10 +96,15 @@ class RuntimeStats: yolo_submitted_frames: int = 0 quality_rejected_frames: int = 0 quality_cycles: int = 0 + ocr_roi_submitted: int = 0 + ocr_roi_rejected: int = 0 + ocr_roi_quality_cycles: int = 0 yolo_cycles: int = 0 ocr_cycles: int = 0 quality_total_ms: float = 0.0 quality_score_total: float = 0.0 + ocr_roi_quality_total_ms: float = 0.0 + ocr_roi_sharpness_total: float = 0.0 yolo_total_ms: float = 0.0 yolo_blob_ms: float = 0.0 yolo_forward_ms: float = 0.0 @@ -110,6 +115,8 @@ class RuntimeStats: last_capture_frame_id: int = 0 last_quality_score: float = 0.0 last_quality_passed: bool = True + last_ocr_roi_sharpness: float = 0.0 + last_ocr_roi_passed: bool = True last_yolo_frame_id: int = 0 last_ocr_frame_id: int = 0 last_detection_count: int = 0 @@ -174,6 +181,8 @@ class SharedState: self.ocr_results: deque[OcrResult] = deque(maxlen=ocr_history_size) self.debug_yolo_frame: np.ndarray | None = None self.debug_ocr_frame: np.ndarray | None = None + self.debug_rejected_ocr_roi_frame: np.ndarray | None = None + self.debug_rejected_ocr_roi_text: str = "" self.debug_ocr_text: str = "" self.stats = RuntimeStats() @@ -218,11 +227,27 @@ class SharedState: self.debug_ocr_frame = None if frame is None else frame.copy() self.debug_ocr_text = text - def get_debug_frames(self) -> tuple[np.ndarray | None, np.ndarray | None, str]: + def set_debug_rejected_ocr_roi_frame( + self, + frame: np.ndarray | None, + text: str = "", + ) -> None: + with self._lock: + self.debug_rejected_ocr_roi_frame = None if frame is None else frame.copy() + self.debug_rejected_ocr_roi_text = text + + def get_debug_frames( + self, + ) -> tuple[np.ndarray | None, np.ndarray | None, str, np.ndarray | None, str]: with self._lock: yolo = None if self.debug_yolo_frame is None else self.debug_yolo_frame.copy() ocr = None if self.debug_ocr_frame is None else self.debug_ocr_frame.copy() - return yolo, ocr, self.debug_ocr_text + rejected_ocr = ( + None + if self.debug_rejected_ocr_roi_frame is None + else self.debug_rejected_ocr_roi_frame.copy() + ) + return yolo, ocr, self.debug_ocr_text, rejected_ocr, self.debug_rejected_ocr_roi_text def add_capture_read(self, frame_id: int, read_ms: float) -> None: with self._lock: @@ -248,6 +273,23 @@ class SharedState: else: self.stats.quality_rejected_frames += 1 + def add_ocr_roi_quality_result( + self, + score: float, + passed: bool, + elapsed_ms: float, + ) -> None: + with self._lock: + self.stats.ocr_roi_quality_cycles += 1 + self.stats.ocr_roi_sharpness_total += score + self.stats.ocr_roi_quality_total_ms += elapsed_ms + self.stats.last_ocr_roi_sharpness = score + self.stats.last_ocr_roi_passed = passed + if passed: + self.stats.ocr_roi_submitted += 1 + else: + self.stats.ocr_roi_rejected += 1 + def add_display(self, display_ms: float) -> None: with self._lock: self.stats.display_frames += 1 @@ -275,8 +317,10 @@ def parse_args(): ap.add_argument("-v", "--video", default=None, help="Percorso video. Se omesso usa webcam 0") + ap.add_argument("--detector", choices=["yolov2", "ultralytics"], + default="yolov2", help="Motore detection oggetti") ap.add_argument("--weights", default="yolov2.weights", - help="File pesi YOLOv2") + help="File pesi YOLOv2 o modello Ultralytics .pt") ap.add_argument("--config", default="yolov2.cfg", help="File config YOLOv2") ap.add_argument("--labels", default="labels.txt", @@ -286,6 +330,8 @@ def parse_args(): ap.add_argument("--backend", choices=["cpu", "cuda", "cuda-fp16"], default="cpu", help="Backend OpenCV DNN") + ap.add_argument("--ultralytics-device", default="cpu", + help="Device Ultralytics: cpu oppure 0 per GPU") ap.add_argument("--input-size", type=int, default=416, help="Dimensione input YOLO") ap.add_argument("--swap-rb", action="store_true", @@ -298,6 +344,8 @@ def parse_args(): help="Numero risultati OCR recenti mantenuti in memoria") ap.add_argument("--preview-width", type=int, default=1280, help="Larghezza massima preview") + ap.add_argument("--capture-overlay-max-lag", type=int, default=2, + help="Massimo ritardo in frame per disegnare detection sulla finestra capture") ap.add_argument("--stats-interval", type=float, default=2.0, help="Secondi tra riepiloghi prestazioni") ap.add_argument("--max-frames", type=int, default=0, @@ -320,6 +368,14 @@ def parse_args(): help="Logga lo score qualita' di ogni frame") ap.add_argument("--debug-rejected-window", action="store_true", help="Mostra una finestra con i frame scartati dal filtro qualita'") + ap.add_argument("--ocr-roi-quality-filter", action="store_true", + help="Filtra le ROI etichetta troppo sfocate prima dell'OCR") + ap.add_argument("--min-ocr-roi-sharpness", type=float, default=250.0, + help="Soglia minima nitidezza della ROI etichetta per inviarla all'OCR") + ap.add_argument("--ocr-roi-blur-resize-width", type=int, default=240, + help="Larghezza usata per la metrica blur sulle ROI etichetta") + ap.add_argument("--debug-rejected-ocr-roi-window", action="store_true", + help="Mostra una finestra con le ROI etichetta scartate prima dell'OCR") ap.add_argument("--min-confidence", type=float, default=0.30, help="Soglia minima confidenza") @@ -361,6 +417,8 @@ def parse_args(): help=argparse.SUPPRESS) ap.add_argument("--ocr-input", choices=["roi", "processed"], default="roi", help="Immagine passata al motore OCR") + ap.add_argument("--ocr-no-preprocess", action="store_true", + help="Passa all'OCR la ROI etichetta raw uscita da YOLO, senza crop/preprocess") ap.add_argument("--ocr-code-mode", choices=["full", "fixed-band", "large-components"], default="fixed-band", help="Prefiltro per isolare il codice grande") ap.add_argument("--ocr-scale", type=float, default=1.5, @@ -638,7 +696,7 @@ class TesseractOcrEngine: self._args = args def read_digits(self, roi: np.ndarray) -> OcrEngineResult: - code_roi = extract_code_roi(roi, self._args) + code_roi = roi.copy() if self._args.ocr_no_preprocess else extract_code_roi(roi, self._args) return ocr_digits_only(code_roi, self._pytesseract) @@ -657,14 +715,19 @@ class PaddleOcrEngine: self._args = args def read_digits(self, roi: np.ndarray) -> OcrEngineResult: - code_roi = extract_code_roi(roi, self._args) - code_roi = limit_width(code_roi, self._args.ocr_max_width) - processed = preprocess_for_ocr( - code_roi, - scale=self._args.ocr_scale, - max_width=self._args.ocr_max_width, - ) - ocr_input = processed if self._input_mode == "processed" else code_roi + if self._args.ocr_no_preprocess: + code_roi = roi.copy() + processed = code_roi.copy() + ocr_input = code_roi + else: + code_roi = extract_code_roi(roi, self._args) + code_roi = limit_width(code_roi, self._args.ocr_max_width) + processed = preprocess_for_ocr( + code_roi, + scale=self._args.ocr_scale, + max_width=self._args.ocr_max_width, + ) + ocr_input = processed if self._input_mode == "processed" else code_roi result = self._ocr.predict(ocr_input) texts: list[str] = [] for item in result: @@ -710,14 +773,19 @@ class EasyOcrInProcessEngine: log(f"EasyOCR device: {'gpu' if self._using_gpu else 'cpu'}") def read_digits(self, roi: np.ndarray) -> OcrEngineResult: - code_roi = extract_code_roi(roi, self._args) - code_roi = limit_width(code_roi, self._args.ocr_max_width) - processed = preprocess_for_ocr( - code_roi, - scale=self._args.ocr_scale, - max_width=self._args.ocr_max_width, - ) - ocr_input = processed if self._input_mode == "processed" else code_roi + if self._args.ocr_no_preprocess: + code_roi = roi.copy() + processed = code_roi.copy() + ocr_input = code_roi + else: + code_roi = extract_code_roi(roi, self._args) + code_roi = limit_width(code_roi, self._args.ocr_max_width) + processed = preprocess_for_ocr( + code_roi, + scale=self._args.ocr_scale, + max_width=self._args.ocr_max_width, + ) + ocr_input = processed if self._input_mode == "processed" else code_roi result = self._reader.readtext( ocr_input, allowlist="0123456789", @@ -786,14 +854,19 @@ class EasyOcrProcessEngine: if self._proc.poll() is not None: raise RuntimeError("EasyOCR worker non attivo") - code_roi = extract_code_roi(roi, self._args) - code_roi = limit_width(code_roi, self._args.ocr_max_width) - processed = preprocess_for_ocr( - code_roi, - scale=self._args.ocr_scale, - max_width=self._args.ocr_max_width, - ) - ocr_input = processed if self._input_mode == "processed" else code_roi + if self._args.ocr_no_preprocess: + code_roi = roi.copy() + processed = code_roi.copy() + ocr_input = code_roi + else: + code_roi = extract_code_roi(roi, self._args) + code_roi = limit_width(code_roi, self._args.ocr_max_width) + processed = preprocess_for_ocr( + code_roi, + scale=self._args.ocr_scale, + max_width=self._args.ocr_max_width, + ) + ocr_input = processed if self._input_mode == "processed" else code_roi image_path = Path(self._tmpdir.name) / f"ocr_{time.perf_counter_ns()}.png" cv2.imwrite(str(image_path), ocr_input) @@ -1003,6 +1076,79 @@ def detect_yolov2( return detections, info +class UltralyticsDetector: + def __init__(self, model_path: str, device: str): + from ultralytics import YOLO + + self.model = YOLO(model_path) + self.device = device + names = self.model.names + if isinstance(names, dict): + self.classes = [str(names[i]) for i in sorted(names)] + else: + self.classes = [str(name) for name in names] + + def detect( + self, + frame: np.ndarray, + min_confidence: float, + input_size: int, + ) -> tuple[list[Detection], dict[str, float | tuple[int, ...]]]: + t0 = time.perf_counter() + results = self.model.predict( + source=frame, + imgsz=input_size, + conf=min_confidence, + device=self.device, + verbose=False, + ) + t1 = time.perf_counter() + + detections: list[Detection] = [] + if results: + boxes = results[0].boxes + if boxes is not None: + xyxy = boxes.xyxy.cpu().numpy() + confs = boxes.conf.cpu().numpy() + clss = boxes.cls.cpu().numpy().astype(int) + for box, conf, cls_id in zip(xyxy, confs, clss): + x1, y1, x2, y2 = [int(round(v)) for v in box] + x1, y1, x2, y2 = clip_box( + x1, + y1, + x2, + y2, + frame.shape[1], + frame.shape[0], + ) + if x2 <= x1 or y2 <= y1: + continue + class_name = ( + self.classes[cls_id] + if 0 <= cls_id < len(self.classes) + else str(cls_id) + ) + detections.append(Detection( + class_id=int(cls_id), + class_name=class_name, + confidence=float(conf), + bbox=(x1, y1, x2, y2), + )) + + total_ms = (t1 - t0) * 1000.0 + info: dict[str, float | tuple[int, ...]] = { + "shape": (len(detections), 6), + "blob_ms": 0.0, + "forward_ms": total_ms, + "parse_ms": 0.0, + "total_ms": total_ms, + "raw_max": max((det.confidence for det in detections), default=0.0), + "class_max": max((det.confidence for det in detections), default=0.0), + "raw_predictions": np.empty((0, 0), dtype=np.float32), + } + return detections, info + + def best_label_detections( detections: list[Detection], label_name: str, @@ -1160,6 +1306,26 @@ def draw_ocr_debug(ocr_frame: np.ndarray, text: str, preview_width: int) -> np.n return canvas +def draw_rejected_roi_debug(roi_frame: np.ndarray, text: str, preview_width: int) -> np.ndarray: + display = roi_frame.copy() + display = resize_preview(display, preview_width) + canvas_h = display.shape[0] + 55 + canvas_w = max(display.shape[1], 560) + canvas = np.full((canvas_h, canvas_w, 3), 255, dtype=np.uint8) + canvas[:display.shape[0], :display.shape[1]] = display + cv2.putText( + canvas, + text, + (10, display.shape[0] + 35), + cv2.FONT_HERSHEY_SIMPLEX, + 0.85, + (0, 0, 255), + 2, + cv2.LINE_AA, + ) + return canvas + + def resize_for_quality(frame: np.ndarray, target_width: int) -> np.ndarray: if target_width <= 0 or frame.shape[1] <= target_width: return frame @@ -1197,12 +1363,16 @@ def format_stats( avg_display = stats.display_total_ms / max(1, stats.display_frames) avg_quality = stats.quality_total_ms / max(1, stats.quality_cycles) avg_sharpness = stats.quality_score_total / max(1, stats.quality_cycles) + avg_roi_quality = stats.ocr_roi_quality_total_ms / max(1, stats.ocr_roi_quality_cycles) + avg_roi_sharpness = stats.ocr_roi_sharpness_total / max(1, stats.ocr_roi_quality_cycles) return [ f"cap_fps={stats.capture_frames / elapsed:.1f}", f"disp_fps={stats.display_frames / elapsed:.1f}", f"quality yolo_in/reject={stats.yolo_submitted_frames}/{stats.quality_rejected_frames} " f"last={stats.last_quality_score:.1f} avg={avg_sharpness:.1f} ms={avg_quality:.2f}", + f"roi_quality ocr_in/reject={stats.ocr_roi_submitted}/{stats.ocr_roi_rejected} " + f"last={stats.last_ocr_roi_sharpness:.1f} avg={avg_roi_sharpness:.1f} ms={avg_roi_quality:.2f}", f"yolo_fps={stats.yolo_cycles / elapsed:.1f} avg={avg_yolo:.1f}ms fwd={avg_forward:.1f}ms", f"ocr_fps={stats.ocr_cycles / elapsed:.1f} avg={avg_ocr:.1f}ms", f"display_avg={avg_display:.1f}ms", @@ -1218,7 +1388,7 @@ def yolo_worker( frame_buffer: LatestBuffer, roi_buffer: LatestBuffer, shared: SharedState, - net, + detector, classes: list[str], args, roi_id_gen: IdGenerator, @@ -1234,16 +1404,23 @@ def yolo_worker( continue local_frame = packet.frame.copy() - detections, info = detect_yolov2( - net=net, - frame=local_frame, - classes=classes, - min_confidence=args.min_confidence, - nms_threshold=args.nms_threshold, - input_size=args.input_size, - use_nms=args.use_nms, - swap_rb=args.swap_rb, - ) + if args.detector == "ultralytics": + detections, info = detector.detect( + frame=local_frame, + min_confidence=args.min_confidence, + input_size=args.input_size, + ) + else: + detections, info = detect_yolov2( + net=detector, + frame=local_frame, + classes=classes, + min_confidence=args.min_confidence, + nms_threshold=args.nms_threshold, + input_size=args.input_size, + use_nms=args.use_nms, + swap_rb=args.swap_rb, + ) result = DetectionResult( frame_id=packet.frame_id, @@ -1340,6 +1517,39 @@ def yolo_worker( continue roi_copy = roi.copy() + roi_quality_ms = 0.0 + roi_sharpness = 0.0 + roi_quality_passed = True + if args.ocr_roi_quality_filter: + t_roi_quality0 = time.perf_counter() + roi_sharpness = estimate_sharpness( + roi_copy, + args.blur_metric, + args.ocr_roi_blur_resize_width, + ) + roi_quality_ms = (time.perf_counter() - t_roi_quality0) * 1000.0 + roi_quality_passed = roi_sharpness >= args.min_ocr_roi_sharpness + shared.add_ocr_roi_quality_result( + score=roi_sharpness, + passed=roi_quality_passed, + elapsed_ms=roi_quality_ms, + ) + if not roi_quality_passed: + shared.set_debug_rejected_ocr_roi_frame( + roi_copy, + ( + f"ROI SCARTATA sharp={roi_sharpness:.1f} " + f"< {args.min_ocr_roi_sharpness:.1f}" + ), + ) + continue + else: + shared.add_ocr_roi_quality_result( + score=0.0, + passed=True, + elapsed_ms=0.0, + ) + roi_buffer.put(RoiPacket( roi_id=roi_id_gen.next(), source_frame_id=packet.frame_id, @@ -1424,18 +1634,26 @@ def main() -> int: if args.easyocr_worker: return run_easyocr_worker(args) - require_file(args.weights, "File pesi YOLOv2") - require_file(args.config, "File config YOLOv2") - require_file(args.labels, "File labels") - classes = load_classes(args.labels) + require_file(args.weights, "File pesi detector") + if args.detector == "yolov2": + require_file(args.config, "File config YOLOv2") + require_file(args.labels, "File labels") + classes = load_classes(args.labels) + else: + classes = [] cv2.setNumThreads(args.opencv_threads) log(f"OpenCV version: {cv2.__version__}") - log(f"Classi: {classes}") - log(f"Backend richiesto: {args.backend}") + log(f"Detector richiesto: {args.detector}") + log(f"Backend richiesto: {args.backend if args.detector == 'yolov2' else args.ultralytics_device}") - net = cv2.dnn.readNetFromDarknet(args.config, args.weights) - configure_net_backend(net, args.backend) + if args.detector == "ultralytics": + detector = UltralyticsDetector(args.weights, args.ultralytics_device) + classes = detector.classes + else: + detector = cv2.dnn.readNetFromDarknet(args.config, args.weights) + configure_net_backend(detector, args.backend) + log(f"Classi: {classes}") cap, source_name = open_capture(args.video) if not cap.isOpened(): @@ -1451,8 +1669,8 @@ def main() -> int: yolo_thread = threading.Thread( target=yolo_worker, - name="yolo-worker", - args=(stop_event, frame_buffer, roi_buffer, shared, net, classes, args, roi_id_gen), + name="detector-worker", + args=(stop_event, frame_buffer, roi_buffer, shared, detector, classes, args, roi_id_gen), daemon=True, ) yolo_thread.start() @@ -1476,6 +1694,8 @@ def main() -> int: cv2.namedWindow("flywms ocr", cv2.WINDOW_NORMAL) if args.quality_filter and args.debug_rejected_window: cv2.namedWindow("flywms scartati", cv2.WINDOW_NORMAL) + if args.ocr_roi_quality_filter and args.debug_rejected_ocr_roi_window: + cv2.namedWindow("flywms etichette scartate", cv2.WINDOW_NORMAL) frame_id = 0 last_stats_log = time.perf_counter() @@ -1552,27 +1772,46 @@ def main() -> int: ) latest_detection = shared.get_latest_detection() if latest_detection is not None: - display_detections = list(latest_detection.detections) - if args.infer_gaylord_from_label: - inferred_gaylords = infer_gaylords_from_labels( - latest_detection.detections, - latest_detection.source_width, - latest_detection.source_height, - args.label_class, - args.inferred_gaylord_width_factor, - args.inferred_gaylord_height_factor, - args.inferred_gaylord_y_shift, + detection_lag = frame_id - latest_detection.frame_id + if 0 <= detection_lag <= args.capture_overlay_max_lag: + display_detections = list(latest_detection.detections) + if args.infer_gaylord_from_label: + inferred_gaylords = infer_gaylords_from_labels( + latest_detection.detections, + latest_detection.source_width, + latest_detection.source_height, + args.label_class, + args.inferred_gaylord_width_factor, + args.inferred_gaylord_height_factor, + args.inferred_gaylord_y_shift, + ) + display_detections.extend(inferred_gaylords) + for det in display_detections: + draw_detection(display, det, args.label_class) + else: + cv2.putText( + display, + f"det lag={detection_lag} frame", + (20, 78), + cv2.FONT_HERSHEY_SIMPLEX, + 0.9, + (0, 0, 255), + 2, + cv2.LINE_AA, ) - display_detections.extend(inferred_gaylords) - for det in display_detections: - draw_detection(display, det, args.label_class) draw_ocr_results(display, shared.get_recent_ocr_results()) draw_status(display, format_stats(shared, frame_buffer, roi_buffer, start_time)[:5]) display = resize_preview(display, args.preview_width) cv2.imshow("flywms capture", display) - debug_yolo, debug_ocr, debug_ocr_text = shared.get_debug_frames() + ( + debug_yolo, + debug_ocr, + debug_ocr_text, + debug_rejected_ocr, + debug_rejected_ocr_text, + ) = shared.get_debug_frames() if args.debug_yolo_window and debug_yolo is not None: cv2.imshow("flywms yolo", debug_yolo) if (args.debug_ocr_window or not args.no_ocr) and debug_ocr is not None: @@ -1580,6 +1819,19 @@ def main() -> int: "flywms ocr", draw_ocr_debug(debug_ocr, debug_ocr_text, args.preview_width), ) + if ( + args.ocr_roi_quality_filter + and args.debug_rejected_ocr_roi_window + and debug_rejected_ocr is not None + ): + cv2.imshow( + "flywms etichette scartate", + draw_rejected_roi_debug( + debug_rejected_ocr, + debug_rejected_ocr_text, + args.preview_width, + ), + ) if ( args.quality_filter and args.debug_rejected_window diff --git a/flywms_navigate_spec.rtf b/flywms_navigate_spec.rtf new file mode 100644 index 0000000..498810f --- /dev/null +++ b/flywms_navigate_spec.rtf @@ -0,0 +1,255 @@ +{\rtf1\ansi\deff0 +{\fonttbl{\f0 Calibri;}{\f1 Consolas;}} +\fs24 +\b Specifica flywms_navigate - navigazione geometrica e snapshot UDC\b0\par +\par +\b 1. Obiettivo\b0\par +Realizzare uno script separato, chiamato flywms_navigate.py, che usi solo la parte detector YOLO/Ultralytics per simulare la navigazione laterale di un drone davanti a una scaffalatura.\par +\par +Lo script non deve ancora fare OCR. Deve invece osservare i gaylord rilevati nel video, seguirli per alcuni frame, capire quando uno di essi si trova in posizione utile al centro della visuale, e generare un evento testuale equivalente a:\par +\f1 +STOP\par +SCATTA_FOTO\par +ASSOCIA_POSIZIONE gaylord_N\par +RIPARTI_DESTRA\par +\f0 +\par +In questa fase la posizione reale del drone viene simulata con una sequenza logica: gaylord 1, gaylord 2, gaylord 3, ecc.\par +\par +Il punto fondamentale e' separare la guida dal riconoscimento codice. Il detector lavora sul flusso video live e decide quando congelare uno snapshot. L'OCR lavorera' dopo, su uno snapshot gia' scelto, insieme alla posizione del drone registrata nel momento corretto.\par +\par +\b 2. Problema che vogliamo risolvere\b0\par +Nella pipeline attuale il video continua a scorrere mentre YOLO e OCR lavorano in asincrono. Questo va bene per misurare prestazioni, ma non va bene per la geometria della navigazione: quando arriva il risultato OCR, la posizione del drone potrebbe essere gia' cambiata.\par +\par +Per la navigazione non dobbiamo aspettare l'OCR per decidere dove siamo. Dobbiamo invece creare un pacchetto dati congelato nel momento in cui la geometria dice che il gaylord e' nella posizione giusta.\par +\par +\f1 +NavigationSnapshot\par + snapshot_id\par + frame_id\par + timestamp_video\par + simulated_position = "gaylord N"\par + drone_pose_simulata\par + track_id\par + gaylord_bbox\par + gaylord_center\par + gaylord_area\par + frame_image\par + quality_score opzionale\par +\f0 +\par +Questo oggetto potra' poi essere mandato all'OCR o al backend WMS senza perdere il legame con la posizione.\par +\par +\b 3. Concetto di tracking leggero\b0\par +Il tracking leggero serve a capire che un bbox rilevato nel frame corrente e' probabilmente lo stesso oggetto visto nei frame precedenti.\par +\par +Non serve ancora un tracker complesso come DeepSORT. Per questa prima versione basta associare i bbox di frame consecutivi usando regole geometriche semplici:\par +\par +- vicinanza del centro bbox;\par +- sovrapposizione tra bbox, cioe' IoU;\par +- continuita' della dimensione/area;\par +- coerenza del movimento orizzontale.\par +\par +Ogni gaylord seguito nel tempo diventa una traccia, cioe' una Track.\par +\par +\f1 +Track\par + id\par + bbox corrente\par + center corrente\par + area corrente\par + bbox_history ultimi N frame\par + center_history ultimi N frame\par + area_history ultimi N frame\par + first_seen_frame\par + last_seen_frame\par + hits = quante volte e' stato visto\par + missed = quanti frame consecutivi non e' stato visto\par + state = entering | candidate | centered | snapshotted | exiting | lost\par + already_snapshotted = true/false\par +\f0 +\par +Se in un frame YOLO rileva tre gaylord, il tracker mantiene tre tracce diverse. Una puo' uscire verso sinistra, una puo' essere al centro, una puo' entrare da destra.\par +\par +\b 4. Associazione detection-track\b0\par +Per ogni frame:\par +\par +1. YOLO produce una lista di bbox di classe gaylord.\par +2. Per ogni detection si cerca la Track esistente piu' compatibile.\par +3. La compatibilita' puo' essere calcolata con uno score:\par +\par +\f1 +score = 0.7 * IoU(track.bbox, detection.bbox)\par + + 0.3 * center_similarity(track.center, detection.center)\par +\f0 +\par +4. Se lo score supera una soglia, la detection aggiorna quella Track.\par +5. Se nessuna Track e' compatibile, nasce una nuova Track.\par +6. Le Track non aggiornate aumentano missed.\par +7. Se missed supera una soglia, la Track diventa lost e viene rimossa.\par +\par +Per una prima implementazione possiamo anche partire con una regola piu' semplice: associare al track piu' vicino se la distanza tra centri e' minore di una certa percentuale della larghezza immagine. Poi raffiniamo con IoU.\par +\par +\b 5. Come decidere quando scattare\b0\par +Lo snapshot deve avvenire quando una Track rappresenta un gaylord utile, cioe' non tagliato, abbastanza grande, stabile e vicino al centro della visuale.\par +\par +Criteri iniziali proposti:\par +\par +- classe = gaylord;\par +- bbox non tagliato dai bordi immagine, con margine minimo configurabile;\par +- area bbox sopra una soglia minima;\par +- centro X bbox dentro una fascia centrale configurabile;\par +- centro Y dentro una fascia utile verticale configurabile;\par +- Track vista per almeno N frame;\par +- area non sta piu' crescendo in modo forte, oppure e' abbastanza stabile;\par +- la Track non ha gia' generato snapshot.\par +\par +La fascia centrale puo' essere visualizzata nella finestra debug con due linee verticali:\par +\par +\f1 +center_x = frame_width / 2\par +tolerance = frame_width * 0.10\par +zona_centrale = [center_x - tolerance, center_x + tolerance]\par +\f0 +\par +Quando il centro del gaylord entra in questa zona e i criteri sono soddisfatti, lo script genera:\par +\par +\f1 +[NAV] track=4 centered frame=1234 pos=gaylord 7\par +[CMD] STOP\par +[CMD] SCATTA_FOTO snapshot_0007.jpg\par +[CMD] ASSOCIA_POSIZIONE gaylord 7\par +[CMD] RIPARTI_DESTRA delay=1.0s\par +\f0 +\par +\b 6. Gestione del migliore snapshot\b0\par +Invece di scattare una sola immagine esattamente quando il centro entra nella fascia, possiamo raccogliere un piccolo gruppo di candidate snapshot per la stessa Track.\par +\par +Esempio:\par +\par +- quando la Track entra nella fascia centrale, si apre una finestra temporale di selezione;\par +- per i successivi K frame compatibili si calcola un punteggio;\par +- alla fine si salva solo il migliore.\par +\par +Punteggio iniziale:\par +\par +\f1 +center_score = 1 - abs(bbox_center_x - frame_center_x) / center_tolerance\par +size_score = normalized_bbox_area\par +cut_score = 1 se bbox non tagliato, 0 se tagliato\par +sharpness_score = opzionale, non obbligatorio per la geometria\par +\par +snapshot_score = 0.50 * center_score\par + + 0.30 * size_score\par + + 0.20 * cut_score\par +\f0 +\par +Per ora non usiamo OCR e non usiamo il filtro blur come vincolo primario, perche' il detector riesce a localizzare anche immagini leggermente sfocate. La nitidezza potra' entrare solo come criterio secondario per scegliere la foto migliore da passare all'OCR.\par +\par +\b 7. Pseudocodice generale\b0\par +\f1 +inizializza YOLO Ultralytics\par +apri video o camera\par +inizializza tracker vuoto\par +inizializza snapshot_counter = 0\par +inizializza simulated_position_counter = 0\par +\par +per ogni frame:\par + frame_id += 1\par + detections = yolo.detect(frame)\par + gaylord_detections = filtra detections dove classe == "gaylord"\par +\par + tracker.update(gaylord_detections, frame_id)\par +\par + per ogni track attiva:\par + calcola center_x, center_y, area\par + calcola se bbox e' tagliato\par + calcola trend area: crescente, stabile, decrescente\par + calcola distanza dal centro frame\par +\par + se track e' eleggibile per snapshot:\par + aggiungi frame corrente ai candidati della track\par + aggiorna miglior candidato in base a snapshot_score\par +\par + se finestra candidati della track e' completa:\par + snapshot_counter += 1\par + simulated_position_counter += 1\par + salva miglior frame candidato su disco\par + crea NavigationSnapshot\par + stampa comandi:\par + STOP\par + SCATTA_FOTO\par + ASSOCIA_POSIZIONE gaylord simulated_position_counter\par + RIPARTI_DESTRA\par + marca track.already_snapshotted = true\par +\par + disegna debug:\par + bbox gaylord\par + track id\par + centro bbox\par + fascia centrale\par + stato track\par + ultimo comando generato\par +\par + mostra finestra flywms navigate\par +\f0 +\par +\b 8. Stati della Track\b0\par +\f1 +entering\par +\f0 +La Track e' appena nata o sta entrando nella visuale. Area spesso crescente, centro lontano dal centro frame.\par +\par +\f1 +candidate\par +\f0 +La Track e' stabile, visibile da alcuni frame, non e' tagliata e si sta avvicinando alla zona centrale.\par +\par +\f1 +centered\par +\f0 +Il centro bbox e' dentro la fascia centrale. La Track puo' produrre candidati snapshot.\par +\par +\f1 +snapshotted\par +\f0 +La Track ha gia' prodotto uno snapshot. Non deve produrne altri, anche se resta visibile.\par +\par +\f1 +exiting\par +\f0 +Il gaylord si sta allontanando dal centro o sta uscendo dalla visuale.\par +\par +\f1 +lost\par +\f0 +La Track non viene piu' rilevata da troppi frame e viene rimossa.\par +\par +\b 9. Parametri iniziali suggeriti\b0\par +\f1 +--center-tolerance-ratio 0.10\par +--usable-y-min-ratio 0.15\par +--usable-y-max-ratio 0.85\par +--min-track-hits 3\par +--max-track-missed 8\par +--min-gaylord-area-ratio 0.04\par +--edge-margin-ratio 0.02\par +--snapshot-window-frames 5\par +--snapshot-output-dir navigate_snapshots\par +\f0 +\par +\b 10. Output atteso della prima versione\b0\par +La prima versione di flywms_navigate.py deve produrre:\par +\par +- una finestra video con bbox gaylord, track id e zona centrale;\par +- log testuali dei comandi simulati;\par +- immagini snapshot salvate su disco;\par +- un file log CSV o JSONL con frame_id, track_id, bbox, posizione simulata e nome file snapshot;\par +- nessuna dipendenza dall'OCR.\par +\par +\b 11. Nota sulla direzione di movimento\b0\par +Per ora assumiamo movimento da sinistra verso destra del drone rispetto alla scaffalatura, come nel ragionamento iniziale. Nel video, pero', gli oggetti possono apparire con moto apparente non perfettamente regolare per via della ripresa manuale. Per questo la prima versione deve basarsi soprattutto sul centro del bbox e sulla continuita' della Track, non su un modello cinematico troppo rigido.\par +\par +\b 12. Passo successivo dopo questa specifica\b0\par +Implementare flywms_navigate.py usando il detector Ultralytics gia' integrato in flywms.py, ma senza OCR. Quando la scelta degli snapshot sara' visivamente corretta, collegheremo ogni NavigationSnapshot alla pipeline OCR e poi alla logica WMS.\par +} diff --git a/predefined_classes.txt b/predefined_classes.txt new file mode 100644 index 0000000..8617265 --- /dev/null +++ b/predefined_classes.txt @@ -0,0 +1,2 @@ +gaylord +etichetta diff --git a/runs/flywms_yolo11n_quick20/BoxF1_curve.png b/runs/flywms_yolo11n_quick20/BoxF1_curve.png new file mode 100644 index 0000000..d146214 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/BoxF1_curve.png differ diff --git a/runs/flywms_yolo11n_quick20/BoxPR_curve.png b/runs/flywms_yolo11n_quick20/BoxPR_curve.png new file mode 100644 index 0000000..7e18c2c Binary files /dev/null and b/runs/flywms_yolo11n_quick20/BoxPR_curve.png differ diff --git a/runs/flywms_yolo11n_quick20/BoxP_curve.png b/runs/flywms_yolo11n_quick20/BoxP_curve.png new file mode 100644 index 0000000..342bc09 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/BoxP_curve.png differ diff --git a/runs/flywms_yolo11n_quick20/BoxR_curve.png b/runs/flywms_yolo11n_quick20/BoxR_curve.png new file mode 100644 index 0000000..6fe9b62 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/BoxR_curve.png differ diff --git a/runs/flywms_yolo11n_quick20/args.yaml b/runs/flywms_yolo11n_quick20/args.yaml new file mode 100644 index 0000000..00fa8b1 --- /dev/null +++ b/runs/flywms_yolo11n_quick20/args.yaml @@ -0,0 +1,110 @@ +task: detect +mode: train +model: C:\devel\flywms\yolo11n.pt +data: C:\devel\flywms\dataset_yolo\data.yaml +epochs: 20 +time: null +patience: 100 +batch: 4 +imgsz: 640 +save: true +save_period: -1 +cache: false +device: cpu +workers: 0 +project: C:\devel\flywms\runs +name: flywms_yolo11n_quick20 +exist_ok: true +pretrained: true +optimizer: auto +verbose: true +seed: 0 +deterministic: true +single_cls: false +rect: false +cos_lr: false +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.01 +lrf: 0.01 +momentum: 0.937 +weight_decay: 0.0005 +warmup_epochs: 3.0 +warmup_momentum: 0.8 +warmup_bias_lr: 0.1 +box: 7.5 +cls: 0.5 +cls_pw: 0.0 +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: C:\devel\flywms\runs\flywms_yolo11n_quick20 diff --git a/runs/flywms_yolo11n_quick20/confusion_matrix.png b/runs/flywms_yolo11n_quick20/confusion_matrix.png new file mode 100644 index 0000000..aa205f8 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/confusion_matrix.png differ diff --git a/runs/flywms_yolo11n_quick20/confusion_matrix_normalized.png b/runs/flywms_yolo11n_quick20/confusion_matrix_normalized.png new file mode 100644 index 0000000..2cd51ff Binary files /dev/null and b/runs/flywms_yolo11n_quick20/confusion_matrix_normalized.png differ diff --git a/runs/flywms_yolo11n_quick20/labels.jpg b/runs/flywms_yolo11n_quick20/labels.jpg new file mode 100644 index 0000000..224bcf2 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/labels.jpg differ diff --git a/runs/flywms_yolo11n_quick20/results.csv b/runs/flywms_yolo11n_quick20/results.csv new file mode 100644 index 0000000..4e1833a --- /dev/null +++ b/runs/flywms_yolo11n_quick20/results.csv @@ -0,0 +1,21 @@ +epoch,time,train/box_loss,train/cls_loss,train/dfl_loss,metrics/precision(B),metrics/recall(B),metrics/mAP50(B),metrics/mAP50-95(B),val/box_loss,val/cls_loss,val/dfl_loss,lr/pg0,lr/pg1,lr/pg2 +1,51.2151,0.88849,3.04479,1.08039,0.01871,0.87698,0.33412,0.29073,0.6261,3.08633,0.81923,0.00025005,0.00025005,0.00025005 +2,101.332,0.69312,2.40144,0.94566,0.01879,0.90023,0.37032,0.33453,0.65828,2.97117,0.82994,0.00049119,0.00049119,0.00049119 +3,151.427,0.71463,1.81817,0.92521,0.01813,0.91186,0.7598,0.62923,0.73465,2.60716,0.8333,0.000705924,0.000705924,0.000705924 +4,201.872,0.79288,1.59143,0.9471,0.96051,0.71276,0.80155,0.65319,0.71983,2.08344,0.82502,0.000894254,0.000894254,0.000894254 +5,251.321,0.77401,1.42126,0.92999,0.94858,0.7625,0.84101,0.67063,0.74182,1.86154,0.84867,0.00105618,0.00105618,0.00105618 +6,301.702,0.74178,1.34433,0.92154,0.97332,0.74092,0.85263,0.7078,0.76636,1.70358,0.87237,0.0011917,0.0011917,0.0011917 +7,352.638,0.74744,1.2363,0.9384,0.971,0.76381,0.86072,0.70977,0.72111,1.38135,0.84374,0.0011719,0.0011719,0.0011719 +8,403.04,0.68641,1.09602,0.93281,0.94469,0.79075,0.88458,0.71879,0.72967,1.25264,0.8701,0.00108938,0.00108938,0.00108938 +9,452.017,0.72809,1.10366,0.94587,0.93226,0.8386,0.90331,0.74031,0.7194,1.12748,0.87413,0.00100687,0.00100687,0.00100687 +10,502.551,0.7019,1.00921,0.92408,0.89639,0.80002,0.90622,0.72821,0.72233,1.08835,0.86153,0.000924352,0.000924352,0.000924352 +11,553.611,0.65562,1.10138,0.91495,0.85793,0.82164,0.89744,0.70137,0.77106,1.11163,0.87059,0.000841835,0.000841835,0.000841835 +12,602.999,0.64027,0.9959,0.91561,0.95089,0.83254,0.91032,0.71336,0.72627,1.05903,0.85517,0.000759318,0.000759318,0.000759318 +13,653.387,0.61253,0.96051,0.88927,0.94831,0.84919,0.91059,0.73189,0.7031,0.97285,0.8519,0.000676802,0.000676802,0.000676802 +14,700.996,0.61113,0.94359,0.89706,0.95557,0.82642,0.90477,0.73034,0.67461,0.97665,0.84954,0.000594286,0.000594286,0.000594286 +15,746.698,0.61377,0.94243,0.89531,0.95608,0.81608,0.90121,0.75121,0.63197,0.91285,0.83643,0.000511769,0.000511769,0.000511769 +16,793.381,0.59259,0.89758,0.8953,0.98474,0.7951,0.90025,0.75738,0.62957,0.86628,0.83671,0.000429253,0.000429253,0.000429253 +17,839.343,0.56818,0.85172,0.86904,0.96828,0.8092,0.90115,0.75737,0.63954,0.84695,0.84413,0.000346736,0.000346736,0.000346736 +18,887.796,0.58209,0.89463,0.89231,0.97416,0.81431,0.90297,0.75298,0.63761,0.83079,0.84169,0.00026422,0.00026422,0.00026422 +19,933.73,0.58816,0.87268,0.87924,0.97418,0.81498,0.90505,0.76205,0.6247,0.81969,0.83871,0.000181703,0.000181703,0.000181703 +20,978.856,0.54821,0.86168,0.87146,0.93832,0.82536,0.90508,0.76455,0.61497,0.81882,0.83666,9.91865e-05,9.91865e-05,9.91865e-05 diff --git a/runs/flywms_yolo11n_quick20/results.png b/runs/flywms_yolo11n_quick20/results.png new file mode 100644 index 0000000..6ec0f43 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/results.png differ diff --git a/runs/flywms_yolo11n_quick20/train_batch0.jpg b/runs/flywms_yolo11n_quick20/train_batch0.jpg new file mode 100644 index 0000000..fd1a68c Binary files /dev/null and b/runs/flywms_yolo11n_quick20/train_batch0.jpg differ diff --git a/runs/flywms_yolo11n_quick20/train_batch1.jpg b/runs/flywms_yolo11n_quick20/train_batch1.jpg new file mode 100644 index 0000000..a8849db Binary files /dev/null and b/runs/flywms_yolo11n_quick20/train_batch1.jpg differ diff --git a/runs/flywms_yolo11n_quick20/train_batch160.jpg b/runs/flywms_yolo11n_quick20/train_batch160.jpg new file mode 100644 index 0000000..ba4a8d3 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/train_batch160.jpg differ diff --git a/runs/flywms_yolo11n_quick20/train_batch161.jpg b/runs/flywms_yolo11n_quick20/train_batch161.jpg new file mode 100644 index 0000000..b98e459 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/train_batch161.jpg differ diff --git a/runs/flywms_yolo11n_quick20/train_batch162.jpg b/runs/flywms_yolo11n_quick20/train_batch162.jpg new file mode 100644 index 0000000..35b59d6 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/train_batch162.jpg differ diff --git a/runs/flywms_yolo11n_quick20/train_batch2.jpg b/runs/flywms_yolo11n_quick20/train_batch2.jpg new file mode 100644 index 0000000..5f19004 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/train_batch2.jpg differ diff --git a/runs/flywms_yolo11n_quick20/val_batch0_labels.jpg b/runs/flywms_yolo11n_quick20/val_batch0_labels.jpg new file mode 100644 index 0000000..037be71 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/val_batch0_labels.jpg differ diff --git a/runs/flywms_yolo11n_quick20/val_batch0_pred.jpg b/runs/flywms_yolo11n_quick20/val_batch0_pred.jpg new file mode 100644 index 0000000..32cffae Binary files /dev/null and b/runs/flywms_yolo11n_quick20/val_batch0_pred.jpg differ diff --git a/runs/flywms_yolo11n_quick20/val_batch1_labels.jpg b/runs/flywms_yolo11n_quick20/val_batch1_labels.jpg new file mode 100644 index 0000000..4001965 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/val_batch1_labels.jpg differ diff --git a/runs/flywms_yolo11n_quick20/val_batch1_pred.jpg b/runs/flywms_yolo11n_quick20/val_batch1_pred.jpg new file mode 100644 index 0000000..1d00e91 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/val_batch1_pred.jpg differ diff --git a/runs/flywms_yolo11n_quick20/weights/best.pt b/runs/flywms_yolo11n_quick20/weights/best.pt new file mode 100644 index 0000000..d0cd05a Binary files /dev/null and b/runs/flywms_yolo11n_quick20/weights/best.pt differ diff --git a/runs/flywms_yolo11n_quick20/weights/last.pt b/runs/flywms_yolo11n_quick20/weights/last.pt new file mode 100644 index 0000000..c455932 Binary files /dev/null and b/runs/flywms_yolo11n_quick20/weights/last.pt differ diff --git a/yolo11n.pt b/yolo11n.pt new file mode 100644 index 0000000..45b273b Binary files /dev/null and b/yolo11n.pt differ