CN118661202A - 自动的视频和音频注释技术 - Google Patents

自动的视频和音频注释技术 Download PDF

Info

Publication number
CN118661202A
CN118661202A CN202280090863.5A CN202280090863A CN118661202A CN 118661202 A CN118661202 A CN 118661202A CN 202280090863 A CN202280090863 A CN 202280090863A CN 118661202 A CN118661202 A CN 118661202A
Authority
CN
China
Prior art keywords
video
frame
image
commentary
caption
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
CN202280090863.5A
Other languages
English (en)
Inventor
C·L·施密德
S·马宁弗雷沙
A·豪瑟
B·A·塞博德
A·纳格拉尼
H·徐
C·孙
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN118661202A publication Critical patent/CN118661202A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本文描述了用于提高视频检索系统和音频检索系统的性能的技术。计算系统可以获得具有相关联的解说词的带解说词的图像和具有多个帧的第一视频。另外,系统可以确定带解说词的图像的特征向量和多个帧中的第一帧的特征向量。此外,系统可以基于带解说词的图像的特征向量和第一帧的特征向量来计算带解说词的图像与第一帧之间的相似度值。此外,系统可以基于相似度值来将相关联的解说词迁移到第一帧。随后,系统可以基于第一帧来生成视频片段。系统还可以将视频片段存储在视频解说词添加数据库中并对视频片段进行索引。

Description

自动的视频和音频注释技术
技术领域
本公开总体上涉及用于训练用于对视频数据进行注释的机器学习模型的技术。更具体地,本公开涉及用于通过利用视觉上相似的图像的解说词(caption)来生成视频帧的描述的系统和方法。
背景技术
提供视频中的事件的描述性解说词可能是困难的,部分原因是缺乏用于训练此类系统的适当数据。另外,标记视频中的事件可能需要大量的时间、精力和/或计算支出。出于多种原因,标记视频中的事件的难度通常比标记图像要高得多。首先,不清楚视频何时从一个事件改变到另一个事件,因此查看同一事件的许多帧可能是多余的。另外,与在静态摄影图像中相比,在视频中视点可变性可能更大,图像质量可能更低,并且取景可能不同,因此通常需要更多的数据来辨识视频中的事件。部分地由于在标记视频方面的这些挑战,训练系统以提供视频中事件的描述性解说词的成本可能过高。因此,为了提高可扩展性和可用性,需要提高数据标记的效率,从而提高对机器学习模型和系统的训练。
发明内容
本公开的实施例的各方面和优点将部分地在以下描述中阐述,或者可从描述中学习,或者可通过实施例的实践来学习。
本公开的一个示例方面涉及一种用于改进检索系统的计算机实现的方法。该方法可以包括由计算系统获得带解说词的图像。带解说词的图像可以具有图像和相关联的解说词。另外,该方法可以由计算系统从一组视频获得第一视频。第一视频可以具有多个帧。此外,该方法可以包括由计算系统确定带解说词的图像的特征向量。此外,该方法可以包括由计算系统确定第一视频的多个帧中的第一帧的特征向量。该方法还可以包括由计算系统基于带解说词的图像的特征向量和第一帧的特征向量来计算带解说词的图像与第一帧之间的相似度值。随后,该方法可以包括由计算系统基于相似度值来将相关联的解说词迁移到第一帧。
本公开的另一个示例方面涉及一种用于改进检索系统的计算机实现的方法。该方法可以包括由计算系统获得具有相关联的解说词的带解说词的图像。另外,该方法可以包括由计算系统获得第一视频,该第一视频具有多个帧。此外,该方法可以包括由计算系统确定带解说词的图像的特征向量。此外,该方法可以包括由计算系统确定第一视频的多个帧中的第一帧的特征向量。随后,该方法可以包括由计算系统基于带解说词的图像的特征向量和第一帧的特征向量来计算带解说词的图像与第一帧之间的相似度值。该方法还可以包括由计算系统基于相似度值来用与带解说词的图像的相关联的解说词相似的相关联的解说词标记第一帧。
本公开的另一个示例方面涉及一种计算系统,该计算系统具有一个或多个处理器和一种或多种非暂时性计算机可读介质,该一种或多种非暂时性计算机可读介质共同存储机器学习模型、视频解说词添加(captioning)数据库和指令,这些指令在由一个或多个处理器执行时使计算系统执行操作。操作可以包括从图像解说词添加数据库获得具有相关联的解说词的带解说词的图像。另外,操作可以包括获得第一视频,该第一视频具有多个帧。此外,操作可以包括确定带解说词的图像的特征向量。此外,操作可以包括确定第一视频的多个帧中的第一帧的特征向量。随后,操作可以包括基于带解说词的图像的特征向量和第一帧的特征向量来计算带解说词的图像与第一帧之间的相似度值。操作还可以包括基于相似度值来用与带解说词的图像的相关联的解说词相似的相关联的解说词标记第一帧。
本公开的另一个示例方面涉及一种或多种共同存储机器学习模型的非暂时性计算机可读介质。操作可以包括从图像解说词添加数据库获得具有相关联的解说词的带解说词的图像。另外,操作可以包括获得第一视频,该第一视频具有多个帧。此外,操作可以包括确定带解说词的图像的特征向量。此外,操作可以包括确定第一视频的多个帧中的第一帧的特征向量。随后,操作可以包括基于带解说词的图像的特征向量和第一帧的特征向量来计算带解说词的图像与第一帧之间的相似度值。操作还可以包括基于相似度值来用与带解说词的图像的相关联的解说词相似的相关联的解说词标记第一帧。
在一些情况下,该方法可以包括基于第一帧来生成第一视频的视频片段。另外,该方法可以包括将视频片段存储在视频解说词添加数据库中,该视频片段与所标记的解说词相关联。此外,该方法可以包括从用户装置接收用户输入。用户输入可以指示与所标记的解说词相关联的视频请求。此外,该方法可以包括响应于接收到用户输入而在用户装置的用户界面上呈现视频片段。
在一些情况下,该方法可以包括基于存储在视频解说词添加数据集中的与所标记的解说词相关联的视频片段的数量来确定匹配阈值。当相似度值超过匹配阈值时,可以用所标记的解说词来标记第一帧。
在一些情况下,可以通过确定第一帧的特征向量与带解说词的图像的特征向量之间的L2距离来计算相似度值。另外,可以使用在图像分类上训练的人工神经网络来计算相似度值。此外,可以使用点积相似度技术来计算相似度值。
在一些情况下,该方法可以包括由计算系统确定第一视频的多个帧中的第二帧的特征向量。另外,该方法可以包括由计算系统基于带解说词的图像的特征向量与第二帧的特征向量之间的比较来计算带解说词的图像与第二帧之间的第二相似度值。此外,该方法可以包括当第二相似度值超过匹配阈值时,由计算系统用所标记的解说词标记第二帧。此外,可以基于第一帧的特征向量来进一步确定第二帧的特征向量。
在一些情况下,可以基于第一视频帧速率来生成第一视频的多个帧,并且该方法还可以包括基于降低的视频帧速率来选择第二帧,降低的视频帧速率小于第一视频帧速率。
在一些情况下,第一帧可以包括第一时间戳,并且第二帧可以包括第二时间戳。该方法还可以包括基于第一时间戳和第二时间戳来确定时间跨度。另外,该方法可以包括生成第一视频的视频片段,其中,基于时间跨度来缩短第一视频以生成视频片段。此外,该方法可以包括用所标记的解说词来标记视频片段。
在一些情况下,该方法可以包括基于相关联的解说词来访问查找表,该查找表具有与相关联的解说词相关的多个解说词。另外,该方法可以包括使用查找表来用多个解说词中的新解说词标记第一帧。
在一些情况下,该方法可以包括确定第一视频的第三帧不具有解说词。另外,该方法可以包括基于第一视频来生成新视频,其中,从第一视频中删除第三帧以生成新视频。
在一些情况下,该方法可以包括由计算系统基于第一帧来生成第一视频的音频文件,该音频文件与所标记的解说词相关联。另外,该方法可以包括从用户装置接收用户输入,该用户输入指示与所标记的解说词相关联的音频请求。此外,该方法可以包括响应于接收到用户输入而在用户装置的扬声器上输出音频文件。
在一些情况下,该方法可以包括由计算系统从图像解说词添加数据集获得一组图像,该组图像具有带解说词的图像。另外,该方法可以包括由计算系统从视频储存库(例如,公共域)获得一组视频。该组视频具有第一视频。该组视频中的每个视频具有多个帧。
在一些情况下,该方法可以包括由计算系统从该组视频中选择第二视频。另外,该方法可以包括由计算系统提取第二视频的新帧的特征向量。此外,该方法可以包括由计算系统基于带解说词的图像的特征向量和新帧的特征向量来计算带解说词的图像与新帧之间的新的相似度值。此外,该方法可以包括由计算系统基于新的相似度值来用与带解说词的图像的相关联的解说词相似的相关联的解说词标记新帧。
在另一个示例方面,提供了一种系统,该系统包括一个或多个处理器和存储器,该存储器存储计算机可读指令,这些计算机可读指令在由一个或多个处理器执行时,使系统执行计算机实现的方法和/或方法方面、其修改、其组合和/或如本文所述的操作。
在另一个示例方面,提供了一种计算机程序产品,该计算机程序产品包括计算机可读指令,这些计算机可读指令在由计算设备执行时,使计算设备执行计算机实现的方法和/或方法方面、其修改、其组合和/或如本文所述中的任一者的操作。
本公开的其他方面涉及各种系统、设备、非暂时性计算机可读介质、用户界面和电子装置。
将参考以下描述和随附权利要求更好地理解本公开的各种实施例的这些和其他特征、方面和优点。并入本说明书中并且构成本说明书的一部分的附图示出了本公开的示例实施例,并且连同描述一起用于解释相关原理。
附图说明
参考附图,在本说明书中阐述了面向本领域普通技术人员的对实施例的详细讨论,在附图中:
图1A描绘了根据本公开的示例实施例的示例计算系统的框图。
图1B描绘了根据本公开的示例实施例的示例计算装置的框图。
图1C描绘了根据本公开的示例实施例的示例计算装置的框图。
图2是根据本公开的示例实施例的注释系统的框图。
图3A描绘了根据本公开的示例实施例的自动挖掘音频-视频片段并用解说词标记片段的示例的图示。
图3B描绘了根据本公开的示例实施例的自动挖掘音频-视频片段并用解说词标记片段的另一个示例的图示。
图3C描绘了根据本公开的示例实施例的使用注释系统来为视频片段添加解说词的示例结果的图示。
图4描绘了根据本公开的示例实施例的用于使用注释系统来标记视频的示例方法的流程图。
图5描绘了根据本公开的示例实施例的用于生成并呈现视频片段的示例方法的流程图。
图6描绘了根据本公开的示例实施例的用于生成并标记视频片段的示例方法的流程图。
在多个附图之间重复的附图标记旨在标识各种实现方式中的相同特征。
具体实施方式
文本-视频和文本-音频检索的一个主要挑战是缺乏大规模高质量的训练数据。相比之下,用于图像解说词添加的训练数据集有约数百万个样本。本文描述的技术利用注释系统来通过在没有人工干预的情况下自动将解说词从图像解说词添加数据集迁移到视频片段来增加用于视频数据的高质量训练数据的量。可包括视频挖掘管线的注释系统可以创建由数百万个成对的片段与解说词组成的新的大规模音频-视频解说词添加数据集。另外,经验证据表明,在这个新创建的数据集上训练双流文本-视频模型可以在视频检索和视频解说词添加方面实现有竞争力的性能,从而匹敌并超越其他视频解说词添加训练数据集。此外,所挖掘的片段还可适用于文本-音频预训练,并实现音频检索任务的最先进的结果。
人工智能的一个关键方面可能是能够毫不费力地将视觉和听觉世界与自然语言概念联系起来。弥合人类感知(例如视觉、听觉和触觉)与交流(例如语言)之间的差距正成为人工智能体越来越重要的目标,从而实现诸如文本到视觉检索、图像和视频解说词添加以及视觉问答等任务。特别是在图像领域中,这种需求已经导致具有自然语言描述的大规模图像数据集的迅猛增长。
然而,在视频和音频领域中,一直聚焦于在开发新的架构或新的训练目标方面进行建模。一直缺乏对生成用于训练和评估模型的基础数据的关注。另外,用清晰多样的解说词手动对视频进行注释通常是主观的、费力的且昂贵的。因此,大多数当前的视频解说词添加数据集大小都很小(例如,数量级为约100,000)。此外,音频解说词添加数据集甚至可以更小。为了提高机器学习模型的性能,用于训练模型的训练数据的量应该达到数百万个数据样本,使用常规系统来生成这些数据样本的计算成本可能太高。另外,如前所述,常规系统可能需要人工输入来对视频进行注释或查看自动生成的注释。本文描述的技术允许快速、准确地自动标记大量数据(例如视频、音频),而无需人工输入来进行标记。
用于创建视频解说词添加训练数据的常规系统可包括在教学视频中使用自动语音识别(ASR)。然而,使用ASR的缺陷是众所周知的,包括:(i)不完善的ASR转录中的噪音;(ii)连续的叙述可能由不完整或语法不正确的句子组成;(iii)该领域通常限于教学视频,以增加语音与视频内容之间的相关性;以及(iv)ASR在时间上可能不与视频对齐,或者可能根本不参考视频。
相比之下,图像注释的计算成本比视频低。另外,大规模图像-文本预训练模型可以在线获得。利用文本-图像模型可能非常有价值,尤其是在注释系统利用视频的一些益处时。
根据一些实施例,注释系统可以利用基于跨模态迁移的视频挖掘方法。在一些情况下,注释系统可以使用图像解说词添加数据集中的图像作为种子来在线查找视频中的相似的视频片段,如图3A至图3C所示。随后,注释系统可以将图像解说词直接迁移到被确定为相似的视频片段,从而在监督学习过程中生成视频训练数据集和音频训练数据集。例如,图像的人工生成的解说词可用于其他模态(例如视频、音频)。为了进行说明,图像解说词添加数据集中的解说词“person throws a pitch during a game against university”可能是为单个和/或静态图像写的,但该解说词也可以描述视频中将发生的动作。类似地,解说词“aperson singing a song”也可以推断出潜在的音轨。
注释系统可以完全自动地生成数据集样本,而无需任何手动输入。另外,数据集样本由于由包含与文本解说词对齐的至少一个帧的格式良好的解说词组成而可以比常规数据集样本更加多样化。
注释系统提供了一种新的可扩展的视频挖掘管线,该视频挖掘管线将解说词添加监督从图像数据集迁移到视频和音频。另外,视频挖掘管线可以通过使用任何可用的图像解说词添加数据集作为种子数据集来策划新的视频-文本数据集。视频-文本数据集可以由数百万成对的视频片段与文本解说词组成。另外,针对视频检索和解说词添加,在视频-文本数据集上训练的模型表现得与在ASR生成的数据集上预先训练的模型相当或比它更好,其中,片段数量减至1/20,并且文本句子减至1/100。具体地,视频-文本数据库在零样本(zero-shot)设置下展示出巨大的性能提升。另外,视频挖掘管线能够挖掘一些弱匹配的音频解说词添加数据,而无需任何手动音频监督,在该数据上进行预训练在文本-音频检索基准上实现最先进的结果。
注释系统可以利用跨模态监督来标记视频数据。在一些情况下,注释系统可以使用一种模态(例如,图像)中的所标记的数据来辅助另一种模态(例如,视频、音频)中的学习。跨模态迁移的示例技术可以包括但不限于:知识蒸馏、多模态正则化,以及挖掘新数据并基于相似度值来分配标签。当在一种模态(例如,文本-图像检索)中存在大量标记的数据集但在另一种模态(例如,文本-音频检索、文本-视频检索)中获得这些数据集用于类似任务更具挑战性时,跨模态监督可以是尤其有用的。
以下部分中讨论本公开的系统和方法的实施例和实现方式的示例。
技术改进
本文描述的技术提高机器学习模型的性能,提高机器学习模型的训练,并提高用于训练机器学习模型的数据集的准确性、质量和数量。
例如,通过利用现有的图像数据集来挖掘具有解说词的视频和音频数据,生成更好的视频解说词添加数据集和音频解说词添加数据集。数据集可以由数百万个标记的视频-文本对和音频-文本对组成。挖掘管线是可扩展的,并且可应用于任何图像解说词添加数据集。在数据集上进行训练也为视频和音频检索以及视频解说词添加提供了良好的性能。
解说词添加数据集包括对常规数据集(例如,基于ASR的注释)的技术改进,诸如改进的多样性、改进的对齐、更好的解说词质量和更多的解说词数量。例如,视频解说词添加数据集更加多样化并且更加平衡,因为视频是从视频的一般语料库中在线挖掘的。例如,当前可用的常规数据集通常仅限于教学视频,诸如烹饪视频。另外,视频解说词添加数据集具有更好的对齐,因为它们是通过挖掘与带解说词的种子图像具有高度视觉相似度的帧来创建的。鉴于种子图像包括相关解说词,这确保所挖掘的视频片段中的至少一个帧与解说词对齐。与基于ASR的数据集相比,这是一个更为严格的约束,基于ASR的数据集存在问题,并且以语音与视觉帧之间偶尔不对齐而众所周知。此外,视频解说词添加数据集具有高质量,并且可以具有多个解说词。解说词的质量是直接从种子数据集迁移。因此,与从ASR获得的句子分布不同,视频解说词添加数据集中的大多数解说词是句型完整、语法正确的句子。来自同一组解说词和视频片段的多个对也有助于确保学习到的视频和文本表示不会过度专门化到单独样本,这对于现有数据集来说可能是一个问题。
本文的技术通过仅存储具有相关联的解说词的短视频片段而不是全长视频(例如,电影)来减少存储器存储。另外,这些技术通过训练机器学习模型并在具有相关联的解说词的视频片段而不是全长视频上使用机器学习模型来减少计算机处理。此外,常规的视频注释系统通常可能具有较大的计算量,这可能产生不利的环境影响,诸如较高的计算资源能耗。因此,本文描述的技术可由于训练机器学习模型和使用机器学习模型所需的计算资源的减少而降低能耗。此外,通过生成并发布比常规数据集小一个数量级的数据集,同时提供更好的零样本泛化,可以实现更快且更便宜的语言-视频模型创新。
在训练时间方面,系统可以减少训练机器学习模型的时间。此外,减少训练时间允许系统在生产环境中训练更大的模型。系统可以减少训练时间,这是因为数据集可以是更加准确的并且质量更好。另外,系统可以例如通过使用更好的数据集显著减少深度卷积或自注意力模型的运行时间。在存储器占用(footprint)方面,系统还可以改进模型训练的存储器占用,因为系统正使用更准确且质量更好的数据集。
示例装置和系统
现在参考附图,将进一步详细讨论本公开的示例实施例。
图1A描绘了根据本公开的示例实施例的生成数据集并训练机器学习模型的示例计算系统100的框图。系统100包括通过网络180通信地耦合的用户计算装置102、服务器计算系统130和训练计算系统150。
用户计算装置102可以是任何类型的计算装置,诸如例如个人计算装置(例如,膝上型计算机或台式机)、移动计算装置(例如,智能电话或平板计算机)、游戏控制台或控制器、可穿戴计算装置、嵌入式计算装置或任何其他类型的计算装置。
用户计算装置102包括一个或多个处理器112和一个存储器114。一个或多个处理器112可以是任何合适的处理装置(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是一个处理器或操作性地连接的多个处理器。存储器114可以包括一种或多种非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存存储器装置、磁盘等以及它们的组合。存储器114可存储数据116和由处理器112执行以使用户计算装置102执行操作的指令118。
在一些实现方式中,用户计算装置102可以存储或包括一个或多个模型120。例如,模型120(例如视频解说词添加模型、视频检索模型、音频解说词添加模型、音频检索模型)可以是或者可以以其他方式包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络可包括前馈神经网络、循环神经网络(例如,长短期记忆循环神经网络)、卷积神经网络或其他形式的神经网络。在其他示例中,模型120可以是特定的视频解说词添加模型、音频解说词添加模型、视频检索模型和音频检索模型,这些模型是可区分的并且已经被参数化以促进机器学习技术的应用。参考图2至图6讨论示例模型120。
在一些实现方式中,一个或多个模型120可以通过网络180从服务器计算系统130接收、存储在用户计算装置存储器114中,并且然后由一个或多个处理器112使用或以其他方式实现。在一些实现方式中,用户计算装置102可以实现单个模型120的多个并行实例。
更具体地,可以使用训练计算系统150来用一组训练数据162(例如,视频解说词添加数据集、音频解说词添加数据集)来训练模型120,以训练模型的参数来优化模型。训练计算系统150可以依赖所生成的视频解说词添加数据集来提高模型120/140的性能。训练数据162还可以包括视频解说词添加数据集和音频解说词添加数据集的创建。
另外或替代地,一个或多个模型140可以被包括在服务器计算系统130中或以其他方式由该服务器计算系统存储并实现,该服务器计算系统根据客户端-服务器关系与用户计算装置102通信。例如,模型140可由服务器计算系统134实现为web服务(例如,视频检索服务、音频检索服务)的一部分。因此,一个或多个模型120可在用户计算装置102处存储并实现,并且/或者一个或多个模型140可在服务器计算系统130处存储并实现。
用户计算装置102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或触笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可用于实现虚拟键盘。其他示例用户输入组件包括传声器、传统键盘或用户可通过其提供用户输入的其他装置。
服务器计算系统130包括一个或多个处理器132和一个存储器134。一个或多个处理器132可以是任何合适的处理装置(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是一个处理器或操作性地连接的多个处理器。存储器134可以包括一种或多种非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存存储器装置、磁盘等以及它们的组合。存储器134可以存储数据136和由处理器132执行以使服务器计算系统130执行操作的指令138。
在一些实现方式中,服务器计算系统130包括一个或多个服务器计算装置或者以其他方式由一个或多个服务器计算装置实现。在服务器计算系统130包括多个服务器计算装置的情况下,此类服务器计算装置可以根据顺序计算架构、并行计算架构或它们的某种组合来操作。
如上所述,服务器计算系统130可以存储或以其他方式包括一个或多个机器学习模型140。例如,模型140可以是或可以以其他方式包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、循环神经网络和卷积神经网络。参考图2至图6讨论示例模型140。
用户计算装置102和/或服务器计算系统130可经由与通过网络180通信地耦合的训练计算系统150的交互来训练模型120和/或140。训练计算系统150可与服务器计算系统130分开或者可以是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和一个存储器154。一个或多个处理器152可以是任何合适的处理装置(例如,处理器核心、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是一个处理器或操作性地连接的多个处理器。存储器154可以包括一种或多种非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存存储器装置、磁盘等以及它们的组合。存储器154可以存储数据156和由处理器152执行以使训练计算系统150执行操作的指令158。在一些实现方式中,训练计算系统150包括一个或多个服务器计算装置或者以其他方式由一个或多个服务器计算装置实现。
训练计算系统150可以包括模型训练器160,该模型训练器使用各种训练或学习技术(诸如例如误差反向传播)来训练存储在用户计算装置102和/或服务器计算系统130处的机器学习模型120和/或140。例如,损失函数可以通过模型反向传播来更新模型的一个或多个参数(例如,基于损失函数的梯度)。可以使用各种损失函数,诸如均方误差、似然损失、交叉熵损失、铰链损失和/或各种其他损失函数。梯度下降技术可以用于在多个训练迭代中迭代地更新参数。
在一些实现方式中,执行误差反向传播可包括执行截断的通过时间的反向传播。模型训练器160可以执行多种泛化技术(例如,权重衰减、暂退(dropout)等)来提高正在训练的模型的泛化能力。
具体地,模型训练器160可以基于一组训练数据162来训练机器学习模型120和/或140。训练数据162可以包括例如视频解说词添加数据集、音频解说词添加数据集、图像解说词添加数据集。
在一些实现方式中,如果用户已提供同意,则训练样例可以由用户计算装置102提供。因此,在此类实现方式中,向用户计算装置102提供的模型120可由训练计算系统150在从用户计算装置102接收的用户特定数据上进行训练。在一些情况下,这个过程可称为对模型进行个性化。
模型训练器160包括用于提供期望功能的计算机逻辑。模型训练器160可在控制通用处理器的硬件、固件和/或软件中实现。例如,在一些实现方式中,模型训练器160包括存储在存储装置上、加载到存储器中并由一个或多个处理器执行的程序文件。在其他实现方式中,模型训练器160包括存储在有形计算机可读存储介质(诸如RAM、硬盘或者光或磁介质)中的一组或多组计算机可执行指令。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)或它们的某种组合,并且可以包括任何数量的有线或无线链路。一般来说,通过网络180的通信可使用多种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护模式(例如,VPN、安全HTTP、SSL)经由任何类型的有线和/或无线连接来执行。
图1A示出了可用于实现本公开的一个示例计算系统。也可使用其他计算系统。例如,在一些实现方式中,用户计算装置102可包括模型训练器160和训练数据集162。在此类实现方式中,模型120可在用户计算装置102处进行本地训练和使用两者。在此类实现方式中的一些中,用户计算装置102可实现模型训练器160以基于用户特定数据来对模型120进行个性化。
图1B描绘了根据本公开的示例实施例执行的示例计算装置10的框图。计算装置10可以是用户计算装置和/或服务器计算装置。
计算装置10包括多个应用(例如,应用1至应用N)。每个应用包含其自己的机器学习库和机器学习模型。例如,每个应用可包括机器学习模型。示例应用包括文本消息传送应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图1B所示,每个应用可与计算装置的多个其他组件(例如,诸如一个或多个传感器、场境管理器、装置状态组件和/或附加组件)通信。在一些实现方式中,每个应用可使用API(例如,公共API)来与每个装置组件通信。在一些实现方式中,每个应用使用的API是特定于该应用的。
图1C描绘了根据本公开的示例实施例执行的示例计算装置50的框图。计算装置50可以是用户计算装置和/或服务器计算装置。
计算装置50包括多个应用(例如,应用1至应用N)。每个应用与中央智能层通信。示例应用包括文本消息传递应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实现方式中,每个应用可使用API(例如,跨所有应用的公共API)来与中央智能层(以及存储在其中的模型)通信。
中央智能层包括多个机器学习模型。例如,如图1C所示,可以为每个应用提供相应的机器学习模型(例如,模型),并且该机器学习模型由中央智能层管理。在其他实现方式中,两个或更多个应用程序可以共享单个机器学习模型。例如,在一些实现方式中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实现方式中,中央智能层包括在计算装置50的操作系统内或者以其他方式由该操作系统实现。
中央智能层可与中央装置数据层通信。中央装置数据层可以是计算装置50的集中式数据储存库。如图1C所示,中央装置数据层可与计算装置的多个其他组件(例如诸如一个或多个传感器、场境管理器、装置状态组件和/或附加组件)通信。在一些实现方式中,中央装置数据层可以使用API(例如,私有API)与每个装置组件进行通信。
本说明书中描述的机器学习模型可以用于各种任务、应用和/或用例。
在一些实现方式中,本公开的机器学习模型的输入可以是视频解说词添加模型、音频解说词添加模型、视频检索模型和/或音频检索模型。机器学习模型可处理数据以生成输出。作为一个示例,机器学习模型可以处理数据以生成视频片段、视频数据或音频文件、视频数据的编码表示、视频数据的散列等等。作为另一个示例,机器学习模型可以处理数据以生成视频分类输出。作为另一个示例,机器学习模型可以处理数据以生成视频数据修改输出(例如,视频数据的更改等)。作为另一个示例,机器学习模型可以处理数据以生成经编码的视频数据输出(例如,视频数据的经编码的和/或经压缩的表示等)。作为另一个示例,机器学习模型可以处理数据以生成预测输出。
在一些实现方式中,本公开的机器学习模型的输入可以是文本或自然语言数据。机器学习模型可以处理文本或自然语言数据以生成输出。作为一个示例,机器学习模型可以处理自然语言数据以生成视频数据或音频数据。
在一些实现方式中,本公开的机器学习模型的输入可以是语音数据。机器学习模型可处理语音数据以生成输出。作为一个示例,机器学习模型可以处理语音数据以生成语音辨识输出。作为另一个示例,机器学习模型可以处理语音数据以生成视频数据或音频数据。
在一些情况下,机器学习模型可被配置为执行任务,该任务包括对输入数据进行编码以进行可靠和/或有效的传输或存储(和/或对应的解码)。例如,任务可以是音频或视频压缩任务。输入可包括音频数据,并且输出可包括经压缩的音频或视频数据。在另一个示例中,输入包括视觉数据(例如,一个或多个图像、音频文件或视频),输出包括经压缩的视觉数据,并且任务是视觉数据压缩任务。在另一个示例中,任务可以包括为输入数据(例如,输入音频或视觉数据)生成嵌入。
在一些情况下,输入包括视觉数据,并且任务是计算机视觉任务。在一些情况下,输入包括一个或多个图像的像素数据,并且任务是图像处理任务。例如,图像处理任务可以是图像分类,其中,输出是一组得分,每个得分对应于不同的对象类并且表示一个或多个图像描绘属于对象类的对象的可能性。图像处理任务可以是对象检测,其中,图像处理输出识别一个或多个图像中的一个或多个区域,并且针对每个区域,识别该区域描绘感兴趣的对象的可能性。作为另一个示例,图像处理任务可以是图像分割,其中,图像处理输出针对一个或多个图像中的每个像素定义一组预定类别中的每个类别的相应可能性。例如,该组类别可以是前景和背景。作为另一个示例,该组类别可以是对象类。作为另一个示例,图像处理任务可以是深度估计,其中,图像处理输出针对一个或多个图像中的每个像素定义相应的深度值。作为另一个示例,图像处理任务可以是运动估计,其中,网络输入包括多个图像,并且图像处理输出针对输入图像中的一个输入图像中的每个像素定义在像素处描绘的场景在网络输入中的图像之间的运动。
在一些情况下,输入包括表示口头话语的音频数据,并且任务是语音辨识任务。输出可包括映射到口头话语的文本输出、音频输出、视频输出。在一些情况下,任务包括对输入数据进行加密或解密。在一些情况下,任务包括微处理器性能任务,诸如分支预测或存储器地址转换。
图2描绘了根据本公开的示例实施例的用于标记视频片段以生成数据集并使用所生成的数据集来训练机器学习模型的示例环境200。注释系统240使用训练数据来训练一个或多个机器学习模型235,该训练数据包括存储在视频解说词添加数据库270中的视频片段和存储在音频解说词添加数据库275中的音频片段。一个或多个机器学习模型235可以包括图1A中的机器学习模型120、140。一个或多个机器学习模型235可以在服务器计算系统230或注释系统240中维护(例如,存储)。服务器计算系统230可以类似于图1A中的服务器计算系统130。机器学习模型235可以是例如分类器模型、线性回归模型、逻辑回归模型、支持向量机模型、神经网络(例如,卷积神经网络、循环神经网络等)或另一个合适的模型。注释系统240、服务器计算系统230、图像解说词添加数据库210和视频储存库215可以经由网络220彼此通信。网络220可以类似于图1A中的网络180。
用于获得与解说词配对的视频片段的自动挖掘管线
根据一些实施例,注释系统240可以包括用于获得并生成与解说词数据配对的视频片段的自动挖掘管线250。然后,注释系统240可以使用与解说词数据配对的视频片段来训练文本-视频模型和文本-音频模型。
在一些情况下,挖掘管线250可以包括从图像解说词添加数据库210获得种子图像242(或一个或多个种子图像242),图像解说词添加数据库包括一个或多个种子图像212。对于数据集中的每个图像-解说词对,注释系统240可以提取(例如,查找、发现)视频中与该图像相似的帧。然后,注释系统240可以提取匹配帧周围的短视频片段,并将解说词迁移到所提取的视频片段。
注释系统240可以识别图像解说词添加数据库210中的种子图像。该过程可以由挖掘管线250从图像解说词添加数据库210中选择具有解说词的一个或多个种子图像212来启动。从图像解说词添加数据库210获得的图像可以称为种子图像(x种子)242。
注释系统240可以从所获得的种子图像242中提取特征。例如,注释系统240可以使用视觉特征向量计算器254来计算每个种子图像的视觉特征向量f(x种子)。鉴于注释系统240试图挖掘语义相似的图像,注释系统240可以使用特征提取器252来提取特征。特征提取器252可以使用针对图像检索训练的深度机器学习模型。随后,注释系统240则为存储在视频储存库215中的多个视频的帧xv提取相同的视觉特征f(xv)。例如,视频储存库215可以包括可公开可用并在线发布的视频。另外,由于视频中的视觉信息可随着时间的推移而强相关,因此注释系统可以以相对于原始视频帧速率降低的速率(例如1fps)提取特征以提高效率。例如,视频可以具有24帧/秒(fps)的视频帧速率,并且从视频中提取的多个帧可以是1fps。通过以降低的帧速率提取帧和特征,注释系统240减少用于存储视频帧的存储器存储,并且还通过需要更少的计算资源和减少处理时间来改进对训练的处理。
注释系统240可以确定一个或多个所获得的种子图像242中的每个种子图像是否与视频的帧相似。例如,相似度函数、值或得分(也称为相似度衡量或相似度度量)可用于量化例如但不限于两个对象、实体、项和/或特征向量等之间的相似度。例如,相似度函数、得分和/或值可用于确定实值函数、得分和/或值,它们表示解说词数据集中每个种子图像的特征向量与从多个视频获得的每个视频帧的特征向量之间的相似度。例如,可以通过例如以下方式计算特征向量之间的相似度值:确定第一帧的特征向量与第一图像的特征向量之间的L2距离;使用在输出实值分类、得分或值的图像分类上训练的人工神经网络;使用点积相似度技术;使用向量之间的欧几里得距离等;和/或基于任何其他类型的距离度量或可用于测量例如但不限于第一帧的特征向量与第一图像的特征向量之间的相似度的度量等。
在一些情况下,向量计算器254可以计算解说词数据集中每个种子图像的特征向量与从多个视频获得的每个视频帧的特征向量之间的点积相似度。例如,当所计算的相似度值高于或达到阈值τ时,可以将种子图像与视频帧配对。
出于检索目的,注释系统240可以将针对每个种子图像具有最高相似度得分的视频片段存储在视频解说词添加数据库270中。例如,注释系统240可以存储某个数量的视频片段(例如,前10个匹配)。另外,注释系统240可以将解说词从图像迁移到在所匹配的图像帧周围的时间跨度t处提取的短视频片段,并将其添加到视频解说词添加数据库270。下面进一步描述时间t和阈值τ的确定。类似地,注释系统可以将已经使用本文描述的技术标记的音频文件(例如,音频片段)存储在音频解说词添加数据库275中。
注释系统240可以基于所获得的视频数据来确定时间跨度t的最佳值。例如,注释系统240可以提取以秒为单位的不同时间区段(例如,5秒和30秒)之间的不同长度片段区段t,并确定时间跨度t的最佳值(例如,10秒)。
根据一些实施例,挖掘管线250可以提取短持续时间的固定长度片段。根据其他实施例,挖掘管线250可以使用图像和视频模型来智能地确定所挖掘的片段的边界,这些边界也可以用于定位。挖掘管线250还可应用于其他种子图像解说词添加数据集(图2中未显示)。
另外,注释系统240可以确定阈值τ的最佳值。例如,注释系统240可以针对某个范围内(例如,范围{0.5,0.6,0.7,0.8.0.9}))的相似度对不同的匹配阈值τ进行实验,并确定该范围对挖掘统计数据的影响。在一些情况下,匹配阈值越高,对匹配帧与解说词的相似度要求越严格。取决于数据集,性能在不减小数据集大小的情况下增加到某个阈值(例如,当阈值τ=0.6时)。然而,随着阈值τ增加到高于最佳值,匹配的数量可减少,这导致数据集中的视频和片段减少,并且下游性能相应下降。
本文描述的技术提供了使用迁移的解说词进行自动注释的益处。注释系统240可以为难以注释的模态提供解说词添加监督。在一些情况下,通过现有的图像监督源,注释系统可以自动挖掘相关帧。例如,现有的图像监督源可以包括种子图像解说词添加数据集和图像相似度模型f(·)。本文描述的技术可以为具有运动的新片段提供有价值的监督,以及为音频流提供免费监督。可被存储在音频解说词添加数据库275中的所标记的音频样本可用于预训练文本-音频模型。
注释系统的文本-视频模型
根据一些实施例,注释系统240可以使用所生成的视频解说词添加数据集和音频解说词添加数据集来实现不同的文本-视频模型,以分别进行视频检索和解说词添加。对于检索,可以使用双流方法(例如,一个流是音频-视频编码器,并且另一个流是解说词的文本编码器)来训练模型,该方法在使用对比损失进行训练时允许进行有效的文本-视频检索。有效的双流方法可以利用也包含音频的多模态视频编码器。对于视频解说词添加,可以使用编码器-解码器样式生成模型。多模态视频编码器255可用于视频检索和视频解说词添加两者。视频检索系统260描述了用于检索的文本编码器和对比损失函数。下面的视频解说词添加系统265描述了用于解说词添加的文本解码器和损失函数。
多模态视频编码器255可以是基于视听transformer的模型,并且可以应用于文本-视频和文本-音频检索两者。例如,可以以固定采样率从每个视频中提取RGB帧,并且可使用对数梅尔频谱图(log-mel spectrogram)来表示音频。多模态视频编码器255随后可以从RGB图像或音频频谱图中提取N个不重叠的图块。该模型可以由针对每个模态的多个transformer层组成,每个模态具有单独的权重,并且通过瓶颈词元(bottleneck token)完成融合。在一些情况下,多模态视频编码器255可以根据输入模态来使用仅RGB版本、仅音频版本和RGB-音频融合版本。
视频检索系统
视频检索系统260可以包括文本编码器262。例如,文本编码器262的架构可以是语言表示模型,诸如来自Transformer的双向编码器表示(BERT)模型。对于最终的文本编码,文本编码器262可以使用最终层的特殊分类词元(例如,CLS)输出。
另外,视频检索系统260可以包括联合嵌入。对于最终的视频编码,视频检索系统260可以对来自音频模态和RGB模态两者的词元(例如,CLS)进行平均。例如,然后可以经由单个线性层将文本和视频编码两者各自投影到公共维度(例如,D=256)。随后,视频检索系统260可以在归一化之后计算两个投影嵌入之间的点积相似度。
此外,视频检索系统260可以使用损失函数来优化和训练机器学习模型。例如,视频检索系统可以使用噪声对比估计(NCE),该NCE是一种用于自监督学习的对比损失函数。NCE损失可用于学习视频和文本嵌入空间,在该视频和文本嵌入空间中,批次(batch)中匹配的文本-视频对可被视为正例,而批次中所有其他成对组合可被视为负例。视频检索系统260可以最小化两个损失(视频到文本和文本到视频)的总和,以优化并训练机器学习模型。
视频解说词添加系统
视频解说词添加系统265可以包括解码器266以生成文本解说词。在一些情况下,解码器266可以是标准自回归解码器。另外,视频解说词添加系统265可以调节来自多模态视频编码器255的视频特征上的每个预测的文本词元以及先前生成的文本词元。例如,给定视频特征C作为上下文,为了生成解说词Y中的下一个词元yi,视频解说词添加系统265可以首先使用查找表和位置嵌入对先前生成的词元Yi={y0,...,yi-1}进行编码以产生Hi={h0,...,hi-1}。视频解说词添加系统265可以使用单个transformer来对上下文C和先前嵌入的词元Hi进行编码。该transformer的输出是其中,随后,视频解说词添加系统265可以使用具有softmax:yi的线性投影来从预测下一个词元yi,其中,Φ∈Rν×d是线性投影矩阵,并且ν是词表(vocabulary)大小。在一些情况下,可以使用特殊的BOS(句首)词元来设置第一个词语h0,并且生成词元,直到生成特殊的EOS(句尾)词元。
另外,视频解说词添加系统265可以使用损失函数来优化和训练机器学习模型。例如,视频解说词添加系统265可以最小化生成损失函数的真实值解说词的负对数似然,以优化机器学习模型。
一般来说,注释系统240或服务器计算系统230可以基于视频解说词添加数据库270和音频解说词添加数据库275定期或连续地计算机器学习模型235的可训练参数的更新。在一些实现方式中,可训练参数的学习包括在线或连续的机器学习算法。例如,一些实现方式可连续地更新机器学习模型中的可训练参数,而无需循环训练整个模型。
根据一些实施例,注释系统240可以基于相似度值用与种子图像242的相关联的解说词相似或相同的相关联的解说词(例如,所标记的解说词)标记视频的第一帧。另外,注释系统240可以基于第一帧来生成第一视频的视频片段。该视频片段可以位于视频解说词添加数据库270中。视频片段还可以与所标记的解说词相关联。随后,注释系统240可以从用户290的用户装置280接收用户输入(例如,请求)。用户输入可以指示与所标记的解说词相关联的视频请求。响应于用户输入,注释系统可以在用户装置280的用户界面上呈现视频片段。
图3A描绘了根据本公开的示例实施例的自动挖掘音频-视频片段并用解说词标记片段的示例的图示300。注释系统可以从图像解说词添加数据集310获得带解说词的图像305,并将该带解说词的图像用作种子图像(例如,种子帧)来挖掘相关的视听片段315。对于数据集中的每个种子图像-解说词对,注释系统可以确定与种子图像的相似度得分320。注释系统可以从第一视频中选择第一帧325,并从第二视频中选择第二帧330,该第一帧和该第二帧的相似度得分高于匹配阈值335。随后,注释系统可以提取匹配帧周围的短视频片段,并将解说词340从种子图像迁移到那些片段。现在已经用解说词340标记的视频片段可以存储在视频解说词添加数据库中。图3A是针对视频片段和音频片段的免解说词添加监督的示例。
图3B描绘了根据本公开的示例实施例的挖掘音频-视频片段并用解说词标记片段的另一个示例的图示350。注释系统可以为每个种子图像352挖掘多个不同的视频片段354,并且用与每个帧相关联的解说词356标记多个不同视频片段中的每个视频片段。如该示例中所示,对于每个种子图像,注释系统已经使用本文描述的自动视频挖掘技术选择了三个匹配的视频片段。出于说明目的,前两个视频片段为单个帧,并且第三个视频片段包括第一帧和第二帧,以示出视频中的主体的运动(即,前三行中的视频片段362、364、366)或小的相机运动(即,最后两行中的视频片段368、370)。另外,如图3B中所突出显示的,注释系统可以挖掘一组多样化的视频片段,例如不同的投球姿势和角度(即,第一行中的视频片段362)和不同类型的雕像(即,第四行中的视频片段368)。此外,第二行中的视频片段还包含与解说词相关的音频。此外,注释系统可以使用机器学习技术来裁剪帧并调整帧的大小,以便于可视化。
图3C描绘了根据本公开的示例实施例的使用注释系统来为视频片段添加解说词的示例结果的图示375。在一些情况下,测试了由注释系统对视频片段进行标记的结果的准确性和质量。如图3C所示,与来自常规系统的常规标记385相比,使用来自注释系统的注释系统标记390来对一组测试视频进行的零样本解说词添加结果更接近真实值380。图示375示出了从视频获得的每个视频片段的两个帧。如图所示,与使用使用常规方法(即,ASR)预先训练的模型相比,由注释系统预先训练的模型预测的解说词的样式更接近真实值。
示例方法
图4描绘了根据本公开的示例实施例的用于标记或注释训练数据集的音频样本/视频以供注释系统使用来训练机器学习模型的示例方法400的流程图。方法400可以由一个或多个计算装置实现,诸如图1A至图1C和/或图2中所描绘的一个或多个计算装置(例如,注释系统240、服务器计算系统130、计算装置10和/或计算装置50)。此外,图4出于说明和讨论的目的描绘了按特定顺序执行的步骤。方法400的每个相应的部分可由一个或多个计算装置中的任一者(或任何组合)执行。本领域的普通技术人员使用本文提供的公开内容将理解,在不背离本公开的范围的情况下,本文讨论的任何方法的步骤可以以各种方式调整、重新排列、扩展、省略或修改。
图4出于说明和讨论的目的描绘了以特定顺序执行的要素。本领域的普通技术人员使用本文提供的公开内容将理解,在不背离本公开的范围的情况下,本文讨论的任何方法的要素可以以各种方式调整、重新排列、扩展、省略、组合或修改。图4是出于示例性说明的目的参考关于其他系统和附图描述的要素/术语来描述的,并且不意在进行限制。另外或替代地,方法400的一个或多个部分可由其他系统执行。
在402处,注释系统240可以获得具有相关联的解说词的带解说词的图像。带解说词的图像可以从图像解说词添加数据库210获得。另外,注释系统240可以获得多个图像,其中,多个图像中的每个图像具有相关联的解说词。带解说词的图像可以是图2中的种子图像242。
在一些情况下,标签可以是解说词的类型。例如,解说词可以是描述带解说词的图像的文本标签。另外,解说词可以是除文本以外的数据类型,诸如但不限于音频、web链接、参考编号等。
在404处,注释系统240可以获得第一视频。第一视频可以具有多个帧。可以从视频储存库215获得第一视频。另外,注释系统240可以从视频储存库215获得多个视频,以尝试与在402处获得的带解说词的图像进行匹配。在一些情况下,存储在视频储存库中的原始视频可以具有第一视频帧速率(例如,24fps),但在404处由注释系统240获得的第一视频可以具有较低的视频帧速率(例如,1fps)。因此,第一视频的多个帧将小于原始视频的多个帧。通过在方法400处处理更少的帧,本文描述的技术与常规系统相比允许更快的计算时间、更少的处理资源的利用和更少的存储器的利用。
在406处,注释系统240可以确定带解说词的图像的特征向量。例如,可以由特征提取器252使用图2中描述的技术来提取带解说词的图像的特征。例如,可由向量计算器254或挖掘管线250使用图2中描述的技术来计算在406处确定的特征向量。
在408处,注释系统240可以确定第一视频的多个帧中的第一帧的特征向量。例如,可以由特征提取器252使用图2中描述的技术来提取第一帧的特征。例如,可由向量计算器254或挖掘管线250使用图2中描述的技术来计算在408处确定的特征向量。
在410处,注释系统240可以基于带解说词的图像的特征向量和第一帧的特征向量来计算带解说词的图像与第一帧之间的相似度值。例如,可以使用图2中描述的技术来计算相似度值。
在一些情况下,可以通过确定第一帧的特征向量与带解说词的图像的特征向量之间的L2距离来计算相似度值。
在一些情况下,可以使用在图像分类上训练的人工神经网络来计算相似度值。
在一些情况下,可以使用点积相似度技术来计算相似度值。
在412处,注释系统240可以基于相似度值来用与带解说词的图像的相关联的解说词相似的相关联的解说词标记第一帧。例如,注释系统240可以基于相似度值来将相关联的解说词迁移到第一帧。另外,在已经确定相似度值超越(例如,超过)匹配阈值后,可以将相关联的解说词迁移到第一帧。
在一些情况下,当相似度值超越匹配阈值时,相关联的解说词可以被直接迁移到第一帧。在其他情况下,可以将与相关联的解说词相关的解说词迁移到第一帧。例如,相关解说词可以是与相关联的解说词相关但不相同的词语,诸如同义词。
在一些情况下,只有一些相关联的标签可以被直接迁移到第一帧,而其他相关联的标签不被迁移。可以基于相似度值和匹配阈值来确定将相关联的标签迁移到第一帧。
在一些情况下,注释系统240可以基于相似度值来用与带解说词的图像的相关联的解说词相似的所标记的解说词来标记第一视频的多个帧。在一些情况下,注释系统240可以基于视频的帧与图像之间的相似度值来用与多个图像的相关联的解说词相似的所标记的解说词标记多个视频的多个帧。
在一些情况下,注释系统240可以基于相关联的解说词来访问查找表。查找表可以具有与相关联的解说词相关的多个解说词。另外,注释系统240可以使用查找表来用多个解说词中的新解说词标记第一帧。
在一些情况下,注释系统240可以对相似视频帧的特征向量进行索引。另外,注释系统240可以对从彼此靠近的多个帧计算的特征向量进行索引。查找表可以基于索引特征向量。通过对特征向量进行索引,可以减少检索(例如,查找、匹配、访问)与带解说词的图像相似的视频帧的处理时间。
在一些情况下,方法400还可以包括注释系统240以确定第一视频的第三帧不具有解说词。另外,基于该确定,注释系统240可以基于第一视频来生成新视频,其中,从第一视频中删除第三帧以生成新视频。通过从第一视频中删除一个或多个帧,注释系统可以自动减少系统的存储器存储要求。
在一些情况下,方法400还可以包括注释系统240基于第一帧来生成第一视频的音频文件。音频文件可以与所标记的解说词相关联。另外,注释系统240可以从用户装置接收用户输入。用户输入可以指示与所标记的解说词相关联的音频请求。此外,注释系统240可以响应于接收到用户输入而在用户装置的扬声器上输出音频文件。可以基于带解说词的图像的相关联的解说词来生成音频文件。例如,音频文件可以是图像的基于相关联的解说词的音频描述。
在一些情况下,方法400还可以包括注释系统240从图像解说词添加数据集获得一组图像。该组图像可以具有在402处获得的带解说词的图像。另外,注释系统240可以从视频储存库(例如,公共域、私有域、第三方视频数据库)获得一组视频。该组视频可以具有在404处获得的第一视频。此外,注释系统240可以从该组视频中选择第二视频。注释系统240可以提取第二视频的新帧的特征向量。注释系统240可以基于带解说词的图像的特征向量和新帧的特征向量来计算带解说词的图像与新帧之间的新的相似度值。随后,注释系统240可以基于新的相似度值来用与带解说词的图像的相关联的解说词相似的所标记的解说词来标记新帧。
可以执行任意次数的视频和音频标记迭代。也就是说,可以针对图像解说词添加数据库中的每个种子图像迭代地执行方法400。在一些情况下,注释系统可以为每个种子图像选择多个视频片段(例如,前10个匹配的视频片段)以用相关联的解说词进行标记并将该多个视频片段存储在视频解说词添加数据库270中。
图5描绘了根据本公开的示例实施例的用于使用注释系统来执行视频检索的方法500的流程图。方法500的一个或多个部分可由包括一个或多个计算装置的计算系统(诸如例如参考其他附图所述的计算系统(例如,注释系统240、服务器计算系统130、计算装置10、计算装置50))实现。方法500的每个相应的部分可由一个或多个计算装置中的任一者(或任何组合)执行。此外,方法500的一个或多个部分可以被实现为本文所描述的装置的硬件组件(例如,图1A至图1C和图2)上的算法,例如以训练机器学习模型(例如,机器学习模型235)。
图5出于说明和讨论的目的描绘了以特定顺序执行的要素。本领域的普通技术人员使用本文提供的公开内容将理解,在不背离本公开的范围的情况下,本文讨论的任何方法的要素可以以各种方式调整、重新排列、扩展、省略、组合或修改。图5是出于示例性说明的目的参考关于其他系统和附图描述的要素/术语来描述的,并且不意在进行限制。另外或替代地,方法500的一个或多个部分可由其他系统执行。
根据一些实施例,可以在注释系统240已经在操作412处用相关联的解说词标记第一帧之后执行方法500。根据一些其他实施例,方法500可以作为独立过程来执行(例如,无需操作412)。
在502处,注释系统240可以基于第一帧来生成第一视频的视频片段。如前所述,已经在412处用解说词标记了第一帧。
在504处,注释系统240可以将视频片段存储在视频解说词添加数据库(例如,视频解说词添加数据库275)中。视频片段可以与所标记的解说词相关联。
在一些情况下,注释系统240可以基于存储在视频解说词添加数据集(例如,视频解说词添加数据库270)中的与所标记的解说词相关联的视频片段的数量来确定匹配阈值。例如,如果视频片段的数量低于数据集的平均值或低于数量阈值,则可以降低匹配阈值。替代地,如果视频片段的数量高于数据集的平均值或高于数量阈值,则可以增加匹配阈值。此外,当相似度值超过匹配阈值时,在412处用相关联的解说词标记第一帧。图3A描述了使用相似度阈值的标记技术的示例。
在506处,注释系统240可以从用户装置(例如,用户装置280)接收用户输入。用户输入指示相关联的解说词的视频请求。
在508处,注释系统240可以响应于接收到用户输入而在用户装置的用户界面上呈现视频片段。
图6描绘了根据本公开的示例实施例的用于生成视频片段的示例方法600的流程图。方法600的一个或多个部分可由包括一个或多个计算装置的计算系统(诸如例如参考其他附图所述的计算系统(例如,服务器计算系统130、计算装置10、计算装置50、注释服务器240))实现。方法600的每个相应的部分可由一个或多个计算装置中的任一者(或任何组合)执行。此外,方法600的一个或多个部分可以被实现为本文所描述的装置的硬件组件(例如,图1A至图1C和图2)上的算法,例如以训练机器学习模型(例如,机器学习模型235)。
图6出于说明和讨论的目的描绘了以具体顺序执行的要素。本领域的普通技术人员使用本文提供的公开内容将理解,在不背离本公开的范围的情况下,本文讨论的任何方法的要素可以以各种方式调整、重新排列、扩展、省略、组合或修改。图6是出于示例性说明的目的参考关于其他系统和附图描述的要素/术语来描述的,并且不意在进行限制。另外或替代地,方法600的一个或多个部分可由其他系统执行。
在602处,注释系统240可以确定第一视频的多个帧中的第二帧的特征向量。
在一些情况下,可以基于第一帧的特征向量来进一步确定第二帧的特征向量。在一些情况下,视频的在第一帧与第二帧之间的时间信息可以帮助确定特征向量。例如,时间上彼此接近的两个帧可具有相似的图像。
在604处,注释系统240可以基于带解说词的图像的特征向量与第二帧的特征向量之间的比较来计算带解说词的图像与第二帧之间的第二相似度值。
在606处,当第二相似度值超过匹配阈值时,注释系统240可以用所标记的解说词来标记第二帧。
在一些情况下,第一帧可以包括第一时间戳,并且第二帧可以包括第二时间戳。
在608处,注释系统240可以基于第一时间戳和第二时间戳来确定时间跨度。
在610处,注释系统240可以生成第一视频的视频片段。可以基于时间跨度来缩短第一视频以生成视频片段。另外,注释系统可以用所标记的解说词标记视频片段。
在一些情况下,基于第一视频帧速率来生成第一视频的多个帧。另外,注释系统240可以基于降低的视频帧速率来选择第二帧。降低的视频帧速率小于第一视频帧速率。例如,第一视频的视频帧速率可以是视频如何被捕获的帧速率(例如,24fps),并且降低的视频帧速率可以是较低的视频帧(例如,1fps),以提高注释系统的性能。
附加公开
本文讨论的技术参考服务器、数据库、软件应用和其他基于计算机的系统,以及所采取的动作和发送到此类系统和从此类系统发送的信息。基于计算机的系统的固有灵活性允许任务和功能在组件之间有多种可能的配置、组合和划分。例如,本文讨论的过程可使用单个装置或组件或者组合工作的多个装置或组件来实现。数据库和应用可在单个系统上实现,或者跨多个系统分布。分布式组件可依序或并行操作。
尽管已经关于本主题的具体示例实施例及其方法详细地描述了本主题,但应理解的是,本领域的技术人员在理解前述内容之后可以容易地产生对此类实施例的更改、改变和此类实施例的等同物。因此,本公开的范围是举例说明而不是限制,并且本公开不排除包括本领域普通技术人员将容易理解的对本主题的此类修改、改变或添加。
基于计算机的系统的使用允许任务和功能在组件之间和之中有多种可能的配置、组合和划分。计算机实现的操作可以在单个组件上或跨多个组件执行。计算机实现的任务和/或操作可以依序或并行执行。数据和指令可以存储在单个存储器装置中或跨多个存储器装置存储。
本公开的各方面已经就其说明性实施例加以描述。本领域普通技术人员可以在仔细阅读本公开后想到在所附权利要求的范围和精神内的众多其他实施例、修改和/或改变。以下权利要求中的任何和所有特征都可以以任何可能的方式组合和/或重新布置。因此,本公开的范围是举例说明而不是限制,并且本公开不排除包括本领域普通技术人员将容易理解的对本主题的此类修改、改变和/或添加。此外,本文使用由诸如“和”、“或”、“但是”等连接词连接的示例要素列表来描述术语。应理解,此类连接词仅出于解释目的而提供。例如,由诸如“或”的特定连接词连接的列表可以指代其中列出的示例要素中的“至少一者”或“任何组合”。此外,诸如“基于”的术语应当被理解为“至少部分地基于”。
本领域的普通技术人员使用本文提供的公开内容将理解,在不背离本公开的范围的情况下,本文讨论的任何权利要求的要素可以以各种方式调整、重新排列、扩展、省略、组合或修改。一些权利要求以对权利要求要素的字母引用来描述,以用于示例性说明目的而并不旨在限制。

Claims (20)

1.一种用于改进检索系统的计算机实现的方法,所述方法包括:
由计算系统获得带解说词的图像,所述带解说词的图像具有图像和相关联的解说词;
由所述计算系统从一组视频获得第一视频,所述第一视频具有多个帧;
由所述计算系统确定所述带解说词的图像的特征向量;
由所述计算系统确定所述第一视频的所述多个帧中的第一帧的特征向量;
由所述计算系统基于所述带解说词的图像的所述特征向量和所述第一帧的所述特征向量来计算所述带解说词的图像与所述第一帧之间的相似度值;以及
由所述计算系统基于所述相似度值来将所述相关联的解说词迁移到所述第一帧。
2.如权利要求1所述的方法,还包括:
基于所述第一帧来生成所述第一视频的视频片段;
将所述视频片段存储在视频解说词添加数据库中;以及
基于所述相似度值和匹配阈值将所述相关联的解说词迁移到所述视频片段。
3.如权利要求2所述的方法,还包括:
从用户装置接收用户输入,所述用户输入指示与所述相关联的解说词相关的视频请求;以及
响应于接收到所述用户输入,而基于所述相关联的解说词被迁移到所述视频片段来在所述用户装置的用户界面上呈现所述视频片段。
4.如权利要求2所述的方法,还包括:
基于存储在所述视频解说词添加数据集中的具有所述相关联的解说词的视频片段的数量来确定匹配阈值;并且
其中,当所述带解说词的图像与所述第一视频的所述多个帧中的第二帧之间的第二相似度值超过所述匹配阈值时,将所述相关联的解说词迁移到所述第二帧。
5.如权利要求1所述的方法,其中,通过确定所述第一帧的所述特征向量与所述带解说词的图像的所述特征向量之间的L2距离来计算所述带解说词的图像与所述第一帧之间的所述相似度值。
6.如权利要求1所述的方法,其中,使用在图像分类上训练的人工神经网络来计算所述带解说词的图像与所述第一帧之间的所述相似度值。
7.如权利要求1所述的方法,其中,使用点积相似度技术来计算所述带解说词的图像与所述第一帧之间的所述相似度值。
8.如权利要求1所述的方法,还包括:
由所述计算系统确定所述第一视频的所述多个帧中的第二帧的特征向量;
由所述计算系统基于所述带解说词的图像的所述特征向量与所述第二帧的所述特征向量之间的比较来计算所述带解说词的图像与所述第二帧之间的第二相似度值;以及
当所述第二相似度值超过匹配阈值时,由所述计算系统将所述相关联的解说词迁移到所述第二帧。
9.如权利要求8所述的方法,其中,基于所述第一帧的所述特征向量来进一步确定所述第二帧的所述特征向量。
10.如权利要求8所述的方法,其中,基于第一视频帧速率来生成所述第一视频的所述多个帧,所述方法还包括:
基于降低的视频帧速率来选择所述第二帧,所述降低的视频帧速率小于所述第一视频帧速率。
11.如权利要求8所述的方法,其中,所述第一帧包括第一时间戳,并且其中,所述第二帧包括第二时间戳,所述方法还包括:
基于所述第一时间戳和所述第二时间戳来确定时间跨度;
生成所述第一视频的视频片段,其中,基于所述时间跨度来缩短所述第一视频以生成所述视频片段;以及
用所标记的解说词标记所述视频片段。
12.如权利要求1所述的方法,还包括:
基于所述相关联的解说词来访问查找表,所述查找表具有与所述相关联的解说词相关的多个解说词;
使用所述查找表来用所述多个解说词中的新解说词标记所述第一帧;以及
基于所述查找表来从所述一组视频中选择所述第一视频。
13.如权利要求1所述的方法,还包括:
确定所述第一视频的所述多个帧中的第三帧不具有解说词;以及
基于所述第一视频来生成新视频,其中,从所述第一视频中删除所述第三帧以生成所述新视频。
14.如权利要求1所述的方法,还包括:
由所述计算系统基于所述第一帧来生成所述第一视频的音频文件,所述音频文件用所述相关联的解说词标记;
从用户装置接收用户输入,所述用户输入指示音频请求所述相关联的解说词;以及
响应于接收到所述用户输入而在所述用户装置的扬声器上输出所述音频文件。
15.如权利要求1所述的方法,其中,所述一组视频中的每个视频具有针对所述相关联的解说词的索引得分,所述方法还包括:
由所述计算系统从图像解说词添加数据集获得一组图像,所述一组图像具有所述带解说词的图像;以及
基于针对所述相关联的解说词的所述第一视频的索引得分来从所述一组视频中选择所述第一视频。
16.如权利要求15所述的方法,还包括:
由所述计算系统从所述一组视频中选择第二视频;
由所述计算系统提取所述第二视频的新帧的特征向量;
由所述计算系统基于所述带解说词的图像的所述特征向量和所述新帧的所述特征向量来计算所述带解说词的图像与所述新帧之间的新的相似度值;以及
由所述计算系统基于所述新的相似度值来将与所述相关联的解说词相似的相关解说词迁移到所述新帧,所述相关解说词与所述相关联的解说词不同。
17.一种计算系统,包括:
一个或多个处理器;以及
一种或多种非暂时性计算机可读介质,所述一种或多种非暂时性计算机可读介质共同存储:
机器学习模型;
视频解说词添加数据库;以及
指令,所述指令在由所述一个或多个处理器执行时使所述计算系统执行操作,所述操作包括:
获得带解说词的图像,所述带解说词的图像具有图像和相关联的解说词;
从一组视频获得第一视频,所述第一视频具有多个帧;
确定所述带解说词的图像的特征向量;
确定所述第一视频的所述多个帧中的第一帧的特征向量;
基于所述带解说词的图像的所述特征向量和所述第一帧的所述特征向量来计算所述带解说词的图像与所述第一帧之间的相似度值;以及
基于所述相似度值来将所述相关联的解说词迁移到所述第一帧。
18.如权利要求17所述的计算系统,所述操作还包括:
基于所述第一帧和所述相似度值来生成所述第一视频的视频片段;
将所述视频片段存储在所述视频解说词添加数据库中,所述视频片段用所述相关联的解说词标记;
从用户装置接收用户输入,所述用户输入指示针对所述相关联的解说词的视频请求;以及
响应于接收到所述用户输入而在所述用户装置的用户界面上呈现所述视频片段。
19.如权利要求17所述的计算系统,所述操作还包括:
确定所述第一视频的所述多个帧中的第二帧的特征向量;
基于所述带解说词的图像的所述特征向量与所述第二帧的所述特征向量之间的比较来计算所述带解说词的图像与所述第二帧之间的第二相似度值;以及
当所述第二相似度值超过匹配阈值时,用所述相关联的解说词标记所述第二帧。
20.一种或多种非暂时性计算机可读介质,所述一种或多种非暂时性计算机可读介质共同存储指令,所述指令在由所述一个或多个处理器执行时使所述计算系统执行操作,所述操作包括:
获得带解说词的图像,所述带解说词的图像具有图像和相关联的解说词;
从一组视频获得第一视频,所述第一视频具有多个帧;
确定所述带解说词的图像的特征向量;
确定所述第一视频的所述多个帧中的第一帧的特征向量;
基于所述带解说词的图像的所述特征向量和所述第一帧的所述特征向量来计算所述带解说词的图像与所述第一帧之间的相似度值;以及
基于所述相似度值来将所述相关联的解说词迁移到所述第一帧。
CN202280090863.5A 2022-02-04 2022-02-04 自动的视频和音频注释技术 Pending CN118661202A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2022/015328 WO2023149898A1 (en) 2022-02-04 2022-02-04 Automated video and audio annotation techniques

Publications (1)

Publication Number Publication Date
CN118661202A true CN118661202A (zh) 2024-09-17

Family

ID=80446990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280090863.5A Pending CN118661202A (zh) 2022-02-04 2022-02-04 自动的视频和音频注释技术

Country Status (3)

Country Link
EP (1) EP4248415A1 (zh)
CN (1) CN118661202A (zh)
WO (1) WO2023149898A1 (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110516085B (zh) * 2019-07-11 2022-05-17 西安电子科技大学 基于双向注意力的图像文本互检索方法
JP7192086B2 (ja) * 2020-02-21 2022-12-19 グーグル エルエルシー 機械学習を使用してアニメーションメディアコンテンツアイテムから時間的情報を抽出するためのシステムおよび方法

Also Published As

Publication number Publication date
WO2023149898A1 (en) 2023-08-10
EP4248415A1 (en) 2023-09-27

Similar Documents

Publication Publication Date Title
CN108986186B (zh) 文字转化视频的方法和系统
CN107979764B (zh) 基于语义分割和多层注意力框架的视频字幕生成方法
US11210470B2 (en) Automatic text segmentation based on relevant context
CN109117777B (zh) 生成信息的方法和装置
US11409791B2 (en) Joint heterogeneous language-vision embeddings for video tagging and search
US10303768B2 (en) Exploiting multi-modal affect and semantics to assess the persuasiveness of a video
CN114694076A (zh) 基于多任务学习与层叠跨模态融合的多模态情感分析方法
JP6361351B2 (ja) 発話ワードをランク付けする方法、プログラム及び計算処理システム
US20230077849A1 (en) Content recognition method and apparatus, computer device, and storage medium
CN112528637B (zh) 文本处理模型训练方法、装置、计算机设备和存储介质
CN111026861B (zh) 文本摘要的生成方法、训练方法、装置、设备及介质
CN112818670B (zh) 可分解变分自动编码器句子表示中的切分语法和语义
WO2023134082A1 (zh) 图像描述语句生成模块的训练方法及装置、电子设备
CN111860237B (zh) 一种视频情感片段的识别方法及装置
CN113395578A (zh) 一种提取视频主题文本的方法、装置、设备及存储介质
Bull et al. Automatic segmentation of sign language into subtitle-units
CN114186069B (zh) 基于多模态异构图注意力网络的深度视频理解知识图谱构建方法
US20230325611A1 (en) Video translation platform
CN113392265A (zh) 多媒体处理方法、装置及设备
US20240114158A1 (en) Hierarchical Video Encoders
WO2023226239A1 (zh) 对象情绪的分析方法、装置和电子设备
CN115169472A (zh) 针对多媒体数据的音乐匹配方法、装置和计算机设备
CN114661951A (zh) 一种视频处理方法、装置、计算机设备以及存储介质
Wu et al. Speaker personality recognition with multimodal explicit many2many interactions
Wang et al. Listen, Decipher and Sign: Toward Unsupervised Speech-to-Sign Language Recognition

Legal Events

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