【VITAL(CVPR2018 Spotlight)】阅读笔记

论文:VITAL: VIsual Tracking via Adversarial Learning(利用对抗性学习的目标跟踪)
论文地址 code

写在前面

这篇文章是CVPR2018的Spotlight,感觉18年跟踪方面的Spotlight都是以精度取胜了,不过在跟踪方面还是效果为先,这篇文章的思路并不难,也没有过于复杂的公式推导,可能在一些措辞上有些不好理解。它最大的优点就是把GAN应用到目标跟踪这个领域,相比MDNet效果有了很大的提升,网络也比较简单,沿用了VGG-M的结构,但是由于每帧都要更新模板,所以运行速度也比较慢,大概1.5FPS。

Motivation

这篇文章指出基于深度学习的目标跟踪存在两个方面的问题:
① 一帧中的正样本之间高度重叠,从这些样本中很难获取目标表观的变化;
② 正负样本数量上的不平衡性。

Contribution

  • 利用对抗学习来加强正样本特征的鲁棒性,使得提取到的特征对目标的表观变化不敏感;
  • 利用了一个高阶敏感的损失函数来处理正负样本之间的不平衡
  • 在很多的benchmark上验证了这个方法,都获得了比较好的效果。

Algorithm

这一块分成两部分来讲

一、对抗学习

在这里插入图片描述
对于每一帧,先是提取出多个样本,每个样本经过如上网络得到一个分类的score。上图中前面提取特征的网络是VGG-M,在第三个卷积层先是使用了两个全连接层用来随机生成权重的mask,然后再与原先的特征做dropout操作,最后得到的结果到分类器中分类。其中的对抗学习部分就是在mask的生成器 G G G和分类器 D D D的对抗。由于传统的GAN的生成器的输入是一堆噪声,而我们有的是proposal,所以才要使用Mask来作为噪声,这样才能将GAN移植过来。

如上图所示,文章将生成器 G G G放在特征提取和分类之间,假设输出的特征为 C C C,根据 C C C生成的MASK是 G ( C ) G(C) G(C),实际上的MASK为 M M M,最后损失函数如下:(这里的Mask其实就是充当表观变化的参数,希望学到的判别器对多种表观变化都很鲁棒)
在这里插入图片描述
这个损失函数的含义就是,要让G生成的MASK与C的dropout之后得到的特征让D无法区分,而D的目的就是不断提高自己的判别力,使得能更好的区分G的MASK。值得注意的是,这篇文章对于每个proposal都用了9个Mask,而最终选择的Mask却是使得这个损失函数最大的Mask,然后利用这个值对网络进行优化。文章的解释是,若是一味使用样本中最具有判别力的部分,很容易使得网络陷入过拟合,这种选择最大的方式,其实就是在选一些在表观变化中鲁棒性,不敏感的特征。文章提出这种操作可以一致单个帧中十分具有判别力的特征,得到全局鲁棒性、稳定性的特征。 我个人认为这个地方还存在一些问题,这些被抑制的特征不一定就是某些帧独有的,这么抑制了,可能会使得网络对那些语义相似的噪声难以判别,但是这篇文章的效果很好,可能是我多虑了。也有可能是因为不端选择最难的Mask,其实反倒增强了判别器的判别力。

二、敏感交叉熵损失

这一块主要为了处理正负样本数量不均的问题,引入了focal loss的方式,损失函数:
在这里插入图片描述
对于交叉熵的损失函数,正样本时得到的概率越大越好,负样本时得到的概率越小越好,但是由于过多的简单负样本损失叠加,还是会变大,可能会超过一个艰难的负样本的损失,所以以上就是给每个样本加了个权重。艰难的负样本的权重高,简单负样本的权重低。

Tracking

文章中多次提到他们只在训练阶段使用G,测试阶段只用了D,但是它的跟踪过程是每帧都更新的,这块有点不太理解。

  • 模型初始化:线下先预训练模型参数(VGG-M),对于每个视频,先随机初始化D,然后用第一帧训练D和G;
  • 在线检测:每来一帧都先提取proposal,然后只做一次前向传播得到分类score;
  • 模型更新:利用前一帧得到的结果更新模型,使用G和D,每一帧都更新

Experiment

实验效果还挺好的,但是还是没超过ECO和CCOT,但是在输入视频分辨率比较低的情况下,表现还不如MDNet:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

可能是看的文章太少了,感觉这篇文章的有些解释部分不太懂,也不怎么理解这篇文章为什么效果好,还需要好好琢磨一下。

优点
  • 将GAN引入到目标跟踪领域中来,设计了简单高效的网络
  • 使用了focal loss来处理数据不平衡的问题
缺点
  • 对输入的测试视频要求高,若其分辨率低效果不如MDNet
  • 可能难去区分语义级别的噪声
  • 速度很慢,只有1.5FPS
### CTFHUB 平台上的 SSRF 漏洞详情 在 CTFHUB 平台上,SSRF (Server-Side Request Forgery, 服务器端请求伪造) 是一种常见且重要的漏洞类别。该类漏洞允许攻击者通过构造特定的 URL 或参数来诱导服务器向指定目标发起 HTTP 请求。 #### 基本概念与影响范围 通常情况下,SSRF 攻击旨在使受害的应用程序作为代理去访问那些对外部网络不可见但对应用程序可见的服务资源。这些内部服务可能存储敏感数据或提供管理接口,一旦被恶意利用可能导致严重的后果[^3]。 #### 利用方式实例分析 对于某些 PHP 应用环境下的 SSRF 场景,在实际操作过程中发现了一种特殊的 payload 构造方法: ```plaintext http://challenge-80b40c7bb0f917cb.sandbox.ctfhub.com:10800/?url=http://notfound.ctfhub.com@127.0.0.1/flag.php ``` 上述 Payload 的特点在于它巧妙地运用了 `@` 符号将外部域名指向本地 IP (`127.0.0.1`) ,从而绕过了简单的黑名单过滤机制并成功触发了 SSRF 行为,最终实现了对 `/flag.php` 文件内容的非法获取[^4]。 #### 解决方案建议 针对此类问题的有效缓解措施可以从以下几个方面入手: - **输入验证加强**:严格校验用户提交的数据合法性,特别是涉及远程调用功能时要特别谨慎处理 URL 参数。 - **白名单策略实施**:仅限于信任列表内的主机名/IP 进行通信交互;同时考虑加入 DNS 缓存刷新逻辑防止缓存投毒风险。 - **协议限制应用**:避免支持过多不必要的协议(如 gopher:// 等),减少潜在威胁面。 - **防火墙配置优化**:合理设置云服务商提供的安全组规则以及 VPC 内网 ACL 控制,阻止来自公网对私有子网内资产的未授权访问尝试。 综上所述,为了有效防范 SSRF 类型的安全隐患,开发团队应当综合采取多种防护手段相结合的方式,并持续关注最新的攻防动态和技术趋势以确保系统的安全性得到保障[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值