AIStore 项目进度
PoC v0.1.0 · 已完成 / 整体方案 / 后续计划
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 / track | YOLO11n + ByteTrack(每路独立 tracker) |
| Pose concealment | YOLO pose · 手腕进入 torso/hip 区域 |
| Cross-cam ReID | MobileNetV3 embeddings + gallery(OSNet 为后续升级目标) |
| Checkout | 托盘 ROI 商品跟踪计数 |
| Risk | 未对账 + 藏匿等加权融合 → 告警 JSON / clip |
| UI | FastAPI + 静态 dashboard(唯一入口 :8787) |
3. 后续计划
Q3
门店试点:接入真实多路 CCTV,关闭 narrative_fallback,走纯 CV 链路。
Q4
POS 对账:接入收银数据,完成双路径 AND 终判(VLM + 数量缺口)。
Q1
VLM + SKU:告警可读说明、品类检测、ReID 升级至 OSNet。
- 强化检测与事件:提高 take/concealment 召回与跨镜关联稳定性。
- SKU 商品模型:账本条目对齐真实货架商品。