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

2209 lines
No EOL
27 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
]
],
"source": "add/image6.jpg",
"pace": "send",
"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": [
615,
760,
701,
972
],
"label_frame_id": 65,
"result_frame_id": 69,
"inherited": true,
"restarts": 2
},
{
"track_id": 4,
"sku_id": "sku_l09",
"label_box": [
705,
762,
793,
972
],
"label_frame_id": 219,
"result_frame_id": 222,
"inherited": true,
"restarts": 8
},
{
"track_id": 5,
"sku_id": "sku_l09",
"label_box": [
352,
755,
445,
972
],
"label_frame_id": 217,
"result_frame_id": 229,
"inherited": false,
"restarts": 0
},
{
"track_id": 6,
"sku_id": "sku_l09",
"label_box": [
977,
764,
1069,
973
],
"label_frame_id": 20,
"result_frame_id": 25,
"inherited": true,
"restarts": 0
},
{
"track_id": 8,
"sku_id": "sku_l09",
"label_box": [
256,
755,
353,
972
],
"label_frame_id": 218,
"result_frame_id": 222,
"inherited": true,
"restarts": 0
},
{
"track_id": 9,
"sku_id": "sku_l10",
"label_box": [
442,
1067,
538,
1251
],
"label_frame_id": 86,
"result_frame_id": 89,
"inherited": true,
"restarts": 0
},
{
"track_id": 11,
"sku_id": "sku_l09",
"label_box": [
187,
1060,
280,
1148
],
"label_frame_id": 224,
"result_frame_id": 227,
"inherited": true,
"restarts": 10
},
{
"track_id": 13,
"sku_id": "sku_l09",
"label_box": [
977,
764,
1069,
973
],
"label_frame_id": 229,
"result_frame_id": 229,
"inherited": true,
"restarts": 1
},
{
"track_id": 15,
"sku_id": "sku_l09",
"label_box": [
795,
764,
982,
972
],
"label_frame_id": 225,
"result_frame_id": 229,
"inherited": true,
"restarts": 0
},
{
"track_id": 16,
"sku_id": "sku_l10",
"label_box": [
442,
1070,
538,
1250
],
"label_frame_id": 145,
"result_frame_id": 148,
"inherited": true,
"restarts": 1
},
{
"track_id": 17,
"sku_id": "sku_l10",
"label_box": [
874,
1148,
968,
1245
],
"label_frame_id": 215,
"result_frame_id": 219,
"inherited": true,
"restarts": 0
},
{
"track_id": 18,
"sku_id": "sku_l09",
"label_box": [
1138,
763,
1279,
972
],
"label_frame_id": 220,
"result_frame_id": 225,
"inherited": true,
"restarts": 22
},
{
"track_id": 19,
"sku_id": "sku_l09",
"label_box": [
685,
1057,
785,
1142
],
"label_frame_id": 144,
"result_frame_id": 148,
"inherited": true,
"restarts": 2
},
{
"track_id": 21,
"sku_id": "sku_l10",
"label_box": [
682,
1145,
781,
1246
],
"label_frame_id": 226,
"result_frame_id": 229,
"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": 219,
"result_frame_id": 222,
"inherited": true,
"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": [
543,
1065,
629,
1248
],
"label_frame_id": 93,
"result_frame_id": 95,
"inherited": true,
"restarts": 2
},
{
"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": [
1070,
766,
1134,
972
],
"label_frame_id": 222,
"result_frame_id": 224,
"inherited": true,
"restarts": 1
},
{
"track_id": 114,
"sku_id": "sku_l10",
"label_box": [
1320,
1065,
1389,
1238
],
"label_frame_id": 133,
"result_frame_id": 138,
"inherited": true,
"restarts": 5
},
{
"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": [
615,
760,
701,
972
],
"label_frame_id": 226,
"result_frame_id": 229,
"inherited": true,
"restarts": 9
},
{
"track_id": 262,
"sku_id": "sku_l09",
"label_box": [
113,
752,
190,
971
],
"label_frame_id": 74,
"result_frame_id": 74,
"inherited": true,
"restarts": 1
},
{
"track_id": 269,
"sku_id": "sku_l09",
"label_box": [
196,
753,
258,
972
],
"label_frame_id": 43,
"result_frame_id": 43,
"inherited": true,
"restarts": 0
},
{
"track_id": 295,
"sku_id": "sku_l09",
"label_box": [
187,
1060,
280,
1148
],
"label_frame_id": 148,
"result_frame_id": 151,
"inherited": true,
"restarts": 5
},
{
"track_id": 353,
"sku_id": "sku_l10",
"label_box": [
1199,
1053,
1280,
1244
],
"label_frame_id": 145,
"result_frame_id": 148,
"inherited": true,
"restarts": 3
},
{
"track_id": 378,
"sku_id": "sku_l09",
"label_box": [
518,
758,
609,
971
],
"label_frame_id": 114,
"result_frame_id": 114,
"inherited": true,
"restarts": 1
},
{
"track_id": 404,
"sku_id": "sku_l09",
"label_box": [
113,
752,
189,
971
],
"label_frame_id": 82,
"result_frame_id": 85,
"inherited": true,
"restarts": 1
},
{
"track_id": 476,
"sku_id": "sku_l10",
"label_box": [
64,
1158,
153,
1253
],
"label_frame_id": 78,
"result_frame_id": 81,
"inherited": true,
"restarts": 0
},
{
"track_id": 499,
"sku_id": "sku_l09",
"label_box": [
113,
752,
190,
971
],
"label_frame_id": 112,
"result_frame_id": 112,
"inherited": true,
"restarts": 1
},
{
"track_id": 507,
"sku_id": "sku_l09",
"label_box": [
199,
757,
255,
971
],
"label_frame_id": 89,
"result_frame_id": 91,
"inherited": true,
"restarts": 1
},
{
"track_id": 536,
"sku_id": "sku_l10",
"label_box": [
544,
1066,
630,
1248
],
"label_frame_id": 130,
"result_frame_id": 133,
"inherited": true,
"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": 582,
"sku_id": "sku_l09",
"label_box": [
789,
1055,
882,
1139
],
"label_frame_id": 136,
"result_frame_id": 140,
"inherited": true,
"restarts": 2
},
{
"track_id": 590,
"sku_id": "sku_l10",
"label_box": [
1114,
1055,
1195,
1245
],
"label_frame_id": 155,
"result_frame_id": 155,
"inherited": true,
"restarts": 2
},
{
"track_id": 606,
"sku_id": "sku_l09",
"label_box": [
196,
753,
258,
972
],
"label_frame_id": 111,
"result_frame_id": 113,
"inherited": true,
"restarts": 1
},
{
"track_id": 613,
"sku_id": "sku_l09",
"label_box": [
615,
760,
702,
972
],
"label_frame_id": 196,
"result_frame_id": 196,
"inherited": true,
"restarts": 4
},
{
"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": 673,
"sku_id": "sku_l10",
"label_box": [
1115,
1057,
1195,
1244
],
"label_frame_id": 118,
"result_frame_id": 121,
"inherited": true,
"restarts": 1
},
{
"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": [
113,
752,
190,
971
],
"label_frame_id": 150,
"result_frame_id": 150,
"inherited": true,
"restarts": 1
},
{
"track_id": 746,
"sku_id": "sku_l09",
"label_box": [
196,
753,
258,
972
],
"label_frame_id": 119,
"result_frame_id": 119,
"inherited": true,
"restarts": 0
},
{
"track_id": 776,
"sku_id": "sku_l02",
"label_box": [
555,
1065,
636,
1248
],
"label_frame_id": 155,
"result_frame_id": 170,
"inherited": false,
"restarts": 1
},
{
"track_id": 830,
"sku_id": "sku_l10",
"label_box": [
1199,
1053,
1280,
1244
],
"label_frame_id": 221,
"result_frame_id": 224,
"inherited": true,
"restarts": 3
},
{
"track_id": 855,
"sku_id": "sku_l09",
"label_box": [
517,
758,
609,
971
],
"label_frame_id": 227,
"result_frame_id": 229,
"inherited": true,
"restarts": 4
},
{
"track_id": 880,
"sku_id": "sku_l09",
"label_box": [
113,
752,
189,
971
],
"label_frame_id": 158,
"result_frame_id": 161,
"inherited": true,
"restarts": 1
},
{
"track_id": 914,
"sku_id": "sku_l10",
"label_box": [
1320,
1065,
1389,
1238
],
"label_frame_id": 209,
"result_frame_id": 214,
"inherited": true,
"restarts": 4
},
{
"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": [
199,
757,
255,
971
],
"label_frame_id": 165,
"result_frame_id": 167,
"inherited": true,
"restarts": 1
},
{
"track_id": 1017,
"sku_id": "sku_l02",
"label_box": [
544,
1068,
629,
1248
],
"label_frame_id": 189,
"result_frame_id": 196,
"inherited": true,
"restarts": 1
},
{
"track_id": 1084,
"sku_id": "sku_l09",
"label_box": [
197,
755,
257,
972
],
"label_frame_id": 192,
"result_frame_id": 192,
"inherited": true,
"restarts": 1
},
{
"track_id": 1091,
"sku_id": "sku_l09",
"label_box": [
519,
758,
610,
971
],
"label_frame_id": 225,
"result_frame_id": 226,
"inherited": true,
"restarts": 1
},
{
"track_id": 1210,
"sku_id": "sku_l09",
"label_box": [
452,
756,
514,
969
],
"label_frame_id": 208,
"result_frame_id": 211,
"inherited": true,
"restarts": 0
},
{
"track_id": 1218,
"sku_id": "sku_l09",
"label_box": [
196,
753,
258,
972
],
"label_frame_id": 195,
"result_frame_id": 195,
"inherited": true,
"restarts": 0
},
{
"track_id": 1247,
"sku_id": "sku_l02",
"label_box": [
630,
1055,
679,
1244
],
"label_frame_id": 199,
"result_frame_id": 201,
"inherited": true,
"restarts": 0
},
{
"track_id": 1317,
"sku_id": "sku_l09",
"label_box": [
196,
753,
258,
972
],
"label_frame_id": 225,
"result_frame_id": 227,
"inherited": true,
"restarts": 1
},
{
"track_id": 1325,
"sku_id": "sku_l09",
"label_box": [
452,
756,
514,
969
],
"label_frame_id": 228,
"result_frame_id": 229,
"inherited": true,
"restarts": 0
}
]
}