CN118077177A - 用于压缩视频域中自适应推理的方法、设备和介质 - Google Patents

用于压缩视频域中自适应推理的方法、设备和介质 Download PDF

Info

Publication number
CN118077177A
CN118077177A CN202280062857.9A CN202280062857A CN118077177A CN 118077177 A CN118077177 A CN 118077177A CN 202280062857 A CN202280062857 A CN 202280062857A CN 118077177 A CN118077177 A CN 118077177A
Authority
CN
China
Prior art keywords
frame
inter
information
processing
modality
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
CN202280062857.9A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN118077177A publication Critical patent/CN118077177A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • 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/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • 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
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/1912Selecting the most significant subset of features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19127Extracting features by transforming the feature space, e.g. multidimensional scaling; Mappings, e.g. subspace methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/0475Generative 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/092Reinforcement learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

公开了用于处理压缩视频以执行推理任务的方法、设备和计算机可读介质。处理所述压缩视频可以包括选择所述压缩视频的帧编码子集,或选择帧编码的零个或多个模态(RGB、运动向量、残差),用于进一步处理以执行所述推理任务。利用所述压缩视频的帧编码中预先存在的运动向量和/或残差信息来自适应且高效地执行所述推理任务。在一些实施例中,所述推理任务是动作识别任务,例如人类动作识别任务。

Description

用于压缩视频域中自适应推理的方法、设备和介质
相关申请的交叉引用
本申请要求于2021年11月30日提交的申请号为17/538,516的美国专利申请的优先权和利益,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及视频内容分类,尤其涉及用于使用来自压缩视频域的信息自适应地执行推理任务,以对视频内容进行分类的方法、设备和计算机可读介质。
背景技术
有大量的视频数据来自社交媒体和智能设备等来源,以及各种工业应用,包括监控和自动驾驶等(据报道,截至2021年,视频数据占据了全球IP流量的82%)。由于视频固有地包括时间维度,因此对于各种计算机视觉任务,可论证地,视频数据(即对视频进行编码的数据,视频包括称为帧的图像时间序列)比静止图像编码更有用的信息。但是,视频数据的大小成比例地大于图像数据,使得视频数据的处理和分析成本高昂。这对于存储和计算能力有限的边缘设备上的应用而言是一个特别的挑战,对于需要高计算效率的任务而言尤其如此。但是,尽管视频数据很大,但由于其固有的冗余性,可以大幅压缩视频数据,使有用的内容变得紧凑。
动作识别是计算机视觉的一个子领域,旨在对视频数据内可见的活动进行分类。具体地,人类活动识别(以下简称“AR”)是一个问题领域,一直是广泛研究的主题。AR寻求对视频数据执行推理任务,其中,推理任务是对视频内可见的人类行为进行分类。AR技术通常定义人类行为的类别集合;经过训练的AR模型应用于视频数据以生成推理数据,所述推理数据通常包括整个类别集合的概率分布,所述概率分布指示每个行为类别在视频内可见的推理可能性。
随着先进的深度学习技术的出现,提出了几种使用视频数据进行AR的主流方法。每帧处理方法寻求基于逐帧处理视频数据。一些每帧方法使用执行二维卷积运算的卷积神经网络(convolutional neural network,CNN)(“2D CNN”)处理整个视频或视频片段(例如,较长视频的按时间修剪的片段)。可以使用视频帧的每个像素的红-绿-蓝(red-green-blue,RGB)颜色值在2D像素图像的域(以下称为“RGB域”)中,或者在结合RGB数据和显式时间分量建模的混合域中,处理视频或视频片段。例如,可以通过使用帧之间的光流和/或递归神经网络(recurrent neural network,RNN)处理来执行时间分量建模。其它每帧方法使用CNN对视频片段执行3D卷积(3D CNN),从而隐式地编码与单独视频片段相关的时间信息。3D CNN每帧方法相对于2D CNN每帧方法通常没有表现出重大的精度改进,但需要的处理却指数级增加(即计算更加密集)。但是,最近已经进行了各种尝试来减少3D CNN的计算负担,并提高基于3D CNN的方法的精度,例如通过“膨胀”基本2D CNN架构以包括时间维度。关于这些基于“膨胀”的2D CNN方法的示例,参见例如(Carreira、和Andrew Zisserman所著的“Quo Vadis,动作识别?一种新模型和动力学数据集(Quo Vadis,Action Recognition?ANew Model and the Kinetics Dataset)”.2017年IEEE国际计算机视觉与模式识别会议(CVPR)(2017):第4724–4733页);以及(Feichtenhofer、Christoph所著的“X3D:用于高效视频识别的扩展架构(X3D:Expanding Architectures for Efficient VideoRecognition)”.2020年IEEE/CVF计算机视觉与模式识别会议(CVPR)(2020):第200–210页)。
对于使用视频数据的AR,还提出了一些自适应方法。自适应方法寻求提高AR技术的效率(例如,推理处理时间),并可能提高精度。一些自适应方法使用计算量少的技术预处理视频数据,然后进行决策以(a)预览视频以选择信息性帧或片段的子集进行处理,帧或片段的子集被视为整个视频的子集,或(b)通过定义可学习策略自适应地处理整个视频,所述可学习策略对处理每个帧的方式做出顺序决策。具体地,可学习策略通常局限于对用于处理RGB帧的图像分辨率和/或用于处理RGB帧的模型(例如,CNN)的容量或类型做出决策。可学习策略可以基于帧内容做出这些决策,还可能考虑局部或全局上下文,例如时间序列中附近帧的内容,或视频帧的整体。一些自适应方法还利用其它模态(如音频),以进一步提高AR的效率,特别是在未修剪的长视频中:例如,帧或片段的音频内容可以用于预测其显著性以进行AR的处理。
上文描述的自适应方法通常使用来自原始未压缩视频域(即RGB图像)的视频帧来执行关于要选择哪些帧或片段的决策,或者关于如何处理帧的决策。
与本发明相关的用于视频AR的自适应方法可以大致分为以下三个一般类别:基于片段的方法、帧选择方法和在线方法。基于片段的方法通常使用轻量级模型(例如轻参数化CNN)处理每个视频的多个片段,以选择信息性或显著性片段。然后使用更重量级和更精确的模型(如重参数化CNN)处理选择的片段。这些方法中的大多数方法适用于原始(未压缩)视频数据,只有一种方法使用压缩视频域(Korbar、Bruno等人所著的“SCSampler:从视频中采样显著片段以实现高效动作识别(SCSampler:Sampling Salient Clips From Videofor Efficient Action Recognition)”.2019年IEEE/CVF国际计算机视觉会议(ICCV)(2019年)第6231–6241页)。帧选择方法也使用轻量级模型执行视频选择,但基于每个帧而不是每个片段。然后,使用更重量级和更精确的模型处理选择的帧。用于自适应AR的所有现有的帧选择方法都在未压缩视频域中操作。称为“在线方法”的方法选择单独帧,与帧选择方法一样,但它们是顺序操作的,通常会考虑关于与时间序列中的先前视频帧的短期和长期关系的信息。帧是使用轻量级模型来选择的,与上文描述的基于片段的方法和帧选择方法一样。然后使用适配的模型能力处理选择的帧:例如,可以基于执行帧选择的轻量级模型所做出的决策,使用经过不同参数化的模型来处理不同的选择帧。与上文描述的帧选择方法一样,在线方法对未压缩视频域中的视频帧进行操作。
用于AR的这些现有自适应方法中的每一种方法可以通过选择性和/或自适应地仅处理较长视频中的某些选择帧或片段来提高效率。但是,现有的方法仍然需要大量的计算资源(包括处理器周期和内存使用)来处理高动态范围RGB视频帧,即使这只是稀疏地完成(即仅处理选择的RGB帧)。此外,为了显示地考虑时间信息或上下文,这些方法通常必须通过进一步处理多个RGB视频帧来生成这种时间或上下文信息,这增加了计算负荷。在功率较低和/或计算资源较少的设备(例如,智能手机)上进行处理特别不希望这种情况。同样,为了在帧选择过程中包括时间信息,需要进行额外的RGB处理。
鉴于以上情况,需要改进自适应AR技术,并且需要一种用于自适应动作识别的方法,并且更一般地用于基于视频帧对给定推理任务的显著性来选择和/或自适应处理视频帧的方法,所述方法克服了上文明确的现有方法的一个或多个限制。
发明内容
本发明提供了用于处理压缩视频以及可选的来自未压缩视频的RGB数据以执行推理任务的方法、设备和计算机可读介质。在一些示例中,重建对应于每个压缩视频帧间帧的RGB图像,以支持同时使用所有三种模态:RGB、运动向量和残差,而无需使用单独的未压缩视频源。在一些示例中,处理压缩视频可以包括选择压缩视频的帧编码子集,用于进一步处理以执行推理任务。在一些实施例中,推理任务是动作识别任务,例如人类动作识别任务。
视频通常以压缩视频格式存储和传输,其中包括用于解码或重建单独视频帧的丰富和自由的运动信息和残差信息。通过利用压缩视频数据中的运动信息和残差信息,本文描述的实施例能够跳过大多数帧的耗时运动估计步骤,并直接利用压缩视频的帧间编码中包括的运动信息。
在一些示例中,运动信息和/或残差信息可以单独分析或与来自同一帧间帧的RGB信息一起分析,以决策来自压缩域的哪些帧或对应于这些帧的哪些RGB图像包括在帧子集(在所有三个模态上)中或从帧子集中排除,用于进一步处理以执行推理任务。在其它实施例中,来自压缩域的运动信息和/或残差信息可以单独分析或与对应的RGB帧一起分析,以决策哪些模态(例如,运动向量图、残差图和/或RGB图像)将被包括在进一步执行推理任务的进一步处理中,或从进一步执行推理任务的进一步处理中排除。一些实施例使用决策模块来做出关于每个帧间帧和/或其每个模态的决策,并使用推理模型来处理选择用于包括在进一步处理中的那些帧或模态,两者都作为端到端训练的机器学习模型进行联合训练。一些实施例使用决策模块,所述决策模块用于选择要包括在帧子集中的帧,并且帧子集被存储以便由预训练的推理模型稍后处理以执行推理任务。
本文所使用的术语“帧”是指视频帧,即作为视频的图像时间序列之一包括的二维图像。
本文所使用的“帧编码”是指可以由解码器用于解码、生成或重建帧的数据。“压缩视频”或“压缩视频流”是指包括多个帧编码的数据,通常表示帧时间序列。压缩视频或其一部分可以称为“压缩视频数据”。
本文所使用的术语“预测任务”是指由模型执行的任务,其中,作为输入提供给模型的一个或多个数据样本使得模型生成预测信息,所述预测信息基于用作输入的一个或多个数据样本预测一个或多个结论。在机器学习的上下文中,可以训练模型来执行预测任务。预测任务包括分类任务,其中,对于作为输入接收的每个数据样本,或每个数据样本的一部分,预测数据可以包括预测的类别,或在一个或多个类别上的概率分布。
本文所使用的术语“模型”是指用于处理输入数据以生成关于输入数据的预测信息的概率、数学或计算模型。在机器学习的上下文中,“模型”是指使用机器学习技术训练的模型;术语“网络”可以指使用机器学习训练的模型,其配置为人工神经网络或其它网络结构。术语“子网”是指网络或其它模型的一部分。
如本文所使用的,第二项(例如,值、计算或决策)“基于”第一项的陈述可以表示第二项的特征至少部分地受到第一项的特征的影响或至少部分地由第一项的特征确定。第一项可以被认为是运算或计算的输入,或者是一系列运算或计算的输入,所述运算或计算产生第二项作为与第一项相关的输出。类似地,如果处理一个或多个输入以生成第二项,则可以认为第二项基于每个输入。如果第一项被从各种输入的处理中“排除”以生成第二项,则第二项不是基于第一项,第二项的特征可以被认为是独立于第一项。例如,如果视频帧被认为对推理任务不显著,则可以“跳过”该视频帧或从进一步处理中排除该视频帧,以进一步执行推理任务。另一方面,如果视频帧被认为是显著的,则视频帧可以被“保留”并包括在进一步处理中,使得用于进一步推理任务的进一步处理的输出基于视频帧。
在一些方面,本发明描述了一种用于处理压缩视频以执行推理任务的方法。所述方法包括多个步骤。获取所述压缩视频的帧间编码,所述帧间编码表示帧时间序列中的帧间帧。所述帧间编码包括所述帧间帧相对于所述帧时间序列中的参考帧的时间信息。处理所述时间信息的至少一部分以生成决策信息。所述决策信息指示所述帧间编码的一个或多个模态中的哪些模态,如果有的话,待处理以执行所述推理任务。
在一些方面,本发明描述了一种设备,包括:处理器;存储器,存储指令,所述指令当由所述处理器执行时,使所述设备通过执行几个步骤处理压缩视频以执行推理任务。获取所述压缩视频的帧间编码,所述帧间编码表示帧时间序列中的帧间帧。所述帧间编码包括所述帧间帧相对于所述帧时间序列中的参考帧的时间信息。处理所述时间信息的至少一部分以生成决策信息。所述决策信息指示所述帧间编码的一个或多个模态中的哪些模态,如果有的话,待处理以执行所述推理任务。
在一些示例中,所述方法还包括,响应于确定所述决策信息指示没有所述帧间帧的模态待处理:基于压缩视频数据的多个帧编码来处理视频帧模态数据以执行所述推理任务,其中,所述帧间编码被从所述处理中排除。
在一些示例中,所述方法还包括,响应于确定所述决策信息指示所述帧间帧的至少一个模态待处理:基于压缩视频数据的多个帧编码来处理视频帧模态数据以执行所述推理任务,其中,所述帧间编码的所述至少一个模态包括在所述处理中。
在一些示例中,所述时间信息包括:所述帧间帧相对于所述参考帧的运动信息;所述帧间帧相对于运动调整参考帧的残差信息。所述帧间编码的所述至少一个模态包括以下中的一种或全部:所述运动信息;所述残差信息。
在一些示例中,所述方法还包括对所述帧间编码进行解码以生成所述帧间帧。所述帧间编码的所述至少一个模态是以下中的一种或多种:所述运动信息;所述残差信息;所述帧间帧。
在一些示例中,处理所述时间信息的所述至少一部分以生成所述决策信息包括:处理所述运动信息和所述残差信息以生成所述决策信息。
在一些示例中,所述方法还包括提供端到端训练模型,所述端到端训练模型包括决策模块和推理模块。对所述运动信息和所述残差信息进行处理以生成所述决策信息的步骤由所述决策模块执行;对所述视频帧模态数据进行处理以执行所述推理任务的步骤包括:对所述帧间编码的所述至少一个模态进行处理以生成帧间特征信息;使用所述推理模块对所述帧间特征信息进行处理,以执行所述推理任务。
在一些示例中,所述端到端训练模型还包括一个或多个模态特定处理模块。对所述帧间编码的所述至少一个模态进行处理以生成帧间特征信息包括:对于所述至少一个模态中的每个相应模态,使用相应的模态特定处理模块处理所述帧间帧的所述相应模态。
在一些示例中,所述帧间特征信息包括空间加权的帧间特征信息。对于所述至少一个模态中的每个相应模态,使用相应的模态特定处理模块处理所述帧间帧的所述相应模态包括:基于所述相应模态生成空间显著性信息;处理所述相应模态和所述空间显著性信息以生成所述空间加权的帧间特征信息。
在一些示例中,所述帧间特征信息包括所述至少一个模态中的每个相应模态的相应的模态特定帧间特征信息。使用所述推理模块对所述帧间特征信息进行处理,以执行所述推理任务包括:将所述至少一个模态中所有模态的所述模态特定帧间特征信息进行融合,以生成融合的帧间特征信息;对所述融合的帧间特征信息进行处理,以执行所述推理任务。
在一些示例中,所述帧间特征信息包括所述至少一个模态中的每个相应模态的相应的模态特定帧间特征信息。使用所述推理模块对所述帧间特征信息进行处理,以执行所述推理任务包括:对于所述至少一个模态中的每个相应模态的每个相应的模态特定帧间特征信息,处理所述相应的模态特定帧间特征信息以生成相应的模态特定推理信息;将所述至少一个模态中所有模态的所述模态特定推理信息进行融合以执行所述推理任务。
在一些方面,本发明描述了一种方法,用于选择从压缩视频解码的帧子集,用于进一步处理,以执行动作识别任务或训练模型来执行所述动作识别任务的。所述方法包括多个步骤。获取所述压缩视频的多个帧间编码,所述多个帧间编码表示帧时间序列。所述多个帧间编码包括:第一帧间编码,表示在所述帧时间序列的开始处的第一帧间帧;第二帧间编码,表示在所述帧时间序列的结束处的第二帧间帧;多个中间帧间编码。每个中间帧间编码表示所述帧时间序列中的所述第一帧间帧与所述第二帧间帧之间的帧间帧。每个中间帧间编码包括:相应的中间帧间帧相对于所述帧时间序列中相应的参考帧的运动信息。处理所述多个中间帧间编码的所述运动信息,以生成累积运动信息,所述累积运动信息表示所述第一帧间帧与所述第二帧间帧之间的运动。处理所述累积运动信息以生成决策信息。所述决策信息指示所述第二帧间帧是否应包括在所述帧子集中。基于所述决策信息选择所述帧子集。
在一些示例中,处理所述多个中间帧间编码的所述运动信息以生成累积运动信息包括:对于所述多个中间帧间编码中的每个帧编码,处理所述运动信息以生成运动向量场。对所述多个中间帧间编码中的所有帧编码的所述运动向量场进行处理,以生成累积运动向量场。对所述累积运动向量场进行处理,以生成所述累积运动向量场的最大绝对幅值。处理所述累积运动信息以生成决策信息包括:将所述累积运动向量场的所述最大绝对幅值与运动阈值进行比较,以确定所述第二帧间帧是否应包括在所述帧子集中。
在一些示例中,所述方法还包括,在选择所述帧子集之后:存储所述帧子集以用于后续处理:通过经过训练的推理模型执行所述动作识别任务;或训练推理模型以执行所述动作识别任务。
在一些方面,本发明描述了一种非瞬时性处理器可读介质,其上有形地存储有指令,所述指令当由设备的处理器执行时,使所述设备执行上文描述的方法。
通过使用压缩视频数据进行自适应推理,示例性实施例可以通过利用已编码在压缩视频数据中的预先存在的运动信息和/或残差信息,并且通过使用2D卷积从单独帧、MV图和残差图中提取时间信息,提供用于执行单独压缩视频的高效处理的高效模型集。MV图和残差图的低动态范围支持使用非常轻量级模型(即容量小的模型)进行建模,因此可以大量节省计算资源和功耗。因此,一些这种实施例可以优化在给定视频上执行推理任务的处理时间,这对于功率和计算受限的平台(例如边缘设备)可能特别重要。
此外,相对于现有方法,将压缩视频数据用于自适应AR或其它自适应推理任务可以减少内存使用。由于运动数据和残差数据相对于RGB数据的表示稀疏且紧凑,所描述的一些实施例所需的模型容量可能小于用于处理RGB数据的现有方法。
通过减少处理时间和/或内存使用,还可以降低功耗,从而延长执行处理的设备(例如移动设备)的电池寿命。
附图说明
现在参考附图通过示例描述实施例,其中,相似的附图标记可以用于指示相似的特征。
图1是示例性压缩视频100的结构的框图,示出了示例性实施例可以在其中运行的示例性环境。
图2是本文描述的示例性实施例提供的用于执行本文描述的方法的示例性设备的框图。
图3A是示出图2的自适应推理软件系统的第一示例的操作的示意图。
图3B是示出图2的自适应推理软件系统的第二示例的操作的示意图。
图4A是重新配置为在压缩视频上操作的示例性传统自适应AR过程的简化框图,示出了现有自适应AR技术的限制。
图4B是在压缩视频上操作的图3A或图3B的示例性自适应AR软件系统的简化框图。
图5是示出图2的模态选择模块的示例的操作的示意图。
图6是示出图3A或图3B的模态特定处理模块的示例性集合的操作的示意图。
图7是图2的决策模块的第一替代示例的示意图,用于实时地从压缩视频中选择单独帧用于进一步处理。
图8是图2的决策模块的第二替代示例的示意图,用于离线地从压缩视频中选择帧子集用于进一步处理。
图9是示出本文描述的示例性实施例提供的用于处理压缩视频以执行推理任务的示例性方法的步骤的流程图。
图10是示出处理帧间编码的一个或多个模态以生成帧间特征信息的图9的方法的步骤的示例性子步骤的流程图。
图11A是示出处理帧间特征信息以执行推理任务的图9的方法的步骤的第一示例性子步骤集合的流程图。
图11B是示出处理帧间特征信息以执行推理任务的图9的方法的步骤的第二示例性子步骤集合的流程图。
图12是示出本文描述的示例性实施例提供的用于处理压缩视频以选择和存储压缩视频的帧子集,用于进一步处理以执行推理任务的示例性方法的步骤的流程图。
具体实施方式
本发明是参考附图进行的,附图中示出了实施例。但是,可以使用许多不同的实施例,因此不应将描述解释为限于本文中阐述的实施例。相反,提供这些实施例是为了使得本发明透彻和完整。在可能的情况下,在附图和具体实施方式中,使用相同的附图标记表示相同的元件,并且在可替代实施例中,使用加撇符号表示类似的元件、操作或步骤。所示系统和设备的功能元件的单独框或所示分离不一定需要这些功能的物理分离,因为这些元件之间的通信可以在没有任何这种物理分离的情况下通过消息传递、函数调用、共享内存空间等方式发生。因此,尽管为了便于解释,本文分开示出了功能,但是这些功能不需要在物理或逻辑上分离的平台中实现。不同的设备可以具有不同的设计,使得尽管一些设备在固定功能硬件中实现一些功能,但其它设备可以在可编程处理器中实现这些功能,该处理器具有从机器可读介质获取的代码。最后,以单数提及的元件可以是复数,反之亦然,除非上下文明确或固有地指示。
现在描述用于处理压缩视频以执行推理任务的方法、设备和计算机可读介质的示例性实施例。一些示例性实施例使用通过机器学习算法训练的模型(也称为“机器学习模型”或简称“模型”)(例如经过训练的神经网络)来执行本文描述的全部或部分方法和操作。本文中的示例可以参考动作识别(action recognition,AR)等特定类型的推理任务来描述,但是应当理解,各种计算机视觉任务等其它推理任务可以使用本文描述的自适应技术来执行。例如,本文描述的方法、设备和介质中体现的自适应技术可以用于辅助计算机视觉任务,例如视频检索、视频字幕生成、时间定位、时间检测、对象检测、对象跟踪、时空定位、语义分割或场景理解。
上文描述的用于自适应AR的现有方法使用RGB图像作为输入之一。但是,为了节省存储和带宽,视频通常被编码成压缩格式,也称为压缩视频流或简称为压缩视频。必须执行解码过程以生成编码在压缩视频中的RGB帧,然后才能将这些帧用作自适应AR过程的输入。对压缩视频流执行编码和/或解码的设备或过程可以称为编解码器,表示编码器/解码器,或称为编码器(用于编码)或解码器(用于解码)。
现代视频编解码器,例如包括MPEG-1、MPEG-2、MPEG-4和H.264/MPEG-4AVC编解码器的各种MPEG编解码器,利用视频的相邻帧之间的冗余来实现高压缩比,即编码之前的未压缩视频的大小与编码之后的压缩视频流之间的比率。例如,对于MPEG-4格式:设视频帧的时间序列中的当前帧(在时间=t)和紧邻的前一帧(在时间=t–1)分别表示为视频编码器本质上估计运动向量(motion vector,MV)图/>和残差图/>以便可以通过It(p)=It-1(p+MVt(p))+Rt(p)恢复任何位置p处It的像素值。因此,在经编码的视频流中,帧It被替换为MVt和Rt,对于大多数视频,MVt和Rt可以用比原始像素值少得多的比特来编码,因为物理世界往往是在连续的基础上演变的,大运动和突然变化都是相对罕见的。当对视频进行编码时,视频编码器通常将视频划分成多个图像组(group-of-pictures,GOP),每个图像组包括帧时间序列,所述帧时间序列从帧内编码帧(I帧)开始,之后是一个或多个帧间帧(例如P帧或B帧)。GOP的初始I帧在压缩视频流中编码为独立的图像:即I帧编码包括图像数据,而不包括运动向量(motion vector,MV)图或残差图。GOP中的后续帧间帧在压缩视频流中编码为帧间编码,所述帧间编码包括它们相应的运动信息(例如,运动向量(motion vector,MV)图)和残差信息(例如,残差图),这些信息用于通过变换时间序列中的一个或多个参考帧(例如,GOP的初始I帧或GOP的前一个帧间帧)来重建相应的帧间帧。P帧编码是单向的,通常只包括单个MV图和单个残差图,关于单个参考帧(例如,时间序列中紧邻的前一帧)定义P帧。B帧编码是双向的,通常包括两个MV图和两个残差图,关于两个参考帧(例如,时间序列中紧邻的前一帧和紧邻的后一帧)定义B帧。P帧和B帧在本文中称为“帧间帧”,它们的编码称为“帧间编码”。
在实践中,一个GOP可能包括几十到几百个连续的帧间帧,而只有一个I帧,将压缩比推到很高的水平。在一些示例中,GOP中包括的帧数是固定的;在其它示例中,压缩视频流中的不同GOP可以包括不同的帧数。在一些示例中,给定GOP中包括的帧数可以通过被编码的视频帧的特性来确定,例如,对应于从一个镜头切到另一个镜头的两个连续帧之间的边界可以基于两个帧之间视觉不连续性的程度,用作一个GOP的结束与另一个GOP的开始之间的边界。应当理解,现代视频编码技术可以以与本文描述的实施例一致的各种方式构造压缩视频、GOP、I帧编码和帧间编码。
图1示出了示例性压缩视频100的结构。压缩视频100包括表示帧时间序列的多个帧编码(示出为帧编码112、114、116、……、118、120、……),从表示在t=0处的第一I帧的第一I帧编码112开始,之后是在t=1处的紧邻的后一个第一帧间编码114,之后是在t=2处的紧邻的后一个第二帧间编码116,可选地,之后是一个或多个附加帧间编码,之后是表示在t=M处的第二I帧的第二I帧编码118,之后是在t=M+1处的紧邻的后续另一个帧间编码120,可选地,之后是一个或多个附加帧编码。多个帧编码被分割成一个或多个图像组(group-of-pictures,GOP),每个图像组可以包含固定或可变数量的帧编码,例如图1所示的GOP 1102中的正整数K个帧编码。第一GOP GOP 1 102包括第一I帧编码112和表示时间序列中第一I帧之后的帧间帧的多个(即,K–1个)后续帧间编码(包括第一帧间编码114和第二帧间编码116),第二GOP GOP 2 104包括第二I帧编码118和表示时间序列中第二I帧之后的帧间帧的多个后续帧间编码(包括另一帧间编码120)。如上所述,每个I帧编码112、118包括表示帧的图像数据122,并且每个帧间编码114、116、120包括相应帧间帧相对于时间序列中的一个或多个参考帧的运动信息124和残差信息126,用于结合一个或多个参考帧生成对应的帧间帧。在本发明中,术语“时间信息”可以用于指帧的运动信息和/或残差信息。在一些示例中,帧间编码(例如114、116或120)的运动信息124包括对应帧相对于参考帧的运动向量(motion vector,MV)图,帧间编码的残差信息126包括对应帧相对于参考帧的残差图。例如,第一帧间编码114的运动信息124和残差信息126可以包括运动向量(motion vector,MV)图和残差图,所述MV图和残差图用于相对于第一I帧编码112的第一I帧定义或生成第一帧间帧。
因此,在对压缩视频100进行解码时,解码器可以首先对GOP 1 102进行解码。解码器将对第一I帧编码112的图像数据122进行解码,并将所得帧(即RGB图像)用作t=0处的视频帧。然后,解码器将通过如下方式解码或生成t=1处的第一帧间帧:对来自第一帧间编码114的运动信息124和残差信息126进行解码,然后应用视频解压缩技术以通过使用运动信息124和残差信息126变换t=0处的图像来重建t=1处的帧间帧。通过使用从第二帧间编码116解码的运动信息124和残差信息126变换t=1处的重建的第一帧间帧,类似地对t=2处的第二帧间帧进行解码。
当在压缩视频100中遇到新GOP(例如GOP 2 104)时,解码器再次开始该过程。GOP的第一帧编码是I帧编码,例如GOP 2 104的第二I帧编码118,并且以与第一I帧编码112相同的方式解码,导致生成或解码在t=K处的帧。新GOP的后续帧间帧基于其相应的先前解码的参考帧进行解码。
在一些实施例中,压缩视频100是设备正在接收的压缩视频流,并且解码过程可以由解码器在接收整个压缩视频100之前执行。在一些实施例中,解码器可以在仅获取压缩视频100的一部分之后开始对来自压缩视频100的帧编码的帧进行解码,所述一部分例如单个I帧编码、单个GOP,或包括至少一个I帧编码的压缩视频100的任何其它部分(其必须被获取以便建立基线帧,后续帧间帧将基于该基线帧进行重建)。
现有的视频编解码器通常如上所述对压缩视频100的帧进行解码,生成作为RGB图像的帧时间序列作为输出。从压缩视频100解码的其它信息,例如从每个帧间编码解码的运动信息124和残差信息126,一旦已被用于解码或重建相应的帧间帧作为图像,则被丢弃。但是,本文描述的实施例可以使用修改的视频解码器来保留此运动信息和/或残差信息,并利用编码在压缩视频100中的预先存在的运动信息124和残差信息126,结合解码或重建的帧,以辅助自适应推理任务,如下文参考图3A至图3B和图4B至图12更详细描述的。
一些现有的AR方法对压缩视频数据进行操作。参见例如(Wu、Chao-Yuan等人所著的“压缩视频动作识别(Compressed Video Action Recognition)”.2018年IEEE/CVF计算机视觉与模式识别会议(2018):第6026–6035页,下文称为“Wu”)和(Huo、Yuqi等人所著的“移动视频动作识别(Mobile Video Action Recognition)”.arXiv abs/1908.10155(2019年),下文称为“Huo”)。但是,这些现有的方法没有描述使用来自压缩视频数据的运动信息和残差信息来执行自适应AR或在推理处理之前执行视频数据的显著性分析。本文描述的示例性实施例可以至少部分地通过利用编码在压缩视频数据中的预先存在的运动信息和/或残差信息来改进现有的自适应AR或其它自适应推理方法,以提高自适应过程的效率和/或精度。
现在描述执行本文描述的自适应推理操作和方法的示例性设备。
示例性设备
图2是设备200(例如计算机或云计算平台)的简化示例的框图,该设备适合于实现本文描述的示例,并且特别用于执行本文描述的方法步骤和操作。可以使用适合于实现本发明中描述的实施例的其它示例,这些示例可以包括与下文描述的那些组件不同的组件。虽然图2示出了每个组件的单个实例,但是在设备200中可能存在一些组件的多个实例。
设备200可以包括一个或多个处理器设备,例如处理器、微处理器、数字信号处理器、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、专用逻辑电路、专用人工智能处理器单元,或其组合(处理器设备统称为处理器202)。设备200还可以包括一个或多个可选的输入/输出(input/output,I/O)接口(统称为I/O接口204),其可以实现与一个或多个输入设备207(例如键盘、鼠标、触摸屏或相机)和/或输出设备205(例如显示器或扬声器)的连接。
在所示的示例中,一个或多个输入设备207和一个或多个输出设备205示为在设备200外部。但是,应当理解,一些实施例可以将输入设备207和/或输出设备205中的一个或多个组合成单个设备。
设备200可以包括一个或多个网络接口,用于与网络(例如网络)的一个或多个设备或系统进行有线或无线通信(统称为网络接口206)。网络接口206可以包括用于网络内和/或网络间通信的有线链路(例如,以太网线)和/或无线链路(例如,一个或多个天线)。在一些实施例中,设备200可以使用网络接口206而不是I/O接口204通过网络与输入设备207和/或输出设备205中的一个或多个进行通信。
设备200可以包括一个或多个非瞬时性存储器(统称为存储器208),所述一个或多个非瞬时性存储器可以包括易失性或非易失性存储器(例如,闪存、随机存取存储器(random access memory,RAM)和/或只读存储器(read-only memory,ROM))。非瞬时性存储器208可以存储由处理器202执行的指令220,例如,以执行本发明中描述的示例。存储器208还可以包括其它处理器可执行指令220,例如用于实现操作系统和其它应用/功能的处理器可执行指令。在一些示例中,存储器208可以包括指令220,用于由处理器302执行以实现自适应推理软件系统222,所述自适应推理软件系统222包括模块和其子模块,例如修改的视频解码器236、决策模块224和模态选择模块238、推理模块226以及一个或多个模态特定处理模块(示出为RGB处理模块230、MV处理模块232和残差处理模块234),如下文参考图3A至图3B和图4B至图8进一步描述的。自适应推理软件系统222可以通过使用处理器202执行指令220而加载到存储器208中。
存储器208还可以存储由自适应推理软件系统222使用和/或生成的数据。压缩视频100或其一部分可以存储在存储器208中,例如在从外部源(例如,经由网络接口206)接收之后以及在由自适应推理软件系统222处理之前和处理期间存储在存储器208中。压缩视频100的帧编码可以由自适应推理软件系统222的修改的视频解码器236解码,并且每个帧编码的经解码的帧信息212可以存储在存储器208中,所述经解码的帧信息212包括解码帧214(例如I帧编码的图像数据122或用于帧间编码的以RGB图像格式重建的帧间帧)、帧间编码的经解码的MV图216(或其它运动信息)和/或帧间编码的经解码的残差图218(或其它残差信息)。由修改的视频解码器236生成的视频帧210也可以存储在存储器208中,例如,在通过网络接口206发送之前,或者在提供给经过训练的推理模型(例如推理模型226)以执行推理任务之前存储在存储器208中。
在一些示例中,另外或或者,设备200可以执行来自外部存储器(例如,与设备200有线或无线通信的外部驱动器)的指令,或者可以由瞬时性或非瞬时性计算机可读介质提供可执行指令。非瞬时性计算机可读(即处理器可读)介质的示例包括RAM、ROM、可擦除可编程ROM(erasable programmable ROM,EPROM)、电可擦除可编程ROM(electricallyerasable programmable ROM,EEPROM)、闪存、CD-ROM或其它便携式存储器。
设备200还可以包括总线203,提供设备200的组件之间的通信,包括上文描述的那些组件。总线203可以是任何合适的总线架构,例如包括存储器总线、外围总线或视频总线。
应当理解,在一些实施例中,本文描述的各种组件和操作可以在多个单独的设备或系统上实现。在这种示例中,总线203可以是网络链路或其它通信链路,使得能够在系统的多个设备或组件之间进行通信。
在一些实施例中,本文描述的自适应推理软件系统222的一个或多个操作可以通过硬件逻辑而不是软件来执行,例如通过包括一个或多个专用集成电路(application-specific integrated circuit,ASIC)或现场可编程门阵列(field programmable gatearray,FPGA)作为设备200的一部分,用于执行所描述的操作。例如,在一些实施例中,图3A至图3B所示的修改的视频解码器236可以实现为硬件解码器。
机器学习
机器学习(machine learning,ML)是一种人工智能技术,其中,使用算法从能够应用于新输入数据以执行特定任务(即,基于新的输入数据进行预测或决策)的样本数据中针对特定任务构造或构建“模型”(即复杂的参数化函数),而无需显式编程以执行特定任务。
本文所使用的“模型”应指机器学习模型。机器学习模型是指可以执行的可执行计算结构,例如处理器可执行的软件指令。在模型训练期间,使用样本数据(例如来自训练数据集的数据)学习模型的参数。在模型被训练后,经过训练的模型可以在推理模式下部署和操作(例如应用于新输入数据),以执行特定任务(即根据新输入数据进行预测或决策)。
本文描述的机器学习模型可以通过已经过训练(例如,使用监督式学习)以执行任务(例如视频帧选择、显著性分析、视频数据的自适应处理或推理任务的执行)的可微卷积神经网络来近似。在一些实施例中,可以独立于自适应推理软件系统22的其它组件来训练一个或多个模型。在其它实施例中,自适应推理软件系统可以包括多个子模型,这些子模型作为端到端训练模型进行联合训练。例如,在本文描述的一些实施例中,推理模块226与决策模块224分开训练,而在其它实施例中,推理模块226、决策模块224和模态特定处理模块230、232、234作为端到端训练模型进行联合训练。
应当理解,设备和方法的各种实施例可以适用于本文描述的其它任务、其它神经网络架构(例如全连接或递归神经网络)和其它机器学习技术,包括其它深度学习技术,并对某些操作进行适当的改变。此外,本文描述的设备和方法的一些实施例可以应用于机器学习上下文之外的领域。例如,本文描述的决策模块224的一些确定性的非基于机器学习的实施例可以用于选择视频帧以使用非基于机器学习的处理技术进行处理。
现在参考图3A至图3B和图4B至图12描述自适应推理软件系统222的结构和操作。图3A至图3B和图4B至图8中的自适应推理软件系统222及其模块和子模块的示意图结合由此执行的方法的步骤和操作进行描述,如图9至图12的流程图所示。
自适应推理软件系统
图3A是示出由处理器202实现的第一示例性自适应推理软件系统222(在此示例性实施例中为222A)的数据流的示意图。自适应推理软件系统222将压缩视频100作为输入。自适应推理软件系统222基于决策模块224做出的自适应决策,使用推理模块226自适应地执行推理任务。修改的视频解码器236用于生成经解码的视频信息212,所述经解码的视频信息212不仅包括解码图像(即帧间214),还包括所有帧间帧的运动向量(motion vector,MV)图216和残差图218。
图9是用于处理压缩视频以执行推理任务的示例性方法的示例性方法900的流程图。参考图3A的自适应推理软件系统222描述方法900的步骤。应当理解,在一些实施例中,方法900可以使用其它手段来实现。
在902处,获取压缩视频100的至少一部分,包括帧间编码(例如第一帧间编码114)。例如,处理器202可以从存储器208获取压缩视频100或其包括帧间编码的部分。如上文参考图1所述,压缩视频流包括表示帧时间序列的多个帧编码,其中,图3A中表示的时间序列从第一帧间编码114(对应于t=1处的第一帧间帧)垂直向下扩展,通过第n帧间编码117(对应于t=n处的第n帧间帧),并且可选地包括对应于时间序列中其它帧的其它帧编码。每个帧间编码包括相对于时间序列中的参考帧(例如,较早帧)定义的时间信息(即,运动信息124和残差信息126):例如,在帧间帧是传统定义的P帧的实施例中,第一帧间运动信息124和残差信息126可以相对于图1所示的第一I帧编码112的第一I帧定义,第n帧间运动信息124和残差信息126可以相对于时间序列中(t=n–1)处的帧间帧定义。应当理解,在一些实施例中(例如,处理B帧的实施例),帧间编码可以包括相对于第一参考帧定义的运动信息和/或残差信息,以及相对于一个或多个附加参考帧定义的运动信息和/或残差信息。
在整个本发明中,可以假设由自适应推理软件系统处理的帧间帧为第一帧间编码114,并且可以称为帧间编码114,并且从帧间编码114解码的帧间帧214可以称为帧间帧214,以便于参考。应当理解,本文描述的实施例同样适用于处理压缩视频100中的任何其它帧间编码,例如第n帧间编码117。
在904处,决策模块224处理帧间编码114的时间信息(即,运动信息124和/或残差信息126)以生成决策信息512。除了帧间编码114的运动信息124和/或残差信息126之外,决策模块还可以处理重建的帧间帧214。决策模块224包括模态选择模块238。帧间编码114首先由修改的视频解码器236解码,以分别基于帧间编码114的运动信息124和残差信息126生成MV图216和残差图218。在此步骤904处,修改的视频解码器236还生成帧间帧214(即,经解码的视频数据212的帧间帧的RGB图像)。
在修改的视频解码器236生成MV图216、残差图218和帧间帧214的重建的RGB图像之后,模态选择模块238选择帧间编码114的零个或多个模态用于进一步处理,所述选择由决策信息512表示。在一些实施例中,由修改的视频解码器236生成的经解码的帧信息212直接作为输入提供给模态特定处理模块230、232、234和推理模块226A,而不是如图3A所示由选择模块224中继。在各种实施例中,这种替代方法也适合于修改图3B、图7和图8中所示的示例性软件系统222B、222C和222D的配置。
图4A和图4B示出了传统的基于RGB的自适应推理(在图4A中)相对于本文描述的压缩视频域中的自适应推理(例如自适应推理软件系统222,其操作在图4B中在高级中示出)的示例的高级比较。
尽管上文描述的现有的基于RGB的自适应AR方法倾向于在未压缩的视频数据上操作,但图4A的示例示出了在压缩视频数据上操作的基于RGB的自适应AR系统的假设示例。在图4A中,传统视频解码器402对压缩视频100的帧编码401(例如,I帧或帧间帧)进行解码,从而生成编码在帧编码401中的帧的重建的单个图像403(例如,RGB图像)。后续操作对应于上文描述的现有的基于RGB的帧选择自适应AR方法:帧选择模块404确定是否将处理单个图像403;如果是,则单图像预处理模块406对单个图像403进行预处理,所述单图像预处理模块406的输出提供给运动提取模块408以从单个图像403中提取相对于时间序列中的其它帧的时间信息。在已经提取运动信息之后,预处理的单个图像403由单图像模型410(例如CNN)处理以生成图像特征图412。图像特征图412由推理模块414用于执行推理任务。因此,在从压缩视频编码重建每个视频帧之后,必须从视频帧的RGB图像重建编码在视频中的任何时间(例如,运动)信息。
相比之下,图4B示出了自适应推理软件系统222的一般操作。帧间编码114由修改的视频解码器236解码以生成经解码的帧信息212,所述经解码的帧信息212包括每个解码帧的MV图216和残差图218。MV图216和/或残差图218表示可以由模态选择模块304考虑的时间信息,而无需从视频的RGB图像帧重建时间信息。基于模态选择模块304做出的决策,帧间帧214、MV图216和/或残差图218中的一个或多个由相应的模态特定处理模块230、232、234进一步处理,所述相应的模态特定处理模块230、232、234的一个或多个输出由推理模块226处理以执行推理任务。因此,时间信息由压缩视频100直接提供,而不需要从视频的重建的RGB图像重建时间信息。
图5示出了模态选择模块238生成决策信息512的操作的详细信息,所述决策信息512指示帧间编码的一个或多个模态中的哪些模态(如果有的话)待进一步处理。模态选择模块238接收从帧间编码114解码的时间信息(例如,MV图216和/或残差图218)的至少一部分。在一些实施例中,时间信息(即MV图216和残差图218)的完整集合和/或帧间帧214也可以由模态选择模块238接收和处理。特征提取模块502用于从帧间编码114的一个或多个模态(即MV图216和可选的残差图218和/或帧间帧214)中提取特征信息,以生成特征数据504。特征提取模块502可以是轻量级模型(例如,具有相对较少数量的可学习参数的CNN),用于从单个模态或模态组合中提取特征以从中提取特征。例如,特征提取模块502可以包括用于处理每个模态的单独子模型(例如CNN),或者可以包括处理由两个或两个以上模态的级联组成的输入张量的单个CNN。因此,特征提取模块502应用通过θi参数化的一组可微函数fii),其中,每个函数fi处理一个模态,或通过θ参数化的单个可微函数f(θ),以处理单个模态或两个或两个以上模态的级联。一个或多个模态的提取特征在特征数据504中表示,表示为每个模态i的特征图Fi
在使用特征提取模块502的单独子模型从一个以上模态提取特征信息的实施例中,特征数据504然后由特征融合模块506处理,以将模态的特征数据504融合成单个特征集。在一些实施例中,特征融合模块506可以执行相对简单的操作(例如级联操作),以融合来自每个模态的特征。在其它实施例中,特征融合模块506可以执行更复杂的融合操作,例如由另一个经过训练的子模型(例如CNN)实现的学习到的融合操作。
特征信息504(或者,如果使用融合模块506,则为融合模块506生成的融合的特征信息),表示为单个特征图F,由存储模块508处理。存储模块508可以是存储DL模块,例如具有长短期记忆(long short-termmemory,LSTM)的递归神经网络(recurrent neuralnetwork,RNN)或卷积LSTM。存储模块508还应用通过参数化的可微函数/>作为独立分量或由f(θ)或多个模态特定的fii)组成(即g(f))。在后一种情况下,g接收F作为输入。存储模块508生成特征向量G,所述特征向量将用于最终决策,即生成决策信息512。然后,可以在特征向量G上使用存储模块508的附加全连接层,以生成最终的特征向量V。
在一些实施例中,可以省略融合模块506,多个特征图Fi可以由存储模块508处理以生成多个特征图Gi。同样,每个模态可以使用多个存储模块508。然后,附加的全连接层可以用于多个输出特征Gi,以产生多个最终特征向量Vi
在一些实施例中,也可以使用跨模态注意力对Fi执行跨模态输入融合,或者可以对Fi使用简单的特征级联。
模态选择模块238处理最终特征向量Vi(或单个最终特征向量V)以使用N个Gumbel-Softmax操作510生成决策信息512。在一些实施例中,可以使用单个Gumbel-Softmax操作510;在其它实施例中,使用Gumbel-Softmax的集合或组合来支持为帧间编码114建模多个模态。在一些实施例中,可以使用强化学习来代替Gumbel-Softmax操作510。Gumbel-Softmax在(Jang、Eric等人所著的“使用Gumbel-Softmax进行分类重新参数化(Categorical Reparameterization with Gumbel-Softmax)”.ArXiv abs/1611.01144(2017年))中有所描述。
由模态选择模块238生成的决策信息512指示帧间编码的一个或多个模态中的哪些模态(如果有的话)待进一步处理(如下所述)。在一些实施例中,决策信息512是指示应保留帧间帧214(用于进一步处理,或包括在要进一步处理的帧子集中)还是跳过帧间帧214(即,从进一步处理中排除)的二进制指示符。在一些实施例中,决策信息512指示是跳过帧间帧214还是在进一步的处理步骤中包括帧间编码114的一个或多个模态。例如,在一些实施例中,决策信息512可以指示帧间编码114的0、1、2或3个模态的任何组合,以包括在进一步的处理步骤中。在其它实施例中,决策信息512可以仅指示这种可能组合的较小子集:例如,一些实施例可以从不将残差信息216包括在要包括在进一步处理中的可能组合中,并且其它实施例可以被配置成使得决策信息512可以仅指示几个预定组合,例如[跳过,RGB图像,RGB图像+MV图]。
通常,模态选择模块238的目的是选择帧间编码114的模态,这些模态被认为对由推理模块226执行的推理任务是显著的。在一些实施例中,可以使用决策模块224和推理模块226的端到端训练来学习此显著性。在其它实施例中,此显著性可以基于预定义的启发式算法来确定,例如下文参考图7、图8和图12描述的基于确定性运动的启发式算法。
在一些实施例中,决策信息512还可以指示附加信息,例如用于进一步处理所选模态的输入分辨率和/或模型容量。在其它实施例中,关于输入分辨率和/或模型容量的这些选择是离线做出的(例如,这些选择由在自适应推理软件系统222的范围之外确定的超参数设置决策)。
在一些实施例中,决策模块224可以包括用于将注意力聚焦在一个或多个所选模态(例如,RGB图像帧间帧214、MV图216或残差图218)的像素子集或空间区域上的空间注意力模块。下文参考图6描述空间注意力聚焦技术。
在一些实施例中,决策模块224包括内存块(未示出)以存储关于压缩视频100的先前解码和处理的帧间编码的信息,以协助生成后续帧间编码的决策信息512。决策模块224输出由方法900的后续步骤使用的决策信息512。
在905处,如果决策信息512指示当前帧间帧214将被跳过(即没有帧间编码114的模态将被包括在进一步处理中),则方法900进行到步骤906,否则方法900进行到步骤907。
在906处,推理模块226执行推理任务,针对所述推理任务训练推理模块。推理任务的执行独立于当前帧间编码114:即,它仅基于压缩视频100的其它帧编码中包括的信息。因此,如果决策模块224决策当前帧间帧214(以及包括在帧间编码114中或从帧间编码114推导的任何其它信息)显著性不足,无法包括在推理任务的执行中,则执行步骤906。
在910处,进一步处理由决策信息512指示的帧间编码114的一个或多个所选模态(例如,帧间帧214、MV图216和/或残差图218),以生成帧间特征信息。在一些实施例中,此进一步处理由分别对应于每个所选模态的单独模态特定处理模块执行,在图3A中示为RGB处理模块230、MV处理模块232和残差处理模块234。在一些实施例中,自适应推理软件系统222可以包括每个模态特定处理模块的多个版本,例如具有不同模型容量(例如相对轻量级或重量级的参数化)的版本。在一些实施例中,例如离线执行推理任务(即,不作为自适应推理软件系统222的一部分)的一些实施例中,可以离线做出关于模态特定处理模块的模型容量的决策。
图6示出了一组三个示例性模态特定处理模块230、232、234的操作的详细信息。RGB处理模块230接收帧间帧214作为输入。在本文讨论的示例中,假设帧间帧214是可以表示为大小为H×W×3的张量的3通道图像(即,红色、绿色和蓝色通道),其中,H和W是帧间帧214的像素高度和像素宽度。MV处理模块232接收MV图216作为输入。在本文讨论的示例中,假设MV图216是可以表示为大小为H×W×2的张量的2分量向量场(即水平(x)和垂直(y)向量分量)。残差处理模块234接收残差图218作为输入。在本文讨论的示例中,假设残差图218是运动补偿RGB残差的3通道图像(R、G、B通道),可以表示为大小为H×W×3的张量。在一些实施例中,用作MV处理模块232的输入的MV图不是从帧间编码114解码的MV图216,而是从两个样本之间的帧间编码的序列推导的累积运动图,如下文参考图7、图8和图12所述。
如果决策信息512指示将从进一步处理中排除给定模态214、216、218,则在方法900的步骤910期间不使用对应的模态特定处理模块230、232、234。但是,由决策信息512参与的每个模态特定处理模块230、232、234执行下文描述的操作。
图10示出了方法900的步骤910的示例性操作集合的详细信息,该示例性操作集合由模态特定处理模块230、232、234的示例性集合执行。将参考图6和图10描述模态特定处理模块230、232、234的操作。
在1001处,决策信息确定RGB处理模块230是否将用于处理帧间帧214。如果是,则方法进行到步骤1002;如果不是,则进行到步骤1005。
在1002处,RGB处理模块230使用RGB空间注意力模块306a处理帧间帧214,以将处理注意力导向帧间帧214的空间区域(例如,像素区域)。RGB注意力模块306a通常由少量(例如1或2个)卷积或残差神经网络层组成,用于从帧间帧214直接映射到RGB空间显著性信息602a,例如注意力图或感兴趣区域(region of interest,ROI)。在一些实施例中,RGB空间注意力模块306a可以将决策模块224之前生成的特征图Fi和/或Gi作为输入,代替或补充经解码的帧间帧214。
在一些实施例中,由RGB空间注意力模块306a生成的空间显著性信息602a是软空间显著性信息,例如指示每个像素位置处的权重值的注意力图(例如,尺寸Ha×Wa),当应用于相应模型234、232、234的一个或多个中间特征图(注意:图可以被下采样到对应的特征图的空间维度),所述注意力图用注意力权重加权每个特征图像素位置(在图的全部通道上),所述注意力权重指示每个像素或像素区域成比例影响推理任务的程度。在一些实施例中,由RGB空间注意力模块306a生成的RGB空间显著性信息602s是硬空间显著性信息,例如包括坐标集合的ROI,所述坐标集合指示将对帧间帧214执行,从而将帧间帧214的进一步处理限制到裁剪ROI的裁剪操作。裁剪操作可以是可微裁剪操作,支持此分量与其它分量进行端到端训练。帧间帧214的像素高度和像素宽度可以从H×W减小到包括在H×W内的更小的区域Hr×Wr,同时保持相同数量的通道。因此,裁剪操作可以有效地视为实现与二进制(即,硬)注意力图相同的结果,其中,给定的像素或像素区域被赋予权重1或0,尽管它可以使用裁剪操作实现。
在一些实施例中,RGB空间注意力信息602a(例如,ROI的注意力图或裁剪坐标)与帧间帧214组合,以生成正在处理的模态(硬注意力)的裁剪ROI。在其它实施例中,RGB空间显著性信息602a被合并到下文描述的CNN 604的建模中,以对模型特征图(软注意力)进行加权。应当理解,在使用ROI裁剪的实施例中,正在处理的后续图像或图的像素尺寸将更小,因此将相应地配置处理此数据的模块。
为每个经过处理的模态提供可微的主干模型(示为RGB CNN 604a、MV CNN 604B或残差CNN 604c),每个模型(一般为604)表示为通过αi参数化的mii)。每个模型mi 604在所示实施例中是CNN模型,但在一些实施例中可以是通用DNN模型或其它可微函数。在一些实施例中,移动高效CNN(即,能够在计算受限的边缘设备上有效部署的CNN,如移动设备)用于主干模型604:例如,不同宽度(1.0、0.75、0.5、0.25)的Mobilenet-V2(MBv2)CNN模型、不同容量的EfficientNet、GhostNet,或类似的移动高效模态。由于MV图216和残差图218的动态范围较低,特别地,针对这些模态的模态特定处理模块232、234可以支持使用非常低的容量和高效的网络(例如,MBv2 0.5或类似网络)以及低输入分辨率进行处理。
在1004处,RGB CNN 604a处理RGB空间注意力信息602a和帧间帧,以生成空间加权的帧间特征信息332,具体是RGB模式空间加权的帧间特征信息332a。
针对每个其它模态重复上述步骤(但应当理解,在一些实施例中,每个模态被并行地处理并且与每个其它模态独立地处理)。在1005处,决策信息确定MV处理模块232是否将用于处理MV图216。如果是,则方法进行到步骤1006;如果不是,则进行到步骤1009。在1006处,MV处理模块232使用MV空间注意力模块306b处理MV图216以生成空间显著性信息602b。在一些实施例中,将MV空间注意力信息602b与MV图216组合以生成空间加权的MV图,例如MV图216的裁剪ROI。在1008处,MV CNN 604b处理MV空间注意力信息602b和MV图以生成MV模式空间加权的帧间特征信息332b。
在1009处,决策信息确定残差处理模块234是否将用于处理残差图216。如果是,则方法进行到步骤1010;如果不是,则步骤910结束(并且方法900进行到步骤912)。在1010处,残差处理模块234使用残差空间注意力模块306c处理残差图218以生成空间显著性信息602c。在一些实施例中,将残差空间注意力信息602c与残差图218组合以生成空间加权的残差图,例如残差图218的裁剪ROI。在1012处,残差CNN 604c处理残差空间注意力信息602c和残差图以生成残差模式空间加权的帧间特征信息332c。
返回到图3A和图9,在步骤912处,推理模块226处理每个所选模态的帧间特征信息332a、332b和/或332c以执行推理任务。推理模型226通常在压缩视频100的多个帧上执行推理任务,使得推理模块226通过处理压缩视频100的多个帧编码(包括用于生成帧间特征信息332a、332b和/或332c的帧间编码114)来执行推理任务。因此,决策模块224的操作确定帧间编码114是否包括在由推理模块226处理的多个帧编码中,并且如果是,则在由推理模块226处理之前从帧间编码114的一个或多个所选模态中提取特征信息。
图11A示出了方法900的示例性步骤912的操作,如由图3A所示的推理模块226(在本实施例中为226A)实现的。推理模块226A包括三个模态特定的多类别或二进制分类器或其它推理模型,例如包括一个或多个全连接层的深度CNN。它们示为RGB推理模型310、MV推理模型312和残差推理模型314。在1102、1102处,相应的模态特定推理模型310、2312、314处理每个模态的模态特定特征信息,以生成每个模态的模态特定推理信息334a、334b、334c。模态特定推理信息334a、334b、334c包括足以完成推理任务的推理或预测信息,例如跨推理任务的类别的对数或归一化概率分布。在1004处,然后推理融合模块320融合所有经处理的模态的特定模态推理信息334a、334b、334c以生成推理信息330,例如跨推理任务的类别的单个对数或概率分布,以完成推理任务。在一些实施例中,推理融合模块320执行简单融合(例如求平均值);在其它实施例中,推理融合模块320执行更复杂的融合操作,例如乘法logprobs融合(即,乘以每个模态的概率的对数)。
图3B示出了图3A的自适应推理软件系统222A的替代架构222B,其操作如图11B所示。在替代架构222B中,推理模块226B的操作顺序与上文参考图3A和图11A描述的第一示例性推理模块226A的操作顺序相反。在1152处,特征融合模块350首先融合推理模块226B的输入332a、332b、332c。在1154处,单个融合推理模型352处理由此生成的融合特征信息356以生成推理信息330,从而完成推理任务。
应当理解,在非分类推理任务中,推理信息330可以采取其它形式,即来自生成模型(例如生成式对抗网络(generative adversarial network,GAN))的生成数据。此外,一些分类任务可能产生对多个对象进行分类的推理信息330,例如对帧间帧214中的每个像素进行分类的语义分割信息。上文描述的技术可以推广到涉及视频数据作为输入的任何推理任务。
图3A或图3B的自适应推理软件系统222的可微分量,例如决策模块224的CNN和其它机器学习模型、模态特定处理模块230、232、234和推理模块226,支持将各种模块一起训练为端到端可微模型。在一些实施例中,自适应推理软件系统222的分量经过端到端训练,使得它们的各个神经网络层或其它模型结构的可学习参数被联合优化以协同工作,从而在压缩视频数据的域中尽可能高效和准确地执行推理任务。可以使用多种标准机器学习训练技术中的任何一种技术来联合训练自适应推理软件系统222的子模型,例如监督式、无监督或半监督式学习技术。在监督式学习中可以使用损失函数,例如用于准确性分类损失的交叉熵损失(参见PyTorch的nn.CrossEntropyLoss函数)和用于效率损失的GFlops计数(即花费的处理器资源的每秒十亿次浮点运算)。在各种实施例中可以使用损失函数的其它合适组合:例如,如果使用一组二进制分类器,则可以使用二进制交叉熵损失而不是交叉熵(例如,参见PyTorch的nn.BCELoss.html函数)。
如上所述,自适应推理软件系统222的特定实施例可以仅允许处理模态的某些组合,并且可以相应地约束由决策模块224生成的决策信息512。因此,这种实施例还可以省略决策信息512下游的一个或多个模块,例如一个或多个模态特定处理模块230、232、234和/或模态特定推理模型310、312、314。在一些实施例中,仅RGB和MV模态(214、216)可以被包括在处理中,并且所选择的模态的数量总是1(而不是0或2),使得决策信息512被限制为仅包括可能的组合[RGB,MV]。在一些实施例中,仅RGB和MV模态(214、216)可以被包括在处理中,并且所选择的模态的数量总是1或0(而不是2),使得决策信息512被限制为仅包括可能的组合[RGB,MV,无/跳过]。在一些实施例中,仅RGB和MV模态(214、216)可以被包括在处理中,而没有进一步的约束,使得决策信息512被约束为仅包括可能的组合[RGB,MV,RGB+MV,无/跳过]。
本文描述的示例性实施例可以展现一个或多个优点,这些优点改进使用上文描述的自适应技术执行推理任务的设备(例如移动设备或其它边缘设备)的功能。通过使用压缩视频数据进行自适应推理,上文参考图3A至图3B、图5至图6和图9至图11B描述的示例性实施例可以通过利用已编码在压缩视频数据中的预先存在的运动信息和/或残差信息,并且通过使用2D卷积从单独帧、MV图和残差图中提取时间信息,提供用于执行单独压缩视频100的高效处理的高效模型集。MV图和残差图的低动态范围支持使用非常轻量级模型(即容量小的模型)进行建模,因此可以大量节省计算资源和功耗。因此,一些这种实施例可以优化在给定视频上执行推理任务的处理时间,这对于功率和计算受限的平台(例如边缘设备)可能特别重要。
此外,相对于现有方法,将压缩视频数据用于自适应AR或其它自适应推理任务可以减少内存使用。由于运动数据和残差数据相对于RGB数据的表示稀疏且紧凑,所描述的实施例所需的模型容量可能小于用于处理RGB数据的现有方法。
通过减少处理时间和/或内存使用,还可以降低功耗,从而延长执行处理的设备(例如移动设备)的电池寿命。
上文描述的示例适用于压缩视频100的在线处理,即,决策模块224、模态特定处理模块230、232、234和推理模块226对压缩视频100同时执行它们的操作。在一些实施例中,压缩视频100的GOP可以由决策模块224与模态特定处理模块230、232、234和推理模块226执行的进一步处理并行地解码和预处理。但是,在一些实施例中,在已经训练自适应推理软件系统222的模型之后,相对于进一步处理可以离线做出自适应决策。即,决策信息512可以由决策模块224生成和存储(例如,与经解码的帧信息212一起),并且可以在稍后的时间和/或在不同的设备上执行进一步处理。
现在参考图7、图8和图12描述其它示例。这些其它示例提供了简化的决策模块224,所述简化的决策模块224可以用于在线或离线预处理压缩视频数据以生成决策信息512和/或选择帧间帧的子集,以包括在由推理模块执行推理任务的进一步处理中,或者作为信息量更大帧的更大池来从中采样(具有一定的随机性),以执行模型训练和后续的推理。
图7示出了自适应推理软件模块222的简化版本222C,包括简化的决策模块702。简化的自适应推理软件模块222C旨在在线处理压缩视频100,如上文描述的示例。但是,与前面描述的示例不同的是,简化的决策模块702不是用推理模块端到端训练的。而是,简化的决策模块702使用基于确定性运动的启发式算法来执行其决策操作(即生成决策信息512),并且这些决策可以由预训练的推理模块708在线或离线使用,以执行推理任务。
决策模块702依赖于多个帧上的累积运动来确定给定RGB帧间帧的重要性(即对推理任务的显著性)。
参考图7和图8描述的示例的一个目标是在要处理的帧(例如,压缩视频100的帧编码)的集合中保留高信息量的RGB帧集合(例如,帧子集802),假设任何两个RGB帧之间存在高冗余,如果这两个RGB帧之间的估计运动可以忽略不计。
图8示出了用于离线预处理压缩视频100的简化的自适应推理软件模块222C的替代实施例222D。实施例222D的目标是对数据进行“软”预滤波并保留那些帧,这些帧一起形成信息量更大的帧集合。相对于图7的简化的自适应推理软件模块222C的区别在于:(1)代替选择帧间帧214用于预训练的推理模块708的立即、并发或并行(即,在线)处理,图8的替代实施例222D选择:(1)从压缩视频100解码并存储所选帧的较大帧池,以选择较小的子集进行采样(具有一定的随机性)用于稍后的模型训练,或(2)直接用于执行推理任务的帧子集。
图12是示出用于选择从压缩视频100解码的帧子集,用于进一步处理,以执行动作识别任务或训练模型来执行动作识别任务的示例性方法1200的步骤的流程图。参考图8的替代简化的自适应推理软件模块222D描述方法1200。但是,应当理解,图7的简化的自适应推理软件模块222C可以执行基本上相同的方法1200,其中,每个所选帧由预训练的推理模型708与简化的决策模块702执行选择方法1200并行处理。
在1202处,替代简化的自适应推理软件模块222D获取表示帧时间序列的压缩视频100的多个帧间编码。在图8的所示示例中,多个帧间编码包括:在(t=1)处的第一帧间编码710,表示在帧时间序列的开始处的第一帧间帧;在(t=n+1)处的第二帧间编码718,表示在帧时间序列的结束处的第二帧间帧;以及在(t=2)至(t=n)处的多个中间帧间编码714到716,每个中间帧间编码表示在帧时间序列中的第一帧间帧与第二帧间帧之间的帧间帧。如在上文描述的其它示例中,例如图3A中的示例,每个中间帧间编码714至716包括相应中间帧间帧相对于帧时间序列中的相应参考帧的运动信息。
在1204处,决策模块702处理多个中间帧间编码714至716的运动信息,以生成表示第一帧间帧710与第二帧间帧712之间的运动的累积运动信息730。在所示示例中,通过如下方式执行此处理:首先,对于多个中间帧间编码714至716中的每个帧编码,使用决策模块702的修改的视频解码器703处理相应帧间编码的运动信息,以生成运动向量场,示为MV图724(对于在t=2处的第一中间帧)至MV图726(对于在t=n处的第n–1中间帧)。在一些实施例中,第二帧间编码712(在t=n+1处)的MV图216也由修改的视频解码器703解码。运动向量场(MV图724至726,以及可选的MV图216)由运动累积模块704处理以生成累积运动向量场。累积运动向量场可以例如通过具有坐标重采样的向量场合成来生成,从t=n+1(在像素位置(x,y)处)开始向后直到t=2,将每个单独像素位置(x,y)的路径上的每个相关重采样坐标处的所有收集的运动向量求和:t=n+1至2,步长为–1,/>是直到时间t–1的相应运动向量的和,此过程产生单个MV图,其中,每个像素位置的向量对应于该像素在t=1处的第一帧间帧与在t=n+1处的第二帧间帧的总移动。然后,运动累积模块704处理累积运动向量场的向量以生成累积运动向量场的最大绝对幅值。例如,最长向量的长度可以被选择为表示累积运动向量场的最大绝对幅值,表示在t=1处的第一帧间帧与在t=n+1处的第二帧间帧之间移动最远的像素。在运动累积和随后的决策(通过评估最大运动向量幅值)之前,运动向量可以首先被缩减到低得多的空间分辨率。这可以用于:(1)适应天生较低的运动向量场分辨率(与原始视频分辨率相比),和/或(2)减少处理时间。
在1205处,帧选择模块706比较表示为max|DMVt|的累积运动信息730(即累积运动向量场)的最大绝对幅值与表示为MVthr的运动阈值,以生成决策信息512(未示出)。如果max|DMVt|>MVthr,则决策信息512导致方法1200进行到步骤1208;否则,决策信息512导致方法1200进行到步骤1206。
在1206处,响应于决策信息512指示累积运动信息730下降到运动阈值以下,帧选择模块706从选择用于进一步处理的帧子集802中排除第二帧间帧214。通过从进一步处理中排除第二帧间帧214,决策模块702不需要在推理任务的执行期间(例如,图7的预训练推理模块708的进一步处理)进一步处理帧间帧214(以及潜在地还有其对应的MV图216和/或残差图)。低运动通过检查运动,冗余的RGB帧间帧因此可以从计算密集型处理操作中排除,从而导致如上所述的计算资源使用减少。在步骤1206之后,方法1200进行到步骤1210。
在1208处,响应于决策信息512指示累积运动信息730高于运动阈值,帧选择模块706将第二帧间帧214包括在帧子集802中,用于进一步处理以执行动作识别任务。在步骤1208之后,方法1200进行到步骤1210。
在1210处,将帧子集802(如果在步骤1208中包括在子集802中,则包括帧间帧214)存储在存储器208中用于后续处理(例如,如实施例222D中用于训练,或如实施例222C中用于如图7所示由预训练的推理模块708推理)。在一些实施例中,处理帧子集802以训练模型包括对子集802的较小帧子集进行采样,并使用较小采样帧子集来训练模型。通常,在对压缩视频100的帧的几个相应的时间序列的步骤1202至1208的几次迭代之后执行步骤1210。在一些实施例中,还可以存储从第二帧间编码712解码的其它信息(例如,MV图216和/或残差图),和/或可以通过在步骤1210处识别存储在存储器208中的信息来识别第二帧间编码712以用于稍后的解码和处理。
如上所述,图7的简化的自适应推理软件模块222C可以执行方法1200的步骤1202至1208,但是步骤1210可以由预训练的推理模块708对所选帧间帧(例如,第二帧间帧214)的处理代替,或者与所选帧间帧(例如,第二帧间帧214)的处理同时进行。在各种实施例中,可以在预训练的推理模块708中使用任何合适的预训练的推理模型,以将帧子集802(一次一个或一批输入数据)以及可选的与帧子集802一起存储的任何其它信息(例如MV图数据)用作输入来执行推理任务。例如,预训练的推理模块708可以包括RGB处理模块230和推理模块226,其中,推理模块226用于接收和处理RGB模式空间加权的帧间特征信息332a。在其它实施例中,预训练的推理模块708还可以包括MV处理模块232和/或残差处理模块234和推理模块226,其中,推理模块226用于接收和处理MV模式和/或残差模式空间加权的帧间特征信息332b和/或332c。
可以对压缩视频100的不同帧时间序列多次执行方法1200。在一些实施例中,使用预定的采样周期来选择帧时间序列:例如,压缩视频100可以每n帧采样,使得紧接在t=1处的第一帧间编码710之前的帧编码是第一样本,而t=n+1处的第二帧间编码712是第二样本。在步骤1205处决策将第二帧间帧214包括在进一步处理中或从进一步处理中排除之后,可以在(t=2n)处处理第三样本,依此类推。然后,将在步骤1205处满足运动阈值的这种样本的子集包括在子集802中,以便在它们被单独选择时在线处理(如图7中所示)或离线处理(如图8中所示)。
在其它实施例中,帧时间序列是根据在每个点处累积运动的幅值动态选择的。例如,第一帧间编码710可以自动包括在子集802中。然后,使用压缩视频100的每个后续帧编码的运动信息来更新累积运动信息730的计算,直到第二帧编码712不满足运动阈值(即,方法1220通过进行到步骤1206将此第二帧间帧214从进一步处理中排除)。然后,将帧包括在子集802中,并且将累积运动重置为零。重复此过程,直到检查最后一个视频帧。
在一些实施例中,上文描述的固定采样周期方法可用于在线处理(如图7所示)。在一些实施例中,动态采样可用于离线处理(如图8中所示)。
方法和处理器可读介质
本文描述的流程图和附图中的步骤和/或操作仅用于示例目的。在不脱离本发明指导的情况下,这些步骤和/或操作可以有许多变化。例如,可以按照不同的顺序执行所述步骤,或者可以添加、删除或修改所述步骤。
在考虑本发明的情况下,用于实施上文描述方法的软件的编码在本领域普通技术人员的范围内。可由一个或多个相应设备的一个或多个处理器执行以执行上文描述方法的机器可读代码可以存储在如数据管理器的存储器等机器可读介质中。术语“软件”和“固件”在本发明中是可互换的,并包括存储在存储器中供处理器执行的任何计算机程序,所述存储器包括随机存取存储器(random access memory,RAM)存储器、只读存储器(read onlymemory,ROM)存储器、EPROM存储器、电EPROM(electrically EPROM,EEPROM)存储器和非易失性RAM(non-volatile RAM,NVRAM)存储器。以上存储器类型仅为示例,因此不限于可用于存储计算机程序的存储器类型。
综述
还公开了公开范围内的所有值和子范围。此外,尽管本文中公开和示出的系统、设备和过程可以包括特定的多个元件,但是所述系统、设备和组件可以进行修改以包括更多或更少的此类元件。虽然本文描述了几个示例性实施例,但可以进行修改、适配和采取其它实现方式。例如,可以对附图中所示的元素进行替换、添加或修改,并且可以通过对所公开的方法进行替换、重新排序或添加步骤来修改本文中描述的示例性方法。此外,阐述了许多具体细节,以提供对本文中描述的示例性实施例的透彻理解。但是,本领域普通技术人员应当理解,本文中描述的示例性实施例可以在没有这些具体细节的情况下实施。此外,没有详细描述众所周知的方法、流程和元素,以免对本文中描述的示例性实施例造成模糊。本文描述的主题旨在覆盖和涵盖所有适当的技术变更。
尽管描述了本发明,但至少部分地,就方法而言,本领域普通技术人员应理解,本发明还涉及各种元件,用于通过硬件、软件或其组合执行所描述方法的至少一些方面和特征。因此,本发明的技术方案可以体现在非易失性或非瞬时性机器可读介质(例如,光盘、闪存等)中,其上存储有可执行指令,所述可执行指令有形地存储在其上,使处理设备能够执行本文中公开的方法示例。
术语“处理器”可以包括任何可编程系统,包括使用以下各项的系统:微处理器/控制器或纳米处理器/控制器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、精简指令集电路(reduced instruction set circuit,RISC)、逻辑电路,以及能够执行本文描述的功能的任何其它电路或处理器。上述示例仅仅是示例,因此并不意欲以任何方式限制术语“处理器”或“数据库”的定义和/或含义。
在不脱离权利要求书的主题的前提下,本发明可以通过其它特定形式实施。所描述的示例性实施例在所有方面均被视为仅是说明性的而非限制性的。本发明旨在覆盖和涵盖所有适当的技术变更。因此,本发明的范围通过所附的权利要求书而不是通过以上描述进行说明。权利要求的范围不应受到示例中阐述的实施例的限制,而应给予与整个描述一致的最广泛的解释。

Claims (20)

1.一种用于处理压缩视频以执行推理任务的方法,其特征在于,所述方法包括:
获取所述压缩视频的帧间编码,所述帧间编码表示帧时间序列中的帧间帧,所述帧间编码包括:
所述帧间帧相对于所述帧时间序列中的参考帧的时间信息;
处理所述时间信息的至少一部分以生成决策信息,所述决策信息指示所述帧间编码的一个或多个模态中的哪些模态,如果有的话,待处理以执行所述推理任务。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于确定所述决策信息指示没有所述帧间帧的模态待处理:
基于压缩视频数据的多个帧编码来处理视频帧模态数据以执行所述推理任务,
其中,所述帧间编码被从所述处理中排除。
3.根据权利要求1所述的方法,其特征在于,还包括:
响应于确定所述决策信息指示所述帧间帧的至少一个模态待处理:
基于压缩视频数据的多个帧编码来处理视频帧模态数据以执行所述推理任务,
其中,所述帧间编码的所述至少一个模态包括在所述处理中。
4.根据权利要求3所述的方法,其特征在于:
所述时间信息包括:
所述帧间帧相对于所述参考帧的运动信息;
所述帧间帧相对于运动调整参考帧的残差信息;
所述帧间编码的所述至少一个模态包括以下中的一种或全部:
所述运动信息;
所述残差信息。
5.根据权利要求4所述的方法,其特征在于:
还包括:
对所述帧间编码进行解码以生成所述帧间帧;
其中,
所述帧间编码的所述至少一个模态是以下中的一种或多种:
所述运动信息;
所述残差信息;
所述帧间帧。
6.根据权利要求5所述的方法,其特征在于:
处理所述时间信息的所述至少一部分以生成所述决策信息包括:处理所述运动信息和所述残差信息以生成所述决策信息。
7.根据权利要求6所述的方法,其特征在于:
还包括提供端到端训练模型,所述端到端训练模型包括:
决策模块;
推理模块;
其中,
对所述运动信息和所述残差信息进行处理以生成所述决策信息的步骤由所述决策模块执行;
对所述视频帧模态数据进行处理以执行所述推理任务的步骤包括:
对所述帧间编码的所述至少一个模态进行处理以生成帧间特征信息;
使用所述推理模块对所述帧间特征信息进行处理,以执行所述推理任务。
8.根据权利要求7所述的方法,其特征在于:
所述端到端训练模型还包括一个或多个模态特定处理模块;
对所述帧间编码的所述至少一个模态进行处理以生成帧间特征信息包括:
对于所述至少一个模态中的每个相应模态,使用相应的模态特定处理模块处理所述帧间帧的所述相应模态。
9.根据权利要求8所述的方法,其特征在于:
所述帧间特征信息包括空间加权的帧间特征信息;
对于所述至少一个模态中的每个相应模态,使用相应的模态特定处理模块处理所述帧间帧的所述相应模态包括:
基于所述相应模态生成空间显著性信息;
处理所述相应模态和所述空间显著性信息以生成所述空间加权的帧间特征信息。
10.根据权利要求7所述的方法,其特征在于:
所述帧间特征信息包括所述至少一个模态中的每个相应模态的相应的模态特定帧间特征信息;
使用所述推理模块对所述帧间特征信息进行处理,以执行所述推理任务包括:
将所述至少一个模态中所有模态的所述模态特定帧间特征信息进行融合,以生成融合的帧间特征信息;
对所述融合的帧间特征信息进行处理,以执行所述推理任务。
11.根据权利要求7所述的方法,其特征在于:
所述帧间特征信息包括所述至少一个模态中的每个相应模态的相应的模态特定帧间特征信息;
使用所述推理模块对所述帧间特征信息进行处理,以执行所述推理任务包括:
对于所述至少一个模态中的每个相应模态的每个相应的模态特定帧间特征信息,处理所述相应的模态特定帧间特征信息以生成相应的模态特定推理信息;
将所述至少一个模态中所有模态的所述模态特定推理信息进行融合以执行所述推理任务。
12.一种方法,其特征在于,用于选择从压缩视频解码的帧子集,用于进一步处理,以执行动作识别任务或训练模型来执行所述动作识别任务,所述方法包括:
获取所述压缩视频的多个帧间编码,所述多个帧间编码表示帧时间序列,
所述多个帧间编码包括:
第一帧间编码,表示在所述帧时间序列的开始处的第一帧间帧;
第二帧间编码,表示在所述帧时间序列的结束处的第二帧间帧;
多个中间帧间编码,每个中间帧间编码表示所述帧时间序列中的所述第一帧间帧与所述第二帧间帧之间的帧间帧;每个中间帧间编码包括:
相应的中间帧间帧相对于所述帧时间序列中相应的参考帧的运动信息;
处理所述多个中间帧间编码的所述运动信息,以生成累积运动信息,所述累积运动信息表示所述第一帧间帧与所述第二帧间帧之间的运动;
处理所述累积运动信息以生成决策信息,所述决策信息指示所述第二帧间帧是否应包括在所述帧子集中;
基于所述决策信息选择所述帧子集。
13.根据权利要求12所述的方法,其特征在于:
处理所述多个中间帧间编码的所述运动信息以生成累积运动信息包括:
对于所述多个中间帧间编码中的每个帧编码,处理所述运动信息以生成运动向量场;
对所述多个中间帧间编码中的所有帧编码的所述运动向量场进行处理,以生成累积运动向量场;
对所述累积运动向量场进行处理,以生成所述累积运动向量场的最大绝对幅值;
处理所述累积运动信息以生成决策信息包括:
将所述累积运动向量场的所述最大绝对幅值与运动阈值进行比较,以确定所述第二帧间帧是否应包括在所述帧子集中。
14.根据权利要求13所述的方法,其特征在于,还包括,在选择所述帧子集之后:
存储所述帧子集以用于后续处理:
通过经过训练的推理模型执行所述动作识别任务;或,
训练推理模型以执行所述动作识别任务。
15.一种设备,其特征在于,包括:
处理器;
存储器,存储指令,所述指令当由所述处理器执行时,使所述设备通过以下操作处理压缩视频以执行推理任务:
获取所述压缩视频的帧间编码,所述帧间编码表示帧时间序列中的帧间帧,所述帧间编码包括:
所述帧间帧相对于所述帧时间序列中的参考帧的时间信息;
处理所述时间信息的至少一部分以生成决策信息,所述决策信息指示所述帧间编码的一个或多个模态中的哪些模态,如果有的话,待处理以执行所述推理任务。
16.根据权利要求15所述的设备,其特征在于:
所述指令当由所述处理器执行时,还使所述设备执行以下操作:
如果所述决策信息指示没有所述帧间帧的模态待处理,则:
基于压缩视频数据的多个帧编码来处理视频帧模态数据以执行所述推理任务,
其中,所述帧间编码被从所述处理中排除;
如果所述决策信息指示所述帧间帧的至少一个模态待处理,则:
基于压缩视频数据的多个帧编码来处理视频帧模态数据以执行所述推理任务,
其中,所述帧间编码的所述至少一个模态包括在所述处理中。
17.根据权利要求16所述的设备,其特征在于:
还包括:
对所述帧间编码进行解码以生成所述帧间帧;
其中,
所述时间信息还包括:
所述帧间帧相对于所述参考帧的运动信息;
所述帧间帧相对于运动调整参考帧的残差信息;
所述帧间编码的所述至少一个模态是以下中的一种或多种:
所述运动信息;
所述残差信息;
所述帧间帧。
18.根据权利要求17所述的设备,其特征在于:
处理所述运动信息以生成所述决策信息包括:处理所述运动信息和所述残差信息以生成所述决策信息。
19.一种非瞬时性处理器可读介质,其特征在于,其上有形地存储有指令,所述指令当由设备的处理器执行时,使所述设备执行根据权利要求1所述的方法。
20.一种非瞬时性处理器可读介质,其特征在于,其上有形地存储有指令,所述指令当由设备的处理器执行时,使所述设备执行根据权利要求12所述的方法。
CN202280062857.9A 2021-11-30 2022-11-29 用于压缩视频域中自适应推理的方法、设备和介质 Pending CN118077177A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/538,516 2021-11-30
US17/538,516 US12062252B2 (en) 2021-11-30 2021-11-30 Method, device, and medium for adaptive inference in compressed video domain
PCT/CN2022/134846 WO2023098636A1 (en) 2021-11-30 2022-11-29 Method, device, and medium for adaptive inference in compressed video domain

Publications (1)

Publication Number Publication Date
CN118077177A true CN118077177A (zh) 2024-05-24

Family

ID=86500517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280062857.9A Pending CN118077177A (zh) 2021-11-30 2022-11-29 用于压缩视频域中自适应推理的方法、设备和介质

Country Status (3)

Country Link
US (1) US12062252B2 (zh)
CN (1) CN118077177A (zh)
WO (1) WO2023098636A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117649701A (zh) * 2024-01-29 2024-03-05 江西科技学院 一种基于多尺度注意力机制的人体行为识别方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807231B1 (en) * 1997-09-12 2004-10-19 8×8, Inc. Multi-hypothesis motion-compensated video image predictor
US7110458B2 (en) * 2001-04-27 2006-09-19 Mitsubishi Electric Research Laboratories, Inc. Method for summarizing a video using motion descriptors
JP2009027446A (ja) * 2007-07-19 2009-02-05 Olympus Corp 画像処理方法および画像処理装置
US8559511B2 (en) * 2010-03-30 2013-10-15 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for video coding by ABT-based just noticeable difference model
CN101848394B (zh) * 2010-05-25 2012-01-18 宁波中科集成电路设计中心有限公司 一种无线视频传感器的avs编码功耗模型优化方法
CN103533349A (zh) * 2013-09-26 2014-01-22 广东电网公司电力科学研究院 基于支持向量机的b帧快速帧间预测宏块模式选择方法
US10542277B2 (en) * 2017-10-24 2020-01-21 Arm Limited Video encoding
CN110691253B (zh) * 2019-10-17 2022-03-01 北京大学深圳研究生院 一种基于帧间预测的编解码方法及装置
US20210151034A1 (en) * 2019-11-14 2021-05-20 Comcast Cable Communications, Llc Methods and systems for multimodal content analytics
US11270124B1 (en) * 2020-11-16 2022-03-08 Branded Entertainment Network, Inc. Temporal bottleneck attention architecture for video action recognition
US11494881B2 (en) * 2020-12-29 2022-11-08 Hb Innovations, Inc. Global movement image stabilization systems and methods
US11829443B2 (en) * 2021-03-29 2023-11-28 International Business Machines Corporation Augmentation of video datasets for machine learning training
CN113516133B (zh) * 2021-04-01 2022-06-17 中南大学 一种多模态图像分类方法及系统

Also Published As

Publication number Publication date
US12062252B2 (en) 2024-08-13
WO2023098636A1 (en) 2023-06-08
US20230169794A1 (en) 2023-06-01

Similar Documents

Publication Publication Date Title
US11176381B2 (en) Video object segmentation by reference-guided mask propagation
EP3821373B1 (en) Video processing
EP3934254A1 (en) Encoding and decoding of extracted features for use with machines
US20230164336A1 (en) Training a Data Coding System Comprising a Feature Extractor Neural Network
CN115082845A (zh) 一种基于深度强化学习的监控视频目标检测任务调度方法
US20230062752A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding
Akan et al. Slamp: Stochastic latent appearance and motion prediction
US20210150287A1 (en) Apparatus and method of using ai metadata related to image quality
KR102093577B1 (ko) 학습네트워크를 이용한 예측 영상 생성 방법 및 예측 영상 생성 장치
US8487929B2 (en) Resolution enhancement of video stream based on spatial and temporal correlation
Xia et al. An emerging coding paradigm VCM: A scalable coding approach beyond feature and signal
WO2021205066A1 (en) Training a data coding system for use with machines
CN118077177A (zh) 用于压缩视频域中自适应推理的方法、设备和介质
KR20200057844A (ko) 학습네트워크 기반의 비디오 보간 방법 및 비디오 보외 방법
US20240171769A1 (en) Parameter map for machine-learned video compression
CN114494433A (zh) 图像处理方法、装置、设备和计算机可读存储介质
WO2023020513A1 (en) Method, device, and medium for generating super-resolution video
JP6626319B2 (ja) 符号化装置、撮像装置、符号化方法、及びプログラム
Banerjee et al. A joint intensity-neuromorphic event imaging system with bandwidth-limited communication channel
CN117676162A (zh) 用于视频处理的装置和方法
Chang et al. ASTM: An attention based spatiotemporal model for video prediction using 3D convolutional neural networks
CN113902000A (zh) 模型训练、合成帧生成、视频识别方法和装置以及介质
Banerjee et al. A Joint Intensity-Neuromorphic Event Imaging System for Resource Constrained Devices
US12003728B2 (en) Methods and systems for temporal resampling for multi-task machine vision
Le Still image coding for machines: an end-to-end learned approach

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