【人工智能】作物病害识别&遥感频域特征融合-2025年2月23日人工智能组会总结

图片[1] - AI科研 编程 读书笔记 - 【人工智能】作物病害识别&遥感频域特征融合-2025年2月23日人工智能组会总结 - AI科研 编程 读书笔记 - 小竹の笔记本
完整PPT不公开,谢谢理解

此次组会的汇报内容(按顺序)如下:

作物病害识别

假期中到现在跑了学长的ShiftingNet模型,这个模型是用于作物病害识别任务的,具体来说就是识别农作物的叶片然后预测该作物患有什么病。成功跑出了学长PPT中汇报的Val Acc 99.18%。

之后我读了两篇这方面的论文,其中一篇的Plant Village数据集是该应用领域中较为常见的数据集,所以我将这个数据集下载之后用到了ShiftingNet的训练过程中,效果不错,部分分类达到了Val Acc 100%的性能,Train Acc也在98%+,关于数据集的分割写了篇笔记如下:

接下来首先介绍读的两篇论文,然后展示该模型在原有的数据集(Corn,Apple,Tomato)和Plant Village数据集(整体,Corn,Apple,Tomato,Grape,Potato)上的各五次实验结果。

关于论文的介绍见开头的三个文章卡片。

原有数据集的训练&验证结果:Corn Val Acc 平均86.99%;Corn Train Acc 平均84.64%;Apple Val Acc 平均97.37%;Apple Train Acc 平均95.03%;Tomato Val Acc 平均98.09%;Tomato Train Acc 平均98.01%。

Plant Village(整体,Corn,Apple,Tomato,Grape,Potato)的训练&验证结果:Plant Village Val Acc 平均99.80%;Plant Village Train Acc 平均99.16%。

我还将Plant Village数据集的某些类别较多的单个作物拆开跑实验,也就是标题中的几类作物。每个类别也是各五次实验,这里做个总结:

Corn Val Acc Max 100% Avg 99.49%;Apple Val Acc Max 100% Avg 100%;Tomato Val Acc Max 99.89% Avg 99.85%;Grape Val Acc Max 100% Avg 100%;Potato Val Acc Max 100% Avg 99.53%。

ShiftingNet原有数据集存在的问题是图片分辨率及其比例不一致,背景复杂,在一定程度上也可以说原有数据集更适应应用场景中拍摄所得图片,但是我认为在应用场景中应先拍摄一个图片后通过OpenCV或者Pillow等图像处理库将其处理为标准的正方形图像,并把复杂的背景裁切出去,这样才能达到较高的准确率!郭老师的观点在于目前作物病害分类的准确率都非常高,使用类似于Plant Village数据集这样的标准数据集已经能达到很高的准确率了,如果使用原有数据集对其他模型与当前的ShiftingNet进行对比,则更有说服力。

遥感频域特征融合

假期中我通过将FreqFusion模块融合到ConvLSRNet的跳跃连接部分实现了频域特征的融合。但效果并不好,降低了精度,这个问题可能的原因是:①频域与空间域特征匹配冲突。②滤波器生成器的输入适配问题。

假期后半段阅读了一篇遥感方向将Transformer与频域特征融合的论文,之后准备将使用类似的思路改造基础模型的LSRFormer模块。

接下来准备尝试的改进点:

  • 在LSRFormer的MSC-FFN阶段后,通过频域分通道处理增强多尺度特征。
  • 在LSRFormer内的LR-SA之前,加入一个局部频段增强的上下文引导器LFCG(FreqFormer论文想法,正在实验,还需优化)。

FreqFormer这篇论文核心点就是通过高频分支(HFB),使用Canny算子卷积层提取高频细节,再通过多头自注意力(MHSA)建模高频上下文。低频分支则通过标准空间分析捕获低频全局上下文。最后两分支通过元素求和结合,生成综合的频域特征表示。这个模块成为FA(频率注意力)

(LN+FA+MLP)x2(大体是这样,其中还有一些跳跃连接)组合成了FFB(FreqFormer Block)之后,通过Patch Merging(PM)逐步缩减空间维度,保留关键信息。这样的结构重复4次,但是最后一次的PM被替换为了MD。

MD(掩码Transformer解码器),将编码器的特征与可学习的类别嵌入进行标量积计算,生成逐块语义预测。通过双线性上采样恢复原始分辨率,结合Softmax输出像素级类别概率。

目前在频域这方面我还是有些迷茫的,因为我在尝试给LSRFormer的LR-SA前加入一个局部频段增强的上下文引导器LFCG后,运算量提高到了100G FLOPs+,参数量也接近100了,这样多的运算量提升再融合之前的InceptionDWConv2d模块得到实验结果在Vaihingen上提升不明显,LoveDA上也没有达到之前改进动态WindowMSA+融合InceptionDWConv2d模块提升大。

所以频域这种对我来说不是特别熟悉的东西,到底是否有必要去搞呢?贾老师也提醒了我,从去年11月中旬我就开始选定LSRFormer这篇论文的ConvLSRNet为基础模型了,目前通过融合InceptionDWConv2d和改进WindowMSA带来的提升也到了1~2%,其实也能发论文了,只是没什么创新点。

所以我应该做的是合理解释之前两个改动对模型为什么有提升,并对原模型进行更好的改进,而不是直接套用即插即用模块。最终这样实验得出的提高很多的成绩,才能发出论文。

目前我的频域想法准备移植到ShiftingNet,对于原本FLOPs: 71.0525G,Params: 68.0840M的ConvLSRNet来说,再往上加频域融合来赚取一点点的精度提升,没什么必要了。

最后吸收一下贾老师的暴击,永远不要轻易说出一个自己的创新点,例如本次Canny算子,它到底有什么优势,虽然我知道它相当于高通滤波器可以提取高频特征,但是没有比较其他高通滤波器,Canny算子是一个传统的方法了。它对遥感图像又有什么必要性呢?

© 版权声明
THE END
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容