论文水平:CVPR 2019  https://arxiv.org/pdf/1812.05050.pdf

测试代码:https://github.com/foolwood/SiamMask


跟踪算法近年的发展(中科院王强博士维护)。 相关滤波的发展已经经过了几代迭代,发展到了瓶颈期。深度学习应该是以 SiamFC 为代表的 Siamese Tracker 脱颖而出。

1. 背景

今年CVPR有一篇亮眼的视觉跟踪方面的论文,作者提出新算法SiamMask,在视频跟踪任务上达到最优性能,并且在视频目标分割上取得了当前最快的速度。

此篇文章一出,基本就是一个细分领域的终结。所有做单目标、短视频追踪的同学要么早点毕业,要么尽快转方向...如多目标跟踪问题、长时间稳定跟踪、3D目标实时跟踪、6D姿态跟踪。或者是在子领域做出卓有建树的工作,如笔者从事计算机辅助导航中的2D/3D/4D超声视频跟踪,融合了复杂样本、奇异分布、多目标标联合、长时间跟踪(15-25min)难题。

在两年前,当我们提起视觉跟踪(Visual Tracking),我们的脑海里总是灌满了相关滤波(KCF,SRDCF,CF2,CCOT,ECO... 等等经典工作在我的脑海里飘荡)。如果给这个时代截取一篇最经典的工作,我想我会选择 KCF。他是真的将视觉跟踪推向流行,让整个领域真的沸腾起来的工作。如果现在来分析他之所以能统治跟踪领域的原因,我觉得主要是两点:足够高效 + 开源。高效到只需要 10 行以内的代码就可以实现核心计算,随便一个 CPU 就可以跑到 200FPS 以上。这极大程度上拉低了视觉跟踪领域的门槛,让所有人很容易进入这个领域。

当然,除了怀旧以外。我们也会经常反思甚至有些诧异,似乎视觉跟踪和整个 CV 大领域走到了不同的方向,深度学习在跟踪领域并没有得到什么用武之地。当然,所有新的方向的产生大都遵循着量变到质变的基本原则。

2. SiamMask算法创新与结构

跟踪分割结果(恐怕难以突破了)

跟踪实例

Siamese 网络的概念应用于目标跟踪的源头应该从 SINT 这篇文章开始,但真正开始流行却是从 SiamFC 开始。简洁优雅的框架让它得变得流行,像极了上一波的 KCF。

而SiamMask像极了结合SiameseFC和MaskCNN的优势,所以取得了最佳跟踪结果令很多学术界人士感觉在情理之中。

  • 视频跟踪到底是跟踪什么?

长久以来,我们的思维倾向于陷入舒适区。当 A 做了物体检测,我们尝试改网络,改 loss,别的领域 trick 拿来就是一篇。而我们常常忽略了更为重要的问题,到底这个问题的该如何定义,这点极为重要。

对于目标跟踪而言,一般论文开篇通常都会说在第一帧给定目标位置,在后续帧中预测目标的位置。然而如何对后续帧中表述的定义直接影响了整个跟踪领域的发展。

为了方便表述,早期的跟踪算法都是坐标轴对齐的的矩形框。但随着跟踪精度的不断提升,数据集的难度在不断提升,在 VOT2015 时即提出使用旋转矩形框来作为标记。在 VOT2016 的时候提出自动的通过 mask 来生成旋转框的方法。更为本质的,我们会发现,这个旋转的矩形框实际上就是 mask 的一种近似。我们所要预测的实际上就是目标物体的 mask。利用 mask 才能得到精度本身的上界。

mask生成以及矩形近似

视频跟踪算法有两类代表:

第一类是预测score的方法,这类算法以相关滤波和SiameFC为代表。通过预测候选区域的score map来得到物体的位置,物体的尺度大小通常是通过图像金字塔得到。同时无法得到物体的长宽比变化。

第二类就是以GOTURN和SiamRPN为代表的做boundingbox regression的方法。这也是SiamRPN取得当前最好结果的核心所在,充分挖取精度方向的红利。实际上并不是SiamRPN预测的有多稳定,而是在预测正确的时候,会给出更为精确的box。利用网络预测长宽比可以调整box,这个方向一直以来被大家所忽视,所以SiamRPN很快杀出重围。

而在物体发生旋转的时候,简单的box的表述通常会产生极大的损失,这实际上就是表述本身存在的缺陷。而为了进一步探索在精度上存在的问题。更进一步,直接预测物体的mask。这种表述使得我们可以得到最为准确的box。最直观的利用一个简单的事例的可视化就可以看出,这三种算法的区别。

左中右分别是SiamFC | SiamRPN | SiamMask

同时,对于视频目标分割(VOS)领域,之前普遍流行的算法是利用语义分割网络在线进行一个二分类的训练,然后再后续帧进行预测。这种方法在训练过程中一般都会花费数分钟,给人一种电脑假死的感觉。最近越来越多的不需要在线finetune的算法被提出。但其速度仍然无法到达令人满意的状态,例如FAVOS和OSMN分别需要1s/帧,120ms/帧。这距离真正的实时运行还是有一定差异。另一方面,VOS算法的第一帧需要给定目标的mask,这在人机交互的场景中很难时间,这个mask获取成本过高。

所以王强博士提出了对视觉目标跟踪(VOT)和视频目标分割(VOS)的统一框架SiamMask。我们将初始化简化为视频跟踪的box输入即可,同时得到box和mask两个输出。

视觉目标跟踪 、 视频目标分割 统一框架
  • 具体实现

但是相较于预测score和box,mask的预测会更为困难。这里使用的表述方法,是利用一个vector来编码一个RoW的mask。这使得每个prediction位置具有非常高的输出维度(63*63), 通过depthwise的卷积后级联1x1卷积来升维来实现高效运行。这样即构成了主要模型框架。

但直接预测的Mask分支的精度并不太高。所以提出了如下图所示的Refine Module用来提升分割的精度,refine module采用top-down的结构。

  • 关于Siamese Tracking 的未来研究方向(free ideas)

1)高效的在线学习算法:进展到目前为止,所有实验研究表明。Siamese网络无法真正意义上抑制背景中的困难样本。离线的学习从本质上无法区分两个长相相似的人或者车。而CF相关算法可以通过分析整个环境的上下文关系来进行调整。如果对于提升整个算法的上界(偏学术)的角度考虑,在线学习有必要。如果正常的工程使用,我认为目前的算法只要在相应的场景中进行训练就足够了。

2)精确输出表达:王强博士的工作提出额外的mask输出。可直接扩展的思路为关键点输出(CornerNet / PoseTrack),极点预测(ExtremeNet),甚至6D pose跟踪。本质上是通过网络可以预测任何与目标相关的输出。

3)定制网络架构:其中包含两个子方向,一个是追求精度的去探索究竟什么样的网络架构会有利于当前的跟踪框架的学习。另一个有价值的子方向是如何构建超快速的小网络用于实际工程。工程项目中有时并没有GPU的资源供使用,如何提供“廉价”的高质量跟踪算法也具有很强的实际意义。当对网络进行裁剪之后,很容易达到500FPS的高性能算法来对传统的KCF进行真正的替换。

4)离线训练学习优化:目前的跟踪算法在相似性学习方向还是过于简单,如果去设计更为有效的度量学习方案,应该会有一定的提升。同时我们也并没有很好的掌握网络的训练。当前的训练策略是将网络主干的参数进行固定,先训练head。然后逐步放开。实际上我们发现,当直接将所有层全部放开一起训练的时候,网络的泛化性能会显著下降。另一个方面,train from scratch的概念已经在检测领域非常普遍了。跟踪的网络目前我们的经验在跟踪方面并不work。

5)更细粒度预测:这一条实际上是上一条的续集,就是专注于score分支的预测。现在大家的做法是>0.6 IoU的都当做前景(正样本),但实际上正样本之间还是有较大的差异的。跟踪本质上也是不断预测一个非常细小物体帧间运动的过程,如果一个网络不能很好的分辨细小的差异,他可能并不是一个最优的设计选择。这也是ATOM的IoUNet主攻的方向。

6)泛化性能提升:非常推荐自动化所黄凯奇老师组的GOT-10k数据集,数据组织的非常棒。黄老师组在one-shot learning领域有着深厚的积淀,所以站在这个领域的角度,他们提出了严格分离训练集和测试集的物体类别来验证泛化性能。所以原则上所有one-shot learning方向的一些嵌入学习方法都可以移过来用。同时,我觉得Mask-X-RCNN,segment everything这个思路可以借鉴。本质上我也不得不承认,基于深度学习的跟踪算法存在泛化性能问题。我们有理由怀疑跟踪是否会在未知的类别上有较好的泛化性能,实际上肯定是会下降。

7)long-term跟踪框架:截止到目前为止,虽然VOT组委会以及牛津这边的OxUVA都有专门的long-term的数据集,但long-term算法并没有一个较好的统一框架出来。关于这方面的研究似乎有点停滞,今年大连理工的文章非常可惜,我觉得质量非常不错。

3.参考资料

中科院王强博士 : https://zhuanlan.zhihu.com/p/58154634

SiamMask:视频跟踪最高精度 (中科院王强大神作品)相关推荐

  1. 计算机画图城堡作品,我的世界:红石大神作品赏析,需要26分钟才能逛完的机关城堡...

    真正的红石大神到底有多厉害?一个看似简单的迷宫却难倒众人,你能成功找到出口吗? 我的世界:红石大神作品赏析,需要26分钟才能逛完的机关城堡 一.红石机器人 当近距离观察时,你很难猜出它是什么东西,因为 ...

  2. realplayer java,不同浏览器调用realplayer插件在线播放视频的有关问题,请大神们进来看看...

    不同浏览器调用realplayer插件在线播放视频的问题,请大神们进来看看 上面代码是调用realplayer实现在线播放的,在安装realplayer后IE.火狐.chrome都是可以播放的,但是在 ...

  3. 星火视频计算机原理,各专业上岸大神助你搞定专业课!| 初试专业课冲刺经验贴合集...

    原标题:各专业上岸大神助你搞定专业课!| 初试专业课冲刺经验贴合集 距离2021考研仅有 23天,为了能够帮助大家更高效地把握住考前最后的时间,小招特地收集了多篇学长学姐们的经验贴,从中整理出Hust ...

  4. 那些将2D原画转3D建模的逆天大神作品 100%还原!

    我们都知道,概念原画是没有三视图的,要把人物做成3D角色,需要建模师根据原画制作人物的神态和相貌,一比一还原还是很有难度的. 今天就来给大家介绍一些原画三维化概念设计非常优秀的逆天神作,下面一起来看看 ...

  5. 传送门骑士自建服务器,《传送门骑士》开放私人服务器!大神作品零距离

    <传送门骑士>国服近日更新到1.34版本,增加了许多备受玩家好评的玩法内容,其中最具突破性的则是私人服务器的开放,这意味着玩家可以任意开放自己的沙盒世界.<传送门骑士>自面世以 ...

  6. 试简介视频编码技术?——知乎大神神回答

    https://www.zhihu.com/question/22567173 我需要宏观的关于视频编码的指导,最好是基于HEVC的编码器原理.如帧间预测编码过程,帧内预测编码过程,熵编码过程.细节可 ...

  7. python大神作品_掌握了这24个顶级Python库,你就是大神!

    全文共11815字,预计学习时长24分钟 Python有以下三个特点: · 易用性和灵活性 · 全行业高接受度:Python无疑是业界最流行的数据科学语言 · 用于数据科学的Python库的数量优势 ...

  8. python大神作品_Python大神成长之路: 第一次学习记录

    一.Python发展史 二.Python2 or 3 博主选择了Python3. 从官网下载Python www.python.org Windows安装python3.5.python2.7.安装好 ...

  9. python大神作品_Python大神的书单

    在编程语言中, Python 长期稳居前五,不仅已经成为数据分析.人工智能领域必不可少的工具,还被越来越多地公司用于网站搭建.Python 方向岗位的薪水在水涨船高,成为目前最有潜力的编程语言之一. ...

最新文章

  1. Android 探究 LayoutInflater setFactory
  2. HDFS 文件格式——SequenceFile RCFile
  3. CSS列表和一些变化情况
  4. 关于前后端交互的一些基础知识点
  5. hdu5791(DP)
  6. thinkphp5.0如何隐藏index.php入口文件
  7. 解决Conda install tensorflow弹窗Python.exe已经停止工作的问题
  8. Looper中的消息队列处理机制
  9. PMP-8. 项目经理的能力
  10. C语言入门“hello word”编写
  11. Packet Tracer搭建局域网以及实现局域网互通
  12. backdrop-filter
  13. eCos编译Synthethic Target程序时无法解析__sprintf_chk的解决办法
  14. 多发性胆囊息肉有哪些危害?
  15. mybatis多表操作(一对一、一对多、多对多)
  16. Python如何使用国内源下载模块
  17. openpyxl详解
  18. 刨根问底:对象也可以当方法用?
  19. Effective C++ 条款10_不止于此
  20. 从零开始学python的第19天

热门文章

  1. HBase API 详细例子(封装的DAO类)
  2. struts2 文件上传与下载 (初始文件上传的底层技术)——struts2第七讲
  3. 2013年全国首届CISA认证培训强化班成功举办
  4. hdu-Frosh Week(树状数组)
  5. NYOJ 767 因子和
  6. HDU 4505 小Q系列故事——电梯里的爱情
  7. React Native获取手机的各种高度
  8. centos 6.5 启动时卡在进度条位置无法进入系统解决办法。
  9. redis解决“高并发定时秒杀”库存误差问题
  10. React-Native 之 项目实战(五)