wplll

该方案将 3D cryo-ET tomogram 逐切片送入 2D YOLO,再以三维质心聚合恢复最终马达坐标。核心是低阈值 候选召回、切片级 TTA 与 tomogram 级 3D 聚合。

1. 整体架构流程

BYU – Locating Bacterial Flagellar Motors 2025 给每个 3D cryo-ET tomogram 预测一个鞭毛马达中心,或明确预测“不存在”。预测点到真值 不超过 1,000 Å 才会匹配为 TP,最后使用以召回率为重的 (F_2) 计分。因此这并不是把 单张切片检得最漂亮就能赢的任务:一个低置信度但位置正确的候选很宝贵;反过来,重复的 切片级框如果没有被折叠为一个 3D 点,会迅速制造 FP。

提交的每行对应一个 tomogram。若判断不存在,x/y/z 都要写 -1。这条格式规则也解释了 为什么流程必须把“是否存在”和“位置”一起处理,而不能只跑 detector 再随意挑一个最大框。

2. 推理与候选融合(TTA)

我使用一个 2D Ultralytics YOLO 权重: /kaggle/input/lbfm-yolo/v2_v11n_ep30_1280_mix_f2_open/weights/best.pt。推理时它逐张读取 tomogram 的 Z 切片,做目标检测;随后将跨切片的框中心聚为三维中心点。核心数据流是:

tomogram (z, y, x)
  -> 每张 z-slice 的 2D YOLO 检测
  -> 保留 conf >= 0.30 的框中心 (z, y, x)
  -> centroid_3d 聚合跨切片候选
  -> 每个 tomogram 输出一个坐标,或 -1/-1/-1

Notebook 对所有 Z 切片按 CONCENTRATION=1 扫描,使用 augment=True 的测试时增强;同时启用 GPU FP16/TF32,并以批量流式方式供给 detector。前面三项分别服务于召回、方向鲁棒性和 Notebook 时限内的吞吐量;它们不是额外的 3D 网络。

2D detector 先提供 slice-level 候选;马达在相邻层连续出现,因此 centroid_3d 将这些候选恢复为 物理坐标。聚合半径、候选簇选择和无簇样本的输出规则共同构成最终提交逻辑。

3. 方案设计与 3D 聚合

切片化把昂贵的 3D 检测转成成熟的 2D YOLO 推理,优点是训练和部署轻,能很快尝试不同的 输入尺寸、预训练权重与增广。它对“目标在某些横截面呈现稳定纹理”的样本尤其有效。

2D detector 不直接建模 Z 向上下文,因此方案在 tomogram 级别完成调参:低阈值产生候选以保证 recall, 再由 3D 聚类、簇大小和几何一致性压制重复 FP,最后按官方 1,000 Å 匹配规则计算 (F_2)。

这也是 3D 分割/热图方案值得作为对照的原因。第二名方案将任务写成 3D blob regression, 使用残差编码器 3D U-Net/nnU-Net 与 TopK BCE,展示了直接建模体积上下文的路线。详见其 公开 write-up

4. 参数搜索与评估

  1. 按 tomogram 分组切分。 相邻切片绝不可分别落入 train/valid,否则同一个三维结构泄漏。
  2. 直接复刻官方点匹配和 (F_2)。 记录 TP、FP、FN、坐标距离分布,不只记录 detector 的 2D box 指标。
  3. 阈值和聚类分开扫。 先画 confidence -> recall/FP 曲线,再固定 detector 比较 centroid_3d 的半径与最小簇大小。
  4. 人工复查高置信度“负例”。 主办方讨论确认过少量标注问题,并在重评分中修正了部分 false negative;应把疑似标签噪声与模型误检分开计数,而不是把两者混为一谈。

5. 坐标变换与提交生成

这条路线有三个坐标系统:YOLO 输入图像的 (u, v)、原 tomogram 数组的 (z, y, x),以及提交表的 (x, y, z)。每一次 resize、crop、padding 或坐标中心化都必须保存反变换参数;否则 detector 的 框看似正确,最终 CSV 会整体偏移。

建议将每一个候选保存为 tomogram_id, z, y, x, confidence, slice_id,聚类后再保存簇成员数、簇内 坐标标准差和最终置信度。这样可以回放一个提交点由哪些 2D 框产生,并将“检测错误”与“聚类错误” 分开诊断。

对于无候选的样本,直接输出三个 -1;对于多簇样本,选择规则必须只依赖训练阶段冻结的阈值与 聚类统计,不能在提交时针对单个测试 tomogram 人工挑选。这个接口检查比再提高一点切片级 mAP 更能 防止有效候选在 CSV 末端丢失。

项目链接