回 Jason 主站·Embodied AI Reading Station
没主意?快捷入口
RF Perception & Mapping · Plate Nº 85

See Through Smoke: Robust Indoor Mapping with Low-cost mmWave Radar

17 min read · 6108 字 · ⭐⭐⭐ · auto 摘要

TL;DR

机器人在浓烟里也能画出清晰的房间地图——靠一颗几十块的小雷达加一个会"脑补"的神经网络。

具体两招:

  • 训练时让贵的激光雷达(lidar)和便宜的雷达坐同一辆车,把 lidar 的清晰图当作业答案喂给神经网络(cGAN),教雷达学会脑补。学完老师下车,雷达单飞。
  • 认门/墙/玻璃/电梯不靠"反射多强",靠"反射波形长啥样"——每种材料都有自己的波形指纹。

成绩:地图误差 < 0.2 m,材料认对率约 90%;浓烟里 lidar 完全瞎掉时,它依旧能稳稳画出走廊。

所以这一节是想说:用最便宜的雷达 + 一个会"脑补"的神经网络,在 lidar 看不见的地方画出 lidar 级别的地图。

这是个什么场景

想象你家半夜停电,又赶上厨房锅烧糊冒了一屋子烟。你举着手机想拍张照看清到底哪儿着火,结果屏幕里白茫茫一片——光被烟挡住了,相机彻底瞎。这就是消防员每天要面对的场景:一栋着火的写字楼,浓烟伸手不见五指,但他们必须冲进去救人。

理想情况下应该有一台小机器人先冲进去"扫"一遍楼,回传一张地图告诉消防员:走廊在哪、房间在哪、哪扇门能踹开、哪面是玻璃可以砸、哪部电梯还能逃生。这张地图救命。

问题是:现有"画地图"的传感器在这种场景全都瞎了。

  • lidar(激光雷达)/ RGB 相机 / 深度相机:都靠光,遇到烟、尘、暗就失效。论文里有图:才一点轻烟,lidar 就在地图上画出一堆根本不存在的"障碍物"。
  • 超声波 / 麦克风:不怕烟,但要么探测距离太短,要么环境一吵就聋。

毫米波雷达(mmWave radar,波长几毫米的电磁波)频率高到能穿透烟雾粉尘,自动驾驶产业链已经把它做成单芯片几十美元、几克重,正好能塞进小机器人或消防员头盔里。但它原生数据非常糟糕:单帧只有约 100 个点(lidar 的百分之一),最严重时 75% 是"鬼点"(ghost points,信号在墙之间来回弹,弹出一个"假目标")。直接拿这种数据画地图就是一团乱麻。

milliMap 就是在解这个矛盾:用最便宜、最稀疏、最噪的雷达,画出最干净、最稠密、能用来导航的地图。

所以这一节是想说:消防场景需要"穿烟视力",毫米波雷达是唯一选项,但它给的数据太烂得救一救。

See Through Smoke — 场景示意:这论文要解决的现实问题
Plate Nº ISee Through Smoke — 场景示意:这论文要解决的现实问题

之前的人怎么做

按照能否解决"穿烟成图"分成几路:

路线 代表 解决了什么 卡在哪
光学(lidar / 相机 / 深度相机) LOAM、RGB-D mapping 平时画图很准 烟、尘、暗一来全瞎
声学(麦克风、超声波) BatMapper、AIM 不怕光照变化 距离短、怕噪声、怕吸音材料
高端机械雷达 CTS350-X 穿烟、点也密 又重又贵又大,塞不进微型机器人
商用 WiFi 成像 See-Through-Walls 系列 廉价、能穿墙 多用于人体检测,不画环境地图
早期单芯片毫米波 60GHz mobile imaging radar 廉价 必须在物体前来回慢慢扫,不适合搜救
材质识别 RSA、RadarCat 用反射强度认材料 只看峰值;遇到夹层墙、扩散面就翻车

简单说:便宜 + 穿烟 + 一边走一边画稠密图 + 还能识别材料——这四件事之前没人同时做出来过。milliMap 想把这四件事一次解决。

所以这一节是想说:要么贵要么瞎要么慢要么粗,milliMap 之前没有"四不要"的方案。

新想法

作者的核心赌注有三条:

第一,让 lidar 当临时家教,再把家教辞退。雷达数据太稀疏太脏没人能手标,但 lidar 平时在干净环境里输出很稠密。那就让 lidar 和雷达并排坐机器人巡一次楼,自动用 lidar 的图当 ground truth 训一个 cGAN(条件生成对抗网络)。训完部署时,lidar 不上车了,雷达单独工作也能"脑补"出 lidar 级别的图。这个套路叫跨模态监督(cross-modal supervision)。

第二,先画图再去噪,而不是先去噪再画图。一种朴素思路是把每一帧雷达点云都先变成一张干净图再拼,但单帧太稀疏,网络只能学到"画直线"这种过拟合套路。milliMap 反过来:先用经典贝叶斯栅格映射(Bayesian grid mapping)把多帧雷达点累积成一张稀疏但完整的"半成品图",再切成 6×6 米的小块(patch)让网络补全。这样网络看到的不再是孤立点而是"残缺的房子轮廓"。

第三,把多径效应从敌人变成朋友。识别材质时,过去的人只取反射的峰值(peak RSS)——但室内墙是夹心结构、表面粗糙,多径效应混进来一搅,光看峰值分不清玻璃和电梯。作者的反向操作:把峰值后面那一小段反射形状(SOI,segment of interest,6 个点宽 ≈ 16 cm)整段拿出来当指纹,让 1D-CNN 去学。这一段的形状和振幅恰恰由内部夹层、粗糙度、扩散决定,反而是材料的稳定签名。

所以这一节是想说:让 lidar 当一次性老师 + 多帧拼图后再补图 + 把多径噪声当指纹。

方法分步

整套系统就像一支三人厨房:采购员(机器人)去市场拎回一篮歪瓜裂枣(稀疏点云),二厨(栅格映射)把它们粗洗码盘,主厨(cGAN)把残缺食材摆成像样的一盘菜,旁边还有个品酒师(1D-CNN)用尝一口判断这是哪种料。整套系统拆三块:机器人采数 → 栅格图重建 → 语义识别。

步骤 1:硬件平台

像组装一辆带摄像头的扫地机器人,只是把"摄像头"换成雷达,再额外搭一个"老师"在训练时坐副驾。

  • 底盘:TurtleBot 2,标准两轮差速移动机器人。
  • 雷达:TI AWR1443 单芯片,77–81 GHz,4 GHz 带宽,距离分辨率约 4 cm,方位 120°、俯仰 30° 视场,3 发 4 收共 7 根天线,方位角分辨率 15°(很糟)、俯仰 58°(更糟)。
  • lidar:Velodyne VLP-16,只在训练阶段上车,部署时拆掉。
  • 还配了轮式里程计(wheel odometry,靠轮子转了多少圈推算走了多远)和一个 RGB 相机做对照。
  • 搭载 ROS 实现导航。

步骤 2:把雷达点云变成"半成品图"

像把一周拍的零碎照片拼成一张全景图:单张糊得离谱,但拼起来轮廓就出来了。

  • 雷达发的是 FMCW(frequency modulated continuous wave,调频连续波)chirp。说人话:发一个频率从低扫到高的"哨子",听回声里频率差多少就知道反射体多远;不同天线听到回声的时间差转成角度就知道在哪个方向。
  • 单帧点云稀疏(≈100 点)+ 多径鬼点(最高 75%)。
  • 先做硬截断:扔掉超过 6 m 的点,因为远处大多是鬼点。
  • 再用经典贝叶斯栅格映射把机器人沿轨迹采到的多帧点累加进一张全局栅格图。每个 1 dm × 1 dm 的格子有三态:free(空)/ occupied(被占)/ unknown(没看到过)。
  • 训练时把全局图切成 6 × 6 m² 的 patch(图像块,64×64 像素),50% 重叠,做随机旋转/平移增广凑出 12,000 张训练样本。
  • 部署时不全图切,只沿着机器人当前行进方向滚动出新 patch,省时间。

步骤 3:cGAN 把稀疏 patch 补全为稠密图

像一个学过几千张装修平面图的设计师:你给他一张被涂改液糊掉一半的户型图,他能根据"室内一般长啥样"的经验把缺的墙补回来。这个"设计师"就是 cGAN。

等等,先慢一拍 —— cGAN 是什么?GAN(生成对抗网络)就是两个神经网络左右互搏:一个负责造假图,一个负责辨真假,互相逼着对方变强。"c"是 conditional(条件)的意思——多给它一个输入当条件,比如这里输入残缺图,它就只生成"和这张残缺图配套的完整图",而不是凭空乱画。

骨架是 pix2pixHD(一个高分辨率版本的 cGAN):

  • 生成器 G 是 U-Net 编解码器,输入稀疏带噪 patch s,输出稠密干净 patch x̂。

  • 判别器 D 用多尺度(multi-scale)版本,分别在 1×、1/2× 等尺度判别真假,相当于既看大形状也看局部细节。

  • 训练损失是四项加权和:

    L_total = L_cGAN + λ₁ L_FM + λ₂ L_VGG + λ₃ L_MP

    • L_cGAN:标准条件 GAN 损失,让生成图骗过判别器。
    • L_FM(feature matching):让生成图和真图在判别器中间层激活相似,稳训练。
    • L_VGG(perceptual):让生成图在预训练 VGG 网络中间层激活相似,捕捉高层"看起来像不像"。
    • L_MP(map-prior)这是 milliMap 自己的发明:用一个固定权重的卷积核(比如线段检测器,覆盖 0°/45°/90°/135° 四个方向)分别卷生成图和真图,再求 L1 差。人话:因为室内大多是直线墙体,强迫网络生成的边沿也得是直线,把"楼是方的"这条几何先验硬塞进损失。
    • 论文最终设置:λ₁=10、λ₂=10、λ₃=5,K=2 个判别器尺度,Adam 优化器,学习率 2e-3。

步骤 4:语义识别

像中医号脉:不是只摸一下"跳得多重",而是摸一段"跳起来的形状",每个人/每种材料都有不同的波形签名。

  • 找垂直入射姿态:机器人停下来原地转一圈,找到反射最强的那个角度,认为这时雷达正对物体。
  • 取距离 FFT profile(range FFT profile,"距离-强度"曲线,横轴是距离、纵轴是反射强度)。
  • 找 SOI 起点:profile 中"上升梯度最陡"的那个点的前一个 index,作为段起点。
  • 取宽度 6 个点(约 16 cm)的一段当输入。论文实测宽度 4–6 是甜点:太短信息不够,太长把别的物体的反射也卷进来了。
  • 输入一个 1D-CNN:3 层 1D 卷积 + 1 个全连接 + softmax,激活函数 ELU。
  • 输出 4 类:door(门)/ glass(玻璃)/ lift(电梯)/ wall(墙)。
  • 对训练集没见过的物体(如桌椅、洗脸盆),用 softmax 最大概率值做阈值(0.92):低于阈值就标 unknown。这招借鉴 PrinTracker 的 alien-device 检测。

步骤 5:实时拼接

像扫地机一边走一边在 App 里画地图:每走过一格就刷新一格,互不重叠。

  • 每跨过一个 6 m patch 就触发一次稠密化,patch 之间不重叠所以不用合并。
  • 稠密 patch 拼回大图,叠上语义标签,给消防员或机器人导航用。

所以这一节是想说:lidar 当家教训 cGAN 补稠密图、再用 1D-CNN 看一段反射波形识别材料,拼起来就是一张能用的搜救地图。

关键数字

  • 雷达单帧点数:约 100 个点,比 lidar 稀疏 100 倍以上。
  • 多径鬼点比例:最坏情况 75%。
  • 雷达视场:方位 120°、俯仰 30°;方位角分辨率 15°,俯仰 58°。
  • 距离分辨率:约 4 cm。
  • 感知截断半径:6 m。
  • patch 大小:6 × 6 m²,图像 64 × 64 像素,1 dm/pixel。
  • 训练集:12,000 张增广 patch(A 楼 1–3 层)。
  • 测试集:A 楼 4 层 49 patch + B 楼 2 层 12 patch(跨楼层 + 跨建筑)。
  • 语义训练集:27,952 帧;测试集:17,583 帧;共 45,535 帧 4 类物体。
  • 重建 L1 误差(A 楼 / B 楼):1.976 / 2.536 dm,即不到 0.2 m / 0.25 m;IoU:0.402 / 0.247。
  • 比 Pix2PixHD 多了 map-prior loss 后:L1 提升 9.6%,IoU 提升约 5%。
  • 语义分类(A 楼 / B 楼):accuracy 0.92 / 0.80,F1 0.91 / 0.88,比基线 RSA(0.71 / 0.56)高一大截。
  • 出集(unknown)检测:阈值 0.92 时 96% 召回 unknown,2.2% 误判 known。
  • 烟雾测试场地:12 × 1.5 m² 走廊,三种烟浓度。
  • 下游定位(用 amcl / Monte Carlo localization 在 milliMap 重建图上跑):A 楼平移误差 0.285 m,朝向 0.142 rad;B 楼 0.178 m / 0.140 rad。
  • 实时性:地图重建在 RPi 3 上 2.58 s/patch、Jetson TX2 上 0.65 s、迷你笔电 0.33 s;语义识别全部 ms 级。
  • 机器人速度上限:≤ 1 m/s,所以 RPi 3 的 2.58 s 仍然实时(一个 6 m patch 至少要 6 s 才走完)。

所以这一节是想说:跨楼测的 0.2 m 误差 + 90% 材质识别 + 树莓派也跑得动,三件事都搞定了。

应该懂的新词

  • mmWave radar(毫米波雷达):发射波长几毫米的电磁波(30–300 GHz),靠回波估距离、速度、角度。穿烟尘、不怕黑,但分辨率比 lidar 差。
  • FMCW(frequency modulated continuous wave,调频连续波):发一个频率随时间线性扫的连续信号,用回波频率差估距离,比脉冲雷达便宜稳定。
  • chirp:一个 FMCW 周期内频率扫过的那段信号,听起来像鸟叫所以叫 chirp。
  • AoA(angle of arrival):回波到达天线的方向角,靠多天线相位差解出来。
  • point cloud(点云):一堆三维空间里的点,每点带反射强度。lidar 一帧几万点,单芯片毫米波一帧约 100 点。
  • multi-path(多径):信号从发射端到接收端走了不止一条路(直射 + 各种反射),到达时间不一致,叠加后产生伪影。
  • ghost points(鬼点):多径造成的"看起来在墙后面有个东西"的虚假点。
  • occupancy grid map(占据栅格地图):把 2D 平面切成等大格子,每格记录"被占/空/未知",机器人导航最常用的地图格式。
  • Bayesian grid mapping(贝叶斯栅格映射):用概率方式融合多帧观测更新每格状态,本文用 OctoMap 实现。
  • GAN(generative adversarial network,生成对抗网络):两个网络左右互搏——生成器造假、判别器辨真假——逼着生成器越造越像真的。
  • conditional GAN / cGAN:生成器除了噪声还吃一个条件输入(比如稀疏图),生成符合条件的样本。
  • pix2pixHD:图像翻译网络,输入一种图像输出另一种,本文骨架。
  • U-Net:编解码网络,编码器逐步降采样、解码器逐步上采样,跨层 skip 连接保细节。生成器内部用它。
  • multi-scale discriminator(多尺度判别器):多个判别器分别在不同分辨率下判别真假,让生成器既照顾大轮廓又照顾局部纹理。
  • feature matching loss:在判别器中间层比较真图和生成图特征,稳训练。
  • perceptual loss / VGG loss:在预训练 VGG 网络中间层比较激活,衡量"语义相似度"而不只是像素差。
  • map-prior loss:本文新提,用线检测核卷积后比 L1,强行注入"室内多直线"的几何先验。
  • patch(图像块):把大图切成的小方块,神经网络分块处理省内存。
  • range FFT profile:对 IF 信号做 FFT 后得到的"距离 vs 反射强度"曲线,每个峰是一段距离上有反射体。
  • SOI(segment of interest,关注段):在 range profile 上从峰值前一个 index 开始截取的几个点,本文长度 6(约 16 cm)。
  • specular reflection(镜面反射)vs diffuse scattering(漫反射):镜面反射像镜子那样定向反射,漫反射四散。毫米波在光滑墙面以镜面为主,粗糙墙面有可观漫反射。
  • CFAR(constant false alarm rate):雷达里一种自适应阈值检测算法,用来从噪声底里挑反射峰。
  • MUSIC:一种高分辨率方向估计算法,靠协方差矩阵特征分解。
  • amcl(adaptive Monte Carlo localization):ROS 里基于粒子滤波的定位算法。
  • PDR(pedestrian dead reckoning,行人航位推算):靠 IMU 推算行人位置和朝向,便宜但漂移大。
  • out-of-set / alien object(出集物体):训练时没见过的类别。

所以这一节是想说:术语没必要怕,毫米波雷达就是"高频调频回声 + 多天线相位差 + 一段反射形状当指纹"。

搞不定的

作者自己列、加上读完能看出的局限:

  • TurtleBot 2 太娇贵,真去火场会被卡死。需要履带、蛇形或飞行机器人。
  • 烟雾测试只在一个 12 m 的走廊里做,没在真火灾、真粉尘工厂、真灾后倒塌建筑里跑过。
  • 跨建筑语义精度从 0.92 掉到 0.80,建筑差异越大越掉,目前训练集只覆盖 2 栋楼。
  • 单 agent,一个机器人扫一栋楼。多机器人 SLAM 协作还没做。
  • map-prior loss 假设室内是直线/矩形结构,遇到曲面建筑、复杂工业管道大概率失效。
  • 玻璃问题:lidar 看玻璃就乱,所以训练监督信号本身有错;论文承认 A 楼有"鬼区域"(ghost area,把墙判成空地)就是因为 lidar 老师在玻璃前会失明。
  • 语义识别要求机器人停下原地转一圈找垂直角,跑动中不能识别。
  • 雷达距离分辨率 4 cm 但角分辨率 15°,远距离时方位仍然糊;6 m 截断就是这个原因。
  • 网络泛化依赖"室内大体长成同一个样子"的归纳偏置,给个不像办公楼的环境很可能崩。

所以这一节是想说:原型机还很学院派,离真实火场还差几层鲁棒性,玻璃和奇形建筑是已知盲区。

与别篇关系

  • 承接经典 GAN/pix2pix 系列(Goodfellow 2014, Isola 2017, Wang 2018 pix2pixHD):方法直接用了 pix2pixHD,主要贡献是把它从图像翻译用到了"稀疏点云→稠密栅格图"。
  • 承接 cross-modal 自监督(Weston 2018 ICRA):那篇用稠密 lidar 监督机械雷达,本文把套路压到了便宜单芯片毫米波 + 跨建筑泛化。
  • 比 RSA(Zhu 2015 MobiCom)和 RadarCat(Yeo 2016 UIST)走得更远:RSA 只用峰值反射、要在多个位置测;本文一段 SOI 一次测就能识别复杂夹层墙。
  • 比 60GHz mobile imaging radar(Y. Zhu 2015, 2017)实用得多:那系列要在物体前慢慢扫,搜救场景不允许;本文只要随便走一遍。
  • 和 RF Pose / RF-Capture(Adib & Katabi 系列)正交:那些用 WiFi 看人,本文用毫米波看环境。
  • 和 LOAM / OctoMap(Zhang 2014, Hornung 2013)互补:OctoMap 提供 milliMap 的贝叶斯栅格基线,LOAM 是 lidar SLAM 的代表,论文里用作 ground truth 来源。
  • 后续相关(推荐顺路看的方向):see-through-walls 系列、雷达-视觉融合 BEV 感知、室内材质识别(WiMi、TagScan、Liquid)、毫米波 SLAM。

所以这一节是想说:milliMap 站在 cGAN + 跨模态监督 + RF 材质识别这三条路的交叉点上。

阅读顺序

如果你是第一次读这种"无线 + 学习"的论文,建议这样切:

  1. 先读 Abstract + 第 1 节 Introduction 拿到全景。
  2. 跳到 Fig. 1 系统总览图,把"训练时 lidar 在车上、部署时拆掉"这件事看明白。
  3. 第 2.1 节 mmWave 原理,只看式 (1)(距离)和式 (2)(角度),不要纠结 MUSIC / CFAR 等专有词。
  4. 第 2.2 节 GAN/cGAN 基础,知道生成器-判别器互搏、cGAN 多个条件即可。
  5. 第 4.1 节稀疏和多径两个问题,配 Fig. 3、Fig. 4 看实物。
  6. 第 4.2–4.4 节方法,重点抓四项损失里的 map-prior loss(式 3)以及为什么要 patch-after 而不是 scan-before(Tab. 1)。
  7. 第 5 节语义识别,重点是 Fig. 6、Fig. 7:墙的多层结构 + SOI 形状指纹。
  8. 第 6 节实现细节,建立硬件想象。
  9. 第 7 节实验顺序:7.1 整体重建 → 7.2 消融 → 7.3 烟雾 demo(最戏剧性的一节)→ 7.5 下游定位(论证地图能用)→ 7.6 语义 → 7.7 实时性。
  10. 最后扫第 8 节相关工作和第 9 节局限。

跳过策略:如果只想了解"思想",读 1+2+5+9 节即可;要复现请认真啃 4+6+7。

所以这一节是想说:先看故事再看公式,最戏剧的烟雾实验留在中段做奖励。

FAQ

Q1:为什么不直接拿好雷达?比如机械雷达 CTS350-X,点也密

机械雷达又重又贵又大(论文 Fig. 4 直接对比),消防员头盔扛不动、微型机器人载不动。milliMap 整套硬件成本比它便宜大约一个数量级,且单芯片巴掌大小。

Q2:训练时要 lidar 当老师,那你们要先用 lidar 把每栋楼扫一遍才能用吗?这不还是要 lidar?

只要训练一次。论文的关键发现是:A 楼训练的模型直接用在没见过的 B 楼依然能跑,说明它学到的不是"这栋楼长什么样"而是"室内空间一般长什么样"。所以现实里只需要一次性的训练采集,部署后纯雷达。

Q3:为啥 patch 不能重叠(部署时)?

省时间和避免融合冲突。训练时为了样本多用 50% 重叠,部署时机器人沿轨迹滚动,每跨进一个新 6×6 m² patch 才推一次稠密化,互不干涉。一边走一边出图。

Q4:map-prior loss 用线检测核而不是边缘检测,差别多大?

论文实测:换成边缘检测后效果不如线检测(Tab. 3)。原因是 lidar 监督本身有噪点(玻璃处会出错),边缘检测对这种细噪敏感;而线检测看的是低频结构、对噪声鲁棒。外加这种线检测正好编码了"建筑物大多是直墙"的领域先验

Q5:6 个点的 SOI 是怎么定的?

实测扫了宽度 1 到 9(Fig. 14),4–6 之间最稳。短了信息不足,长了把后面无关物体的反射也卷进来。在跨楼测试里过短惩罚比过长更狠,因为短了无法过滤新建筑里更复杂的二次反射。

Q6:lidar 被玻璃骗了,训练集里就有错标,怎么办?

作者承认这是 ghost area 的根源,目前没解。但语义模块可以独立指出"这块是玻璃",相当于给 lidar 老师纠错的空间,这条线索可以做后续工作(比如让语义结果反过来修正训练标签)。

Q7:手持设备能用吗?

实验 7.4 直接用机器人训出来的模型放手持设备(用 PDR 行人航位推算代替轮式里程计),误差增大到 0.83 m,但仍能给消防员一个明显比原始点云更可读的图。说明"训练姿态"和"部署姿态"差距能容忍到一定程度。

Q8:跑得动吗?

在树莓派 3 上一个 6×6 m² patch 推 2.58 秒,机器人 1 m/s 速度跨这个 patch 需要至少 6 秒,所以"完全实时"。Jetson TX2 上 0.65 s 更宽裕。语义识别一律 ms 级,可忽略。

Q9:这是 SenSys 还是 MobiSys 论文?

paper PDF 内署 MobiSys '20,roster 里写 SenSys(投稿/版本不一致是常见的)。本笔记按 roster 元数据填写。

Q10:为啥部署时还要 lidar 输出做参考?

不要。lidar 仅训练阶段在场,提供监督信号;部署阶段下车,机器人只剩雷达 + 里程计 + 算力。这正是这篇论文最经济的地方。

所以这一节是想说:模型一次训完反复用、稀疏鬼点都能被网络兜住、树莓派也跑得动。

延伸阅读

  • pix2pixHD(Wang et al. 2018, CVPR):本文的生成器-判别器骨架,看完会理解 multi-scale discriminator 和 feature matching loss 的来源。
  • pix2pix(Isola et al. 2017, CVPR):cGAN 做图像翻译的开山,先看这篇再看 HD。
  • Probably Unknown: Deep Inverse Sensor Modelling in Radar(Weston et al. 2018, ICRA):cross-modal supervision 用机械雷达 + lidar 的前作,对照看会发现 milliMap 主要把硬件压到几十美元、把测试范围拉到跨建筑。
  • RSA(Zhu et al. 2015, MobiCom):60 GHz 反射强度做材料识别的代表;本文 RSA 在 Tab. 4 里就是基线。
  • RadarCat(Yeo et al. 2016, UIST):另一个材料识别经典,但要接触式。
  • BatMapper(Zhou et al. 2017, MobiSys):声学建图代表,对照能看出"声音 vs 雷达"在搜救场景的取舍。
  • See Through Walls with WiFi! / RF-Pose(Adib & Katabi 系列):RF 看人体的代表线,理解"无线信号 + 学习"如何换不同任务。
  • LOAM(Zhang & Singh 2014, RSS):lidar SLAM 的经典基准,理解 ground truth 来源。
  • OctoMap(Hornung et al. 2013):贝叶斯栅格映射的工程实现,论文用它做雷达 patch 累积。
  • TI AWR1443 datasheet:想动手复现这块板子是入口。
  • 本作者后续:Chris Xiaoxuan Lu 在 mmWave 室内感知方向有一系列后续,可顺藤摸瓜。

所以这一节是想说:先 pix2pixHD 把骨架打通,再读 RSA 看为什么单点不够,再回看 milliMap 就一目了然。

引用本笔记 / Cite this note
BibTeX
@online{eai_millimap_2026,
  title       = {(readable note) See Through Smoke: Robust Indoor Mapping with Low-cost mmWave Radar},
  author      = {Zhou, Jason},
  year        = {2026},
  note        = {Note on a 2020 paper},
  howpublished = {\url{https://estelledc.github.io/embodied-ai-reading-station/papers/millimap/}},
  organization = {Embodied AI Reading Station}
}

All 156 papers (full index)
  1. 1. LLaVA: Visual Instruction Tuning
  2. 2. 3DShape2VecSet: 3D Shape Representation for Diffusion Models
  3. 3. SayCan: Do As I Can, Not As I Say
  4. 4. OpenVLA: An Open-Source Vision-Language-Action Model
  5. 5. VLAS: VLA Model With Speech Instructions
  6. 6. MLA: Multisensory Language-Action Model
  7. 7. Cosmos Policy: Fine-Tuning Video Models for Visuomotor Control
  8. 8. CartoRadar: RF-Based 3D SLAM Rivaling Vision Approaches
  9. 9. mmCLIP: Boosting mmWave-based Zero-shot HAR via Signal-Text Alignment
  10. 10. mmNorm: Non-Line-of-Sight 3D Object Reconstruction via mmWave Surface Normal Estimation
  11. 11. Proactive Hearing Assistants that Isolate Egocentric Conversations
  12. 12. NeuralAids: Wireless Hearables With Programmable Speech AI Accelerators
  13. 13. Creating speech zones with self-distributing acoustic swarms
  14. 14. Conv-TasNet: Surpassing Ideal Time-Frequency Magnitude Masking for Speech Separation
  15. 15. SoundStream: An End-to-End Neural Audio Codec
  16. 16. AudioLM
  17. 17. Conformer
  18. 18. Dual-path RNN
  19. 19. EnCodec
  20. 20. Meta-StyleSpeech
  21. 21. MusicLM
  22. 22. Robust Speech Recognition via Large-Scale Weak Supervision
  23. 23. SeamlessM4T
  24. 24. Stable Audio
  25. 25. Universal Source Separation with Weakly Labelled Data
  26. 26. Meta-World: A Benchmark and Evaluation for Multi-Task and Meta Reinforcement Learning
  27. 27. RLBench: The Robot Learning Benchmark & Learning Environment
  28. 28. robosuite: A Modular Simulation Framework and Benchmark for Robot Learning
  29. 29. BridgeData V2
  30. 30. CALVIN
  31. 31. LIBERO
  32. 32. RH20T
  33. 33. What Matters in Learning from Offline Human Demonstrations for Robot Manipulation
  34. 34. DROID
  35. 35. Open X-Embodiment
  36. 36. RoboCasa
  37. 37. SimplerEnv
  38. 38. Diffusion Policy: Visuomotor Policy Learning via Action Diffusion
  39. 39. 3D Diffusion Policy: Generalizable Visuomotor Policy Learning via Simple 3D Representations
  40. 40. Consistency Policy: Accelerated Visuomotor Policies via Consistency Distillation
  41. 41. EquiBot: SIM(3)-Equivariant Diffusion Policy
  42. 42. DiT-Policy
  43. 43. Diffusion Policy Policy Optimization (DPPO)
  44. 44. Affordance-based Robot Manipulation with Flow Matching
  45. 45. FlowPolicy: 3D Flow-based Policy via Consistency Flow Matching
  46. 46. FAST: Efficient Action Tokenization for VLA
  47. 47. pi_0: Vision-Language-Action Flow Model
  48. 48. pi_0.5: VLA with Open-World Generalization
  49. 49. A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning
  50. 50. Generative Adversarial Imitation Learning
  51. 51. Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware (ACT/ALOHA)
  52. 52. AnyTeleop
  53. 53. Behavior Transformers: Cloning k Modes with One Stone
  54. 54. Implicit Behavioral Cloning
  55. 55. RoboCat
  56. 56. ALOHA 2
  57. 57. DexCap
  58. 58. HumanPlus
  59. 59. Generalizable Humanoid Manipulation with 3D Diffusion Policies (iDP3)
  60. 60. Mobile ALOHA
  61. 61. SmolVLA
  62. 62. Universal Manipulation Interface
  63. 63. Behavior Generation with Latent Actions (VQ-BeT)
  64. 64. ImageBind: One Embedding Space To Bind Them All
  65. 65. Connecting Touch and Vision via Cross-Modal Prediction
  66. 66. AnyMAL: An Efficient and Scalable Any-Modality Augmented Language Model
  67. 67. AudioPaLM
  68. 68. FROMAGe: Grounding LLMs to Images
  69. 69. OneLLM
  70. 70. X-VLM: Multi-Grained Vision Language Pre-Training
  71. 71. Tactile Beyond Pixels (Sparsh-X)
  72. 72. Sparsh: Self-supervised Touch Representations
  73. 73. Tactile-VLA
  74. 74. TLA: Tactile-Language-Action
  75. 75. Code as Policies: Language Model Programs for Embodied Control
  76. 76. Inner Monologue: Embodied Reasoning through Planning with Language Models
  77. 77. LLM+P: Empowering LLMs with Optimal Planning
  78. 78. PaLM-E: An Embodied Multimodal Language Model
  79. 79. ProgPrompt
  80. 80. ChatGPT for Robotics
  81. 81. GenSim
  82. 82. RoboFlamingo
  83. 83. Tree-Planner
  84. 84. VoxPoser
  85. 85. See Through Smoke: Robust Indoor Mapping with Low-cost mmWave Radar
  86. 86. Can WiFi Estimate Person Pose?
  87. 87. 3DRIMR: 3D Reconstruction and Imaging via mmWave Radar based on Deep Learning
  88. 88. milliEgo: Single-chip mmWave Radar Aided Egomotion Estimation via Deep Sensor Fusion
  89. 89. High Resolution Point Clouds from mmWave Radar
  90. 90. RadarSLAM: Radar based Large-Scale SLAM in All Weathers
  91. 91. Through-Wall Pose Imaging in Real-Time with a Many-to-Many Encoder/Decoder Paradigm
  92. 92. RFMask: A Simple Baseline for Human Silhouette Segmentation with Radio Signals
  93. 93. RFPose-OT: RF-Based 3D Human Pose Estimation via Optimal Transport Theory
  94. 94. Argus: Multi-View Egocentric Human Mesh Reconstruction Based on Stripped-Down Wearable mmWave Add-on
  95. 95. Diffusion Model is a Good Pose Estimator from 3D RF-Vision
  96. 96. Enabling Visual Recognition at Radio Frequency (PanoRadar)
  97. 97. Wave-Former: Through-Occlusion 3D Reconstruction via Wireless Shape Completion
  98. 98. Habitat: A Platform for Embodied AI Research
  99. 99. Isaac Gym: High Performance GPU-Based Physics Simulation For Robot Learning
  100. 100. DexMV
  101. 101. Habitat 2.0
  102. 102. ManiSkill
  103. 103. ProcTHOR
  104. 104. SAPIEN: A SimulAted Part-based Interactive ENvironment
  105. 105. BEHAVIOR-1K
  106. 106. Habitat 3.0
  107. 107. Isaac Lab
  108. 108. MuJoCo Playground
  109. 109. RT-1: Robotics Transformer for Real-World Control at Scale
  110. 110. 3D Diffusion Policy (DP3)
  111. 111. Octo: An Open-Source Generalist Robot Policy
  112. 112. RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control
  113. 113. RT-Trajectory: Robotic Task Generalization via Hindsight Trajectory Sketches
  114. 114. 3D-VLA
  115. 115. DexVLA
  116. 116. GR-2: Generative Video-Language-Action Model
  117. 117. OpenHelix
  118. 118. OpenVLA-OFT
  119. 119. RDT-1B: Diffusion Foundation Model for Bimanual Manipulation
  120. 120. RoboMamba
  121. 121. SpatialVLA
  122. 122. TinyVLA
  123. 123. TraceVLA: Visual Trace Prompting
  124. 124. Learning Transferable Visual Models From Natural Language Supervision
  125. 125. Flamingo: a Visual Language Model for Few-Shot Learning
  126. 126. BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models
  127. 127. BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
  128. 128. DeepSeek-VL: Towards Real-World Vision-Language Understanding
  129. 129. EVA-CLIP: Improved Training Techniques for CLIP at Scale
  130. 130. FILIP: Fine-grained Interactive Language-Image Pre-Training
  131. 131. Florence-2: Advancing a Unified Representation for a Variety of Vision Tasks
  132. 132. InternVL: Scaling up Vision Foundation Models and Aligning for Generic Visual-Linguistic Tasks
  133. 133. Improved Baselines with Visual Instruction Tuning
  134. 134. OBELICS
  135. 135. Qwen-VL: A Versatile Vision-Language Model for Understanding, Localization, Text Reading, and Beyond
  136. 136. Sigmoid Loss for Language Image Pre-Training
  137. 137. What matters when building vision-language models?
  138. 138. Expanding Performance Boundaries of Open-Source Multimodal Models with Model, Data, and Test-Time Scaling
  139. 139. The Llama 3 Herd of Models
  140. 140. LLaVA-NeXT-Interleave
  141. 141. LLaVA-OneVision: Easy Visual Task Transfer
  142. 142. Long-CLIP: Unlocking the Long-Text Capability of CLIP
  143. 143. Pixtral 12B
  144. 144. Dream to Control: Learning Behaviors by Latent Imagination
  145. 145. World Models
  146. 146. DayDreamer
  147. 147. Mastering Atari with Discrete World Models
  148. 148. Dreamer V3: Mastering Diverse Domains through World Models
  149. 149. Transformers are Sample-Efficient World Models
  150. 150. TWM: Transformer-based World Models
  151. 151. 1X World Model Challenge
  152. 152. Cosmos World Foundation Model Platform
  153. 153. GAIA-1
  154. 154. Genie: Generative Interactive Environments
  155. 155. Navigation World Models
  156. 156. UniSim