SiamFC

SiamFC完整的跟踪过程

  1. 准备两路输入图像:模板图像和检测图像。

    1. 设置模板图像和检测图像的边长,分别用z_szx_sz表示。

      1. 设置content,前后文信息

      content=12(h+w)=2p content=\frac{1}{2}*(h+w)=2p

      1. 设置z_sz

      zsz=(w+2p)(h+2p) z_{-}sz=\sqrt{(w+2p)(h+2p)}

      1. 设置x_sz

      xsz=255127(w+2p)(h+2p) x_{-}sz=\frac{255}{127}\sqrt{(w+2p)(h+2p)}

    2. 对模板图像而言:在第一帧以z_sz为边长,以目标中心为中心点,截取图像补丁(如果超出第一帧的尺寸,用均值填充)。之后将其resize为127x127x3.成为模板图像

    3. 对检测图像而言:在第二帧及以后,分别以xsz1.0375[2,0.5,1]x_{-}sz*1.0375^{[-2,-0.5,1]}为边长,以前一帧目标中心为中心点,截取图像补丁(如果超出第一帧的尺寸,用均值填充)。之后将三个图像补丁都resize为255x255x3.成为检测图像

  2. 将模板图像和检测图像输入CNN网络中,分别得到6x6x128和22x22x128的特征图。

  3. 最后使用交叉相关,将模板图像的特征图当做卷积核,对检测图像的特征进行滑窗检测,最后得到3x1x17x17的得分图(三个尺度)。交叉函数如下所示:

f(x,z)=φ(z)φ(x)+bi f(x,z)=\varphi(z)*\varphi(x)+b_i

  1. 使用双三次线性插值生成277x277的图像: 3x277x277.
  2. 获得三个得分图中最大值的位置(x,y)。
  3. 获得最大值位置与上一帧目标中心的相对位移
  4. 因为之前是crop,再resize得到检测图像,之后CNN(包含交叉卷积)得到得分图,最后上采样得到[3,277,277]。所以将第(6)步得到的相对位移进行逆运算,最终获得视频帧之间的相对位移。
  5. 根据相对位移更新目标的中心点。
  6. 获得目标尺寸变换的比例(最大值所在的尺度(三个尺度中的一个)):。

scale=(10.59)1+0.59() scale=(1-0.59)*1+0.59*(最大值所在的尺度)

​ 1. 更新目标尺寸:target_sz*scale

​ 2. 更新x_szx_sz*scale

​ 3. 更新z_szz_sz*scale

  1. 画出跟踪框。

流程图

模板图像127x127x3
CNN
特征图6x6x128
交叉卷积
检测图像255x255x3
特征图22x22x128
得分图
获得最大值位置
计算得分图的最大值与中心点的相对位移
逆运算获得视频帧之间的相对位移
更新目标尺寸和目标中心
获得跟踪框

相关文章:

  • 2021-10-19
  • 2021-05-08
  • 2021-08-28
  • 2022-12-23
  • 2021-06-04
  • 2021-04-13
猜你喜欢
  • 2021-11-02
  • 2021-12-23
  • 2021-07-13
  • 2022-12-23
  • 2022-12-23
  • 2021-07-14
  • 2021-06-23
相关资源
相似解决方案