1.一种提高可控图像文本描述正确性的网络构建方法,其特征在于,按照以下步骤实施:步骤1、构建模型数据集,具体过程是,
1.1)建立数据样本的训练集、验证图像数据的验证集,选用MSCOCO数据集图像样本和标签作为特征提取网络的数据样本,随机选出MSCOCO数据集的90%作为训练集,剩下的部分图像样本作为验证集的样本,下面统称为样本图像;
1.2)建立控制条件的数据集,
采用ASG生成器给每幅样本图像生成各自的抽象场景图;使用RPN模型来检测每幅图像中的对象节点,属性节点通过自动采样添加到对象节点上;关系节点采用一个简单的分类网络,判断两个物体间是否有关系节点;最后,样本图像的ASG记为Gks=(Nks,Eks),ks=1,ks
2,...,Ns,Ns为数据集中的样本数,其中,样本集合的ASG的节点集合为Nks=[node1 ,ks ks ksnode2 ,...,nodeNe ],nodek ∈{o,a,r},k=1,2,...,Ne,Ne为节点个数,设置每幅样本图像的节点个数为固定值,如果实际提取出的节点数多于Ne,则消除没有关联的孤立节点,或者限制属性节点的个数,如果少于Ne,则将对应的节点置为0;ASG的边集合为Eks=[ei,j]Ne×Ne,ei,j∈{0,1},即两个节点间有关联则为1,两个节点间无关联则为0;
步骤2、提取数据集特征,具体过程是,
2.1)建立描述文本的语义词典,
从样本图像的标注中,选择所有单词中出现频次最高的前m个单词,组成语义概念集合;单词总数m按照不同的文本描述领域和不同的描述准确度要求进行选择,根据MSCOCO数据集和通用要求,单词总数m的取值范围为[10000,12000],并对每个单词分配一个整数序号,并且在整数序号之后加上三个特殊位:即开始标志位、结束标志位和低频词位,共m+3个整数序号构成词典;
对于训练集中的第ks幅样本图像Yks,Lks是第ks幅图像的文本描述长度,利用前述建立的词典对数据集样本图像进行语义词典标注,标注形式如下:其中, 是第k个单词在文本语义词典中的排序序号,为整数,此时的k=1,2,...,Lks;
2.2)提取图像特征,
采用ResNet网络提取样本图像的全局特征,即取卷积网络ResNet中最后一层平均池化层的输出M1维特征向量描述图像的全局特征gks,M1为2048;
2.3)提取抽象场景图特征,
ks ks ks ks
根据步骤1.2)得到的ASG节点集合Nks=[node1 ,node2 ,...,nodeNe ],nodek ∈{o,a,r},k=1,2,...,Ne,ks=1,2,...,Ns,采用Faster‑RCNN网络,取Faster‑RCNN的全连接fc7层作为图像区域特征,为计算方便起见,区域特征也取为M1维的特征向量;
ks
设提取的所有节点的区域特征表示为 其中,对于nodek =o的目标节点,其特征为ks在对应的区域上提取的特征;对于nodek =a的属性节点,其特征与其连接的对象节点的区ks域特征相同;对于nodek =r的关系节点,其特征从涉及到的两个关联目标的联合区域中提取;
步骤3、构建提取重点特征的编码器,具体过程是,
3.1)建立提取图像重点特征网络,
将步骤2.3)得到的区域特征 作为输入,经过一个多头注意力机制对不同区域特征进行加权,使得网络关注想要描述的重点部分,得到加权处理后的区域特征 再经过AoA模块和层归一化,确定物体间的关联关系 最后经过节点嵌入模块将特征 与节点属性结合,得到输出
3.2)构建多头注意力模块,
3.2a)将步骤2.3)得到的区域特征 分别经过三个不同的线性变换,得到相同维度的ks ks查询向量 键向量Kk 和值向量Vk ,线性变换的表达式如下:其中,WQ、WK、WV是不同随机初始化的映射矩阵,由网络训练得到;
ks ks ks
3.2b)将查询向量Qk 、键向量Kk 和值向量Vk ,分别划分为n1个M2=M1/n1维的查询子特征 键子 特征 和值 子特 征计算 和 的相似度得分,表达式如下:
其中,fsim是计算相似度得分的函数,定义如下:之后,将相似度得分 经过softmax操作,作为加权权重求和,得到空间注意力子特征 表达式如下:最后,将多个子区域的加权特征融合,得到包含注意力权重的区域特征 表达式如下:O
其中,W是线性映射,通过网络训练得到;
3.3)构建AoA模块,
ks ks
该AoA模块包括两个单独的线性变换,分别生成信息向量fk 和注意力门向量mk ,表达式如下:f m
其中, 分别是网络学习到的二维线性变换权重,b、b均是一维常数项,σ是sigmoid激活函数;
ks ks
然后对信息向量fk 和注意力门向量mk 进行点乘运算获得注意力信息特征 以便更符合表达物体间依赖关系,表达式如下:其中,表示点乘操作,使得特征中取值较大的维度变得更大,较小的变得更小,由此放大特征间的差异;
3.4)节点嵌入模块,
ks
给代表不同节点的特征进行不同的节点嵌入增强,得到具有节点属性感知的特征Zk ,表达式如下:其中,Wr是3×M1的节点嵌入矩阵,是由网络学习得到,Wr[1],Wr[2],Wr[3]分别表示Wr的第1,2,3行, 是第k个节点的属性;posk是M1维的位置嵌入向量,当节点为属性节点时增大Wr[2]的权重系数,用来区分连接同一对象的不同属性节点的顺序,其表达式如下:步骤4、增强图像编码特征之间关系的编码网络,具体过程是,
4.1)构建双向抽象场景图,
将原先抽象场景图ASG中有方向的单向边扩展为具有不同含义的双向边,即将Gks=(Nks,Eks),ks=1,2,...,Ns改为多关系场景图Gks'=(Nks,Eks,Rks),Rks是节点间的6种交互关系,包括物体对属性oa、属性对物体ao、主体对关系or、关系对主体ro、客体对关系sr、关系对客体rs;
4.2)进行图卷积,
ks ksl+1
通过图卷积操作,对节点特征关系Zk 进行编码,得到最终的区域特征Zk ,表达式如下:其中, 表示节点k在关系s下的邻居节点,σ是ReLU激活函数, 是由网络学出的第l层的关系s的参数;
使用一次GCN能够为每个节点带来来自相邻节点的特征信息,而堆叠多次能够获得更广泛的上下文;最后第l层的输出作为编码阶段输出的10个512维的区域特征再对区域特征 取平均值得到全局编码特征 表达式如下:
4.3)进行特征融合,
将全局编码特征 和步骤2.2)得到的全局特征gks融合,得到编码阶段输出的全局特征 表达式如下:步骤5、将编码后特征输入解码网络输出语句,
将步骤4得到的全局编码特征 作为输入,先通过GraphAttention计算每次进行解码需要关注的节点的权重,再通过双层LSTM网络输出,预测当前单词,再将当前LSTM的输出返回以更新全局编码特征重新计算节点权重,生成下一个单词,以此类推;
步骤6、按照以上步骤构建训练网络,
通过上述步骤1‑步骤5,将构建好的编码网络和解码网络进行训练,用编码网络获得带有可控条件的图像特征,输入至解码网络,完成图像文本的描述。
2.根据权利要求1所述的提高可控图像文本描述正确性的网络构建方法,其特征在于:所述的步骤5中,具体过程是,
构建双层LSTM网络模型,由Top‑DownAttentionLSTM和Language LSTM构成;将t时刻AttentionLSTM的输入为全局特征 以及t‑1时刻的LanguageLSTM的输出ht‑1和词表特征Wt‑1进行运算处理,得到Attention LSTM在t时刻的输出 表达式如下:a
其中,θ是网络参数;
然后将AttentionLSTM的输出 和加权后的区域特征 作为LanguageLSTM的输入,生成t时刻的单词预测结果 表达式如下:l
其中,Wksc、Whc、Wc、θ均为网络训练的参数, 是t时刻更新后的区域特征;
之后将预测结果通过softmax函数处理得到单词预测概率矩阵,将概率矩阵返回更新特征 进行下一次单词预测。
3.根据权利要求1所述的提高可控图像文本描述正确性的网络构建方法,其特征在于:所述的步骤6中,具体过程是,
网络使用标准的交叉熵损失来进行训练,对于在控制条件Gks下图像ks的文本描述的损ks失L ,表达式如下:
训练过程中设置的具体参数为,批处理大小Batchsize为128,迭代次数Epoch为50代,初始学习率Learningrate为0.0002;至此,得到完整的构建好的模型,能够根据图像和指定的ASG生成可控的图像文本描述。