论文解读与源码复现|LASB:薛定谔桥驱动的统一无监督异常检测(CVPR 2025)

论文解读与源码复现|LASB:薛定谔桥驱动的统一无监督异常检测(CVPR 2025)

论文首页题目与摘要截图

一、前言

工业质检与医学影像里的异常检测,主流是无监督"重构式"范式:只用正常样本训练,推理时把异常图"修"回正常图,差异图即异常热图。扩散模型进场的姿势各有问题——DDPM/LDM 从纯高斯噪声出发重构,结构信息在噪声里丢失,定位精度差;DiAD 要额外挂一个语义引导网络;DiffAD 要配判别子网络。辅助网络成了扩散异常检测的标配,也成了它的包袱。

IIT Hyderabad 与 KLA 的这篇 CVPR 2025 论文提出的 LASB(Latent Anomaly Schrödinger Bridge)走了一条理论驱动的捷径:用薛定谔桥(Schrödinger Bridge)直接学"异常分布 → 正常分布"的最优传输桥——不像高斯扩散把数据打成噪声再重建,而是让异常图沿桥"平滑变形"为正常图,结构信息全程保留。整个模型只有一个去噪网络跑在 VQ-VAE 潜空间里,无任何辅助网络,MVTec-AD 上 AUROC 99.14 / AP_seg 78.2 双 SOTA(多类统一设定)。

二、方法解析

2.1 从 SGM 到薛定谔桥:终点不再是高斯

Score-based 生成模型(SGM)的backward SDE 依赖 score 函数,从高斯先验重建任意分布——但它的终点被锁死在 $\mathcal{N}(0,I)$。薛定谔桥(SB)把问题改写成:在固定两端边际($t=0$ 时 $p_A$ 异常分布、$t=1$ 时 $p_B$ 正常分布)的所有路径测度中,找与参考测度 KL 距离最小的那个(论文式 3)。SB 的最优解由一对 PDE 的解 $\Psi, \widehat\Psi$ 刻画,forward/backward drift 变成非线性的 $\nabla\log\Psi$ / $\nabla\log\widehat\Psi$(论文式 6–7)。

Linear-SB 可解化:直接解 PDE 不可行。作者的推导(利用 Nelson 对偶与 Fokker-Planck 方程)表明:非线性 drift 恰是边界条件不同的两个线性 SDE的 score(论文式 8–9)。再引入Dirac delta 边界条件$\widehat\Psi(\cdot,0)=\delta_\kappa(\cdot)$——backward drift 永远指向一个具体样本 $\kappa$,与终端分布 $p_B$ 无关。于是每个训练实例只需计算条件 score $\nabla\log p(X_t|X_0=\kappa)$,完全落入标准 SGM 训练框架。

2.2 LASB:潜空间中的异常→正常桥

流程(论文 Figure 2 / Algorithm 1–2):

  1. VQ-VAE 感知压缩:$E_{VQ}/D_{VQ}$ 从 Stable Diffusion 权重初始化、KL 目标微调,把 256×256 图编码为 64×64×3 潜码;训完冻结。
  2. 异常增广:对正常训练图施加 DRAEM 式异常增广(随机 mask + 噪声纹理),让模型见过"各种异常长什么样"。
  3. 训练 Linear-SB:在潜空间中,forward 过程从增广异常潜码 $z_0$(Dirac 边界)走向正常潜码分布;给定边界对 $(z_0, z_1)$ 的桥后验是解析的(论文式 11):

$$q(z_t|z_0,z_1) = \mathcal{N}\left(z_t;\ \mu_t = \frac{\bar\sigma_t^2}{\bar\sigma_t^2+\sigma_t^2}z_0 + \frac{\sigma_t^2}{\bar\sigma_t^2+\sigma_t^2}z_1,\ \Sigma_t = \frac{\bar\sigma_t^2\sigma_t^2}{\bar\sigma_t^2+\sigma_t^2}I\right)$$

训练目标(论文式 12):

$$\mathcal{L}{LASB} = \left|\epsilon\theta(z_t, t) - \frac{z_t - z_0}{\sigma_t^{(z)}}\right|$$

  1. 半退化策略:不同于高斯扩散逐级加噪摧毁结构,LASB 的 forward 是 $z_0 \to z_1$ 的插值(桥),结构信息全程保留——这就是"平滑异常→正常变换"的数学来源(论文 Figure 1 对比了两者轨迹)。
  2. 推理(Algorithm 2):异常测试图编码为 $z_N$,DDPM 式采样走 backward SDE 到 $z_0$,解码得到"修复后的正常图";原图与重构图过 ImageNet 预训练网络提多尺度特征、算差异定位异常(与 DiAD 同款差异块,但无引导网络)。

图片源自论文 Figure 2:LASB 两阶段框架。训练时对正常图做异常增广、学习"滤除"增广异常;推理时输入真实异常图重构正常版本,差异块输出检测与定位热图。

三、数据集与实验设置

  • MVTec-AD:15 类(10 物体 + 5 纹理),5,354 张高清图,3,629 正常训练 / 1,725 测试(含异常)。
  • VisA:12 类、10,821 张图(9,621 正常 + 1,200 异常,78 种异常),复杂结构/多实例/单实例三种类型。
  • 指标:AUROC / AP / F1max,cls(图像级检测)与 seg(像素级定位)两套。
  • 实现:256×256 输入;VQ-VAE 潜码 64×64×3;去噪网络为 DDPM 式 U-Net;推理只输入异常图。
  • 对比:class-based(SimpleNet/PatchCore/DiffAD/DDAD/TransFusion 等)与 unified 多类(UniAD/DiAD/MambaAD/HVQ-Trans/GLAD 等)分组比较。

四、关键实验结果

1. MVTec-AD 类级设定逼近满分(Table 1 上半):AUROC_cls/AP_cls99.66/99.15,仅次于 DDAD 的 99.84;VisA 上 **98.52/99.06 反超 DDAD(98.9)**的 AP 口径——复杂多类场景下桥式变换更稳。

2. 统一多类设定全面 SOTA(Table 1 下半):

方法MVTec AUROC_cls/AUROC_segVisA AUROC_cls/AUROC_seg
UniAD (NeurIPS'22)96.52 / –85.5 / 95.9
DiAD (AAAI'24)97.15 / –86.75 / 96.0
MambaAD (NeurIPS'24)98.6 / 97.794.3 / 98.5
LASB99.14 / 98.6694.2 / 98.18

3. 扩散系内部对比:定位指标碾压(Table 2,MVTec)。相对次优模型:AUROC_seg+0.6%、AP_seg+17.4%(78.2 vs 60.8,GLAD)、F1max_seg+10.0%、F1max_cls +2.0%。定位类指标的大幅领先正是"结构保留"的直接回报——从纯噪声重构的模型连物体的边界都对不齐。

方法AUROC_clsAP_clsF1max_clsAUROC_segAP_segF1max_seg
DDPM71.981.686.675.613.319.5
LDM76.687.688.185.127.631.0
DiAD97.299.096.596.852.655.5
GLAD97.599.196.697.460.860.7
LASB99.299.398.598.678.270.7

4. VisA 多类(Table 3):AUROC_seg 98.2 / AP_seg 46.4 / F1max_seg 52.6,相对次优(DiAD 96.0/26.1/33.0)大幅领先。

5. 效率:NFE=10 即收敛(Table 4)。桥的两端固定,采样不需要 1000 步:

NFE125101001000
MVTec AUROC_cls/seg97.42/96.8298.16/97.8498.94/98.1699.14/98.66同同
V100 推理耗时 (s)0.120.250.520.741.515

10 步(0.74 秒)即达 1000 步的精度——比标准扩散检测器的实用性好一个量级;且 Figure 3 显示 LASB 的训练时间/显存/采样时间在 DDPM/SGM/SB(IPF)各档分辨率下均为最低(完整 SB 的 IPF 训练最贵)。

五、机制解释与讨论

为什么桥式变换比重构更利于定位?异常检测的本质需求是"把异常区域替换掉、把正常区域原样保留"。高斯扩散的 forward 把两者都抹成噪声,backward 重构时正常区域也要"重新猜出来"——像素级对齐靠运气。薛定谔桥的 forward 是异常→正常的条件插值:结构信息(物体轮廓、纹理走向)天然保留在轨迹上,模型只需替换异常统计对应的分量。差异图的"底噪"因此小得多——这解释了 AP_seg 上 17.4% 的悬殊差距。

具体发现 → 凝练结论:

  • 具体发现一:Dirac 边界让训练退化为标准 score matching —— 结论:SB 的理论优雅性不必以训练复杂度为代价,关键在于边界条件的选取(锚定单个样本而非分布);
  • 具体发现二:NFE=10 后所有指标饱和 —— 结论:桥的终点固定,采样路径长度天然短于"从噪声长出图像";
  • 具体发现三:VisA 上反超 class-based 的 DDAD —— 结论:桥式结构保留在类别混杂(统一模型)场景下的优势更大,因为模型必须同时应付 12 类物体的结构。

六、局限与工程启示

局限:

  • 依赖 DRAEM 式异常增广来"教会"模型异常的统计外观——增广与真实异常的分布差距仍是隐忧(与 DRAEM 同源的问题);
  • VQ-VAE 的重构上限构成系统天花板;
  • 官方仓库当前仅有 README 占位(代码尚未实际放出,截至本文撰写)。

工程启示:

  • "边界条件工程"是扩散模型改造的通用杠杆:换掉高斯先验、锚定具体样本,就能把生成模型改造成分布间传输工具——同样的思路可用于图像修复、风格迁移、域转换;
  • 潜空间 + 半退化插值的组合让扩散检测器第一次有了"10 步推理"的实用延迟;
  • 对质检场景:统一模型省掉"每类一模型"的部署成本,94+ 的 VisA AUROC 说明跨类泛化已可用;
  • 评测建议:扩散系异常检测必须报 AP_seg/F1max_seg——AUROC 在高度不平衡的像素级任务上会掩盖巨大差距(Table 2 里 AUROC 差 1.2% 而 AP 差 17.4%)。

七、源码复现

  • 官方仓库:https://github.com/ShilhoraAkshayPatel/LASB ——截至本文撰写仓库仅有 README 占位(标题与论文一致,无代码文件)。
  • 本地目录:复现代码/2552-LASB/(仅 LICENSE + README)。

⚠️ 复现路径/未运行:论文源码尚未实际放出,以下为基于论文方法描述整理的参考实现与预期复现路径,非官方代码、非实际运行结果。

参考实现(依据论文式 (11)(12) 与 Algorithm 1/2 整理):

# 参考实现:Linear-SB 桥训练与采样(依据论文描述整理,非官方代码) import torch, torch.nn as nn, torch.nn.functional as F def bridge_posterior(z0, z1, t, beta): """论文式(11):给定边界对 (z0, z1) 的桥后验(解析形式)。 σ_t² = ∫₀ᵗ β, σ̄_t² = ∫ₜ¹ β(累计方差)。""" s2 = beta[:t].sum() # σ_t² s2bar = beta[t:].sum() # σ̄_t² mu = (s2bar / (s2bar + s2)) * z0 + (s2 / (s2bar + s2)) * z1 var = (s2bar * s2 / (s2bar + s2)) return mu, var def lasb_loss(net, z0_anom, z1_norm, beta): """论文式(12) + Algorithm 1:从桥后验采样 z_t, 网络预测 score,目标为 (z_t - z0)/σ_t。""" t = torch.randint(1, len(beta), (z0_anom.size(0),), device=z0_anom.device) mu, var = bridge_posterior(z0_anom, z1_norm, t, beta) z_t = mu + var.sqrt() * torch.randn_like(mu) target = (z_t - z0_anom) / beta[:t.max()].cumsum(0)[t - 1].sqrt().view(-1, 1, 1, 1) return F.mse_loss(net(z_t, t), target) @torch.no_grad() def lasb_sample(net, z_N, beta, steps=10): """Algorithm 2:DDPM 式采样,仅需 10 步 NFE。""" idx = torch.linspace(len(beta) - 1, 0, steps).long() z = z_N for n in idx: eps = net(z, n.view(1)) z0_pred = z - beta[:n + 1].sum().sqrt() * eps # 预测 z0 # p(z_{n-1} | z0_pred, z_n):桥后验一步回退 mu, var = bridge_posterior(z0_pred, z, max(n - 1, 0), beta) z = mu + var.sqrt() * torch.randn_like(mu) if n > 0 else z0_pred return z

预期复现路径:

  1. VQ-VAE:从 Stable Diffusion 的 VQ 权重初始化,在 MVTec/VisA 训练集(正常 + DRAEM 异常增广图)上 KL 微调至收敛后冻结;潜码 64×64×3。
  2. 异常增广:按 DRAEM 的 Perlin 噪声 + 外部纹理(DTD)管线生成增广对(正常图 → 异常图 + mask)。
  3. 训练 Linear-SB:U-Net 去噪网络(DDPM 架构),在潜空间用上面的桥损失训练;边界对为(增广异常潜码,正常潜码)。
  4. 推理与差异块:测试异常图 → 潜码 → 10 步桥采样 → 解码正常图;原图与重构图过 ImageNet 预训练 backbone 提多尺度特征、算差异图(与 DiAD 实现对齐)。
  5. 评测:AUROC/AP/F1max(cls + seg),对照 Table 1–3;扫描 NFE ∈ {1,2,5,10,100,1000} 复现 Table 4 的饱和曲线。
  6. 消融方向:pixel 空间 vs 潜空间、DDPM vs Linear-SB 损失、半退化插值 vs 逐级加噪(验证结构保留假设)。

7.4 复现时区分桥过程、重构器与异常评分器

LASB 的推理链包含潜变量编码、桥式采样、解码以及特征差异评分。复现时若只比较最终 AUROC,很难判断结果差异来自哪一环。建议分别检查 VQ-VAE 的正常图重构质量、桥采样后的图像结构保留程度,以及差异图对异常区域的响应。尤其是潜空间编码器若抹掉了细小缺陷,后续桥模型即使训练稳定也无法恢复被压缩丢失的信息;反过来,解码器产生的正常纹理差异也可能在热图里形成误报。

桥的边界样本配对也影响训练信号。正常图与合成异常图需要在场景结构上对应,使模型能够学习在保持背景布局的同时消除异常。若异常增广改变了大面积背景,模型可能学成整体重绘器,而非局部异常修复器。复现报告应注明异常纹理来源、mask 生成方式及异常覆盖比例,并展示不同类别的定性案例。DRAEM 式增广是论文训练方案的一部分,但其合成分布与真实缺陷的差距仍然是重要限制。

7.5 指标、采样步数与部署含义

异常检测中的图像级 AUROC 与像素级 AP/ F1max 衡量对象不同。像素级异常区域通常只占整张图很小比例,AUROC 可能在大量正常像素上看起来很高,却掩盖异常区域边界不准的问题;因此需要同时看 AP_seg 和 F1max_seg,并查看热图的空间定位。不同工作若使用不同特征骨干、阈值选择或插值方式,像素指标也可能不可直接横向比较。

论文显示 NFE 增加到 10 后指标趋于饱和,说明其特定数据与模型设置下可减少采样步数;部署前仍需在目标硬件和目标分辨率下测延迟、显存与吞吐。桥式模型并非完全无采样成本,也不意味着任何异常类型都能在 10 步获得同等精度。对高价值缺陷,可采用较多步数或对不确定样本触发二阶段检查;对实时质检,则应先验证低步数下漏检率是否仍满足业务要求。

八、总结

LASB 把薛定谔桥从最优传输理论搬进了异常检测的实战:用 Dirac 边界条件把理论上昂贵的 SB 训练化归为标准 score matching,在 VQ-VAE 潜空间学一条"异常→正常"的结构保持桥——省掉所有辅助网络,换来 MVTec 多类设定 99.14/98.66 的双 SOTA 和 AP_seg 上 17.4% 的领先,外加"10 步采样即饱和"的部署级效率。对被扩散异常检测的推理成本和定位精度同时折磨的团队,这是一条理论清晰、工程友好的新路线。

延伸阅读建议:薛定谔桥与 IPF(De Bortoli et al.、Shi et al.)、DRAEM(异常增广源头)、DiAD(潜空间扩散检测对照)、DDAD/GLAD/TransFusion(扩散系 SOTA)、UniAD/MambaAD(非扩散统一模型)、VQ-VAE 与 Stable Diffusion 的潜空间设计。

九、引用信息

论文引用:

Shilhora Akshay, Niveditha Lakshmi Narasimhan, Jacob George, Vineeth N Balasubramanian. A Unified Latent Schrödinger Bridge Diffusion Model for Unsupervised Anomaly Detection and Localization. CVPR, 2025.

论文 PDF:https://openaccess.thecvf.com/content/CVPR2025/papers/Akshay_A_Unified_Latent_Schrodinger_Bridge_Diffusion_Model_for_Unsupervised_Anomaly_CVPR_2025_paper.pdf

官方仓库:https://github.com/ShilhoraAkshayPatel/LASB (截至撰写为占位仓库,代码未放出)

相关新闻

银行模拟程序:数据结构选型与离散事件仿真实战

银行模拟程序:数据结构选型与离散事件仿真实战

1. 项目概述:为什么一个银行模拟程序能成为数据结构教学的“试金石”“数据结构-银行模拟程序”这个标题乍看平平无奇,但在我带过的十几届学生项目实践中,它几乎稳居“最能暴露基础漏洞”的榜首。不是因为它有多复杂,恰恰相反——…

2026/10/20 8:55:28 阅读更多 →
AI推理加速器设计实战:从算子映射到INT8量化落地全解析

AI推理加速器设计实战:从算子映射到INT8量化落地全解析

做硬件加速这几年来,被问得最多的一个问题就是:既然 CPU 和 GPU 都能跑模型,为什么还要自己折腾 AI 推理加速器?一开始我也觉得这是个伪需求,直到真在边缘侧设备上部署过几个模型才明白——通用处理器要么算力不够&…

2026/10/20 8:55:28 阅读更多 →
前后端分离AI客服系统:会话缓存优先的多级查询策略与DeepSeek流式接入

前后端分离AI客服系统:会话缓存优先的多级查询策略与DeepSeek流式接入

简介:这份资源是一套基于SpringBoot与Vue.js前后端分离架构的AI智能客服系统完整源码,面向具备Java与前端基础的开发者、课程设计或毕业设计人群,解决自然语言对话与高并发响应场景下的系统搭建问题。压缩包共63个文件、约23.76MB&#xff0c…

2026/10/20 8:55:28 阅读更多 →

最新新闻

AI课程矩阵实战路线:从提示词工程到API调用与批量部署

AI课程矩阵实战路线:从提示词工程到API调用与批量部署

AI 课程现在不难找,难的是判断一门课在你的成长路径里到底处于哪个位置。市面上大量课程要么只教提示词,要么直接堆 ComfyUI 节点,学完能复现案例,但换个场景就不会用了。“河南元力共生 AI 课程矩阵”这个提法,核心是…

2026/10/20 9:45:00 阅读更多 →
秋招十月下旬还没回音:剩下六周怎么排

秋招十月下旬还没回音:剩下六周怎么排

版权与内容来源声明 本文为原创整理。文中涉及官方文档、开源仓库、论文与公开报道的内容,均在附表 A 中标注来源;引用官方原文保持原样,不作改写。文中命令、版本号与界面截图以本文成文时的实测/核验结果为准,标注「待验证」的部…

2026/10/20 9:45:00 阅读更多 →
Matlab GUI实时均衡器:IIR滤波器零极点与音频信号流协同设计

Matlab GUI实时均衡器:IIR滤波器零极点与音频信号流协同设计

简介:本资源是一份面向数字信号处理初学者与Matlab GUI入门者的实践型教学项目,聚焦音频信号频率响应调节这一典型应用场景,帮助学习者掌握IIR滤波器设计原理与交互式界面开发方法。压缩包共3个文件(2个.m主程序与辅助函数、1个.f…

2026/10/20 9:45:00 阅读更多 →
企业网盘选型实测:安全管控与协作效率深度对比

企业网盘选型实测:安全管控与协作效率深度对比

测评类文章最容易犯的毛病,就是把配置参数罗列一通,最后丢一句“按需选择”就完事。这篇不一样,我从企业实际使用的角度出发,把真正影响日常协作和数据安全的关键点都拆开讲清楚,包括那些厂商不会主动告诉你的限制和坑…

2026/10/20 9:45:00 阅读更多 →
AI日报系统设计与实现:从RSS聚合到智能摘要生成

AI日报系统设计与实现:从RSS聚合到智能摘要生成

我无法基于当前输入生成符合要求的博文。原因如下:输入中项目标题为“AI 日报(2026年10月10日)”,但该标题本身不具备可拆解的实质性项目属性——它是一个时间标记型信息聚合名称,而非具体技术实现、工具开发、系统搭建…

2026/10/20 9:45:00 阅读更多 →
FPGA+AD/DA协同设计:H题信号发生器与频谱分析的时序工程实践

FPGA+AD/DA协同设计:H题信号发生器与频谱分析的时序工程实践

简介:本资源为2024年全国大学生电子设计竞赛H题完整参赛代码工程包,面向电子类、自动化、通信等专业本科生及嵌入式开发初学者,聚焦高实时性、强稳定性嵌入式系统实现场景。压缩包含180个文件,主体为C语言源码(c/h&…

2026/10/20 9:43:58 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →