基于自动编码器的植物病害检测与治理推荐系统
在农业生产中,植物病害的及时检测和有效治理至关重要。本文将介绍一种基于自动编码器的植物病害检测与治理推荐系统,该系统通过多个模块协同工作,实现了从病害检测到治理措施推荐的全流程。
系统架构概述
该系统主要包含以下几个关键模块:
1.
阈值模块
:用于细化预后掩码的结果。
2.
感染区域检测器
:定位准确的感染形状。
3.
疾病分类阶段
:对感染区域进行分类。
4.
推荐阶段
:根据检测到的病害提供治理措施推荐。
阈值模块
独立的阈值模块被添加到CAE模型的最后部分,用于细化预后掩码的结果。它对似然图逐像素应用阈值函数,具体阈值规则如下:
[
Q_g =
\begin{cases}
0, & \text{如果 } Q_{px}(m,n) \leq T_s \
1, & \text{如果 } Q_{px}(m,n) > T_s
\end{cases}
]
其中,$Q_g$ 表示二值化的最终图像,$Q_{px}$ 表示预后掩码,$T_s$ 表示细化后的阈值。在CAE模型的训练阶段,阈值 $T_s$ 将在检查框架内进行调整。在 $Q_g$ 中,灰度值为0的像素表示感染区域,灰度值为1的像素表示非感染区域。
感染区域检测器
使用斑点分析进一步处理语义分割的结果,以有效定位准确的感染形状。具体步骤如下:
1. 根据感染形状从图像中提取最小包围矩形(MER)区域。
2. 由于MER的方向通常是随机的,使用仿射变换将斜MER转换为正MER,正MER被指定为感兴趣区域(AOI)。
3. 这些AOI就是最终预测的感染区域,是从原始图像中裁剪出来的感染图像。
疾病分类阶段
在这个阶段,使用简洁的CNN对感染区域进行分类,准确检测出相应的疾病。具体操作如下:
1. 将所有表示感染部分的灰度输入图像调整为227×227的大小。
2. 简洁的CNN模型包括5层卷积操作和3层最大池化操作,具体配置如下表所示:
| 层 | 内核大小 | 步长 | 填充 | 输出大小 |
| — | — | — | — | — |
| 输入 | - | - | - | 227×227 |
| Conv1 | 11×11 | 4 | 0 | 55×55×96 |
| Poo1 | 3×3 | 2 | 0 | 27×27×96 |
| Conv2 | 5×5 | 1 | 0 | 23×23×128 |
| Poo2 | 3×3 | 2 | 0 | 11×11×128 |
| Conv31 | 3×3 | 1 | 1 | 11×11×256 |
| Conv32 | 3×3 | 1 | 1 | 11×11×256 |
| Conv33 | 3×3 | 1 | 1 | 11×11×128 |
| Poo3 | 3×3 | 2 | 0 | 5×5×128 |
| FC1 | 1000 | - | - | - |
| FC2 | 256 | - | - | - |
每个卷积层后面都跟着一个ReLU激活函数,在前两层卷积之后引入了批量归一化层以加速训练过程。在最后一层,使用softmax激活函数将所有单元连接到相应感染疾病类别的预测似然。
推荐阶段
在这个阶段,系统会根据检测到的病害提供治理措施推荐。具体步骤如下:
1. 数据库中存储了各种植物病害的治理措施以及农民对这些措施的评分和评价。
2. 使用一种推荐方法,结合农民对特定上下文治理措施的评分和评价反馈,利用堆叠去噪AE预测实际反馈。
3. 根据活跃农民的当前上下文情况生成推荐列表,以提高推荐质量。
以下是推荐生成的具体算法:
输入: 数据库 (植物病害, 农民ID, 治理措施, 评分, 评价, 土壤类型上下文, 气候上下文, 农民特征信息), 活跃农民 fa
输出: 根据活跃农民当前上下文情况的前N个治理措施推荐
方法:
步骤1. 执行数据子集操作,创建一个仅包含植物病害分类阶段中识别出的植物病害信息元组的数据库副本,这是一个N维矩阵D。
步骤2. 通过以下步骤2.1、2.2和2.3执行项目拆分,将N维矩阵转换为二维稀疏矩阵D':
2.1. 通过计算每个上下文维度的直接乘积创建一个新的上下文因子C。
2.2. 通过新上下文因子和治理措施的直接乘积确定伪治理措施Pi。
2.3. 通过从数据库中去除上下文并将伪治理措施Pi代替治理措施,形成一个农民ID×Pi的二维稀疏反馈矩阵。
步骤3. 使用Textblob对评价进行情感分析,计算情感值Fi,取值范围在 -1 到 1 之间(1表示满意评价, -1 表示不满意评价)。
步骤4. 二维稀疏矩阵D'(农民ID×Pi)包含<评分, 情感值>,由堆叠去噪AE框架处理成一个二维完整矩阵^D(农民ID×Pi),其中包含<实际得分>,然后再转换为N维矩阵D(农民ID×治理措施×上下文因子C),分别包含<实际得分>。
步骤5. 根据活跃农民的上下文情况为检测到的植物病害推荐前N个治理措施。
堆叠自动编码器
为了预测农民的实际得分,系统采用了一种扩展方法,将情感值和评分合并到堆叠去噪AE中。具体计算如下:
1. 农民 $i$ 对治理措施 $j$ 的综合值 $x_{ij}^o$ 计算如下:
[
x_{ij}^o = r_{lij} \times w_1^i + s_{lij} \times w_2^i
]
其中,$r_{lij}$ 表示评分值,$s_{lij}$ 表示情感值,$w_1^i$ 和 $w_2^i$ 分别是它们的相应权重。
2. 这些综合值 $\hat{X}
{fi}$ 与农民的特征(如侧面信息)一起输入到每个AE层,以克服稀疏性问题并提高预测准确性,计算公式如下:
[
\hat{X}
{fi} = \rho(Y_0(\rho(Y(x_i^o, a_i) + e), a_i) + e_0)
]
其中,$\hat{X}
{fi} \in \mathbb{R}^K$ 是输出层,包含农民的实际得分,$Y \in \mathbb{R}^{L \times (K + B)}$ 和 $Y_0 \in \mathbb{R}^{N \times L}$ 表示权重矩阵,$x_i^o \in \mathbb{R}^K$ 是稀疏 $\tilde{X}
{fi}$ 中治理措施 $i$ 的合并值,$a_i \in \mathbb{R}^B$ 是农民的侧面附加信息,$e \in \mathbb{R}^L$ 和 $e_0 \in \mathbb{R}^K$ 是偏置向量,$\rho$ 是双曲正切函数。
为了找到简洁的表示,使用以下定制的损失函数来训练堆叠AE:
[
L(\hat{X}, \tilde{X}) = \sum_{j \in x_0} \left| SAE(\hat{X})_j - \tilde{X}_j \right|^2 + \frac{\lambda}{2} \left( |Y|_F^2 + |Y_0|_F^2 + |w|_F^2 + |e|_F^2 + |e_0|_F^2 \right)
]
其中,$\hat{X}$ 是实际得分的绝对集合,$SAE(.)$ 是完全连接的堆叠AE,$\tilde{X}_j$ 是第 $j$ 个实例的真实实际得分,$\lambda$ 是用于正则化的超参数。
实验评估
数据集描述
使用Plant Village数据集,包含54,306张植物叶片图像和38种不同的类别,每个类别代表一种特定的作物病害。每个类别有三种变体:精确彩色图像、分割图像和灰度图像。
实现细节
- 使用TensorFlow库的Python Keras API实现该方法。
- 80%的数据用于训练,20%的数据用于测试。
- 训练CAE时,前一个AE模型使用15个epoch,学习率为0.001,后一个AE模型使用10个epoch,学习率不变,所有AE模型的批量大小设置为10。
- 实现简洁CNN时,训练阶段使用高斯分布初始化每层的权重,平均值为0,标准差为0.01,批量大小为8,共进行10,000次迭代,初始学习率为0.002,动量为0.7,权重衰减设置为 $6 \times 10^{-5}$。
- 在阈值模块中,初始化 $T_s = 150$ 以细化感染区域。
- 在推荐阶段,植物病害数据集的治理措施按60%作为训练集、20%作为交叉验证集和20%作为测试集进行划分。训练堆叠AE时,当epoch值达到250时,模型稳定,学习率为0.001,使用Adam优化器优化网络,批量大小为30,添加0.002的权重衰减进行正则化。评分向量值在 -1 到 1 之间归一化,估计的情感值范围也在 -1 到 1 之间,侧面信息对应于用户特征向量,是用户特征的二进制解释。
评估指标
-
分割任务采用交并比(IoU)度量:
[
IoU(G_{ndT}, P_{gM}) = \frac{Area(G_{ndT} \cap P_{gM})}{Area(G_{ndT} \cup P_{gM})}
]
其中,$G_{ndT}$ 表示真实掩码,$P_{gM}$ 表示预后掩码。 -
分类任务采用准确率度量:
[
Accuracy = \frac{T_{up}}{T_{up} + F_{lp}}
]
其中,$T_{up}$ 表示正确分类的感染疾病区域(真阳性),$F_{lp}$ 表示错误分类的感染疾病区域(假阳性)。 - 对于前N个推荐,常用的评估指标包括precision@N、recall@N、NDCG@N和MAP@N。
性能评估
-
分割性能
:将CAE模型的分割性能与全卷积神经网络(FCN)方法以及不同模型进行比较,结果如下表所示:
| 方法 | IoU (%) |
| — | — |
| FCN | 89.13 |
| 单AE | 91.94 |
| 带空洞卷积的单AE | 93.01 |
| CAE | 96.57 |
| 带空洞卷积的CAE | 97.60 |
可以看出,CAE方法在分割性能上表现出色,尤其是加入空洞卷积后,IoU进一步提高。
-
分类性能
:将简洁CNN与标准机器学习方法(如GLCM、HOG、HOG + SOBEL结合MLP)进行比较,结果如下表所示:
| 方法 | 准确率 (%) |
| — | — |
| GLCM + MLP | 71.64 |
| HOG + MLP | 67.15 |
| HOG + SOBEL + MLP | 69.87 |
| 简洁CNN | 89.46 |
简洁CNN的准确率明显高于传统机器学习方法。
-
推荐性能
:将提出的SAE方法与基线方法(如ItemKNN、SVD、I-AutoRec、CDAE)进行比较,结果如下表所示:
| 方法 | P@10 | R@10 | MAP@10 | NDCG@10 |
| — | — | — | — | — |
| ItemKNN | 0.0052 | 0.0613 | 0.0196 | 0.0278 |
| SVD | 0.0163 | 0.0191 | 0.0253 | 0.0407 |
| U-AutoRec | 0.0239 | 0.0295 | 0.0372 | 0.0564 |
| CDAE | 0.1247 | 0.1585 | 0.1249 | 0.0863 |
| SAE | 0.1907 | 0.2093 | 0.2134 | 0.0978 |
SAE方法在推荐性能上表现最佳,能够根据农民的当前上下文情况提供更准确的治理措施推荐。
总结
该基于自动编码器的植物病害检测与治理推荐系统通过多个模块协同工作,实现了高效的病害检测和准确的治理措施推荐。CAE模型在分割任务中表现出色,简洁CNN在分类任务中优于传统机器学习方法,SAE方法在推荐任务中具有更好的性能。然而,该方法的一个缺点是深度网络训练需要手动标记数据,这需要花费大量时间和成本。
基于自动编码器的植物病害检测与治理推荐系统
前面我们详细介绍了基于自动编码器的植物病害检测与治理推荐系统的各个模块、具体操作步骤、实验评估等内容。接下来,我们进一步梳理这个系统的整体流程,并对其优势和面临的挑战进行深入分析。
系统整体流程梳理
为了更清晰地理解系统的工作流程,我们可以用 mermaid 流程图来展示:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(输入植物病害图像):::process --> B(阈值模块):::process
B --> C(感染区域检测器):::process
C --> D(疾病分类阶段):::process
D --> E(推荐阶段):::process
E --> F(输出治理措施推荐):::process
G(数据库):::process --> E
这个流程图展示了系统从输入植物病害图像到输出治理措施推荐的整个过程。首先,图像经过阈值模块进行细化处理,然后通过感染区域检测器定位感染区域,接着在疾病分类阶段确定病害类型,最后在推荐阶段结合数据库中的信息给出治理措施推荐。
系统优势分析
- 高精度检测 :从实验评估结果来看,CAE 模型在分割任务中表现出色,带空洞卷积的 CAE 方法 IoU 达到了 97.60%,能够准确地将感染区域从背景中区分出来。简洁 CNN 在分类任务中的准确率高达 89.46%,明显优于传统机器学习方法,如 GLCM + MLP、HOG + MLP 等。这使得系统能够高精度地检测植物病害,为后续的治理提供准确的依据。
- 上下文感知推荐 :推荐阶段采用堆叠去噪 AE 结合农民的评分、评价和上下文信息,能够根据活跃农民的当前上下文情况生成推荐列表。这种上下文感知的推荐方式使得推荐的治理措施更加贴合实际情况,提高了推荐的质量和有效性。
- 多模块协同工作 :系统由阈值模块、感染区域检测器、疾病分类阶段和推荐阶段等多个模块协同工作,形成了一个完整的植物病害检测与治理推荐体系。每个模块都有其特定的功能,相互配合,确保了系统的高效运行。
面临的挑战及应对策略
- 手动标记数据成本高 :深度网络训练需要手动标记数据,这需要花费大量时间和成本。为了应对这个问题,可以考虑采用半监督学习或无监督学习的方法,减少对手动标记数据的依赖。例如,利用少量的标记数据和大量的未标记数据进行训练,通过自训练、协同训练等技术提高模型的性能。
- 模型复杂度和计算资源需求 :CAE 模型、简洁 CNN 和堆叠去噪 AE 等模型具有一定的复杂度,对计算资源的需求较高。可以通过模型压缩和优化技术,如剪枝、量化等,减少模型的参数数量,降低计算资源的需求。同时,采用分布式计算或云计算等方式,提高计算效率。
- 上下文信息的准确性和完整性 :推荐阶段依赖于农民的上下文信息,如土壤类型、气候等。这些信息的准确性和完整性可能会影响推荐的质量。为了确保上下文信息的准确性,可以建立数据验证机制,对农民输入的信息进行验证和修正。同时,不断丰富和完善数据库中的上下文信息,提高推荐的准确性。
未来发展方向
- 融合更多数据源 :可以考虑融合更多的数据源,如气象数据、土壤传感器数据等,以更全面地了解植物生长环境,提高病害检测和治理推荐的准确性。
- 智能化交互 :开发智能化的交互界面,让农民能够更方便地输入信息、获取推荐,并与系统进行互动。例如,采用语音交互、图像识别等技术,提高用户体验。
- 持续优化模型 :随着数据的不断积累和技术的不断发展,持续优化系统中的各个模型,提高系统的性能和适应性。
总结与展望
基于自动编码器的植物病害检测与治理推荐系统是一个具有创新性和实用性的解决方案。它通过多个模块协同工作,实现了高精度的病害检测和上下文感知的治理措施推荐。虽然系统面临着一些挑战,但通过采用合适的应对策略和不断探索未来发展方向,有望进一步提高系统的性能和应用价值,为农业生产中的植物病害防治提供更有力的支持。
在实际应用中,我们可以根据具体情况对系统进行调整和优化,使其更好地适应不同地区、不同作物的需求。同时,鼓励更多的农民使用该系统,收集更多的反馈信息,不断完善系统,推动农业生产的智能化和可持续发展。
总之,这个系统为解决植物病害问题提供了一种新的思路和方法,具有广阔的应用前景。我们期待它在未来能够发挥更大的作用,为农业的发展做出更大的贡献。
超级会员免费看
1925

被折叠的 条评论
为什么被折叠?



