CN110913188B - 从减少的测试图案集合生成更新的摄像头-投影仪对应关系的设备和方法 - Google Patents
从减少的测试图案集合生成更新的摄像头-投影仪对应关系的设备和方法 Download PDFInfo
- Publication number
- CN110913188B CN110913188B CN201910867017.XA CN201910867017A CN110913188B CN 110913188 B CN110913188 B CN 110913188B CN 201910867017 A CN201910867017 A CN 201910867017A CN 110913188 B CN110913188 B CN 110913188B
- Authority
- CN
- China
- Prior art keywords
- camera
- projector
- points
- point
- test pattern
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 228
- 238000000034 method Methods 0.000 title claims abstract description 153
- 230000006870 function Effects 0.000 claims description 103
- 238000003384 imaging method Methods 0.000 claims description 73
- 230000015654 memory Effects 0.000 claims description 46
- 238000013507 mapping Methods 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 19
- 230000000007 visual effect Effects 0.000 claims description 4
- 238000009877 rendering Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000002156 mixing Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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/3191—Testing thereof
-
- 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
- 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/2513—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 with several lines being projected in more than one direction, e.g. grids, patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- 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
-
- 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
- H04N9/3147—Multi-projection systems
-
- 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
-
- 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/3191—Testing thereof
- H04N9/3194—Testing thereof including sensor feedback
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Controls And Circuits For Display Device (AREA)
- Projection Apparatus (AREA)
Abstract
从减少的测试图案集合生成更新的摄像头‑投影仪对应关系的设备和方法。当先前已确定了投影仪和摄像头的初始相对位置中的投影仪点和摄像头点之间的预定对应关系时,可以通过投影根据预定对应关系获得的单个测试图案进行投影仪点和摄像头点之间的重新校准来估计投影仪和摄像头之间的移动。当移动太大而无法通过单个测试图案估计时,可以投影另一个测试图案以确定该移动的估计函数,并且特别地,该估计函数用于估计由于投影仪和摄像头从初始相对位置到当前相对位置的相对移动所导致的一个或更多个摄像头点的移动。
Description
相关申请的交叉引用
本申请要求2018年9月14日提交的美国专利申请No.62/731,313、2019年4月9日提交的美国专利申请No.16/378,659的优先权,其全部内容通过引用并入本文。
技术领域
本发明涉及从减少的测试图案集合生成更新的摄像头-投影仪对应关系的设备、系统和方法。
背景技术
投影映射通常是非常复杂的过程,这是由于将多个二维(“2D”)投影图像对准到三维(“3D”)表面需要投影仪的仔细对准。因此,需要校准各个投影仪相对于表面的姿态,由于投影仪会将许多校准测试图案(例如结构光图案)投影至表面上,因此通常使用摄像头获取物理对象的图像来执行校准。例如,结构光图案通常包括系列二值图案,这使得能够在表面上找到投影仪像素的位置。校准测试图案的数量可以是数以十计、数以百计或更多,因此校准可能需要相当长的时间来实现。特别是,可以将摄像头捕获的表面上的结构光图案的图像与实际的结构光图案进行比较,以确定投影仪相对于表面和/或表面几何形状的几何形状。当系统经历扰动或漂移(drift)时,需要再次校正或校准;由于热效应和/或投影仪和/或摄像头和/或投影仪所投影的表面的稍微移动,可能会发生这种扰动或漂移。然而,打断投影映射显示以使用十个或更多个测试图案的完全集合来执行完全校准可能是不可接受的。
发明内容
本说明书的一方面提供了一种设备,该设备包括:控制器,该控制器与以下各项通信:投影仪和摄像头,该投影仪和该摄像头在表面处具有共同视场;存储器,该存储器存储在投影仪和摄像头的初始相对位置中的投影仪点和摄像头点之间的预定对应关系,控制器被配置为:根据预定对应关系确定用于在投影仪点和摄像头点之间映射的函数;控制投影仪将第一测试图案投影到表面上,第一测试图案包括覆盖投影仪的投影图像场的至少四个投影仪点;控制摄像头获取第一测试图案的第一图像;确定第一图像中的第一成像摄像头点;使用函数确定与第一测试图案中的至少四个投影仪点相对应的对应摄像头点;将第一成像摄像头点与对应摄像头点相关联,以确定估计函数,该估计函数用于估计由于投影仪和摄像头从初始相对位置到当前相对位置的相对移动所导致的一个或更多个摄像头点的移动;控制投影仪将第二测试图案投影到表面上,第二测试图案包括:根据预定对应关系确定的多个点,第二测试图案的多个点的数量大于第一测试图案的点的相应数量;控制摄像头获取第二测试图案的第二图像;确定第二图像中的第二成像摄像头点;使用估计函数和第二成像摄像头点生成在当前相对位置中的摄像头点和投影仪点之间的更新的对应关系;以及使用更新的对应关系来控制投影仪投影图像。
本说明书的另一方面提供了一种方法,该方法包括以下步骤:在计算设备的控制器处根据在表面处具有共同视场的投影仪和摄像头的初始相对位置中的投影仪点和摄像头点之间的预定对应关系,确定用于在投影仪点和摄像头点之间映射的函数;使用控制器控制投影仪将第一测试图案投影到表面上,第一测试图案包括覆盖投影仪的投影图像场的至少四个投影仪点;使用控制器控制摄像头获取第一测试图案的第一图像;使用控制器确定第一图像中的第一成像摄像头点;经由控制器使用函数确定与第一测试图案中的至少四个投影仪点相对应的对应摄像头点;使用控制器将第一成像摄像头点与对应摄像头点相关联以确定估计函数,该估计函数用于估计由于投影仪和摄像头从初始相对位置到当前相对位置的相对移动所导致的一个或更多个摄像头点的移动;使用控制器控制投影仪将第二测试图案投影到表面上,第二测试图案包括:根据预定对应关系确定的多个点,第二测试图案的多个点的数量大于第一测试图案的点的相应数量;使用控制器控制摄像头获取第二测试图案的第二图像;使用控制器确定第二图像中的第二成像摄像头点;使用控制器利用估计函数和第二成像摄像头点生成在当前相对位置中的摄像头点和投影仪点之间的更新的对应关系;以及在控制器处使用更新的对应关系来控制投影仪投影图像。
附图说明
为了更好地理解本文所述的各种实施方式并且更清楚地示出如何实现这些实施方式,现在将仅通过示例的方式参考附图,其中:
图1描绘了根据非限制性实施方式的投影系统。
图2描绘了根据非限制性实施方式的从减少的测试图案集合生成更新的摄像头-投影仪对应关系的系统,该系统可以在图1的系统中使用。
图3描绘了根据非限制性实施方式的从减少的测试图案集合生成更新的摄像头-投影仪对应关系的计算设备的框图,该计算设备可以在图1的系统中使用。
图4描绘了根据非限制性实施方式并根据第一重新校准模式从减少的测试图案集合生成更新的摄像头-投影仪对应关系的方法。
图5描绘了根据非限制性实施方式并根据第二重新校准模式从减少的测试图案集合生成更新的摄像头-投影仪对应关系的方法。
图6描绘了由图2系统的摄像头获取的示例图像,以示出图2系统的投影仪的相对移动,并且还描绘了根据第一重新校准模式中的非限制性实施方式的摄像头和投影仪之间的更新的对应关系的确定。
图7描绘了根据非限制性实施方式的图5的方法的示例。
图8描绘了根据非限制性实施方式的在漂移前后由摄像头获取的5点图案。
图9描绘了根据另选非限制性实施方式的在漂移前后由摄像头获取的5点图案。
图10描绘了根据第二重新校准模式中的非限制性实施方式的摄像头和投影仪之间的更新的对应关系的确定。
具体实施方式
图1描绘了系统100,该系统100包括:渲染设备101(在下文中可互换地称为渲染设备101);内容播放器103(和/或内容生成器);对准系统105;以及投影仪107。通常,渲染设备101与内容播放器103通信并且可选地与对准系统105通信,并且内容播放器103与投影仪107通信。
如图所示,渲染设备101和内容播放器103被组合成一个设备108,然而在其他实现中,渲染设备101和内容播放器103可以是独立的设备。对准系统105可以被配置为生成姿态数据109p,该姿态数据109p至少包括:例如,定义投影仪107和投影仪107投影到的对象之间的几何关系的数据。通常,姿态数据109p包括投影仪107的位置(例如,相对于对象的“x,y,z”坐标)和投影仪107的取向(例如,相对于对象的“偏航(yaw)”、“俯仰(pitch)”和“滚动(roll)”)。然而,姿态数据109p还可以包括投影仪107的固有属性,例如镜头特征等。
渲染设备101可以例如通过渲染现有的图像数据(未示出)生成渲染的图像数据110以供投影仪107投影。图像数据110通常可以包括二维图像。内容播放器103可以将图像数据110与由对准系统105接收的姿态数据109p(和对象数据109o)进行组合以产生视频输入112,该视频输入112包括为使投影仪107在对象上投影立体图而更改的图像数据110。在图1中,连接组件的实线示出了这些组件之间的图像流和/或视频数据流,而将对准系统105连接到渲染设备101和/或设备108的点画线示出了这些系统和设备之间的姿态数据109p的流和对象数据109o的流。对象数据109o通常包括投影仪107将图像投影到的对象的位置和取向的模型,并且该模型可以与对象一起提供和/或由对准系统105使用一个或更多个摄像头来确定。
当渲染设备101和内容播放器103是独立的设备时,渲染设备101将图像数据110传送到内容播放器103,内容播放器103通过产生适合于投影仪107处理和投影的视频输入112来处理和/或“播放”图像数据110。例如,图像数据110可以包括但不限于AVI文件、一系列JPG文件、PNG文件等。视频输入112可以包括但不限于高清晰度多媒体接口(HDMI)数据、数字视频接口(DVI)数据、DisplayPort(DP)数据、互联网协议视频(IP)数据、视频图形阵列(VGA)数据和/或视频传输数据。
当渲染设备101和内容播放器103组合于设备108中时,设备108可以在不产生图像数据110的情况下实时渲染视频输入112(例如视频数据)。无论如何,内容播放器103将视频输入112传送到投影仪107,其中,例如,视频输入112用于控制投影仪107将视频输入112上的图像投影到三维对象上。视频输入112可以包括用于投影到三维对象上的图像,例如,如使用姿态数据109p和/或对象数据109o确定的、用于投影仪107关于三维对象的立体图而更改的图像数据110;然而,视频输入112还可以包括姿态数据109p、投影仪107的外在属性、投影仪的设置等。
渲染设备101通常包括图像生成器和/或渲染器(renderer),例如计算设备、服务器等,该渲染设备101被配置为生成和/或渲染作为图像数据110的图像。这样的图像数据110可以包括但不限于静态图像、视频等。此外,虽然未示出,但是渲染设备101可以与可生成和/或渲染图像数据110的图像生成器和/或存储数据的存储器进行通信,和/或渲染设备101可以包括该图像生成器和/或该存储器。另选地,渲染设备101可以使用用于生成图像的算法等来生成图像数据110。
内容播放器103包括播放器,该播放器被配置为:例如,根据姿态数据109p“播放”和/或渲染图像数据110。当图像数据110包括视频数据时,内容播放器103被配置为通过输出视频输入112来播放和/或渲染视频数据,以供投影仪107投影。因此,内容播放器103可以包括但不限于视频播放器、视频处理设备、计算设备、服务器等。然而,如上所述,当渲染设备101和内容播放器103被组合作为设备108时,可以不渲染图像数据110,并且设备108在不产生图像数据110的情况下渲染视频输入112。
投影仪107包括被配置为投影视频输入112的投影仪,该投影仪包括但不限于数字投影仪、电影投影仪、基于投影仪的LCOS(硅基液晶)、基于投影仪的DMD(数字微镜设备)等。此外,虽然仅描绘了一个投影仪107,但是系统100可以包括多个投影仪107,各个投影仪107被配置为投影各自的投影数据,该投影数据包括:例如,要投影的较大平铺图像的部分。不管投影仪107中使用的技术如何,假设投影仪107和/或本文所述的其他投影仪包括图像调制器,该图像调制器包括多个单独的像素调制器;例如,当投影仪包括DMD投影仪时,图像调制器包括多个数字微镜,其中针对要投影图像的每个像素使用一个微镜。
如图所示,系统100还包括一个或更多个2D(“二维”)变形(warp)设备和/或模块113,例如,在投影仪107处(尽管这样的变形设备可以存在于内容播放器103处和/或作为独立运行的设备)。视频输入112可以由变形模块113例如通过移动和/或调整视频输入112内的像素来变形,以调整视频输入112供投影仪107投影至对象上,该对象包括但不限于屏幕、物体等。在一些实施方式中,变形模块113可用于对投影到物理对象上的图像进行小的改变,例如,当产生图像的对象的虚拟模型未精确匹配物理对象时。此外,变形模块113等可用于更改视频输入112以将投影在多投影仪系统中的图像进行混合。
实际上,通常,对准系统105包括投影仪(包括投影仪107)、摄像头(图1中未示出)和计算设备的任何适当组合,该计算设备可被配置为以下各项中的一个或更多个:自动确定投影仪107的姿态数据109p;自动确定投影仪107的更新的姿态数据109p;自动确定变形数据;自动确定混合数据并可选地自动确定对象数据109o。下面将参考图2至图10来描述对准系统105的非限制性实施方式。
如图1所描绘的,系统100可选地例如在投影仪107处还包括一个或更多个图像修改设备和/或模块120(尽管这样的图像修改设备可以存在于内容播放器处和/或作为独立运行的设备)。当图像修改模块120存在时,视频输入112可以由图像修改模块120修改,例如,通过将视频输入112更改为包括其他图像,例如结构光图案,如下面更详细描述的那样。在一些实施方式中,变形模块113和图像修改模块120可以彼此集成在一起。图像修改模块120可以在投影仪107外部或与投影仪107集成在一起。在另外的实施方式中,图像修改模块120的功能可以与投影仪107集成在一起。在一些实施方式中,图像修改模块120可以由对准系统105来控制。
虽然渲染设备101、内容播放器103、对准系统105和投影仪107中的每一个都被描绘为不同的组件,但在其他实现中,渲染设备101、内容播放器103、对准系统105和投影仪107中的一个或更多个的相应部分可以在同一设备(例如设备108)内实现和/或处理资源可以在它们之间共享,这包括但不限于云计算布置。例如,虽然未示出,但系统100包括一个或更多个控制器、一个或更多个处理器、一个或更多个存储器和一个或更多个通信接口,例如针对渲染设备101、内容播放器103、对准系统105和投影仪107中的每一个的控制器、存储器和通信接口,和/或在渲染设备101、内容播放器103、对准系统105和投影仪107之间共享的控制器、存储器和通信接口。实际上,通常,如图所示,系统100的组件代表投影系统的不同功能,其中:投影仪107的姿态数据109p可以自动确定。在一些实施方式中,系统100包括用于投影映射到三维对象上的组件和/或功能,和/或用于当投影仪107移动和/或图像被投影到的屏幕和/或对象移动时更新姿态数据109p的组件和/或功能。
如所描绘的,设备108等还向投影仪107提供结构光图案数据199,例如,用于并入要由投影仪107投影的图像中,如下所述。例如,渲染设备101、内容播放器103和设备108中的一个或更多个可以存储结构光图案数据199并将其提供给投影仪107。在其他实施方式中,投影仪107可以预先配置有结构光图案数据199。
接下来将注意力转向图2,图2描绘了从减少的测试图案集合生成更新的摄像头-投影仪对应关系的系统200。实际上,对准系统105可以包括系统200,并且系统100的组件还可以根据需要包括系统200的组件。
系统200包括:例如,在投影映射“显示”中,相对于图像要被投影到的物理对象而布置的计算设备201(该计算设备201在下文中可互换地称为设备201)、至少一个投影仪207和至少一个摄像头208、209;如图所示,物理对象包括三维表面216,然而投影映射可以在任何物理对象上发生。虽然仅描绘了一个投影仪207和两个摄像头208、209,但系统200可以包括任何数量的投影仪和摄像头,包括但不限于(如图所示)一个投影仪和一个摄像头。此外,尽管未在图2中示出,如下面参照图3所述,设备201包括控制器、存储器和通信接口。
特别地,各个摄像头208、209的视场与投影仪207的视场的至少一部分重叠,使得各个摄像头208、209可以捕获投影仪207所投影图像的图像。在一些示例中,如图所示,摄像头208被布置和/或配置为:获取由投影仪207投影到表面216上的整个投影图像的图像。因此,在下文描述的示例中,将参考一个投影仪207和一个摄像头208来描述设备201的功能,尽管设备201的功能可以包括组合来自各个摄像头208、209的、由投影仪207投影到表面216的投影图像。此外,各个摄像头208、209通常包括电子摄像头和/或数字摄像头和/或视频摄像头,这包括但不限于基于电荷耦合设备(CCD)的摄像头。
如图所示,设备201包括计算设备,该计算设备可以控制投影仪207投影图像和测试图案(包括但不限于结构光图案),并且进一步控制摄像头208获取测试图案的图像。设备201可以是对准系统105的设备和/或另一计算设备。如图所示,设备201经由相应的有线和/或无线通信链路213与投影仪207和摄像头208通信。
在一些示例实施方式中,设备201可以控制投影仪207和摄像头208在若干校准模式之间切换以校准系统200。这些校准模式包括:使用多个结构光图案执行完全校准;使用一个测试图案进行重新校准的第一重新校准模式;以及使用两个测试图案进行重新校准的第二重新校准模式。因此,例如,设备201可以在存储器中存储以下各项和/或访问存储有以下各项的存储器:结构光图案数据199、第一测试图案221和第二测试图案222(下文中也称为测试图案Tf),下面将更详细地描述。
例如,投影仪207可以被配置为投影结构光图案作为对系统200进行完全校准的一部分,该完全校准使用可以包括十个或更多个结构光图案(例如,以给定的投影像素为中心的独立结构(例如,非重叠)、增加或减小分辨率的垂直和水平条纹、增加或减小分辨率的棋盘图案等、和/或用于产生这种结构光图案的数据)的结构光图案数据199。
可以通过结构光图案数据在投影仪207处接收结构光图案,并且将该结构光图案作为投影映射显示的一部分集成到由投影仪207投影的图像中,例如以根据人类视觉系统模型为不可见的速率来投影,例如作为(例如,以60Hz)投影的每帧图像中的位平面和/或以大于10帧/秒的速率来投影。
然而,本领域技术人员理解,先前已使用这种结构光图案数据199对系统200进行校准,因此系统200在投影仪207和摄像头208的初始相对位置中存储投影仪点(在图2中标记为proji)和摄像头点(在图2中标记为cami)之间的预定对应关系230(在图2中也标记为C0)。例如,投影仪点proji可以对应于投影仪207的像素(例如,基于DMD的像素),并且摄像头点cami可以对应于摄像头208的像素和/或传感器位置(例如,基于CCD的像素和/或传感器);然而,对应关系可以不与投影仪207的像素和/或摄像头208的像素呈一对一的关系。
如图所示,例如,投影仪207将全场(full field)图像231投影到表面216上(例如,使用投影仪207的所有像素),并且摄像头208正在获取作为投影图像233而被投影到表面216上的全场图像231的图像232。然而,由于表面216的弯曲和/或取向等,与全场图像231相比,投影图像233是扭曲的,图像232包括与投影仪点proji相对应的摄像头点cami,以及与投影仪点proji不对应的摄像头点cami。投影仪点proji和摄像头点cami之间的这种对应关系作为摄像头点cami和投影仪点proji的对(cami,proji)被存储在预定对应关系230中;虽然仅描绘了一个“第i”对(cami,proji),但是本领域技术人员理解,预定对应关系230包括摄像头点cami和投影仪点proji的多对(cami,proji)。例如,在一些示例中(例如,对于16:9宽高比图像等),预定对应关系230可以包括15×20对(cami,proji)。
预定对应关系230通常用于获得和/或生成变形数据/或混合数据和/或用于投影图像的姿态数据109p。
因此,本领域技术人员理解,系统200已经被校准过至少一次,例如,在如预定对应关系230所表示的第一校准模式中,并且期望能更快地确定系统200何时“漂移”(例如,投影仪207、摄像头208和/或表面216中的一个或更多个的相对位置已经改变),并且可以校正系统200以确定更新的摄像头-投影仪对应关系(例如,重新校准系统200以获得更新的变形数据和/或混合数据和/或用于投影图像的姿态数据109p)。
如上所述,系统200和/或设备201可以被操作为两种重新校准模式,如下文所述。
现在参考图3描述设备201的细节。设备201可以包括任何合适的计算设备,该计算设备包括但不限于图形处理单元(GPU)、图形处理设备、图形处理引擎、视频处理设备、个人计算机(PC)、服务器等,并且通常包括:控制器320;存储一个或更多个应用323、结构光图案数据199、第一测试图案221和第二测试图案222的存储器322;以及通信接口324(以下可互换地称为接口324)。虽然存储器322被描绘为在设备201的内部,但存储器322可以在设备201的外部,并且控制器320可以经由接口324访问存储器322。此外,虽然第一测试图案221和第二测试图案222被描绘为存储在存储器322中,测试图案221、222可以另选地由控制器320生成,例如当控制器320正在实施一个或更多个应用323时生成;特别地,存储器322可以另选地存储用于生成测试图案221、222的数据。下面将更详细地描述测试图案221、222。
一个或更多个应用323中的每一个应用可以是类似的,但可用于系统200和/或设备的不同的模式和/或校准模式。为简单起见,一个或更多个应用323在下文中可互换地称为应用323。
如图所示,存储器322还可以存储投影仪207的特征337(例如,固有特征和/或外在特征,并且特征337可以包括所确定的投影仪207的姿态数据,诸如姿态数据109p)以及摄像头208的特征338(例如,固有特征和/或外在特征,并且特征338可以包括所确定的摄像头208的姿态数据)。虽然未示出,但是存储器322还可以存储表面216的模型,该模型可以从数学描述(当可用时)和/或使用激光扫描技术获取,和/或表面216的计算机辅助绘图(CAD)模型可以是可用的。特别地,投影仪207的特征337和表面216的模型可以用于通过结构光图案数据199确定投影仪207的姿态数据109p,其中结构光图案的图像是由投影仪207投影并由摄像头208捕获的。
接口324包括被配置为与投影仪207和摄像头208、209通信的任何合适的有线或无线通信接口。接口324可以根据需要以有线和/或无线方式通信,这包括但不限于使用电缆、WiFi通信链路、BluetoothTM通信链路、个域网、局域网等。
控制器320可包括一个处理器和/或多个处理器,包括但不限于一个或更多个中央处理器(CPU)和/或一个或更多个图形处理单元(GPU)和/或一个或更多个处理单元;无论哪种方式,控制器320包括硬件元件和/或硬件处理器。实际上,在一些实施方式中,控制器320可以包括ASIC(专用集成电路)和/或FPGA(现场可编程门阵列),该ASIC和/或FPGA专门配置用于从减少的测试图集生成更新的摄像头-投影仪对应关系。因此,设备201可以优选地不是通用计算设备,而是专门被配置为实现用于从减少的测试图案集合生成更新的摄像头-投影仪对应关系的特定功能的设备。例如,设备201和/或控制器320可以具体包括计算机可执行引擎,该计算机可执行引擎被配置为实现用于从减少的测试图案集合生成更新的摄像头-投影仪对应关系的功能。
存储器322可包括非易失性存储单元(例如,可擦除电子可编程只读存储器(“EEPROM”),闪存存储器)和易失性存储单元(例如,随机存取存储器(“RAM”))。实现如本文所述的设备201的功能教导的编程指令通常被持久地保持在存储器322中并由控制器320使用,控制器320在执行这样的编程指令期间适当地利用易失性存储器。本领域技术人员认识到,存储器322是可存储在控制器320上可执行编程指令的计算机可读介质的示例。此外,存储器322也是存储器单元和/或存储器模块和/或非易失性存储器的示例。
特别地,存储器322存储应用323,当由控制器320以第一重新校准模式处理应用323时,使得控制器320和/或设备201能够:控制投影仪207将测试图案222(例如,第二测试图案)投影到表面216上,该测试图案222包括从预定对应关系230确定的多个点;控制摄像头208获取投影到表面216上的测试图案的图像;在投影到表面216上的测试图案的图像中确定成像摄像头点;使用成像摄像头点通过以下操作在当前相对位置的摄像头点和投影仪点之间生成更新的对应关系:将成像摄像头点双射(bijectively)关联到预定对应关系230的摄像头点cami;并且将成像摄像头点双射关联到与双射关联的摄像头点cami相对应的投影仪点proji。然后可以使用更新的对应关系来控制投影仪207来投影图像,例如通过使用更新的对应关系来重新确定变形数据和/或混合数据和/或姿态数据109p来投影。
因此,在第一重新校准模式中,设备201和/或系统200使用一个测试图案(例如,第二测试图案222)来重新校准系统200。然而,本领域技术人员理解,只有当系统200中的漂移小到足以成功地将成像摄像头点与预定对应关系230的摄像头点cami进行双射关联(例如,使用最近邻法等)时,该模式才能成功地重新校准系统200。
当无法确定成像摄像头点与摄像头点cami之间的双射关联时,控制器320可以以第二重新校准模式处理应用323,使得控制器320和/或设备201能够:根据预定对应关系230确定用于在投影仪点proji和摄像头点cami之间映射的函数;控制投影仪207将第一测试图案221投影到表面216上,该第一测试图案221包括:至少四个投影仪点,这些投影仪点覆盖投影仪207的投影图像场;控制摄像头208获取第一测试图案221的第一图像;确定第一图像中的第一成像摄像头点;使用所述函数确定与第一测试图案中的至少四个投影仪点相对应的对应摄像头点cami;将第一成像摄像头点与对应摄像头点cami相关联,以确定估计函数,该估计函数用于估计由于投影仪207和摄像头208从初始相对位置到当前相对位置的相对移动而导致的一个或更多个摄像头点cami的移动;控制投影仪207将第二测试图案222投影到表面216上,该第二测试图案222包括从预定对应关系230确定的多个点,第二测试图案的多个点的数量大于第一测试图案221的点的相应数量;控制摄像头208获取第二测试图案222的第二图像;确定第二图像中的第二成像摄像头点;使用估计函数和第二成像摄像头点在当前相对位置中的摄像头点cami和投影仪点proji之间生成更新的对应关系。然后可以使用更新的对应关系来控制投影仪207投影图像,例如通过使用更新的对应关系来重新确定变形数据和/或混合数据和/或姿态数据109p。
因此,在第二重新校准模式中,设备201和/或系统200使用两个测试图案(例如,第一测试图案221和第二测试图案222)来重新校准系统200。本领域技术人员理解,仅当系统200中的漂移小到足以成功地将第一图像中的第一成像摄像头点与对应于第一测试图案中的至少四个投影仪点的摄像头点cami进行双射关联时,该模式才能成功地重新校准系统200。实际上,本领域技术人员将理解,使用第一测试图案221中非常少量的点(例如,至少4个点,并且最多10个点,尽管点的数量大于10处于本说明书的范围内),使得这种双射关联(例如,使用最近邻法)可能成功用于通常在投影仪系统中发生的漂移中。
当无法确定第一图像中的第一成像摄像头点与摄像头点cami之间的双射关联时,控制器320可以以完全重新校准模式处理应用323并使用结构光图案数据199的结构化测试图案完全集合来完全重新校准系统。
所确定的估计函数可以取决于第一测试图案221中的点的数量,以及摄像头特征338是否可用于控制器320,如下面更详细描述的那样。
此外,第二重新校准模式可以独立于第一重新校准模式来实现。特别地,系统200在没有使用第一重新校准模式进行第一尝试重新校准的情况下可以使用第二重新校准模式重新校准。
此外,在任何校准和/或重新校准模式中,设备201和/或系统200可以被配置为控制投影仪207在正在进行的投影映射显示中潜在地(subliminally)投影测试图案221、222和/或结构光图案(例如,作为投影映射的帧图像中的位平面和/或以人类视觉系统模型为不可见的速率),并且同步摄像头208以获取测试图案221、222和结构光图案的图像,例如,使用开关、在投影仪207和摄像头208之间的触发电缆、同步信号等来获取,例如,如申请人的共同未决的美国专利申请No.15/969049中所描述的那样,其通过引用并入本文。
现在将注意力转向图4,图4描绘了根据非限制性实施方式并根据第一重新校准模式的用于从减少的测试图案集合生成更新的摄像头-投影仪对应关系的方法400的流程图。为了有助于解释方法400,将假设使用系统200执行方法400,并且至少部分地由设备201的控制器320执行方法400,例如当控制器320在第一次重新校准模式下处理应用323。实际上,方法400是可以配置系统100、200和/或设备201的一种方式。此外,以下对方法400的讨论将引起对设备201、系统100、200及其各种组件的进一步理解。然而,应该理解,系统100、200和/或设备201和/或方法400可以变化,并且不需要完全如本文中所讨论的那样彼此结合地工作,并且这些变化在本发明实施方式的范围内。
无论如何,要强调的是,除非另有说明,否则方法400不需要以所示的严格顺序执行;同样,各种块可以并行执行而不是顺序执行;因此,方法400的元素在本文中称为“块”而不是“步骤”。然而,还应该理解,方法400也可以在系统200的变型上实现。此外,虽然设备201被描述为实现和/或执行方法400的块的至少一部分,但是应当理解,使用控制器320处理应用323来实现方法400的这些块。
在块402处,控制器320控制投影仪207将测试图案222(例如,第二测试图案222)投影到表面216上,该测试图案222包括根据预定对应关系确定的多个点。例如,测试图案222可以包括在一对一的关系中以预定对应关系230的各个投影仪点proji为中心围绕的块和/或正方形,其中各个块和/或正方形的中心对应于预定对应关系230的投影仪点proji。特别地,测试图案222可以包括“结构”的全场测试图案(例如正方形、矩形等和/或任何合适的形状),该“结构”的全场测试图案对应于投影仪207的所有像素,针对这些像素要确定更新的摄像头-投影仪对应关系,其中每个结构的中心对应于预定对应关系230的投影仪点proji。在一些示例中,可以投影15×20个正方形网格和/或相同数量和/或布置的结构网格作为对(cami,proji)。可以将测试图案222作为位平面插入在投影映射显示中由投影仪207投影的一个或更多个图像帧中。当先前未存储和/或生成测试图案222时,例如,块402可包括根据存储在应用323和/或存储器322中的数据生成测试图案222。
在块404处,控制器320控制摄像头208获取投影到表面216上的测试图案222的图像。控制器320可以通过同步信号等来将测试图案222的投影与获取投影到表面216上的测试图案222的图像进行同步。
在块406处,控制器320确定投影到表面216上的测试图案222的图像中的成像摄像头点。例如,可以使用图像分析技术和/或机器视觉技术来确定测试图案222的图像中的各个结构和/或块和/或正方形的中心,其中各个中心都包括成像摄像头点。
在块408,控制器320确定成像摄像头点是否可以与预定对应关系230的摄像头点cami进行双射关联(例如使用最近邻法等)。特别地,这种双射关联可以包括确定投影到表面216上的测试图案222的图像中的各个成像摄像头点对应于预定对应关系230的一个摄像头点cami;换句话说,这种双射关联可以包括确定在成像摄像头点和预定对应关系230的摄像头点cami之间存在一对一的关系。
当不能确定这种双射关联时(例如,在块408处的确定为“否”和/或成像摄像头点中的一个或更多个对应于预定对应关系230的至少两个摄像头点cami),在块410,控制器320实现根据使用两个测试图案的第二重新校准模式从减少的测试图案集合生成更新的摄像头-投影仪对应关系的方法500,如下文中参照图5所述。
然而,当可以确定这种双射关联时(例如,在块408处的确定为“是”和/或各个成像摄像头点对应于预定对应关系230的一个摄像头点cami),在块412中,控制器320使用成像摄像头点通过以下操作在当前相对位置中的摄像头点和投影仪点proji(例如,投影仪207和摄像头208)之间生成更新的对应关系:将成像摄像头点双射关联到预定对应关系230的摄像头点cami;并且将成像摄像头点双射关联至对应于双射关联的摄像头点cami的投影仪点的proji。本领域技术人员理解,可以至少部分地与块412并行地执行块408,和/或在块408处确定的双射关联可以用于在块412中生成更新的对应关系。
在块414处,控制器320可使用更新的对应关系来控制投影仪207投影图像,例如通过使用更新的对应关系重新确定变形数据和/或混合数据和/或姿态数据109p来控制。
虽然参考获取投影到表面216上的测试图案222的图像的一个摄像头208来描述方法400,但是当摄像头208被设置为仅获取由投影仪投影到表面216上的测试图案222的一部分时,控制器320可以与一个或更多个第二摄像头209进一步通信,一个或更多个第二摄像头209被设置为获取由投影仪207投影到表面216上的测试图案222的其余部分,并且对应于投影仪点proji的成像摄像头点可以包括来自摄像头208和一个或更多个第二摄像头209两者获取的测试图案222的图像的对应摄像头点。
现在将注意力转向图5,图5描绘了根据非限制性实施方式并根据第二重新校准模式的用于从减少的测试图案集合生成更新的摄像头-投影仪对应关系的方法500的流程图。本领域技术人员理解,方法500可以在方法400的块410处实现和/或方法500可以在不实现方法400的情况下实现。
为了帮助解释方法500,假设使用系统200执行方法500,并且至少部分地由设备201的控制器320执行方法500,例如当控制器320在第二重新校准模式下处理应用323。实际上,方法500是可以配置系统100、200和/或设备201的一种方式。此外,以下对方法500的讨论将引起对设备201以及系统100、200及其各种组件的进一步理解。然而,应该理解,系统100、200和/或设备201和/或方法500可以变化,并且不需要完全如本文中所讨论的那样彼此结合地工作,并且这些变化在本发明实施方式的范围内。
无论如何,要强调的是,除非另有说明,否则方法500不需要以所示的严格顺序执行;同样,各种块可以并行执行而不是顺序执行;因此,方法500的元素在本文中称为“块”而不是“步骤”。然而,还应该理解,方法500也可以在系统200的变型上实现。此外,虽然设备201被描述为实现和/或执行方法500的块的至少一部分,但是应当理解,使用控制器320处理应用323来实现方法500的这些块。
在块502处,控制器320根据预定对应关系230确定在投影仪点和摄像头点(其可包括但不限于存储在预定对应关系230中的特定投影仪点proji和摄像头点cami)之间映射的函数。然而,本领域技术人员理解,该函数通常是在初始相对位置中的投影仪207的投影仪空间(例如,任何合适的投影仪点)和摄像头208的摄像头空间(例如,任何合适的摄像头点)之间映射的函数。
在块504处,控制器320控制投影仪207将第一测试图案221投影到表面216上,该第一测试图案221包括:至少四个投影仪点,这些投影仪点覆盖投影仪207的投影图像场,类似于上面关于块402所描述的那样。
在块506处,控制器320控制摄像头208获取第一测试图案221的第一图像,类似于上面关于块404所描述的那样。
在块508处,控制器320确定第一图像中的第一成像摄像头点,类似于上面关于块406所描述的那样。
在块510处,控制器320使用在块502处确定的函数来确定对应于第一测试图案221中的至少四个投影仪点的对应摄像头点cami。例如,使用第一测试图案221中的至少四个投影仪点作为函数的输入,对应于第一测试图案221中的至少四个投影仪点的对应摄像头点camj被确定为函数的输出。对应摄像头点的符号“camj”用于区分该对应摄像头点camj与预定对应关系的摄像头点cami;实际上,第一测试图案221的至少四个投影仪点和/或对应摄像头点camj可以或可以不直接对应于投影仪点proji和预定对应关系的摄像头点cami。
无论如何,第一测试图案221中的至少四个投影仪点可以被选择为:覆盖投影仪207的投影图像场;分开相应的距离,使得投影仪207和摄像头208可以相对于彼此以及相对于二者之间的初始相对位置移动,使得摄像头208获取第一图像中的至少四个投影仪点;并且将这些投影仪点从投影到表面216上的第一图像的边缘嵌入(inset)。
在一些示例中,第一测试图案221中的至少四个投影仪点可被选择为包括四个点,该四个点包括:第一测试图案221的四个角落中的每个角落处的点。在其他示例中,第一测试图案221中的至少四个投影仪点可以被选择为包括五个点,该五个点包括:第一测试图案221的四个角落中的每个角落处的点以及第一测试图案221的中间的点;在另外一些示例中,第一测试图案221中的至少四个投影仪点可以被选择为包括六个或更多个点,该六个或更多个点包括:第一测试图案221的四个角落中的每个角落处的点,以及第一测试图案221的四个角落中的每个角落处的点之间的两个点。
通常,选择第一测试图案221中的点的位置以避免在确定其他投影仪点的位置时的外插(extrapolation),使得可以通过内插(interpolation)确定其他投影仪点的位置。
在块512,控制器320确定第一成像摄像头点是否可以与对应于第一测试图案221的至少四个投影仪点的摄像头点camj进行双射关联(例如,使用最近邻法等)。特别地,这种双射关联可以包括:确定投影到表面216上的第一测试图案221的图像中的各个第一成像摄像头点对应于与第一测试图案221的至少四个投影仪点相对应的摄像头点camj中的一个;换句话说,这种双射关联可以包括:确定在成像摄像头点与对应于第一测试图案221的至少四个投影仪点的摄像头点camj之间存在一对一的关系。
当不能确定这样的双射关联时(例如,在块512处的确定为“否”(例如,第一成像摄像头点中的一个或更多个对应于至少两个摄像头点camj)),在块514中,控制器320使用由结构光图案数据199表示的多个结构光测试图案来对投影仪点和摄像头点之间的完全重新生成对应关系执行完全校准。在这些示例中,系统200中的漂移因此而太大,从而无法使用方法400、500中的任何一个来重新校准系统200。
当可以确定这样的双射关联时(例如,块512处的确定为“是”(例如,各个第一成像摄像头点对应于一个摄像头点camj),在块516处,控制器320将第一成像摄像头点与对应摄像头点camj相关联,以确定估计函数,该估计函数用于估计由于投影仪207和摄像头208从初始相对位置到当前相对位置的相对移动而导致的一个或更多个摄像头点的移动。估计函数可以取决于第一测试图案221中的至少四个投影仪点的数量以及摄像头特征338是否可用于控制器320;估计函数的确定将在下面更详细地描述。
此外,控制器320还可以被配置为基于估计函数的最小误差将第一成像摄像头点与对应摄像头点camj相关联,将第一成像摄像头点与通过对对应于第一测试图案221的至少四个投影仪点的摄像头点camj使用估计函数所获取的估计点进行比较来确定该误差。这样的过程可以是迭代的,使得迭代地确定多个估计函数并且确定每个误差,直到误差最小并且使用当前的估计函数作为在块516出确定的估计函数。
在块518处,控制器320控制投影仪207将第二测试图案222投影到表面216上,第二测试图案222包括:根据预定对应关系确定的多个点,类似于上面参照快402所述的那样。通常,第二测试图案222的多个点的数量大于第一测试图案221的点的相应数量。
在块520处,控制器320控制摄像头208获取第二测试图案222的第二图像,类似于上面关于块404所描述的那样。
在块522处,控制器320确定第二图像中的第二成像摄像头点(在下文中称为第二成像摄像头点cli),类似于上面关于块406所描述的那样。
实际上,在示例中,方法400的块402、404、406的实现先于方法500的实现(例如,当从方法400的块410实现方法500时),则在块406处获取的第二成像摄像头点可以在不实现块518、520、522的情况下被用于第二重新校准模式和/或方法500。在块524处,控制器320使用估计函数和第二成像摄像头点生成当前相对位置中的摄像头点cli和投影仪点proji之间的更新的对应关系。下面将更详细地描述这种生成,并且这种生成可以取决于在块516处确定的估计函数。
例如,估计函数可以包括用于当前摄像头点与第一图像中的第一成像摄像头点之间映射的单应函数,该当前摄像头点经由在块502处确定的函数对应于第一测试图案221中的至少四个投影仪点,控制器320还可以通过以下操作生成更新的对应关系:使用单应函数将预定对应关系中的摄像头点cami与第二成像摄像头点cli双射关联;将第二图像摄像头点与预定对应关系的投影仪点proji相关联,该投影仪点proji与预定对应关系中与第二成像摄像头点双射关联的摄像头点cami相对应;在存储器322(和/或另一存储器)中存储第二图像摄像头点与相关联的投影仪点proji作为更新的对应关系。
然而,当存储器322还存储用于初始相对位置的摄像头特征338,并且第一测试图案221包括至少六个投影仪点时,估计函数可以包括用于根据第二成像摄像头点来确定相应投影仪点的模型,可以使用摄像头特征338进一步生成模型。在这些示例中,控制器320还可以被配置为通过以下操作生成更新的对应关系:使用该模型将预定对应关系230中的投影仪点proji与第二图像中的第二成像摄像头点进行双射关联(例如,通过模型来映射第二成像摄像头点cli,然后使用最近邻法等,如下面更详细描述的那样);并且在存储器322(和/或另一存储器)中存储第二图像摄像头点与相关联的投影仪点proji作为更新的对应关系。
在块526处,控制器320可使用更新的对应关系来控制投影仪207投影图像,例如通过使用更新的对应关系重新确定变形数据和/或混合数据和/或姿态数据109p,例如类似于块414。
虽然参考获取投影到表面216上的测试图案221、222的图像的一个摄像头208来描述方法500,但是当摄像头208被设置为仅获取由投影仪207投影到表面216上的第一测试图案221的一部分时,控制器320可以与一个或更多个第二摄像头209进一步通信,所述一个或更多个第二摄像头209被设置为获取由投影仪207投影到表面216上的第一测试图案221的其余部分,并且对应于至少四个投影仪点的第一成像摄像头点可以包括来自摄像头208和一个或更多个第二摄像头209二者获取的第一测试图案221的图像的对应摄像头点。
此外,本领域技术人员理解,块518至块526通常对应于方法400,然而,其具有在块524使用估计函数生成的更新的对应关系。
已经关于从预定对应关系230确定的测试图案222描述了方法400和方法500。在一些示例中,测试图案222可以包括预定对应关系230的投影仪点proji,例如,呈一对一的关系。然而,测试图案222可以另选地包括预定对应关系230的投影仪点proji的子集。在另外的示例中,测试图案222的至少一部分可以从预定对应关系230获得,但是在位置或数量上,可能未严格对应于对于预定对应关系230的投影仪点proji。例如,测试图案222的区域可以相对于预定对应关系230的投影仪点的proji进行更改,以与预定对应关系230的投影仪点proji的密度和/或分布相比而言增加了投影仪点的密度和/或改变投影仪点的分布,例如,以在那些区域中增强数据收集。因此,在一些示例中,然后可以计算并使用预定对应关系C'0的新集合来代替方法400和/或方法700(以及后面描述的后续方法和实例)中的预定对应关系230 C0。例如,(类似于方法500的块510),在块502中确定的用于在投影仪点和摄像头点之间映射的函数可用于确定针对任何投影仪点proj'i的摄像头点cam'i。因此,预定对应关系C'0的新集合将由对(M-1(proj'i),proj'i)组成,其中M是在块502处确定的函数,M-1是在块502处确定的函数的倒数,并且M-1(proj'i)是与投影仪点proj'i相关联的摄像头点cam'i点,其中M-1(proj'i)表示在初始校准时如果投影仪点proj'i已经被表示为结构光图案,则摄像头208将会看到投影仪点proj'i。因此,在方法400和方法500中,预定对应关系C'0可以代替预定对应关系230 C0。因此,在这些示例中,方法400可以包括确定在投影仪207的投影仪点(和/或投影仪空间)与摄像头208的摄像头点(和/或摄像头空间)之间进行映射的函数,如关于方法500的块502所描述的那样。然而,此后,关于预定对应关系230(C0)描述方法400和方法500的示例。
本领域技术人员还可以理解,第二测试图案222通常包括比第一测试图案221更多数量的点。实际上,第一测试图案221中的点数通常可以被设置为4和10(包含4和10)之间的数字,以使块510、512、516的处理时间最小。通常,第二测试图案222的点的密度布置(数量)被选择为覆盖投影仪207的场和/或具有能够进行“良好”重新校准的合适密度和/或布置。第二测试图案222的点的密度布置(数量)可以由系统200的管理员配置和/或可以自动选择为大于阈值的点数,例如分布在投影仪207的场上的50个点,第二测试图案222的点的布置可以是网格,和/或阵列和/或任何其他合适的布置(可以不是网格和/或阵列)。
接下来参考图6描述方法400。特别地,为了说明方法400,图6示出了方法400。图6描绘了在投影仪207和摄像头208之间的相对移动之前和之后由摄像头208获取的测试图案222的两个摄像头图像。例如,图像601(以实线描绘)包括例如在投影仪207和摄像头208之间的任何相对移动之前,由投影仪207投影到表面216上的测试图案222的图像(例如,如所描绘的15×20个正方形阵列的5×4部分),因此预定对应关系230是有效的和/或预定对应关系230表示在任何相对移动之前系统200的有效校准。这样,图像601的各个正方形的中心对应于预定对应关系230的摄像头点cami,其中图6中示出了一个这样的摄像头点cami。
然而,图像602(以下也称为Jf,并且以虚线描绘)包括例如在投影仪207和摄像头208之间的相对移动之后,由投影仪207投影(例如,在方法400的块402处)到表面216上的测试图案222的图像(例如,如所描绘的15×20个正方形阵列的5×4部分),并且因此预定对应关系230不再有效,因为图像602中的正方形已经相对于图像601中的正方形移位。图像602通常包括在方法400的块404处由摄像头208获取的图像。
图像602的正方形的中心通常对应于在方法400的块406处确定的成像摄像头点。例如,成像摄像头点clj,其对应于图像601的示出的摄像头点cami,如图6中所示。实际上,本领域技术人员理解,图像602的各个成像摄像头点clj可以与图像601的摄像头点cami双射关联,并且图像601的示出的成像摄像头点clj和图像601的示出的摄像头点cami之间的线603表示自确定预定对应关系以来摄像头点已经移动的距离。
换句话说,在方法400中,测试图案222Tf是由投影仪207来投影,并且所得到的摄像头图像602Jf是由摄像头208来获取。图6中还描绘了计算设备201和预定对应关系230,并且使用图像分析可以将测试图案222Tf的结构和/或正方形置于摄像头传感器位置集合620中(在图6中也标记为Lf),图6中示出了其中的一个成像摄像头点clj。
从先前的校准中,预定对应关系230 C0存储在存储器322中,该预定对应关系230C0包括摄像头点cami的位置的集合,各个摄像头点cami的位置与投影仪点proji的位置相关联。也就是说,如上所述,预定对应关系230的各个元素都是一对(cami,proji)。使用最近邻法确定与摄像头传感器位置集合620Lf的各个成像摄像头点clj位置(例如,摄像头传感器位置)最接近的预定对应关系230 C0中摄像头点cami的位置。例如,如图6所示,摄像头传感器位置集合620Lf中示出的成像摄像头点clj最接近预定对应关系230 C0中示出的摄像头点cami。因此,所示出的成像摄像头点clj与预定对应关系230 C0中示出的摄像头点cami相关联。并且,摄像头传感器位置集合620Lf中示出的成像摄像头点clj与投影仪点proji相关联(该投影仪点proji与所示出的摄像头点cami相关联)。因此,对(clj,proji)成为一个新的摄像头-投影仪对应关系。当针对Lf中的各个成像摄像头点clj进行确定时,生成对(clj,proji)并将其存储在更新的对应关系630 C1中,该更新的对Lf应关系630 C1存储在存储器322中,也如图6所示。
实际上,本领域技术人员理解,如果系统200由于预定对应关系230 C0被确定而没有漂移或被过度扰动,那么摄像头传感器位置集合620Lf中的各个成像摄像头点clj应映射到预定对应关系230 C0中的唯一摄像头点cami,例如,作为双射关联。在一些示例中,测试图案222可以被周期性地投影在投影映射显示中,例如,每帧或每几帧(例如,每一帧到每四帧),并且可以相应地实现方法400以跟踪系统200中的漂移。
实际上,相关联的摄像头点cami和成像摄像头点clj之间的差异和/或增量(例如,如线603所示)可用于确定系统200漂移了多少,以及是否生成或不生成更新的对应关系630C1以获得针对投影映射显示的图像的新几何校正。例如,当差异和/或增量和/或其平均值低于阈值(例如,由系统200的管理员配置和/或在应用323中提供的几个像素和/或值)时,可能不确定更新的对应关系630 C1;然而,当差值和/或增量和/或其平均值高于阈值时,可以确定更新的对应关系630 C1并使其替换预定对应关系230 C0。
此外,当无法确定成像摄像头点clj与摄像头点cami之间的双射关联时(例如,成像摄像头点clj大约在摄像头点cami之间),可以实施方法500。
因此,下面将注意力转向图7至图10,其描绘了方法500的示例。
特别地,注意力首先转向图7,其描绘了包括方法500的示例的方法700。与方法500一样,除非另有说明,否则方法700不需要以所示的严格顺序执行;同样,各种块可以并行执行而不是顺序执行;因此,方法700的元素在本文中称为“块”而不是“步骤”。然而,还应该理解,方法700可以在系统200和系统200的变型中实现。此外,虽然设备201被描述为实现和/或执行方法700的至少一部分块,应当理解,使用控制器320处理应用323来实现方法700的这些块。
在块702处,控制器320使用预定对应关系230 C0可以生成模型或函数M(例如,在方法500的块502处),该模型或函数M可以将摄像头点的位置映射到(例如,在二维中)投影仪点的位置。例如,这种模型或功能的倒数M-1可以用于将投影仪点proji(和/或任何其他投影仪点)的位置映射到摄像头点cami(和/或任何摄像头的位置。
在块704处,控制器320控制投影仪207将“N点”测试图案(例如,第一测试图案221)投影到表面216上,并由摄像头208成像(例如,块704可以对应于方法500的块504、506)。在一些示例中,N可以被选择为5(例如,第一测试图案221包括5个投影仪点和/或N=5)。然而,“N点”测试图案可以包括至少四个点(例如N=4),这些点:覆盖投影仪207的投影图像场;分开相应的距离,使得投影仪207和摄像头208能够相对于彼此并且相对于初始相对位置移动,以使摄像头208获取在块704处获取的N点测试图案的图像中的至少四个投影仪点,并且将这些投影仪点从N点测试图案的图像边缘嵌入。
此外,通常对“N点”测试图案的点的数量进行选择,以提供足够的数据来确定在摄像头208的视图(例如,由摄像头208获取的图像)中从初始校准时间(例如,当确定预定对应关系230 C0时)到当前校准时间的N点移动的所选数学模型。
在块706处,控制器320可以使用机器视觉技术来定位在块704处获取的图像中的N点。块706通常对应于方法500的块508。在块706处将N点的位置称为LNc点的位置;例如,当N=5时,LNc可以设置为L5c。
在块708处,控制器320使用模型或函数的倒数M-1来确定对应于至少四个投影仪点(例如,N点)的摄像头点LN0;摄像头点LN0表示在系统200中任何漂移之前投影的N点图案处的摄像头点所处的位置。在N=5的示例中,摄像头点的LN0的位置可以被设置为摄像头点的位置L50。块708通常对应于方法500的块510。
本领域技术人员还理解,可以在块704、706的实现之前或之后或期间实现块702、708。
在块710处,控制器320可以将摄像头点LNc和/或摄像头点L5c中的N个成像摄像头点与摄像头点LN0和/或摄像头点L50相关联。块710通常对应于方法500的块512。
实际上,摄像头点LNc(和/或摄像头点L5c)与摄像头点LN0(和/或摄像头点L50)之间的差异表征了系统200中自初始校准后发生的任何漂移。因此,当关联不是双射地发生时,可以理解,对于方法500来说漂移可能太大从而不能用于重新校准系统200;因此,当不能确定这种双射关联时,方法700可以结束,并且可以如关于方法500的块514所描述的那样实现系统200的完全校准。
例如,注意力简要地转向图8和图9,图8和图9中的每一个都描绘了摄像头点L5C(描绘为实线)和摄像头点L0C(描绘为虚线)之间的尝试关联。在图8中,每个摄像头点L5C都唯一地(例如,双射地)与对应摄像头点L50相关联(例如,使用最近邻法),如线803所示;此外,与线603类似,线803表示在系统200漂移之后,摄像头点从投影仪207和摄像头208的初始相对位置的移位。
然而,如在图9中清楚地看到的那样,在一些示例中,各个摄像头点L5C可以不是唯一地(例如,双射地)与对应的摄像头点L50相关联(例如,当使用最近邻法时)。例如,在图9中,一个摄像头点L50与两个摄像头点L5C相关联,如线903所示,并且一个摄像头点L50不与任何摄像头点L5C相关联。因此,例如,投影仪207(和/或摄像头208)可能已经经历太大的移动和/或旋转从而不能通过方法500和/或方法700重新校准。
返回图7,在块712处,控制器320基于摄像头点LNc和摄像头点LN0中的对应点来获得和/或确定估计函数,该估计函数包括但不限于摄像头-摄像头变换模型和/或单应函数H,该对应点将在漂移(例如,在当前时间)之后由摄像头208可成像(例如在摄像头208的视图中)的投影仪点映射到在初始校准时(例如在漂移之前)由摄像头208可成像的投影仪点。另选地,估计函数可包括但不限于用于从成像摄像头点确定相应投影仪点的摄像头-投影仪变换模型nMc。然而,方法700将首先关于单应函数H来描述。本领域技术人员理解,相同平面表面的任意两幅图像(例如,通过两个摄像头)可以通过单应性相关联。因此,单应函数包括用于在两个摄像头视图之间映射平坦表面的函数,例如在系统200的漂移之前和之后由摄像头208在表面216的视图之间的映射。实际上,本领域技术人员理解,由于表面216可能不是平坦的,因此包括单应函数的估计函数是对表面216的这种映射的估计,其模拟摄像头点的移动,好像表面216是平坦的。因此,如本文所述的单应函数提供了当摄像头208对表面216成像时对摄像头点的这种移动的第一近似和/或估计。然而,这里描述的估计函数不需要是单应的,而是可以用于在摄像头视图之间进行映射的任何合适的函数,该函数包括但不限于用于在系统200漂移之前和之后由摄像头208在表面216的视图中的xy坐标之间进行映射的多项式模型和/或函数等。
通常,通过确定将摄像头点LNc映射到摄像头点LN0的模型和/或函数来生成和/或获得估计函数,并且估计函数通常表示摄像头点LNc和摄像头点LN0之间所确定的双射关联的数学模型。因此,如果在初始校准时的投影时由摄像头208成像,则估计函数通常用于预测由摄像头208“现在”获取的投影仪点将位于摄像头视图中的位置。
在块714处,控制器320控制投影仪207将第二测试图案222Tf投影到表面216上,并控制摄像头208对投影的测试图案222的点进行成像以获取投影到表面216上的第二测试图案222Tf的图像(例如,块714通常对应于方法500的块518、520)。
在块716处,控制器320使用机器视觉技术等来定位和/或确定由摄像头208在块714处获取的图像中的成像摄像头点,以生成摄像头位置集合Lc(例如,块716通常对应于方法500的块522),例如类似于摄像头点clj。实际上,在这些示例中,摄像头位置集合Lc也可以被认为是包括摄像头点clj,因为摄像头位置集合Lc通常类似于摄像头传感器位置集合620Lf。
在块718处,在块716处定位和/或确定的成像摄像头点是生成摄像头点和投影仪点proji之间的更新的对应关系Cc的投影仪点的相关位置(例如,块718通常对应于方法500的块524)。
可以使用单应函数H将摄像头位置集合Lc的摄像头点clj中的各个点从在“现在”的摄像头-传感器空间映射到初始校准时的摄像头-传感器空间:
cl′j=H(clj) 方程(1)
例如,使用方程(1),可以通过将摄像头点clj输入到单应函数H来确定与当前“现在”时间的摄像头点clj相对应的初始校准时的摄像头点cl'j。
摄像头点cl'j通常表示对于摄像头将(在初始校准时)看到的对应于摄像头位置集合Lc的摄像头点clj的投影仪点的估计。
参照图10,其描绘了在确定了摄像头位置集合1020Lc之后的计算设备201,单应函数H用于生成针对摄像头位置集合1020Lc中的各个摄像头点clj的摄像头点cl'j的估计。例如,在图10中,摄像头点clj用作单应函数H的输入,以产生摄像头点cl'j。将摄像头点cl'j与预定对应关系230 C0中的已知摄像头点cami进行比较,以确定相关联对(cami,proji)(例如摄像头点cl'j与该对(cami,proji)的摄像头点cami是相同的和/或最接近的)。实际上,控制器320可以将每个摄像头点clj与来自预定对应关系230 C0的摄像头点cami相关联,例如通过针对给定摄像头点clj确定对应摄像头点cl'j并从对应于摄像头点cl'j的预定对应关系230 C0确定摄像头点cami。由于摄像头点cami与预定对应关系230 C0中的投影仪点proji相关联,已经用投影仪点识别出他们,并且生成更新的对应关系1030 Cc。
现在更详细地描述方法700的块710。此外,下文中,对LNc、LN0等的参考被理解为摄像头点LNc的集合、摄像头点的集合LN0等。
用于将LNc的位置与LN0的位置进行双射地匹配的任何方法都在本说明书的范围内,其包括但不限于迭代最近点(ICP)算法。
实际上,在一些示例中,最近邻算法可以与ICP算法结合使用。例如,针对N=5,参考图8和图9所述,对于位于L5C中的每个点,确定L50中最近的摄像头点。如果在此过程之后L5C中的每个摄像头点已经与L50中的唯一摄像头点配对(如图8中所示),则方法700继续。然而,当L5C中的两个或更多个位置被映射到L50中的相同位置时(如图9中所示),则方法700结束。
另选地,块710和块712可以一起实现。例如,因为可以将N选择的较“小”,LNc和LN0之间可能存在易处理(例如计算上合理)的关联的数量。当数据点的数量N过度确定单应函数H时,则对于LNc和LN0的各个摄像头点之间的每个可能的关联,可以参照在LNc和LN0中的已知摄像头点,对所生成的单应函数H的误差进行确定及测试。
例如,可以通过将初始校准时的已知位置与在初始校准时间单应函数H如何映射当前位置进行比较来为LNc/LN0集合中的各个匹配对定义误差e。
误差函数的一个示例是:
其中,clj(clj∈LN0)与cli相关联。
然后,使用LNc的摄像头点cli和LN0的摄像头点clj之间的关联(该关联最小所获得的单应函数H中的误差)来确定在块718处使用的单应函数H。
现在更详细地描述方法700的块712。
针对三维空间中看到的摄像头点而获得和/或生成二维变换模型的任何过程也在本说明书的范围内。无论使用何种方法获得估计函数(例如,单应函数H和/或模型nMc)都应该与所选择的点的数量N很好地匹配。
例如,线性变换(单应性)可以由4对二维的点来确定。因此,当N=4时,LNC和LN0中的识别点可以确定单应函数H。当已知投影表面216接近平坦时和/或假设如果投影仪“漂移”主要是旋转或近似旋转时,这种方法可能是有用的。
另选地,在一些示例中,摄像头特征338已被确定并且可用于控制器320,包括但不限于摄像头相对于表面216的位置、取向和内在特征(镜头特征)。在这些示例中,可以确定由摄像头208成像的N个投影仪点的三维坐标;因此,可以使用三维坐标来识别N个投影仪点。
在一些示例中,在N>=6(例如,N至少为6)的情况下,可能存在足够的数据来确定投影仪207在空间中相对于表面216的位置、取向和镜头内在特征,这可能足以获得基于姿态的模型,该模型可以预测被投影在表面216上的投影仪点的位置,并且因此预测摄像头208将在当前时间(例如在漂移之后)对投影仪点进行成像的位置。具有在方法500的块502和/或方法700的块702处生成的函数和/或模型M的这种数据通常足以确定在方法500的块516处和/或方法700的块712处确定的估计函数。
在另一些示例中,在N>=6并且摄像头特征338可用的情况下,使用投影仪-姿态模型可能不生成摄像头-摄像头估计函数(例如单应函数H)。而是可以生成摄像头-投影仪模型nMc。然后可以将模型nMc应用于摄像头位集合置1020Lc,以确定投影仪空间(而不是摄像头空间)中的点,然后可以用预定对应关系230 C0的投影仪点来识别这些点(或者第二测试图案221Tf的投影仪点),以获取更新的对应关系1030Cc。
实际上,在本文描述的任何示例中,摄像头点和投影仪点之间的双射关联可以发生在摄像头空间(例如,如本文所述)或投影仪空间中。
此外,对于本文所述的过度确定的任何过程(例如,针对单应性方法使用5个或更多个点,或者针对基于姿态的方法使用7个或更多个点),则方程(2)的误差方程可以提供一种方式拒绝估计函数。在模型nMc被过度确定的示例中,可以使用直接线性变换(DLT)来求解nMc。
例如,给定预定对应关系230 C0,可以在摄像头视图中的预定对应关系230 C0的摄像头点之间确定最小距离(dmin)。当误差计算中的误差ei超过该距离的一半时,则控制器320可以被配置为确定在预定对应关系230 C0中与摄像头点camj的最近邻关联H(li)可能是不正确的。相反,可以选择dmin的百分比作为阈值,任何ei误差都不应超过该阈值,否则拒绝估计函数(实际上是减少的测试图案过程)。可以将dmin的百分比阈值选择为小于或等于50%,以避免使用最近邻识别方法的错误识别。
接下来进一步详细描述方法700的块718。
一旦使用估计函数(例如,单应函数H或模型nMc)针对摄像头位置集合1020Lc的点来估计在初始校准时间的摄像头点(或投影仪点)位置,这些点可以与预定对应关系230 C0中的摄像头点(或投影仪点)相关联。
如在块710的讨论中,用于识别相同空间(例如,摄像头空间或投影仪空间)中的点的集合的任何合适过程都在本说明书的范围内;然而,特别地,这些过程可以具有如本文所述的这些点的集合之间的差异的最小的优势。
例如,如果使用摄像头-摄像头的单应函数H,则在一些示例中,可以使用最近邻法来将摄像头位置集合1020Lc中的摄像头点cli与H(cli)最接近的预定对应关系230 C0中的摄像头点cami相关联。如果这导致任何重复匹配,则可以放弃该处理或者可以抛弃所有双重对应点。
如上所述,本文描述的方法可以扩展到多摄像头系统,例如当摄像头208和摄像头209二者都对投影仪207投影在表面216上的投影图像进行成像时。
实际上,本文对第二重新校准模式的描述假定摄像头208可以对N点图案的所有N个点进行成像,以便获得估计函数,该估计函数有助于针对第二测试图案222Tf的所有点研发摄像头-投影仪对应关系。
然而,在许多多投影仪系统中,不可能使单个摄像头对每个投影仪的所有投影图像进行成像。通常不会设置一个摄像头对给定的投影仪的所有投影图像进行成像。在这些示例中,可以应用投影仪-姿态方法。
例如,当系统200包括两个摄像头系统时,针对摄像头208、209中的每一个和投影仪207之间分别确定初始预定对应关系C1 0、C2 0,例如,假设摄像头208、209中的每一个对投影仪207投影的图像的至少一部分进行成像。可以从相应的预定对应关系C1 0、C2 0确定将每个摄像头映射到投影仪的初始函数(例如,用于摄像头208和投影仪207的函数M1,以及用于摄像头209和投影仪207的函数M2)。这些函数M1、M2可以用于确定由投影仪投影的N点投影仪测试图案(例如,第一测试图案221)的相应的各个摄像头点LN1 0、LN2 0。在投影N点图案之后,可以针对每个摄像头208、209确定相应的摄像头点LN1 C、LN2 c集合,但是摄像头点LN1 C、LN2 c的单个集合可以不包括对应于所有N个预测点的成像摄像头点。LN1 C和LN2 c的点可能仍然分别与LN1 0和LN2 0的点相关联(例如,使用最近邻法)。
例如,摄像头点LN1 C、LN2 c可以射线投影到表面216。与N点测试图案的投影仪点共同关联的摄像头点LN1 C和LN2 c中的任何位置可以在三维空间中进行平均(或以其他方式组合)。因此,当摄像头208和摄像头209一起对投影仪207的N点测试图案的整个投影图像进行成像时,结果将是三维空间中的“N”个点。如果N>=6,则如上所述,可以确定投影仪的估计姿态,并且可以确定摄像头-投影仪模型NMc。
本文描述的是用于从减少的测试图案集合生成更新的摄像头-投影仪对应关系的设备、系统和方法。目前用于确定投影仪的投影仪-摄像头对应关系的方法可能需要来自各个投影仪的10个或更多个测试图案/结构光图案,以及随后要处理每个摄像头-投影仪对的10个或更多个测试图案/结构光图案。当将变形与混合等应用于投影在投影表面上的投影图像时,这种数据聚集阶段在系统校准过程中可能是耗时的。在大规模系统中,可能包括例如六个或更多个摄像头、十个或更多个投影仪,这个过程可能需要花费好几分钟。如果在安装期间或维护期间需要多次迭代该过程,那么校准所花费的总时间可以是几个小时。
因此,本说明书中提供的设备、系统和方法通常会减少用于重新校准摄像头-投影仪系统的测试图案的数量,这可以显著减少重新校准的时间。在第一重新校准模式中,例如,通过将测试图案以高频率(例如,每一帧到每四帧)插入由摄像头捕获的投影图像,来投影包括投影仪场上的多个点的测试图案。使用第一重新校准模式,加上摄像头点和投影仪点之间的原始对应关系集合(例如,初始校准),计算设备可以确定系统是否以及何时漂移或被扰动,然后可选地执行系统校准过程以纠正漂移。只要系统没有从一个测试图案到下一个测试图案急剧移动(超过几个投影仪像素),那么该第一重新校准模式可能是可靠的。
在第二重新校准模式中,可能不会连续进行校准,并且系统可能在校准之间显著漂移。因此,在确定了摄像头点和投影仪点之间的原始对应关系集合(例如,初始校准)之后,使用两个测试图案来建立对应关系。初始测试图案包含稀疏且易于识别的结构,并且包括四个或更多个投影仪点,并且用于粗略地表征自从确定了初始对应关系之后的摄像头/投影仪系统的任何移动。第二测试图案可以包括投影仪光结构的完全集合,以用于确定摄像头-投影仪更新的对应关系的更完整集合。初始对应关系加上移动表征可以使第二测试图案中的所有结构和/或投影仪点与相关的摄像头点精确关联,从而建立更新的对应关系。
各种重新校准模式可以提供若干优点,其可以包括以下内容。
投影系统对准的“连续性”和/或周期性监测(例如,在第一重新校准模式中)。
与完全校准(例如,使用十个或更多个结构光图案)相比,投影的测试图案更少,因此获取更少的摄像头图像,这可以减少重新校准的总时间(例如,与使用十个或更多结构光图案的完全校准相比)。
误差鲁棒性。校准中使用的每个独特的测试图案图像都是系统会产生误差的机会(例如,投影仪/摄像头障碍物、环境因素)。当使用较少的独特测试图案时,与完全校准相比,可以使用测试图案的重复来消除误差而不会招致时间损失。
在本说明书中,元件可被描述为“被配置为”执行一个或更多个功能或“被配置用于”这样的功能。通常,被配置为执行或被配置用于执行功能的元件能够执行该功能,或者适合于执行该功能,或者适于执行该功能,或者可被操作以执行该功能,或者能够以其他方式执行该功能。
应理解,为了本说明书的目的,“X、Y和Z中的至少一个”和“X、Y和Z中的一个或更多个”的语言可以被解释为仅X、仅Y、仅Z,或者两项或更多项X、Y和Z的任意组合(例如,XYZ、XY、YZ、XZ等)。在任何出现的“至少一个……”和“一个或更多个……”语言中,类似的逻辑可以应用于两个或更多项。
术语“约”、“大致”、“基本上”、“近似”等被定义为“接近”,例如,如本领域技术人员所理解的。在一些实施方式中,该术语被理解为“在10%以内”,在其他实施方式中,“在5%以内”,在又一些实施方式中,“在1%以内”,并且在另外的实施方式中,“在0.5%以内”。
本领域技术人员将理解,在一些实施方式中,可以使用预编程的硬件或固件元件(例如,专用集成电路(ASICs)、电可擦除可编程只读存储器(EEPROM)等)或其他相关组件来实现本文描述的设备和/或方法和/或过程的功能。在其他实施方式中,可以使用能够访问代码存储器(未示出)的计算装置来实现本文描述的设备和/或方法和/或过程的功能,该代码存储器存储用于计算装置的操作的计算机可读程序代码。计算机可读程序代码可以存储在由这些组件(例如,可移动磁盘、CD-ROM、ROM、固定盘、USB驱动器)直接固定、有形和可读的计算机可读存储介质上。此外,应理解,计算机可读程序可以存储为包括计算机可用介质的计算机程序产品。此外,持久存储设备可以包括计算机可读程序代码。还应理解,计算机可读程序代码和/或计算机可用介质可包括非暂时性计算机可读程序代码和/或非暂时性计算机可用介质。另选地,计算机可读程序代码可以远程存储,但可以通过调制解调器或通过传输介质连接到网络(包括但不限于因特网)的其他接口设备传输到这些组件。传输介质可以是非移动介质(例如,光和/或数字和/或模拟通信线路)或移动介质(例如,微波、红外、自由空间光学或其他传输方案)或其组合。
本领域技术人员将理解,可能存在更多的另选实施方式和修改,并且上述示例仅是一个或更多个实施方式的说明。因此,范围仅受所附权利要求的限制。
Claims (18)
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.根据权利要求10所述的方法,该方法还包括以下步骤:在生成所述更新的对应关系之前投影所述图像时,控制所述投影仪以根据人类视觉系统模型为不可见的速率投影所述第一测试图案和所述第二测试图案。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862731313P | 2018-09-14 | 2018-09-14 | |
US62/731,313 | 2018-09-14 | ||
US16/378,659 | 2019-04-09 | ||
US16/378,659 US10638104B2 (en) | 2018-09-14 | 2019-04-09 | Device, system and method for generating updated camera-projector correspondences from a reduced set of test patterns |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110913188A CN110913188A (zh) | 2020-03-24 |
CN110913188B true CN110913188B (zh) | 2022-12-27 |
Family
ID=67956599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910867017.XA Active CN110913188B (zh) | 2018-09-14 | 2019-09-12 | 从减少的测试图案集合生成更新的摄像头-投影仪对应关系的设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10638104B2 (zh) |
EP (1) | EP3624444A1 (zh) |
CN (1) | CN110913188B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11199397B2 (en) * | 2017-10-08 | 2021-12-14 | Magik Eye Inc. | Distance measurement using a longitudinal grid pattern |
KR20210008025A (ko) | 2018-06-06 | 2021-01-20 | 매직 아이 인코포레이티드 | 고밀도 프로젝션 패턴들을 사용한 거리 측정 방법 |
CN113272624A (zh) | 2019-01-20 | 2021-08-17 | 魔眼公司 | 包括具有多个通带的带通滤波器的三维传感器 |
JP2020150303A (ja) * | 2019-03-11 | 2020-09-17 | ソニー株式会社 | 画像処理装置、画像処理方法、およびプログラム |
WO2020197813A1 (en) | 2019-03-25 | 2020-10-01 | Magik Eye Inc. | Distance measurement using high density projection patterns |
CN112153357A (zh) * | 2019-06-28 | 2020-12-29 | 中强光电股份有限公司 | 投影系统及其投影方法 |
CN112261392B (zh) * | 2019-07-22 | 2022-08-09 | 中强光电股份有限公司 | 投影系统与其影像均匀度补偿方法 |
EP4065929A4 (en) | 2019-12-01 | 2023-12-06 | Magik Eye Inc. | IMPROVEMENT OF TRIANGULATION-BASED THREE-DIMENSIONAL DISTANCE MEASUREMENTS WITH TIME OF FLIGHT INFORMATION |
US20210262787A1 (en) * | 2020-02-21 | 2021-08-26 | Hamamatsu Photonics K.K. | Three-dimensional measurement device |
CN112037273B (zh) * | 2020-09-09 | 2023-05-19 | 南昌虚拟现实研究院股份有限公司 | 深度信息获取方法、装置、可读存储介质及计算机设备 |
CN114697623B (zh) * | 2020-12-29 | 2023-08-15 | 极米科技股份有限公司 | 投影面选取和投影图像校正方法、装置、投影仪及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006109088A (ja) * | 2004-10-05 | 2006-04-20 | Olympus Corp | マルチプロジェクションシステムにおける幾何補正方法 |
EP3154261A1 (en) * | 2015-10-08 | 2017-04-12 | Christie Digital Systems USA, Inc. | System and method for online projector-camera calibration from one or more images |
EP3200451A1 (en) * | 2016-01-28 | 2017-08-02 | Disney Enterprises, Inc. | Projector optimization method and system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7019713B2 (en) * | 2002-10-30 | 2006-03-28 | The University Of Chicago | Methods and measurement engine for aligning multi-projector display systems |
US7794090B2 (en) * | 2006-01-24 | 2010-09-14 | Seiko Epson Corporation | Efficient dual photography |
US7978928B2 (en) * | 2007-09-18 | 2011-07-12 | Seiko Epson Corporation | View projection for dynamic configurations |
US8786682B2 (en) * | 2009-03-05 | 2014-07-22 | Primesense Ltd. | Reference image techniques for three-dimensional sensing |
US8355601B2 (en) | 2010-01-15 | 2013-01-15 | Seiko Epson Corporation | Real-time geometry aware projection and fast re-calibration |
US9429417B2 (en) * | 2012-05-17 | 2016-08-30 | Hong Kong Applied Science and Technology Research Institute Company Limited | Touch and motion detection using surface map, object shadow and a single camera |
-
2019
- 2019-04-09 US US16/378,659 patent/US10638104B2/en active Active
- 2019-09-12 CN CN201910867017.XA patent/CN110913188B/zh active Active
- 2019-09-13 EP EP19197338.7A patent/EP3624444A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006109088A (ja) * | 2004-10-05 | 2006-04-20 | Olympus Corp | マルチプロジェクションシステムにおける幾何補正方法 |
EP3154261A1 (en) * | 2015-10-08 | 2017-04-12 | Christie Digital Systems USA, Inc. | System and method for online projector-camera calibration from one or more images |
EP3200451A1 (en) * | 2016-01-28 | 2017-08-02 | Disney Enterprises, Inc. | Projector optimization method and system |
Also Published As
Publication number | Publication date |
---|---|
CN110913188A (zh) | 2020-03-24 |
US10638104B2 (en) | 2020-04-28 |
US20200092524A1 (en) | 2020-03-19 |
EP3624444A1 (en) | 2020-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110913188B (zh) | 从减少的测试图案集合生成更新的摄像头-投影仪对应关系的设备和方法 | |
EP3154261B1 (en) | System and method for online projector-camera calibration from one or more images | |
US11115633B2 (en) | Method and system for projector calibration | |
US10089778B2 (en) | System and method for automatic alignment and projection mapping | |
KR101497659B1 (ko) | 깊이 영상을 보정하는 방법 및 장치 | |
EP3331241B1 (en) | System and method for digital black level blending | |
US10574956B2 (en) | System and method for automatic alignment and projection mapping | |
US20070273795A1 (en) | Alignment optimization in image display systems employing multi-camera image acquisition | |
WO2014144828A1 (en) | System and method for calibrating a display system using a short throw camera | |
KR102222290B1 (ko) | 혼합현실 환경의 동적인 3차원 현실데이터 구동을 위한 실사기반의 전방위 3d 모델 비디오 시퀀스 획득 방법 | |
CN108076332B (zh) | 数字黑电平混合的系统和方法 | |
JP7166390B2 (ja) | デジタル画像を整列させること | |
US11022435B2 (en) | Pattern projection depth value 3D scanning device and method | |
JP2015519601A (ja) | システム入力解像度の変動なくディスプレイシステムを校正するシステムおよび方法 | |
CN113873207B (zh) | 使用交替图案生成映射的装置、系统和方法 | |
US11284052B2 (en) | Method for automatically restoring a calibrated state of a projection system | |
KR20080050286A (ko) | 곡면영상의 영상 왜곡 보정을 위한 기하보정장치, 이를이용한 영상왜곡 제어 시스템 및 방법 | |
CN112655203A (zh) | 获取3d图像的方法和设备 | |
EP3396948B1 (en) | System and method for aligning stacked projectors | |
JP2015142157A (ja) | 映像投影システム、投影制御装置、投影制御用プログラム | |
KR101671936B1 (ko) | 다면 영상 자동 생성 및 투사 방법 및 장치 | |
JP2004133556A (ja) | 三次元形状抽出方法及び三次元形状抽出プログラム及び三次元形状抽出プログラムを格納した記憶媒体 | |
WO2022044807A1 (ja) | 情報処理装置および方法 | |
JP2023000087A (ja) | 投写方法、投写システム、および、コンピュータープログラム | |
KR20120069546A (ko) | 스테레오 화상 처리 방법, 스테레오 화상 처리 장치 및 표시 장치 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |