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

2257 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
]
],
"source": "add/image6.jpg",
"pace": "send",
"seconds": 20.3,
"tracks": [
{
"track_id": 1,
"sku_id": "sku_l09",
"label_box": [
705,
761,
793,
972
],
"label_frame_id": 127,
"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": [
706,
761,
792,
971
],
"label_frame_id": 223,
"result_frame_id": 223,
"inherited": true,
"restarts": 8
},
{
"track_id": 5,
"sku_id": "sku_l09",
"label_box": [
353,
757,
445,
972
],
"label_frame_id": 211,
"result_frame_id": 222,
"inherited": false,
"restarts": 0
},
{
"track_id": 6,
"sku_id": "sku_l09",
"label_box": [
976,
763,
1068,
973
],
"label_frame_id": 13,
"result_frame_id": 23,
"inherited": false,
"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": [
256,
753,
357,
974
],
"label_frame_id": 209,
"result_frame_id": 220,
"inherited": false,
"restarts": 0
},
{
"track_id": 9,
"sku_id": "sku_l10",
"label_box": [
449,
1069,
545,
1251
],
"label_frame_id": 78,
"result_frame_id": 86,
"inherited": false,
"restarts": 0
},
{
"track_id": 11,
"sku_id": "sku_l09",
"label_box": [
187,
1060,
272,
1148
],
"label_frame_id": 179,
"result_frame_id": 191,
"inherited": false,
"restarts": 9
},
{
"track_id": 12,
"sku_id": "sku_l10",
"label_box": [
1320,
1065,
1389,
1238
],
"label_frame_id": 97,
"result_frame_id": 100,
"inherited": true,
"restarts": 3
},
{
"track_id": 13,
"sku_id": "sku_l09",
"label_box": [
964,
763,
1063,
975
],
"label_frame_id": 212,
"result_frame_id": 222,
"inherited": false,
"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": 223,
"inherited": true,
"restarts": 0
},
{
"track_id": 16,
"sku_id": "sku_l10",
"label_box": [
443,
1068,
539,
1251
],
"label_frame_id": 222,
"result_frame_id": 223,
"inherited": true,
"restarts": 1
},
{
"track_id": 17,
"sku_id": "sku_l10",
"label_box": [
877,
1148,
968,
1244
],
"label_frame_id": 209,
"result_frame_id": 220,
"inherited": false,
"restarts": 0
},
{
"track_id": 18,
"sku_id": "sku_l09",
"label_box": [
1138,
763,
1279,
972
],
"label_frame_id": 220,
"result_frame_id": 223,
"inherited": true,
"restarts": 22
},
{
"track_id": 19,
"sku_id": "sku_l09",
"label_box": [
691,
1056,
792,
1142
],
"label_frame_id": 160,
"result_frame_id": 170,
"inherited": false,
"restarts": 2
},
{
"track_id": 21,
"sku_id": "sku_l10",
"label_box": [
681,
1146,
782,
1247
],
"label_frame_id": 197,
"result_frame_id": 201,
"inherited": true,
"restarts": 0
},
{
"track_id": 23,
"sku_id": "sku_l10",
"label_box": [
788,
1144,
870,
1244
],
"label_frame_id": 220,
"result_frame_id": 223,
"inherited": true,
"restarts": 0
},
{
"track_id": 25,
"sku_id": "sku_l10",
"label_box": [
544,
1066,
630,
1248
],
"label_frame_id": 54,
"result_frame_id": 57,
"inherited": true,
"restarts": 1
},
{
"track_id": 27,
"sku_id": "sku_l10",
"label_box": [
544,
1061,
629,
1248
],
"label_frame_id": 94,
"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": 40,
"inherited": false,
"restarts": 1
},
{
"track_id": 35,
"sku_id": "sku_l09",
"label_box": [
1062,
766,
1123,
971
],
"label_frame_id": 213,
"result_frame_id": 223,
"inherited": false,
"restarts": 1
},
{
"track_id": 88,
"sku_id": "sku_l10",
"label_box": [
1320,
1064,
1387,
1240
],
"label_frame_id": 86,
"result_frame_id": 88,
"inherited": true,
"restarts": 5
},
{
"track_id": 114,
"sku_id": "sku_l10",
"label_box": [
1195,
1053,
1276,
1246
],
"label_frame_id": 109,
"result_frame_id": 117,
"inherited": false,
"restarts": 3
},
{
"track_id": 122,
"sku_id": "sku_l06",
"label_box": [
490,
679,
628,
744
],
"label_frame_id": 25,
"result_frame_id": 36,
"inherited": false,
"restarts": 1
},
{
"track_id": 135,
"sku_id": "sku_l09",
"label_box": [
614,
760,
701,
974
],
"label_frame_id": 222,
"result_frame_id": 223,
"inherited": true,
"restarts": 9
},
{
"track_id": 136,
"sku_id": "sku_l03",
"label_box": [
1130,
1053,
1198,
1244
],
"label_frame_id": 47,
"result_frame_id": 56,
"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": 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_l10",
"label_box": [
542,
1143,
629,
1248
],
"label_frame_id": 219,
"result_frame_id": 220,
"inherited": true,
"restarts": 8
},
{
"track_id": 331,
"sku_id": "sku_l10",
"label_box": [
305,
1057,
438,
1256
],
"label_frame_id": 221,
"result_frame_id": 223,
"inherited": true,
"restarts": 9
},
{
"track_id": 353,
"sku_id": "sku_l02",
"label_box": [
1198,
1058,
1282,
1246
],
"label_frame_id": 151,
"result_frame_id": 157,
"inherited": true,
"restarts": 3
},
{
"track_id": 363,
"sku_id": "sku_l06",
"label_box": [
488,
675,
628,
742
],
"label_frame_id": 68,
"result_frame_id": 77,
"inherited": false,
"restarts": 1
},
{
"track_id": 378,
"sku_id": "sku_l09",
"label_box": [
526,
757,
610,
970
],
"label_frame_id": 90,
"result_frame_id": 106,
"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": 404,
"sku_id": "sku_l09",
"label_box": [
120,
753,
190,
971
],
"label_frame_id": 87,
"result_frame_id": 89,
"inherited": true,
"restarts": 1
},
{
"track_id": 499,
"sku_id": "sku_l09",
"label_box": [
453,
773,
523,
969
],
"label_frame_id": 81,
"result_frame_id": 91,
"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": [
544,
1060,
628,
1249
],
"label_frame_id": 134,
"result_frame_id": 135,
"inherited": true,
"restarts": 1
},
{
"track_id": 590,
"sku_id": "sku_l02",
"label_box": [
1199,
1054,
1279,
1245
],
"label_frame_id": 158,
"result_frame_id": 160,
"inherited": true,
"restarts": 3
},
{
"track_id": 599,
"sku_id": "sku_l06",
"label_box": [
488,
675,
628,
742
],
"label_frame_id": 106,
"result_frame_id": 115,
"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": [
96,
651,
245,
736
],
"label_frame_id": 113,
"result_frame_id": 122,
"inherited": true,
"restarts": 1
},
{
"track_id": 738,
"sku_id": "sku_l09",
"label_box": [
452,
756,
514,
969
],
"label_frame_id": 132,
"result_frame_id": 135,
"inherited": true,
"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": 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": 822,
"sku_id": "sku_l09",
"label_box": [
787,
1055,
882,
1139
],
"label_frame_id": 189,
"result_frame_id": 192,
"inherited": true,
"restarts": 3
},
{
"track_id": 830,
"sku_id": "sku_l10",
"label_box": [
1202,
1054,
1282,
1245
],
"label_frame_id": 208,
"result_frame_id": 217,
"inherited": false,
"restarts": 3
},
{
"track_id": 840,
"sku_id": "sku_l06",
"label_box": [
488,
676,
627,
742
],
"label_frame_id": 142,
"result_frame_id": 150,
"inherited": false,
"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": [
112,
650,
247,
736
],
"label_frame_id": 155,
"result_frame_id": 164,
"inherited": false,
"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": [
1321,
1065,
1389,
1239
],
"label_frame_id": 219,
"result_frame_id": 222,
"inherited": true,
"restarts": 4
},
{
"track_id": 981,
"sku_id": "sku_l09",
"label_box": [
452,
759,
513,
968
],
"label_frame_id": 172,
"result_frame_id": 173,
"inherited": true,
"restarts": 0
},
{
"track_id": 1017,
"sku_id": "sku_l10",
"label_box": [
542,
1143,
629,
1248
],
"label_frame_id": 211,
"result_frame_id": 211,
"inherited": true,
"restarts": 1
},
{
"track_id": 1060,
"sku_id": "sku_l09",
"label_box": [
790,
1055,
881,
1139
],
"label_frame_id": 210,
"result_frame_id": 214,
"inherited": true,
"restarts": 2
},
{
"track_id": 1068,
"sku_id": "sku_l10",
"label_box": [
1117,
1053,
1195,
1244
],
"label_frame_id": 220,
"result_frame_id": 223,
"inherited": true,
"restarts": 2
},
{
"track_id": 1077,
"sku_id": "sku_l06",
"label_box": [
490,
679,
628,
744
],
"label_frame_id": 177,
"result_frame_id": 185,
"inherited": false,
"restarts": 1
},
{
"track_id": 1091,
"sku_id": "sku_l09",
"label_box": [
526,
757,
610,
970
],
"label_frame_id": 204,
"result_frame_id": 213,
"inherited": false,
"restarts": 1
},
{
"track_id": 1092,
"sku_id": "sku_l10",
"label_box": [
1113,
1053,
1196,
1244
],
"label_frame_id": 210,
"result_frame_id": 211,
"inherited": true,
"restarts": 2
},
{
"track_id": 1113,
"sku_id": "sku_l05",
"label_box": [
168,
667,
247,
733
],
"label_frame_id": 205,
"result_frame_id": 205,
"inherited": true,
"restarts": 1
},
{
"track_id": 1210,
"sku_id": "sku_l09",
"label_box": [
454,
763,
514,
969
],
"label_frame_id": 207,
"result_frame_id": 209,
"inherited": true,
"restarts": 0
},
{
"track_id": 1325,
"sku_id": "sku_l09",
"label_box": [
453,
773,
510,
969
],
"label_frame_id": 214,
"result_frame_id": 223,
"inherited": false,
"restarts": 0
}
]
}