用于估计姿态的方法和装置与流程

文档序号:24397067发布日期:2021-03-26 21:47阅读:111来源:国知局
用于估计姿态的方法和装置与流程
用于估计姿态的方法和装置
1.相关申请的交叉引用
2.本申请要求2019年9月26日在韩国知识产权局提交的韩国专利申请号10-2019-0118690的权益,其全部公开内容通过引用并入本文以用于所有目的。
技术领域
3.以下描述涉及用于估计姿态的方法和装置。


背景技术:

4.相机的姿态估计在于确定动态改变的相机视点的平移和旋转信息。姿态估计的应用正在增加,并且被应用在许多领域中,例如,同时定位和地图构建(slam)、混合现实、增强现实、机器人导航、以及三维(3d)场景重建等。


技术实现要素:

5.提供本发明内容以用简化形式介绍在下文的具体实施方式中进一步描述的构思的选择。本发明内容不旨在确定所请求保护的主题的关键特征或基本特征,也不旨在帮助确定所请求保护的主题的范围。
6.在一个总体方面,提供一种估计姿态的方法,该方法包括:通过图像传感器获取几何校正之前的原始图像;确定原始图像中的特征点;以及,基于特征点估计姿态。
7.原始图像可以包括图像传感器的镜头的几何失真未被校正的图像。
8.估计姿态可以包括:基于由于图像传感器的镜头的几何失真而发生的特征点改变来估计姿态。
9.几何失真可以包括图像传感器的镜头的桶形失真和枕形失真之
10.获取原始图像可以包括:在处理在图像传感器中捕获的图像的图像信号处理器(isp)去除几何失真之前,获取原始图像。
11.该方法可以包括:获取对原始图像的几何校正之后的经校正的图像;以及,确定经校正的图像中的特征点,其中,估计姿态可包括:基于原始图像的特征点和经校正的图像的特征点之间的改变来估计姿态。
12.图像传感器可以是双像素或更多像素传感器,双像素或更多像素中的每个像素包括光电二极管。
13.该方法可以包括:基于从双像素或更多像素中的每个像素中的光电二极管中选择的两个光电二极管获取的相差来确定朝向焦平面的向量,其中,估计姿态可以包括基于该向量估计姿态。
14.估计姿态可包括:基于该向量确定焦平面和捕获的对象之间的角度,并且基于该角度的改变估计姿态。
15.相差可以包括基于焦平面和被捕获对象之间的相对距离的光强度差。
16.估计姿态可以包括:通过将图像传感器的与光学变焦有关的参数应用于向量来估
计姿态。
17.该方法可以包括:基于特征点检测原始图像中的平面。
18.估计姿态可以包括:估计图像传感器或包括图像传感器的移动终端的姿态。
19.在另一个总体方面,提供了一种估计姿态的方法,该方法包括:基于从选自双像素或更多像素传感器的像素中的每个像素中的光电二极管之中的两个光电二极管获取的相差,确定对应像素的朝向焦平面的向量;以及,通过基于该向量确定双像素或更多像素传感器相对于焦平面的相对移动改变来估计姿态。
20.相差可以包括基于焦平面和被捕获对象之间的相对距离的光强度差。
21.估计姿态可包括:通过基于向量确定焦平面和被捕获对象之间的角度并且基于该角度的改变确定相对移动改变来估计姿态。
22.双像素或更多像素传感器可以包括均包括光电二极管的像素。
23.在另一个总体方面,提供了一种用于估计姿态的装置,该装置包括:处理器,被配置为通过图像传感器获取几何校正之前的原始图像;确定原始图像中的特征点;以及,基于特征点估计姿态。
24.处理器可以被配置为,基于由于图像传感器的镜头的几何失真而发生的特征点改变来估计姿态。
25.在另一个总体方面,提供了一种用于估计姿态的装置,该装置包括:图像传感器,被配置为获得原始图像;以及,处理器,被配置为:从原始图像选择第一特征点,通过校正原始图像中的图像传感器的镜头的几何失真来获得经校正的图像,从经校正的图像选择第二特征点,该第二特征点与第一特征点相对应,以及基于第一特征点和第二特征点之间的改变来估计姿态。
26.在原始图像中可以不对图像传感器的镜头的几何失真进行校正。
27.其他特征和方面通过以下详细描述、附图和权利要求将变得清楚。
附图说明
28.图1示出在姿态估计装置中执行的过程的示例。
29.图2示出对传感器中捕获的图像进行处理的示例。
30.图3和图4示出基于由几何失真引起的特征点改变来估计姿态的示例。
31.图5示出姿态估计和/或平面检测操作的示例。
32.图6至图8示出使用从选自像素中的多个光电二极管之中的两个光电二极管获取的相差来估计姿态的示例。
33.图9示出平面检测和跟踪操作的示例。
34.图10示出姿态估计过程的示例。
35.图11示出使用传感器来估计姿态的过程的示例。
36.图12和图13示出姿态估计方法的示例。
37.图14示出姿态估计装置的示例。
38.在整个附图和详细描述中,除非另外描述或提供,否则相同的附图标记应被理解为指代相同的元素、特征和结构。附图可以不按比例绘制,并且为了清楚、说明和方便,可以扩大附图中的元素的相对尺寸、比例和描绘。
具体实施方式
39.提供以下详细描述以帮助读者获得对本文描述的方法、装置和/或系统的全面理解。然而,在理解了本申请的公开内容之后,本文中描述的方法、装置和/或系统的各种改变、修改和等同物将是显而易见的。例如,将清楚的是,本文中描述的操作的顺序仅仅是示例,并且不限于在本文中阐述的那些操作的顺序,而是可以在理解本申请的公开内容之后进行改变,除了必须以一定顺序出现的操作之外。此外,为了更加清楚和简洁,可以省略对本领域已知的特征的描述。
40.本文描述的特征可以以不同形式来实施,并且不被解释为限于本文描述的示例。相反,提供本文中描述的示例仅仅是为了说明实现本文中描述的方法、装置和/或系统的许多可行方式中的一些方式,在理解本申请的公开内容之后这些方式将显而易见。
41.虽然本文中可以使用诸如“第一”、“第二”、“第三”之类的术语来描述各构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不应被这些术语限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一构件、组件、区域、层或部分加以区分。因此,在不脱离示例的教导的情况下,本文中描述的示例中提及的第一构件、组件、区域、层或部分也可以被称为第二构件、组件、区域、层或部分。
42.贯穿说明书,当诸如层、区域或基板之类的元素被描述为在另一元素“上”、“连接到”或“耦接到”另一元素时,它可以直接在该另一元素“上”、“连接到”或“耦接到”该另一元素,或者可以存在介于其间的一个或多个其他元素。相反,当元素被描述为“直接在另一元素上”、“直接连接到”或“直接耦接到”另一元素时,可以不存在介于其间的其他元素。
43.本文中使用的术语仅用于描述各种示例,而不用于限制本公开。除非上下文另外明确指示,否则冠词“一”、“一个”和“该”也旨在包括复数形式。术语“包括”、“包含”和“具有”表示存在所阐述的特征、数字、操作、构件、元素和/或其组合,但并不排除存在或添加一个或多个其他特征、数字、操作、构件、元素和/或其组合。
44.除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有本公开所属领域的普通技术人员通常所理解的相同意义。术语(例如,在常用词典中定义的术语)将被解释为其含义与在相关技术的上下文中的含义一致,而不应将其解释为理想的或过于正式的含义,除非本文明确如此定义。
45.关于分配给附图中的元素的附图标记,应该注意的是,尽管相同的元素在不同的附图中示出,但在可能的情况下将由相同的附图标记来表示相同的元素。此外,在对实施例的描述中,当认为对已知的相关结构或功能的详细描述将导致对本公开的模糊解释时,将省略这样的描述。
46.图1示出在姿态估计装置中执行的过程的示例。
47.图像传感器110通过捕获视场(fov)中的场景来生成原始图像。原始图像可能具有由于图像传感器110的镜头而发生的几何失真,因此可能需要在图像信号处理器(isp)120中将原始图像校正为类似于人眼感知到的正常图像的处理。在isp 120中被校正为类似于正常图像的图像被输出为例如图像传感器110的预览图像或图像传感器110的最终捕获图像。
48.姿态估计装置使用原始图像中的几何失真来估计图像传感器110的姿态。在isp 120中校正几何失真被称为几何校正。使用在几何校正之前获得的原始图像来执行姿态估
计。在示例中,姿态估计装置使用在几何校正之后获得的经校正的图像来估计姿态,或者使用在几何校正之前获得的图像和在几何校正之后获得的图像来估计姿态。
49.在示例中,姿态估计装置基于从图像传感器110的像素获取的相差来估计姿态。在示例中,图像传感器110是包括均包括多个光电二极管的像素的双像素或更多像素传感器。在双像素或更多像素传感器中,每个像素包括两个或多个光电二极管。
50.姿态估计装置估计六个自由度(6dof)的姿态。在示例中,6dof包括三维(3d)平移和3d旋转信息。
51.在一个示例中,姿态估计装置是包括图像传感器110的终端,并且是例如诸如以下项的任何终端:移动设备、智能电话、可穿戴智能设备(例如,戒指、手表、一副眼镜、眼镜式设备、手环、脚踝支架、皮带、项链、耳环、头带、头盔、嵌入在衣服中的设备或眼镜显示器(egd))、计算设备(例如,服务器、膝上型计算机、笔记本计算机、小型笔记本计算机、上网本、超便携式pc(umpc)、平板个人计算机(平板计算机)、平板手机、移动互联网设备(mid)、个人数字助理(pda)、企业数字助理(eda)、超便携式个人计算机(umpc)、便携式实验室台式pc)、电子产品(例如,机器人、数码相机、数码摄像机、便携式游戏机、mp3播放器、便携式/个人多媒体播放器(pmp)、手持式电子书、全球定位系统(gps)导航、个人导航设备、便携式导航设备(pnd)、手持式游戏机、电子书、电视(tv)、高清电视(hdtv)、智能电视、智能设备、智能吸尘器、智能家居设备或用于门禁控制的安全设备、步行辅助设备、信息亭、机器人、室内自主机器人、室外交付机器人、水下和地下勘探机器人、各种物联网(iot)设备、自动驾驶汽车、自动或自主驾驶系统、智能载具、无人飞行器、高级驾驶员辅助系统(adas)、平视显示器(hud)和增强现实平视显示器(ar hud)或能够与本文公开的设备进行无线通信或网络通信的任何其他设备。
52.在该示例中,由处理器(例如,中央处理单元(cpu)、处理器核、多核处理器、可重构处理器、多核心处理器、多处理器、专用集成电路(asic)和现场可编程门阵列(fpga)、图形处理单元(gpu)、应用处理器(ap)、或被包括在姿态估计装置中的任何其他类型的多处理器或单处理器结构等)执行姿态估计130。在下文中提供关于处理器的另外的细节。
53.在示例中,姿态估计装置是不同于包括图像传感器110的移动终端或图像传感器110的设备,是具有高性能处理能力的计算设备、远程服务器等。在该示例中,姿态估计130由接收像素相差和/或由图像传感器110获取的原始图像的计算设备、远程服务器等执行。为了便于描述,将针对姿态估计装置是包括图像传感器110的移动终端的示例来进行以下描述。
54.图2示出处理在传感器中捕获的图像的示例。
55.图2示出用于在图像信号处理器中处理原始图像的正常路径和加速路径。正常路径是如下过程:通过图像信号处理器的各种校正技术将传感器中捕获的原始图像校正为类似于由人眼感知的正常图像的图像。校正为类似于正常图像的图像被输出为例如预览图像或最终捕获图像。加速路径不采用图像信号处理器的校正技术。在加速路径中,使用原始图像估计姿态,该原始图像在传感器中捕获并且具有由于镜头而引起的几何失真。这样,使用图像处理器中未被校正的原始图像中出现的信息来执行姿态估计。
56.图3和图4示出基于由于几何失真引起的特征点改变来估计姿态的过程的示例。
57.图3示出无失真、桶形失真和枕形失真的示例。
58.由图像传感器捕获的原始图像具有由于图像传感器的镜头而发生的几何失真。由于镜头使入射到图像传感器上的光衍射,所以发生几何失真。另外,越接近原始图像的边缘,几何失真的程度越大。这种几何失真基于镜头特性而不同。
59.桶形失真是在直线以桶的形状向内弯曲时发生的失真。在广角镜头中很常见,桶形失真的发生是因为镜头的视场比图像传感器的尺寸大的多,因此需要被“压缩”以进行适配。在桶形失真中,图像放大率随着距光轴的距离增大而减小。桶形失真表现为在接近边缘时像圆一样弯曲的形状。如图3中所示,可以看出,具有桶形失真的原始图像的中间的水平线是直线,而其他水平线随着接近上边缘或下边缘而像圆一样弯曲。类似地,可以看出,垂直线随着接近左边缘或右边缘而像圆一样弯曲。
60.枕形失真是导致图像在中部变得收缩的镜头效果,例如,在枕头中插入针时的枕头上的效果。在枕形失真中,图像放大率随着距光轴的距离增大而增大。在远摄镜头上很常见,枕形失真表现为,在与桶形失真的方向相反的方向上弯曲的形状。如图3中所示,可以看出,具有枕形失真的原始图像的中间的水平线是直线,而其他水平线随着接近上边缘或下边缘而朝着图像的中心凹入。类似地,可以看出,垂直线随着接近左边缘或右边缘而朝着图像的中心凹入。
61.使用这样的几何失真特性来估计姿态,并且将参考以下附图进行相关描述。
62.图4示出用于说明基于由于几何失真而发生的特征点改变来估计姿态的过程的示例。在图4的示例中,假设图像传感器具有平移之后的旋转移动并且在原始图像中发生桶形失真。此外,在图4中,假设针对参考线确定的特征点未被单独显示,但是适当地确定了用于检测图像传感器的平移和/或旋转的特征点。
63.在示例中,描述了由于几何校正之后的经校正的图像中的平移/旋转而发生的特征点的改变。经校正的图像是在图像信号处理器中校正了几何失真的图像。由于可以在经校正的图像中检测到由于图像传感器的移动而引起的参考线的位置改变,所以可以估计图像传感器的移动。相反,在经校正的图像中检测不到由于图像传感器的旋转而引起的参考线的改变。因此,不使用经校正的图像来估计图像传感器的旋转。
64.在另一示例中,描述了由于几何校正之前的原始图像中的平移/旋转而发生的特征点改变。原始图像是在图像信号处理器中校正几何失真之前获得的图像。当由于图像传感器的移动而将位于原始图像的中间的参考线移动到原始图像的边缘时,在参考线中可能出现几何失真。此外,当由于图像传感器的旋转而改变参考线在原始图像中的位置时,参考线可能发生几何失真。因此,参考线的移动在原始图像中不同地出现,其可以用作可用于姿态估计的信息。
65.换言之,从原始图像提取的特征点的改变可以用作可能无法从典型的经校正的图像中获取的附加移动信息。因此,可以使用少量的特征点来提高姿态估计的精度。
66.图5示出姿态估计和/或平面检测操作的示例。
67.图5示出用于使用在几何校正之前获得的图像和在几何校正之后获得的图像来执行姿态估计和/或平面检测的过程的示例。
68.在操作510中,通过几何校正(gc)去除原始图像中的几何失真,从而生成经校正的图像。
69.在操作520中,确定原始图像和经校正的图像之间的形状和/或表面差异。例如,基
于存在或不存在几何校正,相同的对象在原始图像和经校正的图像中可以具有不同的形状和/或表面。此外,由于图像传感器的平移和/或旋转,在原始图像和经校正的图像中发生的对应对象的特征点改变可以彼此不同。
70.在操作530中,基于在操作520中感测到的差异来估计姿态。另外,基于在操作520中感测到的差异来检测图像中的平面。图像中的该平面例如用于在增强现实(ar)中增强虚拟对象的情况。
71.另外,由于参考其他附图描述的操作也适用于平面检测和/或跟踪,因此将省略重复的描述。
72.图6至图8示出使用从选自像素中的多个光电二极管之中的两个光电二极管获取的相差来估计姿态的过程的示例。
73.上述图像传感器可以是双像素或更多像素传感器610。图6示出双像素或更多像素传感器610的结构的示例。在示例中,双像素或更多像素传感器610是包括均包括多个光电二极管的像素的单相机。这样的单相机在快速对焦方面具有优势。在图6的示例中,光电二极管a和光电二极管b是选自每个像素所包括的多个光电二极管之中的两个光电二极管。光电二极管a和光电二极管b中的每一个光电二极管独立地接收光能并输出电能(例如,dp数据)。当捕获图像时,每个像素所包括的多个光电二极管或者选自每个像素所包括的多个光电二极管之中的两个光电二极管a和光电二极管b可以一起用于捕获图像。
74.图7a和7b示出在双像素或更多像素传感器中捕获原始图像的过程的示例。
75.在示例中,基于镜头与传感器之间的距离来确定焦平面的位置。在示例中,还考虑镜头的特性。位于焦平面上的对象被收集在传感器的一个点上,因此产生模糊。然而,不在焦平面上的对象被分布在传感器上,这可能会导致模糊。
76.参考图7a,由于在距镜头的距离z1处的对象不位于焦平面上,所以从选自多个光电二极管之中的两个光电二极管输出的dp数据中可以看出,在捕获期间生成的图像中存在视差d和模糊b。在另一示例中,由于位于距镜头的距离g1处的对象位于焦平面上,所以不存在视差或模糊。
77.参考图7b,由于位于距镜头的距离z2处的对象不位于焦平面上,所以从由两个选定的光电二极管输出的dp数据可以得知,在捕获期间生成的图像中存在视差d和模糊b。在另一个示例中,由于位于距镜头的距离g2处的对象位于焦平面上,所以不存在视差或模糊。
78.在图7a和图7b的示例中,即使对象位于不同的位置,也产生相同的视差和模糊。在这点上,尽管基于从每个像素中的两个选定的光电二极管获取的相差来获取对象的绝对深度信息是困难的,但是可以知道关于对象相对于参考平面的相对深度信息。由此,在短距离内检测到短时间段的移动改变,并将其用于姿态估计。将参考图8进一步做出详细描述。
79.图8示出确定关于相对于焦平面的相对移动改变的信息的过程的示例。
80.为了便于描述,假设捕获静态对象的双像素或更多像素传感器被平移(移动)和/或旋转。在从双像素或更多像素传感器的每个像素所包括的多个光电二极管中选择的两个光电二极管a和光电二极管b中,生成基于对象和焦平面之间的相对距离的光强度差。例如,在感测到对象左端的像素中生成光强度差,该光强度差指示光电二极管a具有比光电二极管b的光强度更高的光强度。另外,在感测到对象右端的像素中生成光强度差,该光强度差指示光电二极管b具有比光电二极管a的光强度更高的光强度。尽管为了便于描述,图8示出
感测到对象的两端的像素的光强度差,但是也可以在感测到对象的中间部分的像素中生成光强度差。基于像素中生成的光强度差,为每对像素确定从对象到焦平面的向量。使用已确定的向量,确定对象和焦平面之间的角度φ1。
81.而且,基于双像素或更多像素传感器的平移和/或旋转,对象和焦平面之间的角度可以被改变。同样,基于每个像素中的两个选定的光电二极管中生成的光强度差,可以为每对像素确定从对象到焦平面的向量。在示例中,可以使用已确定的向量,确定对象和焦平面之间的角度φ2。
82.在示例中,通过基于在双像素或更多像素传感器的平移和/或旋转之前和/或之后确定的向量,确定代表图像中的对象的相对移动的移动向量,来估计双像素或更多像素传感器的姿态。
83.前述光强度差也被称为“相差”。相差图像执行的功能就好像是使用多个窄基线立体摄像机捕获的一样。尽管使用这样的相差难以从长距离提取有意义的信息,但是可以在短距离上检查相对于焦平面的运动变化信息。因此,可以使用类似于惯性测量单元(imu)的功能,而没有累积误差。
84.如上所述的基于从像素中的每个像素获取的相差、针对每对像素生成的从对象到焦平面的向量根据以下等式1被转换为世界坐标系的移动向量。
85.[等式1]
[0086][0087]
在等式1中,v
nf

表示第n像素相对于焦平面的相对移动向量,m
f

f

表示由于光学变焦而引起的从先前焦平面到新的焦平面的坐标系改变(如果没有光学变焦,则为“1”),m
w

f
表示从焦平面坐标系到世界坐标系的转换,而v
nw
表示第n像素在世界坐标系中的移动向量。
[0088]
这样,基于在不同时间获取的相差信息,获取指示是否执行了接近或远离焦平面的移动、或执行了相对于焦平面的旋转的相对移动信息,从而高速识别移动改变,并相应地执行处理。
[0089]
图9示出平面检测和跟踪操作的示例。
[0090]
图9示出在使用双像素或更多像素传感器执行平面检测和跟踪时执行光学变焦的示例。图9中的操作可以按照所示出的顺序和方式来执行,但是可以在不脱离所描述的示意性示例的精神和范围的情况下改变所述操作中的一些操作的顺序或省略所述操作中的一些操作。图9中所示出操作中的许多操作可以并行或并发执行。图9的一个或多个框和所述框的组合可以通过基于专用硬件的计算机和执行指定功能的设备(例如处理器)或专用硬件和计算机指令的组合来实现。除了下文的图9的描述之外,图1-图8的描述也适用于图9,并且通过引用被并入此处。因此,这里可以不重复上文的描述。
[0091]
在操作910中,选择图像中的单个目标中所包括的多个点作为分段目标(piece-wise target)。例如,图像中所包括的桌子对象上的预定选择点是分段目标。
[0092]
在操作920中,针对多个分段目标确定从选自每个像素所包括的多个光电二极管之中的两个光电二极管获取的相差。在这种情况下,针对每个像素确定从目标到焦平面的向量。例如,当至少三个目标的向量在同一平面上时,一个目标被识别为一个平面。当目标
为多个时,目标被识别为更复杂的形状。
[0093]
在操作930中,基于移动向量和模糊尺寸来控制光学变焦。例如,当由于小的移动向量和/或模糊尺寸而略微感测到改变量时,控制光学变焦增加。在控制光学变焦之后,重复操作910。
[0094]
在操作950中,基于操作920的相差来检测和/或跟踪平面。在这种情况下,可以跟踪相对于相机位置的平面移动。
[0095]
在操作940中,另外估计基于imu的姿态。例如,诸如陀螺仪传感器和加速度传感器之类的附加传感器的值被用于估计姿态。而且,关于已估计的姿态的信息可以被另外用于操作950的平面检测和/或跟踪。
[0096]
另外,由于参考其他附图描述的操作也适用于平面检测和/或跟踪,因此将省略重复的描述。
[0097]
图10示出姿态估计过程的示例。图10中的操作可以按照所示出的顺序和方式来执行,但是可以在不脱离所描述的示意性示例的精神和范围的情况下改变所述操作中的一些操作的顺序或省略所述操作中的一些操作。图10中所示出操作中的许多操作可以并行或并发执行。图10的一个或多个框和所述框的组合可以通过基于专用硬件的计算机和执行指定功能的设备(例如处理器)或专用硬件和计算机指令的组合来实现。除了下文的图10的描述之外,图1-图9的描述也适用于图10,并且通过引用被并入此处。因此,此处可以不重复上文的描述。
[0098]
图10示出用于说明由姿态估计装置中的处理器执行的姿态估计过程的示例。
[0099]
在操作1010中,从图像传感器获取原始图像。原始图像是在图像信号处理器中执行几何校正之前获得的图像。
[0100]
在操作1021中,对原始图像执行几何校正,从而去除原始图像中包括的几何失真。几何失真是由于图像传感器的镜头而发生的,例如包括桶形失真和/或枕形失真。通过去除原始图像的几何失真而获得的图像被称为经校正的图像。
[0101]
在操作1022中,从经校正的图像中选择特征点。例如,特征点用于执行slam优化,其可以根据计算情况而稀疏地或密集地选择特征点。在示例中,特征点被选择为随机、边缘和纹理之中易于识别和匹配的点。另外,还在从图像传感器获取的原始图像中选择特征点。
[0102]
在操作1023中,确定经校正的图像中的特征点移动。在示例中,通过比较对应于当前时间点t的经校正的图像和对应于先前时间点t-1的经校正的图像来确定经校正的图像中的特征点移动。在示例中,通过累积针对每个时间点确定的移动来确定最终移动。在另一示例中,通过比较对应于当前时间点的经校正的图像和对应于参考时间点的经校正的图像来确定经校正的图像中的特征点移动。
[0103]
在操作1024中,确定原始图像中的特征点移动。与经校正的图像不同,原始图像中的特征点移动是基于由于图像传感器的镜头而发生的几何失真来确定的。例如,考虑几何失真是桶形失真还是枕形失真、以及位于图像的边缘中的对象的失真的程度。
[0104]
像经校正的图像一样,通过比较对应于当前时间点t的原始图像和对应于先前时间点t-1的原始图像来确定原始图像中的特征点移动。通过累积针对每个时间点确定的移动来确定最终移动。在另一示例中,通过比较对应于当前时间点的原始图像和对应于参考时间点的原始图像来一次确定原始图像中的特征点移动。
[0105]
在操作1025中,基于所确定的特征点移动来生成移动向量,并且将其转换为世界坐标系。例如,基于以图像传感器为中心的相机坐标系来确定移动向量,并且将移动向量的坐标系从相机坐标系转换为世界坐标系。
[0106]
在操作1031中,图像传感器是包括均包括多个光电二极管的像素的双像素或更多像素传感器,并且从选自所述像素中的每个像素中的多个光电二极管之中的两个光电二极管检测相差。
[0107]
在操作1032中,使用针对所述像素中的每个像素检测到的相差来确定朝向焦平面的向量。
[0108]
在操作1033中,基于焦平面的向量确定表示相对移动的移动向量。由于移动向量基于相机坐标系,因此将移动向量的坐标系从相机坐标系转换为世界坐标系。
[0109]
在操作1040中,选择检测和/或跟踪模式。检测模式是其中使用了图像中已检测到的特征点的全部或至少阈值比例的模式。相反,跟踪模式是其中使用了图像中已检测到的特征点的一部分(例如,低于阈值比例)的模式。例如,考虑到诸如imu之类的另一传感器的输出值,可以确认姿态略有改变。当在操作1031中确认只有一些像素改变了相差时,选择跟踪模式,从而基于对应像素的相差来估计姿态。在一些情况下,可以省略操作1040。
[0110]
在操作1050中,基于由双像素或更多像素传感器感测到的相差和/或原始图像和/或经校正的图像中的特征点移动改变来估计姿态。
[0111]
由于图1至图9的描述也适用于图10的每个操作,因此将省略重复的描述。
[0112]
图11示出使用多个传感器来估计姿态的过程的示例。
[0113]
图11示出用于说明使用第一传感器1110和第二传感器1120估计姿态的过程的示例。在示例中,第一传感器1110和第二传感器1120彼此不同,并且例如是rgb传感器和深度传感器、广角传感器和远摄传感器、以及具有不同fov的相机。由于第一传感器1110和第二传感器1120是不同类型的传感器,因此在其中发生的几何失真的特性也不同。通过使用几何失真的特性之间的这种差异,考虑了在典型传感器中不能被提取的附加特征点,这可以使姿态估计1130具有提高的效率。而且,第一传感器1110和第二传感器1120是不同类型的传感器,例如图像传感器和imu。姿态估计1130还通过整体考虑在图像传感器中获取的图像中的特征点移动改变和由imu感测到的移动信息来执行。
[0114]
图12和图13示出姿态估计方法的示例。图12和图13中的操作可以按照所示出的顺序和方式来执行,但是可以在不脱离所描述的示意性示例的精神和范围的情况下改变所述操作中的一些操作的顺序或省略所述操作中的一些操作。图12和图13中所示出操作中的许多操作可以并行或并发执行。图12和图13的一个或多个框和所述框的组合可以通过基于专用硬件的计算机和执行指定功能的设备(例如处理器)或专用硬件和计算机指令的组合来实现。除了下文的图12和图13的描述之外,图1-图11的描述也适用于图12和图13,并且通过引用被并入此处。因此,这里可以不重复上文的描述。
[0115]
图12和图13示出由姿态估计装置中包括的处理器执行的姿态估计方法的示例。
[0116]
在操作1210中,姿态估计装置从图像传感器获取几何校正之前的原始图像。原始图像是由于图像传感器的镜头而发生的几何失真未被校正的图像。在示例中,在处理由图像传感器捕获的图像的图像信号处理器去除几何失真之前,姿态估计装置获取原始图像。
[0117]
在操作1220中,姿态估计装置确定原始图像中的特征点。
[0118]
在操作1230中,姿态估计装置基于特征点估计姿态。在示例中,姿态估计装置根据基于由图像传感器的镜头引起的几何失真而发生的特征点改变来估计姿态。
[0119]
在操作1310中,姿态估计装置基于从选自双像素或更多像素传感器的每个像素中的多个光电二极管之中的两个光电二极管获取的相差,确定对应像素的朝向焦平面的向量。在示例中,相差是基于被捕获对象和焦平面之间的相对距离的光强度差。双像素或更多像素传感器包括均包括多个光电二极管的像素。
[0120]
在操作1320中,姿态估计装置通过基于向量确定相对于焦平面的相对移动改变来估计姿态。姿态估计装置可以通过基于向量确定被捕获对象和焦平面之间的角度,并基于该角度的改变确定相对移动改变,从而估计姿态。
[0121]
图14示出姿态估计装置的示例。
[0122]
参考图14,姿态估计装置1400包括存储器1410、处理器1420、以及输入和输出(i/o)接口1430。存储器1410、处理器1420、以及i/o接口1430通过总线1440彼此通信。
[0123]
存储器1410包括计算机可读指令;处理器1420响应于在处理器1420中执行的被存储在存储器1410中的指令来执行上述操作。存储器1410是易失性存储器或非易失性存储器。存储器1410包括大容量存储介质,例如,用于存储各种数据的硬盘。在下文提供关于存储器1410的另外的细节。
[0124]
处理器1420是用于执行指令或程序或控制姿态估计装置1400的设备。例如,期望的操作包括程序中所包括的指令或代码。例如,由硬件实现的数据处理设备包括微处理器、中央处理单元(cpu)、处理器核心、多核处理器、可重构处理器、多核心处理器、多处理器、专用集成电路(asic)和现场可编程门阵列(fpga)、图形处理器单元(gpu)或任何其他类型的多处理器或单处理器结构。下文提供关于处理器1420的另外的细节。
[0125]
在示例中,姿态估计装置1400使用连接到姿态估计装置1400中的另一组件(例如,图像传感器)的i/o接口1430而连接到外部设备,并执行数据交换。在示例中,姿态估计装置1400在i/o接口1430上可视地呈现具有经校正的姿态的图像。在示例中,i/o接口1430可以是从用户接收输入或提供输出的显示器。在示例中,i/o接口1430可以用作输入设备,并通过传统的输入方法(例如,键盘和鼠标)和新的输入方法(例如,触摸输入、语音输入和图像输入)接收来自用户的输入。因此,i/o接口1430可以包括例如键盘、鼠标、触摸屏、麦克风和其他设备,它们可以检测来自用户的输入并且将检测到的输入发送到姿态估计装置1400。
[0126]
在示例中,i/o接口1430可以用作输出设备,并通过视觉、听觉或触觉通道将姿态估计装置1400的输出提供给用户。i/o接口1430可以包括例如显示器、触摸屏、扬声器、振动发生器、以及可以向用户提供输出的其他设备。
[0127]
然而,i/o接口1430不限于上述示例,并且可以使用被可操作地连接到姿态估计装置1400的任何其他显示器,例如,平视显示器(hud)、增强现实平视显示器(ar 3d hud)和眼镜显示器(egd)、以及计算机监视器,而不脱离所描述的示例性实施例的精神和范围。在示例中,i/o接口1430是包括一个或多个硬件组件的物理结构,所述硬件组件提供渲染用户界面、渲染显示和/或接收用户输入的能力。
[0128]
处理器1420从图像传感器获取几何校正之前的原始图像,确定原始图像中的特征点,并基于该特征点估计姿态。而且,基于从选自双像素或更多像素传感器的每个像素中的多个光电二极管之中的两个光电二极管获取的相差,处理器1420确定对应像素朝向焦平面
的向量以及基于该向量的相对于焦平面的相对移动改变,从而估计姿态。
[0129]
使用不是从典型的经几何校正的图像获取的附加移动信息,可以使用少量特征点来稳定地估计位置/方向,并减少信号处理所需的数据获取时间,从而实现快速信号处理。
[0130]
而且,可以通过从原始图像提取相对大量的信息来使用最少量的输入信息估计姿态,而无需将人类视觉识别应用于姿态估计装置以进行数据处理。
[0131]
通过从几何校正之前的像素和/或原始图像之间的相差获取不从典型图像中获取的附加移动信息,可以仅使用单相机就实现使用具有不同特性的相机来估计姿态的效果。
[0132]
另外,可以考虑姿态估计装置1400来处理上述操作。
[0133]
本文描述的装置、单元、模块、设备和其他组件由硬件组件来实现。在适当的情况下可被用于执行本申请中所描述的操作的硬件组件的示例包括控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器、以及被配置为执行本申请所述的操作的任何其他电子组件。在其他示例中,用于执行本申请中所描述的操作的硬件组件中的一个或多个硬件组件由计算硬件(例如,由一个或多个处理器或计算机)实现。处理器或计算机可以由一个或多个处理元件(例如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器、或被配置为以定义的方式响应并执行指令以实现期望的结果的任何其他设备或设备的组合)来实现。在一个示例中,处理器或计算机包括(或被连接到)存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可以执行指令或软件,例如,操作系统(os)和在os上运行的一个或多个软件应用,以执行本申请中描述的操作。硬件组件还可以响应于指令或软件的执行来访问、操纵、处理、创建和存储数据。为了简洁起见,在本申请中描述的示例的描述中可以使用单数术语“处理器”或“计算机”,但是在其他示例中可以使用多个处理器或计算机,或者处理器或计算机可以包括多个处理元件、或多种类型的处理元件、或两者兼有。例如,单个硬件组件或者两个或更多个硬件组件可以由单个处理器、或两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可以由一个或多个处理器、或处理器和控制器来实现,并且一个或多个其他硬件组件可以由一个或多个其他处理器或另一处理器和另一控制器来实现。一个或多个处理器或者处理器和控制器可以实现单个硬件组件、或者两个或更多个硬件组件。硬件组件可以具有不同的处理配置中的任一种或多种,所述处理配置的示例包括单处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理和多指令多数据(mimd)多处理。
[0134]
执行本申请中所描述的操作的方法由计算硬件执行,例如,由执行指令或软件的如上所述地实现的一个或多个处理器或计算机执行,以执行本申请中所描述的通过这些方法执行的操作。例如,单个操作或者两个或更多个操作可以由单个处理器、或者两个或更多个处理器、或者处理器和控制器执行。一个或多个操作可以由一个或多个处理器或者处理器和控制器执行,并且一个或多个其他操作可以由一个或多个其它处理器或者另一处理器和另一控制器执行。一个或多个处理器或者处理器和控制器可以执行单个操作或者两个或更多个操作。
[0135]
用于控制处理器或计算机如上所述地实现硬件组件并执行所述方法的指令或软件被写为计算机程序、代码段、指令或其任何组合,用于单独地或共同地指示或配置处理器
或计算机作为机器或专用计算机来操作,以执行由硬件组件执行的操作和上述方法。在一个示例中,指令或软件包括小应用程序、动态链接库(dll)、中间件、固件、设备驱动器、存储估计姿态的方法的应用程序中的至少一项。在一个示例中,指令或软件包括由处理器或计算机直接执行的机器代码,例如由编译器产生的机器代码。在另一个示例中,指令或软件包括由处理器或计算机使用解释器执行的高级代码。本领域的普通程序员能够基于附图中所示的框图和流程图以及说明书中的对应描述来容易地编写指令或软件,其中公开了用于执行由硬件组件和如上所述的方法执行的操作的算法。
[0136]
控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并执行如上所述的方法的指令或软件、以及任何相关联的数据、数据文件和数据结构可以被记录、存储或固定在一个或多个非暂态计算机可读存储介质之中或之上。非暂态计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd+r、cd-rw、cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-r lth、bd-re、蓝光或光盘存储设备、硬盘驱动器(hdd)、固态驱动器(ssd)、闪存、卡类型的存储器(比如,多媒体卡或微型卡(例如,安全数字(sd)卡或极限数字(xd)卡))、磁带、软盘、磁光数据存储设备、光学数据存储设备、硬盘、固态盘、以及被如下配置的任何其它设备:以非暂态方式存储指令或软件以及任何相关联的数据、数据文件和数据结构,并且向处理器或计算机提供指令或软件以及任何相关联的数据、数据文件和数据结构,使得处理器或计算机可以执行该指令。在一个示例中,指令或软件、以及任何相关联的数据、数据文件和数据结构被分布在网络连接的计算机系统上,使得所述指令和软件以及任何相关联的数据、数据文件和数据结构由一个或多个处理器或计算机以分布式方式来存储、访问和执行。
[0137]
虽然本公开包括特定的示例,但是在理解本申请的公开内容之后将显而易见的是:在不脱离权利要求及其等同物的精神和范围的情况下,可以在这些示例中进行形式和细节上的各种改变。本文描述的示例应仅被认为是描述性的,而不是为了限制的目的。每个示例中的特征或方面的描述被认为适用于其他示例中的类似特征或方面。如果所描述的技术以不同的顺序执行和/或如果所描述的系统、架构、设备或电路中的组件以不同的方式组合和/或被其他组件或其等同物替换或补充,则可以实现合适的结果。因此,本公开的范围不是由详细描述来限定,而是由权利要求及其等同物来限定,并且在权利要求及其等同物的范围内的所有改变都被解释为被包括在本公开中。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1