当前位置:首页>自动驾驶>自动驾驶BEV+Occupancy多传感器感知不确定性的融合解析

自动驾驶BEV+Occupancy多传感器感知不确定性的融合解析

  • 2026-08-09 22:33:12
自动驾驶BEV+Occupancy多传感器感知不确定性的融合解析

从 BEV 感知到不确定性引导的 Transformer 鲁棒融合

—— 逐层深入的技术全景与实践方案 ——

一、引言:自动驾驶感知的核心挑战

自动驾驶系统的安全性高度依赖感知模块的可靠性。单一传感器各有所长也各有所短:相机提供丰富的纹理与语义信息但缺乏直接深度测量能力,激光雷达提供精确几何信息但成本高昂且受雨雪影响,毫米波雷达在恶劣天气下稳定且能直接测速但分辨率有限。如何将这些异构传感器的信息有效融合,并在单个传感器失效时仍保持可靠感知,是自动驾驶领域最核心的技术挑战之一。

本文将从 BEV+Occupancy 感知出发,逐层深入地探讨相机与雷达融合的架构设计、传感器失效的应对策略、不确定性感知的动态权重分配机制,最终给出一种基于 Transformer 的最可行工程方案。

二、BEV+Occupancy:相机 360 度感知的革命

2.1 什么是 BEV+Occupancy

BEV(Bird's Eye View,鸟瞰图)感知将多路相机的 2D 图像特征通过空间变换统一到俯视图坐标系,使不同视角的相机在同一个空间中"对话"。Occupancy Network 则进一步在 BEV 空间上做 3D 体素化,判断每个体素是否被占据——"几何先于语义",不识别物体类别,直接判断空间是否被占用。

图 1:BEV+Occupancy 感知机制——从多路相机图像到 360 度感知输出

2.2 为什么 BEV+Occupancy 的成熟减少了对侧向激光雷达的依赖

在 BEV+Occupancy 出现之前,相机在侧面和后方场景的感知能力有限,主要依赖侧向激光雷达提供精确的 3D 几何信息。BEV+Occupancy 的成熟使相机通过神经网络学习 2D 到 3D 的映射,在 BEV 空间中直接输出占用网格,大幅提升了侧面和后方场景的感知覆盖。这使得侧向激光雷达从"必需品"变为"可选增强件"。

图 2:BEV+Occupancy 实现相机 360 度感知覆盖,侧向激光雷达可移除

2.3 但为什么仍然需要前向雷达?

尽管 BEV+Occupancy 大幅增强了相机能力,但相机的物理局限依然存在:

恶劣天气退化:雨、雾、逆光、低照度下相机信噪比急剧下降

深度估计不确定性:单目深度本质上是一个病态问题,远距离误差大

无直接测速能力:相机只能通过时序差分间接估计速度,延迟高、精度低

毫米波雷达恰好弥补了这些短板:全天候工作能力、直接测量距离和径向速度(多普勒效应)、成本远低于激光雷达。因此,前向雷达作为相机的互补传感器仍然不可或缺。

三、毫米波雷达:从原始信号到点云

理解相机与雷达的融合,首先需要理解雷达的数据来源。毫米波雷达的原始信息不是点云,而是 ADC 采样的复数信号,经过三级 FFT 变换才得到可用的检测点。

图 3:毫米波雷达信号处理全流程——从 ADC 采样到点云输出

雷达信号处理的关键步骤:

1D FFT(快时间轴):将 beat 频率转换为距离,分辨率 delta R = c/(2B),4GHz 带宽约 3.75cm

2D FFT(慢时间轴/Chirp 间):将相位变化转换为径向速度,实现距离与速度解耦

3D FFT(天线间):将天线间相位差转换为角度,3D 雷达输出 (R, v, theta),4D 雷达增加俯仰角 phi

CFAR 检测:恒虚警率检测,自适应阈值提取目标点

聚类:将检测点聚合为雷达点云 (x, y, z, v, RCS)

四、相机与雷达的三种融合路线

多传感器融合按融合发生的阶段分为三种路线,各有优劣:

图 4:相机与毫米波雷达的三种融合路线对比

融合路线

融合时机

优势

劣势

前融合(数据级)

原始数据阶段

信息保留最完整

标定敏感,难以处理异构数据

后融合(决策级)

检测结果之后

模块化好,容错强

丢失跨模态信息

特征级融合(中融合)

BEV 特征空间

跨模态学习,性能最优

需要统一的空间表示

特征级融合(BEV 空间融合)是当前行业主流方案。以 HyDRa 为代表的架构展示了渐进式多层级融合的设计思路:

图 5:相机-雷达 BEV 融合架构(以 HyDRa 为代表)

HyDRa 架构的核心创新在于三阶段渐进融合:

透视视图融合:通过 Height Association Transformer 在 2D 特征阶段建立跨模态几何关联

BEV 空间融合:相机 BEV 与雷达 BEV 通过拼接 + SE 注意力进行特征级融合

反向投影精修:利用雷达加权深度一致性对融合结果做几何校正

开源参考仓库包括:RCBEVDet(雷达-相机 BEV 融合,CAMF 融合模块)、HyDRa(透视视图 + BEV 双空间混合融合)、OpenFusion(算子导向多模态融合框架)等。

五、多传感器融合的核心难题:传感器失效

5.1 模态懒惰问题

Grace-BEV(2026)首次在 BEV 感知领域明确定义了"模态懒惰"(Modality Laziness)问题:在多传感器融合训练中,模型会过度依赖几何信息丰富的模态(如 LiDAR),导致另一个模态的分支"懒惰"收敛。当被依赖的模态失效时,系统出现"断崖式"性能崩溃。

标准 BEVFusion 在 LiDAR 完全失效时 mAP 直接跌至 0%——这不是性能下降,而是系统完全瘫痪。

5.2 传感器失效的三种模式

失效模式

描述

传统融合的表现

完全失效(Dropout)

传感器无输出或数据完全丢失

崩溃至 0% mAP

退化(Degradation)

传感器输出质量下降(雨雾、遮挡)

性能大幅下降

空间局部失效

传感器部分区域不可靠

无法处理,全局受影响

RoboBEV(TPAMI 2025)对 33 个 SOTA BEV 模型的评测证实:干净数据上表现好的模型在 corruption 下相对表现也更好,但所有标准融合模型在传感器完全失效时都存在断崖式崩溃。

六、不确定性感知的动态权重分配

6.1 传统逆方差加权融合

不确定性感知的核心思路是:每个传感器输出特征的同时预测一个不确定性 sigma^2,不确定性越低的传感器获得越高的融合权重。最经典的方法是逆方差加权(Inverse Variance Weighting):

图 6:传统逆方差加权融合流程

分两步走:

Step 1 算权重:w_i = (1/sigma^2_i) / sum(1/sigma^2_j),不确定性越低,权重越高

Step 2 加权求和:F_fused = sum(w_i * F_i),逐元素加权求和

关键局限:w_i 是一个标量,对整张特征图的每个位置施加相同权重。无法做到"雨雾密集区域降低雷达权重、空旷区域保持不变"这种空间自适应操作。

6.2 不确定性 sigma^2 如何获得

不确定性的预测有三种方法,最常用的是第一种:

图 7:三种不确定性估计方法对比

方法

不确定性类型

实现方式

推理开销

来源

方差预测头

偶然不确定性

Backbone 末端加 Conv 1x1 输出 log sigma^2

约 0(额外一个 1x1 卷积)

Kendall & Gal, NeurIPS 2017

MC Dropout

认知不确定性

测试时开启 Dropout,N 次前向取方差

x N 倍

Kendall & Gal, NeurIPS 2017

Deep Ensemble

认知不确定性

训练 M 个独立模型,取预测间方差

x M 倍

Lakshminarayanan et al.

方差预测头的训练使用高斯负对数似然损失(Kendall & Gal 2017):

L = ||y - f(x)||^2 / (2 * sigma^2) + 0.5 * log(sigma^2)

第一项让高误差样本的 sigma^2 自动变大(自动降权),第二项防止 sigma^2 无限增大。两项博弈后,sigma^2 收敛到反映真实噪声水平的值——网络自己学会"哪里不可靠",不需要人工标注不确定性。

6.3 sigma^2 是空间图而非标量

每个传感器分支有独立的方差预测头,输出的是与 BEV 特征图同尺寸的空间图 [H, W, 1],每个 BEV 网格位置一个值。不同位置的 sigma^2 不同:雨雾密集区域 sigma^2 大,清晰区域 sigma^2 小。

图 8:sigma^2 空间图如何广播到注意力矩阵

在交叉注意力中,sigma^2 来源于 Key 所在传感器的方差预测。Q 来自相机、K/V 来自雷达时,用 sigma^2_rad——因为 K 的每个位置代表雷达在该位置的可靠性。不可靠的雷达位置对所有相机位置的贡献都被抑制。

七、Transformer 如何实现动态权重融合

7.1 注意力即权重,A*V 即融合

Transformer 的 Cross-Attention 把"分配权重"和"融合"合二为一。注意力分数 A 本身就是动态权重,由 QK^T 计算"哪个雷达位置与当前相机位置最相关",A*V 就是加权求和——不需要单独的融合步骤。

图 9:Transformer 跨模态注意力融合——动态权重的本质

与传统方法的关键区别:A 是一个 N*N 矩阵,每个输出位置有自己独立的一组权重,而非全局共用一个标量。这意味着不同空间位置可以有不同的融合策略。

7.2 不确定性引导的注意力公式

将不确定性融入注意力计算,得到不确定性引导的注意力公式:

A = softmax( QK^T / sqrt(d)-lambda * log(sigma^2) )

这个公式的物理含义:

QK^T/sqrt(d):特征相似度,决定"哪个雷达位置与当前相机位置最相关"

-lambda * log(sigma^2):不确定性惩罚,不可靠的源被自动抑制

当 lambda=1 时,该公式精确实现逆方差加权注意力——理论自洽

7.3 公式溯源:理论依据还是合成设计?

经过全网检索和论文溯源,这个公式是一个结构合理的学术合成,并非任何单篇论文的原文公式。其各组成部分均可追溯到具体论文,但从未以这个精确形式被完整发表过:

组成部分

真实来源

论文

是否与公式一致

softmax(QK^T/sqrt(d))

标准 Scaled Dot-Product Attention

Vaswani et al. 2017

完全一致

加法偏置 softmax(a - lambda*U)

MedBayes-Lite 的等价推导

arXiv:2511.16625

结构一致,但 U 不等于 log(sigma^2)

log(sigma^2) 项

Kendall & Gal 异方差损失

NeurIPS 2017

理论依据充分,但原文用于损失函数非注意力

输入自适应 sigma(x)

Heo et al. 不确定性注意力

NeurIPS 2018

概念相关,但用变分推断非 logit 偏置

已发表工作用完全不同的范式实现相同目标:Grace-BEV 用 Sigmoid 乘性门控,MoME 用 MoE 专家路由,TMC 用 Dempster-Shafer 证据理论组合。该公式可视为将 MedBayes-Lite 的加法注意力调制结构与 Kendall & Gal 的 log(sigma^2) 异方差不确定性度量合理结合的产物。

八、Transformer 处理传感器失效的六大机制

经过全网调研,Transformer 处理传感器失效/不确定性的方法可归纳为六大类:

图 10:Transformer 传感器失效处理的六大类机制

8.1 模态 Dropout 训练(训练策略)

训练时随机丢弃一个模态的全部输入,迫使模型不能过度依赖单一传感器。CMT(ICCV 2023)验证了概率 0.5 的模态 Dropout 可使 LiDAR 缺失时仍达 40% NDS。但 MuteBench 发现:Dropout 训练的模型仅在训练见过的最大丢弃率范围内保持鲁棒,超出则崩溃。

8.2 可学习缺失 Token(架构设计)

传感器失效时不用零填充(导致分布漂移),而用可学习的 token 替代。MRAF 引入可学习 missing token 减少"完整输入"与"缺失输入"间的分布漂移;AMBER 用可学习模态 token + 缺失感知 mask 阻止跨模态噪声传播。

8.3 可靠性门控(推理时机制)

实时评估每个模态的可信度,用 Sigmoid 门控动态调节融合权重。Grace-BEV 的 TrustGate Router 从 Voxel Encoder 提取几何完整性生成信任分数 alpha,FailSafe Fusion 做 F = alpha * F_lidar + (1-alpha) * F_camera。LiDAR 完全失效时 alpha 趋向 0,纯相机回退,从 0% 恢复至 34.7% mAP。仅 3.3M 参数,恒等初始化,即插即用。

8.4 专家路由 MoE(架构设计)

MoME(CVPR 2025)用三个并行 Transformer expert decoder(camera-only / LiDAR-only / fusion),Adaptive Query Router 基于局部多模态特征质量为每个 query 选择最合适的 expert。完全解耦模态依赖,计算量与单 decoder 相当。

8.5 软关联注意力(架构鲁棒性)

TransFusion(CVPR 2022)不做硬标定关联,通过 cross-attention 自适应决定从图像中取什么信息。对图像质量退化和标定误差鲁棒,但 LiDAR 完全缺失时崩溃(两阶段架构依赖 LiDAR 生成 proposal)。MetaBEV(ICCV 2023)的 BEV-Evolving Decoder 迭代地选择性从可用模态聚合特征,LiDAR 缺失时 NDS 提升 35.5%。

8.6 不确定性引导注意力(重点)

ModalPatch 预测补偿特征的空间方差 sigma^2 作为不确定性,在跨模态融合中抑制高不确定区域。Cocoon 基于共形预测做对象级动态加权。PFS 用空间可靠性图作为乘性门控:R = sigmoid(ConvNet(F_fused, F_lidar)),F_clean = R * F_fused。

8.7 性能对比

图 11:传感器失效下各方法性能对比(mAP)

核心发现:单一机制不够。标准 Transformer 融合(如 TransFusion、BEVFusion)没有内置失效处理能力,必须显式添加上述机制才能实现优雅退化。最佳实践是训练策略(模态 Dropout)+ 推理机制(可靠性门控/不确定性注意力)的组合。

九、最可行的 Transformer 方案

9.1 方案选型

综合考量推理开销、工程复杂度和与现有架构的兼容性,最可行的方案是:以 CMT 的 Cross-Attention 架构为底座,加入方差预测头提供 sigma^2,将 sigma^2 作为注意力偏置实现不确定性引导融合,训练时使用模态 Dropout 防止模态懒惰。

评估维度

MC Dropout

MoME 三专家

证据理论

本方案

额外推理延迟

5000%(50次)

约 0%

约 0%

< 3%

额外参数量

0

3 倍 decoder

少量

约 3.3M

改动侵入性

高(重构)

高(改输出)

低(加模块)

与 BEVFusion 兼容

LiDAR 失效恢复

可恢复

0->35%

可恢复

0->30%+

工程落地难度

不可接受

9.2 完整架构

图 12:不确定性引导的 Cross-Attention 融合完整架构

架构流程:

相机分支:Image -> Backbone -> LSS -> BEV,同时输出特征 F_cam 和不确定性 sigma^2_cam

LiDAR 分支:Point -> Voxel -> BEV,同时输出特征 F_lid 和不确定性 sigma^2_lid

模态 Dropout(仅训练):以概率 p 随机置零一个模态的特征和 sigma^2

Token 拼接:[F_cam tokens; F_lid tokens] -> [2N, d]

不确定性引导 Cross-Attention:A = softmax(QK^T/sqrt(d) - lambda * log sigma^2)

输出:Output = A * V -> BEV 特征 -> FFN + DETR Detection Head

9.3 另一种方案:可靠性门控融合

除了 Cross-Attention 方案,基于 BEVFusion 改造的可靠性门控方案同样可行,适合不使用 Transformer 的场景:

图 13:基于 BEVFusion 改造的可靠性门控融合方案

核心公式:alpha = sigmoid(MLP([F_lid, log sigma^2_lid])),F_fused = alpha * F_lid + (1-alpha) * F_cam。LiDAR 可靠时 alpha 趋向 1,LiDAR 失效时 alpha 趋向 0,自动回退相机。

9.4 三阶段训练策略

图 14:三阶段训练策略

训练分三个阶段,循序渐进地培养鲁棒性:

Phase 1(前 1/3):正常双模态训练,p=0,学习基础多模态表示

Phase 2(中 1/3):开启模态 Dropout,p 从 0 线性增到 0.5,迫使模型学习单模态也能工作

Phase 3(后 1/3):降低 Dropout 至 p=0.3,恢复双模态性能同时保持单模态鲁棒性

9.5 核心代码实现

不确定性引导的 Cross-Attention(核心改动仅 1 行):

// 标准注意力 logits attn = Q @ K.T / sqrt(d)// [B, heads, M, N]// ===== 核心改动: 仅此 1 行 ===== log_var = log_var_tokens.mean(dim=-1)// [B, 1, 1, N] attn = attn - lambda * log_var// 不确定性偏置 // ================================attn = softmax(attn, dim=-1) out = attn @ V// A*V 即融合

方差预测头(每个传感器分支):

class UncertaintyBranch(nn.Module):def __init__(self, in_ch, out_dim):self.feature_proj = nn.Linear(in_ch, out_dim)self.log_var_proj = nn.Linear(in_ch, out_dim)def forward(self, x):feat = self.feature_proj(x)// [B, N, d]log_var = self.log_var_proj(x)// [B, N, d]return feat, log_var

9.6 三种场景下的行为

场景

sigma^2 表现

注意力动态

系统响应

正常(双模态可用)

sigma^2_cam, sigma^2_lid 都低

注意力由 QK^T 主导

最优融合性能

LiDAR 退化(雨雾)

sigma^2_lid 逐渐增大

LiDAR token 权重降低,相机 token 权重升高

平滑过渡,温和下降

LiDAR 完全失效

sigma^2_lid -> 无穷

LiDAR 权重 -> 0

纯相机回退,不崩溃

关键优势:Cross-Attention 的 QK^T 能计算"相机位置 i 和 LiDAR 位置 j 之间的特征相关性",这是 Sigmoid 门控做不到的。当 LiDAR 部分区域退化时,注意力能精确抑制那些区域的 token,同时保持有效区域的 token 权重——而不是对整个 LiDAR 模态一刀切。

十、总结与展望

本文从 BEV+Occupancy 感知出发,逐层深入地梳理了自动驾驶多传感器融合的技术全景:

第一层——感知基础。BEV+Occupancy 的成熟使相机在侧面和后方场景的感知能力大幅提升,减少了侧向激光雷达的依赖,但前向雷达作为互补传感器仍不可或缺。

第二层——融合架构。特征级 BEV 融合是当前行业主流,相机和雷达各自编码到 BEV 空间后通过拼接、注意力或 SE 层进行融合。HyDRa 等架构展示了渐进式多层级融合的设计思路。

第三层——失效问题。标准融合模型存在"模态懒惰"问题,被依赖的模态失效时出现断崖式崩溃。RoboBEV 的评测证实了这一系统性缺陷。

第四层——不确定性感知。通过方差预测头让网络自己学会"哪里不可靠",用逆方差加权实现动态权重分配。sigma^2 是空间图而非标量,不同位置有不同的不确定性。

第五层——Transformer 融合。Cross-Attention 把权重分配和融合合二为一,注意力分数本身就是动态权重。将不确定性以 log(sigma^2) 形式融入注意力偏置,实现了"软抑制"而非"硬忽略"。

第六层——工程方案。最可行的方案是 CMT 架构 + sigma^2 注意力偏置 + 模态 Dropout 的组合:训练时防退化,推理时可降级,额外推理开销低于 3%,LiDAR 完全失效时从 0% 恢复至 30%+ mAP。

核心启示:单一机制不够,最佳实践 = 训练策略(防模态懒惰)+ 推理机制(实时降级)。标准 Transformer 融合没有内置失效处理能力,必须显式添加不确定性建模和模态 Dropout 才能实现优雅退化。

未来方向:可变形注意力降低 O(N^2) 计算开销、时序不确定性建模融合历史帧信息、以及证据深度学习(EDL)提供更严格的理论框架。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-10 02:10:45 HTTP/2.0 GET : https://e.mffb.com.cn/a/543512.html
  2. 运行时间 : 0.080642s [ 吞吐率:12.40req/s ] 内存消耗:4,362.17kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=b8acb4a8c6a0174173f2d6dffe36ceb0
  1. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/runtime/temp/600e51726691ba7063b44bb89d9aaaff.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/e.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000496s ] mysql:host=127.0.0.1;port=3306;dbname=e_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000695s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000364s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000267s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000543s ]
  6. SELECT * FROM `set` [ RunTime:0.000248s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000571s ]
  8. SELECT * FROM `article` WHERE `id` = 543512 LIMIT 1 [ RunTime:0.000551s ]
  9. UPDATE `article` SET `lasttime` = 1786299045 WHERE `id` = 543512 [ RunTime:0.004915s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000254s ]
  11. SELECT * FROM `article` WHERE `id` < 543512 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000539s ]
  12. SELECT * FROM `article` WHERE `id` > 543512 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000424s ]
  13. SELECT * FROM `article` WHERE `id` < 543512 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001070s ]
  14. SELECT * FROM `article` WHERE `id` < 543512 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000799s ]
  15. SELECT * FROM `article` WHERE `id` < 543512 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001563s ]
0.082202s