Siamese Networks for Object Tracking 温习

tensorflow版的code地址
https://github.com/www0wwwjs1/tensorflow-siamese-fc/blob/master/siamese_net.py
由于讨论班的需要
重新分析一下这个tracking模型

整个结构如下图
这里写图片描述

其实可以看到这个模型是很简单的

X是搜索区域,Z是目标图像
其中$\varphi$是DCNN,在代码中是四个简单的conv+batchnorm+relu

其中*操作是相关运算(卷积运算)
即用(6x6x128)作为卷积权重与(22x22x128)的特征图做卷积运算得到得分图
实现了相关滤波的end2end

下图便是源码的实现方式
这里写图片描述

scores = [groupConv(i, k) for i, k in zip(scores, aFeats)]
k代表Z
i代表X
他这种实现方式存疑
相关运算与卷积计算位置相反
或许这在end2end的DL中影响不大?

score = 0.001*score + b
不采用tanh/sigmoid或许是因为避免梯度消失

它采用的loss见下图
这里写图片描述
这里写图片描述
这里写图片描述

避免数值溢出的实现方案
这里写图片描述