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

基于机器学习分类的设备位置的制作方法

2022-06-11 06:14:35 来源:中国专利 TAG:

基于机器学习分类的设备位置
1.本技术是申请号为201880055723.8的中国专利申请“基于机器学习分类的设备位置”(申请日为2018年8月31日)的分案申请。
2.相关申请的交叉引用
3.本技术要求于2018年4月30日提交的序列号为15/967,201的美国专利申请的优先权,该申请是2017年8月31日提交的序列号为15/692,990的美国专利申请的延续并要求其优先权,在此要求它们中的每个申请的优先权,并通过引用将每个申请的全部内容合并于此。
技术领域
4.本公开的实施例总体上涉及确定设备位置,并且更具体地但非限制性地涉及基于机器学习分类的精确计算机设备位置确定。


背景技术:

5.计算机(例如智能电话)可以使用地理位置服务来近似估算其位置。例如,计算机可以使用由车载gps传感器生成的全球定位系统(gps)数据来确定其位置。但是,如果该计算机附近有数个场所,则这种信息通常无法指出计算机当前位于哪个场所(例如,咖啡馆、饭店、加油站)。


技术实现要素:

6.本公开的实施例提供了一种用于使用机器学习分类来实现场所选择的方法和系统。
7.根据本公开的第一方面,提供了一种用于使用机器学习分类来实现场所选择的方法。该方法包括:向一个或多个服务器发送请求,所述请求包括由客户端设备生成的位置数据;从所述一个或多个服务器接收包括多个场所的场所数据集;在所述客户端设备的存储器中识别真实世界环境的图像;使用机器学习方案对描绘所述真实世界环境的所述图像的图像属性进行分类;至少部分地基于所述多个场所中的场所匹配所述图像的所分类的属性,从所述多个场所中选择所述场所;选择与所选择的场所预先关联的一个或多个显示元素;以及在所述客户端设备上显示包括所述一个或多个显示元素的呈现。
8.根据本发明的第二方面,提供了一种用于使用机器学习分类来实现场所选择的系统。该系统包括:机器的一个或多个处理器;以及存储指令的存储器,所述指令在由一个或多个处理器执行时使机器执行操作。该操作包括:向一个或多个服务器发送请求,所述请求包括由客户端设备生成的位置数据;从所述一个或多个服务器接收包括多个场所的场所数据集;在所述客户端设备的存储器中识别真实世界环境的图像;使用机器学习方案对描绘所述真实世界环境的所述图像的图像属性进行分类;至少部分地基于所述多个场所中的场所匹配所述图像的所分类的属性,从所述多个场所中选择所述场所;选择与所选择的场所预先关联的一个或多个显示元素;以及在所述客户端设备上显示包括所述一个或多个显示
元素的呈现。
9.根据本发明的第三方面,提供了一种存储指令的机器可读存储介质,所述指令在由机器执行时使所述机器执行根据本发明的第一方面所述的方法。
附图说明
10.为了容易地识别对任何特定元素或动作的讨论,附图标记中最高的一个或多个有效数字指的是首先引入该元素或动作的附图(“图”)的编号。
11.图1是示出了用于通过网络交换数据(例如消息和相关联内容)的示例消息传递系统的框图。
12.图2是示出根据示例实施例的关于具有集成的虚拟对象机器学习系统的消息传递系统的更多细节的框图。
13.图3是示出根据某些示例实施例的可以存储在消息传递服务器系统的数据库中的数据的示意图。
14.图4是示出根据一些实施例的由消息传递客户端应用生成的用于通信的消息的结构的示意图。
15.图5是示出了示例访问限制过程的示意图,根据该过程,对内容(例如,短暂(ephemeral)消息以及相关联的数据的多媒体有效载荷)或内容集合(例如,短暂消息故事)的访问可能是时间有限的(例如,短暂的)。
16.图6a示出了根据一些示例实施例的客户端场所系统的示例组件。
17.图6b示出了根据一些示例实施例的服务器场所系统的示例组件。
18.图7示出了根据一些示例实施例的用于使用机器学习分类来实现改进的场所选择的方法的流程图。
19.图8示出了根据一些示例实施例的生成针对图像的分类的方法的流程图。
20.图9示出了根据一些示例实施例的用于从场所数据集中选择一个或多个场所的方法的流程图。
21.图10示出了根据一些示例实施例的可用于过滤或以其他方式选择场所并显示内容的数据结构。
22.图11示出了根据一些示例实施例的具有数据结构的一部分的元数据标记的示例。
23.图12示出了根据一些示例实施例的具有叠加内容的红酒吧图像的示例呈现。
24.图13示出了根据一些示例实施例的具有叠加内容的娱乐场所的示例呈现。
25.图14示出了根据一些示例实施例的具有叠加内容的游泳池区域的示例呈现。
26.图15是示出了可以与本文所述的各种硬件架构结合使用的代表性软件架构的框图。
27.图16是示出根据一些示例实施例的能够从机器可读介质(例如机器可读存储介质)读取指令并执行本文讨论的方法中的任何一个或多个的机器的组件的框图。
具体实施方式
28.以下描述包括体现本公开的说明性实施例的系统、方法、技术、指令序列和计算机器程序产品。在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明主
题的各种实施例的理解。然而,对于本领域技术人员显而易见的是,也可以在没有这些具体细节的情况下实践本发明主题的实施例。通常,众所周知的指令实例、协议、结构和技术不必详细示出。
29.诸如智能电话的客户端设备可以使用地理位置服务来近似估算其位置。例如,智能电话可以使用机载gps传感器确定智能电话的纬度和经度。但是,gps精度可能会受到环境因素(例如阻碍建筑物和干扰gps信号的其他对象)的限制。例如,由于物理障碍物(例如物理墙),客户端设备的gps传感器可能会显示该设备在一个饭店,而实际上该客户端设备位于几百英尺外的另一个饭店中。此外,客户端设备gps精度也可能受协议限制。例如,虽然军用级gps可能非常准确,但消费级gps通常具有距离分辨率限制,因此消费级gps设备不会用于恶意(malicious)目的。出于这些原因,客户端设备生成的地理位置数据可能无法准确地描述客户端设备当前位于哪个场所(例如咖啡馆、饭店、加油站)。
30.为了尝试改善位置确定,客户端设备可以将gps数据发送到服务器以进行进一步分析。但是,如果客户端设备gps信号较差,或者附近有很多场所,则发送到服务器的数据可能会不准确,在这种情况下,服务器生成的后续预测也将不准确。
31.为此,在客户端设备上执行的场所系统可以利用客户端设备周围的环境的视觉提示来从一组可能的场所中选择给定场所。视觉提示可以使用机器学习方案(例如已经被训练用于图像处理的一个或多个神经网络(例如卷积神经网络))来识别。最初,客户端设备可以收集其地理位置数据和其他可能有助于位置识别的信息,例如客户端设备可见的互联网协议(ip)网络的列表。客户端设备可以向位置服务器发送收集的信息以进行进一步分析。
32.服务器接收该请求,访问场所数据库并返回最接近客户端设备的多个场所(例如最近的五个场所)。服务器访问的场所数据库可以包含世界上任何地方的场所的位置数据(例如纬度/经度数据、地址数据、可见ip网络数据)。服务器可以使用地理位置数据和其他数据(例如可见ip网络)来确定数据库中哪些场所最接近客户端设备。
33.根据一些示例实施例,响应于从服务器接收到场所集合,客户端设备然后尝试使用来自周围环境的图像的视觉提示来从场所集合中滤除场所。特别地,例如场所系统实现一个或多个训练过的神经网络以分析由客户端设备生成的图像数据。例如,场所系统可以使用训练过的神经网络来分析由用户使用他/她的智能电话采集的图像(例如图像、视频、实时视频馈送)。这种方法利用了服务器可以访问客户端设备上无法存储的可能很大的场所数据库这一事实,并进一步利用了客户端设备对周围环境的视觉提示的访问。
34.在一些示例实施例中,客户端设备上的场所系统使用多达三个机器学习方案来确定用于场所选择的视觉信息。在那些示例实施例中,第一学习方案被配置为确定客户端设备是在外部环境还是内部环境中,第二机器学习方案被配置为直接确定场所的类型,并且第三机器学习方案被配置为识别给定场所中的对象(例如咖啡马克杯、披萨切片等)。引擎的更多细节在下面参考图6a进行讨论。
35.根据一些示例实施例,示例可以帮助说明如何实现机器学习方案和伴随的逻辑。假设客户端设备在咖啡店中,并且用户使用智能电话对咖啡店进行成像,例如通过拍摄咖啡店的照片或录制视频馈送。响应于对咖啡店进行成像,场所系统自动向服务器发送位置请求,并接收附近的四个场所作为客户端设备的潜在位置。假设附近的四个场所包括:一家室外屋顶饭店、一家社交媒体技术公司的总部、一家意大利饭店,和一家咖啡店。
36.场所系统然后将机器学习方案应用于该图像以对关于该图像的属性进行分类。特别地,例如第一机器学习方案确定该图像是内部环境,第二机器学习方案确定该图像最有可能是意大利饭店或咖啡店,而第三机器学习方案识别图像中的咖啡马克杯。基于这些确定,场所系统将室外饭店排除在外,因为室外饭店在外面,并且成像的环境已通过第一种机器学习方案被确定为在内部。第二机器学习方案确定图像是意大利饭店或咖啡店的可能性相等,而图像是办公室环境(例如技术公司的总部)的可能性很小,因此该总部被滤除或以其它方式未被选择。最后,基于第三机器学习系统在图像中识别出咖啡杯,场所系统选择咖啡店作为客户端设备当前位置的最可能场所。
37.根据一些示例实施例,每个场所可以被分类为包括类别和子类别的数据结构。类别包含更高粒度级别的场所类型,子类别细化了对应的场所类型。例如,食物类别可以具有包括墨西哥饭店、快餐饭店、意大利饭店、咖啡店等等的子类别。可以类似地配置其他类别和子类别。可以将每个具体场所推广到可以更轻松标记的更广泛级别。例如,可以将“托尼的家族意大利饭店-世界上最好的!”抽象为意大利饭店场所类型,可以更轻松地为其分配标记并将其存储在客户端设备(例如智能电话)的有限存储器上。
38.每个类别和子类别可具有描述该类别或子类别的元数据标记。元数据标记可包括环境条件(例如“外部”、“内部”)以及与给定类型的场所相关联的对象(例如意大利食品饭店子类别可具有包括“比萨”、“红色和白色格子图案”和“意大利面”的标记;而咖啡店子类别可具有包括“咖啡马克杯”、“咖啡豆”和“星巴克徽标”的标记)。
39.场所系统可以使用由机器学习方案生成的分类来选择匹配的场所。参考上面的示例,场所系统过滤除了具有“室外”标记的场所,因为确定图像是内部环境。此外,第二机器学习方案认为图像是办公室的可能性很小,并且对于意大利饭店和咖啡店返回的数值可能性相等;因此,场所系统可以滤除或以其他方式不选择技术公司总部场所。第三机器学习方案成功地识别出图像中的咖啡马克杯,并且咖啡马克杯是咖啡店类别的元数据标记,因此,咖啡店被选择为客户端设备的当前场所。下面参考附图讨论其他示例。
40.在选择了场所之后,客户端设备上的场所系统或其他应用就可以使用所选择的场所来创建基于位置的用户界面(ui)内容。继续该示例,在确定了咖啡店之后,则可以将操作客户端设备的用户的卡通化身(例如,表情符号)叠加在咖啡店的图像上。具有叠加内容的图像可被发布到社交媒体网络,例如作为短暂消息,这下面将进一步详细讨论。ui内容的其他示例包括横幅、字幕(例如图像边框外部的字幕,其标示拍摄图像的位置)或增强现实内容等等。可以使用用于构造场所类型的类别和子类别的相同数据结构对ui内容进行分类。这样,当选择了给定类别(或子类别)的场所时,可以轻松地取得用于叠加的ui内容。
41.图1是示出了用于通过网络交换数据(例如消息和相关联内容)的示例消息传递系统100的框图。消息传递系统100包括多个客户端设备102,每个客户端设备托管包括消息传递客户端应用104的多个应用。每个消息传递客户端应用104通过网络106(例如因特网)通信地耦接到消息传递客户端应用104和消息传递服务器系统108的其他实例。
42.因此,每个消息传递客户端应用104能够经由网络106与另一个消息传递客户端应用104和消息传递服务器系统108进行通信并交换数据。在消息传递客户端设备102之间以及在消息传递客户端应用104和消息传递服务器系统108之间交换的数据包括功能(例如调用函数的命令)以及有效载荷数据(例如文本、音频、视频或其他多媒体数据)。
43.消息传递服务器系统108经由网络106向特定的消息传递客户端应用104提供服务器端功能。尽管在本文中将消息传递系统100的某些功能描述为由消息传递客户端应用104或由消息传递服务器系统108执行,但是应当理解,某些功能在消息传递客户端应用104或消息传递服务器系统108内的位置是设计选择。例如,在技术上优选地是首先在消息传递服务器系统108内部署某些技术和功能,然后将该技术和功能迁移到其中客户端设备102具有足够处理能力的消息传递客户端应用104。
44.消息传递服务器系统108支持提供给消息传递客户端应用104的各种服务和操作。此类操作包括向消息传递客户端应用104发送数据,从消息传递客户端应用104接收数据,以及处理由消息传递客户端应用104生成的数据。作为示例,该数据可以包括消息内容、客户端设备信息、地理位置信息、媒体注释和叠加(overlay)、消息内容持久性条件、社交网络信息,和现场事件信息。消息传递系统100中的数据交换通过经由消息传递客户端应用104的用户界面(ui)可用的功能来调用和控制。
45.现在具体转到消息传递服务器系统108,应用编程接口(api)服务器110耦接到应用服务器112并向应用服务器112提供编程接口。应用服务器112通信地耦接到数据库服务器118,数据库服务器118促进对数据库120的访问,数据库120中存储有与由应用服务器112处理的消息相关联的数据。
46.api服务器110在客户端设备102和应用服务器112之间接收和发送消息数据(例如命令和消息有效载荷)。具体地,api服务器110提供可被消息传递客户端应用104调用或查询的一组接口(例如例程和协议),以便调用应用服务器112的功能。api服务器110公开由应用服务器112支持的各种功能,包括:帐户注册;登录功能;经由应用服务器112从特定消息传递客户端应用104向另一消息传递客户端应用104发送消息;从消息传递客户端应用104向消息传递服务器应用114发送媒体文件(例如图像或视频),以供另一消息传递客户端应用104进行可能的访问;媒体数据(例如故事)集合的设置;此类集合的取得;客户端设备102的用户的好友列表的取得;消息和内容的取得;在社交图中添加和删除好友;好友在社交图中的位置;以及打开应用事件(例如与消息传递客户端应用104有关)。
47.应用服务器112托管多个应用和子系统,包括消息传递服务器应用114、图像处理系统116、社交网络系统122,和服务器场所系统150。消息传递服务器应用114实现多个消息处理技术和功能,其特别涉及包括在从消息传递客户端应用104的多个实例接收的消息中的内容(例如文本和多媒体内容)的聚合和其他处理。如将进一步详细描述的,来自多个源的文本和媒体内容可以被聚合成内容的集合(例如被称为故事或图库(gallery))。然后,消息传递服务器应用114使得这些集合对于消息传递客户端应用104可用。考虑到此类处理的硬件要求,消息传递服务器应用114还可以在服务器端对数据进行其他处理器和存储器密集型处理。
48.应用服务器112还包括图像处理系统116,该图像处理系统116专用于通常关于在消息传递服务器应用114处的消息的有效载荷内接收到的图像或视频来执行各种图像处理操作。
49.社交网络系统122支持各种社交网络功能和服务,并使这些功能和服务可用于消息传递服务器应用114。为此,社交网络系统122维护并访问数据库120内的实体图(例如图3的实体图304)。社交网络系统122支持的功能和服务的示例包括识别特定用户与其具有关
系或者该特定用户“正在关注”其的消息传递系统100的其他用户,以及还识别特定用户的其他实体和兴趣。
50.服务器场所系统150被配置为从客户端设备102接收对客户端设备102的位置附近的场所的请求。服务器场所系统150的更多细节在下面参考图6b进行讨论。
51.应用服务器112通信地耦接到数据库服务器118,数据库服务器118促进对数据库120的访问,在数据库120中存储有与由消息传递服务器应用114处理的消息相关联的数据。
52.图2是示出根据示例实施例的关于消息传递系统100的更多细节的框图。具体地,消息传递系统100被示为包括消息传递客户端应用104和应用服务器112,它们又体现了多个子系统,即短暂计时器系统202、集合管理系统204、注释系统206和客户端场所系统210。
53.短暂计时器系统202负责对由消息传递客户端应用104和消息传递服务器应用114所允许的内容执行临时访问。为此,短暂计时器系统202并入了多个计时器,这些计时器基于与消息或消息集合(例如故事)相关联的持续时间和显示参数,选择性地经由消息传递客户端应用104显示并启用对消息和相关联内容的访问。下面提供有关短暂计时器系统202的操作的更多细节。
54.集合管理系统204负责管理媒体的集合(例如文本、图像、视频和音频数据的集合)。在一些示例中,内容的集合(例如包括图像、视频、文本和音频的消息)可以被组织成“事件图库”或“事件故事”。这种集合可以在指定时间段(例如与内容相关的事件的持续时间)内可用。例如,与音乐会有关的内容可以在该音乐会的持续时间内作为“故事”可用。集合管理系统204还可以负责发布图标,该图标向消息传递客户端应用104的用户界面提供特定集合的存在的通知。
55.集合管理系统204还包括策展界面208,该策展界面208允许集合管理器管理和策展特定内容集合。例如,策展界面208使事件组织者能够策展与特定事件有关的内容的集合(例如删除不适当的内容或冗余消息)。另外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动策展内容集合。在某些实施例中,可对于将用户产生的内容包括进集合中向用户支付补偿。在这种情况下,策展界面208操作以自动向此类用户就使用其内容而支付费用。
56.注释系统206提供使用户能够注释或以其他方式修改或编辑与消息相关联的媒体内容的各种功能。例如,注释系统206提供与针对由消息传递系统100处理的消息产生和发布媒体叠加有关的功能。注释系统206基于客户端设备102的地理位置向消息传递客户端应用104可操作地提供媒体叠加(例如,地理滤镜或滤镜)。在另一个示例中,注释系统206基于其他信息(例如,客户端设备102的用户的社交网络信息或客户端场所系统210选择的场所)可操作地向消息传递客户端应用104提供媒体叠加。媒体叠加可包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、徽标、动画和声音效果。视觉效果的示例包括颜色叠加。音频和视觉内容或视觉效果可以在客户端设备102处被应用于媒体内容项(例如照片)。例如,媒体叠加包括可被叠加在由客户端设备102生成的照片之上的文本。在另一个示例中,媒体叠加包括位置(例如威尼斯海滩)的标识、现场活动的名称或商家的名称(例如海滩咖啡馆)。在另一个示例中,注释系统206使用客户端设备102的地理位置来识别媒体叠加,该媒体叠加包括在客户端设备102的地理位置处的商家的名称。媒体叠加可以包括与商家相关联的其他标记。媒体叠加可被存储在数据库120中并且可以通过数据库服
务器118来访问。
57.在一个示例实施例中,注释系统206提供基于用户的发布平台,该平台使用户能够在地图上选择地理位置并上载与所选地理位置相关联的内容。用户还可指定在什么情况下应将特定内容提供给其他用户。注释系统206生成包括所上载内容的媒体叠加,并将所上载内容与所选地理位置相关联。
58.在另一个示例实施例中,注释系统206提供基于商家的发布平台,该平台使商家能够通过投标过程选择与地理位置相关联的特定媒体叠加。例如,注释系统206在预定的时间量内将出价最高的商家的媒体叠加与对应的地理位置相关联。
59.图3是示出根据某些示例实施例的可存储在消息传递服务器系统108的数据库120中的数据300的示意图。尽管数据库120的内容被示出为包括多个表,但是应当理解,数据可以以其他类型的数据结构(例如作为面向对象的数据库)来存储。
60.数据库120包括存储在消息表314中的消息数据。实体表302存储包括实体图304的实体数据。在实体表302中为其维护记录的实体可包括个人、公司实体、组织、对象、地点、事件等。不管类型如何,消息传递服务器系统108所存储的数据有关的任何实体都可以是公认的实体。每个实体具有唯一的标识符以及实体类型标识符(未示出)。
61.实体图304还存储关于实体之间的关系和关联的信息。这样的关系可以例如是社交的、专业的(例如在同一家公司或组织中工作)、基于兴趣的或基于活动的。
62.数据库120还以滤镜的示例形式将注释数据存储在注释表312中。针对其数据被存储在注释表312中的滤镜与视频(针对其数据被存储在视频表310中)和/或图像(针对其数据被存储在图像表308中)相关联并且被应用于该视频和/或图像。在一个示例中,滤镜是在向接收方用户呈现的过程中被显示为叠加在图像或视频上的叠加。滤镜可以是各种类型的,包括当发送方用户正在编写消息时,来自由消息传递客户端应用104向发送方用户呈现的滤镜库中的用户选择的滤镜。其他类型的滤镜包括可基于地理位置呈现给发送方用户的地理位置滤镜(也称为地理滤镜)。例如,基于由客户端设备102的全球定位系统(gps)单元所确定的地理位置信息,消息传递客户端应用104可在用户界面内呈现特定于邻居或特定位置的地理位置滤镜。另一类型的滤镜是数据滤镜,它可基于在消息创建过程期间由客户端设备102收集的其他输入或信息,由消息传递客户端应用104选择性地将其呈现给发送方用户。数据滤镜的示例包括特定位置处的当前温度、发送方用户正在行进的当前速度、客户端设备102的电池寿命或当前时间。
63.可存储在图像表308内的其他注释数据是所谓的“镜头”数据。“镜头”可以是可添加到图像或视频中的实时的特殊效果和声音。
64.如上所述,视频表310存储视频数据,在一个实施例中,该视频数据与在消息表314内为其维护记录的消息相关联。类似地,图像表308存储与消息相关联的图像数据,其中,在消息表314内为该消息存储消息数据。实体表302可将来自注释表312的各种注释与存储在图像表308和视频表310中的各种图像和视频相关联。
65.故事表306存储与消息以及相关联的图像、视频或音频数据的集合有关的数据,这些数据被编译成一个集合(例如故事或图库)。特定集合的创建可以由特定用户(例如在实体表302中为其维护记录的每个用户)发起。用户可以以该用户已经创建和发送/广播的内容集合的形式创建“个人故事”。为此,消息传递客户端应用104的用户界面可包括用户可选
择的图标,以使发送方用户能够将特定内容添加到他或她的个人故事中。
66.集合还可构成“现场故事”,它是来自多个用户的内容的集合,该内容的集合是手动、自动或使用手动和自动技术的组合创建的。例如,“现场故事”可从各种位置和事件组成用户提交的内容的策展流。例如,可以经由消息传递客户端应用104的用户界面向其客户端设备102启用了位置服务并且在特定时间处在共同位置或事件的用户呈现选项,以向特定的现场故事贡献内容。现场故事可由消息传递客户端应用104基于他或她的位置识别给用户。最终的结果是从社区角度讲的“现场故事”。
67.另一类型的内容集合被称为“位置故事”,其使得其客户端设备102位于特定地理位置内(例如在学院或大学校园内)的用户能够对特定集合做出贡献。在一些实施例中,对位置故事的贡献可能需要二级认证,以验证最终用户属于特定组织或其他实体(例如是大学校园中的学生)。
68.图4是示出根据一些实施例的消息400的结构的示意图,该消息400由消息传递客户端应用104生成以用于与另一消息传递客户端应用104或消息传递服务器应用114进行通信。特定消息400的内容被用于填充消息传递服务器应用114可访问的、存储在数据库120中的消息表314。类似地,消息400的内容被存储在存储器中,作为客户端设备102或应用服务器112的“传输中(in-transit)”或“运行中(in-flight)”数据。消息400被示为包括以下成分:
69.·
消息标识符402:识别消息400的唯一标识符。
70.·
消息文本有效载荷404:将由用户通过客户端设备102的用户界面生成的并被包括在消息400中的文本。
71.·
消息图像有效载荷406:由客户端设备102的摄像头组件采集或从客户端设备102的存储器中取得的并被包括在消息400中的图像数据。
72.·
消息视频有效载荷408:由摄像头组件采集的或从客户端设备102的存储器组件中取得的并被包括在消息400中的视频数据。
73.·
消息音频有效载荷410:由麦克风采集的或从客户端设备102的存储器组件中取得的并被包括在消息400中的音频数据。
74.·
消息注释412:表示要应用于消息400的消息图像有效载荷406、消息视频有效载荷408或消息音频有效载荷410的注释的注释数据(例如滤镜、贴纸(sticker)或其他增强功能)。
75.·
消息持续时间参数414:以秒为单位指示消息400的内容(例如消息图像有效载荷406、消息视频有效载荷408,和消息音频有效载荷410)要经由消息传递客户端应用104呈现给用户或使用户可以访问的时间量的参数值。
76.·
消息地理位置参数416:与消息400的内容有效载荷相关联的地理位置数据(例如纬度和经度坐标)。多个消息地理位置参数416值可被包括在有效载荷中,这些参数值中的每一个都与内容中包括的相应的内容项相关联(例如消息图像有效载荷406中的特定图像、或消息视频有效载荷408中的特定视频)。
77.·
消息故事标识符418:识别值,该值识别与消息400的消息图像有效载荷406中的特定内容项相关联的一个或多个内容集合(例如“故事”)。例如,消息图像有效载荷406内的多个图像可各自使用标识符值与多个内容集合相关联。
78.·
消息标记420:一个或多个标记,每个标记指示消息有效载荷中包括的内容的主题。例如,在消息图像有效载荷406中包括的特定图像描绘了动物(例如狮子)的情况下,可以在消息标记420内包括指示相关动物的标记值。标记值可基于用户输入手动生成,或者可使用例如图像识别自动生成。
79.·
消息发送方标识符422:指示在其上生成消息400并且从其发送消息400的客户端设备102的用户的标识符(例如消息传递系统标识符、电子邮件地址,或设备标识符)。
80.·
消息接收方标识符424:指示消息400被寻址到的客户端设备102的用户的标识符(例如消息传递系统标识符、电子邮件地址或设备标识符)。
81.消息400的各个成分的内容(例如值)可以是指向在存储内容数据值的表中的位置的指针。例如,消息图像有效载荷406中的图像值可以是指向图像表308中的位置的指针(或地址)。类似地,消息视频有效载荷408中的值可指向视频表310中存储的数据,消息注释412中存储的值可指向注释表312中存储的数据,消息故事标识符418中存储的值可指向故事表306中存储的数据,以及消息发送方标识符422和消息接收方标识符424中存储的值可指向实体表302中存储的用户记录。
82.图5是示出了访问限制过程500的示意图,根据该访问限制过程500,对内容(例如短暂消息502和数据的相关联多媒体有效载荷)或内容集合(例如短暂消息故事504)的访问可以是时间受限的(例如短暂的)。
83.短暂消息502被示出为与消息持续时间参数506相关联,消息持续时间参数506的值确定短暂消息502将被消息传递客户端应用104显示给短暂消息502的接收用户的时间量。在一个实施例中,在消息传递客户端应用104是应用客户端的情况下,短暂消息502可以由接收用户查看最多10秒,这取决于发送用户使用消息持续时间参数506指定的时间量。
84.消息持续时间参数506和消息接收方标识符424被示出为是消息计时器512的输入,消息计时器512负责确定短暂消息502被示出给由消息接收方标识符424识别的特定接收用户的时间量。特别地,短暂消息502将仅在由消息持续时间参数506的值所确定的时间段内显示给相关的接收用户。消息计时器512被示出为向更通用的短暂计时器系统202提供输出,该短暂计时器系统202负责向接收用户显示内容(例如短暂消息502)的总体定时。
85.短暂消息502在图5中示出为被包括在短暂消息故事504(例如,个人故事,或事件故事)中。短暂消息故事504具有相关联的故事持续时间参数508,该故事持续时间参数508的值确定了短暂消息故事504被呈现并且对于消息传递系统100的用户可访问的持续时间。故事持续时间参数508例如可以是音乐会的持续时间,其中短暂消息故事504是与该音乐会有关的内容的集合。替代地,当执行短暂消息故事504的建立和创建时,用户(拥有用户或策展人用户)可以指定故事持续时间参数508的值。
86.此外,短暂消息故事504内的每个短暂消息502具有关联的故事参与参数510,其值确定了在短暂消息故事504的上下文中将可访问短暂消息502的持续时间。因此,在短暂消息故事504自身根据故事持续时间参数508到期之前,特定短暂消息502可能在短暂消息故事504的上下文中“到期”并且变得不可访问。故事持续时间参数508、故事参与参数510,和消息接收方标识符424各自向故事计时器514提供输入,该故事计时器514可操作地确定短暂消息故事504的特定短暂消息502是否将显示给特定接收用户,如果是,显示多长时间。注意,由于消息接收方标识符424,短暂消息故事504还知道特定接收用户的身份。
87.因此,故事计时器514可操作地控制相关联的短暂消息故事504的整个寿命以及短暂消息故事504中包括的单独的短暂消息502。在一个实施例中,在该短暂消息故事504中的每个短暂消息502在故事持续时间参数508指定的时间段内保持可见和可访问。在另一个实施例中,某些短暂消息502可以在短暂消息故事504的上下文中基于故事参与参数510到期。注意,即使在短暂消息故事504的上下文内,消息持续时间参数506仍可确定向接收用户显示特定短暂消息502的持续时间。因此,消息持续时间参数506确定特定短暂消息502显示给接收用户的持续时间,无论接收用户是否正在查看短暂消息故事504的上下文的内部或外部的短暂消息502。
88.基于特定短暂消息502已经超过相关联的故事参与参数510的确定,短暂计时器系统202还可以从短暂消息故事504中移除特定短暂消息502。例如,当发送用户已经建立了从发布起24小时的故事参与参数510时,短暂计时器系统202将在指定的24小时后从短暂消息故事504中移除相关的短暂消息502。短暂计时器系统202还操作以在短暂消息故事504内的每个短暂消息502的故事参与参数510到期时或者在短暂消息故事504自身已经根据故事持续时间参数508到期时,移除短暂消息故事504。
89.在某些使用情况下,特定短暂消息故事504的创建者可指定无限的(indefinite)故事持续时间参数508。在这种情况下,短暂消息故事504中最后剩余的短暂消息502的故事参与参数510的到期将确定短暂消息故事504自身何时到期。在这种情况下,具有新的故事参与参数510的添加到短暂消息故事504中的新短暂消息502,有效地将短暂消息故事504的寿命延长为等于故事参与参数510的值。
90.响应于短暂计时器系统202确定短暂消息故事504已到期(例如不再可访问),短暂计时器系统202与消息传递系统100(例如具体地,消息传递客户端应用104)通信以使与相关的短暂消息故事504相关联的标记(例如图标)不再显示在消息传递客户端应用104的用户界面中。类似地,当短暂计时器系统202确定特定短暂消息502的消息持续时间参数506已到期时,短暂计时器系统202使消息传递客户端应用104不再显示与短暂消息502相关联的标记(例如图标或文本识别)。
91.图6a示出了根据一些示例实施例的客户端场所系统210的示例内部功能组件。如图所示,客户端场所系统210包括位置引擎600、图像引擎605、环境分类引擎610、场所分类引擎615、对象分类引擎620、选择引擎625,和显示引擎630。根据一些示例实施例,位置引擎600被配置为向位置服务器发送位置请求。例如,该请求可包含从客户端设备(例如客户端设备102)的机载gps传感器生成的纬度和经度信息。位置服务器(参见图6b)可以使用纬度和经度信息来确定哪些场所离客户端设备最近并向客户端设备发送该最近的场所(例如最多最近的五个场所)。在一些示例实施例中,该请求还包括客户端设备可见的ip网络。在那些示例实施例中,位置服务器可以使用可见ip网络的名称或类型来进一步确定哪些场所离客户端设备最近。
92.图像引擎605使用客户端设备102的图像传感器来管理识别一个或多个图像。在一些示例实施例中,图像引擎605识别消息传递客户端应用104已经生成(并存储在图像表308中)的图像,并将它们导入客户端场所系统210中以进行进一步处理。在一些示例实施例中,图像引擎605与客户端设备102的图像传感器接口连接以生成一个或多个图像。此外,在任何示例实施例中,由图像引擎605识别的图像可以是在记录视频时正动态地显示在客户端
设备102的屏幕上的现场视频馈送的一部分。
93.环境分类引擎610被配置为接收由图像引擎605识别的图像,并且将每个图像分类为室外环境的图像或室内环境的图像。由环境分类引擎610生成的分类可以被存储为每个分类图像的元数据(例如作为图像文件的元数据、或引用图像文件的单独数据)。在一些示例实施例中,环境分类引擎610被实现为机器学习方案,例如卷积神经网络。可以在室外和室内环境的图像训练集中训练环境分类引擎610中的卷积神经网络。训练集中所成像的室外环境的示例包括公园、街道、飞机内部、圆形剧场等。训练集中所成像的室内环境的示例包括保龄球馆、卧室、厨房、教室、宴会厅、办公室、剧院等。在一些示例实施例中,如本领域普通技术人员所理解的,由环境分类引擎610输出的分类被输出为给定图像是特定环境的数值可能性,(例如,公园的图像可产生以下分类可能性:外部=0.93,内部=0.20,其中,小数对应百分比)。
94.场所分类引擎615被配置为接收由图像引擎605识别的图像,并且将每个图像分类为一类场所。场所分类引擎615生成的分类可被存储为每个分类的图像文件的元数据或者被存储为引用图像文件的单独数据。在一些示例实施例中,场所分类引擎615被实现为机器学习方案,诸如卷积神经网络。可以在不同类型的场所或地点的图像训练集上训练场所分类引擎615中的卷积神经网络。与环境分类引擎610(其输出室内和室外环境的可能性)相比,场所分类引擎615被配置为输出给定图像是已知特定地点(例如酒吧、意大利饭店、公园、海滩)的图像的可能性。可以在包括不同地点的图像(例如酒吧的图像、海滩的图像、娱乐场所的图像、山脉的图像)的图像训练集上训练场所分类引擎615中的卷积神经网络。在一些示例实施例中,如本领域普通技术人员所理解的,由场所分类引擎615输出的分类被输出为给定图像是特定场所的数值可能性(例如海滩的图像可产生以下分类可能性:海滩=0.83,院子=0.75,酒吧=0.34,意大利饭店=0.30)。
95.对象分类引擎620被配置为对图像中描绘的物理对象进行分类。由对象分类引擎620生成的分类可被存储为每个分类图像文件的元数据或被存储为引用对应图像文件的单独数据。在一些示例实施例中,对象分类引擎620被实现为机器学习方案,例如卷积神经网络。可以在诸如咖啡马克杯、酒杯、比萨饼、圣诞树、游泳池、车辆、动物等的不同类型的物理对象的图像训练集上训练对象分类引擎620中的卷积神经网络。在一些示例实施例中,如本领域普通技术人员所理解的,由对象分类引擎620输出的分类被输出为图像中的给定图像特征是特定对象的数值可能性(例如给定图像中有界关注区域(roi)内的红酒杯图像特征可具有以下分类可能性:红酒杯=0.93,青蛙=0.05,篮球=0.30,咖啡马克杯=0.60)。
96.根据一些示例实施例,选择引擎625管理使用由其他引擎生成的分类数据从场所数据集(例如从应用服务器返回的场所数据集)中选择场所。此外,选择引擎625还可被配置为基于所选择的场所类型来选择一个或多个ui显示元素。例如,如果选择引擎625确定客户端设备102在酒吧中(例如酒吧子类别),则选择引擎625自动选择卡通化身和可选的镜头数据以叠加在一个或多个图像上。
97.显示引擎630被配置为生成具有所选择的显示元素的一个或多个图像(例如图像、现场视频馈送)的呈现。继续以上示例,显示引擎630可在酒吧的现场图像馈送上显示持有马提尼酒的人的卡通化身。根据一些示例实施例,具有叠加的显示元素的现场图像馈送(例如图像、视频序列)的一部分可被存储或以其他方式发布在社交网络上作为短暂消息502
(例如经由注释系统206)。
98.图6b示出了根据一些示例实施例的服务器场所系统150的示例功能组件。如图所示,服务器场所系统150包括接口引擎633和场所引擎685。接口引擎633被配置为从客户端设备102接收请求,例如场所请求。场所引擎635被配置为使用在场所请求中发送的信息来确定最接近客户端设备102的场所。场所引擎635还被配置为向客户端设备102发送最接近场所的集合作为对位置请求的响应。在一些示例实施例中,返回到客户端设备102的场所的集合是最接近客户端设备102的五个场所。
99.此外,在一些示例实施例中,客户端场所系统210的一个或多个引擎被集成到服务器场所系统150中作为储备物(fallback)。例如,如果客户端设备102没有足够的计算能力(例如处理速度、存储器空间)来执行分类和/或选择,则可以从应用服务器112执行环境分类引擎610、场所分类引擎615、对象分类引擎620、选择引擎625的实例。在那些实施例中,客户端设备102将图像数据和位置数据发送到服务器场所系统150以进行处理。服务器场所系统执行分类(例如图7及以下的操作),并将数据发送回客户端设备以用于进一步的操作(例如基于所识别的场所来显示叠加数据)。
100.图7示出了根据一些示例实施例的用于使用机器学习分类来实现改进的场所选择的方法700的流程图。在操作705,位置引擎600向服务器(例如应用服务器112)发送通信,该通信请求最接近客户端设备的一组场所。该请求可包括由客户端设备生成的gps数据以及用于识别附近场所(例如可见ip网络)的其他信息。
101.在操作710,位置引擎600从服务器接收场所数据集。例如,位置引擎可接收最接近客户端设备102的五个场所。在操作715,图像引擎605使用客户端设备102生成一个或多个图像。例如,图像引擎605使用客户端设备102上的图像传感器生成图像或视频(例如顺序地多个图像)。在一些示例实施例中,客户端设备102在客户端设备102的屏幕上显示现场视频馈送,并且从现场视频流中采样操作715中的一个或多个图像。
102.在一些示例实施例中,操作715在操作705之前发生;也就是说,在发送场所请求之前生成图像。例如,用户可生成图像,并且响应于生成图像,客户端场所系统210发送操作705中的请求以确定客户端设备102在大约拍摄图像时所出处的位置。
103.在操作720,客户端场所系统210基于图像所描绘的内容对一个或多个图像进行分类。例如,如果在操作715处生成的图像是咖啡店中的咖啡马克杯的图像,则在操作720处,客户端场所系统210可使用机器学习方案来识别该图像是包括咖啡马克杯的室内环境的图像。在一些示例实施例中,客户端场所系统210将机器学习方案实现为一个或多个神经网络。操作720的分类的进一步细节如下面参考图8详细讨论。
104.在操作725,选择引擎625基于在操作720生成的分类数据从场所数据集中选择场所。例如,选择引擎625可确定,基于分类数据(例如室内环境、所描绘的咖啡马克杯),咖啡店是最有可能的场所类型,并且因此选择咖啡店场所类型。
105.在操作730,选择引擎625基于所选择的场所来选择一个或多个显示对象。所选择的内容可在数据结构中与场所类别和子类别预先关联。在操作735,根据一些示例实施例,显示引擎630生成具有所选显示对象的图像的呈现。
106.在一些示例实施例中,选择引擎625将关于选择了哪些显示对象的信息传递到注释系统206,然后注释系统206可以使用该信息来生成短暂消息502。在操作740,根据一些示
例实施例,注释系统206发布呈现到社交网络平台作为短暂消息502。
107.图8示出了根据一些示例实施例的生成针对图像的分类的方法800的流程图。根据一些示例实施例,方法800的操作805-815可被执行为图7中的操作720的子例程。在操作805,环境分类引擎610接收图像作为输入,并生成该图像是外部环境的图像的数值可能性和该图像是内部环境的图像的数值可能性。在操作810,场所分类引擎615接收图像作为输入,并生成图像是不同可能场所的图像的数值可能性。输出的数值可能性可取决于已经在多少个场所上训练了场所分类引擎615。例如,如果在十个不同场所的图像上训练卷积神经网络,则在操作810,场所分类引擎615针对给定图像生成十个不同的数值可能性。
108.在操作815,对象分类引擎620生成在给定图像中描绘的对象是已知类型的对象的数值可能性。例如,对象分类引擎620可首先应用图像特征检测方案(例如索贝尔(sobel)边缘检测、斑点检测等)以在给定图像内找到不同关注区域(roi)。每个roi是环绕给定图像特征的多边形。然后可将每个roi的图像数据输入到对象分类引擎620中以进行分类。对于每个roi,对象分类引擎620可生成roi包括给定类型的对象的多个可能性。例如,如果在五个不同对象的图像上训练对象分类引擎620,则在操作815,对象分类引擎620为每个roi生成五个不同的数值可能性。
109.图9示出了根据一些示例实施例的用于从场所数据集中选择一个或多个场所的方法900的流程图。在操作905,选择引擎625识别潜在场所的集合(例如从应用服务器112返回的场所数据集)。在操作910,选择引擎625滤除与在图8的操作805处生成的环境分类数据不匹配的潜在场所集中的场所。例如,如果环境分类数据指示给定图像是外部环境的图像,则在操作910处过滤是室内环境的潜在场所。可以不在操作910滤除具有室外和室内元数据标记二者的场所(例如在具有著名的室内娱乐场所区域以及还具有著名的室外游泳池区域的古希腊之后建模的拉斯维加斯娱乐场所),因为用户可能在该场所的外部区域或内部区域中。在操作910,选择引擎625确定操作910的过滤过程是否已经充分缩小了场所的数量。例如,如果在操作910处有五个场所并且滤除了四个场所,则在操作910处由选择引擎625输出剩余场所作为选择。在一些实施例中,如果在操作915处剩余预设数量的场所,则在操作920处输出剩余场所作为选择。可以将剩余场所(和关联的叠加内容)作为选项呈现给用户,并且用户可以选择正确的场所。在一些示例实施例中,当选择引擎625向用户呈现不同的场所选项时,选择引擎625记录用户最经常选择哪个场所。然后,当向用户呈现多个场所选项时,将用户最常选择的场所放置在选项列表的顶部。
110.假设仍然存在多个场所(例如集合中不止一个场所),则方法900继续操作905。在操作905,选择引擎625确定剩余场所中的任何场所是否具有超过预定阈值的在操作810处生成的场所分类。如果剩余场所中的一个或多个的场所分类超过了预定阈值,则在操作930处输出一个或多个场所作为选择。例如,如果将阈值设置为.90,并且意大利饭店接收的数值可能性为.45,而咖啡店接收的数值可能性为.95,则在操作930中选择咖啡店。
111.此外,在一些示例实施例中,由另一引擎识别的对象可以将场所的数值可能性推到阈值之上。每个识别的对象可以具有影响对应场所的数值可能性的设定权重或值。例如,假设阈值被设置为0.90,意大利饭店接收的数值可能性为.70,而咖啡店接收的数值可能性为.80,因此两者均在阈值以下,未被选择。然而,假定稍后由对象分类引擎620检测到咖啡杯。对咖啡杯的识别可以将咖啡店的数值可能性加0.2,从而将咖啡店推到阈值之上,并使
得咖啡店被选择引擎625选择。
112.假设在操作925,没有场所分类是强信号(例如超过阈值的信号),则方法900继续进行到操作935。在操作935,选择引擎625确定在操作815处识别的检测对象中的任何检测对象是否匹配剩余场所的标记。如果对象与标记匹配,则在操作940处输出场所作为选择。例如,如果检测到咖啡马克杯并且咖啡马克杯是食物类别和咖啡店子类别的标记,则在操作940处选择集合中与食物或咖啡店匹配的任何场所。另一方面,如果在图像中未检测到可识别的对象,或者如果检测到的对象与剩余场所不匹配,则在操作945,输出剩余场所作为选择。例如,如果剩余三个场所,则可以将这三个场所显示为选项给用户,用户可以选择正确的场所。
113.此外,如从操作935延伸到925的虚线箭头所示,在操作935处分析的对象可触发场所数值可能性的重新调整(例如识别出的对象将场所推到阈值之上)。
114.在一些示例实施例中,操作925被跳过。例如,在操作915之后,该过程直接继续进行到操作935,以进行基于对象的选择。在这些实施例中,客户端场所系统正在滤除不匹配的环境,然后使用对象来确定正确的场所。
115.此外,在一些示例实施例中,所选场所可以被进一步修改以指示它们是场所的外部还是场所的内部。例如,不是选择“娱乐场所”作为场所,而是选择“娱乐场所-外部”。与场所的图像一起显示的ui内容可以取决于场所以及用户是在场所内部还是外部。
116.图10示出了根据一些示例实施例的可用于过滤或以其他方式选择场所并显示内容的数据结构1005。在一些示例实施例中,数据被存储在关系数据库、图形数据库和其他形式的结构化数据中。示例数据结构1005包括类别,类别包括食物类别1010、艺术和娱乐类别1015、商店类别1020、室外类别1025、旅行类别1030,以及教育类别1035。每个类别可以是关联的或以其他方式链接到进一步细化给定类别的子类别。例如,食物类别1010被细分为包括墨西哥饭店食物子类别1010a、红酒吧子类别1010b和咖啡店子类别1010c的子类别。此外,艺术和娱乐类别1015被细分为包括体育馆子类别1015a、电影院子类别1015b和博物馆子类别1015c的子类别。此外,商店类别被进一步细分为包括加油站子类别1020a、购物中心类别1020b和高端商店类别1020c的子类别。此外,室外类别1025被细分为包括海滩子类别1025a、公园子类别1025b和湖泊类别1025c的子类别。此外,旅行类别1030被进一步细分为机场类别1030a、火车站类别1030b和旅馆类别1030c。此外,教育类别1035被细分为包括大学子类别1035a、社区大学子类别1035b和高中子类别1035c的子类别。尽管在图10的示例中描绘了有限数量的类别和子类别,但是本领域普通技术人员应当理解,可以根据需要扩展类别和对应子类别的数量以包括附加的类别和子类别。
117.作为场所数据集的一部分返回的每个场所都被预先分类为数据结构的类别或子类别中的至少一个。每个类别和子类别都可以与元数据标记关联,这些元数据标记可用于基于机器学习生成的分类来过滤或选择类别。数据结构和标记可以存储在客户端设备(例如客户端设备102)的本地存储器上。
118.图11示出了根据一些示例实施例的具有数据结构的一部分的元数据标记的示例。特别地,显示食物类别1010和与其相关联的包括墨西哥饭店食物子类别1010a、红酒吧子类别1010b和咖啡店子类别1010c的子类别。类别和子类别中的每一个都有描述对应数据对象的元数据标记。标记可以用于过滤和选择如图9中所讨论的场所。如图所示,食物类别同时
具有室内和室外标记,因为食物场所可以位于室外、室内或同时位于室内和室外(带有室外露台的室内饭店)。同样,子类别还具有指示场所是室内、室外还是两者兼有的环境标记。子类别具有进一步描述可能被(例如,对象分类引擎620)检测到的特征或对象的附加标记,例如,酒吧1010b具有红酒瓶标记和红酒杯标记。当检测到的对象与给定标记匹配时,可以如图9中所讨论的那样选择场所。
119.此外,类别和子类别中的每一个可具有指示类别或子类别场所类型的相关联或参考的ui内容。例如,如图所示,红酒吧子类别1010b被链接到对应于相关联的类别或子类别的类型的ui内容1100(例如化身、字幕)。ui内容的示例在图12-14中示出。
120.图12示出了根据一些示例实施例的具有叠加内容1210a和1210b的红酒吧的图像1200的示例呈现。在图12的示例中,客户端场所系统210确定用户(例如,人类用户使用客户端设备102对红酒吧进行拍照)在室内环境中并且已经在图像1200中检测到红酒杯1205。客户端场所系统然后使用上述方法700-900和数据结构1000选择红酒吧子类别。响应于酒吧选择,取得相关联的ui内容1100并将其叠加在图像1200上。特别地,如图所示,具有“红酒时间!”字幕1210a的用户的女性化身1210b被叠加在红酒吧图像1200上。在一些示例实施例中,集成到图像中的ui内容是三维的(例如看起来在红酒吧台上跳舞的跳舞卡通热狗(hotdog))。
121.图13示出了根据一些示例实施例的具有叠加内容1305的娱乐场所的图像1300的示例呈现。在图13所示的示例中,用户采集了娱乐场所的图像,并且客户端场所系统210实现上述方法以确定该图像是室内环境的图像,并且该图像1300还描绘了娱乐场所代币和/或绿色毡桌(例如,桌1310)。响应于该确定,客户端场所系统选择室内娱乐场所环境,将叠加内容1305(持有代币的用户的卡通化身)集成到图像1300上。
122.图14示出了根据一些示例实施例的具有叠加内容1410和1415的游泳池区域的示例图像1400。在图14的示例中,客户端场所系统210可(根据环境数据)确定用户在娱乐场所处但是在建筑物外。此外,对象分类引擎620识别了池1405。响应于该确定,客户端场所系统210选择用于娱乐场所的室外内容并将其叠加在图像1400上。特别地,字幕“维加斯宝贝!”1415和用户的斜躺用户化身1410被显示在图像1400上。
123.如上所述,在图12-14中显示的呈现然后可以被发布到社交网络作为短暂消息502。以这种方式,本文公开的场所系统实现视觉提示、逻辑和特定的数据结构,这些视觉提示、逻辑和特定的数据结构允许客户端设备快速地并且更准确和快速地确定当前场所,并在用户处于场所中或在场所附近时发布场所定制的短暂消息。
124.图15是示出根据一些示例实施例的可以安装在机器上的软件架构的示例的框图。图15仅是软件架构的非限制性示例,并且将理解,可以实现多个其他架构以促进本文描述的功能。软件架构1502可以在诸如图16的机器1600的硬件上执行,机器1600尤其包括处理器1610、存储器1630和i/o组件1650等。代表性硬件层1504被示出并且可以表示例如图16的机器1600。代表性硬件层1504包括具有相关联的可执行指令1508的一个或多个处理单元1506。可执行指令1508表示软件架构1502的可执行指令,包括图7-图9的方法、模块等的实现。硬件层1504还包括也具有可执行指令1508的存储器或存储模块1510。硬件层1504还可包括其他硬件1512,其表示硬件层1504的任何其他硬件,例如作为机器1500的一部分示出的其他硬件。
125.在图15的示例架构中,软件架构1502可以被概念化为层的堆叠,其中每个层提供特定的功能。例如,软件架构1502可包括诸如操作系统1514、库1516、框架/中间件1518、应用1520和呈现层1544的层。在操作上,这些层内的应用1520或其他组件可通过软件堆栈来调用api调用1524,并且响应于api调用1524,接收响应、返回值等(被示出为消息1526)。所示出的层本质上是代表性的,并非所有软件架构都具有所有层。例如,某些移动或专用操作系统可能不提供框架/中间件1518层,而其他操作系统可提供此类层。其他软件架构可包括附加的或不同的层。
126.操作系统1514可管理硬件资源并提供公共服务。操作系统1514可包括例如内核1528、服务1530和驱动器1532。内核1528可以充当硬件和其他软件层之间的抽象层。例如,内核1528可负责存储器管理、处理器管理(例如调度)、组件管理、联网、安全性设置等。服务1530可为其他软件层提供其他公共服务。驱动器1532可负责控制底层硬件或与底层硬件接口连接。例如,驱动器1532可包括显示驱动器、相机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如通用串行总线(usb)驱动器)、驱动器、音频驱动器、电源管理驱动器等,取决于硬件配置。
127.库1516可提供可被应用1520和/或其他组件和/或层使用的公共基础结构。库1516通常提供如下功能:允许其他软件模块以比通过直接与基础操作系统1514功能(例如内核1528、服务1530或驱动器1532)接口连接更容易的方式执行任务。库1516可包括系统库1534(例如c标准库),该系统库1534可提供诸如存储器分配功能、字符串操纵功能、数学功能等的功能。此外,库1516可包括诸如媒体库的api库1536(例如,用于支持各种媒体格式(例如mpeg4、h.264、mp3、aac、amr、jpg、png)的呈现和操作的库)、图形库(例如,可用于在显示器上呈现2d和3d图形内容的opengl框架)、数据库库(例如,可提供各种关系数据库功能的sqlite)、网络库(例如,可提供网络浏览功能的webkit),等。库1516还可包括各种各样的其他库1538,以向应用1520和其他软件组件/模块提供多个其他api。
128.框架1518(有时也称为中间件)可提供可由应用1520或其他软件组件/模块使用的高级通用基础设施。例如,框架1518可提供各种图形用户界面(gui)功能、高级资源管理、高级位置服务等。框架1518可提供可被应用1520和/或其他软件组件/模块使用的广泛的其他api,其中一些可能是特定于特定操作系统或平台的。
129.应用1520包括内置应用1540和/或第三方应用1542。代表性内置应用1540的示例可包括但不限于:家庭应用、联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传递应用,或游戏应用。
130.第三方应用1542可包括任何内置应用1540,以及各种各样的其他应用。在特定示例中,第三方应用1542(例如由特定平台的卖方以外的实体使用android
tm
或ios
tm
软件开发工具包(sdk)开发的应用)可以是在移动操作系统(例如ios
tm
、android
tm
、phone或其他移动操作系统)上运行的移动软件。在该示例中,第三方应用1542可以调用由诸如操作系统1514的移动操作系统提供的api调用1524,以促进本文描述的功能。
131.应用1520可利用内置的操作系统功能(例如内核1528、服务1530或驱动器1532)、库(例如系统库1534、api 1536和其他库1538)或框架/中间件1518来创建用户界面以与系统的用户进行交互。替代地或附加地,在一些系统中,与用户的交互可通过诸如呈现层1544的呈现层发生。在这些系统中,可将应用/模块“逻辑”与跟用户交互的应用/模块的各方面
分开。
132.一些软件架构利用虚拟机。在图15的示例中,这由虚拟机1548示出。虚拟机创建软件环境,在该软件环境中,应用/模块可以像它们在硬件机(例如图16的机器1600)上执行一样执行。虚拟机1548由主机操作系统(例如操作系统1514)托管,并且通常(尽管并非总是)具有虚拟机监控器1546,该虚拟机监控器1546管理虚拟机1548的操作以及与主机操作系统(例如操作系统1514)的接口。在虚拟机1548内执行的软件架构,例如操作系统1550、库1552、框架/中间件1554、应用1556,或呈现层1558。在虚拟机1548内执行的软件架构的这些层可以与先前描述的对应层相同或不同。
133.图16示出了根据示例实施例的计算机系统形式的机器1600的图解表示,其中可以执行一组指令以使该机器执行本文所讨论的方法中的任何一个或多个。具体地,图16示出了具有计算机系统的示例形式的机器1600的图解表示,在其中可以执行用于使机器1600执行本文讨论的任何一种或多种方法的指令1616(例如软件、程序、应用、小应用、应用程序或其他可执行代码)。例如,指令1616可使机器1600执行图16的方法xyz。另外地或替代地,指令1616可实现图7-图9等。指令1616将通用的、未编程的机器1600转换为被编程为以所描述的方式执行所描述和示出的功能的特定机器1600。在替代实施例中,机器1600作为独立设备运行,或者可耦接(例如联网)到其他机器。在网络部署中,机器1600可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份运行,或者在对等(或分布式)网络环境中作为对等机器运行。机器1600可包括但不限于:服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、pda、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如智能手表)、智能家居设备(例如智能电器)、其他智能设备、网络家电、网络路由器、网络交换机、网桥,或能够依次或以其他方式执行指令1616的任何机器,这些指令指定了机器1600要采取的动作。此外,尽管仅示出了单个机器1600,但术语“机器”还应认为为包括单独地或共同地执行指令1616以执行本文讨论的方法中的任何一个或多个方法的机器1600的集合。
134.机器1600可包括处理器1610、存储器1630和i/o组件1650,它们可以被配置为例如经由总线1602彼此通信。在示例实施例中,处理器1610(例如中央处理单元(cpu)、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、asic、射频集成电路(rfic)、另一处理器,或其任何合适的组合)可包括例如可执行指令1616的处理器1612和处理器1614。术语“处理器”旨在包括可包括两个或更多个可同时执行指令的独立处理器(有时称为“核”)的多核处理器。虽然图16示出了多个处理器1610,机器1600可包括具有单个核的单个处理器、具有多个核的单个处理器(例如多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。
135.存储器1630可包括主存储器1632、静态存储器1634和存储单元1636,它们都可以诸如经由总线1602被处理器1610访问。主存储器1630、静态存储器1634和存储单元1636存储体现本文所述方法或功能中的任何一个或多个的指令1616。在由机器1600执行期间,指令1616还可全部或部分地驻留在主存储器1632内、静态存储器1634内、存储单元1636内、处理器1610中的至少一个处理器内(例如在处理器的高速缓冲存储器内)或其任何组合。
136.i/o组件1650可以包括各种各样的组件,以接收输入、提供输出、产生输出、发送信息、交换信息、采集测量等。包括在特定机器中的特定i/o组件1650将取决于机器的类型。例
如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他此类输入机构,而无头(headless)服务器机器将可能不包括此类触摸输入设备。应当理解,i/o组件1650可包括在图16中未示出的多个其他组件。仅出于简化下面讨论的目的,根据功能对i/o组件1650进行分组,并且分组绝不是限制性的。在各种示例实施例中,i/o组件1650可包括输出组件1652和输入组件1654。输出组件1652可包括视觉组件(例如显示器,诸如,等离子体显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪,或阴极射线管(crt))、声学组件(例如扬声器)、触觉组件(例如振动马达、电阻机构)、其他信号发生器等。输入组件1654可包括字母数字输入组件(例如键盘、被配置为接收字母数字输入的触摸屏、光电键盘或其他字母数字输入组件)、基于点的输入组件(例如鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触知输入组件(例如物理按钮、提供触摸的位置和/或力或触摸手势的触摸屏,或其他触知输入组件)、音频输入组件(例如麦克风)等。
137.在进一步的示例实施例中,i/o组件1650可包括各种各样的其他组件中的生物特征组件1656、运动组件1658、环境组件1660或位置组件1662。例如,生物特征组件1656可包括用于检测表达(例如手部表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如血压、心率、体温、汗水或脑波)、识别人(例如语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1658可包括加速度传感器组件(例如加速度计)、重力传感器组件、旋转传感器组件(例如陀螺仪)等。环境组件1660可包括例如照明传感器组件(例如光度计)、温度传感器组件(例如检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如一个或多个检测背景噪声的麦克风)、接近度传感器组件(例如检测附近物体的红外传感器)、气体传感器(例如,用于为了安全而检测有害气体的浓度或测量大气中的污染物的气体检测传感器)、或可提供与周围物理环境相对应的指示、测量或信号的其他组件。位置组件1662可包括位置传感器组件(例如gps接收器组件)、高度传感器组件(例如检测可从哪个高度获得该空气压力的高度计或气压计)、取向传感器组件(例如磁力计)等。
138.可使用多种技术来实现通信。i/o组件1650可包括通信组件1664,该通信组件1664可操作以分别经由耦接(coupling)1682和耦接1672将机器1600耦接到网络1680或设备1670。例如,通信组件1664可包括网络接口组件或与网络1680接口连接的其它合适的设备。在进一步的示例中,通信组件1664可包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(nfc)组件、组件(例如低能耗)、组件和经由其它形态提供通信的其他通信组件。设备1670可以是另一机器或各种各样的外围设备(例如经由usb耦接的外围设备)中的任何一个。
139.此外,通信组件1664可检测标识符或包括可操作以检测标识符的组件。例如,通信组件1664可包括射频识别(rfid)标签读取器组件、nfc智能标记检测组件、光学读取器组件(例如用于检测诸如通用产品代码(upc)条形码的一维条形码、多维条形码(例如快速响应(qr)码、aztec码、数据矩阵、数字图形、最大码、pdf417、超码、ucc rss-2d条形码)和其他光学码的光学传感器),或声学检测组件(例如用于识别所标记的音频信号的麦克风)。另外,可以经由通信组件1664来获得各种信息,例如经由互联网协议(ip)地理位置来获得位置、经由信号三角测量来获得位置、经由检测可指示特定位置的nfc信标信号来获得位置等。
140.可执行指令和机器存储介质
141.各种存储器(即,1630、1632、1634和/或处理器1610的存储器)和/或存储单元1636可存储体现本文所述的任何一种或多种方法或功能或被其所用的一组或多组指令和数据结构(例如软件)。这些指令(例如指令1616)在由处理器1610执行时,引起各种操作以实现所公开的实施例。
142.如本文中所使用的,术语“机器存储介质”、“设备存储介质”、“计算机存储介质”是指相同的事物,并且可以在本公开中互换使用。术语指的是存储可执行指令和/或数据的单个或多个存储设备和/或介质(例如集中式或分布式数据库,和/或相关联的高速缓存和服务器)。因此,应将术语理解为包括但不限于固态存储器,以及光和磁介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质的特定示例包括:非易失性存储器,包括例如半导体存储器设备、例如可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、fpga和闪存设备;磁盘,例如内部硬盘和可移动磁盘;磁光盘;以及cd-rom和dvd-rom盘。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确排除载波、经调制的数据信号和其他此类介质,其中至少一些被如下讨论的术语“信号介质”涵盖。
143.传输介质
144.在各种示例实施例中,网络1680中的一个或多个部分可以是自组网、内联网、外联网、vpn、lan、wlan、wan、wwan、man、互联网、互联网的一部分、pstn的一部分、老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一种类型的网络、或两个或多个此类网络的组合。例如,网络1680或网络1680的一部分可包括无线或蜂窝网络,并且耦接1682可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或另一类型的蜂窝或无线耦接。在该示例中,耦接1682可实现多种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电服务(gprs)技术、增强型数据速率gsm演进(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准制定组织定义的其他标准、其他远程协议或其他数据传输技术。
145.指令1616可使用传输介质经由网络接口设备(例如通信组件1664中包括的网络接口组件)在网络1680上发送或接收,并且可以被许多众所周知的传输协议(例如超文本传输协议(http))中的任何一个利用。类似地,指令1616可使用传输介质经由到设备1670的耦接1672(例如对等耦接)发送或接收。术语“传输介质”和“信号介质”表示相同的事物,并且在本公开中可以互换使用。术语“传输介质”和“信号介质”应被认为包括能够存储、编码或携带由机器1600执行的指令1616的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进此类软件的通信。因此,术语“传输介质”和“信号介质”应被认为包括任何形式的调制数据信号、载波等。术语“调制数据信号”是指如下信号,该信号的一个或多个特性以在该信号中编码信息的方式被设置或改变。
146.词汇表
147.在本文中,“载波信号”是指能够存储、编码或携带指令1616以由机器1600执行的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种指令1616的通信。指令1616可使用传输介质通过网络接口设备以及使用多个众所周知的传输协议中的任
何一个在网络1680上发送或接收。
148.在本上下文中,“客户端设备”是指与通信网络1680接口连接以从一个或多个服务器系统或其他客户端设备102获取资源的任何机器1600。客户端设备102可以是但不限于:移动电话、台式计算机、笔记本电脑、pda、智能电话、平板电脑、超级本、上网本、多处理器系统、基于微处理器的或可编程的消费电子系统、游戏机、机顶盒或用户可用来接入网络1680的任何其他通信设备。
149.在此上下文中,“通信网络”是指网络1680的一个或多个部分,其可以是自组网、内联网、外联网、虚拟专用网(vpn)、局域网(lan)、无线局域网(wlan)、广域网(wan)、无线广域网(wwan)、城域网(man)、互联网、互联网的一部分、公共电话交换网(pstn)的一部分、老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一类型的网络,或两个或多个此类网络的组合。例如,网络或网络1680的一部分可包括无线或蜂窝网络,并且耦接可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或另一类型的蜂窝或无线耦接。在此示例中,耦接可实现多种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电服务(gprs)技术、增强型数据速率gsm演进(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准制定组织定义的其他标准、其他远程协议,或其他数据传输技术。
150.在本上下文中,“短暂消息”是指在时间限制的持续时间内可访问的消息400。短暂消息502可以是文本、图像、视频等。短暂消息502的访问时间可由消息发送器设置。替代地,访问时间可以是默认设置,也可以是接收方指定的设置。不管设置技术如何,消息400都是暂时的。
151.在本上下文中,“机器可读介质”是指能够临时或永久存储指令1616和数据的组件、设备或其他有形介质,并且可包括但不限于:随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪存、光学介质、磁性介质、高速缓存、其他类型的存储设备(例如可擦除可编程只读存储器(eprom))和/或其任何合适的组合。术语“机器可读介质”应被认为包括能够存储指令1616的单个介质或多个介质(例如集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”还应被理解为包括能够存储由机器1600执行的指令1616(例如代码)使得指令1616在由机器1600的一个或多个处理器1610执行时使得机器1600执行本文描述的任何一种或多种方法的任何介质或多种介质的组合。因此,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”自身不包括信号。
152.在本上下文中,“组件”是指具有边界的设备、物理实体或逻辑,该边界由提供对特定处理或控制功能的分区或模块化的功能或子例程调用、分支点、api或其他技术来定义。组件可通过它们与其他组件的接口进行组合以执行机器过程。组件可以是被设计为与其他组件以及通常执行相关功能的特定功能的程序的一部分一起使用的经封装的功能硬件单元。组件可构成软件组件(例如体现在机器可读介质上的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以某种物理方式被配置或设置。在各种示例实施例中,一个或多个计算机系统(例如独立计算机系统、客户端计算机系统,或服务器计算机系统)或计算机系统的一个或多个硬件组件(例如处理器1612或一组处理器1610)可以由软
件(例如应用或应用部分)配置为操作以执行本文所述的某些操作的硬件组件。硬件组件也可机械地、电子地或其任何合适的组合来实现。例如,硬件组件可包括被永久性地配置为执行某些操作的专用电路或逻辑。硬件组件可以是专用处理器,例如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件组件还可包括可编程逻辑或电路,其由软件临时配置为执行某些操作。例如,硬件组件可包括由通用处理器或其他可编程处理器执行的软件。在由此类软件进行配置之后,硬件组件变成专门被定制以执行配置的功能的特定机器(或机器1600的特定组件),并且不再是通用处理器1610。可以理解,机械地在专用和永久配置的电路中或者在临时配置的电路中(例如由软件配置的)实现硬件组件的决定可以由成本和时间考虑来驱动。因此,短语“硬件组件”(或“硬件实现的组件”)应理解为包括有形实体,其是物理构造的、永久配置的(例如硬连线的)或临时配置的(例如编程的),以某种方式操作或执行本文所述的某些操作的实体。
153.考虑到其中硬件组件被临时配置(例如编程)的实施例,每个硬件组件不需要在任何时刻被配置或实例化。例如,在硬件组件包括由软件配置为成为专用处理器的通用处理器1612的情况下,通用处理器1612可在不同时间被分别配置为不同的专用处理器(例如包括不同的硬件组件)。因此,软件对应地配置特定处理器1612或处理器1610,例如以在一个时刻构成一个特定硬件组件,而在另一个不同时刻构成另一个不同硬件组件。
154.硬件组件可向其他硬件组件提供信息并从其他硬件组件接收信息。因此,所描述的硬件组件可以被认为是通信耦接的。在同时存在多个硬件组件的情况下,可以通过在两个或更多个硬件组件之间的信号传输(例如通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件组件的实施例中,可以例如通过在多个硬件组件可以访问的存储器结构中存储和取得信息来实现此类硬件组件之间的通信。例如,一个硬件组件可执行操作并将该操作的输出存储在其通信耦接到的存储器设备中。然后,另一硬件组件可以在稍后的时间访问该存储器设备以取得和处理所存储的输出。硬件组件还可发起与输入或输出设备的通信,并且可以在资源(例如信息的集合)上进行操作。
155.本文所述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器1610执行。无论是临时配置还是永久配置,此类处理器1610都可以构成处理器实现的组件,该组件操作以执行本文所述的一个或多个操作或功能。如本文中所使用的,“处理器实现的组件”是指使用一个或多个处理器1610实现的硬件组件。类似地,本文描述的方法可以至少部分地由处理器实现,其中特定的处理器1612或处理器1610是硬件的示例。例如,一种方法的操作中的至少一些操作可以由一个或多个处理器1610或处理器实现的组件执行。此外,一个或多个处理器1610还可操作以在“云计算”环境中或作为“软件即服务”(saas)来支持相关操作的执行。例如,操作中的至少一些操作可由一组计算机来执行(作为包括处理器1610的机器1600的示例),其中这些操作可以经由网络1680(例如互联网)以及经由一个或多个适当的接口(例如api)来访问。某些操作的执行可分布在处理器1610之间,不仅驻留在单个机器1600内,而且跨多个机器1600部署。在一些示例实施例中,处理器1610或处理器实现的组件可位于单个地理位置中(例如在家庭环境、办公室环境,或服务器场中)。在其他示例实施例中,处理器1610或处理器实现的组件可分布在多个地理位置上。
156.在此上下文中,“处理器”是指根据控制信号(例如“命令”、“操作码”、“机器码”等)
操纵数据值并产生适用于操作机器1600的对应输出信号的任何电路或虚拟电路(由在实际处理器1612上执行的逻辑来仿真的物理电路)。处理器可以例如是中央处理单元(cpu)、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、asic、射频集成电路(rfic)或其任意组合。处理器1610可进一步是具有可同时执行指令1616的两个或更多个独立处理器1612、1614(有时称为“核”)的多核处理器1610。
157.在本上下文中,“时间戳”是指一系列的字符或编码信息,其识别何时发生特定事件,例如给出日期和时间,有时精确到几分之一秒。
158.以下是示例实施例:
159.1.一种方法,包括:使用客户端设备的一个或多个处理器向一个或多个服务器发送对场所数据的请求,所述请求包括由所述客户端设备生成的地理位置数据;以及从所述一个或多个服务器接收包括多个场所的场所数据集,所述多个场所中的每个场所与描述所述场所的标记相关联;识别由所述客户端设备生成的图像;使用机器学习方案对所述图像中描绘的对象进行分类;至少部分地基于与所述场所相关联的标记匹配的所分类的对象,从所述场所数据集中选择场所;选择与所选择的场所预先关联的一个或多个显示元素;以及在所述客户端设备上显示包括所述一个或多个显示元素和所述图像的呈现。
160.2.根据示例1所述的方法,还包括:使用附加的机器学习方案来确定所述图像的环境数据,所述环境数据描述所述图像是外部环境的图像还是内部环境的图像。
161.3.根据示例1-2所述的方法,其中,对所述场所的所述选择还至少部分地基于与所述场所相关联的标记匹配的图像的环境数据。
162.4.根据权利要求1-3所述的方法,其中,所述图像是由所述客户端设备生成的活动视频馈送的一部分;以及所述呈现显示叠加在所述活动视频馈送上的一个或多个显示元素。
163.5.根据示例1-4所述的方法,其中,在所述客户端设备上将所述多个场所分类为类别和子类别,并且,所述标记是所述类别或子类别的元数据。
164.6.根据示例1-5所述的方法,其中,所述一个或多个显示元素被分类到所述类别和子类别中,并且,由于所述一个或多个显示元素与所选择的元素共享相同类别或子类别中的至少一个,所述一个或多个显示元素与所选择的场所预先相关联。
165.7.根据示例1-6所述的方法,其中,所述一个或多个显示元素包括所述客户端设备的用户的化身。
166.8.根据示例1-7所述的方法,其中,所述地理位置数据包括由所述客户端设备上的gps传感器生成的全球定位系统(gps)数据。
167.9.根据示例1-8所述的方法,其中,所述场所数据集是包括不靠近由所述客户端设备的所述地理位置数据指示的位置的场所的更大场所数据集的子集。
168.10.根据示例1-9所述的方法,其中,所述机器学习方案包括:使用图像集训练以对物理对象进行分类的一个或多个神经网络,所述图像集包括多个物理图像中的图像。
169.11.根据示例1-10所述的方法,其中,所述附加的机器学习方案包括:被训练以将环境分类为处于内部还是处于外部的一个或多个神经网络,在图像集上训练的所述一个或多个神经网络包括外部环境和内部环境的多个图像中的图像。
170.12.根据示例1-11所述的方法,还包括在所述客户端设备上接收存储所述呈现的指令。
171.13.根据示例1-12所述的方法,还包括将所述呈现作为短暂消息发布到社交网站。
172.14.一种系统,包括:机器的一个或多个处理器;以及存储指令的存储器,所述指令在由所述一个或多个处理器执行时使所述机器执行根据示例1-13所述的方法中的任何一种方法。
173.15.一种体现指令的机器可读存储介质,所述指令在由机器执行时使所述机器执行根据示例1-13所述的方法中的任何一种方法。
再多了解一些

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

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

相关文献