CN117223035A - 用于改进的视频处理时间一致性的高效测试时间适配 - Google Patents
用于改进的视频处理时间一致性的高效测试时间适配 Download PDFInfo
- Publication number
- CN117223035A CN117223035A CN202280019046.0A CN202280019046A CN117223035A CN 117223035 A CN117223035 A CN 117223035A CN 202280019046 A CN202280019046 A CN 202280019046A CN 117223035 A CN117223035 A CN 117223035A
- Authority
- CN
- China
- Prior art keywords
- neural network
- artificial neural
- video
- frame
- tag
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 123
- 230000006978 adaptation Effects 0.000 title description 5
- 238000012360 testing method Methods 0.000 title description 5
- 238000013528 artificial neural network Methods 0.000 claims abstract description 243
- 238000000034 method Methods 0.000 claims abstract description 87
- 230000002123 temporal effect Effects 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims description 34
- 210000002569 neuron Anatomy 0.000 description 28
- 230000011218 segmentation Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000013527 convolutional neural network Methods 0.000 description 12
- 238000013473 artificial intelligence Methods 0.000 description 10
- 238000013135 deep learning Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000011478 gradient descent method Methods 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 230000023886 lateral inhibition Effects 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002087 whitening effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Television Systems (AREA)
Abstract
一种用于处理视频的方法,包括:在人工神经网络(ANN)的第一层处接收视频作为输入。该视频的第一帧被处理以生成第一标签。此后,该人工神经网络基于第一标签来更新。该更新是在并发处理视频的第二帧时被执行的。这样做,减少了各标签之间的时间不一致性。
Description
相关申请的交叉引用
本申请要求于2021年3月10日提交的题为“EFFICIENT TEST-TIME ADAPTATIONFOR IMPROVED TEMPORAL CONSISTENCY IN VIDEO PROCESSING(用于改进的视频处理时间一致性的高效测试时间适配)”的美国专利申请No.17/198,147的优先权,其公开内容通过援引全部明确纳入于此。
背景技术
领域
本公开的各方面一般涉及神经网络,并且更具体地涉及视频处理。
背景
人工神经网络可包括诸群互连的人工神经元(例如,神经元模型)。人工神经网络可以是计算设备,或者被表示为要由计算设备执行的方法。
神经网络包括消耗张量和产生张量的操作数。神经网络可以被用来解决复杂问题;然而,由于网络大小和可被执行以产生解决方案的运算量可能是浩繁的,因此网络完成任务的时间可能很长。此外,由于这些任务可在移动设备(其可能具有有限的计算能力)上执行,因此深度神经网络的计算成本可能会有问题。
卷积神经网络是一种前馈人工神经网络。卷积神经网络可包括神经元集合,其中每个神经元具有感受野并且共同地拼出一输入空间。卷积神经网络(CNN)(诸如深度卷积神经网络(DCN))具有众多应用。具体而言,这些神经网络架构被用于各种技术,诸如图像识别、模式识别、语音识别、自动驾驶、视频流中的对象分割、视频处理和其他分类任务。
现代基于深度学习的视频处理方法或模型可能会随时间生成不一致的输出。在一些情形中,可以以显示器闪烁或其他未对齐的形式观察到不一致性。时间上不一致的输出(例如,闪烁)可能会降级用户的体验和享受、以及系统稳定性和性能。
概述
在本公开的一方面,提供了一种用于处理视频的方法。该方法包括在人工神经网络(ANN)的第一层处接收视频作为输入。该方法还包括处理视频的第一帧以生成第一标签。附加地,该方法包括基于第一标签来更新人工神经网络。人工神经网络的更新是在并发处理视频的第二帧时被执行的。
在本公开的另一方面,提供了一种用于处理视频的装置。该装置包括存储器以及耦合到该存储器的一个或多个处理器。(诸)处理器被配置成在人工神经网络(ANN)的第一层处接收视频作为输入。(诸)处理器还被配置成处理视频的第一帧以生成第一标签。此外,(诸)处理器被配置成基于第一标签来更新人工神经网络。人工神经网络的更新是在并发处理视频的第二帧时被执行的。
在本公开的一方面,提供了一种用于处理视频的设备。该设备包括用于在人工神经网络(ANN)的第一层处接收视频作为输入的装置。该设备还包括用于处理视频的第一帧以生成第一标签的装置。另外,该设备包括用于基于第一标签来更新人工神经网络的装置。人工神经网络的更新是在并发处理视频的第二帧时被执行的。
在本公开的进一步方面,提供了一种非瞬态计算机可读介质。该计算机可读介质上编码有用于处理视频的程序代码。该程序代码由处理器执行并且包括用于在人工神经网络的第一层处接收视频作为输入的代码。该程序代码还包括用于处理视频的第一帧以生成第一标签的代码。此外,该程序代码包括用于基于第一标签来更新人工神经网络的代码。人工神经网络的更新是在并发处理视频的第二帧时被执行的。
在本公开的一方面,提供了一种用于处理视频的方法。该方法包括在第一人工神经网络和第二人工神经网络的第一层处接收视频作为输入。第一人工神经网络比第二人工神经网络具有更少的通道。该方法还包括经由第一人工神经网络处理视频的第一帧以生成第一标签。第一人工神经网络向第二人工神经网络提供从视频的第一帧提取的中间特征。附加地,该方法包括经由第二人工神经网络处理视频的第一帧,以基于中间特征和第一帧生成第二标签。此外,该方法包括在第二人工神经网络并发处理视频的第二帧时基于第一标签来更新第一人工神经网络。
在本公开的一方面,提供了一种用于处理视频的装置。该装置包括存储器以及耦合到该存储器的一个或多个处理器。(诸)处理器被配置成在第一人工神经网络和第二人工神经网络的第一层处接收视频作为输入。第一人工神经网络比第二人工神经网络具有更少的通道。(诸)处理器还被配置成经由第一人工神经网络处理视频的第一帧以生成第一标签。第一人工神经网络向第二人工神经网络提供从视频的第一帧提取的中间特征。另外,(诸)处理器被配置成经由第二人工神经网络处理视频的第一帧,以基于中间特征和第一帧生成第二标签。此外,(诸)处理器被配置成在第二人工神经网络并发处理视频的第二帧时基于第一标签来更新第一人工神经网络。
在本公开的一方面,提供了一种用于处理视频的设备。该设备包括用于在第一人工神经网络和第二人工神经网络的第一层处接收视频作为输入的装置。第一人工神经网络比第二人工神经网络具有更少的通道。该设备还包括用于经由第一人工神经网络处理视频的第一帧以生成第一标签的装置。第一人工神经网络向第二人工神经网络提供从视频的第一帧提取的中间特征。附加地,该设备包括用于经由第二人工神经网络处理视频的第一帧以基于中间特征和第一帧生成第二标签的装置。此外,该设备包括用于在第二人工神经网络并发处理视频的第二帧时基于第一标签来更新第一人工神经网络的装置。
在本公开的一方面,提供了一种非瞬态计算机可读介质。该计算机可读介质上编码有用于处理视频的程序代码。该程序代码由处理器执行并且包括用于在第一人工神经网络和第二人工神经网络的第一层处接收视频作为输入的代码。第一人工神经网络比第二人工神经网络具有更少的通道。该程序代码还包括用于经由第一人工神经网络处理视频的第一帧以生成第一标签的代码。第一人工神经网络向第二人工神经网络提供从视频的第一帧提取的中间特征。附加地,该程序代码包括用于经由第二人工神经网络处理视频的第一帧以基于中间特征和第一帧生成第二标签的代码。此外,该程序代码包括用于在第二人工神经网络并发处理视频的第二帧时基于第一标签来更新第一人工神经网络的代码。
本公开的附加特征和优点将在下文描述。本领域技术人员应当领会,本公开可容易地被用作修改或设计用于实施与本公开相同的目的的其他结构的基础。本领域技术人员还应认识到,这样的等效构造并不脱离所附权利要求中所阐述的本公开的教导。被认为是本公开的特性的新颖特征在其组织和操作方法两方面连同进一步的目的和优点在结合附图来考虑以下描述时将被更好地理解。然而,要清楚理解的是,提供每一幅附图均仅用于解说和描述目的,且无意作为对本公开的限定的定义。
附图简述
在结合附图理解下面阐述的详细描述时,本公开的特征、本质和优点将变得更加明显,在附图中,相同附图标记始终作相应标识。
图1解说了根据本公开的某些方面的使用片上系统(SoC)(包括通用处理器)的神经网络的示例实现。
图2A、2B和2C是解说根据本公开的各方面的神经网络的示图。
图2D是解说根据本公开的各方面的示例性深度卷积网络(DCN)的示图。
图3是解说根据本公开的各方面的示例性深度卷积网络(DCN)的框图。
图4是解说可使人工智能(AI)功能模块化的示例性软件架构的框图。
图5是解说根据本公开的各方面的用于处理视频的示例架构的框图。
图6是解说根据本公开的各方面的用于处理视频的示例架构的框图。
图7是解说根据本公开的各方面的用于处理视频的示例架构的框图。
图8是解说根据本公开的各方面的用于处理视频的示例架构的更详细的示图。
图9和10是解说根据本公开的各方面的用于处理视频的方法的流程图。
详细描述
以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践所描述的概念的仅有配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。
基于本教导,本领域技术人员应领会,本公开的范围旨在覆盖本公开的任何方面,不论其是与本公开的任何其他方面相独立地还是组合地实现的。例如,可使用所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为所阐述的本公开的各个方面的补充或者与之不同的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。
措辞“示例性”用于意指“用作示例、实例、或解说”。描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
尽管描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之内。虽然提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协议,其中一些作为示例在附图以及以下对优选方面的描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。
神经网络可以被用来解决复杂问题;然而,由于网络大小和可被执行以产生解决方案的运算量可能是浩繁的,因此网络完成任务的时间可能很长。此外,由于这些任务可在移动设备(其可能具有有限的计算能力)上执行,因此深度神经网络的计算成本可能会有问题。
常规基于深度学习的视频处理方法或模型可能会随时间产生不一致的输出。在一些情形中,可以以显示器闪烁或其他未对齐的形式观察到不一致性。时间上不一致的输出(例如,闪烁)可能会降级用户的体验和享受、以及系统稳定性。
时间不一致的输出(例如,预测)的一个原因是,例如,当输出约为0.5时,神经网络可能提供不确定的预测。在此类情形中,神经网络可以以任意方式产生预测。相应地,对于视频流中的一些帧(在更精确分割的帧之间),分割精度可能显著下降。如此,由神经网络处理的外观相似的图像区域可能导致不同的预测。此外,分割精度的降低可能会对性能产生负面影响。
为了解决这个问题,本公开的各方面涉及分割模型的在线(例如,在测试时间时)适配。用于处理视频的分割网络可以在处理该视频时被更新。在一些方面,辅助网络可以与分割网络结合,以在分割网络继续处理视频时进行网络更新。
图1解说了片上系统(SOC)100的示例实现,其可包括被配置成用于使用人工神经网络(例如,神经端到端网络)进行视频处理的中央处理单元(CPU)102或多核CPU。变量(例如,神经信号和突触权重)、与计算设备(例如,带有权重的神经网络)相关联的系统参数、延迟、频率槽信息、以及任务信息可被存储在与神经处理单元(NPU)108相关联的存储器块、与CPU 102相关联的存储器块、与图形处理单元(GPU)104相关联的存储器块、与数字信号处理器(DSP)106相关联的存储器块、存储器块118中,或可跨多个块分布。在CPU 102处执行的指令可从与CPU 102相关联的程序存储器加载或者可从存储器块118加载。
SoC 100还可包括为具体功能定制的附加处理块,诸如GPU 104、DSP 106、连通性块110(其可包括第五代(5G)连通性、第四代长期演进(4G LTE)连通性、Wi-Fi连通性、USB连通性、蓝牙连通性等)以及例如可检测和识别姿势的多媒体处理器112。在一种实现中,NPU108被实现在CPU 102、DSP 106和/或GPU 104中。SoC 100还可包括传感器处理器114、图像信号处理器(ISP)116、和/或导航模块120(其可包括全球定位系统)。
SoC 100可基于ARM指令集。在本公开的一方面,加载到通用处理器102中的指令可包括用于在人工神经网络(ANN)的第一层处接收视频作为输入的代码。通用处理器102还可包括用于处理视频的第一帧以生成第一标签的代码。通用处理器102可进一步包括用于基于第一标签来更新人工神经网络的代码。更新在并发处理视频的第二帧时被执行。
在本公开的一方面,加载到通用处理器102中的指令可包括用于在第一人工神经网络(ANN)和第二人工神经网络的第一层处接收视频作为输入的代码。第一人工神经网络比第二人工神经网络具有更少的通道。通用处理器102还可包括用于经由第一人工神经网络处理视频的第一帧以生成第一标签的代码。第一人工神经网络向第二人工神经网络提供从视频的第一帧提取的中间特征。通用处理器102可进一步包括用于经由第二人工神经网络处理视频的第一帧以基于中间特征和第一帧生成第二标签的代码。通用处理器102可附加地包括用于在第二人工神经网络并发处理视频的第二帧时基于第一标签来更新第一人工神经网络的代码。
深度学习架构可通过学习在每一层中以逐次更高的抽象程度来表示输入、藉此构建输入数据的有用特征表示来执行对象识别任务。以此方式,深度学习解决了传统机器学习的主要瓶颈。在深度学习出现之前,用于对象识别问题的机器学习办法可能严重依赖人类工程设计的特征,或许与浅分类器相结合。浅分类器可以是两类线性分类器,例如,其中可将特征向量分量的加权和与阈值作比较以预测输入属于哪一类。人类工程设计的特征可以是由拥有领域专业知识的工程师针对具体问题领域定制的模版或内核。相反,深度学习架构可学习以表示与人类工程师可能会设计的相似的特征,但它是通过训练来学习的。此外,深度网络可以学习以表示和识别人类可能还没有考虑过的新类型的特征。
深度学习架构可以学习特征阶层。例如,如果向第一层呈递视觉数据,则第一层可学习以识别输入流中的相对简单的特征(诸如边)。在另一示例中,如果向第一层呈递听觉数据,则第一层可学习以识别特定频率中的频谱功率。取第一层的输出作为输入的第二层可以学习以识别特征组合,诸如对于视觉数据识别简单形状或对于听觉数据识别声音组合。例如,更高层可学习以表示视觉数据中的复杂形状或听觉数据中的词语。再高层可学习以识别常见视觉对象或口述短语。
深度学习架构在被应用于具有自然阶层结构的问题时可能表现特别好。例如,机动交通工具的分类可受益于首先学习以识别轮子、挡风玻璃、以及其他特征。这些特征可在更高层以不同方式被组合以识别轿车、卡车和飞机。
神经网络可被设计成具有各种连通性模式。在前馈网络中,信息从较低层被传递到较高层,其中给定层中的每个神经元向更高层中的神经元进行传达。如上所述,可在前馈网络的相继层中构建阶层式表示。神经网络还可具有回流或反馈(也被称为自顶向下(top-down))连接。在回流连接中,来自给定层中的神经元的输出可被传达给相同层中的另一神经元。回流架构可有助于识别跨越不止一个按顺序递送给该神经网络的输入数据组块的模式。从给定层中的神经元到较低层中的神经元的连接被称为反馈(或自顶向下)连接。当高层级概念的识别可辅助辨别输入的特定低层级特征时,具有许多反馈连接的网络可能是有助益的。
神经网络的各层之间的连接可以是全连通的或局部连通的。图2A解说了全连通神经网络202的示例。在全连通神经网络202中,第一层中的神经元可将它的输出传达给第二层中的每个神经元,从而第二层中的每个神经元将从第一层中的每个神经元接收输入。图2B解说了局部连通神经网络204的示例。在局部连通神经网络204中,第一层中的神经元可连接到第二层中有限数目的神经元。更一般化地,局部连通神经网络204的局部连通层可被配置成使得一层中的每个神经元将具有相同或相似的连通性模式,但其连接强度可具有不同的值(例如,210、212、214和216)。局部连通的连通性模式可能在更高层中产生空间上相异的感受野,这是由于给定区域中的更高层神经元可接收到通过训练被调谐为到网络的总输入的受限部分的性质的输入。
局部连通神经网络的一个示例是卷积神经网络。图2C解说了卷积神经网络206的示例。卷积神经网络206可被配置成使得与针对第二层中每个神经元的输入相关联的连接强度被共享(例如,208)。卷积神经网络可能非常适合于其中输入的空间位置有意义的问题。
一种类型的卷积神经网络是深度卷积网络(DCN)。图2D解说了被设计成从自图像捕获设备230(诸如车载相机)输入的图像226识别视觉特征的DCN 200的详细示例。可对当前示例的DCN 200进行训练以标识交通标志以及在交通标志上提供的数字。当然,DCN 200可被训练用于其他任务,诸如标识车道标记或标识交通信号灯。
可以用受监督式学习来训练DCN 200。在训练期间,可向DCN 200呈递图像(诸如限速标志的图像226),并且随后可计算前向传递(forward pass)以产生输出222。DCN 200可包括特征提取区段和分类区段。在接收到图像226之际,卷积层232可向图像226应用卷积核(未示出),以生成第一组特征图218。作为示例,卷积层232的卷积核可以是生成28x28特征图的5x5内核。在本示例中,由于在第一组特征图218中生成四个不同的特征图,因此在卷积层232处四个不同的卷积核被应用于图像226。卷积核还可被称为过滤器或卷积过滤器。
第一组特征图218可由最大池化层(未示出)进行子采样以生成第二组特征图220。最大池化层减小了第一组特征图218的大小。即,第二组特征图220的大小(诸如14x14)小于第一组特征图218的大小(诸如28x28)。减小的大小向后续层提供类似的信息,同时降低存储器消耗。第二组特征图220可经由一个或多个后续卷积层(未示出)被进一步卷积,以生成后续的一组或多组特征图(未示出)。
在图2D的示例中,第二组特征图220被卷积以生成第一特征向量224。此外,第一特征向量224被进一步卷积以生成第二特征向量228。第二特征向量228的每个特征可包括与图像226的可能特征(诸如,“标志”、“60”和“100)相对应的数字。”softmax(软最大化)函数(未示出)可将第二特征向量228中的数字转换为概率。如此,DCN 200的输出222是图像226包括一个或多个特征的概率。
在本示例中,输出222中关于“标志”和“60”的概率高于输出222的其他特征(诸如“30”、“40”、“50”、“70”、“80”、“90”和“100”)的概率。在训练之前,由DCN 200产生的输出222很可能是不正确的。由此,可计算输出222与目标输出之间的误差。目标输出是图像226的真值(例如,“标志”和“60”)。DCN 200的权重可随后被调整以使得DCN 200的输出222与目标输出更紧密地对齐。
为了调整权重,学习算法可针对权重计算梯度向量。梯度可指示在权重被调整情况下误差将增加或减少的量。在顶层,梯度可直接对应于连接倒数第二层中的活化神经元与输出层中的神经元的权重的值。在较低层中,梯度可取决于权重的值以及所计算出的较高层的误差梯度。权重可随后被调整以减小误差。这种调整权重的方式可被称为“反向传播”,因为其涉及在神经网络中的“后向传递(backward pass)”。
在实践中,权重的误差梯度可能是在少量示例上计算的,从而计算出的梯度近似于真实误差梯度。这种近似方法可被称为随机梯度下降法。随机梯度下降法可被重复,直到整个系统可达成的误差率已停止下降或直到误差率已达到目标水平。在学习之后,可以向DCN呈递新图像并且在网络中的前向传递可产生输出222,其可被认为是该DCN的推断或预测。
深度置信网络(DBN)是包括多层隐藏节点的概率性模型。DBN可被用于提取训练数据集的阶层式表示。DBN可通过堆叠多层受限波尔兹曼机(RBM)来获得。RBM是一类可在输入集上学习概率分布的人工神经网络。由于RBM可在没有关于每个输入应该被分类到哪个类的信息的情况下学习概率分布,因此RBM经常被用在无监督式学习中。使用混合无监督式和受监督式范式,DBN的底部RBM可按无监督方式被训练并且可以用作特征提取器,而顶部RBM可按受监督方式(在来自先前层的输入和目标类的联合分布上)被训练并且可用作分类器。
深度卷积网络(DCN)是卷积网络的网络,其配置有附加的池化和归一化层。DCN已在许多任务上达成现有最先进的性能。DCN可以使用受监督式学习来训练,其中输入和输出目标两者对于许多典范是已知的并被用于通过使用梯度下降法来修改网络的权重。
DCN可以是前馈网络。另外,如上所述,从DCN的第一层中的神经元到下一更高层中的神经元群的连接跨第一层中的各神经元被共享。DCN的前馈和共享连接可被用于进行快速处理。DCN的计算负担可比例如类似大小的包括回流或反馈连接的神经网络的计算负担小得多。
卷积网络的每一层的处理可被认为是空间不变模版或基础投影。如果输入首先被分解成多个通道,诸如彩色图像的红色、绿色和蓝色通道,则在该输入上训练的卷积网络可被认为是三维的,其具有沿着该图像的轴的两个空间维度以及捕获颜色信息的第三维度。卷积连接的输出可被认为在后续层中形成特征图,该特征图(例如,220)中的每个元素从先前层(例如,特征图218)中一定范围的神经元以及从该多个通道中的每个通道接收输入。特征图中的值可以用非线性(诸如矫正,max(0,x))进一步处理。来自毗邻神经元的值可被进一步池化(这对应于降采样)并可提供附加的局部不变性以及维度缩减。还可通过特征图中神经元之间的侧向抑制来应用归一化,其对应于白化。
深度学习架构的性能可随着有更多被标记的数据点变为可用或随着计算能力提高而提高。现代深度神经网络用比仅仅十五年前可供典型研究者使用的计算资源多数千倍的计算资源来例行地训练。新的架构和训练范式可进一步推升深度学习的性能。经矫正的线性单元可减少被称为梯度消失的训练问题。新的训练技术可减少过度拟合(over-fitting)并因此使更大的模型能够达成更好的普遍化。封装技术可抽象出给定的感受野中的数据并进一步提升总体性能。
图3是解说深度卷积网络350的框图。深度卷积网络350可包括多个基于连通性和权重共享的不同类型的层。如图3中示出的,深度卷积网络350包括卷积块354A、354B。卷积块354A、354B中的每一者可配置有卷积层(CONV)356、归一化层(LNorm)358、和最大池化层(MAX POOL)360。
卷积层356可包括一个或多个卷积过滤器,其可被应用于输入数据以生成特征图。尽管仅示出了两个卷积块354A、354B,但本公开不限于此,而是代之以根据设计偏好可将任何数目的卷积块354A、354B包括在深度卷积网络350中。归一化层358可对卷积过滤器的输出进行归一化。例如,归一化层358可提供白化或侧向抑制。最大池化层360可提供在空间上的降采样聚集以实现局部不变性以及维度缩减。
例如,深度卷积网络的并行过滤器组可被加载到SoC 100的CPU 102或GPU 104上以达成高性能和低功耗。在替换实施例中,并行过滤器组可被加载到SoC 100的DSP 106或ISP 116上。另外,深度卷积网络350可访问可存在于SoC 100上的其他处理块,诸如分别专用于传感器和导航的传感器处理器114和导航模块120。
深度卷积网络350还可包括一个或多个全连通层362(FC1和FC2)。深度卷积网络350可进一步包括逻辑回归(LR)层364。深度卷积网络350的每一层356、358、360、362、364之间是要被更新的权重(未示出)。每一层(例如,356、358、360、362、364)的输出可以用作深度卷积网络350中一后续层(例如,356、358、360、362、364)的输入以从第一卷积块354A处供应的输入数据352(例如,图像、音频、视频、传感器数据和/或其他输入数据)学习阶层式特征表示。深度卷积网络350的输出是针对输入数据352的分类得分366。分类得分366可以是概率集,其中每个概率是输入数据包括来自特征集的特征的概率。
图4是解说可使人工智能(AI)功能模块化的示例性软件架构400的框图。根据本公开的各方面,通过使用该架构,可以设计可使得片上系统(SoC)420的各种处理块(例如,CPU422、DSP 424、GPU 426和/或NPU 428)支持如所公开的用于针对AI应用402的后训练量化的自适应舍入的应用。
AI应用402可被配置成调用在用户空间404中定义的功能,例如,这些功能可提供对指示设备当前操作位置的场景的检测和识别。例如,AI应用402可以取决于所识别的场景是办公室、演讲厅、餐厅、还是诸如湖泊之类的室外环境来不同地配置话筒和相机。AI应用402可作出对与在AI功能应用编程接口(API)406中定义的库相关联的经编译程序代码的请求。该请求可最终依赖于被配置成基于例如视频和定位数据来提供推断响应的深度神经网络的输出。
运行时引擎408(其可以是运行时框架的经编译代码)可进一步可由AI应用402访问。例如,AI应用402可使得运行时引擎按特定时间区间或由应用的用户接口检测到的事件触发地来请求推断。当使得运行时引擎提供推断响应时,运行时引擎可进而向在SoC 420上运行的操作系统(OS)空间(诸如内核412)中的操作系统发送信号。操作系统进而可使得在CPU 422、DSP 424、GPU 426、NPU 428或其某种组合上执行连续量化松弛。CPU 422可由操作系统直接访问,而其他处理块可通过驱动器(诸如分别用于DSP 424、GPU 426或NPU 428的驱动器414、416或418)来访问。在示例性示例中,深度神经网络可被配置成在处理块(诸如CPU 422、DSP 424和GPU 426)的组合上运行,或可在NPU 428上运行。
应用402(例如,AI应用)可被配置成调用在用户空间404中定义的功能,例如,这些功能可提供对指示设备当前操作位置的场景的检测和识别。例如,应用402可以取决于所识别的场景是办公室、演讲厅、餐厅、还是诸如湖泊之类的室外环境来不同地配置话筒和相机。应用402可作出对与在场景检测应用编程接口(API)406中定义的库相关联的经编译程序代码的请求以提供对当前场景的估计。该请求可最终依赖于被配置成基于例如视频和定位数据来提供场景估计的差分神经网络的输出。
运行时引擎408(其可以是运行时框架的经编译代码)可进一步可由应用402访问。例如,应用402可使得运行时引擎按特定时间区间或由应用的用户接口检测到的事件触发地请求场景估计。在使得运行时引擎估计场景时,运行时引擎可进而发送信号给在SoC 420上运行的操作系统410(诸如内核412)。操作系统410进而可使得在CPU 422、DSP 424、GPU426、NPU 428或其某种组合上执行计算。CPU 422可由操作系统直接访问,而其他处理块可通过驱动器(诸如分别用于DSP 424、GPU 426或NPU 428的驱动器414-488)来访问。在示例性示例中,差分神经网络可被配置成在处理块(诸如CPU 422和GPU 426)的组合上运行,或可在NPU 428上运行。
本公开的各方面涉及使用对抗函数近似的深度神经网络模型移植。
图5是解说根据本公开的各方面的用于处理视频的示例架构500的框图。如图5中所示,分割网络502接收视频504作为输入。分割网络502例如可以是卷积神经网络,诸如图3中所示的深度卷积网络350。视频504被划分成帧(例如,原始t1、原始t2、原始t3、原始t4、原始t5和原始t6)。分割网络502顺序地处理视频504的每一帧,并且以分段(例如,分段t1、分段t2、分段t3、分段t4、分段t5和分段t6)的形式生成输出506。在处理视频504时,分割网络502也可以被更新。如图5中所示,在生成每个输出分段之后,分割网络502经由后向传递(例如,508a-508f)被更新。
图6是解说根据本公开的各方面的用于处理视频的示例架构600的框图。如图6所示,分割网络604接收视频602作为输入。分割网络604可以被配置成与图5的分割网络502类似地操作。分割网络604处理视频602的每个帧并生成一输出分段606。对每个输出分段606进行argmax(自变量最大化)运算以生成伪标签608和输出标签612。应用交叉熵(CE)作为损失函数,可基于伪标签608和输出标签612来计算负对数似然。进而,分割网络604可以经由反向传播(BP)来更新,以减少CE损失。在一些方面,argmax可用于确定输出标签612,并且可由例如使用softmax似然性或logit函数计算的置信度值来补充。此外,在一些方面,置信度值可以是最佳估计或第二最佳估计标签比率。
图7是解说根据本公开的各方面的用于处理视频的示例架构700的框图。参考图7,示例架构700包括分割网络704和辅助网络706。辅助网络706可具有与分割网络704的架构相似的总体架构。然而,辅助网络706比分割网络704更小(例如,分割网络704大小的1/10)。例如,在一些方面,辅助网络706可被配置有较少的通道(例如,辅助网络706可具有18个通道,而分割网络704可具有48个通道),或者可以以比分割网络704更低的分辨率操作。在一个示例中,辅助网络706可以在32位CPU(例如,图1的CPU 102)或GPU(例如,图1的GPU 104)上操作,并且分割网络704可以在8位DSP(例如,图1的DSP 106)上操作。
在操作中,分割网络704和辅助网络706各自接收视频702作为输入。分割网络704处理视频702的每个帧并生成输出分段710。辅助网络706处理视频702的每个帧并生成分段708。
附加地,辅助网络706向分割网络704提供中间特征。分割网络704处理中间特征,其与在分割网络的各层中生成的中间特征聚集(由“+”号指示)以计算输出分段710。对每个输出分段710进行argmax运算以生成伪标签712。类似地,对每个分段708进行argmax运算以生成输出标签714。
伪标签712和输出标签714可用于计算交叉熵损失,并例如经由反向传播更新辅助网络706,同时分割网络704继续在前向传递中处理视频702。因为更新是在较小的辅助网络706而不是分割网络704上进行的,所以计算成本相对于图6的分割网络604的计算成本可以显著降低。
图8是解说根据本公开的各方面的图7的示例架构700的更详细的示图800。参考图8,示出了分割网络804和辅助网络806。在图8的示例中,分割网络804和辅助网络806可具有相似的架构。例如,分割网络804和辅助网络806可以被配置为自动编码器。如以上关于图7所讨论的,辅助网络806可以比分割网络804更小(例如,分割网络804大小的1/10)。例如,在一些方面,辅助网络806可被配置有较少的通道(例如,辅助网络806可具有18个通道,而分割网络804可具有48个通道)。附加地,在一些方面,辅助网络806可以以比分割网络804更低的分辨率操作。例如,如图8中所示,辅助网络806和分割网络804两者都接收视频802作为输入。然而,当分割网络804对视频802的每个帧进行三次下采样时,辅助网络806对视频802的每个帧进行四次下采样,以产生视频的每个帧的与分割网络804相比更低的分辨率。
在对视频802的帧进行下采样后,分割网络804和辅助网络806各自使其相应的较低分辨率帧通过卷积滤波器的连续层(例如,卷积编码块)以提取特征。可以分别经由分割网络804和辅助网络806的过渡块(例如,过渡1、过渡2和过渡3)来执行进一步的下采样,以提取较低分辨率的特征。
附加地,辅助网络806可向分割网络804提供中间特征(例如,808、810)。中间特征(例如,808、810)可以被映射(以计及分割网络804中较大的通道数)并与分割网络804的中间特征组合或聚集。分割网络804和辅助网络806各自产生输出特征集(例如,812、814),其可以被上采样、级联并提供给解码器(816、818)。
解码器816和818进而处理输出特征(例如,812、814)以生成输出分段820和822。对输出分段820、822中的每一者进行argmax运算以生成标签824。
此外,辅助网络806可以使用反向传播来更新。值得注意地,当分割网络804继续处理视频802时,辅助网络806被在线更新(例如,在测试时间时)。这样做,可以减少时间不一致性(例如,可以增加并集度量上的交集)。如此,可以减少在视频802中观察到的闪烁效应。附加地,可以减少计算成本和处理时间。
图9解说了根据本公开的各方面的用于处理视频的方法900。如图9中所示,在框902,方法900在人工神经网络(ANN)的第一层处接收视频输入。第一人工神经网络可以是卷积神经网络,诸如图3的深度卷积网络350。如参考图5所讨论的,分割网络502接收视频504作为输入。
在框904,方法900处理视频的第一帧以生成第一标签。如参考图5所讨论的,分割网络502顺序地处理视频504的每个帧,并以分段(例如,分段t1)的形式生成输出506。
在框906,方法900基于第一标签来更新人工神经网络,该更新是在并发处理视频的第二帧时被执行的。例如,如图5所示,在生成每个输出分段之后,分割网络502经由后向传递(例如,508a-508f)被更新。
图10解说了根据本公开的各方面的用于处理视频的方法1000。如图10所示,在框1002,方法1000在第一人工神经网络(ANN)和第二人工神经网络的第一层处接收视频作为输入。第一人工神经网络比第二人工神经网络具有更少的通道。例如,参考图7,示例架构700包括分割网络704和辅助网络706。分割网络704和辅助网络706各自接收视频702作为输入。附加地,辅助网络706可具有与分割网络704的架构相似的架构。例如,在一些方面,辅助网络706可被配置有较少的通道(例如,辅助网络706可具有18个通道,而分割网络704可具有48个通道),或者可以以比分割网络704更低的分辨率操作。
在框1004,方法1000经由第一人工神经网络处理视频的第一帧以生成第一标签。第一人工神经网络向第二人工神经网络提供从视频的第一帧提取的中间特征。例如,如参考图7所讨论的,辅助网络706处理视频的每一帧并生成分段708。辅助网络706向分割网络704提供中间特征。分割网络704处理中间特征,其被聚集以计算输出分段710。
在框1006,方法1000经由第二人工神经网络处理视频的第一帧,以基于中间特征和第一帧生成第二标签。例如,分割网络704处理视频702的每个帧并生成输出分段710。
在框1008,方法1000在第二人工神经网络并发处理视频的第二帧时基于第一标签来更新第一人工神经网络。如参考图7所讨论的,伪标签712可用于在分割网络704在前向传递中继续处理视频702时例如经由反向传播更新辅助网络706。
在一个方面,接收装置、处理装置和/或更新装置可以是CPU 102、GPU 104、与CPU102相关联的DSP 106程序存储器、专用存储器块118、全连通层362、NPU 428、和/或被配置成执行所叙述功能的路由连接处理单元216。在另一配置中,前述装置可以是被配置成执行由前述装置所叙述的功能的任何模块或任何装备。
以上所描述的方法的各种操作可由能够执行相应功能的任何合适的装置来执行。这些装置可包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)、或处理器。一般而言,在附图中有解说的操作的场合,那些操作可具有带相似编号的相应配对装置加功能组件。
在以下经编号条款中提供了各实现示例:
1.一种用于处理视频的方法,包括:
在人工神经网络(ANN)的第一层处接收视频作为输入;
处理该视频的第一帧以生成第一标签;以及
基于第一标签来更新该人工神经网络,该更新是在并发处理该视频的第二帧时被执行的。
2.如条款1的方法,进一步包括:在人工神经网络的后向传递中应用第一标签以更新该人工神经网络。
3.如条款1-2中任一项的方法,进一步包括:基于第二帧生成第二标签,并且其中进行并发处理以减少第一标签与第二标签之间的时间不一致性。
4.一种用于处理视频的方法,包括:
在第一人工神经网络(ANN)和第二人工神经网络的第一层处接收该视频作为输入,第一人工神经网络比第二人工神经网络具有更少的通道;
经由第一人工神经网络处理该视频的第一帧以生成第一标签,第一人工神经网络向第二人工神经网络提供从该视频的第一帧提取的中间特征;
经由第二人工神经网络处理该视频的第一帧,以基于中间特征和第一帧生成第二标签;以及
在第二人工神经网络并发处理视频的第二帧时基于第一标签来更新第一人工神经网络。
5.如条款4的方法,进一步包括:基于第二帧经由第二人工神经网络生成第三标签,并且其中进行并发处理以使得第二标签与第三标签之间的时间不一致性减少。
6.如条款4-5中任一项的方法,其中第一人工神经网络以比第二人工神经网络的分辨率低的分辨率操作。
7.一种用于处理视频的装置,包括:
存储器;以及
耦合到该存储器的至少一个处理器,该至少一个处理器被配置成:
在人工神经网络(ANN)的第一层处接收该视频作为输入;
处理该视频的第一帧以生成第一标签;以及
基于第一标签来更新该人工神经网络,该更新是在并发处理该视频的第二帧时被执行的。
8.如条款7的装置,其中该至少一个处理器被进一步配置成在人工神经网络的后向传递中应用第一标签以更新该人工神经网络。
9.如条款7-8中任一项的装置,其中该至少一个处理器被进一步配置成基于第二帧生成第二标签,并且其中进行并发处理以减少第一标签与第二标签之间的时间不一致性。
10.一种用于处理视频的装置,包括:
存储器;以及
耦合到该存储器的至少一个处理器,该至少一个处理器被配置成:
在第一人工神经网络(ANN)和第二人工神经网络的第一层处接收该视频作为输入,第一人工神经网络比第二人工神经网络具有更少的通道;
经由第一人工神经网络处理该视频的第一帧以生成第一标签,第一人工神经网络向第二人工神经网络提供从该视频的第一帧提取的中间特征;
经由第二人工神经网络处理该视频的第一帧,以基于中间特征和第一帧生成第二标签;以及
在第二人工神经网络并发处理视频的第二帧时基于第一标签来更新第一人工神经网络。
11.如条款10的装置,其中该至少一个处理器被进一步配置成基于第二帧经由第二人工神经网络生成第三标签,并且其中进行并发处理以使得第二标签与第三标签之间的时间不一致性减少。
12.如条款10的装置,其中第一人工神经网络以比第二人工神经网络的分辨率低的分辨率操作。
13.一种用于处理视频的设备,包括:
用于在人工神经网络(ANN)的第一层处接收该视频作为输入的装置;用于处理该视频的第一帧以生成第一标签的装置;以及
用于基于第一标签来更新该人工神经网络的装置,该更新是在并发处理该视频的第二帧时被执行的。
14.如条款13的设备,进一步包括:用于在人工神经网络的后向传递中应用第一标签以更新该人工神经网络的装置。
15.如条款13-14中任一项的设备,进一步包括:用于基于第二帧生成第二标签的装置,并且其中进行并发处理以减少第一标签与第二标签之间的时间不一致性。
16.一种用于处理视频的设备,包括:
用于在第一人工神经网络(ANN)和第二人工神经网络的第一层处接收该视频作为输入的装置,第一人工神经网络比第二人工神经网络具有更少的通道;
用于经由第一人工神经网络处理该视频的第一帧以生成第一标签的装置,第一人工神经网络向第二人工神经网络提供从该视频的第一帧提取的中间特征;
用于经由第二人工神经网络处理该视频的第一帧,以基于中间特征和第一帧生成第二标签的装置;以及
用于在第二人工神经网络并发处理视频的第二帧时基于第一标签来更新第一人工神经网络的装置。
17.如条款16的设备,进一步包括:用于基于第二帧经由第二人工神经网络生成第三标签的装置,并且其中进行并发处理以使得第二标签与第三标签之间的时间不一致性减少。
18.如条款16-17中任一项的设备,其中第一人工神经网络以比第二人工神经网络的分辨率低的分辨率操作。
19.一种其上编码有用于处理视频的程序代码的非瞬态计算机可读介质,该程序代码由处理器执行并且包括:
用于在人工神经网络(ANN)的第一层处接收该视频作为输入的程序代码;
用于处理该视频的第一帧以生成第一标签的程序代码;以及
用于基于第一标签来更新该人工神经网络的程序代码,该更新是在并发处理该视频的第二帧时被执行的。
20.如条款19的非瞬态计算机可读介质,进一步包括:用于在人工神经网络的后向传递中应用第一标签以更新该人工神经网络的程序代码。
21.如条款19-20中任一项的非瞬态计算机可读介质,进一步包括:用于基于第二帧生成第二标签的程序代码,并且其中进行并发处理以减少第一标签与第二标签之间的时间不一致性。
22.一种其上编码有用于处理视频的程序代码的非瞬态计算机可读介质,该程序代码由处理器执行并且包括:
用于在第一人工神经网络(ANN)和第二人工神经网络的第一层处接收该视频作为输入的程序代码,第一人工神经网络比第二人工神经网络具有更少的通道;
用于经由第一人工神经网络处理该视频的第一帧以生成第一标签的程序代码,第一人工神经网络向第二人工神经网络提供从该视频的第一帧提取的中间特征;
用于经由第二人工神经网络处理该视频的第一帧,以基于中间特征和第一帧生成第二标签的程序代码;以及
用于在第二人工神经网络并发处理视频的第二帧时基于第一标签来更新第一人工神经网络的程序代码。
23.如条款22的非瞬态计算机可读介质,进一步包括:用于基于第二帧经由第二人工神经网络生成第三标签的程序代码,并且其中进行并发处理以使得第二标签与第三标签之间的时间不一致性减少。
24.如条款22-23中任一项的非瞬态计算机可读介质,其中第一人工神经网络以比第二人工神经网络的分辨率低的分辨率操作。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或另一数据结构中查找)、查明及类似动作。附加地,“确定”可包括接收(例如接收信息)、访问(例如访问存储器中的数据)、及类似动作。此外,“确定”可包括解析、选择、选取、确立及类似动作。
如本文中所使用的,引述一列项目“中的至少一者”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一者”旨在涵盖:a、b、c、a-b、a-c、b-c、以及a-b-c。
结合本公开所描述的各种解说性逻辑框、模块、以及电路可用设计成执行所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、分立的门或晶体管逻辑、分立的硬件组件或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何市售的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如,DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其他此类配置。
结合本公开描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在本领域所知的任何形式的存储介质中。可使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM,等等。软件模块可包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合到处理器以使得该处理器能从/向该存储介质读写信息。在替换方案中,存储介质可被整合到处理器。
本文所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。
所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在硬件中实现,则示例硬件配置可包括设备中的处理系统。处理系统可以用总线架构来实现。取决于处理系统的具体应用和整体设计约束,总线可包括任何数目的互连总线和桥接器。总线可将包括处理器、机器可读介质、以及总线接口的各种电路链接在一起。总线接口可用于尤其将网络适配器等经由总线连接至处理系统。网络适配器可用于实现信号处理功能。对于某些方面,用户接口(例如,按键板、显示器、鼠标、操纵杆,等等)也可以被连接到总线。总线还可以链接各种其他电路,诸如定时源、外围设备、稳压器、功率管理电路以及类似电路,它们在本领域中是众所周知的,因此将不再进一步描述。
处理器可负责管理总线和一般处理,包括执行存储在机器可读介质上的软件。处理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、DSP处理器、以及其他能执行软件的电路系统。软件应当被宽泛地解释成意指指令、数据、或其任何组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可读介质可包括随机存取存储器(RAM)、闪存、只读存储器(ROM)、可编程只读存储器(PROM)、可擦式可编程只读存储器(EPROM)、电可擦式可编程只读存储器(EEPROM)、寄存器、磁盘、光盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计算机程序产品中。该计算机程序产品可以包括封装材料。
在硬件实现中,机器可读介质可以是处理系统中与处理器分开的一部分。然而,如本领域技术人员将容易领会的,机器可读介质或其任何部分可在处理系统外部。作为示例,机器可读介质可包括传输线、由数据调制的载波、和/或与设备分开的计算机产品,所有这些都可由处理器通过总线接口来访问。替换地或附加地,机器可读介质或其任何部分可被集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是这种情形。虽然所讨论的各种组件可被描述为具有特定位置,诸如本地组件,但它们也可按各种方式来配置,诸如某些组件被配置成分布式计算系统的一部分。
处理系统可以被配置为通用处理系统,该通用处理系统具有一个或多个提供处理器功能性的微处理器、以及提供机器可读介质中的至少一部分的外部存储器,它们都通过外部总线架构与其他支持电路系统链接在一起。替换地,该处理系统可以包括一个或多个神经元形态处理器以用于实现所描述的神经元模型和神经系统模型。作为另一替换方案,处理系统可以用带有集成在单块芯片中的处理器、总线接口、用户接口、支持电路系统、和至少一部分机器可读介质的专用集成电路(ASIC)来实现,或者用一个或多个现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控逻辑、分立硬件组件、或者任何其他合适的电路系统、或者能执行本公开通篇所描述的各种功能性的电路的任何组合来实现。取决于具体应用和加诸于整体系统上的总设计约束,本领域技术人员将认识到如何最佳地实现关于处理系统所描述的功能性。
机器可读介质可包括数个软件模块。这些软件模块包括当由处理器执行时使处理系统执行各种功能的指令。这些软件模块可包括传送模块和接收模块。每个软件模块可以驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可以从硬驱动器中将软件模块加载到RAM中。在软件模块执行期间,处理器可以将一些指令加载到高速缓存中以提高访问速度。可随后将一个或多个高速缓存行加载到通用寄存器文件中以供处理器执行。在以下述及软件模块的功能性时,将理解此类功能性是在处理器执行来自该软件模块的指令时由该处理器来实现的。此外,应领会,本公开的各方面产生对处理器、计算机、机器或实现此类方面的其它系统的机能的改进。
如果在软件中实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能用于携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。附加地,任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或无线技术(诸如红外(IR)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘、和碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地再现数据。因此,在一些方面,计算机可读介质可包括非瞬态计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可包括瞬态计算机可读介质(例如,信号)。以上的组合应当也被包括在计算机可读介质的范围内。
由此,某些方面可包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行所描述的操作。对于某些方面,计算机程序产品可包括包装材料。
此外,应当领会,用于执行所描述的方法和技术的模块和/或其他恰适装置可由用户终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦合到服务器以促成用于执行所描述的方法的装置的转移。替换地,所描述的各种方法能经由存储装置(例如,RAM、ROM、诸如压缩碟(CD)或软盘等物理存储介质等)来提供,以使得一旦将该存储装置耦合到或提供给用户终端和/或基站,该设备就能获得各种方法。此外,可利用适于向设备提供所描述的方法和技术的任何其他合适的技术。
将理解,权利要求并不被限于以上所解说的精确配置和组件。可在以上所描述的方法和装置的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要求的范围。
Claims (12)
1.一种用于处理视频的方法,包括:
在人工神经网络(ANN)的第一层处接收所述视频作为输入;
处理所述视频的第一帧以生成第一标签;以及
基于所述第一标签来更新所述人工神经网络,所述更新是在并发处理所述视频的第二帧时被执行的。
2.如权利要求1所述的方法,进一步包括:在所述人工神经网络的后向传递中应用所述第一标签以更新所述人工神经网络。
3.如权利要求1所述的方法,进一步包括:基于所述第二帧生成第二标签,并且其中进行所述并发处理以减少所述第一标签与所述第二标签之间的时间不一致性。
4.一种用于处理视频的方法,包括:
在第一人工神经网络(ANN)和第二人工神经网络的第一层处接收所述视频作为输入,所述第一人工神经网络比所述第二人工神经网络具有更少的通道;
经由所述第一人工神经网络处理所述视频的第一帧以生成第一标签,所述第一人工神经网络向所述第二人工神经网络提供从所述视频的所述第一帧提取的中间特征;
经由所述第二人工神经网络处理所述视频的所述第一帧,以基于所述中间特征和所述第一帧生成第二标签;以及
在所述第二人工神经网络并发处理所述视频的第二帧时基于所述第一标签来更新所述第一人工神经网络。
5.如权利要求4所述的方法,进一步包括:基于所述第二帧经由所述第二人工神经网络生成第三标签,并且其中进行所述并发处理以使得所述第二标签与所述第三标签之间的时间不一致性减少。
6.如权利要求4所述的方法,其中所述第一人工神经网络以比所述第二人工神经网络的分辨率低的分辨率操作。
7.一种用于处理视频的装置,包括:
存储器;以及
耦合到所述存储器的至少一个处理器,所述至少一个处理器被配置成:
在第一人工神经网络(ANN)和第二人工神经网络的第一层处接收所述视频作为输入,所述第一人工神经网络比所述第二人工神经网络具有更少的通道;
经由所述第一人工神经网络处理所述视频的第一帧以生成第一标签,所述第一人工神经网络向所述第二人工神经网络提供从所述视频的所述第一帧提取的中间特征;
经由所述第二人工神经网络处理所述视频的所述第一帧,以基于所述中间特征和所述第一帧生成第二标签;以及
在所述第二人工神经网络并发处理所述视频的第二帧时基于所述第一标签来更新所述第一人工神经网络。
8.如权利要求7所述的装置,其中所述至少一个处理器被进一步配置成基于所述第二帧经由所述第二人工神经网络生成第三标签,并且其中进行所述并发处理以使得所述第二标签与所述第三标签之间的时间不一致性减少。
9.如权利要求7所述的装置,其中所述第一人工神经网络以比所述第二人工神经网络的分辨率低的分辨率操作。
10.一种其上编码有用于处理视频的程序代码的非瞬态计算机可读介质,所述程序代码由处理器执行并且包括:
用于在第一人工神经网络(ANN)和第二人工神经网络的第一层处接收所述视频作为输入的程序代码,所述第一人工神经网络比所述第二人工神经网络具有更少的通道;
用于经由所述第一人工神经网络处理所述视频的第一帧以生成第一标签的程序代码,所述第一人工神经网络向所述第二人工神经网络提供从所述视频的所述第一帧提取的中间特征;
用于经由所述第二人工神经网络处理所述视频的所述第一帧,以基于所述中间特征和所述第一帧生成第二标签的程序代码;以及
用于在所述第二人工神经网络并发处理所述视频的第二帧时基于所述第一标签来更新所述第一人工神经网络的程序代码。
11.如权利要求10所述的非瞬态计算机可读介质,进一步包括:用于基于所述第二帧经由所述第二人工神经网络生成第三标签的程序代码,并且其中进行所述并发处理以使得所述第二标签与所述第三标签之间的时间不一致性减少。
12.如权利要求10所述的非瞬态计算机可读介质,其中所述第一人工神经网络以比所述第二人工神经网络的分辨率低的分辨率操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/198,147 US20220292302A1 (en) | 2021-03-10 | 2021-03-10 | Efficient test-time adaptation for improved temporal consistency in video processing |
US17/198,147 | 2021-03-10 | ||
PCT/US2022/019620 WO2022192449A1 (en) | 2021-03-10 | 2022-03-09 | Efficient test-time adaptation for improved temporal consistency in video processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117223035A true CN117223035A (zh) | 2023-12-12 |
Family
ID=81326760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280019046.0A Pending CN117223035A (zh) | 2021-03-10 | 2022-03-09 | 用于改进的视频处理时间一致性的高效测试时间适配 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20220292302A1 (zh) |
EP (1) | EP4305551A1 (zh) |
JP (1) | JP2024509862A (zh) |
KR (1) | KR20230154187A (zh) |
CN (1) | CN117223035A (zh) |
BR (1) | BR112023017706A2 (zh) |
WO (1) | WO2022192449A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11423548B2 (en) * | 2017-01-06 | 2022-08-23 | Board Of Regents, The University Of Texas System | Segmenting generic foreground objects in images and videos |
EP3608844A1 (en) * | 2018-08-10 | 2020-02-12 | Naver Corporation | Methods for training a crnn and for semantic segmentation of an inputted video using said crnn |
-
2021
- 2021-03-10 US US17/198,147 patent/US20220292302A1/en active Pending
-
2022
- 2022-03-09 WO PCT/US2022/019620 patent/WO2022192449A1/en active Application Filing
- 2022-03-09 EP EP22717038.8A patent/EP4305551A1/en active Pending
- 2022-03-09 JP JP2023553719A patent/JP2024509862A/ja active Pending
- 2022-03-09 KR KR1020237029855A patent/KR20230154187A/ko unknown
- 2022-03-09 BR BR112023017706A patent/BR112023017706A2/pt unknown
- 2022-03-09 CN CN202280019046.0A patent/CN117223035A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20230154187A (ko) | 2023-11-07 |
BR112023017706A2 (pt) | 2023-12-12 |
US20220292302A1 (en) | 2022-09-15 |
EP4305551A1 (en) | 2024-01-17 |
JP2024509862A (ja) | 2024-03-05 |
WO2022192449A1 (en) | 2022-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170061328A1 (en) | Enforced sparsity for classification | |
US20210158166A1 (en) | Semi-structured learned threshold pruning for deep neural networks | |
US20220121949A1 (en) | Personalized neural network pruning | |
CN117546212A (zh) | 用于交互对象定位的网络 | |
US11449758B2 (en) | Quantization and inferencing for low-bitwidth neural networks | |
US20220301311A1 (en) | Efficient self-attention for video processing | |
US20230076290A1 (en) | Rounding mechanisms for post-training quantization | |
US11704571B2 (en) | Learned threshold pruning for deep neural networks | |
US20200293864A1 (en) | Data-aware layer decomposition for neural network compression | |
US20220156502A1 (en) | Lingually constrained tracking of visual objects | |
US20220284260A1 (en) | Variable quantization for neural networks | |
US20220292302A1 (en) | Efficient test-time adaptation for improved temporal consistency in video processing | |
US20230169694A1 (en) | Flow-agnostic neural video compression | |
US20240005158A1 (en) | Model performance linter | |
US20230308666A1 (en) | Contrastive object representation learning from temporal data | |
US20230419087A1 (en) | Adapters for quantization | |
US20230058415A1 (en) | Deep neural network model transplantation using adversarial functional approximation | |
US20240078425A1 (en) | State change detection for resuming classification of sequential sensor data on embedded systems | |
US20240160926A1 (en) | Test-time adaptation via self-distilled regularization | |
US20240037150A1 (en) | Scheduling optimization in sequence space | |
WO2023004670A1 (en) | Channel-guided nested loop transformation and scalar replacement | |
US20220108165A1 (en) | Quantifying reward and resource allocation for concurrent partial deep learning workloads in multi core environments | |
WO2023178467A1 (en) | Energy-efficient anomaly detection and inference on embedded systems | |
WO2023101779A1 (en) | Flow-agnostic neural video compression | |
WO2024102530A1 (en) | Test-time adaptation via self-distilled regularization |
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 |