CN109146074B - 图像对象识别 - Google Patents
图像对象识别 Download PDFInfo
- Publication number
- CN109146074B CN109146074B CN201810272065.XA CN201810272065A CN109146074B CN 109146074 B CN109146074 B CN 109146074B CN 201810272065 A CN201810272065 A CN 201810272065A CN 109146074 B CN109146074 B CN 109146074B
- Authority
- CN
- China
- Prior art keywords
- objects
- neural network
- deep neural
- image
- determining
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/255—Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
包括在计算机存储介质上编码的计算机程序的方法、系统和装置,用于识别图像中的对象子类型。这些方法中的一种方法包括:接收训练数据;选择图像的训练数据;确定是否随机置换选定图像的特性的值;向深度神经网络提供特定训练数据或经随机置换的特定训练数据;从深度神经网络接收输出数据,该输出数据指示选定图像中描绘的对象的对象子类型的预测标签、以及表示对象具有对象子类型的可能性的置信度分数;使用期望输出值、预测标签和置信度分数,来更新深度神经网络中的一个或多个权重;以及向移动设备提供深度神经网络,以用于检测一个或多个图像是否描绘具有特定对象子类型的对象。
Description
相关申请的交叉应用
本申请要求于2017年6月28日提交的美国临时申请号62/526,082的权益,其内容通过引用并入本文。
背景技术
一些移动设备包括集成相机。这些移动设备允许用户使用集成相机来捕获图像。例如,移动设备可以允许用户捕获景观或城市街道的图像。
一些图像分析系统(例如,在服务器上执行的)可以对图像执行对象识别以检测图像中描绘的对象。例如,图像分析系统可以确定图像中描绘的对象是人、树、还是狗。
发明内容
移动设备可以识别图像中描绘的特定对象,诸如特定类型的苏打瓶、特定类型的瓶装水、或特定类型的树。移动设备使用深度神经网络,可能无需从另一台计算机请求数据,以分析图像并且确定图像中描绘的特定对象。比如,移动设备可以确定图像中描绘的特定苏打瓶是否是一瓶可口可乐或健怡可乐。在另一示例中,移动设备可以确定图像中描绘的特定树是欧亚槭(即,美国梧桐)或者是挪威槭(即,挪威枫树)。
移动设备可以使用深度神经网络例如以使深度神经网络对于在不同环境中捕获的图像更加鲁棒,该深度神经网络使用输入数据集的随机变换来训练。例如,训练系统可以使用三百到五百个训练图像,这些训练图像描绘了将要训练深度神经网络的特定类型的对象。训练系统可以将监督学习与训练图像的随机变换一起用来训练深度神经网络。随机变换可以包括对图像中的光的改变、图像中描绘的光或者对象的抖动、图像中的颜色、图像的方位、图像中描绘的对象的大小、或者这些项中的两项或更多项的组合。训练系统可以通过调整图像中描绘的环境光量(例如,从晴天到阴天)或基于另一光量来改变照明。训练系统可以改变对象的颜色,诸如树叶的黑暗、例如由处于阴影中的苏打瓶引起的苏打瓶上的红色的深度或阴影、或者包括在图像中的另一种颜色。训练系统可以通过旋转图像来改变对象的方位,例如,五度或十度。训练系统可以通过裁剪图像以减小对象的大小与图像中描绘的总内容之间的比例来调整图像中描绘的对象的大小。训练系统可以向图像添加附加内容以增加对象的大小与图像中描绘的总内容之间的比例。
移动设备可以使用深度神经网络来确定特定类型的对象的名称,确定图像中的特定类型的对象的位置、或两者。比如,移动设备可以从深度神经网络接收附加信息并且提供用于呈现的附加信息。附加信息可以指示所描绘的对象的特定类型,诸如对象子类型的名称、关于所描绘对象的特定类型的其他信息(例如,产品信息)、或两者。在一些示例中,移动设备可以向服务器提供关于特定类型的对象、特定类型的对象的位置、或两者的数据。服务器可以使用该数据来确定库存信息、库存顺从性信息(例如,用于对象放置)、或二者。
在一些示例中,移动设备在不使用条形码的情况下确定特定类型的对象。比如,移动设备不需要捕获包括对象上的条形码的图像,以使用深度神经网络来确定对象子类型。
一般而言,本说明书中描述的主题的一个创新方面可以在包括以下动作的方法中体现:在深度神经网络训练系统处接收表示多个图像的训练数据,该多个图像描绘具有对象子类型的对象,并且深度神经网络训练系统用以训练深度神经网络,以识别多个图像中描绘的对象中的一个对象的对象子类型,其中用于描绘多个图像中的对应对象的多个对象子类型各自与同一对象类型相对应;对于多次迭代:选择针对来自多个图像中的一个图像的特定训练数据;确定是否随机置换由特定训练数据表示的选定图像的特性的值;向深度神经网络提供选定图像的特定训练数据、或选定图像的经随机置换的特定训练数据;从深度神经网络接收输出数据,该输出数据指示:预测标签,该预测标签针对选定图像中描绘的对象的特定对象子类型,以及置信度分数,该置信度分数表示选定图像中描绘的对象具有特定对象子类型的可能性;以及使用以下项来更新深度神经网络中的一个或多个权重:期望输出值、针对特定对象子类型的预测标签、以及置信度分数,该期望输出值指示选定图像中描绘的对象的实际对象子类型标签,该置信度分数表示选定图像中描绘的对象具有特定对象子类型的可能性;以及向移动设备提供深度神经网络,以用于检测一个或多个图像是否描绘具有特定对象子类型的对象。该方面的其他实施例包括在一个或多个计算机存储设备上记录的对应的计算机系统、装置和计算机程序,各自被配置为执行方法的动作。一个或多个计算机的系统可以被配置为借助于在系统上安装软件、固件、硬件或它们的组合来执行特定操作或动作,该软件、固件、硬件或它们的组合在操作中使得系统执行动作。一个或多个计算机程序可以被配置为借助于包括指令来执行特定操作或动作,该指令当通过数据处理装置执行时使得装置执行动作。
一般而言,本说明书中描述的主题的一个创新方面可以在包括以下动作的方法中体现:接收表示多个图像的训练数据,该多个图像描绘具有对象子类型的对象,并且深度神经网络训练系统用以训练深度神经网络,以识别多个图像中描绘的对象中的一个对象的对象子类型,其中用于描绘多个图像中的对应对象的多个对象子类型各自与同一对象类型相对应;对于多次迭代:选择针对来自多个图像中的一个图像的特定训练数据;确定是否随机置换由特定训练数据表示的选定图像的特性;向深度神经网络提供选定图像的特定训练数据、或选定图像的经随机置换的特定训练数据;从深度神经网络接收输出数据,该输出数据指示:预测标签,该预测标签针对选定图像中描绘的对象的特定对象子类型;位置信息,该位置信息定义其中可能描绘对象的选定图像的区域;以及置信度分数,该置信度分数表示对象存在于由位置信息定义的选定图像的区域中的可能性;以及使用以下项来更新深度神经网络中的一个或多个权重:期望输出值、针对特定对象子类型的预测标签、以及置信度分数,该期望输出值指示选定图像中描绘的对象的实际对象子类型标签,该置信度分数表示选定图像中描绘的对象具有特定对象子类型的可能性;以及向移动设备提供深度神经网络,以用于检测一个或多个图像是否描绘具有特定对象子类型的对象。该方面的其他实施例包括在一个或多个计算机存储设备上记录的对应的计算机系统、装置和计算机程序,各自被配置为执行方法的动作。一个或多个计算机的系统可以被配置为借助于在系统上安装软件、固件、硬件或它们的组合来执行特定操作或动作,该软件、固件、硬件或它们的组合在操作中使得系统执行动作。一个或多个计算机程序可以被配置为借助于包括指令来执行特定操作或动作,该指令当通过数据处理装置执行时使得装置执行动作。
一般而言,本说明书中描述的主题的一个创新方面可以在包括以下动作的方法中体现:接收描绘多个对象的图像的数据;向深度神经网络提供数据以使得深度神经网络预测多个对象中的每个对象的对象子类型标签;针对多个对象中的一些对象,从深度神经网络接收输出数据,该输出数据表示指示对象的可能对象子类型的子类型标签、以及指示对象在图像中的位置的对象位置;以及使用多个对象中的一些对象的输出数据来生成图像的表示,该图像的表示对于多个对象中的一些对象指示对象在图像中的位置、以及指示对象的可能对象子类型的子类型标签。该方面的其他实施例包括在一个或多个计算机存储设备上记录的对应的计算机系统、装置和计算机程序,各自被配置为执行方法的动作。一个或多个计算机的系统可以被配置为借助于在系统上安装软件、固件、硬件或它们的组合来执行特定操作或动作,该软件、固件、硬件或它们的组合在操作中使得系统执行动作。一个或多个计算机程序可以被配置为借助于包括指令来执行特定操作或动作,该指令当通过数据处理装置执行时使得装置执行动作。
前述和其他实施例可以可选地各自单独地或组合地包括以下特征中的一个或多个特征。更新深度神经网络中的一个或多个权重可以包括:针对来自多个图像的两个或更多个图像中的每个图像,使用相应的期望输出值、特定对象子类型的相应的预测标签、以及相应的置信度分数,来更新深度神经网络中的一个或多个权重。从深度神经网络接收输出数据,该输出数据指示选定图像中描绘的对象的特定对象子类型的预测标签、以及表示选定图像中描绘的对象具有特定对象子类型的可能性的置信度分数,可以包括:从深度神经网络接收指示对象在选定图像中的预测位置的输出数据。更新深度神经网络中的一个或多个权重可以包括:使用期望输出值、特定对象子类型的预测标签、相应的置信度分数、对象在选定图像中的实际位置、以及对象在选定图像中的预测位置,来更新深度神经网络中的一个或多个权重。确定是否随机置换由特定训练数据表示的选定图像的特性的值可以包括:确定是否随机执行以下各项中的一项或多项:修剪选定图像的一部分;调整选定图像的至少一部分的变焦水平;调整选定图像的至少一部分的拉伸值;将选定图像转置于轴线上;调整选定图像中描绘的至少一种颜色;调整选定图像的至少一部分的阿尔法抖动;调整选定图像的至少一部分的剪切变形;或调整选定图像的至少一部分的单应性。
在一些实现方式中,每次迭代可以包括:从若干个图像中选择两个或更多个图像。确定是否随机置换由特定训练数据表示的选定图像的特性的值可以包括:对于每次迭代,从选定的两个或更多个图像中选择一个或多个特定图像;以及针对一个或多个特定图像中的每个特定图像,确定随机置换的特性。置信度分数可以是对象置信度分数或标签置信度分数。从深度神经网络接收输出数据,该输出数据指示选定图像中描绘的对象的特定对象子类型的预测标签、以及表示对象存在于由位置信息定义的选定图像的区域中的可能性的置信度分数,可以包括:从深度神经网络接收输出数据,该输出数据指示标签置信度分数,该标签置信度分数表示选定图像中描绘的对象具有特定对象子类型的可能性。更新深度神经网络中的一个或多个权重可以包括:使用期望输出值、特定对象子类型的预测标签、相应的标签置信度分数、相应的对象置信度分数、对象在选定图像中的实际位置、以及定义其中可能描绘对象的选定图像的区域的位置信息,来更新深度神经网络中的一个或多个权重。
在一些实现方式中,该方法可以包括:确定是否创建图像的数据的、各自包括图像的数据的真子集的多个重叠部分;并且响应于确定创建图像的数据的多个重叠部分,创建图像的数据的多个重叠部分。向深度神经网络提供数据以使得深度神经网络预测多个对象中的每个对象的对象子类型标签可以包括:向深度神经网络分别提供多个重叠部分中的每个重叠部分的数据。该方法可以包括:针对多个对象中的一些对象,接收指示对象具有对象子类型的可能性的对应置信度分数。确定是否创建图像的数据的、各自包括图像的数据的真子集的多个重叠部分可以包括:针对置信度分数中的每个置信度分数,确定对应的置信度分数是否满足阈值置信度分数。创建图像的数据的多个重叠部分可以是响应于确定置信度分数中的至少一个置信度分数不满足阈值置信度分数。确定是否创建图像的数据的、各自包括图像的数据的真子集的多个重叠部分可以包括:确定当前处理持续时间是否满足阈值处理持续时间。创建图像的数据的多个重叠部分可以是响应于确定当前处理持续时间满足阈值处理持续时间。
在一些实现方式中,该方法可以包括:针对多个对象中的一些对象,接收指示对象具有对应对象子类型的可能性的对应置信度分数;以及针对对象的至少一些对象,使用对应的置信度分数来确定是否使用与深度神经网络不同的消歧深度神经网络以确定对象的对象子类型标签。针对多个对象中的一些对象、接收指示该对象具有对应对象子类型的可能性的对应置信度分数,可以包括:针对多个对象中的一些对象,接收多个对应的置信度分数,该多个对应的置信度分数中的每一个指示该对象具有针对其训练深度神经网络的对象子类型的可能性。针对对象中的至少一些对象、使用对应的置信度分数来确定是否使用与深度神经网络不同的消歧深度神经网络、以确定对象的对象子类型标签,可以包括:针对对象中的至少一些对象,确定对应的置信度分数中的两个对应的置信度分数是否均满足阈值置信度分数。针对多个对象中的一些对象、接收指示该对象具有对应对象子类型的可能性的对应的置信度分数,可以包括:针对多个对象中的一些对象,接收多个对应的置信度分数,该多个对应的置信度分数中的每一个指示该对象具有针对其训练深度神经网络的对象子类型的可能性。针对对象中的至少一些对象、使用对应的置信度分数来确定是否使用与深度神经网络不同的消歧深度神经网络、以确定对象的对象子类型标签,可以包括:针对对象中的至少一些对象,确定对应的置信度分数中的两个对应的置信度分数是否在彼此的阈值距离内。
在一些实现方式中,针对多个对象中的一些对象、从深度神经网络接收表示指示对象的可能对象子类型的子类型标签、以及指示对象在图像中的位置的对象位置的输出数据可以包括:针对多个对象中的一些对象,接收指示对象具有对象子类型的可能性的对应的置信度分数。针对多个对象中的一些对象、使用输出数据来生成针对多个对象中的一些对象指示对象在图像中的位置、以及指示对象的可能对象子类型的子类型标签的图像的表示可以包括:确定置信度分数中的至少一个置信度分数不满足阈值置信度分数;确定当前处理时间超过阈值处理时间;以及响应于确定当前处理时间超过阈值处理时间,尽管确定置信度分数中的至少一个置信度分数不满足阈值置信度分数,但是确定生成图像的表示。
在一些实现方式中,该方法可以包括:使用图像的表示来确定来自多个对象的一个或多个对象的库存;以及使用一个或多个对象的库存,来确定要请求递送到包括图像中描绘的区域的物理位置的若干个对象。接收描绘多个对象的图像的数据可以包括:针对两个或更多个图像中的每个图像,接收相应图像的第一数据;使用两个或更多个图像中的每个图像的第一数据,来确定两个或更多个图像描绘相同的物理内容;以及响应于确定所述两个或更多个图像描绘了相同的物理内容,使用两个或更多个图像中的每个图像的第一数据,来确定通过将两个或更多个图像拼接在一起而描绘多个对象的图像的数据。
本说明书中描述的主题可以在各种实施例中实现并且可以产生以下优点中的一个或多个优点。在一些实现方式中,使用图像特性值的随机变换来训练机器学习系统可以使得机器学习系统更加鲁棒,例如,允许机器学习系统更精确地标识不同环境中的对象。在一些实现方式中,与其他系统相比较,本文档中描述的机器学习系统具有低计算需求。比如,使用深度神经网络允许机器学习系统使用更少的处理器周期、更少的存储器、或两者来确定图像中描绘的特定对象。在一些实现方式中,通过设备使用在本文档中描述的深度神经网络可以减少计算时间,例如,通过消除从服务器请求对象分析的需要。例如,针对来自服务器的结果,设备可以使用深度神经网络在几秒内或更少(例如,半秒)而非等待几分钟(例如,五分钟到十分钟)来确定对象子类型。使用下文所描述的系统和方法的设备可以捕获多个图像并且确定每个图像中描绘的对象的对象子类型标签,而不依赖于:a)网络带宽,b)服务器上的活动请求的数目,c)可以由系统来标识的对象子类型的数目,或d)这些项中的两项或更多项的组合。
在一些示例中,与其他技术相比较,使用深度神经网络可能需要较少的功率、减少或消除网络带宽使用、减少或消除多个设备(例如,用户设备和服务器)之间的通信、或者这些项中的两项或更多项的组合。例如,与当运行常规处理技术时的设备操作相比较(例如,其可能需要与服务器通信),当深度神经网络在移动设备上运行时,本发明实施例所提供的功率节省可以允许设备操作更长的时间段。在一些实现方式中,下文所描述的系统和方法可以例如通过不向服务器发送设备所捕获的数据以供分析来增加安全性、隐私性或两者。比如,下文所描述的系统和方法可以仅使用用户设备来处理图像数据,该用户设备可以消除将敏感图像数据发送到服务器的需要、可以提高图像数据的安全性、或两者。在一些实现方式中,与其他系统相比较,下文所描述的系统和方法可以提供对具有不同方位的对象的更好的分析,以多个重叠图像进行表示,或两者。在一些实现方式中,与其他系统相比较,下文描述的系统和方法使用特征提取技术来检测相邻图像、重叠图像(例如,描绘相同内容中的一些内容)、或两者,以增加多个图像中描绘的对象的对象子类型标签的准确性,以减少对象被多次(例如,每个图像一次)标识的可能性,或两者。
在附图和以下描述中对在本说明书中描述的主题的一个或多个实现方式的细节进行阐述。主题的其他特征、方面和优点将从描述、附图和权利要求中变得清楚。
附图说明
图1是训练神经网络以预测图像中描绘的对象的子类型标签的环境的示例。
图2是其中深度神经网络使用图像数据来确定预测的子类型标签的环境的示例。
图3A至图3B是其中深度神经网络确定图像的各部分的预测的子类型标签的环境的示例。
图4是训练深度神经网络的过程的流程图。
图5是生成图像的表示的过程的流程图。
图6是可以结合本文档中描述的计算机实现方法而被使用的计算系统的框图。
各个附图中的相同的附图标记和标号指示相同的元件。
具体实施方式
图1是训练神经网络以预测图像中描绘的对象的子类型标签的环境100的示例。比如,环境100包括训练系统102,其具有一个或多个图像106的训练数据库104。图像106中的每个图像具有多个特性108和对应的特性值,并且可以描绘零个图像、一个图像或多个对象。图像106的特性108的一些示例可以包括颜色、照明、方位、大小等。特性108的数据可以包括对应特性值,该对应特性值标识与图像106相关联的特定颜色或大小。
图像106中描绘的对象中的至少一些对象具有子类型,训练系统102针对该子类型训练深度神经网络116。对于训练系统102针对其训练深度神经网络116的子类型中的每个子类型,可能除了其他输出值之外,深度神经网络116还可以具有输出标签。如本文档中所描述的,由深度神经网络116确定的输出标签可以指示特定子类型名称、对应的子类型名称的置信度分数、两者、或者子类型名称的另一适当类型的数据。
一个类型类别内的对象子类型具有相似的特征,例如,形状。比如,举几个示例,对象类型可以是枫树、桦树、或苏打水。深度神经网络116被训练为将对象标记为一个特定类型的子类型。枫木的对象类型的示例子类型可以包括美国梧桐枫、挪威枫、波斯枫、或银白槭。桦树的示例子类型可以包括黄桦、山纸白桦、矮桦树、或日本樱桃桦。苏打水的示例子类型可以包括健怡可乐、樱桃可口可乐、无咖啡因可口可乐、以及经典可口可乐。
附加于或替代深度神经网络116针对其被训练的子类型的对象,图像106中的一些图像可以包括否定训练示例。深度神经网络116可以具有否定训练示例的输出类别作为“未知”或另一适当的值。当训练系统102训练深度神经网络116以检测不同类型的枫树时,否定训练示例的一个示例可以包括桦树的图像。当训练系统102训练深度神经网络116以检测不同类型的可乐产品时,否定训练示例的一个示例可以包括由另一生产者制作的饮料的图像。
在训练系统102中包括的图像选择模块110从训练数据库104中选择图像以训练深度神经网络116。图像选择模块110可以确定是否随机置换训练过程的图像的一个或多个特性的值。比如,图像选择模块110可以使用任何适当的算法来随机地确定是否置换图像的特性的值。在确定随机置换特性值时,特性选择器112可以确定针对其训练系统102将随机置换对应值的特性。在一些示例中,特性选择器112既确定是否随机置换图像的特性的值,又确定哪个或哪些特性要例如并行地置换对应的值。比如,特性选择器112可以生成随机数。当随机数为零时,特性选择器112可以确定不会随机置换图像的特性的值。当随机数例如不是零时,并且是零和1之间的值时,特性选择器112确定与该随机数相对应的特性。然后,特性选择器112可以随机地置换所确定的特性的值。
置换模块114从特性选择器112接收数据,它们两者都可以被包括在图像选择模块110中,其标识置换的一个或多个特性。针对所标识的一个或多个特性中的每个特性,置换模块114确定该特性的值的随机置换。该特性的值可以针对整个图像、图像的特定部分、或图像的另一部分。比如,当特性是图像中的光量时,置换模块114可以随机地确定是增加还是减小表示图像中的光或图像的一部分中的光的值。当特性是方位时,置换模块114可以随机地确定图像中描绘的内容的旋转角度,并且将图像围绕z轴旋转由旋转角度标识的量。z轴可以以图像的中心为中心。在一些示例中,置换模块114可以随机地确定图像中z轴的中心的位置,围绕该z轴的中心旋转图像中描绘的内容。
当特性是大小时,置换模块114可以随机地确定图像中描绘的特定对象的大小值的改变、图像中描绘的多个对象的大小值的改变、或整个图像的大小值的改变。比如,置换模块114可以确定增大或减小图像、或仅图像中描绘的一个或多个对象的整个大小的标度值,并且因而使用该标度值来调整对应的内容。
当特性是图像中的颜色时,置换模块114可以确定如何改变表示图像的颜色的值。例如,特性选择器112可以选择图像中的特定颜色的值、或者仅确定图像中的颜色中的一种颜色应当被随机置换。当置换模块114接收标识特定颜色的值的数据时,置换模块114可以随机地确定颜色的值的调整。仅举几个示例,对颜色值的调整可以是对色彩、色度、饱和度、色调、明暗度或色泽的改变。当置换模块114接收到指示颜色应当被随机置换的数据时,置换模块114可以确定是否随机置换图像中描绘的所有颜色、图像中描绘的颜色的真子集(例如,一些但非全部颜色)、图像中描绘的一种颜色(例如,该颜色的所有出现)、颜色的单次出现、或图像的特定区域中描绘的颜色。
当特性是图像中的抖动时,置换模块114可以确定如何改变表示图像中的抖动的一个或多个值。比如,训练系统102可以确定调整抖动相位的强度的值、抖动相位的频率的值、图像中的单个抖动相位的值、多个抖动相位的值、或者这些项中的两项或更多项的组合。在一些示例中,训练系统102可以具有抖动参数的多个超参数,例如,一个针对频率,一个针对强度。这些超参数的值可以是0和1之间(即,在区间[0,1]中)的数字。训练系统102(例如,置换模块114)可以生成每个抖动相位的[0,1]中的随机数。抖动相位的一些示例可以包括颜色抖动、抖动色调、抖动光度、垂直翻转、随机修剪、随机变焦、随机缩放、其他抖动相位、或者这些项中的两项或更多项的组合。训练系统102可以生成特定训练图像的每个抖动相位的随机数,以生成在训练期间使用的不同图像(例如,针对每个训练步骤)的不同的随机抖动组合。
训练系统102使用随机数来调整抖动相位。例如,当随机数表示随机变焦的值时,值1可以指示没有变焦,值0可以指示图像的最大变焦值,例如,图像中描绘的一个对象或所有对象的大小的最大增加。当随机数表示随机缩放的值时,值1可以指示无缩放,而值0可以指示图像的大小的最大减小,例如,图像中描绘的一个对象或所有对象的大小的最大减小。
训练系统102可以确定图像的一部分(例如,其不包括整个图像、整个图像、或两者)的抖动相位的随机置换,例如,当确定不同的抖动相位的多个不同的随机置换时。比如,训练系统102可以确定抖动掩模以应用于图像中的一个或多个像素。抖动掩模允许训练系统102确定图像中的像素的子集(与图像的另一子集中的像素分开)的抖动值的随机置换。抖动掩模可以允许训练系统稍微不同地改变图像中的每个像素。例如,使用抖动掩模可以允许训练系统102移位图像中的颜色并且改变相邻像素之间的相对颜色距离、光度距离、或两者。
在一些实现方式中,抖动的超参数是预先确定的,例如,超参数可以是固定的、先验确定的、或两者。给定对象子类型(例如,训练数据集),可以预先确定超参数。例如,当训练系统102正在训练深度神经网络116以标识当在图像中描绘时通常较小的对象子类型时,超参数可能将不包括缩小选项,例如,由于小对象对于深度神经网络116在缩小之后可能更难以检测。
训练系统102可以使用任何适当的过程来确定是否随机置换图像的特性的值。比如,训练系统102的单个部件可以确定是否随机置换特性的值、置换何种特性值、以及如何置换该特性的值。
图像选择模块110或训练系统102中的另一模块确定图像数据,其表示作为输入提供给深度神经网络116的选定图像。表示选定图像的图像数据包括图像的特性108的任何置换值(例如,针对由置换模块114执行的对图像的任何置换)的数据。图像数据可以是表示该图像的任何适当类型的数据。在一些实现方式中,图像数据可以是表示图像的一部分的矢量。图像的该部分可以是图像的行、列或另一矩形区域,例如,正方形。在一些实现方式中,图像数据可以是表示选定图像的一部分或全部的矩阵。比如,图像选择模块110可以从图像中选择像素网格,确定表示像素网格的矩阵,并且向深度神经网络116提供矩阵作为输入。
深度神经网络116接收图像数据,并且针对图像中描绘的对象确定对象的至少一个预测子类型标签,针对该至少一个预测子类型标签深度神经网络116被训练。预测子类型标签指示至少具有作为对象的名称的阈值可能性的对象的标签。比如,当训练系统102训练深度神经网络116以确定不同枫树子类型的标签时,深度神经网络116可以确定特定图像描绘深度神经网络116针对其未被训练的两个美国梧桐枫、挪威枫和一个或多个对象。深度神经网络116可以确定对象中的每个对象的通用标签(例如,指示对象未知的标签),深度神经网络116针对该每个对象的通用标签未被训练。
深度神经网络116可以包括一个或多个卷积神经网络(CNN)层、一个或多个卷积滤波器、或两者。比如,深度神经网络中的第一卷积层可以接收图像数据作为输入。第一卷积层可以处理图像数据并且生成输出。第一卷积层可以向第二卷积层提供所生成的输出,该第二卷积层使用所生成的输出作为输入数据。
针对图像中描绘的对象中的至少一些对象,深度神经网络116可以置信度分数,该置信度分数确定指示对象具有对应的子类型标签的可能性。在一些示例中,深度神经网络116可以例如在训练过程期间接收标识一个或多个锚箱的数据的数据。例如,当确定预测子类型标签时,深度神经网络116可以使用锚箱的数据作为图像分析期间的参数。在一些示例中,深度神经网络116可以从k均值模块接收锚箱的数据。k均值模块可以通过训练集合的数据作为输入数据使用k均值算法来确定锚箱。锚箱可以是不同的尺寸、不同的形状、或两者。在一些实现方式中,锚箱是矩形的。在一些实现方式中,k均值模块可以选择九个锚箱并且向针对九个锚箱的深度神经网络116提供数据。锚箱的数据可以是标识图像中的相应箱的位置数据。位置数据可以是x-y坐标、x-y坐标对、具有宽度和高度的x-y坐标、或其他适当的位置数据。深度神经网络116可以在使用图像106的数据训练之前接收锚箱数据。例如,深度神经网络116可以仅接收训练过程的单个锚箱数据集,并且在整个训练过程和运行时间期间使用相同的锚箱数据。
在一些实现方式中,深度神经网络116可以是检测器。比如,深度神经网络116可以输出多个值,每个值与图像中的对应位置相关联。值集合可以包括以下各项中的一项或多项:位置信息、预测子类型标签、或一者或多者。置信度分数可以指示对象存在于由对应的位置信息标识的图像的对应区域中的可能性。在一些示例中,置信度分数可以指示区域中的对象具有对应的预测子类型标签的可能性。在一些实现方式中,图像中的特定区域的输出值集合可以包括位置信息、预测子类型标签、对象置信度分数(例如,指示对象存在于特定区域的可能性)、以及标签置信度分数(例如,指示对象具有由预测子类型标签标识的子类型的可能性)。
在一些实现方式中,深度神经网络116可以针对对象而输出对象子类型中的每个对象子类型(深度神经网络116针对该对象子类型被训练)的相应置信度分数、未知对象子类型的置信度分数、或两者。比如,当深度神经网络116被训练以标识九个不同对象子类型的对象时,深度神经网络116可以针对图像中描绘的对象而输出具有十个值的向量,其中一个值与九个不同的对象子类型中的每个对象子类型相对应,并且其中一个与未知对象子类型标签相对应。
当置信度分数中的一个置信度分数满足阈值置信度分数时,训练系统102可以确定置信度分数的相应预测对象子类型标签适用于对应对象。当没有一个置信度分数满足阈值置信度分数时,训练系统102可以确定多个对象可以由对应的图像数据表示,或者确定深度神经网络116否则不能检测到深度神经网络116被训练为与边界箱相对应的子类型的对象。
训练系统102可以丢弃对应的置信度分数(例如,对象置信度分数)不满足阈值置信度分数的区域的输出数据。例如,训练系统102可以丢弃具有低于百分之五十的置信度分数的区域的输出数据。
深度神经网络116可以向训练系统102提供图像中的多个区域的输出数据。训练系统102可以确定由输出数据定义的区域中的任一区域是否重叠。当由输出数据定义的区域中的一些区域重叠时,训练系统可以例如使用非最大抑制来裁剪输出数据中的一些输出数据。例如,在丢弃对应的置信度分数不满足阈值置信度分数的区域的输出数据之后,训练系统102可以从具有最低置信度分数或最高置信度分数的输出数据开始对输出数据执行迭代过程。训练系统102可以将输出数据集合的位置信息与另一输出数据的其他位置信息进行比较,以确定由位置信息定义的区域是否与由另一位置信息定义的另一区域重叠。当训练系统102确定区域重叠时,训练系统102可以标识如被标记以供移除的具有较低置信度分数的区域的输出数据。当训练系统102标记用于移除的区域时,训练系统102确定被标记以供移除的任何其他区域是否应当继续被标记以供移除。比如,训练系统102确定先前被标记以供移除的任何输出数据是否仅定义以下区域:该区域仅与由当前输出数据定义的被标记以供移除的当前区域重叠、还是也与由其他输出数据定义的另一区域重叠。当先前被标记以供移除的输出数据定义的区域仅与训练系统102刚被确定为标记以供移除的当前区域重叠时,训练系统102更新输出数据以不包括被标记以供移除的标签。当先前被标记以供移除的输出数据定义的区域与由其他输出数据(其中至少一个集合未被标记以供移除)定义的多个其他区域重叠时,训练系统102维持输出数据的被标记以供移除的标签。
在分析所有输出数据作为移除标签过程的一部分之后,训练系统102移除被标记以供移除的所有输出数据。训练系统102使用未被移除的输出数据作为深度神经网络116的最终输出,例如,作为预测子类型标签120。
在训练系统102中包括的训练模块118从深度神经网络116接收预测子类型标签120、置信度分数、或两者,并且使用预测子类型标签120的准确度来更新包括在深度神经网络116中的权重。比如,训练模块118确定图像中描绘的对象的预测子类型标签是否正确地指示了对象的子类型(例如,子类型的名称),并且使用该确定的结果来更新深度神经网络116的权重。训练模块118可以使用任何适当的过程来更新深度神经网络116中的权重。比如,训练模块118可以使用监督学习来更新深度神经网络116中的权重。
在一些实现方式中,训练模块118可以使用各批次的图像来更新深度神经网络116中的权重。比如,训练模块118可以从深度神经网络116接收两个或更多个图像(例如,二十个图像)的输出。训练模块118使用两个或更多个图像的输出来确定深度神经网络116中的权重的更新。训练模块使用更新来调整深度神经网络116中的相应权重。
当训练系统102完成对深度神经网络116的训练时,训练系统102可以向设备124提供深度神经网络116或表示深度神经网络116的数据。如下文参照图2和图3A至图3B所更详细地描述的,设备124可以使用深度神经网络116来确定图像中描绘的对象的预测子类型标签。设备124可以将深度神经网络116作为深度神经网络126存储在存储器中。
设备124可以包括被配置为捕获图像的相机128。图像可以描绘多个对象,例如,其中至少一个对象具有深度神经网络126针对其被训练的子类型。设备124可以向深度神经网络126提供图像或图像的数据,以使得深度神经网络针对图像中描绘的对象中的至少一些对象中的每个对象生成相应对象的预测子类型标签。比如,当图像包括具有多棵树的山丘时,深度神经网络126可以生成树木的预测子类型标签、并且跳过山丘的预测子类型标签的生成。当图像包括具有多个瓶装饮料的冷藏器时,深度神经网络126可以生成图像中所描绘的饮料的预测子类型标签、并且跳过冷却器的预测子类型标签的生成。作为确定预测子类型标签的过程的一部分,深度神经网络126可以针对预测子类型标签中的每个预测子类型标签确定置信度分数,该置信度分数指示对应的对象具有预测子类型标签的可能性。比如,深度神经网络126可以生成置信度分数,并且设备124可以使用置信度分数来确定对应的预测子类型标签。
作为训练后的深度神经网络116,深度神经网络126可以跳过具有小于图像中描绘的阈值内容量的对象的预测子类型标签的生成。例如,当图像描绘小于对象(例如,仅树木的树枝或瓶子的盖子)的阈值量时,深度神经网络可以跳过对象的预测子类型标签的生成。
在一些实现方式中,设备124可以在显示器130上呈现关于预测子类型标签的信息。比如,设备124可以生成指令以使得在显示器130上呈现用户界面,该用户界面指示所描绘的图像中的对象中的每个对象(例如,相对于彼此)的位置、对象的预测子类型标签(例如,可能包括“未知对象”标签)、或两者。
训练系统102是被实现为一个或多个位置中的一个或多个计算机上的计算机程序的系统的示例,其中实现了本文档中所描述的系统、部件和技术。设备124可以包括个人计算机、移动通信设备、以及可以通过网络122发送和接收数据的其他设备。设备124可以是固定设备,例如,作为库存系统的一部分。在一些示例中,设备124可以是移动设备,例如,智能手机。网络122(诸如局域网(LAN)、广域网(WAN)、互联网、或其组合)连接设备124和训练系统102。训练系统102可以使用单个服务器计算机或彼此结合操作的多个服务器计算机,其包括例如被部署为云计算服务的远程计算机集合。
下文的表1示出了训练深度神经网络116的示例伪代码。训练系统102可以执行表1中描述的步骤。
在一些实现方式中,训练系统102(例如,图像选择模块110)可以在训练期间预处理由深度神经网络116使用的每个图像的数据。例如,训练系统可以在预处理期间调节每个图像的像素值(例如,通过减去数据集的平均像素值,将图像表示转换为值在0和1之间被标准化的浮动,将图像的大小重新调整为期望输入大小,或者这些项中的两项或更多项的组合)。
在一些实现方式中,如上文更详细地描述的,训练系统102可以可选地对图像数据进行置换。训练系统102可以在一些训练迭代期间执行图像数据置换、在一些训练迭代期间忽略图像置换、或两者。图像置换的一些示例包括图像翻转、变焦、填充、或这些项中的两项或更多项的组合。
图2是其中深度神经网络206使用图像数据202确定预测子类型标签的环境200的示例。系统可以使用具有图像数据的子类型标签来生成图像数据202的表示208。
相机(例如,相机128)捕获描绘物理内容的一个或多个图像。相机可以向特征提取系统(未示出)提供图像的图像数据202。特征提取系统可以使用任何适当的算法来确定由一个或多个图像表示的特征。在一些实现方式中,特征提取系统可以使用定向FAST和旋转BRIEF(ORB)局部特征检测器来确定一个或多个图像中的特征。
特征提取系统可以使用任何适当类型的数据来表示提取的特征。例如,特征提取系统可以使用矢量或其他类型的特征数据来表示提取的特征。
当特征提取系统接收多个图像(例如,两个或更多个图像)的数据时,特征提取系统或另一系统可以分析多个图像以确定是否将多个图像中的一些图像拼接在一起(例如,使用提取的特征)。当多个图像描绘相同的内容(诸如图2所示的自然场景)时,特征提取系统或另一系统可以将多个图像拼接在一起。特征提取系统或其他系统一次只能拼接成对的图像。特征提取系统或其他系统可以将仅具有小于阈值量的重叠内容的图像拼接在一起。例如,特征提取系统或其他系统可以将描绘少于百分之五十的相同内容、少于百分之三十的相同内容、或少于或等于百分之三十的相同内容的两幅图像拼接在一起。
特征提取系统可以使用任何适当的算法来确定是否将多个图像中的一些图像拼接在一起。比如,特征提取系统可以分析相邻图像(例如,在没有中间图像的情况下按时间顺序拍摄的图像)的特征,以确定包括在相邻图像中的两个图像中的特征。特征提取系统可以在存储器中存储标识包括在潜在相邻图像中的特征的数据。特征提取系统可以分析包括在潜在相邻图像中的特征,以确定指示两幅图像是否描绘相同物理内容(例如,相同场景)的邻接性置信度分数。例如,特征提取系统确定第一图像数据202a和第二图像数据202b两者中是否包括特定特征(例如,特征204)。特征提取系统使用确定特定特征是否被包括在第一图像数据202a和第二图像数据202b中以生成第一图像数据202a和第二图像数据202b的邻接性置信度分数的结果。特征提取系统比较邻接性置信度分数和阈值邻接性置信度分数。当邻接性置信度分数不会满足阈值邻接性置信度分数时,特征提取系统可以确定跳过将第一图像数据202a和第二图像数据202b拼接在一起。在一些示例中,特征提取系统可以使用数学图像特征匹配和单应性估计来确定两个图像是否包括相同的特征。
当邻接性置信度分数满足阈值邻接性置信度分数时,特征提取系统可以确定这两个图像是相邻图像、并且将第一图像数据202a与第二图像数据202b拼接在一起。在一些实现方式中,特征提取系统可以针对来自多个图像的每对相邻图像计算单应性矩阵。特征提取系统可以使用单应性矩阵来确定相邻图像相对于彼此的相对位置、捕获相邻图像的相机的相对位置、或两者。捕获相邻图像的相机的相对位置可以是捕获两个图像的相同相机的相对位置、或者相应捕获第一图像和第二图像的两个不同相机的相对位置。特征提取系统使用单应性矩阵在单个平面上投影第一图像的数据和第二图像的数据,以例如创建包括第一图像和第二图像的数据的投影图像。特征提取系统可以使用投影图像来从第一图像数据202a和第二图像数据202b确定包括在投影图像中的特征。
深度神经网络206从特征提取系统接收特征数据,并且确定由特征数据表示的对象的预测子类型标签210a-b。预测子类型标签可以指示深度神经网络206确定的对象子类型名称至少具有表示图像中描绘的对应对象的名称的阈值可能性。深度神经网络206可以是例如检测器,并且生成多个输出数据集合(如参照图1和深度神经网络116所描述的)。比如,深度神经网络206可以向运行时间系统提供多个输出数据集合,该运行时间系统分析置信度分数(例如,对象置信度分数、由位置信息定义的区域、或两者)以确定保持哪些输出数据集合。系统保持的输出数据可以定义可能在图像数据202中描绘的对象的预测子类型标签和对应的位置。
例如,当特征提取系统确定第一图像和第二图像不会描绘相同的物理内容时,深度神经网络206可以从特征提取系统分别接收第一特征数据202a和第二特征数据202b,并且分别分析特征数据。在一些示例中,例如,当特征提取系统确定第一图像和第二图像描绘相同物理内容时,深度神经网络206接收投影图像的特征数据。
深度神经网络206可以确定用于生成接收的特征数据的表示的数据。比如,深度神经网络206可以向用户界面模块提供预测子类型标签210a-b,该用户界面模块生成呈现图像以及预测的子类型标签210a-b的表示208的指令。当子类型标签210a-b包括多个图像的数据时,用户界面模块可以使用预测子类型标签210a-b和投影图像来生成表示208。当子类型标签210a-b仅包括单个图像的数据时,用户界面模块可以使用单个图像的预测子类型标签210a-b和数据来生成表示。
在一些实现方式中,深度神经网络206可以分别处理两个图像的图像数据202a-b。比如,深度神经网络206可以接收第一图像数据202a并且确定第一图像的预测子类型标签。深度神经网络206可以分别接收第二图像数据202b并且确定第二图像的预测子类型标签。
然后,在接收到来自深度神经网络206的输出之后,包括深度神经网络206(例如,训练系统102或运行时间系统)的系统可以确定是否将多个图像中的一些图像拼接在一起。比如,如上文所描述的,系统可以使用特征分析来确定多个图像是否包括相同的特征。
在一些示例中,系统可以确定图像中的两个或更多个图像的输出数据是否标识相同的预测子类型标签。当确定是否将多个图像中的一些图像拼接在一起时,系统可以使用包括在多个图像中的公共对象的图案。例如,系统可以确定从深度神经网络206接收到的两个图像的单独输出数据是否各自都标识美国梧桐枫。当第一图像数据202a的输出数据标识具有美国梧桐枫的预测子类型标签的对象、并且第二图像数据202b的输出数据标识具有美国梧桐枫的预测子类型标签的对象时,系统可以确定两幅图像描绘相同的内容并且将两幅图像拼接在一起。在一些示例中,系统可以仅使用包括两个或更多个对象的图案来确定将两个图像拼接在一起。
在一些实现方式中,系统可以使用图像中描绘的对象的大小来确定是否使用特征分析或预测子类型标签进行图像拼接分析。比如,系统可以确定与总图像大小相比较而言大小比例更大的对象应当使用预测子类型标签进行分析,并且与总图像大小相比较而言大小比例更小的对象应当使用图像特征进行分析。系统可以例如使用预测子类型标签以及当捕获对应图像时距离对象的相机距离,来确定对象的实际大小。当确定图像拼接分析的方法时,系统可以使用该距离。比如,当距离满足阈值时,系统可以使用特征分析来确定是否将两个图像拼接在一起。当距离不满足阈值时,系统可以使用预测子类型标签来确定是否将两个图像拼接在一起。
在一些实现方式中,系统可以使用多种方法来确定是否将两个图像拼接在一起。比如,系统可以首先使用特征分析,然后使用预测子类型标签来确定是否将两个图像拼接在一起。系统可以首先使用预测子类型标签,然后使用特征分析来确定是否将两个图像拼接在一起。当系统使用第一方法(例如,特征分析或预测子类型标签);来确定两个图像不应当被拼接在一起时,系统可以使用第二方法。在一些示例中,在运行时间期间,系统可以例如向用户提供请求输入的提示,该输入指示是否应该将两个图像拼接在一起。响应于接收到指示应该将两个图像拼接在一起的用户输入,系统可以将两个图像拼接在一起。
在一些实现方式中,深度神经网络206可以分析三个或更多个图像的特征数据。比如,特征提取系统可以确定将四个图像、左上图像、右上图像、左下图像和右下图像拼接在一起,以创建投影图像。特征提取系统可以确定从四个图像创建的投影图像的特征数据。深度神经网络206可以接收从四个图像创建的投影图像的特征数据,并且确定预测子类型标签210a-b。
在一些实现方式中,当置信度分数不满足阈值置信度分数、并且特征提取系统确定跳过将第一图像数据202a和第二图像数据202b拼接一起时,特征提取系统可以确定是否生成请求重新获取一个或多个图像的用户提示。例如,特征提取系统或另一系统可以确定图像是否在阈值时间段内被捕获,两个图像的邻接性置信度分数是否满足比阈值邻接性置信度分数更少约束的第二相邻阈值置信度分数、或两者。当特征提取系统确定图像在阈值时间段内被捕获、邻接性置信度分数满足第二阈值邻接性置信度分数、或两者时,特征提取系统生成使得呈现提示用户(例如包括相机128的设备124的用户)重新捕获一个或两个图像的用户界面的指令。用户界面可以描绘请求重新捕获的一个或多个图像。特征提取系统可以分析重新捕获的图像以确定重新捕获的图像是否与任何其他图像(例如,先前拍摄的或包括在重新捕获中的图像)相邻。
在一些实现方式中,当深度神经网络206接收第一图像的特征数据(与第二图像的特征数据分开、或不接收第二图像的特征数据)时,深度神经网络没有确定基本上不在第一图像中描绘的内容的预测子类型标签。比如,深度神经网络206可以确定第一图像中描绘的树木的“挪威枫”210a的预测子类型标签,而无需确定第二图像中描绘的树木的“美国梧桐枫”210b的预测子类型标签。
图3A至图3B是其中深度神经网络310确定图像的各部分的预测子类型标签的环境300的示例。比如,系统可以确定预测子类型标签的一个或多个置信度分数不满足阈值置信度分数。作为响应,系统可以确定将图像分成各部分,以试图并且增加预测子类型标签的置信度分数,例如使得置信度分数满足阈值置信度分数。
系统可以从深度神经网络(例如,图3B所示的深度神经网络310)接收如图3A所示的由图像数据表示的对象的预测子类型标签、以及预测子类型标签中的每个预测子类型标签的对应的置信度分数。置信度分数中的每个置信度分数可以指示由图像数据302表示的相应对象具有对应的预测子类型标签的可能性。深度神经网络可以使用任何适当方法来生成置信度分数。
系统可以比较置信度分数中的一个或多个置信度分数(其各自针对对应的预测子类型标签)与阈值置信度分数,以确定所比较的置信度分数是否满足阈值置信度分数。比如,系统可以比较置信度分数与阈值置信度分数,直到确定所有置信度分数满足阈值置信度分数、或者置信度分数中的至少一个置信度分数不满足阈值置信度分数。当分数大于阈值置信度分数、等于阈值置信度分数、或两者时,分数可以满足阈值置信度分数。在一些示例中,当分数小于阈值置信度分数、等于阈值置信度分数、或两者时,分数可以满足阈值置信度分数。
当系统确定置信度分数中的每个置信度分数满足阈值置信度分数、或者确定至少最小数目的置信度分数满足阈值置信度分数时,系统可以使用图像数据302以及图像中描绘的对象的预测子类型标签,来生成图像的表示。在一些示例中,系统可以生成指示哪个预测子类型标签具有不满足阈值置信度分数的置信度分数的表示。
如图3A所示,当系统确定预测子类型标签的置信度分数不满足阈值置信度分数时,系统可以向高精度图像模块306提供图像数据302。该系统和高精度图像模块306可以是设备124的一部分,例如,其使用深度神经网络来确定图像中描绘的对象的预测子类型标签。该设备可以从训练系统或另一系统中接收高精度图像模块306。
高精度图像模块306分析图像数据302以创建图像数据302的多个图像数据部分308a-d以供深度神经网络310分析。高精度图像模块306可以创建重叠图像数据部分308a-d,每个重叠图像数据部分包括图像数据302的一些图像数据(其也被包括在图像数据部分308a-d中的另一个图像数据部分中)。比如,第一图像数据部分308a包括第一图像数据部分308a的右侧上的图像数据(其也被包括在第二图像数据部分308b中)、并且包括第一图像数据部分308a的底部上的图像数据(其也被包括在第三图像数据部分308c中)。
如图3B所示,系统向深度神经网络310分别提供图像数据部分308a-d。深度神经网络310接收第一图像数据部分308a的数据作为输入。深度神经网络310(例如,深度神经网络116或深度神经网络126)生成作为输出的由第一图像数据部分308a表示的对象的预测子类型标签、预测子类型标签的置信度分数、或两者。深度神经网络310可以生成作为输出的指示其中由第一图像数据部分308a表示的图像中描绘的对象中的每个对象的位置的数据。深度神经网络310接收第二图像数据部分308b的数据作为输入,并且生成对应的输出。深度神经网络310分别处理第三图像数据部分308c的数据和第四图像数据部分308d的数据。深度神经网络310可以以任何适当的顺序分别处理图像数据部分的数据。
系统从深度神经网络310接收输出。系统可以组合不同图像数据部分308a-d的输出、分析图像数据部分308a-d中的每个图像数据部分的输出、或两者。系统可以比较包括在输出中的置信度分数与阈值置信度分数。当系统确定置信度分数满足阈值置信度分数时,系统可以生成包括预测子类型标签的图像的表示312,与预测子类型标签相关联的对象(例如,相对于其他对象)中的每个对象的位置,或两者。在表示312中包括的预测子类型标签可以包括相应对象的子类型名称、相应对象的图像314a-e、或另一类型的标签。
在一些示例中,系统可以使用从深度神经网络310接收的输出数据来生成投影图像,以组合不同图像数据部分308a-d的数据,例如,以生成表示312。例如,系统可以对齐不同图像数据部分308a-d的数据,并且使用对齐的数据来生成表示312。系统可以使用由图像数据部分308a-d表示的对象的位置来确定不同图像数据部分308a-d的对齐。当对象包括苏打水瓶时,系统可以使用对应对象的位置来确定多个对象处在相同架子上,成排地堆叠在彼此的顶部上等等。当对象靠近并且在同一行上时,系统可以确定这些对象在相同架子上。当对象被垂直分组并且相邻对象之间存在间隙(例如,至少阈值量的间隙)时,系统可以确定对象在相邻的架子上。当对象被垂直分组而其间没有间隙或者间隙小于阈值量时,系统可以确定对象被堆叠在彼此的顶部上。在一些实现方式中,系统可以确定深度神经网络310针对其执行分析的对象的类型,并且当生成表示312时使用对象的类型。比如,当对象的类型是枫树时,系统可以确定两棵树大致处于相同水平、并且生成指示树木的根部大致相同的表示。
对象中的每个对象的位置可以由其中在图像中描绘对象的坐标(例如,x-y坐标、或x-y-z坐标、或具有对象的宽度和高度的x-y坐标)、相对于图像中描绘的其他对象的位置(例如,如图3B所示)、或其他适当的位置数据来指示。系统可以使用对象中的每个对象的位置信息(例如,锚箱信息)来自动确定对象相对于彼此的位置、并且动态地生成表示312。对象的宽度和高度可以包括围绕对象的对应锚箱的宽度和高度。比如,x-y坐标可以针对锚箱的左上角或其他适当的角落。
当系统确定置信度分数中的一个置信度分数不满足阈值置信度分数、或者确定预定数目的置信度分数均不满足阈值置信度分数时,系统可以向高精度图像模块306提供图像数据。高精度图像模块306可以生成附加图像数据部分。比如,系统可以确定第一图像数据部分308a、第二图像数据部分308b和第三图像数据部分308c的置信度分数满足阈值置信度分数,但是第四图像数据部分308d的至少一个置信度分数不满足阈值置信度分数。系统可以向高精度图像模块306提供第四图像数据部分308d的数据,以使得高精度图像模块306创建第四图像数据部分的多个图像部分。高精度图像模块306可以创建任何适当数目的重叠图像部分。
在一些实现方式中,在向深度神经网络310发送图像的数据之前,系统可以确定是否创建图像的图像数据的多个部分。比如,高精度图像模块306可以分析图像数据302以确定图像中是否描绘了多个重叠对象。当高精度图像模块306确定在图像中描绘了至少阈值数目的重叠对象时,高精度图像模块306可以确定生成图像数据302的多个重叠图像部分。当高精度图像模块306确定图像中没有描绘至少阈值数目的重叠对象时,系统可以向深度神经网络310提供图像数据302以供分析。在确定图像中没有可能描绘至少阈值数目的重叠对象、并且向深度神经网络310提供图像数据302之后,系统可以稍后确定创建图像数据302的多个图像部分,例如,当使用图像数据302由深度神经网络310生成的置信度分数中的一些置信度分数作为输入不满足阈值置信度分数时。
在一些实现方式中,当确定是否创建图像数据的多个重叠图像部分时,系统可以使用以下各项中的一项或多项的组合:置信度分数、图像中描绘的对象的可能重叠、或图像中描绘的对象的大小。大小可以是图像中描绘的对象的平均大小。
比如,当系统(例如,高精度图像模块306)确定图像中描绘的对象的大小小于图像的大小的三分之一时,高精度图像模块306可以确定创建多个重叠部分。在一些示例中,当图像中描绘的确定的对象的平均大小小于图像的大小的三分之一时,高精度图像模块306可以确定创建多个重叠部分。图像的大小可以基于图像的高度、宽度、或两者。所确定的对象可以是被确定为可能包括在图像中而没有确定对象的子类型标签的对象。
在一些实现方式中,系统可以当确定是否创建图像数据的多个重叠部分时使用总的当前处理持续时间。比如,系统可以比较总的当前处理持续时间与阈值处理持续时间,该总的当前处理持续时间例如基于当前时间与系统接收图像数据的时间之间的差来指示。当系统确定总的当前处理持续时间满足(例如,大于、或等于、或两者)阈值处理持续时间时,系统可以确定当已经生成多个重叠部分时,跳过生成多个重叠部分或附加多个重叠部分。当系统确定总的当前处理持续时间不满足(例如,小于、或等于、或两者)阈值处理持续时间时,系统可以确定当已经生成多个重叠部分时,生成多个重叠部分或生成附加的多个重叠部分。
深度神经网络310可以生成指示对应对象是未知的标签。例如,当使用否定训练数据来训练深度神经网络310时,否定训练数据中描绘的对象可以分别与“未知对象”标签相关联,例如以指示这些对象不是深度神经网络310针对其正在被训练的子类型的对象。
当分析图像数据时,深度神经网络310可以针对对象中的一些对象确定对象是未知的置信度分数。当未知标签的置信度分数高于深度神经网络310针对其被训练的其他标签的置信度分数时,系统可以生成包括“未知对象”标签的表示312。“未知对象”标签可以包括词语“未知”、指示深度神经网络310至少具有对象未知的最小置信度的灰色图像316a-b、或标识相应对象未知的另一类型的标签。
在参考图3A至图3B所描述的示例中,图像数据302包括“苏打水T”304a和水瓶304b(均在图3A中示出)的数据,两者都不包括在深度神经网络308针对其被训练的对象子类型中。结果,由深度神经网络308生成的输出指示对于图像中描绘的“苏打水T”和水瓶的每个实例而言是“未知”的标签。当系统使用来自深度神经网络310的输出来生成表示312时,系统可以包括表示中的“苏打水T”316a和水瓶316b的“未知对象”标签。系统可以使用任何适当的未知对象标签。例如,当对象子类型是特定品牌的苏打水时(例如当深度神经网络310检测到苏打子类型时),系统可以使用类似于瓶子的第一未知对象标签,或者当对象子类型是特定树种时(例如当深度神经网络310检测到树子类型时),可以使用类似于树的第二未知对象标签。
下文的表2示出了深度神经网络(例如,深度神经网络310或深度神经网络206)的运行时间使用的示例伪代码。包括深度神经网络的系统可以在运行时间期间执行表2中所描述的步骤。
图4是训练深度神经网络的过程400的流程图。例如,过程400可以由来自环境100的训练系统102使用。
训练系统接收训练数据,该训练数据表示多个图像,该多个图像描绘具有对象子类型的对象,深度神经网络针对对象子类型将被训练以识别(402)。训练数据可以包括图像、表示图像的数据、或两者。在来自多个图像的图像中描绘的对象包括至少一个对象,该至少一个对象具有对象子类型,深度神经网络针对该对象子类型将被训练。在一个或多个实施例中,所有对象子类型可以是单个对象类型的子类型。例如,当对象类型是“枫树”时,一些对象子类型可以包括美国梧桐枫和挪威枫。
多个图像中的一些图像不会描绘具有对象类型的子类型的任何对象。比如,一些图像可能包括针对对象类型或对象子类型的否定训练示例,深度神经网络针对该对象类型或对象子类型将无法生成预测子类型标签。否定训练数据的一些示例包括:例如当深度神经网络正在被训练以标识树木亚类型时的丘陵的数据、或者例如当正在训练深度神经网络以标识通常位于架子上的诸如苏打水之类的产品时的架子的数据。
在一些实现方式中,深度神经网络可以具有针对每个不同对象子类型的至少一个输出,深度神经网络针对该对象子类型被训练。每个不同对象子类型的输出可以指示置信度分数,该置信度分数表示所描绘的对象具有对应的对象子类型的可能性。深度神经网络可能具有未知对象子类型的一个输出。比如,训练系统可以训练深度神经网络,以将否定训练示例中的每个否定训练示例标记为与未知对象子类型输出相对应。当深度神经网络被训练以标识特定品牌的苏打水或特定类型的树木时,训练系统可以训练深度神经网络,以使用未知对象子类型标签来标记不同品牌的苏打水或不同类型的树。
在一些实现方式中,训练系统可以训练深度神经网络以具有多个类别的未知对象子类型。比如,当深度神经网络被训练以标识枫树子类型时,深度神经网络可以具有灌木、花卉、马板栗树、岩石的未知标签,或这些项中的两项或更多项的组合中的每一种的单独标签。当深度神经网络被训练以标识特定品牌(例如,“品牌A”)的产品时,深度神经网络可以具有其他品牌(例如,“品牌B”和“品牌C”)的产品、其他类型的产品(例如,当品牌A制作特定类型的产品时)、或者两者的未知标签。
对于每次训练迭代,训练系统从多个图像中选择图像的特定训练数据(404)。训练系统可以选择一个图像或多个图像的训练数据。训练系统可以使用每次迭代的预先确定的数目的多个图像来优化训练过程,例如以提高深度神经网络的准确度,同时减少训练系统更新深度神经网络的权重的次数。
训练系统确定是否随机置换由特定训练数据表示的选定图像的特性(406)。对于迭代中的每个图像,训练系统可以确定是否随机置换图像的特性、或者在没有随机置换的情况下使用图像的训练数据。当迭代包括多个图像时,训练系统可以确定其中特性应当被随机置换的多个图像中的至少一个图像。随机置换的一些示例可以包括:修剪选定图像的一部分,调整选定图像的至少一部分的变焦水平,调整选定图像的至少一部分的拉伸值,将选定图像转置于轴线上,调整选定图像中描绘的至少一种颜色,调整选定图像的至少一部分的阿尔法抖动,调整选定图像的至少一部分的剪切变形,调整选定图像的至少一部分的单应性,或这些项中的两项或更多项的组合。训练系统可以确定随机置换包括否定训练数据(例如,图像的任何部分)的图像的特性、或没有其中深度神经网络被训练的子类型的对象的特性。
训练系统向深度神经网络提供选定图像的特定训练数据、或选定图像的随机置换的特定训练数据(408)。比如,训练系统向深度神经网络分别提供迭代的每个图像的训练数据。例如,当训练系统被确定为随机置换对应图像的特性时,训练数据可以包括随机置换的数据。
训练系统从深度神经网络接收输出数据,该输出数据指示选定图像中描绘的对象的特定对象子类型的预测标签、以及置信度分数(410)。例如,响应于向深度神经网络提供训练数据,训练系统从深度神经网络接收输出数据。指示预测标签的输出数据可以包括置信度分数,例如,图像中描绘的特定对象的最高置信度分数,其指示预测标签。
置信度分数可以是对象置信度分数,例如,其表示对象存在于由位置信息定义的选定图像的区域中的可能性。置信度分数可以是标签置信度分数,例如,其表示选定图像中描绘的对象具有特定对象子类型的可能性。
在一些实现方式中,除了确定预测子类型标签之外,训练系统还可以训练深度神经网络以检测对象在所描绘图像中的位置。在这些实现方式中,训练系统从深度神经网络接收输出数据,该输出数据指示对应对象在相应图像中的预测位置、以及该对象的预测子类型标签。
训练系统使用指示在选定图像中描绘的对象的实际对象子类型标签的期望输出值、特定对象子类型的预测标签、以及置信度分数来更新深度神经网络中的一个或多个权重(412)。训练系统可以使用任何适当的方法来使用从深度神经网络接收的输出数据以更新深度神经网络的权重。当输出数据包括对应对象在相应图像中的预测位置时,训练系统可以使用预测位置、对应对象在相应图像中的实际位置、或两者,来更新深度神经网络中的权重。
训练系统确定训练过程是否完成(414)。比如,训练系统可以确定是否已经执行了预先确定的数目的训练迭代、深度神经网络的准确度是否满足阈值准确度、或者是否满足其他适当的条件。当训练系统确定训练过程未完成时,训练系统可以从多个图像中选择另一图像的特定训练数据,例如,前进到步骤404。当训练系统确定训练过程完成时,训练系统可以将深度神经网络存储在存储器中、前进到步骤416、或两者。
训练系统向设备提供深度神经网络,以用于检测一个或多个图像是否描绘具有特定对象子类型的对象(416)。例如,训练系统可以使用网络向设备(例如,移动设备)提供深度神经网络。
在一些实现方式中,过程400可以包括附加步骤、更少步骤,或者步骤中的一些步骤可以分成多个步骤。例如,训练系统可以执行步骤404至414,而不执行步骤402、步骤416或二者。
图5是生成图像的表示的过程500的流程图。例如,过程500可以由来自环境100的设备124使用。
设备接收描绘至少一个对象的图像的数据(502)。比如,设备中包括的相机可以捕获图像的数据。
设备确定是否创建图像的数据的多个重叠部分(504)。设备可以确定图像中描绘的对象的大小、图像中描绘的对象的预测数量、由深度神经网络(图像中描绘的相应对象具有预测的子类型标签)生成的置信度分数、这些项中的两项或更多项的组合、或者另一适当的方法或方法的组合,以确定是否创建图像的数据的多个重叠部分。比如,系统可以确定各自图像中描绘的对象的一个或多个置信度分数不满足阈值置信度分数,并且确定设备应当创建图像的数据的多个重叠部分。
在一些示例中,设备可以确定图像中描绘的对象的大小与总图像大小的大小比例不满足阈值比例,并且确定设备应当创建图像的数据的多个重叠部分。当对象的预测数量满足例如大于阈值数量的对象、或对象的大小满足例如小于阈值大小、或两者时,设备可以确定创建图像的数据的多个重叠部分。
当设备确定没有创建图像的数据的多个重叠部分时,设备向深度神经网络提供图像的数据以使得深度神经网络预测至少一个对象的对象子类型标签(506)。该设备可以生成表示图像的数据(例如,矢量),并且向深度神经网络提供所生成的数据。该设备可以例如基于深度神经网络针对其被训练的输入数据来向深度神经网络提供任何适当类型的数据。
响应于确定创建数据的多个重叠部分,设备创建图像的数据的多个重叠部分(508)。例如,设备可以基于图像中描绘的对象的大小、图像中描绘的对象的数量、或两者,来确定要创建的若干个重叠部分。当对象的大小与图像的大小的比例低时(例如,与图像的整体大小相比较而言对象非常小)、或者当图像中描绘的对象的数量高时,与如果大小比例更大(例如,更接近1)或描绘对象的数量更低相比,设备可以创建数据的更大数目的重叠部分。
设备向深度神经网络分别提供多个重叠部分中的每个重叠部分的数据,以使得深度神经网络预测至少一个对象的对象子类型标签(510)。例如,该设备向深度神经网络提供第一重叠部分的数据,并且接收对应的第一输出(例如,作为步骤512的一部分)。该设备向深度神经网络提供第二重叠部分的数据,并且接收对应的第二输出。
设备从深度神经网络接收输出数据,该输出数据表示指示对象的可能对象子类型的子类型标签、以及指示对象在图像中的位置的对象位置(512)。表示子类型标签的输出数据可以是置信度分数,该置信度分数指示对象具有对应的子类型标签的可能性。
设备确定置信度分数是否满足阈值置信度分数(514)。例如,设备可以将图像中所描绘的对象中的至少一个对象的置信度分数、或者由图像的数据的多个重叠部分中的一个重叠部分所表示的对象中的至少一个对象的置信度分数与阈值置信度分数进行比较。
当置信度分数没有满足(例如,置信度分数小于、等于、或两者)阈值置信度分数时,设备可以创建图像的数据的多个重叠部分。当设备已经创建了图像的数据的多个重叠部分时,设备可以确定仅划分包括该对象的数据的部分、所有部分、或各部分的另一真子集。比如,由于这些部分重叠,所以设备可以确定这些部分中的两个部分包括该对象的数据,并且可以确定将两个部分中的每个部分划分为附加的较小子部分。该设备可以共同地或单独地确定这两个部分的子部分。比如,该设备可以确定第一部分的子部分和第二部分的子部分。在一些示例中,设备可以一起确定这两个部分的子部分。
当设备确定置信度分数中的一个或多个置信度分数满足阈值置信度分数时(例如,确定所有分数满足阈值置信度分数时),设备使用一个或多个对象的输出数据来生成图像的表示,针对一个或多个对象中的每个对象,该图像的表示指示对象在图像中的位置、以及指示对象的可能对象子类型的子类型标签(516)。该表示可以包括:标识对象中的每个对象的相应子类型名称的子类型标签、子类型的对应图标、或另一适当类型的标签。当子类型标签是图标并且设备所接收的图像描绘具有特定子类型(其中一些特定子类型示出对象子类型的不同视图)的对象的多个出现时,即使对图像中的对象的描绘可能不同,该表示也包括对象子类型的出现中的每次出现的单个图标。
设备可以使用该表示来分析包括在该表示中的对象子类型。例如,设备可以使用该表示来确定图像中的对象子类型中的每个对象子类型的预测量、包括在图像中的多种对象子类型、或两者。该设备或另一系统可以使用该表示来订购应当被递送到图像所表示的物理位置的附加产品(例如,作为库存系统的一部分)。比如,当图像描绘零售位置处的架子、冰箱或冷冻机时,可以订购附加产品以便递送到零售位置。在一些示例中,该表示可以被用来例如基于表示中包括的对象子类型、以及应当包括在图像中的期望对象子类型,来确定图像中描绘的对象的产品布局的改变。
在一些实现方式中,设备可以生成用户界面,其描绘表示、表示的数据、或两者。比如,表示的数据可以包括对象子类型的预测量、对象子类型的预期量、对象子类型的预期位置、一些对象子类型的预期位置、或者这些项中的两项或更项的组合。在一些示例中,用户界面可以标识放置在不正确位置中的对象(例如,不属于图像中描绘的架子上的对象)。该设备可以响应于指示选择“查看结果”按钮的用户输入来生成用户界面。作为响应,设备可以加载概述深度神经网络针对其被训练的预测子类型标签的配置文件、例如用于零售位置的产品呈现顺从性规则、或两者。设备可以使用配置文件来生成用户界面并且导致用户界面的呈现。用户界面可以是图形的,例如,二维的或三维的、可听见的、或两者。
上文所描述的过程500中的步骤的顺序仅是说明性的,并且图像的表示的生成可以以不同的顺序执行。例如,设备可以从深度神经网络接收输出数据,确定输出数据中包括的置信度分数中的一个或多个置信度分数是否均满足阈值置信度分数,然后例如使用第一确定的结果来确定是否创建图像的数据的多个重叠部分。
在一些实现方式中,过程500可以包括附加步骤、更少的步骤,或者一些步骤可以分成多个步骤。例如,设备可以接收图像数据,向深度神经网络提供图像的数据,并且生成表示,而无需执行过程500的其他步骤中的一个或多个步骤。
在一些实现方式中,设备可以包括对象消歧的深度神经网络。例如,当设备从深度神经网络接收输出数据(该输出数据标识特定对象,两个对象子类型针对该特定对象可能指示特定对象的标签)时,设备可以使用单独的消歧深度神经网络来确定特定对象的预测对象子类型标签。例如,两个对象子类型可以具有置信度分数,其在彼此的阈值距离内、都满足阈值置信度分数(例如,都大于阈值置信度分数)、或者两者。该设备可以确定消歧深度神经网络,该消歧深度神经网络对于可能指示特定对象的标签的预测对象子类型中的一个或两个预测对象子类型是特定的。该设备可以向消歧深度神经网络提供对象的数据(例如,对象的图像数据),以使得消歧深度神经网络生成具有特定对象的预测对象子类型标签的第二输出。第二输出可以包括图像中描绘的其他对象的预测对象子类型标签。提供给消歧深度神经网络的数据可以是图像的数据的多个重叠部分中的一个重叠部分的数据。在一些示例中,数据可以是例如以下的数据:可能仅包括或基本上仅包括特定对象的数据,并且不包括任何其他对象的数据。该设备可以包括多个消歧深度神经网络,其中一些消歧深度神经网络可以是不同的相关子类型。消歧深度神经网络的一个示例包括深度神经网络,其被训练为标识特定生产者的特定类型的护唇膏和口红。
本说明书中描述的主题和功能操作的实施例可以以数字电子电路、有形地体现的计算机软件或固件、计算机硬件(包括本说明书中公开的结构及其结构等同物)、或它们中的一个或多个的组合来实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,在有形非暂时性程序载体上编码的计算机程序指令的一个或多个模块,由数据处理装置执行或控制数据处理装置的操作。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电信号、光信号或电磁信号,其被生成以对信息进行编码以便传输给合适的接收机装置以供数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
术语“数据处理设备”是指数据处理硬件并且包括处理数据的所有类型的设备、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。该装置还可以是或者还包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置可以可选地包括创建计算机程序的执行环境的代码,例如,构成处理器固件、协议堆栈、数据库管理系统、操作系统、或者这些项中的一项或多项的组合的代码。
可以被称为或被描述为程序、软件、软件应用、模块、软件模块、脚本或代码的计算机程序可以以任何形式的编程语言(其包括编译或解释性语言或声明性或过程性语言)来编写,并且可以以任何形式(其包括作为独立程序或作为模块、部件、子例程或适用于计算环境中的其他单元)来部署。计算机程序可以(但不需要)与文件系统中的文件相对应。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,专用于所讨论的程序的单个文件中,或者在多个协调文件(例如,存储一个或多个模块、子程序、或代码的各部分的文件)中。计算机程序可以被部署为在一台计算机上执行、或位于一个站点或跨多个站点分布并且通过通信网络互连的多台计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机来执行,以通过对输入数据进行操作并且生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行,并且装置也可以实现为该专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
通过示例,适用于执行计算机程序的计算机包括通用微处理器、或专用微处理器、或两者,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器、或随机存取存储器、或两者接收指令和数据。计算机的基本元件是执行或运行指令的中央处理单元、以及存储指令和数据的一个或多个存储设备。通常,计算机还将包括存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或者可操作地耦合以从该一个或多个大容量存储设备接收数据、或将数据传输到该一个或多个大容量存储设备、或两者。然而,计算机不需要具有这种设备。而且,计算机可以被嵌入另一设备中,例如,移动电话、智能电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收机、或便携式存储设备(例如,通用串行总线(USB)闪存驱动器等等)。
适合存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,其例如包括:半导体存储器设备(例如,EPROM、EEPROM和闪存设备);磁盘(例如,内部硬盘或可移除磁盘);磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充、或并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有向用户显示信息的显示设备(例如,LCD(液晶显示器)、OLED(有机发光二极管)或其他监视器)以及用户可以通过其向计算机提供输入的键盘和指向设备(例如,鼠标或轨迹球)的计算机上实现。其他类型的设备也可以提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈、或触觉反馈);并且可以以任何形式(包括声音输入、语音输入、或触觉输入)接收来自用户的输入。另外,计算机可以通过向用户使用的设备发送文档和从设备接收文档(例如,通过响应于从网络浏览器接收到的请求,向用户设备上的网络浏览器发送网页)来与用户交互。
本说明书中描述的主题的实施例可以在包括以下各项的计算系统中实现:后端部件(例如,作为数据服务器),或者中间件部件(例如,应用服务器),或前端部件(例如,客户端,其具有用户可以图形用户界面或Web浏览器,用户可以通过该图形用户界面或Web浏览器与本说明书中描述的主题的实现进行交互),或者这样的后端部件、中间件部件或前端部件中的一项或多项的任意组合。系统的部件可以通过数字数据通信的任何形式或介质(例如,通信网络)而被互连。通信网络的示例包括局域网(LAN)和广域网(WAN,例如,互联网)。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络进行交互。客户端和服务器之间的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生。在一些实施例中,例如,出于向与用户设备交互的用户显示数据和从用户接收用户输入的目的,服务器向充当客户端的用户设备传送数据(例如,超文本标记语言(HTML)页面)。可以在服务器处从用户设备接收在用户设备处生成的数据(例如,用户交互的结果)。
图6是计算设备600、650的框图,其可以作为客户端或者作为一个服务器或者多个服务器被用来实现本文档中描述的系统和方法。计算设备600旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机、以及其他适当的计算机。计算设备650旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能手机、智能手表、头戴式设备、以及其他类似的计算设备。这里示出的部件、它们的连接和关系以及它们的功能仅意指示例性的,并不意指限制本文档中描述和/或所要求保护的实现方式。
计算设备600包括处理器602、存储器604、存储设备606、连接到存储器604和高速扩展端口610的高速接口608、以及连接到低速总线614和存储设备606的低速接口612。部件602、604、606、608、610和612中的每个部件使用各种总线进行互连,并且可以适当地安装在公共主板上或以其他方式安装。处理器602可以处理在计算设备600内执行的指令,其包括存储在存储器604中或存储设备606上的指令,以在外部输入/输出设备(诸如耦合到高速接口608的显示器616)上显示GUI的图形信息。在其他实现方式中,适当时,可以使用多个处理器和/或多个总线以及多个存储器和多种类型的存储器。还有,可以连接多个计算设备600,其中每个设备提供必要操作的部分(例如,作为服务器阵列、刀片服务器组、或多处理器系统)。
存储器604在计算设备600内存储信息。在一个实现方式中,存储器604是计算机可读介质。在一个实现方式中,存储器604是(一个或多个)易失性存储器单元。在另一实现方式中,存储器604是(一个或多个)非易失性存储器单元。
存储设备606能够为计算设备600提供大容量存储。在一个实现方式中,存储设备606是计算机可读介质。在各种不同的实现方式中,存储设备606可以是软盘设备、硬盘设备、光盘设备、或磁带设备、闪存、或其他类似的固态存储器设备、或者设备阵列(其包括存储区域网络或其他配置中的设备)。在一个实现方式中,计算机程序产品在信息载体中有形地体现。计算机程序产品包含当被执行时执行一个或多个方法的指令,诸如上文所描述的那些。信息载体是计算机可读介质或机器可读介质,诸如存储器604、存储设备606、或处理器602上的存储器。
高速控制器608管理计算设备600的带宽密集型操作,而低速控制器612管理较低带宽密集型操作。这种职责分配只是示例性的。在一个实现方式中,高速控制器608耦合到存储器604、显示器616(例如,通过图形处理器或加速器),并且耦合到可以接受各种扩展卡(未示出)的高速扩展端口610。在该实现方式中,低速控制器612耦合到存储设备606和低速扩展端口614。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器而被耦合到一个或多个输入/输出设备(诸如键盘、指向设备、扫描仪、或联网设备(诸如交换机或路由器))。
如图所示,计算设备600可以以若干种不同的形式来实现。例如,它可以被实现为标准服务器620、或者在一组这样的服务器中被多次实现。它还可以被实现为机架服务器系统624的一部分。另外,其可以在个人计算机(诸如膝上型计算机622)中实现。可替代地,来自计算设备600的部件可以与移动设备中的其他部件(未示出,诸如设备650)进行组合。这些设备中的每个设备可以包含计算设备600、650中的一个或多个计算设备,并且整个系统可以由彼此通信的多个计算设备600、650组成。
除了其他部件之外,计算设备650包括处理器652、存储器664、输入/输出设备(诸如显示器654)、通信接口666和收发器668。设备650还可以设置有存储设备(诸如微型硬盘或其他设备),以提供附加存储。部件650、652、664、654、666和668中的每个部件使用各种总线进行互连,并且部件中的几个部件可以安装在共同母板上或适当地以其他方式安装。
处理器652可以处理在计算设备650内执行的指令,其包括存储在存储器664中的指令。处理器还可以包括单独的模拟和数字处理器。处理器可以例如提供设备650的其他部件的协调,诸如用户界面的控制、由设备650运行的应用、以及设备650的无线通信。
处理器652可以通过耦合到显示器654的控制接口658和显示器接口656而与用户通信。显示器654可以是例如TFT LCD显示器、或OLED显示器、或其他适当的显示技术。显示接口656可以包括驱动显示器654以向用户呈现图形信息和其他信息的适当电路。控制接口658可以接收来自用户的命令并且对它们进行转换以提交给处理器652。另外,可以提供与处理器652通信的外部接口662,以便实现设备650与其他设备的近距离通信。例如,外部接口662可以提供有线通信(例如,经由对接程序)或无线通信(例如,经由蓝牙或其他此类技术)。
存储器664存储计算设备650内的信息。在一个实现方式中,存储器664是计算机可读介质。在一个实现方式中,存储器664是(一个或多个)易失性存储器单元。在另一实现方式中,存储器664是(一个或多个)非易失性存储单元。扩展存储器674还可以通过扩展接口672而被提供并且连接到设备650,该扩展接口672可以包括例如SIMM卡接口。这样的扩展存储器674可以为设备650提供额外的存储空间,或者还可以存储设备650的应用或其他信息。具体而言,扩展存储器674可以包括执行或补充上文所描述的过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器674可以作为设备650的安全模块来提供,并且可以用准许安全使用设备650的指令来编程。另外,可以经由SIMM卡提供安全应用以及附加信息,诸如以不可破解的方式在SIMM卡上放置标识信息。
如上文所描述的,存储器可以包括例如闪存和/或MRAM存储器。在一个实现方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含当被执行时执行一个或多个方法(诸如上文所描述的那些方法)的指令。信息载体是计算机可读介质或机器可读介质,诸如存储器664、扩展存储器674、或处理器652上的存储器。
设备650可以通过通信接口666进行无线通信,该通信接口666在必要时可以包括数字信号处理电路。通信接口666可以在各种模式或协议下(诸如GSM话音呼叫、SMS、EMS或MMS消息收发、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等等)提供通信。这样的通信可以例如通过射频收发器668来发生。另外,可以发生短距离通信,诸如使用蓝牙、WiFi或其他这样的收发器(未示出)。另外,GPS接收器模块670可以向设备650提供附加的无线数据,其可以适当地由在设备650上运行的应用来使用。
设备650还可以使用音频编解码器660可听地通信,该音频编解码器660可以从用户接收口头信息并且将其转换为可用的数字信息。音频编解码器660同样可以诸如通过例如设备650的手机中的扬声器为用户生成可听声音。这种声音可以包括来自话音电话呼叫的声音,可以包括记录的声音(例如,话音消息、音乐文件等等),并且还可以包括由在设备650上操作的由应用生成的声音。
如图所示,计算设备650可以以若干个不同的形式来实现。例如,它可以被实现为蜂窝电话680。它还可以被实现为智能电话682、个人数字助理、或其他类似的移动设备的一部分。
这里描述的系统和技术的各种实现方式可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件、和/或其组合中实现。这些各种实现方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现方式,该可编程系统包括至少一个可编程处理器,其可以是专用或通用的,被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且向存储系统、至少一个输入设备和至少一个输出设备传送数据和指令。
这些计算机程序(也被称为程序、软件、软件应用、或代码)包括可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实现。如本文中所使用的,术语“机器可读介质”、“计算机可读介质”是指任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),其被用来向可编程处理器提供机器指令和/或数据,该可编程处理器包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
虽然本说明书包含许多具体实现细节,但是这些细节不应被解释为对可以要求保护的范围的限制,而应被解释为可能特定于特定实施例的特征的描述。本说明书中在单独实施例的情景中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的情景中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实现。而且,尽管上文可以将特征描述为以某些组合起作用、并且甚至最初如此要求保护的,但是来自所要求保护的组合的一个或多个特征可以在一些情况下从组合中删除,并且所要求保护的组合可以针对子组合或子组合的变形。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示出的特定顺序或按顺序执行这样的操作,或者执行所有图示的操作以实现期望结果。在某些情况下,多任务和并行处理可能是有利的。而且,上文所描述的实施例中的各种系统模块和部件的分离不应该被理解为在所有实施例中都需要这种分离,并且应该理解,所描述的程序部件和系统通常可以一起集成在单个软件产品中,或者打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中所列举的动作可以以不同的顺序执行并且仍然实现期望结果。作为一个示例,附图中描述的过程不一定需要所示的特定顺序或顺序次序,以实现期望结果。在一些情况下,多任务和并行处理可以是有利的。
Claims (25)
1.一种计算机实现的方法,包括:
基于在特定图像中描绘的对象的一个或多个大小、在所述特定图像中描绘的对象的预测数量、由深度神经网络生成的置信度得分,确定是否为所述特定图像创建多个重叠的数据部分,所述多个重叠的数据部分各自包括针对所述特定图像的适当数据子集,在所述特定图像中描绘的相应对象具有预测的子类型标签;
响应于确定为所述特定图像创建所述多个重叠的数据部分,为所述特定图像创建多个重叠的数据部分,并且向所述深度神经网络分别提供针对所述多个重叠的数据部分中的每个数据部分的图像数据;
响应于确定不为所述特定图像创建所述多个重叠的数据部分,向深度神经网络提供针对描绘多个对象的特定图像的图像数据,所述深度神经网络使用多个锚箱预测针对图像中描绘的多个对象的特定对象类型的对象子类型标签,所述多个锚箱各自标识所述图像内的相应箱以用于由所述深度神经网络分析;
针对所述多个对象中的每个对象从所述深度神经网络接收:a)标识预测的子类型标签的输出数据,所述预测的子类型标签指示针对所述对象的所述特定对象类型的可能的对象子类型,和b)对象位置数据,所述对象位置数据标识所述特定图像中的所述对象的可能位置;
使用所述输出数据和所述对象位置数据生成用于呈现用户界面的指令,所述用户界面针对所述多个对象中的每个对象标识在所述用户界面中与所述图像中的所述对象的所述可能位置相对应的位置处的所述对象的所述预测的子类型标签;以及
向显示器提供所述指令以使所述显示器呈现所述用户界面;
针对所述多个对象中所述对象的至少一些对象:
从所述深度神经网络接收指示所述对象具有所述可能的对象子类型的可能性的对应置信度分数;以及
使用所述对应置信度分数确定是否使用与所述深度神经网络不同的消歧深度神经网络来确定所述对象的对象子类型标签。
2.根据权利要求1所述的方法,其中:
接收指示所述对象具有所述可能的对象子类型的可能性的所述对应置信度分数包括接收多个对应置信度分数,所述多个对应置信度分数中的每个对应置信度分数指示所述对象具有针对其所述深度神经网络被训练的对象子类型的可能性;以及
使用所述对应置信度分数确定是否使用与所述深度神经网络不同的消歧深度神经网络来确定所述对象的对象子类型标签包括确定所述对应置信度分数中的两个对应置信度分类是否各自满足阈值置信度分数。
3.根据权利要求2所述的方法,包括确定在针对所述对象的所述对应置信度分数中的两个对应置信度分数各自满足所述阈值置信度分数时,针对来自所述多个对象的对象使用所述消歧深度神经网络。
4.根据权利要求1所述的方法,其中:
接收指示所述对象具有对应对象子类型的可能性的所述对应置信度分数包括接收多个对应置信度分数,所述多个对应置信度分数中的每个对应置信度分数指示所述对象具有针对其所述深度神经网络被训练的对象子类型的可能性;以及
使用所述对应置信度分数确定是否使用与所述深度神经网络不同的消歧深度神经网络来确定所述对象的对象子类型标签包括确定所述对应置信度分数中的两个对应置信度分数是否彼此在阈值距离内。
5.根据权利要求4所述的方法,包括确定在针对所述对象的所述对应置信度分数中的两个对应置信度分数彼此在阈值距离内时,针对来自所述多个对象的对象使用所述消歧深度神经网络。
6.根据权利要求1所述的方法,包括:
确定使用与初始深度神经网络不同的消歧深度神经网络,所述消歧深度神经网络使用来自所述初始深度神经网络的输出,其中:
所述消歧深度神经网络包括所述深度神经网络;并且
所述初始深度神经网络预测主要对象类型的初始对象子类型标签,所述特定对象类型是所述主要对象类型的子类型。
7.根据权利要求1所述的方法,其中所述多个锚箱中的至少一些锚箱具有不同的大小、不同的形状或两者。
8.根据权利要求1所述的方法,其中所述深度神经网络是使用针对所述多个锚箱中的每个锚箱的位置信息而被训练的。
9.根据权利要求8所述的方法,其中针对所述多个锚箱中的每个锚箱的所述位置信息包括针对所述多个锚箱中的每个锚箱的x-y坐标。
10.根据权利要求1所述的方法,包括:
针对所述多个对象中的所述对象中的一些对象,接收指示所述对象具有所述可能的对象子类型的可能性的置信度分数,其中:
确定是否为所述特定图像创建多个重叠的数据部分,所述多个重叠的数据部分各自包括针对所述特定图像的适当数据子集,包括:为所述置信度分数中的每个置信度分数确定所述对应置度信分数是否满足阈值置信度分数;以及
为所述图像创建所述多个重叠的数据部分是响应于确定所述置信度分数中的至少一个置信度分数不满足所述阈值置信度分数。
11.根据权利要求1所述的方法,其中:
确定是否为所述特定图像创建多个重叠的数据部分,所述多个重叠的数据部分各自包括针对所述特定图像的适当数据子集,包括:确定当前处理持续时间是否满足阈值处理持续时间;以及
为所述特定图像创建所述多个重叠的数据部分是响应于确定所述当前处理持续时间满足所述阈值处理持续时间。
12.根据权利要求1所述的方法,其中:
针对所述多个对象中的每个对象从所述深度神经网络接收所述输出数据包括:针对所述多个对象中的一些对象接收指示所述对象具有所述可能的对象子类型的可能性的置信度分数;以及
生成用于呈现所述用户界面的所述指令包括:
确定所述置信度分数中的至少一个置信度分数不满足阈值置信度分数;
确定当前处理时间超过阈值处理时间;以及
响应于确定当前处理时间超过阈值处理时间,尽管确定所述置信度分数中的至少一个置信度分数不满足阈值置信度分数,仍确定生成用于呈现所述用户界面的所述指令。
13.根据权利要求1所述的方法,包括:
使用所述输出数据、所述对象位置数据或两者确定来自所述多个对象中的一个或多个对象的库存;以及
使用所述一个或多个对象的所述库存来确定要请求递送到包括所述图像中描绘的区域的物理位置的若干个对象。
14.一种对象识别系统,包括一个或多个计算机和一个或多个存储设备,在所述存储设备上存储指令,所述指令在由所述一个或多个计算机执行时,可操作以使所述一个或多个计算机执行操作,所述操作包括:
基于在特定图像中描绘的对象的一个或多个大小、在所述特定图像中描绘的对象的预测数量、由深度神经网络生成的置信度得分,确定是否为所述特定图像创建多个重叠的数据部分,所述多个重叠的数据部分各自包括针对所述特定图像的适当数据子集,在所述特定图像中描绘的相应对象具有预测的子类型标签;
响应于确定为所述特定图像创建多个重叠的数据部分,为所述特定图像创建所述多个重叠的数据部分,并且向所述深度神经网络分别提供针对所述多个重叠的数据部分中的每个数据部分的图像数据;
响应于确定不为所述特定图像创建所述多个重叠的数据部分,向深度神经网络提供描绘多个对象的图像的图像数据,以使所述深度神经网络预测针对所述多个对象中的每个对象的对象子类型标签;
针对所述多个对象中的每个对象,从所述深度神经网络接收:a)指示所述对象具有对象子类型的可能性的置信度分数,以及b)指示所述对象在所述图像中的可能位置的对象位置数据;
针对所述对象中的至少一些对象使用所述对应置信度分数,确定是否使用与所述深度神经网络不同的消歧深度神经网络来确定所述对象的对象子类型标签;以及
使用所述对象子类型和所述对象位置数据生成所述图像的表示和子类型标签,所述表示指示针对所述多个对象中的一些对象所述对象在所述图像中的可能位置,所述子类型标签指示所述对象的所述对象子类型;
其中:
接收指示所述对象具有所述对象子类型的可能性的所述置信度分数包括针对所述多个对象中的所述对象的至少一些对象接收多个对应置信度分数,所述多个对应置信度分数中的每个对应置信度分数指示所述对象具有针对其所述深度神经网络被训练的对象子类型的可能性;以及
针对所述对象中的至少一些对象使用所述对应置信度分数,确定是否使用与所述深度神经网络不同的消歧深度神经网络来确定所述对象的对象子类型标签包括:针对所述对象中的至少一些对象,确定所述对应置信度分数中的两个对应置信度分数是否各自满足阈值置信度分数。
15.根据权利要求14所述的系统,所述操作包括确定在所述对象的所述对应置信度分数中的两个对应置信度分数各自满足所述阈值置信度分数时,针对来自所述多个对象中的对象使用所述消歧深度神经网络。
16.根据权利要求14所述的系统,其中:
接收指示所述对象具有对应对象子类型的可能性的所述置信度分数包括针对所述多个对象中的所述对象的至少一些对象接收多个对应置信度分数,所述多个对应置信度分数中的每个对应置信度分数指示所述对象具有针对其所述深度神经网络被训练的对象子类型的可能性;以及
针对所述对象中的至少一些对象,使用所述对应置信度分数,确定是否使用与所述深度神经网络不同的消歧深度神经网络来确定所述对象的对象子类型标签包括:针对所述对象中的至少一些对象,确定所述对应置信度分数中的两个对应置信度分数是否在彼此的阈值距离内。
17.根据权利要求16所述的系统,所述操作包括确定在针对所述对象的所述对应置信度分数中的两个对应置信度分数在彼此的阈值距离内时,针对来自所述多个对象中的对象使用所述消歧深度神经网络。
18.根据权利要求14所述的系统,其中:
生成所述图像的所述表示包括:
确定所述置信度分数中的至少一个置信度分数不满足阈值置信度分数;
确定当前处理时间超过阈值处理时间;以及
响应于确定当前处理时间超过阈值处理时间,尽管确定所述置信度分数中的至少一个置信度分数不满足阈值置信度分数,仍确定生成所述图像的所述表示。
19.根据权利要求14所述的系统,所述操作包括:
使用所述图像的所述表示确定来自所述多个对象中的一个或多个对象的库存;以及
使用所述一个或多个对象的所述库存来确定要请求递送到包括所述图像中描绘的区域的物理位置的若干个对象。
20.一种编码有指令的非暂态计算机存储介质,所述指令在由一个或多个计算机执行时,使所述一个或多个计算机执行包括以下的操作:
基于在特定图像中描绘的对象的一个或多个大小、在所述特定图像中描绘的对象的预测数量、由深度神经网络生成的置信度得分,确定是否为所述特定图像创建多个重叠的数据部分,所述多个重叠的数据部分各自包括针对所述特定图像的适当数据子集,在所述特定图像中描绘的相应对象具有预测的子类型标签;
响应于确定为所述特定图像创建所述多个重叠的数据部分,为所述特定图像创建多个重叠的数据部分,并且向所述深度神经网络分别提供针对所述多个重叠的数据部分中的每个数据部分的图像数据;
响应于确定不为所述特定图像创建所述多个重叠的数据部分,向深度神经网络提供描绘多个对象的特定图像的图像数据,所述深度神经网络使用多个锚箱预测针对图像中描绘的多个对象的特定对象类型的对象子类型标签,所述多个锚箱各自标识所述图像内的相应箱以用于由所述深度神经网络分析;
针对所述多个对象中的每个对象从所述深度神经网络接收:a)指示所述对象具有所述特定对象类型的对象子类型的可能性的置信度分数,以及b)标识所述对象在所述特定图像中的可能位置的对象位置数据;
针对所述对象中的至少一些对象,使用所述对应置信度分数来确定是否使用与所述深度神经网络不同的消歧深度神经网络,以确定所述对象的对象子类型标签;
使用所述对象子类型和所述对象位置数据生成用于呈现用户界面的指令,所述用户界面针对所述多个对象中的每个对象标识在所述用户界面中与所述图像中的所述对象的所述可能位置相对应的位置处的针对所述相应对象子类型的子类型标签;以及
向显示器提供所述指令以使所述显示器呈现所述用户界面;
其中:
接收指示所述对象具有所述对象子类型的可能性的所述置信度分数包括:针对所述多个对象中的所述对象的至少一些对象,接收多个对应置信度分数,所述多个对应置信度分数中的每个对应置信度分数指示所述对象具有针对其所述深度神经网络被训练的对象子类型的可能性;以及
针对所述对象中的至少一些对象、使用所述对应置信度分数来确定是否使用与所述深度神经网络不同的消歧深度神经网络、以确定所述对象的对象子类型标签包括:针对所述对象中的至少一些对象,确定所述对应置信度分数中的两个对应置信度分数是否各自满足阈值置信度分数。
21.根据权利要求20所述的计算机存储介质,所述操作包括确定在所述对象的所述对应置信度分数中的两个对应置信度分数各自满足所述阈值置信度分数时,针对来自所述多个对象中的对象使用所述消歧深度神经网络。
22.根据权利要求20所述的计算机存储介质,其中:
接收指示所述对象具有对应对象子类型的可能性的所述置信度分数包括:针对所述多个对象中的所述对象的至少一些对象,接收多个对应置信度分数,所述多个对应置信度分数中的每个对应置信度分数指示所述对象具有针对其所述深度神经网络被训练的对象子类型的可能性;以及
针对所述对象中的至少一些对象、使用所述对应置信度分数来确定是否使用与所述深度神经网络不同的消歧深度神经网络、以确定所述对象的对象子类型标签包括:针对所述对象中的至少一些对象,确定所述对应置信度分数中的两个对应置信度分数是否在彼此的阈值距离内。
23.根据权利要求22所述的计算机存储介质,所述操作包括确定在所述对象的所述对应置信度分数中的两个对应置信度分数在彼此的阈值距离内时,针对来自所述多个对象中的对象使用所述消歧深度神经网络。
24.根据权利要求20所述的计算机存储介质,其中:
生成用于呈现所述用户界面的所述指令包括:
确定所述置信度分数中的至少一个置信度分数不满足阈值置信度分数;
确定当前处理时间超过阈值处理时间;以及
响应于确定当前处理时间超过阈值处理时间,尽管确定所述置信度分数中的至少一个置信度分数不满足阈值置信度分数,仍确定生成用于呈现所述用户界面的所述指令,针对所述多个对象中的每个对象,所述用户界面标识在所述用户界面中与所述图像中的所述对象的所述可能位置相对应的位置处的所述相应对象子类型的所述子类型标签。
25.根据权利要求20所述的计算机存储介质,所述操作包括:
使用一个或多个对象子类型标签、所述对象位置数据或两者来确定来自所述多个对象中的一个或多个对象的库存;以及
使用所述一个或多个对象的所述库存,来确定要请求递送到包括所述图像中描绘的区域的物理位置的若干个对象。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762526082P | 2017-06-28 | 2017-06-28 | |
US62/526,082 | 2017-06-28 | ||
US15/692,180 US10019654B1 (en) | 2017-06-28 | 2017-08-31 | Image object recognition |
US15/692,180 | 2017-08-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109146074A CN109146074A (zh) | 2019-01-04 |
CN109146074B true CN109146074B (zh) | 2023-02-10 |
Family
ID=62749571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810272065.XA Active CN109146074B (zh) | 2017-06-28 | 2018-03-29 | 图像对象识别 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10019654B1 (zh) |
EP (1) | EP3422257A1 (zh) |
CN (1) | CN109146074B (zh) |
AU (1) | AU2018202174B1 (zh) |
SG (2) | SG10201900922QA (zh) |
Families Citing this family (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3531350B1 (en) * | 2016-10-24 | 2021-04-21 | LG Electronics Inc. | Deep learning neural network based security system and control method therefor |
US11475310B1 (en) * | 2016-11-29 | 2022-10-18 | Perceive Corporation | Training network to minimize worst-case error |
US10853716B2 (en) * | 2016-12-27 | 2020-12-01 | Microsoft Technology Licensing, Llc | Systems and methods for a mathematical chat bot |
EP3633607A4 (en) * | 2017-05-31 | 2020-05-20 | EIZO Corporation | SURGICAL INSTRUMENT DETECTION SYSTEM AND COMPUTER PROGRAM |
WO2019035619A1 (en) * | 2017-08-14 | 2019-02-21 | Samsung Electronics Co., Ltd. | METHOD FOR DISPLAYING CONTENT AND ASSOCIATED ELECTRONIC DEVICE |
WO2019060787A1 (en) * | 2017-09-21 | 2019-03-28 | Lexset.Ai Llc | DETECTION OF AT LEAST ONE OBJECT IN AN IMAGE, OR A SEQUENCE OF IMAGES, AND DETERMINATION OF A CATEGORY AND AT LEAST ONE DESCRIPTOR FOR EACH OF THESE OBJECTS, GENERATION OF SYNTHETIC LEARNING DATA, AND FORMATION OF A NEURONAL NETWORK USING SYNTHETIC LEARNING DATA |
US10692244B2 (en) * | 2017-10-06 | 2020-06-23 | Nvidia Corporation | Learning based camera pose estimation from images of an environment |
WO2019098418A1 (ko) * | 2017-11-16 | 2019-05-23 | 삼성전자 주식회사 | 뉴럴 네트워크 학습 방법 및 디바이스 |
US10515275B2 (en) * | 2017-11-17 | 2019-12-24 | Adobe Inc. | Intelligent digital image scene detection |
JP6950505B2 (ja) * | 2017-12-08 | 2021-10-13 | 富士通株式会社 | 判別プログラム、判別方法および判別装置 |
US11361547B2 (en) * | 2017-12-08 | 2022-06-14 | Nec Communication Systems, Ltd. | Object detection apparatus, prediction model generation apparatus, object detection method, and program |
US10592732B1 (en) | 2017-12-14 | 2020-03-17 | Perceive Corporation | Probabilistic loss function for training network with triplets |
US10579908B2 (en) * | 2017-12-15 | 2020-03-03 | Google Llc | Machine-learning based technique for fast image enhancement |
US11328210B2 (en) | 2017-12-29 | 2022-05-10 | Micron Technology, Inc. | Self-learning in distributed architecture for enhancing artificial neural network |
US11043006B1 (en) | 2017-12-29 | 2021-06-22 | Perceive Corporation | Use of machine-trained network for misalignment identification |
TWI682359B (zh) * | 2018-01-29 | 2020-01-11 | 國立清華大學 | 影像補全方法 |
US20190236360A1 (en) * | 2018-01-30 | 2019-08-01 | Mashgin Inc. | Feedback loop for image-based recognition |
US20210124995A1 (en) * | 2018-01-31 | 2021-04-29 | Hewlett-Packard Development Company, L.P. | Selecting training symbols for symbol recognition |
US11537870B1 (en) | 2018-02-07 | 2022-12-27 | Perceive Corporation | Training sparse networks with discrete weight values |
CN112119391A (zh) * | 2018-03-01 | 2020-12-22 | 因富通国际有限公司 | 用于确定信息承载装置的真实性的方法和设备 |
JP7028333B2 (ja) * | 2018-03-05 | 2022-03-02 | オムロン株式会社 | 照明条件の設定方法、装置、システム及びプログラム並びに記憶媒体 |
US11586902B1 (en) | 2018-03-14 | 2023-02-21 | Perceive Corporation | Training network to minimize worst case surprise |
US11995537B1 (en) | 2018-03-14 | 2024-05-28 | Perceive Corporation | Training network with batches of input instances |
US10522038B2 (en) | 2018-04-19 | 2019-12-31 | Micron Technology, Inc. | Systems and methods for automatically warning nearby vehicles of potential hazards |
US11301733B2 (en) * | 2018-05-18 | 2022-04-12 | Google Llc | Learning data augmentation strategies for object detection |
US10782651B2 (en) * | 2018-06-03 | 2020-09-22 | Apple Inc. | Image capture to provide advanced features for configuration of a wearable device |
US10936922B2 (en) * | 2018-06-20 | 2021-03-02 | Zoox, Inc. | Machine learning techniques |
US11592818B2 (en) | 2018-06-20 | 2023-02-28 | Zoox, Inc. | Restricted multi-scale inference for machine learning |
US10817740B2 (en) | 2018-06-20 | 2020-10-27 | Zoox, Inc. | Instance segmentation inferred from machine learning model output |
JP7122625B2 (ja) * | 2018-07-02 | 2022-08-22 | パナソニックIpマネジメント株式会社 | 学習データ収集装置、学習データ収集システム、及び学習データ収集方法 |
US10841723B2 (en) * | 2018-07-02 | 2020-11-17 | Harman International Industries, Incorporated | Dynamic sweet spot calibration |
US11100367B2 (en) * | 2018-07-12 | 2021-08-24 | EMC IP Holding Company LLC | Dynamic digital information retrieval implemented via artificial intelligence |
CN109460016A (zh) * | 2018-09-06 | 2019-03-12 | 百度在线网络技术(北京)有限公司 | 自动驾驶协助方法、驾驶设备、协助设备及可读存储介质 |
EP3620984B1 (en) * | 2018-09-06 | 2024-04-10 | Accenture Global Solutions Limited | Digital quality control using computer visioning with deep learning |
US10943681B2 (en) * | 2018-11-21 | 2021-03-09 | Enlitic, Inc. | Global multi-label generating system |
US11393213B2 (en) | 2018-12-05 | 2022-07-19 | AiFi Inc. | Tracking persons in an automated-checkout store |
US11373160B2 (en) | 2018-12-05 | 2022-06-28 | AiFi Inc. | Monitoring shopping activities using weight data in a store |
US11443291B2 (en) * | 2018-12-05 | 2022-09-13 | AiFi Inc. | Tracking product items in an automated-checkout store |
CN111311673B (zh) * | 2018-12-12 | 2023-11-03 | 北京京东乾石科技有限公司 | 一种定位方法及装置、存储介质 |
US10963757B2 (en) * | 2018-12-14 | 2021-03-30 | Industrial Technology Research Institute | Neural network model fusion method and electronic device using the same |
CN113168713A (zh) * | 2018-12-14 | 2021-07-23 | 富士胶片株式会社 | 小批量学习装置及其工作程序、工作方法及图像处理装置 |
CN109726661B (zh) * | 2018-12-21 | 2021-12-17 | 网易有道信息技术(北京)有限公司 | 图像处理方法及装置、介质和计算设备 |
KR20200084431A (ko) * | 2018-12-26 | 2020-07-13 | 삼성전자주식회사 | 신경망 기반의 데이터 처리 방법, 신경망 트레이닝 방법 및 그 장치들 |
US11557107B2 (en) * | 2019-01-02 | 2023-01-17 | Bank Of America Corporation | Intelligent recognition and extraction of numerical data from non-numerical graphical representations |
CN109840883B (zh) * | 2019-01-10 | 2022-12-23 | 达闼机器人股份有限公司 | 一种训练物体识别神经网络的方法、装置及计算设备 |
US10460210B1 (en) * | 2019-01-22 | 2019-10-29 | StradVision, Inc. | Method and device of neural network operations using a grid generator for converting modes according to classes of areas to satisfy level 4 of autonomous vehicles |
US11373466B2 (en) | 2019-01-31 | 2022-06-28 | Micron Technology, Inc. | Data recorders of autonomous vehicles |
US11410475B2 (en) | 2019-01-31 | 2022-08-09 | Micron Technology, Inc. | Autonomous vehicle data recorders |
US11003947B2 (en) | 2019-02-25 | 2021-05-11 | Fair Isaac Corporation | Density based confidence measures of neural networks for reliable predictions |
FR3094115B1 (fr) * | 2019-03-22 | 2021-02-26 | Idemia Identity & Security France | Procede d’identification de bagages |
US11900238B1 (en) | 2019-04-25 | 2024-02-13 | Perceive Corporation | Removing nodes from machine-trained network based on introduction of probabilistic noise during training |
US11531879B1 (en) | 2019-04-25 | 2022-12-20 | Perceive Corporation | Iterative transfer of machine-trained network inputs from validation set to training set |
US11610154B1 (en) | 2019-04-25 | 2023-03-21 | Perceive Corporation | Preventing overfitting of hyperparameters during training of network |
EP3962666A2 (en) | 2019-05-03 | 2022-03-09 | Verily Life Sciences LLC | Insect singulation and classification |
US10748650B1 (en) * | 2019-07-17 | 2020-08-18 | Richard Ricci | Machine learning of dental images for E-commerce |
US11481633B2 (en) * | 2019-08-05 | 2022-10-25 | Bank Of America Corporation | Electronic system for management of image processing models |
JP7078021B2 (ja) * | 2019-08-08 | 2022-05-31 | トヨタ自動車株式会社 | 物体検出装置、物体検出方法及び物体検出用コンピュータプログラム |
US11263482B2 (en) | 2019-08-09 | 2022-03-01 | Florida Power & Light Company | AI image recognition training tool sets |
US11915192B2 (en) | 2019-08-12 | 2024-02-27 | Walmart Apollo, Llc | Systems, devices, and methods for scanning a shopping space |
US11392796B2 (en) * | 2019-08-20 | 2022-07-19 | Micron Technology, Inc. | Feature dictionary for bandwidth enhancement |
US11755884B2 (en) | 2019-08-20 | 2023-09-12 | Micron Technology, Inc. | Distributed machine learning with privacy protection |
US11636334B2 (en) | 2019-08-20 | 2023-04-25 | Micron Technology, Inc. | Machine learning with feature obfuscation |
CN110866478B (zh) * | 2019-11-06 | 2022-04-29 | 支付宝(杭州)信息技术有限公司 | 一种图像中对象的识别方法、装置和设备 |
US11043003B2 (en) | 2019-11-18 | 2021-06-22 | Waymo Llc | Interacted object detection neural network |
US20230005237A1 (en) * | 2019-12-06 | 2023-01-05 | NEC Cporportation | Parameter determination apparatus, parameter determination method, and non-transitory computer readable medium |
US11330307B2 (en) | 2019-12-13 | 2022-05-10 | Rovi Guides, Inc. | Systems and methods for generating new content structures from content segments |
US11317132B2 (en) * | 2019-12-13 | 2022-04-26 | Rovi Guides, Inc. | Systems and methods for generating new content segments based on object name identification |
CN111222474B (zh) * | 2020-01-09 | 2022-11-04 | 电子科技大学 | 一种任意尺度的高分辨率图像小目标检测方法 |
CN111368637B (zh) * | 2020-02-10 | 2023-08-11 | 南京师范大学 | 一种基于多掩模卷积神经网络的搬运机器人识别目标方法 |
CN111368789B (zh) * | 2020-03-18 | 2023-05-26 | 腾讯科技(深圳)有限公司 | 图像识别方法、装置、计算机设备和存储介质 |
CN111445583B (zh) * | 2020-03-18 | 2023-08-01 | Oppo广东移动通信有限公司 | 增强现实处理方法及装置、存储介质和电子设备 |
US20220058369A1 (en) * | 2020-08-07 | 2022-02-24 | University Of South Florida | Automated stereology for determining tissue characteristics |
US11669943B2 (en) * | 2020-10-16 | 2023-06-06 | Microsoft Technology Licensing, Llc | Dual-stage system for computational photography, and technique for training same |
US20220148189A1 (en) * | 2020-11-10 | 2022-05-12 | Nec Laboratories America, Inc. | Multi-domain semantic segmentation with label shifts |
KR20220067732A (ko) * | 2020-11-18 | 2022-05-25 | 한국전자기술연구원 | 재학습 가능한 모바일 딥러닝 하드웨어 장치 |
EP4006771A1 (en) * | 2020-11-27 | 2022-06-01 | Axis AB | Method, device, and system for processing image data representing a scene for extracting features |
CN112896879B (zh) * | 2021-02-24 | 2022-11-18 | 同济大学 | 一种用于智能环卫车的环境感知系统 |
JP2022135701A (ja) * | 2021-03-05 | 2022-09-15 | 株式会社東芝 | 学習装置、方法およびプログラム |
US20230076984A1 (en) * | 2021-09-08 | 2023-03-09 | Haier Us Appliance Solutions, Inc. | Inventory management system in a refrigerator appliance |
US20230086809A1 (en) * | 2021-09-17 | 2023-03-23 | BCD International, Inc. | Combined security and video camera control system |
US11875555B2 (en) * | 2021-09-30 | 2024-01-16 | Intel Corporation | Applying self-confidence in multi-label classification to model training |
US11915467B1 (en) | 2022-08-11 | 2024-02-27 | Microsoft Technology Licensing, Llc. | Saliency for anchor-based object detection |
WO2024049670A1 (en) * | 2022-08-29 | 2024-03-07 | NetraDyne, Inc. | Real-time object detection from decompressed images |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106462940A (zh) * | 2014-10-09 | 2017-02-22 | 微软技术许可有限责任公司 | 图像中通用对象检测 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2584683A1 (en) * | 2006-04-20 | 2007-10-20 | Optosecurity Inc. | Apparatus, method and system for screening receptacles and persons |
US20080232682A1 (en) * | 2007-03-19 | 2008-09-25 | Kumar Eswaran | System and method for identifying patterns |
US9165369B1 (en) * | 2013-03-14 | 2015-10-20 | Hrl Laboratories, Llc | Multi-object detection and recognition using exclusive non-maximum suppression (eNMS) and classification in cluttered scenes |
US9275308B2 (en) * | 2013-05-31 | 2016-03-01 | Google Inc. | Object detection using deep neural networks |
US9730643B2 (en) * | 2013-10-17 | 2017-08-15 | Siemens Healthcare Gmbh | Method and system for anatomical object detection using marginal space deep neural networks |
US9373057B1 (en) * | 2013-11-01 | 2016-06-21 | Google Inc. | Training a neural network to detect objects in images |
CN104915926B (zh) * | 2014-03-10 | 2017-12-29 | 佳能株式会社 | 图像处理设备和图像处理方法 |
JP5899272B2 (ja) * | 2014-06-19 | 2016-04-06 | ヤフー株式会社 | 算出装置、算出方法及び算出プログラム |
CN104517103A (zh) * | 2014-12-26 | 2015-04-15 | 广州中国科学院先进技术研究所 | 一种基于深度神经网络的交通标志分类方法 |
US10410096B2 (en) * | 2015-07-09 | 2019-09-10 | Qualcomm Incorporated | Context-based priors for object detection in images |
CN106355182A (zh) * | 2015-07-14 | 2017-01-25 | 佳能株式会社 | 用于对象检测和图像处理的方法和装置 |
US9589210B1 (en) * | 2015-08-26 | 2017-03-07 | Digitalglobe, Inc. | Broad area geospatial object detection using autogenerated deep learning models |
US9875429B2 (en) * | 2015-10-06 | 2018-01-23 | Adobe Systems Incorporated | Font attributes for font recognition and similarity |
US20170109615A1 (en) * | 2015-10-16 | 2017-04-20 | Google Inc. | Systems and Methods for Automatically Classifying Businesses from Images |
US9965719B2 (en) * | 2015-11-04 | 2018-05-08 | Nec Corporation | Subcategory-aware convolutional neural networks for object detection |
US10032072B1 (en) * | 2016-06-21 | 2018-07-24 | A9.Com, Inc. | Text recognition and localization with deep learning |
US9589374B1 (en) * | 2016-08-01 | 2017-03-07 | 12 Sigma Technologies | Computer-aided diagnosis system for medical images using deep convolutional neural networks |
CN106845383B (zh) * | 2017-01-16 | 2023-06-06 | 腾讯科技(上海)有限公司 | 人头检测方法和装置 |
-
2017
- 2017-08-31 US US15/692,180 patent/US10019654B1/en active Active
-
2018
- 2018-03-06 SG SG10201900922QA patent/SG10201900922QA/en unknown
- 2018-03-06 SG SG10201801834PA patent/SG10201801834PA/en unknown
- 2018-03-09 EP EP18161094.0A patent/EP3422257A1/en not_active Ceased
- 2018-03-27 AU AU2018202174A patent/AU2018202174B1/en active Active
- 2018-03-29 CN CN201810272065.XA patent/CN109146074B/zh active Active
- 2018-06-13 US US16/007,629 patent/US10210432B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106462940A (zh) * | 2014-10-09 | 2017-02-22 | 微软技术许可有限责任公司 | 图像中通用对象检测 |
Non-Patent Citations (2)
Title |
---|
基于卷积神经网络的图像分类技术研究与实现;王超;《电脑知识与技术》;20161215(第35期);全文 * |
深度卷积神经网络在计算机视觉中的应用研究综述;卢宏涛等;《数据采集与处理》;20160115(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
SG10201900922QA (en) | 2019-02-27 |
US20190005358A1 (en) | 2019-01-03 |
CN109146074A (zh) | 2019-01-04 |
SG10201801834PA (en) | 2019-01-30 |
US10019654B1 (en) | 2018-07-10 |
AU2018202174B1 (en) | 2018-12-20 |
EP3422257A1 (en) | 2019-01-02 |
US10210432B2 (en) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109146074B (zh) | 图像对象识别 | |
US11830209B2 (en) | Neural network-based image stream modification | |
US10354159B2 (en) | Methods and software for detecting objects in an image using a contextual multiscale fast region-based convolutional neural network | |
US10262237B2 (en) | Technologies for improved object detection accuracy with multi-scale representation and training | |
US9858492B2 (en) | System and method for scene text recognition | |
US20180096457A1 (en) | Methods and Software For Detecting Objects in Images Using a Multiscale Fast Region-Based Convolutional Neural Network | |
US8660355B2 (en) | Methods and systems for determining image processing operations relevant to particular imagery | |
US11074504B2 (en) | Instance segmentation | |
US9710698B2 (en) | Method, apparatus and computer program product for human-face features extraction | |
US20180114071A1 (en) | Method for analysing media content | |
US8965117B1 (en) | Image pre-processing for reducing consumption of resources | |
US20140337733A1 (en) | Intuitive computing methods and systems | |
US20110098056A1 (en) | Intuitive computing methods and systems | |
US11804040B2 (en) | Keypoint-based sampling for pose estimation | |
WO2017074786A1 (en) | System and method for automatic detection of spherical video content | |
US20210110189A1 (en) | Character-based text detection and recognition | |
CN110881109B (zh) | 用于增强现实应用的视频中的实时叠加放置 | |
CN107924452A (zh) | 用于图像中的脸部对准的组合形状回归 | |
KR20230169467A (ko) | 조밀한 추정을 위한 상관적 특성화를 이용한 체적 샘플링 | |
WO2022072199A1 (en) | Sparse optical flow estimation | |
US20170091760A1 (en) | Device and method for currency conversion | |
WO2023044208A1 (en) | Low-power fusion for negative shutter lag capture | |
CN116997938A (zh) | 用于整体视频理解的视频模型的自适应使用 | |
WO2021214540A1 (en) | Robust camera localization based on a single color component image and multi-modal learning | |
WO2023184519A1 (en) | Technologies for low power indoor and outdoor detection |
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 |