CN110678861B - 图像选择建议 - Google Patents
图像选择建议 Download PDFInfo
- Publication number
- CN110678861B CN110678861B CN201880035457.2A CN201880035457A CN110678861B CN 110678861 B CN110678861 B CN 110678861B CN 201880035457 A CN201880035457 A CN 201880035457A CN 110678861 B CN110678861 B CN 110678861B
- Authority
- CN
- China
- Prior art keywords
- images
- image
- user
- user interface
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 130
- 230000009471 action Effects 0.000 claims description 51
- 230000004044 response Effects 0.000 claims description 10
- 238000012549 training Methods 0.000 description 48
- 238000010801 machine learning Methods 0.000 description 47
- 238000012545 processing Methods 0.000 description 29
- 230000015654 memory Effects 0.000 description 25
- 238000004891 communication Methods 0.000 description 21
- 230000000875 corresponding effect Effects 0.000 description 21
- 230000000694 effects Effects 0.000 description 12
- 230000006855 networking Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 238000010191 image analysis Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 244000181025 Rosa gallica Species 0.000 description 1
- 235000000533 Rosa gallica Nutrition 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 235000015243 ice cream Nutrition 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/54—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Library & Information Science (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Transforming Light Signals Into Electric Signals (AREA)
Abstract
实施方式与提供图像选择建议有关。在一些实施方式中,一种方法包括:接收指示对图像库中的一个或多个第一图像的选择的第一用户输入;以及确定所述一个或多个第一图像的一个或多个第一图像特性。所述方法还包括识别所述图像库中的一个或多个第二图像。所述一个或多个第二图像中的每个图像均和与所述一个或多个第一图像特性中的至少一个匹配的至少一个第二图像特性相关联。所述方法还包括使用户界面被显示。所述用户界面包括所述一个或多个第二图像并且使得用户能够选择所述一个或多个第二图像。
Description
相关申请的交叉引用
本申请要求2017年12月22日提交、标题为“Image Selection Suggestions”的美国临时专利申请No.62/609,543的优先权,并且通过引用将其整体地并入本文。
背景技术
数码相机设备的普及和便利已使诸如数字相片和视频这样的视觉内容变得无处不在。例如,各种类型的大量图像可由用户设备捕获、存储、和显示。一些设备允许用户的图像或其它内容按照包括合集中的内容项的布局被显示。通常,内容项的视图被显示在屏幕上,并且用户可以使内容项滚动,使得内容项的合集的不同部分被显示在视图中。用户还可以出于各种目的(诸如与其它用户共享、生成图片拼贴画、相簿等)而选择一个或多个内容项。
本文提供的背景技术描述是为了一般地呈现本公开的上下文。目前命名的发明人的工作(就在此背景技术部分中对它进行描述来说)以及说明书的在提交时可能无法以其它方式作为现有技术的各方面均未被明确地或隐式地承认为针对本公开的现有技术。
发明内容
本申请的实施方式涉及图像选择建议。在一些实施方式中,一种计算机实现的方法包括:接收第一用户输入,所述第一用户输入指示对图像库中的一个或多个第一图像的选择;确定所述一个或多个第一图像的一个或多个第一图像特性;识别所述图像库中的一个或多个第二图像,其中,所述一个或多个第二图像中的每一个均与至少一个第二图像特性相关联,所述至少一个第二图像特性与所述一个或多个第一图像特性中的至少一个匹配;以及使用户界面被显示,其中,所述用户界面包括所述一个或多个第二图像,并且其中,所述用户界面使得能够选择所述一个或多个第二图像。
这些和其它实施方式可以各自可选地包括以下特征中的一种或多种:接收第二用户输入,所述第二用户输入指示对所述一个或多个第二图像中的至少一个的选择;响应于接收到所述第二用户输入,确定所述一个或多个第二图像中的所述至少一个的一个或多个第二图像特性;识别所述图像库中的一个或多个第三图像,其中,所述一个或多个第三图像中的每一个均与至少一个第三图像特性相关联,所述至少一个第三图像特性与所述一个或多个第一图像特性中的至少一个以及所述一个或多个第二图像特性中的至少一个匹配;以及使更新的用户界面被显示,其中,所述更新的用户界面包括所述一个或多个第三图像,并且其中,所述更新的用户界面使得能够选择所述一个或多个第三图像。
这些和其它实施方式可以各自可选地包括以下特征中的一种或多种:生成图像相册,其中,所述图像相册包括所述一个或多个第一图像和所述一个或多个第二图像中的至少一个;接收第二用户输入,所述第二用户输入指示对所述一个或多个第二图像中的至少一个的选择,并且生成图像拼贴画,其中,所述图像拼贴画包括所述一个或多个第一图像和所述一个或多个第二图像中的至少一个;确定所述一个或多个第一图像特性包括确定所述图像是模糊的,并且其中,识别所述一个或多个第二图像包括基于所述一个或多个第二图像的模糊度来识别所述一个或多个第二图像中的每一个。
这些和其它实施方式可以各自可选地包括以下特征中的一种或多种:确定所述一个或多个第一图像特性包括确定与所述第一图像相关联的位置,并且识别所述一个或多个第二图像包括从所述图像库中选择与相应的位置相关联的图像,所述相应的位置在与所述第一图像相关联的所述位置的阈值距离内;所述方法还包括确定图像选择的场境,其中,识别所述一个或多个第二图像是基于所述图像选择的场境。所述图像选择的场境可以是基于图像的创作的生成、和/或将图像提供给目标软件应用。所述基于图像的创作可包括图像相册、图像拼贴画、视频、或印刷出版物中的至少一个、或这些中的任一个的组合。
这些和其它实施方式可以各自可选地包括以下特征中的一种或多种:接收第二用户输入,所述第二用户输入指示对作为所述第一图像的副本的所述一个或多个第二图像中的至少一个的选择;以及基于所述一个或多个第一图像和所述一个或多个第二图像中的至少一个,使建议的动作元素被显示在所述用户界面中。所述方法可进一步包括:接收用户对所述建议的动作元素的选择;以及响应于接收到所述用户选择,执行与所述建议的动作元素相关联的动作,其中,所述动作包括以下各项中的一个或多个:把所述一个或多个第一图像和所述一个或多个第二图像中的至少一个存档、删除所述一个或多个第一图像和所述一个或多个第二图像中的至少一个、或者执行所述一个或多个第一图像和所述一个或多个第二图像中的至少一个的自动增强。
在一些实施方式中,一种计算机实现的方法包括:确定指示目标软件应用的场境信息;至少部分地基于所述场境信息,识别图像库中的一个或多个第一图像;使用户界面被显示,其中,所述用户界面包括所述一个或多个第一图像,并且所述用户界面使得能够选择所述一个或多个第一图像;接收第一用户输入,所述第一用户输入指示对所述一个或多个第一图像中的至少一个图像的选择;以及响应于接收到所述第一用户输入,将所选择的至少一个图像提供给所述目标软件应用。
这些和其它实施方式可以各自可选地包括以下特征中的一种或多种:确定所选择的至少一个图像的一个或多个第一图像特性;识别所述图像库中的一个或多个第二图像,其中,所述一个或多个第二图像中的每一个均具有所述一个或多个第一图像特性中的至少一个;以及使更新的用户界面被显示,其中,所述更新的用户界面包括所述一个或多个第二图像,并且所述用户界面使得能够选择所述一个或多个第二图像。
这些和其它实施方式可以各自可选地包括以下特征中的一种或多种:确定所述场境信息包括确定所述目标软件应用的应用类型。所述应用类型可包括图像共享应用。识别所述一个或多个第一图像可包括从所述图像库中选择满足质量阈值的所述一个或多个第一图像。所述应用类型可包括金融应用,并且识别所述一个或多个第一图像可包括从所述图像库中选择与图像标签相关联的所述一个或多个第一图像,所述图像标签包括收据、文档、或屏幕截图中的一个或多个。所述应用类型可包括消息收发应用,并且确定所述场境信息可进一步包括:在所述消息收发应用中接收消息收发谈话中的参与者的识别信息;识别所述一个或多个第一图像可包括从所述图像库中选择描绘所述消息收发谈话中的所述参与者中的至少一个的图像。
这些和其它实施方式可以各自可选地包括以下特征中的一种或多种:确定所述场境信息包括从所述目标软件应用接收应用场境,并且其中,识别所述一个或多个第一图像包括:基于所述应用场境确定一个或多个语义概念;以及选择所述一个或多个第一图像,其中,所选图像中的每一个的至少一个图像特性与所述语义概念中的至少一个匹配。
在一些实施方式中,一种非暂时性计算机可读介质具有存储在其上的指令,所述指令当由一个或多个硬件处理器执行时,使所述一个或多个硬件处理器执行包括以下各项的操作:接收第一用户输入,所述第一用户输入指示对图像库中的一个或多个第一图像的选择;确定所述一个或多个第一图像的一个或多个第一图像特性;识别所述图像库中的一个或多个第二图像,其中,所述一个或多个第二图像中的每一个均与至少一个第二图像特性相关联,所述至少一个第二图像特性与所述一个或多个第一图像特性中的至少一个匹配;使用户界面被显示,其中,所述用户界面包括所述一个或多个第二图像,并且其中,所述用户界面使得能够选择所述一个或多个第二图像;接收第二用户输入,所述第二用户输入指示对所述一个或多个第二图像中的至少一个的选择;基于所述一个或多个第一图像和所述一个或多个第二图像中的至少一个,使建议的动作元素被显示在所述用户界面中;以及响应于接收到用户对所述建议的动作元素的选择,执行与所述建议的动作元素相关联的动作。在一些实施方式中,所述动作包括以下各项中的一个或多个:把所述一个或多个第一图像和所述一个或多个第二图像中的至少一个存档、删除所述一个或多个第一图像和所述一个或多个第二图像中的至少一个、生成包括所述一个或多个第一图像和所述一个或多个第二图像中的至少一个的基于图像的创作、或者执行所述一个或多个第一图像和所述一个或多个第二图像中的至少一个的自动增强。
附图说明
图1是可以被用于本文描述的一个或多个实施方式的示例网络环境的框图;
图2是图示根据一些实施方式的提供图像选择建议的示例方法的流程图;
图3是图示根据一些实施方式的提供图像选择建议的示例方法的流程图;
图4是根据一些实施方式的包括图像选择建议的示例用户界面500的图解图示;
图5A是根据一些实施方式的包括图像选择建议的示例用户界面400的图解图示;
图5B是根据一些实施方式的包括图像选择建议的另一示例用户界面530的图解图示;
图5C是根据一些实施方式的包括图像创作和图像选择建议的另一示例用户界面540的图解图示;以及
图6是可以被用于本文描述的一个或多个实施方式的示例设备的框图。
具体实施方式
一个或多个实施方式帮助用户选择图像。本文描述的一个或多个实施方式包括提供建议的图像以供用户选择。实施方式通过提供使得用户能够以减少的输入选择图像的用户界面来提供好处,诸如使用关键词或短语来搜索图像、通过滚动来浏览图像库等。实施方式可减少用于通过提供使得用户能够在没有这种活动的情况下选择图像的用户界面来支持用户搜索或浏览的计算资源。
用户例如从图像库中选择图像以用于各种目的,例如,以与其它用户共享图像,以生成基于图像的创作,诸如图像相册、图像拼贴画、印刷相簿、或包括图像的视频。用户可以具有包括大量图像(例如,数百、数千、或甚至数百万个图像)的图像库。对用户来说查找并选择图像可能是困难的。例如,当以编年方式组织和显示图像库中的图像时,用户可能必须执行多个滚动操作以查看和选择图像以用于特定目的。来回滚动以查找感兴趣图像是麻烦的并且用户可能发现这种滚动令人沮丧。另外,滚动图像的这种用户活动要求计算设备从存储器或存储装置中检索附加图像并且刷新用户界面以示出不同的图像,从而要求使用计算设备的计算资源。
图像库应用可以包括图像搜索特征。例如,用户可能能够指定文本查询并且图像库应用可以从库返回与搜索相关的图像,并且用户可以从所返回的图像中选择图像。然而,这要求用户定义查询。另外,用户可能必须指定多个不同的查询以获得要选择的整个图像集。经由查询来搜索并选择图像是麻烦的。另外,用户搜索活动要求计算设备访问图像库(例如,在本地存储在计算设备上或者经由网络存储在远程服务器上),并且识别与用户指定的搜索查询匹配的图像,从而要求使用计算设备的计算资源。
本文档中描述的实施方式解决从包括大量图像的图像库中查找并选择图像时的一些问题。在一些实施方式中,接收第一用户输入,该第一用户输入指示对图像库中的一个或多个第一图像的选择。确定一个或多个第一图像的一个或多个第一图像特性。自动地识别图像库中的一个或多个第二图像,所述一个或多个第二图像均与至少一个第二图像特性相关联,所述至少一个第二图像特性与至少一个或多个第一图像特性中的至少一个匹配。显示用户界面,所述用户界面包括一个或多个第二图像,并且使得能够选择一个或多个第二图像。
通过自动地识别并呈现与用户选择匹配的图像,本文描述的实施方式不需要随着用户浏览图像库而显示图像或者显示满足通过用户输入所指定的文本搜索查询的结果图像。随着用户输入选择图像,来自用户的图像库的具有匹配特性的附加图像被自动地识别并呈现以供用户选择。以这种方式,本文描述的技术呈现了使得能够从存储装置高效检索、显示和选择图像,从而使得能够容易查找和选择图像的的用户界面。通过减少或者避免滚动图像的冗长显示并且减少或者避免对来自文本搜索查询的搜索结果的多次检索和显示使得能够减少消耗设备资源。
所描述的建议的图像选择可使得能够更快且更高效在用户界面中显示图像,以及用户与用户界面更高效交互以定位并选择图像。例如,建议的图像选择的显示使得用户能够容易地选择图像并且减少或者消除对手动地提供文本或其它复杂输入以指定搜索查询来确定要选择的图像的需要。此外,建议的图像选择减少用于图像的显示的时间和处理并且减少为了查找图像而接收的手动地指定的搜索的数目。当客户端设备缺少针对搜索的容易的、简单的或任何文本输入功能性(例如,不包括键盘或麦克风的智能手表或其它可穿戴设备)时,建议的图像选择同样是有用的。此类特征允许以减少的用户输入和减少的时间与内容显示程序进行交互,从而减少在此类程序中接收和处理用户输入并显示结果将另外需要的设备资源的消耗。
因此,一个或多个描述的实施方式的技术效果是以获得结果所花费的更少计算时间和更少计算资源来提供内容数据项在用户界面中的显示。例如,与不提供所描述的技术或特征中的一种或多种的现有系统相比,所描述的技术和特征的技术效果是减少了被利用来显示并选择特定图像的系统处理资源的消耗。例如,现有系统可以使用将搜索查询作为文本来接收的现有技术,其中当用户确定哪些搜索查询是相关的以提供要选择的图像时,需要诸如处理器、存储器和显示资源(具有对应的功耗)的附加计算资源来显示搜索结果的迭代。
描述的技术和特征的另一个技术效果是减少了由不提供所描述的技术或特征中的一种或多种的系统所利用的系统处理资源(诸如显示和搜索处理及功耗)的消耗。例如,在这样的现有系统中,用户手动地滚动内容元素的视图,并且用户必须经由这种手动滚动来手动地定位期望的内容项,从而导致系统资源(例如,内容数据项在前后方向上的重复显示和滚动、从用户重复接收显示和/或搜索内容项的命令等)的低效使用。
在本文讨论的某些实施方式可以收集或者使用关于用户的个人信息(例如,用户数据、关于用户的社交网络的信息,用户的位置和在该位置时的时间、用户的生物计量信息、用户的活动和人口统计信息)的情形下,用户被提供有一个或多个机会来控制是否收集信息,是否存储个人信息,是否使用个人信息,并且信息如何关于用户被收集、存储和使用。也就是说,本文讨论的系统和方法具体地在接收到来自相关用户的要这样做的显式授权时收集、存储和/或使用用户个人信息。例如,用户被提供有对程序或特征是否收集关于该特定用户或与程序或特征相关的其它用户的用户信息的控制。要收集个人信息的每个用户被呈现有一个或多个选项以允许控制与该用户相关的信息收集,以提供关于是否收集信息以及关于要收集信息的哪些部分的许可或授权。例如,可以通过通信网络给用户提供一个或多个此类控制选项。此外,某些数据可以在它被存储或者使用之前被以一种或多种方式处理,使得个人可识别的信息被去除。作为一个示例,可以处理用户的身份,使得不能确定个人可识别的信息。作为另一示例,可以使用户设备的地理位置一般化为较大的区域,使得不能确定用户的特定位置。
如本文所参考的图像是具有像素的数字图像,所述像素具有一个或多个像素值(例如,颜色值、亮度值等)。图像可以是静止图像或单个图像或者可以是包括在一系列图像中的图像,例如,视频帧的视频序列中的帧、或图像的不同类型的序列或动画中的图像。视频包括多个图像的序列。例如,本文描述的实施方式可与内容数据项一起使用,所述内容数据项是单个图像或静态图像(例如,相片、表情符号、或其它图像)、视频或动画图像(例如,包括运动的电影摄影或其它动画图像、包括动画和音频的贴纸等)。如本文所参考的文本可包括字母数字字符、表情符号、符号、或其它字符。音频分段可包括以标准音频格式提供的音频数据,所述音频数据可被处理以例如从扬声器提供声音。
图1图示可以在本文描述的一些实施方式中使用的示例网络环境100的框图。在一些实施方式中,网络环境100包括一个或多个服务器系统,例如,图1的示例中的服务器系统102和第二服务器系统140。例如,服务器系统102和140可与网络130进行通信。服务器系统102可包括服务器设备104和数据库106或其它存储设备。在一些实施方式中,服务器设备104可以提供图像库应用156b。第二服务器系统140可包括被配置成提供一个或多个应用的第二服务器设备142,所述一个或多个应用例如消息收发应用A144、图像共享应用B146和金融应用C 148。
网络环境100还可包括一个或多个客户端设备,例如,客户端设备120、122、124和126,这些客户端设备可经由网络130与彼此和/或与服务器系统102和/或第二服务器系统140进行通信。网络130可以是任何类型的通信网络,包括因特网、局域网(LAN)、无线网络、交换机或集线器连接等中的一个或多个。在一些实施方式中,网络130可包括设备之间的对等通信,例如使用对等无线协议(例如,Wi-Fi Direct等)等。两个客户端设备120和122之间的对等通信的一个示例通过箭头132被示出。
为了便于图示,图1示出用于服务器系统102、服务器设备104、数据库106、第二服务器系统140、和第二服务器设备142的一个框,并且示出用于客户端设备120、122、124和126的四个框。服务器框102、104、106、140和142可以表示多个系统、服务器设备、和网络数据库,并且可按照与所示不同的配置提供这些框。例如,服务器系统102和/或第二服务器系统140可表示可经由网络130与其它服务器系统进行通信的多个服务器系统。
在一些实施方式中,例如,服务器系统102和/或第二服务器系统140可包括云托管服务器。在一些示例中,数据库106和/或其它存储设备可被设置在与服务器设备104分开的服务器系统框中并且可经由网络130与服务器设备104和其它服务器系统进行通信。另外,可以存在任何数目的客户端设备。每个客户端设备可以是任何类型的电子设备,例如,台式计算机、膝上型计算机、便携式或移动设备、手机、智能电话、平板计算机、电视、TV机顶盒或娱乐设备、可穿戴设备(例如,显示眼镜或护目镜、腕表、头戴式耳机、臂章、珠宝等)、个人数字助理(PDA)、媒体播放器、游戏设备等。一些客户端设备也可以具有与数据库106或其它存储装置类似的本地数据库。在一些实施方式中,网络环境100可以不具有所示的所有组件并且/或者可以具有包括其它类型的元件来代替本文描述的那些元件或者除了本文描述的那些元件之外还包括其它类型的元件的其它元件。
在各种实施方式中,终端用户U1、U2、U3和U4可以使用相应的客户端设备120、122、124和126来与服务器系统102和/或彼此进行通信。在一些示例中,用户U1、U2、U3和U4可以经由在相应的客户端设备和/或服务器系统102或第二服务器系统140上运行的应用并且/或者经由在服务器系统102或第二服务器系统140上实现的网络服务(例如,社交网络服务或其它类型的网络服务)彼此交互。例如,相应的客户端设备120、122、124和126可以向且从一个或多个服务器系统(例如,系统102、第二服务器系统140)传送数据。
在一些实施方式中,服务器系统102和/或第二服务器系统140可以向客户端设备提供适当的数据,使得每个客户端设备可接收上传到服务器系统102或第二服务器系统140和/或网络服务的通信内容或共享内容。在一些示例中,用户U1-U4可经由音频或视频会议、音频、视频或文本聊天、或其它通信模式或应用交互。由服务器系统102或第二服务器系统140实现的网络服务可包括允许用户执行各种通信、形成链接和关联、上传并发布诸如图像、文本、视频、音频和其它类型的内容这样的共享内容、和/或执行其它功能的系统。例如,客户端设备可显示接收到的数据,诸如发送或者流式传输到客户端设备并且经由服务器和/或网络服务从不同的客户端设备(或者直接地从不同的客户端设备)起源或者从服务器系统和/或网络服务起源的内容帖子。在一些实施方式中,客户端设备可例如使用如上所述的客户端设备之间的对等通信来直接地彼此通信。在一些实施方式中,“用户”可包括一个或多个程序或虚拟实体、以及与系统或网络对接的人。
在一些实施方式中,客户端设备120、122、124和/或126中的任一个可提供一个或多个应用。例如,如图1中所示,客户端设备120可提供相机应用152、图像库应用156a、和一个或多个其它应用154。客户端设备122-126还可以提供类似的应用。例如,相机应用152可以给相应的客户端设备的用户(例如,用户U1-U4)提供例如使用相应的客户端设备的相机来捕获图像的能力。例如,相机应用152可以是在客户端设备120上执行的软件应用。在一些实施方式中,相机应用152可以提供用户界面。
在一些实施方式中,客户端设备120可以包括图像库应用156a。如参考图6所描述的,可以使用客户端设备120的硬件和/或软件来实现图像库应用156a。在不同的实施方式中,图像库应用156a可以是例如在客户端设备120-124中的任一个上执行的独立图像库应用,或者可以与在服务器系统102上提供的图像库应用156b相结合地使用。图像库应用156a和图像库应用156b可以提供图像管理功能。图像管理功能可以包括存储使用相机应用152捕获的照片和视频、存储其它图像(例如,扫描的图像、屏幕截图等)、图像编辑功能、生成诸如图像拼贴画、视频、图像相册或印刷出版物(例如,相簿)这样的基于图像的创作的功能。图像库应用156还可以以编程方式分析图像,例如,图像像素和图像元数据,以确定一个或多个图像特性。图像库应用156可以例如在客户端设备的本地存储装置和/或通过网络130进行通信的一个或多个其它设备的远程存储装置(例如,服务器系统102和/或140的数据库106)、一个或多个不同的客户端设备的存储装置等中存储图像数据和特性。
在一些实施方式中,客户端设备120可以包括一个或多个其它应用154。例如,其它应用154可以是提供各种类型的功能性的应用,例如,日历、地址簿、电子邮件、web浏览器、购物、交通(例如,出租车、火车、航空公司预定等)、娱乐(例如,音乐播放器、视频播放器、游戏应用等)、社交联网(例如,消息收发或聊天、音频/视频呼叫、共享图像/视频等)等。在一些实施方式中,其它应用154中的一个或多个可以是在客户端设备120上执行的独立应用。在一些实施方式中,其它应用154中的一个或多个可以访问服务器系统,例如第二服务器系统140,所述服务器系统提供应用154的数据和/或功能性。例如,被示出为由第二服务器系统140提供的应用144、146和148中的任一个可以向其它应用154中的一个或多个提供数据和/或命令。在一些实施方式中,服务器应用144-148可以是由客户端设备例如经由web浏览器或其它客户端侧程序访问的独立应用。
客户端设备120、122、124和/或126上的用户界面可使得能够显示用户内容和其它内容,包括图像、视频、数据、和其它内容以及通信、隐私设定、通知、和其它数据。可使用客户端设备上的软件、服务器设备上的软件、和/或客户端软件和在服务器设备104和/或第二服务器设备142上执行的服务器软件的组合(例如,与服务器系统102和/或第二服务器设备142通信的应用软件或客户端软件)来显示这样的用户界面。用户界面可由客户端设备或服务器设备的显示设备(例如,触摸屏或其它显示屏幕、投影仪等)来显示。在一些实施方式中,在服务器系统上运行的应用程序可与客户端设备进行通信,以在客户端设备处接收用户输入并且在客户端设备处输出诸如可视数据、音频数据等这样的数据。
在一些实施方式中,服务器系统102、第二服务器系统140、和/或一个或多个客户端设备120-126中的任一个可提供通信应用程序。该通信程序可以允许系统(例如,客户端设备或服务器系统)提供用于与其它设备进行通信的选项。该通信程序可提供被显示在与服务器系统或客户端设备相关联的显示设备上的一个或多个关联的用户界面。用户界面可以向用户提供各种选项来选择通信模式、与之进行通信的用户或设备等。通信程序可例如以各种格式中的任一种显示或者以其它方式输出传送的内容帖子和接收到的内容帖子。
本文描述的特征的其它实施方式可使用任何类型的系统和/或服务。例如,代替社交联网服务或者除了社交联网服务之外,还可使用其它联网服务(例如,连接到因特网)。任何类型的电子设备可利用本文描述的特征。一些实施方式可在与计算机网络断开连接或者间歇地连接到计算机网络的一个或多个客户端或服务器设备上提供本文描述的一个或多个特征。在一些示例中,包括或者连接到显示设备的客户端设备可显示存储在客户端设备本地的存储设备上的图像,例如,先前通过通信网络接收的图像。
图2是图示根据一些实施方式的提供图像选择建议的示例方法的流程图。在一些实施方式中,可例如在如图1中所示的服务器系统102上实现方法200。在一些实施方式中,可在如图1中所示的一个或多个客户端设备120、122、124或126上、在一个或多个服务器设备上和/或在服务器设备和/或客户端设备两者上实现方法200的一些或全部。在所描述的示例中,实现系统包括一个或多个数字处理器或处理电路(“处理器”)以及一个或多个存储设备(例如,数据库106或其它存储装置)。在一些实施方式中,一个或多个服务器和/或客户端的不同的组件可执行方法200的不同的框或其它部分。在一些示例中,第一设备被描述为执行方法200的框。一些实施方式可使方法200的一个或多个框由可将结果或数据发送到第一设备的一个或多个其它设备(例如,其它客户端设备或服务器设备)执行。
在一些实施方式中,方法200或该方法的多个部分可由系统自动地启动。在一些实施方式中,实现系统是第一设备。例如,可周期性地执行该方法(或其多个部分),或者基于一个或多个特定事件或条件(例如,应用正被用户启动、图像正被用户选择、和/或发生可在通过方法读取的设定中指定的一个或多个其它条件)执行该方法(或其多个部分)。在一些实施方式中,可由用户在存储的该用户的定制偏好中指定此类条件。
在一个示例中,客户端设备可以是可接收由用户对客户端设备进行的内容输入(例如,图像捕获)和用户输入(例如,使用触摸屏、使用手势、使用鼠标或其它指点设备、使用键盘等)并且可执行方法200的相机、手机、智能电话、平板计算机、可穿戴设备、或其它客户端设备。在另一示例中,客户端设备或服务器设备可执行方法200。一些实施方式可基于用户输入启动方法200。用户(例如,操作员或终端用户)可以例如已选择从用户界面(例如,应用用户界面或其它用户界面)启动方法200。在一些实施方式中,方法200可以由客户端设备实现。在一些实施方式中,方法200可以由服务器设备实现。
如本文所参考的图像可包括具有像素的数字图像,所述像素具有一个或多个像素值(例如,颜色值、亮度值等)。图像可以是静止图像(例如,静止照片、具有单个帧的图像等)、动态图像(例如,动画、动画GIF、图像的一部分包括运动而其它部分是静态的电影摄影等)和视频(例如,可以包括音频的图像或图像帧的序列)。虽然本文档的剩余部分将图像称为静态图像,但是可以理解的是,本文描述的技术适用于动态图像、视频等。例如,本文描述的实施方式可与静止图像(例如,相片、表情符号、或其它图像)、视频、或动态图像一起使用。如本文所参考的文本可包括字母数字字符、表情符号、符号、或其它字符。
在框202中,检查了是否已获得了在方法200的实施方式中使用用户数据的用户同意(例如,用户许可)。例如,用户数据可包括由用户使用客户端设备捕获的图像、由用户例如使用客户端设备来存储或者访问的图像、图像元数据、与图像共享应用的使用有关的用户数据、与消息收发应用的使用有关的用户数据、与金融应用的使用有关的用户数据、与社交联网应用的使用有关的用户数据、用户偏好、用户生物计量信息、用户特性(身份、姓名、年龄、性别、职业等)、关于用户的社交网络和联系人的信息、社交和其它类型的动作和活动、由用户创建或者提交的内容、评级和意见、用户的当前位置、历史用户数据、由用户生成、接收和/或访问的图像、由用户查看或者共享的图像等。本文描述的方法的一个或多个框可以在一些实施方式中使用这种用户数据。
如果已从可以在方法200中使用用户数据的相关用户获得了用户同意,则在框204中,确定了可像针对那些框所描述的那样在可能使用用户数据的情况下实现本文的方法的框,并且方法继续到框212。如果尚未获得用户同意,则在框206中确定了将在不使用用户数据的情况下实现框,并且方法继续到框212。在一些实施方式中,如果尚未获得用户同意,则在不使用用户数据的情况下并且利用合成数据和/或通用或公开可访问的且公开可用的数据来实现框。如果尚未获得用户同意,则不执行方法200。
在方法200的框212中,接收对第一图像的选择。例如,可以在设备的显示屏幕上显示例如来自用户的图像库的多个图像。在一些实施方式中,可以显示图像缩略图,并且对缩略图的选择可以对应于对对应图像的选择。例如,可以按照网格配置(例如,每行3个图像、每行4个图像等)显示图像或缩略图。
在一些实施方式中,可以按一个或多个图像特性(例如,按与对应图像相关联的日期或时间、按与对应图像相关联的位置(例如,地理位置)、按对应图像所属的图像相册等)对图像进行分组。在一些实施方式中,在用户许可使用按被描绘在图像中的人对图像进行分组的面部辨识和/或图像标记的情况下,可以按人(例如“Andrew和Anika”、“Andrew和Joyce”、“Anika”等)对图像进行分组。在一些实施方式中,组可以利用多个图像特性或因素,例如,“在林荫大道的Andrew和Anika”、“Joyce的昨天”等。
在一些实施方式中,接收指示对一个或多个第一图像的选择的第一用户输入。在一些实施方式中,接收用户输入可以包括检测在触摸屏上显示的图像上的轻敲或按压手势、话音输入、凝视输入、检测对输入设备(鼠标、操纵杆、触控板等)的操纵等。用户可以通过选择显示在屏幕上的对应图像元素(例如,图像缩略图或其它图像表示、或整个图像的显示)来选择所述多个图像中的一个或多个。在一些实施方式中,图像可以是可滚动的或可以被组织成多个页面或部分,使得用户可选择所述多个图像中的各种和/或附加图像。在接收到用户对一个或多个第一图像的选择时,方法进行到框214。
在框214中,确定所选图像(例如,一个或多个第一图像)的第一图像特性。在一些实施方式中,确定第一图像特性可以包括从与第一图像关联地存储的图像元数据中检索图像特性。在一些实施方式中,确定第一图像特性可以包括从图像数据库中(例如,从在数据库中存储图像和图像特性的图像库中)检索图像特性。
在一些实施方式中,可以基于对图像内容(例如,第一图像的像素的像素值)和/或图像元数据(例如,捕获的日期、捕获的位置、相机制造商/型号、相机设定、图像分辨率、图像颜色深度等)的分析来确定第一图像特性。在一些实施方式中,可以离线(例如,在接收用户对图像的选择之前)执行对图像内容的分析。例如,可以在图像被生成(例如,使用相机来捕获、作为屏幕截图被捕获等)、或者添加到库(例如,下载或者存储在具有图像库的设备上)时执行对图像的图像内容的分析。
在一些实施方式中,可以通过以编程方式分析图像来确定第一图像特性。在一些实施方式中,第一图像特性可以包括与图像相关联的一个或多个标签。在一些实施方式中,一个或多个标签可以基于图像像素值和/或图像元数据。在一些实施方式中,一个或多个标签可以包括与图像相关联的一个或多个语义概念。在一些实施方式中,可以按照概念的层次(例如,“食物->蛋糕->生日蛋糕”、“体育->棒球->设备->球棒”等)组织语义概念,其中范围较窄的概念可被包括在范围较广的概念类别中。可以存在与图像相关联的任何数目的语义概念。可以基于检测到图像中的一个或多个对象、诸如焦距、照度水平、图像组成、颜色分布这样的图像属性、诸如位置、时间和其它元数据这样的元数据、以及其它因素中的一个或多个来确定语义概念。在一些实施方式中,可以使用被训练成从图像中辨识语义概念的机器学习模型来确定语义概念。
在一些实施方式中,图像特性(例如,一个或多个标签)可以与置信分数相关联。置信分数可以指示特定标签适用于图像的置信度。一个或多个标签和所对应的置信分数可以基于以编程方式分析图像。在一些实施方式中,可以使用训练后的机器学习模型来执行以编程方式分析图像。在一些实施方式中,可以使用对象检测和辨识技术来执行以编程方式分析图像。在一些实施方式中,可以使用各种图像分析技术的组合。
在用户提供同意的一些实施方式中,以编程方式分析图像可以包括从图像像素数据中识别一个或多个语义概念。例如,可以确定图像是在室内还是在室外拍的。在另一示例中,机器学习模型可以确定图像是否描绘各种对象中的一个或多个,例如,树、花、建筑物、河流或海洋、山脉等。在一些实施方式中,机器学习模型可以确定所描绘的对象的具体特征,例如,“红玫瑰”、“十二层建筑物”、“咖啡店”、“生日蛋糕”等。
在用户提供同意的一些实施方式中,可以辨识图像中的一个或多个对象,例如,“泰姬陵”、“棒球球棒”、“冰淇淋”等。在用户提供对于使用面部检测的同意的实施方式中,可以确定图像是描绘一个人还是多个人(例如,“图像有3个人”或“图像描绘两个女人”)。在用户提供对于使用面部识别技术的同意的实施方式中,可以辨识图像中的人,例如,“Joyce”、“Andrew”等。
在用户提供同意的一些实施方式中,可以根据图像元数据确定图像特性。例如,此类图像特性可以包括相机制造商/型号、相机设定(例如,光圈、闪光灯的使用、相机模式等)、图像捕获的日期和/或时间、图像捕获的位置(若用户许可使用位置数据的话)。
在用户提供同意的一些实施方式中,可以基于在图像和/或图像元数据中检测到的对象来确定一个或多个语义概念,例如,当在打开闪光灯的情况下捕获图像时,所描绘的对象包括餐桌和食物,并且图像捕获的位置和时间指示图像是在夜间捕获的,语义概念可以是“晚餐”和“在室内”。在另一示例中,当图像描绘水和帆船时,“航行”的语义概念可以与图像相关联。
在辨识图像中的对象和/或确定与图像相对应的语义概念时,一个或多个标签可以与图像相关联。图像特性(例如,一个或多个标签)可以例如作为图像元数据被存储在图像文件中、在数据库中等。例如,关联的标签可以是“Joyce;晚餐;在室内;家庭”、“徒步旅行小径;优胜美地国家公园”等。
在一些实施方式中,图像特性可以包括基于以编程方式分析图像而确定的图像类型,例如,“文档”、“收据”、“屏幕截图”、“照片”等。在一些实施方式中,图像特性可以包括基于以编程方式分析图像而确定的图像属性,例如,“模糊”、“暗”等。框214后面可以是框216。
在框216中,识别图像库中的一个或多个第二图像。在一些实施方式中,一个或多个第二图像可以具有与由用户选择的一个或多个第一图像的一个或多个第一图像特性中的图像特性相同或类似的至少一个图像特性。例如,如果用户选择模糊的第一图像,则识别各自与模糊度的图像特性相关联的一个或多个第二图像。
在另一示例中,如果用户选择文档的两个图像(例如,描绘被确定为文档的文本或视觉内容的图像),则识别各自与图像特性“文档”相关联的一个或多个第二图像。在另一示例中,如果用户选择作为屏幕截图(例如,设备的显示屏幕的内容的捕获)的两个图像,则识别各自为屏幕截图(例如,与图像特性“屏幕截图”相关联)的一个或多个第二图像。在另一示例中,如果用户选择描绘两个个体(例如,Joyce和Andrew)的图像,则识别各自与用于“Joyce”和“Andrew”中的至少一个的图像标签相关联的一个或多个第二图像。
在另一示例中,如果第一图像中的一个或多个与位置(例如,“泰姬陵”)相关联,则可以选择与相同或类似的位置(例如,“泰姬陵”、“阿格拉”等)相关联的一个或多个第二图像。在一些实施方式中,可以选择一个或多个第二图像,使得与第二图像相关联的位置在与第一图像相关联的位置的阈值距离内。例如,阈值距离可以是数值距离,例如“5英里”。在一些实施方式中,可以基于与位置(例如,城市名字、国家名字等)匹配来选择一个或多个第二图像。在一些实施方式中,可以基于描绘如通过第一位置(例如,纪念碑、桥梁、摩天大楼等)处的第一图像所描绘的相同特性中的一个或多个的图像来选择一个或多个第二图像。
在一些实施方式中,可以确定图像选择的场境。例如,可以确定用户提供第一用户输入的用户界面与由一个或多个设备生成基于图像的创作(例如,图像拼贴画、基于图像库中的图像的视频、图像相册、或印刷出版物(例如,相簿))相关联。在一些实施方式中,图像选择的场境可以是或者可以基于关联的目标软件应用,例如,由此启动用于图像选择的用户界面的消息收发应用、图像共享或社交联网应用、金融应用等。
在确定图像选择的场境的实施方式中,识别一个或多个第二图像可以基于场境。例如,场境可与用于选择第二图像的一个或多个选择准则相关联(例如,在框216之前)。例如,如果场境被确定为生成相簿或者经由图像共享应用进行共享,则可以基于与该场境相关联的质量准则(例如,图像分辨率准则、图像颜色深度准则、图像聚焦准则等)来选择一个或多个第二图像。在一些示例中,即使此类图像具有与第一图像特性匹配的特性,也可以从一个或多个第二图像中排除不满足图像分辨率阈值标准准则的图像。在另一示例中,如果场境被确定为金融应用,则具有某些特性(例如,图像类型“收据”、“发票”、“财务报表”、“文档”等)的图像可以被包括在一个或多个第二图像中,并且可以排除其它图像。
在一些实施方式中,基于与第一图像的图像特性匹配的图像特性的数目来选择或者过滤一个或多个第二图像。例如,如果第一图像描绘“Joyce和Andrew在海滩”,则可以基于三个特性“Joyce”、“Andrew”和“海滩”中有多少个与第二图像中的每一个相关联来选择第二图像。在一个示例中,如果图像库包括具有所有三个特性的图像A、图像B和图像C以及具有三个特性中的两个的另外的图像D、E和F,则可以将图像A、B和C选择为一个或多个第二图像并且可以从第二图像中排除图像D、E和F。在一些实施方式中,图像A-F被包括在第二图像中而其它图像(包括具有三个特性中的仅一个的图像)从第二图像中被排除。
在一些实施方式中,置信阈值可以用于过滤一个或多个第二图像。例如,如果第一图像按90%的置信分数与特性“收据”相关联,则可以选择按至少90%的置信分数与特性“收据”相关联的第二图像。在此示例中,即便当图像与特性“收据”相关联时,也可以从一个或多个第二图像中排除具有较低置信分数的图像。在一些实施方式中,与第一图像的图像特性匹配的特性的数目和与这些特性相关联的置信分数的组合可以用于选择一个或多个第二图像。在一些实施方式中,可以对每个图像特性进行加权以确定一个或多个第二图像。例如,可以给一些特性(例如,诸如“泰姬陵”或“Joyce”这样的标签)指派比其它特性(例如,“在室外”)更高的权重。
在一些实施方式中,当用户提供对于使用与图像选择有关的用户数据和由用户生成的基于图像的创作的同意时,这种数据可以用于选择一个或多个第二图像。例如,如果用户先前已生成包括花的照片的印刷出版物(例如,相簿),则可以包括描绘花的一个或多个第二图像。在此示例中,例如,如果用户数据指示用户定期地生成包括最近捕获的图像的相簿,则可以排除被包括在在先相簿中的图像。
在另一示例中,如果用户先前已忽视要选择某些类型的照片(例如,未描绘人脸的照片)的建议,则可以从一个或多个第二图像中排除此类图像。在另一示例中,如果用户数据指示用户生成包括某些个体(例如,家庭成员、宠物等)的图像的图片拼贴画,则可以在一个或多个第二图像中选择描绘这些个体的图像,并且可以排除未描绘这些个体的图像。在一些实施方式中,即便当此类图像具有与一个或多个第一图像匹配的特性时,也可以从一个或多个第二图像中排除具有某些特性的图像,例如,高模糊度、暗图像、低质量图像、存档图像等。
在一些实施方式中,例如,当用户指示基于图像的创作是视频时,一个或多个第二图像可以包括具有运动的视频剪辑或图像,其可以被排除用于其它基于图像的创作(例如,图像拼贴画)。在一些实施方式中,可以基于非视觉参数(例如,视频剪辑的长度、视频剪辑的语义概念或标签确定的音频部分等)来选择视频剪辑。框216后面可以是框218。
在框218中,使用户界面被显示。例如,用户界面可以由客户端设备120-124中的任一个显示。用户界面可以包括一个或多个第二图像。例如,用户界面可以例如作为包括图像的网格的显示的卡或覆盖图被显示。在一些实施方式中,一个或多个第二图像可以与这些图像是建议的选择(例如,显示在用户界面的“建议”部分中)的显示指示一起被显示。一个或多个第二图像是用户可选择的。在一些实施方式中,用户界面还可以包括用户可选择的其它图像,例如,未被包括在一个或多个第二图像中的、刚好在当前时间之前的特定时间段内捕获或者接收的最近的图像。在一些实施方式中,其它图像可以被分组在用户界面的与“建议”部分(例如,“最近的”部分)分开一部分中。在一些实施方式中,当前选择的图像可以在用户界面的一部分(例如,“选择托盘”部分)中被显示。“选择托盘”可以与用户界面的包括第一图像以及可供用户选择的一个或多个附加图像的其它部分不同。框218后面可以是框220。
在框220中,确定是否接收到另外的图像选择。例如,可以经由第二用户输入接收另外的图像选择。在一些实施方式中,通过另外的图像选择指示的图像可以包括一个或多个第二图像中的至少一个。在一些实施方式中,通过另外的图像选择指示的图像可以包括一个或多个最近的图像中的至少一个。如果接收到另外的图像选择,则方法进行到框214。在一些实施方式中,可以识别图像库中的一个或多个第三图像。例如,可以基于从另外的图像选择(例如从一个或多个第二图像和/或从在用户界面中显示的其它图像)确定所选图像的特性来识别一个或多个第三图像。
可以通过匹配第一图像(在第一用户输入中选择)和经由第二用户输入选择的图像的特性来识别一个或多个第三图像。例如,可以识别一个或多个第三图像,使得第三图像中的每一个均具有与所选图像的特性匹配的至少一个特性,例如,与第一图像中的一个或多个相关联并与第二图像中的一个或多个相关联的至少一个特性。例如,如果第一图像(通过第一用户输入来选择)描绘“Joyce和Andrew在海滩”(例如,与标签“Joyce”、“Andrew”和海滩”相关联)并且所选图像(通过第二用户输入来选择)描绘“Joyce和Andrew”,则可以将一个或多个第三图像识别为图像库中的描绘Joyce和Andrew两者的图像。在此示例中,在识别第三图像时不考虑“海滩”特性。
在不同的实施方式中,可以使用与用于选择一个或多个第二图像的那些技术类似的技术来选择一个或多个第三图像。在识别一个或多个第三图像的实施方式中,可以更新用户界面以包括一个或多个第三图像。例如,更新用户界面可以包括更新“建议”部分以代替一个或多个第二图像或者除了一个或多个第二图像之外还显示一个或多个第三图像。在一些实施方式中。在识别一个或多个第三图像时,可以按比用户界面的其它部分(例如,“最近的”)更高的优先级来显示“建议”部分。
在一些实施方式中,可以接收指示对图像的附加选择的另外的用户输入(例如,经由框214-220的迭代),并且作为响应,可以基于使图像库中的图像的图像特性与通过用户输入选择的图像的图像特性匹配来更新用户界面以包括附加图像。当没有接收到另外的图像选择时,框220后面可以是框222。
在框222中,例如经由用户界面接收用户对一个或多个动作(例如,操作)的选择。使用用户选择的图像来执行用户选择的动作。例如,用户可以指示基于图像的创建作(例如,内容创作)是基于所选图像(例如,通过第一用户输入、第二用户输入、和后续用户输入(若有的话)指示的图像选择)而生成的。例如,基于图像的创作可以包括图像拼贴画、描绘所选图像的视频(例如,作为短视频剪辑或幻灯片)、包括所选图像的图像相册、或包括所选图像的印刷出版物(例如,相簿)。
在另一示例中,由用户选择的一个或多个动作可以是为了将所选图像提供给目标软件应用,例如,消息收发应用、图像共享应用、社交联网应用、金融应用等。在此示例中,例如经由应用编程接口(API)将所选图像提供给目标软件应用。在一些实施方式中,可以在将图像提供给目标软件应用之前修改(例如,自动地增强、裁剪、在文件大小上减小等)所选图像。
在一些实施方式中,由用户选择的一个或多个动作可以是用于图像库应用的动作,例如,以对图像库中的图像执行修改。例如,如果用户选择包括彼此或其它图像的副本的图像(例如,选择全部描绘与一个或多个其它所选图像类似的主题、并与类似的元数据相关联、或者描绘与库中的一个或多个其它图像类似的主题的图像),则动作可以是为了删除副本。例如,可例如基于诸如模糊度、曝光、颜色噪声、相对于图像边界的对象定位等这样的视觉特性来删除具有得分低于其它副本图像的图像特性的副本图像。在另一示例中,如果用户选择各自具有一个或多个公共特性(例如,“暗”、“未增强”)的图像,则动作可以是为了对所选图像执行自动增强,例如,通过使用图像增强技术来修改像素值,例如,应用图像滤镜、使用被训练用于图像增强的机器学习模型来修改图像等。
在一些实施方式中,动作可以是为了把所选图像存档,这使所选图像从图像库的图像的一个或多个视图(例如,主视图)被隐藏。例如,可更新与所选图像相关联的标签以指示所选图像被存档。如果例如经由用户输入接收到要查看存档图像的命令,则可显示存档图像。在一些实施方式中,可以更新与被存档的图像相关联的图像元数据或标签以指示图像被存档。例如,当生成图像库中的图像的主视图时,可以使用此类元数据或标签,以从主视图中排除存档图像。
在一些实施方式中,一个或多个动作可以包括与显示在用户界面中的建议的动作元素相对应的动作。在这些实施方式中,可以基于所选图像(例如,第一图像中的一个或多个和第二图像中的一个或多个)来确定建议的动作元素。在一些实施方式中,与建议的动作元素相关联的动作可以包括以下各项中的一个或多个:把所选图像存档、删除所选图像(例如,从图像库中去除所选图像、从存储装置中删除图像等)、或对所选图像执行自动增强。
例如,可以确定所选图像具有“模糊”的图像特性。基于该确定,可以显示建议的动作元素,例如,“删除所有模糊”。如果用户选择建议的动作元素,则可以例如由设备执行对应的动作。在一些实施方式中,可以包括与所选图像匹配的附加图像,例如,库中的在与所选图像相同的位置处或附近或者在与所选图像类似的时间处或附近拍的其它模糊图像,并且对用户选择的图像以及与所选图像匹配的附加图像执行所选动作。
虽然已参考图2中的各个框描述了方法200,但是可以理解的是,可以在不执行图2的框中的一些的情况下执行本公开中描述的技术。可以组合图2中图示的框中的一个或多个。例如,可以组合框214、216和218中的两个或更多个。在各种实施方式中,可以并行或者以与图2中图示的次序不同的次序执行方法200的框中的一些。在一些实施方式中,方法200由客户端设备(例如,客户端设备120-124中的一个或多个)执行。在一些实施方式中,方法200由服务设备(例如,服务器设备104)执行。在一些实施方式中,方法200由客户端和服务器设备的组合执行。例如,在一些实施方式中,框202、204、206、212、218和220由客户端设备执行,而框214、216和222由服务器设备执行。例如,当客户端设备120具有有限的能力来确定图像特性(例如,通过以编程方式分析图像)、具有有限的容量来存储图像数据等时,这种方法可以是有用的。
图3是图示根据一些实施方式的提供图像选择建议的方法300的一个示例的流程图。在一些实施方式中,可例如在如图1中所示的服务器系统102上实现方法300。在一些实施方式中,可在如图1中所示的一个或多个客户端设备120、122、124或126、在一个或多个服务器设备上、和/或在服务器设备和客户端设备两者上实现方法300的一些或全部。在所描述的示例中,实现系统包括一个或多个数字处理器或处理电路(“处理器”)和一个或多个存储设备(例如,数据库106或其它存储装置)。在一些实施方式中,一个或多个服务器和/或客户端的不同的组件可执行方法300的不同的框或其它部分。在一些示例中,第一设备被描述为执行方法300的框。一些实施方式可使方法300的一个或多个框由可向第一设备发送结果或数据的一个或多个其它设备(例如,其它客户端设备或服务器设备)执行。
在一些实施方式中,方法300或该方法的多个部分可由系统自动地启动。在一些实施方式中,实现系统是第一设备。例如,可定期性地执行方法(或其多个部分),或者基于一个或多个特定事件或条件(例如,应用正被用户启动、图像正被用户选择、和/或发生可在通过该方法读取的设定中指定的一个或多个其它条件)执行方法(或其多个部分)。在一些实施方式中,可由用户在存储的该用户的定制偏好中指定此类条件。
在一个示例中,客户端设备可以是可接收由用户对客户端设备进行的内容输入(例如,图像捕获)和用户输入(例如,使用触摸屏、使用手势、使用鼠标或其它指点设备、使用键盘等)并且可执行方法300的相机、手机、智能电话、平板计算机、可穿戴设备、或其它客户端设备。在另一示例中,客户端设备或服务器设备可执行方法300。一些实施方式可基于用户输入启动方法300。用户(例如,操作员或终端用户)可以例如已选择从用户界面(例如,应用用户界面或其它用户界面)启动方法300。在一些实施方式中,方法300可以由客户端设备实现。在一些实施方式中,方法300可以由服务器设备实现。
在框302中,检查了是否已获得了在方法300的实施方式中使用用户数据的用户同意(例如,用户许可)。例如,用户数据可包括由用户使用客户端设备捕获的图像、由用户例如使用客户端设备存储或者访问的图像、图像元数据、与图像共享应用的使用有关的用户数据、与消息收发应用的使用有关的用户数据、与金融应用的使用有关的用户数据、与社交联网应用的使用有关的用户数据、用户偏好、用户生物计量信息、用户特性(身份、姓名、年龄、性别、职业等)、关于用户的社交网络和联系人的信息、社交和其它类型的动作和活动、由用户创建或者提交的内容、评级和意见、用户的当前位置、历史用户数据、由用户生成、接收和/或访问的图像、由用户查看或者共享的图像等。本文描述的方法的一个或多个框可以在一些实施方式中使用这种用户数据。
如果已从可以在方法300中使用用户数据的相关用户获得了用户同意,则在框304中,确定了可像针对那些框所描述的那样在可能使用用户数据的情况下实现本文的方法的框,并且方法继续到框312。如果尚未获得用户同意,则在框306中确定了将在不使用用户数据的情况下实现框,并且方法继续到框312。在一些实施方式中,如果尚未获得用户同意,则在不使用用户数据的情况下并且利用合成数据和/或通用或公开可访问的且公开可用的数据来实现框。如果尚未获得用户同意,则不执行方法300。
在方法300的框312中,确定指示目标软件应用的场境信息。例如,当方法300作为使得用户能够生成基于图像的创作(例如,图像相册、图像拼贴画、视频、或印刷出版物)的图像库应用的一部分被实现时,场境信息可以包括图像创作的类型。
在另一示例中,当方法300作为例如经由应用编程接口(API)支持与其它应用交互的图像库应用的一部分被实现时,确定场境信息可以包括确定调用图像库应用的应用的应用类型,例如,图像共享应用(例如,独立图像共享应用、社交联网应用等)、金融应用(例如,费用管理应用、发票应用等)、消息收发应用(例如,聊天或即时消息收发应用、电子邮件应用、协作应用等)。在此示例中,调用图像库应用的应用被称为目标软件应用。
另外,在一些实施方式中,确定场境信息可以包括从目标软件应用接收要选择的许多图像,例如,一个图像、两个图像等。在另一示例中,这种场境信息可以包括将被选择的图像的类型,例如,具有运动的图像(例如,视频剪辑)、特定纵横比和/或定向(例如,正方形、纵向定向、横向定向等)的图像、静止图像、动态图像等。
在另一示例中,如果已获得了用户同意,则确定场境信息可以包括接收消息收发谈话中的参与者(例如,电子邮件接收者)的识别信息(例如,诸如用户名、登录ID等这样的用户标识符)、已经经由图像共享应用共享的在先图像的特性(例如,风景图像、食物图像、自拍照等)等。在另一示例中,场境信息可以包括使用目标软件(诸如金融应用)进行的用户活动,例如,提交费用报告、生成发票等。
在一些实施方式中,目标软件应用可以经由API提供场境信息。在一些实施方式中,如果已获得了用户同意,则可以将场境信息作为可与和用户的图像库中的图像相关联的图像特性匹配的例如“自拍照”、“收据”、“假期”等的一个或多个图像特性来提供。如果已获得了用户同意,则此类图像特性可基于图像内容(例如,描绘的图像特性)和/或图像元数据(例如,捕获的时间、捕获的位置、捕获相机的属性和设定等)。在一些实施方式中,可以将场境信息作为语义概念(例如,“费用报告”、“与Andrew的聊天谈话”等)来提供。
当用户提供同意时,场境信息可以包括来自目标软件应用的应用场境。例如,应用场境可以包括谈话的概要或与经由消息收发应用进行的谈话相关联的语义概念、在金融应用中准备的费用报告的时间段等。例如,应用场境可以包括“此谈话是关于巴厘岛假期的”、“2017年11月的费用报告”等。框312后面可以是框314。
在框314中,基于场境信息识别一个或多个第一图像。例如,第一图像可以基于使场境信息与图像库中的图像的图像特性相匹配。在一些实施方式中,匹配可以基于目标应用的应用类型。例如,可在框314之前使特定图像特性与特定类型的应用相关联。例如,如果应用类型是“金融应用”,则可以将与指示图像为“收据”、“文档”、“屏幕截图”等的标签相关联的图像选择为一个或多个第一图像,并且可以排除具有其它特性(例如,标签)的图像,例如,“照片”、“视频”等。
在一些实施方式中,第一图像可以基于使在场境信息中指定的图像特性和/或语义概念与图像库中的图像的图像特性相匹配。例如,如果应用类型是消息收发应用并且场境信息包括消息收发谈话中的参与者的识别信息,例如,场境信息指定由消息收发应用提供的聊天谈话涉及用户Andrew和Joyce,则可以将描绘Andrew和Joyce中的至少一个的图像选择为第一图像。
在另一示例中,如果应用场境指定由消息收发应用提供的聊天谈话是关于巴厘岛假期的,则基于应用场境确定一个或语义概念。例如,语义概念可以包括“假期”、“巴厘岛”、“海滩”,“印度尼西亚”、“寺庙”等。可以将与根据应用场境确定的或者在应用场境中指定的语义概念相关联的图像选择为第一图像。在另一示例中,如果场境信息指定2017年11月的费用报告,则可以将具有与2017年11月相对应的关联时间戳的收据的图像选择为第一图像。框314后面可以是框316。
在框316中,显示包括第一图像的用户界面。例如,用户界面可以由客户端设备120-124中的任一个显示。用户界面使得用户能够选择第一图像中的一个或多个,类似于上面参考框218所描述的用户界面。框316后面可以是框318。
在框318中,接收用户对所显示的图像(例如,第一图像)中的一个或多个的选择。例如,框318可类似于图2的框212。框318后面可以是框320。
在框320中,例如,以与上述框214类似的方式确定在框318中选择的图像的图像特性。框320后面可以是框322。
在框322中,识别一个或多个附加图像。在一些实施方式中,可以基于在框320中确定的图像特性来识别附加图像。例如,如果用户选择对应于与标签“巴厘岛”和“Andrew”相关联的图像,则识别具有这些标签中的至少一个的附加图像。在一些实施方式中,识别附加图像基于在框320中确定的图像特性并且基于场境信息,例如,类似于上述框314。框322后面可以是框324。
在框324中,更新用户界面以包括一个或多个附加图像。例如,可以代替第一图像或者除了第一图像之外显示一个或多个附加图像。在一些实施方式中,经更新的用户界面可以包括包含由用户选择的图像的一部分,例如,“选择托盘”部分。“选择托盘”可以与用户界面的包括第一图像以及可用于供用户选择的一个或多个附加图像的其它部分不同。可像针对图2的框218所描述的那样类似地提供其它特征。框324后面可以是框326。
在框326中,确定了是否从用户(例如,从显示在经更新的用户界面中的图像)接收到另外的图像选择。如果接收到另外的图像选择,则方法进行到框320,其中确定由用户选择的附加图像的图像特性。可以重复框320-326以向用户提供附加图像选择建议。如果没有接收到另外的图像选择,则方法进行到框328。
在框328中,将由用户选择的图像提供给目标软件应用。例如,如果目标软件应用是图像库应用,则可以将所选图像作为要用于基于图像的创作的图像来提供。在另一示例中,如果目标软件应用是图像共享或消息收发应用,则可以提供所选图像,使得这些图像可用于经由图像共享或消息收发应用发送到一个或多个其它设备(例如,通过网络)。在一些实施方式中,在将图像提供给目标软件应用之前,所选图像可以被处理,例如,自动地增强、裁剪、压缩、转换成不同的格式。在一些实施方式中,图像的处理可以基于从目标软件应用接收到的场境信息。
虽然已参考图3中的各个框描述了方法300,但是可以理解的是,可以在不执行图3的框中的一些的情况下执行本公开中描述的技术。可以组合图3中图示的框中的一个或多个。例如,可以组合框314、316和318中的两个或更多个。在另一示例中,可以组合框320、322和324中的两个或更多个。在各种实施方式中,可以并行或者以与图3中图示的次序不同的次序执行方法300的框中的一些。
在一些实施方式中,方法300由客户端设备(例如,客户端设备120-124中的一个或多个)执行。在一些实施方式中,方法300由服务设备(例如,服务器设备104)执行。在一些实施方式中,方法300由客户端和服务器设备的组合执行。例如,在一些实施方式中,框302、304、306、312、318、326和328由客户端设备执行,而框314、316、320、322和324由服务器设备执行。例如,当客户端设备120具有有限的能力来确定图像特性(例如,通过以编程方式分析图像)、具有有限的容量来存储图像数据等时,这种方法可以是有用的。
图4是根据一些实施方式的包括图像选择建议的示例用户界面400的图解图示。在各种实施方式中,用户界面400可由例如,由图1的客户端设备120、122、124和/或126的显示屏幕的显示设备显示,或者在一些实施方式中由服务器系统102显示。
如图4中所图示的,用户的图像库的一部分被显示在用户界面中。在图4中图示的示例中,示出了来自图像库的九个图像。虽然图4示出每行有三个正方形图像的三行图像,但是可基于可用的屏幕空间来使用网格中的任何数目的行和列。另外,不同的实施方式可以按照其它配置或布置显示图像。在一些实施方式中,可能示出来自库的更多或更少的图像。在一些实施方式中,可以基于与图像相关联的时间戳以特定次序(例如,逆编年次序)组织图像。
在图4中图示的示例中,用户已选择顶行中的最左边图像,如通过图像上的复选标记402所图示的。从可从图4看到的,由用户选择的图像(例如,第一图像)具有照片ID(“JaneDoe”)。使用本文描述的技术,基于用户选择的图像的一个或多个建议的图像选择(例如,第二图像)被显示在用户界面中。例如,建议的图像选择通过用户界面中的其它三个图像上的对应复选标记404、406和408来指示。建议的图像选择对应于照片ID(“XYZ Corp”的“JohnDoe”)的图像和收据的两个图像。此示例中的建议的图像选择基于使第一图像的图像特性(例如,“文档”、“身份证”)与图像库中的其它图像的那些图像特性匹配。
用户界面400还示出建议的动作元素410。在图4中图示的示例中,建议的动作是“选择文档和收据”。如果用户选择建议的动作元素410,则基于关联的图像特性自动地选择来自用户的图像库的作为文档或收据的其它图像。例如,如果此类图像被滚动或者经由用户输入以其它方式命令要显示在用户界面400的视图中,则自动地选择的图像可被显示有与复选标记404、406和408类似的复选标记。在一些实施方式中,可将此类自动地选择的图像显示在用户界面的与图像库中的图像的显示分开的显示区域中。在一些实施方式中,可以在建议的动作元素中示出其它或附加动作,例如,“把所选图像存档”、“自动增强所选图像”、“删除所选图像”等。
在一些实施方式中,建议的动作可以基于图像特性,例如,不同的特定建议的动作可与相应的特定图像特性相关联。例如,如果用户已选择了模糊的图像,则建议的动作可以是删除图像。在另一示例中,如果用户已选择了暗的图像,则建议的动作可以是应用亮度或对比度增强。在一些实施方式中,建议的动作可以是复合动作,例如,“选择图像,应用图像过滤器,并且经由消息收发应用共享图像”。如果用户选择建议的动作元素410,则自动地执行所对应的动作。
用户界面400使得用户能够以减少的努力并且以对包括存储器、处理资源、和电力的设备资源的减少的消耗来选择图像。例如,不是用户必须在设备上利用许多滚动和搜索操作来手动地选择每个模糊图像,而是用户界面可以使得用户能够利用简单且减少的设备操作来批准呈现的建议的选择。另外,可选择图像库中的未被显示在用户界面400中但是具有与用户选择的图像匹配的特性的其它图像,而不必用户浏览图像并手动地选择每个图像。
图5A是根据一些实施方式的提供图像选择建议的示例用户界面500的图解图示。在各种实施方式中,用户界面500可由例如,由图1的客户端设备120、122、124和/或126的显示屏幕的显示设备显示,或者在一些实施方式中由服务器系统102显示。
如图5A中所图示的,用户界面500包括选择托盘,所述选择托盘包括用户选择的图像502、以及指示附加图像可被选择并添加到托盘的两个空白斑点。用户界面500包括用户可从中选择的图像。例如,用户可从用户界面的“最近的”部分(504)中选择一个或多个最近的图像。在一些实施方式中,可以基于与用户的图像库中的图像相关联的捕获时间戳以降序组织“最近的”部分中的图像。
用户界面500还包括建议506,所述建议506包括使用本文描述的技术所确定的建议的图像选择。在图5中图示的示例中,建议的图像选择以“建议”卡的形式被显示,重叠在“最近的”部分504之上。在不同的实施方式中,可以将建议的图像选择显示在用户界面的不同的部分中,复选标记或其它视觉指示符可以用于指示建议的图像选择等。在一些实施方式中,可以将建议的图像选择显示在用户界面的优先化部分中,例如,在选择托盘附近。
在图5A中图示的示例中,用户已选择花的图像502。基于用户选择,在用户的图像库中具有与图像502的一个或多个特征匹配的特性的其它图像被包括在建议506中。例如,可以显示在与和图像502相关联的位置类似的位置处捕获的花的其它图像,例如,图像512、514和516。在图5中所示的示例中,基于匹配特性“林荫小径上的花”的概要作为建议卡中的部分标题510被示出。具有标题“林荫小径上的朋友”(520)的第二部分包括附加图像建议,图像522、524和526。附加图像建议基于所关联的位置为“林荫小径”。在不同的实施方式中,可以提供任何数目的图像建议。用户界面500使得用户能够从“最近的”部分504中和/或从建议卡506中选择一个或多个图像。
在一些实施方式中,可以基于与由用户已经选择的图像(例如,图像502)的匹配度来在用户界面中对图像建议进行组织(例如,分组)。例如,图像512-516被示出在建议卡506的第一部分中,因为这些图像包括与所选图像502类似的主题并且在林荫小径被捕获。图像522-526被示出在建议卡506的第二部分中,因为这些图像是在林荫小径上捕获的,但是与所选图像502不类似,因为图像未描绘花。
图5B是根据一些实施方式的提供图像选择建议的示例用户界面530的图解图示。例如,可以在用户已经经由用户界面500选择了图像522和512之后显示用户界面530。附加选择的图像作为选择托盘的一部分被示出。图像522和512从建议卡中被去除。例如,基于使图像库中的图像的图像特性与所选图像502、512和522相匹配将附加图像528添加到建议卡。
图5C是根据一些实施方式的提供图像选择建议的示例用户界面540的图解图示。如图5C中所示,已基于由用户选择的图像(例如图像502、512和522)生成了基于图像的创作,例如,图片拼贴画542。用户界面540包括具有一个或多个建议的图像的建议卡。例如,用户界面540可以使得用户能够选择建议的图像中的一个或多个并且将这些图像添加到图片拼贴画,例如,通过将图像从建议卡拖放到图片拼贴画。
图6是可以用于实现本文描述的一个或多个特征的示例设备600的框图。在一个示例中,设备600可以用于实现客户端设备,例如,图1中所示的客户端设备115中的任一个。替换地,设备600可实现服务器设备,例如,服务器101。在一些实施方式中,设备600可以是用于实现客户端设备、服务器设备、或客户端和服务器设备两者。设备600可以是如上所述的任何适合的计算机系统、服务器、或其它电子或硬件设备。
可以在可在任何类型的计算设备上执行的独立程序、在web浏览器上运行的程序、在移动计算设备(例如,手机、智能电话、平板计算机、可穿戴设备(腕表、臂章、珠宝、头饰、虚拟现实护目镜或眼镜、增强现实护目镜或眼镜、头戴式显示器等)、膝上型计算机等)上运行的移动应用(“app”)中运行本文描述的一种或多种方法。在一个示例中,可使用客户端/服务器架构,例如,移动计算设备(作为客户端设备)向服务器设备发送用户输入数据并且从服务器接收最终输出数据以进行输出(例如,以进行显示)。在另一示例中,可在移动计算设备上的移动app(和/或其它apps)内执行所有计算。在另一示例中,可在移动计算设备和一个或多个服务器设备之间拆分计算。
在一些实施方式中,设备600包括处理器602、存储器604和输入/输出(I/O)接口606。处理器602可以是用于执行程序代码并且控制设备600的基本操作的一个或多个处理器和/或处理电路。“处理器”包括处理数据、信号或其它信息的任何适合的硬件系统、机制、或组件。处理器可以包括具有带一个或多个核心(例如,在单个核心、双核心、或多核心配置中)的通用中央处理单元(CPU)、多个处理单元(例如,在多处理器配置中)、图形处理单元(GPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、复杂可编程逻辑器件(CPLD)、用于实现功能性的专用电路、用于实现基于神经网络模型的处理的专用处理器、神经电路、针对矩阵计算(例如,矩阵乘法)而优化的处理器的系统、或其它系统。在一些实施方式中,处理器602可以包括实现神经网络处理的一个或多个协处理器。在一些实施方式中,处理器602可以是处理数据以产生概率输出的处理器,例如,由处理器602产生的输出可以是不精确的或者可以在距预期输出的范围内是准确的。处理不必限于特定地理位置或者具有时间限制。例如,处理器可以“实时地”、“离线”、在“批处理模式”等下执行其功能。可以通过不同的(或相同的)处理系统来在不同的时间并在不同的位置处执行处理的多个部分。计算机可以是与存储器通信的任何处理器。
存储器604通常被设置在设备600中以供由处理器602访问,并且可以是适合于存储由处理器执行的指令并被定位为与处理器602分开和/或与其集成在一起的任何适合的处理器可读存储介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、电可擦除只读存储器(EEPROM)、闪速存储器等。存储器604可存储由处理器602在服务器设备600上操作的软件,包括操作系统608、机器学习应用630、其它应用612、和应用数据614。其它应用612可以包括诸如数据显示引擎、web托管引擎、图像显示引擎、通知引擎、社交联网引擎等这样的应用。在一些实施方式中,机器学习应用630和其它应用612可各自包括使得处理器602能够执行本文描述的功能(例如,图2和图3的方法中的一些或全部)的指令。
其它应用612可包括例如图像编辑应用、媒体显示应用、通信应用、web托管引擎或应用、绘图应用、媒体共享应用等。本文公开的一种或多种方法可在若干环境和平台中操作,例如,作为可在任何类型的计算设备上运行的独立计算机程序、作为具有web页面的web应用、作为在移动计算设备上运行的移动应用(“app”)等。
在各种实施方式中,机器学习应用可以利用贝叶斯分类器、支持向量机、神经网络或其它学习技术。在一些实施方式中,机器学习应用630可以包括训练模型634、推理引擎636、和数据632。在一些实施方式中,数据632可以包括训练数据,例如,用于生成训练模型634的数据。例如,训练数据可以包括任何类型的数据,诸如文本、图像、音频、视频等。可以从任何源获得训练数据,所述任何源例如具体地标记用于训练的数据储存库、已提供许可以便用作用于机器学习的训练数据的数据等。在一个或多个用户许可使用他们相应的用户数据来训练机器学习模型(例如,训练模型634)的实施方式中,训练数据可以包括这种用户数据。在用户许可使用他们相应的用户数据的实施方式中,数据632可以包括许可的数据,诸如图像(例如,照片或其它用户生成的图像)、通信(例如,电子邮件;诸如文本消息、话音、视频等这样的聊天数据)、文档(例如,电子表格、文本文档、演示文稿等)。
在一些实施方式中,数据632可以包括收集的数据,诸如地图数据、图像数据(例如,卫星影像、空中影像等)、游戏数据等。在一些实施方式中,训练数据可以包括为了训练而生成的合成数据,诸如不基于正被训练的场境中的用户输入或活动的数据,例如,从模拟谈话、计算机生成的图像等生成的数据。在一些实施方式中,机器学习应用630排除数据632。例如,在这些实施方式中,可以例如在不同的设备上生成训练模型634,并且训练模型634作为机器学习应用630的一部分被提供。在各种实施方式中,训练模型634可以作为包括模型结构或形式和关联的权重的数据文件被提供。推理引擎636可以读取用于训练模型634的数据文件并且基于在训练模型634中指定的模型结构或形式来实现具有节点连接、层、和权重的神经网络。
机器学习应用630还包括训练模型634。在一些实施方式中,训练模型可以包括一个或多个模型形式或结构。例如,模型形式或结构可包括任何类型的神经网络,诸如线性网络、实现多个层(例如,输入层与输出层之间的“隐藏层”,其中每个层是线性网络)的深度神经网络、卷积神经网络(例如,将输入数据拆分或分割多个部分或拼贴,使用一个或多个神经网络层来分别处理每个拼贴,并且聚合来自每个拼贴的处理的结果)、序列到序列神经网络(例如,将顺序数据(诸如句子中的单词、视频中的帧等)视为输入并且产生结果序列作为输出的网络)等。模型形式或结构可以指定各种节点之间的连接以及节点变成层的组织。例如,第一层(例如,输入层)的节点可以接收数据作为输入数据632或应用数据614。例如,当训练模型被用于图像分析时,这种数据可包括例如每节点一个或多个像素。后续中间层可以接收在模型形式或结构中指定的每连接的前一层的节点的输出作为输入。这些层也可以被称为隐藏层。最后层(例如,输出层)产生机器学习应用的输出。例如,取决于具体训练模型,输出可以是用于图像的一组标签、许可将图像与其它图像相比较的图像的表示(例如,用于图像的特征向量)、响应于输入句子的输出句子、针对输入数据的一个或多个类别等。在一些实施方式中,模型形式或结构还指定每个层中的节点的数目和/或类型。
在不同的实施方式中,训练模型634可包括被按照模型结构或形式布置成层的多个节点。在一些实施方式中,节点可以是没有存储器的计算节点,例如,被配置成处理输入的一个单元以产生输出的一个单元。由节点执行的计算可以包括例如将多个节点输入中的每一个乘以权重、获得加权和、并且利用偏置或截距值来调整加权和以产生节点输出。在一些实施方式中,由节点执行的计算还可包括将阶跃/激活函数应用于调整后的加权和。在一些实施方式中,阶跃/激活函数可以是非线性函数。在各种实施方式中,这种计算可以包括诸如矩阵乘法这样的操作。在一些实施方式中,可以并行执行由多个节点进行的计算,例如,使用多核心处理器的多个处理器核心、使用GPU的各个处理单元、或专用神经电路。在一些实施方式中,节点可以包括存储器,例如,可以能够在处理后续输入时存储并使用一个或多个较早的输入。例如,具有存储器的节点可以包括长短期记忆(LSTM)节点。LSTM节点可以使用存储器来维护许可节点像有限状态机(FSM)一样行动的“状态”。具有此类节点的模型在处理顺序数据(例如,句子或段落中的单词、视频中的帧、语音或其它音频等)时可以是有用的。
在一些实施方式中,训练模型634可以包括用于各个节点的嵌入或权重。例如,可以将模型作为像通过模型形式或结构所指定的那样组织成层的多个节点来启动。在初始化时,可以将相应的权重应用于按照模型形式连接的每对节点(例如,神经网络的连续层中的节点)之间的连接。例如,相应的权重可以被随机地指派或者初始化为默认值。然后可以例如使用数据632来训练模型,以产生结果。
例如,训练可以包括应用监督学习技术。在监督学习中,训练数据可包括多个输入(例如,一组图像)和针对每个输入的对应预期输出(例如,用于每个图像的一个或多个标签)。基于模型的输出与预期输出的比较,例如以增加模型在被提供类似的输入时产生预期输出的概率的方式自动地调整权重的值。
在一些实施方式中,训练可以包括应用无监督学习技术。在无监督学习中,可以提供仅输入数据并且可以训练模型以区分数据,例如,以将输入数据聚类成多个组,其中每个组包括以某种方式类似的输入数据。例如,可以训练模型以区分图像,使得模型将抽象图像(例如,合成图像、人画图像等)与自然图像(例如,照片)区分开。可以训练模型以基于图像内容数据和/或图像元数据来确定一个或多个图像特性。所确定的图像特性可以包括图像标签和/或语义概念。
在另一示例中,使用无监督学习训练的模型可以基于对输入句子中的单词的使用来对单词进行聚类。在一些实施方式中,无监督学习可以用于产生知识表示,例如,可以由机器学习应用630使用的知识表示。在各种实施方式中,训练模型包括与模型结构相对应的一组权重或嵌入。在省略了数据632的实施方式中,机器学习应用630可以包括基于在先训练(例如,由机器学习应用630的开发者、由第三方等进行)的训练模型634。在一些实施方式中,训练模型634可以包括固定的(例如,从提供权重的服务器下载的)一组权重。
机器学习应用630还包括推理引擎636。推理引擎636被配置成将训练模型634应用于数据(诸如应用数据614),以提供推理。在一些实施方式中,推理引擎636可以包括要由处理器602执行的软件代码。在一些实施方式中,推理引擎636可以指定使得处理器602能够应用训练模型的电路配置(例如,用于可编程处理器、用于现场可编程门阵列(FPGA)等)。在一些实施方式中,推理引擎636可以包括软件指令、硬件指令、或组合。在一些实施方式中,推理引擎636可以提供可由操作系统608和/或其它应用612使用来调用推理引擎636的应用编程接口(API),例如,以将训练模型634应用于应用数据614来生成推理。
机器学习应用630可以提供若干技术优点。例如,当基于无监督学习生成训练模型634时,训练引擎634可由推理引擎636应用来从输入数据(例如,应用数据614)产生知识表示(例如,数值表示)。例如,被训练用于图像分析的模型可以产生具有比输入图像(例如,10MB)更小的数据大小(例如,1KB)的图像的表示。在一些实施方式中,此类表示可以有助于降低处理成本(例如,计算成本、存储器使用等)以生成输出(例如,标签、分类、描述图像的句子等)。在一些实施方式中,可以将此类表示作为输入提供给从推理引擎636的输出产生输出的不同的机器学习应用。在一些实施方式中,可以例如通过网络将由机器学习应用630生成的知识表示提供给进行进一步处理的不同的设备。在此类实施方式中,提供知识表示而不是图像可以提供技术益处,例如,以降低的成本使得能更快数据传输。在另一示例中,被训练用于对文档进行聚类的模型可以从输入文档产生文档聚类。文档聚类可以适合于进一步处理(例如,确定文档是否与话题有关、确定用于文档的分类类别等),而无需访问原始文档,并且因此,节约计算成本。
在一些实施方式中,可以以离线方式实现机器学习应用630。在这些实施方式中,训练模型634可以在第一阶段中被生成,并且作为机器学习应用630的一部分被提供。在一些实施方式中,可以以在线方式实现机器学习应用630。例如,在此类实施方式中,调用机器学习应用630的应用(例如,操作系统608、其它应用612中的一个或多个)可以利用由机器学习应用630产生的推理,例如,将推理提供给用户,并且可以生成系统日志(例如,如果被用户许可,则为由用户基于推理采取的动作;或者如果被用作进一步处理的输入,则为进一步处理的结果)。系统日志可以被定期性地(例如,每小时、每月、每季度等)产生,并且可以在用户许可情况下用于更新训练模型634,例如,以更新用于训练模型634的嵌入。
在一些实施方式中,可以以可适于在其上执行机器学习应用630的设备600的特定配置的方式实现机器学习应用630。例如,机器学习应用630可以确定利用可用的计算资源(例如,处理器602)的计算图。例如,如果机器学习应用630作为分布式应用被实现在多个设备上,则机器学习应用630可以确定要以优化计算的方式在各个设备上执行的计算。在另一示例中,机器学习应用630可以确定处理器602包括具有特定数目的GPU核心(例如,1000个)并且相应地(例如,作为1000个各个进程或线程)实现推理引擎的GPU。
在一些实施方式中,机器学习应用630可以实现训练模型的集合。例如,训练模型634可以包括各自适用于相同的输入数据的多个训练模型。在这些实施方式中,机器学习应用630可以例如基于可用的计算资源、具有先验推理的成功率等来选取特定训练模型。在一些实施方式中,机器学习应用630可以执行推理引擎636,使得多个训练模型被应用。在这些实施方式中,机器学习应用630可以组合来自应用各个模型的输出,例如,使用对来自应用每个训练模型的各个输出进行评分的投票技术或者通过选取一个或多个特定输出。另外,在这些实施方式中,机器学习应用可以应用用于应用各个训练模型的时间阈值(例如,0.5ms)并且仅利用在该时间阈值内可用的那些各个输出。可以不利用(例如,丢弃)在时间阈值内未接收到的输出。例如,当在例如通过操作系统608或一个或多个应用612调用机器学习应用的同时指定了时间限制时,此类方法可以是适合的。
在不同的实施方式中,机器学习应用630可产生不同类型的输出。例如,机器学习应用630可提供表示或聚类(例如,输入数据的数值表示)、标签(例如,用于包括图像、文档等的输入数据)、短语或句子(例如,描述图像或视频,适合于用作对输入句子的响应等)、图像(例如,由机器学习应用响应于输入而生成)、音频或视频(例如,响应于输入视频,机器学习应用630可以产生应用有特定效果的输出视频,例如,当使用来自漫画书或特定艺术家等的训练数据来训练训练模型634时,以漫画书或特定艺术家的风格进行渲染)。在一些实施方式中,机器学习应用630可以基于由调用应用(例如,操作系统608或一个或多个应用612)指定的格式来产生输出。在一些实施方式中,调用应用可以是另一机器学习应用。例如,此类配置可以被用在生成对抗网络中,其中使用来自机器学习应用630的输出来训练调用机器学习应用并且反之亦然。
存储器604中的软件中的任一个可替换地被存储在任何其它适合的存储位置或计算机可读介质上。此外,存储器604(和/或其它连接的存储设备)可存储一个或多个图像、消息、一个或多个分类法、电子百科全书、词典、同义词库、知识库、消息数据、语法、用户偏好、和/或本文描述的特征中使用的其它指令和数据。存储器604和任何其它类型的存储装置(磁盘、光盘、磁带、或其它有形介质)可被认为是“存储装置”或“存储设备”。
I/O接口606可提供用于使得能够将服务器设备600与其它系统和设备对接的功能。对接设备可作为设备600的一部分被包括或者可以是分开的并与设备600进行通信。例如,网络通信设备、存储设备(例如,存储器和/或数据库106)、和输入/输出设备可经由I/O接口606通信。在一些实施方式中,I/O接口可连接到接口设备,诸如输入设备(键盘、指点设备、触摸屏、麦克风、相机、扫描仪、传感器等)和/或输出设备(显示设备、扬声器设备、打印机、电机等)。
可连接到I/O接口606的对接设备的一些示例可包括一个或多个显示设备620,所述显示设备620可用于显示内容,例如,图像、视频、和/或如本文所描述的输出应用的用户界面。显示设备620可经由本地连接(例如,显示总线)和/或经由联网连接来连接到设备600并且可以是任何适合的显示设备。显示设备620可包括任何适合的显示设备,诸如LCD、LED、或等离子体显示屏幕、CRT、电视、监视器、触摸屏、3-D显示屏幕、或其它视觉显示设备。例如,显示设备620可以是在移动设备上提供的平板显示屏幕、在护目镜或头戴式耳机设备中提供的多个显示屏幕、或用于计算机设备的监视器屏幕。
I/O接口606可与其它输入和输出设备对接。一些示例包括可捕获图像的一个或多个相机。一些实施方式可提供用于捕获声音(例如,作为捕获的图像、话音命令等的一部分)的麦克风、用于输出声音的音频扬声器设备、或其它输入和输出设备。
为了便于图示,图6示出了用于处理器602、存储器604、I/O接口606、和软件框608、612和630中的每一个的一个框。这些框可以表示一个或多个处理器或处理电路、操作系统、存储器、I/O接口、应用、和/或软件模块。在其它实施方式中,设备600可以不具有所示的所有组件并且/或者代替本文所示的那些元件或者除了本文所示的那些元件之外还可以具有包括其它类型的元件的其它元件。虽然一些组件被描述为执行如本文的一些实施方式中所描述的框和操作,但是环境100、设备600、类似的系统的组件中的任何适合的组件或组合、或与这样的系统相关联的任何适合的一个或多个处理器可以执行所描述的框和操作。
本文描述的方法可通过可在计算机上执行的计算机程序指令或代码来实现。例如,代码可由一个或多个数字处理器(例如,微处理器或其它处理电路)实现并且可被存储在包括非暂时性计算机可读介质(例如,存储介质)的计算机程序产品上,所述非暂时性计算机可读介质诸如磁、光学、电磁、或半导体存储介质,包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、硬磁盘、光盘、固态存储器驱动器等。程序指令还可被包含在电子信号中并作为电子信号被提供,例如以从服务器(例如,分布式系统和/或云计算系统)递送的软件即服务(SaaS)的形式提供。替换地,一种或多种方法可用硬件(逻辑门等)或者用硬件和软件的组合加以实现。示例硬件可以是可编程处理器(例如,现场可编程门阵列(FPGA)、复杂可编程逻辑器件)、通用处理器、图形处理器、专用集成电路(ASIC)等。可将一种或多种方法作为在系统上运行的应用的一部分或组件、或者作为与其它应用和操作系统相结合地运行的应用或软件来执行。
尽管已相对于说明书的特定实施方式描述了说明书,但是这些特定实施方式仅仅是说明性的,而不是限制性的。示例中图示的概念可以被应用于其它示例和实施方式。
注意的是,如将为本领域的技术人员所知的那样,可以将本公开中描述的功能块、操作、特征、方法、设备和系统集成或者划分到系统、设备和功能块的不同组合中。可以使用任何适合的编程语言和编程技术来实现特定实施方式的例行程序。可以采用不同的编程技术,例如过程的或面向对象的。例行程序可以在单个处理设备或多个处理器上执行。尽管可以以具体次序呈现步骤、操作或计算,但是可以在不同的特定实施方式中改变该次序。在一些实施方式中,可以同时执行在本说明书中示出为有顺序的多个步骤或操作。
Claims (18)
1.一种用于提供图像选择建议的方法,所述方法包括:
接收第一用户输入,所述第一用户输入指示对图像库中的一个或多个第一图像的选择,其中,所述一个或多个第一图像已从所述图像库中的多个图像中的显示图像中选择;
确定所述一个或多个第一图像的一个或多个第一图像特性;
识别所述图像库中的一个或多个第二图像,其中,所述一个或多个第二图像中的每一个均与至少一个第二图像特性相关联,所述至少一个第二图像特性与所述一个或多个第一图像特性中的至少一个匹配;
使用户界面被显示,其中,所述用户界面包括所述一个或多个第二图像,并且其中,所述用户界面使得能够选择所述一个或多个第二图像;
接收指示对一个或多个另外图像的选择的第二用户输入,所述一个或多个另外图像包括除了所述一个或多个第二图像之外的至少一个显示图像;
确定经由所述第二用户输入选择的所述一个或多个另外图像的一个或多个另外图像特性;
识别所述图像库中的一个或多个第三图像,其中,所述一个或多个第三图像中的每个图像与至少一个第三图像特性相关联,所述至少一个第三图像特性与所述一个或多个另外图像特性中的至少一个匹配;
使更新的用户界面被显示,其中,所述更新的用户界面除了所述一个或多个第二图像之外还包括所述一个或多个第三图像,其中,所述用户界面使得能够从包括所述一个或多个第二图像和所述一个或多个第三图像的图像集中选择;
基于来自包括所述一个或多个第二图像和所述一个或多个第三图像的所述图像集的选择图像的特性,确定与所述选择图像的所述特性相关联的建议动作并且显示对应的建议动作元素;和
响应于对所述对应的建议动作元素的用户选择,对所述选择图像和所述图像库中具有与选择图像的所述特性匹配的特性的一个或多个附加图像执行所述建议动作。
2.根据权利要求1所述的方法,还包括生成图像相册,其中,所述图像相册包括所述一个或多个第一图像和所述一个或多个第二图像中的所述至少一个。
3.根据权利要求1所述的方法,还包括:
接收第三用户输入,所述第三用户输入指示对所述一个或多个第三图像中的至少一个的选择;
生成图像拼贴画,其中,所述图像拼贴画包括所述一个或多个第一图像、所述一个或多个另外图像和所述一个或多个第三图像中的所述至少一个。
4.根据权利要求1所述的方法,其中,确定所述一个或多个第一图像特性包括确定所述一个或多个第一图像中的至少一个是模糊的,并且其中,识别所述一个或多个第二图像包括基于所述一个或多个第二图像的模糊度来识别所述一个或多个第二图像中的每一个。
5.根据权利要求1所述的方法,其中,确定所述一个或多个第一图像特性包括确定与所述一个或多个第一图像中的至少一个相关联的位置,并且其中,识别所述一个或多个第二图像包括从所述图像库中选择与相应的位置相关联的图像,所述相应的位置在与所述一个或多个第一图像中的所述至少一个相关联的所述位置的阈值距离内。
6.根据权利要求1所述的方法,还包括确定图像选择的场境,其中,识别所述一个或多个第二图像是基于所述图像选择的场境。
7.根据权利要求6所述的方法,其中,所述图像选择的场境是以下中的一个:基于图像的创作的生成、或将图像提供给目标软件应用。
8.根据权利要求7所述的方法,其中,所述基于图像的创作包括从图像相册、图像拼贴画、视频、印刷出版物及其组合的组中选择的至少一个。
9.根据权利要求1所述的方法,其中,所述一个或多个第二图像是所述一个或多个第一图像中的至少一个的副本。
10.根据权利要求1所述的方法,其中,所述一个或多个第二图像是多个第二图像,其中,使所述用户界面被显示包括使所述多个第二图像中的第一组第二图像被显示在所述用户界面的第一部分中并且所述多个第二图像中的第二组第二图像被显示在所述用户界面的第二部分中,其中,与所述第二组相比,所述第一组与所述一个或多个第一图像具有更大的匹配度,并且其中,所述第一组包括具有与所述一个或多个第一图像的图像主题特性和位置特性两者相匹配的特性的所述第二图像中的至少一个,并且所述第二组包括具有与所述一个或多个第一图像的位置特性相匹配的特性的所述第二图像中的至少一个。
11.根据权利要求1所述的方法,其中,所述建议动作包括以下中的一个或多个:删除所述选择图像和所述一个或多个附加图像、或执行对所述选择图像和所述一个或多个附加图像的自动增强。
12.一种用于提供图像选择建议的方法,所述方法包括:
确定指示目标软件应用的场境信息;
至少部分地基于所述场境信息,识别图像库中的一个或多个第一图像;
使用户界面被显示,其中,所述用户界面包括所述一个或多个第一图像,并且其中,所述用户界面使得能够选择所述一个或多个第一图像;
接收第一用户输入,所述第一用户输入指示对所述一个或多个第一图像中的至少一个图像的选择;
确定所述至少一个选择图像的一个或多个第一图像特性;
识别所述图像库中的一个或多个第二图像,其中,所述一个或多个第二图像中的每一个至少部分地基于所述场境信息来识别并且具有所述一个或多个第一图像特性中的至少一个;
使更新的用户界面被显示,其中,所述更新的用户界面包括所述一个或多个第一图像和所述一个或多个第二图像,其中,所述用户界面使得能够从包括所述一个或多个第一图像和所述一个或多个第二图像的图像集中选择,并且其中,所述一个或多个第一图像和所述一个或多个第二图像是基于与先前选择图像的匹配度来在所述用户界面中组织的;
基于来自包括所述一个或多个第一图像和所述一个或多个第二图像的所述图像集的选择图像的特性,确定与所述选择图像的所述特性相关联的建议动作并且显示对应的建议动作元素;
响应于对所述对应的建议动作元素的用户选择,对所述选择图像和所述图像库中具有与选择图像的所述特性匹配的特性的一个或多个附加图像执行所述建议动作;和
如果没有接收到另外图像选择,则将所述选择图像提供给目标软件应用。
13.根据权利要求12所述的方法,其中,所述建议动作包括以下中的一个或多个:删除所述选择图像和所述一个或多个附加图像、或执行对所述选择图像和所述一个或多个附加图像的自动增强。
14.根据权利要求12所述的方法,其中,确定所述场境信息包括确定所述目标软件应用的应用类型,其中:
所述应用类型包括图像共享应用,并且其中,识别所述一个或多个第一图像包括:
从所述图像库中选择满足质量阈值的所述一个或多个第一图像。
15.根据权利要求12所述的方法,其中,确定所述场境信息包括确定所述目标软件应用的应用类型,其中,所述应用类型包括金融应用,并且其中,识别所述一个或多个第一图像包括:
从所述图像库中选择所述一个或多个第一图像,其中,所述一个或多个第一图像与图像标签相关联,所述图像标签包括收据、文档或屏幕截图中的一个或多个。
16.根据权利要求12所述的方法,其中,确定所述场境信息包括确定所述目标软件应用的应用类型,其中,所述应用类型包括消息收发应用,并且其中,确定所述场境信息还包括在所述消息收发应用中接收消息收发谈话中的参与者的识别信息,并且其中,识别所述一个或多个第一图像包括:
从所述图像库中选择描绘所述消息收发谈话中的所述参与者中的至少一个的图像。
17.根据权利要求12所述的方法,其中,确定所述场境信息包括从所述目标软件应用接收应用场境,并且其中,识别所述一个或多个第一图像包括:
基于所述应用场境确定一个或多个语义概念;以及
选择所述一个或多个第一图像,其中,所述一个或多个第一图像中的每一个的至少一个图像特性与所述一个或多个语义概念中的至少一个匹配。
18.一种存储指令的非暂时性计算机可读存储介质,所述指令当由一个或多个硬件处理器执行时,使所述一个或多个硬件处理器执行操作,所述操作包括根据前述权利要求中的任一个所述的方法的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762609543P | 2017-12-22 | 2017-12-22 | |
US62/609,543 | 2017-12-22 | ||
PCT/US2018/067242 WO2019126723A1 (en) | 2017-12-22 | 2018-12-21 | Image selection suggestions |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110678861A CN110678861A (zh) | 2020-01-10 |
CN110678861B true CN110678861B (zh) | 2023-12-08 |
Family
ID=65139199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880035457.2A Active CN110678861B (zh) | 2017-12-22 | 2018-12-21 | 图像选择建议 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11775139B2 (zh) |
EP (2) | EP4239498A3 (zh) |
JP (2) | JP7158478B2 (zh) |
KR (1) | KR102437640B1 (zh) |
CN (1) | CN110678861B (zh) |
WO (1) | WO2019126723A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11720621B2 (en) * | 2019-03-18 | 2023-08-08 | Apple Inc. | Systems and methods for naming objects based on object content |
JP6590329B1 (ja) * | 2019-06-26 | 2019-10-16 | 株式会社ラディウス・ファイブ | 画像表示システム及びプログラム |
JPWO2022070825A1 (zh) * | 2020-09-30 | 2022-04-07 | ||
KR102628773B1 (ko) * | 2021-06-21 | 2024-01-23 | 주식회사 카카오 | 이모티콘 추천 방법 및 이모티콘 추천을 제공하는 사용자 단말 |
CN117716353A (zh) * | 2021-07-30 | 2024-03-15 | 富士胶片株式会社 | 数据创建装置、存储装置、数据处理系统、数据创建方法及程序 |
US20230095027A1 (en) * | 2021-09-24 | 2023-03-30 | Deep Sentinel Corp. | System and method for reducing surveillance detection errors |
CN117321586A (zh) * | 2022-04-29 | 2023-12-29 | 北京小米移动软件有限公司 | 图像处理方法及装置 |
US12107810B1 (en) * | 2023-06-28 | 2024-10-01 | Adeia Guides Inc. | System and methods for utilizing personal graphical elements in electronic communication |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146201A (ja) * | 2008-12-17 | 2010-07-01 | Noritsu Koki Co Ltd | 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム |
CN105122242A (zh) * | 2013-03-14 | 2015-12-02 | 谷歌公司 | 用于呈现与媒体内容相对应的方法、系统以及介质 |
CN107391523A (zh) * | 2016-05-17 | 2017-11-24 | 谷歌公司 | 多用户消息交互话题中提供用于与自动化助理交互的建议 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0973530A (ja) * | 1995-09-01 | 1997-03-18 | Sharp Corp | 画像ファイリング装置 |
JP2003248699A (ja) | 2002-02-26 | 2003-09-05 | Minolta Co Ltd | 画像管理サーバおよびプログラム |
JP4279083B2 (ja) * | 2003-08-18 | 2009-06-17 | 富士フイルム株式会社 | 画像処理方法および装置、並びに画像処理プログラム |
US7860319B2 (en) * | 2005-05-11 | 2010-12-28 | Hewlett-Packard Development Company, L.P. | Image management |
JP4929723B2 (ja) | 2006-01-16 | 2012-05-09 | 株式会社ニコン | 検索装置及び検索プログラム |
US7668867B2 (en) | 2006-03-17 | 2010-02-23 | Microsoft Corporation | Array-based discovery of media items |
US20150161175A1 (en) * | 2008-02-08 | 2015-06-11 | Google Inc. | Alternative image queries |
US8589402B1 (en) * | 2008-08-21 | 2013-11-19 | Adobe Systems Incorporated | Generation of smart tags to locate elements of content |
US9002120B2 (en) * | 2008-10-03 | 2015-04-07 | Intellectual Ventures Fund 83 Llc | Interactive image selection method |
US8422794B2 (en) * | 2009-07-30 | 2013-04-16 | Intellectual Ventures Fund 83 Llc | System for matching artistic attributes of secondary image and template to a primary image |
US9153056B2 (en) | 2013-03-07 | 2015-10-06 | Shutterfly, Inc. | Adaptive and fast image collage creation |
JP5204208B2 (ja) | 2010-12-21 | 2013-06-05 | 株式会社富士通マーケティング | レシートデータ照合支援装置およびレシートデータ照合支援プログラム |
US8909625B1 (en) | 2011-06-02 | 2014-12-09 | Google Inc. | Image search |
US20130125069A1 (en) | 2011-09-06 | 2013-05-16 | Lubomir D. Bourdev | System and Method for Interactive Labeling of a Collection of Images |
JP5485254B2 (ja) | 2011-12-19 | 2014-05-07 | 富士フイルム株式会社 | 画像整理装置および方法ならびにプログラム |
JP6101896B2 (ja) * | 2012-01-11 | 2017-03-29 | ノーリツプレシジョン株式会社 | 画像処理プログラムおよび画像処理装置 |
US9363220B2 (en) * | 2012-03-06 | 2016-06-07 | Apple Inc. | Context-sensitive help for image viewing and editing application |
US20140244514A1 (en) * | 2013-02-26 | 2014-08-28 | Digimarc Corporation | Methods and arrangements for smartphone payments and transactions |
US9727901B2 (en) * | 2013-06-13 | 2017-08-08 | Yahoo! Inc. | Systems and methods for image-based recommendations |
CN103338256B (zh) | 2013-06-28 | 2015-09-23 | 腾讯科技(深圳)有限公司 | 图片共享方法、装置、服务器及系统 |
JP2015069277A (ja) | 2013-09-27 | 2015-04-13 | 株式会社ニコン | 画像選択装置及びプログラム |
US9542417B2 (en) * | 2013-11-27 | 2017-01-10 | Eagle View Technologies, Inc. | Preferred image retrieval |
CN114745479B (zh) | 2014-02-10 | 2023-01-17 | 谷歌有限责任公司 | 智能相机用户界面 |
US9390472B2 (en) | 2014-03-07 | 2016-07-12 | Fractograf, LLC | Systems and methods for generating an interactive mosaic comprising user visual content data on a portable terminal and an image sharing platform |
US9934222B2 (en) * | 2014-04-22 | 2018-04-03 | Google Llc | Providing a thumbnail image that follows a main image |
US9524540B2 (en) * | 2014-07-22 | 2016-12-20 | Adobe Systems Incorporated | Techniques for automatically correcting groups of images |
US9740963B2 (en) * | 2014-08-05 | 2017-08-22 | Sri International | Multi-dimensional realization of visual content of an image collection |
JP6149015B2 (ja) * | 2014-09-10 | 2017-06-14 | 富士フイルム株式会社 | 画像処理装置、画像処理方法、プログラムおよび記録媒体 |
WO2016109450A1 (en) | 2014-12-29 | 2016-07-07 | Neon Labs Inc. | Selecting a high-valence representative image |
US20170249339A1 (en) | 2016-02-25 | 2017-08-31 | Shutterstock, Inc. | Selected image subset based search |
CN106021455A (zh) | 2016-05-17 | 2016-10-12 | 乐视控股(北京)有限公司 | 图像特征关系的匹配方法、装置和系统 |
CN109952572B (zh) | 2016-09-20 | 2023-11-24 | 谷歌有限责任公司 | 基于消息贴纸的建议响应 |
US10140675B2 (en) | 2016-11-28 | 2018-11-27 | Google Llc | Image grid with selectively prominent images |
US20180164990A1 (en) * | 2016-12-14 | 2018-06-14 | Facebook, Inc. | Methods and Systems for Editing Content of a Personalized Video |
WO2018212822A1 (en) | 2017-05-16 | 2018-11-22 | Google Inc. | Suggested actions for images |
US11163819B2 (en) * | 2017-10-23 | 2021-11-02 | Adobe Inc. | Image search and retrieval using object attributes |
US10891526B2 (en) | 2017-12-22 | 2021-01-12 | Google Llc | Functional image archiving |
-
2018
- 2018-12-21 EP EP23183169.4A patent/EP4239498A3/en active Pending
- 2018-12-21 WO PCT/US2018/067242 patent/WO2019126723A1/en unknown
- 2018-12-21 EP EP18837058.9A patent/EP3729294A1/en not_active Ceased
- 2018-12-21 CN CN201880035457.2A patent/CN110678861B/zh active Active
- 2018-12-21 KR KR1020207015395A patent/KR102437640B1/ko active IP Right Grant
- 2018-12-21 JP JP2020528152A patent/JP7158478B2/ja active Active
-
2021
- 2021-12-06 US US17/543,068 patent/US11775139B2/en active Active
-
2022
- 2022-10-11 JP JP2022163336A patent/JP2023011633A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146201A (ja) * | 2008-12-17 | 2010-07-01 | Noritsu Koki Co Ltd | 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム |
CN105122242A (zh) * | 2013-03-14 | 2015-12-02 | 谷歌公司 | 用于呈现与媒体内容相对应的方法、系统以及介质 |
CN107391523A (zh) * | 2016-05-17 | 2017-11-24 | 谷歌公司 | 多用户消息交互话题中提供用于与自动化助理交互的建议 |
Also Published As
Publication number | Publication date |
---|---|
KR102437640B1 (ko) | 2022-08-26 |
JP7158478B2 (ja) | 2022-10-21 |
US20220091706A1 (en) | 2022-03-24 |
WO2019126723A1 (en) | 2019-06-27 |
EP4239498A3 (en) | 2023-10-04 |
JP2023011633A (ja) | 2023-01-24 |
CN110678861A (zh) | 2020-01-10 |
EP3729294A1 (en) | 2020-10-28 |
EP4239498A2 (en) | 2023-09-06 |
US11775139B2 (en) | 2023-10-03 |
KR20200080287A (ko) | 2020-07-06 |
JP2021504803A (ja) | 2021-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11209442B2 (en) | Image selection suggestions | |
US11574470B2 (en) | Suggested actions for images | |
US11778028B2 (en) | Automatic image sharing with designated users over a communication network | |
US11829404B2 (en) | Functional image archiving | |
CN110678861B (zh) | 图像选择建议 | |
US11113328B2 (en) | Interface elements for directed display of content data items | |
KR20230021144A (ko) | 사용자 선호도를 반영한 기계 학습 기반 이미지 압축 세팅 | |
EP3948659B1 (en) | Automatic generation of people groups and image-based creations | |
US12056929B2 (en) | Automatic generation of events using a machine-learning model | |
US20240346823A1 (en) | Automatic generation of events using a machine-learning model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |