
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、VQGANGPT那套路线在图像生成领域已经证明了把图像离散化成视觉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 自回归TransformerRFVAR的整体结构可以类比成一套“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、FlashAttentionVQ解码器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×128RF热图是64×32两者的长宽比都不一样直接输入会导致模型产生空间错乱。建议先将RF特征上采样到和深度图网格一致的patch数量对应的分辨率或者用可学习的线性层把RF特征对齐到token网格的空间位置。第三点迭代生成时如果发现生成的深度图有明显“断层”或“接缝”痕迹大概率是生成顺序上的累积误差。可以试试在每个patch边界加位置编码的微调或者在推理时引入group-cache的采样策略尽量避免早期错误token污染整张图。从实际效果来看这个微调对深度图的视觉连续性帮助很大。第四点如果想在自建数据集上快速验证效果不必一开始就追求海量数据。先用几百个真实场景的配对样本把VQ-VAE和自回归Transformer的整体数据流跑通再逐步扩充数据量。数据流越早理顺后面规模化采集的时候踩坑越少。说到底RFVAR让我觉得有潜力的地方不只是它在RF-to-Depth上的精度提升而是它展示了一种思路——当某个传感器模态信息不足时可以用生成模型来补全语义空间而不是死磕传感器本身的性能上限。雷达做不到光学级的稠密感知那就让模型基于物理先验和空间结构先验去“脑补”如果脑补得足够准这本身就是一种有价值的工程能力。而如果未来RFVAR能把推理延迟再降一个量级它在移动机器人、智能家居、安防巡检这些场景里应该会有一席之地。