SCOLD 模型最终正确率总结

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 做相似度匹配,实现零样本分类评估,无需额外训练。


相关推荐
小二·几秒前
Python 学习教程(第2篇):用 Flask 开发你的第一个 Web 应用
python·学习·flask
Eternity∞7 分钟前
基于Linux系统vim编译器情况下的C语言学习
linux·c语言·开发语言·学习·vim
qq_3597162321 分钟前
Openvla的原理学习
学习
LaoZhangGong12329 分钟前
学习TCP/IP的第2步:ICMP数据包
网络·网络协议·学习·tcp/ip·以太网
符哥200839 分钟前
Swift开发app常见第三方库
学习·swift
BullSmall1 小时前
《庄子・逍遥游》对照版
学习
@zulnger1 小时前
python 学习笔记(文件和目录操作)
笔记·python·学习
Bony-1 小时前
驾驶员行为检测:基于卷积神经网络(CNN)的识别方法
人工智能·神经网络·cnn
科技林总1 小时前
【系统分析师】2.5 工程伦理
学习
_李小白2 小时前
【AlohaMini学习笔记】第二天:初见LeRobot
笔记·学习