1.一种引入外部知识的农作物病害视觉问答方法,其特征在于,包括如下步骤:步骤1. 基于外部知识的农作物病害视觉问答数据采集、预处理和标注,针对农作物病害图像标注涉及外部知识的问题,得到基于外部知识的农作物病害视觉问答数据集;
步骤2. 搭建基于外部知识的农作物病害视觉问答模型,其包括图像特征提取器、目标检测模型、图像字幕生成模型、文本特征提取器、注意力机制、编码器以及解码器;
首先利用预训练的图像特征提取器提取农作物病害图像特征,并利用目标检测模型和图像字幕生成模型处理农作物病害图像,得到图像字幕信息;
其中图像字幕信息为带有目标框、目标标签和对图像的文本描述;
步骤3. 使用步骤2的农作物病害图像特征在农作物病害知识库中检索农作物病害显性知识文本,使用问题文本、图像字幕文本以及目标标签检索农作物病害隐性知识文本;
步骤4. 对步骤2提取的农作物病害图像特征,利用注意力机制对图像模态内的密集交互进行建模,得到具有注意力重点的图像特征;
步骤5. 利用预训练的文本特征提取器提取问题特征、步骤2中图像字幕文本特征及步骤3中农作物病害显性知识和隐性知识文本特征,与步骤4中经过注意力机制处理的图像特征进行编码,得到编码后的融合特征;
步骤6. 利用步骤5所得到的融合特征,输入到解码器中输出答案。
2.根据权利要求1所述的引入外部知识的农作物病害视觉问答方法,其特征在于,所述步骤1具体为:步骤 1.1. 从网络上收集农作物病害图像数据,挑选出农作物整体完整、农作物以及病斑边缘特征清晰的高质量图像,进行数据增强,得到多幅病害图像;
步骤 1.2. 分别对农作物病害图像本身的特征和图像以外的知识设计问题文本;
为每张农作物病害图像的不同区域标注多个问题文本;然后使用随机标点替换、关键字替换和更改问题文本语法的方式对问题文本进行数据增强;
最后平均为每张图像标注多个关注图像内容的问题文本和多个关注外部知识的问题文本,从而构造出图像‑问题文本对数据,并且划分为训练集、验证集、测试集;
步骤 1.3. 为每个问题文本标注答案;每个问题文本标注有多个答案,这些答案的置信度不同,在这些答案中选取置信度高且数量多的条目作为正确答案,提供给模型学习。
3.根据权利要求1所述的引入外部知识的农作物病害视觉问答方法,其特征在于,所述步骤2具体为:步骤 2.1. 视觉问答模型的输入分为农作物病害图像和有关病害的问题文本两种模态的数据;将图像模态数据表示为 ,将问题的文本模态数据表示为 ,将答案表示为 ;
第 张病害图像表示为 ,第 个问题文本以及其答案分别表示为 和 ,整体农作物病害数据集表示为 ,其中 为图像‑问题‑答案三元组的个数;
步骤 2.2. 图像特征提取器采用预训练的Inception‑v4模型,并提取出目标检测框内的图像特征,将预训练的Inception‑v4模型表示为 ,其编码后的特征表示为;
步骤2.3.将预训练的目标检测模型Faster‑RCNN表示为 ,将农作物病害图像输入 中,得到 ,输出的结果有两种,分别为:目标检测框的坐标信息 以及检测框内农作物或病害的类别标签;
其中 为目标检测框的数量, 表示第j个目标检测框的坐标信息, 表示第j个目标检测框的农作物种类标签或农作物病害类别标签;
使用预训练的图像字幕生成模型ODP‑Transformer处理病害图像,将ODP‑Transformer表示为 ,生成的农作物病害图像字幕文本表示为 。
4.根据权利要求1所述的引入外部知识的农作物病害视觉问答方法,其特征在于,所述步骤3具体为:步骤 3.1. 将外部知识分为显性知识和隐性知识两类,对两类知识分别使用不同方式进行检索;其中农作物病害显性知识利用以对象为中心的图像特征 获得,农作物病害隐形知识利用预训练的大语言模型GPT‑3获得;
步骤 3.2. 利用农作物病害显性知识库,为每种农作物病害抽取出一组待选知识, 中的每个条目都由实体和描述组成;
将 中的条目全部格式化为“‘实体’是‘描述’”的格式,表示为 ,将具有高度相关性的 个条目作为病害图像 的显性知识 ,使用FAISS加速公式显性知识的检索速度;
步骤 3.3. 使用预训练的大语言模型GPT‑3作为隐性知识库;
将输入GPT‑3的文本提示规定统一范式为 :“文本:{图像字幕描述文本} + {目标检测的类别标签} + 问题:{问题文本}”,得到的一组候选输出表示为 ;
利用候选输出 重新设计文本提示为“{question} + { },这是因为:”的格式,将该段文本提示再次输入GPT‑3模型获得农作物病害的完整描述 ,将隐性知识表示为:;其中, 表示候选知识的数量, 。
5.根据权利要求1所述的引入外部知识的农作物病害视觉问答方法,其特征在于,所述步骤4具体为:步骤 4.1. 将农作物病害图像特征 通过三个不同的矩阵投影,获得转换后的特征矩阵 、 和 ,其中 、 ,对给定的 和 对,计算缩放点积:
;
其中, 表示输入缩放点击模型的图像特征的数量, 表示 、 的维度;
由 个缩放点积并行组合成自注意力单元 :
;
;
其中, 表示一个自注意力单元, , 、 、 分别表示与输入的图像特征相乘的三个不同的映射矩阵, , 表示并行的缩放点积模型的数量;
步骤 4.2. 将 层自注意力单元堆叠为堆叠注意力模型 ;
将 的每一层表示为 ;
的输入为 ;
其中, 表示编码后的图像特征;
定义每层 的输出表示为 ,第 层 的输入和输出表示为: 。
6.根据权利要求1所述的引入外部知识的农作物病害视觉问答方法,其特征在于,所述步骤5具体为:步骤 5.1. 利用编码器和解码器架构对输入的多模态数据进行编码和解码,输入的多模态数据分别为农作物病害显性知识文本、农作物病害隐性知识文本、以对象为中心的图像特征和问题文本;
步骤 5.2. 将目标检测框的坐标信息 作为位置信息和经过注意力机制的图像区域特征 ,分别输入到两个不同的全连接层网络 和 中,将一张图像的所有区域特征进行拼接,得到以对象为中心的图像特征编码 ;
其中, 为目标检测框的数量; 表示第j个目标检测框的坐标信息, 表示第 个经过注意力机制的目标检测框的图像特征;
步骤 5.3. 使用显性知识 的实体和描述将其重置为“实体:{实体} + 描述:{描述}”,将重置后的显性知识表示为 ,其中 , 表示显性知识的个数;
对于隐性知识,将候选答案 和通过GPT‑3获得的农作物病害外部知识的完整描述 组合成重置的隐性知识 ,表示为:“候选答案:{答案} + 证据:{完整描述}”;
对于问题文本,将其转换为文本提示 ,作为模型的问题输入;
步骤 5.4. 使用预训练的大型语言编码器T5模型对显性知识 、隐性知识 和文本提示 进行编码,将大型语言编码器T5模型表示为 ,文本嵌入维度为 ;
两种知识和文本提示的编码表示为:
, , ;
其中, 表示显性知识编码、 表示隐性知识编码、 表示文本提示编码。
7.根据权利要求6所述的引入外部知识的农作物病害视觉问答方法,其特征在于,所述步骤6具体为:将显性知识编码 、隐性知识编码 、以对象为中心的图像特征编码 和文本提示编码 沿着第一个维度进行拼接操作,然后输入解码器 中,得到输出的答案 :;
其中, 表示 个显性知识编码, 表示 个隐性知识编码,表示将特征拼接的操作。
8.根据权利要求7所述的引入外部知识的农作物病害视觉问答方法,其特征在于,所述步骤6中,对模型输出的答案 计算交叉熵损失 :;
其中, 为最长的答案文本长度, 表示当前的答案文本长度, 为标注答案, 为预测答案, 为造成损失 的模型参数;
然后将 反向传播更新农作物病害视觉问答模型的模型参数 。
9.一种引入外部知识的农作物病害视觉问答系统,其特征在于,包括如下模块:预处理模块,用于基于外部知识的农作物病害视觉问答数据采集、预处理和标注,针对农作物病害图像标注涉及外部知识的问题,得到基于外部知识的农作物病害视觉问答数据集;
特征提取模块,用于首先利用预训练的图像特征提取器提取农作物病害图像特征,并利用目标检测模型和图像字幕生成模型处理农作物病害图像,得到图像字幕信息;
其中图像字幕信息为带有目标框、目标标签和对图像的文本描述;
外部知识处理模块,用于将外部知识分为显性知识和隐性知识,分别在农作物病害知识库和预训练的大语言模型中进行知识检索,得到农作物病害显性知识和隐性知识;
注意力机制模块,用于对提取的农作物病害图像特征,利用注意力机制对图像模态内的密集交互进行建模,得到具有注意力重点的图像特征;
编码模块,用于利用预训练的文本特征提取器提取问题特征、图像字幕文本特征及农作物病害显性知识和隐性知识文本特征,与经过注意力机制处理的图像特征进行编码,得到编码后的融合特征;
以及预测模块,用于将得到的融合特征输入到解码器中输出答案;
其中,搭建的农作物病害视觉问答模型其包括图像特征提取器、目标检测模型、图像字幕生成模型、文本特征提取器、注意力机制、编码器以及解码器。
10.一种计算机设备,该计算机设备包括存储器和一个或多个处理器;在存储器中存储有可执行代码;其特征在于,当处理器执行可执行代码时,用于实现上述权利要求1至8中任一项所述的引入外部知识的农作物病害视觉问答方法。