图像处理设备、方法和程序以及目标函数的制作方法

文档序号:6457724阅读:187来源:国知局
专利名称:图像处理设备、方法和程序以及目标函数的制作方法
技术领域
本发明涉及图像处理设备、方法和程序以及目标函数(objective fonction),更具体而言,涉及这样的图像处理设备、方法和程序以及目标 函数,该图像处理设备、方法和程序以及目标函数适合基于对诸如运动人 体之类的对象的连续成像而得到的图像、使用由多个部分构成的3D人 体、利用三维(3D)人体跟踪来对所述对象的运动建模。
背景技术
如图1A和1B所示例性示出的,利用3D人体跟踪,在时间上连续成 像所得到的帧图像Fo和Fi中,在作为参考帧图像的帧图像Fo中的对象被 划分为多个部分,例如,头部部分、躯干部分、从肩膀到肘部的胳膊部 分、从肘部到指尖的胳膊部分、从大腿到膝盖的腿部部分、从膝盖到脚趾 的腿部部分等等。这些部分中的每一个都是三维的,并且得到的图像是 3D人体图像Bo。在这样的3D人体圈像Bq中,基于帧图像F,来跟踪每个 部分的运动,从而生成与帧图像F^目对应的3D人体图像Bi。这里所关心的是,在跟踪每个部分的运动时,如果单独地对各个部分 进行这种运动跟踪,则本应当通过关节(joint)来相互连接的部分可能被 分离,例如参考图1D的3D人体图像BV为了防止发生这样的问题,运 动跟踪需要根据这样的要求来执行,即"一个部分在预定接合点处与另一 个部分相切"。下文中,这样的要求被称为关节约束(joint constraint)。为了满足这样的要求,已经提出许多具有关节约束的跟踪方法,例 如,非专禾lj文献1 (D. Demirdjian, T. Ko and T. Darrell. "Constraining Human Body Tracking". Proceedings of ICCV, vol. 2, pp. 1071, 2003)、非专 禾U文献2 (Christoph Bregler, Jitendra Malik and Katherine Pullen. "Twist Based Acquisition and Tracking of Animal and Human Kinematics". IJCV, vol.56, no. 3, pp. 179-194, 2004)、非专利文献3 (Steffen Knoop, Stefan Vacek, and Rudiger Dillmann. "Modeling Joint Constraints for an Articulated 3D Human Body Model with Artificial Correspondences in ICP". Proceedings of Humanoids, pp. 74-79, 2005 )以及非专利文献4 (Ivana Mikic, Mohan Trivedi, Edward Hunter and Pamela Cosman. "Human Body Model Acquisition and Tracking Using Voxel Data". IJCV, vol. 53, no. 3, pp. 199-223, 2003)

发明内容
在引用的参考文献1 (例如非专利文献1)中,提出了这样一种方 法,其中,ICP (Interactive Closest Point,交互式最近点)登记技术被用于 单独地计算每个部分的运动,并且
计算得到的运动被投影成满足线性运动 空间中的关节约束的运动。投影方向由ICP的相关矩阵S"来确定。
使用ICP的相关矩阵2"来确定投影方向的优点在于通过投影后的运 动来一部分接一部分地移动的3D人体的姿势(posture)将最接近于对象 的实际姿势。另一方面,使用ICP的相关矩阵ri来确定投影方向的缺点在于该方 法无法被应用于由单个相机成像得到的任何图像。这是因为,利用ICP登 记技术,3D解压縮是基于观测得到的、在由两个相机同时成像得到的任 意两个图像之间的任何视差(parallax)来执行的。还存在另一个问题, 即,因为3D解压縮的精确度和错误很大程度上取决于投影方向的确定精 确度,所以关于映射方向的判决是不稳定的。此外,利用该ICP登记技术 的计算量很大,并因此处理需要很长时间。
因此,与ICP登记技术相比,希望使得3D人体跟踪可以具有更少的 计算量、更高的精确度和更大的稳定性。
根据本发明的第一实施例,提供了一种图像处理设备,该设备基于通 过对运动中的对象的时间连续成像而得到的多幅帧图像,使用由多个部分 构成的三维(3D)人体来对所述对象的运的坐标的第一矩阵和所述3D人体的每个部分的坐标的第二矩阵,并基于 在参考帧图像之后的帧图像来生成在没有关节约束的情况下估计所述每个 部分的运动的第一运动向量;计算装置,用于使用由估计装置计算得到的 第一矩阵和第二矩阵以及所述第一运动向量来计算在具有关节约束的情况 下估计所述每个部分的运动的第二运动向量,以使得预定目标函数满足预 定要求;以及确定装置,用于根据计算所得的第二运动向量来变换参考帧 图像中的3D人体,从而确定与之后的帧图像相对应的3D人体。在该图像 处理设备中,所述预定目标函数的预定要求是最小化在由第一运动向量变 换得到的3D人体的姿势与由第二运动向量变换得到的3D人体的姿势之间 的差异。所述估计装置可以基于成像所得的、用作参考的参考帧图像中的参考 3D人体的姿势来计算连接所述3D人体的各个部分的关节的坐标的第一矩 阵,并针对所述3D人体的每个部分,来计算位于所述部分中的但看起来 并不是位于相同直线上的多个点的坐标的第二矩阵,并基于在参考帧图像 之后的帧图像来生成在没有关节约束的情况下针对所述每个部分的运动估 计的第一运动向量。此外,利用所述预定目标函数,基于这样的假设,即,在参考帧图像 和之后的帧图像之间的所述对象的运动很小,则可以使得用螺旋运动 (spiral motion)来表示的所述对象的运动成线性。此外,在参考帧图像和之后的帧图像之间的对象的运动可以使用绝对 坐标系来表示。此外,利用所述预定目标函数,基于这样的假设,即,在参考帧图像 和之后的帧图像之间的所述对象的运动很小,则可以使得利用关于彼此正 交的三个轴中的每一个轴的旋转运动来表示的所述对象的运动成线性。此外,在参考帧图像和之后的帧图像之间的所述对象的运动使用相对 坐标系来表示。此外,所述预定目标函数是(A^ - A) t (A* - A),并且计算装置可以通过△* = v(vcv) -Vca来计算用于最小化所述预定目标函数的第二运动向量,其中Y表示第二运 动向量,V表示第一矩阵,C表示第二矩阵,并且A表示述第一运动向根据本发明的第二实施例,提供了一种在图像处理设备中使用的图像 处理方法,该图像处理设备基于通过对运动中的对象的时间连续成像而得到的多幅帧图像,使用由多个部分构成的三维(3D)人体来对所述对象的运动建模。所述方法包括以下步骤基于选择用作参考的任意一幅帧图像中的3D人体的姿势来计算连接所述3D人体的各个部分的关节的坐标的第 一矩阵;计算所述3D人体的每个部分的坐标的第二矩阵;基于在参考帧 图像之后的帧图像来生成在没有关节约束的情况下估计所述每个部分的运 动的第一运动向量;使用计算得到的第一矩阵和第二矩阵以及第一运动向 量来计算在具有关节约束的情况下估计所述每个部分的运动的第二运动向 量,以使得预定目标函数满足预定要求;以及根据计算所得的第二运动向 量来变换参考帧图像中的3D人体,从而确定与之后的帧图像相对应的3D 人体。在该图像处理方法中,所述预定目标函数的预定要求是最小化在由 第一运动向量变换得到的3D人体的姿势与由第二运动向量变换得到的3D 人体的姿势之间的差异。根据本发明的第三实施例,提供了一种用于经计算机来进行控制的程 序,该程序基于通过对运动中的对象的时间连续成像而得到的多幅帧图 像,使用由多个部分构成的三维(3D)人体来对所述对象的运动建模。所 述程序允许所述计算机执行以下步骤基于选择用作参考的任意一幅帧图 像中的3D人体的姿势来计算连接所述3D人体的各个部分的关节的坐标的 第一矩阵;计算所述3D人体的每个部分的坐标的第二矩阵;基于在参考 帧图像之后的帧图像来生成在没有关节约束的情况下估计所述每个部分的 运动的第一运动向量;使用计算得到的第一矩阵和第二矩阵以及第一运动 向量来计算在具有关节约束的情况下估计所述每个部分的运动的第二运动 向量,以使得预定目标函数满足预定要求;以及根据计算所得的第二运动 向量来变换参考帧图像中的3D人体,从而确定与之后的帧图像相对应的 3D人体。在所述程序中,所述预定目标函数的预定要求是最小化在由第一运动向量变换得到的3D人体的姿势与由第二运动向量变换得到的3D人体的姿势之间的差异。根据本发明的第四实施例,提供了一种在三维(3D)人体跟踪建模处 理中使用的目标函数,所述3D人体跟踪建模处理基于通过对运动中的对 象的时间连续成像而得到的多幅帧图像,使用由多个部分构成的三维 (3D)人体来对所述对象的运动建模。在所述目标函数中,输入是在没有 关节约束的情况下针对所述3D人体的每个部分的运动估计的第一运动向 量,而输出是在具有关节约束的情况下针对所述每个部分的运动估计的第 二运动向量,并且在由第一运动向量变换得到的3D人体和由第二运动向 量变换得到的3D人体之间的姿势差异被最小化。在本发明的上述实施例中,基于成像得到的、选择用作参考的任意一 幅帧图像中的3D人体的姿势来计算得到的是连接该3D人体的各个部分的 关节的坐标的第一矩阵和该3D人体的每个部分的坐标的第二矩阵。基于 在参考帧图像之后的帧图像,还生成了在没有关节约束的情况下估计每个 部分的运动的第一运动向量。使用由估计装置计算得到的第一和第二矩阵 以及第一运动向量,以使得预定目标函数满足预定条件的方式,计算得到 在具有关节约束的情况下估计每个部分的运动的的第二运动向量。根据计 算得到的第二运动向量来变换参考帧图像中的3D人体,从而确定与之后 的帧图像相对应的3D人体。这里,预定目标函数的预定要求是最小化在 由第一运动向量变换得到的3D人体与由第二运动向量变换得到的3D人体 之间的差异。在本发明的另一个实施例中,输入是在没有关节约束的情况下针对3D 人体的每个部分的运动估计的第一运动向量,而输出是在具有关节约束的情况下针对每个部分的运动估计的第二运动向量,从而使得所述输出是这 样的第二运动向量,该第二运动向量用于最小化由第一运动向量变换得到 的3D人体与由第二运动向量变换得到的3D人体之间的姿势差异。与ICP登记技术相比,根据本发明一个实施例的3D人体跟踪可以以 更少计算量、更高精确度和更大稳定性来执行。根据本发明另一个实施例,没有关节约束的第一运动向量被用作确定第二运动向量的基础,所述第二运动向量用于最小化由第一运动向量变换 得到的3D人体与由第二运动向量变换得到的3D人体之间的姿势差异。


图1A到1E各自为用于示出三维(3D)人体跟踪的概况的示图;图2是用于示出人体的刚性部分的螺旋运动的示图;图3是示出本发明所应用于的图像处理设备的示例性配置的框图;图4是3D人体图像生成处理的流程图;以及 图5是示出计算机的示例性配置的框图。
具体实施方式
在描述下面的本发明实施例之前,首先举例说明要求了权利的要素和在本说明书或附图中的实施例之间的关系。这旨在证明出于支持权利要 求的描述的目的而提供的实施例在说明书或者附图中得到了描述。因此, 即使针对在本发明的一个实施例中描述了的要素、存在在说明书或者附图 中找得到而在这里找不到的任何特定实施例,也并不意味着该实施例与所 述要素无关。另一方面,即使存在针对所述要素的、这里找得到的任何特 定实施例,也并不意味着该实施例仅与该要素相关。本发明的一个实施例涉及一种图像处理设备(例如,图3的图像处理 设备10),该设备基于对运动中的对象的时间连续成像而得到的多幅帧图 像,使用由多个部分构成的三维(3D)人体来对该对象的运动建模。所述设备包括获取装置(例如,图3的帧图像获取部件11),用于获取作为成像结果的帧图像;估计装置(例如,图3的估计部件12),用于基于在 选择用作参考的、所述帧图像中的任意一幅帧图像中的3D人体的姿势, 来计算连接3D人体的各个部分的关节的坐标的第一矩阵(例如,矩阵 V)和3D人体的每个部分的坐标的第二矩阵(例如,矩阵C),并基于在 参考帧图像之后的帧图像来生成在没有关节约束的情况下估计每个部分的 运动的第一运动向量(例如,运动向量A);计算装置(例如,图3的运 动向量确定部件13),用于使用作为估计装置的计算结果的第一矩阵和第二矩阵以及所述第一运动向量来计算在具有关节约束的情况下估计每个部 分的运动的第二运动向量(例如,运动向量AO ,以使得预定目标函数满足预定要求;以及确定装置(例如,图3的3D人体图像生成部件14), 用于根据作为计算结果的第二运动向量来变换参考帧图像中的3D人体, 从而确定与之后的帧图像相对应的3D人体。在所述图像处理设备中,预 定目标函数的预定要求是最小化由第一运动向量变换得到的3D人体的姿 势与由第二运动向量变换得到的3D人体的姿势之间的差异。本发明的另一个实施例涉及一种包括以下步骤的图像处理方法以及允 许计算机执行以下步骤的程序基于选择用作参考的任意一幅帧图像中的 3D人体的姿势来计算连接该3D人体的各个部分的关节的坐标的第一矩阵 (例如,图4的步骤S2) , 计算该3D人体的每个部分的坐标的第二矩阵 (例如,图4的步骤S3);基于在参考帧图像之后的帧图像来生成在没有 关节约束的情况下估计每个部分的运动的第一运动向量(例如,图4的步 骤S4);使用作为计算结果的第一矩阵和第二矩阵以及所述第一运动向量 来计算在具有关节约束的情况下估计每个部分的运动的第二运动向量,以 使得预定目标函数满足预定要求(例如,图4的步骤S5);以及根据作为 计算结果的第二运动向量来变换参考帧图像中的3D人体,从而确定与之 后的帧图像相对应的3D人体(例如,图4的步骤S6)。在所述方法和程 序中,预定目标函数的预定要求是最小化由第一运动向量变换得到的3D 人体的姿势与由第二运动向量变换得到的3D人体的姿势之间的差异。以下,将参考附图来详细描述本发明所适用的特定实施例。 在本发明的实施例中,为了实现参考图1A到m来描述的三维(3D) 人体跟踪,提出了用于计算具有关节约束的运动向量^的方法,通过该关 节约束人体的各个部分的运动被集成。这种计算是基于作为人体的各个部 分的单独跟踪结果的、没有关节约束的运动向量A来执行的。此外,还提 出了通过对当前帧之前的帧的3D人体图像Bo应用运动向量Y来生成当前 帧的3D人体图像Bi的方法。在本发明的这个实施例中,在3D人体中的每个部分的运动(例如, 位置和姿势的改变)是用两种方式来表示的,从而使用这样两种表示方式来推导出任何最佳目标函数。首先描述第一种表示方式。为了在三维空间中表示人体的刚性部分 (例如,对应于人体的各个部分)的运动,已经在普遍使用利用4x4变换 矩阵的线性变换。利用第一种表示方式,所有刚性部分的运动都通过相对 预定轴的旋转运动和水平地沿着所述轴的平移运动的组合来表示。这种旋 转运动和平移运动的组合被称为螺旋运动。如图2所示,例如,当刚性部分通过旋转角度为e的螺旋运动而从点P(o)移动到点p(e)时,这种运动使用如下方程1所示的指数来表示。<formula>formula see original document page 13</formula>1)在方程1中,e^(为了方便起见,在本说明书中省略了g上面的 这 也适用于以下的情况)表示刚性部分的运动(变换)G。运动G通过泰勒 (Taylor)展开而表示为如下的方程2。<formula>formula see original document page 13</formula>2)在方程2中,I表示单位矩阵。在指数部分中,《表示螺旋运动,并且 由以下方程3的4X4矩阵或者由六维向量表示。<formula>formula see original document page 13</formula>(3)其中,<formula>formula see original document page 13</formula>因此,^表示为如下的方程<formula>formula see original document page 14</formula>注意,在印的六个独立变量中,即,在^e、 ^e、 g3e、 g4e、 ^e和^e 中,前三个^e到^e与螺旋运动中的旋转运动有关,而后三个^e到&e与螺 旋运动中的平移运动有关。这里,假设"在任何连续帧图像F。和Fi之间,刚性部分的运动量很小",则在方程2中的第三项及其后的项可以省略,并且刚性部分的运动 (变换)G可以成线性,如下面的方程6所示。当在连续帧图像Fo和Fi之间的刚性部分的运动量很大时,增大成像 时的帧速率可以减小帧图像之间的运动量。这样一来,"在任何连续帧图 像Fq和F!之间,刚性部分的运动量很小"的假设总是可以成立,并因此 采用方程6来用于刚性部分的运动(变换)G。接下来考虑由N个部分(例如,N个刚性部分)构成的3D人体的运 动。如前所述,因为每个部分的运动由向量^来表示,所以没有关节约束 的3D人体的运动向量A由N个向量ge来表示,如下面的方程7所示。△= 《0N」…(7)N个向量^e各自包括六个独立变量^e到^e,因此3D人体的运动向量A将是6N维的。为了简化方程7,如下面的方程8所示,在ge的六个独立变量中, 即,在^e、 ^e、 w、 g4e、 ^e和^e中,与螺旋运动中的旋转运动相关的前三个^e到^0各自用3D向量ri来表示,而与螺旋运动中的平移运动相关的后三个"e到^e各自用3D向量ti来表示。<formula>formula see original document page 15</formula>9)构成3D人体的N个部分实际上需要受到关节约束。考虑到这点,接 下来将描述根据没有关节约束的3D人体的运动向量A来计算具有关节约束 的3D人体的运动向量A'的方法。注意,以下描述是基于这样的观点来给出的,即,运动向量A变换之 后的3D人体与运动向量A"变换之后的3D人体之间的姿势差异是最小的。具体而言,针对构成3D人体的每个部分来首先确定任意随机三点。 这里,所述三点不应该位于任何相同的直线上。此后计算的是运动向量 △*,利用该运动向量^可以最小化运动向量A变换之后的3D人体与运动向 量A"变换之后的3D人体之间的姿势差异,即,点到点的距离。假设3D人体中的关节数目是M,具有关节约束的3D人体的运动向 量A"每处在由关节坐标形成的3Mx6N关节约束矩阵①的零空间(null space) {3>}中,如上述的非专利文献1所述。接下来描述的是关节约束矩阵①。M个关节用Ji (其中,i二l, 2,...和M)来表示,并且由关节Ji来相互连接的部分的索引用m,和化来表示,从而针对每个关节J^生成以下方程10的3x6N子矩阵。<formula>formula see original document page 15</formula>注意,在方程10中,03表示3X3的零矩阵,而I3表示3X3的单位矩阵'这样形成的M个3X6N子矩阵被排列成列,从而形成方程11的代码实际执行期间采用的本地存储器、大容量存储以及高速緩沖存储器,高 速緩冲存储器是为了减少代码在执行期间必须从大容量存储检索的次数而提 供至少 一 些程序代码的临时存储。输入/输出或者I/0设备(包括但不限于键盘、显示器、定点设备等)能 够直接连接或通过介入I/O控制器耦合到系统。为了说明和描述的目的,已经提供了本发明的描述,并且不旨在穷举或 者将本发明限制于公开的形式。对本领域技术人员来说很多修改和变化将是 显而易见的。实施例被选择和描述以最好地解释本发明的原理、实际应用, 并且使本领域其它普通技术人员能够理解本发明作为适于计划的特定使用 的、具有各种修改的各种实施例。Gi尸」…(14).(Pij)x I]t[-(Pij)x I利用方程14的定义,目标函数被组织成下面的方程15。argmin(A*—A)t G(A*—△)A*g null space {》} (15)注意,方程15中的C是以下方程16的6NX6N矩阵。 3G=003 j=16nx6n…(16)可以利用类似于非专利文献1中的方法来求解方程15的目标函数。 即,通过SVD算法,从关节约束矩阵①的零空间提取出(6N—3M)个6N 维基向量(vl, v2,…,vK}(其中,K=l,…,禾n 6N—3M)。由于属于关 节约束矩阵①的零空间,所以运动向量A,皮表示成下面的方程17。△* = +入2V2 +…+入kVk …(17)此外,利用6Nx(6N-3M)矩阵V-[vl,v2,…,vK]的定义,方程17将被 用下面的方程18来表示。这里,6Nx(6N-3M)矩阵是通过成行排列向量5 =人2, ^c)t以及所提取的6N维关节约束矩阵0的零空间中的集向量来 形成的矩阵。A* = V5 …(18)在方程15的目标函数中,通过将方程18中的厶* = V5代入到(Y - A) (C (A* - A)中,将得到下面的方程19。 (VS - A)tC (V5 - A) ...(19)假设方程19中的差值为0,则向量S被表示成下面的方程20。 5 = (VCV^VCA …(20)这样,基于方程18,视为最佳地最小化目标函数的运动向量A,皮表示 成下面的方程21。使用方程21使得可以根据没有关节约束的运动向量A来 计算具有关节约束的最佳运动向量A △* = V(VCV)"VtCA ... (21)在上述的非专利文献1中,下面的方程22指示根据没有关节约束的运动向量A来计算具有关节约束的最佳运动向量A1勺方程。△* = v(vts"v;rVs"A... (22)在方程22中,S"表示ICP的相关矩阵。非专利文献1中的方程22看起来类似于本发明实施例中的方程21, 区别仅在于i:"被替换成C。但是,在推导过程方面,本发明实施例中的方 程21与非专利文献1中的方程22完全不同。利用非专利文献1,推导得到的是最小化属于关节约束矩阵①的零空 间的运动向量Af与运动向量A之间的Mahalanobis距离的目标函数,并且基 于多个运动向量A在大小方面的相关性,来计算ICP的相关矩阵2T1。另一方面,在本发明的实施例中,雅导得到的是最小化由运动向量A 变换之后的3D人体与由运动向量Y变换之后的3D人体之间的姿势差异的 目标函数。这样,利用本发明的这个实施例中的方程21,没有使用ICP登 记技术,从而使得可以不依赖于3D解压縮的精确性来稳定地确定投影方 向。此外,没有对帧图像的成像方式施加任何限制。此外,与使用ICP登 记技术的非专利文献1比较,可以减少计算量。接下来描述的是3D人体的每个部分的运动的第二种表示方式。利用第二种表示方式,3D人体的每个部分的姿势由全局坐标系 (world coordinates system)中的起始点(即,相对坐标系中的原点)和全 局坐标系中的分别关于轴x, y和z的旋转角度来表示。 一般而言,关于全 局坐标系中轴x的旋转称为Roll,关于其中的轴y的旋转称为Pitch,而关 于其中的轴z的旋转称为Yaw。以下,假设在全局坐标系中3D人体的部分i的起始点是(Xi,yi,Zl), 并且旋转角Roll、 Pitch和Yaw分别为oci、 f3i和Yi。在这种情况下,部分i 的姿势用下面的六维向量来表示。[cci, Pi, y" Xi, y" Zi]t刚性部分的姿势一般而言用Homogeneous变换矩阵(4X4矩阵)来表 示,并且下文中,这样的矩阵被称为H矩阵或变换矩阵。与部分i相对应 的H矩阵可以通过对下面的方程23应用全局坐标系中的起始点(A, y,,Zi)以及Roll、 Pitch和Yaw的旋转角,即oti、 Pi和Yi (弧度)来计算得 到。<formula>formula see original document page 19</formula>利用刚性部分的运动,帧图像Fn的<formula>formula see original document page 19</formula>...(23)中的任意点X的3D位置可以通过使用H矩阵的方程24来计算得到。<formula>formula see original document page 19</formula>...(24)这里,G(doti,邻i, dyi, dx15 dyi, dz,)是通过向方程23代入一个计算结果来 推导得到的4X4矩阵。所述计算结果具有通过使用颗粒过滤器(particle filter)等的跟踪方法来计算得到的、在任何连续帧图像F『i和Fn之间的部 分i的运动改变量doci,邻i, dYi, dXi, dy,, dZl。 Pi = (Xi, yi, z^是部分i的帧图像 F『!中的起始点。在方程24中,在"连续帧图像Fn—i和Fn之间的刚性部分的运动量很小"的前提下,对于旋转角度观测得到的改变量将被最小化,从而使得近似关系sin x s x禾n cos x s 1成立。多项式中的第二项及其后的项将为0,因此可以被省略。这样,方程24中的变换矩阵G(dai, dp;, dYi, dXl, dyi, dZl)可以近似为下面的方程25所示。<formula>formula see original document page 19</formula>...(25)正如从方程25显而易见的,注意变换矩阵G中与旋转相关的部分, 即,左上方的3X3部分,其具有单位矩阵加上外部矩阵的形式,因而方 程24变为方程26。<formula>formula see original document page 20</formula>此外,将方程26中的以下项和dx dy dz分别替换成A和ti的情况下,方程26组织成下面的方程27。 <formula>formula see original document page 20</formula>27)构成3D人体的部分各自通过关节与任意其它部分相耦合。假设部分i 通过关节Jij而与部分j耦合,则在帧图像Fn中用于耦合部分i和j的要 求,即,关节约束要求被表示成方程28。 <formula>formula see original document page 20</formula>…(28) 注意,方程28中的算子[.]x与方程13中的相同。对于由N个部分和M个关节构成的整个3D人体,关节约束要求如 下。即,M个关节用Jk (其中k-l,2,...,和M)表示,而用关节Jk耦合的 任意两个部分的索引用ik和jk表示。这样,针对每个关节Jk形成的是以下 方程29的3X6N子矩阵。<formula>formula see original document page 20</formula>注意,在方程29中,03表示3X3的零矩阵,而I3表示3X3的单位矩阵(通过将这样获得的M个3X6N子矩阵排列成列,形成的是以下方程 30中的3MX6N矩阵。得到的矩阵是关节约束矩阵①。submatr ix, (0)submatr ix2(0)submatr ixM(0)(30)类似于上述方程9, 6N维运动向量A是通过按顺序排列r;和ti而形成 的,并且得到的是下面的方程31。这里,n和ti各自表示3D人体的帧图 像F『i和Fn之间的改变量。△ = [[r]t, [、]t, ', [rN]t, [tw]t]t (31)因此,3D人体的关节约束的条件方程被表示成方程32。 。△ = 0 …(32)这里注意,方程32在数学上指的是运动向量A被包括在关节约束矩 阵0的零空间{0}中,即,如下式33所示。△ e null space {O} ... (33)基于运动向量A和这样推导出的关节约束条件方程32,如果对于构成 3D人体的N个部分中的部分i (其中,i = l, 2,...,和N),并不位于任 何相同直线上的任意三个随机点被表示成{ ,Pl2, Pi3},则目标函数的方程 将类似于方程12的目标函数。这里注意,利用第一种表示方式,3D人体的运动被用螺旋运动来表 示,并且并不位于相同直线上的任意随机三点的坐标被用绝对坐标系来表 示。另一方面,利用第二种表示方式,3D人体的运动被用相对于绝对坐 标系的原点和轴x、 y和z的旋转运动来表示,并且部分i中并不位于相同 直线上的任意随机三点被用相对坐标系来表示,其中,原点是部分i的起 始点Pi。在这种差异的情况下,与第二种方式的函数相对应的目标函数被 表示成下式34。<formula>formula see original document page 22</formula>通过展开和组织方程34中的目标函数来计算任何最佳运动向量^的过 程类似于通过展开和组织与上述第一种表示方式相对应的目标函数来计算 任何最佳运动向量Y的过程,即,从方程12推导得到方程21的过程。但 是,作为由与第一种表示方式相对应的过程定义的6X6矩阵dj (即,方 程14)的替代方式,在与第二种表示方式相对应的过程中,定义了方程 35中的6X6矩阵Qj以供使用。<formula>formula see original document page 22</formula>利用第二种表示方式来最终计算得到的最佳运动向量A,各是A* = [da0*,邻0*, dy0*, dx0*, dy0*, dz0*,…" 并且,这是运动参数自身。这样,可以如其原样地使用运动向量〃来用于 下一个帧图像中的3D人体的生成。接下来描述的是图像处理设备,其中,本发明实施例中的方程21被用 于3D人体跟踪,并且如图1A到1E所示,根据对对象的时间连续成像而 得到的帧图像Fo和Fi来生成3D人体图像Bp图3示出了图像处理设备的示例性配置。该图像处理设备IO被配置成 包括帧图像获取部件11、估计部件12、运动向量确定部件13和3D人体 图像生成部件14。帧图像获取部件11用于获取使用相机或其它来成像而 得到的帧图像。估计部件12用于估计构成3D人体的各个部分的运动, 即,与没有关节约束的运动向量A相对应的各个部分的运动。这个估计是 基于当前帧图像和与在当前帧图像之前的帧图像相对应的3D人体的图像 来进行的。运动向量确定部件13通过对方程21应用估计结果来确定具有 关节约束的运动向量A^ 3D人体图像生成部件14用于通过使用所述具有 关节约束的运动向量^来变换与当前帧之前的帧图像相对应地生成的3D 人体图像,从而生成与当前帧相对应的3D人体图像。22接下来描述的是由图像处理设备IO进行的3D人体图像生成的过程。下面举例说明的是通过参考图4的流程图来生成与当前帧图像F^目对应的 3D人体图像Bi的情况。这里注意,假设已经生成与帧图像F。相对应的 3D人体图像Bo。在步骤Sl中,帧图像获取部件11获取所捕获的当前帧图像Fp并将 该图像提供给估计部件12。估计部件12获取与前一帧图像F。相对应的 3D人体图像BQ,该3D人体图像B。是从3D人体图像生成部件14反馈回 来的。在步骤S2中,估计部件12基于反馈回来的3D人体图像Bo的人体姿 势来形成元素为关节坐标的3MX6N关节约束矩阵(D。估计部件12还形成 元素为在关节约束矩阵①的零空间中的基向量的6Nx(6N-3M)矩阵V。在步骤S3中,估计部件12针对构成反馈回来的3D人体图像B。的每 个部分来选择并不位于任何相同直线上的任意随机三点,并计算6Nx6N 的矩阵C。在步骤S4中,估计部件12基于3D人体图像Bo和当前帧图像Fi来计 算没有关节约束的3D人体的运动向量A。 S卩,估计部件12估计构成3D 人体的每个部分的运动。对于这种估计,可以使用之前现有的任何典型技 术,例如,卡尔曼(Kalman)过滤器、颗粒过滤器、交互式最近点等。步骤S2到S4的处理结果,即矩阵V、矩阵C和运动向量A,被从估 计部件12提供给运动向量确定部件13。在步骤S5中,运动向量确定部件13将由估计部件12提供的矩阵V、 矩阵C和运动向量A代入方程21,从而计算得到具有关节约束的最佳运动 向量A、以输出到3D人体图像生成部件14。在步骤S6中,3D人体图像生成部件14使用由运动向量确定部件13 提供的、具有关节约束的运动向量^来变换针对当前图像Fq生成的3D人 体图像Bc,从而生成针对当前帧图像Ft的3D人体图像B"这里,得到 的3D人体图像Bi被转发到后续阶段,并被反馈回估计部件12。 这样,图像处理设备10执行了 3D人体图像生成处理。上述处理序列可以通过如图3所示配置的硬件或者通过软件来执行。 如果通过软件来执行这些处理,则构成该软件的程序被从程序记录介质安 装到结合在任何专用硬件中的计算机、能够通过安装不同类型的程序来执 行各类功能的通用个人计算机等等。图5是示出通过程序来执行该处理序列的计算机的示例性配置的框图。在这个计算机100中,组件,即CPU (中央处理单元)101、 ROM (只读存储器)102和RAM (随机存取存储器)103,通过总线104来连 接在一起。总线104与输入/输出接口 105相连接。输入/输出接口 105与输入部件 106、输出部件107、存储部件108、通信部件109和驱动器110相连接。 输入部件106由键盘、鼠标、麦克风等构成,而输出部件107由显示器、 扬声器等构成。存储部件108由硬盘、非易失性存储器等构成,而通信部 件109由网络接口等构成。驱动器110驱动诸如磁盘、光盘、磁性光盘、 半导体存储器等的记录介质111。在这样配置的计算机100中,CPU 101例如通过输入/输出接口 105和 总线104来将存储在存储部件108中的程序载入RAM 103以用于执行,从 而执行上述过程处理。由CPU 101执行的程序通过记录在记录介质111中而变得可用,记录 介质111是封装介质,例如,磁盘(包括软盘)、光盘(包括CD-ROM (光盘-只读存储器)、DVD (数字多功能光盘))和磁性光盘,或者半 导体存储器。也可以经由诸如局域网、因特网和数字卫星广播之类的通过 电缆或无线电的传输介质来使得所述程序可用。可以通过将记录介质111附接于驱动器110,来经由输入/输出接口 105将所述程序安装到存储部件108。可替换地,可以在经由通过电缆或 无线电的传输介质通过通信部件109接收之后,将所述程序安装到存储部 件108。除了这些之外,所述程序还可以预先安装在ROM 102或存储部件 108中。在本说明书中,在由计算机执行的程序中,例如可以按上述顺序的时 序方式或者按并行方式、或者在任意需要的定时处通过程序调用来执行这 些处理。本领域技术人员应当了解,在所附权利要求或其等同物的范围内,根 据设计要求可以进行各种修改、组合、子组合和变化。相关申请的交叉引用本发明包含与分别在2007年l月16日和2007年8月l日向日本专利 局提交的日本专利申请JP 2007-006630和JP 2007-200477相关的主题,该 申请的全部内容通过引用而结合于此。
权利要求
1.一种图像处理设备,该设备基于通过对运动中的对象的时间连续成像而得到的多幅帧图像,使用由多个部分构成的三维(3D)人体来对所述对象的运动建模,所述设备包括获取装置,用于获取成像所得的所述帧图像;估计装置,用于基于选择用作参考的任意一幅所述帧图像中的所述3D人体的姿势来计算连接所述3D人体的各个部分的关节的坐标的第一矩阵和所述3D人体的每个部分的坐标的第二矩阵,并基于在所述参考帧图像之后的帧图像来生成在没有关节约束的情况下估计所述每个部分的运动的第一运动向量;计算装置,用于使用由所述估计装置计算得到的所述第一矩阵和第二矩阵以及所述第一运动向量来计算在具有关节约束的情况下估计所述每个部分的运动的第二运动向量,以使得预定目标函数满足预定要求;以及确定装置,用于根据计算所得的所述第二运动向量来变换所述参考帧图像中的3D人体,从而确定与所述之后的帧图像相对应的3D人体,其中所述预定目标函数的预定要求是最小化在由所述第一运动向量变换得到的所述3D人体的姿势与由所述第二运动向量变换得到的所述3D人体的姿势之间的差异。
2. 如权利要求l所述的图像处理设备,其中所述估计装置基于成像所得的、用作参考的所述参考帧图像中的所述 参考3D人体的姿势来计算连接所述3D人体的各个部分的关节的坐标的第 一矩阵,并针对所述3D人体的每个部分,计算位于所述部分中的但并不 是位于相同直线上的多个点的坐标的第二矩阵,并基于在所述参考帧图像 之后的帧图像来生成没有在关节约束的情况下针对每个部分的运动估计的 所述第一运动向量。
3. 如权利要求l所述的图像处理设备,其中利用所述预定目标函数,基于这样的假设,即,在所述参考帧图像和 所述之后的帧图像之间的所述对象的运动很小,使得用螺旋运动来表示的所述对象的运动成线性。
4. 如权利要求3所述的图像处理设备,其中在所述参考帧图像和所述之后的帧图像之间的所述对象的运动用绝对 坐标系来表示。
5. 如权利要求l所述的图像处理设备,其中利用所述预定目标函数,基于这样的假设,g卩,在所述参考帧图像和 所述之后的帧图像之间的所述对象的运动很小,使得利用关于彼此正交的 三个轴中的每一个轴的旋转运动来表示的所述对象的运动成线性。
6. 如权利要求5所述的图像处理设备,其中在所述参考帧图像和所述之后的帧图像之间的所述对象的运动用相对 坐标系来表示。
7. 如权利要求l所述的图像处理设备,其中 所述预定目标函数是(A*-△)&(△*-△),并且所述计算装置通过A^V(VCV)-VCA来计算用于最小化所述预定目标函数的所述第二运动向量,其中 A,表示所述第二运动向量, V表示所述第一矩阵, C表示所述第二矩阵,并且 A表示所述第一运动向量。
8. —种在图像处理设备中使用的图像处理方法,所述图像处理设备 基于通过对运动中的对象的时间连续成像而得到的多幅帧图像,使用由多 个部分构成的三维(3D)人体来对所述对象的运动建模,所述方法包括以 下步骤基于选择用作参考的任意一幅所述帧图像中的所述3D人体的姿势来 计算连接所述3D人体的各个部分的关节的坐标的第一矩阵; 计算所述3D人体的每个部分的坐标的第二矩阵;基于在所述参考帧图像之后的帧图像来生成没有在关节约束的情况下估计所述每个部分的运动的第一运动向量;使用计算得到的所述第一矩阵和第二矩阵以及所述第一运动向量来计 算在具有关节约束的情况下估计所述每个部分的运动的第二运动向量,以 使得预定目标函数满足预定要求;以及根据计算所得的所述第二运动向量来变换所述参考帧图像中的3D人 体,从而确定与所述之后的帧图像相对应的3D人体,其中所述预定目标函数的预定要求是最小化在由所述第一运动向量变换得 到的所述3D人体的姿势与由所述第二运动向量变换得到的所述3D人体的 姿势之间的差异。
9. 一种用于经计算机来进行控制的程序,该程序基于通过对运动中 的对象的时间连续成像而得到的多幅帧图像,使用由多个部分构成的三维 (3D)人体来对所述对象的运动建模,所述程序允许所述计算机执行以下 步骤基于选择用作参考的任意一幅所述帧图像中的所述3D人体的姿势来 计算连接所述3D人体的各个部分的关节的坐标的第一矩阵;计算所述3D人体的每个部分的坐标的第二矩阵;基于在所述参考帧图像之后的帧图像来生成在没有关节约束的情况下 估计所述每个部分的运动的第一运动向量;使用计算得到的所述第一矩阵和第二矩阵以及所述第一运动向量来计 算在具有关节约束的情况下估计所述每个部分的运动的第二运动向量,以 使得预定目标函数满足预定要求;以及根据计算所得的所述第二运动向量来变换所述参考帧图像中的3D人 体,从而确定与所述之后的帧图像相对应的3D人体,其中所述预定目标函数的预定要求是最小化在由所述第一运动向量变换得 到的所述3D人体的姿势与由所述第二运动向量变换得到的所述3D人体的 姿势之间的差异。
10. —种在三维(3D)人体跟踪建模处理中使用的目标函数,所述 3D人体跟踪建模处理基于通过对运动中的对象的时间连续成像而得到的 多幅帧图像,使用由多个部分构成的三维(3D)人体来对所述对象的运动建模,其中输入是在没有关节约束的情况下针对所述3D人体的每个部分的运动估计的第一运动向量,而输出是在具有关节约束的情况下针对每个部分的运动估计的第二运动向量,并且在由所述第一运动向量变换得到的所述3D人体和由所述第二运动向 量变换得到的所述3D人体之间的姿势差异被最小化。
11. 一种图像处理设备,该设备基于通过对运动中的对象的时间连续 成像而得到的多幅帧图像,使用由多个部分构成的三维(3D)人体来对所 述对象的运动建模,所述设备包括获取单元,该获取单元被配置用于获取成像所得的所述帧图像;估计单元,该估计单元被配置用于基于选择用作参考的任意一幅所述 帧图像中的所述3D人体的姿势来计算连接所述3D人体的各个部分的关节 的坐标的第一矩阵和所述3D人体的每个部分的坐标的第二矩阵,并基于 在所述参考帧图像之后的帧图像来生成在没有关节约束的情况下估计所述 每个部分的运动的第一运动向量;计算单元,该计算单元被配置用于使用由所述估计单元计算得到的所 述第一矩阵和第二矩阵以及所述第一运动向量来计算在具有关节约束的情况下估计所述每个部分的运动的第二运动向量,以使得预定目标函数满足 预定要求;以及确定单元,该确定单元被配置用于根据计算所得的所述第二运动向量 来变换所述参考帧图像中的3D人体,从而确定与所述之后的帧图像相对 应的3D人体,其中所述预定目标函数的预定要求是最小化在由所述第一运动向量变换得 到的所述3D人体的姿势与由所述第二运动向量变换得到的所述3D人体的 姿势之间的差异。
全文摘要
本发明提供了一种图像处理设备、方法和程序以及目标函数。该图像处理设备基于通过对运动中的对象的时间连续成像而得到的多幅帧图像,使用由多个部分构成的三维(3D)人体来对所述对象的运动建模。该设备包括用于获取成像所得的帧图像的获取装置;用于计算3D人体的关节的坐标的第一矩阵和该3D人体的每个部分的坐标的第二矩阵,并生成第一运动向量的估计装置;用于计算第二运动向量的计算装置;以及用于确定所述3D人体的确定装置。
文档编号G06T13/40GK101226647SQ200810002739
公开日2008年7月23日 申请日期2008年1月16日 优先权日2007年1月16日
发明者刘玉宇, 吴伟国, 芦原隆之 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1