用于为了三维图像生成来标记图像的系统和方法_4

文档序号:8531730阅读:来源:国知局
所有图像或图像子集来执行。虽然图5A-5F图示了对准两个图像,但是在其它示例中,能够由计算设备在给定时间对更多图像进行对准以匹配投射在物体上的图案的相对应部分。
[0085]使用不同线条类型来便利空间对准在这里仅是用于说明。能够使用图案的其它区分特征。例如,可以使用多于一种的颜色来投射图案。在该示例中,该计算设备可以被配置为识别投射于物体上并且包括第二图像集合中的图像的图案中的不同颜色,并且可以相应地在空间上对准第二图像集合中的图像,即该计算设备可以被配置为至少部分地基于对该图案中的多于一种的颜色进行匹配来将第二图像集合中的给定图像中的图案部分与第二图像集合中空间上相邻的图像中的相对应部分进行匹配。
[0086]作为另一个示例,该图案可以包括能够通过局部特征检测算法确定的特色特征,上述算法诸如SIFT (尺度不变特征变换)、SURF (快速鲁棒性特征)或ORB (面向快速且旋转的BRIEF)。这些算法可以识别出图像上能够被可靠地识别为对物体变化的方位或距离的特色点。该图案可以被设计为包括具有已知关系的多个这些特征,诸如更为复杂的图形结构中的三角形集群或三角形镶嵌。例如,该计算设备可以被配置为使用给定三角特征集群中的特征来将一个图像与另一个图像中的给定三角形的方位和平面进行鲁棒匹配。使用多个三角形可以在遮挡的情况下提供鲁棒性。
[0087]返回参考图3,在框308,方法300包括确定第一图像集合中对应于第二图像集合中的对准的图像的相应图像。如在方法300的框304中所描述的,第二图像集合中的图像被索引以便对应于第一图像集合中的图像。在一个示例中,第一图像集合中的图像与第二图像集合中的图像之间可以具有一对一的对应性,即第二图像集合中的每个图像可以对应于第一图像集合中的相应图像。该计算设备可以基于第二图像集合中的图像针对第一图像集合中的图像的索引而被配置为确定来自第一图像集合的对应于第二图像集合中的空间对准的图像的相应图像。
[0088]在框310,方法300包括从第一图像集合中的相应图像生成该物体的3D图像。如以上所描述的,第一图像集合中的图像可以是高分辨率图像以捕获物体的细节(例如,纹理、色彩等)。该计算设备可以被配置为使用第一图像集合中被确定为对应于第二图像集合中的对准的图像的相应图像来创建该物体的3D图像和/或3D模型,使得该物体的3D模型的用户能够观看到该物体的精细细节。
[0089]创建物体的3D图像或模型可以包含估计该物体上的点的3D坐标。该坐标可以通过在第一图像集合中所确定的图像中进行测量来确定。可以在每个图像上识别共同点。能够构建从相机位置到物体上的点的视线(或射线)。这些射线的相交(三角测量)可以确定该点的3D位置或坐标。所识别的结构能够被用来生成例如能够使用3D计算机辅助设计(CAD)工具进行观看的3D模型。在一个示例中,可以生成三角表面网格形式的3D几何模型。在另一个示例中,该模型以立体像素并且可以应用行进立方体算法将该立体像素转换为网格,这能够经过平滑操作以降低由于行进立方体算法所进行的转换而导致的3D模型表面上的粗糙度。示例的平滑操作可以将个体的三角形顶点移动至表示所连接的相邻顶点的平均值的位置以降低网格中的三角形之间的角。
[0090]在一个示例中,3D图像/模型生成可以进一步包括对平滑网格应用抽取操作以消除数据点,这会提高处理速度。在已经执行了平滑和抽取操作之后,可以基于所产生的网格与原始网格或原始数据之间的差值来计算误差值,并且该误差可以与可接受的阈值进行比较。该平滑和抽取操作可以基于该误差与可接受值的比较被再次应用于该网格。最后满足阈值的网格数据集合可以被存储为3D模型。
[0091 ] 该三角形可以形成连接的图。以这种方式,图中的两个节点可以在存在形成从一个节点到其它节点的边缘序列(忽略边缘的方向)的情况下被连接。连接可以是图上的等同关系。例如,如果三角形A被连接至三角形B并且三角形B被连接至三角形C,则三角形A被连接至三角形C。所连接的节点的集合因此可以被称作补片。图可以在其由单个补片构成的情况下被完全连接。可以实施算法以使用先知的有关物体的其它信息(例如,对称性)。本领域技术人员将会意识到,能够使用其它算法和布置以及其它元件来生成物体的3D图像或模型。
[0092]该计算设备可以被配置为生成物体的3D图像或模型并且可以被配置为渲染用于显示的3D物体模型以创建物体的3D视觉化供用户观看。使用所生成的3D模型,用户例如能够从任意角度和缩放来观看物体。
[0093]图6图示了依据一个实施例的能够被用来实施方法300的用于进行图像标记和3D图像生成的系统600。系统600可以包括标记模块602、可以或可以不耦合至标记模块602的图像捕获模块604、以及耦合至图像捕获模块604的图像生成模块606。系统600的组件可以被配置为以彼此互连和/或与耦合至相应系统的其它组件互连的方式进行工作。
[0094]标记模块602可以被配置为在物体上投射描绘图案的标记。该物体可以是任意的3D物体。例如,标记模块602可以包括或耦合至能够在物体上投射图案的光源。该光源可以为电磁辐射源的类型,其能够在物体上投射可见和/或非可见光。电磁辐射源例如可以是能够发射不同颜色的激光束的激光源。该电磁辐射源可以被配置为投射诸如点的群组的简单图案,或者包括线条、曲线、形状等的更为复杂的图案。例如,标记模块602可以被配置为激活光源以在物体上投射标记并且对光源去激活以移除该标记。
[0095]耦合至标记模块602的图像捕获模块604可以别配置为接收该物体的图像。例如,图像捕获模块604可以包括或耦合至一个或多个相机。(多个)相机可以被配置为从不同角度捕获物体的图像。例如,(多个)相机可以绕物体旋转通过360°并且从不同角度捕获该物体的图像。在一个示例中,图像捕获模块604可以被配置为控制第一相机捕获物体的第一图像集合。该第一图像集合可以为高分辨率以捕获该物体的细节。图像捕获模块604还可以被配置为与标记模块602进行通信以激活光源并且在物体上投射标记。图像捕获模块604可以进一步被配置为控制第二相机在标记被投射于物体上的同时捕获该物体的第二图像集合。该第二图像集合可以是比第一图像集合低的分辨率。
[0096]在一个示例中,第一相机和第二相机可以从相同角度捕获第一图像集合和第二图像集合,即第一相机可以从给定角度捕获物体的第一图像,然后标记被投射于物体上,并且第二相机可以从该给定角度捕获物体的第二图像。在另一个示例中,第一相机和第二相机可以从不同角度捕获图像。第二图像集合中的图像可以被索引以对应于第一图像集合中的图像。例如,给定的第一图像由第一相机从第一给定角度捕获并且给定的第二图像由第二相机从第二给定角度(其可以与第一给定角度相同或不同)捕获,并且给定的第二图像被索引以对应于给定的第一图像。
[0097]在一些示例中,可以使用一个相机来捕获两个图像集合。在这些示例中,该相机可以捕获第一图像集合,然后标记可以被投射于该物体上并且该相机可以捕获该物体的第二图像,其对应于该第一图像但是包括标记。例如,该相机在捕获第一图像集合时可以被设置为较高的分辨率。
[0098]图像生成模块606可以与图像捕获模块604进行通信,并且可以被配置为将第二图像集合中的每个图像中的给定图案部分匹配至第二图像集合中空间上相邻的图像中的相对应图案部分,以便在空间上对准第二图像集合中的图像。
[0099]如以上所描述的,在一个示例中,第二图像集合中的图像与第一图像集合中的图像相比可以为较低的分辨率。与使用第一图像集合中的高分辨率图像相对,图像生成模块606可以被配置为使用这样的较低分辨率的图像进行对准,以提高计算效率并且减少图像生成模块606在执行图像对准时所进行的计算努力。
[0100]图像生成模块606还可以被配置为确定第一图像集合中对应于第二图像集合中空间对准的图像的相应图像。如以上所描述的,第二图像集合中的图像被索引以便对应于第一图像集合中的图像。图像生成模块606可以相应地被配置为确定来自第一图像集合中的对应于第二图像结合中空间对准的图像的相应图像。
[0101]图像生成模块606可以进一步被配置为使用第一图像集合中被确定为对应于第二图像集合中的对准的图像的相应图像来生成物体的3D图像和/或3D模型。
[0102]例如,图像生成模块606可以被配置为生成物体的3D图像或模型,并且可以被配置为渲染用于显示的3D物体模型以创建该物体的3D视觉化供用户从任意角度和缩放观看该物体的精细细节。
[0103]所描述的系统600的功能或组件中的一个或多个可以被划分为另外的功能或物理组件,或者被组合为较少的功能或物理组件。在一些另外的示例中,可以向图6所示的示例增加另外的功能和/或物理组件。再进一步地,标记模块602、图像捕获模块604和/或图像生成模块606中的任意一个可以包括处理器(例如,微处理器、数字信号处理器(DSP)等)或以处理器的形式提供,该处理器被配置为执行包括用于实施这里所描述的逻辑功能的一个或多个指令的程序代码。系统600可以进一步包括任意类型的计算机可读介质(非瞬时介质)或存储器,例如包括磁盘或硬盘的存储设备,以存储该程序代码。在其它示例中,系统600可以包括在其它系统内。
[0104]图7是图示在依据这里所描述的至少一些实施例进行布置的计算系统中使用的示例计算设备的功能框图。该计算设备可以是个人计算机、移动设备、蜂窝电话、触敏手表、平板计算机、视频游戏系统或全球定位系统,并且可以被实施为提供一种如图1-6所示的用于图像标记的系统和三维(3D)图像生成系统。在基本配置702中,计算设备700可以典型地包括一个或多个处理器710和系统存储器720。存储器总线730可以被用于在处理器710和系统存储器720之间进行通信。根据所期望的配置,处理器710可以是任意类型,包括但并不限于微处理器(μ P)、微控制器(μ C)、数字信号处理器(DSP)或者它们的任意组合。还可以随处理器710使用存储器控制器715,或者在一些实施方式中,存储器控制器715可以是处理器710的内部部分。
[0105]根据所期望的配置,系统存储器720可以是任意类型,包括但并不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任意组合。系统存储器720可以包括一个或多个应用722以及程序数据724。应用722可以包括3D图像生成算法723,其被布置为依据本公开向电路提供输入。程序数据724可以包括能够指向任意类型的数据的内容信息725。在一些示例实施例中,应用722可以被布置为利用操作系统上的程序数据724进行操作。
[0106]计算设备700可以具有另外的特征或功能以及用于在基本配置702与任意设备和接口之间便利通信的另外的接口。例如,可以提供包括可移动存储设备742、非可移动存储设备744或者其组合的数据存储设备740。作为举例,可移动存储和非可移动存储设备的示例包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘设备,诸如致密盘(CD)驱动器或数字多功能盘(DVD)驱动器的光盘驱动器,固态驱动器(SSD)以及带式驱动器。计算机存储介质可以包括以用于信息存储的任意方法或技术所实施的易失性和非易失性、非瞬时、可移动和非可移动介质,上述信息诸如计算机可读指令、数据结构、程序模块或其它数据。
[0107]系统存储器720和存储设备741是计算机存储介质的示例。计算机存储介质包括但并不限于RAM、R0M、EEPR0M、闪存或其它存储器技术;CD_R0M、数字多功能盘(DVD)或其它光学存储;磁性卡盒、磁带、磁盘存储或其它磁性存储设备;
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1