黑栗子 发自 凹非寺
量子位 报道 | 公众号 QbitAI
这是黑客帝国,尼奥和史密斯雨中打斗的样子。
而目标追踪AI要在光照急剧变化、物体形状大小也不断改变的场景里,准确锁定尼奥的头。
红色是商汤最新算法SiamRPN++的表现,它中选了CVPR 2019的Oral。
蓝色是它的对手,来自ECCV 2018的优秀前辈UPDT。自古红蓝出CP。
动作太快,看不出红蓝谁更强?有截图啊:
肉眼看去,商汤SiamRPN++更胜一筹,几乎不受复杂场景的影响。
不止如此,它已经在多个数据集上成为了State-of-the-Art。
同时也成了商汤Siam家族的骄傲。现在,整个家族都开源了:
· SiamMask (CVPR 2019)
· SiamRPN++ (CVPR 2019 oral)
· DaSiamRPN (ECCV 2018)
· SiamRPN (CVPR 2018)
· SiamFC (ECCV 2016)
但这到底是一个怎样的家族?
显赫之家
Siam是Siamese的缩略,所以整个家族都是孪生网络。
所谓孪生,就是两个网络的所有权重都一样。
给它们输入不同的数据,便可以测量两个输入的相似度,做分类之用。
经年累月,团队死磕孪生网络,用这类算法来做目标跟踪。
在这之中,SiamRPN赫然挺立,中选了CVPR 2018的Spotlight。
SiamRPN:把检测算法引入跟踪
这只AI的诞生,是因为团队发现:虽然孪生网络能对目标快速定位,但不能对目标框作出调整,也就不能调节目标的形状。
可目标跟踪并不是只要定一个点,目标所在的范围也同样重要。
于是,团队为孪生网络引入了区域推荐网络 (RPN) 。
孪生网络可以实现对目标的适应,利用被跟踪目标的信息,完成检测器的初始化;而RPN可以让算法对目标位置 (范围) 做出更精准的预测。
两者结合,就有了可以端到端训练的SiamRPN。除了算法上的创新之外,由于支持端到端训练, (在VID之外) 大规模数据集Youtube-BB也成了它的训练集,进一步提升性能。
于是,在OTB100、VOT15/16/17数据集上,SiamRPN都比基线算法SiamFC高出了5%以上,速度也更快。它被CVPR 2018选作了Spotlight。
DaSiamRPN:改进训练集,增强判别能力
虽然,SiamRPN取得了好成绩,但它是用VID和Youtube-BB训练的:里面的类别非常少,大概二三十类,很难胜任现实任务。
而COCO和ImageNet DET的检测数据集,分别有80类和200类。且孪生网络的训练只需要图像对,不用完整的视频,所以轻松就把这些数据集引入了。
可引入之后又有新问题:这个网络会对所有有语义的样本进行响应,不只对目标物体有响应。比如目标是一个人,而AI遇到一把椅子也有很高的响应。
因为之前的训练中,负样本 (和目标无关的样本) 只有背景信息,限制了网络的判别能力。
于是,团队改进了方法——增加一些有语意的负样本对,来增强跟踪器的判别能力。
这就是说,训练过程中不再让模板 (Template) 和搜索区域 (Search Region) 是相同目标;是让网络学习判别能力,去搜索区域里找模版更相似的物体,而不是一个简单的有语义的物体。
做了这样的改动,DaSiamRPN可以从短时跟踪拓展到长时跟踪,且在UAV20L数据集上比之前成绩最好的方法提高了6%。
DaSiamRPN被ECCV 2018收录,且在VOT workshop比赛上,获得了实时赛的冠军,比上年冠军提升了80%。
SiamRPN++:让孪生网络用上深度架构
算法也改过了,训练集也改过了。
所以,团队这一次瞄准了还没改过的孪生网络本身。
之前的孪生网络,都是基于比较浅的卷积网络 (比如AlexNet) 。但如果直接引入深度网络,性能反而会大幅下降。
想有效利用深网络,就要解决位置偏见的问题。于是,研究人员提出了“位置均衡的采样策略”:
不把正样本放在中心,而是以均匀分布的采样方式,让目标在中心点附近进行偏移。
随着偏移范围增大,深度网络慢慢开始发挥作用。不止可以跟踪更多细节信息 (浅层网络特征) ,也能跟踪更多语义信息 (深层网络特征) 。多层融合信息,来进一步提升性能。
除此之外,团队还提出了新的连接部件,Depthwise Cross Correlation (下图c) 。它可以极大减少参数量,平衡两支的参数量,同时让训练更加稳定,也更好地收敛。
结果,SiamRPN++在5个大型跟踪数据集上,都拿到了最好成绩:OTB2015,VOT2018,UAV123,LaSOT,以及TrackingNet。
突破了孪生网络和深度架构之间的障碍,这只AI顺理成章地中选了CVPR 2019的Oral。
大规模开源
这些孪生网络,现在都开源了。
商汤发布了一个叫做PySOT的目标跟踪库,基于PyTorch,把整个Siam家族装了进去。回顾一下,包括这些模型:
· SiamMask (CVPR 2019)
· SiamRPN++ (CVPR 2019 oral)
· DaSiamRPN (ECCV 2018)
· SiamRPN (CVPR 2018)
· SiamFC (ECCV 2016)
PySOT库提供了3种不同的backbone,有深有浅:
· ResNet{18, 34, 50}
· MobileNetV2
· AlexNet
模型评估,目前支持这些数据集:
· OTB2015
· VOT16/18/19
· VOT18-LT
· LaSOT
· UAV123
PySOT里面,还包含了评估工具的接口。
所以,大家可以尽情探索了。
PySOT传送门:
https://github.com/STVIR/pysot
SiamRPN论文传送门:
http://openaccess.thecvf.com/content_cvpr_2018/papers/Li_High_Performance_Visual_CVPR_2018_paper.pdf
DaSiamRPN论文传送门:
https://arxiv.org/abs/1808.06048
SiamRPN++论文传送门:
https://arxiv.org/abs/1812.11703
— 完 —
诚挚招聘
量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。
量子位 QbitAI · 头条号签约作者
?'?' ? 追踪AI技术和产品新动态
本文暂时没有评论,来添加一个吧(●'◡'●)