本发明属于深度学习和计算机视觉领域,特别是指一种新型基于孪生卷积网络的图像跟踪算法。
背景技术:
目标跟踪技术是计算机视觉任务中的一个重要分支,被广泛应用于自动驾驶,视频监控和机器人等领域。传统目标跟踪算法主要依赖于手工标注特征和滤波算法(如kcf,tld等),速率较快但是准确率和鲁棒性较低,难以满足实际应用要求。近年来随着人工智能与深度学习的兴起,卷积神经网络算法逐步进入目标跟踪领域,并且取得了不俗的表现与成绩,其中以孪生卷积网络为基础的算法框架凭借其良好得性能表现和简洁的网络结构,在近几年国际计算机视觉顶会以及跟踪赛事中受到了极大关注。
rpn(regionproposalnetwork)层最早是在目标检测算法faster-rcnn中提出的,它代替了传统的候选区域生成算法(如滑动窗口等),用于生成检测算法中的候选区域。其特点是运算效率很高没有冗余计算,能够产生高质量的候选区域,极大的提升了相关two-stage检测算法的性能表现。
为进一步提高跟踪算法对目标与背景的区分能力,同时将传统跟踪任务转换为单样本学习(one-shot)检测任务,提高算法推理阶段的运算效率,提出一种新型基于孪生卷积网络的图像跟踪算法。
技术实现要素:
鉴于上述技术背景,本发明在传统孪生卷积网络的算法基础上加入rpn层,进一步提高了跟踪算法对目标与背景的区分能力,同时将传统跟踪任务转换为单样本学习(one-shot)检测任务提高了算法推理阶段的运算效率。
为了实现上述目的,本发明采用了如下技术方案:
设计一种新型基于孪生卷积网络的图像跟踪算法,包括以下步骤:
步骤s1,选取孪生卷积网络的全卷积网络,选取alexnet网络的前五层,进行搭建神经网络框架,对需要进行跟踪的目标进行网络输入;所述网络输入由跟踪目标图像和跟踪区域图像两部分构成;
步骤s2,在所述全卷积结构的基础上添加rpn层,所述rpn层由监督学习部分和滤波部分构成,所述监督学习部分由回归支路和分类支路组成,所述回归支路为reg支路,所述分类支路为cls支路;将所述全卷积网络的输出
其中,所述a表示rpn输出特征图,所述w表示输出特征图的宽,所述h表示输出特征图的高,所述k表示anchor数目,所述*表示滤波运算;
由于加入了rpn层,所以使用多任务损失函数作为本算法的损失函数,所述cls支路使用交叉熵作为损失函数,reg支路使用smoothl1loss作为损失函数;
步骤s3,具体按照如下算法进行训练:
1):定义ax,ay,aw,ah表示anchor的中心坐标以及宽高,tx,ty,tw,th表示地面实况的中心坐标以及宽高。因此归一化距离可以由下述数学表达式表示:
2):smoothl1loss的数学表达式为:
由1)得回归支路的损失函数为:
3)由上述步骤s1,s2以及多任务损失函数定义得到最终损失函数为:
loss=lcls+λlreg
其中,lcls为分类支路的交叉熵损失函数,lreg为步骤s2所描述的smoothl1损失函数,参数λ为超参数,所述λ用于平衡分类与回归两支路的权重。
步骤s4,所述滤波部分负责对目标和跟踪区域的特征图根据所述步骤s3的具体算法进行滤波操作获得输出响应图得出结果。所述算法输出为目标响应值最高点在特征图上的坐标。
优选的,所述cls支路的输出特征共2k层,两层为一个group,每个group中每层特征图上的每个像素点表示一个anchor的分类信息;
所述reg支路的输出特征共有4k层,四层为一个group,每个group的特征图的每个像素点分别表示dx,dy,dw,dh,4k层表示每个像素点上k个anchor的边界框坐标。
优选的,将所述图像跟踪算法转化为单样本检测的算法为:
(1).将所述孪生卷积网络部分分为template支路和detection支路,所述template支路用于检测任务中的训练参数,将类别信息嵌入到卷积核中;所述detection支路将被嵌入卷积核中的信息进行检测;
使用平均损失作为网络的损失函数,找到权重矩阵w,使如下数学表达式成立:
其中,xi为第i个输入样本,ψ(xi;w)表示预测函数,li表示第i个样本的实际值;
(2).定义函数ω为前馈方程,将(z;w')映射为w,因此(1)中的数学表达式表示为:
其中,zi为第i个template样本,即目标区域图像;
(3).定义函数
在算法前向推理阶段,第一帧中的目标区域被送入template支路产生cls,reg卷积核之后template支路被去除,剩余帧依次通过detection支路(detectionbranch中相关卷积参数均提前计算完成)与cls,reg卷积核计算产生最终的特征图。因为跟踪所需要的目标信息,只由经过template支路的第一帧提供,所以本算法能够视为一次单样本检测任务。
本发明提出的一种新型基于孪生卷积网络的图像跟踪算法,有益效果在于:本发明在孪生卷积网络结构的基础上增加了rpn层,在增加跟踪算法对目标与背景的区分能力的同时,将传统的跟踪任务转换为单样本(one-shot)检测任务,提高了算法的运行效率,准确性与速度相较于传统跟踪算法有了极大的提升。
附图说明
图1为本发明的流程示意图。
图2为本发明的原理结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
一种新型基于孪生卷积网络的图像跟踪算法,包括以下步骤:
步骤s1,选取孪生卷积网络的全卷积网络,选取alexnet网络的前五层,进行搭建神经网络框架,对需要进行跟踪的目标进行网络输入;网络输入由跟踪目标图像和跟踪区域图像两部分构成。
步骤s2,在全卷积结构的基础上添加rpn层,rpn层由监督学习部分和滤波部分构成,监督学习部分由回归支路和分类支路组成,回归支路为reg支路,分类支路为cls支路;将全卷积网络的输出
其中,a表示rpn输出特征图,w表示输出特征图的宽,h表示输出特征图的高,k表示anchor数目,*表示滤波运算;
其中,cls支路使用交叉熵作为损失函数,reg支路使用smoothl1loss作为损失函数;
步骤s3,具体按照如下算法进行训练:
1):定义ax,ay,aw,ah表示anchor的中心坐标以及宽高,tx,ty,tw,th表示地面实况的中心坐标以及宽高。因此归一化距离由下述数学表达式表示:
2):smoothl1loss的数学表达式为:
由1)得回归支路的损失函数为:
3)由上述步骤s1,s2以及多任务损失函数定义得到最终损失函数为:
loss=lcls+λlreg
其中,lcls为分类支路的交叉熵损失函数,lreg为步骤s2所描述的smoothl1损失函数,参数λ为超参数,λ用于平衡分类与回归两支路的权重。
步骤s4,滤波部分负责对目标和跟踪区域的特征图根据步骤s3的具体算法进行滤波操作获得输出响应图得出结果,算法输出为目标响应值最高点在特征图上的坐标。
cls支路的输出特征共2k层,两层为一个group,每个group中每层特征图上的每个像素点表示一个anchor的分类信息;
reg支路的输出特征共有4k层,四层为一个group,每个group的特征图的每个像素点分别表示dx,dy,dw,dh,4k层表示每个像素点上k个anchor的边界框坐标。
将图像跟踪算法转化为单样本检测的算法为:
(1).将孪生卷积网络部分分为template支路和detection支路,template支路用于检测任务中的训练参数,将类别信息嵌入到卷积核中;detection支路将被嵌入卷积核中的信息进行检测;
使用平均损失作为网络的损失函数,找到权重矩阵w,使如下数学表达式成立:
其中,xi为第i个输入样本,ψ(xi;w)表示预测函数,li表示第i个样本的实际值;
(2).定义函数ω为前馈方程,将(z;w')映射为w,因此(1)中的数学表达式表示为:
其中,zi为第i个template样本,即目标区域图像;
(3).定义函数
实施例2
在vot2015数据集上实施本算法,并与其他最先进技术的跟踪算法(包括传统基于孪生网络的跟踪算法)比较各项性能指标,结果如下表所示:
实施例3
在vot2016数据集上实施本算法,并与其他最先进技术的跟踪算法(包括传统基于孪生网络的跟踪算法)比较各项性能指标,结果如下表所示:
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。