在计算机生成的环境中的选择性显示的制作方法

文档序号:12304900阅读:130来源:国知局
在计算机生成的环境中的选择性显示的制作方法与工艺

本发明涉及计算机生成的虚拟环境的辅助探索,并且具体而言涉及管理与人口稠密的环境相关联的困难。



背景技术:

体数据集出现在很多领域中,例如工程设计、材料科学、医学成像、天体物理学。对体数据集的探索不是不重要的,常常需要广泛的知识且通常严重地被用户的特定需要影响。例如在大部分机场中,安全特工在行李检查的情境中处理这样的数据探索。x射线和断层摄影术是两种常用的荧光镜扫描系统。x射线系统提供扁平式2d行李扫描,而断层摄影系统产生也被称为切片的横向扫描。多亏诸如radon变换之类的数据处理技术,这些系统可以产生全3d扫描,其包括具有相对应的密度数据的一组体素。因为由此产生的x射线扫描图像只包含体素或像素密度,它不能显示原始材料颜色。标准颜色视觉绘制使用三种不同的颜色(橙色、绿色和蓝色)来显示数据密度。橙色对应于低密度(主要是有机物体)。相反,蓝色用于高密度值(即金属)。在x射线系统的情况下,绿色对应于不同种类的材料或平均密度材料的重叠。

图1展示物品可以在扫描中被掩盖的一些方式。如图1中所示,所显示的2d扫描图像可能遭受四个问题:

重叠:威胁(例如被禁物体如刀、切割器……)可以被掩蔽在密集的材料后面。有时可能使用功能(例如高穿透(增强的x射线功率)或图像处理(对比度提高))来看穿这个隐蔽的屏蔽物。如图1中所示,伞和在右上角101中的物体的密集集合可能掩盖感兴趣的物品。

位置:根据其在行李内部的位置,威胁可能难以检测到。位于角落中、边缘中或行李的框架内部的物体非常难以识别。如图1中所示,伸缩式推车杆(trolleybar)和箱体102的刚性角可能掩盖感兴趣的物体。

分离:掩饰威胁的另一种方式是分离它的部分并将它的部分散布在行李中(武器或炸药由很多单独的物体组成,如扳机、枪管……)。这个分离可能与其它掩饰技术组合。如图1中所示,存在很多显然难以描述的物体103,其不可能吸引特别的注意,但其可以被装配以形成一些感兴趣的物品。

诱惑物:所有恶意的个体可能使用诱惑物来隐藏真正的威胁。例如,较小的威胁(如小剪刀)可能是清晰地可见的并吸引安全特工的注意,而更重大的威胁保持被隐藏。如图1中所示,金属棒104可以吸引用户的注意,从而将用户的注意从某个较不可见的威胁引开。

利用直接体绘制技术的体数据探索在很多科学领域(医学成像、天体物理学)中和最近以来在行李安全中对在视觉上提取相关结构有极大帮助。为了利用这个知识提取,发展了很多技术。很多现有的基本技术在这个领域中是已知的,包括体可视化、传递函数、直接体素操纵和聚焦加情境交互。

具体而言,可以利用将数据变换成表示等值面的一组多变形的几何渲染系统来完成体可视化。轮廓树算法和其它替代方案(例如分支分解)通常用于找到这些等值面。轮廓树算法可能易受噪声影响,这可能在行李检查中是成问题的,因为密集材料(例如钢)通过反射x射线而引起噪声。

为了研究体数据集,可以使用传递函数(tf)。实际上,这用特定的颜色(包括其透明度)来绘制体素密度。传递函数可以是1、2或n维的,并且对隔离在体数据中的感兴趣结构有极大的帮助。多亏混色过程,适合的传递函数也可以显现等值面或隐藏密度以提高体数据可视化。

在诸如关于图1所述的环境中出现的特定困难是,用户对特定物品或感兴趣区域的视野常常被不感兴趣的材料掩盖。为了更好地观看感兴趣对象或区域,用户可能希望忽视特定这样的材料,以便实现改进的视野。



技术实现要素:

根据第一方面,提供了对在计算机生成的三维环境中具有预定空间关系的对象进行显示的方法,所述对象均与相应的元数据值相关联,所述元数据值定义其表示的所述对象的相应可见度,所述方法包括以下步骤:

在所述环境中定义在所述环境中具有规定位置、取向和视场的虚拟投影仪,

基于显示函数来确定虚拟投影仪的视场内的每个对象的显示阈值,其中显示函数与离所述虚拟投影仪的距离具有反比关系,并且其中所述显示函数进一步根据由虚拟投影仪的取向和从所述虚拟投影仪分别到每个对象绘制的线定义的角度而变化,以及

在所述视场中显示除不满足所述对象的相应所述显示阈值的那些对象以外的对象。

根据第一方面的发展,元数据表示相应对象的密度。

特定对象的选择性省略使用户能够更好且更快地理解环境的内容,其进而可以导致对系统容量的减小的要求。

根据第一方面的进一步发展,对象是体素。

根据第一方面的进一步发展,对象是多变形。

根据第一方面的进一步发展,对象由相交表面定义。

所描述的机构对任何三维表示的适用性使得它们与任何三维环境兼容,从而有助于采用最低可能的适应努力。

根据第一方面的进一步发展,显示函数反映关于离虚拟摄像机的距离的平方反比定律。通过反映物理过程,机构的性能更直观,进一步使用户能够更好且更快地理解环境的内容,这进而可以导致对系统容量的减小的要求。

根据第一方面的进一步发展,当由轴和每个对象定义的角度下降到零时,显示函数趋向于最大值。通过模仿常见工具,机构的性能更直观,进一步使用户能够更好且更快地理解环境的内容,这进而可以导致对系统容量的减小的要求。

根据第一方面的进一步发展,定义了多个候选显示函数,并且该方法包括选择候选显示函数用作显示函数的另外步骤。使用户能够指定显示函数或自动选择最佳函数使得应用不同的函数成为可能,并且选择给出最有用的结果的任何函数进一步使用户能够更好且更快地理解环境的内容,这进而可以导致对系统容量的减小的要求。

根据第一方面的进一步发展,显示函数包括缩放项,并且该方法包括接收确定缩放项的值的用户输入的另外步骤。使用户能够指定缩放项使得应用不同的缩放项成为可能,并且选择给出最有用的结果的任何函数进一步使用户能够更好且更快地理解环境的内容,这进而可以导致对系统容量的减小的要求。

根据第一方面的进一步发展,定义了在环境中具有规定位置、取向和视场的虚拟摄像机,其中该位置与虚拟投影仪的位置相同,并且虚拟摄像机的取向和视场达到与虚拟投影仪的视场重叠的程度,并且其中在显示的步骤,显示在所述虚拟摄像机的视场中的对象,不包括不满足它们的相应显示阈值的对象。

根据第一方面的进一步发展,提供了接收确定虚拟摄像机或虚拟投影仪的取向、位置或视场的用户输入的另外步骤。虚拟摄像机和虚拟投影仪的单独控制开辟对环境的探索和从不同的位置和视角对感兴趣元件的检查的新可能性,进一步使用户能够更好且更快地理解环境的内容,这进而可以导致对系统容量的减小的要求。

根据第一方面的进一步发展,虚拟摄像机的位置和所述虚拟投影仪的位置或所述虚拟摄像机的取向和所述虚拟投影仪的取向或所述虚拟摄像机的视场和所述虚拟投影仪的视场处于所定义的关系中,以使得关于虚拟摄像机的修改引起关于虚拟投影仪的对应修改。

根据第二方面,提供了适合于实施任何前述权利要求的方法的装置。

根据第三方面,提供了用于对在计算机生成的三维环境中具有预定空间关系的对象相对于在所述环境中具有规定位置、取向和视场的虚拟投影仪的显示进行管理的装置,所述对象均与相应的元数据值相关联,所述元数据值定义其表示的所述对象的相应可见度。

其中,该装置适合于确定虚拟投影仪的视场内的每个对象的显示阈值,其中显示函数与离虚拟投影仪的距离具有反比关系,并且其中显示函数进一步根据由虚拟投影仪的取向和从所述虚拟投影仪分别到每个所述对象绘制的线定义的角度而变化,并且其中该装置进一步适合于引起在所述视场中显示除不满足所述对象的相应所述显示阈值的那些对象以外的对象。

根据第四方面,提供了适合于执行第一方面的步骤的计算机程序。

附图说明

现在将参考附图描述本发明的上述和其它优点,其中:

图1展示物品可以在扫描中被掩盖的一些方式;

图2示出了根据实施例的方法;

图3示出了显示函数的特定几何方面的表示;

图4示出了特定实施例的显示函数的示意性图形表示;

图5示出了根据另外的实施例的方法;

图6a示出了显示函数的第一角强度分布;

图6b示出了显示函数的第二角强度分布;

图6c示出了显示函数的第三角强度分布;

图6d示出了显示函数的第四角强度分布;

图7a示出了实施例的应用的第一阶段;

图7b示出了实施例的应用的结果;

图8示出了在三维情境中的图7a和7b的实施例的扩展;

图9示出了实施例对真实图像的应用;

图10示出了适合于本发明的实施例的实施方式的一般计算系统;

图11示出了可适合于构成实施例的智能电话设备;

图12示出了可适合于构成实施例的对象扫描仪系统;以及

图13示出了可适合于构成实施例的身体扫描仪系统。

具体实施方式

图2示出了根据实施例的方法。更具体地,图2示出了对在计算机生成的三维(3d)环境(例如以上针对图2所述的环境)中具有预定空间关系的对象进行显示的方法的步骤。

可以用任何适合的术语(例如体素、多边形(例如在多边形网状结构中)、相交表面(例如nurbs表面或细分表面)或基于等式的表示)来定义三维环境。通过示例的方式,以下将从基于体素的环境方面描述特定实施例;然而,技术人员将认识到,所述实施例可适合于这些其它环境中的任何环境。

在这样的环境中,对象均与相应的元数据值相关联,元数据值可以用于定义其表示的所述对象的相应可见度。这个值可以直接定义对象在被显示时的不透明度或这样的亮度或颜色的一些其它可见度值,或可以反映由对象代表的真实物质的物理特性。例如,在对象代表例如参考图1所述的物理人工制品的部件的情况下,即在代表那些人工制品的扫描的情境中,元数据值可以代表所考虑的材料的密度,其继而可以在对象被显示时转换成不透明度、亮度等。

如图2中所示,该方法在继续进行到步骤210之前在步骤200开始,在步骤210,在环境中定义在所述环境中具有规定位置、取向和视场的虚拟投影仪。

该方法然后继续进行到步骤220:基于显示函数来确定所述虚拟投影仪的视场内的每个对象的显示阈值,其中显示函数与离虚拟投影仪的距离具有反比关系,并且其中显示函数进一步根据由虚拟投影仪的取向和从所述虚拟投影仪分别到每个对象绘制的线定义的角度而变化。

该方法然后继续进行到步骤230,在步骤230,在该方法终止于步骤240之前,显示所述视场中的对象,不包括不满足相应的显示阈值的那些对象。

显示函数的定义将清楚地对被选择显示的最终对象有显著影响。

图3示出了显示函数的特定几何方面的表示。如图3中所示,提供了由三个轴x、y、z表示的计算机生成的三维环境300。虚拟投影仪310由在环境中的规定位置x、y、z、取向320和视场φ定义。对象330位于相对于虚拟投影仪的距离d处和相对于虚拟投影仪的取向320的角θ处。如上所述,显示函数与离所述虚拟投影仪的距离d具有反比关系,并且进一步根据由虚拟投影仪的取向和从虚拟投影仪310到每个对象330绘制的线320定义的角度而变化。

图4示出了特定实施例的显示函数的示意性图形表示。如上所述,显示函数与离所述虚拟投影仪的距离d具有反比关系,并且进一步根据由虚拟投影仪的取向和从虚拟投影仪310到每个对象330绘制的线320定义的角度而变化。如此,可以从绘制在定义显示阈值时使用的因素与在对象330和虚拟投影仪310之间的不同可能的距离d的关系的一系列曲线方面考虑显示函数,曲线针对在虚拟投影仪的取向和从虚拟投影仪310到对象330绘制的线320之间的每个可能的角θ而被定义。图4示出了第一条这样的曲线410,其为了当前示例的目的可以代表在相对于虚拟投影仪310的取向的30℃角下在显示阈值和距离d之间的关系,该角可以对应于视场φ——对象可以相对于虚拟投影仪而定义并仍然受限于显示阈值的最大角度。图4示出了第二条这样的曲线420,其为了当前示例的目的可以代表在相对于虚拟投影仪310的取向的0℃角下在显示阈值和距离d之间的关系,该角是对象可以相对于虚拟投影仪310而定义的最小角度。如此,该系列的其余曲线将位于第一和第二曲线410、420之间,这些曲线可以是对应于其它角的任何数量,包括如下讨论的无限数量。如所示的,第一曲线410位于第二曲线420的右边,指示在给定距离d处,显示器411的阈值在投影仪的视场的周围将比在投影仪的视场的中心的显示器421的阈值更低,从而使通常在图4中表示的显示函数将倾向于从在更侵略性地接近视场中心的显示中排除对象。

因此,当由轴和每个所述对象定义的角度下降到零时,显示函数可能倾向于最大值。

可以想象,在曲线410、420之间的中间曲线可以展示这些曲线的连续中间变型。如所示的,曲线410、410类似于从在离虚拟投影仪的较短距离处的最大值下降并在距离值变得更大时接近零的指数函数,从而使通常在图4中表示的显示函数将倾向于从在更侵略性地接近虚拟投影仪附近的显示中排除对象。

例如,显示函数可以反映相对于离虚拟摄像机的距离的平方反比定律。

将认识到,尽管参考图4将显示函数描述为对应于特定角度的一组离散曲线,也可以根据为d和θ的所有可能值提供显示阈值的连续函数来定义显示函数。

图5示出了根据另外的实施例的方法。图5的方法是将更详细的步骤表示为实施图2的实施例的一种可能方式的方法。

如所示的,该方法在继续进行到步骤510之前在步骤500开始,在步骤510,在环境中定义在所述环境中具有规定位置、取向和视场的虚拟投影仪。该方法然后继续进行到步骤520,在步骤520确定虚拟投影仪的视场是否包含任何对象。如果虚拟投影仪的视场不包含对象,则该方法在步骤580终止。在其它情况下,在步骤520选择视场中的对象之一。可以在任何基础上(例如其可以离虚拟投影仪最近或最远)选择对象。该方法然后继续进行到步骤530,在步骤530确定选定对象离虚拟投影仪的距离d和相对于虚拟投影仪的角度θ。该方法然后继续进行到步骤540,在步骤540确定对应于在步骤530估计的角度和距离值的显示阈值。在步骤550,将所选择的对象的元数据值与显示阈值进行比较,并且在对象的元数据值超过显示阈值的情况下,该方法继续进行到步骤551,在步骤551对象被标记以用于显示,或在对象的元数据值不超过显示阈值的其它情况下,该方法继续进行到步骤552,在步骤552对象被标记为从显示中排除。在一些情况下,元数据值等于显示阈值也许是可能的,在这种情况下,该方法将分类以用于显示,或不分类,如适合于特定实施方式。在该方法通过步骤551或552之后,该方法返回到步骤560,在步骤560确定虚拟投影仪的视场中的任何对象是否还未相对于显示阈值进行评估。在这个步骤,在视场中的对象组可以扩展,因为现在被标记为从显示中排除的对象可以被忽略,这可以将新对象暴露为候选物以用于显示。在一个或多个对象保留在还未进行评估的虚拟投影仪的视场中的情况下,该方法在重返到步骤530之前在步骤561选择新的当前未标记的对象。在其它情况下,如果在虚拟投影仪的视场中的所有对象已被评估,则该方法继续进行到步骤570,在步骤570,在该方法终止于步骤580之前,向用户显示视场中的对象(由于从显示中排除而未被标记)。将认识到,如本文所使用的术语“标记”并不暗示任何特定的数据结构或记录机构,仅特定对象的状态以某种方式被标记、记录或表示。在这个意义上,对象可以被当作为以一种方式或另一方式隐含地标记,例如因缺少具有替代含义的标签。当该方法要求显现因排除而未被标记的对象时,其可以同样要求显现被标记为用于显示的标签。

在考虑图3和图4时,将显而易见的是,显示阈值的性能是以类似于手电筒或闪光灯的一些方式。进行这个类比,考虑显示函数的角度方面可能是有帮助的。

图6示出了显示函数的四个可能的角强度分布。在每种情况下,示出了极坐标图,其中径向坐标表示在离虚拟投影仪的特定距离处的最大阈值的百分比,并且角坐标对应于在虚拟投影仪的取向和从虚拟投影仪310到对象330绘制的线320之间的角θ。

图6a示出了显示函数的第一角强度分布。如所示的,显示函数角强度分布601大体上描述圆,其中100%的显示函数在0度时生效,在60度时下降到50%,并且在90度时为0%。

图6b示出了显示函数的第二角强度分布。如所示的,显示函数角强度分布602大体上描述椭圆,其中100%的显示函数在0度时生效,在30度时下降到50%,并且在90度时为0%。结果因此是更聚焦的光束。

虽然图6a和图6b类似于可以根据真实手电筒或闪光灯预期的角强度分布的类型,但将认识到可以定义任何任意的形式。

图6c示出了显示函数的第三角强度分布。如所示的,显示函数角强度分布603大体上描述关于0度线对称的不规则五边形,其中100%的显示函数从-27度经过0度到+27度生效,在65度时下降到65%,并且对于超过65的角度为0%。结果是在定义的角度之外没有色散的光束,定义的角度可以常规地联系到虚拟投影仪的有限视场,虽然虚拟投影仪也可能有非常宽的或甚至球形视场,或对于比虚拟投影仪的视场更宽的角强度分布,较宽的角度仅不在显示函数计算中使用。

图6d示出了显示函数的第四角强度分布。如所示的,显示函数角强度分布604描述阶梯函数,其将显示函数设置为从-5度经过0度到+5度生效,在-15度和-5度之间以及在+5度和15度之间下降到80%,在-25度和-15度之间以及在+15度和25度之间下降到50%,并且对于在25度之外的角度为0。结果是在定义的角度之外没有色散的光束,定义的角度可以常规地联系到虚拟投影仪的有限视场,虽然虚拟投影仪也可能有非常宽的或甚至球形视场,或对于比虚拟投影仪的视场更宽的角强度分布,较宽的角度仅不在显示函数计算中使用。

将认识到,虽然图6示出了在一个维度上对应于弧度的角强度分布,所述实施例可以轻易地扩展到对应于圆锥体的二维分布,如图3的示例的情境中所需的。如以下更详细讨论的,将认识到,在不同的平面中的分布可以是不同的。

图7基于图5的方法和图6d的角强度分布来示出工作示例。

为了当前示例的目的,在0度处的显示阈值被取为1/d2,以及在其它角度,阈值根据图6d而进行修改。

图7a示出了实施例的应用的第一阶段。如图7a中所示,提供了在6乘9阵列中的54个对象。虚拟投影仪710被提供有50度的视场711。如图7a中所示,对象721、722、723、724和725定义最接近虚拟投影仪的视场中的第一行对象,对象731、732、733、734和735定义视场中的第二行对象,对象741、742、743、744和745定义视场中的第三行对象,751、752、753、754、755、756和757定义视场中的第四行对象,761、762、763、764、765、766和767定义视场中的第五行对象,并且771、772、773、774、775、776、777、778和779定义视场中的第六最远行的对象。根据图5的方法,这些行中的每行被依次考虑。在以下表中陈述每个对象的距离和角度值。此外指示每个对象的显示阈值的值,如通过使1/d2的值乘以对应于如从图6d得到的角度范围的强度所确定的。每个单元的实际强度值被规定,并且在实际强度满足或超过阈值的情况下,最后一列指示对象被标记以用于显示。

图7b示出了实施例的应用的结果。如图7b中所示,对象721、722、723、724、725、731、732、733、734、735、741、742、743、744、745、751、752、753、754、755、756、757、761、762、763、764、765、766、767、771、772、773、774、775、776、777、778和779与不在投影仪的视场中的周围对象隔离。参考图7a被确定为满足或超过显示阈值的对象保留它们的阴影,而不满足显示阈值的单元没有阴影。相应地,当对象被显示给用户时,他将能够看透这组对象一直到较密集的对象组774、775、776,其通常被周围的对象埋藏而看不见。

虽然为了简单起见在对象的二维矩阵的情境中描述了图7a和图7b,但将认识到,可以针对三维矩阵执行相同的练习。

图8示出了在三维情境中的图7的实施例的扩展。示出了具有取向820的虚拟投影仪810的位置。示出了对象830的9×9×9矩阵,其中靠近取向轴820的多个对象从显示中排除。在与轴820相交的水平面中和与轴820相交的垂直面中显示的对象对应于在图7b中被保留以用于显示的对象。其它对象在与那些对象和轴820相交的平面中基于显示函数的旋转应用从显示中被排除。

将认识到,显示函数可以确定不同平面中的不同阈值。在图8中,示出了与正交于轴820的极坐标轴相关联的虚拟投影仪810。与轴820相交的水平面和与轴820相交的垂直面分别成90度和0度,并且其它平面可以被定义为相对于这些极坐标轴的任何任意角在这个基础上,显示函数可以包括附加的角分量以使得函数不需要是旋转对称的。

还进一步地,传递函数不需要被定义为连续函数,但更确切地作为一组离散阈值。

将认识到,可以定义多个候选显示阈值,其可以实施为如上陈述的显示函数的定义提出的不同变化的任何组合,或其它情况。例如,相应的候选显示函数可以实施例如关于图6所述的不同的角强度分布、例如在指数衰减、多项式曲线等的基础上的距离变量的不同处理、如关于图7所述的在不同平面中的不同阈值等等。候选显示函数可以实施这些不同变量的任何组合,并且可以支持这些变量的单独选择。这些不同的变量可以与不同的权重组合,以使得可以调节对结果的每个影响。具体而言,距离变量可受限于缩放项,对阈值有倍增的影响,以使得或多或少地渗入虚拟投影仪的影响。

相应地,可以提供另外的方法步骤,其接收将候选显示函数规定为所述显示函数的用户输入,例如缩放项或任何显示函数特征或显示函数特征的任何组合。

此外,可以提供另外的方法步骤:基于适合的预定标准自动选择候选显示函数用作所述显示函数,例如缩放项或任何显示函数特征或显示函数特征的任何组合。例如,该方法可以试图识别位于虚拟投影仪的视场内的相干对象,并且选择倾向于使任何这样的对象变得完全可见或完全被掩盖并且因此倾向于最小化部分对象的显示的显示函数。

相应地,可以提供选择候选显示函数用作所述显示函数的另外的方法步骤。

一般说来,被选择为在三维环境中显示的对象由虚拟摄像机的位置、取向和视场确定。在先前的描述中,为了简单起见,假设虚拟摄像机设置将不影响虚拟投影仪效果的实施方式,例如其中虚拟摄像机的位置与虚拟投影仪的位置相同,虚拟摄像机的取向与虚拟投影仪的取向对齐,并且虚拟摄像机的视场宽于或等于虚拟投影仪的视场。如此,虚拟摄像机的位置和虚拟投影仪的位置,或所述虚拟摄像机的取向和所述虚拟投影仪的取向,或所述虚拟摄像机的视场和所述虚拟投影仪的视场可以成所定义的关系,以使得关于虚拟摄像机的修改引起关于虚拟投影仪的对应修改。

因此,虚拟投影仪和虚拟摄像机可以被锁定在一起,从而使向用户显示的表示的中心受到虚拟投影仪的影响,当用户移动虚拟摄像机时,虚拟投影仪跨环境扫描。

然而,可以设想从该布置的很多背离。虚拟摄像机和虚拟投影仪的位置、取向和视场中的任一个、所有或没有一个可以被锁定在一起。在一些情况下,其中的两个可以是完全独立的。在虚拟投影仪和虚拟摄像机之间的独立程度使得投影仪的视场影响在虚拟摄像机的视场之外的对象的情况下,可以例如在图5的步骤520之前提供确定投影仪是否影响在虚拟摄像机的视场之外的任何对象以及如果是则从开始起从显示中排除这些对象的附加步骤。相应地,在显示的步骤,显示在所述虚拟摄像机的视场中的对象,不包括不满足相应的所述显示阈值的那些对象。

相应地,此外可以提供接收确定所述虚拟摄像机或所述虚拟投影仪的取向、位置或视场或这些的任何组合的用户输入的附加步骤。

还将认识到,可以定义在相同环境中具有各种位置、取向和视场设置的如上所述的多个虚拟投影仪。

图9示出了实施例对真实图像的应用。

图9示出了在与关于图1所述的情境类似的情境中的手提箱901的一部分。虽然通常显示掩盖手提箱的内含物的手提箱的外皮,但在对应于虚拟投影仪的视场的圆圈902内,用户的视野以关于前述实施例所述的方式穿透手提箱的内含物,显现在其它情况下将不可见的瓶体903。用户可以使对应于虚拟投影仪的视场的圆圈902在手提箱的表面之上移动,以便审查其内含物,而没有对象作为整体被危害的相干性。通过这个手段,用户保留对手提箱中的对象和它们的情境之间的相互关系的强烈直观的理解。在这个特定的情况下,虚拟投影仪(未示出)在与虚拟摄像机离手提箱相同的距离处且以与虚拟摄像机相同的取向被固定在平面中,但可以由用户或自动地在那个平面周围移动以使得虚拟摄像机的视场中的不同区变得可见。用户还可以选择不同的显示函数,并且具体而言改变距离缩放项,以便显示手提箱的更深或更浅的部分。

相应地,为了更好地探索由可以是体素的对象组成的虚拟3d计算机生成的环境,多边形或任何其它构造选择性地不被显示,以便更好地显现下层对象。对象均与元数据值相关联,元数据值有助于确定它们的可见度,例如密度或不透明度值。选择的方式在某些程度上类似于光束从虚拟投影仪朝向对象的投影,其中基于显示函数为所述虚拟投影仪的视场内的每个对象确定显示阈值,所述显示函数与离虚拟投影仪的距离具有反比关系,并且进一步根据由虚拟投影仪的取向和从所述虚拟投影仪分别到每个所述对象绘制的线定义的角度而变化。在这个基础上,将优先从显示中排除具有离虚拟投影仪的轴的较小角分离并更接近投影仪的对象。

所公开的方法可以采取完全硬件的实施例(例如fpga)和完全软件的实施例(例如以控制根据本发明的系统)或包含硬件和软件元件的实施例的形式。如此,实施例可以包括适合于相互结合和/或利用例如如下所述的标准固定函数或可编程元件来实施本发明的多个子系统、功能元件或模块。

在这个基础上,提供了用于管理具有计算机生成的三维环境中的预定空间关系的对象相对于具有所述环境中的规定位置、取向和视场的虚拟投影仪的显示的装置,所述对象均与相应的元数据值相关联,所述元数据值定义其表示的所述对象的相应可见度。装置还适合于确定虚拟投影仪的视场内的每个对象的显示阈值,其中所述显示函数与离虚拟投影仪的距离具有反比关系,并且其中所述显示函数进一步根据由虚拟投影仪的取向和从所述虚拟投影仪分别到每个对象绘制的线定义的角度而变化,并且其中所述装置进一步适合于引起在所述视场中显示除不满足所述对象的相应所述显示阈值的那些对象以外的对象。

类似地,提供了适合于例如参考图2或图5执行上述方法中的任何方法的步骤的装置。

软件实施例包括但不限于应用、固件、常驻软件、微代码等。本发明可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,计算机可用或计算机可读介质提供程序代码以通过计算机或指令执行系统使用或结合计算机或指令执行系统使用。

计算机可用或计算机可读介质可以是可以包含、存储、传递、传播或传送程序以通过指令执行系统、装置或设备使用或结合指令执行系统、装置或设备使用的任何装置。介质可以是电子、磁性、光学、电磁、红外或半导体系统(或装置或设备)或传播介质。

在一些实施例中,本文中所述的方法和过程可以全部或部分地由用户设备实施。这些方法和过程可以由计算机应用程序或服务、应用编程接口(api)、库和/或其它计算机程序产品或这样的实体的任何组合来实施。

用户设备可以是移动设备,例如智能电话或平板电脑、无人驾驶飞机、计算机或具有处理能力的任何其它设备,例如机器人或其它连接的设备。

图10示出了适合于本发明的实施例的实施方式的一般计算系统。

如图10中所示,系统包括逻辑设备1001和存储设备1002。系统可以可选地包括显示子系统1011、输入/输出子系统1003、通信子系统1020和/或未示出的其它部件。

逻辑设备1001包括被配置为执行指令的一个或多个物理设备。例如,逻辑设备1001可以被配置为执行指令,所述指令为一个或多个应用、服务、程序、例程、库、对象、部件、数据结构或其它逻辑构造的部分。这样的指令可被实施为执行任务、实施数据类型、变换一个或多个部件的状态、实现技术效果或在其它情况下达到期望结果。

逻辑设备1001可以包括被配置为执行软件指令的一个或多个处理器。另外地或替代地,逻辑设备可以包括被配置为执行硬件或固件指令的一个或多个硬件或固件逻辑设备。逻辑设备的处理器可以是单核或多核,并且在其上执行的指令可以被配置为连续、并行和/或分布式处理。逻辑设备1001的单独部件可选地可以分布在可以远程地定位和/或配置用于经协调的处理的两个或更多个单独的设备当中。逻辑设备1001的方面可以由在云计算配置中配置的远程可访问的联网计算设备进行虚拟化和执行。

存储设备1002包括被配置为保持可由逻辑设备执行的指令以实施本文中所述的方法和过程的一个或多个物理设备。当这样的方法和过程被实施时,可以变换存储设备1002的状态以例如保持不同的数据。

存储设备1002可以包括可移动设备和/或内置设备。存储设备可以本地或远程地存储(在例如云中)。存储设备602可以包括一种或多种类型的存储设备,其包括光学存储器(例如cd、dvd、hd-dvd、蓝光盘等)、半导体存储器(例如flash、ram、eprom、eeprom等)和/或磁性存储器(例如硬盘驱动器、软盘驱动器、磁带驱动器、mram等)连同其它存储器。存储设备可以包括易失性、非易失性、动态、静态、读/写、只读、随机存取、连续存取、位置可寻址、文件可寻址和/或内容可寻址的设备。

在特定布置中,系统可以包括适合于支持逻辑设备1001与另外的系统部件之间的通信的接口1003。例如,附加的系统部件可以包括可移动设备和/或内置扩展存储设备。扩展存储设备可以包括一种或多种类型的存储设备,其包括光学存储器1032(例如cd、dvd、hd-dvd、蓝光盘等)、半导体存储器(未示出)(例如ram、eprom、eeprom、flash等)和/或磁性存储器1031(例如硬盘驱动器、软盘驱动器、磁带驱动器、mram等)连同其它存储器。这样的扩展存储设备可以包括易失性、非易失性、动态、静态、读/写、只读、随机存取、连续存取、位置可寻址、文件可寻址和/或内容可寻址的设备。

将认识到,存储设备包括一个或多个物理设备,并且本质上不包括传播信号。然而,本文中所述的指令的方面替代地可以由通信介质(例如电磁信号、光信号等)传播,与存储在存储设备上相反。

逻辑设备1001和存储设备1002的方面可以一起集成到一个或多个硬件逻辑部件内。这样的逻辑部件可以包括例如现场可编程门阵列(fpga)、程序或应用特定集成电路(pasic/asic)、程序或应用特定标准产品(pssp/assp)、片上系统(soc)和复杂可编程逻辑设备(cpld)。

术语“程序”可以用于描述被实施为执行特定的功能的计算系统的方面。在一些情况下,程序可以经由执行由存储设备保持的机器可读指令的逻辑设备来例示。将理解,可以根据相同的应用、服务、代码块、对象、库、例程、api、函数等来例示不同的模块。同样,可以由不同的应用、服务、代码块、对象、库、例程、api、函数等来例示相同的程序。术语“程序”可以包含单独的可执行文件、数据文件、库、驱动器、脚本、数据库记录等或这些项的组。

具体而言,图10的系统可以用于实施本发明的实施例。

例如,实施关于图2或图5所述的步骤的程序可以存储在存储设备1002中并由逻辑设备1001执行。用于创建对象的图形表示及其相关联的标量元数据的数据可以存储在存储设备1002或扩展存储设备1032或1031和用于显示图形表示的显示器1011中。

在一些情况下,计算系统可以包括扫描仪1080或如上所述的其它三维成像系统或与扫描仪1080或如上所述的其它三维成像系统进行通信。该通信可以按需要由有线或无线网络、串行总线、firewire、thunderbolt、scsi或任何其它通信模块实现。在这样的情况下,用于扫描仪1080的控制和/或从其检索数据的程序可以同时在逻辑设备1001上运行,或这些特征可以在与实施关于图2或5所述的步骤相同的程序中实施。

相应地,可以以计算机程序的形式来体现本发明。

此外,当被适当地配置和连接时,图10的元件可以构成适合于生成数据集的图形表示并使显示设备显示所述表示的装置;该装置还可以适合于从眼跟踪系统接收指示注视点(pointofregard)的数据。该装置可以包括用于在持续时间内编译注视点的记录的存储器,并且该装置还可以适合于修改图形表示以指示所述注视点指向在所述表示中的每个点时的持续时间的比例。如上所述,这个注视点然后可以被选定点和/或光标同化。

将认识到,如本文中使用的“服务”是跨多个用户会话可执行的应用程序。服务可以可用于一个或多个系统部件、程序和/或其它服务。在一些实施方式中,服务可以在一个或多个服务器计算设备上运行。

当被包括时,显示子系统1011可以用于显现由存储设备保持的数据的视觉表示。这个视觉表示可以采取图形用户界面(gui)的形式。如在本文中所述的,方法和过程改变由存储设备1002保持的数据,并因此变换存储设备1002的状态,显示子系统1011的状态同样可以变换以在视觉上表示基础数据中的变化。显示子系统1011可以包括在视觉上利用例如如上讨论的任何类型的技术的一个或多个显示设备。这样的显示设备可以与共用外壳中的逻辑设备和/或存储设备组合,或这样的设备可以是外围显示设备。

当被包括时,输入子系统可以包括一个或多个用户输入设备(例如键盘1012、鼠标1013、触摸屏1011或游戏控制器(未示出))或与这些设备进行接口连接。在一些实施例中,输入子系统可以包括选定的自然用户输入(nui)部件或与选定的自然用户输入(nui)部件进行接口连接。这样的部件可以是集成的或外围的,并且输入动作的转换和/或处理可以在板上或板外进行操纵。示例nui部件可以包括用于语音和/或声音识别的麦克风;用于机器视觉和/或手势识别的红外、彩色、立体声和/或深度摄像机;用于运动检测和/或意图识别的头跟踪器、眼跟踪器、加速度计和/或陀螺仪;以及用于评估脑部活动的电场感测部件。

当被包括时,通信子系统1020可以被配置为将计算系统与一个或多个其它计算设备通信地耦合。例如,通信模块可以经由任何尺寸的网络(包括例如个域网、局域网、广域网或互联网)将计算设备通信地耦合到例如在远程服务器1076上托管的远程服务。通信子系统可以包括与一个或多个不同的通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统可以被配置为经由无线电话网络1074或有线或无线局域网或广域网进行通信。在一些实施例中,通信子系统可以允许计算系统经由网络(例如互联网1075)将消息发送到其它设备和/或从其它设备接收消息。另外,通信子系统可以支持与无源或有源设备(nfc、rfid等)的短距离感应通信。

图10的系统旨在反映不同类型的信息操纵系统的广泛范围。将认识到,关于图10所述的很多子系统和特征对于本发明的实施方式是不需要的,但被包括以反映根据本发明的可能的系统。将认识到,系统架构广泛地变化,并且在图10的不同子系统之间的关系仅仅是示意性的,并且可能在系统中的作用的布局和分布方面变化。将认识到,实际上,系统可能合并关于图10所述的各种特征和子系统的不同子集。图11、12和13公开了根据本发明的另外的示例设备。本领域中的普通技术人员将认识到,可以在未来采用也根据本发明进行操作的系统。

图11示出了可适合于构成实施例的智能电话设备。如图11中所示的,智能电话设备包含如上所述的元件1001、1002、1003、1020、近场通信接口1121、闪速存储器1133、元件1014、1015和1011。其经由网络1075与电话网络1174和服务器1076通信。还可以使用替代的通信机构,例如专用网络或wi-fi。设备还可以与扫描仪设备1080通信。在这个图中公开的特征也可以包括在平板设备内。

图12示出了可适合于构成实施例的对象扫描仪系统。这表示在机场等中用于扫描行李和其它物品以找出隐藏的武器或违禁品的设备。如图12中所示,对象扫描仪系统包括如上所述的元件1001、1002、1003、1020、1014和1017。其可以经由网络1075与服务器1076通信。还可以使用替代的通信机构,例如专用网络或wi-fi。设备还与扫描仪硬件1080通信。

图13示出了可适合于构成实施例的身体扫描仪系统。这表示在机场、火车站等中用于扫描个体以找出隐藏的武器或违禁品的设备。如图13中所示,对象扫描仪系统包括如上所述的元件1001、1002、1003、1020、1014和1017。其可以经由网络1075与服务器1076通信。还可以使用替代的通信机构,例如专用网络或wi-fi。设备还与扫描仪硬件1080通信。

将理解,本文中所述的配置和/或方法在本质上是示例性的,并且这些特定的实施方式或示例并不在限制性意义上考虑,因为很多变化是可能的。本文中所述的特定例程或方法可以代表任何数量的处理策略中的一个或多个。如此,所示和/或所述的各种作用可以按所示和/或所述的顺序、以其它顺序、并行地执行或被省略。同样,上述过程的顺序可以改变。

本公开内容的客体包括各种过程、系统和配置的所有新颖和非显而易见的组合和子组合以及本文中公开的其它特征、功能、作用和/或特性以及其任何和所有等效形式。

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