CN113454685A - 基于云的相机标定 - Google Patents
基于云的相机标定 Download PDFInfo
- Publication number
- CN113454685A CN113454685A CN201980092470.6A CN201980092470A CN113454685A CN 113454685 A CN113454685 A CN 113454685A CN 201980092470 A CN201980092470 A CN 201980092470A CN 113454685 A CN113454685 A CN 113454685A
- Authority
- CN
- China
- Prior art keywords
- data
- camera
- calibration
- physical space
- pose
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- 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
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/002—Diagnosis, testing or measuring for television systems or their details for television cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
- H04N23/661—Transmitting camera control signals through networks, e.g. control via the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/90—Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种处理器系统(200)对来自相机(20)的图像数据进行处理以对3D虚拟环境中的虚拟对象进行渲染,并且经由网络与服务器系统(300)通信。处理器(220)从该相机获得物理空间的图像数据以及获得第二设备(30)的第二数据。该处理器系统向该服务器系统发送该图像数据、该第二数据和标定命令。在该服务器中,处理资源(320)根据该标定命令对该数据进行处理,并且发送指示相机姿态和该第二设备的第二姿态的标定数据。该处理器通过基于该标定数据对该图像数据进行处理来生成该对象的3D对象数据。该3D对象数据被提供用于对该3D虚拟环境中的虚拟对象进行渲染。因此,该处理器处于控制中,而该标定由该服务器执行。
Description
技术领域
本发明涉及一种用于对来自物理空间中的相机的图像数据进行处理以对3D虚拟环境中的虚拟对象进行渲染的处理器系统,该虚拟对象表示该物理空间中的对象,该处理器系统被布置成经由网络与包括处理资源的服务器系统通信。本发明进一步涉及一种服务器系统、处理方法以及计算机程序,这些计算机程序包括用于使处理器系统执行这些方法的指令。
本发明涉及提供虚拟现实(VR)环境的领域,在该环境中,存在于物理空间(如房间)中的一个或多个用户或其他对象可以被渲染为虚拟对象。这种环境可以被称作社交VR环境,其中,这些对象由一个或多个相机捕获。为了各种图像处理、主要为了创建要用于所谓的自视图的用户3D模型(该自视图即用户自己在3D虚拟环境中的虚拟3D图像),需要关于相机姿态(即,相机在物理空间中或相对于另一对象、相机或设备的位置和取向)进行相机标定。物理空间中的各种相机或设备可以具有其自己的针对位置和取向的位置和/或轴向参考,这些参考可以映射在物理空间上和/或在标定过程中相对于彼此映射。
背景技术
对用于捕获诸如社交VR环境中的人等对象的(多个)相机进行标定可能相当复杂,尤其是在需要处理多个相机的自动化过程中。一些挑战如下:
-使用单个图像和深度相机:来检测人(例如,头部或VR头戴式装置)以将此人的虚拟自视图正确放置在VR环境中并且在VR环境中正确定位虚拟用户。而且,需要检测房间的界标(例如,地板或椅子)以将用户正确放置在远程用户的VR环境中。例如,当记录椅子上的人时,需要将捕获的椅子恰当地放置在虚拟环境中的地板上;
-使用多个图像和/或深度相机:不同的相机需要对准以用于一起捕获,例如,从不同的角度捕获用户以创建更好的用户3D捕获。这种对准可以通过使用基于深度的标定对至少3个点进行点匹配来完成;
-使用多个仅图像(非深度)相机:从多个常规RGB相机创建深度图像需要在每一帧上进行复杂的立体图像点匹配;
-为了在几何VR空间中准确显示所有相机图像,需要包括相机焦距和镜头畸变在内的相机特性,这些特性例如可以借助于视觉模式来检测。
这样,相机标定是本领域已知的。然而,一个问题是这样的标定需要相当多的处理,甚至可能需要专用硬件,例如,图形处理单元GPU(参见参考文献[1]第IV.B.2节)或FPGA(参见参考文献[2])。
从处理的角度来看,可能在特定硬件可用的某个地方远程地(例如,在“云”中)执行处理是有意义的。参考文献[3]和[4]中提供了在不同于捕获系统的系统上(例如,在多相机传感器系统中)进行这种处理的示例。
发明内容
现有技术方法可以实现将图像处理任务传输到远程处理资源。然而,这无法解决在本地快速需要处理结果的情形。然而,这种情形可能受到有限的本地处理能力、有限的网络连接能力、由图像数据传输引起的延迟的阻碍,或者在使用无线系统时可能会引起额外的电池消耗。例如,本地图像处理系统(即,PC)可能包括一个或多个(深度)相机,并且可能需要在本地使用捕获的图像。使用本地相机进行本地处理的其他示例包括智能电话、具有1个或多个外部相机的智能电话、或者可能是直接相连的2个智能电话(它们中的一者作为主捕获系统)。外部相机或智能电话可以例如通过蓝牙连接来连接。
由于端到端延迟而可能会产生使用本地处理的需要。例如,参见[4]的第4.1.6节,将所有视频发送至网络,在那里进行处理并且然后继续发送。这种传输可能会引起额外延迟,例如,由于端到端视频传输链中的额外编码/解码步骤。如果本地系统构建了所需的输出(例如,3D点云或网格),则这将避免或减少端到端延迟。
本地使用图像的示例性目的是创建自视图,该自视图是用户自己身体的3D表示,该自视图通常通过VR头戴式装置(也称为HMD,头戴式显示器)来可视化。在本文档中,可以将相机捕获的用户(例如,用户的身体或头部)或者房间或位置中的任何其他元素命名为:物理空间中的对象。与可以在视觉上表示为VR环境中的虚拟对象的这种对象相对应的数据可以被称为3D对象数据。所述自视图是虚拟对象的示例,该虚拟对象对应于其中放置有相机的房间中的实际用户。虚拟环境中的自视图应当优选地与用户的身体很好地对准,以确保用户的本体感觉的体验与视觉体验相匹配。而且,自视图可以包括其他本地物理对象(诸如椅子、咖啡杯等)的视图。3D对象数据的另一目的是用于增强现实中的本地使用,即,用于创建房间的本地3D模型并对该虚拟房间中的虚拟对象进行渲染,例如,在一些用户佩戴AR头戴式装置并且看到投射在他们自己的物理环境中的其他用户的VR/AR混合场景中。在本文档中,这种包括虚拟对象的AR环境也可以被称为3D虚拟环境。
因此,可能需要一种本地提供3D对象数据以用于对3D虚拟环境中的虚拟对象进行渲染、同时降低对本地处理能力的需要的系统。
根据本发明的第一方面,可以提供一种用于对来自物理空间中的相机的图像数据进行处理以对3D虚拟环境中的虚拟对象进行渲染的处理器系统,
该虚拟对象表示该物理空间中的对象。
该处理器系统被布置成经由网络与包括处理资源的服务器系统通信,其中,该处理器系统可以包括:
-网络接口,用于经由该网络来交换数据;
-到该相机的捕获接口;
-到该物理空间中的第二设备的第二设备接口;
该相机在该物理空间中具有相机姿态,并且该第二设备在该物理空间中具有第二姿态,该第二姿态不同于该相机姿态;以及
-处理器,该处理器可以被配置为
-经由该捕获接口从该相机获得该物理空间的图像数据;
-经由该第二设备接口获得该第二设备的第二数据;
-向该服务器系统发送该图像数据、该第二数据和标定命令;
-根据该标定命令从该服务器系统接收标定数据,该标定数据指示该相机姿态和该第二姿态;
-通过基于该标定数据对该图像数据进行处理来生成该对象的3D对象数据,该3D对象数据被提供用于对该3D虚拟环境中的该虚拟对象进行渲染。
根据本发明的另一方面,可以提供一种用于对来自物理空间中的相机的图像数据进行处理以对3D虚拟环境中的虚拟对象进行渲染的服务器系统,
该虚拟对象表示该物理空间中的对象。
该服务器系统被布置成经由网络与处理器系统通信,
其中,该服务器系统包括
-网络接口,用于经由该网络来交换数据,以及
-处理资源,该处理资源可以被配置为
-经由该网络接口接收由该相机获得的该物理空间的图像数据、该物理空间中的第二设备的第二数据、以及来自该处理器系统的标定命令;
-根据该标定命令对该图像数据和该第二数据进行处理以生成指示该相机姿态和该第二姿态的标定数据;并且
-经由该网络接口向该处理器系统发送该标定数据。
根据本发明的另一方面,提供了一种针对用于对来自物理空间中的相机的图像数据进行处理以对3D虚拟环境中的虚拟对象进行渲染的处理器系统的处理方法,
该虚拟对象表示该物理空间中的对象。
该处理器系统可以被布置成经由网络与服务器系统通信,该相机在该物理空间中具有相机姿态,并且第二设备在该物理空间中具有第二姿态,该第二姿态不同于该相机姿态。
该方法可以包括:
-从该相机获得该物理空间的图像数据;
-获得该第二设备的第二数据;
-向该服务器系统发送该图像数据、该第二数据和标定命令;
-根据该标定命令从该服务器系统接收标定数据,该标定数据指示该相机姿态和该第二姿态;以及
-通过基于该标定数据对该图像数据进行处理来生成该对象的3D对象数据,该3D对象数据被提供用于对该3D虚拟环境中的该虚拟对象进行渲染。
根据本发明的另一方面,提供了一种针对用于对来自物理空间中的相机的图像数据进行处理以对3D虚拟环境中的虚拟对象进行渲染的服务器系统的处理方法,
该虚拟对象表示该物理空间中的对象。
该服务器系统可以被布置成经由网络与处理器系统通信,其中,该方法包括:
-接收由该相机获得的该物理空间的图像数据、该物理空间中的第二设备的第二数据、以及来自该处理器系统的标定命令;
-根据该标定命令对该图像数据和该第二数据进行处理以生成指示该相机姿态和该第二姿态的标定数据;以及
-向该处理器系统发送该标定数据。
此外,提供了一种包括计算机程序的暂态或非暂态计算机可读介质,该计算机程序包括用于使处理器执行上述两种方法中的一种或两种的指令。而且,提供了一种要在上述处理器系统与上述服务器系统之间传输的信号数据,该信号数据被构造为承载该标定命令或该标定数据。
在如上所述的各种系统和方法中的措施可以具有以下效果。该处理可以被构造如下。首先,本地处理器系统(也称为客户端)向服务器发送图像数据和标定指令。在本披露中,可以使用术语‘服务器’,服务器可以包括网络中具有能够执行标定的处理资源的任何一个或多个服务器系统,包括包含用于图像处理的专用硬件的系统。这可以包括但不限于,云计算、边缘计算、雾计算和薄雾计算,并且还可以包括具有足够处理能力的另一本地计算机。
在服务器上,根据标定指令对图像数据进行分析以确定标定数据。然后,服务器向客户端发送标定数据。最后,客户端使用该标定数据对图像数据进行处理以生成3D对象数据。注意,在客户端上处理的图像数据可以是与发送至服务器的图像数据不同的数据(例如,将来捕获的帧)。因此,处理器系统在本地控制捕获并对来自相机的图像数据进行处理以获得3D对象数据,这使得能够实时使用3D对象数据。标定是通常使用复杂算法从视觉图像中提取所需标定数据的复杂操作,是根据标定命令在客户端的控制下在服务器上远程执行的。因此,有利地,在服务器上执行标定以及可选的相关处理(诸如例如监测)从本地系统卸载了大量工作。
实际上,本地客户端将标定委托给网络中的服务器系统。根据延迟要求,这可以是委托给网络边缘中(例如,5G边缘计算)的系统或是委托给网络中(例如,通常是‘在云中’)的任何系统。
有利地,总处理负载被划分为相对复杂的的远程部分和时间要求严格的本地部分。本地部分是通过基于该标定数据对该图像数据进行处理来生成该对象的3D对象数据。在服务器系统处的远程部分中,通过指示服务器系统来生成标定数据。为此,向服务器系统发送标定命令和相应的图像数据及第二数据。随后,服务器系统执行复杂的标定任务,并且将标定数据发回本地处理系统。有利地,在使用远程生成的标定数据的同时,在本地执行对视频数据的处理以得到3D对象数据。
此外,在获得标定数据时可能存在一些延迟,例如,在相机配置发生变化而进行重新标定的情况下。这可能会暂时导致一定未对准,直到已经生成了更新的标定数据并且将其传输到了客户端。然而,有利地,3D对象数据的实时行为仍然紧跟实际物理对象,因为本地处理器没有因执行标定而减慢速度。
第二设备可以是头戴式显示器(HMD)或用于感测用户在物理空间中的移动的用户交互设备或任何其他参考设备。HMD可以对虚拟3D环境进行渲染。在处理器系统的实施例中,处理器被配置为获得关于第二设备在物理空间中的位置或取向的数据作为第二数据。该数据可以包括以下各项中的至少一项
-该第二设备的位移距离;
-该第二设备的位移方向;
-该第二设备的旋转角度;
-该第二设备的旋转方向。可以参考参考点或参考平面来定义位移距离或位移方向。可以参考旋转轴线来定义定旋转角度或旋转方向。有利地,可以对关于第二设备的位置、取向或移动的所述特定空间第二数据进行处理并将其与相机的图像数据进行匹配,以便增强关于相机的姿态和第二设备的姿态的标定数据。
在实际情况中,第二设备可以是用于对虚拟3D环境进行渲染的HMD,并且对象可以是物理空间中佩戴HMD的人。该处理器可以被配置为通过对该图像数据进行处理以确定该头戴式显示器的姿态来生成该人的位置数据和/或取向数据作为该3D对象数据,该3D对象数据被提供用于渲染作为该3D虚拟环境中的虚拟对象的自视图。HMD可以报告其自己的轴线和取向(即,其具有其自己的(0,0,0)点和取向角(通常为水平方向+北方方向),即来自HMD的关于其在物理空间中的相对位置和取向的数据,作为第二数据。同时,相机的图像数据也是关于物理空间的。通过确定相机与HMD相对于彼此的姿态,标定将这两种数据类型关联在一起。有利地,人将在3D虚拟环境中以现实位置和取向体验自己,因为自视图是根据HMD(即,人的头部)的位置来定位和定向的,而图像数据被处理以确定HMD的姿态。
第二设备可以包括第二相机和/或深度相机。在处理器系统的实施例中,处理器被配置为获得物理空间的第二图像数据和物理空间的深度数据中的至少一者作为第二数据。有利地,所述另一图像和/或深度第二数据可以被处理并与相机的图像数据进行匹配,以便增强关于相机和第二设备的姿态的标定数据。
在处理器系统的实施例中,处理器可以被配置为获得指示相机或第二设备的至少一个参数的元数据;并且将该元数据包括在该标定命令中。可选地,该元数据包括静态设备参数,该静态设备参数包括设备类型、镜头参数、镜头畸变数据、图像传感器分辨率、深度传感器分辨率、设备数据传输格式中的至少一者。可选地,该元数据可以包括动态设备参数,该动态设备参数包括焦距参数、倾斜参数、摇摄参数、相机聚焦参数、相机光圈参数、同步数据中的至少一者。有利地,该元数据可以在标定期间被应用于将图像数据映射到物理空间。静态参数可以应用于所有标定类型,例如,在初始标定或参考标定期间。动态参数可以用于在参数变化时更新标定。
实际上,针对标定的处理在开始捕获时可能会造成问题。当针对会话设置一个或多个捕获设备时,大多数标定需要在会话开始时完成一次。
在处理器系统的实施例中,处理器可以被配置为确定对参考标定数据的需要,该参考标定数据包括以下各项中的至少一项
-该物理空间在没有该对象的情况下的参考视图;
-该物理空间中的固定元素;
-该物理空间中的可视标记;
-该物理空间中的预定义对象;
并且该处理器被配置为将关于所述对参考标定数据的需要的请求包括在该标定命令中。有利地,参考标定数据可以用于对图像数据进行处理,例如,以便跟踪元素、标记或对象,或者在图像数据中将这种元素与物理空间隔离。
在处理器系统的实施例中,处理器可以被配置为在接收到早期标定的标定数据之后确定对重新标定的需要。该需要可以包括以下各项中的一项
-根据该早期标定来检测该相机相对于该相机姿态的移动;
-检测该第二设备的移动;
-在该物理空间中添加另一设备,该另一设备能够提供另一图像数据、深度数据或关于该另一设备在该物理空间中的位置或取向的数据。可选地,该处理器可以被配置为将关于所述对重新标定的需要的请求包括在该标定命令中。有利地,通过了解特定需要,服务器可以在考虑到早期标定数据的同时,对图像数据和/或第二数据和/或另一数据进行高效处理。
实际上,在会话期间事情可能会发生变化。相机可以在会话期间移动,例如,用户可以在发现它们的放置不是最佳时移动它们。移动也是手持相机的因素,例如,使用智能电话作为捕获系统。相机可以在会话期间拉近或拉远或揺摄(即,对于PTZ(揺摄-倾斜-变焦)相机)。相机可以在会话期间添加,例如,用户连接额外相机以改进3D重构。HMD在其跟踪过程中可能出现漂移,因此在漂移变得过大时需要随时间的推移进行重新标定。
在处理器系统的实施例中,处理器可以被配置为在接收到早期标定的标定数据之后从接收服务器系统重新标定数据,并且使用该重新标定数据对图像数据进行处理以获得对象的图像数据。有利地,在接收到该重新标定数据时,该处理器可以立即替换早期标定数据。而且,该处理器可以在考虑到早期标定数据和重新标定数据的同时,对图像数据和/或第二数据进行高效处理。
在服务器系统的实施例中,处理资源可以被配置为在早期标定之后确定对重新标定的需要。该需要可以是以下各项中的一项
-接收指示该对重新标定的需要的重新标定命令;
-根据该早期标定来检测该相机相对于该相机姿态的移动;
-根据该早期标定来检测该第二设备相对于该第二姿态的移动;
-在该物理空间中添加另一设备,该另一设备能够提供关于该物理空间的另一数据。该处理资源可以被配置为:对该图像数据和该第二数据进行处理以生成指示该相机姿态和该第二姿态的重新标定数据;并且向该处理器系统发送该重新标定数据。特别地,检测移动可以包括确定姿态的变化是否超过了位置变化、取向变化、速度变化或加速度变化的阈值。有利地,通过了解特定需要,服务器系统可以在考虑到早期标定数据的同时,对图像数据和/或第二数据和/或另一数据进行高效处理。
在服务器系统的实施例中,处理资源可以被配置为在接收到监测命令时,
-监测来自该相机或该第二设备的关于该物理空间的数据流;
-基于该数据流和该标定数据确定对重新标定的需要;
-进行重新标定以生成重新标定数据,以用于向该处理器系统发送该重新标定数据。例如,该数据流可以由处理器系统生成和传输以用于所述监测,例如,以较低速率流(诸如每秒一次)的图像数据,或者它可以是从处理器系统传输到另一目的地的数据流,该数据流是经由服务器系统来路由的。有利地,可以在客户端侧基本上不占用处理能力的同时,由服务器来执行监测和重新标定。
实际上,检测对标定的需要可能是标定过程的第一步骤。当添加额外相机时,这是标定的明显标志。但是当例如仅轻微地移动相机时,这并不是那么明显,即,它可能仅导致捕获结果的小误差。因此,监测对标定的需要可以被看作是标定的一部分。检测对实际标定的需要以及检测实际标定本身都会是本地系统上的沉重处理负载,本地系统可能无法实时进行该操作,从而可能会引起系统过载或影响整体性能,而且它可能会耗尽电池,或甚至可能会导致本地系统(过)热。
在服务器系统的实施例中,图像数据可以包括第一时刻的第一图像和第二时刻的第二图像,并且该第二数据可以指示该第二设备从该第一时刻的第二姿态到该第二时刻的后续第二姿态的实际移动。在实施例中,处理资源可以被配置为:检测如在该图像数据中表示的、该第二设备的实际移动,从如所表示的该实际移动得到至少一个相机参数,并且使用如所得到的该相机参数生成该标定数据。有利地,可以在客户端侧基本上不占用处理能力的同时,在服务器侧得到相机参数。
在服务器系统的实施例中中,处理资源可以被配置为确定参考标定数据,该参考标定数据包括以下各项中的至少一项
-该物理空间在没有该对象的情况下的参考视图;
-该物理空间中的固定元素;
-该物理空间中的可视标记;
-该物理空间中的预定义对象,
并且向该处理器系统发送该参考标定数据。有利地,该参考标定数据可以根据请求生成或在服务器侧自动生成。处理器系统可以在客户端侧基本上不占用处理能力的同时,接收该参考标定数据。
本领域技术人员应当理解,可以以任何认为有用的方式组合上文提及的本发明的实施例、实施方式和/或方面中的两个或更多个。
本领域技术人员可以在本说明书的基础上来执行对处理器系统、设备、服务器系统和/或计算机程序的修改和变化,这些修改和变化对应于所描述的方法的修改和变化,并且反之亦然。
附图说明
参考下文所描述的实施例,本发明的这些方面和其他方面是显而易见的并且将被阐明。在附图中:
图1示出了用于对3D虚拟环境中的虚拟对象进行渲染的系统的示例,
图2示出了用于对3D虚拟环境中的自视图进行渲染的系统的示例,
图3示出了用于3D对象创建的系统的示例,
图4示出了轴向系统,
图5a示出了指向用户的相机,
图5b示出了图5a中所示出场景的相机进行的捕获,
图5c和图5d示意性地示出了相机与HMD的标定,
图6a示出了要定位的用户自视图以及平面A-B,
图6b示出了自图像的前视图,
图6c示出了确定A和B的角坐标,
图7a示出了针对处理器系统的方法,
图7b示出了针对服务器系统的服务器方法,
图8示出了暂态或非暂态计算机可读介质;以及
图9示出了示例性数据处理系统。
应当注意,不同附图中的相似项可以具有相同的附图标记,可以具有相似的结构特征、功能或标志。在已经解释了这种项的功能和/或结构的情况下,在详细描述中不再重复解释。
具体实施方式
下文描述了体现3D对象数据生成的处理器系统和服务器系统的若干实施例。首先,提供了标定的技术概念的一些进一步的一般描述。在该背景下,标定是使图像数据在3D虚拟环境中可用。需要进行标定并使得能够从其中检索3D对象的图像数据的示例为:
-单个RGB图像+深度帧,相对于图像的物理空间进行标定。作为第二设备的HMD可以存在于房间中。这可能足以检测图像中的HMD位置,并且因此允许将自视图恰当地放置在3D虚拟环境中。
-单一时刻的多个RGB+深度图像,即,来自不同的相机。这种数据允许使用至少3个点(即,使用基于深度的多相机标定)来使相机对准。
-单一时刻的多个RGB图像,使用基于视觉的方法来使相机图像对准。
为了检测对(重新)标定的需要,随时间的推移需要新的帧以检测图像的变化,例如,用于检测相机移动。实际上,客户端也可以经由网络例如向其他客户端发送包含图像的流,并且这种流也可以用于检测标定需要。替代性地,例如,在本地使用(诸如用于自视图)的情况下,客户端可以出于此目的向服务器发送定期图像数据更新。
多相机标定可能需要在相机图像之间的时间同步,例如,当将多个移动电话用作相机时。在分布式相机网络中,可以使用本身已知的同步技术来解决该问题,例如,使用系统之间的时钟同步和图像的时间戳。当多个相机连接至单个本地系统时,可以在本地层面布置时间同步。例如,本地捕获系统可以同时从多个相机捕获图像(RGB和/或深度)。
在本文档中,网络的概念包括各种类型的网络,既有本地的、区域的网络,也有全球的网络。网络可以包括一个或多个网络部分(如家庭网络、公司网络、在特定服务提供商例如互联网服务提供商(ISP)控制下的网络域),并且可以包括固定的(即,有线的)和无线的(例如,Wi-Fi或蜂窝)连接两者。这种网络可以包括大量网络资源以及可选地包括网络控制器,这些网络资源包括服务器、节点和连接这些节点的链路,这些网络控制器具有用于交换网络控制数据的网络控制器接口。网络可以被配置用于经由第一端节点与第二端节点之间的网络资源链来传输数据,同时经由特定服务器路由数据流。每个端节点可以具有用于经由网络来交换数据的网络接口和另一控制逻辑,这是众所周知的。服务器系统可以耦合至用户位置附近的网络,以提供进一步限制传输延迟的所谓边缘计算,或者可以在网络中的远程位置或节点处耦合。
图1示出了用于对3D虚拟环境中的虚拟对象进行渲染的系统的示例。该系统包括可以被称为客户端的处理器系统200和可以被称为服务器的服务器系统300。处理器系统200被布置用于对来自物理空间中的相机20的图像数据22进行处理以对3D虚拟环境中的虚拟对象进行渲染。该虚拟对象表示该物理空间中的对象。该处理器系统被布置成经由网络100与服务器系统300通信。该处理器系统具有:网络接口240,用于经由网络100来交换数据24;到相机20的捕获接口210;以及到物理空间中的第二设备30(例如,头戴式显示器(HMD))的第二设备接口230。该相机在物理空间中具有相机姿态,并且该第二设备在物理空间中具有第二姿态。该第二姿态不同于该相机姿态,并且可以是定义设备在物理空间中的绝对位置和取向或相对于另一对象、相机或设备的位置和取向的任何姿态。
该处理器系统具有处理器220,该处理器被配置为经由相机20获得物理空间的图像数据22,并且经由第二设备230获得第二数据23。该处理器还被布置成经由网络100向服务器系统300发送该图像数据、该第二数据和标定命令。该处理器还被布置成根据该标定命令从服务器系统300接收标定数据。该标定数据指示相机姿态和第二姿态。该处理器还被布置成通过基于该标定数据对该图像数据进行处理来生成对象的3D对象数据25。该3D对象数据被提供用于对3D虚拟环境中的虚拟对象进行渲染。例如,该3D对象数据可以用于对HMD30中的虚拟环境中的虚拟对象进行渲染,该渲染也可以由处理器220执行。替代性地,3D对象数据25可以例如经由网络100被传输至另一设备,例如,在不同位置处的客户端。在该不同位置处,可以对包括3D虚拟对象的3D虚拟环境进行渲染。
图1还示出了服务器系统300。该服务器系统被布置用于对来自物理空间中的相机的图像数据进行处理以对3D虚拟环境中的虚拟对象进行渲染。该服务器系统被布置成经由网络100与如上所述的处理器系统200通信。该服务器系统具有网络接口310和处理资源320,该网络接口用于经由网络来交换数据31。该处理资源被配置为从处理器系统200接收图像数据、第二数据和标定命令。该处理资源还被配置为根据标定命令对图像数据和第二数据进行处理以生成指示相机姿态和第二姿态的标定数据,并且向处理器系统发送该标定数据。该处理资源可以具有图像处理器330,该图像处理器包含用于高速处理图像数据的专用硬件。
上述系统的优点包括将客户端的处理卸载到服务器,从而减轻客户端的负担。该服务器可以具有特定硬件330(例如,GPU或FPGA硬件)来加速处理,从而比客户端所能做的更高效地进行处理。而且,鉴于服务器可以比客户端更快地进行标定,并且网络延迟较小(即,在使用5G边缘计算时的特别优点),因此该设置可以节约时间。而且,该设置可以为移动的/电池供电的客户端节约电池电量。
在实施例中,第二设备是头戴式显示器(HMD)。HMD可以用于对3D虚拟环境进行渲染。替代性地,第二设备可以是用于感测用户在物理空间中的移动的用户交互设备,例如,要由用户操纵的游戏移动传感器。处理器230进一步被配置为获得关于第二设备在物理空间中的位置或取向的数据作为第二数据。在实施例中,第二数据可以是第二设备的位移距离或第二设备的位移方向。而且,第二数据可以是第二设备的旋转角度或第二设备的旋转轴线。而且,第二数据可以是这些的组合。注意,该第二数据是由第二设备报告的或是关于第二设备的数据,并且因此是独立的:它可能不是关于物理空间中的绝对位置和取向的数据,而可能是关于第二设备相对于(内部决定的)轴系统的位置和取向。例如,在第一次打开HMD时,就可以将其第一位置确定为其(0,0,0)点并将其第一取向确定为其“北方取向”或“0取向”。注意,HMD通常具有能够确定HMD是否处于水平方向的内部惯性传感器。
图2示出了用于对3D虚拟环境中的自视图进行渲染的系统的示例。客户端系统201和服务器系统301的结构可以对应于上述图1中的对应系统和元素,同时该图示意性地示出了要传输的数据和要执行的功能。在该示例中,用户佩戴连接至客户端系统(PC)的HMD,RGB+深度相机(例如,微软的Kinect或英特尔的RealSense D415)也连接至该客户端系统。该示例示出了可以如何使用服务器来标定HMD相对于相机的位置,使得创建的自视图可以在虚拟环境中正确定位。标定可以包括在空间上将深度信息与RGB信息相匹配。
客户端系统201具有耦合至一个或多个相机的捕获接口。示出了头戴式显示器作为第二设备。在该示例中,对象是物理空间中佩戴头戴式显示器、坐在椅子上的人。客户端向服务器301传输图像数据(例如,RGB和深度数据)和标定命令(CMD)。
服务器301接收标定命令、以及图像数据和HMD数据,诸如HMD的位置和取向。然后服务器根据标定命令执行标定。
在客户端201处,处理器被配置为生成人的位置数据和/或取向数据作为3D对象数据。为此,客户端从服务器接收标定数据,例如,如由服务器检测到的并且随后被传输至客户端的HMD姿态,如图所示。现在通过使用该标定数据来启用客户端中的处理器对如所捕获的图像数据进行处理以确定头戴式显示器的实际姿态(即,3D对象数据)。基于此,使用该3D对象数据渲染作为3D虚拟环境中的虚拟对象的自视图来创建自视图。而且,客户端可以跟踪HMD的移动,以调整3D虚拟环境中的虚拟对象(即,自视图)的姿态。客户端可以在捕获图像或图像序列时存储HMD的位置数据和/或取向数据,该HMD数据可以用于标定。
捕获的包含RGB图像和深度图像和/或HMD数据的图像被发送至服务器。服务器可以使用基于视觉的方法来检测图像中的HMD。这可以利用HMD上的额外标记(例如,类似QR码的标记)来促进,使得检测更容易。
服务器可能需要检测图像中的HMD的位置和取向两者。位置可以由图像帧中的放置(X、Y坐标)与深度值组成。取向可以由矢量或由各个轴线上的旋转值组成。轴系统可以是,直接指向相机的方向是北方方向。将检测到的HMD姿态(位置和取向)发回客户端,以正确地放置自视图。为了基于报告的HMD姿态与检测到的姿态的对准来正确定位自视图,可能需要HMD的尺寸和形状。为了简洁起见,此处省略了HMD的尺寸和形状,并且使用了单个位置/取向。
进一步地,针对自视图,可能需要捕获的图像和该图像中的人或对象的正确公制尺寸。捕获的2D RGB图像与捕获的深度图像可以一起被转换为3D点云。在虚拟现实中,该点云可以基于检测到的HMD位置/取向被定位在准确的用户位置处。为了正确确定虚拟自视图的尺寸,可以使用更多信息,例如,如在申请EP16201955.8中所阐明的。例如,该信息可以如下获得:
-通过基于相机特性(即,焦距、传感器尺寸)和捕获的图像中的对象的测得深度来‘度量’图像中的对象:
-通过知道图像中的对象的准确尺寸。例如,如果客户端告诉服务器HMD的品牌和型号,并且该HMD的准确尺寸和形状在服务器处是已知的,则服务器就可以使用这些信息来确定相机特性并且因此还度量图像中的其他对象;
-通过将跨越各个视频帧的跟踪信息与检测到的位置和取向结合起来。如果捕获的用户向右移动50cm,则客户端上的HMD跟踪会对此进行跟踪。知道了该移动,将允许服务器在捕获的图像之间测量该移动,并且因此还允许确定相机特性。这需要客户端基于HMD跟踪数据向服务器报告该移动。
上述标定信息可以用于正确确定自视图的尺寸,但是可以进一步地用于在用户移动时保持放置正确。如果用户向右移动50cm,则利用捕获的RGB+深度图像创建的自视图应当保持正确地放置。移动信息可以在本地得到,例如,客户端可以从相机获得该信息。或者可以在标定期间检测到该信息,然后该信息必须与检测到的HMD的位置和取向一起发送到客户端。
图3示出了用于3D对象创建的系统的示例。客户端系统203和服务器系统303的结构可以对应于上述图1中的对应系统和元素,同时该图示意性地示出了要传输的数据和要执行的功能。该图示出了利用两个相机来捕获用户。然后,在服务器处在相机之间进行标定并且返回相对相机姿态时,可以执行3D用户捕获以生成用户的3D对象数据。
客户端系统203具有耦合至两个RGB相机的捕获接口,因此第二相机构成第二设备。在该示例中,对象是物理空间中佩戴头戴式显示器、坐在椅子上的人。在该示例中,没有这样来检测HMD,即,HMD只是由用户佩戴的对象。客户端向服务器303传输图像数据(例如,两个RGB图像)和标定命令(CMD)。
服务器303例如经由网络(如互联网)来接收标定命令和这两个图像。然后如示意性示出的,服务器根据标定命令通过将这两个图像中的元素相匹配来执行标定。服务器生成标定数据,例如,第二相机相对于第一相机的相对相机姿态。而且,服务器可以使用这两个RGB图像的差异和这两个相机的相对姿态来生成深度图作为标定数据的一部分。
在该实施例中,第二设备是第二相机。替代性地或附加地,第二设备也可以是深度相机,或组合的图像和深度相机。处理器被配置为获得物理空间的第二图像数据和/或物理空间的深度数据作为第二数据。在标定命令中,客户端可以命令服务器提供关于第二相机相对于第一相机的姿态的标定数据,和/或提供映射坐标系和/或将这两个相机的参数或其他特性相匹配的标定数据。
在如图3所示的示例中,利用2个RGB相机来记录用户。这允许创建用户的3D版本,该版本可以作为点云或时变网格(TVM)或作为RGB+深度流被流式传输给3D虚拟环境(诸如VR会议)中的其他用户。这可能需要对物理空间中的2个相机进行标定,即,以便确定每个相机相对于另一个的姿态。为此,客户端向服务器发送两个RGB图像。服务器可以使用基于视觉的方法(即,执行复杂的立体图像点匹配,参见例如[6])来确定这两个相机的相对位置和相对取向。接下来,服务器将标定数据发回客户端,因此客户端可以创建3D对象数据,例如,用于流式传输的用户的3D版本。
在该示例中,标定数据定义了相机的位置和取向。对于这种描述,可以定义轴向系统并且可以定义取向,例如,作为俯仰/滚转/偏航或者作为指向矢量。或者选择新的轴向系统,并且标定数据包含针对要与该新的轴向系统匹配的两个相机姿态的数据。或者,为轴向系统选择其中一个相机,例如,称该相机为(0,0,0)点并且其取向为(0,0,0)取向,并且然后标定数据包含针对第二相机的相对姿态。
图4示出了轴向系统。图4a示出了没有滚转的轴向系统。图4b示出了有滚转的轴向系统。如果相机是水平放置的,那么不需要定义滚转。
使用如图4所示的轴向系统,第一相机位置可以被定义为(x,y,z)=(0,0,0),并且其取向可以被定义为(偏航,俯仰,滚转)=(0,0,0)、或者定义为以位置为原点的矢量(x,y,z)=(1,0,0)。这些坐标可以用公制度量。如果第二相机被放置在同一高度左侧约30cm处,并且也指向该对象,那么第二相机的位置可以是(x,y,z)=(0,0.3,0),并且其取向可以是(偏航,俯仰,滚转)=(-30°,0°,0°)、或者用矢量(x,y,z)=(1,-0.3,0)表示。在此,所有位置数据都可以描述镜头位置,即,所谓的针孔。此外,作为元数据,可以使用相机特性,例如,如在[5]中所解释的。
初始标定可能足以提供参考标定数据,例如,当相机位置为静态时。然而,如果在会话期间移动相机,则需要重复标定,这可以被称为重新标定。如果用户移动相机,则可能需要重新标定,因为用户可能会移动或者用户可能检测到他未被恰当捕获。这种相机的位置/取向变化必须首先被系统检测到,或者被指示给系统,并且然后必须生成新的标定数据,即,必须确定新的相对位置和取向。对于标定的需要的检测可以是独立的(即,检测相机移动或变焦等),或者是通过连续执行标定并查看结果是否发生变化来进行的。
在实施例中,处理器被配置为确定对参考标定数据的需要,并将关于所述需要的请求包括在标定命令中,从而指示在客户端处需要的标定数据。该参考标定数据可以包括以下各项中的一项或多项
-该物理空间在没有该对象的情况下的参考视图;
-该物理空间中的固定元素;
-该物理空间中的可视标记;
-该物理空间中的预定义对象。
实际上,为了跟踪诸如HMD等某些对象,可以使用物理标记来促进对象检测。如果这些标记的准确尺寸和形状是已知的(例如,如由参考标定数据所提供的),则这些标记还可以用于相机标定,即,用于相机特性的检测。
在实施例中,处理器可以被配置为在接收到早期标定的标定数据之后确定对重新标定的需要,并且将关于所述需要的请求包括在标定命令中。例如,该请求可以指示标定的原因。该需要可以是以下各项中的一项
-根据早期标定来检测相机相对于相机姿态的移动;
-检测第二设备的移动;
-检测第二设备的姿态更新的漂移;
-在该物理空间中添加另一设备,该另一设备能够提供另一图像数据、深度数据或关于该另一设备在该物理空间中的位置或取向的数据。例如,漂移可以发生在实际的HMD中,特别是基于移动的HMD,如三星的gear VR或谷歌的Daydream。
在实施例中或在上述实施例中的任意一个实施例中,处理器可以被配置为在接收到早期标定的标定数据之后从服务器系统接收重新标定数据。随后,处理器可以使用该重新标定数据对图像数据进行处理以获得对象的图像数据。
实际上,相机移动可以是重新标定的原因。该移动可以是手动的,但也可以是在改变摇摄-倾斜-变焦(PTZ)相机,例如,能够跟踪要捕获的对象的相机。通常,相机的变焦改变了相机的镜头特性,例如,焦距。摇摄或倾斜将改变相机取向,这可以通过跟踪图像中的元素来检测或测量。在极端情况下,相机可以安装在无人机或其他移动对象上,并且需要连续标定。
在实施例中,处理器被配置为获得指示相机的一个或参数、或者第二设备的一个或多个参数的元数据;并且将该元数据包括在标定命令中。例如,该元数据可以包括静态设备参数。静态参数可以包括设备类型、镜头参数、镜头畸变数据、图像传感器分辨率、深度传感器分辨率、设备数据传输格式等。而且,该元数据可以包括动态设备参数。动态参数可以包括焦距参数、倾斜参数、摇摄参数、相机聚焦参数、相机光圈参数、同步数据中的一者或多者。
为了正确地放置自视图,需要在用户姿态(例如,佩戴HMD)与相机姿态之间进行标定。相机可以是RGB+深度相机,其输出足以创建用户的3D图像。该相机很可能是从正面捕获用户,即,用户坐在相机正前方。通过使用相机特性(即,焦距),可以基于深度值正确地度量用户。
在虚拟环境中放置用户的3D模型需要坐标和取向。用户通过虚拟相机(或多个虚拟相机,每只眼睛一个)看到虚拟环境。随着用户移动他的头部,即,通过在空间中旋转或移动头部,由HMD系统(例如使用HMD内部的传感器或外部的跟踪传感器或其组合)跟踪该移动。根据跟踪数据来更新虚拟相机姿态,从而确保虚拟环境对用户头部移动的正确视觉响应。
当创建自视图时,需要在位置和取向上以及在尺寸上将其正确地放置在虚拟环境中。因此,相机输出端需要与HMD的轴向系统进行关联,即,需要标定。由于用户(包括其HMD)在相机的视野内,因此这可以用于标定目的。但是仅检测图像(RGB和深度图像)中的HMD是不够的。图像中的姿态需要与捕获图像时的HMD姿态关联。一旦标定了相机和HMD两者的轴向系统,由相机捕获的任何图像可以被正确地放置在虚拟环境中。
图5a示出了指向用户的相机。该相机可以是RGB+深度相机。该用户位于相机左侧一点的位置,并且正在直视前方,同时佩戴着HMD。
图5b示出了图5a中所示出场景的相机进行的捕获。该相机还提供深度图像,该深度图像表示了镜头与捕获的对象之间的距离。在本案中,HMD的正面在相机前方1米处,并且HMD与相机处于同一高度。
图5c和图5d示意性地示出了相机与HMD的标定。在图4a中示出的轴向系统被用作相机的轴向系统。遵循针孔模型的相机镜头中心位于该系统的原点,即,(0,0,0)点,并且X轴为北轴,即,X轴是相机所指向的。而且,假设相机是水平放置的。
然后,检测到的HMD将位于例如(1,0.2,0),并且其取向将(被描述为从对象原点出发的矢量)(-1,0,0),用相机的轴向系统描述。在此,假设HMD的中心点是为此而指示的。因此,标定命令可以包括:
-RGB图像和关联的深度图像。
-相机的焦距。
-当前HMD姿态(即,在捕获RGB+D图像时)以及用于此的轴向系统(参见下文)。
默认的标定请求可以是指:就HMD轴向系统来描述相机。例如,假设HMD在内部使用如图4所示的相同轴向系统。接下来,假设在捕获RGB+深度图像时的HMD姿态由位置(-0.2,0.6,0)和被描述为矢量(0.5,0.5,0)的取向组成。出于定位的目的,考虑HMD的中心,并且将直线向前作为取向。
标定的结果可以是用该轴向系统描述的相机姿态。该位置为:
-x轴(单位为cm):-20+sqrt(100^2/2)-sqrt(20^2/2)=37(四舍五入)
-y轴(单位为cm):60+sqrt(100^2/2)+sqrt(20^2/2)=145(四舍五入)
因此,相机的位置为(0.37,1.45,0)。相机的取向与用户的视线方向直接相反,并且因此为(-0.5,-0.5,0)。这在HMD轴向系统中进行了描述。因此,标定的结果将为该姿态。这将允许客户端系统对相机图像进行处理并将自视图放置在虚拟环境中的用户位置。即使用户后来移动,这也不是问题,因为HMD跟踪器在持续监测HMD的姿态。
自视图的准确放置是额外步骤。RGB+深度图像必须转换为3D图像,例如,使用点云表示:每个像素成为具有3维放置值的像素。这可以是包含深度的彩色图像。该图像可以在虚拟环境中的一个平面上进行渲染,其中,这些像素当然将基于深度值被放置在该平面的前方或后方。请注意,这些点也可以基于相机的焦距和所使用的特定相机图像映射技术在该平面的后方或前方弯曲。但是,该平面必须准确放置在虚拟环境中的正确位置,以确保自视图的恰当对准。通常,通过指示平面的四个角或通过指示两个对角来放置该平面。
图6a示出了要定位的用户自视图以及平面A-B。在该图中,示出了俯视图,其中,用户图像的深度完全在该平面后方,即,HMD的正面具有0深度值并且头部后部具有例如0.2米的深度值。如从正面看到的,帧的左侧为A并且右侧为B。
图6b示出了自图像的前视图,其示出了整个平面。在此,示出了A为帧的左上角,并且因此是如图6a中从上方看到的左侧,并且示出了B为帧的右下角,并且因此是如图6a中从上方看到的右侧。为了正确地放置该自视图,需要确定角A和B的恰当坐标,从而正确地放置自视图并正确地确定其尺寸。
如在图6b中示出的,如可以根据焦距确定的,假设在距离1米处的帧尺寸为高1米,宽1.6米。
图6c示出了确定A和B的角坐标。在该图中,坐标被确定为:
-对于角A
οx轴(单位为cm):-20+sqrt(40^2/2)=8.3cm
οy轴(单位为cm):60-sqrt(40^2/2)=31.7cm
-对于角B
οx轴(单位为cm):-20-sqrt(120^2/2)=-104.9cm
οy轴(单位为cm):60+sqrt(120^2/2)=144.9cm
假设HMD的中心的高度处于z=0的水平。因此,角A的坐标将为(0.083,0.317,0.5),并且角B的坐标将为(-104.9,144.9,-0.5)。通过将视频平面放置在该位置,自视图将被正确地放置和确定尺寸。注意,这需要针对眼睛相对于HMD正面的放置来校正,即,左眼放置为向后约5cm以及向左约3.5cm,并且右眼放置为向后约5cm以及向右约3.5cm,假设目间距为7cm。
将自视图投射在3D虚拟环境中的其他方式也是可能的。例如,从单个点投射出点云的所有点也是可能的,这有点颠倒了捕获过程。必须基于对准HMD来确定投射点的位置和取向,该投射点映射到相机的针孔点。接下来,使用用来进行记录的相机的焦距从该点向外投射RGB+深度信息。投射该信息的其他方式也是可能的,例如,指示来自点云的单个点(例如,HMD的中心)的位置,并且计算所有其他点的相对位置并将它们直接放置为3D场景中的点。
存在各种方式可以交换该标定信息。这些方式之一可以是默认方式,并且任何标定请求都是将该默认情况应用于标定的请求。替代性地,标定命令可以包含关于应当如何描述该标定的指令。替代方案为:
-就HMD的轴向系统来描述相机输出;
-就相机轴向系统(即,从相机的视角描述的轴向系统)来描述HMD;
-选择某个参考轴向系统,并且就该参考系统来描述相机输出和HMD两者。
而且,参考系统可以基于捕获的图像中的静态部分,例如,基于桌子或墙。注意,如果其中一个设备(诸如HMD)不能向外看,则其自身不能符合外部参考点:在这种情况下,相机图像需要既可用于遵循外部参考系统又可用于其他设备的标定。
而且,可以提前定义或者可以在初步沟通中商定要使用的轴向系统。通常,X轴是水平的,Y轴也是水平的但是与X轴正交,并且Z轴是竖直的。但是其他系统将Y轴用作竖直的并且将Z轴用作第二水平轴。除此之外,绕每条轴线的旋转可以是右旋的(即,右拇指在轴线方向上并且其他手指示出真实取向方向)或者是左旋的(即,左拇指在方向上并且其他手指示出取向)。图4b示出了右手系统。取向可以使用该取向系统以偏航-俯仰-滚转指示,或者取向可以作为定义为从原点指向的矢量。任何标定都需要选择系统,例如,要么将一个系统定义为默认的,要么指示使用的或需要使用的系统。
可以类似地实现两个相机之间的标定、或者独立的RGB相机或立体相机与深度相机之间的标定。注意,上述示例假设的是完美相机,即,图像中不存在变形。由于相机按照定义来说并不完美,即,镜头可能引起畸变(例如,桶形畸变、枕形畸变),因此镜头与传感器的放置可能不是完美对准的。为了得到正确的几何信息,需要为此调整相机的输出。如果利用已知的几何形状(例如,棋盘)来标定相机,则这允许创建可以应用于原始相机输出以针对此进行调整的滤波器,并且获得正确的几何信息。这种信息可以被发送至服务器作为标定请求的一部分。或者,在编码和传输之前可能已经在捕获侧应用该滤波器,并且因此不需要进一步校正。
可能需要成为标定请求的另一部分是主点偏移。某些相机的传感器可能不位于镜头的正后方,即,主点可能不是图像的中心点。如果是这种情况,则该主点偏移需要成为标定请求的一部分。
图7a示出了针对处理器系统的方法500。该方法用于对来自物理空间中的相机的图像数据进行处理以对3D虚拟环境中的虚拟对象进行渲染。该虚拟对象表示该物理空间中的对象,例如,人类的头部。该处理器系统(也称为客户端)被布置成经由网络与服务器系统(也称为服务器)通信,如由箭头560示意性指示的,该箭头表示要在如上所述的客户端与服务器之间传输的信号数据。该信号数据被构造为承载标定命令或标定数据。该处理器系统具有:网络接口,用于经由网络来交换数据;到相机的捕获接口;以及到物理空间中的第二设备的第二设备接口。该相机在物理空间中具有相机姿态,并且该第二设备在物理空间中具有第二姿态,该第二姿态不同于该相机姿态。
该方法可以从捕获过程510开始,以经由捕获接口从相机获得物理空间的图像数据。而且,例如并行地,该方法执行第二过程520,以经由第二设备接口获得第二设备(例如,HMD、第二相机或深度相机)的第二数据。随后,在传输过程540中,该方法以一个或多个传输步骤向服务器发送图像数据、第二数据和标定命令。然后,作为响应,在另一通信过程550中,该方法根据标定命令从服务器接收标定数据。该标定数据指示相机姿态和第二姿态。与服务器的通信过程由虚线框530和要经由网络传输的信号560示意性地示出。最后,在生成过程570中,该方法通过基于标定数据对图像数据进行处理来生成对象的3D对象数据。该3D对象数据例如被提供至头戴式显示器,以用于对3D虚拟环境中的虚拟对象进行渲染。
图7b示出了针对服务器系统的服务器方法600。该服务器方法用于对来自物理空间中的相机的图像数据进行处理以对3D虚拟环境中的虚拟对象进行渲染。该服务器系统被布置成经由网络与处理器系统通信,如由箭头560示意性指示的,该箭头表示要在如上所述的处理器系统与服务器系统之间传输的信号数据。
该服务器方法从第一通信过程640开始,以经由网络接口接收由相机获得的物理空间的图像数据、物理空间中的第二设备的第二数据、以及来自处理器系统的标定命令。然后,该服务器方法继续进行处理资源步骤610,以根据标定命令对图像数据和第二数据进行处理以生成指示相机姿态和第二姿态的标定数据。接下来,在第二通信过程650中,该方法经由网络接口向处理器系统发送标定数据。与客户端的通信过程由虚线框630和要经由网络传输的信号560示意性地示出。
在服务器系统的实施例中,处理资源被配置为在早期标定之后确定对重新标定的需要。这种需要可以基于接收指示对重新标定的需要的重新标定命令来确定。而且,该需要可以由服务器基于图像数据和/或第二设备的数据来确定,例如,通过根据早期标定来检测相机相对于相机姿态的移动,或者通过根据早期标定来检测第二设备相对于第二姿态的移动。而且,该服务器可以检测到在物理空间中添加了另一设备,该另一设备能够提供关于物理空间的另一数据。例如,另一具有活动移动电话的人可以进入物理空间并提供图像数据。
随后,处理资源被配置为:对图像数据和第二数据进行处理以生成指示相机姿态和第二姿态的重新标定数据;并且向处理器系统发送重新标定数据。
在服务器系统的实施例中,处理资源可以被配置为在接收到监测命令时监测如由客户端提供的数据。随后,处理资源被配置为监测来自相机或第二设备的关于物理空间的数据流。在接收到这种数据流时,处理资源基于数据流和标定数据来确定对重新标定的需要,并且进行重新标定以生成重新标定数据以用于向处理器系统发送该重新标定数据。
在服务器系统的实施例中,图像数据包括第一时刻的第一图像和第二时刻的第二图像,并且第二数据指示第二设备从该第一时刻的第二姿态到该第二时刻的后续第二姿态的实际移动。处理资源被配置为检测如图像数据中表示的、第二设备的实际移动。随后,处理资源从如所表示的实际移动得到至少一个相机参数;并且使用如所得到的相机参数生成标定数据。
而且,在服务器系统中,处理资源可以被配置为确定参考标定数据,并且向处理器系统发送该参考标定数据。该参考标定数据可以包括以下各项中的一项或多项
-该物理空间在没有该对象的情况下的参考视图;
-该物理空间中的固定元素;
-该物理空间中的可视标记;
-该物理空间中的预定义对象。
由于首先向服务器发送图像数据,然后从服务器接收标定数据,因此在服务器上执行该处理可能引起一定延迟。这是可接受的,因为服务器处理可以更快地完成。而且,在许多情况下不需要零延迟。如果相机被移动,则用户很可能接受需要一些时间3D环境才能再次‘稳定’。
在上述客户端和服务器的配置中,服务器系统可以位于任何位置。而且,服务器系统可以是一个服务器,但也可以是分布式的或者功能可以在多个服务器上划分。例如,互联网中的任何位置可以被称为在‘云’中,或者它可以是连接至互联网的常规服务器。然而,服务器还可以策略性地参与,例如,在客户端附近的特殊位置,即捕获点,这可以被称为在网络‘边缘’或‘边缘计算’。在捕获点附近进行处理对于网络而言更加高效,因为图像数据不需要通过网络来传输,这样还可以使延迟最小化。而且,流可以被发送给用户,并且这些流可以通过服务器,或者可以分叉到服务器,以用于所述标定。这种路由带来额外效率,因为客户端仅需要为这两个目的发送一次图像数据。网络100仅被示意性地示出,但是可以具有大量网络资源(如经由链路耦合的节点),并且可以具有被布置成执行上述路由或分叉的至少一个网络控制器。
实际上,用于对虚拟环境中的虚拟对象进行渲染的处理器系统200可以但不必集成在单个设备中,例如,也是相机的智能电话、VR外壳中的智能电话、个人计算机、膝上型计算机、平板设备、机顶盒、智能手表、智能眼镜、电视、监视器、投影仪、媒体播放器、媒体记录器、音频系统、游戏控制台等。替代性地,系统200可以分布在多个设备或子系统上,诸如(例如经由Wi-Fi或经由如4G或5G等网络)本地连接的两个或更多个智能电话。系统200被示出为连接至相机20,可以从该相机接收物理空间的图像数据22。替代性地,系统200可以包括相机20。替代性地,系统200可以集成到相机20中。
服务器系统300可以接收从相机20获得的图像数据。然后服务器300可以进一步向参与虚拟环境的其他设备传输图像数据22。除了向服务器提供图像数据22,系统200可以进一步向服务器300提供3D对象数据从而使得服务器和/或其他渲染设备能够对3D虚拟对象(例如,虚拟环境中的用户的虚拟表示)进行渲染。出于此目的,取决于参与的是哪种类型的第二设备和/或要渲染哪种类型的对象,客户端可以提供不同类型的3D对象数据。
可选地,处理器系统200和/或服务器系统300可以被布置成与数据库通信。该数据库可以包括一种或多种不同的相机类型或其他第二设备的元数据,可以基于这些相机或第二设备的类型标识符来存储和检索该元数据。相应地,系统200可以通过获得相机或第二设备的类型标识符并在数据库中查找类型标识符来获得相机元数据或额外设备元数据,诸如例如物理尺寸和形状。将理解的是,该数据库可以是内部数据库,但是也可以是外部数据库,例如,网络托管的数据库。作为使用数据库的替代,也可以从另一实体或服务(诸如搜索引擎或基于‘人工智能’的辅助服务)查询元数据。出于此目的,可以使用适当的API。
此外,处理器系统200和服务器系统300通常位于不同的位置,诸如不同的房间、建筑物或场所。这样,设备之间的通信可以是远程通信,例如,涉及经由网络(诸如或包括一个或多个接入网和/或互联网)的数据通信。
此外,除上述网络接口和相机接口之外,处理器系统200还可以具有包括表示一组指令的指令数据的存储器,同时处理器220被配置为与该存储器通信并且执行该组指令,其中,该组指令在被处理器执行时使处理器220执行如上所述的各种功能。
网络接口240可以采取任何合适的形式,包括但不限于例如基于Wi-Fi、蓝牙、ZigBee、4G移动通信或5G移动通信的无线网络接口,或基于以太网或光纤的有线网络接口。网络接口240可以是到局域网(LAN)的网络接口,还可以是到广域网(WAN)、例如互联网的网络接口。
被提供相机元数据的服务器系统300可以是被配置为托管虚拟环境的服务器或被配置为对虚拟环境进行渲染的渲染设备。这可能类似于当前的视频会议设置,其中,要么使用视频多点控制单元来以特定方式(即,基于服务器的)混合所有参与者的视频,要么在所有用户之间使用点对点通信,并且其中,每个用户的设备在本地对所有输入进行渲染(例如,基于渲染设备)。网络实体300可以进一步包括存储器,该存储器包括表示一组指令的指令数据。服务器具有被配置为与网络接口310和存储器通信并且执行该组指令的处理资源320,其中,该组指令在被处理器320执行时可以使处理器320生成如上所述的标定数据。
通常,处理系统200和服务器系统300可以各自具体化为设备或装置,或者在设备或装置中具体化。该设备或装置可以包括执行适当软件的一个或多个(微)处理器。系统和通信设备的处理器可以由这些(微)处理器中的一个或多个来具体化。实施系统或网络实体的功能的软件可能已经被下载和/或存储在对应的一个或多个存储器中,例如,诸如RAM等易失性存储器或诸如闪存等非易失性存储器。替代性地,系统或网络实体的处理器可以以可编程逻辑的形式在设备或装置中实施,例如,作为现场可编程门阵列(FPGA)。任何输入和/或输出接口可以由设备或装置的相应接口(诸如网络接口)实施。通常,系统或网络实体的每个单元可以以电路的形式实施。注意,处理器系统或服务器还可以以分布式方式实施,例如,涉及不同的设备或装置。
通常,所渲染的3D虚拟环境可以使用显示器来显示。显示器可以是例如与‘OculusRift’、‘HTC Vive’或‘PlayStation VR’相同或相似类型的头戴式VR设备或者简称为VR头戴式装置。VR设备的其他示例是所谓的增强现实(AR)设备,诸如微软的HoloLens或谷歌的Glass goggles,或移动VR设备,诸如三星的Gear VR或谷歌的Cardboard。将理解的是,显示器可以不必是头戴式的,而是例如独立的全息显示器或类CAVE系统。
图8示出了暂态或非暂态计算机可读介质,例如光盘900。用于实施如参考图5a和图5b所展示的方法中的一个或多个方法的针对计算机的指令(例如,可执行代码)可以例如以一系列机器可读物理标记910的形式和/或作为一系列具有不同电(例如,磁或光)属性或值的元件的形式存储在计算机可读介质900上。可执行代码可以以暂态或非暂态的方式存储。计算机可读介质的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。
图9示出了框图,展示了可以在如上所述的处理器系统或服务器系统的实施例中使用的示例性数据处理系统。这种数据处理系统包括在本披露中描述的数据处理实体,包括但不限于用于生成3D对象数据的处理器系统或者用于生成标定数据的服务器系统。数据处理系统1000可以包括通过系统总线1006耦合至存储器元件1004的至少一个处理器1002。这样,数据处理系统可以在存储器元件1004内存储程序代码。进一步地,处理器1002可以执行经由系统总线1006从存储器元件1004访问的程序代码。在一方面,数据处理系统可以被实施为适合于存储和/或执行程序代码的计算机。然而,将认识到,数据处理系统1000可以以包括能够执行本说明书中描述的功能的处理器和存储器的任何系统的形式实施。
存储器元件1004可以包括一个或多个物理存储器设备,诸如例如,本地存储器1008和一个或多个大容量存储设备1010。本地存储器可以指在程序代码的实际执行期间通常使用的随机存取存储器或其他(多个)非持久性存储器设备。大容量存储设备可以被实施为硬盘驱动器、固态硬盘或其他持久性数据存储设备。处理系统1000还可以包括一个或多个高速缓存存储器(未示出),这些高速缓存存储器提供至少一些程序代码的临时存储,以便减少在执行期间必须从大容量存储设备1010检索程序代码的次数。
被描绘为输入设备1012和输出设备1014的输入/输出(I/O)设备可以可选地耦合至数据处理系统。输入设备的示例可以包括但不限于,例如,麦克风、键盘、诸如鼠标等定点设备、触摸屏等。输出设备的示例可以包括但不限于,例如,监视器或显示器、扬声器等。输入设备和/或输出设备可以直接或通过中间I/O控制器耦合至数据处理系统。网络接口1016还可以耦合至数据处理系统或者作为数据处理系统的一部分,以使其能够通过中间私有或公共网络耦合至其他系统、计算机系统、远程网络设备和/或远程存储设备。网络接口可以包括用于接收由所述系统、设备和/或网络向所述数据传输的数据的数据接收器和用于向所述系统、设备和/或网络传输数据的数据发射器。调制解调器、电缆调制解调器和以太网卡是可以与数据处理系统1000一起使用的不同类型的网络接口的示例。
如图7所示,存储器元件1004可以存储应用程序1018。应当理解,数据处理系统1000可以进一步执行能够促进应用程序的执行的操作系统(未示出)。以可执行程序代码的形式实施的应用程序可以由数据处理系统1000(例如,由处理器1002)执行。响应于执行应用程序,数据处理系统可以被配置为执行如上文进一步详细描述的一个或多个操作。
在权利要求中,置于括号间的任何附图标记不应被解释为限制权利要求。动词“包括(comprise)”及其词形变化的使用不排除权利要求中所述的元件或步骤之外的元件或步骤的存在。元件前面的冠词“一个(a)”或“一种(an)”不排除存在多个这种元件。本发明可以通过包括若干不同元件的硬件以及通过适当编程的计算机来实施。在列举了若干装置的设备权利要求中,这些装置中的若干装置可以由同一个硬件项具体化。在相互不同的从属权利要求中陈述某些措施这一事实,并不表示不能有利地使用这些措施的组合。
参考文献
[1]Alexiadis,D.S.,Zarpalas,D.和Daras,P.(2013).Real-time,full 3-Dreconstruction of moving foreground objects from multiple consumer depthcameras[对来自多个消费者深度相机的移动前景对象的实时全3D重构].IEEETransactions on Multimedia[IEEE多媒体会刊],15(2),339-358.
[2]Mielczarek,A.,Makowski,D.,Perek,P.,Napieralski,A.和Sztoch,P.(2016年6月).FPGA-based image analyzer for calibration of stereo vision rigs[用于立体视觉设备标定的基于FPGA的图像分析器].In Real Time Conference(RT)[实时会议],2016IEEE-NPSS(pp.1-2).IEEE.
[3]Doubek,P.,Svoboda,T.和Van Gool,L.(2003年4月).Monkeys—a softwarearchitecture for ViRoom—low-cost multicamera system[猴子——针对ViRoom的软件架构——低成本多相机系统].In International Conference on Computer VisionSystems[计算机视觉系统国际会议](pp.386-395).Springer,Berlin,Heidelberg(柏林,海德尔堡市,施普林格出版公司).
[4]MPEG,Use cases and requirements for NBMP(v4)[NBMP的用例和要求(第4版)],2018年4月.https://mpeg.chiariglione.org/standards/mpeg-i/network-based-media-proc essing/use-cases-and-requirements-nbmp-v4
[5]Remondino,F.和Fraser,C.(2006年).Digital camera calibrationmethods:considerations and comparisons[数码相机标定方法:思考与比较].International Archives of Photogrammetry,Remote Sensing and SpatialInformation Sciences[国际摄影测量、遥感和空间信息科学档案],36(5),266-272.
[6]Remondino,F.,Spera,M.G.,Nocerino,E.,Menna,F.和Nex,F.(2014年).Stateof the art in high density image matching[高密度图像匹配的最新技术].ThePhotogrammetric Record[摄影测量记录],29(146),144-166.
Claims (18)
1.一种用于对来自物理空间中的相机的图像数据进行处理以对3D虚拟环境中的虚拟对象进行渲染的处理器系统,
该虚拟对象表示该物理空间中的对象,
该处理器系统被布置成经由网络与包括处理资源的服务器系统通信,其中,该处理器系统包括
-网络接口,用于经由该网络来交换数据;
-到该相机的捕获接口;
-到该物理空间中的第二设备的第二设备接口;
该相机在该物理空间中具有相机姿态,并且该第二设备在该物理空间中具有第二姿态,该第二姿态不同于该相机姿态;以及
-处理器,该处理器被配置为
-经由该捕获接口从该相机获得该物理空间的图像数据;
-经由该第二设备接口获得该第二设备的第二数据;
-向该服务器系统发送该图像数据、该第二数据和标定命令;
-根据该标定命令从该服务器系统接收标定数据,该标定数据指示该相机姿态和该第二姿态;
-通过基于该标定数据对该图像数据进行处理来生成该对象的3D对象数据,该3D对象数据被提供用于对该3D虚拟环境中的该虚拟对象进行渲染。
2.如权利要求1所述的处理器系统,其中,
该第二设备包括以下各项中的至少一项
-头戴式显示器;
-用户交互设备,用于感测用户在该物理空间中的移动;
并且该处理器被配置为
-获得关于该第二设备在该物理空间中的位置或取向的数据作为该第二数据,该数据包括以下各项中的至少一项
-该第二设备的位移距离;
-该第二设备的位移方向;
-该第二设备的旋转角度;
-该第二设备的旋转方向。
3.如权利要求1或2所述的处理器系统,其中,该第二设备包括头戴式显示器,并且该对象包括该物理空间中佩戴该头戴式显示器的人的至少一部分,并且该处理器被配置为通过对该图像数据进行处理以确定该头戴式显示器的姿态来生成该人的位置数据和/或取向数据作为该3D对象数据,该3D对象数据被提供用于渲染作为该3D虚拟环境中的虚拟对象的自视图。
4.如前述权利要求中任一项所述的处理器系统,其中,
该第二设备包括以下各项中的至少一项
-第二相机;
-深度相机;
并且该处理器被配置为
-获得以下各项中的至少一项作为该第二数据
-该物理空间的第二图像数据;
-该物理空间的深度数据。
5.如前述权利要求中任一项所述的处理器系统,其中,
该处理器被配置为
-获得指示该相机或该第二设备的至少一个参数的元数据;以及
-将该元数据包括在该标定命令中。
6.如权利要求5所述的处理器系统,其中,
该元数据包括静态设备参数,该静态设备参数包括设备类型、镜头参数、镜头畸变数据、图像传感器分辨率、深度传感器分辨率、设备数据传输格式中的至少一者;或者
该元数据包括动态设备参数,该动态设备参数包括焦距参数、倾斜参数、摇摄参数、相机聚焦参数、相机光圈参数、同步数据中的至少一者。
7.如前述权利要求中任一项所述的处理器系统,其中,该处理器被配置为确定对参考标定数据的需要,
该参考标定数据包括以下各项中的至少一项
-该物理空间在没有该对象的情况下的参考视图;
-该物理空间中的固定元素;
-该物理空间中的可视标记;
-该物理空间中的预定义对象;
并且该处理器被配置为
将关于所述对参考标定数据的需要的请求包括在该标定命令中。
8.如前述权利要求中任一项所述的处理器系统,其中,该处理器被配置为在接收到早期标定的标定数据之后确定对重新标定的需要,该需要包括以下各项中的一项
-根据该早期标定来检测该相机相对于该相机姿态的移动;
-检测该第二设备的移动;
-在该物理空间中添加另一设备,该另一设备能够提供另一图像数据、深度数据或关于该另一设备在该物理空间中的位置或取向的数据;
并且该处理器被配置为
-将关于所述对重新标定的需要的请求包括在该标定命令中。
9.如前述权利要求中任一项所述的处理器系统,其中,该处理器被配置为在接收到早期标定的标定数据之后,
-从该服务器系统接收重新标定数据;并且
-使用该重新标定数据对该图像数据进行处理以获得该对象的图像数据。
10.一种用于对来自物理空间中的相机的图像数据进行处理以对3D虚拟环境中的虚拟对象进行渲染的服务器系统,该虚拟对象表示该物理空间中的对象,
该相机在该物理空间中具有相机姿态,并且该第二设备在该物理空间中具有第二姿态,该第二姿态不同于该相机姿态;
该服务器系统被布置成经由网络与处理器系统通信,
其中,该服务器系统包括
-网络接口,用于经由该网络来交换数据,以及
-处理资源,该处理资源被配置为
-经由该网络接口接收由该相机获得的该物理空间的图像数据、该物理空间中的第二设备的第二数据、以及来自该处理器系统的标定命令;
-根据该标定命令对该图像数据和该第二数据进行处理以生成指示该相机姿态和该第二姿态的标定数据;以及
-经由该网络接口向该处理器系统发送该标定数据。
11.如权利要求10所述的服务器系统,其中,该处理资源被配置为在早期标定之后确定对重新标定的需要,该需要包括以下各项中的一项
-接收指示该对重新标定的需要的重新标定命令;
-根据该早期标定来检测该相机相对于该相机姿态的移动;
-根据该早期标定来检测该第二设备相对于该第二姿态的移动;
-在该物理空间中添加另一设备,该另一设备能够提供关于该物理空间的另一数据;
并且该处理资源被配置为
-对该图像数据和该第二数据进行处理以生成指示该相机姿态和该第二姿态的重新标定数据;并且
-向该处理器系统发送该重新标定数据。
12.如权利要求10或11所述的服务器系统,其中,该处理资源被配置为在接收到监测命令时,
-监测来自该相机或该第二设备的关于该物理空间的数据流;
-基于该数据流和该标定数据确定对重新标定的需要;
-进行重新标定以生成重新标定数据,以用于向该处理器系统发送该重新标定数据。
13.如权利要求10、11或12所述的服务器系统,其中,
该图像数据包括第一时刻的第一图像和第二时刻的第二图像,并且该第二数据指示该第二设备从该第一时刻的第二姿态到该第二时刻的后续第二姿态的实际移动,并且
该处理资源被配置为
-检测如该图像数据中表示的、该第二设备的实际移动;
-从如所表示的该实际移动得到至少一个相机参数;并且
-使用如所得到的该相机参数生成该标定数据。
14.如前述权利要求10至13中任一项所述的服务器系统,其中,处理资源被配置为
确定参考标定数据,该参考标定数据包括以下各项中的至少一项
-该物理空间在没有该对象的情况下的参考视图;
-该物理空间中的固定元素;
-该物理空间中的可视标记;
-该物理空间中的预定义对象,
并且向该处理器系统发送该参考标定数据。
15.一种针对用于对来自物理空间中的相机的图像数据进行处理以对3D虚拟环境中的虚拟对象进行渲染的处理器系统的处理方法,该虚拟对象表示该物理空间中的对象,
该处理器系统被布置成经由网络与服务器系统通信,该相机在该物理空间中具有相机姿态,并且该第二设备在该物理空间中具有第二姿态,该第二姿态不同于该相机姿态;
其中,该方法包括:
-从该相机获得该物理空间的图像数据;
-获得该第二设备的第二数据;
-向该服务器系统发送该图像数据、该第二数据和标定命令;
-根据该标定命令从该服务器系统接收标定数据,该标定数据指示该相机姿态和该第二姿态;以及
-通过基于该标定数据对该图像数据进行处理来生成该对象的3D对象数据,该3D对象数据被提供用于对该3D虚拟环境中的该虚拟对象进行渲染。
16.一种针对用于对来自物理空间中的相机的图像数据进行处理以对3D虚拟环境中的虚拟对象进行渲染的服务器系统的处理方法,该虚拟对象表示该物理空间中的对象,
该服务器系统被布置成经由网络与处理器系统通信,其中,该方法包括:
-接收由该相机获得的该物理空间的图像数据、该物理空间中的第二设备的第二数据、以及来自该处理器系统的标定命令;
-根据该标定命令对该图像数据和该第二数据进行处理以生成指示该相机姿态和该第二姿态的标定数据;以及
-向该处理器系统发送该标定数据。
17.一种包括计算机程序的暂态或非暂态计算机可读介质,该计算机程序包括用于使处理器执行根据权利要求15至16中任一项所述的方法的指令。
18.一种要在如权利要求1所述的处理器系统与如权利要求10所述的服务器系统之间传输的信号数据,该信号数据被构造为承载该标定命令或该标定数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18215277 | 2018-12-21 | ||
EP18215277.7 | 2018-12-21 | ||
PCT/EP2019/085531 WO2020127185A1 (en) | 2018-12-21 | 2019-12-17 | Cloud-based camera calibration |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113454685A true CN113454685A (zh) | 2021-09-28 |
Family
ID=65011744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980092470.6A Pending CN113454685A (zh) | 2018-12-21 | 2019-12-17 | 基于云的相机标定 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220067974A1 (zh) |
EP (1) | EP3899870A1 (zh) |
CN (1) | CN113454685A (zh) |
WO (1) | WO2020127185A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210081939A (ko) * | 2019-12-24 | 2021-07-02 | 엘지전자 주식회사 | Xr 디바이스 및 그 제어 방법 |
US11689439B2 (en) * | 2020-09-28 | 2023-06-27 | Rockwell Automation Technologies, Inc. | Method and apparatus for communication with a motor or load mounted device in motion applications |
US20210118182A1 (en) * | 2020-12-22 | 2021-04-22 | Intel Corporation | Methods and apparatus to perform multiple-camera calibration |
CN114812381B (zh) * | 2021-01-28 | 2023-07-18 | 华为技术有限公司 | 电子设备的定位方法及电子设备 |
CN113156822B (zh) * | 2021-04-22 | 2022-08-26 | 重庆大学 | 基于Mist-边缘-雾-云计算的热误差预测系统及热误差补偿系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5067477B2 (ja) * | 2010-12-28 | 2012-11-07 | カシオ計算機株式会社 | 撮像パラメータ取得装置、撮像パラメータ取得方法、及び、プログラム |
US9940535B1 (en) * | 2017-09-07 | 2018-04-10 | Symbol Technologies, Llc | Imaging-based sensor calibration |
-
2019
- 2019-12-17 WO PCT/EP2019/085531 patent/WO2020127185A1/en unknown
- 2019-12-17 EP EP19817779.2A patent/EP3899870A1/en active Pending
- 2019-12-17 US US17/414,804 patent/US20220067974A1/en active Pending
- 2019-12-17 CN CN201980092470.6A patent/CN113454685A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2020127185A1 (en) | 2020-06-25 |
US20220067974A1 (en) | 2022-03-03 |
EP3899870A1 (en) | 2021-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6643357B2 (ja) | 全球状取込方法 | |
US10116922B2 (en) | Method and system for automatic 3-D image creation | |
CN113454685A (zh) | 基于云的相机标定 | |
US10681276B2 (en) | Virtual reality video processing to compensate for movement of a camera during capture | |
US11640694B2 (en) | 3D model reconstruction and scale estimation | |
JP2018522429A (ja) | パノラマバーチャルリアリティコンテンツのキャプチャおよびレンダリング | |
US11037321B2 (en) | Determining size of virtual object | |
GB2591857A (en) | Photographing-based 3D modeling system and method, and automatic 3D modeling apparatus and method | |
JPWO2012147363A1 (ja) | 画像生成装置 | |
CN108961423B (zh) | 虚拟信息处理方法、装置、设备及存储介质 | |
KR102197615B1 (ko) | 증강 현실 서비스를 제공하는 방법 및 증강 현실 서비스를 제공하기 위한 서버 | |
WO2021104308A1 (zh) | 全景深度测量方法、四目鱼眼相机及双目鱼眼相机 | |
CN110969706B (zh) | 增强现实设备及其图像处理方法、系统以及存储介质 | |
KR101725024B1 (ko) | 룩업테이블 기반의 실시간 360도 vr 동영상 제작 시스템 및 이를 이용한 360도 vr 동영상 제작 방법 | |
US11430178B2 (en) | Three-dimensional video processing | |
JP2018033107A (ja) | 動画の配信装置及び配信方法 | |
WO2023088127A1 (zh) | 室内导航方法、服务器、装置和终端 | |
JP2016070884A (ja) | 映像データ処理方法、映像データ処理装置及び映像データ処理プログラム | |
TW202037151A (zh) | 影像處理系統及影像處理方法 | |
US20210037230A1 (en) | Multiview interactive digital media representation inventory verification | |
WO2017057426A1 (ja) | 投影装置、コンテンツ決定装置、投影方法、および、プログラム | |
TWI659393B (zh) | 多鏡頭影像深度之3d空間繪製系統 | |
US11615582B2 (en) | Enclosed multi-view visual media representation | |
US20240087157A1 (en) | Image processing method, recording medium, image processing apparatus, and image processing system | |
JP2018137679A (ja) | 画像処理装置、画像処理プログラム、及び、画像処理方法 |
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 |