product-recognition-demo/recognization/data/evaluations/2026-09-29-session/stream/fin_1.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

2269 lines
No EOL
28 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
],
[
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
]
],
"source": "add/image6.jpg",
"pace": "send",
"seconds": 20.0,
"tracks": [
{
"track_id": 1,
"sku_id": "sku_l09",
"label_box": [
713,
763,
799,
971
],
"label_frame_id": 116,
"result_frame_id": 125,
"inherited": false,
"restarts": 2
},
{
"track_id": 2,
"sku_id": "sku_l09",
"label_box": [
614,
759,
701,
971
],
"label_frame_id": 78,
"result_frame_id": 81,
"inherited": true,
"restarts": 2
},
{
"track_id": 4,
"sku_id": "sku_l09",
"label_box": [
701,
762,
787,
972
],
"label_frame_id": 215,
"result_frame_id": 230,
"inherited": false,
"restarts": 8
},
{
"track_id": 5,
"sku_id": "sku_l09",
"label_box": [
358,
757,
448,
972
],
"label_frame_id": 227,
"result_frame_id": 232,
"inherited": true,
"restarts": 0
},
{
"track_id": 6,
"sku_id": "sku_l09",
"label_box": [
977,
764,
1069,
973
],
"label_frame_id": 11,
"result_frame_id": 20,
"inherited": false,
"restarts": 0
},
{
"track_id": 7,
"sku_id": "sku_l10",
"label_box": [
544,
1060,
628,
1249
],
"label_frame_id": 20,
"result_frame_id": 21,
"inherited": true,
"restarts": 0
},
{
"track_id": 8,
"sku_id": "sku_l09",
"label_box": [
259,
753,
354,
971
],
"label_frame_id": 225,
"result_frame_id": 229,
"inherited": true,
"restarts": 0
},
{
"track_id": 9,
"sku_id": "sku_l10",
"label_box": [
449,
1069,
545,
1251
],
"label_frame_id": 78,
"result_frame_id": 88,
"inherited": false,
"restarts": 0
},
{
"track_id": 11,
"sku_id": "sku_l09",
"label_box": [
186,
1060,
272,
1148
],
"label_frame_id": 217,
"result_frame_id": 232,
"inherited": false,
"restarts": 10
},
{
"track_id": 12,
"sku_id": "sku_l10",
"label_box": [
1319,
1065,
1389,
1238
],
"label_frame_id": 94,
"result_frame_id": 101,
"inherited": true,
"restarts": 3
},
{
"track_id": 13,
"sku_id": "sku_l09",
"label_box": [
977,
764,
1069,
973
],
"label_frame_id": 229,
"result_frame_id": 232,
"inherited": true,
"restarts": 1
},
{
"track_id": 14,
"sku_id": "sku_l10",
"label_box": [
1320,
1065,
1389,
1238
],
"label_frame_id": 55,
"result_frame_id": 58,
"inherited": true,
"restarts": 2
},
{
"track_id": 15,
"sku_id": "sku_l09",
"label_box": [
799,
764,
926,
969
],
"label_frame_id": 216,
"result_frame_id": 219,
"inherited": true,
"restarts": 0
},
{
"track_id": 16,
"sku_id": "sku_l10",
"label_box": [
442,
1067,
538,
1251
],
"label_frame_id": 220,
"result_frame_id": 223,
"inherited": true,
"restarts": 1
},
{
"track_id": 17,
"sku_id": "sku_l10",
"label_box": [
867,
1147,
958,
1245
],
"label_frame_id": 212,
"result_frame_id": 227,
"inherited": false,
"restarts": 0
},
{
"track_id": 18,
"sku_id": "sku_l09",
"label_box": [
1136,
763,
1279,
973
],
"label_frame_id": 213,
"result_frame_id": 218,
"inherited": true,
"restarts": 21
},
{
"track_id": 21,
"sku_id": "sku_l10",
"label_box": [
680,
1147,
782,
1247
],
"label_frame_id": 227,
"result_frame_id": 232,
"inherited": true,
"restarts": 0
},
{
"track_id": 23,
"sku_id": "sku_l10",
"label_box": [
779,
1145,
862,
1244
],
"label_frame_id": 212,
"result_frame_id": 227,
"inherited": false,
"restarts": 0
},
{
"track_id": 25,
"sku_id": "sku_l10",
"label_box": [
544,
1060,
628,
1249
],
"label_frame_id": 58,
"result_frame_id": 59,
"inherited": true,
"restarts": 1
},
{
"track_id": 27,
"sku_id": "sku_l10",
"label_box": [
544,
1060,
628,
1249
],
"label_frame_id": 96,
"result_frame_id": 97,
"inherited": true,
"restarts": 2
},
{
"track_id": 32,
"sku_id": "sku_l09",
"label_box": [
186,
1060,
272,
1148
],
"label_frame_id": 27,
"result_frame_id": 39,
"inherited": false,
"restarts": 1
},
{
"track_id": 35,
"sku_id": "sku_l09",
"label_box": [
1071,
766,
1134,
972
],
"label_frame_id": 210,
"result_frame_id": 214,
"inherited": true,
"restarts": 1
},
{
"track_id": 88,
"sku_id": "sku_l10",
"label_box": [
1321,
1065,
1389,
1239
],
"label_frame_id": 87,
"result_frame_id": 88,
"inherited": true,
"restarts": 5
},
{
"track_id": 114,
"sku_id": "sku_l10",
"label_box": [
1320,
1065,
1389,
1238
],
"label_frame_id": 131,
"result_frame_id": 134,
"inherited": true,
"restarts": 5
},
{
"track_id": 122,
"sku_id": "sku_l06",
"label_box": [
490,
679,
628,
744
],
"label_frame_id": 25,
"result_frame_id": 34,
"inherited": false,
"restarts": 1
},
{
"track_id": 135,
"sku_id": "sku_l09",
"label_box": [
614,
759,
701,
971
],
"label_frame_id": 230,
"result_frame_id": 232,
"inherited": true,
"restarts": 9
},
{
"track_id": 159,
"sku_id": "sku_l05",
"label_box": [
168,
667,
247,
733
],
"label_frame_id": 53,
"result_frame_id": 53,
"inherited": true,
"restarts": 1
},
{
"track_id": 262,
"sku_id": "sku_l09",
"label_box": [
452,
759,
513,
968
],
"label_frame_id": 58,
"result_frame_id": 59,
"inherited": true,
"restarts": 0
},
{
"track_id": 269,
"sku_id": "sku_l09",
"label_box": [
192,
751,
257,
972
],
"label_frame_id": 55,
"result_frame_id": 58,
"inherited": true,
"restarts": 1
},
{
"track_id": 295,
"sku_id": "sku_l09",
"label_box": [
186,
1060,
272,
1148
],
"label_frame_id": 103,
"result_frame_id": 114,
"inherited": false,
"restarts": 3
},
{
"track_id": 331,
"sku_id": "sku_l10",
"label_box": [
301,
1058,
433,
1255
],
"label_frame_id": 220,
"result_frame_id": 232,
"inherited": false,
"restarts": 9
},
{
"track_id": 353,
"sku_id": "sku_l10",
"label_box": [
1199,
1053,
1281,
1244
],
"label_frame_id": 152,
"result_frame_id": 157,
"inherited": true,
"restarts": 3
},
{
"track_id": 363,
"sku_id": "sku_l06",
"label_box": [
490,
679,
628,
744
],
"label_frame_id": 63,
"result_frame_id": 73,
"inherited": false,
"restarts": 1
},
{
"track_id": 378,
"sku_id": "sku_l09",
"label_box": [
513,
758,
607,
971
],
"label_frame_id": 105,
"result_frame_id": 108,
"inherited": true,
"restarts": 1
},
{
"track_id": 400,
"sku_id": "sku_l05",
"label_box": [
168,
667,
247,
733
],
"label_frame_id": 91,
"result_frame_id": 91,
"inherited": true,
"restarts": 1
},
{
"track_id": 404,
"sku_id": "sku_l09",
"label_box": [
144,
757,
192,
970
],
"label_frame_id": 89,
"result_frame_id": 89,
"inherited": true,
"restarts": 1
},
{
"track_id": 416,
"sku_id": "sku_l03",
"label_box": [
1130,
1053,
1197,
1244
],
"label_frame_id": 85,
"result_frame_id": 96,
"inherited": false,
"restarts": 1
},
{
"track_id": 499,
"sku_id": "sku_l09",
"label_box": [
453,
773,
523,
969
],
"label_frame_id": 81,
"result_frame_id": 92,
"inherited": false,
"restarts": 0
},
{
"track_id": 507,
"sku_id": "sku_l09",
"label_box": [
196,
755,
257,
973
],
"label_frame_id": 86,
"result_frame_id": 88,
"inherited": true,
"restarts": 1
},
{
"track_id": 536,
"sku_id": "sku_l10",
"label_box": [
542,
1143,
629,
1248
],
"label_frame_id": 135,
"result_frame_id": 135,
"inherited": true,
"restarts": 1
},
{
"track_id": 590,
"sku_id": "sku_l10",
"label_box": [
1280,
1063,
1319,
1238
],
"label_frame_id": 187,
"result_frame_id": 187,
"inherited": true,
"restarts": 6
},
{
"track_id": 613,
"sku_id": "sku_l09",
"label_box": [
518,
758,
611,
970
],
"label_frame_id": 191,
"result_frame_id": 191,
"inherited": true,
"restarts": 3
},
{
"track_id": 635,
"sku_id": "sku_l05",
"label_box": [
98,
660,
246,
734
],
"label_frame_id": 112,
"result_frame_id": 123,
"inherited": true,
"restarts": 1
},
{
"track_id": 738,
"sku_id": "sku_l09",
"label_box": [
453,
773,
523,
969
],
"label_frame_id": 119,
"result_frame_id": 132,
"inherited": false,
"restarts": 0
},
{
"track_id": 776,
"sku_id": "sku_l10",
"label_box": [
544,
1060,
628,
1249
],
"label_frame_id": 172,
"result_frame_id": 173,
"inherited": true,
"restarts": 1
},
{
"track_id": 803,
"sku_id": "sku_l10",
"label_box": [
1394,
1068,
1424,
1239
],
"label_frame_id": 217,
"result_frame_id": 217,
"inherited": true,
"restarts": 7
},
{
"track_id": 808,
"sku_id": "sku_l10",
"label_box": [
195,
1061,
299,
1260
],
"label_frame_id": 139,
"result_frame_id": 139,
"inherited": true,
"restarts": 2
},
{
"track_id": 830,
"sku_id": "sku_l10",
"label_box": [
1203,
1053,
1284,
1246
],
"label_frame_id": 205,
"result_frame_id": 221,
"inherited": false,
"restarts": 3
},
{
"track_id": 840,
"sku_id": "sku_l06",
"label_box": [
488,
675,
628,
742
],
"label_frame_id": 144,
"result_frame_id": 153,
"inherited": false,
"restarts": 1
},
{
"track_id": 855,
"sku_id": "sku_l09",
"label_box": [
518,
758,
609,
971
],
"label_frame_id": 230,
"result_frame_id": 231,
"inherited": true,
"restarts": 4
},
{
"track_id": 877,
"sku_id": "sku_l05",
"label_box": [
120,
672,
244,
734
],
"label_frame_id": 163,
"result_frame_id": 167,
"inherited": true,
"restarts": 1
},
{
"track_id": 894,
"sku_id": "sku_l10",
"label_box": [
191,
1061,
298,
1262
],
"label_frame_id": 153,
"result_frame_id": 153,
"inherited": true,
"restarts": 4
},
{
"track_id": 914,
"sku_id": "sku_l10",
"label_box": [
1279,
1059,
1318,
1221
],
"label_frame_id": 198,
"result_frame_id": 199,
"inherited": true,
"restarts": 3
},
{
"track_id": 981,
"sku_id": "sku_l09",
"label_box": [
453,
773,
523,
969
],
"label_frame_id": 157,
"result_frame_id": 168,
"inherited": false,
"restarts": 0
},
{
"track_id": 1017,
"sku_id": "sku_l10",
"label_box": [
543,
1065,
630,
1248
],
"label_frame_id": 202,
"result_frame_id": 205,
"inherited": true,
"restarts": 1
},
{
"track_id": 1068,
"sku_id": "sku_l10",
"label_box": [
1117,
1053,
1195,
1243
],
"label_frame_id": 230,
"result_frame_id": 231,
"inherited": true,
"restarts": 2
},
{
"track_id": 1077,
"sku_id": "sku_l06",
"label_box": [
490,
679,
628,
744
],
"label_frame_id": 177,
"result_frame_id": 186,
"inherited": false,
"restarts": 1
},
{
"track_id": 1091,
"sku_id": "sku_l09",
"label_box": [
513,
758,
607,
971
],
"label_frame_id": 219,
"result_frame_id": 222,
"inherited": true,
"restarts": 1
},
{
"track_id": 1113,
"sku_id": "sku_l05",
"label_box": [
108,
670,
247,
730
],
"label_frame_id": 200,
"result_frame_id": 205,
"inherited": true,
"restarts": 1
},
{
"track_id": 1210,
"sku_id": "sku_l09",
"label_box": [
453,
773,
523,
969
],
"label_frame_id": 195,
"result_frame_id": 208,
"inherited": false,
"restarts": 0
},
{
"track_id": 1218,
"sku_id": "sku_l09",
"label_box": [
192,
751,
257,
972
],
"label_frame_id": 207,
"result_frame_id": 210,
"inherited": true,
"restarts": 1
},
{
"track_id": 1325,
"sku_id": "sku_l09",
"label_box": [
517,
758,
610,
971
],
"label_frame_id": 232,
"result_frame_id": 232,
"inherited": true,
"restarts": 1
}
]
}