前一段时间 VOT2018 竞赛发榜,3个项目冠军皆被国内团队摘得。3支队伍在知乎上的目标检测与跟踪专栏分享算法引来热议。而这其中最亮眼的莫过于 DaSiamRPN,在性能接近顶尖的同时,保持数十倍于对手的速度。DaSiamRPN 改进自孪生网络,一如当年的 KCF,虽不是首创,却将效果发挥到极致。
SiameseFC
SiameseFC 的基础网络为 AlexNet 的5层卷积,无 padding,添加 BN。SiameseFC 提取一对图像的特征,通过类似卷积的相关(correlation)操作方法,可以快速的实现模板与搜索区域中的17x17个小图像进行比对,输出的17x17的响应图,相当于每个位置和模板帧的相似度。SiameseFC 的 stride 为8, 网络输出的模板响应图分辨率较低。为了得到更高精度的位置,采用插值的方法,把分辨率放大16倍,达到与输入尺寸相近的大小。
SiameseFC 网络简单,然而基于模板匹配无法预测尺度上的变化,所以只能通过多尺度测试(3s)来预测尺度的变化,从而拉低了速度。
反向传播时,
x
和z
分支如何处理?迭代两次?
训练数据:
ILSVRC VID 数据集4417个视频,超过2百万标注帧。
网络计算量
Type/Stride | Filter Shape | Input Size | GFLOPs |
---|---|---|---|
Conv1 / s2 | 11x11x3 | 255x255x3 | 0.98 |
MaxPool1 / s2 | 3x3 | 123x123x96 | |
Conv2 / g2 | 5x5x96 | 61x61x96 | 1.86 |
MaxPool2 / s2 | 3x3 | 57x57x256 | |
Conv3 | 3x3x256 | 28x28x256 | 0.56 |
Conv4 / g2 | 3x3x192 | 26x26x192 | 0.18 |
Conv5 / g2 | 3x3x128 | 24x24x128 | 0.10 |
Correlation | 6x6x128 | 22x22x128 | 0.002 |
total | | | 3.7 |
SiamRPN
SiamRPN 通过引入物体检测领域中的区域推荐网络(RPN),回归目标框位置,避免 SiameseFC 中响应图插值和多尺度测试等操作,既提升了速度又得到更为精准的目标框。网络利用与 Faster R-CNN 算法类似的损失函数进行网络训练。
SiamRPN 基于 AlexNet,Fast R-CNN 中 RPN 基于 ZF-Net。ZF-Net 是 AlexNet 的修改版,这意味着 SiamRPN 是在用 RPN 做相关(cross correlation)操作。
网络计算量(仅为估计)
Type/Stride | Filter Shape | Input Size | GFLOPs |
---|---|---|---|
Conv1 / s2 | 11x11x3 | 255x255x3 | 0.98 |
MaxPool1 / s2 | 3x3 | 123x123x96 | |
Conv2 | 5x5x96 | 61x61x96 | 3.72 |
MaxPool2 / s2 | 3x3 | 57x57x256 | |
Conv3 | 3x3x256 | 28x28x256 | 1.11 |
Conv4 | 3x3x384 | 26x26x384 | 1.42 |
Conv5 | 3x3x384 | 24x24x256 | 0.80 |
reg_d | 3x3x256 | 22x22x256 | 0.44 |
cls_d | 3x3x256 | 22x22x256 | 0.44 |
Correlation_reg | 4x4x256 | 20x20x256 | 0.04 |
Correlation_cls | 4x4x256 | 20x20x256 | 0.02 |
total | | | 8.97 |
训练数据
VID + Youtube-BB。稀疏标记的 Youtube-BB 视频包含每30帧一次注释的200,000多个视频。实验中,VID 和 Youtube-BB 的数据占比设为1:5。
DaSiamRPN
大多数的孪生网络跟踪器使用的特征都只能区分前景和非语义背景。而跟踪过程中,也有语义的背景带来的干扰,其通常是限制跟踪性能的重要因素。DaSiamRPN 分析了训练过程中样本对跟踪过程的影响,发现正负样本不均衡是导致跟踪性能瓶颈的主要原因。
DaSiamRPN 从两个角度解决这个问题:
- 训练过程中,通过控制采样方式来控制正负训练样本的分布,并且引入含有语义的负样本;
- 测试过程中提出干扰物感知模块来调整跟踪器,使其适应当前的视频。
除此之外,作者还设计了一种局部到全局的搜索区域增长方法,将算法扩展到长期跟踪。在UAV20L、UAV123、VOT2016、VOT2017数据集上,所提出的方法均可取得目前最好的结果,同时速度可达到160FPS。不过作者提到尽管增强了跟踪器的判别力并加入了在线分类器,余弦窗这个拐棍仍然丢不掉。
然而作者开源的代码砍掉了干扰物感知模块及搜索区域策略,所提供模型相比论文通道翻倍,计算量增至原来4倍,在 Kepler GK210(≈GTX 1060)上实测为35FPS。
网络计算量(SiamRPNBIG)
Type/Stride | Filter Shape | Input Size | GFLOPs |
---|---|---|---|
Conv1 / s2 | 11x11x3 | 271x271x3 | 2.23 |
MaxPool1 / s2 | 3x3 | 131x131x192 | |
Conv2 | 5x5x192 | 65x65x192 | 17.03 |
MaxPool2 / s2 | 3x3 | 61x61x512 | |
Conv3 | 3x3x512 | 30x30x512 | 5.17 |
Conv4 | 3x3x768 | 28x28x768 | 4.46 |
Conv5 | 3x3x512 | 26x26x512 | 2.53 |
reg_d | 3x3x512 | 24x24x512 | 2.13 |
cls_d | 3x3x512 | 24x24x512 | 2.13 |
Correlation_reg | 4x4x512 | 22x22x512 | 0.11 |
Correlation_cls | 4x4x512 | 22x22x512 | 0.06 |
regress_adjust | 1x1x20 | 19x19x20 | 0.0003 |
total | | | 35.9 |
训练数据
ImageNet Detection + COCO Detection
SiamFC 和 SiamRPN 训练时,目标对来自同一视频中的不同帧。但是,这些视频检测数据集只包含少数类别(VID 为20,Youtube-BB 为30),这不足以为 Siamese 跟踪训练高质量且通用的特征。此外,SiamRPN 中的边界框回归分支在遇到新类别时可能会得到较差的预测。DaSiamRPN 通过引入大规模 ImageNet Detection 和 COCO Detection 数据集,大大扩展了正对的类别。通过增强技术(平移、调整大小、灰度等),来自检测数据集的静止图像可用于生成用于训练的图像对。正对的多样性能够提高跟踪器的判别能力和回归准确性。
文中暗示“运动模式可以通过网络中的浅层轻松建模”。
性能比较
A 表示精确度,是在成功跟踪期间的平均重叠率,R 表示鲁棒性,衡量跟踪器在跟踪期间丢失目标(失败)的次数。
总结
如果说 SiamRPN 的大数据离线学习让跟踪变成了“台上一分钟,台下十年功”。那么 DaSiamRPN 则首开抛弃视频造数据的先河。个人认为2018年似乎是一个转折点。原因如下:
- SiamRPN 的出现预示着神经网络对于相关滤波的取代态势;
- 从速度上看相关滤波所借助的融合特征已达上限;
- 最新的检测相关技术被引入:
SiamRPN 使用了 RPN,MDBD 使用了 MobileNet-SSD,RT-MDNet 使用了 RoIAlign。 - TrackingNet 和 Long-term Tracking in the Wild 所代表的新数据集将深度学习带入更大的舞台。
参考资料
- ECCV视觉目标跟踪之DaSiamRPN
- 2018CVPR之siameseRPN
- [深度学习] [目标跟踪] Siamese-RPN论文阅读笔记
- 【目标跟踪】SiameseRPN:High Performance Visual Tracking with Siamese Region Proposal Network
- Understanding AlexNet
- 深度学习经典卷积神经网络之AlexNet
- 经典CNN网络 - AlexNet总结
- 卷积神经网络模型解读汇总——LeNet5,AlexNet、ZFNet、VGG16、GoogLeNet和ResNet
- faster-rcnn 之 RPN网络的结构解析
- [CVPR2017] CFNet 论文解读
- CVPR 2018 |基于孪生区域推荐网络的高性能单目标跟踪
- CVPR2018视觉目标跟踪之 SiameseRPN