《经配置以基于运动传感器数据计算3D模型的移动装置.pdf》由会员分享,可在线阅读,更多相关《经配置以基于运动传感器数据计算3D模型的移动装置.pdf(27页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104081434 A (43)申请公布日 2014.10.01 CN 104081434 A (21)申请号 201280066984.2 (22)申请日 2012.12.12 61/591,196 2012.01.26 US 13/673,681 2012.11.09 US G06T 7/00(2006.01) (71)申请人 高通股份有限公司 地址 美国加利福尼亚州 (72)发明人 齐英勇 杨瑞多 塞拉姆孙达雷桑 (74)专利代理机构 北京律盟知识产权代理有限 责任公司 11287 代理人 宋献涛 (54) 发明名称 经配置以基于运动传感器数据计算 3D 模型 。
2、的移动装置 (57) 摘要 一种特定方法包含基于从至少一个运动传感 器接收到的数据确定移动装置从第一位置到第二 位置的移动。所述方法还包含基于对应于从所述 移动装置的所述第一位置看的物体的第一视图的 所述物体的第一图像、 对应于从所述移动装置的 所述第二位置看的所述物体的第二视图的所述物 体的第二图像和所述移动装置的移动而计算所述 物体的三维 3D 模型。 (30)优先权数据 (85)PCT国际申请进入国家阶段日 2014.07.14 (86)PCT国际申请的申请数据 PCT/US2012/069088 2012.12.12 (87)PCT国际申请的公布数据 WO2013/112237 EN 。
3、2013.08.01 (51)Int.Cl. 权利要求书 4 页 说明书 11 页 附图 11 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书4页 说明书11页 附图11页 (10)申请公布号 CN 104081434 A CN 104081434 A 1/4 页 2 1. 一种方法, 其包括 : 在移动装置处在第一位置时在所述移动装置的相机处捕获物体的第一图像 ; 在所述移动装置处在第二位置时捕获所述物体的第二图像 ; 基于所述移动装置的至少一个运动传感器输出的数据确定所述移动装置从所述第一 位置到所述第二位置的移动 ; 以及 基于所述第一图像、 所述第二图像和所。
4、述移动装置的所述所确定的移动而计算所述物 体的三维 3D 模型。 2. 根据权利要求 1 所述的方法, 其中所述第一图像和所述第二图像是与所存储的视频 文件相关联的视频帧, 并且进一步包括周期性地存取所述所存储的视频文件以存取所述视 频帧。 3. 根据权利要求 1 所述的方法, 其中所述第一图像和所述第二图像是与视频帧序列 相关联的视频帧, 并且进一步包括在将所述视频帧序列存储为视频文件之前存取所述视频 帧。 4. 根据权利要求 1 所述的方法, 其中所述第一图像和所述第二图像是快照图像。 5.根据权利要求1所述的方法, 其中计算所述物体的所述3D模型进一步是基于所述物 体的一个或多个轮廓。 。
5、6. 根据权利要求 1 所述的方法, 其中所述至少一个运动传感器输出的所述数据包含与 所述移动装置相关联的旋转运动、 与所述移动装置相关联的平移运动或其组合。 7. 根据权利要求 1 所述的方法, 其中所述移动装置的所述所确定的移动包含所述移动 装置的旋转、 所述移动装置的平移或其组合。 8.根据权利要求1所述的方法, 其中计算所述物体的所述3D模型进一步包括基于第一 估计再投影图像点、 第二估计再投影图像点和所述至少一个运动传感器输出的所述数据的 函数确定所述物体的特征点。 9. 根据权利要求 1 所述的方法, 其中计算所述物体的所述三维模型进一步包括 : 基于所述第一位置的第一估计与所述物。
6、体的一个或多个特征点的乘积确定所述物体 的第一估计再投影图像点 ; 基于所述第二位置的第二估计与所述物体的所述一个或多个特征点的乘积确定所述 物体的第二估计再投影图像点 ; 确定所述第一估计再投影图像点与所述物体在所述第一图像中的坐标之间的第一欧 几里得距离的平方 ; 确定所述第二估计再投影图像点与所述物体在所述第二图像中的坐标之间的第二欧 几里得距离的平方 ; 以及 修改所述 3D 模型的估计以使所述第一欧几里得距离的所述平方与所述第二欧几里得 距离的所述平方的总和最小化, 其中基于所述第一位置的所述第一估计和所述至少一个运动传感器输出的所述数据 产生所述第二位置的所述第二估计。 10. 根。
7、据权利要求 9 所述的方法, 其中根据光束调节技术执行修改所述 3D 模型的所述 估计以确定下式的最大似然解 : 权 利 要 求 书 CN 104081434 A 2 2/4 页 3 其中 d 与距离运算相关联, 其中 Pi是所述相机的投影矩阵, 其中 Xj是所述物体的第 j 个特征点, 并且 其中是所述第 j 个特征点在第 i 个图像中的坐标。 11. 一种设备, 其包括 : 相机, 其经配置以在第一位置时捕获物体的第一图像并且在第二位置时捕获所述物体 的第二图像 ; 至少一个运动传感器 ; 处理器 ; 以及 存储器, 其存储可由所述处理器执行以进行以下操作的指令 : 基于所述至少一个运动传。
8、感器输出的数据确定所述相机从所述第一位置到所述第二 位置的移动 ; 以及 基于所述第一图像、 所述第二图像和所述相机的所述所确定的移动而计算所述物体的 三维 3D 模型。 12. 根据权利要求 11 所述的设备, 其中所述处理器集成到移动装置、 所述相机、 多媒体 播放器、 娱乐单元、 导航装置、 个人数字助理 PDA、 便携式计算机或其任何组合中。 13. 根据权利要求 11 所述的设备, 其中所述至少一个运动传感器输出的所述数据包含 与所述相机相关联的旋转信息、 与所述相机相关联的平移信息或其组合。 14. 根据权利要求 11 所述的设备, 其中所述相机的所述所确定的移动包含所述相机的 旋。
9、转、 所述相机的平移或其组合。 15. 根据权利要求 11 所述的设备, 其中所述指令进一步可由所述处理器执行以基于第 一估计再投影图像点、 第二估计再投影图像点和所述至少一个运动传感器输出的所述数据 的函数确定所述物体的特征点。 16. 根据权利要求 11 所述的设备, 其中所述指令进一步可由所述处理器执行以进行以 下操作 : 基于所述第一位置的第一估计与所述物体的一个或多个特征点的乘积确定所述物体 的第一估计再投影图像点 ; 基于所述第二位置的第二估计与所述物体的所述一个或多个特征点的乘积确定所述 物体的第二估计再投影图像点 ; 确定所述第一估计再投影图像点与所述物体在所述第一图像中的坐标。
10、之间的第一欧 几里得距离的平方 ; 确定所述第二估计再投影图像点与所述物体在所述第二图像中的坐标之间的第二欧 几里得距离的平方 ; 以及 修改所述 3D 模型的估计以使所述第一欧几里得距离的所述平方与所述第二欧几里得 距离的所述平方的总和最小化, 其中基于所述第一位置的所述第一估计和所述至少一个运动传感器输出的所述数据 产生所述第二位置的所述第二估计。 权 利 要 求 书 CN 104081434 A 3 3/4 页 4 17.根据权利要求16所述的设备, 其中根据光束调节技术执行修改所述3D模型的所述 估计以确定下式的最大似然解 : 其中 d 与距离运算相关联, 其中 Pi是所述相机的投影矩。
11、阵, 其中 Xj是所述物体的第 j 个特征点, 并且 其中是所述第 j 个特征点在第 i 个图像中的坐标。 18. 一种方法, 其包括 : 基于从至少一个运动传感器接收到的数据确定移动装置从第一位置到第二位置的移 动 ; 以及 基于对应于从所述移动装置的所述第一位置看的物体的第一视图的所述物体的第一 图像、 进一步基于对应于从所述移动装置的所述第二位置看的所述物体的第二视图的所述 物体的第二图像和进一步基于所述移动装置的所述移动而计算所述物体的三维 3D 模型。 19. 一种设备, 其包括 : 用于基于从至少一个用于感测运动的装置接收到的数据确定移动装置从第一位置到 第二位置的移动的装置 ; 。
12、以及 用于基于对应于从所述移动装置的所述第一位置看的物体的第一视图的所述物体的 第一图像、 进一步基于对应于从所述移动装置的所述第二位置看的所述物体的第二视图的 所述物体的第二图像和进一步基于所述移动装置的所述移动而计算所述物体的三维 3D 模 型的装置。 20. 根据权利要求 19 所述的设备, 其进一步包括用于捕获所述第一图像并且用于捕获 所述第二图像的装置。 21. 根据权利要求 19 所述的设备, 其进一步包括用于基于第一估计再投影图像点、 第 二估计再投影图像点和从所述至少一个用于感测运动的装置接收到的所述数据确定所述 物体的特征点的装置。 22. 一种计算机可读非暂时性媒体, 其包。
13、括在由处理器执行时致使所述处理器进行以 下操作的指令 : 基于从至少一个运动传感器接收到的数据确定移动装置从第一位置到第二位置的移 动 ; 以及 基于对应于从所述移动装置的所述第一位置看的物体的第一视图的所述物体的第一 图像、 进一步基于对应于从所述移动装置的所述第二位置看的所述物体的第二视图的所述 物体的第二图像和进一步基于所述移动装置的所述移动而计算所述物体的三维 3D 模型。 23. 根据权利要求 22 所述的非暂时性计算机可读媒体, 其中所述数据包含与所述移动 装置相关联的旋转信息、 与所述移动装置相关联的平移信息或其组合。 24. 根据权利要求 22 所述的非暂时性计算机可读媒体, 。
14、其进一步包括可通过所述处理 器执行以基于第一估计再投影图像点、 第二估计再投影图像点和所述数据的函数确定所述 物体的特征点的指令。 25. 根据权利要求 22 所述的非暂时性计算机可读媒体, 其进一步包括可由所述处理器 权 利 要 求 书 CN 104081434 A 4 4/4 页 5 执行以产生与所述物体相关联的一个或多个轮廓的指令, 其中所述物体的所述 3D 模型进 一步是基于所述一个或多个轮廓。 权 利 要 求 书 CN 104081434 A 5 1/11 页 6 经配置以基于运动传感器数据计算 3D 模型的移动装置 0001 相关申请案的交叉参考 0002 本申请案要求 2012 。
15、年 1 月 26 日申请的第 61/591,196 号美国临时专利申请案和 2012 年 11 月 9 日申请的第 13/673,681 号美国非临时专利申请案的益处, 上述申请案的揭 示内容以全文引用的方式并入本文中。 技术领域 0003 本发明总地来说涉及产生物体的三维 (3D) 模型。 背景技术 0004 技术的进步已产生更小且更强大的计算装置。举例来说, 当前存在多种便携式个 人计算装置, 包含无线计算装置, 例如较小、 轻重量且易于由用户携带的便携式无线电话、 个人数字助理 (PDA) 和寻呼装置。更具体来说, 便携式无线电话 ( 例如, 蜂窝式电话和因特 网协议 (IP) 电话 )。
16、 可经由无线网络传递语音和数据包。而且, 所述无线电话可处理可执行 指令, 包含可用以接入因特网的软件应用程序, 例如, 网络浏览器应用程序。 因此, 这些无线 电话可包含相当大的计算能力, 并且可能能够对三维 (3D) 物体进行图形处理。 0005 可以基于物体的多视图图像 ( 例如, 一个或多个相机从不同角度和 / 或位置拍摄 的物体的多个视图 ) 产生物体的三维 (3D) 模型。3D 模型可以向无线装置的用户提供有用 的并且引起兴趣的信息, 并且可以改善整体用户体验。3D 重建可以用于安全、 监控和机器 人技术。此外, 3D 重建可以用于形成建筑物的模型以便产生虚拟旅行或用于导航目的。另。
17、 外, 可以 ( 例如, 在博物馆中 ) 重建和保存可能已经遭到破坏的物体。 发明内容 0006 揭示无线装置的多视图处理中的运动正规化物体重建的系统和方法。 所揭示的实 施例利用一个或多个运动传感器提供的无线装置的运动信息减少配合一种或多种 3D 重建 技术产生三维 (3D) 模型 ( 例如, 3D 结构 ) 的复杂度。 0007 根据特定实例, 配合运动传感器数据使用基于特征点的重建技术 ( 例如, 光束调 节技术 ) 计算 3D 模型。根据一些方法, 光束调节是以下表达式的 “最大似然解” 0008 其中 Pi是所述相机的第 i 个投影矩阵 ( 即, 通过所述相机拍 摄并且投影到第 i 。
18、个图像上的所述物体的特征点的表示 ), 其中 Xj是所述物体的第 j 个特 征点, 其中是所述第 j 个特征点在第 i 个图像中的坐标, 并且其中 d() 表示距离函数, 如下文进一步解释。物体的特征点包含物体的可能对于产生物体的 3D 模型至关重要的部 分 ( 例如, 物体中的拐角、 物体中的曲线、 物体的边缘等 )。举例来说, 特征点可包含杯子的 把手、 杯子的图形图案的拐角、 杯子的包含文本的部分和杯子的底座。 0009 根据光束调节技术的至少一种用法, 估计初始 ( 例如, i 1) 和随后 ( 例如, i 2, 3, ., n) 投影矩阵 Pi, 其估计相机从初始位置到相机的随后位置。
19、的位置和定向。估计物 说 明 书 CN 104081434 A 6 2/11 页 7 体的特征点 Xj, 并且还估计所述特征点在相机捕获到的物体的多个图像中的坐标光束 调节解可能会导致大的并且计算密集的问题, 因为有待估计的参数有很多。 因而, 光束调节 解可能在计算方面要求很高, 而且可能对处理器资源造成负担。 0010 根据本发明的至少一个实施例, 通过使用运动传感器数据来确定 Pi+1( 或 Pi+1的估 计 ), 可以减小光束调节技术的复杂度。举例来说, 可以根据以下表达式减小光束调节复杂 度 : 0011 其条件是Pi+1Ri|TiPi, 其中Ri和Ti分别是旋转和平移矩 阵, 并且。
20、 Ri|Ti 是基于无线装置的一个或多个传感器作出的测量的与无线装置相关联的 相对姿势矩阵。因而, 至少一个第 i+1 个投影矩阵可以从一个或多个运动传感器提供的无 线装置的运动信息导出, 并且不需要经由光束调节技术迭代地估计, 从而使得总复杂度减 小。 0012 根据另一特定实例, 使用运动传感器测量值导出相机位置信息以产生基于轮廓的 3D 物体 ( 例如, 使用视觉外壳技术产生的 3D 物体 )。通过使用运动传感器测量值, 可以通 过移动装置 ( 例如, 不与 “固定” 或预定位置相关联的装置 ) 实际上产生基于轮廓的 3D 模 型。 0013 在特定实施例中, 一种方法包含在移动装置在第。
21、一位置时在移动装置的相机处捕 获物体的第一图像, 并且在移动装置在第二位置时捕获物体的第二图像。所述方法包含基 于移动装置的至少一个运动传感器输出的数据确定移动装置从第一位置到第二位置的移 动。所述方法还包含基于所述第一图像、 所述第二图像和所述移动装置的所述所确定的移 动而计算所述物体的三维 (3D) 模型。 0014 在特定实施例中, 一种设备包含经配置以在第一位置时捕获物体的第一图像和在 第二位置时捕获物体的第二图像的相机。所述设备包含至少一个运动传感器、 一个处理器 和一个存储可通过处理器执行的指令的存储器。 所述指令可执行以基于所述至少一个运动 传感器输出的数据确定相机从第一位置到第。
22、二位置的移动, 并且基于第一图像、 第二图像 和相机的所确定的移动计算物体的三维 (3D) 模型。 0015 在特定实施例中, 一种方法包含基于从至少一个运动传感器接收到的数据确定移 动装置从第一位置到第二位置的移动。 所述方法还包含基于对应于从所述移动装置的所述 第一位置看的物体的第一视图的所述物体的第一图像、 进一步基于对应于从所述移动装置 的所述第二位置看的所述物体的第二视图的所述物体的第二图像和进一步基于所述移动 装置的移动而计算物体的三维 (3D) 模型。 0016 在特定实施例中, 一种设备包含用于基于从至少一个用于感测运动的装置接收到 的数据确定移动装置从第一位置到第二位置的移动。
23、的装置。 所述设备还包含用于基于对应 于从所述移动装置的所述第一位置看的物体的第一视图的所述物体的第一图像、 进一步基 于对应于从所述移动装置的所述第二位置看的所述物体的第二视图的所述物体的第二图 像和进一步基于所述移动装置的移动而计算物体的三维 3D 模型的装置。 0017 在特定实施例中, 一种计算机可读非暂时性媒体包含在由处理器执行时致使所述 处理器基于从至少一个运动传感器接收到的数据确定移动装置从第一位置到第二位置的 移动的指令。 所述指令进一步可执行以基于对应于从所述移动装置的所述第一位置看的物 说 明 书 CN 104081434 A 7 3/11 页 8 体的第一视图的所述物体的。
24、第一图像、 进一步基于对应于从所述移动装置的所述第二位置 看的所述物体的第二视图的所述物体的第二图像和进一步基于所述移动装置的移动而计 算物体的三维 (3D) 模型。 0018 在检视整个申请案后, 将明白本发明的其它方面、 优点和特征, 申请案包含以下部 分 : 附图说明、 具体实施方式和权利要求书。 附图说明 0019 图 1 是包含经配置以基于运动传感器数据计算 3D 模型的移动装置的系统的特定 实施例的图 ; 0020 图 2 是图 1 的移动装置的特定说明性实施例的图 ; 0021 图 3 是图 1 的移动装置的另一特定说明性实施例的图 ; 0022 图 4 是图 1 的移动装置的另。
25、一特定说明性实施例的图 ; 0023 图 5 是说明基于运动传感器数据计算 3D 模型的方法的特定实施例的流程图 ; 0024 图 6 是说明基于运动传感器数据计算 3D 模型的方法的另一特定实施例的流程 图 ; 0025 图 7 是说明基于运动传感器数据根据基于特征点的重建技术 ( 例如, 光束调节技 术 ) 计算 3D 模型的方法的特定实施例的流程图 ; 0026 图8是说明基于运动传感器数据根据基于轮廓的重建技术(例如, 视觉外壳技术) 计算 3D 模型的方法的特定实施例的流程图 ; 0027 图9是说明基于运动传感器数据根据基于轮廓的重建技术(例如, 视觉外壳技术) 计算 3D 模型的。
26、方法的另一特定实施例的流程图 ; 0028 图10是图1的移动装置的另一特定说明性实施例的图, 其中所述移动装置经配置 以基于运动传感器数据根据基于特征点的重建技术 ( 例如, 光束调节技术 ) 计算 3D 模型 ; 以及 0029 图11是图1的移动装置的另一特定说明性实施例的图, 其中所述移动装置经配置 以基于运动传感器数据根据基于轮廓的重建技术 ( 例如, 视觉外壳技术 ) 计算 3D 模型。 具体实施方式 0030 参看图1, 揭示系统的特定实施例的图, 并且将其总体上标示为100。 系统100包含 移动装置 102, 所述移动装置包含相机 108, 其经配置以捕获例如物体 130 等。
27、一个或多个物 体的一个或多个图像 ( 例如, 第一图像 120 和第二图像 122)。移动装置 102 进一步包含一 个或多个运动传感器 104、 一个或多个存储装置 106 和一个 3D 建模器 110。3D 建模器 110 可以使用硬件、 使用存储在计算机可读有形媒体处的处理器可执行指令或其组合实施, 如 下文中进一步描述。所述一个或多个运动传感器 104 可包含一个或多个电力、 机械、 机电或 其它传感器, 例如陀螺仪、 加速计、 其它运动传感器装置或其组合。 0031 物体 130 可包含一个或多个特征点, 例如物体 130 的顶点、 物体 130 的底座、 物体 130的把手、 物体。
28、130上的文本或图形、 物体130的曲线、 物体130的一个或多个其它相异的 部分, 或其任何组合。虽然图 1 展示当移动装置 102 处在两个位置时相机 108 捕获的物体 130 的两个图像 120、 122, 但是应注意, 相机 108 可以捕获物体 130 的对应于移动装置 102 说 明 书 CN 104081434 A 8 4/11 页 9 的多个位置的多个图像。 0032 相机 108 可经配置以在移动装置 102 的多个位置 ( 例如, 在相对于坐标系或相对 于初始位置的不同角度和 / 或旋转处 ) 捕获物体 130 的图像。举例来说, 相机 108 可以在 移动装置 102(。
29、 和相机 108) 在第一位置 ( 例如, 物体 130 的第一视图 140) 时捕获物体 130 的第一图像 120, 并且相机 108 可以在移动装置 102( 和相机 108) 在第二位置 ( 例如, 物体 130 的第二视图 150) 时捕获物体 130 的第二图像 122。在至少一个实施例中, 对应于第一 视图 140 和第二视图 150 的图像数据可以存储在一个或多个存储装置 106 处。 0033 所述一个或多个运动传感器 104 可经配置以产生运动指示移动装置 102 的位置 ( 例如, 移动装置 102 相对于移动装置 102 的初始位置或相对于坐标系的旋转和 / 或平移 )。
30、 的运动传感器数据。举例来说, 所述一个或多个运动传感器 104 可经配置以与相机 108 捕 获第一图像120并行地产生运动传感器数据112。 作为另一实例, 所述一个或多个运动传感 器 104 可经配置以与相机 108 捕获第二图像 122 并行地产生运动传感器数据 114。在至少 一个实施例中, 移动装置 102 使用 3D 建模器 110 使用运动传感器数据 112、 114 并且进一步 使用与图像 120、 122 有关的图像数据产生物体 130 的 3D 模型 116, 如下文中进一步描述。 0034 在操作期间, 移动装置 102 可以基于相机 108 的第一视图 140 经由相。
31、机 108 捕获 物体 130 的第一图像 120。移动装置 102 可以移动到第二位置 ( 例如, 由于移动装置 102 的 用户的移动), 并且可以基于相机108的第二视图150经由相机108捕获物体130的第二图 像 122。移动装置 102 的一个或多个运动传感器 104 可以输出对应于移动装置 102 的运动 信息的运动传感器数据 112、 114、 所述运动信息使得能够确定移动装置 102 从第一位置到 第二位置的移动。运动传感器数据 112、 114 可以指示移动装置 102 的旋转和平移运动。 0035 为了说明, 当移动装置102在第一位置时, 3D建模器110可以接收对应于。
32、第一图像 120 的数据, 并且可以进一步接收一个或多个运动传感器 104 输出的运动传感器数据 112。 类似地, 当移动装置 102 在第二位置时, 3D 建模器 110 可以接收对应于第二图像 122 的数 据, 并且可以进一步接收一个或多个运动传感器104输出的运动传感器数据114。 运动传感 器数据 114 可以指示移动装置 102 从第一位置到第二位置的移动信息。举例来说, 运动传 感器数据114可包含与移动装置102从第一位置到第二位置的旋转和平移相关联的移动装 置 102 的旋转和平移矩阵。作为另一实例, 运动传感器数据 112、 114 可以提供使得能够产 生移动装置 102。
33、 的旋转和平移矩阵的信息。运动传感器数据 112、 114 可包含或指示从一个 或多个运动传感器 104 获得的 “相机姿势” 矩阵, 如下文中进一步描述。 0036 出于说明的目的, 提供 3D 建模器 110 使用运动传感器数据 112、 114 和对应于图像 120、 122 的数据产生物体 130 的 3D 模型 116 的非限制性实例操作。在特定实例中, 3D 建模 器 110 经配置以通过基于一个或多个运动传感器 104 提供的运动传感器数据 114 计算光束 调节表达式而产生 3D 模型 116。根据此类实施例并且如下文中进一步 描述, 3D 建模器 110 可以基于计算而输出物。
34、体 130 的 3D 特征点。输出 3D 特征点对应于物 体 130 的 3D 模型。在特定实施例中, 计算光束调节表达式可包含基于第一估计再投影图像 点、 第二估计再投影图像点和一个或多个运动传感器 104 输出的数据的函数确定物体 130 的特征点。举例来说, 计算光束调节表达式可包含基于第一位置的第一估计 ( 即, P1) 和物 体130的一个或多个特征点(Xj)的乘积(即, 计算P1Xj)而确定物体130的第一估计再投影 说 明 书 CN 104081434 A 9 5/11 页 10 图像点。计算光束调节表达式还可包含基于第二位置的第二估计 ( 即, P2) 与物体 130 的一 个。
35、或多个特征点(Xj)的乘积(即, 计算P2Xj)而确定物体的第二估计再投影图像点。 计算光 束调节表达式还可包含确定第一估计再投影图像点与物体130在第一图像120中的坐标之 间的第一欧几里得距离的平方 ( 即, 计算) 和确定第二估计再投影图像点与物 体 130 在第二图像 122 中的坐标之间的第二欧几里得距离的平方 ( 即, 计算)。 计算光束调节表达式可包含修改 3D 模型 116 的估计以使第一欧几里得距离的平方和第二 欧几里得距离的平方的总和减小或 “最小化” ( 即, 使“最小化” )。 还可修改第一位置的第一估计 P1以进一步减小平方和。但是, 第二位置的第二估计 P2受到 限。
36、制, 使得 Pi+1 Pi, 其中 指示相机姿势信息, 例如旋转矩阵 R 和 / 或变换矩阵 T。举 例来说, 在至少一个实施例中, Ri|Ti。通过限制 P2.Pn, 可以明显减小产生特征点 的复杂度。 应注意, 虽然配合前述实例展示了欧几里得距离函数, 但是也可以利用其它距离 函数。举例来说, d() 可以表示例如几何距离或测量图像中的投影特征坐标与测量特征 坐标之间的距离或差值的任何其它度量的距离函数。 0037 可以根据多种技术确定相机姿势信息。为了说明, 假设在相机 108 捕获的 N 个图 像 ( 例如, 第一图像 120 和第二图像 122) 中 “匹配” ( 例如, 识别 ) 。
37、一个或多个特征点 Xj中 的至少一个。所匹配的特征点可以指示为 mi, 其中在 (i 1, .N) 的情况下 mi xi, yi, 1T。所匹配的特征点 mi与空间位置 M X Y Z 1T相关联。因此, 对于比例因子 i, 在 i 1, ., N 2 的情况下, ixi, yi, 1T PiM, 其中 Pi KiRi|Ti 是第 i 个相机投影矩 阵, 并且 Ki是移动装置 102 的第 i 个相机的上部三角形校准矩阵 ( 例如, 3x3 上部三角形校 准矩阵 ), 其中 i 1, ., N( 例如, 对于相机 108 的多相机实施例, 为了说明清楚起见, 图 1 中省略了这个多相机实施例 。
38、)。上部三角形校准矩阵 Ki对于用相同相机捕获的图像可以 是相同的 ( 例如, 当使用相机 108 捕获 N 个图像中的每一个时, 例如对于移动装置 102 的单 个相机实施例 )。Ri|Ti 可以是与第 i 个相机相关联的相对姿势矩阵。因此, 0038 AM 0 其中 0039 这里, pji是第 i 个相机的投影矩阵的第 j 行, 并且 AM 0 可以是有三个未知数 (X, Y, Z) 的一组 2N 个齐次方程式。因为所有相机投影矩阵可以是已知的, 并且 N 可以等于 或大于 2, 所以所述方程式可以具有最小平方解, 这可以使得代数再投影误差 “最小化” 。 0040 应了解, 根据前述描。
39、述的光束调节技术可以利用相机姿势数据 ( 例如, 运动传感 器数据 112、 114) 使得能够对 3D 模型 116 进行简化并且计算上高效的确定。常规方法 ( 例 如, 不利用运动传感器信息的光束调节计算 ) 可以接受计算密集型 “最小平方解” , 例如通 说 明 书 CN 104081434 A 10 6/11 页 11 过获得非线性解以便使几何误差 “最小化” : 0041 0042 图 2 描绘移动装置 102 的特定说明性实施例。图 2 的移动装置 102 包含一个或多 个运动传感器 104、 一个或多个存储装置 106、 相机 108 和 3D 建模器 110。 0043 在图 。
40、2 的特定实施例中, 一个或多个存储装置 106 存储有待被 3D 建模器 110 用来 产生 3D 模型 116 的 3D 重建数据 202。3D 重建数据 202 可包含运动传感器数据 112、 114, 并且可以进一步包含分别对应于图 1 的第一图像 120 和图 1 的第二图像 122 的第一图像数 据 220 和第二图像数据 222。3D 模型 116 可以显示在移动装置 102 的显示器 ( 图 2 中未图 示 ) 上。 0044 根据特定说明性实施例, 图2的图像数据220、 222对应于图片序列, 每一图片是响 应于用户输入单独捕获的 ( 例如, 用户 “手动” 捕获的并且不是。
41、视频序列的一部分的 “静态” 或 “快照” 图片 )。在至少一个实施例中, 图 2 的实例可以配合移动装置 102 的应用程序使 用, 这个应用程序使得用户能够基于用户使用相机 108 捕获的静态图片产生例如 3D 模型 116 等 3D 模型。根据额外实施例并且如下文进一步论述, 图像数据 220、 222 可以对应于视 频帧序列的视频帧 ( 例如,“自动” 周期性捕获的循序静态图像 )。 0045 图 3 描绘参看图 1 描述的移动装置 102 的另一特定说明性实施例。图 3 的移动装 置 102 包含一个或多个运动传感器 104、 一个或多个存储装置 106、 相机 108、 3D 建模。
42、器 110 和显示器 320。图 3 的 3D 建模器 110 包含同步器 308。图 3 的一个或多个存储装置 106 包 含运动传感器数据缓冲器 306 和视频帧缓冲器 304。任选地, 图 3 的移动装置 102 可包含主 存储器 310。 0046 在操作中, 相机 108 可以捕获视频帧序列 302。视频帧缓冲器 304 可以响应于相 机 108, 并且经配置以存储视频帧序列 302 的一个或多个视频帧。举例来说, 在图 3 的实例 中, 图像数据 220、 222 对应于视频帧序列 302 的视频帧。运动传感器数据缓冲器 306 可以 响应于一个或多个运动传感器 104。运动传感器。
43、数据缓冲器 306 可以存储运动传感器数据 112、 114。 0047 同步器308可以相对于来自运动传感器数据缓冲器306的数据同步来自视频帧缓 冲器 304 的数据。举例来说, 同步器 308 可以同步第一运动传感器数据 112 与第一图像数 据 220, 并且可以进一步同步第二运动传感器数据 114 与第二图像数据 222。根据至少第一 技术, 同步器 308 通过比较时戳而相对于来自运动传感器数据缓冲器 306 的数据同步来自 视频帧缓冲器 304 的数据, 例如通过将与运动传感器数据 112、 114 相关联的时戳跟与图像 数据 220、 222 相关联的时戳比较。根据至少第二技术。
44、, 同步器 308 从运动传感器数据缓冲 器 306 并且从视频帧缓冲器 304 周期性地存取数据。根据至少第三技术, 同步器 308 响应 于移动装置102的移动(例如, 响应于一个或多个运动传感器104), 并且响应于检测到的运 动从运动传感器数据缓冲器 306 并且从视频帧缓冲器 304 拉动数据。其它技术可以利用第 一技术、 第二技术和第三技术中的一个或多个的组合。任选地, 视频帧缓冲器 304 输出的数 据可以作为包含视频帧序列 302 的视频文件 312 存储在主存储器 310 处。 0048 将了解, 通过从 “临时” 存储装置 ( 例如, 图 3 的视频帧缓冲器 304 和运动。
45、传感器 数据缓冲器 306) 而不是主存储器 310 拉动数据, 3D 建模器 110 可以 “在运行中” 操作。举 说 明 书 CN 104081434 A 11 7/11 页 12 例来说, 与捕获视频帧序列 302 并行地或几乎并行地, 3D 建模器 110 可以产生 3D 模型 116, 并且移动装置 102 可以在显示器 320 上显示 3D 模型 116。如本文所使用,“在运行中” 、“并 行地” 和 “几乎并行地” 指的是用户可以感知到是同时的看到所捕获的物体与产生物体的 3D 模型之间的关系。 0049 因此, 配合图 3 所说明的实例可以对应于 3D 模型 116 的 “在运。
46、行中” 的产生。举例 来说, 当用户围绕着物体 ( 例如图 1 的物体 130) 移动所述移动装置 102 时, 3D 建模器 110 可以 “自动” 再现 3D 模型 116, 这与用户的移动并行地在显示器 320 上显示。根据额外实施 例, 并且如下文进一步论述, 一个或多个实施例可以基于运动传感器数据和视频帧序列非 并行地产生 3D 模型。 0050 图 4 描绘参看图 1 描述的移动装置 102 的另一特定说明性实施例。图 4 的移动装 置102包含一个或多个运动传感器104、 一个或多个存储装置106、 相机108、 3D建模器110、 视频帧缓冲器 304 和显示器 320。 00。
47、51 在操作中, 一个或多个运动传感器 104 可以产生运动传感器数据 112、 114, 其可以 存储在一个或多个存储装置106处。 相机108可以捕获视频帧序列302, 其可以暂时存储在 视频帧缓冲器 304 处, 并且显示在显示器 320 处, 例如配合与视频帧序列 302 相关联的 “预 览” 特征而显示。举例来说, 可以在将视频帧序列 302 存储在一个或多个存储装置 106 处 ( 例如, 作为图像数据 220、 222) 之前和 / 或在 3D 建模器 110 产生 3D 模型 116 之前在显示 器 320 处显示视频帧序列 302。 0052 因此, 在图 4 的特定实施例中。
48、, 3D 建模器 110 可以根据 “后处理” 技术产生 3D 模型 116。 举例来说, 因为3D模型116可能不是与相机108捕获视频帧序列302并行地产生和显 示, 所以显示器 320 可以改为展示相机 108 捕获的图像的 “预览” 。此外, 显示器 320 可以显 示用户指令以便进行相机定位 ( 例如, 相对于所观看的物体握持相机的角度和 / 或位置 )。 此后, 可以由 3D 建模器 110 通过存取一个或多个存储装置 106( 其可以是 “主存储器” , 例如 配合图 3 描述的主存储器 310) 产生 3D 模型 116。 0053 参看图 5, 揭示说明基于运动传感器数据计算。
49、 3D 模型的方法的特定实施例的图, 并且将其总体上标示为 500。方法 500 包含在 502 处在移动装置在第一位置时在移动装置 的相机处捕获物体的第一图像, 并且在 504 处在移动装置在第二位置时捕获物体的第二图 像。举例来说, 相机 108 可以在移动装置 102 在第一位置时捕获物体 130 的第一图像 120, 并且相机 108 可以在移动装置 102 在第二位置时捕获物体 130 的第二图像 122。第一图像 120 可以对应于相机 108 在第一位置时捕获的物体 130 的第一视图 140, 并且第二图像 122 可以对应于相机 108 在第二位置时捕获的物体 130 的第二视图 150。 0054 方法500进一步包含在506处基于移动装置的至少一个运动传感器输出的数据确 定移动装置从第一位置到第二位置的移动。举例来说, 一个或多个运动传感器 104 可以输 出对应于移动装置 102 的运动信息的运动传感器数据 112、 114。在特定实施例中, 运。