[go: up one dir, main page]

CN111050219A - 用于定位视频内容中的目标对象的空间-时间记忆网络 - Google Patents

用于定位视频内容中的目标对象的空间-时间记忆网络 Download PDF

Info

Publication number
CN111050219A
CN111050219A CN201910687331.XA CN201910687331A CN111050219A CN 111050219 A CN111050219 A CN 111050219A CN 201910687331 A CN201910687331 A CN 201910687331A CN 111050219 A CN111050219 A CN 111050219A
Authority
CN
China
Prior art keywords
memory
query
frame
map
key
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.)
Granted
Application number
CN201910687331.XA
Other languages
English (en)
Other versions
CN111050219B (zh
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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 Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN111050219A publication Critical patent/CN111050219A/zh
Application granted granted Critical
Publication of CN111050219B publication Critical patent/CN111050219B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47205End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/48Matching video sequences
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本公开的实施例涉及用于定位视频内容中的目标对象的空间‑时间记忆网络。某些方面涉及使用空间‑时间记忆网络来定位视频内容中的一个或多个目标对象,以用于分割或其他对象分类。在一个示例中,视频编辑器通过将空间‑时间记忆网络应用于来自视频内容的查询帧的特征来生成查询键图和查询值图。视频编辑器取回用空间‑时间记忆网络从来自视频内容的记忆帧的集合计算的记忆键图和记忆值图。视频编辑器通过将相似性函数应用于记忆键图和查询键图来计算记忆权重。视频编辑器使用加权和将查询帧中的内容分类为描绘目标特征,该加权和包括被应用于记忆值图中的记忆位置的记忆权重。

Description

用于定位视频内容中的目标对象的空间-时间记忆网络
相关申请的交叉引用
本公开要求于2018年10月12日提交的美国临时申请号62/744,919以及于2019年3月5日提交的美国非临时申请号16/293,126的优先权,其全部内容通过引用并入于此。
技术领域
本公开总体上涉及用于视频回放系统的视频内容的自动处理。更具体地,但不作为限制,本公开涉及使用空间-时间记忆(memory)网络来定位视频内容中的一个或多个目标对象,以用于有助于视频编辑的分割或其他对象分类。
背景技术
由于因特网上的共享视频内容的普及,对用不同视觉效果增强视频内容的视频编辑应用有更多的需求。自动视频编辑通常用商业交互工具来执行,新手用户需要大量时间来有效地使用该商业交互工具。在视频编辑器中,用户可能希望向视频添加一个或多个视觉效果,诸如改变背景的颜色、改变前景的颜色、添加插图等。视频编辑可以涉及标识目标特征,该目标特征要跨多个帧被编辑、将跨多个帧保持不变、或其一些组合。在一个示例中,视频编辑可以涉及将前景像素与背景像素分离。前景像素和背景像素的这种分离通常是用于其他视频编辑的初步步骤,其他视频编辑诸如操纵对象的颜色和添加视觉效果(例如,从可以被丢弃或保持不变的背景内容中分割要被编辑的前景对象)。例如,
Figure BDA0002146769170000011
AfterEffects CC提供了用于视频对象分割的“RotoBrush”工具。
然而,现有的视频编辑器通常要求广泛的用户交互,当在视频帧中选择目标对象时,可以证明这些用户交互是繁琐且费力的。例如,视频编辑器工具(例如,RotoBrush)可以用于在一个帧中选择目标对象并将对相同目标对象的选择填充到相邻帧。但是,应用于第一帧中的目标对象的分割掩模相对于如第二帧中所描绘的目标对象可能不准确。例如,如果目标对象的位置或定向在第一帧和第二帧之间改变太多,则被自动填充到第二帧的分割掩模可能无法包含目标对象的部分、可能包含除目标对象之外的对象,或两者都有。
用于对视频中的特征进行分类(例如,从背景内容分割前景对象)的常规方法依赖于使用第一帧中的对象分类来检测其他帧中的对象(例如,使用第一帧的掩模来检测其他帧的分割掩模),或将先前的对象分类(例如,之前帧的掩模)传播到后续帧。然而,这些方法在适应跨帧的目标对象的外观变化或防止漂移方面可能具有局限性。在涉及分割的示例中,如果掩模估计方法严重依赖于第一帧的掩模来检测其他帧中的目标对象,则相对于目标对象的外观变化可能降低其他帧中的分割掩模的准确度。在涉及先前帧的掩模的传播的另一示例中,可以跟踪目标对象的外观变化,但是误差累积可能导致被跟踪掩模的大的漂移。例如,被传播的掩模可能模糊到背景或收缩,这可能导致被传播的掩模跟踪期望的目标对象之外的区域或对象。
诸如在线学习方法的一些现有技术通过使用经训练的神经网络模型自动执行视频帧中的分类任务(例如,分割前景像素和背景像素)解决了这些问题。在一个示例中,在线学习方法可以在第一帧中使用初始分类任务(例如,应用分割掩模)并且可以微调深度网络模型以记住目标对象或特征的外观。在这些方法中,仅用一个数据样本(即,视频帧的集合的第一帧)来执行深度网络模型的学习过程。
在线学习方法可以进一步被分组为基于检测的方法和基于传播的方法。在涉及基于检测的分割的示例中,神经网络模型包括对象特定的检测器,其独立地处理每个视频帧以分割出目标对象。在涉及基于传播的分割的示例中,神经网络被训练以使用时间一致性来传播分割掩模。基于传播的方法学习对象特定的掩模传播器(例如,深度网络),其将未对准的掩模朝向目标对象细化。通过使分割掩模变形或合成图像以学习掩模传播器,从视频的第一帧生成用于该学习任务的模拟训练数据。
然而,在线学习方法在计算上可能是昂贵的。例如,在线学习至少要求一些在线训练。例如,如果视频编辑器使用在线学习方法来执行对象分割或其他分类,则在测试时间发生至少一些训练迭代(即,在终端用户的情况下)。这些在线训练迭代增加了编辑过程所要求的计算资源并降低了视频编辑器的响应性。这些计算和响应问题可能不适合交互式编辑平台。
发明内容
某些方面涉及使用空间-时间记忆网络来定位视频内容中的一个或多个目标对象,以用于分割或其他对象分类。在一个示例中,视频编辑器通过将空间-时间记忆网络应用于来自视频内容的查询帧的特征来生成查询键图和查询值图。视频编辑器取回从来自视频内容的记忆帧的集合计算的记忆键图和记忆值图。视频编辑器通过将相似性函数应用于记忆键图和查询键图来计算记忆权重。视频编辑器使用加权和将查询帧中的内容分类为描绘目标特征,加权和包括应用于记忆值图中的记忆位置的记忆权重。
附图说明
当参考附图阅读以下具体实施方式时,将更好地理解本公开的特征、方面和优点。
本专利或申请文件包含至少一幅彩色附图。在请求和支付必要费用之后,具有(多幅)彩色附图的本专利或专利申请公开的副本将由事务所提供。
图1描绘了根据本公开的某些方面的用于基于记忆的分割或其他视频处理的视频处理环境的示例。
图2描绘了根据本公开的某些方面的用于执行基于记忆的视频特征分类的过程的示例。
图3描绘了根据本公开的某些方面的用于可以被用在图2描绘的过程中的、图1的空间-时间记忆网络的框架的示例。
图4描绘了根据本公开的某些方面的图3的框架中使用的嵌入操作的示例。
图5描绘了根据本公开的某些方面的来自图3的框架的实施方式的示例。
图6描绘了根据本公开的某些方面的用于在图1-图5的一个或多个示例中使用的空间-时间记忆读取的实施方式的示例。
图7描绘了根据本公开的某些方面的用于训练在图1-图6的一个或多个示例中使用的空间-时间记忆网络的训练系统的示例。
图8描绘了用于实施本公开的一个或多个方面的计算系统的示例。
图9描绘了某些方面和现有技术之间的准确度和速度比较的示例。
图10描绘了使用本文描述的某些方面实现的定性结果的示例。
图11描绘了本文描述的空间-时间记忆读取操作的示例的可视化。
图12描绘了具有和没有由本文描述的某些方面使用的中间帧记忆的结果之间的视觉比较的示例。
图13描绘了具有使用由本文描述的某些方面使用的不同记忆管理规则获得的结果的示例的表。
具体实施方式
某些方面涉及使用空间-时间记忆网络来定位视频内容中的一个或多个目标对象,以用于分割或其他对象分类。例如,使用空间-时间记忆网络的视频编辑器接收视频的一个帧中的目标特征的选择,并且经由应用于查询帧和一个或多个记忆帧的空间-时间记忆网络,将视频的一个或多个其他帧的一个或多个部分自动分类为具有该目标特征。空间-时间记忆网络包含外部记忆存储装置,以用于储存关于记忆帧的分类数据(例如,应用于记忆帧中的目标对象的分割掩模)。在一些方面,利用由该储存的分类数据提供的指导可以避免在线学习方法中存在的计算资源的低效利用。在附加的或备选的方面,空间-时间记忆网络可以提供比可以用于对象分割或其他分类任务的现有记忆网络更大的灵活性。
提供以下非限制性实例以介绍某些方面。在该示例中,能够访问空间-时间记忆网络的视频编辑器用于对视频内容执行一个或多个特征分类操作,诸如对一个或多个目标对象的分割。视频编辑器接收或以其他方式访问视频内容的查询帧。查询帧包括描绘目标特征的视觉内容,目标特征诸如可能与背景内容一起显示(例如,人站立的繁忙街道)的目标对象(例如,穿着西装的人)。视频编辑器通过将空间-时间记忆网络应用于查询帧来执行分类任务。例如,视频编辑器通过将空间-时间记忆网络的一个或多个编码器和一个或多个嵌入层应用于查询帧的特征,来生成针对查询帧的查询键图和查询值图。查询键图和查询值图可以用于实施空间-时间记忆读取操作,其中视频编辑器至少部分地基于来自所储存的记忆帧的分类信息(例如,分割数据),将查询帧中的内容分类为具有目标特征。
为了执行空间-时间记忆读取操作,视频编辑器从记忆取回记忆键图和记忆值图。从视频内容的记忆帧的集合计算记忆键图和记忆值图中的每个。记忆帧是先前已应用空间-时间记忆网络以生成特征分类数据的帧。在涉及分割的示例中,记忆帧是已经用空间-时间记忆网络针对其计算目标对象的分割掩模的视频帧,而查询帧缺少用于目标对象的分割掩模。可以至少部分地在手动标识目标特征的用户输入上生成记忆帧。例如,记忆帧中的至少一个记忆帧包括目标特征的第一选择(例如,分割掩模),其由空间-时间记忆网络基于视频内容的真值帧中的目标特征的用户指定的选择(例如,初始视频帧中的用户指定的分割掩模)以及针对不同的记忆帧计算的目标特征的另一选择(即,针对初始视频帧之后的视频帧的自动生成的分割掩模)来计算。
继续该示例,视频编辑器从记忆键图和查询键图计算记忆权重。例如,空间-时间记忆读取操作可以包括执行相似性函数,该相似性函数测量在记忆键图与查询键图中的条目的对之间的相似性。记忆权重可以表示所计算的相似性。视频编辑器将从键图计算的这些记忆权重应用于查询和记忆值图,并且从而执行对象分类操作。例如,空间-时间记忆读取操作包括加权和,在加权和中,记忆权重被应用于记忆值图中的记忆位置。加权和可以用于将查询帧中的某些内容分类为具有目标特征。在涉及分割的示例中,加权和与查询值图级联,并且级联的结果被解码为用于查询帧的分割掩模。以这种方式,用于其他视频帧的分割掩模以及查询帧内容与记忆帧的内容之间的相似性都用于构建用于查询帧的准确的分割掩模。
用于基于记忆的视频特征分类的操作环境示例
现在参考附图,图1描绘了用于基于记忆的分割或其他视频处理的视频编辑环境100的示例。视频编辑环境100包括可以在一个或多个计算设备上执行的视频处理引擎102,以及视频数据存储库104。视频处理引擎102可以被包括在视频编辑器中或由视频编辑器可访问,该视频编辑器可以将一个或多个视觉效果添加到视频,诸如改变背景的颜色、改变前景的颜色、添加插图等。视频编辑可以涉及标识目标特征,该目标特征要跨多个帧被编辑、将跨多个帧保持不变、或其一些组合。在一个示例中,视频编辑可以涉及将前景像素与背景像素分离。前景像素和背景像素的这种分离通常是用于其他视频编辑的初步步骤,其他视频编辑诸如操纵对象的颜色和添加视觉效果(例如,从背景内容中分割要被编辑的前景对象,该前景对象可以被丢弃或保持不变)。
视频编辑环境100可以标识这些目标特征以在一个或多个视频帧中编辑。为此,视频编辑环境100可以实施涉及离线学习的某些方面。例如,视频编辑环境100可以使用多个先前帧(诸如记忆帧108)作为在对查询帧106执行视频处理操作时的指导。
在视频编辑环境100中,视频处理引擎使用空间-时间记忆网络103。空间-时间记忆网络103是已经被训练以从记忆帧108读取相关信息以用于计算查询特征分类数据134的神经网络模型。记忆帧108可以是来自视频内容的帧,已经针对该帧计算了记忆特征分类数据110。空间-时间记忆网络103用于为查询帧106计算查询特征分类数据134。查询帧106可以是视频内容的帧,其具有可以描绘或可以不描绘目标特征或对象的内容。在一个示例中,查询帧106包括描绘目标特征或对象的内容,但缺少将该内容分类为描绘目标特征或对象的数据。空间-时间记忆网络103可以是具有外部记忆存储装置(例如,视频数据存储库104)的神经网络模型,可以向该外部记忆存储装置写入信息并且可以从中读取信息。
在涉及视频编辑环境100的一个示例中,视频处理引擎102使用空间-时间记忆网络103,以基于经由输入设备接收的边界点击集合或其他用户输入来标识“真值(groundtruth)”帧中的目标对象。视频处理引擎102实时地学习目标特征的外观。为此,视频处理引擎102可以执行半监督视频特征分类(例如,分割)。半监督视频对象分割涉及基于一个或多个用户输入(例如,边界点击)标识用于第一帧的特征分类数据(例如,分割掩模)。半监督视频特征分类还涉及估计包括对象的目标特征的、视频中的其他帧的特征分类数据(例如,分割掩模)。
空间-时间记忆网络103用于执行该半监督视频特征分类。例如,一个或多个先前帧及其相关联的掩模估计被储存到外部记忆(例如,视频数据存储库104)中。访问外部记忆以计算查询帧的查询特征分类数据134(例如,所估计的分割掩模)。以键和值向量的对的形式来储存像素级别记忆。键用于寻址并且值用于读取状态以输出结果。空间-时间记忆网络103学习匹配键以寻址相关的记忆,并且将对应的值组合以返回输出。
例如,记忆特征分类数据110可以包括指示在记忆帧的一个或多个部分中存在或不存在目标特征的任何数据。查询特征分类数据134可以包括指示在查询帧的一个或多个部分中存在或不存在目标特征的任何数据。例如,特征分类数据可以包括概率图。概率图可以包括任何合适的数据结构,该数据结构具有指示各种像素是目标对象的一部分或包括一些其他目标特征的可能性的条目。用于概率图的数据结构的一个示例是具有与数字图像中的像素相对应的条目的二维矩阵,其中每个条目反映对应像素是目标对象的一部分的可能性。
用于特征分类数据的用例的一个示例是提供分割掩模。例如,记忆特征分类数据110、查询特征分类数据134或两者可以包括将帧中的一个或多个目标对象分类为属于前景或背景的数据(即,将帧分割成描绘一个或多个目标对象的前景像素和描绘除目标对象之外的内容的背景像素)。
在深度网络中,卷积操作具有有限的接收场并且可以混合“局部”区域中的信息。空间-时间记忆网络103可以将向量化的中间特征图(即,记忆特征分类数据110)储存到视频数据存储库104中。空间-时间记忆网络103可以通过非局部匹配来全局地(在空间和时间上非局部地)取回向量化的中间特征图,并且使用“非局部”信息来分割目标对象。“非局部”匹配涉及匹配过程在时间上不受限于检查某些帧(例如,具有接近的时间索引的帧,诸如紧接在前的帧)或在空间上不受限于检查帧的某些区域的匹配。
在一个示例中,给定用于真值帧112(例如,第一视频帧)的用户指定的特征选择数据114,视频处理引擎102使用空间-时间记忆网络103来估计针对每个查询帧中的目标对象的查询特征分类数据134。在一个示例中,从第二帧开始并使用应用于第一帧(即,真值帧112)的真值注释来顺序地处理视频帧。例如,真值注释可以是由来自用户输入设备的一个或多个选择输入(例如,标识目标对象的边界的鼠标点击)指定的分割掩模。在该示例中,记忆帧108是具有分割掩模(在第一帧处给定或在其他帧处估计)的先前处理的帧(或真值帧)。查询帧106是当前在考虑下的帧,即,没有用于目标对象的分割掩模的帧。
记忆帧和查询帧都被嵌入到键-值对中。例如,在空间-时间记忆网络103中,查询图生成操作116和记忆图生成操作118用于编码视频帧并将其嵌入到特征向量中。特征向量分别被嵌入到键(输入)向量和值(输出)向量中。例如,查询图生成操作116输出查询键图122和查询值图124。记忆图生成操作118输出针对至少一个记忆帧108的对应的记忆键图126和记忆值图128。在本文中关于图3和图4描述了用于生成键图和值图的编码和嵌入操作的附加细节。
空间-时间记忆读取120使用这些键-值从记忆帧中取回与查询帧相关的信息。在一个示例中,通过空间-时间记忆读取120,密集地匹配从查询帧和一个或多个记忆帧两者计算的键嵌入图上的每个像素。这可以允许空间-时间记忆网络103寻址视频的空间-时间空间中的长期记忆。
解码器130接收由空间-时间记忆读取120生成的输出值图132作为输入。解码器130为查询帧106中的目标对象重建所估计的查询特征分类数据134(例如,分割掩模)。在本文中关于图3和图5描述了空间-时间记忆读取120和解码器操作的附加细节。
空间-时间记忆网络103中的记忆可以是动态的,因为记忆的大小随着视频处理的进行而扩展。按帧顺序地分割目标对象。新计算的分割掩模及其相关联的视频帧被添加到记忆中。这些特征可以增加图1中描绘的系统的灵活性。这些特征还可以使图1所描述的系统稳健,因为通过将这些视频帧写入记忆,可以将具有分割掩模的任何视频帧用作参考帧。记忆大小没有限制,因为它在外部、与网络参数分离地被储存。相比之下,现有记忆网络中的记忆大小在整个过程中是固定的。
在一些方面,使用空间-时间记忆网络103允许视频处理引擎102减少误差,否则如果跨多个帧自动填充分割掩模,则误差可能发生(即,在现有的分割技术中)。例如,可以训练空间-时间记忆网络103以从外部记忆(例如,视频数据存储库104)读取相关信息,以将查询帧分类为具有某些目标特征(例如,重建或以其他方式计算用于查询帧中的目标对象的分割掩模),该外部记忆从具有分割掩模或其他特征分类数据的一个或多个经注释的帧构建。在前向传递期间执行记忆读取,这可以减少在线微调的需要。具有视频处理引擎102的视频编辑器可以允许终端用户细化误差(例如,经由修改分割掩模的一个或多个部分的附加的用户输入),这些误差仍然可能发生,但是这些误差可能不如在没有视频处理引擎的情况下发生的误差那么严重。
在附加的或备选的方面中,图1中所描绘的视频处理引擎102可以执行对外观变化或漂移稳健的特征分类操作(例如,分割)。空间-时间记忆网络103可以通过将中间帧的结果写入记忆中而灵活地适应随时间改变的对象的外观。例如,采用在线学习来让网络理解目标对象的可能的外观变动,使得网络可以处置目标对象的外观变化。相反,使用离线学习的空间-时间记忆网络103可以在保持对记忆中的特征分类数据(例如,前景信息和背景信息)的跟踪,并通过取回记忆中的相关信息来使用该信息。在一些方面,代替在测试时间针对可能的输入变动训练记忆网络,记忆网络学习如何取回可一般化的相关信息,并且因此可以在没有在线学习的情况下处置外观变化。
如上所述,先前的方法以低效(例如,通过依赖在线训练)或者通过受限于通过网络结构仅访问第一帧和最后帧的方式来使用由过去的帧提供的信息。本文描述的一些方面可以避免这些缺点中的一个或多个。例如,某些方面使用不要求在线训练的空间-时间记忆网络103。附加的或备选的方面提供了灵活性,因为可以通过将具有特征分类数据(例如,分割掩模)的任何视频帧写入记忆而将其用于参考。可以使用张量级联来执行写入新记忆。可以避免对记忆大小的结构限制。因此,本文描述的某些实施方式使用可以通过将中间结果写入记忆中而在视频处理期间被动态地加强的空间-时间记忆网络。
用于基于记忆的视频特征分类的过程示例
图2描绘了用于执行基于记忆的视频特征分类的过程200的示例。关于图2-图6描述的一个或多个操作可以用于实施用于将查询帧的内容分类为描绘目标特征的步骤,该步骤通过将空间-时间记忆网络应用于查询帧和一个或多个记忆帧。在一些方面,一个或多个计算设备通过执行合适的程序代码(例如,视频处理引擎102)来实施图2中描绘的操作。出于说明的目的,参考附图中描绘的某些示例来描述过程200。但是,其他实施方式也是可能的。
在框202处,过程200涉及从视频内容访问具有描绘目标特征的内容的查询帧。例如,视频处理引擎102可以访问来自视频数据存储库104的视频内容,视频数据存储库104可以位于在数据网络上可用的一个或多个存储器设备上、位于连接到执行视频处理引擎102的计算设备上的数据总线的一个或多个存储器设备上,或其一些组合。
视频内容可以包括真值帧112,真值帧112包括用户指定的特征选择数据114或与之相关联。真值帧112的示例是视频内容的第一帧或对象分类过程中涉及的第一帧(例如,被用户作用并且用作关于后续帧的真值帧的帧)。可以经由一个或多个用户输入指定用户指定的特征选择数据114。在一个示例中,一个或多个用户输入可以标识目标对象或特征的边界,其表示目标对象或特征的像素或其他部分等。
视频内容还可以包括已经针对其计算了记忆特征分类数据110(例如,分割掩模)的一个或多个记忆帧108(例如,在第一帧之后的视频内容的第二帧和序列中的任何中间帧)。查询帧可以是视频内容的另一帧(例如,在第一帧和第二帧之后的视频内容的第三帧以及序列中的任何中间帧)。查询帧可能缺少经由视频处理引擎102计算或经由用户输入指定的用于目标特征的特征分类数据(例如,用于目标对象的分割掩模)。
在一个示例中,在框202处访问的查询帧是要针对其计算分割掩模的视频帧。例如,视频处理引擎102可以访问来自视频数据存储库104的视频内容,视频数据存储库104可以位于在数据网络上可用的一个或多个存储器设备上、位于连接到执行视频处理引擎102的计算设备上的数据总线的一个或多个存储器设备上,或其一些组合。视频内容可以包括真值帧112(例如,视频内容的第一帧),已经经由一个或多个用户输入针对真值帧112指定了掩模。视频内容还可以包括已经针对其计算了分割掩模的一个或多个记忆帧108(例如,在第一帧之后的视频内容的第二帧和序列中的任何中间帧)。查询帧可以是视频内容的另一帧(例如,在第一帧和第二帧之后的视频内容的第三帧以及序列中的任何中间帧)。查询帧可能缺少经由视频处理引擎102计算或经由用户输入指定的分割掩模。
在框204处,过程200涉及从查询帧的特征生成查询键图和查询值图。在一个示例中,生成查询键图和查询值图涉及将空间-时间记忆网络(例如,空间-时间记忆网络103)的编码器和空间-时间记忆网络的嵌入层应用于查询帧的特征。视频处理引擎102可以在框204处执行操作集合,其包括将查询帧编码成查询特征图并将查询特征图嵌入到查询键图122和查询值图124中。例如,视频处理引擎102可以执行空间-时间记忆网络103的查询编码器。查询编码器可以将查询帧图像编码成具有H×W×C维度的特征图。视频处理引擎102可以经由空间-时间记忆网络103的一个或多个嵌入层将特征图嵌入到较低维度数据结构中,诸如具有低于特征图的维度(例如,H×W×C/8的维度)的查询键图122和具有高于查询键图122的维度(例如,H×W×C/2的维度)的查询值图124。
在一些方面,过程200包括框205,框205包括用于生成记忆键图和记忆值图的操作。图2中的虚线指示:在一些方面,框205可以由视频处理引擎102执行,并且在其他方面,框205可以由单独的引擎或与执行过程200中的其他操作的计算设备不同的计算设备执行。例如,视频处理引擎102或其他合适的引擎也可以生成用于记忆帧的特征的记忆键图和记忆值图。对于由过程200使用的每个记忆帧108,视频处理引擎102或其他合适的引擎可以在执行框204之前或与执行框204同时地执行操作集合,该操作集合包括将记忆帧108和相关联的记忆特征分类数据110(例如,分割掩模)编码到记忆特征图中并且将记忆特征图嵌入到记忆键图126和记忆值图128中。
在一个示例中,可以通过计算针对记忆帧的集合中的相应的记忆帧的个体记忆特征图来实施框205。计算针对相应的记忆帧的个体记忆特征图可以包括访问相应的记忆帧以及由空间-时间记忆网络103针对相应的记忆帧计算的相应的记忆分割掩模。计算个体记忆特征图还可以包括通过级联相应的记忆帧和相应的分割掩模来生成经级联的输入。计算个体记忆特征图还可以包括将经级联的输入输入到空间-时间记忆网络103的记忆编码器。计算个体记忆特征图还可以包括用记忆编码器将经级联的输入编码到个体记忆特征图中。例如,视频处理引擎102可以执行编码器,该编码器将输入(诸如记忆帧图像及其相关联的记忆特征分类数据110的级联)编码到具有H×W×C的维度的特征图中。
框205还可以包括将个体记忆特征图嵌入到个体记忆键图的集合和个体记忆值图的集合中。每个个体记忆键图可以具有比对应的个体记忆值图更小的维度。例如,类似于上面讨论的查询帧嵌入,视频处理引擎102可以将特征图嵌入到更低维度的数据结构中,诸如具有低于特征图的维度(例如,H×W×C/8的维度)的记忆键图126和具有高于查询键图122的维度(例如,H×W×C/2的维度)的记忆值图128。框205还可以涉及经由沿个体记忆键图的集合中的时间维度堆叠将个体记忆键图的集合组合成记忆键图。框205还可以涉及经由沿个体记忆值图的集合中的时间维度堆叠将个体记忆值图的集合组合成记忆值图。
这些编码和嵌入操作可以扩展记忆网络技术的功能性,下面关于图3和图4更详细地描述这些编码和嵌入操作的示例。例如,先前的记忆网络利用一维记忆,诸如特征向量的序列,在一个示例中,该特征向量的序列可以用于经由记忆的问题回答,该记忆具有一系列槽,其中每个槽包含句子的嵌入特征。本文描述的各方面可以将该记忆网络技术直接扩展到视频内容,其中记忆包含一系列槽,每个槽具有帧的全局特征。为了有助于用于视频分割或其他特征分类任务的逐像素决策,空间-时间记忆网络103中的三维记忆(即,特征图、键图和值图的使用)提供空间-时间表示。空间-时间记忆网络103使用三维张量,其中地址对应于视频上的空间-时间位置,并且可以用张量级联来执行写入新记忆。利用空间-时间记忆,可以实施空间-时间记忆读取操作,其将查询(帧中的像素)与被储存在记忆中的信息进行匹配。
例如,在框206处,过程200涉及:针对来自视频内容的一个或多个记忆帧,取回从来自视频内容的记忆帧的集合计算的记忆键图和记忆值图。这些记忆帧中的至少一个具有目标特征的第一选择,该目标特征的第一选择基于(i)对视频内容的真值帧中的目标特征的用户指定的选择和(ii)对针对第二记忆帧计算的目标特征的第二选择来计算。在一个示例中,给定的记忆帧可以具有所计算的分割掩模,该所计算的分割掩模基于关于真值帧112的用户指定的掩模(例如,第一帧中的经由用户输入标识的目标对象的真值掩模)来生成。视频处理引擎102可以使用真值掩模来计算用于第二帧的掩模,其中第二帧作为记忆帧108与所计算的分割掩模一起被储存。在该示例中,可以在框206处取回记忆帧,以用于计算关于查询帧106的分割掩模。
在框208处,过程200涉及:通过将相似性函数应用于在框206处取回的查询键图和记忆键图来计算一个或多个记忆权重。例如,视频处理引擎102通过计算软权重(即,记忆权重)来执行空间-时间记忆读取120。视频处理引擎102可以通过测量来自查询键图122和记忆键图126的一些或所有对之间的相似性来计算这些记忆权重。视频处理引擎102可以通过比较记忆中的每个空间-时间位置以非局部方式执行相似性匹配。在一个示例中,一个或多个记忆帧和查询帧上的中间特征向量非局部地密集匹配,以前向馈送方式覆盖空间时间像素。
在框210处,过程200涉及:基于加权和将记忆帧中的内容分类为描绘目标特征,该加权和包括应用于记忆值图中的记忆位置的记忆权重。例如,视频处理引擎102可以从记忆值图128中取回各种记忆值。视频处理引擎102可以将加权和应用于所取回的记忆值,其中用来自框208的记忆权重对求和进行加权。视频处理引擎102可以将加权和与查询值级联。视频处理引擎102可以解码该经级联的输出以获得查询特征分类数据134。在一个示例中,该分类涉及:基于加权和来生成用于查询帧的分割掩模,该加权和包括应用于记忆值图中的记忆位置的记忆权重(例如,经由解码操作构造用于查询帧的分割掩模)。
在一个示例中,视频处理引擎102通过将来自框204的查询值图与在框210处的加权和级联来计算输出值图。视频处理引擎102可以通过解码该输出值图(即,空间-时间记忆读取120的输出)来构造查询特征分类数据134。在本文中关于图6描述了实施框210的附加示例。
用于空间-时间记忆网络的实施方式的示例
图3描绘了用于空间-时间记忆网络103的框架的示例,其针对给定的查询帧106生成分割掩模320。出于说明的目的,该示例涉及对视频内容中目标对象的分割。但是图3中描绘的架构可以用于出于其他特征分类目的而使用的空间-时间记忆网络。
在该示例中,记忆帧和查询帧都通过专用编码器网络、接着是键-值嵌入层而被嵌入到键图和值图的对中。每个键图用于计算来自查询帧的数据和来自一个或多个记忆帧的数据的相似性。每个值图包括记忆帧的内容(例如,描述记忆帧的分割掩模和背景区域的数据)。
在图3中,已经将记忆图生成操作118分别应用于具有所计算的分割掩模300a-300c的各种记忆帧108a-108c。记忆图生成操作118涉及例如视频处理引擎102应用记忆编码器301。记忆编码器301分别对记忆帧108a-108c执行编码操作302a-302c。在给定的编码操作中,视频处理引擎102向记忆编码器301输入记忆帧(例如,RGB帧图像)和针对记忆帧计算的对应的分割掩模。
在一些方面,分割掩模被表示为具有0和1之间的值的单个通道概率图。例如,softmax输出可以用于所估计的分割掩模。视频处理引擎沿通道维度级联输入,并且将经级联的输入提供给记忆编码器301。记忆编码器301生成特征图。
在一些方面,视频处理引擎102通过将一个或多个记忆嵌入层303应用于记忆编码器301的输出来执行记忆图生成操作118。应用一个或多个记忆嵌入层303将记忆编码器301的输出嵌入到键-值图对中。例如,一个或多个记忆嵌入层303可以分别对编码操作302a-302c的输出执行键-值嵌入操作304a-304c。记忆嵌入层303的集合的示例是卷积层的集合(例如,两个并行的卷积层)。在一个示例中,每个卷积层使用3×3过滤器,其减小了特征通道大小(例如,对于键参数为8倍,并且对于值参数为2倍)。
如果多个记忆帧108a-108c可用,则记忆帧108a-108c中的每个被独立编码并被嵌入到相应的键-值图对中,如上面关于图2中的框205所描述的。来自不同记忆帧的键-值图对例如经由一个或多个级联层306沿时间维度堆叠。例如,沿时间维度堆叠个体记忆键图的集合以生成三维记忆键图,并且沿时间维度堆叠个体记忆值图的集合以生成三维记忆值图。
记忆嵌入的输出是键-值记忆数据308。键-值记忆数据308包括三维键-值图对。包括键图kM和值图vM的键-值图对可以由以下公式表示:
Figure BDA0002146769170000161
在该公式中,T是记忆帧的数目,H是编码器特征图的高度(即,记忆编码器301的最后的卷积输出),W是编码器特征图的宽度,并且C是编码器特征图特征维度。
在图3中描绘的示例中,可以经由查询图生成操作116将没有分割掩模的查询帧嵌入到键-值查询数据314中。为此,视频处理引擎102应用执行编码操作310的查询编码器309,接着是执行一个或多个键-值嵌入操作312的一个或多个查询嵌入层313。应用一个或多个查询嵌入层313将查询编码器309的输出嵌入到键-值图对中。查询嵌入层313的集合的示例是卷积层的集合(例如,两个并行卷积层)。在一个示例中,每个卷积层使用3×3过滤器,其减小了特征通道大小(例如,对于键参数为8倍,并且对于值参数为2倍)。
以类似于记忆帧108a-108c、与记忆帧编码有一些差别的方式将查询帧106嵌入到键-值图对中。例如,查询编码器309的输入是没有分割掩模的帧(例如,RGB图像)。作为另一示例,单个查询帧被嵌入到查询键-值图中。
键-值嵌入操作312的输出是键-值查询数据314。键-值查询数据314可以包括2D的键图kQ和值图vQ的对,由以下公式表示:
Figure BDA0002146769170000171
在该公式中,H是编码器特征图的高度(即,执行编码操作310的查询编码器309的最后的卷积输出),W是编码器特征图的宽度,并且C是编码器特征图的特征维度。
图4描绘了应用于在图3的框架中使用的记忆编码器301或查询编码器309的输出的嵌入操作的示例。该示例可以用于实施图3中所描绘的任何嵌入操作304a-304c和312,在该示例中,来自编码器的特征图通过两个并行卷积层(例如,记忆嵌入层303的集合和/或查询嵌入层313的集合)线性地嵌入到键图和值图中。在该示例中,具有H×W×C大小的编码器特征图402被提供给键卷积层404和值卷积层406。键卷积层404输出具有H×W×C/8大小的键图408。值卷积层406输出具有H×W×C/2大小的值图410。
回到图3,记忆读取子网315执行空间-时间记忆读取120。解码器130从空间-时间记忆读取120的输出和由查询编码器309生成的查询特征图计算用于查询帧106的分割掩模320。解码器接收空间-时间记忆读取120的输出作为输入。该输出可以是例如查询值图和记忆值图的级联张量,记忆值图经由记忆图生成操作118生成并从记忆被取回以便使视频处理引擎102生成分割掩模320。解码器还接收由查询编码器309生成的查询特征图作为另一输入。查询编码器309可以经由一个或多个跳跃连接418向解码器130提供查询特征图。解码器130从这些输入重建或以其他方式构建分割掩模320。
图5描绘了来自图3的框架的实施的示例。仅出于说明的目的提供图5中所描绘的实施方式。可以使用其他编码器或解码器架构来实施上面关于图3描述的编码和解码操作。
在图5中,具有50层的深度残差网络(“ResNet50”)被用作记忆编码器和记忆解码器的骨干网络。ResNet包括堆叠的“残差单元”的集合,每个单元可以表示为
Figure BDA0002146769170000181
xl+1=f(yl),
其中xl和xl+1是第l个单元的输入和输出、
Figure BDA0002146769170000182
是残差函数、h(xl)=xl是身份映射,并且f是校正线性单位函数。ResNet可以用于记忆编码器301、查询编码器309或两者(如图5的示例中所描绘)。例如,具有输出步幅16的级4(res4)特征图可以用作编码器输出,以用于经由键-值嵌入操作304a-304c和312中的每个计算键-值嵌入。在记忆编码器301中,第一卷积层通过植入附加的单个通道过滤器而被修改为能够采用四通道张量。可以从合适的经预训练的模型(例如,ImageNet模型)初始化网络权重,其中随机初始化某些添加的过滤器。
在该示例中,视频处理引擎102采用细化模块作为解码器的构建块。细化模块502a-502c中的每个可以允许解码器130合并不同尺度的特征。在细化模块502a的一个示例中,3×3卷积层504跟随有第一残差块506。第一残差块506的输出与上采样块508的输出组合,并且向第二残差块512提供经组合的输出。
在图5中描绘的示例中,空间-时间记忆读取120的输出被卷积层和残差块(统称为卷积块501)压缩为具有256个通道。多个细化模块通过每级两倍将经压缩的特征图逐渐地升尺度。在给定的级,细化模块接收前一级的输出以及通过跳跃连接接收对应尺度的来自查询编码器309的查询特征图。
在图5中,细化模块502a的上采样块508接收由卷积块501输出的经压缩的特征图作为输入,并且细化模块502a的卷积层504经由跳跃连接318中的一个接收对应尺度的来自查询编码器309的查询特征图作为输入。类似地,细化模块502b的上采样块接收由细化模块502a输出的经压缩的特征图作为输入,并且细化模块502b的卷积层经由跳跃连接318中的一个接收对应尺度的来自查询编码器309的查询特征图作为输入。细化模块502c的上采样块接收由细化模块502b输出的经压缩的特征图作为输入,并且细化模块502c的卷积层经由跳跃连接318中的一个接收对应尺度的来自查询编码器309的查询特征图作为输入。
在该示例中,解码器130可以包括多个细化模块(每个细化模块包括在细化模块502a内描绘的块)和最终卷积层、接着是softmax层(共同描绘为图5中的元件514),以生成分割掩模。掩模输出的大小可以是输入图像大小的1/4。相应的细化模块中的每个卷积层504可以使用3×3过滤器。每个细化模块的卷积层504可以产生具有256个通道的特征图。元件514中描绘的最终卷积层可以产生双通道特征图。
图6描绘了实施空间-时间记忆读取120的示例。在该示例中,使用深度学习平台上的基本张量操作来实施空间-时间记忆读取120。记忆读取子网315可以具有适于实施这些张量操作的各种层。
在该示例中,视频处理引擎102访问键-值查询数据602,其包括查询键图606(即,kQ)和查询值图608(即,vQ)。在一些方面,键-值查询数据602由图3中描绘的编码操作310和键-值嵌入操作312生成。视频处理引擎102还访问键-值记忆数据604,其包括记忆键图610(即,kM)和记忆值图612(即,vM)。在一些方面,键-值记忆数据604由图3中描绘的一个或多个编码操作302a-302c和一个或多个对应的键-值嵌入操作304a-304c生成。
视频处理引擎102通过测量查询键图606上的像素与每个记忆键图610上的像素之间的相似性来计算软地址(即,记忆权重)。以比较记忆中的空间-时间位置的非局部方式执行相似性匹配。因此,关于查询键图606和给定记忆键图610的距离或其他相似性度量用于计算记忆权重,该记忆权重被应用于从与给定记忆键图610相同的记忆帧生成的记忆值图612。
为了计算软地址,视频处理引擎102应用操作614以重新成形和转置查询键图606,并且应用操作616以重新成形和转置记忆键图610。视频处理引擎102还将矩阵乘积操作620应用于这些重新成形和转置操作614和616的输出。视频处理引擎102还应用softmax计算624以输出软地址作为记忆权重。
视频处理引擎102使用具有软地址(即,记忆权重)的加权和来修改记忆值图612,如由矩阵乘积操作627所描绘的。视频处理引擎102还应用级联626,其将如经由转置和重新成形操作618和矩阵乘积操作627而被修改的记忆值图与查询值图608级联。级联626输出输出值图628(即,值图y)。输出值图628作为空间-时间记忆读取120的输出被提供给解码器130。
视频处理引擎可以将空间-时间记忆读取120应用于由查询编码器输出的查询特征图上的每个位置。空间-时间记忆读取120可以概括为:
Figure BDA0002146769170000201
在等式(1)中,i和j分别是查询和记忆位置的索引。函数
Figure BDA0002146769170000202
是归一化因子,并且[·,·]指示级联。相似性函数f可以是点积相似性的指数,诸如:
Figure BDA0002146769170000203
在等式2中,°表示点积。
训练操作的示例
图7描绘了用于训练由视频处理引擎102使用的空间-时间记忆网络的训练系统700的示例。训练系统700还可以包括执行训练引擎704的一个或多个处理设备。训练引擎704可以经由训练过程修改初始空间-时间记忆网络702,从而输出经训练的空间-时间记忆网络716(例如,图1-6中所描绘的空间-时间记忆网络103)以供视频处理引擎102使用。训练系统700还可以包括(或通信地耦合到)储存训练数据710的一个或多个存储器设备。
训练引擎704训练初始空间-时间记忆网络702以读取来自外部存储器中的由像素级别注释构建的记忆帧的集合(例如,具有分割掩模的一个或多个视频帧)的相关信息。在一些方面,由训练引擎704执行的训练过程联合训练各种网络段和层(例如,查询和记忆编码器、嵌入层、记忆读取子网和解码器)。在训练过程中,训练引擎704在第一训练阶段706中在从静态图像数据集生成的模拟数据712上训练空间-时间记忆网络103。训练引擎704还在第二训练阶段708中在未模拟(例如,真实的)视频数据714上训练初始空间-时间记忆网络702。在一些方面,使用训练阶段706和708两者可以提高由训练系统700输出的经训练的空间-时间记忆网络716的性能。例如,在第一训练阶段706期间遇到的各种各样的对象可以帮助经训练的空间-时间记忆网络716的一般化的性能。
在一些方面,初始空间-时间记忆网络702经由训练过程来学习远距离像素之间的语义空间-时间匹配。这可以允许初始空间-时间记忆网络702在不要求长的训练视频或对输入视频的时间一致性进行约束的情况下被训练,这又允许空间-时间记忆网络使用不同的编码器或解码器架构。例如,训练引擎704可以用具有分割掩模的相对小数目的帧(例如,应用于初始图像的真值掩模和具有分割掩模的小数目的其他图像)来训练空间-时间记忆网络103。由于少量的训练数据可以用于准确训练初始空间-时间记忆网络702,因此静态图像数据集可以用于模拟训练视频帧(即,生成模拟数据712)。生成模拟数据712可以涉及将静态图像的集合中的每个静态图像变换为多个图像的集合,该图像的集合共同包括训练“帧”,而不要求时间上一致的视频帧的长序列。
例如,训练系统700可以用于通过将具有不同参数的随机仿射变换(例如,旋转、剪切、缩放、平移和裁剪)应用于来自静态图像数据集的静态图像来生成具有三个训练帧的合成视频剪辑。训练系统700可以用于将得到的图像数据集与标识分割掩模的注释或标识感兴趣目标特征的其他注释组合。可以使用显著对象检测或语义分割来生成注释。在第一训练阶段706中,训练引擎704可以使用包括具有注释的分割掩模的这些静态图像数据集的模拟数据712来训练空间-时间记忆网络103。在一些方面,应用该第一训练阶段706可以允许空间-时间记忆网络103对于各种各样的对象外观和类别是稳健的。
第一训练阶段706可以修改初始空间-时间记忆网络702的一个或多个组件(例如,一个或多个编码器、嵌入层、记忆读取子网、解码器等),以成为过渡空间-时间记忆网络。在第二训练阶段708中,训练引擎704可以用视频数据714进一步训练过渡空间-时间记忆网络。视频数据714可以包括用附加分割掩模或标识感兴趣目标特征的其他注释来注释的真实视频数据。真实视频数据可以是由视频记录设备捕获的帧的序列,而不是通过将静态图像变换为多个图像的集合而生成的模拟视频数据。例如,训练引擎704可以访问可用的训练集合(例如,经由网站可获得的训练视频、私有的训练视频的集合等)。训练引擎704可以用于从训练视频中采样临时排序的帧的集合(例如,三个帧的序列)。为了长时间学习外观变化,训练引擎704可以在采样期间随机跳过帧。在一个示例中,在训练期间,要被跳过的帧的最大数目从0逐渐增加到25。
训练阶段706和708中的每个可以涉及配置用于执行图3-图6中描绘的以及在上面描述的各种操作(例如,编码和嵌入各种帧并准确地计算查询帧和记忆帧的键图之间的相似性)的神经网络(或网络)。在一个示例中,每个训练阶段都可以涉及使用来自训练视频的帧的随机裁剪的384×384个图块。在该示例中,小批量大小被设置为4,并且批量归一化层被禁用。诸如亚当随机优化的合适的优化器可以由训练引擎704使用。
多对象分割的示例
出于说明的目的,上文描述的某些方面和示例涉及视频中的单个目标对象。但是附加的或备选的方面可以涉及生成用于多个目标对象的分割掩模。
例如,在用于分割查询帧中的多个目标对象的步骤中,视频处理引擎102可以通过使用掩模合并操作来选择多个目标对象。掩模合并操作可以涉及为多个目标对象独立地计算分割掩模。对于每个期望的目标对象,视频处理引擎102应用空间-时间记忆网络103以生成分割掩模。如上面所解释的,给定的分割掩模可以被表示用0和1之间的值填充的单个通道概率图。因此,视频处理引擎102为多个目标对象计算彼此独立的相应的掩模概率图。
视频处理引擎102使用软聚合操作来合并这些掩模概率图(即,分割掩模)。在软聚合操作的一个示例中,可以使用以下公式生成经合并的掩模概率图:
Figure BDA0002146769170000231
在等式(3)中,σ和l分别表示softmax和logit函数,
Figure BDA0002146769170000232
是在像素位置i处的对象m的网络输出概率,m=0指示背景,M是对象的总数目,并且pi,m是在执行掩模合并操作之后在像素位置i处的对象m的概率。在测试时间(例如,当应用经训练的空间-时间记忆网络103时),视频处理引擎102基于pi,m超过阈值、与用于其他目标对象的pi,m值相比具有最大概率、或其一些组合而将像素分类为描绘目标对象I中的特定的一个目标对象。强制执行等式(3)中的条件可以确保为M个不同的目标对象生成M个不相交的掩模概率图。
在一些方面,视频处理引擎102在训练和测试两者中执行掩模合并。例如,视频处理引擎102可以将等式(3)实施成差分网络层,而不是仅在测试期间执行掩模合并作为后处理步骤。视频处理引擎102可以在训练阶段和测试阶段期间应用差分网络层。例如,在训练阶段706和708中的一个或多个中,训练引擎704可以修改空间-时间记忆网络103的架构的一个或多个方面,使得在等式(3)中包括的条件(即,
Figure BDA0002146769170000233
)被强制执行。以这种方式,视频处理引擎102执行每个像素M+1种分类(如语义分割)。可以使用交叉熵来训练由视频处理引擎使用的空间-时间记忆网络103。如果存在多个对象,则视频处理引擎102可以向记忆编码器301提供关于其他对象的附加信息。具体地,为所有其他对象提供被计算为
Figure BDA0002146769170000241
的概率掩模。
用于高效地使用处理资源的实施选项
如上面所解释的,视频处理引擎102使用经训练的空间-时间记忆网络103,以用于半监督的视频对象分割,其中经由从用户输入设备接收的一个或多个选择输入标识第一帧的分割掩模。空间-时间记忆网络103使用可用的参考信息(例如,具有分割掩模的帧图像)作为记忆帧逐帧地处理视频。在一个示例中,视频序列包括第一帧、接着是第二帧和第三帧。为了从其中经由用户输入手动指定分割掩模的第一帧估计第二帧的分割掩模,具有分割掩模的第一帧被用作记忆帧,并且没有分割掩模的第二帧被用作查询帧。对于第三帧,第一帧和第二帧都被用作记忆帧。可以重复该过程以计算用于视频序列中的多个帧的分割掩模。
当使用整个先前帧的集合作为记忆帧时,出现某些计算问题。例如,图形处理单元(“GPU”)存储器使用与记忆帧的数目成比例地增加。增加的GPU存储器使用可能超过最大容量。在另一示例中,由于大的矩阵乘积,读取块可能成为前向传递的瓶颈。
在一些方面,当应用空间-时间记忆网络103时,视频处理引擎102可以使用先前帧的子集而不是先前帧的整个集合,从而可以解决这些问题中的一个或多个。例如,可以使用具有分割掩模的第一帧和最后帧,因为第一帧提供可靠的掩模信息(即,真值),这是由于该掩模信息经由来自用户输入设备的一个或多个选择输入而被手动指定。最后帧可以是具有分割掩模并且在时间上与视频序列中的当前帧最接近的先前帧,最后帧具有与当前帧相似的外观。因此,可以实现准确的掩模传播和像素匹配。因此,作为默认配置,视频处理引擎102可以将这两个帧输入到空间-时间记忆读取120中。
除了第一帧和最后帧之外,视频处理引擎102还可以以任何合适的方式利用中间帧(除了第一帧和最后帧之外的帧)。在一个示例中,视频处理引擎102可以每N个帧保存新的记忆帧。在另一示例中,视频处理引擎102可以保存所有的记忆帧,但是仅使用每N中间帧作为空间-时间记忆读取的输入。
N是超参数,其指示要被用于对查询帧中的内容进行分类的中间记忆帧的数目(例如,储存的那些记忆帧和/或在框206中取回的那些记忆帧)。在一些方面,视频处理引擎102标识N的值,并且基于超参数选择用于在图3的实施方式中的编码和嵌入的记忆帧的集合。在一些方面,N可以指示记忆帧的集合的语义多样性、记忆帧的集合的语义一致性、或记忆帧的集合的一些其他语义特性。
N可以控制速度和准确度之间的折衷。例如,视频处理引擎102可以使用N=5或一些其他通过实验确定的值。在一些方面,N的值可以通过实验确定,或以其他方式基于空间-时间记忆网络的性能来计算,空间-时间记忆网络的性能关于诸如区域相似性、轮廓准确度、用于利用空间-时间网络计算分割掩模的运行时间等的度量。在附加的或备选的方面,N的值可以通过实验确定,或以其他方式基于记忆帧的期望的语义特性来计算。例如,N的值可以通过实验确定或以其他方式计算,以增加被储存用于空间-时间记忆网络103的记忆帧或在空间-时间记忆读取中使用的记忆帧之中的语义多样性、以增加被储存用于空间-时间记忆网络103的记忆帧或在空间-时间记忆读取中使用的记忆帧之中的语义一致性、以增加被储存用于空间-时间记忆网络103的记忆帧或在空间-时间记忆读取中使用的记忆帧之中的代表性。
用于实施某些方面的计算系统的示例
可以使用任何合适的计算系统或计算系统的组来执行本文描述的操作。例如,图8描绘了计算系统800的示例。在一些方面,计算系统800包括执行程序代码805(例如,视频处理引擎102和/或训练引擎704)的处理设备802、储存由程序代码805中的操作计算或使用的各种程序数据807(例如,来自视频数据存储库104的数据和/或训练数据710)的存储器设备804、一个或多个输入设备812,以及显示由执行程序代码805生成的图形内容的呈现设备814。出于说明的目的,图8描绘了单个计算系统,在该单个计算系统上执行程序代码805、储存程序数据807、并且存在输入设备812和呈现设备814。但是,所描述的各种应用、数据集和设备可以跨不同计算系统被储存或被包括,不同计算系统具有与图8中描绘的设备类似的设备。
所描绘的计算系统800的示例包括通信地耦合到一个或多个存储器设备804的处理设备802。处理设备802执行被储存在存储器设备804中的计算机可执行程序代码、访问被储存在存储器设备804中的信息、或两者。处理设备802的示例包括微处理器、专用集成电路(“ASIC”)、现场可编程门阵列(“FPGA”)或任何其他合适的处理设备。处理设备802可以包括任何数目的处理设备,包括单个处理设备。
存储器设备804包括用于储存数据、程序代码或两者的任何合适的非暂态计算机可读介质。计算机可读介质可以包括能够向处理器提供计算机可读指令或其他程序代码805的任何电学、光学、磁性或其他存储设备。计算机可读介质的非限制性示例包括磁盘、存储器芯片、ROM、RAM、ASIC、光学存储装置、磁带或其他磁存储装置,或处理设备可以从其读取指令的任何其他介质。程序代码805可以包括由编译器或解释器从以任何合适的计算机编程语言(包括例如C、C++、C#、Visual Basic、Java、Python、Perl、JavaScript,和ActionScript)编写的代码生成的处理器特定的指令。
计算系统800还可以包括多个外部或内部设备,诸如输入设备812、呈现设备814或其他输入或输出设备。例如,计算系统800被示出为具有一个或多个输入/输出(“I/O”)接口808。I/O接口808可以从输入设备接收输入或向输出设备提供输出。一个或多个总线806也被包括在计算系统800中。总线806通信地耦合到计算系统800中的相应的一个计算系统的一个或多个组件。
计算系统800执行程序代码,该程序代码将处理设备802配置成执行本文描述的一个或多个操作。程序代码包括例如视频处理引擎102、训练引擎704或执行本文描述的一个或多个操作的其他合适的应用。程序代码可以驻留在存储器设备804或任何合适的计算机可读介质中,并且可以由处理设备802或任何其他合适的处理器执行。程序代码805使用或生成程序数据807。程序数据807的示例包括本文中关于图1-图7描述的记忆帧、真值帧、特征分类数据、特征选择数据、键图或值图等中的一个或多个。
在一些方面,计算系统800还包括网络接口设备810。网络接口设备810包括适于建立到一个或多个数据网络的有线或无线数据连接的任何设备或设备组。网络接口设备810的非限制性示例包括以太网网络适配器、调制解调器等。计算系统800能够使用网络接口设备810经由数据网络与一个或多个其他计算设备通信。
输入设备812可以包括适于接收控制或影响处理设备802的操作的视觉、听觉或其他合适输入的任何设备或设备组。输入设备812的非限制性示例包括记录设备、触摸屏、鼠标、键盘、麦克风、摄像机、单独的移动计算设备等。呈现设备814可以包括适于提供视觉、听觉或其他合适的感觉输出的任何设备或设备组。呈现设备814的非限制性示例包括触摸屏、显示器、单独的移动计算设备等。
尽管图8将输入设备812和呈现设备814描绘为位于执行程序代码805的计算设备的本地,但是其他实施方式也是可能的。例如,在一些方面,输入设备812和呈现设备814中的一个或多个可以包括远程客户端计算设备,其使用本文中描述的一个或多个数据网络、经由网络接口设备810与计算系统800通信。
实验结果
实验结果示出了本文中描述的方面的某些实施方式在公共基准数据集上在准确度和速度方面都大大优于现有方法。例如,图9描绘了现有技术与本文中描述的方面的示例之间的准确度和速度比较的示例。在图表900中,准确度被呈现为垂直轴上的交并(“IoU”)的百分比,并且速度被呈现为水平轴上的对数表示的每秒帧数。在该示例中,对应于使用本文描述的某些方面的实验的条目902在DAVIS-2016验证集合上实现了最佳性能(IoU88.7%)并且比大多数先前的方法快几个数量级(每帧0.16秒)。对应于使用本文描述的某些方面但没有帧记忆的实验的条目904在速度和准确度方面得到类似的高性能。应用于相同验证集合的其他现有分割技术包括在线自适应视频对象分割(“OnAVOS”)、单镜头视频对象分割(“OSVOS”)、语义OSVOS(“OSVOS“)、DyeNet、参考引导掩模传播(“RGMP”)等。
图10描绘了使用本文描述的各方面的示例实现的定性结果的示例。在图10中,描绘了在DAVIS验证集合上执行的分割的定性结果。在重要时刻(例如,在遮挡之前和之后)对帧1000进行采样。帧索引被显示在每个样本帧的右下角。分割掩模用红色着色(对于单个目标对象)、红色和绿色着色(对于两个目标对象),以及红色、绿色和黄色着色(对于三个目标对象)来指示。
图11描绘了本文描述的空间-时间记忆读取操作的示例的可视化。在该示例中,由空间-时间记忆读取操作计算的记忆权重(软地址)被叠加到帧图像。针对查询图像中的每个像素计算权重。为了清楚地说明,放大了感兴趣区域较小的某些记忆帧。用于对象区域内部的像素的平均权重在用于查询帧1104的记忆帧1082的集合中可视化,其中目标对象用红色着色。在用于查询帧1108的记忆帧1086的集合中可视化用于所选择的像素的所取回的权重,其中目标对象(像素)由红色“X”指示。如所图示的,空间-时间记忆读取操作在像素级别准确地匹配相同的对象,以取回记忆中的信息。
图12描绘了具有和没有中间帧记忆的结果之间的视觉比较的示例。例如,如上面所讨论的,保存中间记忆帧的频率N(或在空间-时间记忆读取操作中使用中间记忆帧N)是超参数,其控制效率和准确度之间的折衷。图12描绘了分析N的效果的示例,其中行1202和行1206图示了使用中间记忆帧的效果,并且行1204和行1208图示了省略中间记忆帧的效果。除了N的不同值之外,还测试了不使用中间帧记忆的极端情况。图12中的示例指示了在空间-时间记忆读取操作记忆中使用中间记忆帧起重要作用的情况,尤其是当输入视频内容关于遮挡、漂移或两者构成挑战时。
在一个示例中,行1202包括已经使用中间帧对骆驼(即,单个目标对象)应用和计算分割掩模的视频帧,其中N=5。在不使用中间记忆帧的情况下,如在行1204中所描绘的,分割掩模被错误地应用于后续帧中的另外的骆驼。
在另一示例中,行1206包括已经使用中间帧对三个个体(三个不同目标对象)应用和计算分割掩模的视频帧,其中N=5。在不使用中间记忆帧的情况下,如在行1208中所描绘的,分割掩模不再应用于后续帧中的个体中的一个个体(即,由黄色掩模指示的目标对象)。
图13描绘了具有使用不同的记忆管理规则获得的结果的示例的表。记忆管理规则包括:在空间-时间记忆读取操作中仅使用第一记忆帧(F)、在空间-时间记忆读取操作中仅使用最后帧(L)、在空间-时间记忆读取操作中使用第一帧和最后帧(FL),以及不同值的N个中间记忆帧(例如,N=3、5、10、15、20、30)。在该表中,T(s)示出每帧的运行时间(以秒为单位)。该表描绘了在区域相似性
Figure BDA0002146769170000291
和轮廓准确度
Figure BDA0002146769170000292
方面的结果。
一般考虑
本文阐述了许多具体细节以提供对所要求保护的主题的透彻理解。然而,本领域技术人员将理解,可以在没有这些具体细节的情况下实践所要求保护的主题。在其他实例中,没有详细描述本领域技术人员已知的方法、装置或系统,以免模糊所要求保护的主题。
除非另有明确说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“运算”、“确定”和“标识”等术语的讨论是指计算设备(诸如一个或多个计算机或类似的电子计算设备)、或操纵或变换被表示为在存储器、寄存器或其他信息存储设备、传输设备或计算平台的显示设备内的物理电子或磁量的数据的设备的动作或过程。
本文讨论的系统或多个系统不限于任何特定硬件架构或配置。计算设备可以包括任何合适的组件布置,其提供以一个或多个输入为条件的结果。合适的计算设备包括访问所储存的软件的多用途的基于微处理器的计算机系统,所储存的软件将计算系统从通用计算装置编程或配置为实施本主题的一个或多个方面的专用计算设备。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合以在用于编程或配置计算设备的软件中实施本文包含的教导。
可以在这种计算设备的操作中执行本文公开的方法的各方面。上述示例中呈现的框的次序可以变化,例如,可以将框重新排序、组合和/或分成子框。可以并行执行某些框或过程。
本文中“适于”或“被配置成”的使用意指是开放且包括性的语言,其不排除适于或被配置成执行附加的任务或步骤的设备。另外,“基于”的使用意指是开放和包括性的,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于附加的条件或超出所述的那些值之外的值。本文包括的标题、列表和编号仅是为了便于解释而并非意指是限制性的。
尽管已经关于具体方面详细描述了本主题,但将理解,在本领域技术人员理解前述内容后,可以容易地产生对这些方面的改变、变化和等同物。因此,应当理解,本公开内容是出于示例而非限制的目的而呈现的,并且不排除包括对本领域普通技术人员来说是显而易见的、对本主题的这种修改、变化和/或添加。

Claims (20)

1.一种非暂态计算机可读介质,其上储存有程序代码,所述程序代码在由一个或多个处理设备执行时使所述一个或多个处理设备执行包括以下操作的操作:
通过将空间-时间记忆网络应用于描绘目标特征的查询帧,生成查询键图和查询值图;
从记忆取回记忆键图和记忆值图,所述记忆键图和所述记忆值图从包括所述查询帧的、来自视频内容的记忆帧的集合而被计算;
通过将相似性函数应用于所述记忆键图和所述查询键图,计算记忆权重;以及
基于加权和,用所述空间-时间记忆网络将所述查询帧中的内容分类为描绘所述目标特征,所述加权和包括被应用于所述记忆值图中的记忆位置的所述记忆权重。
2.根据权利要求1所述的非暂态计算机可读介质,其中将所述查询帧中的所述内容分类为描绘所述目标特征包括:生成用于所述查询帧中的目标对象的分割掩模,其中第一记忆帧具有所述目标特征的第一选择,所述目标特征的第一选择基于(i)所述视频内容的真值帧中的所述目标特征的用户指定的选择以及(ii)针对第二记忆帧计算的、所述目标特征的第二选择而被计算,其中所述目标特征的所述用户指定的选择包括标识所述真值帧中的所述目标对象的一个或多个用户输入,其中生成所述分割掩模包括:
从所述加权和计算输出值图;以及
通过解码所述输出值图来构造所述分割掩模。
3.根据权利要求2所述的非暂态计算机可读介质,其中计算所述输出值图包括:将所述查询值图与所述加权和级联。
4.根据权利要求1所述的非暂态计算机可读介质,其中第一记忆帧具有所述目标特征的第一选择,所述目标特征的第一选择基于(i)所述视频内容的真值帧中的所述目标特征的用户指定的选择以及(ii)针对第二记忆帧计算的、所述目标特征的第二选择而被计算,其中将所述查询帧中的所述内容分类为描绘所述目标特征包括:生成经合并的掩模概率图,所述经合并的掩模概率图指示(i)所述查询帧中的像素是目标对象的第一概率以及(ii)所述查询帧中的像素是不同目标对象的第二概率,其中生成所述经合并的掩模概率图包括:
从所述加权和计算针对所述目标对象的第一掩模概率图;
从所述记忆取回附加的记忆键图和附加的记忆值图,所述附加的记忆键图和所述附加的记忆值图至少部分地使用所述真值帧中的所述不同目标对象的附加的用户指定的选择而被计算;
通过将相似性函数应用于所述附加的记忆键图和所述查询键图来计算附加的记忆权重;
从附加的加权和计算针对所述不同目标对象的第二掩模概率图,所述附加的加权和包括被应用于所述附加的记忆值图中的记忆位置的所述附加的记忆权重;以及
经由软聚合操作,合并所述第一掩模概率图和所述第二掩模概率图。
5.根据权利要求2所述的非暂态计算机可读介质,其中生成所述查询键图和所述查询值图包括:将所述空间-时间记忆网络的查询编码器和嵌入层应用于所述查询帧的特征,其中将所述查询编码器应用于所述查询帧的特征包括:向所述查询编码器输入没有任何分割掩模的所述查询帧,
其中所述操作还包括:在所述取回之前生成所述记忆键图和所述记忆值图,其中生成所述记忆键图和所述记忆值图包括:
分别计算针对所述记忆帧的集合的个体记忆特征图,其中计算针对相应的记忆帧的每个个体记忆特征图包括:
(a)访问所述相应的记忆帧、以及由所述空间-时间记忆网络针对所述相应的记忆帧计算的相应的记忆分割掩模,
(b)通过将所述相应的记忆帧和所述相应的记忆分割掩模级联,生成经级联的输入,以及
(c)将所述经级联的输入输入到所述空间-时间记忆网络的记忆编码器,以及
(d)用所述记忆编码器将所述经级联的输入编码成所述个体记忆特征图,
将所述个体记忆特征图嵌入到个体记忆键图的集合和个体记忆值图的集合中,其中每个个体记忆键图具有比对应的个体记忆值图更小的维度,
将所述个体记忆键图的集合组合成所述记忆键图,以及
将所述个体记忆值图的集合组合成所述记忆值图。
6.根据权利要求5所述的非暂态计算机可读介质,其中将所述个体记忆键图的集合组合成所述记忆键图包括:沿所述个体记忆键图的集合中的时间维度堆叠所述个体记忆键图的集合,其中将所述个体记忆值图的集合组合成所述记忆值图包括:沿所述个体记忆值图的集合中的时间维度堆叠所述个体记忆值图的集合。
7.根据权利要求1所述的非暂态计算机可读介质,其中所述记忆帧的集合是来自所述视频内容的记忆帧的附加集合的子集,其中所述操作还包括:
标识超参数值,所述超参数值指示要被使用以对所述查询帧中的所述内容进行分类的中间记忆帧的数目;以及
基于所述超参数,选择所述记忆帧的集合。
8.根据权利要求7所述的非暂态计算机可读介质,其中所述超参数指示以下中的一项或多项:
所述记忆帧的集合的语义多样性;以及
所述记忆帧的集合的语义一致性。
9.根据权利要求1所述的非暂态计算机可读介质,其中所述查询值图具有比所述查询键图更大的维度。
10.一种系统,包括:
一个或多个处理设备,所述一个或多个处理设备被配置用于执行视频处理引擎;以及
非暂态计算机可读介质,所述非暂态计算机可读介质实施空间-时间记忆网络,所述空间-时间记忆网络包括:
查询编码器和查询嵌入层,被配置用于从来自视频内容的查询帧的特征生成查询键图和查询值图;
记忆编码器和记忆嵌入层,被配置用于从来自所述视频内容的记忆帧的集合的特征生成记忆键图和记忆值图;以及
记忆读取子网,被配置用于(i)通过将相似性函数应用于所述记忆键图和所述查询键图,计算记忆权重,以及(ii)基于加权和,将所述查询帧中的所述内容分类为描绘目标特征,所述加权和包括被应用于所述记忆值图中的记忆位置的所述记忆权重。
11.根据权利要求10所述的系统,其中将所述查询帧中的所述内容分类为描绘所述目标特征包括:生成用于所述查询帧中的目标对象的分割掩模,
其中所述记忆读取子网还被配置用于将所述查询值图与所述加权和级联,以生成输出值图;
其中所述空间-时间记忆网络还包括解码器,所述解码器被配置用于将所述输出值图解码成所述分割掩模。
12.根据权利要求11所述的系统,还包括储存初始空间-时间记忆网络的存储器设备,所述初始空间-时间记忆网络具有包括所述查询编码器、所述查询嵌入层、所述记忆编码器、所述记忆嵌入层、所述记忆读取子网和所述解码器的组件;
其中所述一个或多个处理设备被配置用于:
通过将仿射变换应用于静态图像以生成图像集合并且用分割掩模注释由所述仿射变换生成的图像集合,生成第一训练数据;
访问第二训练数据,所述第二训练数据包括用附加的分割掩模注释的视频数据;
用所述第一训练数据执行第一训练阶段,所述第一训练阶段联合训练所述初始空间-时间记忆网络的所述组件,并且从而生成过渡空间-时间记忆网络,其中所述第一训练阶段修改所述初始空间-时间记忆网络的一个或多个组件;以及
用所述第二训练数据执行第二训练阶段,所述第二训练阶段联合训练所述过渡空间-时间记忆网络的所述组件,并且从而生成所述空间-时间记忆网络,其中所述第二训练阶段修改所述过渡空间-时间记忆网络的一个或多个组件。
13.根据权利要求11所述的系统,
其中所述查询编码器被配置为接收没有任何分割掩模的所述查询帧作为输入,
其中所述记忆编码器被配置用于分别计算针对所述记忆帧的集合的个体记忆特征图,其中计算针对相应的记忆帧的每个个体记忆特征图包括:
接收经级联的输入,所述经级联的输入从所述相应的记忆帧和用于所述相应的记忆帧的相应的分割掩模的级联生成,
将所述经级联的输入编码成所述个体记忆特征图,
其中所述记忆嵌入层被配置用于将所述个体记忆特征图嵌入到个体记忆键图的集合和个体记忆值图的集合中,其中每个个体记忆键图具有比对应的个体记忆值图更小的维度,
其中所述空间-时间记忆网络还包括一个或多个级联层,所述一个或多个级联层被配置用于:将所述个体记忆键图的集合组合成所述记忆键图,并且将所述个体记忆值图的集合组合成所述记忆值图。
14.根据权利要求13所述的系统,其中将所述个体记忆键图的集合组合成所述记忆键图包括:沿所述个体记忆键图的集合中的时间维度堆叠所述个体记忆键图的集合,其中将所述个体记忆值图的集合组合成所述记忆值图包括:沿所述个体记忆值图的集合中的时间维度堆叠所述个体记忆值图的集合。
15.根据权利要求14所述的系统,其中所述查询值图具有比所述查询键图更大的维度。
16.一种方法,其中一个或多个处理设备执行操作,所述方法包括:
从视频内容访问具有描绘目标特征的内容的查询帧;以及
通过将空间-时间记忆网络应用于所述查询帧和一个或多个记忆帧,执行用于将所述查询帧的内容分类为描绘所述目标特征的步骤。
17.根据权利要求16所述的方法,其中将所述查询帧中的所述内容分类为描绘所述目标特征包括:生成用于所述查询帧中的目标对象的分割掩模。
18.根据权利要求16所述的方法,其中所述一个或多个记忆帧是来自所述视频内容的记忆帧的附加集合的子集,其中所述操作还包括:
标识超参数值,所述超参数值指示要被使用以对所述查询帧中的所述内容进行分类的中间记忆帧的数目;以及
基于所述超参数,选择所述一个或多个记忆帧。
19.根据权利要求18所述的方法,其中所述超参数指示以下中的一项或多项:
所述一个或多个记忆帧的语义多样性;以及
所述一个或多个记忆帧的语义一致性。
20.根据权利要求16所述的方法,其中用于将所述查询帧的内容分类为描绘所述目标特征的所述步骤包括:用于分割所述查询帧中的多个目标对象的步骤。
CN201910687331.XA 2018-10-12 2019-07-26 用于利用空间-时间记忆网络处理视频内容的方法和系统 Active CN111050219B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862744919P 2018-10-12 2018-10-12
US62/744,919 2018-10-12
US16/293,126 2019-03-05
US16/293,126 US11200424B2 (en) 2018-10-12 2019-03-05 Space-time memory network for locating target object in video content

Publications (2)

Publication Number Publication Date
CN111050219A true CN111050219A (zh) 2020-04-21
CN111050219B CN111050219B (zh) 2022-12-23

Family

ID=70161923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910687331.XA Active CN111050219B (zh) 2018-10-12 2019-07-26 用于利用空间-时间记忆网络处理视频内容的方法和系统

Country Status (4)

Country Link
US (1) US11200424B2 (zh)
CN (1) CN111050219B (zh)
AU (1) AU2019213369B2 (zh)
DE (1) DE102019005423A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111553467A (zh) * 2020-04-30 2020-08-18 陈永聪 一种实现通用人工智能的方法
CN113111822A (zh) * 2021-04-22 2021-07-13 深圳集智数字科技有限公司 用于拥堵识别的视频处理方法、装置与电子设备
CN113140005A (zh) * 2021-04-29 2021-07-20 上海商汤科技开发有限公司 目标对象定位方法、装置、设备及存储介质
CN113506316A (zh) * 2021-05-27 2021-10-15 北京迈格威科技有限公司 分割视频物体的方法、装置以及网络模型训练方法
WO2021223042A1 (zh) * 2020-05-06 2021-11-11 Chen Yongcong 一种类似于人类智能的机器智能实现方法
CN114241388A (zh) * 2021-12-22 2022-03-25 中国科学院深圳先进技术研究院 基于时空记忆信息的视频实例分割方法和分割装置
CN116129298A (zh) * 2022-11-15 2023-05-16 脉得智能科技(无锡)有限公司 基于时空记忆网络的甲状腺视频流结节识别系统
CN116246075A (zh) * 2023-05-12 2023-06-09 武汉纺织大学 一种动态信息与静态信息结合的视频语义分割方法
US11715291B2 (en) 2020-04-30 2023-08-01 Yongcong Chen Establishment of general-purpose artificial intelligence system

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3907721A4 (en) * 2019-01-02 2022-03-09 Panasonic Intellectual Property Corporation of America INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM
EP3690752A1 (en) * 2019-01-31 2020-08-05 Avatar Cognition Barcelona, SL Fractal cognitive computing node and computer-implemented method for learning procedures
US11223782B2 (en) * 2019-03-21 2022-01-11 Qualcomm Technologies, Inc. Video processing using a spectral decomposition layer
US11335094B2 (en) * 2019-08-13 2022-05-17 Apple Inc. Detecting fake videos
US11600067B2 (en) * 2019-09-12 2023-03-07 Nec Corporation Action recognition with high-order interaction through spatial-temporal object tracking
US11157811B2 (en) * 2019-10-28 2021-10-26 International Business Machines Corporation Stub image generation for neural network training
EP4042370A4 (en) * 2019-11-15 2024-01-10 L'oreal END-TO-END MERGE ENABLES SEGMENTATION OF VIDEO OBJECTS (VOS)
JP7247133B2 (ja) * 2020-03-12 2023-03-28 株式会社東芝 検出装置、検出方法およびプログラム
CN113763393B (zh) * 2020-06-05 2025-05-06 阿里巴巴集团控股有限公司 数据处理方法和系统、存储介质及移动设备
CN111738268B (zh) * 2020-07-22 2023-11-14 浙江大学 一种基于随机块的高分遥感图像的语义分割方法及系统
CN112132832B (zh) * 2020-08-21 2021-09-28 苏州浪潮智能科技有限公司 一种增强图像实例分割的方法、系统、设备及介质
CN114187540B (zh) * 2020-08-25 2025-05-02 数网金融有限公司 一种物体识别方法、装置、服务器及计算机可读存储介质
US11741712B2 (en) * 2020-09-28 2023-08-29 Nec Corporation Multi-hop transformer for spatio-temporal reasoning and localization
KR102578292B1 (ko) * 2020-12-15 2023-09-15 한국과학기술연구원 컴퓨터 메모리 효율성이 향상된 물체/영역 검출 및 분류 시스템
CN112967309B (zh) * 2021-02-26 2022-07-26 中国科学院大学 一种基于自监督学习的视频目标分割方法
CN113139966B (zh) * 2021-03-19 2022-06-24 杭州电子科技大学 一种基于贝叶斯记忆的层次级联视频目标分割方法
DE102021202681A1 (de) * 2021-03-19 2022-09-22 Robert Bosch Gesellschaft mit beschränkter Haftung Detektionseinrichtung zur Erkennung eines Objekts und/oder einer Person, Verfahren, Computerprogramm und Speichermedium
CN113033458B (zh) * 2021-04-09 2023-11-07 京东科技控股股份有限公司 动作识别方法和装置
US20230057547A1 (en) * 2021-08-19 2023-02-23 International Business Machines Corporation Anonymizing personally identifiable information in stored data
CN114565941B (zh) * 2021-08-24 2024-09-24 商汤国际私人有限公司 纹理生成方法、装置、设备及计算机可读存储介质
CN114926479B (zh) * 2022-05-27 2025-08-05 中国科学院深圳先进技术研究院 图像处理方法及装置
CN115587313A (zh) * 2022-09-28 2023-01-10 中国人民解放军战略支援部队信息工程大学 一种轨迹数据半监督分类方法及装置
US20240112032A1 (en) * 2022-09-30 2024-04-04 Microsoft Technology Licensing, Llc Transfer-learning for structured data with regard to journeys defined by sets of actions
CN116630369A (zh) * 2023-02-23 2023-08-22 西安电子科技大学 基于时空记忆网络的无人机目标跟踪方法
WO2024249671A2 (en) * 2023-05-31 2024-12-05 The Board Of Regents Of The University Of Texas System Bilateral orthogonality generative acquisitions method
CN116501594B (zh) * 2023-06-27 2023-09-08 上海燧原科技有限公司 系统建模评估方法、装置、电子设备及存储介质
US20250037461A1 (en) * 2023-07-28 2025-01-30 Adobe Inc. Memory-based video object segmentation
CN117218362B (zh) * 2023-10-30 2025-09-30 南京工程学院 一种基于因果不变性的时空图特征提取方法

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663445A (zh) * 2012-03-29 2012-09-12 中国科学院上海光学精密机械研究所 基于层次时间记忆算法的图像理解系统及其图像理解方法
US20140132786A1 (en) * 2012-11-12 2014-05-15 Behavioral Recognition Systems, Inc. Image stabilization techniques for video surveillance systems
US20140344195A1 (en) * 2013-05-20 2014-11-20 Southern Methodist University System and method for machine learning and classifying data
CN105550699A (zh) * 2015-12-08 2016-05-04 北京工业大学 一种基于cnn融合时空显著信息的视频识别分类方法
CN105678216A (zh) * 2015-12-21 2016-06-15 中国石油大学(华东) 基于深度学习的时空数据流视频行为识别方法
GB201711692D0 (en) * 2016-09-23 2017-09-06 Adobe Systems Inc Providing relevant video scenes in response to a video search query
CN107480178A (zh) * 2017-07-01 2017-12-15 广州深域信息科技有限公司 一种基于图像与视频跨模态比对的行人重识别方法
WO2018019126A1 (zh) * 2016-07-29 2018-02-01 北京市商汤科技开发有限公司 视频类别识别方法和装置、数据处理装置和电子设备
CN107958044A (zh) * 2017-11-24 2018-04-24 清华大学 基于深度时空记忆网络的高维序列数据预测方法和系统
GB2556378A (en) * 2016-10-28 2018-05-30 Adobe Systems Inc Utilizing a digital canvas to conduct a spatial-semantic search for digital visual media
CN108205655A (zh) * 2017-11-07 2018-06-26 北京市商汤科技开发有限公司 一种关键点预测方法、装置、电子设备及存储介质
CN108416266A (zh) * 2018-01-30 2018-08-17 同济大学 一种利用光流提取运动目标的视频行为快速识别方法
CN108520530A (zh) * 2018-04-12 2018-09-11 厦门大学 基于长短时记忆网络的目标跟踪方法
WO2018171109A1 (zh) * 2017-03-23 2018-09-27 北京大学深圳研究生院 基于卷积神经网络的视频动作检测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10474988B2 (en) * 2017-08-07 2019-11-12 Standard Cognition, Corp. Predicting inventory events using foreground/background processing
US10699070B2 (en) * 2018-03-05 2020-06-30 Sap Se Dynamic retrieval and rendering of user interface content

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663445A (zh) * 2012-03-29 2012-09-12 中国科学院上海光学精密机械研究所 基于层次时间记忆算法的图像理解系统及其图像理解方法
US20140132786A1 (en) * 2012-11-12 2014-05-15 Behavioral Recognition Systems, Inc. Image stabilization techniques for video surveillance systems
US20140344195A1 (en) * 2013-05-20 2014-11-20 Southern Methodist University System and method for machine learning and classifying data
CN105550699A (zh) * 2015-12-08 2016-05-04 北京工业大学 一种基于cnn融合时空显著信息的视频识别分类方法
CN105678216A (zh) * 2015-12-21 2016-06-15 中国石油大学(华东) 基于深度学习的时空数据流视频行为识别方法
WO2018019126A1 (zh) * 2016-07-29 2018-02-01 北京市商汤科技开发有限公司 视频类别识别方法和装置、数据处理装置和电子设备
GB201711692D0 (en) * 2016-09-23 2017-09-06 Adobe Systems Inc Providing relevant video scenes in response to a video search query
GB2556378A (en) * 2016-10-28 2018-05-30 Adobe Systems Inc Utilizing a digital canvas to conduct a spatial-semantic search for digital visual media
WO2018171109A1 (zh) * 2017-03-23 2018-09-27 北京大学深圳研究生院 基于卷积神经网络的视频动作检测方法
CN107480178A (zh) * 2017-07-01 2017-12-15 广州深域信息科技有限公司 一种基于图像与视频跨模态比对的行人重识别方法
CN108205655A (zh) * 2017-11-07 2018-06-26 北京市商汤科技开发有限公司 一种关键点预测方法、装置、电子设备及存储介质
CN107958044A (zh) * 2017-11-24 2018-04-24 清华大学 基于深度时空记忆网络的高维序列数据预测方法和系统
CN108416266A (zh) * 2018-01-30 2018-08-17 同济大学 一种利用光流提取运动目标的视频行为快速识别方法
CN108520530A (zh) * 2018-04-12 2018-09-11 厦门大学 基于长短时记忆网络的目标跟踪方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
包红强等: "基于时空标记场最大后验概率的多视频对象分割算法", 《电子与信息学报》 *
王延江等: "基于记忆机制的视觉信息处理认知建模", 《模式识别与人工智能》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11715291B2 (en) 2020-04-30 2023-08-01 Yongcong Chen Establishment of general-purpose artificial intelligence system
CN111553467B (zh) * 2020-04-30 2021-06-08 陈永聪 一种实现通用人工智能的方法
CN111553467A (zh) * 2020-04-30 2020-08-18 陈永聪 一种实现通用人工智能的方法
WO2021223042A1 (zh) * 2020-05-06 2021-11-11 Chen Yongcong 一种类似于人类智能的机器智能实现方法
CN113111822A (zh) * 2021-04-22 2021-07-13 深圳集智数字科技有限公司 用于拥堵识别的视频处理方法、装置与电子设备
CN113111822B (zh) * 2021-04-22 2024-02-09 深圳集智数字科技有限公司 用于拥堵识别的视频处理方法、装置与电子设备
CN113140005A (zh) * 2021-04-29 2021-07-20 上海商汤科技开发有限公司 目标对象定位方法、装置、设备及存储介质
CN113140005B (zh) * 2021-04-29 2024-04-16 上海商汤科技开发有限公司 目标对象定位方法、装置、设备及存储介质
CN113506316A (zh) * 2021-05-27 2021-10-15 北京迈格威科技有限公司 分割视频物体的方法、装置以及网络模型训练方法
CN114241388A (zh) * 2021-12-22 2022-03-25 中国科学院深圳先进技术研究院 基于时空记忆信息的视频实例分割方法和分割装置
CN114241388B (zh) * 2021-12-22 2025-03-07 中国科学院深圳先进技术研究院 基于时空记忆信息的视频实例分割方法和分割装置
CN116129298A (zh) * 2022-11-15 2023-05-16 脉得智能科技(无锡)有限公司 基于时空记忆网络的甲状腺视频流结节识别系统
CN116129298B (zh) * 2022-11-15 2023-11-24 脉得智能科技(无锡)有限公司 基于时空记忆网络的甲状腺视频流结节识别系统
CN116246075A (zh) * 2023-05-12 2023-06-09 武汉纺织大学 一种动态信息与静态信息结合的视频语义分割方法

Also Published As

Publication number Publication date
US11200424B2 (en) 2021-12-14
AU2019213369B2 (en) 2021-12-02
US20200117906A1 (en) 2020-04-16
AU2019213369A1 (en) 2020-04-30
DE102019005423A1 (de) 2020-04-23
CN111050219B (zh) 2022-12-23

Similar Documents

Publication Publication Date Title
CN111050219B (zh) 用于利用空间-时间记忆网络处理视频内容的方法和系统
US11176381B2 (en) Video object segmentation by reference-guided mask propagation
US11151725B2 (en) Image salient object segmentation method and apparatus based on reciprocal attention between foreground and background
CN114549574B (zh) 一种基于掩膜传播网络的交互式视频抠图系统
US20230245266A1 (en) Generating digital images utilizing high-resolution sparse attention and semantic layout manipulation neural networks
GB2579262A (en) Space-time memory network for locating target object in video content
CN110837811B (zh) 语义分割网络结构的生成方法、装置、设备及存储介质
CN109960742B (zh) 局部信息的搜索方法及装置
CN111489357A (zh) 一种图像分割方法、装置、设备及存储介质
CN116980541B (zh) 视频编辑方法、装置、电子设备以及存储介质
CN111382647B (zh) 一种图片处理方法、装置、设备及存储介质
CN110246171B (zh) 一种实时单目视频深度估计方法
CN112200041A (zh) 视频动作识别方法、装置、存储介质与电子设备
CN115311550B (zh) 遥感影像语义变化检测方法、装置、电子设备及存储介质
CN112183649A (zh) 一种用于对金字塔特征图进行预测的算法
CN113761282A (zh) 视频查重方法、装置、电子设备以及存储介质
CN114648604A (zh) 一种图像渲染方法、电子设备、存储介质及程序产品
CN116977548A (zh) 三维重建方法、装置、设备及计算机可读存储介质
CN115861401A (zh) 一种双目与点云融合深度恢复方法、装置和介质
CN110659641A (zh) 一种文字识别的方法、装置及电子设备
CN118015276A (zh) 一种基于双路多尺度的半监督语义分割方法
CN113705562A (zh) 目标区域确定方法、装置、设备及存储介质
CN114463187B (zh) 基于聚合边缘特征的图像语义分割方法及系统
CN119068080A (zh) 用于生成图像的方法、电子设备以及计算机程序产品
CN113780241A (zh) 一种显著物体检测的加速方法与装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant