CN102054164A - 图像处理设备、图像处理方法和程序 - Google Patents

图像处理设备、图像处理方法和程序 Download PDF

Info

Publication number
CN102054164A
CN102054164A CN2010102880099A CN201010288009A CN102054164A CN 102054164 A CN102054164 A CN 102054164A CN 2010102880099 A CN2010102880099 A CN 2010102880099A CN 201010288009 A CN201010288009 A CN 201010288009A CN 102054164 A CN102054164 A CN 102054164A
Authority
CN
China
Prior art keywords
image
input picture
unit
generation unit
environmental map
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
Application number
CN2010102880099A
Other languages
English (en)
Other versions
CN102054164B (zh
Inventor
多井坚一郎
郭晶晶
周藤泰广
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN102054164A publication Critical patent/CN102054164A/zh
Application granted granted Critical
Publication of CN102054164B publication Critical patent/CN102054164B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20164Salient point detection; Corner detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了图像处理设备、图像处理方法和程序。该图像处理设备包括:数据存储单元,用于存储指示对象的外观的特征的特征数据;环境地图生成单元,用于基于利用成像设备对真实空间成像而获得的输入图像和存储在数据存储单元中的特征数据,生成表示存在于真实空间中的一个或多个对象的位置的环境地图;以及输出图像生成单元,用于基于在环境地图中表示的、从存在于输入图像内的多个对象中指定的擦除目标对象的位置和成像设备的位置来生成通过从输入图像中擦除所述擦除目标对象而获得的输出图像。

Description

图像处理设备、图像处理方法和程序
技术领域
本发明涉及图像处理设备、图像处理方法和程序。
背景技术
近年来,被称为增强现实(AR)的技术受到了关注,通过该技术,通过对真实空间成像并利用特定处理进行修改而获得的图像被呈现给用户。在AR技术中,例如,与输入图像中所示的真实空间中的对象有关的有用信息可被插入到要作为输出图像输出的图像中。即,在AR技术中,一般而言,呈现给用户的图像的很大一部分示出了真实空间,而图像的某一部分可以根据应用目的进行处理。这种特性与虚拟现实是相反的,在虚拟现实中,输出图像的全部(或很大一部分)是利用计算机图形(CG)构建的。例如,利用AR技术,可以提供用户很容易理解真实空间的状况或者基于输出图像的工作支持之类的优点。
在AR技术中,为了向用户呈现真实有用的信息,计算机准确地理解真实空间的状况是很重要的。因此,已开发了用于理解真实空间的状况的技术,其用作AR技术的基础。例如,下面的日本专利申请早期公开No.2008-304268公开了一种通过应用被称为同时定位与地图构建(SLAM)的技术来动态地生成表示存在于真实空间中的对象的三维位置的环境地图的方法,SLAM技术能够同时估计相机的位置和姿态以及相机的图像中示出的特征点的位置。同时,在“Real-Time Simultaneous Localization and Mapping with a Single Camera”(Andrew J.Davison,Proceedings of the 9th IEEE InternationalConference on Computer Vision Volume 2,2003,pp.1403-1410)中公开了使用单眼相机的SLAM技术的基本原理。
发明内容
传统上,存在一种从图像中显示的多个对象中擦除指定对象以使该对象看起来好像不存在的图像处理技术。一般而言,在该技术中,预先摄取背景图像,并且显示背景图像来替代与新输入的人体或对象相对应的区域。然而,在该方法中,需要每次在相机的位置或姿态改变时摄取背景图像。另外,移动室外建筑物和室内家具并不容易,因此难以在没有这种对象的状态下摄取背景图像。
在该情形中,据认为有利的是不摄取背景图像而基于上述环境地图来生成图像,以便无论相机的位置和姿态如何,都能够擦除甚至难以从图像中移动的对象。
考虑到前述内容,希望提供一种新颖且改进的图像处理设备、图像处理方法和程序,其能够从图像中擦除指定对象,而不用预先拍摄背景图像。
根据本发明的一个实施例,提供了一种图像处理设备,包括:数据存储单元,用于存储指示对象的外观的特征的特征数据;环境地图生成单元,用于基于利用成像设备对真实空间成像而获得的输入图像和存储在数据存储单元中的特征数据,生成表示存在于真实空间中的一个或多个对象的位置的环境地图;以及输出图像生成单元,用于基于在环境地图中表示的从存在于输入图像内的多个对象中指定的擦除目标对象的位置和成像设备的位置来生成通过从输入图像中擦除所述擦除目标对象而获得的输出图像。
根据这样的配置,基于输入图像和特征数据动态地生成环境地图,并且基于环境地图生成通过擦除所述擦除目标对象而获得的输出图像。
图像处理设备还可包括检测单元,用于基于输入图像和特征数据动态地检测成像设备的位置。
输出图像生成单元可包括:擦除区域确定单元,用于基于环境地图中擦除目标对象的位置和成像设备的位置来确定擦除区域,擦除区域是输入图像中与擦除目标对象相对应的区域;CG图像生成单元,用于生成要叠加在输入图像上的CG图像;以及图像叠加单元,对于擦除区域的至少一部分,将由CG图像生成单元生成的CG图像叠加在输入图像上,从而生成输出图像。
CG图像生成单元可以基于由环境地图表示的除了擦除目标对象以外的对象的位置和成像设备的位置来生成CG图像。
输出图像生成单元还可包括位置估计单元,用于基于由环境地图表示的对象表面上的点的位置来估计真实空间中地板表面或墙壁表面的位置,并且CG图像生成单元还可以基于由位置估计单元估计出的真实空间中地板表面或墙壁表面的位置来生成CG图像。
特征数据可包括指示对于每个对象的表面上的一个或多个点、每个点是否很可能与真实空间中的地板表面或墙壁表面相接触的数据,并且位置估计单元还可以基于特征数据来估计真实空间中地板表面或墙壁表面的位置。
CG图像生成单元可以根据输入图像中的估计要显示真实空间中的地板表面或墙壁表面的部分的图像,来生成包含在擦除区域中的部分、即应当显示真实空间中的地板表面或墙壁表面的部分的CG图像。
图像处理设备还可包括虚拟对象选择单元,用于选择要虚拟地显示在输出图像中的对象,其中CG图像生成单元可以将虚拟对象选择单元所选择的对象添置到CG图像中。
要虚拟显示的对象对应于存在于输入图像内的多个对象之中的移动后的指定对象,并且擦除目标对象对应于移动前的该指定对象。
根据本发明的另一个实施例,提供了一种利用图像处理设备执行的图像处理方法,该图像处理设备具有存储指示对象的外观的特征的特征数据的数据存储单元,该方法包括以下步骤:基于利用成像设备对真实空间成像而获得的输入图像和存储在数据存储单元中的特征数据,生成表示存在于真实空间中的一个或多个对象的位置的环境地图;以及基于从存在于输入图像内的多个对象中指定的擦除目标对象在环境地图中的位置和成像设备的位置来生成通过从输入图像中擦除所述擦除目标对象而获得的输出图像。
根据本发明的另一个实施例,提供了一种用于使计算机控制图像处理设备用作以下单元的程序:数据存储单元,用于存储指示对象的外观的特征的特征数据;环境地图生成单元,用于基于利用成像设备对真实空间成像而获得的输入图像和存储在数据存储单元中的特征数据来生成表示存在于真实空间中的一个或多个对象的位置的环境地图;以及输出图像生成单元,用于基于从存在于输入图像内的多个对象中指定的擦除目标对象在环境地图中的位置和成像设备的位置来生成通过从输入图像中擦除所述擦除目标对象而获得的输出图像。
如上所述,根据本发明实施例的图像处理设备、图像处理方法和程序,可以从图像中擦除指定的对象,而不用预先摄取背景图像。
附图说明
图1是用于图示根据一个实施例的图像处理设备的示意图;
图2是图示根据一个实施例的用于图像处理的输入图像的例子的示意图;
图3是图示根据一个实施例作为图像处理的结果输出的输出图像的例子的示意图;
图4是图示根据第一实施例的图像处理设备的配置示例的框图;
图5是图示根据第一实施例的自身位置检测处理的流程示例的流程图;
图6是用于图示设在对象上的特征点的示意图;
图7是用于图示特征点的添加的示意图;
图8是用于图示预测模型的例子的示意图;
图9是用于图示特征数据的结构的例子的示意图;
图10是图示根据第一实施例的对象识别处理的流程示例的流程图;
图11是用于图示根据第一实施例由CG图像生成单元生成的CG图像的例子的示意图;
图12是用于图示根据第一实施例由擦除区域确定单元确定的擦除区域的例子的示意图;
图13是用于图示根据第一实施例将CG图像叠加在输入图像上的情况的第一示意图;
图14是用于图示根据第一实施例将CG图像叠加在输入图像上的情况的第二示意图;
图15是图示根据第二实施例的图像处理设备的配置示例的框图;
图16是用于图示特征数据的结构的另一例子的示意图;
图17是用于图示与图16中所示的特征数据有关的多边形的例子的示意图;
图18是用于图示根据第二实施例的CG图像生成处理的示意图;
图19是用于图示根据第二实施例的纹理选择处理的示意图;
图20是图示根据第三实施例的图像处理设备的配置示例的框图;
图21是用于图示根据第三实施例的三维位置选择处理的示意图;
图22是用于图示根据第三实施例由CG图像生成单元生成的CG图像的例子的示意图;
图23是用于图示根据第三实施例由擦除区域确定单元确定的擦除区域的例子的示意图;
图24是用于图示根据第三实施例将CG图像叠加在输入图像上的情况的第一示意图;
图25是用于图示根据第三实施例将CG图像叠加在输入图像上的情况的第二示意图;以及
图26是图示通用计算机的硬件配置的例子的框图。
具体实施方式
下文中将参考附图详细描述本发明的优选实施例。注意,在该说明书和附图中,用相同的附图标记表示具有基本相同的功能和结构的结构元件,并且省略对这些结构元件的重复说明。
另外,按以下顺序描述具体实施方式部分。
1.根据一个实施例的图像处理设备的概述
2.第一实施例
2-1.成像单元
2-2.环境地图生成单元
2-3.输出图像生成单元
2-4.第一实施例的总结
3.第二实施例
3-1.环境地图生成单元
3-2.输出图像生成单元
3-3.第二实施例的总结
4.第三实施例
4-1.输出图像生成单元
4-2.第三实施例的总结
5.硬件配置
<1.根据一个实施例的图像处理设备的概述>
图1是用于图示根据本发明一个实施例的图像处理设备的示意图。图1图示了根据本发明一个实施例的环境1,其中存在具有图像处理设备100的用户。
参考图1,在环境1内存在三个对象Obj01、Obj02和Obj03,墙壁表面W01和W02以及地板表面F0。对象Obj01被布置在墙壁表面W01和W02之间的墙角上。另外,沿着墙壁表面W01,对象Obj02紧邻对象Obj01布置,并且对象Obj03紧邻对象Obj02布置。在环境1是一个房间的情况下,对象Obj01、Obj02和Obj03例如对应于诸如抽屉柜之类的多件家具。
图像处理设备100对环境1的内部(它是真实空间)成像,并执行根据后面描述的该实施例的图像处理。尽管在图1中摄像机被图示为图像处理设备100的例子,但是图像处理设备100并不限于该例子。例如,图像处理设备100可以是诸如个人计算机(PC)、移动终端或数字家用电器之类的信息处理设备,其能够从诸如摄像机之类的成像设备获得图像。另外,图像处理设备100并不一定如图1所示被用户手持。例如,图像处理设备100可以被固定安装在可选场所处,或者可以安装在以相机为眼睛的机器人等上。另外,环境1并不限于图1中所示的例子,可以是室内环境或者室外环境。
图2图示了在图1的环境1中由图像处理设备100摄取的输入图像Im01作为例子。图1中所示的三个对象Obj01、Obj02和Obj03,墙壁表面W01和W02以及地板表面F0存在于输入图像Im01中。图像处理设备100例如获得这样的输入图像,并生成通过从所获得的输入图像中擦除擦除目标对象而获得的输出图像。擦除目标对象例如可以由用户从对象Obj01、Obj02和Obj03中进行选择。不然,擦除目标对象例如可以由可选应用来指定。
图3图示了图像处理设备100的图像处理后输出的输出图像Im02作为例子。存在于输入图像Im01中的多个对象之中的对象Obj02不被包括在输出图像Im02中。取而代之,在输入图像Im01中存在对象Obj02的区域中显示了隐藏在对象Obj02后面的对象Obj01的一部分等等。在本说明书中,详细描述了图像处理设备100如何从输入图像生成这样的输出图像。
<2.第一实施例>
图4是图示根据第一实施例的图像处理设备100的配置例的框图。参考图4,图像处理设备100包括成像单元102、环境地图生成单元110和输出图像生成单元180。
[2-1.成像单元]
成像单元102可以实现为例如具有成像元件的成像设备,所述成像元件例如是电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)。尽管在该实施例中成像单元102构成图像处理设备100的一部分,但是成像单元102也可设在图像处理设备100的外部。成像单元102将通过对真实空间(例如图1中所示的环境1)成像而生成的图像作为输入图像输出到环境地图生成单元110和输出图像生成单元180。
[2-2.环境地图生成单元]
环境地图生成单元110基于从成像单元102输入的输入图像和存储在数据存储单元130中的对象的特征数据(后面将描述)来生成环境地图,该环境地图表示存在于真实空间中的一个或多个对象等的位置。如图4所示,在该实施例中,环境地图生成单元110包括自身位置检测单元120、数据存储单元130、图像识别单元140、环境地图构建单元150和环境地图存储单元152。
(1)自身位置检测单元
自身位置检测单元120基于从成像单元102输入的输入图像和存储在数据存储单元130中的特征数据来动态检测拍摄所述输入图像的成像设备的位置。例如,仍是在成像设备具有单眼相机的情况下,自身位置检测单元120可以通过应用在上述“Real-Time Simultaneous Localization and Mapping with a Single Camera”(Andrew J.Davison,Proceedings of the 9th IEEE International Conference on ComputerVision Volume 2,2003,pp.1403-1410)中公开的SLAM技术来动态确定相机的位置和姿态以及对于每一帧相机的成像平面上的特征点的位置。
首先,参考图5描述应用SLAM技术的自身位置检测单元120的自身位置检测处理的整体流程。接下来,参考图6至8详细描述自身位置检测处理。
图5是图示应用SLAM技术的自身位置检测单元120的自身位置检测处理的流程示例的流程图。在图5中,当自身位置检测处理开始时,自身位置检测单元120首先初始化状态变量(步骤S102)。在该实施例中,状态变量是包括相机的位置和姿态(旋转角)、相机的运动速度和角速度、以及一个或多个特征点的位置作为元素的向量。自身位置检测单元120随后依次从成像单元102获得输入图像(步骤S112)。从步骤S112到步骤S118的处理可以对每个输入图像(即,每一帧)重复。
在步骤S114,自身位置检测单元120跟踪存在于输入图像中的特征点。例如,自身位置检测单元120从输入图像中检测预先存储在数据存储单元130中的每个特征点的图块(例如,围绕特征点的3×3=9个像素的小图像)。这里检测出的图块的位置,即,特征点的位置随后在更新所述状态变量时被使用。
在步骤S116,自身位置检测单元120例如基于预定的预测模型生成下一帧的状态变量的预测值。另外,在步骤S118,自身位置检测单元120利用在步骤S116生成的状态变量的预测值和根据在步骤S114检测出的特征点的位置的观测值来更新状态变量。自身位置检测单元120基于扩展卡尔曼(Kalman)滤波器的原理来执行步骤S116和S118的处理。
作为这种处理的结果,针对每一帧更新的状态变量的值被输出。下文中更具体描述跟踪特征点(步骤S114)、预测状态变量(步骤S116)和更新状态变量(步骤S118)的每种处理的配置。
(1-1)跟踪特征点
在该实施例中,数据存储单元130预先存储指示与可能存在于真实空间中的物理对象相对应的对象的特征的特征数据。特征数据例如包括若干小图像,即,与一个或多个特征点有关的图块,各自表示每个对象的外观的特征。图块例如可以是由围绕特征点的3×3=9个像素组成的小图像。
图6图示了对象的两个例子以及设在每个对象上的特征点(FP)和图块的例子。图6中的左侧对象是表示抽屉柜的对象(参见图6a)。在对象上设置了包括特征点FP1在内的多个特征点。另外,与特征点FP1相关地定义了图块Pth1。另一方面,图6中的右侧对象是表示日历的对象(参见图6b)。在对象上设置了包括特征点FP2在内的多个特征点。另外,与特征点FP2相关地定义了图块Pth2。
在从成像单元102获得了输入图像后,自身位置检测单元120将输入图像中包括的部分图像与预先存储在数据存储单元130中的图6所示的每个特征点的图块进行匹配。自身位置检测单元120随后指定输入图像中包括的每个特征点的位置(例如,所检测的图块的中心像素的位置)作为匹配结果。
应当注意,为了跟踪特征点(图5中的步骤S114),没有必要预先在数据存储单元130中存储与要跟踪的所有特征点有关的数据。例如,在图7所示的例子中,在时刻T=t-1在输入图像中检测到六个特征点(参见图7a)。接下来,当相机的位置或姿态在时刻T=t改变时,在时刻T=t-1存在于输入图像中的六个特征点中只有两个特征点存在于输入图像中。在这种情况下,自身位置检测单元120可以将特征点新设置在输入图像的特有像素图案所存在的位置处,并将新的特征点用在后一帧的自身位置检测处理中。例如,在图7所示的例子中,在时刻T=t在对象上设置了四个新的特征点(参见图7b)。这是SLAM技术的一个特征,并且根据该特征,可以减少预先设置所有特征点的成本并且利用数目增多的特征点可以提高处理的精度。
(1-2)预测状态变量
在该实施例中,自身位置检测单元120使用在下式中表达的状态变量X作为要应用于扩展卡尔曼滤波器的状态变量。
[等式1]
X = x &omega; x &CenterDot; &omega; &CenterDot; p 1 &CenterDot; &CenterDot; &CenterDot; p N - - - ( 1 )
等式(1)中状态变量X的第一元素表示相机在全球坐标系(x,y,z)(它是设在真实空间中的坐标系)中的三维位置,如下式所表达的。
[等式2]
x = x c y c z c - - - ( 2 )
另外,状态变量的第二元素是与表示相机的姿态的旋转矩阵相对应的四维向量ω,其具有四元数作为元素。注意,可以利用欧拉(Euler)角来代替四元数表示相机的姿态。另外,状态变量的第三和第四元素分别表示相机的运动速度和角速度。
另外,状态变量的第五和第六元素表示特征点FPi(i=1...N)在全球坐标系中的三维位置pi,如下式所表达的。注意,如上所述,特征点的数目N可以在处理期间改变。
[等式3]
p i = x i y i z i - - - ( 3 )
自身位置检测单元120基于在步骤S102初始化的状态变量X的值或者在前一帧中更新的状态变量X的值来生成用于最新帧的状态变量的预测值。根据如下式所示的多维正态分布通过扩展卡尔曼滤波器的状态方程式生成状态变量的预测值。
[等式4]
预测状态变量 X ^ = F ( X , a ) + W - - - ( 4 )
这里,F表示与系统的状态转变有关的预测模型,“a”表示预测条件。另外,w表示高斯(Gaussian)噪声,并且例如可包括模型近似误差、观测误差等等。一般而言,高斯噪声w的平均值为0。
图8是用于图示根据该实施例的预测模型的例子的示意图。参考图8,图示了根据该实施例的预测模型中的两个预测条件。首先,作为第一条件,假定特征点在全球坐标系中的三维位置不改变。即,假定在时刻T特征点FP1的三维位置是pT,则满足下式。
[等式5]
pt=pt-1    (5)
接下来,作为第二条件,假定相机的运动是匀速运动。即,从时刻T=t-1到时刻T=t的相机的速度和角速度满足下式。
[等式6]
x &CenterDot; t = x &CenterDot; t - 1 - - - ( 6 )
&omega; &CenterDot; t = &omega; &CenterDot; t - 1 - - - ( 7 )
自身位置检测单元120基于该预测模型和在等式(4)中表达的状态方程来生成用于最新帧的状态变量的预测值。
(1-3)更新状态变量
自身位置检测单元120随后例如利用观测方程式来评估由状态变量的预测值预测得到的观测信息和作为特征点跟踪的结果而获得的实际观测信息之间的误差。注意,等式(8)中v的是误差。
[等式7]
观测信息 s = H ( X ^ ) + v - - - ( 8 )
预测观测信息 s ^ = H ( X ^ ) - - - ( 9 )
这里,H表示观测模型。例如,特征点FPi在成像平面(u-v平面)上的位置被定义为以下式表达。
[等式8]
FPi在成像平面上的位置 p ~ i = u i v i 1 - - - ( 10 )
这里,相机的位置x、相机的姿态ω和特征点FPi的三维位置pi全都被给定作为状态变量X的元素。然后,根据针孔模型利用下式来导出特征点FPi在成像平面上的位置。
[等式9]
&lambda; p ~ i = AR &omega; ( p i - x ) - - - ( 11 )
这里,λ表示用于标准化的参数,A表示相机内部参数,Rω表示与表示状态变量X中包括的相机的姿态的四元数ω相对应的旋转矩阵。相机内部参数A是根据摄取输入图像的成像设备的特性而预先给定的,如下式所表达的。
[等式10]
A = - f &CenterDot; k u f &CenterDot; k u &CenterDot; cot &theta; u O 0 - f &CenterDot; k v sin &theta; v O 0 0 1 - - - ( 12 )
这里,f表示焦距,θ表示图象轴的正交性(理想值是90度),ku表示沿着成像平面的纵轴的比例(从全球坐标系到成像平面的坐标系的尺度变化率),kv表示沿着成像平面的横轴的比例,并且(uo,vo)表示成像平面的中心位置。
因此,通过搜索状态变量X可以获得可行的最新状态变量X,其使得利用等式(11)导出的预测观测信息(即,每个特征点在成像平面上的位置)和图5中的步骤S114处的特征点跟踪的结果之间的误差最小。
[等式11]
最新状态变量 X &LeftArrow; X ^ + Innov ( s - s ^ ) - - - ( 13 )
自身位置检测单元120将通过以这种方式应用SLAM技术而动态更新的相机(成像设备)的位置x和姿态ω输出到环境地图构建单元150和输出图像生成单元180。
(2)数据存储单元
数据存储单元130利用诸如硬盘或半导体存储器之类的存储介质预先存储指示与可能存在于真实空间中的对象相对应的对象的特征的特征数据。尽管在图4中示出了数据存储单元130是环境地图生成单元110的一部分的例子,但是这并不限于该例,并且数据存储单元130可以设在环境地图生成单元110的外部。图9是用于图示特征数据的结构的例子的示意图。
参考图9,图示了关于对象Obj1的特征数据FD1作为例子。特征数据FD1包括对象名FD11、从六个方向摄取的图像数据FD12、图块数据FD13、三维形状数据FD14和本体数据FD15。
对象名FD11是可用来指定相应对象的名称,例如“咖啡杯A”。
图像数据FD12包括例如通过从六个方向(前、后、左、右、上和下)摄取相应对象的图像而获得的六个图像数据。图块数据FD13是对于设在每个对象上的一个或多个特征点中的每一个、围绕每个特征点的一组小图像。图像数据FD12和图块数据FD13可以用于后面将描述的图像识别单元140的对象识别处理。另外,图块数据FD13可以用于自身位置检测单元120的上述自身位置检测处理。
三维形状数据FD14包括用于识别相应对象的形状的多边形信息和特征点的三维位置信息。三维形状数据FD14可以用于后面将描述的环境地图构建单元150的环境地图构建处理和针对每个对象的CG图像生成处理。
本体数据FD15例如是可以用于辅助环境地图构建单元150的环境地图构建处理的数据。在图9所示的例子中,本体数据FD15表明作为咖啡杯的对象Obj1很可能与对应于桌子或洗碗机的对象相接触并且不太可能与对应于书架的对象相接触。
(3)图像识别单元
图像识别单元140利用存储在数据存储单元130中的上述特征数据来指定存在于输入图像中的物理对象和数据对象之间的对应关系。
图10是图示图像识别单元140的对象识别处理的流程示例的流程图。参考图10,图像识别单元140首先从成像单元102获得输入图像(步骤S212)。接下来,图像识别单元140将输入图像中包括的部分图像与特征数据中包括的每个对象的一个或多个特征点的图块进行匹配以提取输入图像中包括的特征点(步骤S214)。应当注意,用在图像识别单元140的对象识别处理中的特征点和用在自身位置检测单元120的自身位置检测处理中的特征点不一定相同。然而,当在这两种处理中使用共同的特征点时,图像识别单元140可以重新使用自身位置检测单元120的特征点跟踪的结果。
接下来,图像识别单元140基于特征点的提取结果来指定存在于输入图像中的对象(步骤S216)。例如,当在某一区域中高密度地提取出属于一个对象的多个特征点时,图像识别单元140可以识别出该对象存在于该区域中。图像识别单元140随后将所指定的对象的对象名(或标识符)和属于该对象的特征点在成像平面上的位置输出到环境地图构建单元150(步骤S218)。
(4)环境地图构建单元
环境地图构建单元150利用从自身位置检测单元120输入的相机的位置和姿态、从图像识别单元140输入的成像平面上特征点的位置以及存储在数据存储单元130中的特征数据来生成环境地图。在本说明书中,环境地图是指示存在于真实空间中的一个或多个对象的位置(和姿态)的一组数据。环境地图例如可包括与对象相对应的对象名、属于对象的特征点的三维位置以及构成对象的外形的多边形信息。例如可以通过根据上述针孔模型从输入自图像识别单元140的成像平面上特征点的位置获得每个特征点的三维位置来构建环境地图。
通过对在等式(11)中表示的针孔模型的关系等式进行变形,可以通过下式获得特征点FPi在全球坐标系中的三维位置pi。
[等式12]
p i = x + &lambda; &CenterDot; R &omega; T &CenterDot; A - 1 &CenterDot; p ~ i = x + d &CenterDot; R &omega; T A - 1 &CenterDot; p ~ i | | A - 1 &CenterDot; p ~ i | | - - - ( 14 )
这里,d表示在全球坐标系中相机和每个特征点之间的距离。环境地图构建单元150可以对于每个对象、基于成像平面上至少四个特征点的位置以及这些特征点之间的距离来计算该距离d。特征点之间的距离被预先存储在数据存储单元130中作为参考图9所示的特征数据中包括的三维形状数据FD14。应当注意,在上述日本专利申请早期公开No.2008-304268中详细公开了等式(14)中距离d的计算处理。
在计算出距离d之后,等式(14)的右侧的剩余变量是从自身位置检测单元120输入的相机的位置和姿态以及从图像识别单元140输入的成像平面上特征点的位置,并且它们都是已知的。环境地图构建单元150随后根据等式(14)为从图像识别单元140输入的每个特征点计算全球坐标系中的三维位置。环境地图构建单元150随后根据每个计算出的特征点的三维位置来构建最新环境地图,并允许环境地图存储单元152存储所构建的环境地图。应当注意,此时,环境地图构建单元150可以利用参考图9所示的特征数据中包括的本体数据FD15来提高环境地图的数据的精度。
环境地图存储单元152利用诸如硬盘或半导体存储器之类的存储介质来存储由环境地图构建单元150构建的环境地图。
[2-3.输出图像生成单元]
输出图像生成单元180基于从存在于输入图像中的若干对象中指定的擦除目标对象的位置(在环境地图中的位置)和成像设备的位置来生成从输入图像中擦除了该擦除目标对象的输出图像。如图4所示,在该实施例中,输出图像生成单元180包括擦除目标选择单元182、CG图像生成单元184、擦除区域确定单元186和图像叠加单元188。
(1)擦除目标选择单元
擦除目标选择单元182从存在于输入图像中的若干对象中选择要从输出图像擦除的擦除目标对象。擦除目标选择单元182例如可以将图2中所示的输入图像Im01显示在图像处理设备100的屏幕上以允许用户指定想要擦除的对象。不然,擦除目标选择单元182也可以允许可选的应用指定要擦除的对象。擦除目标选择单元182例如将用户或应用所指定的对象选为擦除目标对象,并将指定擦除目标对象的擦除目标标识符输出到CG图像生成单元184和擦除区域确定单元186。
(2)CG图像生成单元
CG图像生成单元184生成要叠加在输入图像上的CG图像,该CG图像用于从输入图像中擦除由擦除目标选择单元182选择的擦除目标对象。
更具体而言,CG图像生成单元184通过环境地图构建单元150获得最新的环境地图。另外,CG图像生成单元184从自身位置检测单元120获得相机的最新位置和姿态。CG图像生成单元184随后基于由最新的环境地图表示的除擦除目标对象以外的其它对象的三维位置以及相机的位置和姿态来生成CG图像,在该CG图像中除擦除目标对象以外的其它对象被可视化。
图11是用于说明由CG图像生成单元184生成的CG图像的例子的示意图。参考图11,图示了由CG图像生成单元184生成的CG图像Im11作为例子。注意,这里假定存在于图1所示的环境1中的多个对象中的对象Obj02被选为擦除目标对象。另外,在CG图像Im11中,为了方便起见,每个对象被赋予一个标记(“CG”),表明该对象被利用CG可视化。这种标记并不显示在实际的CG图像上。
从图11可以理解,CG图像Im11包括存在于环境1中的多个对象中的对象Obj01和Obj03、墙壁表面W01和W02以及地板表面F0,但不包括擦除目标对象Obj02。CG图像生成单元184可以例如基于由环境地图表示的每个对象的三维位置以及相机的位置和姿态,利用根据针孔模型的等式(11)生成这种CG图像Im11。CG图像生成单元184随后将所生成的CG图像输出到图像叠加单元188。
(3)擦除区域确定单元
擦除区域确定单元186确定擦除区域,该擦除区域是输入图像中与擦除目标选择单元182所选的擦除目标对象相对应的区域。
更具体而言,擦除区域确定单元186通过环境地图构建单元150获得最新的环境地图。另外,擦除区域确定单元186从自身位置检测单元120获得相机的最新位置。擦除区域确定单元186随后例如指定在从相机的焦点穿过每个像素的直线上、距离相机最近的环境地图中的对象。这里,当所指定的对象是擦除目标对象时,确定该像素属于擦除区域。另一方面,当所指定的对象不是擦除目标对象时(或者当在该直线上没有环境地图中的对象时),确定该像素不属于擦除区域。
图12是用于图示由擦除区域确定单元186确定的擦除区域的例子的示意图。参考图12,在使对象Obj02成为图2所示的输入图像Im01中的擦除目标对象的情况下的擦除区域在图像Im12中以阴影方式示出。擦除区域确定单元186以这种方式针对每个像素确定该像素是否属于擦除区域,并将结果输出到图像叠加单元188。
(4)图像叠加单元
图像叠加单元188通过对于由擦除区域确定单元186确定的擦除区域的至少一部分将由CG图像生成单元184生成的CG图像叠加到输入图像上,来生成输出图像。
图13和14是用于图示图像叠加单元188将CG图像叠加在输入图像上的情况的示意图。
在图13的左上部中图示了表示由擦除区域确定单元186确定的擦除区域的图像Im12作为例子。另外,在图13的左下部中图示了由CG图像生成单元184生成的CG图像Im11作为例子。图像叠加单元188生成通过仅从这样的CG图像Im11中截取与擦除区域相对应的部分而获得的截取图像。图13的右部中图示了包括截取图像(它是CG图像)的图像Im13。
接下来,在图14的左上部中图示了包括参考图13所示的截取图像的图像Im13。另外,在图14的左下部中图示了作为从成像单元102输入的例子的输入图像Im01。图像叠加单元188通过将截取图像叠加在这样的输入图像Im01上来生成输出图像Im02。在图14的右部中图示了输出图像Im02,其中与输入图像Im01的擦除区域相对应的部分被用CG图像替代。
图像叠加单元188随后将以这种方式生成的输出图像Im02输出到图像处理设备100的屏幕(或者必要的话输出到另一功能单元),作为图像处理设备100的处理结果。
[2-4.第一实施例的总结]
根据该实施例的图像处理设备100,基于环境地图生成通过擦除擦除目标对象而获得的输出图像,环境地图表示与存在于真实空间中的对象相对应的对象的三维位置。据此,没有必要预先摄取背景图像,甚至可以擦除很难从输出图像中移去的物理对象。
另外,根据该实施例,利用SLAM技术来动态检测当生成输出图像时使用成像设备的位置和姿态。据此,即使在成像设备的位置和姿态对于每一帧发生改变的情况下,也可以根据成像设备的变化的位置和姿态适当地生成通过擦除所述擦除目标对象而获得的输出图像。
另外,在输入图像中,基于环境地图生成的CG图像被叠加在显示擦除目标对象的擦除区域上。据此,可以输出对于擦除区域来说也是很自然的输出图像。
另外,基于预先存储在数据存储单元130中的每个对象的特征数据来构建环境地图。因此,即使当物体真实空间的状况改变时,也可以通过添加特征数据来灵活地从输出图像中擦除存在于真实空间的输入图像中的对象。
<3.第二实施例>
在第一实施例中,描述了真实空间中的墙壁表面和地板表面也被识别为对象的例子。另一方面,在与墙壁表面或地板表面相对应的特征数据没有被预先定义的情况下,墙壁表面或地板表面不被包括在环境地图中,因此可能无法设置在擦除对象背后的要显示的适当像素值。在这种情况下,优选地额外识别墙壁表面或地板表面以根据识别结果生成输出图像。因此,在这一部分中,描述能够额外识别墙壁表面或地板表面(在墙壁表面或地板表面不被包括在环境地图中时)的图像处理设备的配置示例作为本发明的第二实施例。
图15是图示根据第二实施例的图像处理设备200的配置示例的框图。参考图15,图像处理设备200包括成像单元102、环境地图生成单元210和输出图像生成单元280。
[3-1.环境地图生成单元]
在该实施例中,环境地图生成单元210包括自身位置检测单元120、数据存储单元230、图像识别单元140、环境地图构建单元150和环境地图存储单元152。
(1)数据存储单元
数据存储单元230利用诸如硬盘或半导体存储器之类的存储介质预先存储特征数据,该特征数据指示与可能存在于真实空间中的物理对象相对应的对象的特征。在该实施例中,除了图9中所示的数据以外,特征数据还包括附加数据,该附加数据指示组成每个对象的多边形的顶点是否可能与墙壁表面或地板表面相接触。图16是用于图示这种特征数据的结构的例子的示意图。
参考图16,作为例子的特征数据FD2包括对象名FD21、从六个方向摄取的图像数据FD22、图块数据FD23、三维形状数据FD24、本体数据FD25和附加数据FD26。
附加数据FD26具有两个标志,其指示对于由包括在三维形状数据FD24中的多边形信息限定的每个对象的多边形的每个顶点,该顶点是否很可能与地板表面相接触以及该顶点是否很可能与墙壁表面相接触。例如,在图16所示的例子中,附加数据FD26指示与特征数据FD2相对应的对象的多边形的顶点A很可能与地板表面相接触但不太可能与墙壁表面相接触。另外,附加数据FD26指示与特征数据FD2相对应的对象的多边形的顶点B不太可能与地板表面相接触但很可能与墙壁表面相接触。应当注意,多边形的顶点可以是用在自身位置检测单元120或图像识别单元140的上述处理中的特征点,或者可以是除了特征点以外的其他点。
图17是用于图示与图16中所示的特征数据有关的多边形的例子的示意图。参考图17,图示了三个对象Obj21、Obj22和Obj23。其中,对象Obj21表示椅子。在与对象Obj21相对应的多边形的顶点中,椅子的腿的一部分的六个顶点很可能与地板表面相接触。另外,对象Obj22表示日历。与对象Obj22相对应的多边形的顶点中的八个顶点很可能与墙壁表面相接触。另外,对象Obj23表示抽屉柜。与对象Obj23相对应的多边形的顶点中位于抽屉底面上的四个顶点很可能与地板表面相接触。与对象Obj23相对应的多边形的顶点中位于抽屉柜后表面上的四个顶点很可能与墙壁表面相接触。图16中所示的附加数据FD26定义了每个顶点的这种属性。
在该实施例中,环境地图生成单元210的数据存储单元230存储包括上述附加数据的特征数据,并根据来自位置估计单元281的请求输出附加数据。
[3-2.输出图像生成单元]
如图15所示,在该实施例中,输出图像生成单元280包括位置估计单元281、擦除目标选择单元182、CG图像生成单元284、擦除区域确定单元186和图像叠加单元188。
(1)位置估计单元
位置估计单元281基于由环境地图和上述特征数据表示的对象表面上的点的位置来估计真实空间中地板表面或墙壁表面的位置。在该实施例中,对象表面上的点可以是与每个上述对象相对应的多边形的顶点。
更具体而言,位置估计单元281例如从包括在输入自环境地图构建单元150的环境地图中的对象的多边形的多个顶点组中,提取很可能与地板表面相接触的由上述特征数据指示的顶点组。位置估计单元281随后基于所提取的顶点组在全球坐标系中的三维位置来估计与地板表面相对应的平面。位置估计单元281例如可以利用公知的哈夫(Hough)变换方法来根据顶点组的三维位置估计可能包括该顶点组的可能平面。
类似地,位置估计单元281例如从包括在输入自环境地图构建单元150的环境地图中的对象的多边形的多个顶点组中,提取很可能与墙壁表面相接触的由上述特征数据指示的顶点组。位置估计单元281随后基于所提取的顶点组在全球坐标系中的三维位置来估计与墙壁表面相对应的平面。应当注意,在真实空间中可能存在两个或更多个墙壁表面的情况下,位置估计单元281可以根据顶点组的三维位置将多个顶点组划分为两个或更多个集合,从而针对每个集合估计与墙壁表面相对应的平面。
位置估计单元281将以这种方式估计出的地板表面和/或墙壁表面的位置输出到CG图像生成单元284。
(2)CG图像生成单元
CG图像生成单元284基于由环境地图表示的除擦除目标对象以外的其它对象的三维位置、相机的位置和姿态以及由位置估计单元281估计出的地板表面或墙壁表面在真实空间中的位置,来生成要叠加在输入图像上的CG图像。
图18是用于图示根据该实施例的CG图像生成单元284的CG图像生成处理的示意图。应当注意,这里假定存在于图1所示的环境1中的多个对象中的对象Obj02被选为擦除目标对象。另外,为了方便起见,对图像中的每个对象赋予标记(“CG”),指示该对象被利用CG可视化。这种标记不被显示在实际的CG图像上。
首先,在图18的左上部中图示了通过可视化由环境地图表示的对象Obj01和Obj03而获得的CG图像Im21。在CG图像Im21中,擦除目标对象Obj02被擦除。然而,由于在擦除目标对象Obj02后面不存在地板表面和墙壁表面,因此当将CG图像Im21叠加在输入图像上时,与地板表面和墙壁表面相对应的部分变为不自然的空白空间。
另一方面,在图18的左下部中图示了通过基于由位置估计单元281估计出的地板表面或墙壁表面在真实空间中的位置可视化地板表面F0以及墙壁表面W01和W02而获得的CG图像Im22。CG图像生成单元284通过合成这种CG图像Im21和Im22来生成包括地板表面和墙壁表面两者的CG图像Im23。
图18的右部中所示的CG图像Im23具有与图11中所示的CG图像Im11相当的内容。CG图像生成单元284将以这种方式生成的CG图像Im23输出到图像叠加单元188。据此,即使在墙壁表面或地板表面未被包括在环境地图中的情况下,图像叠加单元188也可以生成墙壁表面或地板表面被适当地显示在擦除目标对象的后面的输出图像。
(3)纹理选择单元
注意,当利用CG表示地板表面或墙壁表面时,在图像处理设备200没有预先保存关于要绘制的纹理的信息的情况下,CG图像生成单元284允许纹理选择单元285选择要绘制的纹理。
纹理选择单元285根据估计要显示地板表面或墙壁表面的输入图像的一部分的图像来选择包括在擦除区域中的一部分和应当显示真实空间中的地板表面或墙壁表面的部分的纹理。
更具体而言,纹理选择单元285例如在图18所示的CG图像Im23中指定包括在显示地板表面F0的部分中的、除擦除区域以外的其它区域(下文中称为样本区域)。纹理选择单元285随后将输入图像中的样本区域的像素值的平均值设置为例如当利用CG表示地板表面F0时的像素值。在这种情况下,地板表面F0的纹理是单色纹理。相反地,在输入图像中的样本区域具有某种重复图案的情况下,纹理选择单元285可以将该重复图案扩展到擦除区域以使整个地板表面F0的纹理相同。
图19是用于图示根据该实施例的纹理选择单元285的纹理选择处理的示意图。参考图19,地板表面F0被划分为两个区域Fh0和Fs0。在二者当中,区域Fh0是包括在由擦除区域确定单元186确定的擦除区域中的区域。即,由于在输入图像的区域Fh0中显示擦除目标对象,因此在输入图像的区域Fh0中无法得知地板表面F0的纹理。另一方面,区域Fs0是除了地板表面F0的擦除区域以外的区域,即,上述样本区域。因此,在输入图像中,估计地板表面F0被显示在区域Fs0中。纹理选择单元285随后例如根据属于区域Fs0的像素的像素值的平均值、区域Fs0中纹理的重复图案等来选择区域Fh0中地板表面F0的纹理,如上所述。
另外,与地板表面F0的情况一样,纹理选择单元285可以选择墙壁表面W01和W02的纹理。应当注意,作为对参考图19所示的方法的替代,纹理选择单元285可以允许用户指定地板表面F0或者墙壁表面W01或02的纹理并选择指定纹理。
[3-3.第二实施例的总结]
根据该实施例的图像处理设备200,基于表示存在于真实空间中的对象的三维位置的环境地图来生成通过擦除所述擦除目标对象而获得的输出图像。这里,基于包括在环境地图中的对象表面上的多个点中、很可能与地板表面或墙壁表面相接触的点的位置来估计地板表面或墙壁表面的位置。另外,可以根据输入图像中估计将显示地板表面或墙壁表面的区域的图像来选择要擦除的对象后面的地板表面或墙壁表面的纹理。因此,即使在墙壁表面或地板表面未被包括在环境地图中的情况下,也可以生成在擦除对象的后面无空白空间的适当的输出图像。
<4.第三实施例>
通过应用根据上述第一或第二实施例的方法,不仅可以从输出图像中擦除对象,还可以虚拟地移动对象。因此,在这一节中,作为本发明的第三实施例,描述能够在输出图像移动存在于输入图像中的多个对象中的指定对象的图像处理设备的配置示例。
图20是图示根据第三实施例的图像处理设备300的配置示例的框图。参考图20,图像处理设备300包括成像单元102、环境地图生成单元210和输出图像生成单元380。
[4-1.输出图像生成单元]
如图20所示,在该实施例中,输出图像生成单元380包括虚拟对象选择单元370、虚拟对象布置单元372、擦除目标选择单元382、CG图像生成单元384、擦除区域确定单元386和图像叠加单元188。
(1)虚拟对象选择单元
虚拟对象选择单元370选择要在输出图像中虚拟显示的对象(下文中称为虚拟对象)。当移动对象时,虚拟对象是与上述擦除目标对象基本相同的对象。虚拟对象选择单元370例如可以在图像处理设备300的屏幕上显示图2中所示的输入图像Im01,以允许用户指定想要移动的对象。注意,虚拟对象选择单元370可以在屏幕上显示不被显示在输入图像上的关于该对象的信息(例如,包括在特征数据中的对象名),以允许用户指定要新显示的对象(不被移动)。虚拟对象选择单元370将指定以这种方式被选为虚拟对象的对象的标识符等输出到虚拟对象布置单元372。另外,与虚拟对象的标识符等相关地,虚拟对象选择单元370将由用户在屏幕上指定的输入图像中的位置作为虚拟对象应被布置在的位置输出到虚拟对象布置单元372。
(2)虚拟对象布置单元
虚拟对象布置单元372确定虚拟对象选择单元370所选的虚拟对象应被布置在的三维位置。例如,虚拟对象布置单元372可以根据由用户指定的输入图像中的位置来确定虚拟对象应被布置在的三维位置。在这种情况下,真实空间中的两个或更多个三维位置可能对应于在二维输入图像中指定的位置。虚拟对象布置单元372随后利用存储在数据存储单元230中的特征数据来确定虚拟对象应被布置在的三维位置。
图21是用于图示虚拟对象布置单元372的三维位置确定处理的示意图。参考图21,图示了其中存在具有图像处理设备300的用户的环境3。与桌子相对应的对象Obj31和地板表面F3存在于环境3内。
这里,假定用户指定屏幕中所示的桌子(对象Obj31)的上表面作为虚拟对象应被布置在的位置。图21中的虚线L31表示环境3中与二维屏幕上的指定点相对应的一组三维位置。其中,虚拟对象应被布置在的位置的候选被估计是桌子上的位置P31或者地板表面F3上的位置P32中的任一个。在这种情况下,虚拟对象布置单元372例如可以利用参考图9所示的本体数据FD15或者参考图16所示的附加数据FD26来从位置P31或位置P32中选择虚拟对象应被布置在的位置。
例如,假定所选的虚拟对象是图21中所示的对象Obj32。对象Obj32对应于咖啡杯。于是,根据特征数据中包括的本体数据认识到对象Obj32很可能与桌子相接触。虚拟对象布置单元372随后将位置P31选为虚拟对象Obj32应被布置在的三维位置。
另外,例如假定所选的虚拟对象是图21中所示的对象Obj33。对象Obj33对应于椅子。于是,根据特征数据中包括的本体数据或附加数据认识到对象Obj33很可能与地板相接触。虚拟对象布置单元372随后将位置P32选为虚拟对象Obj33应被布置在的三维位置。
当虚拟对象布置单元372以这种方式确定了虚拟对象应被布置在的三维位置(必要的话还有虚拟对象的方向)时,它将虚拟对象选择单元370所选的虚拟对象添加到从环境地图构建单元150获得的环境地图的三维位置。虚拟对象布置单元372随后将添加有虚拟对象的环境地图输出到擦除目标选择单元382、CG图像生成单元384和擦除区域确定单元386。
(3)擦除目标选择单元
当移动对象时,擦除目标选择单元382在添加虚拟对象之前选择包括在环境地图中的与虚拟对象相同的对象作为擦除目标对象。擦除目标选择单元382随后将指定擦除目标对象的擦除目标标识符输出到CG图像生成单元384和擦除区域确定单元386。注意,在环境地图中,擦除目标标识符是与虚拟对象布置单元372所添加的虚拟对象的标识符不同的标识符。更具体而言,虚拟对象的标识符指定了移动之后的对象,而擦除目标标识符指定了移动之前的对象。
(4)CG图像生成单元
CG图像生成单元384生成要叠加在输入图像上的CG图像,在该CG图像中添置了虚拟对象选择单元370所选择的虚拟对象。
更具体而言,CG图像生成单元384从虚拟对象布置单元372获得添加有虚拟对象的环境地图。另外,CG图像生成单元384从自身位置检测单元120获得相机的最新位置和姿态。CG图像生成单元384随后基于由最新的环境地图表示的除擦除目标对象以外的对象的三维位置以及相机的位置和姿态来生成其中除擦除目标对象以外的对象(包括虚拟对象)被可视化的CG图像。
图22是用于图示由CG图像生成单元384生成的CG图像的例子的示意图。参考图22,图示了由CG图像生成单元384生成的CG图像Im31作为例子。注意,这里假定存在于图1所示的环境1中的多个对象中的对象Obj02被选为要移动的对象。
从图22可以理解,存在于环境1中的多个对象中的对象Obj01和Obj03、墙壁表面W01和W02以及地板表面F0被包括在CG图像Im31中。另外,CG图像Im31还包括所选的虚拟对象,即,移动之后的对象Obj02。CG图像生成单元384例如可以基于由添加有虚拟对象的环境地图表示的每个对象的三维位置以及相机的位置和姿态,根据针孔模型利用等式(11)来生成这样的CG图像Im31。CG图像生成单元384随后将所生成的CG图像输出到图像叠加单元188。
(5)擦除区域确定单元
擦除区域确定单元386确定擦除区域,该擦除区域是输入图像中与虚拟对象和擦除目标对象相对应的区域。
更具体而言,擦除区域确定单元386从虚拟对象布置单元372获得添加有虚拟对象的环境地图。另外,擦除区域确定单元386从自身位置检测单元120获得相机的最新位置。擦除区域确定单元386随后例如在从相机的焦点穿过每个像素的直线上指定环境地图中与相机最近的对象。这里,当指定的对象是虚拟对象或擦除目标对象时,确定该像素属于擦除区域。另一方面,当指定的对象不是虚拟对象或擦除目标对象时(或者当在该直线上在环境地图中没有对象时),确定该像素不属于擦除区域。
图23是用于图示由擦除区域确定单元386确定的擦除区域的例子的示意图。参考图23,在图2所示的输入图像Im01中对象Obj02成为要移动的对象的情况下的擦除区域被以阴影方式图示在图像Im32中。对于每个像素,擦除区域确定单元386以这种方式确定该像素是否属于擦除区域,并将结果输出到图像叠加单元188。
(6)图像叠加单元
图24和25是用于图示在该实施例中由图像叠加单元188将CG图像叠加在输入图像上的情况的示意图。
在图24的左上部中图示了表示由擦除区域确定单元386确定的擦除区域作为例子的图像Im32。另外,在图24的左下部中图示了由CG图像生成单元384生成的CG图像Im31作为例子。图像叠加单元188生成截取图像,该截取图像是通过从这样的CG图像Im31中仅截取与擦除区域相对应的部分而获得的。在图24的右部中图示了包括截取图像(它是CG图像)的图像Im33。
接下来,在图25的左上部中图示了参考图24所示的包括截取图像的图像Im33。另外,在图25的左下部中图示了作为从成像单元102输入的例子的输入图像Im01。图像叠加单元188通过将截取图像叠加在这样的输入图像Im01上来生成输出图像Im34。在图25的右部中图示了输出图像Im34,其中与输入图像Im01的擦除区域相对应的部分被用CG图像替代。
图像叠加单元188随后将以这种方式生成的输出图像Im34输出到图像处理设备300的屏幕(或者必要的话输出到另一功能单元),作为图像处理设备300的处理结果。
[4-2.第三实施例的总结]
根据该实施例的图像处理设备300,在要叠加在输入图像上的CG图像中添置了例如由用户选择的虚拟对象。这样的虚拟对象例如可以是作为擦除目标对象从原始位置擦除的对象。据此,不仅可以从输出图像中擦除对象,还可以虚拟地移动对象。
迄今为止已参考图1至25描述了本发明的第一至第三实施例。根据这些实施例,可以从图像中擦除指定的对象或者虚拟地移动对象,而不用预先摄取背景图像。这种方法可用于室内,例如在设计家具的重新布置时。另外,这被认为可用于室外,比如在以下场景中:擦除其他广告标记以使得用于特定广告的特定广告标记给予用户更深的印象,或者擦除道路前的建筑物以引导用户经过该道路。
<5.硬件配置>
注意,根据上述第一至第三实施例的一系列处理是由硬件还是软件实现的并不重要。当一系列处理或者其一部分由软件实现时,例如利用含在专用硬件中的计算机或图26中所示的通用计算机来执行组成该软件的程序。
在图26中,中央处理单元(CPU)902控制通用计算机的整体操作。其中描述了这一系列处理的全部或一部分的程序或数据被存储在只读存储器(ROM)904中。当执行处理时CPU 902所使用的程序和数据被临时存储在随机访问存储器(RAM)906中。
CPU 902、ROM 904和RAM 906通过总线910彼此连接。输入/输出接口912也连接到总线910。
输入/输出接口912是连接CPU 902、ROM 904和RAM 906、以及输入设备920、显示设备922、存储设备924、成像设备926和驱动器930的接口。
输入设备920接受来自用户的指令和通过输入接口(例如按钮、开关、操纵杆、鼠标和键盘)输入的信息。显示设备922例如由阴极射线管(CRT)、液晶显示器、有机发光二极管(OLED)等组成,并且在其屏幕上显示图像。
存储设备924例如由硬盘驱动器或半导体存储器组成,并且存储程序和数据。成像设备926对应于上述成像单元102的硬件,并且利用诸如CCD或CMOS之类的成像元件对真实空间成像。驱动器930在必要情况下被设在通用计算机上,并且可移动介质932例如被安装在驱动器930上。
当用软件执行根据第一至第三实施例的这一系列处理时,存储在图26所示的ROM 904、存储设备924或可移动介质932中的程序例如被读取到RAM 906中并被CPU 902执行。
本领域技术人员应当理解,取决于设计需求和其他因素可以发生各种修改、组合、子组合和变更,只要这些修改、组合、子组合和变更在权利要求或其等同物的范围内。
本申请包含与2009年10月27日向日本专利局提交的日本在先专利申请JP 2009-246090中公开的内容有关的主题,上述申请的全部内容通过引用而合并到本文中。

Claims (11)

1.一种图像处理设备,包括:
数据存储单元,用于存储指示对象的外观的特征的特征数据;
环境地图生成单元,用于基于利用成像设备对真实空间成像而获得的输入图像和存储在所述数据存储单元中的特征数据,生成表示存在于所述真实空间中的一个或多个对象的位置的环境地图;以及
输出图像生成单元,用于基于在所述环境地图中表示的、从存在于输入图像内的多个对象中指定的擦除目标对象的位置和所述成像设备的位置来生成通过从所述输入图像中擦除所述擦除目标对象而获得的输出图像。
2.如权利要求1所述的图像处理设备,还包括:
检测单元,用于基于所述输入图像和所述特征数据动态地检测所述成像设备的位置。
3.如权利要求2所述的图像处理设备,其中所述输出图像生成单元包括:
擦除区域确定单元,用于基于在所述环境地图中所述擦除目标对象的位置和所述成像设备的位置来确定擦除区域,该擦除区域是所述输入图像中与所述擦除目标对象相对应的区域;
CG图像生成单元,用于生成要叠加在所述输入图像上的CG图像;以及
图像叠加单元,用于对所述擦除区域的至少一部分,将由所述CG图像生成单元生成的CG图像叠加在所述输入图像上,从而生成所述输出图像。
4.如权利要求3所述的图像处理设备,其中所述CG图像生成单元基于由所述环境地图表示的除了所述擦除目标对象以外的对象的位置和所述成像设备的位置来生成所述CG图像。
5.如权利要求4所述的图像处理设备,其中
所述输出图像生成单元还包括位置估计单元,该位置估计单元基于由所述环境地图表示的对象的表面上的点的位置来估计所述真实空间中地板表面或墙壁表面的位置,并且
所述CG图像生成单元还基于由所述位置估计单元估计出的所述真实空间中地板表面或墙壁表面的位置来生成所述CG图像。
6.如权利要求5所述的图像处理设备,其中
所述特征数据包括针对每个对象的表面上的一个或多个点,指示每个点是否很可能与所述真实空间中的地板表面或墙壁表面相接触的数据,并且
所述位置估计单元还基于所述特征数据来估计所述真实空间中地板表面或墙壁表面的位置。
7.如权利要求5所述的图像处理设备,其中所述CG图像生成单元根据所述输入图像中的估计要显示所述真实空间中的地板表面或墙壁表面的部分的图像,来生成包含在所述擦除区域中的部分、即应当显示所述真实空间中的地板表面或墙壁表面的部分的CG图像。
8.如权利要求3所述的图像处理设备,还包括:
虚拟对象选择单元,用于选择要虚拟地显示在所述输出图像中的对象,
其中所述CG图像生成单元将所述虚拟对象选择单元所选择的对象添置到所述CG图像中。
9.如权利要求8所述的图像处理设备,其中所述要虚拟地显示的对象对应于存在于所述输入图像内的多个对象之中的移动后的指定对象,并且所述擦除目标对象对应于移动前的指定对象。
10.一种利用图像处理设备执行的图像处理方法,所述图像处理设备具有存储指示对象的外观的特征的特征数据的数据存储单元,该方法包括以下步骤:
基于利用成像设备对真实空间成像而获得的输入图像和存储在所述数据存储单元中的特征数据,生成表示存在于所述真实空间中的一个或多个对象的位置的环境地图;以及
基于从存在于所述输入图像内的多个对象中指定的擦除目标对象在所述环境地图中的位置和所述成像设备的位置来生成通过从所述输入图像中擦除所述擦除目标对象而获得的输出图像。
11.一种用于使计算机控制图像处理设备用作以下单元的程序:
数据存储单元,用于存储指示对象的外观的特征的特征数据;
环境地图生成单元,用于基于利用成像设备对真实空间成像而获得的输入图像和存储在所述数据存储单元中的特征数据,生成表示存在于所述真实空间中的一个或多个对象的位置的环境地图;以及
输出图像生成单元,用于基于在所述环境地图中表示的从存在于输入图像内的多个对象中指定的擦除目标对象的位置和所述成像设备的位置来生成通过从所述输入图像中擦除所述擦除目标对象而获得的输出图像。
CN2010102880099A 2009-10-27 2010-09-16 图像处理设备、图像处理方法和程序 Active CN102054164B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009246090A JP2011095797A (ja) 2009-10-27 2009-10-27 画像処理装置、画像処理方法及びプログラム
JP2009-246090 2009-10-27

Publications (2)

Publication Number Publication Date
CN102054164A true CN102054164A (zh) 2011-05-11
CN102054164B CN102054164B (zh) 2013-07-10

Family

ID=43898051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102880099A Active CN102054164B (zh) 2009-10-27 2010-09-16 图像处理设备、图像处理方法和程序

Country Status (3)

Country Link
US (1) US8933966B2 (zh)
JP (1) JP2011095797A (zh)
CN (1) CN102054164B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102652322A (zh) * 2010-10-12 2012-08-29 松下电器产业株式会社 显示处理装置、显示方法和程序
CN103246543A (zh) * 2012-02-14 2013-08-14 索尼公司 显示控制设备,显示控制方法和程序
CN105814611A (zh) * 2013-12-17 2016-07-27 索尼公司 信息处理设备、信息处理方法、以及程序
CN106056038A (zh) * 2012-03-12 2016-10-26 佳能株式会社 图像显示装置和图像显示方法
US10436591B2 (en) 2014-10-17 2019-10-08 Sony Corporation Position estimation device and position estimation method
CN110866966A (zh) * 2018-08-27 2020-03-06 苹果公司 利用与环境相匹配的逼真表面属性渲染虚拟对象
CN111538405A (zh) * 2019-02-07 2020-08-14 株式会社美凯利 信息处理方法及终端、非临时性计算机可读存储介质
CN112585958A (zh) * 2018-08-31 2021-03-30 大众汽车股份公司 用于产生车辆的以图像信息来纹理化的周围环境地图的方法和装置以及包括这种装置的车辆

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101669119B1 (ko) * 2010-12-14 2016-10-25 삼성전자주식회사 다층 증강 현실 시스템 및 방법
US9418292B2 (en) * 2011-10-04 2016-08-16 Here Global B.V. Methods, apparatuses, and computer program products for restricting overlay of an augmentation
JP5865092B2 (ja) * 2012-01-26 2016-02-17 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP6040564B2 (ja) * 2012-05-08 2016-12-07 ソニー株式会社 画像処理装置、投影制御方法及びプログラム
JP6360348B2 (ja) * 2014-04-30 2018-07-18 株式会社モノコト 画像処理方法、及び画像処理プログラム
JP2015228050A (ja) 2014-05-30 2015-12-17 ソニー株式会社 情報処理装置および情報処理方法
WO2016012044A1 (en) * 2014-07-24 2016-01-28 Deutsche Telekom Ag Method and system for augmenting television watching experience
US20160055641A1 (en) * 2014-08-21 2016-02-25 Kisp Inc. System and method for space filling regions of an image
JP2016045874A (ja) * 2014-08-26 2016-04-04 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
PL3131064T3 (pl) * 2015-08-13 2018-03-30 Nokia Technologies Oy Wyszukiwanie zawartości obrazu
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US9984499B1 (en) 2015-11-30 2018-05-29 Snap Inc. Image and point cloud based tracking and in augmented reality systems
US10319149B1 (en) 2017-02-17 2019-06-11 Snap Inc. Augmented reality anamorphosis system
US10074381B1 (en) 2017-02-20 2018-09-11 Snap Inc. Augmented reality speech balloon system
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
JP7065383B2 (ja) * 2017-06-30 2022-05-12 パナソニックIpマネジメント株式会社 表示システム、情報提示システム、表示システムの制御方法、プログラム、及び移動体
US10304239B2 (en) * 2017-07-20 2019-05-28 Qualcomm Incorporated Extended reality virtual assistant
US10740974B1 (en) 2017-09-15 2020-08-11 Snap Inc. Augmented reality system
CN109753981B (zh) * 2017-11-06 2020-12-22 彼乐智慧科技(北京)有限公司 一种图像识别的方法及装置
CN107958439B (zh) * 2017-11-09 2021-04-27 北京小米移动软件有限公司 图像处理方法及装置
JP2019149621A (ja) 2018-02-26 2019-09-05 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
KR102126561B1 (ko) * 2018-07-23 2020-06-24 주식회사 쓰리아이 적응적 삼차원 공간 생성방법 및 그 시스템
US10997760B2 (en) 2018-08-31 2021-05-04 Snap Inc. Augmented reality anthropomorphization system
JP7139236B2 (ja) * 2018-12-17 2022-09-20 ヤフー株式会社 画像処理装置、画像処理方法および画像処理プログラム
US11972529B2 (en) 2019-02-01 2024-04-30 Snap Inc. Augmented reality system
US11173837B2 (en) * 2019-02-07 2021-11-16 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for optically cloaking objects using a photophoretic optical trap display
JP7247702B2 (ja) 2019-03-27 2023-03-29 ソニーグループ株式会社 内視鏡システム、内視鏡制御方法、及び、撮像制御装置
US11170035B2 (en) * 2019-03-29 2021-11-09 Snap Inc. Context based media curation
US11159766B2 (en) 2019-09-16 2021-10-26 Qualcomm Incorporated Placement of virtual content in environments with a plurality of physical participants
JPWO2022014366A1 (zh) 2020-07-17 2022-01-20
WO2022270558A1 (ja) * 2021-06-25 2022-12-29 株式会社Jvcケンウッド 画像処理装置、画像処理方法、プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0865000A2 (en) * 1997-03-10 1998-09-16 Canon Kabushiki Kaisha Image processing method and apparatus
CN1758720A (zh) * 2004-10-06 2006-04-12 索尼株式会社 图像处理方法和图像处理装置
CN101115168A (zh) * 2006-07-27 2008-01-30 佳能株式会社 产生虚拟图像和真实图像的合成图像
US20090262113A1 (en) * 2008-04-09 2009-10-22 Canon Kabushiki Kaisha Image processing apparatus and image processing method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7176936B2 (en) * 2001-03-27 2007-02-13 Siemens Corporate Research, Inc. Augmented reality guided instrument positioning with modulated guiding graphics
US20030146922A1 (en) * 2002-12-20 2003-08-07 Nassir Navab System and method for diminished reality
JP5380789B2 (ja) 2007-06-06 2014-01-08 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US20100208033A1 (en) * 2009-02-13 2010-08-19 Microsoft Corporation Personal Media Landscapes in Mixed Reality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0865000A2 (en) * 1997-03-10 1998-09-16 Canon Kabushiki Kaisha Image processing method and apparatus
CN1758720A (zh) * 2004-10-06 2006-04-12 索尼株式会社 图像处理方法和图像处理装置
CN101115168A (zh) * 2006-07-27 2008-01-30 佳能株式会社 产生虚拟图像和真实图像的合成图像
US20090262113A1 (en) * 2008-04-09 2009-10-22 Canon Kabushiki Kaisha Image processing apparatus and image processing method

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102652322A (zh) * 2010-10-12 2012-08-29 松下电器产业株式会社 显示处理装置、显示方法和程序
CN103246543A (zh) * 2012-02-14 2013-08-14 索尼公司 显示控制设备,显示控制方法和程序
CN103246543B (zh) * 2012-02-14 2018-02-06 索尼公司 显示控制设备,显示控制方法和程序
CN106056038B (zh) * 2012-03-12 2019-09-06 佳能株式会社 图像显示装置和图像显示方法
CN106056038A (zh) * 2012-03-12 2016-10-26 佳能株式会社 图像显示装置和图像显示方法
CN111985344A (zh) * 2013-12-17 2020-11-24 索尼公司 信息处理设备和方法以及非易失性计算机可读存储介质
CN105814611B (zh) * 2013-12-17 2020-08-18 索尼公司 信息处理设备和方法以及非易失性计算机可读存储介质
CN111986328A (zh) * 2013-12-17 2020-11-24 索尼公司 信息处理设备和方法以及非易失性计算机可读存储介质
CN105814611A (zh) * 2013-12-17 2016-07-27 索尼公司 信息处理设备、信息处理方法、以及程序
US10436591B2 (en) 2014-10-17 2019-10-08 Sony Corporation Position estimation device and position estimation method
US20190376791A1 (en) 2014-10-17 2019-12-12 Sony Corporation Position estimation device and position estimation method
US11067396B2 (en) 2014-10-17 2021-07-20 Sony Corporation Position estimation device and position estimation method
US11668569B2 (en) 2014-10-17 2023-06-06 Sony Group Corporation Position estimation device and position estimation method
CN110866966A (zh) * 2018-08-27 2020-03-06 苹果公司 利用与环境相匹配的逼真表面属性渲染虚拟对象
CN110866966B (zh) * 2018-08-27 2023-12-15 苹果公司 利用与环境相匹配的逼真表面属性渲染虚拟对象
CN112585958A (zh) * 2018-08-31 2021-03-30 大众汽车股份公司 用于产生车辆的以图像信息来纹理化的周围环境地图的方法和装置以及包括这种装置的车辆
CN111538405A (zh) * 2019-02-07 2020-08-14 株式会社美凯利 信息处理方法及终端、非临时性计算机可读存储介质

Also Published As

Publication number Publication date
CN102054164B (zh) 2013-07-10
US8933966B2 (en) 2015-01-13
US20110096093A1 (en) 2011-04-28
JP2011095797A (ja) 2011-05-12

Similar Documents

Publication Publication Date Title
CN102054164B (zh) 图像处理设备、图像处理方法和程序
US10521085B2 (en) Image processing device, image processing method, and program for displaying an image in accordance with a selection from a displayed menu and based on a detection by a sensor
Zhang et al. Reference pose generation for long-term visual localization via learned features and view synthesis
Fernandez-Labrador et al. Corners for layout: End-to-end layout recovery from 360 images
Whelan et al. Deformation-based loop closure for large scale dense RGB-D SLAM
Johnson et al. Registration and integration of textured 3D data
Bostanci et al. Augmented reality applications for cultural heritage using Kinect
CN102200881B (zh) 图像处理装置以及图像处理方法
US20060188131A1 (en) System and method for camera tracking and pose estimation
Concha et al. RGBDTAM: A cost-effective and accurate RGB-D tracking and mapping system
WO2015017941A1 (en) Systems and methods for generating data indicative of a three-dimensional representation of a scene
JP2011203824A (ja) 画像処理装置、画像処理方法及びプログラム
Nguyen et al. Structural modeling from depth images
CN117611774A (zh) 一种基于增强现实技术的多媒体展示系统及方法
Wang et al. Tt-slam: Dense monocular slam for planar environments
CN105339981B (zh) 用于使用一组基元配准数据的方法
Wang et al. Relative pose estimation and planar reconstruction via superpixel-driven multiple homographies
Wang et al. Human foot reconstruction from multiple camera images with foot shape database
Ishikawa et al. Interactive 3-D indoor modeler for virtualizing service fields
Nguyen et al. Interactive syntactic modeling with a single-point laser range finder and camera
KR102332074B1 (ko) 텔레프레즌스를 위한 원격 공간 아바타 배치 방법 및 그 장치
Lee et al. Camera pose estimation using voxel-based features for autonomous vehicle localization tracking
Mason et al. Unsupervised discovery of object classes with a mobile robot
McClean An Augmented Reality System for Urban Environments using a Planar Building Fa cade Model
Wang et al. Semantic Mapping Based on Visual SLAM with Object Model Replacement Visualization for Cleaning Robot

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