返回列表

33 place solution

639. CZII - CryoET Object Identification | czii-cryo-et-object-identification

开始: 2024-11-06 结束: 2025-02-05 医学影像分析 数据算法赛
第 33 名解决方案 - Czii Cryo ET
作者: CodeHacker (junhanzangai)
发布日期: 2025-02-06
竞赛排名: 第 33 名

第 33 名解决方案

我使用了数据增强

random_transforms = Compose([
    RandCropByLabelClassesd(
        keys=["image", "label"],
        label_key="label",
        spatial_size=[128, 128, 128],
        num_classes=7,
        num_samples=my_num_samples
    ),
    RandRotate90d(
        keys=["image", "label"],
        prob=0.3,
        spatial_axes=[0, 1]
    ),
    RandRotate90d(
        keys=["image", "label"],
        prob=0.2,
        spatial_axes=[1, 2]
    ),
    RandFlipd(
        keys=["image", "label"],
        prob=0.3,
        spatial_axis=0
    ),
    RandFlipd(
        keys=["image", "label"],
        prob=0.3,
        spatial_axis=1
    ),
    #  optionally, you can also flip along the third axis:
    # RandFlipd(
    #     keys=["image", "label"],
    #     prob=0.3,
    #     spatial_axis=2
    # ),
    RandAffined(
        keys=["image", "label"],
        prob=0.5,
        rotate_range=(0.17, 0.17, 0.17),
        scale_range=(0.05, 0.05, 0.05),
        mode=("bilinear", "nearest"),
        padding_mode="zeros"
    ),
    RandScaleIntensityd(
        keys="image",
        prob=0.2,
        factors=0.1
    ),
    RandShiftIntensityd(
        keys="image",
        prob=0.2,
        offsets=0.1
    ),
    RandAdjustContrastd(
        keys="image",
        prob=0.2,
        gamma=(0.9, 1.1)
    ),
    RandHistogramShiftd(
        keys="image",
        prob=0.2,
        num_control_points=10
    )
])

模型架构

我的模型基于 MONAI UNet,并使用以下配置:

  • 通道数 (Channels): (64, 128, 256, 256)
  • 步长模式 (Strides Pattern): (2, 2, 1)
  • 残差单元数量 (Number of Residual Units): 1

由于 GPU 资源有限,我使用了 L4 GPU。

性能结果

  • 纯 3D UNet: 公共分数取得 0.722,私有分数取得 0.726。
  • 与 YOLO 集成: 公共分数达到 0.757,私有分数达到 0.755。

额外增强

我还加入了一种过滤机制,忽略任何坐标标准差超过粒子半径 40% 的簇。

我也附上了我的代码。

感谢给我这个机会。

同比赛其他方案