一种目标追踪处理方法、系统及相关装置与流程

文档序号:33001257发布日期:2023-01-18 01:18阅读:40来源:国知局
一种目标追踪处理方法、系统及相关装置与流程

1.本文件涉及图像处理技术领域,尤其涉及一种目标追踪处理方法、系统及相关装置。


背景技术:

2.目标追踪是当前视觉算法的重要应用,尤其是客流较大的商业综合体内以及融合互联网应用、实体门店等互联网技术和人工智能以及自动化技术相融合的数字化场景,对于客流的追踪定位分析尤为重要。
3.为保证大客流下的目标追踪效果,往往需要采用较高算力的ai摄像头来提效,即每个ai摄像头均可以处理各自采集的图像帧,确定目标特征。但是,考虑到商业综合体内人流分布在时间和空间上是不均衡的,因此,会导致ai摄像头的算力资源浪费。


技术实现要素:

4.本说明书一个或多个实施例的目的是提供目标追踪处理方法、系统及相关装置,以通过调度节点在处于忙碌的摄像头和处于空闲的摄像头之间进行计算任务的调度,实现分布式计算资源的均衡分配,避免ai算力资源浪费,提升整体计算效率。
5.为解决上述技术问题,本说明书一个或多个实施例是这样实现的:第一方面,提出了一种目标追踪处理方法,适用于包含多个具备ai算力的摄像头的分布式计算系统,该目标追踪处理方法在调度节点侧包括:获取多个摄像头中每个摄像头的工作状态,其中,每个摄像头的工作状态基于该摄像头在历史时间段内定位出的目标数量与该历史时间段内图像帧数量的比值确定;如果所述多个摄像头中存在处于空闲状态的至少一个第一摄像头和处于忙碌状态的至少一个第二摄像头,则基于所述至少一个第一摄像头与所述至少一个第二摄像头的数量比和每个摄像头的任务负载,确定任务调度策略;基于所述任务调度策略,指示所述至少一个第二摄像头将超出正常状态下任务负载的计算任务分发给至少一个第一摄像头,以便于所述至少一个第一摄像头执行接收到的计算任务,并将计算结果返回给相应第二摄像头,以使得该第二摄像头基于接收的计算结果进行目标追踪处理。
6.第二方面,提出了一种目标追踪处理方法,适用于包含多个具备ai算力的摄像头的分布式计算系统,该目标追踪处理方法在摄像头侧包括:接收其它摄像头分发的第一计算任务;其中,所述第一计算任务按照第一方面所述的目标追踪处理方法中分发方式分发,所述第一计算任务携带有摄像头标识;执行本地采集的图像所产生的第二计算任务,以及,所述第一计算任务;基于所述第二计算任务对应的第二计算结果进行目标追踪处理,以及,将所述第一计算任务对应的第一计算结果返回摄像头标识对应的其它摄像头,以便于其它摄像头基于接收到的第一计算结果进行目标追踪处理。
7.第三方面,提出了一种目标追踪处理装置,包括:获取模块,用于获取多个摄像头中每个摄像头的工作状态,其中,每个摄像头的工作状态基于该摄像头在历史时间段内定位出的目标数量与该历史时间段内图像帧数量的比值确定;确定模块,用于如果所述多个摄像头中存在处于空闲状态的至少一个第一摄像头和处于忙碌状态的至少一个第二摄像头,则基于所述至少一个第一摄像头与所述至少一个第二摄像头的数量比和每个摄像头的任务负载,确定任务调度策略;调度模块,用于基于所述任务调度策略,指示所述至少一个第二摄像头将超出正常状态下任务负载的计算任务分发给至少一个第一摄像头,以便于所述至少一个第一摄像头执行接收到的计算任务,并将计算结果返回给相应第二摄像头,以使得该第二摄像头基于接收的计算结果进行目标追踪处理。
8.第四方面,提出了一种目标追踪处理装置,包括:接收模块,用于接收其它摄像头分发的第一计算任务;其中,所述第一计算任务按照第一方面所述的目标追踪处理方法中分发方式分发,所述第一计算任务携带有摄像头标识;执行模块,用于执行本地采集的图像所产生的第二计算任务,以及,所述第一计算任务;所述执行模块,还用于基于所述第二计算任务对应的第二计算结果进行目标追踪处理,以及,发送模块,用于将所述第一计算任务对应的第一计算结果返回摄像头标识对应的其它摄像头,以便于其它摄像头基于接收到的第一计算结果进行目标追踪处理。
9.第五方面,提出了一种目标追踪处理系统,包括:调度节点以及多个具备ai算力的摄像头;其中,所述调度节点,用于获取多个摄像头中每个摄像头的工作状态,如果所述多个摄像头中存在处于空闲状态的至少一个第一摄像头和处于忙碌状态的至少一个第二摄像头,则基于所述至少一个第一摄像头与所述至少一个第二摄像头的数量比和每个摄像头的任务负载,确定任务调度策略,基于所述任务调度策略,指示所述至少一个第二摄像头将超出正常状态下任务负载的计算任务分发给至少一个第一摄像头;其中,每个摄像头的工作状态基于该摄像头在历史时间段内定位出的目标数量与该历史时间段内图像帧数量的比值确定;所述第一摄像头,用于接收第二摄像头分发的第一计算任务,执行本地采集的图像所产生的第二计算任务,以及,执行所述第一计算任务;基于所述第二计算任务对应的第二计算结果进行目标追踪处理,并将所述第一计算任务对应的第一计算结果返回给相应的第二摄像头;所述第二摄像头,用于向第一摄像头分发第一计算任务,以及,接收第一摄像头返回的第一计算结果,并基于所述第一计算结果进行目标追踪处理。
10.第六方面,提出了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处
理器执行第一方面或第二方面所述的目标追踪处理方法。
11.第七方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面或第二方面所述的目标追踪处理方法。
12.由以上说明书一个或多个实施例提供的技术方案可见,通过调度节点获取每个摄像头的工作状态,在确定这多个摄像头中存在处于空闲状态的第一摄像头和处于忙碌状态的第二摄像头,则基于空闲状态的第一摄像头和处于忙碌状态的第二摄像头的数目比,以及每个摄像头的任务负载,确定任务调度策略;然后,基于任务调度策略指示至少一个第二摄像头将超出正常状态下任务负载的计算任务分发给至少一个第一摄像头,这样,可以通过至少一个第一摄像头执行本属于第二摄像头的计算任务,充分利用了空闲的摄像头的闲置算力,之后,将计算结果返回给相应第二摄像头,以使得该第二摄像头基于接收的计算结果进行目标追踪处理。从而,实现分布式计算资源的均衡分配,避免ai算力资源浪费,提升整体计算效率。
附图说明
13.为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对一个或多个实施例或现有技术描述中所需要使用的附图做简单介绍,显而易见地,以下描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
14.图1是本说明书实施例提供的目标追踪处理系统的架构示意图。
15.图2是本说明书实施例提供的一种目标追踪处理方法的步骤示意图之一。
16.图3是本说明书实施例提供的一种目标追踪处理方法步骤示意图之二。
17.图4是本说明书的一个实施例提供的摄像头执行目标追踪的计算任务的流程示意图。
18.图5是本说明书的一个实施例提供的摄像头接收其它摄像头分发的计算任务的流程示意图。
19.图6是本说明书的一个实施例提供的摄像头向其它摄像头分发计算任务的流程示意图。
20.图7是本说明书的一个实施例提供的目标追踪处理装置的结构示意图之一。
21.图8是本说明书的一个实施例提供的目标追踪处理装置的结构示意图之二。
22.图9是本说明书的一个实施例提供的电子设备的结构示意图。
具体实施方式
23.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的一个或多个实施例只是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
24.互联网应用、实体门店的物联网技术、人工智能以及自动化技术相融合的数字化
场所应运而生。鉴于业内存在的ai算力资源浪费的问题,本说明书实施例提供了一种目标追踪处理方案,主要构思在于:通过将多个具有ai算力的摄像头布设为分布式处理节点,通过调度节点获取每个摄像头的工作状态,在确定这多个摄像头中存在处于空闲状态的第一摄像头和处于忙碌状态的第二摄像头,则基于空闲状态的第一摄像头和处于忙碌状态的第二摄像头的数目比,以及每个摄像头的任务负载,确定任务调度策略;然后,基于任务调度策略指示至少一个第二摄像头将超出正常状态下任务负载的计算任务分发给至少一个第一摄像头,这样,可以通过至少一个第一摄像头执行本属于第二摄像头的计算任务,充分利用了空闲的摄像头的闲置算力,之后,将计算结果返回给相应第二摄像头,以使得该第二摄像头基于接收的计算结果进行目标追踪处理。从而,实现分布式计算资源的均衡分配,避免ai算力资源浪费,提升整体计算效率。
25.参照图1所示,为本说明书实施例提供的目标追踪处理系统的架构示意图,该目标追踪处理系统是分布式计算处理系统,可以包括:调度节点102,以及多个具备ai算力的摄像头104,其实,每个摄像头可以视为一个计算节点,或是,如图1中多个摄像头组成一个计算节点106。应理解,一个目标追踪处理系统可以包含一个或多个调度节点102,每个调度节点102负责调度若干摄像头的目标计算任务,当然,调度节点102本身也可以视为一个计算节点。在本说明书中,该系统还包括云端服务器108,可以接收调度节点102、摄像头104、计算节点106上传的计算结果,例如,目标特征、目标追踪结果等。
26.上述目标追踪处理系统可以适用在客流量较大且设置有监控的场所,例如,机场、火车站、商场、地铁站、展会等,以及利用视觉图像技术,赋能线下商超、门店、百货等零售行业的数字化,以通过具体场所设置的ai摄像头对监控场所采集图像,实现对场所内目标的追踪定位。应理解,本说明书实施例中所涉及的目标可以是人或其它可移动目标体,例如机器人或宠物、动物等。
27.参照图2所示,为本说明书实施例提供的一种目标追踪处理方法的步骤示意图,应理解,该方法适用于图1所示的目标追踪处理系统的执行主体可以是图1中所示的调度节点,该调度节点具体可以是具备计算处理能力的调度设备。该目标追踪处理方法可以包括以下步骤:步骤202:获取多个摄像头中每个摄像头的工作状态,其中,每个摄像头的工作状态基于该摄像头在历史时间段内定位出的目标数量与该历史时间段内图像帧数量的比值确定。
28.可选地,步骤202在获取多个摄像头中每个摄像头的工作状态时,可以获取每个摄像头在历史时间段内定位出的目标数量与该历史时间段内图像帧数量的比值;将所述比值与阈值范围进行比对分析;如果所述比值小于所述阈值范围的下限,则该摄像头处于空闲状态;如果所述比值在所述阈值范围内,则该摄像头处于正常状态;如果所述比值大于所述阈值范围的上限,则该摄像头处于忙碌状态。其中,阈值范围可以是根据经验或历史比值确定,该阈值范围的下限一般大于零。
29.其实,每个摄像头在历史时间段内定位出的目标数量与该历史时间段内图像帧数量的比值,可以理解为每个摄像头在每个图像帧定位出的目标数量的平均值。另外,针对摄像头处于空闲状态的情况,还可以进一步确定处于空闲状态的摄像头的空闲量;其中,空闲量为上述比值与阈值范围下限之差的绝对值。
30.上述比值可以在摄像头内部确定,并上传给调度节点,或是,由调度节点周期性对每个摄像头的历史数据进行监控获取,然后基于历史数据确定某个历史时间段内定位出的目标数量与该历史时间段内的图像帧数量的比值。
31.步骤204:如果所述多个摄像头中存在处于空闲状态的至少一个第一摄像头和处于忙碌状态的至少一个第二摄像头,则基于所述至少一个第一摄像头与所述至少一个第二摄像头的数量比和每个摄像头的任务负载,确定任务调度策略。
32.可选地,步骤204在基于所述至少一个第一摄像头与所述至少一个第二摄像头的数量比和每个摄像头的任务负载确定任务调度策略时,如果所述数量比大于1,则根据每个摄像头的任务负载计算超出正常状态下任务负载的计算任务总量;将计算任务总量均分给所述至少一个第一摄像头;如果所述数量比不大于1,则按照预设任务优先级顺序依次分发计算任务给所述至少一个第一摄像头,其中,预设优先级为基于负载大小设置的优先级,或,基于任务重要性设置的优先级。
33.如果上述数量比大于1,则说明处于空闲状态的第一摄像头多于处于忙碌状态的第二摄像头,考虑到一般情况下,同一系统内摄像头的任务满负荷相同,则此时可以将处于忙碌状态的第二摄像头中超出正常状态下任务负载的计算任务均分给每个处于空闲状态的第一摄像头,且不会超负荷。从而可以使得尽量多的摄像头状态不空闲,尽可能实现分布式计算资源的均衡分配,避免ai算力资源浪费,提升整体计算效率。
34.如果上述数量比不大于1,则说明处于空闲状态的第一摄像头等于或少于处于忙碌状态的第二摄像头,一般情况下,处于空闲状态的第一摄像头是无法将处于忙碌状态的第二摄像头中超出正常状态下任务负载的计算任务均分的,肯定会有超负荷的情况,因此,为了保证超出正常状态下任务负载较大的处于忙碌状态的第二摄像头(超负荷较为严重)不会因为超负荷而宕机,或是为了保证处于忙碌状态的第二摄像头中重要任务可以被及时执行,可以按照预设任务优先级顺序依次分发计算任务给至少一个第一摄像头,例如,先将任务优先级较大的计算任务分发给至少一个第一摄像头,再依次将任务优先级次之的计算任务分发给至少一个第一摄像头,如果还有处于空闲状态的第一摄像头,则继续按照任务优先级分发,如果分发了一段时间,发现处于空闲状态的第一摄像头用尽,则停止分发。该调度策略可以在保证第二摄像头不会因为超负荷而宕机,且可以及时执行任务优先级较大的计算任务,可以使得尽量多的摄像头状态不空闲,尽可能实现分布式计算资源的均衡分配,避免ai算力资源浪费,提升整体计算效率。
35.应理解,在本说明书实施例中,如果处于空闲状态的第一摄像头在通过调度中心的任务调度之后,接收到的计算任务达到满负荷,则可以将该摄像头的工作状态修改为正常状态。同理,如果处于忙碌状态的第二摄像头在通过调度中心的任务调度之后,将超出正常状态下任务负载的计算任务发送给第一摄像头,保留的计算任务处于满负荷,则可以将该摄像头的工作状态修改为正常状态。第一摄像头是指处于空闲状态的摄像头,第二摄像头是指处于忙碌状态的摄像头。
36.进一步,考虑到所述多个摄像头可以划分为不同的计算节点;这样,当将计算任务总量均分给所述至少一个第一摄像头时,可以将计算任务总量按照优先分发给计算任务所在计算节点内包含的第一摄像头的方式进行分发。换言之,在分发计算任务时可以尽可能在属于同一个计算节点内部的摄像头之间进行调度分发,比如,第二摄像头1、第二摄像头
2、第二摄像头3均处于忙碌状态,第一摄像头4、第一摄像头5、第一摄像头6、第一摄像头7均处于空闲状态,而第二摄像头1、第二摄像头2和第一摄像头4、第一摄像头5属于同一个计算节点,第二摄像头3与第一摄像头6、第一摄像头7属于同一计算节点,那么,可以优先将第二摄像头1和第二摄像头2超负荷的部分调度给第一摄像头4和第一摄像头5;以及优先将第二摄像头3超负荷的部分调度给第一摄像头6和第一摄像头7。
37.步骤206:基于所述任务调度策略,指示所述至少一个第二摄像头将超出正常状态下任务负载的计算任务分发给至少一个第一摄像头,以便于所述至少一个第一摄像头执行接收到的计算任务,并将计算结果返回给相应第二摄像头,以使得该第二摄像头基于接收的计算结果进行目标追踪处理。
38.在具体的调度过程中,会按照步骤204确定的任务调度策略,将至少一个第二摄像头超出正常状态下任务负载的计算任务分发给至少一个第一摄像头。第一摄像头执行接收到的计算任务,之后将计算结果返回给相应第二摄像头。这里的计算任务可以包括目标图和/或目标特征的处理任务。相应地,第二摄像头接收返回的计算结果,该计算结果可以包括目标特征和/或匹配结果。这样,第二摄像头可以基于目标特征进一步计算,直至得到匹配结果。第二摄像头可以将目标特征和/或匹配结果上传至云端服务器,以便于云端服务器协助实现目标追踪定位。
39.图3所示,为本说明书实施例提供的一种目标追踪处理方法步骤示意图,该目标追踪处理方法的执行主体为摄像头或摄像头内部安装的ai处理软件模块,该方法可以包括以下步骤:步骤302:接收其它摄像头分发的第一计算任务;其中,所述第一计算任务按照步骤202-步骤206所述的目标追踪处理方法中分发方式分发,所述第一计算任务携带有摄像头标识。
40.步骤304:执行本地采集的图像所产生的第二计算任务,以及,所述第一计算任务。
41.参照图4所示,每个摄像头均包含:目标定位模块、目标预处理模块、目标特征模块以及目标追踪模块;其中,目标定位模块可以包含一个目标定位线程,并在该目标定位模块与目标预处理模块之间设置有第一缓冲区,该第一缓冲区用于缓存目标定位模块输出结果。目标预处理模块可以包含至少两个目标预处理线程,即目标预处理线程1和目标预处理线程2;并在该目标预处理模块与目标特征模块之间设置有第二缓冲区,该第二缓冲区用于缓存目标预处理模块输出结果。目标特征模块可以包含至少两个目标特征线程,即目标特征线程1和目标特征线程2;并在该目标特征模块和目标追踪模块之间设置有第三缓冲区,该第三缓冲区用于缓存目标特征模块输出结果。目标追踪模块可以包含至少两个目标追踪线程,即目标追踪线程1和目标追踪线程2;并在该目标追踪模块之后设置有第四缓冲区,该第四缓冲区用于缓存目标追踪模块输出结果。这样,摄像头在执行本地采集的图像所产生的第二计算任务时,可以按照以下步骤实现:第1步,基于目标定位线程对所述图像的当前帧图像中目标进行定位,输出至少一个目标框,每个目标框表征目标轮廓形状;判断连接所述目标定位线程的第一缓冲区是否已满,如果未满,则将所述目标框存入所述第一缓冲区,并针对下一帧图像重复执行目标定位线程的定位操作,如果已满,则等待。
42.第2步,通过目标预处理调度线程判断至少两个目标预处理线程中是否存在空闲
的目标预处理线程,如果存在,则从所述第一缓冲区中获取目标框,并输入到空闲的目标预处理线程进行抠图、缩放,得到目标图;判断连接所述至少两个目标预处理线程的第二缓冲区是否已满,如果未满,则将所述目标图存入所述第二缓冲区,并针对下一个目标框重复执行目标预处理线程的预处理操作,如果已满,则等待。
43.第3步,通过目标特征调度线程判断至少两个目标特征线程中是否存在空闲的目标特征线程,如果存在,则从所述第二缓冲区中获取目标图,并输入到空闲的目标特征线程通过目标特征模型进行处理,得到目标特征;判断连接所述至少两个目标特征线程的第三缓冲区是否已满,如果未满,则将所述目标特征存入所述第三缓冲区,并针对下一个目标图重复执行目标特征线程的特征提取操作,如果已满,则等待。
44.第4步,通过目标追踪调度线程判断至少两个目标追踪线程中是否存在空闲的目标追踪线程,如果存在,则从所述第三缓冲区中获取目标特征,并与历史图像帧的目标特征进行相似度匹配,得到匹配结果;判断连接所述至少两个目标追踪线程的第四缓冲区是否已满,如果未满,则将所述匹配结果存入所述第四缓冲区,并针对下一个目标特征重复执行目标追踪线程的特征匹配操作,如果已满,则等待。
45.在本说明书实施例中,所述第一计算任务中包括第一目标图和/或第一目标特征;那么,摄像头在执行第一计算任务时,可以包括以下两种方式:参照图5所示,在接收模块中通过目标图接收线程接收第一目标图,将所述第一目标图存入所述第二缓冲区;通过目标特征调度线程判断至少两个目标特征线程中是否存在空闲的目标特征线程,如果存在,则从所述第二缓冲区中获取第一目标图,并输入到空闲的目标特征线程通过目标特征模型进行处理,得到第一目标特征;或;仍参照图5所示,在接收模块中通过目标特征接收线程接收第一目标特征,将所述第一目标特征存入所述第三缓冲区;通过目标追踪调度线程判断至少两个目标追踪线程中是否存在空闲的目标追踪线程,如果存在,则从所述第三缓冲区中获取第一目标特征,并输入到空闲的目标追踪线程与历史图像帧的第一目标特征进行相似度匹配,得到第一匹配结果。
46.其实,在得到第一目标特征之后,还可以将所述第一目标特征存入所述第三缓冲区;通过目标追踪调度线程判断至少两个目标追踪线程中是否存在空闲的目标追踪线程,如果存在,则从所述第三缓冲区中获取第一目标特征,并输入到空闲的目标追踪线程与历史图像帧的第一目标特征进行相似度匹配,得到第一匹配结果。
47.步骤306:基于所述第二计算任务对应的第二计算结果进行目标追踪处理,以及,将所述第一计算任务对应的第一计算结果返回摄像头标识对应的其它摄像头,以便于其它摄像头基于接收到的第一计算结果进行目标追踪处理。
48.参照图6所示,还可以在发送模块中通过目标图发送线程从所述第二缓冲区中获取第二目标图,并发送给其它摄像头;和/或;在通信发送模块中通过目标特征发送线程从所述第三缓冲区中获取第二目标特征,并发送给其它摄像头。
49.在上述技术方案中,通过调度节点获取每个摄像头的工作状态,在确定这多个摄像头中存在处于空闲状态的第一摄像头和处于忙碌状态的第二摄像头,则基于空闲状态的第一摄像头和处于忙碌状态的第二摄像头的数目比,以及每个摄像头的任务负载,确定任务调度策略;然后,基于任务调度策略指示至少一个第二摄像头将超出正常状态下任务负
载的计算任务分发给至少一个第一摄像头,这样,可以通过至少一个第一摄像头执行本属于第二摄像头的计算任务,充分利用了空闲的摄像头的闲置算力,之后,将计算结果返回给相应第二摄像头,以使得该第二摄像头基于接收的计算结果进行目标追踪处理。从而,实现分布式计算资源的均衡分配,避免ai算力资源浪费,提升整体计算效率。而且,通过上述调度分配,可以将计算任务分发给不同的摄像头进行处理,从而,实现计算任务的并行处理;同时,在每个摄像头内部,均可以通过多个线程结合缓冲区的结构实现计算任务的并行处理,以及针对同一图像帧内不同目标的计算任务的并行处理,从整体提升计算效率。
50.参照图7所示,为本说明书实施例提供的目标追踪处理装置,该装置700可以包括:获取模块702,用于获取多个摄像头中每个摄像头的工作状态,其中,每个摄像头的工作状态基于该摄像头在历史时间段内定位出的目标数量与该历史时间段内图像帧数量的比值确定。
51.确定模块704,用于如果所述多个摄像头中存在处于空闲状态的至少一个第一摄像头和处于忙碌状态的至少一个第二摄像头,则基于所述至少一个第一摄像头与所述至少一个第二摄像头的数量比和每个摄像头的任务负载,确定任务调度策略。
52.调度模块706,用于基于所述任务调度策略,指示所述至少一个第二摄像头将超出正常状态下任务负载的计算任务分发给至少一个第一摄像头,以便于所述至少一个第一摄像头执行接收到的计算任务,并将计算结果返回给相应第二摄像头,以使得该第二摄像头基于接收的计算结果进行目标追踪处理。
53.其实,该目标追踪处理装置700可以是图1中调度节点,或是安装在调度节点中的调度模块。
54.可选地,作为一个实施例,获取模块702在获取多个摄像头中每个摄像头的工作状态时,具体用于获取每个摄像头在历史时间段内定位出的目标数量与该历史时间段内图像帧数量的比值;将所述比值与阈值范围进行比对分析;如果所述比值小于所述阈值范围的下限,则该摄像头处于空闲状态;如果所述比值在所述阈值范围内,则该摄像头处于正常状态;如果所述比值大于所述阈值范围的上限,则该摄像头处于忙碌状态。
55.在本说明书实施例的一种具体实现方式中,确定模块704在基于所述至少一个第一摄像头与所述至少一个第二摄像头的数量比和每个摄像头的任务负载,确定任务调度策略时,具体用于如果所述数量比大于1,则根据每个摄像头的任务负载计算超出正常状态下任务负载的计算任务总量;将计算任务总量均分给所述至少一个第一摄像头;如果所述数量比不大于1,则按照预设任务优先级顺序依次分发计算任务给所述至少一个第一摄像头,其中,预设优先级为基于负载大小设置的优先级,或,基于任务重要性设置的优先级。
56.在本说明书实施例的再一种具体实现方式中,所述多个摄像头划分为不同的计算节点;确定模块704在将计算任务总量均分给所述至少一个第一摄像头时,具体用于将计算任务总量按照优先分发给计算任务所在计算节点内包含的第一摄像头的方式进行分发。
57.参照图8所示,为本说明书实施例提供的目标追踪处理装置,该装置800可以包括:接收模块802,用于接收其它摄像头分发的第一计算任务;其中,所述第一计算任务按照步骤302-步骤306所述的目标追踪处理方法中分发方式分发,所述第一计算任务携带有摄像头标识。
58.执行模块804,用于执行本地采集的图像所产生的第二计算任务,以及,所述第一
计算任务,以及,所述执行模块804,还用于基于所述第二计算任务对应的第二计算结果进行目标追踪处理。
59.发送模块806,用于将所述第一计算任务对应的第一计算结果返回摄像头标识对应的其它摄像头,以便于其它摄像头基于接收到的第一计算结果进行目标追踪处理。
60.该目标追踪处理装置800可以是图1所示的摄像头,或是安装在摄像头中的ai算法模块。
61.可选地,作为一个实施例,执行模块804在执行本地采集的图像所产生的第二计算任务时,具体用于基于目标定位线程对所述图像的当前帧图像中目标进行定位,输出至少一个第二目标框,每个目标框表征目标轮廓形状;将所述第二目标框存入所述第一缓冲区;通过目标预处理调度线程判断至少两个目标预处理线程中是否存在空闲的目标预处理线程,如果存在,则从所述第一缓冲区中获取第二目标框,并输入到空闲的目标预处理线程进行抠图、缩放,得到第二目标图;将所述第二目标图存入所述第二缓冲区;通过目标特征调度线程判断至少两个目标特征线程中是否存在空闲的目标特征线程,如果存在,则从所述第二缓冲区中获取第二目标图,并输入到空闲的目标特征线程通过目标特征模型进行处理,得到第二目标特征;将所述第二目标特征存入所述第三缓冲区;通过目标追踪调度线程判断至少两个目标追踪线程中是否存在空闲的目标追踪线程,如果存在,则从所述第三缓冲区中获取第二目标特征,并输入到空闲的目标追踪线程与历史图像帧的第二目标特征进行相似度匹配,得到第二匹配结果;将所述第二匹配结果存入所述第四缓冲区。
62.在本说明书实施例的一种具体实现方式中,所述第一计算任务中包括第一目标图和/或第一目标特征;执行模块804在执行所述第一计算任务时,可以用于通过目标图接收线程接收第一目标图,将所述第一目标图存入所述第二缓冲区;通过目标特征调度线程判断至少两个目标特征线程中是否存在空闲的目标特征线程,如果存在,则从所述第二缓冲区中获取第一目标图,并输入到空闲的目标特征线程通过目标特征模型进行处理,得到第一目标特征;或;通过目标特征接收线程接收第一目标特征,将所述第一目标特征存入所述第三缓冲区;通过目标追踪调度线程判断至少两个目标追踪线程中是否存在空闲的目标追踪线程,如果存在,则从所述第三缓冲区中获取第一目标特征,并输入到空闲的目标追踪线程与历史图像帧的第一目标特征进行相似度匹配,得到第一匹配结果。
63.在本说明书实施例的再一种具体实现方式中,执行模块804在得到第一目标特征之后,还可以用于将所述第一目标特征存入所述第三缓冲区;通过目标追踪调度线程判断至少两个目标追踪线程中是否存在空闲的目标追踪线程,如果存在,则从所述第三缓冲区中获取第一目标特征,并输入到空闲的目标追踪线程与历史图像帧的第一目标特征进行相似度匹配,得到第一匹配结果。
64.在本说明书实施例的再一种具体实现方式中,发送模块806还用于通过目标图发送线程从所述第二缓冲区中获取第二目标图,并发送给其它摄像头;和/或;通过目标特征发送线程从所述第三缓冲区中获取第二目标特征,并发送给其它摄像头。
65.在上述技术方案中,通过调度节点获取每个摄像头的工作状态,在确定这多个摄像头中存在处于空闲状态的第一摄像头和处于忙碌状态的第二摄像头,则基于空闲状态的第一摄像头和处于忙碌状态的第二摄像头的数目比,以及每个摄像头的任务负载,确定任
务调度策略;然后,基于任务调度策略指示至少一个第二摄像头将超出正常状态下任务负载的计算任务分发给至少一个第一摄像头,这样,可以通过至少一个第一摄像头执行本属于第二摄像头的计算任务,充分利用了空闲的摄像头的闲置算力,之后,将计算结果返回给相应第二摄像头,以使得该第二摄像头基于接收的计算结果进行目标追踪处理。从而,实现分布式计算资源的均衡分配,避免ai算力资源浪费,提升整体计算效率。而且,通过上述调度分配,可以将计算任务分发给不同的摄像头进行处理,从而,实现计算任务的并行处理;同时,在每个摄像头内部,均可以通过多个线程结合缓冲区的结构实现计算任务的并行处理,以及针对同一图像帧内不同目标的计算任务的并行处理,从整体提升计算效率。
66.图9是本说明书的一个实施例电子设备的结构示意图。请参考图9,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
67.处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
68.存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
69.处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成目标追踪处理装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:获取多个摄像头中每个摄像头的工作状态,其中,每个摄像头的工作状态基于该摄像头在历史时间段内定位出的目标数量与该历史时间段内图像帧数量的比值确定;如果所述多个摄像头中存在处于空闲状态的至少一个第一摄像头和处于忙碌状态的至少一个第二摄像头,则基于所述至少一个第一摄像头与所述至少一个第二摄像头的数量比和每个摄像头的任务负载,确定任务调度策略;基于所述任务调度策略,指示所述至少一个第二摄像头将超出正常状态下任务负载的计算任务分发给至少一个第一摄像头,以便于所述至少一个第一摄像头执行接收到的计算任务,并将计算结果返回给相应第二摄像头,以使得该第二摄像头基于接收的计算结果进行目标追踪处理。或者,接收其它摄像头分发的第一计算任务;其中,所述第一计算任务按照第一方面所述的目标追踪处理方法中分发方式分发,所述第一计算任务携带有摄像头标识;执行本地采集的图像所产生的第二计算任务,以及,所述第一计算任务;基于所述第二计算任务对应的第二计算结果进行目标追踪处理,以及,将所述第一计算任务对应的第一计算结果返回摄像头标识对应的其它摄像头,以便于其它摄像头基于接收到的第一计算结果进行目标追踪处理。
70.上述如本说明书图2和图3所示实施例揭示的装置执行的方法可以应用于处理器
中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
71.该电子设备还可执行图2和图3的方法,并实现相应装置在图2和图3所示实施例的功能,本说明书实施例在此不再赘述。
72.当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
73.本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图2和图3所示实施例的方法,并具体用于执行以下方法:获取多个摄像头中每个摄像头的工作状态,其中,每个摄像头的工作状态基于该摄像头在历史时间段内定位出的目标数量与该历史时间段内图像帧数量的比值确定;如果所述多个摄像头中存在处于空闲状态的至少一个第一摄像头和处于忙碌状态的至少一个第二摄像头,则基于所述至少一个第一摄像头与所述至少一个第二摄像头的数量比和每个摄像头的任务负载,确定任务调度策略;基于所述任务调度策略,指示所述至少一个第二摄像头将超出正常状态下任务负载的计算任务分发给至少一个第一摄像头,以便于所述至少一个第一摄像头执行接收到的计算任务,并将计算结果返回给相应第二摄像头,以使得该第二摄像头基于接收的计算结果进行目标追踪处理。或者,接收其它摄像头分发的第一计算任务;其中,所述第一计算任务按照第一方面所述的目标追踪处理方法中分发方式分发,所述第一计算任务携带有摄像头标识;执行本地采集的图像所产生的第二计算任务,以及,所述第一计算任务;基于所述第二计算任务对应的第二计算结果进行目标追踪处理,以及,将所述第一计算任务对应的第一计算结果返回摄像头标识对应的其它摄像头,以便于其它摄像头基于接收到的第一计算结果进行目标追踪处理。
74.总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
75.上述一个或多个实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
76.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
77.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
78.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
79.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1