SiamFC
-
准备两路输入图像:模板图像和检测图像。
-
设置模板图像和检测图像的边长,分别用
z_sz
和x_sz
表示。- 设置content,前后文信息
c o n t e n t = 1 2 ∗ ( h + w ) = 2 p content=\frac{1}{2}*(h+w)=2p content=21∗(h+w)=2p
- 设置
z_sz
z − s z = ( w + 2 p ) ( h + 2 p ) z_{-}sz=\sqrt{(w+2p)(h+2p)} z−sz=(w+2p)(h+2p)
- 设置
x_sz
x − s z = 255 127 ( w + 2 p ) ( h + 2 p ) x_{-}sz=\frac{255}{127}\sqrt{(w+2p)(h+2p)} x−sz=127255(w+2p)(h+2p)
-
对模板图像而言:在第一帧以
z_sz
为边长,以目标中心为中心点,截取图像补丁(如果超出第一帧的尺寸,用均值填充)。之后将其resize为127x127x3.成为模板图像 -
对检测图像而言:在第二帧及以后,分别以 x − s z ∗ 1.037 5 [ − 2 , − 0.5 , 1 ] x_{-}sz*1.0375^{[-2,-0.5,1]} x−sz∗1.0375[−2,−0.5,1]为边长,以前一帧目标中心为中心点,截取图像补丁(如果超出第一帧的尺寸,用均值填充)。之后将三个图像补丁都resize为255x255x3.成为检测图像
-
-
将模板图像和检测图像输入CNN网络中,分别得到6x6x128和22x22x128的特征图。
-
最后使用交叉相关,将模板图像的特征图当做卷积核,对检测图像的特征进行滑窗检测,最后得到3x1x17x17的得分图(三个尺度)。交叉函数如下所示:
f ( x , z ) = φ ( z ) ∗ φ ( x ) + b i f(x,z)=\varphi(z)*\varphi(x)+b_i f(x,z)=φ(z)∗φ(x)+bi
- 使用双三次线性插值生成277x277的图像: 3x277x277.
- 获得三个得分图中最大值的位置(x,y)。
- 获得最大值位置与上一帧目标中心的相对位移。
- 因为之前是crop,再resize得到检测图像,之后CNN(包含交叉卷积)得到得分图,最后上采样得到[3,277,277]。所以将第(6)步得到的相对位移进行逆运算,最终获得视频帧之间的相对位移。
- 根据相对位移更新目标的中心点。
- 获得目标尺寸变换的比例(最大值所在的尺度(三个尺度中的一个)):。
s c a l e = ( 1 − 0.59 ) ∗ 1 + 0.59 ∗ ( 最 大 值 所 在 的 尺 度 ) scale=(1-0.59)*1+0.59*(最大值所在的尺度) scale=(1−0.59)∗1+0.59∗(最大值所在的尺度)
1. 更新目标尺寸:target_sz*scale
2. 更新x_sz
:x_sz*scale
3. 更新z_sz
:z_sz*scale
- 画出跟踪框。