1.基于外部知识和目标间关系的图像描述生成方法,其特征在于,包括如下步骤:
1)数据集分类:将数据集分为两大类,第一大类是提取外部知识的知识数据集;第二大类是实验数据集,第二大类又划分为3个子类,即训练数据集、验证数据集和测试数据集;
2)外部语义知识提取阶段:
2.1)通过统计算法得出知识数据集中出现频率最高的3000个类别,之后统计出所有目标类别两两共同出现的频率,得到一个3000乘以3000的类别共现概率矩阵;
2.2)选择知识数据集中出现频率最高的前200种属性类别,得到3000个目标类别的属性矩阵,属性矩阵的维度为3000乘以200,然后计算两两类别的JS散度作为类别的属性相似度,得到3000乘以3000的属性相似度矩阵;
2.3)将类别共现概率矩阵和属性相似度矩阵按行进行归一化,即每行的和加起来为1;
2.4)针对实验数据集进行类别替换,即每个实验数据集中的类别都有一个知识数据集中的编号,其中步骤2.1)中得到的类别共现概率矩阵和步骤2.2)中得到的属性相似度矩阵的类别信息用synnet代表;
3)Faster R‑CNN提取目标区域特征阶段:
3.1)使用github上的Faster R‑CNN在训练数据集上进行预训练,通过预训练好的模型中的ResNet‑101提取训练数据集的图像特征,舍弃ResNet‑101最后两层全连接层,将ResNet‑101倒数第二层图像特征作为下一步的输入;
3.2)将步骤3.1)得到的图像特征通过RPN网络来生成图像中目标区域的候选框和每个候选框的类别信息,这里的类别是个二分类,即背景信息或前景,前景即为目标物体,并通过非极大值抑制的方法来删除重叠率超过0.7的候选框;
3.3)通过一个Faster R‑CNN中的RoI pooling层来将剩下的候选框统一转换为14乘以
14乘以2048的向量,然后输入给附加的CNN层来预测每个区域框的类别和精细化目标区域框;
3.4)使用平均池化来生成2048维的特征向量,作为编码器的输入;
4)编码器处理输入特征阶段:
4.1)首先通过一个全连接层来将2048维图像特征降低为512维,将512维图像特征通过一个Relu激活层和dropout层;
4.2)通过三个线性矩阵将输入图像特征转换为Q,K,V三个向量,并进行Multi‑head计算,Multi‑head的数目设置为8头;
4.3)对于8头的每一头,通过传统的Transformer模型中的方法计算Q,K向量相似度方法计算视觉相似度
4.4)将图像每对两两目标框坐标进行转换,得到它们的相对位置信息λ(m,n),λ(m,n)包含着这两个目标之间的位置关联性;
4.5)通过sinusoid函数对步骤4.4)得到的λ(m,n)进行嵌入,将嵌入后的λ(m,n)乘以一个线性转换层WG,然后通过非线性激活函数Relu得到目标m和目标n的图像位置相似度
4.6)将Faster R‑CNN检测出来的每个目标类别标注保存,找到步骤2)得到的类别共现概率矩阵和属性相似度矩阵中对应的行,得到图像中两两类别的语义相似度
4.7)将 通过softmax操作融合 然后为 添加一个关注度系数a,这样的关注度就为(1‑a),后续通过训练过程来得到合适的a取值,得到融合视觉信息、位置mn信息和外部知识的每两两类别的相似度w ;
mn
4.8)利用Q,K向量计算出来的相似度矩阵w 乘以V向量,得到加权后的融合进图像内目标关系的区域特征,然后将8头的V向量连接起来;
4.9)将步骤4.8)得到的V向量经过残差连接层和归一化后输入到一个由两层全连接层构成的前馈神经网络,然后将前馈神经网络的输出再经过残差连接层和归一化后输入给编码器的下一层,一共经过6层编码器操作后将输出传给解码器;
5)解码器处理来自编码器的输出阶段:
5.1)将训练数据集中每个训练图片对应的ground truth描述句子的单词信息先进行位置编码;
5.2)将步骤5.1)的经过位置编码后的单词向量经过Masked Multi‑Head Attention得到加权后的句子单词特征向量,作为第一层下一步多头自注意力的V向量;
5.3)将编码器最后一层的输出通过两个线性转换层转换为Q,K向量,然后与步骤5.2)得到的V向量进行多头自注意力操作,得到融入相似度信息后的V向量;
5.4)将步骤5.3)得到的V向量经过残差连接层和归一化后传递给前馈神经网络,再经过一次残差连接层和归一化后将输出作为解码器下一层的输入;
5.5)第二层解码器层没有像第一层开始一样的Masked Multi‑Head Attention操作,而是直接进行多头自注意力计算,Q,K,V向量都是来自上一层解码器输出的经过三个线性矩阵变换后的结果;
5.6)经过一共6层解码器层操作后,将输出向量经过一个线性层和一个softmax层得到下一个单词的对应概率向量;
6)测试图像描述句子阶段:
6.1)输入测试集图像,将训练好的模型提取图像目标区域特征并计算相似度;
6.2)将经过相似度系数加权后的图像特征作为编码器‑解码器框架的输入,逐步输出解码后每幅图像的描述句子单词概率;
6.3)采用beamsearch的方法,选择beamsize为2,最终得到每个输出句子的评价指标得分,选择分数最高的那个作为测试结果。