CN113302620B - 使用机器学习模型确定对象与人之间的关联 - Google Patents
使用机器学习模型确定对象与人之间的关联 Download PDFInfo
- Publication number
- CN113302620B CN113302620B CN201980088877.1A CN201980088877A CN113302620B CN 113302620 B CN113302620 B CN 113302620B CN 201980088877 A CN201980088877 A CN 201980088877A CN 113302620 B CN113302620 B CN 113302620B
- Authority
- CN
- China
- Prior art keywords
- person
- image
- region
- confidence
- mask
- 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
- 238000010801 machine learning Methods 0.000 title abstract description 104
- 238000000034 method Methods 0.000 claims description 101
- 238000013528 artificial neural network Methods 0.000 claims description 64
- 238000011176 pooling Methods 0.000 claims description 41
- 238000009499 grossing Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 238000013527 convolutional neural network Methods 0.000 description 72
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 19
- 230000015654 memory Effects 0.000 description 19
- 239000013598 vector Substances 0.000 description 19
- 230000008569 process Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000000873 masking effect Effects 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000006403 short-term memory Effects 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- 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
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- 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/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- 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/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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- 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/044—Recurrent networks, e.g. Hopfield networks
-
- 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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30232—Surveillance
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Biodiversity & Conservation Biology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
在不同示例中,传感器数据——诸如掩模的传感器数据——可以用作机器学习模型的输入,以确定对象与人的关联的置信度。掩模的传感器数据可将机器学习模型聚焦在对应于人、对象或其某组合的图像的特定区域上。在一些实施例中,除了对应于人、对象或其组合的图像的各个区域之间的面积比之外,对应于人、对象或其组合的坐标也可以用于进一步帮助机器学习模型聚焦在用于确定对象与人的关联的图像的重要区域上。
Description
背景技术
为了识别和分配个人所有物的所有权,监视系统必须有效地在环境中的物品和人之间进行关联。所确定的个人物品的所有权可以通过例如识别个人物品是否与特定人相关联、是否从一个人传递到另一个人和/或是否被放弃——以及由谁和/或在哪里放弃该物品,来提供对安全性的洞察。监视系统通常依赖于检测设备(例如,相机)来监视环境。然而,由于检测设备的不同参数(例如,视角、视野、遮挡等),检测设备可能不能捕获容易分析的用于将人与物品相关联的数据。例如,可能难以使用相机来监视其中正监视许多人和物品的拥挤环境。
用于对象到人关联的一些常规系统可使用单个人和单个对象的静止图像来做出一个或更多个确定。例如,在儿童踢球时,如由图像所表示的,计算机视觉算法可以用于识别在所捕获的图像中是什么——例如,“儿童踢球。”然而,因为这些静止图像仅表示单个人和单个对象,所以两者之间的关联可能不被确定。例如,当在拥挤环境中采用这些常规算法时,人相对于对象的动作可能被错误地识别为不具有关系(例如,误否定检测)或不准确地肯定地是被为具有关系(例如,误肯定检测),其他常规系统可以执行人与对象之间的初步关联——如通过使用对象与人之间的联合区域,或表示它们的边界形状。然而,这些关联通常是不准确的。例如,在存在两个人且从相机的视角来看第一人的对象(例如,背包)与第二人(例如,未携带背包的人)重叠的拥挤环境中,这些常规系统可能不正确地生成第二人与对象之间的关联。因此,由系统进行的确定将是不准确的,并且所产生的关于对象的预测可能导致无效的安全措施。
发明内容
本公开部分地涉及通过使用一个或更多个机器学习模型来将对象关联到人。与常规系统(如在此描述的那些系统)相比,本公开的系统利用机器学习模型(如卷积神经网络(CNN))来使用与图像区域相对应的数据生成人与对象之间的关联和关系。例如,可以使用对应于人、对象、其联合或其重叠的图像的区域的位置来生成掩模的图像数据和/或坐标,以应用于机器学习模型。使用掩模而不是裁剪可以有益于神经网络,因为可以保留空间信息——诸如人和对象的维度。
照此,在不同实施例中,确定人与对象之间的关联可利用被训练为使用掩模的图像数据和/或坐标来计算人与对象关联的置信度的神经网络。在一些示例中,可使用多通道方法,其中可使用不同掩模来生成图像的多个版本并将其应用于神经网络的单个流。在另一示例中,可使用多分支方法,其中可生成图像的多个版本并将其作为输入提供给神经网络的相应分支或流。这些流中的每一个的输出随后可被级联,并被提供给神经网络的附加层(例如,一个或更多个全连接层)以预测置信度。在进一步的实施例中,不是生成图像的三个版本,而是单个图像可被用作到神经网络的输入,并且感兴趣区域(ROI)池化可被神经网络用来分析图像的与对象、人和其联合区域相对应的各个区域。例如,图像可被输入到神经网络的一系列层,并且除了ROI坐标之外,层的输出也可被输入到ROI池化层,以帮助神经网络学习和预测对应于对象、人及其联合的特征。在这样的示例中,通过使用具有ROI池化的单个图像,可以在没有关于预测对象与人之间的关联的置信度的准确度损失的情况下降低系统的运行时间。
在不同示例中,除了ROI池化之外或替代ROI池化,还可以使用多层感知器(MLP)网络。例如,除了对应于人的边界形状的归一化坐标、对应于对象的边界形状的归一化坐标、人边界形状面积与联合边界形状(例如,对象和人的联合)之比、以及对象边界形状与联合边界形状之比之外,还可以使用利用ROI池化的神经网络的预测置信度,来生成对象与人之间的关联的更新的置信度或最终置信度。照此,包括ROI池化的神经网络预测的置信度可以由MLP网络修改或验证以生成最终结果。
附图说明
下面参照所附附图详细描述用于使用机器学习模型将对象关联到人的本系统和方法,其中:
图1是示出了根据本公开的一些实施例的用于使用机器学习模型将人与对象相关联的示例方法的数据流程图;
图2A是根据本公开的一些实施例的用于使用对象和人的重叠区域将人与对象相关联的示例机器学习模型的图;
图2B是根据本公开的一些实施例的用于基于对象和人的重叠将人与对象相关联的示例方法的数据流程图;
图3A是根据本公开的一些实施例的用于使用多个通道将人与对象相关联的示例机器学习模型的图;
图3B是根据本公开的一些实施例的用于使用多通道机器学习模型将人与对象相关联的示例方法的数据流程图;
图4A是根据本公开的一些实施例的用于使用多个分支将人与对象相关联的示例机器学习模型的图;
图4B是根据本公开的一些实施例的用于使用多分支机器学习模型将人与对象相关联的示例方法的数据流程图;
图5A是根据本公开的一些实施例的用于使用感兴趣区域(ROI)池化将人与对象相关联的示例机器学习模型的图;
图5B是根据本公开的一些实施例的用于结合多层感知器(MLP)网络使用ROI池化将人与对象相关联的示例机器学习模型的图;
图5C是根据本公开的一些实施例的用于使用ROI池化将人与对象相关联的示例方法的数据流程图;以及
图6是适合用于实现本公开的一些实施例的示例计算设备的框图。
具体实施方式
公开了用于使用机器学习模型将对象关联到人的系统和方法。例如,在各个实施例中,确定人与对象之间的关联可利用神经网络,该神经网络被训练为计算人与对象关联的置信度。在这样的实施例中,一个或更多个掩模可被用于所捕获的图像(例如,静止图像和/或视频图像),以准备图像以供神经网络使用。使用掩模而不是裁剪可以有益于神经网络,因为可以保留空间信息——诸如人和对象的维度。在一个示例中,对于图像并且关于图像内的单个人和单个对象,可将掩模应用于图像以生成包括对象(或在对应于对象的边界形状内的图像的区域)、人(或具有与该人相对应的边界形状的该图像的区域)、及其联合区域的所得图像。可将此掩模的图像馈送到神经网络(例如,CNN)中,且神经网络可生成对应于对象与人之间的关联的置信度。可针对图像中的对象与人关联中的每一个重复此过程,且可使用特定对象与特定人的最高置信度来确定对象的关联。
在另一示例中,可使用多通道方法,其中可使用不同掩模生成图像的多个版本。例如,第一图像可类似于上文描述,其中可将掩模应用于作为结果留下人、对象及其联合区域的图像。第二图像可包括仅导致对象(或对应于对象的边界形状的图像的部分)的掩模,且第三图像可包括仅导致人(或对应于人的边界形状的图像的部分)的掩模。这三个图像可作为栈(stack)输入到神经网络,且神经网络可生成对应于对象与人之间的关联的置信度。可针对图像中的对象与人关联中的每一个重复此过程,且可使用特定对象与特定人的最高置信度来确定对象的关联。
在又一个实施例中,可以使用多分支方法。在这样的实施例中,并且类似于多通道方法,可以针对对象与人之间的每个可能关联来生成图像的多个版本。例如,可如上所述生成图像的相同的三个版本。在这样的示例中,图像的每个版本可作为输入提供到神经网络的相应分支或流。这些流中的每一个的输出可随后被级联,并被提供给神经网络的附加层(例如,一个或更多个全连接层)以预测置信度。可针对图像中的对象与人关联中的每一个重复此过程,且可使用特定对象与特定人的最高置信度来确定对象的关联。
在一些示例中,除了多个分支或流之外,神经网络还可以使用附加特征向量来生成置信度值。例如,可使用具有归一化检测坐标的特征向量,其中所述坐标可包括人、对象的坐标和/或人与对象面积之比。特征向量可提供独立于神经网络的分支或流从图像数据提取的附加信息。照此,在神经网络的分支或流学习预测来自图像的信息的情况下,特征向量提供对应于图像的附加信息以增加用于确定置信度的数据量。
在进一步的实施例中,不是生成图像的三个版本,而是单个图像可被用作到神经网络的输入,并且神经网络可使用感兴趣区域(ROI)池化来分析与对象、人及其联合区域相对应的图像的各个区域。例如,图像可被输入到神经网络的一系列层,并且除了ROI坐标之外,层的输出也可被输入到ROI池化层。ROI坐标可以包括人的边界形状顶点、对象的边界形状顶点及其联合的边界形状顶点。因此,ROI池化层可以用于帮助神经网络学习和预测对应于对象、人及其联合的特征——类似于生成同一图像的三个版本的实施例——但不使用多个分支或流。通过使用采用ROI池化的单个图像,可以在没有关于预测对象与人之间的关联的置信度的准确度损失的情况下降低系统的运行时间。
在一些实施例中,除了ROI池化之外或替代ROI池化,还可以使用多层感知器(MLP)网络。例如,除了对应于人的边界形状的归一化坐标、对应于对象的边界形状的归一化坐标、人边界形状面积与联合边界形状(例如,对象和人的联合)之比、以及对象边界形状与联合边界形状之比之外,还可以使用利用ROI池化的神经网络的预测置信度。此信息可以作为输入被提供给MLP网络——在实施例中其可以包括一个或更多个全连接层——以生成对象与人之间的关联的更新的置信度或最终置信度。照此,由包括ROI池化的神经网络预测的置信度可以由MLP网络修改或验证以生成最终结果。
为了随时间增加准确度,例如对于来自视频的图像,在一些实施例中可使用时间平滑。例如,可跨图像跟踪环境中的人和/或对象的轨迹。除了本文中所描述的神经网络的概率输出之外,这些轨迹还可作为输入被提供给循环神经网络(RNN)(诸如长短期记忆(LSTM)网络),并且RNN可生成指示误肯定、误否定和/或类似物的预测。例如,给定长度(例如,5、7、10等时间步长)的序列,可以贯穿整个序列维持大多数确定的但在相对较少的图像中缺失的关联(例如,误否定)。照此,指示针对给定图像缺乏关联的置信度可被更新成包括关联,其中顺序地相邻给定图像的多个图像指示关联。类似地,对于误肯定,关联的确定可被更新为不包括关联,其中与给定图像顺序相邻的多个图像指示无关联。RNN可被训练成比简单地查看跨图像序列的结果更准确地预测跨图像序列的关联,因为RNN可将对象和/或人的轨迹信息作为因素考虑。
现在参见图1,图1是示出了根据本公开的一些实施例的用于使用一个或更多个机器学习模型112将人与对象相关联的示例过程100的数据流程图。虽然过程100主要关于将人与所描述的对象相关联来描述,但这并不意图是限制性的,并且过程100可以类似地用于将任何对象类型(例如,包、食品、物品、包装、设备、行李、衣服等)与任何其他对象类型(例如,人、动物、车辆、机器人等)相关联,而不脱离本公开的范围。
用于将人与对象相关联的过程100可包括从一个或更多个传感器生成和/或接收传感器数据102。例如,传感器数据102可包括表示一个或更多个图像的图像数据和/或表示一个或更多个视频(例如,视频的快照)的图像数据。在一些情况下,图像可描绘一个或更多个人和一个或更多个对象。可以使用任何数量的传感器来生成传感器数据102。例如,在传感器是相机的情况下,可存在捕获传感器数据102的任何数量的相机。在一些实施例中,过程100可以与具有环境的视场的单个相机一起使用,而在其他实施例中,过程100可以与具有变化的视场的任何数量的相机一起使用。在非限制性示例中,一个或更多个相机可以包括一个或更多个立体相机、一个或更多个广角相机、一个或更多个红外相机、一个或更多个环绕相机、一个或更多个远程和/或中程相机和/或其他相机类型。尽管主要被描述为由一个或更多个相机捕获的图像数据,但这并不旨在是限制性的,并且在一些实施例中,除了相机之外或替代相机,还可以使用其他传感器类型(例如,LIDAR传感器、RADAR传感器、红外传感器、超声波传感器等)。在一些示例中,一个或更多个传感器可作为安全、监视或监控系统的一部分,诸如安装在环境中、建筑物内部、建筑物外部、场所处的系统和/或其组合。在一个实施例中,一个或更多个传感器可以与车辆(例如,自主车辆)或其他移动对象相关联或布置在其上。
在任何示例中,传感器数据102可以表示任何图像类型和/或格式。例如,传感器数据102可以包括诸如联合图像专家组(JPEG)格式的压缩图像,作为源自压缩视频格式(诸如H.264/高级视频编码(AVC)或H.265/高效视频编码(HEVC))的帧的压缩图像,诸如源自红透明蓝(RCCB)、红透明(RCCC)或其他类型的成像传感器的原始图像。
传感器数据预处理器104可使用表示一个或更多个图像(或其他数据表示)的传感器数据102,并将传感器数据102以多维数组/矩阵的形式(替代地称为张量,或在一些示例中更具体地称为输入张量)加载到存储器中。数组尺寸可被计算和/或表示为WxHxC,其中W代表以像素为单位的图像宽度,H代表以像素为单位的高度,C代表颜色通道的数量。在不失一般性的情况下,输入图像分量的其他类型和排序也是可能的。另外,当使用批处理时,批大小B可用作维度(例如,附加的第四维度)。批处理可以用于训练和/或推理。由此,输入张量可表示维度WxHxCxB的数组。维度的任何排序都是可能的,这可取决于用于实现传感器数据预处理器104的特定硬件和软件。可以选择该排序以最大化一个或更多个机器学习模型112的训练和/或推理性能。
传感器数据预处理器104可以采用预处理图像管线来处理由传感器获取并包括在传感器数据102中的原始图像,以产生经预处理的传感器数据。合适的预处理图像管线的示例可以使用来自传感器的原始RCCB拜耳(例如,1通道)类型的图像,并且将该图像转换成以固定精度(例如,每通道16位)格式存储的RCB(例如,3通道)平面图像。预处理图像管线可以包括分解、降噪、去马赛克、白平衡、直方图计算和/或自适应全局色调映射(例如,按该顺序或按替代顺序)。
对象检测器106可以(在实施例中,从传感器数据预处理器104)接收传感器数据102。对象检测器106可使用计算机视觉算法、对象检测算法和/或一个或更多个机器学习模型来检测由传感器数据102表示的对象和/或人(例如,在由传感器数据表示的图像中描绘)。例如,对象检测器106可以用于(以及相应地训练或编程为)生成与在由传感器数据102所表示的图像(或其他传感器数据表示,如来自LIDAR传感器的深度图)中所描绘的对象(例如,包、包装、背包、行李、物品等)和人(例如,人、成人、儿童、动物等)相对应的边界形状。在一些示例中,边界形状可由对象检测器106计算为边界形状的顶点的像素位置,边界形状的质心的像素位置、边界形状的像素尺寸(例如,长度和宽度)、边界形状的边界的像素位置、边界形状的每个像素的像素位置和/或它们的组合。
在一些实施例中,对应于人和对象的边界形状可用于生成或确定对象区域(例如,对应于对象的图像区域,诸如对应于对象的边界形状内的图像区域),人区域(例如,对应于人的图像区域,诸如对应于人的边界形状内的图像区域),重叠区域(例如,对应于对象和人之间的重叠的图像区域,诸如对应于对象的边界形状与对应于人的边界形状重叠的图像区域),和/或联合区域(例如,与对应于人的图像区域和对应于对象的区域的组合相对应的图像区域)。照此,在一些实施例中,由对象检测器106生成的边界形状可用于确定图像的人区域、对象区域、联合区域和/或重叠区域。如本文更详细描述的,这些区域中的一个或更多个区域可以用于由掩模生成器108将掩模应用于传感器数据102,以生成要应用于一个或更多个机器学习模型112的经掩模的传感器数据122。在一些示例中,关系确定器可使用这些区域中的一个或更多个以确定由传感器数据102表示的对象与人(例如,在关联区域内)之间的关联或关系。
在一些实施例中,对于由对象检测器检测到的每一个对象,可针对也在具有该对象的图像中检测到的一个或更多个人确定关系置信度(例如,置信度116)。对于非限制性示例,可鉴于(in view of)从传感器数据102检测到的每一个人来确定每一个对象的置信度116。然而,因为一些人可能离传感器数据102所描绘的环境中的对象足够远,所以确定每一人的置信度116可导致不必要的计算花费,且可能增加系统的运行时间。照此,在一些实施例中,关联区域可由关系确定器110确定。例如,关系确定器110可使用对象检测器106的输出来滤除不应具有针对其预测的置信度116的一些人(例如,远离对象阈值距离的人),和/或集中于应当具有针对其预测的置信度116的人(例如,距对象在阈值距离内的人)。对于在传感器数据102的实例内检测到的给定对象,可使用对应于该对象的像素坐标来确定关联区域。例如,在对象检测器106输出与对象的边界形状相对应的质心的情况下(或者在可以从对象检测器106的输出推导出边界形状的质心的情况下),该质心可以用于生成与在其中心处的质心的关联区域。例如,关联区域可被生成为具有从边界形状的质心扩展的半径。在非限制性实施例中,半径可被确定为对应于对象的边界形状的半径(或高度或宽度)的倍数(例如,2x、3x等)。在其他示例中,如由对象检测器106确定的,对应于对象的边界形状的尺寸和/或位置可以用于生成关联区域。例如,在传感器数据102的实例内的边界形状的尺寸和/或位置已知的情况下,这些尺寸的倍数(例如,2x、3x等)可用于生成关联区域(例如,关联区域可为边界形状的大小的倍数,其以对象检测器106所计算的边界形状的质心为中心)。作为另一示例,可使用对象的高度或宽度或对应于其的边界形状来确定半径。例如,半径可为对象的高度或宽度的2x、3x、4x或另一因数。
一旦确定关联区域,关系确定器110便可确定在对应于给定对象的关联区域内的人(或其相应边界形状)。例如,对于给定对象,关联区域内的每个人(例如,至少部分地在关联区域内的每个人,具有与关联至少部分地重叠的边界形状的每个人,和/或其边界形状完全在关联区域内的每个人)可被确定为具有与对象的潜在关系或关联。照此,在传感器数据102的实例中描绘的人的此集合或子集可以是针对其确定置信度116的人。然而,如上所述,在一些示例中,可在不使用关联区域或不管关联区域如何的情况下针对每一人确定关系。
在任何示例中,一旦确定了针对其生成置信度116的人,该信息就可被用来确定给定或相应对象与人中的每个人之间的置信度116。在一些实施例中,一个或更多个机器学习模型112的实例可以应用于每个对象/人对(例如,对于被确定为与对象相关联或与对象具有关系的每个人,对应于对象和第一人的数据可以应用于一个或更多个机器学习模型112的第一实例或实例化,对应于对象和第二人的数据可以应用于一个或更多个机器学习模型112的第二实例或实例化,等等)。另外,可针对每一对象或针对需要关系的任何数目的对象中的每一对象重复此过程。照此,在期望确定两个或更多个对象的关联或关系的情况下,对应于第一对象和人的数据可以被应用于一个或更多个机器学习模型112的第一实例或实例化,与第二对象和人相对应的数据可以被应用于一个或更多个机器学习模型112的第二实例或实例化,等等。
取决于实施例,对于由关系确定器110确定的每个人/对象对,传感器数据102和/或掩模的传感器数据122可以被应用于一个或更多个机器学习模型112以预测或计算置信度116。在一些示例中,除了传感器数据102和/或掩模的传感器数据122之外,坐标120可以被应用于一个或更多个机器学习模型112以帮助一个或更多个机器学习模型112对置信度116的预测或提供更多上下文。在使用掩模的传感器数据122的实施例中,掩模可包括人掩模(例如,掩蔽掉图像的不对应于人的每一部分或其边界形状),对象掩模(例如,掩蔽掉图像的不对应于对象的每一部分或其边界形状),联合掩模(例如,掩蔽掉图像的不对应于人与对象的联合的每一部分,或其边界形状),和/或重叠掩模(例如,掩蔽掉图像的不对应于人与对象的重叠的每一部分,或其边界形状)。照此,在非限制性示例中,掩模生成器108可以使用从对象检测器106的输出确定的并且在本文中更详细地描述的人区域、对象区域、联合区域和/或重叠区域来确定针对一个或更多个机器学习模型112的给定迭代的一个或更多个掩模。在一些示例中,掩模可包括将对应于图像的掩模部分的像素值转换或改变为相同值(例如,1或0,对应于黑色或白色)。如本文中所描述的,可以使用掩模来代替裁剪图像,以使得一个或更多个机器学习模型112能够考虑一个或更多个人区域、对象区域、联合区域和/或重叠区域相对于一个或更多个图像的空间维度的相对大小或维度。例如,在图像被裁剪而不是被掩模的情况下(例如,因为一个或更多个机器学习模型112的输入空间维度对于每次迭代必须是相同的),一个或更多个机器学习模型112可能不能够考虑人、对象、其联合和/或其重叠的实际大小、维度或空间关系。照此,通过掩蔽掉图像的要被忽略的部分,图像的剩余部分可以由一个或更多个机器学习模型112以剩余部分的大小或维度的上下文来分析。
在一些实施例中,如在此更详细描述的,坐标确定器114可以确定对象区域、人区域、重叠区域和/或联合区域的坐标120——例如,使用对象检测器106的输出。照此,在一些示例中,坐标确定器114可以确定与对象区域相关联的第一坐标、与人区域相关联的第二坐标、与联合区域相关联的第三坐标、和/或与重叠区域相关联的第四坐标。另外,在一些实施例中,坐标确定器114可以确定人区域、对象区域、重叠区域和/或联合区域之间的和之中的面积比。例如,人区域与重叠区域之比、对象区域与重叠区域之比和/或其他比可由坐标确定器114确定且由坐标120表示。在任何示例中,坐标120可以包括边界形状的质心的像素位置以及尺寸(例如,边界形状的像素长度和像素宽度),和/或可以包括对应于顶点和/或沿边界形状(或其联合或重叠)的其他点的像素位置。
在一些实施例中,姿势特征可在训练期间和/或在推理期间使用以改进系统的性能。例如,姿势特征可提供人的身体的关节的关键点,这可帮助确定特定人是否携带或以其他方式握在对象上。例如,在手臂弯曲并且袋子从弯曲的手臂悬挂的情况下,手臂的弯曲可以是姿势特征,该姿势特征向一个或更多个机器学习模型112提供附加的指示:具有弯曲手臂的人可以是持有或者以其他方式与袋子相关联的人。
表示传感器数据102(和/或预处理的传感器数据)、掩模的传感器数据122和/或坐标120的数据可以被应用于一个或更多个机器学习模型112——在本文中至少关于图2A-5C描述了所述机器学习模型的各个实施例。可以训练一个或更多个机器学习模型112以预测置信度116,所述置信度116对应于在每次迭代时输入数据所对应的人/对象对之间的关联。例如,置信度116可表示给定对象被针对其计算对象/人对的人拥有、携带或以其他方式与其相关联(例如,针对关系确定器110确定的每一人)的可能性。在一些方面中,最终确定可以为来自具有最高置信度116的人/对象对的人与对象相关联。如此,一个或更多个机器学习模型112可以生成与每个对象/人对相关联的多个置信度,并且最高置信度116可以例如由后处理器118用于确定该对象属于来自相应的对象/人对的人。在一些示例中,如本文所描述的,一个或更多个机器学习模型112所计算的置信度116可以使用后处理器118经历后处理(诸如时间平滑)。
尽管在此关于使用神经网络(并且具体地,卷积神经网络(CNN)和/或多层感知器(MLP)网络)作为机器学习模型112(例如,关于图2A-5C)描述了示例,但这不旨在是限制性的。例如,但不限于,本文描述的机器学习模型112可以包括任何类型的机器学习模型,诸如使用线性回归、逻辑回归、决策树、支持向量机(SVM)、朴素贝叶斯、k最近邻(KNN)、K均值聚类、随机森林、降维算法、梯度提升算法、神经网络(例如,自动编码器、卷积、循环、感知器、长/短期记忆(LSTM)、霍普菲尔德、玻尔兹曼、深度置信、解卷积、生成对抗、液态机等)的机器学习模型,和/或其他类型的机器学习模型。
作为示例,诸如在一个或更多个机器学习模型112包括CNN的情况下,一个或更多个机器学习模型112可以包括任何数量的层。所述层中的一个或更多个层可包括输入层。输入层可保持与传感器数据102(例如,在后处理之前或之后)、掩模的传感器数据122和/或坐标120相关联的值。例如,当传感器数据102是图像时,输入层可将表示图像的原始像素值的值保持为体(例如,宽度、高度和颜色通道(例如,RGB),诸如32x32x3)。
一个或更多个层可以包括卷积层。卷积层可以计算输入层中连接到局部区域的神经元的输出,每个神经元计算它们的权重与它们所连接到的输入体中的小区域之间的点积。卷积层的结果可以是另一个体,其中一个维度基于所应用的滤波器的数量(例如,宽度、高度和滤波器的数量,诸如32x32x12,如果滤波器的数量是12)。
一个或更多个层可以包括整流线性单元(ReLU)层。ReLU层可以应用逐元素激活函数,例如max(0,x),例如零阈值化。得到的ReLU层的体可以与ReLU层的输入的体相同。
这些层中的一个或更多个层可以包括池化层。池化层可以沿着空间维度(例如,高度和宽度)执行下采样操作,这可以导致比池化层的输入更小的体(例如,从32x32x12输入体得到的16x16x12)。
所述层中的一个或更多个层可包括一个或更多个全连接层。全连接层中的每个神经元可连接到先前体中的每个神经元。全连接层可计算类别得分,且所得到的体可为1x1x数目的类别。在一些示例中,CNN可包括全连接层,使得CNN的一个或更多个层的输出可作为输入被提供到CNN的全连接层。在一些示例中,一个或更多个卷积流可以由一个或更多个机器学习模型112实现,并且一些或全部卷积流可以包括各自的一个或更多个全连接层。
尽管在本文中关于一个或更多个机器学习模型112讨论了输入层、卷积层、池化层、ReLU层和全连接层,但是这不旨在是限制性的。例如,可以在机器学习模型112中使用附加的或替代的层,诸如归一化层、SoftMax层和/或其他层类型。
在机器学习模型112包括CNN的实施例中,取决于实施例,可以使用CNN的层的不同顺序和数量。换言之,一个或更多个机器学习模型112的层的顺序和数量不限于任何一个架构。
此外,一些层可包括参数(例如,权重),诸如卷积层和全连接层,而其他层可不包括参数,诸如ReLU层和池化层。在一些示例中,可以在训练期间由一个或更多个机器学习模型112来学习参数。进一步,一些层可以包括附加的超参数(例如,学习速率、步幅、时期等),诸如卷积层、全连接层和池化层,而其他层可以不包括,诸如ReLU层。参数和超参数不受限制,并且可以根据实施例而不同。
后处理器118可用于执行各种任务。例如,后处理器118可以分析由机器学习模型112计算的对应于每个对象/人对的置信度116中的每个置信度,并且确定哪个置信度116(例如,最高置信度)指示最可能的人与对象关联。此外,在一些实施例中,后处理器118可以执行时间平滑。例如,可使用对图像序列的时间滤波来减少或甚至消除误肯定关联(例如,其中对象和人不正确地关联)和误否定(其中人和对象关联由于光照改变、遮挡、混淆等而错过或不正确地消失)。在这样的示例中,可以通过将连续序列或连续图像的片段输入到诸如长短期记忆(LSTM)网络之类的循环神经网络(RNN)中来执行时间滤波。对RNN的输入可以包括一个或更多个机器学习模型112的概率输出与对象的轨迹及其相应的主题假设的组合。例如,但不限于,可以使用五个、七个的序列或者任意数量的N个的多个序列作为输入。在一些实施例中,在整个序列中仍然可以维持大多数确定的但在相对较少的图像中缺失或不确定的关联(例如,误否定)。类似地,单数或以其他方式相对较少的关联可被确定为误肯定并被滤除或忽略。
现在参见图2A,图2A是根据本公开的一些实施例的用于使用人与对象之间的重叠区域将人与对象相关联的示例机器学习模型112A的图。例如,机器学习模型112A可以是图1的机器学习模型112的一个示例架构。在一些示例中,因为机器学习模型112A可以是CNN,所以机器学习模型112A可以被称为CNN 112A。此外,尽管CNN 112A被示为具有图2A的架构,但这不旨在进行限制,并且CNN 112A可包括不同的架构而不背离本公开的范围。
CNN 112A可使用掩模的传感器数据202作为输入。类似于图1的掩模的传感器数据122,掩模的传感器数据202可以包括图像其余部分被掩蔽掉的重叠区域。例如,如图2A所示,图像的被划上交叉阴影线的部分可表示图像的被掩蔽部分,并且图像的未掩蔽部分可包括重叠区域。如本文所描述的,重叠区域可以包括其中对象218(或其边界形状)与人216A(或其边界形状)重叠的图像的区域。掩模的传感器数据202示出了一个实例,并且在其他实例中,比较可以在人216B和对象218之间,和/或可以在由关系确定器110(图1)确定的关联区域内的人和对象之间。照此,关于掩模的传感器数据202,掩模的传感器数据202可以应用于特征提取器204(例如,包括CNN 112A的一个或更多个特征提取器层,诸如本文中关于图1的机器学习模型112描述的层类型中的一个或更多个)。掩模的传感器数据202可表示重叠区域内的实际像素值和对应于被应用于图像的剩余部分的掩模的掩模像素值(例如,1、0等)。在其他示例中,替代应用掩模,可将裁剪应用到传感器数据以仅留下剩余的重叠区域。在这样的示例中,传感器数据可被增强以匹配CNN 112A的输入层的空间维度。
在一些非限制性实施例中,特征提取器204可包括残差网络。例如,特征提取器204可包括深度神经网络(DNN),其包括大量层(例如,30-50层),且为了加速收敛以及特征提取器204的准确性,可使用残差网络。残差网络可以通过将第n层的输入直接连接到某个第(n+x)层(例如,跳过连接)来使用层之间的快捷连接,以参照层输入来学习残差函数,而不是学习未参照的函数。在其他示例中,特征提取器204可不包括残差网络,且可包括另一类型的特征提取器204。掩模的传感器数据202可以作为到特征提取器204的输入被接收,并且特征提取器204可以输出对应于掩模的传感器数据202的特征向量206或特征映射。在一些示例中,由特征提取器204输出的特征向量206可以具有如图2A中所示出的32×3×3的空间分辨率,但这不旨在是限制性的。在任何示例中,特征向量(和/或来自CNN 112A的一个或更多个附加层的输出,CNN 112A可接收特征向量作为输入)可被应用于全连接(FC)层208。FC层208然后可计算输出,该输出可作为输入提供给另一FC层210。在一些示例中,FC层208的维度可大于FC层210的维度。尽管图2A中示出了多个FC层,但这不旨在进行限制,并且在不背离本公开的范围的情况下可以使用任意数量的FC层(和/或其他层类型)。在实施例中,FC层210的输出可被应用于sigmoid函数212,并且sigmoid函数212的输出可以是置信度116。如此,CNN 112A可以相对于图2A中的掩模的传感器数据202的示例用于预测或计算对象218属于人216A的置信度。
参见图2B,图2B是根据本公开的一些实施例的用于使用机器学习模型将对象关联到人的示例方法250的图。方法250的每个框可包括可使用硬件、固件和/或软件的任何组合执行的计算过程。例如,不同功能可由执行存储在存储器中的指令的处理器执行。方法250还可体现为存储在计算机存储介质上的计算机可用指令。仅举几例,方法250可由独立应用、服务或托管服务(独立地或与另一托管服务组合)或另一产品的插件来提供。另外,通过示例的方式,关于图1和图2A来描述方法250。然而,此方法可另外或替代地由任一系统或系统的任何组合执行,所述系统包括但不限于本文中所描述的系统。
在框B252处,方法250包括从图像确定与对象相关联的一个或更多个人。例如,方法250可包括从传感器数据102且使用关系确定器110确定与对象相关联的一个或更多个人。在一些实施例中,诸如在一个或更多个人与对象相关联的情况下,框B254、B256、B258、B260和B262中的每一个可以针对一个或更多个人中的每一个同时执行(例如,使用一个或更多个机器学习模型112的多个实例的并行处理)或者可以顺序地执行(例如,一次一个人)。
在框B254处,方法250包括确定图像的重叠区域。例如,确定传感器数据102的重叠区域,该重叠区域对应于由传感器数据102表示的对象的对象区域与人的人区域的重叠。
在框B256处,方法250包括将掩模应用于图像的不包括在重叠区域中的部分以生成经掩模的图像。例如,将掩模应用于传感器数据102的不包括在重叠区域中的部分以生成掩模的传感器数据122。在一些示例中,掩模的传感器数据122可由掩模生成器108生成。
在框B258处,方法250包括将经掩模的图像应用于神经网络。例如,掩模的传感器数据(例如,122或202)可以应用于一个或更多个机器学习模型112(例如,CNN 112A)。
在框B260处,方法250包括使用神经网络计算对象与人之间的关联的置信度。例如,可以使用机器学习模型112(例如,CNN 112A)来计算对应于人216A和对象218的置信度116。此外,可以为被确定为与对象(例如,人216B)相关联或与对象(例如,人216B)具有关系的每个人计算置信度116。
在框B262处,方法250包括以最高关联置信度将对象与一个或更多个人中的人相关联。如本文所描述的,一个或更多个机器学习模型112可以生成多个置信度(例如,由对应于每个人/对象对的一个或更多个机器学习模型112的每个实例化生成一个置信度),并且由一个或更多个机器学习模型112输出的具有最高置信度的对象/人对可以被确定为对象和人的配对。例如,对象218可以被确定为与人216A相关联。
现在参见图3A,图3A是根据本公开的一些实施例的用于使用多个通道将人与对象相关联的示例机器学习模型112B的图。例如,机器学习模型112B可以是图1的机器学习模型112的一个示例架构。在一些示例中,因为机器学习模型112B可以是CNN,所以机器学习模型112B可以被称为CNN 112B。此外,尽管CNN 112B被示为具有图3A的架构,但这不旨在进行限制,并且CNN 112B可包括不同的架构而不背离本公开的范围。
CNN 112B可以使用掩模的传感器数据302作为输入。掩模的传感器数据302,类似于图1的掩模的传感器数据122,可包括对应于联合区域(例如,包括人和对象的联合的图像区域,或对应于其的边界形状)的第一掩模传感器数据302A,其中图像的其余部分被掩蔽掉,对应于对象区域的第二掩模传感器数据302B(例如,对应于对象的图像部分,或对应于其的边界形状),其中图像的剩余部分被掩蔽掉,以及对应于人区域的第三掩模传感器数据302C(例如,对应于人的图像部分,或对应于其的边界形状),其中图像的剩余部分被掩蔽掉。例如,如图3A所示,划上交叉阴影线的图像部分可表示图像的被掩蔽部分,并且图像的未被掩蔽部分可包括联合区域、人区域和/或对象区域。第一掩模传感器数据302A、第二掩模传感器数据302B和第三掩模传感器数据302C中的每一个可从相同的原始传感器数据(例如,从相同的图像)生成。掩模的传感器数据302示出了一个实例,并且在其他实例中,比较可以在人216B和对象218之间,和/或可以在由关系确定器110(图1)确定的关联区域内的人和对象之间。掩模的传感器数据302可表示联合区域、对象区域和人区域内的实际像素值,且掩模的像素值可用于表示不在相应区域内的图像的剩余部分。在其他示例中,替代应用掩模,可将裁剪应用于传感器数据以仅留下剩余的联合区域、对象区域和人区域。在这样的示例中,传感器数据可被增强以匹配CNN 112B的输入层的空间维度。
照此,关于掩模的传感器数据302,掩模的传感器数据302可以应用于特征提取器304(例如,包括CNN 112B的一个或更多个特征提取器层,诸如本文中关于图1的机器学习模型112描述的层类型中的一个或更多个)。在一些示例中,特征提取器304可类似于本文描述的特征提取器204。在一些实施例中,掩模的传感器数据302可作为栈或作为多个通道被作为输入应用于CNN 112B。特征提取器304可以使用掩模的传感器数据302的组合输入来生成对应于掩模的传感器数据302的特征向量306和/或特征映射。在一些示例中,由特征提取器304输出的特征向量可以具有3x3的空间分辨率,如图3A所示,但是这不旨在是限制性的。特征向量306(和/或CNN 112B的一个或更多个附加层的输出)可应用于FC层308。尽管图3A中仅示出了单个FC层308,但这不旨在进行限制,并且在不背离本公开的范围的情况下可以使用任意数量的FC层308(和/或其他层类型)。在实施例中,FC层308的输出可被应用于sigmoid函数310,并且sigmoid函数310的输出可以是置信度116。如此,CNN 112B可以关于图3A中掩模的传感器数据302的实例用于预测或计算对象218属于人216A的置信度。
参见图3B,图3B是根据本公开的一些实施例的用于使用多通道机器学习模型将对象关联到人的示例方法350的图。方法350的每个框可包括可使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,不同功能可由执行存储在存储器中的指令的处理器执行。方法350还可体现为存储在计算机存储介质上的计算机可用指令。仅举几例,方法350可由独立应用、服务或托管服务(独立地或与另一托管服务组合)或另一产品的插件来提供。另外,通过示例的方式,关于图1和图3A来描述方法350。然而,此方法可另外或替代地由任一系统或系统的任何组合执行,所述系统包括但不限于本文中所描述的系统。
在框B352处,方法350包括从图像确定与对象相关联的一个或更多个人。例如,方法350可包括从传感器数据102确定与对象相关联的一个或更多个人。在一些示例中,关系确定器110可例如通过使用图像内的关联区域来确定人与对象之间的关联,如本文中所描述的。在一个或更多个人与对象相关联的情况下,可针对一个或更多个人中的每一个执行框B354、B356、B358、B360和B362中的每一个。
在框B354处,方法350包括确定图像的联合区域、人区域和对象区域。例如,对象检测器106的输出可用于确定图像的联合区域、人区域和/或对象区域。
在框B356处,方法350包括生成第一掩模的图像、第二掩模的图像和第三掩模的图像。例如,联合区域可以用于生成第一掩模传感器数据302A,对象区域可以用于生成第二掩模传感器数据302B,并且人区域可以用于生成第三掩模传感器数据302C。
在框B358处,方法350包括将表示第一掩模的图像、第二掩模的图像和第三掩模的图像的数据应用于神经网络。例如,第一掩模传感器数据302A、第二掩模传感器数据302B和第三掩模传感器数据302C可以应用于机器学习模型112(例如,CNN 112B)。不同于本文中至少关于图4A所描述的机器学习模型112C,掩模的传感器数据302可作为栈或通道应用于CNN112B的单个流,而不是将掩模的传感器数据302A、302B和302C中的每一个应用于相应的流(如关于CNN 112C所讨论的)。
在框B360处,方法350包括使用神经网络计算对象与人之间的关联的置信度。例如,可以使用机器学习模型112(例如,CNN 112B)来计算对应于人216A和对象218的置信度116。此外,可以为被确定为与对象(例如,人216B)相关联或与对象(例如,人216B)具有关系的每个人计算置信度116。
在框B362处,方法350包括以最高关联置信度将对象与一个或更多个人中的人相关联。如本文所描述的,一个或更多个机器学习模型112可以生成多个置信度(例如,由对应于每个人/对象对的一个或更多个机器学习模型112的每个实例化生成一个置信度),并且由一个或更多个机器学习模型112输出的具有最高置信度的对象/人对可以被确定为对象和人的配对。例如,对象218可以被确定为与人216A相关联。
参见图4A,图4A是根据本公开的一些实施例的用于使用多个分支或流将人与对象相关联的示例机器学习模型的图。例如,机器学习模型112C可以是图1的机器学习模型112的一个示例架构。在一些示例中,因为机器学习模型112C可以是CNN,所以机器学习模型112C可以被称为CNN 112C。此外,尽管CNN 112C被示为具有图4A的架构,但这不旨在进行限制,并且CNN 112C可包括不同的架构而不背离本公开的范围。
CNN 112C可以使用掩模的传感器数据302作为输入,其可以类似于本文中至少关于图3A所描述的掩模的传感器数据302。然而,与关于图3A所描述的CNN 112B不同,图4A的掩模的传感器数据302可以应用于CNN 112C的多个卷积流或分支。例如,第一掩模传感器数据302A可被应用于包括特征提取器418(其可以与关于图2A和/或图3A描述的特征提取器204相同或相似)的第一卷积流,第二掩模传感器数据302B可以被应用于包括特征提取器412(其可以与关于图2A和/或图3A描述的特征提取器相同或类似)的第二卷积流,并且第三掩模传感器数据302C可以应用于包括特征提取器404(其可以与关于图2A和/或图3A描述的特征提取器相同或相似)的第三卷积流。照此,每个相应的掩模的传感器数据302可以分别具有由特征提取器418、412和404生成的各自的特征向量420、414和406和/或特征映射。结果,关于掩模的传感器数据302,掩模分传感器数据302可被应用于特征提取器420、414、406(例如,每个包括CNN 112C的一个或更多个特征提取器层,诸如本文中关于图1的机器学习模型112所描述的层类型中的一个或更多个)。在一些示例中,特征提取器420、414和406可以类似于本文描述的特征提取器204和/或304的特征提取器。然而,通过使用单独的卷积流,可以训练每个特征提取器以预测与特定类型的掩模的传感器数据302相对应的特征向量(例如,可以在联合区域上训练第一流,在对象区域上训练第二流,并且在人区域上训练第三流)。照此,CNN 112C可由于在训练期间特别聚焦于针对相应类型的掩模的传感器数据302更新流的参数(例如,权重和偏置)而生成更准确的特征向量。在一些示例中,由特征提取器输出的特征向量可以具有3x3或8x3x3的空间分辨率(如图4A所示),但是这不旨在是限制性的。特征向量420、414和406(和/或流的一个或更多个附加层的输出)可以在框408处被级联,并且被级联的输出可以被应用到FC层和sigmoid函数422。尽管图4A中仅示出了单个FC层,但这并非旨在进行限制,并且可使用任何数量的FC层(和/或其他层类型)而不背离本公开的范围。FC层和sigmoid函数的输出可以是置信度116。如此,CNN 112C可以相对于图4A中的掩模的传感器数据302的示例用于预测或计算对象218属于人216A的置信度。
在一些实施例中,如图4A中虚线所示,归一化坐标424可用作CNN 112C的附加输入,用于确定置信度116。例如,归一化坐标424可以包括关于图1描述的坐标120的一些或全部。在非限制性实施例中,归一化坐标424可以包括人坐标(例如,对应于人区域的坐标,诸如描绘人区域的边界形状),对象坐标(例如,对应于对象区域的坐标,例如界定对象区域的边界形状),和/或人区域与对象区域之比。归一化坐标424可提供关于预测置信度116的CNN112C的附加信息。虽然描述为归一化坐标,但这不意图为限制性的,且在一些示例中,坐标可不经归一化。
在使用归一化坐标的示例中,归一化坐标424可被应用于sigmoid函数426,并且sigmoid函数426的输出可与FC层和sigmoid函数422的输出组合或级联。这些组合的输出随后可被应用到sigmoid函数428,并且sigmoid函数428可输出置信度116。如此,CNN 112C可以相对于图4A中的掩模的传感器数据302的实例和归一化坐标424用于预测或计算对象218属于人216A的置信度。
参见图4B,图4B是根据本公开的一些实施例的用于使用多流机器学习模型将对象关联到人的示例方法450的图。方法450的每个框可包括可使用硬件、固件和/或软件的任何组合执行的计算过程。例如,不同功能可由执行存储在存储器中的指令的处理器执行。方法450还可以体现为存储在计算机存储介质上的计算机可用指令。仅举几例,方法450可由独立应用、服务或托管服务(独立地或与另一托管服务组合)或另一产品的插件提供。另外,通过示例的方式,关于图1和图4A描述方法450。然而,此方法可另外或替代地由任一系统或系统的任何组合执行,所述系统包括但不限于本文中所描述的系统。
在框B452处,方法450包括从图像确定与对象相关联的一个或更多个人。例如,可确定与对象相关联的一个或更多个人。在一些示例中,关系确定器110可例如通过使用图像内的关联区域来确定人与对象之间的关联,如本文中所描述。在一个或更多个人与对象相关联的情况下,可针对一个或更多个人中的每一个执行框B454、B456、B458、B460和B462中的每一个。
在框B454处,方法450包括确定图像的联合区域、人区域和对象区域。例如,对象检测器106的输出可用于确定图像的联合区域、人区域和/或对象区域。
在框B456处,方法450包括生成第一掩模的图像、第二掩模的图像和第三掩模的图像。例如,联合区域可以用于生成第一掩模的传感器数据302A,对象区域可以用于生成第二掩模的传感器数据302B,并且人区域可以用于生成第三掩模的传感器数据302C。
在框B458处,方法450包括将第一数据应用于神经网络的第一流,将第二数据应用于神经网络的第二流,以及将第三数据应用于神经网络的第三流。例如,第一掩模的传感器数据302A可以应用于CNN 112C的第一流,第二掩模的传感器数据302B可以应用于CNN 112C的第二流,并且第三掩模的传感器数据302C可以应用于CNN 112C的第三流。
在框B460处,方法450包括使用包括第一流、第二流和第三流的神经网络来计算对象与人之间的关联的置信度。例如,可以使用机器学习模型112(例如,CNN 112C)来计算对应于人216A和对象218的置信度116,其中第一流、第二流和第三流用于进行预测。此外,可以为被确定为与对象(例如,人216B)相关联或与对象(例如,人216B)具有关系的每个人计算置信度116。
在框B462处,方法450包括以最高关联置信度将对象与一个或更多个人中的人相关联。如本文所描述的,一个或更多个机器学习模型112可以生成多个置信度(例如,由对应于每个人/对象对的一个或更多个机器学习模型112的每个实例化生成一个置信度),并且由一个或更多个机器学习模型112输出的具有最高置信度的对象/人对可以被确定为对象和人的配对。例如,对象218可以被确定为与人216A相关联。
现在参见图5A,图5A是用于使用感兴趣区域(ROI)池化将人与对象相关联的示例机器学习模型112D的图。例如,机器学习模型112D可以是图1的机器学习模型112的一个示例架构。在一些示例中,因为机器学习模型112D可以是CNN,所以机器学习模型112D可以被称为CNN 112D。此外,尽管CNN 112D被示为具有图5A的架构,但这不旨在进行限制,并且CNN112D可包括不同的架构而不背离本公开的范围。
CNN 112D可使用传感器数据502(例如,未掩模的传感器数据)作为输入,其可类似于本文中至少关于图1描述的传感器数据102。传感器数据502可以应用于CNN 112D的特征提取器504(例如,包括CNN 112D的一个或更多个特征提取器层,诸如在此关于图1的机器学习模型112所描述的层类型中的一个或更多个)。在一些示例中,特征提取器504可类似于本文描述的特征提取器204和/或304的特征提取器。由特征提取器504输出的特征向量或特征映射可以应用于感兴趣区域(ROI)池化层506。ROI池化层可以用于对由特征提取器504生成的特征向量或特征映射执行池化操作(例如,过滤器)。池化层可以将特征向量或特征映射的大小减小某个因子(例如,因子2、3等),以考虑输入图像(例如,传感器数据502)中的特征的位置的小移动的可能性。例如,池化层506可用于分别总结特征的平均存在和特征的最活跃存在。在一些示例中,除了特征映射之外,ROI坐标524还可以应用于CNN 112D的ROI池化层506。ROI坐标524可以帮助ROI池化层506预测特定于由ROI坐标524标识的区域(例如,人区域518、对象区域520和联合区域522)的信息。例如,ROI坐标524的人区域518可包括对应于人区域518的坐标120,ROI坐标524的对象区域520可包括对应于对象区域520的坐标120,ROI坐标524的联合区域522可包括对应于联合区域522的坐标120。通过向ROI池化层506提供ROI坐标524,CNN 112D可以更准确地说明由特征提取器504计算的特征映射的对应于人区域518、对象区域520和联合区域522的部分。例如,当使用ROI坐标524时,ROI池化层506可以使用对应于人、袋子和/或其联合的精确或接近精确的池化的特征。照此,不必生成对应于这些区域中的每个区域的掩模的传感器数据(由此降低系统的预处理要求),CNN 112D能够使用ROI池化层506和ROI坐标524来解释这些区域,从而与其他方法相比减少了CNN 112D的计算支持和运行时间。此外,当使用ROI池化时,用于训练CNN 112D的训练时间显著减少。
ROI池化层506的输出可以包括卷积特征508,并且卷积特征508(和/或CNN 112D的任何附加层的输出)可以被提供给全连接层510。尽管图5A中仅示出了单个FC层,但这并非旨在进行限制,并且可使用任何数量的FC层(和/或其他层类型)而不背离本公开的范围。全连接层510的输出可被应用于sigmoid函数512以生成置信度116。如此,CNN 112D可以相对于图5A中的传感器数据502和ROI坐标524的实例用于预测或计算对象218属于人216A的置信度。
现在参见图5B,图5B是用于使用图5A的ROI池化和多层感知器(MLP)网络将人与对象相关联的示例机器学习模型112E的图。例如,机器学习模型112E可以是图1的机器学习模型112的一个示例架构。在一些示例中,因为机器学习模型112E可以是MLP网络,所以机器学习模型112E可以被称为MLP 112E。另外,尽管MLP 112E被示为具有图5B的架构,但这不旨在是限制性的,并且MLP 112E可包括不同的架构而不背离本公开的范围。
MLP 112E可以接收如由CNN 112D计算的置信度116和归一化坐标532作为输入。例如,归一化坐标532可以包括关于图1描述的坐标120的一些或全部。在非限制性实施例中,归一化坐标532可以包括人坐标(例如,对应于人区域的坐标,诸如描绘人区域的边界形状),对象坐标(例如,对应于对象区域的坐标,例如界定对象区域的边界形状),人区域与联合区域之比,和/或对象区域与联合区域之比。归一化坐标532可提供MLP 112E的关于预测最终置信度540的额外信息。虽然描述为归一化坐标,但这不意图为限制性的,且在一些示例中,坐标可不经归一化。
可将归一化坐标532和置信度116作为输入提供到一个或更多个FC层,例如FC层534。例如,可将归一化坐标532和置信度116输入到FC层534,FC层534的输出可作为输入被提供给FC层536,FC层536的输出可作为输入被提供给FC层538,并且FC层538的输出可以是最终置信度540。在一些示例中,FC层534和536可以输出比FC层538更大的尺寸。对于非限制性实施例,FC层534和536可以具有64的尺寸,而FC层538可以具有1的尺寸(例如,指示最终置信度540)。尽管图5B中示出了三个FC层,但是这不旨在进行限制,并且在不背离本公开的范围的情况下可以使用任意数量的FC层(和/或其他层类型)。
现在参见图5C,图5C是根据本公开的一些实施例的用于使用ROI池化将对象关联到人的示例方法550的流程图。方法550的每个框可包括可使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,不同功能可由执行存储在存储器中的指令的处理器执行。方法550还可以体现为存储在计算机存储介质上的计算机可用指令。仅举几例,方法550可以由独立应用、服务或托管服务(独立地或与另一托管服务组合)或另一产品的插件来提供。另外,通过示例的方式,关于图1和图5A来描述方法550。然而,此方法可另外或替代地由任一系统或系统的任何组合执行,所述系统包括但不限于本文中所描述的系统。
在框B552处,方法550包括从图像确定与对象相关联的一个或更多个人。例如,可确定与对象相关联的一个或更多个人。在一些示例中,关系确定器110可例如通过使用图像内的关联区域来确定人与对象之间的关联,如本文中所描述。在一个或更多个人与对象相关联的情况下,可针对一个或更多个人中的每个人执行框B554、B556、B558、B560、B562、B564和B566中的每一个。
在框B554处,方法550包括确定第一坐标、第二坐标和第三坐标。例如,可确定对应于人区域518、对象区域520和联合区域522的ROI坐标524。
在框B556处,方法550包括将第一数据应用于神经网络的卷积流。例如,传感器数据502可被应用于CNN 112D的特征提取器504。
在框B558处,方法550包括使用神经网络的卷积流和第一数据来计算与该卷积流的输出相对应的第二数据。例如,特征提取器504可用于计算对应于传感器数据504的特征映射。
在框B560处,方法550包括将第二数据和第三数据应用于神经网络的一个或更多个池化层。例如,除了ROI坐标524之外还表示特征映射的数据可以应用于CNN 112D的ROI池化层506。
在框B562处,方法550包括使用一个或更多个池化层并且至少部分地基于第二数据和第三数据来计算表示特征映射的第四数据。例如,可以使用ROI池化层506来计算卷积特征508。
在框B564处,方法550包括将第四数据应用于神经网络的附加层。例如,对应于由ROI池化层506计算的特征映射的数据可以应用于CNN 112D的附加层,诸如全连接层510。
在框B566处,方法550包括使用神经网络的附加层来计算对象与人之间的关联的置信度。例如,置信度116可由CNN 112D计算。
图6是适合用于实现本公开的一些实施例的示例计算设备600的框图。例如,计算设备600可以用于执行对应于本文中所描述的任何过程或方法的一些或所有处理,和/或可以用于至少部分地训练和/或部署本文中诸如关于图2A-5C所描述的机器学习模型中的一个或更多个。
计算设备600可包括直接或间接耦合以下设备的总线602:存储器604,一个或更多个中央处理单元(CPU)606,一个或更多个图形处理单元(GPU)608,其可包括专用于执行一个或更多个处理任务的一个或更多个硬件加速器(包括但不限于可编程视觉加速器、深度学习加速器或编解码加速器)、通信接口610、输入/输出(I/O)端口612、输入/输出组件614(i/o组件)、电源616、以及一个或更多个呈现组件618(例如,显示器)。
尽管图6的各个框被示出为经由具有线路的总线602连接,但是这并不意图是限制性的,并且仅仅为了清楚起见。例如,在一些实施例中,诸如显示设备之类的呈现组件618可以被认为是I/O组件614(例如,如果显示器为触摸屏)。作为另一个示例,CPU 606和/或GPU608可以包括内存(例如,存储器604可以表示除了GPU 608、CPU 606和/或其他组件的内存以外的存储设备)。换言之,图6的计算设备仅仅是说明性的。在诸如“工作站”、“服务器”、“膝上型电脑”、“台式机”、“平板电脑”、“客户端设备”、“移动设备”、“手持式设备”、“游戏控制台”、“电子控制单元(ECU)”、“虚拟现实系统”和/或其他设备或系统类型之类的类别之间不进行区分,因为所有这些都被考虑在图6的计算设备的范围内。
总线602可以表示一条或更多条总线,例如地址总线、数据总线、控制总线或者其组合。总线602可以包括一种或更多种总线类型,例如行业标准架构(ISA)总线、扩展行业标准架构(EISA)总线、视频电子标准协会(VESA)总线、外围组件互连(PCI)总线、外围组件互连快速(PCIe)总线和/或另一种类型的总线。
存储器604可以包括各种各样的计算机可读介质中的任何一种。计算机可读介质可以是可以由计算设备600访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质以及可移除和不可移除介质。举例而言且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质可以包括易失性和非易失性介质和/或可移除和不可移除介质,其以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现。例如,存储器604可以存储计算机可读指令(例如其表示程序和/或程序元素,例如操作系统)。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或者其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可以用来存储期望的信息且可以由计算设备600访问的任何其他介质。当在本文使用时,计算机存储介质并不包括信号本身。
通信介质可以在诸如载波之类的调制数据信号或其他传输机制中包括计算机可读指令、数据结构、程序模块和/或其他数据类型,并且包括任何信息输送介质。术语“调制数据信号”可以指这样的信号,该信号使它的特性中的一个或更多个以这样的将信息编码到该信号中的方式设置或改变。举例而言且非限制性地,通信介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声音、RF、红外和其他无线介质之类的无线介质。任何以上所述的组合也应当包括在计算机可读介质的范围内。
CPU 606可以被配置为执行计算机可读指令以便控制计算设备600的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。CPU 606中的每一个可以包括能够同时处理大量软件线程的一个或更多个核(例如一个、两个、四个、八个、二十八个、七十二个等等)。CPU 606可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于实现的计算设备600的类型(例如用于移动设备的具有较少核的处理器以及用于服务器的具有更多核的处理器)。例如,取决于计算设备600的类型,处理器可以是使用精简指令集计算(RISC)实现的ARM处理器或者使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或者诸如数学协处理器之类的补充协处理器之外,计算设备600还可以包括一个或更多个CPU 606。
GPU 608可以由计算设备600用来渲染图形(例如3D图形)。GPU 608可以包括能够同时处理数百或数千个软件线程的数百或数千个核。GPU 608可以响应于渲染命令(例如经由主机接口接收的来自CPU 606的渲染命令)而生成用于输出图像的像素数据。GPU 608可以包括诸如显示内存之类的用于存储像素数据的图形内存。显示内存可以作为存储器604的部分而被包括。GPU 608可以包括(例如经由链路)并行操作的两个或更多GPU。当组合在一起时,每个GPU 608可以生成用于输出图像的不同部分或者用于不同输出图像的像素数据(例如,第一GPU用于第一图像,第二GPU用于第二图像)。每个GPU可以包括它自己的内存,或者可以与其他GPU共享内存。
在其中计算设备600不包括GPU 608的示例中,CPU 606可以用来渲染图形。
通信接口610可以包括一个或更多个接收器、发送器和/或收发器,其使得计算设备600能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口610可以包括使能通过若干不同网络中的任何网络进行通信的组件和功能,所述网络例如无线网络(例如Wi-Fi、Z波、蓝牙、蓝牙LE、ZigBee等等)、有线网络(例如通过以太网通信)、低功率广域网(例如LoRaWAN、SigFox等等)和/或因特网。
I/O端口612可以使得计算设备600能够逻辑地耦合到包括I/O组件614、呈现组件618和/或其他组件在内的其他设备,其中一些可以内置到(例如集成到)计算设备600中。说明性I/O组件614包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、扫描仪、打印机、无线设备等等。I/O组件614可以提供处理用户生成的空中手势、语音或其他生理输入的自然用户接口(NUI)。在一些示例中,输入可以传送至适当的网络元件以便进一步处理。NUI可以实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和邻近屏幕的手势识别、空中手势、头部和眼睛跟踪以及与计算设备600的显示器关联的触摸识别(如下文更详细地描述的)的任意组合。计算设备600可以包括诸如立体相机系统之类的深度相机、红外相机系统、RGB相机系统、触摸屏技术以及这些的组合,以用于手势检测和识别。此外,计算设备600可以包括使能运动检测的加速度计或陀螺仪(例如作为惯性测量单元(IMU)的部分)。在一些示例中,加速度计或陀螺仪的输出可以由计算设备600用来渲染沉浸式增强现实或者虚拟现实。
电源616可以包括硬接线电源、电池电源或者其组合。电源616可以向计算设备600供电以使得计算设备600的组件能够操作。
呈现组件618可以包括显示器(例如监视器、触摸屏、电视屏幕、平视显示器(HUD)、其他显示器类型或者其组合)、扬声器和/或其他呈现组件。呈现组件618可以接收来自其他组件(例如GPU 608、CPU 606等等)的数据,并且输出该数据(例如作为图像、视频、声音等等)。
本公开可以在由计算机或者诸如个人数字助理或其他手持式设备之类的其他机器执行的、包括诸如程序模块之类的计算机可执行指令的机器可使用指令或者计算机代码的一般背景下进行描述。通常,包括例程、程序、对象、组件、数据结构等等的程序模块指的是执行特定任务或者实现特定抽象数据类型的代码。本公开可以在各种各样的系统配置中实践,这些配置包括手持式设备、消费电子器件、通用计算机、更专业的计算设备等等。本公开也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。
如在本文中使用的,关于两个或更多元素的对“和/或”的叙述应当解释为仅指一个元素或者元素组合。例如,“元素A、元素B和/或元素C”可以包括仅仅元素A,仅仅元素B,仅仅元素C,元素A和元素B,元素A和元素C,元素B和元素C,或者元素A、B和C。此外,“元素A或元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。进一步,“元素A和元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。
本文详细地描述了本公开的主题以满足法定要求。然而,描述本身并非意在限制本公开的范围。相反地,本发明人已经设想到,要求保护的主题也可以以其他的方式具体化,以包括与本文中结合其他当前或未来技术描述的步骤不同的步骤或者相似的步骤的组合。而且,尽管术语“步骤”和/或“框”在本文中可以用来隐含采用的方法的不同元素,但是这些术语不应当被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各步骤的顺序。
Claims (20)
1.一种用于将对象关联到人的方法,包括:
从图像确定与对象相关联的一个或更多个人;
针对所述一个或更多个人中的每个人,执行操作,所述操作包括:
确定所述图像的重叠区域,所述重叠区域对应于所述图像中的所述对象的对象区域与所述人的人区域之间的重叠;
对所述图像的未包括在所述重叠区域中的部分应用掩模以生成掩模的图像;
将表示所述掩模的图像的数据应用于经训练以预测对象与人之间的关联的置信度的神经网络;以及
使用所述神经网络并且至少部分地基于所述数据来计算所述对象与所述人之间的关联的置信度;以及
基于所述一个或更多个人中的每个人的置信度,将所述对象关联到所述一个或更多个人中具有最高关联置信度的人。
2.根据权利要求1所述的方法,其中所述确定与对象相关联的一个或更多个人还包括:
生成所述对象的关联区域;以及
确定所述一个或更多个人或对应于所述一个或更多个人的一个或更多个边界形状至少部分地与所述关联区域重叠。
3.根据权利要求2所述的方法,其中所述关联区域是通过从所述对象的质心延伸的尺寸或对应于所述对象的边界形状来限定的,并且所述关联区域大于所述对象或大于对应于所述对象的边界形状。
4.根据权利要求1所述的方法,其中所述人区域包括所述图像的对应于所述人的人边界形状的第一部分,所述对象区域包括所述图像的对应于所述对象的对象边界形状的第二部分,以及所述重叠区域包括所述图像的对应于所述人边界形状与所述对象边界形状的重叠的第三部分。
5.根据权利要求1所述的方法,其中所述图像是图像序列中的最新图像,以及使用时间平滑来鉴于针对所述人与所述对象之间的关联而预测的先前置信度对所述置信度进行加权以生成最终置信度,进一步其中,所述最终置信度用于将所述对象关联到所述人。
6.一种用于将对象关联到人的方法,包括:
从图像确定与对象相关联的一个或更多个人;
针对所述一个或更多个人中的每个人,执行操作,所述操作包括:
确定对应于所述对象的所述图像的对象区域、对应于所述人的所述图像的人区域以及对应于所述对象区域与所述人区域之间的联合的所述图像的联合区域;
通过将第一掩模应用于未包括在所述对象区域中的所述图像的第一部分来生成第一掩模的图像,通过将第二掩模应用于未包括在所述人区域中的所述图像的第二部分来生成第二掩模的图像,以及通过将第三掩模应用于未包括在所述联合区域中的所述图像的第三部分来生成第三掩模的图像;
将表示所述第一掩模的图像的第一数据应用于神经网络的第一流,将表示所述第二掩模的图像的第二数据应用于所述神经网络的第二流,以及将表示所述第三掩模的图像的第三数据应用于所述神经网络的第三流;以及
使用所述神经网络并且至少部分地基于所述第一流、所述第二流和所述第三流的输出来计算所述对象与所述人之间的关联的置信度;以及
基于所述一个或更多个人中的每个人的置信度,将所述对象关联到所述一个或更多个人中具有最高关联置信度的人。
7.根据权利要求6所述的方法,其中至少部分地通过对应于所述对象的第一边界形状来限定所述对象区域,至少部分地通过对应于所述人的第二边界形状来限定所述人区域,以及至少部分地通过所述第一边界形状和所述第二边界形状的组合来限定所述联合区域。
8.根据权利要求6所述的方法,还包括:
通过图像的序列确定所述人的轨迹,所述图像的序列以所述图像结束;
由所述神经网络计算对应于所述图像的序列的多个置信度,所述多个置信度包括所述置信度;
将表示所述多个置信度和所述轨迹的第四数据应用于另一神经网络;以及
使用所述另一神经网络并且至少部分地基于所述第四数据来计算所述置信度的更新的置信度。
9.根据权利要求6所述的方法,其中所述第一流、所述第二流和所述第三流各自包括多个卷积层。
10.根据权利要求6所述的方法,其中计算所述置信度包括:
级联所述第一流、所述第二流和所述第三流的所述输出以生成级联的输出;以及
将表示所述级联的输出的第四数据应用于所述神经网络的一个或更多个附加层。
11.根据权利要求6所述的方法,其中所述操作还包括:
确定对应于所述对象区域、所述人区域和所述联合区域中的至少一个的归一化坐标;以及
其中计算所述置信度进一步至少部分地基于所述归一化坐标。
12.根据权利要求11所述的方法,其中所述归一化坐标包括与所述人、所述对象及其所述联合相对应的边界形状的顶点的坐标。
13.根据权利要求6所述的方法,其中所述图像是图像的序列中的最新图像,以及使用时间平滑来鉴于针对所述人与所述对象之间的关联而预测的先前置信度对所述置信度进行加权以生成最终置信度,进一步其中,所述最终置信度用于将所述对象关联到所述人。
14.一种用于将对象关联到人的方法,包括:
从图像确定与对象相关联的一个或更多个人;
针对所述一个或更多个人中的每个人,执行操作,所述操作包括:
确定与对应于所述对象的所述图像的对象区域相关联的第一坐标,确定与对应于所述人的所述图像的人区域相关联的第二坐标,以及确定与对应于所述对象区域和所述人区域之间的联合的联合区域相关联的第三坐标;
将表示所述图像的第一数据应用于神经网络的卷积流;
使用所述神经网络的所述卷积流并且至少部分地基于所述第一数据来计算对应于所述卷积流的输出的第二数据;
将所述第二数据以及表示所述第一坐标、所述第二坐标和所述第三坐标的第三数据应用到所述神经网络的一个或更多个池化层;
使用所述神经网络的所述一个或更多个池化层并且至少部分地基于所述第二数据和所述第三数据来计算表示对应于所述对象、所述人以及所述对象和所述人的组合的特征映射的第四数据;以及
将所述第四数据应用到所述神经网络的一个或更多个附加层;以及
使用所述神经网络的所述一个或更多个附加层并且至少部分地基于所述第四数据来计算所述对象与所述人之间的关联的置信度。
15.根据权利要求14所述的方法,其中所述一个或更多个附加层包括多个全连接层。
16.根据权利要求14所述的方法,还包括:
确定所述对象区域的第一面积与所述联合区域的第二面积之间的第一比以及所述人区域的第三面积与所述联合区域的所述第二面积之间的第二比;
将表示所述置信度、所述第一坐标、所述第二坐标、所述第一比和所述第二比的第五数据应用于多层感知器MLP网络;以及
使用所述MLP网络并且至少部分地基于所述第五数据来计算更新的置信度。
17.根据权利要求16所述的方法,还包括:基于所述一个或更多个人中的每个人的所述更新的置信度,将所述对象关联到所述一个或更多个人中具有最高关联置信度的所述人。
18.根据权利要求14所述的方法,其中所述第一坐标、所述第二坐标和所述第三坐标是对应于所述图像的像素坐标。
19.根据权利要求18所述的方法,其中所述像素坐标对应于与所述人、所述对象及其所述联合相对应的边界形状的顶点。
20.根据权利要求14所述的方法,其中所述图像是图像序列中的最新图像,以及使用时间平滑来鉴于针对所述人与所述对象之间的关联而预测的先前置信度对所述置信度进行加权以生成最终置信度,进一步其中,所述最终置信度用于将所述对象关联到所述人。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862760690P | 2018-11-13 | 2018-11-13 | |
US62/760,690 | 2018-11-13 | ||
PCT/US2019/060467 WO2020102021A2 (en) | 2018-11-13 | 2019-11-08 | Determining associations between objects and persons using machine learning models |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113302620A CN113302620A (zh) | 2021-08-24 |
CN113302620B true CN113302620B (zh) | 2024-09-10 |
Family
ID=70552188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980088877.1A Active CN113302620B (zh) | 2018-11-13 | 2019-11-08 | 使用机器学习模型确定对象与人之间的关联 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11205086B2 (zh) |
CN (1) | CN113302620B (zh) |
DE (1) | DE112019005671T5 (zh) |
WO (1) | WO2020102021A2 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019207721A1 (ja) | 2018-04-26 | 2019-10-31 | 日本電気株式会社 | 情報処理装置、制御方法、及びプログラム |
WO2020102021A2 (en) * | 2018-11-13 | 2020-05-22 | Nvidia Corporation | Determining associations between objects and persons using machine learning models |
CN113168713B (zh) * | 2018-12-14 | 2024-09-06 | 富士胶片株式会社 | 小批量学习装置及其工作程序、工作方法及图像处理装置 |
US11120526B1 (en) * | 2019-04-05 | 2021-09-14 | Snap Inc. | Deep feature generative adversarial neural networks |
CN111814513B (zh) * | 2019-04-11 | 2024-02-13 | 富士通株式会社 | 行人物品检测装置及方法、电子设备 |
US11044566B2 (en) * | 2019-06-11 | 2021-06-22 | Ford Global Technologies, Llc | Vehicle external speaker system |
US11727543B2 (en) * | 2019-11-18 | 2023-08-15 | Shinyfields Limited | Systems and methods for content-aware enhancement of images |
JP6800453B1 (ja) * | 2020-05-07 | 2020-12-16 | 株式会社 情報システムエンジニアリング | 情報処理装置及び情報処理方法 |
US10902291B1 (en) * | 2020-08-04 | 2021-01-26 | Superb Ai Co., Ltd. | Methods for training auto labeling device and performing auto labeling related to segmentation while performing automatic verification by using uncertainty scores and devices using the same |
US10885387B1 (en) * | 2020-08-04 | 2021-01-05 | SUPERB Al CO., LTD. | Methods for training auto-labeling device and performing auto-labeling by using hybrid classification and devices using the same |
US12026225B2 (en) * | 2020-09-14 | 2024-07-02 | i-PRO Co., Ltd. | Monitoring camera, part association method and program |
CN112070058A (zh) * | 2020-09-18 | 2020-12-11 | 深延科技(北京)有限公司 | 人脸面部复合情感表情识别方法及系统 |
CN113158733B (zh) * | 2020-12-30 | 2024-01-02 | 北京市商汤科技开发有限公司 | 图像过滤方法、装置、电子设备及存储介质 |
US11798201B2 (en) * | 2021-03-16 | 2023-10-24 | Snap Inc. | Mirroring device with whole-body outfits |
US11809633B2 (en) | 2021-03-16 | 2023-11-07 | Snap Inc. | Mirroring device with pointing based navigation |
US11978283B2 (en) | 2021-03-16 | 2024-05-07 | Snap Inc. | Mirroring device with a hands-free mode |
US11908243B2 (en) | 2021-03-16 | 2024-02-20 | Snap Inc. | Menu hierarchy navigation on electronic mirroring devices |
US11734959B2 (en) | 2021-03-16 | 2023-08-22 | Snap Inc. | Activating hands-free mode on mirroring device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105844659A (zh) * | 2015-01-14 | 2016-08-10 | 北京三星通信技术研究有限公司 | 运动部件的跟踪方法和装置 |
CN107871117A (zh) * | 2016-09-23 | 2018-04-03 | 三星电子株式会社 | 用于检测对象的设备和方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10271017B2 (en) * | 2012-09-13 | 2019-04-23 | General Electric Company | System and method for generating an activity summary of a person |
US8805004B2 (en) * | 2009-01-09 | 2014-08-12 | Thomson Licensing | Method and apparatus for detecting and separating objects of interest in soccer video by color segmentation and shape analysis |
WO2012001947A1 (ja) * | 2010-06-28 | 2012-01-05 | 株式会社ニコン | 撮像装置、画像処理装置、画像処理プログラム記録媒体 |
US11074495B2 (en) * | 2013-02-28 | 2021-07-27 | Z Advanced Computing, Inc. (Zac) | System and method for extremely efficient image and pattern recognition and artificial intelligence platform |
JP5795979B2 (ja) * | 2012-03-15 | 2015-10-14 | 株式会社東芝 | 人物画像処理装置、及び人物画像処理方法 |
WO2013182915A2 (en) * | 2012-06-04 | 2013-12-12 | Intelligent Software Solutions, Inc. | Temporal predictive analytics |
US9449216B1 (en) * | 2013-04-10 | 2016-09-20 | Amazon Technologies, Inc. | Detection of cast members in video content |
US10200618B2 (en) * | 2015-03-17 | 2019-02-05 | Disney Enterprises, Inc. | Automatic device operation and object tracking based on learning of smooth predictors |
JP7009389B2 (ja) * | 2016-05-09 | 2022-01-25 | グラバンゴ コーポレイション | 環境内のコンピュータビジョン駆動型アプリケーションのためのシステムおよび方法 |
US20180308243A1 (en) * | 2017-03-28 | 2018-10-25 | Irvine Sensors Corporation | Cognitive Tracker -- Appliance For Enabling Camera-to-Camera Object Tracking in Multi-Camera Surveillance Systems |
CN108052896B (zh) * | 2017-12-12 | 2020-06-02 | 广东省智能制造研究所 | 基于卷积神经网络与支持向量机的人体行为识别方法 |
WO2020102021A2 (en) * | 2018-11-13 | 2020-05-22 | Nvidia Corporation | Determining associations between objects and persons using machine learning models |
US10861170B1 (en) * | 2018-11-30 | 2020-12-08 | Snap Inc. | Efficient human pose tracking in videos |
-
2019
- 2019-11-08 WO PCT/US2019/060467 patent/WO2020102021A2/en active Application Filing
- 2019-11-08 CN CN201980088877.1A patent/CN113302620B/zh active Active
- 2019-11-08 DE DE112019005671.9T patent/DE112019005671T5/de active Pending
- 2019-11-08 US US16/678,100 patent/US11205086B2/en active Active
-
2021
- 2021-12-20 US US17/556,451 patent/US11741736B2/en active Active
-
2023
- 2023-07-05 US US18/347,471 patent/US12087077B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105844659A (zh) * | 2015-01-14 | 2016-08-10 | 北京三星通信技术研究有限公司 | 运动部件的跟踪方法和装置 |
CN107871117A (zh) * | 2016-09-23 | 2018-04-03 | 三星电子株式会社 | 用于检测对象的设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200151489A1 (en) | 2020-05-14 |
US20230351795A1 (en) | 2023-11-02 |
WO2020102021A3 (en) | 2020-08-06 |
US20220114800A1 (en) | 2022-04-14 |
US11205086B2 (en) | 2021-12-21 |
US12087077B2 (en) | 2024-09-10 |
DE112019005671T5 (de) | 2021-08-05 |
WO2020102021A2 (en) | 2020-05-22 |
US11741736B2 (en) | 2023-08-29 |
CN113302620A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113302620B (zh) | 使用机器学习模型确定对象与人之间的关联 | |
US11798271B2 (en) | Depth and motion estimations in machine learning environments | |
US11205298B2 (en) | Method and system for creating a virtual 3D model | |
JP6877623B2 (ja) | コンピュータベースシステム及びコンピュータベース方法 | |
US20200311855A1 (en) | Object-to-robot pose estimation from a single rgb image | |
KR102526700B1 (ko) | 전자 장치 및 그의 3d 이미지 표시 방법 | |
US11385526B2 (en) | Method of processing image based on artificial intelligence and image processing device performing the same | |
US20220262093A1 (en) | Object detection method and system, and non-transitory computer-readable medium | |
KR20190130179A (ko) | 미세한 표정변화 검출을 위한 2차원 랜드마크 기반 특징점 합성 및 표정 세기 검출 방법 | |
JP7351941B2 (ja) | 画像内のオブジェクトによって実行されるアクションを決定するためのシステムおよび方法 | |
CN112487844A (zh) | 手势识别方法、电子设备、计算机可读存储介质和芯片 | |
Gite et al. | Early anticipation of driver’s maneuver in semiautonomous vehicles using deep learning | |
CN114241597A (zh) | 一种姿态识别方法及其相关设备 | |
WO2022179599A1 (zh) | 一种感知网络及数据处理方法 | |
Kartheek et al. | Local optimal oriented pattern for person independent facial expression recognition | |
Hassaballah et al. | Deep recurrent regression with a heatmap coupling module for facial landmarks detection | |
Wang et al. | A study on hand gesture recognition algorithm realized with the aid of efficient feature extraction method and convolution neural networks: design and its application to VR environment | |
Viswanatha et al. | Real-Time Hand Signal Detection Using Convolutional Neural Networks | |
Albalawi et al. | Intelligent scene recognition and understanding basing on deep learning models and image databases | |
Huynh-The et al. | Space-time skeletal analysis with jointly dual-stream ConvNet for action recognition | |
Sen et al. | Review of Recent Developments in Human Pose Estimation | |
Sridhar | Computer vision for driver assistance systems | |
Xu et al. | Intuitive UAV Operation: A Novel Dataset and Benchmark for Multi-Distance Gesture Recognition | |
NASRUL‘ALAM | SPATIO-TEMPORAL NORMALIZED JOINT COORDINATES AS FEATURES FOR SKELETON-BASED HUMAN ACTION RECOGNITION | |
Hou et al. | Towards real-time embodied AI agent: a bionic visual encoding framework for mobile robotics |
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 |