基于头肩检测的行人追踪方法及装置、电子设备、存储介质与流程

您所在的位置:网站首页 无线设备测试仪 基于头肩检测的行人追踪方法及装置、电子设备、存储介质与流程

基于头肩检测的行人追踪方法及装置、电子设备、存储介质与流程

2023-04-20 14:11| 来源: 网络整理| 查看: 265

基于头肩检测的行人追踪方法及装置、电子设备、存储介质与流程

本申请涉及图像处理技术领域,特别涉及一种基于头肩检测的行人追踪方法及装置、电子设备、计算机可读存储介质。

背景技术:

行人追踪技术被广泛应用于商城、银行、学校及安防等场景。行人追踪技术中通常可通过行人重识别(personre-identification,personre-id)技术提取行人的外貌特征,从而根据外貌特征来对行人进行识别和跟踪。在实际应用场景中,行人往往相互遮挡或者被场景中的物体所遮挡。在这种情况下,从监控图像中提取到的行人外貌特征会掺杂许多噪声,导致外貌特征无法准确地表征行人,降低了行人追踪的稳定性和可靠性。

技术实现要素:

本申请实施例的目的在于提供一种基于头肩检测的行人追踪方法及装置、电子设备、计算机可读存储介质,用于基于头肩检测获得的行人外貌特征实现行人追踪,提高了行人追踪的稳定性和可靠性。

一方面,本申请提供了一种基于头肩检测的行人追踪方法,包括:

将视频帧序列中的当前视频帧作为已训练的头肩检测网络的输入,获得所述头肩检测网络输出的头肩检测框;

基于所述头肩检测框确定所述当前视频帧中的检测目标,并将所述检测目标作为跟踪目标;

基于卡尔曼滤波算法,对所述跟踪目标在下一视频帧的位置进行预测,获得预测位置信息;

根据匈牙利算法对所述跟踪目标和所述下一视频帧中的检测目标进行匹配,获得与所述跟踪目标对应的指定检测目标;其中,所述检测目标包括头肩特征向量,所述指定检测目标为所述下一视频帧中的所述跟踪目标。

在一实施例中,所述头肩检测网络通过如下方式训练得到:

将样本数据集中的样本图像作为目标检测网络的输入,获得所述目标检测网络输出的样本头肩预测框;其中,所述样本图像携带已标注的头肩标签框;

基于所述样本头肩预测框和所述头肩标签框之间的差异,调整所述目标检测网络的网络参数;

重复上述过程,直至所述目标检测网络收敛,获得所述头肩检测网络。

在一实施例中,所述根据所述预测位置信息,以匈牙利算法对所述跟踪目标和所述下一视频帧中的检测目标进行匹配,包括:

计算每一跟踪目标的预测位置信息和每一检测目标的位置信息之间的马氏距离,得到马氏距离矩阵;

计算每一跟踪目标的头肩特征向量和每一检测目标的头肩特征向量之间的余弦距离,得到余弦距离矩阵;

对所述马氏距离矩阵和所述余弦距离矩阵进行加权求和,得到代价矩阵,并以综合门矩阵对所述代价矩阵进行调整;

根据匈牙利算法对调整后的代价矩阵进行级联匹配。

在一实施例中,在以门矩阵对所述代价矩阵进行调整之前,所述方法还包括:

从所述马氏距离矩阵中确定大于预设第一距离阈值的元素,生成第一门矩阵;

从所述余弦距离矩阵中确定大于预设第二距离阈值的元素,生成第二门矩阵;

计算所述第一门矩阵和所述第二门矩阵的点积,得到所述综合门矩阵。

在一实施例中,在所述获得与所述跟踪目标对应的指定检测目标之后,所述方法还包括:

返回所述基于卡尔曼滤波算法,对所述跟踪目标在下一视频帧的位置进行预测,获得预测位置信息的步骤。

另一方面,本申请还提供了一种基于头肩检测的行人追踪装置,包括:

检测模块,用于将视频帧序列中的当前视频帧作为已训练的头肩检测网络的输入,获得所述头肩检测网络输出的头肩检测框;

确定模块,用于基于所述头肩检测框确定所述当前视频帧中的检测目标,并将所述检测目标作为跟踪目标;

预测模块,用于基于卡尔曼滤波算法,对所述跟踪目标在下一视频帧的位置进行预测,获得预测位置信息;

匹配模块,用于根据匈牙利算法对所述跟踪目标和所述下一视频帧中的检测目标进行匹配,获得与所述跟踪目标对应的指定检测目标;其中,所述检测目标包括头肩特征向量,所述指定检测目标为所述下一视频帧中的所述跟踪目标。

在一实施例中,所述匹配模块,还用于:

计算每一跟踪目标的预测位置信息和每一检测目标的位置信息之间的马氏距离,得到马氏距离矩阵;

计算每一跟踪目标的头肩特征向量和每一检测目标的头肩特征向量之间的余弦距离,得到余弦距离矩阵;

对所述马氏距离矩阵和所述余弦距离矩阵进行加权求和,得到代价矩阵,并以综合门矩阵对所述代价矩阵进行调整;

根据匈牙利算法对调整后的代价矩阵进行级联匹配。

在一实施例中,所述匹配模块,还用于:

从所述马氏距离矩阵中确定大于预设第一距离阈值的元素,生成第一门矩阵;

从所述余弦距离矩阵中确定大于预设第二距离阈值的元素,生成第二门矩阵;

计算所述第一门矩阵和所述第二门矩阵的点积,得到所述综合门矩阵。

进一步的,本申请还提供了一种电子设备,所述电子设备包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行上述基于头肩检测的行人追踪方法。

另外,本申请还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述基于头肩检测的行人追踪方法。

本申请方案中,在从视频帧序列中的当前视频帧中识别出头肩检测框后,可以依据头肩检测框确定当前视频帧中的检测目标,并将检测目标作为跟踪目标;基于卡尔曼滤波算法对跟踪目标在下一视频帧的位置进行预测后,可以依据预测得到的预测位置信息以匈牙利算法对跟踪目标和下一视频帧中的检测目标进行匹配,从而得到与跟踪目标对应指定检测目标;由于依据行人头肩部位的外貌特征实现行人跟踪,减少了视频帧中遮挡对外貌特征产生的影响,提高了行人追踪的稳定性和可靠性。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。

图1为本申请一实施例提供的基于头肩检测的行人追踪方法的应用场景示意图;

图2为本申请一实施例提供的电子设备的结构示意图;

图3为本申请一实施例提供的基于头肩检测的行人追踪方法的流程示意图;

图4为本申请一实施例提供的视频帧的示意图;

图5为本申请一实施例提供的头肩检测网络的训练流程图;

图6为本申请一实施例提供的基于头肩检测的行人追踪装置的框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1为本申请实施例提供的基于头肩检测的行人追踪方法的应用场景示意图。如图1所示,该应用场景包括客户端20和服务端30;客户端20可以是网络摄像机或者与摄像机对接的主机,用于向服务端30上传采集到的视频帧序列;服务端30可以是服务器、服务器集群或云计算中心,可以获取客户端20上传的视频帧序列,并依据上述视频帧序列执行行人追踪方法。

如图2所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图2中以一个处理器11为例。处理器11和存储器12通过总线10连接,存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程。在一实施例中,电子设备1可以是上述服务端30,用于执行基于头肩检测的行人追踪方法。

存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammablereadonlymemory,简称eprom),可编程只读存储器(programmablered-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。

本申请还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序可由处理器11执行以完成本申请提供的基于头肩检测的行人追踪方法。

参见图3,为本申请一实施例提供的基于头肩检测的行人追踪方法的流程示意图,如图3所示,该方法可以包括以下步骤310-步骤340。

步骤310:将视频帧序列中的当前视频帧作为已训练的头肩检测网络的输入,获得头肩检测网络输出的头肩检测框。

其中,头肩检测网络用于从视频帧中检测出人物的头肩部位,并以头肩检测框的形式输出。头肩检测框可以限定头肩部位在视频帧中的位置,一般可以以检测框中心点在视频帧所属的图像坐标系中的坐标和检测框的宽度和高度来表示。示例性的,头肩检测框可写作(cx,cy,w,h),(cx,cy)表示检测框中心点坐标,w表示检测框宽度,h表示检测框高度。

图4为本申请一实施例提供的视频帧的示意图,如图4所示,视频帧中的虚线框表示头肩检测框。

服务端可以将获取到的每一视频帧输入头肩检测网络,从而从视频帧中获得指示行人头肩部位的头肩检测框。这里,当前视频帧是指最新的一个视频帧。

步骤320:基于头肩检测框确定当前视频帧中的检测目标,并将检测目标作为跟踪目标。

当获得当前视频帧中的若干头肩检测框后,可以将头肩检测框转换为检测目标(detection)。服务端可以裁切头肩检测框内的局部视频帧,并通过特征提取网络从上述局部视频帧中提取出包含行人外貌特征的头肩特征向量。其中,特征提取网络可以是alexnet、vggnet(visualgeometrygroupnetwork,视觉几何群网络)、resnet(residualneuralnetwork,残差神经网络)等卷积神经网络中的一种。服务端可以将头肩检测框对应的位置信息和头肩特征向量作为检测目标。

服务端在开始执行上述行人追踪方法时,可以在首次获得检测目标时,将检测目标作为跟踪目标(track)。服务端可以为跟踪目标分配行人标识,并将跟踪目标的位置信息、头肩特征向量和行人标识之间的映射关系写入预设的跟踪列表中。其中,行人标识用于指示唯一的行人。

步骤330:基于卡尔曼滤波算法,对跟踪目标在下一视频帧的位置进行预测,获得预测位置信息。

服务端可以依据跟踪目标的位置信息,构建当前时刻的状态向量,该状态向量包含参数cx、cy、r、h、vx、vy、vr、vh。这里,(cx,cy)是跟踪目标对应的检测框的中心点坐标;r是检测框的长宽比,也就是检测框的宽度与高度的比值;h是检测框的高度;vx、vy、vr、vh是跟踪目标在图像坐标系中的速度信息,初始情况下可均为0。服务端通过卡尔曼滤波算法对状态向量进行计算,从而获得状态预测向量,该状态预测向量中包含跟踪目标在下一视频帧中的预测位置信息。

步骤340:根据预测位置信息,以匈牙利算法对跟踪目标和下一视频帧中的检测目标进行匹配,获得与跟踪目标对应的指定检测目标;其中,指定检测目标为下一视频帧中的跟踪目标。

服务端在获得下一视频帧后,可以将下一视频帧输入上述头肩检测网络,从而获得下一视频帧中的若干头肩检测框。服务端可以裁切上述头肩检测框内的局部视频帧,并通过上述特征提取网络从上述局部视频帧中提取包含行人外貌特征的头肩特征向量,将每一头肩检测框对应的位置信息和头肩特征向量作为下一视频帧中的检测目标。

服务端可以根据匈牙利算法对跟踪目标和下一视频帧中的检测目标进行匹配。

在匹配处理时,服务端可以计算每一跟踪目标的预测位置信息和下一检测帧中检测目标的位置信息之间的马氏距离,得到马氏距离矩阵。位置信息包括检测框的中心点坐标、检测框的长宽比和检测框的高度。马氏距离矩阵中第m行第n列的元素可以表示第m个跟踪目标和第n个检测目标之间的马氏距离。

服务端可以计算每一跟踪目标的头肩特征向量和下一检测帧中检测目标的头肩特征向量之间的余弦距离,得到余弦距离矩阵。余弦距离矩阵中第m行第n列的元素可以标识为第m个跟踪目标和第n个检测目标之间的余弦距离。

服务端从马氏距离矩阵中确定大于预设第一距离阈值的元素,生成第一门矩阵。其中,第一门矩阵与马氏距离矩阵的行数和列数相同,第一门矩阵中的元素与马氏距离矩阵中相同位置的元素对应,第一门矩阵中元素值为0或1,元素0在马氏距离矩阵中对应的元素大于第一距离阈值,元素1在马氏距离矩阵中对应的元素不大于第一距离阈值。

服务端从余弦距离矩阵确定大于预设第二距离阈值的元素,生成第二门矩阵。其中,第二门矩阵与余弦距离矩阵的行数和列数相同,第二门矩阵中元素与余弦距离矩阵中相同位置的元素对应,第二门矩阵中元素值为0或1,元素0在余弦距离矩阵中对应的元素大于第二距离阈值,元素1在余弦距离矩阵中对应的元素不大于第二距离阈值。

服务端可以计算第一门矩阵与第二门矩阵的点积,获得综合门矩阵。综合门矩阵中元素值为0或1,元素0对应的跟踪目标和检测目标无法匹配。示例性的,综合门矩阵中第3行第4列的元素为0,说明第3个跟踪目标和第4个检测目标无法匹配。

服务端可以依据预设对应于余弦距离矩阵的权重和对应于马氏距离矩阵的权重进行加权求和,得到代价矩阵。服务端可以根据综合门矩阵的元素0,将代价矩阵中相同位置的元素调整至指定数值,该指定数值远大于代价矩阵中的其它元素。

服务端可以根据匈牙利算法对调整后的代价矩阵进行计算,并结合级联匹配过程中各跟踪目标的age属性和iou(intersectionoverunion,交并比)匹配,从而得到匹配成功的“跟踪目标-检测目标”对。其中,iou匹配时使用跟踪目标在下一视频帧中的预测位置信息以及检测目标在下一视频帧中的位置信息。age属性表示跟踪目标在此前匹配过程中未匹配到检测目标的次数,age属性对应的数值越大,则跟踪目标的优先级越低。在匹配过程会先确定优先级高的跟踪目标所匹配的检测目标,进而执行优先级低的跟踪目标的匹配过程。

在匹配成功后,服务端可以获得与跟踪目标对应的指定检测目标。这里,指定检测目标是对应于跟踪目标的检测目标。指定检测目标为下一视频帧中的该跟踪目标。服务端可以将指定检测目标的位置信息和头肩特征向量更新至上述跟踪列表,以便继续对其进行跟踪。

通过上述步骤310至步骤340的行人跟踪方法,可以依据行人头肩部位的外貌特征实现行人跟踪,减少了视频帧中遮挡对外貌特征产生的影响,提高了行人追踪的稳定性和可靠性。

在一实施例中,服务端在执行上述基于头肩检测的行人追踪方法之前,需训练出头肩检测网络。参见图5,为本申请一实施例提供的头肩检测网络的训练流程图,如图5所示,该方法可以包括如下步骤510-步骤530。

步骤510:将样本数据集中的样本图像作为目标检测网络的输入,获得目标检测网络输出的样本头肩预测框;其中,样本图像携带已标注的头肩标签框。

样本数据集内包含大量样本图像,样本图像为实际场景中包含行人的图像。样本图像携带的头肩标签框用于限定样本图像中行人的头肩部位。

目标检测网络可以是yolo(youonlylookonce)、ssd(singleshotmultiboxdetector,单镜头多盒探测器)、rcnn(region-basedconvolutionalnetwork)、faster-rcnn(fasterregion-basedconvolutionalnetwork)等网络中的任意一种。

初始情况下,目标检测网络的网络参数可以随机生成。服务端可以将样本图像输入目标检测网络,从而获得目标检测网络输出的样本图像中的样本头肩预测框。

这里,如果目标检测网络为yolo网络,可以预先对样本图像中的头肩标签框进行k-means聚类,得到多个锚点(anchor)。可将聚类得到的锚点尺寸作为yolo网络的超参数,从而优化后续的目标检测效果。

步骤520:基于样本头肩预测框和头肩标签框之间的差异,调整目标检测网络的网络参数。

步骤530:重复上述过程,直至目标检测网络收敛,获得头肩检测网络。

服务端可以依据预设的损失函数评估样本头肩预测框和头肩标签框之间的差异,从而调整目标检测网络的网络参数。经过多次迭代,当损失函数的函数值趋于稳定时,可认为目标检测网络收敛,此时获得可用于检测头肩部位的头肩检测网络。

在一实施例中,在执行上述步骤340之后,对于任一跟踪目标而言,如果不存与该跟踪目标匹配的指定检测目标,服务端可以确定跟踪目标在下一视频帧中消失。在这种情况下,服务端可以在上述跟踪列表中,为该跟踪目标添加丢失标记,该丢失标记表示跟踪目标已经丢失。

在一实施例中,在执行上述步骤340之后,如果下一视频帧中存在不与任一跟踪目标匹配的检测目标,服务端可以将该检测目标作为新的跟踪目标。服务端可以为新的跟踪目标分配行人标识,并将新的跟踪目标的位置信息、头肩特征向量和行人标识之间的映射关系写入上述跟踪列表中,从而在后续对其进行跟踪。

在一实施例中,在获得与跟踪目标对应的指定检测目标之后,服务端可以返回上述步骤330,重新基于卡尔曼滤波算法,对跟踪目标在下一视频帧的位置进行预测,并在获得预测位置信息后,继续执行步骤340。在跟踪目标从视频帧中丢失之前,重复执行上述过程,从而实现对跟踪目标的跟踪。

图6是本发明一实施例的一种基于头肩检测的行人追踪装置,如图6所示,该装置可以包括:

检测模块610,用于将视频帧序列中的当前视频帧作为已训练的头肩检测网络的输入,获得所述头肩检测网络输出的头肩检测框;

确定模块620,用于基于所述头肩检测框确定所述当前视频帧中的检测目标,并将所述检测目标作为跟踪目标;

预测模块630,用于基于卡尔曼滤波算法,对所述跟踪目标在下一视频帧的位置进行预测,获得预测位置信息;

匹配模块640,用于根据所述预测位置信息,以匈牙利算法对所述跟踪目标和所述下一视频帧中的检测目标进行匹配,获得与所述跟踪目标对应的指定检测目标;其中,所述检测目标包括头肩特征向量,所述指定检测目标为所述下一视频帧中的所述跟踪目标。

在一实施例中,所述装置还包括训练模块650,用于:

将样本数据集中的样本图像作为目标检测网络的输入,获得所述目标检测网络输出的样本头肩预测框;其中,所述样本图像携带已标注的头肩标签框;

基于所述样本头肩预测框和所述头肩标签框之间的差异,调整所述目标检测网络的网络参数;

重复上述过程,直至所述目标检测网络收敛,获得所述头肩检测网络。

在一实施例中,匹配模块640,还用于:

计算每一跟踪目标的预测位置信息和每一检测目标的位置信息之间的马氏距离,得到马氏距离矩阵;

计算每一跟踪目标的头肩特征向量和每一检测目标的头肩特征向量之间的余弦距离,得到余弦距离矩阵;

对所述马氏距离矩阵和所述余弦距离矩阵进行加权求和,得到代价矩阵,并以综合门矩阵对所述代价矩阵进行调整;

根据匈牙利算法对调整后的代价矩阵进行级联匹配。

在一实施例中,匹配模块640,还用于:

从所述马氏距离矩阵中确定大于预设第一距离阈值的元素,生成第一门矩阵;

从所述余弦距离矩阵中确定大于预设第二距离阈值的元素,生成第二门矩阵;

计算所述第一门矩阵和所述第二门矩阵的点积,得到所述综合门矩阵。

在一实施例中,预测模块630,还用于:

返回所述基于卡尔曼滤波算法,对所述跟踪目标在下一视频帧的位置进行预测,获得预测位置信息的步骤。

上述装置中各个模块的功能和作用的实现过程具体详见上述基于头肩检测的行人追踪方法中对应步骤的实现过程,在此不再赘述。

在本申请所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3