CN112135672A - 使用移动机器人通过动态相机定位和照明进行的空间捕获、建模和纹理重建 - Google Patents

使用移动机器人通过动态相机定位和照明进行的空间捕获、建模和纹理重建 Download PDF

Info

Publication number
CN112135672A
CN112135672A CN201880086628.4A CN201880086628A CN112135672A CN 112135672 A CN112135672 A CN 112135672A CN 201880086628 A CN201880086628 A CN 201880086628A CN 112135672 A CN112135672 A CN 112135672A
Authority
CN
China
Prior art keywords
local environment
robot
image
implementations
sensor data
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.)
Pending
Application number
CN201880086628.4A
Other languages
English (en)
Inventor
M.泰勒
E.贝兰
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 Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
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 Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of CN112135672A publication Critical patent/CN112135672A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/217Input arrangements for video game devices characterised by their sensors, purposes or types using environment-related information, i.e. information generated otherwise than by the player, e.g. ambient temperature or humidity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/174Segmentation; Edge detection involving the use of two or more images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/586Depth or shape recovery from multiple images from multiple light sources, e.g. photometric stereo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10141Special mode during image acquisition
    • G06T2207/10152Varying illumination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/61Scene description

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Environmental Sciences (AREA)
  • Optics & Photonics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Ecology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Hardware Design (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Manipulator (AREA)

Abstract

提供了一种方法,所述方法包括以下方法操作:使用具有多个传感器的机器人来获取关于本地环境的传感器数据;处理所述传感器数据以生成所述本地环境的空间模型,所述空间模型限定对应于所述本地环境中的真实表面的虚拟表面;进一步处理所述传感器数据以生成与由所述空间模型限定的所述虚拟表面相关联的纹理信息;跟踪头戴式显示器(HMD)在所述本地环境中的位置和取向;使用所述空间模型、所述纹理信息以及所述HMD的所跟踪的位置和取向来渲染对应于所述本地环境的虚拟空间的视图;通过所述HMD呈现虚拟环境的视图。

Description

使用移动机器人通过动态相机定位和照明进行的空间捕获、 建模和纹理重建
发明人:M.泰勒,E.贝兰
1.技术领域
本公开涉及使用移动机器人通过动态相机定位和照明进行的空间捕获、建模和纹理重建,以及相关方法、设备和系统。
背景技术
2.相关技术说明
视频游戏产业多年以来已发生了许多变化。随着计算能力的扩展,视频游戏的开发者同样创建了利用这些提高的计算能力的游戏软件。为此,视频游戏开发者一直在编码结合了复杂操作和数学运算的游戏,以产生非常详细且吸引人的游戏体验。
示例性游戏平台包括Sony
Figure BDA0002585314140000011
Sony
Figure BDA0002585314140000012
(PS2)、Sony
Figure BDA0002585314140000013
(PS3)和Sony
Figure BDA0002585314140000014
(PS4),它们各自以游戏控制台的形式出售。众所周知,游戏控制台被设计为连接到显示器(通常是电视机)并通过手持控制器实现用户交互。游戏控制台被设计有专用处理硬件,包括CPU、用于处理密集图形操作的图形合成器、用于执行几何变换的向量单元以及其他胶合硬件、固件和软件。游戏控制台可以进一步设计有光盘读取器,所述光盘读取器用于通过游戏控制台接收用于本地游戏的游戏光盘。还可以进行在线游戏,其中用户可以通过因特网与其他用户以交互方式进行游戏对抗或一起玩游戏。随着游戏的复杂性持续激发玩家的兴趣,游戏和硬件制造商持续进行革新以启用附加的交互和计算机程序。
计算机游戏产业中的增长趋势是开发增加用户与游戏系统之间的交互的游戏。实现更丰富的交互式体验的一种方式是使用无线游戏控制器,所述无线游戏控制器的移动由游戏系统跟踪以便跟踪玩家的移动并将这些移动用作游戏的输入。一般而言,手势输入是指使诸如计算系统、视频游戏控制台、智能家电等电子装置对由玩家做出并由电子装置捕获的一些手势做出反应。
实现更加有沉浸感的交互体验的另一种方式是使用头戴式显示器(HMD)。头戴式显示器由用户佩戴并且可以被配置为呈现各种图形,诸如虚拟空间的视图。在头戴式显示器上呈现的图形可以覆盖用户的大部分或甚至全部视野。因此,头戴式显示器可以为用户提供视觉沉浸式体验。
当头戴式显示器(HMD)以响应于用户移动的方式渲染虚拟环境的三维实时视图时,HMD提供沉浸式虚拟现实体验。佩戴HMD的用户被提供所有方向上的移动自由度,并因此可以经由HMD被提供虚拟环境在所有方向上的视图。生成用于在HMD上渲染的高质量视频(例如,高分辨率和高帧速率)所需的处理资源非常可观,因此可以由单独的计算装置(诸如个人计算机或游戏控制台)来处理。在这样的系统中,计算装置生成用于渲染到HMD的视频,并将视频传输到HMD。
然而,当佩戴HMD时,用户无法看到他们所处的本地环境。
正是在这种背景下,出现了本公开的实现方式。
发明内容
本公开的实现方式包括涉及使用移动机器人通过动态相机定位和照明进行的空间捕获、建模和纹理重建的装置、方法和系统。
在一些实现方式中,提供了一种方法,所述方法包括以下方法操作:使用具有多个传感器的机器人来获取关于本地环境的传感器数据;处理所述传感器数据以生成所述本地环境的空间模型,所述空间模型限定对应于所述本地环境中的真实表面的虚拟表面;进一步处理所述传感器数据以生成与由所述空间模型限定的所述虚拟表面相关联的纹理信息;跟踪头戴式显示器(HMD)在所述本地环境中的位置和取向;使用所述空间模型、所述纹理信息以及所述HMD的所跟踪的位置和取向来渲染对应于所述本地环境的虚拟空间的视图;通过所述HMD呈现虚拟环境的视图。
在一些实现方式中,所述HMD在所述本地环境中的所述位置限定所述虚拟空间的所述视图被渲染的视角。
在一些实现方式中,所述HMD在所述本地环境中的所述取向限定所述虚拟空间的所述视图的方向。
在一些实现方式中,渲染所述虚拟空间的所述视图包括使用与由所述空间模型限定的所述虚拟表面中的一个或多个相关联的所述纹理信息来渲染所述虚拟表面中的所述一个或多个。
在一些实现方式中,所述传感器包括至少一个图像捕获装置和至少一个深度相机,并且其中所述传感器数据包括由所述图像捕获装置捕获的图像数据和由所述深度相机捕获的深度数据。
在一些实现方式中,所述纹理信息包括漫反射映射、凹凸映射和/或高光映射中的一者或多者。
在一些实现方式中,使用所述机器人来获取传感器数据包括将所述机器人移动到所述本地环境内的多个位置,并且在所述位置中的每一个处使用所述机器人的所述传感器来感测所述本地环境并生成所述传感器数据。
在一些实现方式中,获取所述传感器数据包括从多个角度捕获所述本地环境中的真实表面的图像;并且处理所述传感器数据以生成所述纹理信息包括处理从所述多个角度捕获的所述图像,以生成由所述空间模型限定的对应于所述真实表面的给定虚拟表面的纹理信息。
在一些实现方式中,提供了一种方法,所述方法包括:使用机器人在本地环境中实现多个照明条件,并且使用所述机器人的多个传感器来在所述多个照明条件下获取关于所述本地环境的传感器数据;处理所述传感器数据以生成所述本地环境的空间模型,所述空间模型限定对应于所述本地环境中的真实表面的虚拟表面;进一步处理所述传感器数据以生成与由所述空间模型限定的所述虚拟表面相关联的纹理信息。
在一些实现方式中,使用所述机器人来实现所述多个照明条件包括通过所述机器人访问家居照明控制系统以控制所述本地环境中的一个或多个灯。
在一些实现方式中,使用所述机器人来实现所述多个照明条件包括使用包括在所述机器人中的灯来照亮所述本地环境的至少一部分。
在一些实现方式中,使用所述机器人来实现所述多个照明条件包括将所述机器人移动到一个或多个位置,以便阻挡来自所述本地环境中的光源的光以免其直接到达所述本地环境中的表面。
在一些实现方式中,所述传感器包括至少一个图像捕获装置和至少一个深度相机,并且其中所述传感器数据包括由所述图像捕获装置捕获的图像数据和由所述深度相机捕获的深度数据。
在一些实现方式中,所述纹理信息包括漫反射映射、凹凸映射和/或高光映射中的一者或多者。
在一些实现方式中,使用所述机器人来获取传感器数据包括将所述机器人移动到所述本地环境内的多个位置,并且在所述位置中的每一个处使用所述机器人的所述传感器来感测所述本地环境并生成所述传感器数据。
在一些实现方式中,提供了一种由机器人在本地环境中执行的方法,所述方法包括:通过位于所述本地环境中的第一位置处的所述机器人的图像捕获装置捕获所述本地环境的第一图像,其中捕获所述第一图像包括对所述本地环境中的真实表面的捕获;处理所述第一图像以确定所述真实表面的纹理信息,并进一步确定所述真实表面的所确定的纹理信息中存在可能误差;响应于确定所述可能误差,将所述机器人移动到第二位置,并通过所述图像捕获装置在所述第二位置处捕获所述本地环境的第二图像,其中捕获所述第二图像包括从由所述第二位置限定的视角对所述真实表面的捕获;处理所述第二图像以验证所述真实表面的所述所确定的纹理信息中的所述可能误差,并校正所述真实表面的所述所确定的纹理信息中的所述可能误差。
在一些实现方式中,处理所述第二图像以验证所述真实表面的所述所确定的纹理信息中的所述可能误差包括将所述第一图像的一部分与所述第二图像的对应部分进行比较,所述第一图像和所述第二图像的所述部分为所述真实表面的相同区域。
在一些实现方式中,校正所述可能误差包括基于对所述第二图像的所述处理替换所述真实表面的所述所确定的纹理信息的一部分。
在一些实现方式中,所述纹理信息限定颜色和表面结构中的一者或多者。
在一些实现方式中,提供了由机器人在本地环境中执行的方法,所述方法包括:通过位于所述本地环境中的第一位置处的所述机器人的深度相机捕获所述本地环境的第一深度图像;处理所述第一深度图像以确定所述本地环境的空间结构,并进一步确定所述本地环境的所确定的空间结构中存在可能误差;响应于确定所述可能误差,将所述机器人移动到第二位置,并通过所述深度相机在所述第二位置处捕获所述本地环境的第二深度图像,其中捕获所述第二深度图像包括从由所述第二位置限定的视角对所述本地环境的捕获;处理所述第二图像以验证所述所确定的空间结构中的所述可能误差,并校正所述所确定的空间结构中的所述可能误差。
在一些实现方式中,处理所述第二深度图像以验证所述所确定的空间结构中的所述可能误差包括将所述第一深度图像的一部分与所述第二深度图像的对应部分进行比较,所述第一深度图像和所述第二深度图像的所述部分为所述本地环境的相同区域。
在一些实现方式中,校正所述可能误差包括基于对所述第二图像的所述处理替换所述本地环境的所述所确定的空间结构的一部分。
通过结合附图以示例方式示出本公开原理进行的以下详细描述,本公开的其他方面和优点将变得显而易见。
附图说明
通过参考结合附图进行的以下描述,可以更好地理解本公开,在附图中:
图1A示出了根据本公开的实现方式的用于通过头戴式显示器(HMD)观看的三维(3D)空间和纹理重建的系统。
图1B示出了根据本公开的实现方式的机器人,该机器人从不同的角度捕获对象,以实现对对象的3D重建。
图1C概念性地示出了根据本公开的实现方式的机器人的俯视图,该机器人移动到本地环境中的各个位置以捕获表面的纹理。
图1D示出了根据本公开的实现方式的具有能够从多个视角捕获图像的多个相机的机器人。
图2示出了根据本公开的实现方式的机器人,该机器人被配置为捕获对象以实现对对象的3D重建。
图3示出了根据本公开的实现方式的本地环境中的机器人108,该本地环境具有包括可控灯的各种特征件。
图4概念性地示出了根据本公开的实现方式的用于调节本地环境中的照明条件的系统。
图5示出了根据本公开的实现方式的用于在捕获本地环境中的空间和纹理数据时使用移动机器人来克服可能误差的方法。
图6是根据本公开的实现方式的概念性地示出机器人的部件的示意图。
图7A至图7G示出了根据本公开的实现方式的各种类型的机器人。
图8示出了根据一个实施方案的用户与客户端系统介接并且所述客户端系统向被称为第二屏幕的第二屏幕显示器提供内容的一个示例。
图9是根据本公开的各种实施方案的游戏系统1400的框图。
具体实施方式
本公开的以下实现方式提供涉及使用移动机器人通过动态相机定位和照明进行的空间捕获、建模和纹理重建的装置、方法和系统。然而,对于本领域的技术人员来说,显而易见的是,本公开可在没有当前描述的一些或全部具体细节的情况下实践。在其他情况下,没有详细描述公知的过程操作以免不必要地使本公开模糊不清。
图1A示出了根据本公开的实现方式的用于通过头戴式显示器(HMD)观看的三维(3D)空间和纹理重建的系统。在所示实现方式中,用户100被示为与在头戴式显示器105上渲染的虚拟空间/环境的视图交互。通过示例而非限制性的方式,HMD的一个示例是
Figure BDA0002585314140000081
VR头戴设备。在一些实现方式中,所述虚拟空间是视频游戏的虚拟空间。在其他实现方式中,虚拟空间是提供用户可以与其交互的虚拟空间或虚拟环境的任何类型的应用或平台的虚拟空间,所述应用或平台非限制性地包括本地执行的交互应用、云执行的应用、云平台、社交网络、网站、电信平台、视频会议、在线聊天室等。应理解,支持虚拟空间的此类应用或平台可以被配置为容纳同时地在同一虚拟空间中交互的多个用户。
在一些实现方式中,生成虚拟空间的交互式应用(例如,视频游戏)由本地计算装置106执行。计算装置可以是可以被配置为执行交互式应用以生成虚拟空间的任何种类的装置,所述装置非限制性地包括游戏控制台、个人计算机、膝上型计算机、机顶盒、平板计算机、蜂窝电话、便携式游戏装置等。在一些实现方式中,计算装置106连接到网络,诸如局域网、广域网、WiFi网络、蜂窝网络、因特网等。
在一些实现方式中,计算装置106是瘦客户端,所述瘦客户端通过网络(例如,因特网)与云服务提供商通信以获得在HMD 105上渲染的虚拟空间的视图。也就是说,交互式应用由云服务提供商执行以生成虚拟空间,并且描绘虚拟空间的主视图的视频数据通过网络(例如,因特网)流式传输到计算装置106,所述计算装置106然后处理视频数据以将视图渲染到HMD 105。
在一些实现方式中,计算装置106的功能被结合到HMD 105或显示器104中。
为了与通过HMD 105观看的虚拟空间进行交互,用户100可以操作输入装置102。输入装置102可以是用于提供与虚拟空间交互的输入的任何类型的装置,非限制性地包括控制器、运动控制器、键盘、鼠标、触控板、指针、操纵杆、游戏外围装置等。在一些实现方式中,其中所述虚拟空间是视频游戏,输入装置102使得用户100能够向视频游戏提供输入,以实现视频游戏的游戏状态的改变,诸如通过控制视频游戏的玩游戏过程的情景中(例如,角色或其他虚拟对象)的动作。通过示例而非限制性的方式,输入装置的示例可以包括视频游戏控制器装置,诸如
Figure BDA0002585314140000091
4无线控制器、
Figure BDA0002585314140000092
Move运动控制器和
Figure BDA0002585314140000093
VR射击控制器。
在一些实现方式中,图像捕获装置107被配置为捕获系统所设置在的交互式本地环境110的图像。图像捕获装置的一个示例是
Figure BDA0002585314140000094
Camera。计算装置106可以被配置为处理和分析所捕获的图像,以通过示例而非限制性的方式,确定本地环境101中的对象(诸如输入装置102)的位置/取向。在一些实现方式中,输入装置102可以包括在所捕获的图像中被辨识并且被跟踪的可跟踪特征(诸如光或其他可辨识特征),从而提供对输入装置102在本地环境101中的位置/取向的跟踪。此外,由图像捕获装置107捕获的图像可以被分析以识别并且跟踪用户100。
如上所述,因为用户100正在佩戴HMD 105,所以用户100不能看到本地环境110。因此,捕获和建模本地环境(包括本地环境内的任何表面/对象)是有用的。从广义上讲,这需要捕获和建模表面/对象的3D空间结构,并且还需要捕获和建模此类表面/对象的纹理,使得可以将本地环境110的如实表示渲染给用户100。捕获和建模3D真实空间或对象的过程已知为3D重建。将理解的是,本地环境110的这种模型还可以具有其他用途,诸如使远程虚拟现实用户能够体验用户100的本地环境110(例如,使远程虚拟现实用户能够虚拟地“访问”用户100的本地环境110),从而使用附加图形或内容等增强或更改本地环境110的渲染。
广义上讲,根据本公开的实现方式,机器人108被用来实现对本地环境110的建模,包括对本地环境110的空间结构和本地环境110中的表面的纹理进行建模。此类模型可用于(例如,通过计算装置106)渲染虚拟空间/环境的视图,该视图是本地环境110的3D重建。该视图可以通过HMD 105呈现给用户100,以使用户100能够以模拟他们在实际本地环境110中的真实世界位置的方式来观看虚拟空间。也就是说,跟踪HMD 105在本地环境110中的位置和取向,并且使用本地环境110的模型来渲染通过HMD 105呈现的虚拟空间的视图,其中通过示例而非限制性的方式,HMD 105在本地环境110中的位置和取向确定用于渲染虚拟空间的视图的空间模型中的视角位置和角度方向。以这种方式,通过HMD 105提供给用户100的虚拟空间的视图可以模仿真实世界的视图,就好像用户100在未佩戴HMD 105的情况下正在观看实际的本地环境110一样。
根据本公开的实现方式,机器人108被用来在空间上和纹理上捕获本地环境110,以实现对本地环境110的3D重建。在所示的实现方式中,本地环境110由用户100所位于的房间限定。然而,将理解的是,在其他实现方式中,本地环境110可以是用户100可以位于其中的任何其他类型的真实空间、背景或位置。
根据本公开的实现方式,3D重建过程需要生成点云,该点云是由沿着本地环境中的对象的外表面的点的3D坐标限定的一组数据点。处理点云以限定多边形网格,该多边形网格通常由三角形、四边形或其他多边形组成。多边形网格由一组顶点、连接这些顶点的边以及作为由边形成的多边形的面限定。顶点可以包括点云的数据点和/或基于点云的数据点确定的其他点。多边形网格限定了本地环境的表面的3D空间模型。在渲染时,将纹理应用于3D网格以形成本地环境的渲染图形表示。
如上所述,机器人108可以用于捕获对象的材质并使系统能够虚拟地重新创建材质。以这种方式,在虚拟世界中尽可能精确地创建全息空间或重新创建真实空间是可能的。使用可移动机器人,例如以不同的角度和/或在不同的照明条件下获取不同的图像是可能的,其可以克服诸如照明条件、眩光等问题,使得与使用静态相机或扫视房间的相机的那个可能性相比,该系统可以更准确地重新创建对象的纹理。
如本文所用,“纹理”是指表征、影响或确定表面外观的真实或虚拟表面的特性。通过示例而非限制性的方式,此类特性可以包括3D表面结构、颜色、反射率、透明度、半透明性等。在计算机图形渲染的情景中,将纹理应用于虚拟表面(例如3D模型的表面(诸如多边形网格的多边形))称为纹理映射。纹理映射可以包含许多类型的表面限定技术,通过示例而非限制性的方式包括漫反射映射、高度映射、凹凸映射、法线映射、位移映射、反射映射、高光映射、mipmap、遮挡映射等。应当理解,纹理映射可以利用过程纹理,该过程纹理使用模型或数学描述来创建纹理。根据本文描述的本公开的实现方式,可以由机器人108从所捕获的数据确定这样的模型。
因此,如所说明的实施方案中所示,机器人108被配置为捕获本地环境110的3D空间结构,通过示例而非限制性的方式包括本地环境110中的任何对象的空间结构,诸如墙壁112和114、地板116、地毯118、显示器104(例如,电视)、媒体架/柜120等。为了实现这一点,机器人108可以被配置为利用一个或多个传感器从本地环境110内的不同位置扫描本地环境110,以使得能够捕获本地环境110的3D空间结构。
例如,机器人108可以包括一个或多个深度相机(或测距成像装置/传感器),其能够确定对象与深度相机的距离。应当理解,深度相机可以是任何种类的测距成像装置,诸如飞行时间相机(例如,使用受控红外(IR)照明)、LIDAR、立体相机(并使用立体三角测量)等。另外,机器人108可以包括用于捕获本地环境110的图像/视频的一个或多个图像捕获装置(例如,可见光相机)。此外,机器人108可以包括各种运动传感器,例如加速度计、陀螺仪、磁力计、惯性运动单元(IMU)、网络定位装置(例如,GPS、WiFi定位)等,这些运动传感器可以用来跟踪机器人108在本地环境110中的位置和取向。
利用这样的传感器,机器人108可以通过从各个位置捕获图像和数据并且/或者随着机器人108在整个本地环境110中移动来映射本地环境110的3D空间结构。在一些实现方式中,通过生成3D模型(诸如如上所述的3D点云和/或多边形网格模型)来对本地环境110的3D空间结构进行建模。通过示例而非限制性的方式,机器人108可以利用用于映射或确定3D空间结构的各种技术中的任一种,诸如同时定位与建图(SLAM)技术。
如上所述,将纹理在虚拟空间内部应用于虚拟对象的表面。在捕获纹理时,目标是捕获材质的特性,以使系统尽可能准确地重新创建材质。在一些实现方式中,给定表面的纹理由纹理映射限定,该纹理映射可以包括体现在表面特性映射中的一种或多种类型的表面特性。通过示例而非限制性的方式,这些可以包括位移映射(例如,识别表面中的缝隙或其他类型的位移)、高光映射(识别表面的光泽度,和/或表面如何响应照明、眩光等)、菲涅耳效果(fresnel)(用于透明/半透明对象、对象基于视角如何反射或折射/透射光)等。这些类型的表面纹理特性可以由机器人108捕获并精确地建模和重新创建。机器人108从不同角度捕获图像的能力使得能够更精确地捕获给定表面的特性。此外,如下面进一步详细讨论的,给定表面可以在不同和/或受控照明条件下捕获,以进一步提高表面的纹理捕获的准确性。
在一些实现方式中,识别本地环境110中的给定表面,并且对所识别的表面的代表性部分进行采样以确定该表面的纹理。即,代表性部分的纹理被捕获并建模,并且当渲染表面的虚拟表示以供观看时(例如,通过HMD 105或另一显示器),建模的纹理被应用于整个表面。
在一些实现方式中,在对给定表面的代表性部分进行采样之前,首先确定该表面或其实质部分整个具有基本上相同或相似的纹理。换句话说,确定该表面在其整个区域上具有基本一致的纹理。通过示例而非限制性的方式,这可以通过确定表面具有基本一致的颜色或颜色图案、反射率、位移或其他纹理特性来查明。应当理解,与在捕获表面的代表性部分的纹理时要应用的细节层次/灵敏度相比,可以以更低或更接近的细节层次和/或灵敏度来做出这种确定。例如,在一些实现方式中,当评估表面以确定其是否具有一致的纹理时,可以比在纹理上捕获代表性样本时考虑更少的纹理特性。在一些实现方式中,对于给定的纹理特性,与捕获表面的代表性部分(或样本或区域)的给定纹理特性时相比,在评估表面以确定其是否具有一致的纹理时,应用较低的分辨率、采样频率或每单位面积的辨别级别。因此,确定表面在纹理上是否基本一致,如果一致,则对表面的代表性部分进行采样以详细捕获其纹理。
要确定给定表面(或其部分/区域)在纹理上是否基本一致,可以应用一个或多个阈值确定。例如,在一些实现方式中,如果例如根据分析表面的所捕获图像所确定的表面(或其一部分)的感测颜色的变化小于预限定量,则可以确定给定表面具有一致的纹理。在一些实现方式中,可以应用对其他纹理特性的类似确定。在一些实现方式中,评估多个纹理特性,并且确定特性的组合(例如,加权)方差是否小于预限定量,并且如果是,则确定表面(或其一部分)具有一致的纹理。
应当理解,给定表面的一个或多个区域可以被识别为具有相似或相同或一致的纹理,并且此类区域中的代表性样本/部分然后可被详细扫描以捕获此类区域的纹理。此外,可以应用对象辨识来增强识别。例如,竖直的平面表面可以辨识为墙,因此可以被识别以进行纹理采样。应当理解,通过采样表面的代表性部分的纹理,由于代表性部分远小于整个表面,因此节省了资源,因为不需要存储整个表面的纹理信息以在虚拟空间中提供对该表面的逼真渲染。相反,采样的纹理信息可以例如通过建模的纹理映射在渲染时应用于整个表面。以这种方式,可以提供对表面的逼真渲染而无需捕获整个表面的详细纹理信息,从而减少了存储器存储需求,并由于需要详细捕获较小的表面积而加快了捕获过程,从而还减少了所需的处理量。
继续参考图1A,例如,可以基于本地环境110的所捕获图像确定墙壁112或114、地板116和/或地毯118在其整个相应表面上各自具有基本一致的纹理。机器人108可以被配置为详细捕获这些表面的代表性部分的纹理。例如,机器人108可以详细捕获地板116的代表性部分的纹理,并且对该纹理进行建模。然后,当以图形方式渲染地板116时,使用纹理的模型对其进行渲染,以在虚拟空间中对地板的虚拟表示进行纹理映射。可以将类似的过程应用于本地环境110的其他表面。
应当理解,本文描述的任何过程操作(通过示例而非限制性的方式包括处理数据、对空间/对象/纹理进行建模、渲染虚拟空间的视图等)除非特别描述或以其他方式从本公开中显而易见是由特定装置执行,否则可以通过本文描述的任何装置来执行,通过示例而非限制性的方式包括机器人108、计算装置106、HMD 105或云计算装置。例如,在一些实现方式中,本地环境110的捕获和建模由机器人108执行。而在其他实现方式中,本地环境110的捕获由机器人108执行,而本地环境110的建模则由计算装置106执行。本文中没有详细描述本公开的系统中的可用装置之间的处理操作划分的所有置换。然而,应当理解,此类置换在本公开的范围内。
在一些实现方式中,为了允许观众通过HMD 105看到用户100正在看的内容,在HMD105上渲染的视图(或其一部分)也可渲染在显示装置104上。因此,用户101能够通过观看显示装置104来观察用户100的视图。在一些实现方式中,机器人108可以将虚拟空间的辅助视图投影到可用的投影表面(例如,墙壁的区域)上。
图1B示出了根据本公开的实现方式的机器人,该机器人从不同的角度捕获对象,以实现对对象的3D重建。在所示的实现方式中,对象130是本地环境110中的沙发。应当理解,在各种实现方式中,对象130可以是本地环境110中的任何其他类型的对象。在一些实现方式中,机器人108被配置为从不同位置捕获对象130(例如,使用图像传感器、深度相机或其他传感器),从而从不同角度捕获对象130。使用所捕获的信息,可以例如使用多边形网格模型来对对象130的3D结构进行建模。此外,对象130的表面的纹理也可以被捕获和建模。应当理解,通过从多个角度/方向捕获对象130,可以对3D结构和表面纹理进行更精确的建模。
在一些实现方式中,基于对象辨识过程来辨识对象130,例如,将对象130应用于本地环境110的所捕获的图像和/或所捕获的深度信息。一旦被辨识,就可以使用机器人108识别对象130以从多个方向更详细地进一步捕获。
在一些实现方式中,机器人108被配置为从多个预限定角度/方向和/或距离捕获对象130。例如,机器人108可以被配置为以例如但不限于45度的间隔(例如,零度、45度、90度、135度、180度、225度、270度和315度)捕获数据。即,机器人108围绕对象130移动到本地环境110中与预限定角度间隔相对应的不同位置,从而系统地改变捕获对象130的角度。在一些实现方式中,可以相对于对象130的所确定的中心或者对象130或本地环境110的另一参考点来限定捕获角度。在一些实现方式中,机器人108还被配置为在距对象130或其确定的中心或其他参考点的预限定距离处获取多个捕获。在各种实现方式中,机器人108可以被配置为以任何系统间隔或其他方式从任何多个角度捕获对象108。应当理解,使用从不同角度对该对象130的多次捕获,则可以更好地捕获对象130的3D空间结构及其表面纹理。
继续参考图1B,示出了机器人108处于初始位置P0,机器人108从该初始位置捕获对象130。机器人108围绕对象130移动(例如,相对于对象130横向移动和/或周向移动)到位置P1,机器人从该位置捕获对象130。然后,机器人108进一步围绕对象130移动到位置P2,机器人从该位置捕获对象130。在从各个位置P0、P1和P2捕获对象130时,机器人108从围绕对象130的不同角度和视角获得所捕获的图像、深度信息和/或所感测的其他类型的信息。可以对这些进行分析以确定对象130的表面的3D结构和纹理。
在一些实现方式中,位置P0、P1和P2被配置为围绕对象130沿圆周以预限定距离(例如,距对象130的中心或其他参考点的半径)定位,并且如上所述在角度上彼此分开达预限定间隔。
在一些实现方式中,机器人108可以被配置为影响对对象130的照明以改善对象的结构和/或纹理的捕获。例如,在一些实现方式中,机器人108可以包括可以被操作以提供对对象130的额外照明的灯(或多个灯)。这在各种情况下均可为有用的,诸如当环境照明条件低(例如,低于预限定环境光阈值)时,或者当对象130的某些部分照明不佳(例如,对象130的处于阴影的区域)时,等等。
图1C概念性地示出了根据本公开的实现方式的机器人的俯视图,该机器人移动到本地环境中的各个位置以捕获表面的纹理。如图所示,并且根据一些实现方式,机器人108可以被配置为识别表面140,并捕获表面140的代表性部分142的纹理。在一些实现方式中,纹理的捕获需要从相对于表面140的代表性部分142的预限定位置/取向来捕获代表性部分142的图像。
例如,机器人108可以移动到位置Q0以在基本上正交/垂直于表面140的朝向代表性部分142的中心C的方向D0上捕获代表性部分142的一个或多个图像。在一些实现方式中,位置Q0被限定在距表面140的预限定距离L处。此外,机器人108还可以从位置Q1捕获图像,该位置被定位成使得能够在方向D1(朝向代表性部分142的中心C)上捕获代表性部分142的图像,该方向相对于表面140成预限定角度A1(或相对于表面140的法线成预限定角度)。机器人108还可以从位置Q2捕获图像,该位置被定位成使得能够在方向D2(朝向代表性部分142的中心C)上捕获代表性部分142的图像,该方向相对于表面140成预限定角度A2(或相对于表面140的法线成预限定角度)。如图所示,位置Q1和Q2以及它们对应的角度A1和A2在代表性部分142的中心C的相对侧。在一些实现方式中,位置Q1和Q2还被配置为位于距代表性部分142的中心C相同的距离L处;而在其他实现方式中,它们可以位于其他距离处。
通过示例而非限制性的方式,在一些实现方式中,预限定角度A1和/或A2相对于表面140约为45度。实际上,这意味着当从代表性部分142的同一侧进行测量时,表面140的代表性部分142的图像从大约45度、90度和135度的角度被捕获。在其他实现方式中,通过示例而非限制性的方式,预限定角度A1和/或A2在大约30度至60度的范围内。
尽管在前述实现方式中,表面140的代表性部分142的图像从三个不同的角度被捕获,但是应当理解,在其他实现方式中,代表性部分142的图像可以从任何数量的不同角度被捕获。此外,尽管在前述实现方式中,图像从基本上竖直对准的位置被捕获,但是在其他实现方式中,图像可以从不一定彼此竖直对准的位置被捕获。在这样的实现方式中,机器人108可能能够将相机操纵到不同高程/高度,并铰接该相机使其朝向表面的代表性部分的中心。
图1D示出了根据本公开的实现方式的具有能够从多个视角捕获图像的多个相机的机器人。如图所示,机器人108包括高度可调节的上部相机150,该上部相机可以被升高和降低到不同的高度/高程/竖直位置。上部相机150也被铰接以使得能够调节相机150的角度。机器人108还包括下部相机152,该下部相机152沿着机器人的本体定位在比相机150低的高度处。下部相机152也可以被铰接以使得能够调节其角度方向。因此,相机150和152可以被操作(同时)以从不同的竖直位置捕获表面140的代表性部分142的图像。可以上下调节上部相机,以从其他不同的竖直位置捕获图像。
如在所示的实现方式中进一步示出的,机器人108可以相对于表面140横向地左右移动,以能够从不同的水平位置捕获代表性部分142。
利用从各种角度(以及在各种受控照明条件下)捕获的图像,机器人108可以更准确地捕获表面140的代表性部分142的纹理。更具体地,可以对相对于表面140从不同角度和位置捕获的图像进行分析以确定表面140的纹理,如通过基于该分析而生成并与本地环境110的3D模型的对应表面相关联的一个或多个纹理映射所限定的。如上所述,通过示例而非限制性的方式,这可以包括:漫反射映射、高度映射、凹凸映射、法线映射、位移映射、反射映射、高光映射、mipmap、遮挡映射等。
由于如上所述从本地环境110内的不同位置捕获图像,因此应当理解,可以确定并跟踪机器人108在本地环境110中的位置和取向,以使得能够精确地了解获得所捕获的图像的视角。即,可以确定机器人108和/或机器人108的图像捕获装置在本地环境110中相对于被捕获的表面的(3D)位置和角度取向。
在一些实现方式中,机器人108的位置/取向至少部分地基于由机器人自身感测到或处理的信息来确定,通过示例而非限制性的方式,所述信息包括来自运动传感器(例如,加速度计、陀螺仪、磁力计、惯性运动单元(IMU)、感测机器人108的轮子的移动的轮传感器)的数据、由机器人108的图像捕获装置捕获的图像、网络定位(例如,GPS、WiFi定位)、同时定位与建图(SLAM)等。在一些实现方式中,机器人108的位置/取向至少部分地基于对图像捕获装置107所捕获的图像的分析来确定。在一些实现方式中,机器人108包括一个或多个磁传感器,所述一个或多个磁传感器被配置为感测由定位在本地环境101中的一个或多个磁发射器发射的一个或多个磁场,并且机器人108的位置/取向可以至少部分地基于此类数据来确定。另外,机器人108可以被配置为至少部分地基于对本地环境110的3D结构进行映射和/或建模来感测其位置/取向,例如使用对象辨识和与所建模环境的对应关系来确定位置/取向。
在一些实现方式中,出于捕获本地环境110中的表面的代表性部分的纹理的目的,确定并跟踪机器人108相对于表面的代表性部分的位置。例如,机器人108可以使用用于跟踪位置/取向的任何上述方法来特别地跟踪其相对于表面的代表性部分的位置/取向。此外,机器人108可以特别地跟踪代表性部分和/或表面。通过跟踪相对于表面的代表性部分的位置/取向,可以适当地分析代表性部分的所捕获图像(例如,可以确定对应的点)。
如所指出的,在一些实现方式中,机器人108可包括可用于照亮表面以进行纹理捕获的灯。在一些实现方式中,这种灯被用来照亮表面的代表性部分,并且利用光照射到表面的已知照射角,可以分析从已知视角/有利位置捕获的图像以确定表面的纹理。
图2示出了根据本公开的实现方式的机器人,该机器人被配置为捕获对象以实现对对象的3D重建。在所示的实现方式中,机器人108包括臂200a和200b,每个臂具有多个铰接关节,这些关节使得臂200a和200b能够沿几乎任何方向操纵。在一些实现方式中,臂200a/200b可以进一步展开。臂200a和200b可以包括一个或多个灯以及一个或多个相机,可以通过操纵臂200a和200b来操纵它们。
在所示的实现方式中,臂200a包括被激活以提供照明的灯202,并且臂200b包括被配置为捕获图像的相机204。在一些实现方式中,在相机204保持在固定位置和取向时操纵灯202,随着由灯202提供的照明角度改变而捕获图像。在其他实现方式中,在操纵相机204时,灯202保持在固定位置和取向,随着照明保持稳定,改变相机的角度。在其他实现方式中,随着灯202被激活并且随着相机204捕获对象或表面的图像,可以依次或甚至同时操纵灯202和相机204。
在所示的实现方式中,相机204正被用来捕获对象210的图像,同时通过使用灯202来控制照明以照亮对象210。应当理解,通过从不同角度捕获对象210的图像并使用来自不同角度的照明,可以实现对象210的结构和纹理的更稳健的建模。
机器人108可以影响对象210(或本地环境110中的给定表面)的照明的另一种方式是通过产生阴影。在一些实现方式中,机器人108可以被配置为操纵自身以产生落在对象210上的阴影。换句话说,机器人108可以移动到本地环境110中介于对象210和光源之间的位置,以便物理上阻挡来自光源的光的至少一部分以免照亮对象210或给定表面。以这种方式,机器人108可以减少对象210的照明。
另外,在一些实现方式中,机器人108被配置为物理地操纵对象以使得能够捕获其结构和纹理。在所示的实现方式中,臂200a和200b分别包括爪206a和206b,所述爪可用于抓握和操纵对象210,从而改变其相对于机器人108的取向或位置,使得机器人108可以捕获对象210的不同部分的图像(或其他感测数据),并相对于对象及其表面从不同角度和位置捕获图像/数据。
图3示出了根据本公开的实现方式的本地环境中的机器人108,该本地环境具有包括可控灯的各种特征件。在所示的实现方式中,本地环境110由机器人108所设置在的房间限定。该房间还包括可通过照明控制系统远程控制的多个灯。如图所示,灯300a、300b和300c为嵌入式天花板灯的形式,而灯302为灯具的形式。在各种实现方式中,可以存在可通过照明控制系统远程控制的任何数量和类型的灯。在一些实现方式中,照明控制系统是家庭自动化系统。在一些实现方式中,照明控制系统可通过家庭网络(诸如WiFi网络)或使用其他无线技术(诸如蓝牙通信)进行无线访问。在一些实现方式中,照明控制系统由能够控制灯的一个或多个智能装置限定,诸如智能开关或智能插座。在一些实现方式中,灯自身是能够联网通信的智能装置,或者灯包括类似地能够联网通信的智能灯泡。
在一些实现方式中,机器人108与照明控制系统通信以控制灯的状态,包括开/关状态和灯的强度。例如,机器人108可以通过WiFi网络与照明控制系统通信以调节各种灯的强度。更具体地,为了捕获本地环境110的3D空间结构和纹理,机器人108可以控制灯以便提供更多或更少的照明。这在尝试捕获本地环境110时有助于克服不利的照明条件。
例如,可能存在窗户304,高强度光(诸如直接或间接日光)通过窗户304进入房间。穿过窗口304的光的高强度可以导致本地环境110中的高对比度以及强阴影或其他影响,这可能使图像传感器难以准确地捕获本地环境110的结构和纹理。在另一种情况下,本地环境110中的照明对于机器人108对至少一些对象或表面的图像捕获来说可能是不足的或不太理想的(例如,需要图像传感器的高增益,这往往有噪声)。在另一种情况下,可能有太多的光用于至少一些对象或其表面或区域的图像捕获。
因此,机器人108可以被配置为与照明控制系统通信以调节所述灯中的各种灯的开/关状态和/或强度来克服这种照明问题。在一些实现方式中,机器人108与照明控制系统通信以打开/关闭一个或多个灯和/或调节一个或多个灯的强度,以便针对本地环境110和/或针对本地环境110中的一个或多个对象或表面和/或针对其子区域尽可能将照明条件标准化。应当理解,可以在各种实现方式中不同地限定照明的标准化。例如,在一些实现方式中,照明的标准化由本地环境110中或本地环境110的区域/对象/表面的光的目标量(或目标范围)来限定。在一些实现方式中,照明的标准化由对比度或动态范围的目标水平或目标范围限定。在一些实现方式中,参照本地环境110中的空间的选定区域或由机器人108的图像捕获装置捕获的区域来限定照明的标准化。
应当理解,出于标准化照明条件的目的,可以使用一个或多个光传感器和/或机器人108的图像捕获装置来测量或确定光量或照明条件。
在一些实现方式中,机器人108被配置为确定本地环境110内的光的位置,并使用这些位置来影响本地环境110内的照明。例如,在所示的实现方式中,可以确定灯300a/300b/300c和302的位置分别具有3D坐标(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3)和(x4,y4,z4)。在一些实现方式中,机器人108可以基于对所捕获的图像、所捕获的深度数据进行分析,并且进一步基于通过照明控制系统对灯的开/关状态和/或强度水平进行控制来确定灯的位置。
使用灯的已知位置,机器人108可以控制它们的照明以便以期望的方式影响本地环境110中的照明。例如,当捕获表面的纹理时,可以控制一个或多个灯以增加或减少由灯提供的照明量,并且给定灯相对于表面的照明方向可以根据灯的已知位置以及要检查的表面的取向和位置确定。可以控制不同的灯以从不同方向提供不同的照明量,从而使得能够捕获表面的更完整的纹理数据。此外,可以基于灯的已知位置从特定方向提供照明,以克服诸如在本地环境110的特定区域中照明不足的问题。
在一些实现方式中,可以基于对磁场的检测来跟踪诸如HMD 105或控制器102之类的装置。磁场可以由本地环境110中的外围装置发射,所述外围装置在一些实现方式中可以连接到计算装置106和/或由计算装置控制。在一些实现方式中,磁场由图像捕获装置107中包括的发射器发射。应当理解,展现显著影响或干扰所发射磁场的磁特性的其他磁源和/或材料或装置的存在可能会干扰上述磁跟踪。
因此,继续参考图3,在一些实现方式中,机器人108被配置为映射本地环境110的磁特性。更具体地说,机器人108可以被配置为确定本地环境110的磁特性,以识别可能发生磁干扰的区域。在一些实现方式中,机器人108通过在感测磁场(例如,使用一个或多个磁力计)的同时在整个本地环境110中导航来映射本地环境110的环境磁特性。在一些实现方式中,机器人108检测本地环境110中的特定对象的磁特性(例如,磁化率、磁导率等),这可以使用本地环境110的先前构建的3D空间映射来识别。
使用本地环境110的所识别的磁特性,包括本地环境110中的任何特定对象的磁特性,系统可以对所述磁特性对将用于磁跟踪的所发射磁场的影响进行建模。并且因此,使用本地环境110的所识别的磁特性的建模效果,可以使磁跟踪更精确。
在一些实现方式中,机器人108可以使用其本地环境110的空间映射来校准对所发射的磁场的检测以进行磁跟踪。即,可以提供所发射的磁场,并且机器人可以在整个本地环境110中的各个位置处检测所发射的磁场(例如场强)。同时,机器人108使用其空间映射和/或其他非磁性技术(例如,图像辨识和跟踪、基于深度的跟踪等)来确定磁发射器的位置及其自身相对于磁发射器的位置。使用非磁性技术将由机器人108检测到的磁场与机器人的确定位置关联。以这种方式,可以确定特定于本地环境110的所发射磁场的映射。
在一些实现方式中,通过映射本地环境110的磁特性,系统可以识别并向用户推荐优选用于磁跟踪的特定区域,和/或识别并告知用户有关磁跟踪应避开的特定区域。
图4概念性地示出了根据本公开的实现方式的用于调节本地环境中的照明条件的系统。在所示的实现方式中,机器人108能够通过网络402与家庭自动化集线器404通信。在一些实现方式中,网络402由WiFi网络限定。在一些实现方式中,网络402可以包括各种无线和/或有线网络中的任何一种,机器人108可以通过所述网络与家庭自动化集线器404通信。
家庭自动化集线器404是能够通过网络402进行通信并且还能够与灯406进行通信的装置,灯406是本地环境110中能够被控制以影响本地环境110中的照明条件的灯。在一些实现方式中,家庭自动化集线器402通过诸如通用电力线总线、Insteon、Z-wave、Zigbee、WiFi、蓝牙、Thread、Homekit等家庭自动化通信协议或标准与灯406通信。家庭自动化集线器404能够通过适当的协议进行通信,以控制由灯406提供的照明,并且可以根据灯406的功能控制诸如其开/关状态、光强度设置以及颜色等方面。
继续参考图4,如附图标记408所示,机器人108感测本地环境110中的照明条件。这可以包括感测本地环境110中的特定对象400、本地环境110的表面、区域或其他部分的照明条件。基于该初始感测到的照明条件,例如,为了捕获本地环境110中的对象400或表面的纹理,机器人108可以确定应当调节照明条件以改善照明条件。在一些实现方式中,如上所述,机器人108确定当前感测到的照明条件是否满足目标照明条件,在一些实现方式中,可以通过满足所测量的照明条件参数的最小值、最大值或范围来限定目标照明条件。响应于确定应当调节照明条件,机器人108通过网络402向家庭自动化集线器404发送请求以调节灯406,如参考标记410所示。
响应于该请求,家庭自动化集线器404向灯406发送一个或多个控制信号(例如,使用家庭自动化协议),如附图标号412所示,从而以某种方式影响灯406的状态,诸如通过打开或关闭给定的灯、调节其强度和/或调节其颜色。然后,如附图标号414所示,本地环境110中的照明条件发生改变,然后返回到附图标号408,机器人108感测本地环境110中的新照明条件。
虽然在以上实现方式中,机器人108通过网络402与家庭自动化集线器404通信,但是在一些实现方式中,机器人108直接与家庭自动化集线器404通信。在其他实现方式中,机器人108可以直接与灯406通信以调节其照明设置,从而控制本地环境110中的照明条件。
图5示出了根据本公开的实现方式的用于在捕获本地环境中的空间和纹理数据时使用移动机器人来克服可能误差的方法。在方法操作500处,由机器人108的一个或多个传感器或空间/纹理数据捕获装置来捕获数据。通过示例而非限制性的方式,并且如本文其他地方所述,这可以包括通过图像捕获装置捕获图像数据、通过深度相机捕获深度数据等。这种数据捕获可以用于捕获本地环境110或其中的任何区域/对象/表面的空间结构和/或纹理的目的。
在方法操作502处,分析所捕获数据。更具体地,分析所捕获数据以确定在所捕获数据中是否存在可能误差。在一些实现方式中,这需要分析所捕获数据以识别可疑的部分,诸如通过识别所捕获数据中的不连续性或所捕获数据的其他方面。在一些实现方式中,这需要确定所捕获数据的给定部分的置信度,并且确定置信度是否满足预限定阈值。换句话说,如果置信度不满足(例如,超过)预限定阈值,则所考虑的所捕获数据的该部分存在可能误差。
例如,在所捕获的图像中,表面全为白色(或全部为高强度或最大强度,例如超过阈值强度水平)的部分可能是因为该部分的确是白色,但也可能是由于眩光或某种镜面反射的存在所致。或作为另一个示例,在所捕获的深度数据中,缺少深度数据的区域可能是由于整个空间结构(例如,门口)中的开口所致,但也可能是由窗户或其他透明结构或者存在的但未被深度相机检测到的使深度相机的光束偏转的反射表面所致。众所周知,深度相机易受噪声(例如,来自难以捕获的反射和/或特征)的影响,因此深度数据可能会包含错误的测量结果。因此,期望利用机器人108的能力来识别和解决这样的潜在误差。
在方法操作504处,确定是否存在可能误差。如果否,则在方法操作506处,该方法结束。但是,如果存在可能误差,则在方法操作508处,识别/确定一个或多个动作以克服该误差(例如,明确误差是否确实存在)。在方法操作510处,由机器人108执行所确定的动作以解决该可能误差。通过示例而非限制性的方式,这种校正动作可以包括以下中的一项或多项:将机器人108移动到新的位置/取向(例如,以从不同角度和/或距离获得图像或捕获数据)、移动机器人108的传感器装置(例如,通过调节机器人的伸缩臂或关节臂)、调节照明(例如,通过调节机器人的灯、通过家庭自动化系统调节照明)等。
在执行所确定的动作之后,则该方法返回到方法操作500,以再次使用机器人108捕获数据。因此,可以重复该方法,直到不再存在可能误差,或者直到所捕获数据精确到令人满意的置信度为止。
使用本地环境110的前述空间和纹理模型,可以对本地环境110进行3D重建,并在诸如HMD 105的显示器之类的显示器上渲染本地环境110的高度逼真的视图。这可以简化用户100进出虚拟现实的过渡,因为在最初戴上HMD 105时和/或就要摘下HMD 105之前可以为用户提供本地环境110的虚拟化版本的视图。此外,可以诸如通过允许另一远程用户进入其虚拟化的本地环境来向用户100提供独特的体验,从而即使该另一用户实际上不在场,也提供与在本地环境110中与另一用户进行交互相似的体验。
图6是根据本公开的实现方式的概念性地示出机器人的部件的示意图。如图所示,机器人1100包括控制器1102,控制器1102被配置为控制机器人的各种装置和由机器人1100执行的操作,所述操作包括处理数据和指令,以及向机器人1100的各种装置发出命令,以致使机器人移动、捕获图像/音频/视频、渲染图像/音频/视频,或者执行机器人能够执行的任何其他功能,如本公开中所描述的。控制器1102包括被配置为执行程序指令的一个或多个处理器1104(例如,微处理器、通用处理器(GPP)、专用处理器(ASP)、中央处理单元(CPU)、图形处理单元(GPU)、复杂指令集计算机(CISC)、精简指令集计算机(RISC)、专用集成电路(ASIC)、数字信号处理器(DSP)等)和被配置为存储和检索数据的一个或多个存储器装置1106(例如,易失性存储器、非易失性存储器、随机存取存储器(RAM)、只读存储器(ROM)、SRAM、DRAM、快闪存储器、磁存储器、硬盘、光盘等)。
收发器1108被配置为经由无线或有线连接来传输和/或接收数据。收发器1108可以通过一个或多个网络进行通信,并且使用本领域中已知的各种数据通信协议中的任一种,通过示例而非限制性的方式,包括基于IP的协议、Wi-Fi、蓝牙、NFC、Zigbee、Z-Wave、ANT、UWB、无线USB、Sigfox、蜂窝网络(2G/3G/4G/5G网络、LTE网络等)、红外协议(例如,IRDA协议)等。
机器人1100包括一个或多个扬声器1110,所述一个或多个扬声器1110能够发射任何种类的音频,通过示例而非限制性的方式,包括来自由机器人1100渲染的虚拟环境的声音、音乐、语音、来自媒体演示(例如电视节目、电影、表演等)的音频等。
机器人1100包括一个或多个传声器1112,所述一个或多个传声器1112被配置为捕获来自所述机器人所设置在的本地环境的声音。多个传声器可以准许同时地在更多方向上具有更高的灵敏度。在一些实现方式中,传声器1112被配置为阵列或其他预限定的定位布置,使得可以分析来自传声器阵列的信号以确定音频源相对于传声器阵列的方向性。
机器人1100包括一个或多个图像捕获装置/相机1114,所述一个或多个图像捕获装置/相机1114被配置为从本地环境捕获图像/视频。通过示例而非限制性的方式,可以采用多个图像捕获装置以实现对本地环境的较大区域或多个区域的同时覆盖和/或改善的环境映射、深度分析。
一个或多个相机1114可由一个或多个致动器1116引导,以使得给定相机的方向能够被调节。致动器1116可以被配置为旋转、平移、升高、降低、倾斜、摇动或以其他方式移动或改变相机1114的取向。
机器人1100包括一个或多个深度相机1118。深度相机能够捕获关于所述本地环境中的对象的深度/范围信息。在一些实现方式中,深度相机1118是飞行时间相机,其基于受控光信号到所述本地环境中的各个点的飞行时间来确定距离。
类似于相机1114,深度相机1118可由一个或多个致动器1116引导,所述一个或多个致动器1116可以是与引导一个或多个相机1114的致动器相同或不同的致动器。
机器人1100包括一个或多个接近传感器1120,所述一个或多个接近传感器1120能够检测机器人与附近对象的接近度。接近传感器1120可以安装在机器人1100上的各种位置处,以实现对机器人1100的对应部分的接近检测。例如,在一些实现方式中,至少一个接近传感器安装在机器人1100的下部部分,以在此附近实现接近检测,诸如以提供对所述机器人的所述下部部分附近的对象(例如,机器人1100所处的地板/表面上的对象)的检测。在一些实现方式中,一个或多个接近传感器沿着机器人1100的其他部分(包括机器人的中部和上部部分)安装。接近传感器1120可用于避免机器人1100与本地环境中的对象的碰撞、检测附近对象的存在、检测机器人附近的用户的手势等。
机器人1100包括全球定位系统(GPS)装置/接收器1122,所述全球定位系统(GPS)装置/接收器1122被配置为从GPS卫星接收信息以确定机器人1100的地理位置。
机器人1124包括一个或多个惯性/运动传感器1124,所述惯性/运动传感器1124能够检测机器人1124的移动和/或取向。惯性/运动传感器的示例包括加速度计、磁力计、陀螺仪等。
机器人1124包括至少一个投影仪1126,所述至少一个投影仪1126能够将图像/视频投影到本地环境中的表面上。通过示例而非限制性的方式,投影仪可以是LCD投影仪、LED投影仪、DLP投影仪、LCoS投影仪、微微投影仪等。
机器人1100包括多个轮子/滚轮(例如如图所示的轮子/滚轮1130a和1130b),所述多个轮子/滚轮被配置为使得机器人1100能够在本地环境中四处移动。轮子/滚轮中的一个或多个可由致动器(例如,致动器1132a和1132b)控制,以致使轮子/滚轮旋转,并且由此实现机器人1100的移动。在一些实现方式中,轮子/滚轮可以是多方向的或全方向的,也就是说,能够产生或促进在一个以上方向或全部方向上的移动。
机器人1100的各种部件可以容纳在壳体内。在所示实现方式中,包括上部壳体1134a和下部壳体1134b。上部壳体1134a被配置为在多个轴承1136的帮助下可相对于下部壳体1134b旋转。在一些实现方式中,致动器1138被配置为旋转上部壳体1134a。在各种实现方式中,机器人1100的各种部件中的任一个都可以安装到上部壳体1134a或上部壳体1134a内,并且被配置为在上部壳体1134a旋转时旋转/移动,而各种部件中的其他部件安装到下部壳体1134b或下部壳体1134b内并且不同时地旋转。
通过示例的方式,在一些实现方式中,相机1114、深度相机1118、扬声器1110和/或传声器1112安装到上部壳体1134a,而投影仪1126安装到下部壳体1134b。可以独立于投影仪1126而使安装到上部壳体1134a的部件与上部壳体1134a一起旋转。这可以使机器人1100能够独立于相机1114、深度相机1118、扬声器1110和/或传声器1112来引导投影仪1126。例如,这对于在投影仪1126指向墙壁或其他投影表面的同时允许相机1114、深度相机1118、扬声器1110和/或传声器1112指向用户可为有用的。
图7A至图7G示出了根据本公开的实现方式的各种类型的机器人。
图7A示出了根据本公开的实现方式的具有圆柱形本体1200的机器人。根据本公开的实现方式,投影仪1202和相机1204安装到可延伸和/或可旋转的相应杆。机器人可以包括多个扬声器1206,所述多个扬声器1206使得机器人能够在多个方向上发射音频。尽管没有具体地示出,但是机器人也可以包括下射式扬声器(down-firing speaker)。机器人还包括用于机器人在本地环境中的推进/移动的轮子1208。
图7B示出了根据本公开的实现方式的具有上部可旋转部分1210的机器人,诸如投影仪1202和相机1204等部件可以安装到所述上部可旋转部分1210。机器人还包括显示器1212,所述显示器1212可以被配置为渲染任何种类的数据。在一些实现方式中,机器人的显示器1212可以用作辅助显示器,以在视频游戏期间示出对玩家有用的信息。显示器1212可以是触摸屏显示器,并且能够经由触摸屏显示器上的触摸和手势从用户接收输入。机器人进一步采用连续轨道系统1214(也称为坦克胎面或履带胎面)用于推进机器人。
图7C示出了根据本公开的实现方式的机器人,所述机器人被配置为还用作控制器和/或其他接口装置的存储位置。在所示实现方式中,机器人被配置为保持/存储控制器1220a和1220b以及运动控制器1222a和1222b。机器人可以包括用于保持控制器或其他接口装置的各种装置中的任一种,诸如扣钩、夹子、带、夹钳、口袋、孔、凹部等。
图7D示出了根据本公开的实现方式的具有主体1230和可飞起无人机1232的机器人。当不飞行时,无人机1232可以搁置在主体1230上的支撑结构1234上和/或固定到主体1230上的支撑结构1234上。支撑结构1234可以包括被配置为与无人机1232上的对应触点配合的触点,以实现机器人的无人机1232与主体1230之间的数据通信,以及无人机的电池的充电。应当理解,无人机1232可以包括对其操作有用的和/或可在无人机飞行时使用的各种部件,诸如相机、深度相机、传声器、投影仪、惯性/运动传感器、无线收发器等。无人机1232可以与主体1230无线地通信并且经由从主体1230发送的无线信号来控制。无人机1232可以被激活并且飞行,以便为图像捕获、音频捕获、投影、音频呈现等提供升高的有利位置。
图7E示出了根据本公开的实现方式的具有人形装置的外形规格的机器人。机器人包括可以铰接的头部1240,并且可以包括诸如相机、投影仪等装置。机器人还包括臂1242,所述臂1242可以被铰接,并且被配置为扣钩物品、执行手势等。机器人还包括腿部1244,所述腿部1244可以被铰接,并且被配置为使得机器人能够在本地环境中四处行走/奔跑或以其他方式移动。
图7F示出了根据本公开的实现方式的具有可旋转球形部分1250的机器人。在一些实现方式中,球形部分1250可以全方向地旋转,以便重定向安装在其上的任何装置,诸如相机、投影仪、传声器等。球形部分1250由中间部分1252支撑,所述中间部分1252可围绕基座部分1254旋转,从而为机器人的装置的移动提供更大的灵活性。
图7G示出了根据本公开的实现方式的机器人,所述机器人具有限定在轮子1262之间的本体1260。在一些实现方式中,轮子1262a和1626b的大小被加大到显著大于本体1260,以使得机器人能够横穿障碍物或其他不连续点。在一些实现方式中,本体1260的重心被配置为低于轮子1262a和1262b的轴线的水平,使得虽然仅具有两个轮子用于支撑,但本体1260的取向容易被维持。
图8示出了HMD 102的用户1300与客户端系统1306介接并且客户端系统1306向被称为第二屏幕1307的第二屏幕显示器提供内容的一个示例。客户端系统1306可以包括用于处理从HMD 1302到第二屏幕1307的内容共享的集成电子器件。其他实施方案可以包括将在客户端系统与HMD 1302和第二屏幕1307中的每一者之间进行介接的单独的装置、模块、连接器。在这种一般示例中,用户1300正佩戴着HMD 1302,并且正在使用控制器玩视频游戏,所述控制器也可以是定向接口对象1304。由用户1300进行的交互式游戏将产生视频游戏内容(VGC),所述视频游戏内容(VGC)被交互式地显示到HMD 1302。
在一个实施方案中,在HMD 1302中显示的内容被共享到第二屏幕1307。在一个示例中,观看第二屏幕1307的人可以观看由用户1300在HMD 1302中交互式地玩的内容。在另一个实施方案中,另一个用户(例如,玩家2)可以与客户端系统1306交互以产生第二屏幕内容(SSC)。由也与控制器1304交互的玩家产生的第二屏幕内容(或任何类型的用户接口、手势、语音或输入),可以作为客户端系统1306的SSC产生,所述SSC可以连同从HMD 1302接收的VGC一起显示在第二屏幕1307上。
因此,对于HMD用户和可能正在第二屏幕1307上观看由HMD用户玩的内容的用户两者来说,与HMD用户共处一地或远离HMD用户的其他用户的交互性可以是社交的、交互式的和更沉浸式的。如图所示,客户端系统1306可以连接到因特网1310。因特网还可以向客户端系统1306提供对来自各种内容源1320的内容的访问。内容源1320可以包括可以通过因特网访问的任何类型的内容。
此类内容可以包括但不限于视频内容、电影内容、流媒体内容、社交媒体内容、新闻内容、朋友内容、广告内容等。在一个实施方案中,客户端系统1306可以用于同时地处理HMD用户的内容,使得在玩游戏过程期间向HMD提供与交互性相关联的多媒体内容。客户端系统106然后还可以向第二屏幕提供可能与视频游戏内容无关的其他内容。在一个实施方案中,客户端系统1306可从内容源1320中的一个或者从本地用户或者远程用户接收第二屏幕内容。
图9是根据本公开的各种实施方案的游戏系统1400的框图。游戏系统1400被配置为经由网络1415向一个或多个客户端1410提供视频流。游戏系统1400通常包括视频服务器系统1420和可选的游戏服务器1425。视频服务器系统1420被配置为以最低服务质量向一个或多个客户端1410提供视频流。例如,视频服务器系统1420可以接收改变视频游戏内的状态或视角的游戏命令,并且以最小的滞后时间向客户端1410提供反映状态改变的更新后的视频流。视频服务器系统1420可以被配置为以各种各样的替代视频格式(包括尚未限定的格式)提供视频流。此外,视频流可以包括被配置为以各种各样的帧速率呈现给用户的视频帧。典型的帧速率是每秒30帧、每秒60帧和每秒120帧。但在本公开的替代实施方案中包括更高或更低的帧速率。
客户端1410(本文中单独称为1410A、1410B等)可以包括头戴式显示器、终端、个人计算机、游戏控制台、平板计算机、电话、机顶盒、信息亭、无线装置、数字键盘、独立装置、手持式玩游戏装置和/或类似物。通常,客户端1410被配置为接收经编码的视频流、解码所述视频流,并且将所得的视频呈现给用户,例如游戏的玩家。接收经编码的视频流和/或解码所述视频流的过程通常包括将各个视频帧存储在所述客户端的接收缓冲器中。视频流可在与客户端1410成一体的显示器上或者在诸如监视器或电视的单独装置上呈现给用户。客户端1410可选地被配置为支持一个以上游戏玩家。例如,游戏控制台可以被配置为支持两个、三个、四个或更多个同时的玩家。这些玩家中的每一个可以接收单独的视频流,或者单个视频流可以包括专门针对每个玩家生成的(例如,基于每个玩家的视角生成的)帧的区域。客户端1410可选地在地理上分散。游戏系统1400中包括的客户端的数量可从一个或两个广泛变化到几千个、几万个或更多个。如本文所使用的,术语“游戏玩家”用于指玩游戏的人,并且术语“玩游戏装置”用于指用于玩游戏的装置。在一些实施方案中,玩游戏装置可以指协作以向用户递送游戏体验的多个计算装置。例如,游戏控制台和HMD可以与视频服务器系统1420协作以递送通过HMD观看的游戏。在一个实施方案中,游戏控制台从视频服务器系统1420接收视频流,并且游戏控制台将视频流或对视频流的更新转发到HMD以进行渲染。
客户端1410被配置为经由网络1415接收视频流。网络1415可以是任何类型的通信网络,包括电话网络、因特网、无线网络、电力线网络、局域网、广域网、专用网络和/或类似物。在典型的实施方案中,所述视频流经由标准协议(诸如TCP/IP或UDP/IP)来传达。替代地,所述视频流经由专有标准来传达。
客户端1410的典型示例是个人计算机,所述个人计算机包括处理器、非易失性存储器、显示器、解码逻辑、网络通信能力和输入装置。解码逻辑可以包括存储在计算机可读介质上的硬件、固件和/或软件。用于解码(和编码)视频流的系统在本领域中是众所周知的,并且根据所使用的特定编码方案而变化。
客户端1410还可以(但不要求)包括被配置用于修改接收到的视频的系统。例如,客户端可以被配置为执行其他渲染、将一个视频图像覆盖在另一个视频图像上、裁剪视频图像和/或类似物。例如,客户端1410可以被配置为接收各种类型的视频帧,诸如I帧、P帧和B帧,并且将这些帧处理成图像以显示给用户。在一些实施方案中,客户端1410的成员被配置为对视频流执行其他渲染、着色、到3D的转换或类似的操作。客户端1410的成员可选地被配置为接收一个以上音频或视频流。例如,客户端1410的输入装置可以包括单手游戏控制器、双手游戏控制器、手势辨识系统、凝视辨识系统、语音辨识系统、键盘、操纵杆、指向装置、力反馈装置、运动和/或位置感测装置、鼠标、触摸屏、神经接口、相机、有待开发的输入装置和/或类似物。
由客户端1410接收的视频流(以及可选地音频流)由视频服务器系统1420生成并且提供。如本文其他地方进一步描述的,所述视频流包括视频帧(并且所述音频流包括音频帧)。视频帧被配置(例如,它们在适当的数据结构中包括像素信息)为有意地促成了显示给用户的图像。如本文所使用的,术语“视频帧”用于指主要包括被配置为促成(例如实现)向用户示出的图像的信息的帧。本文关于“视频帧”的大多数教导也可以应用于“音频帧”。
客户端1410通常被配置为从用户接收输入。这些输入可以包括被配置为改变视频游戏状态或以其他方式影响玩游戏过程的游戏命令。游戏命令可以使用输入装置来接收和/或可以通过在客户端1410上执行的计算指令来自动地生成。接收到的游戏命令经由网络1415从客户端1410传达给视频服务器系统1420和/或游戏服务器1425。例如,在一些实施方案中,游戏命令经由视频服务器系统1420被传达给游戏服务器1425。在一些实施方案中,游戏命令的单独副本从客户端1410传达给游戏服务器1425和视频服务器系统1420。游戏命令的通信可选地取决于命令的身份。游戏命令可选地通过用于向客户端1410A提供音频或视频流的不同路线或通信信道而从客户端1410A传达。
游戏服务器1425可选地由不同于视频服务器系统1420的实体操作。例如,游戏服务器1425可由多玩家游戏的发行者操作。在所述示例中,视频服务器系统1420可选地被游戏服务器1425视为客户端,并且可选地被配置为从游戏服务器1425的视角看起来是执行现有技术游戏引擎的现有技术客户端。视频服务器系统1420和游戏服务器1425之间的通信可选地经由网络1415发生。因此,游戏服务器1425可以是向多个客户端发送游戏状态信息的现有技术多玩家游戏服务器,其中一个客户端是游戏服务器系统1420。视频服务器系统1420可以被配置为同时与游戏服务器1425的多个实例通信。例如,视频服务器系统1420可以被配置为向不同的用户提供多个不同的视频游戏。这些不同的视频游戏中的每一个都可由不同的游戏服务器1425支持和/或由不同的实体发布。在一些实施方案中,视频服务器系统1420的若干在地理上分布的实例被配置为向多个不同的用户提供游戏视频。视频服务器系统1420的这些实例中的每一个都可以与游戏服务器1425的相同实例通信。视频服务器系统1420与一个或多个游戏服务器1425之间的通信可选地经由专用通信信道发生。例如,视频服务器系统1420可以经由专用于这两个系统之间的通信的高带宽信道连接到游戏服务器1425。
视频服务器系统1420至少包括视频源1430、I/O装置1445、处理器1450和非暂时性存储装置1455。视频服务器系统1420可以包括一个计算装置或者分布在多个计算装置中。这些计算装置可选地经由诸如局域网的通信系统连接。
视频源1430被配置为提供视频流,例如,流视频或形成移动图像的一系列视频帧。在一些实施方案中,视频源1430包括视频游戏引擎和渲染逻辑。视频游戏引擎被配置为从玩家接收游戏命令,并且基于接收到的命令来维持视频游戏状态的副本。该游戏状态包括对象在游戏环境中的位置,以及通常包括视角。游戏状态还可以包括对象的特性、图像、颜色和/或纹理。游戏状态通常基于游戏规则以及诸如移动、转弯、攻击、设置焦点、交互、使用等的游戏命令来维持。游戏引擎的部分可选地设置在游戏服务器1425内。游戏服务器1425可以基于使用在地理上分散的客户端从多个玩家接收的游戏命令来维持游戏的状态的副本。在这些情况下,游戏状态由游戏服务器1425提供给视频源1430,其中存储游戏状态的副本并且执行渲染。游戏服务器1425可以经由网络1415直接从客户端1410接收游戏命令,和/或可以经由视频服务器系统1420接收游戏命令。
视频源1430通常包括渲染逻辑,例如存储在诸如存储装置1455的计算机可读介质上的硬件、固件和/或软件。渲染逻辑被配置为基于游戏状态来创建视频流的视频帧。全部或部分渲染逻辑任选地设置在图形处理单元(GPU)中。渲染逻辑通常包括被配置为基于游戏状态和视点来确定对象之间的三维空间关系和/或应用适当的纹理等的处理阶段。渲染逻辑产生原始视频,所述原始视频然后通常在传达给客户端1410之前被编码。例如,可以根据Adobe
Figure BDA0002585314140000361
标准、.wav、H.264、H.263、On2、VP6、VC-1、WMA、Huffyuv、Lagarith、MPG-x、Xvid、FFmpeg、x264、VP6-8、realvideo、mp3等来编码原始视频。编码过程产生视频流,所述视频流任选地被封装以传递到远程装置上的解码器。视频流的特征在于帧大小和帧速率。典型的帧大小包括800x600、1280x720(例如,720p)、1024x768,但可以使用任何其他帧大小。帧速率是每秒的视频帧数。视频流可以包括不同类型的视频帧。例如,H.264标准包括“P”帧和“I”帧。I帧包括刷新显示装置上的全部宏块/像素的信息,而P帧包括刷新其子集的信息。P帧的数据大小通常小于I帧。如本文所使用的,术语“帧大小”意在指帧内的像素的数量。术语“帧数据大小”用于指存储帧所需的字节数。
在替代实施方案中,视频源1430包括视频记录装置,诸如相机。所述相机可用于生成可以包括在计算机游戏的视频流中的滞后或实况视频。所得到的视频流可选地包括所渲染的图像和使用静态相机或视频相机记录的图像两者。视频源1430还可以包括存储装置,所述存储装置被配置为存储要包括在视频流中的先前记录的视频。视频源1430还可以包括被配置为检测对象(例如,人)的运动或位置的运动或定位感测装置,以及被配置为基于所检测到的运动和/或位置来确定游戏状态或产生视频的逻辑。
视频源1430可选地被配置为提供被配置为放置在其他视频上的覆盖。例如,这些覆盖可以包括命令接口、登录指令、给游戏玩家的消息、其他游戏玩家的图像、其他游戏玩家的视频馈送(例如,网络相机视频)。在包括触摸屏接口或凝视检测接口的客户端1410A的实施方案中,覆盖可以包括虚拟键盘、操纵杆、触摸板和/或类似物。在覆盖的一个示例中,玩家的声音被覆盖在音频流上。视频源1430可选地还包括一个或多个音频源。
在其中视频服务器系统1420被配置为基于来自一个以上玩家的输入来维持游戏状态的实施方案中,每个玩家都可以具有包括观看的位置和方向的不同视角。视频源1430可选地被配置为基于每个玩家的视角为每个玩家提供单独的视频流。此外,视频源1430可以被配置为向客户端1410中的每一个提供不同的帧大小、帧数据大小和/或编码。视频源1430可选地被配置为提供3D视频。
I/O装置1445被配置为使视频服务器系统1420发送和/或接收信息,诸如视频、命令、信息请求、游戏状态、凝视信息、装置运动、装置位置、用户运动、客户端身份、玩家身份、游戏命令、安全信息、音频和/或类似物。I/O装置1445通常包括通信硬件,诸如网卡或调制解调器。I/O装置1445被配置为与游戏服务器1425、网络1415和/或客户端1410通信。
处理器1450被配置为执行包括在本文讨论的视频服务器系统1420的各种部件内的逻辑,例如软件。例如,处理器1450可以用软件指令编程,以便执行视频源1430、游戏服务器1425和/或客户端限定器1460的功能。视频服务器系统1420可选地包括处理器1450的一个以上实例。处理器1450也可以用软件指令编程,以便执行由视频服务器系统1420接收的命令,或者协调本文讨论的游戏系统1400的各种元件的操作。处理器1450可以包括一个或多个硬件装置。处理器1450是电子处理器。
存储装置1455包括非暂时性模拟和/或数字存储装置。例如,存储装置1455可以包括被配置为存储视频帧的模拟存储装置。存储装置1455可以包括计算机可读数字存储装置,例如,硬盘驱动器、光学驱动器或固态存储装置。存储装置1415被配置为(例如,通过适当的数据结构或文件系统)存储视频帧、人工框架、包括视频帧和人工框架两者的视频流、音频帧、音频流和/或类似物。存储装置1455可选地分布在多个装置中。在一些实施方案中,存储装置1455被配置为存储本文其他地方讨论的视频源1430的软件部件。这些部件可以以准备好在需要时提供的格式来存储。
视频服务器系统1420可选地还包括客户端限定器1460。客户端限定器1460被配置为远程地确定客户端(诸如客户端1410A或1410B)的能力。这些能力可以包括客户端1410A其自身的能力以及客户端1410A和视频服务器系统1420之间的一个或多个通信信道的能力。例如,客户端限定器1460可以被配置为通过网络1415测试通信信道。
客户端限定器1460可以手动地或自动地确定(例如,发现)客户端1410A的能力。手动确定包括与客户端1410A的用户通信并且要求用户提供能力。例如,在一些实施方案中,客户端限定器1460被配置为在客户端1410A的浏览器内显示图像、文本和/或类似物。在一个实施方案中,客户端1410A是包括浏览器的HMD。在另一个实施方案中,客户端1410A是具有浏览器的游戏控制台,其可以显示在所述HMD上。所显示的对象请求用户输入信息,诸如客户端1410A的操作系统、处理器、视频解码器类型、网络连接类型、显示分辨率等。由用户输入的信息被传达回客户端限定器1460。
自动确定可以例如通过在客户端1410A上执行代理和/或通过向客户端1410A发送测试视频而发生。所述代理可以包括嵌入在网页中或作为加载项安装的计算指令,诸如java脚本。所述代理可选地由客户端限定器1460提供。在各种实施方案中,所述代理可以找出客户端1410A的处理能力、客户端1410A的解码和显示能力、客户端1410A和视频服务器系统1420之间的通信信道的滞后时间可靠性和带宽、客户端1410A的显示类型、客户端1410A上存在的防火墙、客户端1410A的硬件、在客户端1410A上执行的软件、客户端1410A内的注册表项和/或类似物。
客户端限定器1460包括存储在计算机可读介质上的硬件、固件和/或软件。客户端限定器1460可选地设置在与视频服务器系统1420的一个或多个其他元件分开的计算装置上。例如,在一些实施方案中,客户端限定器1460被配置为确定客户端1410和视频服务器系统1420的一个以上实例之间的通信信道的特性。在这些实施方案中,由客户端限定器发现的信息可以用于确定视频服务器系统1420的哪个实例最适合向客户端1410中的一个递送流视频。
本公开的实施方案可以用包括手持装置、微处理器系统、基于微处理器的或可编程的消费性电子产品、小型计算机、大型计算机等的各种计算机系统配置来实践。本公开还可以在分布式计算环境中实践,在所述分布式计算环境中由通过基于有线或无线网络链接的远程处理装置执行任务。
考虑到上述实施方案,应理解,本公开可以采用涉及存储在计算机系统中的数据的各种计算机实现的操作。这些操作是需要对物理量进行物理操纵的操作。本文描述的形成本公开的一部分的任何操作都是有用的机器操作。本公开还涉及用于执行这些操作的装置或设备。所述设备可以是为了所需目的而专门地构建的,或者所述设备可以是由存储在计算机中的计算机程序选择性地激活或配置的通用计算机。特别地,各种通用机器可以与根据本文的教导编写的计算机程序一起使用,或者构建更专用的设备来执行所需的操作可能更方便。
本公开还可以实施为计算机可读介质上的计算机可读代码。所述计算机可读介质是能够存储数据的任何数据存储装置,所述数据此后能够被计算机系统读取。计算机可读介质的示例包括硬盘驱动器、网络附接存储(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带和其他光学和非光学数据存储装置。所述计算机可读介质可以包括分布在网络耦合的计算机系统上的计算机可读有形介质,使得以分布式方式存储和执行计算机可读代码。
尽管以具体的顺序描述了方法操作,但应理解,可在操作之间执行其他内务操作,或者可以调整操作,使得它们在略微不同的时间发生,或者可以分布在允许以与处理相关联的各种间隔发生处理操作的系统中,只要覆盖操作的处理以期望的方式执行即可。
尽管为了清楚理解的目的,已经对前述公开进行了一些详细的描述,但是将显而易见的是,可在所附权利要求的范围内实践一些改变和修改。因此,本实施方案被认为是说明性的而非限制性的,并且本公开不限于本文给出的细节,而是可在本公开的范围和等效物内进行修改。

Claims (22)

1.一种方法,其包括:
使用具有多个传感器的机器人来获取关于本地环境的传感器数据;
处理所述传感器数据以生成所述本地环境的空间模型,所述空间模型限定对应于所述本地环境中的真实表面的虚拟表面;
进一步处理所述传感器数据以生成与由所述空间模型限定的所述虚拟表面相关联的纹理信息;
跟踪头戴式显示器(HMD)在所述本地环境中的位置和取向;
使用所述空间模型、所述纹理信息以及所述HMD的所跟踪的位置和取向来渲染对应于所述本地环境的虚拟空间的视图;
通过所述HMD呈现虚拟环境的视图。
2.根据权利要求1所述的方法,其中所述HMD在所述本地环境中的所述位置限定所述虚拟空间的所述视图被渲染的视角。
3.根据权利要求1所述的方法,其中所述HMD在所述本地环境中的所述取向限定所述虚拟空间的所述视图的方向。
4.根据权利要求1所述的方法,其中渲染所述虚拟空间的所述视图包括使用与由所述空间模型限定的所述虚拟表面中的一个或多个相关联的所述纹理信息来渲染所述虚拟表面中的所述一个或多个。
5.根据权利要求1所述的方法,其中所述传感器包括至少一个图像捕获装置和至少一个深度相机,并且其中所述传感器数据包括由所述图像捕获装置捕获的图像数据和由所述深度相机捕获的深度数据。
6.根据权利要求1所述的方法,其中所述纹理信息包括漫反射映射、凹凸映射和/或高光映射中的一者或多者。
7.根据权利要求1所述的方法,其中使用所述机器人来获取传感器数据包括将所述机器人移动到所述本地环境内的多个位置,并且在所述位置中的每一个处使用所述机器人的所述传感器来感测所述本地环境并生成所述传感器数据。
8.根据权利要求1所述的方法,
其中获取所述传感器数据包括从多个角度捕获所述本地环境中的真实表面的图像;
其中处理所述传感器数据以生成所述纹理信息包括处理从所述多个角度捕获的所述图像,以生成由所述空间模型限定的对应于所述真实表面的给定虚拟表面的纹理信息。
9.一种方法,其包括:
使用机器人在本地环境中实现多个照明条件,并且使用所述机器人的多个传感器来在所述多个照明条件下获取关于所述本地环境的传感器数据;
处理所述传感器数据以生成所述本地环境的空间模型,所述空间模型限定对应于所述本地环境中的真实表面的虚拟表面;
进一步处理所述传感器数据以生成与由所述空间模型限定的所述虚拟表面相关联的纹理信息。
10.根据权利要求9所述的方法,其中使用所述机器人来实现所述多个照明条件包括通过所述机器人访问家居照明控制系统以控制所述本地环境中的一个或多个灯。
11.根据权利要求9所述的方法,其中使用所述机器人来实现所述多个照明条件包括使用包括在所述机器人中的灯来照亮所述本地环境的至少一部分。
12.根据权利要求9所述的方法,其中使用所述机器人来实现所述多个照明条件包括将所述机器人移动到一个或多个位置,以便阻挡来自所述本地环境中的光源的光以免其直接到达所述本地环境中的表面。
13.根据权利要求9所述的方法,其中所述传感器包括至少一个图像捕获装置和至少一个深度相机,并且其中所述传感器数据包括由所述图像捕获装置捕获的图像数据和由所述深度相机捕获的深度数据。
14.根据权利要求9所述的方法,其中所述纹理信息包括漫反射映射、凹凸映射和/或高光映射中的一者或多者。
15.根据权利要求9所述的方法,其中使用所述机器人来获取传感器数据包括将所述机器人移动到所述本地环境内的多个位置,并且在所述位置中的每一个处使用所述机器人的所述传感器来感测所述本地环境并生成所述传感器数据。
16.一种由机器人在本地环境中执行的方法,其包括:
通过位于所述本地环境中的第一位置处的所述机器人的图像捕获装置捕获所述本地环境的第一图像,其中捕获所述第一图像包括对所述本地环境中的真实表面的捕获;
处理所述第一图像以确定所述真实表面的纹理信息,并进一步确定所述真实表面的所确定的纹理信息中存在可能误差;
响应于确定所述可能误差,将所述机器人移动到第二位置,并通过所述图像捕获装置在所述第二位置处捕获所述本地环境的第二图像,其中捕获所述第二图像包括从由所述第二位置限定的视角对所述真实表面的捕获;
处理所述第二图像以验证所述真实表面的所述所确定的纹理信息中的所述可能误差,并校正所述真实表面的所述所确定的纹理信息中的所述可能误差。
17.根据权利要求16所述的方法,其中处理所述第二图像以验证所述真实表面的所述所确定的纹理信息中的所述可能误差包括将所述第一图像的一部分与所述第二图像的对应部分进行比较,所述第一图像和所述第二图像的所述部分为所述真实表面的相同区域。
18.根据权利要求16所述的方法,其中校正所述可能误差包括基于对所述第二图像的所述处理替换所述真实表面的所述所确定的纹理信息的一部分。
19.根据权利要求16所述的方法,其中所述纹理信息限定颜色和表面结构中的一者或多者。
20.一种由机器人在本地环境中执行的方法,其包括:
通过位于所述本地环境中的第一位置处的所述机器人的深度相机捕获所述本地环境的第一深度图像;
处理所述第一深度图像以确定所述本地环境的空间结构,并进一步确定所述本地环境的所确定的空间结构中存在可能误差;
响应于确定所述可能误差,将所述机器人移动到第二位置,并通过所述深度相机在所述第二位置处捕获所述本地环境的第二深度图像,其中捕获所述第二深度图像包括从由所述第二位置限定的视角对所述本地环境的捕获;
处理所述第二图像以验证所述所确定的空间结构中的所述可能误差,并校正所述所确定的空间结构中的所述可能误差。
21.根据权利要求20所述的方法,其中处理所述第二深度图像以验证所述所确定的空间结构中的所述可能误差包括将所述第一深度图像的一部分与所述第二深度图像的对应部分进行比较,所述第一深度图像和所述第二深度图像的所述部分为所述本地环境的相同区域。
22.根据权利要求20所述的方法,其中校正所述可能误差包括基于对所述第二图像的所述处理替换所述本地环境的所述所确定的空间结构的一部分。
CN201880086628.4A 2017-12-22 2018-12-19 使用移动机器人通过动态相机定位和照明进行的空间捕获、建模和纹理重建 Pending CN112135672A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/853,667 2017-12-22
US15/853,667 US10713840B2 (en) 2017-12-22 2017-12-22 Space capture, modeling, and texture reconstruction through dynamic camera positioning and lighting using a mobile robot
PCT/US2018/066599 WO2019126387A1 (en) 2017-12-22 2018-12-19 Space capture, modeling, and texture reconstruction through dynamic camera positioning and lighting using a mobile robot

Publications (1)

Publication Number Publication Date
CN112135672A true CN112135672A (zh) 2020-12-25

Family

ID=65276263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880086628.4A Pending CN112135672A (zh) 2017-12-22 2018-12-19 使用移动机器人通过动态相机定位和照明进行的空间捕获、建模和纹理重建

Country Status (5)

Country Link
US (2) US10713840B2 (zh)
EP (1) EP3727624A1 (zh)
JP (1) JP7184901B2 (zh)
CN (1) CN112135672A (zh)
WO (1) WO2019126387A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7327872B2 (ja) * 2018-05-14 2023-08-16 エスアールアイ インターナショナル コンピュータによる検査システム及び方法
US10930049B2 (en) * 2018-08-27 2021-02-23 Apple Inc. Rendering virtual objects with realistic surface properties that match the environment
US10733800B2 (en) * 2018-09-17 2020-08-04 Facebook Technologies, Llc Reconstruction of essential visual cues in mixed reality applications
US11520041B1 (en) * 2018-09-27 2022-12-06 Apple Inc. Correcting depth estimations derived from image data using acoustic information
US10937191B2 (en) * 2018-10-23 2021-03-02 Dell Products, Lp Predictive simultaneous localization and mapping system using prior user session positional information
US11557060B2 (en) * 2018-11-05 2023-01-17 Wayfair Llc Systems and methods for scanning three-dimensional objects
US20200231082A1 (en) * 2019-01-21 2020-07-23 Kevin Arnold Morran Remote controlled lighting apparatus
KR20200093922A (ko) * 2019-01-29 2020-08-06 삼성전자주식회사 전자 장치의 외부 전자 장치를 제어하는 방법, 전자 장치 및 저장 매체
TWI723715B (zh) * 2019-12-30 2021-04-01 群邁通訊股份有限公司 電腦裝置、控制機械手臂夾取和放置物件的方法
CN113119099A (zh) * 2019-12-30 2021-07-16 深圳富泰宏精密工业有限公司 计算机装置、控制机械手臂夹取和放置物件的方法
IL294366A (en) * 2020-01-03 2022-08-01 Co6 Inc Dba Company 6 A robot with situational awareness
US11206365B2 (en) * 2020-01-13 2021-12-21 Charter Communications Operating, Llc Method and apparatus for overlaying themed imagery onto real-world objects in a head-mounted display device
CN111399637A (zh) * 2020-02-28 2020-07-10 广州幻境科技有限公司 一种基于slam的虚拟现实大空间定位方法及系统
US11759711B2 (en) * 2021-09-28 2023-09-19 Sony Group Corporation Method for quasi-random placement of virtual items in an extended reality (XR) space

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2005200948A1 (en) * 2004-03-09 2005-09-29 Canon Kabushiki Kaisha Compositing list caching for a raster image processor
CN103493106A (zh) * 2011-03-29 2014-01-01 高通股份有限公司 使用骨骼跟踪来选择性地将手遮蔽在物理表面上的虚拟投影之上
US20140247261A1 (en) * 2010-02-17 2014-09-04 Irobot Corporation Situational Awareness for Teleoperation of a Remote Vehicle
CN105765631A (zh) * 2013-11-26 2016-07-13 微软技术许可有限责任公司 对跟踪和映射误差稳健的大规模表面重构
US9741169B1 (en) * 2014-05-20 2017-08-22 Leap Motion, Inc. Wearable augmented reality devices with object detection and tracking
CN107111370A (zh) * 2014-12-30 2017-08-29 微软技术许可有限责任公司 现实世界对象的虚拟表示

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216970A (ja) * 2002-01-23 2003-07-31 Canon Inc 三次元画像処理装置、三次元画像処理システム、三次元画像処理方法および三次元画像処理プログラム
SE0203908D0 (sv) * 2002-12-30 2002-12-30 Abb Research Ltd An augmented reality system and method
JP2007072859A (ja) * 2005-09-08 2007-03-22 Nippon Hoso Kyokai <Nhk> Cg画像生成装置およびcg画像生成プログラム
JP4847184B2 (ja) * 2006-04-06 2011-12-28 キヤノン株式会社 画像処理装置及びその制御方法、プログラム
US8406505B2 (en) * 2007-08-30 2013-03-26 Honda Motor Co., Ltd. Image brightness reduction for legged mobile robot
US9400503B2 (en) * 2010-05-20 2016-07-26 Irobot Corporation Mobile human interface robot
US10796494B2 (en) * 2011-06-06 2020-10-06 Microsoft Technology Licensing, Llc Adding attributes to virtual representations of real-world objects
US20150097827A1 (en) * 2013-10-09 2015-04-09 Adobe Systems Incorporated Target Region Fill Utilizing Transformations
KR102179153B1 (ko) * 2014-08-27 2020-11-16 케어스트림 덴탈 테크놀로지 톱코 리미티드 3d 표면들의 자동 리스티칭
US10055892B2 (en) 2014-11-16 2018-08-21 Eonite Perception Inc. Active region determination for head mounted displays
US9751210B2 (en) * 2014-11-26 2017-09-05 Irobot Corporation Systems and methods for performing occlusion detection
US9972123B2 (en) * 2015-04-01 2018-05-15 Otoy, Inc. Generating 3D models with surface details
US11263461B2 (en) 2015-10-05 2022-03-01 Pillar Vision, Inc. Systems and methods for monitoring objects at sporting events
US10478973B2 (en) * 2016-02-09 2019-11-19 Cobalt Robotics Inc. Mobile robot security enforcement
US11020860B2 (en) * 2016-06-15 2021-06-01 Irobot Corporation Systems and methods to control an autonomous mobile robot
US11096262B2 (en) * 2016-07-08 2021-08-17 Racepoint Energy, LLC Intelligent lighting control apparatuses for automated lighting adjustment based on sensor and alarm signals
US10579138B2 (en) * 2016-12-22 2020-03-03 ReScan, Inc. Head-mounted sensor system
US20190187721A1 (en) * 2017-12-15 2019-06-20 Ankobot (Shanghai) Smart Technologies Co., Ltd. Control method and system, and mobile robot using the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2005200948A1 (en) * 2004-03-09 2005-09-29 Canon Kabushiki Kaisha Compositing list caching for a raster image processor
US20140247261A1 (en) * 2010-02-17 2014-09-04 Irobot Corporation Situational Awareness for Teleoperation of a Remote Vehicle
CN103493106A (zh) * 2011-03-29 2014-01-01 高通股份有限公司 使用骨骼跟踪来选择性地将手遮蔽在物理表面上的虚拟投影之上
CN105765631A (zh) * 2013-11-26 2016-07-13 微软技术许可有限责任公司 对跟踪和映射误差稳健的大规模表面重构
US9741169B1 (en) * 2014-05-20 2017-08-22 Leap Motion, Inc. Wearable augmented reality devices with object detection and tracking
CN107111370A (zh) * 2014-12-30 2017-08-29 微软技术许可有限责任公司 现实世界对象的虚拟表示

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FUMIO OKURA, YUKO UEDA, TOMOKAZU SATO, AND NAOKAZU YOKOYA: "Teleoperation of mobile robots by generating augmented free-viewpoint images", 2013 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS), pages 2 - 6 *

Also Published As

Publication number Publication date
US10713840B2 (en) 2020-07-14
US11100708B2 (en) 2021-08-24
JP7184901B2 (ja) 2022-12-06
WO2019126387A1 (en) 2019-06-27
WO2019126387A8 (en) 2020-11-26
EP3727624A1 (en) 2020-10-28
JP2021508520A (ja) 2021-03-11
US20190197768A1 (en) 2019-06-27
US20200342661A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
US11100708B2 (en) Space capture, modeling, and texture reconstruction through dynamic camera positioning and lighting using a mobile robot
CN111278519B (zh) 来自配套机器人或装置的空间和用户感知的第二屏幕投影
US11210807B2 (en) Optimized shadows in a foveated rendering system
CN112400202B (zh) 为在hmd环境中进行快速中央凹渲染利用预测和对gpu的后期更新做出的眼睛跟踪
CN112470483B (zh) 多服务器云虚拟现实(vr)流式传输
US10445925B2 (en) Using a portable device and a head-mounted display to view a shared virtual reality space
CN107735152B (zh) 用于虚拟现实(vr)观看的扩展视野重新渲染
US11222444B2 (en) Optimized deferred lighting in a foveated rendering system
CN112400150A (zh) 基于预测扫视着陆点的动态图形渲染
US20180357810A1 (en) Foveal adaptation of particles and simulation models in a foveated rendering system
TW201511803A (zh) 頭戴式顯示器
JP2009544389A (ja) データ処理装置との対話装置および方法
EP3634593B1 (en) Optimized deferred lighting and foveal adaptation of particles and simulation models in a foveated rendering system
US10839607B2 (en) Systems and methods to provide views of a virtual space

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination