﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>第4次组会后工作内容 &#8211; 学术创新中心</title>
	<atom:link href="https://www.leexinghai.com/aic/tag/zuhui4/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.leexinghai.com/aic</link>
	<description>Academic Innovation Center</description>
	<lastBuildDate>Mon, 24 Nov 2025 10:45:32 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.leexinghai.com/aic/wp-content/uploads/2025/08/cropped-徽标名称-32x32.jpg</url>
	<title>第4次组会后工作内容 &#8211; 学术创新中心</title>
	<link>https://www.leexinghai.com/aic</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>微谈-从读论文到写论文《Early Detection and Dynamic Grading of Sweet Potato Scab Based on Hyperspectral Imaging》</title>
		<link>https://www.leexinghai.com/aic/%e5%be%ae%e8%b0%88-%e4%bb%8e%e8%af%bb%e8%ae%ba%e6%96%87%e5%88%b0%e5%86%99%e8%ae%ba%e6%96%87%e5%85%8d%e4%ba%88%e5%85%ac%e5%bc%80/</link>
		
		<dc:creator><![CDATA[李星海]]></dc:creator>
		<pubDate>Fri, 21 Nov 2025 06:55:35 +0000</pubDate>
				<category><![CDATA[实验室]]></category>
		<category><![CDATA[微谈]]></category>
		<category><![CDATA[第4次组会后工作内容]]></category>
		<guid isPermaLink="false">https://www.leexinghai.com/aic/?p=3995</guid>

					<description><![CDATA[第1期（2025年11月21日） 《Early Detection and Dynamic Grading o [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>第1期（2025年11月21日）</p>



<p>《<strong>Early Detection and Dynamic Grading of Sweet Potato Scab</strong> <strong>Based on Hyperspectral Imaging</strong>》</p>



<p>把这篇论文和课题连接起来：</p>



<ol start="1" class="wp-block-list">
<li><strong>痛点一致：数据太少 (Small Sample vs. Few-shot)</strong>
<ul class="wp-block-list">
<li><strong>论文的做法</strong>：这篇论文也遇到了样本少的问题（只有 12 株植物 ）。他们解决的方法比较传统，是用“数据增强”（加噪声、旋转、平均光谱） 来硬凑数据量。</li>



<li><strong>课题</strong>：“小样本学习”就是为了解决这个问题，但不是靠硬凑，而是靠大模型强大的<strong>泛化能力</strong>，看几眼（Few-shot）就能学会。</li>
</ul>
</li>



<li><strong>关键差异：单模态 vs. 多模态 (Hyperspectral vs. Multi-modal)</strong>
<ul class="wp-block-list">
<li><strong>论文的做法</strong>：这篇论文主要依赖<strong>高光谱数据</strong>这一种信息（虽然也提到了 RGB，但主要是为了提取 ROI）。</li>



<li><strong>课题</strong>：做“多模态”。这意味着要把不同类型的信息融合在一起，让模型像老中医一样“望闻问切”。</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f914.png" alt="🤔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 引导思考：</strong></p>



<p>为了设计多模态大模型，我们需要先确定有哪些“模态”可以用。</p>



<ul class="wp-block-list">
<li>看着这篇论文的 <strong>Introduction（引言）部分</strong> 或者 <strong>Figure 4</strong> ，除了作者重点使用的<strong>高光谱数据（Spectral Data）之外，还有哪些信息可以作为第二种</strong>或<strong>第三种</strong>模态输入给大模型？
<ul class="wp-block-list">
<li>还可以用RGB图像。</li>
</ul>
</li>
</ul>



<p>RGB 图像绝对是多模态模型中非常重要且基础的一个模态。<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4f8.png" alt="📸" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p>其实，RGB 图像就是我们日常用手机或普通相机拍出来的彩色照片。在“多模态大模型”课题中，它的角色和高光谱数据（HSI）正好互补。</p>



<p>我们可以这样理解它们的分工：</p>



<ul class="wp-block-list">
<li><strong>RGB 图像（外观专家）</strong>：
<ul class="wp-block-list">
<li><strong>优势</strong>：它擅长捕捉<strong>纹理、形状、颜色</strong>和<strong>病斑的分布模式</strong>。</li>



<li><strong>低成本</strong>：正如论文中提到的未来展望，田间应用需要低成本方案 ，而 RGB 相机极其便宜，随便一个农户都有手机。</li>



<li><strong>论文中的应用</strong>：其实这篇论文里也用到了 RGB 图像！他们用 RGB 图像来做<strong>感兴趣区域（ROI）的提取</strong>，也就是把绿色的叶子从背景里“抠”出来 。</li>
</ul>
</li>



<li><strong>高光谱数据（内科专家）</strong>：
<ul class="wp-block-list">
<li><strong>优势</strong>：正如我们刚才学的，它能看到内部化学成分（如叶绿素、水分）的变化，这是肉眼看不到的 。</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f914.png" alt="🤔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 引导思考：</strong></p>



<p>为了更深刻地理解为什么要“多模态”（即 RGB + 高光谱），我们回顾一下论文的 <strong>3.1 节</strong>。</p>



<ul class="wp-block-list">
<li>作者在分析光谱数据时提到，在<strong>可见光波段（450-700 nm，也就是 RGB 覆盖的范围）</strong>，早期病害叶片的光谱<strong>有没有发生显著变化</strong>？（想一想，如果只用 RGB 相机去拍早期潜伏期的红薯叶，能看出病来吗？）
<ul class="wp-block-list">
<li>变化极小，所以只用RGB相机去拍摄早期潜伏期的红薯叶是看不出病的</li>
</ul>
</li>
</ul>



<p>论文中明确指出，在 <strong>可见光波段（400-700 nm）</strong>，早期病害叶片的光谱<strong>没有观察到显著变化</strong> <sup></sup>。这意味着，单靠 RGB 相机去拍，那个阶段的叶子看起来就是完全健康的，根本无法实现“早期预警”。</p>



<p>这也正是你的课题引入 <strong>“多模态”</strong> 的绝佳理由：我们是在用<strong>高光谱的“透视眼”去弥补RGB相机的“肉眼凡胎”</strong>。</p>



<p>为了构建这个大模型的思路，我们来梳理一下这两个模态是如何“打配合”的：</p>



<ul class="wp-block-list">
<li><strong>高光谱 (HSI)</strong>：负责提供<strong>光谱维度的深度</strong>。它能发现肉眼看不到的叶绿素或水分变化 ，解决“早期检测”的问题。</li>



<li><strong>RGB 图像</strong>：负责提供<strong>空间维度的细节</strong>。
<ul class="wp-block-list">
<li>虽然早期看不出病，但它有极高的清晰度（分辨率），可以告诉模型：“这里是叶脉，那里是叶肉，这里是边缘”。</li>



<li>高光谱相机拍出来的图通常很模糊（空间分辨率低），RGB 可以作为“向导”，告诉高光谱数据应该关注叶片的哪个具体位置。</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 下一步：定义“小样本”的任务目标</h3>



<p>搞定了输入端（RGB + HSI），现在我们要来定义模型要完成什么<strong>任务</strong>了。</p>



<p>如果能在肉眼看到病斑之前，就通过大模型告诉农户：“这株红薯虽然现在看着挺好，但它已经感染了疮痂病，3天后就会爆发”，那价值是巨大的。</p>



<p>为了实现这个“未卜先知”的功能，我们需要利用好刚才那篇论文里的教训，来构建<strong>多模态输入逻辑</strong>。</p>



<p>我们来梳理一下这里的逻辑链条：</p>



<ol start="1" class="wp-block-list">
<li><strong>RGB 的局限</strong>：根据论文，在早期潜伏期，RGB 图像上的光谱特征（可见光波段）<strong>没有显著变化</strong> 。也就是说，对于大模型来说，那只是一张普通的绿叶子照片。</li>



<li><strong>预测的来源</strong>：真正的“天机”藏在高光谱（HSI）数据的<strong>近红外波段</strong>里（比如 764.5-936.5 nm）。</li>



<li><strong>大模型的角色</strong>：大模型需要结合这两个信息，做出推理。</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f914.png" alt="🤔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 核心问题来了：数据如何喂给大模型？</strong></p>



<p>目前的主流多模态大模型（如 GPT-4V, Gemini 等）主要是接受 <strong>“图像 (Image)”</strong> 和 <strong>“文本 (Text)”</strong> 作为输入的。</p>



<p>但是，高光谱数据是一个包含 116 个波段的“数据立方体”或者一串复杂的数字序列。不能直接把 Excel 表格扔进去。</p>



<p>为了让大模型能看懂这串“天机”，需要把高光谱数据进行一种<strong>模态转换 (Modality Transformation)</strong>。</p>



<p>下面哪种方式更适合作为“提示词 (Prompt)”的一部分喂给大模型，让它结合 RGB 图像进行少样本预测？</p>



<ol start="1" class="wp-block-list">
<li><strong>视觉化方式 (Visualization)</strong>：把那 116 个波段的数据画成一张<strong>折线图</strong>（类似论文里的 Figure 5），作为第二张图片传给模型？</li>



<li><strong>文本化方式 (Textualization)</strong>：通过算法提取出关键波段的数值（比如论文里提到的 801.8 nm, 769.8 nm 等 ），把它转化成一段<strong>文字描述</strong>（例如：“检测到 801nm 处反射率异常下降...”）？</li>
</ol>



<p>（提示：考虑到要做“少样本学习”，哪种方式更容易让大模型利用它已有的通用知识进行推理？）</p>



<p><strong>2.文本化方式 (Textualization)</strong> 是一个非常聪明的选择，特别是对于目前的大语言模型来说。</p>



<p>为什么这么说呢？</p>



<ul class="wp-block-list">
<li><strong>逻辑推理优势</strong>：大模型（LLM）本质上是“逻辑推理引擎”。如果你给它看一张折线图（视觉化），它可能需要费力去“看”图上的细微差别；但如果你直接告诉它：“<em>注意！近红外波段的反射率下降了 15%</em>”，这就像给医生直接看化验单上的“↑”或“↓”箭头，它能立刻调用通用的生物学知识进行推理。</li>



<li><strong>利用论文成果</strong>：还记得那篇论文里，作者通过 <strong>随机森林 (RF)</strong> 挑选出了几个最重要的“明星波段”吗？（比如 801.8 nm, 769.8 nm 等）。既然我们已经知道答案在哪里，直接把这些关键点的数值变化变成文字告诉大模型，效率是最高的。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e9.png" alt="🧩" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 现在的挑战：设计“提示词 (Prompt)”</strong></p>



<p>我们要构造一个“多模态提示词”，它的结构大概是这样的：</p>



<ol start="1" class="wp-block-list">
<li><strong>图片输入</strong>：一张看起来很健康的红薯叶 RGB 照片。</li>



<li><strong>文本输入</strong>：一段描述这张叶子“内在生理状态”的文字（来自高光谱数据）。</li>
</ol>



<p>为了让大模型能准确预测出“这株植物即将发病”，我们需要在文本里描述出<strong>早期潜伏期</strong>最典型的光谱特征。</p>



<p>回顾一下论文的 <strong>3.1 节</strong>（特别是关于近红外 NIR 和红边 Red-edge 的讨论）<sup></sup><sup></sup><sup></sup><sup></sup>，或者是我们刚才讨论过的“接种后第1天”的变化。</p>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 引导问题：</strong> 如果我们要写这段文本描述，为了向大模型发出“预警”，我们应该重点描述<strong>近红外 (NIR)</strong> 区域的反射率发生了什么样的变化？（是升高了，还是降低了？）</p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c9.png" alt="📉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>反射率降低了</strong>。</p>



<p>这是最关键的特征。根据论文 <sup></sup>，这是因为病原菌破坏了叶片的细胞结构并干扰了水分代谢，导致叶片对近红外光的反射能力变弱。</p>



<p>现在，我们要把这个发现变成给大模型的一句<strong>精准指令</strong>。如果只说“反射率降低”，模型可能会问：“哪里的反射率？为什么降低？”</p>



<p>为了让你的“少样本预测”更准确，我们需要加上<strong>具体的波段范围</strong>和<strong>生理原因</strong>。</p>



<p>论文中提到，病原菌接种会扰乱水分代谢并破坏叶片细胞结构，从而导致叶片反射能力下降，减少了近红外辐射 <sup></sup>。</p>



<p>现在，为了让大模型“听”得更懂，我们需要把这句话变得更像一条<strong>指令</strong>。大模型对于<strong>具体的数字</strong>是非常敏感的。</p>



<p>还记得我们在论文中看到的那些被随机森林（RF）挑选出来的“明星波段”吗？比如 <strong>801.8 nm</strong>，或者那个关键的波段范围 <strong>764.5-936.5 nm</strong> <sup></sup><sup></sup><sup></sup><sup></sup>。</p>



<p>试着把刚才那句完美的生理学描述，和这些具体的<strong>波段数字</strong>结合起来，写成一条完整的提示词（Prompt）。</p>



<pre class="wp-block-code"><code>警告：虽然 RGB 图像显示叶片健康，但在764.5-936.5nm的近红外区域检测到反射率显著下降，这表甘薯内部存在病原菌，扰乱了水分代谢并破坏了叶片细胞结构</code></pre>



<p>为了完成这个“小样本学习”的构建，我们需要把这个“提示词”和“正确答案”配对，做成一个完整的<strong>训练样本（Example）</strong>。</p>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 引导思考：</strong></p>



<p>既然我们现在的目标是<strong>预测</strong>（Scene A），对于这样一个“RGB看着健康 + NIR数据显示异常”的样本，希望大模型最终输出的<em>预测结果（Label）</em>应该是什么？</p>



<p>请结合论文中提出的<strong>动态分级</strong>概念（特别是第 3.2 节），给这个样本贴上一个最准确的标签。是“健康（Healthy）”、“早期潜伏期（Early Latent）”还是“早期轻度期（Early Mild）”？</p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>“早期潜伏期” (Early Latent Period)</strong> 是最准确的标签。</p>



<p>因为在这个阶段，RGB 图像上的叶片看起来完全健康（欺骗了肉眼），但光谱数据已经揭示了内部的生理病变（揭示了真相）。准确识别出这个阶段，正是你实现“预测未来病害”的核心。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 打包我们的“小样本”策略</h3>



<p>现在我们已经成功构建了一个完整的 <strong>“小样本学习” (Few-shot Learning)</strong> 案例。</p>



<p>回顾一下我们刚才搭建的积木，你的多模态大模型将这样工作：</p>



<ol start="1" class="wp-block-list">
<li><strong>输入 (Input)</strong>：
<ul class="wp-block-list">
<li><strong>图像</strong>：一张普通的红薯叶 RGB 照片。</li>



<li><strong>文本提示</strong>：基于高光谱传感器数据的描述（例如：“检测到 764.5-936.5 nm 波段反射率显著下降...”）。</li>
</ul>
</li>



<li><strong>少样本示例 (Few-shot Examples)</strong>：
<ul class="wp-block-list">
<li>你会给模型看几个例子，告诉它：“看，这种‘图好+文不好’的情况，就是<strong>早期潜伏期</strong>。”</li>
</ul>
</li>



<li><strong>输出 (Output)</strong>：
<ul class="wp-block-list">
<li>模型基于这些例子，对新的样本做出预测：“这株植物处于早期潜伏期，预计将发展为疮痂病。”</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f916.png" alt="🤖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 下一步：赋予 AI “人设” (System Instruction)</h3>



<p>为了让大模型表现得更专业，通常我们需要给它写一段 <strong>“系统指令” (System Instruction)</strong>，也就是告诉它：“你是谁？你的任务是什么？”</p>



<p>结合这篇论文的标题《基于高光谱成像的甘薯疮痂病早期检测...》以及它强调的 <strong>“无损检测” (non-destructive)</strong> 和 <strong>“早期预警” (early detection)</strong> <sup></sup> 的目标。</p>



<p><strong>引导性问题：</strong></p>



<p>如果给这个大模型定义一个身份和核心任务，该怎么写？</p>



<p>（试着填空：“你是一位______专家。你的任务是结合 RGB 图像和高光谱数据描述，在病害症状肉眼可见之前，______。”）</p>



<pre class="wp-block-code"><code>你是一位识别甘薯病害的专家。你的任务是结合RGB图像和高光谱数据描述，在病害症状肉眼可见之前，给出甘薯病害的类型和发病时期阶段的判断。</code></pre>



<p>在生物学和植物病理学中，PCR 技术（特别是荧光定量 PCR）是检测病原体的“金标准”（Gold Standard）。</p>



<p>为什么它对你的课题这么重要？</p>



<ul class="wp-block-list">
<li><strong>定海神针：</strong> 当 RGB 图像看不出来（表型正常），甚至高光谱也只是“推测”时，PCR 能直接检测出叶片里有没有 <em>Elsinoë batatas</em>（甘薯疮痂病菌）的特定 DNA 片段。</li>



<li><strong>打标签（Labeling）：</strong> 你的“小样本学习”需要 3-5 个<strong>正确的</strong>例子来教大模型。这些例子的“标准答案”（是健康还是潜伏期），就是靠 PCR 测出来的。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e9.png" alt="🧩" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 拼图完成：构建你的“小样本提示词”</h3>



<p>现在，我们要把所有的积木——<strong>RGB图像</strong>、<strong>高光谱文本</strong>、<strong>PCR验证结果</strong>——组装成给大模型的最终指令。</p>



<p>在“小样本学习”（Few-shot Learning）中，我们需要给大模型展示几个“输入-输出”对（Input-Output Pairs），让它学会其中的逻辑。</p>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 引导任务：</strong></p>



<p>试着写一个<strong>完整的教学示例（Example）</strong>。</p>



<p>想象你正在编写大模型的提示词（Prompt），请填空完成下面这个“示例 1”：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>【示例 1】</strong> <strong>输入（用户）：</strong></p>



<ul class="wp-block-list">
<li><strong>图像：</strong> [上传了一张看起来绿油油、很健康的红薯叶图片]</li>



<li><strong>文本描述：</strong> 警告：虽然 RGB 图像显示叶片健康，但在 764.5-936.5nm 的近红外区域检测到反射率显著下降，这表明甘薯内部存在病原菌，扰乱了水分代谢并破坏了叶片细胞结构。</li>
</ul>



<p><strong>输出（模型）：</strong> <strong>诊断结果：</strong> __________________ <strong>置信度来源（PCR验证）：</strong> 经 PCR 检测，样本对 <em>Elsinoë batatas</em> 呈_______（阳性/阴性），Ct 值较低，确诊为早期感染。</p>
</blockquote>



<p>请填补上面的横线，完成这个示例！</p>



<pre class="wp-block-code"><code>诊断结果： 早期潜伏期置信度来源（PCR验证）： 经 PCR 检测，样本对 Elsinoë batatas 呈阳性（阳性/阴性），Ct 值较低，确诊为早期感染。</code></pre>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f393.png" alt="🎓" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 阶段性总结：搭建好系统的“大脑”</h3>



<p>到目前为止，我们已经完成了最关键的<strong>提示词工程 (Prompt Engineering)</strong> 设计。现在，多模态大模型的工作流程是这样的：</p>



<ol start="1" class="wp-block-list">
<li><strong>学习阶段（Prompting）：</strong>
<ul class="wp-block-list">
<li>给大模型看 3-5 个像刚才那样的“完整示例”（包含图片、光谱描述、以及 PCR 验证的正确答案）。</li>



<li>大模型通过这些例子学会了：“哦！原来这种‘看着没病，但光谱说有病’的情况，就是<strong>早期潜伏期</strong>。”</li>
</ul>
</li>



<li><strong>应用阶段（Inference）：</strong>
<ul class="wp-block-list">
<li>农户拿着设备在田里拍了一张红薯叶。</li>



<li>设备生成了 RGB 图像和光谱描述（比如“NIR 反射率下降”）。</li>



<li><strong>注意：此时田里是没有 PCR 机器的。</strong></li>
</ul>
</li>
</ol>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f914.png" alt="🤔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 引导思考：</strong></p>



<p>在田间应用（Inference）的时候，我们已经没有 PCR 结果了。</p>



<ul class="wp-block-list">
<li>此时，大模型是依靠<strong>什么</strong>来给出“这株红薯即将发病”的预警的呢？（它是靠刚才学到的什么“逻辑”？）
<ul class="wp-block-list">
<li>设备生成RGB图像和光谱描述的文本</li>
</ul>
</li>
</ul>



<p>在田间，农户手中的设备只能提供“RGB 图像”<strong>和</strong>“光谱数据的文本描述”作为线索。</p>



<p>那这里就涉及到了“小样本学习”的核心逻辑：既然没有 PCR 机器告诉大模型确切答案，大模型是<strong>参照什么</strong>来敢于下结论说：“这虽然看着健康，但其实是早期潜伏期”的呢？</p>



<p>这就是要喂给大模型的“教材”。为了让模型学会“举一反三”，我们需要设计覆盖不同情况的典型案例。</p>



<p>通常我们需要准备 <strong>3 个不同类型</strong> 的例子，来教会模型区分“真健康”、“潜伏期”和“早期发病”。</p>



<p>以下是草拟的 3 个模态提示数据：</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c2.png" alt="📂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 小样本提示数据 (Few-shot Examples)</h3>



<p><strong>【示例 1：健康对照组】</strong></p>



<ul class="wp-block-list">
<li><strong>输入（用户）：</strong>
<ul class="wp-block-list">
<li><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5bc.png" alt="🖼" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 图像：</strong> [上传图片] 叶片呈现均匀的绿色，表面光滑，无任何可见斑点或变色。</li>



<li><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dd.png" alt="📝" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 文本描述：</strong> 光谱扫描显示 <strong>764.5-936.5 nm</strong> 近红外区域反射率曲线<strong>平滑且维持在高位</strong>，未检测到显著下降，表明叶片细胞结构完整，水分代谢正常。</li>
</ul>
</li>



<li><strong>输出（模型）：</strong>
<ul class="wp-block-list">
<li><strong>诊断结果：</strong> <strong>健康 (Healthy)</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f7e2.png" alt="🟢" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>



<li><strong>置信度来源：</strong> 经 PCR 检测，样本对 <em>Elsinoë batatas</em> 呈<strong>阴性</strong>，未检测到病原菌 DNA。</li>
</ul>
</li>
</ul>



<p><strong>【示例 2：早期潜伏期（关键教学样本）】</strong></p>



<ul class="wp-block-list">
<li><strong>输入（用户）：</strong>
<ul class="wp-block-list">
<li><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5bc.png" alt="🖼" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 图像：</strong> [上传图片] 叶片呈现均匀的绿色，外观与健康叶片<strong>无异</strong>，肉眼无法观察到病斑。</li>



<li><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dd.png" alt="📝" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 文本描述：</strong> 警告：尽管 RGB 图像显示正常，但在 <strong>764.5-936.5 nm</strong> 近红外区域检测到反射率<strong>显著下降</strong>（与标准基线相比偏差 &gt;15%），提示内部细胞间隙水分主要分布异常及微观结构受损。</li>
</ul>
</li>



<li><strong>输出（模型）：</strong>
<ul class="wp-block-list">
<li><strong>诊断结果：</strong> <strong>早期潜伏期 (Early Latent)</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>



<li><strong>置信度来源：</strong> 经 PCR 检测，样本对 <em>Elsinoë batatas</em> 呈<strong>阳性</strong>，Ct 值较低，确诊为隐性感染。</li>
</ul>
</li>
</ul>



<p><strong>【示例 3：早期轻度期（对照样本）】</strong></p>



<ul class="wp-block-list">
<li><strong>输入（用户）：</strong>
<ul class="wp-block-list">
<li><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5bc.png" alt="🖼" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 图像：</strong> [上传图片] 叶片表面出现<strong>微小的红色或褐色针尖状斑点</strong>，叶脉轻微卷曲。</li>



<li><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dd.png" alt="📝" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 文本描述：</strong> 光谱数据显示 <strong>764.5-936.5 nm</strong> 区域反射率大幅下降，且可见光波段（500-600 nm）出现轻微红移，表明叶绿素开始降解且组织受损严重。</li>
</ul>
</li>



<li><strong>输出（模型）：</strong>
<ul class="wp-block-list">
<li><strong>诊断结果：</strong> <strong>早期轻度期 (Early Mild)</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f534.png" alt="🔴" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>



<li><strong>置信度来源：</strong> 经 PCR 检测，样本对 <em>Elsinoë batatas</em> 呈<strong>强阳性</strong>。</li>
</ul>
</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 引导思考</h3>



<p>请仔细对比一下 <strong>【示例 1】</strong> 和 <strong>【示例 2】</strong>。</p>



<p>从大模型的角度来看，这两个例子的 <strong>“图像”</strong> 输入几乎是一模一样的（都是绿油油的好叶子）。</p>



<p>为了把它们区分开，大模型必须学会<strong>忽略</strong>图像上的相似性，转而<strong>完全依赖</strong>哪一部分信息来做判断？</p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3af.png" alt="🎯" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>文本描述</strong>才是破局的关键。</p>



<p>在“健康”和“早期潜伏期”这两个例子中，<strong>RGB 图像</strong>甚至起到了“干扰项”的作用（因为它们看起来一模一样），只有<strong>文本描述</strong>（特别是 764.5-936.5 nm 的数据）揭示了本质区别。你这是在教大模型学会一个高级技能：<strong>“当眼睛（视觉）被欺骗时，要相信数据（文本）。”</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f69c.png" alt="🚜" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 实战演练 (Inference Simulation)</h3>



<p>现在，“教材”编写完毕，模型也“学”会了那 3 个例子。我们要把设备带到田里去了。</p>



<p><strong>场景：</strong> 农户老李对着一株看起来非常精神的红薯苗扫了一下。</p>



<p><strong>【新的输入数据】</strong></p>



<ul class="wp-block-list">
<li><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5bc.png" alt="🖼" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 图像：</strong> [上传图片] 叶片舒展，颜色翠绿，没有任何斑点。</li>



<li><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4dd.png" alt="📝" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 文本描述：</strong> 警告：RGB 表现正常，但在 <strong>764.5-936.5 nm</strong> 区域检测到反射率曲线显著低于标准基线，提示细胞结构可能受损。</li>



<li></li>
</ul>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f914.png" alt="🤔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 引导问题：</strong></p>



<ul class="wp-block-list">
<li>基于之前学习的 3 个例子（特别是示例 2），大模型应该给老李输出什么<strong>诊断结果</strong>？它是如何判断出这个结果的？
<ul class="wp-block-list">
<li>早期潜伏期的结果，基于反射率曲线显著低于标准基线</li>
</ul>
</li>
</ul>



<p>大模型非常聪明，它成功地在脑海中进行了<em>“模式匹配”</em>：</p>



<ol start="1" class="wp-block-list">
<li>它观察到<strong>输入</strong>是：“RGB 看着没病” + “文本说 NIR 反射率低”。</li>



<li>它回想起教它的 <strong>【示例 2】</strong> 也是这种情况。</li>



<li>于是它果断给出了结论：<strong>“这是早期潜伏期！”</strong>（实际上就是预测了病害即将爆发）。</li>
</ol>



<p>这就是<strong>小样本学习 (Few-shot Learning)</strong> 的威力——不需要训练成千上万张图，只需要教会它核心逻辑，它就能举一反三。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 落地应用的“最后一公里”</h3>



<p>但是，作为科研课题设计，我们现在面临一个非常现实的<strong>硬件挑战</strong>。</p>



<p>请回想一下刚才的场景：农户老李拿着设备在田里操作。</p>



<ul class="wp-block-list">
<li><strong>RGB 图像：</strong> 他的手机摄像头随便一拍就有了。</li>



<li><strong>文本描述（那段关于 764.5-936.5 nm 的数据）：</strong> 这一步是关键。</li>
</ul>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 引导思考：</strong></p>



<p>普通的手机摄像头能看到 <strong>900 nm</strong> 附近的近红外光吗？ 为了能让大模型获得这段至关重要的“文本提示”，老李手中的这个“设备”除了手机之外，还必须集成一个什么样的<strong>关键硬件</strong>？</p>



<p>（提示：回顾一下论文的 <strong>2.2 节</strong> <sup></sup>用的是什么设备，以及 <strong>Discussion 部分</strong> <sup></sup> 对未来的展望。）</p>



<p>在实际的田间应用中，老李手中的“终端”其实是一套<strong>组合设备</strong>：</p>



<ol start="1" class="wp-block-list">
<li><strong>智能手机</strong>：负责提供算力（运行大模型）、拍摄 RGB 图像、以及作为操作界面。</li>



<li><strong>便携式光谱传感器（硬件插件）</strong>：正如论文在“未来展望”中提到的，这是一个必须要开发的<strong>低成本</strong>模块 。它负责采集那关键的 764.5-936.5 nm 数据，并将其转化为大模型能读懂的文本描述。</li>
</ol>



<p>没有这个硬件，大模型就会变成“瞎子”，只能看到 RGB 图像，从而无法实现早期预测。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f331.png" alt="🌱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 最后的思考：技术的价值</h3>



<p>既然我们已经把这套“多模态 + 小样本 + 专用硬件”的方案在理论上跑通了，最后让我们回到农业生产的初衷。</p>



<p>如果老李真的用了这套系统，在“早期潜伏期”就发现了病情（而不是等到叶子上全是斑点才发现），这对于他的红薯收成到底有多大的实际意义？</p>



<p>请看看论文的 <strong>Introduction（引言）部分</strong> <sup></sup>。文中提到，如果疮痂病发生在生长早期，造成的产量损失可能会达到多少？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The young shoots of severely infected plants will shrink and cannot extend normally. Scab can occur in the whole growth period of sweet potato. If it occurs in the early growth stage, the yield loss can reach 60~70% [3].</p>



<p>严重感染的甘薯植株幼苗会萎缩，无法正常伸长。甘薯全生育期均可发生疮痂病，若在生长初期发生，产量损失可达60%~70%[3]。</p>
</blockquote>



<p>如果这种病害在生长早期发生，产量损失可能高达 <strong>60%~70%</strong> <sup></sup>。</p>



<p>这就意味着，如果我们能用“多模态大模型”在潜伏期就把病害找出来，老李的一亩地就能挽回绝大部分的收成。这就是这项研究最实实在在的价值——<strong>用 AI 保障粮食安全</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f33e.png" alt="🌾" class="wp-smiley" style="height: 1em; max-height: 1em;" />。</p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f389.png" alt="🎉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>总结一下我们的成果</strong></p>



<p>我们通过拆解这篇论文，成功构建了一个极具前瞻性的课题思路：</p>



<ol start="1" class="wp-block-list">
<li><strong>核心痛点</strong>：早期病害肉眼（RGB）看不见，且农业病害样本难以大规模采集。</li>



<li><strong>创新方案</strong>：<strong>多模态大模型</strong>（RGB 图像 + HSI 光谱文本）结合 <strong>小样本学习</strong>（Few-shot Learning）。</li>



<li><strong>技术路径</strong>：
<ul class="wp-block-list">
<li>利用便携式传感器获取关键波段（764.5-936.5 nm）数据。</li>



<li>将光谱数据转化为<strong>文本提示</strong>，弥补视觉信息的盲区。</li>



<li>通过 3-5 个包含 PCR 验证的“金标准”样本，教会大模型进行推理预测。</li>
</ul>
</li>
</ol>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>论文评述-文献MDPI-HSI-EN-2510284</title>
		<link>https://www.leexinghai.com/aic/%e8%ae%ba%e6%96%87%e8%af%84%e8%bf%b0-%e6%96%87%e7%8c%aemdpi-hsi-en-2510284/</link>
		
		<dc:creator><![CDATA[李星海]]></dc:creator>
		<pubDate>Fri, 21 Nov 2025 04:51:51 +0000</pubDate>
				<category><![CDATA[微谈]]></category>
		<category><![CDATA[HSI高光谱]]></category>
		<category><![CDATA[第4次组会后工作内容]]></category>
		<guid isPermaLink="false">https://www.leexinghai.com/aic/?p=3980</guid>

					<description><![CDATA[本期评述文章： 这篇论文的核心在于解决一个痛点：甘薯疮痂病在早期很难通过肉眼（RGB）识别，所以作者利用高光谱 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>本期评述文章：</p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="LD4hptMVKl"><a href="https://www.leexinghai.com/aic/mdpi-hsi-en-2510284/">[文献MDPI-HSI-EN-2510284]Early Detection and Dynamic Grading of Sweet Potato Scab Based on Hyperspectral Imaging</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="《 [文献MDPI-HSI-EN-2510284]Early Detection and Dynamic Grading of Sweet Potato Scab Based on Hyperspectral Imaging 》—学术创新中心" src="https://www.leexinghai.com/aic/mdpi-hsi-en-2510284/embed/#?secret=DRCGWJRTM4#?secret=LD4hptMVKl" data-secret="LD4hptMVKl" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<p>这篇论文的核心在于解决一个痛点：甘薯疮痂病在早期很难通过肉眼（RGB）识别，所以作者利用高光谱成像（HSI）技术，结合机器学习算法，试图在人眼看到症状之前就检测出病害 。</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading has-text-align-center">开始之前-实验设计</h2>



<p>在这篇论文中，作者为了让计算机学会“看”出人眼看不到的早期病害，精心设计了一个“找不同”的实验。</p>



<p>我们可以把这个实验设计拆解为三个关键环节。</p>



<ol start="1" class="wp-block-list">
<li><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f360.png" alt="🍠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> “双薯记”：为什么选这两个品种？(样本选择)</strong> 他们特意选取了两个极端：抗病品种（广薯87）和感病品种（贵菜薯2）。为什么要这样做？这对于训练模型有什么特殊的帮助？</li>



<li><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4f8.png" alt="📸" class="wp-smiley" style="height: 1em; max-height: 1em;" /> “高科技摄影棚”：怎么拍出光谱图？(数据采集)</strong> 他们没有在田间地头拍，而是把红薯搬进了全黑的实验室，用卤素灯和高光谱相机拍摄 。这种“摆拍”是为了消除什么干扰？</li>



<li><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/23f1.png" alt="⏱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> “时间猎人”：如何捕捉“早期”？(数据分组与时间轴)</strong> 他们连续监测了 8 天，并且人为地定义了“早期潜伏期”和“早期轻度期” 。这部分设计直接决定了论文的核心创新点。</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<p class="has-text-align-center has-medium-font-size"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f360.png" alt="🍠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> “双薯记”：为什么选这两个品种？(样本选择)</strong></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Experiments were conducted using the sweet potato scab-resistant variety Guangshu 87 (GS87) and the susceptible variety Guicaishu 2 (GCS2). </p>



<p>Trans:本实验采用抗甘薯疮痂病品种广薯87（GS87）和易感品种贵菜薯2（GCS2）进行。</p>
</blockquote>



<p>这个实验设计的核心逻辑是“控制变量法”的极致应用。作者没有只选一种容易得病的红薯，而是特意引入了一个“陪跑”的抗病品种。</p>



<h4 class="wp-block-heading">1. 选角：为什么是这两种红薯？</h4>



<p>作者选择了两个性格迥异的品种：</p>



<ul class="wp-block-list">
<li><strong>易感品种 (Susceptible)：贵菜薯2号 (GCS2)</strong>。它是主角，因为它容易得病，光谱变化明显，用来训练模型识别病害。</li>



<li><strong>抗病品种 (Resistant)：广薯87 (GS87)</strong>。它是配角，但至关重要。</li>
</ul>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 深度思考：为什么要选抗病品种？</p>



<p>如果只用易感品种，当光谱发生变化时，你很难 100% 确定这是由疮痂病菌引起的，还是因为喷水（接种过程）、套袋保湿等操作引起的应激反应。</p>



<p>通过引入抗病品种，作者发现：在接种后，抗病品种 GS87 的光谱几乎没有显著变化（p=0.535），而易感品种 GCS2 的红边波段变化显著（p=0.039）。</p>



<p>结论： 这证明了光谱的变化确实是由病害感染引起的，而不是环境或操作误差。这为后续的数据分析提供了铁证。</p>



<h4 class="wp-block-heading">2. 分组：严谨的“四象限”</h4>



<p>为了万无一失，作者将这 12 株红薯分成了 4 组 ：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The two sweet potato varieties, resistant and susceptible, were divided into a control group and a treatment group, with three replicates in each group, totaling twelve plants</p>



<p>Trans:将抗病与易感两种甘薯品种分为对照组和处理组，每组设三个重复，共计十二株植株。</p>
</blockquote>



<ul class="wp-block-list">
<li><strong>GCS2 (易感) - 对照组 (CK)</strong>：健康的，没病的。</li>



<li><strong>GCS2 (易感) - 处理组 (T)</strong>：接种了病菌的（这是我们要检测的目标）。</li>



<li><strong>GS87 (抗病) - 对照组 (CK)</strong>：健康的。</li>



<li><strong>GS87 (抗病) - 处理组 (T)</strong>：接种了病菌，但因为它抗病，所以它是用来验证“光谱稳定性”的。</li>
</ul>



<h4 class="wp-block-heading">3. 接种：模拟真实的“生病”过程</h4>



<p>为了让数据可控，他们没有等自然发病，而是进行了<strong>人工接种</strong>。</p>



<ul class="wp-block-list">
<li><strong>病原体</strong>：从感染的红薯叶片上分离出的 <em>Elsinoë batatas</em> 真菌。</li>



<li><strong>操作</strong>：配制成孢子悬浮液喷洒在叶片上，然后<strong>套袋</strong>保湿，模拟高湿度的感染环境（25°C, 90% 湿度）。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9d0.png" alt="🧐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 这里的“坑”与“对策”</h3>



<p>你可能会注意到，一共只有 <strong>12 株</strong> 植物（每组 3 个重复）。</p>



<ul class="wp-block-list">
<li><strong>问题</strong>：作为机器学习的数据集，12 株样本太少了，容易导致模型过拟合（Overfitting），也就是模型只记住了这几棵草的样子，换一棵就不认识了。</li>



<li><strong>对策</strong>：这就是为什么后面会有 <strong>ROI（感兴趣区域）提取</strong> 和 <strong>数据增强（Data Augmentation）</strong> 的原因。作者通过从每张图提取 5-10 个光谱组，把样本量扩充到了 527 个原始数据，后面又通过加噪声等方法进一步扩充。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<p class="has-text-align-center has-medium-font-size"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4f8.png" alt="📸" class="wp-smiley" style="height: 1em; max-height: 1em;" /> “高科技摄影棚”：怎么拍出光谱图？(数据采集)</strong> </p>



<p>如果说“双薯记”是为了选对演员，那么这个环节就是为了搭建最完美的舞台。对于高光谱成像来说，<strong>光环境的纯净度</strong>决定了数据的生死。如果环境光乱糟糟，或者阴影太多，任何微小的光谱信号都会被噪音淹没。</p>



<p>作者是如何搭建这个“无菌”的光学环境的？我们可以从<strong>硬件配置</strong>、<strong>拍摄几何</strong>和<strong>数据清洗</strong>三个层面来拆解：</p>



<h4 class="wp-block-heading">1. 硬件配置：全黑屋与特定的光</h4>



<p>这也是为什么做高光谱研究通常不能直接在田里拍，而要进实验室的原因。</p>



<ul class="wp-block-list">
<li><strong>全黑环境 (Darkroom)</strong>：实验是在一个<strong>光控室</strong>里进行的，严格隔绝了自然光。
<ul class="wp-block-list">
<li><em>为什么？</em> 太阳光是不稳定的（有云飘过光强就会变），而这里需要绝对稳定的光源，确保每一天拍摄的数据具有可比性。</li>
</ul>
</li>



<li><strong>特定光源</strong>：使用了两盏 <strong>500W 的卤素灯</strong>。
<ul class="wp-block-list">
<li><em>为什么？</em> 卤素灯的光谱覆盖范围很宽（可见光到近红外），非常平滑，非常适合做高光谱照明。</li>
</ul>
</li>



<li><strong>拍摄设备</strong>：SOC710-VP 高光谱成像仪。
<ul class="wp-block-list">
<li><strong>能力值</strong>：它的光谱范围是 <strong>400-1000 nm</strong>（覆盖可见光和近红外），光谱分辨率高达 <strong>2.1 nm</strong>，一共有 <strong>128 个波段</strong>。这意味着它把我们肉眼看到的“红色”，细分成了几十种不同的“红”。</li>
</ul>
</li>
</ul>



<h4 class="wp-block-heading">2. 拍摄几何：45度角的秘密</h4>



<p>作者对灯光和相机的位置做了非常精确的规定：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The camera was mounted horizontally on a tripod, positioned 0.4 m above the potted sweet potato samples, and illuminated by two 500 W halogen lamps placed at a 45 degree angle. The setup remained fixed throughout the imaging cycle, with samples photographed against a white background.</p>



<p>Trans:相机水平安装在三脚架上，距离盆栽甘薯样品上方0.4米，并由两盏500瓦卤素灯以45度角照射进行照明。在整个成像过程中，装置保持固定，样品在白色背景下拍摄。</p>
</blockquote>



<ul class="wp-block-list">
<li><strong>位置</strong>：相机垂直向下，距离红薯 0.4 米。</li>



<li><strong>灯光角度</strong>：两盏灯呈 <strong>45度角</strong> 照射样品。
<ul class="wp-block-list">
<li><em>为什么是45度？</em> 这个角度是经典的翻拍布光方式，可以最大程度地<strong>减少叶片表面的镜面反射（反光）</strong>，同时避免阴影过重。对于表面有蜡质的红薯叶片来说，减少反光至关重要。</li>
</ul>
</li>



<li><strong>背景</strong>：使用了<strong>白色背景</strong>。这主要是为了方便后期用软件把绿色的叶子“抠”出来（ROI提取）。</li>
</ul>



<h4 class="wp-block-heading">3. 数据清洗：把“图像”变成“数据” (校正)</h4>



<p>拍出来的原始照片其实是不能用的，因为里面包含了光源的亮度和相机的暗电流噪声。必须进行<strong>辐射校正</strong>，把它们转化为<strong>反射率 (Reflectance)</strong>。</p>



<p>论文中给出了一个核心公式，这是所有光谱分析的“起手式” ：</p>



<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><mi>R</mi><mo>=</mo><mfrac><mrow><msub><mi>I</mi><mrow><mi>r</mi><mi>a</mi><mi>w</mi></mrow></msub><mo>−</mo><msub><mi>I</mi><mrow><mi>d</mi><mi>a</mi><mi>r</mi><mi>k</mi></mrow></msub></mrow><mrow><msub><mi>I</mi><mrow><mi>w</mi><mi>h</mi><mi>i</mi><mi>t</mi><mi>e</mi></mrow></msub><mo>−</mo><msub><mi>I</mi><mrow><mi>d</mi><mi>a</mi><mi>r</mi><mi>k</mi></mrow></msub></mrow></mfrac></math>



<ul class="wp-block-list">
<li><strong>I<sub>raw</sub> (Raw Image)</strong>: 刚才拍到的原始红薯图像。</li>



<li><strong>I<sub>dark</sub> (Dark Current)</strong>: 盖上镜头盖拍一张全黑的图。这代表了相机电子元件自带的热噪声，必须减掉。</li>



<li><strong>I<sub>white</sub> (White Reference)</strong>: 拍一块标准的白板（反射率接近100%）。这代表了当时光照的“最大值”。</li>
</ul>



<p>这一步的意义：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The process of converting digital number (DN) values to reflectivity enhances the interpretation of hyperspectral data, as reflectivity more accurately represents the chemical properties of the observed objects.</p>



<p>Trans:将数字值 (DN) 转换为反射率的过程增强了对高光谱数据的解释，因为反射率能更准确地表示被观测物体的化学性质。</p>
</blockquote>



<p>通过这个公式，不管灯泡稍微变暗了一点，还是相机稍微变热了一点，都被这个比例运算抵消了。最终得到的 R (反射率)，才是红薯叶片真实的物理属性，才具有生物学意义。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 总结一下：</p>



<p>作者在这个环节做到了极致的“标准化”。</p>



<ol start="1" class="wp-block-list">
<li><strong>环境标准化</strong>：全黑屋+卤素灯。</li>



<li><strong>操作标准化</strong>：固定拍摄高度和角度。</li>



<li><strong>数据标准化</strong>：黑白板校正。</li>
</ol>



<p>正是因为有了这套高质量、低噪声的纯净数据，他们才敢在接下来的环节中，去挑战那个肉眼看不见的任务——<strong>动态分级（捕捉早期潜伏期）</strong>。</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<p class="has-text-align-center has-medium-font-size"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/23f1.png" alt="⏱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> “时间猎人”：如何捕捉“早期”？(数据分组与时间轴)</strong></p>



<p><strong>动态分级方法的创新 (The "Novelty")</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 论文提出了一个“光谱-时间动态分级方法”（Dynamic Grading Method）。我们可以探讨他们是如何不依赖传统的人工经验，而是利用光谱数据的变化来定义“早期潜伏期”和“早期轻度期”的。这是本文的一大亮点 <sup></sup><sup></sup><sup></sup><sup></sup>。</p>



<p><strong>这个环节是实验成功的关键。</strong>因为“早期”是一个模糊的时间概念，如果靠人眼看，可能第 5 天才看到斑点，那时候黄花菜都凉了。</p>



<p>作者在这里使用了一种“用数据定义时间”的策略。</p>



<p>我们可以把这个过程想象成每天给红薯做一次“全身CT”（高光谱扫描）。 每一天，他们都会拿接种组（T）<strong>的光谱去和</strong>健康组（CK）的光谱“找不同”。</p>



<p>为了量化这个“不同”，作者引入了一个关键指标：<strong>显著性波段比例（Significant Band Ratio）</strong>。</p>



<ul class="wp-block-list">
<li>简单来说，就是看那 116 个波段里，有多少个波段的数值在统计学上（p&lt;0.05）是不一样的。</li>
</ul>



<p>根据论文的描述（特别是关于“早期潜伏期”的定义），在接种后的 <strong>第 1 天</strong> 发生了什么特殊的现象，让作者断定“潜伏期”已经开始了？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>On Day 1, the proportion of significant bands exceeded 50%, and Day 1 was chosen as the classification point between the early incubation period and the control group.</p>



<p>Trans:在第 1 天，<strong>显著性波段比例</strong>超过 50%，因此选择第 1 天作为早期潜伏期和对照组之间的分类点。</p>
</blockquote>



<p>这意味着，尽管在接种后的第 1 天，红薯叶子在肉眼看来还非常健康（没有任何病斑），但在高光谱相机的“火眼金睛”下，<strong>超过一半的光谱波段</strong>已经和健康组产生了统计学上的显著差异 <sup></sup>。</p>



<p>这就是作者如何用数据“抓”住“早期潜伏期” (Early Latent Period) 的：</p>



<ul class="wp-block-list">
<li><strong>逻辑</strong>：只要显著差异波段占比 &gt; 50%，就说明内部生理结构已经发生了剧烈变化，虽然外表看不出来。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 下一步：寻找“早期轻度期” (Early Mild Period)</h3>



<p>随着时间推移，病害进一步发展。但作者发现了一个非常有意思的现象：<strong>光谱的差异并不是一直变大的</strong>。</p>



<p>请看看论文的 <strong>Figure 7</strong>（第 10 页）或者 <strong>3.2 节的后半段</strong> 。</p>



<p>作者观察到，在第 3 天差异达到高峰后，到了 <strong>哪两天</strong>，光谱的显著差异比例反而出现了<strong>明显的下降（decreased）</strong>？</p>



<p>作者正是利用这个“差异变小/趋于稳定”的现象，来定义“早期轻度期”开始的。你能找到是哪两天吗？</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img fetchpriority="high" decoding="async" width="506" height="229" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-63.png" alt="" class="wp-image-3988" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-63.png 506w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-63-300x136.png 300w" sizes="(max-width: 506px) 100vw, 506px" /></figure>
</div>


<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Figure 7 presents a day-to-day comparison within the treatment group. The proportion of significant bands on Day 3, Day 4, and Day 6 exceeded 40%, with Day 6 showing more than 50%. As spectral differences diminished, it can be inferred that the disease had reached short-term stability and entered the next disease stage. The spectral differences significantly decreased after Day 4 and Day 6, indicating that these time points mark the onset of the early mild period.</p>



<p>Trans:图 7 展示了治疗组内每日的比较结果。第 3 天、第 4 天和第 6 天显著谱带的比例均超过 40%，其中第 6 天的比例超过 50%。随着光谱差异的减小，可以推断疾病已达到短期稳定期并进入下一阶段。第 4 天和第 6 天之后光谱差异显著降低，表明这些时间点标志着早期轻症期的开始。</p>
</blockquote>



<p>在 <strong>第4天</strong> 和 <strong>第6天</strong> 之后，光谱差异显著下降 <sup></sup>。</p>



<p>这在生物学上意味着什么呢？作者认为这表明病害进入了一个 <strong>“短期稳定状态” (short-term stability)</strong> <sup></sup>。也就是说，病原菌和植物的免疫系统可能暂时达成了一种“僵持”，导致生理变化（以及光谱特征）不再剧烈波动。</p>



<p>于是，作者就利用这个数据特征，把这两个时间点作为 <strong>“早期轻度期” (Early Mild Period)</strong> 的开始。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e9.png" alt="🧩" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 实验设计小结</h3>



<p>到目前为止，我们已经复盘了他们极其严谨的实验逻辑：</p>



<ol start="1" class="wp-block-list">
<li><strong>样本</strong>：用“抗病 vs 感病”品种做对照，证明光谱变化是病引起的。</li>



<li><strong>环境</strong>：用“全黑屋+45度光”保证数据纯净。</li>



<li><strong>时间</strong>：用“光谱差异比例”的波动，客观定义了肉眼看不见的“潜伏期”和“轻度期”。</li>
</ol>



<p>有了这些打好标签的高质量数据，下一步就是怎么把它们喂给 AI 模型了。</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading has-text-align-center"><strong>技术路线与数据处理 (The "How")</strong></h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 重点关注他们是如何处理高光谱数据的。比如如何进行去噪（MSC, SG）、降维（PCA），以及通过随机森林（RF）筛选特征波段。这是复现实验或设计你自己算法的基础 。</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>高光谱数据有一个巨大的问题：<strong>维度灾难</strong>（116个波段，数据量大且有冗余）。直接扔进模型里效果通常不好。</p>



<p>作者在这里做了两步关键操作：<strong>去噪 (Preprocessing)</strong> 和 <strong>降维/特征提取 (Dimensionality Reduction)</strong>。</p>



<p>我们先看 <strong>去噪</strong>。作者比较了三种常用的平滑/校正算法：SG, MA, 和 MSC。 请看 <strong>Figure 8</strong> (第 10 页) 或者 <strong>3.3 节</strong>。你能看出他们最终选了哪一种方法吗？为什么选它？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Savitzky-Golay (SG) smoothing, moving average (MA) filtering, and multivariate scattering correction (MSC) were applied to the spectral data of the susceptible variety GCS2 in both the control and treatment groups. Based on the spectral-time dynamic grading method, the treatment group was classified into appropriate disease stages. After testing the performance of each method, the MSC method was selected due to its superior prediction effect in subsequent modeling.</p>



<p>Trans:对易感品种GCS2的对照组和处理组光谱数据分别应用了Savitzky-Golay (SG)平滑、移动平均(MA)滤波和多元散射校正(MSC)方法。基于光谱-时间动态分级方法，将处理组划分为相应的疾病阶段。在测试了各方法的性能后，由于MSC方法具有更优的预测效果，因此选择其进行后续建模。</p>
</blockquote>



<p>文中明确提到，经过对比测试，<strong>MSC（多元散射校正）</strong> 因为在后续建模中表现出最好的预测效果，所以被选为了最终的预处理方法 <sup></sup>。</p>



<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 为什么是 MSC？</strong> 这里有个很重要的背景知识：在拍摄植物叶片时，叶片表面的<strong>纹理不均匀</strong>或者<strong>颗粒分布</strong>会导致光线产生复杂的散射。这种散射会像“雾”一样遮挡住我们要找的病害信号。<em>MSC 就像一副“去雾眼镜”，专门用来校正这种散射效应 ，从而还原出叶片真实的化学光谱特征。</em></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c9.png" alt="📉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 第4个环节：破解“维度灾难” (降维与特征选择)</h3>



<p>现在，数据已经很“干净”了，但我们还面临一个巨大的挑战：<strong>116 个波段</strong>。</p>



<ul class="wp-block-list">
<li><strong>冗余</strong>：比如 800nm 和 801nm 的数据可能长得几乎一样（相关性太高）。</li>



<li><strong>干扰</strong>：有些波段可能根本不包含病害信息，放进模型只会捣乱。</li>
</ul>



<p>为了把这 116 个特征浓缩成精华，作者用了两套截然不同的策略：</p>



<ol start="1" class="wp-block-list">
<li><strong>PCA (主成分分析)</strong></li>



<li><strong>RF (随机森林特征选择)</strong></li>
</ol>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex">
<figure class="wp-block-image size-full"><img decoding="async" width="405" height="250" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-65.png" alt="" class="wp-image-3998" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-65.png 405w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-65-300x185.png 300w" sizes="(max-width: 405px) 100vw, 405px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="430" height="256" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-66.png" alt="" class="wp-image-3999" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-66.png 430w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-66-300x179.png 300w" sizes="auto, (max-width: 430px) 100vw, 430px" /></figure>
</div>



<p>请看看 <strong>Figure 9</strong> <sup></sup>和 <strong>Figure 10</strong> <sup></sup>。</p>



<ul class="wp-block-list">
<li><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f914.png" alt="🤔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 思考题：</strong> 虽然这两种方法都能让特征变少，但它们的<strong>产出结果</strong>有着本质的区别。你能告诉我：<strong>哪一种方法是创造了全新的“合成变量”，而哪一种方法只是从原始数据里“挑选”了几个最重要的波段？</strong>
<ul class="wp-block-list">
<li>PCA创造全新的合成变量，RF从原始数据里“挑选”几个最重要的波段</li>
</ul>
</li>
</ul>



<p>这就是两者的核心区别：</p>



<ul class="wp-block-list">
<li><strong>PCA (主成分分析)</strong> 就像把所有水果扔进搅拌机做成<strong>混合果汁</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f964.png" alt="🥤" class="wp-smiley" style="height: 1em; max-height: 1em;" />。虽然营养（信息）都在，但你很难分清哪一口是苹果，哪一口是香蕉。它的优点是<strong>极致的压缩</strong>（只用 PC1 和 PC2 就能代表 67% 的变异信息 ），但缺点是<strong>丢失了物理意义</strong>（你不知道具体是哪个波段在起作用）。</li>



<li><strong>RF (随机森林)</strong> 就像在水果摊上<strong>挑水果</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f34e.png" alt="🍎" class="wp-smiley" style="height: 1em; max-height: 1em;" />。它直接告诉你：“第 84 号波段（801.8 nm）最重要！”。这对于农业研究非常宝贵，因为我们只要知道这几个特定波段，未来就可以开发便宜的便携式传感器，而不需要昂贵的全光谱相机。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading has-text-align-center"><strong>模型对比与结果分析 (The "Result")</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ca.png" alt="📊" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </h2>



<p>对比 SVM、KNN 和 LDA 这几种模型在不同特征提取方法下的表现。我们可以看看为什么在这个特定任务中，PCA-SVM 模型的效果最好（准确率高达 98.65%） 。</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ca.png" alt="📊" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 终极对决：谁是“诊断之王”？</h3>



<p>现在我们手头有两套特征：</p>



<ol start="1" class="wp-block-list">
<li><strong>PCA组</strong>：混合后的主成分。</li>



<li><strong>RF组</strong>：挑选出的 15 个“明星”波段 。</li>
</ol>



<p>作者把它们分别“喂”给三个经典的机器学习分类器：<strong>SVM (支持向量机)</strong>、<strong>LDA (线性判别分析)</strong> 和 <strong>KNN (K近邻)</strong>。</p>



<p>请看看 <strong>Table 4</strong>（第 13 页）或者 <strong>3.5 节</strong>的文字描述 <sup></sup>。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="539" height="182" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-64.png" alt="" class="wp-image-3992" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-64.png 539w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-64-300x101.png 300w" sizes="auto, (max-width: 539px) 100vw, 539px" /></figure>
</div>


<ul class="wp-block-list">
<li>在这个“3x2”的比赛中（3个模型 x 2种特征提取），<strong>哪一个组合</strong>拿到了最高的测试集准确率（Overall Accuracy）？它的准确率达到了多少？
<ul class="wp-block-list">
<li>PCA-SVM准确率最高，达到了98.65%</li>
</ul>
</li>
</ul>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3c6.png" alt="🏆" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>PCA-SVM 模型确实是冠军</strong>，测试集准确率达到了惊人的 <strong>98.65%</strong> <sup></sup>。</p>



<p>这说明在这个研究中，把所有波段的信息“揉碎”了融合在一起（PCA），比单纯只挑几个“明星波段”（RF）更能准确地捕捉到病害的特征。</p>



<p>到这里，我们已经把这篇论文的核心“骨架”都拆解完了：</p>



<ol start="1" class="wp-block-list">
<li><strong>样本</strong>：抗病 vs 感病，确立对照。</li>



<li><strong>数据</strong>：全黑屋 + 45度光，保证质量。</li>



<li><strong>核心创新</strong>：用光谱差异的统计学规律，定义了肉眼看不见的“早期”。</li>



<li><strong>结果</strong>：MSC去噪 + PCA降维 + SVM分类，效果最好。</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<ul class="wp-block-list">
<li>作者非常诚实地提到了这项研究的一个<strong>主要局限性（Limitations）</strong>，这关乎到这个技术能不能真的用到田间地头。你能找到这个局限性是什么吗？（提示：这就回到了我们一开始讨论的“摄影棚”环境）
<ul class="wp-block-list">
<li>局限性是光照环境导致的偏差。</li>
</ul>
</li>
</ul>



<p>实验室里的环境是“温室里的花朵”：光照稳定、背景纯净（白色）、角度完美（45度）。但如果把这套系统搬到真实的农田里，就会遇到各种挑战，比如阳光强度的变化、云层的遮挡、叶片互相遮挡产生的阴影等等。</p>



<p>这就是所谓的 <strong>“实验室到田间的鸿沟” (Lab-to-Field Gap)</strong>，也是目前很多农业 AI 研究面临的最大瓶颈。</p>



<ul class="wp-block-list">
<li>作者为了解决这个问题，在论文末尾提出了几个未来的<strong>改进方向</strong>（Future Work）。你能找到他们打算怎么做来让这项技术更接地气吗？
<ul class="wp-block-list">
<li>开发低成本的高光谱传感器，用于田间部署</li>
</ul>
</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Despite its high accuracy, this study has limitations. The controlled environment used in the experiments could introduce bias, as they were conducted indoors under stable lighting conditions. Field validation is necessary to account for environmental variability.</p>



<p>Additionally, the current model focuses on <em>E. batatas</em>, and future work should extend to other sweet potato pathogens (e.g., <em>Fusarium </em>spp.). To address these issues, we plan to develop low-cost hyperspectral sensors for field deployment, expand the dataset to include multiregional sweet potato varieties, and explore fusion with thermal or LiDAR data for multimodal disease assessment.</p>



<p>Trans:尽管本研究具有较高的准确性，但仍存在局限性。实验采用的室内稳定光照环境可能导致偏差，因此需要通过实地验证来消除环境差异的影响。</p>



<p>此外，当前模型主要针对甘薯真菌病害，未来研究应扩展至其他甘薯病原体（如镰刀菌属）。为解决这些问题，我们计划开发低成本高光谱传感器用于田间部署，扩充数据集以涵盖多区域甘薯品种，并探索与热成像或激光雷达数据融合，实现多模态病害评估。</p>
</blockquote>



<p>作者明确提出，未来的目标是开发<strong>低成本的高光谱传感器</strong>，以便在田间大规模部署 <sup></sup>。这是将这项“贵族技术”变成“平民工具”的关键一步。</p>



<p>------</p>



<p>生成式人工智能声明：本文在创作过程中使用了Gemini 3。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>P5111181-clip-vit-large-patch14识别大学猫狗练习项目</title>
		<link>https://www.leexinghai.com/aic/p5111181/</link>
		
		<dc:creator><![CDATA[李星海]]></dc:creator>
		<pubDate>Tue, 11 Nov 2025 06:58:08 +0000</pubDate>
				<category><![CDATA[项目库]]></category>
		<category><![CDATA[第4次组会后工作内容]]></category>
		<guid isPermaLink="false">https://www.leexinghai.com/aic/?p=3850</guid>

					<description><![CDATA[本项目开源且上传至Github：CrystalChanB31/clip_vit-l_recognize_mim [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>本项目开源且上传至Github：<a href="https://github.com/CrystalChanB31/clip_vit-l_recognize_mimi_wangwang">CrystalChanB31/clip_vit-l_recognize_mimi_wangwang: P5111181-clip-vit-large-patch14识别大学猫狗练习项目</a></p>



<h2 class="wp-block-heading has-text-align-center">0.数据采集</h2>



<p>因为是练习项目，所以数据采集比较少，一共18张相片</p>



<p>素材来源：</p>



<ul class="wp-block-list">
<li><strong>学10咪咪</strong></li>



<li>浙江农林大学公众号推文<a href="https://mp.weixin.qq.com/s/fzO773t5WkGcF1IhBNN91w" data-type="link" data-id="https://mp.weixin.qq.com/s/fzO773t5WkGcF1IhBNN91w">沉浸式体验“动物学长”的幸福生活！原来，浙江农林大学校园还是一个生态和谐的“动物家园”！</a></li>
</ul>



<figure class="wp-block-gallery has-nested-images columns-6 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1279" height="1706" data-id="3853" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/1.jpg" alt="" class="wp-image-3853" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/1.jpg 1279w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/1-225x300.jpg 225w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/1-768x1024.jpg 768w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/1-1152x1536.jpg 1152w" sizes="auto, (max-width: 1279px) 100vw, 1279px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1279" height="1706" data-id="3852" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/2.jpg" alt="" class="wp-image-3852" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/2.jpg 1279w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/2-225x300.jpg 225w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/2-768x1024.jpg 768w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/2-1152x1536.jpg 1152w" sizes="auto, (max-width: 1279px) 100vw, 1279px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1279" height="1706" data-id="3851" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/3.jpg" alt="" class="wp-image-3851" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/3.jpg 1279w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/3-225x300.jpg 225w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/3-768x1024.jpg 768w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/3-1152x1536.jpg 1152w" sizes="auto, (max-width: 1279px) 100vw, 1279px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1279" height="1706" data-id="3854" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/4.jpg" alt="" class="wp-image-3854" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/4.jpg 1279w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/4-225x300.jpg 225w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/4-768x1024.jpg 768w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/4-1152x1536.jpg 1152w" sizes="auto, (max-width: 1279px) 100vw, 1279px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1706" height="1279" data-id="3859" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/5.jpg" alt="" class="wp-image-3859" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/5.jpg 1706w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/5-300x225.jpg 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/5-1024x768.jpg 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/5-768x576.jpg 768w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/5-1536x1152.jpg 1536w" sizes="auto, (max-width: 1706px) 100vw, 1706px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1706" height="1279" data-id="3858" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/6.jpg" alt="" class="wp-image-3858" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/6.jpg 1706w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/6-300x225.jpg 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/6-1024x768.jpg 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/6-768x576.jpg 768w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/6-1536x1152.jpg 1536w" sizes="auto, (max-width: 1706px) 100vw, 1706px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1706" height="1279" data-id="3855" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/7.jpg" alt="" class="wp-image-3855" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/7.jpg 1706w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/7-300x225.jpg 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/7-1024x768.jpg 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/7-768x576.jpg 768w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/7-1536x1152.jpg 1536w" sizes="auto, (max-width: 1706px) 100vw, 1706px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1279" height="1706" data-id="3857" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/8.jpg" alt="" class="wp-image-3857" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/8.jpg 1279w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/8-225x300.jpg 225w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/8-768x1024.jpg 768w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/8-1152x1536.jpg 1152w" sizes="auto, (max-width: 1279px) 100vw, 1279px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="810" height="1440" data-id="3863" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/9.jpg" alt="" class="wp-image-3863" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/9.jpg 810w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/9-169x300.jpg 169w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/9-576x1024.jpg 576w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/9-768x1365.jpg 768w" sizes="auto, (max-width: 810px) 100vw, 810px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1080" height="720" data-id="3856" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/10.jpg" alt="" class="wp-image-3856" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/10.jpg 1080w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/10-300x200.jpg 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/10-1024x683.jpg 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/10-768x512.jpg 768w" sizes="auto, (max-width: 1080px) 100vw, 1080px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1080" height="720" data-id="3861" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/11.jpg" alt="" class="wp-image-3861" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/11.jpg 1080w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/11-300x200.jpg 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/11-1024x683.jpg 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/11-768x512.jpg 768w" sizes="auto, (max-width: 1080px) 100vw, 1080px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1080" height="1441" data-id="3862" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/12.jpg" alt="" class="wp-image-3862" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/12.jpg 1080w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/12-225x300.jpg 225w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/12-767x1024.jpg 767w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/12-768x1025.jpg 768w" sizes="auto, (max-width: 1080px) 100vw, 1080px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1080" height="810" data-id="3864" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/13.jpg" alt="" class="wp-image-3864" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/13.jpg 1080w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/13-300x225.jpg 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/13-1024x768.jpg 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/13-768x576.jpg 768w" sizes="auto, (max-width: 1080px) 100vw, 1080px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1080" height="810" data-id="3867" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/14.jpg" alt="" class="wp-image-3867" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/14.jpg 1080w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/14-300x225.jpg 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/14-1024x768.jpg 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/14-768x576.jpg 768w" sizes="auto, (max-width: 1080px) 100vw, 1080px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="810" height="607" data-id="3860" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/21.jpg" alt="" class="wp-image-3860" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/21.jpg 810w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/21-300x225.jpg 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/21-768x576.jpg 768w" sizes="auto, (max-width: 810px) 100vw, 810px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1080" height="721" data-id="3866" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/22.jpg" alt="" class="wp-image-3866" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/22.jpg 1080w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/22-300x200.jpg 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/22-1024x684.jpg 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/22-768x513.jpg 768w" sizes="auto, (max-width: 1080px) 100vw, 1080px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1080" height="712" data-id="3868" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/23.png" alt="" class="wp-image-3868" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/23.png 1080w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/23-300x198.png 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/23-1024x675.png 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/23-768x506.png 768w" sizes="auto, (max-width: 1080px) 100vw, 1080px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="972" data-id="3865" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/24.jpg" alt="" class="wp-image-3865" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/24.jpg 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/24-300x285.jpg 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/24-768x729.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</figure>



<p><strong><em>*本相片的采集遵守动物伦理法案。没有任何一只动物在数据采集过程中受到伤害。</em></strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading has-text-align-center">1.模型的使用和选择</h2>



<p>训练集采用已经训练好的模型：</p>



<p><a href="https://huggingface.co/openai/clip-vit-large-patch14">https://huggingface.co/openai/clip-vit-large-patch14</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading has-text-align-center">2.文件结构</h2>



<p>-images</p>



<p>--用于测试的（18张）图片</p>



<p>-test.py</p>



<p>-requirements.txt</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading has-text-align-center">3.模型的代码</h2>



<h2 class="wp-block-heading">微调示例代码：</h2>



<pre class="wp-block-code"><code>from PIL import Image
import requests
import torch
from transformers import CLIPProcessor, CLIPModel
import os
#加载模型和处理器
model_name = "openai/clip-vit-large-patch14"
model = CLIPModel.from_pretrained(model_name)
processor = CLIPProcessor.from_pretrained(model_name,use_fast=True)
text_labels=&#91;"a photo of a cat", "a photo of a dog"]
#准备图片
image_directory = "./images/"
try:
    all_files = os.listdir(image_directory)
except:
    print(f"无法访问目录: {image_directory}")
    exit(1)
image_extensions = ('.jpg', '.jpeg', '.png', '.bmp', '.gif')
image_files = &#91;f for f in all_files if f.lower().endswith(image_extensions)]
if not image_files:
    print(f"目录中没有找到图片文件: {image_directory}")
    exit(1)
print(f"在目录中找到 {len(image_files)} 张图片。")
print("="*40)
#遍历每张图片进行处理
for image_file in image_files:
    image_path = os.path.join(image_directory, image_file)
    try:
        # 加载图片
        image = Image.open(image_path).convert("RGB")
    except Exception as e:
        print(f"无法打开图片文件 {image_file}: {e}")
        print("---")
        continue
    print(f"正在处理图片: {image_file}")
    # 准备文本标签并进行推理
    inputs = processor(text=text_labels, images=image, return_tensors="pt", padding=True)
    outputs = model(**inputs)
    logits_per_image = outputs.logits_per_image # 这是图片与文本的相似度分数
    probs = logits_per_image.softmax(dim=1) # 我们可以使用 Softmax 来获取标签的概率分布
    best_match_index = probs.argmax(dim=1).item()
    best_match_label = text_labels&#91;best_match_index]
    best_match_prob = probs&#91;0, best_match_index].item() # 获取该标签的概率值
    #打印结果
    print(f"图片文件: {image_file}")
    print(f"分析的标签: {text_labels}")
    print(f"结果: 这张图片最匹配的标签是 -> '{best_match_label}'")
    print(f"匹配概率: {best_match_prob * 100:.2f}%")
    print("---")
print("="*40)
print("---所有图片处理完成。---")</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading has-text-align-center">4.运行结果</h2>



<pre class="wp-block-code"><code>在目录中找到 18 张图片。
========================================
正在处理图片: 13.jpg
图片文件: 13.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.86%
---
正在处理图片: 10.jpg
图片文件: 10.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.81%
---
正在处理图片: 9.jpg
图片文件: 9.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.90%
---
正在处理图片: 4.jpg
图片文件: 4.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.70%
---
正在处理图片: 8.jpg
图片文件: 8.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.79%
---
正在处理图片: 23.png
图片文件: 23.png
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a dog'
匹配概率: 99.70%
---
正在处理图片: 7.jpg
图片文件: 7.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.75%
---
正在处理图片: 11.jpg
图片文件: 11.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.78%
---
正在处理图片: 21.jpg
图片文件: 21.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a dog'
匹配概率: 99.51%
---
正在处理图片: 14.jpg
图片文件: 14.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.82%
---
正在处理图片: 12.jpg
图片文件: 12.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.87%
---
正在处理图片: 3.jpg
图片文件: 3.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.64%
---
正在处理图片: 6.jpg
图片文件: 6.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.73%
---
正在处理图片: 24.jpg
图片文件: 24.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a dog'
匹配概率: 97.43%
---
正在处理图片: 22.jpg
图片文件: 22.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a dog'
匹配概率: 98.92%
---
正在处理图片: 1.jpg
图片文件: 1.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.87%
---
正在处理图片: 5.jpg
图片文件: 5.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.79%
---
正在处理图片: 2.jpg
图片文件: 2.jpg
分析的标签: &#91;'a photo of a cat', 'a photo of a dog']
结果: 这张图片最匹配的标签是 -> 'a photo of a cat'
匹配概率: 99.77%
---
========================================
---所有图片处理完成。---</code></pre>



<p>模型在大学动物识别上取得了100%<sup>*</sup>的准确率</p>



<p>*仅针对参与训练的18张图片。在实际应用中，测试的图片应当远远大于这个数据，因此该准确率具有数量局限性。</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading has-text-align-center">5.练习意义</h2>



<p>为后续模型的使用打下了环境基础。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>论文评述-文献FRT-FS-EN-2510283</title>
		<link>https://www.leexinghai.com/aic/%e8%ae%ba%e6%96%87%e8%af%84%e8%bf%b0-%e6%96%87%e7%8c%aefrt-fs-en-2510283/</link>
		
		<dc:creator><![CDATA[李星海]]></dc:creator>
		<pubDate>Tue, 11 Nov 2025 00:56:11 +0000</pubDate>
				<category><![CDATA[微谈]]></category>
		<category><![CDATA[FSL小样本学习]]></category>
		<category><![CDATA[第4次组会后工作内容]]></category>
		<guid isPermaLink="false">https://www.leexinghai.com/aic/?p=3837</guid>

					<description><![CDATA[本期评述文章： 它针对一个很实际的农业生产问题——如何用少量样本准确识别植物病害，提出了一种新的算法。 Pla [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>本期评述文章：</p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="SjJxxgjtnT"><a href="https://www.leexinghai.com/aic/frt-fs-en-2510283/">[文献FRT-FS-EN-2510283]Few-shot disease recognition algorithm based on supervised contrastive learning</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="《 [文献FRT-FS-EN-2510283]Few-shot disease recognition algorithm based on supervised contrastive learning 》—学术创新中心" src="https://www.leexinghai.com/aic/frt-fs-en-2510283/embed/#?secret=SssIC9B84q#?secret=SjJxxgjtnT" data-secret="SjJxxgjtnT" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<p>它针对一个很实际的农业生产问题——如何用少量样本准确识别植物病害，提出了一种新的算法。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Plant disease recognition based on computer vision can help farmers quickly and accurately recognize diseases. However, the occurrence of diseases is random and the collection cost is very high. In many cases, the number of disease samples that can be used to train the disease classifier is small.</p>



<p>Trans:基于计算机视觉的植物病害识别技术能帮助农民快速准确地识别病害。然而，病害发生具有随机性，且采集成本较高。在多数情况下，可用于训练病害分类器的样本数量有限。</p>
</blockquote>



<p>根据论文摘要（第1页），作者指出，虽然计算机视觉对识别植物病害很有帮助，但收集大量标记好的病害图片样本既困难又昂贵。 <sup></sup>这对需要海量数据的传统深度学习方法来说是个大挑战。 <sup></sup></p>



<p>为了解决这个问题，他们提出了一种分为两个阶段的算法 <sup></sup>：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Our algorithm is divided into two phases: supervised contrastive learning and meta-learning. In the first phase, we use a <strong>supervised contrastive learning algorithm</strong> to train an encoder with strong generalization capabilities using a large number of samples. In the second phase, we treat this encoder as an <strong>extractor of plant disease features</strong> and adopt the meta-learning training mechanism to accomplish the few-shot disease recognition tasks by training a nearest-centroid classifier based on distance metrics.</p>



<p>Trans:我们的算法分为两个阶段：监督对比学习和元学习。在第一阶段，我们采用监督对比学习算法，通过大量样本训练具有强泛化能力的编码器。第二阶段，我们将该编码器作为植物病害特征提取器，通过基于距离度量的最近质心分类器训练机制，运用元学习训练方法完成</p>
</blockquote>



<ol start="1" class="wp-block-list">
<li><strong>第一阶段</strong>：使用“监督对比学习” (Supervised Contrastive Learning) 和大量样本来训练一个具有强大泛化能力的编码器（encoder）。 </li>



<li><strong>第二阶段</strong>：将这个编码器作为特征提取器，并采用“元学习” (Meta-learning) 机制，通过训练一个最近质心分类器来完成“小样本” (few-shot) 的识别任务。 </li>
</ol>



<p>这里有几个切入点：</p>



<ol start="1" class="wp-block-list">
<li><strong>弄清关键“术语”</strong>：这篇论文的标题和摘要中提到了好几个关键概念，比如“监督对比学习” 和“元学习” 。</li>



<li><strong>深入理解“问题”</strong>：论文在引言（Introduction）部分详细讨论了为什么传统深度学习方法不适用于这个问题。我们为什么不先从这里开始，搞清楚“小样本学习” (Few-shot Learning) 究竟要解决什么？ </li>



<li><strong>拆解“解决方案”</strong>：论文的核心是他们提出的两阶段方法 。我们可以直接去看图1（第4页），它清晰地展示了“监督对比预训练”和“最近质心分类”这两个阶段是如何协同工作的。</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">1.弄清关键“术语”</h2>



<p>我们来逐个分解这两个核心术语。</p>



<h3 class="wp-block-heading">1. 监督对比学习 (Supervised Contrastive Learning)</h3>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Contrastive learning is usually a self-supervised learning method,which pre-trains a model with a large amount of unlabeled data tolearn feature representation.</p>



<p>Trans:对比学习通常是一种自监督学习方法，该方法通过大量未标注数据对模型进行预训练，使其学习特征表示。</p>
</blockquote>



<ul class="wp-block-list">
<li><strong>这是什么？</strong> 它是一种“预训练” (pre-training) 方法，目标是训练出一个能出色区分不同类别图像的“编码器” (Encoder)。</li>



<li></li>



<li><strong>它如何工作？</strong><ul><li>“<strong>对比</strong>” (Contrastive) 的意思是，它通过“对比”样本来学习。它会拉近“相似”的样本，推远“不相似”的样本。</li><li>“<strong>监督</strong>” (Supervised) 的意思是，它会利用图像的“标签” (label) 信息（比如，知道哪些图片是“苹果黑星病”，哪些是“玉米灰斑病”）。</li></ul>在训练时，它会告诉模型：<ol start="1"><li><strong>拉近正样本</strong>：所有“同类”的图像（比如，所有“苹果黑星病”的图片）都应该在特征空间中<em>靠得更近</em>。</li><li><strong>推远负样本</strong>：所有“不同类”的图像（比如，“苹果黑星病”和“玉米灰斑病”的图片）都应该在特征空间中<em>离得更远</em>。</li></ol>论文在<strong>图 2（第6页）</strong> 中很清晰地展示了这一点。在右侧的“监督对比学习”示意图中，两张不同的“Apple scab”（苹果黑星病）图片被视为“正样本” (Positive) 并被拉近，而其他病害（如玉米叶斑病、桃细菌性斑点病）则被视为“负样本” (Negatives) 并被推远。</li>
</ul>



<h3 class="wp-block-heading">2. 元学习 (Meta-learning)</h3>



<ul class="wp-block-list">
<li><strong>这是什么？</strong> 这是一个更广泛的概念，常被用于小样本学习 (FSL)。它的核心思想是“<strong>学会如何学习</strong>” (learning to learn)。</li>



<li><strong>它如何工作？</strong>
<ul class="wp-block-list">
<li>传统机器学习是“学会一个任务”（比如，分类猫和狗）。</li>



<li>元学习是“学会<em>快速掌握</em>新任务”。它会通过大量<em>不同的</em>先验任务进行训练，目标是找到一个好的模型“初始状态”。</li>



<li>当模型遇到一个全新的、只有很少样本的任务时（比如，识别一种从未见过的植物病害），它能从这个“初始状态”出发，仅用几张图片就快速学会。</li>
</ul>
</li>
</ul>



<p>在这篇论文中，作者将两者巧妙地结合了起来：</p>



<ul class="wp-block-list">
<li>他们用<strong>监督对比学习</strong>（第1阶段）来完成“元学习”中的“预训练”过程，目的是学到一个泛化能力极强的编码器（特征提取器）。</li>



<li>然后，他们在这个编码器的基础上，用一个<strong>最近质心分类器</strong>（第2阶段）来执行具体的小样本识别任务，这体现了元学习“快速适应新任务”的机制。</li>
</ul>



<p>现在我们弄清了这两个关键概念，你希望接下来做什么？</p>



<ol start="1" class="wp-block-list">
<li><strong>深入了解第一阶段</strong>：看看“监督对比学习”的具体算法流程是什么样的？（参考图1上半部分和算法1）</li>



<li><strong>深入了解第二阶段</strong>：看看“最近质心分类器”是如何利用第一阶段的成果进行小样本分类的？（参考图1下半部分和图3）</li>



<li><strong>回到“问题”本身</strong>：我们已经知道了术语，那回头看看引言（Introduction）部分，更深入地了解一下为什么“小样本学习” (FSL) 在植物病害领域如此重要？</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading has-text-align-center">2.深入了解 第一阶段</h2>



<h3 class="wp-block-heading">2.1<strong>监督对比预训练 (Supervised Contrastive Pre-training)</strong>。</h3>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="644" height="338" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-5.png" alt="" class="wp-image-3840" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-5.png 644w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-5-300x157.png 300w" sizes="auto, (max-width: 644px) 100vw, 644px" /></figure>
</div>


<p>我们可以参照<strong>图 1（第4页）</strong> 的上半部分来理解这个流程。 </p>



<ol start="1" class="wp-block-list">
<li><strong>数据增强 (Augmenter)</strong>： 
<ul class="wp-block-list">
<li>我们从一张病害图片开始。</li>



<li>这张图片会经过“Augmenter”（数据增强器），生成<em>两个</em>随机变换过的版本（比如，一张被裁剪，另一张调整了颜色）。 论文称这两个版本为“正样本对” (positive pair)。</li>
</ul>
</li>



<li><strong>编码器 (Encoder)</strong>： 
<ul class="wp-block-list">
<li>这两个增强后的图片，被送入<em>同一个</em>编码器网络（Enc(<em><strong>·</strong></em>)）。</li>



<li>编码器的作用是将每张图片转换成一个特征向量（一串数字），论文中用 h 表示。这就像是模型对图片内容的“浓缩理解”。</li>
</ul>
</li>



<li><strong>投影仪 (Projector)</strong>： 
<ul class="wp-block-list">
<li>上一步得到的特征向量 h 会再经过一个“Projector”（投影网络, Proj(<em><strong>·</strong></em>)）。</li>



<li>这会把 h 映射到另一个特征空间，得到向量 z。 这么做的目的是为了计算对比损失。</li>
</ul>
</li>



<li><strong>对比损失 (Contrastive loss)</strong>： 
<ul class="wp-block-list">
<li>这是最关键的一步。算法会比较来自不同图片的 z 向量。</li>



<li>正如我们之前讨论的，因为这是<strong>监督</strong>对比学习，它会利用“标签”信息。</li>



<li><strong>目标</strong>：拉近所有“同类”样本（比如，所有“苹果黑星病”图片的向量），同时推远所有“不同类”样本（比如，“苹果黑星病”和“玉米叶斑病”的向量）。</li>
</ul>
</li>
</ol>



<p><strong>这个阶段的最终成果是什么？</strong></p>



<p>很重要的一点是，这个阶段的产物<em>不是</em>一个分类器。如论文第5页所述，它的输出是一个训练得非常好的<strong>编码器网络 Enc(<em><strong>·</strong></em>)</strong>这个编码器现在非常擅长提取病害特征，能把同类病害的图片在特征空间中“聚拢”在一起。</p>



<h3 class="wp-block-heading">2.2 数据增强的具体方法</h3>



<p>我们来看看论文 3.2 节（第9页）的具体内容。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="653" height="259" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-6.png" alt="" class="wp-image-3841" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-6.png 653w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-6-300x119.png 300w" sizes="auto, (max-width: 653px) 100vw, 653px" /></figure>
</div>


<p>作者测试了四种主要的数据增强方法，并给它们分配了代号以便于组合测试：<sup></sup></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>For simplicity, we denote A, B, C and D to represent 4 kinds of data augmentations.</p>



<p>Trans:为简化表述，我们用A、B、C和D分别表示四种数据增强方法。</p>
</blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>A is the random length width ratio cropping, and the random cropping area ratio is 0.2-1.0. </p>



<p>B denotes the random horizontal flipping of the images according to the probability, and the flipping probability is 0.5. </p>



<p>C is the image color distortion operation that modifies brightness, contrast, and saturation, and for which a probability of 0.8 is applied.</p>



<p>D denotes the random conversion of images to grayscale images.</p>
</blockquote>



<ul class="wp-block-list">
<li><strong>A：随机长宽比裁剪</strong>（以及 0.2-1.0 的随机裁剪面积）</li>



<li><strong>B：随机水平翻转</strong>（概率为 0.5）</li>



<li><strong>C：图像颜色失真</strong>（修改亮度、对比度和饱和度，概率为 0.8）</li>



<li><strong>D：随机转换为灰度图像</strong> </li>
</ul>



<p>他们通过实验（如表3所示）来找到效果最好的组合。<sup></sup></p>



<ul class="wp-block-list">
<li>在<strong>三种方法组合</strong>中，<strong>A+B+C</strong>（裁剪 + 翻转 + 颜色失真）的识别准确率最高。</li>



<li>他们还发现，任何包含 <strong>D（随机灰度）</strong> 的组合都会导致准确率下降。</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This operation causes the disease image to lose its color. Therefore, it is reasonable to speculate that in the supervised contrastive learning, the color information of thedisease enables the encoding network to pull samples of other categories further apart. If the color information is lost, the encoding network cannot effectively cluster the samples of the same disease.</p>



<p>Trans:该操作会导致疾病图像颜色信息丢失。因此可以合理推测，在监督对比学习中，疾病颜色信息能使编码网络将不同类别的样本进一步区分。若颜色信息丢失，编码网络将无法有效对同种疾病的样本进行聚类。</p>
</blockquote>



<p>论文推测，这是因为颜色信息对于编码器区分不同病害非常关键，而灰度操作会丢失这些信息。<sup></sup></p>



<h3 class="wp-block-heading">2.3 投影仪的去向</h3>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Projection Network, denoted as Proj(•), maps the representation vector obtained after the encoding network to the contrastive loss space. Usually, Proj(•) is instantiated as a Multi-Layer Perceptron (MLP) and discarded after the contrastive training (Tian et al., 2020).</p>



<p>Trans:投影网络（Proj（•））将编码网络生成的表征向量映射至对比损失空间。该网络通常采用多层感知器（MLP）实现，并在对比训练完成后被丢弃（Tian等人，2020）。</p>
</blockquote>



<p>简单来说：</p>



<ul class="wp-block-list">
<li><strong>第一阶段（训练）</strong>：需要“投影仪” (Proj（•）)。它的唯一工作是辅助计算“对比损失”。它将编码器 Enc（•） 产生的特征 h 映射到另一个空间，以便模型更有效地“拉近”同类、“推远”异类。</li>



<li><strong>第二阶段（测试/应用）</strong>：不需要“投影仪”。我们真正需要的是那个训练好的<strong>编码器 Enc（•）</strong> ，因为它学会了如何从原始图像中提取出有意义的、可区分的特征（向量 h）。</li>
</ul>



<p>因此，训练结束后，我们就扔掉“投影仪”这个脚手架，只保留最有价值的“编码器” Enc（•）。</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">3.深入了解 第二阶段</h2>



<p><strong>最近质心分类 (Nearest-centroid Classification)</strong>。</p>



<p>现在我们有了第一阶段训练好的、强大的编码器 Enc（•）（在图1和图3中被称为 f<sub>θ</sub>）。在第二阶段，我们<strong>冻结</strong> (freeze) 这个编码器，不再改动它。</p>



<p>这个阶段就是真正执行“小样本”任务的地方，它会用到两个小数据集：</p>



<ol start="1" class="wp-block-list">
<li><strong>支持集 (Support Set)</strong>：这是我们仅有的少量训练样本。比如，在一个“5-way 1-shot”任务中，支持集就只有 5 个类别，每个类别 1 张图片。</li>



<li><strong>查询集 (Query Set)</strong>：这是我们需要分类的“新”图片。</li>
</ol>



<p>具体流程如下（可以参照图 3 ）：</p>



<ol start="1" class="wp-block-list">
<li><strong>计算“类别原型” (Class Prototypes) μ</strong>：
<ul class="wp-block-list">
<li>我们把“支持集”中的所有图片（比如那 5 张图）都送入我们冻结好的编码器 f<sub>θ</sub>，得到它们各自的特征向量。 </li>



<li>对于<em>同一个类别</em>的所有样本（在这个 1-shot 例子中只有一个），我们计算它们特征向量的<strong>平均值</strong>。 </li>



<li>这个平均向量 μ 就成了一个“类别原型”（也叫“质心”），它代表了这个类别在特征空间中的“中心点”。</li>
</ul>
</li>



<li><strong>分类“查询集” (Query Set) 图像</strong>：
<ul class="wp-block-list">
<li>我们拿一张“查询集”里的新图片，同样用编码器 f<sub>θ</sub> 把它转换成一个特征向量。 </li>



<li>接着，我们计算这个新向量与<em>所有</em>“类别原型” μ 之间的距离（论文中使用了欧氏距离）。</li>



<li>这个新图片离哪个“类别原型”最近，它就被归为哪一类。 </li>
</ul>
</li>
</ol>



<p>这就是整个算法的核心：先用“监督对比学习”把同类病害在特征空间中“聚拢”起来（第一阶段），再通过计算新样本离哪个“聚拢中心”（原型）最近来进行分类（第二阶段）。</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">4.实验设置</h2>



<p>他们使用了两个关键的数据集：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The first is PlantVillage (Hughes and Salathe, 2016) which is the most widely used open-access plant disease image database. It collects 54,306 images of plant disease leaves, including 14 kinds of plants and a total of 38 classes.</p>



<p>Trans:第一个是PlantVillage（Hughes和Salathe，2016），这是目前使用最广泛的开放获取植物病害图像数据库，共收录了54,306张植物病害叶片图像，涵盖14种植物，共38个类别。</p>



<p>PDD includes five types of images of potato leaf diseases, namely early blight, late blight, leaf curl, anthracnose and healthy leaves, with 40 images in each class.</p>



<p>Trans:PDD包含马铃薯叶病的五种典型图像类型，分别是早疫病、晚疫病、叶卷病、炭疽病和健康叶片，每类图像各包含40张。</p>
</blockquote>



<ol start="1" class="wp-block-list">
<li><strong>PlantVillage 数据集</strong>：
<ul class="wp-block-list">
<li>这是一个非常著名和广泛使用的公开数据集。</li>



<li>它包含了 14 种植物、共 38 个类别的 54,306 张图片。 </li>



<li><strong>关键特点</strong>：这些照片都是在<strong>实验室条件</strong>下拍摄的，背景非常干净、单一。 </li>
</ul>
</li>



<li><strong>PDD (马铃薯病害数据集)</strong>：
<ul class="wp-block-list">
<li>这是作者自己从互联网上收集的数据集。</li>



<li>它只包含 5 个类别（早疫病、晚疫病、卷叶病、炭疽病和健康叶片）。 </li>



<li><strong>关键特点</strong>：这些照片都是在<strong>自然场景</strong>下拍摄的，光照条件多变，背景非常复杂。 </li>
</ul>
</li>
</ol>



<p>基于这两个数据集，作者设计了两种测试“<strong>情景</strong>” (Scenarios) 来评估模型的性能：</p>



<ul class="wp-block-list">
<li><strong>情景 A</strong>：训练和测试数据<strong>都来自 PlantVillage</strong>。  这用来测试模型在数据特征相似（都是实验室背景）的情况下的表现。</li>



<li><strong>情景 B</strong>：训练数据来自 PlantVillage，但测试数据来自 <strong>PDD</strong>。 这是一个更难的“跨域” (cross-domain) 测试，用来检验模型从实验室学到的知识能否“迁移”到复杂的自然场景中。 </li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">5.实验结果</h2>



<h2 class="wp-block-heading">5.1 同源数据实验结果</h2>



<p>这张表比较了作者提出的 SC-FSL 算法和其他九种流行的 FSL（小样本学习）算法在“情景 A”（数据均来自 PlantVillage）上的表现。</p>



<p>我们先弄清楚两个关键指标：</p>



<ul class="wp-block-list">
<li><strong>5-way 1-shot</strong>：模型需要区分 5 个病害类别，但在“支持集”中每类只给它看了 1 张图片。</li>



<li><strong>5-way 5-shot</strong>：模型需要区分 5 个病害类别，每类给它看了 5 张图片。</li>
</ul>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>算法</strong></td><td><strong>5-way 1-shot (准确率 %)</strong></td><td><strong>5-way 5-shot (准确率 %)</strong></td></tr></thead><tbody><tr><td>ProtoNet</td><td>75.32 ± 0.80</td><td>89.70 ± 0.51</td></tr><tr><td>MatchingNet</td><td>76.80 ± 0.81</td><td>87.85 ± 0.56</td></tr><tr><td>RelationNet</td><td>74.71 ± 0.83</td><td>88.90 ± 0.40</td></tr><tr><td>... (其他算法)</td><td>...</td><td>...</td></tr><tr><td><strong>SC-FSL (本文算法)</strong></td><td><strong>78.55 ± 0.81</strong></td><td><strong>92.90 ± 0.47</strong></td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>It can be seen from Table 4 that among all the algorithms, the SC-FSL achieves the highest recognition accuracy in both 5-way 1-shot and 5-way 5-shot.</p>



<p><strong>核心结论是：</strong> 作者的 SC-FSL 算法在 1-shot 和 5-shot 任务上均取得了<strong>最高</strong>的识别准确率。 <sup></sup><sup></sup><sup></sup><sup></sup></p>
</blockquote>



<p>这表明，在第一阶段使用“监督对比学习”预训练出的编码器，确实为第二阶段的小样本分类任务提供了非常强大的特征提取能力。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">5.2 跨域数据实验结果</h2>



<p>这是一个更具挑战性的测试，因为模型在第一阶段是在“实验室”数据 (PlantVillage) 上训练的，但在第二阶段必须去识别“自然场景”下拍摄的马铃薯病害 (PDD) <sup></sup>。</p>



<p class="has-text-align-center"><strong>表 5：马铃薯病害识别结果（节选）</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td><strong>M-shot (样本数)</strong></td><td><strong>Resnet18 准确率 (%)</strong></td><td><strong>Resnet50 准确率 (%)</strong></td></tr></thead><tbody><tr><td>1-shot</td><td>43.70 ± 0.63</td><td>49.12 ± 0.73</td></tr><tr><td>5-shot</td><td>60.48 ± 0.54</td><td>68.29 ± 0.53</td></tr><tr><td>10-shot</td><td>64.87 ± 0.52</td><td>73.31 ± 0.46</td></tr><tr><td>30-shot</td><td>69.31 ± 0.50</td><td><strong>79.51 ± 0.39</strong></td></tr></tbody></table></figure>



<p><strong>实验结果显示了两个重要趋势：</strong></p>



<ol start="1" class="wp-block-list">
<li><strong>样本数量仍然关键</strong>：即使是小样本，样本量的增加也能带来巨大的提升 。对于 ResNet50，仅有 1 张图片 (1-shot) 时准确率不到 50%，但当样本增加到 30 张 (30-shot) 时，准确率跃升至 <strong>79.51%</strong> 。</li>



<li><strong>更深的网络泛化能力更强</strong>：在所有样本数级别上，更深的 ResNet50 网络表现都显著优于较浅的 ResNet18 。这表明在第一阶段（监督对比学习）使用更深的网络，能学到更具泛化能力的特征，这对于跨域任务（从实验室到自然场景）尤为重要。</li>
</ol>



<p>此外，论文还通过<strong>图 10（混淆矩阵）</strong> 分析了 30-shot 任务中具体类别的识别情况 <sup></sup>：</p>



<ul class="wp-block-list">
<li>模型对“<strong>早疫病</strong>” (early blight) 的识别效果最好（准确率 91.5%），其次是“健康”叶片 (82%) 。</li>



<li>模型最容易混淆的是“<strong>炭疽病</strong>” (anthracnose)，准确率最低 (70.5%) 。它经常被误判为“健康”叶片或“早疫病” ，作者推测这是因为它们在某些图像上的病斑特征非常相似 。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">6.实验结论</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>However, in agricultural production, the time and place of disease occurrence are random, which makes it difficult to collect large-scale disease samples.</p>
</blockquote>



<p>论文明确指出，病害发生的时间和地点是随机的，这使得收集大规模病害样本变得非常困难。</p>



<p>这正是传统深度学习方法（需要大量数据）在这里碰壁的原因。</p>



<p>那么，面对这个“样本很少”的难题，作者在结论中提出的新“范式” (paradigm) 是什么呢？他们是如何分两个阶段来解决这个问题的？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>In view of the good generalization performance of contrastive learning, we propose a new few-shot disease recognition paradigm called SC-FSL, that is, big data and contrastive learning in the pretraining stage is used in pre-training phase, and few-shot learning is used in the specific disease recognition stage.</p>



<p>Trans:鉴于对比学习具有良好的泛化性能，我们提出了一种名为SC- FSL 的新型少样本疾病识别范式：在预训练阶段采用大数据与对比学习相结合的方法，而在具体疾病识别阶段则采用少样本学习。</p>
</blockquote>



<p>这篇论文的核心贡献就是这个新范式：</p>



<ol start="1" class="wp-block-list">
<li><strong>第一阶段</strong>：利用“监督对比学习”和<em>大量</em>相关数据（但不一定是目标病害数据），训练出一个具有强大<strong>泛化能力</strong>的编码器。它学会了什么是“病害”的通用特征。</li>



<li><strong>第二阶段</strong>：这个编码器能高效地将同类病害“聚拢”在特征空间中，因此在面对新病害时，只需要几个样本（小样本）就能快速定位这个新类别的“中心点”，从而实现准确识别。</li>
</ol>



<p>我们已经一起完整地学习了这篇论文，从它的核心术语、两个阶段的算法细节，到实验设置和结果分析。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>论文评述-文献FRT-FS-EN-2510282</title>
		<link>https://www.leexinghai.com/aic/%e8%ae%ba%e6%96%87%e8%af%84%e8%bf%b0-%e6%96%87%e7%8c%aefrt-fs-en-2510282/</link>
		
		<dc:creator><![CDATA[李星海]]></dc:creator>
		<pubDate>Thu, 06 Nov 2025 11:49:57 +0000</pubDate>
				<category><![CDATA[微谈]]></category>
		<category><![CDATA[FSL小样本学习]]></category>
		<category><![CDATA[第4次组会后工作内容]]></category>
		<guid isPermaLink="false">https://www.leexinghai.com/aic/?p=3824</guid>

					<description><![CDATA[本期评述文章： 它探讨的是一个在农业和AI交叉领域非常重要的问题：如何在数据样本很少的情况下（即“小样本学习” [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>本期评述文章：</p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="eYbUY0AYsg"><a href="https://www.leexinghai.com/aic/frt-fs-en-2510282/">[文献FRT-FS-EN-2510282]Few-shot crop disease recognition using sequence- weighted ensemble model-agnostic meta-learning</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="《 [文献FRT-FS-EN-2510282]Few-shot crop disease recognition using sequence- weighted ensemble model-agnostic meta-learning 》—学术创新中心" src="https://www.leexinghai.com/aic/frt-fs-en-2510282/embed/#?secret=YHEEJQJ3Xo#?secret=eYbUY0AYsg" data-secret="eYbUY0AYsg" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<p>它探讨的是一个在农业和AI交叉领域非常重要的问题：如何在数据样本很少的情况下（即“小样本学习”）准确识别作物病害 。</p>



<p>为了解决这个问题，论文提出了一种名为 <strong>SWE-MAML</strong>（序列加权集成模型无关元学习）的新方法 。</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading has-text-align-center">1.为什么WHY</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>While deep learning-based computer vision techniques have emerged as powerful tools for crop disease recognition, these methods are heavily reliant on large datasets, which are often difficult to obtain in practical agricultural settings. </p>



<p>Trans:虽然基于深度学习的计算机视觉技术已成为农作物病害识别的利器，但这些方法严重依赖海量数据集，而实际农业场景中往往难以获取。</p>
</blockquote>



<p>这篇论文的核心是解决一个在现实中非常棘手的问题。传统的深度学习模型（比如CNN）在图像识别上效果很好，但它们通常需要一个前提条件：海量的训练数据 。</p>



<p>但在农业领域，要获取大量、多样化的病害图像，恰恰是非常困难的 。</p>



<p>【小问1】那么，根据论文的引言（Introduction）部分，你认为具体是什么因素导致了收集大量作物病害数据如此困难或昂贵呢？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>【回答1】</p>



<p>Agricultural scenarios are usually complex and diverse. Crop disease occurrence has a long time and space span in general.</p>



<p>Trans:农业情景通常复杂多样。作物病害的发生通常具有长期性和空间分布特征。</p>



<p>Furthermore, crop diseases spread widely in time and space, and the annotation of disease data needs to be done manually by experienced experts. Therefore, large-scale disease image collection and annotation is very costly.</p>



<p>Trans:此外，农作物病害在时空上广泛传播，且病害数据标注需由经验丰富的专家人工完成。因此，大规模病害图像采集与标注成本极高。</p>
</blockquote>



<p>总结了“为什么”这个问题：</p>



<ol class="wp-block-list">
<li>环境复杂：病害在不同生长期和环境下表现不同。</li>



<li>标注昂贵：需要经验丰富的专家来手动标注，成本很高。</li>
</ol>



<p>这就产生了一个核心矛盾：深度学习模型渴望“大数据”，但现实农业场景却难以提供。</p>



<p>为了解决这个“数据稀缺”的矛盾，论文（以及整个研究领域）提出了一种专门的解决方案。这篇论文（第2页）将其称为<strong>“小样本学习”（Few-shot learning, FSL）</strong>。</p>



<p>【小问2】根据论文对FSL的描述，你认为“小样本学习”的目标是什么？它与使用海量数据的“标准”深度学习有何不同？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>【回答2】As the name implies, few-shot learning refers to feeding a learning model with a tiny amount of training data, contrary to the standard practice of using a large amount of data.</p>



<p>Trans:顾名思义，小样本学习是指用少量训练数据训练模型，这与常规使用大量数据的做法截然不同。</p>
</blockquote>



<p>现在我们知道了“为什么”需要FSL（因为收集数据困难），以及FSL的“目标”（用少量数据训练）。</p>



<p>【小问3】在引言（Introduction）的后半部分（第2页），论文提到了几种实现FSL的主要技术途径。你能找到它们吗？论文将FSL方法主要分为了哪三类？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>【回答3】Few-shot learning for image recognition can be mainly grouped into model initialization, metric learning, and data augmentation.</p>



<p>图像识别领域的少样本学习技术主要包含三大方向：模型初始化、度量学习和数据增强。</p>
</blockquote>



<p>现在，引言部分（页面第 2 和 3 部分）将从这些总体概念过渡到该领域非常流行的一种特定算法，该算法也是本文新方法的基础。</p>



<p>【小问4】你能找到文中提到的这种流行的 FSL 算法的名称吗？它属于这三大类别中的哪一类（模型初始化、度量学习或数据增强）？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>【回答4】Model-Agnostic Meta-Learning (MAML) is one of the most popular few-shot learning algorithms (Finn et al., 2017).</p>



<p>Trans:模型无关元学习（MAML）是当前最主流的少样本学习算法之一（Finn等，2017）。</p>



<p>MAML is a meta-learning framework based on <em><strong>model initialization</strong></em> by training the model’s parameters so that a small number of gradient updates are going to lead to fast learning on a novel task.</p>



<p>Trans:MAML是一种元学习框架，其核心在于通过<strong>训练模型参数进行初始化</strong>，使得少量梯度更新即可在新任务上实现快速学习。</p>
</blockquote>



<p>它的核心思想不是训练一个“最终模型”，而是训练一个“初始模型”。</p>



<p>那么，根据论文第3页对 MAML 的描述 ，MAML 训练出的这套“初始化参数”有什么特别之处？它能让模型在遇到一个新任务时实现什么效果？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>MAML is a meta-learning framework based on model initialization by training the model’s parameters so that a small number of gradient updates are going to lead to fast learning on a novel task. </p>



<p>Trans:MAML是一种元学习框架，其核心在于通过训练模型参数进行初始化，使得少量梯度更新就能在新任务上实现快速学习。</p>
</blockquote>



<p>MAML 的目标就是找到一套“元”参数 θ，当面对一个新任务时，模型只需要在这套参数的基础上“微调”几步（a small number of gradient updates），就能立刻适应这个新任务并表现良好。 这就是“快速学习”的含义。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>我们现在知道了“为什么”需要 FSL，也知道了 MAML 是一个基于“模型初始化”的巧妙方案。</p>



<p>但是，这篇论文的标题是 <strong>SWE-MAML</strong>，这暗示了原始的 MAML 可能还有不足之处。</p>



<p>根据论文第3页（"Model-Agnostic Meta-Learning (MAML) is..." 附近），作者指出了原始 MAML 的哪些<strong>缺点</strong>或<strong>不足</strong>？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>However, it comes with the need for costly hyperparameter tuning for training stability, and its performance has fallen behind many recent algorithms nowadays.</p>



<p>Trans:然而，这种方法需要进行昂贵的超参数调优以确保训练稳定性，且其性能已落后于当前众多新兴算法。</p>
</blockquote>



<p>这正是论文指出的MAML的两大核心问题：</p>



<ol start="1" class="wp-block-list">
<li><strong>训练不稳定</strong>：需要花费大量精力（昂贵的超参数调优）才能让它稳定训练。</li>



<li><strong>性能落后</strong>：它的识别准确率已经被一些更新的算法超越了。</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>好了，到这里我们已经完整地理解了“<strong>为什么</strong>”（Why）这部分：</p>



<ul class="wp-block-list">
<li><strong>核心问题</strong>：在现实农业中，病害数据很难大规模收集（环境复杂、专家标注昂贵）。</li>



<li><strong>解决方向</strong>：因此需要“小样本学习”（FSL）技术，即用少量数据训练模型。</li>



<li><strong>已有工具</strong>：MAML 是一种流行的FSL方法，它通过学习“快速适应”的初始化参数来工作。</li>



<li><strong>工具缺陷</strong>：但 MAML 自身存在训练昂贵且性能落后的问题。</li>
</ul>



<p>这就引出了一个非常自然的问题：<strong>作者打算如何改进 MAML？</strong></p>



<p>这篇论文的标题（SWE-MAML）和摘要（Abstract）其实已经给出了线索。作者将 MAML 与另一种强大的机器学习范式结合了起来。</p>



<p>根据论文摘要（第1页），作者将 MAML 与什么技术结合起来，提出了他们的新框架？<sup></sup></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This method integrates ensemble learning with Model-Agnostic Meta-Learning (MAML), allowing the effective training of multiple classifiers within the MAML framework.</p>



<p>该方法将集成学习与模型无关的元学习（MAML）相结合，可在MAML框架内有效训练多个分类器。</p>
</blockquote>



<p>摘要里写得很清楚，他们提出了一种新的方法 <strong>SWE-MAML</strong>，它将 <strong>集成学习（ensemble learning）</strong> 和 MAML 结合了起来 <sup></sup>。</p>



<p>这个框架的设计目标，就是在 MAML 框架内有效训练多个分类器（论文称之为“基学习器”，base learners）。</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">2.如何 HOW</h2>



<p>我们已经知道，SWE-MAML 的核心是“<strong>集成学习 + MAML</strong>”。</p>



<p>来看看论文的第6页，<strong>2.2.2 章节（Sequence-weighted ensemble MAML）</strong>，特别是第7页的 <strong>图4 (Figure 4)</strong>。</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="679" height="351" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-1.png" alt="" class="wp-image-3828" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-1.png 679w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-1-300x155.png 300w" sizes="auto, (max-width: 679px) 100vw, 679px" /></figure>
</div>


<ul class="wp-block-list">
<li>标准的 MAML 只有一个模型（或学习器）。但在这篇论文的方法中，图4 向我们展示了什么结构？这个集成（ensemble）是由什么组成的？
<ul class="wp-block-list">
<li>图4展示了组合多了个模型来提升学习效果。思想是为同一个任务训练多个学习器，然后将这些学习器的输出结果合并为最终结果</li>
</ul>
</li>
</ul>



<p>这个方法的名字里有“<strong>序列</strong>”（Sequence）这个词。</p>



<ul class="wp-block-list">
<li>仔细看图4（第7页）中 BL<sub>1</sub>, BL<sub>2</sub>, ... BL<sub>N_T</sub>之间的箭头，你认为这些学习器是<strong>如何</strong>被训练的？它们是同时独立训练的，还是有先后顺序？
<ul class="wp-block-list">
<li>有先后顺序</li>
</ul>
</li>
</ul>



<p>从图4中的箭头可以清楚地看到，它们是<strong>按顺序</strong>训练的。这就是方法名中“<strong>序列</strong>”（Sequence）的来源。</p>



<p>现在我们来看“<strong>加权</strong>”（Weighted）这个词。</p>



<p>再次观察图4，你会发现，除了有 BL<sub>1</sub>, BL<sub>2</sub> 这样的“基学习器”之外，还有一组东西被用来计算最终的“Score”（得分），并且它们也会被“update”（更新）。</p>



<ul class="wp-block-list">
<li>你能找到这组东西是什么吗？
<ul class="wp-block-list">
<li>是 w<sub>1</sub>, w<sub>2</sub>, ... w<sub>N_T</sub></li>
</ul>
</li>
</ul>



<p>这些就是“<strong>加权</strong>”（Weighted）的来源。如图4所示，模型最终的“Score”（分类得分）是所有基学习器（BLi​）的输出，再用这些 w<sub>i</sub>​ 进行加权求和得到的 。</p>



<p>所以，<strong>SWE-MAML</strong> 的核心机制就是：</p>



<ol start="1" class="wp-block-list">
<li><strong>序列（Sequence）</strong>：按顺序训练一系列基学习器（BL<sub>1</sub>​,BL<sub>2</sub>​...）。</li>



<li><strong>加权（Weighted）</strong>：同时学习一个对应的权重（w<sub>1</sub>​,w<sub>2</sub>​...）。</li>



<li><strong>集成（Ensemble）</strong>：最终的预测结果是所有学习器 BLi​ 的加权 wi​ 总和。</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>现在，我们把最后一块拼图“<strong>MAML</strong>”放回来。</p>



<p>我们已经知道，这是一个“序列”过程。那么，这个序列的“<strong>起点</strong>”，也就是第一个基学习器 BL<sub>1</sub>​，它的参数是<strong>如何初始化</strong>的呢？</p>



<ul class="wp-block-list">
<li>根据图4和第7页的算法描述（Algorithm 1），你能找到 BL<sub>1</sub>​ 是从哪里获得它的初始参数 θ<sub>1</sub>​ 的吗？
<ul class="wp-block-list">
<li>是首先定义了一个参数化函数f<sub>θ</sub>表示的模型，这个函数包含参数θ</li>
</ul>
</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Figure 3 shows how MAML performs meta-training. In the figure, θ represents the meta-learner of the model, and f<sub>θ</sub> is its parameterization function.</p>



<p>Trans:图3展示了MAML如何进行元训练。其中，q表示模型的元学习器，fq是其参数化函数。</p>



<p>In Figure 4, θ represents the meta-learner ML. We create a set of base-learners with the same network structure of ML, denoted as BL<sub>i</sub>, and the decision weight of each base-learner as w<sub>i</sub>.</p>



<p>Trans:图4中，θ代表元学习器ML。我们构建了一组具有相同网络结构的基学习器（记为BL<sub>i</sub>），每个基学习器的决策权重为w<sub>i</sub>。</p>
</blockquote>



<p></p>



<p>θ 代表的就是“元学习器”（Meta-Learner, ML）的参数 。</p>



<p>现在，请再看一下<strong>图4</strong>。会看到一个箭头从 θ 出发，径直指向了 BL<sub>1</sub>。</p>



<ul class="wp-block-list">
<li>那么，根据这个图示和第7页的算法描述（Algorithm 1），我们是用了什么作为第一个基学习器 BL<sub>1</sub> 的<strong>起始参数</strong>呢？
<ul class="wp-block-list">
<li>就是 θ！</li>
</ul>
</li>
</ul>



<p>在<strong>图4</strong>中，有一个箭头从 θ（元学习器 ML）指向 BL<sub>1</sub>（第一个基学习器）。</p>



<p>这说明<strong>BL<sub>1</sub> 的初始参数，就是用元学习器 θ 来设置的</strong>。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>我们现在知道了“序列”的起点 BL<sub>1</sub> 是如何初始化的。</p>



<p>那么，这个“序列”是如何往下传递的呢？我们来看看 BL<sub>2</sub> 是如何初始化的。</p>



<ul class="wp-block-list">
<li>根据<strong>图4</strong>中 BL<sub>1</sub> 和 BL<sub>2</sub> 之间的箭头，以及第7页的算法描述（Algorithm 1），你认为 BL<sub>2</sub> 的初始参数是来自哪里？（是来自 BL<sub>1</sub> 还是 θ ？）
<ul class="wp-block-list">
<li>来自 BL<sub>1</sub></li>
</ul>
</li>
</ul>



<p>你看图4就明白了：</p>



<ol start="1" class="wp-block-list">
<li><strong>元学习器 θ</strong> 初始化了 <strong>BL<sub>1</sub></strong>。</li>



<li><strong><strong>BL<sub>1</sub></strong></strong>（训练后的参数）又初始化了 <strong><strong>BL<sub>1</sub></strong></strong>。</li>



<li>这个过程会一直持续下去，BL<sub>i</sub>初始化 BL<sub>i+1</sub>。</li>
</ol>



<p>这就是“<strong>序列</strong>”（Sequence）的真正含义：它们是一个接一个“接力”训练的。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>我们现在把 SWE-MAML 的工作流程（“如何”）理清楚了：</p>



<ol start="1" class="wp-block-list">
<li><strong>起点</strong>：元学习器 θ初始化 <strong><strong>BL<sub>1</sub></strong></strong>。</li>



<li><strong>序列</strong>：<strong><strong>BL<sub>1</sub></strong></strong> 训练后初始化 <strong><strong>BL<sub>2</sub></strong></strong>，<strong><strong>BL<sub>2</sub></strong></strong> 训练后初始化 <strong><strong>BL<sub>3</sub></strong></strong>... 依此类推，训练出一系列 <strong><strong>BL<sub>i</sub></strong></strong>。</li>



<li><strong>加权</strong>：模型同时学习一套权重 w<sub>i</sub>。</li>



<li><strong>集成</strong>：最终的预测结果是所有 BL<sub>i</sub> 的加权总和。</li>



<li><strong>MAML（元学习）</strong>：最后，模型会计算一个“元损失”（Meta-Loss），用这个损失去<strong>同时更新</strong> θ 和 w。</li>
</ol>



<p>这个设计非常巧妙，它不是像传统集成那样训练完模型A、再训练模型B...最后再组合。</p>



<p>而是在<strong>元学习的每一步</strong>都同时训练这个“序列集成”和“权重”，让整个系统学会<strong>如何快速构建一个强大的集成团队</strong>。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>我们已经弄清了“为什么”（Why）和“如何”（How）。</p>



<p>接下来，我们自然要关心：<strong>“效果如何？”（How Well?）</strong></p>



<p>这个新方法 SWE-MAML 听起来更复杂了，它真的比原始的 MAML 和其他方法更好吗？</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">3.效果如何HOW WELL</h2>



<p>这篇论文的一个核心创新是“集成”（ensemble），也就是使用多个基学习器（base-learners）。一个很自然的问题是：<strong>基学习器的数量</strong>会如何影响模型的性能？</p>



<p>作者在 3.2 节 和 <strong>图6 (第10页)</strong> 中探讨了这个问题。</p>



<p>论文中提到，他们将原始的 MAML 视为一个特例。你能找到 MAML 被当作有几个基学习器的情况吗？<sup></sup></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="428" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-2-1024x428.png" alt="" class="wp-image-3831" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-2-1024x428.png 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-2-300x125.png 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-2-768x321.png 768w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-2.png 1332w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>For comparison, we treat MAML as a special case of SWE-MAML where the number of base-learner is <strong>only 1</strong>. The results are shown in Figure 6, in which BL_num indicates the number of base-learners and the error bars represents the 95% confidence intervals.</p>



<p>Trans:为了进行比较，我们将 MAML 视为 SWE-MAML 的一个特例，其中基本学习器的数量<strong>仅为 1</strong>。结果如图 6 所示，其中 BL_num 表示基本学习器的数量，误差线表示 95% 置信区间。</p>
</blockquote>



<p>作者是将<strong>原始的 MAML</strong> 视为一个基学习器数量为<strong>1</strong>的特例 <sup></sup>。</p>



<p>现在，让我们一起看看<strong>图6A</strong>（第10页）。这张图标出了基学习器（BL_num）数量从1到7时的准确率。</p>



<ul class="wp-block-list">
<li>当 BL<sub>num</sub> = 1 (也就是原始 MAML) 时，在 "5-way 1-shot" (红色实线) 任务上，准确率大概是多少？</li>



<li>当 BL<sub>num</sub> 增加到 5 或 6 时，准确率又变成了多少？</li>
</ul>



<p>在 "5-way 1-shot" (红色实线) 任务上：</p>



<ul class="wp-block-list">
<li>当 BL<sub>num</sub> = 1 (原始 MAML) 时，准确率大约是 <strong>66%</strong> 。</li>



<li>当 BL<sub>num</sub> = 5 时，准确率达到了 <strong>74.56%</strong> 。</li>



<li>当 BL<sub>num</sub> = 6 时，准确率是 73.29% 。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>在 "5-way 5-shot" (绿色虚线) 任务上：</p>



<ul class="wp-block-list">
<li>当 BL<sub>num</sub> = 1 (原始 MAML) 时，准确率大约是 <strong>85.8%</strong> 。</li>



<li>当 BL<sub>num</sub> = 6 时，准确率达到了 <strong>89.75%</strong> 。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>我们从这些数据中得出了一个非常清晰的结论：<strong>SWE-MAML 显著优于 原始的 MAML</strong>。</p>



<p>仅在 "5-way 1-shot" 任务上，准确率就提升了超过 <strong>8.5%</strong> (从 66% 到 74.56%) <sup></sup><sup></sup><sup></sup><sup></sup>。</p>



<p>这证明了“集成”这个思路是有效的。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>作者还做了第二个实验来验证这个模型。在 3.4 节 和 <strong>表5 (Table 5)</strong> 中，他们将 SWE-MAML 与<strong>其他多种 FSL 算法</strong>进行了比较。</p>



<p>通过观察表5（第12页），可以知道 SWE-MAML（最后一行）与 ProtoNet、MatchingNet、RelationNet 这些经典方法相比，结果如何？</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="634" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-3-1024x634.png" alt="" class="wp-image-3832" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-3-1024x634.png 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-3-300x186.png 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-3-768x475.png 768w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-3.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>在 <strong>5-way 1-shot</strong> (Conv4) 任务上：</p>



<ul class="wp-block-list">
<li><strong>SWE-MAML</strong> 是 <strong>74.56%</strong> </li>



<li><strong>ProtoNet</strong> 是 <strong>68.61%</strong> </li>
</ul>



<p>这确实是一个接近6个百分点的显著提升。</p>



<p>在 <strong>5-way 5-shot</strong> (Conv4) 任务上：</p>



<ul class="wp-block-list">
<li><strong>SWE-MAML</strong> 是 <strong>89.75%</strong></li>



<li><strong>ProtoNet</strong> 是 <strong>83.84%</strong></li>
</ul>



<p>这又是一个接近6个百分点的提升。</p>



<p>如果再纵观 <strong>表5</strong> (第12页) 的所有行，就可以发现一个清晰的模式：无论是在 5-way 1-shot 还是 5-way 5-shot 任务上，也无论使用 Conv4 还是 Conv6，SWE-MAML（最后一行）的准确率<strong>总是</strong>排在第一位 。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>我们目前已经验证了：</p>



<ol start="1" class="wp-block-list">
<li><strong>“集成”有效</strong>：使用多个基学习器 (BL) 显著优于 MAML (BL=1) 。</li>



<li><strong>“性能领先”</strong>：SWE-MAML 在标准数据集 (PlantVillage) 上的表现优于其他所有被比较的 FSL 算法 。</li>
</ol>



<p>这看起来非常棒。但作者们进行了一项<strong>最终测试</strong>，可以说是对模型真正的考验。</p>



<ul class="wp-block-list">
<li>在 3.5 节 (第12页)，他们设计了一个“<strong>场景B</strong>”（Scenario B） 。还记得这个场景与我们之前看的“场景A”有什么关键区别吗？（提示：与数据集有关）
<ul class="wp-block-list">
<li>场景A是原域和目标域都是PlantVillage，而场景B是原域是PlantVillage，目标域是PDD。</li>
</ul>
</li>
</ul>



<p>PDD 指的是 <strong>Potato Disease Dataset</strong>（马铃薯病害数据集） <sup></sup>。</p>



<p>场景A和场景B的关键区别在于测试用的<strong>目标域</strong>不同：</p>



<ul class="wp-block-list">
<li><strong>场景A</strong>：训练和测试都来自 PlantVillage 数据集 。</li>



<li><strong>场景B</strong>：训练来自 PlantVillage，但测试来自 PDD 。</li>
</ul>



<p>这篇论文特别指出，PDD 与 PlantVillage 有一个<strong>本质的区别</strong>，这使得场景B的测试变得尤其困难和有意义。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The second dataset is the Potato Disease Dataset (PDD). Unlike the PlantVillage dataset, all PDD images are captured under natural lighting conditions with complex backgrounds.</p>



<p>Trans:第二个数据集是马铃薯病害数据集（PDD）。与PlantVillage数据集不同，所有PDD图像均在自然光照条件下拍摄，背景复杂。</p>
</blockquote>



<ul class="wp-block-list">
<li>根据论文 2.1 节（第5页）对这两个数据集的描述，你认为 PDD 图像的主要特点是什么？它和 PlantVillage 图像（第4页，图1）相比，最大的不同在哪里？
<ul class="wp-block-list">
<li><strong>PlantVillage</strong>：是在实验室条件下拍摄的，背景简单，光照受控 。</li>



<li><strong>PDD</strong>：是在<strong>自然条件</strong>下拍摄的，背景非常复杂（比如有其他叶子、土壤、光影），光照也不均匀 。</li>
</ul>
</li>
</ul>



<p>这就是AI领域所说的“<strong>域差异</strong>”（Domain Shift）。模型在“干净”的实验室数据（源域）上训练，却要在“混乱”的真实世界数据（目标域）上测试。</p>



<p>这对模型来说是一个巨大的考验。在场景A中，模型只是识别它没见过的<em>病害</em>，但图像的<em>风格</em>是相似的。而在场景B中，连图像的<strong>风格都完全不同了</strong>。</p>



<p>这就像你只学过印刷体的字母，现在却要你去识别潦草的手写体。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>那么，面对这个极具挑战性的“场景B”，SWE-MAML 和其他算法的表现如何呢？</p>



<p>让我们来看看论文的<strong>表6 (Table 6)</strong>（第13页）。这张表显示了模型在PDD数据集上的准确率。</p>



<p>请看 SWE-MAML (最后一行) 和其他所有方法（上面几行）的对比结果。你得出了什么结论？</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="460" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-4-1024x460.png" alt="" class="wp-image-3834" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-4-1024x460.png 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-4-300x135.png 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-4-768x345.png 768w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-4.png 1340w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>在<strong>表6</strong>（第13页）中，无论是在哪个 "shot"（1-shot, 5-shot, 10-shot...）的设置下，SWE-MAML（最后一行）的准确率都<strong>始终是最高</strong>的 <sup></sup>。</p>



<ul class="wp-block-list">
<li>在“1-shot”时，SWE-MAML 达到了 <strong>39.82%</strong>，而其他方法都在 39% 以下。</li>



<li>在“30-shot”时，SWE-MAML 达到了 <strong>75.71%</strong>，而第二名（DeepEMD-FCN）只有 74.70% 。</li>
</ul>



<p>这个结果意义重大。它表明，即使面对“域差异”（实验室 vs. 自然环境）这个严峻的挑战，SWE-MAML 依然比所有其他方法更稳健、更准确。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>我们现在已经完成了对“<strong>效果如何</strong>”的分析：</p>



<ol start="1" class="wp-block-list">
<li><strong>优于 MAML</strong>：集成多个基学习器 (5-7个) 显著优于 MAML (1个) 。</li>



<li><strong>优于其他 FSL</strong>：在标准数据集 (PlantVillage) 上，SWE-MAML 表现最佳 。</li>



<li><strong>跨域依然有效</strong>：在极具挑战的“实验室到自然环境”测试 (PDD) 中，SWE-MAML 依然保持第一 。</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>我们已经一起学习了这篇论文的“为什么”（Why）、“如何”（How）以及“效果如何”（How Well）。</p>



<p>最后，我们看看<strong>第4节 讨论（Discussion）</strong> 和<strong>第5节 结论（Conclusion）</strong>，来总结一下作者认为他们这项工作的<strong>核心贡献</strong>和<strong>局限性</strong>。</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading has-text-align-center">4.讨论 DISCUSSION</h2>



<p>作者在这一节回顾了他们的主要实验成果，并强调了它们的意义。</p>



<p>作者特别提到了一个在3.3节（图7）中也探讨过的重要因素。除了“集成学习器的数量”（我们之前在图6看到的）之外，作者还发现了<strong>什么因素</strong>对模型的识别准确率有“更显著的影响”（a more significant effect）？ <sup></sup></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The number of disease classes involved in the source domain has a more significant effect on recognition accuracy. </p>



<p>Trans:源域中涉及的疾病类别数量对识别准确度的影响更为显著。</p>
</blockquote>



<p>论文在第4节“讨论” <sup></sup> 和第5节“结论”中都强调了这一点：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This reveals the fact that in the meta-learning phase, diverse disease categories help improve the accuracy of the model. </p>



<p>Trans:在元学习阶段（meta-learning phase），<strong>多样化的疾病类别</strong>有助于提高模型的准确性。</p>
</blockquote>



<p>作者指出，当源域（source domain）中的预训练类别从11个增加到27个时：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>In both 5-way 1-shot and 5-way 5-shot conditions, the recognition accuracy of the model improved by 12.01% and 8.45%.</p>
</blockquote>



<ul class="wp-block-list">
<li>5-way 1-shot 的准确率提升了 <strong>12.01%</strong> </li>



<li>5-way 5-shot 的准确率提升了 <strong>8.45%</strong> </li>
</ul>



<p>这证明了在元训练阶段给模型看（“学习”）的<strong>种类</strong>越多，模型学习“如何学习”的能力就越强，当它遇到一个全新的病害时，它也能识别得更好。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>我们已经完整地学习了这篇论文。我们知道了：</p>



<ol start="1" class="wp-block-list">
<li><strong>为什么（Why）</strong>：解决真实农业中病害数据稀缺的问题 。</li>



<li><strong>如何做（How）</strong>：提出了 SWE-MAML，将“序列集成学习”嵌入到 MAML 框架中 。</li>



<li><strong>效果如何（How Well）</strong>：在标准数据集 和极具挑战的跨域数据集 (PDD)  上均超越了其他方法。</li>



<li><strong>关键发现</strong>：集成学习器的数量（5-7个最佳） 和源域的类别数量  是提升性能的关键。</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading has-text-align-center">5.结论CONCLUSION</h2>



<p>论文在第5节“结论”的末尾明确指出了这一点：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Meanwhile, the model’s performance needs to be improved in the cross-domain few-shot disease recognition task.</p>



<p>Trans:“同时，该模型在<strong>跨领域小样本疾病识别任务</strong>（cross-domain few-shot disease recognition task）中的性能仍需提高。”</p>
</blockquote>



<p>这正是他们计划在未来研究中重点攻克的方向 <sup></sup>。</p>



<p>这也很合理，我们在实验结果（表6）中也看到了，尽管 SWE-MAML 在 PDD（自然场景）上的表现已经是最好的，但准确率<strong>（如 75.71%）</strong>相比于在 PlantVillage 内部测试<strong>（表5，如 89.75%）</strong>还是有明显下降的。这说明<strong>从“实验室”到“真实世界”的“跨域”问题</strong>，依然是这个领域最大的挑战。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>P5110381-CLIP模型在PlantVillage植物病害识别任务中的应用探究</title>
		<link>https://www.leexinghai.com/aic/p3cliponpv/</link>
		
		<dc:creator><![CDATA[李星海]]></dc:creator>
		<pubDate>Mon, 03 Nov 2025 05:20:11 +0000</pubDate>
				<category><![CDATA[项目库]]></category>
		<category><![CDATA[第4次组会后工作内容]]></category>
		<guid isPermaLink="false">https://www.leexinghai.com/aic/?p=3809</guid>

					<description><![CDATA[0.Github CrystalChanB31/clip_on_plantvillage: CLIP模型在Pl [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading has-text-align-center">0.Github</h2>



<p><a href="https://github.com/CrystalChanB31/clip_on_plantvillage/">CrystalChanB31/clip_on_plantvillage: CLIP模型在PlantVillage植物病害识别任务中的应用探究</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading has-text-align-center">1.环境准备</h2>



<p class="has-medium-font-size"><strong>1.1 数据集</strong></p>



<p><a href="https://www.kaggle.com/datasets/abdallahalidev/plantvillage-dataset">PlantVillage Dataset</a></p>



<p>显卡：Nvidia Geforce RTX5090 @ 32GB * 1</p>



<p><strong>1.2 软件环境配置</strong></p>



<p>Linux：Ubuntu 24.04LTS（WSL2）</p>



<p>Anaconda：最新版本</p>



<p>CUDA：13.0</p>



<p>Python version info: 3.10.19 (main, Oct 21 2025, 16:43:05) [GCC 11.2.0]<br>PyTorch version info: 2.10.0.dev20251026+cu130</p>



<p><strong>1.3 requirements.txt</strong></p>



<pre class="wp-block-code"><code>torch&gt;=1.12.0
torchvision&gt;=0.13.0
scikit-learn&gt;=1.0.0
tqdm&gt;=4.0.0
pillow&gt;=8.0.0
numpy&gt;=1.19.0
# OpenAI CLIP: install from the official GitHub repo
# This installs the `clip` package used in the code (ViT-B/32, etc.).
# If you prefer a released wheel or your environment already contains CLIP, you can omit the line below.
git+https://github.com/openai/CLIP.git@main#egg=clip</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">2.数据处理</h2>



<p><strong>2.1 先进行数据集的划分（测试集，训练集和验证集）</strong></p>



<p>数据分类方法：</p>



<p>下载的数据集中分为 <code>color</code> , <code>grayscale</code> , <code>segmented</code> 三个文件夹，这里以 <code>color</code> 文件夹为例：</p>



<ul class="wp-block-list">
<li>训练集比率：70%</li>



<li>验证集比率：20%</li>



<li>测试集比率：10%</li>
</ul>



<p><strong>2.2 创建数据划分方法文件<code>split_data.py</code></strong></p>



<pre class="wp-block-code"><code># Plantvillage/split_data.py
import os, shutil, random, sys
from pathlib import Path

# ===== 配置区 =====
SRC_DIR = Path("./dataset/color")   # 你的源数据：color 文件夹路径
DEST_DIR = Path("./Plantvillage")                # 目标根目录：会生成 train/val/test
TRAIN_RATIO, VAL_RATIO, TEST_RATIO = 0.7, 0.2, 0.1
SEED = 42
CLEAR_DEST = False   # 若你多次尝试，想先清空再重新拷贝，改为 True（小心！会删除目标目录）

# ===== 工具函数 =====
IMG_EXTS = {".jpg", ".jpeg", ".png", ".bmp", ".tif", ".tiff"}

def list_images(d: Path):
    return &#91;p for p in d.iterdir() if p.is_file() and p.suffix.lower() in IMG_EXTS]

def ensure_dirs(*dirs):
    for d in dirs:
        d.mkdir(parents=True, exist_ok=True)

def copy_many(paths, target_dir: Path):
    ensure_dirs(target_dir)
    for p in paths:
        shutil.copy2(p, target_dir / p.name)

def split_indices(n, tr=TRAIN_RATIO, vr=VAL_RATIO, te=TEST_RATIO):
    """对长度为 n 的数组索引，返回 (train_idx, val_idx, test_idx)"""
    idx = list(range(n))
    random.shuffle(idx)

    if n == 0:
        return &#91;], &#91;], &#91;]
    if n == 1:
        return idx, &#91;], &#91;]            # 1张：全放train
    if n == 2:
        return idx&#91;:1], idx&#91;1:], &#91;]   # 2张：1/1/0
    if n == 3:
        return idx&#91;:2], idx&#91;2:], &#91;]   # 3张：2/1/0
    if n == 4:
        return idx&#91;:3], idx&#91;3:], &#91;]   # 4张：3/1/0

    # n &gt;= 5 用比例
    n_train = max(1, int(round(tr * n)))
    n_val   = max(1, int(round(vr * n)))
    # 确保不超
    if n_train + n_val &gt;= n:
        n_val = max(1, n - n_train - 1)
    n_test  = n - n_train - n_val
    if n_test &lt; 0:
        n_test = 0
        # 再次纠偏
        n_val = min(n_val, n - n_train)

    tr_idx = idx&#91;:n_train]
    va_idx = idx&#91;n_train:n_train+n_val]
    te_idx = idx&#91;n_train+n_val:]
    return tr_idx, va_idx, te_idx

def main():
    random.seed(SEED)

    if not SRC_DIR.exists():
        print(f"&#91;ERR] 源目录不存在：{SRC_DIR.resolve()}")
        sys.exit(1)

    if CLEAR_DEST and DEST_DIR.exists():
        shutil.rmtree(DEST_DIR)
    ensure_dirs(DEST_DIR / "train", DEST_DIR / "val", DEST_DIR / "test")

    class_dirs = &#91;p for p in SRC_DIR.iterdir() if p.is_dir()]
    if not class_dirs:
        print(f"&#91;ERR] 在 {SRC_DIR} 下未找到类别文件夹。请确认路径是否正确（应为 color/ 下的各类别目录）。")
        sys.exit(1)

    total_train = total_val = total_test = 0
    skipped = 0

    for cls_dir in sorted(class_dirs):
        imgs = list_images(cls_dir)
        if len(imgs) == 0:
            print(f"&#91;WARN] 类别 {cls_dir.name} 无图片，跳过。")
            skipped += 1
            continue

        tr_idx, va_idx, te_idx = split_indices(len(imgs))
        tr_imgs = &#91;imgs&#91;i] for i in tr_idx]
        va_imgs = &#91;imgs&#91;i] for i in va_idx]
        te_imgs = &#91;imgs&#91;i] for i in te_idx]

        copy_many(tr_imgs, DEST_DIR / "train" / cls_dir.name)
        copy_many(va_imgs, DEST_DIR / "val"   / cls_dir.name)
        copy_many(te_imgs, DEST_DIR / "test"  / cls_dir.name)

        total_train += len(tr_imgs)
        total_val   += len(va_imgs)
        total_test  += len(te_imgs)

        print(f"&#91;OK] {cls_dir.name}: {len(imgs)} =&gt; train {len(tr_imgs)}, val {len(va_imgs)}, test {len(te_imgs)}")

    print("\n====== 汇总 ======")
    print(f"类别总数：{len(class_dirs)}（跳过空类 {skipped}）")
    print(f"Train: {total_train} | Val: {total_val} | Test: {total_test}")
    print(f"输出目录：{DEST_DIR.resolve()}")

if __name__ == "__main__":
    main()</code></pre>



<p>现在当前工作目录下应当会看到 ./PlantVillage文件夹，有三个子文件夹：test,train和val，使用命令<code>ls -l | grep '^-' | wc -</code> 可以检查文件夹内文件数量情况，确保测试集:验证集:训练集为1:2:7。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1899" height="276" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image.png" alt="" class="wp-image-3810" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image.png 1899w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-300x44.png 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-1024x149.png 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-768x112.png 768w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/image-1536x223.png 1536w" sizes="auto, (max-width: 1899px) 100vw, 1899px" /></figure>



<p><strong>2.3 对划分后的数据集进行规范化处理<code>preprocess.py</code></strong></p>



<pre class="wp-block-code"><code>import os
from pathlib import Path
from PIL import Image
from tqdm import tqdm

# 1. 定义你的原始数据集路径
source_dir = Path("./Plantvillage")

# 2. 定义你想要保存新数据集的路径
target_dir = Path("./Plantvillage_224")

# 3. 定义我们想要的统一尺寸
new_size = (224, 224)

# 确保 PIL 使用高质量的缩放算法
resample_filter = Image.Resampling.BILINEAR

def preprocess_images():
    # 遍历 train, val, test 文件夹
    for split in &#91;"train", "val", "test"]:
        split_path = source_dir / split
        target_split_path = target_dir / split
        
        if not split_path.is_dir():
            print(f"Skipping {split_path}, not a directory.")
            continue

        # 获取所有类别文件夹 (e.g., "Tomato___Bacterial_spot")
        class_dirs = &#91;d for d in split_path.iterdir() if d.is_dir()]
        print(f"Found {len(class_dirs)} classes in {split}...")

        # 使用 tqdm 显示总进度
        for class_dir in tqdm(class_dirs, desc=f"Processing {split} set"):
            # 在新目录中创建对应的类别文件夹
            target_class_path = target_split_path / class_dir.name
            target_class_path.mkdir(parents=True, exist_ok=True)
            
            # 遍历这个类别中的所有图片
            # (假设是 .jpg, .JPG, .jpeg, .png)
            image_files = list(class_dir.glob("*.jpg")) + \
                          list(class_dir.glob("*.JPG")) + \
                          list(class_dir.glob("*.jpeg")) + \
                          list(class_dir.glob("*.png"))

            for image_path in image_files:
                try:
                    with Image.open(image_path) as img:
                        # 1. 转换为 "RGB" (防止有些是 P 模式或 RGBA)
                        # 2. 缩放
                        # 3. 保存
                        img_rgb = img.convert("RGB")
                        img_resized = img_rgb.resize(new_size, resample_filter)
                        #base_name = image_path.stem
                        # 定义新图片的保存路径
                        new_image_path = target_class_path / image_path.name
                        img_resized.save(new_image_path, "JPEG",quality=95)
                        
                except Exception as e:
                    print(f"Error processing {image_path}: {e}")

    print("--- Pre-processing Complete!(V2) ---")
    print(f"All images resized and saved to {target_dir}")

if __name__ == "__main__":
    preprocess_images()</code></pre>



<p><strong>2.4 创建数据加载文件<code>data_loader.py</code></strong></p>



<pre class="wp-block-code"><code>import torch
from torch.utils.data import DataLoader
from torchvision import datasets, transforms
from pathlib import Path
NW = 32
CLIP_MEAN = &#91;0.48145466, 0.4578275, 0.40821073]
CLIP_STD = &#91;0.26862954, 0.26130258, 0.27577711]
def load_data(data_dir, batch_size=384):
    """
    加载训练、验证和测试数据
    """
    data_dir = Path(data_dir)
    # 数据增强和预处理
    transform = transforms.Compose(&#91;
        #transforms.Resize((224, 224)),  # 调整大小
        transforms.ToTensor(),  # 转换为 Tensor
        transforms.Normalize(mean=CLIP_MEAN,std=CLIP_STD)  # 标准化
    ])

    # 使用 ImageFolder 加载数据集
    train_data = datasets.ImageFolder(root=data_dir / 'train', transform=transform)
    val_data = datasets.ImageFolder(root=data_dir / 'val', transform=transform)
    test_data = datasets.ImageFolder(root=data_dir / 'test', transform=transform)

    # 创建 DataLoader
    train_loader = DataLoader(train_data, batch_size=batch_size, shuffle=True,num_workers=NW,pin_memory=True)
    val_loader = DataLoader(val_data, batch_size=batch_size, shuffle=False,num_workers=NW,pin_memory=True)
    test_loader = DataLoader(test_data, batch_size=batch_size, shuffle=False,num_workers=NW,pin_memory=True)

    return train_loader, val_loader, test_loader

# 检查加载的数据集
if __name__ == "__main__":
    data_dir = "./Plantvillage_224"  # 你的数据集路径
    train_loader, val_loader, test_loader = load_data(data_dir)

    # 打印一些batch数据检查加载是否正确
    data_iter = iter(train_loader)
    images, labels = next(data_iter)
    print(f"Batch of images shape: {images.shape}")
    print(f"Batch of labels shape: {labels.shape}")
</code></pre>



<p><strong>2.5 创建模型<code>model.py</code></strong></p>



<pre class="wp-block-code"><code>import torch
import torch.nn as nn

class PlantDiseaseModel(nn.Module):
    def __init__(self, in_channels_img=512, out_channels_img=256, num_classes=38):
        """
        一个标准的图像分类模型，它接收来自 CLIP 的 512 维特征。
        """
        super(PlantDiseaseModel, self).__init__()
        
        # 1. 图像特征处理层
        # 输入 512 (来自 CLIP), 输出 256
        self.image_fc = nn.Linear(in_channels_img, out_channels_img)
        
        # 2. 最终分类层
        # 输入 256 (来自 image_fc), 输出 num_classes
        self.fc = nn.Linear(out_channels_img, num_classes)
        
        # 3. &#91;删除] 不再需要 text_fc
        # self.text_fc = ...
        
        # 4. &#91;删除] 不再需要在这里加载 CLIP
        # self.model, self.transform = ...
    
    def forward(self, image_features):
        """
        定义模型的前向传播。
        输入 'image_features' 是 CLIP 已经提取好的 &#91;batch_size, 512] 特征。
        """
        # 1. 通过图像层
        # &#91;B, 512] -&gt; &#91;B, 256]
        x = torch.relu(self.image_fc(image_features.view(image_features.size(0), -1)))
        
        # 2. 通过最终分类层
        # &#91;B, 256] -&gt; &#91;B, num_classes]
        output = self.fc(x)
        
        return output</code></pre>



<p><strong>2.6 创建训练文件<code>train.py</code></strong></p>



<pre class="wp-block-code"><code>#train
import torch
import torch.optim as optim
from sklearn.metrics import accuracy_score, confusion_matrix,classification_report
from tqdm import tqdm
from model import PlantDiseaseModel  # 导入 *修改后* 的模型
from data_loader import load_data
import clip

# 选择设备
device = "cuda" if torch.cuda.is_available() else "cpu"
print(device)
# 加载数据集
data_dir = "./Plantvillage_224"
train_loader, val_loader, test_loader = load_data(data_dir)

# --- &#91;修改] ---
# (PlantVillage 是 38 类)
num_classes = 38
model = PlantDiseaseModel(in_channels_img=512, out_channels_img=256, num_classes=num_classes).to(device)
# --- &#91;修改结束] ---

# 强制模型为 float32
model = model.float()

# 设置损失函数和优化器
criterion = torch.nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=1e-4)

# 加载 CLIP 模型 (这部分保留，用于在 *训练脚本* 中提取特征)
clip_model, preprocess = clip.load("ViT-B/32", device=device)

# 训练函数
def train(model, train_loader, val_loader, num_epochs=10):
    best_accuracy = 0.0  # 跟踪最佳准确率
    best_model_path = "best_model.pth" # 定义模型保存路径

    for epoch in range(num_epochs):
        model.train()  # 设置为训练模式
        running_loss = 0.0
        
        # 使用 tqdm 包装 train_loader
        for images, labels in tqdm(train_loader, desc=f"Epoch {epoch+1}/{num_epochs} Training"):
            images, labels = images.to(device), labels.to(device)
            images = images.float()
            labels = labels.long()

            # 1. 获取图像特征 (来自 CLIP)
            # (在 no_grad() 中运行 clip_model 以节省显存和时间)
            with torch.no_grad():
                image_features = clip_model.encode_image(images)
            image_features = image_features.float()
            
            # 2. 获取模型输出 (前向传播)
            outputs = model(image_features)
            
            # 3. 计算损失 (在这里定义 'loss')
            loss = criterion(outputs, labels)
            
            # --- &#91;这是你遗漏的部分 END] ---

            # 反向传播并更新权重
            optimizer.zero_grad()  # 清零梯度
            loss.backward()  # 计算梯度 (现在 'loss' 已被定义)
            optimizer.step()  # 更新权重
            
            running_loss += loss.item() # 累加损失
            
        print(f"\nEpoch &#91;{epoch+1}/{num_epochs}], Loss: {running_loss/len(train_loader)}")

        # 每个 epoch 后进行验证
        val_accuracy = validate(model, val_loader)
        
        # 检查这是否是迄今为止最好的模型
        if val_accuracy &gt; best_accuracy:
            best_accuracy = val_accuracy
            # 保存当前模型的权重
            torch.save(model.state_dict(), best_model_path)
            print(f"*** 新的最佳模型已保存，准确率: {best_accuracy * 100:.2f}% ***")

# 验证函数
def validate(model, val_loader):
    model.eval()
    all_preds = &#91;]
    all_labels = &#91;]
    
    # 使用 tqdm 包装 val_loader
    with torch.no_grad():
        for images, labels in tqdm(val_loader, desc="Validating"):
            images, labels = images.to(device), labels.to(device)
            images = images.float()
            labels = labels.long()

            # 1. 获取图像特征
            image_features = clip_model.encode_image(images)
            image_features = image_features.float()
            
            # 2. 获取模型输出
            outputs = model(image_features)
            _, preds = torch.max(outputs, 1)
            
            all_preds.extend(preds.cpu().numpy())
            all_labels.extend(labels.cpu().numpy())
            
    # 计算准确率
    accuracy = accuracy_score(all_labels, all_preds)
    cm = confusion_matrix(all_labels, all_preds)
    
    print(f"Validation Accuracy: {accuracy * 100:.2f}%")
    print("混淆矩阵 (Validation):")
    print(cm)
    
    return accuracy  # &lt;-- &#91;修改] 返回计算出的准确率
# 测试函数
def test(model, test_loader):
    print("\n--- 启动测试阶段 ---")
    model.eval()  # 设置模型为评估模式
    all_preds = &#91;]
    all_labels = &#91;]
    
    # 从 test_loader 中获取类别名称，用于报告
    try:
        class_names = test_loader.dataset.classes
    except:
        class_names = &#91;str(i) for i in range(num_classes)] # 备用方案

    with torch.no_grad():
        # 使用 tqdm 显示进度条
        for images, labels in tqdm(test_loader, desc="Testing"): 
            images, labels = images.to(device), labels.to(device)
            images = images.float()
            labels = labels.long()

            # 1. 获取图像特征 (clip_model 是全局变量)
            image_features = clip_model.encode_image(images)
            image_features = image_features.float()
            
            # 2. 获取模型输出
            outputs = model(image_features)
            
            # 3. 获取预测
            _, preds = torch.max(outputs, 1)
            
            all_preds.extend(preds.cpu().numpy())
            all_labels.extend(labels.cpu().numpy())
            
    # 计算指标
    accuracy = accuracy_score(all_labels, all_preds)
    cm = confusion_matrix(all_labels, all_preds)
    
    print(f"\n--- 测试结果 ---")
    print(f"Test Accuracy: {accuracy * 100:.2f}%")
    
    print("\n混淆矩阵 (Test):")
    print(cm)
    
    # 打印分类报告 (包含精确率, 召回率, F1-score)
    print("\n分类报告 (Test):")
    print(classification_report(all_labels, all_preds, target_names=class_names, digits=4))
# 开始训练
if __name__ == "__main__":
    best_model_path = "best_model.pth"

    # 1. 训练模型 (现在它会自动保存 'best_model.pth')
    train(model, train_loader, val_loader, num_epochs=20)
    
    print("\n--- 训练完成 ---")
    print("正在加载最佳模型权重用于测试...")

    # 2. 加载保存的 *最佳* 模型权重
    model.load_state_dict(torch.load(best_model_path))

    # 3. 使用加载的 *最佳* 模型进行测试
    test(model, test_loader)</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">3.使用教程</h2>



<p>0.文件目录结构： </p>



<p>（工作）根目录</p>



<p>-dataset</p>



<p>--color</p>



<p>-data_loader.py</p>



<p>-split_data.py</p>



<p>-model.py</p>



<p>-train.py</p>



<p></p>



<p>1.先运行<code>pip install -r requirements.txt</code> 安装依赖</p>



<p>2.运行<code>split_data.py</code>划分数据集</p>



<p>3.运行<code>train.py</code>训练</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">4.训练结果</h2>



<p>在Epoch为20时，有最高准确率为93.18%</p>



<p>模型在测试集上实现了93.49%的准确率。</p>



<p class="has-text-align-right">precision   recall   f1-score support    </p>



<p class="has-text-align-right">accuracy                                    0.9349        5435<br>macro avg    0.9030     0.8849      0.8910        5435<br>weighted avg    0.9322     0.9349      0.9320        5435</p>



<p class="has-text-align-left">训练损失和验证准确率与Epoch关系如下：</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1200" height="500" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/training_history_plot.png" alt="" class="wp-image-3813" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/training_history_plot.png 1200w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/training_history_plot-300x125.png 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/training_history_plot-1024x427.png 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/training_history_plot-768x320.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>



<p>在Epoch为100时，有最高准确率97.84%</p>



<p>模型在测试集上实现了97.88%的准确率。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1200" height="500" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/training_history_plot-1.png" alt="" class="wp-image-3821" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/training_history_plot-1.png 1200w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/training_history_plot-1-300x125.png 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/training_history_plot-1-1024x427.png 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/11/training_history_plot-1-768x320.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>



<p>具体训练结果可以看这里：</p>



<div class="wp-block-file"><a id="wp-block-file--media-ac80082a-5aec-41a0-abc9-c41f1c9b20cc" href="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/results-1.xlsx">results</a><a href="https://www.leexinghai.com/aic/wp-content/uploads/2025/11/results-1.xlsx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-ac80082a-5aec-41a0-abc9-c41f1c9b20cc">下载</a></div>



<p></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>论文评述-文献SCI-FS-EN-2510281</title>
		<link>https://www.leexinghai.com/aic/%e8%ae%ba%e6%96%87%e8%af%84%e8%bf%b0-%e6%96%87%e7%8c%aesci-fs-en-2510281/</link>
		
		<dc:creator><![CDATA[李星海]]></dc:creator>
		<pubDate>Fri, 31 Oct 2025 07:28:18 +0000</pubDate>
				<category><![CDATA[微谈]]></category>
		<category><![CDATA[第4次组会后工作内容]]></category>
		<guid isPermaLink="false">https://www.leexinghai.com/aic/?p=3771</guid>

					<description><![CDATA[本期评述文献： 1.研究背景与问题 这篇论文的引言（Introduction）里提到，自动识别植物病害对于粮食 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>本期评述文献：</p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="efe0ahM45N"><a href="https://www.leexinghai.com/aic/sci-fs-en-2510281/">[文献SCI-FS-EN-2510281]PlantCaFo: An efficient few-shot plant disease recognition method based on foundation models</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="《 [文献SCI-FS-EN-2510281]PlantCaFo: An efficient few-shot plant disease recognition method based on foundation models 》—学术创新中心" src="https://www.leexinghai.com/aic/sci-fs-en-2510281/embed/#?secret=TA2dKnyxtj#?secret=efe0ahM45N" data-secret="efe0ahM45N" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading has-text-align-center">1.研究背景与问题</h2>



<p>这篇论文的引言（Introduction）里提到，自动识别植物病害对于粮食安全和提高产量非常重要 。虽然现在的方法（比如大型神经网络）取得了一些进展，但它们非常依赖大量、有标签的数据 。</p>



<p>这在农业领域是一个巨大的挑战。这篇论文明确指出了两个主要问题：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>【主要问题1.数据瓶颈】</p>



<p>However, this reliance presents significant challenges in agriculture. One challenge is that the collection and annotation of agricultural data are often expensive and time-intensive. </p>



<p>【主要问题2.样本稀有性】</p>



<p>Furthermore, the rarity of certain plant diseases makes gathering a large number of examples impractical.</p>
</blockquote>



<ol class="wp-block-list">
<li><strong>数据瓶颈：</strong>收集和标注农业数据（比如病害叶片）通常既昂贵又费时 。</li>



<li><strong>样本稀有性：</strong>某些植物病害非常罕见，这使得收集大量样本变得不切实际 。</li>
</ol>



<p>为了解决这个“数据依赖”的瓶颈，研究人员转向了一种叫做“少样本学习”（few-shot learning）的技术 。</p>



<p>关于这个背景，我们接下来可以深入探讨两个方向：</p>



<ol class="wp-block-list">
<li class="has-medium-font-size"><strong>什么是“少样本学习”？</strong>具体了解一下它是如何工作的，比如论文中提到的 "N-way K-shot" 是什么意思 ？</li>



<li class="has-medium-font-size"><strong>现有的“少样本学习”方法有什么问题？</strong>为什么它们（例如数据增强、元学习、迁移学习）还不够好，以至于需要这篇论文提出新模型 ？</li>
</ol>



<h2 class="wp-block-heading">1.1 什么是“少样本学习”</h2>



<p>正如论文所说，这是一种旨在使用“少量标记样本”来训练模型的技术 。</p>



<p>为了实现这一点，它通常会用到两个部分：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>【支持集】The support set contains a few labeled examples that the model uses to learn, 【查询集】whereas the query set is used to evaluate the model's ability to generalize. </p>
</blockquote>



<ul class="wp-block-list">
<li>支持集 (Support set)：包含少量带标签的样本，模型用它来学习 。</li>



<li>查询集 (Query set)：用来评估模型学习后的泛化能力 。</li>
</ul>



<p>为了评估这种学习效果，论文提到了一个关键框架，叫做 <strong>"N-way K-shot" </strong>。</p>



<ul class="wp-block-list">
<li>根据论文的描述 ，你能试着解释一下‘N-way’（N元）和‘K-shot’（K样本）分别代表什么意思吗？</li>



<li>“N-way” (N元) 指的就是 N 个不同的类别（比如 N 种不同的植物病害）；K-shot 是 <strong>每个</strong> 类别有多少个样本。</li>
</ul>



<p>“5-way”指的是5个不同的类别（例如“苹果黑星病”、“玉米锈病”等）。“1-shot”指的是每个类别只有一个带标签的样本。因此，“N-way K-shot”是少样本学习的框架，它定义了模型需要学习的类别数量（N）以及每个类别的样本数量（K）。</p>



<p>现在我们理解了问题（需要从少量样本中学习），接下来让我们看看现有的解决方案及其局限性。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">1.2 <strong>现有的“少样本学习”方法有什么问题？</strong></h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Significant progress has been made in this area, primarily through three approaches: <strong>data augmentation</strong>[1], <strong>meta-learning</strong>[2] and <strong>transfer learning[3]</strong>. </p>
</blockquote>



<p>论文提到了三种主要方法：数据增强[1]、元学习[2]和迁移学习[3]。论文指出这些方法存在哪些挑战或问题，尤其是在植物病害方面？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>however, most of these methods require<strong> pretraining </strong>within the relevant domain.</p>



<p>In recent years, few-shot learning based on transfer learning for plant disease classification has typically employed a two-stage strategy: first, learning general feature representations on<strong> a large number of relevant source sets</strong> and then fine-tuning on target sets to generate specific feature representations for subsequent prediction tasks.</p>



<p>However, these methods require a large amount of data and computational resources to train the feature extractor, and they often struggle with challenges such as class imbalance and domain shift, which hinder their <strong>generalization performance</strong>.</p>
</blockquote>



<p>迁移学习的大多数方法都要进行与训练，先在大量相关的源数据集上学习通用特征表示，然后再在目标数据集上进行微调，生成用于后续预测任务的特定特征表示。然而因为这些方法需要大量的数据和计算资源来训练特征提取器，并且常常面临不平衡和领域偏移的挑战，从而影响了其泛化性能。</p>



<p>这正是论文指出的关键问题：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Hepsag et al. [21] proposed refining a model initially trained on ImageNet [22] with PlantCLEF2022 [23], which includes nearly 4 million images across 80,000 categories, to extract embeddings. They then trained a support vector machine, yielding an accuracy of 88.4 % in a “38-way 10-shot” scenario. </p>
</blockquote>



<ol class="wp-block-list">
<li><strong>需要大量数据和计算资源：</strong>传统的迁移学习（transfer learning）通常需要一个庞大的、相关的源数据集（比如<strong> PlantCLEF2022</strong>，一个包含近400万张图像的数据集）来进行第一阶段的预训练 。</li>



<li><strong>泛化性能受限：</strong>它们常常难以应对类别不平衡和“领域偏移”（domain shift）—— 比如，在实验室拍的叶子和在野外拍的叶子长得不一样 。</li>
</ol>



<p>这篇论文正是抓住了这个痛点，提出了一个替代方案。</p>



<p>既然传统的迁移学习有这些问题，论文是受到了什么新技术的启发，从而采用了不同的方法呢？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Inspired by the remarkable performance of foundation models such as CLIP [28] and DINO [29] in zero-shot and few-shot learning, we adopt existing large models to generate embeddings for samples in this work,thus alleviating the need for extensive data and limiting computational costs.</p>



<p>作者受到了CLIP和DINO等基础模型在零样本和少样本学习中卓越表现的启发，用大模型来生成样本的嵌入，从而减轻了对大量数据的需求并限制了计算成本。</p>
</blockquote>



<p>但论文随后指出了一个问题。你不能直接将像CLIP这样的通用模型“开箱即用”地应用于像植物病害这样高度具体的任务，并期望获得完美的结果。</p>



<p>论文指出，这些基础模型在应用于农业领域时存在哪些局限性或挑战？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>However, existing foundation models have clear limitations in the agricultural field, such as <strong>mismatched datasets and poor generalization in agricultural scenarios,</strong> necessitating adjustments to address these issues.</p>
</blockquote>



<p>这篇论文要解决的核心矛盾：</p>



<ol class="wp-block-list">
<li>基础模型（Foundation Models）很强大，可以帮我们省去预训练。</li>



<li>但它们既不是为农业“量身定做”的（数据集不匹配、泛化能力差），也不能直接“暴力”微调（参数太多，容易过拟合）。</li>
</ol>



<p>这就引出了一个关键问题：我们如何在不“完全微调”整个庞大模型的前提下，让它“适应”我们的植物病害识别任务呢？</p>



<p>论文中提到了一个解决这类问题的通用策略，你知道是什么吗？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>To address these challenges, several adapter-based methods have been proposed [32], which quickly adapt pretraining models to downstream tasks by introducing a few learnable parameters.</p>



<p>Trans:提出几种基于适配器的方法，通过引入一些可学习的参数，快速将预训练模型适应下游任务</p>
</blockquote>



<p>这就是论文提到的解决方案：<strong>基于适配器（adapter-based methods）</strong>的方法 。</p>



<p>这种方法非常巧妙，它不是去“完全微调”（full fine-tuning）那个拥有亿万参数的基础模型，而是“冻结”基础模型的绝大部分参数，只引入一些非常少量的、可学习的新参数（即“适配器”），让模型快速适应下游的新任务（比如我们的植物病害识别） 。</p>



<p>这既利用了基础模型的强大能力，又避免了过拟合和高昂的训练成本。</p>



<p>现在我们已经清楚了研究背景和挑战：</p>



<ul class="wp-block-list">
<li><strong>问题：</strong>识别植物病害缺乏大量数据 。</li>



<li><strong>方向：</strong>采用“少样本学习”（few-shot learning）。</li>



<li><strong>挑战：</strong>传统少样本方法需要领域预训练 ，而通用的“基础模型”（如 CLIP）直接用效果不好，且微调困难 。</li>



<li><strong>策略：</strong>使用“适配器”（Adapter）来高效地微调基础模型 。</li>
</ul>



<p>接下来，我们就应该聚焦于这篇论文的核心方法了：</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">2.核心方法</h2>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>核心方法 (PlantCaFo)：看看这篇论文具体设计了什么样的适配器来解决问题。论文图1和摘要中提到了两个关键模块：</p>



<ol class="wp-block-list">
<li><strong>DCon-Adapter (轻量级扩张上下文适配器)</strong></li>



<li><strong>WDM (权重分解矩阵)</strong></li>
</ol>
</div></div>



<h2 class="wp-block-heading">2.1 <strong>DCon-Adapter (轻量级扩张上下文适配器)</strong></h2>



<p>这是一个非常关键的模块。还记得我们刚才讨论过，直接微调整个 CLIP 这样的大模型很容易在少样本数据上“过拟合” (overfitting) 吗？</p>



<p>DCon-Adapter 就是为了解决这个问题而设计的。它是一个“轻量级”的模块 ，意味着它只有很少的参数需要训练。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>It consists of four layers<strong>: the first layer is a dilated convolution layer, which captures global features by expanding the receptive field, which is[【好处】particularly useful for handling complex backgrounds in plant disease recognition tasks</strong>]; the second layer is a batch normalization (BN) layer, which standardizes feature distributions to accelerate training and improve stability; the third layer uses the ReLU activation function, which introduces nonlinearity to enhance learning capacity and offers computational efficiency due to its simple derivative, accelerating the backpropagation process; and the fourth layer is a standard convolution layer, which is used to refine local features, further improving the model's classification ability in few-shot settings.</p>
</blockquote>



<p>这个适配器由四层结构组成 。论文特别强调了它的第一层，它不是一个普通的卷积层，而是一个<strong>“扩张卷积” (dilated convolution) 层</strong> 。</p>



<p>根据论文 2.4.1 节的描述，使用这种“扩张卷积”对于识别植物病害任务有什么特别的好处？</p>



<p>使用“扩张卷积”（dilated convolution）的好处就是为了捕捉全局特征。</p>



<p>在识别植物病害时，模型不仅要看叶片上的病斑（局部特征），还要能理解叶片在整个复杂背景（如其他叶子、树枝、土壤）中的情况（全局特征）。扩张卷积能帮助模型“看得更广”，而不仅仅是“盯住”一个小区域。</p>



<p><strong>下一步：融合知识</strong></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Moreover, we use residual connections to blend new information learned by DCon-Adapter with pretraining prior knowledge.</p>
</blockquote>



<p>在DCon-Adapter处理完特征后，论文在 2.4.1 节末尾和图 5(A) 中展示了一个关键操作：它通过“残差连接”（residual connections）将 DCon-Adapter 学到的新特征 (f<sub>g</sub>) 与 CLIP 原始的特征 (f<sub>CLIP</sub>) 结合起来。为什么要这么做？为什么不<em>只</em>使用 DCon-Adapter 学到的新特征，而是要费力地把它和原始特征加在一起呢？</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="672" height="410" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-30.png" alt="" class="wp-image-3786" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-30.png 672w, https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-30-300x183.png 300w" sizes="auto, (max-width: 672px) 100vw, 672px" /></figure>
</div>


<details class="wp-block-details is-layout-flow wp-block-details-is-layout-flow"><summary>【知识补充】什么是残差连接</summary>
<p>残差连接（Residual Connection）是一种常用于深度神经网络中的结构，特别是在深度卷积神经网络（CNN）中。它的核心思想是引入“跳跃连接”（skip connection），即将输入直接传递到更深的网络层，绕过一些中间层的计算，然后与该层的输出相加。这种结构帮助网络在训练过程中减少梯度消失和梯度爆炸的问题，并且可以加速网络的收敛。</p>



<p>在传统的深层神经网络中，随着层数的增加，信息在向深层传播的过程中可能会逐渐丢失或变得难以传递。残差连接通过直接将输入添加到输出中，保留了原始输入信息，使得网络能够更加有效地训练和优化。这种方式最早被引入于ResNet（Residual Network），在ResNet中，残差块（Residual Block）利用这种连接结构来有效地训练非常深的网络。</p>



<p>简单来说，残差连接的作用是通过“跳过”某些层，允许信息从网络的前面传递到更后面的层，这使得深度神经网络能够学习到更有效的特征，同时防止训练过程中出现的性能下降问题。</p>
</details>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This approach ensures adaptation to new tasks without losing prior knowledge</p>



<p>Trans:这种方法能确保在适应新任务时不会丢失先前的知识。</p>
</blockquote>



<p>这就是“残差连接” (residual connections) 的核心思想：确保在适应新任务（学习新知识 <em>f</em><sub><em>g</em></sub>）时，不会丢失基础模型中宝贵的“先验知识” (<em>f<sub>CLIP</sub></em>) 。这种“新旧融合”的方式，让模型既能适应农业病害这个特定领域，又保留了 CLIP 模型本身强大的泛化能力。我们已经清楚 DCon-Adapter 是如何强化“图像特征”的了。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>To guarantee that prior knowledge is not neglected, these new features are combined with the original features f<sub>CLIP</sub> ∈ R<sup>1* C</sup> extracted by the CLIP image encoder via a residual connection. </p>
</blockquote>



<p>接下来，我们可以看看论文提出的第二个模块 WDM（权重分解矩阵），它是如何优化“文本特征”的 。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">2.2 WDM（权重分解矩阵）</h2>



<p>我们已经知道 DCon-Adapter 负责优化“图像特征” <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f5bc.png" alt="🖼" class="wp-smiley" style="height: 1em; max-height: 1em;" />。而 WDM 则是用来优化“文本特征” <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f521.png" alt="🔡" class="wp-smiley" style="height: 1em; max-height: 1em;" />。</p>



<p>论文在 2.4.2 节 中提出了一个很关键的类比：</p>



<ul class="wp-block-list">
<li>在传统的图像分类中，模型是将“图像特征”与“分类器权重”相乘来得到分数。</li>



<li>而在 CLIP 模型中，模型是将“图像特征”与“文本特征”（或称为“提示词嵌入”）进行比较来得到分数。</li>
</ul>



<p>根据这个类比，论文认为 CLIP 中的“文本特征”在功能上扮演了什么角色？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>In deep neural networks, image classification is typically achieved by multiplying the image features with the classifier weights, resulting in a score matrix. This matrix is then transformed into a probability matrix via the SoftMax function [58], with the class label being determined by the index corresponding to the maximum value in the matrix. In CLIP, a similarity matrix is computed between image features and text features for each class. The class label is determined by the text with the highest similarity to the image. A comparison reveals that the embeddings extracted by the text encoder function similarly to those extracted by the classifier in image classification. Therefore, the prompt embeddings can be understood as the weights of the classifier.</p>



<p>Trans:在深度神经网络中，图像分类通常通过将图像特征与分类器权重相乘来实现，从而生成一个分数矩阵。该矩阵随后通过SoftMax函数[58]转换为概率矩阵，类别标签由矩阵中最大值对应的索引决定。在CLIP模型中，系统会为每个类别计算图像特征与文本特征之间的相似度矩阵。类别标签由与图像相似度最高的文本确定。对比发现，文本编码器提取的嵌入向量与分类器在图像分类中提取的嵌入向量具有相似性。因此，提示词嵌入可理解为分类器的权重参数。</p>
</blockquote>



<p>论文就是这么看的：CLIP 里的“提示词嵌入”（text embeddings）功能上就像是分类器的“权重” 。</p>



<p>那么，既然在少样本任务中，我们不想（也不能）去微调整个庞大的模型，而且我们又想调整这些“权重”让它们更适应我们的任务，这就会导致一个什么问题呢？（提示：想想“参数”和“过拟合”的关系）</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Importantly, excessive parameters can lead to overfitting in few-shot tasks.</p>



<p>Trans:值得注意的是，参数过多容易导致少样本任务出现过拟合现象。</p>
</blockquote>



<p>如果我们直接微调 CLIP 的“文本特征”（提示词嵌入），就要调整大量的参数。而在“少样本”任务中，可训练的参数太多，样本太少，就极易导致过拟合。为了解决这个问题，论文就引入了 WDM（权重分解矩阵）。它采用了一种巧妙的“降维”思想 ：</p>



<ol class="wp-block-list">
<li>它不去直接学习一个巨大的、完整的可训练矩阵 M。</li>



<li>而是学习两个更小的“低秩矩阵” A 和 B，使得 M = A * B。</li>
</ol>



<p>通过这种方式，需要学习的参数总量被大大减少了。</p>



<p>我们已经了解了两个核心模块：</p>



<ul class="wp-block-list">
<li>DCon-Adapter：通过残差连接，在不丢失先验知识的前提下，强化“图像特征”。</li>



<li>WDM：通过低秩分解，用很少的参数高效地微调“文本特征”。</li>
</ul>



<p>这两个模块协同工作，使得 PlantCaFo 能够在不微调整个大模型的情况下，高效地适应植物病害识别任务。</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">3.实验结果</h2>



<p>我们来看看实验结果 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ca.png" alt="📊" class="wp-smiley" style="height: 1em; max-height: 1em;" />。</p>



<p>论文在几个数据集上测试了 PlantCaFo，主要是在 "N-way K-shot" 设置下比较准确率。</p>



<p>我们可以从几个方面来看：</p>



<ol class="wp-block-list">
<li>主要性能对比：在 PlantVillage 和 Cassava 数据集上，PlantCaFo 和其他方法（如 CaFo-Base, Tip-Adapter-F）的准确率对比（图7，表2和表3）。</li>



<li>模块贡献分析（消融实验）：DCon-Adapter 和 WDM 这两个模块到底各自提升了多少性能（表7）？</li>



<li>泛化能力：模型在“分布外”数据集（PDL）上的表现如何（表6）？</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">3.1主要性能对比</h2>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="717" height="314" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-31.png" alt="" class="wp-image-3799" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-31.png 717w, https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-31-300x131.png 300w" sizes="auto, (max-width: 717px) 100vw, 717px" /></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="363" height="294" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-32.png" alt="" class="wp-image-3800" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-32.png 363w, https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-32-300x243.png 300w" sizes="auto, (max-width: 363px) 100vw, 363px" /></figure>
</div>


<p>"PlantCaFo*" (带星号的版本) 是在 PlantCaFo 的基础上，额外使用了两种数据增强（data augmentation）技术进行训练的版本，具体来说就是 Mixup 和 CutMix 。</p>



<p>在表2中，PlantCaFo* 的准确率 (94.23%) 甚至比 PlantCaFo (93.53%) 还要高 。</p>



<p>论文在 2.5 节（图6）专门解释了这两种技术。</p>



<p>Mixup 和 CutMix 都是数据增强技术，用来“凭空”创造更多的训练样本。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Mixup is a data augmentation technique based on linear interpolation. It generates new samples by linearly interpolating two different training examples in a batch, along with their labels</p>



<p>CutMix involves cropping out sections of an image and randomly filling them with regions from other images in the training set. Labels are allocated proportionally. Mixup uses information from the entire image to merge two images, whereas CutMix mixes images by cropping and pasting parts of the image.</p>
</blockquote>



<ul class="wp-block-list">
<li><strong>Mixup：</strong>它通过线性插值（linear interpolation）来混合两张不同的图像及其标签 。简单说，就是把两张图片“叠”在一起，一张占 70% 透明度，另一张占 30%（这个比例是随机的 ），标签也按这个比例混合。</li>



<li><strong>CutMix：</strong>它会从一张图像中“剪切”出一块区域，然后“粘贴”到另一张图像上，标签也按剪切粘贴的面积比例来分配 。</li>
</ul>



<p>论文在 2.5 节中分别解释了这两种方法为什么有益。例如，Mixup 能“引入噪声和干扰，以增加模型的鲁棒性” 。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Mixup but uses a parameter to control the cropping size. CutMix requires the model to recognize objects from a local view and adds information from other samples into the cropped region, which can enhance the localization ability of the model and improve its classification performance.</p>



<p>Trans:Mixup虽采用参数控制裁剪尺寸，但CutMix模型需先识别局部视图中的物体，并将其他样本信息融入裁剪区域，这种机制能增强模型的定位能力，从而提升分类性能。</p>
</blockquote>



<p>CutMix 通过这种“剪切粘贴”的方式，迫使模型从一个局部视图（a local view）中识别物体，并且在剪切区域加入了其他样本的信息 。这就能增强模型的定位能力（localization ability），从而提升分类性能 。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The incorporation of Mixup and CutMix augmentations further boosts the model's performance by enhancing its ability to generalize across different plant disease types, which likely contributes to the increased performance in the PlantCaFo* variant.</p>



<p>混合增强和剪切增强的整合通过增强模型在不同植物病害类型上的泛化能力，进一步提升了其性能表现，这可能是PlantCaFo*变体性能提升的关键因素。</p>
</blockquote>



<p>所以，"PlantCaFo*" (带星号的版本) 就是通过综合运用 Mixup 和 CutMix 这两种数据增强方法，进一步提升了模型的鲁棒性和性能 。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">3.2 模块贡献分析（消融实验）</h2>



<p><strong>表 7 (Table 7)</strong>就是“消融实验”（Ablation studies）。</p>



<p>这种实验就像是“搭积木”和“拆积木”，通过“添加”或“移除”模型的某个组件，来看看它对最终性能（准确率）有多大贡献。</p>



<p>让我们来做一个对比。请看表 7：</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="703" height="155" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-33.png" alt="" class="wp-image-3801" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-33.png 703w, https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-33-300x66.png 300w" sizes="auto, (max-width: 703px) 100vw, 703px" /></figure>
</div>


<ul class="wp-block-list">
<li>第 1 行：是基线模型（CaFo-Base）。</li>



<li>第 3 行：是基线模型 + DCon-Adapter。</li>



<li>第 4 行：是基线模型 + WDM。</li>
</ul>



<ul class="wp-block-list">
<li>DCon-Adapter（为图像特征添加新参数）在 1-shot 和 2-shot 时表现不佳，但随着样本增加（4, 8, 16-shot），它的性能提升非常明显 。</li>



<li>WDM（为文本特征添加新参数）在 1-shot 和 2-shot 时表现相对更好 。</li>
</ul>



<p>论文在 3.3.1 节中也提到了这一点，即当样本数量非常少（例如 1 或 2 个样本）时，这些带有可训练参数的模块的能力会受到限制 。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>however, this combination may be limited when the number of samples is small (e.g., 1 or 2 samples) because of the learning ability of the trainable parameters.</p>
</blockquote>



<ul class="wp-block-list">
<li>考虑到 DCon-Adapter 是一个需要 学习 新知识的模块，为什么当它只有 1 或 2 个样本时，表现会反而不如 WDM 呢？
<ul class="wp-block-list">
<li>因为样本太少所以学习的能力有限</li>
</ul>
</li>
</ul>



<p>一个模块（如 DCon-Adapter）被设计用来学习新的视觉特征，但当它只有 1 或 2 个样本时，它没有足够的信息来有效学习。这就像是让你只看一张照片就学会识别一种你从未见过的复杂病害。</p>



<p>论文也提到了这个局限：“this combination may be limited when the number of samples is small (e.g., 1 or 2 samples) because of the learning ability of the trainable parameters” 。</p>



<ul class="wp-block-list">
<li>不过，我们之前讨论过一个解决方案。请再看一下 表 7 的最后一行（AG 列），论文引入了什么方法来解决了这个问题，使得模型在 1-shot 和 2-shot 上的性能也得到了提升？
<ul class="wp-block-list">
<li>就是 AG（Data Augmentation，数据增强）。</li>
</ul>
</li>
</ul>



<p>还记得我们之前讨论过的 Mixup 和 CutMix 吗？它们通过“混合”和“剪切”图像来创造新的训练样本。</p>



<p>当 DCon-Adapter 只有 1 或 2 个真实样本时，它很难学习 ；但数据增强技术（AG）给它提供了更多“人造”的样本进行练习，这有效地解决了样本太少、学习能力有限的问题 。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Finally, this issue has been effectively addressed by introducing data augmentation techniques.</p>
</blockquote>



<p>我们已经分析了：</p>



<ol class="wp-block-list">
<li>主要性能：PlantCaFo 优于基线模型。</li>



<li>消融实验：DCon-Adapter 和 WDM 确实有效，并且数据增强（AG）解决了小样本下的学习限制。</li>
</ol>



<p>实验部分还剩下一个关键问题：泛化能力。</p>



<p>模型在训练集（PlantVillage）上表现好是一回事，但如果把它用在一个它从未见过的新数据集（“分布外”数据集 PDL）上，它还能用吗？</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">3.3 泛化能力</h2>



<p>我们来看<strong>表 6 (Table 6)</strong>，这是关于“泛化能力”（Generalization ability）的实验。</p>



<p>这个实验设置是这样的：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The models are trained on PlantVillage (source domain) with “8-way 4-shot”, “8-way 8-shot”, “8-way 16-shot”, “13-way 4-shot”, “13-way 8-shot” and “13-way 16-shot” settings and then tested on split1 and split2 of PDL.</p>
</blockquote>



<ul class="wp-block-list">
<li><strong>训练（源域）：</strong>模型在 PlantVillage 数据集上训练 。</li>



<li><strong>测试（目标域）：</strong>然后在 PDL 数据集上测试。PDL 是一个“分布外”（out-of-distribution）数据集，意味着它的数据分布和 PlantVillage 不一样（比如背景更复杂、拍摄场景不同）。</li>
</ul>



<p>PDL 数据集被分成了两部分 ：</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>To evaluate the generalization ability of our model, we conduct ex-periments using an out-of distribution dataset (PDL). We divide PDL into split1 and split2, as shown in Table 5. Split1 consists of multiple diseases from a single plant species, whereas split2 includes multiple diseases from various plant species. </p>
</blockquote>



<p>split1：只包含多种番茄的病害（同一物种，不同病害）。</p>



<p>split2：包含苹果、玉米、葡萄等多种作物的病害（不同物种，不同病害）。</p>



<p>现在请看表 6，在 split1（番茄）上，我们的 PlantCaFo 和 PlantCaFo* 与基线模型 (CaFo-Base) 相比，表现如何？</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="345" height="134" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-34.png" alt="" class="wp-image-3805" style="width:565px;height:auto" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-34.png 345w, https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-34-300x117.png 300w" sizes="auto, (max-width: 345px) 100vw, 345px" /></figure>
</div>


<p>在 split1（番茄数据集）上，PlantCaFo 和 PlantCaFo* 相比基线模型 (CaFo-Base) 有非常显著的提升。</p>



<p>这表明，当模型需要泛化到“同一种类、不同病害”的任务时（都是番茄），我们的新模块（DCon-Adapter 和 WDM）非常有效。</p>



<p>现在，我们来看看更有挑战性的 split2（包含苹果、玉米、葡萄等）。</p>



<ul class="wp-block-list">
<li>在 split2 上，PlantCaFo 和 PlantCaFo* 的表现与基线 (CaFo-Base) 相比又如何呢？
<ul class="wp-block-list">
<li>除了16shot比基线模型好，4和8shot都比基线模型差</li>
</ul>
</li>
</ul>



<p>这正是一个非常关键且反直觉的发现。在 split2（多物种）上，我们的模型在 4-shot 和 8-shot 设置下，表现不如基线模型 CaFo-Base 。</p>



<p>论文在 3.2.3 节中专门讨论了这个现象。作者将其归因于训练数据（PlantVillage）和 split2 测试数据之间的巨大差异。</p>



<p>根据论文的分析，split2 的数据与用于训练的 PlantVillage 数据集相比，有什么关键的差异，导致了这种性能差距？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This performance gap can be attributed to <strong>the domain shift</strong> and <strong>the more complex backgrounds present</strong> in split2 than in the simpler PlantVillage dataset (Fig. 2A) used for training</p>
</blockquote>



<p>论文明确指出，split2 具有比 PlantVillage 数据集更复杂的背景，种类也更多了！</p>



<p>Split1 只有番茄 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f345.png" alt="🍅" class="wp-smiley" style="height: 1em; max-height: 1em;" />，而 split2 包含了苹果 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f34e.png" alt="🍎" class="wp-smiley" style="height: 1em; max-height: 1em;" />、玉米 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f33d.png" alt="🌽" class="wp-smiley" style="height: 1em; max-height: 1em;" />、葡萄 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f347.png" alt="🍇" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 等多种作物。</p>



<p>论文在 3.2.3 节 中分析，正是因为 “领域偏移”（domain shift） 和 “更复杂的背景” 这两大因素，导致了模型在 split2 上的泛化挑战。</p>



<p>简单来说，模型在背景相对简单的 PlantVillage 数据集上训练后，再去识别背景同样简单的番茄（split1），表现很好。但是当它面对背景复杂、作物种类又完全不同的 split2 时，就遇到了困难。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>While split1 contains diseases with relatively more consistent features, split2 introduces additional variability that poses a challenge for models trained on simpler datasets. </p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">4.结论和未来工作展望</h2>



<h2 class="wp-block-heading">4.1结论</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Our approach incorporates several key components: (1) a DCon-Adapter to enhance image feature representation, (2) a WDM to promote image-text interaction, and (3) the application of PlantCaFo and PlantCaFo* in practical scenarios demonstrates the effectiveness of the first two proposed methods.</p>



<p>Trans:我们的方法包含三个核心组件：(1)aDCon适配器用于提升图像特征表征质量，(2)WDM技术促进图像与文本的交互作用，(3)在实际场景中应用PlantCaFo和PlantCaFo*验证了前两种方法的有效性。</p>
</blockquote>



<p>在作者总结了他们的主要贡献（例如 DCon-Adapter 和 WDM ）之后，他们接着在第二段中坦率地指出了这个方法的“局限性”（limitations）。</p>



<p>这与我们刚才讨论的在 split2 数据集上的泛化挑战是完全一致的。根据论文的说法，尽管 PlantCaFo 在受控环境中表现强劲，但它在什么情况下能力会受到限制？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>However, there are certain limitations to our approach. While PlantCaFo demonstrates strong performance in controlled environments, its ability to generalize to <strong>highly diverse and complex agricultural scenarios may be limited</strong> because of the inherent challenges in <em>handling variations in plant disease appearance</em> and<em> image quality</em>. The use of the DCon-Adapter, while improving the feature extraction process, still faces difficulties in capturing all fine-grained disease patterns across different plant species. Additionally, although our approach works effectively on out-of-distribution datasets, <strong>the performance gap between different datasets, especially those with complex backgrounds or rare diseases, suggests that further improvements in model robustness are needed</strong>.</p>



<p>Trans:不过，我们的方法仍存在一些局限性。虽然PlantCaFo在受控环境中表现优异，但由于处理植物病害外观和图像质量差异的固有挑战，其在高度多样化和复杂的农业场景中的泛化能力可能受限。尽管使用DCN适配器改进了特征提取过程，但在捕捉不同植物物种的细粒度病害模式时仍面临困难。此外，虽然我们的方法在分布外数据集上表现良好，但不同数据集（尤其是具有复杂背景或罕见病害的数据集）之间的性能差距表明，仍需进一步提升模型的鲁棒性。</p>
</blockquote>



<p>这正是论文在结论中指出的核心局限性：</p>



<ol class="wp-block-list">
<li>复杂场景的泛化能力受限：特别是在处理高度多样化和复杂的农业场景时 。</li>



<li>数据集之间的性能差距：就像我们看到的，模型在 PlantVillage 和 PDL split2 上的表现差异很大 。</li>
</ol>



<p>为了解决这些局限性，论文在结论的最后部分提出了三个“未来工作”的方向 。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">4.2未来工作展望</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>We propose several potential directions for future work: (1)<strong>Designing hierarchical models:</strong> For complex plant disease recognition tasks, a hierarchical model architecture can be designed to classify plants and diseases at different levels. The first layer can perform coarse classification (e.g., plant type recognition), whereas the second layer can further identify specific diseases. (2) <strong>Designing specialized adapters for different plant disease categories:</strong> Future work could explore the design of multiple, task-specific adapters for plant disease recognition. By categorizing plant diseases into broader groups, distinct adapters can be tailored for each category, enabling the model to learn more specialized features. This modular approach may improve the performance on diverse disease types and enhance the model's ability to generalize across different categories. (3) <strong>Designing an adapter trained via meta-learning:</strong> By leveraging the concept of meta-learning, an adapter that can adapt quickly to few-shot tasks can be designed. Through training on multiple tasks, the meta-learning model can learn how to adjust the adapter's parameters more effectively, thereby demonstrating stronger adaptability and generalization abilities for new plant disease tasks.</p>



<p>我们提出未来研究的若干潜在方向：(1)设计层次化模型架构：针对复杂的植物病害识别任务，可构建分层模型架构，实现不同层级的植物与病害分类。第一层可进行粗分类（如植物类型识别），第二层则能进一步识别特定病害。(2)开发针对不同病害类别的专用适配器：未来研究可探索为植物病害识别设计多个任务专用适配器。通过将植物病害归类为更广泛的类别，可为每个类别定制专属适配器，使模型能学习更专业的特征。这种模块化设计有望提升对多种病害类型的识别性能，并增强模型跨类别泛化能力。(3)构建元学习训练的适配器：利用元学习概念，可设计出能快速适应少样本任务的适配器。通过多任务训练，元学习模型能更有效地调整适配器参数，从而在新型植物病害识别任务中展现出更强的适应性和泛化能力。</p>
</blockquote>



<h2 class="wp-block-heading">4.2.1设计层次化模型架构</h2>



<p>论文中提到，这种架构可以分层分类：</p>



<ul class="wp-block-list">
<li>第一层 (Coarse)：先执行粗分类（例如，识别植物类型，是苹果还是番茄）。</li>



<li>第二层 (Fine)：再识别特定疾病（例如，是早疫病还是晚疫病）。</li>
</ul>



<p>回想一下我们在泛化实验（表6）中看到的难题：当模型（在番茄、土豆等上训练）突然遇到一个全新的物种（如 split2 中的苹果或玉米）时，它的表现就下降了 。</p>



<p>你认为，一个“层次化”的模型，先把任务分解为：</p>



<ol class="wp-block-list">
<li>识别这是“苹果”</li>



<li>识别苹果得了“什么病”</li>
</ol>



<ul class="wp-block-list">
<li>这种方式是如何帮助解决那个“泛化难题”的呢？
<ul class="wp-block-list">
<li>解决了多物种情况下识别不准确的问题</li>
</ul>
</li>
</ul>



<p>它之所以能解决这个问题，是因为它把一个非常复杂的“一步到位”的任务（比如在38个类别中同时识别“物种”和“病害”）分解成了两个更简单、更清晰的任务 ：</p>



<ol class="wp-block-list">
<li>这是什么植物？（番茄？苹果？还是玉米？）</li>



<li>这个植物得了什么病？（早疫病？还是晚疫病？）</li>
</ol>



<p>这种“分而治之”的策略 ，让模型可以先专注于识别“植物的整体特征”，确定物种后，再调用一个专门识别“该物种病害特征”的子模型。这使得模型更加鲁棒，也更容易泛化到新的物种和病害上。</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading">4.2.2 开发针对不同病害类别的专用适配器</h2>



<p>这个想法是，未来的研究可以探索设计多个、针对特定任务的适配器，而不是像现在这样用一个适配器（DCon-Adapter）来处理所有的病害 。</p>



<p>具体的实现思路是：</p>



<ol class="wp-block-list">
<li>分类：先把植物病害分成几个更广泛的组（broader groups） 。</li>



<li>定制：然后，为每个组“量身定做”一个专门的适配器 。</li>
</ol>



<p>作者认为，这种“模块化”的方法有两个主要好处：</p>



<ul class="wp-block-list">
<li>能让模型为每个类别学习到更专业的特征 。</li>



<li>可能会提高模型在处理多种不同疾病类型时的性能，并增强其在不同类别间的泛化能力 。</li>



<li></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<h2 class="wp-block-heading">4.2.3 构建元学习训练适配器</h2>



<p>“元学习”的核心思想是“学会如何学习”。</p>



<p>在这篇论文的设想中，不是像现在这样在一个“大”任务上（比如 PlantVillage）训练 DCon-Adapter，而是让模型在“大量、不同”的少样本任务上进行训练 。</p>



<p>例如，模型会练习：</p>



<ul class="wp-block-list">
<li>任务1：从2张“苹果黑星病”和2张“苹果锈病”图片中学会区分它们。</li>



<li>任务2：从2张“玉米锈病”和2张“玉米灰斑病”图片中学会区分它们。</li>



<li>任务3：……（以此类推，成百上千个小任务）</li>
</ul>



<p>通过在这么多不同的“少样本任务”上进行训练，这个适配器会变得非常擅长“快速适应” 。</p>



<ul class="wp-block-list">
<li>与我们当前研究的 DCon-Adapter（在一个任务上训练）相比，你认为这种“元学习”训练出来的适配器，在遇到一种全新的植物病害（比如一种它从未见过的豆类病害）时，会有什么优势？
<ul class="wp-block-list">
<li>能迅速将这个病害判断成新的一类</li>
</ul>
</li>
</ul>



<p>我们当前的 DCon-Adapter 擅长识别它已经<em>学过</em>的病害。而“元学习”适配器（在许多任务上训练过）的核心优势在于它“学会了如何学习”。</p>



<ul class="wp-block-list">
<li>根据论文 ，当它遇到一个全新的病害时，这种“学会学习”的能力让它在“适应”这个新任务时有什么关键优势？
<ul class="wp-block-list">
<li>展现出更强的适应性和泛化能力</li>
</ul>
</li>
</ul>



<p>这正是“元学习”的核心优势：通过在大量不同任务上“学会如何学习”，它在面对全新的病害任务时，能够展现出更强的适应能力和泛化能力 。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>P5103081-植物病害识别练习项目</title>
		<link>https://www.leexinghai.com/aic/p5103081-%e6%a4%8d%e7%89%a9%e7%97%85%e5%ae%b3%e8%af%86%e5%88%ab%e7%bb%83%e4%b9%a0%e9%a1%b9%e7%9b%ae/</link>
		
		<dc:creator><![CDATA[李星海]]></dc:creator>
		<pubDate>Thu, 30 Oct 2025 07:57:55 +0000</pubDate>
				<category><![CDATA[项目库]]></category>
		<category><![CDATA[第4次组会后工作内容]]></category>
		<guid isPermaLink="false">https://www.leexinghai.com/aic/?p=3778</guid>

					<description><![CDATA[0.项目来源 本项目Github地址为: GitHub - spytensor/plants_disease_ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading has-text-align-center">0.项目来源</h2>



<p>本项目Github地址为:</p>



<p><a href="https://github.com/spytensor/plants_disease_detection">GitHub - spytensor/plants_disease_detection: Ai Challenger 2018 Competitions 农作物病害检测</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading has-text-align-center">1.必要准备</h2>



<p>数据集 <a href="https://pan.baidu.com/share/init?surl=6f1nQchS-zBtzSWn9Guyyg">百度网盘 请输入提取码</a> 提取码：<strong>iksk</strong></p>



<p>下载项目：<code>git clone https://github.com/spytensor/plants_disease_detection.git</code></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading has-text-align-center">2.环境配置</h2>



<h2 class="wp-block-heading">2.1硬件环境配置</h2>



<p>显卡：Nvidia Geforce RTX5090 @ 32GB * 1 </p>



<h2 class="wp-block-heading">2.2软件环境配置</h2>



<p>Linux：Ubuntu 24.04LTS（WSL2）</p>



<p>Anaconda：最新版本</p>



<p>CUDA：13.0</p>



<p>Python version info: 3.10.19 (main, Oct 21 2025, 16:43:05) [GCC 11.2.0]<br>PyTorch version info: 2.10.0.dev20251026+cu130</p>



<h2 class="wp-block-heading">2.3环境配置详细过程</h2>



<p>第一步：将测试集图片复制到 <code>data/test/</code> 下 </p>



<p>本步骤注意事项：将图片复制到test文件夹下即可（打开test文件夹应当显示一大堆图片）。<em>如果把images文件夹复制过来了，需要在根目录下的config.py中修改</em> <code>test_data="./data/test/images/"</code></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="301" height="325" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-27.png" alt="" class="wp-image-3780" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-27.png 301w, https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-27-278x300.png 278w" sizes="auto, (max-width: 301px) 100vw, 301px" /></figure>
</div>


<p>第二步：将训练集合验证集中的图片都复制到 <code>data/temp/images/</code> 下，将两个 <code>json</code> 文件放到 <code>data/temp/labels/</code> 下</p>



<p>（训练集和验证集图片位置图参考上面）</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="273" height="231" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-29.png" alt="" class="wp-image-3782"/></figure>
</div>


<p>执行 move.py 文件</p>



<pre class="wp-block-code"><code>python move.py</code></pre>



<p>执行 main.py 进行训练</p>



<pre class="wp-block-code"><code>python main.py</code></pre>



<h2 class="wp-block-heading has-text-align-center">3.模型效果</h2>



<p><br>|------------ VALID -------------|----------- TRAIN -------------|------Accuracy------|------------|</p>



<p>lr iter epoch | loss top-1 top-2 | loss top-1 top-2 | Current Best | time |</p>



<p>0.0000 39.0 39.0 | 0.313 87.682 99.209 | 0.279 88.877 99.128 | <strong>87.957344</strong> | 5 hr 31 min</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="410" src="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-16-1024x410.png" alt="" class="wp-image-3779" srcset="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-16-1024x410.png 1024w, https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-16-300x120.png 300w, https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-16-768x307.png 768w, https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-16-1536x615.png 1536w, https://www.leexinghai.com/aic/wp-content/uploads/2025/10/image-16.png 1746w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>工作准备-可行性论证和领域最新文献[免予公开]</title>
		<link>https://www.leexinghai.com/aic/%e5%b7%a5%e4%bd%9c%e5%87%86%e5%a4%87-%e5%8f%af%e8%a1%8c%e6%80%a7%e8%ae%ba%e8%af%81%e5%92%8c%e9%a2%86%e5%9f%9f%e6%9c%80%e6%96%b0%e6%96%87%e7%8c%ae%e5%85%8d%e4%ba%88%e5%85%ac%e5%bc%80/</link>
		
		<dc:creator><![CDATA[李星海]]></dc:creator>
		<pubDate>Tue, 28 Oct 2025 01:40:30 +0000</pubDate>
				<category><![CDATA[实验室]]></category>
		<category><![CDATA[第4次组会后工作内容]]></category>
		<guid isPermaLink="false">https://www.leexinghai.com/aic/?p=3722</guid>

					<description><![CDATA[可行性论证 “小样本”是公认的痛点： 几乎所有相关研究都承认，在农业（尤其是病害）领域，获取大量标注数据非常困 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading has-text-align-center">可行性论证</h2>



<p><br><strong>“小样本”是公认的痛点：</strong> 几乎所有相关研究都承认，在农业（尤其是病害）领域，获取大量标注数据非常困难且成本高昂。因此，“小样本学习（Few-Shot Learning, FSL）”是一个公认的关键解决方案。</p>



<p><strong>“多模态大模型(CLIP)”已在应用：</strong> 你的课题三设想是可行的。已经有最新的研究（2025年8月）开始明确使用像CLIP这样的多模态大模型来解决小样本植物病害识别问题。</p>



<p><strong>“甘薯”是研究缺口：</strong> 大部分研究使用的是通用的植物数据集（如PlantVillage） 或“马铃薯（Potato）”。专门针对“甘薯（Sweet Potato）”的病害识别研究相对较少，而将其与多模态大模型结合的研究则更少。这恰好是你课题的创新点和切入点。</p>



<p><strong>“LoRA”是关键技术：</strong> 有研究明确提到，使用<strong>LoRA（Low-Rank Adaptation）</strong>技术对大模型（如Stable Diffusion）进行微调，以生成高质量的植物病害合成数据，从而增强小样本分类的效果。这与我们之前讨论的技术路线完全吻合。</p>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<h2 class="wp-block-heading has-text-align-center">最新文献</h2>



<p class="has-text-align-center has-large-font-size">【CLIP的应用】</p>



<p>论文标题： New few-shot learning model enhances crop disease recognition accuracy (2025年8月)</p>



<p>关键内容： 这篇研究直接利用了CLIP（ResNet-50图像编码器和Transformer文本编码器）和DINO等基础模型。他们提出了一种名为 "PlantCaFo" 的新模型，通过轻量级的适配器（Adapter）和权重分解矩阵（WDM），从极少量的样本（1、2、4、8、16-shot）中高效学习，达到了93.53%的准确率。</p>



<p>阅读价值： 这是课题的核心技术参考，证明了使用CLIP进行小样本植物病害识别的SOTA（State-of-the-art）性能。</p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="IwE6aUVdGp"><a href="https://www.leexinghai.com/aic/sci-fs-en-2510281/">[文献SCI-FS-EN-2510281]PlantCaFo: An efficient few-shot plant disease recognition method based on foundation models</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="《 [文献SCI-FS-EN-2510281]PlantCaFo: An efficient few-shot plant disease recognition method based on foundation models 》—学术创新中心" src="https://www.leexinghai.com/aic/sci-fs-en-2510281/embed/#?secret=VJdnIdwvp4#?secret=IwE6aUVdGp" data-secret="IwE6aUVdGp" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<p class="has-text-align-center has-large-font-size">【小样本的主流方法：元学习】</p>



<p>论文标题： Few-shot crop disease recognition using sequence- weighted ensemble model-agnostic meta-learning (2025年8月)</p>



<p>关键内容： 该研究使用了一种名为SWE-MAML的元学习（Meta-learning）框架。它被应用到了<strong>“马铃薯（Potato）”病害的真实小样本识别任务</strong>中，仅用30张图片就达到了75.71%的准确率。</p>



<p>阅读价值： 这是除了CLIP之外的另一种主流小样本技术路线（元学习），可以作为论文中重要的<strong>“对比实验”</strong>基线（Baseline）。</p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="JmLWpRE5sh"><a href="https://www.leexinghai.com/aic/frt-fs-en-2510282/">[文献FRT-FS-EN-2510282]Few-shot crop disease recognition using sequence- weighted ensemble model-agnostic meta-learning</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="《 [文献FRT-FS-EN-2510282]Few-shot crop disease recognition using sequence- weighted ensemble model-agnostic meta-learning 》—学术创新中心" src="https://www.leexinghai.com/aic/frt-fs-en-2510282/embed/#?secret=ldKsxgZymQ#?secret=JmLWpRE5sh" data-secret="JmLWpRE5sh" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<p class="has-text-align-center has-large-font-size">【小样本的主流方法：度量学习】</p>



<p>论文标题： Few-shot disease recognition algorithm based on supervised contrastive learning (2024年2月)</p>



<p>关键内容： 该研究提出了一种基于“监督对比学习”的小样本算法，同样在<strong>“马铃薯”病害</strong>上进行了测试，用30张训练图像达到了79.51%的准确率。</p>



<p>阅读价值： 同样可作为重要的<strong>“对比实验”</strong>基线。</p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="NtaxwlMgV9"><a href="https://www.leexinghai.com/aic/frt-fs-en-2510283/">[文献FRT-FS-EN-2510283]Few-shot disease recognition algorithm based on supervised contrastive learning</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="《 [文献FRT-FS-EN-2510283]Few-shot disease recognition algorithm based on supervised contrastive learning 》—学术创新中心" src="https://www.leexinghai.com/aic/frt-fs-en-2510283/embed/#?secret=4n9LyfUVUS#?secret=NtaxwlMgV9" data-secret="NtaxwlMgV9" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-dots"/>



<p class="has-text-align-center has-large-font-size">【甘薯病害的“文本”来源】</p>



<p>论文标题： Early Detection and Dynamic Grading of Sweet Potato Scab Based on Hyperspectral Imaging（2025年3月）</p>



<p>关键内容： 这篇论文虽然技术路线不同（高光谱），但它专门研究了“甘薯黑斑病（Sweet Potato Scab）”，并提供了非常宝贵的症状文本描述。例如：“叶片初期出现小的红色斑点……最终形成灰褐色的凸起痂皮，叶脉向内弯曲……”。</p>



<p>阅读价值： 这为构建多模态数据集中的<strong>“文本模态”</strong>提供了权威的参考资料。</p>



<figure class="wp-block-embed is-type-wp-embed"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="66MHjmnxO3"><a href="https://www.leexinghai.com/aic/mdpi-hsi-en-2510284/">[文献MDPI-HSI-EN-2510284]Early Detection and Dynamic Grading of Sweet Potato Scab Based on Hyperspectral Imaging</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="《 [文献MDPI-HSI-EN-2510284]Early Detection and Dynamic Grading of Sweet Potato Scab Based on Hyperspectral Imaging 》—学术创新中心" src="https://www.leexinghai.com/aic/mdpi-hsi-en-2510284/embed/#?secret=UxrLlbDytx#?secret=66MHjmnxO3" data-secret="66MHjmnxO3" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>[文献MDPI-HSI-EN-2510284]Early Detection and Dynamic Grading of Sweet Potato Scab Based on Hyperspectral Imaging</title>
		<link>https://www.leexinghai.com/aic/mdpi-hsi-en-2510284/</link>
		
		<dc:creator><![CDATA[李星海]]></dc:creator>
		<pubDate>Tue, 28 Oct 2025 01:29:51 +0000</pubDate>
				<category><![CDATA[文献库]]></category>
		<category><![CDATA[HSI高光谱]]></category>
		<category><![CDATA[NEP下一事件预测]]></category>
		<category><![CDATA[第4次组会后工作内容]]></category>
		<guid isPermaLink="false">https://www.leexinghai.com/aic/?p=3738</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<div data-wp-interactive="core/file" class="wp-block-file"><object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/Early-Detection-and-Dynamic-Grading-of-Sweet-Potato-Scab-Based-on-Hyperspectral-Imaging.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="嵌入 Early Detection and Dynamic Grading of Sweet Potato Scab Based on Hyperspectral Imaging"></object><a id="wp-block-file--media-f6358f65-3d7c-41e8-b29f-d6e0f0b6721e" href="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/Early-Detection-and-Dynamic-Grading-of-Sweet-Potato-Scab-Based-on-Hyperspectral-Imaging.pdf">Early Detection and Dynamic Grading of Sweet Potato Scab Based on Hyperspectral Imaging</a><a href="https://www.leexinghai.com/aic/wp-content/uploads/2025/10/Early-Detection-and-Dynamic-Grading-of-Sweet-Potato-Scab-Based-on-Hyperspectral-Imaging.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-f6358f65-3d7c-41e8-b29f-d6e0f0b6721e">下载</a></div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
