product-recognition-demo/recognization/data/evaluations/2026-09-29-session/still/final_12.json
tngo 68061635d9 Enroll from a repo data dir; read packshots in every orientation
Two enrollment defects, both found by trying to enroll real packshots.

`rebuild_catalog.py` crashed on every successful run: the report referenced
`small` but the call to `below_pyramid_floor` was missing, so the pyramid-floor
check the enrollment protocol asks for never ran and the tool died with a
NameError after writing the catalog.

The name/OCR check read one orientation. A packshot whose identifying text runs
vertically - the やまや めんたいマヨネーズ image reads 明太手屋さんが only when
rotated - was refused as a mismatch, which is the worst failure this check has:
it rejects good data while claiming to validate it. `best_orientation_text`
tries all four right-angle rotations and picks the one that explains the most of
the catalog name, not the one that reads the most characters, because the
upright pass returns stray kana that concatenate longer than the real read.

The regression test goes through `audit`, not the helper: the bug was that
`audit` called a single-orientation read, and a helper unit test would have
passed on the broken code. Verified to fail before the fix and pass after.

Data now lives in the repo, not /tmp:

  data/packshots/source/   packshots as downloaded, with ATTRIBUTION.json
  data/evaluations/        per-session run artifacts, so a number in
                           DECISION.md traces to the run that produced it

sku_l09 is re-sourced at 1000x1000 from Matsukiyo's Rakuten image, replacing
the 305px view that the README documents as the reason l09 wins facings it
should not.
2026-09-29 02:33:47 +09:00

1851 lines
No EOL
23 KiB
JSON

{
"windows": [
[
0,
640,
1280,
1360
],
[
12,
640,
1292,
1360
],
[
24,
640,
1304,
1360
],
[
36,
640,
1316,
1360
],
[
48,
640,
1328,
1360
],
[
60,
640,
1340,
1360
],
[
72,
640,
1352,
1360
],
[
84,
640,
1364,
1360
],
[
96,
640,
1376,
1360
],
[
108,
640,
1388,
1360
],
[
120,
640,
1400,
1360
],
[
132,
640,
1412,
1360
],
[
144,
640,
1424,
1360
],
[
156,
640,
1436,
1360
],
[
168,
640,
1448,
1360
],
[
180,
640,
1460,
1360
],
[
192,
640,
1472,
1360
],
[
204,
640,
1484,
1360
],
[
216,
640,
1496,
1360
],
[
220,
640,
1500,
1360
],
[
216,
640,
1496,
1360
],
[
204,
640,
1484,
1360
],
[
192,
640,
1472,
1360
],
[
180,
640,
1460,
1360
],
[
168,
640,
1448,
1360
],
[
156,
640,
1436,
1360
],
[
144,
640,
1424,
1360
],
[
132,
640,
1412,
1360
],
[
120,
640,
1400,
1360
],
[
108,
640,
1388,
1360
],
[
96,
640,
1376,
1360
],
[
84,
640,
1364,
1360
],
[
72,
640,
1352,
1360
],
[
60,
640,
1340,
1360
],
[
48,
640,
1328,
1360
],
[
36,
640,
1316,
1360
],
[
24,
640,
1304,
1360
],
[
12,
640,
1292,
1360
],
[
0,
640,
1280,
1360
],
[
12,
640,
1292,
1360
],
[
24,
640,
1304,
1360
],
[
36,
640,
1316,
1360
],
[
48,
640,
1328,
1360
],
[
60,
640,
1340,
1360
],
[
72,
640,
1352,
1360
],
[
84,
640,
1364,
1360
],
[
96,
640,
1376,
1360
],
[
108,
640,
1388,
1360
],
[
120,
640,
1400,
1360
],
[
132,
640,
1412,
1360
],
[
144,
640,
1424,
1360
],
[
156,
640,
1436,
1360
],
[
168,
640,
1448,
1360
],
[
180,
640,
1460,
1360
],
[
192,
640,
1472,
1360
],
[
204,
640,
1484,
1360
],
[
216,
640,
1496,
1360
],
[
220,
640,
1500,
1360
],
[
216,
640,
1496,
1360
],
[
204,
640,
1484,
1360
],
[
192,
640,
1472,
1360
],
[
180,
640,
1460,
1360
],
[
168,
640,
1448,
1360
],
[
156,
640,
1436,
1360
],
[
144,
640,
1424,
1360
],
[
132,
640,
1412,
1360
],
[
120,
640,
1400,
1360
],
[
108,
640,
1388,
1360
],
[
96,
640,
1376,
1360
],
[
84,
640,
1364,
1360
],
[
72,
640,
1352,
1360
],
[
60,
640,
1340,
1360
],
[
48,
640,
1328,
1360
],
[
36,
640,
1316,
1360
],
[
24,
640,
1304,
1360
],
[
12,
640,
1292,
1360
],
[
0,
640,
1280,
1360
],
[
12,
640,
1292,
1360
],
[
24,
640,
1304,
1360
],
[
36,
640,
1316,
1360
],
[
48,
640,
1328,
1360
],
[
60,
640,
1340,
1360
],
[
72,
640,
1352,
1360
],
[
84,
640,
1364,
1360
],
[
96,
640,
1376,
1360
],
[
108,
640,
1388,
1360
],
[
120,
640,
1400,
1360
],
[
132,
640,
1412,
1360
],
[
144,
640,
1424,
1360
],
[
156,
640,
1436,
1360
],
[
168,
640,
1448,
1360
],
[
180,
640,
1460,
1360
],
[
192,
640,
1472,
1360
],
[
204,
640,
1484,
1360
],
[
216,
640,
1496,
1360
],
[
220,
640,
1500,
1360
],
[
216,
640,
1496,
1360
],
[
204,
640,
1484,
1360
],
[
192,
640,
1472,
1360
],
[
180,
640,
1460,
1360
],
[
168,
640,
1448,
1360
],
[
156,
640,
1436,
1360
],
[
144,
640,
1424,
1360
],
[
132,
640,
1412,
1360
],
[
120,
640,
1400,
1360
],
[
108,
640,
1388,
1360
],
[
96,
640,
1376,
1360
],
[
84,
640,
1364,
1360
],
[
72,
640,
1352,
1360
],
[
60,
640,
1340,
1360
],
[
48,
640,
1328,
1360
],
[
36,
640,
1316,
1360
],
[
24,
640,
1304,
1360
],
[
12,
640,
1292,
1360
],
[
0,
640,
1280,
1360
],
[
12,
640,
1292,
1360
],
[
24,
640,
1304,
1360
],
[
36,
640,
1316,
1360
],
[
48,
640,
1328,
1360
],
[
60,
640,
1340,
1360
],
[
72,
640,
1352,
1360
],
[
84,
640,
1364,
1360
],
[
96,
640,
1376,
1360
],
[
108,
640,
1388,
1360
],
[
120,
640,
1400,
1360
],
[
132,
640,
1412,
1360
],
[
144,
640,
1424,
1360
],
[
156,
640,
1436,
1360
],
[
168,
640,
1448,
1360
],
[
180,
640,
1460,
1360
],
[
192,
640,
1472,
1360
],
[
204,
640,
1484,
1360
],
[
216,
640,
1496,
1360
],
[
220,
640,
1500,
1360
],
[
216,
640,
1496,
1360
],
[
204,
640,
1484,
1360
],
[
192,
640,
1472,
1360
],
[
180,
640,
1460,
1360
],
[
168,
640,
1448,
1360
],
[
156,
640,
1436,
1360
],
[
144,
640,
1424,
1360
],
[
132,
640,
1412,
1360
],
[
120,
640,
1400,
1360
],
[
108,
640,
1388,
1360
],
[
96,
640,
1376,
1360
],
[
84,
640,
1364,
1360
],
[
72,
640,
1352,
1360
],
[
60,
640,
1340,
1360
],
[
48,
640,
1328,
1360
],
[
36,
640,
1316,
1360
],
[
24,
640,
1304,
1360
],
[
12,
640,
1292,
1360
],
[
0,
640,
1280,
1360
],
[
12,
640,
1292,
1360
],
[
24,
640,
1304,
1360
],
[
36,
640,
1316,
1360
],
[
48,
640,
1328,
1360
],
[
60,
640,
1340,
1360
],
[
72,
640,
1352,
1360
],
[
84,
640,
1364,
1360
],
[
96,
640,
1376,
1360
],
[
108,
640,
1388,
1360
],
[
120,
640,
1400,
1360
],
[
132,
640,
1412,
1360
],
[
144,
640,
1424,
1360
],
[
156,
640,
1436,
1360
],
[
168,
640,
1448,
1360
],
[
180,
640,
1460,
1360
],
[
192,
640,
1472,
1360
],
[
204,
640,
1484,
1360
],
[
216,
640,
1496,
1360
],
[
220,
640,
1500,
1360
],
[
216,
640,
1496,
1360
],
[
204,
640,
1484,
1360
],
[
192,
640,
1472,
1360
],
[
180,
640,
1460,
1360
],
[
168,
640,
1448,
1360
],
[
156,
640,
1436,
1360
],
[
144,
640,
1424,
1360
],
[
132,
640,
1412,
1360
],
[
120,
640,
1400,
1360
],
[
108,
640,
1388,
1360
],
[
96,
640,
1376,
1360
],
[
84,
640,
1364,
1360
],
[
72,
640,
1352,
1360
],
[
60,
640,
1340,
1360
],
[
48,
640,
1328,
1360
],
[
36,
640,
1316,
1360
]
],
"source": "add/image6.jpg",
"pace": "result",
"seconds": 20.1,
"tracks": [
{
"track_id": 1,
"sku_id": "sku_l09",
"label_box": [
706,
763,
792,
971
],
"label_frame_id": 124,
"result_frame_id": 127,
"inherited": true,
"restarts": 2
},
{
"track_id": 2,
"sku_id": "sku_l09",
"label_box": [
607,
760,
694,
971
],
"label_frame_id": 68,
"result_frame_id": 75,
"inherited": false,
"restarts": 2
},
{
"track_id": 4,
"sku_id": "sku_l09",
"label_box": [
706,
762,
793,
971
],
"label_frame_id": 184,
"result_frame_id": 187,
"inherited": true,
"restarts": 7
},
{
"track_id": 5,
"sku_id": "sku_l09",
"label_box": [
359,
756,
448,
971
],
"label_frame_id": 172,
"result_frame_id": 176,
"inherited": true,
"restarts": 0
},
{
"track_id": 6,
"sku_id": "sku_l09",
"label_box": [
977,
764,
1069,
974
],
"label_frame_id": 17,
"result_frame_id": 25,
"inherited": true,
"restarts": 0
},
{
"track_id": 8,
"sku_id": "sku_l09",
"label_box": [
245,
752,
345,
973
],
"label_frame_id": 174,
"result_frame_id": 186,
"inherited": false,
"restarts": 0
},
{
"track_id": 11,
"sku_id": "sku_l09",
"label_box": [
184,
1060,
279,
1150
],
"label_frame_id": 160,
"result_frame_id": 164,
"inherited": true,
"restarts": 8
},
{
"track_id": 12,
"sku_id": "sku_l10",
"label_box": [
1320,
1064,
1389,
1238
],
"label_frame_id": 101,
"result_frame_id": 104,
"inherited": true,
"restarts": 3
},
{
"track_id": 13,
"sku_id": "sku_l09",
"label_box": [
976,
763,
1068,
973
],
"label_frame_id": 179,
"result_frame_id": 182,
"inherited": true,
"restarts": 1
},
{
"track_id": 14,
"sku_id": "sku_l10",
"label_box": [
1321,
1065,
1389,
1238
],
"label_frame_id": 58,
"result_frame_id": 62,
"inherited": true,
"restarts": 2
},
{
"track_id": 15,
"sku_id": "sku_l09",
"label_box": [
799,
763,
959,
971
],
"label_frame_id": 183,
"result_frame_id": 188,
"inherited": true,
"restarts": 0
},
{
"track_id": 16,
"sku_id": "sku_l10",
"label_box": [
441,
1070,
537,
1251
],
"label_frame_id": 177,
"result_frame_id": 181,
"inherited": true,
"restarts": 1
},
{
"track_id": 17,
"sku_id": "sku_l10",
"label_box": [
874,
1148,
968,
1245
],
"label_frame_id": 177,
"result_frame_id": 181,
"inherited": true,
"restarts": 0
},
{
"track_id": 18,
"sku_id": "sku_l09",
"label_box": [
1138,
763,
1279,
972
],
"label_frame_id": 182,
"result_frame_id": 187,
"inherited": true,
"restarts": 18
},
{
"track_id": 20,
"sku_id": "sku_l10",
"label_box": [
211,
1128,
285,
1260
],
"label_frame_id": 6,
"result_frame_id": 14,
"inherited": false,
"restarts": 2
},
{
"track_id": 21,
"sku_id": "sku_l10",
"label_box": [
682,
1145,
781,
1246
],
"label_frame_id": 180,
"result_frame_id": 184,
"inherited": true,
"restarts": 0
},
{
"track_id": 22,
"sku_id": "sku_l09",
"label_box": [
452,
776,
518,
969
],
"label_frame_id": 16,
"result_frame_id": 18,
"inherited": true,
"restarts": 0
},
{
"track_id": 23,
"sku_id": "sku_l10",
"label_box": [
787,
1146,
870,
1244
],
"label_frame_id": 173,
"result_frame_id": 176,
"inherited": true,
"restarts": 0
},
{
"track_id": 32,
"sku_id": "sku_l09",
"label_box": [
186,
1060,
272,
1148
],
"label_frame_id": 27,
"result_frame_id": 35,
"inherited": false,
"restarts": 1
},
{
"track_id": 35,
"sku_id": "sku_l09",
"label_box": [
1072,
766,
1133,
971
],
"label_frame_id": 170,
"result_frame_id": 177,
"inherited": true,
"restarts": 1
},
{
"track_id": 58,
"sku_id": "sku_l10",
"label_box": [
1320,
1064,
1389,
1238
],
"label_frame_id": 25,
"result_frame_id": 28,
"inherited": true,
"restarts": 0
},
{
"track_id": 114,
"sku_id": "sku_l10",
"label_box": [
1198,
1052,
1279,
1244
],
"label_frame_id": 119,
"result_frame_id": 119,
"inherited": true,
"restarts": 3
},
{
"track_id": 127,
"sku_id": "sku_l09",
"label_box": [
196,
754,
255,
970
],
"label_frame_id": 36,
"result_frame_id": 38,
"inherited": true,
"restarts": 1
},
{
"track_id": 135,
"sku_id": "sku_l09",
"label_box": [
703,
762,
789,
972
],
"label_frame_id": 173,
"result_frame_id": 184,
"inherited": false,
"restarts": 7
},
{
"track_id": 163,
"sku_id": "sku_l09",
"label_box": [
113,
752,
189,
971
],
"label_frame_id": 44,
"result_frame_id": 47,
"inherited": true,
"restarts": 0
},
{
"track_id": 262,
"sku_id": "sku_l09",
"label_box": [
454,
776,
515,
969
],
"label_frame_id": 51,
"result_frame_id": 53,
"inherited": true,
"restarts": 0
},
{
"track_id": 269,
"sku_id": "sku_l09",
"label_box": [
199,
757,
255,
971
],
"label_frame_id": 51,
"result_frame_id": 53,
"inherited": true,
"restarts": 1
},
{
"track_id": 295,
"sku_id": "sku_l09",
"label_box": [
189,
1061,
277,
1146
],
"label_frame_id": 152,
"result_frame_id": 155,
"inherited": true,
"restarts": 5
},
{
"track_id": 331,
"sku_id": "sku_l10",
"label_box": [
305,
1058,
438,
1255
],
"label_frame_id": 149,
"result_frame_id": 162,
"inherited": true,
"restarts": 9
},
{
"track_id": 353,
"sku_id": "sku_l10",
"label_box": [
1199,
1054,
1279,
1245
],
"label_frame_id": 120,
"result_frame_id": 123,
"inherited": true,
"restarts": 3
},
{
"track_id": 378,
"sku_id": "sku_l09",
"label_box": [
517,
758,
610,
971
],
"label_frame_id": 112,
"result_frame_id": 114,
"inherited": true,
"restarts": 1
},
{
"track_id": 476,
"sku_id": "sku_l10",
"label_box": [
63,
1157,
151,
1257
],
"label_frame_id": 75,
"result_frame_id": 82,
"inherited": true,
"restarts": 0
},
{
"track_id": 499,
"sku_id": "sku_l09",
"label_box": [
452,
756,
514,
969
],
"label_frame_id": 94,
"result_frame_id": 97,
"inherited": true,
"restarts": 0
},
{
"track_id": 536,
"sku_id": "sku_l10",
"label_box": [
544,
1066,
624,
1248
],
"label_frame_id": 113,
"result_frame_id": 122,
"inherited": false,
"restarts": 1
},
{
"track_id": 568,
"sku_id": "sku_l10",
"label_box": [
196,
1153,
299,
1259
],
"label_frame_id": 90,
"result_frame_id": 90,
"inherited": true,
"restarts": 0
},
{
"track_id": 590,
"sku_id": "sku_l10",
"label_box": [
1319,
1065,
1389,
1238
],
"label_frame_id": 174,
"result_frame_id": 177,
"inherited": true,
"restarts": 5
},
{
"track_id": 606,
"sku_id": "sku_l09",
"label_box": [
195,
756,
255,
973
],
"label_frame_id": 115,
"result_frame_id": 116,
"inherited": true,
"restarts": 1
},
{
"track_id": 613,
"sku_id": "sku_l09",
"label_box": [
519,
758,
610,
971
],
"label_frame_id": 187,
"result_frame_id": 188,
"inherited": true,
"restarts": 3
},
{
"track_id": 638,
"sku_id": "sku_l09",
"label_box": [
113,
752,
189,
971
],
"label_frame_id": 120,
"result_frame_id": 123,
"inherited": true,
"restarts": 1
},
{
"track_id": 653,
"sku_id": "sku_l10",
"label_box": [
194,
1150,
298,
1262
],
"label_frame_id": 104,
"result_frame_id": 104,
"inherited": true,
"restarts": 0
},
{
"track_id": 715,
"sku_id": "sku_l10",
"label_box": [
63,
1157,
151,
1257
],
"label_frame_id": 113,
"result_frame_id": 120,
"inherited": true,
"restarts": 0
},
{
"track_id": 738,
"sku_id": "sku_l09",
"label_box": [
450,
774,
520,
970
],
"label_frame_id": 122,
"result_frame_id": 134,
"inherited": false,
"restarts": 0
},
{
"track_id": 746,
"sku_id": "sku_l09",
"label_box": [
199,
757,
255,
971
],
"label_frame_id": 127,
"result_frame_id": 129,
"inherited": true,
"restarts": 1
},
{
"track_id": 776,
"sku_id": "sku_l10",
"label_box": [
544,
1068,
629,
1248
],
"label_frame_id": 151,
"result_frame_id": 158,
"inherited": true,
"restarts": 1
},
{
"track_id": 830,
"sku_id": "sku_l10",
"label_box": [
1115,
1057,
1195,
1244
],
"label_frame_id": 188,
"result_frame_id": 188,
"inherited": true,
"restarts": 2
},
{
"track_id": 855,
"sku_id": "sku_l09",
"label_box": [
519,
759,
609,
970
],
"label_frame_id": 177,
"result_frame_id": 180,
"inherited": true,
"restarts": 1
},
{
"track_id": 880,
"sku_id": "sku_l09",
"label_box": [
113,
752,
192,
973
],
"label_frame_id": 154,
"result_frame_id": 157,
"inherited": true,
"restarts": 1
},
{
"track_id": 914,
"sku_id": "sku_l10",
"label_box": [
1198,
1054,
1280,
1245
],
"label_frame_id": 182,
"result_frame_id": 185,
"inherited": true,
"restarts": 2
},
{
"track_id": 981,
"sku_id": "sku_l09",
"label_box": [
113,
752,
190,
971
],
"label_frame_id": 188,
"result_frame_id": 188,
"inherited": true,
"restarts": 1
},
{
"track_id": 989,
"sku_id": "sku_l09",
"label_box": [
197,
754,
257,
971
],
"label_frame_id": 159,
"result_frame_id": 161,
"inherited": true,
"restarts": 1
},
{
"track_id": 1017,
"sku_id": "sku_l10",
"label_box": [
630,
1055,
679,
1244
],
"label_frame_id": 161,
"result_frame_id": 163,
"inherited": true,
"restarts": 0
}
]
}