返回列表

10th Place Solution

687. CSIRO - Image2Biomass Prediction | csiro-biomass

开始: 2025-10-28 结束: 2026-01-28 作物智能识别 数据算法赛
第 10 名解决方案 - CSIRO Biomass

第 10 名解决方案

简单的 DINOv3 回归 × 辅助任务 × 错误标签样本移除

作者: owaowata (EXPERT)
发布时间: 2026-01-30
竞赛排名: 10

首先,我们要感谢竞赛主办方的 Kaggle 工作人员组织了这场出色的竞赛。
下面,我将介绍我的解决方案。

解决方案

项目 描述
模型 DINOv3 ViT-L/16 蒸馏版(微调:回归头 + 最后两个 Transformer 块)
输入 图像调整为 768×1536
输出 5 个目标变量 + 辅助损失特征(高度、NDVI,以及物种是否为黑麦草 (Ryegrass_Clover))
损失函数 与评估指标权重相同的 Huber 损失 + 辅助损失
预处理 - 检查后移除了 8 个疑似标签噪声的样本
- 标准化目标变量
交叉验证 (CV) 按 State - Sampling-Date 分组,然后手动审查并合并相似组。使用贪婪方法分为 5 折,使每个目标变量的分布在各折之间相似。
CV 和 LB 似乎相关,所以我尝试同时改进两者。
稳定性措施 数据增强以复现训练集中存在的非自然伪影(红点伪影和右下角的日期戳)
集成 训练了 3 个模型(有/无辅助损失)并平均它们的预测
其他 - 指数移动平均 (EMA)
- 测试时增强 (TTA)(水平翻转)

1. 模型、输入/输出和集成

我使用了 DINOv3 ViT-L/16 蒸馏版。图像调整为 768×1536 并输入模型。模型输出包含五个目标变量加上可选的辅助损失特征,最终预测是三个具有不同输出配置的模型的平均值。

model structure
模式 输出配置
1 5 个目标变量
2 5 个目标变量 + 高度 + NDVI
3 5 个目标变量 + 高度 + NDVI + 物种(二元分类:是否为黑麦草 (Ryegrass_Clover))

2. 预处理

对于 State=WA 且 Sampling_Date=2015-08-21 的样本,标签显示 Dry_Green_g = 0。然而,检查图像后,明显存在除了三叶草以外的植物。因此,我将这些视为标签错误,并从训练数据中移除了以下 8 个样本:

- ID681680726.jpg
- ID697718693.jpg
- ID40849327.jpg
- ID230058600.jpg
- ID1403107574.jpg
- ID1337107565.jpg
- ID1139918758.jpg
- ID1761544403.jpg

这使得 CV 得分提高了 +0.01,Public 得分提高了 +0.01,Private 得分提高了 +0.01。
(我修正了它,因为我之前犯了一个错误。)

3. 稳定性措施

训练数据包含以下非自然伪影,所以我应用数据增强来复现它们:

  • 红点伪影,可能由闪光灯引起
  • 出现在图像右下角的拍摄日期/时间

这对 CV 或 Public 没有帮助,但将 Private 得分提高了 +0.01。当我单独测试它们时,日期/时间增强并没有提高 Public 得分,这表明 private 集可能包含一些红点伪影。

4. 尝试过但无效的方法

  • 流形 Mixup (Manifold Mixup)
  • 使用 LoRA 微调所有层
  • 使用未用于训练的数据进行伪标签
  • 使用 patch tokens(也许我只是用错了?)
  • 使用 PlantCLEF2024 数据 / 预训练模型 (DINOv2)

结语

如果您有任何问题,欢迎提问。
感谢阅读!

同比赛其他方案