CN106454291B - 用于自动配准和投影映射的系统和方法 - Google Patents
用于自动配准和投影映射的系统和方法 Download PDFInfo
- Publication number
- CN106454291B CN106454291B CN201610634868.6A CN201610634868A CN106454291B CN 106454291 B CN106454291 B CN 106454291B CN 201610634868 A CN201610634868 A CN 201610634868A CN 106454291 B CN106454291 B CN 106454291B
- Authority
- CN
- China
- Prior art keywords
- virtual
- projector
- dimensional environment
- orientation
- dimensional
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000013507 mapping Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000015654 memory Effects 0.000 claims description 33
- 238000009877 rendering Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 7
- 238000004804 winding Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/12—Picture reproducers
- H04N9/31—Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
- H04N9/3141—Constructional details thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/521—Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring 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/2504—Calibration devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/74—Projection arrangements for image reproduction, e.g. using eidophor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/12—Picture reproducers
- H04N9/31—Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
- H04N9/3179—Video signal processing therefor
- H04N9/3185—Geometric adjustment, e.g. keystone or convergence
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Optics & Photonics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
用于自动配准和投影映射的系统和方法。提供了用于自动配准和投影映射的系统和方法。安装具有在三维环境上与投影区域重叠的视场的一个投影仪和至少两个相机。一种计算装置:控制所述投影仪投影结构化光图案,所述结构化光图案唯一地照射所述环境的部分;从所述相机获取图案的图像;通过处理图像和关联图案,生成所述部分在投影仪与相机空间之间的二维映射;使用所述映射和相机位置,生成表示所述环境的点云;根据所述点云确定投影仪的位置、取向和透镜特性;相对于与所述环境对应的虚拟三维环境定位虚拟相机,所述虚拟相机的参数与所述投影仪的参数分别匹配;以及控制所述投影仪基于所述虚拟相机的虚拟位置、取向和特性进行投影。
Description
技术领域
本说明书总体涉及投影仪,并且具体地,涉及用于自动配准和投影映射的系统和方法。
背景技术
由于要求投影仪的仔细配准(alignment)以将大量二维(“2D”)投影图像配准到三维(“3D”)物理对象上,导致投影系统中的投影映射通常是非常复杂的处理。通常提前精心制作待投影内容,而不存取最终投影映射。此外,利用任何合理精确度,投影仪将投影的位置都是未知的。这自然导致需要卷绕(warping)以将所期望影像配准到最终投影表面。该卷绕处理将以下问题作为整体解决:a.2D内容想要被投影的位置与最终实际投影仪位置的不一致;b.用于设计内容的3D表面与最终实际投影表面之间的不一致;以及c.内容成像期间使用的理想投影系统与最终投影仪硬件(像素高宽比、透镜畸变等)之间的不一致。在不知晓投影仪的位置的情况下,例如,必须由设置投影系统的技术人员手动调节卷绕和/或必须手动配置投影仪的位置。
事实上,通常存在在内容创建时不容易识别上述点的情况。对等(ad-hoc)投影映射可以简单地具有使用艺术家/内容创作者心理的一些想法精心制作的2D内容,然后当2D内容被投影时进行拟合。因此,通常在令人厌烦的手动设置过程之后执行这种对等投影映射,手动设置过程由技术人员操作投影系统以手动地卷绕投影图像中的所有像素以实现整体配准目标来实现。如果投影仪相对于图像被投影到的3D对象移动,则需要重复进行手动设置过程/手动卷绕,技术人员要再次拜访该现场以执行卷绕,这可能导致投影系统的停机时间。虽然存在对三维对象自动地执行卷绕的一些自动系统,但是通常这些系统仅针对不复杂的几何形状工作。另选地,可以通过技术人员将点手动地拖拽到对象上来手动地确定投影仪姿态,反演计算被使用以确定投影仪所在的位置,然而这种方法遭遇与手动卷绕相同的问题。
发明内容
通常,本公开在于用于投影映射的系统和方法,考虑投影仪的位置和/或将被投影的对象的位置,投影映射被完全自动化例如以确定用于生成将被投影的图像的投影仪参数,并且其因此可以在没有经过专门培训的技术人员的干预下发生。具体地,至少两个相机瞄准三维环境,所述至少两个相机的各自视场与至少一个投影仪的投影区域至少部分地重叠。通常,相机提供三维环境的立体视图。投影仪将一个或更多个结构化光图案投影到三维环境,所述一个或更多个结构化光图案被构造成唯一地识别三维环境的部分。例如,所述一个或更多个结构化光图案可以包括具有增加或减小的宽度的条,不同图案的这些条重叠,使得当相机捕捉结构化光图案的关联图像并且将关联图案与所述一个或更多个结构化光图案进行比较时,可以识别三维环境的部分;另选地,可以使用变化颜色的一个或更多个颜色结构化光图案来唯一地识别三维环境的部分。这些部分的大小可以取决于条的大小、投影仪的分辨率和相机的分辨率。根据由每个相机捕捉的一个或更多个结构化光图案的图像和所述一个或更多个结构化光图案的关联图像,生成这些部分的二维映射以将投影仪空间映射到相机空间。根据二维映射和相机的给定位置,使用例如三角测量技术来生成表示三维环境的点云。根据点云确定投影仪相对于三维环境的位置、取向和透镜特性,并且使用虚拟相机技术控制投影仪进行投影;例如,控制投影仪基于与投影仪的位置、取向和透镜特性分别匹配的虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性来投影图像。此外,当三维环境中的物理对象的虚拟模型可用,并且在三维环境上投影一个或更多个结构化光图案时使物理对象成像以生成点云时,将虚拟模型与点云进行比较,以确定虚拟三维环境中的虚拟模型关于与三维环境的物理原点相关的虚拟原点的虚拟位置和虚拟取向;然后控制投影仪使用虚拟模型的虚拟位置和虚拟取向将图像投影到物理对象上。事实上,针对投影生成和/或呈现的图像因此已经考虑到投影仪和/或物理对象的几何形状,从而避免卷绕所呈现和/或投影的图像的需要和/或避免手动地确定投影仪姿态的需要。
在本说明书中,元件可以被描述为“被构造成”执行一个或更多个功能或“被构造用于”这样的功能。通常,被构造成执行或被构造用于执行功能的元件能够执行所述功能,或者适于执行所述功能,或者适合执行所述功能,或者能够操作以执行所述功能,或者能够执行所述功能。
将理解,为了本说明书的目的,语言“X、Y和Z中的至少一个”和“X、Y和 Z中的一个或更多个”可以被理解为仅X、仅Y、仅Z、或两个或更多个项X、Y和 Z的任何组合(例如,XYZ、XY、YZ、ZZ等)。在出现“至少一个…”和“一个或更多个…”语言中的任一个时,可以针对两个或更多项应用类似逻辑。
本说明书的一方面提供了一种系统,该系统包括:计算装置;投影仪;以及至少两个相机,所述投影仪和所述至少两个相机中的每个相对于三维环境被安装,各自视场在所述三维环境上与投影仪的投影区域至少部分地重叠;所述计算装置被构造成:控制所述投影仪顺序地投影一个或更多个结构化光图案,所述结构化光图案被构造成唯一地照射所述三维环境的不同部分;在所述投影仪投影所述一个或更多个结构化光图案时,从所述至少两个相机中的每个获取一个或更多个相应图像,所述一个或更多个相应图像中的每个与给定相应结构化光图案关联;通过处理相应图像和关联的给定相应结构化光图案,生成所述三维环境的不同部分在投影仪空间与相机空间之间的二维映射;使用所述二维映射和所述至少两个相机相对于所述三维环境的给定位置,生成表示所述三维环境的点云;根据所述点云确定投影仪相对于所述三维环境的位置、取向和透镜特性;相对于与所述三维环境对应的虚拟三维环境定位虚拟相机,所述虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性与所述投影仪的位置、取向和透镜特性分别匹配;以及控制所述投影仪基于所述虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性进行投影。
所述三维环境可以包括物理对象,并且所述系统还包括存储所述物理对象的虚拟模型的存储器,所述计算装置还可以被构造成:通过将所述虚拟模型与所述点云进行比较,确定所述物理对象相对于所述三维环境的物理原点的相应位置和相应取向;关于与所述物理原点相关的虚拟原点,在所述虚拟三维环境中设置所述虚拟模型的虚拟位置和虚拟取向,以与所述物理对象的相应位置和相应取向匹配;以及控制所述投影仪利用针对所述虚拟模型的虚拟位置和虚拟取向调节的图像来照射所述物理对象。将所述虚拟模型与所述点云进行比较可以包括迭代最近点方案。
所述三维环境可以包括以下中的一个或更多个:表面上的物理对象;弯曲表面;以及不规则表面。
所述一个或更多个结构化光图案可以包括结构化光图案的序列,所述序列被构造成唯一地顺序照射所述三维环境的不同部分。
所述一个或更多个结构化光图案可以包括水平条和垂直条的图像的序列,所述条的宽度在所述序列内并且在每个方向上被减半或加倍。
所述一个或更多个结构化光图案可以包括以下中的一个或更多个:条的图像的序列;黑白图像;彩色图像;和正弦曲线的图像。
所述计算装置还可以被构造成确定所述至少两个相机相对于所述三维环境的给定位置,并且通过以下步骤设置所述三维环境的物理原点:从所述至少两个相机中的每个获取位于所述三维环境中的已知目标图案的至少一个图像;以及将所述已知目标图案的所述至少一个图像与所述已知目标图案的表示进行比较。
所述计算装置可以还被构造成使用三角测量法使用所述二维映射和所述至少两个相机相对于所述三维环境的给定位置生成表示所述三维环境的点云。
所述计算装置可以还被构造成通过使所述点云中的多个点与所述结构化光图案中的一个或更多个的相应区域匹配,根据所述点云确定所述投影仪相对于所述三维环境的位置、取向和透镜特性。
所述虚拟位置、所述虚拟取向和所述虚拟透镜特性可以包括姿态数据,所述姿态数据包括:所述虚拟三维环境中的所述虚拟相机关于与所述物理原点相关的虚拟原点的三维位置;俯仰值;偏航值;滚转值;偏移值;和投射值。
本说明书的另一方面提供了一种方法,该方法包括:在包括计算装置、投影仪、以及至少两个相机的系统中,所述投影仪和所述至少两个相机中的每个相对于三维环境被安装,各自视场在所述三维环境上与投影仪的投影区域至少部分地重叠,使用所述计算装置控制所述投影仪顺序地投影一个或更多个结构化光图案,所述一个或更多个结构化光图案被构造成唯一地照射所述三维环境的不同部分;在所述投影仪投影所述一个或更多个结构化光图案时,使用所述计算装置从所述至少两个相机中的每个获取一个或更多个相应图像,所述一个或更多个相应图像中的每个与给定相应结构化光图案关联;使用所述计算装置,通过处理相应图像和关联的给定相应结构化光图案,生成所述三维环境的不同部分在投影仪空间与相机空间之间的二维映射;使用所述计算装置,使用所述二维映射和所述至少两个相机相对于所述三维环境的给定位置,生成表示所述三维环境的点云;使用所述计算装置,根据所述点云确定投影仪相对于所述三维环境的位置、取向和透镜特性;使用所述计算装置,相对于与所述三维环境对应的虚拟三维环境定位虚拟相机,所述虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性与所述投影仪的位置、取向和透镜特性分别匹配;以及使用所述计算装置控制所述投影仪基于所述虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性进行投影。
所述三维环境可以包括物理对象,并且所述系统还可以包括存储所述物理对象的虚拟模型的存储器,所述方法还可以包括:通过将所述虚拟模型与所述点云进行比较,确定所述物理对象相对于所述三维环境的物理原点的相应位置和相应取向;关于与所述物理原点相关的虚拟原点,在所述虚拟三维环境中设置所述虚拟模型的虚拟位置和虚拟取向,以与所述物理对象的相应位置和相应取向匹配;以及控制所述投影仪用针对所述虚拟模型的虚拟位置和虚拟取向调节的图像来照射所述物理对象。将所述虚拟模型与所述点云进行比较可以包括迭代最近点方案。
所述三维环境可以包括以下中的一个或更多个:表面上的物理对象;弯曲表面;以及不规则表面。
所述一个或更多个结构化光图案可以包括结构化光图案的序列,所述序列被构造成唯一地顺序照射所述三维环境的不同部分。
所述一个或更多个结构化光图案可以包括水平条和垂直条的图像的序列,所述条的宽度在所述序列内并且在每个方向上被减半或加倍。
所述一个或更多个结构化光图案可以包括以下中的一个或更多个:条的图像的序列;黑白图像;彩色图像;和正弦曲线的图像。
所述方法还可以包括:确定所述至少两个相机相对于所述三维环境的给定位置,并且通过以下步骤设置所述三维环境的物理原点:从所述至少两个相机中的每个获取位于所述三维环境中的已知目标图案的至少一个图像;以及将所述已知目标图案的所述至少一个图像与所述已知目标图案的表示进行比较。
所述方法还可以包括:使用三角测量法,使用所述二维映射和所述至少两个相机相对于所述三维环境的给定位置来生成表示所述三维环境的点云。
所述方法还可以包括:通过使所述点云中的多个点与所述结构化光图案中的一个或更多个的相应区域匹配,根据所述点云确定所述投影仪相对于所述三维环境的位置、取向和透镜特性。
所述虚拟位置、所述虚拟取向和所述虚拟透镜特性可以包括姿态数据,所述姿态数据包括:所述虚拟三维环境中的所述虚拟相机关于与所述物理原点相关的虚拟原点的三维位置;俯仰值;偏航值;滚转值;偏移值;和投射值。
本说明书的另一方面提供了一种存储计算机程序的计算机可读介质,其中,执行所述计算机程序以用于:在包括计算装置、投影仪、以及至少两个相机的系统中,所述投影仪和所述至少两个相机中的每个相对于三维环境被安装,使各自视场在所述三维环境上与投影仪的投影区域至少部分地重叠,使用所述计算装置控制所述投影仪顺序地投影一个或更多个结构化光图案,所述一个或更多个结构化光图案被构造成唯一地照射所述三维环境的不同部分;在所述投影仪投影所述一个或更多个结构化光图案时,使用所述计算装置从所述至少两个相机中的每个获取一个或更多个相应图像,所述一个或更多个相应图像中的每个与给定相应结构化光图案关联;使用所述计算装置,通过处理相应图像和关联的给定相应结构化光图案,生成所述三维环境的不同部分在投影仪空间与相机空间之间的二维映射;使用所述计算装置,使用所述二维映射和所述至少两个相机相对于所述三维环境的给定位置,生成表示所述三维环境的点云;使用所述计算装置,根据所述点云确定投影仪相对于所述三维环境的位置、取向和透镜特性;使用所述计算装置,相对于与所述三维环境对应的虚拟三维环境定位虚拟相机,所述虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性与所述投影仪的位置、取向和透镜特性分别匹配;以及使用所述计算装置控制所述投影仪基于所述虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性进行投影。所述计算机可读介质可以包括非暂时性计算机可读介质。
附图说明
为了更好地理解在此描述的各种实现并且更清楚地示出它们如何实施,现在将仅通过举例对附图作出参考,在附图中:
图1示出根据非限制性实现的投影系统。
图2示出根据非限制性实现的可以在图1的系统中使用的用于自动配准和投影映射的系统。
图3示出根据非限制性实现的用于自动配准和投影映射的方法。
图4示出根据非限制性实现的图3的方法的进一步框。
图5示出根据非限制性实现的图3的方法的进一步框。
图6示出根据非限制性实现的正被用于确定相机相对于三维环境的位置的图2 的系统。
图7示出根据非限制性实现的正被用于将结构化光图案投影到三维环境的图2 的系统。
图8示出根据非限制性实现的图2的系统中使用的结构化光图案的序列的示例。
图9示出根据非限制性实现的正被用于生成投影仪空间与相机空间之间的映射的图2的系统。
图10示出根据非限制性实现的图9中生成的映射的图形表示的示例。
图11示出根据非限制性实现的正被用于根据图9和图10的映射和相机的位置生成点云的图2的系统。
图12示出根据非限制性实现的图11中生成的点云的示例。
图13示出根据非限制性实现的正被用于根据点云确定投影仪相对于三维环境的位置、取向和透镜特性的图2的系统。
图14示出根据非限制性实现的与图2的系统的投影仪对应的虚拟相机相对于与图2的三维环境对应的虚拟三维环境的定位。
图15示出根据非限制性实现的将虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性设置成与投影仪的位置、取向和透镜特性分别匹配的图2的系统。
图16示出根据非限制性实现的基于虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性投影的图2的系统的投影仪。
图17示出根据非限制性实现的用于通过将虚拟模型与点云进行比较来确定物理对象相对于三维环境的物理原点的相应位置和相应取向的图2的系统。
图18示出根据非限制性实现的其中放置了图2的系统的物理对象的虚拟模型的图14的虚拟环境。
图19示出被控制以用针对虚拟模型的虚拟位置和虚拟取向调节的图像照射物理对象的图2的系统的投影仪。
具体实施方式
图1示出系统100,系统100包括:3D(“三维”)呈现装置101(在下文中可互换地称为装置101);内容播放器103;配准系统105;以及投影仪107。通常,装置 101与内容播放器103和配准系统105通信,并且内容播放器103与投影仪107通信。如所示,装置101和内容播放器103被组合在一个装置108中,然而,在其它实现中,装置101和内容播放器103是单独装置。配准系统被构造成生成包括对应于投影仪 107的虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性的姿态数据109p,并且将姿态数据109p传输到装置101,如以下更详细描述的。装置101可以例如通过呈现用于投影仪107投影的现有图像数据(未示出)根据姿态数据109p来生成所呈现的图像数据110。在图1中,连接组件的实线示出其间的图像和/或视频数据的流,而将配准系统105连接到装置101和/或装置108的点虚线示出其间的姿态数据109p和对象数据109o的流。当姿态数据109p表示系统100的校准以说明(account for)投影仪107 的位置和/或图像将被投影到的对象的位置时,姿态数据109p还可以被称为校准数据。对象数据109o通常包括虚拟三维环境中的对象的虚拟模型关于虚拟原点的虚拟位置和虚拟取向,虚拟三维环境对应于对象所在的物理三维环境。
当装置101和内容播放器103分开时,装置101将图像数据110传输到内容播放器103,内容播放器103通过产生适于处理并且由投影仪107投影的投影数据112来处理和/或“播放”图像数据110。例如,图像数据110可以包括但不限于AVI文件、一系列JPG文件、PNG文件等。投影数据112可以包括但不限于HDMI数据、VGA 数据、和/或视频传输数据。当装置101和内容播放器103被组合在装置108中时,装置109可以在不产生图像数据110的情况下实时地呈现投影数据112(例如,视频数据)。在任何情形下,都通过内容播放器103将投影数据112传输到投影仪107,其中,使用投影数据112控制投影仪107将基于此的图像例如投影到三维对象上。
装置101通常包括被构造成生成和/或呈现作为图像数据110的图像的图像生成器和/或呈现器(例如,计算装置、服务器等)。这样的图像数据110可以包括但不限于静止图像、视频等。此外,虽然未示出,但是装置101可以与存储可以生成和/或呈现图像数据110的数据的图像生成器和/或存储器通信,和/或包括该图像生成器和/ 或存储器。另选地,装置101可以使用用于生成图像的算法等来生成图像数据110。
内容播放器103包括播放器,所述播放器被构造成“播放”和/或呈现图像数据110;例如,当图像数据110包括视频数据时,内容播放器103被构造成通过输出用于由投影仪107投影的投影数据112来播放和/或呈现视频数据。因此,内容播放器 103可以包括但不限于视频播放器、视频处理装置、计算装置、服务器等。然而,如上所述,当装置101和内容播放器103被组合成装置108时,可以消除图像数据110 的呈现,并且装置108在不产生图像数据110的情况下呈现投影数据112。
配准系统105包括被构造成投影仪(包括投影仪107)、相机(图1中未示出)、和计算装置的任何合适组合,所述计算装置被构造成执行以下中的一个或多个:自动地确定投影仪107的参数;以及自动地确定图像将被投影到的三维对象的位置和取向。以下将参照图2至图19描述配准系统105的非限制性实现。
投影仪107包括被构造成投影投影数据112的投影仪,包括但不限于数字投影仪、电影投影仪、基于LCOS(硅基液晶)的投影仪、基于DMD(数字多镜装置)的投影仪等。此外,虽然仅示出了一个投影仪107,但是系统100可以包括多个投影仪107,每个投影仪107均被构造成投影各自投影数据,这些投影数据包括例如将被投影的较大平铺图像的部分。
如所示,系统100还包括例如投影仪107处的一个或更多个2D(“二维”)卷绕装置和/或模块113(但是这样的卷绕装置可以存在于内容播放器处和/或呈现为独立装置)。当存在时,可以由卷绕装置113例如通过移动和/或调节投影数据112内的像素以调节用于投影仪107投影到三维对象上的投影数据112,来卷绕投影数据112。然而,当配准系统确定姿态数据109p并且将其传输到装置101(和/或装置108)时,卷绕模块113可以不被使用,是可选的,和/或可以从系统100删除。事实上,卷绕模块113的使用表示根据现有技术如何处理图像,并且通过配准系统105给装置101 (和/或装置108)提供姿态数据109p,避免了卷绕模块113的存在。然而,在一些实现中,卷绕模块113可以用于例如当用于产生图像的对象的虚拟模型与物理对象不精确匹配时,对图像到物理对象的投影进行很小的改变。
虽然装置101、内容播放器103、配准系统105和投影仪107中的每个均被示出为不同组件,但是在其它实现中,装置101、内容播放器103、配准系统105和投影仪107中的一个或更多个的相应部分可以在相同装置(例如,装置108)内实现和/ 或可以在其间共享处理资源。例如,虽然未示出,但是系统100包括一个或更多个处理器、一个或更多个存储器和一个或更多个通信接口(例如,用于装置101、内容播放器103、配准系统105和投影仪107中的每个和/或在装置101、内容播放器103、配准系统105和投影仪107之间共享的处理器、存储器和通信接口)。事实上,通常,所示出的系统100的组件表示投影系统的不同功能,其中:可以自动地确定投影仪 107的参数,并且当投影仪107移动时自动地调节参数;可以自动地确定图像将被投影到的三维对象的位置和取向(并且当三维对象移动时被自动地调节);针对到三维对象的投影调节图像。
接下来关注图2,图2示出用于自动配准和投影映射的系统200。事实上,配准系统105可以包括系统200,并且此外,系统100的组件可以包括所期望的系统200 的组件。系统200包括:计算装置201、投影仪207;以及至少两个相机214-1、214-2 (下文中可互换地统称为相机214和总称为相机214),投影仪207和至少两个相机 214中的每个相对于三维环境215被安装,相机214的各自视场在三维环境215上与投影仪207的投影区域至少部分地重叠。特别地,每个相机214以不同位置和/或不同取向瞄准环境215,使得相机214在一起立体地观看环境215。
如所示,三维环境215包括平坦表面217上的三维和/或物理对象216,然而,在其它实现中,三维环境215(下文中可互换地称为环境215)可以包括以下中的一个或更多个:表面上的物理对象;弯曲表面;不规则表面等。事实上,环境215可以包括任何对象和/或图像将被投影到的具有深度的环境。
通常,投影仪107可以包括投影仪207,配准系统105可以包括计算装置201、投影仪207和相机214,并且例如当在装置101、内容播放器103和配准系统105之间共享资源时,装置101和内容播放器103中的任一个可以包括计算装置201的至少一部分。此外,虽然仅示出了一个投影仪207,但是系统200可以包括多于一个投影仪。
每个相机214可以包括数码相机、CCD(电荷耦合器件)等中的一个或更多个。虽然仅示出了两个相机214,但是系统200可以包括多于两个相机,所述多于两个相机均以不同位置和/或不同取向瞄准环境215和/或提供环境215的一个或更多个立体视图。此外,如上所述,每个相机214的各自视场在环境215中与投影仪207的投影区域至少部分地重叠,然而,假设相机214具有充足立体分离度(separation)以生成准确立体数据,其间重叠越多,自动配准和/或自动投影映射越准确,以下关于图3 至图5和图7至图19描述。通常,至少对象216的绝大部分(和/或环境215的其它三维特征)在每个相机的视场内,并且另外,投影仪207的投影区域包括至少对象 216的绝大部分(和/或环境215的其它三维特征)。在一些情形下,这样的重叠在大于大约50%重叠的范围内,而在其它实现中,这样的重叠在大于大约75%重叠的范围内。还将想到,在相机214的视场中和/或投影仪207的投影区域中可能出现阴影。
计算装置201(下文中可互换地称为装置201)可以包括任何合适的计算装置,包括但不限于图形处理单元(GPU)、图形处理装置、图形处理引擎、视频处理装置、个人计算机(PC)、服务器等,并且通常包括处理器220、存储器222和通信接口224 (下文中可互换地称为接口224),可选地包括输入装置和显示装置的任何合适组合。
处理器220可以被实现为多个处理器,包括但不限于一个或更多个中央处理器(CPU)和/或一个或更多个处理单元和/或一个或更多个图形处理单元(CPU);总之,处理器220包括装置201的硬件元件和/或硬件处理器。处理器220被构造成与存储器222通信,存储器222包括非易失性存储单元(例如,可擦除电可编程只读存储器 (“EEPROM”)、闪存存储器)和易失性存储单元(例如,随机存取存储器(“RAM”))。实现如在此所述的装置201的功能教导的编程指令通常被持久地保持在存储器222 中,并且在执行这样的编程指令期间由适当利用易失性存储的处理器220使用。本领域技术人员认识到,存储器222是可以存储能够在处理器220上执行的编程指令的计算机可读媒体的示例。此外,存储器222也是存储器单元和/或存储器模块和/或非易失性存储器的示例。
特别地,存储器222存储应用程序230,当处理器220处理应用程序230时,使处理器220和/或计算装置201能够:控制投影仪107顺序地投影一个或更多个结构化光图案,所述一个或更多个结构化光图案被构造成唯一地照射三维环境215的不同部分;在投影仪207投影所述一个或更多个结构化光图案时,从至少两个相机214 中的每个获取一个或更多个相应图像,所述一个或更多个相应图像中的每个与给定相应结构化光图案关联;通过处理相应图像和关联的给定相应结构化光图案,生成三维环境215的不同部分在投影仪空间与相机空间之间的二维映射;使用二维映射和至少两个相机214相对于三维环境215的给定位置,生成表示三维环境215的点云。
在一些实现中,当通过处理器220处理应用程序230时,还可以使处理器220 和/或计算装置201能够:根据点云确定投影仪207相对于三维环境215的位置、取向和透镜特性;以及相对于与三维环境215对应的虚拟三维环境定位虚拟相机,虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性与投影仪207的位置、取向和透镜特性分别匹配;以及控制投影仪207基于虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性进行投影。
在其它实现中,如所示,存储器222还存储物理对象216的虚拟模型240。在这些实现中,当通过处理器220处理应用程序230时,还可以使处理器220和/或计算装置201能够:通过将虚拟模型240与点云进行比较,确定物理对象216相对于三维环境215的物理原点的相应位置和相应取向;关于与物理原点相关的虚拟原点,在虚拟三维环境中设置虚拟模型240的虚拟位置和虚拟取向,以与物理对象216的相应位置和相应取向匹配;以及控制投影仪207用针对虚拟模型240的虚拟位置和虚拟取向调节的图像来照射物理对象216。
在其它实现中,当通过处理器220处理应用程序230时,还可以使处理器220 和/或计算装置201能够:确定至少两个相机214相对于三维环境215的给定位置,并且通过以下步骤设置三维环境215的物理原点:从至少两个相机214中的每个获取位于三维环境215中的已知目标图案的至少一个图像;以及将已知目标图案的至少一个图像与已知目标图案的表示进行比较。
接口224包括任何合适的有线和/或无线通信接口,所述有线和/或无线通信接口被构造成根据期望以有线和/或无线方式与投影仪207和相机214(和装置101、内容播放器103、配准系统105和装置108中的任一个)通信。
现在关注图3、图4和图5,图3、图4和图5示出根据非限制性实现的用于自动配准和投影映射的方法300的流程图。为了帮助解释方法300,将假设例如当处理器220处理应用程序230时,使用系统200并且具体地通过装置201的处理器220 来执行方法300。事实上,方法300是可以构造系统200和/或装置201的一种方式。此外,对方法300的以下论述将使得进一步理解装置201和系统200及其各种组件。然而,将理解,系统200和/或装置201和/或方法300可以改变,并且不需要彼此结合完全如在此论述的那样工作,并且这样的变型例在当前实现的范围内。
不管怎样,将强调,除非另外指明,否则不需要以所示出的准确顺序来执行方法300;同样地,可以并行而非顺序地执行各种框;因此,方法300的元素在此被称为“框”而非“步骤”。然而,还将理解,也可以在系统200的变型例上实现方法300。此外,虽然计算装置201被描述为实现和/或执行方法300的每个框,但是将想到,方法300的每个框使用处理器220处理应用程序230发生。
首先描述框301至305,框301至305一起包括根据已知目标图案自动地确定相机214的给定位置的方法。然而,在其它实现中,相机214的给定位置可以以另一种方式(例如,手动地)确定,并且被存储在存储器222中,并且不实现框301至305。
在任何情形下,在框301中,装置201从至少两个相机214中的每个获取位于三维环境215中的已知目标图案的至少一个图像。在框303中,装置201将已知目标图案的至少一个图像与已知目标图案的表示进行比较。并且,在框305中,装置201 确定至少两个相机214相对于三维环境215的给定位置,并且设置三维环境215的物理原点。
现在参照图6描述框301至305,图6基本类似于图2,类似元件具有类似标号。在图6中,已经从环境215中去除对象216,并且已知目标图案641(例如,上面印刷有方格图案的纸张)已被放在表面217上。此外,在这些实现中,存储器222已被提供有已知目标图案641的表示642,例如,表示与目标图案641相同的方格图案的图像数据。在任何情形下,每个相机214都捕捉在装置201处被接收的已知目标图案 641的相应图像650-1、650-2(例如,在框301中)。处理器220将图像650-1、650-2 中的每个与表示642(例如,在框303中,如由图像650-1、650-2周围的点虚线和图 6中的处理器220内的表示642表示的)进行比较,以例如通过将图像650-1、650-2 的大小、表面、特征取向和特征的形状与表示642进行比较并且使用图像处理技术,确定(例如,在框307中)相机214-1、214-2中的每个的相应给定位置670-1、670-2以及环境215的原点680。此外,然后将相应给定位置670-1、670-2和原点680存储在存储器222中。给定位置670-1、670-2将在下文中可互换地共同称为给定位置670 并且总体称为给定位置670。每个给定位置670可以包括每个相机214相对于例如原点680的相应位置、相应取向等以及相应透镜特性中的一个或更多个。特别地,每个给定位置可以包括以下中的一个或更多个:各个相机214关于原点680的相应三维位置;各个相机214的俯仰值;各个相机214的偏航值;各个相机214的滚转值;各个相机214的偏移值;以及各个相机214的相应透镜特性,这些透镜特性可以包括但不限于各个相机214的焦距、各个相机214的透镜畸变等。然而,可以使用任何合适参数组合来定义每个相机214的给定位置。
通常,原点680被分配给环境215的给定点,例如,相对于表面217上的目标图案641的位置的点。虽然在图6中将原点680示出为表面217上的正交坐标系的“0”位置,但是将想到,原点680仅是分配给三维环境215的位置的点,并且可以将任何坐标系与之关联。
再次关注图3以继续论述方法300并且具体地框307至313,框307至313一起包括用于利用点云对三维环境215建模的方法,该方法将在图4中示出的框315至 319中的每个和图5中示出的框321至325中使用;以下将进一步详细地描述框315 至319和框321至325中的每个。
在框307中,装置201控制投影仪207顺序地投影一个或更多个结构化光图案,所述一个或更多个结构化光图案被构造成唯一地照射三维环境215的不同部分。在框 309中,在投影仪207正在投影一个或更多个结构化光图案时,装置201从至少两个相机214中的每个获取一个或更多个相应图像,所述一个或更多个相应图像中的每个与给定相应结构化光图案关联。在框311中,装置201通过处理相应图像和关联的给定相应结构化光图案,生成三维环境215的不同部分在投影仪空间与相机空间之间的二维映射。在框313中,装置201使用二维映射和至少两个相机214相对于三维环境 215的给定位置670,生成表示三维环境215的点云。
现在参照图7、图8、图9、图10、图11和图12描述框307至框313,其中,图7、图9和图11基本类似于图2,其中,类似元件具有类似标号。此外,在图7至图12中,假设对象216已经被放回表面217上(例如,相对于图6),并且对象216 在表面217上的位置是任意的。
接下来关注图7,图7示出装置201控制投影仪207(例如,在框307中)顺序地投影一个或更多个结构化光图案701-1、701-2(下文中可互换地统称为图案701和总称为图案701),所述一个或更多个结构化光图案701-1、701-2被构造成唯一地照射三维环境215的不同部分,如参照图8描述的。特别地,当处理器220处理应用程序230时,由装置201生成图案701;另选地,可以将图案701的表示(未示出)存储在存储器222中。另选地,可以由投影仪207生成图案701。
此外,图7示出照射环境215的图案701-2;具体地,图案701-1包括投影到对象216和表面217上的四个并行垂直条,其中,这四个并行垂直条中的三个的至少一部分被投影到对象216上,因此假设(assume)对象216的形状。虽然未示出,但是还假设图案701-2以类似方式照射环境215,但是图案701-2包括四个平行水平条。然而,将想到,参照附图而不参照绝对参照系(诸如,地面和/或地球)来使用如在此使用的术语“水平”和“垂直”。
在图7中,当通过投影仪207投影图案701中的每个时,控制相机214中的每个以获取环境215的图像。例如,在投影仪207投影图案701-1时,控制相机214-1获取图像751-1并且控制相机214-2获取图像752-1;类似地,在投影仪207投影图案 701-2时,由装置201控制相机214-1获取图像751-2并且由装置201控制相机214-2 获取图像752-2。在装置201处从相机214接收图像751-1、751-2、752-1、752-2中的每个(例如,在框309中)。因此,当装置201正控制投影仪207投影图案701并且同时控制相机214获取图像751-1、751-2、752-1、752-2时,装置201可以使图案 701与图像751-1、751-2、752-1、752-2以及相机214关联,如图7中的处理器220 处的数据组780-1、780-2所表示的。图像751-1、751-2、752-1、752-2将在下文中被可互换地统称为图像751、752和总称为图像751或图像752。基本上,由每个相机 214针对给定结构化光图案获取的图像对751、752表示给定结构化光图案的立体视图。
还将想到,如所示,每个图案701仅是通过投影仪207投影到环境215上的结构化光图案的序列的表示,该序列被构造成唯一地顺序照射三维环境215的不同部分。例如关注图8,图8示出包括图案701-1的结构化光图案的第一序列801和包括图案 701-2的结构化光图案的第二序列802。
特别地,序列801、802包括垂直条(例如,序列801)和水平条(例如,序列 802)的图像序列,这些条的宽度在每个序列801、802内并且在每个序列801、802 中在每个方向上减半或加倍。例如,在序列801中,并且从图8的底部开始,第一图像包括左手侧的一个垂直黑条和右手侧的相等大小的一个垂直白条,这些条中的每个具有大约相等宽度。在下一个图像(从底部开始的第二个)中,左手黑条已经减半,用白条取代剩余部分;并且右手白条也已经减半,用黑条取代剩余部分,同时保持图像中的黑/白/黑/白序列。处理在下一个图像等中继续,直到顶部图像达到具有32个条(16个黑条与16个白条交替)为止。在序列802的水平条中发生类似处理。
此外,黑条和白条中的每个可以用例如白条表示“1”和黑条表示“0”表示使用相机214可检测的二元识别方案,如序列801中示出的。虽然不投影在每个条上示出的“1”和“0”,但是当通过相机214捕捉并且通过处理器220处理序列801中的每个图像的图像751、752时,可以通过装置201将图像751、752的白色区域译为“1”并且可以通过装置201将图像751、752的黑色区域译为“0”。可以针对环境215中由每个条照射的部分,进行这样的识别。
例如,还将针对序列801中的剩余图像,通过序列801的其它图像中的最右侧白条中的每个等,照射环境215中的由序列801中的顶部图像的最右侧白条照射的部分。因此,可以通过数字序列(1,1,1,1,1)表示该部分,指示该部分被白条顺序地照射。类似地,还通过序列801的其它图像中的最右侧白条中的每个照射所表示的环境215 中的由序列801中的顶部图像的最右侧黑条照射的部分。因此,可以通过数字序列 (1,1,1,1,0)表示该部分(假设通过序列中的第一个数字表示序列801中的底部图像),指示该部分由四个白条并且然后由黑条顺序地照射。然而,可以按任何次序将每个序列801、802中的图像投影并且序列801、802中的真实图像可以彼此交错。
因此,针对每个部分的每个数字序列可以表示二进制编号方案中的位,由于如上所述的对于不同图像而言条减半,并且由于在第一图像中以一个黑条和一个白条开始,导致这些位对于以唯一方式被顺序地照射的每个部分是唯一的。
可以针对序列802的水平条,重复该方案。
另外,当针对相机214-1关联图像751时并且当针对相机214-2关联图像752时,可以通过水平条和垂直条的相交来表示环境215的多个部分。因此,例如,三维环境 213的由序列801、802(并且具体地,序列801、802中的每个的右下角)顺序照射的部分可以通过数字序列((1,1,1,1,1),(1,1,1,1,1))表示,而相邻部分(例如,左边)可以通过((1,1,1,1,0),(1,1,1,1,1))表示。另选地,假定每个数字序列中的最后一个数字是最低位,这些数字序列中的每个可以被转换成数字和/或数字对;例如, ((1,1,1,1,1),(1,1,1,1,1))可以被转换成(31,31)(例如,16+8+4+2+1=31),而((1, 1,1,1,0),(1,1,1,1,1))可以被转换成(30,31)(例如,16+8+4+2+0=30)。
三维环境215的由序列801、802(并且具体地,序列801、802中的每个的左下角)顺序照射的部分可以通过数字序列((0,0,0,0,0),(0,0,0,0,0))或(0,0)表示。因此,当投影仪207正在投影结构化光图案时,可以在由相机214获取的图像(例如,立体的)中检测到32×32栅格部分。
此外,虽然在每个序列801、802中示出五个图像,但是每个序列801、802可以包括任何数量的图像,图像的数量越高,导致在由相机214获取的图像中检测到的环境215的部分的数量越高。然而,环境215的区域的最大可实现分辨率可以至少部分地通过投影仪207的分辨率来确定。例如,当投影仪207的分辨率是1920×1080(例如,水平×垂直)时,可以按序列通过投影仪207投影序列802中的11个结构化光图案(例如,继续图8中描述的减半技术),以解码达到2048的值(例如,11位或211,换句话说,用11个结构化光图案可实现的分辨率),因为1920在1024(例如,10位或210,换句话说,用10个结构化光图案可实现的分辨率)和2048之间。类似地, 11个结构化光图案也可以用于序列801,因为1080也在1024和2048之间。
然而,也可以通过相机214的分辨率来确定环境215的区域的最大可实现分辨率;换句话说,虽然可以投影2048个条的非常精细的结构化光图案,但是相机214可能不能够分辨这些精细的条。事实上,在成功原型中,发现每个序列801、802中的9 个结构化图案(例如,29或512个条,即,每个方向上9位分辨率)足以实现可接受结果。事实上,一般人的眼睛不能辨别较高分辨率。
此外,其它结构化光图案在当前实现的范围内。例如,假设相机214可以区分不同颜色,可以使用包括垂直和水平方向上的不同颜色的多个区域的单个结构化光图案,而不是垂直和水平条的序列。类似地,假设相机214可以区分不同明暗层次(shade of grey),可以使用包括垂直和水平方向上的不同明暗层次的多个区域的单个结构化光图案。在另一个替代实现中,可以使用正弦曲线的图像序列。事实上,将使环境 216的部分能够被唯一识别的一个或更多个结构化光图案的其它方案在当前实现的范围内。
因此,在一些实现中,框307的一个或更多个结构化光图案可以包括水平条和垂直条的图像序列,这些条的宽度在序列内并且在每个方向上被减半或加倍。另选地,框307的一个或更多个结构化光图案可以包括以下中的一个或更多个:条的图像序列;黑白图像;彩色图像;和正弦曲线的图像。
接下来关注图9,在图9中示出装置201通过处理相应图像751、752和关联的给定相应结构化光图案(由图9中的“SLP”指示)来生成三维环境215的不同部分在投影仪空间Pxy与相机空间(C1xy,C2xy)之间的立体二维映射901(即,在框311中)。换句话说,如图9中示出的图像751、752包括从相机214获取的多个图像,同时给定相应结构化光图案(例如,序列801、802)被投影到环境215上。
映射901通常包括将投影仪空间中的区域(例如,由投影仪207投影的结构化光图案上的部分,以上关于图8描述的)映射到图像751、752中的所检测的对应区域 (也如以上关于图8描述的)的值的二维表。映射901可以被图形地表示,如图10 中示出的。具体地,图10示出:针对相机214-1并且针对具有水平条(顶部图形映射)和垂直条(底部图形映射)的结构化光图案中的每个的投影仪空间Pxy与相机空间C1xy之间的图形表示(Pxy→C1xy);以及针对相机214-2并且针对具有水平条(顶部图形映射)和垂直条(底部图形映射)的结构化光图案中的每个的投影仪空间Pxy与相机空间C2xy之间的图形表示(Pxy→C2xy)。
特别地,对于图10中示出的每个图形映射,绘制粗线,该粗线示出映射如何随着物理对象的轮廓改变,另外使用阴影示出一般映射。映射中的阴影被示出为实心灰色区域。
此外,图10的顶行中的图形映射表示当其上投影垂直条时环境215的立体映射,并且图10的底行中的图形映射表示当其上投影水平条时环境215的立体映射。
将想到,图10中的图形映射仅是示例,并不是这样的映射的精确表示;例如,因为参照图8描述的结构化光图案可以被划分成32×32栅格,所以这样的结构化光图案的处理将导致针对图10中示出的每个图形映射的32×1(和/或1×32)映射,然而,如所示的,阴影是连续的,如映射901的分辨率比32×1(和/或1×32)更精细时将出现的。此外,仅提供阴影,以指示阴影是可能的并且不必须表示实际阴影的位置。
此外,虽然针对每个相机214的每个图形映射被示出为针对水平条的映射和针对垂直条的映射,但是对应表(Pxy→(C1xy,C2xy))可以包括将水平映射和垂直映射组合成正交坐标系(等)中的值的表。
针对每个相机214的如图10中示出的映射901的图形表示还示出每个相机214 正以不同位置和/或不同取向获取环境215的图像,因此是立体的。同样地,使用映射901和每个相机214的相应给定位置670,可以生成表示三维环境215的至少一部分(并且具体地,相机214可见的环境的那些部分)的点云。换句话说,映射901 和/或表(Pxy→(C1xy,C2xy))表示针对环境215的相机214的视场(例如,相机空间) 到投影仪207的投影区域(例如,投影空间)的立体映射。例如,当已知相机214 的位置670时,可以使用这样的映射901来生成环境215的三维映射。
例如,接下来关注图11,图11示出处理器220根据映射901和相应给定位置670 生成点Mxyz云(例如,在框313中)。换句话说,因为每个相机214的位置670是已知的并且映射901表示环境215的立体视图的二维表示,所以可以例如以点Mxyz云的形式来生成环境215的三维映射。通常,点Mxyz云中的每个点包括环境的与以上关于图8(例如,关于原点680)描述的部分对应的区域的三维坐标。可以使用任何合适技术来生成点Mxyz,包括但不限于三角测量法等。
例如,关注图12,图12示出表示对象216(使用点虚线示出)的示例点Mxyz云的图形表示。虽然示出了大于32×32的分辨率,但是当使用图8的结构化光图案时,点Mxyz云的密度将小于如图12中示出的密度。此外,可以使用插值和过滤技术来分别增加点Mxyz云的密度,并且过滤出在对象216的边界之外的点。另外,虽然图12 中示出的点Mxyz云仅表示对象216,但实际上,可以通过点Mxyz云来表示环境215的整体,包括表面217。
暂时返回图3,一旦生成点Mxyz云,方法300就可以前进至框315和/或框321。例如,参照图4,框315至319包括以下方法:使用点Mxyz云,相对于与三维环境215 对应的虚拟三维环境定位对应于投影仪207的虚拟相机;具体地,如根据点Mxyz云确定的,虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性被设置成与投影仪207的位置、取向和透镜特性分别匹配,然后使用点Mxyz云来生成用于投影仪207在环境215内投影的图像。参照图5,框321至325包括确定对象216的位置和取向使得可以生成用于在其上投影的图像的方法。框315至319以及框321至325可以按任何次序和/或并行地被执行;例如,在框319之后,方法300可以前进至框321和/或在框325之后,方法300可以前进至框315。
特别地,并且参照图4,在框315中,装置201根据点Mxyz云确定投影仪207相对于三维环境215的位置、取向和透镜特性。在框317中,装置201相对于与三维环境215对应的虚拟三维环境定位虚拟相机,虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性与投影仪207的位置、取向和透镜特性分别匹配。并且,在框319中,装置 201控制投影仪207基于虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性进行投影。将想到,在不使用虚拟模型240的情况下发生框301至319;因此,对于这些框,虚拟模型240是可选的。
然而,假设存储器222存储物理对象216的虚拟模型240,并且参照图5,在框 321中,装置201通过将虚拟模型240与点Mxyz云进行比较,确定物理对象216相对于三维环境215的物理原点680的相应位置和相应取向。在框323中,装置201关于与物理原点680相关的虚拟原点,在虚拟三维环境中设置虚拟模型240的虚拟位置和虚拟取向,以与物理对象216的相应位置和相应取向匹配。并且,在框325中,装置 201控制投影仪207用针对虚拟模型的虚拟位置和虚拟取向调节的图像来照射物理对象216。
现在参照图13、图14、图15和图16描述框315至框319,图13、图15和图 16基本类似于图11(和/或图2),其中,类似元件具有类似标号。
在示出框315的实现的图13中,点Mxyz云被示出为相对于原点680覆盖在三维环境215上,然而,将想到,这样的表示仅在处理器220和/或存储器222内出现。此外,在图13中还示出了代表性图案1301,代表性图案1301示出图8的结构化光图案的相交的三个区域的位置(但是假设图案1301包括32×32栅格),这三个区域对应于点Mxyz云中的三个点。当装置201可以确定点Mxyz云中的哪些点对应于图案1301 的区域时,可以通过使点Mxyz云中的多个点与先前通过投影仪207投影的结构化光图案中的一个或更多个的相应区域匹配,根据点Mxyz云推导出投影仪207相对于三维环境215的位置、取向和透镜特性(在图13中示出为参数1303),并且如参照图8描述的。
通常,虽然点Mxyz云中的三个点在图13中被示出为用于确定投影仪207的位置、取向和透镜特性,但是实际上增加所使用的点的数量增加结果的准确性,并且使得能够确定更多参数(例如,可以求解更多参数);例如,用于准确求解投影仪207的位置、取向和透镜特性的点的数量可以是大约几千个,然而,可以使用更少的点来求解投影仪207的位置、取向和透镜特性。
通常,可以使用相机校准技术(包括但不限于三角测量技术、图像处理技术等) 使图案1301的区域与点Mxyz云中的对应点配准,以确定将使得点Mxyz云中的点与图案1301的区域配准的投影仪207的位置、取向和透镜特性。一旦出现配准,就可以将投影仪207的位置、取向和透镜特性作为参数1303存储在存储器222中。
接下来关注图14,图14示出对应于三维环境215的虚拟三维环境1415(下文中可互换地称为环境1415)。为清楚起见,环境1415被示出为包括对应于对象216的虚拟对象1416和对应于表面217的虚拟表面1417,然而虚拟对象1416和虚拟表面 1417是可选的,并且事实上,在此之前,还未确定虚拟对象1416和表面1417的相应位置、取向。然而,虚拟环境1415包括与物理原点680相关的虚拟原点1480。例如,通常,装置201假设针对具有原点680的环境215的坐标系;因此,装置201 针对具有原点1480的虚拟三维环境1415设置类似坐标系,原点1480在类似坐标系内与原点680配准或者偏移已知量。
在任何情形下,将理解,虚拟环境1415是在装置201处(例如,处理器220处和/或存储器222中)存在的构造。此外,在框317中,装置相对于与三维环境215 对应的虚拟三维环境1415定位虚拟相机1487,虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性与投影仪207的位置、取向和透镜特性分别匹配,这样的匹配包括原点 680、1480之间的任何偏移。换句话说,如图15中示出的,根据投影仪207的参数 1303推导虚拟相机1487的参数1503。
特别地,虚拟相机1487的虚拟位置、虚拟取向和虚拟透镜特性(例如,参数1303)可以包括虚拟相机1487的姿态数据。在一些实现中,虚拟相机1487的姿态数据可以包括:虚拟三维环境1415中的虚拟相机1487关于与物理原点680相关的原点1480 的三维位置;俯仰值;偏航值;滚转值;偏移值;和投射值。然而,可以使用任何合适的参数组合来定义姿态数据。
图15还示出了图14的虚拟环境1415,该虚拟环境1415包括与装置101“通信”的虚拟相机1487,以示出虚拟环境1415表示对环境215建模的呈现环境,使得可以利用用于“定位”虚拟相机1487的参数1503使用呈现环境来生成图像,以“观看”对象216、或其它对象和/或表面在物理环境215中将如何出现。例如,可以使用虚拟模型240在虚拟环境1415中控制虚拟对象1416以具有特定外观(例如,利用在其表面上呈现的图像),使用参数1503定位虚拟相机1487,并且然后使用虚拟相机1487 “观看”虚拟对象1416(例如,如箭头1540指示的),然后使用虚拟对象1416的“观看”来生成和/或呈现用于由投影仪207投影的图像。
因此,如图16中示出的,然后可以使用参数1503来控制投影仪207,以例如基于用于投影的参数1503通过呈现图像1550(例如,图像1550表示虚拟相机1487的“观看”和/或视场)进行投影,图像1550然后被发送到投影仪207以投影到例如对象216上。然而,虽然在图16中,对象216保持位于表面217处,但是在其它实现中,可以去除对象216和/或用其它对象取代对象216,并且可以在不存在对象216 的情况下发生由投影仪207投影图像。换句话说,呈现用于投影到环境215中的图像 1550不严格取决于虚拟模型240或对象216。而是,由投影仪207投影的任何图像基于参数1503。
参照图1,参数1503和/或参数1703可以被作为姿态数据109p传输到装置101 和/或装置108,致使从装置101和/或内容播放器103接收的图像将被呈现以用于投影到环境215中,而不必使用卷绕引擎113等进一步卷绕图像(但是在当前实现中不排除使用卷绕引擎113,例如,对投影图像进行很小的改变)。在一些实现中,一旦确定了数据1503(例如,状态数据109p),数据1503就可以被自动地应用至呈现环境(例如,装置101和/或装置108),使得所生成的图像数据由此立即被更新;这样的实现可以被认为是对图像的实时或几乎实时生成更新。然而,在其它实现中,数据 1503被应用至所呈现的图像数据(例如,在所呈现的视频管线(pipeline)中);当数据1503被应用至所呈现的图像数据时,这样呈现的图像数据通常被重新呈现,这是耗时的。然而,一旦通过内容播放器103播放重新呈现的图像,重新呈现的图像的配准就类似于实时或几乎实时实现的配准,此外,当生成来自呈现环境的准确像素数据时,图像质量比用卷绕解决方案可实现的图像质量更好,与通常造成图像质量受损的使用例如卷绕引擎113“卷绕”图像相反。
还将想到,框307至319通常示出用于自动地执行投影映射并且确定投影仪的位置的方法。因此,避免了对通过技术人员手动地卷绕由投影仪107投影的图像的需要。此外,假设系统100和/或系统200具有多于一个投影仪,可以针对系统100或系统 200中的每个投影仪重复框307至319。类似地,当对象在三维环境215内移动时,无论是故意地还是偶然地,可以重复框307至313以及框321至325,而不需要使技术人员返回安装现场再次手动地卷绕图像以说明对象的新位置。
现在,参照图17、图18和图19描述框321至325,图17和图19基本类似于图 11(和/或图2),其中,类似元件具有类似标号。此外,假设在以下论述中,对象216 处于与图7至图13中相同的位置和取向。
在图17中,装置201使用任何合适技术将点Mxyz云与对象216的虚拟模型240 进行比较(例如,在框321中),任何合适技术包括但不限于迭代最近点方案。使用这样的比较来确定物理对象相对于三维环境215的物理原点680的相应位置和相应取向。换句话说,对象216的尺寸、表面、形状等在虚拟模型240内限定,并且通常通过点Mxyz云来定义对象216在环境215中的实际位置、取向等,然而在此之前,还没有从点Mxyz云中提取对象216的位置、取向。可以使用点Mxyz云与虚拟模型240的比较例如以使虚拟模型240的表面与点Mxyz云配准来提取对象216相对于物理原点 680的相应位置和相应取向,如由参数1703表示的。
接下来关注图18,图18再次示出了虚拟环境1415,然而,在这些实现中,虚拟相机1487的位置不必须已被确定,也不必须在虚拟环境1415中被设置,并且同样地,用点虚线示出虚拟相机1487。然而,已经关于虚拟原点1480(与物理原点680相关,如上所述)在虚拟三维环境1415中设置了虚拟模型240的虚拟位置和虚拟取向,以与物理对象216的相应位置和相应取向匹配。特别地,虚拟模型240取代图14的虚拟对象1416,图14的虚拟对象在图14中仅被示出为位置标识符和/或为了清楚起见。
因此,如图19中示出的,如参数1903表示的虚拟模型240的虚拟位置和虚拟取向被设置成参数1703(例如,框323)。另外如图19中示出的,针对虚拟模型240 的虚拟位置和虚拟取向,调节将被投影到对象216上的图像1950(例如,如图15和图16中,使用虚拟环境1415对环境215建模)。例如,参照图1,参数1703和/或参数1903可以作为对象数据109o被传输到装置101和/或装置108,致使从装置101 和/或内容播放器103接收的图像将被呈现以用于投影到对象216上,而不必使用卷绕引擎113进一步卷绕图像(但是在当前实现中并不排除使用卷绕引擎113,例如,对投影图像进行很小的改变)。
还将想到,框307至313和框321至325通常示出用于自动地执行对象配准的方法,以使得在那里投影的图像的自动呈现可以发生。因此,避免了对通过技术人员在投影仪107和/或投影仪207处手动地卷绕图像的需要。类似地,当对象在三维环境内移动时,无论是故意地还是偶然地,可以重复框307至313和框321至325,而不使技术人员返回安装现场再次手动地卷绕图像以说明针对对象的新位置。
此外,在成功原型中,在少于30秒内实现图像到三维对象复杂几何形状的自动配准和投影,例如,对象表示具有复杂非平面表面和/或复杂弯曲表面的动物等。
本领域技术人员将想到,还可以存在更多替代实现和修改。例如,在执行框307 之前,装置201可以控制投影仪207将均相互移位的对比度校准图像(诸如,方格图案的序列)投影到环境215,以在每个方格图案被投影到环境215时,例如通过使用相机214获取环境215的图像来确定环境215的暗区域和亮区域之间的差异。这样的对比度校准帮助装置201随后确定图像751、752中的哪些区域对应于投影到三维环境215的结构化光图案的黑区域(等)和白区域(等)。
此外,可以调整通过投影仪207投影结构化光图案和通过相机214获取其图像,以最小化实现方法300的时间。在一些实现中,系统200被构造成使得时间段重叠。例如,假设在开始下一个结构化光图案的投影和实际投影下一个结构化光图案之间存在延迟,在相机214正在获取当前结构化光图案的图像时,装置201可以开始使投影仪207投影下一个结构化光图案。结构化光图案的开始投影和获取其图像之间的时间可以被调节到最小值,以减少实现方法300的时间。在成功原型中,使用这样的方法将配准时间从大约30秒减少至少于15秒。
在任何情况下,投影到三维对象的先前方法都使用二维卷绕作为配准方法,该配准方法通常被手动执行,或者是针对不复杂几何形状被自动确定(例如,平坦矩形、圆柱形、球体)。另选地,可以通过将点手动地拖拽到对象上来手动地确定投影仪姿态,使用反演计算来确定投影仪位于哪个位置。相比之下,当前实现使用自动确定的三维投影仪姿态作为配准方法,其被自动地应用至呈现环境。在一些实现中,一旦确定了姿态数据,姿态数据就可以被自动地应用至呈现环境,以立即(例如实时和/或几乎实时地)更新源自呈现环境的图像数据。然而,当使用所呈现的视频管线时,一旦确定了姿态数据,然后通常重新呈现内容;一旦重新呈现的图像数据被加载到内容播放器上并且回放,就得到与实时实现时相同的配准结果,这产生比卷绕解决方案更好的图像质量。
本领域技术人员将想到,在一些实现中,可以使用预编程硬件或固件元件(例如,专用集成电路(ASIC)、电可擦除可编程只读存储器(EEPROM)等)或其它相关组件来实现装置101、108、201、内容播放器103和配准系统105的功能。在其它实现中,可以使用有权访问代码存储器(未示出)的计算设备来实现装置101、108、201、内容播放器103和配准系统105的功能,代码存储器存储用于计算设备操作的计算机可读程序代码。计算机可读程序代码可以被存储在固定的、有形的并且能够由这些组件直接读取的计算机可读存储介质(例如,可移动盘、CD-ROM、ROM、固定盘、 USB驱动器)上。此外,将想到,计算机可读程序可以被存储为包括计算机可使用介质的计算机程序产品。另外,永久存储装置可以包括计算机可读程序代码。还将想到,计算机可读程序代码和/或计算机可使用介质可以包括非暂时性计算机可读程序代码和/或非暂时性计算机可使用介质。另选地,计算机可读程序代码可以被远程存储,但是能够经由通过传输介质连接到网络(包括而不限于互联网)的调制解调器或其它接口装置发送到这些组件。传输介质可以是非移动介质(例如,光学和/或数字和/或模拟通信线路)或移动介质(例如,微波、红外线、自由空间光学或其它传输方案)或其组合。
本领域技术人员将想到,还可以存在更多替代实现和修改,并且以上示例仅是一个或更多个实现的说明。因此,范围仅受所附权利要求限制。
Claims (13)
1.一种用于自动配准和投影映射的系统,所述系统包括:
计算装置;投影仪;以及至少两个相机,所述投影仪和所述至少两个相机中的每个被配置用于相对于三维环境安装,各自视场在所述三维环境上与所述投影仪的投影区域至少部分地重叠,所述三维环境包括物理对象;存储器,所述存储器存储所述物理对象的虚拟模型;所述计算装置被构造成:
控制所述投影仪顺序地投影一个或更多个结构化光图案,所述一个或更多个结构化光图案被构造成唯一地照射所述三维环境的不同部分和所述物理对象;
在所述投影仪投影所述一个或更多个结构化光图案时,从所述至少两个相机中的每个获取一个或更多个相应图像,所述一个或更多个相应图像中的每个与给定相应结构化光图案关联;
通过处理所述相应图像和关联的给定相应结构化光图案,生成所述三维环境的不同部分在投影仪空间与相机空间之间的二维映射;
使用所述二维映射和所述至少两个相机相对于所述三维环境的给定位置,生成表示所述三维环境的点云;
根据所述点云确定所述投影仪相对于所述三维环境的位置、取向和透镜特性;
相对于与所述三维环境对应的虚拟三维环境定位虚拟相机,所述虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性与所述投影仪的位置、取向和透镜特性分别匹配;
通过将所述虚拟模型与所述点云进行比较,确定所述物理对象相对于所述三维环境的物理原点的相应位置和相应取向,以配准所述虚拟模型的表面和所述点云,其中,在所述虚拟模型内限定所述物理对象的所述表面,并且由所述点云限定所述物理对象在所述三维环境中的实际位置和取向;
关于与所述物理原点相关的虚拟原点,在所述虚拟三维环境中设置所述虚拟模型的虚拟位置和虚拟取向,以与所述物理对象的相应位置和相应取向匹配;
基于所述虚拟相机的所述虚拟位置、所述虚拟取向和所述虚拟透镜特性、以及所述相应位置呈现用于投影到所述物理对象的图像,针对虚拟模型的虚拟位置和虚拟取向调节所述图像;以及
控制所述投影仪基于所述虚拟相机的所述虚拟位置、所述虚拟取向和所述虚拟透镜特性进行投影,并且控制所述投影仪用针对所述虚拟模型的所述虚拟位置和所述虚拟取向调节的所述图像照射所述物理对象。
2.根据权利要求1所述的系统,其中,所述一个或更多个结构化光图案包括以下中的一个:结构化光图案的序列,所述结构化光图案的序列被构造成唯一地顺序照射所述三维环境的不同部分和所述物理对象;水平条和垂直条的图像的序列,所述条的宽度在所述序列内并且在每个方向上被减半或加倍;条的图像的序列;黑白图像;彩色图像;和正弦曲线的图像。
3.根据权利要求1所述的系统,其中,所述计算装置还被构造成确定所述至少两个相机相对于所述三维环境的给定位置,并且通过以下步骤设置所述三维环境的物理原点:
从所述至少两个相机中的每个获取位于所述三维环境中的已知目标图案的至少一个图像;以及
将所述已知目标图案的所述至少一个图像与所述已知目标图案的表示进行比较。
4.根据权利要求1所述的系统,其中,所述计算装置还被构造成使用三角测量法,使用所述二维映射和所述至少两个相机相对于所述三维环境的给定位置来生成表示所述三维环境的点云。
5.根据权利要求1所述的系统,其中,所述计算装置还被构造成通过使所述点云中的多个点与所述结构化光图案中的一个或更多个的相应区域匹配,根据所述点云确定所述投影仪相对于所述三维环境的位置、取向和透镜特性。
6.根据权利要求1所述的系统,其中,所述虚拟位置、所述虚拟取向和所述虚拟透镜特性包括姿态数据,所述姿态数据包括:所述虚拟三维环境中的所述虚拟相机关于与所述物理原点相关的虚拟原点的三维位置;俯仰值;偏航值;滚转值;偏移值;和投射值。
7.一种用于自动配准和投影映射的方法,所述方法包括:
使用计算装置控制投影仪顺序地投影一个或更多个结构化光图案,所述一个或更多个结构化光图案被构造成唯一地照射三维环境的不同部分和物理对象,所述三维环境包括所述物理对象;
在所述投影仪投影所述一个或更多个结构化光图案时,使用所述计算装置从至少两个相机中的每个获取一个或更多个相应图像,所述一个或更多个相应图像中的每个与给定相应结构化光图案关联,所述投影仪和所述至少两个相机中的每个相对于所述三维环境安装,各自视场在所述三维环境上与所述投影仪的投影区域至少部分地重叠;
使用所述计算装置,通过处理所述相应图像和关联的给定相应结构化光图案,生成所述三维环境的不同部分在投影仪空间与相机空间之间的二维映射;
使用所述计算装置,使用所述二维映射和所述至少两个相机相对于所述三维环境的给定位置,生成表示所述三维环境的点云;
使用所述计算装置,根据所述点云确定所述投影仪相对于所述三维环境的位置、取向和透镜特性;
使用所述计算装置,相对于与所述三维环境对应的虚拟三维环境定位虚拟相机,所述虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性与所述投影仪的位置、取向和透镜特性分别匹配;
通过将存储在存储器中的所述物理对象的虚拟模型与所述点云进行比较,以将所述虚拟模型的表面与所述点云配准,来确定所述物理对象相对于所述三维环境的物理原点的相应位置和相应取向,其中,在所述虚拟模型内限定所述物理对象的所述表面,并且由所述点云限定所述物理对象在所述三维环境中的实际位置和取向;
关于与所述物理原点相关的虚拟原点,在所述虚拟三维环境中设置所述虚拟模型的虚拟位置和虚拟取向,以与所述物理对象的相应位置和相应取向匹配;
基于所述虚拟相机的所述虚拟位置、所述虚拟取向和所述虚拟透镜特性、以及所述相应位置呈现用于投影到所述物理对象的图像,针对虚拟模型的虚拟位置和虚拟取向调节所述图像;以及
使用所述计算装置控制所述投影仪基于所述虚拟相机的所述虚拟位置、所述虚拟取向和所述虚拟透镜特性进行投影,并且控制所述投影仪用针对所述虚拟模型的所述虚拟位置和所述虚拟取向调节的所述图像照射所述物理对象。
8.根据权利要求7所述的方法,其中,所述一个或更多个结构化光图案包括以下中的一个:结构化光图案的序列,所述结构化光图案的序列被构造成唯一地顺序照射所述三维环境的不同部分和所述物理对象;水平条和垂直条的图像的序列,所述条的宽度在所述序列内并且在每个方向上被减半或加倍;条的图像的序列;黑白图像;彩色图像;和正弦曲线的图像。
9.根据权利要求7所述的方法,所述方法还包括:确定所述至少两个相机相对于所述三维环境的给定位置,并且通过以下步骤设置所述三维环境的物理原点:
从所述至少两个相机中的每个获取位于三维环境中的已知目标图案的至少一个图像;以及
将所述已知目标图案的所述至少一个图像与所述已知目标图案的表示进行比较。
10.根据权利要求7所述的方法,所述方法还包括使用三角测量法,使用所述二维映射和所述至少两个相机相对于所述三维环境的给定位置来生成表示所述三维环境的点云。
11.根据权利要求7所述的方法,所述方法还包括:通过使所述点云中的多个点与所述结构化光图案中的一个或更多个的相应区域匹配,根据所述点云确定所述投影仪相对于所述三维环境的位置、取向和透镜特性。
12.根据权利要求7所述的方法,其中,所述虚拟位置、所述虚拟取向和所述虚拟透镜特性包括姿态数据,所述姿态数据包括:所述虚拟三维环境中的所述虚拟相机关于与所述物理原点相关的虚拟原点的三维位置;俯仰值;偏航值;滚转值;偏移值;和投射值。
13.一种存储计算机程序的非暂时性计算机可读介质,其中,所述计算机程序的执行用于:
使用计算装置控制投影仪顺序地投影一个或更多个结构化光图案,所述一个或更多个结构化光图案被构造成唯一地照射三维环境的不同部分和物理对象,所述三维环境包括所述物理对象;
在所述投影仪投影所述一个或更多个结构化光图案时,使用所述计算装置从至少两个相机中的每个获取一个或更多个相应图像,所述一个或更多个相应图像中的每个与给定相应结构化光图案关联,所述投影仪和所述至少两个相机中的每个相对于所述三维环境安装,各自视场在所述三维环境上与所述投影仪的投影区域至少部分地重叠;
使用所述计算装置,通过处理所述相应图像和关联的给定相应结构化光图案,生成所述三维环境的不同部分在投影仪空间与相机空间之间的二维映射;
使用所述计算装置,使用所述二维映射和所述至少两个相机相对于所述三维环境的给定位置,生成表示所述三维环境的点云;
使用所述计算装置,根据所述点云确定所述投影仪相对于所述三维环境的位置、取向和透镜特性;
使用所述计算装置,相对于与所述三维环境对应的虚拟三维环境定位虚拟相机,所述虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性与所述投影仪的位置、取向和透镜特性分别匹配;
通过将存储在存储器中的所述物理对象的虚拟模型与所述点云进行比较,以将所述虚拟模型的表面与所述点云配准,来确定所述物理对象相对于所述三维环境的物理原点的相应位置和相应取向,其中,在所述虚拟模型内限定所述物理对象的所述表面,并且由所述点云限定所述物理对象在所述三维环境中的实际位置和取向;
关于与所述物理原点相关的虚拟原点,在所述虚拟三维环境中设置所述虚拟模型的虚拟位置和虚拟取向,以与所述物理对象的相应位置和相应取向匹配;
基于所述虚拟相机的所述虚拟位置、所述虚拟取向和所述虚拟透镜特性、以及所述相应位置呈现用于投影到所述物理对象的图像,针对虚拟模型的虚拟位置和虚拟取向调节所述图像;以及
使用所述计算装置,控制所述投影仪基于所述虚拟相机的虚拟位置、虚拟取向和虚拟透镜特性进行投影,并且控制所述投影仪用针对所述虚拟模型的所述虚拟位置和所述虚拟取向调节的所述图像照射所述物理对象。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/820,693 | 2015-08-07 | ||
US14/820,693 US10089778B2 (en) | 2015-08-07 | 2015-08-07 | System and method for automatic alignment and projection mapping |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106454291A CN106454291A (zh) | 2017-02-22 |
CN106454291B true CN106454291B (zh) | 2020-06-05 |
Family
ID=56737906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610634868.6A Active CN106454291B (zh) | 2015-08-07 | 2016-08-05 | 用于自动配准和投影映射的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10089778B2 (zh) |
EP (1) | EP3128289B1 (zh) |
CN (1) | CN106454291B (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10643343B2 (en) * | 2014-02-05 | 2020-05-05 | Creaform Inc. | Structured light matching of a set of curves from three cameras |
US10574956B2 (en) * | 2015-08-07 | 2020-02-25 | Christie Digital Systems Usa, Inc. | System and method for automatic alignment and projection mapping |
US10025886B1 (en) * | 2015-09-30 | 2018-07-17 | X Development Llc | Methods and systems for using projected patterns to facilitate mapping of an environment |
US20180286130A1 (en) * | 2016-01-06 | 2018-10-04 | Hewlett-Packard Development Company, L.P. | Graphical image augmentation of physical objects |
US10057556B2 (en) * | 2016-01-28 | 2018-08-21 | Disney Enterprises, Inc. | Projector optimization method and system |
US11236897B2 (en) | 2016-03-17 | 2022-02-01 | Design Mill Inc. | Interactive imaging and sensing system, device and method |
WO2017161270A1 (en) * | 2016-03-17 | 2017-09-21 | Design Mill Inc. | Interactive imaging and sensing system, device and method |
US10317199B2 (en) * | 2016-04-08 | 2019-06-11 | Shining 3D Tech Co., Ltd. | Three-dimensional measuring system and measuring method with multiple measuring modes |
KR102207725B1 (ko) * | 2016-04-08 | 2021-01-26 | 샤이닝 쓰리디 테크 컴퍼니., 리미티드. | 다중 측량 모드의 3차원 측량 시스템 및 측량방법 |
US20170351415A1 (en) * | 2016-06-06 | 2017-12-07 | Jonathan K. Cheng | System and interfaces for an interactive system |
US10401145B2 (en) * | 2016-06-13 | 2019-09-03 | Carl Zeiss Industrielle Messtechnik Gmbh | Method for calibrating an optical arrangement |
JP7159057B2 (ja) * | 2017-02-10 | 2022-10-24 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 自由視点映像生成方法及び自由視点映像生成システム |
US20190122388A1 (en) * | 2017-04-17 | 2019-04-25 | Cognex Corporation | High-accuracy calibration system and method |
CN108733206B (zh) | 2017-04-25 | 2020-10-30 | 广东虚拟现实科技有限公司 | 一种坐标对齐方法、系统和虚拟现实系统 |
EP3460388A1 (en) * | 2017-09-26 | 2019-03-27 | Hexagon Metrology (Israel) Ltd. | Global positioning of a sensor with respect to different tiles for a global three-dimensional surface reconstruction |
US12038756B2 (en) * | 2017-12-19 | 2024-07-16 | Carnegie Mellon University | Intelligent cleaning robot |
US10276075B1 (en) * | 2018-03-27 | 2019-04-30 | Christie Digital System USA, Inc. | Device, system and method for automatic calibration of image devices |
CN108776338B (zh) * | 2018-06-19 | 2022-05-24 | 四川大学 | 信号源空间传感方法、装置及主动式传感系统 |
EP3709638B1 (en) * | 2019-03-13 | 2023-08-30 | L'oreal | System and method for projecting digital content onto user's facial surface |
CN110288511B (zh) * | 2019-05-10 | 2023-04-07 | 台州宏达电力建设有限公司台州经济开发区运检分公司 | 基于双相机图像的最小化误差拼接方法、装置、电子设备 |
CN114391086B (zh) * | 2019-09-04 | 2024-05-24 | ams传感器新加坡私人有限公司 | 设计和构造用于三维传感器模块的点投影仪 |
CN111061421B (zh) * | 2019-12-19 | 2021-07-20 | 北京澜景科技有限公司 | 一种画面投影方法、装置及计算机存储介质 |
US11538179B2 (en) * | 2020-02-25 | 2022-12-27 | Zebra Technologies Corporation | Depth-based data capture system configuration |
CN111494009B (zh) * | 2020-04-27 | 2021-09-14 | 上海霖晏医疗科技有限公司 | 用于手术导航的图像配准方法、装置和手术导航系统 |
US11205064B1 (en) * | 2020-06-15 | 2021-12-21 | Google Llc | Measuring quality of depth images in real time |
US11223808B1 (en) * | 2020-06-30 | 2022-01-11 | Christie Digital Systems Usa, Inc. | Device, system and method for generating a mapping of projector pixels to camera pixels and/or object positions using alternating patterns |
CN112004073B (zh) * | 2020-08-07 | 2021-11-02 | 山东金东数字创意股份有限公司 | 基于window平台异面融合影像互动系统和方法 |
CN112461207A (zh) * | 2020-08-31 | 2021-03-09 | 南京航空航天大学 | 一种用于引导飞机装配的投影装置及方法 |
JP7558799B2 (ja) * | 2020-12-25 | 2024-10-01 | セイコーエプソン株式会社 | 位置特定方法、シミュレーション方法、位置特定システムおよびシミュレーションシステム |
CN112330536B (zh) * | 2021-01-04 | 2021-04-09 | 航天宏图信息技术股份有限公司 | 传感器数据的处理方法、装置、电子设备及存储介质 |
US12019706B2 (en) * | 2021-05-23 | 2024-06-25 | Jingdong Technology Holding Co., Ltd. | Data augmentation for object detection via differential neural rendering |
CN113793390A (zh) * | 2021-08-26 | 2021-12-14 | 光量信息科技(宁波)有限公司 | 一种投影仪的交互式三维标示方法 |
CN113706629B (zh) * | 2021-08-26 | 2024-05-07 | 南京航空航天大学 | 一种基于虚拟投影的零件编号识别方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105006021A (zh) * | 2015-06-30 | 2015-10-28 | 南京大学 | 一种适用于快速点云三维重建的颜色映射方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7306341B2 (en) * | 2005-02-28 | 2007-12-11 | Hewlett-Packard Development Company, L.P. | Multi-projector geometric calibration |
DE102006002602A1 (de) * | 2006-01-13 | 2007-07-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Kalibrierungsverfahren und Kalibrierungssystem |
-
2015
- 2015-08-07 US US14/820,693 patent/US10089778B2/en active Active
-
2016
- 2016-08-03 EP EP16182483.4A patent/EP3128289B1/en active Active
- 2016-08-05 CN CN201610634868.6A patent/CN106454291B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105006021A (zh) * | 2015-06-30 | 2015-10-28 | 南京大学 | 一种适用于快速点云三维重建的颜色映射方法及装置 |
Non-Patent Citations (2)
Title |
---|
A Self-Calibrating Method for Photogeometric Acquisition of 3D Objects;Daniel G.Aliaga,Yi Xu;《IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE,IEEE COMPUTER SOCIETY,USA》;20100401;第32卷(第4期);第747-754页 * |
Daniel G.Aliaga,Yi Xu.A Self-Calibrating Method for Photogeometric Acquisition of 3D Objects.《IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE,IEEE COMPUTER SOCIETY,USA》.2010,第32卷(第4期),第747-754页. * |
Also Published As
Publication number | Publication date |
---|---|
US10089778B2 (en) | 2018-10-02 |
EP3128289A1 (en) | 2017-02-08 |
US20170039756A1 (en) | 2017-02-09 |
CN106454291A (zh) | 2017-02-22 |
EP3128289B1 (en) | 2018-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106454291B (zh) | 用于自动配准和投影映射的系统和方法 | |
US10574956B2 (en) | System and method for automatic alignment and projection mapping | |
US11115633B2 (en) | Method and system for projector calibration | |
EP3154261B1 (en) | System and method for online projector-camera calibration from one or more images | |
CN110913188B (zh) | 从减少的测试图案集合生成更新的摄像头-投影仪对应关系的设备和方法 | |
JP2019125929A5 (zh) | ||
WO2012096747A1 (en) | Forming range maps using periodic illumination patterns | |
TW201520975A (zh) | 產生場景深度圖之方法及裝置 | |
KR102000486B1 (ko) | 다중 텍스처를 이용한 3d 프린팅 모델 생성 장치 및 방법 | |
WO2020075252A1 (ja) | 情報処理装置、プログラム及び情報処理方法 | |
US20210125305A1 (en) | Video generation device, video generation method, program, and data structure | |
Lerones et al. | Using 3D digital models for the virtual restoration of polychrome in interesting cultural sites | |
TW201705088A (zh) | 基於場景之立體影像所產生之差異圖 | |
KR20200129657A (ko) | 혼합현실 환경의 동적인 3차원 현실데이터 구동을 위한 실사기반의 전방위 3d 모델 비디오 시퀀스 획득 방법 | |
KR101817753B1 (ko) | 3차원 모델의 형상이 개선된 ptm 생성 시스템 및 이를 이용한 ptm 생성 방법 | |
KR101817756B1 (ko) | 인터랙티브한 시점 제어가 가능한 3차원 모델 기반의 ptm 생성 시스템 및 이를 이용한 ptm 생성 방법 | |
JP2003216973A (ja) | 三次元画像処理方法、三次元画像処理プログラム、三次元画像処理装置および三次元画像処理システム | |
KR20140004604A (ko) | 3차원 얼굴 생성 장치 및 방법 | |
JP2007315777A (ja) | 三次元形状計測システム | |
KR101351745B1 (ko) | 3차원 얼굴 생성 장치 및 방법 | |
JP2023153534A (ja) | 画像処理装置、画像処理方法、およびプログラム | |
US9872003B1 (en) | System and method for aligning stacked projectors | |
KR20160093769A (ko) | 공간 매칭 기법을 적용한 가상 콘텐츠 생성 방법 및 시스템 | |
Hanusch | A new texture mapping algorithm for photorealistic reconstruction of 3D objects | |
CN113763545A (zh) | 图像确定方法、装置、电子设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1233811 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1233811 Country of ref document: HK |