CN113474816A - 弹性动态投影映射系统和方法 - Google Patents

弹性动态投影映射系统和方法 Download PDF

Info

Publication number
CN113474816A
CN113474816A CN201980093045.9A CN201980093045A CN113474816A CN 113474816 A CN113474816 A CN 113474816A CN 201980093045 A CN201980093045 A CN 201980093045A CN 113474816 A CN113474816 A CN 113474816A
Authority
CN
China
Prior art keywords
dimensional representation
devices
information
display
projection
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
CN201980093045.9A
Other languages
English (en)
Inventor
R.G.莱加耶
I.科伊尔
I.勒布朗克
B.普尔蒂
T.韦斯特
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.)
Nike Innovate CV USA
Original Assignee
Nike Innovate CV USA
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 Nike Innovate CV USA filed Critical Nike Innovate CV USA
Publication of CN113474816A publication Critical patent/CN113474816A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2504Calibration devices
    • 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/20Finite element generation, e.g. wire-frame surface description, tesselation
    • 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/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文涉及用于动态地跟踪对象并将绘制的3D内容实时地投影到所述对象上的系统和方法。本文中描述的方法还包括由各种图像捕获装置执行的图像数据捕获,其中所述数据被分割成各种分量以识别用于将3D内容分量绘制和投影到一个或多个对象上的一个或多个投影仪。

Description

弹性动态投影映射系统和方法
本申请要求于2018年12月26日提交的题为“弹性动态投影映射系统和方法(RESILIENT DYNAMIC PROJECTION MAPPING SYSTEM AND METHODS)”的美国临时专利申请第62/784,960号的权益和优先权,出于任何和所有非限制性目的,该临时专利申请的全部内容通过引用明确地并入本文。
背景技术
某些投影映射系统在以下方面受到限制:可用于在其上投影内容的物理对象的类型,以及进一步地,系统能够精确地跟踪物理对象并实时地将内容绘制到那些对象上的能力。实际上,先前的投影系统(包括那些使用基于标记的方法来跟踪对象的投影系统)需要更多的处理需求、更多的用于预扫描对象(例如,用点标记固定的对象)的设置时间,以及具有高保真度和/或帧速率来捕获标记的对象的图像捕获装置。执行这种资源密集的对象跟踪和内容绘制限制了现有投影映射系统的可扩展性,并且进一步限制了由这种系统跟踪和绘制的对象的类型和大小。
为了在具有较少的必需处理资源的许多场景和条件下实时地将三维(3D)内容有效地跟踪和绘制到各种物理对象上,需要专用的系统和过程来最小化对手动配置和确定物理对象在3D空间中的姿态和位置的依赖。因此,需要一种改进的投影映射系统,其能够有效地获得与对象相关联的图像数据,并使用这样的图像数据来执行检测和跟踪技术,以将所绘制的内容投影到被跟踪的物理对象的位置。因此,本公开的各方面旨在通过构建这样的投影映射系统来解决该挑战:该投影映射系统不需要点标记来定位所跟踪的对象,并且还识别能最佳地将3D内容绘制和投影到物理对象的特定区域上的一个或多个投影仪,从而优化正被绘制和投影到物理对象的每个分量上的3D内容的图像质量。
因此,需要改进的系统和方法来解决本领域中的这些和其他缺点。
发明内容
下文呈现简化概述以便提供对本公开的一些方面的基本理解。此概述并非本公开的详尽综述。此概述并不希望识别本公开的关键或极其重要的元素或者划定本公开的范围。以下概述仅以简化形式呈现本公开的一些概念,作为对下面描述的序言。
本公开的各方面涉及用于动态地跟踪物理对象并将所绘制的3D内容实时地投影到所述物理对象上的改进系统和方法。某些实施方式可以减少用于跟踪物理对象并在其上绘制3D内容的计算装置上的处理负载。在一些实施例中,由各种图像捕获装置捕获的图像数据可以被分割成各种分量,使得系统可以识别用于将3D内容的每个分量绘制和投影到物理对象上的最优(例如,最佳)投影装置。另外,在此描述的投影系统执行指示物理对象的图像数据的轮廓检测,由此使得系统能够(实时地)跟踪物理对象的位置/角度,并且还能够通过跟踪检测到的轮廓持续指定的时间段以确认它们的有效性来滤除物理对象检测中的“假阳性”。
示例实施例可以涉及被配置用于跟踪、绘制3D内容并将其投影到物理对象上的系统、方法、设备和计算机可读介质。图像捕获装置可以用于收集与物理对象相关的图像和深度数据,系统使用该图像和深度数据来确定物理对象在坐标系/空间内的位置和旋转角度。其他方面涉及绘制要被投影到物理对象的各个区域上的3D内容。系统可以基于每个投影仪相对于将在物理对象上显示的3D内容的各个分量的位置和角度来选择特定的投影装置以将3D内容投影到物理对象上。
在本公开(包括附图)中,更详细地讨论了实施例的这些和其他方面。
附图说明
图1图示了根据示例实施例的可以被配置成向用户提供捕获和传输图像数据的能力的示例系统;
图2图示了可以是图1的系统的一部分或与图1的系统通信的示例计算机装置;
图3示出了根据示例实施例的用于跟踪和捕获对象的图像的系统环境;
图4A至图4B示出了根据示例实施例的指示对象和轮廓检测性能的图像数据的实例;
图5A至图5C示出了根据示例实施例的将内容绘制和投影到物理对象上的实例;
图6A至图6C示出了根据示例实施例的使用参考对象校准投影装置的实例;
图7示出了根据示例实施例的跟踪对象的方法;以及
图8示出了根据示例实施例的将内容绘制和投影到对象上的方法。
具体实施方式
本文所揭示的创新的方面进一步涉及用于在坐标空间中动态地跟踪物理对象且进一步使用从图像捕获装置收集的位置和旋转角度信息将内容绘制和投影到所述对象上的系统和方法。使用改进的处理、跟踪以及绘制技术,在此描述的投影映射系统,可以选择性地和动态地识别用于实时地将内容绘制和投影到物理对象上的最佳投影装置。
在各种实施例的以下描述中,参考附图,这些附图形成本文的一部分,并且其中通过图示的方式示出了可以实施本公开的各方面的各种实施例。应理解,在不脱离本公开的范围和精神的情况下,可以利用其他实施例,并且可以做出结构和功能修改。另外,本公开内的标题不应被视为限制本公开的各方面,并且示例实施例不限于示例标题。
I.示例用户系统
A.说明性网络
本公开的各方面涉及可以在多个网络上利用的系统和方法。就此而言,某些实施例可以被配置成适应动态网络环境。另外的实施例可以用于不同的离散网络环境中。图1图示了根据示例实施例的用户通信系统100的实例。示例系统100可以包括一个或多个互连网络,例如说明性体域网(BAN)102、局域网(LAN)104和广域网(WAN)106。如图1中所示出(并且贯穿本公开所描述的),一个或多个网络(例如,BAN 102、LAN 104和/或WAN 106)可以重叠或以其他方式包括彼此。所属领域的技术人员将了解,说明性网络102至106是可以各自包括一个或多个不同的通信协议和/或网络架构但是可以被配置成具有去往彼此或其他网络的网关的逻辑网络。例如,BAN 102、LAN 104和/或WAN 106中的每个可以以可操作方式连接到同一物理网络架构,例如蜂窝网络架构108和/或WAN架构110。例如,可以被视为BAN 102和LAN 104两者的部件的便携式电子装置112可以包括网络适配器或网络接口卡(NIC),该网络适配器或网络接口卡被配置成根据一个或多个通信协议通过架构108和/或110中的一个或多个将数据和控制信号转换成网络消息和从网络消息转换数据和控制信号,这些通信协议例如为传输控制协议(TCP)、互联网协议(IP)和用户数据报协议(UDP)。这些协议在本领域中是众所周知的,因此在本文中不会更详细地加以论述。
网络架构108和110可以包括单独或组合地一个或多个任何类型或拓扑的信息分配网络,例如缆线、光纤、卫星、电话、蜂窝、无线等,并且因此,网络架构108和110可以以不同方式配置,例如具有一个或多个有线或无线通信信道(包括但不限于:
Figure BDA0003229701400000041
近场通信(NFC)和/或ANT技术)。因此,在图1的网络内的任何装置(例如便携式电子装置112或本文中所描述的任何其他装置)可以被视为包括不同逻辑网络102至106中的一个或多个。有了前述想法,将描述说明性BAN和LAN(它们可联接到WAN 106)的示例部件。
LAN 104可以包括一个或多个电子装置,例如计算机装置114。计算机装置114或系统100的任何其他部件可以包括移动终端,例如电话、音乐播放器、平板电脑、上网本或任何便携式装置。在其他实施例中,计算机装置114可以包括媒体播放器或记录器、台式电脑、服务器、游戏控制台,例如
Figure BDA0003229701400000042
XBOX、
Figure BDA0003229701400000043
Playstation和/或
Figure BDA0003229701400000044
Wii游戏控制台。所属领域的技术人员将了解,这些只是用于描述目的的示例装置,并且本公开不限于任何控制台或计算装置。
所属领域的技术人员将了解,计算机装置114的设计和结构可以依据若干种因素而变化,例如计算机装置114的预期目的。在图2中提供计算机装置114的一个示例实施方式,图2图示了计算装置200的框图。所属领域的技术人员将了解,图2的公开内容可适用于本文中所公开的任何装置。装置200可以包括一个或多个处理器,例如处理器202-1和202-2(在本文中一般称为“处理器202(processors)”或“处理器202(processor)”)。处理器202可以经由互连网络或总线204与彼此或其他部件通信。处理器202可以包括一个或多个处理核心,例如核心206-1和206-2(在本文中作为“核心(cores)206”或一般被称为“核心206(core)”),处理核心可以实现于单个集成电路(IC)芯片上。
核心206可以包括共享高速缓存208和/或私有高速缓存(例如,分别为高速缓存210-1和210-2)。一个或多个高速缓存208/210可以在本地高速缓存存储在例如存储器212的系统存储器中的数据,以供处理器202的部件进行更快的存取。存储器212可以经由芯片组216与处理器202通信。在某些实施例中,高速缓存208可以是系统存储器212的一部分。存储器212可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM),并且包括固态存储器、光学或磁性存储装置和/或可以用于存储电子信息的任何其他介质中的一个或多个。另外的其他实施例可以省略系统存储器212。
系统200可以包括一个或多个I/O装置(例如,I/O装置214-1至214-3,每个I/O装置一般被称为I/O装置214)。来自一个或多个I/O装置214的I/O数据可以存储在一个或多个高速缓存208、210和/或系统存储器212处。每个I/O装置214可以被永久性或暂时性地被配置成使用任何物理或无线通信协议而与系统100的部件操作性通信。
返回到图1,示出四个示例I/O装置(示出为元件116至122)与计算机装置114通信。所属领域的技术人员将了解,装置116至122中的一个或多个可以为单独装置,或可以与除计算机装置114之外的另一装置相关联。例如,一个或多个I/O装置可以与BAN 102和/或WAN106的部件相关联或与其交互。I/O装置116至122可以包括但不限于活动数据获取单元,例如传感器。一个或多个I/O装置可以被配置成感测、检测和/或测量例如用户124的用户的运动参数。实例包括但不限于:加速度计、陀螺仪、位置确定装置(例如,GPS)、光(包括不可见光)传感器、温度传感器(包括环境温度和/或体温)、睡眠模式传感器、心率监测仪、图像捕获传感器、湿度传感器、力传感器、指南针、角速率传感器和/或其组合等等。
在另外的实施例中,I/O装置116至122可以用于提供输出(例如,听觉、视觉或触觉提示)和/或接收输入,例如用户124的用户输入。在下文提供这些说明性I/O装置的示例使用,但是所属领域的技术人员将了解,此类论述只描述了在本公开的范围内的许多选择方案中的一些。另外,对任何数据获取单元、I/O装置或传感器的提及应被解释为公开可以具有(呈个别或组合形式的)本文中所公开的或本领域中已知的一个或多个I/O装置、数据获取单元和/或传感器的实施例。
系统100可以被配置成传输和/或接收数据,包括由在系统100内收集的或以其他方式提供到系统100的便携式装置112(和/或例如相机的独立图像捕获装置118)内的图像捕获装置捕获的图像数据。作为一个实例,WAN 106可以包括服务器111。服务器111可以具有图2的系统200的一个或多个部件。在一个实施例中,服务器111包括至少一个处理器和存储器,例如处理器206和存储器212。服务器111可以被配置成在非暂时性计算机可读介质上存储计算机可执行指令。指令可以包括图像数据,例如在系统100内收集的原始或经处理数据。系统100可以被配置成将例如图像和/或视频的数据传输到社交网站或托管这样的网站。服务器111可以用于准许一个或多个用户存取由一个或多个用户获得的图像数据。因而,服务器111可以被配置成基于图像数据或其他信息而传输和/或接收通知。
返回到LAN 104,计算机装置114示出为与显示装置116、图像捕获装置118、传感器120操作性通信,该显示装置116、图像捕获装置118、传感器120在下文参考示例实施例依次论述。在一个实施例中,显示装置116可以向用户124提供视听提示以捕获特定对象的图像。视听提示可以响应于在计算机装置114或包括BAN 102和/或WAN的装置的任何其他装置上执行的计算机可执行指令而提供。显示装置116可以为触摸屏装置,或以其他方式被配置成接收用户输入。
可以从图像捕获装置118(和/或便携式装置112)获得图像数据和/或深度数据,该图像捕获装置118可以用于检测图像数据内的项目(和/或训练系统以检测图像数据内的项目)。图像捕获装置118可以包括收发器装置。例如,图像捕获装置118可以将波形传输到环境中,包括朝向用户124的方向传输,并且接收“反射”或以其他方式检测那些所释放的波形的更改。所属领域的技术人员将很容易了解,可以根据各种实施例利用对应于大量不同数据频谱的信号。就此而言,装置118可以检测从外部来源(例如,不是系统100)发射的波形。例如,装置118可以检测从用户124和/或周围环境发射的热。因此,图像捕获装置126可以包括一个或多个热成像装置。在一个实施例中,图像捕获装置126可以包括被配置成执行距离现象学的IR装置。在其他实施例中,图像捕获装置可以包括深度传感器相机。
BAN 102可以包括两个或更多个被配置成接收、传输或以其他方式有助于收集图像数据的装置(包括无源装置)。示例性装置可以包括一个或多个数据获取单元或本领域中已知的或本文中所公开的装置,包括但不限于I/O装置116至122。BAN 102的两个或更多个部件可以直接通信,但在其他实施例中,通信可以经由第三装置来实施,第三装置可以是BAN 102、LAN 104和/或WAN 106的一部分。LAN 104或WAN 106的一个或多个部件可以形成BAN 102的一部分。在某些实施方式中,例如便携式装置112的装置是否是BAN 102、LAN 104和/或WAN 106的一部分可以取决于用户相对于存取点的接近度,以准许与移动蜂窝网络架构108和/或WAN架构110进行通信。用户活动和/或偏好也可能影响一个或多个部件是否用作BAN 102的一部分。下面提供示例实施例。
用户124可以与任何数目的装置相关联,例如,拥有、携带、佩戴和/或交互,该装置例如是便携式装置112、安装在鞋上的装置126、腕戴式装置128。一个或多个装置112、126、128可以被专门设计用于图像捕获目的。实际上,可以利用来自一个或多个装置的数据来收集和检测图像数据,并且在一些情况下收集和检测运动数据。在某些实施例中,BAN 102(或任何其他网络)中的一个或多个装置可以包括被专门设计用于捕获特定类型的图像数据的图像捕获装置。
观察说明性便携式装置112,它可以是例如包括电话或数字音乐播放器的多用途电子装置,包括可以从加利福尼亚库比蒂诺的苹果公司购得的
Figure BDA0003229701400000071
Figure BDA0003229701400000072
品牌装置,或可以从华盛顿雷德蒙德的微软购得的
Figure BDA0003229701400000073
Figure BDA0003229701400000074
Windows装置。如本领域中已知,数字媒体播放器可以用作计算机的输出装置、输入装置和/或存储装置。装置112可以被配置成用于接收从BAN 102、LAN 104或WAN 106中的一个或多个装置收集的原始或经处理数据的输入装置。在一个或多个实施例中,便携式装置112可以包括计算机装置114的一个或多个部件。例如,便携式装置112可以包括显示器116、图像捕获装置118和/或一个或多个数据获取装置,例如上文所论述的I/O装置116至122中的任一个,同时可以具有也可以不具有额外部件,以便包括移动终端。
在某些实施例中,I/O装置可以形成于用户124的衣服或配饰内或以其他方式与用户124的衣服或配饰相关,这些衣服或配饰包括手表、臂带、腕带、项链、衬衫、鞋等等。这些装置可以被配置成捕获图像数据。应理解,它们可以在用户124与计算机装置114交互期间检测基于一个或多个运动移动,和/或可以独立于计算机装置114(或本文中所公开的任何其他装置)进行操作。例如,BAN 102中的一个或多个装置可以被配置成用作全天活动监测器,这种监测器不管用户相对于计算机装置114的接近度如何或是否与计算机装置114交互都测量活动。在某些实施例中,图1中所示的装置126可以包括可包括一个或多个传感器的鞋类,传感器包括但不限于本文中所公开的和/或本领域中已知的那些传感器。
图1的元件130示出可以与物理装置相关联的示例传感位置,该物理装置例如为传感器、数据获取单元或其他装置。但在其他实施例中,它可以是例如经由图像捕获装置(例如,图像捕获装置118)监测的身体部分、区域或穿着产品的特定位置。在某些实施例中,元件130可以包括传感器,使得元件130a和130b可以为集成到例如运动服的服装中的传感器。此类传感器可以被放置在用户124的身体的任何所需位置处。传感器130a/b可以与BAN102、LAN 104和/或WAN 106的一个或多个装置(包括其他传感器)通信(例如,以无线方式)。
II.根据本公开的实例的动态投影映射系统的总体描述
一般而言,如上所述,本发明的一些方面涉及用于对来自包括三维(3D)点云的多个点云的图像数据(例如,指示二维(2D)图像的数据、深度信息等)执行轮廓检测,并将3D内容动态地投影到所跟踪的对象的位置和旋转角度的系统和方法,所跟踪的对象包括但不限于诸如鞋类、服装、运动装备等的消费品。
在此描述的投影映射系统可以使用各种不同的传感器和/或图像捕获装置来跟踪各种类型的对象,包括任何期望类型的消费产品。例如,该系统可以利用一个或多个图像捕获装置(例如深度传感器相机)来捕获物理对象的图像和深度数据,以确定物理对象的空间坐标或位置,并且进一步确定由一个或多个图像捕获装置检测到的物理对象的旋转角度。空间坐标和旋转角度可以相对于任何合适的参考系来确定,例如成像装置的坐标空间或其中要跟踪物理对象的跟踪空间。该系统可以利用可以位于物理对象附近和/或周围的一个或多个图像捕获装置,以从多个不同位置和/或视角捕获对象的一个或多个图像、视频和/或深度信息(即,图像数据)。使用经由图像捕获装置获得的捕获到的图像数据,系统还可以执行物理对象的轮廓检测和跟踪,例如,系统可以使用捕获到的图像数据来检测物理对象的一个或多个边界。
该系统通过处理由一个或多个图像捕获装置捕获的图像数据以识别物理对象的一个或多个轮廓来实现这种轮廓检测,并且该系统还跟踪一个或多个轮廓的位置和/或旋转角度。例如,系统可以跟踪一个或多个轮廓相对于物理对象的指定区域的位置和/或旋转角度。轮廓可以包括线(例如直线或曲线),例如表示对象的表面区域的边界的线。轮廓可以包括形状,例如对象的表面区域的二维形状,其可以是对象的表面区域的二维或三维形状。例如,当所跟踪的物理对象是鞋类时,该系统可以跟踪鞋类的足部区域(例如,地平面)、鞋类的外底区域、鞋类的中底区域、鞋类的鞋头区域,和/或鞋类的“足踝”区域(例如,地平面以上指定的英寸数)内的位置和角度信息。足踝区域可以位于“足部区域”上方指定的英寸数处,例如,在固定足部区域上方3、4、6或7英寸。用户或系统管理员可以指定归因于足部和足踝区域的位置和/或区域。作为另一实例,系统可跟踪鞋类的“鞋面”区域(例如,包括鞋类鞋面的鞋类部分)内的位置和角度信息。另外,该系统可以执行边缘检测,以在从一个或多个图像捕获装置获得的图像数据中找到所跟踪的物理对象的一个或多个边界。当执行这种边缘检测时,系统识别从一个或多个图像捕获装置获得的图像数据中的数据点,在这些数据点处,图像的亮度水平突然改变或具有不连续性。例如,系统可以将图像数据中的一个或多个数据点的亮度和/或图像对比度的变化(例如,增量)与阈值进行比较。附加地或替代地,系统可以将图像数据中的一个或多个数据点的亮度和/或图像对比度的测量水平与阈值或阈值范围进行比较。因此,系统确定图像亮度突然变化的数据点(例如,图像数据中的一个或多个数据点满足一个或多个确定的阈值)通常由系统组织成一组曲线段或“边缘”。
该系统可以利用指示所跟踪的物理对象的捕获到的图像数据以及轮廓检测信息来绘制物理对象的3D模型。系统可以将所绘制的对象的3D模型存储在数据库(或其他合适的存储器)中,以供系统随后使用。所绘制的3D模型可以被存储到系统内的存储位置和/或外部存储位置。系统可以确定对象的所绘制的3D模型的一个或多个分量(例如,感兴趣区域),并将该信息与3D模型一起存储在单独的数据库、服务器或其他合适的存储器中。这种分量可以包括待检测的轮廓,从而可以确定与指定分量的轮廓相关的位置和/或角度信息。因此,与3D模型相关联的分量和轮廓信息可与3D模型一起存储在数据库(例如,将分量和轮廓信息与相应3D模型相关联的关系数据库)中。与3D模型相关联的每个轮廓的位置和/或旋转角度信息也可以存储在数据库中。对于与3D模型相关联的一个或多个轮廓中的每一个,系统可以使用数据库来确定所述轮廓的位置和/或旋转角度信息。附加地或替代地,系统可以使用与3D模型相关联的点云信息来确定所述轮廓的位置和/或旋转角度信息。另外,系统可利用物理对象的所绘制的3D模型来经由一个或多个图像投影装置(例如,投影仪)将3D模型投影到包含物理对象的跟踪空间中的位置上。例如,在被跟踪的物理对象是鞋类的实例中,系统可利用一个或多个投影仪将鞋类的所绘制的3D模型的一个或多个不同分量投影到鞋类上。在该实例中,系统可基于物理对象和3D模型的分量的位置和旋转角度以及投影仪将所绘制的3D模型的图像投影到物理对象上的角度来确定特定投影仪(或多个投影仪),以投影所绘制的3D模型的特定分量(或多个分量)。例如,系统可以确定具有用于将3D模型的图像投影到被跟踪对象上的最有利(例如,最佳)投影角度的一个或多个投影仪。换句话说,对于所绘制的3D模型的每个分量,系统可以确定哪个投影仪以最优地面对3D模型分量并且因此最佳地将3D模型分量投影到物理对象上的方式定位。如上所述,系统可以基于物理对象和3D模型的一个或多个分量的位置来确定一个或多个投影仪以投影所绘制的3D模型的一个或多个分量。在一些情况下,系统可利用物理对象和3D模型的分量的当前位置来确定一个或多个对象。
系统可以将诸如图像、照片、视频等各种内容投影到物理对象的各个部分/段上。另外,系统可以在对象(例如,鞋类)的各个部分上显示内容,诸如:将颜色投射在鞋类制品的一部分(例如,各种鞋面部分或元件、各种中底部分或元件、各种外底部分或元件等)上;将图片或其他图形数据投影在鞋类上,将标志数据投影在鞋上(例如,鞋类制造商的标志、团队或团体标志等);将纹理数据投影在鞋上等。虽然上面结合3D内容在鞋类上的投影进行了描述,但是根据本公开的系统也可以用于投影各种其他类型的对象和消费产品(诸如服装、运动装备等)的内容。该内容可以不包括为了确定鞋类的相应轮廓的位置和/或角度信息而检测到的鞋类的轮廓。
在上述的鞋类实例中,投影映射系统可以包括多个图像装置,以从多个不同位置和/或多个不同视角捕获与物理对象相关联的图像数据。例如,系统可以从围绕物理对象的多个不同位置捕获鞋类的一个或多个图像。指示鞋类的图像数据可以存储在各种位置,包括图像捕获装置的存储器,或驻留在投影映射系统内(或外部)的一个或多个计算装置的存储器。在一些情况下,系统管理员(或其他用户)可以使用经由一个或多个软件应用程序提供的用户界面来查看所捕获的图像数据,以用于动态地跟踪3D内容并将其绘制到物理对象上。这样的软件应用程序可以在用户装置、投影映射系统内的一个或多个计算装置、投影映射系统外部的一个或多个计算装置或其某种组合上执行。
在一些情况下,用户(例如系统管理员)可以使用投影系统内(和/或外部)的一个或多个计算装置来存取跟踪软件应用程序(例如跟踪引擎)和/或再现软件应用程序(例如绘制引擎)。这些一个或多个计算装置可以在网络内建立通信信道并且与提供用于跟踪物理对象和/或将3D模型绘制到物理对象上的数据处理的服务器系统(包括一个或多个服务器计算机)通信。任何期望的通信链路和通信协议可以用于提供和控制计算装置与系统之间的数据交换。系统管理员(或其他用户)可以使用计算装置来经由网络(诸如因特网、局域网(LAN)、广域网(WAN)或如上关于图1所述的其他网络)连接到投影映射系统。用户可经由合适的通信信道将其计算装置连接到系统,合适的通信信道例如为来自链接到制造商和/或系统管理员的网站门户的各种社交网络网站的网站门户和应用程序。
在不脱离本公开的各方面的情况下,各种类型的计算装置可用于与投影映射系统交换数据,诸如能够建立联网连接和/或对等连接并能够提供必要的显示、用户界面和输入能力的计算装置,如以下将更详细地描述的。在根据本发明的至少一些实例的系统和方法中可以使用的计算装置的一些更具体的实例包括但不限于:台式计算机、个人计算机、膝上型计算机、掌上计算机、手持计算机、蜂窝电话、任何其他移动装置或智能手机、个人数字助理、计算机工作站、电视等。
在根据本发明的实例的系统和方法中可以使用的计算装置可以包括一个或多个输入装置和数据处理系统(例如,包括一个或多个微处理器)。可以包括在计算装置中的输入装置的实例可以包括图1和图2中所说明的一个或多个装置,并且不限于传统的输入装置,例如:键盘(硬键盘或软键盘);鼠标、跟踪球、滚动球、触摸板或其他定点装置;触控笔或其他笔型输入装置(例如,用于平板PC型计算装置);磁盘驱动器;USB端口;网络连接;操纵杆型控制器;电话连接;以太网连接;语音识别功能;等等。此外,计算装置可以具有“触摸屏”功能,使得用户通过由用户的手指或例如触控笔的选择装置物理地触摸显示器的屏幕来将数据输入到计算装置中。另外,可以提供与根据本发明的系统和方法的计算装置结合使用的任何期望类型的显示装置,包括与计算装置本身集成的显示装置或与计算装置分离但与其通信的显示装置,例如投影仪显示器、单独的监视器显示器等。
用于生成以上论述的用户界面的软件可以驻留在存在于计算装置或服务器系统上或可用于计算装置或服务器系统的计算机可读介质上。用户界面将由用户的计算装置和/或服务器系统来提供和控制,并且通过用户界面输入的用于生成、维护和接收的数据将经由计算机可读介质生成和提供,该计算机可读介质作为计算装置和/或服务器系统的一部分被包括或与计算装置和/或服务器系统的一部分相关联。这种计算机可读介质的实例包括但不限于:计算机可读存储器,所述计算机可读存储器既可在计算机内部(例如,硬盘驱动器)也可与计算机分离(诸如磁盘、固态或闪存装置、通过网络连接可用的数据等),所述计算机可读存储器包括计算机领域中传统上已知的和使用的任何类型的计算机可读介质。附加地或替换地,如果需要,软件或其至少一些部分可以驻留在一个以上的计算装置或服务器系统上,这些计算装置或服务器系统全部或部分地位于投影映射系统之内或之外。服务器系统可以由与操作和维护计算装置和/或网络的相同组织或个人来操作和维护,或服务器系统可以由与任何或全部这些实体分开的一方来操作、控制和维护。作为一些更具体的实例,服务器系统可以由一个或多个通过下面描述的分类系统和方法对其产品进行分类的实体(例如,零售商、制造商或零售商选择的供应商等)来操作和维护(并且用户界面软件也可以被操作和维护)。
图像数据可以从一个或多个图像捕获装置捕获,例如位于移动终端装置上的相机、摄像机、静止图像相机、深度传感器相机、及其一些组合和/或配置成检测包括光、磁场和/或热能的能量的波长的任何设备。图像捕获装置可以包括相机(例如,摄像机、深度传感器相机)、投影仪和一个或多个处理器(即,CPP单元)中的一个或多个。如本文中所使用的,“图像数据”可以包括原始的和/或压缩的数据,或以物理的有形形式或作为电子信息存储在计算机可读介质上。此外,多个图像可以形成视频和/或深度传感器信息的一部分。因此,对图像数据、图像和/或图片的引用包含视频、深度传感器信息等。
当用户在零售环境中时,图像数据可以由一个或多个图像捕获装置(例如,CPP单元)捕获。例如,计算机可读介质可以包括计算机可执行指令,该计算机可执行指令在被执行时可以使得获取鞋类或零售店中由客户穿着的其他产品的多个图像/视频。例如,便携式电子装置112可以包括允许用户124(或其他用户,例如系统管理员)使用一个或多个图像捕获装置(便携式电子装置的一部分和/或外部图像捕获装置)来捕获与一个或多个物理对象相关的图像数据的应用程序。
在用户(例如,系统管理员)使用软件应用程序(例如,跟踪和绘制引擎)激活图像捕获功能(其可以是硬按钮或软按钮)时,系统内、系统外部的一个或多个计算装置(例如,计算装置114/314)或其某种组合可以处理所捕获的图像数据以跟踪一个或多个物理对象和/或绘制对象的3D模型,并且进一步将该3D模型投影到物理对象上。附加地或替代地,该数据处理的一个或多个步骤可以由一个或多个图像捕获装置(例如,CPP单元)中的一个或多个处理器来执行。否则,用户可以经由用于执行物理对象的跟踪和/或3D模型的绘制/投影的软件应用程序来选择所捕获的图像数据。可以基于由图像捕获装置获得的图像数据(例如深度传感器数据)来全部或部分地捕获/确定图像数据。
如上所述,系统可以使用例如CPP单元的一个或多个图像捕获装置来捕获跟踪空间内的一个或多个物理对象的图像。例如,如图3所示,投影映射系统300可以包括多个CPP单元(例如,CPP单元302、304、30、308),用于捕获跟踪空间(例如,跟踪空间321)内的一个或多个物理对象(例如,鞋类320)的图像,该跟踪空间被CPP单元围绕。如图3所示,一个或多个CPP单元可以可操作地连接到其他CPP单元和/或与其他CPP单元通信。各种通信方法可以在使CPP单元能够与一个或多个其他CPP单元通信的系统内实现。例如,CPP单元可以被配置成经由一个或多个有线或无线通信信道(包括但不限于:
Figure BDA0003229701400000131
近场通信(NFC)和/或ANT技术)通信。另外,尽管图3图示了四个CPP单元,但是系统300可以包括更少或附加的CPP单元,用于捕获图像数据,例如指示鞋类320的视频或深度传感器数据。用于捕获一个或多个物理对象(例如,鞋类320)的图像的CPP单元的数量可由系统管理员确定。一个或多个CPP单元可以使用有线或无线连接将信息(例如,图像数据)传输到投影系统内的一个或多个计算装置(例如,计算装置314),或者传输到其他CPP单元。例如,如图3中的元件318所示,CPP单元304可以具有与计算装置314的直接通信信道,例如,经由与计算装置314的有线或无线连接。尽管在图3中未示出,但是一个或多个其他CPP单元可以经由有线连接以可操作方式与计算装置314(或投影系统内的其他计算装置)通信。附加地或替代地,一个或多个CPP单元可以经由无线连接(例如,经由网络301)以可操作方式与计算装置314(或图3中未示出的其他计算装置)通信。网络301可以包括和/或具有与以上在图1中描述的一个或多个说明性网络(例如,说明性网络102至106)相同的功能。
如上所述,投影映射系统可以利用一个或多个CPP单元的数据处理能力来处理由CPP单元捕获的图像数据。通过在一个或多个CPP单元本地执行一些预处理功能,使得系统能够提供用于处理大量数据的增加的可扩展性,而不是在CPP单元外部的位置或投影映射系统外部的其他装置处执行这样的处理功能。另外,在本地执行这种预处理功能使得系统能够减少由CPP单元捕获的图像数据的传送和外部处理导致的网络负载和等待时间。另外,通过在CPP单元本地执行一些预处理功能,执行由系统执行的数据过滤(例如,通过在指定时间段内跟踪检测到的轮廓以确认它们各自的有效性来过滤掉与物理对象检测相关联的“假阳性”)更接近于系统和CPP单元的感测以及由系统和CPP单元执行的图像捕获。如下面更详细地讨论的,系统可以基于从多个深度传感器相机(例如,CPP单元)获得的数据,使用跟踪的物理对象/模型作为参考,在一个或多个时间段期间将与相应CPP单元相关联并由相应CPP单元捕获的各个坐标空间校准到一个一致的空间中。为了执行这种校准,系统可以经由跟踪引擎输出用于在显示装置上显示的所跟踪的物理对象的匹配虚拟3D模型,以帮助用户(例如,系统管理员)手动地和/或可视地对准从由一个或多个CPP单元获得的图像数据生成的一个或多个点云(例如,由坐标空间定义的多个数据点/数据点集合)。点云可以由各种坐标系/空间定义,例如3D笛卡尔坐标系。如上所述,系统可以使用从一个或多个CPP单元获得的数据和由CPP单元收集的图像/深度数据来生成一个或多个点云。例如,在使用一个或多个CPP单元在变化的位置和从变化的角度捕获鞋类320的图像之后,系统(例如,CPP单元和/或计算装置314)可以生成和/或存储从鞋类320的表面返回(并且覆盖鞋类320的表面)的若干数据点。
III.根据本公开的实例的由动态投影映射系统执行的跟踪和绘制的总体描述
如上所述,投影映射系统可以使用一个或多个图像捕获装置(例如CPP单元)来获得对应于一个或多个被跟踪的物理对象(例如鞋类)的图像数据(例如深度传感器数据)。一个或多个CPP单元可以由用户(例如,系统管理员)配置来以指定的帧速率获得图像数据。例如,一个或多个CPP单元可以被配置成以每秒30帧(“fps”)获得图像数据。CPP单元可以被配置成由用户(例如,系统管理员)以其他帧速率捕获图像数据,诸如以20fps、25fps、30fps或35fps捕获图像数据。如图3所示,多个图像捕获装置可获得与被跟踪的对象(例如鞋类320)相关的图像数据。系统可以使用一个或多个图像捕获装置中的每一个来从各种不同位置、高度、角度等捕获与对象(例如,鞋类320)相关的图像数据。由CPP单元获得的图像数据例如经由网络301被发送到一个或多个计算装置(例如,计算装置314),以用于将3D内容跟踪和/或绘制到一个或多个对象(例如,鞋类320)上。
如上所述,所捕获的图像数据可以全部或部分地由一个或多个CPP单元和/或一个或多个计算装置(例如,计算装置314)处理,以生成所跟踪的物理对象的一个或多个点云。为了避免疑问,点云包括在空间参考系中定义的并且对应于对象表面上的位置的多个点。如上所述,在一个或多个计算装置上执行的软件应用程序在这里被称为“跟踪引擎”,这些计算装置由系统用来跟踪物理对象,并且如下面更详细地讨论的,用来确定被跟踪对象的有效位置和角度信息。作为实例,图4A图示了使用由图3所示的一个或多个CPP单元捕获的图像数据生成的点云的绘制401。如图4A所示,系统可以使用来自一个或多个CPP单元的组合图像数据来生成例如用于跟踪空间的笛卡尔坐标系的坐标空间(例如,X/Y坐标空间)中的被跟踪对象(例如,元件420)的单个点云。在一些情况下,系统可以生成被跟踪对象的一个或多个点云。系统可以在设定的时间段(例如,10秒、15秒、30秒等)内使用CPP单元连续地捕获图像数据,以生成与被跟踪对象相关的多个点云。用户(例如,系统管理员)可以建立收集指示物理对象的图像数据的时间段。所生成的被跟踪对象的点云可经由用户界面显示在示例性坐标空间中,如图4A中的元件401所示。
投影系统可以组合多个生成的点中的一个或多个点云,并且组合的点云由系统从固定视角绘制以创建跟踪空间的图像。例如,系统可以使用指定的视角来绘制组合的点云,以创建跟踪空间和/或物理对象的2D图像。用户或系统管理员可以指定各种视角,包括自顶向下视角、自底向上视角、左右视角等。在2D自顶向下图像的实例中,系统使用预定视觉技术(例如开放库)来处理图像数据,以识别并定位图像数据内的轮廓(例如,像素分组),且进一步确定一个或多个所识别轮廓的X/Y坐标位置以及围绕竖直轴(例如,Z轴)的旋转角度。例如,系统可以对为图4A所示的被跟踪对象420生成的一个或多个点云执行轮廓检测,并且因此可以确定系统为被跟踪物理对象检测的一个或多个轮廓的位置和/或旋转角度,如图4B所示。附加地或替代地,不是通过围绕竖直轴的旋转来跟踪一个或多个对象,而是系统可以被配置成跟踪在三维中移动的一个或多个物理对象,例如,用户在跟踪空间内移动或旋转物理对象。一个或多个生成的点云的检测到的轮廓连同对应的位置和旋转角度信息可以由系统经由用户界面显示,如图4B中的元件411所示。
该系统可以在指定的时间段内跟踪一个或多个轮廓的位置和/或旋转角度。例如,系统可以跟踪轮廓的位置和/或角度十分之一秒、四分之一秒、二分之一秒、或其他合适的时间段。系统管理员或用户可以建立用于跟踪一个或多个轮廓的时间段。该系统可以被配置成在时间段内跟踪轮廓的位置和/或角度,使得检测到的轮廓的有效性可以由该系统确定。例如,系统可以在时间段内跟踪轮廓的位置和/或角度,使得系统认为轮廓是有效的,因为它已经在捕获的图像数据中存在预定的时间段(例如四分之一秒)。由系统用来建立轮廓有效性的时间段可以由用户(例如系统管理员)来设置。通过在指定的时间段内跟踪轮廓(或多个轮廓)以确定其有效性,从而使得系统能够滤除可能由三维噪声引起的“假阳性”,否则该三维噪声在消失之前可能被解释为一个或多个图像帧的有效对象(或其轮廓)。它还可以排除当对象在跟踪空间内移动时检测到的轮廓,并且这可以通过避免当对象以使得基于图像的跟踪系统不能准确地捕获对应于对象在相应跟踪空间内的单个位置和取向的对象的图像数据的速度移动时的轮廓检测来提高跟踪系统的准确性。
系统可以将一个或多个有效的、被跟踪的对象的位置和角度信息传输到绘制引擎以进行处理。有效的被跟踪对象的位置和角度信息可以被连续地传输到绘制引擎。例如,系统可以将用于一个或多个被跟踪对象的有效X/Y位置数据和旋转角度数据传输到绘制引擎。在一些实例中,如上所述,绘制引擎可以全部或部分地由投影映射系统内的一个或多个计算装置和/或投影映射系统外部的一个或多个计算装置来执行。在绘制引擎在一个或多个远程计算装置上执行的实例中,系统可以将所确定的位置和角度信息传输到外部执行的绘制引擎以用于进一步的数据处理。
该系统可以利用存储在一个或多个计算装置(例如,计算装置314)或其他合适的存储器中的虚拟3D模型(例如,虚拟设计)来在由跟踪引擎确定的一个或多个被跟踪物理对象的位置和/或角度处投影3D模型的绘制。投影映射系统(或投影映射系统外部的一个或多个计算装置)可以通过对物理对象的一个或多个尺寸进行3D扫描来生成对象的虚拟3D模型。例如,系统可以通过对特定鞋类/鞋模型的一个或多个尺寸进行3D扫描来创建鞋类的虚拟3D模型。
该系统可以使用专门编程的计算装置(例如旋转扫描仪),从而使用一个或多个图像捕获装置(例如CPP单元302、304、306和308)来捕获特定产品的多个图像(例如,3D扫描)。例如,旋转扫描仪可以用于收集指定数量的对象的分离图像(例如,120个图像),这些分离图像可以对应于5个(五个)不同的图像捕获装置,每个捕获24个(二十四个)对象的图像。当一个或多个物体在盘片上旋转时,用于生成3D扫描的每个图像捕获装置可以以指定的角度安装,从而允许图像捕获装置以多个不同的角度捕获对象。附加地或替代地,当一个或多个图像捕获装置围绕对象旋转以捕获指定数量的图像时,一个或多个对象可以保持静止。所捕获的图像和利用旋转扫描仪创建的3D扫描可用于开发和绘制所跟踪对象的3D模型。在本公开的其他实施例中,一个或多个远程计算装置可以创建对象的虚拟3D模型,并且还可以将指示3D模型的数据发送到投影系统以用于存储和/或由系统随后用于将接收到的3D模型绘制到一个或多个物理对象上。
在获得或创建一个或多个被跟踪的物理对象的虚拟3D模型之后,系统可以通过将模型拆分和/或分割成一个或多个感兴趣区域,或者换言之,将模型拆分成一个或多个对象部件来简化3D模型。例如,在被跟踪对象是鞋类的实例中,一个或多个感兴趣区域可包括鞋类的各种部件,诸如鞋舌根部、鞋跟、中底、鞋面等。系统可以使用标准手动3D建模技术和/或应用程序软件(例如“3D涂层”)将3D模型拆分和/或分割成各种分量。在一些情况下,系统可以从服务器、数据库或其他合适的存储器检索指示第一对象的信息和特征的数据,例如鞋类制品的预存储模型。检索到的数据还可以包括指示与第一对象相关联的一个或多个预定义的感兴趣区域的信息。在检索数据之后,系统可以通过将3D模型的一个或多个部分与第一对象的对应部分进行比较来确定虚拟3D模型的一个或多个感兴趣区域。例如,在第一对象是鞋类制品的情况下,系统可以将第一对象的一部分(例如,鞋舌根部、鞋跟、中底、鞋面等)与3D模型的对应部分进行比较。在比较期间,系统可以基于与第一对象的正与3D模型比较的部分相关联的一个或多个预定感兴趣区域的位置,将感兴趣区域分配给3D模型。
在本公开的一些方面中,系统可从服务器、数据库或其他合适的存储器检索指示多个预存储(例如,预建)模型(例如,上文段落[0057]中所论述的第一对象)的轮廓信息的数据。该轮廓信息可以识别与每个预存储模型相关联(或先前检测到的)的一个或多个轮廓。系统可以将检测到的与3D模型相关联的轮廓(例如,如以上在段落[0036]至[0039]和[0052]至[0053]中所论述的)与多个预存储模型中的一个或多个相关联的轮廓信息进行比较,以确定特定的预存储模型,用于确定正被跟踪的对象的位置和取向信息,如以下将进一步详细描述的。当确定被跟踪对象的位置、地点和取向时,系统可以将预存储模型的轮廓信息与3D模型的检测到的轮廓进行比较。多个预存储模型可以包括对应于代表性对象(例如,鞋类制品)的不同尺寸的一个或多个模型缩放模型。因此,通过比较预存储的各种尺寸的模型的轮廓信息,该系统被配置成使用轮廓来确定对象(例如,鞋类制品)的位置和/或取向,即使所跟踪的对象的精确尺寸的检测到的轮廓没有被包括在预定的模型几何形状中。
通过将3D模型分割成一个或多个感兴趣区域来改善系统的可扩展性,从而允许系统绘制更大范围的对象尺寸(例如,鞋类尺寸)。另外,通过选择性地缩放最接近匹配对象尺寸的几何形状,使用3D模型的子集来绘制更大范围的对象尺寸,也改进了系统的可扩展性。假定诸如鞋类、服装、运动装备等的对象的几何形状通常以相当可预测的方式根据尺寸而改变,则该系统能够选择性地缩放最接近匹配对象尺寸的几何形状。
所得到的3D模型由系统在从跟踪引擎接收的被跟踪的位置和/或角度处实时地绘制。如图5A中的实例所示,系统可以使用被跟踪对象(例如,元件522)的预建的3D模型,并且还可以将3D模型定位在由经由跟踪引擎获得的数据指定的X/Y坐标位置和旋转角度处。可以从数据库、服务器或保持多个预建模型(例如,以上在段落[0058]中论述的预存储模型)的其他合适的存储器中检索系统所利用的预建模型。所绘制的3D模型(其被对准以匹配所跟踪的物理对象的位置和旋转角度)可以由系统经由用户界面来显示,如图5A中的元件502所示。系统可利用虚拟相机从每个投影仪(例如,CPP单元)的视角绘制所跟踪对象的所得/最终场景,系统利用这些投影仪将所绘制/所得3D模型投影到所跟踪物理对象上。如图5B和图5C所示,系统可以利用一个或多个投影仪将绘制的3D模型输出到物理对象上,该绘制的3D模型通过位置和角度与被跟踪的对象对准。具体地,如图5B所示,一个或多个CPP单元(例如,CPP单元302、304、306、308)将所绘制的3D模型(例如,模型522)投影到所跟踪的物理对象上,在该实例中,所跟踪的物理对象是一对白色网球鞋。如图5B中的元素520所描绘的,正被投影到白色网球鞋上的所绘制的3D模型是没有对准的,导致所投影的3D内容的一部分错过物理对象并且溢出到其他表面(例如,地板)上。
然而,如上所述,假设系统的跟踪引擎和绘制引擎实时地操作,并且进一步地,假设跟踪引擎在预定时间段内跟踪物理对象的位置和旋转角度,则系统能够确定(实时地)所跟踪的物理对象的最当前的位置和角度信息。因此,由跟踪引擎获得并被发送到绘制引擎的实时(或更新的)角度和位置信息由此允许系统经由一个或多个投影仪将所绘制的3D模型适当地投影到所跟踪的物理对象上。例如,如图5C的元素521所图示的,系统可以动态地并且实时地使用更新的位置/角度信息来将绘制的3D模型/内容投影到网球鞋上,使得所绘制的3D模型/内容与被跟踪的物理对象更紧密地对准并且被投影到被跟踪的物理对象上,从而使任何溢出效应(如果有的话)最小化,并且改善显示在物理对象上的3D模型/内容的投影图像质量。这样,就所跟踪的物理对象在跟踪空间内移动或被移动的程度而言,系统可以使用对象的更新的位置和/或角度信息来动态地更新,其中各个投影仪将所绘制的3D模型/内容投影到对象上,从而确保所投影的内容与物理对象对准。
系统可以不尝试推断正被跟踪的物理对象的尺寸和/或其他特性(例如,鞋的尺寸、鞋的型号等),因为该信息可以由用户或系统管理员使用输入装置(诸如先前关于图1和2讨论的一个或多个输入装置)来手动指定。附加地或替代地,该系统可以完全地或部分地基于图像数据和由图像捕获装置和/或跟踪引擎收集/获得的其他信息来确定关于被跟踪对象的特征信息(可选地包括鞋的尺寸、鞋的型号等)。
在本公开的其他实施例中,不是如上所述通过尝试匹配物理对象的已知几何形状来在对象上绘制虚拟3D模型,而是系统可绘制可完全和/或基本上覆盖所跟踪的物理对象(例如,覆盖对象的75%至99%)的大无定形对象的投影。系统然后可以使用3D图像数据(包括由一个或多个图像捕获装置获得的深度数据)来动态地绘制掩模图像,以创建“绿色屏幕”效果,从而从被绘制在被跟踪对象上的较大无定形对象去除任何溢出。如上所述,假定绘制内容的该过程可能不需要使用与正被跟踪的物理对象匹配的预建的3D模型(例如,以上关于段落[55]讨论的虚拟3D模型中的一个或多个),则该系统可以利用较少的数据处理资源来经由掩模图像的使用将3D内容绘制到被跟踪的对象上,从而提高该系统的可扩展性,使得该系统在可以被跟踪/绘制的物理对象的类型方面更加灵活,以及提高系统跟踪/绘制这些对象的效率。同样地,假定本系统可能不需要使用预建的3D模型来将3D内容投影到被跟踪的对象上,则该系统能够动态地适配将3D内容投影到具有各种形状、尺寸和配置的不同对象上的方式。另外,通过不依赖于预建的3D模型来绘制所投影的3D内容,该系统具有更多的灵活性来将3D内容投影到各种不同的对象表面上,包括但不限于服装、运动装备和/或客户的身体。因此,这样的灵活性允许系统更快速和有效地操作,而没有要求预建的3D模型的限制,并且通过在系统将3D内容投影到对象上之前,首先获得特定的3D模型,然后必须或尝试将该模型映射到物理对象,进而没有浪费额外的时间和计算资源。
对于如上所述的将3D内容绘制到一个或多个物理对象上的基于模型或非基于模型的方法,系统可以使用“投影仪优先化”技术来将一个或多个被跟踪对象的3D几何形状的平均表面法线与每个投影仪(例如,CPP单元)的角度进行比较。在一些情况下,系统可以将基于每个分量的对象的3D几何形状的平均表面法线与每个投影仪的角度进行比较。可以针对被跟踪对象的每个分量(例如,感兴趣区域)执行该比较。因此,系统可仅使用多个可用投影仪中具有最有利或最佳3D内容视图的一个或多个投影仪来显示3D内容。在一些情况下,内容/模型的3D分量可以仅由系统使用一个或多个投影仪来投影,这些投影仪最直接地面对被跟踪对象的对应于被显示/投影的所述分量的每个区域。系统可以对每个帧(即,随时间的投影的帧)重复该过程,使得投影仪优先化随着被跟踪对象的位置和角度的改变而更新,从而确保可能的最优图像质量,并且进一步确保所绘制的内容与一个或多个被跟踪对象适当地对准。为了避免疑问,通过使用最直接面对被跟踪对象的相应区域(例如,正交地面对被跟踪对象的相应区域的表面)的投影仪,减小了投影图像的任何横向未对准(即,在垂直于被跟踪对象和相应投影仪之间的轴的平面中的未对准)的影响。相反,当相应区域的表面相对于投影仪的各个轴变得更倾斜时,对于垂直于该轴的平面中的给定横向未对准,物体上的未对准将增加。
该系统可以存储由用于监视和/或跟踪对象的一个或多个图像捕获装置获得的图像数据。附加地或替代地,系统还可以使用系统的投影仪和/或图像捕获装置(例如,相机)中的一个或多个来捕获被投影到物理对象上的所得到/绘制的3D内容的图像/视频。系统可以在一个或多个用户请求时传输指示将3D内容绘制到物理对象上的存储的和/或捕获的图像数据。在一些实例中,用户可将所请求的图像信息与一个或多个社交网络帐户或平台(例如NIKE+帐户)相关联。通过将指示将3D内容绘制到物理对象上的此图像信息与其社交网络帐户相关联,用户可将其体验以及所请求的图像信息与社交网络平台的其他用户共享。
例如,在用户已经完成将所绘制的3D内容投影到期望的对象(例如,鞋类)上之后,可以经由用户界面向用户给出选项,以存储3D绘制和投影的图像。附加地或替代地,可以给予用户购买与所跟踪的物理对象和在其上绘制和投影的3D内容/设计相关联的消费品的选项。例如,用户可以从用户界面和/或设计网站选择各种特征,以查看和/或购买与被跟踪的物理对象和已经被投影到对象上的3D内容(和/或设计)有关的消费产品。例如,可以向用户呈现购买鞋类的选项,该鞋类类似于被跟踪的物理对象,并且可以具有类似于已经被绘制并投影到物理对象上的3D模型的设计、模型类型或色彩设计。
用户可以从用户界面和/或设计网站中选择“保存和共享”选项,该用户界面和/或设计网站可以启动向用户呈现各种选项的新网页/网站或界面屏幕,这些选项包括与电子存储和将所捕获的3D内容的投影图像共享到所跟踪对象上相关的一个或多个选择。例如,“保存和共享”网站/屏幕可以简单地使期望的图像/内容被电子地存储或“保存”到计算机存储器中,而无需附加的屏幕或信息。该图像内容可以存储在驻留在由用户操作的本地计算装置、由维护设计网站的实体操作的远程计算系统,或任何其他合适的计算存储装置中的计算机存储器上。被投影到被跟踪对象上的3D内容的图像信息可被存储到用户的社交网络帐户,并可由其他用户以任何合适的方式来操作或查看。用户可提供关于所存储的图像内容的反馈和/或可对内容进行排名、评分或以其他方式评论,该内容包括所绘制的3D内容和用于将3D内容绘制到物理对象上的底层3D模型。
如上所述,用户存储的图像内容可被发布到社交网络网站。具有帐户或利用社交网络网站的能力的用户能够在社交网络网站上“发布”所绘制的3D内容的图像。许多社交网络网站具有允许用户发布个人项目以供其他用户查看的用户简档网页。用户可能希望在由社交网络网站提供的其用户简档网页上显示其图像内容。这样的社交网络网站可以由维护设计网站和/或用户界面的相同实体维护,诸如与被跟踪对象相关联的消费产品的制造商,或者它们可以由第三方维护,诸如
Figure BDA0003229701400000221
等。用户还可能希望将他们存储的图像/视频内容发布在个人网站或另一web应用程序上。
IV.根据本公开的实例的由动态投影映射系统执行的投影仪对准和校准的总体描述
如上所述,系统可以利用一个或多个投影装置(例如,投影仪,CPP单元)来将3D内容投影到一个或多个被跟踪的物理对象上。在一些实例中,投影映射系统可以针对具有系统已知的几何形状的物理参考对象(例如,“校准对象”)来校准这些一个或多个投影仪和绘制/投影坐标空间(以上关于图4A和图4B所讨论的)。该校准由系统使用多数据点技术来实现,该技术用于将投影仪姿态、位置和/或地点与已知3D模型的投影仪姿态、位置和/或地点进行匹配。例如,如图6A所示,已知的校准对象被放置在跟踪空间621内,该跟踪空间621被多个CPP单元(例如,CPP单元302、304、306和308)环绕和/或围绕。一个或多个CPP单元可以由系统相对于校准对象的已知几何形状进行校准,以建立绘制/投影坐标空间。这通过系统将由一个或多个深度传感器和/或CPP单元获得的深度传感器数据与校准对象的3D模型视觉对准来实现。
例如,如图6B所示,系统可以提供使用户(例如,系统管理员)能够将深度传感器数据与校准对象的3D模型(例如,元素620)对准的用户界面(例如,元件602)。如图6B所示,用户可以与各种显示的界面元件(例如,元件604)交互以访问深度传感器数据的不同视图(例如,顶部、侧面、前面)和校准对象的3D模型。另外,用户(例如,管理员)可以选择性地识别各种类型的深度数据(例如,前面、右边、左边等)中的哪一个应当经由界面(例如,元件606)显示,以及校准对象是否应当与深度数据一起显示。此外,系统可以使用户能够经由用户界面将来自多个源(例如,多个深度传感器、CPP单元)的深度传感器数据与校准对象的3D模型对准。例如,如图6C所示,用户可以与各种显示的界面元件(例如,元件604)交互以访问从多个源获得的深度传感器数据的不同视图(例如,顶部、侧面、前面),并且进一步将该深度传感器数据与校准对象的3D模型对准,如元素622所示。在一些情况下,系统可以自动地将图像数据(例如,深度传感器数据)与校准对象的3D模型对准,而不是用户执行上述对准和校准,从而相对于校准对象的已知几何形状来校准一个或多个CPP单元,并建立绘制/投影坐标空间,利用该空间来跟踪物理对象并在其上投影内容。
如以上参考图6B和图6C所讨论的,对于用于将所绘制的3D内容投影到所跟踪的对象上的一个或多个投影仪,系统可以相对于校准对象的已知几何形状来校准这些投影仪,以建立投影/绘制坐标空间。另外,系统可以使用从测量被跟踪对象的深度和/或位置的一个或多个CPP单元获得的数据点,以在视觉上相对于校准对象的已知几何形状对准图像/深度数据,从而建立跟踪坐标空间。因此,在一个或多个投影仪和/或图像捕获装置已经被系统校准之后,现实中的坐标空间将与上述3D传感器和3D绘制流水线的坐标空间相匹配。因此,该校准过程在系统所执行的跟踪和再现过程中产生一致的坐标空间,从而使得所绘制的3D内容能够与一个或多个所跟踪的物理对象相匹配,并被正确地投影到其上。
V.根据本公开的实例的用于经由动态投影映射系统来跟踪和绘制内容的过程和技术的描述
图7图示了根据本公开的一个实施例的使用动态投影映射且可以由一个或多个计算装置执行的用于感测和跟踪一个或多个对象的示例方法。当描述以下方法的步骤时,当指代在方法的每个步骤中使用的每个部件时,可以使用术语“系统”。此类用法仅仅是为了便于论述所述方法,而不应被解释为限制可以执行以下方法的精确实施例。
在步骤702,系统获取与被跟踪对象相关联的图像/深度数据。如上所述,该系统可以包括一个或多个图像捕获装置(例如,CPP单元),这些装置获得包括所跟踪的物理对象的深度信息的图像数据。一个或多个图像捕获装置可以在每帧的基础上并以特定的帧速率捕获该图像数据。在一些实例中,一个或多个图像捕获装置可以被配置成以大约每秒30帧的帧速率捕获图像/深度数据,尽管如上所述,图像捕获装置可以被配置成以其他帧速率捕获图像数据。在一些实例中,一个或多个图像捕获装置可以被配置成以由用户或系统管理员指定的帧速率来捕获图像/深度数据。
在步骤704,系统获得在步骤702获得的图像/深度数据。例如,系统可以从在步骤702获取图像/深度数据的一个或多个图像捕获装置请求图像/深度数据。在其他实例中,一个或多个图像捕获装置可以将所获取的图像/深度数据传输到投影系统的一个或多个集中式计算装置,该一个或多个集中式计算装置正在执行绘制引擎以进一步处理图像/深度数据。
在步骤706,系统处理在步骤704获得的图像/深度数据以绘制被跟踪对象的一个或多个点云用于进一步分析。如以上关于图4A和图4B所讨论的,点云可以由各种坐标系/空间(例如,3D笛卡尔坐标系)来定义,并且可以使用从一个或多个CPP单元获得的图像/深度数据来生成。例如,参考图3,在使用一个或多个CPP单元在变化的位置和从变化的角度捕获与鞋类320相关的图像/深度信息之后,系统可以生成和/或存储从鞋类320的表面返回(并且覆盖鞋类320的表面)的几个数据点。如图4A所图示,系统可以在指定的时间段(例如15秒)内连续地捕获图像/深度数据,以生成与被跟踪的对象(例如鞋类320)相关的一个或多个点云。
在步骤708,系统对在步骤706绘制的一个或多个点云执行轮廓检测,以确定所跟踪的对象是否对应于特定对象类型。例如,系统可对一个或多个所绘制的点云执行轮廓检测以确定被跟踪的物理对象是否对应于鞋类状对象。如上所述,该系统不限于仅跟踪鞋类或鞋类状对象,并且还可以被配置成跟踪其他对象,例如消费产品,包括服装和/或运动装备。在步骤708,系统可使用在步骤704获得的图像/深度数据,如图4A中所示,通过检测如经由所绘制的点云和所收集的图像数据所表示的所跟踪对象的一个或多个边界来对所绘制的点云执行轮廓检测。如上面参考图4A和图4B所讨论的,系统可以通过在步骤702和704处理由一个或多个图像捕获装置捕获(或从其获得)的图像/深度数据来执行轮廓检测,以识别被跟踪对象的一个或多个轮廓。
在步骤710,系统跟踪图像/深度数据的坐标位置和/或旋转角度以及在步骤708检测的一个或多个轮廓。该系统可以跟踪与检测到的轮廓相关联的位置和角度信息,该检测到的轮廓与指定的平面/区域有关,例如地平面和/或在所跟踪的对象所位于的基座的指定接近度内。该系统可以基于发现在坐标空间的特定区域内的图像/深度数据的表面积来确定一个或多个检测到的轮廓的X/Y位置和旋转角度信息。例如,当所跟踪的对象是鞋类时,系统可以分析指定的“足部区域”(例如,在地平面处)和“足踝区域”(例如,在地平面上方)内的深度数据的表面区域。
在步骤712,系统继续跟踪图像/深度数据的位置和/或旋转角度信息,以在指定时间段内识别特定对象并确定预期对象是否连续在跟踪空间内。例如,在所跟踪的物理对象是鞋类的情况下,随着时间的推移,系统看起来在图像/深度数据内识别鞋状对象,以确定鞋类是否连续地在跟踪空间内。如上所述,系统可以跟踪深度/图像数据的位置和/或角度,包括在指定时间段内的一个或多个检测到的轮廓。系统管理员或用户可以建立/指定系统尝试使用所获得的图像/深度数据来跟踪对象的时间段。在步骤712,系统可继续在一时间段内跟踪图像/深度数据的位置和/或角度,使得系统在检测到的轮廓在跟踪空间内存在预定时间段(例如,四分之一秒)之后认为检测到的轮廓有效。如上所述,确保检测到的轮廓有效使得系统能够通过排除假阳性而更有效地操作。
在本公开的一些方面中,系统可利用在步骤706期间绘制的一个或多个点云和/或在步骤710和712期间在跟踪图像/深度数据的位置和/或旋转角度信息的同时获得的信息来检索对应于正被跟踪的对象的预定三维模型。可以从服务器、数据库或包括对应于各种对象的多个三维模型的一些其他合适的存储器中检索三维模型。例如,数据库可以包括多个不同的预存储的鞋类模型,并且每个存储的鞋类模型可以包括描绘每个模型的各种特性的数据,诸如相关联的点云、轮廓信息、感兴趣区域等。描述模型特性的各种类型的数据可以存储在数据库中。该数据库或其他合适的存储器可以与上面例如段落[0038]和[0057]中讨论的数据库相同或相似。系统可以利用在步骤706、710和/或712期间获得的点云和跟踪信息来将被跟踪的对象与多个存储的三维模型及其相关联的特征数据进行比较。基于该比较,系统可以识别具有类似于被跟踪对象的特征数据的一个或多个预存储的模型。例如,如果对象的点云和跟踪信息在特征数据的阈值标准偏差内,则系统可以确定该对象的点云和跟踪信息类似于特定预存储模型的特征数据。在一些情况下,系统可以将对象的点云和跟踪信息与预存储模型的特征数据进行比较,以确定被跟踪对象和预存储模型之间的相似性水平。相似性可以基于对象的点云和跟踪信息与预存储模型的相关特征数据有多相似的组合。该系统可以对指示点云和跟踪信息的某些度量进行比其他度量更高的加权,或者可以相等地对每个度量进行加权。例如,点云和跟踪信息可以提供关于三个不同度量的信息,并且可以将预存储模型的相关特征数据与三个度量中的每一个进行比较。系统可以确定被跟踪对象的度量中的一个或多个度量与预存储模型的一个或多个度量的比率。如果比率高于阈值(例如,大于60%、70%、80%、90%等),则系统可以确定足够的相似性水平。
在步骤712,如果系统确定在指定时间段内在图像/深度数据内识别了指定对象(例如,鞋状对象),则该方法可以前进到步骤716,其中,系统将在步骤710确定的位置和角度信息传输到在一个或多个计算装置上执行的用于绘制3D内容的软件应用程序(例如,绘制引擎)。在步骤716,系统可以使用在步骤710确定的位置和角度信息,以使用由跟踪引擎确定的位置/地点和角度信息开始绘制与所跟踪的物理对象相关联的3D内容。如果系统确定在指定的时间段内在图像/深度数据中没有识别出指定的对象(例如,鞋状对象),则该方法可以前进到步骤714,其中系统可以通知系统管理员或其他用户停止绘制所跟踪的对象。
在以上描述的示例实施例中,根据特定结果和/或应用程序,可以以任何期望的方式组合、划分、省略、重新布置、修改和/或扩充各种特征和步骤。所属领域的技术人员将容易想到各种改变、修改和改进。虽然未在本文中明确陈述,但此类改变、修改和改进通过此公开变得显而易见,并且旨在在本公开的精神和范围内。因此,前面的描述仅仅是示例性的,而不是限制性的。
现在参考图8,该图图示了根据本公开的一个实施例的使用动态投影映射且可以由一个或多个计算装置执行的用于将虚拟设计(例如,3D内容)绘制和投影到所跟踪的物理对象上的示例方法。当描述以下方法的步骤时,当指代在方法的每个步骤中使用的每个部件时,可以使用术语“系统”。此类用法仅仅是为了便于论述所述方法,而不应被解释为限制可以执行以下方法的精确实施例。此外,以下方法可以与上面参考图7描述的方法一起执行,或者除了上面参考图7描述的方法之外还执行。
在步骤802,系统获得与被跟踪对象相关联的图像/深度数据的坐标位置和旋转信息。如上所述,系统可以利用在一个或多个计算装置上执行的跟踪引擎(例如,软件应用程序)来感测和跟踪物理对象。如上所述,关于图7所图示的示例方法的步骤710,跟踪引擎还使用由CPP单元获得的图像/深度数据来确定被跟踪对象的X/Y位置和旋转角度信息。在一些实例中,跟踪引擎可以在远离投影映射系统(和/或在投影映射系统内)的一个或多个计算装置上执行。在跟踪引擎在远程计算装置上执行的实例中,系统可以从一个或多个远程计算装置请求/获得与所跟踪的物理对象相关联的图像/深度数据的坐标位置和旋转角度信息。
在步骤804,系统从一个或多个投影装置的视角将虚拟相机定位在3D场景中,用于将3D内容投影到所跟踪的物理对象上。如上所述,系统可以获得被跟踪对象(例如,元件522)的预建的3D模型,并且还可以将3D模型定位在步骤802处接收到的X/Y位置和角度处。匹配所跟踪对象的位置和角度的所绘制的3D模型可由系统经由用户界面来显示,如图5A中的元件502所图示。在步骤804,系统可利用虚拟相机从系统用来将所绘制/所得的3D模型投影到所跟踪对象上的每一图像投影装置(例如,投影仪、CPP单元)的视角来绘制所跟踪对象的所得/最终场景。如图5B和图5C所示,当将3D内容投影到被跟踪的对象上时,系统可以利用一个或多个投影仪来输出所绘制的3D模型,并且进一步通过位置和旋转角度来将所绘制的3D内容与被跟踪的物理对象对准。
在步骤806,系统确定哪些投影装置可用于将一个或多个3D模式/内容分量投影到所跟踪的物理对象上。如上所述,系统可以使用投影仪优先化技术来确定哪些投影仪具有用于投影3D内容的分量(例如,感兴趣区域)的最有利视图。在步骤806,系统可确定系统内的多个投影装置中可用于将3D内容投影到被跟踪对象上的一个或多个投影装置。在步骤806,系统可以将由系统获得和/或生成的3D模型拆分/分割成对应于对象的不同区域的一个或多个分量(例如,感兴趣区域)。例如,在被跟踪对象是鞋类的实例中,一个或多个感兴趣区域可包括鞋类的各种部分/段,诸如鞋舌根部、鞋跟、中底、鞋面等。
在步骤808,系统为在步骤806确定的一个或多个投影装置中的每一个确定哪个(些)投影装置最适合于将一个或多个特定3D分量投影到所跟踪的物理对象上。例如,在步骤808,对于在步骤806确定的一个或多个投影装置中的第一投影装置,系统可以将被跟踪对象的3D几何形状的平均表面法线(例如,垂直于3D几何形状)与第一投影仪(例如,CPP单元)的角度进行比较。在步骤808,系统还可以将基于每个分量的3D几何形状的平均表面法线与第一投影仪的角度进行比较。换言之,尽管在图8中未示出,但是可以针对3D内容/模型的每个分量来执行该步骤,每个分量对应于在步骤806处确定的所跟踪对象的不同感兴趣区域。在一些实例中,在步骤808,系统可在数据库(或其他合适的存储器)中存储关于系统已确定哪个投影仪最适合于显示/投影特定3D分量的指示。在系统确定不同的投影仪更适合于显示3D分量的情况下,系统可以修改所存储的指示以将3D分量分配/关联到更适合的投影仪。在步骤808,系统可以查询数据库以确定先前是否已经确定了用于显示特定3D的较适合的投影仪。
在步骤808,如果系统确定当前投影仪不是用于显示3D分量的最佳投影仪,则该方法可以前进到步骤310,其中,系统可以指示当前投影仪不绘制由系统在步骤808考虑的一个或多个3D分量。如上所述,在一些情况下,当确定当前投影仪是否是用于绘制多个3D分量中的特定3D分量的最佳投影仪时,系统可以考虑多个3D分量。在这种情况下,在步骤310,系统可以指示当前投影仪不绘制系统确定(在步骤808)当前投影仪不会最佳地绘制的一个或多个3D分量中的每一个。
在步骤808,如果系统确定当前投影仪是用于显示3D分量的最佳投影仪,则该方法可以前进到步骤812,其中,系统可以指示当前投影仪绘制由系统在步骤808考虑的一个或多个3D分量。在步骤812,系统可存储当前投影仪是用于绘制3D分量的最佳投影仪的指示。如上所述,在一些情况下,当在步骤808确定当前投影仪是否是用于绘制多个3D分量中的特定3D分量的最佳投影仪时,系统可以考虑多个3D分量。在这种情况下,在步骤812,系统可以指示当前投影仪绘制系统确定(在步骤808)当前投影仪会最佳地绘制的一个或多个3D分量中的每一个。
在步骤314,系统确定在步骤806确定的每个投影仪是否已经被系统考虑(在步骤808)以确定投影仪对于将一个或多个3D模型/内容分量绘制到被跟踪对象上是否是最佳的。如果系统在步骤314确定仍然需要考虑另外的投影仪,则方法可以返回到步骤808,其中系统确定后续投影仪是否是用于显示一个或多个3D分量的最佳投影仪。系统可以执行步骤808到步骤814,直到已经考虑了在步骤808由系统确定的每个投影仪。在步骤314,如果系统确定不需要考虑另外的投影仪,换言之,系统已经考虑了在步骤806确定的每个投影仪,则方法可以前进到步骤816。
在步骤816,系统使用被识别(在步骤810和812)为最佳投影仪的一个或多个投影仪输出3D分量的所绘制的视图。例如,在步骤816,系统可以指示在步骤812识别/确定的每个投影仪将它们各自的虚拟相机从3D场景输出到物理对象上。在步骤818,系统使用在步骤812识别/确定的每个投影仪将一个或多个所绘制的3D分量投影到物理被跟踪对象(例如,物理鞋子,如图5B和图5C所图示)上。如上所述,系统仅使用已被识别为最佳并提供最优图像质量的那些投影仪来显示/投影3D内容,或者换言之,仅使用具有3D内容的最有利视图和/或最直接面对所跟踪对象的每个感兴趣区域的那些投影仪来显示/投影3D内容,所跟踪对象对应于一个或多个3D内容/模型分量。系统可以对每一帧重复该过程,使得投影仪优先化随着被跟踪对象的位置和角度改变而更新,从而确保可能的最优图像质量。
在下文中,各种特性将在一组编号条款或段落中突出显示。这些特征不应被解释为对本发明或发明概念的限制,而仅仅是作为本文所述的一些特性的突出显示来提供的,而不是暗示这些特性的重要性或相关性的特定顺序。
条款1.一种方法,包括:经由一个或多个图像捕获装置获得与第一对象相关联的图像数据;基于所述图像数据生成与所述第一对象相关联的一个或多个点云;针对所述第一对象的一个或多个轮廓;基于所述一个或多个点云确定所述第一对象的轮廓的位置信息和角度信息中的至少一个;基于所述位置信息或角度信息动态地绘制所述第一对象的三维表示;以及使用多个投影装置来输出所述第一对象的所述三维表示以用于显示,其中所述三维表示与所述第一对象对准并被投影到所述第一对象上。
条款2.根据条款1所述的方法,还包括:使用所述一个或多个点云来生成包括所述第一对象的跟踪空间的二维表示。
条款3.根据条款2所述的方法,其中使用所述多个投影装置来输出所述第一对象的所述三维表示以用于显示还包括:确定所述第一对象在阈值时间段内持续位于所述跟踪空间内。
条款4.根据条款2所述的方法,其中使用所述多个投影装置来输出所述第一对象的所述三维表示以用于显示还包括:确定所述第一对象已经被所述一个或多个图像捕获装置监视了至少阈值时间段。
条款5.根据条款1至4中任一项所述的方法,其中动态地绘制所述第一对象的所述三维表示还包括:向绘制引擎发送所述第一对象的所述一个或多个轮廓的所述位置信息或所述角度信息。
条款6.根据条款1至5中任一项所述的方法,其中确定所述第一对象的所述轮廓的位置信息或角度信息中的至少一个还包括:经由所述一个或多个图像捕获装置并且在第一时间段期间监视所述第一对象的所述轮廓的所述位置信息或所述角度信息。
条款7.根据条款1至6中任一项所述的方法,其中所述第一对象的所述三维表示包括鞋类设计。
条款8.根据条款1至7中任一项所述的方法,还包括:基于存储的三维模型确定第一组轮廓;确定所述第一组轮廓中的每个轮廓的位置信息和角度信息;以及基于相应的位置信息和角度信息将所述第一对象的所述一个或多个轮廓与所述第一组轮廓进行比较。
条款9.根据条款1至8中任一项所述的方法,其中输出所述第一对象的所述三维表示以用于显示还包括:经由所述多个投影装置将与所述第一对象的所述三维表示相关联的一个或多个表面区域输出到所述第一对象上以用于显示。
条款10.根据条款1至9中任一项所述的方法,其中所述一个或多个图像捕获装置被定位成围绕所述第一对象。
条款11.根据条款1至10中任一项所述的方法,还包括:经由输入装置接收指示要由所述一个或多个图像捕获装置跟踪的所述第一对象的一个或多个区域的输入。
条款12.根据条款1至11中任一项所述的方法,还包括:确定所述第一对象的位置信息;以及基于所述位置信息选择所述多个投影装置中的一个或多个,以输出所述第一对象的所述三维表示的一个或多个分量以用于显示。
条款13.根据条款1至12中任一项所述的方法,还包括:确定所述多个投影装置的投影角度信息;以及基于所述投影角度信息选择所述多个投影装置中的一个或多个,以输出所述第一对象的所述三维表示的一个或多个分量以用于显示。
条款14.根据条款1至13中任一项所述的方法,还包括:确定所述第一对象的旋转信息;以及基于所述第一对象的所述旋转信息,选择所述多个投影装置中的一个或多个,以输出所述第一对象的所述三维表示的一个或多个分量以用于显示。
条款15.根据条款1至14中任一项所述的方法,还包括:对于所述多个投影装置中的每一个,将所述第一对象的相应部分的平均表面法线与所述投影装置的投影角度进行比较;以及基于所述比较选择投影装置以输出所述第一对象的所述三维表示的至少第一分量。
条款16.根据条款1至15中任一项所述的方法,还包括:经由用户界面在坐标空间中显示所述一个或多个相关联的点云。
条款17.根据条款1至16中任一项所述的方法,其中输出所述第一对象的所述三维表示以用于显示还包括:生成所述第一对象的跟踪空间的表示以用于显示。
条款18.根据条款17所述的方法,其中生成所述跟踪空间的所述表示以用于显示还包括:生成所述跟踪空间的一个或多个视角以用于显示。
条款19.根据条款1至18中任一项所述的方法,还包括:确定所述第一对象的所述三维表示的一个或多个感兴趣区域。
条款20.一种计算装置,包括:一个或多个处理器;以及存储指令的存储器,所述指令在被执行时使所述计算装置执行条款1至19中任一项所述的方法。
条款21.一种系统,包括:被配置成执行条款1至19中任一项所述的方法的第一计算装置;用于获得与第一对象相关联的图像的一个或多个图像捕获装置;以及多个投影装置,用于输出所述第一对象的所述三维表示以用于显示。
条款22.一种存储指令的计算机可读介质,所述指令在被执行时使执行条款1至19中任一项所述的方法。
结论
尽管已经用对结构特征和/或方法动作专用的语言描述了本主题,但是应当理解,所附权利要求书中定义的主题不必限于上述特定特征或动作。相反,以上描述的特定特征和动作是作为实现权利要求的示例形式而公开的。前面的描述旨在使本领域的其他技术人员能够最优地利用各种实施例中所描述的特征,并且具有适合于预期的特定用途的各种修改。

Claims (31)

1.一种方法,包括:
经由一个或多个图像捕获装置获得与第一对象相关联的图像数据;
基于所述图像数据生成与所述第一对象相关联的一个或多个点云;
针对所述第一对象的一个或多个轮廓:
基于所述一个或多个点云确定所述第一对象的轮廓的位置信息和角度信息中的至少一个;
基于所述位置信息或角度信息动态地绘制所述第一对象的三维表示;以及
使用多个投影装置来输出所述第一对象的所述三维表示以用于显示,其中所述三维表示与所述第一对象对准并被投影到所述第一对象上。
2.根据权利要求1所述的方法,还包括:
使用所述一个或多个点云来生成包括所述第一对象的跟踪空间的二维表示。
3.根据权利要求2所述的方法,其中使用所述多个投影装置来输出所述第一对象的所述三维表示以用于显示还包括:
确定所述第一对象在阈值时间段内持续位于所述跟踪空间内。
4.根据权利要求2所述的方法,其中使用所述多个投影装置来输出所述第一对象的所述三维表示以用于显示还包括:
确定所述第一对象已经被所述一个或多个图像捕获装置监视了至少阈值时间段。
5.根据权利要求1所述的方法,其中动态地绘制所述第一对象的所述三维表示还包括:
向绘制引擎发送所述第一对象的所述一个或多个轮廓的所述位置信息或所述角度信息。
6.根据权利要求1所述的方法,其中确定所述第一对象的所述轮廓的位置信息或角度信息中的至少一个还包括:
经由所述一个或多个图像捕获装置且在第一时间段期间监视所述第一对象的所述轮廓的所述位置信息或所述角度信息。
7.根据权利要求1所述的方法,其中所述第一对象的所述三维表示包括鞋类设计。
8.根据权利要求1所述的方法,还包括:
基于存储的三维模型确定第一组轮廓;
确定所述第一组轮廓中的每个轮廓的位置信息和角度信息;以及
基于相应的位置信息和角度信息,将所述第一对象的所述一个或多个轮廓与所述第一组轮廓进行比较。
9.根据权利要求1所述的方法,其中输出所述第一对象的所述三维表示以用于显示还包括:
经由所述多个投影装置将与所述第一对象的所述三维表示相关联的一个或多个表面区域输出到所述第一对象上以用于显示。
10.一种设备,包括:
一个或多个处理器;以及
以可操作方式耦合到所述一个或多个处理器并存储计算机可读指令的存储器,所述计算机可读指令在被执行时使所述设备:
经由一个或多个图像捕获装置获得与第一对象相关联的图像数据;
基于所述图像数据生成与所述第一对象相关联的一个或多个点云;
针对所述第一对象的一个或多个轮廓:
基于所述一个或多个点云确定所述第一对象的轮廓的位置信息和角度信息中的至少一个;
基于所述位置信息或角度信息动态地绘制所述第一对象的三维表示;以及
使用多个投影装置来输出所述第一对象的所述三维表示以用于显示,其中所述三维表示与所述第一对象对准并被投影到所述第一对象上。
11.根据权利要求10所述的设备,其中所述计算机可读指令在被执行时还使所述设备:
使用所述一个或多个点云来生成包括所述第一对象的跟踪空间的二维表示。
12.根据权利要求11所述的设备,其中所述计算机可读指令在被执行时还使所述设备通过以下操作使用所述多个投影装置来输出所述第一对象的所述三维表示以用于显示:
确定所述第一对象在阈值时间段内持续位于所述跟踪空间内。
13.根据权利要求11所述的设备,其中所述计算机可读指令在被执行时还使所述设备通过以下操作使用所述多个投影装置来输出所述第一对象的所述三维表示以用于显示:
确定所述第一对象已经被所述一个或多个图像捕获装置监视了至少阈值时间段。
14.根据权利要求10所述的设备,其中所述计算机可读指令在被执行时还使所述设备通过以下操作动态地绘制所述第一对象的所述三维表示:
向绘制引擎发送所述第一对象的所述一个或多个轮廓的所述位置信息或所述角度信息。
15.根据权利要求10所述的设备,其中所述计算机可读指令在被执行时还使所述设备通过以下操作确定所述第一对象的所述轮廓的位置信息或角度信息中的至少一个:
经由所述一个或多个图像捕获装置且在第一时间段期间监视所述第一对象的所述轮廓的所述位置信息或所述角度信息。
16.根据权利要求10所述的设备,其中所述第一对象的所述三维表示包括鞋类设计。
17.根据权利要求10所述的设备,其中所述计算机可读指令在被执行时还使所述设备:
基于存储的三维模型确定第一组预定轮廓;
确定所述第一组预定轮廓中的每一个的位置信息和角度信息;
基于相应的位置信息和角度信息,将所述第一对象的所述一个或多个轮廓与所述第一组预定轮廓进行比较。
18.一种系统,包括:
第一计算装置;
一个或多个图像捕获装置;以及
多个投影装置;
其中所述第一计算装置包括:
一个或多个第一处理器;以及
存储第一计算机可读指令的存储器,所述第一计算机可读指令在由所述一个或多个第一处理器执行时使所述第一计算装置:
经由一个或多个图像捕获装置获得与第一对象相关联的图像数据;
基于所述图像数据生成与所述第一对象相关联的一个或多个点云;
针对所述第一对象的一个或多个轮廓:
基于所述一个或多个点云确定所述第一对象的轮廓的位置信息和角度信息中的至少一个;
基于所述位置信息或角度信息动态地绘制所述第一对象的三维表示;以及
使用多个投影装置来输出所述第一对象的所述三维表示以用于显示,其中所述三维表示与所述第一对象对准并被投影到所述第一对象上。
19.根据权利要求18所述的系统,其中所述第一计算机可读指令在由所述一个或多个处理器执行时,还使所述第一计算装置:
使用所述一个或多个点云来生成包括所述第一对象的跟踪空间的二维表示。
20.根据权利要求19所述的系统,其中所述第一计算机可读指令在由所述一个或多个第一处理器执行时还使所述第一计算装置通过以下操作使用所述多个投影装置来输出所述第一对象的所述三维表示以用于显示:
确定所述第一对象在阈值时间段内持续位于所述跟踪空间内。
21.根据权利要求1所述的方法,其中所述一个或多个图像捕获装置被定位成围绕所述第一对象。
22.根据权利要求1所述的方法,还包括:
经由输入装置接收指示要由所述一个或多个图像捕获装置跟踪的所述第一对象的一个或多个区域的输入。
23.根据权利要求1所述的方法,还包括:
确定所述第一对象的位置信息;以及
基于所述位置信息选择所述多个投影装置中的一个或多个,以输出所述第一对象的所述三维表示的一个或多个分量以用于显示。
24.根据权利要求1所述的方法,还包括:
确定所述多个投影装置的投影角度信息;以及
基于所述投影角度信息选择所述多个投影装置中的一个或多个,以输出所述第一对象的所述三维表示的一个或多个分量以用于显示。
25.根据权利要求1所述的方法,还包括:
基于所述第一对象的所述轮廓的所述角度信息选择所述多个投影装置中的一个或多个,以输出所述第一对象的所述三维表示的一个或多个分量以用于显示。
26.根据权利要求1所述的方法,还包括:
确定所述第一对象的旋转信息;以及
基于所述第一对象的所述旋转信息选择所述多个投影装置中的一个或多个,以输出所述第一对象的所述三维表示的一个或多个分量以用于显示。
27.根据权利要求1所述的方法,还包括:
对于所述多个投影装置中的每一个,将所述第一对象的相应部分的平均表面法线与所述投影装置的投影角度进行比较;以及
基于所述比较选择投影装置以输出所述第一对象的所述三维表示的至少第一分量。
28.根据权利要求1所述的方法,还包括:
经由用户界面在坐标空间中显示所述一个或多个相关联的点云。
29.根据权利要求1所述的方法,其中输出所述第一对象的所述三维表示以用于显示还包括:
生成所述第一对象的跟踪空间的表示以用于显示。
30.根据权利要求29所述的方法,其中生成所述跟踪空间的所述表示以用于显示还包括:
生成所述跟踪空间的一个或多个视角以用于显示。
31.根据权利要求1所述的方法,还包括:
确定所述第一对象的所述三维表示的一个或多个感兴趣区域。
CN201980093045.9A 2018-12-26 2019-12-26 弹性动态投影映射系统和方法 Pending CN113474816A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862784960P 2018-12-26 2018-12-26
US62/784,960 2018-12-26
PCT/US2019/068573 WO2020139942A1 (en) 2018-12-26 2019-12-26 Resilient dynamic projection mapping system and methods

Publications (1)

Publication Number Publication Date
CN113474816A true CN113474816A (zh) 2021-10-01

Family

ID=69191289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980093045.9A Pending CN113474816A (zh) 2018-12-26 2019-12-26 弹性动态投影映射系统和方法

Country Status (4)

Country Link
US (3) US11270443B2 (zh)
EP (1) EP3903283A1 (zh)
CN (1) CN113474816A (zh)
WO (1) WO2020139942A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3640767A1 (de) * 2018-10-17 2020-04-22 Siemens Schweiz AG Verfahren zum bestimmen mindestens eines bereichs in mindestens einem eingabemodell für mindestens ein zu platzierendes element
US11049282B2 (en) * 2019-02-28 2021-06-29 Intelligrated Headquarters, Llc Vision calibration system for robotic carton unloading
US11758100B2 (en) * 2019-09-11 2023-09-12 The Johns Hopkins University Portable projection mapping device and projection mapping system
CN112348939A (zh) * 2020-11-18 2021-02-09 北京沃东天骏信息技术有限公司 用于三维重建的纹理优化方法及装置
US11514648B2 (en) * 2020-12-23 2022-11-29 Microsoft Technology Licensing, Llc Aligning input image data with model input data to generate image annotations
US11823346B2 (en) * 2022-01-17 2023-11-21 Snap Inc. AR body part tracking system
WO2023137482A1 (en) * 2022-01-17 2023-07-20 Snap Inc. Ar body part tracking system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2569656B (en) * 2017-12-22 2020-07-22 Zivid Labs As Method and system for generating a three-dimensional image of an object
US10846818B2 (en) * 2018-11-15 2020-11-24 Toyota Research Institute, Inc. Systems and methods for registering 3D data with 2D image data

Also Published As

Publication number Publication date
US11270443B2 (en) 2022-03-08
EP3903283A1 (en) 2021-11-03
US20220156948A1 (en) 2022-05-19
US20240037763A1 (en) 2024-02-01
WO2020139942A1 (en) 2020-07-02
US20200211205A1 (en) 2020-07-02
US11816848B2 (en) 2023-11-14

Similar Documents

Publication Publication Date Title
US11816848B2 (en) Resilient dynamic projection mapping system and methods
CN104380338B (zh) 信息处理器以及信息处理方法
JP7249390B2 (ja) 単眼カメラを用いたリアルタイム3d捕捉およびライブフィードバックのための方法およびシステム
KR20220009393A (ko) 이미지 기반 로컬화
US9679381B2 (en) Localisation and mapping
US8660362B2 (en) Combined depth filtering and super resolution
US8401225B2 (en) Moving object segmentation using depth images
JP6697986B2 (ja) 情報処理装置および画像領域分割方法
US9659408B2 (en) Mesh reconstruction from heterogeneous sources of data
JP6609640B2 (ja) 電子デバイス上における環境マッピング用のフィーチャ・データの管理
JP2018041277A (ja) 情報処理装置および対象物認識方法
US11043004B2 (en) Resolving region-of-interest (ROI) overlaps for distributed simultaneous localization and mapping (SLAM) in edge cloud architectures
US10438405B2 (en) Detection of planar surfaces for use in scene modeling of a captured scene
US10937192B2 (en) Resolving incorrect distributed simultaneous localization and mapping (SLAM) data in edge cloud architectures
US9811916B1 (en) Approaches for head tracking
US9041689B1 (en) Estimating fingertip position using image analysis
JP2012181646A (ja) データ処理装置、データ処理システム、及びプログラム
JP6305856B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JPWO2020026677A1 (ja) 検出装置、処理装置、検出方法、及び処理プログラム
CN111368675A (zh) 手势深度信息的处理方法、装置、设备及存储介质
JP2022037506A (ja) 検出装置、処理装置、検出方法、及び処理プログラム
TW201322037A (zh) 用於改進骨骼追蹤的姿勢庫

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