1.一种图像语义细粒度的描述生成方法,其特征在于,包括以下步骤:步骤1:获取开源并且已经标注描述的图像数据集,根据数据集的大小,划分训练集、验证集和测试集;抓取网络上公开的文本数据,构建语料库;
步骤2:对步骤1的图像数据和文本数据进行绑定、筛选、转格式和向量化的预处理;
步骤3:引入注意力机制的网络模型对图像进行特征提取,引入注意力机制的网络模型自动选定图像中感兴趣的提议区域,并提取此区域的图像特征;
步骤4:根据步骤3提取出的感兴趣区域图像特征作为反馈,对全局特征进一步筛选,提取出语义补充区域的特征;
步骤5:将步骤3提取出的感兴趣区域的特征输入到第一个长短时记忆网络,生成粗糙的图像语义描述;
步骤6:将步骤4提取出的语义补充区域的特征和步骤5已生成的图像语义描述输入到第二个长短时记忆网络(LSTM),LSTM根据补充区域的特征细化图像语义的描述,最终得到图像语义细粒度的描述; 经过训练,输入一张图片就能对图片进行理解,输出细粒度的图像描述;
所述步骤3引入注意力机制的网络模型对图像进行特征提取,引入注意力机制的网络模型自动选定图像中感兴趣的提议区域,并提取此区域的图像特征,具体包括:使用Faster‑RCNN网络提取图像感兴趣区域特征向量,输入的图像经过卷积神经网络CNN提取全局特征,再输入到区域提议网络RPN提取图像感兴趣区域特征,得到的图像感兴趣区域特征向量,每一维代表了图像特征,维度为2048;对感兴趣区域进一步分组,将感兴趣区域设为集合B,将提取的物体特征结点信息设为集合N,将边界框设为R,构建特征信息图G={B,N,R},将构建的特征信息图和编码的词向量输入到图神经网络GNN,候选区域特征b n r的特征向量为fi ,物体特征向量为fi ,边界框特征向量为fi ,在每个时间步骤t中,物体结点和相邻边界框的集合为Ni,物体结点和相邻边界框结点进行聚合:其中 表示隐藏状态;
根据单词的词性,抽取不同语义层的特征信息,将名词词性的单词与B集合绑定,同时也要与N集合绑定,将动词词性的单词与集合R进行绑定,将特征信息fi和词向量vc在全连接层 上绑定进行转换,转换后的信息表示为Ic所述步骤4具体实现方法为:将步骤3提取的感兴趣区域特征作为输入,这些感兴趣区域特征经过双线性插值进行缩放,得到同样的维度,经过缩放后的特征为f,特征经过ReLu激活函数之后,生成逆向掩码mask:其中σ表示sigmoid激活函数;
逆向掩码mask结合全局特征fall,设置逆向权重ωre,提取出语义补充区域的特征fedfed=ωre*mask*fall。
2.根据权利要求1所述的一种图像语义细粒度的描述生成方法,其特征在于,所述步骤
1具体采用的数据集如下:
a:Flickr30k数据集,经过选取和切分,包含29000张训练图片,1000张验证图片,1000张测试图片;
b:抓取100多万条英文句子组成图像描述语料库。
3.根据权利要求1所述的一种图像语义细粒度的描述生成方法,其特征在于,所述步骤
2对步骤1的图像数据和文本数据进行预处理,具体包括步骤:将图像数据调整为相同的尺寸;去除语料库的符号、数字和特殊字符,将所有的文本数据转换为预定义的json格式,设置最大的单词频率,将出现次数超过设置的单词频率的单词,添加到词典中;将出现次数低于设置的单词频率的单词,使用预设符号代替,构建出词典;根据词典的大小,通过Word2Vec编码方法对单词进行词向量化。
4.根据权利要求1所述的一种图像语义细粒度的描述生成方法,其特征在于,所述步骤5具体步骤包括:将步骤3提取出的感兴趣区域的特征向量和词向量绑定后的特征进行空间自适应平均池化:其中k表示区域提议网络处理后的区域个数,k的大小是14,vi表示区域提议网络提取的图像特征向量;
池化后输入第一个长短时记忆网络LSTM,LSTM进行更新,隐藏层的输入为:ht=LSTM1(ht‑1,it‑1)
其中it‑1表示生成的预测词序列,当t=0时,ht=0;
生成粗糙的图像语义描述为:
it=[f(I),ht‑1]
将步骤c转换的内容输入第一个长短时记忆网络LSTM,经过第一个LSTM生成较为粗糙的图像语义描述,每一个时间步上t∈[0,T‑1],LSTM更新为:ht=LSTM1(IC)
其中T表示总的时间步。
5.根据权利要求4所述的一种图像语义细粒度的描述生成方法,其特征在于,所述步骤6具体包括:将步骤5生成粗糙的图像语义描述内容需要作为输入,根据提取的边缘补充区域,并引入注意力机制,输入到第二个LSTM网络中,第二个LSTM对已生成的粗糙句子进行细化,训练时引入注意力模型:αt=softmax(ωαAt+bα)
At=tanh(ωfαfed)
其中αt对应每个图像补充区域的注意力概率,At表示特征经过tanh激活函数的结果,ωα、bα和ωfα均为学习参数;
定义最小化交叉熵损失为:
其中,Pθ(Yt|Y0:T‑1)是LSTM给出的单词Yt的输出概率,Y0:T‑1表示前一个时间步的单词。