1. 为什么要做RF-to-Depth:视觉失效场景下的“第六感”补位
先说一个很现实的场景:摄像头在光照充足、视线无遮挡的条件下,做深度估计、三维重建,效果已经相当能打。但一旦进到烟雾弥漫的消防现场、灯光熄灭的夜间走廊、或者是浴室、卧室这类对隐私极度敏感的空间,光学传感器就集体失灵了。这时候如果还想让设备知道“墙后面两米有人走动”,或者“黑暗中三米处有一把椅子”,摄像头是无能为力的。
RF信号(射频信号)恰恰是为这种场景而生的。毫米波雷达、Wi-Fi信号、UWB等等,天生具备穿透遮挡物、不受光照影响的能力,而且不会采集到人脸、体貌这类可识别隐私信息。用RF信号做深度估计,本质上是给机器装了一副“透视眼”,它看到的世界不是像素,而是反射回来的电磁波能量分布。
过去几年,RF-to-Depth这个方向并不缺研究。传统雷达点云处理、基于手工特征的回归模型都有人做过,但普遍卡在一个问题上:RF信号的空间语义稀疏、噪声大,和图像那种密集、规则、信息冗余的数据结构差异太大,导致模型很难学到稳定、细节丰富的深度映射。而RFVAR这个工作把“视觉自回归模型”(Visual Autoregressive,视觉AR)这套在图像生成领域被验证过的思路,迁移到了RF信号建模上,用自回归的方式逐块预测深度图,效果比端到端的CNN和Transformer直接回归要好不少。
这篇文章我会从几个层面把RFVAR拆开来讲:先说清楚为什么视觉自回归框适合处理RF信号,再拆解它的模型结构和tokenization方案,然后是训练数据和迭代推理的具体细节,最后聊聊我在复现和思考这个工作时遇到的一些实际感受。标题里的核心关键词“RFVAR、视觉自回归、RF-to-Depth”,本质上是三个关键词串起来的一条逻辑链——RF信号作为输入,视觉自回归作为方法,深度估计作为目标。下面逐个展开。
2. 视觉自回归模型凭什么能处理RF信号
2.1 自回归生成不是只能用来画画
2024年前后,自回归视觉模型(如VAR、VQGAN+GPT那套路线)在图像生成领域已经证明了:把图像离散化成视觉token序列,然后像语言模型一样一个token接一个token地预测,是可以稳定生成高质量图像的。底层思路并不神秘——我们把连续信号打碎成离散表征,再对这些离散表征建立联合概率模型,从左到右、从上到下逐块生成。
这套思路迁移到RF-to-Depth,最大的价值不是“生成一张好看的深度图”,而是提供了一种显式的因果依赖建模方式。深度图本身是空间上高度自相关的:墙体的平面、人体的轮廓、地面的连续性,相邻区域的深度值往往平滑过渡。自回归模型天然地把“预测当前区域要看已经预测出的周边区域”写进了归纳偏置里,这和深度图的空间连续性高度契合。
相比之下,传统的CNN回归模型把整张深度图当作一个多输出回归问题,每个像素同时预测,模型虽然能靠卷积感受野隐式地“看到”局部上下文,但对长期空间依赖的建模并不充分。Transformer结构可以建模长距离依赖,但把它当作非自回归的全局回归器使用时,输出空间巨大且约束不足。
2.2 RF信号的空间语义是“局部密集,全局稀疏”
RF信号和图像最关键的区别在于信号表征形式。以毫米波雷达为例,经过FFT和波束成形后,我们可以得到距离-多普勒热图(Range-Doppler Map)、距离-方位热图(Range-Azimuth Map),或者点云数据。但是FMCW雷达的分辨率远低于光学图像,一帧点云可能只有几十到几百个点,而且反射点的分布不均匀——人体、墙角这类强反射体周围点很密集,空旷区域则几乎是空的。如果直接把这些数据丢给图像深度估计网络,模型很难适应这种稀疏、不规则的输入分布。
RFVAR的解法是让模型学习的是“从稀疏RF特征到稠密深度场”的映射,而不是设计一堆手工规则去滤除噪声、插值补洞。自回归模型天然适合这种“从局部证据外推全局结构”的任务——每个深度token的预测,既依赖当前RF位置的特征锚点,也依赖之前已经预测出的邻里深度token,生成过程本身就在做空间插值和语义推理。
2.3 离散token化带来的两个额外好处
把连续深度值离散成token,看起来像是一种信息压缩,会丢失精度,但在实践中反而带来两个明显的好处:
第一,让模型优化目标从“L2/L1回归误差”变成了“交叉熵分类”,训练稳定性和收敛速度都要好很多。回归任务对噪声极端值敏感,一个错误的雷达反射点就可能让Loss爆炸;而交叉熵对这类离群点的反应是温和的、有界的,模型学起来更稳。
第二,离散token空间可以配合采样策略。后期推理时可以用温度采样、top-k采样这些生成模型的手段来控制输出的多样性和置信度,而不是必须输出一个确定的连续值。这在存在多模态深度歧义时很有用——比如两个物体重叠遮挡,单看RF响应无法确定谁在前谁在后,模型可以基于概率采样给出更符合先验的深度布局。
3. RFVAR的模型架构与完整技术方案拆解
3.1 整体框架:RF编码器 + 深度tokenizer + 自回归Transformer
RFVAR的整体结构可以类比成一套“RF信号翻译成深度图”的机器翻译系统。它由三个核心组件构成:
- RF特征编码器:处理原始RF输入(比如距离-方位热图或预处理后的雷达张量),提取跟深度估计相关的空间特征。它输出的不是一张完整的特征图,而是整理成和深度token空间坐标系对齐的token级特征。
- 深度图的tokenizer:由VQ-VAE那套思路演进而来。一个编码器把连续的深度图映射到离散token索引,一个解码器把这些token还原成深度图,中间的码本(codebook)就是离散表征的“字典”。
- 自回归Transformer:核心生成模块。它接收RF特征token作为条件,以自回归方式逐块预测深度token序列。每一步预测都基于RF条件、已生成的深度token序列,以及位置编码信息。
图1是整个模型的数据流:原始深度图先通过VQ-VAE得到离散token序列,这是训练深度的“标准答案”。自回归Transformer的任务就是把这个token序列复现出来——输入是RF特征,每步预测下一个token,计算交叉熵损失。训练完成后,推理时只需输入RF特征,让Transformer从零开始逐token生成深度token序列,再交给VQ-VAE的解码器还原成连续深度图。
3.2 RF特征输入:具体用的是什么形态的数据
论文里采用的RF输入是经过预处理的雷达信号张量。以调频连续波(FMCW)雷达为例,原始ADC数据经过距离FFT、多普勒FFT和到达角估计后,通常可以得到距离-方位角热图,形状类似一个低分辨率的“热力图”,横轴是方位角,纵轴是距离,每个格子代表该方位、该距离上的反射能量。
这个热图的尺寸远比图像小,常见分辨率类似180×60或者256×64,和256×256甚至更高分辨率的深度图相比,信息量明显不足。但这恰恰是RFVAR需要自回归生成架构的原因——输入信息是稀疏模糊的,输出信息却是稠密精确的,这本质上是一个“病态逆问题”,需要极强的先验来约束输出空间。
篇幅有限,我在表1里整理了RFVAR和其他感知方案的输入输出形态差异:
| 方法类型 | 输入模态 | 输出形式 | 核心特点 | 局限性 |
|---|---|---|---|---|
| 传统雷达点云聚类 | 毫米波点云 | 物体级边界框/轨迹 | 简单直接、功耗低 | 密度低、无法输出稠密深度 |
| CNN端到端回归 | 雷达热图/Raw ADC | 稠密深度图 | 结构简单、推理快 | 对空间长程依赖建模弱 |
| Transformer非自回归 | 雷达热图 + 位置编码 | 稠密深度图 | 全局感受野、并行输出 | 输出空间约束弱、频率不够高 |
| RFVAR(本文) | 雷达热图特征 | 离散Token序列→深度图 | 显式逐块依赖建模、生成式推理 | 推理阶段需要逐token迭代,延迟较高 |
3.3 深度tokenizer的量化细节
深度图tokenizer的训练是整套系统的基石。RFVAR沿用视觉自回归那套VQ量化思路,把连续深度值映射成离散索引,用码本存储可学习的深度原型向量。
具体的量化过程可以这样理解:深度图被分成K×K大小的patch(论文默认是16×16像素),VQ-VAE的编码器把每个patch编码成一个特征向量,然后从这个向量在码本里找到距离最近的码字,以这个码字的索引作为该patch的离散token。深度图有多少个patch,就得到多少个token。解码端再根据这些token索引取回码字矩阵,通过解码器还原出深度图。
码本大小是一个关键的trade-off。码本太小(比如256),每个token表达不了足够的深度细节,重建出的深度图会显得“糊”;码本太大(比如16384),训练难度急剧上升,大量码字闲置。据我个人经验,RFVAR这类任务里码本大小取4096到8192之间比较合适,既能保证深度残差和边缘细节的还原度,又不至于让码字利用率太低。实测训练中如果发现大量码字从来没有被激活,可以考虑用指数滑动平均(EMA)更新码字,或者做随机重启,都能明显改善利用率问题。
3.4 自回归Transformer:条件注入与逐块生成
RFVAR的自回归生成器并不是直接用RF token和深度token拼成一条序列去训练,而是采用了融合机制:RF特征经编码器后得到RF token序列,通过交叉注意力注入到Transformer的每一层,作为生成深度token的条件信息。这个设计和多模态大模型里的“文本条件生成图像”很类似,只是这边的条件模态从文本换成RF特征。
生成顺序采用的是栅格序。把深度图分成H×W个patch,生成顺序从左上到右下逐行扫描。每一步Transformer根据已有的所有历史token和RF条件,预测下一个patch的token分布。生成时机上还可以配合KV Cache技术,避免每一步都重新计算前面所有token的注意力权重,从而把推理时间降一个量级。
表2整理了RFVAR推理阶段各个组件的计算特点:
| 组件 | 计算类型 | 瓶颈点 | 优化手段 |
|---|---|---|---|
| RF特征编码器 | CNN | 输入分辨率低,速度尚可 | 可换轻量化骨干(如MobileNet) |
| 自回归Transformer | 自回归注意力 | 序列长度越长越慢 | KV Cache、FlashAttention |
| VQ解码器 | CNN上采样 | 计算量小 | 几乎无瓶颈 |
4. 数据与训练策略:如何让模型学会“跨模态翻译”
4.1 配对数据的获取与对齐
RF-to-Depth任务最大的拦路虎不是模型结构,而是数据。模型要学习RF输入和深度图输出之间的映射,就必须有大量像素级对齐的配对数据——同一时刻、同一场景下,既采集雷达原始信号,又用高精度深度相机(如Kinect、RealSense)采集对应的真实深度图。
这里有两个实操层面的坑尤其值得注意:
第一个坑是时序对齐。雷达的帧率和深度相机的帧率几乎不可能完全相同,直接把两边数据按时间戳硬对齐,会产生几个像素级别的深度跳变。经验做法是雷达帧率设置为深度相机帧率的整数倍(比如雷达20FPS、深度相机10FPS),用深度相机的时间戳去匹配最近的一帧雷达数据。更进一步的做法是用线性插值在时间维度上对雷达特征做同步,效果更好。
第二个坑是空间对齐。毫米波雷达通常安装在场景斜上方或边缘,深度相机则理想地放在正中央,两者视角不重合。需要先做标定,计算雷达坐标系到相机坐标系的刚体变换矩阵,再通过双线性采样把深度图重投影到雷达视角,或者反过来把雷达热图投影到相机视角。这一步如果偷懒,训练出来的模型在真实部署时会面目全非。
4.2 训练阶段的Loss组合
RFVAR的训练采用了“两阶段”的经典路线:
阶段一,单独训练VQ-VAE的深度tokenizer。用重建损失(L2距离)、感知损失(LPIPS,对比深度图的结构差异)和码本损失共同约束。深度图和彩色图有个重要区别,它的梯度主要在边缘和遮挡边界上,平坦区域占比极大,所以感知损失里可以考虑加入深度梯度惩罚项,帮助模型更关注边缘细节。
阶段二,冻结VQ-VAE的参数,训练自回归Transformer。这时的监督信号是每个深度token的索引,Loss直接用预测分布和真实one-hot token之间的交叉熵。论文中在自回归阶段还加入了label smoothing,设置为0.1,效果上能显著减少训练过拟合。
4.3 数据增强的迷思:不能照搬视觉那套
我见过不少朋友直接把图像分类那套数据增强(随机旋转、色彩抖动、水平翻转)用到RF深度估计上,结果反而掉点。原因在于RF信号对物理语义极其敏感——水平翻转后的雷达热图,左右反射点的物理位置就错了,除非训练时同步翻转深度图并做严格的坐标系变换,否则模型会学到错误的空间对应关系。
RFVAR更适用的增强手段是加噪声和遮挡模拟:在雷达热图上随机添加一些高斯噪声块,模拟多径干扰;或者在热图的随机区域置零,模拟雷达某些角度被障碍物遮挡的情况。这更贴近RF信号真实的退化模式。
5. 实验解读:精度之外的几个关键信号
5.1 定量指标上的提升从哪来
RFVAR在公开数据集上的深度估计精度指标(如Abs Rel、RMSE、δ1精确率等)相比基线模型有明显提升。以δ1指标为例,这个指标表示预测深度与真实深度比值在1.25范围内的像素占比,RFVAR通常能比CNN回归基线高出好几个百分点。
这些提升并非偶然,来源可以归结为三块。第一,自回归生成本质上是在做“由已生成区域推测未生成区域”的空间认知过程,在平滑大块区域(地面、墙面)时比并行回归更稳定;第二,离散token的建模方式天然过滤了高频噪声,避免了深度图上常见的椒盐噪声点;第三,自回归的逐块生成带来的隐式空间平滑约束,比后处理滤波更合理。
5.2 定性结果中最有价值的是“边界保真”
相比精度指标的提升,我更看重定性结果里的一个细节:RFVAR生成的人体轮廓和物体边缘,比CNN回归方法要锐利得多。这不是偶然——自回归模型的每一步都基于上一个token做决策,顺序信息里天然包含了“当前已完成区域的边界延续性”,这在处理遮挡边界和深度不连续时尤其有效。
你在预测结果图上会看到这样的现象:地面和墙面交界处有着清晰的深度跳变,人体和背景之间不会糊成一片。这个特性对下游任务非常关键,比如机器人导航、避障路径规划,边界信息直接决定碰撞检测的可靠性。
5.3 泛化能力:跨场景测试的考验
深度估计模型普遍存在一个通病:训练集和测试集如果不是同一批房间,性能会明显下降。RFVAR在这个问题上表现略好于CNN基线,原因是自回归模型对“空间结构先验”的依赖大于对“RF特征纹理”的依赖,所以换到新场景时,虽然RF特征分布变了,但模型仍然可以依赖已学会的深度结构先验进行生成。
不过这并不代表RFVAR已经彻底解决了泛化问题。它在跨传感器(比如训练用A厂商雷达,测试用B厂商雷达)时依然退化严重,这主要是底层RF特征分布的域偏移造成的。缓解手段可以做特征级域适应,或者干脆在训练时加少量目标传感器的数据做微调。
6. 从论文到工程化落地:延迟、算力与实时性挑战
6.1 自回归生成的速度瓶颈
自回归模型最被人诟病的一点是推理速度。RFVAR生成一张深度图,需要按顺序预测所有patch对应的token。即使加上KV Cache,一个16×16的深度token网格也需要256步前向计算。如果Transformer的层数和隐层维度比较大,这个开销是不可忽略的。
实测下来,在单张消费级显卡(类似RTX 3090)上生成一张256×256的深度图,RFVAR大约需要200毫秒到500毫秒的量级。对于实时的机器人避障场景,这个速度显然不够。有两个可行的工程化优化方向:
一个是蒸馏压缩思路,用教师模型(RFVAR)生成大量伪标签深度图,训练一个小型CNN学生模型去模仿输出。学生模型单次前向即可输出完整深度图,速度能提升一个数量级,精度只会损失一小截。
另一个是并行解码优化,在自回归的每一步预测多个token。比如训练时把token序列按照2×2或4×4的块进行分组建模,在保证生成质量的同时把推理步数缩小到原来的四分之一。这块在自然语言生成里已经有成熟的masked parallel decoding思路可以借鉴。
6.2 边缘设备部署的功耗约束
如果目标是装到移动机器人上,还需要考虑部署平台。RF信号前端处理(FFT等)通常由雷达芯片完成,RF特征编码器和自回归Transformer则要跑在SoC上。Transformer对内存带宽要求比较高,边缘端跑起来可能比CNN慢5-10倍。
一个务实的处理方式是阶段化部署:在边缘设备上先跑一个轻量级CNN做粗深度预测,用于快速避障;在检测到复杂场景(比如RF特征熵较高、关键区域存在歧义)时,再把RF特征上传到服务端用RFVAR做精细重建,用于更高级的决策。这种“粗-精结合”的架构,也是当前很多感知系统落地的通用思路。
6.3 极低光照与遮挡条件下的容错设计
RF信号虽然是视觉失效场景的救星,但它并不是无噪声的。多径效应(电磁波在墙面、地板间多次反射后被雷达接收)会产生大量虚假反射点。RFVAR对这类噪声有一定容忍度,但如果在高多径的狭窄空间里,深度图依然可能出现局部空洞或错误深度。
工程上可以叠加一个置信度预测头,让模型对每个深度token输出一个置信分数,低于阈值的位置在后续应用中被标记为“未知”,而不是强行输出一个可能错误的深度值。配合现代SLAM系统里常用的占据栅格地图,这张带置信度的深度图足以支撑可靠的导航决策。
7. 复现与实操中的几个关键经验
这篇文章的技术部分讲到这儿,最后分享几个我在复现和类似项目实操过程中的真实体会,希望能帮读者少走弯路。
第一点,VQ-VAE阶段千万不要缩短训练时间。我见过不少复现者为了省时间,把tokenizer的训练仓促跑完,结果Transformer怎么训都上不去——问题不在Transformer,而在码本本身质量太差。深度图的重建精度是整套系统的天花板,如果tokenizer重建出的深度图已经有明显模糊,那生成器再怎么训练也不可能超越这个上限。我的习惯是盯着验证集上的重建误差曲线,一直训到重建误差不再明显下降,才进入第二阶段。
第二点,RF条件和深度token的坐标对齐一定不能马虎。如果原图深度图是128×128,RF热图是64×32,两者的长宽比都不一样,直接输入会导致模型产生空间错乱。建议先将RF特征上采样到和深度图网格一致的patch数量对应的分辨率,或者用可学习的线性层把RF特征对齐到token网格的空间位置。
第三点,迭代生成时如果发现生成的深度图有明显“断层”或“接缝”痕迹,大概率是生成顺序上的累积误差。可以试试在每个patch边界加位置编码的微调,或者在推理时引入group-cache的采样策略,尽量避免早期错误token污染整张图。从实际效果来看,这个微调对深度图的视觉连续性帮助很大。
第四点,如果想在自建数据集上快速验证效果,不必一开始就追求海量数据。先用几百个真实场景的配对样本,把VQ-VAE和自回归Transformer的整体数据流跑通,再逐步扩充数据量。数据流越早理顺,后面规模化采集的时候踩坑越少。
说到底,RFVAR让我觉得有潜力的地方,不只是它在RF-to-Depth上的精度提升,而是它展示了一种思路——当某个传感器模态信息不足时,可以用生成模型来补全语义空间,而不是死磕传感器本身的性能上限。雷达做不到光学级的稠密感知,那就让模型基于物理先验和空间结构先验去“脑补”,如果脑补得足够准,这本身就是一种有价值的工程能力。而如果未来RFVAR能把推理延迟再降一个量级,它在移动机器人、智能家居、安防巡检这些场景里,应该会有一席之地。