老周是城市交通指挥中心的值班员,他的任务很单纯:随时说清楚路口附近有哪些车、每辆车在哪个位置、开得多快。他手上有三套性格迥异的监控设备:高清摄像头看得清颜色和车型,却分不清远近;楼顶的激光扫描仪(LiDAR)能把每个物体的三维位置测到厘米级,却价格昂贵、点云稀疏;路边的微波雷达不怕雨雾、天生会测速,可惜分辨率低到只能看见一团团模糊回波。面对一块俯视全场的电子大屏,老周必须把三套设备的报告折算成同一张“鸟瞰地图”,才能一眼看清全局。BEVFusion 正是这样一套系统:它把相机、LiDAR、雷达的信号统一换算到鸟瞰图(BEV)空间,再做特征融合,最终输出可靠的 3D 目标检测结果;BEVFusion++ 则沿着这条路,加入了雷达补盲、注意力交互等升级。本文就用老周的指挥大屏作比喻,带你从头读懂这套多模态融合感知的技术全貌。
多模态感知是自动驾驶与机器人系统的核心骨干。搞懂 BEVFusion 的融合范式,你就掌握了 3D 感知领域最主流的工程思路,也看懂了绝大多数量产车感知方案的底层逻辑。
可视化演示
演示BEVFusion架构:相机/LiDAR/雷达多模态BEV特征转换与对齐、融合策略与特征交互、模态互补效应与3D检测性能分析。
本节配有交互动效(进入视口后自动加载,约 3KB)。
BEVFusion多模态融合架构 相机分支:2D图像特征通过视角转换映射到BEV空间 LiDAR分支:3D点云直接编码为BEV特征 雷达分支:距离-速度特征投影至BEV平面 BEV_fused = Fuse(BEV_cam, BEV_lidar, BEV_radar) BEVFusion将多模态感知统一到BEV空间融合
单模态感知之困
老周面前的三块屏幕,就像三种性格的同事。摄像头像一位“眼力好但没尺子”的观察员,能认出车型、看清颜色,却报不准距离;LiDAR 像一位“拿着激光测距仪的测量员”,数据极准,可价格高昂、扫描稀疏;雷达则像一位“听力极好的老兵”,雨夜也不掉线,但只能听出“那边有东西”,说不清细节。任何一个人单独值班,老周都答不全领导的问题。
自动驾驶行业同样面临这个困境。单靠摄像头,3D 定位误差大;单靠激光雷达,远场稀疏还怕雨雪;单靠雷达,轮廓模糊。因此主流方案都把三类传感器装上车,用多模态融合补齐短板。而要进行融合,先要定义“感知目标”长什么样。在 3D 检测任务中,一个目标用三维框表示——中心坐标、长宽高、朝向角共 7 个量,网络最后输出的正是这 7 个数字。
老周要写的值班日志,正是这样一栏栏:位置、尺寸、朝向。三路信息最终都要换算成这 7 个数字,才能画上大屏。
- 中心坐标 $(x_c, y_c, z_c)$框中心在自车坐标系下的三维位置,是融合感知最核心的输出。
- 尺寸 $(l, w, h)$目标的长、宽、高,描述物体占据的空间大小。
- 朝向角 $\theta$车头方向相对自车 x 轴的偏航角,决定目标往哪个方向开。
- 回归输出检测头对这 7 个量做回归,并配合分类头给出目标类别。
BEV空间转换
老周最终要把一切画到俯视大屏上。可摄像头站在路面高度,画面天生带着透视变形——一辆车明明离得远,在画面里却小得可怜。要把它画到俯视图上,老周得先问:这辆车到底离摄像头多远?这个“多远”,在 BEVFusion 里由网络自己估计:对每个像素预测一个深度值,再由相机内参把 2D 像素“抬升”到 3D 空间,最后落到 BEV 网格上,这个过程叫 LSS(Lift-Splat-Shoot)风格的特征提升。LiDAR 和雷达本来就是 3D 测量,只需把 X、Y 落到网格即可,相当于拿着现成坐标直接填表。
单目相机从像素恢复 3D 坐标,核心是针孔相机模型的逆运算。设像素坐标为 $(u, v)$,深度为 $D$,内参焦距为 $f_x, f_y$,光心为 $(c_x, c_y)$,则 3D 坐标可以恢复为:
就像透视的画作被“拉升”成俯视的作战地图,镜头画面一旦配上深度,就能摊平到大屏上。而点云和雷达回波本来就是三维坐标,直接“填表”即可,这是 BEV 空间最迷人的地方——所有模态在这里终于说同一种语言。
- 深度估计网络为每个像素预测深度 $D$,这是单目图像从 2D 走向 3D 的钥匙。
- 像素归一化用光心与焦距把像素坐标转成相对光心的归一化坐标。
- 乘深度恢复坐标归一化坐标乘以深度,得到该像素对应的 3D 空间坐标。
- 落格把 X、Y 按网格边长离散化,写进 BEV 网格的对应格子里。
模态对齐机制
三套设备报来的坐标,各说各话。摄像头说“目标在我画面中央偏左”,LiDAR 说“东北 12 米”,雷达说“15 米处速度 8m/s”。老周要叠图,第一件事是统一坐标系——就像三份地图必须换成同一投影、同一比例尺。空间对齐靠传感器外参:每个传感器都有一个相对自车坐标系的刚体变换(旋转矩阵 $R$ + 平移向量 $t$)。经过变换,所有点都能换算到统一的自车/BEV 坐标系。
除了空间,时间也要对齐。摄像头 30 帧、雷达 20 帧,老周得把慢的那路信号“预测”到同一时刻,否则高速场景下就会画出“重影”。此外还有特征分辨率对齐:相机 BEV 网格较粗、LiDAR 网格较细,融合前要重采样到同一尺度,好比把两张比例尺不同的地图缩放到完全吻合。
- 传感器局部坐标每个点先用自己的坐标系表达位置。
- 旋转对齐乘旋转矩阵 $R$,把传感器坐标轴转到自车坐标轴方向。
- 平移对齐加上平移向量 $\mathbf{t}$,把原点搬到自车中心。
- 时间同步帧率不同的传感器,用插值或运动补偿对齐到同一时刻。
融合策略设计
信息齐了,怎么合?老周有三种选择:让每台设备各自分析完再投票(后期融合),把原始信号堆一起再分析(早期融合),或者先把三路整理成同一张草稿地图,再在地图层上合并(特征级融合)。老周的经验是第三种最稳。BEVFusion 的核心主张正是如此:先在每个模态内部完成 BEV 特征转换,再在统一的 BEV 特征图上做融合。这样既保留了底层几何与纹理信息,又避免了原始数据异构带来的对齐困难。
最简单的特征级融合是逐元素加权。对第 $i$ 个网格位置,可学习权重 $w^i$ 经过 sigmoid 门控后,决定相机与 LiDAR 特征各取多少比例:
实践中也常用通道拼接加 $1\times1$ 卷积:$F_{fused} = \text{Conv}_{1\times1}([F_{cam}^{BEV}; F_{lidar}^{BEV}])$。就像老周让三路信息都先画到同一张草稿纸上,再让系统学习:晴天多信摄像头,雨夜多信雷达。
- 门控权重sigmoid 把可学习标量 $w^i$ 压到 (0,1) 区间,表示该格点对相机分支的信任度。
- 相机加权相机 BEV 特征乘以它的信任度。
- LiDAR 加权LiDAR 特征乘以互补的信任度 $1 - \sigma(w^i)$。
- 逐元素求和两路加权结果相加,得到该网格的融合特征。
BEVFusion++改进
BEVFusion 初版好用,但老周发现了三个槽点:摄像头深度在远处爱飘;雨雪天 LiDAR 半瞎;两路信号打架时不知道怎么取舍。BEVFusion++ 的升级思路,像是给指挥中心加了“雷达补盲”、装了“组长协调”、改了“工作流”。改进集中在四方面:一是引入雷达通道,在雨雾场景补盲;二是用跨模态注意力让 LiDAR 特征主动去“查阅”相机特征;三是多尺度特征金字塔,兼顾近处细节与远处大目标;四是用稀疏卷积等技巧提升效率。
跨模态注意力是其中最关键的一环。LiDAR 分支特征生成查询(Query),相机分支特征生成键(Key)和值(Value),LiDAR 特征据此“咨询”相机语义信息:
“组长协调”就这样落地:几何精确但语义弱的 LiDAR,主动向语义丰富的相机“请教”;雷达则在雨雾中兜底补盲。多尺度特征与稀疏卷积则是“改工作流”,让系统在算力受限时依然跑得动。
- 生成查询LiDAR 分支特征通过投影矩阵产生查询 $Q$。
- 生成键值相机分支特征产生键 $K$ 和值 $V$。
- 缩放点积注意力$Q$ 与 $K$ 求相似度并除以 $\sqrt{d_k}$,防止维度增大时梯度消失。
- 残差连接注意力结果加回原 LiDAR 特征,保留原始几何信息。
性能优势分析
升级完,老周做了个盲测:同一路口,把三路信号分别关掉再打开。结果发现,融合地图几乎从不“掉线”——夜里相机看不清,还有雷达;雨里 LiDAR 稀疏了,还有相机和雷达。在 nuScenes 等自动驾驶数据集上,BEVFusion 相对单模态取得明显领先,3D 检测的评估标准正是三维交并比和平均精度 mAP。
互补增益很清晰:相机提升小目标识别与语义分类,LiDAR 提升几何定位精度,雷达提升速度估计与雨雾鲁棒性。消融实验则像老周做“关一路试试”的对照测试,逐项验证每个组件对最终指标的贡献——三路都在,才是完整的大屏。
- 预测框体检测头输出一个带体积的 3D 框。
- 求交集体积两个框重叠部分的体积越大,说明越吻合。
- 求并集体积两个框总共覆盖的体积,等于两者体积之和减去交集体积。
- 汇总为 mAPIoU 超阈值视为正确检测,按置信度排序积分得到 AP,跨类别平均得 mAP。
工程落地挑战
光有漂亮的地图还不够。领导规定,从信号到达大屏到画面更新,全场不得超过一次眨眼的时间。老周必须掐着秒表优化每一环。多模态融合带来精度,也带来算力负担:三路信号要采集、要投影、要融合、要检测,每一环都在抢时间。
工程上的坑不止时延:传感器联合标定要求高,车辆震动与温度变化会让外参漂移;恶劣天气下标定退化;3D 框标注成本远高于 2D 标注;车载芯片(如 Orin)上的显存与功耗都有上限。就像老周排值班表,每一环都可能成为瓶颈,把各环节压进预算,才是量产落地的真正考验。
- 传感器时延摄像头、LiDAR、雷达各自的曝光与传输时间,取最慢的一路。
- 投影与融合时延BEV 特征转换与融合网络的前向计算时间。
- 检测时延检测头从融合特征输出 3D 框的时间。
- 预算约束四段时延相加必须小于系统预算,否则告警系统不可用。
AI 应用场景
自动驾驶出租车(Robotaxi)的城区感知
阶段:感知与传感器融合阶段
解决的问题:城区路况复杂,夜间、雨雾下单一传感器不可靠。BEV 融合让各模态互为备份,帮助车辆稳定输出 3D 框,解决了传统单目测距不准、纯激光怕雨雪的痛点。
具体案例:某 Robotaxi 在夜间暴雨中穿行闹市区,摄像头视野模糊、LiDAR 雨雾衰减,此时雷达持续输出速度点,BEVFusion++ 的雷达补盲让车辆仍能正确追踪前方摩托车并预留刹车距离。
矿区与港口无人集卡
阶段:多传感器标定与融合部署阶段
解决的问题:扬尘会严重遮挡 LiDAR,但雷达几乎不受影响;同时矿区路面颠簸会导致外参漂移,需要联合标定保证各路信息持续对齐。
具体案例:港口无人集卡在装料区粉尘环境下作业,激光点云被粉尘污染、相机被遮蔽,系统切换到“雷达 + 高置信度相机特征”融合模式,保持车道级定位并安全完成装卸。
车路协同路侧感知
阶段:边缘计算与路侧感知融合阶段
解决的问题:路侧单相机对遮挡车辆判断弱,融合激光雷达和雷达后,可以向车端广播超视距的障碍物信息,解决单车感知盲区。
具体案例:十字路口安装路侧融合感知单元,实时输出路口范围内的障碍物 BEV 鸟瞰图并广播给即将通行的车辆,帮助车辆在视野被楼宇遮挡时提前减速。
Python 演示
import numpy as np class MiniBEVFusion: """极简版 BEVFusion: 把相机, LiDAR, 雷达的鸟瞰图特征加权融合并检测目标. """ def __init__(self, grid_size=0.5, range_m=40.0): self.grid_size = grid_size self.range_m = range_m self.n = int(2 * range_m / grid_size) self.w_cam = 0.5 self.w_lidar = 0.3 self.w_radar = 0.2 def _cell(self, meter): return int((meter + self.range_m) / self.grid_size) def make_objects(self, n_obj=5, seed=42): rng = np.random.default_rng(seed) objects = [] for _ in range(n_obj): r = rng.uniform(8, self.range_m - 8) theta = rng.uniform(-np.pi, np.pi) objects.append({ 'x': r * np.cos(theta), 'y': r * np.sin(theta), 'hgt': rng.uniform(1.4, 1.8), 'spd': rng.uniform(0, 10.0), }) return objects def camera_bev(self, objects): """相机分支: 模拟深度估计与反投影后的 BEV 特征.""" bev = np.zeros((self.n, self.n, 2)) for obj in objects: cx, cy = self._cell(obj['x']), self._cell(obj['y']) for dx in (-1, 0, 1): for dy in (-1, 0, 1): xx, yy = cx + dx, cy + dy if 0 <= xx < self.n and 0 <= yy < self.n: bev[xx, yy, 0] = max(bev[xx, yy, 0], obj['hgt'] / 2.0) bev[xx, yy, 1] = 1.0 return bev def lidar_bev(self, objects): """LiDAR 分支: 把点云散落到 BEV 网格, 得到密度, 高度, 反射率.""" bev = np.zeros((self.n, self.n, 3)) for obj in objects: cx, cy = self._cell(obj['x']), self._cell(obj['y']) for dx, dy in ((-1, 0), (0, -1), (0, 0), (1, 1), (1, -1)): xx, yy = cx + dx, cy + dy if 0 <= xx < self.n and 0 <= yy < self.n: bev[xx, yy, 0] += 1.0 bev[xx, yy, 1] = obj['hgt'] bev[xx, yy, 2] = 0.7 return bev def radar_bev(self, objects): """雷达分支: 稀疏回波, 携带速度信息.""" bev = np.zeros((self.n, self.n, 1)) for obj in objects: cx, cy = self._cell(obj['x']), self._cell(obj['y']) if 0 <= cx < self.n and 0 <= cy < self.n: bev[cx, cy, 0] = min(obj['spd'] / 10.0, 1.0) return bev def fuse(self, cam, lidar, radar): """可学习权重融合: 三路 BEV 特征加权拼接成一个紧凑特征.""" total = self.w_cam + self.w_lidar + self.w_radar fc = (self.w_cam / total) * cam[:, :, 0:1] fl = (self.w_lidar / total) * lidar[:, :, 0:1] fr = (self.w_radar / total) * radar return np.concatenate([fc, fl, fr], axis=2) def detect(self, fused, threshold=0.25): """峰值聚类: 在融合得分图上找局部最高点作为检测框中心.""" score = fused.sum(axis=2) / fused.shape[2] preds = [] for _ in range(30): idx = np.unravel_index(np.argmax(score), score.shape) if score[idx] < threshold: break preds.append((idx[0], idx[1], float(score[idx]))) a0 = max(0, idx[0] - 2) a1 = min(self.n, idx[0] + 3) b0 = max(0, idx[1] - 2) b1 = min(self.n, idx[1] + 3) score[a0:a1, b0:b1] = 0 return preds def evaluate(self, objects, preds): tp = 0 for obj in objects: cx, cy = self._cell(obj['x']), self._cell(obj['y']) for p in preds: if abs(p[0] - cx) <= 2 and abs(p[1] - cy) <= 2: tp += 1 break return tp, len(preds) - tp def run(self, n_obj=5): """完整流水线: 生成场景 -> 三模态转换 -> 融合 -> 检测 -> 评估.""" objects = self.make_objects(n_obj) fused = self.fuse(self.camera_bev(objects), self.lidar_bev(objects), self.radar_bev(objects)) preds = self.detect(fused) return objects, preds, self.evaluate(objects, preds) if __name__ == '__main__': fusion = MiniBEVFusion() objects, preds, (tp, fp) = fusion.run(n_obj=6) print('真实目标数:', len(objects)) print('融合检出数:', len(preds)) print('正确检出:', tp, '误检:', fp) print('融合查全率: %.0f%%' % (100.0 * tp / len(objects))) print('权重分配: 相机 %.2f, LiDAR %.2f, 雷达 %.2f' % (fusion.w_cam, fusion.w_lidar, fusion.w_radar))
self.n = int(2 * range_m / grid_size)把 80 米见方的感知范围切成 0.5 米一格的鸟瞰图网格。bev[xx, yy, 0] += 1.0LiDAR 分支把落在网格内的点云散射成密度特征。bev[cx, cy, 0] = min(obj['spd'] / 10.0, 1.0)雷达分支记录速度并归一化到 0-1。return np.concatenate([fc, fl, fr], axis=2)三路特征按权重缩放后沿通道拼接,即特征级融合。idx = np.unravel_index(np.argmax(score), score.shape)在融合得分图上找全局最高响应点作为目标中心。score[a0:a1, b0:b1] = 0把已检出位置附近清零,防止同一目标被重复统计。if abs(p[0] - cx) <= 2 and abs(p[1] - cy) <= 2:预测网格与真值网格相距 2 格之内算正确检出。print('融合查全率: %.0f%%' % (100.0 * tp / len(objects)))用查全率直观反映融合感知的完整程度。
常见误区
误区我以为 BEV 变换就是把摄像头斜着拍的画面拉伸成俯视图,像 PS 里的透视裁剪一样。那不就是个图像几何变换嘛,有啥难的?
正解单目相机图像本身就缺深度,任何 2D 拉伸都无法恢复“这辆车离我多远”。BEVFusion 里相机转 BEV 的关键是先让网络预测每个像素的深度,再把像素反投影到 3D、落到地面网格。老周如果只知道“画面里有个车”而不知道距离,他永远没法把它画到俯视大屏的正确位置。
为何常见:人眼看俯视地图很容易,但忽略了人眼有双目视差,而单目相机天生丢掉了深度这一维。
误区我原来以为多模态融合就是把点云和图像直接拼起来喂给网络,反正信息越多模型越强,只要显存够大就行。
正解未经对齐的原始数据直接拼接会互相打架:坐标系不同、分辨率不同、时间戳不同,卷积核根本不知道哪个位置对应哪个位置。BEVFusion 的贡献正是先统一到 BEV 空间,再在特征层用可学习权重融合。三份报告不换同一比例尺就叠图,只会是一团乱麻。
为何常见:直觉上“信息量大就等于好”,忽略了不同传感器数据是异质的,需要先对齐、再融合。
误区既然雷达不怕雨雾,那 BEVFusion++ 加了雷达之后,是不是恶劣天气下也能达到晴天 LiDAR 的精度?
正解雷达分辨率只有厘米级到米级,回波还带多径噪声,只能提供稀疏的速度点和大致轮廓,无法描绘精细几何。它的定位是“补盲兜底”而非“替代”。在雨雾里,雷达保证系统不失明,但精度仍低于晴天 LiDAR。多模态的价值正是互相兜底,而不是某一路全能。
为何常见:把“全天候工作”误等同于“全天候高精度”,忽略了传感器物理分辨率的硬约束。
误区我觉得可以让每个传感器单独做检测,最后把结果投票合并,这样简单解耦,效果应该也不差吧?
正解决策级融合每个分支独立推断,低层的互补线索(比如图像纹理帮助校正点云分类)在流程早期就被丢弃了。BEVFusion 的实验显示,BEV 特征级融合显著优于后融合,因为检测头能看到“合并后的完整地图”。单目分支在夜里失效时,决策投票只能祈祷别的分支还活着,而特征级融合能给失效分支兜底。
为何常见:工程上解耦设计很诱人,但牺牲了模态之间在底层相互校正的机会。
面试题
Q1. BEVFusion 把多模态感知统一到什么空间进行融合?
- A.图像像素空间
- B.鸟瞰图统一空间← 正确答案
- C.点云柱体体素
- D.世界地理坐标
答案:B。BEVFusion 的核心是把相机、LiDAR、雷达都先换算到鸟瞰图(BEV)特征空间再融合。就像老周三路报告都要画到同一张俯视大屏上,A 停在像素层,C、D 都不是统一融合空间。选 B。
Q2. 相机特征转到 BEV 的关键前提是什么?
- A.深度估计← 正确答案
- B.图像增强
- C.目标检测
- D.颜色矫正
答案:A。单目图像缺少深度,必须先用网络估计每个像素的深度,才能反投影到 3D 再落格到 BEV。图像增强、目标检测、颜色矫正都留在了 2D 层面,无法解决“多远”的问题。答案 A。
Q3. 多模态空间对齐依赖下列哪类参数?
- A.内外参标定← 正确答案
- B.网络超参数
- C.批量大小值
- D.图像分辨率
答案:A。空间对齐靠传感器相对自车坐标系的外参(旋转矩阵 R 和平移向量 t),相机还有内参。超参数、批量大小与对齐无关,分辨率只是特征层面对齐的一个环节而非根本。答案 A。
Q4. 相机、LiDAR、雷达三者的互补性体现在哪些方面?
- A.相机纹理信息丰富← 正确答案
- B.激光几何定位精确← 正确答案
- C.雷达全天候测速← 正确答案
- D.三种都能输出分割
答案:ABC。相机提供纹理和颜色,LiDAR 提供精确几何,雷达提供速度与全天候能力,三者正好互补,构成多模态融合的基础。D 错误:三类传感器原生数据类型不同,并非都直接输出语义分割。选 A、B、C。
Q5. 融合公式 $F_{fused}=\sigma(w)\cdot F_{cam}+(1-\sigma(w))\cdot F_{lidar}$ 中 $\sigma$ 的作用是?
- A.把权重压到 0 和 1 之间← 正确答案
- B.对输入特征做批归一化
- C.提高特征图整体维度
- D.让权重恒等于 0 或 1
答案:A。$\sigma$ 是 sigmoid,把可学习权重 w 压到 (0,1) 区间,表示这个网格位置更信任哪一路。批归一化、提维都不对;D 说恒等于 0 或 1 也不对,sigmoid 是连续平滑的。答案 A。
Q6. BEVFusion++ 跨模态注意力中,查询 Q 通常来自哪个分支?
- A.相机分支的特征
- B.LiDAR 分支的特征← 正确答案
- C.雷达分支的特征
- D.检测头输出的框
答案:B。BEVFusion++ 用 LiDAR 特征做查询(Q),用相机特征提供键值(K、V),让几何精确但语义弱的 LiDAR 分支主动去“问”语义丰富的相机分支,从而增强特征。雷达通常作为补盲通道,检测头是消费者而非查询来源。答案 B。
Q7. 3D 目标检测的常用评估指标是什么?
- A.三维交并比与 mAP← 正确答案
- B.像素级分类准确率
- C.图像峰值信噪比
- D.文本翻译的 BLEU
答案:A。3D 检测用三维 IoU 判定框是否命中,再按置信度排序计算 AP,最后跨类别平均得到 mAP。像素准确率、PSNR 是图像任务指标,BLEU 是文本指标。答案 A。
Q8. BEVFusion++ 的改进方向包括哪些?
- A.引入雷达通道补盲← 正确答案
- B.注意力增强跨模态← 正确答案
- C.多尺度特征融合← 正确答案
- D.退化为决策级投票
答案:ABC。BEVFusion++ 引入雷达应对雨雾补盲,用跨模态注意力加强 LiDAR 与相机的交互,用多尺度特征兼顾近远目标。它坚守特征级融合立场,D 的决策级投票正是其反对的方案。选 A、B、C。
Q9. 帧率不一致的传感器做时间对齐时,常用做法有哪些?
- A.插值到统一时刻← 正确答案
- B.运动补偿重投影← 正确答案
- C.速度外推补齐帧← 正确答案
- D.完全忽略时间差
答案:ABC。不同传感器帧率不同(如相机 30Hz、雷达 20Hz),需通过插值、运动补偿或基于速度的外推,把各模态信号对齐到同一时刻,避免高速场景出现位置“重影”。D 直接忽略时间差会引入巨大误差。选 A、B、C。
Q10. 特征级融合优于决策级融合的根本原因是什么?
- A.低层互补信息共享← 正确答案
- B.参数量自动减半
- C.训练数据需求更少
- D.推理时延必然更低
答案:A。特征级融合让检测头看到合并后的 BEV 地图,底层互补线索(如图像纹理帮助校正点云分类)得以保留;决策级融合各分支独立推断,低层信息早已丢失。参数量、数据量、时延并非特征级融合的保证。答案 A。