CN107992366B - 对多个目标对象进行检测和跟踪的方法、系统和电子设备 - Google Patents
对多个目标对象进行检测和跟踪的方法、系统和电子设备 Download PDFInfo
- Publication number
- CN107992366B CN107992366B CN201711439371.XA CN201711439371A CN107992366B CN 107992366 B CN107992366 B CN 107992366B CN 201711439371 A CN201711439371 A CN 201711439371A CN 107992366 B CN107992366 B CN 107992366B
- Authority
- CN
- China
- Prior art keywords
- frame
- target object
- tracking
- current
- current frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明的实施方式提供了一种对多个目标对象进行检测和跟踪的方法,包括捕获图像帧并将该图像帧加入到待处理的帧序列中,从所述帧序列中取出一帧作为当前帧进行检测,响应于在所述当前帧中检测到目标对象,针对检测到的各个目标对象分别生成用于跟踪相应的目标对象的跟踪线程。该方法通过多线程并行运行,带来系统运行效率和流畅度的提升。各个任务之间独立运行,互不干扰,可以保障各任务的运行频率和质量。本发明的实施方式还提供了一种介质、系统以及电子设备。
Description
技术领域
本发明的实施方式涉及图像处理领域,更具体地,本发明的实施方式涉及一种对多个目标对象进行检测和跟踪的方法、介质、系统和电子设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着信息化时代的到来,图像展示和处理方法也在不断发展。增强现实技术,也被称之为混合现实,正在改变人们的生活。它通过电脑技术,将虚拟的信息应用到真实世界,真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在。
目前,已经出现了一些关于增强现实的应用程序,通过检测和跟踪场景中的某些特定内容,为人们提供相应的服务。
发明内容
但是,出于单线程执行的原因,现有技术存在无法保证运行的频率和质量的问题。
为此,非常需要一种改进的对多个目标对象进行检测和跟踪的方法,以动态分配计算资源,达到降低计算资源开销的目的。
在本上下文中,本发明的实施方式期望提供一种对多个目标对象进行检测和跟踪的方法、介质、系统和电子设备。
在本发明实施方式的第一方面中,提供了一种对多个目标对象进行检测和跟踪的方法,包括,捕获图像帧并将该图像帧加入到待处理的帧序列中,从所述帧序列中取出一帧作为当前帧进行检测,响应于在所述当前帧中检测到目标对象,针对检测到的各个目标对象分别生成用于跟踪相应的目标对象的跟踪线程。
在本发明的一个实施例中,所述方法还包括,在对所述当前帧处理完毕后,维护线程从所述待处理的帧序列中清除所述当前帧。
在本发明的另一实施例中,所述方法还包括,在所述帧序列中的帧的数量超过第一预设值时,维护线程清除所述帧序列中的部分帧或全部帧。
在本发明的另一实施例中,所述方法还包括,基于当前系统的空闲资源情况来确定参照对象的数量,通过将所述当前帧与多个所述参照对象进行匹配,以从所述当前帧中检测出目标对象。
在本发明的另一个实施例中,所述方法还包括,基于多个所述参照对象的优先级,确定与所述当前帧进行匹配的多个所述参照对象的顺序。
在本发明的另一实施例中,所述参照对象的优先级由与所述参照对象对应的目标对象出现的概率确定。
在本发明的另一实施例中,所述目标对象出现的概率按以下情况递减:跟踪过且已经丢失较短时间的目标对象、跟踪过且已经丢失较长时间的目标对象以及从未出现过的目标对象。
在本发明的另一实施例中,所述方法还包括,根据当前跟踪线程的数量和/或当前系统的空闲资源情况,确定用于跟踪所述目标对象的特征点的数量,以及使跟踪线程通过所述数量的特征点,跟踪所述目标对象。
在本发明的另一实施例中,所述方法还包括,所述当前帧与前一帧的同一目标对象的重合度低于第二预设值的情况下,将所述当前帧作为关于所述目标对象的关键帧保存在共有关键帧集合中,所述共有关键帧集合包括关于多个目标对象的关键帧。
在本发明实施方式的第二方面中,提供了一种计算机可读存储介质,所述指令被处理单元执行时使所述处理单元执行根据如上所述任一项方法。
在本发明实施方式的第三方面中,提供了一种对多个目标对象进行检测和跟踪的系统,包括捕获模块、检测模块和生成模块。捕获模块,用于捕获图像帧并将该图像帧加入到待处理的帧序列中。检测模块,用于从所述帧序列中取出一帧作为当前帧进行检测。生成模块,用于响应于在所述当前帧中检测到目标对象,针对检测到的各个目标对象分别生成用于跟踪相应的目标对象的跟踪线程。
在本发明的一个实施例中,所述系统还包括第一维护模块,用于在对所述当前帧处理完毕后,维护线程从所述待处理的帧序列中清除所述当前帧。
在本发明的另一实施例中,所述系统还包括第二维护模块,用于在所述帧序列中的帧的数量超过第一预设值时,维护线程清除所述帧序列中的部分帧或全部帧。
在本发明的另一实施例中,所述系统还包括第一确定模块和匹配模块。第一确定模块,用于基于当前系统的空闲资源情况来确定参照对象的数量。匹配模块,用于通过将所述当前帧与多个所述参照对象进行匹配,以从所述当前帧中检测出目标对象。
在本发明的另一实施例中,所述系统还包括第二确定模块,用于基于多个所述参照对象的优先级,确定与所述当前帧进行匹配的多个所述参照对象的顺序。
在本发明的另一实施例中,所述参照对象的优先级由与所述参照对象对应的目标对象出现的概率确定。
在本发明的另一实施例中,所述目标对象出现的概率按以下情况递减:跟踪过且已经丢失较短时间的目标对象、跟踪过且已经丢失较长时间的目标对象以及从未出现过的目标对象。
在本发明的另一实施例中,所述系统还包括第三确定模块和跟踪模块。第三确定模块,用于根据当前跟踪线程的数量和/或当前系统的空闲资源情况,确定用于跟踪所述目标对象的特征点的数量。跟踪模块,用于使跟踪线程通过所述数量的特征点,跟踪所述目标对象。
在本发明的另一实施例中,所述系统还包括保存模块,用于所述当前帧与前一帧的同一目标对象的重合度低于第二预设值的情况下,将所述当前帧作为关于所述目标对象的关键帧保存在共有关键帧集合中,所述共有关键帧集合包括关于多个目标对象的关键帧的集合。
在本发明的另一实施例中,所述系统还包括创建模块,用于针对各跟踪目标对象,建立自身关键帧集合,所述自身关键帧集合包括各跟踪目标对象的关键帧的关键帧标识和/或该关键帧在所述共有关键帧集合中的位置。
在本发明实施方式的第四方面中,提供了一种电子设备,包括,处理单元,以及存储单元,其上存储有可执行指令,所述指令被所述处理单元执行时使所述处理单元执行如上所述任一项方法。
该方法、介质、系统以及电子设备通过检测和跟踪多线程并行运行,能够带来系统运行效率和流畅度的提升,各个任务之间独立运行,互不干扰,可以保障各任务的运行频率和质量。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明示例性实施例的对多个目标对象进行检测和跟踪的方法的应用场景;
图2示意性地示出了根据本发明示例性实施例的对多个目标对象进行检测和跟踪的方法的流程图
图3示意性地示出了根据本发明另一实施例的对多个目标对象进行检测和跟踪的方法的流程图;
图4示意性地示出了根据本发明另一实施例的对多个目标对象进行检测和跟踪的方法的流程图;
图5示意性地示出了根据本发明另一实施例的对多个目标对象进行检测和跟踪的方法的流程图;
图6示意性地示出了根据本发明示例性实施例的可读存储介质的示意图;
图7示意性地示出了根据本发明示例性实施例的对多个目标对象进行检测和跟踪的系统的框图;
图8示意性地示出了根据本发明另一实施例的对多个目标对象进行检测和跟踪的系统的框图;以及
图9示意性地示出了根据本发明示例性实施例的适于实现对多个目标对象进行检测和跟踪的方法和系统的电子设备。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种对多个目标对象进行检测和跟踪的方法、介质、系统和电子设备。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,现有技术使用单一线程串行处理检测和跟踪任务,在跟踪任务负荷较大的情况下,检测任务无法保证运行的频率和质量。例如,在已经检测出多个目标对象需要跟踪时,单一线程为了完成跟踪任务而占用了绝大部分资源,因此无法保证继续检测的频率和质量,造成新的目标对象出现时,无法进行跟踪。本发明实施例提供的对多个目标对象进行检测和跟踪的方法通过检测和跟踪多线程并行运行,能够带来系统运行效率和流畅度的提升,各个任务之间独立运行,互不干扰,可以保障各任务的运行频率和质量。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1,图1示意性地示出了根据本发明示例性实施例的对多个目标对象进行检测和跟踪的方法的应用场景。
如图1所示,该场景为用户的电子设备捕获的一个图像帧,其内容包括云、树林、汽车和兔子等。其中,电子设备可以是用户的手机、便携式计算机、智能照相机、智能眼镜、智能头盔等。电子设备可以持续捕获图像帧加入到待处理的帧序列中用于检测和跟踪。在处理过程中,本发明实施例的应用程序例如可以检测图像帧中是否存在汽车、兔子或鹰,如果存在,则对其跟踪,确定其在图像中的位置,其中,以上所述汽车、兔子和鹰即为目标对象。根据本发明示例性实施例,从帧序列中取出一个图像帧作为当前帧,进行检测,例如在图1所示的图像帧中检测到一辆汽车和一只兔子,而没有检测到鹰,系统需要对检测到的汽车和兔子进行跟踪,同时还需要在其他图像帧作为当前帧时继续检测是否存在其他的汽车、兔子或鹰。现有技术的检测跟踪方法只适用于单线程执行的情况,所有的检测、跟踪任务串行执行,单一线程同时完成检测和多个对象的跟踪负荷较大,尤其是当图像中存在多个目标对象需要跟踪时尤其严重。另一方面,在候选匹配物较多的时候,检测用时会大大增加,并且跟踪算法基于简单的特征点和模板匹配,跟踪质量和稳定性较差。
需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
示例性方法
下面结合图1的应用场景,参考图2来描述根据本发明示例性实施方式的对多个目标对象进行检测和跟踪的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图2所示,该方法包括操作S210~S230。
在操作S210,捕获图像帧并将该图像帧加入到待处理的帧序列中。
在操作S220,从所述帧序列中取出一帧作为当前帧进行检测。
在操作S230,响应于在所述当前帧中检测到目标对象,针对检测到的各个目标对象分别生成用于跟踪相应的目标对象的跟踪线程。
根据本发明示例性实施例,初始状态下无工作的跟踪线程,检测线程检测目标对象成功后生成针对该目标对象的跟踪线程,进入检测、跟踪并行工作的状态。
该方法通过多线程并行运行,带来系统运行效率和流畅度的提升。各个任务之间独立运行,互不干扰,可以保障各任务的运行频率和质量。
根据本发明示例性实施例,所述方法还包括在对所述当前帧处理完毕后,维护线程从所述待处理的帧序列中清除所述当前帧。
该方法通过维护线程维护帧序列,保证系统运行的稳定性,降低系统卡死的风险。
根据本发明示例性实施例,所述方法还包括在所述帧序列中的帧的数量超过第一预设值时,维护线程清除所述帧序列中的部分帧或全部帧。
该方法在帧序列中的帧的数量超过第一预设值时,清理帧序列,进一步提升系统运行的稳定性和流畅度。
图3示意性地示出了根据本发明另一实施例的对多个目标对象进行检测和跟踪的方法的流程图。
如图3所示,该方法在图2所描述的实施例的基础上,还包括操作S310和S320。
在操作S310,基于当前系统的空闲资源情况来确定参照对象的数量。例如,在所有需要检测的对象包括汽车、鹰和兔子时,在当前系统的空闲资源较多的情况下,确定较多的参照对象,例如确定全部的三个对象作为参照对象进行检测,而在当前系统的空闲资源较少的情况下,确定较少的参照对象,例如确定其中一个对象或两个对象作为参照对象进行检测。
在操作S320,通过将所述当前帧与多个所述参照对象进行匹配,以从所述当前帧中检测出目标对象。
该方法可以根据当前系统的空闲资源情况,确定检测时所匹配的目标对象的数量,使系统保持平稳、高帧率运行,同时对CPU等资源具有较高利用率。
根据本发明示例性实施例,所述方法还包括基于多个所述参照对象的优先级,确定与所述当前帧进行匹配的多个所述参照对象的顺序。
根据本发明示例性实施例,所述参照对象的优先级由与所述参照对象对应的目标对象出现的概率确定。
根据本发明示例性实施例,所述目标对象出现的概率按以下情况递减:跟踪过且已经丢失较短时间的目标对象、跟踪过且已经丢失较长时间的目标对象以及从未出现过的目标对象。
在检测阶段,通过确定目标对象的优先级,优先检测更容易出现的目标对象,可以更快地完成目标识别,加速目标检测。
图4示意性地示出了根据本发明另一实施例的对多个目标对象进行检测和跟踪的方法的流程图。
如图4所示,该方法在图3所描述的实施例的基础上,还包括操作S410和S420。
在操作S410,根据当前跟踪线程的数量和/或当前系统的空闲资源情况,确定用于跟踪所述目标对象的特征点的数量。
根据本发明示例性实施例,特征点是指图像处理中,图像灰度值发生剧烈变化的点或者在图像边缘上曲率较大的点,能够反映图像本质特征,并标识图像中目标对象。例如,在当前跟踪线程的数量较多,或者当前系统的空闲资源较少的情况下,确定较少的跟踪所述目标对象的特征点,而在当前跟踪线程的数量较少,或者当前系统的空闲资源较多的情况下,确定较多的跟踪所述目标对象的特征点。
在操作S420,使跟踪线程通过所述数量的特征点,跟踪所述目标对象。
该方法基于当前跟踪线程的数量和/或当前系统的空闲资源情况,确定用于跟踪所述目标对象的特征点的数量,实现动态均衡负载的效果,提高系统稳定性和流畅度。
图5示意性地示出了根据本发明另一实施例的对多个目标对象进行检测和跟踪的方法的流程图。
如图5所示,该方法在图3所描述的实施例的基础上,还包括S510。
在操作S510,所述当前帧与前一帧的同一目标对象的重合度低于第二预设值的情况下,将所述当前帧作为关于所述目标对象的关键帧保存在共有关键帧集合中,所述共有关键帧集合包括关于多个目标对象的关键帧的集合。
进一步地,该方法还可以包括操作S520。
在操作S520,针对各跟踪目标对象,建立自身关键帧集合,所述自身关键帧集合包括各跟踪目标对象的关键帧的关键帧标识和/或该关键帧在所述共有关键帧集合中的位置。
本公开实施例的对多个目标对象进行检测和跟踪的方法可以与同步定位与地图构建技术(SLAM或Simultaneous localization and mapping)相结合,以提高目标跟踪的稳定性和精确度。在同步定位与地图构建过程中,需要引入关键帧的结构,在有需要的时候将当前帧与关键帧进行匹配。其中,所述关键帧是在特定情况下保存的图像帧。例如在发现目标对象在当前帧与前一帧的内容重合度低于第二预设值的情况下,定义当前图像帧为关于该目标对象的一个关键帧。该内容重合度低于第二预设值可能是由于用于捕获图像的电子设备的位置和角度的变化所导致的,也可能是由于目标对象自身的移动所导致的。
根据本发明示例性实施例,建立共有关键帧集合,用于存放关于各个目标对象的关键帧。例如,可以将某一存储区域用于存储关于各个目标对象的关键帧,而无需将关于各个目标对象的关键帧分别存储,节省了可能存在的同样的图像帧重复存储所占用的存储资源,也减少了关键帧管理的成本。
根据本发明示例性实施例,所述方法还包括,针对各跟踪目标对象,建立自身关键帧集合,所述自身关键帧集合包括各跟踪目标对象的关键帧的关键帧标识和/或该关键帧在所述共有关键帧集合中的位置。
根据本发明示例性实施例,在关键帧共享的情况下,可以建立各个跟踪目标对象的自身关键帧集合,自身关键帧集合中可以存储关键帧标识、该关键帧在所述共有关键帧集合中的位置等信息,用于从共有关键帧集合中确定与该跟踪目标对象的相关的关键帧。例如,在共有关键帧集合中,为每个关键帧设置关键帧标识,例如“frame00001”、“frame00125”、“frame00174”……,相应地,在一个目标对象的自身关键帧集合中,可以存储与该跟踪目标对象的相关的关键帧的关键帧标识,例如{frame00001、frame00174、frame00258、……}。或者,可以例如按数字序号的形式标注关键帧在共有关键帧集合中存储的位置,例如1、2、3……,相应地,在一个目标对象的自身关键帧集合中,可以存储与该跟踪目标对象的相关的关键帧的关键帧位置,例如{3、5、8……}。
随着跟踪物体的增加,存储他们各自的关键帧对系统带来较高的存储压力。考虑到在实际应用场景中各跟踪目标经常具有关键帧重合度较高的特点,本发明示例性实施例提供的方法通过维持所有跟踪目标的共有关键帧集合,可以大幅度减少系统总关键帧的数量,从而降低系统的存储压力,除了共有关键帧集合外,每个跟踪目标只需要独立维护一个集合,用于存储自身对应的关键帧序号或其在该关键帧中的位置即可,极大地降低了系统工作量。
本发明所公开的上述实施例可任意组合,或者做简单变换,得到需要的处理策略,以实现较好的技术效果。
示例性介质
本发明示例性实施方式提供了一种计算机可读存储介质,存储有计算机可执行指令,上述指令在被处理单元执行时用于实现上述方法实施例中任一项所述的对多个目标对象进行检测和跟踪的方法。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的对多个目标对象进行检测和跟踪的方法中的步骤,例如,所述电子设备可以执行如图2中所示的操作S210:捕获图像帧并将该图像帧加入到待处理的帧序列中;操作S220:从所述帧序列中取出一帧作为当前帧进行检测;操作S230:响应于在所述当前帧中检测到目标对象,针对检测到的各个目标对象分别生成用于跟踪相应的目标对象的跟踪线程。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图6所示,描述了根据本发明的实施方式的用于对多个目标对象进行检测和跟踪的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言——诸如Java,C++等,还包括常规的过程式程序设计语言——诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)一连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
示例性装置
在介绍了本发明示例性实施方式的介质之后,接下来,参考图7对本发明示例性实施方式的对多个目标对象进行检测和跟踪的系统进行介绍。
如图7所示,该系统700可以包括捕获模块710、检测模块720以及生成模块730。
捕获模块710,例如执行上文参考图2描述的操作S210,用于捕获图像帧并将该图像帧加入到待处理的帧序列中。
检测模块720,例如执行上文参考图2描述的操作S220,用于从所述帧序列中取出一帧作为当前帧进行检测。
生成模块730,例如执行上文参考图2描述的操作S230,用于响应于在所述当前帧中检测到目标对象,针对检测到的各个目标对象分别生成用于跟踪相应的目标对象的跟踪线程。
在本发明的一个实施例中,所述系统还包括第一维护模块,用于在对所述当前帧处理完毕后,维护线程从所述待处理的帧序列中清除所述当前帧。
在本发明的另一实施例中,所述系统还包括第二维护模块,用于在所述帧序列中的帧的数量超过第一预设值时,维护线程清除所述帧序列中的部分帧或全部帧。
图8示意性地示出了根据本发明另一实施例的对多个目标对象进行检测和跟踪的系统800的框图。
如图8所示,该系统800在图7所示意的实施例的基础上还包括第一确定模块810以及匹配模块820。
第一确定模块810,用于基于当前系统的空闲资源情况来确定参照对象的数量。
匹配模块820,用于通过将所述当前帧与多个所述参照对象进行匹配,以从所述当前帧中检测出目标对象。
在本发明的另一实施例中,所述系统还包括第二确定模块,用于基于多个所述参照对象的优先级,确定与所述当前帧进行匹配的多个所述参照对象的顺序。
在本发明的另一实施例中,所述参照对象的优先级由与所述参照对象对应的目标对象出现的概率确定。
在本发明的另一实施例中,所述目标对象出现的概率按以下情况递减:跟踪过且已经丢失较短时间的目标对象、跟踪过且已经丢失较长时间的目标对象以及从未出现过的目标对象。
在本发明的另一实施例中,所述系统还包括第三确定模块和跟踪模块。第三确定模块,用于根据当前跟踪线程的数量和/或当前系统的空闲资源情况,确定用于跟踪所述目标对象的特征点的数量。跟踪模块,用于使跟踪线程通过所述数量的特征点,跟踪所述目标对象。
在本发明的另一实施例中,所述系统还包括保存模块。保存模块,用于所述当前帧与前一帧的同一目标对象的重合度低于第二预设值的情况下,将所述当前帧作为关于所述目标对象的关键帧保存在共有关键帧集合中,所述共有关键帧集合包括关于多个目标对象的关键帧的集合。
在本发明的另一实施例中,所述系统还包括创建模块,用于针对各跟踪目标对象,建立自身关键帧集合,所述自身关键帧集合包括各跟踪目标对象的关键帧的关键帧标识和/或该关键帧在所述共有关键帧集合中的位置。
由于发明的示例实施例的对多个目标对象进行检测和跟踪的系统700或800的各个功能模块与上述对多个目标对象进行检测和跟踪的方法的示例实施例的步骤对应,因此在此不再赘述。
示例性电子设备
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图9对本发明示例性实施方式的一种电子设备,用于对试题分类。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的电子设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的对多个目标对象进行检测和跟踪的方法中的步骤。例如,所述处理单元可以执行如图2中所示的操作S210:捕获图像帧并将该图像帧加入到待处理的帧序列中;操作S220:从所述帧序列中取出一帧作为当前帧进行检测;操作S230:响应于在所述当前帧中检测到目标对象,针对检测到的各个目标对象分别生成用于跟踪相应的目标对象的跟踪线程。
下面参照图9来描述根据本发明的这种实施方式的电子设备900。图9所示的电子设备900仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用电子设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930。
总线930表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元920可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储单元920还可以包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备900也可以与一个或多个外部设备940(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与电子设备900交互的设备通信,和/或与使得电子设备900能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了对多个目标对象进行检测和跟踪的系统的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (12)
1.一种对多个目标对象进行检测和跟踪的方法,包括:
捕获图像帧并将该图像帧加入到待处理的帧序列中;
从所述帧序列中取出一帧作为当前帧进行目标对象检测;
响应于在所述当前帧中检测到目标对象,针对检测到的各个目标对象分别生成用于跟踪相应的目标对象的跟踪线程;
基于当前系统的空闲资源情况来确定参照对象的数量;
通过将所述当前帧与多个所述参照对象进行匹配,以从所述当前帧中检测出目标对象;
根据当前跟踪线程的数量和当前系统的空闲资源情况,确定用于跟踪所述目标对象的特征点的数量;以及
使跟踪线程通过所述数量的特征点,跟踪所述目标对象;
所述当前帧与前一帧的同一目标对象的重合度低于第二预设值的情况下,将所述当前帧作为关于所述目标对象的关键帧保存在共有关键帧集合中,所述共有关键帧集合包括关于多个目标对象的关键帧的集合;
针对各跟踪目标对象,建立自身关键帧集合,所述自身关键帧集合包括各跟踪目标对象的关键帧的关键帧标识和该关键帧在所述共有关键帧集合中的位置。
2.根据权利要求1所述的方法,还包括:
在对所述当前帧处理完毕后,维护线程从所述待处理的帧序列中清除所述当前帧。
3.根据权利要求1所述的方法,还包括:
在所述帧序列中的帧的数量超过第一预设值时,维护线程清除所述帧序列中的部分帧或全部帧。
4.根据权利要求1所述的方法,还包括:
基于多个所述参照对象的优先级,确定与所述当前帧进行匹配的多个所述参照对象的顺序。
5.根据权利要求4所述的方法,其中,所述参照对象的优先级由与所述参照对象对应的目标对象出现的概率确定。
6.一种计算机可读存储介质,其上存储有可执行指令,所述可执行指令被处理单元执行时使所述处理单元执行根据权利要求1-5中任一项所述的方法。
7.一种对多个目标对象进行检测和跟踪的系统,包括:
捕获模块,用于捕获图像帧并将该图像帧加入到待处理的帧序列中;
检测模块,用于从所述帧序列中取出一帧作为当前帧进行目标对象检测;
生成模块,用于响应于在所述当前帧中检测到目标对象,针对检测到的各个目标对象分别生成用于跟踪相应的目标对象的跟踪线程;
第一确定模块,用于基于当前系统的空闲资源情况来确定参照对象的数量;
匹配模块,用于通过将所述当前帧与多个所述参照对象进行匹配,以从所述当前帧中检测出目标对象;
第三确定模块,用于根据当前跟踪线程的数量和当前系统的空闲资源情况,确定用于跟踪所述目标对象的特征点的数量;以及
跟踪模块,用于使跟踪线程通过所述数量的特征点,跟踪所述目标对象;
保存模块,用于所述当前帧与前一帧的同一目标对象的重合度低于第二预设值的情况下,将所述当前帧作为关于所述目标对象的关键帧保存在共有关键帧集合中,所述共有关键帧集合包括关于多个目标对象的关键帧的集合;
创建模块,用于针对各跟踪目标对象,建立自身关键帧集合,所述自身关键帧集合包括各跟踪目标对象的关键帧的关键帧标识和/或该关键帧在所述共有关键帧集合中的位置。
8.根据权利要求7所述的系统,还包括:
第一维护模块,用于在对所述当前帧处理完毕后,维护线程从所述待处理的帧序列中清除所述当前帧。
9.根据权利要求7所述的系统,还包括:
第二维护模块,用于在所述帧序列中的帧的数量超过第一预设值时,维护线程清除所述帧序列中的部分帧或全部帧。
10.根据权利要求7所述的系统,还包括:
第二确定模块,用于基于多个所述参照对象的优先级,确定与所述当前帧进行匹配的多个所述参照对象的顺序。
11.根据权利要求10所述的系统,其中,所述参照对象的优先级由与所述参照对象对应的目标对象出现的概率确定。
12.一种电子设备,包括:
处理单元;以及
存储单元,其上存储有可执行指令,所述指令被所述处理单元执行时使所述处理单元执行根据权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711439371.XA CN107992366B (zh) | 2017-12-26 | 2017-12-26 | 对多个目标对象进行检测和跟踪的方法、系统和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711439371.XA CN107992366B (zh) | 2017-12-26 | 2017-12-26 | 对多个目标对象进行检测和跟踪的方法、系统和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107992366A CN107992366A (zh) | 2018-05-04 |
CN107992366B true CN107992366B (zh) | 2021-12-31 |
Family
ID=62041807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711439371.XA Active CN107992366B (zh) | 2017-12-26 | 2017-12-26 | 对多个目标对象进行检测和跟踪的方法、系统和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107992366B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110580710A (zh) * | 2019-08-21 | 2019-12-17 | 深圳码隆科技有限公司 | 物体追踪方法、装置、计算机可读存储介质和计算机设备 |
CN111263097B (zh) * | 2019-09-19 | 2024-01-02 | 华为技术有限公司 | 媒体数据传输方法及相关设备 |
CN113129333B (zh) * | 2020-01-16 | 2023-06-16 | 舜宇光学(浙江)研究院有限公司 | 多目标实时跟踪方法及其系统和电子设备 |
CN111402288A (zh) * | 2020-03-26 | 2020-07-10 | 杭州博雅鸿图视频技术有限公司 | 目标检测跟踪方法及装置 |
CN112561954B (zh) * | 2020-09-11 | 2023-07-14 | 浙江大华技术股份有限公司 | 目标对象跟踪轨迹的确定方法和装置、存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778503A (zh) * | 2016-11-11 | 2017-05-31 | 深圳云天励飞技术有限公司 | 一种基于循环帧缓冲区的检测与跟踪的方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246887A (zh) * | 2013-03-26 | 2013-08-14 | 中国科学院电子学研究所 | 基于几何特征的光学遥感图像机场目标的多线程检测方法 |
CN104376578A (zh) * | 2014-11-06 | 2015-02-25 | 苏州阔地网络科技有限公司 | 一种应用于直录播系统中的运动目标检测处理方法及设备 |
CN106330599B (zh) * | 2016-08-16 | 2019-07-19 | 济南大学 | Android应用程序网络流量多线程采集系统及方法 |
-
2017
- 2017-12-26 CN CN201711439371.XA patent/CN107992366B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778503A (zh) * | 2016-11-11 | 2017-05-31 | 深圳云天励飞技术有限公司 | 一种基于循环帧缓冲区的检测与跟踪的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107992366A (zh) | 2018-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107992366B (zh) | 对多个目标对象进行检测和跟踪的方法、系统和电子设备 | |
US11216955B2 (en) | Target tracking methods and apparatuses, electronic devices, and storage media | |
US10085056B2 (en) | Method and system for improving application sharing by dynamic partitioning | |
US9760970B2 (en) | Video analysis and post processing of multiple video streams | |
US20200073711A1 (en) | Method and coroutine framework for processing parallel tasks, device, medium, and unmanned vehicle | |
US11061693B2 (en) | Reprogramming a field programmable device on-demand | |
US9195872B2 (en) | Object tracking method and apparatus | |
CN113378958A (zh) | 自动标注方法、装置、设备、存储介质及计算机程序产品 | |
CN112346647A (zh) | 数据存储方法、装置、设备和介质 | |
CN111026493A (zh) | 界面渲染的处理方法和装置 | |
CN114937246A (zh) | 一种行人识别方法、电子设备及存储介质 | |
CN111368593B (zh) | 一种马赛克处理方法、装置、电子设备及存储介质 | |
US20150106522A1 (en) | Selecting a target server for a workload with a lowest adjusted cost based on component values | |
US20210303162A1 (en) | Method, electronic device, and computer program product for recovering data | |
CN111598128B (zh) | 用户界面的控件状态识别、控制方法、装置、设备及介质 | |
CN109934185B (zh) | 数据处理方法及装置、介质和计算设备 | |
CN114443174A (zh) | 代码加载方法、代码加载装置、存储介质与电子设备 | |
CN114356475A (zh) | 一种显示处理方法、装置、设备及存储介质 | |
CN114119990A (zh) | 用于图像特征点匹配的方法、装置及计算机程序产品 | |
CN110083357A (zh) | 界面构建方法、装置、服务器及存储介质 | |
US10845978B1 (en) | Scroll positioning using element association | |
CN112288774B (zh) | 移动侦测方法、装置、电子设备及存储介质 | |
CN113031891B (zh) | 一种屏幕选定的方法、装置、设备及存储介质 | |
US20230259457A1 (en) | Electronic apparatus and control method thereof | |
CN116048816B (zh) | 数据请求处理方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210512 Address after: 311200 Room 102, 6 Blocks, C District, Qianjiang Century Park, Xiaoshan District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Yixian Advanced Technology Co.,Ltd. Address before: 310052 Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province, 4, 7 stories Applicant before: NETEASE (HANGZHOU) NETWORK Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |