发明内容
因此,本发明的目的是解决上述现有技术中的一个或多个问题和缺点。
为了解决现有技术中的问题,本发明的目的是提供一种简单,稳定的目标自动跟踪装置和方法。
根据本发明的一个方面,提供了一种运动目标自动跟踪装置,包括:跟踪目标选择单元,用于选择所述运动目标自动跟踪装置所跟踪的运动目标;目标特征初始化单元,用于对由跟踪目标选择单元选择的运动目标进行特征初始化,来获得运动目标的特征模板;模板匹配单元,用于根据由目标特征初始化单元所初始化的运动目标的特征模板进行基于特征的模板匹配,来产生图像匹配信息;运动属性计算单元,用于计算运动目标的特征模板的运动属性;模板更新单元,用于根据运动属性计算单元计算的运动目标的特征模板的运动属性来进行特征模板的更新;和目标搜寻单元,用于根据运动属性计算单元计算的运动目标的特征模板的运动属性来进行所要跟踪目标的搜寻;和控制模块,其用于根据模板匹配单元产生的图像匹配信息产生控制命令,来进行运动目标的自动跟踪。
在本发明中,所述运动属性计算单元进一步包括:差分图像计算部分,其对于前一帧图像进行图像配准以得到当前帧的补偿图,并将当前帧的补偿图与当前帧的图像进行差分得到二值图像;比例计算部分,在特征模板相对应的矩形框内计算差分图像的前景值,并统计前景点数占整个矩形框的比例;其中,所述运动属性计算单元在所述比例大于一阈值时判定运动属性为动态的,且在所述比例小于一阈值时判定运动属性为静态的。
在本发明中,当所述运动属性计算单元判定所述特征模板的运动属性是动态的时,由所述模板更新单元进行所述特征模板的更新。
在本发明中,当所述运动属性计算单元判定所述特征模板的运动属性是静态时,由所述目标搜寻单元进行目标的特征模板的搜寻,以进行新的跟踪或结束本次跟踪。
在本发明中,当该目标搜寻单元搜寻到原来的运动目标时,开始新的跟踪。
在本发明中,当该目标搜寻单元没有搜寻到原来的运动目标时,表明目标离开自动跟踪范围,结束本次跟踪。
根据本发明的另一方面,提供了一种运动目标自动跟踪方法,包括:图像分析步骤,其采用基于特征点的跟踪方法对作为跟踪目标的图像进行图像分析,以产生用于运动目标自动跟踪的控制信息,所述图像分析步骤进一步包括:跟踪目标选择步骤,用于选择所述运动目标自动跟踪方法所跟踪的运动目标;目标特征初始化步骤,用于对由跟踪目标选择步骤选择的目标进行特征初始化,来获得所述运动目标的特征模板;模板匹配步骤,根据由目标特征初始化步骤所初始化的运动目标的特征模板进行基于特征的模板匹配,来产生图像匹配信息;运动属性计算步骤,计算所述运动目标的特征模板的运动属性;目标漂移判定步骤,根据运动属性计算步骤所计算的特征模板的运动属性,判定目标是否发生了漂移;模板更新步骤,其根据目标漂移判定步骤进行的目标没有发生漂移的判定,进行特征模板的更新;和目标搜寻步骤,其根据目标漂移判定步骤进行的目标已经发生漂移的判定,进行所跟踪的目标搜寻;控制步骤,用于根据图像分析步骤产生的图像匹配信息产生控制命令,来进行运动目标的自动跟踪。
在本发明中,所述运动属性计算步骤进一步包括:差分图像计算步骤,对于前一帧图像进行图像配准以得到当前帧的补偿图,并将当前帧的补偿图与当前帧的图像进行差分得到二值图像;比例计算步骤,在特征模板相对应的矩形框内计算差分图像的前景值,并统计前景点数占整个矩形框的比例。
在本发明中,所述目标漂移判定步骤在所述比例计算步骤所计算的所述比例大于一阈值时判定运动属性为动态的,且在所述比例小于一阈值时判定运动属性为静态的。
本发明采用基于特征点跟踪的方法,对于运动目标微小运动甚至暂时静止的情况也能获得较好的跟踪,能有效抑制背景运动的干扰,获得比较平滑稳定的跟踪。
具体实施方式
为了实现以上根据本发明的目的,在本发明的运动目标自动跟踪的装置和方法中,其采用的硬件为高速球,且主要包含数字信号处理(DSP),ARM和电机及镜头部分。
图1是示出根据本发明的运动目标跟踪装置100的总体配置的系统框图。如图1所示,运动目标跟踪装置100包括图像分析模块101、控制模块102和步进电机和镜头103。在图1的运动目标跟踪装置100中,图像分析模块101在DSP上,控制模块102在ARM上。其中,控制模块102根据图像分析模块101得到的控制信息发送控制命令到步进电机和镜头103以驱动步进电机和镜头103,从而不断调整镜头的摇摄值、俯仰值和倍率值,使目标始终以预定尺寸处于图像视野的中心。这里,镜头的摇摄值表示镜头的摇摄角(即水平方向)的值,镜头的俯仰值表示镜头的俯仰角(即垂直方向)的值,且镜头的倍率值表示镜头的倍率(即,前后方向的放大/缩小倍率)的值。并且,图像分析模块101又从步进电机和镜头103接收图像,以进行图像分析。
这里,图像分析模块101先在视野较大的预置位检测异常目标,如果有检测到异常目标后,就提取目标的特征模板,并依此在以后的图像中搜索目标。
图2是示出根据本发明的运动目标跟踪装置100的图像分析模块101的具体配置的框图。
如图2所示,图像分析模块101包括跟踪目标选择单元201、目标特征初始化单元202、模板匹配单元203、运动属性计算单元204、模板更新单元205和目标搜寻单元206。下面,将对图像分析模块101的各个单元作具体描述如下。
在跟踪目标选择单元201中,选择要跟踪以进行图像分析的目标。这里,选择要跟踪的目标有两种方式:一是采用人机交互的方式在视频中指定目标,人员可以利用鼠标点击视频中感兴趣的目标,然后快球自动去跟踪。二是通过事件检测自动获取跟踪目标,如有异常目标触发了跨越警戒线,进入警戒区域等预先设置好的警戒规则等。
目标特征初始化单元202连接到跟踪目标选择单元201,并对于跟踪目标选择单元201所选择的要进行图像分析的目标进行特征初始化。由于本发明采用基于特征的跟踪方式,因此目标的特征模板为目标特征点附近的一块灰度区域,而特征点则为人工指定目标或者检测目标的中心点。
模板匹配单元203连接到目标特征初始化单元202,其基于由目标特征初始化单元202进行初始化的特征,进行基于特征的模板匹配,根据目标的模板,在当前图像寻找与目标最匹配的区域。在本发明的模板匹配单元203中,采用Lucas-Kanade特征点跟踪方法。Lucas-Kanade算法的目的是在当前图像中搜索位移量使得与对应点相关的邻域的匹配误差最小。假设相邻两帧图像I1,I2,对I1中的特征点p=(x,y)T,偏移量为d=(u,v)T,则在I2中对应的特征点为p+d,在p的局部邻域N(P)上定义如下的代价函数:
公式1
其中w(r)为权函数。
对其优化得到所求解:d=G-1h,其中
公式2
公式3
ΔI=I1-I2, 公式4
公式5
Lucas-Kanade算法是一种Newton梯度下降法,通过多次迭代可以得到较好的解。
在自动跟踪过程中,由于倍率的变化,目标在图像中的位置可能变化较大,为增加Lucas-Kanade算法搜索的稳定性,对图像进行金字塔分解,对目标进行由粗到细的搜索。
运动属性计算单元204连接到模板匹配单元203,计算运动目标的模板运动属性。在实际监控场景应用中,目标在运动时,目标的姿态和环境的光照等都会发生变化,如果目标的线索模板不更新,没有及时反映目标的变化,线索模板的可靠性降低,容易导致跟踪失败。因此,将目标最新的匹配值也包含在目标模板中来,具体公式如下:
Tk(x,y)=(1-α)Tk-1(x,y)+αIk(x,y) 公式6
其中Tk-1(x,y)和Tk(x,y)为目标k-1时刻和k时刻的模板,Ik(x,y)为目标当前时刻的匹配值,α为更新率,即将新的匹配值融合到灰度模板中的速率,当α比较大时,新的观测值很快就融入灰度模板,当如果前一时刻目标跟踪不是很准确,则这不准确的观测值也很快融入灰度模板,形成一个正反馈,容易导致跟踪失败。而当α比较小时,如果新的观测值没有及时反映到灰度模板中,也容易造成跟踪失误。因此选取一个合适的更新率对整个跟踪结果起着重要的作用,然而这个更新率很难做到自适应的取值。
由于目标特征模板基本上都是漂移到背景上,本发明采用模板的运动属性来判断目标是否发生漂移。如果特征模板运动属性是动的,则表明没有发生漂移,在正常跟踪,模板更新单元205工作。如果特征模板运动属性为静态的,则表明发生了漂移,目标搜寻单元206工作。
对于模板的运动属性计算,所述运动属性计算单元204可进一步包括差分图像计算部分301和比例计算部分302。
其中,差分图像计算部分301计算补偿后的差分图像,其将前一帧图通过图像配准的方法补偿得到相对于当前帧的补偿图,再与当前帧图像差分得到二值图像。由于不动的背景已经通过图像配准方式得到补偿,因此二值图像显示的是运动目标的信息。
并且,比例计算部分302计算运动属性的比例,其中,在特征模板相对应的矩形框里计算差分图像的前景值,统计前景点数占整个矩形框的比例,比例如果大于一定阈值则运动属性为动态的,如果小于一定阈值则运动属性为静态的。
在模板更新单元205中,如果特征模板运动属性是动态的,则表明目标没有发生漂移,在正常跟踪,进行特征模板更新,将当前的观测值作为目标模板,即α=1,然后开始下一帧的跟踪。
在目标搜寻单元206中,如果特征模板运动属性是静态的,则有两种可能性,一是模板漂移到背景上,二是目标离开快球的监控范围,真正消失了。通过帧差法重新寻找目标,如果搜寻到原来的运动目标的话则表明此前是模板发生漂移,开始新的跟踪。如果没有搜寻到原来的运动目标的话,则表明目标已经消失,结束此次跟踪。
随后,控制模块102将来自图像分析模块101的图像匹配的信息翻译成步进电机的控制命令,驱动镜头始终对着目标。
图3是示出了本发明的运动目标跟踪装置100的控制模块102的具体配置的框图。
如图3所示,控制模块102包括图像坐标转化单元401、速度控制单元402和倍率控制单元403。下面,将详细描述控制模块102的各个单元。
在图像坐标转化单元401中,由于图像分析模块101传递给控制模块102的信息是目标在当前图像的坐标信息,是基于图像空间的,而快球控制的空间是PTZ空间,因此需要将图像坐标转化到PTZ坐标。如果已知快球的内部参数,如CCD感光元件大小和焦距,在图像坐标转化单元401中,可以利用3D圆型旋转的方式得到图像坐标和PTZ坐标之间的对应关系。
速度控制单元402与图像坐标转化单元401连接,并从图像坐标转化单元401接收目标的PTZ坐标,从而控制电机的转动。如果采用绝对值的方式控制,则可能会造成画面不连续的情况。为了得到平稳的图像,本发明采用基于速度的控制方法,将得到的目标PT值与当前电机的PT值进行差分,假设Pnew,Tnew为目标在快球坐标系下的PT值,Pcur,Pcur为快球当前的PT状态值,Δt为处理一帧所需的时间,可以根据下面的公式确定定电机运动的方向和速度大小。
公式7
公式8
随后,在倍率控制单元403中,由于在跟踪阶段中,运动目标离快球的距离会发生变化,因此需要进行适当的倍率控制,如果目标远离快球,则放大倍率,如果目标走近快球,则缩小倍率,保证目标始终以一定的尺寸在场景视野中。本发明假设监控视野为地平面,采用如图4所示的简单的模型,这里,图4示出了倍率控制的示意图。
如图4所示,假设目标的距离和倍率是成正比的,满足以下关系:
公式9
其中Z0,T0为根据实际场景预先确定的缩放系数,因此如果知道了T1,也就可以求出此时的倍率Z1,然后控制模块将镜头设置为Z1的倍率。
下面,将描述根据本发明的运动目标自动跟踪方法。在本发明的运动目标自动跟踪方法中,基于对于目标图像进行图像分析的结果进行控制,从而不断调整镜头的摇摄值、俯仰值和倍率值,使目标始终以一定的尺寸处于图像视野的中心。
接下来将参考图5的流程图对本发明的运动目标自动跟踪方法中的图像分析进行具体描述。
在步骤S10,选择要跟踪的目标,如上所述,选择要跟踪的目标有两种方式:一是采用人机交互的方式在视频中指定目标,人员可以利用鼠标点击视频中感兴趣的目标,然后快球自动去跟踪。二是通过事件检测自动获取跟踪目标,如有异常目标触发了跨越警戒线,进入警戒区域等预先设置好的警戒规则。
随后,在步骤S20,初始化目标特征。由于本发明采用基于特征的跟踪方式,因此目标的特征模板为目标特征点附近的一块灰度区域,而特征点则为人工指定目标或者检测目标的中心点。
之后,在步骤S30,进行基于特征的模板匹配。在本发明中,根据目标的模板,在当前图像寻找与目标最匹配的区域。本发明采用Lucas-Kanade特征点跟踪方法。由于在上文中已经描述了Lucas-Kanade方法,这里将省略对其的重复描述。
此外,同上述相同,在自动跟踪过程中,由于倍率的变化,目标在图像中的位置可能变化较大,为增加Lucas-Kanade算法搜索的稳定性,对图像进行金字塔分解,对目标进行由粗到细的搜索。
随后,在步骤S40,计算运动目标的模板的运动属性。这里,运动目标的模板的运动属性的计算同上述结合图像分析模块101的运动属性计算单元204所述的相同,这里,将省略其重复描述。
随后,在步骤S50,本发明通过上述步骤S40中计算的模板的运动属性来判断目标是否发生漂移。如果特征模板的运动属性是动的,则表明没有发生漂移,进入步骤S60中正常跟踪,对模板进行更新。如果特征模板运动属性为静态的,则表明发生了漂移,进入步骤S70。
如上所述,模板的运动属性计算可包括计算补偿后差分图像和计算运动属性的比例的两个具体步骤,其与上述差分图像计算部分和比率计算部分中的描述相同,这里,将省略其重复描述。
随后,在步骤S60,当特征模板运动属性是动态的时,表明目标没有发生漂移,在正常跟踪,进行特征模板更新,将当前的观测值作为目标模板,即α=0,然后开始下一帧的跟踪。
并且,在步骤S70,当特征模板运动属性是静态的时,对于目标进行搜寻。并在步骤S80判断是否找到目标。例如,通过帧差法重新寻找目标,如果搜寻到原来的运动目标的话则表明此前是模板发生漂移,开始新的跟踪,即,返回到初始化目标特征的步骤。而如果没有搜寻到原来的运动目标的话,则表明目标已经消失,在步骤S90结束此次跟踪。
之后,在本发明的运动目标跟踪方法中,根据上述图像分析步骤中所产生的控制信息,对于快球进行自动控制。在本发明中,上述图像分析中采用基于特征点跟踪的方法,对于运动目标微小运动甚至暂时静止的情况也能获得较好的跟踪,能有效抑制背景运动的干扰,获得比较平滑稳定的跟踪。
在说明书中说明的一系列操作能够通过硬件、软件、或者硬件与软件的组合来执行。当由软件执行该一系列操作时,可以把其中的计算机程序安装到内置于专用硬件的计算机中的存储器中,使得计算机执行该计算机程序。或者,可以把计算机程序安装到能够执行各种类型的处理的通用计算机中,使得计算机执行该计算机程序。
例如,可以把计算机程序预先存储到作为记录介质的硬盘或者ROM(只读存储器)中。或者,可以临时或者永久地存储(记录)计算机程序到可移动记录介质中,诸如软盘、CD-ROM(光盘只读存储器)、MO(磁光)盘、DVD(数字多功能盘)、磁盘、或半导体存储器。可以把这样的可移动记录介质作为封装软件提供。
本发明已经参考具体实施例进行了详细说明。然而,很明显,在不背离本发明的精神的情况下,本领域技术人员能够对实施例执行更改和替换。换句话说,本发明用说明的形式公开,而不是被限制地解释。要判断本发明的要旨,应该考虑所附的权利要求。