Exploiting the Circulant Structure of Tracking-by-detection with Kernels(CSK)

Exploiting the Circulant Structure of Tracking-by-detection with Kernels [paper] [code]

目标跟踪CSK代码出自ECCV2012,其主要的贡献是在MOSSE的基础上使用了核函数,同时证明了核函数是循环矩阵,通过循环矩阵可以实现密集采样。

预备知识

作者给出的整体思路


这张图片已经对CSK的整个思路梳理的很清晰。

几点理解

  • 为什么说循环矩阵就可以实现在一张图片上对在搜索区域内的所有子窗口进行密集采样呢?
    我的理解是:循环位移相当于目标框(上一帧得出的以目标中心范围,也可以理解为框的范围)不动,而在当前帧截取的图片(也就是搜索区域)动,每移动一次就可以求出目标框与搜索区域重叠部分的互相关值即C(x)y,这样互相关值越大,就说明越有可能是目标所在位置,这样就可以得出目标框与搜索区域每一部分的互相关值。
  • 代码dense_gauss_kernel.m文件中有将零频分量移到频谱中心的操作,做以下说明:
    通过输出mesh(x)与mesh(xf)可以看到x的能量集中在中心位置(其已经进行过加余弦窗处理),而xf的信号能量将集中在系数矩阵的四个角上。
    这是由二维傅里叶本身性质决定的:若变换矩阵原点设在中心,其频谱能量集中分布在变换系数短阵的中心附近(图中阴影区)。若所用的二维傅里叶变换矩阵的原点设在左上角,那么图像信号能量将集中在系数矩阵的四个角上。表明了图像能量集中低频区域。
    而MATLAB的fft函数进行傅里叶变换时,其变换矩阵原点就在左上角,因此造成了形成的傅里叶域内的图像能量集中在四角.这就导致了傅里叶变换后频谱图上的各点与图像上各点并不存在一一对应的关系,因此要将其对应回来(MATLAB官方说法是零频分量移到频谱中心),MATLAB官方给出的是使用fftshift函数,而本文作者在下面使用了circshift(ifft2(xyf),floor(size(x)/2))操作,实质上也是将零频分量移到频谱中心。只是fftshift更像是执行块操作(如果 X 是矩阵,则 fftshift 会将 X 的第一象限与第三象限交换,将第二象限与第四象限交换.),而circshift更像是一位一位的移动,直到移动到满足需要移动的位移数为止。
  • 论文P11的Algorithm1的第三个函数function k = dgk(x1, x2, sigma)对于k的求解时除以了numel(x1),这是高斯核,而对于论文中求解的高斯核并没有这一项,论文中也没有解释为什么存在这一项,这里写下自己的理解:
    首先要看到的一点是numel(x1)=numel(x2).
    再就是解释这里为什么除以numel(x1):通过将除numel(x1)和不除两种情况下的mesh(k)输出和查看k的值分析,如若不除以numel(x1),那么除了中心点外在其他位置的k_i都无限趋近于0,k的输出值直接取了0,这就导致了核k会认为除了正好截取到目标,其他情况都认为目标出图找不到了,通俗解释就是跟踪中心点偏一点都不可以,鲁棒性太差。而除以numel(x)后,会将所有的值都在一个很小的范围内,k值输出更平滑,鲁棒性更好。使用dog1数据集进行测试验证了分析,可以看到,当dog1中dog移动不大时,都可以跟踪到,稍微有点偏移就跟踪丢失了。
  • 由论文Eq.4可知C(u)v= F − 1 F^{-1} F1( F ∗ ( u ) F^*(u) F(u) ⨀ \bigodot F(v)),也就是说C(y)x=ifft(F(xy))=ifft(F(x) .* F*(y)),可以看到只要执行ifft(F(x) .* F*(y)),就是对y进行了循环矩阵操作,同时求得y进行循环后其与x的互相关性,因为C(y)x是将y进行循环后求其与x的互相关性。
    这在给出的源码中就是直接使用的频域内的公式,在时域内就相当于已经进行了循环位移,将时域的循环转至频域内实现。
  • 此算法的重要参数求解都是在傅里叶领域内,是本文的创新点,也是速度快的一个原因。
  • 相关滤波的循环矩阵密集采样缺点:在搜索半径很大时非常慢,因此不适用于很大的采样空间。总的来说,tracking-by-detection类的局部搜索有很缺点,尤其是相关滤波,对快速运动目标很难处理。

自己总结的论文及相关公式推导


在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

Bert是一种在自然语言处理中被广泛使用的模型,其在各种任务中表现出了出色的性能。然而,对于方面级情感分析,Bert并不直接适用。因此,需要对Bert进行利用,并通过修改和扩展来适应这一任务。 端到端(end-to-end)的方面级情感分析是指通过一个模型直接从文本中提取方面和情感信息。为了利用Bert进行端到端的方面级情感分析,首先需要对数据进行预处理,并将其转换成Bert模型所接受的输入格式。这包括将文本分段、添加特殊标记以及填充序列等操作。 在Bert模型的基础上,需要添加相关的层来实现方面级情感分析。一种常见的方法是利用注意力机制来捕获方面词与其他词之间的关系。通过计算不同词之间的注意力权重,可以将方面词的相关信息传递给其他词,从而更好地理解整个文本。另外,也可以添加一些分类层来预测每个方面的情感。 为了更好地利用Bert,还可以使用领域特定的语料库来进行预训练。通过在大规模的语料库上进行预训练,模型可以更好地理解特定领域的文本,并提升方面级情感分析的性能。 此外,还可以通过调整Bert模型的超参数来进一步改善性能。例如,可以调整学习率、批大小和训练周期等超参数,以获得更好的结果。 总之,“exploiting bert for end-to-end aspect-based sentiment analysis”意味着通过对Bert进行修改和扩展,将其应用于端到端的方面级情感分析任务中,以提升模型的性能和效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值