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

文档序号:22881740发布日期:2020-11-10 17:45阅读:111来源:国知局
目标检测跟踪方法、装置、电子设备和存储介质与流程

本发明实施例涉及视频处理技术领域,尤其涉及一种目标检测跟踪方法、装置、电子设备和存储介质。



背景技术:

随着移动终端硬件容量的增加和性能的提升,视频和图像在移动终端上被人们广泛的生产、使用和传播,而视频中的目标检测和跟踪作为智能视频内容理解的一部分也受到极大的关注。

目前,目标检测跟踪框架包括检测算法和跟踪算法,检测算法负责定位和识别视频中的目标物体,跟踪算法则对视频中的目标物体进行跟踪和平滑。具体地,通常在关键帧进行目标检测,而在非关键帧(也称跟踪帧)时,目标物体可通过跟踪算法进行跟踪。然而,在关键帧时,由于检测算法耗时长,导致在关键帧时检测和跟踪的耗时峰值陡增,在检测算法运行结束后才接收下一视频帧,进而容易造成计算资源有限的移动终端在接收关键帧后发生卡顿等问题,最终降低了用户的使用体验。



技术实现要素:

本发明实施例提供一种目标检测跟踪方法、装置、电子设备和存储介质,以解决现有技术中目标检测跟踪方法应用于移动终端时容易造成移动终端卡顿的问题。

第一方面,本发明实施例提供了一种目标检测跟踪方法,包括:

将从视频流接收到的每个视频帧输入跟踪网络中得到所述视频帧的目标跟踪结果;

在所述视频帧为关键帧时,将所述关键帧输入检测网络并控制所述检测网络在接收延迟帧期间运行,以在接收完最后一帧延迟帧时输出目标检测结果,其中,所述关键帧为所述视频流中用于目标检测的视频帧,所述延迟帧为所述关键帧后连续的、指定数量的视频帧;

根据所述目标检测结果和所述最后一帧延迟帧的目标跟踪结果生成最终目标跟踪结果。

第二方面,本发明实施例提供了一种目标检测跟踪装置,包括:

跟踪模块,用于将从视频流接收到的每个视频帧输入跟踪网络中得到所述视频帧的目标跟踪结果;

检测模块,用于在所述视频帧为关键帧时,将所述关键帧输入检测网络并控制所述检测网络在接收延迟帧期间运行,以在接收完最后一帧延迟帧时输出目标检测结果,其中,所述关键帧为所述视频流中用于目标检测的视频帧,所述延迟帧为所述关键帧后连续的、指定数量的视频帧;

检测跟踪结果生成模块,用于根据所述目标检测结果和所述最后一帧延迟帧的目标跟踪结果生成最终目标跟踪结果。

第三方面,本发明实施例提供了一种电子设备,所述电子设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任一实施例所述的目标检测跟踪方法。

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

本发明实施例将从视频流接收到的每个视频帧输入跟踪网络中得到视频帧的目标跟踪结果,而在视频帧为关键帧时,将关键帧输入检测网络并控制检测网络在接收延迟帧期间运行,以在接收完最后一帧延迟帧时输出目标检测结果,根据目标检测结果和最后一帧延迟帧的目标跟踪结果生成最终目标跟踪结果。避免了目标检测耗时长,在关键帧处进行目标检测后再接收下一视频帧造成耗时峰值陡增、视频卡顿的问题,通过控制检测网络在接收多个延迟帧期间运行,将目标检测的耗时分摊到接收多个延迟帧期间,大大削减了在关键帧处目标检测的耗时峰值,在播放关键帧后能够及时播放下一视频帧,使得视频能够以预设的帧率播放以保证视频流畅地播放。

附图说明

图1是本发明实施例一提供的一种目标检测跟踪方法的步骤流程图;

图2是本发明实施例二提供的一种目标检测跟踪方法的步骤流程图;

图3a是本发明实施例三提供的一种目标检测跟踪方法的步骤流程图;

图3b是本发明实例中级联检测网络进行目标检测的示意图;

图4a是本发明实施例四提供的一种目标检测跟踪方法的步骤流程图;

图4b是本发明实例中非级联检测网络进行目标检测的示意图;

图5是本发明实施例五提供的一种目标检测跟踪装置的结构框图;

图6是本发明实施例六提供的一种电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合。

实施例一

图1为本发明实施例一提供的一种目标检测跟踪方法的步骤流程图,本发明实施例可适用于对视频中的目标进行跟踪的情况,该方法可以由本发明实施例的目标检测跟踪装置来执行,该目标检测跟踪装置可以由硬件或软件来实现,并集成在本发明实施例所提供的电子设备中,具体地,如图1所示,本发明实施例的目标检测跟踪方法可以包括如下步骤:

s101、将从视频流接收到的每个视频帧输入跟踪网络中得到所述视频帧的目标跟踪结果。

本发明实施例中,视频流包含多个视频帧,多个视频帧以一定帧率播放形成视频播放画面,当对视频中的目标进行跟踪时,从解码后的视频流中每接收到一个视频帧,可以将该视频帧输入预先训练好的跟踪网络中得到视频帧的目标跟踪结果,其中,目标可以是视频中的人脸、车辆、人物、动物等对象,跟踪网络可以是对已检测到的目标、在多帧视频帧进行跟踪的网络,目标跟踪结果可以是已跟踪目标列表、已跟踪列表中目标的位置、状态、速度、轨迹等,本发明实施例的跟踪网络可以是各种神经网络,本发明实施例对跟踪网络和视频中的目标均不加以限制。

s102、在所述视频帧为关键帧时,将所述关键帧输入检测网络并控制所述检测网络在接收延迟帧期间运行,以在接收完最后一帧延迟帧时输出目标检测结果。

在视频流的多个视频帧中,关键帧可以是视频流中用于目标检测的视频帧,延迟帧为关键帧后连续的、指定数量的视频帧。其中,关键帧可以是用户预先设置的视频帧,例如,用户可以设置一定帧数间隔的视频帧为关键帧,示例性地,可以设置每间隔10帧、20帧等为一个关键帧,当然,还可以直接将视频流中的i帧作为关键帧,或者用户根据视频内容设置关键帧,本发明实施例对关键帧的设置不加以限制。

在从视频流中接收视频帧的过程中,当根据用户设置关键帧的方式检测接收到的视频帧为关键帧时,可以确定关键帧之后的连续的、指定数量的视频帧为延迟帧。在将关键帧输入检测网络中对该关键帧中的目标进行检测,在检测网络运行过程中,控制该检测网络在接收指定数量的延迟帧期间运行,从而在接收完最后一帧延迟帧时输出目标检测结果。

具体地,可以根据延迟帧的数量确定检测网络的计算节点,该计算节点可以是控制检测网络运行过程中停止运行的节点,在将关键帧输入检测网络后,在每接收到一个延迟帧时,控制检测网络的多个计算节点依次运行,直到接收完最后一帧延迟帧后检测网络运行完最后一个计算节点输出目标检测结果,示例性地,对于级联检测网络,可以将级联检测网络的每个层级的子网络的输入节点作为一个计算节点,每接收到一个延迟帧时,按照级联检测网络的子网络的顺序依次运行各个层级子网络,以在接收最后一帧延迟帧时通过最后层级子网络输出目标检测结果。对于非级联检测网络,可以以运行时间将非级联检测网络分为多个部分网络,每个部分网络的输出作为一个计算节点,即非级联检测网络运行一定时长后暂停并保存中间结果,在接收到一个延迟帧后从暂停位置开始恢复运行非级联检测网络,并在接收最后一个延迟帧后运行完非级联检测网络的剩余部分从而得到目标检测结果。当然,在实际应用中,本领域技术人员还可以通过其他方式控制检测网络在接收延迟帧期间运行,本发明实施例对此不加以限制。

s103、根据所述目标检测结果和所述最后一帧延迟帧的目标跟踪结果生成最终目标跟踪结果。

在本发明实施例中,检测网络负责识别和定位新目标,跟踪网络基于检测网络的输出进行目标跟踪(tracking-by-detection)。检测网络输出目标检测结果后,如果检测到新目标则存储到已检测目标列表中,同时,跟踪网络根据当前视频帧和历史已跟踪目标,预测并更新已跟踪目标的当前位置,然后将更新位置后的已跟踪目标列表与已检测目标列表进行关联,并更新已跟踪目标列表的状态信息,该状态信息可以为目标仍然存在、丢失、离开等。在已检测目标为新的目标时将该新的目标增加到已跟踪目标列表中,并记录该新的目标的轨迹、速度等信息,当检测到当前跟踪的目标丢失或者离开,则对目标进行销毁,从已跟踪目标列表中移除该目标,最终输出已跟踪目标列表。

具体到本发明实施例中,关键帧在输入检测网络的同时也输入跟踪网络中,检测网络在指定数量的延迟帧运行期间,每个延迟帧也输入跟踪网络并得到每个延迟帧的目标跟踪结果,当检测网络在最后一帧延迟帧运行结束输出目标检测结果时,可以采用该目标检测结果和最后一帧延迟帧的目标跟踪结果生成该延迟帧的最终目标跟踪结果,例如,采用目标检测结果中的已检测目标列表和目标跟踪结果中的已跟踪目标列表进行比对,确定新增目标、丢失目标和离开目标,以此更新已跟踪目标列表,输出该已跟踪目标列表并以该已跟踪目标列表为基础进行后续的目标跟踪。

本发明实施例将从视频流接收到的每个视频帧输入跟踪网络中得到视频帧的目标跟踪结果,而在视频帧为关键帧时,将关键帧输入检测网络并控制检测网络在接收延迟帧期间运行,以在接收完最后一帧延迟帧时输出目标检测结果,根据目标检测结果和最后一帧延迟帧的目标跟踪结果生成最终目标跟踪结果。避免了目标检测耗时长,在关键帧处进行目标检测后再接收下一视频帧造成耗时峰值陡增、视频卡顿的问题,通过控制检测网络在接收多个延迟帧期间运行,将目标检测的耗时分摊到接收多个延迟帧期间,大大削减了在关键帧处目标检测的耗时峰值,在播放关键帧后能够及时播放下一视频帧,使得视频能够以预设的帧率播放以保证视频流畅地播放。

实施例二

图2为本发明实施例二提供的一种目标检测跟踪方法的步骤流程图,本发明实施例在前述实施例一的基础上进行优化,具体地,如图2所示,本发明实施例的目标检测跟踪方法可以包括如下步骤:

s201、将从视频流接收到的每个视频帧输入跟踪网络中得到所述视频帧的目标跟踪结果。

s202、判断所述视频帧是否为关键帧。

在本发明实施例中,关键帧可以是用户预先设置用于目标检测的视频帧,在本发明的一个示例中,用户可以设置一定帧数间隔的视频帧为关键帧,在将从视频流接收到的每个视频帧输入跟踪网络的同时,根据一定帧数间隔判断当前接收到的视频帧是否为关键帧,如设置每间隔15帧为关键帧,则可以统计接收视频帧的数量,即每接收一帧视频帧,视频帧的数量累加1,当视频帧的数量为15n+1时(n为自然数),确定该视频帧为关键帧,又或者用户将视频流分割为若干片段,若接收的视频帧为每个片段的第一帧视频帧时,该视频帧为关键帧,又或者用户设置视频流的i帧为关键帧,则在检测到接收到的视频帧为i帧时,该视频帧为关键帧,本发明实施例设置关键帧的方式不同,判断视频帧是否为关键帧的方式也不相同,本发明实施例对此不加以限制。

本发明实施例在确定接收到的视频帧为关键帧时,执行s203-s207,在确定接收到的视频帧为非关键帧时,执行s208直接输出视频帧的跟踪结果。

s203、确定指定数量的延迟帧。

在本发明实施例中,延迟帧为视频流中关键帧之后的视频帧,延迟帧的数量可以根据实际情况预先设定。具体地,在本发明的一个示例中,当检测网络为级联检测网络时,关键帧和延迟帧的数量的总和等于级联检测网络中子网络的数量,即延迟帧的数量等于级联检测网络中子网络的数量减去1(关键帧的数量为1),当用户确定所使用的级联检测网络后,可以通过级联检测网络中子网络的数量设置延迟帧的数量,例如,在一个具体示例中,级联检测网络包含3个子网络,则可以设置关键帧之后连续的两个视频帧为延迟帧。在本发明的另一示例中,当检测网络为非级联检测网络时,可以估算该非级联检测网络对关键帧进行目标检测所需要的总时长,通过该总时长预设延迟帧的数量,例如,在一个具体示例中,视频流的帧率为30fps,控制非级联检测网络的总时长均分到延迟帧上,为避免延迟帧的数量过多,导致目标检测结果距离关键帧中目标的实际位置偏差过大,可以设置延迟帧的数量为5帧,即非级联检测网络的目标检测结果延时约0.17秒(5/30)。当然,在实际应用中,本领域技术人员可以根据实际情况设置延迟帧的数量,本发明实施例对此不加以限制。

s204、根据所述延迟帧的数量确定所述检测网络的多个计算节点。

检测网络的计算节点可以是在检测网络运行过程中控制检测网络暂停运行和恢复运行的节点,该计算节点可以是检测网络中的任意一个节点,计算节点暂停运行后,当检测网络每接收到一个延迟帧时,从暂停的计算节点恢复运行。

在本发明的一个示例中,对于级联检测网络包含多个子网络,则可以将级联检测网络中子网络的输入节点设置为计算节点,对于非级联检测网络,则通过总时长和延迟帧的数量确定非级联检测网络运行到每个计算节点的时长,该时长对应的时间即为计算节点运行结束时间。

s205、在将所述关键帧输入所述检测网络后,每接收到一个所述延迟帧时控制所述检测网络的多个计算节点依次开始运行,以在接收完最后一帧延迟帧时输出目标检测结果。

在实际应用中,当视频帧为关键帧时,关键帧先输入检测网络并控制检测网络在接收多个延迟帧期间运行,具体可以以接收到延迟帧为触发条件触发检测网络的多个计算节点依次运行。

在本发明的一个示例中,检测网络为级联检测网络,计算节点为每个子网络的输入,将关键帧输入级联检测网络的第一子网络后输出候选框,在接收到第一帧延迟帧时可以将第一帧延迟帧和第一子网络后输出候选框输入到第二子网络中输出候选框,在接收到第二帧延迟帧时将第二帧延迟帧和第二子网络后输出候选框输入到第三子网络中输出候选框,以此类推,直到接收到最后一帧延迟帧输入最后一个子网络后输出检测框作为目标检测结果。

在本发明的另一个示例中,检测网络为非级联检测网络,计算节点为非级联检测网络的各个计算节点的运行结束时间,可以在将关键帧输入非级联检测网络时即计算非级联检测网络的运行时间,当该运行时间为计算节点运行结束时间时,暂停运行该非级联检测网络并保存运行结果,当接收到一个延迟帧时,基于运行结果从该计算节点恢复运行非级联检测网络,以此类推,直到接收最后一个延迟帧后运行完非级联检测网络输出目标检测结果。

本发明实施例通过设置检测网络的计算节点,并在每接收到一个延迟帧时控制计算节点依次开始运行,以在接收完最后一帧延迟帧时输出目标检测结果,从而实现了控制检测网络在接收多个延迟帧期间运行,将目标检测的耗时分摊到接收多个延迟帧期间,大大削减了在关键帧处目标检测的耗时峰值,在播放关键帧后能够及时播放下一视频帧,使得视频能够以预设的帧率播放以保证视频流畅地播放。

s206、采用所述目标检测结果中的已检测目标列表更新所述目标跟踪结果中的已跟踪目标列表。

本发明实施例中,目标检测结果包含已检测目标列表和已检测目标列表中各个目标的位置、轨迹、速度等信息,目标跟踪结果包含已跟踪目标列表和已跟踪目标列表中各个已跟踪目标的状态,状态可以为目标丢失、离开等状态。

当在最后一个延迟帧输出目标检测结果时,可以将目标检测结果中的已检测目标列表和最后一个延迟帧的目标跟踪结果中的已跟踪目标列表进行比对,从而确定出哪些目标丢失、离开、新增的目标等,以此更新已跟踪目标列表。

s207、更新所述已跟踪目标列表的目标状态。

具体地,对于已跟踪目标列表中的已跟踪目标,如果在已检测列表中存在该目标,则可以标记该目标的状态为存在状态,否则标记该目标的状态为丢失或者离开。

在本发明的可选实施例中,在已跟踪目标列表中的目标的目标状态为已丢失时,确定关键帧,将关键帧输入检测网络中得到目标检测结果,根据该目标检测结果对目标状态为已丢失的目标的状态进行确认,其中,在已跟踪目标列表中的目标的目标状态为已丢失时,将在最后一帧延迟帧之后接收到的第n帧视频帧确定为关键帧,其中,n为自然数。即在目标的状态为丢失或者离开时,可以将延迟帧之后的第n个视频帧作为关键帧输入检测网络中得到目标检测结果,以通过该目标检测结果对目标状态为已丢失的目标的状态进一步确认,当确认目标丢失或者离开后,从已跟踪目标列表中销毁该目标,避免了检测出错造成漏检或者误检的问题,保证了已跟踪目标列表的准确性。

s208、输出所述视频帧的目标跟踪结果。

在本发明实施例中,如果视频帧为非关键帧,则将对该视频帧进行目标跟踪得到的目标跟踪结果作为输出。

本发明实施例将从视频流接收到的每个视频帧输入跟踪网络中得到视频帧的目标跟踪结果后,判断该视频帧是否为关键帧,在该视频帧为关键帧时,确定指定数量的延迟帧并确定检测网络的多个计算节点,在将关键帧输入检测网络后,每接收到一个延迟帧时控制检测网络的多个计算节点依次开始运行,以在接收完最后一帧延迟帧时输出目标检测结果,采用目标检测结果中的已检测目标列表更新目标跟踪结果中的已跟踪目标列表,以及更新已跟踪目标列表的目标状态,将已跟踪目标列表作为最终的检测跟踪输出。由于通过设置计算节点来控制检测网络在接收多个延迟帧期间运行,将目标检测的耗时分摊到接收多个延迟帧期间,大大削减了在关键帧处目标检测的耗时峰值,在播放关键帧后能够及时播放下一视频帧,使得视频能够以预设的帧率播放以保证视频流畅地播放。

实施例三

图3a为本发明实施例三提供的一种目标检测跟踪方法的步骤流程图,本发明实施例在前述实施例一的基础上进行优化,具体地,如图3a所示,本发明实施例的目标检测跟踪方法可以包括如下步骤:

s301、将从视频流接收到的每个视频帧输入跟踪网络中得到所述视频帧的目标跟踪结果。

s302、判断所述视频帧是否为关键帧。

s303、获取所述级联检测网络的子网络的第一数量。

在本发明实施例中,检测网络为级联检测网络,该级联检测网络可以预先训练,级联检测网络可以包含多个子网络,则可以获取级联检测网络的子网络的数量,在本发明的一个示例中,级联检测网络可以为mtcnn(multi-taskconvolutionalneuralnetwork,多任务卷积神经网络),mtcnn可以包含3个子网络,分别为p-net、r-net和o-net,其中,p-net为一个全连接网络,通过滑动窗口(窗口大小为12)从视频帧中提取目标候选框,r-net(输入视频帧分辨率为24)和o-net(输入视频帧分辨率为48)作为过滤器,分别过滤前一级子网络的非目标候选框,剩下候选框即为目标的检测框。当然,在实际应用中级联检测网络还可以是faster-rcnn等其他级联网络。

s304、根据所述第一数量将所述关键帧后连续的多个视频帧确定为延迟帧。

具体地,关键帧后的视频帧可以作为延迟帧,在确定级联检测网络的子网络数量后,可以将关键帧后连接的多个视频帧作为延迟帧,由于关键帧输入到级联检测网络的第一级子网络,即子网络的数量和延迟帧的数量的差值为1,示例性地,级联检测网络的子网络数量为4,则延迟帧的数量为3,可以将关键帧之后的第1、第2、第3个视频帧作为延迟帧。

s305、将所述级联检测网络的每个子网络的输入节点设置为计算节点。

在级联检测网络中,每个子网络为独立的网络,可以将每个子网络的输入节点作为计算节点。

s306、在将所述关键帧输入所述级联检测网络的第一层级子网络后,每接收到一个所述延迟帧时,将上一层级子网络输出的检测结果和所述延迟帧输入当前层级子网络中。

在实际应用中,关键帧输入级联检测网络的第一层级子网络后输出检测结果,该检测结果可以是目标的候选框,对于第二层级子网络,当接收到关键帧之后的第一帧延迟帧时,将第一层级子网络输出的候选框和第一帧延迟帧输入第二层级子网络中输出目标的候选框,以此类推,每接收到一个延迟帧时,将上一层级子网络输出的检测结果和接收到的延迟帧输入当前层级子网络中。

s307、在接收到最后一帧延迟帧后,将所述当前层级子网络输出的检测结果作为所述检测网络的目标检测结果。

在本发明实施例中,每接收到一个延迟帧时触发级联检测网络的各个子网络依次开始计算,当接收到最后一帧延迟帧时,当前层级子网络为级联检测网络的最后一个层级子网络,可以将最后一个层级子网络的前一层级子网络输出的候选框和最后一帧延迟帧输入到最后一个层级子网络中,最后一个层级子网络输出的检测框即为目标检测结果。

s308、根据所述目标检测结果和所述最后一帧延迟帧的目标跟踪结果生成最终目标跟踪结果。

s309、输出所述视频帧的目标跟踪结果。

为了使本领域技术人员更清楚地理解本发明实施例,以下结合图3b说明级联检测网络在接收延迟帧期间运行的过程,如图3b所示,级联检测网络的运行过程如下:

视频流输入后,每帧视频帧均输入到跟踪网络中,跟踪网络输出每个视频帧的目标跟踪结果,如果该视频帧为非关键帧,将该视频帧的目标跟踪结果作为最终的目标跟踪结果,如果该视频帧为关键帧,该关键帧输入到级联检测网络的第一级子网络并输出目标的候选框,同时确定关键帧之后的n帧视频帧为延迟帧,当接收到第1帧延迟帧时,将第一级子网络的候选框和第1帧延迟帧输入到第二级子网络中输出候选框,当接收到第2帧延迟帧时,将第二级子网络的候选框和第2帧延迟帧输入到第三级子网络中输出候选框,以此类推,当接收到第n帧延迟帧时,将n-1级子网络输出的候选框和第n帧延迟帧输入第n级子网络输出检测框作为目标检测结果,将该目标检测结果和第n帧延迟帧的目标跟踪结果关联生成最终的目标跟踪结果。

本发明实施例对于级联检测网络,将从视频流接收到的每个视频帧输入跟踪网络中得到视频帧的目标跟踪结果后,判断视频帧为关键帧时,获取级联检测网络的子网络的第一数量,并根据第一数量将关键帧后连续的多个视频帧确定为延迟帧,将级联检测网络的每个子网络的输入节点设置为计算节点后,将关键帧输入级联检测网络的第一层级子网络,并在每接收到一个延迟帧时,将上一层级子网络输出的检测结果和延迟帧输入当前层级子网络中,在接收到最后一帧延迟帧后,将当前层级子网络输出的检测结果作为检测网络的目标检测结果,根据目标检测结果和最后一帧延迟帧的目标跟踪结果生成最终目标跟踪结果。本发明实施例通过级联检测网络的级联数确定延迟帧的数量,并设置每个级联的子网络的输入作为计算节点,每接收一帧延迟帧时控制各个级联的子网络依次运行,实现了将目标检测的耗时分摊到接收多个延迟帧期间,大大削减了在关键帧处目标检测的耗时峰值,在播放关键帧后能够及时播放下一视频帧,使得视频能够以预设的帧率播放以保证视频流畅地播放。

实施例四

图4a为本发明实施例三提供的一种目标检测跟踪方法的步骤流程图,本发明实施例在前述实施例一的基础上进行优化,具体地,如图4a所示,本发明实施例的目标检测跟踪方法可以包括如下步骤:

s401、将从视频流接收到的每个视频帧输入跟踪网络中得到所述视频帧的目标跟踪结果。

s402、判断所述视频帧是否为关键帧。

s403、确定所述关键帧后连续的、预设数量的视频帧为延迟帧。

对于检测网络为非级联检测网络时,由于非级联检测网络的唯一输入为关键帧,如果为非级联检测网络设置的延迟帧的数量过多,可能导致最终得到的目标检测结果距离关键帧时目标的实际位置过大,可以设置较少数量的延迟帧以获得准确的目标检测结果,在一个示例中,延迟帧的数量可以设置为4个,当然,本领域技术人员可以根据实际情况设置延迟帧的数量,例如,在视频流中目标稳定时可以设置较多的延迟帧(如一个主播的直播中通常只包含主播一个目标,对主播进行跟踪),在目标不稳定时可以设置较少的延迟帧(如在足球赛事直播中每个视频帧出现的球员不同,对球员进行跟踪),本发明实施例对设置延迟帧的数量不加以限制。

s404、预估所述检测网络对所述关键帧执行目标检测所需要的总时长。

在本发明的可选实施例中,可以根据经验值预先设置检测网络对关键帧进行目标检测的总时长,或者根据关键帧的复杂程度设置检测网络对关键帧帧进行目标检测的总时长,还可以是将关键帧输入预先训练的时长估计模型中获得检测网络对关键帧帧进行目标检测的总时长,本发明实施例对预估检测网络对关键帧执行目标检测所需要的总时长的方式不加以限制。

s405、采用所述总时长和所述预设数量计算所述检测网络的计算节点的运行结束时间。

具体地,计算节点的运行结束时间可以是指非级联检测网络在运行过程停止运行的时间,即在非级联检测网络在运行过程中,以非级联检测网络开始运行时间为时间起点,当运行时间为计算节点的运行结束时间时,非级联检测网络停止运行并保存中间运行结果,在检测到恢复运行事件时从该计算节点恢复运行。在本发明实施例中,可以计算延迟帧的数量和关键帧的数量的和值,总时长和该和值的比值即为每个计算节点的运行时长,以关键帧输入非级联检测网络为时间起点,以所述运行时长为时间步长可以计算出每个计算节点的运行结束时间。

在本发明的一个示例中,可以将非级联检测网络的总时长均分到各个延迟帧中,示例性地,延迟帧的数量为4个,加上关键帧总共有5个视频帧,假设非级联检测网络运行一个视频帧的总时长为1秒,则在每个视频帧的预先时长为200毫秒(1000/5),可以设置非级联检测网络每运行200毫秒作为一个计算节点停止运行,还可以是设置以关键帧输入非级联检测网络后的0.2、0.4、0.6、0.8秒为计算节点的运行结束时间。当然,上述数值仅仅是示例,在实际应用中本领域技术人员可以根据实际情况设置延迟帧的数量,以保证非级联检测网络在每个视频帧的运行时长小于或等于相邻两个视频帧的时间间隔。

s406、在将所述关键帧输入所述非级联检测网络后,计算所述非级联网络的运行时间。

示例性地,可以设置一个计时器,当关键帧输入非级联检测网络后,计时器开始计时,该计时器的值记为非级联检测网络的运行时间。

s407、在所述运行时间为所述计算节点运行结束时间时,暂停运行所述非级联检测网络。

具体地,当计时器的值为计算节点运行结束时间时,非级联检测网络保存该时刻的检测结果,并暂停运行,其中,检测结果可以是非级联检测网络在该计算节点运行结束时间结束对关键帧提取到的特征图。在实际应用中,本领域技术人员可以通过程序脚本控制非级联检测网络停止运行,本发明实施例对控制非级联检测网络暂停运行的方式不加以限制。

需要说明的是,在本发明实施例中,当计时器的值为计算节点运行结束时间时,计时器暂停计时。

s408、当每接收到一个所述延迟帧时,从暂停的计算节点恢复运行所述非级联检测网络。

非级联检测网络暂停运行后,每接收到一个延迟帧,则读取保存的检测结果,并从上一暂停的计算节点恢复运行继续对关键帧提取特征,同时计时器恢复计时对非级联检测网络的运行时间进行累加,以此类推直到接收到最后一帧延迟帧为止。

s409、在接收到最后一帧延迟帧时,将恢复运行后所述非级联检测网络输出的检测结果作为所述检测网络的目标检测结果。

在从视频流中接收到最后一帧延迟帧后,非级联检测网络恢复最后一部分运行输出最终的目标检测结果。

s410、根据所述目标检测结果和所述最后一帧延迟帧的目标跟踪结果生成最终目标跟踪结果。

s411、输出所述视频帧的目标跟踪结果。

为了使本领域技术人员更清楚地理解本发明实施例,以下结合图4b说明非级联检测网络在接收延迟帧期间运行的过程,如图4b所示,非级联检测网络的运行过程如下:

视频流输入后,每帧视频帧均输入到跟踪网络中,跟踪网络输出每个视频帧的目标跟踪结果,如果该视频帧为非关键帧,将该视频帧的目标跟踪结果作为最终的目标跟踪结果。

如果该视频帧为关键帧,确定n帧延迟帧,并估算非级联检测网络对关键帧执行目标检测所需要的总时长,根据总时长和n确定每个计算节点的运行结束时间,以运行结束时间将非级联检测网络划分为多个部分的网络。关键帧输入到非级联检测网络的第一部分网络后计算非级联检测网络的运行时间,当运行时间为第一部分网络的运行结束时间时,非级联检测网络暂停运行并输出关键帧的特征图,当接收到第1帧延迟帧时,以上一暂停运行时的特征图为基础恢复非级联检测网络,即运行第二部分网络,当运行时间为第二部分网络的运行结束时间时,非级联检测网络暂停运行并输出关键帧的特征图,以此类推,当接收到第n帧延迟帧时,恢复第n部分网络运行并输出检测框作为目标检测结果,将该目标检测结果和第n帧延迟帧的目标跟踪结果关联生成最终的目标跟踪结果。

本发明实施例通过非级联检测网络的估算的总时长和延迟帧的数量计算每个计算节点的运行结束时间,在非级联检测网络的运行时间为运行结束时间时暂停运行,每接收一帧延迟帧时控制各个计算节点依次恢复运行,实现了将目标检测的耗时分摊到接收多个延迟帧期间,大大削减了在关键帧处目标检测的耗时峰值,在播放关键帧后能够及时播放下一视频帧,使得视频能够以预设的帧率播放以保证视频流畅地播放。

实施例五

图5是本发明实施例五提供的一种目标检测跟踪装置的结构框图,如图5所示,本发明实施例的目标检测跟踪装置具体可以包括如下模块:

跟踪模块501,用于将从视频流接收到的每个视频帧输入跟踪网络中得到所述视频帧的目标跟踪结果;

检测模块502,用于在所述视频帧为关键帧时,将所述关键帧输入检测网络并控制所述检测网络在接收延迟帧期间运行,以在接收完最后一帧延迟帧时输出目标检测结果,其中,所述关键帧为所述视频流中用于目标检测的视频帧,所述延迟帧为所述关键帧后连续的、指定数量的视频帧;

检测跟踪结果生成模块503,用于根据所述目标检测结果和所述最后一帧延迟帧的目标跟踪结果生成最终目标跟踪结果。

本发明实施例所提供的目标检测跟踪装置可执行本发明实施例一到实施例四任一实施例所提供的目标检测跟踪方法,具备执行方法相应的功能模块和有益效果。

实施例六

参照图6,示出了本发明一个示例中的一种设备的结构示意图。如图6所示,该设备具体可以包括:处理器601、存储装置602、具有触摸功能的显示屏603、输入装置604、输出装置605以及通信装置606。该设备中处理器601的数量可以是一个或者多个,图6中以一个处理器601为例。该设备的处理器601、存储装置602、显示屏603、输入装置604、输出装置605以及通信装置606可以通过总线或者其他方式连接,图6中以通过总线连接为例。所述设备用于执行如本发明任一实施例提供的目标检测跟踪方法。

本发明实施例还提供一种计算机可读存储介质,所述存储介质中的指令由设备的处理器执行时,使得设备能够执行如上述方法实施例所述的目标检测跟踪方法。

需要说明的是,对于装置、电子设备、存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变换、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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