论文笔记(一) GOTURN

来源:互联网 发布:思科网络会议系统 编辑:程序博客网 时间:2024/05/20 18:17

一.算法原理

       GOTURN(Generic Object Tracking Using Regression Networks)这个算法没有过多的图像处理过程,主要是利用了卷积神经网络的特性进行学习。其中网络的结构类似于孪生网络(Siamese Network),采用两输入的方式。通过输入前后两幅图像,输出目标的窗口(左上角坐标和右下角坐标)。

    假设目标窗口的长宽分别是wh,假设相邻两帧图像中目标的变化区域不大。对于第一帧图像,我们先人为设定目标区域中心点,然后利用窗口长宽设置跟踪窗口,为了更好的捕捉目标的变化,将将网络输入中的前后两帧中的目标搜索窗口扩大,具体方式见下图:


    在本研究中选取k1=k2=2,可以发现如果目标出现突变,那么k值将需要取得很大,因此在平滑的变化场景中效果会更好。

        其中,卷积层是采用的5层结构(这里的5层结构是参照了CaffeNet里面的结构,其中卷积层的激励函数都采用了relu激励函数,部分卷积层后面添加了池化层),而全连接层则是由3层,每层4096个节点,各层之间采用dropoutrelu激励函数,以防过拟合和梯度消失。而输出则是一个四维向量,分别是跟踪窗口左上角和右下角坐标。

        其中,卷积层是采用的5层结构(这里的5层结构是参照了CaffeNet里面的结构,其中卷积层的激励函数都采用了relu激励函数,部分卷积层后面添加了池化层),而全连接层则是由3层,每层4096个节点,各层之间采用dropoutrelu激励函数,以防过拟合和梯度消失。而输出则是一个四维向量,分别是跟踪窗口左上角和右下角坐标。

而损失函数则是采用的L1-Loss的方式,也是为了防止梯度消失,形式如下:

                                        

       其中,y表示实际输出,d表示真实标签。


二.样本准备

1.样本来源

       样本来自于ALOV300++307个视频流和ImageNet Detection Challenge中的标记了窗口的478807个物体的图片。其中251部视频作为训练集,56部视频作为验证集(可用作微调),因此训练集中包含13082张视频帧,平均每52帧一个目标,验证集中包含2795张图片,共56个目标。而ImageNet中的静态图片则都是用来扩充训练集的样本,又因为样本扩充中的随机变换仅在目标未占满整幅图时才有效,在这里研究裁剪出至少超过图像尺寸66%的目标图像作为样本,因此从134821张图片中获取了239283个样本。

        而测试集则是来源于VOT 2014 Tracking Challenge中的25部视频,视频的每一帧都注释有遮挡、光照变化、运动、大小变化、机位移动等变化形式。

2.样本扩充

       为了提高网络的鲁棒性和推广性能,该研究通过随机化目标中心位置和跟踪窗口大小来提高训练样本多样性。

      假设分别为变换前后的目标中心点坐标,通过预测其下一步移动位置来生成样本:



      其中横纵向的位移量服从Laplace分布,其概率分布如下:


     其中为位置参数,b为尺度参数,其函数形式类似于双指数分布,函数图如下:


     

     可以发现决定了函数中心位置,而b越小函数越陡,另外值得注意的是靠近y轴部分的区域面积最大,且b越小中间区域面积越大。因此目标中心位置也是主要是小范围的变动。同样地,目标窗口的大小也随机变化:



       其中分别是目标窗口的长宽变化因子,也都满足Laplace分布。通过交叉验证,该实验最终选取的分布参数是:


       但是又要必须保证跟踪窗口必须至少包含目标的一半,另外通过约束来防止目标窗口过度拉伸和变形。

三.结果分析

      利用以上方法,对训练集中的图像随机切块k3=10次,然后将样本做mini-batch处理,每批50个。另外在训练时,卷积层部分直接是利用ImageNet的预训练参数,不用在本研究的样本中进行微调,以防过拟合。网络训练的学习率设置为le-5,其他的参数都参照CaffeNet中的默认参数。

       对于网络结果则是选取了精确度、鲁棒性两个参数进行评价。总体效果如下:

       可以发现,随着训练集中视频种类的提升(14,37,157和307个视频,样本总数不变)其精确度和鲁棒性更高,其中精确度接近于最好的几个算法。

       该算法是在Nvidia GeForce GTX Titian X GPU(cuDNN)平台上跑,可达6.05ms/帧,或者说165fps。其运行时间效果见图:

      红色点是该算法的运行时间,可以发现虽然该算法运行时间不是最高的,但是结合效果来看其排名最高。对于网络的实现原理,作者则是提出了两点假设:

      1.通过对比前后两帧图像提取目标;

      2.网络直接作为一种局部的通用“目标检测器”,直接定位最接近的“物体”。

      通过两种输入模式(仅仅输出当前帧、前一帧+当前帧)在不同的情形下的效果来验证假设。


      可以发现遮挡、机位变化和光照变化时两种模式的差异最大,进而说明假设一起主导地位,反之在无变化、运动和大小改变时假设二起主导地位。
      对于模型的通用性和专用性能,作者通过控制测试集样本特性进行了实验:


    由图可知,随着样本集的增大,模型的通用性和专用性都在提升。最后通过作者通过销蚀分析来检测影响模型性能的其他因素,结果见表


    由表可知,L1-loss的方式相对L2-loss方式误差减少了近20%,另外当目标运动不平滑时,也有30%误差,另外纯视频训练集的效果最好。

四.总结与展望

       不同于传统的目标跟踪算法(在线提取训练集然后利用网络训练在GPU下仅达1fps,特定目标的跟踪,区域匹配算法则需要对窗内各点作评价对比,比较耗时,虽然现在结合了RNN中的“注意力机制”,但是效果依然不能与目前最好的算法相提并论)。GOTURN算法无论是在运行效率,还是跟踪效果上都很好。文中作者还提出,GOTURN算法可以结合TLD框或者“注意力机制”进行试验。


原文及代码地址:点击打开链接





原创粉丝点击