目标检测跟踪方法、装置、设备及存储介质与流程

文档序号:19072999发布日期:2019-11-08 20:57阅读:196来源:国知局
目标检测跟踪方法、装置、设备及存储介质与流程

本申请实施例涉及计算机视觉技术领域,特别涉及一种目标检测跟踪方法、装置、设备及存储介质。



背景技术:

随着公众安全需求的与日俱增,布设视频监控的区域不断扩大。大范围的视频监控区域通常有多个摄像头,通过对多个摄像头采集的视频图像进行处理分析,可以实现大范围内的目标检测跟踪。

目前,相关技术对于多摄像头场景下的目标检测跟踪方案,基于人脸识别技术来实现。对于摄像头采集的视频图像,进行人脸检测,如果从视频图像中检测到目标对象的人脸区域,则从该人脸区域中提取该目标对象的人脸特征,然后基于该目标对象的人脸特征,确定出该目标对象的身份。

由于在监控场景下,光线以及摄像头角度多变,且存在人脸不可见的问题,导致无法提取有效的人脸特征,因此相关技术提供的目标检测跟踪方法的准确性较低。



技术实现要素:

本申请实施例提供了一种目标检测跟踪方法、装置、设备及存储介质,可用于解决相关技术提供的目标检测跟踪方法的准确性较低的问题。所述技术方案如下:

一方面,本申请实施例提供了一种目标检测跟踪方法,所述方法包括:

在从第一摄像头采集的第一图像帧中检测到目标对象之后,确定所述目标对象的全局位置,所述全局位置是指所述目标对象在全局坐标系中的位置;

根据所述目标对象的全局位置,从全局身份库中筛选出与所述目标对象匹配的n个候选对象的身份标识;其中,所述全局身份库用于存储从至少一个摄像头采集的视频流中检测到的至少一个对象的身份标识,所述n为正整数;

对于所述n个候选对象中的每个候选对象,根据所述目标对象的关键点和所述候选对象的关键点在同一个图像坐标系中的位置,计算所述目标对象与所述候选对象之间的相似度;

根据所述目标对象与各个所述候选对象之间的相似度,为所述目标对象分配身份标识。

另一方面,本申请实施例提供了一种目标检测跟踪装置,所述装置包括:

全局位置确定模块,用于在从第一摄像头采集的第一图像帧中检测到目标对象之后,确定所述目标对象的全局位置,所述全局位置是指所述目标对象在全局坐标系中的位置;

候选对象筛选模块,用于根据所述目标对象的全局位置,从全局身份库中筛选出与所述目标对象匹配的n个候选对象的身份标识;其中,所述全局身份库用于存储从至少一个摄像头采集的视频流中检测到的至少一个对象的身份标识,所述n为正整数;

相似度计算模块,用于对于所述n个候选对象中的每个候选对象,根据所述目标对象的关键点和所述候选对象的关键点在同一个图像坐标系中的位置,计算所述目标对象与所述候选对象之间的相似度;

身份标识分配模块,用于根据所述目标对象与各个所述候选对象之间的相似度,为所述目标对象分配身份标识。

再一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述目标检测跟踪方法。

又一方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述目标检测跟踪方法。

还一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品被处理器执行时,用于实现上述目标检测跟踪方法。

本申请实施例提供的技术方案可以带来如下有益效果:

通过在从某个摄像头中检测到目标对象之后,提取该目标对象的关键点,基于该目标对象的关键点,确定该目标对象的身份;解决了相关技术中基于人脸特征进行目标检测跟踪,所存在的准确性低的问题;由于关键点检测不会受限于光线变化、摄像头角度变化、对象在图像帧中的尺度变化、地面无法可见、对象的部分区域被遮挡等因素的影响,因此本申请实施例提供的基于关键点匹配来实现目标检测跟踪的方法,准确性更高,且更具鲁棒性。

附图说明

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

图1是本申请一个实施例提供的实施环境的示意图;

图2是本申请一个实施例提供的目标检测跟踪方法的流程图;

图3示出了一种摄像头采集视频流的示意图;

图4示出了一种后台设备工作的流程的示意图;

图5示出了一种确认目标对象身份标识的示意图;

图6是本申请一个实施例提供的获取全局映射关系的方法流程图;

图7和图8示出了一种获取全局映射关系的示意图;

图9和图10示出了一种获取局部映射关系的示意图;

图11是本申请一个实施例提供的目标检测跟踪装置的框图;

图12是本申请另一个实施例提供的目标检测跟踪装置的框图;

图13是本申请一个实施例提供的计算机设备的结构框图。

具体实施方式

人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

计算机视觉技术(computervision,cv)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。

本申请实施例提供的方案涉及人工智能的计算机视觉技术,具体通过如下实施例进行说明。

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

请参考图1,其示出了本申请实施例涉及的一种实施环境的示意图。该实施环境可以包括:摄像头10和计算机设备20。

摄像头10用于拍摄其视野范围内的图像,生成视频流。在本申请实施例中,摄像头10的数量有多个。例如,如图1所示,在某一个现实场景30的不同位置,布设多个摄像头10,每个摄像头10用于对该现实场景30的一部分区域进行监控,得到相应的视频流。

计算机设备20是指具备对数据进行处理和存储功能的设备,如pc(personalcomputer,个人计算机)、服务器或者其它具有计算能力的电子设备,本申请实施例对此不作限定。计算机设备20可以接收多个摄像头10的视频流,并且可以将该视频流解码形成图像,然后做后续的处理,如进行多摄像头场景下的多目标检测跟踪。

摄像头10与计算机设备20之间可以通过有线或者无线的方式进行通信。例如,摄像头10与计算机设备20之间的数据传送可以采用设备到设备(ad-hoc)的方式,也可以在基站或无线访问点(accesspoint,ap)的协调下进行,本申请实施例对此不作限定。

在本申请实施例中,对象是指能够从视频图像中进行检测跟踪的人或物体,可选地,对象是行人、动物、交通工具(如车辆)等可移动的实物。

请参考图2,其示出了本申请一个实施例提供的目标检测跟踪方法的流程图。该方法可应用于图1所示实施环境的计算机设备中。该方法可以包括如下几个步骤(201~204):

步骤201,在从第一摄像头采集的第一图像帧中检测到目标对象之后,确定目标对象的全局位置。

第一摄像头可以是多个摄像头中的任意一个摄像头。该多个摄像头可以用于对某一个现实场景进行监控,不同的摄像头可用于对该现实场景中的不同区域进行监控。任意两个摄像头的监控区域,可以存在重叠区域,也可以不存在重叠区域。

另外,计算机设备可以对第一摄像头采集的视频流进行解码,得到多个图像帧。然后,计算机设备可以对各个图像帧进行目标检测,分别检测各个图像帧中是否包含所要检测的对象,如行人或者其他对象。

第一图像帧是上述第一摄像头采集的视频流中的任意一个图像帧。计算机设备在从该第一图像帧中检测到目标对象之后,确定该目标对象的全局位置。

目标对象的全局位置是指该目标对象在全局坐标系中的位置,全局坐标系是基于上述多个摄像头监控的现实场景所构建的坐标系。可选地,该全局位置以坐标的形式表示。计算机设备根据上述目标对象的关键点在第一摄像头的图像坐标系中的位置和该第一摄像头对应的全局映射关系,计算目标对象的全局位置。其中,第一摄像头对应的全局映射关系,包括该第一摄像头下的关键点位置与全局位置之间的映射关系。

在本申请实施例中,对象的关键点是指能够对该对象起到标定作用的特征点。例如,当对象为行人时,该对象的关键点可以包括眼睛、鼻子、嘴角、下巴、肩膀、手、胯部、膝盖、脚等;再例如,当对象为车辆时,该对象的关键点可以包括车头、车顶、后视镜、车身、车灯、车尾、轮胎等。可选地,上述对象的关键点可以是一个,也可以是多个,本申请实施例对此不作限定。

计算机设备在从第一图像帧中检测到目标对象之后,可以进一步采用关键点识别技术,从该目标对象的检测框对应的图像中,检测出该目标对象的各个关键点,并得到各个关键点在第一摄像头的图像坐标系中的位置。其中,第一摄像头的图像坐标系,是指基于第一摄像头拍摄的图像帧所构建的平面坐标系。关键点在第一摄像头的图像坐标系中的位置,可以采用关键点在第一摄像头拍摄的图像帧中的像素坐标来表示。

计算机设备在获取目标对象的关键点在第一摄像头的图像坐标系中的位置之后,基于第一摄像头对应的全局映射关系,确定出与该关键点位置相对应的全局位置,即为该目标对象的全局位置。有关全局映射关系的生成过程,请参见下文实施例中的介绍说明。

另外,在本申请实施例中,计算机设备可以采用ssd(singleshotmultiboxdetector)、yolo(youonlylookonce)系列等方法进行目标检测,也可以采用openpose或maskrcnn等相关的关键点定位算法得到对象的关键点,在实际应用中,可以结合实际情况选择合适的目标检测算法和关键点定位算法,本申请实施例对此不作限定。

步骤202,根据目标对象的全局位置,从全局身份库中筛选出与目标对象匹配的n个候选对象的身份标识,n为正整数。

全局身份库用于存储从至少一个摄像头采集的视频流中检测到的至少一个对象的身份标识。该至少一个摄像头包括上述第一摄像头。可选地,当本实施例提供的技术方案应用于多摄像头场景下的目标检测跟踪时,摄像头的数量为多个(也即至少两个),该至少两个摄像头中包括上述第一摄像头,还包括至少一个其它摄像头。全局身份库中包括各个对象的身份标识。其中,对象的身份标识用于对该对象起到唯一标识的作用,不同的对象具有不同的身份标识,身份标识可以记为身份id。

可选地,全局身份库中还包括与身份标识对应的状态数据。一个身份标识可以对应于至少一条状态数据。每一条状态数据可以包括:时间戳、摄像头标识、全局位置和关键点位置。当计算机设备每次从一个图像帧中检测到对象时,可以记录一条状态数据。该状态数据对应的时间戳,即表示得到该状态数据的图像帧的时间戳。摄像头标识即为采集到上述图像帧的摄像头的标识。全局位置即为在采集到上述图像帧时,对象在全局坐标系中的全局位置。关键点位置即为在采集到上述图像帧时,对象的关键点在摄像头的图像坐标系中的位置。一个对象的身份标识,可以对应存储有至少一条状态数据,且各条状态数据可以按照时间戳进行排列,从而刻画出该对象在各个时间戳的全局位置,进而刻画出该对象的运动轨迹。

计算机设备计算目标对象的全局位置与全局身份库中包括的各个对象的最新全局位置之间的全局距离,选择全局距离符合预设条件的对象的身份标识,得到n个候选对象的身份标识。

两个对象的全局距离,是指这两个对象在全局坐标系中的距离,全局距离根据这两个对象的全局位置计算得到。例如,该距离可以是欧式距离。以全局位置以坐标的形式表示为例,假设目标对象在全局坐标系中的全局位置为(a0,b0),上述全局身份库中存在一对象的最新全局位置为(a1,b1),则目标对象与该对象之间的全局距离为可选地,计算机设备根据全局身份库中的各个对象的最新全局位置,结合目标对象的全局位置,分别计算该目标对象与全局身份库中的各个对象之间的全局距离。

预设条件是指预先设定的用于从全局身份库中筛选出候选对象的条件。在一种可能的实施方式中,计算机设备选择上述全局距离最小的若干个对象作为候选对象。在另一种可能的实施方式中,计算机设备选择全局距离小于第一门限值的对象作为候选对象,该第一门限值可以结合实际情况预先设定,本申请实施例对此不作限定。

在上述步骤202中,结合全局身份库中已经记录的对象,筛选出有可能是目标对象的候选对象;下面,通过步骤203进行更细化的比对,以确定出目标对象与候选对象是否为同一个对象。

步骤203,对于n个候选对象中的每个候选对象,根据目标对象的关键点和候选对象的关键点在同一个图像坐标系中的位置,计算目标对象与候选对象之间的相似度。

目标对象与候选对象之间的相似度,用于表征该目标对象和候选对象是同一个对象的可能性。若目标对象与候选对象之间的相似度越大,则目标对象和候选对象是同一个对象的可能性越大;反之,若目标对象与候选对象之间的相似度越小,则目标对象和候选对象是同一个对象的可能性越小。

在本申请实施例中,在计算目标对象与候选对象之间的相似度时,首先需要确保该目标对象的关键点和候选对象的关键点是在同一个图像坐标系中,然后基于这两个对象的关键点在同一个图像坐标系中的位置,计算这两个对象之间的相似度,从而确保相似度的计算结果的准确性。

在一种可能的实施方式中,目标对象与候选对象之间的相似度,采用这两个对象的关键点之间的距离来表征。可选地,目标对象与候选对象的关键点之间的距离越小,则表示目标对象与候选对象之间的相似度越大;反之,目标对象与候选对象的关键点之间的距离越大,则表示目标对象与候选对象之间的相似度越小。也即,目标对象与候选对象的关键点之间的距离,与目标对象与候选对象之间的相似度呈负相关关系。

可选地,若最近一次检测到上述候选对象的摄像头为第一摄像头,则计算机设备根据目标对象的关键点在第一摄像头的图像坐标系中的位置,和该候选对象的关键点在第一摄像头的图像坐标系中的位置,计算目标对象的关键点与候选对象的关键点在第一摄像头的图像坐标系中的距离。

两个对象的关键点之间的距离,可以采用欧氏距离来表示。当关键点的数量为1个时,目标对象的关键点与候选对象的关键点之间的距离,即为这一组关键点之间的距离。当关键点的数量为多个时,目标对象的关键点与候选对象的关键点之间的距离,可以是各组相同关键点之间的距离的平均值。例如,预先设定关键点检测的数量为16,则对于目标对象的16个关键点和候选对象的16个关键点,分别计算每一组相同关键点之间的距离,得到16个距离值,然后计算该16个距离值的平均值,得到目标对象的关键点与候选对象的关键点之间的距离。

需要说明的一点是,考虑到对象有的关键点会被遮挡,无法检测出被遮挡的关键点的情况,在计算目标对象的关键点与候选对象的关键点之间的距离时,对局目标对象和候选对象均检测出的关键点,进行距离计算和求平均值。例如,预先设定关键点检测的数量为16,实际检测出目标对象的关键点数量为15个,候选对象的关键点数量为14个,且相同关键点公有13组,则计算这13组关键点的距离值的平均值,得到目标对象的关键点与候选对象的关键点之间的距离。本申请实施例提供的方法,即便是关键点检测不全面,也能够进行相似度计算,提升了方案的鲁棒性。

可选地,若最近一次检测到上述候选对象的摄像头为第二摄像头,且第二摄像头与第一摄像头之间存在拍摄重叠区域,则根据目标对象的关键点在目标摄像头的图像坐标系中的位置,和该候选对象的关键点在目标摄像头的图像坐标系中的位置,计算目标对象的关键点与候选对象的关键点在目标摄像头的图像坐标系中的距离。

如果目标对象和候选对象并不是在同一个摄像头采集的图像帧中检测到的,那么首先需要进行关键点位置的映射,将这两个对象的关键点转换到同一个图像坐标系中,然后再进行距离计算。

在一个示例中,上述目标摄像头为第一摄像头,计算机设备根据候选对象的关键点在第二摄像头的图像坐标系中的位置和局部映射关系,计算候选对象的关键点在第一摄像头的图像坐标系中的位置。然后,计算机设备根据目标对象的关键点在第一摄像头的图像坐标系中的位置,和候选对象的关键点在第一摄像头的图像坐标系中的位置,计算目标对象的关键点与候选对象的关键点在第一摄像头的图像坐标系中的距离。

在另一个示例中,上述目标摄像头为第二摄像头,计算机设备根据目标对象的关键点在第一摄像头的图像坐标系中的位置和局部映射关系,计算目标对象的关键点在第二摄像头的图像坐标系中的位置。然后,计算机设备根据目标对象的关键点在第二摄像头的图像坐标系中的位置,和候选对象的关键点在第二摄像头的图像坐标系中的位置,计算目标对象的关键点与候选对象的关键点在第二摄像头的图像坐标系中的距离。

在上述示例中,局部映射关系是指第一摄像头下的关键点位置与第二摄像头下的关键点位置之间的映射关系。通过查找该局部映射关系,可以得到关键点在一个摄像头的图像坐标系中的位置,与该关键点在另一个摄像头的图像坐标系中的位置之间的映射关系,从而实现将两个对象的关键点转换到同一个图像坐标系中。

在另一种可能的实施方式中,目标对象与候选对象之间的相似度,采用这两个对象的关键点之间的重合度来表征。可选地,目标对象与候选对象的关键点之间的重合度越大,则表示目标对象与候选对象之间的相似度越大;反之,目标对象与候选对象的关键点之间的重合度越小,则表示目标对象与候选对象之间的相似度越小。也即,目标对象与候选对象的关键点之间的重合度,与目标对象与候选对象之间的相似度呈正相关关系。

可选地,采用如下方式计算目标对象与候选对象的关键点之间的重合度:基于目标对象的关键点构建目标对象所在的区域,并基于候选对象的关键点构建候选对象所在的区域,计算目标对象所在的区域与候选对象所在的区域之间的重叠区域的面积,将重叠区域的面积除以目标对象所在的区域的面积(或者除以候选对象所在的区域的面积),得到目标对象与候选对象的关键点之间的重合度。

另外,在进行重合度计算时,如果目标对象的关键点和候选对象的关键点不在同一个图像坐标系中,也需要将这两个对象的关键点转换到同一个图像坐标系中,然后再进行重合度计算。

另外,如果最近一次检测到候选对象的摄像头为第三摄像头,且该第三摄像头与第一摄像头之间不存在拍摄重叠区域,则可以基于其他相似度计算方法,来计算目标对象和候选对象之间的相似度。例如,可以通过人脸识别来计算相似度,本申请实施例对此不作限定。

步骤204,根据目标对象与各个候选对象之间的相似度,为目标对象分配身份标识。

计算机设备在计算得到目标对象与各个候选对象之间的相似度之后,可以根据该相似度计算结果,查找上述n个候选对象中是否存在与目标对象相匹配的特定候选对象。其中,上述特定候选对象是指与目标对象之间的相似度满足预设条件的候选对象。若存在特定候选对象,则为目标对象分配特定候选对象的身份标识;若不存在特定候选对象,则为目标对象分配新的身份标识。

可选地,预设条件为在n个候选对象中,与目标对象之间的相似度最大,且该相似度的最大值大于第二门限值。该第二门限值可以结合实际情况预先设定,本申请实施例对此不作限定。

例如,假设有3个候选对象,包括候选对象1、候选对象2和候选对象3,其全局标识分别为001、003和004。假设根据相似度计算结果,确定候选对象1为特定候选对象,则为该目标对象分配的身份标识即为001;假设根据相似度计算结果,确定不存在特定候选对象,则为该目标对象分配新的身份标识,如分配006作为该目标对象的身份标识。其中,新的身份标识是指全局身份库中未被使用的身份标识。

另外,计算机设备在为目标对象分配身份标识之后,还可以对全局身份库进行更新。

在一种情况下,计算机设备为目标对象分配特定候选对象的身份标识之后,在上述全局身份库中,添加与该特定候选对象的身份标识对应的状态数据。其中,该状态数据包括:状态数据对应的时间戳、第一摄像头的标识、目标对象的全局位置、目标对象的关键点在第一摄像头的图像坐标系中的位置。

在另一种情况下,计算机设备为目标对象分配新的身份标识之后,在上述全局身份库中添加该新的身份标识,并添加与该新的身份标识对应的状态数据。其中,该状态数据包括:状态数据对应的时间戳、第一摄像头的标识、目标对象的全局位置、目标对象的关键点在第一摄像头的图像坐标系中的位置。

另外,对于至少一个摄像头中的每个摄像头,计算机设备对该摄像头采集的视频流进行解码,得到至少一个图像帧;计算机设备分别检测各个图像帧中是否存在运动目标;将存在运动目标的图像帧添加至图像队列,该图像队列中的图像帧用于进行目标检测跟踪。其中,运动目标的检测可以采用帧差法、混合高斯等运动目标检测算法,本申请实施例对此不作限定。对于未检测到运动目标的图像帧,计算机设备可以不必放入图像队列中,也即不必对这部分图像帧进行目标检测跟踪,从而减少该计算机设备的计算量。

另外,对于任意一个摄像头采集的视频流,计算机设备可以对该视频流中的每一个图像帧进行运动目标检测,也可以每间隔若干个图像帧进行一次运动目标检测,例如每隔5个图像帧进行一次运动目标检测,即对第1帧、第6帧、第11帧、第16帧等图像帧进行运动目标检测。

在示例性实施例中,对于上述全局身份库中的对象,计算机设备可以根据该对象在各个时间戳的全局位置,确定该对象的运动轨迹。可选地,计算机设备可以将各个对象的实时的全局位置,以及运动轨迹在前端进行展示。另外,计算机设备还可以基于全局身份库中的信息,实现一些其它业务功能,如对象统计、徘徊检测、权限管控等。

综上所述,本申请实施例提供的技术方案中,通过在从某个摄像头中检测到目标对象之后,提取该目标对象的关键点,基于该目标对象的关键点,确定该目标对象的身份;解决了相关技术中基于人脸特征进行目标检测跟踪,所存在的准确性低的问题;由于关键点检测不会受限于光线变化、摄像头角度变化、对象在图像帧中的尺度变化、地面无法可见、对象的部分区域被遮挡等因素的影响,因此本申请实施例提供的基于关键点匹配来实现目标检测跟踪的方法,准确性更高,且更具鲁棒性。

另外,首先基于全局映射关系,得到目标对象的全局位置,基于全局位置之间的距离比对,实现粗略匹配,从全局身份库中筛选出可能是目标对象的候选对象;然后再进一步基于目标对象和候选对象的关键点在同一个图像坐标系中的位置,计算目标对象和候选对象之间的相似度,实现精确匹配。通过上述第一步粗略匹配,有助于减少下一步精确匹配的计算量,通过精确匹配,充分保证了身份确认的准确性。

在一种可能的应用场景中,以对监控区域内的行人进行检测跟踪为例,对本申请技术方案进行介绍说明。示例性地,该监控区域可以是机房、小区、写字楼、工厂、商场等任何具有视频监控需求的室内或室外场景。通过本申请实施例提供的技术方案,能够对该监控区域内出现的各个行人进行检测跟踪,实现自动化的管控、告警等,也可以分析该监控区域内的人员情况,用于客流分析等。

如图3所示,在监控区域31的出入口放置人脸闸机32,通过该人脸闸机32对进入该监控区域31的行人33进行人脸识别,确定出该行人33的身份标识。在监控区域31中,布设有多个摄像头34,每个摄像头34用于采集其监控范围内的视频流。

结合参考图3和图4,图3中的各个摄像头34可以分别与图4中的后台设备41连接,将采集的视频流发送给后台设备41。后台设备41还与前端设备42连接,用于接收前端设备42发起的任务请求,并将该任务请求的处理结果返回给前端设备42进行展示。

如图4所示,后台设备41在获取到各个摄像头34采集的视频流之后,可以执行上文实施例介绍的目标检测跟踪流程。具体来讲,后台设备41对各路视频流进行解码,得到相应的图像帧,然后对各路图像帧进行运动目标检测,将存在运动目标的图像帧添加至图像队列中,等待gpu(graphicsprocessingunit,图形处理器)池中的gpu进行目标检测、关键点提取等处理,然后将检测到的目标对象以及该目标对象的相关信息传送到全局匹配节点进行匹配。可选地,上述目标对象的相关信息可以包括:目标对象的检测框在图像帧中的位置、摄像头的标识、时间戳以及关键点位置等信息。全局数据节点中存储有全局身份库,且全局匹配节点和全局数据节点保持数据同步,在进行全局匹配时,拉取全局身份库中的最新数据进行匹配。

如图5所示,假设从摄像头a的某个图像帧中检测到目标对象51,后台设备根据该摄像头a对应的全局映射关系,计算该目标对象51在地图52中的全局位置53,然后和全局身份库54里各个对象最新的全局位置进行对比,确定离该目标对象的全局位置53距离最近的若干个候选对象55。之后,后台设备计算各个候选对象与目标对象51之间的相似度。当某一候选对象的最新状态数据中记录的摄像头标识和目标对象51对应的摄像头标识一致(也即均为摄像头a)时,通过计算候选对象与目标对象51的关键点在摄像头a的图像坐标系中的距离。当某一候选对象的最新状态数据中记录的摄像头标识和目标对象51对应的摄像头标识不一致(如目标对象对应于摄像头a,候选对象对应于摄像头b时),若这两个摄像头存在拍摄重叠区域,则将目标对象51在摄像头a的图像坐标系中的关键点位置,映射到应摄像头b的图像坐标系中,然后在摄像头b的图像坐标系中,计算候选对象与目标对象51的关键点之间的距离。当各个候选对象中存在特定候选对象(也即与目标对象51的关键点之间的距离最小,且小于某一预先设定的阈值)时,则认为目标对象51与该特定候选对象的身份一致,为目标对象分配该特定候选对象的身份标识;否则,为目标对象分配新的身份标识,并将该新的身份标识更新到全局身份库中。

在本申请实施例提供的技术方案,可以包括离线阶段和在线阶段两个阶段。在离线阶段,用于获取上文介绍的全局映射关系和局部映射关系。在在线阶段,基于离线阶段获取的上述全局映射关系和局部映射关系,进行目标检测跟踪。

下面,结合参考图6,对离线阶段的方法流程进行介绍说明:

步骤601,当测试对象在部署有至少一个摄像头的场景中移动时,分别从各个摄像头采集的视频流中,检测测试对象,并从检测到测试对象的图像帧中,提取测试对象的关键点位置。

计算机设备在进行目标跟踪检测之前,通过离线阶段得到全局映射关系。在上述离线阶段,安排一个测试对象在上述需要进行目标检测跟踪的现实场景中进行移动。例如,当需要对行人进行检测跟踪时,该测试对象可以是一个真人,也可以是一个智能机器人,且该智能机器人与真人具有相同或类似的外形,从而能够检测到相同的关键点。

在本申请实施例中,在上述测试对象移动的过程中,计算机设备通过各个摄像头采集测试对象的视频流,并从上述视频流中检测得到包含上述测试对象的图像帧。计算机设备在检测到包含有测试对象的图像帧之后,从该包含有测试对象的图像帧中提取测试对象的关键点位置。

步骤602,根据测试对象的起点位置、终点位置和测试对象的移动速度,计算测试对象在各个检测时间点的全局位置。

起点位置是上述测试对象开始运动的全局位置。终点位置是上述测试对象结束运动的全局位置。可选地,上述测试对象在现实场景中保持一个移动速度进行匀速移动。可选地,该移动速度是1m/s、5m/s或10m/s,等等,本申请实施例对此不作限定。

示例性地,结合参考图7,以测试对象是行人为例,在测试对象开始运动时,计算机设备通过摄像头71获取该测试对象72的视频流,并检测得到包含该测试对象72的图像帧。计算机设备选取上述测试对象72开始运动的起点图像帧73,并记录该起点图像帧73的时间戳ta。计算机设备记录测试对象72的起点位置74。同理,在上述测试对象结束运动时,计算机设备通过摄像头75获取该测试对象72的视频流,并检测得到包含该测试对象72的图像帧。计算机设备选取上述测试对象72结束运动的终点图像帧76,并记录该终点图像帧76的时间戳tb,计算机设备记录测试对象72的终点位置77。

计算机设备根据测试对象的起点位置、终点位置和测试对象的移动速度,可以计算出该测试对象在各个检测时间点的全局位置,并记录该测试对象在各个检测时间点的全局位置。可选地,计算机设备根据上述测试对象的移动速度确定上述检测时间点的间隔,如测试对象的移动速度为1m/s,检测时间点的间隔为0.5s。

步骤603,根据测试对象在各个检测时间点的全局位置,以及测试对象在各个检测时间点对应的图像帧中的关键点位置,构建各个摄像头分别对应的全局映射关系。

每个摄像头对应的全局映射关系,包括该摄像头下的关键点位置与全局位置之间的映射关系。在多摄像头场景中,每个摄像头对应有一组全局映射关系。

结合参考图8,时刻a为上述测试对象在起点位置开始移动的时刻,时刻b为上述测试对象到达终点位置的时刻。摄像头采集测试对象在时刻a的图像帧、时刻b的图像帧以及时刻a与时刻b之间的视频流,对上述时刻a的图像帧、时刻b的图像帧以及时刻a与时刻b之间的视频流,进行运动检测、目标检测和关键点检测,分别确定在时刻a时测试对象的关键点在图像坐标系中的坐标位置,在时刻b时测试对象的关键点在图像坐标系中的坐标位置,以及在时刻a和时刻b之间的部分时刻点时,测试对象的关键点在图像坐标系中的坐标位置。另外,计算机设备可以采用线性插值的方法,根据测试对象的起点位置、终点位置和测试对象的移动速度,计算测试对象在各个检测时间点的全局位置。最后,计算机设备基于各个检测时间点的全局位置和关键点在图像坐标系中的坐标位置,构建全局映射关系。可选地,上述测试对象在目标检测区域多次移动后,摄像头与计算机设备重复上述步骤,进而得到更加完善的全局映射关系。

在多摄像头场景中,存在拍摄重叠区域的摄像头之间存在局部映射关系(也即上文介绍的局部映射关系),该局部映射关系的获取方法如下:

1、获取第一摄像头采集的测试视频流,以及与第一摄像头之间存在拍摄重叠区域的第二摄像头采集的测试视频流;

2、分别从上述第一摄像头采集的测试视频流和上述第二摄像头采集的测试视频流中,检测测试对象;

3、对于上述第一摄像头和上述第二摄像头采集的标准图像对,获取上述测试对象的关键点在上述标准图像对中的位置;其中,上述标准图像对是指上述第一摄像头和上述第二摄像头在同一时刻采集的,且均检测到上述测试对象的图像对;

4、根据上述测试对象的关键点在上述标准图像对中的位置,构建上述第一摄像头和上述第二摄像头之间的局部映射关系,其中,该局部映射关系是指上述第一摄像头下的关键点位置与上述第二摄像头下的关键点位置之间的映射关系。

示例性地,结合参考图9,以测试对象是行人为例,摄像头91与摄像头92存在重叠区域93,在目标对象94运动到重叠区域93时,计算机设备通过摄像头91获得图像帧95,通过摄像头92获得图像帧96,该图像帧95和图像帧96是摄像头91和摄像头92在同一时刻采集的一组标准图像对,通过从图像帧95和图像帧96中对测试对象进行关键点检测,可以得到一组关键点位置的映射关系,整合多组关键点位置的映射关系,即得到摄像头91与摄像头92之间的局部映射关系。

另外,结合参考图10,对于存在拍摄重叠区域的摄像头,以摄像头c与摄像头d存在拍摄重叠区域为例,计算机设备在获取摄像头c与摄像头d的关于上述测试对象的视频流后,对上述视频流进行运动检测、目标检测和关键点检测,进而分别获得上述测试对象的关键点在摄像头c的坐标系中,与摄像头d的坐标系中的坐标,上述摄像头c的坐标系中的关键点的坐标,与上述摄像头d的坐标系中的关键点的坐标之间形成映射关系对,整合多组映射关系对,形成摄像头c与摄像头d之间的局部映射关系。

通过上述方式,计算机设备在离线阶段,得到各个摄像头对应的全局映射关系,以及存在拍摄重叠区域的摄像头之间的局部映射关系,从而为在线阶段的目标检测跟踪,提供了充分的支持,有效地保证了检测结果的准确性。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参考图11,其示出本申请一个实施例提供的目标检测跟踪装置的框图。该装置具有实现上述目标检测跟踪方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置在计算机设备中。该装置1100可以包括:全局位置确定模块1101、候选对象筛选模块1102、相似度计算模块1103和身份标识分配模块1104。

全局位置确定模块1101,用于在从第一摄像头采集的第一图像帧中检测到目标对象之后,确定所述目标对象的全局位置,所述全局位置是指所述目标对象在全局坐标系中的位置。

候选对象筛选模块1102,用于根据所述目标对象的全局位置,从全局身份库中筛选出与所述目标对象匹配的n个候选对象的身份标识;其中,所述全局身份库用于存储从至少一个摄像头采集的视频流中检测到的至少一个对象的身份标识,所述n为正整数。

相似度计算模块1103,用于对于所述n个候选对象中的每个候选对象,根据所述目标对象的关键点和所述候选对象的关键点在同一个图像坐标系中的位置,计算所述目标对象与所述候选对象之间的相似度。

身份标识分配模块1104,用于根据所述目标对象与各个所述候选对象之间的相似度,为所述目标对象分配身份标识。

在示例性实施例中,所述相似度计算模块1103还包括:第一距离计算单元和第二距离计算单元(图中未示出)。

第一距离计算单元,用于若最近一次检测到所述候选对象的摄像头为所述第一摄像头,则根据所述目标对象的关键点在所述第一摄像头的图像坐标系中的位置,和所述候选对象的关键点在所述第一摄像头的图像坐标系中的位置,计算所述目标对象的关键点与所述候选对象的关键点在所述第一摄像头的图像坐标系中的距离;其中,所述距离用于表征所述相似度。

第二距离计算单元,用于若最近一次检测到所述候选对象的摄像头为第二摄像头,且所述第二摄像头与所述第一摄像头之间存在拍摄重叠区域,则根据所述目标对象的关键点在目标摄像头的图像坐标系中的位置,和所述候选对象的关键点在所述目标摄像头的图像坐标系中的位置,计算所述目标对象的关键点与所述候选对象的关键点在所述目标摄像头的图像坐标系中的距离;其中,所述距离用于表征所述相似度,所述目标摄像头为所述第一摄像头或所述第二摄像头。

在示例性实施例中,所述第二距离计算单元,还用于根据所述候选对象的关键点在所述第二摄像头的图像坐标系中的位置和局部映射关系,计算所述候选对象的关键点在所述第一摄像头的图像坐标系中的位置;根据所述目标对象的关键点在所述第一摄像头的图像坐标系中的位置,和所述候选对象的关键点在所述第一摄像头的图像坐标系中的位置,计算所述目标对象的关键点与所述候选对象的关键点在所述第一摄像头的图像坐标系中的距离;或者,用于根据所述目标对象的关键点在所述第一摄像头的图像坐标系中的位置和局部映射关系,计算所述目标对象的关键点在所述第二摄像头的图像坐标系中的位置;根据所述目标对象的关键点在所述第二摄像头的图像坐标系中的位置,和所述候选对象的关键点在所述第二摄像头的图像坐标系中的位置,计算所述目标对象的关键点与所述候选对象的关键点在所述第二摄像头的图像坐标系中的距离;其中,所述局部映射关系是指所述第一摄像头下的关键点位置与所述第二摄像头下的关键点位置之间的映射关系。

在示例性实施例中,如图12所示,所述身份标识分配模块1104还用于查找所述n个候选对象中是否存在与所述目标对象相匹配的特定候选对象;其中,所述特定候选对象是指与所述目标对象之间的相似度满足第一预设条件的候选对象;若存在所述特定候选对象,则为所述目标对象分配所述特定候选对象的身份标识;若不存在所述特定候选对象,则为所述目标对象分配新的身份标识。

在示例性实施例中,如图12所示,所述装置还包括:数据更新模块1105、全局映射获取模块1106、局部映射获取模块1107、视频流解码模块1108、运动目标检测模块1109、图像帧添加模块1110。

数据更新模块1105,用于:在为所述目标对象分配所述特定候选对象的身份标识之后,在所述全局身份库中,添加与所述特定候选对象的身份标识对应的状态数据;其中,所述状态数据包括:所述状态数据对应的时间戳、所述第一摄像头的标识、所述目标对象的全局位置、所述目标对象的关键点在所述第一摄像头的图像坐标系中的位置;或者,用于在为所述目标对象分配新的身份标识之后,在所述全局身份库中添加所述新的身份标识,并添加与所述新的身份标识对应的状态数据;其中,所述状态数据包括:所述状态数据对应的时间戳、所述第一摄像头的标识、所述目标对象的全局位置、所述目标对象的关键点在所述第一摄像头的图像坐标系中的位置。

全局映射获取模块1106,用于当测试对象在部署有所述至少一个摄像头的场景中移动时,分别从各个所述摄像头采集的测试视频流中,检测所述测试对象,并从检测到所述测试对象的图像帧中,提取所述测试对象的关键点位置;根据所述测试对象的起点位置、终点位置和所述测试对象的移动速度,计算所述测试对象在各个检测时间点的全局位置;根据所述测试对象在各个检测时间点的全局位置,以及所述测试对象在各个检测时间点对应的图像帧中的关键点位置,构建各个所述摄像头分别对应的全局映射关系;其中,每个摄像头对应的全局映射关系,包括所述摄像头下的关键点位置与全局位置之间的映射关系。

局部映射获取模块1107,用于获取所述第一摄像头采集的测试视频流,以及与所述第一摄像头之间存在拍摄重叠区域的第二摄像头采集的测试视频流;分别从所述第一摄像头采集的测试视频流和所述第二摄像头采集的测试视频流中,检测测试对象;对于所述第一摄像头和所述第二摄像头采集的标准图像对,获取所述测试对象的关键点在所述标准图像对中的位置;其中,所述标准图像对是指所述第一摄像头和所述第二摄像头在同一时刻采集的,且均检测到所述测试对象的图像对;根据所述测试对象的关键点在所述标准图像对中的位置,构建所述第一摄像头和所述第二摄像头之间的局部映射关系,其中,所述局部映射关系是指所述第一摄像头下的关键点位置与所述第二摄像头下的关键点位置之间的映射关系。

视频流解码模块1108,用于对于所述至少一个摄像头中的每个摄像头,对所述摄像头采集的视频流进行解码,得到至少一个图像帧。

运动目标检测模块1109,用于分别检测各个所述图像帧中是否存在运动目标。

图像帧添加模块1110,用于将存在所述运动目标的图像帧添加至图像队列,所述图像队列中的图像帧用于进行目标检测跟踪。

在示例性实施例中,如图12所示,所述全局位置确定模块1101还用于根据所述目标对象的关键点在所述第一摄像头的图像坐标系中的位置和所述第一摄像头对应的全局映射关系,计算所述目标对象的全局位置;其中,所述第一摄像头对应的全局映射关系,包括所述第一摄像头下的关键点位置与全局位置之间的映射关系。

在示例性实施例中,如图12所示,所述候选对象筛选模块1102还用于计算所述目标对象的全局位置与所述全局身份库中包括的各个对象的最新全局位置之间的全局距离;选择所述全局距离符合第二预设条件的对象的身份标识,得到所述n个候选对象的身份标识。

综上所述,本申请实施例提供的技术方案中,中,通过在从某个摄像头中检测到目标对象之后,提取该目标对象的关键点,基于该目标对象的关键点,确定该目标对象的身份;解决了相关技术中基于人脸特征进行目标检测跟踪,所存在的准确性低的问题;由于关键点检测不会受限于光线变化、摄像头角度变化、对象在图像帧中的尺度变化、地面无法可见、对象的部分区域被遮挡等因素的影响,因此本申请实施例提供的基于关键点匹配来实现目标检测跟踪的方法,准确性更高,且更具鲁棒性。

需要说明的是,本申请实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

请参考图13,其示出了本申请实施例提供的计算机设备的结构框图。该计算机设备可以用于实施上述实施例中提供的目标检测跟踪方法。例如,该计算机设备可以是图1所示实施环境中的计算机设备20。具体来讲:

该计算机设备1300包括处理单元(如中央处理器cpu、图形处理器gpu和现场可编程逻辑门阵列fpga等)1301、包括随机存取存储器(ram)1302和只读存储器(rom)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。该计算机设备1300还包括帮助计算计算机设备内的各个器件之间传输信息的基本输入/输出系统(i/o系统)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1312的大容量存储设备1307。

该基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中,该显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。该基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。

该大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。该大容量存储设备1307及其相关联的计算机可读介质为计算机设备1300提供非易失性存储。也就是说,该大容量存储设备1307可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。

根据本申请实施例,该计算机设备1300还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1300可以通过连接在该系统总线1305上的网络接口单元1311连接到网络1312,或者说,也可以使用网络接口单元1311来连接到其他类型的网络或远程计算机系统(未示出)。

该存储器还包括至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述目标检测跟踪方法。

本申请实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或该指令集在被处理器执行时以实现上述目标检测跟踪方法。

在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被处理器执行时,其用于实现上述目标检测跟踪方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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