获取3D图像的方法和设备与流程

文档序号:24641828发布日期:2021-04-13 12:08阅读:61来源:国知局
获取3D图像的方法和设备与流程
获取3d图像的方法和设备
技术领域
1.本公开总体上涉及用于获得三维(3d)图像的方法和设备,更具体地,涉及用于获得物体或场景的深度的方法和设备。


背景技术:

2.增强现实(ar)和虚拟现实(vr)技术的发展导致人们对三维(3d)相机的兴趣日益浓厚。3d相机可以安装在各种电子设备(诸如移动设备或计算机)中,或者可以作为独立的电子设备提供。
3.3d相机可以采用立体被动或主动投射方案以获得3d图像。立体被动方案可以生成环境的稀疏深度图或半稀疏深度图。然而,立体被动方案在低纹理和低照度条件下效率低下。创建密集的深度图需要更高的计算复杂度。
4.为了生成深度图,主动投射方案可以使用从3d相机投射的光的飞行时间(tof)或从3d相机投射的图案的失真。在使用tof时,可以基于多个点之间的距离和基于多个tof计算出的场景来获得深度图。但是,此方案可能会存在在短距离内应用时的较大深度误差。
5.图案失真方案可以通过将特定图案投射到物体或场景上,检测被该物体或场景所变形的图案,然后基于所检测到的图案失真来获取深度图。三角测量可以用于计算图案失真与物体之间的距离。图案失真方案也可以称为三角测量技术或结构光(sl)方案(因为该图案被视为sl)。三角测量技术中的误差在短距离内可能很小,但由于三角测量本身的局限性,随着范围的扩大,误差通常会变得越来越严重。


技术实现要素:

6.技术问题
7.因此,通常难以将用于获得3d图像的常规技术应用于需要在较宽的深度范围内具有较高质量的深度图的ar/vr应用。
8.技术方案
9.因此,本公开的一方面在于提供一种用于在较宽的深度范围内自适应地获得较高质量的深度图的方法和设备。
10.根据本公开的一方面,提供了一种用于由光束投射器和光束检测器的设备获得3d图像的方法。该方法包括:从所述光束投射器向物体顺序地投射多个光束,所述多个投射光束中的每一个投射光束对应于图案中包括的多个扇区中的相应扇区;由所述光束检测器检测从所述物体反射的与所述多个投射光束相对应的多个光束;基于所检测到的多个光束来识别所述多个投射光束中的每一个投射光束的飞行时间(tof);基于所检测到的多个光束来识别由所述物体引起的所述图案的失真;以及基于所述图案的失真和所述多个投射光束中的每一个投射光束的tof,生成所述物体的深度图,其中,所检测到的多个光束通常用于识别所述tof和所述图案的失真。
11.根据本公开的一方面,提供了一种用于获得3d图像的设备。所述设备包括:光束投
射器,所述光束投射器被配置为向物体顺序地投射多个光束,所述多个投射光束中的每一个投射光束对应于图案中包括的多个扇区中的相应扇区;光束检测器,所述光束检测器被配置为检测从所述物体反射的与所述多个投射光束相对应的多个光束;以及控制器,所述控制器被配置为基于所检测到的多个光束来识别所述多个投射光束中的每一个投射光束的飞行时间(tof),基于所检测到的多个光束来识别由所述物体引起的所述图案的失真,以及基于所述图案的失真和所述多个投射光束中的每一个投射光束的tof,生成所述物体的深度图,其中,所检测到的多个光束通常用于识别所述tof和所述图案的失真。
附图说明
12.根据结合附图进行的以下详细描述,本公开的某些实施例的上述和其他方面、特征和优点将更加明显,其中:
13.图1是示出了根据实施例的用于获得3d图像的设备的框图;
14.图2是示出了根据实施例的光束投射器的框图;
15.图3是示出了根据实施例的用于获得3d图像的方法的流程图;
16.图4示出了根据实施例的用于投射多个光束的图案;
17.图5示出了根据实施例的用于检测失真的图案;
18.图6示出了根据实施例的用于检测tof的图案;
19.图7示出了根据实施例的修改图案的分辨率的示例;
20.图8示出了根据实施例的图案移位的示例;
21.图9示出了根据实施例的图案;
22.图10示出了根据实施例的基于图案的投射光束的顺序;
23.图11示出了根据实施例的投射光束并检测反射的示例;
24.图12示出了根据实施例的用于利用同步信号投射光束的方法;
25.图13示出了根据实施例的用于检测tof的方法;以及
26.图14示出了根据实施例的用于基于sl获得到物体的距离的方法。
27.在所有附图中,相同的附图标记可以表示相同的部件、组件、结构等。
具体实施方式
28.现在将参考附图详细描述本公开的各种实施例。在以下描述中,仅提供诸如详细配置和组件之类的具体细节以帮助对这些实施例的整体理解。因此,本领域技术人员将理解,在不脱离本公开的范围和精神的情况下,可以对本文所述的实施例进行各种改变和修改。另外,为了清楚和简洁,省略了对公知功能和构造的描述。
29.尽管可以使用诸如“第一”和“第二”之类的以数字表示的术语来描述各种组件,但是这些组件不受术语的限制。提供这些术语只是为了将一个组件与另一个组件区分开。因此,在本公开的技术精神内,本文描述的第一组件也可以被称为第二组件,反之亦然。
30.图1是示出了根据实施例的用于获得3d图像的设备的框图。
31.参照图1,用于获得3d图像的设备100可以是3d相机或包括3d相机的电子设备。设备100包括光束投射器110、光束检测器120、控制器130和存储器140。
32.光束投射器110可以生成光束并向场景150或物体投射光束。场景150可以表示被
投射由光束投射器110生成的以生成3d图像的光束的区域。物体可以表示对其生成3d图像的事物。由光束投射器110生成的光束可以是红外线(ir)光束,但不限于此,也可以是可见或紫外线(uv)光束或其他各种频率的光束。
33.图2是示出了根据实施例的光束投射器的框图。
34.参照图2,光束投射器110包括激光器111、激光器驱动器114、第一镜112、第二镜113和微机电系统(mems)驱动器115。激光器111可以生成并发射预设频率的激光束。激光器111的运行可以由激光器驱动器114控制。从激光器111发射的激光束被引导至第一镜112,该第一镜112将激光束反射到第二镜113。例如,第一镜112可以是固定的镜,但不限于此。第二镜113将来自第一镜112的激光束反射到场景150。可以旋转第二镜113以控制从光束投射器110发射的光束b1的方向。例如,可以绕两个轴旋转第二镜113。
35.可以使用mems来操作第二镜113。mems驱动器115可以使用mems来控制第二镜113的旋转。
36.返回参照图1,光束检测器120可以检测从光束投射器110发射并被场景150反射的光束b2。光束检测器120可以检测反射光束b2的存在与否以及其亮度或强度。例如,光束检测器120可以检测ir光束。然而,光束检测器120可检测的光束的频带不限于ir频带。
37.光束检测器120可以被配置为检测从光束投射器110发射的光束b1的频带。光束检测器120可以检测反射光束b2的频带的信号。光束检测器120可以是能够捕获特定区域(例如,场景150的区域)的二维(2d)相机。2d相机可以包括光敏像素的阵列。例如,可以将2d相机的光敏像素划分为用于检测tof的像素和用于检测反射图案的像素。可替代地2d相机的多个光敏像素中的至少一个可以用于检测tof和反射图案。
38.控制器130可以控制光束投射器110和光束检测器120的运行。控制器130可以基于光束检测器120检测到的反射光束b2,计算并生成场景150或物体的深度图。
39.存储器140可以存储用于操作控制器130的指令。存储器140可以存储用于操作控制器130所必需的永久或临时数据。存储器140可以存储关于用于光束投射器110进行投射光束b1的一个或更多个图案的信息。
40.图3是示出了根据实施例的用于获得3d图像的方法的流程图。例如,图3的方法可以由诸如图1所示的设备100之类的用于获得3d图像的设备来执行,或更具体地,图3的方法还可以由诸如图1所示的控制器130之类的控制器执行,该控制器实质上控制用于获得3d图像的设备100的组件的运行。
41.参照图3,在步骤310,设备100基于图案顺序地投射多个光束。
42.在步骤320,设备100检测多个光束的反射,例如从场景150反射回来的光束。
43.在步骤330,设备100基于检测到的多个光束的反射来识别多个投射光束的各自的tof。
44.在步骤340中,设备100识别图案的失真,并且在步骤350中,设备100基于tof和图案失真来生成深度图。
45.图4示出了根据实施例的用于投射多个光束的图案。例如,图4中的图案可以被用于在步骤310中顺序地投射多个光束。
46.参照图4,图案400被分成多个扇区(或部分)410。图案400的每个扇区410由像素表示。这些光束可以以对应于它们各自的扇区的方式来被投射。与多个扇区410的较暗扇区相
对应的光束和与多个扇区410的较亮扇区相对应的光束可以被不同地调制。例如,与较暗扇区相对应的光束和与较亮扇区相对应的光束可以在亮度、强度、大小、直径和/或频率中的至少一项上不同。
47.点420表示多个扇区410中的用于测量tof的扇区。可以基于与用于测量tof的扇区相对应地投射的光束的反射光束来获得tof。尽管图4示出了多个扇区410中的所有扇区都用于测量tof,但是可替代地,多个扇区410中的仅一些扇区可以用于测量tof。
48.根据实施例,可以通过将用于检测各个图案的失真的第一图案和用于检测tof的第二图案合并来生成诸如图案400的图案。
49.图5示出了根据实施例的用于检测失真的图案,图6示出了根据实施例的用于检测tof的图案。
50.参照图5和图6,设备100(或控制器130)可以通过合并例如存储在存储器140中的第一图案500和第二图案600来生成图案400。因此,设备100可以通过将用于检测图案失真的多个第一图案中的一个与用于检测tof的多个第二图案中的一个选择性地合并来生成用于投射光束的图案,从而自适应地且容易地生成和应用各种图案形状。
51.根据实施例,用于投射光束的图案可以根据原始图案被修改并生成。例如,设备100可以从存储在存储器140中的原始图案生成用于投射光束的图案。
52.可以通过修改原始图案的分辨率来生成修改后的图案。
53.图7示出了根据实施例的修改图案的分辨率的示例。
54.参照图7,可以通过增加原始图案710的分辨率来生成修改的图案720。尽管图7中未示出,从修改后的图案划分的多个扇区中的每个扇区的尺寸可以比从原始图案710划分的多个扇区中的每个扇区的尺寸小。可以通过降低原始图案的分辨率来生成修改的图案。
55.可以通过移位原始图案来生成修改的图案。
56.图8示出了根据实施例的图案移位的示例。
57.参照图8,可以通过沿向右向下方向移位原始图案810来生成修改的图案820。根据实施例,移位的方向可以不同。
58.可以同时使用多种修改方法来生成修改后的图案。
59.用于投射光束的图案的分辨率在图案中可能不均匀。
60.图9示出了根据实施例的图案。
61.参照图9,图案900包括具有第一分辨率的第一部分910和具有低于第一分辨率的第二分辨率的第二部分920。例如,具有相对较大的分辨率的第一部分910可以对应于感兴趣区域(roi)。可以通过将原始图案和通过修改原始图案的分辨率获得的图案进行合并来生成图案900。
62.在图3的步骤310中,多个光束可以从多个扇区中对应于它们各自的扇区被顺序地投射。
63.图10示出了根据实施例的基于图案的投射光束的顺序。
64.参考图10,多个光束以z字形被投射。可替代地,多个光束可以以z字形垂直地投射。尽管鉴于光束投射器120控制投射光束的位置的操作效率,以z字形投射可能是有利的,但是可以根据需要改变投射多个光束的实际顺序。
65.图11示出了根据实施例的投射光束并检测反射的示例。
66.参照图11,激光器111可以生成与构成图案的多个扇区中的一个相对应的光束(激光)。从激光器111发射的光束被第一镜112反射并导向第二镜113。可以调节第二镜113的水平角θ和垂直角可以设置第二角113的水平角θ和垂直角以使第二镜113反射的第一光束b1指向期望的位置。第一光束b1的水平方向可以由水平角θ控制,第一光束b1的垂直方向可以由垂直角控制。可以设置第二镜113的水平角θ和垂直角以使第一光束b1被引导到场景150的位置,该位置对应于与图案的多个扇区中与光束相对应的扇区。
67.作为场景150对第一光束b1的反射的第二光束b2例如可以在图3的步骤320中由光束检测器120检测。
68.在投射了与图案的多个扇区中的一个扇区相对应的光束并通过上述方法检测到反射光束之后,可以投射与下一扇区相对应的光束,使得可以例如以图10所示的z字形顺序来检测其反射。
69.通过重复该过程,可以实现与图案的多个扇区相对应的光束的投射和其反射的检测。
70.当基于图案顺序地投射多个光束时,诸如在图3的步骤310中所示,多个投射的光束中的全部或至少一些可以结合使用tof方案和sl方案来生成深度图。例如,当用于检测图案失真的第一图案和用于检测tof的第二图案在分辨率或扇区排列上不同时(其中该第一图案和第二图案被合并以生成用于顺序地投射多个光束的图案),则利用tof方案生成深度图或利用sl方案生成深度图不需要使用所有投射的光束。相反,可以结合使用多个光束中的至少一些,以利用tof方案来生成深度图和利用sl方案来进行深度图,并且可以对多个光束进行一次扫描,从而获得利用tof方案的深度图和利用sl方案的深度图二者。
71.为了检测多个投射光束的反射,例如在图3的步骤320中,光束检测器120可以检测多个第二光束b2。光束检测器120可以检测所检测的第二光束b2的波形或相位,并且所检测的波形或相位可以用于获得tof。光束检测器120可以检测所检测的第二光束b2的亮度。构成光束检测器120的2d相机的多个像素中的每个像素的亮度可以被存储在对应像素的坐标中。因此,设备100可以获得与第二光束b2相对应的图像,并且设备100可以通过对与多个第二光束b2相对应的多个图像进行积分(integrate)来获得由场景或物体150反射的图案。
72.光束检测器120可以从单个图像获得反射图案,该图像是通过对与接收多个第二光束b2时获得的多个第二光束b2有关的光学数据进行积分而生成的,而不是通过对与多个第二光束b2相对应对的多个图像进行积分而生成的。对与多个第二光束b2有关的光学数据进行积分可以包括在光束检测器120接收多个第二光束b2时曝光2d相机。
73.可以彼此同步地执行在用于投射光束的图案的多个扇区中识别与第二光束b2相对应的扇区,投射第一光束b1以获得tof以及检测第二光束b2。也就是说,图3的步骤310和步骤320可以基本同时执行。例如,光束投射器110的操作(即,激光器111和第二镜113的操作)和光束检测器120的操作可以彼此同步。同步信号可以用于使光束投射器110的操作与光束检测器120的操作同步。同步信号可以由控制器130生成,或者在控制器130的控制下生成。
74.图12示出了根据实施例的用于使用同步信号投射光束的方法。
75.参照图12,可以与同步信号sync同步并且根据同步信号sync的波形在周期内投射
多个光束1210。如图12所示,用于投射光束1210的周期可以变化。投射光束1210的周期可以基于图案的分辨率,并且当图案具有不同分辨率的扇区时,该周期可以变化。例如,用于投射光束的周期在第一周期p1与第二周期p2之间不同。在第一周期p1中用于投射光束1210的周期短于在第二周期p2中的周期。因此,第一周期p1中的图案的分辨率可以高于第二周期p2中的图案的分辨率。控制器130可以依据分辨率的变化来改变同步信号sync的频率以调整用于投射光束1210的周期。也就是说,同步信号sync的频率可以增加以便增加用于投射光束1210的周期,并且同步信号sync的频率可以减少以便减少用于投射光束1210的周期。
76.可以将同步信号sync提供给光束投射器110并且也提供给光束检测器120。因此,光束检测器120可以基于同步信号sync识别多个扇区中的划分与第一光束b1(由其产生所检测到的第二光束b2)相对应的扇区。
77.调制控制信号sl mod.可以用于控制光束1210的调制。光束投射器110可以根据调制控制信号sl mod.控制对光束1210的调制。例如,当调制控制信号sl mod.为低时并且当调制控制信号sl mod.为高时,可以对光束1210应用不同的调制方案。根据实施例,可以将调制控制信号sl mod.设置为具有与图案的较暗的扇区1220相对应的“低”值和与图案的较亮的扇区1230相对应的“高”值,反之亦然。
78.在步骤330中,可以基于检测到的第二光束b2来识别tof。如下所述,用于识别tof的检测到的第二光束b2也可以用于检测图案的失真。
79.图13示出了根据实施例的用于检测tof的方法。
80.参照图13,可以通过将从光束投射器110发射的第一光束b1的波形w1与由光束检测器120检测到的第二光束b2的波形w2进行比较,或者通过对第一光束b1的相位与第二光束b2的相位进行比较,生成第二光束b2相对于第一光束b1的延迟δ。当第一光束b1和第二光束b2的周期为t时,可以使用下面的式(1)获得光束的tof。
81.tof=t
×
δ/(2
×
π)...(1)
82.可以使用以下式(2)基于tof来获得光束被反射到的距离d。
83.d=(tof
×
c)/2...(2)
84.在式(2)中,c是指光速。
85.根据实施例,控制器130可以通过对由光束检测器120的2d相机获得的图像的亮度进行微分来获得亮度的变化,并且可以基于亮度的变化来获得光束的到达时间。控制器130可以根据所获得的光束到达时间与光束发射时间之间的差来计算延迟δ。
86.因此,可以获得多个光束的各个tof,并且可以基于所获得的多个tof来获得多个光束的各个距离(d)。可以基于多个d来生成基于tof的深度图。
87.在步骤340中,可以基于由光束检测器120检测到的多个第二光束b2来获得由场景或物体150所变形的图案。多个检测到的第二光束b2中的用于获得失真图案的全部或至少一些光束可以被用来在步骤330中识别tof。这样,可以将检测到的多个第二光束b2一起用于获得tof和图案失真,从而允许以简化的方式获得基于tof方案的深度图和基于sl方案的深度图。
88.可以通过对由光束检测器120(例如,2d相机)获得的场景150的多个图像进行积分来获得反射图案(即,场景或物体150所变形的图案)。在此,多个图像中的每一个可以对应于多个第二光束b2中的相应一个。
89.对多个图像积分可以包括对具有多个图像的相同坐标的像素的亮度求和或求平均。可以通过将获得的反射图案与原始图案进行比较来识别图案失真。可以基于图案失真获得离与图案的多个扇区中的每个扇区相对应的场景或物体150的距离。图案失真越小,被识别出的到场景或物体150的距离可以越大。因此,可以基于图案失真来生成深度图。基于图案失真的深度图也可以称为基于sl的深度图。
90.图14示出了根据实施例的用于基于sl获得到物体的距离的方法。
91.参照图14,从光束投射器的原点op发射的光束b1在场景或物体的反射点r处被反射并且由光束检测器检测。在原始图案上的与光束b1相对应的位置p和由光束检测器检测到的图像上的与反射光束b2相对应的位置c可以在同一条极线上。到反射点r的距离d可以使用下面的式(3)获得。
92.d=(f
×
b)/d...(3)
93.在式(3)中,f是指光束检测器的2d相机的焦距,b是指光束投射器的原点op与2d相机的原点oc之间的基线的长度。“d”表示在原始图案上与光束b1相对应的位置p与在由光束检测器检测到的图像上与反射光束b2相对应的位置c之间的差。
94.当原始图案和反射图案设置为具有相同的分辨率时,d可以表示为原始图案上的与光束b1相对应的位置p的x坐标(px)与反射图案上的对应于反射光束b2的位置c的x坐标(cx)之间差。
95.可以通过对上述基于tof创建的第一深度图和基于图案失真创建的第二深度图进行合并来生成例如在图3的步骤350中生成的深度图。第一深度图和第二深度图可以通过各种方法合并。
96.例如,第一深度图和第二深度可以通过加权和进行合并。随着对于每个像素到场景或物体150的距离的减小,可以将较低的权重分配给第一深度图的距离,并且将较高的权重分配给第二深度图。随着对于每个像素到场景或物体150的距离的增加,可以将较高的权重分配给第一深度图的距离,而将较低的权重分配给第二深度图。到场景或物体150以确定权重的距离可以由第一深度图的距离、第二深度图的距离、第一深度图和第二深度图的距离的平均值、或第一深度图和第二深度图的距离的加权和来确定。当通过合并基于tof的深度图和基于图案失真的深度图而生成时,深度图可以减小误差,而不管其在短距离内还是长距离内。
97.根据实施例,可以通过使用下面的式(4)来获得合并的深度图。
[0098][0099]
在式(4)中,z(x,y)是指具有合并深度图的坐标(x,y)的像素处的深度。d1(x,y)是指具有通过sl方案生成的第二深度图的坐标(x,y)的像素处的深度。t1(x,y)是指具有通过tof方案生成的第一深度图的坐标(x,y)的像素处的深度。σd(x,y)是指基于具有第二深度图的坐标(x,y)的像素的相邻像素的深度而获得的标准深度偏差。σd(x,y)是指基于具有第一深度图的坐标(x,y)的像素的相邻像素的深度而获得的标准深度偏差。
[0100]
例如,可以使用基于马尔可夫随机场的超高分辨率技术来生成合并深度图。
[0101]
合并第一深度图和第二深度图不限于上述方法,而是可以可选地采用其他各种已知方法、其变型或新开发的方法。
[0102]
当第一深度图和第二深度图的分辨率不同时,可以在合并第一深度图和第二深度图之前执行使第一深度图的分辨率与第二深度图的分辨率进行匹配的过程。
[0103]
可以在基于tof和图案失真生成深度图之后,识别所生成的深度图的质量。
[0104]
例如,当识别出的在图3中生成的深度图的质量比阈值差,可以使用与先前的图案不同的图案再次执行步骤310、320、330、340和350,并且可以重复这样的过程,直到深度图具有足够的质量,即等于或大于阈值。
[0105]
用于重复过程的图案可以与先前的图案完全不同,或者可以使用先前的图案的修改(例如,通过修改全部或部分先前图案的分辨率而得到的图案,或者从先前的图案偏移的图案)。
[0106]
如上所述,根据实施例,用于获得3d图像的方法和设备可以通过点对点光束投射和检测同时获得tof和图案失真,这减轻了常规过程的计算负担。此外,点对点光束的投射和检测可以以简化的方式修改或改变用于投射光束的图案。
[0107]
从前面的描述中显而易见,本公开的各种实施例至少具有以下效果:
[0108]
可以在宽的深度范围内获得高质量的深度图。
[0109]
可以提供一种用于以自适应可变的方式获得深度图的方法。
[0110]
可以减少在生成高质量深度图时的计算负担。
[0111]
虽然已经参考本公开的某些实施例具体示出和描述了本公开,但是本领域普通技术人员将理解,在不脱离所附权利要求及其等同形式所限定的本公开的精神和范围的情况下,可以在形式和细节上进行各种改变。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1