信息处理装置、信息处理方法及程序的制作方法

文档序号:6364414阅读:85来源:国知局
专利名称:信息处理装置、信息处理方法及程序的制作方法
技术领域
本公开涉及一种信息处理装置、信息处理方法及程序。
背景技术
近年来,被称为增强现实(AR)的技术已引起了关注,其中,向用 户呈现其上叠加有另外的信息的真实世界。在AR技术中呈现给用户的信息还被称为注释(annotation),并且可以使用诸如文本、图标或动画的各种形式的虚拟对象来可视化。例如,当AR技术用于广告时,用于广告的虚拟对象(例如,增加有宣传词(catch copy)的产品图像)可以被显示为使得其叠加在真实世界中的建筑物的墙表面或标牌上。另外,当AR技术用于导航时,用于导航的虚拟对象(例如,箭头)可以被显示为使得其叠加在真实世界中的目标真实对象、道路等上。创建AR内容的操作是一种所谓的制作(authoring)。创建AR内容的开发用户确定哪个虚拟对象应该布置在三维空间中的哪个位置和在三维空间中以什么姿势布置。如此确定的虚拟对象的布置与真实世界中的特定地方或特定真实对象相关联并且被存储为数据。参考文献I (A. van den Hengel,R.Ward 和 A. Dick,“In Situ Image-basedModeling”(在关于混合和增强现实(Mixed and AugmentedReality)的第八届IEEE国际研讨会的会议论文集中,2009))示出了用于在布置虚拟对象之前的阶段对真实空间进行建模的技术的不例。参考文献 2 (W. Daniel, G. Reitmayr, A. MulIoni, T. Drummond 和D. SchmalstiegZiPose Tracking from Natural Features on Mobile Phones,,(在关于混合和增强现实(Mixed and Augmented Reality)的第七届IEEE国际研讨会的会议论文集中,2008))示出了使用自然标志(nature marker)的技术的示例,其目的是计算用于将虚拟对象叠加在捕获图像上所需的成像装置的位置和姿势。

发明内容
然而,对于至今为止的制作操作,需要关于坐标变换、CAD(计算机辅助设计)等的专业知识,以适当地将虚拟对象布置在AR空间中。即,只有具有专业知识的专业人员才能够制作AR内容。在这样的情形下,难以向市场大量供应各种类型的AR内容并且使最终用户享受AR技术的益处。考虑到上述情况,期望提供一种没有专业知识的普通用户可以容易地制作AR内容的信息处理装置、信息处理方法及程序。根据本公开的实施例,提供了一种信息处理装置,包括图像获取单元,其被配置成获取利用成像装置捕获的真实空间的输入图像;用户接口单元,其被配置成在显示装置的屏幕上显示输入图像以及检测用户在屏幕上指定的指定位置;计算单元,其被配置成根据用户接口单元检测到的指定位置来计算虚拟对象在增强现实空间中的的三维位置;以及制作单元,其被配置成将计算单元计算的虚拟对象的三维位置与虚拟对象相关联,以将三维位置存储在存储介质中。用户接口单元可提示用户将包括在输入图像中的真实对象的面之一指定为第一面,并且计算单元计算的三维位置可以是在增强现实空间中包括第一面的平面上并且对应于指定位置的位置。用户接口单元还可提示用户在屏幕上指定向量,计算单元还可使用所指定的向量计算虚拟对象在增强现实空间中的姿势,并且制作单元还可将计算单元计算的虚拟对象的姿势存储在存储介质中。计算单元可计算虚拟对象在增强现实空间中的姿势,使得当显示虚拟对象时,虚拟对象的至少一面的法线变得与第一面的法线平行。 用户接口单元还可提示用户指定虚拟对象的至少一面与包括第一面的平面之间的距离,并且计算单元可在距离不为零时,根据距离偏移虚拟对象的三维位置。用户接口单元可检测用户在屏幕上指定的两个指定位置,计算单元可计算虚拟对象在增强现实空间中的三维位置和姿势,使得对应于两个相应指定位置的包括在输入图像中的真实对象的面与虚拟对象的两个面接触,并且制作单元可将计算单元计算的虚拟对象的三维位置和姿势存储在存储介质中。用户接口单元可提示用户指定与虚拟对象相关联的真实空间中的真实对象,并且三维位置可被存储为关于用户指定的真实对象的相对位置。信息处理装置还可包括数据获取单元,其被配置成获取表示真实空间中的一个或多个真实对象中的每个的外表特征的模型数据;以及识别单元,其被配置成通过核对输入图像与模型数据,识别输入图像中真实空间的各个真实对象的位置和姿势。计算单元还可根据真实空间中的第一面的大小,计算当显示虚拟对象时虚拟对象在增强现实空间中的大小。根据本公开的另一实施例,提供了一种信息处理方法,包括获取利用成像装置捕获的真实空间的输入图像;在显示装置的屏幕上显示输入图像;检测用户在屏幕上指定的指定位置;根据检测到的指定位置来计算虚拟对象在增强现实空间中的三维位置;以及将计算的虚拟对象的三维位置与虚拟对象相关联,以将三维位置存储在存储介质中。根据本公开的又一实施例,提供了一种程序,其用于使控制连接到显示装置的信息处理装置的计算机用作如下单元图像获取单元,其被配置成获取利用成像装置获取的真实空间的输入图像;用户接口单元,其被配置成在显示装置的屏幕上显示输入图像以及检测用户在屏幕上指定的指定位置;计算单元,其被配置成根据用户接口单元检测到的指定位置来计算虚拟对象在增强现实空间中的三维位置;以及制作单元,其被配置成将计算单元计算的虚拟对象的三维位置与虚拟对象相关联,以将三维位置存储在存储介质中。如上所述,根据本公开的信息处理装置、信息处理方法及程序使没有专业知识的普通用户容易地制作AR内容。


图I是示出根据实施例的信息处理装置的概况的说明图;图2是示出AR内容的制作的说明图;图3是示出根据实施例的信息处理装置的硬件配置的示例的框图4是示出真实空间模型的概况的说明图;图5是示出真实空间模型的数据示例的说明图;图6是示出对象模型的概况的说明图;图7是示出对象模型的数据示例的说明图;
图8是示出虚拟对象的第一示例的说明图;图9是示出虚拟对象的第二示例的说明图;图10是示出虚拟对象的第三示例的说明图;图11是示出虚拟对象的第四示例的说明图;图12是示出虚拟对象数据的数据示例的说明图;图13是示出根据实施例的信息处理装置的功能配置的示例的框图;图14是示出根据实施例的制作画面的示例的说明图;图15是示出离接触位置的偏移的说明图;图16是示出根据实施例的位置/姿势计算处理的示例性流程的流程图;图17是示出根据实施例的实例数据的数据示例的说明图;图18是示出制作操作的第一场景的序列图;图19是示出显示在第一场景中的图像的示例的说明图;图20是示出制作操作的第二场景的序列图;图21是示出显示在第二场景中的图像的示例的说明图;图22是示出制作操作的第三场景的序列图;图23是示出显示在第三场景中的图像的示例的说明图;图24是示出制作操作的第四场景的序列图;图25是示出显示在第四场景中的图像的示例的说明图;图26是示出制作操作的第五场景的序列图;图27是示出显示在第五场景中的图像的示例的说明图;以及图28是示出虚拟对象的大小的改变的说明图。
具体实施例方式在下文中,将参考附图详细描述本公开的优选实施例。注意,在该说明书和附图中,用相同的附图标记来表示具有基本相同功能和结构的结构元件,并且省略这些结构元件的重复说明。将按以下顺序描述“具体实施方式
”。I.根据实施例的信息处理装置的概况2.硬件配置的示例3.数据结构的示例3-1.模型数据3-2.虚拟对象数据4.功能配置的示例4-1.图像获取单元4-2.数据获取单元
4-3.图像识别单元4-4.用户接口单元4-5.制作单元4-6.计算单元5.实例数据的生成6.操作场景7.结论〈I.根据实施例的信息处理装置的概况〉 首先,将参考图I和2描述根据本公开的实施例的信息处理装置的概况。参考图1,示例性示出了信息处理装置100。信息处理装置100是制作AR内容的用户使用的装置。在图I中,将PC(个人计算机)示出为信息处理装置100的示例。然而,信息处理装置100可以是其它类型的装置,例如智能电话、PDA(个人数字助理)、游戏终端或工作站。在图I的示例中,信息处理装置100连接到成像装置102。成像装置102捕获真实空间I的图像并且生成捕获图像。成像装置102生成的捕获图像成为将由以下描述的信息处理装置100处理的输入图像。在图I的下部,示例性示出了输入图像ImOO。输入图像可以在执行制作时实时地输入到信息处理装置100。替选地,捕获图像可以一次存储在从信息处理装置100可访问的存储介质中,使得稍后可以使用所存储的捕获图像作为输入图像来执行制作。作为另一替选,可以从信息处理装置100可访问的网络上的服务器提供捕获图像。例如,信息处理装置100可以从诸如GoogleEarthTM的图像信息提供服务获取捕获图像。图2是示出AR内容的制作的说明图。图2的左部示出了通过局部地放大图I所示的输入图像ImOO而获得的输入图像ImOl。输入图像ImOl包括存在于真实空间中的真实对象BI和B2。真实对象BI是建筑物。真实对象B2是设置在建筑物BI的屋顶上的标牌。在真实空间中,标牌B2在其表面上没有写任何东西。图2的下部示出了虚拟对象VI。虚拟对象Vl是模仿用于显示关于新型摄像机的广告的海报的注释。在信息处理装置100中,预先存储一个或更多个这样的虚拟对象。然后,用户在制作AR内容的操作期间将虚拟对象布置在输入图像中的期望位置处。图2的右部示出了布置有虚拟对象Vl的输出图像Im02。在输出图像Im02中,虚拟对象Vl叠加在标牌B2的表面上。输出图像Im02是可以由开发用户在信息处理装置100的屏幕上检查的图像。输出图像Im02也是可以呈现给在真实空间I中使用AR应用的最终用户的图像。为了即使当最终用户改变终端的取向时也可以将虚拟对象Vl适当地叠加在标牌B2的表面上,应该准确地定义虚拟对象Vl在AR空间中的的三维位置(和姿势)。例如,为了定义虚拟对象在AR空间中的的布置,至今为止需要涉及高级专业知识的操作,例如虚拟对象的三维坐标的计算以及三维坐标与二维坐标之间的坐标变换。因此,只有具有专业知识的专业人员才能够制作AR内容。相比之下,根据该实施例的信息处理装置100使没有专业知识的普通用户通过以下部分中详细描述的机制而容易地制作AR内容。〈2 硬件配置的示例〉图3是示出根据该实施例的信息处理装置100的硬件配置的示例的框图。参考图3,信息处理装置100包括成像单元102、传感器单元104、输入单元106、存储单元108、显示单元112、连接端口 114、总线116以及控制单元118。(成像单元)成像单元102是与图I示例性示出的成像装置102对应的摄像模块。成像单元102使用诸如CCD (电荷耦合 器件)或CMOS (互补金属氧化物半导体)的图像传感器捕获真实空间I的图像,以生成捕获图像。(传感器单元)传感器单元104是辅助信息处理装置100的位置和姿势(成像单元102的位置和姿势)的识别的传感器组。例如,传感器单元104可以包括GPS(全球定位系统)传感器,该GPS传感器在接收到GPS信号时测量信息处理装置100的纬度、经度以及高度。另外,传感器单元104可以包括定位传感器,该定位传感器根据从无线接入点接收的无线电信号的强度来测量信息处理装置100的位置。此外,传感器单元104可以包括测量信息处理装置100的倾斜角的陀螺传感器、测量三轴加速度的加速计或者测量取向的地磁传感器。注意,当信息处理装置100具有基于图像识别的位置估计功能和姿势估计功能时,可以从信息处理装置100的配置中省略传感器单元104。(输入单元)输入单元106是用户用来操作信息处理装置100或向信息处理装置100输入信息的输入装置。例如,输入装置106可以包括键盘、小键盘、鼠标、按钮、开关、触摸板等。输入单元106还可以包括识别输入图像中的用户手势的手势识别模块。此外,输入单元106还可以包括视线检测模块,该视线检测模块将佩戴HMD (头戴式显示器)的用户的视线的方向检测为用户输入。(存储单元)存储单元108使用诸如半导体存储器或硬盘的存储介质,来存储由信息处理装置100执行的处理的程序和数据。例如,存储单元108临时存储从成像单元102输出的图像数据和从传感器单元104输出的传感器数据。另外,存储单元108还存储用于制作的模型数据和虚拟对象数据。此外,存储单元108还存储作为制作结果而生成的实例数据。(显示单元)显示单元112是包括IXD (液晶显示器)、0LED (有机发光二极管)或CRT (阴极射线管)的显示模块。在显示单元112的屏幕上,显示由信息处理装置100提供的用于制作AR内容的用户接口。显示单元112可以是信息处理装置100的一部分或者可以被配置为信息处理装置100的分开部件。替选地,显示单元112可以是用户佩戴的HMD。(连接端口)连接端口 114是用于将信息处理装置100连接到外围装置或网络的端口。例如,作为附加存储介质的可拆卸介质可以连接到连接端口 114。替选地,有线或无线通信接口可以连接到连接端口 114。因此,信息处理装置100可以从网络上的服务器获取图像。(总线)总线116相互连接成像单元102、传感器单元104、输入单元106、存储单元108、显示单元112、连接端口 114以及控制单元118。(控制单元)控制单元118对应于诸如CPU (中央处理单元)或DSP (数字信号处理器)的处理器。控制单元118通过执行存储在存储单元108或其它存储介质中的程序,使以下描述的信息处理装置100的多种功能运行。<3.数据结构的示例>接下来,将參考图4至图12描述该实施例中的信息处理装置100使用的模型数据和虚拟对象数据。[3-1.模型数据]模型数据是表示真实空间中的一个或更多个真实对象中的每个的外表特征的数据。模型数据用于识别输入图像中的真实对象。另外,还可以使用模型数据识别输入图像中的真实对象的位置和姿势、或者成像装置(或信息处理装置100)的位置和姿势。模型数据的类型可以进一歩分成两种。第一类型的模型数据是真实空间模型,其除了包括表示各、个真实对象的外表的数据之外,还包括表示各个真实对象的位置的位置数据。即,真实空间模型对应于模型化的真实空间的图。第二类型的模型数据是对象模型,其表示与真实对象的位置不相关联的真实对象的外表特征。信息处理装置100使用真实空间模型或对象模型中的至少之一。(I)真实空间模型图4是示出真实空间模型的概况的说明图。參考图4,示出了真实空间I中的五个真实对象BI至B5。真实对象B1、B3、B4和B5是存在于真实空间I中的建筑物(的模型)。真实对象B2是存在于真实空间I中的标牌(的模型)。各个真实对象位于可以由真实空间I中的全局坐标系XU,y, z)表示的特定位置。各个真实对象被表示为多边形(多边形的面)的集合。例如,真实对象BI具有面Fn、F12和F13以及没有示出的其它面。真实对象B2具有面F21以及没有示出的其它面。真实对象B3具有面F31、F32和F33以及没有示出的其它面。这样的面的顶点的坐标可以由设置在各个真实对象上的局部坐标系X’来表示。另外,各个面具有从该面延伸到该面所属的真实对象的外侧的法线。例如,法线nn是面F11的法线,并且法线η12是面F12的法线。图5是示出真实空间模型的具体数据示例的说明图。參考图5,真实空间模型MDl被部分地示出为示例。真实空间模型MDl具有七个数据项“对象ID”、“描迷”、“位置”、“姿势”、“面”、“法线”以及“顶点”。“对象ID”是用于唯一地标识包括在真实空间模型MDl中的各个真实对象的标识符。“描述”是示出关于真实对象的描述的字符串。“位置”表示各个真实对象在全局坐标系上的位置坐标,并且通常对应于各个真实对象在局部坐标系上的原点的位置。“姿势”是旋转矩阵或四元数,其中,该旋转矩阵表示各个真实对象的局部坐标相对于全局坐标系的旋转。“面”是用于唯一地标识各个真实对象的面的标识符。各个真实对象具有ー个或更多个面。“法线”是各个面的法向量。“顶点”是各个面的顶点在局部坐标系上的位置坐标。各个面具有三个或更多个顶点。(2)对象模型图6是示出对象模型的概况的说明图。參考图6,示出了可以存在于真实空间I中的真实对象B8。例如,真实对象B8是汽车(的模型)。真实对象B8具有特定的局部坐标系,并且真实对象B8的外表被定义为使用该局部坐标系的多边形的集合。例如,真实对象B8具有面F81、F82和F83以及没有示出的其它面。各个面的顶点的坐标由局部坐标系V来表示。另外,各个面具有从该面延伸到该面所属的真实对象的外侧的法线。例如,法线H81是面F81的法线,法线n82是面F82的法线,并且法线n83是面F83的法线。由对象模型表示的各个真实对象与真实空间的全局坐标系上的具体位置不相关联。因此,对象模型适合于定义可以在真实空间内移动的动态真实对象。另外,真实空间模型适合于定义在真实空间中位置固定的静态真实对象。图7是示出对象模型的具体数据示例的说明图。在图7的示例中,部分地示出了包括关于真实对象B8和真实对象B9的数据的对象模型MD2。对象模型MD2具有五个数据项“对象ID”、“描迷”、“面”、“法线”以及“顶点”。“对象ID”是用于唯一地标识包括在对象模型MD2中的各个真实对象的标识符。“描述”是示出关于真实对象的描述的字符串。“面”是用于唯一地标识各个真实对象的面的标识符。各个真实对象具有ー个或更多个面。“法线”是各个面的法向量。“顶点”是各个面的顶点在局部坐标系上的位置坐标。各个面具有三个或更多个顶点。这样的真实空间模型和对象模型通常是预先创建的并被存储在存储单元108或 其它存储介质中。替选地,例如,可以根据以上的參考文献I中描述的方法,在信息处理装置100中交互式地或动态地创建真实空间模型和对象模型。此外,在真实空间模型和对象模型中,以下标志可以被设置为各个面的属性,该标志用于标识可以用作接触面(稍后描述)的面。[3-2.虚拟对象数据]虚拟对象数据是表示虚拟对象的形状特征和虚拟对象的部件属性的数据。图8至11示出了虚拟对象的四个示例。图8示出了作为第一示例的虚拟对象VI。虚拟对象Vl是模仿用于显示广告的海报的注释。虚拟对象Vl是平面对象,并且被表示为增加有纹理图像的单个多边形。虚拟对象Vl具有面Fa。面Fa的顶点的坐标可以由设置在虚拟对象Vl上的局部坐标系X’来表示。法线nA是面Fa的法线。在该实施例中,将參考点和參考线设置在虚拟对象的至少ー个面上,其中,參考点和參考线在虚拟对象的布置的计算中用作參考。在图8的示例中,參考点Pa和參考线1^设置在虚拟对象Vl的面Fa上。參考点可以是參考点所属的面的重心或者可以是任意顶点。替选地,參考点可以是用户预先指定的给定位置处的点。參考线通常是从參考点开始的线段。图9示出了作为第二示例的虚拟对象V2。虚拟对象V2是对应于容器的对象,该容器具有用于显示给定图像的场(图中的虚线框)。例如,当用于导航的图像设置在该场中时,虚拟对象V2可以是用于导航的注释。虚拟对象V2也是平面对象,并且被表示为单个多边形。虚拟对象V2具有面Fb。面Fb的顶点的坐标可以由设置在虚拟对象V2上的局部坐标系X’来表示。法线nB是面Fb的法线。在图9的示例中,參考点Pb和參考线Lb设置在虚拟对象V2的面!^上。图10示出了作为第三示例的虚拟对象V3。虚拟对象V3是立体对象,并且被表示为多边形的集合。例如,虚拟对象V3具有面Fa和Fra以及其它面。各个面的顶点的坐标可以由设置在虚拟对象V3上的局部坐标系X’来表示。法线如是面Fa的法线。法线nC2是面Fra的法线。立体虚拟对象的至少ー个面被定义为AR空间中与真实空间的真实对象相接触或相対的接触面。例如,当虚拟对象是模仿直立人的立体虚拟对象时,与虚拟对象的鞋底对应的底面被定义为接触面。在图10的示例中,虚拟对象V3的两个阴影线面是接触面。參考点和參考线设置在各个接触面上。图11示出了作为第四示例的虚拟对象V4。虚拟对象V4是形状上近似为球形的立体对象。虚拟对象V4的近似球形的形状也可以被表示为作为近似多面体的多边形的集合。然而,对于这样的虚拟对象,难以将接触面设置在对象的表面上。因此,将用作接触面的辅助面Fdz増加到虚拟对象V4。法线nDZ是面Fdz的法线。面Fdz是透明面,并且不显示给最終用户。參考点和參考线设置在接触面Fdz上。图12是示出虚拟对象数据的具体数据示例的说明图。在图12中,部分地示出了包括关于虚拟对象V1、V2、V3和V4的数据的虚拟对象数据VD。虚拟对象数据VD包括十个数据项“ID”、“描迷”、“类型”、“面”、“透明标志”、“接触标志”、“參考点”、“參考线”、“法线”以及“顶点”。“ID”是用于唯一地标识各个虚拟对象的标识符。“描述”是示出关于虚拟对象的描述的字符串。“类型”表示标志,该标志指示虚拟对象是平面对象还是立体対象。“面”是用于唯一地标识虚拟对象的面的标识符。各个虚拟对象具有ー个或更多个面。“透明标志”是指示各个面是否为透明面的标志。“接触标志”是表示各个面是否是接触面的标志。对于平面虚拟对象,“接触标志”可以省略(由于单个面是接触面)。“參考点”是设置在各个接触面上的參考点在局部坐标系上的位置坐标。“參考线”是表示设置在各个接触面上的·參考线的数据(例如,沿參考线的单位向量、或在參考点的相对侧上的端点的位置坐标)。“法线”是各个面的法向量。“顶点”是各个面的顶点在局部坐标系上的位置坐标。各个面具有三个或更多个顶点。这样的虚拟对象数据可以预先创建并且存储在存储单元108或其它存储介质中。〈4.功能配置的示例〉图13是示出由图3所示的信息处理装置100的控制单元118实现的功能的配置的示例的框图。參考图13,控制单元118包括图像获取単元120、数据获取単元130、图像识别单元140、用户接ロ单元150、制作单元160以及计算单元170。[4-1.图像获取单元]图像获取単元120获取已利用成像単元102 (或其它成像装置)捕获的真实空间的输入图像。输入图像是要被布置虚拟对象的真实空间中的地方或真实对象的图像。图像获取单元120将所获取的输入图像输出到图像识别单元140和用户接ロ单元150。[4-2.数据获取単元]数据获取単元130获取将用于信息处理装置100中的制作的数据。数据获取単元130获取的数据包括上述模型数据(真实空间模型和对象模型之一或二者)和虚拟对象数据。数据获取単元130将模型数据输出到图像识别单元140。另外,数据获取単元130将虚拟对象数据输出到制作単元160。此外,传感器単元104测量的传感器数据也被数据获取单元130获取。[4-3.图像识别单元]图像识别单元140核对输入图像与从数据获取单元130输入的模型数据,以识别输入图像中的真实对象。更具体地,例如,图像识别单元140根据诸如FAST特征检测的任何公知方法来提取输入图像中的特征点。然后,图像识别单元140核对所提取的特征点与包括在模型数据中的真实对象的顶点。因此,图像识别单元140识别哪些真实对象包括在输入图像中,以及所识别的真实对象中的每个在什么位置和以什么姿势。当所识别的真实对象是包括在真实空间模型中的真实对象时,在真实空间模型中示出真实对象的三维位置和姿势。当所识别的真实对象是包括在对象模型中的真实对象时,可以通过根据针孔模型(pinhole model)(例如,參见JP2008-304268A)将成像平面上的真实对象的顶点的ニ维位置变换为真实空间中的三维位置,来确定真实对象的三维位置和姿势。此外,图像识别单元140识别信息处理装置100的位置和姿势。例如,当输入图像中的真实对象具有自然标记时,图像识别单元140可以根据以上參考文献2中描述的方法,使用输入图像中的自然标记来识别信息处理装置100的位置和姿势。替选地,图像识别单元140可以根据SLAM(同时定位和映射)技术(參见J. Davison的“ Real-TimeSimultaneousLocaiization and Mapping with a Sing le Camera(大子计算十几视觉的桌九届IEEE国际会议的会议论文集,第2卷,2003年,第1403-1410页))的原理,动态地估计信息处理装置100的位置和姿势。注意,还可以取代图像识别而使用从传感器単元104获取的传感器数据(例如,来自GPS传感器的位置数据),来识别信息处理装置100的位置和姿势。另外,可以根据作为图像识别的结果而识别的各个真实对象的相对位置和姿势、以及通过使用传感器数据而识别的信息处理装置100的绝对位置和姿势,来计算各个真实对象的绝对位置和姿势。[4-4.用户接ロ单元]用户接ロ単元150在以下描述的制作単元160的控制下向用户提供用于制作的用户接ロ。用户接ロ単元150提供的用户接ロ通常是通过使用输入单元106和显示单元112实现的⑶I (图形用户接ロ)。更具体地,用户接ロ単元150使用显示单元112显示制作画面,该制作画面用于显示从图像获取单元120输入的输入图像。图14是示出可以根据该实施例显示的制作画面的示例的说明图。參考图14,示例性示出了制作画面SCI。制作画面SCl具有输入图像区域SAl和虚拟对象列表区域SA2。在输入图像区域SAl中,显示从图像获取単元120输入的输入图像。在虚拟对象列表区域SAl中,显示要布置在AR空间中的虚拟对象的候选列表。用户使用光标CUR从显示在虚拟对象列表区域SA2中的候选中选择要布置在AR空间中的虚拟对象。然后,用户将所选择的AR空间中的虚拟对象布置在输入图像区域SAl上。用户接ロ単元150根据对输入图像区域SAl执行的操作,来检测用于计算AR空间中的虚拟对象的三维位置和姿势的若干參数。以下具体描述经由这样的用户接ロ执行的制作操作的典型场景。[4-5.制作単元]制作单元160控制经由用户接ロ单元150提供的用户接ロ而执行的AR内容的制作。制作単元160从图像识别单元140获取输入图像中的真实对象的三维位置和姿势、以及信息处理装置100的位置和姿势。另外,制作単元160从数据获取单元130获取图12中示例性示出的虚拟对象数据。然后,制作単元160使用户接ロ単元150显示上述制作画面。此后,制作単元160使计算单元170根据制作画面上指定的參数来计算虚拟对象在AR空间中的三维位置和姿势。然后,制作単元160使存储单元108或其它存储介质存储所计算的虚拟对象的三维位置和姿势。注意,由虚拟对象数据定义的各个虚拟对象可以布置在AR空间中的多个位置处。在该说明书中,实际布置的这样的各个虚拟对象将被称为(虚拟对象的)实例。即,布置在两个不同地方的虚拟对象Vl是相同的虚拟对象,但是是不同的实例。[4-6.计算单元]计算单元170在制作单元160的控制下,使用制作画面上指定的參数,来执行用于确定虚拟对象的实例的三维位置和姿势的计算处理。(I)计算处理的原理真实空间的全局坐标系X(也是AR空间的坐标系)与单个虚拟对象的局部坐标系X’之间的关系可以由以下关系表达式(I)来表示。[公式I]
V = R0 · (X-C0). . · (I)此处,Cci是表示局部坐标系的原点在全局坐标系中的位置的位置坐标。Rtl是表示局部坐标系相对于全局坐标系的姿势变换的旋转矩阵。如公式(I)所示,可以根据公式(I)将包括在虚拟对象数据中的各个顶点的坐标(局部坐标系)变换为真实空间中的坐标位置(全局坐标),只要可以获得局部坐标系的原点位置Ctl和姿势变换Rtl即可。在该实施例中,计算单元170根据以下原理计算原点位置Ctl和姿势变换ル。首先,假定如此布置虚拟对象的实例,使得虚拟对象的实例具有与输入图像中的真实对象的接触面相同的倾斜(即,两条法线彼此平行)。接触面是根据用户输入标识的。注意,在以下描述中,具有接触面的真实对象将被称为接触面真实对象。假设所标识的接触面在全局坐标系上的法向量是n,并且虚拟对象的实例的接触面在局部坐标系上的法向量是η’,建立公式(2)。[公式2]η' = R0 · (-n)... (2)另外,假设表示实例的參考线在局部坐标系上的方向的向量是a’,并且指向与实例的參考线在全局坐标系上的方向相同的方向的向量(下文中称为“參考线布置向量”)是a,建立公式(3) ο[公式3]a' = R0 · a. . . (3)向量a’可以根据设置在虚拟对象数据中的參考线的数据获得。參考线布置向量a可以根据用户输入来标识。注意,四个向量n、n’、a以及a’中的每个是単位向量。此外,四个向量n、n’、a以及a’满足以下关系表达式(4)。[公式4](n/ Xa' ) = R0 · (_nXa)... (4)通过求解公式(2)至(4),可以获得局部坐标系的姿势变换ル。注意,局部坐标系的姿势变换可以不用旋转矩阵来表示,而是用四元数来表示。在这样的情况下,可以推导表示局部坐标系的姿势变换的四元数,只要可以标识上述向量run’、a以及a’即可。此外,假设全局坐标系上布置实例參考点的三维位置(下文中称为接触位置)是Y,并且參考点在局部坐标系上的三维位置是Y’,建立公式(5)。[公式5]C0 = Y-R01 · Y' ... (5)实例的參考点在局部坐标系上的位置Y’预先设置在虚拟对象数据中。因此,可以计算局部坐标系的原点在全局坐标系上的位置Ctl,只要识别接触位置Y即可。在这样的计算处理的原理中,预先未知的变量是三个接触面的ID、接触位置Y以及參考线布置向量a。(2)接触面的识别当用户在图14示例性示出的制作画面SCl的输入图像区域SAl中指定接触面(通过诸如点击或轻击的操作)时,可以识别接触面的ID。注意,作为图像识别单元140执行的图像识别的结果,制作単元160还知道输入图像中隐藏在其它面之后的面的位置。因此,制作単元160可以使输入图像区域SAl中位于其它面之后的面透明地显示,或者通过框强调显示的方法来显示,使得用户还可以指定后面的面。(3)接触位置的识别当用户在输入图像区域SAl中指定要布置參考点的地点时,还可以识别接触位置 Y。还可以通过单个的用户输入同时指定接触面和接触位置。例如,在输入图像区域SAl中指定的位置被称为指定位置U。指定位置U由成像平面上的摄像机坐标系上的ニ维位置(u,v)来表示。然后,在指定位置U(u,v)与对应于指定位置U的接触位置Y之间建立下面的根据针孔模型的关系表达式。[公式6]λ [u,V,1]T = A · Rc · (Y-Xc). . . (6)在公式¢)中,Xc表示摄像机的三维位置,Rc表示与摄像机的姿势对应的旋转矩阵,矩阵A表示摄像机内部參数,并且λ表示归ー化參数。根据成像単元102的特性由以下公式给出摄像机内部參数Α。[公式7] [_]
权利要求
1.一种信息处理装置,包括 图像获取单元,其被配置成获取利用成像装置捕获的真实空间的输入图像; 用户接口单元,其被配置成在显示装置的屏幕上显示所述输入图像,并且检测用户在所述屏幕上指定的指定位置; 计算单元,其被配置成根据所述用户接口单元检测到的所述指定位置,计算虚拟对象在增强现实空间中的三维位置;以及 制作单元,其被配置成将所述计算单元计算的所述虚拟对象的所述三维位置与所述虚拟对象相关联,以将所述三维位置存储在存储介质中。
2.根据权利要求I所述的信息处理装置,其中, 所述用户接口单元提示所述用户将包括在所述输入图像中的真实对象的面之一指定为第一面,以及 由所述计算单元计算的三维位置是在所述增强现实空间中的包括所述第一面的平面上并且对应于所述指定位置的位置。
3.根据权利要求2所述的信息处理装置,其中, 所述用户接口单元还提示所述用户在所述屏幕上指定向量, 所述计算单元还使用所指定的向量计算所述虚拟对象在所述增强现实空间中的姿势,以及 所述制作单元还将所述计算单元计算的所述虚拟对象的所述姿势存储在所述存储介质中。
4.根据权利要求3所述的信息处理装置,其中,所述计算单元计算所述虚拟对象在所述增强现实空间中的姿势,使得当显示所述虚拟对象时,所述虚拟对象的至少一面的法线变得与所述第一面的法线平行。
5.根据权利要求4所述的信息处理装置,其中, 所述用户接口单元还提示所述用户指定所述虚拟对象的所述至少一面与包括所述第一面的所述平面之间的距离,以及 所述计算单元在所述距离不为零时,根据所述距离偏移所述虚拟对象的所述三维位置。
6.根据权利要求2所述的信息处理装置,其中, 所述用户接口单元检测所述用户在所述屏幕上指定的两个指定位置, 所述计算单元计算所述虚拟对象在所述增强现实空间中的所述三维位置和姿势,使得分别对应于所述两个指定位置的包括在所述输入图像中的真实对象的面与所述虚拟对象的两个面相接触,以及 所述制作单元将所述计算单元计算的所述虚拟对象的所述三维位置和所述姿势存储在所述存储介质中。
7.根据权利要求I所述的信息处理装置,其中, 所述用户接口单元提示所述用户指定与所述虚拟对象相关联的所述真实空间中的真实对象,以及 将所述三维位置存储为关于所述用户指定的所述真实对象的相对位置。
8.根据权利要求2所述的信息处理装置,还包括数据获取单元,其被配置成获取表示所述真实空间中的一个或更多个真实对象中的每个的外表特征的模型数据;以及 识别单元,其被配置成通过核对所述输入图像与所述模型数据,识别所述输入图像中所述真实空间的各个真实对象的位置和姿势。
9.根据权利要求2所述的信息处理装置,其中,所述计算单元还根据所述真实空间中的所述第一面的大小,计算在显示所述虚拟对象时所述虚拟对象在所述增强现实空间中的大小。
10.一种信息处理方法,包括 获取利用成像装置捕获的真实空间的输入图像; 在显示装置的屏幕上显示所述输入图像; 检测用户在所述屏幕上指定的指定位置; 根据检测到的所述指定位置,计算虚拟对象在增强现实空间中的三维位置;以及将计算的所述虚拟对象的所述三维位置与所述虚拟对象相关联,以将所述三维位置存储在存储介质中。
11.一种程序,用于使控制连接到显示装置的信息处理装置的计算机用作以下单元 图像获取单元,其被配置成获取利用成像装置捕获的真实空间的输入图像; 用户接口单元,其被配置成在显示装置的屏幕上显示所述输入图像,并且检测用户在所述屏幕上指定的指定位置; 计算单元,其被配置成根据所述用户接口单元检测到的所述指定位置,计算虚拟对象在增强现实空间中的三维位置;以及 制作单元,其被配置成将所述计算单元计算的所述虚拟对象的所述三维位置与所述虚拟对象相关联,以将所述三维位置存储在存储介质中。
全文摘要
本发明提供了一种信息处理装置、信息处理方法及程序,该信息处理装置包括图像获取单元,其被配置成获取利用成像装置捕获的真实空间的输入图像;用户接口单元,其被配置成在显示装置的屏幕上显示输入图像,并且检测用户在屏幕上指定的指定位置;计算单元,其被配置成根据用户接口单元检测到的指定位置,计算虚拟对象在增强现实空间中的三维位置;以及制作单元,其被配置成将计算单元计算的虚拟对象的三维位置与虚拟对象相关联,以将三维位置存储在存储介质中。
文档编号G06K9/00GK102708355SQ20121002759
公开日2012年10月3日 申请日期2012年2月8日 优先权日2011年2月15日
发明者吴嘉宁, 多井坚一郎, 岩井嘉昭, 本间俊一, 贝野彰彦 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1