多目标跟踪方法、装置、计算机设备及存储介质与流程

文档序号:18621509发布日期:2019-09-06 22:32阅读:137来源:国知局
多目标跟踪方法、装置、计算机设备及存储介质与流程

本发明涉及目标跟踪技术领域,具体涉及一种多目标跟踪方法、装置、计算机设备及存储介质。



背景技术:

随着社会的不断进步和经济建设的迅速发展,视频监控也越来越多的应用于各个行业和方面。智能视频分析监控系统能够自动识别不同的物体,发现监控画面中的异常情况,并能够以最快和最佳的方式发出警报和提供有用信息,从而能够更加有效的协助安全人员处理危机。

目标的检测是视频分析技术的一个基础功能,对实现后续目标跟踪、目标识别及行为分析等应用有重要意义,尤其是在实时目标事件监控领域,其重要性更是不言而喻。

人体作为非刚体,形态变化多样,且易发生遮挡,以及视频场景变化复杂多样,导致有效的视频行人检测与跟踪十分困难。在实际应用场景中,存在行人姿态各异、人体被遮挡、光照突变以及背景环境扰动等问题,所以如何在复杂背景的视频中,尤其是当多个目标之间存在遮挡时,如何快速和精确地对目标进行跟踪仍是视频图像处理技术领域的一个重点和难点。



技术实现要素:

鉴于以上内容,有必要提出一种多目标跟踪方法、装置、计算机设备及存储介质,旨在于解决存在遮挡的多目标的跟踪问题,通过结合人头区域和形体区域双重确定目标跟踪对象,能够提高目标跟踪的效果。

本发明的第一方面提供一种多目标跟踪方法,所述方法包括:

获取包含多个目标在内的待检测图像;

调用预设第一检测模型检测出所述待检测图像中的头部区域;

调用预设第二检测模型检测出所述待检测图像中的形体区域;

根据所述头部区域和所述形体区域计算区域比值;

判断所述区域比值中是否有小于预设第一阈值的区域比值,其中所述预设第一阈值小于1;

当所述区域比值中有小于所述预设第一阈值的区域比值时,确定所述待检测图像中存在行人被遮挡;

根据所述头部区域及所述形体区域分割出被遮挡的行人;

调用预设跟踪算法对分割出的被遮挡的行人和未被遮挡的行人进行跟踪。

优选的,当所述区域比值大于或者等于所述预设第一阈值时,所述方法还包括:

判断所述区域比值是否为1;

当所述区域比值为1时,将所述形体区域对应的行人确定为目标跟踪对象;

当所述区域比值不为1时,将所述头部区域对应的行人确定为目标跟踪对象;

调用所述预设跟踪算法对所述目标跟踪对象进行跟踪。

优选的,所述根据所述头部区域及所述形体区域分割出被遮挡的行人包括:

判断所述区域比值是否大于预设第二阈值,其中,所述预设第二阈值小于所述预设第一阈值;

当所述区域比值大于所述预设第二阈值时,根据预设比例系数扩大所述形体区域;

根据扩大后的形体区域分割出被遮挡的行人。

优选的,当所述区域比值小于或等于所述预设第二阈值时,所述方法还包括:

以两个头部区域的中轴线为分割线,以肩部的关键点作为边界,分割出被遮挡的行人。

优选的,采用并行处理的方式同时调用所述预设第一检测模型检测出所述待检测图像中的头部区域和调用所述预设第二检测模型检测出所述待检测图像中的形体区域。

优选的,所述调用预设第一检测模型检测出所述待检测图像中的头部区域包括:

调用所述预设第一检测模型检测出所述待检测图像中的每一个人体的多个人体节点;

根据所述每一个人体的多个人体节点确定对应所述待检测图像中的每一个人体的头部区域。

优选的,所述根据所述头部区域和所述形体区域计算区域比值包括:

根据所述待检测图像建立位置坐标系;

获取所述头部区域在所述位置坐标系中的第一面积;

获取所述头部区域和所述形体区域的交集区域在所述位置坐标系中的第二面积;

根据所述第一面积和所述第二面积计算所述区域比值。

本发明的第二方面提供一种多目标跟踪装置,所述装置包括:

获取模块,用于获取包含多个目标在内的待检测图像;

检测模块,用于调用预设第一检测模型检测出所述待检测图像中的头部区域;

所述检测模块,还用于调用预设第二检测模型检测出所述待检测图像中的形体区域;

计算模块,用于根据所述头部区域和所述形体区域计算区域比值;

判断模块,用于判断所述区域比值中是否有小于预设第一阈值的区域比值,其中所述预设第一阈值小于1;

分割模块,用于当所述区域比值中有小于所述预设第一阈值的区域比值时,确定所述待检测图像中存在行人被遮挡,及根据所述头部区域及所述形体区域分割出被遮挡的行人;

跟踪模块,用于调用预设跟踪算法对分割出的被遮挡的行人和未被遮挡的行人进行跟踪。

本发明的第三方面提供一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述多目标跟踪方法。

本发明的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述多目标跟踪方法。

综上所述,本发明所述的多目标跟踪方法、装置、计算机设备及存储介质,首先获取包含存在遮挡的多目标在内的待检测图像,分别调用预设第一检测模型和预设第二检测模型检测出所述待检测图像中的头部区域和形体区域,计算所述头部区域和所述形体区域的一个区域比值,当所述区域比值中有小于所述预设第一阈值的区域比值时,确定所述待检测图像中存在行人被遮挡,进而根据所述头部区域及所述形体区域分割出被遮挡的行人,最后调用预设跟踪算法对分割出的被遮挡的行人和未被遮挡的行人进行跟踪。本发明通过区域比值衡量行人被遮挡的情况,从而能够将被遮挡的行人检测出来;此外,结合人头区域和形体区域双重确定目标跟踪的对象,降低因行人身体被遮挡而造成漏检或者误检,提高了目标跟踪的效果。因而可以应用在复杂背景的场景中,尤其是当多个目标之间存在遮挡时,能够快速和精确地对目标进行跟踪,具有较高的实用价值。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本发明实施例一提供的多目标跟踪方法的流程图。

图2是本发明实施例二提供的多目标跟踪装置的结构图。

图3是本发明实施例三提供的计算机设备的结构示意图。

如下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

实施例一

图1是本发明实施例一提供的多目标跟踪方法的流程图。

在本实施例中,所述多目标跟踪方法可以应用于计算机设备中,对于需要进行多目标跟踪的计算机设备,可以直接在计算机设备上集成本发明的方法所提供的多目标跟踪的功能,或者以软件开发工具包(softwaredevelopmentkit,skd)的形式运行在计算机设备中。

如图1所示,所述多目标跟踪方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。

s11,获取包含多个目标在内的待检测图像。

本实施例中,所述待检测图像可以是任何合适的、需要进行目标跟踪的图像,例如针对被监控区域采集到的图像。待检测图像可以是摄像头等图像采集装置采集到的静态的图像,也可以是摄像头等图像采集装置采集到的一段视频中的任一视频帧。

所述待检测图像可以是原始图像,也可以是对原始图像进行预处理之后得到的图像。

本实施例中,所述待检测图像中包含了多个行人,而多个行人的形体部位可能存在较大重叠。即在多个行人的形体部位存在较大重叠情况下确定出目标跟踪对象,避免某一行人由于被其他行人遮挡而造成误检或者漏检。

s12,调用预设第一检测模型检测出所述待检测图像中的头部区域。

本实施例中,可以事先训练出第一检测模型,通过直接调用该预先训练的第一检测模型,能够直接且快速的检测出所述待检测图像中的每一个人体的多个人体节点。所述预设第一检测模型可以为基于深度学习的各类检测模型,例如,基于神经网络的检测模型,或者基于残差网络的检测模型等。

优选的,在所述获取包含多个目标在内的待检测图像之前,所述方法还包括:

预先训练所述第一检测模型,其中,所述第一检测模型的训练过程包括:

1)获取多张人体图片,对每一张人体图片中的头部区域进行手动标注多个人体节点之后作为样本图片集;

2)从所述样本图片集中提取出第一预设比例的人体图片作为待训练的样本图片集,从所述样本图片集中提取出第二预设比例的人体图片作为待验证的样本图片集;

3)利用所述待训练的样本图片集对预设的神经网络进行训练,得到第一检测模型,并利用所述待验证的样本图片集对训练得到的第一检测模型进行验证;

4)若验证通过率大于或者等于预设阈值,则第一检测模型的训练完成,否则增加所述待训练的样本图片集中的人体图片的数量,以重新对第一检测模型进行训练及验证。

示例性的,假设获取10万张人体图片,运用openpose或者posemachine等工具对人体图片中的头部区域中的多个人体节点进行标注,例如,标注左眼节点、右眼节点、左耳节点、右耳节点。提取第一预设比例的人体图片作为待训练的样本图片集(简称为训练集),及提取第二预设比例的人体图片作为待验证的样本图片集(简称为验证集),训练集中的人体图片的数量远大于验证集中的人体图片的数量,例如将人体图片中的80%的人体图片作为训练集,将剩余的20%的人体图片作为验证集。

在第一次训练神经网络以得到第一检测模型时,该神经网络的参数采用默认的参数。此后,在训练过程中不断的调整参数。在训练生成该第一检测模型后,利用验证集中的人体图片对所生成的第一检测模型进行验证,如果验证通过率大于或者等于预设阈值,例如通过率大于或者等于98%,训练结束,以该训练得到的第一检测模型进行人体节点的识别。如果验证通过率小于所述预设阈值,例如小于98%,则增加参与训练的人体图片的数量,并重新执行上述的步骤,直至验证通过率大于或者等于预设阈值。

在测试时,使用训练得到的第一检测模型对验证集中的人体图片进行人体节点识别,并将识别结果与该验证集中的人体图片的人体节点进行比对,以评估所训练的第一检测模型的识别效果。

优选的,所述调用预设第一检测模型检测出所述待检测图像中的头部区域包括:

1)调用所述预设第一检测模型检测出所述待检测图像中的每一个人体的多个人体节点;

本实施例中,通过所述预设第一检测模型,例如,神经网络模型检测出所述待检测图像中的每一个人体的多个人体节点。

其中,人体节点可以是人体的关节点、五官等人体的重要位置。多个人体节点至少包括头部与颈部的多个节点。示例性的,多个人体节点包括:颈部节点、鼻尖节点、左眼节点、右眼节点、左耳节点和右耳节点中的一个或多个。在其他实施例中,通过所述预设第一检测模型确定的多个人体节点还至少包括手腕节点、手肘节点、肩部节点。

每一个人体节点代表包括该节点在内的人体区域,例如左眼节点代表人体的整个左眼区域,而不是仅仅表示一个具体的像素点。

2)根据所述每一个人体的多个人体节点确定对应所述待检测图像中的每一个人体的头部区域。

本实施例中,所述头部区域为根据头部与颈部的多个节点确定的用于表征人体头部的区域。例如,根据颈部节点、鼻尖节点、左眼节点、右眼节点、左耳节点和右耳节点确定人体的头部区域。确定出的头部区域的形状可以为矩形、圆形、椭圆形或者其他任意规则或者不规则的形状等。本发明对确定出的头部区域的形状不做具体限制。

本实施例中,预先训练第一检测模型的过程可以为离线训练过程。调用所述第一检测模型检测出所述待检测图像中的头部区域的过程可以为在线检测过程。即,将待检测图像作为所述第一检测模型的输入,输出则是所述待检测图像中的人体节点信息,例如,人的头顶、眼睛、嘴巴、下巴、耳朵、颈部等会分别作为一个人体节点呈现出来。根据所述多个人体节点将人体头部用几何图形,例如矩形框给框出来,此时的矩形框称之为头部框。

s13,调用预设第二检测模型检测出所述待检测图像中的形体区域。

本实施例中,在获取待检测图像之后,调用预设第二检测模型检测出所述待检测图像中的形体区域。所述预设第二检测模型可以采用加速版基于区域的卷积神经网络(faster-rcnn)来实现。

所述预设第二检测模型是预先采用大量的人体图像训练好的。所述预设第二检测模型可以在所述获取包含多个目标在内的待检测图像之前训练完成。事先训练所述第二检测模型的过程同上述事先训练所述第一检测模型的过程类似,此处不赘述。

通过将所述待检测图像输入至所述第二检测模型中来识别所述待检测图像中的形体区域。

本实施例中,预先训练第二检测模型的过程可以为离线训练过程。调用预设第二检测模型检测出所述待检测图像中的形体区域的过程可以为在线检测过程。即,将待检测图像作为所述第二检测模型的输入,输出则是所述待检测图像中的人体信息,根据所述人体信息将人体形体区域用矩形框给框出来,此时的矩形框称之为行人框。

优选的,采用并行处理的方式同时调用所述预设第一检测模型检测出所述待检测图像中的头部区域和调用所述预设第二检测模型检测出所述待检测图像中的形体区域。本实施例中,采用并行处理的方式,将所述将待检测图像同时输入预设第一检测模型中确定头部区域和输入预设第二检测模型中确定形体区域,能够节省处理时间,提高处理效率。

s14,根据所述头部区域和所述形体区域计算区域比值。

本实施例中,确定所述待检测图像中的多个头部区域和多个形体区域之后,可以根据所述头部区域和所述形体区域计算得到一个区域比值。

所述区域比值是指头部区域与形体区域的交集区域和头部区域之间的比值。

优选的,所述根据所述头部区域和所述形体区域确定区域比值包括:

根据所述待检测图像建立位置坐标系;

获取所述头部区域在所述位置坐标系中的第一面积;

获取所述头部区域和所述形体区域的交集区域在所述位置坐标系中的第二面积;

根据所述第一面积和所述第二面积计算所述区域比值。

本实施例中,以所述待检测图像的左上角为原点,以图像的上边为x轴,以图像的左边为y轴建立位置坐标系。

位置坐标系建立好之后,获取所述头部区域所对应的头部框(以矩形框为例)的各个顶点的第一位置坐标,以及获取所述形体区域所对应的形体框(以矩形框为例)的各个顶点的第二位置坐标。根据所述第一位置坐标确定所述头部区域的第一面积,根据所述第一位置坐标和所述第二位置坐标确定所述头部区域和所述形体区域的交集区域,接着获取所述交集区域的各个顶点的第三位置坐标,根据所述第三位置坐标确定所述交集区域的第二面积。最后,根据所述第一面积和所述第二面积计算区域比值(intersectionoverunion,iou)。

s15,判断所述区域比值中是否有小于预设第一阈值的区域比值,其中所述预设第一阈值小于1。

一般情况下,对于同一个行人来说,头部区域是包含在形体区域中的,即头部框包含在行人框中。当行人没有被遮挡时,该行人的头部区域是完全包含在形体区域中的,此时计算得到的区域比值应当为1;当行人被部分遮挡时,该行人的头部区域部分包含在形体区域中,此时计算得到的区域比值小于1;当行人的形体区域完全被遮挡时,该行人的头部区域完全不包含在形体区域中,此时计算得到的区域比值为0。

本实施例中,可以预先设置一个第一阈值,预设第一阈值小于1,可以是,例如,0.7。

通过比较计算得到的区域比值与预先设置的阈值的大小关系来判断待检测图像中是否有行人被遮挡。即通过人头框和行人框的交集与人头框的比值来衡量该人头框和行人框的重叠情况或者来判断该人头框与该行人框是否匹配。区域比值越大,可以认为人头框和行人框的重叠比例越大,该人头框与该行人框则越匹配。

s16,当所述区域比值中有小于所述预设第一阈值的区域比值时,确定所述待检测图像中存在行人被遮挡。

本实施例中,若计算出有多个区域比值,则可以判断每个区域比值与预设第一阈值之间的大小关系。若多个区域比值中有小于预设第一阈值的目标区域比值,则表明待测图像中的对应所述目标区域比值的行人被严重遮挡了。若多个区域比值中的每个区域比值大于或者等于所述预设第一阈值时,表明待测图像中的多个行人没有被遮挡或者被遮挡的并不严重。

s17,根据所述头部区域及所述形体区域分割出被遮挡的行人。

本实施例中,当确定所述待检测图像中存在行人被严重遮挡时,可以根据所述头部区域及所述形体区域先将待测图像中被严重遮挡的行人分割出来。

具体的,所述根据所述头部区域及所述形体区域分割出被遮挡的行人包括:

判断所述区域比值是否大于预设第二阈值,其中,所述预设第二阈值小于所述预设第一阈值;

当所述区域比值大于所述预设第二阈值时,根据预设比例系数扩大所述形体区域,根据扩大后的形体区域分割出被遮挡的行人;

当所述区域比值小于或等于所述预设第二阈值时,以两个头部区域的中轴线为分割线,以肩部的关键点作为边界,分割出被遮挡的行人。

在人群聚集的场合,大概率会出现行人甲被行人乙遮挡的情况,此时行人乙的检测没有问题,但行人甲的身体由于部分被行人乙遮挡,会出现两种情况:第一种是行人甲存在部分未被遮挡,第二种是行人甲几乎完全被遮挡。可以预先设置一个第二阈值,预设第二阈值小于预设第一阈值,例如,0.3。通过进一步比较区域比值与预设第二阈值之间的大小关系,即能确定行人甲是否几乎完全被遮挡。

对于上述第一种情况:当所述区域比值大于所述预设第二阈值但小于预设第一阈值时,对应的行人虽然被严重遮挡了,表明该行人的人头区域被准确检测出来了,但该行人的形体与人头不匹配,这种下检测的置信度比较低,在后处理时很容易被当做错检而屏蔽掉。将对应的形体区域按照预设比例系数(例如,1.5)进行扩大后再进行分割,提高了该被遮挡的行人的检测置信度,从而在后处理检测筛选时减少被屏蔽的风险。

对于上述第二种情况:当所述区域比值小于或等于所述预设第二阈值时,行人甲和行人乙共享一个人体框,但是对应两个头部框,此时可以将该人体框标记为double,并且沿着两个头部框的中轴线,和肩部的关键点作为人体的左右边界将行人甲给分离出来。

s18,调用预设跟踪算法对分割出的被遮挡的行人和未被遮挡的行人进行跟踪。

本实施例中,所述预设跟踪算法可以是多目标跟踪算法,待测图像中的行人被分割出来之后,可以对分割出来的行人和未被遮挡的行人进行目标跟踪。

所述多目标跟踪算法为现有技术,本文不再详细阐述。

优选的,当所述区域比值大于或者等于所述预设第一阈值时,所述方法还包括:

判断所述区域比值是否为1;

当所述区域比值为1时,将所述形体区域对应的行人确定为目标跟踪对象;

当所述区域比值不为1时,将所述头部区域对应的行人确定为目标跟踪对象;

调用所述预设跟踪算法对所述目标跟踪对象进行跟踪。

本实施例中,在区域比值大于或者等于预设第一阈值时,即在待测图像中的多个行人没有被遮挡或者被遮挡的并不严重时,需要进一步判断区域比值是否为1来判断待测图像中的行人没有被遮挡还是被轻微遮挡。

若每个区域比值均为1,则表明待测图像中行人的头部区域完全包含在形体区域中,即该行人没有被遮挡,由于确定的形体区域即为该行人的整个区域,此时以形体区域对应的行人为目标跟踪对象进行跟踪,跟踪效果更佳。若区域比值不为1,则表明待测图像中存在行人被轻微遮挡的现象,由于头部区域更具明显的区分性,此时以头部区域对应的行人为目标跟踪对象进行跟踪,跟踪效果更佳。

综上所述,本发明所述的多目标跟踪方法,首先获取包含存在遮挡的多目标在内的待检测图像,分别调用预设第一检测模型和预设第二检测模型检测出所述待检测图像中的头部区域和形体区域,计算所述头部区域和所述形体区域的一个区域比值,当所述区域比值中有小于所述预设第一阈值的区域比值时,确定所述待检测图像中存在行人被遮挡,进而根据所述头部区域及所述形体区域分割出被遮挡的行人,最后调用预设跟踪算法对分割出的被遮挡的行人和未被遮挡的行人进行跟踪。本发明通过区域比值衡量行人被遮挡的情况,从而能够将被遮挡的行人检测出来;此外,结合人头区域和形体区域双重确定目标跟踪的对象,降低因行人身体被遮挡而造成漏检或者误检,提高了目标跟踪的效果。因而可以应用在复杂背景的场景中,尤其是当多个目标之间存在遮挡时,能够快速和精确地对目标进行跟踪,具有较高的实用价值。

实施例二

图2是本发明实施例二提供的多目标跟踪装置的结构图。

在一些实施例中,所述多目标跟踪装置20可以包括多个由程序代码段所组成的功能模块。所述多目标跟踪装置20中的各个程序段的程序代码可以存储于计算机设备的存储器中,并由所述至少一个处理器所执行,以执行(详见图1描述)对存在遮挡的多目标进行检测。

本实施例中,所述多目标跟踪装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:获取模块201、检测模块202、训练模块203、计算模块204、判断模块205、确定模块206、分割模块207及跟踪模块208。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。

获取模块201,用于获取包含多个目标在内的待检测图像。

本实施例中,所述待检测图像可以是任何合适的、需要进行目标跟踪的图像,例如针对被监控区域采集到的图像。待检测图像可以是摄像头等图像采集装置采集到的静态的图像,也可以是摄像头等图像采集装置采集到的一段视频中的任一视频帧。

所述待检测图像可以是原始图像,也可以是对原始图像进行预处理之后得到的图像。

本实施例中,所述待检测图像中包含了多个行人,而多个行人的形体部位可能存在较大重叠。即在多个行人的形体部位存在较大重叠情况下确定出目标跟踪对象,避免某一行人由于被其他行人遮挡而造成误检或者漏检。

检测模块202,用于调用预设第一检测模型检测出所述待检测图像中的头部区域。

本实施例中,可以事先训练出第一检测模型,通过直接调用该预先训练的第一检测模型,能够直接且快速的检测出所述待检测图像中的每一个人体的多个人体节点。所述预设第一检测模型可以为基于深度学习的各类检测模型,例如,基于神经网络的检测模型,或者基于残差网络的检测模型等。

训练模块203,用于预先训练所述第一检测模型,其中,所述第一检测模型的训练过程包括:

1)获取多张人体图片,对每一张人体图片中的头部区域进行手动标注多个人体节点之后作为样本图片集;

2)从所述样本图片集中提取出第一预设比例的人体图片作为待训练的样本图片集,从所述样本图片集中提取出第二预设比例的人体图片作为待验证的样本图片集;

3)利用所述待训练的样本图片集对预设的神经网络进行训练,得到第一检测模型,并利用所述待验证的样本图片集对训练得到的第一检测模型进行验证;

4)若验证通过率大于或者等于预设阈值,则第一检测模型的训练完成,否则增加所述待训练的样本图片集中的人体图片的数量,以重新对第一检测模型进行训练及验证。

示例性的,假设获取10万张人体图片,运用openpose或者posemachine等工具对人体图片中的头部区域中的多个人体节点进行标注,例如,标注左眼节点、右眼节点、左耳节点、右耳节点。提取第一预设比例的人体图片作为待训练的样本图片集(简称为训练集),及提取第二预设比例的人体图片作为待验证的样本图片集(简称为验证集),训练集中的人体图片的数量远大于验证集中的人体图片的数量,例如将人体图片中的80%的人体图片作为训练集,将剩余的20%的人体图片作为验证集。

在第一次训练神经网络以得到第一检测模型时,该神经网络的参数采用默认的参数。此后,在训练过程中不断的调整参数。在训练生成该第一检测模型后,利用验证集中的人体图片对所生成的第一检测模型进行验证,如果验证通过率大于或者等于预设阈值,例如通过率大于或者等于98%,训练结束,以该训练得到的第一检测模型进行人体节点的识别。如果验证通过率小于所述预设阈值,例如小于98%,则增加参与训练的人体图片的数量,并重新执行上述的步骤,直至验证通过率大于或者等于预设阈值。

在测试时,使用训练得到的第一检测模型对验证集中的人体图片进行人体节点识别,并将识别结果与该验证集中的人体图片的人体节点进行比对,以评估所训练的第一检测模型的识别效果。

优选的,所述检测模块202调用预设第一检测模型检测出所述待检测图像中的头部区域包括:

1)调用所述预设第一检测模型检测出所述待检测图像中的每一个人体的多个人体节点;

本实施例中,通过所述预设第一检测模型,例如,神经网络模型检测出所述待检测图像中的每一个人体的多个人体节点。

其中,人体节点可以是人体的关节点、五官等人体的重要位置。多个人体节点至少包括头部与颈部的多个节点。示例性的,多个人体节点包括:颈部节点、鼻尖节点、左眼节点、右眼节点、左耳节点和右耳节点中的一个或多个。在其他实施例中,通过所述预设第一检测模型确定的多个人体节点还至少包括手腕节点、手肘节点、肩部节点。

每一个人体节点代表包括该节点在内的人体区域,例如左眼节点代表人体的整个左眼区域,而不是仅仅表示一个具体的像素点。

2)根据所述每一个人体的多个人体节点确定对应所述待检测图像中的每一个人体的头部区域。

本实施例中,所述头部区域为根据头部与颈部的多个节点确定的用于表征人体头部的区域。例如,根据颈部节点、鼻尖节点、左眼节点、右眼节点、左耳节点和右耳节点确定人体的头部区域。确定出的头部区域的形状可以为矩形、圆形、椭圆形或者其他任意规则或者不规则的形状等。本发明对确定出的头部区域的形状不做具体限制。

本实施例中,预先训练第一检测模型的过程可以为离线训练过程。调用所述第一检测模型检测出所述待检测图像中的头部区域的过程可以为在线检测过程。即,将待检测图像作为所述第一检测模型的输入,输出则是所述待检测图像中的人体节点信息,例如,人的头顶、眼睛、嘴巴、下巴、耳朵、颈部等会分别作为一个人体节点呈现出来。根据所述多个人体节点将人体头部用几何图形,例如矩形框给框出来,此时的矩形框称之为头部框。

所述检测模块202,还用于调用预设第二检测模型检测出所述待检测图像中的形体区域。

本实施例中,在获取待检测图像之后,调用预设第二检测模型检测出所述待检测图像中的形体区域。所述预设第二检测模型可以采用加速版基于区域的卷积神经网络(faster-rcnn)来实现。

所述预设第二检测模型是预先采用大量的人体图像训练好的。所述预设第二检测模型可以在所述获取包含多个目标在内的待检测图像之前训练完成。事先训练所述第二检测模型的过程同上述事先训练所述第一检测模型的过程类似,此处不赘述。

通过将所述待检测图像输入至所述第二检测模型中来识别所述待检测图像中的形体区域。

本实施例中,预先训练第二检测模型的过程可以为离线训练过程。调用预设第二检测模型检测出所述待检测图像中的形体区域的过程可以为在线检测过程。即,将待检测图像作为所述第二检测模型的输入,输出则是所述待检测图像中的人体信息,根据所述人体信息将人体形体区域用矩形框给框出来,此时的矩形框称之为行人框。

优选的,采用并行处理的方式同时调用所述预设第一检测模型检测出所述待检测图像中的头部区域和调用所述预设第二检测模型检测出所述待检测图像中的形体区域。本实施例中,采用并行处理的方式,将所述将待检测图像同时输入预设第一检测模型中确定头部区域和输入预设第二检测模型中确定形体区域,能够节省处理时间,提高处理效率。

计算模块204,用于根据所述头部区域和所述形体区域计算区域比值。

本实施例中,确定所述待检测图像中的多个头部区域和多个形体区域之后,可以根据所述头部区域和所述形体区域计算得到一个区域比值。

所述区域比值是指头部区域与形体区域的交集区域和头部区域之间的比值。

优选的,所述计算模块204根据所述头部区域和所述形体区域确定区域比值包括:

根据所述待检测图像建立位置坐标系;

获取所述头部区域在所述位置坐标系中的第一面积;

获取所述头部区域和所述形体区域的交集区域在所述位置坐标系中的第二面积;

根据所述第一面积和所述第二面积计算所述区域比值。

本实施例中,以所述待检测图像的左上角为原点,以图像的上边为x轴,以图像的左边为y轴建立位置坐标系。

位置坐标系建立好之后,获取所述头部区域所对应的头部框(以矩形框为例)的各个顶点的第一位置坐标,以及获取所述形体区域所对应的形体框(以矩形框为例)的各个顶点的第二位置坐标。根据所述第一位置坐标确定所述头部区域的第一面积,根据所述第一位置坐标和所述第二位置坐标确定所述头部区域和所述形体区域的交集区域,接着获取所述交集区域的各个顶点的第三位置坐标,根据所述第三位置坐标确定所述交集区域的第二面积。最后,根据所述第一面积和所述第二面积计算区域比值(intersectionoverunion,iou)。

判断模块205,用于判断所述区域比值中是否有小于预设第一阈值的区域比值,其中所述预设第一阈值小于1。

一般情况下,对于同一个行人来说,头部区域是包含在形体区域中的,即头部框包含在行人框中。当行人没有被遮挡时,该行人的头部区域是完全包含在形体区域中的,此时计算得到的区域比值应当为1;当行人被部分遮挡时,该行人的头部区域部分包含在形体区域中,此时计算得到的区域比值小于1;当行人的形体区域完全被遮挡时,该行人的头部区域完全不包含在形体区域中,此时计算得到的区域比值为0。

本实施例中,可以预先设置一个第一阈值,预设第一阈值小于1,可以是,例如,0.7。

通过比较计算得到的区域比值与预先设置的阈值的大小关系来判断待检测图像中是否有行人被遮挡。即通过人头框和行人框的交集与人头框的比值来衡量该人头框和行人框的重叠情况或者来判断该人头框与该行人框是否匹配。区域比值越大,可以认为人头框和行人框的重叠比例越大,该人头框与该行人框则越匹配。

确定模块206,用于当所述区域比值中有小于所述预设第一阈值的区域比值时,确定所述待检测图像中存在行人被遮挡。

本实施例中,若计算出有多个区域比值,则可以判断每个区域比值与预设第一阈值之间的大小关系。若多个区域比值中有小于预设第一阈值的目标区域比值,则表明待测图像中的对应所述目标区域比值的行人被严重遮挡了。若多个区域比值中的每个区域比值大于或者等于所述预设第一阈值时,表明待测图像中的多个行人没有被遮挡或者被遮挡的并不严重。

分割模块207,用于根据所述头部区域及所述形体区域分割出被遮挡的行人。

本实施例中,当确定所述待检测图像中存在行人被严重遮挡时,可以根据所述头部区域及所述形体区域先将待测图像中被严重遮挡的行人分割出来。

具体的,所述分割模块207根据所述头部区域及所述形体区域分割出被遮挡的行人包括:

判断所述区域比值是否大于预设第二阈值,其中,所述预设第二阈值小于所述预设第一阈值;

当所述区域比值大于所述预设第二阈值时,根据预设比例系数扩大所述形体区域,根据扩大后的形体区域分割出被遮挡的行人;

当所述区域比值小于或等于所述预设第二阈值时,以两个头部区域的中轴线为分割线,以肩部的关键点作为边界,分割出被遮挡的行人。

在人群聚集的场合,大概率会出现行人甲被行人乙遮挡的情况,此时行人乙的检测没有问题,但行人甲的身体由于部分被行人乙遮挡,会出现两种情况:第一种是行人甲存在部分未被遮挡,第二种是行人甲几乎完全被遮挡。可以预先设置一个第二阈值,预设第二阈值小于预设第一阈值,例如,0.3。通过进一步比较区域比值与预设第二阈值之间的大小关系,即能确定行人甲是否几乎完全被遮挡。

对于上述第一种情况:当所述区域比值大于所述预设第二阈值但小于预设第一阈值时,对应的行人虽然被严重遮挡了,表明该行人的人头区域被准确检测出来了,但该行人的形体与人头不匹配,这种下检测的置信度比较低,在后处理时很容易被当做错检而屏蔽掉。将对应的形体区域按照预设比例系数(例如,1.5)进行扩大后再进行分割,提高了该被遮挡的行人的检测置信度,从而在后处理检测筛选时减少被屏蔽的风险。

对于上述第二种情况:当所述区域比值小于或等于所述预设第二阈值时,行人甲和行人乙共享一个人体框,但是对应两个头部框,此时可以将该人体框标记为double,并且沿着两个头部框的中轴线,和肩部的关键点作为人体的左右边界将行人甲给分离出来。

跟踪模块208,用于调用预设跟踪算法对分割出的被遮挡的行人和未被遮挡的行人进行跟踪。

本实施例中,所述预设跟踪算法可以是多目标跟踪算法,待测图像中的行人被分割出来之后,可以对分割出来的行人和未被遮挡的行人进行目标跟踪。

所述多目标跟踪算法为现有技术,本文不再详细阐述。

优选的,所述判断模块205,还用于当所述区域比值大于或者等于所述预设第一阈值时,判断所述区域比值是否为1。

优选的,所述确定模块206,还用于当所述区域比值为1时,将所述形体区域对应的行人确定为目标跟踪对象。

优选的,所述确定模块206,还用于当所述区域比值不为1时,将所述头部区域对应的行人确定为目标跟踪对象。

优选的,所述跟踪模块208,还用于调用所述预设跟踪算法对所述目标跟踪对象进行跟踪。

本实施例中,在区域比值大于或者等于预设第一阈值时,即在待测图像中的多个行人没有被遮挡或者被遮挡的并不严重时,需要进一步判断区域比值是否为1来判断待测图像中的行人没有被遮挡还是被轻微遮挡。

若每个区域比值均为1,则表明待测图像中行人的头部区域完全包含在形体区域中,即该行人没有被遮挡,由于确定的形体区域即为该行人的整个区域,此时以形体区域对应的行人为目标跟踪对象进行跟踪,跟踪效果更佳。若区域比值不为1,则表明待测图像中存在行人被轻微遮挡的现象,由于头部区域更具明显的区分性,此时以头部区域对应的行人为目标跟踪对象进行跟踪,跟踪效果更佳。

综上所述,本发明所述的多目标跟踪装置,首先获取包含存在遮挡的多目标在内的待检测图像,分别调用预设第一检测模型和预设第二检测模型检测出所述待检测图像中的头部区域和形体区域,计算所述头部区域和所述形体区域的一个区域比值,当所述区域比值中有小于所述预设第一阈值的区域比值时,确定所述待检测图像中存在行人被遮挡,进而根据所述头部区域及所述形体区域分割出被遮挡的行人,最后调用预设跟踪算法对分割出的被遮挡的行人和未被遮挡的行人进行跟踪。本发明通过区域比值衡量行人被遮挡的情况,从而能够将被遮挡的行人检测出来;此外,结合人头区域和形体区域双重确定目标跟踪的对象,降低因行人身体被遮挡而造成漏检或者误检,提高了目标跟踪的效果。因而可以应用在复杂背景的场景中,尤其是当多个目标之间存在遮挡时,能够快速和精确地对目标进行跟踪,具有较高的实用价值。

实施例三

参阅图3所示,为本发明实施例三提供的计算机设备的结构示意图。在本发明较佳实施例中,所述计算机设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。

本领域技术人员应该了解,图3示出的计算机设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述计算机设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。

在一些实施例中,所述计算机设备3包括一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的计算机设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述计算机设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。

需要说明的是,所述计算机设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。

在一些实施例中,所述存储器31用于存储程序代码和各种数据,例如安装在所述计算机设备3中的多目标跟踪装置20,并在计算机设备3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31包括只读存储器(read-onlymemory,rom)、随机存储器(randomaccessmemory,ram)、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子擦除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

在一些实施例中,所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(centralprocessingunit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器32是所述计算机设备3的控制核心(controlunit),利用各种接口和线路连接整个计算机设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行计算机设备3的各种功能和处理数据,例如执行多目标跟踪。

在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。

尽管未示出,所述计算机设备3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述计算机设备3还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。

应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。

上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。

在进一步的实施例中,结合图2,所述至少一个处理器32可执行所述计算机设备3的操作装置以及安装的各类应用程序(如所述的多目标跟踪装置20)、程序代码等,例如,上述的各个模块。

所述存储器31中存储有程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到多目标跟踪的目的。

在本发明的一个实施例中,所述存储器31存储多个指令,所述多个指令被所述至少一个处理器32所执行以实现多目标跟踪。

具体地,所述至少一个处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1