CN101599178A - 跟踪点检测设备和方法、程序及记录介质 - Google Patents
跟踪点检测设备和方法、程序及记录介质 Download PDFInfo
- Publication number
- CN101599178A CN101599178A CNA2009101426617A CN200910142661A CN101599178A CN 101599178 A CN101599178 A CN 101599178A CN A2009101426617 A CNA2009101426617 A CN A2009101426617A CN 200910142661 A CN200910142661 A CN 200910142661A CN 101599178 A CN101599178 A CN 101599178A
- Authority
- CN
- China
- Prior art keywords
- frame
- pixel
- time
- trace point
- unit
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明涉及跟踪点检测设备和方法、程序及记录介质。该跟踪点检测设备包括:帧抽取单元,用于对由时间上连续的多个帧图像组成的运动图像的帧间隔进行抽取;第一检测单元,用于在被抽取的运动图像的两个连续帧中检测与时间上前一帧的预定像素相对应的时间上后一帧的像素;前向检测单元,用于在与时间相同的方向上、在每个被抽取的帧上检测与被抽取的运动图像的时间上前一帧的预定像素相对应的像素;反向检测单元,用于在与时间相反的方向上、在每个被抽取的帧上检测与被抽取的运动图像的时间上后一帧的检测出的像素相对应的像素;和第二检测单元,用于采用在前向和反向上检测出的像素位置来检测每个被抽取的帧的预定像素。
Description
技术领域
本发明涉及跟踪点检测设备和方法、程序及记录介质,尤其涉及允许用户简单、可靠地跟踪预期的跟踪目标的跟踪点检测设备和方法、程序及记录介质。
背景技术
迄今为止,已有大量的用于跟踪运动图像内由用户指定的目标的技术,例如在日本未实审公开的专利申请No.2005-303983中已提出了这样的技术。
在日本未实审公开的专利申请No.2005-303983中提出的技术采用这样一种方法,其中最初指定的跟踪目标的运动被检测,并且跟踪点根据该运动而发生移动。因此,存在这样的问题,即当跟踪目标涉及到旋转或变形时,跟踪点的运动试图与该旋转或变形保持一致,由此跟踪点逐渐偏离跟踪目标。
相应地,已提出了一种技术,其中当用户判定尚未获得预期的跟踪结果时,用户对跟踪点执行修正操作,从而修正跟踪点的偏离(例如参考日本未实审公开的专利申请No.2007-274543)。
发明内容
然而,若采用日本未实审公开的专利申请No.2007-274543的技术,用户不得不确定跟踪点的偏离,修正跟踪点的偏离的操作也是由用户完成的。因此存在用户负担过重的问题。
现在的需求是允许用户简单、可靠地跟踪预期的跟踪目标。
根据本发明的一个实施例,一种跟踪点检测设备包括:帧抽取(decimation)单元,被配置为对由时间上连续的多个帧图像组成的运动图像的帧间隔进行抽取;第一检测单元,被配置为在帧被抽取后的运动图像的两个连续帧中检测与时间上前一帧的预定像素相对应的时间上后一帧的像素作为跟踪点;前向检测单元,被配置为执行前向检测,即在与时间相同的方向上依次在被抽取的帧中的每一帧上检测与帧被抽取后的运动图像的时间上前一帧的预定像素相对应的像素;反向检测单元,被配置为执行反向检测,即在与时间相反的方向上依次在被抽取的帧中的每一帧上检测与帧被抽取后的运动图像的时间上后一帧的所述检测出的像素相对应的像素;和第二检测单元,被配置为通过采用代表前向检测所检测出的像素的位置和反向检测所检测出的像素的位置的信息进行的运算,来检测每个被抽取的帧的预定像素作为跟踪点。
该跟踪点检测设备还可以包括:缩小单元,被配置为缩小由时间上连续的多个帧图像组成的运动图像;其中帧抽取单元对缩小后的运动图像的帧间隔进行抽取;并且其中第一检测单元和第二检测单元分别检测缩小后的运动图像的各帧的跟踪点。
该跟踪点检测设备还可以包括转换单元,被配置为将由第二检测单元检测出的跟踪点的像素位置转换为未被缩小的运动图像的各帧的跟踪点的像素位置。
该跟踪点检测设备还可以包括:候选设置单元,被配置为在帧被抽取的运动图像的时间上前一帧中设置多个像素用作候选;其中第一检测单元检测时间上后一帧中与时间上前一帧的每个用作候选的像素相对应的每个像素作为跟踪点候选;并且其中前向检测单元在前向上、在每个被抽取的帧上检测与时间上前一帧中用作候选的每个像素相对应的每个像素;并且其中反向检测单元在反向上、在每个被抽取的帧上检测与时间上后一帧中被检测为所述跟踪点候选的像素相对应的每个像素;并且其中第二检测单元通过采用代表前向检测所检测出的每个像素的位置和反向检测所检测出的每个像素的位置的信息进行的运算,在每个被抽取的帧上检测多个像素中的每一个用作跟踪点候选。
在代表由候选设置单元设置的、时间上前一帧上用作候选的多个像素中的预定像素的位置的信息;代表时间上后一帧上被第一检测单元检测为跟踪点候选的、与所述预定像素相对应的像素的位置的信息;代表每个被抽取的帧上由前向检测单元在前向上检测出的、与所述预定像素相对应的像素的位置的信息;代表每个被抽取的帧上由反向检测单元在反向上检测出的、与所述预定像素相对应的像素的位置的信息;代表所述预定像素和与所述跟踪点候选相对应的、每个被抽取的帧上被第二检测单元检测为跟踪点候选的像素的位置的信息被相互关联并被取作一组跟踪点候选群的情况下,该跟踪点检测设备还可以包括存储单元,被配置为存储与由候选设置单元设置的、用作候选的像素的数量相同组数的跟踪点候选群。
第一检测单元可以计算时间上前一帧中以预定像素为中心、由多个像素组成的一个块的像素值和时间上后一帧中以与所述预定像素相对应的位置上的像素周围的多个像素中的每一个为中心、由多个像素组成的多个块的像素值之间的绝对差之和,在所述多个块中检测用作所述绝对差之和的值最小的块的中心的像素作为跟踪点。
第一检测单元可以设置以运动检测像素范围内的每个像素为中心、由多个像素组成的多个块,该运动检测像素范围是以时间上前一帧的预定像素为中心的预定区域,检测与所述运动检测像素范围内的每个像素相对应的跟踪点的像素,并且检测基于与所述运动检测像素范围内的每个像素相对应的跟踪点的像素的坐标值计算出的坐标值作为时间上后一帧中与时间上前一帧的预定像素相对应的跟踪点的位置。
该跟踪点检测设备还可以包括:差值计算单元,被配置为计算在以时间上比时间上前一帧更靠前的帧中预先检测出的跟踪点的像素为中心的预定区域内的像素值和以由候选设置单元设置的、时间上前一帧的用作候选的多个像素中的每一个为中心的预定区域内的像素值之间的绝对差之和的值;和距离计算单元,被配置为基于被存储在存储单元中的、代表在前向上检测出的每个被抽取的帧的像素位置的信息以及代表在反向上检测出的每个被抽取的帧的像素位置的信息,计算时间上位于被抽取的帧的中间的帧上的、在前向上检测出的像素和在反向上检测出的像素之间的距离。
计算出的绝对差之和的值以及计算出的距离可以分别与预定值进行比较,从而从由候选设置单元设置的用作候选的多个像素中检测出满足预先设定的条件的多个像素,并且基于满足该预先设定的条件的每个像素的位置的信息来确定由候选设置单元设置的用作候选的多个像素中的一个像素,并且在存储单元存储的多个跟踪点群中,与被确定的一个像素相对应的跟踪点群被取作每一帧上的跟踪点。
该跟踪点检测设备还可以包括:帧间隔增大/减小单元,被配置为在帧被抽取后的运动图像的连续两帧当中,基于以时间上前一帧的预定像素为中心的预定区域内的像素值和以时间上后一帧中由第一检测单元检测出的像素为中心的预定区域内的像素值之间的绝对差之和的值,来增大/减小要由帧抽取单元抽取的帧间隔。
该跟踪点检测设备还可以包括:模板保存单元,被配置为保存预先拍摄的图像作为模板;对象提取单元,被配置为从运动图像的预定帧的图像中提取未显示在模板上的对象;和像素确定单元,被配置为从提取出的对象的图像中确定用于检测跟踪点的像素。
第一检测单元可以包括:区域提取单元,被配置为在帧被抽取后的运动图像中、基于关注帧、该关注帧的时间上前一帧以及该关注帧的时间上后一帧来提取与运动对象相对应的区域;和区域内检测单元,被配置为从区域提取单元提取出的区域中检测与时间上前一帧的预定像素相对应的关注帧的像素。
区域提取单元可以包括:第一画面位置移动单元,被配置为基于在关注帧和该关注帧的时间上前一帧之间获得的画面运动向量来移动该关注帧的画面位置;第一帧差计算单元,被配置为计算画面位置被移动的关注帧的图像和该关注帧的时间上前一帧的图像之间的差;第二画面位置移动单元,被配置为基于在关注帧和该关注帧的时间上后一帧之间获得的画面运动向量来移动该关注帧的画面位置;第二帧差计算单元,被配置为计算画面位置被移动的关注帧的图像和该关注帧的时间上后一帧的图像之间的差;和AND区提取单元,被配置为提取与第一帧差计算单元计算出的差相对应的像素和与第二帧差计算单元计算出的差相对应的像素之间的AND区,作为与对象相对应的区域。
根据本发明的一个实施例,一种跟踪点检测方法包括以下步骤:对由时间上连续的多个帧图像组成的运动图像的帧间隔进行抽取;在帧被抽取后的运动图像的两个连续帧中检测与时间上前一帧的预定像素相对应的时间上后一帧的像素作为跟踪点;前向检测步骤,即在与时间相同的方向上依次在被抽取的帧中的每一帧上检测与帧被抽取后的运动图像的时间上前一帧的预定像素相对应的像素;反向检测步骤,即在与时间相反的方向上依次在被抽取的帧中的每一帧上检测与帧被抽取后的运动图像的时间上后一帧的所述检测出的像素相对应的像素;以及通过采用代表前向检测所检测出的像素的位置和反向检测所检测出的像素的位置的信息进行的运算,检测每个被抽取的帧的预定像素作为跟踪点。
根据本发明的一个实施例,一种使计算机用作跟踪点检测设备的程序,该跟踪点检测设备包括:帧抽取单元,被配置为对由时间上连续的多个帧图像组成的运动图像的帧间隔进行抽取;第一检测单元,被配置为在帧被抽取后的运动图像的两个连续帧中检测与时间上前一帧的预定像素相对应的时间上后一帧的像素作为跟踪点;前向检测单元,被配置为执行前向检测,即在与时间相同的方向上依次在被抽取的帧中的每一帧上检测与帧被抽取后的运动图像的时间上前一帧的预定像素相对应的像素;反向检测单元,被配置为执行反向检测,即在与时间相反的方向上依次在被抽取的帧中的每一帧上检测与帧被抽取后的运动图像的时间上后一帧的所述检测出的像素相对应的像素;和第二检测单元,被配置为通过采用代表前向检测所检测出的像素的位置和反向检测所检测出的像素的位置的信息进行的运算,来检测每个被抽取的帧的预定像素作为跟踪点。
利用上述配置,对由时间上连续的多个帧图像组成的运动图像的帧间隔进行抽取;在帧被抽取后的运动图像的两个连续帧中,与时间上前一帧的预定像素相对应的时间上后一帧的像素被检测为跟踪点;在与时间相同的方向上依次在被抽取的帧中的每一帧上执行用于检测与帧被抽取后的运动图像的时间上前一帧的预定像素相对应的像素的前向检测;在与时间相反的方向上依次在被抽取的帧中的每一帧上执行用于检测与帧被抽取后的运动图像的时间上后一帧的检测出的像素相对应的像素的反向检测;并且通过采用代表前向检测所检测出的像素的位置和反向检测所检测出的像素的位置的信息进行的运算,每个被抽取的帧的预定像素被检测为跟踪点。
根据以上配置,用户可以简单、可靠地跟踪预期的跟踪目标。
附图说明
图1是根据本发明一个实施例的图像处理设备的配置例子的框图;
图2是图示初始跟踪点确定单元的配置例子的框图;
图3是图示图1中的层次化单元的配置例子的框图;
图4是描述层次化单元的处理的示意图;
图5是图示图1中的第一分层运动检测单元的配置例子的框图;
图6A和6B是描述图5中的块位置检测单元的处理的示意图;
图7A和7B是描述图5中的块位置检测单元的处理的示意图;
图8是图示图1中的第二分层运动检测单元的配置例子的框图;
图9是描述前向运动检测和反向运动检测的示意图;
图10是显示用于确定每一帧的跟踪点的表例子的示意图;
图11是图示图1中的第三分层运动检测单元的配置例子的框图;
图12是描述第三分层运动检测单元的处理的示意图;
图13是图示根据本发明一个实施例的图像处理设备的另一个配置例子的框图;
图14是图示根据本发明一个实施例的图像处理设备的又一个配置例子的框图
图15A和15B是描述块位置检测单元的处理的示意图;
图16A和16B是描述块位置检测单元的处理的示意图;
图17A和17B是描述图14中的差计算单元的处理的示意图;
图18是描述跟踪点之间的转移的示意图;
图19是描述从根据本发明一个实施例的图像处理设备输出的输出图像的例子的示意图;
图20是描述根据相关技术的对象跟踪处理的例子的示意图;
图21是描述根据本发明一个实施例的图像处理设备的对象跟踪处理的优点的示意图;
图22是图示初始跟踪点确定单元的另一个配置例子的框图;
图23是描述图22中的初始跟踪点确定单元的处理的示意图;
图24是描述图22中的初始跟踪点确定单元的处理的示意图;
图25是描述图22中的初始跟踪点确定单元的处理的示意图;
图26是图示第一分层运动检测单元的另一个配置例子的框图;
图27是描述图26中的画面运动检测单元的处理的示意图;
图28是描述画面运动向量的例子的示意图;
图29是图示图26中的跟踪区检测单元的配置例子的框图;
图30是描述图29中的跟踪区检测单元的每个单元的处理的示意图;
图31是图示根据本发明一个实施例的图像处理设备的又一个配置例子的框图;
图32是图示图31中的层次化单元的配置例子的框图;
图33是描述图32中的帧抽取指定单元的处理的示意图;
图34是描述图32中的帧抽取指定单元的处理的示意图;
图35是描述由图1中的图像处理设备执行的对象跟踪处理的例子的流程图;
图36是描述层次化处理的例子的流程图;
图37是描述第一分层运动检测处理的例子的流程图;
图38是描述第二分层运动检测处理的例子的流程图;
图39是描述第三分层运动检测处理的例子的流程图;
图40是描述由图14中的图像处理设备执行的对象跟踪处理的例子的流程图;
图41是描述初始跟踪点确定处理的例子的流程图;
图42是描述第一分层运动检测处理的另一个例子的流程图;
图43是描述跟踪区提取处理的例子的流程图;
图44是描述层次化处理的另一个例子的流程图;以及
图45是图示个人计算机的配置例子的框图。
具体实施方式
下面参考附图来描述本发明的实施例。图1是图示根据本发明一个实施例的图像处理设备的配置例的框图。在该图像处理设备100中,来自未示出的输入设备的输入图像信号被输入到初始跟踪点确定单元101、层次化单元103、第三分层运动检测单元111和输出图像生成单元113。
图2是图示初始跟踪点确定单元101的详细配置例的框图。如图2所示,初始跟踪点确定单元101设有图像信号呈现单元1010和跟踪点指定单元1011。
图像信号呈现单元1010被配置为例如显示器等,以便显示与输入图像信号Vin相对应的图像。跟踪点指定单元1011被配置为例如指取装置,诸如鼠标等,以便响应于用户的操作等在显示于图像信号呈现单元1010的图像内指定一个点(例如,一个像素)作为初始跟踪点。
具体地说,在初始跟踪点确定单元101被配置为如图2所示的情况下,初始跟踪点由用户来指定。例如,用户观看显示在显示器上的图像,指定显示在该图像上的要被跟踪的对象的特征点作为初始跟踪点。
现在返回图1,由初始跟踪点确定单元101确定的初始跟踪点的坐标(xs,ys)被安排输送到跟踪点更新单元115。
跟踪点更新单元115被配置为将跟踪点的坐标(x0,y0)输送到第一分层运动检测单元104。在此情况下,跟踪点更新单元115将初始跟踪点的坐标(xs,ys)作为跟踪点的坐标(x0,y0)输送到第一分层运动检测单元104。
层次化单元103对输入图像信号Vin执行层次化处理。这里,层次化处理的例子包括图像像素数的压缩(减小图像大小)以及输入图像的帧间隔(帧频)抽取。
图3是图示层次化单元103的详细配置例的框图。如图3所示,层次化单元103设有缩小图像生成单元1030和帧抽取单元1031。
层次化单元103的缩小图像生成单元1030对于输入图像信号的图像采用总共四个像素的平均值,例如x方向上的两个像素和y方向上的两个像素,以生成被缩小到四分之一的图像F2。这样就生成了图像F2,其中帧频与输入图像信号的图像的帧频相同,像素数被压缩,大小缩至四分之一。
图4是描述层次化单元103的处理的示意图。在图4中,每个平行四边形代表一帧。根据缩小图像生成单元1030的处理,输入图像的每帧的大小缩至四分之一,被用作图像F2的一帧。注意,输入图像的帧数(在此情形下为11)与图像F2的帧数相同。
层次化单元103的帧抽取单元1031被配置为对缩小图像F2执行帧抽取处理,以生成图像F1。
这样,如图4所示,输入图像信号的大小被缩至四分之一,还进一步生成了帧间隔(帧频)减至五分之一的图像F1。如图4所示,在图像F1中,从图像F2左侧起的第二至第五帧被抽除。另外,在图像F1中,从图像F2左侧起的第七至第十帧被抽除。
注意,在层次化单元103中可以不配备缩小图像生成单元1030。具体地说,可以提供这样一种结构,其中在层次化单元103中只执行帧抽取处理,而不生成缩小图像。在此情况下,层次化单元103按原样输出输入图像信号的图像作为图像F2,并对图像F2执行帧抽取处理以生成图像F1。
注意,如果在层次化单元103中像素数被压缩,并且大小缩至四分之一,则按表达式(1)和(2)来转换初始跟踪点的坐标(xs,ys),转换后的坐标(xsm,ysm)用作跟踪点的坐标(x0,y0)。
xsm=[xs/2] ...(1)
ysm=[ys/2] ...(2)
(上述表达式内的方括号代表小数的四舍五入处理。)
现在返回图1进行描述,从层次化单元103提供的图像F1被安排输入到第一分层运动检测单元104。另外,从层次化单元103提供的图像F2被安排输入到第二分层运动检测单元105。
第一分层运动检测单元104被配置为利用图像F1检测在跟踪点的坐标(x0,y0)被指定的图像帧和时间上紧邻的下一图像帧之间跟踪点的运动,以确定时间上紧邻的下一图像帧的跟踪点的坐标。
图5是图示第一分层运动检测单元104的详细配置例的框图。如图5所示,第一分层运动检测单元104被配置为包括延迟单元1040、块位置检测单元1041和运动整合单元1042。
延迟单元1040被配置为延迟已被输入的图像F1的一帧,例如将该帧保存与一帧对应的时间量,然后在图像F1的后一帧被输入到块位置检测单元1041的时刻将延迟的帧输送到块位置检测单元1041。
例如,如图6A所示,块位置检测单元1041设置延迟的图像帧(时间上的前一帧)中以利用从跟踪点更新单元115提供的坐标(x0,y0)确定的跟踪点为中心、由预定数量的像素组成的块BL。在图6A中,利用坐标(x0,y0)确定的跟踪点用实心圆来表示。现在假设该实心圆代表一个像素。例如,以图中用实心圆表示的跟踪点为中心设置一个由9×9个像素组成的块BL。
对于时间上的后一帧,块位置检测单元1041设置一个以与前一帧的块BL相同的位置为中心的搜索范围。搜索范围的一个例子是以当前帧的与块BL相同的位置为基准在水平和垂直方向上分别从-15个像素到+15个像素构成的正方形区域。
具体地说,如图6B所示,对于时间上的后一帧的图像,块位置检测单元1041设置一个以利用从跟踪点更新单元115提供的坐标(x0,y0)确定的像素为中心、由9×9个像素构成的块,并且设置一个通过使该块在图中的水平和垂直方向上扩展15个像素而形成的搜索范围。也就是说,以后一帧的图像中利用坐标(x0,y0)确定的像素为中心、由39(=9+15+15)×39个像素组成的区域被设置为搜索范围。
接着,块位置检测单元1041计算前一帧的块BL和后一帧的搜索范围内的候选块之间的绝对差之和。这里,候选块例如为与块BL大小相同(在此情况下由9×9个像素构成)且可以从搜索范围(在此情况下由39×39个像素构成)内提取出的任一块。
具体地说,例如,块位置检测单元1041如表达式(3)所示来计算绝对差之和。
这里,Pij代表块BL中的关注像素(ij)的位置上的像素值,Qij代表搜索范围内的候选块中的关注像素(ij)的位置(即用作搜索范围内的每个候选块的中心的像素位置)上的像素值,B代表块尺寸。
块位置检测单元1041确定利用表达式(3)计算出的绝对差之和最小的候选块。具体地说,在可以从上述搜索范围内提取出的、与块BL大小相同的多个块中,确定其中一个块。接着,块位置检测单元1041将决定用作绝对差之和最小的候选块的中心的像素位置的坐标(mvx,mvy)提供给运动整合单元1042。
具体地说,块位置检测单元1041利用所谓的块匹配法来确定时间上的后一帧中与时间上的前一帧的跟踪点的像素相对应的像素。
注意,当块位置检测单元1041设置时间上的前一帧中以跟踪点为中心、由预定数量的像素组成的块BL时,如下面参考图15A所述,块位置检测单元1041还可以设置一个运动检测像素范围。
块位置检测单元1041进一步设置一个以利用坐标(x0,y0)确定的像素为中心的运动检测像素范围,从而即使在例如时间上的前一帧的跟踪点(x0,y0)的像素位置相对于该跟踪点的原始像素位置发生微小移动的情况下,也能够精确地跟踪对象,不过具体的细节将在下面描述。下面与图14中的图像处理设备300的配置描述一起来描述在块位置检测单元1041进一步设置运动检测像素范围的情况下的处理。
图5中的运动整合单元1042使决定从块位置检测单元1041提供的像素位置的坐标(mvx,mvy)与从跟踪点更新单元115提供的坐标(x0,y0)关联在一起,生成例如向量X1和Y1,如表达式(4)和(5)所示。
X1=(x0,x5) ...(4)
Y1=(y0,y5) ...(5)
注意,表达式(4)和(5)用(x5,y5)来表示从块位置检测单元1041提供的坐标(mvx,mvy)。
在以上描述中生成的是向量X1和Y1,但它们也不必一定被生成为向量。如上所述,向量X1和Y1分别将决定从块位置检测单元1041提供的像素位置的x坐标和y坐标以及从跟踪点更新单元115提供的x坐标和y坐标作为其元素,即,这是为确定每个像素位置所需获得的全部信息。在本发明中,为了简化说明,假定在以下描述中用向量来表示用于确定多个坐标的信息。
因此,例如图7A和7B所示,前一帧的跟踪点和后一帧的跟踪点被这样确定。注意,决定该像素位置的坐标(mvx,mvy)对应于图像F1中的时间上后一帧的像素位置,由此变为图像F2或输入图像信号Vin的图像中的时间上五帧后的图像的像素位置。
在图7A中,在时间上前一帧的图像内利用坐标(x0,y0)确定的跟踪点用图中的实心圆来表示。在图7B中,时间上后一帧的图像内的坐标(x5,y5)(=坐标(mvx,mvy))用图中的实心圆来表示。在此情况下,对于时间上的后一帧,跟踪点向图中的左下方向移动。时间上后一帧(图7B)的跟踪点被用作跟踪下一帧的对象的下一跟踪点。
根据到目前为止的处理,已检测出图像F1中的时间上前一帧和时间上后一帧的跟踪点的像素位置。也就是说,已检测出图像F2中的某一帧以及图像F2中的时间上五帧后的一帧的跟踪点的像素位置。利用本发明,在通过层次化单元103的处理抽取出的每一帧上的跟踪点的坐标通过经受第二分层运动检测单元105的处理而被确定。
下面返回图1,一对向量X1和Y1[X1,Y1]被提供给第二分层运动检测单元105。所提供的一对向量X1和Y1代表了例如图像F2中的一个预定帧的跟踪点的坐标位置以及在该预定帧的五帧后的一帧的跟踪点的坐标位置的组合。
图8是图示第二分层运动检测单元105的详细配置例子的框图。图8中所示的前向运动检测单元1051被配置为接收图像F2以及从延迟单元1050输送的图像,延迟单元1050用于使作为输入数据的图像F2延迟一帧。如上所述,图像F2已接受帧间隔抽取,由此被当作帧频例如为图像F1五倍的图像。
前向运动检测单元1051执行例如图9所示的前向运动检测。在图9中,每一帧用平行四边形来表示,并且示出了构成图像F2的6帧。令图9的水平轴代表时间,在图中时间从左向右流逝。图中最左侧的一帧对应于图像F1中的时间上前一帧,图中最右侧的一帧对应于图像F1中的时间上后一帧。因此,图9中从左侧开始的第二到第五帧是被层次化单元103的帧抽取单元1031抽取的帧。
根据从第一分层运动检测单元104提供的向量对[X1,Y1],图中最左侧帧上的跟踪点的坐标(x0,y0)以及图中最右侧帧上的跟踪点的坐标(x5,y5)可以被确定。注意,图中最左侧帧上的跟踪点和图中最右侧帧上的跟踪点用x标记来表示。这里,向量对[X1,Y1]被用作代表跟踪点群的信息。
前向运动检测单元1051基于图中最左侧帧上的跟踪点来检测图中从左侧起的第二帧的跟踪点、从左侧起的第三帧的跟踪点以及从左侧起的第四帧的跟踪点。具体地说,前向运动检测单元1051在与时间相同的方向上,例如图9上方箭头所示的方向上检测每一帧内的跟踪点。
前向运动检测单元1051的跟踪点检测方式与图5中的块位置检测单元1041相同。然而,运动整合单元1052在第i帧上计算出的跟踪点(xfi,yfi)变为在下一帧上运动检测的关注像素的位置,因此运动整合单元1052的输出被再次输入到前向运动检测单元1051。
具体地说,在被延迟的帧(时间上的前一帧)的图像中,前向运动检测单元1051设置以利用坐标(x0,y0)确定的跟踪点为中心的、由预定数量的像素组成的块BL,并且对于时间上的后一帧设置以与前一帧的块BL相同的位置为中心的搜索范围。注意,在此情况下,被延迟的帧变为例如图9中最左侧的帧,时间上的后一帧变为图9中从左侧起的第二帧。
接着,前向运动检测单元1051计算前一帧的块BL和后一帧的搜索范围内的候选块之间的绝对差之和。结果,决定用作绝对差之和最小的候选块的中心的像素位置的坐标(xf1,yf1)被输送到运动整合单元1052。
类似地,前向运动检测单元1051将图9中从左侧起的第二帧当作时间上的前一帧,将从左侧起的第三帧当作时间上的后一帧,利用决定上述像素位置的坐标(xf1,yf1)来确定时间上前一帧的跟踪点,以获得决定时间上后一帧的像素位置的坐标(xf2,yf2),并将该坐标输送到运动整合单元1052。此外,分别决定从左侧起的第四帧和第五帧的像素位置的坐标(xf3,yf3)和(xf4,yf4)也以相同方式被输送到运动整合单元1052。
注意,决定像素位置的坐标(xf1,yf1)、坐标(xf2,yf2)、坐标(xf3,yf3)和坐标(xf4,yf4)中的每一个都是用作绝对差之和最小的候选块的中心的像素位置的坐标,它们都不是严格意义上的跟踪点的坐标,但是为了简化说明,每个坐标都被称为决定时间上前一帧的跟踪点的坐标。
这样,例如对于图9中从左侧起的第二帧、从左侧起的第三帧、从左侧起的第四帧和从左侧起的第五帧都执行了在与时间相同的方向上对跟踪点的检测。也就是说,在前向上检测出由帧抽取单元1031抽取的帧(在此情况下为4帧)的跟踪点的坐标。
另一方面,反向运动检测单元1054基于图中最右侧帧的跟踪点来检测图中从右侧起的第二帧的跟踪点、从右侧起的第三帧的跟踪点以及从右侧起的第四帧的跟踪点。也就是说,反向运动检测单元1054如图9中的下方箭头所示,在时间的相反方向上检测每帧内的跟踪点。
具体地说,反向运动检测单元1054设置时间上后一帧的图像中以用坐标(x5,y5)确定的跟踪点为中心、由预定数量的像素组成的块BL,并且设置时间上的前一帧中以前一帧的与块BL相同的位置为中心的搜索范围。注意,在此情况下,时间上的后一帧例如是图9中最右侧的帧,时间上的前一帧是图9中从右侧起的第二帧。
另外,布置为帧调换单元1053在相反方向上重新排序图像F2的每个帧,并将它们提供给反向运动检测单元1054。相应地,反向运动检测单元1054执行处理,以便基于图9中最右侧帧的跟踪点来检测从右侧起第二帧的跟踪点,基于从右侧起第二帧的跟踪点来检测从右侧起第三帧的跟踪点,并且以相同方式检测后面各帧的跟踪点。
除了如上所述帧被重新排序外,反向运动检测单元1054的处理与前向运动检测单元1051的处理相同。
具体地说,反向运动检测单元1054将决定图9中从右侧起第二帧(从左侧起第五帧)的像素位置的坐标(xb4,yb4)、决定图9中从右侧起第三帧(从左侧起第四帧)的像素位置的坐标(xb3,yb3)、决定图9中从右侧起第四帧(从左侧起第三帧)的像素位置的坐标(xb2,yb2)以及决定图9中从右侧起第五帧(从左侧起第二帧)的像素位置的坐标(xb1,yb1)输送到运动整合单元1055。
也就是说,在相反方向上检测出由帧抽取单元1031抽取的各帧(在此情况下为4帧)的跟踪点的坐标。
运动整合单元1052基于从前向运动检测单元1051提供的坐标生成如表达式(6)和(7)所示的向量Xf2和Yf2。
Xf2=(x0,xf1,xf2,xf3,xf4,x5) ...(6)
Yf2=(y0,yf1,yf2,yf3,yf4,y5) ...(7)
接着,运动整合单元1052将一对向量Xf2和Yf2[Xf2,Yf2]输送到输出整合单元1056。
运动整合单元1055基于从反向运动检测单元1054提供的坐标生成如表达式(8)和(9)所示的向量Xb2和Yb2。
Xb2=(x0,xb1,xb2,xb3,xb4,x5) ...(8)
Yb2=(y0,yb1,yb2,yb3,yb4,y5) ...(9)
接着,运动整合单元1055将一对向量Xb2和Yb2[Xb2,Yb2]输送到输出整合单元1056。
输出整合单元1056被配置为基于分别从运动整合单元1052和1055提供的向量对输出这些向量对的组合[Xf2,Yf2,Xb2,Yb2]。
现在返回图1,从输出整合单元1056输出的向量对组合[Xf2,Yf2,Xb2,Yb2]被输送到块位置确定单元114。
块位置确定单元114基于从输出整合单元1056提供的向量对组合[Xf2,Yf2,Xb2,Yb2]生成例如图10所示的向量X2和Y2。在帧被帧抽取单元1031抽取(在此情况下为4帧)的情况下,块位置确定单元114基于在前向上检测出的跟踪点的坐标以及在反向上检测出的跟踪点的坐标来确定每一帧上的一个跟踪点的坐标。
具体地说,块位置确定单元114对于用向量对组合[Xf2,Yf2,Xb2,Yb2]确定的图9中每一帧的坐标执行加权运算,从而提高跟踪点的像素位置的可靠性。
在图10中,x轴坐标值的计算例子被显示为图中上方四行七列的表,y轴坐标值的计算例子被显示为图中下方四行七列的表。图10中表的最上面一行代表帧号,例如帧号0的帧对应于图0中最左侧的帧,帧号1的帧对应于图9中从左侧起的第二帧......帧号5的帧对应于图9中最右侧的帧。
另外,图10中表的从上数第二行代表上述向量Xf2(或Yf2)的每个元素,图10中表的从上数第三行代表上述向量Xb2(或Yb2)的每个元素。
图10中表的最下面一行代表由块位置确定单元114计算出的向量X2(或Y2)的每个元素。
例如,对于图10中最上方的表,向量X2中对应于帧号1的元素被设置为(xf1*4+xb1*1)/5。
该运算为向量Xf2中对应于帧号1的元素和向量Xb2中对应于帧号1的元素分别乘以权重再求平均。
具体地说,向量Xf2的每个元素为与第二分层运动检测单元105在前向上检测出的每一帧的坐标值相对应的值,若以帧号0的帧为基准,每个元素的坐标值越靠近基准帧的坐标值,与之相乘的权重值越大(在此情况下为4)。同样,向量Xb2的每个元素为与第二分层运动检测单元105在反向上检测出的每一帧的坐标值相对应的值,若以帧号5的帧为基准,每个元素的坐标值越靠近基准帧的坐标值,与之相乘的权重值越大(在此情况下为1)。
接着,每个加权后的元素相加,相加结果除以权重的总和(5),从而求平均,其中该总和(5)为与向量Xf2的元素相乘的权重(4)和与向量Xb2的元素相乘的权重(1)的总和。
也就是说,可以通过表达式(10)到(13)获得块位置确定单元114计算出的向量X2和Y2。
pi=(xfi·(FN-i)+xbi·FN)/FN ...(10)
qi=(yfi·(FN-i)+ybi·FN)/FN ...(11)
X2=(x0,p1,p2,p3,p4,x5) ...(12)
Y2=(y0,q1,q2,q3,q4,y5) ...(13)
这里,在表达式(10)到(13)中,i代表帧号,FN代表层次化单元103抽取的帧间隔。例如,在图4所示的例子中,FN的值为5。
根据表达式(12)和(13)中的p1到p4以及q1到q4,通过层次化单元103的帧抽取单元1031的抽取处理而被抽取的每一帧图像的跟踪点的像素位置被确定。也就是说,块位置确定单元114输出代表要由帧抽取单元1031抽取的前一图像的每一帧的跟踪点的像素坐标的信息。
这样的运算被执行,从而对于跟踪点的像素位置(例如,图9中的每一帧的坐标)可以获得高可靠性的坐标。
现在返回图1,块位置确定单元114将例如按图10所示计算出的、代表图9中每一帧的坐标值的向量X2和Y2输出到第三分层运动检测单元111。
第三分层运动检测单元111基于从块位置确定单元114提供的向量对[X2,Y2]生成最终跟踪点的坐标值的向量X3和Y3。
图11是图示第三分层运动检测单元111的详细配置例子的框图。图11中所示的延迟单元1110、块位置检测单元1111和运动整合单元1112分别与图5中所示的延迟单元1040、块位置检测单元1041和运动整合单元1042相同。然而,图11中的块位置检测单元1111被配置为基于缩小图像F2的像素位置获得输入图像信号Vin的图像的像素位置,并且块位置检测单元1111处的搜索范围不同于图5中的块位置检测单元1041的情形。
在用从块位置确定单元114提供的向量对[X2,Y2]确定的像素位置是通过将输入图像信号Vin的图像缩小至1/4而获得的图像F2的像素位置的情况下,块位置检测单元1111计算坐标值的向量对[X2d,Y2d],其中通过表达式(14)和(15)用输入图像信号Vin的图像来替换图像F2上的坐标值的向量对[X2,Y2]。
X2d=X2×2 ...(14)
Y2d=Y2×2 ...(15)
对于时间上的后一帧,图11中的块位置检测单元1111设置以与前一帧的块BL相同的位置为中心的搜索范围,该搜索范围例如为以当前帧上与块BL相同的位置为基准、在水平和垂直方向上分别从-1到+1像素的正方形区域。
接着,块位置检测单元1111计算前一帧的块BL和后一帧的搜索范围内的候选块之间的绝对差之和,并将决定用作绝对差之和最小的候选块的中心的像素位置的坐标(mvx,mvy)提供给运动整合单元1112。
图12是描述块位置检测单元1111的处理的示意图。在图12中,缩小图像F2的每一帧以及输入图像信号Vin的图像的每一帧都用平行四边形来表示。注意,如图12所示,图像F2的帧数和输入图像信号Vin的图像的帧数相同。
具体地说,如图12所示,块位置检测单元1111获得输入图像信号Vin的图像中与用缩小图像F2的[X2,Y2]确定的像素位置相对应的像素位置作为[X2d,Y2d]。另外,块位置检测单元1111基于输入图像信号Vin的图像中用[X2d,Y2d]确定的像素位置来计算绝对差之和,以确定每一帧的跟踪点的像素位置。
运动整合单元1112被配置为例如输出决定图12中输入图像信号Vin的图像的每一帧的跟踪点的像素位置的坐标作为向量X3和Y3。例如,假设第i帧上的跟踪点为(xi_3,yi_3),则在第三分层运动检测单元111处计算出的跟踪点群的向量X3和Y3分别用表达式(16)和(17)来表示。
X3=(x0×2,x1_3,x2_3,x3_3,x4_3,x5_3) ...(16)
Y3=(y0×2,y1_3,y2_3,y3_3,y4_3,y5_3) ...(17)
也就是说,第三分层运动检测单元111确定输入图像信号Vin的图像中与缩小图像F2的跟踪点相对应的跟踪点。
用这样得到的向量X3和Y3确定的输入图像信号Vin的图像的每一帧的像素位置作为最终跟踪点被用于后面的处理。
从第三分层运动检测单元111输出的向量对[X3,Y3]被输送到输出图像生成单元113和跟踪点更新单元115。跟踪点更新单元115存储(更新)例如用向量对[X3,Y3]确定的、时间上最靠后的帧(例如,图12中最右侧的帧)的跟踪点的坐标,作为新的跟踪点的坐标。接着,更新后的坐标被输送到第一分层运动检测单元104作为新跟踪点的坐标(x0,y0)。
输出图像生成单元113基于用从第三分层运动检测单元111提供的向量X3和Y3确定的跟踪点来生成跟踪点的信息被显示在输入图像上的图像,并且输出由所生成的图像构成的输出图像信号Vout。
注意,在层次化单元103被允许只执行帧抽取处理,而不生成缩小图像的情况下,即在层次化单元103按原样输出输入图像信号的图像作为图像F2并且使该图像F2受到帧抽取处理以生成图像F1的情况下,图1中的第三分层运动检测单元111不是必要的。
在层次化单元103按原样输出输入图像信号的图像作为图像F2并且使图像F2受到帧抽取处理以生成图像F1的情况下,图像处理设备100可被配置为如图13所示。在图13的例子中,与图1的情形不同,没有配备第三分层运动检测单元111。在图13的配置下,用块位置确定单元114输出的向量对[X2,Y2]确定的、输入图像信号Vin的图像的每一帧的像素位置作为最终跟踪点被用于后面的处理。
接着,输出图像生成单元113基于用从块位置确定单元114提供的向量X2和Y2确定的跟踪点来生成跟踪点的信息被显示在输入图像上的图像,并且输出由所生成的图像构成的输出图像信号Vout。
与图13中的上述配置不同的配置与图1的情形相同。这样,跟踪点被确定,对象被跟踪。因此,例如本发明,根据所提供的跟踪点的图像帧来确定时间上远离的帧(例如,五帧后的帧)的跟踪点。位于两个时间上远离的帧之间的帧的跟踪点被确定,从而非常可靠地进行对象跟踪。
下面将描述已应用本发明的一个实施例的图像处理设备的另一个配置例子。图14是图示根据本发明一个实施例的图像处理设备的另一个配置例子的框图。利用图像处理设备300,与图1中的图像处理设备100相比可以获得更加准确的跟踪点。注意,在图14中,与图1中的配置相同的功能模块用相同的附图标记来表示。
图14中的图像处理设备300配有候选点提取单元102,根据该候选点提取单元102,如后面所述来提取多个跟踪点候选,这些候选是用作跟踪点候选的点(像素)。接着,利用第一分层运动检测单元104和第二分层运动检测单元105,多个跟踪点候选中的每一个受到如上所述的第一分层运动检测单元的处理以及第二分层运动检测单元的处理。
另外,在图14的图像处理设备300中,基于对多个跟踪点候选中的每一个执行的第一分层运动检测单元的处理以及第二分层运动检测单元的处理的处理结果,跟踪点转移确定单元110被配置为最终确定一个像素作为跟踪点。因此,根据图14中的图像处理设备300,与图1中的图像处理设备100的情形相比可以获得更加准确的跟踪点。
在图像处理设备300中,来自未显示的输入设备的输入图像信号Vin被输入到初始跟踪点确定单元101、层次化单元103、第三分层运动检测单元111和输出图像生成单元113。
初始跟踪点确定单元101被配置为从输入图像信号Vin中确定初始跟踪点的坐标(xs,ys),以将它们输出到候选点提取单元102。注意,初始跟踪点确定单元101的配置与参考图2描述的配置相同,因此省略对其的详细描述。
候选点提取单元102被配置为基于从初始跟踪点确定单元101输入的初始跟踪点(xs,ys)以及从跟踪点更新单元112输入的跟踪点(xt,yt)来提取用于第一分层运动检测单元104的处理的跟踪点候选。
第一分层运动检测单元104被配置为处理大小为输入图像信号Vin四分之一的图像,因此对于候选点提取单元102而言,利用上述表达式(1)和(2)将输入的跟踪点转换为跟踪点候选中心(xsm,ysm)。注意,表达式(1)和(2)表示输入的跟踪点是初始跟踪点(xs,ys)的情形,但是在输入的跟踪点为跟踪点(xt,yt)的情况下,表达式(1)和(2)中的(xs,ys)应当被替换成(xt,yt)。
另外,在输入到候选点提取单元102的是从跟踪点更新单元112输入的跟踪点(xt,yt)的情况下,即在输入到候选点提取单元102的不是初始跟踪点(xs,ys)的情况下,候选点提取单元102在跟踪点候选中心(xsm,ysm)周围的预定范围内提取跟踪点候选(x0(w,h),y0(w, h))。现在假定w和h分别代表跟踪点候选中心周围的一个范围,其中w代表x方向上的范围,h代表y方向上的范围。关于预定范围,例如,采用在x和y方向上离跟踪点候选中心(xsm,ysm)都为±2的范围,在此情况下,w和h范围都被设为±2。在w和h范围都被设为±2的情况下,存在25(=5×5)种跟踪点候选(x0(w,h),y0(w,h))。
例如,假设(x0(-1,0),y0(-1,0))代表在跟踪点候选中心(xsm,ysm)左侧的像素,(x0(0,1),y0(0,1))代表在跟踪点候选中心(xsm,ysm)下方的像素。注意,这意味着(x0(0,0),y0(0,0))与跟踪点候选中心(xsm,ysm)相同。
这样,每次从跟踪点更新单元112输送跟踪点的坐标,候选点提取单元102就生成与该跟踪点对应的25个跟踪点候选的坐标,并将这25个跟踪点候选的坐标提供给第一分层运动检测单元104和差计算单元108。
在输入到候选点提取单元102的是从初始跟踪点确定单元101输入的初始跟踪点(xs,ys)的情况下,提取出的只有(x0(0,0),y0(0,0)),它是跟踪点候选中心(xsm,ysm)。
候选点提取单元102提取出的跟踪点候选(x0(w,h),y0(w,h))被输入到第一分层运动检测单元104和差计算单元108。
层次化单元103使输入图像信号Vin经受层次化处理。这里,层次化处理的例子包括图像的像素数的压缩(缩小图像尺寸)以及输入图像的帧间隔(帧频)抽取。
层次化单元103的配置与参考图3描述的配置相同,所以省略对其的详细描述。如参考图4所示,根据层次化单元103,生成图像F2,该图像的帧频与输入图像信号的图像的帧频相同,但像素数被压缩,尺寸缩小至四分之一。另外,根据层次化单元103,生成图像F1,其中输入图像信号的尺寸缩小至四分之一,而且帧间隔被抽取成五分之一。
图像F1被输送到第一分层运动检测单元104、差计算单元108和存储器109,图像F2被输送到第二分层运动检测单元105。
图14中的图像处理设备300的第一分层运动检测单元104的配置也与参考图5描述的配置相同,但是处理的内容不同于图1中的图像处理设备100的第一分层运动检测单元104。
在图14中的图像处理设备300的第一分层运动检测单元104中,例如通过保存与一帧对应的时间量,使输入图像F1的帧被延迟,并且经过延迟的帧在图像F1的下一帧被输入到块位置检测单元1041的时刻被输送到块位置检测单元1041。
块位置检测单元1041对于从候选点提取单元102输入的每个跟踪点候选(x0(w,h),y0(w,h))计算输入图像F1和从延迟单元1040输入的信号之间的块绝对差之和。
利用从候选点提取单元102输入的某一跟踪点候选,在被延迟单元1040延迟的当前帧中,块位置检测单元1041设置以该跟踪点候选为中心、由预定数量的像素组成的块BL。例如,在跟踪点候选的坐标为(x0,y0)的情况下,如图15A所示来设置块BL。在图15A中,利用坐标(x0,y0)确定的跟踪点候选在图中用实心圆来表示。现在假设该实心圆代表一个像素。例如,以图中用实心圆表示的跟踪点为中心设置一个由9×9个像素组成的块BL。
接着,块位置检测单元1041设置进一步设置一个以该跟踪点候选为中心的运动检测像素范围。该运动检测范围例如为以跟踪点候选为中心的-3到+3个像素组成的区域,即7×7个像素的范围。在图15A中,检测范围被图示为由块BL内的直线围成的正方形区域。也就是说,块位置检测单元1041设置以包含在以某一跟踪点候选为中心的7×7个像素范围内的每个像素为中心的块BL,因此对于一个跟踪点候选在当前帧中设置了49个块BL。
具体地说,在块位置检测单元1041设置运动检测像素范围的情况下,临时确定时间上的后一帧中与该运动检测像素范围的49个像素的每一个相对应的49个跟踪点。接着,根据后面描述的表达式(18)和(19)的计算,确定用作49个跟踪点的平均的位置,并且确定时间上后一帧的一个跟踪点。
运动检测像素范围就这样被设定,从而即使在时间上前一帧的跟踪点(x0,y0)的像素位置与该跟踪点的原始像素位置发生微小移动的情况下,也能准确地跟踪对象。
对于时间上的后一帧,块位置检测单元1041设置一个以与前一帧的块BL相同的位置为中心的搜索范围。搜索范围的例子为以当前帧的与块BL相同的位置为基准、在水平和垂直方向上分别从-15到+15个像素的正方形区域。
具体地说,如图15B所示,对于时间上后一帧的图像,块位置检测单元1041设置以用从候选点提取单元102提供的跟踪点候选的坐标(在此情况下为(x0,y0))确定的像素为中心、由9×9个像素组成的块,并且设置一个该块在图中的水平和垂直方向上扩展15个像素的搜索范围。也就是说,在后一帧的图像中以用坐标(x0,y0)确定的像素为中心、由39(=9+15+15)×39个像素组成的区域被设置为搜索范围。
接着,块位置检测单元1041计算前一帧的块BL和后一帧的搜索范围内的候选块之间的绝对差之和。这里,候选块例如为与块BL大小相同(在此情况下由9×9个像素构成)且可以从搜索范围(在此情况下由39×39个像素构成)内提取出的任一块。
具体地说,例如,块位置检测单元1041如上述表达式(3)所示来计算绝对差之和。
块位置检测单元1041确定利用表达式(3)计算出的绝对差之和最小的候选块。具体地说,在可以从上述搜索范围内提取出的、与块BL大小相同的多个块中,确定其中一个块。接着,块位置检测单元1041将决定用作绝对差之和最小的候选块的中心的像素位置的坐标(mvx,mvy)提供给运动整合单元1042。
利用图14中的图像处理设备300,块位置检测单元1041以运动检测像素范围内的每个像素为中心来设置块BL,并且在前一帧的块BL和后一帧的搜索范围内的候选块之间计算绝对差之和。
因此,在运动检测像素范围为-3到+3个像素的情况下,如上所述,要被提供给运动整合单元1042的、用作候选块中心的像素位置的数量总共为49。这样,与运动检测像素范围内的各个像素相对应的49个跟踪点被临时确定。
运动整合单元1042通过表达式(18)和(19)的计算来整合(integrate)从块位置检测单元1041输入的块的位置(实际上是用作块的中心的像素位置)。这里,mvxij和mvyij代表用作从运动检测像素范围内的关注像素的位置(i,j)输入的候选块的中心的像素位置,x5和y5代表用作整合后的候选块的中心的像素位置,S代表运动检测像素范围。
(上述表达式内的方括号[]代表小数的四舍五入处理。)
注意,表达式(18)和(19)是基于这样获得的49个像素位置来获取像素位置平均值的运算。这样,时间上后一帧的一个跟踪点已经被确定。如上所述,利用图14中的图像处理设备300,块位置检测单元1041临时确定49个跟踪点,这49个跟踪点的像素位置的平均值被获得,从而确定一个跟踪点。
因此,如图15A和15B所示,对于时间上的后一帧,用作整合后的块的中心的像素位置(x5,y5)已被获得。这里,像素位置(x5,y5)代表了时间上后一帧的跟踪点的坐标。因此,时间上前一帧的跟踪点(x0,y0)和时间上后一帧的跟踪点(x5,y5)之差代表了跟踪点的移动。
运动整合单元1042通过关联时间上前一帧的跟踪点(x0,y0)与时间上后一帧的跟踪点(x5,y5)而生成例如向量X1和Y1,如上述表达式(4)和(5)所示。
第一分层运动检测单元104将一对向量X1和Y1[X1,Y1]提供给第二分层运动检测单元105。
对于从候选点提取单元102输入的每个跟踪点候选(x0(w,h),y0(w, h))都执行上述处理。因此,对于所有的跟踪点候选(x0(w,h),y0(w,h))都生成表达式(18)和(19),相应的计算结果变为(x5(w,h),y5(w,h))。结果,在以通用方式描述向量X1和Y1时,向量X1和Y1被表示为向量X1(w,h)和Y1(w,h),如表达式(20)和(21)所示。
X1(w,h)=(x0(w,h),x5(w,h)) ...(20)
Y1(w,h)=(y0(w,h),y5(w,h)) ...(21)
在w和h范围分别为±2的情况下,利用表达式(20)和(21)总共生成25个跟踪点群。
现在返回图14,代表在第一分层运动检测单元104处检测出的跟踪点群的向量X1(w,h)和Y1(w,h)被输送到第二分层运动检测单元105。
图14中的图像处理设备300的第二分层运动检测单元105的配置也与参考图8描述的配置相同,但是具有图14中的配置的第二分层运动检测单元105对于在第一分层运动检测单元104处检测出的每个跟踪点群执行前向跟踪点检测及反向跟踪点检测,如上面参考图9所描述的。
运动整合单元1052基于从前向运动检测单元1051提供的坐标生成如上述表达式(6)和(7)所示的向量Xf2和Yf2。接着,运动整合单元1052将一对向量Xf2和Yf2[Xf2,Yf2]输送到输出整合单元1056。
运动整合单元1055基于从反向运动检测单元1054提供的坐标生成如上述表达式(8)和(9)所示的向量Xb2和Yb2。接着,运动整合单元1055将一对向量Xb2和Yb2[Xb2,Yb2]输送到输出整合单元1056。
输出整合单元1056被配置为基于分别从运动整合单元1052和1055提供的向量对输出这些向量对的组合[Xf2,Yf2,Xb2,Yb2]。
对于与从第一分层运动检测单元104提供的向量X1(w,h)和Y1(w,h)相对应的每个跟踪点群都执行上述处理。因此,在以通用方式描述向量Xf2和Yf2以及Xb2和Yb2时,向量Xf2和Yf2以及Xb2和Yb2被表示为向量Xf2(w,h)和Yf2(w,h)以及Xb2(w,h)和Yb2(w,h),如表达式(22)到(25)所示。
Xf2(w,h)=(x0(w,h),xf1(w,h),xf2(w,h),xf3(w,h),xf4(w,h),x5(w,h)) ...(22)
Yf2(w,h)=(y0(w,h),yf1(w,h),yf2(w,h),yf3(w,h),yf4(w,h),y5(w,h)) ...(23)
Xb2(w,h)=(x0(w,h),xb1(w,h),xb2(w,h),xb3(w,h),xb4(w,h),x5(w,h)) ...(24)
Yb2(w,h)=(y0(w,h),yb1(w,h),yb2(w,h),yb3(w,h),yb4(w,h),y5(w,h)) ...(25)
例如,在w和h范围分别为±2的情况下,表达式(22)到(25)总共生成25个跟踪点群。
现在返回图14,从第二分层运动检测单元105输出的向量Xf2(w,h)、Yf2(w,h)、Xb2(w,h)和Yb2(w,h)被输送到表106和跟踪点距离计算单元107。
利用表106,对于利用向量Xf2(w,h)、Yf2(w,h)、Xb2(w,h)和Yb2(w,h)确定的图9中每一帧的坐标执行加权运算,从而进一步提高跟踪点的像素位置的可靠性。
具体地说,如前面参考图10所述,生成一个表,在该表中向量Xf2(w,h)、Yf2(w,h)、Xb2(w,h)和Yb2(w,h)的各自元素与向量X2和Y2的各自元素相关联。注意,可以通过上述表达式(10)到(13)来获得向量X2和Y2。
表106对于与从图14中的第二分层运动检测单元105提供的向量Xf2(w,h)、Yf2(w,h)、Xb2(w,h)和Yb2(w,h)相对应的每个跟踪点都保存例如图10所示的表。因此,在以更通用的方式描述向量X2和Y2时,向量X2和Y2被表示为通过表达式(26)至(29)获得的向量X2(w,h)和Y2(w,h)。
Pi(w,h)=(xfi(w,h)·(FN-i)+xbi(w,h)·FN)/FN...(26)
qi(w,h)=(yfi(w,h)·(FN-i)+ybi(w,h)·FN)/FN...(27)
X2(w,h)=(x0(w,h),p1(w,h),p2(w,h),p3(w,h),p4(w,h),x5(w,h)) ...(28)
Y2(w,h)=(y0(w,h),q1(w,h),q2(w,h),q3(w,h),q4(w,h),y5(w,h)) ...(29)
例如,在w和h范围分别为±2的情况下,表达式(28)至(29)总共生成25个跟踪点群,并且被生成且保存在表106中的表的数量也为25。表106以与从第一分层运动检测单元104提供的向量X1(w,h)和Y1(w, h)相关联的方式来保存(存储)这些25个表。
现在返回图14,跟踪点距离计算单元107基于利用从第二分层运动检测单元105提供的跟踪点群的向量Xf2、Yf2、Xb2和Yb2而给出的跟踪点群,来计算在层次化单元103处生成的图像F2的前向运动检测所检测出的跟踪点和反向运动检测所检测出的跟踪点之间的距离。
跟踪点距离计算单元107计算例如图9所示的图像F2的6帧在时间轴的中间位置处的、前向运动检测所检测出的跟踪点和反向运动检测所检测出的跟踪点之间的距离。对于图9中的例子,图像F2的时间轴上的中间位置是一个虚拟图像,它位于图中从左侧起的第三帧和图中从左侧起的第四帧的中间。
跟踪点距离计算单元107利用表达式(30)至(34)或者利用表达式(35)来计算前向运动检测所检测出的跟踪点和反向运动检测所检测出的跟踪点之间的距离Lt。这里,FN代表在层次化单元103处抽取的帧间隔。
在FN为奇数的情况下:
mfx=(xf(FN-1)/2+xf(FN+1)/2)/2 ...(30)
mfy=(yf(FN-1)/2+yf(FN+1)/2)/2 ...(31)
mbx=(xb(FN-1)/2+xb(FN+1)/2)/2 ...(32)
mby=(yb(FN-1)/2+yb(FN+1)/2)/2 ...(33)
在FN为偶数的情况下:
注意,在此情况下,在层次化单元103处抽取的帧间隔为5,因此FN的值为5,即为奇数,所以利用表达式(30)至(34)来计算距离Lt。
这里获得的跟踪点的距离Lt是指示在中间帧附近的差的指标,该差是在不同时间方向(前向和反向)上的运动检测结果,可以认为,该距离越小,跟踪的可靠性越高。
对于用从图14中的第二分层运动检测单元105输出的向量Xf2(w, h)、Yf2(w,h)、Xb2(w,h)和Yb2(w,h)确定的每个跟踪点都要计算这样的跟踪点的距离Lt。因此,在以通用方式描述跟踪点的距离Lt时,距离Lt被表示为用表达式(36)至(40)或者用表达式(41)计算的距离Lt(w,h)。
在FN为奇数的情况下:
mfx(w,h)=(xf(FN-1)/2(w,h)+xf(FN+1)/2(w,h))/2 ...(36)
mfy(w,h)=(yf(FN-1)/2(w,h)+yf(FN+1)/2(w,h))/2 ...(37)
mbx(w,h)=(xb(FN-1)/2(w,h)+xb(FN+1)/2(w,h))/2 ...(38)
mby(w,h)=(yb(FN-1)/2(w,h)+yb(FN+1)/2(w,h))/2 ...(39)
在FN为偶数的情况下:
例如,在w和h范围分别为±2的情况下,利用表达式(40)或(41)获得的距离值总共有25个。
现在返回图14,差计算单元108计算对于从层次化单元103提供的图像F1而言从现在开始要被跟踪的帧(此后称为“当前帧”)和作为保存在存储器109中的最后跟踪起始帧的帧F1b之间的差。例如,在图像F1的帧间隔被抽取至五分之一的情况下,帧F1b变为距当前帧五帧后的帧。
如图17A和17B所示,差计算单元108设置以保存在存储器109中的帧F1b的过去跟踪点(xp,yp)为中心的块BL,并且设置以当前帧的跟踪点候选(x0,y0)为中心的块BL。
图17A代表保存在存储器109中的帧F1b,其中图中用实心圆表示的位置被取作在过去(最末帧)的跟踪点的坐标(xp,yp)。另外,设置一个以跟踪点的坐标(xp,yp)为中心的正方形区域作为块BL。
图17B代表当前帧,其中图中用实心圆表示的位置是候选点提取单元102提取出的25个跟踪点候选之一,并且代表了当前跟踪点候选的坐标(x0,y0)。
在图17B中,当前跟踪点候选的坐标被取作在w=-2且h=-2时提取出的跟踪点候选的坐标,该跟踪点候选是在代表候选点提取单元102提取出的25个跟踪点的范围(“跟踪点候选范围”)的正方形区域中位于图中最左上角的跟踪点候选。设置以当前跟踪点候选的坐标(x0,y0)为中心的正方形区域作为块BL。
因此,实际上设置了以包含在图17B中的“跟踪点候选范围”内的25个跟踪点候选的每一个为中心的25种块BL。
差计算单元108计算例如图17A中的块BL和图17B中的块BL之间的像素值的绝对差之和。也就是说,在图17A中的帧F1b的(一个)块BL和图17B中的当前帧的(25种)块BL之间计算出25种绝对差之和。现在假设要计算的绝对差之和的值被表示为Dt(w,h)。
差计算单元108计算出的绝对差之和的值Dt(w,h)可以用于例如确定由候选点提取单元102提取出的25个跟踪点候选的每一个是否适于成为图9中的最左侧帧的跟踪点的坐标(x0,y0)。例如,若绝对差之和的值Dt(w,h)是一个显著大的值,则不适合基于该跟踪点候选来执行前向检测或反向检测。
差计算单元108计算出的绝对差之和的值Dt(w,h)被输送到跟踪点转移确定单元110。
现在回到图14,跟踪点转移确定单元110基于跟踪点距离计算单元107对应于在候选点提取单元102处提取出的所有跟踪点候选的计算结果Lt(w,h)以及差计算单元108对应于在候选点提取单元102处提取出的所有跟踪点候选的结果Dt(w,h)来执行跟踪点转移。
跟踪点转移确定单元110将由候选点提取单元102提取出的25个跟踪点候选的中心的坐标设为(x0(0,0),y0(0,0)),选择满足表达式(42)和(43)的跟踪点候选。
Dt(x0(w,h),y0(w,h))≤Dt(x0(0.0),y0(0.0))...(42)
Lt(x0(w,h),y0(w,h))≤Lt(x0(0.0),y0(0.0))...(43)
具体地说,例如,对于25个跟踪点候选(x0(w,h),y0(w,h))中的每一个,在跟踪点候选的中心(x0(0,0),y0(0,0))处的Dt(x0(0,0),y0(0,0))值与Dt(x0(w,h),y0(w,h))进行比较,与值低于Dt(x0(0,0),y0(0,0))值的Dt(x0(w,h),y0(w,h))相对应的、在跟踪点候选的中心(x0(0,0),y0(0,0))处的Lt(x0(0,0),y0(0,0))值与Lt(x0(w,h),y0(w,h))进行比较,并且选择与值低于Lt(x0(0,0),y0(0,0))的Lt(x0(w,h),y0(w,h))相对应的跟踪点候选(x0(w,h),y0(w,h))。
对于满足表达式(42)和(43)的每个跟踪点候选,与过去跟踪点之间的相关性被认为等于或大于跟踪点候选的中心,并且从第二分层运动检测单元105的处理结果的角度看,其跟踪可靠性也被认为高于跟踪点候选的中心。
如上所述,第一分层运动检测单元104的块位置检测单元1041对于帧F1b的过去跟踪点来检测块位置,从而确定当前帧的跟踪点候选的中心的坐标。此时,如上面参考图15A和16A所述,第一分层运动检测单元104的块位置检测单元1041设置以预定的跟踪点候选为中心的运动检测像素范围,并且检测在包含于该运动检测像素范围内的所有像素处检测出的块位置的平均的坐标值,因此,对于跟踪点候选的中心而言,与过去跟踪点之间的相关性不一定是最高的。
至此,跟踪点转移确定单元110执行表达式(44)至(49)所示的计算,以进行跟踪点的转移。这里,ntz代表转移后的跟踪点,Kn代表满足表达式(42)和(43)的跟踪点候选的总数。
ntzx=[ntx/cn+0.5] ...(47)
ntzy=[nty/cn+0.5] ...(48)
ntz=(ntzx,ntzy) ...(49)
(以上表达式内的方括号[]代表小数的四舍五入处理。)
这样确定的转移后的跟踪点被输送到表106和存储器109。
现在返回图14,对于表106,与可适用于在跟踪点转移确定单元110处转移的跟踪点ntz的跟踪点群相对应的向量X2和Y2被读出并输入到第三分层运动检测单元111。参考图10描述的25个表被保存在表106处,由此,对于表106,转移后的跟踪点ntz的坐标被转换成(x0(w,h),y0(w,h)),并且与该w和h相对应的表被读出。
如上所述,诸如图10所示的每个表以与从第一分层运动检测单元104提供的向量X1(w,h)和Y1(w,h)相关联的方式被保存(存储)在表106中。接着,如上所述,生成向量X1(w,h)和Y1(w,h),其中对于全部跟踪点候选(x0(w,h),y0(w,h))中的每一个都生成表达式(18)和(19),每个计算结果被取作(x5(w,h),y5(w,h)),并被表示为诸如表达式(20)和(21)的向量X1(w,h)和Y1(w,h)。
表达式(49)中所示的转移后的跟踪点ntz对应于向量X1(w,h)和Y1(w,h)的元素中的跟踪点候选的坐标(x0(w,h),y0(w,h))。对于表106,基于转移后的跟踪点ntz的x坐标值和y坐标值以及包含所确定的跟踪点候选的坐标(x0(w,h),y0(w,h))的向量X1(w,h)和Y1(w,h)来确定跟踪点候选的坐标(x0(w,h),y0(w,h))。接着,基于以与所确定的向量X1(w,h)和Y1(w,h)相关联的方式保存的表,代表与在跟踪点转移确定单元110处转移的跟踪点ntz相当的跟踪点群的坐标的向量X2和Y2被确定并读出,并且被输送到第三分层运动检测单元111。
从表106读出的表被配置为例如图10所示,因此,被表示为X2或Y2的行(它是图10中最下面的一行,即从上数第四行)的每个值应当被取作向量X2或Y2的元素。向量X2或Y2已从表106读出,这意味着代表被帧抽取单元1031抽取前的图像的每一帧的跟踪点的像素的坐标的信息已被输出。
在跟踪点转移确定单元110处的跟踪点转移被确定后,对于存储器109,在层次化单元103处生成的图像F1的当前帧中,以转移后的跟踪点ntz为中心的块BL被设置,另外该当前帧被重写在存储器109中作为帧F1b。
具体地说,如图18所示,在图像F1的当前帧的跟踪点转移被确定后,以该帧作为帧F1b,且以转移后的跟踪点ntz作为过去跟踪点(xp,yp),执行新帧的跟踪点转移处理。
注意,在输入到候选点提取单元102的是初始跟踪点(xs,ys)的情况下,只有跟踪点候选的中心(x0(0,0),y0(0,0))被从候选点提取单元102输出,因此,在跟踪点转移确定单元110处不进行跟踪点转移。
现在返回图14,已从表106接收到向量X2或Y2输入的第三分层运动检测单元111生成最终跟踪点的坐标值的向量X3或Y3。
图14中的图像处理设备300的第三分层运动检测单元111的配置与参考图11描述的配置相同。
块位置检测单元1111采用上述表达式(14)和(15)计算通过将用从表106提供的向量X2和Y2确定的图像F2上的坐标值替换为输入图像信号Vin的图像而获得的坐标值的向量X2d和Y2d。
对于时间上的后一帧,图11中的块位置检测单元1111设置以与前一帧的块BL相同的位置为中心的搜索范围,该搜索范围被取作例如以与当前帧的块BL相同的位置为基准、在水平和垂直方向上分别从-1到+1像素的正方形区域。
接着,块位置检测单元1111计算前一帧的块BL和后一帧的搜索范围内的候选块之间的绝对差之和,并将决定用作绝对差之和最小的候选块的中心的像素位置的坐标(mvx,mvy)提供给运动整合单元1112。
具体地说,如图12所示,块位置检测单元1111获得输入图像信号Vin的图像中与用缩小图像F2的[X2,Y2]确定的像素位置相对应的像素位置作为[X2d,Y2d]。另外,块位置检测单元1111基于用[X2d,Y2d]确定的输入图像信号Vin的图像的像素位置来计算绝对差之和,以确定每一帧的跟踪点的像素位置。
运动整合单元1112被配置为例如输出决定图12中的输入图像信号Vin的图像的每一帧的跟踪点的像素位置的坐标作为向量X3和Y3。例如,假定第i帧的跟踪点被设置为(xi_3,yi_3),则分别用表达式(16)和(17)来表示在第三分层运动检测单元111处计算出的跟踪点群的向量X3和Y3。
具体地说,第三分层运动检测单元111确定输入图像信号Vin的图像中与缩小图像F2的跟踪点相对应的跟踪点。
用这样获得的向量X3和Y3确定的输入图像信号Vin的图像的每一帧的像素位置作为最终跟踪点被用于后面的处理。
现在返回图14,从第三分层运动检测单元111输出的向量X3和Y3被输送到输出图像生成单元113和跟踪点更新单元112。跟踪点更新单元112存储(更新)例如用向量X3和Y3确定的时间上最后面的帧(例如,图12中最右侧的帧)的跟踪点的坐标作为新的跟踪点的坐标。接着,更新后的坐标被输送到候选点提取单元102作为新的跟踪点的坐标(xt,yt)。
基于用从第三分层运动检测单元111提供的向量X3和Y3确定的跟踪点,输出图像生成单元113生成其中跟踪点的信息被显示在输入图像上的图像,并且输出所生成的图像的输出图像信号Vout。
注意,与参考图13描述的方式相同,同样在图14中的图像处理设备300的情况下,可允许层次化单元103只进行帧抽取处理,而不生成缩小图像。在层次化单元103按原样输出输入图像信号的图像作为图像F2,且使该图像F2受到帧抽取处理以生成图像F1的情况下,图14中的第三分层运动检测单元111不是必要的。跟踪点就这样被确定,并且对象被跟踪。
根据本发明一个实施例的图像处理设备300被配置为确定与所获得的跟踪点的图像帧在时间上远离的帧(例如,五帧后的帧)的跟踪点。位于两个时间上远离的帧之间的帧的跟踪点被确定,从而可以非常可靠地进行对象跟踪。
另外,对于本发明一个实施例的图像处理设备300。候选点提取单元102设置多个跟踪点候选,基于每个跟踪点候选的跟踪被执行,并且通过比较跟踪结果来执行跟踪点转移。由此,例如,在跟踪处理期间跟踪点被设置在原先要跟踪的对象以外并且错误的对象被跟踪的可能性很低。
图19是图示由图1中的图像处理设备100或图14中的图像处理设备300的输出图像生成单元113生成的输出图像的例子的示意图。在图19中,假设时间沿图中的垂直轴方向前进。具体地说,图中最上面的图像例如是第一帧图像,图中从上面数的第二幅图像是第二帧图像,图中最下面的图像是第三帧图像。
另外,在图19中,为了使绘图易于理解,输入图像和输出图像被排成行列。具体地说,在图中的垂直轴方向上排列在左侧的三幅图像被当作对应于输入图像信号Vin的图像(输入图像),在图中的垂直轴方向上排列在右侧的三幅图像被当作对应于输出图像信号Vout的图像(输出图像)。
图19中的图像是运动图像,其中显示一个人从画面的右侧移到左侧,在该例子中,人物的头部401被当作要跟踪的对象。对于输出图像,一个门402被重叠并显示在人物的头部401上。这样,输出图像被生成并显示为以简单的方式识别要跟踪的对象。
另外,可以与门402一起显示跟踪点。对于图19中的输出图像的例子,用门402的中央部分上的十字形符号来显示跟踪点的位置。
下面参考图20和21来描述根据本发明一个实施例的图像处理设备100或图像处理设备300的优点。
图20是图示根据现有技术的图像处理设备的对象跟踪的例子的示意图。在图20中,假设时间沿图中的水平方向前进。具体地说,图中最左侧的图像例如是第一帧图像,图中从左侧起的第二幅图像是第二帧图像......图中最右侧的图像是第六帧图像。
另外,在图20中,输入图像和输出图像被排成行列。具体地说,在图中的水平方向上排列在上方的六幅图像被当作对应于输入图像信号的图像(输入图像),在图中的水平方向上排列在下方的六幅图像被当作对应于输出图像信号的图像(输出图像)。
图20中的图像是人物脸部从正面逐渐转向右侧的运动图像,在该例子中,人物的右眼被当作要跟踪的对象。
在图20的输出图像中,例如,对于图中最右侧的图像,图中用十字形符号表示的跟踪点离开了人脸。这是因为当人面向右侧时,与之相伴的是右眼不再显示在画面上。
这样,在跟踪点离开人脸的状态下,当进一步继续跟踪时,可能错误地跟踪画面内不是这个人物的某个对象。
图21是图示根据本发明一个实施例的图像处理设备的对象跟踪的例子的示意图。在图21中,假设时间沿图中的水平方向前进。具体地说,图21中最左侧的图像例如是第一帧图像,图中从左侧起的第二幅图像是第二帧图像......图中最右侧的图像是第六帧图像。
另外,在图21中与输入图像排列在一起的还有代表第一分层运动检测单元处的跟踪点的位置的图像以及代表第二分层运动检测单元处的跟踪点的位置的图像。具体地说,在图中的水平方向上排列在最上方的六幅图像被当作对应于输入图像信号的图像(输入图像),在输入图像下方依次显示代表第一分层运动检测单元处的跟踪点的位置的图像、代表第二分层运动检测单元处在前向运动检测时的跟踪点的位置的图像、代表第二分层运动检测单元处在反向运动检测时的跟踪点的位置的图像以及代表第二分层运动检测单元处的跟踪点的位置的图像。
注意,门被实际重叠在对象上所显示的图像只是经过第三分层运动检测单元的处理的输出图像,但是在图21中,为了使图易于理解,对于代表第一分层运动检测单元处的跟踪点的位置的图像、代表第二分层运动检测单元处在前向运动检测时的跟踪点的位置的图像、代表第二分层运动检测单元处在反向运动检测时的跟踪点的位置的图像以及代表第二分层运动检测单元处的跟踪点的位置的图像,门也被重叠并显示在对象上。
与图20中的例子类似,图21中的图像是人物的脸部从正面逐渐转向右侧的运动图像,在该例子中,人物的右眼被当作要跟踪的对象的跟踪点。
如图21所示,对于根据本发明一个实施例的图像处理设备,由第一分层运动检测单元来确定第六帧图像中与第一帧图像的跟踪点相对应的像素位置(跟踪点)。注意,在图中用十字形符号来表示跟踪点的位置。
对于第六帧图像,人物的右眼不显示在画面上,但是根据在第一帧图像的跟踪点周围的块之间进行的绝对差之和的计算,靠近人物右眼的位置被确定为第六帧图像的跟踪点。
接着,如参考图9所述,通过前向运动检测和反向运动检测来确定跟踪点的位置,并且基于前向运动检测的处理结果和反向运动检测的处理结果来确定第二分层运动检测单元处的跟踪点的位置。
结果,对于根据本发明一个实施例的图像处理设备,例如,即使在要跟踪的对象不与运动图像的中间帧一起显示的情况下,跟踪点也被设置为靠近该对象的跟踪点的位置,从而可以继续跟踪。
例如,与根据现有技术的图像处理设备的方式一样,仅仅前向运动检测可能使跟踪点逐渐地移动,但是反向运动检测进一步进行,因此与要跟踪的对象的跟踪点靠近的位置的像素被持续跟踪,因此跟踪点不从人物的图像移开,且最终跟踪点位于第二层级上,它是前向运动检测和反向运动检测的加权平均。
另外,对于第一分层运动检测单元而言,当对下一帧图像进行跟踪时,基于与过去跟踪点之间的相关性以及在第二层级上的跟踪可靠性进行跟踪点的转移,从而对于图像内的各种变化可以鲁棒的方式进行跟踪。
此外,对于第一分层运动检测单元和第二分层运动检测单元,处理的是采用平均值的缩小图像,因而可以进行运动检测,防止受到输入图像的噪声分量或高频分量的影响。此外,在第三分层运动检测单元处的运动检测范围被限制,并且进行更精细的运动检测,从而最终更细致地调节跟踪点。
顺便提及,对于图1中的图像处理设备100或者图14中的图像处理设备300,上述初始跟踪点确定单元101的配置方式可以不同于图2。
图22是图示初始跟踪点确定单元101的另一个配置例子的框图。图2中所示的配置允许用户指定跟踪点,但是图22中所示的配置自动指定跟踪点。
对于图22中所示的初始跟踪点确定单元101,输入图像信号Vin被输入到对象提取单元1013。对象提取单元1013被配置为根据输入图像信号Vin和记录在模板保存单元1012中的模板图像之差来提取对象。
例如,假设图23中所示的图像是记录在模板保存单元1012中的模板图像。在该例子中,显现两座建筑物的图像被用作模板图像。
现在假设例如图24所示的图像作为输入图像信号Vin的图像已被输送到对象提取单元1013。对象提取单元1013提取图24所示的图像中所包含的与图23所示的模板图像不同的区域。例如,图25所示的对象被提取出来。在该例子中,提取出一辆汽车作为对象。
例如,在记录不包含任何对象的图像作为模板图像的情况下,例如在用监控相机对同一地点连续摄像的情况下,当包含某一对象的图像被成像时,可以根据与模板图像间的差别来提取该对象的区域。至于对象区域的提取,例如,希望计算模板图像和输入图像信号Vin的图像之间的对应像素值的差,相应像素之差与预定阈值进行比较,差值大于阈值的像素被提取。
另外,如果拍摄到的图像不包含任何对象,但是有很多像素与模板图像之差很大,例如在日光或天气发生变化等情况下,输入图像信号Vin的图像可被覆写在模板图像上。
现在返回图22,质心计算单元1014利用表达式(50)和(51)来计算在对象提取单元1013处提取出的区域的质心。这里,(xi,yi)代表提取出的对象的坐标,On代表提取出的对象的像素数。
在质心计算单元1014处计算出的质心的坐标被用作初始跟踪点(xs,ys)。
根据这样一种布置,跟踪点被自动指定,从而可以进行对象跟踪。
顺便提及,跟踪点通常被设置为画面中的运动对象内的一个点。由此,例如,假如输入图像信号内的运动对象可以被提取,希望只对构成提取出的对象的像素区域内部进行跟踪点检测。
图26是图示第一分层运动检测单元104的另一个配置例子的框图。对于图26中的例子,第一分层运动检测单元104提取运动对象,只对构成该提取出的对象的像素区域内部进行跟踪点检测。
注意,图26所示的第一分层运动检测单元104对于在跟踪图像的预定对象时相机的取景角随对象的运动一起改变的情况特别有效。
对于图26所示的第一分层运动检测单元104,输入图像F1被输送到延迟单元1040、块位置检测单元1041和画面运动检测单元1043。延迟单元1040将图像F1延迟两帧,然后将其输送到块位置检测单元1041和画面运动检测单元1043。
画面运动检测单元1043检测图像F1的画面运动。画面运动检测单元1043对于关注帧并且对于时间上的前一帧和时间上的后一帧执行运动检测。例如图27所示,画面运动检测单元1043将图像F1的一帧的整个画面分割成8×8块,并且通过对每个块进行块匹配来计算运动向量。接着,建立每个块的运动向量的直方图,频率最大的运动向量被用作整个画面的运动向量。
这样,如图28所示,在关注帧的图像和相对于该关注帧的时间上前一帧图像之间检测画面运动向量Amv1,并且在关注帧的图像和相对于该关注帧的时间上后一帧图像之间检测画面运动向量Amv2。现在假设图28的水平轴被取作时间,时间在图中从左侧到右侧前进。
画面运动检测单元1043检测出的画面运动向量Amv1和Amv2被输送到跟踪区检测单元1044。
图29是图示跟踪区检测单元1044的详细配置例子的框图。
跟踪区检测单元1044基于在画面运动检测单元1043处检测出的画面运动向量来检测在随后描述的区域内块位置检测单元1045处应当进行运动检测的区域。
画面位置移动单元10440-1和10440-2分别移动图像F1的关注帧的画面位置以及相对于关注帧的时间上后一帧的画面位置。
例如,如图30所示,画面位置移动单元10440-1和10440-2对于画面运动向量Amv1和Amv2在运动向量的相反方向上移动画面位置。假设图30的垂直轴代表时间,时间从图中的上部到下部前进,通常图的中心对应于关注帧的时间位置。
画面位置这样被移动,从而生成因画面移动(例如相机的运动)产生的相移被匹配的图像。具体地说,对于时间上的前一帧和时间上的后一帧,画面位置被移动,使得两个背景图像的位置总体匹配。
帧差计算单元10441-1计算画面位置已被移动的关注帧的图像和相对于关注帧的时间上前一帧图像之间的差。类似地,帧差计算单元10441-2计算画面位置已被移动的关注帧的图像和画面位置已被移动的相对于关注帧的时间上后一帧图像之间的差。例如通过计算绝对差值并且提取绝对差值大于预定阈值的像素,这样来进行差计算。
根据帧差计算单元10441-1和10441-2的处理,获得在图30中被描述为“帧差计算”的图像信息。图中阴影所示的部分对应于在帧差计算单元10441-1处计算出的差和在帧差计算单元10441-2处计算出差。
对于已由帧差计算单元10441-1和10441-2获得帧差的两幅图像,AND区提取单元10442提取被公共提取的像素(AND区)。这样获得了在图30中被描述为“AND区提取”的图像信息。图中阴影所示的部分对应于被提取为AND区的像素。在此情况下,作为对象的汽车的外形图像被提取为AND区。
根据这样一种布置,即使对象的运动方向不同于整个画面的运动方向,也可以准确地提取对象的区域。另外,跟踪区检测单元1044处理在时间方向上已被抽取的图像F1,因此,例如,即使在一帧期间对象的运动较小,也可以在远离的帧之间获得差,并且可以容易地提取对象的区域。
现在返回图26,区域内块位置检测单元1045基于输入的跟踪点候选(输入的跟踪点候选的坐标在这里被表示为(x,y))以及跟踪区检测单元1044的检测结果来执行局限于跟踪区的运动检测。
区域内块位置检测单元1045的配置与参考图5描述的上述块位置检测单元1041的配置相同,但是区域内块位置检测单元1045的处理被局限为取决于跟踪区是否包含在跟踪点候选和搜索范围中。
在跟踪点的坐标(x,y)被包含在跟踪区检测单元1044检测出的AND区中的情况下,只有包含在跟踪区(跟踪区检测单元1044检测出的AND区)中的块被取作在搜索范围内要匹配的块。
具体地说,区域内块位置检测单元1045设置时间上前一帧的图像中以跟踪点为中心、由预定数量的像素组成的块BL,并且设置时间上的后一帧中以与前一帧的块BL相同的位置为中心的搜索范围。在跟踪点的坐标(x,y)被包含在跟踪区检测单元1044检测出的AND区的情况下,该搜索范围被局限在跟踪区内。
接着,区域内块位置检测单元1045将决定用作绝对差之和最小的候选块的中心的像素位置的坐标(tvx,tvy)输送到区域内运动整合单元1046。
在所有输入的跟踪点候选都不包含在跟踪区内、而且在对于所有跟踪点候选设置的各个搜索范围内都没有包含在跟踪区内的块的情况下,执行与参考图5描述的通常情况相同的块位置检测。在此情况下,代表处理请求的信号等被从区域内块位置检测单元1045发送到块位置检测单元1041,由块位置检测单元1041来检测块位置。接着,决定用作检测出的块的中心的像素位置的坐标(mvx,mvy)被输送到区域内运动整合单元1046。
注意,至于判断在对于所有跟踪点候选设置的搜索范围内是否存在包含在跟踪区内的块,例如,在一个块的像素全都包含在跟踪区内的情况下,可以判定为“在区域内”,或者在一个块的80%的像素被包含在跟踪区内的情况下,可以判定为“在区域内”。
区域内运动整合单元1046确定最终块位置。在从区域内块位置检测单元1045送来块位置的中心坐标(tvx,tvy)的情况下,区域内运动整合单元1046例如将从区域内块位置检测单元1045送来的坐标值(tvx,tvy)设置为最终块位置。另外,在从块位置检测单元1041输入块位置的中心坐标(mvx,mvy)的情况下,区域内运动整合单元1046执行上述表达式(18)或(19)所示的计算来确定坐标。
第一分层运动检测单元104被配置为例如图26所示,从而提取运动对象,使得跟踪点检测仅在组成提取出的对象的像素区内进行。结果,可以有效地进行跟踪点检测处理。
顺便提及,对于图14中的图像处理设备300的配置,可以布置为增加从候选点提取单元102至层次化单元103的输入,层次化单元103的配置不同于上面参考图3所述的配置。
图31是图示根据本发明一个实施例的图像处理设备的另外一个配置例的框图。对于图31所示的图像处理设备500,它与图14所示的图像处理设备300的情况不同,从候选点提取单元102输出的跟踪点候选(x0(w,h),y0(w,h))也被输送到层次化单元103。另外,同图31所示的图像处理设备500的层次化单元103的配置不同于前面参考图3描述的配置。除此之外的图31中的其它部分的配置与前面参考图14描述的配置相同。
图32是图示图31中的层次化单元103的详细配置例子的框图。对于图32所示的层次化单元103的配置,当生成图像F1时,抽取的帧间隔是可变的。
图32中的缩小图像生成单元1030的配置与前面参考图3描述的情况相同,所以省略详细描述。
图32中的帧抽取单元1032首先在时间方向上以预定的帧间隔(例如,5帧)使图像F2稀疏化,以生成图像F1,并将其输送到运动差计算单元1034和延迟单元1033。
运动差计算单元1034以与图5中的块位置检测单元1041相同的方式来检测跟踪点的运动,但不象块位置检测单元1041一样输出代表块的位置的坐标,而是输出块的绝对差之和的值。具体地说,图5中的块位置检测单元1041输出决定用作绝对差之和最小的候选块的中心的像素位置的坐标(mvx,mvy),但是运动差计算单元1034输出对应于坐标(mvx,mvy)的候选块的绝对差之和的值。
运动差计算单元1034对于从候选点提取单元102输出的所有跟踪点候选(x0(w,h),y0(w,h))都计算绝对差之和的值,并将每个绝对差值之和的值输送到帧抽取指定单元1035。
帧抽取指定单元1035指定与从运动差计算单元1034提供的绝对差之和的值相对应的抽取帧间隔。
在所有跟踪点候选处的绝对差之和的值都大于预定阈值的情况下,帧抽取指定单元1035使帧抽取间隔减小1帧。在所有跟踪点候选处的绝对差之和的值都大于预定阈值的情况下,可以认为没有任何地方在跟踪点周围被抽取的帧之间具有相关性,在此情况下,可以说帧被过度抽取。因此,帧抽取指定单元1035使帧抽取间隔减小1帧。
例如,考虑图33所示的情形。图33是图示在时间方向上以预定帧间隔(例如,5帧)抽取图像F2所生成的图像F1的例子的示意图。在图33中,假定图中的垂直轴代表时间,时间在图中从上至下前进。另外,在图33中,人物的头部611被当作要跟踪的对象,在人物的头部611中设置用十字形符号表示的跟踪点。另外,在图33中,假设在帧601和602之间已经抽取了5帧。
对于图33中的帧601,与作为要跟踪的对象的人物头部611一起还显示另一个对象612。对于帧602,人物在图中向左移动,因此,作为要跟踪的对象的人物头部611隐藏在另一个对象612后面。这里,藏在对象612后面的人物的图像在图中用虚线表示。
在图33所示的情况下,除非减小帧抽取间隔,否则人物的头部611无法被跟踪。
另一方面,当在所有跟踪点候选处的绝对差之和的值都小于另一个预定阈值时,帧抽取指定单元1035使帧抽取间隔增大1帧。当在所有跟踪点候选处的绝对差之和的值都小于另一个预定阈值时,可以认为在被抽取的帧之间几乎没有运动,在此情况下,可以认为帧的抽取不足。因此,帧抽取指定单元1035使帧抽取间隔增大1帧。
例如,考虑图34所示的情形。图34是图示在时间方向上以预定帧间隔(例如,5帧)抽取图像F2所生成的图像F1的另一个例子的示意图。在图34中,与图33类似,假定图中的垂直轴代表时间,时间在图中从上至下前进。另外,在图34中,人物的头部611也被当作要跟踪的对象,在人物的头部611中设置用十字形符号表示的跟踪点。另外,在图34中,假设在帧601和602之间已经抽取了5帧。
对于图34中的帧601和602,作为要跟踪的对象的人物头部611几乎没有动。
在例如图34所示的情况下,即使帧抽取间隔增大,人物头部611也能被跟踪。另外,在例如图34所示的情况下,使帧抽取间隔增大,从而消除无用的运动检测。
图32中的层次化单元103重复上述的帧抽取间隔的增大/减小,直至在所有跟踪点候选处的绝对差之和的值变为合适的值为止。接着,若在所有跟踪点候选处的绝对差之和的值变为合适的值,即,若所有绝对差之和的值都等于或小于一个预定阈值,同时所有绝对差之和的值都等于或大于另一个预定阈值,那么帧抽取间隔被确定并从帧抽取单元1032输出图像F1。
这样,根据图31所示的图像处理设备500,在跟踪对象时可以设置最优的帧抽取间隔。由此,利用图31所示的图像处理设备500可以准确、有效地跟踪对象。
下面参考图35的流程图来描述图1中的图像处理设备100的对象跟踪处理。
在步骤S101中,图像处理设备100判断现在输入的输入图像信号Vin的图像帧是否为对象跟踪处理的处理起始帧,在判定输入帧是处理起始帧的情况下,处理前进到步骤S102。
在步骤S102,跟踪点指定单元1011确定初始跟踪点。此时,例如,响应于用户通过鼠标等指取设备的操作,显示在图像信号呈现单元1010上的图像内的一个点(例如,一个像素)被确定为初始跟踪点。
在步骤S102或S101的处理之后,如果判定现在输入的输入图像信号Vin的图像帧不是对象跟踪处理的处理起始帧,处理前进到步骤S103。
在步骤S103中,层次化单元103执行层次化处理。现在参考图36的流程图来描述图35中步骤S103的层次化处理的详细例子。
在步骤S121中,缩小图像生成单元1030对于输入图像信号的图像采用x方向2像素、y方向2像素——总共4个像素的平均值来将输入图像信号的图像的大小减小至四分之一。
在步骤S122中,缩小图像生成单元1030输出图像F2。此时,例如图4所示,输出的图像F2具有与输入图像信号的图像相同的帧频,而像素数被压缩,大小减至四分之一。
在步骤S123中,帧抽取单元1031使经步骤S122的处理输出的图像F2受到进一步的帧抽取处理。
在步骤S124中,帧抽取单元1031输出图像F1。此时,例如图4所示,输出的图像F1的大小为输入图像信号的图像的四分之一,而且帧间隔被抽取至五分之一。这样就完成了层次化处理。
现在返回图35,在步骤S103的处理之后,处理前进到步骤S104,此处第一分层运动检测单元104执行第一分层运动检测处理。现在参考图37的流程图来描述图35中的步骤S104的第一分层运动检测处理的详细例子。
在步骤S141中,延迟单元1040将输入的图像F1的帧保存一段与一帧对应的时间,从而延迟该帧,然后在图像F1的下一帧被输入到块位置检测单元1041时将经过延迟的帧输送到块位置检测单元1041。
在步骤S142中,块位置检测单元1041确定利用表达式(3)计算出的绝对差之和最小的候选块,从而检测块位置。此时,例如前面参考图6A和6B所述,在被延迟的图像帧(时间上的前一帧)中,设置以跟踪点为中心、由预定数量的像素组成的块BL。接着,对于时间上的后一帧,设置以与前一帧的块BL相同的位置为中心的搜索范围,并且在前一帧的块BL和后一帧的搜索范围内的候选块之间计算绝对差之和。
在步骤S143中,运动整合单元1042输出向量X1和Y1。此时,决定从块位置检测单元1041提供的像素位置的坐标(mvx,mvy)和从跟踪点更新单元115提供的坐标(x0,y0)相互关联,如表达式(4)和(5)所示,例如生成并输出向量X1和Y1。
注意,如前面参考图15A和图16A所述,在运动检测像素范围被设置的情况下,运动整合单元1042利用上述表达式(18)和(19)的运算来整合从块位置检测单元1041输入的块位置。接着,,用作整合块的中心的像素位置和从跟踪点更新单元115提供的坐标(x0,y0)相互关联,如表达式(4)和(5)所示,例如生成并输出向量X1和Y1。这样就完成了第一分层运动检测处理。
现在返回图35,在步骤S104的处理之后,处理前进到步骤S105,此处第二分层运动检测单元105执行第二分层运动检测处理。现在参考图37的流程图来描述图35中的步骤S105的第二分层运动检测处理的详细例子。
在步骤S161中,延迟单元1050将经步骤S122的处理输出图像F2延迟1帧。
在步骤S162中,前向运动检测单元1051象参考图9所述那样来进行前向运动检测。此时,例如,基于图9中最左侧帧的跟踪点,检测图中从左侧起第二帧的跟踪点、从左侧起第三帧的跟踪点和从左侧起第四帧的跟踪点。
在步骤S163中,运动整合单元1052如上所述,基于从前向运动检测单元1051提供的坐标来生成并输出表达式(6)和(7)所示的向量Xf2和Yf2。
在步骤S164中,帧调换单元1053将图像F2的各帧在相反方向上重新排序,并将它们提供给反向运动检测单元1054。
在步骤S165中,例如前面参考图9所述,反向运动检测单元1054执行反向运动检测。此时,例如,基于图9中最右侧帧的跟踪点,检测图中从右侧起第二帧的跟踪点、从右侧起第三帧的跟踪点和从右侧起第四帧的跟踪点。
在步骤S166中,运动整合单元1055如上所述,基于从反向运动检测单元1054提供的坐标,生成并输出表达式(8)和(9)所示的向量Xb2和Yb2。
在步骤S167中,基于分别从运动整合单元1052和1055提供的向量,输出整合单元1056输出这些向量对的组合[Xf2,Yf2,Xb2,Yb2]。这样就完成了第二分层运动检测处理。
现在返回图35,在步骤S105的处理之后,在步骤S106中,第三分层运动检测单元111执行第三分层运动检测处理。现在参考图39的流程图来描述第三分层运动检测处理的详细例子。
在步骤S181中,延迟单元1110延迟输入图像信号的图像帧。
在步骤S182中,块位置检测单元1111用缩小前的图像的坐标值来替换跟踪点的坐标值。此时,基于步骤S167处理输出的信息,块位置检测单元1111通过上述表达式(14)和(15)的运算,用输入图像信号Vin的图像来替换用从块位置确定单元114提供的向量对[X2,Y2]确定的像素位置。
在步骤S183中,块位置检测单元1111检测块位置。此时,例如,对于时间上的后一帧,以与前一帧的块BL相同的位置为中心来设置搜索范围。接着,块位置检测单元1111计算前一帧的块BL和后一帧的搜索范围内的候选块之间的绝对差之和,然后将决定用作绝对差之和最小的候选块的中心的像素位置的坐标(mvx,mvy)输送到运动整合单元1112。
在步骤S184中,运动整合单元1112输出例如决定图12中的输入图像信号Vin的每个图像帧的跟踪点的像素位置的坐标,作为向量X3和Y3。此时,例如,输出的是以表达式(16)和(17)表示的向量X3和Y3。
现在返回图35,在步骤S106的处理之后,处理前进到步骤S107。在步骤S107中,输出图像生成单元113基于在步骤S184的处理中输出的向量X3和Y3来确定每一帧的跟踪点以生成输出图像。此时,例如,生成例如参考图19所描述的输出图像。
在步骤S108中,判断是否已完成了对所有帧的处理,在处理尚未完成的情况下,处理前进到步骤S109,此处跟踪点更新单元115基于步骤S184的处理输出的向量X3和Y3来更新跟踪点。接着,处理返回步骤S101,从步骤S101开始的处理重复执行。因此,除非在步骤108中判定已完成了对所有帧的处理,否则将执行从步骤S101至S109的处理。
对象跟踪处理就这样被执行。对于本发明,根据所提供的跟踪点的图像帧来确定时间上远离的帧(例如,5帧后的帧)处的跟踪点。接着,确定位于时间上远离的两帧之间的帧的跟踪点,从而可以更可靠地进行对象跟踪。
注意,在图像处理设备被配置为图13所示的情况下,不执行步骤S106的处理和步骤S121的处理。
下面参考图40的流程图来描述图14中的图像处理设备300的对象跟踪处理的例子。
在步骤S201,图像处理设备300判断现在要输入的输入图像信号Vin的图像帧是否为对象跟踪处理的起始帧,在判定该输入帧为处理起始帧的情况下,处理前进到步骤S202。
步骤S202到S207的处理与图35中步骤S102到S107的处理一样,因此省略其详细描述。
在步骤S207之后,处理前进到步骤S217。在步骤S217,判断是否对于所有帧都已完成处理,在此情况下,尚未对于所有帧完成处理,所以处理前进到步骤S218。
在步骤S218,跟踪点更新单元112基于步骤S206的处理输出的向量X3和Y3来更新跟踪点,然后处理返回到步骤S201。
在此情况下,在步骤S201处判定输入图像信号Vin的图像帧不是对象跟踪处理的起始帧,因此处理前进到步骤S208。
在步骤S208,候选点提取单元102提取跟踪点候选。此时,如上所述,例如,从跟踪点候选中心(xsm,ysm)起在x方向和y方向上采用±2的范围,以提取25个跟踪点候选(x0(w,h),y0(w,h))。
步骤S209的处理与图35中步骤S103的处理相同,因此省略其详细描述。
在步骤S210,第一分层运动检测单元104执行第一分层运动检测处理。步骤S210中的第一分层运动检测处理与前面参考图37描述的处理相同,因此省略其详细描述,但是在步骤S210的处理的情况下,对于在步骤S208中提取出的每个跟踪点候选执行与前面参考图37描述的处理相同的第一分层运动检测处理。
由此,步骤S210的处理结果就是,如上所述,代表在第一分层运动检测单元104处检测出的跟踪点群的向量X1(w,h)和Y1(w,h)被输出。
在步骤S211,第二分层运动检测单元105执行第二分层运动检测处理。在步骤S211中的第二分层运动检测处理与前面参考图38描述的处理相同,因此省略其详细描述,但是在步骤S211的处理的情况下,对于在步骤S208中提取出的每个跟踪点候选执行与前面参考图38描述的处理相同的第二分层运动检测处理。
由此,步骤S211的处理结果就是,如上所述,从第二分层运动检测单元105输出的向量Xb2(w,h)和Yb2(w,h)以及向量Xf2(w,h)和Yf2(w,h)被输出。
另外,如上所述,关于表106,对于用在步骤S211的处理输出的向量Xf2(w,h)和Yf2(w,h)以及向量Xb2(w,h)和Yb2(w,h)确定的每一帧的坐标执行加权运算。接着生成一个表,在该表中向量Xf2(w,h)和Yf2(w,h)以及向量Xb2(w,h)和Yb2(w,h)的一个元素都与向量X2和Y2的每个元素相关。
结果,表106保存诸如图10所示的、有关与从第二分层运动检测单元105提供的向量Xf2(w,h)和Yf2(w,h)以及向量Xb2(w,h)和Yb2(w,h)相对应的每个跟踪点的表,并且例如,总共生成并保存25个跟踪点群。
在步骤S212,差计算单元108计算在步骤S209的处理中从层次化单元103提供的图像F1的从现在开始跟踪的帧(被称为“当前帧”)和作为保存在存储器109中的最后跟踪起始帧的帧F1b之间的差。
此时,如上所述,例如,在图17A中的块BL和图17B中的块BL之间计算像素值的绝对差之和。具体地说,在图17A中的帧F1b的(一个)块BL和图17B中的当前帧的(25个)块BL之间计算25种绝对差之和,并且在步骤S212中的处理结果就是输出绝对差之和的值Dt(w,h)。
在步骤S213,跟踪点距离计算单元107基于利用第二分层运动检测单元105通过步骤S211的处理所提供的跟踪点群的向量Xf2、Yf2、Xb2和Yb2而给出的跟踪点群,来计算对在层次化单元103处生成的图像F2进行前向运动检测所检测出的跟踪点和进行反向运动检测所检测出的跟踪点之间的距离。
此时,如上所述,例如,对于图9中所示的图像F2的6帧,计算在时间轴的中间位置处、前向运动检测所检测出的跟踪点和反向运动检测所检测出的跟踪点之间的距离。接着,对于利用第二分层运动检测单元105通过步骤S211的处理输出的向量Xf2(w,h)和Yf2(w,h)以及向量Xb2(w,h)和Yb2(w,h)确定的每个跟踪点计算距离Lt。
结果,例如,作为步骤S213的处理结果,生成并输出被表示为通过上述表达式(36)至(40)或者表达式(41)计算出的距离Lt(w,h)的总共25个距离值。
在步骤S214,跟踪点转移确定单元110基于步骤S213的处理输出的距离值Lt(w,h)以及步骤S212的处理输出的绝对差之和的值Dt(w,h)来执行跟踪点的转移。
此时,如上所述,选择满足表达式(42)和(43)的跟踪点候选,执行如表达式(44)至(49)所示的计算,从而进行跟踪点的转移。接着,转移后的跟踪点ntz被输送到表106和存储器109。
接着,与可适用于经步骤S214的处理转移后的跟踪点ntz的跟踪点群相对应的向量X2和Y2被从表106读出,并被输送到第三分层运动检测单元111。
在步骤S215,第三分层运动检测单元111执行第三分层运动检测处理。步骤S215中的第三分层运动检测处理与前面参考图39描述的处理相同,因此省略其详细描述。
在步骤S216,基于利用第三分层运动检测单元111通过步骤S215的处理提供的向量X3和Y3确定的跟踪点,输出图像生成单元113生成跟踪点的信息被显示在输入图像上的图像,并且输出所生成的图像的输出图像信号Vout。此时,例如,生成如前面参考图19所描述的输出图像。
在步骤S216的处理后,进行步骤S217处的判断,在判定尚未对于所有帧完成处理的情况下,处理前进到步骤S218,此处对跟踪点进行更新,然后处理返回到步骤S201。
这样,一直执行步骤S201以及从步骤S208至步骤S217的处理,直至判定对于所有帧都已完成处理为止。
这样就执行了对象跟踪处理。对于图40中的处理,提取出多个跟踪点候选,多个跟踪点候选中的每一个都受到第一分层运动检测处理和第二分层运动检测处理,并且基于这些处理的结果,最终确定一个像素作为跟踪点。由此,与前面参考图35所描述的对象跟踪处理的情况相比,可以获得更加准确的跟踪点。
注意,在被布置为在图像处理设备300中不配备第三分层运动检测单元111的情况下,不执行步骤S121的处理以及步骤S203或S209的层次化处理中步骤S206和S215的处理。
下面参考图41的流程图来描述在初始跟踪点确定单元101被配置为如图22所示的情况下的初始跟踪点确定处理。该处理为例如取代图35中的步骤S102的处理或图40中的步骤S202的处理而执行的处理。
对于图22中的初始跟踪点确定单元101,输入图像信号Vin被输入到对象提取单元1013。对象提取单元1013被配置为根据输入图像信号Vin和记录在模板保存单元1012中的模板图像之间的差来提取对象。
在步骤S301,对象提取单元1013提取对象。此时,例如,如前面参考图23至25所描述的,与模板图像不同的区域被提取为对象。
在步骤S302,质心计算单元1014计算质心。此时,利用上述表达式(50)和(51)来计算通过步骤S301的处理提取出的区域的质心。
在步骤S303,通过步骤S302的处理计算出的质心的坐标被确定为初始跟踪点并从初始跟踪点确定单元101输出。
初始跟踪点就这样被确定。根据这样一种布置,可以自动确定初始跟踪点。
下面参考图42的流程图来描述对应于图41中的初始跟踪点确定处理而被执行的第一分层运动检测处理的详细例子。该处理由图26中的第一分层运动检测单元104来执行,是取代图37中的处理而作为例如图35中的步骤S104的处理、或者图40中的步骤S204的处理或步骤S210的处理被执行的处理。
在步骤S321中,延迟单元1040将图像F1延迟2帧。
在步骤S322中,画面运动检测单元1043检测图像F1的画面运动。此时,例如,如图27所示,通过对每个块进行块匹配来计算运动向量,从而创建运动向量的直方图,具有最大频率的运动向量被检测为整个画面的运动向量。结果,如图28所示,在关注帧的图像和相对于该关注帧的时间上前一帧的图像之间检测出画面运动向量Amv1,在关注帧的图像和相对于该关注帧的时间上后一帧的图像之间检测出画面运动向量Amv2。
在步骤S323中,跟踪区检测单元1044执行跟踪区提取处理。下面参考图43的流程图来描述图42中的步骤S323的跟踪区提取处理的详细例子。
在步骤S341中,画面位置移动单元10440-1移动图像F1中的关注帧的画面位置。
在步骤S342中,帧差计算单元10441-1计算在步骤S341中画面位置已被移动的关注帧的图像和相对于关注帧的时间上前一帧的图像之间的差。
在步骤S343中,画面位置移动单元10440-2移动图像F1中相对于关注帧的时间上后一帧的画面位置。
在步骤S344中,帧差计算单元10441-2计算在步骤S341中画面位置已被移动的关注帧的图像和在步骤S343中画面位置已被移动的相对于关注帧的时间上后一帧的图像之间的差。
这样,例如图30所示,画面位置基于画面运动向量Amv1和画面运动向量Amv2而被移动,结果获得如图30的“帧差计算”部分所描述的图像的信息。
在步骤S345中,在步骤S343的处理和步骤S344的处理中已获得帧差的两幅图像之间,AND区提取单元10442提取被公共提取的像素(AND区)。这样,例如,获得了如图30的“AND区提取”部分所描述的图像的信息。跟踪区(AND区)就这样被提取。
下面返回图42,在步骤S323的处理之后处理前进到步骤S324。
在步骤S324中,区域内块位置检测单元1045判断是否所有的跟踪点候选都不包含在跟踪区内、而且在对于所有跟踪点候选设置的各个搜索范围内是否没有包含在跟踪区内的块。
在步骤S324判定所有的跟踪点候选都不包含在跟踪区内、而且在对于所有跟踪点候选设置的各个搜索范围内都没有包含在跟踪区内的块的情况下,处理前进到步骤S325,此处由块位置检测单元1041检测出块位置。注意,在步骤S325中,对通常的块位置进行检测,而不是对跟踪区内的块位置进行检测。
另一方面,在步骤S324判定跟踪点候选之一包含在跟踪区内、而且在对于跟踪点候选之一设置的搜索范围内存在包含在跟踪区内的块的情况下,处理前进到步骤S326,此处区域内块位置检测单元1045的处理检测跟踪区内的块位置。
在步骤S327中,区域内运动整合单元1046确定最终块位置并输出向量X1和Y1。此时,如上所述,在从区域内块位置检测单元1045提供块位置的中心的坐标(tvx,tvy)的情况下,例如,在从区域内块位置检测单元1045提供的坐标(tvx,tvy)的模式值被取作最终块位置,并且从块位置检测单元1041输入块位置的中心的坐标(mvx,mvy)的情况下,区域内运动整合单元1046执行上述表达式(18)或表达式(19)所示的运算,以确定作为最终块位置的坐标。
这样就执行了第一分层运动检测处理。根据这样的处理,提取出运动对象,并且只能在组成提取出的对象的像素区内进行跟踪点检测。结果,可以更有效地进行跟踪点检测处理。
下面参考图44的流程图来描述由层次化单元103执行的层次化处理的详细例子。该处理例如用作在图35中的步骤S103处执行的处理、或者在图40中的步骤S203或S209处执行的处理,取代图36中的处理。
在步骤S361中,图32中的缩小图像生成单元1030使图像的尺寸缩小。
在步骤S362中,缩小图像生成单元1030输出图像F2。
在步骤S363中,图32中的帧抽取单元1032在时间方向上以预定的帧间隔(例如5帧)使图像F2变稀疏。
在步骤S364中,运动差计算单元1034计算运动差。此时,如上所述,例如,对应于坐标(mvx,mvy)的候选块的绝对差之和的值被输出。注意,在该处理作为图40中的步骤S209的处理被执行的情况下,在步骤S364中对于在步骤S208中提取出的所有跟踪点候选(x0(w,h),y0(w,h))都计算绝对差之和的值。
在步骤S365中,帧抽取指定单元1035判断通过步骤S364的处理计算出的运动差(从运动差计算单元1034提供的绝对差之和的值)是否包含在预定的阈值范围内。
在步骤S365判定通过步骤S364的处理计算出的运动差包含在预定的阈值范围内的情况下,处理前进到步骤S366。
在步骤S366中,帧抽取指定单元1035调节帧抽取间隔。
对于步骤S366的处理,如上所述,在关于所有跟踪点候选的绝对差之和的值都大于预定阈值的情况下,帧抽取间隔减小例如1帧。另外,在关于所有跟踪点候选的绝对差之和的值都小于预定阈值的情况下,帧抽取间隔增大例如1帧。
接着,按照通过步骤S366的处理调节后的帧抽取间隔来执行步骤S366的处理。
这样,步骤S363到S366的处理被重复执行,直到在步骤S365中判定通过步骤S364的处理计算出的运动差包含在预定的阈值范围内为止。
如果在步骤S365中判定通过步骤S364的处理计算出的运动差包含在预定的阈值范围内,那么处理前进到步骤S367,此处帧抽取单元1032输出图像F1。
这样就执行了层次化处理。根据这样的处理,可以在进行对象跟踪时设定最优的帧抽取间隔。由此可以更准确、更有效地进行对象跟踪。
注意,上述处理系列不仅可以用硬件执行,也可以用软件执行。在用软件执行上述处理系列的情况下,构成该软件的程序被从网络或记录介质安装到内置于专用硬件的计算机中,或者被安装到例如通用个人计算机700等当中,如图45所示,该通用个人计算机700能够利用所安装的各种类型的程序来实现多种功能。
在图45中,CPU(中央处理单元)701根据存储在ROM(只读存储器)702中的程序、或者从存储单元708加载到RAM(随机访问存储器)703中的程序来执行各种类型的处理。CPU 701执行各种处理所用的数据等也被妥善地存储在RAM 703中。
CPU 701、ROM 702和RAM 703通过总线704互连。输入/输出接口705也连接到总线704。
由键盘、鼠标等组成的输入单元706;由CRT(阴极射线管)、LCD(液晶显示器)等显示器、扬声器等组成的输出单元707;由硬盘等组成的存储单元708;由调制解调器、诸如LAN卡等网络接口卡组成的通信单元709......也连接到输入/输出接口705。通信单元709通过包含因特网的网络来进行通信处理。
驱动器710也适当地连接到输入/输出接口705,在该驱动器710上适当地安装有可移动介质711,例如磁盘、光盘、磁光盘、半导体存储器等,从驱动器710读出的计算机程序被适当地安装到存储单元708。
在用软件执行上述处理系列的情况下,从由因特网等网络组成的记录介质、可移动介质711等安装组成该软件的程序。
注意,该记录介质不仅包括由可移动介质711组成的记录介质,该可移动介质711由磁盘(包括软盘)、光盘(包括CD-ROM(压缩盘只读存储器)和DVD(数字多功能盘))、磁光盘(包括MD(迷你盘)(注册商标))、半导体存储器等构成,上面记录有与设备主单元分开分发给用户的程序,而且该记录介质还包括由ROM 702、包含在存储单元708中的硬盘等组成的记录介质,要分发给用户的程序以预先安装的状态被记录在设备主单元中,如图45所示。
注意,用于执行本说明书前面描述的处理系列的各个步骤不仅包括根据描述的顺序按时间顺序执行的处理,还包括不一定按时间顺序执行、而是并行或单独执行的处理。
本发明包含在2008年6月6日递交给日本特许厅的日本专利申请JP 2008-149051中公开的主题,该申请的全部内容以引用的方式被合并到本文中。
本领域的技术人员应当理解,根据设计需要和到目前所知的其它因素,可以做出各种修改、组合、子组合和替代,只要它们落在所附权利要求及其等同物的范围内即可。
Claims (18)
1.一种跟踪点检测设备,包括:
帧抽取装置,被配置为对由时间上连续的多个帧图像组成的运动图像的帧间隔进行抽取;
第一检测装置,被配置为在帧被抽取后的所述运动图像的两个连续帧中检测与时间上前一帧的预定像素相对应的时间上后一帧的像素作为跟踪点;
前向检测装置,被配置为执行前向检测,即在与时间相同的方向上依次在所述被抽取的帧中的每一帧上检测与帧被抽取后的所述运动图像的时间上前一帧的预定像素相对应的像素;
反向检测装置,被配置为执行反向检测,即在与时间相反的方向上依次在所述被抽取的帧中的每一帧上检测与帧被抽取后的所述运动图像的时间上后一帧的所述检测出的像素相对应的像素;和
第二检测装置,被配置为通过采用代表所述前向检测所检测出的像素的位置和所述反向检测所检测出的像素的位置的信息进行的运算,来检测每个所述被抽取的帧的预定像素作为跟踪点。
2.根据权利要求1所述的跟踪点检测设备,还包括:
缩小装置,被配置为缩小由时间上连续的多个帧图像组成的运动图像;
其中所述帧抽取装置对所述缩小后的运动图像的帧间隔进行抽取;
并且其中所述第一检测装置和所述第二检测装置分别检测所述缩小后的运动图像的帧的跟踪点。
3.根据权利要求2所述的跟踪点检测设备,还包括:
转换装置,被配置为将由所述第二检测装置检测出的跟踪点的像素位置转换为未被缩小的所述运动图像的帧的所述跟踪点的像素位置。
4.根据权利要求1所述的跟踪点检测设备,还包括:
候选设置装置,被配置为在帧被抽取的所述运动图像的时间上前一帧中设置多个像素用作候选;
其中所述第一检测装置检测时间上后一帧中与时间上前一帧的每个用作候选的像素相对应的每个像素作为跟踪点候选;
并且其中所述前向检测装置在前向上、在每个所述被抽取的帧上检测与时间上前一帧中用作候选的每个像素相对应的每个像素;
并且其中所述反向检测装置在反向上、在每个所述被抽取的帧上检测与时间上后一帧中被检测为所述跟踪点候选的像素相对应的每个像素;
并且其中所述第二检测装置通过采用代表所述前向检测所检测出的每个像素的位置和所述反向检测所检测出的每个像素的位置的信息进行的运算,在每个所述被抽取的帧上检测用作跟踪点候选的多个像素中的每一个。
5.根据权利要求4所述的跟踪点检测设备,在代表由所述候选设置装置设置的、所述时间上前一帧上用作候选的所述多个像素中的预定像素的位置的信息;代表所述时间上后一帧上被所述第一检测装置检测为跟踪点候选的、与所述预定像素相对应的像素的位置的信息;代表每个所述被抽取的帧上由所述前向检测装置在前向上检测出的、与所述预定像素相对应的像素的位置的信息;代表每个所述被抽取的帧上由所述反向检测装置在反向上检测出的、与所述预定像素相对应的像素的位置的信息;代表所述预定像素和与所述跟踪点候选相对应的、每个所述被抽取的帧上被所述第二检测装置检测为跟踪点候选的像素的位置的信息被相互关联并被取作一组跟踪点候选群的情况下,所述跟踪点检测设备还包括:
存储装置,被配置为存储与由所述候选设置装置设置的、用作候选的所述像素的数量相同组数的跟踪点候选群。
6.根据权利要求5所述的跟踪点检测设备,其中所述第一检测装置计算时间上前一帧中以预定像素为中心、由多个像素组成的一个块的像素值和所述时间上后一帧中以与所述预定像素相对应的位置上的像素周围的多个像素中的每一个为中心、由多个像素组成的多个块的像素值之间的绝对差之和,在所述多个块中检测用作所述绝对差之和的值最小的块的中心的像素作为跟踪点。
7.根据权利要求6所述的跟踪点检测设备,其中所述第一检测装置设置以运动检测像素范围内的每个像素为中心、由多个像素组成的多个块,该运动检测像素范围是以所述时间上前一帧的预定像素为中心的预定区域,检测与所述运动检测像素范围内的每个像素相对应的所述跟踪点的像素,并且检测基于与所述运动检测像素范围内的每个像素相对应的所述跟踪点的像素的坐标值计算出的坐标值作为时间上后一帧中与时间上前一帧的预定像素相对应的跟踪点的位置。
8.根据权利要求7所述的跟踪点检测设备,还包括:
差值计算装置,被配置为计算在以时间上比所述时间上前一帧更靠前的帧中预先检测出的跟踪点的像素为中心的预定区域内的像素值和以由所述候选设置装置设置的、所述时间上前一帧的用作候选的所述多个像素中的每一个为中心的预定区域内的像素值之间的绝对差之和的值;和
距离计算装置,被配置为基于被存储在所述存储装置中的、代表在所述前向上检测出的每个所述被抽取的帧的像素位置的信息以及代表在所述反向上检测出的每个所述被抽取的帧的像素位置的信息,计算时间上位于所述被抽取的帧的中间的帧上的、在前向上检测出的所述像素和在反向上检测出的所述像素之间的距离。
9.根据权利要求8所述的跟踪点检测设备,其中所述计算出的绝对差之和的值以及所述计算出的距离分别与预定值进行比较,从而从由所述候选设置装置设置的用作候选的所述多个像素中检测出满足预先设定的条件的多个像素,并且基于满足所述预先设定的条件的每个像素的位置的信息来确定由所述候选设置装置设置的用作候选的所述多个像素中的一个像素,并且在所述存储装置存储的多个跟踪点群中,与所述被确定的一个像素相对应的跟踪点群被取作每一帧上的跟踪点。
10.根据权利要求1所述的跟踪点检测设备,还包括:
帧间隔增大/减小装置,被配置为在帧被抽取后的所述运动图像的连续两帧当中,基于以时间上前一帧的预定像素为中心的预定区域内的像素值和以所述时间上后一帧中由所述第一检测装置检测出的像素为中心的预定区域内的像素值之间的绝对差之和的值,来增大/减小要由所述帧抽取装置抽取的帧间隔。
11.根据权利要求1所述的跟踪点检测设备,还包括:
模板保存装置,被配置为保存预先拍摄的图像作为模板;
对象提取装置,被配置为从所述运动图像的预定帧的图像中提取未显示在所述模板上的对象;和
像素确定装置,被配置为从所述提取出的对象的图像中确定用于检测所述跟踪点的像素。
12.根据权利要求1所述的跟踪点检测设备,所述第一检测装置包括:
区域提取装置,被配置为在帧被抽取后的所述运动图像中、基于关注帧、该关注帧的时间上前一帧以及该关注帧的时间上后一帧来提取与运动对象相对应的区域;和
区域内检测装置,被配置为从所述区域提取装置提取出的区域中检测与所述时间上前一帧的预定像素相对应的所述关注帧的像素。
13.根据权利要求12所述的跟踪点检测设备,所述区域提取装置包括:
第一画面位置移动装置,被配置为基于在所述关注帧和所述关注帧的时间上前一帧之间获得的画面运动向量来移动所述关注帧的画面位置;
第一帧差计算装置,被配置为计算画面位置被移动的所述关注帧的图像和所述关注帧的时间上前一帧的图像之间的差;
第二画面位置移动装置,被配置为基于在所述关注帧和所述关注帧的时间上后一帧之间获得的画面运动向量来移动所述关注帧的画面位置;
第二帧差计算装置,被配置为计算画面位置被移动的所述关注帧的图像和所述关注帧的时间上后一帧的图像之间的差;和
AND区提取装置,被配置为提取与所述第一帧差计算装置计算出的所述差相对应的像素和与所述第二帧差计算装置计算出的所述差相对应的像素之间的AND区,作为与对象相对应的区域。
14.一种跟踪点检测方法,包括以下步骤:
对由时间上连续的多个帧图像组成的运动图像的帧间隔进行抽取;
在帧被抽取后的所述运动图像的两个连续帧中检测与时间上前一帧的预定像素相对应的时间上后一帧的像素作为跟踪点;
前向检测步骤,即在与时间相同的方向上依次在所述被抽取的帧中的每一帧上检测与帧被抽取后的所述运动图像的时间上前一帧的预定像素相对应的像素;
反向检测步骤,即在与时间相反的方向上依次在所述被抽取的帧中的每一帧上检测与帧被抽取后的所述运动图像的时间上后一帧的所述检测出的像素相对应的像素;以及
通过采用代表所述前向检测所检测出的像素的位置和所述反向检测所检测出的像素的位置的信息进行的运算,检测每个所述被抽取的帧的预定像素作为跟踪点。
15.一种使计算机用作跟踪点检测设备的程序,该跟踪点检测设备包括:
帧抽取装置,被配置为对由时间上连续的多个帧图像组成的运动图像的帧间隔进行抽取;
第一检测装置,被配置为在帧被抽取后的所述运动图像的两个连续帧中检测与时间上前一帧的预定像素相对应的时间上后一帧的像素作为跟踪点;
前向检测装置,被配置为执行前向检测,即在与时间相同的方向上依次在所述被抽取的帧中的每一帧上检测与帧被抽取后的所述运动图像的时间上前一帧的预定像素相对应的像素;
反向检测装置,被配置为执行反向检测,即在与时间相反的方向上依次在所述被抽取的帧中的每一帧上检测与帧被抽取后的所述运动图像的时间上后一帧的所述检测出的像素相对应的像素;和
第二检测装置,被配置为通过采用代表所述前向检测所检测出的像素的位置和所述反向检测所检测出的像素的位置的信息进行的运算,来检测每个所述被抽取的帧的预定像素作为跟踪点。
16.一种记录介质,上面记录有根据权利要求15所述的程序。
17.一种跟踪点检测设备,包括:
帧抽取单元,被配置为对由时间上连续的多个帧图像组成的运动图像的帧间隔进行抽取;
第一检测单元,被配置为在帧被抽取后的所述运动图像的两个连续帧中检测与时间上前一帧的预定像素相对应的时间上后一帧的像素作为跟踪点;
前向检测单元,被配置为执行前向检测,即在与时间相同的方向上依次在所述被抽取的帧中的每一帧上检测与帧被抽取后的所述运动图像的时间上前一帧的预定像素相对应的像素;
反向检测单元,被配置为执行反向检测,即在与时间相反的方向上依次在所述被抽取的帧中的每一帧上检测与帧被抽取后的所述运动图像的时间上后一帧的所述检测出的像素相对应的像素;和
第二检测单元,被配置为通过采用代表所述前向检测所检测出的像素的位置和所述反向检测所检测出的像素的位置的信息进行的运算,来检测每个所述被抽取的帧的预定像素作为跟踪点。
18.一种使计算机用作跟踪点检测设备的程序,该跟踪点检测设备包括:
帧抽取单元,被配置为对由时间上连续的多个帧图像组成的运动图像的帧间隔进行抽取;
第一检测单元,被配置为在帧被抽取后的所述运动图像的两个连续帧中检测与时间上前一帧的预定像素相对应的时间上后一帧的像素作为跟踪点;
前向检测单元,被配置为执行前向检测,即在与时间相同的方向上依次在所述被抽取的帧中的每一帧上检测与帧被抽取后的所述运动图像的时间上前一帧的预定像素相对应的像素;
反向检测单元,被配置为执行反向检测,即在与时间相反的方向上依次在所述被抽取的帧中的每一帧上检测与帧被抽取后的所述运动图像的时间上后一帧的所述检测出的像素相对应的像素;和
第二检测单元,被配置为通过采用代表所述前向检测所检测出的像素的位置和所述反向检测所检测出的像素的位置的信息进行的运算,来检测每个所述被抽取的帧的预定像素作为跟踪点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008149051 | 2008-06-06 | ||
JP2008-149051 | 2008-06-06 | ||
JP2008149051A JP4507129B2 (ja) | 2008-06-06 | 2008-06-06 | 追尾点検出装置および方法、プログラム、並びに記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101599178A true CN101599178A (zh) | 2009-12-09 |
CN101599178B CN101599178B (zh) | 2012-09-05 |
Family
ID=41055338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101426617A Expired - Fee Related CN101599178B (zh) | 2008-06-06 | 2009-06-05 | 跟踪点检测设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090304234A1 (zh) |
EP (1) | EP2131329A3 (zh) |
JP (1) | JP4507129B2 (zh) |
CN (1) | CN101599178B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629970A (zh) * | 2012-03-31 | 2012-08-08 | 广东威创视讯科技股份有限公司 | 视频图像的噪点去除方法和系统 |
CN102970557A (zh) * | 2011-08-31 | 2013-03-13 | 株式会社东芝 | 对象搜索装置、视频显示装置及对象搜索方法 |
CN106228571A (zh) * | 2016-07-15 | 2016-12-14 | 北京光年无限科技有限公司 | 面向机器人的目标物追踪检测方法及装置 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100970119B1 (ko) * | 2009-11-23 | 2010-07-15 | (주)올라웍스 | 적응적으로 객체를 추적하는 방법, 시스템, 및 컴퓨터 판독 가능한 기록 매체 |
KR101662738B1 (ko) * | 2010-02-05 | 2016-10-05 | 삼성전자주식회사 | 영상 처리 방법 및 그 장치 |
JP5018932B2 (ja) * | 2010-06-23 | 2012-09-05 | 株式会社ニコン | 撮像装置 |
JP5761989B2 (ja) * | 2010-12-21 | 2015-08-12 | キヤノン株式会社 | 画像認識装置、画像認識方法及びプログラム |
JP5609628B2 (ja) * | 2010-12-24 | 2014-10-22 | カシオ計算機株式会社 | 情報表示装置及びプログラム |
KR101268102B1 (ko) | 2011-07-21 | 2013-05-29 | 인하대학교 산학협력단 | 비디오 감시 시스템 및 방법 |
JP5868053B2 (ja) * | 2011-07-23 | 2016-02-24 | キヤノン株式会社 | 画像処理方法、画像処理装置、およびプログラム |
CN103106388B (zh) * | 2011-11-15 | 2017-02-08 | 中国科学院深圳先进技术研究院 | 图像识别方法和系统 |
JP5954106B2 (ja) * | 2012-10-22 | 2016-07-20 | ソニー株式会社 | 情報処理装置、情報処理方法、プログラム、及び情報処理システム |
KR20140061266A (ko) * | 2012-11-11 | 2014-05-21 | 삼성전자주식회사 | 다중 경로 궤적 분석을 이용한 영상 객체 추적 방법 및 장치 |
US10554967B2 (en) * | 2014-03-21 | 2020-02-04 | Futurewei Technologies, Inc. | Illumination compensation (IC) refinement based on positional pairings among pixels |
KR102198852B1 (ko) * | 2014-03-24 | 2021-01-05 | 삼성전자 주식회사 | 홍채 인식 장치 및 이를 포함하는 모바일 장치 |
CN104618679B (zh) * | 2015-03-13 | 2018-03-27 | 南京知乎信息科技有限公司 | 一种监控视频中抽取关键信息帧的方法 |
US9860553B2 (en) | 2015-03-18 | 2018-01-02 | Intel Corporation | Local change detection in video |
WO2017013863A1 (ja) | 2015-07-17 | 2017-01-26 | 日本電気株式会社 | 照射システム、照射方法およびプログラム記憶媒体 |
CN105898107B (zh) * | 2016-04-21 | 2019-01-25 | 北京格灵深瞳信息技术有限公司 | 一种目标物体抓拍方法及系统 |
KR102476897B1 (ko) * | 2016-10-05 | 2022-12-12 | 삼성전자주식회사 | 객체 추적 방법 및 장치, 및 이를 이용한 3d 디스플레이 장치 |
US10846561B1 (en) | 2020-04-01 | 2020-11-24 | Scandit Ag | Recognition and selection of discrete patterns within a scene or image |
WO2019180917A1 (ja) * | 2018-03-23 | 2019-09-26 | 日本電気株式会社 | オブジェクト追跡装置、オブジェクト追跡方法、及びオブジェクト追跡プログラム |
JP7129201B2 (ja) * | 2018-04-18 | 2022-09-01 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法、及びプログラム |
JP7161865B2 (ja) * | 2018-05-08 | 2022-10-27 | 日本放送協会 | 映像解析装置及びそのプログラム |
CN109831622B (zh) * | 2019-01-03 | 2021-06-22 | 华为技术有限公司 | 一种拍摄方法及电子设备 |
TWI716009B (zh) * | 2019-06-21 | 2021-01-11 | 晶睿通訊股份有限公司 | 影像校正方法及其相關監控攝影系統 |
JP7481785B2 (ja) * | 2020-02-28 | 2024-05-13 | パナソニックオートモーティブシステムズ株式会社 | 検知装置、検知方法、およびプログラム |
US11087105B1 (en) | 2020-05-15 | 2021-08-10 | Scandit Ag | Performance improvements for recognition of optical patterns in images |
US11295163B1 (en) | 2020-04-01 | 2022-04-05 | Scandit Ag | Recognition of optical patterns in images acquired by a robotic device |
US11514665B2 (en) | 2020-04-01 | 2022-11-29 | Scandit Ag | Mapping optical-code images to an overview image |
US11216628B2 (en) | 2020-04-01 | 2022-01-04 | Scandit Ag | High-speed scanning of optical patterns using a digital camera |
US11922271B1 (en) | 2020-05-15 | 2024-03-05 | Scandit Ag | Virtual screen standby mode for mobile device camera |
US11244147B2 (en) | 2020-05-15 | 2022-02-08 | Scandit Ag | Optical data exchange while preserving social distancing |
US11403477B1 (en) | 2020-05-15 | 2022-08-02 | Scandit Ag | Image exposure performance improvements for recognition of optical patterns |
US11290643B1 (en) | 2020-06-26 | 2022-03-29 | Scandit Ag | Efficient digital camera image acquisition and analysis |
US11417001B1 (en) | 2020-07-27 | 2022-08-16 | Scandit Ag | Detecting discrete optical patterns using depth estimation |
CN112101360B (zh) * | 2020-11-17 | 2021-04-27 | 浙江大华技术股份有限公司 | 一种目标检测方法、装置以及计算机可读存储介质 |
US11495036B1 (en) | 2021-01-29 | 2022-11-08 | Scandit Ag | Segmenting images for optical character recognition |
US11880738B1 (en) | 2021-08-17 | 2024-01-23 | Scandit Ag | Visual odometry for optical pattern scanning in a real scene |
US11557136B1 (en) | 2022-02-23 | 2023-01-17 | Scandit Ag | Identity document verification based on barcode structure |
KR102593676B1 (ko) * | 2023-06-30 | 2023-10-25 | (주)하늘소프트 | 역방향 추적을 이용한 객체 검출 성능 향상 방법 및이를 위한 객체 추적 장치 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9001468D0 (en) * | 1990-01-23 | 1990-03-21 | Sarnoff David Res Center | Computing multiple motions within an image region |
US5311305A (en) * | 1992-06-30 | 1994-05-10 | At&T Bell Laboratories | Technique for edge/corner detection/tracking in image frames |
JPH07284017A (ja) * | 1994-04-05 | 1995-10-27 | Matsushita Electric Ind Co Ltd | カット検出装置 |
US5635982A (en) * | 1994-06-27 | 1997-06-03 | Zhang; Hong J. | System for automatic video segmentation and key frame extraction for video sequences having both sharp and gradual transitions |
JP3625910B2 (ja) * | 1995-09-11 | 2005-03-02 | 松下電器産業株式会社 | 移動物体抽出装置 |
KR100209193B1 (ko) * | 1996-08-31 | 1999-07-15 | 전주범 | 화상전화기의 목표물 추적장치 및 방법 |
JP3612227B2 (ja) * | 1998-01-07 | 2005-01-19 | 株式会社東芝 | 物体抽出装置 |
JPH11259662A (ja) * | 1998-01-09 | 1999-09-24 | Hewlett Packard Co <Hp> | 画像フレ―ムの移動検出方法および装置 |
US6724915B1 (en) * | 1998-03-13 | 2004-04-20 | Siemens Corporate Research, Inc. | Method for tracking a video object in a time-ordered sequence of image frames |
US20010008561A1 (en) * | 1999-08-10 | 2001-07-19 | Paul George V. | Real-time object tracking system |
US6549643B1 (en) * | 1999-11-30 | 2003-04-15 | Siemens Corporate Research, Inc. | System and method for selecting key-frames of video data |
JP2002074351A (ja) * | 2000-08-30 | 2002-03-15 | Minolta Co Ltd | 歪み補正装置およびその方法ならびに歪み補正プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP4596216B2 (ja) * | 2001-06-20 | 2010-12-08 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
US6778180B2 (en) * | 2001-09-28 | 2004-08-17 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Video image tracking engine |
JP3903890B2 (ja) * | 2002-08-15 | 2007-04-11 | ソニー株式会社 | 画像処理装置および画像処理方法 |
EP1537534A2 (en) * | 2002-09-12 | 2005-06-08 | Nline Corporation | System and method for acquiring and processing complex images |
CN1274146C (zh) * | 2002-10-10 | 2006-09-06 | 北京中星微电子有限公司 | 运动图像检测方法 |
US6757434B2 (en) * | 2002-11-12 | 2004-06-29 | Nokia Corporation | Region-of-interest tracking method and device for wavelet-based video coding |
JP4217876B2 (ja) * | 2002-12-20 | 2009-02-04 | 財団法人生産技術研究奨励会 | 画像における移動物体の追跡方法及び装置 |
US6999600B2 (en) * | 2003-01-30 | 2006-02-14 | Objectvideo, Inc. | Video scene background maintenance using change detection and classification |
JP2005099953A (ja) * | 2003-09-22 | 2005-04-14 | Fuji Xerox Co Ltd | 画像処理装置、それを備えるオブジェクト追跡システム、画像処理方法及び画像処理プログラム |
JP4725105B2 (ja) | 2004-01-06 | 2011-07-13 | ソニー株式会社 | 画像処理装置および方法、プログラム並びに記録媒体 |
KR101108634B1 (ko) * | 2004-01-06 | 2012-01-31 | 소니 주식회사 | 화상 처리 장치 및 화상 처리 방법 및 기록 매체 |
CN100541535C (zh) * | 2004-01-06 | 2009-09-16 | 索尼株式会社 | 图像处理设备和方法 |
JP2007274543A (ja) | 2006-03-31 | 2007-10-18 | Sony Corp | 画像処理装置および方法、プログラム、並びに記録媒体 |
JP2007272735A (ja) * | 2006-03-31 | 2007-10-18 | Sony Corp | 画像処理装置および方法、プログラム、並びに記録媒体 |
US7983448B1 (en) * | 2006-06-02 | 2011-07-19 | University Of Central Florida Research Foundation, Inc. | Self correcting tracking of moving objects in video |
JP4787322B2 (ja) * | 2006-06-16 | 2011-10-05 | ビ−エイイ− システムズ パブリック リミテッド カンパニ− | 目標追跡に関する改善策 |
JP5110246B2 (ja) * | 2006-06-27 | 2012-12-26 | 株式会社メガチップス | 転倒検知装置、プログラム、転倒検知方法、及び転倒検知システム |
KR100837435B1 (ko) * | 2006-10-25 | 2008-06-12 | 삼성전자주식회사 | 촬영장치 및 이의 대상 추적제어방법 |
JP2008149051A (ja) | 2006-12-20 | 2008-07-03 | Metoro:Kk | 玩具用変位構造体 |
US7756296B2 (en) * | 2007-03-27 | 2010-07-13 | Mitsubishi Electric Research Laboratories, Inc. | Method for tracking objects in videos using forward and backward tracking |
US7945078B2 (en) * | 2007-05-14 | 2011-05-17 | University Of Central Florida Research Institute, Inc. | User accessible tissue sample image database system and method |
CN101141633B (zh) * | 2007-08-28 | 2011-01-05 | 湖南大学 | 一种复杂场景中的运动目标检测与跟踪方法 |
CN101287142A (zh) * | 2008-05-16 | 2008-10-15 | 清华大学 | 基于双向跟踪和特征点修正的平面视频转立体视频的方法 |
-
2008
- 2008-06-06 JP JP2008149051A patent/JP4507129B2/ja not_active Expired - Fee Related
-
2009
- 2009-06-03 US US12/477,418 patent/US20090304234A1/en not_active Abandoned
- 2009-06-05 CN CN2009101426617A patent/CN101599178B/zh not_active Expired - Fee Related
- 2009-06-05 EP EP09162015A patent/EP2131329A3/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102970557A (zh) * | 2011-08-31 | 2013-03-13 | 株式会社东芝 | 对象搜索装置、视频显示装置及对象搜索方法 |
CN102629970A (zh) * | 2012-03-31 | 2012-08-08 | 广东威创视讯科技股份有限公司 | 视频图像的噪点去除方法和系统 |
CN102629970B (zh) * | 2012-03-31 | 2015-01-21 | 广东威创视讯科技股份有限公司 | 视频图像的噪点去除方法和系统 |
CN106228571A (zh) * | 2016-07-15 | 2016-12-14 | 北京光年无限科技有限公司 | 面向机器人的目标物追踪检测方法及装置 |
CN106228571B (zh) * | 2016-07-15 | 2019-04-19 | 北京光年无限科技有限公司 | 面向机器人的目标物追踪检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4507129B2 (ja) | 2010-07-21 |
US20090304234A1 (en) | 2009-12-10 |
CN101599178B (zh) | 2012-09-05 |
EP2131329A2 (en) | 2009-12-09 |
JP2009294983A (ja) | 2009-12-17 |
EP2131329A3 (en) | 2012-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101599178B (zh) | 跟踪点检测设备和方法 | |
Dockstader et al. | Multiple camera tracking of interacting and occluded human motion | |
CN109271933B (zh) | 基于视频流进行三维人体姿态估计的方法 | |
CN113963445B (zh) | 一种基于姿态估计的行人摔倒动作识别方法及设备 | |
CN108256562A (zh) | 基于弱监督时空级联神经网络的显著目标检测方法及系统 | |
CN101477690B (zh) | 一种视频帧序列中物体轮廓跟踪的方法和装置 | |
CN106952288B (zh) | 基于卷积特征和全局搜索检测的长时遮挡鲁棒跟踪方法 | |
CN106210449B (zh) | 一种多信息融合的帧率上变换运动估计方法及系统 | |
CN112232134B (zh) | 一种基于沙漏网络结合注意力机制的人体姿态估计方法 | |
CN101883209B (zh) | 一种背景模型与三帧差分相结合进行视频背景检测的方法 | |
CN111161313B (zh) | 一种视频流中的多目标追踪方法及装置 | |
CN104732203A (zh) | 一种基于视频信息的情绪识别与跟踪方法 | |
Lin et al. | Zig-zag network for semantic segmentation of RGB-D images | |
CN110827320B (zh) | 基于时序预测的目标跟踪方法和装置 | |
Sormann et al. | Bp-mvsnet: Belief-propagation-layers for multi-view-stereo | |
CN104268827A (zh) | 视频图像局部区域放大的方法和装置 | |
CN110531618B (zh) | 基于有效关键帧的闭环检测机器人自定位误差消除方法 | |
CN109960452A (zh) | 图像处理方法及其装置、存储介质 | |
CN109934183A (zh) | 图像处理方法及装置、检测设备及存储介质 | |
CN111402429B (zh) | 一种尺度还原、三维重建方法、系统、存储介质及设备 | |
CN110675311A (zh) | 一种素描序约束下的素描生成的方法、装置及存储介质 | |
Son et al. | Partial convolutional LSTM for spatiotemporal prediction of incomplete data | |
Wei et al. | Bidirectional attentional interaction networks for rgb-d salient object detection | |
Xiao et al. | Progressive motion boosting for video frame interpolation | |
CN106251364A (zh) | 目标跟踪方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120905 Termination date: 20140605 |