一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用旋转手势输入来搜索图像的方法与流程

2022-06-22 21:10:53 来源:中国专利 TAG:


1.本公开涉及图像搜索,并且更具体地涉及使用旋转手势输入来搜索图像。


背景技术:

2.显示设备可以以二维(“2d”)方式或三维(“3d”)方式显示对象。如果对象以2d方式显示(例如,如在汽车的平面照片中),则计算系统缺少将对象的视图改变成不同角度视角所需的信息。然而,可在二维显示设备上以各种不同角度朝向或视角观看以3d方式显示的对象。例如,计算机辅助设计(“cad”)程序允许用户旋转对象的立体(或线框)表示以从不同的角度视角观看对象。对象的3d模型包括附加信息(例如,x、y和z轴信息),该附加信息允许程序在每次用户请求视角改变时重新生成对象的新图像。然而,在以2d方式观看对象的情况下,旋转手势(或其他形式的用户输入)将不会导致该对象的不同观看角度。因此,用户不能提供输入来改变2d图像的旋转观看视角。因此,在本领域中需要解决上述问题。


技术实现要素:

3.从第一方面看,本发明提供一种搜索图像的方法,该方法包括:识别二维基准图像中的基准对象;基于基准对象的至少一个属性确定基准对象的三维基准取向轴;接收请求改变所述基准对象的三维透视图的输入;基于所述输入和所述基准取向轴确定新取向轴;对一组二维图像执行搜索查询,所述搜索查询基于所述新取向轴和所述基准对象的所述至少一个属性;以及显示基于与所述新取向轴的相关性以及所述基准对象的所述至少一个属性进行排名的图像搜索结果。
4.从另一个方面看,本发明提供一种计算机系统,包括:计算机可读存储介质,具有存储在所述计算机可读存储介质上的程序指令;以及一个或多个处理器,被配置为执行所述程序指令以执行一种方法,所述方法包括:识别二维基准图像中的基准对象;基于所述基准对象的至少一个属性确定所述基准对象的三维基准取向轴;接收请求改变所述基准对象的三维透视图的输入;基于所述输入和所述基准取向轴确定新取向轴;对一组二维图像执行搜索查询,所述搜索查询基于所述新取向轴和所述基准对象的所述至少一个属性;以及显示基于与所述新取向轴的相关性以及所述基准对象的所述至少一个属性进行排名的图像搜索结果。
5.从另一方面看,本发明提供了一种用于搜索图像的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并且存储用于由该处理电路运行以便执行一种用于执行本发明的步骤的方法的指令。
6.从另一方面看,本发明提供一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,该计算机程序包括软件代码部分,当所述程序在计算机上运行时用于执行本发明的步骤。
7.从另一方面看,本发明提供了一种用于实现搜索图像的方法的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有与其一起实施的
程序指令,该程序指令可由至少一个计算机处理器执行以使计算机处理器:识别二维基准图像中的基准对象;基于所述基准对象的至少一个属性来确定所述基准对象的三维基准取向轴;接收请求改变所述基准对象的三维透视图的输入;基于所述输入和所述基准取向轴确定新取向轴;对一组二维图像执行搜索查询,所述搜索查询基于所述新取向轴和所述基准对象的所述至少一个属性;以及显示基于与所述新取向轴的相关性以及所述基准对象的所述至少一个属性进行排名的图像搜索结果。
8.本公开的实施例涉及一种搜索图像的方法。所述方法包括识别二维基准图像中的对象。该方法包括基于所述对象的至少一个属性确定所述对象的三维基准取向轴。该方法包括接收请求改变所述对象的三维透视图的输入。所述方法进一步包含基于所述输入和所述基准取向轴确定新取向轴。所述方法包含对一组二维图像执行搜索查询,其中所述搜索查询基于所述新取向轴和所述对象的至少一个属性。该方法还包括显示基于与新取向轴的相关性和所述对象的所述属性进行排名的图像搜索结果。
9.本公开的其他实施例涉及用于执行该方法的计算机系统和计算机程序产品。
10.以上概述并不旨在描述本公开的每个例示实施例或每个实施方式。
附图说明
11.本技术包括的附图被结合到说明书中并且形成说明书的一部分。它们示出了本公开的实施例,并且与说明一起解释本公开的原理。附图仅例示某些实施例,而并不限制本公开。
12.图1示出了根据实施例的处理系统的框图。
13.图2是根据各实施例的具有一个或多个计算节点的说明性云计算环境的框图,云客户使用的本地计算设备与所述一个或多个计算节点通信。
14.图3是根据实施例的由云计算环境提供的一组功能抽象层的框图。
15.图4是根据实施例的图像搜索方法的流程图。
16.图5a和图5b示出了根据实施例的以两个不同视觉取向显示的对象的示例。
17.图6示出了根据实施例的对象和用户的旋转手势的示例。
18.图7示出了根据实施例的对象和指示图像搜索结果中的可用视点的球形模型的示例。
19.图8示出了根据一个实施例的球形模型的示例,该球形模型指示在图像搜索结果中的可用视点并且指示可用图像与基准图像之间的相关程度。
具体实施方式
20.图像搜索引擎不基于图像中的对象的特定观看角度来提供2d图像结果,并且不允许用户指定用于观看的特定角度。然而,期望能够从不同角度观看某些对象作为2d图像,其中这样的对象不总是有利于由3d图像模型表示。
21.本文描述的实施例提供使用户能够输入2d图像中的对象的视点的期望改变并且接收表示期望视点的2d图像搜索结果的系统、方法和计算机程序产品。此外,本文描述的实施例使得能够基于从特定视角查看特定对象的用户需求来众包用于缺失视点的新图像。
22.现在参考附图,其中相同的数字表示相同或相似的元件,并且首先参考图1,根据
一个实施例示出可以应用本实施例的示例性处理系统100。处理系统100包括经由系统总线102可操作地耦合到其他组件的至少一个处理器(cpu)104。高速缓存106、只读存储器(rom)108、随机存取存储器(ram)110、输入/输出(i/o)适配器120、声音适配器130、网络适配器140、用户接口适配器150和显示适配器160可操作地耦合到系统总线102。
23.第一存储设备122和第二存储设备124通过i/o适配器120可操作地耦合到系统总线102。存储设备122和124可以是盘存储设备(例如,磁盘或光盘存储设备)、固态磁设备等中的任何存储设备。存储设备122和124可以是相同类型的存储设备或不同类型的存储设备。
24.扬声器132通过声音适配器130可操作地耦合到系统总线102。收发器142通过网络适配器140可操作地耦接至系统总线102。显示设备162通过显示适配器160可操作地耦合到系统总线102。
25.第一用户输入设备152、第二用户输入设备154和第三用户输入设备156通过用户接口适配器150可操作地耦合到系统总线102。用户输入装置152、154和156可为键盘、鼠标、小键盘、图像捕捉设备、运动感测设备、麦克风、并入前述装置中的至少两个的功能的设备中的任一种,或任何其他合适类型的输入设备。用户输入设备152、154和156可以是相同类型的用户输入设备或不同类型的用户输入设备。用户输入设备152、154和156用于向系统100输入信息和从系统100输出信息。
26.图像分析组件172可操作地耦合到系统总线102。图像分析组件172(或引擎)基于对图像执行的图像分析、图像处理、计量、边缘检测、对象检测、分类等来识别图像中的对象。图像分析组件172被配置成基于对象的许多不同属性来识别各种不同对象。对象的属性可基于颜色、模型、对象的类型、对象的形状、对象的大小等来识别。此外,使用相关的图像分类技术,基于所识别的属性对图像对象进行分类。
27.图像搜索引擎组件174操作性地耦合到系统总线102。图像搜索引擎组件174基于关键词、图片、到图片的web链接、图像元数据、颜色的分布、形状、旋转视点等来搜索图像。
28.处理系统100还可包含如所属领域的技术人员容易想到的其他元件(未示出),以及省略某些元件。例如,如本领域普通技术人员容易想到的,取决于处理系统100的特定实现,各种其他输入设备和/或输出设备可以被包括在处理系统100中。例如,可以使用不同类型的无线和/或有线输入和/或输出设备。此外,还可以利用不同配置中的附加处理器、控制器、存储器等,如本领域普通技术人员容易想到的。给定本文所提供的本公开的教导,本领域的普通技术人员容易想到处理系统100的这些和其他变型。
29.应当理解,虽然本公开包括云计算的详细描述,但是本文记载的教导的实现不限于云计算环境。相反,本公开的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
30.云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供者的交互来快速供应和释放。
31.云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
32.现在参见图2,描述了说明性云计算环境250。如图所示,云计算环境250包括一个
或多个云计算节点210,云消费者使用的本地计算设备(诸如例如个人数字助理(pda)或蜂窝电话254a、台式计算机254b、膝上型计算机254c和/或汽车计算机系统254n)可与云计算节点210通信。节点210可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境250提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图2所示的类型的计算设备254a-n仅旨在是说明性的,并且计算节点210和云计算环境250可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
33.现在参见图3,示出了由云计算环境250(图2)提供的一组功能抽象层。应提前理解,图3中所示的组件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如所描述,提供以下层和对应功能:
34.硬件和软件层360包括硬件和软件组件。硬件组件的示例包括:主机361;基于risc(精简指令集计算机)架构的服务器362;服务器363;刀片式服务器364;存储设备365;以及网络和联网组件366。在一些实施例中,软件组件包括网络应用服务器软件367和数据库软件368。
35.虚拟化层370提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器371;虚拟存储器372;虚拟网络373,包括虚拟专用网络;虚拟应用和操作系统374;以及虚拟客户端375。
36.在一个示例中,管理层380可以提供以下描述的功能。资源供应381提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价382在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户383为消费者和系统管理员提供对云计算环境的访问。服务水平管理384提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(sla)规划和履行385提供云计算资源的预安排和采购,根据该sla预期该云计算资源的未来要求。
37.工作负载层390提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航391;软件开发和生命周期管理392;虚拟课堂教育交付393;数据分析处理394;事务处理395;以及图像搜索引擎处理396。
38.在某些实施例中,图像搜索引擎从用户接收关于图像中的2d对象的角度视角的改变的输入,并且搜索与该新视角匹配的存储在存储设备上的现有图像。由此,存在以多个不同角度视角存储的对象的不同2d图像的集合。这不同于改变三维对象(例如,在cad程序中生成的对象)的角度观看视角的机制,其中系统在每次观看角度和/或变焦水平有变化时以编程方式生成一全新图像。
39.现在参考图4,在某些实施例中,在步骤400中,图像搜索引擎识别图像中的对象。在步骤402中,搜索引擎确定所识别对象的取向矢量。在步骤404中,搜索引擎从用户接收针对图像中的对象的旋转的输入。在一个示例中,如本文更详细讨论的,来自用户的输入可以是用户的手的旋转手势。基于来自用户的输入和取向矢量的改变量值,图像搜索引擎搜索一组图像以确定对象的其他2d图像是否在新的取向矢量处可用。在步骤406中,搜索引擎基于新的取向矢量并基于图像的一个或多个属性(例如,对象的颜色)来执行搜索查询。在步
骤408中,如果搜索引擎确定另一2d图像是可用的,则在步骤410中在显示设备上向用户显示该新图像。在步骤408中,如果搜索引擎确定没有2d图像可用于新的取向矢量,则将没有图像显示给用户。搜索引擎识别出存在缺失信息,并且在步骤412中,搜索引擎从一个或多个源请求缺失信息。如本文进一步详细讨论的,在某些实施例中,对附加信息的请求可以是众包请求。通过众包,请求大量人向图像搜索引擎贡献他们自己的图像,并且这些贡献的图像帮助完成图像的集合,使得用户可以从任何360度旋转视角观看对象。在完成步骤410或步骤412之后,系统返回到步骤404,使得用户可以输入另一旋转手势。此外,在某些实施例中,如果步骤412中对缺失图像的请求通过提供这样的图像的外部源被满足,则可以用新图像来更新图像存储库(例如,自动地,或者在系统管理员批准图像之后),并且将基于更新的图像存储库来执行未来的搜索查询。
40.在某些实施例中,向用户呈现包含一个或多个对象的2d图像。在步骤400中,图像搜索引擎分析2d图像以识别图像中存在的对象。对象的识别基于对图像执行的图像分析、图像处理、计量、边缘检测、对象检测、分类等。图像分析引擎可基于对象的许多不同属性来识别各种不同对象。对象的属性可基于颜色、模型、对象的类型、对象的形状、对象的大小等来识别。此外,使用相关的图像分类技术,基于所识别的属性对图像对象进行分类。
41.在识别对象的存在之后,搜索引擎在步骤402中确定对象面向什么方向。具体地,搜索引擎识别图像中的每个对象的基线方向(或取向矢量)。在一实施例中,取向矢量为经过对象的计算的质心的轴,且此矢量在从对象的前方到对象的后方的方向上延伸。对象的此初始取向矢量是与用户的旋转手势一起使用以计算新取向矢量的基准。在一实施例中,出现在2d图像中的对象的初始取向矢量形成图像的元数据的一部分并且在搜索新图像时被搜索引擎使用。应当理解,在某些实施例中,取向矢量不穿过对象的质心并且从前侧延伸到后侧,并且它可以相对于对象沿不同方向延伸。
42.在某些实施例中,存在用于不同分类类型的对象的不同取向方向的库。在这些实施例中,库中的数据指示动物(例如,面部的前方)、或汽车(例如,汽车的前侧)、或房屋(例如,建筑物的具有前门的一侧)、或任何其他分类类型的基准取向。在这些实施例中,一旦确定了图像对象的基准侧,则图像分析模块为图像对象分配基准取向轴。所分配的轴是用于所识别的对象的基准轴。一旦识别了任何图像对象的基准轴,那么比较存在于相同或不同图像中的其他图像对象,并计算相对基准取向或侧面。将不同图像对象的相对对象取向与基准图像对象进行比较,且基于差来计算取向轴。在一实施例中,不同图像对象的取向是相对于基准图像对象计算的,并且被分配为对象的当前角度取向。相对于3d轴计算对象的角度取向,相应地计算3d轴的角度取向,并且该角度取向是图像对象的元数据的一部分。
43.现在参考图5a和图5b,在某些实施方式中,包含至少一个对象(例如,汽车)的2d图像(例如,照片的数字图像)显示在显示设备上。图像是2d图像,并且从初始三维角度视点(即,视角)向用户显示对象。参照图5a,对于对象500,存在基准图像视点。在图5a所示的示例中,基准图像为可在z轴和x轴上的对象500的前视图。然而,应当理解,除了前视图之外的任何其他适当的视点可以用于基准视点。基准视点也具有垂直于其他两个轴的对应基准取向矢量。参照图5a,x轴504和z轴502示出为在水平和垂直方向上延伸,并且基准取向沿着垂直于其他轴的y轴506方向(也参见图5b中的y轴506)。在一实施例中,y轴506为对象的取向轴(或取向矢量506),且取向矢量506从对象的前侧行进穿过对象的质心到后侧。参照图5b,
对象500具有取向矢量506,该取向矢量处于面向前、面向左以及稍微面向下的角度。图5b中的取向矢量506的方向在x轴504、y轴506和z轴502方向中的每个方向上与图5a中的基准取向矢量具有一定的角度偏移。
44.现在参考图6,在一实施例中,如果用户期望从不同的取向或视角看到对象600,则他们可以通过向图像搜索引擎提供输入来请求不同的角度视点。响应于用户的旋转手势或其他输入(例如,用户的手602的旋转手势604),图像搜索引擎确定2d图像中对象600的旋转视点的期望改变量,并且搜索对应于用户请求的新视点的不同2d图像。例如,如图6所示,用户已经执行了旋转手势604,并且已经请求对象600的视角的角度改变606。再次参照图5b,对象500以相对于图5a或图6中所示的基准视点的不同角度视角被呈现给用户。用户可通过提供手势输入任意次数来请求对角度视点的改变。在某些实施例中,如果不存在用于新旋转视点的不同2d图像,则搜索引擎向一个或多个资源发起提供缺失的图像信息的请求。
45.用户提供给搜索引擎的用于旋转视角的改变的旋转手势输入可以根据用户可用的输入设备的类型而不同。
46.在输入设备是鼠标的实施例中,用户可对鼠标执行点击和拖动操作以请求对象的新视角。例如,点击和拖动操作可以指定相对于原点的距离和角度(例如,鼠标被点击的位置、或鼠标按下事件)。最终鼠标位置(例如,释放鼠标的位置或鼠标松开事件)距原点的距离和角度是可以用于确定对象的期望旋转的矢量。在另一示例中,对象具有中心位置,并且该中心位置与鼠标按下和鼠标松开事件的位置之间的距离都被用于确定对象的期望旋转。
47.在输入设备是启用触摸屏的显示设备的实施例中,用户可以利用一个或多个手指执行触摸、拖动和旋转操作以请求取向的改变。利用一个手指,该旋转请求可以与上面讨论的鼠标点击和拖动输入一样被执行。利用多于一个手指,用户捏合或拉伸触摸屏以进一步实现放大或缩小操作。
48.在输入设备是启用增强现实(或虚拟现实)的显示设备的实施例中,用户可执行旋转手势(例如,通过旋转他们的手)以请求取向的改变。在这些实施例的某些实施例中,用户可以相对于2d对象并且基于物联网(“iot”)数据或其他相机馈送来执行3d旋转手势,并且系统可以利用这个信息来识别手势的旋转方向和角移动。例如,相机可以拍摄人手的图片,并且通过图像处理确定手的位置、大小和取向的改变。基于这些改变,确定旋转手势。应当理解,任何其他合适类型的输入可由用户提供,前提是该输入反映对象的角度视角的期望改变。
49.在一实施例中,响应于用户的旋转手势(或其他合适的输入),搜索引擎使用以下至少一者:旋转手势的方向;旋转手势的角移动;旋转手势的幅度;以及当前显示在2d图像中的对象的角度取向(即,取向矢量)。由此,输入指定取向矢量相对于当前取向矢量的改变。基于该输入数据,搜索引擎计算对象的新取向矢量,然后搜索引擎基于该数据构造新搜索查询。搜索引擎执行搜索查询并返回具有与所计算的新取向矢量匹配(或至少近似)的取向矢量的对象的一个或多个图像。在显示设备上向用户显示该新图像。以此方式,用户可简单地通过利用不同2d图像的集合并且无需依赖于复杂的3d对象操纵程序(例如,cad程序)来理解对象从不同视角看起来的样子。此外,对象可能不适合作为cad程序中的三维对象(例如,山脉、旅游地标、家庭、建筑物等)来观看。此选择新视角的过程可由用户重复任何次数来以不同方式观看对象。
50.在某些实施例中,搜索引擎使用在2d图像中识别的对象的一个或多个属性来执行搜索查询。如上所述,搜索引擎对2d图像中的对象执行图像分析以确定对象的基线取向矢量。然而,图像分析可用于识别对象的一个或多个附加属性以辅助搜索查询。此外,图像文件的元数据可以用于帮助搜索查询。其他属性的示例包括对象的大小、对象的颜色、对象的类型或类别、图像被捕捉的地理位置、图像被捕捉的时间戳、对象的产品零件号、图像文件的其他元数据(诸如图像分辨率)、对象的图形特征等。
51.在一实施例中,响应于来自用户的旋转手势输入,搜索引擎执行搜索查询以搜索具有与原始2d图像的属性相关的某些属性的对象的新2d图像。例如,如果用户正在从第一观看角度看红色轿车的图片并输入旋转手势以观看新视点,则搜索引擎向用户呈现蓝色皮卡车的新2d图像的话对于用户而言将不太有效。尽管这些都是汽车,但是它们看起来非常不同。如果新图像至少实质上在视觉上不对应于原始图像,则用户会感受到与原始图像脱节的感觉。基于这些识别的属性,搜索引擎尝试在新取向找到具有与原始2d图像相似(或相同)的视觉属性的新2d图像。由此,尽管观看者实际上没有看到完全相同的3d对象的不同有利位置,但是观看具有相当类似的视觉特性的不同2d图像应当对于用户感到更自然。
52.在某些实施例中,搜索引擎要求所有2d图像具有完全相同的对象。例如,如果一公司有具有在线产品目录的网站,则该公司可能想要确保对象的不同视图不是来自稍微不同的产品,以避免购买产品时的潜在客户困惑。在一示例中,产品零件号(或序列号)是不同2d图像的图像元数据属性,并且这将有助于确保图像搜索结果不返回不同产品的视图。
53.在某些实施例中,当搜索引擎显示2d图像搜索结果时,搜索引擎还向用户显示关于哪些其他视点可用的指示。可能存在搜索引擎已经从面向前方的有利位置定位了对象的许多存储的图像的情况,但是从面向后方的视图的产品图像的集合可能是很少的(或者完全不存在)。系统向用户呈现2d图像的可用性的视觉指示,使得用户可以做出关于接下来选择哪个旋转视图的明智决定。例如,如果用户知道集合中没有2d对象的面向后的视图,则他们不会浪费时间执行面向后的方向上的旋转手势。
54.现在参考图7,在一实施例中,向用户示出图像搜索结果中的对象704的可用视点的视觉指示为三维球体706。在此示例中,球体706具有指示在不同角度视点处存在对象704的2d图像的阴影部分。如图7所示,球体706的3d线框表示具有取向矢量704。在由用户输入旋转手势之前,显示设备显示对象702的当前视点,其具有与球体706的取向矢量704相同的取向矢量704。在某些实施例中,用户可以通过旋转手势与输入设备交互,并且图像搜索引擎引起显示设备上的球体706的旋转。球体706的新取向矢量704向用户提供关于对象702的新视点将是什么的预览。在某些实施例中,图像搜索引擎直到用户完成旋转手势之后才更新对象702的2d图像。在其他实施例中,当用户继续旋转球体706时,图像搜索引擎将继续搜索并更新对象702的图像(如果它们可用的话)。
55.在图7所示的示例中,线框球体706的各部分以二元方式加阴影(例如,黑色部分708和白色部分710),以指示那些角度视点是否具有可用的2d图像。在该示例中,如果用户要向球体706提供旋转手势,则它将旋转以示出球体的新的最前截面片段。如果这个面向最前的球形部分被着色为黑色,则这将意味着在这个角度的图像搜索将不会产生结果。因此,用户将知道继续旋转手势到将具有图像结果的不同角度。在一实施例中,如果用户将球体706旋转到没有图像结果的角度,则搜索图像将在最接近用户的请求的不同角度视点处找
到结果。应当理解,球体的最前部分不必是新视点的部分,并且可以使用任何合适的部分。在某些实施例中,对应于要选择的新视点的球体706的部分将以某种方式突出显示、着色或以其他方式指示给用户。
56.在某些实施例中,线框球体的各部分不限于以二元方式呈现给用户,并且所述部分具有显示给用户的附加视觉指示或标记。例如,如果对象的原始2d图像是蓝色轿车,则多个不同视点可具有蓝色轿车的不同2d图像。在这种情况下,对应于这些视点的线框球体的部分可以被着色为蓝色。然而,对于其他角度视点,可能仅存在红色轿车的图像。对于这些角度视点,对应于这些视点的线框球的部分可被着色为红色。这将提醒用户,对于这些视点,他们将仍然看到轿车,但它将不是与对象的原始2d图像的颜色相同的颜色。应当理解,球体上的指示或标记的类型不限于不同颜色。标记的类型可以表示对象的某其他视觉属性(例如,大小、类型、高度等)。
57.参考图8,在某些实施例中,标记的类型还可以是不同视图中的对象与对象的原始2d图像匹配得有多接近的任何合适的视觉表示。在一实施例中,如图8所示,即使所有不同的三维视点具有对象的现有2d图像,也呈现表示不同视点中的对象与对象的原始图像匹配(或区别)的程度的球体800的热图。参考图8,球体800被示出为具有取向矢量802。在这个示例中,球体800具有多个表面部分。一些部分是白色部分804(或清楚的),指示不存在用于该观看视角的现有图像。其他部分是不同色度的灰色。浅灰色部分806指示存在用于该观看视角的现有图像,但该图像中的对象的视觉特性与原始图像不是非常紧密地匹配。一个部分中的阴影的暗度指示现有图像与原始图像匹配得有多紧密。对此,黑色部分808比浅灰色部分(例如,灰色部分806)更紧密地匹配原始图像。因此,球体800的该热图为用户提供了易于理解的哪里存在紧密匹配图像的图。
58.在某些实施例中,与原始图像非常紧密匹配的角视图(例如,相同的颜色和大小)可以在360度热图上以一种颜色示出,而匹配不太紧密的其他角视图(例如,满足所请求的角度的标准但是与原始图像的颜色和/或大小不同)可以在360度热图上以不同的颜色示出(例如,在热图上示出为红色对比绿色)。应当理解,球体800(或其他指示器)不一定需要被细分成单独的表面部分,并且可以使用任何其他合适的视觉指示来表示热图和不同的现有2d图像与原始图像相匹配的程度。
59.在其他实施例中,基于用户的手势和原始图像对象的角度取向来确定新的角度取向,并且基于与新的角度取向的偏差来对图像搜索结果进行排名。当显示搜索结果时,图像搜索引擎分析图像对象属性并且识别来自不同源的其他图像的可用性。
60.应当理解,视点指示器不必是3d线框球体。它可以是允许用户通过旋转手势(或其他输入类型)来选择不同的三维视点的任何其他合适的对象或视觉指示。因此,如果对象是牛,则视觉指示可以是牛的3d线框表示或任何其他适当形状的对象。此外,视觉指示不需要是3d线框模型。视觉指示可以是具有指示图像搜索结果的量(或不存在)的不同表面标记的任何其他合适的三维形状。例如,视觉标记可以是平滑的球体,其具有指示搜索结果在不同角度的可用性的热图(或颜色梯度)。在其他实施例中,视觉指示是2d表示而不是三维模型。
61.在某些实施例中,搜索引擎实现识别、请求和补充缺失的图像信息(或请求更好的图像信息)的方法。可能存在对于给定对象的每一可能角度视点不存在2d图像的完整集合的情形。响应于旋转手势和不返回结果的图像搜索查询,搜索引擎向一个或多个接收者发
起对附加图像数据的请求。在一实施例中,对一个或多个接收者的请求包括众包图像获取努力。一般而言,众包指的是其中个人或组织从大的且动态的贡献者(例如,互联网用户)组获得商品和服务(包括想法和财务)的源模型。因此,众包在许多参与者之间划分努力以实现累积结果。在本实施例的上下文中,目标是针对各种各样的不同对象以及针对该对象的多个不同取向来获得极高数量的相关图像。因此,可能需要非常大的努力来创建这样的大的2d图像集合,并且众包可以用于减轻或减小该努力的大小。例如,如果目标对象是诸如埃菲尔铁塔的旅游景点,则游客可能愿意提交他们的许多不同角度的塔的度假照片。这将有助于从各种视角创建塔的2d图像的高度相关集合。在某些实施例中,众包贡献者是一般公众(例如,所有互联网用户)。在其他实施例中,众包贡献者是更有限的用户群,诸如一公司的雇员。在一实施例中,原始内容提供者为父图像的替代视角的贡献者提供其图像贡献的补偿(例如,货币补偿、产品/服务的折扣等)。
62.在一个实施例中,用于创建对图像的众包请求的触发是当用户做出旋转手势以从某个有利位置观看对象时(进一步要求不存在针对该有利位置的现有图像)。如上文关于图4所论述的,如果在步骤40的6中确定不存在针对新旋转矢量的图像,那么图像搜索引擎在步骤410中发送对于缺失图像信息的请求。换言之,如果用户已经做出从某个视角观看对象的请求,这指示存在从该角度观看对象的实际需求。然而,如果从未有过从例如后方观看产品的请求,则通过众包努力积累该对象从后方的照片可能是不值得的。在对象是汽车的一个示例中,可能很少需要或不需要看到汽车的下侧。在该示例中,人们对从该角度观看对象不感兴趣。
63.在一实施例中,当贡献者通过提供附加图像来响应该请求时,父图像(即,基准图像)的所有者具有审阅该图像的选项。基准图像的所有者可以审阅所贡献的图像以确定它们是否具有可接受的质量或者与父图像的视觉属性匹配足够程度。如果父图像的所有者决定所贡献的图像是可接受的,则他们可以将该图像存储在存储设备上并释放该图像的附加观看角度以供观看。在另一实施例中,可能不存在父图像的所有者,并且不存在人工审阅所贡献的图像的人。在这个实施例中,对贡献的图像执行图像处理以确定其是否与父图像适当匹配。
64.在一实施例中,即使图像搜索查询产生一些结果,如果对于该旋转观看者的图像的匹配质量低,则图像搜索引擎仍然可以发起对附加图像数据的请求。例如,可能存在针对某个角度视角的对象的现有2d图像,其与原始基准图像中的对象具有非常低的相关性。在一个示例中,原始基准图像可以是灰色短斗皮卡车,而另一视角的保存图像是具有与原始不同的品牌和型号的棕色长斗皮卡车。在这个示例中,也许棕色长斗皮卡车具有满足被认为是可接受匹配的某个阈值的一些视觉属性。然而,这种棕色卡车对于原始图像而言是非常差的匹配。在此实施例中,响应于旋转手势和针对新取向矢量的存储图像具有与基准图像的低相关性(即,低于某相关性阈值)的确定,搜索引擎将向一或多个接收者发送请求以更新图像并改进匹配的质量。当从贡献者接收响应于该请求的新图像时,该系统将新接收的图像与先前图像进行比较。如果确定新图像是更好的匹配(即,与当前图像相比与原始基准图像的属性更好地相关),则搜索图像用新图像替换当前图像。在一个示例中,当接收的图像基准取向轴和接收的图像对象的至少一个属性在预定程度上对应于基准图像的基准取向轴和至少一个属性时(例如,这可由内容提供者设置),系统将接收的图像添加到一组
二维图像。以此方式,通过接受新图像以潜在地替换旧图像,给定对象的2d图像的360度旋转集合可随时间不断改进。
65.在一实施例中,系统基于与以下各项有关的对象会话使用类型、任务、目标、对象的逻辑进展来利用动态上下文关系上下文重新渲染:本地用户历史机器学习;不同唯一用户的基于云的使用(共享上下文);基于对象取向的众包用户机器学习;以及用户旋转对象模式的预测。
66.在一实施例中,系统通过众包给地理上查明将最能够帮助所提供的内容来完成模型或目标的人,来利用物理位置改善。例如,如果存在在地理围栏边界中的区域,则系统选择性地查看每个人的当前动态位置并且作出关于他们的独特视角对于该观点和时间是否将有益的判断(即,时间决定)。这种方法具有选择性地仅涉及某些标记位置内的某些人的方法,并且用于以时间事件或时间线为目标,因此导出唯一且更完整的模型。
67.本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质。
68.计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储媒体不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
69.本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
70.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如smalltalk、c 等)和过程程序设计语言(诸如“c”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电
路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
71.下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
72.这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
73.也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
74.附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
75.已经出于说明的目的呈现了不同实施例的描述,并且这些描述并非旨在是详尽的或限于所披露的实施例。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献