精华内容
下载资源
问答
  • 带有有限注解的医学图像分割的全局局部特征的对比学习 该代码适用于“带有有限注解的医学图像分割的全局局部特征的对比学习”一文,在NeurIPS 2020(第34届国际神经信息处理系统国际会议)上作为口头报告被接受...
  • (最佳局部比对的得分要大于或等于最佳全局比对的得分,这是因为全局比对 也属于 局部比对。) Needleman-Wunsch 算法 用来计算全局比对。它的思路与 LCS 算法相似。这个算法也使用二维表格,一个序列沿顶部展开,一...

    基 因学的一个主要主题就是比较 DNA 序列并尝试找出两个序列的公共部分。如果两个 DNA 序列有类似的公共子序列,那么这些两个序列很可能是同源的 。在比对两个序列时,不仅要考虑完全匹配的字符,还要考虑一个序列中的空格或间隙(或者,相反地,要考虑另一个序列中的插入部分)和不匹配,这两个方面都 可能意味着突变。在序列比对中,需要找到最优的比对(最优比对大致是指要将匹配的数量最大化,将空格和不匹配的数量最小化)。如果要更正式些,您可以确定 一个分数,为匹配的字符添加分数、为空格和不匹配的字符减去分数。

     

    全局序列比对 尝试找到两个完整的序列 S1 和 S2 之间的最佳比对。以下面两个 DNA 序列为例:

    • S1 =

      GCCCTAGCG

    • S2 =

      GCGCAATG

    如果为每个匹配字符一分,一个空格扣两分,一个不匹配字符扣一分,那么下面的比对就是全局最优比对:

    • S1' =

      GCCCTAGCG

    • S2' =

      GCGC -AATG

    连字符(-)代表空格。在 S2' 中有五个匹配字符,一个空格(或者反过来说,在 S1' 中有一个插入项),有三个不匹配字符。这样得到的分数是 (5 * 1) + (1 * -2) + (3 * -1) = 0,这是能够实现的最佳结果。

    使用局部序列比对 ,不必对两个完整的序列进行比对;可以在每个序列中使用某些部分来获得最大得分。使用同样的序列 S1 和 S2 ,以及同样的得分方案,可以得到以下局部最优比对 S1'' 和 S2'' :

    • S1      = GCCCTAGCG

    • S1''     =               GCG

    • S2''     =               GCG

    • S2      =               GCGCAATG

    虽然这个局部比对恰好没有不匹配字符或空格,但是一般情况下,局部比对可能存在不匹配字符或空 格。这个局部比对的得分是 (3 * 1) + (0 * -2) + (0 * -1) = 3。(最佳局部比对的得分要大于或等于最佳全局比对的得分,这是因为全局比对 也属于 局部比对。)

     

    Needleman-Wunsch 算法 用来计算全局比对。它的思路与 LCS 算法相似。这个算法也使用二维表格,一个序列沿顶部展开,一个序列沿左侧展开。而且也能通过以下三个途径到达每个单元格:

    • 来自上面的单元格,代表将左侧的字符与空格比对。
    • 来自左侧的单元格,代表将上面的字符与空格比对。
    • 来自左上侧的单元格,代表与左侧和上面的字符比对(可能匹配也可能不匹配)

    我首先给出完整的表格(参见图 7),在解释如何填充表格的时候可以返回来查看它:

    图 7.带有回溯的填充好的 Needleman-Wunsch 表格

    全局比对 局部比对 Needleman-Wunsch 算法 - little_goldy - Goldy的失乐园

    首先,必须初始化表格。这意味着填充第二行和第二列的分数和指针。填充第二行的操作意味着使用 位于顶部的第一个序列中的字符,并使用空格,而不是使用左侧从上到下的序列中的第一个字符。空格的扣分是 -2,所以每次使用空格的时候,就给以前的单元格加了 -2 分。以前的单元格是左侧的单元格。这就说明了在第二行中为什么得到了 0, -2, -4, -6, ... 这样的序列。用相似的方式得到第二列的得分和指针。

     

    接下来,需要填充余下的单元格。同 LCS 算法一样,对于每个单元格,都有三个选择,要从中选择最大的。可以从上面、左侧、左上侧到达每个单元格。假设 S1 和 S2 是要比对的字符串,S1' 和 S2' 是生成的比对中的字符串。从上面到达单元格相当于将左面的字符从 S2 加入 S2' ,跳过上面的 S1 中的当前字符,并在 S1' 中加入一个空格。因为一个空格的分数是 -2,所以当前单元格的得分要从上面的单元格得分减 2 得到。类似的,将左边的单元格得分减 2,可以从左侧到达空单元格。最后,可以将上面的字符加入到 S1' 中,将左边的字符加入到 S2' 中。这就相当于从左上侧进入空白单元格。这两个字符将会匹配,在这种情况下,新的得分就是左上侧单元格的得分减 1。在这三种可能性当中,选择得分最大的一个(如果得分相等,可以从得分高的单元格中从任选一个)。观察 图 7 中的指针,能够找到这三种可能性的示例。

     

    接下来,需要得到实际的比对字符串 — S1' 和 S2' — 以及比对的得分。右下角单元格中的得分包含 S1 和 S2 的最大比对得分,就像在 LCS 算法中包含 LCS 的长度一样。而且,与 LCS 算法类似,要获得 S1' 和 S2' ,要从右下角单元格开始沿着指针回溯,反向构建 S1' 和 S2' 。从表格的构建过程可知,从上向下对应着将左侧字符从 S2 加入到 S2' 中,将空格加入 S1' 中;从左向右对应着将上面的字符从 S1 加入到 S1' 中,将空格加入 S2' 中;而向下和向右移动意味着分别将来自 S1 和 S2 的字符加入 S1' 和 S2' 。

    Needleman-Wunsch 中使用的回溯代码与 Smith-Waterman 中局部比对的回溯代码基本相同,区别只是开始的单元格以及如何知道何时结束回溯。

     

    通过回溯能够得到本节开始时提到的最优全局比对:

    • S1' =

      GCCCTAGCG

    • S2' =

      GCGC -AATG

    展开全文
  • 从局部到全局的多模式电影场景分割个人总结1.研究现状:2.研究的意义:3.提出的解决方案(局部到全局的场景分割模型):4.电影场景数据集:5.结论:全文翻译从局部到全局的多模式电影场景分割方法摘要1.介绍2.相关...

    个人总结

    1.研究现状:

            对于电影场景分割,最早的作品采用的是无监督的方法。例如,根据镜头相似度对镜头进行聚类;绘制低级视觉特征的镜头响应曲线进行阈值分割;使用快速全局k均值算法的光谱聚类进行镜头分组;缺点是,方法不灵活,严重依赖手动设置的不同视频的参数。
      有监督的方法,建立新的数据集。IBM OVSD、BBC Planet Earth,缺点是,数据集中的视频缺少丰富的情节或故事情节,测试视频的数量如此少,不能反应出各种场景方法的有效性。以镜头为分析单元,没有考虑场景中的语义信息。
      图像和短视频中的场景理解。缺少周围的上下文信息,并且短视频没有足够的时间和地点的变化。重要的是,这些作品假定了一系列可区分的预定义类别。但是,对于电影场景分割,不可能有这样的类别列表。
      较长视频中的场景理解。很少有数据集关注长视频中的场景,大多数都集中于演员活动的定位和分类。

    2.研究的意义:

            识别电影场景,包括场景边界的检测和对场景内容的理解,有助于广泛的电影理解任务,例如场景分类、跨电影场景检索、人际互动图和以人为中心的故事情节的建设。
      难点,场景的多变性,尽管场景通常发生在固定的位置,但场景可能在多个位置之间穿越,例如在电影的战斗场景中,人物从室内移动到室外,这些复杂的场景纠缠在检测高级语义信息的场景时增加了难度。

    3.提出的解决方案(局部到全局的场景分割模型):

    在三个级别对场景进行分割,即clip、segment、movie,集成了多模式的信息,可以从电影中提取出复杂的语义信息,为场景分割提供了自上而下的指导。
    1)关注场景的边界,使用监督的方法了解场景之间边界的内容,获得区分场景内和跨场景过渡的能力。
    2)镜头的特征表示,使用四个特征去表示一个镜头,分别是place、cast、action和audio。通过镜头之间的相似性去判断两个镜头之间的关系。
      在关键帧图像上的Places数据集训练ResNet去获取place特征。
      在CIM数据集上训练Fast-RCNN进行检测cast实例,在PIPA数据集上训练ResNet去提取cast特征。
      在AVA数据集上训练TSN去获取action特征。
      在AVAActiveSpeaker数据集上训练NaverNet去分离场景的语音和背景声音,stft在镜头中获取audio特征。
    3)Clip级别,对镜头边界的表示。场景分割公式化为镜头边界上的二分类问题,提出一个边界网络BNet对镜头边界进行建模,输入镜头,通过捕获前后两个镜头的差异和关系,去确定两者的边界,输出镜头的边界。
    4)Segment级别,基于镜头边界进行粗略预测场景的边界。获得镜头边界的序列后,通过局部序列模型,例如Bi-LSTM,去预测粗略的场景边界得分,即镜头边界成为场景边界的概率,然后使用阈值进行二值化,场景边界是镜头边界的子集。
    5)Movie级别,结合全局上下文信息进行最佳场景分割。粗略的场景边界仅仅考虑了局部的镜头信息,而忽略了全局的上下文信息。使用全局最佳模型G来考虑movie级的上下文。将粗略的场景集进行最佳合并,将局部不相关的粗略场景进行合并,形成最佳的最优的场景切换集。即通过数学建模出两个子超级镜头之间的相关性得分,得出一个最佳的合并场景集使得相关性得分总和最大。

    4.电影场景数据集:

    为了促进场景理解,构造了数据集MovieScenes,其中包含了21K个场景,是通过对150部电影中的270K个镜头分组得出的。与其他现有的数据集相比,MovieScenes规模巨大,镜头数量多,总持续时间长,涵盖了更广泛的数据源,拥有各种场景。涵盖了种类繁多的流派,包括戏剧、惊悚片、动作片,使得数据集更加全面和通用。带注释的场景长度从10s到120s不等,提供了较大的可变性。

    5.结论:

    在这项工作中,我们收集了一个大型注释集,用于对包含270K注释的150部电影进行场景分割。我们提出了一个局部到全局场景分割框架,以覆盖分层的时间和语义信息。实验表明,该框架非常有效,并且比现有方法具有更好的性能。

    全文翻译

    从局部到全局的多模式电影场景分割方法

    Anyi Rao1, Linning Xu2, Yu Xiong1, Guodong Xu1, Qingqiu Huang1, Bolei Zhou1, Dahua Lin1 1CUHK - SenseTime Joint Lab, The Chinese University of Hong Kong 2The Chinese University of Hong Kong, Shenzhen {anyirao, xy017, xg018, hq016, bzhou, dhlin}@ie.cuhk.edu.hk, linningxu@link.cuhk.edu.cn

    摘要

    场景是电影中讲故事的重要单元,它包含演员的复杂活动及其在物理环境中的互动。 识别场景的组成是迈向电影语义理解的关键一步。与在传统视觉问题中研究的视频相比,这是非常具有挑战性的,例如动作识别,因为电影中的场景通常包含更丰富的时间结构和更复杂的语义信息。为了实现这一目标,我们通过构建大型视频数据集MovieScenes来扩大场景分割任务,该视频数据集包含来自150部电影的21K带注释的场景片段。我们进一步提出了一个局部到全局场景分割框架,该框架在三个级别(即clip,segment和movie)上集成了多模式信息。该框架能够从长片电影的分层时间结构中提取出复杂的语义,从而为场景分割提供了自上而下的指导。我们的实验表明,所提出的网络能够以较高的精度将电影分割成场景,并且始终优于以前的方法。我们还发现,对MovieScenes进行预训练可以对现有方法进行重大改进。

    1.介绍

    想象一下,您正在看汤姆·克鲁斯(Tom Cruise)主演的电影《碟中谍》:在战斗现场,伊桑(Ethan)跳上直升机的着陆滑道,并在挡风玻璃上贴上了爆炸胶,以摧毁敌人。突然,这个故事跳入一个激动人心的场景,在此,伊桑(Ethan)扣动扳机,为挽救妻子朱莉娅(Julia)牺牲了生命。如此戏剧性的场景变化在电影的故事讲述中起着重要作用。一般来说,电影是由精心设计的一系列有趣的场景组成的,带有过渡效果,其中基本的故事情节决定了所呈现场景的顺序。因此,识别电影场景,包括场景边界的检测和对场景内容的理解,有助于实现广泛的电影理解任务,例如场景分类,跨电影场景检索,人际互动图和以人为中心的故事情节的建设。
    在这里插入图片描述
    图1.当我们查看图(a)中的任何单个镜头时,例如B镜头中的女人,我们无法推断当前事件是什么。如图(b)所示,只有当我们考虑了该场景中的所有镜头1-6时,我们才能认识到“这个女人正在邀请一对夫妇与乐队跳舞”。
      值得注意的是,场景和镜头本质上是不同的。通常,镜头是在不间断的时间内进行拍摄的,因此是连续的。场景是更高层次的语义单元。如图1所示,一个场景包括一系列镜头,以呈现故事中语义上连贯的部分。因此,尽管可以使用现有工具根据简单的视觉提示将电影轻松地划分为镜头[23],但是识别构成场景的镜头子序列的任务是一项艰巨的任务,因为需要顺序地进行语义理解发现这些镜头之间的关联在语义上是一致的,但实际上是不相似的。
      关于视频理解已经进行了广泛的研究。尽管在这一领域取得了长足的进步,但是大多数现有的作品都集中在从短视频中识别某些活动的类别[28,6,14]。更重要的是,这些作品假定了一系列可区分的预定义类别。但是,对于电影场景分割,不可能有这样的类别列表。 另外,根据镜头的语义连贯性将镜头分为场景,而不仅仅是视觉提示。因此,为此需要开发一种新方法。
      要关联视觉上不同的镜头,我们需要有一定的了解。这里的关键问题是“没有类别标签,我们如何学习语义?” 我们解决这个问题的想法包括三个方面:
      1)我们不尝试对内容进行分类,而是关注场景边界。我们可以通过监督的方式了解构成场景之间边界的内容,从而获得区分场景内和跨场景过渡的能力。
      2)我们利用包含在多个语义元素中的线索,包括place,cast,action和audio,来识别镜头之间的关联。通过整合这些方面,我们可以超越视觉观察,更有效地建立语义联系。
      3)我们还将从对电影的整体理解中探索自上而下的指导,这将进一步提高性能。
      基于这些想法,我们开发了一个局部到全局框架,该框架通过三个阶段执行场景分割:
       ①从多个方面提取镜头表示;
      ②根据集成信息进行局部预测;
      ③最后优化通过解决全局优化问题对镜头进行分组。
      为了促进这项研究,我们构建了MovieScenes,这是一个大型数据集,其中包含超过21K的场景,其中包含来自150部电影的270,000张快照。
      实验表明,与现有的最佳方法相比,我们的方法将性能提高了68%(以平均精度从28.1提高到47.1)[1]。在我们的数据集上进行预训练的现有方法在性能上也有很大的提高。

    2.相关工作

    场景边界检测和分割。最早的作品采用了多种无监督的方法。[22]根据镜头颜色相似度对镜头进行聚类。在[17]中,作者绘制了来自低级视觉特征的镜头响应曲线,并设置了剪切场景的阈值。[4,3]使用带有快速全局k均值算法的光谱聚类进一步对镜头进行分组。[10,24]通过优化预定义的优化目标,通过动态编程来预测场景边界。研究人员还求助于其他模态信息,例如 [13]利用HMM脚本,[23]使用低级视觉和音频功能构建场景过渡图。这些无监督的方法不灵活,并且严重依赖手动设置不同视频的参数。
      研究人员转向有监督的方法,并开始建立新的数据集。IBM OVSD [21]由21个短视频组成,场景粗糙,可能包含多个情节。BBC Planet Earth [1]来自BBC纪录片的11集。[15]从Places205 [31]生成综合数据。但是,这些数据集中的视频缺少丰富的情节或故事情节,因此限制了其在现实世界中的应用。测试视频的数量如此之小,以至于不能反映出考虑各种场景的方法的有效性。另外,他们的方法以镜头为分析单元,并在局部区域中递归实现场景分割。 由于他们没有考虑场景中的语义,因此很难学习高级语义并获得理想的结果。
      图像和短视频中的场景理解。基于图像的场景分析[31,29,9]可以推断出一些有关场景的基础知识,例如该图像中包含什么。但是,很难从单个静态图像中分辨出该动作,因为它缺少周围的上下文信息。几秒钟长的短视频进一步研究了动态场景理解[6,14]。但是,与长视频相比,所有这些视频都拍摄的单次拍摄视频没有足够的变化来捕捉时间和地点的变化。
      较长视频中的场景理解。很少有数据集关注长视频中的场景。大多数可用的长视频数据集都集中于识别电影或电视连续剧中的演员[2、12、16]以及对活动进行定位和分类[8]。 MovieGraphs [26]专注于电影中的各个场景剪辑以及场景的语言结构。场景之间的某些过渡部分将被丢弃,从而使信息不完整。
      为了实现可以扩展到长时间视频的更通用的场景分析,我们使用大型MovieScenes数据集解决了电影中的场景分割问题。我们提出了一个框架,该框架使用多个语义元素同时考虑了局部镜头之间的关系和全局场景之间的关系,从而获得了更好的分割结果。

    3.电影场景数据集

    为了促进电影中的场景理解,我们构造了MovieScenes,这是一个大型场景分割数据集,其中包含21K个场景,这些场景是通过对150部电影中的270K镜头进行分组而得出的。该数据集为研究场景中的复杂语义提供了基础,并促进了对场景顶部进行基于情节的长视频理解。

    3.1场景定义

    按照场景[17、4、10、24]的先前定义,场景是基于情节的语义单元,在一组特定的角色之间发生的一种确切的活动。尽管场景通常发生在固定的位置,但场景可能连续在多个位置之间穿越,例如在电影的战斗场景中,人物从室内移动到室外。这些复杂的场景纠缠在准确检测需要高级语义信息的场景时增加了难度。图2展示了MovieScenes中带注释的场景的一些示例,证明了这一困难。
    在这里插入图片描述图2.电影Bruce Almight(2003)中带注释的场景示例。底部的蓝线对应于整个电影时间线,其中深蓝色和浅蓝色区域表示不同的场景。在场景10中,角色在两个不同的地方打了电话,因此需要对该场景进行语义理解,以防止将其归类为不同的场景。在场景11中,由于此现场广播场景涉及三个以上位置和角色组,因此任务变得更加困难。在这种情况下,视觉提示仅可能失败,因此包含其他方面(例如音频提示)变得至关重要。
      电影场景的多样性使注释者难以相互遵守。为了确保来自不同注释的结果的一致性,在注释过程中,我们提供了歧义示例的列表,并提供了具体的指导以阐明应如何处理此类情况。 此外,所有数据均由不同的注释者独立多次注释。最后,我们提供的多次批注和指导提供了高度一致的结果,即总计89.5%的高度一致性案例,如表1所示。
      
    表1. MovieScenes的数据一致性统计信息。我们根据注释者的一致性将所有注释分为三类:高/低一致性情况和不确定情况。不确定的案例在我们的实验中被丢弃。更多详细信息在补充材料中指定。
    在这里插入图片描述

    3.2注释工具和步骤

    我们的数据集包含150部电影,如果注释者一帧一帧地浏览电影,这将是一项艰巨的工作。我们采用基于镜头的方法,前提是应该始终将镜头唯一地分类为一个场景。因此,场景边界必须是所有镜头边界的子集。对于每部电影,我们首先使用现成的方法将其分为镜头[23]。这种基于镜头的方法大大简化了场景分割任务,并加快了注释过程。我们还开发了基于Web的注释工具,以方便注释。所有注释者都经过两轮注释过程,以确保高度一致性。在第一轮中,我们将电影的每个块分配给三个独立的注释器,以供以后进行一致性检查。在第二轮中,不一致的注释将重新分配给两个附加的注释器,以进行额外的评估。

    3.3批注统计

    大规模。表2比较了MovieScenes和现有的相似视频场景数据集。我们显示,在镜头/场景数量和总持续时间方面,MovieScenes明显大于其他数据集。此外,与短片或纪录片相比,我们的数据集涵盖了更广泛的各种数据源,可以捕获各种场景。
    多样性。我们数据集中的大多数电影具有90到120分钟的持续时间,可提供有关各个电影故事的丰富信息。涵盖了种类繁多的流派,包括最流行的流派,例如戏剧,惊悚片,动作片,使我们的数据集更加全面和通用。带注释的场景的长度从少于10s到大于120s不等,多数情况持续10到30s。Movie级别和scene级别都存在这种较大的可变性,这使得电影场景分割任务更具挑战性。

    表2.现有场景数据集的比较。
    在这里插入图片描述

    4.局部到全局的场景分割

    如上所述,场景是一系列连续的镜头。因此,可以将场景分割公式化为二分类问题,即确定镜头边界是否是场景边界。但是,此任务并不容易,因为分割场景需要识别多个语义方面并使用复杂的临时信息。
      为了解决这个问题,我们提出了一个局部到全局场景分割框架(LGSS)。模拟的整体过程如公式1所示。具有n个镜头的电影被表示为镜头序列[s1,…,sn],其中每个镜头都具有多个语义方面。我们基于镜头表示si设计一个三级模型来合并不同级别的上下文信息,即cilp级别(B),segment级别(T)和movie级别(G)。
      我们的模型给出了一系列预测[o1,···,on-1],其中oi∈{0,1}表示第i个镜头和第(i + 1)个镜头之间的边界是否是场景边界。
      在这里插入图片描述  在本节的以下部分中,我们将首先介绍如何获取si,即如何使用多个语义元素来表示镜头。然后我们将说明模型三个层次的详细信息,即B,T和G。总体框架如图3所示。
      在这里插入图片描述图3.局部到全局场景分割框架(LGSS)。在clip级别,我们为每个镜头提取四种编码,并使用BNet建模镜头边界。局部序列模型在segment级别输出粗糙的场景切换结果。最后,在movie级别,应用全局最佳分组来优化场景分割结果。

    4.1带有语义元素的镜头表示

    电影是一种典型的多模式数据,其中包含不同的高级语义元素。从神经网络的镜头中提取的全局特征在以前的工作中被广泛使用[1,24],但不足以捕获复杂的语义信息。
      场景是一系列镜头共享一些常见元素的场景,例如place、cast等,因此,重要的是要考虑这些相关的语义元素,以更好地表示镜头。在我们的LGSS框架中,镜头用四个元素表示,它们在场景的构成中起着重要作用,即place,cast,action和audio。
      为了获得每个镜头si的语义特征,我们利用:
      1)在关键帧图像上的Places数据集[31]上预训练的ResNet50 [11]以获取place特征,
      2)在CIM数据集[12]上预训练的Faster-RCNN [19]进行检测cast实例,在PIPA数据集[30]上预训练ResNet50以提取cast特征,
      3)在AVA数据集[8]上预先训练的TSN [27]以获取action特征,
      4)NaverNet [5]在AVAActiveSpeaker数据集[20]上进行了预训练,以分离语音和背景声音,stft [25]在具有16K Hz采样率和512窗口信号长度的镜头中分别获得其特征,并将它们连接起来以获得audio特征。

    4.2clip级别的镜头边界表示

    如前所述,场景分割可以公式化为镜头边界上的二分类问题。因此,如何表示镜头边界成为至关重要的问题。在这里,我们提出了一个边界网络(BNet)对镜头边界进行建模。如公式2所示,BNet(用B表示)以2wb镜头作为输入的电影clip,并输出边界表示bi。出于直觉,边界表示应同时捕捉镜头前后的差异和镜头之间的关系,BNet由两个分支Bd和Br组成。Bd由两个临时的卷积层建模,每个卷积层都在边界的前后都嵌入了镜头,然后进行内积运算去计算他们的差异。Br的目的是捕获镜头之间的关系,它是由一个临时卷积层紧跟着一个最大池化层实现的。
    在这里插入图片描述

    4.3segment级别的粗略预测

    在获得每个镜头边界bi的代表之后,问题就变成了根据表示序列[b1,···,bn-1]的序列来预测序列二进制labels [o1,o2,···,on-1],可以通过序列到序列模型[7]解决。但是,镜头数量n通常大于1000,这对于现有的顺序模型很难保存这么长的内存。因此,我们设计了一个segment级模型,以基于包含wt镜头(wt≪ n)的电影片段来预测粗略结果。具体来说,我们使用序列模型T,例如Bi-LSTM [7],步幅为wt / 2,可预测一系列粗略得分[p1,…,pn-1],如式3所示。pi∈[0,1]是镜头边界成为场景边界的概率。
    在这里插入图片描述
      然后,我们得到了一个粗略的预测oi∈{0,1},该预测表明第i个镜头边界是否为场景边界。通过将pi通过阈值τ进行二值化,我们得到
      在这里插入图片描述

    4.4movie级别的全局最佳分组

    Segment级别模型T获得的分割结果o¯i不够好,因为它只考虑wt镜头的局部信息,而忽略了整个电影的全局上下文信息。为了捕获全局结构,我们开发了全局最佳模型G来考虑电影级上下文。它将镜头表示si和粗略预测o¯i作为输入,并做出如下最终决定oi,
    在这里插入图片描述
      全局最优模型G被公式化为一个优化问题。在介绍它之前,我们先建立超级镜头和目标函数的概念。
      局部分割为我们提供了一个初始的粗糙场景剪切集C = {Ck},这里我们将Ck表示为超级镜头,即由segment级别结果[o¯1,…,,o¯n-1]确定的一系列连续镜头。我们的目标是将这些超级镜头合并为j个场景Φ(n = j)= {φ1,…,φj},其中
      在这里插入图片描述和|φk| ≥1。由于没有给出j,所以要自动确定目标场景编号j,我们需要查看所有可能的场景切换,即在这里插入图片描述。对于固定的j,我们想要找到最佳场景切换集在这里插入图片描述。总体优化问题如下:
      在这里插入图片描述
      在此,g(φk)是由场景φk获得的最佳场景切换得分。它公式化了超级镜头Cl∈φk与其余超级镜头Pk,l =Φk\ Cl之间的关系。g(φk)构成两个项以捕获全局关系和局部关系,Fs(Ck,Pk)是Ck和Pk之间的相似性得分,而Ft(Ck,Pk)是一个指示函数,表明Ck与来自Pk的任何超级镜头之间是否有非常高的相似性,目的是在场景中建立镜头线程。特别,
      在这里插入图片描述
    DP.通过动态编程(DP)可以有效地解决优化问题并确定目标场景编号。F(n = j)的更新是
    在这里插入图片描述
    其中C1:k是包含前k个超级镜头的集合。
    迭代优化。上面的DP可以给我们一个场景切换的结果,但是我们可以进一步将这个结果当作一个新的超级镜头集,并迭代地合并它们以改善最终结果。当超级镜头更新时,我们还需要更新这些超级镜头表示形式。对于所有包含的镜头进行简单的汇总对于超级镜头可能不是理想的表示,因为有些镜头包含的信息较少。因此,最好在最佳分组中优化超级镜头的表示。 补充中给出了有关超级镜头表示的这种改进的细节。

    实验

    5.1实验建立

    数据。我们使用MovieScenes数据集实现所有基线方法。整个注释集根据视频级别按10:2:3的比例分为Train,Val和Test集。
    实施细节。我们将交叉熵损失用于二分类。由于数据集中存在不平衡现象,即非场景转换镜头边界占主导地位(大约9:1),因此我们分别将非场景转换镜头边界和场景转换镜头边界的交叉熵损失设为1:9权重。我们使用Adam优化器对这些模型进行了30个时期的训练。初始学习速率为0.01,在第15个时期将学习速率除以10。
      在全局最优分组中,根据获得的这些镜头边界的分类分数(通常一个电影包含1k〜2k镜头边界),我们从局部分割中取j = 600 超级镜头。目标场景的范围从50 到400,即i∈[50,400]。这些值是根据MovieScenes统计信息估算的。
    评估指标。我们采用三种常用的度量标准:
    1)平均精度(AP)。特别是在我们的实验中,它是每部电影的AP的平均值oi = 1。
    2)Miou:检测到的场景边界的并交的加权总和,即其与最近的GroundTruth场景边界的距离。
    3)Recall @ 3s:每隔3秒钟调用一次,已注释场景边界的百分比位于预测边界的3s之内。

    5.2定量结果

    总体结果显示在表3中。我们重现了具有深层位置特征的现有方法[18、4、10、21、24、1],以进行公平比较。基本模型对具有place特征的镜头应用时间卷积,我们逐步向其中添加以下四个模块,即
    1)多个语义元素(Multi-Semantics),
    2)Clip级别的镜头边界表示(BNet),
    3)使用局部序列模型(Local Seq)在segment级别进行粗略预测,以及
    4)在movie级别(Global)进行全局最优分组。

    表3.场景分割结果。在我们的管道中,“多语义”表示多个语义元素,“ BNet”表示镜头边界建模边界网,“ Local Seq”表示局部序列模型,“ Global”表示全局最优分组。
    在这里插入图片描述
    总体结果分析。随机方法的性能取决于测试集中场景过渡/非场景过渡镜头边界的比率,该比率约为1:9。所有常规方法[18、4、10、21]的性能均优于随机方法。但是,由于它们仅考虑本地上下文信息而无法捕获语义信息,因此无法获得良好的性能。[24,1]通过考虑大范围信息,比常规方法[18,4,10,21]取得了更好的结果。
    分析我们的框架。我们的基本模型将时间卷积应用于具有place特征的镜头,并在AP上达到19.5。借助多种语义元素,我们的方法从19.5(基本)提高到24.3(多语义)(相对而言提高了24.6%)。使用BNet进行镜头边界建模的框架将性能从24.3(多语义)提高到42.2(多语义+ BNet)(相对于73.7%),这表明在场景分割任务中,直接对镜头边界进行建模是有用。局部序列模型(Multi-Semantics + BNet + Local Seq)的方法比模型(Multi Semantics + BNet)从42.2到44.9可获得2.7的绝对改善和6.4%的相对改进。完整的模型包括局部序列模型和全局最佳分组(多语义+ BNet +局部序列+全局),进一步将结果从44.9提高到47.1,这表明电影级优化对于场景分割非常重要。
      总而言之,借助多个语义元素,clip级别的镜头建模,segment级别的局部序列模型和movie级别的全局最佳分组,我们的最佳模型大大优于基本模型和以前的最佳模型[1],提高了27.6。在基础模型(Base)上,绝对值提高了142%,在暹罗模型上,绝对值提高了19.0,相对提高了68%[1]。这些验证了此局部到全局框架的有效性。

    5.3消融研究

    多个语义元素。我们以镜头边界建模BNet,局部序列模型和全局最优分组为基础模型。如表4所示,逐渐添加中层语义元素提高了最终结果。从仅使用place的模型开始,audio改进了4.4,action改进了6.5,cast改进了4.0,并且总体改进了8.1。该结果表明,place,cast表,action和audio在形成中都有助于场景分割。
      另外,借助我们的多语义元素,其他方法[21、24、1]可以实现20%到30%的相对改进。 该结果进一步证明我们的假设,即多语义元素有助于场景分割。

    表4.多个语义元素场景分割消融结果,其中研究了四个元素,包括place,cast,action和audio。
    在这里插入图片描述
    时间长度的影响。我们在clip级别(BNet)的镜头边界建模中选择了不同的窗口尺寸,在segment级别(Local Seq)中选择了Bi-LSTM的不同序列长度。结果显示在表5中。实验表明,较长的信息范围可以提高性能。有趣的是,最好的结果来自用于镜头边界建模的4个镜头和作为局部序列模型的输入的10个镜头边界,总共涉及14个镜头信息。这大约是一个场景的长度。它表明此时间信息范围有助于场景分割。

    表5.在clip和segment级别的不同时间窗口大小的比较。垂直线在clip级别镜头边界建模(BNet)的窗口大小上有所不同,水平线在segment级别序列模型的长度(seq)上有所不同。
    在这里插入图片描述
    全局最优分组中超参数的选择。我们将优化的迭代次数(Iter#)和初始超级镜头数目(Init#)不同,并将结果显示在表6中。

    表6.全局最佳分组中不同超参数的比较以及初始超级镜头数的不同选择。
    在这里插入图片描述
      我们首先查看每一行,然后更改初始超级镜头数量。初始编号为600的设置可获得最佳效果,因为它接近目标场景编号50到400,同时确保了足够大的搜索空间。然后,当我们查看每列时,我们发现初始编号为400的设置以最快的方式收敛。经过2次迭代,它可以很快获得最佳结果。并且所有设置都覆盖5次迭代。

    5.4定性结果

    定性结果显示了我们的多模式方法的有效性,如图4所示,全局最优分组的定性结果如图5所示。
    在这里插入图片描述
    图4.多个语义元素的解释,其中每个语义元素的相似性规范由相应的条长表示。这四个影片剪辑说明了不同元素如何有助于场景的预测。
    多个语义元素。为了量化多个语义元素的重要性,我们采用每种模式的余弦相似度范数。 图4(a)显示了一个示例,其中连拍在连续镜头中非常相似,有助于场景的形成。在图4(b)中,角色及其动作难以辨认:第一个镜头是人物很小的长镜头,而最后一个镜头只显示了一部分人物而没有清晰的面孔。在这些情况下,由于这些镜头之间共享了相似的音频功能,因此可以识别场景。图4(c)是一个典型的“电话”场景,其中每个镜头的动作都相似。在图4(d)中,只有一个地方是相似的,我们仍将其总结为一个场景。从以上对更多此类情况的观察和分析中,我们得出以下经验结论:多模式信息相互补充,有助于场景分割。
    最佳分组。我们展示了两种情况,以证明最佳分组的有效性。图5中有两个场景。如果没有全局最佳分组,则具有突然视点变化的场景很可能会预测场景转换(图中的红线),例如, 在第一种情况下,当镜头类型从全景拍摄变为近景拍摄时,粗略预测会得到两个场景切换。 在第二种情况下,当出现极端特写镜头时,粗略预测会得到场景切换。我们的全局最佳分组能够按预期消除这些多余的场景切换。
    在这里插入图片描述
    图5.两种情况下全局最优分组的定性结果。在每种情况下,第一行和第二行分别是在全局最优分组之前和之后的结果。两张照片之间的红线表示有场景切换。每种情况的基本事实是这些镜头属于同一场景。

    5.5跨数据集传输

    我们通过对MovieScenes数据集进行预训练,在现有数据集OVSD [1]和BBC [21]上测试了DP [10]和Siamese [1]的不同方法,结果如表7所示。通过对我们的数据集进行预训练,性能可以达到显着改善,即AP的绝对改善约10%,相对改善约15%。原因是我们的数据集涵盖了更多的场景,并为其上训练的模型带来了更好的生成能力。

    表7.现有数据集上的场景分割跨数据集传输结果(AP)。
    在这里插入图片描述

    6.结论

    在这项工作中,我们收集了一个大型注释集,用于对包含270K注释的150部电影进行场景分割。我们提出了一个局部到全局场景分割框架,以覆盖分层的时间和语义信息。实验表明,该框架非常有效,并且比现有方法具有更好的性能。成功的场景分割能够支持许多电影理解应用程序。本文所有研究共同表明,场景分析是一个充满挑战但有意义的话题,值得进一步研究。
      致谢这项工作得到了香港普通研究基金(GRF)的部分支持(No.14203518和编号14205719)和SenseTime协作式赠款,用于大规模多模式分析。

    展开全文
  • 这是专栏《图像分割模型》的第7篇文章。...那么如何真正利用图像的全局信息呢?ParseNet告诉你。 作者 | 孙叔桥 编辑 | 言有三 本期论文《ParseNet: Looking Wider to See Better》 1 理论感受...

    这是专栏《图像分割模型》的第7篇文章。在这里,我们将共同探索解决分割问题的主流网络结构和设计思想。

    尽管多尺度融合、空洞卷积都可以增加网络的感受野,但理论感受野与实际感受野仍然存在差异。那么如何真正利用图像的全局信息呢?ParseNet告诉你。

    作者 | 孙叔桥

    编辑 | 言有三

    本期论文《ParseNet: Looking Wider to See Better》

     

    1 理论感受野是真的吗?

    相信通过前面几篇介绍上下文信息整合的文章,大家已经能够体会到感受野对于分割网络效果的影响有多么巨大了。简单来说,感受野越大,网络所能“看见”的区域就越大,从而能够用于分析的信息就更多。由此,分割的效果也很有可能更好。

    基于这种考虑,许多算法尝试通过改变自身网络结构设计来增大网络的理论感受野,认为这样就能够为网络带来更多的信息。尽管理论感受野的增大的确能够增加网络所获取的上下文信息,但是,理论感受野难道真的就代表了算法实际看见的区域吗?

    在实际应用中,许多方法的理论感受野是很大的。比如前面文章中介绍过的带VGG的FCN网络中的fc7层,其理论感受野为404x404像素。但是,实验却证明,其并没有办法看到这么大的区域。

    比如,ParseNet的作者做了这样一个实验,即破坏图像中一个随机区域中的信息,以此来观察网络的输出结果是否依赖于这个区域。结果如下图所示:

     

    从左到右分别为:图像、热度图、理论感受野和实际感受野。

    由此可以看出,网络实际上能够覆盖的区域也就能达到整图的1/4左右,远远没有达到理论感受野的尺寸。那么究竟该如何利用全部的图像上下文信息呢?ParseNet提出了一种融合全局信息与局部信息的方法,下面来具体介绍一下。

     

    2 全局特征的提取与融合

    如下图所示,ParseNet通过全局池化提取图像的全局特征,并将其与局部特征融合起来。

     

    这种融合在过程中需要考虑两个主要问题:融合的时机与尺度的归一化。

    (1) 融合时机

    直观上理解,全局特征与局部特征的融合可以发生在两个节点:分别是训练分类器之前(early fusion)和训练分类器之后(late fusion)。其中,前者是将两个特征融合后,作为一个整体共同送入分类网络,训练分类器;后者则是以两个特征为输入,分别训练其对应的分类器,最后再将分类的结果整合。

    如果忽略结合特征后的训练过程,那么这两种融合的时机的鲜果是差不多的。但是,在某些情况下,只有全局特征辅助下的局部特征才能够判断出正确的分类结果;此时,如果两个特征分别训练再整合,那么这种情况下的分割损失是不可逆的,也就是说,这些情况下的分类将不正确。

    当然,这两种方法在实际应用过程中是可以实现相似的结果的,但是late fusion需要进行归一化。

    (2) 归一化

    如下图所示,不同层之间的特征的尺度是不同的,而且这种不同可能很显著。(不同颜色代表不同层上的特征)

    很显然,这些特征的尺度(scale)和范数(norm)是不同的。如果直接将这些特征级联起来会造成大特征控制小特征,使分割效果变差。尽管在训练过程中,网络的权重可能会对这种情况进行调整,但是这要求非常小心的调参和数据库选取。

     

    因此,ParseNet利用了L2范数来归一化特征的融合过程。具体而言,给定d维输入x,算法通过计算其L2范数并在整个维度内实现归一化。

    此外,如果只是单纯地对所有输入层进行归一化,不仅会减慢网络的训练速度,同时也会改变该层的尺度。因此,还需要对其增加一个尺度参数gamma,将归一化的结果进行尺度缩放(缩放结果为y)。

    这一过程增加的参数量等于所有的通道数之和,因此在反向传播过程中是可以忽略的。具体的反向传播公式如下:

     

     

    3 实验结果

    下表是ParseNet在PASCAL VOC2012下的数据结果和与其他算法的比较:

     

    其效果与DeepLab-LargeFOV相近。

    下图是全局特征有助于分割结果的示例:

     

    从左到右分别为:图像、真值、对比基准和ParseNet。

    尽管总体而言,引入更多的上下文信息有助于分割。但是有时候,引入全局信息也可能给分类造成不好的影响,比如下图所示,从左到右分别是原图,真值,FCN以及ParseNet。

     

     

    总结

    本文我们了解了全局信息该如何使用、该注意什么问题。下篇文章我们来看看RefineNet中是如何用残差校正进一步提高分割效果的。今天的分享就是这样啦,下回见。

    本专栏文章:

    第一期:【图像分割模型】从FCN说起

    第二期:【图像分割模型】编解码结构SegNet

    第三期:【图像分割模型】感受野与分辨率的控制术—空洞卷积

    第四期:【图像分割模型】快速道路场景分割—ENet

    第五期:【图像分割模型】以RNN形式做CRF后处理—CRFasRNN

    第六期:【图像分割模型】多感受野的金字塔结构—PSPNet

    第七期:【图像分割模型】全局特征与局部特征的交响曲—ParseNet

    第八期:【图像分割模型】多分辨率特征融合—RefineNet

    第九期:【图像分割模型】用BRNN做分割—ReSeg

    第十期:【图像分割模型】BRNN下的RGB-D分割—LSTM-CF

    第十一期:【图像分割模型】实例分割模型—DeepMask

    第十二期:【图像分割模型】全景分割是什么?

    感谢各位看官的耐心阅读,不足之处希望多多指教。后续内容将会不定期奉上,欢迎大家关注有三公众号 有三AI

     

    展开全文
  • java的局部变量和全局变量

    千次阅读 2019-03-19 09:22:37
    关于Java代码变量问题——局部全局 在说明问题之前,先看一道蓝桥杯的题目: 立方变自身 观察下面的现象,某个数字的立方,按位累加仍然等于自身。 1^3 = 1 8^3 = 512 5+1+2=8 17^3 = 4913 4+9+1+3=17 … 请你计算...

    关于Java代码变量问题——局部和全局

    在说明问题之前,先看一道蓝桥杯的题目:

    立方变自身
    观察下面的现象,某个数字的立方,按位累加仍然等于自身。
    1^3 = 1
    8^3 = 512 5+1+2=8
    17^3 = 4913 4+9+1+3=17

    请你计算包括1,8,17在内,符合这个性质的正整数一共有多少个?

    请填写该数字,不要填写任何多余的内容或说明性的文字。

    这题对于精通代码算法的大佬是非常简单的题目,只要用到除 / 和除余 % 即可完成运算。下面先看解析和一个错误代码。

    解析:首先题目要求立方个个位和与自身相等,这就可以用 / 和 % 来实现,其次就是测试上限为多少的问题。首先我们知道个个位数上最大值为 9 ,那么我们不妨假设一下,100的立方为110^6,也就是说99的立方一定小于99 9999,而99 9999个个位数上和为69=54,很明显99的立方根一定比54要小,也就是说这些符合条件的数有限,而且不超100 。

    下面是一个错误的测试代码,附加一错误结果图

    public class cs {
    	public static void main(String[] args) {
    		int s=0;    //全局变量初始化
    		int n=0;
    		for(int i=0;i<20;i++) {
    			n=i*i*i;
    			System.out.print("n0="+n+";"+"s0="+s+";");  //检测初值0
    			while (n/10!=0) {
    				System.out.print("n1="+n+";"+"s1="+s+";");  //检测运算过程1
    				s=s+n%10;
    				System.out.print("n2="+n+";"+"s2="+s+";");   //检测运算过程2
    				n=n/10;	
    			}
    			s=s+n;
    			System.out.println("n3="+n+";"+"s3="+s+";");    //检测结果3
    		}
    	}
    }
    

    运行结果图:在这里插入图片描述
    解释:细心的人一看就知道是怎么一回事,本次错误代码就是因为全局变量和局部变量的关系才造成了 i = 3时,s = 9 而不是等于0 。全局变量虽然初始化了,但时局部变量没有每次初始化,造成了后面每次运算结果都是以上一次基础上更新。

    修改后代码如下:

    
    public class Main{
    	
    	public static void main(String[] args) {
    		for(int i=1;i<50;i++) {
    			int n=i*i*i;    //局部变量初始化
    			int s=0;
    			while (n/10!=0) {
    				s=s+n%10;
    				n=n/10;	
    			}
    			s=s+n;
    			if(s==i) {
    				System.out.println(i);  //输出结果
    			}
    		}
    	}
    }
    

    最后感谢阅读本章,还有感谢大佬a的帮忙测试,下一篇就解说回溯算法的思路——八皇后问题。

    展开全文
  • 双目立体匹配的原理类似于人类的视觉原理:分别单独使用左眼和单独使用右眼去观察一个物体,该物体在两个视角中的相对位置会存在一定的偏移,人类视觉系统可以根据该偏移去判断该物体的距离远近。 同样的,在双目...
  • 点击上方“机器学习与生成对抗网络”,关注星标获取有趣、好玩的前沿干货!‍作者:Chu-Tak Li编译:ronghuaiyang AI公园‍‍导读‍‍全局一致让图像补全的内容契合上下文...
  • 详述Java中的局部变量与全局变量

    千次阅读 2019-07-27 13:31:51
    利用计算机程序解决问题,离不开变量的使用,而根据作用范围的不同,有局部变量与全局变量之分,本篇就详述一下局部变量与全局变量。 一、全局变量 (1)定义位置:定义在类的内部,方法的外部。 (2)作用域:在...
  • C语言中的局部变量和全局变量

    千次阅读 多人点赞 2019-03-17 16:25:02
    我们按照变量的作用域范围可以把变量划分为局部变量和全局变量。 二.局部变量 1.局部变量出现在三种地方, (1)在函数的开头定义的变量。 (2) 在函数内的复合语句内定义。 (3)形式参数 在一个函数内部定义的变量只在...
  • 局部变量与全局变量及其存储方式

    千次阅读 2021-03-19 21:43:33
    变量的作用域的角度观察,变量可以分为全局变量和局部变量;变量的存储分为静态存储方式和动态存储方式。 内存中供用户使用的存储空间可分为程序区、静态存存储区和动态存储区三部分 全局变量全部存放在静态存储...
  • Java面试题大全(2020版)

    万次阅读 多人点赞 2019-11-26 11:59:06
    需要注意Jdk 1.8中对HashMap的实现做了优化,当链表中的节点数据超过八个之后,该链表会转为红黑树来提高查询效率,原来的O(n)O(logn) 24. 说一下 HashSet 的实现原理? HashSet底层由HashMap实现 HashSet的值存放...
  • 在解释全局变量和局部变量之前,先说一个js中的变量搜索顺序:找变量时,先找局部变量,如果没有局部变量;再找全局变量。如何查找全局变量 最外层的函数和和最外层函数外面的变量都是全局变量。因为函数是可以嵌套...
  • 一种从局部到全局的多模态电影场景分割方法 摘要   场景作为电影中讲故事的关键单元,包含了演员在物理环境中的复杂活动及其相互作用。识别场景的构成是理解电影语义的关键一步。这非常具有挑战性——与传统视觉...
  • 全局局部GAN做图片填充

    千次阅读 2018-10-16 15:45:10
    全局鉴别网络输入是256X256,RGB三通道图片,局部网络输入是128X128,RGB三通道图片,根据原始论文当中的设置,全局网络和局部网络都会通过5X5的convolution layer,以及2X2的stride降低分辨率,最终分别得到1024维...
  • 1. 这本书对Python的知识点的描述很详细,而且排版看的很舒服. 2. 几个例题:假装自己零开始学,将一些有代表性、有意思的例题抽取出来. 3. 还有自己对一部分课后复习题,全部课后上机实践题的解题思路
  • 文章目录全局监听局部监听配置使用 全局监听 在 api 28之前, 使用 android.app.Application.ActivityLifecycleCallbacks 监听 Activity 的生命周期。它始于 api 14(android 4.0)。它的包名可以看出,它是 ...
  • 图像分割综述

    万次阅读 多人点赞 2019-07-09 22:03:48
    图像分割是计算机视觉研究中的一个经典难题,已经成为图像理解领域关注的一个热点,图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组成部分,...简单的说就是在一副图像中,把目标背景中分...
  • 前端面试题(持续更新中)

    万次阅读 多人点赞 2019-11-06 17:16:33
    闭包的缺点:滥用闭包函数会造成内存泄露,因为闭包中引用的包裹函数中定义的变量都 永远不会被释放,所以我们应该在必要的时候,及时释放这个闭包函数本 2.数据类型 基本数据类型:String,Boolean,number,Null,...
  • 用到了刚体转换,方便进行两个坐标系之间的转换。
  • 变量作用域指的是变量生效的范围,主要分为两类:局部变量和全局变量。 局部变量 所谓局部变量是定义在函数体内部的变量,即只在函数体内部生效。 def testA(): a = 100 print(a) testA() # 100 print(a) # ...
  • 测试开发笔记

    万次阅读 多人点赞 2019-11-14 17:11:58
    代码复杂度 版本管理 针对基础测试基础版本要进行充分的测试 验收前的最后一个版本一定要进行完全重复测试 测试方法 黑盒方法 功能问题 无法保证所有的代码逻辑都被执行 用白盒测试思想补充黑盒测试 静态测试方法 ...
  • SPSS(十九)SPSS之时间序列模型(图文+数据集)

    万次阅读 多人点赞 2019-06-17 22:32:38
    它采取一种全局的视角,不考虑序列局部的波动 下图,整体呈下降趋势 季节变化(Season) 反映一种周期性的变化一般在一年中完成 虽然称作“季节”,但是周期并不一定是季度,也可以是月、周等其它能在一年...
  • 机器学习-预测之BP神经网络模型原理及实战

    万次阅读 多人点赞 2019-03-17 15:14:39
    BP算法改进 虽然BP神经网络具有高度非线性和较强的泛化能力,但也存在收敛速度慢、迭代步数多、易陷入局部极小和全局搜索能力差等缺点。可以采用增加动量项、自适应调节学习率、引入陡度因子等方法进行改进。 增加...
  • C#基础教程-c#实例教程,适合初学者

    万次阅读 多人点赞 2016-08-22 11:13:24
     完全面向对象:不象C++语言,即支持面向过程程序设计,又支持面向对象程序设计,C#语言是完全面向对象的,在C#中不再存在全局函数、全局变量,所有的函数、变量和常量都必须定义在类中,避免了命名冲突。...
  • 图像处理:图像二值化原理

    万次阅读 多人点赞 2019-06-18 16:44:54
    即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是...
  • 的图像进行信息提取和整合,最终恢复图像中场景的三维信息。 基于双目视觉的立体匹配算法研究涉及模式识别、人工智能、机器视觉、计算机图 形学等领域的许多相关复杂的研究课题。随着许多著名专家学者对...
  • 本代码基于MATLAB2017a版本,如果版本不同可能会报错 请set_para.m文件开始运行,其他M文件(+下载的资源包里面的slx文件)放在一个文件夹 每次迭代都会打印出来,如果运行时间过长怀疑程序死机可以观察迭代次数...
  • 031 局部全局变量

    千次阅读 2015-12-27 20:36:12
    C 语言 全局变量和局部变量的区别
  • 然而当我们将 for 里的 i 循环次数增大 700 时,会产生段错误。 这是因为每个进程都有自己的页表,一般情况下每个页为 4K,操作系统分配页表时,每次至少分配一个页。像上面程序中,为什么在小范围内对数组...
  • ...最近在用430开发一款产品,在软件调试的时候发现Watch窗口中无法观察局部变量的值,总是显示,下面通过一个简答的例子说明一下现象: #include "msp430g2553.h" /* Global variable */

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 54,385
精华内容 21,754
关键字:

从全局观察到局部