基于定向传感器解决单应性分解不明确性的制作方法

文档序号:6496796阅读:157来源:国知局
基于定向传感器解决单应性分解不明确性的制作方法
【专利摘要】将平坦对象的两个所俘获图像之间的单应性分解为至少一个可能的解,且通常至少两个不明确的解。使用来自定向传感器的测量值移除所述两个解之间的不明确性,或使单一解生效。可通过将从所述一个或一个以上解的相对旋转矩阵导出的偏航、俯仰和/或横摇角中的至少一者与从来自定向传感器的所述测量值导出的偏航、俯仰和/或横摇角中的对应至少一者进行比较而使用来自所述定向传感器的所述测量值。
【专利说明】基于定向传感器解决单应性分解不明确性
[0001]待决临时申请案的交叉参考
[0002]本申请案主张2011年12月2日申请的且标题为“基于定向传感器解决单应性分角军不明石角性(Resolving Homography Decomposition Ambiguity Based on OrientationSensors) ”的第13/310,204号美国专利申请案的优先权,所述专利申请案又依据35USC119主张2011年9月12日申请的且标题为“解决单应性分解不明确性(Resolving HomographyDecomposition Ambiguity) ”的第61/533,733号美国临时专利申请案的优先权,其两者均指派给本受让人且全文以引用的方式并入本文中。
【背景技术】
[0003]基于视觉的跟踪技术使用移动平台俘获的图像来确定移动平台相对于环境中的对象的位置和定向(方位)。跟踪对于例如导航和扩增现实(其中将虚拟对象插入到用户对现实世界的视图中)等许多应用是有用的。
[0004]一种类型的基于视觉的跟踪通过检测环境中的平坦表面而初始化参考斑块。所述表面通常使用表面的多个图像检测,计算两个图像之间的单应性且将其用于估计表面上检测到的点的3D位置。同一平坦表面的任何两个相机图像通过3x3单应性矩阵h相关。单应性h可分解为两个图像之间的旋转R和平移t。方位信息[Rlt]可接着用于导航、扩增现实或其它此类应用。
[0005]然而,在大多数情况下,单应性h的分解产生多个可能的解。然而,这些解的仅一者表示实际平坦表面。因此,单应性h的分解中存在必须解决的不明确性。解决单应性分解不明确性的已知方法需要使用额外信息来选择正确的解,例如平坦表面的额外图像或先前知识。
[0006]借助实例,例如Georg Klein和David Murray “照相手机上的并行跟踪和映射(Parallel Tracking and Mapping on a Camera Phone) ”(混合和扩增现实国际研讨会(ISMAR)会议记录中,4页,2009年(“PTAM”))描述的跟踪技术遭遇单应性分解之后方位选择的不明确性。PTAM需要额外视频帧(即,图像)来解决所述不明确性。对于每一可能的解,PTAM计算3D相机方位且针对若干后续帧比较方位重投影误差。当一个解的平均投影误差大于另一者(例如大两倍)时,消除具有较大误差的解。然而,使用方位重投影解决不明确性花费较长时间收敛且有时产生不正确的结果。
[0007]用于解决不明确性的另一方法是选择具有最接近相机的初始定向的法线的单应性解。然而,此方法限制用户始终接近正面定向而开始且移动相机远离所述位置。
[0008]在D.Santosh Kumar和C.V.Jawahar “用于逐段平坦环境中的相机定位的稳健的基于单应性的控制(Robust Homography-Based Control for Camera Positioning inPiecewise Planar Environments) ”(印度计算机视觉、图形和图像处理会议(ICVGIP),906-918(2006))描述的方法中,需要空间中的另一平坦表面,或需要关于平面的先前知识来选择正确的解。因此,此方法具有有限的实际应用。
【发明内容】

[0009]将平坦对象的两个所俘获图像之间的单应性分解为至少一个可能的解,且通常至少两个不明确解。使用来自定向传感器的测量值移除所述两个解之间的不明确性,或使单一解生效。可通过将从所述一个或一个以上解的相对旋转矩阵导出的偏航、俯仰和/或横摇角的至少一者与从来自定向传感器的所述测量值导出的偏航、俯仰和/或横摇角的对应至少一者比较而使用来自所述定向传感器的所述测量值。
[0010]在一个实施例中,一种方法包含从不同位置俘获平坦对象的两个图像;确定所述两个图像之间的单应性;分解所述单应性以获得至少一个可能的解;使用来自定向传感器的测量值确定所述至少一个可能的解是否正确;以及存储正确的解。
[0011]在另一实施例中,一种设备包含:相机,其用于俘获平坦对象的图像;定向传感器,其用于感测相机的定向;以及处理器,其经耦合以当俘获到两个图像时从不同位置接收平坦对象的两个图像且从定向传感器接收测量值,所述处理器经配置以确定两个图像之间的单应性,分解所述单应性以获得至少一个可能的解,使用来自定向传感器的测量值确定所述至少一个可能的解是否正确,且将正确的解存储在存储器中。
[0012]在另一实施例中,一种设备包含:用于从不同位置俘获平坦对象的两个图像的装置;用于确定所述两个图像之间的单应性的装置;用于分解所述单应性以获得至少一个可能的解的装置;用于使用来自定向传感器的测量值确定所述至少一个可能的解是否正确的装置;以及用于存储正确的解的装置。
[0013]在又一实施例中,一种包含存储在其上的程序代码的非暂时性计算机可读媒体包含:用以确定从不同位置俘获的平坦对象的两个图像之间的单应性的程序代码;用以分解所述单应性以获得至少一个可能的解的程序代码;用以使用来自定向传感器的测量值确定所述至少一个可能的解是否正确的程序代码;以及用以存储正确的解的程序代码。
【专利附图】

【附图说明】
[0014]图1说明移动平台在两个不同位置处俘获平坦对象的图像。
[0015]图2说明平坦对象上的三维(3D)点到不同位置处俘获的两个图像上的投影。
[0016]图3说明单应性分解的解的不明确性。
[0017]图4说明相对于移动平台的不同坐标系,包含世界坐标系、相机坐标系和传感器坐标系。
[0018]图5是说明使用来自定向传感器的测量值解决单应性分解中的不明确性的过程的流程图。
[0019]图6是说明使用来自定向传感器的测量值消除至少一个可能的解的过程的流程图。
[0020]图7是说明能够使用平坦对象的仅两个图像且在无平坦对象的任何先前知识的情况下解决单应性分解中的不明确性的移动平台的框图。
【具体实施方式】
[0021]图1说明移动平台100,其包含相机112且利用相机112在两个不同位置A和B处俘获平坦对象102的图像,其中位置A对应于第一(或初始)所俘获图像102A,且位置B对应于第二(或当前)所俘获图像102B。所俘获图像102A和102B说明为正由显示器114展示。在实践中,单一移动平台100可在其从位置A移动到位置B (如图1中的虚线箭头指示)的同时从实况视频流俘获一系列帧。或者,两个不同移动平台可用于从不同位置A和B俘获平坦对象102的图像。移动平台100还包含定向传感器116,例如加速计、磁力计和/或陀螺仪。应注意,虽然例如加速计等传感器测量线性运动且例如陀螺仪等传感器测量角运动,但两个位置之间的相对定向可使用此类传感器确定,且因此,所有此类传感器在本文称为定向传感器116。
[0022]如图2所示,如果平面π上的3D点在两个图像I’和I上检视,那么其在图像I’上的2D投影q’ =(x’,y’,l)与其在图像I上的2D投影q= (x,y,l)通过单应性h相关为:
[0023]q'^ Ik1 等式 I
[0024]平坦表面的两个视图之间的单应性h可使用Faugeras, 0.和Lustman, F.“逐段平坦环境中的运动和来自运动的结构(Motion and structure from motion in a piecewiseplanar environment)” (国际模式辨识和人工智能期刊2 (1988) 485-508,其以引用的方式并入本文中)描述的众所周知的程序分解为旋转矩阵R、平移矩阵t和法线η。在大多数一股情况下,单应性h的分解产生四个可能的解,即旋转矩阵R和平移矩阵t的四个可能集合。两个解可通过强加非交叉约束和可见性约束来消除。非交叉约束要求从平坦对象的同一侧俘获两个相机图像,例如从平坦对象上方俘获两个图像。可见性约束要求当俘获图像时平坦对象上的所有3D点必须在相机前方。然而,其它两个可能解之间的不明确性仍保
&3甶O
[0025]图3是移动平台100相 对于平坦对象102处于初始位置A以及处于当前位置B (连同用户201)的另一说明。来自在初始位置A和当前位置B处产生的图像的单应性分解会产生两个可能的解200和202,其中解200对应于移动平台100的正确位置B,且解202不正确并以点线说明。如上文论述,单应性分解的每一解200和202包含平面法线η (图3所示)以及旋转矩阵R(由图3中的箭头R2tic^PR2tl2说明)和平移矩阵t(图3未图示)。应理解,如上文论述,单应性分解可产生多达四个可能的解,但两个解可通过强加非交叉约束和可见性约束而容易地消除且因此在图3中未图示。图3所示的两个剩余可能的解200和202均为来自单应性分解的有效解,且因此需要解决不明确性。另外,应理解,单应性分解可产生仅一个可能的解,例如解200,但可能需要使所述解生效。
[0026]两个剩余解之间的不明确性可使用来自定向传感器116的测量值解决(或在仅存在一个解的情况下使其生效)以消除可能的解。来自定向传感器116的测量值可用于导出相机坐标系中的基于测量值的偏航(am)、俯仰(βΜ)和横摇(Ymb)角(有时在本文中统称为基于测量值的角)。类似地,与来自单应性h的分解的可能解200和202相关联的相对旋转矩阵R2tltl和R2tl2可用于导出偏航、俯仰和横摇角(有时在本文中统称为基于单应性的角)。换句话说,如图3中说明,偏航(a.)、俯仰(β.)和横摇(Y.)角可从旋转矩阵R2tltl导出,且偏航U 202)、俯仰(β 202)和横摇U 202)角可从旋转矩阵R2tl2导出。接着可将基于测量值的角的一者或一者以上与同可能解相关联的对应的一个或一个以上角比较以确定哪一解为正确的(或在仅存在一个解的情况下使解生效)。
[0027]定向传感器116测量旋转矩阵Kws,其使向量在时间t从传感器坐标系变换到世界坐标系。另外,在时间t,旋转矩阵i?r使向量从相机坐标系变换到世界坐标系。矩阵^?厂与R之间的关系界定为:
[0028]ατ 等式 2
[0029]其中IT为将向量从相机坐标系变换到传感器坐标传感器的旋转矩阵,其为已知常数,例如其可针对移动平台100预先校准。
[0030]图4借助实例说明在两个不同位置处在时间h和时间t2相对于移动平台100的不同坐标系。所述坐标系包含世界坐标系302、以及相机坐标系304和传感器坐标系306。如箭头说明,旋转矩阵Rse使向量从相机坐标系304变换到传感器坐标系306,且其对于移动平台100保持恒定。
[0031]如果例如在图4所示的时间h和时间t2从不同位置俘获同一平坦对象的两个相机图像,那么所述两个图像在相机坐标系中通过3x3单应性矩阵h相关。单应性矩阵h可分解为平面法线η、相对旋转矩阵ΛΙζ(图4中以时间h和时间t2处移动平台100之间的箭头说明)和平移矩阵At。如上文论述,单应性h的分解通常产生多个解,且因此图4中的相对旋转矩阵Λ Rc对应于与图3中的可能解200和202相关联的相对旋转矩阵R2tltl和
尺202。
[0032]在时间&和时间t2俘获的两个图像之间的相对旋转矩阵Λ Rc可基于使向量从相机坐标系304变换到世界坐标系302的旋转矩阵确定为:
[0033]
【权利要求】
1.一种方法,其包括: 从不同位置俘获平坦对象的两个图像; 确定所述两个图像之间的单应性; 分解所述单应性以获得至少一个可能的解; 使用来自定向传感器的测量值确定所述至少一个可能的解是否正确;以及 存储正确的解。
2.根据权利要求1所述的方法,其中获得多个可能的解,且使用来自所述定向传感器的所述测量值消除所述多个可能的解中的至少一者。
3.根据权利要求1所述的方法,其中分解所述单应性产生所述两个图像之间的至少一个相对旋转矩阵,其中使用来自所述定向传感器的所述测量值包括: 从所述至少一个相对旋转矩阵导出基于单应性的偏航、俯仰和横摇角; 使用来自所述定向传感器的所述测量值确定基于测量值的相对旋转矩阵; 针对所述基于测量值的相对旋转矩阵导出基于测量值的偏航、俯仰和横摇角;以及将所述基于测量值的偏 航、俯仰和横摇角中的至少一者与所述基于单应性的偏航、俯仰和横摇角中的至少一者进行比较以确定所述至少一个可能的解是正确的。
4.根据权利要求3所述的方法,其中分解所述单应性产生两个解,每一解具有相应的相对旋转矩阵,且其中针对所述两个解中的每一者导出所述基于单应性的偏航、俯仰和横摇角,且其中针对所述两个解中的每一者将所述基于测量值的偏航、俯仰和横摇角中的所述至少一者与所述基于单应性的偏航、俯仰和横摇角中的所述至少一者进行比较。
5.根据权利要求4所述的方法,其进一步包括将针对第一解的所述基于单应性的偏航、俯仰和横摇角与针对第二解的所述基于单应性的偏航、俯仰和横摇角进行比较以确定具有最大差的角,以及当针对所述两个解中的每一者将所述基于测量值的偏航、俯仰和横摇角中的所述至少一者与所述基于单应性的偏航、俯仰和横摇角中的所述至少一者进行比较时仅使用所述具有所述最大差的角。
6.根据权利要求1所述的方法,其中使用来自所述定向传感器的所述测量值确定所述至少一个可能的解是否正确不使用所述平坦对象的先前知识且不使用所述平坦对象的额外图像。
7.一种设备,其包括: 相机,其用于俘获平坦对象的图像; 定向传感器,其用于感测所述相机的定向;以及 处理器,其经耦合以当俘获到从不同位置俘获的所述平坦对象的两个图像时接收所述两个图像以及来自所述定向传感器的测量值,所述处理器经配置以确定所述两个图像之间的单应性,分解所述单应性以获得至少一个可能的解,使用来自所述定向传感器的所述测量值确定所述至少一个可能的解是否正确,且将正确的解存储在存储器中。
8.根据权利要求7所述的设备,其中获得多个可能的解,且所述处理器经配置以使用来自所述定向传感器的所述测量值消除所述多个可能的解中的至少一者。
9.根据权利要求7所述的设备,其中所述处理器经配置以分解所述单应性以产生所述两个图像之间的至少一个相对旋转矩阵,其中所述处理器经配置以使用来自所述定向传感器的所述测量值来通过经配置以进行以下操作而确定所述至少一个可能的解是否正确:针对所述至少一个相对旋转矩阵导出基于单应性的偏航、俯仰和横摇角; 基于来自所述定向传感器的所述测量值确定基于测量值的相对旋转矩阵; 针对所述基于测量值的相对旋转矩阵导出基于测量值的偏航、俯仰和横摇角;以及将所述基于测量值的偏航、俯仰和横摇角中的至少一者与所述基于单应性的偏航、俯仰和横摇角中的至少一者进行比较以确定所述至少一个可能的解是否正确。
10.根据权利要求9所述的设备,其中分解所述单应性产生两个解,每一解具有相应的相对旋转矩阵,且其中所述处理器经配置以针对所述两个解中的每一者导出所述基于单应性的偏航、俯仰和横摇角,且针对所述两个解中的每一者将所述基于测量值的偏航、俯仰和横摇角中的所述至少一者与所述基于单应性的偏航、俯仰和横摇角中的所述至少一者进行比较。
11.根据权利要求10所述的设备,其中所述处理器进一步经配置以将针对第一解的所述基于单应性的偏航、俯仰和横摇角与针对第二解的所述基于单应性的偏航、俯仰和横摇角进行比较以确定具有最大差的角,且仅使用所述具有所述最大差的角来针对所述两个解中的每一者将所述基于测量值的偏航、俯仰和横摇角中的所述至少一者与所述基于单应性的偏航、俯仰和横摇角中的所述至少一者进行比较。
12.根据权利要求7所述的设备,其中所述处理器经配置以在无所述平坦对象的先前知识且无所述平坦对象的额外图像的情况下使用来自所述定向传感器的所述测量值确定所述至少一个可能的解是否。
13.—种设备,其包括: 用于从不同位置俘获平坦对象的两个图像的装置; 用于确定所述两个图像之间`的单应性的装置; 用于分解所述单应性以获得至少一个可能的解的装置; 用于使用来自定向传感器的测量值确定所述至少一个可能的解是否正确的装置;以及 用于存储正确的解的装置。
14.根据权利要求13所述的设备,其中所述用于分解所述单应性的装置产生多个可能的解,且其中所述用于使用来自所述定向传感器的所述测量值的装置消除所述多个可能的解中的至少一者。
15.根据权利要求13所述的设备,其中所述用于分解所述单应性的装置产生所述两个图像之间的至少一个相对旋转矩阵,其中所述用于使用来自所述定向传感器的所述测量值的装置包括: 用于从所述至少一个相对旋转矩阵导出基于单应性的偏航、俯仰和横摇角的装置; 用于使用来自所述定向传感器的所述测量值确定基于测量值的相对旋转矩阵的装置; 用于针对所述基于测量值的相对旋转矩阵导出基于测量值的偏航、俯仰和横摇角的装置;以及 用于将所述基于测量值的偏航、俯仰和横摇角中的至少一者与所述基于单应性的偏航、俯仰和横摇角中的至少一者进行比较以确定所述至少一个可能的解是正确的装置。
16.根据权利要求15所述的设备,其中所述用于分解所述单应性的装置产生两个解,每一解具有相应的相对旋转矩阵,且其中针对所述两个解中的每一者导出所述基于单应性的偏航、俯仰和横摇角,且其中针对所述两个解中的每一者将所述基于测量值的偏航、俯仰和横摇角中的所述至少一者与所述基于单应性的偏航、俯仰和横摇角中的所述至少一者进行比较。
17.根据权利要求16所述的设备,其进一步包括用于以下操作的装置:将针对第一解的所述基于单应性的偏航、俯仰和横摇角与针对第二解的所述基于单应性的偏航、俯仰和横摇角进行比较以确定具有最大差的角,以及当针对所述两个解中的每一者将所述基于测量值的偏航、俯仰和横摇角中的所述至少一者与所述基于单应性的偏航、俯仰和横摇角中的所述至少一者进行比较时仅使用所述具有所述最大差的角。
18.根据权利要求13所述的设备,其中所述用于使用来自所述定向传感器的所述测量值确定所述至少一个可能的解是否正确的装置不使用所述平坦对象的先前知识且不使用所述平坦对象的额外图像。
19.一种包含存储在其上的程序代码的非暂时性计算机可读媒体,其包括: 用以确定从不同位置俘获的平坦对象的两个图像之间的单应性的程序代码; 用以分解所述单应性以获得至少一个可能的解的程序代码; 用以使用来自定向传感器的测量值确定所述至少一个可能的解是否正确的程序代码;以及 用以存储正确的解的程序代码。
20.根据权利要求19所述的非暂时性计算机可读媒体,其中获得多个可能的解,且使用来自所述定向传感器的所述测量值消除所述多个可能的解中的至少一者。
21.根据权利要求19`述的非暂时性计算机可读媒体,其中所述用以分解所述单应性的程序代码产生所述两个图像之间的至少一个相对旋转矩阵,且其中所述用以使用来自所述定向传感器的所述测量值的程序代码包括: 用以针对所述至少一个相对旋转矩阵导出基于单应性的偏航、俯仰和横摇角的程序代码; 用以使用来自所述定向传感器的所述测量值确定基于测量值的相对旋转矩阵的程序代码; 用以针对所述基于测量值的相对旋转矩阵导出基于测量值的偏航、俯仰和横摇角的程序代码;以及 用以将所述基于测量值的偏航、俯仰和横摇角中的至少一者与所述基于单应性的偏航、俯仰和横摇角中的至少一者进行比较以确定所述至少一个可能的解是正确的程序代码。
22.根据权利要求21所述的非暂时性计算机可读媒体,其中所述用于分解所述单应性的程序代码产生两个解,每一解具有相应的相对旋转矩阵,且其中所述程序代码针对所述两个解中的每一者导出所述基于单应性的偏航、俯仰和横摇角,且其中针对所述两个解中的每一者将所述基于测量值的偏航、俯仰和横摇角中的所述至少一者与所述基于单应性的偏航、俯仰和横摇角中的所述至少一者进行比较。
23.根据权利要求22所述的非暂时性计算机可读媒体,其进一步包括用以将针对第一解的所述基于单应性的偏航、俯仰和横摇角与针对第二解的所述基于单应性的偏航、俯仰和横摇角进行比较以确定具有最大差的角的程序代码,且所述用以进行比较的程序代码在针对所述两个解中的每一者将所述基于测量值的偏航、俯仰和横摇角中的所述至少一者与所述基于单应性的偏航、俯仰和横摇角中的所述至少一者进行比较时仅使用所述具有所述最大差的角。
24.根据权利要求19所述的非暂时性计算机可读媒体,其中所述用以使用来自所述定向传感器的所述测量值确定所述至少一个可能的解是否正确的程序代码不使用所述平坦对象的先前知识且不使用所述平坦对象的`额外图像。
【文档编号】G06T7/20GK103875020SQ201280050170
【公开日】2014年6月18日 申请日期:2012年8月15日 优先权日:2011年9月12日
【发明者】蒋博兰, 迪拉杰·阿胡贾, 克里斯托福·布鲁纳 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1