返回列表

simple (public 3rd and private 29th) place solution

420. Cassava Leaf Disease Classification | cassava-leaf-disease-classification

开始: 2020-11-19 结束: 2021-02-18 作物智能识别 数据算法赛
简单方案(公开榜第3名,私有榜第29名)

简单方案(公开榜第3名,私有榜第29名)

作者: Mobassir, Chris Deotte, Hanson0910, zlannn

致谢

感谢 Kaggle 组织这次比赛。
我在这次比赛中学到了大量的技巧,如果没有大家慷慨分享的顶级解决方案以及我一路上幸运遇到的极具天赋的队友( @cdeotte @hanson0910@zlanan ),这一切都不可能实现。感谢我那善于合作的队友们。我们一起学到了很多 💪

我们没有任何魔法,只有具有最高 CV(交叉验证)分数的多样化模型

我们的目标是设计一个集成模型,结合顶级的 Pytorch + Tensorflow 模型,使用不同的图像尺寸、不同的 TTA(测试时增强)和多样化的模型(这在公开 LB 和私有 LB 上都效果很好)

我们第 32 名的提交方案使用了以下模型:

模型 1 -> nf-resnet50:
[0.897, 0.903, 0.899. 0.8932, 0.8946]

模型 2 -> ResNext50 (图像尺寸 512):
[0.891, 0.897, 0.892, 0.886, 0.892]

模型 3 -> 0.8913 vit. + 0.886 +0.884 +0.883 噪声 tf B4。 有意训练了三个相对低 CV 的噪声 tf B4,但居然有效,相当奇怪。

模型 4 和 5 ->
(tf_efficientnet_b4_ns + Vit-B16) 使用了 2019 年的数据,所以 CV 没有参考价值,但大约在 0.9 左右

模型 6 ->
不确定 512 图像尺寸的 efficientnet-b0 (tensorflow 模型) 的 CV 是多少,但公开 LB 是 0.895

模型 7 ->

tf_efficientnet_b4_ns_fold_0_8: cv 0.8914
tf_efficientnet_b4_ns_fold_0_5: cv 0.8932

仅使用了来自此 notebook 的 1 折 vit base: ViT - Pytorch xla (TPU) for leaf disease

vit_base_patch16_384_fold_4: cv0.89175

仅使用了来自此 notebook 的 2 折 vit large: Faster Pytorch TPU baseline for CLD(cv 0.9)

vit_large_patch16_384_fold_2: cv 0.89568
vit_large_patch16_384_fold_1: cv 0.89826

代码与增强

使用了以下 TTA(3 步):

def get_inference_transforms(image_size = image_size):
    return Compose([
            RandomResizedCrop(image_size, image_size),
            Transpose(p=0.5),
            HorizontalFlip(p=0.5),
            VerticalFlip(p=0.5),
            HueSaturationValue(hue_shift_limit=0.2, sat_shift_limit=0.2, val_shift_limit=0.2, p=0.5),
            RandomBrightnessContrast(brightness_limit=(-0.1,0.1), contrast_limit=(-0.1, 0.1), p=0.5),
            Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225], max_pixel_value=255.0, p=1.0),
            ToTensorV2(p=1.0),
        ], p=1.)