[发明专利]基于语义层次结构的Triplet网络学习方法有效
申请号: | 201910060989.8 | 申请日: | 2019-01-23 |
公开(公告)号: | CN109919320B | 公开(公告)日: | 2022-04-01 |
发明(设计)人: | 何贵青;吕裕;张琪琦 | 申请(专利权)人: | 西北工业大学 |
主分类号: | G06N20/00 | 分类号: | G06N20/00;G06T5/00 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 金凤 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 语义 层次 结构 triplet 网络 学习方法 | ||
1.一种基于语义层次结构的Triplet网络学习方法,其特征在于包括下述步骤:
步骤1:构建语义层次结构
在一个数据库中,将数据库中已知的图像类别称作细类,作为语义层次结构的第二层,然后根据已知类别之间的视觉相似度或者语义关系将细类归纳为新的类别,即得到粗类,作为语义层次结构的第一层;
步骤2.层次化Triplets采样
首先从样本中随机选择一个样本作为anchor,然后以语义层次结构的第二层细类划分为指导,从和anchor属于同一细类的样本中随机挑选一个样本作为f-positive,从和anchor属于不同细类的样本中随机挑选一个样本作为f-negative;接着以语义层次结构的第一层粗类划分为指导,从和anchor属于同一粗类的样本中随机挑选一个样本作为c-positive,从和anchor属于不同粗类的样本中随机挑选一个样本作为c-negative;因此,对于每一个anchor样本,得到按照细类匹配的f-positive和f-negative,也得到按照粗类匹配的c-positive和c-negative;
先在粗类中采样,然后在细类中采样,在粗类中采样时,对于每一个anchor样本,采样得到按照粗类匹配的c-positive和c-negative作为一个triplets;在细类中采样时,对于每一个anchor样本,采样得到按照细类匹配的f-positive和f-negative作为一个triplets;然后进入步骤3将在粗类匹配和细类匹配中得到的triplets网络进行训练;
步骤3.层次化Triplet网络训练
假设x是输入图像,为anchor图像,是和anchor来自同一类别的positive图像,是和anchor来自不同类别的negative图像,网络利用三个图像和组成的Triplets对进行网络损失的计算,然后通过最小化网络损失进行网络训练;
利用Triplets匹配方式,即给网络每次输入一个batch,然后在batch中在线生成符合要求的所有Triplets,损失函数如下式:
其中f(.)表示输入一张图像后,CNN最后一层全连接层所输出的特征向量,B表示随机选取的batch,N表示batchsize的大小,m表示margin的大小,m值范围在1-10之间;
在stage1,首先从粗类中进行采样,对于从同一粗类中选取样本记为从不同粗类中选取样本记为网络损失表示如下:
在stage2,从细类中进行采样,对于从同一细类中选取样本记为从不同粗类中选取样本记为网络损失表示如下:
步骤4.bilinear特征增强
利用bilinear函数对网络输出特征进行细节增强,对于anchor,positive,negative,有:
其中,分别表示anchor,positive,negative样本通过最后一层卷积层输出的特征,la、lp和ln分别表示三个图像的位置,分别为三个样本增强后的特征,将增强后的特征通过全连接层后分别记为
再计算网络损失,对于同类之间的损失函数Lp表示如下:
异类之间的损失函数Ln表示如下:
因此总体损失函数为:
公式(9)中的损失函数通过反向传播继续更新网络的参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910060989.8/1.html,转载请声明来源钻瓜专利网。