用于图像处理的集成视觉惯性里程计和图像稳定的制作方法
未命名
10-08
阅读:125
评论:0
1.本公开内容涉及图像处理。
背景技术:
2.相机设备包括捕获帧(例如,图像和/或视频)的一个或多个相机。相机设备的示例包括独立的数字相机或数字视频摄像机、配备有相机的无线通信设备手机(诸如具有一个或多个相机的移动电话)、蜂窝或卫星无线电电话、配备有相机的个人数字助理(pda)、面板或平板设备、游戏设备、包括相机的计算机设备(诸如所谓的“网络摄像头”)或具有数字成像或视频能力的任何设备。
3.相机设备可以被配置为执行视觉惯性里程计(vio),其用于基于由相机设备捕获的图像来估计相机设备的姿态和速度。相机设备还可以被配置为执行图像稳定以减少在曝光期间由相机设备的运动引起的模糊效应。
技术实现要素:
4.概括而言,本公开内容描述了通过利用补偿相机设备的无意移动的跟踪滤波器来集成视觉惯性里程计(vio)和图像稳定的技术。滤波的结果可以是在没有无意移动的情况下的角速度和移动信息以对帧执行图像稳定。相机设备然后可以利用经图像稳定的帧来确定相机设备的位置和朝向作为vio的一部分。
5.通过集成vio和图像稳定,示例技术可以提高整体图像稳定,从而导致更好的图像质量和更少的模糊度,并且改善经由vio获得的位置和朝向(姿态)信息。此外,由于集成,可以共享用于vio和图像稳定的计算资源,从而导致更好的操作相机设备(例如,具有更少的功率利用率和更少的计算资源)。
6.在一个示例中,本公开内容描述了一种用于图像处理的设备,包括:存储器;以及耦合到所述存储器的一个或多个处理器,所述一个或多个处理器被配置为:接收第一信息集合,所述第一信息集合基于所述设备跨越由所述设备捕获的当前帧和由所述设备捕获的后续帧的位置变化来指示所述设备的角速度和移动;对所述第一信息集合进行滤波以补偿所述设备的无意移动以生成第二信息集合,所述第二信息集合指示在没有无意移动的情况下所述设备的角速度和移动;基于所述第一信息集合和所述第二信息集合两者来对所述当前帧执行图像稳定,以生成经图像稳定的当前帧;以及输出所述经图像稳定的当前帧以用于显示。
7.在另一示例中,本公开内容描述了一种用于图像处理的方法,所述方法包括:接收第一信息集合,所述第一信息集合基于设备跨越由所述设备捕获的当前帧和由所述设备捕获的后续帧的位置变化来指示所述设备的角速度和移动;对所述第一信息集合进行滤波以补偿所述设备的无意移动以生成第二信息集合,所述第二信息集合指示在没有无意移动的情况下所述设备的角速度和移动;基于所述第一信息集合和所述第二信息集合两者来对所述当前帧执行图像稳定,以生成经图像稳定的当前帧;以及输出所述经图像稳定的当前帧
以用于显示。
8.在另一示例中,本公开内容描述了一种在其上存储指令的计算机可读存储介质,所述指令在被执行时使得一个或多个处理器进行以下操作:接收第一信息集合,所述第一信息集合基于设备跨越由所述设备捕获的当前帧和由所述设备捕获的后续帧的位置变化来指示所述设备的角速度和移动;对所述第一信息集合进行滤波以补偿所述设备的无意移动以生成第二信息集合,所述第二信息集合指示在没有无意移动的情况下所述设备的角速度和移动;基于所述第一信息集合和所述第二信息集合两者来对所述当前帧执行图像稳定,以生成经图像稳定的当前帧;以及输出所述经图像稳定的当前帧以用于显示。
9.在另一示例中,本公开内容描述了一种用于图像处理的设备,包括:用于接收第一信息集合的单元,所述第一信息集合基于所述设备跨越由所述设备捕获的当前帧和由所述设备捕获的后续帧的位置变化来指示所述设备的角速度和移动;用于对所述第一信息集合进行滤波以补偿所述设备的无意移动以生成第二信息集合的单元,所述第二信息集合指示在没有无意移动的情况下所述设备的角速度和移动;用于基于所述第一信息集合和所述第二信息集合两者来对所述当前帧执行图像稳定,以生成经图像稳定的当前帧的单元;以及用于输出所述经图像稳定的当前帧以用于显示的单元。
10.在附图和以下描述中阐述了一个或多个示例的细节。根据描述、附图以及权利要求书,其它特征、目的和优点将是显而易见的。
附图说明
11.图1是被配置为执行在本公开内容中描述的示例技术中的一种或多种示例技术的设备的框图。
12.图2是进一步详细地示出图1的图像稳定和视觉惯性里程计(vio)单元的示例的框图。
13.图3是进一步详细地示出图2的跟踪滤波器单元的示例的框图。
14.图4a和4b是示出根据在本公开内容中描述的一种或多种示例技术执行图像稳定的示例方式的概念图。
15.图5是示出根据在本公开内容中描述的一个或多个示例的示例操作方法的流程图。
16.图6是示出根据在本公开内容中描述的一个或多个示例的另一示例操作方法的流程图。
具体实施方式
17.在本公开内容中描述的示例技术涉及图像稳定和视觉惯性里程计(vio)。vio是通过使用由设备的相机捕获的图像和指示设备的角速度和/或移动的信息(例如,基于来自惯性测量单元(imu)和/或加速度计的输出)来估计设备的状态(例如,位置和朝向(姿态)以及速度)的技术。设备的移动可能导致高速运动抖动和随机噪声,这导致用于vio的图像是模糊的。因为用于vio的图像是模糊的,所以在设备的定位方面可能存在误差。在设备的定位方面的误差可以是指在确定设备的姿态和速度方面的误差或甚至失败以及在确定图像中的其它对象的所在处(location)和位置(position)方面的误差或甚至失败。
18.在vio技术中,基于imu的针对图像数据的两个连续帧的输出,设备有可能确定设备的姿态。此外,设备可能能够估计特征点在下一帧中的像素坐标。以这种方式,设备执行特征跟踪,这对于快速运动来说可能是有用的。基于特征跟踪,设备可以确定其当前姿态和对象在帧中的所在处以用于映射在设备周围的区域。作为一个示例,来自imu(例如,imu的加速度计)的重力向量可以用于将设备的所估计的位置转换为用于导航的世界坐标系。
19.然而,如果存在模糊的图像,则可能存在依赖于来自imu的输出的针对vio技术的误差。例如,imu中的松散连接可能导致振动。此外,在模糊的图像中对特征点的跟踪可能是不可靠的。
20.图像稳定是降低图像的模糊度的示例方式,并且通常是与vio分离的操作。例如,图像稳定(is)降低了在曝光期间由设备的运动或图像捕获引起的模糊效应。存在光学图像稳定(ois)和电子图像稳定(eis)。光学图像稳定在与相机设备的移动相反的方向上移动相机并且是基于硬件的解决方案。电子图像稳定提供了基于软件的解决方案来补偿相机的移动。例如,eis单元可以确定有意移动和无意移动,并且然后利用图像扭曲来调整每个帧。与ois相比,eis可以相对容易实现,因为eis是软件驱动的,并且可以不像ois技术可能的那样受到硬件故障的影响。然而,使用eis技术,可能存在在边界处的图像质量损失。
21.尽管vio和is技术是独立的技术,但是本公开内容描述了集成vio和is技术的示例方式。例如,示例技术迭代地更新用于vio和is两者的中间结果,而不是针对vio和is利用两个单独的单元,从而导致高效的资源利用。此外,因为vio和is技术被集成在一起,所以来自is的结果可以用于改进vio,反之亦然,从而形成闭环设计,这种闭环设计导致更好的图像和更准确的姿态估计以用于确定定位(例如,确定设备相对于图像中的其它对象的位置)。
22.如下面更详细地描述的,集成is/vio单元可以被配置为利用跟踪滤波器,跟踪滤波器从imu接收跨越当前帧和后续帧而确定的设备的角速度和移动作为输入并且被配置为生成指示在移除了设备的无意移动的情况下设备的角速度和移动的输出。跟踪滤波器还可以利用先前由is/vio单元中的vio单元确定的预测的状态(例如,姿态信息)来生成指示在移除了设备的无意移动的情况下设备的角速度和移动的输出。
23.is/vio单元中的is单元可以利用来自跟踪滤波器的输出来对当前帧执行图像稳定。is单元可以将经图像稳定的当前帧输出到vio单元,并且vio单元利用经图像稳定的当前帧来生成预测的状态。以这种方式,集成is/vio单元中的is单元和vio单元形成闭环反馈设计,以迭代地更新图像稳定和对姿态的确定。
24.如更详细地描述的,可能存在针对图像稳定以及对姿态和速度的确定的一帧延迟。例如,对于当前帧的图像稳定,is单元可能利用后续帧。因此,在本公开内容中,当前帧(例如,帧n)是正在针对其执行图像稳定的帧,但是为了当前帧的图像稳定,已经捕获了后续帧(例如,帧n+1)。然而,对于对姿态和速度的确定,该确定可以是针对后续帧(例如,帧n+1)的。因此,图像稳定可以是针对当前帧,而姿态和速度信息可以是针对后续帧。
25.例如,在当前帧之后,后续帧变为当前帧。由于后续帧被用于当前帧的图像稳定,因此当后续帧变为当前帧时,所计算的各种中间值已经被存储在集成is/vio单元的优先级队列内(例如,用于后续状态的预测的状态和姿态信息)。因此,当后续帧变为当前帧时,除了用于下一帧(例如,在当前帧之后的帧,其中先前的后续帧现在是当前帧)的姿态信息之外,已经在优先级队列中存储的值可以被用于图像稳定和姿态信息,而不是重新计算各种
值。
26.图1是被配置为执行在本公开内容中描述的示例技术中的一种或多种技术的设备的框图。相机设备10的示例包括独立的数字相机或数字视频摄像机、配备有相机的无线通信设备手机(诸如具有一个或多个相机的移动电话)、蜂窝或卫星无线电电话、配备有相机的个人数字助理(pda)、面板或平板设备、游戏设备、包括相机的计算机设备(诸如所谓的“网络摄像头”)或具有数字成像或视频能力的任何设备。
27.如在图1的示例中所示,相机设备10包括相机12(例如,其具有图像传感器和镜头)、相机处理器14和相机处理器14的本地存储器20、中央处理单元(cpu)16、图形处理单元(gpu)18、用户接口22、提供对系统存储器30的访问的存储器控制器24、以及输出使得图形数据显示在显示器28上的信号的显示接口26。尽管图1的示例示出了包括一个相机12的相机设备10,但是在一些示例中,相机设备10可以包括多个相机,诸如用于全向图像或视频捕获。
28.此外,尽管各种组件被示为单独的组件,但是在一些示例中,这些组件可以被组合以形成片上系统(soc)。作为一个示例,相机处理器14、cpu 16、gpu 18和显示接口26可以被形成在公共集成电路(ic)芯片上。在一些示例中,相机处理器14、cpu 16、gpu 18和显示接口26中的一者或多者可以位于单独的ic芯片中。各种其它排列和组合是可能的,并且所述技术不应当被视为限于在图1中示出的示例。
29.在图1中示出的各种组件(无论是在一个设备上还是在不同的设备上形成)可以被形成为固定功能或可编程电路中的至少一者,诸如在一个或多个微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)或其它等效集成或分立逻辑电路中。本地存储器20和系统存储器30的示例包括一个或多个易失性或非易失性存储器或存储设备,诸如随机存取存储器(ram)、静态ram(sram)、动态ram(dram)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存、磁性数据介质或光学存储介质。
30.在图1中示出的各种单元使用总线32与彼此进行通信。总线32可以是各种总线结构中的任何一种,诸如第三代总线(例如,hypertransport总线或infiniband总线)、第二代总线(例如,高级图形端口总线、外围组件互连(pci)快速总线或高级可扩展接口(axi)总线)或另一类型的总线或设备互连。在图1中所示的不同组件之间的总线和通信接口的具体配置仅是示例性的,并且具有相同或不同组件的相机设备和/或其它图像处理系统的其它配置可以用于实现本公开内容的技术。
31.相机处理器14被配置为从相机12接收图像帧,并且处理图像帧以生成用于显示的输出帧。cpu 16、gpu 18、相机处理器14或某种其它电路可以被配置为将包括由相机处理器14生成的图像内容的输出帧处理成用于在显示器28上显示的图像。在一些示例中,gpu 18还可以被配置为在显示器28上渲染图形内容。
32.在一些示例中,相机处理器14可以被配置成图像处理流水线(有时被称为图像信号处理器(isp))。例如,相机处理器14可以包括在相机12与相机处理器14之间对接的相机接口。相机处理器14可以包括用于处理图像内容的额外电路。尽管一个相机处理器14被示为具有一个相机12,但是在一些示例中,设备10可以包括多个相机。相机处理器14可以是用于相机中的每个相机的公共相机处理器。在一些示例中,可以存在用于多个相机中的一个或多个相机的多个相机处理器。
33.相机处理器14经由存储器控制器24来将所得到的具有图像内容(例如,用于图像像素中的每个图像像素的像素值)的帧输出到系统存储器30。如更详细地描述的,cpu 16可以利用帧来校正在捕获帧期间相机设备10的无意移动。例如,cpu 16包括图像稳定(is)和视觉惯性里程计(vio)单元36(is/vio单元36)。is/vio单元36可以利用由相机处理器14输出的帧和来自惯性测量单元(imu)34的输出来执行图像稳定并且确定相机设备10的姿态和定位信息(例如,状态)。
34.本公开内容描述了如由cpu 16(例如,经由is/vio单元36)执行的示例技术。然而,示例技术不应当被视为限于cpu 16执行示例技术。此外,is/vio单元36可以被视为在cpu 16的硬件上执行的软件。因此,系统存储器30可以存储使得一个或多个处理器(例如,cpu 16)执行在本公开内容中描述的示例技术的计算机可读指令(例如,用于is/vio单元36的指令)。在本公开内容中描述的示例技术不限于由在硬件上执行的软件来执行。在一些示例中,is/vio单元36可以是被配置为执行在本公开内容中描述的示例技术的固定功能电路。
35.cpu 16可以包括控制相机设备10的操作的通用或专用处理器。用户可以向相机设备10提供输入,以使得cpu 16执行一个或多个软件应用。在cpu 16上执行的软件应用可以包括例如媒体播放器应用、视频游戏应用、图形用户界面应用或另一程序(例如,包括is/vio单元36)。用户可以经由一个或多个输入设备(未示出)来向相机设备10提供输入,诸如键盘、鼠标、麦克风、触摸板或经由用户接口22耦合到相机设备10的另一输入设备。
36.软件应用的一个示例是相机应用。cpu 16执行相机应用,并且作为响应,相机应用使得cpu 16生成显示器28输出的内容。gpu 18可以被配置为处理由cpu 16生成的内容以用于在显示器28上渲染。例如,显示器28可以输出诸如光强度、是否启用闪光灯之类的信息以及其它这样的信息。相机设备10的用户可以与显示器28对接以配置生成图像的方式(例如,利用或不利用闪光灯、聚焦设置、曝光设置和其它参数)。相机应用还使得cpu 16指导相机处理器14以用户定义的方式来捕获和处理由相机12捕获的图像内容的帧。
37.存储器控制器24促进数据进入和离开系统存储器30的传输。例如,存储器控制器24可以接收存储器读和写命令,并且服务于关于存储器30的这样的命令,以便为相机设备10中的组件提供存储器服务。存储器控制器24通信地耦合到系统存储器30。尽管在图1的相机设备10的示例中,存储器控制器24被示为与cpu 16和系统存储器30两者分离的处理电路,但是在其它示例中,存储器控制器24的功能中的一些或全部功能可以在cpu 16和系统存储器30中的一者或两者上实现。
38.系统存储器30可以存储可由相机处理器14、cpu 16和gpu 18访问的程序模块和/或指令和/或数据。例如,系统存储器30可以存储用户应用(例如,用于相机应用的指令)、来自相机处理器14的所得到的帧等。作为另一示例,如上所述,系统存储器30可以存储用于is/vio单元36的指令,使得is/vio单元36在cpu 16上执行。系统存储器30可以另外存储用于由相机设备10的其它组件使用和/或生成的信息。例如,系统存储器30可以充当用于相机处理器14的设备存储器。
39.相机处理器14、cpu 16和gpu 18可以将图像数据等存储于在系统存储器30内分配的相应缓冲器中。显示接口26可以从系统存储器30取回数据,并且将显示器28配置为显示由所生成的图像数据表示的图像。例如,显示器28可以输出由相机处理器14生成的输出帧。在一些示例中,显示接口26可以包括数模转换器(dac),dac被配置为将从系统存储器30取
回的数字值转换成可由显示器28消耗的模拟信号以驱动显示器的元件。在其它示例中,显示接口26可以将数字值直接传递给显示器28以用于处理。
40.显示器28可以包括监视器、电视机、投影设备、液晶显示器(lcd)、等离子体显示面板、发光二极管(led)阵列或另一类型的显示单元。显示器28可以被集成在相机设备10内。例如,显示器28可以是移动电话手机或平板计算机的屏幕。替代地,显示器28可以是经由有线或无线通信链路耦合到相机设备10的独立设备。例如,显示器28可以是经由电缆或无线链路连接到个人计算机的计算机监视器或平板显示器。
41.如所示的,相机设备10包括惯性测量单元(imu)34。在一个或多个示例中,imu 34是六轴imu。六轴imu可以将3轴加速度计与3轴陀螺仪耦合。加速度计测量线性加速度,而陀螺仪测量旋转运动。例如,imu 34中的加速度计可以指示相机设备10在3轴(x、y、z坐标)上的移动,并且imu 34中的陀螺仪可以指示相机设备10在3轴(x、y、z坐标)上的角速度。
42.如上所述,相机设备10可以输出由相机12捕获的帧以用于显示(例如,经由显示器28)。然而,在一些示例中,由于相机设备10的移动(例如,由于用户握住相机设备10而晃动或某种其它无意移动),在显示器28上显示的帧中的图像内容可能是模糊的,这对观看者体验产生负面影响。
43.此外,在一些示例中,相机设备10可以被配置为基于由相机12捕获的帧来生成指示其位置和朝向(姿态)以及速度的信息。用于确定相机设备10的姿态和速度以及关于相机设备10将在何处的预测的示例技术被称为视觉惯性里程计(vio)技术。
44.例如,对于虚拟现实(vr)/增强现实(ar),可以利用相机设备10的姿态以及在帧中捕获的对象的所在处来生成vr/ar体验(例如,相机设备10相对于其它对象的定位)。如果相机设备10的姿态信息是基于模糊的图像的,则通过vio技术所得到的定位可能是错误的,从而引起负面的观看者体验。可能存在用于利用vio的其它原因,而vr/ar是一个示例。
45.本公开内容描述了用于将图像稳定(is)和vio集成到is/vio单元36中以生成具有降低的模糊度的经图像稳定的帧并且提供更准确的姿态和速度信息的示例技术。例如,is/vio单元36包括is单元和vio单元,如关于图2更详细地描述的。然而,is/vio单元36中的is单元和vio单元共享输入和输出,使得所生成的任何中间值可以按照用于图像稳定和视觉惯性里程计的资源可以被共享的方式来迭代地更新。作为一个示例,来自is/vio单元36中的is单元的输出被用作is/vio单元36中的vio单元的输入,并且is/vio单元36中的vio单元的输出是用于is/vio单元36中的is单元的反馈输入,从而形成闭环设计。此外,作为图像稳定或视觉惯性里程计的一部分而生成的中间值可以按照相同数据可以被重用而不是被重新计算的方式来存储在优先级队列中。
46.作为一个示例,is/vio单元36可以接收第一信息集合,第一信息集合基于相机设备10跨越当前帧和后续帧的位置变化来指示相机设备10的角速度和移动。在本公开内容中,在图像稳定方面可能存在一帧(或者可能存在一个或多个帧)延迟。例如,为了针对当前帧(例如,帧n)执行图像稳定,is/vio单元36利用后续帧(例如,帧n+1),其中,相机设备10在捕获当前帧之后捕获后续帧。因此,关于相对于当前帧的稳定来描述示例技术,但是当前帧可能不是最近捕获的帧。相反,为了执行稳定,is/vio单元36利用后续帧(例如,在当前帧之后捕获的帧,并且在一些示例中,紧接着的下一帧)来进行稳定。
47.然而,为了确定姿态和速度信息,is/vio单元36可以针对后续帧(例如,帧n+1)来
确定用于相机设备10的这样的姿态和速度信息。因此,图像稳定可以是针对帧n,但是姿态和速度信息可以是根据帧n+1来确定的。
48.例如,imu 34可以输出角速度(w)和移动信息(例如,通过“a”来表示的加速度)。角速度可以是在相机设备10捕获当前帧和后续帧之间相机设备10的角速度。移动信息可以是在相机设备10捕获当前帧和后续帧之间相机设备10的移动。在一些示例中,一个或多个滤波器(例如,随机噪声滤波器)可以对角速度和移动信息进行滤波。
49.is/vio单元36可以对第一信息集合进行滤波,以补偿相机设备10的无意移动以生成第二信息集合,第二信息集合指示在没有无意移动的情况下相机设备10的角速度和移动。例如,在捕获用于视频的帧期间,相机设备10的用户可能有意移动相机设备10(例如,以跟踪对象的移动、跨越场景进行摇摄等)。在相机设备10的这种有意移动期间,可能存在无意移动分量,其中相机设备10由于用户的轻微非自愿晃动而移动。在一些示例中,即使当用户未在有意移动相机设备10时,也可能在捕获当前帧和后续帧之间发生用户的非自愿晃动。
50.用户的无意移动可能是相对轻微的。例如,手臂疲劳可能使用户难以稳定地保持相机。用户的位置的轻微移位(诸如重新平衡、为了舒适而移位等)也可能导致相机设备10的无意移动。如上所述,这样的无意移动可能导致模糊的图像以及不良的姿态和定位确定。
51.可以存在对第一信息集合进行滤波以补偿相机设备10的无意移动以生成第二信息集合的各种方式。作为一个示例,is/vio单元36可以利用扩展卡尔曼滤波器(ekf)来对运动进行建模,并且利用概率信息来确定移动是有意的还是无意的。此外,为了执行滤波,is/vio单元36可以利用相机设备10的先前确定的位置和朝向(例如,来自is/vio单元36中的vio单元)以及在没有无意移动的情况下相机设备10的角速度和移动的先前生成的信息(例如,针对在当前帧之前的帧生成的)作为ekf的输入。来自滤波的结果可以是第二信息集合,其中,第二信息集合指示在没有无意移动的情况下相机设备10的角速度和移动。
52.is/vio单元36可以基于第一信息集合和第二信息集合两者来对当前帧执行图像稳定,以生成经图像稳定的当前帧。如上所述,第一信息集合基于相机设备10跨越当前帧和后续帧的位置变化来指示相机设备10的角速度和移动。第二信息集合指示在没有相机设备10的无意移动的情况下相机设备10的角速度和移动。在一个或多个示例中,为了图像稳定,is/vio单元36利用第一信息集合和第二信息集合两者来调整当前帧中的区域的所在处,使得当前帧的经调整的所在处补偿相机设备10的无意移动。
53.例如,由于相机设备10的无意移动,当前帧中的区域的所在处可能是不正确的。is/vio单元36可以利用第一信息集合和第二信息集合来调整该区域的所在处,使得在经图像稳定的当前帧中,该区域的所在处是正确的,并且由相机设备10的无意移动引起的模糊度被最小化。
54.is/vio单元36可以输出经图像稳定的当前帧,以用于在显示器28上显示。此外,is/vio单元36中的vio单元可以基于经图像稳定的当前帧来确定相机设备10的位置和朝向(姿态)。is/vio单元36然后可以输出指示所确定的位置和朝向的信息,该信息可以由gpu 18或其它组件用于ar/vr。因为经图像稳定的当前帧具有降低的模糊度,所以在相机设备10的所确定的位置和朝向方面可以存在更大的准确度。
55.图2是进一步详细地示出图1的图像稳定和视觉惯性里程计(vio)单元36的示例的
框图。在图2中,虚线框示出了来自单元的输出。例如,如图2中所示,imu 34输出相机设备10跨越当前帧和后续帧的角速度和移动。角速度可以在三维中被表示为wx、wy和wz,并且移动可以在三维中被表示为ax、ay和az。
56.在一个或多个示例中,噪声滤波器40a可以对角速度进行噪声滤波,并且噪声滤波器40b可以对移动信息进行滤波。噪声滤波器40a和噪声滤波器40b可以是使用数字信号处理器(dsp)形成的数字滤波器。例如,相机设备10可以包括dsp,并且噪声滤波器40a和噪声滤波器40b可以在dsp上形成。作为另一示例,噪声滤波器40a和噪声滤波器40b可以在cpu 16内形成。来自噪声滤波器40a的输出是w’x、w’y和w’z,而来自噪声滤波器40b的输出是a’x、a’y和a’z。
57.在一些示例中,imu 34可能在测量中遭受随机噪声的影响,并且噪声滤波器40a和噪声滤波器40b可以被配置为滤除这样的随机噪声。由imu 34添加的随机噪声往往是低于截止频率的低频率或高于截止频率的高频率,并且因此,噪声滤波器40a和噪声滤波器40b可以是平均滤波器,以滤除超出带宽的随机噪声。作为一个示例,用于噪声滤波器40a和噪声滤波器40b的平均滤波器可以如下表示:yi=(1-α)y
i-1
+α(xi–
x
i-1
)。在该示例中,xi是输入,并且yi是处于时间步长i的输出信号,x
i-1
是处于时间步长i-1的输入,并且α是时间常数,其可以如下设置:α=τ/(τ+dt)。在一个或多个示例中,τ可以是在根据输出/输入的斜率来设计噪声滤波器40a和噪声滤波器40b时使用的用户选择的值。
58.在一个或多个示例中,角速度(例如,w’x、w’y和w’z)可以被视为相机设备10的旋转,并且移动(例如,a’x、a’y和a’z)可以被视为相机设备10跨越当前帧和后续帧的平移向量。在一个或多个示例中,变换单元42可以利用旋转和平移来形成统一矩阵,该统一矩阵包括便于滤波以补偿相机设备10的无意移动的公式中的角速度和移动信息。变换单元42可以是在cpu 16上执行的硬件单元或软件单元。
59.如所示的,变换单元42生成包括旋转(r)和平移(t)的变换矩阵t。因此,来自变换单元42的输出被示为变换t=[r,t]。在一个或多个示例中,变换t可以在李群(lie group)公式中。在数学中,李群是其元素在矩阵中以平滑方式连续地组织的群。矩阵在指数流形空间中可以是可微的,并且具有闭合形式。当存在“万向锁”问题时,指示角速度的欧拉角(滚转、俯仰、偏航)可能遭受矩阵秩退化的影响。因此,有可能通过使用矩阵指数,利用李群将这样的角速度和移动变换为一组n
×
n可逆矩阵,其中,矩阵的元素是exp(tx),t在向量空间rn中,x是复域cm内的(n x n)矩阵。
[0060]
下文描述了变换单元42可以生成变换矩阵t的一种示例方式。在相机设备10的制造期间和在其使用之前,制造商(或者可能某种其它实体,但是为了方便起见,以制造商进行描述)可以在imu 34与相机12之间执行交叉校准。制造商可以将相机12面向棋盘图案,该棋盘图案包括具有已知比例的单元“april tag图案”。然后,制造商可以按照以下顺序来移动相机设备10:滚转、俯仰、偏航、前后、左右和上下。可以将这些步骤中的每个步骤重复若干次,以收集来自相机12和imu 34两者的输出。根据所收集的信息,有可能确定世界坐标系中的相机朝向(rwc)和imu朝向(rwi)。相机设备10与imu 34之间的相对旋转然后可以被获取为rwi/rwc。变换单元42可以利用用于两个连续帧(例如,当前帧和后续帧)的rwc来生成变换矩阵t。
[0061]
如上所述,两个连续帧(例如,当前帧和后续帧)之间的变换矩阵t包括被表示为r
的相对旋转矩阵(例如,w’x、w’y和w’z)和被表示为t的平移向量(例如,a’x、a’y和a’z)。变换矩阵t可以被表示为:
[0062][0063]
在以上等式中,t10表示跨越当前帧和后续帧的变换矩阵t。r10表示跨越当前帧和后续帧的旋转,并且t10表示跨越当前帧和后续帧的平移。
[0064]
例如,r10是imu 34的陀螺仪角速度测量和陀螺仪的偏差的函数。当前帧(帧1)与后续帧(帧0)之间的以下关系可以是:
[0065]
r10=rw1-1
rw0。
[0066]
rw0可以通过在世界坐标系中对角速度进行离散积分来获取,直到时间步长移到后续帧(帧0)为止。rw0也可以取决于陀螺仪角速度偏差。每个积分步长是:
[0067]
rw
n+1
=e^(rwn[w+bg]dt)rwn。
[0068]
rwn表示在时间n处从世界坐标系到坐标系的积分旋转矩阵。
[0069]
对于平移向量t10,t10可以如下与世界坐标系相关:
[0070]
t10=two
–
tw1。
[0071]
每个时间步长的离散积分为:
[0072][0073][0074]
用于t10的等式可以被简化为:
[0075][0076]
在以上等式中,t
*10
是twn+1和vn的积分部分,但是其中起始速度和重力向量被设置为零。此外,旋转矩阵可以独立于平移向量。因此,从变换单元42输出的变换矩阵t可以如下。在以下描述中,变换矩阵t可以被视为等效于以下等式中的t10。
[0077][0078]
以这种方式,变换单元42可以生成变换矩阵t,变换矩阵t用于滤除由相机设备10的无意移动引起的角速度和移动信息。例如,如图2中所示,imu数据(例如,来自imu 34的角速度和移动信息)由平均滤波器进行处理以移除随机噪声(例如,由噪声滤波器40a和噪声滤波器40b进行滤波)。变换单元42然后可以利用李群公式来将经滤波的角速度(例如,w’x、w’y和w’z)和加速度(例如,a’x、a’y和a’z)积分到姿态变换中(例如,以生成变换矩阵t)。例如,变换矩阵t是包括经积分滤波的角速度和加速度信息的统一矩阵。变换矩阵t可以被视为第一信息集合,第一信息集合基于相机设备跨越当前帧和后续帧的位置变化来指示相机设备10的角速度和移动。
[0079]
如图2中所示,is/vio单元36可以接收第一信息集合(例如,变换矩阵t)。is/vio单元36还可以接收一个或多个帧(例如,当前帧和后续帧),其中,is/vio单元36可以对当前帧执行图像稳定以移除当前帧中的模糊,以及基于当前帧来更准确地确定姿态和定位。is/vio单元36可以以特定帧速率连续地(例如,在预览模式下)接收一个或多个帧,或者可以在被指导时(例如,类似于在快照中)接收一个或多个帧。
[0080]
is/vio单元36可以包括图像稳定单元44、跟踪滤波器单元46、优先级队列48和视觉惯性里程计(vio)单元50。在一些示例中,优先级队列48可以是系统存储器30的一部分。在一些示例中,优先级队列48可以是cpu 16的本地存储器(例如,cpu 16的高速缓存存储器、寄存器等)的一部分。
[0081]
跟踪滤波器单元46可以接收第一信息集合(例如,变换矩阵t),并且对第一信息集合进行滤波,以补偿相机设备10的无意移动以生成第二信息集合,第二信息集合开始指示在没有无意移动的情况下相机设备10的角速度和移动。如所示的,跟踪滤波器单元46可以输出变换t
im
,其中,变换t
im
是在没有相机设备10的无意移动的情况下经滤波的状态。关于图3更详细地描述了跟踪滤波器单元46可以生成t
im
的示例方式。
[0082]
通常,如图2中所示,跟踪滤波器单元46接收由vio单元50生成的先前预测的状态(例如,先前针对在当前帧之前的帧确定的位置和朝向)作为输入。跟踪滤波器单元46还接收变换矩阵t,变换矩阵t包括来自imu 34的当前角速度和移动信息。跟踪滤波器单元46对先前预测的状态和变换矩阵t进行混合,并且将滤波应用于混合的结果以将变换矩阵t分解为两个部分:变换的经分解的第一部分和变换的经分解的第二部分。变换的经分解的第二部分可以是无意移动信息。变换的经分解的第一部分可以是在移除了无意移动的情况下的角速度和移动信息(例如,在移除了变换的经分解的第二部分的情况下)。变换的经分解的第一部分被称为变换矩阵t
im
。
[0083]
优先级队列48可以存储变换矩阵t(例如,第一信息集合)和变换矩阵t
im
(例如,第二信息集合)两者。图像稳定单元44可以接收第一信息集合(例如,变换矩阵t)和第二信息集合(例如,变换矩阵t
im
)两者,并且执行图像稳定以生成经图像稳定的当前帧(如图2中的经校正的帧所示)。下面关于图4a和4b描述了用于执行图像稳定以生成经图像稳定的当前帧的示例技术。
[0084]
vio单元50可以被配置为接收经校正的帧(例如,经图像稳定的当前帧)以及当前经滤波的imu测量(例如,w’x、w’y、w’z、a’x、a’y和a’z)。vio单元50可以利用所接收的信息来确定相机设备10的姿态(例如,位置和朝向)和速度。vio单元50输出的预测的状态(例如,姿态和速度)是vio单元50生成的姿态和速度信息的示例。如所示的,预测状态信息被馈送到跟踪滤波器单元46中,以用于生成变换矩阵t
im
,变换矩阵t
im
然后由图像稳定单元44用于进行图像稳定。以这种方式,图像稳定单元44和vio单元50形成闭环设计,其中,由一者生成的值被反馈到另一者。
[0085]
为了确定用于相机设备10的姿态(例如,位置和朝向)信息,vio单元50可以对角速度和移动信息执行预先积分以及在从图像稳定单元44接收的经图像稳定的当前帧中执行特征检测。在一些示例中,对角速度和移动信息的预先积分可以是对在没有无意移动的情况下的角速度和移动信息的预先积分。也就是说,vio单元50可以对变换矩阵t
im
执行预先积分。如上所述,变换矩阵t
im
表示指示在没有无意移动的情况下相机设备10的角速度和移动的信息。因此,vio单元50可以重用由图像稳定单元44使用的变换矩阵t
im
,但用于预先积分。
[0086]
vio单元50可以通过角速度和加速度的离散总和乘以时间间隔来估计姿态和速度。加速度在时间间隔内的二重积分是位置估计。在这个积分过程中,加速度和陀螺仪测量的偏差也被更新,并且从原始测量中减去。
[0087]
vio单元50还可以检测经图像稳定的当前帧和后续帧中的特征。视觉外观上与相
邻像素相比,这些视觉特征是显著的点,并且用于每个特征点的描述符还将通过在特征点周围的图块的统计结果来提取。跨越连续图像帧(例如,当前帧和后续帧)的这些独特的特征点被用于建立用于跟踪的帧之间的对应关系。在一些示例中,vio单元50可以利用帧的滑动窗口以用于优化目的。例如,可以维护具有丰富特征点的5-10个帧,以供vio单元50用于确定姿态信息。利用来自滑动窗口优化的输出,vio单元50可以执行定位并且生成用于相机设备10的姿态信息,以及还使用经图像稳定的帧来生成在后续帧中捕获的在相机设备10周围的3d点的全局图。
[0088]
首先通过对imu测量的预先积分来估计两个帧的相对姿态,然后在给定两个帧之间的2d特征点对应关系的情况下通过特征跟踪来进一步优化。优化是将预测的像素位置与观测到的像素位置之间的总计重投影误差最小化。首先通过相机帧中的特征点的2d对应关系来对3d图点进行三角化,然后通过相机而配准到全局帧中以映射变换。
[0089]
图3是进一步详细地示出图2的跟踪滤波器单元的示例的框图。如所示的,跟踪滤波器单元46包括混合单元60、矩阵-向量转换器61、一个或多个扩展卡尔曼滤波器(ekf)62a-62c、模型概率更新单元64、融合单元66和向量-矩阵转换器67。混合单元60可以接收第一信息集合(例如,变换矩阵t)和指示相机设备10的先前确定的位置和朝向(例如,预测的状态)的信息作为输入。在一些示例中,矩阵-向量转换器61可以利用对数运算(例如,logx)来将李群变换矩阵t(例如,第一信息集合)转换为向量。转换为矩阵可以被执行以用于计算目的,而不应当被视为限制。
[0090]
相机设备10的先前确定的位置和朝向可以是先前已经由vio单元50确定的。如上所述,第一信息集合(例如,变换矩阵t)基于设备跨越由相机设备10捕获的当前帧和由相机设备10捕获的后续帧的位置变化来指示相机设备10的角速度和移动。
[0091]
混合单元60可以将所接收的指示相机设备10的先前确定的位置和朝向的信息与第一信息集合(例如,变换矩阵t)进行混合,以生成相机设备10的角速度和移动的混合估计。角速度和移动的混合估计可以等于((p-1
*预测的状态)+q-1
*(变换矩阵t))/(p-1
+q-1
),其中,p和q分别是预测的状态和变换矩阵t的相应协方差矩阵。
[0092]
ekf 62a-62c可以各自从混合单元60接收混合估计。ekf 62a-62c可以各自被配置为对相机设备10的不同动力学和运动学进行建模。例如,ekf 62a可以被配置为对恒定速度进行建模。ekf 62b可以被配置为对恒定角速度进行建模。ekf 62c可以被配置为对恒定加速度进行建模。ekf 62a-62c可以一起对相机设备10的任何有意运动进行建模,以生成指示相机设备10的有意运动的经建模的运动。也就是说,现实中的任何运动都可以由来自ekf 62a-62c的运动模型的组合来表示。任何其它未被建模的运动图案都可以被视为无意移动(例如,无意振动)。
[0093]
例如,ekf 62a-62c可以根据来自混合单元60的混合估计来确定角速度和移动的哪些部分与ekf 62a-62c的相应模型对齐。经建模的运动可以是与ekf 62a-62c的相应模型对齐的运动。来自混合单元60的混合估计的角速度和移动的未与ekf 62a-62c的相应模型对齐的任何部分可以表示相机设备10的无意移动。因此,跟踪滤波器单元46可以将一个或多个扩展卡尔曼滤波器(ekf)62a-62c应用于混合估计,以生成一个或多个经建模的运动。经建模的运动可以指示相机设备10的有意移动。
[0094]
模型概率更新单元64可以确定一个或多个经建模的运动的模型概率。可以根据
ekf 62a-62c的所有模型的协方差矩阵的总和上的每个状态协方差矩阵qi,来计算来自并联ekf 62a-62c的每个模型概率pi矩阵:变量p在此处被重用为pi,但是pi不同于上面用于混合单元60的变量p。
[0095]
融合单元66可以对模型概率和一个或多个经建模的运动进行融合以生成t
im
,其中t
im
是指示在没有无意移动的情况下相机设备10的角速度和移动的信息。在一些示例中,来自融合单元66的输出可以是向量-矩阵转换器67将其转换为矩阵的向量(例如,使用指数运算e
x
)。如果变换矩阵t是基于相机设备10跨越当前帧和后续帧的位置变化来指示相机设备10的角速度和移动的第一信息集合,则变换矩阵t
im
是指示在没有无意移动的情况下相机设备10的角速度和移动的第二信息集合。
[0096]
融合单元66可以通过来自ekf 62a-62c中的每一者的输出与由模型概率更新单元64确定的相应模型概率的加权和来执行融合操作。例如,融合单元66可以确定在该示例中,xi是ekf 62a-62c中的每一者的输出,并且pi是来自模型概率更新单元64的相应概率。x
t
表示t
im
,但是具有利用向量-矩阵转换器67转换成矩阵t
im
的向量形式。
[0097]
图像稳定单元44可以利用变换矩阵t和变换矩阵t
im
来执行图像稳定。作为一个示例,图像稳定单元44可以确定以下项:
[0098]
[u0’,v0’,1]
t
=a(t)-1
t
im
a-1
[u0,v0,1]
t
。
[0099]
在以上等式中,[u0,v0,1]是在图像稳定之前的当前帧中的区域的坐标。例如,u0表示宽度,并且v0表示高度。[u0’,v0’,1]是经图像稳定的当前帧中的区域的坐标。如上,u0’表示宽度,并且v0’表示高度。“a”是内参矩阵。如上所述,变换矩阵t是基于相机设备10跨越当前帧和后续帧的位置变化来指示相机设备10的角速度和移动的第一信息集合,并且变换矩阵t
im
是指示在没有无意移动的情况下相机设备10的角速度和移动的第二信息集合。变换单元42可以生成变换矩阵t,并且跟踪滤波器单元46可以生成变换矩阵t
im
。上标t用于表示“转置”,而不应当与变换矩阵t混淆。
[0100]
下文关于图4a和4b描述了计算[u0’,v0’,1]
t
=a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
方式通过补偿无意移动来提供图像稳定。图像稳定单元44可以不需要每次都执行以下等式。相反,图像稳定单元44可以被预先配置为根据[u0’,v0’,1]
t
=a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
来执行操作,并且下文将易于理解。
[0101]
图4a和4b是示出根据在本公开内容中描述的一种或多种示例技术执行图像稳定的示例方式的概念图。图4a示出了具有当前区域72的当前帧70,其中,区域72是在图像稳定之前的当前帧70中的区域。图4b示出了具有区域78的后续帧76。后续帧76可以是在相机12捕获当前帧70之后由相机12捕获的帧。在一些示例中,后续帧76在捕获中连续地在当前帧70之后。如更详细地描述的,图像稳定单元44可以利用图像稳定来将当前区域72旋转为经图像稳定的区域74。
[0102]
在图4a和4b的示例中,用于区域78的坐标可以如下:
[0103]
zc1[u1,v1,1]
t
=a*t*a-1
*z0[u0,v0,1]
t
,其中,[u1,v1,1]表示用于区域78的坐标,并且[u0,v0,1]表示当前区域72的坐标,a是内参矩阵,并且t是变换矩阵t。
[0104]
如上所述,变换矩阵t可以包括变换的经分解的第一部分和变换的经分解的第二部分。变换的经分解的第二部分可以是无意移动信息。变换的经分解的第一部分可以是在
移除了无意移动的情况下的角速度和移动信息(例如,在移除了变换的经分解的第二部分的情况下)。变换的经分解的第一部分被称为变换矩阵t
im
。变换的经分解的第二部分被称为变换矩阵t
nm
。
[0105]
用于zc1的以上等式可以利用t
im
和t
nm
而如下重写:
[0106]
zc1[u1,v1,1]
t
=a*t
nm
*t
im
*a-1
*z0[u0,v0,1]
t
。
[0107]
通过将t
nm
从等式的右侧移动到左侧,以上等式可以重写为:
[0108]
a*(t
nm
)-1
*a-1
*zc1[u1,v1,1]
t
=a*t
im
*a-1
*z0[u0,v0,1]
t
。
[0109]
以上等式的左侧可以被视为后续帧76中的区域80的坐标。例如,以上等式可以重写为:zc1[u1’,v1’,1]
t
=a*t
im
*a-1
*z0[u0,v0,1]
t
,其中,[u1’,v1’,1]是用于后续帧76中的区域80的坐标。
[0110]
因为用于zc1[u1,v1,1]
t
的等式是a*t
nm
*t
im
*a-1
*z0[u0,v0,1]
t
,所以用于zc1[u1’,v1’,1]
t
的等式也可以如下写为:a*t
nm
*t
im
*a-1
*z0[u0’,v0’,1]
t
。在该等式中,[u0’,v0’,1]是用于当前帧70中的区域74的坐标。
[0111]
通过对用于zc1[u1’,v1’,1]
t
的两个等式进行组合,结果是:
[0112]
a*t
nm
*t
im
*a-1
*z0[u0’,v0’,1]
t
=a*t
im
*a-1
*z0[u0,v0,1]
t
。
[0113]
以上等式可以被简化为:
[0114]
[u0’,v0’,1]
t
=a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
。
[0115]
图像稳定单元44可以对当前帧70执行以下等式的运算以生成经图像稳定的当前帧:[u0’,v0’,1]
t
=a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
。在一些示例中,u0和v0可以表示当前帧70中的像素的坐标,而不是u0、v0表示区域的高度和宽度。图像稳定单元44可以逐像素地执行以下等式的运算以生成经图像稳定的当前帧:[u0’,v0’,1]
t
=a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
。等式a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
包括变换矩阵t和变换矩阵t
im
两者。因此,图像稳定单元44可以基于第一信息集合(例如,变换矩阵t)和第二信息集合(例如,变换矩阵t
im
)两者来对当前帧70执行图像稳定,以生成经图像稳定的当前帧。
[0116]
图5是示出根据在本公开内容中描述的一个或多个示例的示例操作方法的流程图。为了便于描述,关于图2中的is/vio单元36和图3中的is/vio单元36中的跟踪滤波器46来描述该示例。
[0117]
is/vio单元36中的跟踪滤波器46可以接收第一信息集合,第一信息集合基于设备跨越由相机设备10捕获的当前帧和由相机设备10捕获的后续帧的位置变化来指示设备的角速度和移动(90)。例如,跟踪滤波器46可以从变换单元42接收变换矩阵t。如上所述,变换矩阵t可以是统一变换矩阵,其具有被集成到统一变换矩阵中的、指示设备的角速度和移动的信息。
[0118]
在一些示例中,变换单元42可以接收相机设备10在欧几里得空间中的角速度和移动。相机设备10的角速度和移动信息可以来自imu 34并且由噪声滤波器40a和40b进行滤波。变换单元42可以利用李群变换来将相机设备10在欧几里得空间中的角速度和移动变换到指数流形空间,以生成第一信息集合。例如,如上所述,变换单元42可以确定:
[0119][0120]
跟踪滤波器单元46可以对第一信息集合进行滤波,以补偿设备的无意移动以生成
第二信息集合,第二信息集合指示在没有无意移动的情况下设备的角速度和移动(92)。例如,跟踪滤波器单元46中的混合单元60可以接收第一信息集合(例如,可能在利用矩阵-向量转换器61转换为向量形式之后),并且接收指示设备10的先前确定的位置和朝向的信息(例如,图3中的预测的状态)。
[0121]
混合单元60可以将所接收的指示设备的先前确定的位置和朝向的信息与第一信息集合进行混合,以生成设备的角速度和移动的混合估计。ekf 62a-62c可以将一个或多个扩展卡尔曼滤波器(ekf)应用于混合估计,以生成一个或多个经建模的运动。模型概率更新单元64可以确定一个或多个经建模的运动的模型概率。融合单元66可以对模型概率和一个或多个经建模的运动进行融合以生成第二信息集合(例如,可能利用向量-矩阵转换器67转换为矩阵形式)以生成t
im
。
[0122]
图像稳定单元44可以基于第一信息集合和第二信息集合两者来对当前帧执行图像稳定,以生成经图像稳定的当前帧(94)。例如,图像稳定单元44可以执行a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
,其中,a是内参矩阵,t是基于第一信息集合的矩阵,t
im
是基于第二信息集合的矩阵,[u0,v0,1]表示在图像稳定之前的当前帧中的像素的坐标位置。
[0123]
vio单元50可以基于经图像稳定的当前帧和后续帧来确定相机设备10的位置和朝向和速度信息(96)。例如,图像稳定单元44可以将经校正的帧输出到vio单元50,并且vio单元50可以基于经图像稳定的当前帧(例如,执行预先积分和评估特征点)和后续帧来确定设备的速度、位置和朝向。例如,姿态信息和速度可以是基于特征点在两个帧之间的移动的。在一些示例中,vio单元50可以确定特征点在经图像稳定的当前帧与后续帧之间的移动。
[0124]
is/vio单元36可以输出经图像稳定的当前帧和指示所确定的位置和朝向的信息(98)。例如,图像稳定单元44可以输出经图像稳定的当前帧以用于显示。vio单元50可以输出指示所确定的位置和朝向的信息,并且在一些示例中,还包括用于增强现实或虚拟现实的速度信息。
[0125]
图6是示出根据在本公开内容中描述的一个或多个示例的示例操作方法的流程图。如上所述,在一些示例中,在针对当前帧的图像稳定中存在一帧延迟。例如,使用后续帧来对当前帧进行图像稳定,并且然后使用经图像稳定的当前帧来对后续帧执行vio。例如,图像稳定是在帧n上,但是用于确定姿态和速度信息的vio是基于经图像稳定的帧n来针对帧n+1的。
[0126]
然而,在一些示例中,在实时确定姿态和速度信息(而不是等待图像稳定)方面可以存在益处。在这样的示例中,可以使用经图像稳定的帧来更新姿态和速度信息。
[0127]
例如,针对实时系统,vio单元50可以使用未经稳定的当前帧(例如,未经稳定的帧n),使用后续帧(例如,帧n+1)上的特征点来执行特征跟踪(100)。也就是说,vio单元50可以执行与上述技术类似的技术,但是关于未经稳定的当前帧。
[0128]
并行地,图像稳定单元44可以对当前帧(例如,帧n)执行图像稳定(102)。图像稳定单元44可以利用在本公开内容中描述的示例技术来执行图像稳定。vio单元50可以基于经图像稳定的当前帧来更新对后续帧的特征跟踪(104)。作为一个示例,vio单元50可以将特征跟踪限制到在利用未经稳定的当前帧进行特征跟踪期间使用经图像稳定的当前帧识别的特征点附近的特征点,并且基于所跟踪的特征点来确定姿态和速度信息。
[0129]
下文描述了可以一起使用或单独使用的示例技术。
[0130]
条款1:一种用于图像处理的设备,包括:存储器;以及耦合到所述存储器的一个或多个处理器,所述一个或多个处理器被配置为:接收第一信息集合,所述第一信息集合基于所述设备跨越由所述设备捕获的当前帧和由所述设备捕获的后续帧的位置变化来指示所述设备的角速度和移动;对所述第一信息集合进行滤波以补偿所述设备的无意移动以生成第二信息集合,所述第二信息集合指示在没有无意移动的情况下所述设备的角速度和移动;基于所述第一信息集合和所述第二信息集合两者来对所述当前帧执行图像稳定,以生成经图像稳定的当前帧;以及输出所述经图像稳定的当前帧以用于显示。
[0131]
条款2:根据条款1所述的设备,其中,所述一个或多个处理器还被配置为:基于所述经图像稳定的当前帧和所述后续帧来确定所述设备的速度、位置和朝向;以及输出指示所确定的速度、位置和朝向的信息以用于增强现实或虚拟现实。
[0132]
条款3:根据条款1和2中任一项所述的设备,其中,接收所述第一信息集合包括接收统一变换矩阵中的所述信息,统一变换矩阵具有被集成到所述统一变换矩阵中的、指示所述设备的角速度和移动的信息。
[0133]
条款4:根据条款1至3中任一项所述的设备,其中,接收所述第一信息集合包括:接收所述设备在欧几里得空间中的角速度和移动;以及利用李群变换来将所述设备在欧几里得空间中的所述角速度和移动变换到指数流形空间,以生成所述第一信息集合。
[0134]
条款5:根据条款1至4中任一项所述的设备,其中,对所述第一信息集合进行滤波包括:接收指示所述设备的先前确定的位置和朝向的信息;将所接收的指示所述设备的先前确定的位置和朝向的信息与所述第一信息集合进行混合,以生成所述设备的角速度和移动的混合估计;将一个或多个扩展卡尔曼滤波器(ekf)应用于所述混合估计以生成一个或多个经建模的运动;确定所述一个或多个经建模的运动的模型概率;以及对所述模型概率和所述一个或多个经建模的运动进行融合以生成所述第二信息集合。
[0135]
条款6:根据条款1至5中任一项所述的设备,其中,执行图像稳定包括确定:a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
,其中,a是内参矩阵,t是基于所述第一信息集合的矩阵,t
im
是基于所述第二信息集合的矩阵,[u0,v0,1]表示在图像稳定之前的所述当前帧中的像素的坐标位置。
[0136]
条款7:根据条款1至6中任一项所述的设备,其中,所述一个或多个处理器被配置为:从惯性移动单元(imu)接收角速度和移动信息,并且对所述角速度和移动信息进行滤波以生成所述第一信息集合。
[0137]
条款8:根据条款1至7中任一项所述的设备,其中,所述设备包括具有一个或多个相机的移动电话。
[0138]
条款9:一种用于图像处理的方法,包括:接收第一信息集合,所述第一信息集合基于设备跨越由所述设备捕获的当前帧和由所述设备捕获的后续帧的位置变化来指示所述设备的角速度和移动;对所述第一信息集合进行滤波以补偿所述设备的无意移动以生成第二信息集合,所述第二信息集合指示在没有无意移动的情况下所述设备的角速度和移动;基于所述第一信息集合和所述第二信息集合两者来对所述当前帧执行图像稳定,以生成经图像稳定的当前帧;以及输出所述经图像稳定的当前帧以用于显示。
[0139]
条款10:根据条款9所述的方法,基于所述经图像稳定的当前帧和所述后续帧来确定所述设备的速度、位置和朝向;以及输出指示所确定的速度、位置和朝向的信息。
[0140]
条款11:根据条款9和10中任一项所述的方法,其中,接收所述第一信息集合包括
接收统一变换矩阵中的所述信息,统一变换矩阵具有被集成到所述统一变换矩阵中的、指示所述设备的角速度和移动的信息。
[0141]
条款12:根据条款9至11中任一项所述的方法,其中,接收所述第一信息集合包括:接收所述设备在欧几里得空间中的角速度和移动;以及利用李群变换来将所述设备在欧几里得空间中的所述角速度和移动变换到指数流形空间,以生成所述第一信息集合。
[0142]
条款13:根据条款9至12中任一项所述的方法,其中,对所述第一信息集合进行滤波包括:接收指示所述设备的先前确定的位置和朝向的信息;将所接收的指示所述设备的先前确定的位置和朝向的信息与所述第一信息集合进行混合,以生成所述设备的角速度和移动的混合估计;将一个或多个扩展卡尔曼滤波器(ekf)应用于所述混合估计以生成一个或多个经建模的运动;确定所述一个或多个经建模的运动的模型概率;以及对所述模型概率和所述一个或多个经建模的运动进行融合以生成所述第二信息集合。
[0143]
条款14:根据条款9至13中任一项所述的方法,其中,执行图像稳定包括确定:a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
,其中,a是内参矩阵,t是基于所述第一信息集合的矩阵,t
im
是基于所述第二信息集合的矩阵,[u0,v0,1]表示在图像稳定之前的所述当前帧中的像素的坐标位置。
[0144]
条款15:根据条款9至14中任一项所述的方法,还包括:从惯性移动单元(imu)接收角速度和移动信息,并且对所述角速度和移动信息进行滤波以生成所述第一信息集合。
[0145]
条款16:一种在其上存储指令的计算机可读存储介质,所述指令在被执行时使得一个或多个处理器进行以下操作:接收第一信息集合,所述第一信息集合基于设备跨越由所述设备捕获的当前帧和由所述设备捕获的后续帧的位置变化来指示所述设备的角速度和移动;对所述第一信息集合进行滤波以补偿所述设备的无意移动以生成第二信息集合,所述第二信息集合指示在没有无意移动的情况下所述设备的角速度和移动;基于所述第一信息集合和所述第二信息集合两者来对所述当前帧执行图像稳定,以生成经图像稳定的当前帧;以及输出所述经图像稳定的当前帧以用于显示。
[0146]
条款17:根据条款16所述的计算机可读存储介质,还包括使得所述一个或多个处理器进行以下操作的指令:基于所述经图像稳定的当前帧和所述后续帧来确定所述设备的速度、位置和朝向;以及输出指示所确定的速度、位置和朝向的信息以用于增强现实或虚拟现实。
[0147]
条款18:根据条款16和17中任一项所述的计算机可读存储介质,其中,使得所述一个或多个处理器接收所述第一信息集合的所述指令包括使得所述一个或多个处理器进行以下操作的指令:接收统一变换矩阵中的所述信息,统一变换矩阵具有被集成到所述统一变换矩阵中的、指示所述设备的角速度和移动的信息。
[0148]
条款19:根据条款16至18中任一项所述的计算机可读存储介质,其中,使得所述一个或多个处理器接收所述第一信息集合的所述指令包括使得所述一个或多个处理器进行以下操作的指令:接收所述设备在欧几里得空间中的角速度和移动;以及利用李群变换来将所述设备在欧几里得空间中的所述角速度和移动变换到指数流形空间,以生成所述第一信息集合。
[0149]
条款20:根据条款16至19中任一项所述的计算机可读存储介质,其中,使得所述一个或多个处理器对所述第一信息集合进行滤波的指令包括使得所述一个或多个处理器进
行以下操作的指令:接收指示所述设备的先前确定的位置和朝向的信息;将所接收的指示所述设备的先前确定的位置和朝向的信息与所述第一信息集合进行混合,以生成所述设备的角速度和移动的混合估计;将一个或多个扩展卡尔曼滤波器(ekf)应用于所述混合估计以生成一个或多个经建模的运动;确定所述一个或多个经建模的运动的模型概率;以及对所述模型概率和所述一个或多个经建模的运动进行融合以生成所述第二信息集合。
[0150]
条款21:根据条款16至20中任一项所述的计算机可读存储介质,其中,使得所述一个或多个处理器执行图像稳定的所述指令包括使得所述一个或多个处理器确定以下项的指令:a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
,其中,a是内参矩阵,t是基于所述第一信息集合的矩阵,t
im
是基于所述第二信息集合的矩阵,[u0,v0,1]表示在图像稳定之前的所述当前帧中的像素的坐标位置。
[0151]
条款22:根据条款16至21中任一项所述的计算机可读存储介质,还包括使得所述一个或多个处理器进行以下操作的指令:从惯性移动单元(imu)接收角速度和移动信息,并且对所述角速度和移动信息进行滤波以生成所述第一信息集合。
[0152]
条款23:一种用于图像处理的设备,包括:用于接收第一信息集合的单元,所述第一信息集合基于所述设备跨越由所述设备捕获的当前帧和由所述设备捕获的后续帧的位置变化来指示所述设备的角速度和移动;用于对所述第一信息集合进行滤波以补偿所述设备的无意移动以生成第二信息集合的单元,所述第二信息集合指示在没有无意移动的情况下所述设备的角速度和移动;用于基于所述第一信息集合和所述第二信息集合两者来对所述当前帧执行图像稳定,以生成经图像稳定的当前帧的单元;以及用于输出所述经图像稳定的当前帧以用于显示的单元。
[0153]
条款24:根据条款23所述的设备,还包括:用于基于所述经图像稳定的当前帧和所述后续帧来确定所述设备的速度、位置和朝向的单元;以及用于输出指示所确定的速度、位置和朝向的信息的单元。
[0154]
条款25:根据条款23和24中任一项所述的设备,其中,用于接收第一信息集合的单元包括用于接收统一变换矩阵中的信息的单元,统一变换矩阵具有被集成到统一变换矩阵中的、指示设备的角速度和运动的信息。
[0155]
条款26:根据条款23至25中任一项所述的设备,其中,所述用于接收所述第一信息集合的单元包括:用于接收所述设备在欧几里得空间中的角速度和移动的单元;以及用于利用李群变换来将所述设备在欧几里得空间中的所述角速度和移动变换到指数流形空间,以生成所述第一信息集合的单元。
[0156]
条款27:根据条款23至26中任一项所述的设备,其中,对所述第一信息集合进行滤波包括:用于接收指示所述设备的先前确定的位置和朝向的信息的单元;用于将所接收的指示所述设备的先前确定的位置和朝向的信息与所述第一信息集合进行混合,以生成所述设备的角速度和移动的混合估计的单元;用于将一个或多个扩展卡尔曼滤波器(ekf)应用于所述混合估计以生成一个或多个经建模的运动的单元;用于确定所述一个或多个经建模的运动的模型概率的单元;以及用于对所述模型概率和所述一个或多个经建模的运动进行融合以生成所述第二信息集合的单元。
[0157]
条款28:根据条款23至27中任一项所述的设备,其中,所述用于执行图像稳定的单元包括用于确定以下项的单元:a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
,其中,a是内参矩阵,t是基于
所述第一信息集合的矩阵,t
im
是基于所述第二信息集合的矩阵,[u0,v0,1]表示在图像稳定之前的所述当前帧中的像素的坐标位置。
[0158]
条款29:根据条款23至28中任一项所述的设备,还包括:用于从惯性移动单元(imu)接收角速度和移动信息,并且对所述角速度和移动信息进行滤波以生成所述第一信息集合的单元。
[0159]
条款30:根据条款23至29中任一项所述的设备,其中,所述设备包括具有一个或多个相机的移动电话。
[0160]
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则所述功能可以作为一个或多个指令或代码存储在计算机可读介质上或者通过其进行发送以及由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于诸如数据存储介质的有形介质。以这种方式,计算机可读介质通常可以对应于非暂时性的有形计算机可读存储介质。数据存储介质可以是可以由一个或多个计算机或者一个或多个处理器访问以取回用于实现在本公开内容中描述的技术的指令、代码和/或数据结构的任何可用的介质。计算机程序产品可以包括计算机可读介质。
[0161]
举例来说而非进行限制,这样的计算机可读存储介质可以包括ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁存储设备、闪存、或者能够用于以指令或数据结构形式存储期望的程序代码以及能够由计算机访问的任何其它介质。应当理解,计算机可读存储介质和数据存储介质不包括载波、信号或其它暂时性介质,而是替代地针对非暂时性的有形存储介质。如本文所使用的,磁盘和光盘包括压缩光盘(cd)、激光光盘、光盘、数字多功能光盘(dvd)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘利用激光来光学地复制数据。上述各项的组合也应当被包括在计算机可读介质的范围之内。
[0162]
指令可以由一个或多个处理器来执行,诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)、或其它等效的集成或分立逻辑电路。相应地,如本文所使用的术语“处理器”可以指代前述结构中的任何一者或者适于实现本文描述的技术的任何其它结构。此外,在一些方面中,本文描述的功能可以在被配置用于编码和解码的专用硬件和/或软件模块内提供,或者被并入组合的编解码器中。此外,所述技术可以完全在一个或多个电路或逻辑元件中实现。
[0163]
本公开内容的技术可以在各种各样的设备或装置中实现,包括无线手机、集成电路(ic)或一组ic(例如,芯片组)。在本公开内容中描述了各个组件、模块或单元以强调被配置为执行所公开的技术的设备的功能性方面,但是不一定需要通过不同的硬件单元来实现。确切而言,如上所述,各种单元可以被组合在编解码器硬件单元中,或者由包括如上所述的一个或多个处理器的互操作硬件单元的集合结合适当的软件和/或固件来提供。
[0164]
已经描述了各个示例。这些和其它示例在以下权利要求的范围内。
技术特征:
1.一种用于图像处理的设备,所述设备包括:存储器;以及耦合到所述存储器的一个或多个处理器,所述一个或多个处理器被配置为:接收第一信息集合,所述第一信息集合基于所述设备跨越由所述设备捕获的当前帧和由所述设备捕获的后续帧的位置变化来指示所述设备的角速度和移动;对所述第一信息集合进行滤波以补偿所述设备的无意移动以生成第二信息集合,所述第二信息集合指示在没有无意移动的情况下所述设备的角速度和移动;基于所述第一信息集合和所述第二信息集合两者来对所述当前帧执行图像稳定,以生成经图像稳定的当前帧;以及输出所述经图像稳定的当前帧以用于显示。2.根据权利要求1所述的设备,其中,所述一个或多个处理器还被配置为:基于所述经图像稳定的当前帧和所述后续帧来确定所述设备的速度、位置和朝向;以及输出指示所确定的速度、位置和朝向的信息以用于增强现实或虚拟现实。3.根据权利要求1所述的设备,其中,接收所述第一信息集合包括接收统一变换矩阵中的所述信息,所述统一变换矩阵具有被集成到所述统一变换矩阵中的、指示所述设备的角速度和移动的信息。4.根据权利要求1所述的设备,其中,接收所述第一信息集合包括:接收所述设备在欧几里得空间中的角速度和移动;以及利用李群变换来将所述设备在欧几里得空间中的所述角速度和移动变换到指数流形空间,以生成所述第一信息集合。5.根据权利要求1所述的设备,其中,对所述第一信息集合进行滤波包括:接收指示所述设备的先前确定的位置和朝向的信息;将所接收的指示所述设备的先前确定的位置和朝向的信息与所述第一信息集合进行混合,以生成所述设备的角速度和移动的混合估计;将一个或多个扩展卡尔曼滤波器(ekf)应用于所述混合估计以生成一个或多个经建模的运动;确定所述一个或多个经建模的运动的模型概率;以及对所述模型概率和所述一个或多个经建模的运动进行融合以生成所述第二信息集合。6.根据权利要求1所述的设备,其中,执行图像稳定包括确定:a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
,其中,a是内参矩阵,t是基于所述第一信息集合的矩阵,t
im
是基于所述第二信息集合的矩阵,[u0,v0,1]表示在图像稳定之前的所述当前帧中的像素的坐标位置。7.根据权利要求1所述的设备,其中,所述一个或多个处理器被配置为:从惯性移动单元(imu)接收角速度和移动信息,并且对所述角速度和移动信息进行滤波以生成所述第一信息集合。8.根据权利要求1所述的设备,其中,所述设备包括具有一个或多个相机的移动电话。9.一种用于图像处理的方法,所述方法包括:接收第一信息集合,所述第一信息集合基于设备跨越由所述设备捕获的当前帧和由所
述设备捕获的后续帧的位置变化来指示所述设备的角速度和移动;对所述第一信息集合进行滤波以补偿所述设备的无意移动以生成第二信息集合,所述第二信息集合指示在没有无意移动的情况下所述设备的角速度和移动;基于所述第一信息集合和所述第二信息集合两者来对所述当前帧执行图像稳定,以生成经图像稳定的当前帧;以及输出所述经图像稳定的当前帧以用于显示。10.根据权利要求9所述的方法,还包括:基于所述经图像稳定的当前帧和所述后续帧来确定所述设备的速度、位置和朝向;以及输出指示所确定的速度、位置和朝向的信息。11.根据权利要求9所述的方法,其中,接收所述第一信息集合包括接收统一变换矩阵中的所述信息,所述统一变换矩阵具有被集成到所述统一变换矩阵中的、指示所述设备的角速度和移动的信息。12.根据权利要求9所述的方法,其中,接收所述第一信息集合包括:接收所述设备在欧几里得空间中的角速度和移动;以及利用李群变换来将所述设备在欧几里得空间中的所述角速度和移动变换到指数流形空间,以生成所述第一信息集合。13.根据权利要求9所述的方法,其中,对所述第一信息集合进行滤波包括:接收指示所述设备的先前确定的位置和朝向的信息;将所接收的指示所述设备的先前确定的位置和朝向的信息与所述第一信息集合进行混合,以生成所述设备的角速度和移动的混合估计;将一个或多个扩展卡尔曼滤波器(ekf)应用于所述混合估计以生成一个或多个经建模的运动;确定所述一个或多个经建模的运动的模型概率;以及对所述模型概率和所述一个或多个经建模的运动进行融合以生成所述第二信息集合。14.根据权利要求9所述的方法,其中,执行图像稳定包括确定:a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
,其中,a是内参矩阵,t是基于所述第一信息集合的矩阵,t
im
是基于所述第二信息集合的矩阵,[u0,v0,1]表示在图像稳定之前的所述当前帧中的像素的坐标位置。15.根据权利要求9所述的方法,还包括:从惯性移动单元(imu)接收角速度和移动信息,并且对所述角速度和移动信息进行滤波以生成所述第一信息集合。16.一种在其上存储指令的计算机可读存储介质,所述指令在被执行时使得一个或多个处理器进行以下操作:接收第一信息集合,所述第一信息集合基于设备跨越由所述设备捕获的当前帧和由所述设备捕获的后续帧的位置变化来指示所述设备的角速度和移动;对所述第一信息集合进行滤波以补偿所述设备的无意移动以生成第二信息集合,所述第二信息集合指示在没有无意移动的情况下所述设备的角速度和移动;基于所述第一信息集合和所述第二信息集合两者来对所述当前帧执行图像稳定,以生
成经图像稳定的当前帧;以及输出所述经图像稳定的当前帧以用于显示。17.根据权利要求16所述的计算机可读存储介质,还包括使得所述一个或多个处理器进行以下操作的指令:基于所述经图像稳定的当前帧和所述后续帧来确定所述设备的速度、位置和朝向;以及输出指示所确定的速度、位置和朝向的信息以用于增强现实或虚拟现实。18.根据权利要求16所述的计算机可读存储介质,其中,使得所述一个或多个处理器接收所述第一信息集合的所述指令包括使得所述一个或多个处理器进行以下操作的指令:接收统一变换矩阵中的所述信息,所述统一变换矩阵具有被集成到所述统一变换矩阵中的、指示所述设备的角速度和移动的信息。19.根据权利要求16所述的计算机可读存储介质,其中,使得所述一个或多个处理器接收所述第一信息集合的所述指令包括使得所述一个或多个处理器进行以下操作的指令:接收所述设备在欧几里得空间中的角速度和移动;以及利用李群变换来将所述设备在欧几里得空间中的所述角速度和移动变换到指数流形空间,以生成所述第一信息集合。20.根据权利要求16所述的计算机可读存储介质,其中,使得所述一个或多个处理器对所述第一信息集合进行滤波的指令包括使得所述一个或多个处理器进行以下操作的指令:接收指示所述设备的先前确定的位置和朝向的信息;将所接收的指示所述设备的先前确定的位置和朝向的信息与所述第一信息集合进行混合,以生成所述设备的角速度和移动的混合估计;将一个或多个扩展卡尔曼滤波器(ekf)应用于所述混合估计以生成一个或多个经建模的运动;确定所述一个或多个经建模的运动的模型概率;以及对所述模型概率和所述一个或多个经建模的运动进行融合以生成所述第二信息集合。21.根据权利要求16所述的计算机可读存储介质,其中,使得所述一个或多个处理器执行图像稳定的所述指令包括使得所述一个或多个处理器确定以下项的指令:a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
,其中,a是内参矩阵,t是基于所述第一信息集合的矩阵,t
im
是基于所述第二信息集合的矩阵,[u0,v0,1]表示在图像稳定之前的所述当前帧中的像素的坐标位置。22.根据权利要求16所述的计算机可读存储介质,还包括使得所述一个或多个处理器进行以下操作的指令:从惯性移动单元(imu)接收角速度和移动信息,并且对所述角速度和移动信息进行滤波以生成所述第一信息集合。23.一种用于图像处理的设备,所述设备包括:用于接收第一信息集合的单元,所述第一信息集合基于所述设备跨越由所述设备捕获的当前帧和由所述设备捕获的后续帧的位置变化来指示所述设备的角速度和移动;用于对所述第一信息集合进行滤波以补偿所述设备的无意移动以生成第二信息集合的单元,所述第二信息集合指示在没有无意移动的情况下所述设备的角速度和移动;
用于基于所述第一信息集合和所述第二信息集合两者来对所述当前帧执行图像稳定,以生成经图像稳定的当前帧的单元;以及用于输出所述经图像稳定的当前帧以用于显示的单元。24.根据权利要求23所述的设备,还包括:用于基于所述经图像稳定的当前帧和所述后续帧来确定所述设备的速度、位置和朝向的单元;以及用于输出指示所确定的速度、位置和朝向的信息的单元。25.根据权利要求23所述的设备,其中,所述用于接收所述第一信息集合的单元包括:用于接收统一变换矩阵中的所述信息的单元,所述统一变换矩阵具有被集成到所述统一变换矩阵中的指示所述设备的角速度和移动的信息。26.根据权利要求23所述的设备,其中,所述用于接收所述第一信息集合的单元包括:用于接收所述设备在欧几里得空间中的角速度和移动的单元;以及用于利用李群变换来将所述设备在欧几里得空间中的所述角速度和移动变换到指数流形空间,以生成所述第一信息集合的单元。27.根据权利要求23所述的设备,其中,对所述第一信息集合进行滤波包括:用于接收指示所述设备的先前确定的位置和朝向的信息的单元;用于将所接收的指示所述设备的先前确定的位置和朝向的信息与所述第一信息集合进行混合,以生成所述设备的角速度和移动的混合估计的单元;用于将一个或多个扩展卡尔曼滤波器(ekf)应用于所述混合估计以生成一个或多个经建模的运动的单元;用于确定所述一个或多个经建模的运动的模型概率的单元;以及用于对所述模型概率和所述一个或多个经建模的运动进行融合以生成所述第二信息集合的单元。28.根据权利要求23所述的设备,其中,所述用于执行图像稳定的单元包括用于确定以下项的单元:a*(t)-1
*t
im
*a-1
*[u0,v0,1]
t
,其中,a是内参矩阵,t是基于所述第一信息集合的矩阵,t
im
是基于所述第二信息集合的矩阵,[u0,v0,1]表示在图像稳定之前的所述当前帧中的像素的坐标位置。29.根据权利要求23所述的设备,还包括:用于从惯性移动单元(imu)接收角速度和移动信息,并且对所述角速度和移动信息进行滤波以生成所述第一信息集合的单元。30.根据权利要求23所述的设备,其中,所述设备包括具有一个或多个相机的移动电话。
技术总结
一种用于图像处理的示例方法包括:接收第一信息集合,第一信息集合基于设备跨越由设备捕获的当前帧和由设备捕获的后续帧的位置变化来指示设备的角速度和移动;对第一信息集合进行滤波以补偿设备的无意移动以生成第二信息集合,第二信息集合指示在没有无意移动的情况下设备的角速度和移动;基于第一信息集合和第二信息集合两者来对当前帧执行图像稳定,以生成经图像稳定的当前帧;以及输出经图像稳定的当前帧以用于显示。的当前帧以用于显示。的当前帧以用于显示。
技术研发人员:X
受保护的技术使用者:高通股份有限公司
技术研发日:2021.01.04
技术公布日:2023/10/6
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:用于光生成装置的壳体部件的制作方法 下一篇:食物运输和湿度控制元件的制作方法
