{
  "protocol": "PROTOCOL.md",
  "label_status": "assistant-labelled; owner review pending",
  "splits": {
    "train": {
      "frames": 9,
      "recordings": 7
    },
    "validation": {
      "frames": 3,
      "recordings": 2
    },
    "test": {
      "frames": 8,
      "recordings": 3
    }
  },
  "selection": {
    "obstacle": {
      "simple": {
        "threshold": 0.17266064749072255,
        "feature": "edge_density"
      },
      "geometry": {
        "threshold": 0.19382894216863417,
        "feature": "raised_texture"
      },
      "learned": {
        "model": "extra_trees",
        "threshold": 0.4057441328764341,
        "train_cells": 776,
        "feature_dimensions": 188
      },
      "selected_approach": "learned"
    },
    "range_region": {
      "simple": {
        "threshold": 0.003154290898237378,
        "feature": "yellow_green_fraction"
      },
      "geometry": {
        "edge_strength": 0.015,
        "validation_candidates": [
          [
            0.6051282051282051,
            0.015
          ],
          [
            0.5297297297297298,
            0.025
          ],
          [
            0.125,
            0.04
          ],
          [
            0.07142857142857142,
            0.06
          ],
          [
            0.057971014492753624,
            0.09
          ],
          [
            0.0,
            0.13
          ]
        ]
      },
      "learned": {
        "model": "rbf_svm",
        "threshold": 0.13437497280678715,
        "train_cells": 586,
        "feature_dimensions": 188
      },
      "selected_approach": "learned"
    },
    "path": {
      "grid_threshold": 0.4,
      "validation_candidates": [
        [
          0.31895687061183553,
          0.08
        ],
        [
          0.4489939992940346,
          0.14
        ],
        [
          0.5445205479452055,
          0.2
        ],
        [
          0.6841065511088452,
          0.3
        ],
        [
          0.8312630267989081,
          0.4
        ]
      ]
    }
  },
  "validation": {
    "obstacle": {
      "extra_trees": {
        "n": 359,
        "positive": 49,
        "tp": 41,
        "fp": 13,
        "fn": 8,
        "tn": 297,
        "precision": 0.7592592592592593,
        "recall": 0.8367346938775511,
        "f1": 0.7961165048543689,
        "accuracy": 0.9415041782729805
      },
      "linear_svm": {
        "n": 359,
        "positive": 49,
        "tp": 36,
        "fp": 27,
        "fn": 13,
        "tn": 283,
        "precision": 0.5714285714285714,
        "recall": 0.7346938775510204,
        "f1": 0.6428571428571429,
        "accuracy": 0.8885793871866295
      },
      "rbf_svm": {
        "n": 359,
        "positive": 49,
        "tp": 30,
        "fp": 6,
        "fn": 19,
        "tn": 304,
        "precision": 0.8333333333333334,
        "recall": 0.6122448979591837,
        "f1": 0.7058823529411765,
        "accuracy": 0.9303621169916435
      },
      "simple": {
        "n": 359,
        "positive": 49,
        "tp": 31,
        "fp": 32,
        "fn": 18,
        "tn": 278,
        "precision": 0.49206349206349204,
        "recall": 0.6326530612244898,
        "f1": 0.5535714285714286,
        "accuracy": 0.8607242339832869
      },
      "geometry": {
        "n": 359,
        "positive": 49,
        "tp": 27,
        "fp": 54,
        "fn": 22,
        "tn": 256,
        "precision": 0.3333333333333333,
        "recall": 0.5510204081632653,
        "f1": 0.4153846153846154,
        "accuracy": 0.7883008356545961
      },
      "learned": {
        "n": 359,
        "positive": 49,
        "tp": 41,
        "fp": 13,
        "fn": 8,
        "tn": 297,
        "precision": 0.7592592592592593,
        "recall": 0.8367346938775511,
        "f1": 0.7961165048543689,
        "accuracy": 0.9415041782729805
      }
    },
    "range_region": {
      "extra_trees": {
        "n": 270,
        "positive": 134,
        "tp": 117,
        "fp": 65,
        "fn": 17,
        "tn": 71,
        "precision": 0.6428571428571429,
        "recall": 0.8731343283582089,
        "f1": 0.740506329113924,
        "accuracy": 0.6962962962962963
      },
      "linear_svm": {
        "n": 270,
        "positive": 134,
        "tp": 94,
        "fp": 34,
        "fn": 40,
        "tn": 102,
        "precision": 0.734375,
        "recall": 0.7014925373134329,
        "f1": 0.7175572519083969,
        "accuracy": 0.725925925925926
      },
      "rbf_svm": {
        "n": 270,
        "positive": 134,
        "tp": 115,
        "fp": 47,
        "fn": 19,
        "tn": 89,
        "precision": 0.7098765432098766,
        "recall": 0.8582089552238806,
        "f1": 0.777027027027027,
        "accuracy": 0.7555555555555555
      },
      "simple": {
        "n": 270,
        "positive": 134,
        "tp": 91,
        "fp": 24,
        "fn": 43,
        "tn": 112,
        "precision": 0.7913043478260869,
        "recall": 0.6791044776119403,
        "f1": 0.7309236947791165,
        "accuracy": 0.7518518518518519
      },
      "geometry": {
        "n": 270,
        "positive": 134,
        "tp": 59,
        "fp": 2,
        "fn": 75,
        "tn": 134,
        "precision": 0.9672131147540983,
        "recall": 0.44029850746268656,
        "f1": 0.6051282051282051,
        "accuracy": 0.7148148148148148
      },
      "learned": {
        "n": 270,
        "positive": 134,
        "tp": 115,
        "fp": 47,
        "fn": 19,
        "tn": 89,
        "precision": 0.7098765432098766,
        "recall": 0.8582089552238806,
        "f1": 0.777027027027027,
        "accuracy": 0.7555555555555555
      }
    }
  },
  "test": {
    "obstacle": {
      "simple": {
        "n": 751,
        "positive": 102,
        "tp": 27,
        "fp": 35,
        "fn": 75,
        "tn": 614,
        "precision": 0.43548387096774194,
        "recall": 0.2647058823529412,
        "f1": 0.32926829268292684,
        "accuracy": 0.8535286284953395
      },
      "geometry": {
        "n": 751,
        "positive": 102,
        "tp": 20,
        "fp": 73,
        "fn": 82,
        "tn": 576,
        "precision": 0.21505376344086022,
        "recall": 0.19607843137254902,
        "f1": 0.20512820512820512,
        "accuracy": 0.7936085219707057
      },
      "learned": {
        "n": 751,
        "positive": 102,
        "tp": 99,
        "fp": 30,
        "fn": 3,
        "tn": 619,
        "precision": 0.7674418604651163,
        "recall": 0.9705882352941176,
        "f1": 0.8571428571428571,
        "accuracy": 0.9560585885486018
      }
    },
    "range_region": {
      "simple": {
        "n": 522,
        "positive": 361,
        "tp": 335,
        "fp": 118,
        "fn": 26,
        "tn": 43,
        "precision": 0.739514348785872,
        "recall": 0.9279778393351801,
        "f1": 0.8230958230958231,
        "accuracy": 0.7241379310344828
      },
      "geometry": {
        "n": 522,
        "positive": 361,
        "tp": 266,
        "fp": 42,
        "fn": 95,
        "tn": 119,
        "precision": 0.8636363636363636,
        "recall": 0.7368421052631579,
        "f1": 0.7952167414050823,
        "accuracy": 0.7375478927203065
      },
      "learned": {
        "n": 522,
        "positive": 361,
        "tp": 361,
        "fp": 161,
        "fn": 0,
        "tn": 0,
        "precision": 0.6915708812260536,
        "recall": 1.0,
        "f1": 0.8176670441676104,
        "accuracy": 0.6915708812260536
      }
    }
  },
  "by_recording": {
    "obstacle": {
      "QQ20260804-151259": {
        "simple": {
          "n": 200,
          "positive": 48,
          "tp": 5,
          "fp": 5,
          "fn": 43,
          "tn": 147,
          "precision": 0.5,
          "recall": 0.10416666666666667,
          "f1": 0.1724137931034483,
          "accuracy": 0.76
        },
        "geometry": {
          "n": 200,
          "positive": 48,
          "tp": 5,
          "fp": 21,
          "fn": 43,
          "tn": 131,
          "precision": 0.19230769230769232,
          "recall": 0.10416666666666667,
          "f1": 0.13513513513513514,
          "accuracy": 0.68
        },
        "learned": {
          "n": 200,
          "positive": 48,
          "tp": 46,
          "fp": 7,
          "fn": 2,
          "tn": 145,
          "precision": 0.8679245283018868,
          "recall": 0.9583333333333334,
          "f1": 0.9108910891089109,
          "accuracy": 0.955
        }
      },
      "QQ2026730-21210": {
        "simple": {
          "n": 282,
          "positive": 38,
          "tp": 15,
          "fp": 9,
          "fn": 23,
          "tn": 235,
          "precision": 0.625,
          "recall": 0.39473684210526316,
          "f1": 0.4838709677419355,
          "accuracy": 0.8865248226950354
        },
        "geometry": {
          "n": 282,
          "positive": 38,
          "tp": 12,
          "fp": 19,
          "fn": 26,
          "tn": 225,
          "precision": 0.3870967741935484,
          "recall": 0.3157894736842105,
          "f1": 0.34782608695652173,
          "accuracy": 0.8404255319148937
        },
        "learned": {
          "n": 282,
          "positive": 38,
          "tp": 37,
          "fp": 12,
          "fn": 1,
          "tn": 232,
          "precision": 0.7551020408163265,
          "recall": 0.9736842105263158,
          "f1": 0.8505747126436781,
          "accuracy": 0.9539007092198581
        }
      },
      "ScreenRecording-2026-08-26-214535": {
        "simple": {
          "n": 269,
          "positive": 16,
          "tp": 7,
          "fp": 21,
          "fn": 9,
          "tn": 232,
          "precision": 0.25,
          "recall": 0.4375,
          "f1": 0.3181818181818182,
          "accuracy": 0.8884758364312267
        },
        "geometry": {
          "n": 269,
          "positive": 16,
          "tp": 3,
          "fp": 33,
          "fn": 13,
          "tn": 220,
          "precision": 0.08333333333333333,
          "recall": 0.1875,
          "f1": 0.11538461538461539,
          "accuracy": 0.828996282527881
        },
        "learned": {
          "n": 269,
          "positive": 16,
          "tp": 16,
          "fp": 11,
          "fn": 0,
          "tn": 242,
          "precision": 0.5925925925925926,
          "recall": 1.0,
          "f1": 0.7441860465116279,
          "accuracy": 0.9591078066914498
        }
      }
    },
    "range_region": {
      "QQ20260804-151259": {
        "simple": {
          "n": 123,
          "positive": 78,
          "tp": 53,
          "fp": 2,
          "fn": 25,
          "tn": 43,
          "precision": 0.9636363636363636,
          "recall": 0.6794871794871795,
          "f1": 0.7969924812030075,
          "accuracy": 0.7804878048780488
        },
        "geometry": {
          "n": 123,
          "positive": 78,
          "tp": 13,
          "fp": 0,
          "fn": 65,
          "tn": 45,
          "precision": 1.0,
          "recall": 0.16666666666666666,
          "f1": 0.2857142857142857,
          "accuracy": 0.4715447154471545
        },
        "learned": {
          "n": 123,
          "positive": 78,
          "tp": 78,
          "fp": 45,
          "fn": 0,
          "tn": 0,
          "precision": 0.6341463414634146,
          "recall": 1.0,
          "f1": 0.7761194029850746,
          "accuracy": 0.6341463414634146
        }
      },
      "QQ2026730-21210": {
        "simple": {
          "n": 201,
          "positive": 119,
          "tp": 118,
          "fp": 82,
          "fn": 1,
          "tn": 0,
          "precision": 0.59,
          "recall": 0.9915966386554622,
          "f1": 0.7398119122257053,
          "accuracy": 0.5870646766169154
        },
        "geometry": {
          "n": 201,
          "positive": 119,
          "tp": 110,
          "fp": 33,
          "fn": 9,
          "tn": 49,
          "precision": 0.7692307692307693,
          "recall": 0.9243697478991597,
          "f1": 0.8396946564885496,
          "accuracy": 0.7910447761194029
        },
        "learned": {
          "n": 201,
          "positive": 119,
          "tp": 119,
          "fp": 82,
          "fn": 0,
          "tn": 0,
          "precision": 0.5920398009950248,
          "recall": 1.0,
          "f1": 0.74375,
          "accuracy": 0.5920398009950248
        }
      },
      "ScreenRecording-2026-08-26-214535": {
        "simple": {
          "n": 198,
          "positive": 164,
          "tp": 164,
          "fp": 34,
          "fn": 0,
          "tn": 0,
          "precision": 0.8282828282828283,
          "recall": 1.0,
          "f1": 0.9060773480662984,
          "accuracy": 0.8282828282828283
        },
        "geometry": {
          "n": 198,
          "positive": 164,
          "tp": 143,
          "fp": 9,
          "fn": 21,
          "tn": 25,
          "precision": 0.9407894736842105,
          "recall": 0.8719512195121951,
          "f1": 0.9050632911392406,
          "accuracy": 0.8484848484848485
        },
        "learned": {
          "n": 198,
          "positive": 164,
          "tp": 164,
          "fp": 34,
          "fn": 0,
          "tn": 0,
          "precision": 0.8282828282828283,
          "recall": 1.0,
          "f1": 0.9060773480662984,
          "accuracy": 0.8282828282828283
        }
      }
    }
  },
  "unit_negatives": {
    "obstacle": {
      "simple": {
        "n": 103,
        "false_obstacle": 22
      },
      "geometry": {
        "n": 103,
        "false_obstacle": 26
      },
      "learned": {
        "n": 103,
        "false_obstacle": 23
      }
    },
    "range_region": {}
  },
  "paths": {
    "example-42": {
      "split": "test",
      "hough": {
        "predicted_pixels": 12744,
        "labelled_pixels": 183,
        "matched_prediction": 956,
        "matched_label": 152,
        "precision": 0.07501569365976146,
        "recall": 0.8306010928961749,
        "f1": 0.13760371508818978
      },
      "grid": {
        "predicted_pixels": 608,
        "labelled_pixels": 183,
        "matched_prediction": 125,
        "matched_label": 131,
        "precision": 0.20559210526315788,
        "recall": 0.7158469945355191,
        "f1": 0.31944051578670146
      }
    },
    "example-43": {
      "split": "test",
      "hough": {
        "predicted_pixels": 9586,
        "labelled_pixels": 177,
        "matched_prediction": 231,
        "matched_label": 121,
        "precision": 0.02409764239515961,
        "recall": 0.6836158192090396,
        "f1": 0.0465542354094336
      },
      "grid": {
        "predicted_pixels": 357,
        "labelled_pixels": 177,
        "matched_prediction": 60,
        "matched_label": 71,
        "precision": 0.16806722689075632,
        "recall": 0.4011299435028249,
        "f1": 0.2368838101593127
      }
    },
    "example-46": {
      "split": "validation",
      "hough": {
        "predicted_pixels": 11486,
        "labelled_pixels": 611,
        "matched_prediction": 3199,
        "matched_label": 607,
        "precision": 0.27851297231412153,
        "recall": 0.9934533551554828,
        "f1": 0.43505813137400384
      },
      "grid": {
        "predicted_pixels": 755,
        "labelled_pixels": 611,
        "matched_prediction": 570,
        "matched_label": 565,
        "precision": 0.7549668874172185,
        "recall": 0.9247135842880524,
        "f1": 0.8312630267989081
      }
    }
  },
  "dynamic_event": {
    "evaluated_cells": 82,
    "positive_cells": [
      60,
      72,
      74,
      85,
      86
    ],
    "unverified_cause": true,
    "raw_difference": {
      "top_5": [
        86,
        85,
        0,
        48,
        73
      ],
      "new_rocks_in_top_5": 2,
      "rock_ranks": {
        "60": 6,
        "72": 8,
        "74": 7,
        "85": 2,
        "86": 1
      }
    },
    "learned_score_change": {
      "top_5": [
        85,
        74,
        72,
        86,
        60
      ],
      "new_rocks_in_top_5": 5,
      "rock_ranks": {
        "60": 5,
        "72": 3,
        "74": 2,
        "85": 1,
        "86": 4
      }
    }
  },
  "annotation_review": "After initial evaluation, enlarged original example-00 revealed a green rather than white path. Removed its white-path label; retain as unsupported qualitative example. No cell labels, models or thresholds changed.",
  "unsupported_path_example": "example-00: green dashed route; white-path detector does not support it"
}
