信息处理系统、信息处理方法和程序.pdf

上传人:a3 文档编号:5778827 上传时间:2019-03-18 格式:PDF 页数:44 大小:9.05MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310130640.X

申请日:

2013.04.16

公开号:

CN103377374A

公开日:

2013.10.30

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06K 9/46申请公布日:20131030|||公开

IPC分类号:

G06K9/46

主分类号:

G06K9/46

申请人:

索尼公司

发明人:

福地正树; 多井坚一郎; 柏谷辰起

地址:

日本东京都

优先权:

2012.04.23 JP 2012-097714

专利代理机构:

北京集佳知识产权代理有限公司 11227

代理人:

李春晖;李德山

PDF下载: PDF下载
内容摘要

本申请公开了一种信息处理系统、信息处理方法和程序,该信息处理系统包括:图像获取单元,被配置成获取由图像拍摄装置拍摄的图像数据;识别单元,被配置成识别所获取的图像数据中的多个特征点的分布密度;以及显示控制单元,被配置成基于多个特征点的分布密度来控制显示器显示引导信息。

权利要求书

权利要求书
1.  一种信息处理系统,包括:
图像获取单元,被配置成获取由图像拍摄装置拍摄的图像数据;
识别单元,被配置成识别所获取的图像数据中的多个特征点的分布密度;以及
显示控制单元,被配置成基于所述多个特征点的分布密度来控制显示器显示引导信息。

2.  根据权利要求1所述的信息处理系统,其中,
所述显示控制单元被配置成控制所述显示器显示重叠在所显示的获取的图像数据上的虚拟图像,并且显示与重叠在所获取的图像数据上的虚拟图像对应的预定效果,作为所述引导信息。

3.  根据权利要求2所述的信息处理系统,其中,
与重叠在所获取的图像数据上的虚拟图像对应的所述预定效果指示在所显示的获取的图像数据的多个区域中的每个区域中的增强现实处理的稳定性水平。

4.  根据权利要求1所述的信息处理系统,其中,
所述显示控制单元被配置成通过控制所述显示器显示重叠在所显示的获取的图像数据上的虚拟对象来执行增强现实处理。

5.  根据权利要求1所述的信息处理系统,其中,
所述识别单元被配置成连续地跟踪所获取的图像数据中包括的特征点,以绘制与所获取的图像数据对应的真实空间的地图。

6.  根据权利要求1所述的信息处理系统,其中,
所述显示控制单元被配置成显示用于对所述图像拍摄装置进行导航以使得所拍摄的图像数据中包括的特征点的数量超过预定阈值的指令,作为所述引导信息。

7.  根据权利要求1所述的信息处理系统,其中,
所述显示控制单元被配置成显示用于对所述图像拍摄装置进行导航以避免所述特征点偏向于所拍摄的图像数据的特定区域的状态的指令,作为所述引导信息。

8.  根据权利要求1所述的信息处理系统,其中,
所述显示控制单元被配置成显示用于基于所述多个特征点的分布密度以预定速度对所述图像拍摄装置进行导航的指令,作为所述引导信息。

9.  根据权利要求1所述的信息处理系统,其中,
所述识别单元被配置成确定所获取的图像数据的至少上部边缘区域、下部边缘区域、右部边缘区域和左部边缘区域中的多个特征点的密度。

10.  根据权利要求9所述的信息处理系统,其中,
所述识别单元被配置成基于所获取的图像数据的至少所述上部边缘区域、所述下部边缘区域、所述右部边缘区域和所述左部边缘区域中的所确定的所述多个特征点的密度,预测如果在向上方向、向下方向、向右方向或向左方向中的至少一个方向上指引所述图像拍摄装置,在随后拍摄的图像数据中是否将存在超过预定阈值的数量的特征点。

11.  根据权利要求10所述的信息处理系统,其中,
所述显示控制单元被配置成基于所述预测控制所述显示器显示所述引导信息。

12.  根据权利要求5所述的信息处理系统,其中,
所述识别单元被配置成识别所述真实空间中所拍摄的图像数据中包括的特征点的数量超过预定阈值的至少一个区域。

13.  根据权利要求12所述的信息处理系统,其中,
所述显示控制单元被配置成控制所述显示器显示用于将所述图像拍摄装置导航到所述真实空间中的所述至少一个区域的指令,作为所述引导信息,在所述至少一个区域中,所拍摄的图像数据中包括的特征点的数量超过所述预定阈值。

14.  根据权利要求5所述的信息处理系统,其中,
所述识别单元被配置成识别所述真实空间中尚未拍摄其图像数据的至少一个区域。

15.  根据权利要求14所述的信息处理系统,其中,
所述显示控制单元被配置成控制所述显示器显示用于将所述图像拍摄装置导航到所述真实空间中尚未拍摄其图像数据的所述至少一个区域的指令,作为所述引导信息。

16.  根据权利要求1所述的信息处理系统,其中,
所述显示控制单元被配置成控制所述显示器显示重叠在所显示的拍摄的图像数据上的虚拟图像,作为所述引导信息。

17.  根据权利要求16所述的信息处理系统,其中
所述显示控制单元被配置成基于所述多个特征点的分布密度,控制所述显示器在与所述图像拍摄装置的推荐导航方向对应的方向上移动重叠在所显示的获取的图像数据上的虚拟图像。

18.  根据权利要求1所述的信息处理系统,其中,
所述显示控制单元被配置成控制所述显示器显示重叠在所显示的获取的图像数据上的虚拟图像,作为所述引导信息,所述虚拟图像指示所显示的获取的图像数据中的增强现实处理的稳定性水平。

19.  根据权利要求4所述的信息处理系统,其中,
所述虚拟对象被配置成由用户输入的指令来控制,并且所述显示控制单元被配置成控制所述显示器显示与所述用户输入的用于控制所述虚拟对象的指令相反的指令,作为所述引导信息。

20.  一种信息处理方法,包括:
获取由图像拍摄装置拍摄的图像数据;
识别所获取的图像数据中的多个特征点的分布密度;以及
基于所述多个特征点的分布密度来控制显示器显示引导信息。

21.  一种包括计算机程序指令的非暂态计算机可读介质,所述计算机程序指令当由电路执行时使得所述电路执行以下步骤:
获取由图像拍摄装置拍摄的图像数据;
识别所获取的图像数据中的多个特征点的分布密度;以及
基于所述多个特征点的分布密度来控制显示器显示引导信息。

说明书

说明书信息处理系统、信息处理方法和程序
技术领域
本公开涉及一种信息处理系统、信息处理方法和程序。
背景技术
近年来,已关注于称为增强现实(AR)的技术,该技术通过将附加信息重叠在真实空间上来将这样的信息呈现给用户。通过AR技术呈现给用户的信息也称为批注并且可使用多种形式(诸如文本、图标和动画)的虚拟对象来可视化。AR空间中的批注的布置通常是基于对出现在图像中的真实空间的三维结构的识别(以下称为“环境识别”)来执行的。公知的环境识别方法包括例如SLAM(即时定位与地图构建)和SfM(来自运动的结构)。在下述NPL1中描述了SLAM的基本原理。根据SLAM,与输入图像中的改变一致地动态更新的一组特征点用于同时执行特征点的位置识别和环境中的摄像装置的位置和姿势的识别。对于SfM,根据所拍摄的多个图像中出现的特征点的位置来计算视差,同时基于算出的视差来识别视点改变和环境。PTL1公开了一种使用SfM来识别在SLAM的初始化期间所选择的特征点的三维位置的方法。PTL2公开了可通过应用SLAM来实现的AR应用的示例。
引用列表
专利文献
[PTL1]JP2009-237845A
[PTL2]JP2011-159162A
非专利文献
[NPL1]Andrew J.Davison,“Real-Time Simultaneous Localization and Mapping with a Single Camera”,Proceedings  of the 9th IEEE International Conference on Computer Vision Volume2,2003,pp.1403-1410.
发明内容
技术问题
基于图像中的一组特征点的环境识别技术的精度取决于图像中的特征点的分布。随着特征点的数量增加,识别的稳定性也增加。如果特征点的数量过低,则可能变得不再能够跟踪环境。另外,当图像中的特征点的数量相同时,特征点的分布的偏向性越大,则识别变得越不稳定。然而,使用AR应用的用户通常没有环境识别技术的这种特性的知识。因此,当向用户提供AR应用时,存在如下情形的实际风险:在该情形中,由于用户将终端(或摄像装置)指向不利于环境识别技术的方向而导致环境识别变得不稳定并且阻碍对AR应用的使用。
因此,当向用户提供AR应用时,期望提供能够避免上述情形的架构。
问题的解决方案
根据第一示例性实施例,本公开涉及一种信息处理系统,包括:图像获取单元,被配置为获取由图像拍摄装置拍摄的图像数据;识别单元,被配置为识别所获取的图像数据中的多个特征点的分布密度;以及显示控制单元,被配置为基于多个特征点的分布密度而控制显示器显示引导信息。
根据另一示例性实施例,本公开涉及一种信息处理方法,包括:获取由图像拍摄装置拍摄的图像数据;识别所获取的图像数据中的多个特征点的分布密度;以及基于多个特征点的分布密度而控制显示器显示引导信息。
根据另一示例性实施例,本公开涉及一种包括计算机程序指令的非暂态计算机可读介质,该计算机程序指令当由电路执行时,使得电路执行以下步骤:获取由图像拍摄装置拍摄的图像数据;识别所获取的图像数据中的多个特征点的分布密度;以及基于多个特征点的分布密度而控制显示器显示引导信息。
本发明的有利效果
根据本公开的以上实施例,当向用户提供AR应用时,可以避免环境识别变得不稳定并且阻碍对AR应用的使用的情形。
附图说明
图1是用于说明根据本公开的一个实施例的图像处理设备的概况的图。
图2是用于说明用于环境识别的特征点的图。
图3是用于说明特征点的分布与环境识别的稳定性之间的关系的图。
图4是示出根据本实施例的图像处理设备的硬件配置的一个示例的框图。
图5是示出根据本实施例的图像处理设备100的逻辑功能配置的示例的框图。
图6是示出由图5所示的SLAM计算单元执行的SLAM计算处理的流程的一个示例的流程图。
图7是用于说明真实对象上设置的特征点的图。
图8是用于说明特征点的添加的图。
图9是用于说明预测模型的一个示例的图。
图10是用于说明特征数据的构成的一个示例的图。
图11是用于说明根据特征点的分布来判定导航方向的第一方法的图。
图12是用于说明根据特征点的分布来判定导航方向的第二方法的图。
图13是用于说明由自主操作代理进行的导航的第一示例的图。
图14是用于说明由自主操作代理进行的导航的第二示例的图。
图15是用于说明由自主操作代理进行的导航的第三示例的图。
图16是用于说明由虚拟指示进行的导航的第一示例的图。
图17是用于说明由虚拟指示进行的导航的第二示例的图。
图18是用于说明由虚拟指示进行的导航的第三示例的图。
图19是用于说明由用户操作代理进行的导航的示例的图。
图20是示出根据本实施例的图像处理的总体流程的一个示例的流程图。
图21是示出当使用自主操作代理时的导航控制处理的流程的一个示例的流程图。
图22是示出在使用虚拟指示的情况下的导航控制处理的流程的示例的流程图。
图23是示出在使用用户操作代理的情况下的导航控制处理的流程的示例的流程图。
具体实施方式
在下文中,将参照附图来详细描述本公开的优选实施例。注意,在该说明书和附图中,具有基本上相同的功能和结构的结构元件用相同的附图标记来指示,并且省略对这些结构元件的重复说明。
按下述顺序给出以下描述:
1.概况
2.根据一个实施例的设备的配置
2-1.硬件配置
2-2.功能配置
2-3.导航的示例
2-4.处理的流程
3.结论
1.概况
首先将参照图1至3给出本公开的实施例的概况。
图1是用于说明根据本公开的一个实施例的图像处理设备100的概况的图。在图1中,示出了用户Ua持有的图像处理设备100。图像处理设备100包括具有指向真实空间10的镜头的图像拍摄单元102和显示单元110。在图1的示例中,在真实空间10中存在包括桌子14的多种真实对 象。图像处理设备100的图像拍摄单元102拍摄真实空间10的图像。这样拍摄的图像可显示在显示单元110上。图像处理设备100可包括执行AR应用的控制单元(未示出)。这样的AR应用接收由图像拍摄单元102拍摄的图像作为输入图像,将虚拟对象重叠在这样的图像上,并且将结果输出到显示单元110。在图1的示例中,将虚拟对象VO1重叠在输出图像Im01上,以使得虚拟对象VO1看起来就像其存在于桌子14上一样。
在图1中,示出了移动终端作为图像处理设备100的一个示例。然而,图像处理设备100不限于这样的示例。作为其它示例,图像处理设备100可以是PC(个人计算机)、PDA(个人数字助理)、智能电话、游戏终端、便携式导航装置(PND)、内容播放器或者数字家庭电器。另外,取代在用户操作的终端上运行,AR应用可在能够与该终端通信的其它设备(诸如应用服务器)上运行。
为了在AR应用中适当地将虚拟对象重叠到图像上,重要的是至少以特定的精度水平来识别终端(尤其是图像拍摄单元102)相对于真实空间的位置和姿势。作为用于这样的环境识别的技术,基于图像中的一组特征点的技术是公知的。作为一个示例,根据SLAM,与输入图像的改变一致地动态更新的一组特征点用于同时执行特征点的位置的识别和环境中的摄像装置的位置和姿势的识别。对于SfM,根据所拍摄的多个图像中出现的特征点的位置来计算视差,同时基于计算出的视差来识别视点改变和环境。
然而,基于图像中的一组特征点的环境识别的精度取决于特征点的分布。随着特征点的数量增加,识别的稳定性也增加。如果特征点的数量过低,则可能变得不再能够跟踪环境并且变得难以判定在何处重叠虚拟对象。另外,当图像中的特征点的数量相同时,特征点的分布的偏向性越大,则识别变得越不稳定,从而导致诸如虚拟对象的不规则移动的阻碍。
图2是用于说明用于环境识别的特征点的图。图2再次示出了图1中所示的真实空间10。图2中的星形符号表示具有被检测作为真实空间10中的特征点的高概率的点。根据图可以理解,在区域12a和12b中不存在特征点。因此,如果例如拍摄输入图像以使得仅区域12a或区域12b出现在整个图像中,则这将导致环境识别失败并且AR应用不能正常工作的情形。
现在将参照图3进一步描述特征点的分布与环境识别的稳定性之间的关系。在图3中,用圆形框示出了真实空间10的抽象概念,并且用星 形符号表示真实空间10中的特征点。这里,假设当前的摄像装置角度指向圆形框的中心。大量特征点出现在此时拍摄的图像Im10中,其中这样的特征点比较均匀地分布在整个图像中。因此,通过使用图像Im10,可以以比较高的稳定性识别环境。如果此后用户向上移动摄像装置角度,则将拍摄到图像Im11。如果用户向下移动摄像装置角度,则将拍摄到图像Im12。在图像Im11和图像Im12中,多个特征点比较均匀地分布在整个图像中。相反,如果用户向左移动摄像装置角度,则将拍摄到图像Im13。在图像Im13中没有出现特征点。在该情况下,环境识别可能失败。另外,如果用户向右移动摄像装置角度,则将拍摄到图像Im14。尽管多个特征点出现在图像Im14中,但是这样的特征点将偏向于图像的上部。在该情况下,环境识别可能变得不稳定(对于图像Im14的示例,尽管可以以足够的精度来判定摄像装置在偏航(yaw)方向上的姿势(旋转角度),但是对于摄像装置在俯仰方向上的姿势没有实现足够的精度)。因此,对于使用基于一组特征点的环境识别技术的AR应用,更优选的是用户在向上方向或向下方向上移动摄像装置角度而不是向左或向右移动摄像装置角度。
为此,如以下详细描述的,本公开的以下实施例提供了用于对AR应用的用户进行导航以便稳定基于一组特征点的环境识别的导航架构。
2.根据一个实施例的设备的配置
现在将描述根据本实施例的图像处理设备100的示例配置。该说明将关注于使用SLAM来识别终端相对于真实空间的位置和姿势的示例。然而,以下描述的实施例不限于这样的示例,而是可与基于特征点来执行环境识别的任何其它技术相结合。
2-1.硬件配置
图4是示出根据一个实施例的图像处理设备100的硬件配置的一个示例的框图。如图4所示,图像处理设备100包括图像拍摄单元102、传感器单元104、输入单元106、存储单元108、显示单元110、通信单元112、总线116和控制单元118。
(1)图像拍摄单元
图像拍摄单元102是拍摄图像的摄像装置模块。图像拍摄单元102 使用诸如CCD(电荷耦合器件)或CMOS(互补金属氧化物半导体)的图像拍摄元件来拍摄真实空间的图像以生成拍摄图像。由图像拍摄单元102所生成的拍摄图像用作由控制单元118执行的图像处理的输入图像。注意,图像拍摄单元102不需要是图像处理设备100的一部分。作为一个示例,无线地或有线地连接到图像处理设备100的图像拍摄设备可被视为图像拍摄单元102。
(2)传感器单元
传感器单元104可包括多种传感器,比如定位传感器、加速度传感器和陀螺仪传感器。由传感器单元104获得的测量结果可用在多种应用中,比如支持环境识别、获取特定于地理位置的数据以及检测用户输入。注意,可从图像处理设备100的配置中省略传感器单元104。
(3)输入单元
输入单元106是用户用于操作图像处理设备100或将信息输入到图像处理设备100中的输入装置。作为一个示例,输入单元106可包括触摸传感器,该触摸传感器检测用户在显示单元110的屏幕上进行的触摸。取代触摸传感器(或除触摸传感器之外),输入单元106可包括诸如鼠标或触摸板的指向装置。另外,输入单元106可包括其它类型的输入装置,诸如键盘、小键盘、一个或多个按钮或者一个或多个开关。
(4)存储单元
存储单元108由存储介质比如半导体存储器或硬盘驱动器构成,并且存储用于图像处理设备100的处理的程序和数据。存储单元108存储的数据可包括稍后描述的拍摄图像数据、传感器数据以及多种数据库(DB)中的数据。注意,取代存储在存储单元108中,本说明书中描述的程序和数据中的一些可从外部数据源(作为示例,数据服务器、网络存储或外部存储器)获取。
(5)显示单元
显示单元110是包括比如LCD(液晶显示器)、OLED(有机发光二极管)或CRT(阴极射线管)的显示器的显示模块。作为一个示例,显示单元110用于显示由图像处理设备100生成的AR应用的图像。注意,显示单元110不需要是图像处理设备100的一部分。作为一个示例,无线地或有线地连接到图像处理设备100的显示设备可被视为显示单元110。
(6)通信单元
通信单元112是用作用于图像处理设备100与其它设备进行通信的中介器的通信接口。通信单元112支持任意无线通信协议或有线通信协议并且建立与其它设备的通信连接。
(7)总线
总线116将图像拍摄单元102、传感器单元104、输入单元106、存储单元108、显示单元110、通信单元112和控制单元118相互连接。
(8)控制单元
控制单元118对应于比如CPU(中央处理单元)或DSP(数字信号处理器)的处理器。通过执行存储在存储单元108或其它存储介质中的程序,控制单元118使得图像处理设备100以如稍后所述的多种方式起作用。
2-2.功能配置
图5是示出了由图4所示的图像处理设备100的存储单元108和控制单元118实现的逻辑功能的配置示例的框图。如图5所示,图像处理设备100包括图像获取单元120、数据获取单元125、识别单元130、地图数据库(DB)160、地图管理单元165、应用单元170和显示控制单元180。
(1)图像获取单元
图像获取单元120获取由图像拍摄单元102生成的拍摄图像作为输入图像。图像获取单元120所获取的输入图像是出现真实空间的图像。输入图像通常是构成视频的单独帧。图像获取单元120将所获取的输入图像输出到识别单元130和显示控制单元180。
(2)数据获取单元
数据获取单元125获取要用在识别单元130执行的环境识别和应用单元170执行的AR应用的提供中的数据。作为示例,数据获取单元125可获取由传感器单元104生成的传感器数据、与真实对象有关的数据和与虚拟对象有关的数据。
(3)SLAM计算单元
识别单元130基于出现在图像获取单元120所获取的输入图像中的至少一个特征点的(一个或更多个)位置来识别图像拍摄单元102相对于真实空间的位置和姿势。在本实施例中,识别单元130包括SLAM计算单 元135、对象DB140和图像识别单元145。
SLAM计算单元135执行根据SLAM的计算以动态地识别来自单目摄像装置的输入图像中出现的真实空间的三维结构并且识别图像拍摄单元102的位置和姿势。
首先,将参照图6描述由SLAM计算单元135执行的SLAM计算处理的总体流程。此后,将参照图7至10详细描述SLAM计算处理。
图6是示出由SLAM计算单元135执行的SLAM计算处理的流程的一个示例的流程图。在图6中,当SLAM计算处理开始时,SLAM计算单元135首先执行初始化处理以初始化状态变量(步骤S10)。在本实施例中,表述“状态变量”指的是包括摄像装置的位置和姿势(旋转角度)、摄像装置的移动速度和角速度以及至少一个特征点的位置作为元素的矢量。将图像获取单元120所获取的输入图像接连输入到SLAM计算单元135中(步骤S20)。可针对每个输入图像(即,针对每个帧)重复从步骤S30至步骤S50的处理。
在步骤S30中,SLAM计算单元135跟踪出现在输入图像中的特征点。例如,SLAM计算单元135将新的输入图像与预先获取的每个特征点的补丁(patch)(例如,以特征点为中心的3×3=9个像素的小图像)进行匹配。SLAM计算单元135然后检测输入图像中的补丁的位置,即特征点的位置。这里所检测的特征点的位置在稍后更新状态变量时使用。
在步骤S40中,SLAM计算单元135例如基于指定的预测模型生成下一帧中的状态变量的预测值。另外,在步骤S50中,SLAM计算单元135使用在步骤S40中所生成的状态变量的预测值和与在步骤S30中所检测的特征点的位置一致的观察值来更新状态变量。SLAM计算单元135基于扩展的卡尔曼滤波器的原理来执行步骤S40和S50中的处理。
作为这样的处理的结果,输出在每个帧中更新的状态变量的值。现在将更详细地描述状态变量的初始化(步骤S10)、特征点的跟踪(步骤S30)、状态变量的预测(步骤S40)和状态变量的更新(步骤S50)的相应的处理内容。
(3-1)状态变量的初始化
在SLAM计算单元135所使用的状态变量的元素之中,摄像装置的位置、姿势、移动速度和角速度的初始值可以为零或任意其它值。另外,从输入图像中选择多个特征点。作为示例,这里所选择的特征点可以是在 图像中动态地检测的点(例如,纹理的边缘和拐角)或者可以是针对初始化目的而预先设置的已知点。也可根据诸如SfM的方法来计算特征点的三维位置。SLAM计算单元135使用这样初始化的元素来构造状态变量。
(3-2)特征点的跟踪
使用可能存在于真实空间中的真实对象的外观上出现的至少一个特征点的补丁数据来执行特征点的跟踪。在图7中,作为真实对象的两个示例,示出了柜子(在图中的左侧)和日历(在图中的右侧)。在每个真实对象上设置至少一个特征点(FP)。作为一个示例,特征点FP1是设置在柜子上的特征点,并且定义了与特征点FP1相关联的补丁Pth1。以此方式,特征点FP2是设置在日历上的特征点,并且定义了与特征点FP2相关联的补丁Pth2。
SLAM计算单元135将在初始化处理中所选择的特征点的补丁数据或此后新选择的特征点的补丁数据与输入图像中所包括的局部图像进行匹配。作为这样的匹配的结果,SLAM计算单元135指定输入图像中包括的特征点的位置(例如,所检测的补丁的中心像素的位置)。
SLAM的一个特性是所跟踪的特征点随时间动态地改变。例如,在图8的示例中,当时间T=t-1时,在输入图像中检测到六个特征点。接下来,如果摄像装置的位置或姿势在时间T=t处改变,则在时间T=t-1处出现在输入图像中的六个特征点中的仅两个特征点出现在输入图像中。在该情况下,SLAM计算单元135可在输入图像中具有特性像素图案的位置设置新特征点并且在随后的帧中在SLAM计算处理中使用这样的新特征点。作为一个示例,对于图8所示的情况,在时间T=t处,在真实对象上设置四个新特征点。通过使用SLAM的这种特性,可以降低在预先设置特征点时所需的成本并且通过使用增加的大量特征点来提高识别精度。
(3-3)状态变量的预测
在本实施例中,SLAM计算单元135使用在以下等式中表示的状态变量X作为要应用于扩展卡尔曼滤波器的状态变量。
数学式1
X=xωx·ω·p1...pN---(1)]]>
如以下等式中所示,等式(1)的状态变量X的第一个元素表示真实空间中的摄像装置的三维位置。
数学式2
x=xcyczc---(2)]]>
状态变量的第二个元素是具有与表示摄像装置的姿势的旋转矩阵对应的四元组作为元素的四维矢量。注意,取代四元组,可使用欧拉角来表示摄像装置的姿势。另外,状态变量的第三和第四个元素分别表示摄像装置的移动速度和角速度。
另外,状态变量的第五和随后的元素每个分别表示特征点FPi的三维位置pi(其中,i=1…N)。注意,如之前所述,特征点的数量N可在处理期间改变。
数学式3
pi=xiyizi---(3)]]>
SLAM计算单元135基于在步骤S10中初始化的状态变量X的值或在先前帧中更新的状态变量X的值,生成最新的帧的状态变量的预测值。根据以下等式中所示的多维正态分布,根据扩展卡尔曼滤波器的状态等式来生成状态变量的预测值。
数学式4
预测状态变量X^=F(X,a)+w---(4)]]>
这里,F是与系统的状态转移有关的预测模型,并且a是预测条件。w是高斯噪声并且作为示例可包括模型近似误差和观察误差。高斯噪声w的平均值将通常为零。
图9是用于说明根据本实施例的预测模型的示例的图。如图9所示,在根据本实施例的预测模型中存在两个预测条件。首先,作为第一条件,假设特征点的三维位置不改变。即,如果时间T处的特征点FP1的三维位置被表示为pT,则满足以下关系。
数学式5
pt=pt-1   (5)
接下来,作为第二条件,假设摄像装置的移动是均匀运动。即,从时间T=t-1到时间T=t,对于摄像装置的速度和角速度满足以下关系。
数学式6
X·t=X·t-1---(6)]]>
ω·t=ω·t-1---(7)]]>
基于等式(4)所示的预测模型和状态等式,SLAM计算单元135生成最新的帧的状态变量的预测值。
(3-4)状态变量的更新
SLAM计算单元135然后使用观察等式来评估例如根据状态变量的预测值所预测的观察信息与作为跟踪特征点的结果而获得的实际观察信息之间的误差。以下等式(8)中的Nu是这样的误差。
数学式7
观察信息s=H(X^)+v---(8)]]>
预测误差信息s^=H(X^)---(9)]]>
这里,H表示观察模型。例如,图像拍摄平面(u-v平面)上的特征点FPi的位置由以下等式来定义。
数学式8
图像拍摄平面上的特征点FPi的位置p~i=uivi1---(10)]]>
这里,摄像装置的位置x、摄像装置的姿势ω和特征点FPi的三维位置pi都被提供作为状态变量X的元素。这样,根据使用以下等式的针孔摄像装置模型找到特征点FPi在图像拍摄平面上的位置。注意,λ是用于归一化的参数,A是摄像装置内部参数矩阵,以及具有下标ω的R是与表示状态变量X中包括的摄像装置的姿势的四元组ω对应的旋转矩阵。
数学式9
λp~i=ARω(pi-x)---(11)]]>
因此,通过搜索使得使用等式(11)推出的预测观察信息(即,各个特征点在图像拍摄平面上的位置)与在图6中的步骤S30中跟踪特征点的结果之间的误差最小化的状态变量X,可以获得可用的最新状态变量X。
数学式10
最新状态变量X←X^+Innov(s-s^)---(12)]]>
SLAM计算单元135将根据SLAM以此方式动态更新的状态变量X中所包括的参数的值输出到地图管理单元165并且将这样的值存储在地图DB160中。
(4)对象DB
对象DB140是预先存储表示对象的特征的特征数据的数据库。存储在对象DB140中的特征数据用在图像识别单元145所执行的图像识别处理中。图10是用于说明特征数据的构成的一个示例的图。
在图10中,特征数据141被示出作为真实对象RO1的一个示例。特征数据141包括对象ID142a、从六个方向拍摄的图像数据142b、补丁数据142c和三维形式数据142d。
对象ID142a是用于唯一地标识真实对象RO1的标识符。图像数据142b包括分别从六个方向(即,前、后、左、右、上和下)对真实对象RO1进行拍摄的六个图像的图像数据。补丁数据142c是对于真实对象上设置的每个特征点的一组小图像,其中,每个小图像以相应的特征点为中心。三维形式数据142d包括表示在真实对象RO1的本地坐标系中每个特 征点的三维位置的位置信息(即,每个特征点相对于在真实对象RO1上本地定义的原点的位置)。
(5)图像识别单元
图像识别单元145使用由对象DB140存储的上述特征数据来识别出现在输入图像中的真实对象。更具体地,作为一个示例,图像识别单元145将包括在图像获取单元120所获取的输入图像中的局部图像与包括在特征数据中的每个特征点的补丁进行匹配,以检测包括在输入图像中的特征点。图像识别单元145可再次使用由SLAM计算单元135产生的跟踪特征点的结果。接下来,当已在图像的给定区域中以高密度检测到属于一个真实对象的特征点时,图像识别单元145可识别出这样的真实对象出现在该区域中。图像识别单元145还可基于所检测的特征点与图10所示的三维数据之间的位置关系来识别所识别的真实对象的位置和姿势。基于图像识别单元145所识别的真实对象的位置和姿势以及SLAM计算单元135所识别的图像拍摄单元102的位置和姿势,实现在SLAM的初始化之后对真实对象的位置和姿势的跟踪。图像识别单元145将以此方式跟踪的真实对象的位置和姿势输出到地图管理单元165以使得该位置和姿势存储在地图DB160中。
(6)地图管理单元
地图DB160是存储识别单元130所执行的环境识别的结果的数据库。作为一个示例,地图DB160存储SLAM计算单元135所识别的图像拍摄单元102的位置和姿势以及图像识别单元145所识别的真实对象的位置和姿势。稍后描述的应用单元170和显示控制单元180可使用地图DB160存储的这样的数据来判定AR空间中的虚拟对象的布置。
另外,地图DB160可存储稍后描述的特征点地图。特征点地图存储过去所检测的至少一个特征点在真实空间中的位置。特征点地图可用在显示控制单元180所执行的导航控制处理中。
地图管理单元165管理地图DB160所存储的数据以及这样的数据的输入和输出。例如,如稍后所述,地图管理单元165可将表示登记时间(创建时间或修改时间)的时间戳附加到地图DB160所存储的数据并且可在从登记时间开始过去了特定时间的情况下丢弃数据。
(7)应用单元
应用单元170基于识别单元130所执行的环境识别的结果来向用户提 供AR应用。应用单元170所提供的AR应用可以是用于任何目的、对象(比如娱乐、教育、商业或社交通信)的应用。应用单元170通常根据这样的目的来选择要显示的虚拟对象(批注)并且在AR空间中布置所选择的虚拟对象。在图1的示例中,虚拟对象VO1被布置为使得看起来就像该对象存在于桌子14上一样。可基于图像拍摄单元102与桌子14之间的相对位置关系和AR空间中的虚拟对象VO1的布置来计算虚拟对象VO1重叠在图像上的二维位置。
(8)显示控制单元
显示控制单元180控制使用显示单元110的AR应用的显示。另外,显示控制单元180根据特征点的分布对操作图像处理设备100的用户进行导航,以便稳定识别单元130执行的识别处理。例如,显示控制单元180可对用户进行导航,以使得超过阈值数量的特征点连续出现在输入图像中。显示控制单元180还可对用户进行导航,以避免特征点变得偏向于输入图像的一部分的状态。显示控制单元180还可对用户进行导航,以使得出现在输入图像中的特征点的数量越低,则越慢地操作(移动)图像处理设备100。
图11是用于说明根据特征点的分布来判定导航方向的第一方法的图。图11示出了图3所示的图像Im10的放大。其中超过特定量的纹理存在于图像Im10的上端、下端和右端附近。因此,即使用户向上、向下或向右移动摄像装置角度,显示控制单元180也可以预测超过阈值数量的特征点将连续出现在输入图像中。另一方面,在图像Im10的左端附近不存在纹理。因此,如果用户向左移动摄像装置角度,则显示控制单元180能够预测出现在输入图像中的特征点的数量将下降。基于这样的预测,显示控制单元180可对用户进行导航,以便在向上、向下或向右方向上移动摄像装置角度(或者使得用户不在向左方向上移动摄像装置角度)。根据该第一方法,仅使用输入图像来控制导航。因此,不需要额外的存储器资源并且可以以低开发成本来实现根据本公开的技术。注意,显示控制单元180可通过迫使用户进行缩小以便包括摄像装置角度内更宽的范围来提高检测到新特征点的概率。
图12是用于说明根据特征点的分布来判定导航方向的第二方法的图。图12中示意性地示出了可由地图DB160额外存储的特征点地图162。这里,尽管这里为了易于说明而示出了具有二维结构的地图,但是特征点地图162可具有三维结构。在图12的特征点地图162中,在X-Y坐标系 中示出了至少一个特征点的位置。X-Y平面被划分成具有交叉阴影线图案的多个区域。每个区域可通过X方向上的标签“A”至“E”和Y方向上的标签“1”至“5”的组合而被标识为区域A1、区域A2等。在图12的示例中,区域B4、C2至C4、D2、D3、E3和E4包括在这样的区域中比较均匀地分布的大量特征点。因此,如果摄像装置指向这样的区域,则将出现超过阈值数量的特征点并且这样的特征点不会偏向于图像的一部分。在本说明书中,这样的区域被称为“稳定识别区域”。通过查找这样的特征点地图162、确定稳定识别区域并且对用户进行导航以使得连续拍摄到稳定识别区域,显示控制单元180可稳定识别单元130所执行的识别处理。由于根据该第二方法可以使用特征点地图来确定没有出现在输入图像中的特征点的存在和位置,因此可以适当地对用户进行导航以与真实空间的状态一致。
除了如上所述对用户进行导航以稳定环境识别处理的第一操作模式之外,显示控制单元180还可以能够以第二操作模式工作,该第二操作模式对用户进行导航以便增加登记在特征点地图中的特征点的数量。在本说明书中,这样的第一操作模式被称为“正常模式”,并且第二操作模式被称为“探测模式”。在探测模式下,显示控制单元180可对用户进行导航以取代稳定识别区域而拍摄稳定识别区域以外的区域的图像。
特征点地图162可被配置成使得可以标识已探测区域和未探测区域。已探测区域是在过去已拍摄的区域,并且未探测区域是待拍摄的区域。在图12所示的特征点地图162的示例中,区域A1、A2、B1和B2被标识为未探测区域。在特征点地图162中,在未探测区域中没有登记特征点。然而,这并不表示未探测区域中不存在特征点,而是表示不知道这样的区域中是否存在特征点。通过使得用户拍摄这样的未探测区域,显示控制单元180能够发现新特征点从而增加稳定识别区域。
2-3.导航的示例
通过将导航对象重叠在输入图像上来执行由显示控制单元180进行的导航。导航的类型取决于导航对象的类型。这里,给出三种类型的对象作为不同类型的导航对象的示例,即,自主操作代理、虚拟指示和用户操作代理或(化身(avatar))。注意,这样的导航对象可与AR应用中使用的虚拟对象相同或者可以是用于导航的专用虚拟对象。
(1)自主操作代理
自主操作代理是在AR空间内自主地进行操作的虚拟对象。作为一个示例,在正常模式下,显示控制单元180可在推荐图像拍摄的方向上移动自主操作代理。如果用户指向不推荐图像拍摄的方向并且打算在该方向上操作图像拍摄单元102,则显示控制单元180可使得自主操作代理执行阻止这样的操作的动作。作为另一示例,在探测模式下,显示控制单元180可将自主操作代理移动到未探测区域。
图13是用于说明由自主操作代理进行的导航的第一示例的图。如图13所示,自主操作代理VO2存在于通过扩展真实空间20而形成的AR空间中。实际上,当摄像装置拍摄存在VO2的位置时,代理VO2首先在屏幕上向用户呈现。在给定时间,假设代理VO2位于AR空间中的位置P11并且打算移动到位置P16。这里,如果代理VO2以直线从位置P11移动到位置P16并且用户试图将代理VO2保持在摄像装置角度(即,框)内,则存在环境识别处理在不存在(或存在少量)特征点的位置P19附近的区域中失败的高概率。为此,取代以直线将代理VO2移动到位置P16,显示控制单元180沿着存在足够数量的特征点的、追踪位置P12、P13、P14和P15的路线移动代理VO2。结果,即使用户试图将代理VO2保持在摄像装置角度内,也可能在环境识别处理不失败的情况下成功地将代理VO2移动到位置P16。显示控制单元180还在存在于附近的特征点的数量下降的、位置P13与位置P15之间的区间中缓慢地移动代理VO2。这样,可以抑制一组特征点中跟踪将失败的特征点的比例并且实现对暂时较低数量的特征点的高效使用,从而防止环境识别处理的精度下降。
图14是用于说明自主操作代理执行的导航的第二示例的图。在图14中,用户试图在远离稳定识别区域的方向上移动摄像装置角度。显示控制单元180根据环境识别处理的结果识别这样的操作并且使得代理VO2执行阻止这样的操作的动作。在图14的示例中,代理VO2向用户给出指示在远离稳定识别区域的方向上的移动是不利的消息MSG。这样的消息MSG可以是虚拟对象或者可以是音频消息。取代作为图14中的示例而给出的消息,阻止用户操作的动作可以是代理VO2的面部表情、手势等。
图15是用于说明自主操作代理执行的导航的第三示例的图。上述第一和第二示例是正常模式下的导航的示例,但是该第三示例是探测模式下的导航的示例。在图15中,示出了与图13相同的真实空间20,并且自 主操作代理VO2在位置P11处的位置。在探测模式下,显示控制单元180在稳定识别区域外的位置P19的方向上移动代理VO2。在这里假设用户试图将代理VO2保持在摄像装置角度(即,框)内。结果,存在于位置P19附近的真实对象RO2和RO3出现在输入图像中,并且新发现存在于这样的真实对象上的特征点。然后,可将位置P19附近的区域新标识为稳定识别区域。
注意,如果所识别的对象是运动对象,则存在作为这样的对象的移动的结果而使得存储在特征点地图中的关于特征点的信息或关于区域的信息变为过时的可能性。为此,地图管理单元165在将每个特征点的位置登记在特征点地图中时将时间戳添加到每个特征点(即,登记时间与特征点或区域相关联地存储)。地图管理单元165然后可根据从这样的登记时间开始过去的时间而丢弃特征点地图中的数据。这样,可以防止环境识别处理的稳定性由于基于过时信息的导航反而下降。
(2)虚拟指示
虚拟指示是简单虚拟对象比如图形、图标或文本。作为一个示例,显示控制单元180可将用于向用户通知真实空间中的不推荐进行图像拍摄的区域的虚拟指示重叠在输入图像上。除此之外或者作为其替选,显示控制单元180可将用于向用户通知得分的虚拟指示重叠在输入图像上,该得分取决于出现在输入图像中的特征点的数量或偏向性。
图16是用于说明由虚拟指示进行的导航的第一示例的图。图16示出了正显示真实空间10出现的图像的图像处理设备100。虚拟指示VO3和VO4显示在图像处理设备100的屏幕上。虚拟指示VO3是示出稳定识别区域与其它区域之间的边界的指示。虚拟指示VO4也是示出除稳定识别区域之外的区域的指示。通过查看这样的指示,用户可以操作终端以使得稳定识别区域连续出现在输入图像中。另外,通过以探测模式特意拍摄未探测区域,用户也可以增加稳定识别区域。
图17是用于说明由虚拟指示进行的导航的第二示例的图。在图17的示例中,虚拟指示VO5透明地显示在图像处理设备100的屏幕上。虚拟指示VO5是针对具有恒定尺寸的每个区域利用区域的属性比如亮度或颜色来示出得分的指示,该得分取决于特征点的数量或特征点的分布的偏向性。在图17的示例中,通过使用不同颜色的虚拟指示VO5将每个区域指示为环境识别可能有高稳定性的第一区域、环境识别可能有较差稳定性的第二区域以及环境识别困难(即,“最不稳定”)的第三区域中的一个。 通过查看这样的指示,用户可以操作终端以使得稳定识别区域连续出现在输入图像中。
图18是用于说明由虚拟指示进行的导航的第三示例的图。在图18的示例中,虚拟指示VO6显示在图像处理设备100的屏幕上。虚拟指示VO6是示出得分的幅值的指示符,该得分取决于图像中的特征点的数量或特征点的分布的偏向性。虚拟指示VO6向用户通知与摄像装置角度的改变一致的上述得分的改变。在图18右侧的示例中,由虚拟指示VO6与消息VO7一起示出了得分的下降,该消息VO7向用户通知环境识别将失败的风险。通过显示这样的指示,间接地阻止了用户操作,从而使得可以避免环境识别失败或环境识别处理的稳定性的下降。
(3)用户操作代理
用户操作代理是在AR空间中由用户操作的虚拟对象。作为一个示例,显示控制单元180可通过将用户操作代理的可移动区域限制于推荐图像拍摄的区域来对用户进行导航。推荐图像拍摄的区域在正常模式下可以是稳定识别区域,并且在探测模式下可包括稳定识别区域和未探测区域两者。
图19是用于说明由用户操作代理进行的导航的示例的图。在图19中,用户操作代理VO8存在于通过扩展真实空间10而形成的AR空间中。代理VO8的下方和到右侧的区域是没有特征点(或有少量特征点)的区域。作为一个示例,用户经由屏幕上的拖动操作来操作代理VO8。然而,在图19所示的状态下,如果用户朝向右下方(在图中的箭头Arr1的方向上)执行拖动,则显示控制单元180将阻止代理VO8在这样的方向上的移动,并且例如,可替代地在朝向右上方的方向上(在图中的箭头Arr2的方向上)移动代理VO8。通过以此方式限制用户操作代理的可移动区域,可以对用户进行导航以便连续地拍摄稳定识别区域。
2-4.处理的流程
(1)总体流程
图20是示出根据本实施例的图像处理的总体流程的一个示例的流程图。
如图20所示,图像获取单元120首先获取通过对真实空间的图像拍摄而生成的输入图像(步骤S110)。图像获取单元120然后将所获取的输 入图像输出到识别单元130和显示控制单元180。
接下来,识别单元130基于出现在输入图像中的至少一个特征点的(一个或更多个)位置来执行环境识别处理,以识别图像拍摄设备相对于真实空间的位置和姿势(步骤S120)。这里执行的环境识别处理可包括例如参照图6描述的SLAM计算处理。识别单元130将环境识别的结果,即环境中的摄像装置的位置和姿势、特征点的位置以及真实对象的位置和姿势存储在地图DB160中。
接下来,应用单元170基于识别单元130进行的环境识别的结果而执行AR应用的操作(步骤S130)。作为一个示例,应用单元170与出现在输入图像中的真实对象中的一个相关联地来布置根据应用目的而选择的虚拟对象。
接下来,显示控制单元180执行导航控制处理以稳定环境识别处理(步骤S140)。以下描述这里执行的导航控制处理的三个详细示例。
显示控制单元180然后将由应用单元170布置的AR应用的虚拟对象和导航对象重叠在输入图像上(步骤S170)。
(2)导航控制处理的第一示例
图21是示出使用自主操作代理时的导航控制处理的流程的一个示例的流程图。
如图21所示,显示控制单元180首先从地图DB160获取特征点的分布(步骤S141)。然后,随后的处理根据操作模式是正常模式还是探测模式而分支(步骤S142)。如果操作模式是正常模式,则处理前进到步骤S143。同时,如果操作模式是探测模式,则处理前进到步骤S147。注意,例如可在AR应用的初始化阶段选择探测模式或者可在其它定时选择探测模式以构造AR空间。
在正常模式下,显示控制单元180根据环境识别处理的结果来估计终端的移动(步骤S143)。显示控制单元180确定用户是否正试图拍摄不推荐的区域(例如,除稳定识别区域之外的区域)(步骤S144)。例如,如果预测在最近的一些帧中终端继续移动的情况下摄像装置角度将移动离开稳定识别区域,则显示控制单元180可确定用户正尝试拍摄不推荐的区域。如果确定用户正尝试拍摄不推荐的区域,则处理前进到步骤S145。同时,如果不是这样的情况,则处理前进到步骤S146。
在步骤S145中,显示控制单元180判定阻止用户的操作的自主操作 代理的动作(步骤S145)。这里判定的动作可以是例如参照图14描述的动作。
在步骤S146中,显示控制单元180根据特征点的分布判定自主操作代理的移动(步骤S146)。这里判定的移动可以是例如如上参照图13描述的追踪稳定识别区域的移动。
在步骤S147中,由于显示控制单元180正在探测模式下进行操作,因此显示控制单元180判定自主操作代理的移动朝向未探测区域(步骤S147)。
在图20所示的流程的步骤S170中,将在步骤S145、S146和S147中判定的代理的移动(或动作)显示在屏幕上并且用户看到该移动(或动作)。
(3)导航控制处理的第二示例
图22是示出在使用虚拟指示的情况下的导航控制处理的流程的示例的流程图。
在图22中,显示控制单元180首先从地图DB180获取特征点的分布(步骤S151)。随后的处理根据操作模式是正常模式还是探测模式而分支(步骤S152)。如果操作模式是正常模式,则处理前进到步骤S153。同时,如果操作模式是探测模式,则处理前进到步骤S157。
在正常模式下,显示控制单元180根据特征点的分布而生成至少一个虚拟指示(步骤S153)。这里所生成的(一个或更多个)虚拟指示可以是例如参照图16至18所描述的(一个或更多个)指示。
接下来,显示控制单元180根据环境识别处理的结果估计终端的移动(步骤S154)。显示控制单元180然后确定用户是否正试图拍摄不推荐的区域(步骤S155)。如果确定用户正尝试拍摄不推荐的区域,则显示控制单元180另外地生成警告用户的虚拟指示或者改变在步骤S153中所生成的虚拟指示的属性(步骤S156)。
在步骤S157中,由于显示控制单元180正在探测模式下进行操作,因此显示控制单元180生成例如用于向用户通知未探测区域的虚拟指示(步骤S157)。
在图20所示的流程的步骤S170中将在步骤S153、S156或S157中所生成的(一个或更多个)虚拟指示显示在屏幕上并且用户看到该虚拟指 示。
(4)导航控制处理的第三示例
图23是示出在使用用户操作代理的情况下的导航控制处理的流程的示例的流程图。
在图23中,显示控制单元180首先从地图DB160获取特征点的分布(步骤S161)。显示控制单元180获取所接收的用户输入以便对代理进行操作(步骤S162)。
随后的处理根据操作模式是正常模式还是探测模式而分支(步骤S163)。如果操作模式是正常模式,则处理前进到步骤S164。同时,如果操作模式是探测模式,则处理前进到步骤S166。
在正常模式下,显示控制单元180根据特征点的分布判定AR空间中的可移动区域(步骤S164)。显示控制单元180然后在所判定的可移动区域的范围内根据用户输入来判定用户操作代理的移动(步骤S165)。
在探测模式下,显示控制单元180判定与用户输入一致的用户操作代理的移动而不将移动限制于可移动区域(步骤S166)。
在图20所示的流程中的步骤S170中将在步骤S165或S166中所判定的代理的移动显示在屏幕上并且用户看到该移动。
3.结论
这完成了参照图1至22的本公开的实施例的详细描述。根据上述实施例,当基于出现在输入图像中的(一个或更多个)特征点的(一个或更多个)位置来识别环境并且提供使用这样的识别结果的AR应用时,根据特征点的分布对用户进行导航以便稳定环境识别处理。因此,可以避免环境识别处理变得不稳定并且阻碍AR应用的使用的情形。
根据上述实施例,作为一个示例,使用导航对象来执行导航,以使得超过阈值数量的特征点连续出现在输入图像中。因此,由于可以在输入图像中保持足够数量的特征点,因此可以识别真实空间与图像拍摄设备之间的相对位置关系同时提供AR应用,从而保证了应用可用。
另外,根据上述实施例,使用导航对象来执行导航,以例如避免特征点偏向于输入图像的一部分。因此,在提供AR应用的同时,稳定地并且高精度地识别真实空间与图像拍摄设备之间的相对位置关系,这使得可以 防止比如虚拟对象被布置在不适当的位置或者具有不适当的姿势的问题。
由本说明书中描述的每个设备执行的各个系列的控制处理可由软件、硬件或者软件和硬件的组合来实现。构成这样的软件的程序可预先存储在例如设置在每个设备内部或外部的存储介质上。作为一个示例,在执行期间,这样的程序被写入RAM(随机存取存储器)中并且由处理器比如CPU来执行。
取代在本设备本身中实现,设备的一些逻辑功能可在存在于云计算环境中的设备中实现。在这样的情况下,在逻辑功能之间交换的信息可经由图4所示的通信单元112在设备之间传送或接收。
尽管以上参照附图详细描述了本公开的优选实施例,但是本公开的技术范围不限于此。本领域技术人员应理解,在所附权利要求或其等同物的范围内,根据设计要求和其它因素,可进行各种修改、组合、子组合和变更。
另外,本技术也可如下配置。
(1)一种图像处理设备,包括:
图像获取单元,获取通过使用图像拍摄设备对真实空间进行图像拍摄而生成的输入图像;
识别单元,基于出现在所述输入图像中的至少一个特征点的位置或多个位置来识别所述图像拍摄设备相对于所述真实空间的位置和姿势;
应用单元,提供使用所识别的相对位置和姿势的增强现实应用;以及
显示控制单元,根据所述特征点的分布将对操作所述图像拍摄设备的用户进行引导的导航对象重叠在所述输入图像上,以便稳定所述识别单元执行的识别处理。
(2)根据(1)所述的图像处理设备,
其中,所述显示控制单元使用所述导航对象对所述用户进行导航,以使得超过阈值数量的特征点连续出现在所述输入图像中。
(3)根据(2)所述的图像处理设备,
其中,所述显示控制单元使用所述导航对象对所述用户进行导航,以避免所述特征点偏向于所述输入图像的一部分。
(4)根据(2)或(3)所述的图像处理设备,
其中,所述显示控制单元使用所述导航对象对所述用户进行导航,以使得出现在所述输入图像中的特征点的数量越低,则越慢地操作所述图像拍摄设备。
(5)根据(2)至(4)中任一项所述的图像处理设备,
其中,所述导航对象是在所述增强现实空间中自主地进行操作的代理,以及
所述代理在推荐图像拍摄的方向上移动。
(6)根据(5)所述的图像处理设备,
其中,所述代理能够在所述图像拍摄设备将要经受在不推荐图像拍摄的方向上的操作时进行操作,以执行阻止所述操作的动作。
(7)根据(2)至(4)中任一项所述的图像处理设备,
其中,所述导航对象是向所述用户通知所述真实空间中不推荐图像拍摄的区域的指示。
(8)根据(2)至(4)中任一项所述的图像处理设备,
其中,所述导航对象是向所述用户通知与出现在所述输入图像中的特征点的数量或偏向性一致的得分的指示。
(9)根据(2)至(4)中任一项所述的图像处理设备,
其中,所述导航对象是在所述增强现实空间中由所述用户操作的代理,以及
所述代理的可移动区域被限制于推荐图像拍摄的区域。
(10)根据(1)至(9)中任一项所述的图像处理设备,
还包括:存储单元,存储示出在过去检测的至少一个特征点在所述真实空间中的位置的特征点地图,
其中,所述显示控制单元使用所述特征点地图来确定所述真实空间中的、针对其图像拍摄使得所述识别处理稳定的区域。
(11)根据(1)至(10)中任一项所述的图像处理设备,
其中,所述显示控制单元能够在第一操作模式下进行操作,以使用所述导航对象对所述用户进行引导从而使得所述识别处理稳定,并且能够在第二操作模式下进行操作以对所述用户进行引导从而使得发现未知特征 点。
(12)根据(11)所述的图像处理设备,
其中,所述显示控制单元能够在所述第二操作模式下进行操作,以对所述用户进行引导从而使得针对未探测区域执行图像拍摄,所述未探测区域尚未经受所述图像拍摄设备进行的图像拍摄。
(13)根据(12)所述的图像处理设备,
其中,所述导航对象是在所述增强现实空间中自主地进行操作的代理,以及
所述代理在所述第二操作模式下在所述未探测区域的方向上移动。
(14)根据(10)所述的图像处理设备,
其中,所述存储单元将与每个特征点相关的数据的登记时间与所述数据相关联地存储在所述特征点地图中,以及
所述图像处理设备还包括:地图管理单元,根据从所述登记时间开始的过去时间而丢弃所述数据。
(15)根据(1)至(14)中任一项所述的图像处理设备,
其中,所述图像处理设备是移动终端并且还包括所述图像拍摄设备。
(16)根据(1)至(15)中任一项所述的图像处理设备,
其中,所述图像获取单元、所述识别单元、所述应用单元和所述显示控制单元中的至少一个由存在于云计算环境中的设备来实现,而不是设置在所述图像处理设备。
(17)一种图像处理方法,包括:
获取通过使用图像拍摄设备对真实空间进行图像拍摄而生成的输入图像;
基于出现在所述输入图像中的至少一个特征点的位置或多个位置,执行识别所述图像拍摄设备相对于所述真实空间的位置和姿势的识别处理;
提供使用所识别的相对位置和姿势的增强现实应用;以及
根据所述特征点的分布将对操作所述图像拍摄设备的用户进行引导的导航对象重叠在所述输入图像上,以便稳定所述识别处理。
(18)一种用于使得控制图像处理设备的计算机用作以下单元的程序:
图像获取单元,获取通过使用图像拍摄设备对真实空间进行图像拍摄而生成的输入图像;
识别单元,基于出现在所述输入图像中的至少一个特征点的位置或多个位置来识别所述图像拍摄设备相对于所述真实空间的位置和姿势;
应用单元,提供使用所识别的相对位置和姿势的增强现实应用;以及
显示控制单元,根据所述特征点的分布将对操作所述图像拍摄设备的用户进行引导的导航对象重叠在所述输入图像上,以便稳定所述识别单元执行的识别处理。
另外,本技术还可如下配置。
(1)一种信息处理系统,包括:
图像获取单元,被配置成获取由图像拍摄装置拍摄的图像数据;
识别单元,被配置成识别所获取的图像数据中的多个特征点的分布密度;以及
显示控制单元,被配置成基于所述多个特征点的分布密度来控制显示器显示引导信息。
(2)根据(1)所述的信息处理系统,其中,所述显示控制单元被配置成控制所述显示器显示重叠在所显示的获取的图像数据上的虚拟图像,并且显示与重叠在所获取的图像数据上的虚拟图像对应的预定效果,作为所述引导信息。
(3)根据(2)所述的信息处理系统,其中,与重叠在所获取的图像数据上的虚拟图像对应的所述预定效果指示在所显示的获取的图像数据的多个区域中的每个区域中的增强现实处理的稳定性水平。
(4)根据(1)至(3)中的任意一项所述的信息处理系统,其中,所述显示控制单元被配置成通过控制所述显示器显示重叠在所显示的获取的图像数据上的虚拟对象来执行增强现实处理。
(5)根据(1)至(4)中的任意一项所述的信息处理系统,其中,所述识别单元被配置成连续地跟踪所获取的图像数据中包括的特征点,以绘制与所获取的图像数据对应的真实空间的地图。
(6)根据(1)至(5)中的任意一项所述的信息处理系统,其中,所述显示控制单元被配置成显示用于对所述图像拍摄装置进行导航以使 得所拍摄的图像数据中包括的特征点的数量超过预定阈值的指令,作为所述引导信息。
(7)根据(1)至(6)中的任意一项所述的信息处理系统,其中,所述显示控制单元被配置成显示用于对所述图像拍摄装置进行导航以避免所述特征点偏向于所拍摄的图像数据的特定区域的状态的指令,作为所述引导信息。
(8)根据(1)至(7)中的任意一项所述的信息处理系统,其中,所述显示控制单元被配置成显示用于基于所述多个特征点的分布密度以预定速度对所述图像拍摄装置进行导航的指令,作为所述引导信息。
(9)根据(1)至(8)中的任意一项所述的信息处理系统,其中,所述识别单元被配置成确定所获取的图像数据的至少上部边缘区域、下部边缘区域、右部边缘区域和左部边缘区域中的多个特征点的密度。
(10)根据(9)所述的信息处理系统,其中,所述识别单元被配置成基于所获取的图像数据的至少所述上部边缘区域、所述下部边缘区域、所述右部边缘区域和所述左部边缘区域中的所确定的所述多个特征点的密度,预测如果在向上方向、向下方向、向右方向或向左方向中的至少一个方向上指引所述图像拍摄装置,在随后拍摄的图像数据中是否将存在超过预定阈值的数量的特征点。
(11)根据(10)所述的信息处理系统,其中,所述显示控制单元被配置成基于所述预测控制所述显示器显示所述引导信息。
(12)根据(5)所述的信息处理系统,其中,所述识别单元被配置成识别所述真实空间中所拍摄的图像数据中包括的特征点的数量超过预定阈值的至少一个区域。
(13)根据(12)所述的信息处理系统,其中,所述显示控制单元被配置成控制所述显示器显示用于将所述图像拍摄装置导航到所述真实空间中的所述至少一个区域的指令,作为所述引导信息,在所述至少一个区域中,所拍摄的图像数据中包括的特征点的数量超过所述预定阈值。
(14)根据(5)所述的信息处理系统,其中,所述识别单元被配置成识别所述真实空间中尚未拍摄其图像数据的至少一个区域。
(15)根据(14)所述的信息处理系统,其中,所述显示控制单元被配置成控制所述显示器显示用于将所述图像拍摄装置导航到所述真实空间中尚未拍摄其图像数据的所述至少一个区域的指令,作为所述引导信 息。
(16)根据(1)至(15)中的任意一项所述的信息处理系统,其中,所述显示控制单元被配置成控制所述显示器显示重叠在所显示的拍摄的图像数据上的虚拟图像,作为所述引导信息。
(17)根据(16)所述的信息处理系统,其中,所述显示控制单元被配置成基于所述多个特征点的分布密度,控制所述显示器在与所述图像拍摄装置的推荐导航方向对应的方向上移动重叠在所显示的获取的图像数据上的虚拟图像。
(18)根据(1)至(17)中的任意一项所述的信息处理系统,其中,所述显示控制单元被配置成控制所述显示器显示重叠在所显示的获取的图像数据上的虚拟图像,作为所述引导信息,所述虚拟图像指示所显示的获取的图像数据中的增强现实处理的稳定性水平。
(19)根据(4)所述的信息处理系统,其中,所述虚拟对象被配置成由用户输入的指令来控制,并且所述显示控制单元被配置成控制所述显示器显示与所述用户输入的用于控制所述虚拟对象的指令相反的指令,作为所述引导信息。
(20)一种信息处理方法,包括:获取由图像拍摄装置拍摄的图像数据;识别所获取的图像数据中的多个特征点的分布密度;以及基于所述多个特征点的分布密度来控制显示器显示引导信息。
(21)一种包括计算机程序指令的非暂态计算机可读介质,所述计算机程序指令当由电路执行时使得所述电路执行以下步骤:获取由图像拍摄装置拍摄的图像数据;识别所获取的图像数据中的多个特征点的分布密度;以及基于所述多个特征点的分布密度来控制显示器显示引导信息。
本公开包含与2012年4月23日向日本专利局提交的日本优先权专利申请JP2012-097714中公开的主题相关的主题,其全部内容通过引用合并于此。
附图标记列表
100 图像处理设备
102 图像拍摄单元
120 图像获取单元
130 识别单元
162 特征点地图
170 应用单元
180 显示控制单元

信息处理系统、信息处理方法和程序.pdf_第1页
第1页 / 共44页
信息处理系统、信息处理方法和程序.pdf_第2页
第2页 / 共44页
信息处理系统、信息处理方法和程序.pdf_第3页
第3页 / 共44页
点击查看更多>>
资源描述

《信息处理系统、信息处理方法和程序.pdf》由会员分享,可在线阅读,更多相关《信息处理系统、信息处理方法和程序.pdf(44页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103377374 A (43)申请公布日 2013.10.30 CN 103377374 A *CN103377374A* (21)申请号 201310130640.X (22)申请日 2013.04.16 2012-097714 2012.04.23 JP G06K 9/46(2006.01) (71)申请人 索尼公司 地址 日本东京都 (72)发明人 福地正树 多井坚一郎 柏谷辰起 (74)专利代理机构 北京集佳知识产权代理有限 公司 11227 代理人 李春晖 李德山 (54) 发明名称 信息处理系统、 信息处理方法和程序 (57) 摘要 本申请公开了一种信息。

2、处理系统、 信息处理 方法和程序, 该信息处理系统包括 : 图像获取单 元, 被配置成获取由图像拍摄装置拍摄的图像数 据 ; 识别单元, 被配置成识别所获取的图像数据 中的多个特征点的分布密度 ; 以及显示控制单 元, 被配置成基于多个特征点的分布密度来控制 显示器显示引导信息。 (30)优先权数据 (51)Int.Cl. 权利要求书 2 页 说明书 19 页 附图 22 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书19页 附图22页 (10)申请公布号 CN 103377374 A CN 103377374 A *CN103377374A* 1/2 。

3、页 2 1. 一种信息处理系统, 包括 : 图像获取单元, 被配置成获取由图像拍摄装置拍摄的图像数据 ; 识别单元, 被配置成识别所获取的图像数据中的多个特征点的分布密度 ; 以及 显示控制单元, 被配置成基于所述多个特征点的分布密度来控制显示器显示引导信 息。 2. 根据权利要求 1 所述的信息处理系统, 其中, 所述显示控制单元被配置成控制所述显示器显示重叠在所显示的获取的图像数据上 的虚拟图像, 并且显示与重叠在所获取的图像数据上的虚拟图像对应的预定效果, 作为所 述引导信息。 3. 根据权利要求 2 所述的信息处理系统, 其中, 与重叠在所获取的图像数据上的虚拟图像对应的所述预定效果指。

4、示在所显示的获取 的图像数据的多个区域中的每个区域中的增强现实处理的稳定性水平。 4. 根据权利要求 1 所述的信息处理系统, 其中, 所述显示控制单元被配置成通过控制所述显示器显示重叠在所显示的获取的图像数 据上的虚拟对象来执行增强现实处理。 5. 根据权利要求 1 所述的信息处理系统, 其中, 所述识别单元被配置成连续地跟踪所获取的图像数据中包括的特征点, 以绘制与所获 取的图像数据对应的真实空间的地图。 6. 根据权利要求 1 所述的信息处理系统, 其中, 所述显示控制单元被配置成显示用于对所述图像拍摄装置进行导航以使得所拍摄的 图像数据中包括的特征点的数量超过预定阈值的指令, 作为所述。

5、引导信息。 7. 根据权利要求 1 所述的信息处理系统, 其中, 所述显示控制单元被配置成显示用于对所述图像拍摄装置进行导航以避免所述特征 点偏向于所拍摄的图像数据的特定区域的状态的指令, 作为所述引导信息。 8. 根据权利要求 1 所述的信息处理系统, 其中, 所述显示控制单元被配置成显示用于基于所述多个特征点的分布密度以预定速度对 所述图像拍摄装置进行导航的指令, 作为所述引导信息。 9. 根据权利要求 1 所述的信息处理系统, 其中, 所述识别单元被配置成确定所获取的图像数据的至少上部边缘区域、 下部边缘区域、 右部边缘区域和左部边缘区域中的多个特征点的密度。 10. 根据权利要求 9 。

6、所述的信息处理系统, 其中, 所述识别单元被配置成基于所获取的图像数据的至少所述上部边缘区域、 所述下部边 缘区域、 所述右部边缘区域和所述左部边缘区域中的所确定的所述多个特征点的密度, 预 测如果在向上方向、 向下方向、 向右方向或向左方向中的至少一个方向上指引所述图像拍 摄装置, 在随后拍摄的图像数据中是否将存在超过预定阈值的数量的特征点。 11. 根据权利要求 10 所述的信息处理系统, 其中, 所述显示控制单元被配置成基于所述预测控制所述显示器显示所述引导信息。 12. 根据权利要求 5 所述的信息处理系统, 其中, 所述识别单元被配置成识别所述真实空间中所拍摄的图像数据中包括的特征点。

7、的数 权 利 要 求 书 CN 103377374 A 2 2/2 页 3 量超过预定阈值的至少一个区域。 13. 根据权利要求 12 所述的信息处理系统, 其中, 所述显示控制单元被配置成控制所述显示器显示用于将所述图像拍摄装置导航到所 述真实空间中的所述至少一个区域的指令, 作为所述引导信息, 在所述至少一个区域中, 所 拍摄的图像数据中包括的特征点的数量超过所述预定阈值。 14. 根据权利要求 5 所述的信息处理系统, 其中, 所述识别单元被配置成识别所述真实空间中尚未拍摄其图像数据的至少一个区域。 15. 根据权利要求 14 所述的信息处理系统, 其中, 所述显示控制单元被配置成控制所。

8、述显示器显示用于将所述图像拍摄装置导航到所 述真实空间中尚未拍摄其图像数据的所述至少一个区域的指令, 作为所述引导信息。 16. 根据权利要求 1 所述的信息处理系统, 其中, 所述显示控制单元被配置成控制所述显示器显示重叠在所显示的拍摄的图像数据上 的虚拟图像, 作为所述引导信息。 17. 根据权利要求 16 所述的信息处理系统, 其中 所述显示控制单元被配置成基于所述多个特征点的分布密度, 控制所述显示器在与所 述图像拍摄装置的推荐导航方向对应的方向上移动重叠在所显示的获取的图像数据上的 虚拟图像。 18. 根据权利要求 1 所述的信息处理系统, 其中, 所述显示控制单元被配置成控制所述显。

9、示器显示重叠在所显示的获取的图像数据上 的虚拟图像, 作为所述引导信息, 所述虚拟图像指示所显示的获取的图像数据中的增强现 实处理的稳定性水平。 19. 根据权利要求 4 所述的信息处理系统, 其中, 所述虚拟对象被配置成由用户输入的指令来控制, 并且所述显示控制单元被配置成控 制所述显示器显示与所述用户输入的用于控制所述虚拟对象的指令相反的指令, 作为所述 引导信息。 20. 一种信息处理方法, 包括 : 获取由图像拍摄装置拍摄的图像数据 ; 识别所获取的图像数据中的多个特征点的分布密度 ; 以及 基于所述多个特征点的分布密度来控制显示器显示引导信息。 21. 一种包括计算机程序指令的非暂态。

10、计算机可读介质, 所述计算机程序指令当由电 路执行时使得所述电路执行以下步骤 : 获取由图像拍摄装置拍摄的图像数据 ; 识别所获取的图像数据中的多个特征点的分布密度 ; 以及 基于所述多个特征点的分布密度来控制显示器显示引导信息。 权 利 要 求 书 CN 103377374 A 3 1/19 页 4 信息处理系统、 信息处理方法和程序 技术领域 0001 本公开涉及一种信息处理系统、 信息处理方法和程序。 背景技术 0002 近年来, 已关注于称为增强现实 (AR) 的技术, 该技术通过将附加信息重叠在真实 空间上来将这样的信息呈现给用户。通过 AR 技术呈现给用户的信息也称为批注并且可使 。

11、用多种形式 (诸如文本、 图标和动画) 的虚拟对象来可视化。AR 空间中的批注的布置通常是 基于对出现在图像中的真实空间的三维结构的识别 (以下称为 “环境识别” ) 来执行的。公 知的环境识别方法包括例如 SLAM(即时定位与地图构建) 和 SfM(来自运动的结构) 。在下 述 NPL1 中描述了 SLAM 的基本原理。根据 SLAM, 与输入图像中的改变一致地动态更新的一 组特征点用于同时执行特征点的位置识别和环境中的摄像装置的位置和姿势的识别。 对于 SfM, 根据所拍摄的多个图像中出现的特征点的位置来计算视差, 同时基于算出的视差来识 别视点改变和环境。PTL1 公开了一种使用 SfM。

12、 来识别在 SLAM 的初始化期间所选择的特征 点的三维位置的方法。PTL2 公开了可通过应用 SLAM 来实现的 AR 应用的示例。 0003 引用列表 0004 专利文献 0005 PTL1JP2009-237845A 0006 PTL2JP2011-159162A 0007 非专利文献 0008 NPL1Andrew J.Davison,“Real-Time Simultaneous Localization and Mapping with a Single Camera” , Proceedings of the 9th IEEE International Conference o。

13、n Computer Vision Volume2,2003,pp.1403-1410. 发明内容 0009 技术问题 0010 基于图像中的一组特征点的环境识别技术的精度取决于图像中的特征点的分布。 随着特征点的数量增加, 识别的稳定性也增加。 如果特征点的数量过低, 则可能变得不再能 够跟踪环境。另外, 当图像中的特征点的数量相同时, 特征点的分布的偏向性越大, 则识别 变得越不稳定。 然而, 使用AR应用的用户通常没有环境识别技术的这种特性的知识。 因此, 当向用户提供 AR 应用时, 存在如下情形的实际风险 : 在该情形中, 由于用户将终端 (或摄像 装置) 指向不利于环境识别技术的方。

14、向而导致环境识别变得不稳定并且阻碍对AR应用的使 用。 0011 因此, 当向用户提供 AR 应用时, 期望提供能够避免上述情形的架构。 0012 问题的解决方案 0013 根据第一示例性实施例, 本公开涉及一种信息处理系统, 包括 : 图像获取单元, 被 配置为获取由图像拍摄装置拍摄的图像数据 ; 识别单元, 被配置为识别所获取的图像数据 说 明 书 CN 103377374 A 4 2/19 页 5 中的多个特征点的分布密度 ; 以及显示控制单元, 被配置为基于多个特征点的分布密度而 控制显示器显示引导信息。 0014 根据另一示例性实施例, 本公开涉及一种信息处理方法, 包括 : 获取由。

15、图像拍摄装 置拍摄的图像数据 ; 识别所获取的图像数据中的多个特征点的分布密度 ; 以及基于多个特 征点的分布密度而控制显示器显示引导信息。 0015 根据另一示例性实施例, 本公开涉及一种包括计算机程序指令的非暂态计算机可 读介质, 该计算机程序指令当由电路执行时, 使得电路执行以下步骤 : 获取由图像拍摄装置 拍摄的图像数据 ; 识别所获取的图像数据中的多个特征点的分布密度 ; 以及基于多个特征 点的分布密度而控制显示器显示引导信息。 0016 本发明的有利效果 0017 根据本公开的以上实施例, 当向用户提供 AR 应用时, 可以避免环境识别变得不稳 定并且阻碍对 AR 应用的使用的情形。

16、。 附图说明 0018 图 1 是用于说明根据本公开的一个实施例的图像处理设备的概况的图。 0019 图 2 是用于说明用于环境识别的特征点的图。 0020 图 3 是用于说明特征点的分布与环境识别的稳定性之间的关系的图。 0021 图 4 是示出根据本实施例的图像处理设备的硬件配置的一个示例的框图。 0022 图 5 是示出根据本实施例的图像处理设备 100 的逻辑功能配置的示例的框图。 0023 图 6 是示出由图 5 所示的 SLAM 计算单元执行的 SLAM 计算处理的流程的一个示例 的流程图。 0024 图 7 是用于说明真实对象上设置的特征点的图。 0025 图 8 是用于说明特征。

17、点的添加的图。 0026 图 9 是用于说明预测模型的一个示例的图。 0027 图 10 是用于说明特征数据的构成的一个示例的图。 0028 图 11 是用于说明根据特征点的分布来判定导航方向的第一方法的图。 0029 图 12 是用于说明根据特征点的分布来判定导航方向的第二方法的图。 0030 图 13 是用于说明由自主操作代理进行的导航的第一示例的图。 0031 图 14 是用于说明由自主操作代理进行的导航的第二示例的图。 0032 图 15 是用于说明由自主操作代理进行的导航的第三示例的图。 0033 图 16 是用于说明由虚拟指示进行的导航的第一示例的图。 0034 图 17 是用于说。

18、明由虚拟指示进行的导航的第二示例的图。 0035 图 18 是用于说明由虚拟指示进行的导航的第三示例的图。 0036 图 19 是用于说明由用户操作代理进行的导航的示例的图。 0037 图 20 是示出根据本实施例的图像处理的总体流程的一个示例的流程图。 0038 图 21 是示出当使用自主操作代理时的导航控制处理的流程的一个示例的流程 图。 0039 图 22 是示出在使用虚拟指示的情况下的导航控制处理的流程的示例的流程图。 0040 图 23 是示出在使用用户操作代理的情况下的导航控制处理的流程的示例的流程 说 明 书 CN 103377374 A 5 3/19 页 6 图。 具体实施方式。

19、 0041 在下文中, 将参照附图来详细描述本公开的优选实施例。 注意, 在该说明书和附图 中, 具有基本上相同的功能和结构的结构元件用相同的附图标记来指示, 并且省略对这些 结构元件的重复说明。 0042 按下述顺序给出以下描述 : 0043 1概况 0044 2根据一个实施例的设备的配置 0045 2-1硬件配置 0046 2-2功能配置 0047 2-3导航的示例 0048 2-4处理的流程 0049 3结论 0050 1概况 0051 首先将参照图 1 至 3 给出本公开的实施例的概况。 0052 图 1 是用于说明根据本公开的一个实施例的图像处理设备 100 的概况的图。在图 1 中。

20、, 示出了用户 Ua 持有的图像处理设备 100。图像处理设备 100 包括具有指向真实空间 10 的镜头的图像拍摄单元 102 和显示单元 110。在图 1 的示例中, 在真实空间 10 中存在包 括桌子 14 的多种真实对象。图像处理设备 100 的图像拍摄单元 102 拍摄真实空间 10 的图 像。这样拍摄的图像可显示在显示单元 110 上。图像处理设备 100 可包括执行 AR 应用的 控制单元 (未示出) 。这样的 AR 应用接收由图像拍摄单元 102 拍摄的图像作为输入图像, 将 虚拟对象重叠在这样的图像上, 并且将结果输出到显示单元 110。在图 1 的示例中, 将虚拟 对象 V。

21、O1 重叠在输出图像 Im01 上, 以使得虚拟对象 VO1 看起来就像其存在于桌子 14 上一 样。 0053 在图 1 中, 示出了移动终端作为图像处理设备 100 的一个示例。然而, 图像处理设 备 100 不限于这样的示例。作为其它示例, 图像处理设备 100 可以是 PC (个人计算机) 、 PDA (个人数字助理) 、 智能电话、 游戏终端、 便携式导航装置 (PND) 、 内容播放器或者数字家庭电 器。另外, 取代在用户操作的终端上运行, AR 应用可在能够与该终端通信的其它设备 (诸如 应用服务器) 上运行。 0054 为了在 AR 应用中适当地将虚拟对象重叠到图像上, 重要的。

22、是至少以特定的精度 水平来识别终端 (尤其是图像拍摄单元 102) 相对于真实空间的位置和姿势。作为用于这样 的环境识别的技术, 基于图像中的一组特征点的技术是公知的。作为一个示例, 根据 SLAM, 与输入图像的改变一致地动态更新的一组特征点用于同时执行特征点的位置的识别和环 境中的摄像装置的位置和姿势的识别。 对于SfM, 根据所拍摄的多个图像中出现的特征点的 位置来计算视差, 同时基于计算出的视差来识别视点改变和环境。 0055 然而, 基于图像中的一组特征点的环境识别的精度取决于特征点的分布。随着特 征点的数量增加, 识别的稳定性也增加。 如果特征点的数量过低, 则可能变得不再能够跟踪。

23、 环境并且变得难以判定在何处重叠虚拟对象。 另外, 当图像中的特征点的数量相同时, 特征 说 明 书 CN 103377374 A 6 4/19 页 7 点的分布的偏向性越大, 则识别变得越不稳定, 从而导致诸如虚拟对象的不规则移动的阻 碍。 0056 图 2 是用于说明用于环境识别的特征点的图。图 2 再次示出了图 1 中所示的真实 空间 10。图 2 中的星形符号表示具有被检测作为真实空间 10 中的特征点的高概率的点。 根据图可以理解, 在区域 12a 和 12b 中不存在特征点。因此, 如果例如拍摄输入图像以使得 仅区域 12a 或区域 12b 出现在整个图像中, 则这将导致环境识别失。

24、败并且 AR 应用不能正常 工作的情形。 0057 现在将参照图 3 进一步描述特征点的分布与环境识别的稳定性之间的关系。在图 3 中, 用圆形框示出了真实空间 10 的抽象概念, 并且用星形符号表示真实空间 10 中的特征 点。 这里, 假设当前的摄像装置角度指向圆形框的中心。 大量特征点出现在此时拍摄的图像 Im10 中, 其中这样的特征点比较均匀地分布在整个图像中。因此, 通过使用图像 Im10, 可以 以比较高的稳定性识别环境。 如果此后用户向上移动摄像装置角度, 则将拍摄到图像Im11。 如果用户向下移动摄像装置角度, 则将拍摄到图像Im12。 在图像Im11和图像Im12中, 多个。

25、 特征点比较均匀地分布在整个图像中。 相反, 如果用户向左移动摄像装置角度, 则将拍摄到 图像 Im13。在图像 Im13 中没有出现特征点。在该情况下, 环境识别可能失败。另外, 如果 用户向右移动摄像装置角度, 则将拍摄到图像 Im14。尽管多个特征点出现在图像 Im14 中, 但是这样的特征点将偏向于图像的上部。 在该情况下, 环境识别可能变得不稳定 (对于图像 Im14 的示例, 尽管可以以足够的精度来判定摄像装置在偏航 (yaw) 方向上的姿势 (旋转角 度) , 但是对于摄像装置在俯仰方向上的姿势没有实现足够的精度) 。因此, 对于使用基于一 组特征点的环境识别技术的 AR 应用,。

26、 更优选的是用户在向上方向或向下方向上移动摄像 装置角度而不是向左或向右移动摄像装置角度。 0058 为此, 如以下详细描述的, 本公开的以下实施例提供了用于对 AR 应用的用户进行 导航以便稳定基于一组特征点的环境识别的导航架构。 0059 2根据一个实施例的设备的配置 0060 现在将描述根据本实施例的图像处理设备 100 的示例配置。该说明将关注于使用 SLAM 来识别终端相对于真实空间的位置和姿势的示例。然而, 以下描述的实施例不限于这 样的示例, 而是可与基于特征点来执行环境识别的任何其它技术相结合。 0061 2-1. 硬件配置 0062 图 4 是示出根据一个实施例的图像处理设备。

27、 100 的硬件配置的一个示例的框图。 如图4所示, 图像处理设备100包括图像拍摄单元102、 传感器单元104、 输入单元106、 存储 单元 108、 显示单元 110、 通信单元 112、 总线 116 和控制单元 118。 0063 (1) 图像拍摄单元 0064 图像拍摄单元 102 是拍摄图像的摄像装置模块。图像拍摄单元 102 使用诸如 CCD (电荷耦合器件) 或 CMOS(互补金属氧化物半导体) 的图像拍摄元件来拍摄真实空间的图像 以生成拍摄图像。由图像拍摄单元 102 所生成的拍摄图像用作由控制单元 118 执行的图像 处理的输入图像。注意, 图像拍摄单元 102 不需要。

28、是图像处理设备 100 的一部分。作为一 个示例, 无线地或有线地连接到图像处理设备 100 的图像拍摄设备可被视为图像拍摄单元 102。 0065 (2) 传感器单元 说 明 书 CN 103377374 A 7 5/19 页 8 0066 传感器单元 104 可包括多种传感器, 比如定位传感器、 加速度传感器和陀螺仪传 感器。由传感器单元 104 获得的测量结果可用在多种应用中, 比如支持环境识别、 获取特定 于地理位置的数据以及检测用户输入。注意, 可从图像处理设备 100 的配置中省略传感器 单元 104。 0067 (3) 输入单元 0068 输入单元 106 是用户用于操作图像处理。

29、设备 100 或将信息输入到图像处理设备 100 中的输入装置。作为一个示例, 输入单元 106 可包括触摸传感器, 该触摸传感器检测用 户在显示单元 110 的屏幕上进行的触摸。取代触摸传感器 (或除触摸传感器之外) , 输入单 元 106 可包括诸如鼠标或触摸板的指向装置。另外, 输入单元 106 可包括其它类型的输入 装置, 诸如键盘、 小键盘、 一个或多个按钮或者一个或多个开关。 0069 (4) 存储单元 0070 存储单元 108 由存储介质比如半导体存储器或硬盘驱动器构成, 并且存储用于图 像处理设备 100 的处理的程序和数据。存储单元 108 存储的数据可包括稍后描述的拍摄图。

30、 像数据、 传感器数据以及多种数据库 (DB) 中的数据。注意, 取代存储在存储单元 108 中, 本 说明书中描述的程序和数据中的一些可从外部数据源 (作为示例, 数据服务器、 网络存储或 外部存储器) 获取。 0071 (5) 显示单元 0072 显示单元 110 是包括比如 LCD(液晶显示器) 、 OLED(有机发光二极管) 或 CRT(阴 极射线管) 的显示器的显示模块。作为一个示例, 显示单元 110 用于显示由图像处理设备 100 生成的 AR 应用的图像。注意, 显示单元 110 不需要是图像处理设备 100 的一部分。作 为一个示例, 无线地或有线地连接到图像处理设备 100。

31、 的显示设备可被视为显示单元 110。 0073 (6) 通信单元 0074 通信单元112是用作用于图像处理设备100与其它设备进行通信的中介器的通信 接口。通信单元 112 支持任意无线通信协议或有线通信协议并且建立与其它设备的通信连 接。 0075 (7) 总线 0076 总线 116 将图像拍摄单元 102、 传感器单元 104、 输入单元 106、 存储单元 108、 显示 单元 110、 通信单元 112 和控制单元 118 相互连接。 0077 (8) 控制单元 0078 控制单元 118 对应于比如 CPU(中央处理单元) 或 DSP(数字信号处理器) 的处理 器。通过执行存储。

32、在存储单元 108 或其它存储介质中的程序, 控制单元 118 使得图像处理 设备 100 以如稍后所述的多种方式起作用。 0079 2-2功能配置 0080 图 5 是示出了由图 4 所示的图像处理设备 100 的存储单元 108 和控制单元 118 实 现的逻辑功能的配置示例的框图。如图 5 所示, 图像处理设备 100 包括图像获取单元 120、 数据获取单元 125、 识别单元 130、 地图数据库 (DB) 160、 地图管理单元 165、 应用单元 170 和 显示控制单元 180。 0081 (1) 图像获取单元 0082 图像获取单元 120 获取由图像拍摄单元 102 生成的。

33、拍摄图像作为输入图像。图像 说 明 书 CN 103377374 A 8 6/19 页 9 获取单元 120 所获取的输入图像是出现真实空间的图像。输入图像通常是构成视频的单独 帧。图像获取单元 120 将所获取的输入图像输出到识别单元 130 和显示控制单元 180。 0083 (2) 数据获取单元 0084 数据获取单元 125 获取要用在识别单元 130 执行的环境识别和应用单元 170 执行 的 AR 应用的提供中的数据。作为示例, 数据获取单元 125 可获取由传感器单元 104 生成的 传感器数据、 与真实对象有关的数据和与虚拟对象有关的数据。 0085 (3) SLAM 计算单元。

34、 0086 识别单元130基于出现在图像获取单元120所获取的输入图像中的至少一个特征 点的 (一个或更多个) 位置来识别图像拍摄单元 102 相对于真实空间的位置和姿势。在本实 施例中, 识别单元 130 包括 SLAM 计算单元 135、 对象 DB140 和图像识别单元 145。 0087 SLAM 计算单元 135 执行根据 SLAM 的计算以动态地识别来自单目摄像装置的输入 图像中出现的真实空间的三维结构并且识别图像拍摄单元 102 的位置和姿势。 0088 首先, 将参照图6描述由SLAM计算单元135执行的SLAM计算处理的总体流程。 此 后, 将参照图 7 至 10 详细描述 。

35、SLAM 计算处理。 0089 图 6 是示出由 SLAM 计算单元 135 执行的 SLAM 计算处理的流程的一个示例的流程 图。在图 6 中, 当 SLAM 计算处理开始时, SLAM 计算单元 135 首先执行初始化处理以初始化 状态变量 (步骤 S10) 。在本实施例中, 表述 “状态变量” 指的是包括摄像装置的位置和姿势 (旋转角度) 、 摄像装置的移动速度和角速度以及至少一个特征点的位置作为元素的矢量。 将图像获取单元 120 所获取的输入图像接连输入到 SLAM 计算单元 135 中 (步骤 S20) 。可针 对每个输入图像 (即, 针对每个帧) 重复从步骤 S30 至步骤 S5。

36、0 的处理。 0090 在步骤 S30 中, SLAM 计算单元 135 跟踪出现在输入图像中的特征点。例如, SLAM 计算单元 135 将新的输入图像与预先获取的每个特征点的补丁 (patch) (例如, 以特征点为 中心的 33=9 个像素的小图像) 进行匹配。SLAM 计算单元 135 然后检测输入图像中的补 丁的位置, 即特征点的位置。这里所检测的特征点的位置在稍后更新状态变量时使用。 0091 在步骤 S40 中, SLAM 计算单元 135 例如基于指定的预测模型生成下一帧中的状态 变量的预测值。另外, 在步骤 S50 中, SLAM 计算单元 135 使用在步骤 S40 中所生。

37、成的状态变 量的预测值和与在步骤 S30 中所检测的特征点的位置一致的观察值来更新状态变量。SLAM 计算单元 135 基于扩展的卡尔曼滤波器的原理来执行步骤 S40 和 S50 中的处理。 0092 作为这样的处理的结果, 输出在每个帧中更新的状态变量的值。现在将更详细地 描述状态变量的初始化 (步骤 S10) 、 特征点的跟踪 (步骤 S30) 、 状态变量的预测 (步骤 S40) 和状态变量的更新 (步骤 S50) 的相应的处理内容。 0093 (3-1) 状态变量的初始化 0094 在SLAM计算单元135所使用的状态变量的元素之中, 摄像装置的位置、 姿势、 移动 速度和角速度的初始。

38、值可以为零或任意其它值。另外, 从输入图像中选择多个特征点。作 为示例, 这里所选择的特征点可以是在图像中动态地检测的点 (例如, 纹理的边缘和拐角) 或者可以是针对初始化目的而预先设置的已知点。也可根据诸如 SfM 的方法来计算特征点 的三维位置。SLAM 计算单元 135 使用这样初始化的元素来构造状态变量。 0095 (3-2) 特征点的跟踪 0096 使用可能存在于真实空间中的真实对象的外观上出现的至少一个特征点的补丁 说 明 书 CN 103377374 A 9 7/19 页 10 数据来执行特征点的跟踪。在图 7 中, 作为真实对象的两个示例, 示出了柜子 (在图中的左 侧) 和日。

39、历 (在图中的右侧) 。在每个真实对象上设置至少一个特征点 (FP) 。作为一个示例, 特征点 FP1 是设置在柜子上的特征点, 并且定义了与特征点 FP1 相关联的补丁 Pth1。以此 方式, 特征点 FP2 是设置在日历上的特征点, 并且定义了与特征点 FP2 相关联的补丁 Pth2。 0097 SLAM 计算单元 135 将在初始化处理中所选择的特征点的补丁数据或此后新选择 的特征点的补丁数据与输入图像中所包括的局部图像进行匹配。作为这样的匹配的结果, SLAM 计算单元 135 指定输入图像中包括的特征点的位置 (例如, 所检测的补丁的中心像素 的位置) 。 0098 SLAM的一个特。

40、性是所跟踪的特征点随时间动态地改变。 例如, 在图8的示例中, 当 时间 T=t-1 时, 在输入图像中检测到六个特征点。接下来, 如果摄像装置的位置或姿势在时 间 T=t 处改变, 则在时间 T=t-1 处出现在输入图像中的六个特征点中的仅两个特征点出现 在输入图像中。在该情况下, SLAM 计算单元 135 可在输入图像中具有特性像素图案的位置 设置新特征点并且在随后的帧中在 SLAM 计算处理中使用这样的新特征点。作为一个示例, 对于图 8 所示的情况, 在时间 T=t 处, 在真实对象上设置四个新特征点。通过使用 SLAM 的 这种特性, 可以降低在预先设置特征点时所需的成本并且通过使。

41、用增加的大量特征点来提 高识别精度。 0099 (3-3) 状态变量的预测 0100 在本实施例中, SLAM 计算单元 135 使用在以下等式中表示的状态变量 X 作为要应 用于扩展卡尔曼滤波器的状态变量。 0101 数学式 1 0102 0103 如以下等式中所示, 等式 (1) 的状态变量 X 的第一个元素表示真实空间中的摄像 装置的三维位置。 0104 数学式 2 0105 0106 状态变量的第二个元素是具有与表示摄像装置的姿势的旋转矩阵对应的四元组 作为元素的四维矢量。注意, 取代四元组, 可使用欧拉角来表示摄像装置的姿势。另外, 状 态变量的第三和第四个元素分别表示摄像装置的移动。

42、速度和角速度。 0107 另外, 状态变量的第五和随后的元素每个分别表示特征点 FPi的三维位置 pi(其 说 明 书 CN 103377374 A 10 8/19 页 11 中, i=1N) 。注意, 如之前所述, 特征点的数量 N 可在处理期间改变。 0108 数学式 3 0109 0110 SLAM计算单元135基于在步骤S10中初始化的状态变量X的值或在先前帧中更新 的状态变量 X 的值, 生成最新的帧的状态变量的预测值。根据以下等式中所示的多维正态 分布, 根据扩展卡尔曼滤波器的状态等式来生成状态变量的预测值。 0111 数学式 4 0112 预测状态变量 0113 这里, F 是与。

43、系统的状态转移有关的预测模型, 并且 a 是预测条件。w 是高斯噪声 并且作为示例可包括模型近似误差和观察误差。高斯噪声 w 的平均值将通常为零。 0114 图9是用于说明根据本实施例的预测模型的示例的图。 如图9所示, 在根据本实施 例的预测模型中存在两个预测条件。首先, 作为第一条件, 假设特征点的三维位置不改变。 即, 如果时间 T 处的特征点 FP1 的三维位置被表示为 pT, 则满足以下关系。 0115 数学式 5 0116 pt pt-1 (5) 0117 接下来, 作为第二条件, 假设摄像装置的移动是均匀运动。即, 从时间 T=t-1 到时 间 T=t, 对于摄像装置的速度和角速。

44、度满足以下关系。 0118 数学式 6 0119 0120 0121 基于等式 (4) 所示的预测模型和状态等式, SLAM 计算单元 135 生成最新的帧的状 态变量的预测值。 0122 (3-4) 状态变量的更新 0123 SLAM 计算单元 135 然后使用观察等式来评估例如根据状态变量的预测值所预测 的观察信息与作为跟踪特征点的结果而获得的实际观察信息之间的误差。以下等式 (8) 中 的 Nu 是这样的误差。 0124 数学式 7 0125 观察信息 0126 预测误差信息 0127 这里, H 表示观察模型。例如, 图像拍摄平面 (u-v 平面) 上的特征点 FPi的位置由 以下等式。

45、来定义。 0128 数学式 8 说 明 书 CN 103377374 A 11 9/19 页 12 0129 图像拍摄平面上的特征点 FPi的位置 0130 这里, 摄像装置的位置 x、 摄像装置的姿势 和特征点 FPi的三维位置 pi都被提 供作为状态变量X的元素。 这样, 根据使用以下等式的针孔摄像装置模型找到特征点FPi在 图像拍摄平面上的位置。注意, 是用于归一化的参数, A 是摄像装置内部参数矩阵, 以及 具有下标 的 R 是与表示状态变量 X 中包括的摄像装置的姿势的四元组 对应的旋转矩 阵。 0131 数学式 9 0132 0133 因此, 通过搜索使得使用等式 (11) 推出的。

46、预测观察信息 (即, 各个特征点在图像拍 摄平面上的位置) 与在图 6 中的步骤 S30 中跟踪特征点的结果之间的误差最小化的状态变 量 X, 可以获得可用的最新状态变量 X。 0134 数学式 10 0135 最新状态变量 0136 SLAM 计算单元 135 将根据 SLAM 以此方式动态更新的状态变量 X 中所包括的参数 的值输出到地图管理单元 165 并且将这样的值存储在地图 DB160 中。 0137 (4) 对象 DB 0138 对象 DB140 是预先存储表示对象的特征的特征数据的数据库。存储在对象 DB140 中的特征数据用在图像识别单元 145 所执行的图像识别处理中。图 1。

47、0 是用于说明特征数 据的构成的一个示例的图。 0139 在图 10 中, 特征数据 141 被示出作为真实对象 RO1 的一个示例。特征数据 141 包 括对象 ID142a、 从六个方向拍摄的图像数据 142b、 补丁数据 142c 和三维形式数据 142d。 0140 对象 ID142a 是用于唯一地标识真实对象 RO1 的标识符。图像数据 142b 包括分别 从六个方向 (即, 前、 后、 左、 右、 上和下) 对真实对象 RO1 进行拍摄的六个图像的图像数据。 补丁数据 142c 是对于真实对象上设置的每个特征点的一组小图像, 其中, 每个小图像以相 应的特征点为中心。三维形式数据 。

48、142d 包括表示在真实对象 RO1 的本地坐标系中每个特 征点的三维位置的位置信息 (即, 每个特征点相对于在真实对象 RO1 上本地定义的原点的 位置) 。 0141 (5) 图像识别单元 0142 图像识别单元145使用由对象DB140存储的上述特征数据来识别出现在输入图像 中的真实对象。更具体地, 作为一个示例, 图像识别单元 145 将包括在图像获取单元 120 所 获取的输入图像中的局部图像与包括在特征数据中的每个特征点的补丁进行匹配, 以检测 包括在输入图像中的特征点。图像识别单元 145 可再次使用由 SLAM 计算单元 135 产生的 跟踪特征点的结果。接下来, 当已在图像的给定区域中以高密度检测到属于一个真实对象 的特征点时, 图像识别单元 145 可识别出这样的真实对象出现在该区域中。图像识别单元 145 还可基于所检测的特征点与图 10 所示的三维数据之间的位置关系来识别所识别的真 实对象的位置和姿势。基于图像识别单元 145 所识别的真实对象的位置和姿势以及 SLAM 说 明 书 CN 103377374 A 12 10/19 页 13 计算单元 135 所识别的图像拍摄单元 102 的位置和姿势, 实现在 SLAM 的初始化之后对真实 对象的位置和姿势的跟踪。图像识别单元 145 将以此方式跟踪的真实对象的位置和姿势输 出到地图管。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1