检测跟踪方法、装置以及介质与流程

文档序号:23718168发布日期:2021-01-24 06:28阅读:75来源:国知局
检测跟踪方法、装置以及介质与流程

[0001]
本发明涉及图像目标检测识别技术领域,具体涉及一种检测跟踪方法、装置以及计算机可读存储介质。


背景技术:

[0002]
目前,目标检测的应用非常广泛,特别是目标检测中的人脸检测安防、金融、教育、交通等几乎所有行业都有需求。从传统的boosting检测技术发展到早已成熟的基于深度学习deep learning的技术如ssd(直接多目标检测:single multi box detector)、yolo(统一事实目标检测,you only look once:unified,real-time object detection)、retinanet等,准确率和召回率都有了质的飞跃。目标检测作为目标识别系统的首要技术前提,经常结合跟踪关联、质量评估、关键点与对齐等算法模块构成一个抓拍系统,对监控画面的目标进行检测跟踪关联并选出最佳目标进行识别。
[0003]
常见的目标检测方法可以有deep learning类型,虽然deep learning带来了准确率和召回率的双重收益,但是视频动态的目标跟踪关联,需要精准的跟踪器,才能把不同目标从出现到离开的轨迹串接起来,构成可靠的目标识别轨迹数据。并且实际应用里面在准确率基本满足的前提下,单核cpu或者单个gpu所能支持的运算频率,某方面可以采用视频帧率fps(frame per second)来表示,越高,相应的技术实现就受青睐,即越容易推广。
[0004]
然而目前绝大部分的系统里面,算法模块流程基本上是“检测->跟踪关联->关键点->对齐->质量评估(质量分、角度、模糊度、亮度等属性)->选最佳目标”的过程。该过程对每个视频帧做目标检测,并且每个检测到的目标都要进行后续的模块计算,消耗极大。即使是单个tesla t4,最多也只能接入10路视频流,更别说让fps超越显卡的解码上限了,自然相应应用的成本就居高不下了。而且该逻辑上的跟踪关联存在着难以解决的语义关联问题,即检测完一帧图像然后利用历史帧的关联轨迹对当前帧的目标检测框进行匹配和关联,缺乏深度模型对帧序列的三维语义感知,导致跟丢率和跟错率居高不下,特别是在拥挤的场景下,关联的准确率更加难以控制了。


技术实现要素:

[0005]
为了克服上述缺陷,提出了本发明,以提供解决或至少部分解决如何利用目标检测和跟踪关联融合成单一模型降低运算量提高检测速度并且检测跟踪结果更准确的技术问题,以减少计算量,提高检测速度,降低成本,提高可靠性。本发明内容为一种检测跟踪方法、装置以及介质。
[0006]
第一方面,提供一种检测跟踪方法,包括:构建目标检测与跟踪关联相融合的单一检测跟踪模型;基于已经使用目标偏移量进行了目标关联标注的预定帧数的帧序列,对所述检测跟踪模型进行训练;将预定帧数的连续帧序列输入到训练完成的所述检测跟踪模型中,检测所述检测跟踪模型预测输出的预测目标偏移量是否能在输入的所述帧序列中关联到同一目标,以跟踪所述帧序列中的同一目标;其中,使用目标偏移量进行了目标关联标注
的所述帧序列为:对选择的同一视频的帧序列之间的同一目标使用目标偏移量进行目标关联标注。
[0007]
其中,对选择的同一视频的帧序列之间的同一目标使用目标偏移量进行目标关联标注,具体包括:对帧序列的每帧上的目标进行位置区域标注;对帧序列的相邻帧之间属于同一目标的位置区域使用目标偏移量进行标注;所述使用目标偏移量进行标注表示所述同一目标从上一帧的一个位置移到了当前帧的当前位置以将所述同一目标关联起来。
[0008]
其中,构建目标检测与跟踪关联相融合的单一检测跟踪模型,具体包括:将基于残差结构residualblock构造的特征检测主干网络backbone接入到ssd检测网络模型的特征提取段neck及其预测输出段heads中,以及,将所述特征提取段neck改造为pafpn连接通道,以连接检测主干网络backbone和预测输出段heads,构建检测网络residual-ssd;在所述检测网络residual-ssd的特征提取段neck增设与相邻帧之间目标偏移量对应的预测输出段heads的回归regression输出,以构建residual-ssd-track检测网络模型,作为所述检测跟踪模型。
[0009]
其中,基于已经使用目标偏移量进行了目标关联标注的预定帧数的帧序列,对所述检测跟踪模型进行训练,具体包括:读入预定帧数的帧序列中目标的位置区域的真值以及进行了目标关联标注的所述连续帧的相邻帧之间的同一目标的目标偏移量;基于所述检测跟踪模型的网络输入分辨率以及参考位置区域对所述目标的位置区域的真值进行编码;基于所述网络输入分辨率对所述目标偏移量进行编码;以及将两个所述编码与所述检测跟踪模型根据读入的所述真值和目标偏移量输出的预测结果进行均方误差mse,基于所述均方误差mse更新所述检测跟踪模型的模型参数;其中,所述预测结果包括预测目标的位置区域和预测目标偏移量;保存更新了模型参数的所述检测跟踪模型,作为训练完成的检测跟踪模型。
[0010]
其中,将预定帧数的帧序列输入到训练完成的所述检测跟踪模型中,检测所述检测跟踪模型预测输出的预测目标偏移量是否能在输入的所述帧序列中关联到同一目标,具体包括:所述检测跟踪模型根据输入的预定帧数的帧序列,输出预测的所述连续帧之间的同一个目标的目标偏移量以及相应的目标偏移量评分,以确定每一帧的目标到下一帧时的偏移位置;如果所述偏移位置能够命中下一帧的一个目标,则确定每一帧的所述目标与下一帧命中的一个目标为同一目标,并且将两个目标进行目标关联标注;依此将检测的帧序列中所有为同一目标的目标都分别关联起来;以跟踪所述帧序列中的同一目标,具体包括:将所述帧序列中已经进行目标关联标注的同一目标,以带有所述目标关联标注的形式显示。
[0011]
其中,所述同一视频的帧序列是采用固定间隔随机选择的帧序列;检测所述检测跟踪模型预测输出的预测目标偏移量是否能在输入的所述帧序列中关联到同一目标时,后一次输入的预定帧数的帧序列从前一次输入的帧序列的最后一帧开始;对所述检测跟踪模型的预测结果进行评估具体包括:对预测目标采用平均准确率map进行评估;对根据预测目标和预测目标偏移量进行关联的目标,进行召回率和错误率评估。
[0012]
第二方面,提供一种检测跟踪装置,包括:模型构建模块,用于构建目标检测与跟踪关联相融合的单一检测跟踪模型;关联模块,用于对选择的同一视频的帧序列之间的同一目标使用目标偏移量进行目标关联标注;模型训练模块,用于基于已经使用目标偏移量
进行了目标关联标注的所述帧序列,对所述检测跟踪模型进行训练;模型预测模块,用于将预定帧数的帧序列输入到训练完成的所述检测跟踪模型中,检测所述检测跟踪模型预测输出的预测目标偏移量是否能在输入的所述帧序列中关联到同一目标,以跟踪所述帧序列中的同一目标。
[0013]
其中,所述关联模块,具体用于执行如下操作:对帧序列的每帧上的目标进行位置区域标注;对帧序列的相邻帧之间属于同一目标的位置区域使用目标偏移量进行标注;所述使用目标偏移量进行标注表示所述同一目标从上一帧的一个位置移到了当前帧的当前位置,以将所述同一目标关联起来。
[0014]
其中,所述模型构建模块,具体用于执行如下操作:将基于残差结构residualblock构造的特征检测主干网络backbone接入到ssd检测网络模型的特征提取段neck及其预测输出段heads中,以及,将所述特征提取段neck改造为pafpn连接通道以连接检测主干网络backbone和预测输出段heads,构建检测网络residual-ssd;在所述检测网络residual-ssd的特征提取段neck增设与相邻帧之间目标偏移量对应的预测输出段heads的回归regression输出,以构建residual-ssd-track检测网络模型,作为所述检测跟踪模型。
[0015]
其中,所述模型训练模块,具体用于执行如下操作:读入预定帧数的帧序列中目标的位置区域的真值以及进行了目标关联标注的所述连续帧的相邻帧之间的同一目标的目标偏移量;基于所述检测跟踪模型的网络输入分辨率以及参考位置区域对所述目标的位置区域的真值进行编码;基于所述网络输入分辨率对所述目标偏移量进行编码;以及,将两个所述编码与所述检测跟踪模型根据读入的所述真值和目标偏移量输出的预测结果进行均方误差mse,基于所述均方误差mse更新所述检测跟踪模型的模型参数;其中,所述预测结果包括预测目标的位置区域和预测目标偏移量;保存更新了模型参数的所述检测跟踪模型,作为训练完成的检测跟踪模型。
[0016]
其中,所述模型预测模块,具体用于执行如下操作:所述检测跟踪模型根据输入的预定帧数的帧序列,输出预测的所述连续帧之间的同一个目标的目标偏移量以及相应的目标偏移量评分,以确定每一帧的目标到下一帧时的偏移位置;如果所述偏移位置能够命中下一帧的一个目标,则确定每一帧的所述目标与下一帧命中的一个目标为同一目标,并且将两个目标进行关联标注;依此将检测的帧序列中所有为同一目标的目标都分别关联起来;将所述帧序列中已经进行目标关联标注的同一目标,以带有所述目标关联标注的形式显示以进行跟踪。
[0017]
其中,所述同一视频的帧序列是采用固定间隔随机选择的所述同一视频的帧序列;所述模型预测模块,在检测所述检测跟踪模型预测输出的预测目标偏移量是否能在输入的所述帧序列中关联到同一目标时,后一次输入的预定帧数的帧序列从前一次输入的帧序列的最后一帧开始;所述评估模块,具体用于执行如下操作:对预测目标采用平均准确率map进行评估;以及对根据预测目标和预测目标偏移量进行关联的目标,进行召回率和错误率评估。
[0018]
第三方面,提供一种计算机装置,所述计算机设备包括存储器和处理器,所述存储器中存储有多条程序代码,所述程序代码适于由所述处理器加载并运行以执行第一方面提供的任一项所述的检测跟踪方法。
[0019]
第四方面,提供一种计算机可读存储介质,其中存储有多条程序代码,所述程序代
码适于由处理器加载并运行以执行第一方面提供的任一项所述的检测跟踪方法。
[0020]
本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
[0021]
对ssd检测网络模型中特征层组合进行改造,接入redidualblock构造的backbone、将necks的连接通道改造成pafpn增强了特征信息流动、增加回归输出的目标偏移量预测输出,其充分利用deep learning灵活的特征层组合,将目标检测与跟踪关联融合为单一检测跟踪模型;至少能带来了35%的性能提升,检测和跟踪几乎同步进行,使算法的视频帧处理fps超越解码能力,应用成本大幅度下降;并且,在训练阶段提供帧序列的位置区域真值和关联的偏移量,能提供更强的语义学习,使得原始的检测boxes和box score具有更强的鲁棒性;同时充分利用了连续视频帧的3d环境语义,不同帧之间的目标串联比独立的跟踪关联更加准确可靠。
[0022]
本发明的技术方案既具备了位置的定位功能,又能输出帧与帧之间的同一个目标的偏移量。相对原有的检测逻辑来说,计算量不但没有增强,反而加快,更重要的是可以省掉独立的跟踪关联模块,计算量大大减少。同时,因为该检测网络具备对视频3d序列空间语义的感知能力,输出的目标的帧间偏移是非常鲁棒的,可以为全序列跟踪关联的提供基础。
附图说明
[0023]
下面参照附图来描述本发明的具体实施方式,附图中:
[0024]
图1是根据本发明的检测跟踪方法的一个实施例的流程示意图;
[0025]
图2是根据本发明的技术方案的人脸关联标注的一个实施例示意图;
[0026]
图3是根据本发明的技术方案的头部输出headmap图的一个实施例示意图;
[0027]
图4是根据本发明的技术方案的模型训练的一个实施例示意框图;
[0028]
图5是根据本发明的检测跟踪装置的一个实施例的结构框图。
具体实施方式
[0029]
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
[0030]
在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“a和/或b”表示所有可能的a与b的组合,比如只是a、只是b或者a和b。术语“至少一个a或b”或者“a和b中的至少一个”含义与“a和/或b”类似,可以包括只是a、只是b或者a和b。单数形式的术语“一个”、“这个”也可以包含复数形式。
[0031]
附图中的流程图仅是一种示例性的流程演示,不代表本发明的方案中必须包括流程图中的所有的内容、操作和步骤,也不代表必须按照图中所显示的的顺序执行。例如,流程图中有的操作/步骤可以分解,有的操作/步骤可以合并或部分合并,等等,在不脱离本发明的发明主旨的情况下,流程图中显示的执行顺序可以根据实际情况改变。
[0032]
下面先对需要用到的术语进行解释:
[0033]
跟踪关联:对视频流的帧序列中的同一个目标关联起来并生成跟踪id。
[0034]
fps:视频帧率,检测处理视频的帧率。
[0035]
上/下采样:对图像或神经网络中的特征图进行倍数放大或缩小,采样手段包括线性插值、最近邻以及卷积等操作。本文下采样使用卷积,上采样使用线性插值。
[0036]
pafpn:深度学习检测网络中骨干部分backbone到输出heads(本发明例如为最后的4级1/2下采样)之间的一种连接技术。首先,对最后一级heads之前的输出(相对于本级是1/2的下采样)进行上采样操作,然后与倒数第二级heads之前的输出进行通道拼接;接着,对拼接进行上采样,再与第三级heads之前的输出进行通道拼接;依次类推一级一级从最后一级直到与第一级通道拼接。至此,反过来从第一级开始使用卷积进行下采样,与第二级进行通道拼接;然后对拼接使用卷积进行下采样,以此类推从第一级直至最后一级进行通道拼接。此连接有助于增强特征数据在特征层中的流动性。
[0037]
residual block:卷积神经网络使用的一种残差结构,通常用来解决模型深度加大的性能退化的问题。
[0038]
ssd:single shot multibox detector,基于全卷积的网络的检测,是一种单阶段的物体检测网络结构,用不同层检测不同大小的物体,主要能实现目标检测,例如图片中的人脸目标检测。
[0039]
l2-loss:预测值与真值之间的均方误差(mse),是一种用于回归模型的损失函数。
[0040]
backbone:主干网络,用于提取图片中的信息供后面网络使用。
[0041]
anchors:检测网络(例如ssd)输出特征图每个点位设定的参考box。
[0042]
目标偏移量:同一个目标,其在上一帧的位置到下一帧的位置之间的偏移向量。
[0043]
map:是mean average precision的缩写,即均值平均精度。作为目标检测中衡量检测精度的指标。计算公式为:map=所有类别的平均精度求和除以所有类别。
[0044]
下面结合一个应用场景的例子对本发明的实现方式进行具体描述。
[0045]
如图2所示,以人脸识别领域为例,获取视频,从同一视频的帧序列中,对连续两帧的两个人,除了标注了两帧中两个人脸的位置区域值(x,y,width,height)之外,还标注同一个人在两帧之间的偏移量(offset_x,offset_y),比如相邻两帧图中的两个人(被检测框圈住的一男一女),同一个女士则除了检测是标注了区域值还根据两帧图之间位置偏移标注了偏移量,即使用目标偏移量将同一个目标关联标注起来。
[0046]
模型改造:融合人脸检测与跟踪关联模型,形成单一的检测跟踪模型。具体在ssd检测网络的necks和heads,接入使用residualblock所构造的提取特征的主干网backbone(将ssd检测网络的原主干网络替换成该基于该residualblock构造的主干网),将其necks改造为了pafpn(上/下采样连接通道),其利用其最后4级的1/2下采样完成通道拼接;同时该模型还在necks部分增加了人脸偏移的预测输出(heads输出)且为回归输出。由此将改造后的ssd模型称为residual-ssd-track模型,该头部heads的输出heatmap如图3所示,检测网络输出的输出特征图的每个点位设定的参考矩形框anchor box(即预测矩形框),而图3的黑色虚线框内是新增的用于学习两帧之间目标物体偏移量的特征图(即在head预测输出增加的offset的预测输出)。
[0047]
训练模型:在该模型中输入帧序列的4帧图,这连续4帧图,均存在人脸关联标注,
作为训练样本,对该改造后的该模型进行训练。连续4帧图输入到模型中,通过残差结构主干网络经改造为pafpn的通道连接上/下采样提取特征图(anchor boxes)并在对heads预测输出的特征图的预测矩形框中的位置信息和分类信息等进行损失函数计算更新模型参数,最后完成模型训练。具体如输入连续4帧图时,读入这4帧图中已经存在的关联标注的位置区域值(真值)、同时读入前述相邻帧之间的同一个人的偏移量,由此进行特征图的提取和预测输出(例如特征图的交并比),从head预测输出后进行损失函数计算时基于网络输入分辨率和特征图对heads预测输出的人脸位置区域进行编码,而基于网络输入分辨率对heads预测输出的偏移量进行编码,然后两个编码跟网络输出的特征图中的信息再做均方误差后用于反向传输从而更新模型参数。训练中,将输入的4帧图进行特征提取并预测的过程中通道连接上/下采样的过程如图4所示示例,对最后一级的头head3之前的输出(本级是1/2的下采样)进行上采样,与倒数第二级的头head2之前的输出进行通道拼接rout,再对拼接进行上采样,与第三级的头head1之前的输出进行通道拼接rout,再对拼接进行上采样,依次类推直到与第一级的头head0的输出进行通道拼接;反过来,则从第一级的头head0开始使用卷积进行下采样与第二级的头head1进行通道拼接人后对拼接使用卷积进行下采样,依次类推直到最后一级的头head3进行通道拼接,如此,在预测输出计算损失函数后,对该模型进行参数调整更新。由此,对该模型进行目标的位置区域、box confidence(置信度scores)、人脸偏移量(offset)、offset评分都进行了训练。完成模型训练可以利用该模型进行预测。
[0048]
测试训练完成的模型,将视频输入到本发明的检测跟踪模型,该模型对预定数量的帧序列同时进行检测,例如每次输入4帧并检测,对输入视频流的连续4帧图中的人脸进行位置区域标注,同时预测连续帧之间人脸的预测偏移量,由此依次找出视频中每一帧的人脸到下一帧的偏移位置,如果该偏移位置落入到下一帧的某个人脸,就认为该每一帧的某个人脸与下一帧的命中的人脸是同一个人的,并将这两个人脸关联起来,其他依次类推,由此实现人脸的定位和跟踪的功能。该测试例子中,为保证关联的连贯性,下次测试时输入的4帧可以选择从上一次的第4帧开始。
[0049]
其中,检测跟踪模型是通过将特征层进行组合而融合了基于残差结构构造检测的主干网络,并接入到ssd检测网络模型,形成残差结构的ssd检测网络模型,并进一步对ssd检测网络的特征提取段和输出端进行改造,增设人脸偏移量对应预测输出,从而通过一个模型即可以实现快速的检测和跟踪,避免了大量的计算,并且因为对人脸的帧间的偏移进行预测,提高了跟踪关联的可靠性。该模型可以采用map对输出的预测结果(检测目标)进行评估,还可以对预测结果实现关联人脸的召回率和错误率的评估以最终确定输出分值评估最高的预测结果,从而提高模型的准确度。
[0050]
下面结合图1所示本发明的检测跟踪方法的一个实施例的流程示意图,对本发明的实现过程进行介绍。如图1所示,本发明实施例中的检测跟踪方法主要包括以下步骤:
[0051]
步骤s110:对选择的同一视频的帧序列之间的同一目标使用目标偏移量进行目标的关联标注。
[0052]
在一个实施方式中,使用目标偏移量进行了目标关联标注的所述帧序列即为:对选择的同一视频的帧序列之间的同一目标使用目标偏移量进行目标的关联标注。具体地,对帧序列的每帧上的目标进行位置区域标注;对帧序列的相邻帧之间属于同一目标的位置
区域使用目标偏移量进行标注;所述使用目标偏移量进行标注表示所述同一目标从上一帧的一个位置移到了当前帧的当前位置以将所述同一目标关联起来。
[0053]
其中,检测和跟踪的目标可以是人脸或移动的物体,目标偏移量可以是人脸偏移量或物体的偏移量。对帧序列的每帧上的目标进行检测框标注,确定目标的位置区域,对相邻帧之间属于同一目标的检测框锁定的目标的位置区域,进一步使用目标偏移量进行标注,以标识所述目标从前一帧的一个位置移到了当前帧的当前位置。
[0054]
其中,以人脸识别为例,收集人脸视频帧并进行标注,尤其是关联标注。具体地,除帧序列的每帧的人脸区域(x,y,width,height)进行标注以外,还标注同一个人在两帧之间的偏移(offset_x,offset_y)。参见图2,这样,两个帧序列的相邻两帧之间,连个检测到的目标(一男一女),女性目标除了其检测框所在人脸区域的中心坐标和边长被标注,还标注了第二帧图上该女性目标移动后的目标偏移量。将同一个人脸通过位置区域和偏移量,实现了帧与帧之间同一个人脸目标的关联标注。既具备了人脸位置的定位功能,又能输出帧与帧之间的同一个人脸的偏移量。
[0055]
在一个实施方式中,所述同一视频的帧序列是采用固定间隔随机选择的帧序列。可以采用固定间隔来随机选择帧序列,固定间隔可以是0、1、2,这样可以保证目标之间的关联性。
[0056]
步骤s120:构建目标检测与跟踪关联相融合的单一检测跟踪模型。
[0057]
在一个实施方式中,将基于残差结构residualblock构造的特征检测主干网络backbone接入到ssd检测网络模型的特征提取段neck及其预测输出段heads中,以及,将所述特征提取段necks改造为pafpn连接通道以连接检测主干网络backbone和预测输出段heads,构建检测网络residual-ssd;在所述检测网络residual-ssd的特征提取段neck增设与相邻帧之间目标偏移量对应的预测输出段heads的输出,并设定为回归regression输出,以构建residual-ssd-track检测网络模型,作为所述检测跟踪模型。
[0058]
其中,头部的输出headmap参见图3所示,单类anchor head输出示例:黑色虚线框内为新增的用于学习两帧之间目标物体偏移量的特征图,即与相邻帧之间目标偏移量对应的预测输出段heads的输出。参考矩形框/位置区域anchor的特征图包括置信度、类分值、区域中心坐标(x,y)、宽、高、偏移量坐标(x,y)。
[0059]
其中,改造为pafpn的特征组合层(特征提取段necks)的连接通道,能够在构建的模型进行训练时,有效增强特征数据在特征层中的流动性,网络检测和预测的速度效率都有所提升。
[0060]
步骤s130:基于已经使用目标偏移量进行了目标的关联标注的预定帧数的帧序列,对所述检测跟踪模型进行训练。
[0061]
在一实施方式中,读入预定帧数的帧序列中目标的位置区域的真值以及进行了目标关联标注的所述连续帧的相邻帧之间的同一目标的目标偏移量;基于所述检测跟踪模型的网络输入分辨率以及参考位置区域对所述目标的位置区域的真值进行编码;基于所述网络输入分辨率对所述目标偏移量进行编码;以及,将两个所述编码与所述检测跟踪模型根据读入的所述真值和目标偏移量输出的预测结果进行均方误差mse以用于反向传播进而更新所述检测跟踪模型的模型参数;其中,所述预测结果包括预测目标的位置区域和预测目标偏移量;保存更新了模型参数的所述检测跟踪模型,作为训练完成的检测跟踪模型。
[0062]
进一步,以人脸检测跟踪为例,训练所述模型时,每次推理前,读入连续的4帧人脸位置(x,y,width,height)的真值,同时读入相邻帧之间利用人脸偏移量关联标注了的同一人脸的该人脸偏移量(offset_x,offset_y)。在提取特征图从heads预测输出计算损失函数loss时,基于该模型的检测网络输入分辨率和参考位置区域对该人脸位置(x,y,width,height)的真值进行编码,基于该模型的检测网络输入分辨率对该偏移量(offset_x,offset_y)进行编码,并将这两个编码与该模型heads输出的预测结果中的特征图(检测到的目标的位置区域/检测框、预测的连续帧之间的同一目标的预测目标偏移量)做l2 loss均方差计算损失函数,用于反向传播,进而更新模型参数。
[0063]
进一步,利用步骤s110的视频标注、关联、步骤s120的检测跟踪模型,实现全流程训练。如图4的示意。模型一次输入视频的4个连续帧,帧与帧之间的间隔可以随机0,1或2,前提是确保帧间的人脸关联标注是存在的。进而,特征信息的流动过程,例如连接通道pafpn,先对最后一级heads之前的输出(相对于本级是1/2的下采样)进行上采样操作,然后与倒数第二级heads之前的输出进行通道拼接;接着对拼接进行上采样,再与第三级heads之前的输出进行通道拼接;依次类推直到与第一级通道拼接。至此,反过来从第一级开始使用卷积进行下采样,与第二级进行通道拼接;然后对拼接使用卷积进行下采样,以此类推直至最后一级拼接。
[0064]
其中,heads预测输出(结果)的维度中,如第一个head:136x136x3x9,前两个数字表示特征图的宽高分别为136和136像素;第三个数字表示anchors的个数为3;第四个数字表示九个通道:x(code)、y(code)、width(code)、height(code)、confidence、class score、offset_x,offset_y、offset score共9个特征表示。
[0065]
步骤s140:将预定帧数的帧序列输入到训练完成的所述检测跟踪模型中,检测所述检测跟踪模型预测输出的预测目标偏移量是否能在输入的所述帧序列中关联到同一目标,以跟踪所述帧序列中的同一目标。
[0066]
在一实施方式中,根所述检测跟踪模型根据输入的预定帧数的帧序列,输出预测的所述连续帧之间的同一个目标的目标偏移量以及相应的目标偏移量评分,以确定每一帧的目标到下一帧时的偏移位置;如果所述偏移位置能够命中下一帧的一个目标,则确定每一帧的所述目标与下一帧命中的一个目标为同一目标,并且将两个目标进行关联标注;依此将测试的帧序列中所有为同一目标的目标都分别关联起来。其中,测试所述检测跟踪模型时,第二次输入的预定帧数的帧序列从前一次输入的帧序列的最后一帧开始,以保证关联的连贯性。
[0067]
其中,对输出的预测目标的所述偏移量offset(坐标为offset_x,offset_y),若有相应的该偏移量评分offset_score(即有存在偏移的概率),则按照该评分offset_score去考虑检测该预测目标偏移量是否能在输入的所述帧序列中关联到同一目标,如果没有评分/概率则无需考虑对预测的目标偏移量是否去关联做检测。
[0068]
同样,测试该模型,得到预测结果,例如步骤130的head输出的维度中8个特征。以人脸检测跟踪为例,测试阶段,每次输入连续4帧视频帧,进行检测,根据连续帧之间人脸的预测偏移量,找出第k帧的人脸到第k+1帧的偏移位置,该偏移位置落入到第k+1帧的另一个人脸区域内,就认为第k帧的某个人脸与第k+1帧的命中人脸是同一个人的,并将这两个人脸关联起来,其他依次类推。
[0069]
步骤s150:对所述检测跟踪模型的预测结果进行评估。
[0070]
例如:对预测目标采用平均准确率map进行评估,以及,对根据预测目标和预测目标偏移量进行关联的目标,进行召回率和错误率评估。
[0071]
在一实施方式中,经平均准确率map(mean average precision)对检测到的人脸进行评估,和/或经召回率和错误率评估对关联人脸进行评估,得到分值高的预测结果,输出最终的预测结果。
[0072]
另一个实施方式中,也可以通过与人工标注进行对比的方式来评估所述检测跟踪模型的质量。
[0073]
进一步,对于质量不能达到期望的模型,可以调整训练输入的帧序列(训练集)以及其他参数,多次训练调整模型需要的参数,完善该检测跟踪模型。
[0074]
通过本发明技术方案的检测跟踪模型,既具备了目标位置的定位功能,又能输出帧与帧之间的同一个目标的偏移量。相对原有的检测逻辑来说,计算量不但没有增强,反而加快了。同时,因为该检测网络具备对视频3d序列空间语义的感知能力,输出的帧间偏移是非常鲁棒的,为全序列跟踪关联的提供基础。
[0075]
需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。
[0076][0077]
进一步地,根据本发明的另一实施例,对应前述的检测跟踪方法,提供一种检测跟踪装置,参见图5。该装置主要包括:
[0078]
关联模块510,用于使用目标偏移量进行了目标关联标注的所述连续帧序列为:对选择的同一视频的连续帧序列之间的同一目标使用目标偏移量进行目标的关联标注。其中,所述关联模块,具体用于执行如下操作:对连续帧序列的每帧上的目标进行位置区域标注;对连续帧序列的相邻帧之间属于同一目标的位置区域使用目标偏移量进行标注;所述使用目标偏移量进行标注表示所述同一目标从上一帧的一个位置移到了当前帧的当前位置,以将所述同一目标关联起来。以及,采用固定间隔随机选择的所述同一视频的连续帧序列。
[0079]
其中,检测和跟踪的目标可以是人脸或移动的物体,目标偏移量可以是人脸偏移量或物体的偏移量。对连续帧序列的每帧上的目标进行检测框标注,确定目标的位置区域,对相邻帧之间属于同一目标的检测框锁定的目标的位置区域,进一步使用目标偏移量进行标注,以标识所述目标从前一帧的一个位置移到了当前帧的当前位置。
[0080]
其中,以人脸识别为例,收集人脸视频帧并进行标注,尤其是关联标注。具体地,除连续帧序列的每帧的人脸区域(x,y,width,height)进行标注以外,还标注同一个人在两帧之间的偏移(offset_x,offset_y)。参见图2,这样,两个连续帧序列的相邻两帧之间,连个检测到的目标(一男一女),女性目标除了其检测框所在人脸区域的中心坐标和边长被标注,还标注了第二帧图上该女性目标移动后的目标偏移量。将同一个人脸通过位置区域和偏移量,实现了帧与帧之间同一个人脸目标的关联标注。既具备了人脸位置的定位功能,又能输出帧与帧之间的同一个人脸的偏移量。
[0081]
在一个实施方式中,所述同一视频的连续帧序列是采用固定间隔随机选择的连续帧序列。可以采用固定间隔来随机选择连续帧序列,固定间隔可以是0、1、2,这样可以保证目标之间的关联性。
[0082]
模型构建模块520,用于构建目标检测与跟踪关联相融合的单一检测跟踪模型。
[0083]
在一个实施方式中,将基于残差结构residualblock构造的特征检测主干网络backbone接入到ssd检测网络模型的特征提取段neck及其预测输出段heads中,以及,将所述特征提取段neck改造为pafpn连接通道以连接检测主干网络backbone和预测输出段heads,构建检测网络residual-ssd;在所述检测网络residual-ssd的特征提取段neck增设与相邻帧之间目标偏移量对应的预测输出段heads的回归regression输出,以构建residual-ssd-track检测网络模型,作为所述检测跟踪模型。
[0084]
其中,头部的输出headmap参见图3所示,单类anchor head输出示例:黑色虚线框内为新增的用于学习两帧之间目标物体偏移量的特征图,即与相邻帧之间目标偏移量对应的预测输出段heads的输出。参考矩形框/位置区域anchor的特征图包括置信度、类分值、区域中心坐标(x,y)、宽、高、偏移量坐标(x,y)。
[0085]
其中,改造为pafpn的特征组合层(特征提取段necks)的连接通道,能够在构建的模型进行训练时,有效增强特征数据在特征层中的流动性,网络检测和预测的速度效率都有所提升。
[0086]
模型训练模块530,用于基于已经使用目标偏移量进行了目标的关联标注的预定帧数的连续帧序列,对所述检测跟踪模型进行训练。
[0087]
在一个实施方式中,读入预定帧数的连续帧序列中目标的位置区域的真值以及进行了目标关联标注的所述连续帧的相邻帧之间的同一目标的目标偏移量;基于所述检测跟踪模型的网络输入分辨率以及参考位置区域对所述目标的位置区域的真值进行编码;基于所述网络输入分辨率对所述目标偏移量进行编码;以及,将两个所述编码与所述检测跟踪模型根据读入的所述真值和目标偏移量输出的预测结果进行均方误差mse以更新所述检测跟踪模型的模型参数;其中,所述预测结果包括预测目标的位置区域和预测目标偏移量;保存更新了模型参数的所述检测跟踪模型,作为训练完成的检测跟踪模型。
[0088]
进一步,以人脸检测跟踪为例,训练所述模型时,每次推理前,读入连续的4帧人脸位置(x,y,width,height)的真值,同时读入相邻帧之间利用人脸偏移量关联标注了的同一人脸的该人脸偏移量(offset_x,offset_y)。在提取特征图从heads预测输出计算损失函数loss时,基于该模型的检测网络输入分辨率和参考位置区域对该人脸位置(x,y,width,height)的真值进行编码,基于该模型的检测网络输入分辨率对该偏移量(offset_x,offset_y)进行编码,并将这两个编码与该模型heads输出的预测结果中的特征图(检测到的目标的位置区域/检测框、预测的连续帧之间的同一目标的预测目标偏移量)做l2 loss均方差计算损失函数,用于反向传播,进而更新模型参数。
[0089]
进一步,利用前述模块510的视频标注、关联、步骤s120的检测跟踪模型,实现全流程训练。如图4的示意。模型一次输入视频的4个连续帧,帧与帧之间的间隔可以随机0,1或2,前提是确保帧间的人脸关联标注是存在的。进而,特征信息的流动过程,例如连接通道pafpn,先对最后一级heads之前的输出(相对于本级是1/2的下采样)进行上采样操作,然后与倒数第二级heads之前的输出进行通道拼接;接着对拼接进行上采样,再与第三级heads
之前的输出进行通道拼接;依次类推直到与第一级通道拼接。至此,反过来从第一级开始使用卷积进行下采样,与第二级进行通道拼接;然后对拼接使用卷积进行下采样,以此类推直至最后一级拼接。
[0090]
其中,heads预测输出(结果)的维度中,如第一个head:136x136x3x8,前两个数字表示特征图的宽高分别为136和136像素;第三个数字表示anchors的个数为3;第四个数字表示x(code)、y(code)、width(code)、height(code)、confidence、class score、offset_x,offset_y共8个特征表示。
[0091]
模型预测模块540,用于将预定帧数的连续帧序列输入到训练完成的所述检测跟踪模型中,检测所述检测跟踪模型预测输出的预测目标偏移量是否能在输入的所述连续帧序列中关联到同一目标,以跟踪所述连续帧序列中的同一目标。
[0092]
具体地,所述检测跟踪模型根据输入的预定帧数的连续帧序列,输出预测的所述连续帧之间的同一个目标的目标偏移量以及相应的目标偏移量评分,以确定每一帧的目标到下一帧时的偏移位置;如果所述偏移位置能够命中下一帧的一个目标,则确定每一帧的所述目标与下一帧命中的一个目标为同一目标,并且将两个目标进行关联标注;依此将测试的连续帧序列中所有为同一目标的目标都分别关联起来。
[0093]
其中,测试所述检测跟踪模型时,第二次输入的预定帧数的连续帧序列从前一次输入的连续帧序列的最后一帧开始,以保证关联的连贯性。
[0094]
其中,对输出的预测目标的所述偏移量offset(坐标为offset_x,offset_y),若有相应的该偏移量评分offset_score(即有存在偏移的概率),则按照该评分offset_score去考虑检测该预测目标偏移量是否能在输入的所述连续帧序列中关联到同一目标,如果没有评分/概率则无需考虑对预测的目标偏移量是否去关联做检测。
[0095]
同样,测试该模型,得到预测结果,例如步骤130的head输出的维度中8个特征。以人脸检测跟踪为例,测试阶段,每次输入连续4帧视频帧,进行检测,根据连续帧之间人脸的预测偏移量,找出第k帧的人脸到第k+1帧的偏移位置,该偏移位置落入到第k+1帧的另一个人脸区域内,就认为第k帧的某个人脸与第k+1帧的命中人脸是同一个人的,并将这两个人脸关联起来,其他依次类推。
[0096]
评估模块550,用于对所述检测跟踪模型的预测结果进行评估以输出最终预测结果。
[0097]
例如:对预测目标采用平均准确率map进行评估,以及,对根据预测目标和预测目标偏移量进行关联的目标,进行召回率和错误率评估。
[0098]
在一实施方式中,经平均准确率map(mean average precision)对检测到的人脸进行评估,和/或经召回率和错误率评估对关联人脸进行评估,得到分值高的预测结果,输出最终的预测结果。
[0099]
另一个实施方式中,也可以通过与人工标注进行对比的方式来评估所述检测跟踪模型的质量。
[0100]
进一步,对于质量不能达到期望的模型,可以调整训练输入的连续帧序列(训练集)以及其他参数,多次训练调整模型需要的参数,完善该检测跟踪模型。
[0101]
本发明解决了抓拍性能瓶颈问题,一个非常关键的优化方向是将人脸检测与跟踪关联融合到一个模型里面。可以在已有的deeplearning检测网络结构上增加多连续多帧
(也可以是等间隔的连续帧)的同时检测;除了连续帧的所有人脸位置输出之外,再引入分支支持帧与帧之间的人脸偏移量输出。这样,该网络既具备了人脸位置的定位功能,又能输出帧与帧之间的同一个人脸的偏移量。相对原有的检测逻辑来说,计算量不但没有增强,反而加快了,更重要的是可以省掉独立的人脸跟踪关联模块,计算量大大减少。同时,因为该检测网络具备对视频3d序列空间语义的感知能力,输出的人脸帧间偏移是非常鲁棒的,为全序列跟踪关联的提供基础。
[0102]
进一步,本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述存储介质中存储有多条程序代码,所述程序代码适用于由处理器加载并运行以执行前述的各个检测跟踪方法的步骤。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该存储装置可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中存储是非暂时性的计算机可读存储介质。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0103]
进一步,本发明还提供了一种计算机装置。在根据本发明的一个终端设备实施例中,其包括处理器和存储器,存储器可以被配置成存储多条程序代码,所述程序代码适于由该处理器加载并运行以执行前述检测跟踪方法的步骤。
[0104]
需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。
[0105]
进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本发明的系统的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图中的各个模块的数量仅仅是示意性的。
[0106]
本领域技术人员能够理解的是,可以对系统中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本发明的原理,因此,拆分或合并之后的技术方案都将落入本发明的保护范围内。
[0107]
至此,已经结合附图所示的一个实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1