该方案将 3D tomogram 的体素级分割结果转化为可提交的粒子中心坐标。核心由多 GPU TensorRT 推理、 空间 TTA、连通域实例化和类别化过滤组成。
CZII – CryoET Object Identification
要求在 3D tomogram 中找五类计分蛋白复合体的中心点。输入是 multiscale OME-NGFF Zarr;训练数据
有四种过滤版本,但 rerun 测试只提供 denoised 版本。评测以 0.5 × particle radius 作为点匹配
距离,并使用微平均 (F_4):hard 类的权重更高,漏检的代价远大于额外候选。
网络先输出 dense segmentation 概率,再由后处理生成稀疏的、带类别的 (x, y, z) 粒子列表。
denoised Zarr volume
-> 3D sliding-window segmentation + TTA
-> 各类别概率体 / argmax 标签
-> 连通域实例化
-> 类别阈值 + 最小体素数过滤
-> component centroid × 10,ZYX 转 XYZ
-> submission.csv
我使用 CZIi infer: fewer models and extensive TTA
通过 TensorRT 引擎完成多 GPU 推理。体积采用滑窗处理,随后在空间维度进行翻转 TTA:轴 [2]、[3]、
[4]、[3,4],并叠加 rot90 的 k=1/2/3。各变换预测先反变换回原坐标系,再做融合、softmax 和
后处理。
连通域由 cc3d.connected_components 产生。代码为每类设置了概率阈值 0.8,并以不同的最小
体素数过滤:
| 类别索引 | 最小连通域体素数 |
|---|---|
| 1 | 2 |
| 2 | 33 |
| 3 | 78 |
| 4 | 42 |
| 5 | 400 |
最后取每个保留组件的质心,坐标乘以 10 后从数组常用的 ZYX 顺序转换为提交所需的 XYZ。
这个转换很小,却是整个任务最容易造成“可视化合理、提交全错”的接口:必须以原始数据的 voxel
spacing 和 sample submission 做逐字段校验。
五类颗粒的尺度和可分性不同,因此后处理按类别设定连通域体积阈值。上述 {2, 33, 78, 42, 400}
与 0.8 的概率阈值共同决定候选保留规则。调参时可同时观察:
完整推理链使用测试期可用的 denoised Zarr;其余过滤版本可用于训练增强、教师模型或预训练信号。
“多模型分割 → CC3D → 按体素数过滤 → 质心”构成了这一类方案的核心结构。第二名方案以 MONAI UNet baseline 为起点,也采用了相同的实例化主线;可阅读 其 write-up。
centroid -> ×10 -> XYZ 的数值和列顺序。每个滑窗应记录原始窗口起点、有效写入区域和权重图。重叠区域若只是覆盖写入,窗口边界的概率会出现 条纹;应先在概率空间做加权累积和归一化,再做 softmax 与连通域。这样模型融合、TTA 与窗口融合的 顺序才不会被混在一起。
组件过滤应输出每类的候选数、过滤前后体素数、质心和被拒绝原因。对一个被过滤掉的 hard 类颗粒, 可以追溯它是概率不足、体积不足还是被相邻组件吞并;这比只观察最终 F4 更能定位阈值是否过于保守。
提交前用少量已知点做三项断言:Zarr 读取 shape 与滑窗重建 shape 相同;反变换后的 TTA 概率图可
逐体素对齐;最终 CSV 的 experiment, particle_type, x, y, z 列顺序、单位和样本数满足官方模板。