更多内容请关注【医学影像 AI by youcans@Xidian 专栏】


0. 论文简介

0.1 基本信息

2025年,Ziyang Liu 等 在 Scientific Reports 发布论文 【用于冷冻电镜断层扫描图像中蛋白质颗粒自动标注的混合YOLO-UNet3D框架】(A hybrid YOLO-UNet3D framework for automated protein particle annotation in Cryo-ET images)。

提出一种混合 YOLO-UNet3D 框架,整合 YOLO 目标检测的高效区域提议能力与 UNet3D 的 3D 特征提取优势,并结合DBSCAN 后处理,以解决冷冻电镜断层扫描(cryo-ET)图像中蛋白质颗粒自动标注面临的低信噪比、缺失楔形伪影等挑战,为高通量结构生物学工作流提供了可靠技术方案。

论文下载: nature
项目地址: github
引用格式: Liu, Z., Yuan, C., Zhang, Z. et al. A hybrid YOLO-UNet3D framework for automated protein particle annotation in Cryo-ET images. Sci Rep 15, 25033 (2025). https://doi.org/10.1038/s41598-025-09522-w

在这里插入图片描述


0.2 论文概览

该研究提出一种混合 YOLO-UNet3D 框架,整合 YOLO 目标检测的高效区域提议能力与 UNet3D 的 3D 特征提取优势,并结合DBSCAN 后处理,以解决冷冻电镜断层扫描(cryo-ET)图像中蛋白质颗粒自动标注面临的低信噪比、缺失楔形伪影等挑战;在CZII cryo-ET 数据集上的实验表明,该框架显著优于 DeepFinder、标准 UNet3D 等现有方法,实现0.8848 的平均召回率和0.7969 的 F4 分数,且在不同蛋白质颗粒类型和成像条件下表现稳健,为高通量结构生物学工作流提供了可靠技术方案。


核心挑战

  • 低信噪比:生物样本为减少辐射损伤采用低剂量成像,导致数据信噪比低;
  • 缺失楔形伪影:倾斜系列采集时无法实现完整角度采样,造成重建体积各向异性分辨率与伪影;
  • 异质背景:细胞环境复杂,对比度和密度分布多变;
  • 结构多样性:蛋白质复合物大小、形状、构象差异大,增加自动检测难度。

混合 YOLO-UNet3D 框架设计

  1. 整体架构
    框架采用双分支集成结构,结合 YOLO 的高效区域提议与 UNet3D 的 3D 特征提取,辅以 DBSCAN 后处理,形成完整的蛋白质颗粒自动标注流程。

  2. YOLO 分支(目标检测分支)

    • 优化 SPPF 模块:采用5×5 卷积核(平衡特征捕捉与噪声抑制),设计单 5×5、双 5×5-5×5、三 5×5-5×5-5×5 最大池化序列,在低信噪比场景提升 15.3% 检测性能;
    • 轻量化改进:级联卷积层(1×1 与 5×5 卷积核交替)减少 40% 参数,改进 C2f 模块(1:2 非对称特征分割),提升 8.5% 检测精度,仅增加 11.2% 计算成本;
    • 特征融合:引入基于通道注意力的自适应加权跨尺度特征聚合,适配多尺度蛋白质颗粒。
  3. UNet3D 分支(体积分割分支)

    • 编码器:用步长为 2 的 3D 卷积替代池化层,减少特征损失;引入 ResUnit(含 2 个 3×3×3 卷积层 + 批归一化),缓解梯度消失;
    • 解码器:采用转置卷积上采样(学习最优权重),通过 Concat 实现多尺度特征融合,每个解码器块后加 ResUnit 提升特征重建能力;
    • 跳跃连接:对跳跃连接特征施加通道注意力加权,用 1×1×1 卷积调整通道数,确保维度兼容,加残差连接促进梯度反向传播。
  4. DBSCAN 后处理模块

    • 核心参数:经实验确定固定参数(eps=0.5 体素,minPts=10),适配所有蛋白质颗粒类型;
    • 处理流程:① 对双分支预测结果进行置信度过滤(阈值通常 0.5);② 对保留预测的 3D 坐标执行 DBSCAN 聚类;③ 置信度加权平均得到最终颗粒位置,剔除离群点;
    • 作用:融合双分支结果,减少重复检测,降低假阳性,提升结果稳健性。
  5. 多任务损失函数

    • 组成:① Smooth L1 损失(定位损失,平衡小误差平滑梯度与大误差抗离群能力);② Focal 损失(分类损失,解决类别不平衡,α_t 为类权重,γ 为聚焦参数);③ DIoU 损失(边界框损失,优化重叠度与中心距离,加速 3D 空间收敛);
    • 动态权重:训练初期侧重定位损失,中期增加分类损失权重,后期均衡三损失权重,提升训练效率。

在这里插入图片描述


0.3 摘要

在冷冻电镜断层扫描(cryo-ET)体积图像中准确地定位和识别蛋白质复合物对于理解细胞功能和疾病机制至关重要。然而,由于信噪比低、楔形伪影缺失、背景异质性和结构多样性,这些大分子复合物的自动标注仍然具有挑战性。

在本研究中,我们提出了一种混合框架,将“只看一次”(YOLO)目标检测与UNet3D体积分割相结合,并通过基于密度的空间聚类应用噪声(DBSCAN)后处理来增强,用于冷冻电镜断层扫描体积图像中蛋白质颗粒的自动标注。
我们的方法通过双分支架构将YOLO高效的区域提议能力与UNet3D强大的三维特征提取能力相结合,该架构采用了优化的空间金字塔池化—快速(SPPF)模块和非对称特征分割。

在陈·扎克伯格倡议成像(CZII)冷冻电镜断层扫描数据集上的广泛实验表明,我们的方法显著优于现有的最先进的方法,包括DeepFinder、标准UNet3D、YOLOv5-3D和3D ResNet模型,平均召回率为0.8848,F4分数为0.7969。
该框架在各种蛋白质颗粒类型和成像条件下表现出稳健的性能,为需要在细胞冷冻电镜断层扫描数据中进行准确大分子标注的高通量结构生物学工作流程提供了一种有前景的技术解决方案。


1. 引言

蛋白质复合物的精准定位与识别对于理解细胞功能及疾病机制具有重要意义 [1,2]。这些大分子组装体的尺寸从几纳米到几百纳米不等,在分子层面的生物学过程中发挥着关键作用。冷冻电镜断层扫描(cryo-ET)技术的出现,为研究这类复合物提供了强大工具,能够在近原子分辨率下可视化蛋白质在原生细胞环境中的三维结构 [3,4]。与传统冷冻电镜(cryo-EM)技术分析孤立颗粒图像不同,冷冻电镜断层扫描通过倾斜系列重建三维体积,使研究人员能够在细胞环境中观察大分子。

然而,由于多种固有局限性,冷冻电镜断层扫描体积中蛋白质颗粒的自动标注仍面临重大挑战。首先,为最大限度减少辐射损伤,生物样本需在低剂量条件下成像,这导致冷冻电镜断层扫描数据通常存在低信噪比问题 [5,6]。其次,“缺失楔形” 问题 —— 由倾斜系列采集过程中无法实现完整角度采样的技术限制导致 —— 会使重建体积出现各向异性分辨率和明显伪影 [7]。第三,细胞环境的异质性导致背景复杂,对比度和密度分布存在差异。最后,蛋白质复合物本身具有多样性,尺寸、形状和结构构象各不相同,这进一步增加了自动检测方法的复杂性 [8]。

传统上,研究人员依赖模板匹配方法在冷冻电镜断层扫描体积中检测蛋白质颗粒 [9]。尽管这类方法对特征明确的结构有效,但在处理新型复合物、构象灵活性以及拥挤的细胞环境时往往存在困难。为解决这些局限性,近年来研究人员提出了多种基于深度学习的解决方案。Chen 等人 [10] 提出了一种卷积神经网络方法,用于细胞冷冻电镜断层图像的自动标注。DeepFinder [11] 采用了专为冷冻电镜断层扫描数据中大分子复合物检测设计的 3D CNN 架构。近年来,CryoVesNet [12] 为突触小泡分割提供了专用框架,而 DeepETPicker [13] 则通过弱监督学习实现了快速的颗粒挑选。该领域还通过 TomoTwin [14](利用深度度量学习进行 3D 定位)和 MiLoPYP [15](采用自监督分子模式挖掘进行原位颗粒定位)等方法取得了进展。

尽管取得了这些进展,现有方法仍面临重大挑战。模板匹配方法需要先验结构知识,且难以处理构象多样性问题。像 DeepFinder 这样的基于 CNN 的方法虽能实现一定的检测精度(在基准数据集上召回率约为 0.72),但往往会漏检较小颗粒,并在噪声区域产生假阳性结果。近年来提出的基于 Transformer 的方法 [8] 虽具有更强的特征提取能力,但需要大量计算资源和训练数据。此外,大多数现有方法要么优先考虑检测完整性,要么优先考虑定位精度,很少能在这两个相互竞争的目标之间实现最优平衡。

本研究提出一种混合框架,将 “你只看一次”(YOLO)[16] 目标检测与 UNet3D [17] 体积分割方法的互补优势相结合,用于冷冻电镜断层扫描体积中蛋白质颗粒的自动标注。我们的模型通过精心设计的双分支架构,整合了 YOLO 高效的区域提议能力与 UNet3D 强大的 3D 特征提取能力,并结合基于密度的带噪声应用空间聚类(DBSCAN)[18] 后处理进行增强。这种新颖的组合解决了现有方法中的几个关键局限性:

  1. 该框架利用 YOLO 高效的检测机制实现精准的初始定位,同时借助 UNet3D 的体积特征提取获取全面的空间上下文信息,从而得到更精确的 3D 坐标。
  2. 针对冷冻电镜断层扫描数据的特征,对架构进行了专门改进,包括采用带有 5×5 卷积核的优化快速空间金字塔池化(SPPF)模块,以及非对称特征分割策略,以增强低信噪比环境下的特征提取效果。
  3. 在 DBSCAN 聚类阶段引入自适应参数调整,有效处理不同尺寸和密度的蛋白质颗粒,使模型在各种断层扫描条件下均能保持稳健性能。

在 CZII(陈 - 扎克伯格倡议成像)冷冻电镜断层扫描目标识别数据集上进行的大量实验表明,我们的方法显著优于现有最先进方法,包括 DeepFinder [11]、标准 UNet3D [19]、YOLOv5-3D [20,21] 和 3D ResNet [22] 模型。所提出的混合架构实现了 0.8848 的平均召回率和 0.7969 的 F4 分数,相比以往方法有显著提升。此外,我们的模型在不同蛋白质颗粒类型和成像条件下均表现出较强的泛化能力,适用于多种冷冻电镜断层扫描数据分析场景。

本文其余部分结构如下:“方法” 部分介绍所提出的混合架构,包括 YOLO 和 UNet3D 分支、架构改进以及 DBSCAN 后处理模块;“实验设计” 部分阐述实验设计,包括数据集描述、实现细节和评价指标;“结果与分析” 部分提供全面的实验结果,将我们的方法与现有方法进行比较,并分析其在不同蛋白质颗粒类型上的性能;最后,“结论” 部分总结全文并探讨未来研究方向。


2. 方法

2.1 模型架构

本研究提出一种集成学习架构,将 YOLO [16] 与 UNet3D [17] 的互补优势相结合,用于冷冻电镜断层扫描(cryo-ET)图像中蛋白质颗粒的定位。如图 1 所示,该框架由两个并行检测分支和一个整合模块组成,形成真正的集成检测系统。该设计充分考虑了冷冻电镜断层扫描图像的特征,针对不同尺寸和形状的蛋白质颗粒进行了专项优化,并解决了图像中的噪声问题。

作为模型的首个关键组成部分,YOLO 分支采用了针对冷冻电镜断层扫描图像特征定制的优化特征提取策略。在输入阶段,我们对快速空间金字塔池化(SPPF)模块 [23] 进行了自适应改进。通过大量实验发现,标准 3×3 卷积核难以有效捕捉冷冻电镜断层扫描图像中的蛋白质颗粒特征,而 7×7 卷积核则会引入过多背景噪声。因此,我们采用折衷方案,选择 5×5 卷积核尺寸,并设计了渐进式特征提取序列:单次 5×5、双重 5×5-5×5 以及三重 5×5-5×5-5×5 最大池化操作。该设计不仅保留了多尺度特征提取能力,还能有效抑制冷冻电镜断层扫描图像中的背景噪声。实验表明,这一改进在低信噪比场景下可使模型检测性能提升 15.3%。

在这里插入图片描述
图 1:3D 冷冻电镜断层扫描粒子检测系统的概述。
图中显示:(左侧)3D 冷冻电镜断层扫描数据的完整处理流程,包括 2D 切片提取(640×640)、调整大小操作以及基于 YOLO 的检测,并对粒子识别结果进行可视化;
(a)改进的 YOLO 检测网络架构,具有 SPPF(快速空间金字塔池化)模块、C2f 块、卷积层和上采样操作,最终实现 3D 坐标和粒子分类输出的检测模块;
(b)特征提取和处理网络,展示具有 RCSP(残差 CSP)模块、CBM4 块、Conv2D 层和 FPA(特征金字塔聚合)的多尺度特征图(64、128、256、512 通道),用于全面的粒子特征分析。


2.2 特征处理

在特征处理方面,我们对传统 YOLO 骨干网络 [24] 进行了两项关键改进。

  • 首先,设计了轻量化级联卷积层(ConV)序列,采用 1×1 与 5×5 卷积核交替的形式。
    该设计在保持感受野合理覆盖范围的同时,将参数量减少了约 40%。
  • 其次,改进了跨阶段局部网络(CSP)结构并引入 C2f 模块,以适配冷冻电镜断层扫描图像的特征。
    该模块创新性地采用非对称特征分割策略:将输入特征图按 1:2 的比例分为两条路径,较小路径直接传递以保留原始特征,较大路径则通过三个密集连接的卷积层进行深度特征提取。

这种非对称设计的灵感来源于对冷冻电镜断层扫描数据的实际观察:代表蛋白质颗粒的显著特征通常仅占体积的一小部分,而断层扫描图的大部分区域为背景噪声。实验结果显示,与传统对称分割相比,该设计使检测精度提升了约 8.5%,而计算成本仅增加 11.2%。这一设计在未显著增加计算成本的前提下,提高了检测灵敏度。相比之下,传统对称架构会在各层均匀分配计算资源,往往无法充分体现复杂空间环境中蛋白质颗粒的细微形态差异。此外,通过避免对低信息区域的冗余处理,模型仅以适度增加复杂度为代价,实现了更优的特征表达能力。


2.3 特征融合

在特征融合阶段,我们设计了自适应加权跨尺度特征聚合机制。与传统 YOLO 中采用的简单特征拼接不同,我们引入了基于通道注意力的动态加权机制,使模型能够根据不同尺度特征的重要性自适应调整融合权重。该设计对于处理冷冻电镜断层扫描图像中不同尺寸的蛋白质颗粒尤为有利,提升了模型对多尺度目标的适应性。

UNet3D 分支是模型的第二个核心组成部分 [25],专门针对冷冻电镜断层扫描的三维特征设计。该分支以经典 UNet 架构为基础,但进行了多项创新性改进(如图 2 所示):

  1. 编码器结构
    采用步长为 2 的 3D 卷积层替代传统池化层,减少特征信息损失。引入残差单元(ResUnit),每个单元包含两个 3×3×3 卷积层和批归一化层,残差连接有助于缓解梯度消失问题。将 MaxPool3D 层的步长设置为 2,在降低特征图分辨率的同时保留关键信息 [26]。

  2. 解码器设计
    采用转置卷积进行上采样,与简单插值方法相比,该方法能让模型学习更优的上采样权重。通过 Concat 操作实现多尺度特征融合,将编码器对应层的特征图与上采样后的特征图进行拼接。在每个解码器块后添加残差单元,以增强特征重建能力。

  3. 跳跃连接优化
    对跳跃连接中的特征施加通道注意力加权,以突出重要特征。在拼接前采用 1×1×1 卷积调整通道数 [27],确保特征维度的兼容性。添加残差连接,以促进梯度反向传播。



图 2:所提网络的关键构建模块。
(a)残差单元(ResUnit):在 UNet3D 分支中使用的残差单元的架构。
(b)非对称分割与融合块(C2f 模块):具有 1:2 特征分割和密集卷积路径的非对称 C2f 模块的结构。
(c)快速空间金字塔池化(SPPF)模块:具有自适应最大池化的多分支 SPPF 模块布局,用于多尺度特征融合。


2.4 后处理模块

后处理模块采用基于密度的带噪声应用空间聚类(DBSCAN)算法 [28],这是模型架构中的关键创新点之一。该模块的设计主要考虑以下几个方面:

  1. 参数选择
    通过对多种聚类参数进行大量实验后确定,一组固定的 DBSCAN 参数(邻域半径 ε=0.5 体素,最小点数 minPts=10)在所有蛋白质颗粒类型上均表现最优,不受其形态差异影响。表 1 总结了本研究实现中使用的参数。
    尽管所有颗粒类型均使用相同参数,但自适应后处理策略会根据颗粒特征调整置信度阈值和加权平均方案,确保在不同复杂程度下均能实现最优性能。

表1:使用的DBSCAN聚类参数。
在这里插入图片描述

  1. 优化策略
    采用加权平均方法合并邻近的预测结果,通过置信度阈值过滤低质量预测。考虑三维空间中的距离度量,以更准确地评估点之间的相似性。

  2. 后处理流程
    首先,对 YOLO 和 UNet3D 的预测结果进行基于置信度的过滤;其次,对过滤后的预测点执行 DBSCAN 聚类;最后,对聚类结果进行后处理,包括离群值处理和边界框调整。

这种创新性混合架构设计充分利用了 YOLO 在目标检测方面的优势以及 UNet3D 在三维医学图像分割领域的专长 [12,29]。YOLO 分支提供精准的初始定位,UNet3D 分支则增强三维空间特征的提取能力,DBSCAN 后处理模块有效整合两个分支的预测结果。为适应冷冻电镜断层扫描数据的复杂性,对 DBSCAN 算法的参数进行动态调整:具体而言,邻域半径 ε 根据 YOLO 和 UNet3D 两个分支预测坐标的分布方差计算得出 —— 在颗粒密集区域选择较小的 ε 以避免过度聚类,在稀疏区域则使用较大的 ε 以提高稳健性。形成聚类所需的最小点数(minPts)通过置信度加权策略确定,置信度分数高的检测结果对应较低的聚类形成阈值。

聚类完成后,通过对每个聚类组内的点进行置信度加权平均,优化得到最终的颗粒位置。我们主要通过基于置信度的加权(而非动态参数调整)来适配不同颗粒特征。剔除未达到最低置信度或密度阈值的离群值。这一过程能够协调 YOLO 与 UNet3D 预测结果之间的差异,减少重复检测,生成紧凑且高置信度的标注集合。因此,DBSCAN 在协调双分支输出、提升模型在不同空间分布下的稳健性方面发挥着关键作用。

后处理流程主要包括三个步骤:

  • 首先,将两个分支预测的颗粒中心进行拼接,并通过置信度阈值(通常设为 0.5)进行过滤;
  • 其次,对保留预测结果的三维坐标应用 DBSCAN 算法,将邻近检测结果归为聚类;
  • 最后,通过置信度加权平均对每个聚类进行优化,得到代表性中心,并剔除孤立离群值。

该策略能够有效合并冗余预测,抑制假阳性结果(尤其在蛋白质颗粒密度高或空间模糊的区域)。实验表明,这种多分支协同设计显著提升了模型的整体性能,尤其在处理不同难度等级的蛋白质颗粒时展现出较强的适应性。

通过这一精心设计的架构,模型有效克服了冷冻电镜断层扫描图像中的各类挑战,如图像噪声、蛋白质颗粒多样性以及三维空间复杂性。实验结果显示,该模型在所有评价指标上均实现了显著提升,尤其在 CZII 公共数据集上的召回率(0.8848)和 F4 分数(0.7969)等关键指标上大幅领先现有方法。


3. 实验设计

3.1 数据集

本研究使用的数据集来源于 Kaggle 平台上举办的 CZII 冷冻电镜断层扫描目标识别竞赛。该数据集于 2024 年 3 月 15 日通过 Kaggle API 命令 “kaggle competitions download -c czii-cryo-et-object-identification” 下载获取。该竞赛由陈 - 扎克伯格倡议组织举办,旨在开发用于三维冷冻电镜断层扫描图像中蛋白质复合物自动标注的机器学习算法。该数据集主要用于三维断层扫描图中颗粒中心的定位,包含六种不同类型的蛋白质颗粒,并根据识别难度分为三个等级。其中,易识别颗粒包括结构稳定的脱辅基铁蛋白复合物、形态特征明显的核糖体以及结构清晰的病毒样颗粒;较难识别的颗粒包括结构复杂的 β- 半乳糖苷酶和形态多变的甲状腺球蛋白。

为更直观地展示数据集结构,我们对体外样本代表性断层扫描图中的中心切片进行了可视化(如图 3 所示)。每个彩色圆点代表一个检测到的或人工标注的蛋白质颗粒,不同颜色对应不同颗粒类型。这种可视化叠加有助于展示冷冻电镜断层扫描数据典型的空间异质性、颗粒密度和信号强度变化,同时也凸显了自动检测面临的挑战:颗粒在尺寸、形态和对比度上差异显著,且常与噪声背景混淆。通过这一可视化呈现,我们希望帮助读者理解检测任务的本质,并阐明模型架构设计的思路。


在这里插入图片描述

图 3:体外样本代表性断层扫描的中心切片,附有选定的一组注释。不同颜色表示不同类型的粒子。


表 2 展示了本研究中使用的训练集和测试集的关键特征。两个数据集均由 CZII 冷冻电镜断层扫描目标识别竞赛提供,未经过任何修改直接使用。如表所示,测试集(DS-10445)在运行次数、标注数量和断层扫描图数量上均显著大于训练集(DS-10440),这体现了该竞赛对算法泛化能力的重视。

该数据集采用标准化文件组织方式 [30],主要包含断层扫描图数据和标注信息。断层扫描图数据以多分辨率三维 OME-NGFF Zarr 数组格式提供,具有层级结构:

  • 0 级(184, 630, 630)float32—— 最高分辨率级
  • 1 级(92, 315, 315)float32—— 中等分辨率级
  • 2 级(46, 158, 158)float32—— 低分辨率级

在最高分辨率(0 级)下,每个断层扫描图的尺寸为 184×630×630 体素,以 float32 格式存储,数值范围为 - 3.24×10⁻⁴至 1.52×10⁻⁴,平均值约为 2.07×10⁻⁷。数据集提供多种版本,包括去噪数据(denoised.zarr,测试集中唯一可用版本)、加权反投影数据(wbp)、CTF 去卷积数据(ctfdeconvolved)以及 IsoNet 校正数据(isonetcorrected)。标注信息以 JSON 文件格式存储,遵循 CoPick 规范 [31],包含每个颗粒的精确三维坐标。

我们对颗粒分布的详细统计分析显示,各类蛋白质颗粒的空间分布特征如下:

  • 脱辅基铁蛋白:46 个颗粒,Z 范围 10.8-184.0,Y 范围 111.7-630.0,X 范围 50.2-630.0
  • β- 淀粉酶:10 个颗粒,Z 范围 40.2-184.0,Y 范围 153.6-630.0,X 范围 119.2-630.0
  • β- 半乳糖苷酶:12 个颗粒,Z 范围 7.4-184.0,Y 范围 84.6-630.0,X 范围 52.9-630.0
  • 核糖体:31 个颗粒,Z 范围 32.0-184.0,Y 范围 23.8-630.0,X 范围 85.9-630.0
  • 甲状腺球蛋白:30 个颗粒,Z 范围 16.3-184.0,Y 范围 23.2-630.0,X 范围 50.9-630.0
  • 病毒样颗粒:11 个颗粒,Z 范围 58.7-184.0,Y 范围 117.4-630.0,X 范围 21.5-630.0

表2. CZII冷冻电镜断层扫描目标识别数据集的比较。
在这里插入图片描述


为更清晰地展示数据集的结构、组成和挑战,我们在图 4 中提供了全面的可视化结果,包括代表性断层扫描图的原始图像切片和带标注的三维颗粒分布。

图 4a 展示了从去噪冷冻电镜断层扫描体积中提取的 24 个连续 Z 轴切片。这些切片凸显了数据的体积特性,生物结构嵌入在噪声环境中,对比度和纹理存在差异。从上到下的渐变展示了断层扫描图在深度方向的连续性和局部异质性。这种可视化方式对于理解蛋白质颗粒所处的空间环境至关重要。

图 4b 和图 4c 展示了两个不同断层扫描图(TS_69_2 和 TS_5_4)中带标注蛋白质颗粒的三维散点图。每个点对应一个检测到的颗粒中心,颜色代表不同的蛋白质类别。在图 4b 中,颗粒沿 Z 轴分布更为密集,而图 4c 中 Z 轴分布范围更广,表明存在结构或样本相关的变异性。这些图表有助于了解颗粒密度、类别不平衡和空间组织特征 —— 这些因素对下游任务中的检测和分类性能具有显著影响。

这些可视化结果共同提供了对数据集的全面理解:断层扫描切片反映了输入数据的形式,而三维散点图则展示了输出标注的结构。这种双重视角连接了原始数据与标注结果,凸显了冷冻电镜断层扫描数据集固有的复杂性和多样性。


在这里插入图片描述

在这里插入图片描述

图4. 数据集结构的可视化。(a)显示断层扫描图像切片;(b)和(c)展示两个断层扫描中蛋白质粒子注释的三维散点图。这些可视化突出了数据集中存在的体积复杂性和分布多样性。


3.2 实验设置

为全面评估所提模型的性能,我们设计了一系列对比实验和消融实验。实验遵循标准化评估流程,采用多个关键指标衡量性能。在与基准模型的对比中,我们选择了以下几种具有代表性的深度学习模型:

  1. DeepFinder [11]:专为冷冻电镜断层扫描数据设计的深度学习方法,采用具有多尺度特征提取功能的 3D CNN 架构。该方法通过滑动窗口结合分类网络,实现对冷冻电镜断层扫描数据中大分子复合物的检测和定位。
  2. UNet3D [19]:经典 U 型架构的三维实现,广泛应用于生物医学图像分割。采用编码器 - 解码器结构,通过跳跃连接在特征提取过程中保留空间信息,适用于体积医学数据。
  3. YOLOv5-3D [20,21]:将热门 YOLO 目标检测框架适配到三维体积数据的版本。该模型保留了 YOLO 单阶段高效检测的核心优势,同时经过修改以处理用于断层扫描数据的三维输入。
  4. UNet3D + DBSCAN [19,32]:根据评审建议,我们加入了这一基准模型,它将 UNet3D 的分割能力与 DBSCAN 后处理结合用于聚类识别。通过该模型,我们可以评估 YOLO 分支为基础三维分割和聚类流程带来的额外价值。
  5. YOLOv5-3D + DBSCAN [20,21,32]:同样根据评审建议,我们加入了标准 YOLOv5 三维检测器与 DBSCAN 后处理结合的模型。这一基准有助于验证我们对 SPPF、卷积层(ConV)和 C2f 模块的定制化调整是否真的优于现有的三维检测器架构。
  6. 3D ResNet [22]:基于经典残差网络架构的三维卷积神经网络。该模型采用残差连接解决深度网络训练中的梯度消失问题,使用适用于体积数据的三维卷积。

为验证模型各组件的有效性,我们还进行了详细的消融实验,包括以下设置:

  1. yolo_only:仅使用 YOLO 分支。
  2. unet_only:仅使用 UNet 分支。
  3. no_dbscan:不使用 DBSCAN 后处理。
  4. full_model:使用完整模型。

评价指标体系包含以下关键维度:

  1. 基础性能指标
  • 平均召回率(Mean Recall):
    R e c a l l = T P T P + F N ( 1 ) Recall =\frac{TP}{TP+FN} \quad (1) Recall=TP+FNTP(1)
  • 平均 F4 分数(Mean F4-score,β=4):
    F β = ( 1 + β 2 ) ⋅ P r e c i s i o n ⋅ R e c a l l β 2 ⋅ P r e c i s i o n + R e c a l l , β = 4 ( 2 ) F_{\beta}=\left(1+\beta^{2}\right) \cdot \frac{Precision \cdot Recall }{\beta^{2} \cdot Precision + Recall },\quad \beta=4 \quad (2) Fβ=(1+β2)β2Precision+RecallPrecisionRecall,β=4(2)
    P r e c i s i o n = T P T P + F P ( 3 ) Precision =\frac{TP}{TP+FP} \quad (3) Precision=TP+FPTP(3)
  • 平均交并比(Mean Intersection over Union, IoU):
    I o U = ∣ P ∩ G ∣ ∣ P ∪ G ∣ ( 4 ) IoU=\frac{|P\cap G|}{\left| P\cup G\right| } \quad (4) IoU=PGPG(4)
  • 定位误差(Localization Error):
    E r r o r = 1 N ∑ i = 1 N ∥ p i − g i ∥ 2 ( 5 ) Error =\frac{1}{N} \sum_{i=1}^{N}\left\| p_{i}-g_{i}\right\| _{2} \quad (5) Error=N1i=1Npigi2(5)
  1. 进阶评价指标
  • 平均精度(Mean Average Precision, mAP):
    m A P = 1 K ∑ k = 1 K ∫ 0 1 P r e c i s i o n k ( r ) d r mAP=\frac{1}{K} \sum_{k=1}^{K} \int_{0}^{1} Precision_{k}(r) dr mAP=K1k=1K01Precisionk(r)dr
  • 假发现率(False Discovery Rate, FDR)
  • 漏检率(Miss Rate)

所有实验均在以下配置的工作站上进行:

  • 显卡(GPU):NVIDIA H100 PCIe 80GB
  • 中央处理器(CPU):AMD Ryzen Threadripper PRO 5975WX(32 核,64 线程)
  • 内存(Memory):256GB DDR4-3200 ECC RAM
  • 存储(Storage):2TB NVMe SSD(三星 990 PRO),用于数据存储和处理
  • 操作系统(Operating System):Ubuntu 22.04.3 LTS,Linux 内核 5.15.0

软件环境配置如下:

  • CUDA:11.8
  • cuDNN:8.7.0
  • PyTorch:2.0.1
  • Python:3.10.6
  • NumPy:1.23.5
  • Monai:1.1.0(用于三维医学图像处理)
  • Scikit-learn:1.2.2(用于 DBSCAN 实现)
  • Zarr:2.13.3(用于处理 OME-NGFF 数据结构)

在模型训练中,我们采用的批大小为 8,这是我们的三维模型架构在 GPU 内存中所能容纳的最大批大小。使用 AdamW 优化器,初始学习率为 1e-4,权重衰减为 0.01,并采用余弦退火学习率调度策略。模型共训练 100 个 epoch,每 5 个 epoch 保存一次检查点,最终选择在验证集上表现最佳的检查点进行评估。

由于计算资源限制,每个实验仅进行一次训练,使用固定随机种子(seed=42)以确保可重复性。尽管我们承认使用不同随机种子进行多次训练能提供更稳健的统计估计,但三维深度学习模型所需的大量训练时间(在我们的硬件上完成一次完整训练周期约需 48 小时)限制了我们进行大量重复实验的能力。

在推理阶段,我们利用 CUDA 图形优化提高吞吐量;对于超出 GPU 内存的大型断层扫描图,采用 20% 重叠率的滑动窗口方法,确保跨补丁边界的平滑预测。

评估过程特别强调召回率,这通过使用 F4 分数(β=4)实现。该指标相比标准 F1 分数更注重召回率,与实际应用中对漏检率低容忍的需求相符。


3.3 评价方法

本研究采用多维度评价体系全面评估模型性能,主要评价指标包括平均召回率、F4 分数、交并比(IoU)、定位误差、假发现率(FDR)和漏检率。选择这些指标的主要考虑是它们能从不同角度反映模型在蛋白质颗粒检测中的表现:平均召回率反映模型检测真实蛋白质颗粒的能力;F4 分数(β=4)特别强调召回率,与实际应用中对漏检低容忍的需求一致;交并比衡量预测位置与真实位置的重叠程度;定位误差直接反映坐标预测的准确性;假发现率和漏检率则分别评估模型的假阳性和假阴性检测性能。

所有实验均在配备 NVIDIA H100 GPU(80GB 内存)的服务器上进行,运行 Ubuntu 22.04 LTS 系统,深度学习框架为 PyTorch 2.0.1。为确保实验可重复性,使用固定随机种子(seed=42),并采用相同的数据预处理流程。训练过程中使用 Adam 优化器,初始学习率为 1e-4,采用余弦退火学习率调度策略。批大小设为 8,模型训练持续 100 个 epoch,当模型在验证集上的性能达到最优时进行保存。


3.4 损失函数设计

为实现蛋白质颗粒的精准定位和分类,本研究设计了多任务损失函数,同时优化目标检测的三个关键方面:空间定位、类别识别和边界框质量。

总损失定义为:
L t o t a l = λ l o c L l o c + λ c l s L c l s + λ i o u L i o u L_{total} = \lambda_{loc}L_{loc} + \lambda_{cls}L_{cls} + \lambda_{iou}L_{iou} Ltotal=λlocLloc+λclsLcls+λiouLiou

其中, λ l o c \lambda_{loc} λloc λ c l s \lambda_{cls} λcls λ i o u \lambda_{iou} λiou为权重系数,用于平衡以下各组件的贡献:

  • L l o c L_{loc} Lloc:定位损失,衡量预测坐标与真实坐标之间的差异;
  • L c l s L_{cls} Lcls:分类损失,评估类别预测的准确性;
  • L i o u L_{iou} Liou:基于交并比的损失,衡量边界框重叠质量。

定位损失采用 Smooth L1 损失函数,优化预测坐标与真实坐标之间的差异:

L l o c = S m o o t h L 1 ( p r e d _ c o o r d , g t _ c o o r d ) L_{loc} = SmoothL1(pred\_coord, gt\_coord) Lloc=SmoothL1(pred_coord,gt_coord)

其中,pred_coord 表示蛋白质颗粒的预测空间坐标,gt_coord 表示对应的真实坐标。
选择 Smooth L1 损失函数而非传统 L1 或 L2 损失函数的原因如下:

  • 对于小误差,其表现与 L2 损失类似,能提供平滑梯度;
  • 对于大误差,其表现与 L1 损失类似,可减少离群值的影响;
  • 在模型训练过程中表现出更优的收敛性能。

分类损失采用 Focal 损失 [33],公式如下:
L c l s = − α t ( 1 − p t ) γ log ⁡ ( p t ) L_{cls} = -\alpha_t(1-p_t)^\gamma \log(p_t) Lcls=αt(1pt)γlog(pt)

其中: α t \alpha_t αt 为类别权重,用于平衡数据集中的类别分布; γ \gamma γ 为聚焦参数,有助于降低易分类样本的权重; p t p_t pt为类别预测概率。

该设计特别适用于解决类别不平衡问题,例如:

  • 易分类颗粒(如病毒样颗粒)样本数量较多;
  • 难分类颗粒(如 β- 半乳糖苷酶)样本数量较少。

为提高预测质量,模型采用距离交并比(DIoU)损失 [34]:

L i o u = 1 − I o U + R d c 2 ( 12 ) L_{iou}=1-IoU+\frac{R_{d}}{c^{2}} \quad (12) Liou=1IoU+c2Rd(12)

其中:IoU 表示预测边界框与真实边界框的交并比; R d R_d Rd 表示预测边界框与真实边界框中心之间的欧氏距离; c c c 表示边界框的对角线长度。

DIoU 损失的优势在于:

  • 直接优化预测边界框与真实边界框的重叠程度;
  • 考虑中心距离,促进更精准的定位;
  • 在三维空间中表现出更优的收敛性,有助于更好地提取特征。

为更好地解决类别不平衡问题,本研究采用动态权重调整策略:

  1. 训练初期
  • 定位损失权重 ( λ l o c (\lambda_{loc} (λloc 设为 0.5;
  • 分类损失权重 ( λ c l s (\lambda_{cls} (λcls 设为 0.3;
  • 交并比损失权重 ( λ i o u (\lambda_{iou} (λiou 设为 0.2。
  1. 训练中期
  • 逐步将分类损失权重提高至 0.4;
  • 保持定位损失和交并比损失权重不变。
  1. 训练后期
  • 将三个损失项的权重均衡为各 0.33;
  • 根据模型性能调整最终权重。

这种动态权重调整策略有效提高了模型的训练效率,使模型在确保定位准确的同时实现稳健的分类。实验结果表明,所提方法实现了显著的性能提升,尤其在需要区分任务优先级的多任务场景中表现突出。
这一提升源于两个关键组件:

  • (1)复合损失函数,整合了抗噪声定位的 Smooth L1 损失、缓解类别不平衡的 Focal 损失以及空间感知边界框回归的 DIoU 损失;
  • (2)动态加权机制,在训练各阶段自适应分配任务特定权重。这种协同设计使模型在保持定位准确性的同时,逐步优化分类精度,最终在异质颗粒类型上实现稳健的检测性能。

4. 结果与分析


4.1 主要实验结果

本研究的所有实验均在测试集上开展,该测试集由 Kaggle 平台提供,可通过链接https://cryoetdataportal.czscience.com/datasets/10445获取。

本研究提出的混合模型在各项关键指标上均展现出显著优势,如表 3 和图 5 所示,该模型在四大核心评价指标上均优于现有方法。在平均召回率方面,该模型达到 0.8848,相较于排名第二的模型(UNet3D+DBSCAN,召回率 0.7823)提升了 13.1%,充分证明了其在蛋白质颗粒检测方面的高效性;平均 F4 分数达到 0.7969,相比 YOLOv5-3D+DBSCAN 的 0.7325 提升了 8.8%,表明该模型在实现高召回率的同时,仍能保持良好的精度;在平均交并比(IoU)上,该模型取得 0.3211 的成绩,较 DeepFinder 的 0.2341 提升 37.2%,这意味着预测位置与真实位置的重叠度得到显著改善。

尤为重要的是,UNet3D 和 YOLOv5-3D 在结合 DBSCAN 后处理后,性能均较基础版本大幅提升,这印证了基于密度的聚类方法在颗粒检测任务中的价值。其中,UNet3D+DBSCAN 相较于单独的 UNet3D,召回率提升 38%、F4 分数提升 37.2%,凸显了断层扫描颗粒检测中合理后处理的重要性;同理,YOLOv5-3D+DBSCAN 的性能也优于基础版 YOLOv5-3D,尤其在 F4 分数上提升了 7.4%。

然而,我们提出的混合模型在所有关键指标上仍优于这些经过增强的基准模型。与 UNet3D+DBSCAN 的对比结果极具参考价值,这表明加入定制化的 YOLO 分支后,分割与聚类流程的性能得到大幅提升;而与 YOLOv5-3D+DBSCAN 的对比则验证了我们对 SPPF、卷积层(ConV)和 C2f 组件的架构改进,相较于标准实现具有切实优势。

在平均定位误差方面,我们的模型(15.678 体素)在所有测试方法中表现最佳,这说明该混合架构不仅擅长颗粒检测,还能实现更高的定位精度。性能差异可从以下角度分析:

  1. 检测策略差异
  • YOLOv5-3D 采用更为保守的检测策略,这一点从其较低的 IoU 值(0.0780)中可体现;
  • UNet3D+DBSCAN 的 IoU 值(0.2134)高于 YOLOv5-3D,但仍不及我们的模型;
  • 我们的模型采用更均衡的检测策略,在保持最高召回率(0.8848)的同时,还实现了最佳的定位精度。
  1. 性能权衡分析
  • 在实际应用中,漏检一个蛋白质颗粒(假阴性)的代价远高于轻微的定位偏差。实验数据显示,我们的模型将漏检率降低了 13.1%;
  • 对不同类型蛋白质颗粒的分析发现,所有模型在颗粒密集区域的检测表现均不佳,但我们的混合模型能更有效地应对这类复杂场景。
  1. 综合性能评估
  • F4 分数的显著提升(0.7969 vs YOLOv5-3D+DBSCAN 的 0.7325)证明了我们模型的整体性能优势;
  • 我们模型的 IoU 值(0.3211)远高于所有基准模型,表明其颗粒定位更精准;
  • 该模型在困难样本上的表现更稳定,(原文此处数据表述不完整,暂保留逻辑连贯性)。

这些性能特征的差异,本质上反映了不同技术方法所做的权衡。我们的模型成功在检测完整性与定位精度之间取得平衡,同时确保系统稳定性,这种平衡的策略更符合实际应用需求。尤其在考虑后续处理流程(如三维重建和结构分析)时,检测完整性和定位精度都是至关重要的因素。

相较于最接近的竞争对手,我们的模型在整体性能上优势明显。在基准方法中,YOLOv5-3D+DBSCAN 的 F4 分数排名第二(0.7325),UNet3D+DBSCAN 的召回率排名第二(0.7823),但我们的混合模型在所有关键指标上均优于这两种方法 [33],这印证了融合两种架构优势的有效性。DeepFinder 和 3D ResNet 虽为该领域的标准方法,但与我们提出的模型相比,在召回率和 F4 分数等指标上存在明显差距。这些结果充分验证了所提 YOLO-UNet3D 混合架构的有效性,并凸显了 DBSCAN 后处理模块在提升整体性能中的重要作用。

YOLOv5-3D 采用较为保守的检测策略,这一点从其较低的 IoU 值(0.0780)可看出,意味着该模型仅倾向于对高置信度区域进行预测,虽能提高定位精度,但可能会漏检大量潜在的蛋白质颗粒。而我们的模型采用更均衡的检测策略,在保持更高召回率(0.8848 vs 0.7150)的同时,仍能实现可接受的定位精度。这种权衡确保了更多蛋白质颗粒被检测到,即便与部分基准方法相比,定位误差略有增加。

表 3. 与最新方法的性能比较
在这里插入图片描述


在这里插入图片描述
图 5. 模型不同阶段的特征图可视化。增强的 SPPF 模块能够有效进行多尺度特征提取,尤其有利于不同尺寸的颗粒。


4.2 消融实验分析

消融实验结果表明,模型中不同组件的组合对于提升整体性能至关重要。如表 4 所示,通过对各组件的逐步分析发现,完整模型(full_model)在大多数评价指标上均取得最佳性能。

仅使用 YOLO 分支(yolo_only)时,模型性能存在明显局限。尽管其 IoU 值达到 0.3898,但召回率(0.701)和 F4 分数(0.6605)远低于其他配置;更关键的是,其定位误差记录为 “无穷大(inf)”,这表明在部分测试案例中,模型完全无法实现颗粒的精准定位 [34]。这一现象说明,YOLO 分支虽能精准定位部分显著的蛋白质颗粒,但会漏检大量目标 —— 尤其是那些体积小、信号弱或部分遮挡的颗粒。值得注意的是,在多个测试体积中,仅使用 YOLO 分支的配置未产生任何有效预测。原因在于,本框架中的 YOLO 分支通过从三维体积中提取的单个二维断层扫描切片进行运算,仅依赖二维特征和局部纹理线索;在缺乏三维空间上下文或跨切片特征连续性的情况下,YOLO 分支容易漏检低对比度或形状不规则的颗粒,尤其当这些颗粒的投影与背景噪声相似时。

从实现角度来看,仅使用 YOLO 分支的推理流程既省略了 UNet3D 分割模块,也未采用基于 DBSCAN 的三维聚类后处理。因此,各切片的原始二维检测结果既未在切片间进行融合,也未通过空间一致性进行优化。当没有目标的置信度超过检测阈值时,模型会输出空结果。由此,通过最近邻距离比较预测颗粒中心与真实中心计算得出的定位误差指标便无法定义,在表 4 中记录为 “inf”。这并非数值误差,而是该极简配置下模型无法检测到任何颗粒的直接体现。

未使用 DBSCAN 后处理模块的版本(no_dbscan)虽保持较高的召回率(0.8840)和相对较好的定位误差(17.529 体素),但 F4 分数(0.7595)和 IoU 值(0.2512)均有所下降。这一结果证实了 DBSCAN 后处理在优化预测结果、减少冗余检测方面的重要作用。

完整模型通过融合各组件的优势,实现了最优的整体性能,召回率达到 0.8848,F4 分数达到 0.7969。尽管在部分单一指标上(如 IoU 值低于仅使用 UNet3D 的版本)略有不足,但整体上展现出最佳的平衡性和实用性。性能提升主要得益于三方面:YOLO 分支提供的精准初始定位、UNet3D 分支强大的三维特征提取能力,以及 DBSCAN 后处理模块对结果的有效优化。
如图 6 所示,分组柱状图直观对比了不同模型配置在各指标上的性能。显然,完整模型在大多数指标上达到或接近最佳性能,尤其在召回率和 F4 分数这两个关键指标上优势显著。这些结果有力地验证了我们提出的混合架构的合理性与必要性。

在这里插入图片描述
图 6. 不同噪声水平和成像条件下的模型性能分析。即使在具有挑战性的条件下,该模型仍保持稳健的性能,显示出其实用性。


4.3 按类别性能分析

模型在处理不同难度等级的颗粒时,表现存在差异。如表 5 所示,对不同类型蛋白质颗粒的检测性能,与颗粒的预测难度呈现明显的相关性。

结果表明,模型在处理不同难度等级的颗粒时,表现差异显著:

  • 对于易检测颗粒(病毒样颗粒、脱辅基铁蛋白、核糖体),模型展现出卓越的检测性能,召回率均在 0.95 以上,平均 F4 分数达 0.88,IoU 值接近 1.000(几乎完美重叠);
  • 对于较难检测的颗粒(β- 半乳糖苷酶、甲状腺球蛋白),模型表现中等,召回率均在 0.86 以上,且能实现良好的 IoU 值,有效完成颗粒定位;
  • 对于极难检测的颗粒(β- 淀粉酶),模型表现欠佳,召回率仅为 0.6352,F4 分数为 0.5816。这些结果表明,针对这类具有挑战性的颗粒,模型仍需进一步改进 [35]。

上述结果说明,该模型能够处理不同难度等级的蛋白质颗粒,尤其对易检测颗粒展现出高召回率。然而,针对极难检测的颗粒(尤其是 β- 淀粉酶类),其性能仍需进一步优化,以提高模型的准确性。


4.4 结计算复杂度分析

为评估我们的方法在大规模断层扫描数据处理中的实际适用性,我们对不同方法的计算需求进行了全面分析。表 6 列出了所有评估方法的参数数量、内存占用、推理时间和处理速度。

由于采用融合改进版 YOLO 和 UNet3D 组件的双分支架构,我们提出的混合架构在所有评估模型中参数数量最多(24.8M)。尽管复杂度有所增加,但我们通过多项优化显著提升了效率:(1)YOLO 分支中的轻量化级联卷积层序列,相较于标准实现减少了约 40% 的参数;(2)C2f 模块中的非对称特征分割策略,仅增加 11.2% 计算成本的情况下,提升了特征提取效果。

在推理阶段,我们的模型在 NVIDIA H100 GPU 上处理标准的 184×630×630 体素断层扫描图时,耗时约 19.8 秒,内存消耗峰值约为 7.8GB。这一结果体现了检测精度与计算效率之间的合理权衡。尽管单张断层扫描图 19.8 秒的推理时间看似较长,但远快于人工标注(每张断层扫描图可能需要数小时)。此外,考虑到完整模型的训练(100 个 epoch)约需 48 小时,单样本不到 20 秒的推理时间,证明该方法在研究场景中具有实际适用性。

需要注意的是,训练时间(完整训练周期约 48 小时)与推理时间(单张断层扫描图 19.8 秒)之间的巨大差异符合深度学习范式的普遍规律:训练过程计算密集,需同时进行前向传播、反向传播、梯度计算、权重更新,并在多个 epoch(本研究中为 100 个)内重复处理整个数据集;此外,训练还需保存优化状态并计算各类损失指标。相比之下,推理过程仅需单次前向传播,无需梯度计算或权重更新,因此处理速度显著更快。这种差异凸显了我们方法的实际部署优势 —— 尽管模型开发可能需要大量计算资源,但训练完成后的模型能在实际应用场景中高效处理新数据。

推理时间随输入体积的增加大致呈线性增长,平均处理速度为 1.2×10⁶体素 / 秒。这一速度使我们的方法适用于研究数据集的批量处理,但无法满足实时应用需求。尽管 YOLOv5-3D 等单分支模型推理速度更快(2.0×10⁶体素 / 秒),但我们的方法检测精度显著更高,对于检测质量至关重要的应用场景而言,这种权衡是合理的。值得注意的是,当基准模型应用 DBSCAN 后处理时,其计算效率会显著下降,从而缩小了与我们混合模型的性能差距。


4.5 局限性与统计考量

我们承认,本研究的实验结果基于单次训练运行,未包含置信区间或 Bootstrap 分析,所报告的性能提升(召回率提升 23.7%、F4 分数提升 55%)均为实验中的点估计值。然而,以下因素证明了我们研究结果的可靠性:

首先,我们采用严格控制的实验设置,所有模型均使用固定随机种子和相同的数据预处理流程,最大限度减少了变异性来源;其次,性能提升的幅度显著 —— 召回率 23.7% 的提升和 F4 分数 55% 的提升均属于大效应量,不太可能仅由随机波动导致;第三,模型在多个评价指标(召回率、F4 分数、IoU、定位误差)上均实现了一致性提升,为方法的有效性提供了聚合证据。

此外,消融实验表明,不同模型配置下的性能表现具有一致性规律,进一步证明了我们架构设计的稳健性。尽管正式的统计显著性检验会增强这些结论的说服力,但性能提升的实际意义已通过显著的结果改善得到充分体现。


5. 讨论

本研究提出一种混合 YOLO-UNet3D 框架,用于冷冻电镜断层扫描(cryo-ET)图像中蛋白质颗粒的自动检测。该方法整合了 YOLO 的目标检测能力与 UNet3D 的体积特征提取能力,并通过参数优化的基于密度的带噪声应用空间聚类(DBSCAN)后处理(邻域半径 ε=0.5 体素,最小点数 minPts=10)进一步增强性能。研究的核心创新点包括:采用带有 5×5 卷积核的优化快速空间金字塔池化(SPPF)模块,在低信噪比场景下将检测性能提升 15.3%;在 C2f 模块中设计 1:2 非对称特征分割策略,仅增加 11.2% 计算成本的情况下将检测精度提升 8.5%;构建基于动态通道注意力的自适应加权跨尺度特征聚合机制。

在 CZII Kaggle 挑战赛数据集上进行的实验评估表明,该方法显著优于现有方法:所提模型实现 0.8848 的平均召回率、0.7969 的 F4 分数及 0.3211 的交并比(IoU),分别较次优方法提升 13.1%、8.8% 和 37.2%。消融实验证实了各组件的重要性,且模型对不同类型蛋白质颗粒的检测性能存在差异 —— 在结构稳定的颗粒(病毒样颗粒:召回率 1.0000、F4 分数 0.9314;脱辅基铁蛋白:召回率 0.9885、F4 分数 0.9535)上表现优异,但对具有挑战性的 β- 淀粉酶颗粒(召回率 0.6352、F4 分数 0.5816)仍有提升空间。

尽管本研究的实验结果基于单次训练运行,未包含置信区间或 Bootstrap 分析,但性能提升幅度显著(召回率提升 23.7%、F4 分数提升 55%),表明研究结论具有较强稳健性;当然,正式的统计显著性检验将进一步增强这些结论的说服力。

尽管取得上述进展,该框架仍存在局限性:计算需求较高(24.8M 参数、7.8GB GPU 内存占用),单张断层扫描图推理时间为 19.8 秒,适用于批量处理但无法满足实时应用需求。未来研究方向包括:探索自监督学习方法以提升对难检测颗粒的性能 [15,35];研究基于 Transformer 的架构以更好捕捉空间关系 [8,37];优化计算效率;拓展框架以支持多尺度特征融合技术 [25],从而更高效处理不同蛋白质复合物的尺寸差异。此外,整合深度强化学习方法,根据局部图像特征自适应调整检测参数,有望提升对 β- 淀粉酶等难检测颗粒的性能;进一步研究还可探索联邦学习方法 [31,38],在保护数据隐私的前提下整合分布式数据集,这对敏感生物数据的协同研究尤为重要。

基于近期在可提示分割 [39] 和通用 3D 颗粒检测模型 [40] 领域的进展,未来该框架的迭代版本可融入用户引导的交互功能,在特定研究场景中进一步提升检测精度。本研究为冷冻电镜断层扫描图像中蛋白质颗粒的自动标注提供了重要技术突破,所提出的稳健技术框架将助力科研人员在近原子分辨率下更高效地分析复杂生物结构。

数据与代码可用性

  • 数据集:
    • 训练集(Kaggle:https://www.kaggle.com/competitions/czii-cryo-et-object-identification)
    • 测试集(https://cryoetdataportal.czscience.com/datasets/10445);
  • 代码:
  • GitHub 仓库(https://github.com/ViolentAyang/A-Hybrid-YOLO-UNet3D-Framework-for-Automated-Protein-Particle-Annotation-in-Cryo-ET-Images)。

6. Github 项目介绍

项目地址: github

本项目参考 yolo11-unet3d 代码进行改进。

本实验相关竞赛源自 Kaggle 平台,竞赛组织相关论文:Peck, A., Yu, Y., Schwartz, J., 等. 《Annotating CryoET Volumes: A Machine Learning Challenge》. bioRxiv, 2024, doi: 10.1101/2024.11.04.621686

本研究使用的部分数据由 Irene de Teresa Trueba 团队及 Mallak Ali 团队提供。这些数据可通过冷冻电镜断层扫描(cryoET)数据门户获取(相关文献:Nat Methods 21, 2200–2202 (2024),链接:https://doi.org/10.1038/s41592-024-02477-2)。

本研究基于 Kaggle 用户的开源代码进行了改进,衷心感谢开源贡献者所付出的努力。相关开源代码链接如下:https://www.kaggle.com/code/hideyukizushi/czii-yolo11-unet3d-monai-lb-707、https://www.kaggle.com/code/nk35jk/3d-visualization-of-particles。


6.1 config.py 程序代码

config.py 程序代码如下。

import numpy as np

particle_names = [
    'apo-ferritin',
    'beta-amylase',
    'beta-galactosidase',
    'ribosome',
    'thyroglobulin',
    'virus-like-particle'
]

particle_to_index = {
    'apo-ferritin': 0,
    'beta-amylase': 1,
    'beta-galactosidase': 2,
    'ribosome': 3,
    'thyroglobulin': 4,
    'virus-like-particle': 5
}

index_to_particle = {index: name for name, index in particle_to_index.items()}

particle_radius = {
    'apo-ferritin': 60,
    'beta-amylase': 65,
    'beta-galactosidase': 90,
    'ribosome': 150,
    'thyroglobulin': 130,
    'virus-like-particle': 135,
}

particle_radius_blend = {
    'apo-ferritin': 65,
    'beta-amylase': 65,
    'beta-galactosidase': 95,
    'ribosome': 150,
    'thyroglobulin': 130,
    'virus-like-particle': 135,
}

id_to_name = {
    1: "apo-ferritin", 
    2: "beta-amylase",
    3: "beta-galactosidase", 
    4: "ribosome", 
    5: "thyroglobulin", 
    6: "virus-like-particle"
}

BLOB_THRESHOLD = 255
CERTAINTY_THRESHOLD = 0.05
TRAIN_DATA_DIR = "./data/train_dataset"

copick_user_name = "copickUtils"
copick_segmentation_name = "paintedPicks"
voxel_size = 11
tomo_type = "denoised"

classes = [1, 2, 3, 4, 5, 6] 

6.2 main.py 程序代码

main.py 程序代码如下。

import os
import argparse
import sys
import warnings
import numpy as np
import pandas as pd
import torch

from yolo_predictor import run_yolo_inference
from unet_model import run_unet_inference
from blend import blend_predictions

def install_dependencies():
    deps_path = './data/dependencies'
    if os.path.exists(f'{deps_path}/requirements.txt'):
        os.system(f'pip install -q --no-index --find-links {deps_path} --requirement {deps_path}/requirements.txt')
    
    try:
        import zarr
    except: 
        wheel_path = './data/wheel_files'
        if os.path.exists(wheel_path):
            os.system(f"cp -r '{wheel_path}' './working/'")
            os.system("pip install ./working/wheel_files/asciitree-0.3.3/asciitree-0.3.3")
            os.system("pip install --no-index --find-links=./working/wheel_files zarr")
            os.system("pip install --no-index --find-links=./working/wheel_files connected-components-3d")

def run_inference():
    """inference for kaggle competition"""
    print("Starting model inference pipeline...")
    
    install_dependencies()
    
    print("Step 1: YOLO inference...")
    yolo_results = run_yolo_inference()
    print(f"YOLO results: {len(yolo_results)} predictions")
    
    print("Step 2: UNet inference...")
    unet_results = run_unet_inference()
    print(f"UNet results: {len(unet_results)} predictions")
    
    print("Step 3: Blending predictions...")
    final_results = blend_predictions(yolo_results, unet_results)
    print(f"Final results: {len(final_results)} predictions")
    
    final_results.to_csv('submission.csv', index=False)
    print("Submission saved to submission.csv")
    
    return final_results

def run_evaluation(dataset_path: str = "./data/10445", max_runs: int = 10):
    """eva"""
    print("Starting model evaluation...")
    
    try:
        from model_evaluation import run_comprehensive_evaluation
        from evaluation_visualizer import visualize_evaluation_results
        
        overall_metrics, aggregated_results, all_results = run_comprehensive_evaluation(
            dataset_path=dataset_path,
            max_runs=max_runs
        )
        
        visualize_evaluation_results(overall_metrics, aggregated_results)
        
        print(f"\nEvaluation Summary:")
        print(f"Recall: {overall_metrics['overall_recall']:.4f}")
        print(f"F4 Score: {overall_metrics['overall_f4_score']:.4f}")
        print(f"IoU: {overall_metrics['mean_iou']:.4f}")
        print(f"AP: {overall_metrics['mean_ap_score']:.4f}")
        
        return overall_metrics
        
    except ImportError:
        print("Error: Evaluation modules not found.")
        print("Please ensure model_evaluation.py and evaluation_visualizer.py are available.")
        return None
    except Exception as e:
        print(f"Evaluation failed: {e}")
        return None

def main():
    parser = argparse.ArgumentParser(
        description='CryoET Model Main Script',
        formatter_class=argparse.RawDescriptionHelpFormatter,
        epilog="""
  # Run inference only (default)
  python main.py
  
  # Run evaluation only
  python main.py --evaluate --dataset_path ./data/10445
  
  # Run both inference and evaluation
  python main.py --evaluate --dataset_path ./data/10445 --max_runs 5
        """
    )
    
    parser.add_argument('--evaluate', action='store_true',
                       help='Run model evaluation')
    parser.add_argument('--dataset_path', type=str, default='./data/10445',
                       help='Path to evaluation dataset (default: ./data/10445)')
    parser.add_argument('--max_runs', type=int, default=10,
                       help='Maximum runs for evaluation (default: 10)')
    parser.add_argument('--inference_only', action='store_true',
                       help='Run inference only, skip evaluation')
    
    args = parser.parse_args()
    
    print("="*60)
    print("🧬 CryoET Model Main Pipeline")
    print("="*60)
    
    results = {}
    
    # 运行推理
    if not args.evaluate or not args.inference_only:
        print("\n🔮 Running Model Inference...")
        inference_results = run_inference()
        results['inference'] = inference_results
    
    # 运行评估
    if args.evaluate:
        print("\n📊 Running Model Evaluation...")
        evaluation_results = run_evaluation(args.dataset_path, args.max_runs)
        results['evaluation'] = evaluation_results
    
    print("\n✅ Pipeline completed!")
    
    if 'evaluation' in results and results['evaluation'] is not None:
        eval_results = results['evaluation']
        print(f"\n🎯 Final Performance:")
        print(f"   Recall: {eval_results['overall_recall']:.4f}")
        print(f"   F4 Score: {eval_results['overall_f4_score']:.4f}")
    
    return results

if __name__ == "__main__":
    main() 

7. 参考文献

1. Galaz-Montoya, J. The advent of preventive high-resolution structural histopathology by artificial-intelligence-powered cryogenic electron tomography. Front. Mol. Biosci. 11, 1390858 (2024).
2. Chien, C.-T., Maduke, M. & Chiu, W. Single-particle cryogenic electron microscopy structure determination for membrane proteins. Curr. Opin. Struct. Biol. 92, 103047 (2025).
3. Tegunov, D., Xue, L., Dienemann, C., Cramer, P. & Mahamid, J. Multi-particle cryo-em refinement with M visualizes ribosomeantibiotic complex at 3.5 å in cells. Nat. Methods 18, 186–193 (2021).
4. Rose, K. et al. In situ cryo-et visualization of mitochondrial depolarization and mitophagic engulfment. bioRxiv 2025–03 (2025)
5. Kapnulin, L., Heimowitz, A. & Sharon, N. Outlier removal in cryo-em via radial profiles. J. Struct. Biol. 108172 (2025)
6. Hatazawa, S. et al. Cryo-em structures of native chromatin units from human cells. Genes Cells 30, e70019 (2025).
7. Turoňová, B., Marsalek, L. & Slusallek, P. On geometric artifacts in cryo electron tomography. Ultramicroscopy 163, 48–61 (2016).
8. Liu, X. et al. Cryoformer: Continuous heterogeneous cryo-em reconstruction using transformer-based neural representations. arXiv:2303.16254 (2023)
9. Zeng, X. et al. High-throughput cryo-et structural pattern mining by unsupervised deep iterative subtomogram clustering. Proc. Natl. Acad. Sci. 120, e2213149120 (2023).
10. Chen, M. et al. Convolutional neural networks for automated annotation of cellular cryo-electron tomograms. Nat. Methods 14, 983–985 (2017).
11. Martinez, M. et al. Deepfinder: a deep learning approach for detection of macromolecular complexes in cryo-electron tomograms. J. Struct. Biol. 213, 107747 (2020).
12. Khosrozadeh, A. et al. Cryovesnet: A dedicated framework for synaptic vesicle segmentation in cryo-electron tomograms. J. Cell Biol. 224, e202402169 (2024).
13. Liu, G. et al. Deepetpicker: Fast and accurate 3d particle picking for cryo-electron tomography using weakly supervised deep learning. Nat. Commun. 15, 2090 (2024).
14. Wagner, T. et al. Tomotwin: Generalized 3d localization of macromolecules in cryo-electron tomograms with deep metric learning. Nat. Methods 19, 1232–1237 (2022).
15. Huang, Q., Zhou, Y. & Bartesaghi, A. Milopyp: Self-supervised molecular pattern mining and particle localization in situ. Nat. Methods 21, 1863–1872 (2024).
16. Redmon, J., Divvala, S., Girshick, R. & Farhadi, A. You only look once: Unified, real-time object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 779–788 (2016)
17. Çiçek, ., Abdulkadir, A., Lienkamp, S. S., Brox, T. & Ronneberger, O. 3d u-net: Learning dense volumetric segmentation from sparse annotation. In International Conference on Medical Image Computing and Computer-Assisted Intervention (MICCAI), 424–432 (Springer, 2016)
18. Ester, M., Kriegel, H.-P., Sander, J. & Xu, X. A density-based algorithm for discovering clusters in large spatial databases with noise. In Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD), 226–231 (1996)
19. Çiçek, Ö., Abdulkadir, A., Lienkamp, S. S., Brox, T. & Ronneberger, O. 3d u-net: Learning dense volumetric segmentation from sparse annotation. In International conference on medical image computing and computer-assisted intervention, 424–432 (Springer, 2016)
20. Jocher, G. et al. Yolov5 by ultralytics. https://github.com/ultralytics/yolov5 (2022). Accessed 13 May 2024
21. Wang, C.-Y., Bochkovskiy, A. & Liao, H.-Y. M. Yolov5: an improvement to yolov4. arXiv:2107.08430 (2021)
22. Hara, K., Kataoka, H. & Satoh, Y. Learning spatio-temporal features with 3d residual networks for action recognition. In Proceedings of the IEEE International Conference on Computer Vision Workshops, 3154–3160 (2017)
23. Geissler, K., Moltz, J. H., Meine, H. & Wenzel, M. Revisedmedyolo: Unlocking model performance by careful training code inspection. In Medical Imaging with Deep Learning-Short Papers (2025)
24. Pan, Y., Wang, G. & Yu, J. Overview of deep learning yolo algorithm. In Fourth International Conference on Computer Vision, Application, and Algorithm (CVAA 2024), vol. 13486, 622–630 (SPIE, 2025)
25. Zhang, X., Shalaginov, M. Y. & Zeng, T. H. Unet-3d with adaptive tverskyce loss for pancreas medical image segmentation. arXiv:2505.01951 (2025)
26. Jin, W., Zhou, Y. & Bartesaghi, A. Accurate size-based protein localization from cryo-et tomograms. J. Struct. Biol.: X 10, 100104 (2024).
27. Okamoto, T. et al. 3dchoroidswin: Advancing 3d choroid segmentation in oct images through swin transformer and morphological guidance. Opt. Express 33, 6928–6941 (2025).
28. Meng, W., Yu, X., Zhang, T. & Han, R. A noise-robust classification method for cryo-et subtomograms with out-of-distribution detection. Bioinformatics btaf274 (2025)
29. Zhao, Y. et al. Training-free cryoet tomogram segmentation. ArXiv arXiv–2407 (2024)
30. Gupte, S. R. et al. Cryovit: Efficient segmentation of cryogenic electron tomograms with vision foundation models. bioRxiv 2024–06 (2024)
31. Hu, D. et al. Effective multi-modal clustering method via skip aggregation network for parallel scrna-seq and scatac-seq data. Brief. Bioinform. 25, bbae102 (2024).
32. Ester, M., Kriegel, H.-P., Sander, J. & Xu, X. A density-based algorithm for discovering clusters in large spatial databases with noise. In Proceedings of the Second International Conference on Knowledge Discovery and Data Mining, 226–231 (AAAI Press, 1996)
33. Huang, Q., Zhou, Y., Liu, H.-F. & Bartesaghi, A. Accurate detection of proteins in cryo-electron tomograms from sparse labels. In European Conference on Computer Vision, 644–660 (Springer, 2022)
34. Moebel, E. et al. Deep learning improves macromolecule identification in 3d cellular cryo-electron tomograms. Nat. Methods 18, 1386–1394 (2021).
35. Kishore, V., Debarnot, V., Righetto, R. D., Khorashadizadeh, A. & Dokmanić, I. End-to-end localized deep learning for cryo-et. arXiv:2501.15246 (2025)
36. Li, R. et al. Automatic localization and identification of mitochondria in cellular electron cryo-tomography using faster-rcnn. BMC Bioinform. 20, 75–85 (2019).
37. Hossain, K. F., Kamran, S. A., Tavakkoli, A., Bebis, G. & Baker, S. Swinvftr: A novel volumetric feature-learning transformer for 3d oct fluid segmentation. In 2025 IEEE 22nd International Symposium on Biomedical Imaging (ISBI), 1–5 (IEEE, 2025)
38. Hu, D. et al. scdfc: A deep fusion clustering method for single-cell rna-seq data. Brief. Bioinform. 24, bbad216 (2023).
39. Wiedemann, S., Fabian, Z., Soltanolkotabi, M. & Heckel, R. Propicker: Promptable segmentation for particle picking in cryogenic electron tomography. bioRxiv 2025–02 (2025)
40. Shah, P. N., Sanchez-Garcia, R. & Stuart, D. I. Tomocpt: a generalizable model for 3d particle detection and localization in cryoelectron tomograms. Biol. Crystallogr. 81 (2025)

引用格式: Liu, Z., Yuan, C., Zhang, Z. et al. A hybrid YOLO-UNet3D framework for automated protein particle annotation in Cryo-ET images. Sci Rep 15, 25033 (2025). https://doi.org/10.1038/s41598-025-09522-w

版权说明:
youcans@xidian 作品,转载必须标注原文链接:
【医学影像 AI】用于 Cryo-ET图像蛋白质颗粒自动标注的混合YOLO-UNet3D框架(https://youcans.blog.csdn.net/article/details/154249567)
Crated:2025-11

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐