PrGCN 模型小结

最近一直在考虑怎么憋一篇re-id方向小论文的idea出来,前几天有了想法,结果今天发现已经被实现了,记录一下这篇论文使用的模型。

关于改进,一般是从两个方面下手:一个是改进网络框架以提取更有区分性的特征;再就是设计loss函数。这篇paper使用的模型实质上就是在提取特征后重新排序之前加入了GCN网络。这样做能够使gallery中匹配到的ID融合其他匹配的ID,得到更加准确的结果。这其实也是改进了度量学习的方法,用GCN加权后的概率取代欧式距离。我之前想到过用加权平均的方法去平均融合,这篇文章的方法显然更好。

首先指定节点p,在欧式空间中p旁边会有很多个相同身份的点,也有很多不同身份的点。目的是不仅仅依靠距离来排序。若点A是相同身份,B是不同身份,但是B距离P更近,则这时候要看A和B旁边的两个点的性质,原则上身边的点和自己是具有相似的特征。融合两个点的特征之后,再排序。

ICS(中心节点子图)的构建:

简单来说,就是选择一个P点作为中心,再选择合适数量的节点作为P的邻居。(每个节点都是一个人的全部特征)。
在训练阶段,没有参考集和查询集,所以为每一个人物节点都构造一个ICS,目的是使得相同身份的人物距离尽量拉近,反之拉远。
在测试阶段,由于有了查询集,需要将查询集中每一个query都要和gallery中的ID进行匹配重排序,这个时候若是把P和所有的g都连线计算概率代价太大了。后面也说明了不是全部连线。

关于ICS节点的选择:
训练过程中,会设置超参数h,代表阶数,ki是对应阶的节点。h=2就是二阶。当h = 2, k1 = 8, k2 = 2时,表示选取p的8个最近邻作为1阶节点,每个1阶节点的2个最近邻作为节点p在其ICS中的2阶节点。一阶节点就是与P直接相连的节点,二阶节点就是与一阶节点相连的节点,二阶节点也可以是一阶节点。
前面也说到,因为不可能把所有的gallery中的点和p点连接起来计算概率,这样机器也做不到,计算量太大了。所以会以一个P点为中心构造多个ICS图。
所以测试集的节点选择是s+t=k1个,s是最临近的节点个数,t是非最邻近的节点个数,同时t也是按欧式距离排序选择出来的。需要注意的是,在每次迭代中,s的最近邻节点都是固定的,以保证ICS中正、负样本的平衡。

Nics是ICS图的个数,假设galley_size是100,s为5、k1=10的话,则每一个P要构造10个ICS图用于训练。
对于中心节点p,将其选定的h阶kNN节点集合表示为Vp。设xp为p的特征,xk为Vp中的第k个节点的特征。将中心节点p的信息编码到ICS中,让每个xk减去xp,得到归一化特征集Fp。与此同时P点消失。
第三步是将为ICS中的节点建立链路。两个节点之间的粗边表示它们互为uNN(这里u = 3)节点,细边表示只有一个节点是另一个节点的uNN节点。
第四步是根据第三步的图来构建邻接矩阵A。

采用了一种由6个图卷积层和2个完全连接层组成的GCN模型。ReLU与图卷积层一起使用,PReLU在第一完全连接层之后添加。GCN是对ICS中的1阶节点是否与中心节点具有相同的身份进行分类。

总结:ICS的构造
(1)指定P点为中心,设置阶数h和节点k1和k2。(训练和测试时不同)
k1是指直接与P点相连的节点k;k2是指与一阶节点相连的节点u。当u也在ICS中,且连接节点有k时,此时建立u和P的连接。
(2)将P点的特征分配到一阶节点k中,同时消掉P点。
(3)构建邻接矩阵A(Vp*Vp),Vp是ICS的所有节点个数,包括k和u。
(4)更新参数,融合特征。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值