CN112805748B - 使用深度提示对深度估计模型的自我监督训练 - Google Patents
使用深度提示对深度估计模型的自我监督训练 Download PDFInfo
- Publication number
- CN112805748B CN112805748B CN202080005441.4A CN202080005441A CN112805748B CN 112805748 B CN112805748 B CN 112805748B CN 202080005441 A CN202080005441 A CN 202080005441A CN 112805748 B CN112805748 B CN 112805748B
- Authority
- CN
- China
- Prior art keywords
- image
- depth
- value
- cue
- pixel
- 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
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- 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/261—Image signal generators with monoscopic-to-stereoscopic image conversion
- H04N13/268—Image signal generators with monoscopic-to-stereoscopic image conversion based on depth image-based rendering [DIBR]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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
-
- 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/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- 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/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0081—Depth or disparity estimation from stereoscopic image signals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
公开了一种用于使用深度提示训练深度估计模型的方法。针对每个图像对:针对第一图像,通过深度估计模型确定深度预测以及获取深度提示;将第二图像投影到第一图像上,以基于深度预测生成合成帧,以及再次基于深度提示生成提示合成帧;利用合成帧计算一次损失;利用提示合成帧计算提示损失;并且基于每像素确定,针对图像对计算总体损失,其中如果提示损失小于一次损失,则总体损失包括一次损失和在深度预测与深度提示之间的监督深度损失。通过使图像对的总体损失最小化来训练深度估计模型。
Description
相关申请的交叉引用
本申请要求于2019年5月2日提交的美国临时申请No.62/842,531的权益,该临时申请的全部内容通过引用合并于此。
技术领域
所描述的主题总体上涉及从单色输入图像估计深度图,并且尤其涉及训练机器学习模型以便估计使用由另一模型提供的深度提示而训练的深度图。
背景技术
深度感测在导航和场景理解这两方面都有应用。很多方法使用已训练模型或网络来从单色输入图像确定深度图。存在使用不同种类的训练数据来训练深度估计系统的一些方法。可以使用检测和测距系统来训练深度估计系统,以针对与由相机获取的与同一场景的图像配对的环境中的对象建立地面真值深度(即,无线电检测和测距(RADAR)、光检测和测距(LIDAR)等)。尽管检测和测距系统可以提供对象深度的地面真值,但是不断利用检测和测距系统来感测很多不同环境的深度可能是一种在时间和资源方面昂贵的尝试。此外,检测和测距系统不能确定具有其材料性质可以使得检测和测距系统无法检测到它们的一些对象(例如,反射性对象)的深度。
训练深度估计系统的另一种方法是利用同一场景的立体图像对。在单个时刻捕获立体图像对取决于使用两个聚焦在同一场景上但相距一定距离的相机。深度估计系统通过从立体图像对中的一个立体图像投影到另一立体图像来进行操作。为了彼此投影,除了视差(深度的比例反比)和两个图像之间的姿势(即,用于获取立体图像对的两个相机的视角之间的变换矩阵),深度估计系统还要考虑当前立体图像。在与所捕获的立体图像相比使投影的光度重构误差最小化时,深度估计系统可以确定场景的深度。
其他方法利用不断变化的场景的单目视频数据来训练深度估计系统。深度估计系统通过以下方式进行训练:将单目视频数据中的一个时间图像投影到后续时间图像,同时使光度重构误差最小化。但是,这样的系统可能会不准确地解释从一个时间图像到另一时间图像进入或离开视图的对象,这会导致深度图和深度图边界附近出现伪影。此外,传统系统当前在对深度图进行向上采样之前输入用于确定深度图的低分辨率图像,这易于产生深度向上采样伪影。
光度误差可以使用各种度量来测量,诸如L1距离、L2距离、结构不相似性(DSSIM)距离或这些距离的组合。自我监督训练的缺点是,找到最佳深度值通常很困难,尤其是在针对多个深度值而言光度损失可能较低的情况下。因此,训练更加困难,这可能导致预测的准确性较低。
发明内容
本公开描述了使用作为模型的当前预测的备选方案的深度提示来训练深度估计模型。如果针对像素的深度提示所导致的重新投影(例如,较低的光度重构误差)好于从正在训练的模型针对该像素输出的深度,则使用深度预测和提示(例如,与模型的输出相结合)来计算像素对损失的贡献。如果深度提示不能导致更好的重新投影,则训练将忽略深度提示并且根据从模型输出的深度确定像素对损失的贡献。训练过程根据损失(例如,使用反向传播)更新模型。与仅使用常规训练过程相比,使用这些深度提示可以改善训练过程的性能。深度提示可以从例如由外部系统训练的交替训练的深度估计模型获取。
训练系统依赖于使用训练图像数据的自我监督训练算法。与有监督训练相反,自我监督训练不需要地面真值深度。训练图像数据可以被划分成图像对。图像对可以是由双目相机系统捕获的真实立体图像对和/或来自由具有至少一个相机的系统捕获的单目视频数据的时间上不同的帧的伪立体图像对。训练系统输入来自图像对中的第一训练图像以确定针对第一训练图像的初始深度预测。训练系统将来自图像对中的第二训练图像投影到在图像对中的第一训练图像上,以至少基于第一训练图像的深度预测以及在两个训练图像之间的姿势来生成合成帧。训练系统第二次将第二训练图像投影到第一训练图像上,以基于深度提示而不是第一训练图像的深度预测来生成提示合成帧。姿势可以从用于获取训练图像的相机的已知位置(例如,相机在双目相机系统中的已知位置)知道。否则,姿势可以通过姿势估计模型或深度姿势混合模型来估计,例如在利用单目视频数据的情况下,其中时间上相邻的帧构成伪立体图像对。
投影过程的准确度至少基于第一训练图像的深度预测的准确度。这样,可以根据在合成帧与其对应训练图像之间的光度重构误差来定义一次损失。可以根据在提示合成帧与对应训练图像之间的光度重构误差来定义提示损失。图像对的总体损失是所有像素的损失贡献的总和。如上所述,训练系统可以在每像素的基础上比较一次损失和提示损失,以确定该像素对总体损失的贡献。如果一次损失值在像素处小于或等于提示损失值,则训练系统会忽略来自深度提示的提示损失并且对总体损失的贡献是该像素的一次损失值。如果提示损失值在像素处小于一次损失值,则对总体损失的贡献基于一次损失值以及在该像素的深度预测值与该像素的深度提示之间的监督深度损失。在一个实施例中,贡献是一次损失值的总和,监督深度损失是在模型的深度预测与该像素处的深度提示之间的绝对差。
在利用立体图像数据进行训练的实施例中,深度提示用于将每个立体图像投影到立体图像对中的另一立体图像上,以生成提示合成帧。深度提示可以从备选训练的深度估计模型(例如,被配置为输入立体图像以及输出单个深度图的立体深度模型)获取。深度提示也可以从同时定位和绘图(SLAM)模块获取,该SLAM模块被配置为至少基于图像数据和一些定位数据(例如,全局坐标、加速度数据、里程计数据等)同时生成地图以及在所生成的地图内定位客户端设备。
在利用单目视频数据进行训练的实施例中,可以在一个时间图像到另一时间图像上的投影期间使用深度提示和/或姿势提示,以生成提示合成帧。深度提示可以如上所述获取。姿势提示可以从备选训练的姿势估计模型中获取。
附图说明
图1示出了根据一个或多个实施例的联网计算环境。
图2描绘了根据一个或多个实施例的具有与真实世界平行的地理环境的虚拟世界的表示。
图3描绘了根据一个或多个实施例的平行现实游戏的示例性游戏界面。
图4是描述根据一个或多个实施例的利用立体图像数据和深度提示来训练深度估计模型的一般过程的流程图。
图5是描述根据一个或多个实施例的在增强现实应用中使用深度提示训练的深度估计模型的示例使用的流程图。
图6示出了根据一个或多个实施例的适用于训练或应用深度估计模型的示例计算机系统。
附图和以下描述仅通过说明的方式描述了某些实施例。本领域技术人员将从下面的描述中容易地认识到,在不脱离所描述的原理的情况下,可以采用结构和方法的替代实施例。现在将参考几个实施例,其示例在附图中示出。
具体实施方式
示例性的基于位置的平行现实游戏系统
各种实施例在平行现实游戏的背景中描述,该平行现实游戏包括在虚拟世界地理环境中的增强现实内容,该虚拟现实地理环境与真实世界地理环境的至少一部分平行,使得玩家在真实世界中的移动和动作影响在虚拟世界中的动作,反之亦然。使用本文中提供的公开内容,本领域普通技术人员将理解的是,所描述的主题适用于需要根据图像数据确定深度信息的其他情况。另外,基于计算机的系统的固有灵活性允许在系统的组件之间和之中进行任务和功能的多种可能的配置、组合和划分。例如,根据本公开的各方面的系统和方法可以使用单个计算设备或跨多个计算设备(例如,在计算机网络中连接)来实现。
图1示出了根据一个或多个实施例的联网计算环境100。联网计算环境100提供了虚拟世界中的玩家的交互,该虚拟世界具有与真实世界平行的地理环境。特别地,在真实世界中的地理区域可以被直接链接或绘图到虚拟世界中的对应区域。玩家可以通过移动到真实世界中的各个地理位置来在虚拟世界中移动。例如,玩家在真实世界中的位置可以被跟踪、并且用于更新玩家在虚拟世界中的位置。通常,玩家在真实世界中的位置是通过找到玩家正在通过其与虚拟世界交互的客户端设备120的位置来确定的,并且假定玩家处于相同(或近似相同)的位置。例如,在各种实施例中,如果玩家在真实世界中的位置处于真实世界位置的阈值距离(例如,十米、二十米等)之内,则玩家可以与虚拟元素交互,真实世界中的该位置对应于虚拟世界中虚拟元素的虚拟位置。为了方便起见,参考“玩家的位置”描述各种实施例,但是本领域技术人员将理解,这样的引用可以是指玩家的客户端设备120的位置。
现在参考图2,图2描绘了根据一个实施例的与可以充当平行现实游戏的玩家的游戏板的真实世界200平行的虚拟世界210的概念图。如图所示,虚拟世界210可以包括与真实世界200的地理环境平行的地理环境。具体地,定义在真实世界200中的地理区域或空间的坐标范围被绘图到定义在虚拟世界210中的虚拟空间的对应坐标范围。在真实世界200中的坐标范围可以与城镇、街区、城市、校园、场所、国家、大陆、整个地球或其他地理区域相关联。地理坐标范围内的每个地理坐标被绘图到虚拟世界中的虚拟空间中的对应坐标。
玩家在虚拟世界210中的位置与在玩家真实世界200中的位置相对应。例如,位于真实世界200中的位置212的玩家A在虚拟世界210中具有对应位置222。类似地,位于真实世界中的位置214的玩家B在虚拟世界中具有对应位置224。当玩家在真实世界中的地理坐标范围内移动时,玩家也在定义虚拟世界210中的虚拟空间的坐标范围内移动。特别地,当玩家在真实世界中的地理坐标范围内导航时,与由玩家携带的移动计算设备相关联的定位系统(例如,GPS系统)可以用来跟踪玩家的位置。与玩家在真实世界200中的位置相关联的数据用于更新玩家在定义虚拟世界210中的虚拟空间的对应坐标范围内的位置。以这种方式,通过简单地在真实世界200中的对应地理坐标范围内行进,玩家可以就沿着定义虚拟世界210中的虚拟空间的坐标范围内的连续轨迹导航,而无需在真实世界200中的特定离散位置处检入或周期性地更新位置信息。
基于位置的游戏可以包括多个游戏目标,该游戏目标要求玩家行进到分散在虚拟世界中的各个虚拟位置处的各个虚拟元素和/或虚拟对象和/或与之交互。玩家可以通过行进到真实世界中的虚拟元素或对象的对应位置来行进到这些虚拟位置。例如,定位系统可以连续地跟踪玩家的位置使得随着玩家在真实世界中连续导航,玩家也在平行虚拟世界中连续导航。然后,玩家可以在特定位置与各种虚拟元素和/或对象交互,以实现或执行一个或多个游戏目标。
例如,游戏目标中有玩家与位于虚拟世界210中的各个虚拟位置处的虚拟元素230交互。这些虚拟元素230可以链接到真实世界200中的地标、地理位置或对象240。真实世界地标或对象240可以是艺术品、纪念碑、建筑物、企业、图书馆、博物馆或其他合适的真实世界地标或对象。交互包括捕获、主张所有权、使用一些虚拟物品、花费一些虚拟货币等。为了捕获这些虚拟元素230,玩家必须在真实世界中进行到被链接到虚拟元素230的地标或地理位置240,并且必须执行与虚拟世界210中的虚拟元素230的任何必要的交互。例如,图2中的玩家A可能必须行进到真实世界200中的地标240,以便交互与该特定地标240链接的虚拟元素230或捕获该虚拟元素230。与虚拟元素230的交互可能需要真实世界中的动作,诸如获取照片和/或验证、获取或捕获关于与虚拟元素230相关联的地标或对象240的其他信息。
游戏目标可以要求玩家使用由玩家在基于位置的游戏中收集的一个或多个虚拟物品。例如,玩家可以在虚拟世界210中行进,以寻找对完成游戏目标有用的虚拟物品(例如,武器、生物、道具或其他物品)。这些虚拟物品可以通过行进到真实世界200中的不同位置、或通过在虚拟世界210或真实世界200任一者中完成各种动作来找到或收集。在图2所示的示例中,玩家使用虚拟物品232来捕获一个或多个虚拟元素230。特别地,玩家可以将虚拟物品232部署在虚拟世界210中靠近虚拟元素230或在虚拟元素230中的位置处。以这种方式部署一个或多个虚拟物品232可以引起针对特定玩家或针对特定玩家的团队/阵营的虚拟元素230的捕获。
在一个特定实现方式中,作为平行现实游戏的一部分玩家可能必须收集虚拟能量。如图2所示,虚拟能量250可以散布在虚拟世界210中的不同位置处。玩家可以通过进行到真实世界200中的虚拟能量250的对应位置来收集虚拟能量250。虚拟能量250可以用于为虚拟物品供能和/或在游戏中执行各种游戏目标。失去所有虚拟能量250的玩家可以被从游戏断开连接。
根据本公开的各方面,平行现实游戏可以是大型多玩家的基于位置的游戏,其中在游戏中的每个参与者共享同一虚拟世界。玩家可以被分为不同的团队或阵营,并且可以共同努力实现一个或多个游戏目标,诸如捕获或主张虚拟元素的所有权。以这种方式,平行现实游戏本质上可以是鼓励游戏内玩家之间合作的社交游戏。在平行现实游戏期间,来自相对团队的玩家可以互相对抗(或有时合作以达到共同的目标)。玩家可以使用虚拟物品攻击或阻碍相对团队的玩家的前进。在某些情况下,鼓励玩家聚集在真实世界位置处,以进行在平行现实游戏中的合作或互动事件。在这些情况下,游戏服务器试图确保玩家确实在场并且没有欺骗。
平行现实游戏可以具有各种特征以增强和鼓励平行现实游戏中的游戏玩法。例如,玩家可以积累在整个游戏中可以使用的虚拟货币或其他虚拟奖励(例如,虚拟代币、虚拟积分、虚拟材料资源等)(例如,以购买游戏中物品,兑换其他物品,制作物品,等等)。随着玩家完成一个或多个游戏目标并且在游戏中获取经验,玩家可以提升到各个级别。在一些实施例中,玩家可以通过在游戏中提供的一个或多个通信接口彼此通信。玩家还可以获取增强的“力量”或虚拟物品,其可以用于完成游戏中的游戏目标。使用本文中提供的公开内容,本领域普通技术人员应当理解的是,在不脱离本公开的范围的情况下,平行现实游戏可以包括各种其他游戏特征。
再次参考图1,联网计算环境100使用客户端-服务器架构,其中游戏服务器120通过网络105与客户端设备110通信,以向客户端设备110处的玩家提供平行现实游戏。联网计算环境100还可以包括其他外部系统,诸如赞助商/广告商系统或业务系统。尽管在图1中仅示出了一个客户端设备110,但是,任何数目的客户端110或其他外部系统可以通过网络105连接到游戏服务器120。此外,联网计算环境100可以包含不同或附加的元素,并且功能可以以与下文所述不同的方式分布在客户端设备110与服务器120之间。
客户端设备110可以是玩家可以用来与游戏服务器120接口的任何便携式计算设备。例如,客户端设备110可以是无线设备、个人数字助理(PDA)、便携式游戏设备、蜂窝电话、智能电话、平板计算机、导航系统、手持GPS系统、可穿戴计算设备、具有一个或多个处理器的显示器、或其他这样的设备。在另一实例中,客户端设备110包括常规计算机系统,诸如台式计算机或膝上型计算机。仍然,客户端设备110可以是具有计算设备的车辆。简而言之,客户端设备110可以是能够使得玩家能够与游戏服务器120交互的任何计算机设备或系统。作为计算设备,客户端设备110可以包括一个或多个处理器和一个或多个计算机可读存储介质。计算机可读存储介质可以存储引起处理器执行操作的指令。客户端设备110优选地是便携式计算设备,其可以容易地由玩家携带或运输,诸如是电话或平板计算机。
客户端设备110与游戏服务器120通信,以向游戏服务器120提供物理环境的感测数据。客户端设备110包括相机组件125,该相机组件125在客户端设备110所在的物理环境中捕获场景的二维图像数据。客户端设备110还包括深度估计模型130,该深度估计模型130是例如由游戏服务器120训练的机器学习模型。在图1所示的实施例中,每个客户端设备110包括诸如游戏模块135和定位模块140的软件组件。客户端设备110可以包括各种其他输入/输出设备,以用于从玩家接收信息和/或向玩家提供信息。示例输入/输出设备包括适合于语音识别的显示屏、触摸屏、触摸板、数据输入键、扬声器和麦克风。客户端设备110还可以包括用于记录来自客户端设备110的数据的其他各种传感器,包括但不限于运动传感器、加速度计、陀螺仪、其他惯性测量单元(IMU)、气压计、定位系统、温度计、光传感器等。客户端设备110还可以包括用于通过网络105提供通信的网络接口。网络接口可以包括用于与一个或多个网络接口的任何合适的组件,包括例如发射器、接收器、端口、控制器、天线或其他合适的组件。
相机组件125捕获客户端设备110所在的环境的场景的图像数据。相机组件125可以利用具有以不同的捕获率变化的颜色捕获范围的各种不同的光电传感器。相机组件125可以包含广角镜头或远距镜头。相机组件125可以被配置为捕获单个图像或视频作为图像数据。另外,相机组件125的取向可以平行于地面,其中相机组件125对准地平线。相机组件125捕获图像数据并且与客户端设备110上的计算设备共享图像数据。图像数据可以附加有描述图像数据的其他细节的元数据,包括感测数据(例如,温度、环境的亮度)或捕获数据(例如,曝光、暖度、快门速度、焦距、捕获时间等)。相机组件125可以包括可以捕获图像数据的一个或多个相机。在一个实例中,相机组件125包括一个相机,并且被配置为捕获单目图像数据。在另一实例中,相机组件125包括两个相机,并且被配置为捕获立体图像数据。在各种其他实现中,相机组件125包括多个相机,每个相机被配置为捕获图像数据。
深度估计模型130接收场景的输入图像,并且基于输入图像输出场景的深度图。深度估计模型130由深度估计训练系统170训练,并且可以由深度估计训练系统170更新或调节,这将在下面更详细地讨论。所接收的输入图像可以由相机组件125的相机或另一客户端设备110的另一相机捕获。在一些实施例中,所接收的输入图像具有附加到图像的元数据,该元数据指定输入图像的内参数。图像的内参数是指在捕获图像时相机的一个或多个几何性质,例如,在捕获图像时相机的焦距、相机的主点偏移、相机的偏斜等。利用该内参数,深度估计模型130可以生成考虑该内参数的内参数矩阵。在一些实施例中,深度估计模型130确定输入图像是否令人满意,例如高于阈值分辨率。如果否,则深度估计模型130可以执行一种或多种预处理技术,以确保输入图像令人满意,例如,在确定场景的深度图之前将输入图像上采样到期望分辨率。其他示例条件包括图像的对比度、纹理、色阶、另一特性等。深度估计模型130输入图像(在接收时或在预处理之后)并且确定场景的深度图。
深度估计模型130利用一种或多种机器学习算法来实现。可以用于深度估计模型130的机器学习算法包括神经网络、决策树、随机森林、回归器、聚类、其其他派生算法、或其某种组合。在一个或多个实施例中,深度估计模型130被构造为神经网络,该神经网络包括多个层,多个层至少包括被配置为接收输入图像的输入层和被配置为输出深度预测的输出层。每个层包括多个节点,每个节点由先前层中的一个或多个节点的加权组合定义。在由深度估计训练系统170进行的训练期间,确定定义输入层之后的节点的权重。在一个示例架构中,深度估计模型130可以包括被称为姿势编码器的第一层集合和被称为姿势解码器的第二层集合,该姿势编码器被配置为减小来自输入图像的维度以确定抽象深度特征,该姿势解码器被配置为从抽象深度特征增加维度以输出与输入图像相同维度的深度图。
游戏模块135为玩家提供用于参与平行现实游戏的接口。游戏服务器120通过网络105向客户端设备110传输游戏数据,以供由在客户端设备110处的游戏模块135使用,以向在远离游戏服务器120的位置处的玩家提供游戏的本地版本。游戏服务器120可以包括用于通过网络105提供通信的网络接口。网络接口可以包括用于与一个或多个网络接口的任何合适的组件,包括例如发射器、接收器、端口、控制器、天线或其他合适的组件。
由客户端设备110执行的游戏模块135在玩家与平行现实游戏之间提供接口。游戏模块135可以在与客户端设备110相关联的显示设备上呈现用户界面,该用户界面显示与游戏相关联的虚拟世界(例如,渲染虚拟世界的图像)并且允许用户在虚拟世界中进行交互以执行各种游戏目标。在一些其他实施例中,游戏模块135呈现来自真实世界的图像数据(例如,由相机组件125捕获),该图像数据利用来自平行现实游戏的虚拟元素被增强。在这些实施例中,游戏模块135可以根据从客户端设备110的其他组件接收的其他信息来生成虚拟内容和/或调节虚拟内容。例如,游戏模块135可以根据在图像数据中捕获的场景的深度图(例如,由深度估计模型130确定的)来调节虚拟对象以在用户界面上显示。
游戏模块135还可以控制各种其他输出以允许玩家与游戏交互,而无需玩家观看显示屏。例如,游戏模块135可以控制各种音频、振动或其他通知,这些通知允许玩家在不看显示屏的情况下玩游戏。游戏模块135可以访问从游戏服务器120接收的游戏数据,以向用户提供游戏的准确表示。游戏模块135可以接收和处理玩家输入并且通过网络105向游戏服务器120提供更新。游戏模块135还可以生成和/或调节要由客户端设备110显示的游戏内容。例如,游戏模块135可以基于深度信息(例如,由深度估计模型130确定的)生成虚拟元素。
定位模块140可以是用于监测客户端设备110位置的任何设备或电路装置。例如,定位模块140可以通过使用卫星导航定位系统(例如,GPS系统、伽利略定位系统、全球导航卫星系统(GLONASS)、北斗卫星导航和定位系统)、惯性导航系统、航位推算系统、基于IP地址、通过使用三角测量和/或到蜂窝塔或Wi-Fi热点的接近度、和/或用于确定位置的其他合适的技术来确定实际或相对位置。定位模块140还可以包括可以帮助准确地定位客户端设备110的位置的各种其他传感器。
当玩家在真实世界中与客户端设备110一起移动时,定位模块140跟踪玩家的位置并且将玩家位置信息提供给游戏模块135。游戏模块135基于玩家在真实世界中的实际位置来更新与游戏相关联的虚拟世界中的玩家位置。因此,玩家可以简单地通过在真实世界中携带或运输客户端设备110来与虚拟世界交互。特别地,玩家在虚拟世界中的位置可以对应于玩家在真实世界中的位置。游戏模块135可以通过网络105向游戏服务器120提供玩家位置信息。作为响应,游戏服务器120可以制定各种技术来验证客户端设备110的位置,以防止作弊者欺骗客户端设备110的位置。应当理解,与玩家相关联的位置信息只有在已经向玩家通知要访问玩家的位置信息并且将如何在游戏的背景中利用该位置信息(例如,以更新虚拟世界中的玩家位置)之后给予许可的情况下才被利用。另外,与玩家相关联的任何位置信息将以能够保护玩家隐私的方式来存储和维护。
游戏服务器120可以是任何计算设备,并且可以包括一个或多个处理器和一个或多个计算机可读存储介质。计算机可读存储介质可以存储引起处理器执行操作的指令。游戏服务器120可以包括游戏数据库115或可以与之通信。游戏数据库115存储在平行现实游戏中使用以通过网络105被服务或被提供给(一个或多个)客户端120的游戏数据。
存储在游戏数据库115中的游戏数据可以包括:(1)与平行现实游戏中的虚拟世界相关联的数据(例如,用于在显示设备上渲染虚拟世界的图像数据、虚拟世界中的位置的地理坐标等);(2)与平行现实游戏的玩家相关联的数据(例如,玩家简档,包括但不限于玩家信息、玩家经验等级、玩家货币、虚拟世界/真实世界中的当前玩家位置、玩家能量等级、玩家偏好、团队信息、阵营信息等);(3)与游戏目标相关联的数据(例如,与以下项相关联的数据:当前游戏目标、游戏目标的状态、过去游戏目标、未来游戏目标、期望游戏目标等);(4)与虚拟世界中的虚拟元素相关联的数据(例如,虚拟元素的位置、虚拟元素的类型、与虚拟元素相关联的游戏目标;虚拟元素的对应实际世界位置信息;虚拟元素的行为、虚拟元素的相关性等);(5)与真实世界对象、地标、链接到虚拟世界元素的位置相关联的数据(例如,真实世界对象/地标的位置、真实世界对象/地标的描述、链接到真实世界对象的虚拟元素的相关性等);(6)游戏状态(例如,当前玩家人数、游戏目标的当前状态、玩家排行榜等);(7)与玩家动作/输入相关联的数据(例如,当前玩家位置、过去玩家位置、玩家移动、玩家输入、玩家查询、玩家通信等);以及(8)在平行现实游戏的实现期间使用、涉及或获取的任何其他数据。存储在游戏数据库115中的游戏数据可以由系统管理员和/或由从系统100的用户/玩家(诸如通过网络105从客户端设备110)接收的数据离线或实时填充。
游戏服务器120可以被配置为从客户端设备110接收对游戏数据的请求(例如,经由远程过程调用(RPC))并且经由网络105响应这些请求。例如,游戏服务器120可以将游戏数据编码在一个或多个数据文件中,并且将数据文件提供给客户端设备110。此外,游戏服务器120可以被配置为经由网络105从客户端设备110接收游戏数据(例如,玩家位置、玩家动作、玩家输入等)。例如,客户端设备110可以被配置为周期性地向游戏服务器120发送玩家输入和其他更新,游戏服务器120使用该玩家输入和其他更新来更新游戏数据库115中的游戏数据,以反映游戏的任何和所有已改变的条件。
在所示的实施例中,服务器120包括通用游戏模块145、商业游戏模块150、数据收集模块155、事件模块160和深度估计训练系统170。如上所述,游戏服务器120与可以是游戏服务器120的一部分或可以远程访问的游戏数据库115交互(例如,游戏数据库115可以是经由网络105访问的分布式数据库)。在其他实施例中,游戏服务器120包含不同和/或附加的元素。另外,功能可以以与所描述的不同的方式在元素之间分配。例如,游戏数据库115可以被集成到游戏服务器120中。
通用游戏模块145为所有玩家主控平行现实游戏,并且为所有玩家充当平行现实游戏的当前状态的权威来源。作为主机,通用游戏模块145生成游戏内容以例如经由其相应客户端设备110呈现给玩家。通用游戏模块145还可以在主控平行现实游戏时访问游戏数据库115,以检索和/或存储游戏数据。针对平行现实游戏的所有玩家,通用游戏模块145还从客户端设备110接收游戏数据(例如,深度信息、玩家输入、玩家位置、玩家动作、地标信息等)并且将所接收的游戏数据并入整体平行现实游戏中。通用游戏模块145还可以管理游戏数据通过网络105向客户端设备110的传递。通用游戏模块145还可以管理客户端设备110的安全方面,包括但不限于保护在客户端设备110与游戏服务器120之间的连接,在各种客户端设备110之间建立连接,以及验证各种客户端设备110的位置。
在包括商业游戏模块150的实施例中,商业游戏模块150可以与通用游戏模块145分离或者作为其一部分。商业游戏模块150可以管理与真实世界中的商业活动链接的各种游戏特征在平行现实游戏中的合集。例如,商业游戏模块150可以通过网络105(经由网络接口)从诸如赞助商/广告商、企业或其他实体等外部系统接收用于将与商业活动链接的游戏特征包括在平行现实游戏中的请求。然后,商业游戏模块150可以布置这些游戏特征在平行现实游戏中的合集。
游戏服务器120还可以包括数据收集模块155。在包括数据收集模块155的实施例中,数据收集模块155可以与通用游戏模块145分离或者作为其一部分。数据收集模块155可以管理与真实世界中的数据收集活动链接的各种游戏特征在平行现实游戏中的合集。例如,数据收集模块155可以修改存储在游戏数据库115中的游戏数据以包括与平行现实游戏中的数据收集活动链接的游戏特征。数据收集模块155还可以分析由玩家根据数据收集活动而收集的数据并且提供数据以供各种平台访问。
事件模块160管理玩家对平行现实游戏中的事件的访问。尽管为了方便起见而使用术语“事件”,但是应当理解,该术语不必指代在特定位置或时间的特定事件。相反,它可以指代访问控制的游戏内容的任何供应,其中使用一个或多个访问标准来确定玩家是否可以访问该内容。这样的内容可以是较大的平行现实游戏的一部分,该较大的并行现实游戏包括具有较少访问控制或没有访问控制的游戏内容,或可以是独立的受访问控制的平行现实游戏。
深度估计训练系统170训练深度估计模型,例如提供给客户端设备110的深度估计模型130。深度估计训练系统170接收用于训练深度估计模型的图像数据。通常,深度估计训练系统170处理图像数据,将图像数据输入到深度估计模型中以生成深度预测,利用深度预测将一个训练图像投影到另一训练图像上,基于光度重构误差计算损失,并且反复调节深度估计模型的参数以使损失最小化。上面的一般过程描述了一种自我监督训练算法。通常,不像有监督训练算法一般所要求的那样,自我监督训练不需要地面真值深度即可进行训练。深度估计系统170部分地基于由另一模型(例如,现成的深度估计模型)提供的深度提示来训练模型。深度估计训练系统170还可以为深度估计模型定义误差阈值,该误差阈值可以用于确定深度估计模型在估计深度信息方面是否足够准确。由深度估计训练系统170进行的训练将在下面进一步描述。
一旦深度估计模型被训练,深度估计模型就接收图像数据并且基于图像数据输出环境的深度信息。深度估计训练系统170将已训练模型提供给客户端设备110。客户端设备110使用已训练模型来估计图像(例如,由设备上的相机捕获的)中的像素的深度。深度估计可以具有多种用途,诸如帮助虚拟内容的渲染以增强真实世界图像,辅助机器人导航,检测自动驾驶车辆的潜在危险,等等。
网络105可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)或其某种组合。网络还可以包括客户端设备110与游戏服务器120之间的直接连接。通常,游戏服务器120与客户端设备110之间的通信可以使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML、JSON)和/或保护方案(例如,VPN、安全HTTP、SSL)使用任何类型的有线和/或无线连接经由网络接口来承载。
本文中讨论的技术参考服务器、数据库、软件应用和其他基于计算机的系统、以及与这样的系统获取的行动和发送的信息。本领域普通技术人员将认识到,基于计算机的系统的固有灵活性允许组件之间的任务和功能的多种可能的配置、组合和划分。例如,本文中讨论的服务器进程可以使用单个服务器或组合工作的多个服务器来实现。数据库和应用可以在单个系统上实现,也可以分布在多个系统上。分布式组件可以顺序或平行操作。
另外,在本文中讨论的系统和方法访问和分析关于用户的个人信息或者使用诸如位置信息等个人信息的情况下,可以为用户提供控制程序或特征是否收集信息并且控制是否和/或如何从系统或其他应用接收内容的机会。直到已经向用户提供了有关要收集哪些信息以及如何使用该信息的有意义的通知,才收集或使用这样的信息或数据。除非用户提供同意(用户可以随时撤消或修改该同意),否则不会收集或使用该信息。因此,用户可以控制有关用户的信息如何收集以及如何由应用或系统使用。另外,某些信息或数据可以在存储或使用之前以一种或多种方式处理,因此可以删除个人身份信息。例如,可以处理用户的身份,使得无法确定该用户的个人身份信息。
示例性游戏界面
图3描绘了可以在客户端120的显示器上呈现的作为玩家与虚拟世界210之间的界面的一部分的游戏界面300的一个实施例。游戏界面300包括显示窗口310,该显示窗口310可以用于显示虚拟世界210和游戏的其他各个方面,诸如玩家位置222以及虚拟世界210中的虚拟元素230、虚拟物品232和虚拟能源250的位置。用户界面300还可以显示其他信息,诸如游戏数据信息、游戏通信、玩家信息、客户位置验证指令和与游戏相关联的其他信息。例如,用户界面可以显示玩家信息315,诸如玩家名称、经验等级和其他信息。用户界面300可以包括用于访问各种游戏设置和与游戏相关联的其他信息的菜单320。用户界面300还可以包括通信界面330,该通信界面330启用游戏系统与玩家之间以及平行现实游戏的一个或多个玩家之间的通信。
根据本公开的各方面,玩家可以通过简单地在真实世界中随身携带客户端设备120来与平行现实游戏交互。例如,玩家可以通过简单地访问与智能电话上的平行现实游戏相关联的应用并且与智能电话一起在真实世界中移动来玩游戏。在这点上,玩家不必为了玩基于位置的游戏而在显示屏上连续观看虚拟世界的视觉表示。结果,用户界面300可以包括允许用户与游戏交互的多个非视觉元素。例如,当玩家接近游戏中的虚拟元素或对象时,或者当在平行现实游戏中发生重要事件时,游戏界面可以向玩家提供可听通知。玩家可以使用音频控件340控制这些可听通知。可以根据虚拟元素或事件的类型向用户提供不同类型的可听通知。可听通知的频率或音量可以根据玩家到虚拟元素或对象的接近度而增大或减小。可以向用户提供其他非视觉通知和信号,诸如振动通知或其他合适的通知或信号。
使用本文中提供的公开内容,本领域普通技术人员将理解,根据该公开内容,很多游戏界面配置和底层功能将是很清楚的。本公开内容不旨在限于任何一种特定配置。
深度估计训练
深度估计训练系统170借助于深度提示来训练深度估计模型130,以供客户端设备110使用。以下段落描述依赖于立体图像数据、单目视频数据、深度提示、姿势提示或其某种组合的各种训练方法。深度提示是通过与深度估计模型130不同的方法而生成的深度图。一种这样的方法是从与深度估计模型130不同地训练的替代深度估计模型而生成深度图。例如,替代深度估计该模型可以由第三方系统训练为被配置为接收立体图像对并且基于立体图像对生成深度图的双目深度估计模型。另一种方法是在设备(例如,电话、自动驾驶汽车)上利用同时定位和映射(SLAM)模块生成深度图。不管深度提示如何生成,训练阶段都会产生被配置为接收输入图像并且基于输入图像输出深度图的已训练单目深度估计模型130。
通常,深度估计训练系统170利用耦合到图像对中的训练图像数据来训练。图像对可以是真实立体图像对或伪立体图像对。一方面,真实立体图像对包括由例如双目相机系统的两个不同相机相对同时捕获的两个图像。另一方面,伪立体图像对包括由单个相机捕获的两个时间上不同的帧(即,以不同时间戳捕获的),例如,来自由单目相机系统捕获的单目视频数据的两个时间上相邻的帧。针对真实立体图像对,图像对中的立体图像之间的姿势通常已知。针对伪立体图像对,两个帧之间的姿势通常不知道。姿势通常描述两个图像之间的相对位置。从数学上来说,姿势由图像的两个视角之间的变换矩阵定义的,该变换矩阵可以说明两个视角之间的平移和旋转。为了适应,除了深度估计模型,深度估计训练系统170还可以训练姿势估计模型。在一些实施例中,可以使用用于同时估计姿势和深度的单个深度姿势混合模型。于2019年11月21日公开的题为“Self-Supervised Training of aDepth Estimation System”的美国专利公开号2019/0356905 A1通过引用并入本文,并且进一步描述了与深度姿势混合模型有关的实施例。
在图1所示的实施例中,深度估计训练系统170包括深度预测模块175、提示模块180、图像合成模块185、损失计算模块190和训练模块195。在一些实施例中,深度估计训练系统170还包括执行其他操作的其他模块。在其他实施例中,深度估计训练系统170可以包括不同和/或附加的组件,例如,数据存储库、反馈模块、平滑模块等。例如,数据存储库可以存储训练数据或已训练参数。在另一示例中,平滑模块可以处理深度图;其一个示例是平滑深度图中的深度值。
深度预测模块175生成训练图像的深度预测。深度预测模块175将训练图像作为输入提供给深度估计模型130以生成训练图像的初始深度预测。深度预测是包括训练图像的每个像素的预测深度值的预测深度图。
提示模块180获取训练图像的深度提示。如上所述,深度提示可以通过一些方法来获取。在一种方法中,使用替代训练的深度估计模型(例如,具有相对较低计算资源需求的现成的深度估计模型)。在使用替代训练的立体深度估计模型的实施例中,提示模块180将训练图像对提供给替代训练的立体深度估计模型以生成深度提示。在另一种方法中,使用SLAM模块。在这样的实施例中,提示模块180获取由SLAM模块生成的深度提示。在任何其他方法中,提示模块180从生成深度提示的适当的模块、设备或系统获取深度提示。在一个或多个实施例中,提示模块180可以通过以上方法的某种组合获取多个深度提示。在一些实施例中,提示模块180获取姿势提示,该姿势提示可以用于训练伪立体图像对。姿势提示可以从替代训练的姿势估计模型、SLAM模块或某种其他定位模块中获取。
图像合成模块185通过将图像对中的一个训练图像投影到另一训练图像上来生成一个或多个合成帧。为了生成合成帧作为从图像对中的第二训练图像到第一训练图像的投影,图像合成模块185使用第二训练图像、第二训练图像的固有参数、两个训练图像之间的相对姿势、第一训练图像的深度图和第一训练图像的固有参数。通常,训练图像的固有参数是已知的,如由捕获训练图像的任何相机记录。图像的固有参数(也称为“内参数”)是指用于捕获该图像的相机的几何性质,例如,包括相机的焦距、相机的主点偏移、相机的偏斜。在某些情况下,内参数在所获取的所有图像之间针对每个相机可以是恒定的,或者随着相机在获取各种图像时调节其参数,内参数可以有所不同。无论哪种情况,内参数都可以表示为内参数矩阵。在投影真实立体图像时,图像合成模块185的姿势可以根据捕获真实立体图像的两个相机的配置而知道。在投影单目视频数据时,两个时间上不同的帧之间的姿势可以基于训练图像来估计,例如,通过姿势估计模型。
图像合成模块185通过首先使用由深度估计模型130输出的深度预测来生成模型合成帧。为了清楚起见,图像合成模块185使用由深度估计模型130为第一训练图像而输出的深度预测(诸如由深度预测模块175生成的深度预测)从训练图像对中的第二训练图像投影到第一训练图像上。
针对使用深度提示训练图像对,图像合成模块185使用深度提示生成提示合成帧。为了清楚起见,并且按照上段中的示例,图像合成模块185第二次使用由提示模块180获取的深度提示而不是深度预测来从训练图像对中的第二训练图像投影到第一训练图像上。作为具有已知姿势和深度提示的真实立体图像对的示例,图像合成模块185生成模型合成帧和提示合成帧。以类似的方式,为了生成具有姿势提示的提示合成帧,图像合成模块185在考虑到姿势提示而非由姿势估计模型估计的姿势的情况下从图像对中的一个训练图像投影到另一训练图像上。作为自然扩展,为了同时使用深度提示和姿势提示,图像合成模块185利用第一训练图像的深度提示和两个训练图像之间的姿势提示进行投影。针对具有深度提示和/或姿势提示的伪立体图像对的示例,图像合成模块185可以生成多个提示合成帧:根据深度提示生成第一提示合成帧,根据姿势提示生成第二提示合成帧,根据深度提示和姿势提示生成第三提示合成帧,或其某种组合。在具有多个一种类型的提示(例如,多个深度提示)的实施例中,图像合成模块185可以为每个深度提示生成一个或多个提示合成帧。
损失计算模块190计算用于训练深度估计模型130的总体损失。首先,损失计算模块190计算模型合成帧与对应训练图像之间的光度重构误差作为一次损失。一次损失包括训练在图像中每个像素处的一次损失值,该一次损失值描述根据该像素处的深度预测的光度重构的准确度。总体损失是所有像素的损失贡献的总和。针对没有深度提示的训练图像对,总体损失基于一次损失值的总和。例如,一次损失包括每个像素的一次损失值,使得每个像素对总体损失的贡献是一次损失值,导致训练图像对的总体损失是一次损失值的总和。
针对使用深度提示训练图像对,损失计算模块190在计算总体损失时还考虑提示损失。提示损失可以被计算为提示合成帧与对应训练图像之间的光度重构。提示损失包括每个像素的提示损失值。损失计算模块190在每个像素的基础上比较一次损失值和提示损失值。如果一次损失值在像素处小于或等于提示损失值(表明模型的深度预测比该像素处的深度提示的准确度更高或相同),则损失计算模块190将忽略该像素处的深度提示,并且该像素对总体损失的贡献基于深度预测,例如,贡献是一次损失值。如果提示损失值在像素处小于一次损失值(表明深度提示比该像素处的模型的深度预测更准确),则损失计算模块190考虑深度提示,并且该像素对总体损失的贡献基于深度预测和深度提示。在一个实施例中,像素的贡献(其提示损失小于一次损失)是一次损失值与该像素处的深度预测值与深度提示值之间的监督损失的总和。
光度重构误差的各种定义可以通过损失计算模块190来实现。在较高水平,深度的光度重构误差通常是根据深度而投影的合成帧的像素与与合成帧相对应的图像的像素之间的差。为像素处的深度而计算的光度重构误差的示例定义是L1距离、L2距离、结构差异(DSSIM)(其考虑两个图像之间的像素窗口,例如2×2、3×3、4×4等)、应用于其的一个或多个运算符、或其某种组合。以下提供用于光度重构的一个或多个定义的等式(pre):
计算为结构差异的像素i处的深度di的光度重构误差preDSSIM(di)是1减去以像素i为中心的两个图像I和的对应窗口之间的结构相似度计算的一半。SSIM(x,y)是用于都以像素i为中心的第一图像的窗口x与第二图像的对应窗口y之间的结构相似度的计算。μx是窗口x的平均值,而μy是窗口y的平均值。σx是窗口x的方差;σy是窗口y的方差;σxy是窗口x和y之间的协方差。c1和c2是用于除法的平滑因子,例如,基于像素值的动态范围来计算的。
如上所示,DSSIM+L1光度重构误差定义结合了DSSIM和L1的光度重构误差。其他实施例可以在DSSIM和L1的光度重构误差之间使用不同的百分比。
有监督深度损失的各种定义可以由损失计算模块190来实现。在较高水平,有监督深度损失是两个深度预测之间的差。示例包括L1距离、L2距离、两个深度值之间的L1距离的对数、应用于其的一个或多个运算符、或其某种组合。
训练模块195通过使总体损失最小化来训练深度估计模型130。训练模块195通过调节深度估计模型130的参数来进行训练以使每个训练图像对的总体损失最小化。训练模块195反向传播通过深度估计模型130,从而调节深度估计模型130的参数以使总体损失最小。在一些实施例中,训练模块195可以执行迭代批量训练,例如,针对训练图像对逐批深度估计模型130。用于训练的时期数确定向前和向后馈送训练图像数据通过深度估计模型130的实例数。在训练结束时,训练模块195可以利用具有地面真值深度数据的训练图像数据的保留集来验证深度估计模型130,以确定已训练深度估计模型130的准确性。
在利用训练图像训练其模型和模块之后,深度估计训练系统170可以为深度估计模型130提供参数,以接收颜色输入图像并且基于由深度估计训练系统170训练的参数来生成深度图。注意,尽管为了方便起见,深度估计训练系统170被示出为游戏服务器120的一部分,但是一些或全部模型可以由其他计算设备训练并且以各种方式提供给客户端设备110,包括作为操作系统的一部分,被包括在游戏应用中,或者按需在云中访问。
图4是描述根据一个或多个实施例的利用图像对来训练深度估计模型的一般过程400的流程图。过程400产生可以在给定输入图像的情况下生成深度图的已训练深度估计模型130。过程400由深度估计训练系统170完成,但更一般地可以由任何其他计算设备完成。
深度估计训练系统170访问410包括多个图像对的训练图像数据。图像对可以包括一个或多个真实立体图像对、一个或多个伪立体图像对或其某种组合。通常,在每个真实立体图像对之间的姿势是已知的,而伪立体图像对的姿势则被估计。
深度估计训练系统170对在其上训练的每个图像对执行操作420-480。
深度估计训练系统170利用深度估计模型针对图像对中的第一图像生成420深度预测。第一图像被输入到深度估计模型130中,以提取包括第一图像的每个像素的深度预测值的深度预测。在一或多个实施例中,深度预测模块175生成深度预测。
深度估计训练系统170获取430图像对中的第一图像的深度提示。深度提示可以通过贯穿本公开描述的各种方法中的任何一种获取。在一个实施例中,深度提示通过将图像对输入到替代训练的立体深度估计模型中来获取。其他方法包括从SLAM模块、LIDAR等获取深度提示。在一个或多个实施例中,提示模块180生成深度预测。
深度估计训练系统170通过基于深度预测将第二图像投影到第一图像上来生成模型合成帧。从第二图像到第一图像的投影还可以基于第一图像的第一组固有参数、第二图像的第二组固有参数和第一图像与第二图像之间的姿势。在一或多个实施例中,图像合成模块185完成投影。
深度估计训练系统170通过基于深度提示将第二图像投影到第一图像上来生成450提示合成帧。针对提示合成帧,投影依赖于深度提示而非深度预测。在利用姿势提示的实施例中,姿势提示用于生成附加的提示合成帧。在一或多个实施例中,图像合成模块185完成投影。
深度估计训练系统170利用模型合成帧来计算460一次损失。一次损失是基于模型合成帧和第一图像的比较的光度重构误差。深度预测的一次损失包括第一图像的每个像素的一次损失值。
深度估计训练系统170利用提示合成帧计算470提示损失。提示损失是基于提示合成帧与第一图像的比较的光度重构误差。深度提示的提示损失包括第一图像的每个像素的提示损失值。可以为附加的提示合成帧计算附加的提示损失,例如,一个提示合成帧基于姿势提示,另一提示合成帧基于深度提示和姿势提示,或者另一提示合成帧基于与第一深度提示不同地获取的第二深度提示。
深度估计训练系统170基于一次损失和提示损失来计算480总体损失。总体损失是来自第一图像的每个像素的贡献的总和。给定像素的贡献基于一次损失还是提示损失较小。如果一次损失在该像素处小于或等于提示损失,则像素对总体损失的贡献是一次损失值。如果提示损失在该像素处小于一次损失,则该像素对总体损失的贡献是一次损失值与该像素处的深度预测与深度提示之间的监督深度损失的总和。在一个实施例中,监督深度损失测量深度预测与深度提示之间的绝对差。在另一实施例中,监督深度损失测量深度预测与深度提示之间的绝对差的对数。在一个或多个实施例中,损失计算模块190计算一次损失、提示损失和总体损失。没有深度提示的任何训练图像对的总体损失可以仅基于一次损失,即,每个像素对训练图像对的总体损失的贡献是一次损失值。
深度估计训练系统170通过使图像对的总体损失最小化来训练490深度估计模型130。在使损失最小化时,深度估计训练系统170细化深度估计模型130的参数,以从单色输入图像估计深度。
深度估计模型
图5是描述根据一个或多个实施例的使用深度估计模型的一般过程500的流程图。过程500产生给定输入图像的深度图。过程500可以由具有已训练深度估计模型的客户端设备110来完成。客户端设备可以是通用计算设备,也可以具有相机。在一些实施例中,客户端设备在以上图1-3中所述的平行现实游戏中实现。尽管以下描述在客户端设备的背景内,但过程500可以在其他计算设备上执行。
客户端设备110接收510场景的图像。场景的图像可以由作为客户端设备110的组件或在客户端设备110外部的相机捕获。在平行现实游戏的背景中,场景可以是可以映射到虚拟世界中的虚拟位置的真实世界位置。场景的图像还可以具有与捕获图像的相机的几何性质相对应的内参数。图像可以是由相机捕获的单个图像。替代地,图像可以是由相机正在捕获的视频中的一帧。
客户端设备110将场景的图像输入520到已训练深度估计模型中。深度估计模型可以由深度估计系统170例如经由图4的过程400、图6的过程600或其某种组合来训练。深度估计模型接收场景的图像,并且在一些实施例中,还接收图像的内参数。
客户端设备110通过已训练深度估计模型生成530与场景的图像相对应的场景的深度图。深度图的每个像素具有深度值,该深度值描述场景的图像中的对应像素处的表面的相对距离。深度估计接收场景的图像并且基于针对深度估计模型而训练的参数来输出深度图。
客户端设备110可以对所生成的深度图执行各种附加操作。例如,客户端设备110可以是能够利用深度图在现实环境中导航的自动驾驶车辆。在另一示例中,客户端设备110是增强现实系统的一部分,并且可以呈现利用虚拟内容进行增强的真实世界图像。为了完成该任务,客户端设备110可以利用所生成的深度图来生成虚拟内容,从而导致虚拟内容以正确的深度与真实世界图像中的对象交互。下面例示用于生成增强内容的步骤。
在附加实施例中,客户端设备110基于场景的深度图生成540虚拟内容。虚拟内容可以来自例如存储在游戏数据库115中的用于平行现实游戏的内容。所生成的虚拟内容可以是可以被增强到场景的图像上的增强现实内容。例如,生成虚拟角色,该虚拟角色可以在了解场景的深度的情况下在场景中移动。在一个实例中,当虚拟角色在街道上朝着用户行走时,虚拟角色的尺寸可以增大。在另一实例中,虚拟角色可以躲在树后面,在那里,虚拟角色的一部分随后被树遮挡。
客户端设备110显示550利用虚拟内容进行增强的场景的图像。客户端设备包括电子显示器。电子显示器可以提供由相机捕获的具有增强的虚拟内容的恒定视频。
按照上面的示例,平行现实游戏可以提供与虚拟角色的交互作为目标。为了与虚拟角色交互,移动设备的用户可能需要四处移动其移动设备,同时将虚拟角色保持在相机的视场中。当用户四处移动移动设备时,随着场景随用户移动移动设备而变化,移动设备可以连续捕获视频或图像数据,这些视频或图像数据可以用于迭代地生成场景的深度信息。移动设备可以更新显示器上的视频馈送,同时还可以基于所生成的深度信息更新虚拟角色,以便用户将虚拟角色感知为始终在场景中适当地交互,例如,没有走过对象,不具有被切掉的部分并且没有任何对象遮挡这些部分,等等。
示例计算系统
图6是根据一个实施例的计算设备的示例架构。虽然图6描绘了高层框图,该高层框图示出了用作本文中描述的一个或多个实体的一部分或全部的计算机的物理组件,但是根据一个实施例,与图6中提供的相比,计算机可以具有更多组件、更少组件或组件变型。虽然图6描绘了计算机600,但是该图旨在作为计算机系统中可能存在的各种特征的功能描述,而不是作为本文中描述的实现的结构示意图。在实践中,并且如本领域普通技术人员所认识的,单独示出的项目可以组合,并且一些项目可以分离。
图6中示出了耦合到芯片组604的至少一个处理器602。存储器606、存储设备608、键盘610、图形适配器612、指针设备614和网络适配器616也耦合到芯片组604。显示器618耦合到图形适配器612。在一个实施例中,芯片组604的功能由存储器控制器集线器620和I/O集线器622提供。在另一实施例中,存储器606直接耦合到处理器602而不是芯片组604。在一些实施例中,计算机600包括用于将这些组件互连的一个或多个通信总线。一个或多个通信总线可选地包括互连并且控制系统组件之间的通信的电路装置(有时称为芯片组)。
存储设备608是任何非暂态计算机可读存储介质,诸如硬盘驱动器、光盘只读存储器(CD-ROM)、DVD或固态存储器设备或其他光学存储、盒式磁带、磁带、磁盘存储或其他磁性存储设备、磁盘存储设备、光盘存储设备、闪存设备、或者其他非易失性固态存储设备。这样的存储设备608也可以被称为持久性存储器。指针设备614可以是鼠标、跟踪球或其他类型的指针设备,并且与键盘610结合使用以将数据输入到计算机600中。图形适配器612在显示器618上显示图像和其他信息。网络适配器616将计算机600耦合到局域网或广域网。
存储器606保存由处理器602使用的指令和数据。存储器606可以是非持久性存储器,其示例包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、ROM、EEPROM、闪存。
如本领域中已知的,计算机600可以具有与图6所示的组件不同的组件和/或其他组件。另外,计算机600可以缺少某些示出的组件。在一个实施例中,充当服务器的计算机600可以缺少键盘610、指针设备614、图形适配器612和/或显示器618。此外,存储设备608可以在计算机600本地和/或远程(例如,体现在存储区域网络(SAN)中)。
如本领域中已知的,计算机600适于执行计算机程序模块以提供本文中描述的功能。如本文中使用的,术语“模块”是指用于提供指定功能的计算机程序逻辑。因此,模块可以用硬件、固件和/或软件来实现。在一个实施例中,程序模块存储在存储设备608上,被加载到存储器606中,并且由处理器602执行。
其他注意事项
以上描述的某些部分在算法过程或操作方面描述了实施例。这些算法的描述和表示通常由数据处理领域的技术人员用来将其工作的实质有效地传达给本领域其他技术人员。虽然在功能上、计算上或逻辑上进行描述,但是这些操作应当被理解为由计算机程序实现,该计算机程序包括用于由处理器或等效电路、微代码等执行的指令。此外,在不失一般性的情况下,功能操作的这些布置有时称为模块也是方便的。
如本文中使用的,对“一个实施例”或“实施例”的任何引用表示结合该实施例描述的特定元件、特征、结构或特性被包括在至少一个实施例中。短语“在一个实施例中”在说明书中各个地方的出现不一定全都是指同一实施例。
一些实施例可以使用表达“耦合”和“连接”及其派生词来描述。应当理解,这些术语并不旨在彼此等同。例如,一些实施例可以使用术语“连接”来描述,以表示两个或更多个元件彼此直接物理或电接触。在另一示例中,一些实施例可以使用术语“耦合”来描述,以表示两个或更多个元件直接物理或电接触。然而,术语“耦合”也可以表示两个或更多个元件不彼此直接接触,但是仍然彼此协作或相互作用。实施例不限于该背景。
如本文中使用的,术语“包括(comprises)”、“包括(comprising)”、“包括(includes)”、“包括(including)”、“具有(has)”、“具有(hasing)”或其任何其他变型旨在覆盖非排他性包含。例如,包括一系列元素的过程、方法、物品或装置不一定仅限于这些元素,而是可以包括未明确列出或这样的过程、方法、物品或装置所固有的其他元素。此外,除非明确相反地指出,否则“或”是指包含性的“或”而不是排他性的“或”。例如,以下任一项满足条件A或B:A为真(或存在)并且B为假(或不存在),A为假(或不存在)并且B为真(或存在),以及A和B都为真(或存在)。
此外,“一个(a)”或“一个(an)”的使用用于描述实施例的元件和组件。这样做仅仅是为了方便并且给出本公开的一般意义。该描述应当被理解为包括一个或至少一个,并且单数也包括复数,除非很清楚的是另有说明。
在阅读本公开之后,本领域技术人员将理解用于验证在线服务提供商的账户对应于真实业务的系统和过程的另外的替代结构和功能设计。因此,尽管已经图示和描述了特定的实施例和应用,但是应当理解,所描述的主题不限于本文中公开的精确构造和组件,并且可以对所公开的方法和装置的布置、操作和细节做出针对本领域技术人员而言很清楚的各种修改、改变和变化。保护范围应当仅由所附权利要求书限制。
Claims (18)
1.一种用于使用深度提示对深度估计模型的自我监督训练的方法,包括:
接收场景的图像;
将所述图像输入到深度估计模型中,所述深度估计模型由过程训练,所述过程包括:
访问包括多个图像对的训练图像数据,每个图像对包括第一图像和第二图像;
针对每个图像对:
由所述深度估计模型生成针对所述第一图像的像素的深度预测值;
获取针对所述第一图像的所述像素的深度提示值;
基于针对所述第一图像的所述像素的所述深度预测值以及所述第一图像与所述第二图像之间的相对姿势,将所述第二图像投影到所述第一图像上,以生成模型合成帧;
基于针对所述第一图像的所述像素的所述深度提示值以及所述第一图像与所述第二图像之间的姿势提示,将所述第二图像投影到所述第一图像上,以生成提示合成帧;
基于所述模型合成帧的所述像素与所述第一图像的所述像素的比较来计算所述模型合成帧与所述第一图像之间的光度重构误差,从而计算针对所述深度预测值的一次损失值;
基于所述提示合成帧的所述像素与所述第一图像的所述像素的比较来计算所述提示合成帧与所述第二图像之间的光度重构误差,从而计算针对所述深度提示值的提示损失值;以及
计算针对所述图像对的总体损失,其中基于所述一次损失值更小还是所述提示损失值更小来确定在所述第一图像中的给定像素对所述总体损失的贡献,其中所述第一图像中具有小于一次损失值的提示损失值的第一像素的所述贡献包括所述一次损失值以及基于针对所述第一像素的深度预测值和深度提示值的监督深度损失值;
基于所述图像对的所述总体损失,调节所述深度估计模型的参数;以及
由所述深度估计模型生成与所述场景的所述图像相对应的所述场景的深度图。
2.根据权利要求1所述的方法,其中每个图像对是由一对相机捕获的真实立体图像对。
3.根据权利要求1所述的方法,其中每个图像对是伪立体图像对,其中所述第一图像和所述第二图像是由单个相机捕获的时间上不同的帧。
4.根据权利要求1所述的方法,其中将所述第二图像投影到所述第一图像上还基于针对所述第一图像的第一相机内参数集合以及针对所述第二图像的第二相机内参数集合。
5.根据权利要求1所述的方法,其中根据深度预测值的在像素处的所述一次损失值基于在所述模型合成帧的所述像素与所述第一图像的所述像素之间的差分,并且其中根据深度提示值的在所述像素处的所述提示损失值基于在所述提示合成帧的所述像素与在所述第一图像的所述像素之间的差分。
6.根据权利要求1所述的方法,
其中如果所述一次损失值在给定像素处小于或等于所述提示损失值,则所述给定像素对所述总体损失的所述贡献是所述给定像素的所述一次损失值;以及
其中如果所述提示损失值在所述给定像素处小于所述一次损失值,则所述给定像素对所述总体损失的所述贡献是所述给定像素的所述一次损失值与在所述给定像素处的深度预测值与深度提示值之间的差分的总和。
7.根据权利要求1所述的方法,其中所述深度提示值是由立体深度估计模型生成的,所述立体深度估计模型被配置为输入所述图像对以及基于所述图像对输出所述深度提示值。
8.根据权利要求1所述的方法,其中所述深度提示值是由同时定位和绘图(SLAM)模块基于所述图像对生成的。
9.一种用于使用深度提示对深度估计模型的自我监督训练的方法,包括:
访问包括多个图像对的训练图像数据,每个图像对包括第一图像和第二图像;
针对每个图像对:
由所述深度估计模型生成针对所述第一图像的像素的深度预测值;
获取针对所述第一图像的所述像素的深度提示值;
基于针对所述第一图像的所述像素的所述深度预测值以及所述第一图像与所述第二图像之间的相对姿势,将所述第二图像投影到所述第一图像上,以生成模型合成帧;
基于针对所述第一图像的所述像素的所述深度提示值以及所述第一图像与所述第二图像之间的姿势提示,将所述第二图像投影到所述第一图像上,以生成提示合成帧;
基于所述模型合成帧的所述像素与所述第一图像的所述像素的比较来计算所述模型合成帧与所述第一图像之间的光度重构误差,从而计算针对所述深度预测值的一次损失值;
基于所述提示合成帧的所述像素与所述第一图像的所述像素的比较来计算所述提示合成帧与所述第二图像之间的光度重构误差,从而计算针对所述深度提示值的提示损失值;以及
计算针对所述图像对的总体损失,基于所述一次损失值更小还是所述提示损失值更小来确定在所述第一图像中的给定像素对所述总体损失的贡献,其中所述第一图像中具有小于一次损失值的提示损失值的第一像素的所述贡献包括所述一次损失值以及基于针对所述第一像素的深度预测值和深度提示值的监督深度损失值;
基于所述图像对的所述总体损失,调节所述深度估计模型的参数。
10.根据权利要求9所述的方法,其中每个图像对是由一对相机捕获的真实立体图像对。
11.根据权利要求9所述的方法,其中每个图像对是伪立体图像对,其中所述第一图像和所述第二图像是由单个相机捕获的时间上不同的帧。
12.根据权利要求9所述的方法,其中将所述第二图像投影到所述第一图像上还基于针对所述第一图像的第一相机内参数集合以及针对所述第二图像的第二相机内参数集合。
13.根据权利要求9所述的方法,其中根据深度预测值的在像素处的所述一次损失值基于在所述模型合成帧的所述像素与所述第一图像的所述像素之间的差分,并且其中根据深度提示值的在所述像素处的所述提示损失值基于在所述提示合成帧的所述像素与在所述第一图像的所述像素之间的差分。
14.根据权利要求9所述的方法,
其中如果所述一次损失值在给定像素处小于或等于所述提示损失值,则所述给定像素对所述总体损失的所述贡献是所述给定像素的所述一次损失值;以及
其中如果所述提示损失值在所述给定像素处小于所述一次损失值,则所述给定像素对所述总体损失的所述贡献是所述给定像素的所述一次损失值与在所述给定像素处的深度预测值与深度提示值之间的差分的总和。
15.根据权利要求9所述的方法,其中所述深度提示值是由立体深度估计模型生成的,所述立体深度估计模型被配置为输入所述图像对以及基于所述图像对输出所述深度提示值。
16.根据权利要求9所述的方法,其中所述深度提示值是由同时定位和绘图(SLAM)模块基于所述图像对生成的。
17.一种存储指令的非暂态计算机可读存储介质,所述指令在由处理器执行时引起所述处理器执行用于使用深度提示对深度估计模型的自我监督训练的操作,所述操作包括:
接收场景的图像;
将所述图像输入到深度估计模型中,所述深度估计模型由过程训练,所述过程包括:
访问包括多个图像对的训练图像数据,每个图像对包括第一图像和第二图像;
针对每个图像对:
由所述深度估计模型生成针对所述第一图像的像素的深度预测值;
获取针对所述第一图像的所述像素的深度提示值;
基于针对所述第一图像的所述像素的所述深度预测值以及所述第一图像与所述第二图像之间的相对姿势,将所述第二图像投影到所述第一图像上,以生成模型合成帧;
基于针对所述第一图像的所述像素的所述深度提示值以及所述第一图像与所述第二图像之间的姿势提示,将所述第二图像投影到所述第一图像上,以生成提示合成帧;
基于所述模型合成帧的所述像素与所述第一图像的所述像素的比较来计算所述模型合成帧与所述第一图像之间的光度重构误差,从而计算针对所述深度预测值的一次损失值;
基于所述提示合成帧的所述像素与所述第一图像的所述像素的比较来计算所述提示合成帧与所述第二图像之间的光度重构误差,从而计算针对所述深度提示值的提示损失值;以及
计算针对所述图像对的总体损失,基于所述一次损失值更小还是所述提示损失值更小来确定在所述第一图像中的给定像素对所述总体损失的贡献,其中所述第一图像中具有小于一次损失值的提示损失值的第一像素的所述贡献包括所述一次损失值以及基于针对所述第一像素的深度预测值和深度提示值的监督深度损失值;
基于所述图像对的所述总体损失,调节所述深度估计模型的参数;以及
由所述深度估计模型生成与所述场景的所述图像相对应的所述场景的深度图。
18.根据权利要求17所述的非暂态计算机可读存储介质,
其中如果所述一次损失值在给定像素处小于或等于所述提示损失值,则所述给定像素对所述总体损失的所述贡献是所述给定像素的所述一次损失值;以及
其中如果所述提示损失值在所述给定像素处小于所述一次损失值,则所述给定像素对所述总体损失的所述贡献是所述给定像素的所述一次损失值与在所述给定像素处的深度预测值与深度提示值之间的差分的总和。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962842531P | 2019-05-02 | 2019-05-02 | |
US62/842,531 | 2019-05-02 | ||
PCT/IB2020/054170 WO2020222204A1 (en) | 2019-05-02 | 2020-05-02 | Self-supervised training of a depth estimation model using depth hints |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112805748A CN112805748A (zh) | 2021-05-14 |
CN112805748B true CN112805748B (zh) | 2022-10-25 |
Family
ID=73016748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080005441.4A Active CN112805748B (zh) | 2019-05-02 | 2020-05-02 | 使用深度提示对深度估计模型的自我监督训练 |
Country Status (9)
Country | Link |
---|---|
US (3) | US11044462B2 (zh) |
EP (1) | EP3776468A4 (zh) |
JP (2) | JP6996009B2 (zh) |
KR (2) | KR102493185B1 (zh) |
CN (1) | CN112805748B (zh) |
AU (2) | AU2020266341B2 (zh) |
CA (1) | CA3097393C (zh) |
TW (1) | TWI839513B (zh) |
WO (1) | WO2020222204A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102506959B1 (ko) | 2018-05-17 | 2023-03-07 | 나이앤틱, 인크. | 깊이 추정 시스템의 자가 감독 훈련 |
US11044462B2 (en) | 2019-05-02 | 2021-06-22 | Niantic, Inc. | Self-supervised training of a depth estimation model using depth hints |
JP7272428B2 (ja) * | 2019-05-10 | 2023-05-12 | 日本電信電話株式会社 | 深度推定装置、深度推定モデル学習装置、深度推定方法、深度推定モデル学習方法、及び深度推定プログラム |
US12001958B2 (en) * | 2020-03-19 | 2024-06-04 | Nvidia Corporation | Future trajectory predictions in multi-actor environments for autonomous machine |
CN111753961B (zh) | 2020-06-26 | 2023-07-28 | 北京百度网讯科技有限公司 | 模型训练方法和装置、预测方法和装置 |
KR102471353B1 (ko) | 2020-07-03 | 2022-11-28 | 한국공학대학교산학협력단 | 바이메탈을 이용한 복원 기능을 포함하는 퓨즈 |
CN112561979B (zh) * | 2020-12-25 | 2022-06-28 | 天津大学 | 一种基于深度学习的自监督单目深度估计方法 |
CN113269066B (zh) * | 2021-05-14 | 2022-10-04 | 网易(杭州)网络有限公司 | 说话视频生成方法、装置和电子设备 |
KR102489890B1 (ko) * | 2021-05-28 | 2023-01-17 | 한국항공대학교산학협력단 | 깊이 추정 시스템 및 깊이 추정 방법 |
CN113435408A (zh) * | 2021-07-21 | 2021-09-24 | 北京百度网讯科技有限公司 | 人脸活体检测方法、装置、电子设备及存储介质 |
CN114037087B (zh) * | 2021-10-29 | 2024-02-09 | 北京百度网讯科技有限公司 | 模型训练方法及装置、深度预测方法及装置、设备和介质 |
KR102531286B1 (ko) * | 2022-03-29 | 2023-05-12 | 포티투닷 주식회사 | 깊이 정보 추정 모델 학습을 위한 데이터 처리 방법 및 장치 |
TWI803334B (zh) * | 2022-05-31 | 2023-05-21 | 鴻海精密工業股份有限公司 | 深度估計模型優化與物體距離檢測方法及相關設備 |
CN115512116B (zh) * | 2022-11-01 | 2023-06-30 | 北京安德医智科技有限公司 | 图像分割模型优化方法、装置、电子设备及可读存储介质 |
GB202216570D0 (en) * | 2022-11-07 | 2022-12-21 | Pommelhorse Ltd | Real-time video processor and method |
CN117351450B (zh) * | 2023-12-06 | 2024-02-27 | 吉咖智能机器人有限公司 | 一种单目3d检测方法、装置、电子设备及存储介质 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011188358A (ja) | 2010-03-10 | 2011-09-22 | Panasonic Corp | Vpn装置及びip通信装置 |
CN102223553B (zh) | 2011-05-27 | 2013-03-20 | 山东大学 | 一种二维视频到三维视频的自动转换方法 |
US20130077820A1 (en) * | 2011-09-26 | 2013-03-28 | Microsoft Corporation | Machine learning gesture detection |
US10262462B2 (en) * | 2014-04-18 | 2019-04-16 | Magic Leap, Inc. | Systems and methods for augmented and virtual reality |
US9275078B2 (en) | 2013-09-05 | 2016-03-01 | Ebay Inc. | Estimating depth from a single image |
JP6148154B2 (ja) | 2013-10-29 | 2017-06-14 | 日本電信電話株式会社 | 画像処理装置及び画像処理プログラム |
JP5937709B1 (ja) | 2015-01-29 | 2016-06-22 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 通信制御装置、通信制御方法及び通信制御プログラム |
JP6359985B2 (ja) * | 2015-02-12 | 2018-07-18 | 株式会社デンソーアイティーラボラトリ | デプス推定モデル生成装置及びデプス推定装置 |
CN107438866B (zh) | 2015-05-13 | 2020-12-01 | 谷歌公司 | 深度立体:学习从现实世界形象预测新视图 |
JP2017129904A (ja) | 2016-01-18 | 2017-07-27 | ソニー株式会社 | 情報処理装置、情報処理方法、及び記録媒体 |
US10255522B2 (en) | 2016-06-17 | 2019-04-09 | Facebook, Inc. | Generating object proposals using deep-learning models |
KR102529137B1 (ko) | 2016-08-22 | 2023-05-03 | 매직 립, 인코포레이티드 | 딥 러닝 센서들을 갖는 증강 현실 디스플레이 디바이스 |
GB2553782B (en) | 2016-09-12 | 2021-10-20 | Niantic Inc | Predicting depth from image data using a statistical model |
CN108629800A (zh) * | 2017-03-20 | 2018-10-09 | 北京三星通信技术研究有限公司 | 平面确定方法及增强现实显示信息的显示方法、相应装置 |
CN107067465A (zh) | 2017-04-14 | 2017-08-18 | 深圳市唯特视科技有限公司 | 一种基于验证转换图像生成网络的三维视图合成方法 |
CN107204010B (zh) * | 2017-04-28 | 2019-11-19 | 中国科学院计算技术研究所 | 一种单目图像深度估计方法与系统 |
US10726514B2 (en) * | 2017-04-28 | 2020-07-28 | Intel Corporation | Compute optimizations for low precision machine learning operations |
CN107578436B (zh) | 2017-08-02 | 2020-06-12 | 南京邮电大学 | 一种基于全卷积神经网络fcn的单目图像深度估计方法 |
CN107767413B (zh) | 2017-09-20 | 2020-02-18 | 华南理工大学 | 一种基于卷积神经网络的图像深度估计方法 |
US10803546B2 (en) | 2017-11-03 | 2020-10-13 | Baidu Usa Llc | Systems and methods for unsupervised learning of geometry from images using depth-normal consistency |
JP2021503134A (ja) | 2017-11-15 | 2021-02-04 | グーグル エルエルシーGoogle LLC | 画像深度とエゴモーション予測ニューラルネットワークの教師なし学習 |
CN107909150B (zh) | 2017-11-29 | 2020-08-18 | 华中科技大学 | 基于逐块随机梯度下降法在线训练cnn的方法与系统 |
US10810754B2 (en) | 2018-04-24 | 2020-10-20 | Ford Global Technologies, Llc | Simultaneous localization and mapping constraints in generative adversarial networks for monocular depth estimation |
CN109191514B (zh) * | 2018-10-23 | 2020-11-24 | 北京字节跳动网络技术有限公司 | 用于生成深度检测模型的方法和装置 |
US11044462B2 (en) | 2019-05-02 | 2021-06-22 | Niantic, Inc. | Self-supervised training of a depth estimation model using depth hints |
-
2020
- 2020-05-01 US US16/864,743 patent/US11044462B2/en active Active
- 2020-05-02 KR KR1020217016884A patent/KR102493185B1/ko active IP Right Grant
- 2020-05-02 KR KR1020207031640A patent/KR102262824B1/ko active IP Right Grant
- 2020-05-02 CN CN202080005441.4A patent/CN112805748B/zh active Active
- 2020-05-02 EP EP20797645.7A patent/EP3776468A4/en active Pending
- 2020-05-02 AU AU2020266341A patent/AU2020266341B2/en active Active
- 2020-05-02 WO PCT/IB2020/054170 patent/WO2020222204A1/en unknown
- 2020-05-02 JP JP2020560813A patent/JP6996009B2/ja active Active
- 2020-05-02 CA CA3097393A patent/CA3097393C/en active Active
- 2020-05-04 TW TW109114835A patent/TWI839513B/zh active
-
2021
- 2021-03-26 US US17/213,634 patent/US11317079B2/en active Active
- 2021-07-21 AU AU2021206838A patent/AU2021206838B2/en active Active
- 2021-12-15 JP JP2021203338A patent/JP7174139B2/ja active Active
-
2022
- 2022-03-16 US US17/696,529 patent/US11711508B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2022037113A (ja) | 2022-03-08 |
AU2020266341A1 (en) | 2020-12-03 |
KR102493185B1 (ko) | 2023-01-30 |
JP6996009B2 (ja) | 2022-01-17 |
US11044462B2 (en) | 2021-06-22 |
US11711508B2 (en) | 2023-07-25 |
JP7174139B2 (ja) | 2022-11-17 |
KR20200130472A (ko) | 2020-11-18 |
EP3776468A4 (en) | 2022-01-12 |
KR20210069125A (ko) | 2021-06-10 |
US11317079B2 (en) | 2022-04-26 |
AU2021206838B2 (en) | 2023-08-17 |
CN112805748A (zh) | 2021-05-14 |
US20220210392A1 (en) | 2022-06-30 |
CA3097393A1 (en) | 2020-11-05 |
CA3097393C (en) | 2022-02-01 |
US20200351489A1 (en) | 2020-11-05 |
AU2021206838A1 (en) | 2021-08-12 |
AU2020266341B2 (en) | 2021-04-22 |
JP2021522603A (ja) | 2021-08-30 |
WO2020222204A1 (en) | 2020-11-05 |
TW202109458A (zh) | 2021-03-01 |
EP3776468A1 (en) | 2021-02-17 |
US20210218950A1 (en) | 2021-07-15 |
KR102262824B1 (ko) | 2021-06-10 |
TWI839513B (zh) | 2024-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112805748B (zh) | 使用深度提示对深度估计模型的自我监督训练 | |
CN112534475B (zh) | 深度估计系统的自我监督训练 | |
AU2021235397B2 (en) | Determining traversable space from single images | |
TW202238068A (zh) | 自監督多圖框單眼深度估計模型 | |
WO2023111909A1 (en) | High-speed real-time scene reconstruction from input image data | |
TWI829167B (zh) | 用於採用小波分解之影像深度預測之方法及非暫時性電腦可讀儲存媒體 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |