a gold outline the reviewer kept from the model's proposal is not judged
CI / ledger-and-tools (push) Successful in 19s
CI / ledger-and-tools (push) Successful in 19s
454 of the 1 029 gold outlines are a proposal kept unchanged (loop 159 of 317, pin 140 of
224, face 140 of 295, crystal 14 of 149): the pre-labelling model's own masks. The
evaluation now ignores them object by object for every model, like a crowd region: they
leave the gold, and an unmatched prediction on one of them is not a false alarm.
tools/gold_kept.py finds them against the studio's batch proposals (mask IoU >= 0.98) and
writes data/gold/kept_machine.json; evaluate_image, evaluate_dirs and gate_stats.per_frame
read it. With it, the frame-level exclusion of 845bd87 is no longer applied (it stays as
the fallback without the file), so the gold set can grow with frames the active model
pre-labelled. Every registry model is measured again on this basis and the three v5 runs
are re-gated, without promotion.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013uu3Bxsu5JqFhaWa9Ftu6z
This commit is contained in:
1 parent
845bd87bb3
commit
63ee07fe61
38 files changed
+4800
-3173
No files matched your search
@@ -0,0 +1,892 @@
|
||||
{
|
||||
"built": "2026-10-25T09:43:48",
|
||||
"frames": {
|
||||
"tpi_10130": [
|
||||
1
|
||||
],
|
||||
"tpi_14689": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_16092": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_16223": [
|
||||
0
|
||||
],
|
||||
"tpi_16235": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_16252": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_16321": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_16325": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_16361": [
|
||||
0
|
||||
],
|
||||
"tpi_16956": [
|
||||
0
|
||||
],
|
||||
"tpi_17889": [
|
||||
0
|
||||
],
|
||||
"tpi_24512": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_2869": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_31669": [
|
||||
0
|
||||
],
|
||||
"tpi_31928": [
|
||||
0
|
||||
],
|
||||
"tpi_32422": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_32690": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_32762": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_33849": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_34038": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_34389": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_36563": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_44119": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_45649": [
|
||||
0
|
||||
],
|
||||
"tpi_46469": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_48284": [
|
||||
0
|
||||
],
|
||||
"tpi_48572": [
|
||||
0
|
||||
],
|
||||
"tpi_48994": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_49039": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"tpi_50822": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_51387": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_51699": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_51773": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_52248": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_52402": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_53961": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_5421": [
|
||||
0
|
||||
],
|
||||
"tpi_54266": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_54621": [
|
||||
0
|
||||
],
|
||||
"tpi_55277": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_55303": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_55371": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_55383": [
|
||||
0
|
||||
],
|
||||
"tpi_55408": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_55416": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_55896": [
|
||||
2
|
||||
],
|
||||
"tpi_55912": [
|
||||
0
|
||||
],
|
||||
"tpi_56012": [
|
||||
0
|
||||
],
|
||||
"tpi_56096": [
|
||||
0
|
||||
],
|
||||
"tpi_56104": [
|
||||
0
|
||||
],
|
||||
"tpi_56717": [
|
||||
0
|
||||
],
|
||||
"tpi_56840": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_57300": [
|
||||
0
|
||||
],
|
||||
"tpi_57342": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_57684": [
|
||||
0
|
||||
],
|
||||
"tpi_57702": [
|
||||
1
|
||||
],
|
||||
"tpi_57991": [
|
||||
0
|
||||
],
|
||||
"tpi_59080": [
|
||||
0
|
||||
],
|
||||
"tpi_59496": [
|
||||
0
|
||||
],
|
||||
"tpi_59564": [
|
||||
0
|
||||
],
|
||||
"tpi_59868": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_59935": [
|
||||
0
|
||||
],
|
||||
"tpi_59988": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_60116": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_60129": [
|
||||
0
|
||||
],
|
||||
"tpi_60568": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_60625": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_60637": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61066": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61069": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61087": [
|
||||
0
|
||||
],
|
||||
"tpi_61136": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61317": [
|
||||
0
|
||||
],
|
||||
"tpi_61327": [
|
||||
0
|
||||
],
|
||||
"tpi_61334": [
|
||||
0
|
||||
],
|
||||
"tpi_61343": [
|
||||
0
|
||||
],
|
||||
"tpi_61344": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61358": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61361": [
|
||||
0
|
||||
],
|
||||
"tpi_61364": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61372": [
|
||||
0
|
||||
],
|
||||
"tpi_61374": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61379": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61380": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_61381": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61385": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_61392": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_61411": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61419": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61430": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_61439": [
|
||||
0
|
||||
],
|
||||
"tpi_61441": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61442": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61443": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61445": [
|
||||
0
|
||||
],
|
||||
"tpi_61447": [
|
||||
0
|
||||
],
|
||||
"tpi_61449": [
|
||||
0
|
||||
],
|
||||
"tpi_61452": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61457": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61565": [
|
||||
0
|
||||
],
|
||||
"tpi_61572": [
|
||||
0
|
||||
],
|
||||
"tpi_61579": [
|
||||
0
|
||||
],
|
||||
"tpi_61581": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_61594": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_61610": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61613": [
|
||||
0
|
||||
],
|
||||
"tpi_61627": [
|
||||
0
|
||||
],
|
||||
"tpi_61651": [
|
||||
0
|
||||
],
|
||||
"tpi_61670": [
|
||||
0
|
||||
],
|
||||
"tpi_61702": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_61769": [
|
||||
0
|
||||
],
|
||||
"tpi_61839": [
|
||||
0
|
||||
],
|
||||
"tpi_61865": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62017": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62033": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62361": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62413": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62598": [
|
||||
0
|
||||
],
|
||||
"tpi_62617": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62621": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62622": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62623": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62631": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62634": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"tpi_62640": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62645": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62646": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62649": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62656": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62669": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62682": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62692": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62697": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62700": [
|
||||
0
|
||||
],
|
||||
"tpi_62703": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62711": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62717": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62718": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62719": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62720": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62739": [
|
||||
0,
|
||||
2
|
||||
],
|
||||
"tpi_62740": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62742": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62745": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62746": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62747": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62749": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62751": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62754": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62755": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62756": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62757": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62758": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62759": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62760": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62761": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62762": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62763": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62764": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62766": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62767": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62768": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62769": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62772": [
|
||||
0
|
||||
],
|
||||
"tpi_62773": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62775": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_62776": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62910": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62927": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62928": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_62965": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_63041": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63202": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63206": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_63207": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_63223": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63226": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_63228": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63234": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63239": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63376": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_63389": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_63390": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"tpi_63416": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_63420": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"tpi_63426": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_63434": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63436": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_63461": [
|
||||
0
|
||||
],
|
||||
"tpi_63463": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_63479": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63481": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"tpi_63484": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63490": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63492": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63516": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63517": [
|
||||
0
|
||||
],
|
||||
"tpi_63518": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63522": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63535": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_63540": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"tpi_63546": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"tpi_63548": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_63554": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_8285": [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"tpi_8378": [
|
||||
0
|
||||
],
|
||||
"tpi_8507": [
|
||||
0
|
||||
]
|
||||
},
|
||||
"gold_by_class": {
|
||||
"crystal": 149,
|
||||
"ice": 43,
|
||||
"loop_all": 317,
|
||||
"loop_face": 295,
|
||||
"needle": 1,
|
||||
"pin": 224
|
||||
},
|
||||
"gold_frames": 335,
|
||||
"iou": 0.98,
|
||||
"kept_by_class": {
|
||||
"crystal": 14,
|
||||
"ice": 1,
|
||||
"loop_all": 159,
|
||||
"loop_face": 140,
|
||||
"pin": 140
|
||||
},
|
||||
"source": "/home/jungfrau/AareLC_studio/data/pipeline_prod",
|
||||
"with_a_proposal": 265
|
||||
}
|
||||
@@ -1,52 +1,52 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 296,
|
||||
"fp": 30,
|
||||
"fn": 21,
|
||||
"precision": 0.9079754601226994,
|
||||
"recall": 0.9337539432176656,
|
||||
"f1": 0.9206842923794711,
|
||||
"mean_mask_iou": 0.9073751532898063,
|
||||
"n_matched": 296
|
||||
"tp": 143,
|
||||
"fp": 29,
|
||||
"fn": 15,
|
||||
"precision": 0.8313953488372093,
|
||||
"recall": 0.9050632911392406,
|
||||
"f1": 0.8666666666666667,
|
||||
"mean_mask_iou": 0.8674415312015792,
|
||||
"n_matched": 143
|
||||
},
|
||||
"pin": {
|
||||
"tp": 210,
|
||||
"fp": 31,
|
||||
"fn": 14,
|
||||
"precision": 0.8713692946058091,
|
||||
"recall": 0.9375,
|
||||
"f1": 0.9032258064516129,
|
||||
"mean_mask_iou": 0.9251018239521286,
|
||||
"n_matched": 210
|
||||
"tp": 72,
|
||||
"fp": 28,
|
||||
"fn": 12,
|
||||
"precision": 0.72,
|
||||
"recall": 0.8571428571428571,
|
||||
"f1": 0.782608695652174,
|
||||
"mean_mask_iou": 0.9005936416376064,
|
||||
"n_matched": 72
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 63,
|
||||
"tp": 59,
|
||||
"fp": 60,
|
||||
"fn": 86,
|
||||
"precision": 0.5121951219512195,
|
||||
"recall": 0.4228187919463087,
|
||||
"f1": 0.4632352941176471,
|
||||
"mean_mask_iou": 0.7350608356484347,
|
||||
"n_matched": 63
|
||||
"fn": 76,
|
||||
"precision": 0.4957983193277311,
|
||||
"recall": 0.43703703703703706,
|
||||
"f1": 0.4645669291338583,
|
||||
"mean_mask_iou": 0.7375392182625371,
|
||||
"n_matched": 59
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 242,
|
||||
"fp": 57,
|
||||
"fn": 53,
|
||||
"precision": 0.8093645484949833,
|
||||
"recall": 0.8203389830508474,
|
||||
"f1": 0.8148148148148148,
|
||||
"mean_mask_iou": 0.8947509538634725,
|
||||
"n_matched": 242
|
||||
"tp": 116,
|
||||
"fp": 53,
|
||||
"fn": 39,
|
||||
"precision": 0.6863905325443787,
|
||||
"recall": 0.7483870967741936,
|
||||
"f1": 0.7160493827160493,
|
||||
"mean_mask_iou": 0.8449184154775634,
|
||||
"n_matched": 116
|
||||
},
|
||||
"ice": {
|
||||
"tp": 4,
|
||||
"fp": 14,
|
||||
"fn": 39,
|
||||
"fn": 38,
|
||||
"precision": 0.2222222222222222,
|
||||
"recall": 0.09302325581395349,
|
||||
"f1": 0.13114754098360654,
|
||||
"recall": 0.09523809523809523,
|
||||
"f1": 0.13333333333333333,
|
||||
"mean_mask_iou": 0.8004176972482764,
|
||||
"n_matched": 4
|
||||
},
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 815,
|
||||
"fp": 192,
|
||||
"fn": 214,
|
||||
"precision": 0.8093346573982125,
|
||||
"recall": 0.7920310981535471,
|
||||
"f1": 0.8005893909626718,
|
||||
"mean_mask_iou": 0.89434927935403,
|
||||
"n_matched": 815
|
||||
"tp": 394,
|
||||
"fp": 184,
|
||||
"fn": 181,
|
||||
"precision": 0.6816608996539792,
|
||||
"recall": 0.6852173913043478,
|
||||
"f1": 0.6834345186470078,
|
||||
"mean_mask_iou": 0.8467357919330295,
|
||||
"n_matched": 394
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 336,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-alc-v1-2026-09-28/weights.pt",
|
||||
"environment": {
|
||||
@@ -83,5 +84,5 @@
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-22T11:38:35"
|
||||
"measured_at": "2026-10-25T09:45:18"
|
||||
}
|
||||
@@ -1,52 +1,52 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 301,
|
||||
"fp": 46,
|
||||
"fn": 16,
|
||||
"precision": 0.8674351585014409,
|
||||
"recall": 0.9495268138801262,
|
||||
"f1": 0.9066265060240963,
|
||||
"mean_mask_iou": 0.9106655381480923,
|
||||
"n_matched": 301
|
||||
"tp": 147,
|
||||
"fp": 41,
|
||||
"fn": 11,
|
||||
"precision": 0.7819148936170213,
|
||||
"recall": 0.930379746835443,
|
||||
"f1": 0.8497109826589595,
|
||||
"mean_mask_iou": 0.8807960658528784,
|
||||
"n_matched": 147
|
||||
},
|
||||
"pin": {
|
||||
"tp": 205,
|
||||
"fp": 23,
|
||||
"fn": 19,
|
||||
"precision": 0.8991228070175439,
|
||||
"recall": 0.9151785714285714,
|
||||
"f1": 0.9070796460176992,
|
||||
"mean_mask_iou": 0.9271949529032009,
|
||||
"n_matched": 205
|
||||
"tp": 70,
|
||||
"fp": 19,
|
||||
"fn": 14,
|
||||
"precision": 0.7865168539325843,
|
||||
"recall": 0.8333333333333334,
|
||||
"f1": 0.8092485549132948,
|
||||
"mean_mask_iou": 0.9075385327840141,
|
||||
"n_matched": 70
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 68,
|
||||
"fp": 79,
|
||||
"fn": 81,
|
||||
"precision": 0.46258503401360546,
|
||||
"recall": 0.4563758389261745,
|
||||
"f1": 0.45945945945945943,
|
||||
"mean_mask_iou": 0.7521428721132434,
|
||||
"n_matched": 68
|
||||
"tp": 64,
|
||||
"fp": 78,
|
||||
"fn": 71,
|
||||
"precision": 0.4507042253521127,
|
||||
"recall": 0.4740740740740741,
|
||||
"f1": 0.46209386281588444,
|
||||
"mean_mask_iou": 0.7550301651989408,
|
||||
"n_matched": 64
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 231,
|
||||
"fp": 54,
|
||||
"fn": 64,
|
||||
"precision": 0.8105263157894737,
|
||||
"recall": 0.7830508474576271,
|
||||
"f1": 0.796551724137931,
|
||||
"mean_mask_iou": 0.9043612742080045,
|
||||
"n_matched": 231
|
||||
"tp": 105,
|
||||
"fp": 47,
|
||||
"fn": 50,
|
||||
"precision": 0.6907894736842105,
|
||||
"recall": 0.6774193548387096,
|
||||
"f1": 0.6840390879478827,
|
||||
"mean_mask_iou": 0.8603735901165422,
|
||||
"n_matched": 105
|
||||
},
|
||||
"ice": {
|
||||
"tp": 3,
|
||||
"fp": 6,
|
||||
"fn": 40,
|
||||
"fn": 39,
|
||||
"precision": 0.3333333333333333,
|
||||
"recall": 0.06976744186046512,
|
||||
"f1": 0.11538461538461539,
|
||||
"recall": 0.07142857142857142,
|
||||
"f1": 0.11764705882352941,
|
||||
"mean_mask_iou": 0.9028650216500921,
|
||||
"n_matched": 3
|
||||
},
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 808,
|
||||
"fp": 208,
|
||||
"fn": 221,
|
||||
"precision": 0.7952755905511811,
|
||||
"recall": 0.7852283770651117,
|
||||
"f1": 0.7902200488997555,
|
||||
"mean_mask_iou": 0.8996869517802373,
|
||||
"n_matched": 808
|
||||
"tp": 389,
|
||||
"fp": 191,
|
||||
"fn": 186,
|
||||
"precision": 0.6706896551724137,
|
||||
"recall": 0.6765217391304348,
|
||||
"f1": 0.6735930735930735,
|
||||
"mean_mask_iou": 0.8595744770570013,
|
||||
"n_matched": 389
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 336,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-alc-v1-800px-2026-09-29/weights.pt",
|
||||
"environment": {
|
||||
@@ -83,5 +84,5 @@
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-22T11:38:43"
|
||||
"measured_at": "2026-10-25T09:45:26"
|
||||
}
|
||||
@@ -1,52 +1,52 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 297,
|
||||
"fp": 28,
|
||||
"fn": 20,
|
||||
"precision": 0.9138461538461539,
|
||||
"recall": 0.9369085173501577,
|
||||
"f1": 0.9252336448598131,
|
||||
"mean_mask_iou": 0.9095758214023709,
|
||||
"n_matched": 297
|
||||
"tp": 145,
|
||||
"fp": 26,
|
||||
"fn": 13,
|
||||
"precision": 0.847953216374269,
|
||||
"recall": 0.9177215189873418,
|
||||
"f1": 0.8814589665653495,
|
||||
"mean_mask_iou": 0.8662224294961051,
|
||||
"n_matched": 145
|
||||
},
|
||||
"pin": {
|
||||
"tp": 211,
|
||||
"fp": 22,
|
||||
"fn": 13,
|
||||
"precision": 0.9055793991416309,
|
||||
"recall": 0.9419642857142857,
|
||||
"f1": 0.9234135667396062,
|
||||
"mean_mask_iou": 0.918075781649843,
|
||||
"n_matched": 211
|
||||
"tp": 72,
|
||||
"fp": 20,
|
||||
"fn": 12,
|
||||
"precision": 0.782608695652174,
|
||||
"recall": 0.8571428571428571,
|
||||
"f1": 0.8181818181818182,
|
||||
"mean_mask_iou": 0.9004199640700032,
|
||||
"n_matched": 72
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 73,
|
||||
"fp": 80,
|
||||
"fn": 76,
|
||||
"precision": 0.477124183006536,
|
||||
"recall": 0.4899328859060403,
|
||||
"f1": 0.48344370860927155,
|
||||
"mean_mask_iou": 0.7356274524847086,
|
||||
"n_matched": 73
|
||||
"tp": 68,
|
||||
"fp": 79,
|
||||
"fn": 67,
|
||||
"precision": 0.46258503401360546,
|
||||
"recall": 0.5037037037037037,
|
||||
"f1": 0.4822695035460993,
|
||||
"mean_mask_iou": 0.7430181470498084,
|
||||
"n_matched": 68
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 240,
|
||||
"fp": 47,
|
||||
"fn": 55,
|
||||
"precision": 0.8362369337979094,
|
||||
"recall": 0.8135593220338984,
|
||||
"f1": 0.8247422680412371,
|
||||
"mean_mask_iou": 0.8954467214590506,
|
||||
"n_matched": 240
|
||||
"tp": 113,
|
||||
"fp": 43,
|
||||
"fn": 42,
|
||||
"precision": 0.7243589743589743,
|
||||
"recall": 0.7290322580645161,
|
||||
"f1": 0.7266881028938906,
|
||||
"mean_mask_iou": 0.8464124446162589,
|
||||
"n_matched": 113
|
||||
},
|
||||
"ice": {
|
||||
"tp": 5,
|
||||
"fp": 16,
|
||||
"fn": 38,
|
||||
"fn": 37,
|
||||
"precision": 0.23809523809523808,
|
||||
"recall": 0.11627906976744186,
|
||||
"f1": 0.15625,
|
||||
"recall": 0.11904761904761904,
|
||||
"f1": 0.15873015873015875,
|
||||
"mean_mask_iou": 0.7708521231731791,
|
||||
"n_matched": 5
|
||||
},
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 826,
|
||||
"fp": 193,
|
||||
"fn": 203,
|
||||
"precision": 0.8105986261040236,
|
||||
"recall": 0.8027210884353742,
|
||||
"f1": 0.806640625,
|
||||
"mean_mask_iou": 0.8914289185012624,
|
||||
"n_matched": 826
|
||||
"tp": 403,
|
||||
"fp": 184,
|
||||
"fn": 172,
|
||||
"precision": 0.686541737649063,
|
||||
"recall": 0.7008695652173913,
|
||||
"f1": 0.693631669535284,
|
||||
"mean_mask_iou": 0.8448054356001627,
|
||||
"n_matched": 403
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 336,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-alc-v1-humanonly-2026-09-28/weights.pt",
|
||||
"environment": {
|
||||
@@ -83,5 +84,5 @@
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-22T11:38:51"
|
||||
"measured_at": "2026-10-25T09:45:33"
|
||||
}
|
||||
@@ -1,52 +1,52 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 303,
|
||||
"fp": 47,
|
||||
"fn": 14,
|
||||
"precision": 0.8657142857142858,
|
||||
"recall": 0.9558359621451105,
|
||||
"f1": 0.9085457271364318,
|
||||
"mean_mask_iou": 0.9069670864361529,
|
||||
"n_matched": 303
|
||||
"tp": 147,
|
||||
"fp": 44,
|
||||
"fn": 11,
|
||||
"precision": 0.7696335078534031,
|
||||
"recall": 0.930379746835443,
|
||||
"f1": 0.8424068767908309,
|
||||
"mean_mask_iou": 0.8678916321179074,
|
||||
"n_matched": 147
|
||||
},
|
||||
"pin": {
|
||||
"tp": 204,
|
||||
"fp": 21,
|
||||
"fn": 20,
|
||||
"precision": 0.9066666666666666,
|
||||
"recall": 0.9107142857142857,
|
||||
"f1": 0.9086859688195991,
|
||||
"mean_mask_iou": 0.9359407329356912,
|
||||
"n_matched": 204
|
||||
"tp": 68,
|
||||
"fp": 20,
|
||||
"fn": 16,
|
||||
"precision": 0.7727272727272727,
|
||||
"recall": 0.8095238095238095,
|
||||
"f1": 0.7906976744186046,
|
||||
"mean_mask_iou": 0.9136319159785413,
|
||||
"n_matched": 68
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 52,
|
||||
"tp": 46,
|
||||
"fp": 47,
|
||||
"fn": 97,
|
||||
"precision": 0.5252525252525253,
|
||||
"recall": 0.348993288590604,
|
||||
"f1": 0.41935483870967744,
|
||||
"mean_mask_iou": 0.7462760360786713,
|
||||
"n_matched": 52
|
||||
"fn": 89,
|
||||
"precision": 0.4946236559139785,
|
||||
"recall": 0.34074074074074073,
|
||||
"f1": 0.4035087719298245,
|
||||
"mean_mask_iou": 0.7437556227192347,
|
||||
"n_matched": 46
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 252,
|
||||
"fp": 52,
|
||||
"fn": 43,
|
||||
"precision": 0.8289473684210527,
|
||||
"recall": 0.8542372881355932,
|
||||
"f1": 0.8414023372287145,
|
||||
"mean_mask_iou": 0.8995485516679328,
|
||||
"n_matched": 252
|
||||
"tp": 118,
|
||||
"fp": 48,
|
||||
"fn": 37,
|
||||
"precision": 0.7108433734939759,
|
||||
"recall": 0.7612903225806451,
|
||||
"f1": 0.735202492211838,
|
||||
"mean_mask_iou": 0.8528360467721436,
|
||||
"n_matched": 118
|
||||
},
|
||||
"ice": {
|
||||
"tp": 4,
|
||||
"fp": 10,
|
||||
"fn": 39,
|
||||
"fn": 38,
|
||||
"precision": 0.2857142857142857,
|
||||
"recall": 0.09302325581395349,
|
||||
"f1": 0.14035087719298245,
|
||||
"recall": 0.09523809523809523,
|
||||
"f1": 0.14285714285714285,
|
||||
"mean_mask_iou": 0.8357625526706466,
|
||||
"n_matched": 4
|
||||
},
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 815,
|
||||
"fp": 177,
|
||||
"fn": 214,
|
||||
"precision": 0.8215725806451613,
|
||||
"recall": 0.7920310981535471,
|
||||
"f1": 0.8065314200890649,
|
||||
"mean_mask_iou": 0.9013234059093594,
|
||||
"n_matched": 815
|
||||
"tp": 383,
|
||||
"fp": 169,
|
||||
"fn": 192,
|
||||
"precision": 0.6938405797101449,
|
||||
"recall": 0.6660869565217391,
|
||||
"f1": 0.6796805678793256,
|
||||
"mean_mask_iou": 0.8561292495633251,
|
||||
"n_matched": 383
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 336,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-alc-v1-mask1-2026-09-28/weights.pt",
|
||||
"environment": {
|
||||
@@ -83,5 +84,5 @@
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-22T11:38:59"
|
||||
"measured_at": "2026-10-25T09:45:41"
|
||||
}
|
||||
@@ -1,52 +1,52 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 301,
|
||||
"fp": 35,
|
||||
"fn": 16,
|
||||
"precision": 0.8958333333333334,
|
||||
"recall": 0.9495268138801262,
|
||||
"f1": 0.9218989280245022,
|
||||
"mean_mask_iou": 0.9062259909805817,
|
||||
"n_matched": 301
|
||||
"tp": 147,
|
||||
"fp": 33,
|
||||
"fn": 11,
|
||||
"precision": 0.8166666666666667,
|
||||
"recall": 0.930379746835443,
|
||||
"f1": 0.8698224852071006,
|
||||
"mean_mask_iou": 0.8655259237412337,
|
||||
"n_matched": 147
|
||||
},
|
||||
"pin": {
|
||||
"tp": 208,
|
||||
"fp": 24,
|
||||
"fn": 16,
|
||||
"precision": 0.896551724137931,
|
||||
"recall": 0.9285714285714286,
|
||||
"f1": 0.912280701754386,
|
||||
"mean_mask_iou": 0.9247143441757603,
|
||||
"n_matched": 208
|
||||
"tp": 71,
|
||||
"fp": 21,
|
||||
"fn": 13,
|
||||
"precision": 0.7717391304347826,
|
||||
"recall": 0.8452380952380952,
|
||||
"f1": 0.8068181818181818,
|
||||
"mean_mask_iou": 0.8996192482083158,
|
||||
"n_matched": 71
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 59,
|
||||
"fp": 54,
|
||||
"fn": 90,
|
||||
"precision": 0.5221238938053098,
|
||||
"recall": 0.3959731543624161,
|
||||
"f1": 0.450381679389313,
|
||||
"mean_mask_iou": 0.7515763531776168,
|
||||
"n_matched": 59
|
||||
"tp": 55,
|
||||
"fp": 53,
|
||||
"fn": 80,
|
||||
"precision": 0.5092592592592593,
|
||||
"recall": 0.4074074074074074,
|
||||
"f1": 0.45267489711934156,
|
||||
"mean_mask_iou": 0.7579461585093508,
|
||||
"n_matched": 55
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 255,
|
||||
"fp": 62,
|
||||
"fn": 40,
|
||||
"precision": 0.804416403785489,
|
||||
"recall": 0.864406779661017,
|
||||
"f1": 0.8333333333333334,
|
||||
"mean_mask_iou": 0.8987716581416572,
|
||||
"n_matched": 255
|
||||
"tp": 121,
|
||||
"fp": 56,
|
||||
"fn": 34,
|
||||
"precision": 0.6836158192090396,
|
||||
"recall": 0.7806451612903226,
|
||||
"f1": 0.7289156626506025,
|
||||
"mean_mask_iou": 0.8493116285087041,
|
||||
"n_matched": 121
|
||||
},
|
||||
"ice": {
|
||||
"tp": 3,
|
||||
"fp": 7,
|
||||
"fn": 40,
|
||||
"fn": 39,
|
||||
"precision": 0.3,
|
||||
"recall": 0.06976744186046512,
|
||||
"f1": 0.11320754716981132,
|
||||
"recall": 0.07142857142857142,
|
||||
"f1": 0.11538461538461536,
|
||||
"mean_mask_iou": 0.7530200271235444,
|
||||
"n_matched": 3
|
||||
},
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 826,
|
||||
"fp": 182,
|
||||
"fn": 203,
|
||||
"precision": 0.8194444444444444,
|
||||
"recall": 0.8027210884353742,
|
||||
"f1": 0.8109965635738832,
|
||||
"mean_mask_iou": 0.8969775358579729,
|
||||
"n_matched": 826
|
||||
"tp": 397,
|
||||
"fp": 170,
|
||||
"fn": 178,
|
||||
"precision": 0.7001763668430335,
|
||||
"recall": 0.6904347826086956,
|
||||
"f1": 0.6952714535901927,
|
||||
"mean_mask_iou": 0.8509271618682365,
|
||||
"n_matched": 397
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 336,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-alc-v1-noflip-2026-09-28/weights.pt",
|
||||
"environment": {
|
||||
@@ -83,5 +84,5 @@
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-22T11:39:07"
|
||||
"measured_at": "2026-10-25T09:45:49"
|
||||
}
|
||||
@@ -1,52 +1,52 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 298,
|
||||
"fp": 38,
|
||||
"fn": 19,
|
||||
"precision": 0.8869047619047619,
|
||||
"recall": 0.9400630914826499,
|
||||
"f1": 0.9127105666156202,
|
||||
"mean_mask_iou": 0.9176975714925484,
|
||||
"n_matched": 298
|
||||
"tp": 145,
|
||||
"fp": 37,
|
||||
"fn": 13,
|
||||
"precision": 0.7967032967032966,
|
||||
"recall": 0.9177215189873418,
|
||||
"f1": 0.8529411764705882,
|
||||
"mean_mask_iou": 0.8769675310992452,
|
||||
"n_matched": 145
|
||||
},
|
||||
"pin": {
|
||||
"tp": 209,
|
||||
"fp": 29,
|
||||
"fn": 15,
|
||||
"precision": 0.8781512605042017,
|
||||
"recall": 0.9330357142857143,
|
||||
"f1": 0.9047619047619047,
|
||||
"mean_mask_iou": 0.9435781234732605,
|
||||
"n_matched": 209
|
||||
"tp": 70,
|
||||
"fp": 26,
|
||||
"fn": 14,
|
||||
"precision": 0.7291666666666666,
|
||||
"recall": 0.8333333333333334,
|
||||
"f1": 0.7777777777777777,
|
||||
"mean_mask_iou": 0.9126956941970581,
|
||||
"n_matched": 70
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 74,
|
||||
"tp": 69,
|
||||
"fp": 83,
|
||||
"fn": 75,
|
||||
"precision": 0.4713375796178344,
|
||||
"recall": 0.4966442953020134,
|
||||
"f1": 0.4836601307189542,
|
||||
"mean_mask_iou": 0.7637412283661057,
|
||||
"n_matched": 74
|
||||
"fn": 66,
|
||||
"precision": 0.45394736842105265,
|
||||
"recall": 0.5111111111111111,
|
||||
"f1": 0.4808362369337979,
|
||||
"mean_mask_iou": 0.7589545831684434,
|
||||
"n_matched": 69
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 253,
|
||||
"fp": 64,
|
||||
"fn": 42,
|
||||
"precision": 0.7981072555205048,
|
||||
"recall": 0.8576271186440678,
|
||||
"f1": 0.8267973856209151,
|
||||
"mean_mask_iou": 0.907481124159418,
|
||||
"n_matched": 253
|
||||
"tp": 120,
|
||||
"fp": 54,
|
||||
"fn": 35,
|
||||
"precision": 0.6896551724137931,
|
||||
"recall": 0.7741935483870968,
|
||||
"f1": 0.729483282674772,
|
||||
"mean_mask_iou": 0.8574801797985127,
|
||||
"n_matched": 120
|
||||
},
|
||||
"ice": {
|
||||
"tp": 7,
|
||||
"fp": 16,
|
||||
"fn": 36,
|
||||
"fn": 35,
|
||||
"precision": 0.30434782608695654,
|
||||
"recall": 0.16279069767441862,
|
||||
"f1": 0.21212121212121213,
|
||||
"recall": 0.16666666666666666,
|
||||
"f1": 0.2153846153846154,
|
||||
"mean_mask_iou": 0.8089197334873823,
|
||||
"n_matched": 7
|
||||
},
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 841,
|
||||
"fp": 230,
|
||||
"fn": 188,
|
||||
"precision": 0.7852474323062558,
|
||||
"recall": 0.8172983479105929,
|
||||
"f1": 0.800952380952381,
|
||||
"mean_mask_iou": 0.906603706963766,
|
||||
"n_matched": 841
|
||||
"tp": 411,
|
||||
"fp": 216,
|
||||
"fn": 164,
|
||||
"precision": 0.6555023923444976,
|
||||
"recall": 0.7147826086956521,
|
||||
"f1": 0.6838602329450915,
|
||||
"mean_mask_iou": 0.8563915244575192,
|
||||
"n_matched": 411
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 336,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-alc-v1-noflip-mask1-2026-09-29/weights.pt",
|
||||
"environment": {
|
||||
@@ -83,5 +84,5 @@
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-22T11:39:15"
|
||||
"measured_at": "2026-10-25T09:45:57"
|
||||
}
|
||||
@@ -1,54 +1,54 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 271,
|
||||
"fp": 34,
|
||||
"fn": 46,
|
||||
"precision": 0.8885245901639345,
|
||||
"recall": 0.8548895899053628,
|
||||
"f1": 0.8713826366559485,
|
||||
"mean_mask_iou": 0.9178478445187722,
|
||||
"n_matched": 271
|
||||
"tp": 120,
|
||||
"fp": 32,
|
||||
"fn": 38,
|
||||
"precision": 0.7894736842105263,
|
||||
"recall": 0.759493670886076,
|
||||
"f1": 0.7741935483870968,
|
||||
"mean_mask_iou": 0.8686593143838969,
|
||||
"n_matched": 120
|
||||
},
|
||||
"pin": {
|
||||
"tp": 193,
|
||||
"fp": 39,
|
||||
"fn": 31,
|
||||
"precision": 0.8318965517241379,
|
||||
"recall": 0.8616071428571429,
|
||||
"f1": 0.8464912280701755,
|
||||
"mean_mask_iou": 0.9465569860568435,
|
||||
"n_matched": 193
|
||||
"tp": 60,
|
||||
"fp": 35,
|
||||
"fn": 24,
|
||||
"precision": 0.631578947368421,
|
||||
"recall": 0.7142857142857143,
|
||||
"f1": 0.670391061452514,
|
||||
"mean_mask_iou": 0.9142336983351689,
|
||||
"n_matched": 60
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 57,
|
||||
"tp": 54,
|
||||
"fp": 91,
|
||||
"fn": 92,
|
||||
"precision": 0.38513513513513514,
|
||||
"recall": 0.3825503355704698,
|
||||
"f1": 0.38383838383838387,
|
||||
"mean_mask_iou": 0.7631099261639591,
|
||||
"n_matched": 57
|
||||
"fn": 81,
|
||||
"precision": 0.3724137931034483,
|
||||
"recall": 0.4,
|
||||
"f1": 0.38571428571428573,
|
||||
"mean_mask_iou": 0.7631927995812678,
|
||||
"n_matched": 54
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 233,
|
||||
"fp": 72,
|
||||
"fn": 62,
|
||||
"precision": 0.7639344262295082,
|
||||
"recall": 0.7898305084745763,
|
||||
"f1": 0.7766666666666666,
|
||||
"mean_mask_iou": 0.921962263303789,
|
||||
"n_matched": 233
|
||||
"tp": 101,
|
||||
"fp": 59,
|
||||
"fn": 54,
|
||||
"precision": 0.63125,
|
||||
"recall": 0.6516129032258065,
|
||||
"f1": 0.6412698412698413,
|
||||
"mean_mask_iou": 0.8756678161736451,
|
||||
"n_matched": 101
|
||||
},
|
||||
"ice": {
|
||||
"tp": 13,
|
||||
"tp": 12,
|
||||
"fp": 23,
|
||||
"fn": 30,
|
||||
"precision": 0.3611111111111111,
|
||||
"recall": 0.3023255813953488,
|
||||
"f1": 0.32911392405063294,
|
||||
"mean_mask_iou": 0.8470510637223766,
|
||||
"n_matched": 13
|
||||
"precision": 0.34285714285714286,
|
||||
"recall": 0.2857142857142857,
|
||||
"f1": 0.3116883116883117,
|
||||
"mean_mask_iou": 0.8346283164485953,
|
||||
"n_matched": 12
|
||||
},
|
||||
"needle": {
|
||||
"tp": 0,
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 767,
|
||||
"fp": 259,
|
||||
"fn": 262,
|
||||
"precision": 0.7475633528265108,
|
||||
"recall": 0.7453838678328474,
|
||||
"f1": 0.7464720194647202,
|
||||
"mean_mask_iou": 0.9136224265229171,
|
||||
"n_matched": 767
|
||||
"tp": 347,
|
||||
"fp": 240,
|
||||
"fn": 228,
|
||||
"precision": 0.5911413969335605,
|
||||
"recall": 0.6034782608695652,
|
||||
"f1": 0.5972461273666093,
|
||||
"mean_mask_iou": 0.8609900289178314,
|
||||
"n_matched": 347
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 336,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_studio/models/best_yolo26n-seg-overlap-false_2026-04-12.pt",
|
||||
"environment": {
|
||||
@@ -83,5 +84,5 @@
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-22T11:40:12"
|
||||
"measured_at": "2026-10-25T09:47:40"
|
||||
}
|
||||
@@ -1,52 +1,52 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 304,
|
||||
"fp": 40,
|
||||
"fn": 13,
|
||||
"precision": 0.8837209302325582,
|
||||
"recall": 0.9589905362776026,
|
||||
"f1": 0.9198184568835098,
|
||||
"mean_mask_iou": 0.8999997153410435,
|
||||
"n_matched": 304
|
||||
"tp": 149,
|
||||
"fp": 33,
|
||||
"fn": 9,
|
||||
"precision": 0.8186813186813187,
|
||||
"recall": 0.9430379746835443,
|
||||
"f1": 0.8764705882352942,
|
||||
"mean_mask_iou": 0.8575752170782032,
|
||||
"n_matched": 149
|
||||
},
|
||||
"pin": {
|
||||
"tp": 212,
|
||||
"fp": 33,
|
||||
"tp": 72,
|
||||
"fp": 29,
|
||||
"fn": 12,
|
||||
"precision": 0.8653061224489796,
|
||||
"recall": 0.9464285714285714,
|
||||
"f1": 0.9040511727078892,
|
||||
"mean_mask_iou": 0.9265693926582884,
|
||||
"n_matched": 212
|
||||
"precision": 0.7128712871287128,
|
||||
"recall": 0.8571428571428571,
|
||||
"f1": 0.7783783783783783,
|
||||
"mean_mask_iou": 0.9008857646241738,
|
||||
"n_matched": 72
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 60,
|
||||
"fp": 57,
|
||||
"fn": 89,
|
||||
"precision": 0.5128205128205128,
|
||||
"recall": 0.40268456375838924,
|
||||
"f1": 0.45112781954887216,
|
||||
"mean_mask_iou": 0.7585980276654778,
|
||||
"n_matched": 60
|
||||
"tp": 55,
|
||||
"fp": 56,
|
||||
"fn": 80,
|
||||
"precision": 0.4954954954954955,
|
||||
"recall": 0.4074074074074074,
|
||||
"f1": 0.4471544715447154,
|
||||
"mean_mask_iou": 0.7581973650603907,
|
||||
"n_matched": 55
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 251,
|
||||
"fp": 76,
|
||||
"fn": 44,
|
||||
"precision": 0.7675840978593272,
|
||||
"recall": 0.8508474576271187,
|
||||
"f1": 0.8070739549839228,
|
||||
"mean_mask_iou": 0.8968178309993826,
|
||||
"n_matched": 251
|
||||
"tp": 119,
|
||||
"fp": 71,
|
||||
"fn": 36,
|
||||
"precision": 0.6263157894736842,
|
||||
"recall": 0.7677419354838709,
|
||||
"f1": 0.6898550724637681,
|
||||
"mean_mask_iou": 0.8456455896715827,
|
||||
"n_matched": 119
|
||||
},
|
||||
"ice": {
|
||||
"tp": 8,
|
||||
"fp": 37,
|
||||
"fn": 35,
|
||||
"fn": 34,
|
||||
"precision": 0.17777777777777778,
|
||||
"recall": 0.18604651162790697,
|
||||
"f1": 0.18181818181818182,
|
||||
"recall": 0.19047619047619047,
|
||||
"f1": 0.1839080459770115,
|
||||
"mean_mask_iou": 0.7778219649966538,
|
||||
"n_matched": 8
|
||||
},
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 835,
|
||||
"fp": 243,
|
||||
"fn": 194,
|
||||
"precision": 0.774582560296846,
|
||||
"recall": 0.8114674441205053,
|
||||
"f1": 0.7925961082107261,
|
||||
"mean_mask_iou": 0.8944579133748279,
|
||||
"n_matched": 835
|
||||
"tp": 403,
|
||||
"fp": 226,
|
||||
"fn": 172,
|
||||
"precision": 0.6406995230524642,
|
||||
"recall": 0.7008695652173913,
|
||||
"f1": 0.6694352159468437,
|
||||
"mean_mask_iou": 0.8466445120764414,
|
||||
"n_matched": 403
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 336,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v2-recipeA-2026-09-29/weights.pt",
|
||||
"environment": {
|
||||
@@ -83,5 +84,5 @@
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-22T11:39:23"
|
||||
"measured_at": "2026-10-25T09:46:06"
|
||||
}
|
||||
@@ -1,52 +1,52 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 308,
|
||||
"fp": 33,
|
||||
"fn": 9,
|
||||
"precision": 0.9032258064516129,
|
||||
"recall": 0.9716088328075709,
|
||||
"f1": 0.9361702127659575,
|
||||
"mean_mask_iou": 0.9278619630785258,
|
||||
"n_matched": 308
|
||||
"tp": 150,
|
||||
"fp": 29,
|
||||
"fn": 8,
|
||||
"precision": 0.8379888268156425,
|
||||
"recall": 0.9493670886075949,
|
||||
"f1": 0.8902077151335311,
|
||||
"mean_mask_iou": 0.8837871374185333,
|
||||
"n_matched": 150
|
||||
},
|
||||
"pin": {
|
||||
"tp": 214,
|
||||
"fp": 19,
|
||||
"fn": 10,
|
||||
"precision": 0.9184549356223176,
|
||||
"recall": 0.9553571428571429,
|
||||
"f1": 0.936542669584245,
|
||||
"mean_mask_iou": 0.9456527987011091,
|
||||
"n_matched": 214
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 74,
|
||||
"fp": 60,
|
||||
"fn": 75,
|
||||
"precision": 0.5522388059701493,
|
||||
"recall": 0.4966442953020134,
|
||||
"f1": 0.5229681978798587,
|
||||
"mean_mask_iou": 0.766323017315329,
|
||||
"fp": 18,
|
||||
"fn": 10,
|
||||
"precision": 0.8043478260869565,
|
||||
"recall": 0.8809523809523809,
|
||||
"f1": 0.8409090909090908,
|
||||
"mean_mask_iou": 0.9129160323387382,
|
||||
"n_matched": 74
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 67,
|
||||
"fp": 60,
|
||||
"fn": 68,
|
||||
"precision": 0.5275590551181102,
|
||||
"recall": 0.4962962962962963,
|
||||
"f1": 0.5114503816793893,
|
||||
"mean_mask_iou": 0.7563014436506881,
|
||||
"n_matched": 67
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 267,
|
||||
"fp": 54,
|
||||
"fn": 28,
|
||||
"precision": 0.8317757009345794,
|
||||
"recall": 0.9050847457627119,
|
||||
"f1": 0.8668831168831169,
|
||||
"mean_mask_iou": 0.9131015467260754,
|
||||
"n_matched": 267
|
||||
"tp": 130,
|
||||
"fp": 50,
|
||||
"fn": 25,
|
||||
"precision": 0.7222222222222222,
|
||||
"recall": 0.8387096774193549,
|
||||
"f1": 0.7761194029850746,
|
||||
"mean_mask_iou": 0.8556288501030779,
|
||||
"n_matched": 130
|
||||
},
|
||||
"ice": {
|
||||
"tp": 4,
|
||||
"fp": 19,
|
||||
"fn": 39,
|
||||
"fn": 38,
|
||||
"precision": 0.17391304347826086,
|
||||
"recall": 0.09302325581395349,
|
||||
"f1": 0.12121212121212122,
|
||||
"recall": 0.09523809523809523,
|
||||
"f1": 0.12307692307692307,
|
||||
"mean_mask_iou": 0.7417344288796006,
|
||||
"n_matched": 4
|
||||
},
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 867,
|
||||
"fp": 185,
|
||||
"fn": 162,
|
||||
"precision": 0.8241444866920152,
|
||||
"recall": 0.8425655976676385,
|
||||
"f1": 0.8332532436328688,
|
||||
"mean_mask_iou": 0.9130612889537925,
|
||||
"n_matched": 867
|
||||
"tp": 425,
|
||||
"fp": 176,
|
||||
"fn": 150,
|
||||
"precision": 0.7071547420965059,
|
||||
"recall": 0.7391304347826086,
|
||||
"f1": 0.7227891156462585,
|
||||
"mean_mask_iou": 0.8588111575514382,
|
||||
"n_matched": 425
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 336,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v3-noflip-mask1-2026-09-30/weights.pt",
|
||||
"environment": {
|
||||
@@ -83,7 +84,7 @@
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-22T11:39:30",
|
||||
"measured_at": "2026-10-25T09:46:15",
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-alc-v1-noflip-mask1-2026-09-29/gold_report.json",
|
||||
"f1_delta": 0.0284,
|
||||
|
||||
@@ -1,54 +1,54 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 306,
|
||||
"fp": 23,
|
||||
"fn": 11,
|
||||
"precision": 0.9300911854103343,
|
||||
"recall": 0.9652996845425867,
|
||||
"f1": 0.9473684210526315,
|
||||
"mean_mask_iou": 0.9094462017528081,
|
||||
"n_matched": 306
|
||||
"tp": 150,
|
||||
"fp": 21,
|
||||
"fn": 8,
|
||||
"precision": 0.8771929824561403,
|
||||
"recall": 0.9493670886075949,
|
||||
"f1": 0.911854103343465,
|
||||
"mean_mask_iou": 0.8727343113100435,
|
||||
"n_matched": 150
|
||||
},
|
||||
"pin": {
|
||||
"tp": 213,
|
||||
"fp": 32,
|
||||
"tp": 73,
|
||||
"fp": 29,
|
||||
"fn": 11,
|
||||
"precision": 0.8693877551020408,
|
||||
"recall": 0.9508928571428571,
|
||||
"f1": 0.9083155650319831,
|
||||
"mean_mask_iou": 0.9262696606645503,
|
||||
"n_matched": 213
|
||||
"precision": 0.7156862745098039,
|
||||
"recall": 0.8690476190476191,
|
||||
"f1": 0.7849462365591398,
|
||||
"mean_mask_iou": 0.8966474690281144,
|
||||
"n_matched": 73
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 67,
|
||||
"tp": 61,
|
||||
"fp": 60,
|
||||
"fn": 82,
|
||||
"precision": 0.5275590551181102,
|
||||
"recall": 0.44966442953020136,
|
||||
"f1": 0.4855072463768116,
|
||||
"mean_mask_iou": 0.761630287259793,
|
||||
"n_matched": 67
|
||||
"fn": 74,
|
||||
"precision": 0.5041322314049587,
|
||||
"recall": 0.45185185185185184,
|
||||
"f1": 0.4765625,
|
||||
"mean_mask_iou": 0.7686510752576673,
|
||||
"n_matched": 61
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 262,
|
||||
"fp": 58,
|
||||
"fn": 33,
|
||||
"precision": 0.81875,
|
||||
"recall": 0.888135593220339,
|
||||
"f1": 0.8520325203252033,
|
||||
"mean_mask_iou": 0.8993687596276626,
|
||||
"n_matched": 262
|
||||
"tp": 128,
|
||||
"fp": 55,
|
||||
"fn": 27,
|
||||
"precision": 0.6994535519125683,
|
||||
"recall": 0.8258064516129032,
|
||||
"f1": 0.757396449704142,
|
||||
"mean_mask_iou": 0.8499420270231782,
|
||||
"n_matched": 128
|
||||
},
|
||||
"ice": {
|
||||
"tp": 6,
|
||||
"tp": 5,
|
||||
"fp": 17,
|
||||
"fn": 37,
|
||||
"precision": 0.2608695652173913,
|
||||
"recall": 0.13953488372093023,
|
||||
"f1": 0.18181818181818182,
|
||||
"mean_mask_iou": 0.7961226947704595,
|
||||
"n_matched": 6
|
||||
"precision": 0.22727272727272727,
|
||||
"recall": 0.11904761904761904,
|
||||
"f1": 0.15624999999999997,
|
||||
"mean_mask_iou": 0.7945995701731496,
|
||||
"n_matched": 5
|
||||
},
|
||||
"needle": {
|
||||
"tp": 0,
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 854,
|
||||
"fp": 190,
|
||||
"fn": 175,
|
||||
"precision": 0.8180076628352491,
|
||||
"recall": 0.8299319727891157,
|
||||
"f1": 0.8239266763145201,
|
||||
"mean_mask_iou": 0.8981575595964695,
|
||||
"n_matched": 854
|
||||
"tp": 417,
|
||||
"fp": 182,
|
||||
"fn": 158,
|
||||
"precision": 0.6961602671118531,
|
||||
"recall": 0.7252173913043478,
|
||||
"f1": 0.7103918228279388,
|
||||
"mean_mask_iou": 0.8537618821009811,
|
||||
"n_matched": 417
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 336,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v3-recipeA-2026-09-29/weights.pt",
|
||||
"environment": {
|
||||
@@ -83,7 +84,7 @@
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-22T11:39:38",
|
||||
"measured_at": "2026-10-25T09:46:22",
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-alc-v1-noflip-mask1-2026-09-29/gold_report.json",
|
||||
"f1_delta": 0.0221,
|
||||
|
||||
@@ -1,54 +1,54 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 309,
|
||||
"tp": 151,
|
||||
"fp": 16,
|
||||
"fn": 8,
|
||||
"precision": 0.9507692307692308,
|
||||
"recall": 0.9747634069400631,
|
||||
"f1": 0.9626168224299065,
|
||||
"mean_mask_iou": 0.9298444164418739,
|
||||
"n_matched": 309
|
||||
"fn": 7,
|
||||
"precision": 0.9041916167664671,
|
||||
"recall": 0.9556962025316456,
|
||||
"f1": 0.9292307692307693,
|
||||
"mean_mask_iou": 0.8937953477312267,
|
||||
"n_matched": 151
|
||||
},
|
||||
"pin": {
|
||||
"tp": 215,
|
||||
"fp": 22,
|
||||
"tp": 75,
|
||||
"fp": 21,
|
||||
"fn": 9,
|
||||
"precision": 0.9071729957805907,
|
||||
"recall": 0.9598214285714286,
|
||||
"f1": 0.9327548806941431,
|
||||
"mean_mask_iou": 0.9406678664910599,
|
||||
"n_matched": 215
|
||||
"precision": 0.78125,
|
||||
"recall": 0.8928571428571429,
|
||||
"f1": 0.8333333333333334,
|
||||
"mean_mask_iou": 0.9064077941912371,
|
||||
"n_matched": 75
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 99,
|
||||
"fp": 84,
|
||||
"tp": 85,
|
||||
"fp": 82,
|
||||
"fn": 50,
|
||||
"precision": 0.5409836065573771,
|
||||
"recall": 0.6644295302013423,
|
||||
"f1": 0.5963855421686747,
|
||||
"mean_mask_iou": 0.8062619700615773,
|
||||
"n_matched": 99
|
||||
"precision": 0.5089820359281437,
|
||||
"recall": 0.6296296296296297,
|
||||
"f1": 0.5629139072847682,
|
||||
"mean_mask_iou": 0.7832414691670929,
|
||||
"n_matched": 85
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 271,
|
||||
"fp": 52,
|
||||
"fn": 24,
|
||||
"precision": 0.8390092879256966,
|
||||
"recall": 0.9186440677966101,
|
||||
"f1": 0.8770226537216829,
|
||||
"mean_mask_iou": 0.908800452666073,
|
||||
"n_matched": 271
|
||||
"tp": 133,
|
||||
"fp": 50,
|
||||
"fn": 22,
|
||||
"precision": 0.726775956284153,
|
||||
"recall": 0.8580645161290322,
|
||||
"f1": 0.7869822485207101,
|
||||
"mean_mask_iou": 0.8565095066104034,
|
||||
"n_matched": 133
|
||||
},
|
||||
"ice": {
|
||||
"tp": 5,
|
||||
"tp": 4,
|
||||
"fp": 19,
|
||||
"fn": 38,
|
||||
"precision": 0.20833333333333334,
|
||||
"recall": 0.11627906976744186,
|
||||
"f1": 0.14925373134328357,
|
||||
"mean_mask_iou": 0.821677572899137,
|
||||
"n_matched": 5
|
||||
"precision": 0.17391304347826086,
|
||||
"recall": 0.09523809523809523,
|
||||
"f1": 0.12307692307692307,
|
||||
"mean_mask_iou": 0.8337434918036797,
|
||||
"n_matched": 4
|
||||
},
|
||||
"needle": {
|
||||
"tp": 0,
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 899,
|
||||
"fp": 193,
|
||||
"fn": 130,
|
||||
"precision": 0.8232600732600732,
|
||||
"recall": 0.8736637512147716,
|
||||
"f1": 0.8477133427628477,
|
||||
"mean_mask_iou": 0.9118784889312731,
|
||||
"n_matched": 899
|
||||
"tp": 448,
|
||||
"fp": 188,
|
||||
"fn": 127,
|
||||
"precision": 0.7044025157232704,
|
||||
"recall": 0.7791304347826087,
|
||||
"f1": 0.7398843930635838,
|
||||
"mean_mask_iou": 0.8633257707530342,
|
||||
"n_matched": 448
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 336,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/weights.pt",
|
||||
"environment": {
|
||||
@@ -83,7 +84,7 @@
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-22T11:39:46",
|
||||
"measured_at": "2026-10-25T09:46:31",
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v3-noflip-mask1-2026-09-30/gold_report.json",
|
||||
"f1_delta": 0.015,
|
||||
|
||||
@@ -1,54 +1,54 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 307,
|
||||
"fp": 29,
|
||||
"fn": 10,
|
||||
"precision": 0.9136904761904762,
|
||||
"recall": 0.9684542586750788,
|
||||
"f1": 0.9402756508422665,
|
||||
"mean_mask_iou": 0.9144044278112335,
|
||||
"n_matched": 307
|
||||
"tp": 151,
|
||||
"fp": 26,
|
||||
"fn": 7,
|
||||
"precision": 0.8531073446327684,
|
||||
"recall": 0.9556962025316456,
|
||||
"f1": 0.9014925373134328,
|
||||
"mean_mask_iou": 0.8794716171670773,
|
||||
"n_matched": 151
|
||||
},
|
||||
"pin": {
|
||||
"tp": 212,
|
||||
"fp": 22,
|
||||
"fn": 12,
|
||||
"precision": 0.905982905982906,
|
||||
"recall": 0.9464285714285714,
|
||||
"f1": 0.9257641921397379,
|
||||
"mean_mask_iou": 0.9372053245642273,
|
||||
"n_matched": 212
|
||||
"tp": 73,
|
||||
"fp": 21,
|
||||
"fn": 11,
|
||||
"precision": 0.776595744680851,
|
||||
"recall": 0.8690476190476191,
|
||||
"f1": 0.8202247191011236,
|
||||
"mean_mask_iou": 0.9129233997527235,
|
||||
"n_matched": 73
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 86,
|
||||
"fp": 64,
|
||||
"fn": 63,
|
||||
"precision": 0.5733333333333334,
|
||||
"recall": 0.5771812080536913,
|
||||
"f1": 0.5752508361204013,
|
||||
"mean_mask_iou": 0.7866494646342707,
|
||||
"n_matched": 86
|
||||
"tp": 75,
|
||||
"fp": 63,
|
||||
"fn": 60,
|
||||
"precision": 0.5434782608695652,
|
||||
"recall": 0.5555555555555556,
|
||||
"f1": 0.5494505494505495,
|
||||
"mean_mask_iou": 0.7781053837940977,
|
||||
"n_matched": 75
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 267,
|
||||
"fp": 67,
|
||||
"fn": 28,
|
||||
"precision": 0.7994011976047904,
|
||||
"recall": 0.9050847457627119,
|
||||
"f1": 0.8489666136724962,
|
||||
"mean_mask_iou": 0.8960405961764998,
|
||||
"n_matched": 267
|
||||
"tp": 133,
|
||||
"fp": 63,
|
||||
"fn": 22,
|
||||
"precision": 0.6785714285714286,
|
||||
"recall": 0.8580645161290322,
|
||||
"f1": 0.7578347578347578,
|
||||
"mean_mask_iou": 0.8476228354203764,
|
||||
"n_matched": 133
|
||||
},
|
||||
"ice": {
|
||||
"tp": 5,
|
||||
"tp": 4,
|
||||
"fp": 15,
|
||||
"fn": 38,
|
||||
"precision": 0.25,
|
||||
"recall": 0.11627906976744186,
|
||||
"f1": 0.15873015873015872,
|
||||
"mean_mask_iou": 0.796892647988566,
|
||||
"n_matched": 5
|
||||
"precision": 0.21052631578947367,
|
||||
"recall": 0.09523809523809523,
|
||||
"f1": 0.13114754098360656,
|
||||
"mean_mask_iou": 0.8107709823995006,
|
||||
"n_matched": 4
|
||||
},
|
||||
"needle": {
|
||||
"tp": 0,
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 877,
|
||||
"fp": 197,
|
||||
"fn": 152,
|
||||
"precision": 0.8165735567970205,
|
||||
"recall": 0.8522837706511176,
|
||||
"f1": 0.8340466000951023,
|
||||
"mean_mask_iou": 0.9011275308133186,
|
||||
"n_matched": 877
|
||||
"tp": 436,
|
||||
"fp": 188,
|
||||
"fn": 139,
|
||||
"precision": 0.6987179487179487,
|
||||
"recall": 0.7582608695652174,
|
||||
"f1": 0.7272727272727274,
|
||||
"mean_mask_iou": 0.857290016512025,
|
||||
"n_matched": 436
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 336,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-recipeA-2026-10-02/weights.pt",
|
||||
"environment": {
|
||||
@@ -83,7 +84,7 @@
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-22T11:39:55",
|
||||
"measured_at": "2026-10-25T09:46:38",
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v3-noflip-mask1-2026-09-30/gold_report.json",
|
||||
"f1_delta": -0.0057,
|
||||
|
||||
@@ -1,54 +1,54 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 311,
|
||||
"fp": 26,
|
||||
"fn": 6,
|
||||
"precision": 0.9228486646884273,
|
||||
"recall": 0.9810725552050473,
|
||||
"f1": 0.9510703363914373,
|
||||
"mean_mask_iou": 0.9233204539476648,
|
||||
"n_matched": 311
|
||||
"tp": 153,
|
||||
"fp": 23,
|
||||
"fn": 5,
|
||||
"precision": 0.8693181818181818,
|
||||
"recall": 0.9683544303797469,
|
||||
"f1": 0.9161676646706587,
|
||||
"mean_mask_iou": 0.8955158506777854,
|
||||
"n_matched": 153
|
||||
},
|
||||
"pin": {
|
||||
"tp": 217,
|
||||
"fp": 21,
|
||||
"fn": 7,
|
||||
"precision": 0.9117647058823529,
|
||||
"recall": 0.96875,
|
||||
"f1": 0.9393939393939394,
|
||||
"mean_mask_iou": 0.9350234271216731,
|
||||
"n_matched": 217
|
||||
"tp": 78,
|
||||
"fp": 19,
|
||||
"fn": 6,
|
||||
"precision": 0.8041237113402062,
|
||||
"recall": 0.9285714285714286,
|
||||
"f1": 0.861878453038674,
|
||||
"mean_mask_iou": 0.9067608977866488,
|
||||
"n_matched": 78
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 92,
|
||||
"fp": 73,
|
||||
"fn": 57,
|
||||
"precision": 0.5575757575757576,
|
||||
"recall": 0.6174496644295302,
|
||||
"f1": 0.5859872611464969,
|
||||
"mean_mask_iou": 0.7836372984261296,
|
||||
"n_matched": 92
|
||||
"tp": 83,
|
||||
"fp": 71,
|
||||
"fn": 52,
|
||||
"precision": 0.538961038961039,
|
||||
"recall": 0.6148148148148148,
|
||||
"f1": 0.5743944636678201,
|
||||
"mean_mask_iou": 0.7817240537621242,
|
||||
"n_matched": 83
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 272,
|
||||
"fp": 53,
|
||||
"fn": 23,
|
||||
"precision": 0.8369230769230769,
|
||||
"recall": 0.9220338983050848,
|
||||
"f1": 0.8774193548387096,
|
||||
"mean_mask_iou": 0.90096496604208,
|
||||
"n_matched": 272
|
||||
"tp": 134,
|
||||
"fp": 51,
|
||||
"fn": 21,
|
||||
"precision": 0.7243243243243244,
|
||||
"recall": 0.864516129032258,
|
||||
"f1": 0.7882352941176471,
|
||||
"mean_mask_iou": 0.8558725800145162,
|
||||
"n_matched": 134
|
||||
},
|
||||
"ice": {
|
||||
"tp": 3,
|
||||
"tp": 2,
|
||||
"fp": 9,
|
||||
"fn": 40,
|
||||
"precision": 0.25,
|
||||
"recall": 0.06976744186046512,
|
||||
"f1": 0.10909090909090909,
|
||||
"mean_mask_iou": 0.784312008919469,
|
||||
"n_matched": 3
|
||||
"precision": 0.18181818181818182,
|
||||
"recall": 0.047619047619047616,
|
||||
"f1": 0.07547169811320754,
|
||||
"mean_mask_iou": 0.8048262223344274,
|
||||
"n_matched": 2
|
||||
},
|
||||
"needle": {
|
||||
"tp": 0,
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 895,
|
||||
"fp": 182,
|
||||
"fn": 134,
|
||||
"precision": 0.8310120705663882,
|
||||
"recall": 0.86977648202138,
|
||||
"f1": 0.8499525166191833,
|
||||
"mean_mask_iou": 0.9045394224676367,
|
||||
"n_matched": 895
|
||||
"tp": 450,
|
||||
"fp": 173,
|
||||
"fn": 125,
|
||||
"precision": 0.7223113964686998,
|
||||
"recall": 0.782608695652174,
|
||||
"f1": 0.7512520868113521,
|
||||
"mean_mask_iou": 0.8642687773554002,
|
||||
"n_matched": 450
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 335,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"environment": {
|
||||
"host": "mx-spark-01",
|
||||
@@ -84,32 +85,32 @@
|
||||
},
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"f1_delta": 0.0022,
|
||||
"mask_iou_delta": -0.0099,
|
||||
"mask_score": 0.7867,
|
||||
"mask_score_baseline": 0.7967,
|
||||
"matched_only_iou_delta": -0.0073,
|
||||
"f1_delta": 0.0114,
|
||||
"mask_iou_delta": 0.0037,
|
||||
"mask_score": 0.6764,
|
||||
"mask_score_baseline": 0.6726,
|
||||
"matched_only_iou_delta": 0.0009,
|
||||
"class_f1_delta": {
|
||||
"loop_all": -0.0115,
|
||||
"pin": 0.0066
|
||||
"loop_all": -0.0131,
|
||||
"pin": 0.0285
|
||||
},
|
||||
"pass_point_rule": false,
|
||||
"pass_point_rule": true,
|
||||
"rule": "paired bootstrap",
|
||||
"bootstrap": {
|
||||
"frames": 285,
|
||||
"mounts": 250,
|
||||
"frames": 335,
|
||||
"mounts": 300,
|
||||
"draws": 2000,
|
||||
"f1": {
|
||||
"delta": 0.0024,
|
||||
"lo": -0.0143,
|
||||
"hi": 0.0204,
|
||||
"win": 0.595
|
||||
"delta": 0.0114,
|
||||
"lo": -0.0119,
|
||||
"hi": 0.0351,
|
||||
"win": 0.816
|
||||
},
|
||||
"mask_score": {
|
||||
"delta": 0.0009,
|
||||
"lo": -0.0127,
|
||||
"hi": 0.0145,
|
||||
"win": 0.553
|
||||
"delta": 0.0037,
|
||||
"lo": -0.0143,
|
||||
"hi": 0.0224,
|
||||
"win": 0.662
|
||||
}
|
||||
},
|
||||
"pass": false
|
||||
|
||||
@@ -27,43 +27,43 @@
|
||||
"pt"
|
||||
],
|
||||
"metrics": {
|
||||
"tp": 895,
|
||||
"fp": 182,
|
||||
"fn": 134,
|
||||
"precision": 0.8310120705663882,
|
||||
"recall": 0.86977648202138,
|
||||
"f1": 0.8499525166191833,
|
||||
"mean_mask_iou": 0.9045394224676367,
|
||||
"n_matched": 895
|
||||
"tp": 450,
|
||||
"fp": 173,
|
||||
"fn": 125,
|
||||
"precision": 0.7223113964686998,
|
||||
"recall": 0.782608695652174,
|
||||
"f1": 0.7512520868113521,
|
||||
"mean_mask_iou": 0.8642687773554002,
|
||||
"n_matched": 450
|
||||
},
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"f1_delta": 0.0022,
|
||||
"mask_iou_delta": -0.0099,
|
||||
"mask_score": 0.7867,
|
||||
"mask_score_baseline": 0.7967,
|
||||
"matched_only_iou_delta": -0.0073,
|
||||
"f1_delta": 0.0114,
|
||||
"mask_iou_delta": 0.0037,
|
||||
"mask_score": 0.6764,
|
||||
"mask_score_baseline": 0.6726,
|
||||
"matched_only_iou_delta": 0.0009,
|
||||
"class_f1_delta": {
|
||||
"loop_all": -0.0115,
|
||||
"pin": 0.0066
|
||||
"loop_all": -0.0131,
|
||||
"pin": 0.0285
|
||||
},
|
||||
"pass_point_rule": false,
|
||||
"pass_point_rule": true,
|
||||
"rule": "paired bootstrap",
|
||||
"bootstrap": {
|
||||
"frames": 285,
|
||||
"mounts": 250,
|
||||
"frames": 335,
|
||||
"mounts": 300,
|
||||
"draws": 2000,
|
||||
"f1": {
|
||||
"delta": 0.0024,
|
||||
"lo": -0.0143,
|
||||
"hi": 0.0204,
|
||||
"win": 0.595
|
||||
"delta": 0.0114,
|
||||
"lo": -0.0119,
|
||||
"hi": 0.0351,
|
||||
"win": 0.816
|
||||
},
|
||||
"mask_score": {
|
||||
"delta": 0.0009,
|
||||
"lo": -0.0127,
|
||||
"hi": 0.0145,
|
||||
"win": 0.553
|
||||
"delta": 0.0037,
|
||||
"lo": -0.0143,
|
||||
"hi": 0.0224,
|
||||
"win": 0.662
|
||||
}
|
||||
},
|
||||
"pass": false
|
||||
|
||||
@@ -1,54 +1,54 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 309,
|
||||
"tp": 151,
|
||||
"fp": 25,
|
||||
"fn": 8,
|
||||
"precision": 0.9251497005988024,
|
||||
"recall": 0.9747634069400631,
|
||||
"f1": 0.9493087557603687,
|
||||
"mean_mask_iou": 0.9252735800942133,
|
||||
"n_matched": 309
|
||||
"fn": 7,
|
||||
"precision": 0.8579545454545454,
|
||||
"recall": 0.9556962025316456,
|
||||
"f1": 0.9041916167664671,
|
||||
"mean_mask_iou": 0.8900843775137935,
|
||||
"n_matched": 151
|
||||
},
|
||||
"pin": {
|
||||
"tp": 214,
|
||||
"tp": 76,
|
||||
"fp": 15,
|
||||
"fn": 10,
|
||||
"precision": 0.9344978165938864,
|
||||
"recall": 0.9553571428571429,
|
||||
"f1": 0.944812362030905,
|
||||
"mean_mask_iou": 0.9373156284625324,
|
||||
"n_matched": 214
|
||||
"fn": 8,
|
||||
"precision": 0.8351648351648352,
|
||||
"recall": 0.9047619047619048,
|
||||
"f1": 0.8685714285714285,
|
||||
"mean_mask_iou": 0.9028628651190943,
|
||||
"n_matched": 76
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 96,
|
||||
"fp": 67,
|
||||
"fn": 53,
|
||||
"precision": 0.588957055214724,
|
||||
"recall": 0.6442953020134228,
|
||||
"f1": 0.6153846153846153,
|
||||
"mean_mask_iou": 0.7870228886885559,
|
||||
"n_matched": 96
|
||||
"tp": 85,
|
||||
"fp": 66,
|
||||
"fn": 50,
|
||||
"precision": 0.5629139072847682,
|
||||
"recall": 0.6296296296296297,
|
||||
"f1": 0.5944055944055944,
|
||||
"mean_mask_iou": 0.7815064307616706,
|
||||
"n_matched": 85
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 269,
|
||||
"fp": 53,
|
||||
"fn": 26,
|
||||
"precision": 0.8354037267080745,
|
||||
"recall": 0.911864406779661,
|
||||
"f1": 0.8719611021069691,
|
||||
"mean_mask_iou": 0.9008181510928498,
|
||||
"n_matched": 269
|
||||
"tp": 135,
|
||||
"fp": 50,
|
||||
"fn": 20,
|
||||
"precision": 0.7297297297297297,
|
||||
"recall": 0.8709677419354839,
|
||||
"f1": 0.7941176470588235,
|
||||
"mean_mask_iou": 0.8489963361151837,
|
||||
"n_matched": 135
|
||||
},
|
||||
"ice": {
|
||||
"tp": 3,
|
||||
"tp": 2,
|
||||
"fp": 10,
|
||||
"fn": 40,
|
||||
"precision": 0.23076923076923078,
|
||||
"recall": 0.06976744186046512,
|
||||
"f1": 0.10714285714285714,
|
||||
"mean_mask_iou": 0.8444813717997576,
|
||||
"n_matched": 3
|
||||
"precision": 0.16666666666666666,
|
||||
"recall": 0.047619047619047616,
|
||||
"f1": 0.07407407407407407,
|
||||
"mean_mask_iou": 0.902436343413922,
|
||||
"n_matched": 2
|
||||
},
|
||||
"needle": {
|
||||
"tp": 0,
|
||||
@@ -62,26 +62,29 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 891,
|
||||
"fp": 170,
|
||||
"fn": 138,
|
||||
"precision": 0.8397737983034873,
|
||||
"recall": 0.8658892128279884,
|
||||
"f1": 0.8526315789473684,
|
||||
"mean_mask_iou": 0.9056148202172515,
|
||||
"n_matched": 891
|
||||
"tp": 449,
|
||||
"fp": 166,
|
||||
"fn": 126,
|
||||
"precision": 0.7300813008130081,
|
||||
"recall": 0.7808695652173913,
|
||||
"f1": 0.7546218487394959,
|
||||
"mean_mask_iou": 0.8593936379304089,
|
||||
"n_matched": 449
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 335,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v5-noflip-mask1-2026-10-23/weights.pt",
|
||||
"environment": {
|
||||
"host": "mx-spark-01",
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-25T09:46:56",
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"f1_delta": 0.0049,
|
||||
@@ -113,5 +116,6 @@
|
||||
}
|
||||
},
|
||||
"pass": false
|
||||
}
|
||||
},
|
||||
"gate_measured_on": 335
|
||||
}
|
||||
@@ -1,54 +1,54 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 309,
|
||||
"tp": 151,
|
||||
"fp": 25,
|
||||
"fn": 8,
|
||||
"precision": 0.9251497005988024,
|
||||
"recall": 0.9747634069400631,
|
||||
"f1": 0.9493087557603687,
|
||||
"mean_mask_iou": 0.9252735800942133,
|
||||
"n_matched": 309
|
||||
"fn": 7,
|
||||
"precision": 0.8579545454545454,
|
||||
"recall": 0.9556962025316456,
|
||||
"f1": 0.9041916167664671,
|
||||
"mean_mask_iou": 0.8900843775137935,
|
||||
"n_matched": 151
|
||||
},
|
||||
"pin": {
|
||||
"tp": 214,
|
||||
"tp": 76,
|
||||
"fp": 15,
|
||||
"fn": 10,
|
||||
"precision": 0.9344978165938864,
|
||||
"recall": 0.9553571428571429,
|
||||
"f1": 0.944812362030905,
|
||||
"mean_mask_iou": 0.9373156284625324,
|
||||
"n_matched": 214
|
||||
"fn": 8,
|
||||
"precision": 0.8351648351648352,
|
||||
"recall": 0.9047619047619048,
|
||||
"f1": 0.8685714285714285,
|
||||
"mean_mask_iou": 0.9028628651190943,
|
||||
"n_matched": 76
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 96,
|
||||
"fp": 67,
|
||||
"fn": 53,
|
||||
"precision": 0.588957055214724,
|
||||
"recall": 0.6442953020134228,
|
||||
"f1": 0.6153846153846153,
|
||||
"mean_mask_iou": 0.7870228886885559,
|
||||
"n_matched": 96
|
||||
"tp": 85,
|
||||
"fp": 66,
|
||||
"fn": 50,
|
||||
"precision": 0.5629139072847682,
|
||||
"recall": 0.6296296296296297,
|
||||
"f1": 0.5944055944055944,
|
||||
"mean_mask_iou": 0.7815064307616706,
|
||||
"n_matched": 85
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 269,
|
||||
"fp": 53,
|
||||
"fn": 26,
|
||||
"precision": 0.8354037267080745,
|
||||
"recall": 0.911864406779661,
|
||||
"f1": 0.8719611021069691,
|
||||
"mean_mask_iou": 0.9008181510928498,
|
||||
"n_matched": 269
|
||||
"tp": 135,
|
||||
"fp": 50,
|
||||
"fn": 20,
|
||||
"precision": 0.7297297297297297,
|
||||
"recall": 0.8709677419354839,
|
||||
"f1": 0.7941176470588235,
|
||||
"mean_mask_iou": 0.8489963361151837,
|
||||
"n_matched": 135
|
||||
},
|
||||
"ice": {
|
||||
"tp": 3,
|
||||
"tp": 2,
|
||||
"fp": 10,
|
||||
"fn": 40,
|
||||
"precision": 0.23076923076923078,
|
||||
"recall": 0.06976744186046512,
|
||||
"f1": 0.10714285714285714,
|
||||
"mean_mask_iou": 0.8444813717997576,
|
||||
"n_matched": 3
|
||||
"precision": 0.16666666666666666,
|
||||
"recall": 0.047619047619047616,
|
||||
"f1": 0.07407407407407407,
|
||||
"mean_mask_iou": 0.902436343413922,
|
||||
"n_matched": 2
|
||||
},
|
||||
"needle": {
|
||||
"tp": 0,
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 891,
|
||||
"fp": 170,
|
||||
"fn": 138,
|
||||
"precision": 0.8397737983034873,
|
||||
"recall": 0.8658892128279884,
|
||||
"f1": 0.8526315789473684,
|
||||
"mean_mask_iou": 0.9056148202172515,
|
||||
"n_matched": 891
|
||||
"tp": 449,
|
||||
"fp": 166,
|
||||
"fn": 126,
|
||||
"precision": 0.7300813008130081,
|
||||
"recall": 0.7808695652173913,
|
||||
"f1": 0.7546218487394959,
|
||||
"mean_mask_iou": 0.8593936379304089,
|
||||
"n_matched": 449
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 335,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"environment": {
|
||||
"host": "mx-spark-01",
|
||||
@@ -84,32 +85,32 @@
|
||||
},
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"f1_delta": 0.0049,
|
||||
"mask_iou_delta": -0.0125,
|
||||
"mask_score": 0.7842,
|
||||
"mask_score_baseline": 0.7967,
|
||||
"matched_only_iou_delta": -0.0063,
|
||||
"f1_delta": 0.0147,
|
||||
"mask_iou_delta": -0.0016,
|
||||
"mask_score": 0.6711,
|
||||
"mask_score_baseline": 0.6726,
|
||||
"matched_only_iou_delta": -0.0039,
|
||||
"class_f1_delta": {
|
||||
"loop_all": -0.0133,
|
||||
"pin": 0.0121
|
||||
"loop_all": -0.025,
|
||||
"pin": 0.0352
|
||||
},
|
||||
"pass_point_rule": false,
|
||||
"rule": "paired bootstrap",
|
||||
"bootstrap": {
|
||||
"frames": 285,
|
||||
"mounts": 250,
|
||||
"frames": 335,
|
||||
"mounts": 300,
|
||||
"draws": 2000,
|
||||
"f1": {
|
||||
"delta": 0.0017,
|
||||
"lo": -0.0137,
|
||||
"hi": 0.0179,
|
||||
"win": 0.592
|
||||
"delta": 0.0147,
|
||||
"lo": -0.0078,
|
||||
"hi": 0.0402,
|
||||
"win": 0.906
|
||||
},
|
||||
"mask_score": {
|
||||
"delta": -0.0056,
|
||||
"lo": -0.0174,
|
||||
"hi": 0.0056,
|
||||
"win": 0.174
|
||||
"delta": -0.0016,
|
||||
"lo": -0.0182,
|
||||
"hi": 0.0149,
|
||||
"win": 0.446
|
||||
}
|
||||
},
|
||||
"pass": false
|
||||
|
||||
@@ -27,43 +27,43 @@
|
||||
"pt"
|
||||
],
|
||||
"metrics": {
|
||||
"tp": 891,
|
||||
"fp": 170,
|
||||
"fn": 138,
|
||||
"precision": 0.8397737983034873,
|
||||
"recall": 0.8658892128279884,
|
||||
"f1": 0.8526315789473684,
|
||||
"mean_mask_iou": 0.9056148202172515,
|
||||
"n_matched": 891
|
||||
"tp": 449,
|
||||
"fp": 166,
|
||||
"fn": 126,
|
||||
"precision": 0.7300813008130081,
|
||||
"recall": 0.7808695652173913,
|
||||
"f1": 0.7546218487394959,
|
||||
"mean_mask_iou": 0.8593936379304089,
|
||||
"n_matched": 449
|
||||
},
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"f1_delta": 0.0049,
|
||||
"mask_iou_delta": -0.0125,
|
||||
"mask_score": 0.7842,
|
||||
"mask_score_baseline": 0.7967,
|
||||
"matched_only_iou_delta": -0.0063,
|
||||
"f1_delta": 0.0147,
|
||||
"mask_iou_delta": -0.0016,
|
||||
"mask_score": 0.6711,
|
||||
"mask_score_baseline": 0.6726,
|
||||
"matched_only_iou_delta": -0.0039,
|
||||
"class_f1_delta": {
|
||||
"loop_all": -0.0133,
|
||||
"pin": 0.0121
|
||||
"loop_all": -0.025,
|
||||
"pin": 0.0352
|
||||
},
|
||||
"pass_point_rule": false,
|
||||
"rule": "paired bootstrap",
|
||||
"bootstrap": {
|
||||
"frames": 285,
|
||||
"mounts": 250,
|
||||
"frames": 335,
|
||||
"mounts": 300,
|
||||
"draws": 2000,
|
||||
"f1": {
|
||||
"delta": 0.0017,
|
||||
"lo": -0.0137,
|
||||
"hi": 0.0179,
|
||||
"win": 0.592
|
||||
"delta": 0.0147,
|
||||
"lo": -0.0078,
|
||||
"hi": 0.0402,
|
||||
"win": 0.906
|
||||
},
|
||||
"mask_score": {
|
||||
"delta": -0.0056,
|
||||
"lo": -0.0174,
|
||||
"hi": 0.0056,
|
||||
"win": 0.174
|
||||
"delta": -0.0016,
|
||||
"lo": -0.0182,
|
||||
"hi": 0.0149,
|
||||
"win": 0.446
|
||||
}
|
||||
},
|
||||
"pass": false
|
||||
|
||||
@@ -1,54 +1,54 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 308,
|
||||
"fp": 26,
|
||||
"fn": 9,
|
||||
"precision": 0.9221556886227545,
|
||||
"recall": 0.9716088328075709,
|
||||
"f1": 0.9462365591397849,
|
||||
"mean_mask_iou": 0.9210329853480719,
|
||||
"n_matched": 308
|
||||
"tp": 151,
|
||||
"fp": 25,
|
||||
"fn": 7,
|
||||
"precision": 0.8579545454545454,
|
||||
"recall": 0.9556962025316456,
|
||||
"f1": 0.9041916167664671,
|
||||
"mean_mask_iou": 0.8884674186684715,
|
||||
"n_matched": 151
|
||||
},
|
||||
"pin": {
|
||||
"tp": 214,
|
||||
"tp": 74,
|
||||
"fp": 16,
|
||||
"fn": 10,
|
||||
"precision": 0.9304347826086956,
|
||||
"recall": 0.9553571428571429,
|
||||
"f1": 0.9427312775330396,
|
||||
"mean_mask_iou": 0.9357500978870736,
|
||||
"n_matched": 214
|
||||
"precision": 0.8222222222222222,
|
||||
"recall": 0.8809523809523809,
|
||||
"f1": 0.8505747126436781,
|
||||
"mean_mask_iou": 0.9094866087767759,
|
||||
"n_matched": 74
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 76,
|
||||
"fp": 63,
|
||||
"fn": 73,
|
||||
"precision": 0.5467625899280576,
|
||||
"recall": 0.5100671140939598,
|
||||
"f1": 0.5277777777777778,
|
||||
"mean_mask_iou": 0.779695033962373,
|
||||
"n_matched": 76
|
||||
"tp": 69,
|
||||
"fp": 62,
|
||||
"fn": 66,
|
||||
"precision": 0.5267175572519084,
|
||||
"recall": 0.5111111111111111,
|
||||
"f1": 0.518796992481203,
|
||||
"mean_mask_iou": 0.777642425424736,
|
||||
"n_matched": 69
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 265,
|
||||
"fp": 51,
|
||||
"fn": 30,
|
||||
"precision": 0.8386075949367089,
|
||||
"recall": 0.8983050847457628,
|
||||
"f1": 0.867430441898527,
|
||||
"mean_mask_iou": 0.9022314012766025,
|
||||
"n_matched": 265
|
||||
"tp": 130,
|
||||
"fp": 47,
|
||||
"fn": 25,
|
||||
"precision": 0.7344632768361582,
|
||||
"recall": 0.8387096774193549,
|
||||
"f1": 0.7831325301204819,
|
||||
"mean_mask_iou": 0.8552905127066354,
|
||||
"n_matched": 130
|
||||
},
|
||||
"ice": {
|
||||
"tp": 5,
|
||||
"tp": 4,
|
||||
"fp": 3,
|
||||
"fn": 38,
|
||||
"precision": 0.625,
|
||||
"recall": 0.11627906976744186,
|
||||
"f1": 0.19607843137254904,
|
||||
"mean_mask_iou": 0.7441614535204797,
|
||||
"n_matched": 5
|
||||
"precision": 0.5714285714285714,
|
||||
"recall": 0.09523809523809523,
|
||||
"f1": 0.16326530612244897,
|
||||
"mean_mask_iou": 0.737655233049668,
|
||||
"n_matched": 4
|
||||
},
|
||||
"needle": {
|
||||
"tp": 0,
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 868,
|
||||
"fp": 160,
|
||||
"fn": 161,
|
||||
"precision": 0.8443579766536965,
|
||||
"recall": 0.8435374149659864,
|
||||
"f1": 0.8439474963539134,
|
||||
"mean_mask_iou": 0.9055272253710626,
|
||||
"n_matched": 868
|
||||
"tp": 428,
|
||||
"fp": 154,
|
||||
"fn": 147,
|
||||
"precision": 0.7353951890034365,
|
||||
"recall": 0.7443478260869565,
|
||||
"f1": 0.7398444252376836,
|
||||
"mean_mask_iou": 0.8627483743149267,
|
||||
"n_matched": 428
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 336,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26s-seg-v3-s-640px-2026-10-01/weights.pt",
|
||||
"environment": {
|
||||
@@ -83,7 +84,7 @@
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-22T11:40:04",
|
||||
"measured_at": "2026-10-25T09:47:13",
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v3-noflip-mask1-2026-09-30/gold_report.json",
|
||||
"f1_delta": 0.0238,
|
||||
|
||||
@@ -1,52 +1,52 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 308,
|
||||
"tp": 151,
|
||||
"fp": 19,
|
||||
"fn": 9,
|
||||
"precision": 0.9418960244648318,
|
||||
"recall": 0.9716088328075709,
|
||||
"f1": 0.9565217391304348,
|
||||
"mean_mask_iou": 0.9229619481348076,
|
||||
"n_matched": 308
|
||||
"fn": 7,
|
||||
"precision": 0.888235294117647,
|
||||
"recall": 0.9556962025316456,
|
||||
"f1": 0.9207317073170731,
|
||||
"mean_mask_iou": 0.8883753001974017,
|
||||
"n_matched": 151
|
||||
},
|
||||
"pin": {
|
||||
"tp": 214,
|
||||
"fp": 23,
|
||||
"fn": 10,
|
||||
"precision": 0.9029535864978903,
|
||||
"recall": 0.9553571428571429,
|
||||
"f1": 0.9284164859002169,
|
||||
"mean_mask_iou": 0.9392434589975192,
|
||||
"n_matched": 214
|
||||
"tp": 76,
|
||||
"fp": 21,
|
||||
"fn": 8,
|
||||
"precision": 0.7835051546391752,
|
||||
"recall": 0.9047619047619048,
|
||||
"f1": 0.839779005524862,
|
||||
"mean_mask_iou": 0.9117903085113713,
|
||||
"n_matched": 76
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 93,
|
||||
"fp": 61,
|
||||
"fn": 56,
|
||||
"precision": 0.6038961038961039,
|
||||
"recall": 0.6241610738255033,
|
||||
"f1": 0.6138613861386139,
|
||||
"mean_mask_iou": 0.7860551169622239,
|
||||
"n_matched": 93
|
||||
"tp": 84,
|
||||
"fp": 60,
|
||||
"fn": 51,
|
||||
"precision": 0.5833333333333334,
|
||||
"recall": 0.6222222222222222,
|
||||
"f1": 0.6021505376344085,
|
||||
"mean_mask_iou": 0.7879133701727913,
|
||||
"n_matched": 84
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 274,
|
||||
"fp": 52,
|
||||
"fn": 21,
|
||||
"precision": 0.8404907975460123,
|
||||
"recall": 0.9288135593220339,
|
||||
"f1": 0.8824476650563607,
|
||||
"mean_mask_iou": 0.9017649910336784,
|
||||
"n_matched": 274
|
||||
"tp": 140,
|
||||
"fp": 50,
|
||||
"fn": 15,
|
||||
"precision": 0.7368421052631579,
|
||||
"recall": 0.9032258064516129,
|
||||
"f1": 0.8115942028985507,
|
||||
"mean_mask_iou": 0.8506909275773613,
|
||||
"n_matched": 140
|
||||
},
|
||||
"ice": {
|
||||
"tp": 5,
|
||||
"fp": 18,
|
||||
"fn": 38,
|
||||
"fn": 37,
|
||||
"precision": 0.21739130434782608,
|
||||
"recall": 0.11627906976744186,
|
||||
"f1": 0.15151515151515152,
|
||||
"recall": 0.11904761904761904,
|
||||
"f1": 0.15384615384615383,
|
||||
"mean_mask_iou": 0.8077960211591213,
|
||||
"n_matched": 5
|
||||
},
|
||||
@@ -62,26 +62,29 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 894,
|
||||
"fp": 173,
|
||||
"fn": 135,
|
||||
"precision": 0.837863167760075,
|
||||
"recall": 0.8688046647230321,
|
||||
"f1": 0.8530534351145038,
|
||||
"mean_mask_iou": 0.9054766149636467,
|
||||
"n_matched": 894
|
||||
"tp": 456,
|
||||
"fp": 168,
|
||||
"fn": 119,
|
||||
"precision": 0.7307692307692307,
|
||||
"recall": 0.7930434782608695,
|
||||
"f1": 0.7606338615512926,
|
||||
"mean_mask_iou": 0.8613183483285363,
|
||||
"n_matched": 456
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 335,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"weights": "/home/jungfrau/AareLC_train/models/registry/yolo26s-seg-v5-s-noflip-mask1-2026-10-23/weights.pt",
|
||||
"environment": {
|
||||
"host": "mx-spark-01",
|
||||
"ultralytics": "8.4.160",
|
||||
"torch": "2.14.0+cu130"
|
||||
},
|
||||
"measured_at": "2026-10-25T09:47:22",
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"f1_delta": 0.0053,
|
||||
@@ -113,5 +116,6 @@
|
||||
}
|
||||
},
|
||||
"pass": false
|
||||
}
|
||||
},
|
||||
"gate_measured_on": 335
|
||||
}
|
||||
@@ -1,52 +1,52 @@
|
||||
{
|
||||
"per_class": {
|
||||
"loop_all": {
|
||||
"tp": 308,
|
||||
"tp": 151,
|
||||
"fp": 19,
|
||||
"fn": 9,
|
||||
"precision": 0.9418960244648318,
|
||||
"recall": 0.9716088328075709,
|
||||
"f1": 0.9565217391304348,
|
||||
"mean_mask_iou": 0.9229619481348076,
|
||||
"n_matched": 308
|
||||
"fn": 7,
|
||||
"precision": 0.888235294117647,
|
||||
"recall": 0.9556962025316456,
|
||||
"f1": 0.9207317073170731,
|
||||
"mean_mask_iou": 0.8883753001974017,
|
||||
"n_matched": 151
|
||||
},
|
||||
"pin": {
|
||||
"tp": 214,
|
||||
"fp": 23,
|
||||
"fn": 10,
|
||||
"precision": 0.9029535864978903,
|
||||
"recall": 0.9553571428571429,
|
||||
"f1": 0.9284164859002169,
|
||||
"mean_mask_iou": 0.9392434589975192,
|
||||
"n_matched": 214
|
||||
"tp": 76,
|
||||
"fp": 21,
|
||||
"fn": 8,
|
||||
"precision": 0.7835051546391752,
|
||||
"recall": 0.9047619047619048,
|
||||
"f1": 0.839779005524862,
|
||||
"mean_mask_iou": 0.9117903085113713,
|
||||
"n_matched": 76
|
||||
},
|
||||
"crystal": {
|
||||
"tp": 93,
|
||||
"fp": 61,
|
||||
"fn": 56,
|
||||
"precision": 0.6038961038961039,
|
||||
"recall": 0.6241610738255033,
|
||||
"f1": 0.6138613861386139,
|
||||
"mean_mask_iou": 0.7860551169622239,
|
||||
"n_matched": 93
|
||||
"tp": 84,
|
||||
"fp": 60,
|
||||
"fn": 51,
|
||||
"precision": 0.5833333333333334,
|
||||
"recall": 0.6222222222222222,
|
||||
"f1": 0.6021505376344085,
|
||||
"mean_mask_iou": 0.7879133701727913,
|
||||
"n_matched": 84
|
||||
},
|
||||
"loop_face": {
|
||||
"tp": 274,
|
||||
"fp": 52,
|
||||
"fn": 21,
|
||||
"precision": 0.8404907975460123,
|
||||
"recall": 0.9288135593220339,
|
||||
"f1": 0.8824476650563607,
|
||||
"mean_mask_iou": 0.9017649910336784,
|
||||
"n_matched": 274
|
||||
"tp": 140,
|
||||
"fp": 50,
|
||||
"fn": 15,
|
||||
"precision": 0.7368421052631579,
|
||||
"recall": 0.9032258064516129,
|
||||
"f1": 0.8115942028985507,
|
||||
"mean_mask_iou": 0.8506909275773613,
|
||||
"n_matched": 140
|
||||
},
|
||||
"ice": {
|
||||
"tp": 5,
|
||||
"fp": 18,
|
||||
"fn": 38,
|
||||
"fn": 37,
|
||||
"precision": 0.21739130434782608,
|
||||
"recall": 0.11627906976744186,
|
||||
"f1": 0.15151515151515152,
|
||||
"recall": 0.11904761904761904,
|
||||
"f1": 0.15384615384615383,
|
||||
"mean_mask_iou": 0.8077960211591213,
|
||||
"n_matched": 5
|
||||
},
|
||||
@@ -62,20 +62,21 @@
|
||||
}
|
||||
},
|
||||
"overall": {
|
||||
"tp": 894,
|
||||
"fp": 173,
|
||||
"fn": 135,
|
||||
"precision": 0.837863167760075,
|
||||
"recall": 0.8688046647230321,
|
||||
"f1": 0.8530534351145038,
|
||||
"mean_mask_iou": 0.9054766149636467,
|
||||
"n_matched": 894
|
||||
"tp": 456,
|
||||
"fp": 168,
|
||||
"fn": 119,
|
||||
"precision": 0.7307692307692307,
|
||||
"recall": 0.7930434782608695,
|
||||
"f1": 0.7606338615512926,
|
||||
"mean_mask_iou": 0.8613183483285363,
|
||||
"n_matched": 456
|
||||
},
|
||||
"dataset": {
|
||||
"gold_images": 335,
|
||||
"pred_images": 335,
|
||||
"missing_predictions": 0,
|
||||
"iou_threshold": 0.5
|
||||
"iou_threshold": 0.5,
|
||||
"ignored_objects": 454
|
||||
},
|
||||
"environment": {
|
||||
"host": "mx-spark-01",
|
||||
@@ -84,34 +85,34 @@
|
||||
},
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"f1_delta": 0.0053,
|
||||
"mask_iou_delta": -0.01,
|
||||
"mask_score": 0.7867,
|
||||
"mask_score_baseline": 0.7967,
|
||||
"matched_only_iou_delta": -0.0064,
|
||||
"f1_delta": 0.0207,
|
||||
"mask_iou_delta": 0.0104,
|
||||
"mask_score": 0.6831,
|
||||
"mask_score_baseline": 0.6726,
|
||||
"matched_only_iou_delta": -0.002,
|
||||
"class_f1_delta": {
|
||||
"loop_all": -0.0061,
|
||||
"pin": -0.0043
|
||||
"loop_all": -0.0085,
|
||||
"pin": 0.0064
|
||||
},
|
||||
"pass_point_rule": false,
|
||||
"pass_point_rule": true,
|
||||
"rule": "paired bootstrap",
|
||||
"bootstrap": {
|
||||
"frames": 285,
|
||||
"mounts": 250,
|
||||
"frames": 335,
|
||||
"mounts": 300,
|
||||
"draws": 2000,
|
||||
"f1": {
|
||||
"delta": 0.006,
|
||||
"lo": -0.0112,
|
||||
"hi": 0.0239,
|
||||
"win": 0.771
|
||||
"delta": 0.0207,
|
||||
"lo": -0.0028,
|
||||
"hi": 0.0438,
|
||||
"win": 0.961
|
||||
},
|
||||
"mask_score": {
|
||||
"delta": -0.0004,
|
||||
"lo": -0.0133,
|
||||
"hi": 0.0122,
|
||||
"win": 0.494
|
||||
"delta": 0.0104,
|
||||
"lo": -0.0053,
|
||||
"hi": 0.027,
|
||||
"win": 0.9
|
||||
}
|
||||
},
|
||||
"pass": false
|
||||
"pass": true
|
||||
}
|
||||
}
|
||||
@@ -27,45 +27,45 @@
|
||||
"pt"
|
||||
],
|
||||
"metrics": {
|
||||
"tp": 894,
|
||||
"fp": 173,
|
||||
"fn": 135,
|
||||
"precision": 0.837863167760075,
|
||||
"recall": 0.8688046647230321,
|
||||
"f1": 0.8530534351145038,
|
||||
"mean_mask_iou": 0.9054766149636467,
|
||||
"n_matched": 894
|
||||
"tp": 456,
|
||||
"fp": 168,
|
||||
"fn": 119,
|
||||
"precision": 0.7307692307692307,
|
||||
"recall": 0.7930434782608695,
|
||||
"f1": 0.7606338615512926,
|
||||
"mean_mask_iou": 0.8613183483285363,
|
||||
"n_matched": 456
|
||||
},
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"f1_delta": 0.0053,
|
||||
"mask_iou_delta": -0.01,
|
||||
"mask_score": 0.7867,
|
||||
"mask_score_baseline": 0.7967,
|
||||
"matched_only_iou_delta": -0.0064,
|
||||
"f1_delta": 0.0207,
|
||||
"mask_iou_delta": 0.0104,
|
||||
"mask_score": 0.6831,
|
||||
"mask_score_baseline": 0.6726,
|
||||
"matched_only_iou_delta": -0.002,
|
||||
"class_f1_delta": {
|
||||
"loop_all": -0.0061,
|
||||
"pin": -0.0043
|
||||
"loop_all": -0.0085,
|
||||
"pin": 0.0064
|
||||
},
|
||||
"pass_point_rule": false,
|
||||
"pass_point_rule": true,
|
||||
"rule": "paired bootstrap",
|
||||
"bootstrap": {
|
||||
"frames": 285,
|
||||
"mounts": 250,
|
||||
"frames": 335,
|
||||
"mounts": 300,
|
||||
"draws": 2000,
|
||||
"f1": {
|
||||
"delta": 0.006,
|
||||
"lo": -0.0112,
|
||||
"hi": 0.0239,
|
||||
"win": 0.771
|
||||
"delta": 0.0207,
|
||||
"lo": -0.0028,
|
||||
"hi": 0.0438,
|
||||
"win": 0.961
|
||||
},
|
||||
"mask_score": {
|
||||
"delta": -0.0004,
|
||||
"lo": -0.0133,
|
||||
"hi": 0.0122,
|
||||
"win": 0.494
|
||||
"delta": 0.0104,
|
||||
"lo": -0.0053,
|
||||
"hi": 0.027,
|
||||
"win": 0.9
|
||||
}
|
||||
},
|
||||
"pass": false
|
||||
"pass": true
|
||||
}
|
||||
}
|
||||
@@ -1,42 +1,42 @@
|
||||
{
|
||||
"overall": {
|
||||
"tp": 891,
|
||||
"fp": 170,
|
||||
"fn": 138,
|
||||
"precision": 0.8397737983034873,
|
||||
"recall": 0.8658892128279884,
|
||||
"f1": 0.8526315789473684,
|
||||
"mean_mask_iou": 0.9056148202172515,
|
||||
"n_matched": 891
|
||||
"tp": 449,
|
||||
"fp": 166,
|
||||
"fn": 126,
|
||||
"precision": 0.7300813008130081,
|
||||
"recall": 0.7808695652173913,
|
||||
"f1": 0.7546218487394959,
|
||||
"mean_mask_iou": 0.8593936379304089,
|
||||
"n_matched": 449
|
||||
},
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"f1_delta": 0.0049,
|
||||
"mask_iou_delta": -0.0125,
|
||||
"mask_score": 0.7842,
|
||||
"mask_score_baseline": 0.7967,
|
||||
"matched_only_iou_delta": -0.0063,
|
||||
"f1_delta": 0.0147,
|
||||
"mask_iou_delta": -0.0016,
|
||||
"mask_score": 0.6711,
|
||||
"mask_score_baseline": 0.6726,
|
||||
"matched_only_iou_delta": -0.0039,
|
||||
"class_f1_delta": {
|
||||
"loop_all": -0.0133,
|
||||
"pin": 0.0121
|
||||
"loop_all": -0.025,
|
||||
"pin": 0.0352
|
||||
},
|
||||
"pass_point_rule": false,
|
||||
"rule": "paired bootstrap",
|
||||
"bootstrap": {
|
||||
"frames": 285,
|
||||
"mounts": 250,
|
||||
"frames": 335,
|
||||
"mounts": 300,
|
||||
"draws": 2000,
|
||||
"f1": {
|
||||
"delta": 0.0017,
|
||||
"lo": -0.0137,
|
||||
"hi": 0.0179,
|
||||
"win": 0.592
|
||||
"delta": 0.0147,
|
||||
"lo": -0.0078,
|
||||
"hi": 0.0402,
|
||||
"win": 0.906
|
||||
},
|
||||
"mask_score": {
|
||||
"delta": -0.0056,
|
||||
"lo": -0.0174,
|
||||
"hi": 0.0056,
|
||||
"win": 0.174
|
||||
"delta": -0.0016,
|
||||
"lo": -0.0182,
|
||||
"hi": 0.0149,
|
||||
"win": 0.446
|
||||
}
|
||||
},
|
||||
"pass": false
|
||||
@@ -53,5 +53,5 @@
|
||||
"mAP50-95(M)": 0.60896
|
||||
},
|
||||
"version": "yolo26n-seg-v5-noflip-mask1-2026-10-25",
|
||||
"measured_at": "2026-10-25T02:47:47"
|
||||
"measured_at": "2026-10-25T09:47:49"
|
||||
}
|
||||
@@ -24,11 +24,11 @@
|
||||
},
|
||||
"version": "yolo26n-seg-v5-noflip-mask1-2026-10-25",
|
||||
"metrics": {
|
||||
"f1": 0.8526315789473684,
|
||||
"mean_mask_iou": 0.9056148202172515,
|
||||
"f1": 0.7546218487394959,
|
||||
"mean_mask_iou": 0.8593936379304089,
|
||||
"gate_pass": false,
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"measured_at": "2026-10-25T02:47:47"
|
||||
"measured_at": "2026-10-25T09:47:49"
|
||||
},
|
||||
"history": [
|
||||
{
|
||||
@@ -72,8 +72,26 @@
|
||||
"at": "2026-10-25T02:47:47",
|
||||
"by": "jungfrau@mx-spark-01",
|
||||
"note": "{\"baseline\": \"/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json\", \"f1_delta\": 0.0049, \"mask_iou_delta\": -0.0125, \"mask_score\": 0.7842, \"mask_score_baseline\": 0.7967, \"matched_only_iou_delta\": -0.0063, \"class_f1_delta\": {\"loop_all\": -0.0133, \"pin\": 0.0121}, \"pass_point_rule\": false, \"rule\": \"paired bootstrap\", \"bootstrap\": {\"frames\": 285, \"mounts\": 250, \"draws\": 2000, \"f1\": {\"delta\": 0.0017, \"lo\": -0.0137, \"hi\": 0.0179, \"win\": 0.592}, \"mask_score\": {\"delta\": -0.0056, \"lo\": -0.0174, \"hi\": 0.0056, \"win\": 0.174}}, \"pass\": false}"
|
||||
},
|
||||
{
|
||||
"status": "training",
|
||||
"at": "2026-10-25T09:47:41",
|
||||
"by": "jungfrau@mx-spark-01",
|
||||
"note": "train_run.py"
|
||||
},
|
||||
{
|
||||
"status": "measured",
|
||||
"at": "2026-10-25T09:47:49",
|
||||
"by": "jungfrau@mx-spark-01",
|
||||
"note": ""
|
||||
},
|
||||
{
|
||||
"status": "gate_failed",
|
||||
"at": "2026-10-25T09:47:49",
|
||||
"by": "jungfrau@mx-spark-01",
|
||||
"note": "{\"baseline\": \"/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json\", \"f1_delta\": 0.0147, \"mask_iou_delta\": -0.0016, \"mask_score\": 0.6711, \"mask_score_baseline\": 0.6726, \"matched_only_iou_delta\": -0.0039, \"class_f1_delta\": {\"loop_all\": -0.025, \"pin\": 0.0352}, \"pass_point_rule\": false, \"rule\": \"paired bootstrap\", \"bootstrap\": {\"frames\": 335, \"mounts\": 300, \"draws\": 2000, \"f1\": {\"delta\": 0.0147, \"lo\": -0.0078, \"hi\": 0.0402, \"win\": 0.906}, \"mask_score\": {\"delta\": -0.0016, \"lo\": -0.0182, \"hi\": 0.0149, \"win\": 0.446}}, \"pass\": false}"
|
||||
}
|
||||
],
|
||||
"host": "mx-spark-01",
|
||||
"started": "2026-10-25T02:47:39"
|
||||
"started": "2026-10-25T09:47:41"
|
||||
}
|
||||
@@ -1,42 +1,42 @@
|
||||
{
|
||||
"overall": {
|
||||
"tp": 895,
|
||||
"fp": 182,
|
||||
"fn": 134,
|
||||
"precision": 0.8310120705663882,
|
||||
"recall": 0.86977648202138,
|
||||
"f1": 0.8499525166191833,
|
||||
"mean_mask_iou": 0.9045394224676367,
|
||||
"n_matched": 895
|
||||
"tp": 450,
|
||||
"fp": 173,
|
||||
"fn": 125,
|
||||
"precision": 0.7223113964686998,
|
||||
"recall": 0.782608695652174,
|
||||
"f1": 0.7512520868113521,
|
||||
"mean_mask_iou": 0.8642687773554002,
|
||||
"n_matched": 450
|
||||
},
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"f1_delta": 0.0022,
|
||||
"mask_iou_delta": -0.0099,
|
||||
"mask_score": 0.7867,
|
||||
"mask_score_baseline": 0.7967,
|
||||
"matched_only_iou_delta": -0.0073,
|
||||
"f1_delta": 0.0114,
|
||||
"mask_iou_delta": 0.0037,
|
||||
"mask_score": 0.6764,
|
||||
"mask_score_baseline": 0.6726,
|
||||
"matched_only_iou_delta": 0.0009,
|
||||
"class_f1_delta": {
|
||||
"loop_all": -0.0115,
|
||||
"pin": 0.0066
|
||||
"loop_all": -0.0131,
|
||||
"pin": 0.0285
|
||||
},
|
||||
"pass_point_rule": false,
|
||||
"pass_point_rule": true,
|
||||
"rule": "paired bootstrap",
|
||||
"bootstrap": {
|
||||
"frames": 285,
|
||||
"mounts": 250,
|
||||
"frames": 335,
|
||||
"mounts": 300,
|
||||
"draws": 2000,
|
||||
"f1": {
|
||||
"delta": 0.0024,
|
||||
"lo": -0.0143,
|
||||
"hi": 0.0204,
|
||||
"win": 0.595
|
||||
"delta": 0.0114,
|
||||
"lo": -0.0119,
|
||||
"hi": 0.0351,
|
||||
"win": 0.816
|
||||
},
|
||||
"mask_score": {
|
||||
"delta": 0.0009,
|
||||
"lo": -0.0127,
|
||||
"hi": 0.0145,
|
||||
"win": 0.553
|
||||
"delta": 0.0037,
|
||||
"lo": -0.0143,
|
||||
"hi": 0.0224,
|
||||
"win": 0.662
|
||||
}
|
||||
},
|
||||
"pass": false
|
||||
@@ -53,5 +53,5 @@
|
||||
"mAP50-95(M)": 0.62865
|
||||
},
|
||||
"version": "yolo26n-seg-v5-n-1024px-2026-10-25",
|
||||
"measured_at": "2026-10-25T02:48:09"
|
||||
"measured_at": "2026-10-25T09:48:08"
|
||||
}
|
||||
@@ -24,11 +24,11 @@
|
||||
},
|
||||
"version": "yolo26n-seg-v5-n-1024px-2026-10-25",
|
||||
"metrics": {
|
||||
"f1": 0.8499525166191833,
|
||||
"mean_mask_iou": 0.9045394224676367,
|
||||
"f1": 0.7512520868113521,
|
||||
"mean_mask_iou": 0.8642687773554002,
|
||||
"gate_pass": false,
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"measured_at": "2026-10-25T02:48:09"
|
||||
"measured_at": "2026-10-25T09:48:08"
|
||||
},
|
||||
"history": [
|
||||
{
|
||||
@@ -72,11 +72,29 @@
|
||||
"at": "2026-10-25T02:48:09",
|
||||
"by": "jungfrau@mx-spark-01",
|
||||
"note": "{\"baseline\": \"/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json\", \"f1_delta\": 0.0022, \"mask_iou_delta\": -0.0099, \"mask_score\": 0.7867, \"mask_score_baseline\": 0.7967, \"matched_only_iou_delta\": -0.0073, \"class_f1_delta\": {\"loop_all\": -0.0115, \"pin\": 0.0066}, \"pass_point_rule\": false, \"rule\": \"paired bootstrap\", \"bootstrap\": {\"frames\": 285, \"mounts\": 250, \"draws\": 2000, \"f1\": {\"delta\": 0.0024, \"lo\": -0.0143, \"hi\": 0.0204, \"win\": 0.595}, \"mask_score\": {\"delta\": 0.0009, \"lo\": -0.0127, \"hi\": 0.0145, \"win\": 0.553}}, \"pass\": false}"
|
||||
},
|
||||
{
|
||||
"status": "training",
|
||||
"at": "2026-10-25T09:47:59",
|
||||
"by": "jungfrau@mx-spark-01",
|
||||
"note": "train_run.py"
|
||||
},
|
||||
{
|
||||
"status": "measured",
|
||||
"at": "2026-10-25T09:48:08",
|
||||
"by": "jungfrau@mx-spark-01",
|
||||
"note": ""
|
||||
},
|
||||
{
|
||||
"status": "gate_failed",
|
||||
"at": "2026-10-25T09:48:08",
|
||||
"by": "jungfrau@mx-spark-01",
|
||||
"note": "{\"baseline\": \"/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json\", \"f1_delta\": 0.0114, \"mask_iou_delta\": 0.0037, \"mask_score\": 0.6764, \"mask_score_baseline\": 0.6726, \"matched_only_iou_delta\": 0.0009, \"class_f1_delta\": {\"loop_all\": -0.0131, \"pin\": 0.0285}, \"pass_point_rule\": true, \"rule\": \"paired bootstrap\", \"bootstrap\": {\"frames\": 335, \"mounts\": 300, \"draws\": 2000, \"f1\": {\"delta\": 0.0114, \"lo\": -0.0119, \"hi\": 0.0351, \"win\": 0.816}, \"mask_score\": {\"delta\": 0.0037, \"lo\": -0.0143, \"hi\": 0.0224, \"win\": 0.662}}, \"pass\": false}"
|
||||
}
|
||||
],
|
||||
"train_args": {
|
||||
"imgsz": 1024
|
||||
},
|
||||
"host": "mx-spark-01",
|
||||
"started": "2026-10-25T02:47:59"
|
||||
"started": "2026-10-25T09:47:59"
|
||||
}
|
||||
@@ -1,45 +1,45 @@
|
||||
{
|
||||
"overall": {
|
||||
"tp": 894,
|
||||
"fp": 173,
|
||||
"fn": 135,
|
||||
"precision": 0.837863167760075,
|
||||
"recall": 0.8688046647230321,
|
||||
"f1": 0.8530534351145038,
|
||||
"mean_mask_iou": 0.9054766149636467,
|
||||
"n_matched": 894
|
||||
"tp": 456,
|
||||
"fp": 168,
|
||||
"fn": 119,
|
||||
"precision": 0.7307692307692307,
|
||||
"recall": 0.7930434782608695,
|
||||
"f1": 0.7606338615512926,
|
||||
"mean_mask_iou": 0.8613183483285363,
|
||||
"n_matched": 456
|
||||
},
|
||||
"gate": {
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"f1_delta": 0.0053,
|
||||
"mask_iou_delta": -0.01,
|
||||
"mask_score": 0.7867,
|
||||
"mask_score_baseline": 0.7967,
|
||||
"matched_only_iou_delta": -0.0064,
|
||||
"f1_delta": 0.0207,
|
||||
"mask_iou_delta": 0.0104,
|
||||
"mask_score": 0.6831,
|
||||
"mask_score_baseline": 0.6726,
|
||||
"matched_only_iou_delta": -0.002,
|
||||
"class_f1_delta": {
|
||||
"loop_all": -0.0061,
|
||||
"pin": -0.0043
|
||||
"loop_all": -0.0085,
|
||||
"pin": 0.0064
|
||||
},
|
||||
"pass_point_rule": false,
|
||||
"pass_point_rule": true,
|
||||
"rule": "paired bootstrap",
|
||||
"bootstrap": {
|
||||
"frames": 285,
|
||||
"mounts": 250,
|
||||
"frames": 335,
|
||||
"mounts": 300,
|
||||
"draws": 2000,
|
||||
"f1": {
|
||||
"delta": 0.006,
|
||||
"lo": -0.0112,
|
||||
"hi": 0.0239,
|
||||
"win": 0.771
|
||||
"delta": 0.0207,
|
||||
"lo": -0.0028,
|
||||
"hi": 0.0438,
|
||||
"win": 0.961
|
||||
},
|
||||
"mask_score": {
|
||||
"delta": -0.0004,
|
||||
"lo": -0.0133,
|
||||
"hi": 0.0122,
|
||||
"win": 0.494
|
||||
"delta": 0.0104,
|
||||
"lo": -0.0053,
|
||||
"hi": 0.027,
|
||||
"win": 0.9
|
||||
}
|
||||
},
|
||||
"pass": false
|
||||
"pass": true
|
||||
},
|
||||
"training": {
|
||||
"epochs_run": 235,
|
||||
@@ -53,5 +53,5 @@
|
||||
"mAP50-95(M)": 0.64104
|
||||
},
|
||||
"version": "yolo26s-seg-v5-s-noflip-mask1-2026-10-25",
|
||||
"measured_at": "2026-10-25T02:47:58"
|
||||
"measured_at": "2026-10-25T09:47:58"
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
"id": "2026-10-23_v5-s-noflip-mask1",
|
||||
"dataset": "dataset/2026-10-22_v5",
|
||||
"base_weights": "models/base/yolo26s-seg.pt",
|
||||
"status": "gate_failed",
|
||||
"status": "gate_passed",
|
||||
"created": "2026-10-23T03:53:49",
|
||||
"created_by": "jungfrau@mx-spark-01",
|
||||
"hyperparams": {
|
||||
@@ -24,11 +24,11 @@
|
||||
},
|
||||
"version": "yolo26s-seg-v5-s-noflip-mask1-2026-10-25",
|
||||
"metrics": {
|
||||
"f1": 0.8530534351145038,
|
||||
"mean_mask_iou": 0.9054766149636467,
|
||||
"gate_pass": false,
|
||||
"f1": 0.7606338615512926,
|
||||
"mean_mask_iou": 0.8613183483285363,
|
||||
"gate_pass": true,
|
||||
"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json",
|
||||
"measured_at": "2026-10-25T02:47:58"
|
||||
"measured_at": "2026-10-25T09:47:58"
|
||||
},
|
||||
"history": [
|
||||
{
|
||||
@@ -72,8 +72,26 @@
|
||||
"at": "2026-10-25T02:47:58",
|
||||
"by": "jungfrau@mx-spark-01",
|
||||
"note": "{\"baseline\": \"/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json\", \"f1_delta\": 0.0053, \"mask_iou_delta\": -0.01, \"mask_score\": 0.7867, \"mask_score_baseline\": 0.7967, \"matched_only_iou_delta\": -0.0064, \"class_f1_delta\": {\"loop_all\": -0.0061, \"pin\": -0.0043}, \"pass_point_rule\": false, \"rule\": \"paired bootstrap\", \"bootstrap\": {\"frames\": 285, \"mounts\": 250, \"draws\": 2000, \"f1\": {\"delta\": 0.006, \"lo\": -0.0112, \"hi\": 0.0239, \"win\": 0.771}, \"mask_score\": {\"delta\": -0.0004, \"lo\": -0.0133, \"hi\": 0.0122, \"win\": 0.494}}, \"pass\": false}"
|
||||
},
|
||||
{
|
||||
"status": "training",
|
||||
"at": "2026-10-25T09:47:49",
|
||||
"by": "jungfrau@mx-spark-01",
|
||||
"note": "train_run.py"
|
||||
},
|
||||
{
|
||||
"status": "measured",
|
||||
"at": "2026-10-25T09:47:58",
|
||||
"by": "jungfrau@mx-spark-01",
|
||||
"note": ""
|
||||
},
|
||||
{
|
||||
"status": "gate_passed",
|
||||
"at": "2026-10-25T09:47:58",
|
||||
"by": "jungfrau@mx-spark-01",
|
||||
"note": "{\"baseline\": \"/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json\", \"f1_delta\": 0.0207, \"mask_iou_delta\": 0.0104, \"mask_score\": 0.6831, \"mask_score_baseline\": 0.6726, \"matched_only_iou_delta\": -0.002, \"class_f1_delta\": {\"loop_all\": -0.0085, \"pin\": 0.0064}, \"pass_point_rule\": true, \"rule\": \"paired bootstrap\", \"bootstrap\": {\"frames\": 335, \"mounts\": 300, \"draws\": 2000, \"f1\": {\"delta\": 0.0207, \"lo\": -0.0028, \"hi\": 0.0438, \"win\": 0.961}, \"mask_score\": {\"delta\": 0.0104, \"lo\": -0.0053, \"hi\": 0.027, \"win\": 0.9}}, \"pass\": true}"
|
||||
}
|
||||
],
|
||||
"host": "mx-spark-01",
|
||||
"started": "2026-10-25T02:47:48"
|
||||
"started": "2026-10-25T09:47:49"
|
||||
}
|
||||
+12
-3
@@ -20,10 +20,10 @@ Generated by `python tools/ledger.py render`; do not edit by hand.
|
||||
| 2026-09-30_v3-s-640px | gate_passed | dataset/2026-09-29_v3 | models/base/yolo26s-seg.pt | yolo26s-seg-v3-s-640px-2026-10-01 | 0.861 | 0.886 | yes | 2026-10-02T13:29 |
|
||||
| 2026-10-01_v4-noflip-mask1 | promoted | dataset/2026-10-01_v4 | models/base/yolo26n-seg.pt | yolo26n-seg-v4-noflip-mask1-2026-10-02 | 0.852 | 0.891 | yes | 2026-10-02T13:25 |
|
||||
| 2026-10-01_v4-recipeA | gate_failed | dataset/2026-10-01_v4 | models/base/yolo26n-seg.pt | yolo26n-seg-v4-recipeA-2026-10-02 | 0.832 | 0.884 | no | 2026-10-02T04:12 |
|
||||
| 2026-10-22_v5-noflip-mask1 | gate_failed | dataset/2026-10-22_v5 | models/base/yolo26n-seg.pt | yolo26n-seg-v5-noflip-mask1-2026-10-25 | 0.853 | 0.906 | no | 2026-10-25T02:47 |
|
||||
| 2026-10-22_v5-noflip-mask1 | gate_failed | dataset/2026-10-22_v5 | models/base/yolo26n-seg.pt | yolo26n-seg-v5-noflip-mask1-2026-10-25 | 0.755 | 0.859 | no | 2026-10-25T09:47 |
|
||||
| 2026-10-23_v5-m-noflip-mask1 | aborted | dataset/2026-10-22_v5 | models/base/yolo26m-seg.pt | - | - | - | - | 2026-10-23T18:53 |
|
||||
| 2026-10-23_v5-n-1024px | gate_failed | dataset/2026-10-22_v5 | models/base/yolo26n-seg.pt | yolo26n-seg-v5-n-1024px-2026-10-25 | 0.850 | 0.905 | no | 2026-10-25T02:48 |
|
||||
| 2026-10-23_v5-s-noflip-mask1 | gate_failed | dataset/2026-10-22_v5 | models/base/yolo26s-seg.pt | yolo26s-seg-v5-s-noflip-mask1-2026-10-25 | 0.853 | 0.905 | no | 2026-10-25T02:47 |
|
||||
| 2026-10-23_v5-n-1024px | gate_failed | dataset/2026-10-22_v5 | models/base/yolo26n-seg.pt | yolo26n-seg-v5-n-1024px-2026-10-25 | 0.751 | 0.864 | no | 2026-10-25T09:48 |
|
||||
| 2026-10-23_v5-s-noflip-mask1 | gate_passed | dataset/2026-10-22_v5 | models/base/yolo26s-seg.pt | yolo26s-seg-v5-s-noflip-mask1-2026-10-25 | 0.761 | 0.861 | yes | 2026-10-25T09:47 |
|
||||
|
||||
States: exported → queued → training → measured → gate_passed → gate_failed → promoted → deployed (or aborted).
|
||||
|
||||
@@ -157,6 +157,9 @@ States: exported → queued → training → measured → gate_passed → gate_f
|
||||
- 2026-10-25T02:47:39 · training · jungfrau@mx-spark-01 — train_run.py
|
||||
- 2026-10-25T02:47:47 · measured · jungfrau@mx-spark-01
|
||||
- 2026-10-25T02:47:47 · gate_failed · jungfrau@mx-spark-01 — {"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json", "f1_delta": 0.0049, "mask_iou_delta": -0.0125, "mask_score": 0.7842, "mask_score_baseline": 0.7967, "matched_only_iou_delta": -0.0063, "class_f1_delta": {"loop_all": -0.0133, "pin": 0.0121}, "pass_point_rule": false, "rule": "paired bootstrap", "bootstrap": {"frames": 285, "mounts": 250, "draws": 2000, "f1": {"delta": 0.0017, "lo": -0.0137, "hi": 0.0179, "win": 0.592}, "mask_score": {"delta": -0.0056, "lo": -0.0174, "hi": 0.0056, "win": 0.174}}, "pass": false}
|
||||
- 2026-10-25T09:47:41 · training · jungfrau@mx-spark-01 — train_run.py
|
||||
- 2026-10-25T09:47:49 · measured · jungfrau@mx-spark-01
|
||||
- 2026-10-25T09:47:49 · gate_failed · jungfrau@mx-spark-01 — {"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json", "f1_delta": 0.0147, "mask_iou_delta": -0.0016, "mask_score": 0.6711, "mask_score_baseline": 0.6726, "matched_only_iou_delta": -0.0039, "class_f1_delta": {"loop_all": -0.025, "pin": 0.0352}, "pass_point_rule": false, "rule": "paired bootstrap", "bootstrap": {"frames": 335, "mounts": 300, "draws": 2000, "f1": {"delta": 0.0147, "lo": -0.0078, "hi": 0.0402, "win": 0.906}, "mask_score": {"delta": -0.0016, "lo": -0.0182, "hi": 0.0149, "win": 0.446}}, "pass": false}
|
||||
|
||||
## 2026-10-23_v5-m-noflip-mask1
|
||||
|
||||
@@ -173,6 +176,9 @@ States: exported → queued → training → measured → gate_passed → gate_f
|
||||
- 2026-10-25T02:47:59 · training · jungfrau@mx-spark-01 — train_run.py
|
||||
- 2026-10-25T02:48:09 · measured · jungfrau@mx-spark-01
|
||||
- 2026-10-25T02:48:09 · gate_failed · jungfrau@mx-spark-01 — {"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json", "f1_delta": 0.0022, "mask_iou_delta": -0.0099, "mask_score": 0.7867, "mask_score_baseline": 0.7967, "matched_only_iou_delta": -0.0073, "class_f1_delta": {"loop_all": -0.0115, "pin": 0.0066}, "pass_point_rule": false, "rule": "paired bootstrap", "bootstrap": {"frames": 285, "mounts": 250, "draws": 2000, "f1": {"delta": 0.0024, "lo": -0.0143, "hi": 0.0204, "win": 0.595}, "mask_score": {"delta": 0.0009, "lo": -0.0127, "hi": 0.0145, "win": 0.553}}, "pass": false}
|
||||
- 2026-10-25T09:47:59 · training · jungfrau@mx-spark-01 — train_run.py
|
||||
- 2026-10-25T09:48:08 · measured · jungfrau@mx-spark-01
|
||||
- 2026-10-25T09:48:08 · gate_failed · jungfrau@mx-spark-01 — {"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json", "f1_delta": 0.0114, "mask_iou_delta": 0.0037, "mask_score": 0.6764, "mask_score_baseline": 0.6726, "matched_only_iou_delta": 0.0009, "class_f1_delta": {"loop_all": -0.0131, "pin": 0.0285}, "pass_point_rule": true, "rule": "paired bootstrap", "bootstrap": {"frames": 335, "mounts": 300, "draws": 2000, "f1": {"delta": 0.0114, "lo": -0.0119, "hi": 0.0351, "win": 0.816}, "mask_score": {"delta": 0.0037, "lo": -0.0143, "hi": 0.0224, "win": 0.662}}, "pass": false}
|
||||
|
||||
## 2026-10-23_v5-s-noflip-mask1
|
||||
|
||||
@@ -183,3 +189,6 @@ States: exported → queued → training → measured → gate_passed → gate_f
|
||||
- 2026-10-25T02:47:48 · training · jungfrau@mx-spark-01 — train_run.py
|
||||
- 2026-10-25T02:47:58 · measured · jungfrau@mx-spark-01
|
||||
- 2026-10-25T02:47:58 · gate_failed · jungfrau@mx-spark-01 — {"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json", "f1_delta": 0.0053, "mask_iou_delta": -0.01, "mask_score": 0.7867, "mask_score_baseline": 0.7967, "matched_only_iou_delta": -0.0064, "class_f1_delta": {"loop_all": -0.0061, "pin": -0.0043}, "pass_point_rule": false, "rule": "paired bootstrap", "bootstrap": {"frames": 285, "mounts": 250, "draws": 2000, "f1": {"delta": 0.006, "lo": -0.0112, "hi": 0.0239, "win": 0.771}, "mask_score": {"delta": -0.0004, "lo": -0.0133, "hi": 0.0122, "win": 0.494}}, "pass": false}
|
||||
- 2026-10-25T09:47:49 · training · jungfrau@mx-spark-01 — train_run.py
|
||||
- 2026-10-25T09:47:58 · measured · jungfrau@mx-spark-01
|
||||
- 2026-10-25T09:47:58 · gate_passed · jungfrau@mx-spark-01 — {"baseline": "/home/jungfrau/AareLC_train/models/registry/yolo26n-seg-v4-noflip-mask1-2026-10-02/gold_report.json", "f1_delta": 0.0207, "mask_iou_delta": 0.0104, "mask_score": 0.6831, "mask_score_baseline": 0.6726, "matched_only_iou_delta": -0.002, "class_f1_delta": {"loop_all": -0.0085, "pin": 0.0064}, "pass_point_rule": true, "rule": "paired bootstrap", "bootstrap": {"frames": 335, "mounts": 300, "draws": 2000, "f1": {"delta": 0.0207, "lo": -0.0028, "hi": 0.0438, "win": 0.961}, "mask_score": {"delta": 0.0104, "lo": -0.0053, "hi": 0.027, "win": 0.9}}, "pass": true}
|
||||
+2579
-2111
File diff suppressed because it is too large.
Load diff
@@ -14,7 +14,7 @@ from pathlib import Path
|
||||
from typing import Dict, List
|
||||
|
||||
from src.eval.metrics import aggregate, evaluate_image, full_report
|
||||
from src.eval.yolo_labels import load_class_names, read_label_file
|
||||
from src.eval.yolo_labels import load_class_names, read_kept_outlines, read_label_file
|
||||
|
||||
|
||||
def _stems(label_dir: Path) -> Dict[str, Path]:
|
||||
@@ -26,17 +26,22 @@ def evaluate_dirs(pred_dir, gold_dir, iou_thr: float = 0.5,
|
||||
pred_dir, gold_dir = Path(pred_dir), Path(gold_dir)
|
||||
gold_files = _stems(gold_dir)
|
||||
pred_files = _stems(pred_dir)
|
||||
# outlines a model proposed and the reviewer kept are not judged (see evaluate_image)
|
||||
kept = read_kept_outlines(gold_dir.parent)
|
||||
|
||||
# Gold defines the evaluation set; a missing prediction counts as all-FN.
|
||||
per_image = []
|
||||
missing_pred = 0
|
||||
ignored = 0
|
||||
for stem, gpath in sorted(gold_files.items()):
|
||||
gold = read_label_file(gpath)
|
||||
ppath = pred_files.get(stem)
|
||||
pred = read_label_file(ppath) if ppath else []
|
||||
if ppath is None:
|
||||
missing_pred += 1
|
||||
per_image.append(evaluate_image(gold, pred, iou_thr))
|
||||
ign = kept.get(stem, ())
|
||||
ignored += len(ign)
|
||||
per_image.append(evaluate_image(gold, pred, iou_thr, ignore=ign))
|
||||
|
||||
report = full_report(aggregate(per_image), names)
|
||||
report["dataset"] = {
|
||||
@@ -44,6 +49,7 @@ def evaluate_dirs(pred_dir, gold_dir, iou_thr: float = 0.5,
|
||||
"pred_images": len(pred_files),
|
||||
"missing_predictions": missing_pred,
|
||||
"iou_threshold": iou_thr,
|
||||
"ignored_objects": ignored,
|
||||
}
|
||||
return report
|
||||
|
||||
|
||||
+19
-7
@@ -64,8 +64,9 @@ class ClassCount:
|
||||
|
||||
|
||||
def _match_class(gold: List[PolygonInstance], pred: List[PolygonInstance],
|
||||
iou_thr: float) -> ClassCount:
|
||||
"""Greedy bbox-IoU matching within a single class."""
|
||||
iou_thr: float, ignored: Sequence[PolygonInstance] = ()) -> ClassCount:
|
||||
"""Greedy bbox-IoU matching within a single class. A prediction left unmatched that overlaps
|
||||
an ``ignored`` object (bbox IoU >= iou_thr) is neither a hit nor a false alarm."""
|
||||
cc = ClassCount()
|
||||
gold_boxes = [g.bbox() for g in gold]
|
||||
pred_boxes = [p.bbox() for p in pred]
|
||||
@@ -89,18 +90,29 @@ def _match_class(gold: List[PolygonInstance], pred: List[PolygonInstance],
|
||||
|
||||
cc.fn = len(gold) - len(used_g)
|
||||
cc.fp = len(pred) - len(used_p)
|
||||
for pi, pb in enumerate(pred_boxes):
|
||||
if pi not in used_p and any(bbox_iou(pb, g.bbox()) >= iou_thr for g in ignored):
|
||||
cc.fp -= 1
|
||||
return cc
|
||||
|
||||
|
||||
def evaluate_image(gold: List[PolygonInstance], pred: List[PolygonInstance],
|
||||
iou_thr: float = 0.5) -> Dict[int, ClassCount]:
|
||||
"""Per-class counts for one image."""
|
||||
iou_thr: float = 0.5, ignore: Sequence[int] = ()) -> Dict[int, ClassCount]:
|
||||
"""Per-class counts for one image.
|
||||
|
||||
``ignore`` names gold objects by index that are not judged: outlines a model proposed and
|
||||
the reviewer kept unchanged (tools/gold_kept.py), which are that model's own masks and
|
||||
would score a perfect overlap against it. They leave the gold, and an unmatched prediction
|
||||
of their class that overlaps one of them leaves the count too."""
|
||||
skip = {int(i) for i in ignore}
|
||||
judged = [g for i, g in enumerate(gold) if i not in skip]
|
||||
ignored = [g for i, g in enumerate(gold) if i in skip]
|
||||
by_class: Dict[int, ClassCount] = {}
|
||||
classes = {i.class_id for i in gold} | {i.class_id for i in pred}
|
||||
classes = {i.class_id for i in judged} | {i.class_id for i in pred}
|
||||
for c in classes:
|
||||
g = [i for i in gold if i.class_id == c]
|
||||
g = [i for i in judged if i.class_id == c]
|
||||
p = [i for i in pred if i.class_id == c]
|
||||
by_class[c] = _match_class(g, p, iou_thr)
|
||||
by_class[c] = _match_class(g, p, iou_thr, [i for i in ignored if i.class_id == c])
|
||||
return by_class
|
||||
|
||||
|
||||
|
||||
+15
-1
@@ -10,9 +10,10 @@ offers helpers to convert to/from absolute pixels.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
from typing import List, Optional, Tuple
|
||||
from typing import Dict, List, Optional, Tuple
|
||||
|
||||
Point = Tuple[float, float]
|
||||
|
||||
@@ -121,3 +122,16 @@ def load_class_names(dataset_yaml) -> List[str]:
|
||||
except ValueError:
|
||||
continue
|
||||
return [names_map[k] for k in sorted(names_map)] if names_map else []
|
||||
|
||||
|
||||
def read_kept_outlines(gold_root) -> Dict[str, List[int]]:
|
||||
"""``<gold root>/kept_machine.json`` (tools/gold_kept.py): frame stem -> indices of the gold
|
||||
objects that are a model's proposal kept unchanged by the reviewer. Such an outline is the
|
||||
model's own mask and is not judged (an ignore region in the evaluation). Empty when the file
|
||||
is missing."""
|
||||
p = Path(gold_root) / "kept_machine.json"
|
||||
if not p.exists():
|
||||
return {}
|
||||
data = json.loads(p.read_text(encoding="utf-8"))
|
||||
return {str(k): [int(i) for i in v] for k, v in (data.get("frames") or {}).items()}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
"""A gold outline the reviewer kept from the model's proposal is not judged: neither a hit nor a miss,
|
||||
and a prediction on it is not a false alarm."""
|
||||
from src.eval.metrics import evaluate_image
|
||||
from src.eval.yolo_labels import PolygonInstance
|
||||
|
||||
|
||||
def sq(x, y, s=0.1, c=0):
|
||||
return PolygonInstance(c, [(x, y), (x + s, y), (x + s, y + s), (x, y + s)])
|
||||
|
||||
|
||||
def test_ignored_gold_object_is_neither_hit_nor_miss():
|
||||
gold = [sq(0.1, 0.1), sq(0.5, 0.5)]
|
||||
pred = [sq(0.1, 0.1), sq(0.5, 0.5)]
|
||||
plain = evaluate_image(gold, pred)[0]
|
||||
assert (plain.tp, plain.fp, plain.fn) == (2, 0, 0)
|
||||
ign = evaluate_image(gold, pred, ignore=[1])[0]
|
||||
assert (ign.tp, ign.fp, ign.fn) == (1, 0, 0), "the prediction on the ignored outline is not a false alarm"
|
||||
assert len(ign.mask_ious) == 1, "its overlap does not enter the mask score"
|
||||
|
||||
|
||||
def test_missing_prediction_on_an_ignored_object_is_not_a_miss():
|
||||
gold = [sq(0.1, 0.1), sq(0.5, 0.5)]
|
||||
cc = evaluate_image(gold, [sq(0.1, 0.1)], ignore=[1])[0]
|
||||
assert (cc.tp, cc.fp, cc.fn) == (1, 0, 0)
|
||||
|
||||
|
||||
def test_a_real_false_alarm_still_counts_and_other_classes_are_untouched():
|
||||
gold = [sq(0.1, 0.1), sq(0.5, 0.5, c=1)]
|
||||
pred = [sq(0.1, 0.1), sq(0.8, 0.8), sq(0.5, 0.5, c=1)]
|
||||
out = evaluate_image(gold, pred, ignore=[0])
|
||||
assert (out[0].tp, out[0].fp, out[0].fn) == (0, 1, 0), "the far prediction is a false alarm, the one on the ignored outline is not"
|
||||
assert (out[1].tp, out[1].fp, out[1].fn) == (1, 0, 0)
|
||||
+12
-5
@@ -10,9 +10,10 @@ Two sets of frames:
|
||||
stays comparable;
|
||||
* **all unseen** frames: the core plus every gold frame added since that no dataset has used.
|
||||
|
||||
A frame a model pre-labelled (``data/gold/prelabel.json``) is unseen by every other model but not
|
||||
by that one: where the reviewer kept a proposed outline, the gold holds the model's own mask. It is
|
||||
left out of that model's measure, and a pair is compared on the frames neither of them touched.
|
||||
Where the reviewer kept a proposed outline, the gold holds the pre-labelling model's own mask,
|
||||
which overlaps itself perfectly. With ``data/gold/kept_machine.json`` (tools/gold_kept.py) such
|
||||
outlines are ignored object by object for every model; without it, a frame a model pre-labelled
|
||||
(``data/gold/prelabel.json``) leaves that model's measure altogether.
|
||||
It grows with the gold set and is the one to judge a candidate on.
|
||||
|
||||
A model is listed when its predictions on the current gold set exist under
|
||||
@@ -111,7 +112,10 @@ def main(argv: Optional[List[str]] = None) -> int:
|
||||
|
||||
frames: Dict[str, Dict[str, gate_stats.FrameCounts]] = {}
|
||||
label_of: Dict[str, str] = {}
|
||||
prelabel = gate_stats.load_prelabel(gold.parent)
|
||||
# with kept_machine.json the evaluation ignores a model's own outlines object by object;
|
||||
# without it, a frame the model pre-labelled leaves its measure altogether (the older rule)
|
||||
object_level = gate_stats.kept_outlines_known(gold.parent)
|
||||
prelabel = {} if object_level else gate_stats.load_prelabel(gold.parent)
|
||||
own: Dict[str, int] = {}
|
||||
for d in sorted((root / "runs").glob("_measure_*/gold_predictions")):
|
||||
ver = d.parent.name[len("_measure_"):]
|
||||
@@ -131,7 +135,10 @@ def main(argv: Optional[List[str]] = None) -> int:
|
||||
usable_reps = {k: report({s: f for s, f in frames[k].items() if s in core and s not in bad_light}) for k in order}
|
||||
|
||||
print(f"clean gold frames: {len(unseen)}" + (f" (core {len(core_now)})" if len(unseen) != len(core_now) else ""))
|
||||
if any(own.values()):
|
||||
if object_level:
|
||||
kept = sum(len(v) for v in __import__("src.eval.yolo_labels", fromlist=["x"]).read_kept_outlines(gold.parent).values())
|
||||
print(f"{kept} gold outlines are a model's proposal kept unchanged by the reviewer: not judged for any model (data/gold/kept_machine.json)")
|
||||
elif any(own.values()):
|
||||
print("frames a model pre-labelled itself, left out of its own measure: "
|
||||
+ ", ".join(f"{k} {n}" for k, n in own.items() if n))
|
||||
elif not prelabel:
|
||||
|
||||
+9
-2
@@ -33,6 +33,12 @@ def load_groups(gold_root) -> Dict[str, Dict[str, str]]:
|
||||
return {"mount": dict(g.get("mount") or {}), "light": dict(g.get("light") or {}), "excluded": dict(g.get("excluded") or {})}
|
||||
|
||||
|
||||
def kept_outlines_known(gold_root) -> bool:
|
||||
"""True when ``kept_machine.json`` exists: the evaluation then ignores a model's own outlines
|
||||
object by object, and the frame-level exclusion of ``without_own_proposals`` is not needed."""
|
||||
return (Path(gold_root) / "kept_machine.json").exists()
|
||||
|
||||
|
||||
def load_prelabel(gold_root) -> Dict[str, str]:
|
||||
"""``data/gold/prelabel.json`` (tools/gold_prelabel.py): frame -> version of the model that
|
||||
proposed its labels before a reviewer saw them. Empty when the file is missing."""
|
||||
@@ -59,10 +65,11 @@ def per_frame(pred_dir, gold_dir, iou_thr: float = 0.5, stems: Optional[Iterable
|
||||
``stems`` restricts the frames; a gold frame without a prediction file is left out
|
||||
(the caller pairs on the frames both models have)."""
|
||||
from src.eval.metrics import evaluate_image
|
||||
from src.eval.yolo_labels import read_label_file
|
||||
from src.eval.yolo_labels import read_kept_outlines, read_label_file
|
||||
|
||||
pred_dir, gold_dir = Path(pred_dir), Path(gold_dir)
|
||||
wanted = set(stems) if stems is not None else None
|
||||
kept = read_kept_outlines(gold_dir.parent) # a model's own outlines are not judged
|
||||
out: Dict[str, FrameCounts] = {}
|
||||
for g in sorted(gold_dir.glob("*.txt")):
|
||||
if wanted is not None and g.stem not in wanted:
|
||||
@@ -71,7 +78,7 @@ def per_frame(pred_dir, gold_dir, iou_thr: float = 0.5, stems: Optional[Iterable
|
||||
if not p.exists():
|
||||
continue
|
||||
frame: FrameCounts = {}
|
||||
for c, cc in evaluate_image(read_label_file(g), read_label_file(p), iou_thr).items():
|
||||
for c, cc in evaluate_image(read_label_file(g), read_label_file(p), iou_thr, ignore=kept.get(g.stem, ())).items():
|
||||
frame[int(c)] = (float(cc.tp), float(cc.fp), float(cc.fn), float(sum(cc.mask_ious)))
|
||||
out[g.stem] = frame
|
||||
return out
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
"""Which gold outlines are a model's proposal that the reviewer kept unchanged.
|
||||
|
||||
Written to ``data/gold/kept_machine.json`` as ``{"frames": {stem: [gold object indices]}}``: a
|
||||
gold object is kept-machine when a proposed object of the same class in the studio's batch
|
||||
annotation overlaps it with mask IoU >= 0.98. Such an outline is the pre-labelling model's own
|
||||
mask; the evaluation ignores it for every model (src/eval/metrics.evaluate_image), so a model
|
||||
is never scored against itself and the gold set can grow with any reviewed frame.
|
||||
|
||||
python tools/gold_kept.py [--studio ~/AareLC_studio/data/pipeline_prod] [--iou 0.98]
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import glob
|
||||
import json
|
||||
import re
|
||||
from collections import Counter
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
import cv2
|
||||
import numpy as np
|
||||
|
||||
HERE = Path(__file__).resolve().parent
|
||||
NAMES = ["loop_all", "pin", "crystal", "loop_face", "ice", "needle"]
|
||||
GRID = 512
|
||||
|
||||
|
||||
def gold_objects(path: Path):
|
||||
out = []
|
||||
for line in path.read_text(encoding="utf-8").split("\n"):
|
||||
p = line.split()
|
||||
if len(p) < 7:
|
||||
continue
|
||||
out.append((int(p[0]), np.array([float(v) for v in p[1:]], dtype=np.float64).reshape(-1, 2)))
|
||||
return out
|
||||
|
||||
|
||||
def raster(pts_norm) -> np.ndarray:
|
||||
m = np.zeros((GRID, GRID), np.uint8)
|
||||
cv2.fillPoly(m, [np.round(pts_norm * GRID).astype(np.int32).reshape(-1, 1, 2)], 1)
|
||||
return m.astype(bool)
|
||||
|
||||
|
||||
def iou(a, b) -> float:
|
||||
u = int((a | b).sum())
|
||||
return int((a & b).sum()) / u if u else 0.0
|
||||
|
||||
|
||||
def main() -> int:
|
||||
ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)
|
||||
ap.add_argument("--root", default=str(HERE.parent))
|
||||
ap.add_argument("--studio", default=str(Path.home() / "AareLC_studio" / "data" / "pipeline_prod"))
|
||||
ap.add_argument("--iou", type=float, default=0.98, help="mask IoU from which a gold outline counts as the proposal kept")
|
||||
args = ap.parse_args()
|
||||
root, studio = Path(args.root).expanduser(), Path(args.studio).expanduser()
|
||||
labels = root / "data" / "gold" / "labels"
|
||||
proposals = {}
|
||||
for f in glob.glob(str(studio / "20*/annotations/tpi_*.json")):
|
||||
proposals.setdefault(Path(f).stem, f)
|
||||
frames, kept, total = {}, Counter(), Counter()
|
||||
with_proposal = 0
|
||||
for g in sorted(labels.glob("*.txt")):
|
||||
m = re.search(r"tpi_(\d+)", g.stem)
|
||||
objs = gold_objects(g)
|
||||
for c, _ in objs:
|
||||
total[NAMES[c]] += 1
|
||||
f = proposals.get("tpi_" + m.group(1)) if m else None
|
||||
if not f:
|
||||
continue
|
||||
with_proposal += 1
|
||||
a = json.loads(Path(f).read_text(encoding="utf-8"))
|
||||
W, H = float(a.get("width") or 2040), float(a.get("height") or 2040)
|
||||
props = []
|
||||
for o in a.get("objects") or []:
|
||||
poly = (o.get("polygons") or [None])[0]
|
||||
if poly and len(poly) >= 3:
|
||||
props.append((o.get("class_id"), raster(np.array(poly, dtype=np.float64) / [W, H])))
|
||||
idx = []
|
||||
for i, (c, pts) in enumerate(objs):
|
||||
rm = raster(pts)
|
||||
if any(pc == c and iou(rm, pm) >= args.iou for pc, pm in props):
|
||||
kept[NAMES[c]] += 1
|
||||
idx.append(i)
|
||||
if idx:
|
||||
frames[g.stem] = idx
|
||||
out = {"built": datetime.now().isoformat(timespec="seconds"), "source": str(studio), "iou": args.iou,
|
||||
"gold_frames": sum(1 for _ in labels.glob("*.txt")), "with_a_proposal": with_proposal,
|
||||
"kept_by_class": dict(kept), "gold_by_class": dict(total), "frames": frames}
|
||||
dest = root / "data" / "gold" / "kept_machine.json"
|
||||
dest.write_text(json.dumps(out, indent=1, sort_keys=True) + "\n", encoding="utf-8")
|
||||
n = sum(len(v) for v in frames.values())
|
||||
print(f"{n} of {sum(total.values())} gold outlines are a proposal kept unchanged, on {len(frames)} frames -> {dest}")
|
||||
for c in NAMES:
|
||||
if total[c]:
|
||||
print(f" {c:10} {kept[c]:4} of {total[c]:4}")
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
+3
-2
@@ -237,8 +237,9 @@ def paired_with_baseline(run_dir: Path, baseline: Optional[Path]) -> Optional[Di
|
||||
gold = ROOT / "data" / "gold" / "labels"
|
||||
cand = gate_stats.per_frame(run_dir / "gold_predictions", gold)
|
||||
base = gate_stats.per_frame(base_pred, gold)
|
||||
# neither model is judged on frames it pre-labelled: the gold there holds its own outlines
|
||||
prelabel = gate_stats.load_prelabel(gold.parent)
|
||||
# neither model is judged on its own outlines: object by object with kept_machine.json
|
||||
# (per_frame does it), else by leaving out whole frames a model pre-labelled
|
||||
prelabel = {} if gate_stats.kept_outlines_known(gold.parent) else gate_stats.load_prelabel(gold.parent)
|
||||
cand_version = (json.loads((run_dir / "run.json").read_text(encoding="utf-8")).get("version") if (run_dir / "run.json").exists() else None)
|
||||
base_version = Path(baseline).parent.name
|
||||
if base_version.startswith("_measure_"):
|
||||
|
||||
Reference in new issue
Block a user