- SAM + XMEM // 追踪
- 持久身份
- API 优先
MONAD
万物主权
机器人需要理解单个物体,而不仅仅是检测它们。MONAD 通过持久分割和追踪连接检测与操控。点击一次 — SAM 初始化。XMem 传播。跨 30+ 帧的持久对象身份,为抓取、导航和标注工作流提供数据。
模块状态: 运行中追踪持久性
30+
- 部门
- ANIMA
- 波次
- W1
- 领域
- 理解
- 第一波 // ANIMA 套件
- 分割与追踪
MONAD // W1 // 049/079
01核心挑战
物体需要身份,而不仅仅是检测
机器人需要理解单个物体,而不仅仅是检测它们。一个按钮与另一个是不同的。但今天的交互式分割是一次性的:点击,获得掩码,然后呢?如果物体移动了,你得重新开始。
制造、取放和操控需要持久的对象身份。你在任务开始时点击一次,系统应该跟踪该特定物体贯穿场景的其余部分,考虑运动、遮挡和光照变化。MONAD 解决了这个问题。
02解决方案
MONAD 提供什么
MONAD 是产品化的分割与追踪系统,连接检测和操控。它接受点或框提示,返回持久的对象掩码。
能力
- 交互式分割:从点击、框引导或检测器输出初始化
- 持久追踪:同一物体跨 30+ 帧保持稳定 ID
- SAM + XMem 管线:源自 IST-ROS 研究的论文级实现
- 双后端:demo 用于确定性测试,paper(sam_xmem)用于生产
- REST API 端点:/segment、/track/init、/track/step、/track/status、/config、/health
- MLX Apple Silicon(M1–M5,M5 上约 200ms,4 倍 M1)+ CUDA + CPU 支持
- Docker 配置:CPU、GPU、Metal — 生产就绪部署
03工程挑战
为什么这很难
纯分割系统不追踪。纯追踪器不分割。组合它们需要精确的初始化和帧间一致性:
- 01掩码传播随时间漂移 — XMem 本身无法从零初始化,需要 SAM
- 02帧间一致性需要带有界缓冲区的时间记忆管理
- 03多物体需要无碰撞的掩码传播,不能切换 ID
- 04生产推理路径不同于研究 notebook — 需要确定性验证
- 05实时性能要求在 MLX、CUDA 和 CPU 之间进行精细的设备抽象
MONAD 同时提供研究路径(sam_xmem,论文级)和确定性 demo 后端。它打包了模型下载器、健康检查、基线运行器和结构化输出。
04性能基准
真实硬件性能
使用 SAM + XMem 管线测量:
| 指标 | 数值 |
|---|---|
| 追踪持久性 | 30+ 帧连续追踪 |
| SAM 初始化 | ~200ms(M5),~50ms(RTX 4090) |
| XMem 传播 | ~80ms/帧(M5),~15ms/帧(RTX 4090) |
| Apple M5(MLX) | ~200ms 初始化,~80ms/帧(4 倍 M1) |
| RTX 4090(CUDA) | ~50ms 初始化,~15ms/帧 |
| API 端点 | 7 个 REST 端点 |
| Docker 配置 | CPU、GPU、Metal |
05构建状态
已构建的功能
已完成 7/8 个组件
| 组件 | 状态 | 说明 |
|---|---|---|
| 核心模型 | 已完成 | SAM + XMem 管线,生产就绪权重 |
| API 层 | 进行中 | 公共 API,等待数据集基础设施 |
| Demo 后端 | 已完成 | 确定性,本地可测试 |
| Paper 后端(sam_xmem) | 已完成 | 已集成,目标硬件就绪 |
| REST API | 已完成 | /segment、/track/init、/track/step、/track/status |
| 运行注册表 | 已完成 | 叠加视频、掩码、指标 JSON |
| 质量门禁 | 已完成 | ruff、pytest、mypy 通过 |
| Docker 配置 | 已完成 | CPU、GPU、Metal 生产配置 |
06应用场景
MONAD 部署场景
- APP_01
机器人抓取
一键物体初始化,实现稳定的取放追踪。
- APP_02
装配自动化
在装配步骤中追踪单个零件,不发生 ID 切换。
- APP_03
人机协同标注
操作员标记物体一次,系统追踪它们用于标注。
- APP_04
仓储自动化
跨摄像头视图的持久箱体和托盘追踪。
- APP_05
操控研究
测试分割和追踪假设,无需重新实现推理。
- APP_06
导航
通过场景持久理解障碍物。
07技术
底层技术
基础:IST-ROS
- IST-ROS 灵活分割框架(SoftwareX 2025)
- SAM 用于交互式初始化 + XMem 用于视频对象追踪
- 论文级实现与生产推理路径
- 适用于安全关键系统的确定性核心
MONAD 实现
- Python 运行时,支持 MLX(Apple Silicon)和 CUDA
- 双后端:demo(确定性)+ sam_xmem(生产)
- 健康检查和就绪探针
- 带结构化工件输出的运行注册表
集成点
- 向操控规划模块馈送对象掩码
- 为 DAEMON(轨迹观察)提供持久追踪
- 输出分割工件用于下游标注(LOGOS)
08论文
研究基础
- [01]IST-ROS:一种灵活的机器人对象分割与追踪框架 — SoftwareX 2025