CN112287187A - 利用对象属性检测模型来自动地选择图像中所检测的对象的实例 - Google Patents
利用对象属性检测模型来自动地选择图像中所检测的对象的实例 Download PDFInfo
- Publication number
- CN112287187A CN112287187A CN202010261241.7A CN202010261241A CN112287187A CN 112287187 A CN112287187 A CN 112287187A CN 202010261241 A CN202010261241 A CN 202010261241A CN 112287187 A CN112287187 A CN 112287187A
- Authority
- CN
- China
- Prior art keywords
- query
- query object
- instance
- instances
- selection system
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 248
- 238000013528 artificial neural network Methods 0.000 claims description 160
- 238000000034 method Methods 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 19
- 239000000463 material Substances 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 14
- 230000004807 localization Effects 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 4
- 230000000875 corresponding effect Effects 0.000 description 46
- 238000010586 diagram Methods 0.000 description 27
- 230000009471 action Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 11
- 239000003086 colorant Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 238000003058 natural language processing Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000008451 emotion Effects 0.000 description 4
- 241000270666 Testudines Species 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000008921 facial expression Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000406668 Loxodonta cyclotis Species 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 241001481665 Protophormia terraenovae Species 0.000 description 1
- 241000220317 Rosa Species 0.000 description 1
- FAPWRFPIFSIZLT-UHFFFAOYSA-M Sodium chloride Chemical compound [Na+].[Cl-] FAPWRFPIFSIZLT-UHFFFAOYSA-M 0.000 description 1
- SAZUGELZHZOXHB-UHFFFAOYSA-N acecarbromal Chemical compound CCC(Br)(CC)C(=O)NC(=O)NC(C)=O SAZUGELZHZOXHB-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004567 concrete Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000011780 sodium chloride Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- 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
-
- 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
- G06F16/5838—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
-
- 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
- G06F16/5854—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using shape and object relationship
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
Abstract
本公开涉及一种对象选择系统,该对象选择系统精确地检测并自动选择数字图像中的用户请求的对象的目标实例(例如查询对象实例)。在一个或多个实施例中,对象选择系统可以分析一个或多个用户输入,以从多个专用的和通用的对象属性模型中确定最优的对象属性检测模型。附加地,对象选择系统可以利用所选择的对象属性模型来检测并选择图像中的查询对象的一个或多个目标实例,其中该图像包括该查询对象的多个实例。
Description
相关申请的交叉引用
本申请涉及同时提交的于2019年7月22日提交的美国专利申请序列号No.16/518,795(代理人案卷号20030.257.4)和2019年7月22日提交的美国专利申请序列号No.16/518,810(代理人案卷号20030.257.2),两者均通过引用其全文而并入本文。
背景技术
近年来,数字图像编辑已大大增加。实际上,硬件和软件两者的进步已经改进了个体捕获、创建和编辑数字图像的能力。例如大多数现代计算设备(例如服务器、台式机、笔记本计算机、平板计算机和智能手机)上的硬件都能够实现数字图像编辑,而不会出现明显的延迟时间或处理延迟。类似地,软件的改进使个体能够修改、组合、过滤或以其他方式编辑数字图像。编辑数字图像的示例包括检测对象、将对象从一个图像复制到新的背景、或从图像中删除对象。
尽管在数字图像编辑中有这些改进,但是常规系统在图像编辑系统中的灵活性、准确性和操作效率方面,特别是在检测和选择数字图像中的对象方面,存在许多问题。例如许多常规系统在它们可以在图像中所检测的对象类型方面功能有限。实际上,常规的图像编辑系统通常限于少数对象类别。此外,常规系统主要仅检测对象类别内的一小部分对象。
附加地,常规系统是不准确的。例如提供对象检测的许多常规系统通常会标识错误的对象或无法标识任何对象。例如当用户期望对象的目标实例的选择时,常规系统经常在单个选择中标识并分组对象的多个实例,因为这些系统无法区分图像中所检测的对象的实例。
此外,一些常规系统是不准确的,因为它们提供了不精确的结果。例如尽管一些常规系统可以选择对象的个体掩模,但是这些掩模的边界是粗糙且不精确的。实际上,这些常规系统经常产生对象掩模,其在上方包括图像的附加部分或不包括整个对象。结果是,用户必须手动校正选择和/或手动选择所需对象。
此外,常规系统效率低下。例如常规系统在自动对象检测和选择方面存在重大缺陷。例如许多检测对象的常规系统是端对端神经网络。当发生故障或无法达到预期的结果时,系统的用户甚至创建者都无法查找系统的哪个组件无法正常工作的位置。相反,必须对整个系统进行重新训练和调整,直到获得所需的结果为止,该过程可能会花费大量时间和计算资源。
此外,许多常规系统提供了低效的基于鼠标输入的工具,其进一步要求用户手动选择期望的对象。对于许多选择任务,这些工具通常不精确且具有挑战性。因此,用户花费大量时间和用户与不同选择工具的交互在检测、显示、选择和校正数字图像中的对象选择上浪费了大量计算资源。
这些,以及其他问题和事项在图像编辑系统中关于检测和选择数字图像中的对象方面存在着。
发明内容
本公开的实施例利用系统、非瞬态计算机可读介质以及用于基于基于自然语言的输入来自动选择数字图像中对象的目标实例的方法来提供益处和/或解决本领域中的前述或其他问题中的一个或多个。例如所公开的系统可以分析一个或多个用户输入以确定来自多个专用的和通用的对象属性模型的最优对象属性检测模型(例如对象属性神经网络)。此外,所公开的系统可以利用所选择的对象属性模型来在包括对象的多个实例的图像中标识对象的目标实例。
为了说明,所公开的系统可以标识请求选择图像内的对象的目标实例的选择的用户选择查询。具体地,用户选择查询可以指示查询对象和与该查询对象相对应的对象属性。基于用户选择查询,所公开的系统可以检测图像中查询对象的多个实例。作为示例,如果图像中存在期望对象的多个实例,则所公开的系统可以个体地标识并选择每个实例。附加地,所公开的系统可以基于对象属性来确定对象属性检测模型,并利用对象属性检测模型来选择特定对象实例。此外,所公开的系统可以提供在图像中选择的所选特定对象实例。
实际上,在许多实施例中,所公开的系统可以基于用户查询来准确地检测对象的指定实例。例如当图像中存在期望对象的多个实例时,所公开的系统可以个体地标识和选择每个实例。附加地,所公开的系统可以从选择查询中标识指定的属性,并选择与指定的属性相匹配的对象的实例。在各种实施例中,公开的系统可以基于颜色、定位、大小、位置、材料、表情、形状或其他属性来选择对象的实例。
尽管本发明内容是为了简化而指代系统,但是本发明内容也适用于某些公开的方法和非瞬态计算机可读介质。以下描述阐述了所公开的系统、计算机介质和方法的一个或多个实施例的附加特征和优点。在一些情况下,这样的特征和优点对于本领域技术人员而言从描述中将是显而易见的,或者可以通过所公开的实践而获知。
附图说明
如下面简要描述的,具体实施方式通过附图的使用来为一个或多个实施例提供了附加的特异性和细节。
图1示出了根据一个或多个实施例的对象选择系统在其中操作的环境的示意图。
图2示出了根据一个或多个实施例的自动检测并选择图像中的目标查询对象实例的示意图。
图3A至图3B示出了根据一个或多个实施例的自动检测和选择图像中的查询对象的图形用户界面工作流程。
图4示出了根据一个或多个实施例的用于选择图像中的目标查询对象的对象选择流水线的示意图。
图5示出了根据一个或多个实施例的分析用户选择查询以标识查询对象的流程图。
图6示出了根据一个或多个实施例的利用对象检测网络来检测图像中的多个查询对象实例的流程图。
图7A至图7C示出了根据一个或多个实施例的利用对象检测网络来检测图像中的多个查询对象实例的图形用户界面工作流程。
图8示出了根据一个或多个实施例的检测查询对象的目标实例的流程图。
图9A至图9D示出了根据一个或多个实施例的利用对象属性检测网络来检测查询对象的目标实例的图形用户界面工作流程。
图10示出了根据一个或多个实施例的利用对象颜色属性检测神经网络来检测查询对象的目标实例的流程图。
图11示出了根据一个或多个实施例的基于对象颜色属性来选择查询对象实例的图形用户界面工作流程。
图12示出了根据一个或多个实施例的利用对象定位属性模型来检测查询对象的目标实例的流程图。
图13示出了根据一个或多个实施例的基于对象定位属性来选择查询对象实例的图形用户界面工作流程。
图14示出了根据一个或多个实施例的利用通用对象属性检测神经网络来检测查询对象的目标实例的流程图。
图15示出了根据一个或多个实施例的基于多模式输入来检测和选择图像中的查询对象的目标实例的流程图。
图16示出了根据一个或多个实施例的对象选择系统的示意图。
图17示出了根据一个或多个实施例的用于利用多个对象属性检测模型中的一个来检测查询对象实例的一系列动作的流程图。
图18示出了用于实现本公开的一个或多个实施例的示例计算设备的框图。
具体实施方式
本公开描述了对象选择系统的一个或多个实施例,该对象选择系统准确地检测并自动地选择数字图像中的用户请求的对象的目标实例(例如查询对象实例)。具体地,在一个或多个实施例中,对象选择系统可以分析一个或多个用户输入,以从多个专用的和通用的对象属性模型中确定最优的对象属性检测模型。附加地,对象选择系统可以利用所选择的对象属性模型来检测并选择图像中查询对象的一个或多个目标实例,其中该图像包括查询对象的多个实例。
为了说明,对象选择系统可以标识请求选择图像内的特定对象实例的用户选择查询(例如文本字符串)。具体地,选择查询可以指示查询对象和与该查询对象相对应的对象属性。基于选择查询,对象选择系统可以检测图像中查询对象的多个实例。附加地,对象选择系统可以基于分析选择查询中的对象属性来确定利用哪个对象属性检测模型。此外,对象选择系统可以利用所确定的对象属性检测模型来检测并且然后选择图像中的目标查询对象实例。最后,对象选择系统可以为图像内的用户自动选择所检测的查询对象实例。
在一个或多个实施例中,对象选择系统可以检测与各种对象类型和类别相对应的对象。以这种方式,用户可以请求对象选择系统找到大量对象。在各种实施例中,对象选择系统可以利用对象选择流水线,该对象选择流水线为对象选择系统提供框架,以确定要利用哪些对象检测神经网络来检测用户请求的目标查询对象实例。
为了说明,在一个或多个实施例中,对象选择系统可以检测来自用户的选择查询(例如文本字符串),该选择查询请求自动选择图像内的对象的目标实例和/或针对特定的对象实例编辑图像。附加地,对象选择系统可以解析查询文本字符串(以下称为“查询字符串”)和/或利用自然语言处理来确定语音的各个部分,诸如查询内的名词和形容词。例如查询字符串中的名词对应于用户正在请求对象选择系统在图像中自动选择的查询对象。此外,查询字符串中的形容词标识当图像中包括多个查询对象时要选择查询对象的哪些实例。
在一个或多个实施例中,对象选择系统可以分析查询字符串中的查询对象以确定对象类别。基于对象类别,对象选择系统可以选择并利用对象检测神经网络来检测图像内的查询对象。在附加的实施例中,对象选择系统可以检测图像内的查询对象的多个实例。
在各种实施例中,在检测到查询对象时,对象选择系统在图像内的对象周围生成近似边界(例如边界框)。在附加的实施例中,对象选择系统将所检测的查询对象提供给对象掩模神经网络。在各种实施例中,对象掩模神经网络生成所检测的对象的对象掩模。实际上,对象掩模使对象选择系统能够选择图像中所检测的查询对象。
在一些实施例中,对象选择系统生成针对所检测的查询对象的多个实例的多个边界框和/或对象掩模。在这些实施例中,对象选择系统可以将所检测的查询对象的多个实例提供给用户。在附加的实施例中,当所检测的查询对象的多个实例被检测时,对象选择系统可以提供每个实例的个体选择。
如上所述,在一些实施例中,查询字符串包括指定查询对象的目标实例的一个或多个对象属性。例如查询字符串指示大小、颜色、定位、位置、材料、情感、或查询对象的另一属性。响应于在查询字符串中检测到对象属性,对象选择系统可以进一步确定要选择查询对象的哪个实例。具体地,对象选择系统可以利用对象属性检测模型(例如神经网络或度量)来确定选择所检测的查询对象的哪个实例并将其提供给图像中的用户。
在一个或多个实施例中,对象选择系统检测到对象属性对应于颜色。在这些实施例中,对象选择系统可以选择并利用对象颜色检测模型来标识与查询字符串中指定的颜色相匹配的所检测的对象查询的实例。在一些实施例中,对象选择系统检测到对象属性对应于定位。在这些实施例中,对象选择系统可以选择并利用定位模型来标识与指定定位相匹配的所检测的对象查询的实例。仍然在其他实施例中,对象选择系统可以选择并利用另一对象属性检测神经网络来选择在查询字符串中指定的目标实例。
在各种实施例中,对象选择系统促进多模式用户输入以标识查询对象的目标实例。例如对象选择系统利用查询字符串以及鼠标/触摸输入两者来标识查询对象的目标实例。在一些实施例中,鼠标/触摸输入提供对用户请求的特定对象实例的指示或选择。在一些实施例中,对象选择系统可以仅基于用户的鼠标/触摸输入(例如没有“语言”用户输入)来选择图像中的对象实例。
如前所述,与常规系统相比,对象选择系统具有许多优点、益处和实际应用。例如并且如上所述,对象选择系统执行关于对象检测、隔离和选择的多种功能。实际上,对象选择系统可以检测用户请求的图像中的特定对象实例,并生成在图像内选择特定对象实例的对象掩模。实际上,对象选择系统可以确定用户正在请求图像内对象的目标实例,并提供特定的请求实例。因此,与传统系统相比,对象选择系统提供了增加的灵活性和扩展的功能。
此外,对象选择系统通过基于多个用户输入检测图像中的对象的目标实例来提供更大的灵活性。例如对象选择系统利用查询字符串(例如“语言”提示)以及鼠标或触摸输入选择两者来检测所请求的对象实例。实际上,如上所述,对象选择系统还可以基于在选择查询(例如查询字符串)中所检测的对象属性来选择所请求对象的目标实例。
作为另外的示例,对象选择系统提供了比常规系统更高的准确性。例如对象选择系统通过从一组不同的对象属性检测模型中确定最对应于查询对象属性的对象属性检测模型来改进对象检测准确性。实际上,通过利用针对查询对象量身定制的对象属性检测模型或神经网络,对象选择系统实现对象检测以及对象选择的改进的准确性。
此外,对象选择系统通过分离对所检测的对象的多个实例的选择而不是提供包括所检测的对象的所有实例的单个选择,提供了比常规系统改进的准确性。此外,对象选择系统可以检测到请求目标实例的用户(例如通过检测查询字符串中的对象属性),使用多个对象检测模型隔离目标实例,并提供对由用户所请求对象的目标实例的选择。
此外,通过利用对象选择流水线,对象选择系统提供了比常规系统改进的效率。确实,与封闭式端到端常规系统不同,当发生故障时,对象选择系统可以在对象选择流水线中查明故障组件并对组件进行维修。此外,对象选择系统可以添加附加组件以改进准确性。例如对象选择系统可以向与频繁查询的对象相对应的对象选择流水线中添加附加专业对象检测神经网络。类似地,对象选择系统可以用更高效的版本来替换和/或升级对象选择流水线内的组件。
此外,对象选择系统大大减少了许多常规系统要求用户在图像内选择对象的动作的数目。用户不是在使用低效的基于鼠标输入的工具来手动选择对象,而是用户“告诉”对象选择系统(例如在查询字符串中提供语言提示)选择哪个对象,并且对象检测系统自动检测并选择对象。实际上,对象选择系统大大简化了用户将对象选择过程简化为一个或两个简单动作。
根据以下描述,对象选择系统的其他优点和益处将变得显而易见。此外,如前面的讨论所示,本公开利用各种术语来描述对象选择系统的特征和优点。在参考下面的附图描述对象选择系统之前,现在提供关于这些术语的含义的附加细节。
如本文所使用的,术语“数字图像”(或简称为“图像”)是指数字图形文件,其在被渲染时显示一个或多个对象。具体地,图像可以包括与任何合适的对象类型或对象类别相关联的一个或多个对象。在各种实施例中,图像编辑系统在诸如客户端设备的计算设备上显示图像。在附加的实施例中,图像编辑系统使用户能够修改或改变图像以及生成新图像。例如图像编辑系统使用户能够将在第一图像中选择的对象复制到第二图像的背景上。
如本文所使用的,术语“对象”是指图像中的主题、概念或子概念的视觉表示。具体地,对象是指图像中的像素集合,像素集合组合以形成项(item)、项目(article)、部分项、组件或元素的视觉描述。对象可以对应各种各样的类别和概念。例如对象包括专业对象、概念性对象、来自已知类别和未知对象类别的对象(例如未用于训练对象检测神经网络中的任何一个的对象)。在一些实施例中,对象包括该对象的多个实例。例如玫瑰丛的图像包括玫瑰的多个实例。在一个或多个实施例中,对象包括子对象、部分或组成部分。例如人的脸或腿可以是另一对象(例如该人的身体)的一部分的对象。作为另一示例,衬衫是可以是另一对象(例如人)的一部分的对象。
如上所述,对象选择系统可以基于查询字符串来准确地检测并自动选择图像内的对象。如本文所使用的,术语“查询字符串”是指一个或多个词语的文本字符串,其指示目标对象。查询字符串可以包括代表查询对象的名词。通常,当用户请求对象选择系统自动地选择图像中的对象时,对象选择系统会接收查询字符串。在一些实施例中,查询字符串被提交为文本字符串。在备选实施例中,对象选择系统检测诸如语音数据的备选用户输入,并将备选用户输入转换为文本以获得查询字符串。在各种实施例中,查询字符串是一种选择查询。
如本文中所使用,术语“对象掩模”或“分段掩模”或“对象分段”是指描绘对象的多个像素的指示。例如对象掩模可以包括分段边界(例如指示一个或多个对象的边缘的边界线或曲线)或分段掩模(例如标识与对象相对应的像素的二进制掩模)。生成对象掩模有时称为“选择”目标对象(即标识代表目标对象的像素)。
如本文所使用的,术语“近似边界”是指包括比对象掩模大和/或不太精确的对象的区域的指示。在一个或多个实施例中,近似边界可以包括查询对象的至少一部分和图像的不包括查询对象的部分。近似边界可以包括任何形状,诸如围绕对象的正方形、矩形、圆形、椭圆形或其他轮廓。在一个或多个实施例中,近似边界包括边界框。
如刚刚提到的,查询字符串可以包括查询对象。术语“查询对象”是指查询字符串中用户请求进行检测和选择的对象。例如查询字符串中的名词表示查询对象。在附加的实施例中,查询字符串包括附加的词,诸如指示查询对象的属性的形容词和副词。如本文所使用的,术语“对象属性”是指进一步标识查询对象的描述性词语。对象属性的示例包括颜色、大小、长度、形状、定位、位置、图案、组成、表情、情感、刚性和/或灵活性。
术语“对象选择流水线”是指用于检测和选择图像中的查询对象的组件和动作的集合。在各种实施例中,对象选择系统利用对象选择流水线中的组件和动作的子集来检测和选择图像中的查询对象,其中将来自一个组件的输出作为输入提供给另一组件。组件和动作可以包括神经网络、机器学习模型、启发式模型和/或功能。此外,对象选择流水线中的组件和动作可以是可互换的、可移动的、可替换的或可升级的,如下面进一步详细描述的。
如本文所用,术语“对象属性检测模型”是指用于检测对象的实例的一种或多种方法、算法、动作和/或步骤。在一些实施例中,对象属性检测模型可以利用机器学习技术,如以下结合图14所描述的。在一个或多个实施例中,对象属性检测模型不利用机器学习技术。例如对象属性检测模型利用了非机器学习启发法。下面结合图10至图13提供对象属性检测模型的示例。
如上所述,在各种实施例中,对象选择系统可以采用机器学习和各种神经网络。如本文中所使用的,术语“机器学习”是指构造和实现可以从数据中学习并对数据做出预测的算法的过程。通常,机器学习可以通过从诸如图像的训练数据集合中的图像曝光训练对的示例输入来构建模型来进行操作,以进行数据驱动的预测或决策。机器学习可以包括神经网络(例如自然语言处理神经网络、对象检测神经网络、对象提议神经网络、未知对象类别检测神经网络、区域提议神经网络、概念嵌入神经网络、对象掩模神经网络、对象分类神经网络和/或对象属性检测神经网络)、基于数据的模型(例如自然语言处理模型、对象识别模型、过滤模型和/或对象属性检测模型)、或网络和模型的组合。
如本文中所使用的,术语“神经网络”是指可以基于输入来调谐(例如训练)以近似未知功能的机器学习模型。具体地,术语神经网络可以包括互连神经元的模型,该互连神经元进行通信并学习近似复杂的功能并基于提供给模型的多个输入来生成输出。例如术语神经网络包括实现深度学习技术的算法(或算法集合),该深度学习技术利用算法集合使用监督数据来调谐神经网络的参数来对数据中的高级抽象进行建模。神经网络的示例包括卷积神经网络(CNN)、区域CNN(R-CNN)、更快R-CNN、Mask R-CNN和单发检测(SSD)。
现在参考附图,图1示出了根据一个或多个实施例的环境100的示意图,对象选择系统106可以在该环境中进行操作。如图1所示,环境100包括经由网络108连接的客户端设备102和服务器设备110。下面结合图18提供关于计算设备(例如客户端设备102和服务器设备110)的附加细节。附加地,图18还提供了关于网络的附加细节,诸如所示的网络108。
尽管图1示出了环境100内的组件的特定数目、类型和布置,但是各种附加的环境配置也是可能的。例如环境100可以包括任何数目的客户端设备。作为另一示例,服务器设备110可以代表连接的服务器设备集合。作为另外的示例,客户端设备102可以直接与服务器设备110通信,绕过网络108或利用单独的和/或附加的网络。
如所示,环境100包括客户端设备102。在各种实施例中,客户端设备102与用户(例如用户客户端设备)相关联,诸如请求图像中的对象的自动选择的用户。客户端设备102可以包括图像编辑系统104和对象选择系统106。在各种实施例中,图像编辑系统104实现对象选择系统106。在备选实施例中,对象选择系统106与图像编辑系统104分开。虽然在客户端设备102上示出了图像编辑系统104和对象选择系统106,但是在一些实施例中,图像编辑系统104和对象选择系统106远离客户端设备102(例如在服务器设备110上),如下文进一步解释。
通常,图像编辑系统104促进应用内数字图像的创建、修改、共享和/或删除。例如图像编辑系统104提供与图像创建和编辑(例如照片编辑)有关的各种工具。例如图像编辑系统104提供选择工具、颜色校正工具和图像操纵工具。此外,图像编辑系统104可以结合一个或多个应用来操作以生成或修改图像。例如在一个或多个实施例中,图像编辑系统104结合诸如 的数字设计应用或其他图像编辑应用进行操作。
在一些实施例中,图像编辑系统104提供智能图像编辑助手,该智能图像编辑助手为用户执行一个或多个自动图像编辑操作。例如给定三个人的图像,用户请求图像编辑系统“去除最高的男人”。作为满足请求的一部分,图像编辑系统104利用对象选择系统106来自动选择最高的男人。图像编辑系统104然后可以利用附加的系统组件(例如孔洞填充神经网络)来去除和替换所选择的最高的人(例如所检测的查询对象)。
如上所述,图像编辑系统104包括对象选择系统106。如下面详细描述的,对象选择系统106基于用户的请求(例如,用户提供的查询字符串)来准确检测并自动选择图像中的对象。在许多实施例中,对象选择系统106利用对象选择流水线,来基于查询对象来确定要利用哪些对象检测神经网络,以及确定哪些附加神经网络和/或模型要用于选择特定的所请求查询对象。
如所示,环境100还包括服务器设备110。服务器设备110包括对象选择服务器系统112。例如在一个或多个实施例中,对象选择服务器系统112表示和/或提供类似的功能,如本文结合对象选择系统所述。在一些实施例中,对象选择服务器系统112支持在客户端设备102上的对象选择系统106。
实际上,在一个或多个实施例中,服务器设备110可以包括对象选择系统106的全部或一部分。具体地,客户端设备102上的对象选择系统106可以从服务器设备110(例如来自对象选择服务器系统112的图像编辑应用)或软件应用的一部分下载应用。
在一些实施例中,对象选择服务器系统112可以包括web托管应用,该web托管应用允许客户端设备102与托管在服务器设备110上的内容和服务进行交互。在一个或多个实施例中,为了说明,客户端设备102会访问服务器设备110支持的网页,该服务器设备110基于用户经由客户端设备102提供的查询字符串来自动选择图像中的对象。作为另一示例,客户端设备102提供图像编辑应用,该图像编辑应用将图像和查询字符串提供给服务器设备110上的对象选择服务器系统112,然后对象选择服务器系统112检测查询对象实例并将所检测的查询对象实例的对象掩模提供回客户端设备102。然后,利用对象掩模,客户端设备102上的图像编辑应用选择所检测的查询对象实例。
如上所述,图1示出了对象选择系统106可以在其中操作的示例环境100。转到下一个附图,图2概述了利用对象选择系统来自动选择图像中的对象实例的处理。具体地,图2示出了一系列动作200,示出了根据一个或多个实施例的自动检测并选择图像中的目标查询对象实例的示意图。在各种实施例中,对象选择系统106执行一系列动作200。
如图2所示,一系列动作200包括对象选择系统106的动作202,其标识指示图像中的目标对象的查询字符串。例如用户利用图像编辑程序来编辑图像。在编辑图像时,用户希望选择图像内的特定对象。因此,对象选择系统106向用户提供图形界面,该图形界面使用户能够输入请求对象的自动选择的查询字符串(即选择查询)。如图2所示,结合动作202,用户提供了要从三辆汽车的图像中选择的“中间汽车”的查询字符串。
在一个或多个实施例中,作为动作202的一部分,对象选择系统106可以利用自然语言处理来从查询字符串中标识查询对象。例如对象选择系统106确定查询字符串包括“汽车”的查询对象。在附加实施例中,对象选择系统106可以从与查询对象相对应的查询字符串中确定一个或多个对象属性。例如对象选择系统106确定查询字符串包括“中间”的对象属性。
响应于接收到查询字符串,对象选择系统106执行动作204,其利用对象检测神经网络来确定选择查询中包括的查询对象的多个实例。例如对象选择系统106利用一个或多个对象检测神经网络来检测图像内查询对象的每个实例或出现。实际上,当查询对象的多个实例被包括在图像中时,对象选择系统106可以检测多个实例中的每一个。如所示,动作206示出了对象检测神经网络,其检测图像中的三辆汽车中的每辆。
如所示,一系列动作200包括对象选择系统106的动作206,其基于在查询字符串中包括的对象属性来确定对象属性检测模型。具体地,当检测到对象属性时,对象选择系统106可以分析对象属性以确定对应于该对象属性的对象属性检测模型。如上所述,基于对对象属性的分析,对象选择系统106可以确定利用专用对象属性检测模型,专用对象属性检测模型对应于颜色、大小、长度、形状、定位、位置、图案、成分、表情、情感、刚性、和/或灵活性。在一些实施例中,对象选择系统106确定选择通用的(即非专用的)对象属性检测神经网络,如下面进一步描述的。
在动作208中,对象选择系统106可以使用所确定的对象属性检测模型和对象属性来确定目标查询对象实例是目标查询对象。为了说明,如结合动作208所示,对象选择系统106基于“中间”的对象属性来选择中间汽车。在各种实施例中,对象选择系统106利用对象定位检测模型从图像中的其他所检测的汽车中检测出中间汽车。
在选择满足查询字符串中的对象属性的查询对象的目标实例时,对象选择系统106可以将目标查询对象实例提供给用户。例如对象选择系统106可以自动选择图像内的目标查询对象实例。换言之,对象选择系统106可以生成并提供如所示的中间汽车的对象掩模。在一些实施例中,对象选择系统106响应于选择查询来在图像编辑应用内自动选择目标查询对象实例。
在一些实施例中,对象选择系统106可以检测查询对象的多个目标实例。具体地,如果查询对象的多个查询对象实例中的多于一个满足查询字符串中的对象属性,则对象选择系统106可以自动选择那些查询对象实例作为目标查询对象实例。为了说明,如果图像描绘了汽车的停车场并且查询字符串是“红色汽车”,则对象选择系统106可以自动检测并选择所有红色汽车。
在各种实施例中,查询字符串包括多于一个的对象属性。在这些实施例中,对象选择系统106可以确定与多个对象属性相对应的多个对象属性检测模型(例如重复动作206)。此外,对象选择系统106可以利用多个对象属性检测模型中的每个来标识满足多个对象属性中的每个的目标查询对象实例(例如重复动作208)。为了说明,对于查询字符串“顶部、红球”,对象选择系统106可以利用颜色检测模型来找到一个或多个红球,并利用位置检测模型来找到最高定位到的(多个)球。然后,对象选择系统106标识所检测的红色的且最高定位到的球的一个或多个实例。
图3A至图3B示出了根据一个或多个实施例的具有图形用户界面302的客户端设备300,该图形用户界面302示出了基于选择请求的在图像中的所选查询对象实例。图3A至图3B中的客户端设备300可以代表以上关于图1介绍的客户端设备102。例如客户端设备300包括图像编辑应用,该图像编辑应用实现具有对象选择系统106的图像编辑系统104。例如图3A至图3B中的图形用户界面302可以由图像编辑应用生成。
如图3A所示,图形用户界面302包括图像编辑应用内的图像304。图像304可以对应于以上结合图2所述的图像。为了便于说明,图像304被简化为示出了没有背景或其他对象的三辆汽车。
响应于用户选择使对象自动被选择的选项,对象选择系统106可以提供对象选择请求界面306。例如对象选择系统106提供对象选择请求界面306作为图像编辑应用内的选择工具。如所示,对象选择请求界面306可以包括文本字段,其中用户可以输入查询字符串(即“中间汽车”)。对象选择请求界面306还包括用于确认或取消选择请求的可选选项。在一些实施例中,对象选择请求界面306包括附加元素,诸如用于捕获来自用户的指示查询字符串的音频输入的可选选项。
基于接收到包括查询字符串(即“中间汽车”)的选择请求,对象选择系统106可以准确地检测并自动选择查询对象。具体地,对象选择系统106可以检测图像304中的查询对象的每个实例(例如三个汽车中的每个),以及标识在查询字符串中指定的特定或目标实例(例如“中间”汽车)。为了说明,图3B示出了对象选择系统106响应于选择请求来检测并选择图像304内的中间汽车308的结果。一旦被选择,图像编辑应用可以使用户能够编辑、复制、剪切、移动和/或以其他方式修改所选择的对象。
如所示,对象选择系统106使用户能够在对象选择请求界面306内提供查询字符串。在一些实施例中,对象选择系统106使用户能够提供音频或其他输入以指示查询串。例如客户端设备300可以包括麦克风,该麦克风捕获用户说出查询字符串和语音到文本处理以将查询字符串转换成文本。此外,如下所述,在一些实施例中,对象选择系统106使用户能够提供诸如鼠标或触摸手势的附加输入,以进一步辅助对象选择系统106自动选择目标查询对象。
现在转向图4至图15,提供了有关对象选择系统106利用对象选择流水线自动选择并准确检测选择请求中请求的对象的附加细节。具体地,图4示出了对象选择流水线的示例实施例。图5至图15说明了对象选择流水线的扩展部分,用于选择所检测的查询对象的目标实例连同对应的图形用户界面。
如上所述,图4示出了根据一个或多个实施例的对象选择流水线400的示意图。在各种实施例中,对象选择系统106执行对象选择流水线400中包括的动作。在备选实施例中,图像编辑系统和/或图像编辑应用可以执行所包括的动作中的一个或多个。
如所示,对象选择流水线400包括对象选择系统106的获得图像(即数字图像)的动作402。例如如前所述,对象选择系统106可以检测用户选择要加载到图像编辑应用中的图像。通常,图像包括一个或多个对象。例如图像可以包括各种类型和类别的对象。
附加地,对象选择流水线包括对象选择系统106的获得查询字符串的动作404。例如对象选择系统106提供对象选择请求界面(例如图3A所示),其中用户可以输入指示对象的一个或多个词语,他们希望对象选择系统自动选择该对象。如上所述,在一些实施例中,对象选择系统106可以支持附加或备选形式的用户输入,诸如音频输入或触摸输入。
接下来,对象选择流水线400包括对象选择系统106的动作406,其分析查询字符串以标识查询对象和对应的对象属性。如上所述,当查询对象的多个实例被包括在图像中时,查询字符串通常包括查询对象的对象属性。以此方式,对象属性指示用户请求的多个查询对象实例中的哪个目标实例被自动地选择。附加地,对象选择系统106可以解析查询字符串并且利用自然语言处理来标识查询对象。关于下面的图5提供了关于动作406的附加细节。
如所示,对象选择流水线400包括对象选择系统106的动作408,其利用对象检测网络来检测查询对象的多个实例。如本文所使用的,对象检测网络可以对应于一种或多种类型的对象检测神经网络,对象选择系统106利用一种或多种类型的对象检测神经网络来选择图像中的查询对象和/或多个查询对象实例。下面关于图6至图7C提供关于动作408的附加细节。
作为动作408的一部分,对象选择系统106可以在所检测的查询对象的每个查询对象实例周围创建近似边界。在一些实施例中,对象选择系统106可以在多个查询对象实例的每一个周围生成边界框。在某些情况下,边界框可以提供图像内包括对应查询对象实例的一组像素或像素子集。
如图4所示,对象选择流水线400包括动作410,该动作410利用对象属性检测模型从多个查询对象实例中标识所检测的查询对象的目标实例。例如对象选择系统106可以确定并选择与查询字符串中指示的对象属性相对应的对象属性检测模型。然后,对象选择系统106可以使用对象属性检测模型来从查询字符串中检测目标查询对象实例包括对象属性,或者其他查询对象实例缺少对象属性。具体地,对象选择系统106然后可以使用对象属性检测模型来分析与查询对象的所检测的多个实例相对应的边界框,以确定它们是否包括对象属性。在一个或多个实施例中,对象选择系统106可以生成多个查询对象的每个实例的对象掩模,并且然后使用与每个查询对象实例相对应的对象掩模来确定给定的查询对象实例是否是目标查询对象(即具有对象属性)。
也如所示,对象选择流水线400包括对象选择系统106的动作412,该动作412利用对象掩模神经网络生成查询对象实例的一个或多个对象掩模。例如在各种实施例中,对象选择系统106可以将与所标识的目标查询对象实例相对应的边界框提供给对象掩模神经网络,该对象掩模神经网络为所检测的目标查询对象生成掩模。如果提供了多个边界框,则对象选择系统106可以利用对象掩模神经网络从多个边界框生成多个对象掩模(例如对于所检测的目标查询对象的每个实例有一个对象掩模)。
在为目标查询对象生成对象掩模时,对象掩模神经网络可以将所检测的查询对象中的像素与图像中的其他像素进行分段。例如对象掩模神经网络可以创建单独的图像层,其将与查询对象实例相对应的像素设置为正(例如二进制1),同时将图像中的其余像素设置为中性或负(例如二进制0)。当此对象掩模层与图像组合在一起时,仅查询对象实例的像素是可见的。实际上,所生成的对象掩模可以提供分段,该分段实现图像内的查询对象实例的选择。
对象掩模神经网络可以对应于一个或多个深度神经网络或模型,其基于与图像内的对象相对应的边界框参数来选择对象。例如在一个或多个实施例中,对象掩模神经网络利用在2017年7月14日发表的Ning Xu等人“Deep GrabCut for Object Selection”中发现的技术和方法,其全部内容通过引用合并于此。例如目标掩模神经网络可以利用深梯度分隔方法(deep grad cut approach)而不是显著性掩模转移(saliency mask transfer)。作为另一示例,对象掩模神经网络可以利用在2017年10月31日提交的标题为“Deep SalientContent Neural Networks for Efficient Digital Object Segmentation”的美国专利申请公开No.2019/0130229;2018年7月13日提交的标题为“Automatic Trimap Generationand Image Segmentation”的美国专利申请No.16/035,410;以及2015年11月18日提交的标题为“Utilizing Interactive Deep Learning To Select Objects In Digital VisualMedia”的美国专利No.10,192,129中发现的技术和方法,其中的每一项的全部内容通过引用而并入本文。
此外,对于其中对象掩模神经网络执行实例级别分段(例如语义分段)的实施例,对象掩模神经网络可以利用于2016年10月18日提交的标题为“Instance-Level SemanticSegmentation System”的美国专利申请公开No.2018/0108137中发现的技术和方法。附加地或备选地,对象掩模神经网络可以利用于2015年9月8日发布的标题为“Semantic ObjectSelection”的美国专利No.9,129,191中发现的技术和方法,其中的每一项的全部内容通过引用而并入本文。
如图4的对象选择流水线400中所示,对象选择系统106可以从动作408前进到动作410或动作412。具体地,取决于对象选择系统106选择哪种对象属性检测模型,对象选择系统106可以确定何时生成一个或多个对象掩模。为了详细说明,在多个实施例中,对象选择系统106利用对象属性检测模型,该对象属性检测模型可以使用多个查询对象实例的近似边界(例如边界框)来检测目标查询对象实例。在这些实施例中,对象选择系统106可以从动作408前进到动作410,以首先检测目标查询对象实例。然后,对象选择系统106可以前进到动作412,以仅针对目标查询对象实例生成对象掩模,而无需为多个查询对象实例的其他查询对象实例生成附加的对象掩模。在这些实施例中,对象选择系统106防止在为用户不想选择的所检测的查询对象的查询对象实例生成对象掩模中浪费处理资源。
在备选实施例中,对象选择系统106可以确定利用对象属性检测模型,该对象属性检测模型使用针对多个查询对象实例中的每一个的单独的对象掩模来检测目标查询对象实例。例如围绕查询对象实例的近似边界包括不属于该查询对象实例的附加像素,并且这些附加像素会负面影响查询对象实例检测过程的准确性。因此,在这些实施例中,对象选择系统106可以从动作408前进到动作412,以首先为多个查询对象实例中的每一个生成对象掩模。然后,对象选择系统106可以前进到动作410,以仅基于属于每个查询对象实例的像素,利用所选择的对象属性检测模型来检测目标查询对象实例。下面结合图8至图15提供关于确定对象属性检测模型和标识目标查询对象实例的附加细节。
此外,对象选择流水线400包括对象选择系统106的动作414,其向用户提供图像内的所选查询对象实例。例如对象选择系统106可以将查询对象的所选目标实例(或多个查询对象实例)提供给与用户相关联的客户端设备。在一些情况下,对象选择系统106可以在上述图像编辑应用内为用户自动选择图像内的目标查询对象实例。
在各种实施例中,对象选择流水线400的许多组件与更新版本以及新组件可互换。因此,当发生故障时,对象选择系统106可以标识并更新故障源。附加地,对象选择系统106还可以向对象选择流水线添加另外的组件,以改进图像中所检测的对象的性能。
更具体地,在检测到对象选择流水线400内的故障的位置时,对象选择系统106可以升级或替换故障组件。例如对象选择系统106可以用改进的版本来替换故障组件。类似地,当更新版本可用时,对象选择系统106可以用更新版本的新组件替换旧组件。此外,对象选择系统106可以升级和/或替换组件,而无需改变、重新训练、重新配置和/或修改对象选择流水线的其他组件。附加地,对象选择系统106可以继续利用对象选择流水线,直到另一故障被检测到为止。
现在转到下一个图,图5示出了根据一个或多个实施例的分析查询字符串以标识查询对象的流程图。如上所述,图5对应于以上结合图4描述的对象选择流水线400的动作406。具体地,图5包括各种动作502-508,其提供关于对象选择流水线400的动作406的附加细节。
如所示,动作406可以包括对象选择系统106的动作502,其解析查询字符串以标识一个或多个输入词语。例如在各种实施例中,对象选择系统106将查询字符串分离成个体词语。例如对象选择系统106将查询字符串中的每个词语分配给与查询字符串相对应的向量的元素。而且,如上所述,在一些实施例中,查询字符串由单个词语组成。
也如所示,动作406可以包括对象选择系统106的动作504,其利用自然语言处理来确定一个或多个输入词语中的每一个的词语的类别。实际上,在解析出查询字符串中的每个词语时,对象选择系统106可以将查询字符串中的每个输入词语分类并分配给词语类别。在各种实施例中,词语类别包括词性(例如名词、专有名词、动词、冠词、形容词、副词、代词、介词或连词)。
在一个或多个实施例中,对象选择系统106利用基于自然语言处理来训练的机器学习模型来标识查询字符串中每个词语的词语类别。例如对象选择系统106训练和/或利用长短期记忆(LSTM)神经网络以为查询字符串中的每个词语标识词语类别。在备选实施例中,对象选择系统106利用其他方法来确定查询字符串中的输入词语的词语类别。
如所示,动作406可以包括对象选择系统106的动作506,其标识指示查询对象的名词。更具体地说,在为词语中的每一个分配词语类别时,对象选择系统106可以标识查询字符串中的名词。首先,查询字符串中的名词对应于查询对象。通常,当查询字符串包含单个词语时,该词语是与查询对象相对应的名词。
在某些情况下,查询字符串包括多个名词。在这些情况下,对象选择系统106可以确定两个名词是否被连接以指示单个查询对象(例如“德语”和“谢泼德”)。在备选实施例中,对象选择系统106可以确定查询字符串是否包括多个查询对象,以供对象选择系统106自动选择。
附加地,动作406可以包括对象选择系统106的动作508,其标识指示查询对象的对象属性的形容词。类似于标识查询字符串中的名词,对象选择系统106还可以将查询字符串中的形容词标识为对象属性。通常,具有多个词语的查询字符串将包括查询对象以及一个或多个形容词,其指定查询对象的特定属性。如下所述,对象属性可以指定查询对象的颜色、大小、定位、形状、材料、位置、刚性或表情。
在一个或多个实施例中,对象选择系统106还可以标识查询字符串中的副词或语音的其他部分(即词语类别)。在一些实施例中,对象选择系统106可以将副词an分配为查询对象的对象属性。此外,在一个或多个实施例中,对象选择系统106可以将副词与对应的形容词(例如“很高”)分组。在备选实施例中,对象选择系统106可以忽略不是名词或形容词的词语。
类似地,在一个或多个实施例中,对象选择系统106可以滤除查询字符串的词语,诸如冠词(例如“该”、“一”、“一个”)。在一些实施例中,对象选择系统106可以标识连接,其指示多个查询对象被请求和/或多个对象属性被提供的可能性。类似地,在一些实施例中,对象选择系统106标识否定词语,诸如“非”、“除了”或“不具有”,其在选择查询对象时可以指示排除特定对象。
转到图6,图6是根据一个或多个实施例的利用对象检测网络检测图像中的多个查询对象实例的流程图。如上所述,图6对应于对象选择系统106的利用对象检测网络来检测查询对象的多个实例的动作408。还如上所述,对象选择系统106基于标识选择查询的查询字符串内的查询对象而到达动作408,其中选择查询对应于图像。具体地,图6包括各种动作602-610,这些动作提供了有关对象选择流水线400的动作408的附加细节。
如所示,动作408包括对象选择系统106的动作602,其基于查询对象标识对象检测神经网络。在一些实施例中,对象选择系统106利用通用对象检测神经网络来检测图像中查询对象的多个实例。在备选实施例中,对象选择系统106确定利用更具体的专用对象检测神经网络。实际上,可以专门训练对象检测神经网络来检测特定的对象类型或对象类别。
为了说明,对象检测神经网络的示例包括专业对象检测神经网络(例如天空检测神经网络、面部检测神经网络、身体检测神经网络、皮肤检测神经网络、瀑布检测神经网络网络)、基于对象的概念检测神经网络、已知的对象类别检测神经网络、未知的对象类别检测神经网络。对象检测神经网络的示例还可以包括子网和/或支持对象检测网络,诸如对象提议神经网络、区域提议神经网络、和概念嵌入神经网络。关于对象检测神经网络的附加描述在于2019年7月22日提交的标题为“AUTOMATICALLY DETECTING USER-REQUESTEDOBJECTS IN IMAGES”的美国专利申请序列号No.16/518,810(代理人案卷号20030.257.2)中提供,其全部内容通过引用而并入本文。
如图6所示,动作408可包括对象选择系统106利用对象检测神经网络来检测图像中的候选对象的动作604。在一个或多个实施例中,对象选择系统106使用对象检测神经网络来检测图像中的多个候选对象,其中候选对象中的至少一些与查询对象匹配。在备选实施例中,候选对象中的每一个可以与查询对象匹配。
附加地,动作408可以包括对象选择系统106为每个候选对象生成边界框的动作606。例如作为检测候选对象的一部分,对象检测神经网络在每个所检测的候选对象周围创建近似边界。在一些实施例中,对象检测神经网络可以处理图像的子部分或小块(patch),以标识图像内较小的候选对象,其用整个图像对象检测方法无法被检测到。因此,对象检测神经网络可以生成多个边界框,每个边界框指示图像中潜在地可以是查询对象的候选对象。
如所示,动作408可以包括对象选择系统106从候选对象中检测多个查询对象实例的动作608。在一些实施例中,对象检测神经网络为边界框中的每一个生成标签,并将标签与查询对象相关。在其他实施例中,对象检测神经网络进一步处理每个候选对象以确定它是否对应于查询对象。如上面参考的美国专利申请序列号No.16/518,810中所述,对象检测神经网络可以利用各种技术从候选对象中标识多个查询对象实例。
图7A至图7C示出了根据一个或多个实施例的图形用户界面702,该图形用户界面702示出了对象选择系统106利用已知的对象类别检测神经网络来检测查询对象。为了便于解释,图7A至图7C包括上面介绍的客户端设备300。例如客户端设备300包括图像编辑应用,该图像编辑应用实现利用对象选择系统106的图像编辑系统104。
如图7A所示,图形用户界面702在图像编辑应用内包括图像704。图像704示出了在一排树的前面的女人和乌龟。还如所示,图像编辑应用包括具有选择选项以及其他图像编辑选项的各种工具(例如垂直工具栏)。附加地,图形用户界面702包括对象选择界面706,如上面结合图3A所描述的,其中用户提供了“树”的查询对象。
如前所述,在用户提供查询字符串时,对象选择系统106可以首先将查询字符串内的查询对象标识为“树”。此外,对象检测神经网络可以确定并利用对象检测神经网络来响应于选择查询而自动检测查询对象的一个或多个实例。例如如果“树”是已知对象,则对象选择系统106可以利用已知对象类别检测神经网络来检测图像内树的任何实例(即查询对象)。
为了说明,图7B示出了对象选择系统106可以利用对象检测神经网络来标识图像704内的候选对象708a-708f。作为检测候选对象708a-708f的一部分,对象选择系统106生成对象周围的边界框,并用标签标记边界框中的每一个。如所示,对象选择系统106检测树木708a-708d、女人708e和乌龟708f的候选对象。
如上所述,对象选择系统106可以确定候选对象708a-708f中的哪个对应于“树”的查询对象。例如对象选择系统106确定树708a-708d对应于查询对象,而女人708e和乌龟708f不对应于查询对象。此外,对象选择系统106可以确定图像704包括所检测的树的多个查询对象实例。
为了说明,图7C示出了对象选择系统106检测到树的多个查询对象实例710a-710d。在附加的实施例中,如下面详细描述的,如果查询字符串包括与查询对象相对应的对象属性,则对象选择系统106可以进一步从多个查询对象实例710a-710d中检测目标查询对象实例。
尽管未示出,但是在一些实施例中,响应于选择查询,对象选择系统106可以选择多个查询对象实例710a-710d,并将它们提供给用户。实际上,对象选择系统106可以将多个查询对象实例710a-710d的边界框提供给上述对象掩模神经网络。此外,如上所述,对象选择系统106可以利用单独生成的对象掩模来在图像编辑应用内为用户个体地选择树。
注意,图7B和7C示出了对象选择系统106,该对象选择系统106使用对象检测神经网络来检测多个查询对象实例710a-710d。在许多实施例中,对象选择系统106不向用户显示这些示出的动作。相反,对象选择系统106似乎响应于用户的选择查询而自动检测并准确地选择多个查询对象实例710a-710d。在备选实施例中,对象选择系统106向用户显示这些动作中的一个或多个。例如对象选择系统106显示多个查询对象实例710a-710d的边界框,如图7C所示。
转向图8,示出了根据一个或多个实施例的检测查询对象的目标实例的流程图。如上所述,图8对应于动作410,如上面结合图4所述,该动作410利用对象选择流水线400中包括的对象属性检测模型从多个查询对象实例中标识所检测的查询对象的目标实例。具体地,图8包括各种动作802-810,这些动作802-810提供了有关对象选择流水线400的动作410的附加细节。
如上所述,在多个实施例中,对象选择系统106可以检测图像中的查询对象的多于一个实例。如以上示例中所提供的,如果对象选择系统106在风景图像中检测到查询对象“树”,则对象选择系统106可以检测多棵树。在许多实施例中,对象选择系统106可以生成并提供所检测的查询对象的每个实例的个体选择。在备选实施例中,对象选择系统106可以生成图像编辑应用内的所检测的查询对象的多个实例的单个聚合选择。
在一个或多个实施例中,对象选择系统106可以标识并选择所检测的查询对象的一个或多个实例。具体地,对象选择系统106可以基于查询字符串中指示的对象属性来选择一个或多个目标查询对象实例。为了说明,图8中的动作410的动作802-810进一步描述了对象选择系统106的实施例,该对象选择系统106从所检测的查询对象的多个查询对象实例中选择所检测的查询对象的目标实例。
如所示,动作410可以包括对象选择系统106标识查询对象的多个实例的动作802。如上所述,对象选择系统106可以检测图像中的查询对象的多于一个实例。例如对象选择系统106在各种图像内检测狗、山脉、道路、汽车、标志或人的多个实例。
在一个或多个实施例中,对象选择系统106可以标识指示查询对象的属性(即对象属性)的形容词。如先前结合图5所解释的,在一个或多个实施例中,对象选择系统106可以将查询字符串中的一个或多个形容词标识为对象属性。通常,具有多个词语的查询字符串将包括一个查询对象连同一个或多个形容词,这些一个或多个形容词指定了查询对象的特定属性。
如所示,动作410可以包括对象选择系统106基于对象属性来确定属性类型的动作804。例如如上所述,对象属性可以指定查询对象的颜色、大小、长度、定位、形状、图案、材料、位置、深度、刚性、突出、身体姿势或面部表情。因此,对象选择系统106可以分析每个对象属性以确定它对应于已知还是未知对象属性类型。
在一个或多个实施例中,对象选择系统106可以执行表查找以确定对象属性是否对应于特定的对象属性类型。例如查找表可以包括按名称的颜色列表,并指示这些对象属性与颜色相关联。附加地,对象选择系统106可以包括用于其他对象属性类型的类似条目,诸如形状、材料和定位。在备选实施例中,对象选择系统106训练对象属性类型神经网络以预测对象属性的对象属性类型。
如所示,动作410可以包括对象选择系统106基于对象属性类型来选择对象属性检测模型的动作806。在各种实施例中,对象选择系统106维护与各种对象属性类型相对应的多个对象属性模型。因此,在检测到特定的对象属性类型时,对象选择系统106可以选择对应的对象属性模型,该对象属性模型将准确地处理查询字符串中的对象属性,以选择所检测的查询对象的正确实例。
为了说明,如果对象属性类型是颜色,则对象选择系统106可以选择对象颜色检测模型以标识并选择查询字符串中提供的颜色(即对象属性)。类似地,如果对象属性类型是定位,则对象选择系统106可以选择对象定位检测模型以标识并选择具有在查询字符串中指示的定位的所检测的查询对象的实例。附加地,对象选择系统106可以基于对象属性类型来选择附加的专用和/或通用对象属性检测模型。
如所示,动作410可以包括对象选择系统106为多个查询对象实例生成单独的对象掩模的可选动作808。如上所述,在多个实施例中,对象选择系统106可以基于对象掩模来标识并选择目标实例。对于与这些实施例相对应的对象属性类型(例如颜色、材料、相对定位或形状),对象选择系统106可以通过仅考虑属于对象本身的像素而不是考虑存在于如边界框的近似边界中的实例周围的背景的像素来增加选择的准确性。因此,在这些实施例中,对象选择系统106可以在前进到动作810(如下所述)之前执行可选动作808。
在备选实施例中,对象选择系统106可以根据与多个查询对象实例中的每一个相对应的近似边界来确定目标查询对象实例。在这些实施例中,对象选择系统106可以在生成用于所检测的目标查询对象实例的对象掩模之前执行动作810(如下所述)。实际上,对于许多对象属性类型(例如定位、位置、表情、深度或大小),对象选择系统106可以在生成个体实例对象掩模之前利用对应的近似边界(例如边界框)来选择目标查询对象实例。通过不生成将不会被选择为目标查询对象实例的对象掩模(例如不为多个查询对象实例的非目标查询对象实例生成附加的对象掩模),对象选择系统106可以减少处理和选择时间。
如上所述,动作410可以包括对象选择系统106利用所选择的对象属性检测模型来标识与对象属性相对应的查询对象的目标实例的动作810。例如如果对象属性是“蓝色”(例如查询字符串是“蓝色气球”),则对象选择系统106利用对象颜色检测模型来标识图像中为蓝色的每个所检测的气球。相对于下面的图10至图14,提供了关于各种对象属性检测神经网络和模型的附加细节。
图9A至图9D示出了根据一个或多个实施例的利用对象属性检测神经网络来检测查询对象的目标实例的图形用户界面。为了便于说明,图9A至图9D包括上面介绍的客户端设备300。例如客户端设备300包括图像编辑应用,该图像编辑应用实现利用对象选择系统106的图像编辑系统104。
如图9A所示,图形用户界面902在图像编辑应用内包括图像904。图像904示出了三个男人在说话。还如所示,图像编辑应用包括具有选择选项以及其他图像编辑选项的各种工具(例如垂直工具栏)。附加地,图形用户界面902包括对象选择请求界面906,如上面结合图3A所述,其中用户提供“条纹男子”的查询字符串。
在图9B中,对象选择系统106可以在由三个边界框908a-908c指示的图像904中检测所检测的查询对象(即“人”)的三个实例。例如当用户从对象选择请求接口906接收到查询字符串时,对象选择系统106可以利用对象选择流水线400来利用一个或多个对象检测神经网络来检测所检测的查询对象的多个实例,如上所述。
此外,对象选择系统106可以对所检测的查询对象的实例中的每一个执行实例分段,如图9C所示。例如对象选择系统106利用对象掩模神经网络(例如图4中的对象选择流水线400的动作412)来为图像中的所检测的人中的每一个生成单独的对象掩模。如图9C所示,图形用户界面902包括第一对象掩模910a、第二对象掩模910b和第三对象掩模910c。
此外,对象选择系统106可以检测到查询字符串包括对象属性(即“条纹”)。例如对象选择系统106可以解析查询字符串以确定对应于查询对象的对象属性的形容词。此外,对象选择系统106可以确定针对对象属性的对象属性类型(例如服装图案)。
在各种实施例中,基于对象属性和/或对象属性类型,对象选择系统106可以选择对象属性检测神经网络或模型以检测与用户所请求的对象属性最对应的实例。例如对象选择系统106可以检测对象图案检测神经网络以标识穿着条纹的实例中的每一个。如图9D所示,对象选择系统可以取消选择第一对象掩模910a和第三对象掩模910c,因为这些对象掩模(即每个对象掩模中包括的像素集合)不包括条纹的对象属性。因此,对象选择系统106将所选择的目标查询对象912在图像编辑应用内返回给用户。
值得注意的是,图9B和图9C示出了对象选择系统106利用对象属性检测神经网络来选择所检测的查询对象的目标实例。在许多实施例中,对象选择系统106不向用户显示对应的动作。相反,对象选择系统106似乎响应于用户的查询字符串请求而自动检测并准确地选择目标查询对象(例如图形用户界面902从图9A跳至图9D)。此外,如上所述,在一些实施例中,对象选择系统106结合对象属性检测神经网络来利用三个边界框908a-908c(图9B)以选择所检测的查询对象的目标实例。然后,在选择目标实例时,对象选择系统106仅针对所选择的目标查询对象来生成对象掩模。
转向图10,示出了根据一个或多个实施例的利用对象颜色属性检测模型来检测查询对象的目标实例的流程图。如所示和如上所述,图10在以上关于图8描述的动作806和810上扩展,其本身是对象选择流水线400的动作410的扩展。还如图10所示,图10包括动作1002–1006,其对应于对象选择系统106选择和利用对象颜色检测模型。
如上所述,动作806可以对应于对象选择系统106基于对象属性类型来选择对象属性检测模型。更具体地,在多个实施例中,对象选择系统106可以检测在查询字符串中指示的所检测的查询对象的多个实例。此外,对象选择系统106确定查询字符串包括指定目标查询对象实例的一个或多个形容词。为了选择目标查询对象实例,对象选择系统106可以利用经训练或创建为基于对象属性类型来识别实例的对象属性检测模型之一。
如所示,动作806可以包括对象选择系统106确定对象属性类型对应于颜色的动作1002。例如对象选择系统106分析查询字符串内的对象属性(即形容词)以标识用户正在请求选择具有特定颜色的所检测的查询对象的实例。在一些实施例中,对象选择系统106基于将对象属性与已知颜色的名称或描述匹配来确定对象属性是颜色。在各种实施例中,对象选择系统106还检测一个或多个对象属性进一步指定颜色的色调、阴影、不透明度、亮度、饱和度、温度和/或色彩(例如浅棕色、柔和的黄色、绿色、深紫色、粉红色、暗蓝色或焦橙色)。
如动作1004所示,基于检测到对象属性是颜色,对象选择系统106可以选择对象颜色检测模型。例如对象选择系统106从多个各种对象属性检测神经网络和模型中选择对象颜色检测模型。在一个或多个实施例中,对象颜色检测模型包括在2019年7月22日提交的标题为“CLASSIFYING COLORS OF OBJECTS IN DIGITAL IMAGES”的美国专利申请序列号No.16/518,795(代理人案卷号20030.257.4)中描述的颜色分类器模型,其全部内容通过引用而并入本文。
如所示,利用所选对象属性检测模型来标识与对象属性相对应的所检测查询对象的目标实例的动作810可以包括对象选择系统106利用对象颜色检测模型和颜色(例如查询字符串中指示的对象颜色属性)来标识所检测对象的目标实例的动作1006。实际上,对象选择系统106可以利用对象颜色检测模型来从所提供的颜色和所检测的查询对象的多个实例中确定目标实例。
更具体地,在一个或多个实施例中,对象选择系统106利用对象颜色检测模型来将颜色转换或映射为诸如颜色空间(例如向量空间)中的点或区域的数学表示(例如颜色嵌入向量)。附加地,对于所检测的查询对象的给定实例中的像素,对象颜色检测模型可以生成类似的嵌入。此外,对象颜色检测模型可以对对象颜色属性与给定实例之间的距离进行比较(即利用余弦相似度进行测量),以确定哪个实例或哪些实例对应于对象颜色属性。
在一个或多个实施例中,对象颜色检测模型为给定实例的所有像素生成颜色嵌入。在一些实施例中,对象颜色检测模型为给定实例的像素的子集生成颜色嵌入。由于图像中的许多相邻像素共享相同的颜色属性,因此对象选择系统106可以通过为给定实例中的选定像素组生成颜色嵌入来减少计算成本。
在一些实例中,对象选择系统106可以确定给定实例的像素是否为“有效”像素。在许多实施例中,如果像素颜色接近(例如在预定向量空间距离之内)查询颜色(即对象颜色属性),则像素是有效的。此外,在一些实施例中,对象选择系统106可以确定给定实例的阈值百分比、分数和/或像素数是否有效。例如如果给定实例的像素的一半以上是无效的(例如与查询颜色不匹配),则对象选择系统106从作为目标实例的考虑中滤除(例如消除)给定实例。
类似地,如果对象选择系统106确定满足给定实例的有效像素的比率(例如等于或大于10%),则对象选择系统106可以将给定实例指示为目标实例。实际上,所检测的查询对象的实例中的任何一个具有高于预定义阈值的有效像素比率,对象选择系统106可以维持实例的选择。
如先前所述,在一些实施例中,对象选择系统106可以基于对象属性和所检测的查询对象的实例的近似边界来标识目标实例。在其他实施例中,对象选择系统106利用实例的对象掩模。在很大程度上,关于确定颜色匹配,对象选择系统106可以利用实例的对象掩模而不是不太精确的近似边界(例如边界框),因为近似边界通常包括具有与对象颜色属性不匹配的颜色的背景像素。
在各种实施例中,对象选择系统106训练或以其他方式获得对象颜色检测模型以标识与输入颜色相对应的实例(例如定义的像素组)。例如对象选择系统106通过迭代训练生成颜色空间,并且训练对象颜色检测模型以将像素颜色准确地映射到颜色空间。
为了说明,图11示出了根据一个或多个实施例的利用对象颜色检测模型来检测查询对象的目标实例的图形用户界面。图11包括上面介绍的客户端设备300。例如客户端设备300包括图像编辑应用,该图像编辑应用实现利用对象选择系统106的图像编辑系统104。
如图11所示,图形用户界面1102包括图像编辑应用内的图像1104。图像1104示出了白瓶和黑瓶。附加地,图形用户界面1102包括对象选择请求界面1106,如上面结合图3A所描述的,其中用户提供了“白瓶”的查询字符串。
如先前所描述,对象选择系统106利用对象选择流水线400基于来自查询字符串的查询对象(即“瓶”)来检测两个瓶。此外,如上所述,对象选择系统106确定查询字符串中与对象颜色属性相对应的对象属性“白色”。因此,对象选择系统106选择并利用对象颜色检测模型来标识并选择图像中的白瓶(例如所选择的目标查询对象1108)。因此,如图11所示,对象选择系统106在图像编辑应用中将所选择的目标查询对象1108返回给用户。
转到图12,示出了根据一个或多个实施例的利用定位对象属性模型来检测查询对象的目标实例的流程图。如所示出的和如上所述,图12在以上关于图8描述的动作806和810上扩展,其本身是对象选择流水线400的动作410的扩展。同样如所示,图12包括与选择和利用对象定位确定模型的对象选择系统106相对应的动作1202-1206。
如所示,动作806可以包括对象选择系统106确定对象属性类型对应于定位的动作1202。例如基于分析查询字符串内的对象属性,对象选择系统106确定用户正在请求在图像内具有特定定位的所检测的查询对象的实例的选择。在一些情况下,对象选择系统106通过检测查询字符串中与定位词典匹配的形容词来标识对象定位属性,诸如“左”、“中心”、“右”、“顶部”、“中间”、“底部”、“上部”、“下部”、“上方”、“下方”、“外部”、“内部”。
如动作1204所示,基于检测到对象属性是定位,对象选择系统106可以选择对象定位检测模型。例如对象选择系统106可以从多个对象属性检测神经网络和模型中选择对象定位检测模型,如上所述。
如所示,动作810可以包括对象选择系统106利用对象定位检测模型和定位(例如查询字符串中指示的对象定位属性)来标识所检测的查询对象的目标实例的动作1206。实际上,对象选择系统106可以利用对象定位检测模型从提供的定位和所检测的查询对象的多个实例中确定目标实例。
为了说明,在一些实施例中,对象选择系统106可以利用对象定位检测模型来标识图像内所检测的查询对象的每个实例的定位。在一些实施例中,对象定位检测模型利用一种或多种试探法来比较每个查询对象实例的定位。例如对象定位检测模型可以为每个查询对象实例生成图像坐标(例如笛卡尔坐标)。附加地,对象定位检测模型可以将每个实例的图像坐标添加到表格或图表中,以使对象选择系统106能够比较图像内的对应实例定位。
在多个实施例中,对象定位检测模型基于其质心来确定查询对象实例的定位。例如定位检测模型将查询对象实例的定位确定为其质心坐标。在一些实施例中,质心对应于与查询对象实例相关联的边界框的质心。在备选实施例中,质心对应于与查询对象实例相关联的对象掩模的质心。
在一些实施例中,对象定位检测模型基于查询对象实例(例如边界框或对象掩模)的外部边缘(例如边界的外侧、拐角或点的图像坐标)来确定查询对象实例的定位。在附加的实施例中,对象定位检测模型基于对象定位属性来选择外部边缘。例如如果对象定位属性为“左”,则对象定位检测模型选择每个查询对象实例的最左侧边缘或点。同样,如果对象定位属性为“右下”,则对象定位检测模型选择下边缘和右边缘相交的每个查询对象实例上角点。此外,如果对象定位属性是“顶部中心”,则对象定位检测模型将选择每个查询对象实例的顶部边缘的中间点。
在许多实施例中,对象定位检测模型确定查询对象实例相对于另一对象的定位。例如对于“树左侧的汽车”的查询字符串,对象定位检测模型标识和/或检测树(例如使用对象检测神经网络或其他对象检测模型)。然后,对象定位检测模型可以标识树左侧的一个或多个查询对象实例。在各种实施例中,对象定位检测模型利用上述一种或多种方法来相对于图像中的另一对象标识查询对象实例。
在为所检测的查询对象的每个实例确定定位之后,对象选择系统106(和/或对象定位检测模型)可以确定哪个查询对象实例满足对象定位属性。例如对于“顶部”的对象定位属性,对象选择系统106可以标识查询对象实例,该查询对象实例具有在图像中的其他查询对象实例上方的相对定位(例如基于其图像坐标)。作为另一示例,对于“中心”的对象定位属性,对象选择系统106可以标识具有相对定位最接近图像中心的查询对象实例。在一些实例中,对于“中间”的对象定位属性,对象选择系统106可以标识具有在至少两个其他查询对象实例之间的相对定位的查询对象实例。
在一些实施例中,对象选择系统106确定所检测的查询对象的多个实例满足对象定位属性。例如如果对象定位属性是“上部”,则对象选择系统106可以选择在中心水平线(或另一垂直坐标)上方的每个查询对象实例。
类似地,在各种实施例中,如果两个查询对象实例具有在彼此的阈值容限内的定位,则对象选择系统106可以选择两个查询对象实例。为了说明,如果对象定位属性是“右”,则对象选择系统106可以选择在图像中具有最右定位(例如基于其x轴图像坐标)的查询对象实例。附加地,对象选择系统106还可以选择具有在第一所选查询对象实例的阈值距离(例如宽度的5%或20个像素)内的x轴坐标的附加查询对象实例。
如上所述,对象选择系统106可以选择满足对象定位属性的一个或多个查询对象实例,如下文进一步描述的。实际上,对象选择系统106可以基于图像内每个查询对象实例的空间比较来选择一个或多个查询对象实例。附加地,在一些实施例中,对象选择系统106还滤除不具有满足对象定位属性的定位的一个或多个查询对象实例。
如先前所解释的,取决于对象定位属性,对象选择系统106可以在确定对象掩模之前基于它们的近似边界来确定和标识每个查询对象实例的定位。例如对象选择系统106经常可以利用其对应的边界框以高准确性执行查询对象实例的简单空间比较。以此方式,对象选择系统106可以避免针对不满足用户在查询字符串中指定的定位属性(即对象定位属性)的实例计算精确的对象掩模。
在各种实施例中,对应于定位的对象属性可以包括深度。在备选实施例中,对象选择系统106利用单独的深度属性检测神经网络来标识与指定深度相对应的目标实例。例如深度属性检测神经网络可以生成图像的深度图,以确定所检测的查询对象的多个实例中每个实例的相对深度。深度对象属性的示例包括“前”、“后”、“更近”、“更远”、“在前”和“在后”。另外,以与上述类似的方式,对象选择系统106可以选择满足深度对象属性的一个或多个查询对象实例。
图13示出了根据一个或多个实施例的利用对象定位检测模型来检测查询对象的目标实例的图形用户界面。图13包括上面介绍的客户端设备300。例如客户端设备300包括图像编辑应用,该图像编辑应用实现利用对象选择系统106的图像编辑系统104。
如图13所示,图形用户界面1302包括图像编辑应用内的图像1304。图像1304在前景中示出了两个男孩,在背景中示出了树木和山脉。图形用户界面1302还包括对象选择请求界面1306,如以上结合图3A所述,其中用户提供查询字符串“左边的男孩”。
如前所述,对象选择系统106如上所述利用对象选择流水线400基于查询字符串中的“男孩”的查询对象来确定两个男孩。此外,如上所述,对象选择系统106可以确定查询字符串中的“左”的对象属性,其对应于对象定位属性。因此,对象选择系统106选择并利用对象定位检测模型来标识并选择图像中的左男孩(例如所选择的目标查询对象1308)。因此,如图13所示,对象选择系统106可以在图像编辑应用内将所选择的目标查询对象1308返回给用户。
尽管以上实施例涉及利用对象颜色检测模型或对象定位检测模型来检测目标查询对象实例,但是在备选实施例中,对象选择系统106可以选择和利用其他专用对象属性检测模型和神经网络来检测目标查询对象实例。例如基于如上所述分析查询字符串中的形容词,对象选择系统106可以确定属性是大小、长度、形状、材料、图案、位置、深度、刚性/灵活性、突出、身体姿势、情感、面部表情、或查询对象的其他已知属性类型。
基于选择对象属性类型,对象选择系统106可以选择对应的专用对象属性检测模型。例如如果对象属性类型是材料,则对象选择系统106选择标识与每个查询对象实例相关联的材料(例如木材、金属、织物、塑料、陶瓷、混凝土、玻璃、复合材料或另一材料)的对象材料检测神经网络。作为另一示例,如果对象属性类型是形状,则对象选择系统106选择标识每个查询对象实例的形状的形状属性模型。以类似的方式,对象选择系统106可以基于所标识的对象属性类型来选择各种专门的对象属性检测神经网络或模型。附加地,对象选择系统106可以利用选择的专用对象属性检测模型和对象属性来标识所检测的查询对象的目标实例。
转到图14,示出了根据一个或多个实施例的利用通用对象属性检测模型来检测查询对象的目标实例的流程图。如所示和如上所述,图14在以上关于图8描述的动作806和810上扩展,其本身是对象选择流水线400的动作410的扩展。同样如所示,图14包括动作1402–1406,其对应于选择和利用通用对象属性检测神经网络的对象选择系统106。
如所示,动作806可以包括对象选择系统106确定对象属性类型不对应于已知的对象属性类型的动作1402。例如基于如上所述分析查询字符串中的形容词,对象选择系统106可以确定对象属性不是所标识或识别的对象属性类型之一。因此,对象选择系统106可以选择通用对象属性检测模型,如动作1404所示。
如所示,图14中的动作810可以包括对象选择系统106利用通用对象属性检测模型和对象属性来标识所检测的查询对象的目标实例的动作1406。为了说明,在一个或多个实施例中,通用对象属性检测模型可以为每个查询对象实例生成标签(例如利用自动标记技术)以将每个实例与各种属性相关联。例如通用对象属性检测模型是经训练为基于从图像识别的一个或多个属性和/或特征来预测标签并将标签分配给给定图像的神经网络。实际上,通用对象属性检测模型可以辨别(discern)相关形容词标签并从查询对象实例边界框中提取相关形容词标签。
具体地,对象选择系统106可以将每个查询对象实例的边界框(例如裁剪图像)提供给标签神经网络(tagging neural network)。然后,标签神经网络可以为每个查询对象实例生成标签列表。在一个或多个实施例中,标签神经网络包括在Lin等人于2018年9月20日提交的美国专利公布No.2018/0267997中公开的网络之一,其全部内容通过引用并入本文。具体地,标签神经网络可以包括编码器和解码器。编码器将边界框(例如查询对象实例)作为输入以生成特征图。解码器对特征图进行解码,以标识哪些标签与查询对象实例相关联。在一个或多个实施例中,标签神经网络是分类深度神经网络,其确定标签集合中的每个标签与查询对象实例相关联的概率(例如,置信度)。标签神经网络可以将置信度分数与每个标签相关联。对象选择系统106可以将标签与具有高于阈值的置信度分数的查询对象实例相关联。
在用标签标签神经网络以自动用标签标记查询对象实例中的每一个之后,对象选择系统106可以将查询字符串中提供的对象属性与为查询对象实例中的每一个生成的属性标签进行比较。为了说明,在一个或多个实施例中,对象选择系统106滤除不具有属性标签和对象属性之间的相关性或小于最小相关性阈值的实例。实际上,通过分析具有来自查询字符串的对象属性的查询对象实例的属性标签,对象选择系统106可以忽略与对象属性不匹配的查询对象实例。
在附加的或备选的实施例中,对象选择系统106可以将查询对象实例的属性标签与来自查询字符串的对象属性进行匹配,以标识哪些实例与对象属性相对应。例如如果对象属性是来自“幸福男人”的查询字符串的“幸福”,则对象选择系统106分析每个查询对象实例的属性标签,以确定标签是否包括“幸福”或“幸福”的同义词。
在滤除具有不对应标签的实例和/或标识具有对应标签的实例之后,对象选择系统106可以选择与对象属性相对应的特定一个或多个查询对象实例。因此,即使专用对象属性检测模型对于对象属性不可用,在大多数情况下,对象选择系统106仍可以利用通用对象属性检测神经网络从对象属性中标识目标查询对象实例。
转到图15,示出了根据一个或多个实施例的基于多模式输入来检测和选择图像中的查询对象的目标实例的流程图。例如图15描述了基于指示图像中的位置的附加用户输入来检测图像内所检测的查询对象的目标查询对象实例。如所示,图15包括对象选择系统106可以执行的一系列动作1500。
如所示,一系列动作1500可以包括对象选择系统106获取图像的动作1502。例如用户用在与该用户相关联的客户端设备上的相机捕获图像。此外,一系列动作1500可以包括对象选择系统106的动作1504,如先前所描述的,该动作1504从用户获得查询字符串。
附加地,一系列动作1500包括对象选择系统106获得指示图像内的位置的附加用户输入的动作1506。在一个或多个实施例中,附加用户输入是图像内指示特定位置的触摸输入选择。在一些实施例中,附加用户输入是图像内指示特定位置的鼠标(或等效)输入选择。该位置的范围可以从图像内的单个点(例如像素坐标)到图像的一部分(例如一组像素)。此外,附加用户输入的示例包括轻击、点击、滑动、悬停、拖动、涂写、涂鸦、划线或点击。附加用户输入的其他示例可以包括矩形选择、套索选择、迹线选择、磁性选择、另一类型的选择。
如所示,一系列动作1500可以包括对象选择系统106利用多模式用户输入来检测所检测的查询对象的目标查询对象实例的动作1508。更具体地说,查询字符串是第一用户输入,而位置指示是附加用户输入。这些多个不同的用户输入一起为对象选择系统106提供了多模式用户输入,该多模式用户输入使对象选择系统106能够更准确地检测和选择所检测的查询对象的目标查询对象实例。
在各种实施例中,查询字符串发信号通知附加的用户输入包括位置信息。例如对象选择系统标识查询字符串中的文本(例如,对象属性),诸如“这”(例如“这辆车”)或“这里”(例如“这里的杯子”),其指示用户已提供(或将提供)与查询字符串相关的位置输入。例如在对象选择系统106可以接收到选择“这头大象”的请求时,对象选择系统106为用户提供附加的提示,以单击、点击、勾勒、涂鸦或以其他方式指示大象在图片内的位置。
此外,对象选择系统106可以利用用户位置输入来选择目标查询对象实例和/或滤除所检测的查询对象的其他查询对象实例。例如利用来自附加用户输入的指示位置,对象选择系统106可以滤除所检测的查询对象的实例,该实例与指示位置不匹配或者距指示位置超过阈值距离。作为另一示例,对象选择系统106可以基于多个查询对象实例到指示位置的距离来对多个查询对象实例进行排名或排序,其中较高的排名对应于成为目标查询对象实例的较高的概率。附加地,对象选择系统106可以选择具有最接近指示位置的中心的实例的对象掩模。以这种方式,对象选择系统106可以以与查询字符串中标识的对象属性类似的方式利用用户位置输入。
如图15所示,一系列动作1500可以包括对象选择系统106向用户提供所选择的查询对象实例的动作1510。如上所述,对象选择系统106可以响应于选择查询而自动选择图像编辑应用内的目标查询对象实例,在这种情况下,该选择查询包括多模式输入。
现在参考图16,提供了根据一个或多个实施例的关于对象选择系统106的能力和组件的附加细节。具体地,图16示出了在图像编辑系统104内实现并托管在计算设备1600上的对象选择系统106的示例架构的示意图。图像编辑系统104可以对应于先前结合图1描述的图像编辑系统104。
如所示,对象选择系统106位于图像编辑系统104内的计算设备1600上。通常,计算设备1600可以代表各种类型的客户端设备。例如在一些实施例中,客户端是移动设备,诸如膝上型计算机、平板计算机、移动电话、智能电话等。在其他实施例中,计算设备1600是非移动设备,诸如台式机或服务器、或另一类型的客户端设备。关于计算设备1600的附加细节在下面以及相对于图18讨论。
如图16所示,对象选择系统106包括用于执行本文所述的处理和特征的各种组件。例如对象选择系统106包括数字图像管理器1610、用户输入检测器1612、对象检测神经网络管理器1614、对象掩模生成器1616、对象实例选择器1618和存储管理器1620。如所示,存储管理器1620包括数字图像1622、对象检测神经网络1624、对象掩模神经网络1626和对象属性检测模型1628。下面依次描述上述每个组件。
如上所述,对象选择系统106包括数字图像管理器1610。通常,数字图像管理器1610促进标识、访问、接收、获得、生成、导入、导出、复制、修改、移除和组织图像。在一个或多个实施例中,数字图像管理器1610结合图像编辑系统104(例如图像编辑应用)来操作以访问和编辑图像,如前所述。在一些实施例中,数字图像管理器1610与存储管理器1620通信以例如在由存储管理器1620管理的数字图像数据库内存储和取回数字图像1622。
如所示,对象选择系统106包括用户输入检测器1612。在各种实施例中,用户输入检测器1612可以以任何合适的方式检测、接收和/或促进计算设备1600上的用户输入。在一些情况下,用户输入检测器1612检测关于用户界面的一个或多个用户交互(例如单个交互或交互的组合)。例如用户输入检测器1612从键盘、鼠标、触摸页面、触摸屏和/或与计算设备1600相关的任何其他输入设备检测用户交互。例如用户输入检测器1612检测从对象选择请求界面提交的查询字符串的用户输入,该用户输入请求对图像内的对象的自动选择。附加地,如上所述,用户输入检测器1612从鼠标选择和/或触摸输入中检测附加的用户输入以指示图像内的对象位置。
如所示,对象选择系统106包括对象检测神经网络管理器1614。在各种实施例中,对象检测神经网络管理器1614维护、创建、生成、训练、更新、访问和/或利用本文公开的对象检测神经网络。如上所述,对象检测神经网络管理器1614检测图像内的一个或多个对象(例如查询对象),并生成近似边界(例如边界框)以指示所检测的对象。
附加地,在多个实施例中,对象检测神经网络管理器1614可以与存储管理器1620通信以存储、访问和利用对象检测神经网络1624。如上所述,在各种实施例中,对象检测神经网络1624可以包括一个或多个专业对象检测神经网络、基于对象的概念检测神经网络、已知对象类别检测神经网络、未知对象类别检测神经网络、对象提议神经网络、区域提议神经网络、概念嵌入神经网络。
此外,如所示,对象选择系统106包括对象掩模生成器1616。在一个或多个实施例中,对象掩模生成器1616根据所检测的对象来生成、创建和/或生成准确的对象掩模。例如对象检测神经网络管理器1614将对象(例如所检测的查询对象)的近似边界提供给对象掩模生成器1616,对象掩模生成器1616利用对象掩模神经网络1626生成所检测的对象的对象掩模,如上所述。同样如上所述,在各种实施例中,当检测到查询对象的多个实例时,对象掩模生成器1616生成多个对象掩模。
如所示,对象选择系统106包括对象实例选择器1618。在一些实施例中,对象实例选择器1618从所检测的对象的多个实例中确定、分析、检测、标识、过滤和/或选择所检测的一个或多个目标实例。在各种实施例中,如上所述,对象实例选择器1618利用一个或多个对象属性检测模型1628来标识目标实例。例如对象实例选择器1618利用对象属性来为所检测的对象的多个实例选择目标实例。
对象属性检测模型1628的示例包括但不限于对象颜色检测模型1630、对象定位检测模型1632、通用对象属性检测神经网络1634和/或其他对象属性检测神经网络和模型(例如对象深度检测神经网络、对象材料检测神经网络、对象形状检测模型、对象大小检测神经网络、对象长度检测神经网络、对象图案检测神经网络、对象定位检测模型、对象身体姿势检测神经网络、对象突出检测神经网络、对象面部表情检测神经网络、或对象质量检测神经网络)。
对象选择系统106的组件1610–1634中的每一个可以包括软件,硬件或两者。例如组件1610-1634可以包括一个或多个指令,一个或多个指令被存储在计算机可读存储介质上并且由一个或多个计算设备的处理器可执行,诸如客户端设备(例如移动客户端设备)或服务器设备。当由一个或多个处理器执行时,对象选择系统106的计算机可执行指令可以使计算设备执行本文所述的特征学习方法。备选地,组件1610–1634可以包括硬件,诸如用于执行特定功能或功能组的专用处理设备。附加地,对象选择系统106的组件1610-1634可以包括计算机可执行指令和硬件的组合。
此外,对象选择系统106的组件1610-1634可以被实现为一个或多个操作系统、一个或多个独立应用、应用的一个或多个模块、一个或多个插件、一个或多个库函数或其他应用可以调用的函数、和/或云计算模型。因此,组件1610-1634可以被实现为独立应用,诸如台式机或移动应用。此外,组件1610–1634可以被实现为托管在远程服务器上的一个或多个基于web的应用。组件1610–1634也可以在一套移动设备应用或“apps”中实现。为了说明,组件1610–1634可以在应用中被实现,包括但不限于 软件。“ADOBE”、“INDESIGN”、“ACROBAT”、“ILLUSTRATOR”、“PHOTOSHOP”和“CREATIVE CLOUD”是Adobe Systems Incorporated(Adobe系统公司)在美国和/或其他国家的注册商标或商标。
图1至图16,对应的文本和示例提供了对象选择系统106的许多不同的方法、系统、设备和非瞬态计算机可读介质。除了前述内容之外,还可以根据包括用于实现特定结果的动作的流程图来描述一个或多个实施例,诸如图17中所示的动作的流程图。附加地,本文描述的动作可以重复或彼此平行地执行或与相同或相似动作的不同实例并行地执行。
如所提及的,图17示出了根据一个或多个实施例的用于利用多个对象属性检测模型中的一个来检测查询对象实例的一系列动作1700的流程图。尽管图17示出了根据一个实施例的动作,但是备选实施例可以省略、增加、重新排序和/或修改图17所示的动作中的任何动作。图17的动作可以作为方法的一部分来执行。备选地,非瞬态计算机可读介质可以包括指令,当该指令由一个或多个处理器执行时,使计算设备执行图17的动作。在一些实施例中,系统可以执行图17的动作。
在一个或多个实施例中,一系列动作1700在一个或多个计算设备上实现,诸如客户端设备102、服务器设备110、客户端设备300或计算设备1600。此外,在一些实施例中,一系列动作1700在数字环境中实现,以用于创建或编辑数字内容(例如数字图像)。例如一系列动作1700在计算设备上实现,该计算设备具有存储器,该存储器包括:数字图像;查询,该查询包括查询对象和与该查询对象相对应的对象属性(例如,对象颜色属性或对象定位属性);以及经训练的对象检测神经网络。
系列动作1700包括标识查询对象和对象属性的动作1710。具体地,动作1710可以包括从与数字图像相对应的选择查询中标识查询对象和对应的对象属性。在各种实施例中,动作1710可以包括将查询对象标识为查询中的名词(例如查询字符串),并且将对象属性标识为查询中的形容词。
如所示,一系列动作1700还包括检测查询属性的多个实例的动作1720。具体地,动作1720可以涉及利用对象检测模型来检测数字图像中的查询对象的多个实例。在一个或多个实施例中,动作1720可以包括针对多个查询对象实例中的每一个来标识数字图像内的单独的边界框。在各种实施例中,动作1720可以包括针对多个查询对象实例中的每一个来标识数字图像内的单独的对象掩模。在一些实施例中,对象检测模型是经训练的对象检测神经网络。在备选实施例中,对象检测模型不是机器学习模型,诸如区域提议检测器或另一类型的对象检测器的组合。
如图17所示,一系列动作1700还包括基于查询对象确定对象属性检测模型的动作1730。具体地,动作1730可以包括基于分析对象属性,从多个对象属性检测模型确定对象属性检测模型。在一个或多个实施例中,动作1730可以包括:基于确定对象属性对应于材料,选择对象材料检测神经网络作为所确定的对象属性检测模型。在一些实施例中,动作1730可以包括基于确定对象属性对应于对象大小,来选择对象大小检测模型作为所确定的对象属性检测模型。
如所示,一系列动作1700还包括基于对象属性检测模型来检测查询对象实例的动作1740。具体地,动作1740可以包括基于对象属性和所确定的对象属性检测模型,从多个查询对象实例中检测第一查询对象实例是目标查询对象实例。动作1740可以包括许多另外的动作和子动作,如下所述。
在一个或多个实施例中,动作1740可以包括分析对象属性以标识数字图像内的指示定位。在这些实施例中,动作1740还可以包括利用对象定位属性检测模型来确定数字图像内的针对多个查询对象实例中的每一个的定位。动作17440还可以涉及基于第一查询对象实例在数字图像中具有最接近指示定位的定位来检测第一查询对象实例是目标查询对象实例。
在各种实施例中,动作1740可以包括分析对象属性以标识指示的相对对象定位。在这些实施例中,动作1740还可以包括利用对象定位属性检测模型来标识针对数字图像内的多个查询对象实例中的每一个的中心定位,将多个查询对象实例的第一查询对象实例的第一中心定位与第二查询对象实例的第二中心定位进行比较,以标识第一查询对象实例的第一相对位置,并基于第一查询对象实例的第一相对定位与指示的相对对象定位相对应,检测第一查询对象实例是目标查询对象实例。
在一些实施例中,动作1740可以包括分析对象属性以标识指示的对象深度。在这些实施例中,动作1740还可以包括:利用深度图(depth map)神经网络来生成图像的深度图;基于深度图,利用深度图神经网络来标识第一查询对象实例的第一深度;以及基于第一查询对象实例的第一深度与所述指示的对象深度相对应,检测第一查询对象实例是目标查询对象实例。
在一个或多个实施例中,动作1740可以包括分析对象属性以标识指示的颜色。在这些实施例中,动作1740还可以包括利用对象颜色属性检测模型来标识数字图像中的多个查询对象实例中的每一个的颜色,以及基于将针对多个查询对象中的每一个所标识的颜色与指示的颜色进行比较,确定与多个查询对象实例的其他实例相比,第一查询对象实例与指示的颜色具有更大的对应关系。在附加的实施例中,动作1740可以包括基于将第一查询对象实例的一个或多个像素与多维颜色空间中的指示的颜色进行比较,利用对象颜色属性检测模型来标识第一查询对象实例的颜色。
在各种实施例中,动作1740可以包括基于分析对象属性来确定对象属性不对应于已知对象属性类型。在这些实施例中,动作1740还可以包括:利用标签神经网络生成针对多个查询对象实例中的一个或多个的标签;以及基于将对象属性与针对第一查询对象实例所生成的标签匹配,将第一查询对象实例检测为目标查询对象实例。在附加的实施例中,动作1740可以包括基于具有不对应于对象属性的标签的多个查询对象实例的一个或多个其他实例,滤除多个查询对象实例的一个或多个其他查询对象实例。
如图17所示,一系列动作1700还包括在图像内提供所选查询对象实例的动作1750。具体地,动作1750可以涉及响应于选择查询而向数字图像提供所检测的第一查询对象实例。在一些实施例中,动作1750包括利用第一对象掩模在图像编辑应用内自动选择所检测的查询对象。
在一个或多个实施例中,动作1750可以包括利用对象掩模神经网络为第一查询对象实例生成第一对象掩模,而不为多个查询对象实例的其他查询对象实例生成附加的对象掩模。在附加的实施例中,动作1750可以包括利用第一对象掩模来选择图像内的第一查询对象。
在一些实施例中,动作1730和1740还可以包括以下动作:确定对象属性对应于颜色;为数字图像中的多个查询对象实例中的每一个标识一种或多种颜色;以及利用对象颜色检测模型,确定来自多个查询对象实例的第一查询对象实例包括第一颜色,该第一颜色与查询中的对象颜色属性相对应。在这些实施例中,动作1740还可以包括:在为多个查询对象实例中的每个标识一种或多种颜色之前,为多个查询对象实例中的每一个生成单独的对象掩模;以及基于分析第一对象掩模的一个或多个像素与第一查询对象实例相对应,标识第一查询对象实例的第一颜色。
此外,在一个或多个实施例中,确定第一查询对象实例包括与查询中的对象颜色属性相对应的第一颜色是基于确定第一对象掩模中的阈值数目的像素对应于查询中的对象颜色属性(例如,有效像素)。在一些实施例中,确定第一查询对象实例的第一颜色对应于查询中的对象颜色属性是基于利用对象颜色检测模型为第一查询对象实例的第一颜色生成第一颜色向量,利用对象颜色检测模型为查询的对象颜色属性生成对象颜色属性向量,并利用由对象颜色检测模型生成的向量空间来确定第一颜色向量对应于对象颜色属性向量。
在各种实施例中,动作1730和1740可以包括确定对象属性是指示图像内查询对象实例的定位的对象定位属性,标识在数字图像中的多个查询对象实例中的每一个的定位,利用对象定位检测来确定来自多个查询对象实例的第一查询对象实例具有与查询中的对象定位属性相对应的第一位置。在一个或多个实施例中,动作1740还可以包括为多个查询对象实例中的每一个生成边界框。
此外,在这些实施例中,标识数字图像中的多个查询对象实例中的每一个的定位是基于针对多个查询对象实例中的每一个生成的边界框。在附加的实施例中,动作1750可以包括利用对象掩模神经网络为第一查询对象实例生成第一对象掩模(例如基于确定第一查询对象实例对应于对象定位属性)而无需为多个查询对象实例的其他查询对象实例生成附加的对象掩模。
如本文所使用,术语“数字环境”通常是指例如作为独立应用(例如个人计算机或在计算设备上运行的移动应用)、作为应用的元素、作为应用的插件、作为库功能、作为计算设备、和/或作为云计算系统实现的环境。如本文所述,数字媒体环境允许对象选择系统创建、执行和/或修改对象选择流水线。
本公开的实施例可以包括或利用包括计算机硬件的专用或通用计算机,诸如例如一个或多个处理器和系统存储器,如下面更详细地讨论的。本公开范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。具体地,本文描述的一个或多个处理可以至少部分地实现为指令,指令被实施在非瞬态计算机可读介质中并且由一个或多个计算设备(例如本文描述的媒体内容访问设备中的任何一个)可执行。通常,处理器(例如微处理器)从非瞬态计算机可读介质(例如存储器)接收指令,并执行那些指令,从而执行一个或多个过程,包括本文所描述的一个或多个过程。
计算机可读介质可以是可以由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非瞬态计算机可读存储介质(设备)。承载计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实施例可以包括至少两种明显不同种类的计算机可读介质:非瞬态计算机可读存储介质(设备)和传输介质。
非瞬态计算机可读存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(例如基于RAM)、闪存、相变存储器(“PCM”)、其他类型的存储器、其他光盘装置、磁盘装置或其他磁性存储设备、或任何其他介质,该任何其他介质可以被用于以计算机可执行指令或数据结构形式存储所需程序代码,并且可以由通用或专用计算机进行访问。
“网络”被定义为实现在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。通过网络或另一通信连接(硬连线、无线或硬连线或无线的组合)将信息传送或提供给计算机时,计算机会将该连接正确地视为传输介质。传输介质可以包括网络和/或数据链路,该网络和/或数据链路可以用于以计算机可执行指令或数据结构的形式承载期望的程序代码部件,并且可以由通用或专用计算机访问。上述的组合也应当被包括在计算机可读介质的范围内。
此外,在达到各种计算机系统组件时,可以将计算机可执行指令或数据结构形式的程序代码部件从传输介质自动传送到非瞬态计算机可读存储介质(设备)(反之亦然)。例如可以将通过网络或数据链路接收的计算机可执行指令或数据结构缓冲在网络接口模块(例如“NIC”)内的RAM中,并且然后最终传送到计算机系统RAM和/或在计算机系统处的易失性较小的存储介质(设备)。因此,应当理解,非瞬态计算机可读存储介质(设备)可以被包括在也(或者甚至主要地)利用传输介质的计算机系统组件中。
计算机可执行指令包括例如指令和数据,当由处理器执行时,这些指令和数据使通用计算机、专用计算机或专用处理设备执行特定功能或功能组。在一些实施例中,计算机可执行指令由通用计算机执行以将通用计算机转变成实现本公开的元素的专用计算机。计算机可执行指令可以是例如二进制、诸如汇编语言的中间格式指令、或甚至源代码。尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应该理解,所附权利要求书中定义的主题不一定限于上述的特征或动作。相反,所描述的特征和动作被公开为实现权利要求书的示例形式。
本领域技术人员将理解,可以在具有许多类型的计算机系统配置的网络计算环境中实践本公开,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器或可编程消费类电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、平板计算机、寻呼机、路由器、交换机等。还可以在分布式系统环境中实践本公开,在分布式系统环境中,通过网络链接(通过硬连线数据链接、无线数据链接、或通过硬连线和无线数据链接的组合)的本地和远程计算机系统两者均执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储设备中。
本公开的实施例也可以在云计算环境中实现。如本文所使用的,术语“云计算”是指用于实现对可配置计算资源的共享池的按需网络访问的模型。例如可以在市场中采用云计算,以提供对可配置计算资源共享池的无处不在且方便的按需访问。可配置计算资源的共享池可以经由虚拟化快速地被供应,并以较少的管理工作量或服务提供商交互来被释放,并且然后相应地被扩展。
云计算模型可以由各种特性组成,诸如例如按需自助服务、广泛的网络访问、资源池、快速弹性、测量的服务等等。云计算模型还可以公开各种服务模型,诸如例如软件即服务(“SaaS”)、平台即服务(“PaaS”)、和基础设施即服务(“IaaS”)。云计算模型还可以使用不同的部署模型来部署,诸如私有云、社区云、公共云、混合云等。附加地,如本文所使用的,术语“云计算环境”是指其中云计算被采用的环境。
图18示出了示例计算设备1800的框图,该示例计算设备1000可以被配置为执行上述过程中的一个或多个。将会理解,诸如计算设备1800的一个或多个计算设备可以代表上述计算设备(例如客户端设备102、服务器设备110、客户端设备300或计算设备1600)。在一个或多个实施例中,计算设备1800可以是移动设备(例如膝上型计算机、平板计算机、智能电话、移动电话、照相机、跟踪器、手表、可穿戴设备等)。在一些实施例中,计算设备1800可以是非移动设备(例如台式计算机、服务器设备、web服务器、文件服务器、社交网络系统、程序服务器、应用商店或内容提供者)。此外,计算设备1800可以是包括基于云的处理和存储能力的服务器设备。
如图18所示,计算设备1800可以包括一个或多个处理器1802、存储器1804、存储设备1806、输入/输出(“I/O”)接口1808和通信接口1810,其可以通过通信基础设施(例如总线1812)的方式通信地耦合。尽管在图18中示出了计算设备1800,但是图18中示出的组件并非旨在是限制性的。在其他实施例中可以使用附加或备选组件。此外,在某些实施例中,计算设备1800包括比图18所示的组件更少的组件。现在将更加详细地描述图18所示的计算设备1800的组件。
在特定实施例中,(多个)处理器1802包括用于执行指令的硬件,诸如组成计算机程序的那些指令。作为示例而非限制地,为了执行指令,(多个)处理器1802可以从内部寄存器、内部高速缓存、存储器1804或存储设备1806中取回(或获取)指令,并且解码并执行该指令。
计算设备1800包括耦合到(多个)处理器1802的存储器1804。存储器1804可以被用于存储数据、元数据和由(多个)处理器执行的程序。存储器1804可以包括易失性和非易失性存储器中的一个或多个,诸如随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态磁盘(“SSD”)、闪存、相变存储器(“PCM”)或其他类型的数据存储。存储器1804可以是内部或分布式存储器。
计算设备1800包括存储设备1806,该存储设备1806包括用于存储数据或指令的存储装置。作为示例,但不作为限制,存储设备1806可以包括上述非瞬态存储介质。存储设备1806可以包括硬盘驱动器(HDD)、闪存、通用串行总线(USB)驱动器、或这些或其他存储设备的组合。
如所示,计算设备1800包括一个或多个I/O接口1808,这些I/O接口1808被提供以允许用户向计算设备1800提供输入(例如用户笔划),从计算设备1800接收输出,以及以其他方式向计算设备1800且从计算设备1800传送数据。这些I/O接口1808可以包括鼠标、小键盘或键盘、触摸屏、照相机、光学扫描仪、网络接口、调制解调器、其他已知的I/O设备、或这些I/O接口1808的组合。可以用手写笔或手指激活触摸屏。
I/O接口1808可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器(例如显示屏)、一个或多个输出驱动器(例如、显示驱动器)、一个或多个音频扬声器、以及一个或多个音频驱动器。在某些实施例中,I/O接口1808被配置为将图形数据提供给显示器以呈现给用户。图形数据可以代表一个或多个图形用户界面和/或可以服务于特定实现的任何其他图形内容。
计算设备1800可以进一步包括通信接口1810。通信接口1810可以包括硬件、软件或两者。通信接口1810提供了一个或多个接口,以用于在计算设备与一个或多个其他计算设备或一个或多个网络之间的通信(诸如例如基于分组的通信)。作为示例而非限制,通信接口1810可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器,或者用于与诸如WI-FI的无线网络进行通信的无线NIC(WNIC)或无线适配器。计算设备1800可以进一步包括总线1812。总线1812可以包括将计算设备1800的组件彼此连接的硬件、软件或两者。
在前述说明书中,已经参考本发明的特定示例实施例描述了本发明。参考本文讨论的细节描述了(多个)发明的各个实施例和方面,并且附图示出了各个实施例。上面的描述和附图是对本发明的说明,并且不应当被解释为对本发明的限制。描述了许多具体细节以提供对本发明的各种实施例的透彻理解。
在不脱离本发明的精神或基本特性的情况下,本发明可以以其他特定形式实施。所描述的实施例在所有方面仅被认为是说明性的而非限制性的。例如本文描述的方法可以用更少或更多的步骤/动作来执行,或者可以以不同的顺序来执行步骤/动作。附加地,本文描述的步骤/动作可以彼此平行地或与相同或相似步骤/动作的不同实例并行地重复或执行。因此,本发明的范围由所附权利要求书而不是前述描述来指示。落入权利要求的等同含义和范围之内的所有改变均将被涵盖在其范围之内。
Claims (20)
1.一种存储指令的非瞬态计算机可读介质,所述指令在由至少一个处理器执行时,使计算设备:
从与数字图像相对应的选择查询中标识查询对象和对应的对象属性;
检测所述数字图像中的所述查询对象的多个实例;
基于分析所述对象属性,从多个对象属性检测模型中确定对象属性检测模型;
基于所述对象属性和所确定的所述对象属性检测模型,检测来自所述多个查询对象实例的第一查询对象实例是目标查询对象实例;以及
向所述数字图像提供响应于所述选择查询而选择的所述目标查询对象实例。
2.根据权利要求1所述的非瞬态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时,使所述计算设备解析所述选择查询以确定:
标识所述查询对象的名词;以及
标识对象属性的形容词。
3.根据权利要求1所述的非瞬态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时,使所述计算设备:
分析所述对象属性以标识所述数字图像内的指示的定位;并且
其中所述指令使所述计算设备通过以下操作来检测所述第一查询对象实例是所述目标查询对象实例:
利用对象定位属性检测模型来确定所述数字图像内的、针对所述多个查询对象实例中的每个查询对象实例的定位;以及
基于所述第一查询对象实例在所述数字图像中具有与所述指示的定位最接近的定位,来检测所述第一查询对象实例是所述目标查询对象实例。
4.根据权利要求1所述的非瞬态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时,使所述计算设备:
分析所述对象属性以标识指示的相对对象定位;并且
其中所述指令使所述计算设备通过以下操作来检测所述第一查询对象实例是所述目标查询对象实例:
利用对象定位属性检测模型标识针对所述数字图像内的所述多个查询对象实例中的每个查询对象实例的中心定位;
将所述第一查询对象实例的第一中心定位与所述多个查询对象实例中的第二查询对象实例的第二中心定位进行比较,以标识针对所述第一查询对象实例的第一相对定位;以及
基于针对所述第一查询对象实例的所述第一相对定位与所述指示的相对对象定位相对应,来检测所述第一查询对象实例是所述目标查询对象实例。
5.根据权利要求1所述的非瞬态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时,使所述计算设备:
分析所述对象属性以标识指示的对象深度;并且
其中所述指令使所述计算设备通过以下操作来检测所述第一查询对象实例是所述目标查询对象实例:
利用深度图神经网络来生成所述图像的深度图;
利用所述深度图神经网络基于所述深度图来标识所述第一查询对象实例的第一深度;以及
基于所述第一查询对象实例的所述第一深度与所述指示的对象深度相对应,来检测所述第一查询对象实例是所述目标查询对象实例。
6.根据权利要求1所述的非瞬态计算机可读介质,其中所述指令在由所述至少一个处理器执行时,使所述计算设备:通过标识所述数字图像内的、针对所述多个查询对象实例中的每个查询对象实例的单独边界框,来检测所述数字图像中的所述多个查询对象实例。
7.根据权利要求1所述的非瞬态计算机可读介质,其中所述指令在由所述至少一个处理器执行时,使所述计算设备:通过标识所述数字图像内的、针对所述多个查询对象实例中的每个查询对象实例的单独对象掩模,来检测所述数字图像中的所述多个查询对象实例。
8.根据权利要求1所述的非瞬态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时,使所述计算设备:
分析所述对象属性以标识指示的颜色;并且
其中所述指令使所述计算设备通过以下操作来检测所述第一查询对象实例是目标查询对象实例:
利用对象颜色属性检测模型来标识针对所述数字图像中的所述多个查询对象实例中的每个查询对象实例的颜色;以及
基于将针对所述多个查询对象实例中的每个查询对象实例所标识的颜色与所述指示的颜色进行比较,来确定与所述多个查询对象实例中的其他实例相比,所述第一查询对象实例具有与所述指示的颜色的更大的对应关系。
9.根据权利要求8所述的非瞬态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时,使所述计算设备:通过将所述第一查询对象实例的一个或多个像素与多维颜色空间中的所述指示的颜色进行比较,利用所述对象颜色属性检测模型来标识针对所述第一查询对象实例的所述颜色。
10.根据权利要求1所述的非瞬态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时,使所述计算设备:
确定所述对象属性与已知的对象属性类型不对应;并且
其中所述指令使所述计算设备通过以下操作来检测所述第一查询对象实例是所述目标查询对象实例:
利用标签神经网络生成针对所述多个查询对象实例中的一个或多个查询对象实例的标签;以及
将所述对象属性与针对所述第一查询对象实例所生成的标签进行匹配。
11.根据权利要求10所述的非瞬态计算机可读介质,其中所述指令在由所述至少一个处理器执行时,使所述计算设备:通过基于所述多个查询对象实例中的一个或多个其他实例具有与所述对象属性不对应的标签,滤除所述多个查询对象实例中的一个或多个其他查询对象实例,来检测所述第一查询对象实例是所述目标查询对象实例。
12.根据权利要求1所述的非瞬态计算机可读介质,其中所确定的所述对象属性检测模型包括对象材料检测神经网络。
13.根据权利要求1所述的非瞬态计算机可读介质,其中所确定的所述对象属性检测模型包括对象大小检测模型。
14.一种用于自动选择数字图像内的对象的系统,包括:
存储器,包括:
数字图像;
选择查询,包括查询对象和与所述查询对象相对应的对象颜色属性;以及
对象检测模型;
至少一个处理器;以及
至少一个非瞬态计算机可读存储介质,所述至少一个非瞬态计算机可读存储介质存储指令,所述指令在由所述至少一个处理器执行时,使所述系统:
利用所述对象检测模型来检测所述数字图像中的多个查询对象实例;
通过确定来自所述多个查询对象实例的第一查询对象实例包括所述对象颜色属性,来确定所述第一查询对象实例是目标查询对象实例;以及
向所述数字图像提供响应于所述选择查询而选择的所述第一查询对象实例。
15.根据权利要求14所述的系统,其中所述指令在由所述至少一个处理器执行时,使所述系统通过以下操作来检测所述数字图像中的多个查询对象实例:
利用所述对象检测模型生成针对所述多个查询对象实例的近似边界;以及
利用对象掩模神经网络,从所述近似边界生成所述多个查询对象实例中的每个查询对象实例的对象掩模。
16.根据权利要求15所述的系统,还包括指令,所述指令在由所述至少一个处理器执行时,使所述系统:确定所述对象颜色属性包括第一颜色。
17.根据权利要求16所述的系统,还包括指令,所述指令在由所述至少一个处理器执行时,使所述系统:确定与针对所述多个查询对象实例中的所述其他查询对象实例的对象掩模中的像素相比,第一对象掩模中的像素更紧密地对应于所述第一颜色。
18.一种在用于创建或编辑数字图像的数字媒体环境中的选择查询对象的计算机实现的方法,包括:
从与数字图像相对应的选择查询中标识查询对象和与所述查询对象相对应的对象定位属性;
利用对象检测模型检测所述数字图像中所述查询对象的多个实例;
标识针对所述数字图像中所述多个查询对象实例中的每个查询对象实例的定位;
通过确定来自所述多个查询对象实例的第一查询对象实例包括与所述选择查询中的所述对象定位属性相对应的第一定位,来确定所述第一查询对象实例是目标查询对象;以及
向所述数字图像提供响应于所述选择查询而选择的所述第一查询对象实例。
19.根据权利要求18所述的计算机实现的方法,还包括:
生成针对所述多个查询对象实例中的每个查询对象实例的边界框;并且
其中标识针对所述数字图像中的所述多个查询对象实例中的每个查询对象实例的所述定位是基于针对所述多个查询对象实例中的每个查询对象实例所生成的所述边界框的。
20.根据权利要求19所述的计算机实现的方法,还包括:
利用对象掩模神经网络来生成针对所述第一查询对象实例的第一对象掩模,而无需生成针对所述多个查询对象实例中的其他查询对象实例的附加的对象掩模;以及
利用所述第一对象掩模在所述图像内选择所述第一查询对象。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/518,850 US11468550B2 (en) | 2019-07-22 | 2019-07-22 | Utilizing object attribute detection models to automatically select instances of detected objects in images |
US16/518,850 | 2019-07-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112287187A true CN112287187A (zh) | 2021-01-29 |
Family
ID=74099091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010261241.7A Pending CN112287187A (zh) | 2019-07-22 | 2020-04-03 | 利用对象属性检测模型来自动地选择图像中所检测的对象的实例 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11468550B2 (zh) |
CN (1) | CN112287187A (zh) |
AU (1) | AU2020202601B2 (zh) |
DE (1) | DE102020002153A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113657415A (zh) * | 2021-10-21 | 2021-11-16 | 西安交通大学城市学院 | 一种面向示意图的对象检测方法 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10740647B2 (en) | 2018-03-14 | 2020-08-11 | Adobe Inc. | Detecting objects using a weakly supervised model |
JP7105210B2 (ja) * | 2019-03-26 | 2022-07-22 | 富士フイルム株式会社 | 画像処理方法、プログラム、及び画像処理システム |
US11302033B2 (en) | 2019-07-22 | 2022-04-12 | Adobe Inc. | Classifying colors of objects in digital images |
US11107219B2 (en) | 2019-07-22 | 2021-08-31 | Adobe Inc. | Utilizing object attribute detection models to automatically select instances of detected objects in images |
US11631234B2 (en) | 2019-07-22 | 2023-04-18 | Adobe, Inc. | Automatically detecting user-requested objects in images |
JP7423951B2 (ja) * | 2019-09-19 | 2024-01-30 | 富士フイルムビジネスイノベーション株式会社 | 画像処理装置及び画像処理プログラム |
US11468110B2 (en) | 2020-02-25 | 2022-10-11 | Adobe Inc. | Utilizing natural language processing and multiple object detection models to automatically select objects in images |
US11055566B1 (en) | 2020-03-12 | 2021-07-06 | Adobe Inc. | Utilizing a large-scale object detector to automatically select objects in digital images |
US11710324B2 (en) * | 2020-06-15 | 2023-07-25 | Toyota Research Institute, Inc. | Systems and methods for improving the classification of objects |
US11682065B2 (en) * | 2020-06-16 | 2023-06-20 | Fujifilm Business Innovation Corp. | Systems and methods for reducing service errors for restaurants |
US11587234B2 (en) | 2021-01-15 | 2023-02-21 | Adobe Inc. | Generating class-agnostic object masks in digital images |
US20230059007A1 (en) * | 2021-08-20 | 2023-02-23 | Adobe Inc. | Generating object-based layers for digital image editing using object classification machine learning models |
US20230088925A1 (en) * | 2021-09-21 | 2023-03-23 | Microsoft Technology Licensing, Llc | Visual Attribute Expansion via Multiple Machine Learning Models |
WO2023114398A1 (en) * | 2021-12-15 | 2023-06-22 | Insurance Services Office, Inc. | Computer vision systems and methods for segmenting and classifying building components, contents, materials, and attributes |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150170005A1 (en) * | 2013-12-16 | 2015-06-18 | Adobe Systems Incorporated | Semantic object selection |
US20160342863A1 (en) * | 2013-08-14 | 2016-11-24 | Ricoh Co., Ltd. | Hybrid Detection Recognition System |
US20190019318A1 (en) * | 2017-07-14 | 2019-01-17 | Synapse Technology Corporation | Generating Graphical Representations of Scanned Objects |
Family Cites Families (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389168B2 (en) | 1998-10-13 | 2002-05-14 | Hewlett Packard Co | Object-based parsing and indexing of compressed video streams |
US7212667B1 (en) | 1999-05-17 | 2007-05-01 | Samsung Electronics Co., Ltd. | Color image processing method for indexing an image using a lattice structure |
US6469706B1 (en) | 1999-11-16 | 2002-10-22 | International Business Machines Corporation | Method and apparatus for detecting regions belonging to a specified color surface in an unsegmented image |
US7398201B2 (en) | 2001-08-14 | 2008-07-08 | Evri Inc. | Method and system for enhanced data searching |
CN1445696A (zh) | 2002-03-18 | 2003-10-01 | 朗迅科技公司 | 自动检索图像数据库中相似图象的方法 |
WO2004027695A1 (en) | 2002-09-20 | 2004-04-01 | International Business Machines Coporation | Color naming, color categorization and describing color composition of images |
US8508546B2 (en) | 2006-09-19 | 2013-08-13 | Adobe Systems Incorporated | Image mask generation |
US9746981B2 (en) | 2007-03-29 | 2017-08-29 | Microsoft Technology Licensing, Llc | System and method for multiple object detection on a digitizer system |
EP2279604A4 (en) | 2008-05-09 | 2013-08-21 | Ltu Technologies S A S | TOOL BOX FOR COLOR MATCHING |
CN102057371A (zh) | 2008-06-06 | 2011-05-11 | 汤姆逊许可证公司 | 用于图像的类似性搜索的系统和方法 |
US8107726B2 (en) | 2008-06-18 | 2012-01-31 | Samsung Electronics Co., Ltd. | System and method for class-specific object segmentation of image data |
US8385688B2 (en) | 2008-08-27 | 2013-02-26 | International Business Machines Corporation | System and method for automatic recognition and labeling of anatomical structures and vessels in medical imaging scans |
US8406573B2 (en) | 2008-12-22 | 2013-03-26 | Microsoft Corporation | Interactively ranking image search results using color layout relevance |
US8213723B2 (en) | 2008-12-29 | 2012-07-03 | Yahoo! Inc. | Method and system for determining near duplicate images |
US8818024B2 (en) | 2009-03-12 | 2014-08-26 | Nokia Corporation | Method, apparatus, and computer program product for object tracking |
US8538986B2 (en) | 2009-07-30 | 2013-09-17 | Intellectual Ventures Fund 83 Llc | System for coordinating user images in an artistic design |
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 |
FR2951839B1 (fr) | 2009-10-23 | 2021-06-11 | Commissariat Energie Atomique | Methode pour evaluer la ressemblance d'un objet requete a des objets de reference |
CN103366178B (zh) | 2012-03-30 | 2017-12-29 | 北京百度网讯科技有限公司 | 一种用于对目标图像进行颜色分类的方法与设备 |
US8860744B2 (en) | 2012-03-30 | 2014-10-14 | Sharp Laboratories Of America, Inc. | System for image enhancement |
CN103870798B (zh) | 2012-12-18 | 2017-05-24 | 佳能株式会社 | 对象检测方法、对象检测设备以及图像拾取设备 |
US9064149B1 (en) | 2013-03-15 | 2015-06-23 | A9.Com, Inc. | Visual search utilizing color descriptors |
US9262441B2 (en) | 2013-05-09 | 2016-02-16 | Idée Inc. | Wildcard color searching |
US20150169142A1 (en) | 2013-12-16 | 2015-06-18 | Co Everywhere, Inc. | User interface for providing geographically delineated content |
US9619488B2 (en) | 2014-01-24 | 2017-04-11 | Microsoft Technology Licensing, Llc | Adaptable image search with computer vision assistance |
US9183641B2 (en) | 2014-02-10 | 2015-11-10 | State Farm Mutual Automobile Insurance Company | System and method for automatically identifying and matching a color of a structure's external surface |
US9720934B1 (en) | 2014-03-13 | 2017-08-01 | A9.Com, Inc. | Object recognition of feature-sparse or texture-limited subject matter |
US10120880B2 (en) | 2014-06-26 | 2018-11-06 | Amazon Technologies, Inc. | Automatic image-based recommendations using a color palette |
US10146751B1 (en) | 2014-12-31 | 2018-12-04 | Guangsheng Zhang | Methods for information extraction, search, and structured representation of text data |
CN104821000B (zh) | 2015-05-22 | 2017-12-22 | 京东方科技集团股份有限公司 | 颜色辨识系统、颜色辨识方法和显示装置 |
US10410096B2 (en) | 2015-07-09 | 2019-09-10 | Qualcomm Incorporated | Context-based priors for object detection in images |
US20170017696A1 (en) | 2015-07-14 | 2017-01-19 | Microsoft Technology Licensing, Llc | Semantic object tagging through name annotation |
US9852492B2 (en) | 2015-09-18 | 2017-12-26 | Yahoo Holdings, Inc. | Face detection |
US10192129B2 (en) | 2015-11-18 | 2019-01-29 | Adobe Systems Incorporated | Utilizing interactive deep learning to select objects in digital visual media |
US9858496B2 (en) | 2016-01-20 | 2018-01-02 | Microsoft Technology Licensing, Llc | Object detection and classification in images |
US10942642B2 (en) | 2016-03-02 | 2021-03-09 | Airwatch Llc | Systems and methods for performing erasures within a graphical user interface |
US9972092B2 (en) | 2016-03-31 | 2018-05-15 | Adobe Systems Incorporated | Utilizing deep learning for boundary-aware image segmentation |
US10511846B1 (en) | 2016-09-01 | 2019-12-17 | Google Llc | Real-time adaptive video denoiser with moving object detection |
US10606887B2 (en) | 2016-09-23 | 2020-03-31 | Adobe Inc. | Providing relevant video scenes in response to a video search query |
US10424064B2 (en) | 2016-10-18 | 2019-09-24 | Adobe Inc. | Instance-level semantic segmentation system |
US10346727B2 (en) | 2016-10-28 | 2019-07-09 | Adobe Inc. | Utilizing a digital canvas to conduct a spatial-semantic search for digital visual media |
US10319412B2 (en) | 2016-11-16 | 2019-06-11 | Adobe Inc. | Robust tracking of objects in videos |
US10713794B1 (en) | 2017-03-16 | 2020-07-14 | Facebook, Inc. | Method and system for using machine-learning for object instance segmentation |
US10216766B2 (en) | 2017-03-20 | 2019-02-26 | Adobe Inc. | Large-scale image tagging using image-to-topic embedding |
US10496880B2 (en) | 2017-06-27 | 2019-12-03 | Canon Kabushiki Kaisha | Method and apparatus for comparing objects in images |
US10430649B2 (en) * | 2017-07-14 | 2019-10-01 | Adobe Inc. | Text region detection in digital images using image tag filtering |
CN107563494B (zh) | 2017-08-01 | 2020-08-18 | 华南理工大学 | 一种基于卷积神经网络和热图的第一视角指尖检测方法 |
US10657118B2 (en) | 2017-10-05 | 2020-05-19 | Adobe Inc. | Update basis for updating digital content in a digital medium environment |
US10460214B2 (en) | 2017-10-31 | 2019-10-29 | Adobe Inc. | Deep salient content neural networks for efficient digital object segmentation |
US10740647B2 (en) | 2018-03-14 | 2020-08-11 | Adobe Inc. | Detecting objects using a weakly supervised model |
US11120070B2 (en) | 2018-05-21 | 2021-09-14 | Microsoft Technology Licensing, Llc | System and method for attribute-based visual search over a computer communication network |
US10692221B2 (en) | 2018-07-13 | 2020-06-23 | Adobe Inc. | Automatic trimap generation and image segmentation |
CN112740196A (zh) | 2018-09-20 | 2021-04-30 | 华为技术有限公司 | 基于知识管理人工智能系统中的识别模型 |
US10970603B2 (en) | 2018-11-30 | 2021-04-06 | International Business Machines Corporation | Object recognition and description using multimodal recurrent neural network |
US10832096B2 (en) | 2019-01-07 | 2020-11-10 | International Business Machines Corporation | Representative-based metric learning for classification and few-shot object detection |
US20200250538A1 (en) | 2019-02-01 | 2020-08-06 | Google Llc | Training image and text embedding models |
US11080558B2 (en) | 2019-03-21 | 2021-08-03 | International Business Machines Corporation | System and method of incremental learning for object detection |
US11126890B2 (en) | 2019-04-18 | 2021-09-21 | Adobe Inc. | Robust training of large-scale object detectors with a noisy dataset |
US11182408B2 (en) | 2019-05-21 | 2021-11-23 | Microsoft Technology Licensing, Llc | Generating and applying an object-level relational index for images |
US11302033B2 (en) | 2019-07-22 | 2022-04-12 | Adobe Inc. | Classifying colors of objects in digital images |
US11107219B2 (en) | 2019-07-22 | 2021-08-31 | Adobe Inc. | Utilizing object attribute detection models to automatically select instances of detected objects in images |
US20230128276A1 (en) * | 2021-10-23 | 2023-04-27 | Adobe Inc. | Managing artificial-intelligence derived image attributes |
-
2019
- 2019-07-22 US US16/518,850 patent/US11468550B2/en active Active
-
2020
- 2020-04-03 CN CN202010261241.7A patent/CN112287187A/zh active Pending
- 2020-04-03 DE DE102020002153.0A patent/DE102020002153A1/de active Pending
- 2020-04-17 AU AU2020202601A patent/AU2020202601B2/en active Active
-
2022
- 2022-08-15 US US17/819,845 patent/US20220392046A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160342863A1 (en) * | 2013-08-14 | 2016-11-24 | Ricoh Co., Ltd. | Hybrid Detection Recognition System |
US20150170005A1 (en) * | 2013-12-16 | 2015-06-18 | Adobe Systems Incorporated | Semantic object selection |
US20190019318A1 (en) * | 2017-07-14 | 2019-01-17 | Synapse Technology Corporation | Generating Graphical Representations of Scanned Objects |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113657415A (zh) * | 2021-10-21 | 2021-11-16 | 西安交通大学城市学院 | 一种面向示意图的对象检测方法 |
Also Published As
Publication number | Publication date |
---|---|
AU2020202601B2 (en) | 2022-02-10 |
DE102020002153A1 (de) | 2021-01-28 |
AU2020202601A1 (en) | 2021-02-11 |
US20220392046A1 (en) | 2022-12-08 |
US11468550B2 (en) | 2022-10-11 |
US20210027448A1 (en) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797847B2 (en) | Selecting instances of detected objects in images utilizing object detection models | |
US11468550B2 (en) | Utilizing object attribute detection models to automatically select instances of detected objects in images | |
US11055566B1 (en) | Utilizing a large-scale object detector to automatically select objects in digital images | |
US11631234B2 (en) | Automatically detecting user-requested objects in images | |
US11341366B2 (en) | Cross-modality processing method and apparatus, and computer storage medium | |
US11886494B2 (en) | Utilizing natural language processing automatically select objects in images | |
US11106944B2 (en) | Selecting logo images using machine-learning-logo classifiers | |
CN105493078B (zh) | 彩色草图图像搜索 | |
US11392659B2 (en) | Utilizing machine learning models to generate experience driven search results based on digital canvas gesture inputs | |
US11574392B2 (en) | Automatically merging people and objects from multiple digital images to generate a composite digital image | |
US11423206B2 (en) | Text style and emphasis suggestions | |
GB2585972A (en) | Utilizing object attribute detection models to automatically select instances of detected objects in images | |
US20230080407A1 (en) | Generating and utilizing a digital knowledge graph to provide contextual recommendations in digital content editing applications | |
Boroujerdi et al. | Deep interactive region segmentation and captioning | |
US11972569B2 (en) | Segmenting objects in digital images utilizing a multi-object segmentation model framework | |
US20220237799A1 (en) | Segmenting objects in digital images utilizing a multi-object segmentation model framework | |
US20230325996A1 (en) | Generating composite images using user interface features for auto-compositing and composite-aware search | |
GB2587829A (en) | Automatically detecting user-requested objects in images | |
US20230419571A1 (en) | Generating unified embeddings from multi-modal canvas inputs for image retrieval | |
US20230418861A1 (en) | Generating embeddings for text and image queries within a common embedding space for visual-text image searches | |
US20240004924A1 (en) | Retrieving digital images in response to search queries for search-driven image editing | |
US20230325991A1 (en) | Recommending objects for image composition using a geometry-and-lighting aware neural network | |
US20230325992A1 (en) | Recommending objects for image composition using geometry-and-lighting aware search and efficient user interface workflows |
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 |