CN113392831A - 分析一组帧中的对象 - Google Patents

分析一组帧中的对象 Download PDF

Info

Publication number
CN113392831A
CN113392831A CN202110197989.XA CN202110197989A CN113392831A CN 113392831 A CN113392831 A CN 113392831A CN 202110197989 A CN202110197989 A CN 202110197989A CN 113392831 A CN113392831 A CN 113392831A
Authority
CN
China
Prior art keywords
frame
mask
processing system
integrated circuit
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110197989.XA
Other languages
English (en)
Inventor
阿里亚·艾哈迈迪
大卫·沃尔顿
卡加泰·迪基吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Imagination Technologies Ltd
Original Assignee
Imagination Technologies Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Imagination Technologies Ltd filed Critical Imagination Technologies Ltd
Publication of CN113392831A publication Critical patent/CN113392831A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/207Analysis of motion for motion estimation over a hierarchy of resolutions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

公开了一种分析第一帧和第二帧中的对象的方法。该方法包括:分割帧;以及使第一帧中的至少一个对象与第二帧中的对应对象匹配。该方法任选地包括估计至少一个匹配的对象在帧之间的运动。还公开了一种生成适合于训练机器学习算法以估计对象的运动的训练数据集的方法。还提供了被配置成执行这些方法的处理系统。

Description

分析一组帧中的对象
背景技术
在帧之间分析对象的行为是在视觉应用中重复地出现的任务。特别地,常常期望估计场景中的一个或多个对象在第一帧与第二帧之间的运动。
运动估计的目标是为了确定像素如何从参考帧移动到目标帧。已提出若干方法来解决此任务,其中的一些方法使用深度神经网络(DNN)。用于运动估计的诸如FlowNet的早期基于DNN的方法
难以与完备的经典方法竞争,然而最近已在其性能方面有了显著改善。包括PWC-Net(2018年IEEE国际计算机视觉模式识别会议论文集第8934–8943页中的D.Sun、X.Yang、M.-Y.Liu和J.Kautz的“Pwc-net:Cnns for optical flow using pyramid,warping,andcost volume”)的现有技术水平的基于DNN的方法已开始在计算效率和准确性方面胜过经典方法。基于DNN的方法表示思考运动估计问题的新方式,并一直在随着时间的推移而逐渐地改善。
发明内容
提供本发明内容是为了以简化的形式介绍下文在具体实施方式中进一步描述的一系列概念。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
公开了一种分析第一帧和第二帧中的对象的方法。该方法包括:分割帧;以及使第一帧中的至少一个对象与第二帧中的对应对象匹配。该方法任选地包括估计至少一个匹配的对象在帧之间的运动。还公开了一种生成适合于训练机器学习算法以估计对象的运动的训练数据集的方法。
还提供了被配置成执行这些方法的处理系统。
根据第一方面,提供了一种分析包括至少第一帧和第二帧的一组帧中的一个或多个对象的方法,该方法包括:
分割第一帧,以产生多个第一掩模,每个第一掩模标识属于在第一帧中检测到的潜在对象实例的像素;
对于在第一帧中检测到的每个潜在对象实例,从第一帧中提取表征潜在对象实例的第一特征向量;
分割第二帧,以产生多个第二掩模,每个第二掩模标识属于在第二帧中检测到的潜在对象实例的像素;
对于在第二帧中检测到的每个潜在对象实例,从第二帧中提取表征潜在对象实例的第二特征向量;以及
至少部分地基于第一特征向量、第一掩模、第二特征向量和第二掩模,使第一帧中的潜在对象实例中的至少一个与第二帧中的潜在对象实例中的一个匹配。
每个潜在对象实例可以存在于帧的相应的感兴趣区域中,该感兴趣区域由有界框定义。
分割第一帧以产生第一掩模可以包括:标识第一帧中的感兴趣区域并且对于每个感兴趣区域,分割相关有界框内的像素以产生相应的第一掩模;以及分割第二帧以产生第二掩模可以包括:标识第二帧中的感兴趣区域并且对于每个感兴趣区域,分割相关有界框内的像素以产生相应的第二掩模。
针对每个潜在对象实例的分割可以仅基于有界框内的那些像素。分割还可以包括细化有界框。可以使用机器学习算法来生成并稍后细化有界框。
匹配可以包括至少部分地基于第一特征向量和第二特征向量对在第一帧和第二帧中检测到的潜在对象实例进行聚类,以生成潜在对象实例的聚类。
匹配还可以包括,对于每个帧中的每个聚类:评价该帧中的聚类中的潜在对象实例之间的距离;以及基于评价的结果将聚类拆分成多个聚类。拆分成多个聚类可以基于k-均值聚类算法。可以使用肘方法来确定算法中的参数k。
评价聚类中的潜在对象实例之间的距离可以包括:将聚类中的潜在对象实例指派给两个或更多个子组;基于第一/第二特征向量确定每个组的形心;以及评价形心之间的距离。评价可以包括确定是否将通过拆分来减小子组的形心之间的距离。拆分聚类可以包括基于子组定义多个聚类。
匹配可以包括从每个帧中的每个聚类中的潜在对象实例当中选择单对象实例。
在聚类之后执行选择。可以在拆分之后执行选择。
匹配可以包括使第一帧中的单对象实例中的至少一个与第二帧中的单对象实例匹配。
匹配可以包括:评价每个帧中的单对象实例之间的差异;以及标识在它们之间具有最低差异的单对象实例的对;以及匹配这对单对象实例。可以重复地执行这个,以在两个帧之间匹配多对单对象实例。
可以基于与单对象实例相关联的相应的特征向量评价差异。
匹配可以包括基于下列中的两个或更多个中的任何一个或任何组合来拒绝潜在对象实例:对象置信度分数,其估计潜在对象实例更可能是对象还是背景的一部分;掩模置信度分数,其估计掩模表示对象的可能性;和掩模区域。
如果潜在对象实例的对象置信度分数、掩模置信度分数或掩模区域低于相应的预定阈值,则可以拒绝这些潜在对象实例。可以针对每个潜在对象实例评价所有这三个参数,并且如果它们中的任何一个降至相应的阈值以下,则可以拒绝潜在对象实例。
除了或代替拒绝潜在对象实例,如上所讨论的,可以将相同准则用于为每个聚类选择单对象实例。例如,可以基于以下各项中的任何一个或两个或更多个选择具有最高分数的单对象实例:对象置信度分数、掩模置信度分数和掩模区域。
掩模置信度分数可以至少部分地基于潜在对象实例的掩模。替代地或另外,它可以至少部分地基于从与潜在对象实例相关联的感兴趣区域中提取的特征。
掩模区域可以由掩模中的活动像素的数量确定。
可以在聚类之后执行拒绝。可以在拆分之前执行拒绝。可以在选择之前执行拒绝。
掩模置信度分数可以由机器学习算法生成,该机器学习算法被训练来预测掩模与地面实况掩模之间的对应程度。对应程度可以包括掩模和地面实况掩模的交并比。
掩模和特征向量可以由第一机器学习算法生成。掩模可以由第一机器学习算法的一个头部生成;特征向量可以由机器学习算法的另一头部生成。掩模置信度和/或对象置信度分数还可以由第一机器学习算法的另外的头部生成。因此,如上所概述的,每个潜在对象实例的对象置信度分数可以至少部分地基于第一机器学习算法的输出。每个对象实例的有界框可以由第一机器学习算法生成。给定对象实例的有界框可以由第一机器学习算法的一个头部细化,然而相应的掩模由第一机器学习算法的另一头部生成。
该方法还可以包括,对于第一帧和第二帧中的至少一个匹配的对象,估计该对象在第一帧与第二帧之间的运动。估计对象的运动可以包括,对于对象的多个像素中的每一个:估计平移运动向量;估计非平移运动向量;以及将像素的运动向量计算为平移运动向量和非平移运动向量之和。
可以至少部分地基于第一帧中的掩模的形心与第二帧中的对应匹配的掩模的形心来估计平移运动向量。替代地,可以至少部分地基于第一帧中的有界框的中心和第二帧中的对应有界框的中心来估计平移运动向量。非平移运动向量可以描述旋转和/或透视变换。
估计对象的运动任选地包括:至少部分地基于第一帧中的掩模和第二帧中的对应匹配的掩模来生成运动的粗略估计;以及使用第二机器学习算法来细化粗略估计,其中第二机器学习算法将第一帧、第二帧和粗略估计视为输入,第二机器学习算法被训练来预测粗略运动向量与地面实况运动向量之间的运动差异。
在一些实施方案中,粗略估计可以是针对每个像素的平移运动向量的粗略估计。在这种情况下,运动差异可以表示非平移运动向量(并且可以任选地还表示平移运动向量的细化)。在一些实施方案中,粗略估计可以包括平移运动向量的粗略估计和非平移运动向量的粗略估计。在这种情况下,运动差异可以表示平移运动向量和非平移运动向量的细化。非平移运动向量的粗略估计可以由第一机器学习算法的另一个头部生成。在任何一种情况下,运动差异还可以表示背景的运动。
可以训练第二机器学习算法以从最低分辨率开始在多个分辨率下预测运动差异并且基于根据前面分辨率上采样运动差异在接连更高的分辨率下预测运动差异。
根据另一个方面,提供了一种生成训练数据集以用于训练机器学习算法来执行运动估计的方法,该方法包括:
获得对象的多个图像;
获得背景的多个图像;以及
生成多对合成图像,每对包括第一帧和第二帧,
第一帧包括叠加在所选背景上的处于第一位置和第一定向中的一系列对象,
第二帧包括叠加在所选背景上的处于第二位置和第二定向中的一系列对象,其中第二位置和第二定向中的至少一些与第一位置和第一定向不同,
该方法还包括生成:
平移地面实况运动向量,其描述第一位置与第二位置之间的差异;和
非平移地面实况运动向量,其描述第一定向与第二方向之间的差异。
该方法还可以包括,对于成对的合成图像中的一些,使用直接如所获得的对象的图像;以及对于其他成对的合成图像,在将它们叠加在背景上之前修改对象的图像。修改图像可以包括对一个对象应用另一对象的外观(也称为织构或纹理映射)。
该方法还可以包括,在生成多对合成图像之前,拒绝所获得的对象的多个图像中的一些。拒绝任选地包括以下各项中的一个或多个:拒绝包含多于第一预定数量的面部的图像;拒绝包含少于第二预定数量的面部的图像;以及拒绝包含多个不相交部分的对象。
平移地面实况运动向量可以包括满足以下条件中的至少一个的运动向量:运动向量的水平分量是第一帧的宽度的至少20%、任选地至少50%或至少70%;以及运动向量的垂直分量是第一帧的高度的至少20%、任选地至少50%或至少为70%。
该方法还可以包括将多对图像划分成用于训练机器学习算法的训练集和用于测试机器学习算法的性能的测试集。
可以通过随机选择对象并将它们随机地定位在第一位置中来生成每个第一帧。替代地或另外,可以随机地选择第一位置与第二位置之间的差异。
该方法还可以包括渲染以下各项中的至少一个:平移流场,包含从平移地面实况运动向量导出的流场;和组合流场,包含从平移地面实况运动向量和非平移地面实况运动向量导出的流场。
还提供了一种图像处理系统,包括:
存储器,被配置成存储包括至少第一帧和第二帧的一组帧;和
第一分割块,被配置成分割第一帧,以产生多个第一掩模,每个第一掩模标识属于在第一帧中检测到的潜在对象实例的像素;
第一特征提取块,被配置成对于在第一帧中检测到的每个潜在对象实例,从第一帧中提取表征潜在对象实例的第一特征向量;
第二分割块,被配置成分割第二帧,以产生多个第二掩模,每个第二掩模标识属于在第二帧中检测到的潜在对象实例的像素;
第二特征提取块,被配置成对于在第二帧中检测到的每个潜在对象实例,从第二帧中提取表征潜在对象实例的第二特征向量;和
匹配块,被配置成至少部分地基于第一特征向量、第一掩模、第二特征向量和第二掩模,使第一帧中的潜在对象实例中的至少一个与第二帧中的潜在对象实例中的一个匹配。
在一些实施方案中,第一分割块和第二分割块可以由被配置成分割两个帧的一个块提供。类似地,在一些实施方案中,第一特征提取块和第二特征提取块可以由被配置成提取两个帧中的潜在对象实例的特征向量的一个块提供。替代地,相应的第一块和第二块可以是单独的块。例如,这可以有利于第一帧和第二帧的并行处理。该系统还可以包括运动估计块,该运动估计块被配置成估计由匹配块匹配的对象的运动。
还公开了一种处理系统,该处理系统被配置成执行如上所概述的或如权利要求1至8中的任一项所述的方法。该处理系统可以是图形处理系统或人工智能加速器系统。该处理系统可以在集成电路上的硬件中体现。
还公开了一种使用集成电路制造系统来制造如上所概述的或如权利要求9至10中的任一项所述的处理系统的方法。
还公开了一种使用集成电路制造系统来制造如上所概述的处理系统的方法,该方法包括:
使用布局处理系统来处理该处理系统的计算机可读描述以便生成体现该处理系统的集成电路的电路布局描述;以及
使用集成电路生成系统来根据电路布局描述制造处理系统。
还公开了一种计算机可读代码,该计算机可读代码被配置成使得当代码被运行时执行如上所概述的方法。还公开了一种计算机可读存储介质,在其上编码有计算机可读代码。该计算机可读存储介质可以是非暂时性计算机可读存储介质。
还公开了一种计算机可读存储介质(任选地为非暂时性的),在其上存储有以上概述的处理系统的计算机可读描述,当在集成电路制造系统中被处理时,该计算机可读描述使集成电路制造系统:
使用布局处理系统来处理该处理系统的计算机可读描述以便生成体现该处理系统的集成电路的电路布局描述;以及
使用集成电路生成系统来根据电路布局描述制造该处理系统。
还公开了一种集成电路制造系统,该集成电路制造系统包括:
非暂时性计算机可读存储介质,在其上存储有如上所概述的处理系统的计算机可读描述;
布局处理系统,该布局处理系统被配置成处理计算机可读描述以便生成体现处理系统的集成电路的电路布局描述;和
集成电路生成系统,该集成电路生成系统被配置成根据电路布局描述来制造处理系统。
该布局处理系统可以被配置成确定从计算机可读描述导出的电路的逻辑部件的位置信息,以便生成体现处理系统的集成电路的电路布局描述。
该处理系统可以在集成电路上的硬件中体现。可以提供一种在集成电路制造系统处制造处理系统的方法。可以提供一种集成电路定义数据集,该集成电路定义数据集当在集成电路制造系统中被处理时,使系统制造处理系统。可以提供一种非暂时性计算机可读存储介质,在其上存储有处理系统的计算机可读描述,当在集成电路制造系统中被处理时,该计算机可读描述使集成电路制造系统制造体现处理系统的集成电路。
可以提供一种集成电路制造系统,该集成电路制造系统包括:非暂时性计算机可读存储介质,在其上存储有处理系统的计算机可读描述;布局处理系统,该布局处理系统被配置成处理计算机可读描述以便生成体现处理系统的集成电路的电路布局描述;和集成电路生成系统,该集成电路生成系统被配置成根据电路布局描述来制造处理系统。
可提供用于执行本文中描述的任一方法的计算机程序代码。可提供非暂时性计算机可读存储介质,在其上存储有计算机可读指令,所述计算机可读指令在计算机系统处执行时使所述计算机系统执行本文中描述的任何方法。
如对本领域的技术人员显而易见的,上述特征可以适当地组合,并且可以与本文所述的示例的任何方面组合。
附图说明
现在将参考附图详细描述示例,在附图中:
图1示出根据一个实施方案的处理系统的框图;
图2是图示根据一个实施方案的对象分析方法的一部分的流程图;
图3是图示根据一个实施方案的对象匹配方法的流程图;
图4是示出根据一个实施方案的运动估计方法的流程图;
图5图示根据一个实施方案的使用神经网络的实例分割方法;
图6图示根据一个实施方案的使用神经网络的运动估计方法;
图7是图示根据一个实施方案的生成训练数据集的方法的流程图;
图8示出在其中实现根据一个实施方案的处理系统的计算机系统;以及
图9示出用于生成体现图形处理系统的集成电路的集成电路制造系统。
附图示出了各种示例。技术人员将理解,附图中所示的元件边界(例如,框、框的组,或其他形状)表示边界的一个示例。在一些示例中,情况可能是一个元件可以被设计为多个元件,或者多个元件可以被设计为一个元件。在适当的情况下,贯穿各附图使用共同附图标记来指示相似特征。
具体实施方式
通过示例的方式给出以下描述,以使本领域的技术人员能够制造和使用本发明。本发明不限于本文中描述的实施方案,并且对所公开的实施方案的各种修改对于所属领域的技术人员而言将是显而易见的。
现在仅通过示例的方式来描述实施方案。
定义:
如本文所用,“掩模”意指指示对象的位置的像素图。掩模可以是二进制的。在二进制掩模中,被标记为活动的每个像素表示在该像素处存在对象。被标记为不活动的每个像素表示在该像素处没有对象。
如本文所用,掩模的形心是指掩模中的活动像素的平均位置。
本发明人已认识到,当前现有技术水平的基于DNN的运动估计方法仍然在对象在其外观方面经历严重变化的挑战性情况下挣扎。他们还通常在小对象在两个帧之间移动长距离即小而快速移动的对象情况下挣扎。在这些情况下,对象在帧的视场中的平移可能落在基于DNN的方法的有限空间范围之外。然而,由于人类应用对场景中的对象的更高级理解的能力,他们常常仍然能够理解在此类示例中发生的运动。发明人已进一步认识到,通过标识对象并使它们在两个帧之间匹配,能够解决这些挑战性情况。
尽管诸如PWC-Net的基于金字塔的技术在多个级别下为输入图像的每个正方形块提取表示,但是它们不为每个对象生成对象级表示。当对象经历复杂运动或者(非刚性)对象经历严重变形时,对象级表示也可能更有表现力。
图1是示出根据一个实施方案的被配置成分析对象并估计其运动的图像处理系统100的框图。系统包括存储器110,该存储器被配置成存储包括至少第一帧和第二帧的一组帧。这两个帧在本文中还被称为参考帧和目标帧。系统还包括分割块120,该分割块被配置成分割帧并为每个帧产生多个掩模。每个掩模标识潜在对象实例在这些帧之一中的位置。在这种情况下,对象实例是对象在特定帧中的发生。“潜在”对象实例是根据预定准则在稍后的时间可能被拒绝或可能未被拒绝的可能的对象实例。系统100还包括:特征提取块130,该特征提取块被配置成为每个潜在对象实例提取特征向量;匹配块140,该匹配块被配置成在帧之间匹配潜在对象实例;和运动估计块150,该运动估计块被配置成估计已匹配的对象的运动。
图2是图示根据一个实施方案的对象分析方法的流程图。方法的输入包括存储在存储器110中的第一帧和第二帧。在步骤210和220中,分割块120分割第一帧以产生多个第一掩模。在两个部分中做这个。在步骤210中,分割块120标识第一帧中的感兴趣区域。每个感兴趣区域由有界框定义。在步骤220中,对于每个感兴趣区域,分割块120分割相应的有界框中的像素,以产生相应的第一掩模。在本示例中,使用区域提议网络(RPN)来标识感兴趣区域,该RPN是被训练来标识潜在对象实例的神经网络。已发现在Mask R-CNN(2017年IEEE国际计算机视觉会议论文集第2961–2969页中K.He、G.Gkioxari、P.Dollár和R.Girshick的“Mask r-cnn”)中使用的RPN产生良好的结果,但是可以替代地使用其他区域提议网络。掩模由相同神经网络的一部分生成。将在下面参考图5详细地描述分割过程。由分割块120针对第二帧重复步骤210和220,该第二帧被分割以产生多个第二掩模。
以这种方式,分割块120实现第一帧和第二帧的实例分割。实例分割是在图像内标识对象的实例并为每个对象提供分割的问题。可以将实例分割与对象检测区分开,该对象检测除标识每个对象实例周围的有界框外不再进行任何操作。还可以将实例分割与语义分割区分开,在该语义分割中,每个像素被指派给对象或背景类,但是对象类的不同实例彼此没有分离。在不希望受理论束缚的情况下,据信实例分割的使用至少部分负责本方法的良好性能。
在步骤230中,对于在第一帧中标识的每个潜在对象实例,特征提取块130从第一帧中提取表征该潜在对象实例的第一特征向量。通常,特征向量是对象实例的抽象表示,要么是从帧中提取的,要么—如在本示例中一样—是从根据帧导出的特征图中提取的。在本示例中,特征向量是通过标识有界框并生成掩模的相同神经网络的另一个头部提取的。换句话说,在本示例中,执行这些任务的神经网络共享公共(“主干”)部分。特征提取块130也针对第二帧执行相同的特征提取过程230。
其他任务由神经网络的其他头部执行。在本说明书中,这些任务被指派给特征提取块130;然而,能替代地将它们指派给某个其他块。在步骤240中,特征提取块130生成对象置信度分数,该对象置信度分数预测相应的潜在对象实例是否很可能表示对象或背景。在被适配用于在本示例中使用的Mask R-CNN算法中,这个对象置信度分数被称为“对象性”分数。还参见:Faster R-CNN(2015年神经信息处理系统进展第91-99页S.Ren、K.He、R.Girshick和J.Sun的“Faster r-cnn:Towards real-time object detection withregion proposal networks”)。
在步骤250中,特征提取块130生成掩模置信度分数,该掩模置信度分数预测相应的掩模是否很可能表示对象。再次,在本示例中,这由神经网络的另一个头部生成。特别地,生成掩模置信度分数的神经网络的头部被训练以预测由掩模生成头部生成的掩模与其相应的地面实况掩模的交并比(IoU)。在推理时这提供所生成的掩模的准确性的估计。在本示例中,网络的此头部将(i)掩模它本身和(ii)在网络的较早层中用于生成掩模的中间特征中的一些视为输入。这些输入由神经网络的另外的层处理以生成掩模置信度分数。
在步骤260中,特征提取块130针对每个第一掩模和第二掩模计算出掩模区域。特别地,它对相应掩模中的活动像素的数量进行计数。
在步骤210-260中生成的数据片现在可用于使第一帧中的对象实例与第二帧中的对象实例匹配。图3图示根据一个实施方案的匹配方法300。在步骤310中,匹配块140对来自两个帧的潜在对象实例的集合集进行聚类。在本示例中,聚类基于HDBScan算法(R.J.Campello,D.Moulavi,A.Zimek和J.Sander,“Hierarchical density estimates fordata clustering,visualization,and outlier detection,”ACM Transactions onKnowledge Discovery from Data(TKDD),第10卷,第1期,第5页,2015)。聚类算法的输入包括由特征提取块130在步骤230中提取的特征向量。
在步骤310的初始聚类之后,方法进行到步骤320,其中低质量的对象实例通过从聚类中移除它们被拒绝。这样做是因为区域提议网络通常生成过多的区域提议,并且掩模生成可能为所提议的每个区域生成多个掩模。因此,初始聚类中包括的潜在对象实例的数量通常大大地大于实际对象的数量。根据本实施方案,在步骤320中使用三个准则来拒绝潜在对象实例:对象置信度分数低于预定阈值的对象实例被移除;掩模置信度分数低于预定阈值的对象实例被移除;以及掩模区域低于预定阈值的对象实例被移除。当然,在其他实施方案中可以使用更少的准则和/或其他准则。
在步骤330中,匹配块140将不足够相干的距离拆分开。在本示例中,通过以下步骤来做这个:将聚类中的对象实例指派给两个或更多个子组;确定特征空间中的每个子组的形心(即,组成子组的对象实例的特征向量的形心);评价子组形心之间的欧几里得距离;以及在这将在不增加聚类的数量太多的情况下显著地减小子组形心之间的欧几里得距离的情况下将聚类拆分成较小的聚类。更具体地,原始聚类中的特征向量被输入到k-均值聚类算法(为本领域的技术人员所公知)以针对数据找到一组较小的聚类。聚类的数目k使用肘方法(例如参见1953年心理测量学中R.L.Thorndike的“Who belongs in the family”)来确定。
接下来,在步骤340中,匹配块140在步骤330之后从存在于每个帧中的每个聚类中选择单对象实例。可以使用各种准则来做这个。在本示例中,选择在聚类中具有最大掩模区域的潜在对象实例。此步骤的结果是在每个帧中有许多单对象实例。通常,在两个帧中可能存在不同数量的对象—例如,由于对象在帧之间到达或离开,或者由于实例分割中的假阳性或假阴性。在步骤350中,匹配块140在两个帧之间匹配单对象实例。在本示例中,通过“贪婪”算法来做这个。换句话说,单对象实例的特征向量之间的成对距离被评价。具有最小距离的对被选择为第一匹配。从剩余的单对象实例中,选择具有次最小距离的对作为第二匹配,依此类推,直到在两个帧中的至少一个中的所有单对象实例都已被匹配为止。在步骤350完成之后,方法已标识了第一帧中的对象与第二帧中的对象之间的成对匹配的集合。这向运动估计算法400提供有用的输入。
图4是图示根据一个实施方案的运动估计方法400的流程图。在步骤410中,运动估计块150为每个对象生成粗略运动估计。在本实施方案中,这包括计算出第一帧中的每个掩模的形心与第二帧中的每个匹配掩模的形心之间的平移运动向量。换句话说,粗略估计基于对象形心的运动。其他方法当然是可能的。例如,粗略估计可能基于有界框的形心而不是掩模的形心。
在步骤420中,运动估计块150使用第二神经网络来细化粗略估计。特别地,第二神经网络的输入包括第一帧和第二帧及粗略估计。第二神经网络被训练来预测粗略运动向量与地面实况运动向量之间的运动差异。以这种方式,第二神经网络估计每个运动向量的非平移部分。在该过程中,第二神经网络还可以细化每个运动向量的平移部分。在本实施方案中,第二神经网络被训练来从最低分辨率开始并进行到接连更高的分辨率在多个分辨率下预测运动差异。粗略运动估计被仅用作较低分辨率的输入。在较高分辨率下,神经网络基于来自较低分辨率的细化估计来估计运动向量。
已发现以上概述的算法在实际实验中产生良好的性能。在不希望受理论束缚的情况下,据信对象匹配方法允许算法应付甚至小对象的长距离运动。使用基于神经网络的运动估计的细化利用了这些现有技术水平的运动估计算法能够提高的准确性。换句话说,两种方法的优点相互补充,以产生比任何一种方法单独能够产生的结果更好的结果。每种方法有助于补偿其他方法的局限性。
上述算法的许多变化是可能的。例如,在一个替代实施方案中,粗略运动向量估计包括非平移运动向量的估计以及平移运动向量的估计。粗略非平移运动向量可以由上述第一神经网络(即,负责分割和特征提取的神经网络)的附加头部生成。通过给第二神经网络提供不仅运动向量的平移分量的初始估计而且还给它提供运动向量的非平移分量的初始估计,这可以有助于从第二神经网络移除一些负担。
在其他变体中,可以按不同次序执行这些步骤中的一些。例如,能在聚类的步骤之前或在拆分聚类的步骤之后执行拒绝潜在对象实例的步骤。另外,如上已经指出,可以按与图2中指示的次序不同的次序产生在分割和特征提取阶段中产生的不同数据片。特别地,不同数据片可以由相同神经网络的不同头部产生。因此,可以按任何次序或实际上并行地产生它们。
如上已经提及,可以共享图1所示的不同块的功能中的一些—特别是在不同块从相同主干神经网络的不同头部产生数据的情况下。图1中各框的功能性可以由一个或多个通用处理器或一个或多个图形处理单元(GPU)实现。特别地,神经网络处理由一个或多个神经网络加速器(NNA)实现。
现在将参考图5和图6详细地描述根据一个实施方案的用于对象匹配和运动估计的方法和系统。应理解,此实施方案仅仅是示例性的,并且本公开的范围绝不限于此。
为了估计描述从参考帧到目标帧的位移的运动场D,将问题分成两个部分。首先,对包含仅场景中的每个对象的运动的平移分量的仅平移运动
Figure BDA0002946645380000111
进行粗略估计。第二,完成和细化
Figure BDA0002946645380000112
这意指对背景运动
Figure BDA0002946645380000113
以及每个对象的旋转运动
Figure BDA0002946645380000114
进行估计。更具体地,在每个对象像素处,
Figure BDA0002946645380000115
等于包围该像素处的对象的有界框的中心的帧之间的位移。
Figure BDA0002946645380000116
是相对于每个图像中的包围有界框的中心从参考帧到目标帧的2D位移。注意,
Figure BDA0002946645380000117
在图像中的每个对象内是恒定的,然而
Figure BDA0002946645380000118
在每个对象内变化并说明对象的旋转和透视投影两者。对第二部分中的估计运动场的细化和完成通过后面的网络G来实现,从而给出最终流
Figure BDA0002946645380000119
Figure BDA00029466453800001110
是通过训练Mask R-CNN的修改版本找到的。这在第一帧I1和第二帧I2中标识(潜在)对象实例j∈1,…,N,其中N是未知的,并且针对每个对象实例,计算出有界框bbj、Mj、对象性分数Oj、掩模置信度分数Sj和代表性特征向量Fj。基于特征向量、掩模和分数在两个帧之间匹配对象。然后使用参考帧中的掩模及其目标帧中的匹配对应的掩模之间的偏移来生成
Figure BDA0002946645380000121
图5图示根据一个实施方案的实例分割方法。此实施方案使用Mask R-CNN算法的修改版本。在图5中,标记为“Conv”的框箭头表示神经网络的卷积层。标记为“FC”的框箭头表示全连接层。第一帧和第二帧被输入到表示为神经网络的主干部分510的一组层。在本示例中,主干部分510由Mask R-CNN的区域提议网络(RPN)部件构成(此实施方案使用ResNet50 FPN版本)(2017年IEEE国际计算机视觉会议论文集第2961–2969页中K.He、G.Gkioxari、P.Dollár和R.Girshick的“Mask r-cnn”)。网络的主干部分510使用特征金字塔网络(FPN),其生成从精细到粗略的不同空间分辨率的特征图的金字塔。主干部分510(RPN)还针对每个潜在对象实例输出有界框的粗略估计。可在Tsung-Yi Lin,Piotr Dollár,Ross Girshick,Kaiming He,Bharath Hariharan,Serge Belongie,“Feature PyramidNetworks for Object Detection”,IEEE Conference on Computer Vision and PatternRecognition(CVPR),2017,第2117-2125页中找到FPN的进一步细节。
由网络的主干部分510提取的特征图被输入到具有不同功能的网络的两个头部。由ROIAlign过程521以及全连接层522、524、526和528构成的第一头部生成每个潜在对象实例的特征向量和细化有界框。由ROIAlign过程531、卷积层532、534、536、542和544、最大池化层538、级联操作540以及全连接层546、548和549构成的第二头部生成每个潜在对象实例的掩模和掩模置信度分数。每个ROIAlign过程521、531接收以下各项作为输入:(i)每个潜在对象实例的有界框;以及(ii)整个帧的特征图的金字塔。每个ROIAlign过程521、531使用每个潜在对象实例的有界框来从整个帧的特征图的金字塔中提取固定大小的小特征图。在本示例中,对于每个潜在对象实例,根据有界框的大小来选择金字塔的适当级别。然后使用双线性插值来从所选级别下的特征图中提取潜在对象实例的固定大小的特征图。更详细地:有界框用于在所选金字塔级别下裁切特征图的一部分。然后使用双线性插值来将经裁切的特征图池化为固定大小的特征图。
第一头部的ROIAlign过程521将由主干RPN 510生成的粗略地估计的有界框视为其有界框输入。第二头部的ROIAlign过程531将由第一头部生成的细化有界框坐标视为其有界框输入。在表1中示出了当前实现方式中的网络的每个层下的数据维度。
已发现在Mask R-CNN(2017年IEEE国际计算机视觉会议论文集第2961–2969页中K.He、G.Gkioxari、P.Dollár和R.Girshick的“Mask r-cnn”)中使用的ROIAlign操作产生良好的结果,但是可以替代地使用其他对齐机制。在本示例中,从网络的主干部分510中提取两个特征图。对于生成特征向量和(细化)有界框的网络的头部,使用7x7x256特征图。对于用于生成掩模和掩模置信度分数的网络的头部,使用14x14x256特征图。在其他示例中,能使用不同大小的特征图。
表1经修改的Mask R-CNN网络的每个层下的数据维度
…的输出 维度 …的输出 维度
ROIAlign 521 7x7x256 ROIAlign 531 14x14x256
FC 522 1x1x1024 Conv 532 14x14x256
FC 524 1x1x1024 Conv 534 28x28x256
FC 526 1x1x256 Conv 536 28x28x1
FC 528 4x2 Concat 540 14x14x257
Conv 542 14x14x257
Conv 544 14x14x257
FC 546 1x1x1024
FC 548 1x1x1024
FC 549 1x1x1
经修改的Mask R-CNN网络M通常生成每个实例的多个掩模和对应的特征向量。根据这些,必须选择每个对象实例的单个最佳掩模和特征向量。选择基于M的输出的组合。本实现方式使用对象性分数和掩模置信度分数的组合。与所选掩模相对应的特征向量用于在对象匹配过程期间找到经分割的对象之间的匹配。
对于输入帧对中的真实对象的集合Ω,Mask R-CNN通常对于Ω中的每个对象i,分别找到帧I1和I2中的候选对象实例的集合J1和J2。不是输出类预测向量,而是所提出的修改的实例分割网络对于每个预测的实例j,输出特征向量,例如,256维特征向量fj∈R256。理想地,对于两个给定对象实例,如果它们对应于相同的物理对象,则网络学习输出在特征空间中尽可能接近的特征向量。如果两个实例对应于不同的物理对象,则网络学习输出在特征空间中尽可能远的特征向量。这些特征向量可用于标识两个帧中的匹配对象。
这通过使定义如下的损失函数LF最小化来实现。令Ω为帧对中的所有对象的集合。对于每个对象i∈Ω,选择随机特征向量fi来表示它。然后选择两个随机子集。第一集合Fm由其他匹配特征向量(即与相同对象i相对应的其他特征向量)构成。第二集合Fn由与除i以外的对象相对应的非匹配特征向量构成。两个子集都包含尽可能多的候选,最多达9个。
根据这些子集,然后计算出相似损失Ls和不相似损失Ld。这些被定义如下:
Figure BDA0002946645380000131
Figure BDA0002946645380000132
在以上两种情况下,在查找距离|fi-f|时使用L1范数。值w控制正不相似和负不相似的余量并且在本示例中被设定为2。
整个帧对的总损失函数然后为:
Figure BDA0002946645380000141
掩模确认分支由两个卷积层542、544构成,这两个卷积层以接收来自级联操作540的输入的三个全连接层546、548和549结尾并且对于每个估计的掩模计算出掩模置信度分数。在训练期间,最小化的损失函数是此掩模置信度分数与所估计的掩模和地面实况掩模的合并比(IoU)之间的L1范数。换句话说,此分支产生对所估计的掩模有多准确的估计。
经修改的Mask R-CNN在两个帧中查找许多候选。所提出的方法寻求标识与每个帧中的每个对象实例相对应的最佳候选,并且找到它们之间的匹配。这使用如上参考图3已经概述的五阶段过程来实现:
1)初始聚类
2)移除低质量候选
3)拆分不正确地加入的聚类
4)选择最佳候选
5)最终贪婪匹配
首先(参见图3:步骤310),应用诸如HDBScan的聚类算法。基于在实例分割阶段期间针对每个对象实例提取的256维特征向量执行聚类。其次(参见图3:步骤320),移除对象性、掩模置信度分数或掩模区域落在阈值以下的低质量实例。来自一个帧的两个看起来类似的对象形成相同聚类的一部分是仍然可能的。为了解决这些问题,如果实例的形心相隔太远,则使用k-均值的肘方法来拆分来自每个帧的聚类(参见图3:步骤330)。可在1953年心理测量学中R.L.Thorndike的“Who belongs in the family”中找到肘方法的细节。在第四步骤(参见图3:步骤340)中,针对每个帧中的每个聚类标识单个最佳对象实例。所选择的对象实例是具有最大掩模区域的对象实例。在第五步骤中(参见图3:步骤350)中,基于两个帧的256维特征向量之间的欧几里德距离以贪婪方式在两个帧之间匹配这些最佳实例。针对已匹配的对象中的每一个估计的掩模以及那些掩模的对应形心之间的位移用于生成仅平移流场
Figure BDA0002946645380000142
图6图示用于细化仅平移流场的运动估算的方法。在此实施方式中,适配的PWC-Net架构被用于细化网络G;然而,其他运动估计网络能被用于此目的。PWC-Net是金字塔式网络,首先以低分辨率估计光流,然后以较高分辨率接连上采样和估计,直到获得全尺度流场为止。架构被修改以如图6所描绘的那样在最低三个分辨率下并入
Figure BDA0002946645380000143
在最低分辨率下,
Figure BDA0002946645380000144
在被上采样以用在下一个分辨率中之前被添加到所估计的运动场中。
Figure BDA0002946645380000151
是被调整大小并重新缩放以与第6分辨率中的估计匹配的
Figure BDA0002946645380000152
在第5尺度和第4尺度中,粗略估计
Figure BDA0002946645380000153
Figure BDA0002946645380000154
被以相同方式添加到网络的估计运动,以模仿残差层。所有三个加法项都通过单独的参数alpha加权,以独立地控制
Figure BDA0002946645380000155
在每个分辨率下的贡献。这些α654值(在图6中未示出)与其他网络权重一起被训练以优化平移流在每个级别下的贡献。发明人的实验表明将
Figure BDA0002946645380000156
添加到超过第4尺度的尺度不会在结果方面提供大大的改善。在不希望受理论束缚的情况下,据信这可能是因为由于对象掩模等中的误差
Figure BDA0002946645380000157
包含小的不准确性,并缺少精细的细节。如果在最高分辨率下添加
Figure BDA0002946645380000158
则网络几乎没有机会解决这些问题。
现在将详细地描述图6中的过程。首先通过一系列卷积层来提取运动估计的特征—层611-1至611-6提取第一帧的特征,而层612-1至612-6提取第二帧的特征。然后将所提取的特征用于多分辨率运动估计。在最低(第6)分辨率下,相关性操作622-6用于将从第一图像中提取的特征F6(I1)与从第二图像中提取的特征F6(I2)进行比较。从第一图像中提取的特征F6(I1)与相关性操作622-6的输出一起被作为输入提供给光流估计过程624-6。此过程使用训练后的神经网络来估计运动向量场的非平移部分。如以上所说明的,运动向量场的平移部分的粗略估计
Figure BDA0002946645380000159
被添加到光流估计624-6的输出,以产生针对第6分辨率的组合估计
Figure BDA00029466453800001510
此估计通过上采样步骤626-6来上采样,以用于在下一个较高分辨率(即,第5分辨率)下使用。使用来自第6分辨率的上采样的运动场估计
Figure BDA00029466453800001511
在步骤620-5中,使从第二图像中提取的特征F5(I2)变形。就来自第6分辨率的估计是准确的而论,这将往往在第5下使来自第一图像和第二图像的特征对齐。来自第二图像的变形特征和来自第一图像的特征F5(I1)被输入到相关性操作622-5。从这里起,过程像针对第6分辨率那样继续计算出相关性622-5、估计光流624-5、添加运动向量场的平移部分的粗略估计
Figure BDA00029466453800001512
以及上采样626-5所得的组合估计
Figure BDA00029466453800001513
在第4分辨率下做相同过程,其中相似的附图标记被用于相似的操作。注意,为了简单,在图中未示出第3分辨率、第2分辨率和第1分辨率。除了未将运动向量场的平移部分的粗略估计
Figure BDA00029466453800001514
添加到光流估计的输出以外,这些被与第6分辨率、第5分辨率和第4分辨率类似地处理。还注意,在图6中未示出通过训练后的值alpha加权—再次,为了简单。可在(2018年IEEE国际计算机视觉模式识别会议论文集第8934–8943页中D.Sun、X.Yang、M.-Y.Liu和J.Kautz的“Pwc-net:Cnns for optical flow using pyramid,warping,and costvolume”)中找到用于光流估计624的神经网络的构造的细节。应领会,本方法与PWCNet不同的原因是神经网络被训练来在最低尺度下估计运动残差,而不是直接估计运动场。然而,这不必影响网络的结构。
图7是图示根据一个实施方案的生成训练数据集的方法的流程图。如上已经讨论的,本发明人已发现,在两个部分—即,平移分量和非平移分量中生成运动向量估计可以是有利的。这基于不同算法可能更好地适于估计运动向量场的这两个不同部分的观察结果。应注意,在上述示例中,平移运动向量分量和非平移运动向量分量两者的生成都依靠机器学习算法—特别是神经网络的使用。为了训练此类算法,需要合适的训练数据和相关地面实况运动向量。将期望将地面实况运动向量分成平移分量和非平移分量,以便支持整体运动估计算法的不同部分的训练。难以或不可能为任意自然帧获得准确的地面实况运动向量。因此,本发明人提出要合成训练数据集。图7是用于做这个的方法的示例。图7的方法可以由包括例如合适地编程的计算机系统的任何合适的设备实现。例如,方法可以由如图8所图示的计算机系统的CPU 902和/或GPU 904执行。
优选地,数据集足够大且多样化以在使用它来训练的机器学习算法中递送鲁棒的性能。数据集优选地包含经历大平移并且由于大旋转、遮挡或照明变化而在外观上显著地变化的对象。
在步骤710中,计算机系统获得对象的多个图像。对于本示例,本发明人从Archive3D(https://archive3d.net/)下载了大量3D对象文件。这些文件被自动地处理以移除任何有问题的模型—例如,拒绝包含过多或太少面部的模型,并且拒绝由多个不相交部分构成的模型。剩余的模型被随机地划分成分别为4,000个对象和12,000个对象的不相交的“测试”和“训练”集。在步骤720中,计算机系统获得背景的多个图像。在本示例中,背景由用从OpenImages数据集中随机地选择的图像织构的平面构成(A.Kuznetsova,H.Rom,N.Alldrin,J.Uijlings,I.Krasin,J.Pont-Tuset,S.Kamali,S.Popov,M.Malloci,T.Duerig和V.Ferrari,“The open images dataset v4:Unified image classification,object detection,and visual relationship detection at scale,”arXiv:1811.00982,2018)。然后对背景应用随机旋转和平移。
在步骤730中,计算机系统生成多对合成图像,每对包括第一帧和第二帧。每个第一帧包括对叠加在所选背景上的处于第一位置和第一定向中的一系列对象。第二帧包括对叠加在所选背景上的处于第二位置和第二定向中的对象的相同选择,其中第二位置和第二定向中的至少一些与第一位置和第一定向不同。在本示例中,通过在上述背景图像上如上所述渲染对象来做这个。当渲染时,对象被保持在其初始外观中,或者使用来自OpenImages数据集的自然图像、来自ImageAfter(http://www.imageafter.com/)的类似纹理的图像、或使用Blender(B.O.Community,Blender-a 3D modelling and rendering package,Blender Foundation,Stichting Blender Foundation,Amsterdam,2018,http://www.blender.org)产生的程序上生成的纹理来随机地织构。数据集中的每个图像对是通过选择一组随机对象、如上所概述的那样生成纹理并为每个对象生成随机轨迹来生成的。当然,也能以其他方式合成图像对,并且不必要使用这些源数据集或工具。
在步骤740中,计算机系统生成平移地面实况运动向量,描述第一位置与第二位置之间的差异。计算机系统还生成(在步骤750中)非平移地面实况运动向量,描述第一定向与第二定向之间的差异。因为图像对是合成图像而不是自然图像,所以地面实况数据总是可用作合成过程的一部分。
注意,可以显式地或隐式地表达和存储平移地面实况运动向量或非平移地面实况运动向量。例如,计算机系统可以存储平移地面实况运动向量以及作为平移分量和非平移分量之和的组合地面实况运动向量。本领域的技术人员应领会,存储这些分量中的一个和两个分量之和相当于存储两个分量。
在本示例中,渲染了彩色图像、对象索引图和地面实况流图(组合运动向量)。附加地,产生了运动的平移分量的地面实况流场。这些包含当每个对象仅经历轨迹的平移分量时所得的流场。这个额外的地面实况流场可用于评价平移流估计
Figure BDA0002946645380000171
的准确性。渲染它本身使用了Cycles渲染器(https://www.cycles-renderer.org/),该Cycles渲染器能够模拟逼真的全局光照(GI)效果。
以上示例全部都集中于一对帧之间的运动估计。不用说,可以将所公开的技术扩展到较大数量的帧—例如,通过将它们应用于较长序列中的帧的连续对。
图8示出在其中可以实现本文描述的图形处理系统(包括图像处理系统100)的计算机系统。计算机系统包括CPU 902、GPU 904、存储器906和其他装置914,诸如显示器916、扬声器918和相机919。在GPU 904上实现处理块910(与图1中的处理块120-150相对应)。在其他示例中,可以在CPU 902上或在可以作为CPU或GPU的补充或替代来提供的神经网络加速器(NNA)上实现处理块910。计算机系统的部件可经由通信总线920彼此进行通信。暂存器912(与存储器110相对应)被实现为存储器906的一部分。
图1和图5-6的数据处理系统被示出为包括多个功能块。这仅是示意性的,并不旨在限定此类实体的不同逻辑元件之间的严格划分。每个功能块可以任何合适的方式提供。应理解,本文中描述为由处理系统形成的中间值不需要由处理系统在任何时间点物理地生成,并且可以只表示方便描述由处理系统在其输入与输出之间执行的处理的逻辑值。
本文中所描述的处理系统可体现在集成电路上的硬件中。本文中所描述的处理系统可配置成执行本文所描述的任一种方法。一般来讲,上文所述的功能、方法、技术或部件中的任一者可在软件、固件、硬件(例如,固定逻辑电路系统)或其任何组合中实现。本文可以使用术语“模块”、“功能”、“部件”、“元件”、“单元”、“块”和“逻辑”来概括地表示软件、固件、硬件或其任何组合。在软件实现方式的情况下,模块、功能、部件、元件、单元、块或逻辑表示程序代码,所述程序代码在处理器上执行时执行指定任务。本文中所描述的算法和方法可以由执行代码的一个或多个处理器执行,所述代码使处理器执行算法/方法。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪存存储器、硬盘存储器以及可以使用磁性、光学和其他技术来存储指令或其他数据并且可以由机器存取的其他存储器装置。
如本文中所使用的术语计算机程序代码和计算机可读指令是指供处理器执行的任何种类的可执行代码,包含以机器语言、解释语言或脚本语言表达的代码。可执行代码包含二进制代码、机器代码、字节代码、定义集成电路的代码(例如硬件描述语言或网表),以及用例如C、Java或OpenCL等编程语言代码表达的代码。可执行代码可以是例如任何种类的软件、固件、脚本、模块或库,当在虚拟机或其他软件环境中被适当地执行、处理、解释、编译、运行时,这些软件、固件、脚本、模块或库使支持可执行代码的计算机系统的处理器执行由所述代码指定的任务。
处理器、计算机或计算机系统可以是任何种类的装置、机器或专用电路,或其集合或一部分,它具有处理能力使得可以执行指令。处理器可以是任何种类的通用或专用处理器,诸如CPU、GPU、NNA、片上系统、状态机、媒体处理器、专用集成电路(ASIC)、可编程逻辑阵列、现场可编程门阵列(FPGA)等。计算机或计算机系统可以包括一个或多个处理器。
本发明还意图涵盖限定如本文中所描述的硬件的配置的软件,例如硬件描述语言(HDL)软件,用于设计集成电路或用于配置可编程芯片以执行所要功能。也就是说,可以提供一种在其上编码有形式为集成电路定义数据集的计算机可读程序代码的计算机可读存储介质,当在集成电路制造系统中被处理(即运行)时,该计算机可读程序代码将该系统配置成制造被配置成执行本文描述的任何方法的处理系统,或者制造包括本文描述的任何设备的处理系统。集成电路定义数据集可以是例如集成电路描述。
因此,可以提供一种在集成电路制造系统处制造如本文所描述的处理系统的方法。此外,可以提供一种集成电路定义数据集,该集成电路定义数据集当在集成电路制造系统中被处理时,使制造处理系统的方法被执行。
集成电路定义数据集可以是计算机代码的形式,例如作为网表,用于配置可编程芯片的代码,作为定义适合于在集成电路中以任何级别制造的硬件描述语言,包括作为寄存器传输级(RTL)代码,作为高级电路表示法(诸如Verilog或VHDL),以及作为低级电路表示法(诸如OASIS(RTM)和GDSII)。在逻辑上定义适合于在集成电路中制造的硬件的更高级表示法(诸如RTL)可以在计算机系统上处理,该计算机系统被配置用于在软件环境的上下文中生成集成电路的制造定义,该软件环境包括电路元件的定义和用于组合这些元件以生成由该表示法定义的集成电路的制造定义的规则。如通常软件在计算机系统处执行以便定义机器的情况一样,可能需要一个或多个中间用户步骤(例如,提供命令、变量等),以便将计算机系统配置成生成集成电路的制造定义,以执行定义集成电路以便生成所述集成电路的制造定义的代码。
现在将参考图9描述在集成电路制造系统处处理集成电路定义数据集以便将该系统配置成制造处理系统的示例。
图9示出集成电路(IC)制造系统1002的示例,该IC制造系统被配置成制造如本文任何示例中描述的处理系统。特别地,IC制造系统1002包括布局处理系统1004和集成电路生成系统1006。IC制造系统1002被配置成接收IC定义数据集(例如,定义如本文任何示例中描述的处理系统),处理IC定义数据集,并且根据IC定义数据集来生成IC(例如,其体现如本文任何示例中描述的处理系统)。对IC定义数据集的处理将IC制造系统1002配置成制造体现如本文任何示例中描述的处理系统的集成电路。
布局处理系统1004被配置成接收和处理IC定义数据集以确定电路布局。根据IC定义数据集确定电路布局的方法在本领域中是已知的,并且例如可以涉及合成RTL代码以确定要生成的电路的门级表示,例如就逻辑部件(例如NAND、NOR、AND、OR、MUX和FLIP-FLOP部件)而言。通过确定逻辑部件的位置信息,可以根据电路的门级表示来确定电路布局。这可以自动完成或者在用户参与下完成,以便优化电路布局。当布局处理系统1004已经确定电路布局时,其可将电路布局定义输出到IC生成系统1006。电路布局定义可以是例如电路布局描述。
如本领域已知的,IC生成系统1006根据电路布局定义来生成IC。举例来讲,IC生成系统1006可实现生成IC的半导体装置制造工艺,其可涉及光刻和化学处理步骤的多步骤序列,在此期间,在由半导体材料制成的晶片上逐渐形成电子电路。电路布局定义可呈掩模的形式,其可以在光刻工艺中用于根据电路定义来生成IC。替代地,提供给IC生成系统1006的电路布局定义可呈计算机可读代码的形式,IC生成系统1006可使用所述计算机可读代码来形成用于生成IC的合适掩码。
由IC制造系统1002执行的不同过程可全部在一个位置例如由一方来实施。替代地,IC制造系统1002可以是分布式系统,使得一些过程可在不同位置执行,并且可由不同方来执行。例如,以下阶段中的一些可以在不同位置和/或由不同方来执行:(i)合成表示IC定义数据集的RTL代码,以形成要生成的电路的门级表示;(ii)基于门级表示来生成电路布局;(iii)根据电路布局来形成掩模;以及(iv)使用掩模来制造集成电路。
在其他示例中,在集成电路制造系统处对集成电路定义数据集的处理可以将该系统配置成在不处理IC定义数据集以便确定电路布局的情况下制造处理系统。举例来说,集成电路定义数据集可以定义例如FPGA的可重新配置的处理器的配置,并且对所述数据集进行的处理可以将IC制造系统配置成(例如,通过将配置数据加载到FPGA)生成具有所述定义的配置的可重新配置的处理器。
在一些实施方案中,当在集成电路制造系统中处理时,集成电路制造定义数据集可以使集成电路制造系统生成如本文中描述的装置。例如,由集成电路制造定义数据集以上文参考图9描述的方式对集成电路制造系统进行配置,可以制造如本文所述的装置。
在一些示例中,集成电路定义数据集可包括在数据集处定义的硬件上运行的软件,或者与在数据集处定义的硬件组合运行的软件。在图9所示的示例中,IC生成系统可以由集成电路定义数据集进一步配置为在制造集成电路时根据在集成电路定义数据集处限定的程序代码将固件加载到所述集成电路上,或者以其他方式向集成电路提供与集成电路一起使用的程序代码。
与已知的实现方式相比,在本申请中阐述的概念在装置、设备、模块和/或系统中(以及在本文中实现的方法中)的实现方式可以引起性能改进。性能改进可以包含计算性能提高、等待时间缩短、处理量增大和/或功耗降低中的一个或多个。在制造此类装置、设备、模块和系统(例如在集成电路中)期间,可以在性能改进与物理实施方案之间进行权衡,从而改进制造方法。例如,可以在性能改进与布局面积之间进行权衡,从而匹配已知实现方式的性能,但使用更少的硅。例如,这可以通过以串行方式重复使用功能块或在装置、设备、模块和/或系统的元件之间共享功能块来完成。相反,在本申请中阐述的引起装置、设备、模块和系统的物理实现方式的改进(诸如硅面积减小)的概念可以针对性能提高进行权衡。例如,这可以通过在预定义面积预算内制造模块的多个实例来完成。
申请人据此独立地公开了本文中所描述的每个单独的特征以及两个或更多个此类特征的任意组合,到达的程度使得此类特征或组合能够根据本领域的技术人员的普通常识基于本说明书整体来实行,而不管此类特征或特征的组合是否解决本文中所公开的任何问题。鉴于前文描述,本领域的技术人员将清楚,可以在本发明的范围内进行各种修改。

Claims (15)

1.一种分析包括至少第一帧和第二帧的一组帧中的一个或多个对象的方法,所述方法包括:
分割(210、220)所述第一帧,以产生多个第一掩模,每个第一掩模标识属于在所述第一帧中检测到的潜在对象实例的像素;
对于在所述第一帧中检测到的每个潜在对象实例,从所述第一帧中提取(230)表征所述潜在对象实例的第一特征向量;
分割(210、220)所述第二帧,以产生多个第二掩模,每个第二掩模标识属于在所述第二帧中检测到的潜在对象实例的像素;
对于在所述第二帧中检测到的每个潜在对象实例,从所述第二帧中提取(230)表征所述潜在对象实例的第二特征向量;以及
至少部分地基于所述第一特征向量、所述第一掩模、所述第二特征向量和所述第二掩模,使所述第一帧中的所述潜在对象实例中的至少一个与所述第二帧中的所述潜在对象实例中的一个匹配(300)。
2.如权利要求1所述的方法,其中所述匹配包括至少部分地基于所述第一特征向量和所述第二特征向量对在所述第一帧和所述第二帧中检测到的所述潜在对象实例进行聚类(310),以生成潜在对象实例的聚类,
其中所述匹配任选地还包括,对于每个帧中的每个聚类:
评价所述帧中的所述聚类中的所述潜在对象实例之间的距离;以及
基于所述评价的结果将所述聚类拆分(330)成多个聚类。
3.如权利要求2所述的方法,其中所述匹配包括从每个帧中的每个聚类中的所述潜在对象实例当中选择(340)单对象实例,
并且其中所述匹配任选地包括使所述第一帧中的所述单对象实例中的至少一个与所述第二帧中的单对象实例匹配(350)。
4.如前述权利要求中的任一项所述的方法,其中所述匹配包括基于下列中的两个或更多个中的任何一个或任何组合拒绝(320)潜在对象实例:
对象置信度分数,其估计潜在对象实例很可能是对象还是背景的一部分;
掩模置信度分数,其估计掩模表示对象的可能性;和
掩模区域,
其中所述掩模置信度分数由被训练来预测所述掩模与地面实况掩模之间的对应程度的机器学习算法任选地生成(250)。
5.如前述权利要求中的任一项所述的方法,其中所述掩模和所述特征向量由第一机器学习算法生成。
6.如前述权利要求中的任一项所述的方法,还包括对于所述第一帧和所述第二帧中的至少一个匹配的对象,估计所述对象在所述第一帧与所述第二帧之间的运动,
任选地其中估计所述对象的所述运动包括,对于所述对象的多个像素中的每一个:
估计(410)平移运动向量;
估计(420)非平移运动向量;以及
将所述像素的运动向量计算为所述平移运动向量和所述非平移运动向量之和。
7.如权利要求6所述的方法,其中估计所述对象的所述运动包括:
至少部分地基于所述第一帧中的所述掩模和所述第二帧中的对应匹配的掩模来生成(410)所述运动的粗略估计;以及
使用第二机器学习算法来细化(420)所述粗略估计,
其中所述第二机器学习算法将所述第一帧、所述第二帧和所述粗略估计视为输入,并且
所述第二机器学习算法被训练来预测所述粗略运动向量与地面实况运动向量之间的运动差异,
任选地其中所述机器学习算法被训练来从最低分辨率开始在多个分辨率下预测所述运动差异并且基于从前面分辨率上采样所述运动差异在接连更高的分辨率下预测所述运动差异。
8.一种生成训练数据集以用于训练机器学习算法来执行运动估计的方法,所述方法包括:
获得(710)对象的多个图像;
获得(720)背景的多个图像;以及
生成(730)多对合成图像,每对包括第一帧和第二帧,
所述第一帧包括叠加在所选背景上的处于第一位置和第一定向中的一系列对象,
所述第二帧包括叠加在所选背景上的处于第二位置和第二定向中的一系列对象,其中所述第二位置和第二定向中的至少一些与所述第一位置和第一定向不同,
所述方法还包括生成(740、750):
平移地面实况运动向量,其描述所述第一位置与所述第二位置之间的差异;和
非平移地面实况运动向量,其描述所述第一定向与所述第二方向之间的差异。
9.一种图像处理系统(100),包括:
存储器(110),其被配置成存储包括至少第一帧和第二帧的一组帧;和
第一分割块(120),其被配置成分割所述第一帧,以产生多个第一掩模,每个第一掩模标识属于在所述第一帧中检测到的潜在对象实例的像素;
第一特征提取块(130),其被配置成对于在所述第一帧中检测到的每个潜在对象实例,从所述第一帧中提取表征所述潜在对象实例的第一特征向量;
第二分割块(120),其被配置成分割所述第二帧,以产生多个第二掩模,每个第二掩模标识属于在所述第二帧中检测到的潜在对象实例的像素;
第二特征提取块(130),其被配置成对于在所述第二帧中检测到的每个潜在对象实例,从所述第二帧中提取表征所述潜在对象实例的第二特征向量;和
匹配块(140),其被配置成至少部分地基于所述第一特征向量、所述第一掩模、所述第二特征向量和所述第二掩模,使所述第一帧中的所述潜在对象实例中的至少一个与所述第二帧中的所述潜在对象实例中的一个匹配。
10.如权利要求9所述的图像处理系统(100),其中所述第一分割块和所述第二分割块是同一分割块(120),并且/或者所述第一特征提取块和所述第二特征提取块是同一特征提取块(130)。
11.一种使用集成电路制造系统来制造如权利要求9至10中的任一项所述的处理系统的方法,所述方法包括:
使用布局处理系统来处理所述处理系统的计算机可读描述以便生成体现所述处理系统的集成电路的电路布局描述;以及
使用集成电路生成系统来根据所述电路布局描述制造所述处理系统。
12.一种计算机可读代码,其被配置成使得在运行所述代码时执行如权利要求1至8中的任一项所述的方法。
13.一种集成电路定义数据集,当在集成电路制造系统中被处理时,所述集成电路定义数据集将所述集成电路制造系统配置成制造如权利要求9至10中的任一项所述的处理系统。
14.一种计算机可读存储介质,在其上存储有如权利要求9至10中的任一项所述的处理系统的计算机可读描述,当在集成电路制造系统中被处理时,所述计算机可读描述使所述集成电路制造系统:
使用布局处理系统来处理所述处理系统的计算机可读描述以便生成体现所述处理系统的集成电路的电路布局描述;以及
使用集成电路生成系统来根据所述电路布局描述制造所述处理系统。
15.一种集成电路制造系统,其包括:
计算机可读存储介质,在其上存储有如权利要求9至10中的任一项所述的处理系统的计算机可读描述;
布局处理系统,所述布局处理系统被配置成处理所述计算机可读描述以便生成体现所述处理系统的集成电路的电路布局描述;和
集成电路生成系统,所述集成电路生成系统被配置成根据所述电路布局描述来制造所述处理系统。
CN202110197989.XA 2020-02-27 2021-02-22 分析一组帧中的对象 Pending CN113392831A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB2002767.8 2020-02-27
GB2002767.8A GB2587248B (en) 2020-02-27 2020-02-27 Analysing objects in a set of frames
GB2100666.3A GB2593278B (en) 2020-02-27 2021-01-19 Generating a training dataset
GB2100666.3 2021-01-19

Publications (1)

Publication Number Publication Date
CN113392831A true CN113392831A (zh) 2021-09-14

Family

ID=70278525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110197989.XA Pending CN113392831A (zh) 2020-02-27 2021-02-22 分析一组帧中的对象

Country Status (4)

Country Link
US (2) US12073567B2 (zh)
EP (1) EP3872761A3 (zh)
CN (1) CN113392831A (zh)
GB (2) GB2587248B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114360127A (zh) * 2021-12-16 2022-04-15 三峡大学 一种用于安检系统的行人健康监测方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407753A (zh) * 2020-03-16 2021-09-17 清华大学 基于语义的透视图像检索方法及其装置
WO2022154342A1 (en) * 2021-01-12 2022-07-21 Samsung Electronics Co., Ltd. Methods and electronic device for processing image
CN117237687A (zh) * 2022-06-07 2023-12-15 英业达科技有限公司 自动分类过渡动作的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10055850B2 (en) * 2014-09-19 2018-08-21 Brain Corporation Salient features tracking apparatus and methods using visual initialization
US20170083790A1 (en) * 2015-09-23 2017-03-23 Behavioral Recognition Systems, Inc. Detected object tracker for a video analytics system
CN110062934B (zh) * 2016-12-02 2023-09-01 谷歌有限责任公司 使用神经网络确定图像中的结构和运动
US20190130583A1 (en) * 2017-10-30 2019-05-02 Qualcomm Incorporated Still and slow object tracking in a hybrid video analytics system
EP3633614A1 (en) * 2018-10-03 2020-04-08 FEI Company Object tracking using image segmentation
US10896356B2 (en) * 2019-05-10 2021-01-19 Samsung Electronics Co., Ltd. Efficient CNN-based solution for video frame interpolation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114360127A (zh) * 2021-12-16 2022-04-15 三峡大学 一种用于安检系统的行人健康监测方法
CN114360127B (zh) * 2021-12-16 2023-09-22 三峡大学 一种用于安检系统的行人健康监测方法

Also Published As

Publication number Publication date
EP3872761A3 (en) 2021-11-17
US20210272295A1 (en) 2021-09-02
US12073567B2 (en) 2024-08-27
US20240265556A1 (en) 2024-08-08
GB2587248B (en) 2021-12-08
GB2593278A (en) 2021-09-22
GB202100666D0 (en) 2021-03-03
EP3872761A2 (en) 2021-09-01
GB2587248A (en) 2021-03-24
GB2593278B (en) 2023-04-12
GB202002767D0 (en) 2020-04-15

Similar Documents

Publication Publication Date Title
US11631239B2 (en) Iterative spatio-temporal action detection in video
Sun et al. Swformer: Sparse window transformer for 3d object detection in point clouds
CN109754064B (zh) 执行解卷积的神经网络的方法和装置
Xie et al. Multilevel cloud detection in remote sensing images based on deep learning
He et al. Enhanced boundary learning for glass-like object segmentation
US12073567B2 (en) Analysing objects in a set of frames
US20240135139A1 (en) Implementing Traditional Computer Vision Algorithms as Neural Networks
US11328169B2 (en) Switchable propagation neural network
CN110543841A (zh) 行人重识别方法、系统、电子设备及介质
Hu et al. Learning hybrid convolutional features for edge detection
CN110023989B (zh) 一种素描图像的生成方法及装置
WO2014200454A1 (en) Performing hand gesture recognition using 2d image data
JP6902811B2 (ja) 視差推定システムと方法、電子機器及びコンピュータ可読記憶媒体
Phalak et al. Scan2plan: Efficient floorplan generation from 3d scans of indoor scenes
CN111860124A (zh) 基于空谱胶囊生成对抗网络的遥感图像分类方法
Ahmad et al. 3D capsule networks for object classification from 3D model data
CN114586075A (zh) 用于位置识别的视觉对象实例描述符
Alhamazani et al. 3DCascade-GAN: Shape completion from single-view depth images
CN111967365A (zh) 影像连接点的提取方法和装置
Elashry et al. Feature matching enhancement using the graph neural network (gnn-ransac)
CN116228850A (zh) 物体姿态估计方法、装置、电子设备及可读存储介质
JP2023013293A (ja) 教師データ生成装置、学習モデル生成装置、および教師データの生成方法
GB2611152A (en) Analysing objects in a set of frames
GB2599506A (en) Analysing objects in a set of frames
CN116704403B (zh) 一种建筑物图像视觉辨别方法、装置、电子设备及介质

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