论文解读:Less is More: Learning Highlight Detection from Video Duration

引言

高亮检测有可能极大地简化视频浏览,但现有的方法往往受到昂贵的监督要求的影响,人类观众必须手动识别训练视频中的高亮部分。我们提出了一种可扩展的无监督解决方案,利用视频时长作为隐式监督信号。我们的关键见解是,来自较短的用户生成视频的视频片段比来自较长视频的视频片段更有可能成为亮点,因为用户在捕获较短视频时往往对内容更具选择性。利用这一见解,我们引入了一种新的排名框架,该框架偏好来自较短视频的片段,同时适当地考虑(未标记的)训练数据中的固有噪声。我们用它来训练一个带有10M个标签的Instagram视频的高光检测器。在两个具有挑战性的公共视频高亮检测基准的实验中,我们的方法大大提高了无监督高亮检测的最先进水平。

介绍

视频过载问题正在加剧。随着便携式计算设备(如智能手机、可穿戴设备等)的日益普及,以及社交媒体平台(如Facebook、Instagram、Y ouTube)的推广,互联网用户可以无缝录制和分享大量视频。根据思科的数据,到2021年,视频流量将占所有消费者互联网流量的82%,每秒钟将有100万分钟的视频内容通过网络。然而,索引、组织甚至浏览如此庞大的视频数据仍然非常具有挑战性。视频高亮检测作为一种缓解过载的方法,越来越受到研究界的关注。高亮检测的目标是检索一个时刻——以短视频剪辑的形式——在未经编辑的视频中捕捉用户的主要注意力或兴趣。精心挑选的亮点可以加速浏览许多视频(因为用户可以快速预览最重要的内容),增强社交视频共享(因为鼓励朋友进一步观看),并促进视频推荐(因为系统可以以更集中的方式关联未经编辑的视频)。突出显示检测器通常是特定于领域的,这意味着它们是针对视频类别或关键字、标签(如滑雪、冲浪等)量身定制的。这解释了一个事实,即构成亮点的定义通常取决于领域,例如,在狗展视频中可能会对吠叫的狗感兴趣,但在冲浪视频中则不然。现有的方法主要遵循两种策略之一。第一种策略将高光检测作为监督学习任务给定未经编辑的视频,并对其重点进行手动注释,训练一个排名器为突出部分评分高于视频中的其他部分,由此产生的检测器具有良好的鉴别能力的优点,但该方法受到沉重的、不可扩展的监督要求的影响。相反,第二种策略认为突出学习是一种弱监督的识别任务。给定特定领域的视频,系统会发现训练样本中常见的内容,并学习在同一领域的新视频中检测出这些片段作为亮点。虽然这种方法在监管方面更具可伸缩性,但缺乏鉴别能力。简单地说,样本之间的重复并不意味着重要性。例如,虽然所有的狗狗秀视频都可能包含观众在座位上等待的瞬间,但这并没有使其成为亮点。

我们介绍了一种用于特定领域高亮检测的新框架,解决了这两个缺点。我们的关键观点是,用户生成的视频,比如上传到Instagram或YouTube的视频,带有一个与高亮检测相关的潜在监督信号:它们的持续时间。我们假设较短的用户上传视频往往有一个关键的焦点,因为用户对内容更有选择性,而较长的视频可能不会每一秒都那么清晰或吸引人。在上面吐温的名言的精神,需要更多的努力,只拍摄重要的时刻,否则手动剪辑他们以后。因此,时长是一种关于视频内容价值的信息性(尽管是隐含的)训练信号。见图1。我们利用持续时间作为一种新的“弱”监督形式,用未经编辑的视频来训练高光检测器。与现有的监督方法不同,我们的训练数据需求是可扩展的,仅依赖于来自Web的标记视频样本。与现有的弱监督方法不同,我们的方法可以进行有区别的训练,以隔离高光时间段和非高光时间段。给定一个类别(域名)名称,我们首先查询Instagram,以挖掘包含给定类别名称的公共视频作为标签。我们总共使用了1000万个Instagram视频。由于Instagram的标签视频非常嘈杂,而且更长的视频也会包含一些亮点,因此我们提出了一种新颖的排名模型,可以在训练数据中标记噪音。特别地,我们的模型引入了一个潜在变量来指示每个训练对是有效的还是有噪声的。利用神经网络对潜变量进行建模,并与排序函数联合训练,用于高亮检测。在两个具有挑战性的公开基准数据集(TVSum和Y ouTube Highlights[33])上,我们证明了我们的方法提高了领域特定的无监督高亮检测的最先进水平。我们的论文有以下贡献:(1)我们提出了一种新的无监督视频高亮检测方法,利用用户生成的视频时长作为隐式训练信号。(2)我们提出了一种新的视频剪辑深度排名框架,该框架对噪声标记的训练数据具有鲁棒性。(3)我们在一个比现有数据大一到两个数量级的大规模数据集上进行训练,并表明规模(加上我们模型的可扩展性)对成功至关重要。(4)在两个具有挑战性的公共基准测试中,我们的方法极大地提高了无监督高光检测的技术水平,例如,将现有的次优方法提高了22%。

图1
三个较短的用户生成视频片段(上一行)和一个较长的用户生成视频片段(第二行)的视频帧。尽管所有的视频都记录了相同的事件(冲浪),但用户生成的短视频片段比长视频片段更有可能成为亮点,因为用户往往对内容更挑剔。红色曲线的高度表示高光分数随时间的变化。我们利用这种自然现象作为大规模Web视频中的自由潜在监督信号

 相关工作

以往的许多方法都集中在体育视频的高光检测。最近,针对互联网视频和第一人称视频提出了监督视频高亮检测。这些方法都需要人为标注高光,每个特定域的源视频对。Video2GIF方法从gif -视频对中学习,这也是手动创建的。所有监督高光检测方法都需要人工编辑/标记的排名对。相反,我们的方法不使用手动标记的高亮。我们的工作提供了一种利用互联网上免费视频的新方法。无监督视频高亮检测方法不需要视频标注进行训练。它们可以进一步分为领域不可知的方法或领域特定的方法。而像运动强度这样的领域不确定方法在任何视频上都是统一运行的,领域特定的方法在同一主题的视频集合上训练。他们利用了视觉共现[5]、类别感知重建损失或类别内的协作稀疏选择等概念。另一种方法是首先训练视频类别分类器,然后根据分类器评分或分类器的时空梯度检测亮点。与特定领域的方法一样,我们的方法也为主题领域量身定制突出内容;我们在网络上使用关键字搜索自动收集每个主题的相关培训视频。与任何现有的方法不同,我们利用视频持续时间作为弱监督信号。

高亮检测(我们的目标)旨在为单个视频片段的高亮价值打分,而视频摘要旨在提供整个视频的完整概要,通常以结构化输出的形式,例如,故事线图,选定的关键帧序列或剪辑。视频摘要通常被形式化为一个结构化的子集选择问题,不仅要考虑重要性,还要考虑多样性和一致性。监督总结方法侧重于学习视觉兴趣度/重要性分数、目标的子模块混合或时间依赖关系。无监督摘要方法通常侧重于低层次的视觉线索来定位重要的片段。最近的无监督和半监督方法使用循环自编码器来强制总结序列应该能够生成类似于原始视频的序列。许多人依赖于Web图像先验或语义Web视频先验。虽然我们也利用了Web数据,但我们关于持续时间的想法是新颖的。

带噪声标签的学习:我们的工作也与从噪声数据中学习有关,这是机器学习中广泛感兴趣的主题。比例支持向量机处理噪声数据,用于训练支持向量机,其中每组标签的一部分预计是不正确的,应用于活动识别。各种方法探索如何用噪声数据训练神经网络。最近关于基于注意的多实例学习(MIL)的工作,通过可微分的MIL池化操作,将重点放在可靠的实例上,用于嵌入包。受以MIL,我们提出一种新颖的引起损失可靠地识别有效的噪声样本训练数据。(1)我们有“袋”中定义的空间等级限制(2)我们的注意力是损失中定义的空间,不是在特征空间(3)我们的模型预测分数在实例级,不是“袋”水平(4)我们的注意力机制扩展为多个领导考虑到之前预期的标签噪音水平。

研究方法

我们探索了用未标记视频训练的特定领域高亮检测。我们首先描述如何为一个域自动收集大规模的标签视频数据。然后,我们提出了以持续时间作为训练信号辅助学习亮点的新框架。结果将显示我们在标准公共基准中寻找亮点的方法的影响。

大型Instagram培训视频

首先我们描述我们的数据收集过程。我们选择Instagram作为我们收集视频的来源,因为它包含大量与标签相关的公共视频。此外,由于Instagram用户倾向于通过手机频繁上传社交分享,所以时长和质量自然各不相同——有些短而吸引眼球的视频,其他人则不那么专注。Instagram上的视频时长从一秒到一分钟不等。我们的目标是构建特定于领域的高亮显示检测器。给定一个类别名称,我们查询Instagram,在它们的标签中挖掘包含给定类别名称的视频。对于大多数类别,这将返回至少20万个视频。由于我们在公开TVSum和YouTube highlights基准测试中验证了我们检测亮点的方法,因此查询的完整标签列表包括狗、体操、跑酷、滑冰、滑雪、冲浪、更换车辆轮胎、使车辆脱卡、梳理动物、制作三明治、游行、快闪集会、养蜂、尝试自行车技巧和狗表演。因此,这些数据涵盖了经常在社交媒体上分享或在网上浏览如何操作的一系列领域。我们总共获得了超过1000万的培训视频。图2显示了它们持续时间的分布,从小于1秒到1分钟不等。我们看到有很多种长度,有两种模式,以短(10秒)和“长”( 60秒)剪辑为中心。后期处理标签、注入单词相似度模型或链接到相关关键字可以进一步改进特定领域数据的质量。然而,我们的实验表明,即使是我们直接的标签挖掘,也足以收集与我们最终测试的公共视频数据集相关的数据。下面我们将介绍一种方法来处理Instagram标签和长/短视频假设中的固有噪声。

图2
10M Instagram训练视频的持续时间

从视频时长中学习重点

接下来,我们介绍了我们的排名模型,该模型利用大规模的标签视频数据及其持续时间来训练视频高亮检测器。回想一下,视频亮点是一个较长视频中的一个短视频片段,可以吸引用户的注意力和兴趣。我们的目标是学习一个函数f(x),它可以在给定特征x的情况下推断一个时间视频片段的高亮分数(将在下面指定)。然后,给定一个新视频,它的亮点可以根据每个部分的预测亮点得分进行优先排序(排名)。监督回归解决方案将尝试从一个视频数据集中学习f(x),并手动标注高亮分数。然而,校准从多个人工注释器收集的高光分数本身就具有挑战性。相反,高亮检测可以通过学习人工标记/编辑的视频高亮对来形式化为一个排名问题:手动标注高亮的片段应该比原始长视频中其他地方的片段得分更高。然而,这种配对数据的收集既困难又昂贵,特别是对于大规模的长时间和不受约束的视频。为了避免收集视频高亮对所带来的繁重监督,我们提出了一个框架,直接从大量未标记的视频集合中学习高亮检测。如上所述,我们假设用户倾向于对他们上传的短视频中的内容更有选择性,而他们的长视频可能是好的和不太有趣的内容的混合。因此,我们将视频的时长作为监督信号。特别地,我们建议学习一个评分函数,将短视频中的视频片段排名高于长视频中的视频片段。由于较长的视频也可能包含重点时刻,因此我们设计了排名模型来有效地处理有噪声的排名数据。

训练数据和损失:设D表示共享一个标签的一组视频(例如,狗秀)。我们首先将D划分为三个不重叠的子集D = {DS, DL, DR},其中DS包含较短的视频,DL包含较长的视频,DR包含其余的视频。例如,较短的视频可能小于15秒,较长的视频可能超过45秒。每个视频,无论长短,都被分成相同长度的时间段。设si为数据集中唯一的视频片段,设v(si)为视频片段si所在的视频。从si段提取的视觉特征为xi。由于我们的目标是将来自较短视频的视频片段排名高于来自较长视频的视频片段,因此我们构造训练对(si, sj),使v(si)∈Ds, v(sj)∈DL。我们将训练对的集合表示为p。由于我们的数据集很大,我们在所有可能的对中进行采样,确保每个视频片段至少包含在训练集中一次。学习目标由以下排名损失组成:

也就是说,每当较长的视频片段得分较高时,我们就会蒙受损失。函数f是一个深度卷积神经网络,详情如下。请注意,尽管监督高亮排序方法对来自同一视频的片段使用了排序约束——比较真正高亮区域内外的片段——但我们的约束涵盖了来自不同短视频和长视频的片段。

从噪声对中学习:到目前为止,该公式假设不存在噪声,并且Ds和DL分别只包含来自亮点和非亮点的片段。然而,从未经编辑的视频中学习就不是这样了:长视频中的一些视频片段也可以是亮点,而一些短视频片段则不需要是亮点。此外,一些视频与标签无关。因此,P中的配对中只有一个子集具有有效的排序约束(si, sj),即si对应高亮,sj对应非高亮的配对。理想情况下,排名模型只会从有效的排名约束中学习,而忽略其他约束。为了在不需要任何注释的情况下实现这一点,我们引入二进制潜变量wij,∀(si, sj)∈P来表示一个排名约束是否有效。我们将学习目标重写为:

 其中h为神经网络,|P|为排序约束的总数,P为有效排序约束的预期比例。根据比例损失的学习精神,分配给秩约束的总权重的上限表示标签中预期噪声水平的先验。例如,p = 0.8的训练告诉系统大约80%的配对是先验预期有效的。二进制潜在变量wij的和防止了将所有潜在变量赋值为0的平凡解。我们不是用交替最小化来优化二元潜在选择变量,而是使用实值选择变量,函数h(xi, xi)直接预测这些潜在变量wij。这样做的好处有三方面。首先,我们可以同时优化排序函数f和选择的训练对。其次,潜在变量wij以输入特征为条件,因此它可以学习排名约束作为特定视觉输入的函数是否有效。第三,通过将wij松弛为0到1范围内的连续变量,我们捕获了训练过程中对效度的不确定性。

最后,我们将潜在变量wij参数化,为训练样本提供学习权重,并细化我们的目标,在分批训练的同时强制p之前的噪声水平。我们将训练数据分成组,每个组恰好包含n对。然后,我们要求组内实例的潜在变量wij的总和为1。特别地,让P1,…Pm是将P对集合随机分成m组,其中每组恰好包含n对,则最终损失为:

 σg表示将softmax函数定义在组对组Pg。注意,现在组大小n,一起将softmax,用来维护标签之前噪音p, p = 1/n,同时允许选择的可微的损失函数h。凭直觉,小n的值将在错误的成本加快培训促进一些无效的配对,而更大的n值将更多的有效选择性对慢培训的成本。在实验中,我们将所有结果和数据集的n固定为8。关于n的消融研究,请参见附录。

网络结构:我们用神经网络对f(x)和h(xi, xj)进行建模。对于f(x),我们使用3隐层全连接模型。函数h(xi, xj)由3个全连接层组成,后面是一个n维softmax函数,如式(3)所示。网络结构详见图3。

图三
我们的方法的网络架构细节。批处理大小为b。我们对每n个训练对实例进行分组,并将它们馈送到一个softmax函数。每批有t个这样的组(b = nt)

视频片段特征表示:为了为片段si生成特征xi,我们使用3D卷积网络[10]和在Kinetics上预训练的ResNet-34骨干。我们使用最终卷积层池化后的特征。因此,每个视频片段都由512维的特征表示。

实现细节:我们使用PyTorch实现我们的模型,并使用随机梯度和动量优化30个epoch。我们使用的批处理大小为2048,并将基础学习率设置为0.005。我们使用0.00005的权重衰减和0.9的动量。使用单个Quadro GP100 gpu,一分钟长的视频的总特征提取时间为0.50 s。在提取视频特征后,对于20000个总时长为1600小时的视频剪辑数据集,训练一个模型的总训练时间为1小时。在测试时,特征提取完成后,新的一分钟视频的高光检测时间为0.0003 s。

实验结果

我们验证了我们的高亮检测方法,并与之前的一系列方法进行了比较,特别关注那些无监督的和特定领域的方法。

实验建立

数据集和指标:在Instagram视频上训练我们的模型后,我们在两个具有挑战性的公共视频高光检测数据集上评估它:YouTube Highlights和TVSum。youtube Highlights包含六个领域特定的类别:冲浪,滑冰,滑雪,体操,跑酷和狗。每个域包含约100个视频,累计时长为1430分钟。TVSum使用10个查询从YouTube收集,由50个视频组成,来自包括更换汽车轮胎,梳理动物,制作三明治,游行,快闪集会等领域。由于TVSum中的ground truth注释提供了帧级重要性分数,因此我们首先对帧级重要性分数求平均值,得到镜头级分数,然后选取每个视频中排名前50%的镜头(片段)作为人工创建的摘要,如下。最后,我们的方法选择的亮点与20个人工创建的摘要进行了比较。我们报告了两个数据集的平均精度(mAP)。

基线:我们与文献中报道的9种最先进的方法进行比较。在这里,我们根据它们是否需要镜头级注释(有监督的)或不需要(无监督的)来组织它们。回想一下,我们的方法是无监督的和特定于领域的,因为我们不使用注释,并且使用基于标记的查询组成训练视频池。

无监督基线:我们与以下无监督方法进行比较:RRAE , MBF , KVS , CVS , SG , DeSumNet(DSN)和VESD。我们还实现了一个基线,其中我们使用带标签的Instagram视频训练分类器(CLA)。分类器使用与我们的方法相同的网络结构(除了最后一层被Kway分类取代)和视频特征。然后我们使用分类器得分进行高亮检测。CLA可以看作是KVS的深度网络变体。

监督基线:我们与潜在的svm方法进行比较,它使用人工编辑的视频高亮对进行训练,而Video2GIF方法是一种不确定域的方法,使用人工编辑的视频gif对进行训练。尽管这些方法需要注释(我们的方法不需要),但它们特别有趣,因为它们也使用基于排名的公式。

其中我们从所有查询的标签中汇集训练视频。我们对所有实验都使用单一模型;我们的-s:我们的方法使用特定领域的Instagram数据进行训练,其中我们为每个查询标签训练单独的高亮检测器。对于这两种变体,我们的方法的训练数据池是完全自动生成的,没有使用高亮标注。如果一个训练视频的时长在8到15秒之间,则为DS格式;如果一个训练视频的时长在45到60秒之间,则为DL格式。我们放弃了所有其他视频。只要我们在两个截断阈值之间保持较大的差距,性能就会稳定(参见附录)。

高亮检测结果

YouTube Highlights数据集上的结果:表4展示了YouTube Highlights上的结果。所有基线结果均在作者的原始论文中报告。我们的领域特定方法(Ours-S)表现最好——值得注意的是,它甚至比基于监督排名的方法更好。与无监督RRAE方法相比,我们在mAP上的平均增益为18.1%。我们的方法得益于鉴别训练,从非高亮视频片段中分离出高亮部分。我们的方法也优于在与我们的数据集相同的数据集上训练的CLA方法,这表明我们的优势不仅仅是由于训练数据。CLA可以识别出最具鉴别性的视频片段,这些片段可能并不总是亮点。平均而言,我们的方法优于LSVM方法,该方法使用特定领域的手动注释数据进行训练。虽然监督方法善于利用高质量的训练数据,但它们也受到大规模保护这些数据的实际困难的限制。相比之下,我们的方法利用大规模的标记Web视频,而不需要手动高亮示例。我们用领域特定数据(Ours-S)训练的方法比用领域不可知的方式(Ours-A)训练的效果更好。这是意料之中的,因为突出显示通常取决于感兴趣的领域。尽管如此,我们的领域不可知变体优于领域不可知的Video2GIF,再次揭示了大规模弱监督视频对高亮学习的好处。图4和sup 视频显示示例重点。尽管没有明确的监督,但我们的方法能够为一系列视频类型检测出值得高亮的时刻。

TVSum数据集上的结果:表2给出了TVSum上的结果。我们将比较的重点放在无监督和特定领域的高亮方法上。TVSum是一个非常具有挑战性的数据集,包含不同的视频。我们的方法在很大程度上优于所有的基线。特别是,我们的表现比第二佳方法SG高出10.1个点,相对收益为22%。SG学习最小化原始视频与其摘要之间的距离。结果加强了区别地选择有突出价值的片段而不是那些仅仅具有代表性的片段的优势。例如,在狗展视频的特写空间中,一只无聊狗的特写可能更有代表性,而一只奔跑的狗更有可能成为亮点。我们用领域特定数据(Ours-S)训练的方法再次优于我们用领域不可知方式(Ours-A)训练的方法。

表2
在TVSum上突出显示检测结果(mAP得分Top-5)。列出的所有方法都是无监督的。我们的方法在很大程度上优于所有的基线。带有“-”表示每个类结果的条目对于该方法不可用。

Instagram vs YouTube训练:我们很好奇现有的大规模网络视频集合是否也可以作为我们方法的训练数据,我们还在Y ouTube8M[2]的视频上训练我们的模型。在YouTube8M每个域的6,000到26,000个视频上进行训练,我们发现结果不如使用Instagram数据获得的结果(详情请参阅补充)。我们将其归因于两个因素:(1)YouTube- 8m被明确策划为具有相当均匀长度的“更长的”(120-500秒)剪辑,这严重削弱了我们的关键持续时间信号;(2)在Instagram上分享视频的用户可能会与家人和朋友分享“时刻”,而YouTube似乎吸引了更广泛的用途(例如,教学视频,剪辑过的电影等),这也可能削弱持续时间信号。 

图四
示例突出显示YouTube Highlights数据集的检测结果。我们展示了我们的方法从低(左)到高(右)的预测排名,并为每个视频片段呈现一帧。请参见晚餐视频中的例子。

 消融研究

接下来,我们提出了一个消融研究,以测试我们的方法的变体。所有的方法都是用特定领域的数据训练的。我们将我们的完整方法(Ours-S)与两个变体进行比较:(1)rank - d,它将所有的排名约束视为有效,并在没有潜在变量的情况下训练排名函数。这类似于现有的监督高亮检测方法。(2)rank -EM,引入二元潜变量,与EM交替优化排序函数和二元潜选择变量,类似。注意,与我们的方法不同,这里的二进制潜变量不受输入的限制,它采用离散值。表3显示了结果。我们的完整方法优于其他变体。特别是Youtube和TVSum的mAP相对于rank - d的平均增益分别为13.9%和16.3%。这支持了我们的假设,即通过采样训练对(si, sj)获得的排序约束,使得v(si)∈Ds和v(sj)∈DL确实是有噪声的。通过对噪声建模和引入潜在选择变量,该方法显著提高了性能。我们的方法也显著优于rank - em,它也对训练样本中的噪声进行了建模。与rank - em相比,我们的方法直接从输入中预测潜在选择变量。此外,我们还受益于潜在选择变量的联合优化和松弛,其中考虑了不确定性。图6显示了高亮检测精度与训练集大小的关系。我们只报道了youtube Highlights的这种情况,因为一些TVSum类别的视频共享标签最高可达24000个。当我们增加每个域的视频数量时,准确性也会提高。当每个域的训练数据从1000个增加到10000个时,性能显著提高(our - s为6.5%,our - a为3.7%),然后开始稳定。

从持续时间中理解学习

最后,我们研究了我们模型的每个组件从视频时长中学到了什么。首先,我们测试我们的模型是否可以区分短视频片段和长视频片段。这本质上是对主要训练目标的验证,没有额外的高亮精度层。为了回答这个问题,我们训练我们的模型,并保留20%的新视频进行测试。每个测试对由一个随机采样的新短视频片段和一个新长视频片段组成。我们使用f(x)对每个部分进行评分,并报告成功排名的配对的百分比。在没有提出的潜在权重预测的情况下,我们的模型获得了58.2%的成功排名率。由于它高于概率(50%),这验证了我们的假设,即两个视频源的分布是不同的。但是,相对较低的比率也说明训练数据的噪声很大。在我们用h(xi, xj)对测试视频对进行加权后,我们获得了87.2%的成功率。精度显著提高,因为我们的潜在值预测函数h(xi, xj)识别判别对。其次,我们检查了从YouTube Highlights数据集构建的视频片段对及其预测的潜在值(在softmax之前)。见图5。潜在值越高,表示有效对的可能性越大。第一行视频片段(si)的排名应该高于第二行视频片段(sj)的排名。当si对应高亮段,sj对应非高亮段时,预测的潜在值较高(每个块的最后一列)。相反,当si对应于非高亮段而sj对应于高亮段(每个块的第一列)时,预测的潜在值非常低。注意,如果我们将每个块中的所有示例分组到一个softmax中,那么除了最后一个之外,所有训练示例的损失权重都可以忽略不计。

结论

我们提出了一种可扩展的无监督解决方案,利用视频时长作为隐式监督信号进行视频高亮检测。通过在两个具有挑战性的公共视频高亮检测基准上的实验,我们的方法大大提高了无监督高亮检测的最先进水平。所提出的框架有可能构建更多的智能系统,用于视频预览、视频共享和推荐。未来的工作将探索如何结合多个预先训练的领域特定的高亮检测器,用于新领域的测试视频。由于所提出的方法对于标记噪声具有鲁棒性,并且只需要像标签这样的弱标记注释,因此它具有扩展到前所未有数量的域的潜力和灵活性,可能利用预定义的或学习的分类法来重用模型的部分内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/3499.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【lwIP(第三章)】内存管理

目录一、内存管理简介二、lwIP内存堆和内存池应用三、lwIP内存堆简介1. First Fit算法2. lwIP内存堆原理解析2.1 mem_init程序解析2.2 mem_malloc程序解析2.3 mem_free程序解析四、lwIP内存池简介1. 实现lwIP内存池的文件2. lwIP内存池函数2.1 memp_init()2.2 memp_malloc()2.3…

数据迁移工具

1.Kettle Kettle是一款国外开源的ETL工具,纯Java编写,绿色无需安装,数据抽取高效稳定 (数据迁移工具)。 Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的基础转换,job 则完成整个工作流的控制。 Kettle 中文名称叫水壶,该项目的主程序…

SpringBoot整合Redis、以及缓存穿透、缓存雪崩、缓存击穿的理解分布式情况下如何添加分布式锁 【续篇】

文章目录前言1、分布式情况下如何加锁2、具体实现过程3、测试3.1 一个服务按照多个端口同时启动3.2 使用jmeter进行压测前言 上一篇实现了单体应用下如何上锁,这一篇主要说明如何在分布式场景下上锁 上一篇地址:加锁 1、分布式情况下如何加锁 需要注意的点是: 在上锁和释放…

Android开发-Android UI与布局

01 Android UI 1.1 UI 用户界面(User Interface,简称 UI,亦称使用者界面)是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。软件设计可分为两个部分:编码设计与UI设计。 1.2 Andr…

【数据结构与算法】堆与堆排序

目录一.堆的实现1.堆的概念2.堆的代码实现二.堆排序的讲解一.堆的实现 1.堆的概念 堆是一种数据结构,首先它总是一颗完全二叉树(因为堆适合表示完全二叉树),在逻辑上堆是一颗完全二叉树,真正实现上是使用数组来实现的。根据不同的规则(任意…

OpenMV快速上手 | OpenMV硬件版本概述及HelloWorld

文章目录一、OpenMV1. 什么是OpenMV2. OpenMV版本2.1. OpenMV1(M4 V1)2.2. OpemMV2(M4 V2)2.3. OpenMV3(M7)2.4. OpenMV4(H7)二、OpenMV开发环境搭建三、hello world1. 连接OpenMV2.…

AtCoder Beginner Contest 295——A-D讲解

蒟蒻来讲题,还望大家喜。若哪有问题,大家尽可提! Hello, 大家好哇!本初中生蒟蒻讲解一下AtCoder Beginner Contest 295这场比赛的A-D题! A - Probably English Problem Statement You are given NNN strings W1,W2,…

开关电源Y电容放置的位置

Y电容,是我们工程师做开关电源设计时都要接触到的一个非常关键的元器件,它对EMI的贡献是相当的大的,但是它是一个较难把控的元器件,原理上并没有那么直观易懂,在EMI传播路径中需要联系到很多的寄生参数才能够去分析。 …

Python和Excel的完美结合:常用操作汇总(案例详析)

在以前,商业分析对应的英文单词是Business Analysis,大家用的分析工具是Excel,后来数据量大了,Excel应付不过来了(Excel最大支持行数为1048576行),人们开始转向python和R这样的分析工具了&#…

JNI原理及常用方法概述

1.1 JNI(Java Native Interface) 提供一种Java字节码调用C/C的解决方案,JNI描述的是一种技术。 1.2 NDK(Native Development Kit) Android NDK 是一组允许您将 C 或 C(“原生代码”)嵌入到 Android 应用中的工具,NDK描述的是工具集…

python迭代器详解

不懂的问题:什么是协变、逆变?渐进式? _T_co TypeVar("_T_co", covariantTrue) # Any type covariant containers.作者:20岁爱吃必胜客(坤制作人),近十年开发经验, 跨域学习者&…

【Docker】Network网络

文章目录网络情况查看宿主机网络情况 ifconfig查看docker网络模式命令 docker network ls常用基本命令查看网络 docker network ls查看网络源数据 docker network inspect XXX网络名字创建网络 docker network create test_network删除网络 docker network rm XXX网络名字netwo…

Kotlin~Adapter适配器模式

概念 Adapter(Wrapper) Pattern,连接两个不兼容的接口,让接口不兼容的对象能够相互合作。 适配器中的角色 请求者Client:调用者目标Target:定义了Client要使用的功能转化对象Adaptee: 需要适…

ROC-RK3588S-PC (Android 12) 看门狗的使用

🍇 博主主页: 【Systemcall小酒屋】🍇 博主追寻:热衷于用简单的案例讲述复杂的技术,“假传万卷书,真传一案例”,这是林群院士说过的一句话,另外“成就是最好的老师”,技术…

走进二叉树的世界 ———性质讲解

二叉树的性质和证明前言1.二叉树的概念和结构特殊的二叉树:二叉树的性质前言 本篇博客主要讲述的是有关二叉树的一些概念,性质以及部分性质的相关证明,如果大伙发现了啥错误,可以在评论区指出😘😘 1.二叉树…

Verilog之小规模经典电路设计

verilog语句执行顺序 每个语句块,是事件(event)触发执行的主要分为 连续赋值语句assign过程赋值语句always, initial(只执行一次) 连续和过程之间是并行执行的,只要满足出发条件即可assign是在后面的输入发生变化时进行执行always是在敏感列表发生变化时…

C语言数据结构初阶(8)----栈与队列OJ题

CSDN的uu们,大家好。这里是C语言数据结构的第八讲。 目标:前路坎坷,披荆斩棘,扶摇直上。 博客主页: 姬如祎 收录专栏:数据结构与算法栈与队列的知识点我➡➡队列相关点我➡➡栈相关2. 用栈实现队列原题链接…

C语言基础 — ( C语言的链表实例)

欢迎小伙伴的点评✨✨ 本篇章系列是对C语言的深度思考和总结、关于C语言内容会持续更新 文章目录前言一、什么是链表二、建立简单静态链表二、建立简单动态链表三、链表的增加、删除、更改、查询四、总结前言 本章会给大家带来基于C语言链表的实例。 一、什么是链表 链表是一…

Python解题 - CSDN周赛第40期

上期问哥没参加,但从赛后大家的反馈来看,又出现了数据上的bug,使用 python 的朋友会遇到第二个用例的柱子高度数组长度不够,200根柱子,只有179个数据,这让人怎么玩?但是用C的选手就没有这个问题…

面试官:vue2和vue3的区别有哪些

目录 多根节点,fragment(碎片) Composition API reactive 函数是用来创建响应式对象 Ref toRef toRefs 去除了管道 v-model的prop 和 event 默认名称会更改 vue2写法 Vue 3写法 vue3组件需要使用v-model时的写法 其他语法 1. 创…