✅ SCOLD 模型最终正确率总结
以下是论文中最关键的最终结果总结(包括 Zero-shot、Few-shot、Fine-tune、Retrieval):
⭐ 一、Zero-shot Classification(零样本分类准确率)
零样本是你最关心的指标,直接体现模型无需训练即可分类叶片病害的能力。
论文 Table 4 中,SCOLD 在 10 个 OOD 数据集上的平均准确率是:
📌 SCOLD Zero-shot 平均准确率:34.80%(最高)
对比:
| 模型 | 平均 Zero-shot Acc (%) |
|---|---|
| SCOLD(Ours) | 34.80 |
| SigLIP2 | 33.92 |
| CLIP-L | 31.70 |
| BioCLIP | 29.66 |
SCOLD 在 10 个数据集里有 6 个拿到第一名:
| 数据集 | SCOLD Zero-shot (%) | 备注 |
|---|---|---|
| Wheat | 42.26(最高) | |
| Chili | 17.22(最高) | |
| Onion | 20.39(最高) | |
| Eggplant | 36.64(最高) | |
| Guava | 59.24(最高) | |
| Spinach | 48.39(最高) |
➡️ 整体结果:SCOLD 是所有模型中零样本表现最好的。
⭐ 二、Few-shot Classification(少样本)
论文给出了 1-shot、4-shot、16-shot 准确率。
📌 最重要结论:
- SCOLD 在 16-shot 时几乎所有数据集达到 95%--98% accuracy
- 明显强于 BioCLIP / SigLIP2 / CLIP
例如 16-shot:
| 数据集 | SCOLD (%) |
|---|---|
| Black gram | 97.22 |
| Durian | 97.09 |
| Eggplant | 54.55(最难数据集之一) |
| Guava | 84.22 |
| Radish | 95.82 |
| Soursop | 98.61 |
⭐ 三、Fine-tuning(全微调)
论文 Figure 8:
-
多数数据集 SCOLD 达到 90〜100% accuracy
-
在最难的 Eggplant / Guava / Spinach 上优势特别明显:
- Eggplant:65.62%(CLIP 只有 53.51%)
- Guava:82.55%(CLIP 55.66%)
- Spinach:74.34%(CLIP 42.76%)
⭐ 四、Image-Text Retrieval(图文检索)
SCOLD 在 LeafNet 测试集上:
Image→Text
- R@1:95.49%(比 CLIP 高 0.48%)
- R@5:98.85%(+0.96%)
Text→Image
- R@1:95.46%(+0.15%)
- R@5:99.70%(+1.52%)
➡️ SCOLD 在检索任务中全面超过原版 CLIP。
🎯 最终总体结论(最简版)
| 项目 | 最终表现 |
|---|---|
| Zero-shot | 34.80%(10 个 OOD 集群平均,最高) |
| Few-shot (16-shot) | 多数数据集达到 95%--98%+ |
| Fine-tune | 多数数据集达到 90%--100% |
| Retrieval | R@1 ≈ 95.5%,显著超过 CLIP |
➡️ Zero-shot:SCOLD 是当前农业领域最强的开放词汇病害分类基础模型。
➡️ Few-shot / Fine-tune 也保持优势,说明特征泛化能力强。
✅ SCOLD 的训练方式
论文中的 SCOLD 使用 对比学习(Contrastive Learning)+ Soft Target + 图文对齐 进行训练,本质上是一个类似 CLIP 的图文模型,但做了农业领域的增强。
🔧 训练组成
(1)训练数据:LeafNet(作者构建)
- 超过 186,000 张叶片图像
- 搭配 97 个类别对应的长文本描述(疾病症状描述)
图像 + 文本 = 一对训练样本
用于图文对齐。
🔧 (2)训练模型结构
| 模块 | 使用的架构 |
|---|---|
| 视觉编码器 | Swin-T(Swin Transformer Tiny) |
| 文本编码器 | RoBERTa-base |
| 图文对齐方式 | 类似 CLIP 的双塔模型(Dual Encoder) |
两者输出 512 维 embedding,通过对比学习对齐。
🔧 (3)训练方式(核心)
a)CLIP-style 对比学习 Loss(Image--Text Contrastive Loss)
每个 batch 内:
- 图像 embedding 和文本 embedding 做 cosine similarity
- 正样本(图像与其对应文本)相似度应最高
- 其余文本是负样本
b)Context-aware Soft Target(CST 软标签)← 论文的创新点
不同于 CLIP 的 one-hot:
- 相同作物但不同病害 → 给一点权重
- 同病害不同作物 → 给另一点权重
- 完全无关的类别 → 权重 0
这让模型在农业领域更鲁棒,因为:
同一类作物的病害往往视觉上很相似。
🔧 (4)训练参数
- 从零训练(no ImageNet 初始化)
- Batch size = 16
- Epoch = 20
- Optimizer = AdamW
- Warmup + Cosine Annealing
- GPU:RTX 3060 Ti
(说明该模型可落地,资源需求不高)
🧪 ② 零样本(Zero-shot)是怎么验证的?
零样本验证 不需要再训练模型。
它的流程完全等同于 CLIP 的 zero-shot 测试方式:
⭐ Zero-shot Evaluation 流程
步骤 1:为每个类别生成文本描述(Prompt)
论文使用了长文本模板,例如:
An image of [crop name] leaves diseased by [disease name] with symptoms of [detailed symptom description].
例如:
An image of tomato leaves diseased by Late Blight with symptoms of brown irregular lesions...
每个类别都会生成对应的文本向量(text embedding)。
步骤 2:将 OOD 图像输入视觉编码器 → 得到 image embedding
例如:
- 你把一张从未见过的 "Guava Anthracnose" 叶片图片传进去
- 模型提取其向量
步骤 3:图像向量与所有类别文本向量做相似度比较
算一个图像与所有类别文本的 cosine similarity:
sim(image, text_class_1)
sim(image, text_class_2)
...
sim(image, text_class_K)
最大值对应的类别即模型预测。
步骤 4:与 ground truth 对比 → 得到 zero-shot accuracy
所有数据集的预测结果和标签比对即可。
这就是论文 Table 4 的来源。
🎯 为什么这叫 Zero-shot?
因为:
- 测试数据(如 Chili、Durian、Guava)从没出现在训练中
- 甚至作物类别都完全是新作物
- 不需要微调,直接用预训练模型分类
体现模型的真实泛化能力。
📌 总结(一句话版本,可直接写入论文)
SCOLD 通过图文对比学习在 LeafNet 上进行预训练,并采用 Swin-T 与 RoBERTa 作为双编码器结构。训练后,通过将 OOD 测试图像 embedding 与各类别的文本描述 embedding 做相似度匹配,实现零样本分类评估,无需额外训练。