技术领域
[0001] 本发明涉及信息处理技术,特别涉及包含用于进行对应于用户的输入的处理的用户接口的信息处理装置,以及在该装置中执行的信息处理方法。
相关背景技术
[0002] 近年来,包含游戏装置或电器产品等的电子仪器的功能正在显著地高度化。伴随着这一变化,用户通过用户接口可以进行的输入体系变得复杂化。为了即使是这样复杂的输入体系,也可以容易进行输入,对用户接口想了各种各样的办法。比如,在控制器的按钮的分配上想办法,或使用触摸屏之外,也有提议将对用户进行拍摄的装置作为接口,通过检测用户的面部的状态,进行各种各样的处理的技术(参照比如专利文献1)。
[0003] 这样,在将摄像装置作为用户接口的情况下,为了检测用户的面部状态,可以使用一般的面部检测技术。比如对预先准备的基准图像和检测的面部区域的图像进行匹配,根据面部区域的面积判断面部的朝向和倾斜。
[0004] 【专利文献1】特开2008-15942号公报
具体实施方式
[0024] 图1表示适用于本实施方式的信息处理系统的构成例。信息处理系统10具有对用户18进行拍摄的摄像装置12、检测用户的动作并进行对应于该动作的信息处理的信息处理装置14、将作为信息处理装置处理的结果而得到的图像数据进行输出的显示装置16。
[0025] 信息处理装置14与摄像装置12或显示装置16的连接可以通过有线、无线、或各种网络进行。另外,摄像装置12、信息处理装置14、显示装置16中的任何2个或全部可以组合为一体。摄像装置12不一定设置在显示装置16上。在下面的说明中,以摄像装置12从正面拍摄与显示装置16相对着的用户18为前提,但即使拍摄方向不同,也可以根据简单的坐标转换来进行同样的处理。另外,将摄像装置12的镜头朝着的方向作为“纵深方向”,加上与镜头面平行的平面中的“纵方向”以及“横向”后的这3个方向,作为用户移动的三维空间的轴来表现。
[0026] 摄像装置12以设定的帧速率取得包含用户18的图像的数据。取得的视频图像数据被输入到信息处理装置14。信息处理装置14根据从摄像装置12取得的视频图像数据检测用户的动作。在本实施方式中,为了提高用户根据自己的动作可以进行的输入的自由度,也取得对于摄像装置12的纵深方向的移动的信息。具体的方法将在后面叙述,但通过检测纵深方向的运动,不只是可以进行纵深方向的参数的输入,也可以正确检测竖向、横向的运动。其结果,与只检测图像平面上的运动相比,可以大大提高输入的自由度。
[0027] 信息处理装置14检测包含纵深方向的运动的用户的动作,并据此改变处理。在此,信息处理装置14执行的、与用户接口相关的处理以外的处理的内容不被限定。比如、可以想象将显示在显示装置16中的图像作为用户18的视野,或把与用户18对应的对象作为化身来显示,在洞穴或街中等假想空间一边移动,一边进行各种各样的动作的游戏等。角色扮演游戏或射击游戏、拳击游戏、足球游戏等,可以考虑各种使用这种状态的游戏。在游戏以外,也可以在假想空间内的假想店铺购物,选择显示处理菜单的对象。
[0028] 这些处理都是基于使显示装置16显示的图像和用户18的动作联动这一想法,但本实施方式不限于此,可以是根据用户的输入而动作的所有应用软件(アプリケ一ション)。即,如果事先进行用户的动作和处理的对应,也可以考虑根据动作来切换显示在显示装置16上的电视节目或网站等的使用。另外,也可以只选择菜单但不伴随图像显示。无论哪种方式,即时将用户的运动这一单纯的变化作为“输入值”,也可以提高输入的自由度,同时可以高精度地检测“输入值”,因此,可以和各种各样的应用软件进行组合。
[0029] 显示装置16取得反映信息处理装置14检测的用户18动作的结果而生成的图像数据,并作为图像输出。在后面的说明中,将着眼于处理让用户的动作和显示在显示装置16上的图像联动的游戏的形式,如上所述,可适用的应用软件很多。
[0030] 下面对信息处理装置14进行的用户18的动作检测的原理进行说明。在本实施方式中,摄像装置12拍摄的包含用户18的图像执行使用粒子过滤器的视觉追踪处理。图2是用于说明将人物作为追踪对象的情况下的视觉追踪方法的图。人物图像150是构成拍摄的视频图像的图像流的图像帧之一,成为追踪对象的人物152映照在其中。该人物152与图1中的用户18相对应。
[0031] 为了追踪该人物152的运动,用已知的表现方式记载将人物152的头部轮廓的形状近似化的Ω形的曲线154。另一方面,对包含人物152的人物图像150进行边缘抽出处理,取得边缘影像。通过使规定曲线15
[0032] 4的参数,使该曲线154直行运动、伸缩、旋转,搜索其附近的边缘,由此确定被推定为和人物152的头部轮廓最符合的参数的值。通过对每个帧反复进行以上的处理,来进行人物152的追踪。此处的边缘一般是指图像的浓度和颜色发生突然变化的地方。
[0033] 为了进行将规定的参数的值发生了各种变化的曲线154和人物152的头部轮廓的匹配,引入通过粒子过滤器进行概率分布预测的技术。即,对应于前一个帧的参数空间上的对象物的概率分布,增减曲线154的样本数,进行追踪候补的优选。由此,可对存在概率高的部分重点进行搜索,高效地进行高精度的匹配。
[0034] 对于着眼于对象物的轮廓的追踪适用粒子过滤器的方法,比如非专利文献(ICondensation:Unifying low-level and high-level tracking in a stochastic framework,Michael Isard and Andrew Blake,Proc 5th European Conf.Computer Vision,1998)中有所记载。在此,着眼于与本实施方式相关的部分进行说明。
[0035] 首先将Ω形曲线154用B样条曲线(B スプライン曲線)记述。B样条曲线有n个控制点(Q 0,...,Q n)和n个节点(ノツト)(s 0,...,sn)来定义。优先设定这些参数,使得基本的曲线性在该情况下成为Ω形曲线。以下将由此时的设定得到的曲线称为模板(テンプレ一ト)Qt。在进行图2所示的人物图像150中的人物152的追踪的情况下,模板Qt是Ω形,使该形状根据追踪对象而变化。即,如果追踪对象是球时成为圆形,是手掌时成为手的形状等。
[0036] 作为用于使模板的状态变化的转换参数,准备了形状空间矢量x。形状空间矢量x由以下的6个参数构成。
[0037] x = (shiftx,shifty,extendxcosθ-1,extendycosθ-1,-extendxsinθ,Textendysinθ)
[0038] (1)
[0039] 此处(shiftx,shifty)是向(x,y)方向的直行运动量,(extendx,extendy)是放大率,θ是旋转角。如使用将形状空间矢量x作用于模板Qt的互动矩阵W,变形后的曲线,即,候补曲线Q可以表述如下。
[0040] Q=Wx+Q0,
[0041]
[0042] 如使用式2,通过使构成形状空间矢量x的6个参数发生适当的变化,可使模板直行运动、伸缩、旋转,通过组合,可使候补曲线Q产生各种变化。
[0043] 对于通过使控制点以及节点的间隔这样的模板Qt的参数、和构成形状空间矢量x的6个参数发生变化而表现的多个候补曲线,搜索在各节点的附近的人物152的边缘。此后,从与边缘的距离等计算各候补曲线的似然(尤度,likelihood),由此,推定由构成形状空间矢量x的6个参数定义的六维空间中的概率密度分布。
[0044] 图3是说明使用粒子过滤器的概率密度分布推定的方法的图。在该图中,为了简单理解,在构成形状空间矢量x的6个参数中,将某个参数x 1的变化表示为横轴,但实际上在六维空间进行同样的处理。在此,想推定概率密度分布的图像帧是时间t的图像帧。
[0045] 首先使用在时间t的图像帧的前一个帧的时间t-1的图像帧处推定的、参数x 1轴上的概率密度分布(S110),生成在时间t的粒子(パ一テイクル)(S112)。在此前进行过滤,已经存在粒子的情况下,决定其分裂、以及消灭。在S110表示的概率密度分布是对应于参数空间上的坐标,离散性地求得的,圆越大,表示概率密度越高。
[0046] 粒子是将取样的参数x1值和取样密度实体化的结果,比如在时间t-1概率密度高的参数x1的区域,通过提高粒子密度,进行重点取样,在概率密度低的范围,减少粒子,不太进行取样。由此,比如在人物152的边缘附近多产生候补曲线,进行高效匹配。
[0047] 下面使用设定的运动模型,使粒子在参数空间上移动(S114)。所谓设定的运动模型,是比如高斯型运动模型、自回归预测型运动模型等。前者是在时间t的概率密度高斯分布在时间t-1的各概率密度的周围的模型。后者是假定从取样数据取得的2次以上的自回归预测模型的方法,比如从过去的参数的变化推定人物152以某种速度等速运动。在图2的例子中,根据自回归预测型运动模型推定参数x1向正方向的运动,使各粒子这样地运动。
[0048] 下面,通过使用时间t的边缘影像搜索由各粒子决定的候补曲线附近的人物152的边缘,求出各候补曲线的似然,推定在时间t的概率密度分布(S116)。如上所述,此时的概率密度分布如S116所示,成为离散性地表示真正的概率密度分布400的分布。此后,通过反复进行该操作,将在各时间的概率密度分布在参数空间进行表示。比如概率密度分布是单峰性(单峰性)的情况下,即,追踪对象是唯一的情况下,使用得到的概率密度,对于各参数的值,将加权(重み付けした)的和作为最终的参数,由此得到被推定为追踪对象的轮廓的曲线。
[0049] 在S116推定的、在时间t的概率密度分布p(xti)由以下式子计算。
[0050]
[0051] 在此,i是给与粒子的唯一号码、p(xti|xti,ut-1)是设定的运动模型,p(yt|xti)是似然。由式3得到的概率密度分布可对形状空间矢量的各参数得到。因此,以该概率密度分布求出粒子的加权平均,由此可推定各时间的形状空间矢量。
[0052] 另一方面,分析一下图1所示的、拍摄用户的动作并将其作为输入值的形式。由于通过试验判明摄像装置12和用户18的距离、与头部轮廓的大小几乎成比例关系,即,拍摄对象距离摄像装置越近,该对象映照得越大,距离越远,映照得越小。在本实施方式中,使用该性质。即,在形状空间矢量中,注意表示放大率的(extendx,extendy),其变化反映用户的纵深方向的移动量,用于输入值。另外,横竖方向的运动由表示形状空间矢量中的直行运动量的(shiftx,shifty)来检测。
[0053] 在将单眼相机用于摄像装置,检测用户的运动的情况下,由于摄制的图像仅由其面上的二维信息构成,难以检测用户的纵深方向的运动。由于从二维信息取得纵深的信息,可以考虑使用由面部检测技术检测的面部区域的面积的变化,但由于面部的朝向或头发的影响等与纵深方向的距离无关地、面部区域的面积容易发生变化,有时不能得到高精度。
[0054] 在上述方法中,是通过比较断断续续摄制的多个静止画面的面部区域的面积,来检测纵深方向的移动,但考虑到在摄制范围内存在多个人,或在照相机前有任何东西穿过等各种各样的环境的变化也作为检测结果被考虑的情况,难以只检测总是作为对象的人的动作。
[0055] 在本实施方式中,连续追踪用户的头部轮廓。一般来说,即使面部的朝向和头发变化,头部轮廓的大小也几乎不变化。因此,如果将头部轮廓的大小作为媒介,几乎不会受用户自身的变化的影响,把握纵深方向位置。另外,为了对每帧进行连续追踪,即使在摄制范围内有别人或物体存在,也可以容易正确地只抽出作为对象的用户的运动,对其周围的环境有很强的适应性。另外,由于可以对成为对象的每个人进行追踪,即使有多个用户进行游戏等,也不会取错对象,可以进行对应于每个用户的动作的处理。
[0056] 图4详细表示了信息处理装置14的构成。信息处理装置14具有:图像取得单元20,从摄像装置12取得被输入的输入图像数据;初期处理单元22,使用户的实际的运动与联动的图像的运动相对应;追踪处理单元26,执行上述视觉追踪处理;输入值转换单元28,将作为追踪结果而得到的放大率和直行运动量的参数转换为规定图像的运动的参数(下面称为“图像规定参数”);输出数据生成单元30,使用该图像规定参数,生成新的图像数据;以及输出控制单元32,控制将生成的图像数据向显示装置16的输出。
[0057] 在图4以及后面的图5、6中,作为进行各种各样的处理的功能块记载的各要素,是硬件的,可以由CPU、存储器、以及其他的LSI来构成,是软件的,可以由进行图像处理的计算机程序等来实现。因此,这些功能块可以只由硬件、只由软件、或它们的组合等各种形式来实现,这对本领域的一般技术人员来说是可以理解的,且任何一种形式都不是被限定的。
[0058] 如果是显示与用户的运动相联动的图像的游戏,则输出数据生成单元30生成该图像的数据,如上所述,由于本实施方式可以应用于各种各样的应用软件,不只是生成图像数据,也可以进行对应于各应用软件的处理。因此,输入值转换单元28将作为追踪的结果而得到的参数转换成预先与该参数相对应的应用软件的功能ID等,输出数据生成单元30进行实现与该功能ID相对应的功能的处理。
[0059] 图像取得单元20通过有线或无线,从摄像装置12取得用户的图像。初期处理单元22进行将由用户最大限度运动时的追踪处理而得到的形状空间矢量的参数的摆动幅度、与图像规定参数的可变幅度相对应的校准(校准)。具体地说,让用户站在最大限度运动后的位置等,摄制各自的图像,取得此时的形状空间矢量的参数,由此,得到各参数的摆动幅度。
以放大率、直行运动量的各参数的最大值、最小值与图像规定参数的可变范围的最大值、最小值的其中一个进行对应的方式,决定对应关系。最大值、最小值以外的对应关系的决定方法根据游戏内容等而不同。详细将在后面叙述。这样决定的、表示对应关系的数据存储在转换信息存储单元24中。
[0060] 追踪处理单元26根据上述的视觉追踪方法,追踪用户的运动。在后面的说明中,说明追踪用户的头部轮廓的例子,但本实施方式的追踪对象不限于头部。但是,从上述理由来看,最好的是将即使移动导致对于摄像装置12的角度发生变化,对摄像装置来说,看上去外表形状没变化、或具有不容易变化的轮廓的物作为追踪对象。比如,让用户拿着在作为提手的棒的前端先附着了球体的物体,将该球体作为追踪对象,也可以得到与头部同样的结果。
[0061] 输入值转换单元28根据作为追踪处理单元26的追踪的结果而得到的、在各时间的放大率以及直行运动量的值,参照表示转换信息存储单元24存储的对应关系的数据,取得各时间的图像规定参数。输出数据生成单元30根据输入值转换单元28取得的图像规定参数,使得显示图像由于用户的运动而变化,生成新的图像数据。生成的图像在输出控制单元32的控制下,显示到显示装置16。
[0062] 图5详细表示了追踪处理单元26的构成。追踪处理单元26具有:图像处理单元40,从输入图像数据生成边缘影像等;取样单元42,根据粒子的生成以及消灭,进行在参数空间的取样;观测单元46,观测各粒子规定的候补曲线的似然;结果取得单元50,整合观测结果,推定形状空间矢量;参数存储单元48,存储规定Ω形状的模板的参数。在检测用户的身体的位置或动作的情况下,可以将模板做成Ω形状,追踪头部的轮廓,但模板的形状不限于此。比如,只拍摄用户的手,根据其位置和动作进行处理的情况下,将模板做成手掌的形状等,根据拍摄对象模板形状可以不同。
[0063] 图像处理单元40对每个输入图像数据的图像帧进行边缘抽出处理,生成边缘影像。此时,可以使用坎尼(キヤニ一,canny)边缘过滤器、或索贝尔(ソ一ベル,Sobel)过滤器等一般的边缘抽出算法。另外,图像处理单元40可以具有使用背景差分的前景提取器(图中未示),作为边缘抽出处理的前处理,通过从输入图像抽出包含追踪对象的前景,高效率地抽出追踪对象的边缘。
[0064] 取样单元42根据被推定的、在形状空间矢量x的空间的概率密度分布,对在前一个时间t-1的图像帧进行粒子的生成以及消灭的处理。然后,对全粒子适用设定的运动模型,使粒子在该空间上移动。
[0065] 观测单元46观测取样单元42生成、消灭、移动的各粒子确定的候补曲线的似然。如上所述,通过在图像处理单元40生成的边缘影像上搜索在各候补曲线附近的边缘,对于各候补曲线估算到该边缘的距离,来决定似然。如上所述,候补曲线是通过对从参数存储单元48读取的Ω形状的模板,使用规定各粒子的参数而得到。结果取得单元50根据观测单元46观测的似然,在形状空间矢量x的空间,算出用式3所示的概率密度分布,由此,对各参数进行加权平均。为了用于在下一时间t+1的追踪处理,将该数据返还取样单元42。
[0066] 在存在多个追踪对象的情况下,结果取得单元50使用分别为它们准备的模板,对每个追踪对象进行追踪。根据追踪结果检测多个追踪对象重叠的情况下,对于隐藏在后面的追踪对象,在设定的时刻,采取从追踪处理对象中去掉等措置。由此,通过追踪对象转到别的追踪对象的背后,即使观测似然暂时低下,也可以避免输出不合适的追踪结果。
[0067] 图6详细表示了输入值转换单元28的构成。输入值转换单元28具有:追踪结果取得单元52,取得作为视觉追踪的结果而得到的形状空间矢量的参数;修正单元54在向图像规定参数转换时,进行确保正确的修正;图像规定参数取得单元58,将形状空间矢量的参数转换为图像规定参数。追踪结果取得单元52在追踪处理单元26作为追踪结果取得的、在时间t的形状空间矢量的参数当中,取得表示放大率的(extendx,extendy)、表示直行运动量的(shiftx,shifty)的值。取得的值被存储到履历存储单元56。
[0068] 修正单元54从履历存储单元56取得放大率以及直行运动量到该时刻的时间变化,通过使用该数据进行中值滤波或最小二乘法等进行去噪过滤,修正在时间t的放大率以及直行运动量的值。具体地说,根据从此前的时间变化得到的基准,排除表示难以认为是实际的运动的急剧的变化的数据,考虑追踪误差,推定真值。参照履历数据,排除极端的数据,推定真值的方法可以使用在统计学上一般使用的方法。
[0069] 在本实施方式中,由于可以用比如帧单位取得形状空间矢量,因而可以详细得到各参数的时间变化。通过将其用于修正,可以提高放大率和直行运动量等参数的可靠性、进而提高图像规定参数的可靠性。另外,在将用户的运动反映到图像的形式中,通过除去高周波数成分,可以显示连续的动作的图像。
[0070] 图像规定参数取得单元58根据被修正的形状空间矢量的参数,参照存储在转换信息存储单元24的、表示对应关系的数据,取得时间t的图像规定参数。在此,对形状空间矢量的参数和图像规定参数的对应关系进行说明。图7表示在初期处理单元22为了决定对应关系而进行的校准(キヤリブレ一ション)中拍摄用户时的头部的位置。
[0071] 图的X坐标、Y坐标、以及Z坐标分别表示横向、竖向、纵深方向。在校准中,首先使用户站在成为根据移动进行各种输入时的基准的位置。下面,将该位置称为“基准位置”。基准位置可以在装置一侧指定设定的距离,比如与摄像装置12的距离为1m等。此时距离摄像装置12的距离在后述的横向、竖向的运动的修正中使用,但在不进行修正的情况下,也可以是用户喜欢的位置。该状态下,摄像装置12摄制用户18,追踪处理单元26取得该状态下的放大率以及直行运动量的值。
[0072] 如前所述,在此取得的值是用算出的概率密度分布对规定粒子的各参数进行加权平均的值。由于是初期处理,也可以从边缘影像等导出被认为是用户被照入的区域,在该区域等间隔地分散粒子进行观测。另外,也可以只进行模板和边缘影像的匹配。此时头部的位置在图7的坐标中作为原点P_0。
[0073] 下面,比如让用户站在前后移动1步的位置,取得在该位置的放大率的值。此时的头部的位置用图7的坐标分别表示为PZ_min、PZ_max。再让用户站在从基准位置向左右移动一步的位置,取得在该位置的直行运动量的值。此时的头部的位置在图7的坐标中分别表示为PX_min、PX_max。同样地,使用户在基准位置处于弯腰状态和挺直状态,取得此时的直行运动量的值。此时的头部的位置在图7的坐标中分别表示为PY_min、PY_max。
[0074] 此处移动“一步”只是举例,比如在洞穴探险的游戏等中,在用户从基准位置前进一步的状态下,使视野图像显示为向洞穴的前面继续前进,在用户从基准位置后退一步的状态下,使视野图像显示为向洞穴里继续后退。因此,校准的位置根据游戏等应用软件的设定可以变化。比如使最大的移动量为三步,在使对应于离开基准位置的距离显示的假想空间中的移动速度连续变化的应用软件中,从基准位置向前后左右移动三步进行校准。但是使用户站立的位置最好在摄像装置12的视角内。
[0075] 即,在用户移动范围的纵深方向(Z轴)、横向(X轴)的两端分别取得放大率、直行运动量的值。对竖向(Y轴)也同样地,可以取得在竖向的头部的移动范围的最高位置、最低位置,直行运动量的值,“直腰”、“弯腰”等行为是举例。在该情况下、可以用于显示直腰窥视墙壁的另一方,弯腰躲避某个东西等这些假想体验的图像,其范围可以根据应用软件而不同。
[0076] 上述的校准方法的顺序是首先用户用自己的步幅移动,或做设定的姿态,取得此时的放大率和直行运动量。由此,即使是面部的大小、步幅的大小、背的高度等不同的用户,也可以用相同的动作使显示的图像发生反应。另一方面,也可以是通过应用软件,在装置一侧指定放大率或直行运动量的最大振幅,用户根据这些来移动的形式。在该情况下,在校准时,实时将拍摄用户的图像的镜象(鏡面画像)显示在显示装置16上,同时,重叠显示在装置一侧可许可的移动范围的X轴、Y轴、Z轴的两端的合计6个点(PX_min,PX_max,PY_min,PY_max,PZ_min,PZ_max)的模板的图像。
[0077] 然后,按头部轮廓与显示的6个模板的形状一致的方式,使用户移动,由此使用户认识到可移动的大致的范围。在该情况下,即使有个人的差或环境的变化,由于放大率和直行运动量的最大摆动幅度基本相同,可以在装置或应用软件一侧固定与图像规定参数的对应关系。
[0078] 图8示意性地示用户的纵深方向的移动和图像规定参数的对应关系。图的横轴表示放大率,移动范围中的放大率的最小值为“extend_min”、最大值为“extend_max”。如上所述,实际上,放大率用X坐标、Y坐标的二维来表示,图8所示的放大率使用其中一方或其平均值,进行与图像规定参数的对应关系。此时,放大率为最小值“extend_min”是表示用户在对于摄像装置12、在移动范围内最远的地方,即,PZ_max的位置。相反,放大率为最大值“extend_max”是表示用户在对于摄像装置12的最近的地方,即,PZ_min。
[0079] 在该图中,如平行于横轴所示的那样,头部轮廓的放大率和距摄像装置的距离为几乎线性的关系,由此,可以将放大率照原样置换到纵深方向的位置,Pz_min/Pz_max间成为用户的移动范围。然后决定将用户的移动范围、进而放大率的变化的范围转换为图像规定参数的可变范围的对应关系70。此处所说的“移动范围”可以是指图像与用户的运动相联动的范围,在实际中,用户可以超过Pz_min/Pz_max而移动。
[0080] 如该图所示,在以移动范围内的放大率在最小值“extend_min”时成为图像规定参数的最小值“Para_min”,放大率在最大值“extend_max”时成为图像规定参数的最大值“Para_max”的方式,决定对应关系70的两端的基础上,以从放大率的值可以导出图像规定参数的可变范围内的值的方式,建立对应关系。另外,使放大率的最小值“extend_min”、最大值“extend_max”与图像规定参数的最大值“Para_max”、最小值“Para_min”的哪一个对应,可以根据应用软件或图像规定参数而不同。
[0081] 另外,在用户移动到“移动范围”外部的情况下,在该图的例子中,进行如下设定:如从Pz_min靠近摄像装置,则维持图像规定参数的最小值“Para_min”的值,如距Pz_max远,则维持图像规定参数的最大值“Para_max”的值。
[0082] 如上所述,放大率的最小值“extend_min”以及最大值“extend_max”可以鉴于用户的步幅等,通过校准来取得,也可以进行预先设定,使用户自身认识移动范围。在前者的情况下,初期处理单元22在取得放大率的最小值“extend_min”以及最大值“extend_max”后,根据预先规定的规则,决定对应关系70。在后者的情况下,在应用软件计算机程序等中,事先设定对应关系70。
[0083] 在使图像规定参数的可变范围的两端与放大率的变化的范围的两端一致之外,也可以使放大率和图像规定参数的对应关系的规则相应于应用软件或用户的环境等发生变化。在图8的例子中,表示了放大率与图像规定参数为线性的变化的例子。但是,在该图的对应关系70中,在以与基准位置P_0对应的放大率“extend_0”为中心的2a的范围,即使放大率发生变化,也设有图像规定参数不变化的区域72。这是因为考虑到即使用户不从基准位置离开,但由于实际的微妙的头部的运动或放大率的算出误差等使得放大率发生变化的可能性。
[0084] 为了不发生由于这样的不是用户本意的摇晃导致图像规定参数、进而显示图像产生过度反应,可以将区域72设定为死区(dead zone)。另外,在对应关系70中,死区以外的部分也可以不是线性。比如可以是二次、三次函数。也可以是不连续的变化。另外,在图8中不设置死区的情况下,包括对应关系70的用点画线表示的部分的所有移动范围都使图像联动。
[0085] 比如,当用户站在前述的用户前进一步的位置时,在显示的假想世界,在继续前进的形式的情况下,如将图像规定参数作为“前进速度”,则会成为在放大率为“extend_0”以上,不足“extend_max”时,前进速度的值为0,在放大率为“extend_max”时,前进速度的值为设定的前进速度、这样的不连续的关系。根据用户的位置,在选择菜单的项目等情况下也同样。即使连续,也只在特别的位置设定数值的对应,其它的对应关系通过在图8的坐标上进行内插(補間)来决定。
[0086] 在前述的例子中,是使在图像与用户的运动联动的“移动范围”的两端的放大率与图像规定参数的可变范围的两端相对应,但也可以不一定是两端之间的对应。即,在校准时,可以让用户站在隔着设定的步数的2点的位置,取得头部轮廓的放大率,以对应于该步数的移动,使图像联动,使取得的放大率和图像规定参数相对应。使此时的2点、PZ_a、PZ_b满足PZ_min≤PZ_a<PZ_b≤PZ_max,可以决定图8的对应关系70。
[0087] 也可以不是根据应用软件或显示的图像来确定使得联动的移动范围,即,PZ_min、PZ_max。在这种情况下,如上所述,决定在2点的位置的放大率和图像规定参数的对应,通过线性或设定的函数来连结,决定对应关系70。如果是用户映照在摄像装置12中的范围内,也可以根据纵深方向的移动,图像适当地变化。
[0088] 图8的例子表示通过放大率将用户的纵深方向的位置的变化转换成图像规定参数时的对应关系。对于用户的横向、竖向的运动,也是通过同样地设定直行运动量和图像规定参数的对应关系,通过直行运动量来进行向图像规定参数的转换。但是,用户的竖向、或横向的实际的运动、和从摄像装置12来看的移动量的关系依赖于从摄像装置12到用户的距离。在本实施方式中,由于从纵深方向的基准位置的移动量由放大率来判定,使用它来修正表示看上去的移动量的直行运动量的值,推定用户的实际的移动量。
[0089] 图9是用于说明修正表示看上去的移动量的直行运动量的值的原理的图。在该图中,横轴(X轴)表示横向、纵轴(Z轴)表示纵深方向。摄像装置12设置在Z轴上。X轴和Z轴的交点是基准位置P_0,从摄像装置12到基准位置的距离为Z_0。在用户位于对摄像装置12来说从基准位置P_0靠深处的P_Z处,并横向移动的情况下,与在基准位置P_0处移动相同量的情况下相比,从摄像装置12来看的看上去的运动变小。用户从基准位置接近摄像装置12,则相反。竖向也同样。为了不论用户在纵深方向的哪个位置,都能同样地从横向、竖向的运动取得图像规定参数,将看上去的移动量,即,直行运动量的变化量换算为在纵深方向的基准位置的移动量。
[0090] 如图9所示,在用户在纵深方向P_Z的位置向横向移动X2的情况下,换算后的移动量成为对直行运动量的变化量累计X2/X1=(Z_0+(P_Z-P_0))/Z_0
[0091] 的值。离开纵深方向的基准位置的距离(P_Z-P_0)可以从放大率换算,其结果,可以用放大率来修正横向、竖向的移动量。修正后,参照与图8所示的同样的对应关系,取得与这些移动相对应的图像规定参数的值。此处所述的修正的方法只是例示,实际中,根据应用软件的内容等,可以设定各种各样的修正方法。
[0092] 下面,根据此前所述的构成可以实现的动作进行说明。图10是表示信息处理装置14的处理顺序的流程图。此处,以将用户在假想世界的视野作为显示图像来显示的形式的游戏为例进行说明。此时,当用户向纵深方向移动时,视点向纵深方向移动,当用户向横竖方向移动时,与此相联动,视点向横竖方向移动。因此,图像规定参数成为视点坐标等。
[0093] 首先当用户启动该游戏的软件时,初期处理单元22进行校准的处理(S12)。比如,将关于站立位置的指示显示在显示装置16上等,让用户站在设定的位置或做姿势的基础上,与用于追踪处理的模板相匹配等,取得放大率或直行运动量。如上所述,将各方向的运动产生的放大率、直行运动量的变化与图像规定参数相对应,将表示对应关系的式子或表存储到转换信息存储单元24。
[0094] 初期处理单元22将游戏的初期图像,即,在假想世界的最初的视野显示在显示装置16上(S12)。下面,追踪处理单元26依次读入摄像装置12拍摄的图像,开始头部轮廓的视觉追踪(S14)。输入值转换单元28作为追踪的结果,取得在该时刻t的头部轮廓的放大率以及直行运动量(S16)。此时,将该数据存储到履历存储单元56。如上所述,下一时间的帧之后对应于此前存储的履历,适当修正得到的放大率以及直行运动量。
[0095] 输入值转换单元28参照存储在转换信息存储单元24中的对应关系的数据,判定与对应于基准位置的放大率的变化量是否是一定值以上(S18)。此处的所谓“一定值”是指图8的“a”,在S18确认放大率的变化是否是死区以上。a的值可以在应用软件或装置等适当设定。如果放大率的变化量在一定值以上(S18的是),在图像规定参数当中,使纵深方向的视点移动(S20)。从存储在转换信息存储单元24中的对应关系的数据取得移动量。当放大率的变化量在死区的情况下(S18的否),如上所述,不移动纵深方向的视点。
[0096] 同样地,如果从对应于基准位置的直行运动量的时间t的变化量为一定值以上时(S22的是)、使视点在对应的方向移动(S24)。此时,如上所述,在用户从基准位置沿纵深方向移动的情况下(S18的是),在使用放大率进行直行运动量的修正的基础上,决定视点的移动量(图中未示)。当直行运动量在任一方向的变化量位于死区的情况下(S22的否),不移动该方向的视点。输出数据生成单元30生成从移动后的视点来看的图像数据,输出控制单元32进行控制,使得最新图像显示在显示装置16上(S26)。
[0097] 在放大率或直行运动量在死区的情况下,图像的视点不变化。由于图10的流程图只表示根据用户的移动产生的视点的移动处理,省略了其它的处理,但即使视点不移动,也可以是图像内的对象的动作等,在S26显示的最新图像中也可以有动作。如果没有根据游戏自身的结束或用户的结束指示而结束处理的必要(S28的否),将下一个帧的时间t+1作为现在时间t(S30),重复从S16到S26的处理。如果产生结束处理的必要(S28的是),则在此结束处理。
[0098] 图11以及图12表示在图10的流程图作为处理对象的游戏中,显示在显示装置16上的图像的、对于用户的位置变化的例子。这些图用箭头对应表示用户的代表性的位置和在该位置显示的图像的例子。图像表示几个立方体浮起来静止的状态。图11的用户的位置坐标表示横竖方向(X轴以及Y轴),原点为基准位置。对于用户在基准位置时(用户
18b)显示的图像80,当用户向右移动、直腰等头部轮廓在右上方时(用户18a),如图像82所示,显示从右上方往下看立方体的景色那样的图像。当用户往左移动、弯腰等头部轮廓在左下方时(用户18c),如图像84所示,显示从左下方网上看立方体的景色那样的图像。
[0099] 图12的用户的位置坐标表示纵深方向(Z轴)。对于用户在基准位置时(用户18e)显示的图像86,在用户接近摄像装置12时(用户18d),如图像88所示,显示接近立方体的景色的图像,当远离摄像装置12时(用户18f),如图像90所示显示远离立方体的景色的图像。另外。如上所述,当在基准位置以外时,实际上可以继续地使图像的视点移动。
[0100] 根据以上所述的本实施方式,由摄像装置取得用户的图像,检测包含纵深方向的用户的运动,将其作为输入信息进行处理。通过不仅仅是平面上的变化,也捕捉纵深方向的变化并使用,使得输入值的变化增加,可容易对应具有复杂的输入体系的应用软件。其结果,与控制器或键盘等输入装置相比,可以保证可输入的项目数,同时使得使用自己的身体本身的、更直观容易的输入成为可能。另外,由于使用身体,容易发挥游戏性,在形成角色扮演、射击、体育等各种各样的类型的假想世界的游戏中,可以更自然地娱乐于假想世界中。
[0101] 用户的动作检测使用通过追踪头部轮廓而求得的放大率以及直行运动量。由于这些参数可以按每帧等每个微小时间来取得,即使在游戏等应用软件处理中用户的周围的环境发生变化,也可以高精度地确定一个用户的头部。另外,由于头部轮廓的形状几乎不受面部的朝向或发型等的影响,即使与面部检测等相比较,可靠性也高。其结果,可以制作能够很强地适应用户自身或周围的状态的变化的应用软件。
[0102] 另外,根据放大率修正对于摄像装置的横竖方向的运动。由此,即使在纵深方向的任何位置,同样的横竖方向的移动,成为同样的图像的运动,可以进行对用户来说没有不舒服的感觉的图像表现。不仅仅是图像表现,即使在单单从菜单选择项目的情况下,根据距摄像装置的距离,不会有用户必须变化其动作或移动量检测的精度下降的情况,其结果,可以只用身体的运动容易地输入多个参数。
[0103] 以上基于实施方式对本发明进行了说明。上述实施方式是例示,这些各构成要素或各处理过程的组合可以有各种变形例,且这些变形例也在本发明的保护范围内,这是本领域的一般技术人员能够理解。
[0104] 比如在本实施方式中,通过使用作为视觉追踪的结果而得到的放大率的变化和纵深方向的移动量的线性关系,将放大率转换为图像规定参数,但为了推定纵深方向的移动量,也可以不用放大率。比如,可以使用能进行视觉追踪的结果推定的头部轮廓的形状。在该情况下,数出得到的头部轮廓的Ω形状的内部的像素数,根据该数值,表示看上去的头的大小,推定纵深方向的移动量。
[0105] 此时,由于取得的轮廓线是根据加权平均的推定值,也是用被限定的控制点来构成的B样条曲线,可以想象到与用户的头的轮廓不完全一致。为此,使通过加权平均取得的轮廓线再与边缘影像进行匹配,可以使轮廓线与用户的头部轮廓拟合后,再数内部的像素数。由此,可以高精度地检测纵深方向的移动。
[0106] 另外,在摄像装置之外,还可以设置测定空间的热分布的温度传感器,取得热分布,由前景提取器进行背景差分,也可以用其它手法取得用户存在的区域。在该情况下,作为追踪的结果,使得到的轮廓线和如上所述地与实际的头部轮廓拟合的轮廓线、与别的方法取得的头部区域进行比较,再进行轮廓线的修正。通过温度传感器或前景提取器取得对象物的区域可以使用现有的技术。同样地,与头部轮廓的追踪的同时,也可以进行面部检测处理。比如,可以通过对于推定的头部轮廓的内部区域进行面部检测,来修正轮廓线、或放大率等参数。任何一种情况下,也可以高精度地检测纵深方向的移动。
[0107] 另外,在本实施方式中,主要对于检测一个用户的运动的形式进行了说明,但用户也可以是多个。另外,即使在没有纵深方向的移动的游戏等中,也可以通过适用本发明高精度地检测动作。比如,多个用户同时玩的游戏,如网球双打,需要同时合作的角色扮演、格斗、射击等游戏,使用户的头部的横竖方向的运动与成为图像内的假想的用户的化身的运动相联动。在该情况下,对每个用户进行头部轮廓的追踪,分别检测移动量。
[0108] 此时与在本实施方式中说明的同样地,根据用户在纵深方向的站立位置,实际的运动和看上去的移动量的关系发生变化。因此,与本实施方式同样,使用各用户的头部的放大率,修正看上去的移动量,置换为某一个用户在纵深方向的站立位置的移动。由此,即使在多个用户的站立位置在纵深方向不齐的情况下,可以生成对同样的动作做同样的反应的图像,实现自然的用户接口。
[0109] 另外,对每个用户,可以使形状空间矢量的参数和图像规定参数的对应关系不同。比如根据用户的头的大小的不同,不进行多余的修正,可进一步提高动作的检测精度。在此,为了识别每个用户,也可以对于通过追踪得到的头部区域进行面部检测处理,在确定了用户的基础上,切换对应关系。
[0110] 符号说明
[0111] 10信息处理系统、12摄像装置、14信息处理装置、16显示装置、20图像取得单元、22初期处理单元、24转换信息存储单元、26追踪处理单元、28输入值转换单元、30输出数据生成单元、32输出控制单元、40图像处理单元、42取样单元、46观测单元、50结果取得单元、52追踪结果取得单元、54修正单元、56履历存储单元。
[0112] 如上所述,本发明可用于计算机、游戏机、图像处理装置等的信息处理装置。