CN114511751A - 视频特征提取器的无监督训练 - Google Patents

视频特征提取器的无监督训练 Download PDF

Info

Publication number
CN114511751A
CN114511751A CN202111240188.3A CN202111240188A CN114511751A CN 114511751 A CN114511751 A CN 114511751A CN 202111240188 A CN202111240188 A CN 202111240188A CN 114511751 A CN114511751 A CN 114511751A
Authority
CN
China
Prior art keywords
video
sequence
training
feature extractor
current
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
CN202111240188.3A
Other languages
English (en)
Inventor
M·诺鲁兹
N·贝尔曼
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN114511751A publication Critical patent/CN114511751A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local 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/443Local 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/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads

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)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Analysis (AREA)

Abstract

提供了视频特征提取器的无监督训练。本发明涉及一种训练视频特征提取器的计算机实现的无监督学习方法(600)。视频特征提取器被配置成从视频序列中提取特征表示。该方法使用表示多个训练视频序列的训练数据。从多个训练视频序列的训练视频序列中,选择当前子序列;在当前子序列先前的先前子序列;和在当前子序列后续的后续子序列。视频特征提取器被应用于当前子序列,以提取当前子序列的当前特征表示。从给定当前特征表示的先前和后续子序列的联合可预测性中导出训练信号。基于训练信号更新视频特征提取器的参数。

Description

视频特征提取器的无监督训练
技术领域
本发明涉及一种训练视频特征提取器的计算机实现的方法,以及对应的系统。本发明还涉及一种从视频序列中提取特征表示的计算机实现的方法,以及对应的系统。本发明进一步涉及一种计算机可读介质。
背景技术
视频特征提取是机器学习中的一项重要任务,其具有大量的应用。例如,现代车辆配备有捕获它们周围环境的视频的多个相机。这些视频表示关于车辆周围的交通情形的信息,该信息对于例如自主驾驶车辆或者辅助驾驶员(例如在半自主驾驶的情况下)或者停放辅助是有用的。同样在监视系统和机器人系统中,视频数据表示关于机器如何与彼此以及它们的环境交互的信息,该信息对于监测和/或控制系统是有用的。
为了在诸如监测或控制之类的上游应用中使用视频数据,重要的是具有从视频数据中提取有意义的特征的高质量视频特征提取器。为了获得这种视频特征提取器,通常在表示多个代表性视频序列的训练数据上对其进行训练。这种训练一般优选不受监督。无监督学习的一个优点是它减轻了标记过程的成本和错误。此外,在有监督的设置中,学习可概括的和最优的特征不能被认为是理所当然的,尤其是对于像视频之类的复杂信息源而言。例如,对于从视频中学习动作标签的问题,已知这些动作标签已经可以从单个帧预测到这种程度,即使用动作标签作为反馈仅为表示学习提供微弱的监督信号。实际上,该模型没有被充分强制去探索视频的时间信息。与其中无监督和有监督表示学习之间的差距显著缩小的图像领域形成对比,无监督视频表示的性能仍然不令人满意。
在T. Han等人的“Video Representation Learning by Dense PredictiveCoding”(可在https://arxiv.org/abs/1909.04656获得,并通过引入并入本文)中公开了一种用于视频特征提取器的无监督训练的已知技术。特别地,这是一种自监督学习技术,其中通过使用未来表示的预测作为间接任务(pretext task)来学习时空块的密集编码。为了优化该任务,使用了基于噪声对比估计(NCE)的损失。在预测特征图的每个空间位置处,将由预测特征和特征提取器提取的表示组成的“正例对(positive pair)”与如下各项进行比较:简单负例(easy negative),其中预测特征与来自不同视频的特征进行比较;空间负例,其中它与不同空间位置处的特征进行比较;以及时间负例,其中它与来自不同时间步长的特征进行比较。损失鼓励正例对比任何负例对具有更高的相似性。
发明内容
将合期望的是,具有一种从视频序列中提取更多高质量特征并且因此允许视频序列更有效地用于上游应用中的视频提取器。特别地,将合期望的是,具有一种从视频序列中提取更好的时间信息的视频提取器。特别地,将合期望的是,提供用于通过无监督学习来训练这种视频提取器的改进技术,例如,能够更高效且更有效地从视频序列中提取时间信息的无监督学习技术。
根据本发明的第一方面,提供了分别如权利要求1和13定义的用于训练视频特征提取器的计算机实现的方法和对应的系统。根据本发明的另外方面,提供了分别如权利要求11和14定义的用于从视频序列中提取特征表示的计算机实现的方法和对应的系统。根据本发明的一方面,描述了如权利要求15定义的计算机可读介质。
各种措施涉及通过无监督学习来训练视频特征提取器。各种措施也涉及使用这种经训练的视频特征提取器。视频特征提取器可以被训练成基于表示多个训练视频序列的训练数据从视频序列中提取特征表示。训练数据可以在它不包括视频特征提取器被训练来近似的目标特征表示的意义上是未标记的,例如,视频特征提取器没有被训练来近似人类注释的语义标签。取而代之,视频特征提取器可以被训练成通过在间接任务上的训练——换句话说,通过为所提取的特征表示导出被预期指示其质量的训练信号——来提取有意义的特征表示,而无需将特征表示与基本真值(ground truth)进行比较。这种训练也被称为自监督学习。
为了改进提取特征的质量,鼓励特征提取器对视频的时间方面进行编码是重要的。除非特别鼓励该模型,否则在许多情况下,时间方面被证明会被丢弃。为了鼓励将时间方面考虑在内,发明人设想考虑视频片段与前后发生的事情之间的关系。如发明人所意识到的,给定视频片段作为当前序列,在连续的帧中将会发生什么的问题类比于询问在网络意图编码的变化因素方面在先前帧中发生了什么。尽管如此,在具有全面挑战性的训练任务中,可以如何有效地利用后续帧和先前帧两者并不清楚。
有趣的是,发明人发现了一种使用过去和未来的有效方式,即通过使用过去和未来的联合预测作为间接任务。这可能涉及从训练视频序列中选择当前子序列、在目前子序列先前的先前子序列以及在目前子序列后续的后续子序列。视频特征提取器可以应用于当前子序列,以提取当前子序列的当前特征表示。为了估计当前特征表示的质量,可以估计给定当前特征表示的先前和后续子序列的联合可预测性。换句话说,可以估计给定当前特征表示的先前和后续子序列(例如,作为有序对)的联合分布的可预测性。
贯穿本说明书,代替于“当前”、“先前”和“后续”,术语“目前”、“过去”和“未来”也以相同的含义使用。例如,当前、先前和后续子序列在本文分别被称为目前、过去和未来子序列。术语“过去”、“目前”和“未来”纯粹用作相对于彼此的术语,而不是例如使用所描述系统或方法的时间。
根据估计的联合可预测性,可以导出训练信号,该训练信号通过鼓励视频特征提取器增加联合可预测性来用于训练视频特征提取器。有趣的是,由于过去和未来都包含在同一联合分布中,因此如果目前特征表示将视频的时间方面考虑在内,则该分布的可预测性增加。因此,训练信号鼓励特征的提取,以更加强调视频数据中原本可能被丢弃的时间结构。
过去和未来的联合预测被发现提供了高质量的特征提取,并且优于可能被考虑的几种替代方案。特别地,可以使用未来和过去视频序列的替代方式是通过不联合地组合过去和未来特征的预测,例如,通过独立地单向预测过去和未来特征,并且例如将两个所得损失相加。发明人意识到并且也以实验方式确认,这不是使用过去和未来的有效方式。一种解释可能是,与对未来或过去的个体预测相比,对过去和未来的非联合预测不会引入新的负例集合。预测未被观察到的过去而不是未来可以使用类似的表示。例如,给定目前视频子序列,在随机视频子序列与未来子序列之间进行区分可以使用与在随机视频子序列与过去子序列之间进行区分相似的属性。因此,未来和过去的非联合预测可能不被预期如考虑过去和未来子序列的联合分布那样多地改进提取的特征表示。实际上,可能没有足够强的训练信号来迫使特征提取器在过去和未来之间进行区分。
使用未来和过去视频序列的另一种替代方式是通过基于在过去和未来子序列之间进行区分来导出训练信号,例如,通过在对比损失中包括过去子序列作为负例。然而,发明人意识到并且也以实验方式确认,这也不会导致对过去和未来的有效使用。本质上,过去特征应当编码与未来的高级抽象相似的高级抽象,例如,视频中正在执行的动作。当使用这种使用过去子序列作为负例的对比损失时,训练可能导致退化的解决方案,该解决方案从提取的特征表示中移除跨过去、目前和未来共享的这种有意义的特征。
有趣的是,通过使用过去和未来子序列的联合分布,这两个方面都可以被考虑在内。给定目前子序列,合期望的是未来和过去两者的特征可与随机区分开来,但是也合期望的是未来和过去可彼此区分开来。通过考虑联合预测,可以利用两种监督信号,这是因为过去和未来子序列的联合可预测性要求过去和未来的正确组合既可与随机区分开来,也可与其中过去和未来交换的错误组合区分开来。因此,从未观察到的过去帧产生的监督信号可以与源自于未来帧的监督信号互补使用。由此,提供了训练信号,其有效地鼓励视频特征提取器以探索视频的时间结构。
因此,基于该训练信号的训练导致提供更高质量的特征表示的特征提取器,并且因此也导致使用提取的特征表示的上游任务的改进性能。仍然,训练可以在未标记的数据上执行。数据和注释是训练机器学习模型(例如深度神经网络)中的关键瓶颈。所提供的技术可以通过从未标记视频中学习表示来促进训练。所学习的表示可以被转移到感兴趣的下游任务,诸如动作识别和行为预测。所提供的技术可以节省为大规模视频数据集提供注释的成本和时间,并且可以防止标记过程中的错误。
可选地,过去和未来的联合可预测性可以近似为目前特征表示的对比损失。在对比损失中,可以计算在特征表示和针对目前特征表示的一个或多个所谓的正例比较示例之间的一个或多个差异。然后,可以将这些正例示例的差异与在特征表示和针对目前特征表示的一个或多个负例比较示例之间的一个或多个差异进行比较。例如,可以使用Info-NCE(噪声对比估计)损失。对比损失可能鼓励特征表征与正例负例比较示例相比,与正负例比较示例具有更小的差异。
为了捕获过去和未来子序列的联合可预测性,可以从过去子序列、继之以未来子序列中提取正例示例;并且可以将该正例示例与包括负例示例的负例集合进行比较,在负例示例中,可预测的未来和过去子序列的角色被交换。
因为负例示例基于与正例示例相同的过去和未来子序列但是以不同的顺序,所以这是一个具有挑战性的示例,其强烈迫使模型考虑时间方面。一般地,为了获得有效的训练信号,在对比损失中包括这种挑战性示例是重要的。这是因为否则模型可能使用诸如低级统计量、边缘等捷径(shortcut)。通过使用过去和未来的正确顺序作为正例示例,并且使用反转的顺序作为负例示例,训练信号可以迫使特征提取器在过去和未来之间进行区分而不走捷径。仍然,此区分实际上在不需要移除有意义特征的意义上是以一种隐含的方式进行的。因此,可以鼓励特征提取对跨视频共享的时间结构进行编码,使得可以检测匹配的时间顺序。
可以使用相同的可训练模型从过去和未来子序列中提取正例和负例示例两者;然而,该模型不需要是视频特征提取器本身。特别地,它可以是与视频提取器同时训练的独立模型,例如,其参数也基于训练信号被更新,如在别处也描述的。
可选地,可以从另一个训练视频序列的第一和第二另外的子序列中提取对比损失的另外的负例比较示例。因此,给定目前观察,未来和过去的特征可以被鼓励可与随机以及与彼此区别开来。另外的负例比较示例可以被认为是简单负例,而如上所述,从未来子序列、继之以过去子序列提取的负例比较示例可以被认为是困难负例。训练中简单负例和困难负例的组合对于鼓励特征提取器更深入地探索视频的时间结构特别有利。
通过比较目前和未来/过去分布的边缘的联合(正例示例)和乘积(负例示例),对比损失可以近似目前子序列的特征表示与过去和未来子序列的特征表示(由相应的模型提取)之间的互信息,并且在这个意义上表示联合可预测性。然而,使用其他技术用于近似互信息、例如互信息估计(MIE)或者例如在给定目前特征表示的情况下估计过去和未来的条件熵也是可能的。
可选地,将视频特征提取器应用于视频序列可以包括将分块特征提取器应用于视频序列的一个或多个图像帧的相应固定长度块,以提取相应的块特征表示。分块特征提取器可以保留空间和/或时间关系,例如,分块特征提取器的特征可以对应于块中的特定空间和/或时间位置。例如,分块特征提取器可以是3D卷积神经网络,其示例在本领域本身是已知的。块特征表示可以由聚合函数聚合,以获得视频序列的特征表示。跨各块应用相同的分块特征提取器并且然后聚合结果被发现是从视频中提取特征的特别有效的方式,这是因为它有效地将在最低级提取特征的可重用组件与可以提取更高级(例如,时间)方面的聚合函数相组合。聚合函数例如可以是递归模型,这有益于允许视频提取器对可变长度视频序列进行操作。
可选地,在训练期间,相同的分块特征提取器也可以用于提取正例和负例比较示例。特别地,分块特征提取器可以应用于过去和未来子序列,以提取过去和未来子序列的(一个或多个)块的相应块特征表示。如果使用,分块特征提取器也可以应用于另外训练视频序列的另外子序列。可以使用聚合函数从块特征表示中提取比较示例。这可以是也在视频特征提取器中使用的相同聚合函数,但是有趣的是,发明人发现,在许多情况下,如果使用单独训练的聚合函数,训练更好地起作用。
可选地,过去和未来子序列的组合长度可以小于目前子序列的长度。特别地,目前子序列可以包括多个块,例如至少四个,而过去和未来子序列可以各自包括单个块。使过去和未来子序列保持短具有优点,即在正例比较示例与负例比较示例之间进行区分变得更加困难,从而鼓励模型从可用信息中学习更多的时间方面。注意到,不需要贯穿训练而保持目前子序列的长度恒定,并且此外,对于过去和未来子序列,原则上它们的长度可以变化。
可选地,将视频特征提取器应用于视频序列可以包括将卷积模型、特别是卷积递归模型作为聚合函数应用于从视频序列中提取的块特征表示。卷积递归模型可以保留空间和/或时间关系。因此,卷积递归模型可以输出卷积特征图。该卷积特征图可以可选地至少沿着其空间维度汇集,从而产生与视频中特定空间位置不相关联的空间独立特征。如果卷积特征图具有时间维度,则它也可以可选地沿着该维度汇集,以获得与块中特定时间位置不相关联的特征。
作为使用卷积模型并将汇集应用于其输出的替代方案,将汇集应用于块特征表示并且然后将非卷积模型应用为聚合函数也是可能的。
有趣的是,在任一情况下,可以从对空间位置不变的视频序列中提取特征表示。这与例如T. Han等人的方法“Video Representation Learning by Dense PredictiveCoding”形成对比,在该方法中,使用空间负例来学习对于空间位置变化的特征。该另一种方法的缺点是鼓励特征向量来表示局部描述符。特征向量跨特征图的空间位置应当是可区分的,这是因为它们在损失函数中作为负例被注入。尤其是在模型的后几层中,其中其感受野生长,全局特征是有利的。发明人以实验方式发现,与使用空间负例训练的空间不变特征相反,使用对空间位置不变的特征改进了向例如动作学习之类的各种下游任务的转移,在这些下游任务中可以应用视频特征提取器。
可选地,当选择目前、过去和未来子序列时,相应的空间变换可以应用于这些子序列。因此,目前子序列和/或正例和负例比较示例的特征表示可以基于相应变换的子序列。这进一步鼓励模型学习对于空间维度不变的视频特征,这对于各种下游任务是有益的。应用于过去、目前和未来的空间变换优选全部不同,以更强烈地鼓励模型以与位置无关的方式推理特征。
可选地,训练视频序列的采样率可以在选择目前、过去和未来子序列之前例如根据随机选择的下采样率被下采样。可以跨训练视频序列一致地执行下采样。这样,可以扩充训练数据集,从而允许在更多的数据上训练模型。发明人能够以实验方式验证由于下采样所致的性能改进。
可选地,已经以无监督的方式在未标记的训练数据上训练了视频特征提取器,视频特征提取器可以用作另外的机器学习模型的一部分。该另外的机器学习模型可以在标记的训练数据上训练,其中该另外的机器学习模型被配置成基于使用视频特征提取器提取视频序列的特征表示来根据视频序列确定模型输出。例如,该另外的机器学习可以是视频分类模型,例如,对象检测模型或时间分割模型。训练该另外的机器学习模型可以包括微调视频特征提取器,例如,作为训练该另外的机器学习模型的一部分而优化视频特征提取器的参数。
可选地,视频特征提取器可以被包括在用于被配置成与环境交互的计算机控制系统的机器可学习控制模型中。视频序列可以包括计算机控制系统和/或环境的基于视频的表示。例如,基于视频的表示可以表示系统和/或环境的参数方面,例如,可以捕获计算机控制系统的组件和/或系统环境中的对象。包括经训练的视频特征提取器的机器可学习控制模型可以被应用来获得用于在(例如使用致动器等)控制计算机控制系统中使用的控制数据。类似地,监测计算机控制系统也是可能的。例如,计算机控制系统可以是车辆,例如自主或半自主车辆;机器人;制造机器;家用电器;电动工具;私人助理;访问控制系统;等等。由于更高质量的视频特征提取,这种系统从改进的控制中极大受益。
本领域技术人员将会领会,本发明的两个或更多个上述实施例、实现方式和/或可选方面可以以任何被认为有用的方式组合。
在本描述的基础上,本领域技术人员可以对任何系统和/或任何计算机可读介质实行修改和变化,这些修改和变化对应于对于对应计算机实现的方法的所描述修改和变化。
附图说明
本发明的这些和其他方面将通过参考在以下描述中作为举例描述的实施例并参考附图而是清楚的并参考所述实施例和附图来进一步阐明,其中:
图1示出了用于训练视频特征提取器的系统;
图2示出了用于从视频中提取特征表示的系统;
图3示出了用于控制车辆的提取系统;
图4示出了如何训练视频特征提取器的详细示例;
图5a示出了如何提取表示的详细示例;
图5b示出了如何提取特征表示的详细示例;
图6示出了计算机实现的无监督学习方法;
图7示出了提取特征的计算机实现的方法;
图8示出了包括数据的计算机可读介质。
应当注意的是,各图纯粹是示意性的,并且没有按比例绘制。在各图中,对应于已经描述的元件的元件可以具有相同的附图标记。
具体实施方式
图1示出了用于训练视频特征提取器的无监督学习系统100。视频特征提取器可以被配置成从视频序列中提取特征表示。系统100可以包括数据接口120,用于访问表示多个训练视频序列的训练数据030。视频特征提取器是由参数集来参数化的机器可学习模型。数据接口120还可以用于访问表示视频特征提取器的参数集的模型数据040。数据接口还可以用于访问无监督学习中使用的模型的模型数据,所述模型例如如本文所述的用于导出正例和负例比较示例的模型。这种模型可以作为训练的一部分被优化,但是可以不形成视频特征提取器040的一部分。模型数据040可以用于根据本文描述的方法,例如通过图2或图3的系统200,从视频序列中提取特征表示。
视频特征提取器可以被包含在使用由视频特征提取器提取的特征表示的另外的机器学习模型中。模型数据040还可以包括该另外的机器学习模型的附加参数。数据接口120还可以用于访问标记的训练数据(未示出),以用于训练该另外的机器学习模型。标记的和未标记的数据可以重叠,例如,标签可以可用于训练数据030的子集。在这种情况下,有趣的是,在完整的训练数据上训练视频特征提取器并且仅在标记数据上训练该另外的机器学习模型的剩余部分可以比仅仅在标记数据上训练完整的另外的机器学习模型而不单独训练其视频特征提取器导致更好的性能。
例如,也如图1中所图示,数据接口120可以由数据存储接口120构成,数据存储接口120可以从数据存储装置021访问数据030、040。例如,数据存储接口120可以是存储器接口或永久存储接口,例如硬盘或SSD接口,但也可以是个人、局域或广域网接口,诸如蓝牙、Zigbee或Wi-Fi接口或以太网或光纤接口。数据存储装置021可以是系统100的内部数据存储装置,诸如硬盘驱动器或SSD,但是也可以是外部数据存储装置,例如网络可访问的数据存储装置。在一些实施例中,数据030、040可以各自从不同的数据存储装置中被访问,其例如经由数据存储接口120的不同子系统。每个子系统可以具有如上针对数据存储接口120所述的类型。用于访问训练视频序列的数据接口还可以包括用于访问来自相机的视频序列的视频接口,例如如关于图2所描述的那样。
系统100可以进一步包括处理器子系统140,处理器子系统140可以被配置成在系统100的操作期间训练视频特征提取器并输出经训练的视频特征提取器。训练可以包括从多个训练视频序列030的训练视频序列中选择:当前(也称为:目前)子序列、当前子序列先前的先前(也称为:过去)子序列;和当前子序列后续的后续(也称为:未来)子序列。训练可以进一步包括将视频特征提取器040应用于当前子序列,以提取当前子序列的当前特征表示。训练可以进一步包括从给定当前特征表示的先前和后续子序列的联合可预测性中导出训练信号。训练可以进一步包括基于训练信号更新视频特征提取器的参数集。
在视频特征提取器被包括在另外的机器学习模型中的情况下,处理器子系统140可以被进一步配置成,在视频特征提取器的训练之后,基于视频特征提取器的经训练参数,在标记的训练数据上训练该另外的机器学习模型。视频特征提取器可以在该训练期间进行微调,但也可以保持不变。该另外的机器学习模型可以基于提取的特征表示例如使用神经网络或线性模型来确定其输出。
系统100可以进一步包括输出接口,用于输出表示经学习的(或“经训练的”)视频特征提取器的模型数据040。例如,也如图1中所图示的,输出接口可以由数据接口120构成,在这些实施例中,所述接口是输入/输出(“IO”)接口,经由该输入/输出(“IO”)接口,经训练的模型数据040可以存储在数据存储装置021中。例如,定义“未训练的”视频特征提取器的模型数据可以在训练期间或之后至少部分地被经训练的视频特征提取器的模型数据替换,其中视频特征提取器的参数(诸如权重和神经网络的其他类型的参数)可以适于在训练数据030上反映训练。在其他实施例中,经训练的模型数据可以与定义“未训练的”动力学模型的模型数据分离存储。在一些实施例中,输出接口可以与数据存储接口120分离,但是一般而言可以具有如上针对数据存储接口120所描述的类型。
图2示出了用于从视频序列中提取特征表示的系统200。系统200可以包括用于访问模型数据040的数据接口,模型数据040表示如本文所述、例如由图1的系统100或如别处所述那样训练的视频特征提取器。除了应用视频特征提取器040之外,系统200还可以对其进行训练,例如,系统200可以与图1的系统100相组合。
例如,也如图2中所图示的,数据接口可以由数据存储接口220构成,该数据存储接口220可以从数据存储装置022访问数据040。一般而言,数据接口220和数据存储装置022可以具有与参考图1针对数据接口120和数据存储装置021描述的相同的类型。数据接口还可以用于访问由相机捕获的视频序列;然而,在该图中,视频序列是从相机本身接收的,如下面讨论的。
系统200可以进一步包括处理器子系统240,其可以被配置成在系统200的操作期间获得视频序列;将视频特征提取器040应用于视频序列以提取特征表示;并输出特征表示。
将领会的是,与对图1的处理器子系统140相同的考虑和实现方式选项适用于处理器子系统240。将进一步领会的是,除非另外指出,否则与对图1的系统100相同的考虑和实现方式选项一般而言可以适用于系统200。
图2进一步示出了系统200的各种可选组件。例如,在一些实施例中,系统200可以包括视频接口260,用于直接访问由视频相机072获取的视频序列224。例如,视频相机可以捕获由系统200控制的计算机控制系统(诸如自主车辆或机器人)的视频;和/或计算机控制系统与之交互的环境082的视频。视频相机072可以布置在环境082中,但是也可以远离环境082布置。视频相机072可以但不需要是系统200的一部分。可以使用任何合适的视频相机,例如可见光相机、红外相机、x射线相机等。例如,相机也可以是雷达、LiDAR、或超声或运动检测相机。传感器数据接口260可以具有在类型上对应于相机类型的任何合适的形式,包括但不限于低级通信接口,例如基于I2C或SPI数据通信,或者如上面针对数据接口220所描述的类型的数据存储接口。
在一些实施例中,系统200可以包括致动器接口280,用于向在环境082中操作的计算机控制系统的致动器(未示出)提供控制数据226。这种控制数据226可以由处理器子系统240基于包括视频特征提取器的机器可学习控制模型来生成。致动器可以是系统200的一部分。例如,致动器可以是电气、液压、气动、热、磁和/或机械致动器。具体但非限制性的示例包括电动机、电活性聚合物、液压缸、压电致动器、气动致动器、伺服机构、螺线管、步进电动机等。这种类型的控制参考图3针对(半)自主车辆进行描述。
在其他实施例(图2中未示出)中,系统200可以包括到诸如显示器、光源、扬声器、振动电动机等可以用于生成感觉可感知输出信号的呈现设备的输出接口,该感觉可感知输出信号可以基于由视频特征提取器提取的特征表示来生成。感觉可感知输出信号可以直接指示提取的特征,但是也可以表示导出的感觉可感知输出信号,例如,用于在计算机控制系统的引导、导航或其他类型的控制中使用。
一般而言,本说明书中描述的每个系统——包括但不限于图1的系统100和图2的系统200——可以被体现为单个设备或装置(诸如工作站或服务器)或者被体现在单个设备或装置中。该设备可以是嵌入式设备。该设备或装置可以包括一个或多个执行适当软件的微处理器。例如,相应系统的处理器子系统可以由单个中央处理单元(CPU)体现,但是也可以由这种CPU和/或其他类型的处理单元的组合或系统体现。软件可能已经被下载和/或存储在对应的存储器中,例如,诸如RAM之类的易失性存储器或诸如闪存之类的非易失性存储器。替代地,相应系统的处理器子系统可以以可编程逻辑的形式在设备或装置中实现,例如作为现场可编程门阵列(FPGA)。一般而言,相应系统的每个功能单元可以以电路的形式实现。相应的系统也可以以分布式方式实现,例如涉及不同的设备或装置,诸如分布式本地或基于云的服务器。在一些实施例中,系统200可以是车辆、机器人或类似物理实体的一部分,和/或可以表示被配置成控制物理实体的控制系统。
图3示出了上述的一示例,其中系统200被示出为在环境50中操作的(半)自主车辆62的控制系统。自主车辆62可以是自主的,因为它可以包括自主驾驶系统或驾驶辅助系统,其中后者也被称为半自主系统。自主车辆62可以例如并入系统200,以基于从集成到车辆62中的视频相机22获得的视频序列来控制自主车辆的转向和制动。例如,该系统可以应用另外的机器可学习模型,该模型使用由视频特征提取器提取的特征表示来确定模型输出。该模型输出然后可以用于控制车辆62。
例如,在自主车辆62预期与交通参与者碰撞的情况下,系统200可以控制电动机42来执行(再生)制动。系统200可以控制转向和/或制动,以避免与交通参与者碰撞。为此目的,系统200可以从捕获的视频序列中提取特征表示,并且在另外的机器学习模型中使用该提取的特征表示,该另外的机器学习模型例如时间分割模型或分类模型,其用于检测增加的碰撞风险。在这种风险增加的情况下,系统200可以采取对应的动作。
图4示出了可以如何通过无监督学习来训练视频特征提取器的详细但非限制性的示例。在该示例中,通过使用对比损失,从给定目前特征表示的过去(即,先前)和未来(即,后续)子序列的联合可预测性中导出训练信号。
该图示出了视频特征提取器VFx 440。视频特征提取器VFx可以被配置成从视频序列中提取特征表示。视频序列可以是一个或多个图像帧的序列,其中每个图像帧可以是包括一个或多个通道的图像,例如单通道灰度图像,或者诸如RGB图像等三通道图像,等等。例如,图像可以具有至多或至少16个像素、至多或至少128个像素、或至多或至少256个像素的宽度和/或高度。视频特征提取器VFx可以支持灵活长度的视频序列或仅支持固定长度的视频序列,例如至多或至少10帧、至多或至少20帧、或至多或至少40帧。例如,视频的帧速率可以是每秒至多或至少4帧,或者至多或至少8帧。输入视频序列的长度可以在0与10秒之间,例如在0与2秒之间,例如在0.1与1秒之间。本领域已知的各种视频特征提取器VFx可以根据本文描述的方法来训练;贯穿全文描述了特别有益的架构。
视频特征提取器VFx可以由参数集来参数化。训练视频特征提取器可能涉及相对于目标函数优化参数集。例如,视频提取器VFx可以包括一个或多个神经网络。神经网络也被称为人工神经网络。示例包括深度神经网络和卷积神经网络。在这种情况下,该参数集可以包括神经网络节点的权重。例如,这种神经网络的层数可以是至少5或至少10,并且节点和/或权重的数量可以是至少1000或至少10000。
视频特征提取器VFx可以基于表示多个训练视频序列的训练数据来训练。例如,训练数据可以包括至少1000、至少10000或至少100000个视频序列。视频序列可以具有任意长度,该长度也可以因视频序列而异。
为了训练模型,可以从训练数据集中选择训练视频序列TVS 400。训练视频序列TVS在该图中被可视化为从过去去往未来的时间线,从该时间线中选择相应的子序列。可以应用各种扩充来增加可用视频序列的数量。例如,发现通过训练视频序列的帧速率的随机下采样来扩充训练数据集是有益的。例如,当选择训练视频序列时,可以选择随机下采样因子,并且可以根据所选择的因子对训练视频进行下采样。下采样也可以在训练之前执行。可以应用的其他扩充包括空间变换、例如裁剪和水平翻转;和逐帧变换、例如逐帧色彩抖动,以扰乱光流。下采样通常在整个训练视频序列TVS上执行。其他扩充可以应用于整个视频序列TVS,但是也可以应用于它的相应子序列,如也关于图4讨论的那样。
从训练视频序列TVS中,可以选择相邻帧的目前子序列VS 420。视频特征提取器VFx可以被应用于该目前子序列VS,从而获得目前特征表示PFR 450。取决于所选择的特征视频特征提取器,目前特征表示PFR可以是特征向量,例如,由空间上和时间上独立的特征组成,例如,长度至多或至少64个特征,至多或至少256个特征,或至多或至少2048个特征。然而,目前特征表示PFR还可以包括在空间上和/或时间上对应于目前视频序列VS的特征。
训练可以用于优化视频特征提取器VFx从目前子序列VS中提取特征表示PFR的方式。因此,训练的目的可以是产生高质量的、有意义的特征PFR。训练可能是无监督的:可能没有给定为对训练的输入的特征PFR的目标值。取而代之,训练可以基于间接任务导出特征PFR的损失:该任务被预期鼓励视频特征提取器VFx输出高质量的特征(所谓的自监督学习)。在这种情况下,间接任务可能涉及给定目前特征表示PFR的过去和未来子序列的联合可预测性的估计,换句话说,给定目前特征表示的过去和未来子序列的联合分布的可预测性。(注意到,估计可预测性并不意味着基于目前特征表示进行显式预测;取而代之,在该示例中,目前特征表示可以与过去和未来的表示进行比较,以估计它们的对应关系。)
具体而言,可以通过确定对比损失CL 470来估计联合可预测性。在对比损失CL中,目前特征表示PFR可以与正例和负例比较示例进行比较,其中损失鼓励目前特征表示与正例比较示例比与负例比较示例更相似。在这种情况下,正例和负例示例是有序的视频子序列对,并且因此在本文也被称为“正例对”和“负例对”。
为了获得正例和负例对,训练视频序列TVS可以被划分成三个部分
Figure DEST_PATH_IMAGE001
,其中V标示目前视频序列VS,并且PF分别标示在目前视频序列先前和后续的视频序列中的所有帧。基于这种划分,可以通过利用(P,F)的联合表示来构造对比损失的正例和负例对。
特别地,给定训练视频序列TVS,可以构造正例对集合
Figure 388836DEST_PATH_IMAGE002
。对于每个正例对
Figure DEST_PATH_IMAGE003
,可以构造对
Figure 165031DEST_PATH_IMAGE004
的集合,包括正例对本身及其所有负例。如别处所解释的,正例对的对比损失贡献可以基于正例对及其对应的负例对集合来确定。整体对比损失可以通过组合相应正例对的相应对比损失贡献来获得。
特别地,正例和负例对的集合可以如下构造。
正例。
Figure DEST_PATH_IMAGE005
标示正例过去/未来子序列集合。目前子序列VS的正例对可以通过从目前子序列VS先前的帧集合
Figure 7085DEST_PATH_IMAGE005
中选择相邻帧的随机过去子序列PS 410,并从目前子序列VS后续的帧集合V中选择相邻帧的随机未来子序列FS 430来获得。因此,过去子序列PS、继之以未来子序列FS可以形成正例对481。通常,过去和未来子序列PS、FS都具有相同的长度。
过去和未来子序列PS、FS优选地在视频序列中与目前子序列VS相对接近,例如,是目前子序列长度的至多两倍或至多五倍那么远。它们的总长度可以被选择为小于目前子序列VS的长度,以便不会使间接任务太简单。然而,过去和未来子序列中的每一个通常包括多个帧,以使足够的时间推断成为可能。例如,紧接在目前子序列先前的m个不重叠子序列的集合P可以与紧接在目前子序列后续的m个不重叠子序列的集合F相组合,以获得目前子序列VS的m 2 个正例对。
简单负例。可以通过从另外训练视频序列FTVS 490中对第一另外子序列FFS 491和第二另外子序列SFS 492进行采样来获得简单负例。例如,另外训练视频序列FTVS可以是当前正在处理的一批次中的另一个视频序列。例如,视频FTVS可以被分成m个不重叠的子序列。可以通过以正确的时间顺序或以交换的时间顺序对这种子序列的可能组合进行采样来形成简单负例。可以类似于过去和未来子序列PS、FS之间的时间距离来选择另外的第一和第二子序列FFS、SFS之间的时间距离。例如,从具有n个视频——每个视频包括m个不重叠子序列——的批次中,可以获得
Figure 871136DEST_PATH_IMAGE006
个简单负例。
时间困难负例。可以通过交换对应正例对的过去和未来的顺序来获得时间困难负例。因此,对于其中过去子序列PS在未来子序列FS先前的正例对481,可以获得其中过去子序列PS在未来子序列FS后续的对应时间困难负例482。正例对的负例集合至少包括对应的时间负例,但是它也可以包括来自相同训练视频序列TVS的其他正例对的时间困难负例。
例如,正例和负例对的集合可以如下获得。可以选择n个视频序列的批次。从每个视频中,可以选择目前子序列、m个过去子序列和m个未来子序列(例如,紧接在目前子序列先前和后续的m个块)。对于每个视频,这通过将m个过去子序列中的每个与m个未来子序列中的每个相组合来给出m 2 个正例对。对于每个正例对,可以获得对应的时间困难负例对。通过取得块中其他另外的视频子序列的过去和未来子序列的组合,可以获得
Figure 278984DEST_PATH_IMAGE006
个简单负例。正例和负例对的该完整集合可以用于对比损失,尽管只使用正例对和/或负例对的子集也是可能的。
例如,在一实施例中,可以从视频序列TVS中提取8个块、每块5帧,并用以下方式分解它们:4个中间块被用作目前视频序列VS,从剩余块中采样离目前处于不同时间距离的单个过去和未来块,作为过去和未来子序列PS、FS。在该示例中,训练视频序列TVS可以每个视频提供4个正例对和4个对应的负例对。
每个过去、目前和未来子序列的块的各种其他数量也是可能的(对于给定的块长度,例如每个块5帧)。例如,用(2,4,2);(3,2,3);(2,2,2);(1,2,1);以及(2,1,2)的过去、目前和未来块数量执行实验,其中目前子序列包含所有目前块,并且单个过去和未来块对提供正例和负例对。大量的未来和过去块允许为对比损失提供更大的正例和负例对的集合。例如,(2,4,2)在一批次中每个视频提供4个正例和负例对。(3,2,3)增加了任务的难度,因为更多的时间困难负例被包括在损失函数中,而目前序列的时间感受野减少。在执行的实验中,发现当保持过去和未来块固定的同时减少目前块的数量不会显著改变表示的质量。然而,发现将未来和过去块的数量减少到每个视频只有一个正例对(例如(1,2,1)),或者将目前块的数量减少到一个(例如(2,1,2))会降低性能。前者减少了时间困难负例的数量,这导致任务更简单,而后者限制了时间信息。因此,优选每个目前视频序列VS选择多个正例对,并且选择多个块的目前视频序列VS。实验指示,时间困难负例改进了特征提取,并且示出所获得的特征提取器能够利用时间信息。
如图中所示,通过将另外视频特征提取器FVFx 445应用于过去和目前子序列对,可以提取正例和负例对的正例和负例比较示例。例如,从过去子序列PS、继之以未来子序列FS的正例对481中,可以提取正例比较示例CE1 451。类似地,负例对482、483可以分别导致负例比较示例CE2 452和CE3 453。另外视频特征提取器FVFx可以与视频特征提取器VFx440一致,但是有趣的是,发明人发现使用与视频特征提取器VFx分离但联合训练的另外视频特征提取器FVFx是有益的。这可以通过如下事实来解释:另外视频特征提取器FVFx的输入不同于视频特征提取器VFx的输入,其通常具有不同的长度并且至少具有两个时间上分开的部分。然而,视频特征提取器VFx和另外视频特征提取器FVFx可以具有共同的部分,例如神经网络层,也如图5a中所图示的那样。
基于提取的目前特征表示VFx及其正例和负例比较示例CEi,可以执行损失计算损失460,以确定对比损失CL。具体而言,为了计算对比损失CL,可以将目前特征表示VFx与正例和负例比较示例CEi进行比较,以计算与相应比较示例的相应相似性。对比损失可以鼓励与正例比较示例CE1的相似性(例如小距离),并且打压与负例比较示例CE2、CE3的相似性。
作为相似性度量,例如,可以使用余弦相似性,例如
Figure DEST_PATH_IMAGE007
,尽管诸如软余弦相似性之类的其他相似性度量也是可能的。可选地,相似性度量可以不直接应用于特征表示
Figure 163763DEST_PATH_IMAGE008
Figure DEST_PATH_IMAGE009
本身,而是应用于对特征表示应用的相应可训练函数
Figure 493113DEST_PATH_IMAGE010
Figure 160855DEST_PATH_IMAGE011
的输出,例如非线性可训练函数,诸如包括一层或两层的浅度NLP。这些函数通常与视频特征提取器联合训练。发现使用可训练函数以通过增加相似性计算中的灵活性来改进性能。
作为对比损失函数,可以使用噪声对比估计损失,特别是InfoNCE损失。例如,与应用温度参数
Figure DEST_PATH_IMAGE012
相组合,可以如下计算损失
Figure 547843DEST_PATH_IMAGE013
这里,sim标示余弦相似性,
Figure DEST_PATH_IMAGE015A
Figure DEST_PATH_IMAGE017A
是可训练函数,例如小MLP头部(head),并且
Figure 524895DEST_PATH_IMAGE012
是温度参数。正例对在分子中。分母中的和是在负例对的集合之上取得的,并且附加地包括正例对。最小化该损失使正例对的相似性最大化,并且使负例对的相似性最小化。
如本身已知的,InfoNCE损失提供了互信息的下限。从这个角度来看,最小化上面所示的对比损失可以被解释为最大化由视频特征提取器VFx提取的目前特征表示PFR与由另外视频特征提取器FVFx从过去和未来对中提取的特征之间的互信息:
Figure DEST_PATH_IMAGE018
为了最准确地近似互信息,可以通过从边缘乘积中取样来选择负例对。有趣的是,尽管选择如上所述的简单负例和时间困难负例的组合而不是直接从该边缘乘积中采样可能提供不太准确的互信息的近似,但已经发现它提供了更强的训练信号,并且从而对学习表示的质量贡献更大。
对比损失CL可以用于导出训练信号,以更新视频特征提取器VFx的参数。而且,另外视频特征提取器FVFx和/或对比损失计算Loss的任何可训练参数可以基于训练信号来更新。例如,训练信号可以从包括对比损失的目标函数中导出。可以使用各种已知的用于优化目标函数的训练技术,例如梯度下降,特别是随机梯度下降。例如,可以使用Adam优化器,如Kingma和Ba的“Adam: A Method for Stochastic Optimization”(可在https://arxiv.org/abs/1412.6980获得,并通过引入并入本文)中所公开的。众所周知,这种优化方法可以是启发式的和/或达到局部最优。可以在逐实例的基础上或分批地执行训练,例如至多或至少64个或至多或至少256个实例。例如,在逐批训练中,可以从该批次中选择训练视频序列,并且可以从该批次的其他视频序列中提取另外的负例比较示例。具体来说,使用Adam以10-3的学习速率和10-5的权重衰减执行实验。当验证损失稳定时,学习速率可以降低至例如1/10。
图5a示出了如何提取特征表示和比较示例的详细但非限制性示例。该示例强调了用于所述视频特征提取器和另外视频特征提取器的架构选择,已经发现它们与本文描述的训练技术特别好地一起工作。例如,关于该图描述的技术可以与图4的训练组合使用。
该图中所示为训练视频序列TVS 500。从训练视频序列TVS中,可以选择目前子序列、在目前子序列先前的过去子序列和在目前子序列后续的未来子序列。
在该图所图示的示例中,过去、目前和未来子序列各自被分成一个或多个相邻的固定长度块。所有子序列的块的长度是相同的,例如,块可以包括至少两帧、至多或至少五帧、或至多或至少十帧。
在该示例中,过去子序列被示为包括单个块PB 510。而且,在该示例中的未来子序列包括单个块FB 530。该示例中的目前子序列包括四个块VB1 521;VB2 522;VB3 523;和VB4 524。这些块的数量仅用于说明目的。然而,具有单个过去和未来块以及多个目前块是一个好的选择,这是因为它防止训练的间接任务变得太简单,而同时提供关于目前子序列的足够信息来执行时间推理。更一般地,过去和未来块的组合数量至多可以等于或者甚至严格小于目前块的数量。例如,目前块的数量可以是至多或至少两个、至多或至少四个、或至多或至少十个。关于图4讨论了每个子序列的块数量的更多可能性。
如图中所示,分块特征提取器BFx 560可以应用于过去、目前和未来子序列的相应块。作为结果,可以提取相应块特征表示,例如,过去块PB的块特征表示PBF 570;相应目前块VB1、VB2、VB3、VB4的相应块特征表示VBF1 571;VBF2 572;VBF3 573;和VBF4、574;以及未来块FB的块特征表示FBF 575。分块特征提取器BFx优选地被训练作为训练视频特征提取器的一部分。有趣的是,相同的分块特征提取器BFx可以应用于过去、目前和未来的块,使得分块特征提取器BFx可以在更多的数据上训练,并且计算比较损失的任务可以更好地执行。然而,一方面针对目前并且另一方面针对过去和未来使用单独的分块特征提取器也是可能的。
分块特征提取器BFx优选地至少保留其输入的空间关系。也就是说,块特征表示可以具有对应于其输入或其缩放的那些的空间维度。然而,分块特征提取器不需要保留时间维度。分块特征提取器通常采用固定大小的输入,例如给定数量的给定大小的帧。例如,一输入块可以具有为5x128x128x3的维度:5帧128x128像素,具有3个RGB通道。应用分块特征提取器可以例如结果得到具有为4x4x256的维度的块特征表示,其中4x4对应于空间位置,256是通道的数量,并且没有时间维度。
例如,分块特征提取器可以是3D卷积神经网络(3D-CNN),例如,包括跨输入视频块的空间和时间维度而卷积地应用的3D卷积的神经网络。作为具体的示例,可以使用2D-3D版本的ResNet18,其中3D卷积应用于最后两层中。使用在其所有层中使用3D卷积的分块特征提取器、例如本身已知的R3D架构也是可能的。
因此,例如,通过将分块特征提取器BFx应用于n个块的目前子序列,可以获得由分块特征提取器输出的n个特征图VBFi。个体特征图可以不具有时间维度,但是特征图VBFi的序列可以被认为是时间维度,例如,多个块序列的分块特征提取器的输出可以被认为是具有时间维度的体积,例如,大小nx4x256。
基于提取的块,目前子序列VB1-VB4的目前特征表示PFR 550可以通过应用可训练的聚合函数Agg-V 580来导出。类似地,基于其中过去子序列PBF的块特征表示在未来子序列FBF的块特征表示先前的正例对581,可以通过应用另外的可训练聚合函数Agg-PF 585来导出正例比较示例CE1 551,并且类似地,基于过去和未来交换的负例对582,可以导出负例比较示例CE2 552。聚合函数Agg-V、Agg-PF可以相同,但是发明人发现使用单独的聚合函数可以提供更好的结果。
例如,作为聚合函数,可以使用卷积递归模型,例如,卷积递归神经网络,诸如ConvGRU。在这种情况下,沿着空间维度的汇集(例如,平均或最大汇集)可以用于使特征表示PFR和/或比较示例CEi的特征在空间上不变。将汇集应用于聚合函数的输入也是可能的,在这种情况下,可以使用非卷积递归模型,例如LTSM或GRU。一般地,递归模型具有可以使用可变长度输入(例如可变块数量)的优点。如果不需要,使用针对固定长度输入配置的聚合模型也是可能的。例如,聚合函数Agg-PF可以仅取得两个块表示PBF、FBF作为输入(可能沿着空间维度汇集),并且在这种情况下不需要递归。例如,聚合函数Agg-PF可以是串联的。
图5b示出了如何从视频序列中提取特征表示的详细但非限制性的示例。例如,该示例可以与图4或图5a相组合。该示例演示了使用空间变换用于数据扩充,以及使用卷积递归模型和汇集用于提取空间独立的特征。然而,这些单独的方面也可以在不实现其他方面的情况下实现。
特别地,该图示出了为了训练的目的,相应空间变换可以如何应用于训练视频序列TVS 500的目前、过去和未来子序列。类似于图5,在该示例中,相应子序列被分成固定长度的块。作为说明,在图中,过去子序列包括单个块PB 510;目前子序列包括四个块VB1521;VB2 522;VB3 523;和VB4 524;并且未来子序列包括单个块FB 530。空间变换然后可以分块应用,例如,第一变换TP 541可以应用于过去子序列的块PB;第二变换TV 542可以应用于目前子序列的块VBi;和/或第三变换TF 543可以应用于未来子序列的块TF。
例如,应用的变换可以包括一个或多个空间变换,例如裁剪(例如,随机、水平或垂直)和翻转(例如,水平或垂直)中的一个或多个;和/或一个或多个附加的变换,例如中断光流的逐帧色彩抖动。(一个或多个)变换通常一致地应用于块中的帧和子序列中的块(尽管后者不是必需的),但是优选地,应用于相应子序列的变换TP、TV和TF在应用什么变换和/或用什么参数方面是不同的。已经发现这改进了提取的表示的鲁棒性。然而,对应的正例和负例比较示例通常是从相同的经变换的过去和未来子序列中提取的。变换通常不会改变其输入的维度。
在应用变换之后,所述特征提取器和另外特征提取器可以被应用来提取目前特征表示以及正例和负例比较示例。例如,这可以如参考图5a所描述的那样来完成。在该图中,示出了提取目前特征表示PFR 550的特定示例。类似于图5a,这可以涉及将分块特征提取器BFx 560应用于目前子序列的相应块,在这种情况下通过变换TV进行变换。这可以导致相应的块特征表示VBF1 571;VBF2 572;VBF3 573;和VBF4 574。相同的块特征提取器BFx也可以可选地应用于过去和未来子序列的(在这种情况下,变换的)块,并被进一步处理以获得比较示例,如也参考图5a所讨论的。
块特征表示VBFi可以具有对应于视频序列TVS的块的空间维度的空间维度。块特征表示VBFi可以不具有时间维度,例如,可以具有对应于2-D空间的三个维度和多个特征,例如,大小为4x4x256,具有4x4的空间维度和256的通道数量。
如图中所示,卷积递归模型CRM 581可以应用于目前子序列的块特征表示VBFi,以获得卷积特征图CFM 571。应用递归模型CFM可以包括通过输入相应的块特征表示来重复更新递归模型的状态。状态可以在空间上对应于输入,并且更新操作可以至少沿着相应块特征表示的空间维度卷积地应用。例如,递归卷积模型可以是递归卷积神经网络,诸如卷积门控递归单元(ConvGRU)等。因此,可以用与块特征表示相同的维度获得卷积特征图CFM可能达到缩放,例如,4x4x256的维度。例如,卷积递归模型可以用1的空间内核被应用来沿着时间维度聚合特征图VBFi。对于卷积递归模型来说,相对少的层可以足够,例如,层数可以是一、至多为两或至多为五。
在汇集操作Pool 582中,卷积特征图CFM可以至少沿着其空间维度(并且如果卷积特征图CFM具有时间维度,则可能地沿着时间维度)被汇集。例如,汇集可以是平均汇集或最大汇集。这样,可以利用空间上和时间上独立的特征(例如特征向量)获得特征表示PFR。例如,给定4x4x256大小的卷积特征图CFM,可以获得256长度的特征向量PFR。
作为替代方案,可以在应用递归模型之前应用汇集,这然后就不需要卷积。例如,汇集可以应用于块特征表示VBFi,以获得例如1x1x256大小的块表示,换句话说,表示相应块的特征向量。然后,这些特征向量可以由递归模型处理,以获得目前特征表示,例如,也是长度为256的特征向量。
因此,从目前子序列VBi提取目前特征表示PFR的视频特征提取器可以包括块特征提取器BFx;卷积递归模型CRM;和汇集操作Pool。至少块特征提取器BFx和递归模型CRM可以具有可训练的参数。可以使用具有与视频特征提取器类似架构的另外视频特征提取器来提取正例和负例比较示例。然而,发现使用单独的模型是有益的,例如,具有不同参数集的卷积特征图可以用于该另外视频特征提取器。
图6示出了训练视频特征提取器的计算机实现的无监督学习方法600的框图。视频特征提取器可以被配置成从视频序列中提取特征表示。方法600可以对应于图1的系统100的操作。然而,这不是限制,因为方法600也可以使用另一系统、装置或设备来执行。
方法600可以包括,在题为“访问训练,模型数据”的操作中,访问610表示多个训练视频序列的训练数据和表示视频特征提取器的参数集的模型数据。方法600可以包括,在题为“训练视频特征提取器”的操作中,训练620视频特征提取器。训练操作620可以包括,在题为“选择当前、先前、后续子序列”的操作中,从多个训练视频序列的训练视频序列中选择630:当前子序列、在当前子序列先前的先前子序列;和在当前子序列后续的后续子序列。训练操作620可以包括,在题为“应用视频特征提取器”的操作中,将视频特征提取器应用640到当前子序列,以提取当前子序列的当前特征表示。训练操作620可以包括,在题为“从给定当前的过去和未来的联合可预测性中导出信号”的操作中,从给定当前特征表示的先前和后续子序列的联合可预测性中导出650训练信号。训练操作620可以包括,在题为“更新参数”的操作中,基于训练信号更新660视频特征提取器的参数集。
方法600可以进一步包括,在题为“输出视频特征提取器”的操作中,输出670经训练的视频特征提取器。
图7示出了从视频序列中提取特征表示的计算机实现的方法700的框图。方法700可以对应于图2或图3的系统200的操作。然而,这不是限制,因为方法700也可以使用另一系统、装置或设备来执行。
方法700可以包括,在题为“访问模型数据”的操作中,访问710表示根据本文描述的计算机实现的方法(例如,图6的方法600)训练的视频特征提取器的模型数据。方法700可以包括,在题为“获得视频序列”的操作中,获得720视频序列。方法700可以包括,在题为“应用视频特征提取器”的操作中,将视频特征提取器应用730到视频序列以获得特征表示。方法700可以包括,在题为“输出特征表示”的操作中,输出740特征表示。
将领会,一般而言,图6的方法600和图7的方法700的操作可以以任何合适的顺序(例如,连续地、同时地或其组合)来执行,在适用的情况下,服从例如由输入/输出关系所必需的特定顺序。也可以组合一些或所有方法,例如,使用视频特征提取器的方法700可以随后应用于根据方法600训练的该视频特征提取器。
(一个或多个)方法可以在计算机上实现为计算机实现的方法、专用硬件或两者的组合。如图8中所图示的,用于计算机的指令(例如,可执行代码)可以存储在计算机可读介质800上,例如,以一系列810机器可读物理标记的形式和/或作为一系列具有不同电(例如,磁)或光属性或值的元件。可执行代码可以以暂时性或非暂时性的方式存储。计算机可读介质的示例包括存储器设备、光存储设备、集成电路、服务器、在线软件等。图8示出了光盘800。替代地,计算机可读介质800可以包括表示模型数据的暂时性或非暂时性数据810,该模型数据表示根据本文描述的计算机实现的方法训练的视频特征提取器的参数集。
示例、实施例或可选特征,无论是否被指示为非限制性的,都不应被理解为限制所要求保护的本发明。
在权利要求书中,被置于括号之间的任何参考标记不应被解释为限制权利要求。对动词“包括”及其词形变化的使用不排除除了在权利要求中所陈述的那些元素或阶段之外的元素或阶段的存在。在元素之前的冠词“一”或“一个”不排除多个此类元素的存在。诸如“各项中的至少一个”之类的表述当在元素的列表或组之前时表示从该列表或组中选择全部元素或元素的任何子集。例如,表述“A、B和C中的至少一个”应当被理解为包括仅A、仅B、仅C、A和B两者、A和C两者、B和C两者或者全部A、B和C。本发明可以借助于包括若干不同元件的硬件、以及借助于合适编程的计算机来实现。在列举了若干构件的设备权利要求中,这些构件中的若干个可以通过硬件的同一个项目来体现。在相互不同的从属权利要求中记载的某些措施的仅有事实不指示这些措施的组合不能被有利地使用。

Claims (14)

1.一种训练视频特征提取器的计算机实现的无监督学习方法(600),其中视频特征提取器被配置成从视频序列中提取特征表示,所述方法包括:
- 访问(610)表示多个训练视频序列的训练数据,以及表示视频特征提取器的参数集的模型数据;
- 通过以下方式训练(620)视频特征提取器:
- 从所述多个训练视频序列的训练视频序列中选择(630):当前子序列、在当前子序列先前的先前子序列;和在当前子序列后续的后续子序列;
- 将视频特征提取器应用(640)于当前子序列,以提取当前子序列的当前特征表示;
- 从给定当前特征表示的先前和后续子序列的联合可预测性中导出(650)训练信号,
其中导出训练信号包括从先前子序列、继之以后续子序列中提取正例比较示例;从后续子序列、继之以先前子序列中提取负例比较示例;以及基于将当前特征表示与正例和负例比较示例进行比较来确定对比损失;
- 基于训练信号更新(660)视频特征提取器的参数集;
- 输出(670)经训练的视频特征提取器。
2.根据权利要求1所述的方法(600),其中所述方法进一步包括从不同于所述训练视频序列的另外训练视频序列的第一和第二另外子序列中提取另外负例比较示例;以及使用另外负例比较示例用于确定对比损失。
3.根据权利要求1或2所述的方法(600),包括将分块特征提取器应用于当前、先前和后续子序列的一个或多个图像帧的相应固定长度块,以提取相应的块特征表示。
4.根据权利要求3所述的方法(600),其中当前子序列包括多个块,并且先前和后续子序列各自包括单个块。
5.根据权利要求3或4所述的方法(600),其中分块特征提取器是3D卷积神经网络。
6.根据权利要求3至5中任一项所述的方法(600),其中将视频特征提取器应用于当前子序列包括将递归卷积模型应用于当前子序列的块特征表示以获得卷积特征图,并且至少沿着其空间维度汇集卷积特征图。
7.根据前述权利要求中任一项所述的方法(600),进一步包括将相应的空间变换应用于当前、先前和后续子序列中的一个或多个。
8.根据前述权利要求中任一项所述的方法(600),进一步包括在选择当前、先前和后续子序列之前对训练视频序列的采样率进行下采样。
9.根据前述权利要求中任一项所述的方法(600),进一步包括获得标记的训练数据并在标记的训练数据上训练另外的机器学习模型,其中所述另外的机器学习模型被配置成基于使用视频特征提取器提取视频序列的特征表示来根据视频序列确定模型输出。
10.一种从视频序列中提取特征表示的计算机实现的方法(700),所述方法包括:
- 访问(710)表示根据前述权利要求中任一项的计算机实现的方法训练的视频特征提取器的模型数据;
- 获得(720)视频序列;将视频特征提取器应用(730)于视频序列以获得特征表示;以及输出(740)特征表示。
11.根据权利要求10所述的方法(700),其中视频特征提取器被包括在用于被配置成与环境交互的计算机控制系统的机器可学习控制模型中,其中视频序列包括计算机控制系统和/或环境的基于视频的表示,并且其中所述方法进一步包括应用机器可学习控制模型来获得用于在控制计算机控制系统中使用的控制数据。
12.一种用于训练视频特征提取器的无监督学习系统(100),其中视频特征提取器被配置成从视频序列中提取特征表示,所述系统包括:
- 数据接口(120),用于访问表示多个训练视频序列的训练数据和表示视频特征提取器的参数集的模型数据;
- 处理器子系统(140),被配置成训练视频特征提取器并输出经训练的视频特征提取器,其中训练包括:
- 从所述多个训练视频序列的训练视频序列中选择:当前子序列、在当前子序列先前的先前子序列;和在当前子序列后续的后续子序列;
- 将视频特征提取器应用于当前子序列,以提取当前子序列的当前特征表示;
- 从给定当前特征表示的先前和后续子序列的联合可预测性中导出训练信号,其中导出训练信号包括从先前子序列、继之以后续子序列中提取正例比较示例;从后续子序列、继之以先前子序列中提取负例比较示例;以及基于将当前特征表示与正例和负例比较示例进行比较来确定对比损失;
- 基于训练信号更新视频特征提取器的参数集。
13.一种用于从视频序列中提取特征表示的系统(200),所述系统包括:
- 数据接口(120),用于访问表示根据权利要求1至9中任一项训练的视频特征提取器的模型数据;
- 视频接口(160),用于获得由相机捕获的视频序列;
- 处理器子系统(140),被配置成经由视频接口获得视频序列;将视频特征提取器应用于视频序列以提取特征表示;以及输出特征表示。
14.一种计算机可读介质(800),包括暂时性或非暂时性数据(810),表示:
- 指令,当由处理器系统执行时,所述指令使得处理器系统执行根据权利要求1至9中任一项和/或根据权利要求10或11的计算机实现的方法;
- 模型数据,表示根据权利要求1至9中任一项的计算机实现的方法训练的视频特征提取器的参数集。
CN202111240188.3A 2020-10-26 2021-10-25 视频特征提取器的无监督训练 Pending CN114511751A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20203782.6 2020-10-26
EP20203782.6A EP3989106B1 (en) 2020-10-26 2020-10-26 Unsupervised training of a video feature extractor

Publications (1)

Publication Number Publication Date
CN114511751A true CN114511751A (zh) 2022-05-17

Family

ID=73014425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111240188.3A Pending CN114511751A (zh) 2020-10-26 2021-10-25 视频特征提取器的无监督训练

Country Status (3)

Country Link
US (1) US11921817B2 (zh)
EP (1) EP3989106B1 (zh)
CN (1) CN114511751A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115019397A (zh) * 2022-06-15 2022-09-06 北京大学深圳研究生院 一种基于时空信息聚合的对比自监督人体行为识别方法及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023244567A1 (en) * 2022-06-13 2023-12-21 Rensselaer Polytechnic Institute Self-supervised representation learning with multi-segmental informational coding
CN115205570B (zh) * 2022-09-14 2022-12-20 中国海洋大学 一种基于对比学习的无监督跨域目标重识别方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107666853A (zh) * 2015-05-21 2018-02-06 皇家飞利浦有限公司 根据视频序列确定搏动信号
CN107808144A (zh) * 2017-11-10 2018-03-16 深圳市唯特视科技有限公司 一种基于视频时空关系进行自我监督嵌入姿态学习方法
WO2019071094A1 (en) * 2017-10-06 2019-04-11 Qualcomm Incorporated LOCATION OF A VIDEO ACTION FROM A PROPOSAL-ATTENTION
US20190228313A1 (en) * 2018-01-23 2019-07-25 Insurance Services Office, Inc. Computer Vision Systems and Methods for Unsupervised Representation Learning by Sorting Sequences

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107666853A (zh) * 2015-05-21 2018-02-06 皇家飞利浦有限公司 根据视频序列确定搏动信号
WO2019071094A1 (en) * 2017-10-06 2019-04-11 Qualcomm Incorporated LOCATION OF A VIDEO ACTION FROM A PROPOSAL-ATTENTION
CN107808144A (zh) * 2017-11-10 2018-03-16 深圳市唯特视科技有限公司 一种基于视频时空关系进行自我监督嵌入姿态学习方法
US20190228313A1 (en) * 2018-01-23 2019-07-25 Insurance Services Office, Inc. Computer Vision Systems and Methods for Unsupervised Representation Learning by Sorting Sequences

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HAN ET AL.: "Video Representation Learning By Dense Predictive Coding", CORNELL UNIVERSITY <HTTPS://ARXIV.ORG/PDF/1909.04656.PDF>, 31 December 2019 (2019-12-31), pages 1 - 13 *
HOU ET AL: "Tube Convolutional Neural Network (T-CNN) for Action Detection in Videos", CORNELL UNIVERSITY, 31 December 2017 (2017-12-31), pages 1 - 11 *
KINGMA ET AL: "Adam: A Method for Stochastic Optimizatio", CORNELL UNIVERSITY <HTTPS://ARXIV.ORG/PDF/1412.6980.PDF>, 31 December 2017 (2017-12-31), pages 1 - 15 *
YAO ET AL: "SECO: Exploring Sequence Supervision for Unsupervised Representation Learning", CORNELL UNIVERSITY, 31 December 2020 (2020-12-31), pages 1 - 9 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115019397A (zh) * 2022-06-15 2022-09-06 北京大学深圳研究生院 一种基于时空信息聚合的对比自监督人体行为识别方法及系统
CN115019397B (zh) * 2022-06-15 2024-04-19 北京大学深圳研究生院 一种基于时空信息聚合的对比自监督人体行为识别方法及系统

Also Published As

Publication number Publication date
EP3989106A1 (en) 2022-04-27
EP3989106B1 (en) 2024-05-15
US20220129699A1 (en) 2022-04-28
US11921817B2 (en) 2024-03-05

Similar Documents

Publication Publication Date Title
Neven et al. Towards end-to-end lane detection: an instance segmentation approach
Mullapudi et al. Online model distillation for efficient video inference
CN114511751A (zh) 视频特征提取器的无监督训练
Khosroshahi et al. Surround vehicles trajectory analysis with recurrent neural networks
Huang et al. Dipn: Deep interaction prediction network with application to clutter removal
KR102235745B1 (ko) 컨볼루션 순환 신경망을 훈련시키는 방법 및 훈련된 컨볼루션 순환 신경망을 사용하는 입력된 비디오의 의미적 세그먼트화 방법
Saha et al. Enabling spatio-temporal aggregation in birds-eye-view vehicle estimation
EP3608844A1 (en) Methods for training a crnn and for semantic segmentation of an inputted video using said crnn
Xu et al. Deepmot: A differentiable framework for training multiple object trackers
Styles et al. Multiple object forecasting: Predicting future object locations in diverse environments
WO2020088766A1 (en) Methods for optical flow estimation
Wang et al. End-to-end interactive prediction and planning with optical flow distillation for autonomous driving
JP7478757B2 (ja) 将来予測のための混合分布推定
US20210019621A1 (en) Training and data synthesis and probability inference using nonlinear conditional normalizing flow model
CN116523823A (zh) 用于半监督对象检测的鲁棒伪标签生成的系统和方法
US11436441B2 (en) Systems and methods for training a machine learned model for agent navigation
CN113902159A (zh) 使用经训练的解码器模型来进行时间序列预测
Gosala et al. Skyeye: Self-supervised bird's-eye-view semantic mapping using monocular frontal view images
Choi et al. Future trajectory prediction via RNN and maximum margin inverse reinforcement learning
Lv et al. Learning to estimate 3-d states of deformable linear objects from single-frame occluded point clouds
Ma et al. Compass: Contrastive multimodal pretraining for autonomous systems
Prasetyo et al. Spatial Based Deep Learning Autonomous Wheel Robot Using CNN
Zhang et al. ForceFormer: exploring social force and transformer for pedestrian trajectory prediction
KR20220004933A (ko) 비단사적 변환을 포함하는 이미지 분류기
Jo et al. Mixture density-PoseNet and its application to monocular camera-based global localization

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