AIStore PoC

1. 当前已完成

端到端本地演示闭环已跑通:多路摄像头 → 行人检测跟踪 → 跨镜 ReID → 拿取/藏匿启发式 → 收银台 ROI 计数 → 商品账本对账 → 风险告警与片段回放。

pipeline FastAPI UI demo scripts narrative_fallback
3拿货
→
2结账
→
1未对账
→
!告警

演示故事:顾客 C#1 拿货 3 件、结账 2 件、未对账 1 件 → 触发风险告警并生成回放片段。

  • 核心流水线(canonical 包 src/aistore/): ingest · YOLO11n + ByteTrack · ReID(当前 MobileNetV3,目标 OSNet)· take/concealment · Checkout ROI · Ledger · RiskAssessor
  • 演示仪表盘:FastAPI + web/index.html (UI 入口 :8787 · 顾客账本 / 风险告警 / 事件时间线 / 示例摄像头)
  • 栈已统一:已移除 legacy Streamlit(src/ui)及并行 src/pipeline|ingest|models|rules|tracking,只保留 src/aistore/
  • 脚本: download_samples.py · run_demo.py · smoke_test.py
  • Demo 故事:顾客 C#1 Taken 3 Concealment Checkout 2 Unreconciled 1 → Alert + clip
说明:当前预计算结果主要依赖 demo_binding.narrative_fallback。 合成样例上 CV 信号偏弱(如 events_total: 0、空 ReID map),叙事回退保证演示故事完整。

2. 整体方案

不是单纯「偷不偷」二分类,而是零售现场的 商品生命周期账本: Taken / Hidden / Checkout / Unreconciled;藏匿仅为可疑证据,告警给人审复核,而非模型直接宣判。

数据流

MultiCamIngest → YOLO + ByteTrack → CrossCam ReID / Take · Conceal / Checkout ROI → LedgerManager → RiskAssessor → FastAPI Dashboard
模块实现
Detect / trackYOLO11n + ByteTrack(每路独立 tracker)
Pose concealmentYOLO pose · 手腕进入 torso/hip 区域
Cross-cam ReIDMobileNetV3 embeddings + gallery(OSNet 为后续升级目标)
Checkout托盘 ROI 商品跟踪计数
Risk未对账 + 藏匿等加权融合 → 告警 JSON / clip
UIFastAPI + 静态 dashboard(唯一入口 :8787)

3. 后续计划

Q3
门店试点:接入真实多路 CCTV,关闭 narrative_fallback,走纯 CV 链路。
Q4
POS 对账:接入收银数据,完成双路径 AND 终判(VLM + 数量缺口)。
Q1
VLM + SKU:告警可读说明、品类检测、ReID 升级至 OSNet。
  1. 强化检测与事件:提高 take/concealment 召回与跨镜关联稳定性。
  2. SKU 商品模型:账本条目对齐真实货架商品。
打开演示:python scripts/run_demo.py --skip-infer --serve → http://127.0.0.1:8787/ · 本页 /status.html