product-recognition-demo/recognization/stock-all/stock.csv
tngo 0cf64a18bf Coverage-first live labelling, merged catalog, shelf-intelligence decision
The live path abstained too much: a detected product whose best candidate
missed the accept line was left blank, so a shelf where 59% of in-catalog
facings were shown read as broken. Show the best candidate immediately as
`provisional`, keep the track re-classifiable so a later attempt upgrades or
corrects it, and never blank a label already on screen.

- identity.py / identity_lanes.py: every decision now carries
  `provisional_sku` - the row the evidence supports well enough to show,
  separate from `best_sku`, which still means "cleared the gate". The accept
  line does not move: far-unknown false accepts stay at 0.066%.
- live.py: a below-gate candidate labels the track with
  `identity_level: provisional` and `confirmed = False`, so the planner and
  the crop lane keep offering it. Accepted labels stay frozen. Inherited
  provisional labels stay re-classifiable.
- Clients render provisional distinctly (amber chip, dashed box) via
  `LiveScanOverlayPolicy.isProvisional(identity)`, which now reads the wire
  level instead of only the state.
- build_stock_all.py merges stock, stock-lopia, stock-mediya and
  stock-milk150 into stock-all (111 images, 60 SKUs). The server could only
  read one folder, so anything outside it came back blank. stock-demo is
  byte-identical to mediya+milk150 and is not a source.

Measured on add/image6.jpg at live resolution: in-catalog facings shown
59.4% -> 86.0%, correct shown 38 -> 55, precision 97.4% -> 87.3%. On the
wire at 8fps 0.5x: 65 of 79 tracks labelled, 742 accepted + 309 provisional
observations, first label 1.27s.

docs/research/2026-09-29-shelf-intelligence/ carries the experiments and the
decision: group signals (combined AUC 0.991 sibling / 0.990 unrelated),
OCR scheduling (group representatives cut calls 4.4x and wall 3.3x), and the
finding that group propagation damages more labels than it rescues on this
shelf, so groups schedule compute rather than overwrite labels.

331 tests pass.
2026-09-29 13:45:14 +09:00

6 KiB

1SKU_IDproduct_namereceipt_dateexpiration_datenumber_innumber_outnumber_onimage_linkprice
2sku_001明治 おいしい牛乳2026-09-122026-09-251204773'/Users/nguyenhongvan/app/recognization/stock/sku_001.jpeg'258
3sku_002野菜生活100 グリーンサラダ2026-09-112027-03-111304585'/Users/nguyenhongvan/app/recognization/stock/sku_002.jpeg179
4sku_003Tropicana エッセンシャルズ マルチビタミン2026-09-122027-03-121405288'/Users/nguyenhongvan/app/recognization/stock/sku_003.jpg'168
5sku_004伊藤園 1日分の野菜2026-09-092027-03-0920096104'/Users/nguyenhongvan/app/recognization/stock/sku_004.jpeg'198
6sku_005野菜生活100 マンゴーサラダ2026-09-112027-03-111405882'/Users/nguyenhongvan/app/recognization/stock/sku_005.jpeg'179
7sku_007野菜生活100 オリジナル2026-09-102027-03-101808298'/Users/nguyenhongvan/app/recognization/stock/sku_007.jpeg'179
8sku_008明治プロビオヨーグルト R-1 ドリンクタイプ2026-09-142026-09-281204575'/Users/nguyenhongvan/app/recognization/stock/sku_008.png'250
9sku_009野菜生活100 ベリーサラダ2026-09-112027-03-111506387'/Users/nguyenhongvan/app/recognization/stock/sku_009.jpeg'179
10sku_010明治プロビオヨーグルト R-1 ドリンクタイプ 低糖・低カロリー2026-09-142026-09-281003961'/Users/nguyenhongvan/app/recognization/stock/sku_010.jpeg'250
11sku_011野菜生活100 アップルサラダ2026-09-152027-03-151506585'/Users/nguyenhongvan/app/recognization/stock/sku_011.jpeg'179
12sku_012ハッピーターン2026-09-152027-03-1518072108'/Users/nguyenhongvan/app/recognization/stock/sku_012.jpeg'198
13sku_018手塩屋 8枚2026-09-152027-03-151506585'/Users/nguyenhongvan/app/recognization/stock/sku_018.jpeg'168
14sku_016新潟仕込み こだわりのり塩味 24枚2026-09-152027-03-1516058102'/Users/nguyenhongvan/app/recognization/stock/sku_016.jpeg'178
15sku_014おばあちゃんのぽたぽた焼 20枚2026-09-152027-03-151708288'/Users/nguyenhongvan/app/recognization/stock/sku_014.jpeg'188
16sku_013ソフトサラダ 20枚2026-09-152027-03-151405585'/Users/nguyenhongvan/app/recognization/stock/sku_013.jpeg'188
17sku_015ばかうけ 青のりしょうゆ味2026-09-152027-03-151556788'/Users/nguyenhongvan/app/recognization/stock/sku_015.jpeg'168
18sku_020亀田のまがりせんべい 16枚2026-09-152027-03-151456184'/Users/nguyenhongvan/app/recognization/stock/sku_020.jpeg'188
19sku_017味しらべ2026-09-152027-03-151254382'/Users/nguyenhongvan/app/recognization/stock/sku_017.jpeg'188
20sku_019歌舞伎揚2026-09-152027-03-151355481'/Users/nguyenhongvan/rapp/recognization/stock/sku_019.jpeg'218
21sku_021岩塚の黒豆せんべい2026-09-152027-03-151204674'/Users/nguyenhongvan/app/recognization/stock/sku_021.jpeg'198
22sku_022持ちのこ2026-09-152027-03-151204674'/Users/nguyenhongvan/app/recognization/stock/sku_022.jpg'210
23sku_l01キューピー エッグケア 305g2026-09-182026-12-20361224''349
24sku_l02キューピー アマニ油マヨネーズ 200g2026-09-182026-12-2024915''329
25sku_l03キューピー からしマヨネーズ 200g2026-09-182026-12-20301416''219
26sku_l04やまや めんたいマヨネーズタイプ 200g2026-09-182026-11-3018612''399
27sku_l05キューピー ゼロ ノンコレステロール 310g2026-09-202026-12-25241113''269
28sku_l06キューピー フィッテ 210g2026-09-202026-12-2518711''379
29sku_l07丸和油脂 ラッキーマヨネーズ 200g2026-09-202026-12-25241014''199
30sku_l08スパイシーストーム ペリペリミックス 30g2026-09-152027-03-151248''699
31sku_l09ピュアセレクト コクうま カロリーカット65% 360g2026-09-222026-12-28301317''209
32sku_l10ピュアセレクト マヨネーズ 400g2026-09-222026-12-28361521''222
33sku_l11キューピー ハーフマヨネーズ 400g2026-09-192026-12-22482226''269
34sku_l12ユーラス 野菜をおいしく食べる旨たれ 380g2026-09-102027-02-1024816''299
35sku_m01小岩井 低脂肪牛乳2026-09-252026-10-2024816''186
36sku_m02荻山酪農 カフェ・オ・レ2026-09-252026-10-2024816''397
37sku_m03丹那 3.6牛乳2026-09-252026-10-2024816''214
38sku_m04木次 ミルクコーヒー2026-09-252026-10-2024816''195
39sku_m05木次 パスチャライズ牛乳2026-09-252026-10-2024816''240
40sku_m06キスキ ブラウン・スイス牛乳2026-09-252026-10-2024816''254
41sku_m07丹那 飲んでやさしいヨーグルト2026-09-252026-10-2024816''225
42sku_m08農場3.7牛乳 特選2026-09-252026-10-2024816''216
43sku_m09MINOR FIGURES OAT2026-09-252026-10-2024816''300
44sku_m10北海道 低脂肪乳2026-09-252026-10-2024816''214
45sku_m11タカナシ 低温殺菌牛乳2026-09-252026-10-2024816''396
46sku_m12RUDE HEALTH Oat Organic2026-09-252026-10-2024816''400
47sku_m13小岩井 無脂肪牛乳2026-09-252026-10-2024816''178
48sku_m14きすき ノンホモ牛乳2026-09-252026-10-2024816''198
49sku_k01明治 おいしい牛乳2026-09-252026-10-15482028''198
50sku_k02ゆうパック 優良牛乳2026-09-252026-10-15482028''130
51sku_k03酪農家限定 低温殺菌牛乳2026-09-252026-10-15482028''248
52sku_k04北海道牛乳2026-09-252026-10-15482028''178
53sku_k05MEGMILK2026-09-252026-10-15482028''158
54sku_k06毎日牛乳2026-09-252026-10-15482028''168
55sku_k07タカナシ 低温殺菌牛乳2026-09-252026-10-15482028''258
56sku_k08タカナシ 殺菌低脂肪牛乳2026-09-252026-10-15482028''198
57sku_k09毎日骨太2026-09-252026-10-15482028''148
58sku_k10カルシウム入り低脂肪乳2026-09-252026-10-15482028''145
59sku_k11無脂肪牛乳2026-09-252026-10-15482028''138
60sku_k12低脂肪牛乳2026-09-252026-10-15482028''120
61sku_k13ミルク2026-09-252026-10-15482028''260