目标追踪系统的制作方法

文档序号:11156340阅读:720来源:国知局
目标追踪系统的制造方法与工艺

本申请涉及计算机视觉,尤其涉及一种通过计算机视觉实现的目标追踪系统。



背景技术:

目标检测和跟踪一直是学术界和工业界的一个重要研究方向。例如,基于计算机视觉的行人检测由于其在车辆辅助驾驶系统中的重要应用价值而成为当前计算机视觉和智能车辆领域最为活跃的研究课题之一。不仅如此,目标检测和追踪还在诸如安防、交通和游戏等领域内有着巨大的实用空间和潜在意义。

由于目标检测的具体目标通常个体间差异明显(例如,行人检测中姿态和服饰变化显著的行人们)、并且目标所在背景也持续变化(例如,追踪快速奔跑的宠物狗),因此对检出和追踪算法的鲁棒性要求很高。其次,目标检测/追踪系统通常需要对目标动作即刻做出反应,因此实时性也是应被满足的。另外,在很多情况下会对系统本身的移动性存在要求,这就需要对系统的尺寸和功耗加以考虑。

虽然经过多年积累,视觉跟踪和目标检测已经取得了长足的进步,但现有技术中仍然缺少一种在实现检测算法的鲁棒性和实时性的同时,能够很好地满足小型化和低功耗要求的目标检测/追踪系统。因此,目标检测和跟踪系统如何在诸如无人机、汽车、机器人和手机等移动端获得广泛应用仍然是业内的一个研究热点。



技术实现要素:

鉴于上述的至少一个问题,本发明提出了一种目标追踪方案,其采用能够在逻辑硬件上高效实现的算法来构造目标追踪模块的至少一部分,由此在满足算法鲁棒性的同时提升计算效率,还能够进一步地减小系统功耗,为系统的小型化应用奠定基础。

根据本发明的一个方面,提出了一种目标追踪系统,包括:目标追踪模块,基于当前视频图像帧中包含目标的局部图以及所述局部图在所述当前视频图像帧中的坐标,预测下一视频图像帧中包含所述目标的局部图的坐标,其中,所述目标追踪模块的至少一部分是通过逻辑硬件实现的。

系统还可以优选地包括从图像帧中截取局部图并将其送入目标追踪模块的图像输入模块。

系统还可以包括用于在当前视频图像帧中检测局部图的目标检测模块。该目标检测模块也可以通过逻辑硬件实现,由此进一步提升计算效率并相应地降低功耗。

通常情况下,目标检测模块在检测开始时检测出包含有目标的局部图并由图像输入模块将局部图送入目标追踪模块,目标追踪模块随后可以自行预测包含同一目标的一下局部图的坐标并持续进行后续的目标追踪。但是某些情况下,仍需要目标检测模块检测局部图,例如在接收到来自用户的输入指令时,或是系统判定目标丢失时。另外,有些系统还会规定定时重检,即在距离上次将当前视频图像帧输入到所述目标检测模块已过去预定时间段的情况下,由目标检测模块重新检测局部图。

对于应用环境复杂的系统而言,系统优选包括目标丢失判断模块。目标丢失判断模块可以在局部图包括目标的置信度低于阈值时判定目标丢失。这一功能在诸如目标被遮挡或是有大量其他目标涌入的情况下尤为重要。

目标追踪模块可以包括追踪算法模块。追踪算法模块可以基于当前视频图像帧中的局部图以及该局部图在当前视频图像帧中的坐标追踪目标,例如获取该目标的位置和尺寸。

目标追踪模块还可以优选地包括图像特征提取模块。图像特征提取模块从局部图中提取与目标相关的图像特征,追踪算法模块则可基于提取的图像特征追踪所述目标。

在实际应用中,目标检测模块可以采取卷积神经网络(CNN)来检测当前视频图像帧中包括所述目标的局部图。图像特征提取模块可以采取方向梯度直方图(HOG)算法进行图像特征提取。追踪算法模块可以采取核心化相关滤波器(KCF)算法进行目标追踪。上述模块的实现不限于提及的这些算法。

优选地,图像特征提取模块的全部以及追踪算法模块的至少一部分通过逻辑硬件实现。例如,追踪算法模块可以包括傅立叶变换单元、傅立叶逆变换单元、点乘单元和点除单元,其中至少尤其适于逻辑硬件实现的傅立叶变换单元、傅立叶逆变换单元和点乘单元可以通过逻辑硬件实现。

优选地,逻辑硬件可以是FPGA。目标追踪系统则可以在包括通用处理器和逻辑硬件的片上系统(SoC)上实现。图像输入模块和目标丢失判断模块可以通过通用处理器实现。

通过使用逻辑硬件,尤其是FPGA实现至少一部分的目标追踪功能,就能够充分利用逻辑硬件并行性和低功耗的特点,实现目标的快速检出和准确追踪,并能够进一步降低追踪系统的尺寸。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。

图1示出了根据本发明一个实施例的目标追踪系统的示意图。

图2示出了根据本发明另一个实施例的目标追踪系统的示意图。

图3示出了根据本发明一个实施例的目标追踪模块的组成示意图。

图4示出了根据本发明一个实施例的目标追踪系统的运行原理图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

用机器代替人力一直是人类科技努力的方向,其中视觉跟踪和目标检测是机器智能化必须跨越的一环。现在制约视觉技术在目标检测/追踪方法中的应用的关键因素是大量的数据处理导致系统实时性不足的问题。为了解决这一难题,国内外的研究机构主要从两方面着手:一是采用高性能的处理器,二是提出新的视觉处理算法,并以就此发表了相当数量论文。面对世界范围内如火如荼的视觉技术研究,本发明的发明人独辟蹊径,利用现成的逻辑硬件代替处理器用软件实现的目标检测和追踪的至少一部分功能。由此,利用逻辑硬件并行运算和功耗低的特点,实现能够满足实际应用的实时检测和追踪系统,并将系统功耗维持在相当低并能实现小型化的水平。

图1示出了根据本发明一个实施例的目标追踪系统100的示意图。目标追踪系统100通过对输入的视频图像流中的各个视频图像帧进行的处理和计算,能够实时或近实时地实现对视频中一个或多个目标的追踪。

目标追踪系统100包括目标追踪模块110。如图1所示,目标追踪模块110有至少一部分在逻辑硬件上实现,并且目标追踪模块110基于当前视频图像帧中包含目标的局部图以及所述局部图在所述当前视频图像帧中的坐标,预测下一视频图像帧中包含所述目标的局部图的坐标。

由于基于图像的目标检测算法需要很高的计算并行度,因此现有技术中采用通用处理器(CPU)或者图形处理器(GPU)的软件实现方案会带来很大的性能、功耗和成本代价,虽然在处理器性能持续发展的今天,单凭在处理器上实现的目标检测仍然很难符合移动端产品对计算资源小、能耗低、成本低的要求。相比之下,本发明使用本身适用于并行的计算的逻辑硬件,尤其是低成本的可编程逻辑器件(FPGA)来实现至少一部分的目标追踪功能,能够大幅降低系统的功耗和成本,使得本发明的目标追踪系统尤其适用于通常具有小型化要求的可移动设备。在一个实施例中,逻辑硬件上的输入和输出都为定点数,从而在满足逻辑硬件固有的运行要求的同时,大幅减小计算量,并相应地提升计算效率。

基于计算机视觉的目标检测和追踪系统通常需要包括两个方面:感兴趣区域的检出以及目标的识别与追踪。因此,本发明结合图2示出了根据本发明另一个实施例的目标追踪系统200的示意图。系统200除了包括与图1的目标追踪模块110相对应的目标追踪模块210之外,还可以包括目标检测模块220和图像输入模块230中的至少一种,由此可以分别把包含目标的区域的检出功能以及区域图截取和送入功能并入系统200中。

具体地,目标检测模块220可以用于在当前视频图像帧中检测包含目标的局部图,即,用于实现如上所述的感兴趣区域的检测/定位功能。局部图的检测包括确定该局部图在视频图像帧中的坐标。

另外,图像输入模块230则可根据局部图在当前视频图像帧中的坐标,从当前视频图像帧中截取局部图,并将该局部图输入到目标追踪模块210。在目标检测模块和图像输入模块同时存在的系统中,图像输入模块230可以用于将目标检测模块220定位/检测出的局部图送入目标追踪模块210。虽然图2中同时示出了目标检测模块和图像输入模块两者,但应该理解的是,仅包括目标检测模块、仅包括图像输入模块或者是包括这两者的情况可以分别对应于本发明的不同实施例,并且全都能够实现本发明的至少部分提升计算效率并降低功耗的有益效果。

通常情况下,目标检测模块220在检测开始时检测出包含有目标的局部图并由图像输入模块230将局部图送入目标追踪模块210。随后,目标检测模块220可以保持空闲,目标追踪模块210则可以自行预测包含同一目标的一下局部图的坐标并持续进行后续的目标追踪。

但是某些情况下,仍需要目标检测模块进行局部图的检出。例如,在接收到来自用户的输入指令时,或是系统判定目标丢失时。另外,有些系统还会规定定时重检,即在距离上次将当前视频图像帧输入到目标检测模块已过去预定时间段的情况下,由目标检测模块重新检测局部图。

可选地,目标追踪系统200还可以包括目标丢失判断模块240。该目标丢失判断模块240在局部图包括目标的置信度低于阈值时判定目标丢失。目标丢失判断功能尤其适用于背景时常变化或是目标快速运动的情况。例如,目标被背景中的障碍物遮挡而导致的丢失。在判定目标丢失后,可以如上所述由目标检测模块220再次进行针对特定目标的局部图检测。随后,目标追踪模块210可以根据检测出的局部图进行目标的提取与后续追踪。

在应用中,目标追踪模块可以进一步地包括子模块来提升目标追踪的效率和结果准确性。图3示出了根据本发明一个实施例的目标追踪模块310的组成示意图。图中的目标追踪模块310包括追踪算法模块312。该追踪算法模块312基于当前视频图像帧中的局部图以及局部图在当前视频图像帧中的坐标来追踪目标,例如,确定目标的位置和大小。

优选地,为了减小追踪算法模块312需要计算的数据维数,目标追踪模块310还可以在追踪算法模块312之前设置图像特征提取模块311。图像特征提取模块311从局部图中提取与目标相关的图像特征,并且将这些图像特征输入追踪算法模块312。通过图像特征提取能够得到反映模式本质属性的特征,因此能够大大方便后续追踪算法对特定目标的追踪。

如上已经结合图1-图3描述了根据本发明的目标追踪系统的模块构成例。应该理解的是,本领域技术人员可以对上述实施例中的各类特征进行不同的排列组合以符合实际应用的需要。这些不同的组合都位于本发明所附权利要求涵盖的范围内。

如下,我们见结合具体的算法应用来描述本发明的原理,尤其是根据具体应用来灵活划分软硬件任务,由此实现实时、准确且尽可能低功耗并紧凑的目标检测系统。

如上所述,在本发明的一些实施例中,目标追踪系统可以包括目标检测模块,用于从当前图像视频帧中检测出包括目标的局部图。在现有技术中,局部图的划分通常分为基于运动、基于距离、基于图像特征和基于摄像机参数四种方法。其中,基于图像特征的方法指通过检测与目标相关的图像特征从而得到局部图,并且由于其适用范围广并且结果鲁棒而得到越来越广泛的应用。

人工神经网络(Artificial Neural Networks,ANN)也简称为神经网络(NNs),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。近年来神经网络发展很快,被广泛应用于很多领域,包括图像识别、语音识别,自然语言处理,天气预报,基因表达,内容推送等等。在学术界和工业界已经证明,经过海量数据的训练,神经网络算法可以获得很高的目标检测精度。对于本发明的技术方案,使用卷积神经网络算法(CNN)进行基于图像特征的目标检测是一个很好的选择。因此,在一个实施例中,本发明的目标检测模块采取卷积神经网络(CNN)来检测当前视频图像帧中包括目标的局部图。此外,由于CNN进行的是分布式地并行计算,因此,通过逻辑硬件,尤其是FPGA来实现目标检测功能具有天然的计算优势,并且相比于软件执行,能够实现更低的功耗。

CNN从本质上来讲是一种分类器,其从输入的图像中提取的像素值和/或特征值,并输出某一物体是否为特定目标的一个判断。很多情况下,给出的是该物体为特定目标的概率值。在本发明中,可以使用一系列正负样本训练来对目标检测模块进行训练。在训练之后,CNN就可以对输入的图像帧(未知样本)进行处理,以一定的概率确定包含目标的局部图。

在一个实施例中,图像特征提取模块可以采取方向梯度直方图(HOG)算法进行图像特征提取。在具体应用中,例如在行人检测与追踪中,可以在行人的头部及四肢等重点区域计算HOG,从而在检测率基本不变的情况下,有效地减少了向量维数以大幅提升检测速度。

由图像特征提取模块所提取的图像特征随后可以输入通过核心化相关滤波器(KCF)算法实现的追踪算法模块,由此实现对目标的实时追踪。图像特征提取模块的全部以追踪算法模块的至少一部分通过逻辑硬件实现。优选地,追踪算法模块可以包括傅立叶变换单元、傅立叶逆变换单元、点乘单元和点除单元。其中尤其适用于逻辑硬件实现的傅立叶变换单元、傅立叶逆变换单元和点乘单元通过逻辑硬件实现。在一个实施例中,点除单元可由软件实现。在另一个实施例中,如果逻辑硬件资源足够,也可以在逻辑硬件上实现上述点除单元。

在一个实施例中,本发明的目标追踪系统可以在包括通用处理器和逻辑硬件的片上系统(SoC)上实现。其中,逻辑硬件优选是FPGA。例如,本发明的技术方案可由包括FPGA和ARM核的SoC实现。

在具体应用中,诸如图像输入模块和目标丢失判断模块这类更适用于软件实现的功能可由通用处理器通过软件编程实现。例如,通用处理器中可以包括软件实现的控制器模块。控制器可用于控制整个系统的运转,如视频图像的输入输出、模块调用控制等。因此,该控制器模块可以实现上述图像输入和/或目标丢失判断的功能。

由CNN实现的目标检测功能优选由逻辑硬件实现。目标追踪模块的功能则优选至少一部分由逻辑硬件实现。在目标跟踪模块包括图像特征提取模块(例如,HOG算法)和追踪算法模块(KCF)的情况下,例如可以根据逻辑硬件的使用情况将图像特征提取模块的全部以及追踪算法模块的一部分在逻辑硬件上实现。

由此,通过对算法的创造性选择(即,使用CNN进行目标检测,HOG进行特征提取,并且使用KCF进行目标坐标的追踪),并且在软硬件上灵活恰当地分配运算(例如,将适于并行运算的算法至少部分在逻辑硬件上实现,而例如控制等更适于软件实现的功能则由处理器实现),能够以更高的功效实现目标的实时精确检测与追踪。由于检测和追踪的效率更高,在一个实施例中,本发明的目标追踪系统还适用于对多个目标的追踪。例如,对于一个具有200fps处理能力的系统而言,该目标追踪系统可以例如根据输入的视频图像帧速来实现例如以20fps的精度对10个目标的同时追踪。另外,需要澄清的是,本发明的目标追踪模块可以根据当前帧的局部图及其坐标预测下一帧的局部图坐标。这里的“下一帧”指代的是输入系统中以供针对该特定目标进行处理的“下一”帧,而非图像拍摄源所拍摄的下一帧或是简单送入该系统的下一帧。

如上结合附图和具体算法描述了本发明的原理。基于图像的目标检测算法需要的计算并行度很高。现有的技术方案中通常是采用神经网络算法,在通用处理器(CPU)或者图形处理器(GPU)来实现,然而这会带来很大的性能、功耗和成本代价,尤其无法适应移动端产品的计算资源小、能耗低、成本低的要求,从而给移动端产品上实现跟踪检测带来很大困难。基于图像的目标追踪算法和检测算法总体的运算量很大,特别是对于低成本的可编程逻辑器件FPGA而言难以单独实现。在考虑性能、成本、计算资源和功耗的条件下,单独使用处理器或是单独使用FPGA都很难实现一个优质的目标检测/追踪系统。

本申请在、基于FPGA片上系统(SoC)提出一种以灵活划分软硬件计算任务为前提,实现高效灵活的控制逻辑和计算性能,以卷积神经网络算法(CNN)和追踪算法(KCF)为基础的,完整的目标检测和追踪系统。在移动端产品上,可以实现满意的性能,并将成本和功耗维持在较低水平。另外,由于本申请的技术方案能够以少量计算资源获得高性能,因而还适用于非移动端产品(如服务器),以便在更多的计算资源下,可以实现更高的追踪性能。

【应用例】

如下将结合图4描述根据本发明的一个具体应用。图4示出了根据本发明一个实施例的目标追踪系统的运行原理图。图4示出了的系统能够以很小的硬件资源消耗实现高性能的实时目标检测和追踪。具体地,该系统可以是一种基于FPGA的片上系统的实时目标检测和跟踪的软硬件协同系统,其中在FPGA上的输入和输出可以皆为定点,以便进一步简化计算并提示计算效率。该系统包含:目标检测模块,用于全局定位目标的位置和大小,在系统开始、用户输入、定时期满或目标丢失时,进行对目标进行重新定位。在此例中,采用卷积神经网络算法(CNN)实现该目标检测模块。

该系统还包含:目标跟踪模块,用于对目标进行实时跟踪,在目标检测(即,检测出包括目标的局部图)以后,对目标进行实时跟踪。在此例中,采用方向梯度直方图算法(HOG)对图像进行特征提取,并且使用核相关滤波器算法(KCF)根据图像特征对目标位置和大小进行实时预测。

控制模块,用于控制整个系统的运转,如视频图像的输入输出、模块调用控制等等。例如,上述的图像输入模块可以是控制模块的一部分。

现将结合图4描述实例系统的具体运行步骤:

步骤1:系统开始运行,调用CNN,对输入全图进行目标定位,得到目标在视频图像中的位置和尺寸(即,局部图检测)。

步骤2:根据上一步计算的目标位置及尺寸,对输入视频图像的部分图通过HOG算法进行特征计算。(根据KCF算法需求,这一模块在同一图片中会运行四次)

步骤3:HOG模块将计算得到的特征图发送给KCF计算模块。倘若CNN和HOG在FPGA上占用了较多资源,可以将KCF计算任务划分给微处理器端。KCF整个计算过程由微处理器控制。

步骤4:KCF计算得到的目标的位置和尺寸发送给控制器,控制器在输出视频图像上进行标记。

步骤5:在KCF每次计算完成后,控制器都会根据计算中附带的置信概率和预先设定的阈值进行比较,若小于阈值,则认为跟踪丢失,系统会从步骤1开始执行。若置信概率大于阈值则认为正常,系统会从步骤2开始运行。

本系统可以动态修正跟踪对象,在跟踪丢失时,重新调用全图目标检测的算法,对目标进行重新定位。另外,本系统还解决了目标追踪系统的计算资源分配问题。其能够根据FPGA资源大小,对算法的实现进行灵活的软硬件任务划分,可以根据现有的硬件资源,将较大规模的系统映射到硬件上实现,在已有的硬件结构上获得尽可能接近极限值的性能。

上文中已经参考附图详细描述了根据本发明的目标追踪系统。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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