Single Object Tracker: Siamese Series Part1

cold

2020/08/19 发布于 技术 分类

Explains the topic of single object tracking and introduces its mainstream work: Siamese network series. The presentation was made on 2020.8.17.

X
很好的单目标跟踪的PPT
2020/09/02

文字内容
1. Single Object Tracker: Siamese Series 张寒萌 2020.8.17
2. Definition • 单目标跟踪是指在给定第一帧目标框的情况下, 在视频的后续帧中自动地给出目标 的位置和大小, 例如在人群中逐帧地找出某一位特定行人在图像中的坐标。 SiamRPN SiamMask
3. Challenges • 单目标跟踪算法的难点在于处理复杂场景下的诸多挑战, 比如目标姿态变化、 环境光照变化、 尺寸变化、背景干扰、 遮挡情况等。 这些非受控情况会导 致单目标跟踪算法结果的偏移甚至失败。 • 另外一方面, 在实际应用中, 因为需要逐帧处理, 一般要求跟踪算法能够 实时运行。
4. Dataset
5. Method VOT2018结果:
6. Strategy • 思路1:跟踪问题视为匹配问题 • 把第一帧的目标当做模板,去匹配其他帧。网络并不需要“理解”目标,只需当新的一帧 图像来到时,拿着模板“连连看”找相同就可 • • 这条思路的关键在于如何配得准 思路2:跟踪问题视为单样本学习问题 • 通过第一帧给出的目标“理解”目标,在后续帧中,不需要再输入模板,即只有一个输入, 网络可以根据自己理解的模板,在新图片中预测出目标 • 这条思路的关键在于如何让网路仅仅看一眼目标(第一帧)就能向目标检测那样,“理解” 目标 • Siamese系列是基于第一种思路
7. Siamese网络 • siamese 网络是05年由Yann Lecun提出[1]的网络结构。Siamese nets are supervised models for metric learning [1] • 如右图所示[2][3],输入是两张图片,输出是特征向量[2]或 者匹配程度(-1~1)[3] 。网络可以看做是共享权重的两个网 络。 • 提取出来的特征要具有足够的鲁棒性和判别性:对于同一图 片/物体,经过旋转、尺度、视角等变换后,提取出来的特征 应该相似;对于不同的图片/物体,特征应距离较远。 • 应用:local feature extractipn, face verification, person re-ID [1] S. Chopra, R. Hadsell, and Y. LeCun. Learning a similarity metric discriminatively, with application to face verification. In Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on, volume 1, pages 539–546. IEEE, 2005. [2] E. Simo-Serra, E. Trulls, L. Ferraz, I. Kokkinos, P. Fua and F. Moreno-Noguer, "Discriminative Learning of Deep Convolutional Feature Point Descriptors," 2015 IEEE International Conference on Computer Vision (ICCV), Santiago, 2015, pp. 118-126, doi: 10.1109/ICCV.2015.22. [3] Zagoruyko, Sergey, and Nikos Komodakis. “Learning to Compare Image Patches via Convolutional Neural Networks.” 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2015): n. pag. Crossref. Web.
8. SiamFC ECCVw 2016 CVPR 2017 SiamRPN CVPR 2018 DaSiamRPN ECCV 2018 SiamMask CVPR 2019 SiamRPN++ CVPR 2019 Fully-Convolutional Siamese Networks for Object Tracking 利用深度学习进行目标跟踪的开山之作 High Performance Visual Tracking with Siamese Region Proposal Network 将Siamese网络与RPN结合,解决SiamFC的尺度问题 Distractor-aware Siamese Networks for Visual Object Tracking 从模型学习数据上增强模型判别性,同时改进搜索区域,适应长时间跟踪 Fast Online Object Tracking and Segmentation: A Unifying Approach 同时解决目标跟踪和分割两个问题 SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks 从数据的角度解决了Siam网络无法加深的问题
9. SiamFC ECCVw 2016 CVPR 2017 Fully-Convolutional Siamese Networks for Object Tracking SiamRPN CVPR 2018 DaSiamRPN ECCV 2018 SiamMask CVPR 2019 SiamRPN++ CVPR 2019 Bertinetto L , Valmadre J , Henriques J F , et al. Fully-Convolutional Siamese Networks for Object Tracking[C]// European Conference on Computer Vision. Springer, Cham, 2016.
10. SiamFC ECCVw 2016 CVPR 2017 SiamRPN CVPR 2018 DaSiamRPN ECCV 2018 SiamMask CVPR 2019 SiamRPN++ CVPR 2019 details
11. SiamFC training ECCVw 2016 CVPR 2017 • 对于score map上的每一点u,将离目标中心点r半径内的label都设置为1,其他设为0, 考虑网络的步长k(作者给出k=8),有 SiamRPN CVPR 2018 DaSiamRPN ECCV 2018 SiamMask CVPR 2019 SiamRPN++ CVPR 2019 • 在点u处使用logistic loss,y为预测值,v为标签值,loss function为: • D为score map,对所有的 ,计算损失并取平均,得到最终的损失函数:
12. testing SiamFC ECCVw 2016 CVPR 2017 SiamRPN CVPR 2018 • siamfc的template是不更新的,即一直为第一帧 • 模型的鲁棒性不佳,例如随着时间的变化template出现遮挡、模糊等情况 • 如果更新策略不佳又会引入模板污染、过拟合等问题,在这方面也有相关工作讨论。 DaSiamRPN ECCV 2018 • 搜索区域不是整个srch_img,是之前的四倍大小的搜索区域 • 在feature map上加了余弦窗,对离目标远的区域进行抑制 • 为了解决尺度问题,对srch_img进行缩放了3种or5种尺度,进行multi-scale test。 SiamMask CVPR 2019 SiamRPN++ CVPR 2019
13. SiamFC experiment ECCVw 2016 CVPR 2017 • 数据集:OTB13(OTB: Object Tracking Benchmark)。数据集包含了50段视频,涉及到目标跟踪领域所需应 对的11个视频属性,包括光照变化、尺度变化、遮挡、形变、运动模糊等等 SiamRPN CVPR 2018 • 评价指标:Success Plot(the average per-frame success rate at different IOU thresholds) • 可以发现SiamFC和SiamFC-3s的效果都居于前两名。 DaSiamRPN ECCV 2018 SiamMask • OPE(one-pass evaluation): • CVPR 2019 • TRE(temporal robustness evaluation): • SiamRPN++ CVPR 2019 用ground-truth中目标的位置初始化第一帧,然后运行跟踪算法得到成功率。 从不同的帧作为起始进行追踪,初始化采用的bounding box即为对应帧标注的ground-truth。最后对这些结果取 平均值,得到TRE score。 • SRE(spatial robustness evaluation): • 为了避免有些算法对初始化时给定的bounding box比较敏感,通过将ground-truth轻微的平移和尺度的扩大与缩
14. SiamFC ECCVw 2016 CVPR 2017 experiment • 数据集:VOT(Visual Object Tracking),包含2013-2018 6个数据集 • VOT2013共提出了六种视觉属性:相机移动、光照变化、目标尺寸变化、目标动作变化、未退 化。对序列中的每一帧都进行视觉属性的标注。 SiamRPN CVPR 2018 • 从VOT2015开始, 包含60段视频 • 从VOT2016开始, VOT由以往的人工标注变成了半自动的标注,通过分割算法拟合得到的, 比 OTB的标注框更为精细。 DaSiamRPN ECCV 2018 VOT2017数据集引入了real-time子任务, 要求跟踪算法至少以20FPS的速度运行 • VOT2018数据集进一步引入了长时跟踪(Longterm Tracking) 任务, 对短暂离开视野和遮挡情 况下算法的性能进行评测 • SiamMask • 评价系统:重启机制 • 过去比较流行的评价系统是让tracker在序列的第一帧进行初始化,之后让tracker一直跑到最后 一帧。然而tracker可能会因为其中一两个因素导致其在开始的某些帧就跟丢(fail),所以最终 CVPR 2019 评价系统只利用了序列的很小一部分,造成浪费。 • SiamRPN++ CVPR 2019 VOT提出,评价系统应该在tracker跟丢的时候检测到错误(failure),并在failure发生的5帧之后 对tracker重新初始化(reinitialize),这样可以充分利用数据集。 • 之所以是5帧而不是立即初始化,是因为failure之后立即初始化很可能再次跟踪失败,又因为视 频中的遮挡一般不会超过5帧,所以会有这样的设定。
15. experiment SiamFC ECCVw 2016 CVPR 2017 • SiamRPN VOT 2014 • Accuracy:准确率,平均IOU • Robustness:可以理解为“上一次跟踪失败后 能够持续跟踪S帧的概率”。先计算出failure CVPR 2018 率M,然后 DaSiamRPN • ECCV 2018 VOT 2015 • EAO(the expected average overlap) • 首先计算视频前N_s帧的平均帧覆盖率, 随着视频帧序号的增加,平均覆盖率值会 SiamMask 降低。然后对图像进行积分。 CVPR 2019 SiamRPN++ CVPR 2019 • VOT 2016 ……
16. SiamFC defects ECCVw 2016 CVPR 2017 SiamRPN CVPR 2018 DaSiamRPN SiamFC在ImageNet视频序列的结果 ECCV 2018 SiamMask CVPR 2019 SiamRPN++ CVPR 2019 • SiamFC只对目标中心点位置进行预测,尺度通过multi-scale test得到 • SiamFC不能更新bbox的长宽比
17. SiamFC defects ECCVw 2016 CVPR 2017 SiamRPN CVPR 2018 DaSiamRPN (from EDCF)SiamFC在跟踪过程中的heatmap,左边是根据ground truth选定的patch,右边是 对应的heatmap ECCV 2018 SiamMask CVPR 2019 • SiamFC并不能区分不同的物体,周边的具有语义的物体都会得到一个非常大的响应。 • SiamFC是如何做到较为适宜的跟踪结果呢? • 重点在高斯窗,通过高斯窗的平滑,SiamFC很快抑制了较远的目标。跟踪的时候 运动并不剧烈,周边的干扰物较少,不存在出画面重新搜索等问题。 SiamRPN++ CVPR 2019 • 总的来说,跟踪的目标不适合背景嘈杂以及剧烈的抖动。 Qiang Wang, Mengdan Zhang, etc. Do not Lose the Details: Reinforced Representation Learning for High Performance Visual Tracking. IJCAI 2018.
18. SiamFC Follow-up: CFNet ECCVw 2016 CVPR 2017 SiamRPN CVPR 2018 DaSiamRPN ECCV 2018 SiamMask CVPR 2019 Contribution:第一次将相关滤波融入到CNN架构中,模型采用SiamFC + CF (correlation filter) 的结构,用较少的卷积层数(2层CNN,参数量只有几千,是5 层的4%)而不降低精度。 SiamRPN++ CVPR 2019 Valmadre, Jack et al. “End-to-End Representation Learning for Correlation Filter Based Tracking.” 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017): n. pag. Crossref. Web.
19. SiamFC ECCVw 2016 CVPR 2017 SiamRPN CVPR 2018 DaSiamRPN ECCV 2018 SiamMask CVPR 2019 SiamRPN++ CVPR 2019 Fully-Convolutional Siamese Networks for Object Tracking 利用深度学习进行目标跟踪的开山之作 High Performance Visual Tracking with Siamese Region Proposal Network 将Siamese网络与RPN结合,解决SiamFC的尺度问题 Distractor-aware Siamese Networks for Visual Object Tracking 从模型学习数据上增强模型判别性,同时改进搜索区域,适应长时间跟踪 Fast Online Object Tracking and Segmentation: A Unifying Approach 同时解决目标跟踪和分割两个问题 SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks 从数据的角度解决了Siam网络无法加深的问题
20. SiamFC ECCVw 2016 CVPR 2017 High Performance Visual Tracking with Siamese Region Proposal Network SiamRPN CVPR 2018 DaSiamRPN ECCV 2018 SiamMask CVPR 2019 SiamRPN++ CVPR 2019 Li B , Yan J , Wu W , et al. High Performance Visual Tracking with Siamese Region Proposal Network[C]// 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2018.
21. SiamFC RPN • ECCVw 2016 CVPR 2017 RPN网络广泛应用在目标检测任务中。 detection有两项 task:定位和识别,RPN就是单独用来location(定位)的网络。 • SiamRPN Conv layers:首先使用一组基础的conv+relu+ pooling层提 取image的feature maps。该feature maps被共享用于后续 CVPR 2018 RPN层和全连接层。 • Region Proposal Networks:RPN网络用于生成region proposals。该层通过softmax判断anchors属于positive或者 DaSiamRPN negative,再利用bounding box regression修正anchors获得 ECCV 2018 精确的proposals。 • SiamMask Roi Pooling:收集输入的feature maps和proposals,综合这 些信息后提取proposal feature maps,送入后续全连接层判 CVPR 2019 定目标类别。 Faster RCNN architecture • Classification:利用proposal feature maps计算proposal的类 别,同时再次bounding box regression获得检测框最终的精 SiamRPN++ CVPR 2019 确位置。 Ren, Shaoqing et al. “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks.” IEEE Transactions on Pattern Analysis and Machine Intelligence 39.6 (2017): 1137–1149. Crossref. Web.
22. SiamFC RPN ECCVw 2016 CVPR 2017 • RPN的输入是接的卷积层后的feature SiamRPN CVPR 2018 maps,是被高度抽象的特征图了,所 以RPN并不需要花参数层在特征提取上, 因此RPN可以是一个比较轻量级的网络。 DaSiamRPN ECCV 2018 • RPN有两个分支:分类和回归 • 分类是做一个二分类,是“目标” 和“不是目标” SiamMask CVPR 2019 • 回归,是bounding box回归,给出 的是偏移量(dx, dy, dw, dh) • RPN的作用是“修框”而不是“生框”, SiamRPN++ CVPR 2019 通过对anchor进行回归得到proposal。
23. SiamFC Architecture ECCVw 2016 CVPR 2017 SiamRPN CVPR 2018 DaSiamRPN ECCV 2018 SiamMask CVPR 2019 SiamRPN++ • 分类和回归分支的响应图: • 最终的损失函数: • 其中, 是交叉熵损失, 是 四个参数的Smooth L1损失的均值: • Bbox回归的四个参数预测值和真实值的距离: • 定义smooth L1损失为: CVPR 2019 防止梯度爆炸&在0处可导
24. SiamFC testing ECCVw 2016 CVPR 2017 SiamRPN CVPR 2018 DaSiamRPN ECCV 2018 • 选择proposal的strategy: • 选择在目标周围g×g×k的anchors而不是在整个特征图上的m×n×k的anchors,如图g=7 • 用cosine窗口和尺度变化penalty对剩下的proposals得分进行重新排序。在删除了离目标较 SiamMask CVPR 2019 远的proposals后,cosine窗口用于抑制最大位移,然后增加penalty以抑制尺寸和比例的大 幅变化。最后选出得分最高的前K个proposals,并用NMS选出最终的跟踪目标位置。另外, 在跟踪目标得到后,通过线性插值更新目标尺寸,保持形状平稳变化。 SiamRPN++ CVPR 2019
25. one-shot detection SiamFC ECCVw 2016 CVPR 2017 • SiamRPN CVPR 2018 one-shot检测[1]: • 最核心的思想方法就是通过离线训练的方法得到一个了learner net(文章里简称为learnet),然后 通过在线的方式动态生成一个pupil net的参数,而且learnet只需要一张样本就可以生成pupil net 的网络参数。Pupil net可以为分类器或者其他任务。为了简单起见,参数为动态生成的只有其 中一层或者两层,如图所示,*代表有参数的层,红色的代表参数由learnet动态生成的。 DaSiamRPN ECCV 2018 • 将模板支的输出作为本地检测的卷积核, 在整个跟踪过程中,卷积核参数都是用第 一帧信息提前计算好的,当前帧跟踪可以 SiamMask 看做如上图所示的one-shot检测,提取出 CVPR 2019 检测支中得分前M的样本的分类输出信息 和回归输出信息。根据输出信息,可以得 到前M个proposals的位置信息 SiamRPN++ CVPR 2019 [1] Bertinetto L , Henriques J F , Valmadre J , et al. Learning feed-forward one-shot learners[J]. 2016.
26. SiamFC Experiment ECCVw 2016 CVPR 2017 SiamRPN CVPR 2018 DaSiamRPN ECCV 2018 SiamMask • Accuracy: average overlap while tracking successfully CVPR 2019 • Failure: failure times • EAO: Expected Average Overlap which takes account of both accuracy • EFO: Equivalent Filter Operations. 衡量tracking速度的单位。使用600×600的图像,做30*30窗口的滤波, SiamRPN++ CVPR 2019 来得到机器的性能。然后使用跟踪算法处理每帧图像的评价时间除以以上滤波操作的时间,得到了一个 归一化的性能参数,就是EFO。
27. SiamFC Experiment ECCVw 2016 CVPR 2017 SiamRPN CVPR 2018 DaSiamRPN ECCV 2018 SiamMask CVPR 2019 • 帧率达到25fps的算法称为“实时”算法,在所有实时算法里只有SiamRPN的 准确率最高,达到了实时tracking的state-of-the-art。 SiamRPN++ CVPR 2019 • SiamRPN的速度可以达到160fps。