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

2217 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
]
],
"source": "add/image6.jpg",
"pace": "send",
"seconds": 20.2,
"tracks": [
{
"track_id": 1,
"sku_id": "sku_l09",
"label_box": [
706,
762,
792,
972
],
"label_frame_id": 129,
"result_frame_id": 130,
"inherited": true,
"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": [
700,
762,
786,
971
],
"label_frame_id": 180,
"result_frame_id": 195,
"inherited": false,
"restarts": 7
},
{
"track_id": 5,
"sku_id": "sku_l09",
"label_box": [
358,
755,
451,
970
],
"label_frame_id": 207,
"result_frame_id": 217,
"inherited": true,
"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": 7,
"sku_id": "sku_l10",
"label_box": [
543,
1065,
629,
1248
],
"label_frame_id": 17,
"result_frame_id": 19,
"inherited": true,
"restarts": 0
},
{
"track_id": 8,
"sku_id": "sku_l09",
"label_box": [
260,
754,
353,
971
],
"label_frame_id": 221,
"result_frame_id": 221,
"inherited": true,
"restarts": 0
},
{
"track_id": 9,
"sku_id": "sku_l10",
"label_box": [
449,
1069,
545,
1251
],
"label_frame_id": 78,
"result_frame_id": 87,
"inherited": false,
"restarts": 0
},
{
"track_id": 11,
"sku_id": "sku_l09",
"label_box": [
198,
1060,
290,
1148
],
"label_frame_id": 195,
"result_frame_id": 208,
"inherited": false,
"restarts": 9
},
{
"track_id": 12,
"sku_id": "sku_l10",
"label_box": [
1321,
1065,
1389,
1238
],
"label_frame_id": 96,
"result_frame_id": 100,
"inherited": true,
"restarts": 3
},
{
"track_id": 13,
"sku_id": "sku_l09",
"label_box": [
976,
765,
1068,
973
],
"label_frame_id": 196,
"result_frame_id": 200,
"inherited": true,
"restarts": 1
},
{
"track_id": 14,
"sku_id": "sku_l10",
"label_box": [
1321,
1065,
1389,
1239
],
"label_frame_id": 67,
"result_frame_id": 70,
"inherited": true,
"restarts": 2
},
{
"track_id": 15,
"sku_id": "sku_l09",
"label_box": [
799,
763,
959,
971
],
"label_frame_id": 221,
"result_frame_id": 221,
"inherited": true,
"restarts": 0
},
{
"track_id": 16,
"sku_id": "sku_l10",
"label_box": [
442,
1067,
538,
1251
],
"label_frame_id": 220,
"result_frame_id": 221,
"inherited": true,
"restarts": 1
},
{
"track_id": 17,
"sku_id": "sku_l10",
"label_box": [
876,
1145,
967,
1245
],
"label_frame_id": 220,
"result_frame_id": 221,
"inherited": true,
"restarts": 0
},
{
"track_id": 18,
"sku_id": "sku_l09",
"label_box": [
1138,
763,
1279,
972
],
"label_frame_id": 220,
"result_frame_id": 221,
"inherited": true,
"restarts": 22
},
{
"track_id": 19,
"sku_id": "sku_l09",
"label_box": [
685,
1056,
785,
1142
],
"label_frame_id": 89,
"result_frame_id": 92,
"inherited": true,
"restarts": 2
},
{
"track_id": 21,
"sku_id": "sku_l10",
"label_box": [
681,
1145,
782,
1247
],
"label_frame_id": 221,
"result_frame_id": 221,
"inherited": true,
"restarts": 0
},
{
"track_id": 23,
"sku_id": "sku_l10",
"label_box": [
779,
1145,
862,
1244
],
"label_frame_id": 212,
"result_frame_id": 221,
"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": [
194,
1061,
298,
1260
],
"label_frame_id": 131,
"result_frame_id": 131,
"inherited": true,
"restarts": 9
},
{
"track_id": 35,
"sku_id": "sku_l09",
"label_box": [
1071,
768,
1132,
972
],
"label_frame_id": 215,
"result_frame_id": 218,
"inherited": true,
"restarts": 1
},
{
"track_id": 88,
"sku_id": "sku_l10",
"label_box": [
1321,
1066,
1351,
1244
],
"label_frame_id": 83,
"result_frame_id": 86,
"inherited": true,
"restarts": 5
},
{
"track_id": 114,
"sku_id": "sku_l10",
"label_box": [
1195,
1054,
1275,
1245
],
"label_frame_id": 106,
"result_frame_id": 115,
"inherited": false,
"restarts": 3
},
{
"track_id": 122,
"sku_id": "sku_l06",
"label_box": [
490,
679,
628,
744
],
"label_frame_id": 25,
"result_frame_id": 35,
"inherited": false,
"restarts": 1
},
{
"track_id": 135,
"sku_id": "sku_l09",
"label_box": [
615,
760,
701,
972
],
"label_frame_id": 218,
"result_frame_id": 221,
"inherited": true,
"restarts": 9
},
{
"track_id": 136,
"sku_id": "sku_l03",
"label_box": [
1130,
1053,
1198,
1244
],
"label_frame_id": 47,
"result_frame_id": 57,
"inherited": false,
"restarts": 1
},
{
"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": 163,
"sku_id": "sku_l09",
"label_box": [
144,
757,
192,
970
],
"label_frame_id": 51,
"result_frame_id": 51,
"inherited": true,
"restarts": 0
},
{
"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": 295,
"sku_id": "sku_l09",
"label_box": [
188,
1060,
287,
1146
],
"label_frame_id": 121,
"result_frame_id": 121,
"inherited": true,
"restarts": 3
},
{
"track_id": 331,
"sku_id": "sku_l10",
"label_box": [
307,
1058,
439,
1255
],
"label_frame_id": 208,
"result_frame_id": 218,
"inherited": false,
"restarts": 9
},
{
"track_id": 353,
"sku_id": "sku_l10",
"label_box": [
1320,
1068,
1375,
1240
],
"label_frame_id": 183,
"result_frame_id": 184,
"inherited": true,
"restarts": 7
},
{
"track_id": 363,
"sku_id": "sku_l06",
"label_box": [
488,
676,
626,
741
],
"label_frame_id": 65,
"result_frame_id": 73,
"inherited": false,
"restarts": 1
},
{
"track_id": 378,
"sku_id": "sku_l09",
"label_box": [
514,
758,
603,
971
],
"label_frame_id": 103,
"result_frame_id": 112,
"inherited": false,
"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": 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": [
192,
1061,
298,
1262
],
"label_frame_id": 161,
"result_frame_id": 161,
"inherited": true,
"restarts": 5
},
{
"track_id": 541,
"sku_id": "sku_l10",
"label_box": [
120,
1153,
165,
1269
],
"label_frame_id": 87,
"result_frame_id": 87,
"inherited": true,
"restarts": 0
},
{
"track_id": 590,
"sku_id": "sku_l10",
"label_box": [
1320,
1064,
1389,
1238
],
"label_frame_id": 177,
"result_frame_id": 178,
"inherited": true,
"restarts": 5
},
{
"track_id": 599,
"sku_id": "sku_l06",
"label_box": [
489,
678,
626,
743
],
"label_frame_id": 105,
"result_frame_id": 114,
"inherited": false,
"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": 635,
"sku_id": "sku_l05",
"label_box": [
110,
654,
225,
735
],
"label_frame_id": 110,
"result_frame_id": 124,
"inherited": false,
"restarts": 1
},
{
"track_id": 738,
"sku_id": "sku_l09",
"label_box": [
452,
759,
513,
968
],
"label_frame_id": 128,
"result_frame_id": 130,
"inherited": true,
"restarts": 0
},
{
"track_id": 767,
"sku_id": "sku_l10",
"label_box": [
1053,
1050,
1111,
1246
],
"label_frame_id": 170,
"result_frame_id": 172,
"inherited": true,
"restarts": 4
},
{
"track_id": 776,
"sku_id": "sku_l10",
"label_box": [
549,
1060,
634,
1248
],
"label_frame_id": 161,
"result_frame_id": 173,
"inherited": false,
"restarts": 1
},
{
"track_id": 803,
"sku_id": "sku_l10",
"label_box": [
1321,
1065,
1390,
1236
],
"label_frame_id": 202,
"result_frame_id": 202,
"inherited": true,
"restarts": 6
},
{
"track_id": 808,
"sku_id": "sku_l10",
"label_box": [
194,
1061,
298,
1260
],
"label_frame_id": 137,
"result_frame_id": 139,
"inherited": true,
"restarts": 2
},
{
"track_id": 840,
"sku_id": "sku_l06",
"label_box": [
488,
676,
626,
741
],
"label_frame_id": 141,
"result_frame_id": 151,
"inherited": false,
"restarts": 1
},
{
"track_id": 847,
"sku_id": "sku_l09",
"label_box": [
197,
755,
257,
972
],
"label_frame_id": 154,
"result_frame_id": 154,
"inherited": true,
"restarts": 1
},
{
"track_id": 855,
"sku_id": "sku_l09",
"label_box": [
614,
760,
700,
972
],
"label_frame_id": 215,
"result_frame_id": 217,
"inherited": true,
"restarts": 3
},
{
"track_id": 877,
"sku_id": "sku_l05",
"label_box": [
98,
660,
246,
734
],
"label_frame_id": 150,
"result_frame_id": 161,
"inherited": true,
"restarts": 1
},
{
"track_id": 894,
"sku_id": "sku_l10",
"label_box": [
193,
1062,
300,
1258
],
"label_frame_id": 155,
"result_frame_id": 155,
"inherited": true,
"restarts": 5
},
{
"track_id": 914,
"sku_id": "sku_l10",
"label_box": [
1320,
1064,
1389,
1238
],
"label_frame_id": 215,
"result_frame_id": 218,
"inherited": true,
"restarts": 4
},
{
"track_id": 981,
"sku_id": "sku_l09",
"label_box": [
453,
773,
523,
969
],
"label_frame_id": 157,
"result_frame_id": 169,
"inherited": false,
"restarts": 0
},
{
"track_id": 989,
"sku_id": "sku_l09",
"label_box": [
216,
763,
256,
975
],
"label_frame_id": 171,
"result_frame_id": 172,
"inherited": true,
"restarts": 1
},
{
"track_id": 1017,
"sku_id": "sku_l10",
"label_box": [
543,
1062,
621,
1248
],
"label_frame_id": 185,
"result_frame_id": 200,
"inherited": false,
"restarts": 1
},
{
"track_id": 1068,
"sku_id": "sku_l10",
"label_box": [
1049,
1053,
1108,
1242
],
"label_frame_id": 196,
"result_frame_id": 196,
"inherited": true,
"restarts": 1
},
{
"track_id": 1077,
"sku_id": "sku_l06",
"label_box": [
490,
679,
628,
744
],
"label_frame_id": 177,
"result_frame_id": 189,
"inherited": false,
"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": [
517,
758,
611,
971
],
"label_frame_id": 218,
"result_frame_id": 221,
"inherited": true,
"restarts": 1
},
{
"track_id": 1113,
"sku_id": "sku_l05",
"label_box": [
107,
653,
227,
737
],
"label_frame_id": 187,
"result_frame_id": 202,
"inherited": false,
"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
}
]
}