用于确定图像采集装置的惯性测量单元中的偏差的方法与流程

文档序号:15969153发布日期:2018-11-16 23:22阅读:214来源:国知局

本发明涉及用于确定图像采集装置的惯性测量单元中的偏差的方法。

背景技术

已知包含例如陀螺仪的惯性测量单元(imu)可准确地测量装置(诸如相机)的取向的短期或相对变化,但受到恒定误差(偏差)的影响,该恒定误差可另外随时间推移而改变(漂移)。

可通过使用包括磁力计、加速度计或其他基准点的其他传感器对这种漂移进行确定和补偿,但对于装置使用或增加这种功能和成本可能是不可行或不期望的。还应当理解,即使在可用的情况下,磁力计本身也需要周期性地重新校准,并且因此不一定总是依靠其来校正其他传感器漂移。

在“biascompensationofgyroscopesinmobileswithopticalflow”,aasriprocedia9,2014,pp152-157(“具有光流的移动设备中陀螺仪的偏差补偿”,aasriprocedia9,2014年,第152-157页)中,lászlókundra和péterekler考虑了使用陀螺仪的问题,其中原始角速率与非零偏差的积分造成估计取向的连续漂移。传感器融合算法使用来自装置相机的光流。取向估计器和偏差消除方法基于互补滤波器,其与用于光流特征的自适应可靠性滤波器相结合。将融合结果的反馈与原始陀螺仪角速率相结合以补偿偏差。

这种方法的问题在于发现帧之间的全局变换并将其转换为相机取向变化是极其cpu密集的。使用运动矢量直接导致由错误运动估计(异常值)引起的较大误差。实际上,一种潜在的实施方式建议在确定光流时采用ransac算法来拒绝此类异常值,但这将増加显著的计算开销,从而使得该方法在便携式图像采集装置诸如智能电话中实现是不可行的或者没有吸引力的。

本发明的目的是提供用于确定imu传感器偏差的改进方法。



技术实现要素:

根据本发明,提供了用于确定根据权利要求1所述的图像采集装置的惯性测量单元中的偏差的方法。

本发明发现在仅具有陀螺仪的装置imu中特别实用。但即使有加速度计可用,它也只可用于确定除1条轴线以外所有轴线的偏差补偿。补偿与重力矢量平行的轴线是不可能的。

在另一方面,提供了被布置为执行根据权利要求1所述的方法的图像处理装置;以及包含计算机可读指令的计算机程序产品,当在图像处理装置中执行时,该计算机可读指令被布置为执行根据权利要求1所述的方法。

附图说明

现在将参考附图以举例的方式描述本发明的实施方案,在附图中:

图1示意性地示出了可在其上实现本发明的实施方案的图像采集装置;

图2示出了指示两个连续图像之间的估计的帧间移动的运动矢量的示例性阵列;

图3示出了将来自图像的参考点以及测量的imu运动;和估计的运动映射到3d单位球体中;

图4示出了在图像区域的3d空间中估计的运动ve和测量的运动vm对锚定点v的影响的差值,以及矢量vm和ve的交叉乘积vc;以及

图5是示出根据本发明的实施方案的方法的流程图。

具体实施方式

参见图1,图像采集装置10通常包括图像处理流水线(ipp)12,该图像处理流水线从图像传感器(未示出)获取采集的图像数据,对原始图像数据进行基本处理诸如色彩平衡,并经由系统总线20向系统存储器14写入采集的图像或图像的部分。可通过ipp12在24fps至多从60fps至甚至240fps的帧速率下采集图像帧。

此类图像采集装置10可包括下游专用图像处理单元,该下游专用图像处理单元可分析采集的图像并处理此类图像以从图像提取信息或校正图像。此类处理可包括面部检测和跟踪、对象识别或失真校正,诸如pct专利申请wo2014/005783(参考:fn-384)中所公开的。其他处理可确定帧间运动,例如,如wo2014/146983(参考:fn-389)和pct专利申请号pct/ep2017/050390(参考:fn-495)中所公开的。

在本说明书中,此类处理单元(其可为专用硬件模块或通用中央处理单元(cpu))被指示为处理单元(pu)16,该处理单元能够运行低级固件/软件,或者就cpu、应用软件而言,能够从存储器14获取图像信息并进一步处理图像。

在本说明书中,我们参考由ipp12提供的图像,然而应当理解,这些图像可包括单独采集的图像或视频序列内的图像。

已知图像采集装置10包括惯性测量单元(imu)18,该惯性测量单元可在图像采集期间指示装置移动的轨迹,使得处理单元16能够使用该信息来校正采集的图像以考虑由非自愿或非期望的装置运动在图像捕获期间所造成的模糊,或者稳定视频序列。实际上,pct专利申请号pct/ep2017/050390(参考:fn-495)公开了这种校正可如何考虑光学图像稳定(ois),该光学图像稳定可由透镜在图像采集期间执行。应当注意,以下描述基于ois被关闭的假设,但是在已知的情况下,这可在所描述的实施方案的变型中被考虑。

imu18传感器可包括:在三个空间轴(x,y,z)中的每一者周围提供旋转速度测量的陀螺仪传感器;以及在图像序列捕获期间提供平移加速度的测量和重力方向的加速度计。imu还可包括指示装置相对于地球磁场的绝对角取向的磁力计。

如上所述,imu传感器和陀螺仪传感器特别易于受到偏差和漂移的影响。

本发明的实施方案使用基于图像的运动估计,尽管长期受到噪声和其他干扰的影响,但该基于图像的运动估计可提供与imu传感器中的偏差(b)成比例的指示符。

参见图2,在一个实施方案中,采用上文提及的帧间图像运动的估计,诸如pct专利申请wo2014/146983(参考;fn-389-pct)和pct专利申请号pct/ep2017/050390(参考:fn-495-pct)中所公开的。

该估计包括在输入图像上延伸的256个2d运动矢量(指出了其中两个e1、e2,这些运动矢量可被存储为圆形坐标(极坐标)或笛卡尔坐标)的16×16阵列e[]。应当注意,在这种情况下,常见的是图像采集装置采用滚动快门技术,其中在连续曝光间隔期间从图像传感器读取图像的一个或多个像素线(行)。

还应当注意,仅出于示例性目的提供了运动矢量阵列,但可使用运动矢量的任何布置,甚至是随机的。

因此,在帧曝光期间采集的imu测量需要与提供估计的运动矢量阵列e[]的每一行的图像部分的采集时间同步或关联。因此,例如,假设从上到下读取字段的开始(sof),包含e2的移动阵列的行的imu测量将在包含e1的移动阵列的行的那些imu测量之前。然而,应当理解,在采集图像的一部分与先前采集的帧中图像的对应部分的时间之间应用相同间隔df。

参见图3,本发明方法通过使用基于透镜投射模型的向后相机投射将256个参考点映射到3d空间中的单位球体上而开始,每个参考点对应于16×16估计的运动矢量阵列e[]的单元,诸如pct专利申请号pct/ep2017/050390(参考:fn-495-pct)中所述。参考点可取自每个单元的中心,但这并不是必需的。

这是一次性操作,并且映射的点充当3d空间中的锚定点并在处理所有帧时被用作参考。在图3中,示出了从原点o延伸的两个这样的锚定点v1和v2。

在下一个步骤中,基于由imu18测量的相机取向,根据在先前采集的帧中它们各自的位置来变换3d锚定点,诸如v1和v2。因此,该实施方案试图根据其在给定图像中的采集时间处的测量取向和其在先前采集的图像中相同点的采集的时间处的测量取向的差值来确定3d空间中与参考点v1的位置相对应的位置。

这是通过确定在给定帧和前一帧中阵列e[](每一行共享相同时间)中采集每个估计的运动矢量的时间t来完成的。

然后使用由imu18测量的相机位置来确定当前帧以及先前采集的帧中阵列e[]的每一行的相机取向。这些测量可以四元数形式表示为表示在时间t处的相机取向的四元数函数q(t)。q(t)通过以间隔dt取样的角速度ω的数值积分获得。ω的值可通过陀螺仪测量为包含陀螺仪的局部坐标系轴周围的角速度的矢量:

ω=[ωx,ωy,ωz]

在不考虑偏差的情况下,考虑到在先前陀螺仪样本时间的装置取向q(t-dt),可将更新的四元数定义为:

在这种情况下,用点表示四元数乘法。因此,在间隔dt之后装置的新取向可计算如下:

并且这可归一化如下:

如所解释的,陀螺仪测量包含被称为陀螺仪偏差的恒定误差b=[bx,by,bz]。如果不消除,则偏差会导致随时间推移的误差积累,这会显著影响装置取向的测量。当偏差已知时,更新的四元数公式可具有以下形式:

在已知时间t和帧间隔df处的相机取向的情况下,可以计算前一帧中由v(例如v1、v2)表示的3d空间中点的位置,该前一帧由vm表示:

vm=v·(q(t)-1·q(t-df))。

-1次幂表示四元数共轭操作。

从以上描述将看出,使用四元数函数来确定vm在计算上是高效的,然而,还可使用诸如旋转矩阵的其他技术来根据给定帧和先前采集的帧中的参考点的测量的取向来确定矢量vm的坐标。

现在,如果我们考虑来自通过图像分析方法估计的阵列e[]的运动矢量之一被指示为其中a对应于与3d空间锚定点v对应的2d参考点。因此,y表示先前采集的帧中2d空间中a的位置。在已知相机的传感器定时的情况下,可以确定捕获点a下方像素的时间t,并将其与点vm的基于测量的运动的位置关联。作为2d参考点位置上2d运动矢量的结果,还可将点y投射到3d空间中,再次使用与参考点相同的透镜投射模型变换,以形成3d空间中估计的矢量ve。

因此,在已知3d空间中与每个估计的运动矢量的结束点相同时间处的测量的取向vm的情况下,我们可提供3d空间中对应的估计的取向ve。

在理想情况下,在不存在测量和估计误差的情况下,测量的和估计的运动应具有相同的效果(vm=ve)。然而,在实际情况下,将存在一些误差vm≠ve,如由以下各项之间的差值所指示:vm1和ve1;以及图3中的vm2和ve2;以及由图4中的vm和ve之间的差值所指示。

应当理解,阵列e[]内任何估计的运动矢量和其在3d空间中的对应物ve可包含由于噪声或由于被成像的场景内的对象运动而引起的误差。然而,差值的分量包括由imu传感器偏差引起的系统误差,并且本发明方法试图尽可能有效地识别该误差。

如lászlókundra和péterekler所建议,识别系统误差的一种方法是使用最小二乘法来估计测量的矢量vm和估计的矢量ve之间的旋转矩阵。然而,由于运动矩阵中可存在显著数量的异常值,因此需要诸如ransac的方法来可靠地确定该旋转矩阵,并且这将消耗大量的cpu功率。另外,旋转矩阵将必须转换为旋转角度以补偿陀螺偏差并且这将増加若干成本高的三角函数。

另一方面,参见图4,本实施方案利用上文所确定的3d矢量的交叉乘积:

vc=vm×ve

因为这与vm和ve之间的角度密切相关,并且该值可用于对上文所用的偏差估计b加以校正。

度量vc的简单使用将取得一个帧或多个帧上的阵列e[]的单元中的至少一些的值的平均值/均值。然而,这样的度量将受到高水平噪声的影响,因为估计的运动测量尤其可包含由视差和移动对象引起的显著异常值。这些异常值将可能会显著影响平均值,导致较高的估计误差。

另一方面,使用中值往往更有效地消除异常值。然而,这种情况通常需要:

显著量的存储器,以保存对可能用于多个过去帧的所有矢量vc的校正,以提供可靠的中值测量;并且

对大量数据进行分类,例如甚至对每一帧的256次测量进行分类,对于便携式装置cpu或处理模块来说将是挑战。

在一些实施方案中,采用不需要存储器或分类的中值m的估计。第k个样本的一种此类估计m的递归公式如下:

mk=mk-1+ηsign(sk-mk-1),

其中η是非常小的值(例如0.000001)并且s为当前样本值。

在这种情况下,该方法可用于如下直接从交叉乘积矢量vc更新偏差矢量b的估计值:

b=b-1+ηsign(vc),

其中b-1表示来自先前迭代的偏差估计。

然后可将该偏差值b用于上文的四元数测量中以实时在任何给定时刻提供更精确的相机取向测量。每次计算四元数更新时,使用b的最新估计值。即使随着时间推移的偏差漂移,这也提供了恒定的校正更新。

将会看到,使用该实施方案,根据源自多个帧的信息来更新偏差分量,而不存在需要存储值并确定大量值的中值的处理负担。

在以上所公开的实施方案的改进中,只有在运动估计后标记为有效的任何给定估计运动矢量阵列e[]内的选定矢量才用于偏差估计。事实上,可使用阵列e[]的运动矢量的有效性或权重因子来改善偏差估计的稳健性。另外,在没有细节或运动速度非常快以导致阵列e[]的所有矢量被拒绝的场景的情况下,最后已知的偏差估计仍可使用。这种错误或异常情况不影响偏差估计或防止相机取向的计算。

现在参见图5,上述方法可概述如下。在步骤50处,使用透镜投射模型将对应于图像的估计的运动矢量阵列e[]内单元的参考点映射到3d球面空间中的锚定点。在步骤52处,采集新帧。在步骤54处,相对于先前采集的帧计算所采集帧的估计的运动矢量阵列e[]。在步骤56处,对于每个估计的运动阵列e[]的单元中的至少一些,例如指示有效运动度量的那些单元,使用透镜投射模型将根据单元的2d运动矢量变换的对应参考点映射到3d球面空间中,以提供3d空间中的矢量ve。在步骤58处,使用由惯性测量单元提供的取向测量,根据针对当前帧的单元的采集时间与先前采集帧中的单元的采集时间的测量取向的差值来变换对应于单元的锚定点,以提供3d空间中的矢量vm。(应当理解,步骤56和58可颠倒。)在步骤60处,确定矢量ve和vm的交叉乘积vc。在步骤62处,使用交叉乘积的符号来更新偏差估计。如果帧中还存在运动矢量,则现在该方法返回到步骤52以处理下一个运动矢量。

这种方法可容易地扩展,以与wo2014/146983(参考:fn-389)和pct专利申请号pct/ep2017/050390(参考:fn-495)中所公开的其他运动估计方法共同起作用。例如,运动估计可基于来自正在成像的场景内的跟踪或匹配的特征点,而不对该方法产生任何显著改变。

因此,确定并比较测量的取向和基于估计的运动的取向的帧内参考点不需要在帧上有规律地分布,或者甚至不必在整个帧上分布。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1