{
 "top": [
  {
   "scientific_name": "Cephalopholis hemistiktos",
   "common_name": "Yellowfin hind",
   "family": "Serranidae",
   "prob": 0.6832,
   "prob_geo": 0.9399,
   "crop_votes": 0.7188
  },
  {
   "scientific_name": "Aethaloperca rogaa",
   "common_name": "Redmouth grouper",
   "family": "Serranidae",
   "prob": 0.1321,
   "prob_geo": 0.05,
   "crop_votes": 0.125
  },
  {
   "scientific_name": "Epibulus insidiator",
   "common_name": "Slingjaw wrasse",
   "family": "Labridae",
   "prob": 0.0301,
   "prob_geo": 0.0006,
   "crop_votes": 0.0312
  },
  {
   "scientific_name": "Calotomus viridescens",
   "common_name": "Viridescent parrotfish",
   "family": "Scaridae",
   "prob": 0.026,
   "prob_geo": 0.0008,
   "crop_votes": 0.0312
  },
  {
   "scientific_name": "Amanses scopas",
   "common_name": "Broom filefish",
   "family": "Monacanthidae",
   "prob": 0.0161,
   "prob_geo": 0.0001,
   "crop_votes": 0.0156
  }
 ],
 "family": [
  {
   "name": "Serranidae",
   "prob": 0.8434
  },
  {
   "name": "Labridae",
   "prob": 0.0487
  },
  {
   "name": "Scaridae",
   "prob": 0.039
  },
  {
   "name": "Pomacentridae",
   "prob": 0.0315
  },
  {
   "name": "Monacanthidae",
   "prob": 0.0161
  }
 ],
 "genus": [
  {
   "name": "Cephalopholis",
   "prob": 0.7084
  },
  {
   "name": "Aethaloperca",
   "prob": 0.1321
  },
  {
   "name": "Epibulus",
   "prob": 0.0301
  },
  {
   "name": "Calotomus",
   "prob": 0.026
  },
  {
   "name": "Pomacentrus",
   "prob": 0.0189
  }
 ],
 "agreement": 0.7188,
 "confidence": "medium",
 "n_crops": 64,
 "model": "bioclip-2.5 (hf-hub:imageomics/bioclip-2.5-vith14, open_clip, zero-shot)",
 "label_set": "redsea_fish_species.csv (332 Red Sea species)",
 "crop_top1_votes": {
  "Cephalopholis hemistiktos": 46,
  "Aethaloperca rogaa": 8,
  "Calotomus viridescens": 2,
  "Epibulus insidiator": 2,
  "Ctenochaetus striatus": 1,
  "Chromis dimidiata": 1,
  "Amanses scopas": 1,
  "Oxycheilinus digramma": 1,
  "Centropyge multispinis": 1,
  "Pomacentrus aquilus": 1
 },
 "open_set": {
  "n_species": 23272,
  "top": [
   {
    "scientific_name": "Cephalopholis hemistiktos",
    "common_name": "Halfspotted hind",
    "family": "Serranidae",
    "prob": 0.3999,
    "in_label_set": true
   },
   {
    "scientific_name": "Aethaloperca rogaa",
    "common_name": "Redmouth grouper",
    "family": "Serranidae",
    "prob": 0.1337,
    "in_label_set": true
   },
   {
    "scientific_name": "Pseudodax moluccanus",
    "common_name": "Chiseltooth wrasse",
    "family": "Labridae",
    "prob": 0.0824,
    "in_label_set": false
   },
   {
    "scientific_name": "Cephalopholis nigripinnis",
    "common_name": "Duskyfin hind",
    "family": "Serranidae",
    "prob": 0.0463,
    "in_label_set": false
   },
   {
    "scientific_name": "Cephalopholis microprion",
    "common_name": "Freckled hind",
    "family": "Serranidae",
    "prob": 0.0387,
    "in_label_set": false
   }
  ],
  "family": [
   {
    "name": "Serranidae",
    "prob": 0.6722
   },
   {
    "name": "Labridae",
    "prob": 0.1497
   },
   {
    "name": "Pomacentridae",
    "prob": 0.0723
   },
   {
    "name": "Scaridae",
    "prob": 0.0479
   },
   {
    "name": "Acanthuridae",
    "prob": 0.0267
   }
  ],
  "label_top1_global_rank": 1,
  "label_set_mass": 0.6348
 },
 "label": "Cephalopholis hemistiktos (Yellowfin hind) 68% - medium",
 "settings": {
  "prompt": "ens",
  "view": [
   "unmasked"
  ],
  "wb": false,
  "temperature": 1.0,
  "soft_alpha": true,
  "logit_scale": 98.875,
  "aggregation": "arithmetic mean over crops of the per-crop softmax (linear opinion pool, per-crop temperature); prob_geo = renormalised geometric mean (reference only, overconfident for correlated crops)",
  "confidence_rule": "high: p1>=0.8 & agreement>=0.8; medium: (p1>=0.4 & agreement>=0.5) or (genus p>=0.7 & agreement>=0.5); else low (p = arithmetic mean of the per-crop softmax); one level down if the open-set check prefers another genus outside the label set (label-set mass < 0.5)"
 },
 "source": {
  "kind": "fish",
  "name": "fish1",
  "dir": "D:\\devel\\fish-reconstructor\\work\\fish\\fish1",
  "track_ids": null,
  "n_available": 2044,
  "frames": [
   231,
   237,
   248,
   261,
   283,
   298,
   302,
   322,
   332,
   484,
   497,
   504,
   514,
   526,
   554,
   567,
   570,
   585,
   601,
   615,
   631,
   637,
   654,
   669,
   672,
   685,
   699,
   1488,
   1497,
   1506,
   1581,
   2942,
   2947,
   2972,
   3007,
   3518,
   3537,
   3547,
   3571,
   3572,
   3762,
   3781,
   5444,
   5446,
   5465,
   5547,
   5559,
   5561,
   5582,
   5594,
   5601,
   5615,
   5632,
   5641,
   5659,
   5669,
   5672,
   5685,
   5712,
   5730,
   5940,
   5948,
   5979,
   5982
  ]
 },
 "created": "2026-11-09 17:59:01"
}