CN114902066A - 用于主动深度感测的交替光分布 - Google Patents
用于主动深度感测的交替光分布 Download PDFInfo
- Publication number
- CN114902066A CN114902066A CN202080089735.XA CN202080089735A CN114902066A CN 114902066 A CN114902066 A CN 114902066A CN 202080089735 A CN202080089735 A CN 202080089735A CN 114902066 A CN114902066 A CN 114902066A
- Authority
- CN
- China
- Prior art keywords
- light distribution
- depth
- light
- depth values
- depth value
- 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/50—Depth or shape recovery
- G06T7/521—Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
- 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
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/46—Indirect determination of position data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/13—Satellite images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- 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/10048—Infrared image
-
- 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/30196—Human being; Person
- G06T2207/30201—Face
Abstract
本公开的各方面涉及用于主动深度感测的系统和方法。被配置为执行主动深度感测的示例性装置包括投射器。所述投射器被配置为在第一时间期间发射第一光分布并且在第二时间期间发射与所述第一光分布不同的第二光分布。场景中的一个或多个对象的最终深度值集合基于所述第一光分布的一次或多次反射和所述第二光分布的一次或多次反射。所述投射器可以包括激光器阵列,并且所述装置可以被配置为在所述激光器阵列中的第一多个激光器在所述第一时间期间发射光与第二多个激光器在所述第二时间期间发射光之间进行切换。
Description
相关申请
本专利申请要求于2019年12月30日在雅典工业产权组织提交的题为“ALTERNATING LIGHT DISTRIBUTIONS FOR ACTIVE DEPTH SENSING”的希腊专利申请号20190100583的优先权。希腊专利申请已转让给本受让人。在先申请的公开内容被认为是本专利申请的一部分,并且通过引用结合在本专利申请中。
技术领域
本公开总体上涉及主动深度感测系统,并且具体地涉及一种交替地发射不同的光分布以用于主动深度感测的投射器。
背景技术
对于主动深度感测,设备可以包括用于发射光分布的投射器,为此,感测并测量光分布的反射以确定场景中的对象的距离。例如,设备可以包括将红外(IR)光的分布(诸如IR光点的分布)投射到场景上的光投射器。主动光接收器在帧捕获期间接收红外光的反射,并且所述设备基于接收到的反射来确定场景中的对象的深度或距离。
发明内容
本发明内容的提供是为了以简化形式介绍对一些概念的选择,所述概念将在以下具体实施方式中进一步描述。本发明内容不旨在表示所要求保护的主题的关键特征或本质特征,也不旨在限制所要求保护的主题的范围。
本公开的一些方面涉及一种用于主动深度感测的示例性装置。所述装置包括投射器,所述投射器被配置为在第一时间期间发射第一光分布并且在第二时间期间发射与所述第一光分布不同的第二光分布。场景中的一个或多个对象的最终深度值集合(诸如用于最终深度图)基于所述第一光分布的一次或多次反射和所述第二光分布的一次或多次反射。
在一些实施方式中,所述投射器还被配置为在第三时间期间发射与所述第一光分布和所述第二光分布不同的第三光分布。所述场景中的所述一个或多个对象的所述最终深度值集合是进一步基于所述第三光分布的一次或多次反射。在一些实施方式中,所述投射器包括激光器阵列,并且对于所述激光器阵列中的每个激光器,所述激光器在所述第一时间或所述第二时间中的一个或多个期间发射光。在一些实施方式中,对于所述激光器阵列中的每个激光器,所述激光器在所述第一时间或所述第二时间中的一个期间发射光。所述投射器可以包括开关,所述开关用于在所述激光器阵列中的第一多个激光器在所述第一时间期间发射光与所述激光器阵列中的第二多个激光器在所述第二时间期间发射光之间进行切换。
在一些实施方式中,所述装置还包括图像传感器,所述图像传感器被配置为在与所述第一时间相关联的第一帧的捕获期间接收所述第一光分布的一次或多次反射,并且在与所述第二时间相关联的第二帧的捕获期间接收所述第二光分布的一次或多次反射。所述装置还可以包括图像信号处理器,所述图像信号处理器被配置为基于所述第一帧生成第一深度值集合,基于所述第二帧生成第二深度值集合,并且组合所述第一深度值集合和所述第二深度值集合以生成所述最终深度值集合。
在一些实施方式中,所述投射器被配置为在发射所述第一光分布与发射所述第二光分布之间周期性地交替。所述第一光分布的每次发射与所述图像传感器对所述第一帧集合中的一个的捕获相关联,并且所述第二光分布的每次发射与所述图像传感器对所述第二帧集合中的一个的捕获相关联。在一些实施方式中,所述图像信号处理器被配置为基于所述第一帧集合生成所述第一深度值集合,并且基于所述第二帧集合生成所述第二深度值集合。在一些实施方式中,所述第一深度值集合被包括在第一深度图中,并且所述第二深度值集合被包括在第二深度图中。来自所述第一深度值集合中的第一深度值的所述第一深度图中的第一位置对应于来自所述第二深度值集合中的第二深度值的所述第二深度图中的第二位置。生成所述最终深度值集合包括:确定所述第一深度值是否为有效深度值;确定所述第二深度值是否为有效深度值;以及基于所述第一深度值或所述第二深度值中的仅一个被确定为有效深度值,将所述最终深度值集合中的最终深度值设置为所述有效深度值。例如,所述第一深度值集合被包括在大小为P x Q的第一深度图中,并且所述第一深度图中的每个位置p x q包括来自所述第一深度值集合的深度值。所述第二深度值集合可以被包括在大小为P x Q的第二深度图中,并且所述第二深度图中的每个位置p x q包括来自所述第二深度值集合的深度值,并且对应于所述第一深度图中的所述位置p x q。在一些实施方式中,生成所述最终深度值集合包括生成大小为P x Q的最终深度图,对于所述最终深度图的每个位置p x q,包括确定来自所述第一深度图中的位置p x q的所述深度值是否为有效深度值,确定来自所述第二深度图中的位置p x q的所述深度值是否为有效深度值,以及基于所述深度值中的仅一个被确定为有效深度值,将所述最终深度图中的位置p x q处的最终深度值设置为所述有效深度值。
在一些实施方式中,生成所述最终深度值集合还包括基于所述第一深度值和所述第二深度值两者被确定为有效深度值,将所述最终深度值设置为所述第一深度值、所述第二深度值中的一个或所述第一深度值与所述第二深度值的平均值。例如,生成大小为P x Q的所述最终深度图还包括基于所述两个深度值被确定为有效深度值,将所述最终深度图中的位置p x q处的所述最终深度值设置为所述第一深度图中的所述有效深度值、所述第二深度图中的所述有效深度值中的一个或所述第一深度图中的所述有效深度值与所述第二深度图中的所述有效深度值的平均值。
在一些实施方式中,所述装置还包括:处理器,所述处理器被配置为向所述图像信号处理器提供指令以供执行;存储器,所述存储器被配置为存储所述最终深度图;以及显示器,所述显示器被配置为显示所述最终深度图。
在一些实施方式中,所述投射器被配置为在发射所述第一光分布与发射所述第二光分布之间交替。所述第一光分布是原始光分布,所述第二光分布是双重光分布,并且所述原始光分布和所述双重光分布被相互参照设计,以允许图像传感器的帧捕获的相同部分互补解码为来自所述原始光分布和来自所述双重光分布的码字。
在一些实施方式中,基于一个或多个维度参数,在一个或多个空间维度、时间维度和阵列维度中确定所述第一光分布和所述第二光分布。
本公开的一些其它方面涉及一种用于主动深度感测的方法。一种示例性方法包括由投射器在第一时间期间发射第一光分布。所述方法还包括由所述投射器在第二时间期间发射与所述第一光分布不同的第二光分布。场景中的一个或多个对象的最终深度值集合(诸如用于最终深度图)是基于所述第一光分布的一次或多次反射和所述第二光分布的一次或多次反射。
在一些实施方式中,所述方法还包括由所述投射器在第三时间期间发射与所述第一光分布和所述第二光分布不同的第三光分布。所述场景中的所述一个或多个对象的所述最终深度值集合是进一步基于所述第三光分布的一次或多次反射。在一些实施方式中,所述方法还包括由所述投射器的激光器阵列中的每个激光器在所述第一时间或所述第二时间中的一个或多个期间发射光。在一些实施方式中,所述方法还包括由所述激光器阵列中的每个激光器在所述第一时间或所述第二时间中的一个期间发射光。在一些实施方式中,所述方法还包括在所述激光器阵列中的第一多个激光器在所述第一时间期间发射光与所述激光器阵列中的第二多个激光器在所述第二时间期间发射光之间进行切换。
在一些实施方式中,所述方法还包括:由图像传感器在与所述第一时间相关联的第一帧的捕获期间接收所述第一光分布的一次或多次反射;由所述图像传感器在与所述第二时间相关联的第二帧的捕获期间接收所述第二光分布的一次或多次反射;由所述图像信号处理器基于所述第一帧生成第一深度值集合;由所述图像信号处理器基于所述第二帧生成第二深度值集合;以及组合所述第一深度值集合和所述第二深度值集合以生成所述最终深度值集合。
在一些实施方式中,所述方法还包括在发射所述第一光分布与发射所述第二光分布之间周期性地交替。所述第一光分布的每次发射与所述图像传感器对所述第一帧集合中的一个帧的捕获相关联,并且所述第二光分布的每次发射与所述图像传感器对所述第二帧集合中的一个帧的捕获相关联。所述方法还包括基于所述第一帧集合生成所述第一深度值集合,并且基于所述第二帧集合生成所述第二深度值集合。
在一些实施方式中,所述第一深度值集合被包括在第一深度图中,并且所述第二深度值集合被包括在第二深度图中。来自所述第一深度值集合中的第一深度值的所述第一深度图中的第一位置对应于来自所述第二深度值集合中的第二深度值的所述第二深度图中的第二位置。生成所述最终深度值集合包括:确定所述第一深度值是否为有效深度值;确定所述第二深度值是否为有效深度值;以及基于所述第一深度值或所述第二深度值中的仅一个被确定为有效深度值,将所述最终深度值集合中的最终深度值设置为所述有效深度值。例如,所述第一深度值集合被包括在大小为P x Q的第一深度图中,并且所述第一深度图中的每个位置p x q包括来自所述第一深度值集合的深度值。所述第二深度值集合可以被包括在大小为P x Q的第二深度图中,并且所述第二深度图中的每个位置p x q包括来自所述第二深度值集合的深度值,并且对应于所述第一深度图中的所述位置p x q。在一些实施方式中,生成所述最终深度值集合包括生成大小为P x Q的最终深度图,对于所述最终深度图的每个位置p x q,包括确定来自所述第一深度图中的位置p x q的所述深度值是否为有效深度值,确定来自所述第二深度图中的位置p x q的所述深度值是否为有效深度值,以及基于所述深度值中的仅一个被确定为有效深度值,将所述最终深度图中的位置p x q处的最终深度值设置为所述有效深度值。
在一些实施方式中,生成所述最终深度值集合还包括基于所述第一深度值和所述第二深度值两者被确定为有效深度值,将所述最终深度值设置为所述第一深度值、所述第二深度值中的一个或所述第一深度值与所述第二深度值的平均值。例如,生成大小为P x Q的所述最终深度图还包括基于所述两个深度值被确定为有效深度值,将所述最终深度图中的位置p x q处的所述最终深度值设置为所述第一深度图中的所述有效深度值、所述第二深度图中的所述有效深度值中的一个或所述第一深度图中的所述有效深度值与所述第二深度图中的所述有效深度值的平均值。
在一些实施方式中,所述投射器被配置为在发射所述第一光分布与发射所述第二光分布之间交替。所述第一光分布是原始光分布,所述第二光分布是双重光分布,并且所述原始光分布和所述双重光分布被相互参照设计,以允许图像传感器的帧捕获的相同部分互补解码为来自所述原始光分布和来自所述双重光分布的码字。
在一些实施方式中,基于一个或多个维度参数,在一个或多个空间维度、时间维度和阵列维度中确定所述第一光分布和所述第二光分布。
本公开的一些其它方面涉及一种示例性计算机可读介质。所述计算机可读介质存储指令,所述指令在由执行主动深度感测的设备的处理器执行时使所述设备由投射器在第一时间期间发射第一光分布。所述指令的执行还使所述设备由所述投射器在第二时间期间发射与所述第一光分布不同的第二光分布。场景中的一个或多个对象的最终深度值集合(诸如用于最终深度图)是基于所述第一光分布的一次或多次反射和所述第二光分布的一次或多次反射。
在一些实施方式中,所述指令的执行还使所述设备由所述投射器在第三时间期间发射与所述第一光分布和所述第二光分布不同的第三光分布。所述场景中的所述一个或多个对象的所述最终深度值集合是进一步基于所述第三光分布的一次或多次反射。在一些实施方式中,所述指令的执行还使所述设备在所述投射器的激光器阵列中的第一多个激光器在所述第一时间期间发射光与所述激光器阵列中的第二多个激光器在所述第二时间期间发射光之间进行切换。
在一些实施方式中,所述指令的执行还使所述设备:由图像传感器在与所述第一时间相关联的第一帧的捕获期间接收所述第一光分布的一次或多次反射;由所述图像传感器在与所述第二时间相关联的第二帧的捕获期间接收所述第二光分布的一次或多次反射;由所述图像信号处理器基于所述第一帧生成第一深度值集合;由所述图像信号处理器基于所述第二帧生成第二深度值集合;以及组合所述第一深度值集合和所述第二深度值集合以生成所述最终深度值集合。
在一些实施方式中,所述指令的执行还使所述设备在发射所述第一光分布与发射所述第二光分布之间周期性地交替。所述第一光分布的每次发射与所述图像传感器对所述第一帧集合中的一个帧的捕获相关联。所述第二光分布的每次发射与所述图像传感器对所述第二帧集合中的一个帧的捕获相关联。所述指令的执行还使所述设备基于所述第一帧集合生成所述第一深度值集合,并且基于所述第二帧集合生成所述第二深度值集合。
在一些实施方式中,所述第一深度值集合被包括在第一深度图中,并且所述第二深度值集合被包括在第二深度图中。来自所述第一深度值集合中的第一深度值的所述第一深度图中的第一位置对应于来自所述第二深度值集合中的第二深度值的所述第二深度图中的第二位置。生成所述最终深度值集合包括:确定所述第一深度值是否为有效深度值;确定所述第二深度值是否为有效深度值;以及基于所述第一深度值或所述第二深度值中的仅一个被确定为有效深度值,将所述最终深度值集合中的最终深度值设置为所述有效深度值。例如,所述第一深度值集合被包括在大小为P x Q的第一深度图中,并且所述第一深度图中的每个位置p x q包括来自所述第一深度值集合的深度值。所述第二深度值集合可以被包括在大小为P x Q的第二深度图中,并且所述第二深度图中的每个位置p x q包括来自所述第二深度值集合的深度值,并且对应于所述第一深度图中的所述位置p x q。在一些实施方式中,生成所述最终深度值集合包括生成大小为P x Q的最终深度图,对于所述最终深度图的每个位置p x q,包括确定来自所述第一深度图中的位置p x q的所述深度值是否为有效深度值,确定来自所述第二深度图中的位置p x q的所述深度值是否为有效深度值,以及基于所述深度值中的仅一个被确定为有效深度值,将所述最终深度图中的位置p x q处的最终深度值设置为所述有效深度值。
在一些实施方式中,生成所述最终深度值集合还包括基于所述第一深度值和所述第二深度值两者被确定为有效深度值,将所述最终深度值设置为所述第一深度值、所述第二深度值中的一个或所述第一深度值与所述第二深度值的平均值。例如,生成大小为P x Q的所述最终深度图还包括基于所述两个深度值被确定为有效深度值,将所述最终深度图中的位置p x q处的所述最终深度值设置为所述第一深度图中的所述有效深度值、所述第二深度图中的所述有效深度值中的一个或所述第一深度图中的所述有效深度值与所述第二深度图中的所述有效深度值的平均值。
在一些实施方式中,所述指令的执行还使所述设备在由所述投射器发射所述第一光分布与发射所述第二光分布之间交替。所述第一光分布是原始光分布,所述第二光分布是双重光分布,并且所述原始光分布和所述双重光分布被相互参照设计,以允许图像传感器的帧捕获的相同部分互补解码为来自所述原始光分布和来自所述双重光分布的码字。
在一些实施方式中,基于一个或多个维度参数,在一个或多个空间维度、时间维度和阵列维度中确定所述第一光分布和所述第二光分布。
本公开的一些其它方面涉及一种用于执行主动深度感测的示例性设备。所述设备包括用于在第一时间期间发射第一光分布的部件。所述设备包括用于在第二时间期间发射与所述第一光分布不同的第二光分布的部件。场景中的一个或多个对象的最终深度值集合(诸如用于最终深度图)是基于所述第一光分布的一次或多次反射和所述第二光分布的一次或多次反射。
在一些实施方式中,所述设备还包括用于在第三时间期间发射与所述第一光分布和所述第二光分布不同的第三光分布的部件。所述场景中的所述一个或多个对象的所述最终深度值集合是进一步基于所述第三光分布的一次或多次反射。在一些实施方式中,所述设备还包括用于在激光器阵列中的第一多个激光器在所述第一时间期间发射光与所述激光器阵列中的第二多个激光器在所述第二时间期间发射光之间进行切换的部件。在一些实施方式中,所述设备还包括:用于在与所述第一时间相关联的第一帧的捕获期间接收所述第一光分布的一次或多次反射的部件;用于在与所述第二时间相关联的第二帧的捕获期间接收所述第二光分布的一次或多次反射的部件;用于基于所述第一帧生成第一深度值集合的部件;用于基于所述第二帧生成第二深度值集合的部件;以及用于组合所述第一深度值集合和所述第二深度值集合以生成所述最终深度值集合的部件。
在一些实施方式中,所述第一深度值集合被包括在第一深度图中,并且所述第二深度值集合被包括在第二深度图中。来自所述第一深度值集合中的第一深度值的所述第一深度图中的第一位置对应于来自所述第二深度值集合中的第二深度值的所述第二深度图中的第二位置。生成所述最终深度值集合包括:确定所述第一深度值是否为有效深度值;确定所述第二深度值是否为有效深度值;以及基于所述第一深度值或所述第二深度值中的仅一个被确定为有效深度值,将所述最终深度值集合中的最终深度值设置为所述有效深度值。例如,所述第一深度值集合被包括在大小为P x Q的第一深度图中,并且所述第一深度图中的每个位置p x q包括来自所述第一深度值集合的深度值。所述第二深度值集合可以被包括在大小为P x Q的第二深度图中,并且所述第二深度图中的每个位置p x q包括来自所述第二深度值集合的深度值,并且对应于所述第一深度图中的所述位置p x q。在一些实施方式中,生成所述最终深度值集合包括生成大小为P x Q的最终深度图,对于所述最终深度图的每个位置p x q,包括确定来自所述第一深度图中的位置p x q的所述深度值是否为有效深度值,确定来自所述第二深度图中的位置p x q的所述深度值是否为有效深度值,以及基于所述深度值中的仅一个被确定为有效深度值,将所述最终深度图中的位置p x q处的最终深度值设置为所述有效深度值。
在一些实施方式中,生成所述最终深度值集合还包括基于所述第一深度值和所述第二深度值两者被确定为有效深度值,将所述最终深度值设置为所述第一深度值、所述第二深度值中的一个或所述第一深度值与所述第二深度值的平均值。例如,生成大小为P x Q的所述最终深度图还包括基于所述两个深度值被确定为有效深度值,将所述最终深度图中的位置p x q处的所述最终深度值设置为所述第一深度图中的所述有效深度值、所述第二深度图中的所述有效深度值中的一个或所述第一深度图中的所述有效深度值与所述第二深度图中的所述有效深度值的平均值。
在一些实施方式中,所述设备还包括用于在发射所述第一光分布与发射所述第二光分布之间周期性地交替的部件。所述第一光分布的每次发射与所述第一帧集合中的一个帧的捕获相关联,并且所述第二光分布的每次发射与所述第二帧集合中的一个帧的捕获相关联。所述设备还包括用于基于所述第一帧集合生成所述第一深度值集合的部件以及用于基于所述第二帧集合生成所述第二深度值集合的部件。
所述设备可以被配置为在发射所述第一光分布与发射所述第二光分布之间交替。所述第一光分布是原始光分布。所述第二光分布是双重光分布。所述原始光分布和所述双重光分布被相互参照设计,以允许图像传感器的帧捕获的相同部分互补解码为来自所述原始光分布和来自所述双重光分布的码字。
在一些实施方式中,基于一个或多个维度参数,在一个或多个空间维度、时间维度和阵列维度中确定所述第一光分布和所述第二光分布。
附图说明
本公开的各方面在附图的各图中以举例而非限制的方式示出,并且附图中的相同附图标记指代类似元件。
图1是包括用于发射光分布的投射器的示例性主动深度感测系统的图示。
图2A是基于由主动深度感测系统的投射器投射的光分布而生成的示例性深度图的图示。
图2B是基于由主动深度感测系统的投射器投射的不同光分布生成的示例性深度图的图示。
图3是包括投射器的示例性设备的框图,所述投射器被配置为发射不同的光分布以用于主动深度感测。
图4是包括激光器的示例性激光器阵列的图示,所述激光器被配置为发射第一光分布和一个或多个其它光分布。
图5是描绘用于主动深度感测的投射器的示例性操作的说明性流程图。
图6是描绘基于投射器在发射第一光分布与发射第二光分布之间交替的主动深度感测的示例性操作的说明性流程图。
图7是第一光分布与第二光分布之间的示例性交替发射以及所得深度图的图示。
图8是描绘将第一深度值集合(诸如用于第一深度图)和第二深度值集合(诸如用于第二深度图)组合以生成最终深度值集合(诸如用于最终深度图)的示例性操作的说明性流程图。
图9是示例性第一深度图和示例性第二深度图的图示,所述图示示出深度值将被组合以生成最终深度值集合。
图10是描绘优化用于投射的光分布以进行主动深度感测的示例性操作的说明性流程图。
图11是用于为用于主动深度感测的最终光分布确定一个或多个候选的示例性反馈系统的图示。
具体实施方式
本公开的各方面涉及主动深度感测,其包括投射器,所述投射器被配置为在发射不同的光分布之间切换以用于主动深度感测。
主动深度感测系统的一些实施方式包括结构光深度感测。如本文所使用的,结构光深度感测是指主动深度感测,为此,投射器以预定义分布发射聚焦光的多个实例。如本文所使用的,光分布可以包括光点、光弧度或每个聚焦光实例的另一合适形状的分布。所定义的分布意味着在发射之前设备已知道所述分布内每个光实例的位置。本公开将光分布称为光点分布以示出本公开的各方面,但是可以使用光实例的任何合适的形状和光实例的任何合适的分布。
可以将光点投射到场景上,并且主动深度感测系统的接收器可以接收光点的反射(以及来自场景的其它光)。可以通过将接收光的图案和发射光的图案进行比较来确定场景中的对象的深度。在比较图案时,可以在接收光中识别出发射光的预定义分布的一部分。然后,在接收光中识别出的分布的各部分的位置以及各部分的任何偏斜或拉伸用于确定场景中的一个或多个对象的深度。
图1是示例性主动深度感测系统100的图示,所述主动深度感测系统被配置为使用光分布来确定场景106中的对象106A和106B的深度。主动深度感测系统100可以用于生成场景106的深度值集合(诸如用于深度图(未示出))。例如,场景106可以包括面部,并且主动深度感测系统100可以用于生成深度值集合(诸如包括多个深度值的深度图),所述深度值集合指示面部的各部分的深度以用于识别或验证面部。如本文所使用的,生成深度图可以指生成深度值集合。主动深度感测系统100可以包括投射器102和接收器108。投射器102可以被称为“发射器”、“投射器”、“发送器”、“光源”等等,并且不限于特定的发射组件。在整个以下公开中,术语投射器、发射器和光源可以互换使用。接收器108可以被称为“检测器”、“传感器”、“感测元件”、“光电检测器”等等,并且不限于特定的接收组件。
投射器102可以被配置为将光点分布104投射或发射到场景106上。分布104中的白色圆圈可以指示对于可能的点位置不投射光的地方,而分布104中的黑色圆圈可以指示对于可能的点位置投射光的地方。本公开可以将分布104称为码字分布,其中分布104的定义部分是码字。如本文所使用的,码字是光分布的矩形(诸如正方形)部分。例如,在分布104中示出了5×5码字140。如图所示,5×5码字140包括五行可能的光点和五列可能的光点。分布104可以被配置为包括码字的阵列。对于主动深度感测,在分布104中,码字可以彼此唯一。例如,码字140与分布104中的所有其它代码字不同。此外,唯一码字相对于彼此的位置是已知的。以这种方式,可以在反射中识别出分布中的一个或多个码字,并且所识别的码字的相对于彼此的位置、所识别的码字相对于所发送的码字的形状或失真以及所识别的码字在接收器传感器上的位置用于确定场景中反射码字的对象的深度。
投射器102可以包括一个或多个光源124(诸如一个或多个激光器)。在一些实施方式中,一个或多个光源124包括激光器阵列。每个激光器可以是垂直腔表面发射激光器(VCSEL)或其它合适的激光器。在一些实施方式中,投射器还可以包括透镜126和光调制器128。投射器102还可以包括孔122,发射光从所述孔逸出投射器102。在一些实施方式中,投射器102还可以包括衍射光学元件(DOE)以将来自一个或多个光源124的发射衍射为附加的发射。在一些方面中,光调制器128(用于调整发射强度)可以包括DOE。在将光点分布104投射到场景106上时,投射器102可以将来自光源124的一个或多个激光发射通过透镜126(和/或通过DOE或光调制器128)并发射到场景106中的对象106A和106B上。投射器102可以与接收器108位于相同的参考平面上,并且投射器102和接收器108可以分开称为基线(112)的一个距离。
在一些示例性实施方式中,由投射器102投射的光可以是红外(IR)光。IR光可以包括可见光谱的各部分和/或肉眼不可见的光谱的各部分。在一个示例中,IR光可以包括:近红外(NIR)光,其可以包括或不包括可见光谱内的光;和/或IR光(诸如远红外(FIR)光),其在可见光谱之外。术语IR光不应被限于具有在IR光的波长范围内或附近的特定波长的光。此外,提供IR光作为来自投射器的示例性发射。在下面的描述中,可以使用其它合适的光波长。例如,可以使用可见光光谱的在IR光波长范围之外的各部分中的光或紫外光。
场景106可以包括距结构光系统(诸如距投射器102和接收器108)不同深度的对象。例如,场景106中的对象106A和106B可以处于不同的深度。接收器108可以被配置为从场景106接收发射的光点分布104的反射110。为了接收反射110,接收器108可以捕获帧。当捕获帧时,接收器108可以接收反射110,以及(i)来自不同深度处的场景106的其它部分的光点分布104的其它反射,以及(ii)环境光。在捕获中也可能存在噪声。
在一些示例性实施方式中,接收器108可以包括透镜130以将接收光(包括来自对象106A和106B的反射110)聚焦或引导到接收器108的传感器132上。接收器108还可以包括孔120。假设对于仅接收反射110的示例,可以基于基线112、反射110中的光分布104(诸如在码字中)的位移和失真以及反射110的强度来确定对象106A和106B的深度。例如,沿着传感器132从位置116到中心114的距离134可以用于确定场景106中的对象106B的深度。类似地,沿着传感器132从位置118到中心114的距离136可以用于确定场景106中的对象106A的深度。沿着传感器132的距离可以根据传感器132的像素数量或距离单位(诸如毫米)来测量。
在一些示例性实施方式中,传感器132可以包括用于捕获帧的光电二极管(诸如雪崩光电二极管)的阵列。为了捕获帧,阵列中的每个光电二极管可以捕获命中光电二极管的光,并且可以提供指示光强度的值(捕获值)。因此,帧可以是由光电二极管的阵列提供的捕获值的阵列。
作为包括光电二极管阵列的传感器132的补充或替代,传感器132可以包括互补金属氧化物半导体(CMOS)传感器。为了通过光敏CMOS传感器捕获图像,传感器的每个像素可以捕获命中像素的光,并且可以提供指示光强度的值。在一些示例性实施方式中,光电二极管阵列可以耦合到CMOS传感器。以这种方式,由光电二极管阵列生成的电脉冲可以触发CMOS传感器的对应像素以提供捕获值。
传感器132可以至少包括等于分布104中的可能光点的数量的多个像素。例如,光电二极管的阵列或CMOS传感器可以至少包括分别与分布104中的可能光点的数量相对应的多个光电二极管或多个像素。传感器132在逻辑上可以被划分为与码字的位的大小相对应的像素或光电二极管的组(诸如对于4×4码字的4×4组)。像素或光电二极管的组也可以被称为位,并且从传感器132的位捕获的数据的部分也可以被称为位。在一些示例性实施方式中,传感器132可以至少包括与分布104相同数量的位。如果光源124发射IR光(诸如波长为例如940nm的NIR光),则传感器132可以是IR传感器以接收NIR光的反射。
如图所示,距离134(对应于来自对象106B的反射110)小于距离136(对应于来自对象106A的反射110)。使用基于基线112以及距离134和136进行的三角测量,可以在生成场景106的深度图时确定场景106中的对象106A和106B的不同深度。确定深度可以进一步基于反射110中的分布104的位移或失真。
尽管在图1中示出了多个分离的组件,但是组件中的一个或多个可以一起被实施或包括附加的功能性。主动深度感测系统100可能不需要所有描述的组件,或者可以将组件的功能性分离为单独的组件。也可能存在未示出的附加组件。例如,接收器108可以包括带通滤波器,以允许具有确定的波长范围的信号传递到传感器132上(因此滤除波长在所述范围之外的信号)。以这种方式,可以防止在传感器132进行的捕获期间一些偶然信号(诸如环境光)作为干扰被接收。带通滤波器的范围可以以投射器102的发射波长为中心。例如,如果投射器102被配置为发射波长为940nm的NIR光,则接收器108可以包括带通滤波器,所述带通滤波器被配置为允许波长在例如920nm至960nm范围内的NIR光。因此,关于图1描述的示例是出于说明性目的。
对于使用光分布的常规主动深度感测系统,光分布是固定的。因此,在每个实例中都将相同的光分布用于主动深度感测。然而,分布中的一些码字可能难以在接收器处接收到的反射中识别出。结果,可能无法为反射光分布的未识别码字的场景的一部分确定深度值。
例如,当光点阵列(诸如分布104)从场景中的对象表面反射回来时,反射角度可能会导致在图像传感器(诸如传感器132)的同一位置处接收到多个光点。如果在同一位置处接收到的光点的波是异相的,则光点的强度可能会相互抵消,使得图像传感器的捕获可能无法感知到接收到的光点。相反,如果波是同相的,则强度可以被放大,并且由于它们的放大强度,因此一个或多个图像传感器像素处的捕获可以是饱和的。这种干扰可以被称为散斑干扰,其是基于场景中的表面对光的散射。由于散斑干扰,因此可能无法识别出码字的光点,并且主动深度感测系统可能无法识别出反射中缺少一个或多个光点的码字。结果,在图像传感器的捕获中包括散斑干扰的深度图可能不包括针对未识别码字的位置的有效深度值(其在所示深度图中可以被示为黑色阴影)。
主动深度感测系统100可以使用较大的码字来克服无法识别一个或多个码字的情况。例如,代替使用4×4码字(并且在接收器进行的捕获中未识别码字的一部分),主动深度感测系统可以使用5×5码字或更大码字。增加码字的大小会增加每个码字的光点的数量,并且附加的光点可以帮助主动深度感测系统100识别捕获中的码字。然而,随着码字大小的增加,深度图的分辨率降低。例如,可以为捕获中识别的一个码字确定一个深度值。如果码字大小从4x4增加到5x5,则分布中的码字数量减少结果,使用5x5码字时深度图的分辨率可能几乎是使用4x4码字时深度图分辨率的一半。
替代使用不同大小码字,主动深度感测系统100可以被配置为发射稀疏的光分布。如本文中所使用的,稀疏的光分布意味着第一光分布的定义区域的光点数量少于第二光分布的光点数量。例如,第一光分布的光点之间的间距可以大于第二光分布的光点之间的间距。增加光点之间的间距可以提高主动深度感测系统识别出捕获中的光分布的一次或多次反射中的每个特定光点的能力。但是类似于增加光分布的码字大小所存在的问题,与使用较密集的光分布相比,使用稀疏的光分布会导致分辨率更低的深度图。
另外,当光分布固定时,所述分布的一些部分不包括光点。例如,光分布104包括不存在光实例的位置。由于光点之间存在间隙,因此场景可能会因光分布104而照明不均匀。场景的照明不均匀还可能会在生成用于生成深度图的深度值时造成困难。
图2A是基于由主动深度感测系统的投射器投射的光分布202生成的深度图204的图示200。深度图204的黑色部分指示无效深度值(即,主动深度感测系统无法确定的深度值)。在深度图204中示出的面部和胸围之外的场景部分可能在主动深度感测系统的感测范围之外。然而,在感测范围内的面部部分也与无效深度值相关联。例如,深度图204的部分206和208包括指示无效深度值的黑色部分。部分206和208中的无效深度值可能是由于主动深度感测系统不能识别用于生成深度图的一次或多次反射中的分布202的码字。
使用与分布202不同的光分布来进行主动深度感测仍可能导致深度图的各部分包括无效深度值。例如,与分布202的互补光分布仍可能与基于互补分布的所得深度图中的无效深度值相关联。如本文所使用的,互补光分布是基本光分布的逆。例如,对于光分布202,每个正方形指示可以包括光点的分布的扇区。深色正方形指示不包括光点的扇区,而浅色正方形指示包括光点的扇区。在一些实施方式中,光分布202由激光器阵列发射,并且分布202中的每个正方形可以与激光器阵列的激光器相关联。深色正方形可以指示未发射光点的激光器,而浅色正方形可以指示在生成光分布202时发射光点的激光器。在一些实施方式中,互补光分布可以指如下光分布:未针对基本分布发射的激光器阵列中的激光器针对互补分布发射,而针对基本分布发射的激光器阵列中的激光器未针对互补分布发射。
图2B是基于由主动深度感测系统的投射器投射的光分布252而生成的深度图254的图示250。分布252是图2A中的分布202的互补分布。使用分布252生成的深度图254仍然包括指示无效深度值的黑色部分。如图所示,与深度图204的部分206和208相对应的深度图254的部分256和258包括指示无效深度值的黑色部分(黑色部分在对应部分206和256以及对应部分208和258内的不同位置中)。
在一些方面中,基于多种光分布生成最终深度图。在一些实施方式中,投射器102被配置为在不同时间投射不同的光分布。例如,投射器102可以被配置为在第一时间投射第一光分布并且在第二时间投射第二光分布。场景中的一个或多个对象的所得深度图因此是基于第一光分布的一次或多次反射和第二光分布的一次或多次反射。光分布之间的码字可以不同,并且主动深度感测系统100可能能够识别与第一光分布中不能识别码字的位置相对应的第二光分布中的码字。在一些实施方式中,用于不同光分布的不同码字可以指每个分布的不同大小的码字、互补光分布或不同发射时间中的一个或多个。以这种方式,可以在生成深度图时生成更多有效深度值,而不会降低深度图的分辨率(诸如通过增加码字的大小)。
返回参考图1,投射器102可以包括任何合适的光源124。在一些实施方式中,光源124可以包括一个或多个垂直腔表面发射激光器(VCSEL)。在一些其它实施方式中,光源124可以包括一个或多个分布式反馈(DFB)激光器或其它合适的激光器。激光器可以被布置在激光器阵列中,所述激光器阵列被配置为发射光分布104作为第一光分布,并且发射具有与光分布104相同的分辨率的一个或多个其它光分布。
在一些实施方式中,一个或多个激光器可以耦合到DOE,并且从激光器发射的光被相关联的DOE接收并引导。耦合的DOE是一种位于来自光源的光的投影路径中的材料。DOE可以被配置为将一个光点分成多个光点。例如,DOE的材料可以是具有已知折射率的半透明或透明聚合物。DOE的表面可以包括峰和谷(改变DOE的深度),使得当光通过DOE时,一个光点分成多个光点。例如,DOE可以被配置为从一个或多个激光器接收一个或多个光点,并且以比由一个或多个激光器发射的光点数量更多的光点来投射预期分布。
如果光源124包括激光器阵列(诸如VCSEL阵列),则光点分布的至少一部分可以由没有DOE的阵列投射。本公开描述了一种激光器阵列,所述激光器阵列被配置为在不使用DOE的情况下发射光分布。然而,光源124的任何合适的配置或用于由投射器102投射光分布的其它部件可以用于执行本公开的各方面。
在以下描述中,阐述了许多特定细节,诸如特定组件、电路和过程的示例,以提供对本公开的透彻理解。如本文所使用的,术语“耦合”是指直接连接到或通过一个或多个中间组件或电路连接。另外,在以下描述中并且出于解释的目的,阐述了特定术语以提供对本公开的透彻理解。然而,对于本领域技术人员将显而易见的是,实践本文所公开的教导可能不需要这些具体细节。在其它实例中,以框图形式示出了公知的电路和设备以避免使本公开的教导混淆。下面的详细描述的一些部分以程序、逻辑框、过程以及对计算机存储器内的数据位的操作的其它符号表示形式呈现。在本公开中,程序、逻辑框、过程等被认为是导致期望结果的步骤或指令的自洽序列。所述步骤是需要物理地操纵物理量的那些步骤。通常,尽管不是必须的,但是这些量采取能够在计算机系统中存储、传递、组合、比较和以其它方式操纵的电或磁信号的形式。
然而,应当牢记,所有这些或类似术语将与适当的物理量相关联并且仅仅是应用于这些量的方便标签。除非从下面的讨论中另外明确指出,否则应当理解,在整个本申请中,利用诸如“访问”、“接收”、“发出”、“使用”、“选择”、“确定”、“标准化”、“相乘”、“平均化”、“监视”、“比较”、“施加”、“更新”、“测量”、“导出”、“解决”等术语进行的讨论是指计算机系统或类似的电子计算设备的动作和过程,所述计算机系统或类似的电子计算设备用于操纵被表示为计算机系统的寄存器和存储器中的物理(电子)量的数据并将其转变为被类似地表示为计算机系统存储器或寄存器或其它此类信息存储、发送或显示设备内的物理量的其它数据。
在附图中,单个框可以被描述为执行一个功能或多个功能;然而,在实际实践中,由所述框执行的一个或多个功能可以在单个组件中或跨多个组件执行,和/或可以使用硬件、使用软件或使用硬件与软件的组合来执行。为了清楚地示出硬件和软件的这种可互换性,各种说明性组件、框、模块、电路和步骤在下文通常根据其功能性进行描述。将这种功能性实施为硬件还是软件取决于强加于整个系统的特定应用和设计约束。技术人员可以针对每个特定应用以不同方式实施所描述的功能性,但是这种实施决策不应被解释为导致脱离本公开的范围。而且,示例性设备可以包括除所示组件之外的组件,包括诸如处理器、存储器等公知组件。
本公开的各方面适用于包括或耦合到一个或多个主动深度感测系统的任何合适的电子设备(诸如安全系统、智能电话、平板计算机、膝上型计算机、车辆、无人机或其它设备)。尽管以下关于具有或耦合到一个光投射器的设备进行了描述,但是本公开的各方面可适用于具有任何数量的光投射器的设备,因此不限于特定设备。
术语“设备”不限于一个或特定数量的物理对象(诸如一个智能电话、一个控制器、一个处理系统等)。如本文所使用的,设备可以是具有可以实施本公开的至少一些部分的一个或多个部分的任何电子设备。尽管以下描述和示例使用术语“设备”来描述本公开的各个方面,但是术语“设备”不限于特定配置、类型或数量的对象。另外,术语“系统”不限于多个组件或特定实施例。例如,一种系统可以在一个或多个印刷电路板或其它基板上实施,并且可以具有可移动或静态的组件。尽管以下描述和示例使用术语“系统”来描述本公开的各个方面,但是术语“系统”不限于特定配置、类型或数量的对象。
图3是包括投射器301的示例性设备300的框图,所述投射器被配置为发射不同的光分布以用于主动深度感测。在一些其它示例中,发射器可以与设备300分离和耦合。示例性设备300可以包括或耦合到投射器301以及通过基线303与投射器301分离的接收器302。接收器302可以是被配置为捕获帧的IR传感器,并且投射器301可以是被配置为投射两种或更多种不同的光分布的投射器。
示例性设备300还可以包括处理器304、存储指令308的存储器306以及光控制器310(所述光控制器可以包括一个或多个图像信号处理器312)。设备300可以任选地包括(或耦合到)显示器314和多个输入/输出(I/O)组件316。设备300还可以包括电源318,所述电源可以耦合到设备300或集成到设备中。设备300可以包括未示出的附加特征或组件。例如,可以包括多个收发器和基带处理器的无线接口可以被包括用于使无线通信设备执行无线通信。在另一个示例中,设备300可以包括一个或多个相机(诸如接触式图像传感器(CIS)相机或用于使用可见光捕获图像的其它合适的相机)。投射器301和接收器302可以是由光控制器310和/或处理器304控制的主动深度感测系统(诸如图1中的系统100)的一部分。设备300可以包括或耦合到附加的光投射器(或泛光照明器),或者可以包括用于光投射器的不同配置。设备300还可以包括或耦合到用于捕获场景的多个帧的附加接收器(未示出)。本公开不限于任何示例或图示,包括示例性设备300。
存储器306可以是存储计算机可执行指令308以执行本公开中描述的一个或多个操作的全部或一部分的非瞬时性或非暂时性计算机可读介质。如果由投射器301投影的每个光分布被划分成码字,则存储器306任选地可以存储用于每个光分布的码字库309,所述库309中包括多个码字。码字库309可以指示分布中存在哪些码字以及分布中的码字之间的相对位置。设备300可以使用码字库309来在与和码字库309相对应的光分布相关联的来自接收器302的捕获内的一次或多次反射中识别码字。存储器306(诸如一个或多个码字库309)可以包括关于一种或多种光分布的附加信息。在一些实施方式中,存储器306包括关于光分布的发射时间(诸如在投射器301投影不同的光分布之前要投影光分布的时间长度)的信息。在一些实施方式中,码字库309可以包括在由投射器301投射的不同的光分布之间的不同大小的码字。
处理器304可以是能够执行一个或多个软件程序的脚本或指令(诸如存储在存储器306内的指令308)的一个或多个合适的处理器。在一些方面中,处理器304可以是一个或多个通用处理器,所述通用处理器执行指令308以使设备300执行任何数量的功能或操作。在附加的或替代方面中,处理器304可以包括集成电路或其它硬件,以在不使用软件的情况下执行功能或操作。在一些实施方式中,处理器304包括一个或多个应用处理器以执行存储在可执行指令308中的应用程序。例如,如果设备300是智能电话或其它计算设备,则处理器304可以执行针对设备300的操作系统的指令,并且处理器304可以向光控制器310提供指令以控制主动深度感测系统。
尽管在图3的示例中示出为经由处理器304彼此耦合,但是在各种布置中,处理器304、存储器306、光控制器310、任选的显示器314和任选的I/O组件316可以彼此耦合。例如,处理器304、存储器306、光控制器310、任选的显示器314和/或任选的I/O组件316可以经由一根或多根本地总线(为简单起见未示出)彼此耦合。
显示器314可以是允许用户交互和/或呈现供用户查看的项目(诸如深度图、场景的预览图像、锁屏等)的任何合适的显示器或屏幕。在一些方面中,显示器314可以是触敏显示器。I/O组件316可以是或包括用于从用户接收输入(诸如命令)并向用户提供输出的任何适当的机构、接口或设备。例如,I/O组件316可以包括(但不限于)图形用户界面、键盘、鼠标、麦克风和扬声器、设备300的可挤压边框或边界、位于设备300上的物理按钮等等。显示器314和/或I/O组件316可以向用户提供场景的预览图像或深度图和/或接收用于调整设备300的一个或多个设置的用户输入。
光控制器310可以包括信号处理器312,所述信号处理器可以是一个或多个处理器以配置投射器301并处理由接收器302捕获的帧。在一些方面中,图像信号处理器312可以执行来自存储器的指令(诸如来自存储器306的指令308或存储在耦合到图像信号处理器312的单独的存储器中的指令)。在其它方面中,图像信号处理器312可以包括用于操作的特定硬件。图像信号处理器312可以替代地或另外包括特定硬件与执行软件指令的能力的组合。
在一些实施方式中,处理器304可以被配置为向图像信号处理器312提供指令。指令可以由图像信号处理器312执行以配置用于处理来自接收器302的帧的滤波器或图像处理管线的其它组件。指令还可以由图像信号处理器312执行以将投射器301配置为投射一种或多种光分布以进行主动深度感测。尽管可以关于设备300描述本公开的以下方面,但是任何合适的设备或设备组件的配置可以用于执行本公开的各方面,并且本公开不受特定的设备配置的限制。
图4是包括激光器404的激光器阵列402的图示400,所述激光器被配置为发射第一光分布和一个或多个其它光分布(包括第二光分布)。激光器阵列402可以具有任何合适的大小。在一些实施方式中,激光器阵列402包括VCSEL的阵列(每个激光器404是VCSEL)。以这种方式,激光器阵列402的所示部分可以被配置为发射第一4x4码字406和第二4x4码字408。
可以优化光分布(包括码字)以使用光分布来改进深度感测。例如,光点位于光分布中以增加识别光的反射中的相关联的码字的可能性。如果激光器阵列402被配置为发射两个或更多个光分布,则可以优化每个分布(包括码字的优化)。以这种方式,第一光分布可以被称为原始光分布(包括原始码字406),并且第二光分布可以被称为双重光分布(包括双重码字408)。在本公开中,形容词“原始”和“双重”是指光分布(以及相关联的码字)被优化。
为了优化,激光器阵列402的操作满足一个或多个标准以优化光分布。一个标准可以是每个码字中的光点分布是唯一的。以这种方式,同一码字的多个实例不会出现在光分布中。其它标准可以是,主动深度感测期间VCSEL的操作保持在阈值占空比(例如,VCSEL通电或脉动的时间与VCSEL未通电或未脉动的时间的阈值比)以下。以这种方式,防止激光器阵列402过热。另一标准可以是光点的位置使对应的深度图满足阈值质量度量(诸如在校准期间在无效深度值的数量或比率以下)。
上述标准对应于优化单个光分布。光分布也可以相对于彼此优化。例如,另一标准可以是,每个VCSEL在由激光器阵列402发射的多个光分布中的至少一个期间发射光点。以这种方式,与将单个固定的光分布用于主动深度感测相比,场景的照明更均匀。另外,原始码字406在原始光分布中的位置对应于双重码字408在双重光分布中的位置。其它标准可以是,在原始光分布与一个或多个双重光分布之间的对应位置处的码字彼此唯一。以这种方式,在光分布中,相同的码字不用于相同的位置。另一标准可以是,每个VCSEL发射的平均亮度或光强度与激光器阵列中的其它VCSEL大致相同。以这种方式,一个VCSEL的平均强度不高于其它VCSEL的平均强度,以允许调整VCSEL的总功率(因此调整光分布的总强度),而每个VCSEL的发射保持低于所需的强度阈值(诸如基于眼睛安全标准、政府法规等等)。
以这种方式,如本文所使用的,优化可以指代配置不同的光分布以提高深度图的准确性和分辨率(同时符合设备或法规要求)。例如,不同的光分布可以被配置为减小深度图中不能生成深度值的区域(诸如通过未识别光分布的一个或多个码字)。在另一个示例中,不同的光分布可以被配置为相对于最终深度图的没有深度值的区域而平衡最终深度图的分辨率(诸如分辨率满足第一阈值和深度值的区域保持在第二阈值以下)。配置不同的光分布可以包括配置每个光分布的码字的大小、每个光分布的发射时间、每个光分布的码字的布局、或不同的光分布的区域之间的关系。不同的光分布之间的示例性关系可以包括在相同区域中彼此互补的码字(诸如原始码字406和双重码字408)。参考图10更详细地描述了多种光分布的优化。
在一些实施方式中,激光器阵列402可以被配置为发射与原始光分布互补的双重光分布。例如,双重码字408与原始码字406互补,其中VCSEL针对原始光分布而脉动,或者针对双重光分布而脉动。另外,再次参考图2A和2B,图2B中的分布252与图2A中的分布202互补。以这种方式,确保每个VCSEL(或其它合适的激光器或光源)至少针对第一光分布或第二光分布中的一个而脉动。另外,当另一种光分布脉动时,VCSEL或激光器处于静止状态(不脉动),这有助于防止激光器阵列过热。在一些实施方式中,每个激光器(诸如每个VCSEL)针对第一光分布(可以处于第一时间)或第二光分布(可以处于第二时间)中的仅一个而脉动。以这种方式,激光器可以针对第一时间或第二时间中的仅一个发射。
返回参考图4,对于原始码字406的第一列,三个激光器404发射光,而一个激光器404不发射光。对于与原始码字406互补的双重码字408,未针对原始码字406的第一列发射的一个激光器404针对双重码字408发射光。而且,其它三个激光器404也不为双重码字408发射光。在一些实施方式中,发射光以用于第一光分布的激光器阵列402的第一多个激光器404可以连接在一起,并且发射光以用于第二光分布的激光器阵列402的第二多个激光器404可以连接在一起。例如,被配置为针对原始码字406的第一列发射光的激光器404A、404C和404D可以被连接以在第一时间期间耦合到电源414,并且被配置为针对双重码字408的第一列发射光的激光器404B可以被单独地连接到激光器402中的其它激光器以在第二时间期间耦合到电源414。在一些实施方式中,激光器404A、404C和404D可以经由基板418耦合,并且激光器404B可以经由基板410与其它激光器耦合。投射器可以包括开关412,所述开关被配置为在将基板418耦合到电源414与将基板410耦合到电源414之间切换。
如果光分布彼此互补,则每个激光器404仅耦合到基板418或基板410。如果光分布不是互补的,则一个或多个激光器可以耦合到两个基板418和410。尽管未示出,但是投射器可以被配置为发射三种或更多种光分布。例如,激光器阵列402可以被配置为发射原始分布、第一双重分布和第二双重分布。激光器阵列402的第一多个激光器404和第二多个激光器404中的一些可以因此耦合到第三基板(未示出),并且开关412可以被配置为在三个基板之间切换(并且因此使投射器在三种不同的光分布之间切换)。如果存在第二双重分布,则第一双重分布或第二双重分布中的至少一个与原始分布不互补,因为在不同分布中的对应位置处的码字将是唯一的。因此,双重光分布不一定与原始光分布互补。
如本文所述,投射器301(图3)被配置为在发射第一光分布与发射第二光分布(以及任选地,发射附加的光分布)之间切换。图5是描绘用于主动深度感测的投射器301的示例性操作500的说明性流程图。在502处,投射器301在第一时间发射第一光分布。在504处,投射器301在第二时间发射第二光分布。场景中的一个或多个对象的所生成的深度图是基于第一光分布的一次或多次反射和第二光分布的一次或多次反射。第一时间和第二时间可以包括任何合适的时间实例(诸如合适的开始时间或结束时间)。第一时间和第二时间还可以包括任何合适的持续时间(诸如投射第一光分布的第一持续时间和投射第二光分布的第二持续时间)。在一些实施方式中,投射器301还可以在第三时间发射第三光分布(506)。投射器301可以在其它时间进一步发射其它光分布(未示出)。场景中的一个或多个对象的所生成的深度图也可以基于第三光分布的一次或多次反射(以及任何其它光分布的一次或多次反射)。
接收器302被配置为以帧捕获速率(诸如每秒30帧)捕获帧。在一些实施方式中,投射器301被配置为发射用于第一帧捕获的第一光分布并且发射用于第二帧捕获的第二光分布。以这种方式,单个帧捕获不包括第一光分布和第二光分布两者的反射。例如,激光器阵列的第一多个激光器可以被配置为在第一帧捕获期间(诸如在帧的开始处或在用于由接收器302捕获帧的曝光窗口处)对光点进行脉动,并且激光器阵列的第二多个激光器可以被配置为在第二帧捕获期间对光点进行脉动。在一些实施方式中,投射器301的开关被配置为配置哪些激光器在哪个帧捕获期间脉动。在一些其它实施方式中,可以对激光器的脉动和充电间隔进行协调和定时,使得第一多个激光器和第二多个激光器在适当时间(诸如对于第一多个激光器在第一帧激光捕获期间以及对于第二多个激光器在第二帧激光捕获期间)闪烁以进行主动深度感测。
在一些实施方式中,投射器301被配置为在发射第一光分布与发射第二光分布之间周期性地交替。第一光分布的每次发射可以与接收器302的图像传感器的第一帧捕获集合中的一个帧相关联,并且第二光分布的每次发射可以与接收器302的图像传感器的第二帧捕获集合中的一个帧相关联。图像信号处理器312可以被配置为基于从接收器302接收的第一帧集合来生成第一深度值集,并且基于从接收器302接收的第二帧集合来生成第二深度值集。
图6是描绘基于投射器301在发射第一光分布与发射第二光分布之间交替的主动深度感测的示例性操作600的说明性流程图。在n被设置为1的情况下,在接收器302的图像传感器进行的帧捕获n期间,投射器301发射第一光分布(602)。在一些实施方式中,投射器301的激光器阵列在帧捕获n期间使原始光分布脉动(604)。在606处,接收器302的图像传感器捕获帧n,并且帧捕获包括第一光分布的一次或多次反射。将帧捕获提供给光控制器310,并且图像信号处理器312基于帧捕获来生成深度值集合n(608)。例如,图像信号处理器312可以通过在帧捕获中识别第一光分布的码字并基于所识别的码字确定场景中的一个或多个对象的深度来基于帧捕获生成第一深度图。
为了说明,图7是第一光分布与第二光分布之间的示例性交替发射的图示700(诸如通过图3中的投射器301)。图示700还示出了用于交替光分布的示例性所得的深度值集合(被示出为深度图)。在示例性实施方式中,第一光分布是图2A中的分布202,而第二光分布是图2B中的分布252。在此示例中,第一光分布是原始分布,而第二光分布是双重分布,所述双重分布是第一光分布的互补分布。投射器301投射与帧捕获1相关联的第一分布702。例如,投射器301可以在用于帧捕获1的曝光窗口的至少一部分期间(可以被称为在帧捕获1期间)投射第一分布702。接收器302捕获帧1,并且图像信号处理器312基于所捕获的帧1生成第一深度值集合(可以被表示为第一深度图704)。
返回参考图6,n可以递增(610)。然后,投射器301可以发射与接收器302的图像传感器的帧捕获n相关联的第二光分布(612)。例如,投射器301可以在用于帧捕获n的曝光窗口的至少一部分期间(可以被称为在帧捕获n期间)投射第二分布706。在一些实施方式中,投射器301的激光器阵列可以使与帧捕获n相关联的双重光分布脉动(614)。在616处,接收器302的图像传感器捕获帧n,并且帧捕获包括第二光分布的一次或多次反射。将帧捕获提供给光控制器310,并且图像信号处理器312基于帧捕获来生成深度值集合n(618)。例如,图像信号处理器312可以通过在帧捕获中识别第二光分布的码字并基于所识别的码字确定场景中的一个或多个对象的深度来基于帧捕获生成第二深度值集合(诸如第二深度图的第二深度值集合)。为了说明,返回参考图7,投射器301投射与帧捕获2相关联的第二分布706。接收器302捕获帧2,并且图像信号处理器312基于所捕获的帧2生成第二深度值集合(由第二深度图708表示)。
返回参考图6,n可以递增(620),并且过程可以返回到步骤602。为了说明,再次参考图7,投射器301发射与帧捕获3相关联的光的第一分布702,并且图像信号处理器312可以基于所捕获的帧3生成由深度图710表示的深度值。投射器301然后可以发射与帧捕获4相关联的第二光分布706,并且图像信号处理器312可以基于所捕获的帧4生成深度值(可以由图7中未示出的深度图表示)。投射器301可以在主动深度感测期间针对由图像传感器捕获的附加帧继续在发射第一光分布702与发射第二光分布706之间交替,并且图像信号处理器312可以继续基于接收器302的帧捕获生成深度值集合。尽管图6和图7中的示例性实施方式描绘了投射器301在两种光分布之间交替,但是投射器301可以被配置为在三种或更多种光分布之间切换。另外,尽管图6和图7中的示例性实施方式描绘了投射器301针对每次帧捕获而交替,但是投射器301可以在任何合适的时间交替。例如,投射器301可以针对每隔一次帧捕获或针对每x次帧捕获而交替。
图像信号处理器312可以基于第一帧捕获(诸如由图7中的第一深度图704所描绘的)来生成第一深度值集合。图像信号处理器312还可以基于第二帧捕获(诸如由图7中的第二深度图708所描绘的)来生成第二深度值集合。在一些实施方式中,图像信号处理器312可以为每次帧捕获生成深度值集合。如上所述,每个深度值集合的各部分可以包括无效深度值。然而,场景中与第一帧捕获的无效深度值相对应的位置可以不同于场景中与第二帧捕获的无效深度值相对应的位置。图像信号处理器312可以被配置为组合深度值集合以生成最终深度值集合。以这种方式,如果某个位置与来自多个深度值集合中的至少一个有效深度值相关联,则可以减少场景中与无效深度值相关联的位置的数量。例如,再次参考图7,设备300可以生成第一深度值集合,其可以由大小为P×Q的第一深度图704表示,所述第一深度图是基于与第一光分布702的发射相关联的第一帧捕获。设备300还可以生成第二深度值集合,其可以由大小为P×Q的第二深度图708表示,所述第二深度图是基于与第二光分布706的发射相关联的第二帧捕获。设备300可以被配置为组合第一深度值集合(由第一深度图704表示)和第二深度值集合(由第二深度图708表示)的至少各部分以生成最终深度值集合(可以由最终深度图表示)。例如,设备300可以比较第一深度图和第二深度图中的对应位置处的一个或多个深度值,以在最终深度图中的位置处生成最终深度值。
图8是描绘组合大小为P x Q的第一深度图的深度值和大小为P x Q的第二深度图的深度值以生成最终深度图的深度值的示例性操作800的示例性流程图。在802处,将变量p设置为1(p小于或等于P)。变量p用于在两个深度图的深度值组合期间跟踪深度图中的深度值的对应行。在804处,将变量q设置为1(q小于或等于Q)。变量q用于在两个深度图的深度值组合期间跟踪深度图中的深度值的对应列。
设备300(诸如图像信号处理器312或其它合适的设备组件)确定在第一深度图中的位置p x q处的第一深度值是否有效。图9是被组合以生成最终深度图906的深度值的深度值的示例性第一深度图902和示例性第二深度图904的图示900。第一深度图902可以是由图像信号处理器312确定的第一深度值集合的视觉图示,而第二深度图904可以是由图像信号处理器312确定的第二深度值集合的视觉图示。如图所示,第一深度图902的大小为P×Q,而第二深度图904的大小为P×Q。深度图902和904的深度值被组合以生成大小为P x Q的最终深度图906的深度值。设备300可以确定第一深度图902中的1×1处的深度值是否有效。在生成无效深度值时,如果针对与深度图902中的位置1x1相关联的反射的部分识别出不足数量的光点或未识别出光点的位置,则设备300可能无法识别与位置相关联的码字。因此,设备300可能无法确定所述位置的有效深度值。设备300通过将深度值设置为预定义值、通过使用非数字(NaN)指示来指示无效深度值、将深度值留空用于所述位置或者通过任何其它合适的方式指示无效的深度值来指示所述位置与无效深度值相关联。在一些实施方式中,设备300可以识别可能存在于与深度图902中的位置1x1相关联的反射的部分中的多个可能码字。以这种方式,设备300可以基于码字存在于反射的部分中的可能性来将置信度值与每个可能码字相关联。例如,设备300可以在相对于彼此的正确位置中识别可能码字的光点的75%,但是设备300无法识别可能码字的光点的25%。可以对其它的可能码字执行类似的识别。以这种方式,设备300可以确定两个或更多个码字同等可能与所述位置相关联(诸如两个码字的50%置信度值)。因而,设备300无法确定与所述位置相关联的实际码字。在一些实施方式中,设备300基于具有最大置信度值且其置信度值高于阈值的所识别的码字来确定深度值是有效的。尽管在以上示例中提供了仅基于在反射中识别码字的光点来识别单个码字,但是对码字的识别(诸如生成可能码字的置信度值)也可以基于在反射中识别相邻码字、识别与其它光分布相关联并与要识别的当前码字相对应的码字,或识别码字的其它合适参数。如果针对所述位置识别了码字,则设备300可以基于码字的光点在反射中相对于彼此的位置和失真来确定深度图902中的位置的有效深度值。
在确定深度值无效时,设备300可以确定深度值被设置为预定值以指示无效深度值,所述深度值未被设置为数字或值,所述深度值与NaN指示相关联,或深度值是无效深度值的任何其它合适的指示。深度图902在位置1x1处具有黑色阴影,指示深度图902中的位置的无效深度值。
返回参考图8,在一些实施方式中,设备300还可以确定第二深度图中的位置p x q处的第二深度值是否为有效深度值(808)。例如,设备300可以确定深度图904(图9)中的位置1×1处的深度值是否有效(诸如上文描述的)。深度图904在位置1x1处具有黑色阴影,指示深度图904中的位置的无效深度值。
以这种方式,在最终深度图中的位置p x q处的最终深度值是基于第一深度值和/或第二深度值的有效性。在一些其它实施方式中,如果第一深度值有效,则设备300可以使用第一深度值作为最终深度值(与第二深度值无关)。例如,对于与原始光分布相关联的深度图,如果深度值有效,则有效深度值将自动用作最终深度图的最终深度值,而无需考虑来自与双重光分布相关联的深度图的深度值的有效性。在另一个示例中,对于作为来自被组合的深度图的最新深度图的深度图,如果深度值有效,则有效深度值自动用作最终深度值。在该示例中,如果要组合两个以上的深度值集合(其可以对应于两个或更多个深度图),则设备300可以使用来自最新的深度值集合(对应于最新的深度图)的深度值,其中深度值被确定有效。在此类示例中,如果第一深度值无效,则设备300可以继续确定第二深度值的有效性,以便确定是否存在与最终深度图中的位置p x q相对应的任何有效深度值。
返回参考图8,如果第一深度值或第二深度值都不是有效深度值(810),则设备300阻止确定在最终深度图中的位置p x q处有效的最终深度值。例如,设备300可以将最终深度值设置为无效值(诸如用于指示无穷大或错误的NaN指示、预定义值等等)。然后,所述过程进行到判定820。如图9所示,最终深度图906中的位置1x1处的最终深度值是无效深度值(由深度图906左上角的黑色阴影指示)。
返回参考图8中的判定810,如果第一深度值或第二深度值中的至少一个是有效的,则设备300可以使用第一深度值或第二深度值中的至少一个用于生成最终深度图中的最终深度值(812)。在一些实施方式中,如果第一深度值和第二深度值都是有效的,则设备300组合第一深度值和第二深度值(814)。例如,设备300可以将深度值平均化。在一些其它示例中,设备300可以找到中值深度值,基于深度图的寿命执行加权平均,或用于组合深度值的任何其它合适的手段。
在生成最终深度值的一些其它实施方式中,如果深度值中的仅一个是有效的,则设备300可以使用来自第一深度值或第二深度值的有效深度值(816)。例如,如果第一深度值是有效的而第二深度值是无效的,则设备300可以将最终深度值设置为第一深度值。在生成最终深度值的一些其它实施方式中,仅当第一深度值无效时,设备300才可以使用第二深度值(818)。例如,只要第一深度值是有效的(即使第二深度值可能是有效的),设备300就可以将第一深度值用作最终深度值。然而,如果第一深度值是无效的而第二深度值是有效的,则设备300可以将第二深度值用作最终深度值。
进行到判定820,如果变量q不等于Q(设备300没有沿着行p为每列q生成最终深度值),则q递增(822),并且所述过程返回到步骤806。在820处,如果变量q等于Q,则所述过程进行到判定824。在824处,如果变量p不等于P(设备300尚未为最终深度图的每行p生成最终深度值),则p递增(826),并且所述过程返回到步骤804。在824处,如果变量p等于P,则已经生成了所有最终深度值(用于最终深度图),并且所述过程结束。如图9所示,在一些实施方式中,设备300可以进行通过从上到下的方式逐行依次比较深度图中的深度值。然而,可以使用任何合适的方法(诸如从下到上、伪随机或其它手段)来逐步遍历深度图的深度值。参考图9,由最终深度图906示出的最终深度值集合(作为由第一深度图902示出的第一深度值集合和由第二深度图904示出的第二深度值集合的组合)所包括的无效深度值比第一深度值集合或第二深度值集合少(如最终深度图906中的无效深度值的位置比深度图902和904中的无效深度值的位置少所示)。例如,与深度图902和904中的面部的嘴和眼睛相比,最终深度图906中的面部的嘴和眼睛处的黑色区域更少。
尽管图8和图9描绘了两个深度图(表示两个深度值集合)被组合以生成最终深度图的最终深度值集合,但是任何数量的深度值集合可以被组合以生成最终深度值集合。在一些实施方式中,如果三个或更多个深度值集合被组合,则示例性操作800可以被扩展以组合多个深度值集合。例如,可以将有效深度值平均化,或者可以使用有效的最新深度值,以生成最终深度值。
在一些其它实施方式中,多个深度值集合可以与相同的光分布相关联。例如,返回参考图7,深度图704和深度图710示出了与第一光分布702相关联的两个深度值集合,并且深度图708(以及用于帧捕获4的另一深度图,未示出)示出了与第二光分布706相关联的两个深度值集合。结果,可能存在与不同的帧捕获相关联但具有相同的第一光分布的第一数量的深度值集合,并且可能存在与不同的帧捕获相关联但具有相同的第二光分布的第二数量的深度值集合。如果投射器301投射三种不同的光分布,则可能存在与不同的帧捕获相关联但具有相同的第三光分布的第三数量的深度值集合。
在一些实施方式中,深度值集合可以如本文参考图8所述地组合在一起。在一些其它实施方式中,与第一光分布相关联的深度值可以被组合以生成第一最终深度值集合,与第二光分布相关联的深度值可以被组合以生成第二最终深度值集合,并且第一最终深度值集合和第二最终深度值集合可以被组合以生成总的最终深度值集合。组合深度值集合(诸如以生成第一最终深度值集合,以生成第二最终深度值集合或生成总的最终深度值集合)的每个操作可以如本文参考图8中所描述的那样。然而,尽管已经描述了用于组合深度值的深度集合的一些实施方式,但是可以执行用于基于两个或更多个深度值集合来生成最终深度值集合(诸如用于最终深度图)的任何合适的手段。例如,为了清楚起见,图8描绘了组合类似大小的深度值集合(由类似大小的深度图表示)。在一些其它实施方式中,深度图或深度值集合可以具有不同的大小。例如,第一光分布可以与第一大小的码字相关联,而第二光分布可以与第二大小的码字相关联。以这种方式,基于第一光分布生成的第一深度图和基于第二光分布生成的第二深度图具有不同的大小。在组合第一深度图和第二深度图时,第一深度图中的每个位置可以与第二深度图中的位置相关联。如果使用不同大小的码字,则大小为P x Q的第一深度图中的位置p x q可以对应于大小为R x S的第二深度图中的位置r x s。深度图之间的深度值的对应位置可以基于其相应的深度图中的类似位置。例如,如果 则第一深度图中的位置p x q可以对应于第二深度图中的位置r x s。与对应位置相关联的深度值可以被组合以生成最终深度值。最终深度图可以具有任何合适的分辨率。例如,最终深度图可以具有(第一深度图的)第一大小,(第二深度图的)第二大小或第一大小或第二大小之间的大小。为了生成最终深度值集合,可以执行用于组合来自不同大小集合的深度值的任何合适的手段。
再次参考图6和图7,尽管已经在针对不同的分布分开生成深度值或深度图的集合时描述了上述方法,但是来自一个分布的反射可以用于帮助识别来自另一分布的反射中的码字。例如,对于原始光分布和双重光分布,设备300可以映射或以其它方式确定光分布之间的码字的对应位置。此映射可以被存储在存储器306中(诸如被包括在一个或多个码字库309中)。在一个特定示例中,如果双重光分布与原始光分布互补,则当在帧捕获中识别出用于双重光分布的码字时,设备300确定码字的补码存在于针对原始光分布的另一个帧捕获中的类似位置处。以这种方式,确定与原始光分布和双重光分布相对应的场景的相同区域的深度值可以基于从光分布中的任一个中识别出码字。另外,在与场景的相同区域相对应的多种光分布中识别出码字允许设备300验证一个或多个码字没有被误识别。在图像传感器捕获中识别出包括光分布的反射的码字可以被称为解码,并且对于不同的帧捕获使用多种光分布来对光分布中的类似位置进行解码可以被称为互补解码。互补解码减小了散斑干扰的影响,从而阻止对一个或多个码字的识别(并因此确定场景中的某个位置的有效深度值),因为这种互补解码在光发射和接收时提供了空间分集。
如本文所描述,投射器301可以被配置为在不同的时间发射不同的光分布,并且不同的光分布可以用于生成场景的最终深度值集合(诸如用于最终深度图)。第一光分布可以以一种或多种方式不同于第二光分布。在一些实施方式中,第一光分布可以在空间上与第二光分布不同,并且第一光分布可以在时间上与第二光分布不同。在空间上不同,第一光分布和第二光分布可以包括光点的不同位置。在时间上不同,第一光分布和第二光分布可以投射达不同的持续时间。另外,要组合的深度值集合的参数可以不同。例如,第一深度值集合或深度图可以具有第一大小或分辨率,而第二深度值集合或深度图可以具有第二大小或分辨率。第一大小和第二大小可以基于用于第一光分布和用于第二光分布的不同大小的码字。
确定多种光分布(包括光点的空间分布、投射光点的时间和持续时间以及每种光分布的码字的大小)可以被概念化为多维问题。一个或多个维度可以包括一个或多个空间维度、时间维度和阵列维度(对于所述阵列维度而言,所述阵列是多种光分布相对于彼此的序列)。例如,如果第一光分布是(X1,Y1)(其中(X1,Y1)中的(x1,y1)指示VCSEL阵列中位于行x1和列y1的位置处的VCSEL),则第二分布光是(X2,Y2),投射(X1,Y1)和(X2,Y2)的一个或多个时间方面是T,并且序列中的(X1,Y1)和(X2,Y2)的阵列是Z,多维问题可以包括配置(X1,Y1)、(X2,Y2)和T(其中Z是基于(X1,Y1)和(X2,Y2))以优化主动深度感测的投射分布。优化多种光分布可以包括配置(X1,Y1)、(X2,Y2)和T以提高最终深度图的分辨率和解码成功率。尽管在示例中描述了两个光分布(X1,Y1)和(X2,Y2),但是可以配置任何数量的分布(诸如(X3,Y3)、(X4,Y4)等等)。
光分布(X1,Y1)和(X2,Y2)的大小是相同的(X1=X2并且Y1=Y2)。(X1,Y1)中的每个位置(x,y)可以为零以指示对于所述位置而言没有投射光,或者可以为一以指示对于所述位置而言投射了光。(X2,Y2)的每个位置(x,y)可以为零以指示对于所述位置而言没有投射光,或者可以为一以指示对于所述位置而言投射了光。如果(X1,Y1)和(X2,Y2)是互补的,则(X2,Y2)的位置(x,y)处的值((x2,y2))可能是(X1,Y1)的位置(x,y)处的值((x1,y1))的逆。例如,如果(X1,Y1)和(X2,Y2)是互补的,并且(x1,y1)等于1,则(x2,y2)等于0。Z可以被概念化为阵列(Z1,Z2),为此,(Z1,Z2)中的每个(z1,z2)等于((x1,y1),(x2,y2))。
T可以包括与投射(X1,Y1)相关联的分量t1和与投射(X2,Y2)相关联的分量t2。分量t1可以指示(X1,Y1)被投射的持续时间,并且分量t2可以指示(X2,Y2)被投射的持续时间。持续时间可以是与帧捕获相关联的持续时间或与多个帧捕获相关联的总持续时间。例如,t1可以是为帧捕获1投射(X1,Y1)的持续时间,而t2可以是为帧捕获2投射(X2,Y2)的持续时间。在另一个示例中,t1可以是两个或多个帧捕获1、3、5等等的平均持续时间、中值持续时间或总持续时间。t1可以是两个或多个帧捕获2、4、6等等的平均持续时间、中值持续时间或总持续时间。以这种方式,可以将第一光分布(包括t1)定义为(X1,Y1,t1),并且可以将第二光分布(包括t2)定义为(X2,Y2,t2)。因此,确定(X1,Y1)、(X2,Y2)和T包括在优化光分布时确定(X1,Y1,t1)和(X2,Y2,t2)。
如上所述,优化光分布可以包括提高最终深度图的分辨率和/或深度值的解码成功率(同时符合设备或法规要求)。在一些实施方式中,确定多个候选的光分布(诸如多个第一光分布(X1,Y1,t1)及其相关联的第二光分布(X2,Y2,t2))。测试场景用于为每个候选生成最终深度图的最终深度值集合,并且可以将最终深度值集合(诸如最终深度图)进行比较以确定最终的第一光分布和最终第二光分布。
图10是描绘优化用于投射的光分布以进行主动深度感测的示例性操作1000的说明性流程图。例如,可以在优化(X1,Y1,t1)和(X2,Y2,t2)时执行操作1000。在1002处,设备300(图3)可以获得一个或多个分布参数。分布参数可以包括一个或多个参数以配置第一光分布(诸如(X1,Y1,t1))和第二光分布(诸如(X2,Y2,t2))。一个或多个分布参数可以基于设备限制、标准要求、安全法规或最佳实践。
关于设备限制,设备300的一个或多个组件可以具有物理限制或要求。例如,VCSEL可能具有最大占空比(用于VCSEL发光时),以防止过热。以这种方式,一个或多个分布参数(可以用于确定VCSEL的t1和t2)可以基于最大占空比。在另一个示例中,接收由VCSEL发射的光的反射的每个图像传感器像素与图像传感器像素饱和时的光量相关联。以这种方式,一个或多个分布参数(其可以用于确定VCSEL的t1和t2)可以基于与图像传感器像素饱和相关联的光量。另外,如果在图像传感器像素处接收到来自(X1,Y1)或(X2,Y2)的多个位置的反射,则一个或多个分布参数(可以用于确定(X1,Y1)或(X2,Y2))可以基于与图像传感器像素饱和相关联的光量。例如,如果(X1,Y1)中的每个位置(x1,y1)对应于VCSEL阵列中的VCSEL,则一个或多个VCSEL在第一光分布的发射期间还是在第二光分布的发射期间发射光可以基于与一个或多个图像传感器像素饱和相关联的光量。
可能还需要设备300遵守一个或多个标准(诸如来自电气或电子工程学院(IEEE)或另一个标准机构的标准)或一个或多个法规(诸如来自联邦、州、省、国际或其它政府机构的法规)。例如,对于一些波长的发射光,可能需要在一定时间范围内从VCSEL发射的光量要低于最大能量。以这种方式,VCSEL的发射强度与发射持续时间的组合可以被配置为小于最大能量。还可以配置多个VCSEL的组合(诸如整个VCSEL阵列或VCSEL阵列的一部分),使得发射强度和发射持续时间在一段时间内导致发射的总能量为少于最大能量。以这种方式,可以确定并调整区域中多少个VCSEL同时发射光和/或所述区域中每个VCSEL发射光的占空比以遵守任何合适的标准和规定,并且可以基于此类确定和调整来配置光分布。
除了物理限制、标准要求或法规要求之外,光分布还可以基于一种或多种最佳实践。如本文所使用的,最佳实践可以包括用于设计光分布以改进主动深度感测系统的性能的一个或多个概念。在一些实施方式中,最佳实践可以包括配置光分布,使得整个场景被均匀地照亮。与场景照明不均匀相比,场景的均匀照明可以允许在来自场景的反射的更多区域中识别出码字。例如,如果码字仅与一个光点相关联(仅一个VCSEL为码字发光),则光点的位置可能很难在反射中识别出来,并且可能无法识别码字。相反,如果码字与除一之外的所有可能光点相关联(仅一个VCSEL不会为码字发光),则光点在反射中的位置可能难以识别出来,并且可能无法识别码字。例如,如果第一光分布包括4x4大小的码字,则第一码字仅与要发光的一个VCSEL相关联,而第二码字与要发光的15个VCSEL相关联,可能难以在反射中识别第一码字和第二码字。可以配置第一光分布,使得第一光分布的每个码字与发光的最小数量的VCSEL相关联。在一些实施方式中,第一光分布还可以被配置为使得每个码字与发光的最大数量的VCSEL相关联。以这种方式,第一光分布的每个码字与要发光的VCSEL的有界范围相关联(诸如对于每个码字16个VCSEL,6至11个VCSEL的范围或另一个合适的范围)。如果第二光分布与第一光分布互补(并且具有与第一光分布相同大小的码字),则第二光分布的每个码字也可以与要发光的VCSEL的有界范围相关联。以这种方式,可以通过第一光分布和第二光分布两者均匀地照明场景。
在最佳实践的另一个示例中,与更少光点相关联的码字可以是与光分布中的更多的光点相关联的相邻码字。以这种方式,码字相对于反射中的其它码字的位置不仅可以基于所识别的光点的位置,而且还基于反射的区域中的所识别的光点的数量。在最佳实践的另一示例中,用于码字或用于相邻码字的相邻VCSEL可以被配置为并非全部针对光分布而发射。例如,对于相同的光分布,来自VCSEL阵列3x3部分的VCSEL可能不会全部发光。以这种方式,光点可能不会集中到光分布的一个或多个区域。
尽管提供了一些示例性设备限制、标准要求、法规要求和最佳实践作为示例性分布参数,但是可以使用其它合适的设备限制、标准要求、法规要求和最佳实践。提供示例用于描述本公开的各方面,但是分布参数不限于所提供的示例。因而,可以获得和使用任何合适的分布参数。
在一些实施方式中,可以将分布参数分类为空间参数。如本文所使用的,空间参数可以指代用于确定光分布中的光点的位置的分布参数。因而,空间参数可以用于配置第一光分布的X1和Y1以及配置第二光分布的X2和Y2。每个码字的光点的数量和每个码字的光点的位置可以是示例性空间参数。
在一些实施方式中,可以将分布参数分类为阵列的参数。如本文所使用的,阵列的参数可以指代用于基于多种光分布彼此之间的关系来确定对多种光分布的限制的分布参数。例如,阵列的参数可以是每个VCSEL将在至少一种光分布期间发射光。如果仅两个光分布或被发射,则可以确定第二光分布与第一光分布互补,以确保每个VCSEL在所发射的光分布中的一个期间发射光。
在一些实施方式中,可以将分布参数分类为时间参数。如本文所使用的,时间参数可以指用于确定用于发射光分布的时间的分布参数。因而,时间参数可以用于配置第一光分布的t1或配置第二光分布的t2。作为一个示例,如果在发射时VCSEL的发射强度没有变化,则可以基于VCSEL发射光的持续时间来满足针对VCSEL的最大能量限制量。因而,时间参数可以包括VCSEL可以发光以用于光分布的最大时间量。
分布参数可能存在于多个类别中。例如,VCSEL可以发射光用于光分布的最大时间量(根据时间参数的上述示例)适用于每个光分布。因而,最大时间量也可以是阵列的参数。在另一个示例中,最大能量限制量还可以适用于覆盖多个相邻VCSEL的光分布的区域。因而,满足最大能量限制可以基于发射时间以及发射位置。因此,分布参数可以是空间参数和时间参数。
返回参考图10,设备300可以基于一个或多个分布参数来确定要投射的光分布(1004)。例如,设备300可以基于一个或多个分布参数来配置第一光分布(诸如(X1,Y1,t1))和第二光分布(诸如(X2,Y2,t2))。在一些实施方式中,设备300基于用于光分布的一个或多个空间参数来确定光分布(1006)。在一些实施方式中,设备300基于多种光分布的阵列的一个或多个参数来确定光分布(1008)。在一些实施方式中,设备300基于用于光分布的一个或多个时间参数来确定光分布(1010)。
在设备300基于一个或多个分布参数配置第一光分布(例如(X1,Y1,t1))和第二光分布(例如(X2,Y2,t2))的一个示例中,设备300可以使用第一光分布和第二光分布的预设配置。例如,先前为另一个设备确定的、理论上为设备300设计的或以其它方式确定的最终(X1,Y1,t1)和(X2,Y2,t2)可以被提供给设备300或存储在设备300中(诸如存储在存储器306中)。然后可以使用所提供的或存储的(X1,Y1,t1)和(X2,Y2,t2)来设置初始的第一光分布和初始的第二光分布。在判定框1012处,如果光分布满足分布参数,则操作1000可以进行到步骤1014。在1014处,设备300可以存储光分布作为最终光分布的候选。
在确定光分布是否满足分布参数的一些实施方式中,设备300可以使用光分布在场景上执行主动深度感测。例如,在设备300的校准期间,可以将测试场景置于光分布的发射场中。可以执行主动深度感测,并且可以查看所得深度值以确定是否满足每个分布参数。如果使用为另一个设备确定的光分布,则光分布对于设备300可能不足以使得满足分布参数。例如,透镜、图像传感器或其它设备组件的差异可能导致光分布不满足一个或多个分布参数。在另一个示例中,先前确定的光分布可能不适合当前案例。例如,如果光分布被设计用于比场景(诸如测试场景)中的对象更远离设备300的对象,则可以基于深度差异来确定光分布不满足一个或多个分布参数。返回参考判定框1012,如果光分布不满足分布参数,则设备300可以不将光分布存储为最终光分布的候选。
在一些实施方式中,如果光分布是最终光分布的候选,则设备300可以将光分布用于进一步的主动深度感测,而无需调整光分布。以这种方式,第一候选光分布可以是用于主动深度感测的最终光分布。
在一些其它实施方式中,可以调整光分布以尝试基于场景来改进主动深度感测的性能,或者可以调整光分布以尝试使光分布满足分布参数。例如,在1016处,设备300可以基于一个或多个分布参数来调整光分布。所述过程可以返回到判定框1012,并且可以将调整后的光分布用于主动深度感测以确定调整后的光分布是否是最终光分布的候选。
尽管未示出,但是可以比较使用候选光分布的结果以确定最终光分布。例如,可以将使用第一候选确定的深度图或深度值与使用第二候选确定的深度图或深度值进行比较。被选择为最终光分布的候选可以基于任何合适的标准。例如,最终光分布可以基于候选光分布在深度图中导致最少数量的无效深度值(诸如图9中的深度图906中最少的黑色空间)。在另一个示例中,最终光分布可以基于候选光分布在深度图中导致小于最大阈值的无效深度值,同时提供分辨率大于最小阈值的深度图。用于生成具有最少数量的无效深度值(低于最大阈值)的最高分辨率深度图的候选可以是最终光分布。
返回参考步骤1016,可以对光分布执行任何适当的调整。在一些实施方式中,对光分布的调整可以是用于生成一个或多个候选的反馈系统。例如,所述调整可以基于当前的光分布以及一个或多个分布参数。
图11是用于为最终光分布确定一个或多个候选的示例性反馈系统1100的图示。示例性反馈系统1100的过程被描述为由设备300(图3)执行。例如,所述过程可以由光控制器310或处理器304执行。然而,所述过程可以由任何合适的设备组件执行。替代地,所述过程可以由另一个设备执行。例如,如果设备300在制造期间被校准,则校准设备或测试设备可以执行所述过程以确定最终光分布。因而,示例性反馈系统1100的过程不限于由特定设备组件或设备300本身执行。
在1104处,设备300可以基于一个或多个分布参数1102而生成光分布。如在示例中所使用的,生成光分布包括确定在每个光分布期间VCSEL阵列的哪些VCSEL将会发光以及确定将要发射每个光分布的时间。例如,对于要生成的第一光分布和第二光分布,设备300可以确定(X1,Y1,Z,t1)和(X2,Y2,Z,t2)(或(X1,Y1,t1)和(X2,Y2,t2),其中Z从确定的变量中推断)。如果对于反馈系统1100是第一次生成光分布,则对于先前的光分布可能没有任何反馈。在一些实施方式中,初始的光分布可以是预配置的分布集合(诸如为另一个设备确定的或基于设备300的仿真或理论操作确定的光分布)。
如果光分布在先前的光分布之后,则在1104处生成光分布也可以基于关于先前的光分布的反馈。在一些实施方式中,基于关于先前的光分布的反馈来生成光分布可以包括调整先前的光分布。例如,可以基于反馈和一个或多个分布参数1102来调整先前分布的一个或多个变量(X1,Y1,t1)或(X2,Y2,t2),以在1104处生成光分布。在一些其它实施方式中,在1104处生成光分布包括使用先前的光分布。然后可以在1106至1110处调整光分布。在一些其它实施方式中,设备300可以基于反馈和一个或多个分布参数来生成新的光分布。例如,可以存储或接收第二预定义分布集合,并且在1104处生成光分布可以包括设备300使用第二分布集合。在一些实施方式中,可以基于反馈和一个或多个分布参数1102来修改第二分布集合。在一些其它实施方式中,可以存储或获得附加的分布集合。设备300在1104处生成光分布时可以基于反馈和一个或多个分布参数1102来选择集合中的一个作为光分布。例如,如果使用先前的光分布不满足时间参数(可以由反馈指示),则设备300可以选择具有与先前的光分布不同的t1或t2的分布集合。
在1106处,设备300可以基于一个或多个空间参数来配置所生成的光分布。例如,设备300可以确保每个码字与针对每种光分布的VCSEL发射的有界范围相关联。如果设备300识别出任何码字都与针对分布的有界范围发射之外的多个VCSEL相关联,则设备300可以基于所识别的码字来调整光分布。在一些实施方式中,对先前分布的反馈还可以指示是否不满足空间参数。如果对于先前的光分布不满足空间参数,则设备300可以基于先前不满足空间参数来调整所生成的光分布(诸如针对第一分布调整X1或Y1或针对第二分布调整X2或Y2)。如果基于一个或多个空间参数不进行调整(诸如设备300确定当前的光分布应满足一个或多个空间参数,并确定先前的光分布满足一个或多个空间参数),则在1106处配置分布可以包括不调整在1104处生成的光分布(诸如保留先前生成的分布)。例如,在基于1106处的空间参数配置分布时,设备300可以不针对第一分布调整X1和Y1并且不针对第二分布调整X2和Y2。
在1108处,设备300可以基于阵列的一个或多个参数来配置所生成的光分布。类似于以上对于1106的描述,在1108处进行配置可以包括基于对于先前的分布是否满足阵列的一个或多个参数(诸如由反馈指示)来调整分布。在1108处进行配置还可以包括基于对于当前分布不满足阵列的一个或多个参数来调整分布。如果设备300根据反馈和一个或多个参数1102确定对于如当前生成的分布满足阵列的一个或多个参数,则在1108进行配置还可以包括不调整当前的光分布(诸如保留在1104处生成的分布或在1106处调整的分布)。
在1110处,设备300还可以基于一个或多个时间参数来配置所生成的光分布。类似于以上对于1106和1108的描述,在1110处进行配置可以包括基于对于先前的分布是否满足一个或多个时间参数(诸如由反馈指示)来调整分布。在1110处进行配置还可以包括基于对于当前分布不满足一个或多个时间参数来调整分布。如果设备300根据反馈和一个或多个参数1102确定对于如当前生成的分布满足一个或多个时间参数,则在1110进行配置还可以包括不调整当前的光分布(诸如保留在1104处生成的分布或在1106或1108处调整的分布)。在1112处,设备300确定当前分布是否满足一个或多个参数1102。如本文所使用的,满足一个或多个参数1102可以被称为分布合格,而不满足一个或多个参数1102可以被称为分布失败。1112可以类似于图10中的判定框1012。如果光分布合格,则可以将光分布视为用于主动深度感测的最终光分布1116的候选。
在1112的一些其它实施方式中,确定光分布是合格还是失败包括确定主动深度感测系统使用当前的光分布或先前的光分布是否执行得更好。例如,可以将场景的并且与当前的光分布相对应的深度图与场景的并且与先前的光分布相对应的深度图进行比较。如果将对应的深度图识别为更好的深度图,则当前的光分布可能会合格。例如,如果深度图包括较少数量的无效深度值,则深度图可能更好。在另一个示例中,如果深度图的分辨率高于少于阈值数量的无效深度值,则深度图可能更好。如果当前的光分布合格,则在1112处可以将下一个光分布的深度图与当前的光分布的深度图进行比较。如果当前的光分布失败,则可以将下一个光分布的深度图与先前的光分布的深度图进行比较。
在1114处,设备300在1110处的配置之后基于所生成的光分布来生成反馈。例如,在1104处,设备300可以将(X1,Y1,t1)和(X2,Y2,t2)确定为光分布。在1110处的配置之后,调整后的光分布可以是(X1',Y1',t1')和(X2',Y2',t2')。所生成的反馈可以包括变量(X1',Y1',t1')和(X2',Y2',t2')。
在一些实施方式中,设备300可以将变量序列编码为反馈。例如,设备300可以对指示[X1',Y1',t1',X2',Y2',t2']的序列进行编码。所编码的序列还可以指示光分布是合格还是失败,是否在生成后进行了任何调整(诸如[X1,Y1,t1,X2,Y2,t2]与[X1',Y1',t1’,X2',Y2',t2']之间是否有差异),哪些分布参数导致分布失败,或任何其它合适的信息。
如上所述,可以将生成和调整光分布概念化为多维问题。例如,调整X1或Y1可能会影响t1,t2,X2,Y2或Z。类似地,调整不同的变量可能会影响其它变量。因此,将包括空间维度、时间维度和阵列维度的变量配置在一个空间中,每个维度与其它维度相关(诸如4d空间)。因而,可以基于维度之间的关系来同时、按顺序或以任何合适的顺序执行在1106至1110处配置光分布,以确定针对最终光分布的变量(X1,Y1,t1)和(X2,Y2,t2)。然后可以将最终光分布用于主动深度感测,诸如以上参考图4至9所述的。
除非特别描述为以特定方式实施,否则本文描述的技术可以以硬件、软件、固件或其任意组合来实施。被描述为模块或组件的任何特征也可以一起在集成逻辑设备中实施,或者作为离散但可互操作的逻辑设备分开实施。如果以软件实施,则所述技术可以至少部分地由包括指令308的非暂时性处理器可读存储介质(诸如图3的示例性设备300中的存储器306)实现,所述指令在由处理器304(或控制器310或图像信号处理器312)执行时使设备300执行上述一种或多种方法。非暂时性处理器可读数据存储介质可以形成计算机程序产品的一部分,所述计算机程序产品可以包括包装材料。
非易失性处理器可读存储介质可以包括随机存取存储器(RAM),诸如同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、其它已知的存储介质等。另外或替代地,所述技术可以至少部分地由处理器可读通信介质来实现,所述处理器可读通信介质以指令或数据结构的形式携带或传送代码,并且可以由计算机或其它处理器来访问、读取和/或执行。
结合本文公开的实施例描述的各种说明性逻辑框、模块、电路和指令可以由一个或多个处理器(诸如图3的示例性设备300中的处理器304或图像信号处理器312)执行。此(此类)处理器可以包括但不限于一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、专用指令集处理器(ASIP)、现场可编程门阵列(FPGA)或其它等效的集成或离散逻辑电路。如本文所使用的术语“处理器”可以指代任何前述结构或者适合于实施本文描述的技术的任何其它结构。另外,在一些方面中,可以在如本文所述配置的专用软件模块或硬件模块内提供本文所述的功能性。同样,所述技术可以在一个或多个电路或逻辑元件中完全实施。通用处理器可以是微处理器,但是任选地,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可以被实施为计算设备的组合,例如,DSP与微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核或者任何其它这样的配置。
尽管本公开示出了说明性方面,但是应当注意,在不脱离所附权利要求的范围的情况下,可以在本文中进行各种改变和修改。另外,除非另外明确说明,否则根据本文描述的方面的方法权利要求的功能、步骤或动作不需要以任何特定顺序执行。例如,所描述的示例性操作的步骤在由设备300、控制器310、处理器304和/或图像信号处理器312执行时可以以任何顺序和以任何频率执行。此外,尽管元件可以以单数形式描述或要求保护,但是除非明确说明了限制为单数形式,否则可以想到复数形式。因此,本公开不限于所示的示例,并且用于执行本文描述的功能性的任何手段都包括在本公开的各方面中。
Claims (30)
1.一种用于主动深度感测的装置,其包括投射器,所述投射器被配置为:
在第一时间期间发射第一光分布;以及
在第二时间期间发射与所述第一光分布不同的第二光分布,
其中,场景中的一个或多个对象的最终深度值集合基于所述第一光分布的一次或多次反射和所述第二光分布的一次或多次反射。
2.根据权利要求1所述的装置,其中,所述投射器还被配置为在第三时间期间发射与所述第一光分布和所述第二光分布不同的第三光分布,其中,所述场景中的所述一个或多个对象的所述最终深度值集合进一步基于所述第三光分布的一次或多次反射。
3.根据权利要求1所述的装置,其中:
所述投射器包括激光器阵列;并且
对于所述激光器阵列中的每个激光器,所述激光器在所述第一时间或所述第二时间中的一个或多个期间发射光。
4.根据权利要求3所述的装置,其中,对于所述激光器阵列中的每个激光器,所述激光器在所述第一时间或所述第二时间中的一个期间发射光。
5.根据权利要求1所述的装置,其还包括:
图像传感器,被配置为:
在与所述第一时间相关联的第一帧的捕获期间接收所述第一光分布的一次或多次反射;并且
在与所述第二时间相关联的第二帧的捕获期间接收所述第二光分布的一次或多次反射;以及
图像信号处理器,被配置为:
基于所述第一帧生成第一深度值集合;
基于所述第二帧生成第二深度值集合;并且
组合所述第一深度值集合和所述第二深度值集合以生成所述最终深度值集合。
6.根据权利要求5所述的装置,其中:
所述投射器被配置为在发射所述第一光分布与发射所述第二光分布之间周期性地交替,其中:
所述第一光分布的每次发射与所述图像传感器对第一帧集合中的一个帧的捕获相关联;并且
所述第二光分布的每次发射与所述图像传感器对第二帧集合中的一个帧的捕获相关联;
所述图像信号处理器被配置为:
基于所述第一帧集合生成所述第一深度值集合;并且
基于所述第二帧集合生成所述第二深度值集合。
7.根据权利要求5所述的装置,其中:
所述第一深度值集合被包括在第一深度图中;
所述第二深度值集合被包括在第二深度图中,其中,来自所述第一深度值集合中的第一深度值的所述第一深度图中的第一位置对应于来自所述第二深度值集合中的第二深度值的所述第二深度图中的第二位置;并且
生成所述最终深度值集合包括:
确定所述第一深度值是否为有效深度值;
确定所述第二深度值是否为有效深度值;以及
基于所述第一深度值或所述第二深度值中的仅一个被确定为有效深度值,将所述最终深度值集合中的最终深度值设置为所述有效深度值。
8.根据权利要求7所述的装置,其中,生成所述最终深度值集合还包括基于所述第一深度值和所述第二深度值两者被确定为有效深度值而将所述最终深度值设置为以下一项:
所述第一深度值;
所述第二深度值;或者
所述第一深度值与所述第二深度值的平均值。
9.根据权利要求5所述的装置,其还包括:
处理器,被配置为向所述图像信号处理器提供指令以供执行;
存储器,被配置为存储所述最终深度图;以及
显示器,被配置为显示所述最终深度图。
10.根据权利要求1所述的装置,其中,所述投射器被配置为在发射所述第一光分布与发射所述第二光分布之间交替,其中:
所述第一光分布是原始光分布;
所述第二光分布是双重光分布;以及
所述原始光分布和所述双重光分布被相互参照设计,以允许图像传感器的帧捕获的相同部分互补解码为来自所述原始光分布和来自所述双重光分布的码字。
11.根据权利要求1所述的装置,其中,基于一个或多个维度参数,在一个或多个空间维度、时间维度和阵列维度中确定所述第一光分布和所述第二光分布。
12.一种用于主动深度感测的方法,其包括:
由投射器在第一时间期间发射第一光分布;以及
由所述投射器在第二时间期间发射与所述第一光分布不同的第二光分布,
其中,场景中的一个或多个对象的最终深度值集合基于所述第一光分布的一次或多次反射和所述第二光分布的一次或多次反射。
13.根据权利要求12所述的方法,其还包括由所述投射器在第三时间期间发射与所述第一光分布和所述第二光分布不同的第三光分布,其中,所述场景中的所述一个或多个对象的所述最终深度值集合进一步基于所述第三光分布的一次或多次反射。
14.根据权利要求12所述的方法,其还包括:
由所述投射器的激光器阵列中的每个激光器在所述第一时间或所述第二时间中的一个或多个期间发射光。
15.根据权利要求14所述的方法,其还包括:
由所述激光器阵列中的每个激光器在所述第一时间或所述第二时间中的一个期间发射光。
16.根据权利要求12所述的方法,其还包括:
由图像传感器在与所述第一时间相关联的第一帧的捕获期间接收所述第一光分布的一次或多次反射;
由所述图像传感器在与所述第二时间相关联的第二帧的捕获期间接收所述第二光分布的一次或多次反射;
由所述图像信号处理器基于所述第一帧生成第一深度值集合;
由所述图像信号处理器基于所述第二帧生成第二深度值集合;以及
组合所述第一深度值集合和所述第二深度值集合以生成所述最终深度值集合。
17.根据权利要求16所述的方法,其还包括:
在发射所述第一光分布与发射所述第二光分布之间周期性地交替,其中:
所述第一光分布的每次发射与所述图像传感器对第一帧集合中的一个帧的捕获相关联;并且
所述第二光分布的每次发射与所述图像传感器对第二帧集合中的一个帧的捕获相关联;
基于所述第一帧集合生成所述第一深度值集合;以及
基于所述第二帧集合生成所述第二深度值集合。
18.根据权利要求16所述的方法,其中:
所述第一深度值集合被包括在第一深度图中;
所述第二深度值集合被包括在第二深度图中,其中,来自所述第一深度值集合中的第一深度值的所述第一深度图中的第一位置对应于来自所述第二深度值集合中的第二深度值的所述第二深度图中的第二位置;以及
生成所述最终深度值集合包括:
确定所述第一深度值是否为有效深度值;
确定所述第二深度值是否为有效深度值;以及
基于所述第一深度值或所述第二深度值中的仅一个被确定为有效深度值,将所述最终深度值集合中的最终深度值设置为所述有效深度值。
19.根据权利要求18所述的方法,其中,生成所述最终深度值集合还包括基于所述第一深度值和所述第二深度值两者被确定为有效深度值而将所述最终深度值设置为以下一项:
所述第一深度值;
所述第二深度值;或者
所述第一深度值与所述第二深度值的平均值。
20.根据权利要求12所述的方法,其中,所述投射器被配置为在发射所述第一光分布与发射所述第二光分布之间交替,其中:
所述第一光分布是原始光分布;
所述第二光分布是双重光分布;
所述原始光分布和所述双重光分布相互参照设计,以允许图像传感器的帧捕获的相同部分互补解码为来自所述原始光分布和来自所述双重光分布的码字。
21.根据权利要求12所述的方法,其中,基于一个或多个维度参数,在一个或多个空间维度、时间维度和阵列维度中确定所述第一光分布和所述第二光分布。
22.一种存储指令的非暂时性计算机可读介质,所述指令在由执行主动深度感测的设备的一个或多个处理器执行时使所述设备:
由投射器在第一时间期间发射第一光分布;并且
由所述投射器在第二时间期间发射与所述第一光分布不同的第二光分布,
其中,场景中的一个或多个对象的最终深度值集合基于所述第一光分布的一次或多次反射和所述第二光分布的一次或多次反射。
23.根据权利要求22所述的计算机可读介质,其中,所述指令的执行还使所述设备:
由所述投射器在第三时间期间发射与所述第一光分布和所述第二光分布不同的第三光分布,其中,所述场景中的所述一个或多个对象的所述最终深度值集合进一步基于所述第三光分布的一次或多次反射。
24.根据权利要求22所述的计算机可读介质,其中,所述指令的执行还使所述设备:
由图像传感器在与所述第一时间相关联的第一帧的捕获期间接收所述第一光分布的一次或多次反射;
由所述图像传感器在与所述第二时间相关联的第二帧的捕获期间接收所述第二光分布的一次或多次反射;
由所述图像信号处理器基于所述第一帧生成第一深度值集合;
由所述图像信号处理器基于所述第二帧生成第二深度值集合;并且
组合所述第一深度值集合和所述第二深度值集合以生成所述最终深度值集合。
25.根据权利要求24所述的计算机可读介质,其中,所述指令的执行还使所述设备:
在发射所述第一光分布与发射所述第二光分布之间周期性地交替,其中:
所述第一光分布的每次发射与所述图像传感器对第一帧集合中的一个帧的捕获相关联;并且
所述第二光分布的每次发射与所述图像传感器对第二帧集合中的一个帧的捕获相关联;
基于所述第一帧集合生成所述第一深度值集合;并且
基于所述第二帧集合生成所述第二深度值集合。
26.根据权利要求24所述的计算机可读介质,其中:
所述第一深度值集合被包括在第一深度图中;
所述第二深度值集合被包括在第二深度图中,其中,来自所述第一深度值集合中的第一深度值的所述第一深度图中的第一位置对应于来自所述第二深度值集合中的第二深度值的所述第二深度图中的第二位置;并且
生成所述最终深度值集合包括:
确定所述第一深度值是否为有效深度值;
确定所述第二深度值是否为有效深度值;并且
基于所述第一深度值或所述第二深度值中的仅一个被确定为有效深度值,将所述最终深度值集合中的最终深度值设置为所述有效深度值。
27.根据权利要求22所述的计算机可读介质,其中,所述指令的执行还使所述设备在由所述投射器发射所述第一光分布与发射所述第二光分布之间交替,其中:
所述第一光分布是原始光分布;
所述第二光分布是双重光分布;并且
所述原始光分布和所述双重光分布被相互参照设计,以允许图像传感器的帧捕获的相同部分互补解码为来自所述原始光分布和来自所述双重光分布的码字。
28.根据权利要求22所述的计算机可读介质,其中,基于一个或多个维度参数,在一个或多个空间维度、时间维度和阵列维度中确定所述第一光分布和所述第二光分布。
29.一种用于主动深度感测的设备,其包括:
用于在第一时间期间发射第一光分布的部件;以及
用于在第二时间期间发射与所述第一光分布不同的第二光分布的部件,
其中,场景中的一个或多个对象的最终深度值集合基于所述第一光分布的一次或多次反射和所述第二光分布的一次或多次反射。
30.根据权利要求29所述的设备,其还包括:
用于在与所述第一时间相关联的第一帧的捕获期间接收所述第一光分布的一次或多次反射的部件;
用于在与所述第二时间相关联的第二帧的捕获期间接收所述第二光分布的一次或多次反射的部件;
用于基于所述第一帧生成第一深度值集合的部件;
用于基于所述第二帧生成第二深度值集合的部件;以及
用于组合所述第一深度值集合和所述第二深度值集合以生成所述最终深度值集合的部件。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GR20190100583 | 2019-12-30 | ||
GR20190100583 | 2019-12-30 | ||
US16/893,081 | 2020-06-04 | ||
US16/893,081 US11580654B2 (en) | 2019-12-30 | 2020-06-04 | Alternating light distributions for active depth sensing |
PCT/US2020/062931 WO2021137992A1 (en) | 2019-12-30 | 2020-12-02 | Alternating light distributions for active depth sensing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114902066A true CN114902066A (zh) | 2022-08-12 |
Family
ID=76546469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080089735.XA Pending CN114902066A (zh) | 2019-12-30 | 2020-12-02 | 用于主动深度感测的交替光分布 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11580654B2 (zh) |
EP (1) | EP4085272A1 (zh) |
CN (1) | CN114902066A (zh) |
TW (1) | TW202129362A (zh) |
WO (1) | WO2021137992A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023078986A1 (en) * | 2021-11-04 | 2023-05-11 | Trinamix Gmbh | Eye safety for projectors |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8538166B2 (en) | 2006-11-21 | 2013-09-17 | Mantisvision Ltd. | 3D geometric modeling and 3D video content creation |
CN106796661B (zh) * | 2014-08-12 | 2020-08-25 | 曼蒂斯影像有限公司 | 投影光图案的系统、方法和计算机程序产品 |
US9778476B2 (en) | 2014-11-03 | 2017-10-03 | Aquifi, Inc. | 3D depth sensor and projection system and methods of operating thereof |
US10677923B2 (en) | 2014-11-12 | 2020-06-09 | Ams Sensors Singapore Pte. Ltd. | Optoelectronic modules for distance measurements and/or multi-dimensional imaging |
US9958758B2 (en) * | 2015-01-21 | 2018-05-01 | Microsoft Technology Licensing, Llc | Multiple exposure structured light pattern |
US9694498B2 (en) * | 2015-03-30 | 2017-07-04 | X Development Llc | Imager for detecting visual light and projected patterns |
US10132616B2 (en) * | 2015-04-20 | 2018-11-20 | Samsung Electronics Co., Ltd. | CMOS image sensor for 2D imaging and depth measurement with ambient light rejection |
US9989630B2 (en) | 2015-05-13 | 2018-06-05 | Infineon Technologies Ag | Structured-light based multipath cancellation in ToF imaging |
US10306203B1 (en) * | 2016-06-23 | 2019-05-28 | Amazon Technologies, Inc. | Adaptive depth sensing of scenes by targeted light projections |
US10827163B2 (en) | 2016-08-09 | 2020-11-03 | Facebook Technologies, Llc | Multiple emitter illumination source for depth information determination |
EP3500820A4 (en) * | 2016-08-18 | 2020-04-29 | Ramot at Tel-Aviv University Ltd. | PROJECTOR OF STRUCTURED LIGHT |
JP6999658B2 (ja) * | 2016-09-30 | 2022-01-18 | マジック リープ, インコーポレイテッド | 空間光変調を伴うプロジェクタ |
US10681331B2 (en) * | 2017-02-06 | 2020-06-09 | MODit 3D, Inc. | System and method for 3D scanning |
US10284836B2 (en) * | 2017-02-08 | 2019-05-07 | Microsoft Technology Licensing, Llc | Depth camera light leakage avoidance |
US10419741B2 (en) * | 2017-02-24 | 2019-09-17 | Analog Devices Global Unlimited Company | Systems and methods for compression of three dimensional depth sensing |
US10620316B2 (en) * | 2017-05-05 | 2020-04-14 | Qualcomm Incorporated | Systems and methods for generating a structured light depth map with a non-uniform codeword pattern |
US10542245B2 (en) | 2017-05-24 | 2020-01-21 | Lg Electronics Inc. | Mobile terminal and method for controlling the same |
-
2020
- 2020-06-04 US US16/893,081 patent/US11580654B2/en active Active
- 2020-12-02 EP EP20834011.7A patent/EP4085272A1/en active Pending
- 2020-12-02 WO PCT/US2020/062931 patent/WO2021137992A1/en unknown
- 2020-12-02 CN CN202080089735.XA patent/CN114902066A/zh active Pending
- 2020-12-03 TW TW109142621A patent/TW202129362A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
TW202129362A (zh) | 2021-08-01 |
WO2021137992A1 (en) | 2021-07-08 |
US11580654B2 (en) | 2023-02-14 |
US20210201519A1 (en) | 2021-07-01 |
EP4085272A1 (en) | 2022-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6193390B2 (ja) | 構造化された光のアクティブ深度検知システムにおける光源電力の動的調整 | |
JP2021039131A (ja) | Tofカメラシステムおよび該システムにより距離を測定するための方法 | |
WO2020150131A1 (en) | Three-dimensional sensor including bandpass filter having multiple passbands | |
JP6847922B2 (ja) | 構造化照明のためのコード領域パワー制御 | |
CN112055820B (zh) | 利用不同发射场的飞行时间测距 | |
US10771768B2 (en) | Systems and methods for improved depth sensing | |
KR20150006438A (ko) | 능동 깊이 감지를 위한 아핀-불변 공간 마스크의 수신 | |
CN107408306B (zh) | 一种产生对象的深度图信息的方法、设备及可读介质 | |
TW202004217A (zh) | 結構化的光系統之飛行時間距離探測器 | |
KR102483462B1 (ko) | ToF 모듈 | |
US11303817B2 (en) | Active sensor, object identification system, vehicle and vehicle lamp | |
CN114902066A (zh) | 用于主动深度感测的交替光分布 | |
US20230267628A1 (en) | Decoding an image for active depth sensing to account for optical distortions | |
KR100661861B1 (ko) | 적외선 플래시 방식의 능동형 3차원 거리 영상 측정 장치 | |
US20210264625A1 (en) | Structured light code overlay | |
US10852126B2 (en) | Method and arrangement for optically capturing an object with a light pattern projection | |
US11438486B2 (en) | 3D active depth sensing with laser pulse train bursts and a gated sensor | |
CN111630567A (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 |