一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于3D卷积模板更新的孪生网络目标跟踪方法与流程

2021-11-09 23:16:00 来源:中国专利 TAG:

一种基于3d卷积模板更新的孪生网络目标跟踪方法
技术领域
1.本发明属于基于视频的单目标跟踪技术领域,具体涉及一种基于3d卷积模板更新的孪生网络目标跟踪方法。


背景技术:

2.单目标跟踪是指,对于一组视频图像序列,由人工指定出在视频图像序列的第一帧时某个目标所在位置后,根据目标跟踪算法计算出该目标在后续帧中的位置的过程。单目标跟踪时计算机视觉领域的一个重要研究方向,它旨在使得计算机能够拥有人类对于目标的持续捕捉的能力。而以深度学习为基础的基于孪生神经网络的目标跟踪算法是当前的一个主流研究方向,其成果在科研领域与生活应用中都起到重要作用。
3.目标跟踪算法在日常生活中用途广泛,无论在智能监控、无人驾驶、交通监视、医学诊断等领域中都扮演着重要的角色。在军事上也发挥着如无人机视觉、精确制导、空中预警等重要作用。
4.近些年来,深度学习算法的发展迅猛,并且不断与各种新兴或传统领域进行融合,促进相互的发展。于是,深度学习与目标跟踪算法的结合也成为了近期的研究热点。其中基于孪生神经网络结构的算法是主流方向。通过使用第一帧给出的目标图像生成模板,对后续的图像进行卷积运算,结果中的最大值就是目标最可能所在的位置。通常情况下基于孪生神经网络的目标跟踪算法所使用的目标模板是保持不变的,而现在的许多涉及模板更新的方法其运行速度较慢很难做到实时计算。


技术实现要素:

5.本发明的目的是提供一种基于3d卷积模板更新的孪生网络目标跟踪方法,解决了现有技术中存在的对于跟踪中物体外表形变鲁棒性较差的问题以及进行模板更新导致速度较慢的问题。
6.本发明所采用的技术方案是,一种基于3d卷积模板更新的孪生网络目标跟踪方法,其特征在于,具体按照以下步骤实施:
7.步骤1、构建整体网络,并对整体网络结构进行端到端的训练;
8.步骤2、使用所述步骤1训练好的网络对即将进行跟踪的视频图像序列进行初始化跟踪设置,得到本次跟踪任务的初始目标模板与目标的初始位置信息;
9.步骤3、得到步骤2的初始目标模板后,开始正常跟踪流程,在跟踪过程中使用基于apce的判断方法判断当前跟踪结果是否可靠,若可靠则保留,若不可靠则不进行保留,并继续跟踪过程,于视频图像序列的每一帧都会计算出一个对应的目标在图像中的位置;
10.步骤4、在对视频图像序列的每一帧跟踪计算结束时,均判断是否满足模板更新条件,即步骤3中保留的可靠跟踪结果是否达到2个,若已有2个可靠跟踪结果则将最新的结果替换最老的结果,若满足则进行模板更新,若不满足则不进行模板跟踪,继续步骤3的正常跟踪流程;
11.步骤5、使用所述步骤4更新后的模板对当前跟踪到的视频帧后续的视频图像序列继续进行步骤3的正常跟踪;
12.步骤6、重复步骤3~步骤5,直至跟踪完毕所有视频图像序列,由此得到视频每一帧中目标所在位置,跟踪任务结束。
13.本发明的特点还在于,
14.步骤1中整体网络结构分为两部分:第一部分为用于深度特征提取的孪生神经网络,即特征提取网络,第二部分是用于进行模板更新的3d卷积神经网络,即3d模板更新模块;
15.特征提取网络分为四层:前两层均由卷积层、最大池化层、激活函数层构成;后两层则每层均包含卷积层与激活函数层;3d模板更新模块则由一层3d卷积层构成;
16.使用元学习one

shot learning,在每个数据集视频中随机选取两个视频帧组成图片对,前者作为目标图,后者作为搜索图用来训练网络,每个视频选取10个图片对,每个图片对含有四张视频帧,第一帧为视频的第一帧,后面3张图在视屏中随机选取,第二张和第三张图片间距不超过15帧,第三张和第四张图片间距不超过10帧,前三帧作为搜索图用于合成跟踪模板,最后一帧作为搜索图,在搜索图处理中,导入到3d卷积更新模块的三张图片是一样,都是图片对的最后一张图,训练50次,一次导入的图片为32对,损失函数采用logistic损失函数。
17.步骤1中组成训练用图片对,需要对选取的图片进行数据增强,数据增强具体按照以下步骤实施:
18.步骤1.1、首先对训练集中选择出的样本进行随机拉伸randomstretch操作,拉伸后的尺寸倍数设置为0.095~1.005之间,放大后需要填充的部分使用线性插值法填充;然后进行中心裁剪centercrop操作,即从训练图片对的中心处裁剪出尺寸为263*263的区域,接着进行随机裁剪randomcrop操作,从训练图片对中的随机位置裁剪出大小为255*255的区域,最后进行裁剪转换,原始的got

10k数据集中图片的box,即目标位置框,以(left、top、weight、height)形式给出,也就是目标框距离图片左边框与上边框的距离和目标框本身的宽与高,通过裁剪转换操作将目标框坐标形式转化为(y、x、h、w)即中心点的坐标与目标框的高和宽;
19.步骤1.2、进行loss的计算:
20.训练过程中的损失函数使用交叉熵损失,其公式为:
21.l(y,v)=log(1 exp(

yv))
22.其中,v代表response图中每个像素点的实际取值,而y代表该像素点的标签;
23.在实际的训练过程中按照所有侯选位置的平均loss计算损失其公式如下:
[0024][0025]
y[u]∈{ 1,

1}表示对于每一个位置u∈d的实际标签,v[u]表示d中u的值,d为网络输出的最后的分数图;
[0026]
步骤1.3、计算出交叉熵损失后,使用梯度下降法进行参数优化,随机梯度下降方法sgd的计算公式如下:
[0027]
argmin
θ
e
(z,x,y)
l(y,f(z,x;θ))
[0028]
以此可得到最优参数θ;
[0029]
经过50遍的训练后网络的最终loss稳定在0.1以下,则训练过程结束。
[0030]
步骤2具体如下:
[0031]
步骤2.1、在视频图像序列的第一帧图像上指定出目标的位置,将目标从图像中截取后进行缩放,得到尺寸为127*127*3的目标图片,然后将目标图片传入整体网络中的特征提取网络,输出的深度特征即为初始模板,初始模板的尺寸为6*6*256,单位为像素,初始模板的计算公式如下:
[0032][0033]
其中,z为输入的目标图片,函数代表特征提取网络,代表特征提取网络的输出,即目标模板;
[0034]
步骤2.2、进行参数的初始化:
[0035]
在视频图像序列第一帧中,由人工标定给出的目标位置信息被称为box,box有四条信息分别是目标的横坐标、纵坐标、宽度、高度,因此第一帧是不需要进行跟踪运算的,只需要按照给定的box将对应的目标初始中心坐标与初始宽高设定的成box内的数值,即完成了目标的初始化过程。
[0036]
步骤3具体如下:
[0037]
步骤3.1、首先是多尺度的目标搜索:
[0038]
采用多尺度目标搜索策略,即以图像视频序列的上一帧跟踪结果中的目标坐标为基础,截取出不同尺寸的图片称之为搜索区域,并将搜索区域的图片都传入特征提取网络提取出搜索区域的深度特征,公式如下:
[0039][0040]
其中,x为输入的搜索区域图片,函数代表特征提取网络,代表特征提取网络的输出,也就是搜索区域特征;
[0041]
步骤3.2、基于卷积的相似度计算:
[0042]
由所述步骤1训练得到的特征提取网络将输入的搜索区域图片与目标模板映射到统一特征空间,此时通过运用卷积运算便得到二者的相似性,具体为使用6*6*256尺寸的目标模板作为卷积核对尺寸为22*22*256的搜索区域特征进行卷积运算,得到尺寸为1*17*17的特征图,特征图上每一个像素点的值代表搜索区域对应位置处与目标模板的相似程度,其中的最大值就是预测出的目标位置,具体计算公式如下:
[0043][0044]
需要对尺度变化的预测加上惩罚项,惩罚项是对响应图中每个像素点上的值乘以一个小于1的系数,以此来达到对目标形变的惩罚;
[0045]
步骤3.3、基于apce的跟踪质量估计:
[0046]
选用apce峰值检测判断跟踪质量:
[0047]
apce的计算公式如下:
[0048]
[0049]
其中:f
max
表示响应图中的最大值;f
min
表示响应图中的最小值,f
w,h
表示响应图中对应像素点的值;
[0050]
当apce小于设定的阈值时,则不会被选择用来更新模板,只用apce的值大于设定阈值时才会被保留为可靠跟踪结果。这些保留的可靠跟踪结果会作为输入用以进行步骤4的模板更新过程。
[0051]
步骤4具体如下:
[0052]
每当进行步骤3保留的可靠跟踪结果达到2个时,都会将这两个可靠跟踪结果输入到特征提取网络中得到深度特征,如果已经保存了两个可靠跟踪结果则用最新的跟踪结果将最老的跟踪结果替换掉。然后将这两个深度特征与初始模板共同输入3d卷积更新模块,得到融合后的最新模板。
[0053]
本发明的有益效果是,本发明使用3d卷积更新模块融合历史上保留的最近且最可靠的两次跟踪结果以及在开启跟踪任务时人工标注的目标信息来融合更新模板,这样得到的新模板,既能捕获到目标近期的外观信息也能拥有第一帧时最准确的目标外观信息,因此提高了模板对于目标外观形变的鲁棒性,提高了目标跟踪算法的性能,而利用apce来判断是否保留跟踪结果的模板更新方法也为模板融合提供了较好的图像信息大大改善了跟踪算法的准确率。为了使整体网络拥有更好的性能,本发明提供了一种对应的端到端训练方法使得3d卷积更新模块能够生成鲁棒性更强的模板。在更新机制上,本发明将更新流程与特征提取流程进行了解耦,大大提高了跟踪的速度,并且准确度也有所提高。
附图说明
[0054]
图1为本发明基于3d卷积模板更新的孪生神经网络目标跟踪方法的方法整体框架示意图;
[0055]
图2为本发明基于3d卷积模板更新的孪生神经网络目标跟踪方法的网络训练示意图;
[0056]
图3为本发明基于3d卷积模板更新的孪生神经网络目标跟踪方法的网络训练正样本示意图;
[0057]
图4为本发明基于3d卷积模板更新的孪生神经网络目标跟踪方法的跟踪初始化阶段示意图;
[0058]
图5为本发明基于3d卷积模板更新的孪生神经网络目标跟踪方法的多尺度搜索方法示意图;
[0059]
图6为本发明基于3d卷积模板更新的孪生神经网络目标跟踪方法的正常跟踪流程图;
[0060]
图7为本发明基于3d卷积模板更新的孪生神经网络目标跟踪方法的模板更新示意图;
[0061]
图8为本发明基于3d卷积模板更新的孪生神经网络目标跟踪方法的跟踪准确率曲线图;
[0062]
图9为本发明基于3d卷积模板更新的孪生神经网络目标跟踪方法的跟踪成功率曲线图;
[0063]
图10为本发明基于3d卷积模板更新的孪生神经网络目标跟踪方法的实际跟踪效
果展示图。
具体实施方式
[0064]
下面结合附图和具体实施方式对本发明进行详细说明。
[0065]
本发明一种基于3d卷积模板更新的孪生网络目标跟踪方法,流程图如图1所示,具体按照以下步骤实施:
[0066]
步骤1、构建整体网络,并对整体网络结构进行端到端的训练;
[0067]
步骤1中整体网络结构分为两部分:第一部分为用于深度特征提取的孪生神经网络,即特征提取网络,第二部分是用于进行模板更新的3d卷积神经网络,即3d模板更新模块;
[0068]
特征提取网络分为四层:前两层均由卷积层、最大池化层、激活函数层构成;后两层则每层均包含卷积层与激活函数层;3d模板更新模块则由一层3d卷积层构成;
[0069]
使用和siamfc算法一样的元学习one

shot learning,在每个数据集视频中随机选取两个视频帧组成图片对,前者作为目标图,后者作为搜索图用来训练网络,与siamfc算法不同的是,每个视频选取10个图片对,每个图片对含有四张视频帧,第一帧为视频的第一帧,后面3张图在视屏中随机选取,第二张和第三张图片间距不超过15帧,第三张和第四张图片间距不超过10帧,前三帧作为搜索图用于合成跟踪模板,最后一帧作为搜索图,在搜索图处理中,导入到3d卷积更新模块的三张图片是一样,都是图片对的最后一张图,训练50次,一次导入的图片为32对,损失函数采用和siamfc算法一样的logistic损失函数。具体的训练示意图如附图2
[0070]
步骤1中组成图片对,需要对选取的图片进行数据增强,数据增强具体按照以下步骤实施:
[0071]
步骤1.1、首先对训练集中选择出的样本进行随机拉伸randomstretch操作,拉伸后的尺寸倍数设置为0.095~1.005之间,放大后需要填充的部分使用线性插值法填充;然后进行中心裁剪centercrop操作,即从训练图片对的中心处裁剪出尺寸为263*263的区域,如果图片不够大,填充部分使用线性插值法,填充后再进行裁剪;接着进行随机裁剪randomcrop操作,从训练图片对中的随机位置裁剪出大小为255*255的区域,同样,如果原图片不够大则先使用线性插值法填充后再进行裁剪;最后进行裁剪转换,原始的got

10k数据集中图片的box,即目标位置框,以(left、top、weight、height)形式给出,也就是目标框距离图片左边框与上边框的距离和目标框本身的宽与高,通过裁剪转换操作将目标框坐标形式转化为(y、x、h、w)即中心点的坐标与目标框的高和宽;
[0072]
步骤1.2、进行loss的计算:
[0073]
在训练过程中,无论是searchimage(搜索区域图片)还是exemplarimage(模板图片)都是以目标为中心的,因此在计算损失时以响应图中心点作为中心的矩形内部属于目标,而矩形外部则不属于目标。具体见附图3训练中label的生成,本方法训练过程中的损失函数使用交叉熵损失,其公式为:
[0074]
l(y,v)=log(1 exp(

yv))
[0075]
其中,v代表response图中每个像素点的实际取值,而y代表该像素点的标签;
[0076]
在实际的训练过程中按照所有侯选位置的平均loss计算损失其公式如下:
[0077][0078]
y[u]∈{ 1,

1}表示对于每一个位置u∈d的实际标签,v[u]表示d中u的值,d为网络输出的最后的分数图;
[0079]
步骤1.3、计算出交叉熵损失后,使用梯度下降法进行参数优化,随机梯度下降方法sgd的计算公式如下:
[0080]
argmin
θ
e
(z,x,y)
l(y,f(z,x;θ))
[0081]
以此可得到最优参数θ;
[0082]
经过50遍的训练后网络的最终loss稳定在0.1以下,则训练过程结束。
[0083]
步骤2、使用所述步骤1训练好的网络对即将进行跟踪的视频图像序列进行初始化跟踪设置,得到本次跟踪任务的初始目标模板与目标的初始位置信息;
[0084]
步骤2具体如下:
[0085]
步骤2.1、在视频图像序列的第一帧图像上指定出目标的位置,将目标从图像中截取后进行缩放,得到尺寸为127*127*3的目标图片,然后将目标图片传入整体网络中的特征提取网络,输出的深度特征即为初始模板,初始模板的尺寸为6*6*256,单位为像素,初始模板的计算公式如下:
[0086][0087]
其中,z为输入的目标图片,函数代表特征提取网络,代表特征提取网络的输出,即目标模板;
[0088]
步骤2.2、进行参数的初始化:
[0089]
本方法在跟踪过程中会依据上一帧视频图像序列的跟踪结果,在其基础上进行当前跟踪过程的计算,其中就包括上一帧时目标的坐标与目标的宽高。因此在跟踪任务刚开始时,这些参数都需要进行初始化。在视频图像序列第一帧中,由人工标定给出的目标位置信息被称为box,box有四条信息分别是目标的横坐标、纵坐标、宽度、高度,因此第一帧是不需要进行跟踪运算的,只需要按照给定的box将对应的目标初始中心坐标与初始宽高设定的成box内的数值,即完成了目标的初始化过程。初始化示意图见附图4。
[0090]
步骤3、得到步骤2的初始目标模板后,开始正常跟踪流程,在跟踪过程中使用基于apce的判断方法判断当前跟踪结果是否可靠,若可靠则保留,若不可靠则不进行保留,并继续跟踪过程,于视频图像序列的每一帧都会计算出一个对应的目标在图像中的位置;
[0091]
步骤3具体如下:
[0092]
步骤3.1、首先是多尺度的目标搜索:
[0093]
为了解决在跟踪过程中,跟踪目标的尺度变化问题,本方法采用多尺度目标搜索策略,即以图像视频序列的上一帧跟踪结果中的目标坐标为基础,截取出不同尺寸的图片称之为搜索区域,并将搜索区域的图片都传入特征提取网络提取出搜索区域的深度特征,公式如下:
[0094][0095]
其中,x为输入的搜索区域图片,函数代表特征提取网络,代表特征提取网
络的输出,也就是搜索区域特征;
[0096]
步骤3.2、基于卷积的相似度计算:
[0097]
由所述步骤1训练得到的特征提取网络将输入的搜索区域图片与目标模板映射到统一特征空间,此时通过运用卷积运算便得到二者的相似性,具体为使用6*6*256尺寸的目标模板作为卷积核对尺寸为22*22*256的搜索区域特征进行卷积运算,得到尺寸为1*17*17的特征图,特征图上每一个像素点的值代表搜索区域对应位置处与目标模板的相似程度,其中的最大值就是预测出的目标位置,具体计算公式如下:
[0098][0099]
由于本方法所采用的多尺度搜索,在每一帧进行跟踪时总会按照不同的尺寸截取出多个搜索区域图。进行卷积计算后也会生成对应的多个响应图,因为目标在运动过程中尺寸大小很难发生突变,因此需要对尺度变化的预测加上惩罚项,惩罚项是对响应图中每个像素点上的值乘以一个小于1的系数,以此来达到对目标形变的惩罚;这提高了预测的准确性。多尺度搜索方法示意图见附图5。
[0100]
步骤3.3、基于apce的跟踪质量估计:
[0101]
本方法使用3d卷积模板更新模块进行模板的更新,其重要问题之一便是使用什么进行更新。对此本方法采用历史上较好的跟踪结果与第一帧由人工标定的目标模板作为融合更新模板的材料。因此就需要用一种评价标准来判断当前跟踪结果的质量是否足够高,本方法选用apce峰值检测判断跟踪质量:
[0102]
apce的计算公式如下:
[0103][0104]
其中:f
max
表示响应图中的最大值;f
min
表示响应图中的最小值,f
w,h
表示响应图中对应像素点的值;
[0105]
apce可以反映出响应图的震荡程度,一旦apce突然出现了骤降的情形说明目标可能出现了遮挡或丢失的情况,在这种情形下如果任然选择将跟踪的结果用来生成模板就会引入造成误差的背景信息,因此当apce小于设定的阈值时,则不会被选择用来更新模板,只用apce的值大于设定阈值时才会被保留为可靠跟踪结果。这些保留的可靠跟踪结果会作为输入用以进行步骤4的模板更新过程。整体的正常跟踪流程图见附图6。
[0106]
步骤4、在对视频图像序列的每一帧跟踪计算结束时,均判断是否满足模板更新条件,即步骤3中保留的可靠跟踪结果是否达到2个,若已有2个可靠跟踪结果则将最新的结果替换最老的结果,若满足则进行模板更新,若不满足则不进行模板跟踪,继续步骤3的正常跟踪流程;
[0107]
步骤4具体如下:
[0108]
每当进行步骤3保留的可靠跟踪结果达到2个时,都会将这两个可靠跟踪结果输入到特征提取网络中得到深度特征,如果已经保存了两个可靠跟踪结果则用最新的跟踪结果将最老的跟踪结果替换掉。然后将这两个深度特征与初始模板共同输入3d卷积更新模块,得到融合后的最新模板。不同于其余涉及模板更新的方法,通过事先保存深度特征可以做到深度特征的复用,并将特征提取网络与更新模块解耦,大大提高运行速度。模板更新示意
图见附图7。
[0109]
步骤5、使用所述步骤4更新后的模板对当前跟踪到的视频帧后续的视频图像序列继续进行步骤3的正常跟踪;
[0110]
步骤5具体如下:
[0111]
在模板更新后,便在下一次进行模板更新前一直使用新模板保持不变具体跟踪流程与步骤3相同,仍然在跟踪过程中不断保存可靠跟踪结果得到的深度特征。一旦得到一个新的深度特征就将存在时间最久的深度特征删除,并进行模板更新,如步骤4。
[0112]
步骤6、重复步骤3~步骤5,直至跟踪完毕所有视频图像序列,由此得到视频每一帧中目标所在位置,跟踪任务结束。
[0113]
步骤6具体如下:
[0114]
对于一个跟踪任务,在初始化完成后的整体流程如步骤3~5,在模板更新与跟踪计算间不断重复。在这个过程中,视频序列的每一帧都会被计算出该帧的目标位置并得到一个box用于表示。对于一个视频整体来看就会得到目标的运动轨迹。直至得到整个视频图像序列所有图像的目标位置,跟踪任务结束。本方法在测试集上的准确率与成功率见附图8、9。其中跟踪过程中的效果展示图见附图10。
[0115]
本发明创新的将基于孪生神经网络的目标跟踪算法的特征提取网络部分拆分为特征提取网络与3d卷积模板更新模块。在正常跟踪流程中,利用apce峰值检测保留并传入特征提取网络得到深度特征,当满足模板更新条件后用于进行模板更新。模板更新可以有效应对跟踪过程中目标外观形状的不断变化,而将特征提取网络与3d卷积模板更新模块分开的结构设计可以促进数据的复用,大大提高实际的运行速度,降低耦合度。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献