- 90.48% // TOP-1
- VPR // DINOV2
- <50MS 推理
LOCI
机器人的视觉记忆
机器人需要知道自己在哪。LOCI 提供视觉地点识别 — 将相机帧与存储的地点记忆匹配。DINOv2 嵌入,50ms 内推理,90.48% top-1 准确率。闭环检测、重定位、舰队记忆。
模块状态: 运行中Top-1 准确率
90.5%
- 部门
- ANIMA
- 波次
- W5
- 领域
- 感知
- 第五波 // ANIMA 套件
- 视觉地点识别
LOCI // W5 // 041/079
01核心挑战
机器人会迷失位置
移动机器人在变化的环境中导航。里程计会漂移。GPS 在室内失效。不知道"我在哪",建图、规划和协调都会崩溃。传统地点识别依赖手工特征 — 脆弱、缓慢,在视角或光照变化下容易失败。
你需要一个系统:从单张图像识别地点,与不断增长的记忆匹配,并在机器人硬件上实时运行。DINOv2 和现代 VPR 方法实现了这一点 — 但部署需要精细的工程。
02解决方案
LOCI 提供什么
LOCI 构建地点的视觉记忆。每帧相机图像被编码为指纹;系统在记忆网格中搜索匹配。闭环检测、重定位和舰队级地点共享。
流程
- 01帧捕获 — 来自机器人相机的 RGB 图像
- 02DINOv2 嵌入 — 提取地点指纹(768 维向量)
- 03记忆搜索 — 与存储的地点槽比较,最近邻
- 04匹配或存储 — 若匹配 > 阈值则返回地点 ID,否则添加新槽
能力
- 闭环检测检测机器人返回先前访问过的地点→ 纠正里程计漂移,实现一致建图
- 重定位在绑架或传感器丢失后恢复位姿→ 对故障鲁棒,快速恢复
- 舰队记忆多机器人共享地点数据库→ 一个机器人探索,所有机器人识别
03工程挑战
为什么这很难
视觉地点识别需要:
- 01视角不变性:不同角度的同一地点必须匹配
- 02光照鲁棒性:昼夜、阴影、季节变化
- 03实时推理:嵌入式硬件上每帧 <50ms
- 04可扩展记忆:数千地点而不线性搜索爆炸
- 05时间衰减:旧地点淡出以避免过时匹配
LOCI 使用 DINOv2 实现鲁棒嵌入,近似最近邻实现快速搜索,可配置衰减支持长期运行。
04性能基准
真实硬件性能
使用 DINOv2 + VPR 管线测量:
| 指标 | 数值 |
|---|---|
| Top-1 准确率 | 90.48% |
| 推理延迟 | 每帧 <50ms |
| 嵌入维度 | 768(DINOv2) |
| 记忆槽 | 可配置(1K–100K) |
| 搜索方法 | 近似 NN(FAISS/HNSW) |
05构建状态
已构建的功能
已完成 4/6 个组件
| 组件 | 状态 | 说明 |
|---|---|---|
| DINOv2 骨干 | 已完成 | 预训练权重,768 维输出 |
| 地点指纹管线 | 已完成 | 帧 → 嵌入 → 搜索 |
| 记忆网格存储 | 已完成 | 基于槽,可配置容量 |
| 时间衰减 | 已完成 | 可配置旧地点淡出 |
| REST API | 进行中 | /embed、/search、/add_place |
| 舰队同步 | 计划中 | 机器人间共享记忆 |
06应用场景
LOCI 部署场景
- APP_01
SLAM 闭环检测
纠正 LiDAR/视觉 SLAM 管线中的里程计漂移。检测重访地点,触发位姿图优化。
- APP_02
自主导航
传感器丢失或绑架后重定位。快速恢复到已知地图。
- APP_03
多机器人舰队
共享地点记忆 — 一个机器人探索,全部识别。协同建图与规划。
- APP_04
仓储物流
识别通道、码头和地标。路径优化和任务分配。
- APP_05
室内移动机器人
无 GPS — 视觉地点识别是主要定位线索。
- APP_06
研究与基准测试
Nordland、RobotCar 和自定义数据集的 VPR 基线。
07技术
底层技术
基础:DINOV2 + VPR
- DINOv2:自监督视觉 Transformer,768 维嵌入
- 地点识别:嵌入空间中的余弦相似度或 L2 距离
- 近似最近邻:FAISS 或 HNSW 实现可扩展搜索
- 时间衰减:可配置槽老化支持长期运行
API 端点
- POST /embed
- 编码图像 → 768 维指纹
- POST /search
- 查询指纹 → top-K 地点 ID + 分数
- POST /add_place
- 将指纹存入记忆网格
技术栈
- PyTorch
- DINOv2
- FAISS / HNSW
- FastAPI
- Redis(可选缓存)
08论文
研究论文
- [01]DINOv2:无监督学习鲁棒视觉特征 — Oquab 等,ICCV 2023