product-recognition-demo/recognization/stock-milk150/stock.csv
kiyo9w 383ff9cf2d feat: two demo shelves, enrolled, plus the price-card filter they forced out
Two real store photographs, chosen for density and for products that look different
from each other, each with its own enrolled store:

  demo-images/demo-image-1-mediya-dairy.jpg   CC0        MEDIYA dairy case
      21 products kept (13 price cards dropped), 16 recognised, all 14 products named
  demo-images/demo-image-2-milk-case.jpg      CC BY 2.0  supermarket milk case
      56 detections, 49 recognised, all 13 products named

Both were enrolled the way a store would be: the products were read off a contact
sheet of the detections, their crops became the store's gallery (stock-mediya,
stock-milk150), and a head was trained on them. `build_store_from_shelf.py` is that
flow.

The filter came out of the first image. Every Japanese supermarket photo has the same
artifact: the detector boxes the shelf-edge price cards as products, because a card is
roughly the shape of a pack - 13 of 34 detections on image 1 were cards. Their text
separates them cleanly: a card's characters are 30-44% digits and it prints the
tax-excluded price (本体), while a product's are 3-19% digits. Cards are now dropped
before classification, and the count is reported as `price_cards_dropped` rather than
hidden.

demo-images/README.md records how to run both, what the demo shows, and the honest
caveat: both shelves are enrolled, so the recognition rate is in-distribution - what
the app does on a shelf it has been onboarded to, not on one it has never seen.

175 tests pass.

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-25 09:34:29 +09:00

978 B

1SKU_IDproduct_namereceipt_dateexpiration_datenumber_innumber_outnumber_onimage_linkprice
2sku_k01明治 おいしい牛乳2026-09-252026-10-15482028''198
3sku_k02ゆうパック 優良牛乳2026-09-252026-10-15482028''130
4sku_k03酪農家限定 低温殺菌牛乳2026-09-252026-10-15482028''248
5sku_k04北海道牛乳2026-09-252026-10-15482028''178
6sku_k05MEGMILK2026-09-252026-10-15482028''158
7sku_k06毎日牛乳2026-09-252026-10-15482028''168
8sku_k07タカナシ 低温殺菌牛乳2026-09-252026-10-15482028''258
9sku_k08タカナシ 殺菌低脂肪牛乳2026-09-252026-10-15482028''198
10sku_k09毎日骨太2026-09-252026-10-15482028''148
11sku_k10カルシウム入り低脂肪乳2026-09-252026-10-15482028''145
12sku_k11無脂肪牛乳2026-09-252026-10-15482028''138
13sku_k12低脂肪牛乳2026-09-252026-10-15482028''120
14sku_k13ミルク2026-09-252026-10-15482028''260