HourVideo: 1-Hour Video-Language Understanding的解读

ops/2024/12/21 8:00:57/

HourVideo: 1-Hour Video-Language Understanding 的解读

0 abstract

介绍HourVideo,这是一个用于长达一小时的视频语言理解的基准数据集。我们的数据集包含一个新的任务套件,包括总结、感知(回忆、追踪)、视觉推理(空间、时间、预测、因果、反事实)和导航(从房间到房间、物体检索)任务。HourVideo包括来自Ego4D数据集的500个手动筛选的主体视角视频,持续时间从20到120分钟不等,并包含12,976个高质量的、五选一的多项选择题。基准结果显示,包括GPT-4和LLaVA-NeXT在内的多模态模型表现略有提升,超过了随机选取(20%)。与此形成鲜明对比的是,人类专家明显优于最先进的长上下文多模态模型Gemini Pro 1.5(85.0%对37.3%),突显了多模态能力上的显著差距。

1 introduction

人类具备长时间视觉处理的能力,因此能在现实世界中感知、计划和行动。例如,人类做饭的日常任务。这一活动涉及一个连续的、自适应的视觉过程:识别和使用食材和工具,监测各种菜肴的状态变化,并根据颜色和质地等视觉线索调整烹饪时间/技术。这种持续的视觉处理对于实现所需的烹饪结果至关重要。人们期待autonomous agents(自主体)这种能力被赋予给人工智能。因此,长视频理解对实现这一目标至关重要。

autonomous agents:自主体,能够自主做出决策、执行任务并与环境进行交互的智能系统或实体。

当前的多模态的benchmark dataset(基准数据集),主要还是集中在评测单张图像或短视频片段(几秒到三分钟),对长视频理解的探索还有待开发。

多模态:结合和处理来自不同类型的数据,进行综合的分析和理解。

benchmark dataset:这里为基准数据集,用于模型的评估。

评估长视频语言理解能力的一个重大挑战是设计真正需要长期理解的任务,即需要长时间依赖的任务。

  • 避免通过时间定位和简短片段回答:在设计任务时,需要确保任务要求理解的信息超出了简短片段的信息。例如,简单的提问如果可以通过观看视频的某个简短片段就能回答,那这个任务实际上只是一个时间定位(定位到视频中的某一时刻)和简短片段理解的问题,并没有真正考察长视频语言理解能力。
  • 避免通过先验知识回答:在设计任务时,需要确保任务无法通过模型的先验知识回答。例如,某些问题可能通过模型的先验知识就能回答,而不需要从视频中获得深层次的信息。

long-form video-language understanding capabilities 长视频语言理解能力

HourVideo,一个用于评估多模态模型的长视频语言理解能力而设计的基准数据集。为了设计需要长期理解的任务,团队首先提出了一个新的任务套件,包括总结,感知(回忆,跟踪),视觉推理(空间,时间,预测,因果,反事实)和导航(房间到房间,物体检索)任务,共计4个任务,18个子任务。HourVideo包含500个来自Ego4D数据集的第一人称视角视频,时长在20到120分钟之间,涉及77种日常活动。对于每个任务,手动创建问题原型,旨在确保正确回答这些问题需要识别和合成长视频中多个时间段的信息。基于问题原型与具体视频内容,最终生成了12976个五项选择题的问题。

Task Suite(任务套件):通常指的是一组旨在测试、评估或训练特定技能或能力的任务集合。

在HourVideo数据集上全面评估了最先进的多模态模型。评估包括了 GPT-4V、Gemini 1.5 Pro 和 LLaVA-NeXT 这几种模型在零样本设置下的表现。研究结果表明,GPT-4V和LLaVA-NeXT仅比随机预测值(20%)略有改善,准确率分别为25.7%和22.3%。Gemini 1.5 Pro是专门为长上下文多模态理解而设计的,准确率为37.3%,虽然更好,但仍然大大低于人类专家的平均性能85.0%,存在较大差距。长格式视频理解的进展可以实现新的应用,包括AR助手、嵌入式代理和交互式视频平台。我们希望HourVideo能够作为一个基准,促进这一方向的研究,并开发能够理解无尽视觉数据流的多模态模型。

Zero-shot setting(零样本设置):模型直接对未曾见过的数据进行预测,评估模型对于泛化到新领域的能力。

2 Benchmark Design and Construction

2.1 任务套件(Task Suite)

总结任务(summarization)

从视频中提取并简洁地概括出重要信息。

在这里插入图片描述

左侧为子任务名称,右侧为问题原型question prototypes

关键事件/物体 (Key Events/Objects):这个任务要求总结摄像头佩戴者在**[超市]中的关键互动**。重点是提炼出佩戴者与物品、环境、人物等的关键互动,忽略一些次要或不相关的细节。

时间序列 (Temporal Sequencing):这个任务要求描述摄像头佩戴者在**[准备甜点]过程中的活动顺序**。即按时间顺序描述佩戴者完成甜点准备的每一个步骤,强调动作的先后关系。

比较/对比 (Compare/Contrast):这个任务要求比较佩戴者在**[公寓][餐厅]中进行的活动,找出两者之间的不同。这个任务考察对不同情境中行为差异**的理解。


感知任务(Perception)

对视频提取并理解特定信息,识别出具体的事实、事件顺序、时间间隔、人物互动等。

在这里插入图片描述

信息检索(Information Retrieval)

  • 事实回忆 (Factual Recall):要求从视频中提取特定的事实。例如,题目要求你回忆出摄像头佩戴者在超市里拿起了哪些乳制品
  • 序列回忆 (Sequence Recall):要求回忆出佩戴者在完成某个特定动作后的下一个动作,侧重事件的顺序。比如题目要求回忆出在超市里称完西红柿之后,佩戴者接下来做了什么。
  • 时间间隔 (Temporal Distance):要求理解两个事件发生的时间差。例如,题目要求回忆佩戴者吃完披萨后多久才丢弃披萨盒。需要通过视频或记录推测两个事件之间的时间差

追踪 (Tracking)

这个任务要求列出佩戴者与哪些特定个人在某个地方互动。这是一种人物追踪任务,目的是识别和列举所有在特定场景中与佩戴者互动的人物。


视觉推理(Visual Reasoning)

对视频进行逻辑推理,从而理解关于空间、时间、因果关系方面的结论,甚至预测未来。

在这里插入图片描述

空间推理 (Spatial)

  • 关系 (Relationship):这是通过观察物体间的相对位置来推理问题。例如,摄像头佩戴者将微波炉放在了炉灶的哪个位置,涉及到空间的相对关系。
  • 接近度 (Proximity):这个任务要求判断两个物体之间的相对距离,例如微波炉是否离冰箱比离水槽更近。
  • 布局 (Layout):要求根据视频中的信息,判断一个特定场景(如公寓)的布局,并选择最符合实际的图像。

时间推理 (Temporal)

  • 持续时间 (Duration):比较两个活动的持续时间,例如摄像头佩戴者在做饭和弹钢琴之间,哪个活动花费的时间更长。

  • 频率 (Frequency):根据视频内容判断某个活动的发生频率,比如摄像头佩戴者使用圆锯还是横锯的频率更高。

  • 前提条件 (Pre-requisites):这个任务要求推理出某个活动开始前所需的准备步骤,如摄像头佩戴者在烤饼干前需要哪些准备。

预测推理 (Predictive):这类任务通过现有的情境,预测接下来可能发生的活动。例如,摄像头佩戴者做完洗衣后,最可能进行的活动是什么。

因果推理 (Causal):这个任务要求推断出某个事件发生的原因。例如,为什么佩戴者第二次离开车库。

反事实推理 (Counterfactual):这种任务要求推理如果情况不同会发生什么,比如如果摄像头佩戴者使用烤箱而不是其他工具来做土豆泥,会有什么不同的结果。

Navigation(导航)

Room-to-Room (房间到房间):

这个任务要求推理摄像头佩戴者如何从**[一个地方移动][另一个地方]。例如,如何从[建筑入口]到达[公寓]**,根据视频中的信息推测佩戴者是如何穿越不同空间、经过哪些房间或走廊来完成这一任务的。

Object Retrieval (物品检索):

这个任务要求推理摄像头佩戴者如何在**[特定的空间]中检索到某个[物品]。例如,如何从[厨房]检索到[电视遥控器]**。要求理解佩戴者的空间位置、物品的空间位置以及可能的移动路径。

2.2 数据集生成管道(Dataset Generation Pipeline)

在这里插入图片描述

pipeline:创建数据集的整个步骤/流程

stage 1 Video Curation(视频筛选阶段)

目标:从Ego4D数据集中筛选出合适的视频

过程: 团队从Ego4D数据集中手动审核1470个20到120分钟的视频,让5位人类专家选择了其中500个视频。

Ego4D数据集作为视频来源,其原因有三个如下:

  • 自我视角(Ego-centric perspective):Ego4D数据集采用自我视角拍摄,符合autonomous agents (自主体)and assistants(虚拟助手)常见的视觉输入方式。
  • 丰富的视觉叙事(Extensive visual narrations):Ego4D数据集包含大量的视觉叙事内容,即通过视频展示人物的活动和互动。这样的视觉信息非常有助于生成多样化的选择题
  • 访问方便(Readily accessible under Ego4D license):Ego4D数据集具有开放许可,方便访问。

stage 2 Candidate MCQ Generation(候选多项选择题生成)

目标: 为每个任务生成高质量的多项选择题

过程:

1.将视频转换为结构化格式,便于LLM进行处理

视频按20分钟的间隔进行分段。每个片段包括了:

  • 总结信息:对视频片段的内容进行总结。

  • 重要物品和元素:记录视频中出现的工具、食品、技术设备、人类、宠物、物理位置等

LLM(Large Language Model):大语言模型,大量文本数据训练的深度学习模型,可以生成自然语言文本或理解语言文本的含义。

2.开发问题模板,根据问题模板生成具体的问题

为每个任务开发问题模板,问题模板是问题的标准化框架,定义了问题的类型和结构。生成问题时需要根据视频的具体内容来填充问题模板。

3.通过LLM生成问题

团队通过为每个任务设计了详细的提示(prompts),共计25个,这些提示包括:

  • 问题原型:提供问题的初步框架。
  • 详细指令:解释如何结合视频内容和任务要求来生成问题。
  • 上下文示例:提供实际的示例,帮助模型理解问题如何生成。
  • 逐步指导:明确如何将问题模板和视频信息融合,确保生成有效的候选问题。

stage 3 MCQ Refinement with LLMs using Human Feedback (使用人类反馈通过LLM优化多项选择题)

目标: 对阶段2的生成的候选多项选择题进行优化

MCQ2(阶段2的多项选择题)可能包含无效问题、错误答案、无意义的错误选项以及其他各种问题。其主要原因是Ego4D数据集中存在对同一事物有着不同的叙述的问题。嘈杂的叙述(noisy narrations)

例如:用“成年人”、“穿红白衬衫的人”、“Y男”等描述同一个人

过程:

实现了一个人类反馈系统,由7个标注员负责:

  1. 评估每个问题的有效性,确保它与视频内容一致;
  2. 验证给定答案的准确性,如果答案错误,他们会提供正确答案并以自由文本形式记录;
  3. 确保所有错误选项都是事实错误,且与正确答案有明显区分。

团队设计了提示(prompts),LLM通过这些人类反馈自动优化MCQ2,生成MCQ3。

stage 4 Blind filtering (盲筛选)

目标: 排除那些可以通过先验知识回答的,或无需任何视频信息即可轻松回答的问题(盲筛选)

过程:

使用两个独立的大语言模型GPT-4-turbo和GPT-4对MCQ3进行盲筛选。在没有视频输入的情况下,问题可以被至少其中一个大语言模型正确回答,则去除这个问题。

stage 5 Expert Refinement(专家优化)

目标: 通过选定的专家标注员提升MCQ4的质量,解决以前阶段可能一直存在的各种剩余问题

过程:

  • 优化问题。 例如,一个宽泛的问题,如“摄像头佩戴者把钥匙放在哪里?”转换为更精确的问题:“摄像头佩戴者在购物回家后,把自行车钥匙放在哪里?

  • 手动生成。对于因果推理反事实推理空间布局导航任务,我们发现由人工专家手动生成问题比通过多阶段流程处理更为有效。共聘用了四名专家,生成了总共658个多项选择题。

  • 实施细节。我们在流程中使用了GPT-4,因为它在执行复杂的多步骤指令时表现出色。我们在涉及大语言模型(LLM)的所有阶段中使用了链式思维(Chain-of-Thought)提示策略,并将温度设置为0.1。

链式思维(Chain-of-Thought)提示策略是一种在使用大语言模型(LLM)时帮助模型分步推理的方法。这种策略通过在生成答案时引导模型逐步思考,模拟人类的逻辑推理过程,从而提高问题解决的准确性和推理能力。链式思维策略要求模型在回答问题时,不是直接给出最终的答案,而是逐步展示推理过程,并通过多个推理步骤得出结论。

例子:

假设问题是:“如果你有10个苹果,给了你朋友3个,你还剩下多少个苹果?”

  • 普通回答:直接回答“剩下7个苹果”。
  • 链式思维回答
    1. 你有10个苹果。
    2. 你给了朋友3个苹果。
    3. 10减去3等于7。
    4. 所以你剩下7个苹果。

温度(temperature)是一个控制生成文本随机性的参数。简单来说,温度的设置会影响模型生成内容时的多样性创造性

温度的作用:

  • 低温度(例如0.1):生成的文本更加确定一致,模型倾向于选择最有可能的词汇或句子结构。这意味着回答会更为精确,但多样性较低,在回答中出现重复的内容的可能性较大。
  • 高温度(例如0.7到1.0):生成的文本会更加多样创新,模型在选择词汇时会更加随机,从而生成更为多样化、富有创造性的回答,但可能会增加不太准确或不一致的内容。

2.3 数据集统计(HourVideo Statistics)

HourVideo由来自Ego4D数据集的500个视频组成,涵盖了77种日常生活场景,如烹饪、清洁、吃饭、看电视、烘焙等。该数据集包含了381小时的视频内容,视频时长范围从20分钟到120分钟不等。平均而言,每个视频大约为45.7分钟,是之前在长视频语言理解领域工作的15倍。此外,数据集中有113个视频时长超过1小时。每个视频平均配有26个高质量的五选一多项选择题,总计数据集中的问题数量为12,976个。最后,数据集中所有任务的多项选择题分布均匀,除了因果推理、反事实推理和导航任务,并且这些任务的题目是针对特定视频组由人工生成的。

在这里插入图片描述

1:HourVideo包含了来自Ego4D数据集的500个视频,涵盖了77种日常场景。条形图显示了排名前20的场景。
2:报告了每个任务/子任务中的多项选择题数量。HourVideo总共有12,976个问题。
3:展示了HourVideo中视频时长的分布。HourVideo中视频的平均时长为45.7分钟,其中有113个视频时长超过一小时。
4:展示了每个视频中多项选择题数量的分布。平均而言,每个视频包含26个多项选择题。

3 Experiments

3.1 评估协议(Evaluation Protocol)

评估指标:

HourVideo包含五选一的多项选择题,以准确率作为评估指标,分别报告每个任务以及整个数据集的准确率。

评估方法:

在评估长视频时的MCQ时,容易出现信息泄露的问题。信息泄漏指的是,一个问题的答案可能会受到其他问题的提示或内容的影响。例如,某个问题的答案可能在视频中被给出,而该答案又恰好在后续的某个问题中被使用或提示。故在理想情况下,每个MCQ应独立评估,但这种方法计算成本巨高,且十分耗时。

实际评估中按任务或子任务对问题进行分批评估。在评估多项选择题(MCQ)时,评估是分批进行的,而且每个批次包含与某个特定任务或子任务相关的所有问题。例如,如果任务是“感知”和“空间推理”,那么所有与感知相关的问题会被放在一个批次中,所有与空间推理相关的问题会被放在另一个批次中。

对于一些预测性任务,评估时需要更加精确地控制视频的时间段,提供精确的时间戳来确保问题的评估是针对性的。这样,视频的特定部分会被裁剪出来,只用于评估这些问题。

3.2 基线(Baselines)

在本节中,比较了不同的多模态模型在零拍摄设置下理解长视频的性能。具体地说,我们评估了三类模型:(1)盲LLMs,(2)苏格拉底模型,和(3)原生多模态模型。

所有这些模型都在一个公共函数 A = M ( V , τ , Q ) A = M(V,τ,Q) A=M(VτQ)下操作,其中:

  • A A A是文本输出
  • M M M多模态模型
  • V V V是长视频输入
  • τ τ τ是提示(prompt)
  • Q Q Q是多项选择题

盲LLMs:

指是指在评估过程中,不考虑视频内容,仅依靠自身预先训练的知识来回答问题的大型语言模型。

实验中以GPT-4为代表。它的存在可以揭示模型在多大程度上依赖于其预训练知识,而不是对视频中实际视觉信息的理解。

公共函数为 A = M ( τ , Q ) A = M(τ, Q) A=M(τ,Q)

苏格拉底模型:

对于当前大多数多模态模型,直接处理非常长的视频是非常困难的。因此,采用Socratic模型方法。

1.视频分割

将视频分割为一分钟的片段。假设视频总时长为t分钟,那么每个视频片段V[i]表示视频的第i分钟(例如,V[1]是第1分钟的视频片段,V[2]是第2分钟的视频片段,以此类推)。

2.视频字幕生成

对每个一分钟的视频片段V[i],使用一个视频字幕生成模型(Video-Captioner) 来生成描述该片段内容的文本字幕。比如,Video-Captioner(V[i])会输出字幕zi,其中zi表示视频片段V[i]的描述。

3.字幕聚合

所有生成的字幕z1, z2, ..., zt(每个字幕对应一个视频片段)会被聚合成一个全面的语言表示,称为世界状态历史(world state history),这个表示包括了时间戳,反映了视频的整体内容。

4.输入格式化

聚合后的世界状态历史与一个任务无关的通用提示(τ) 结合,作为问答模型的输入。最终的输入格式是:A = M([τ, z1, z2, ..., zt, Q]),其中:

  • τ τ τ是一个通用的、与任务无关的提示,帮助模型理解问题。
  • z 1 , z 2 , . . . , z t z1, z2, ..., zt z1,z2,...,zt是每个视频片段生成的字幕,构成了对视频内容的完整描述。
  • Q Q Q是具体的提问,模型将根据这些输入来回答问题。
  • A A A是文本的输出
  • M M M是给定的模型

5.视频片段采样与分辨率

视频片段以0.5帧每秒(fps)的采样率512×384的分辨率进行提取,这样可以在保证视频质量的同时减少计算量,确保处理效率。

6.模型选择

使用了GPT-4LLaVA-NeXT-34B-DPO两种模型作为视频字幕生成器。由于LLaVA-NeXT-34B-DPO无法处理所需的较长上下文长度,因此我们选择了GPT-4来执行实际的问答任务

本地多模态模型:

Gemini 1.5 Pro是在包括音频、视频、图像和文本等多模态数据上联合训练的。这些模型特别擅长处理非常长的上下文长度,使其非常适合使用我们的基准进行端到端评估。评估这些模型是直接的,因为它们可以直接处理一小时长的视频,形式为: A = M ( V , τ , Q ) A = M(V, τ, Q) A=M(V,τ,Q)。在所有实验中,我们使用0.5帧每秒的采样率,分辨率为512×384,温度设置为0.1。

端到端评估:直接处理输入的多模态数据,无需依赖额外的预处理步骤或后处理步骤,最终输出处理结果

人工评估性能:

由于人工评估的高成本,我们从基准(数据集)中抽取了14个视频,总共涵盖了18个以上的场景,包括手工艺/绘画、烹饪、建筑/翻新、园艺、清洁/洗衣和庭院工作。我们请三位人工专家对11.2小时的视频内容进行评估,总计评估了213个多项选择题(MCQs)。为了防止评估过程中出现污染,我们确保参与评估的人工专家没有参与过早期阶段(第3和第5阶段,参见第2节)的标注工作。这些人工专家的准确率为85.0%

3.3 Results

在这里插入图片描述

上图为盲LLMs(GPT-4)、使用GPT-4和LLaVA-NeXT-34B-DPO视频字幕的苏格拉底模型,以及Gemini 1.5 Pro的结果。Gemini 1.5 Pro在所有任务中(18个子任务中的14个)的表现均显著优于盲LLMs和苏格拉底模型。

盲LLMs与苏格拉底模型。整体而言,盲LLMs的准确率达到了19.6%,表明我们的基准需要访问视频内容以实现有效性能。比较盲LLMs和苏格拉底模型,两种苏格拉底模型的变体均比盲目LLMs表现略好。值得注意的是,基于GPT-4的苏格拉底模型方法在摘要任务中表现明显更好(41.1%) ,而盲LLMs(24.4%)和LLaVA-NeXT-34B-DPO(34.6%)表现稍逊。

在这里插入图片描述

图4:不同多模态基础模型在HourVideo上的任务/子任务比较

我们包括了人工专家在以下任务中的表现:总结任务(83.3%)、感知任务(82.3%)、视觉推理任务(83.3%)和导航任务(86.7%)。可以观察到,当前的多模态模型在长视频语言理解能力上明显不足。

Socratic模型 vs. 本地多模态模型
Gemini 1.5 Pro 在所有四个任务——总结、感知、视觉推理和导航——上均显著超越了Socratic模型,这表明类似的模型可能是长视频语言理解的有前景的方向。总体来说,Gemini 1.5 Pro 比基于GPT-4的Socratic模型高出 11.6% 的表现。尽管取得了这些显著的进步,但值得注意的是,Gemini 1.5 Pro 的表现为 37.3%,仍然明显落后于人工专家的 85.0% 的准确率

独立评估 vs. 任务级多项选择题评估

为了验证我们提出的任务/子任务级评估方法的有效性,我们进行了一项消融研究,其中每个多项选择题(MCQ)都被独立评估。为此,我们使用了15.9小时的视频和570个MCQ,这些问题来自25个随机选择的视频。我们使用了Gemini 1.5 Pro,它在HourVideo上表现最佳(37.3%)。结果和评估成本如表3所示。在独立评估每个MCQ时,性能有轻微下降(2.1%);然而,相关的成本却增加了三倍以上。这些结果凸显了我们提出的任务级/子任务级评估方法的效率有效性。在提交基准测试结果时,我们将要求提交者注明是否使用了任务级评估或独立MCQ评估,以便提高方法间的透明度可比性

在这里插入图片描述

表3:我们提出的任务/子任务级评估与独立MCQ评估的性能和评估成本比较

Token 是文本处理的基本单元,在不同的上下文中,它可以是单个单词、子词、或字符。

这个表格展示了任务级评估(Task-level evaluation)独立评估(Individual MCQ evaluation) 的性能、总 token 数量和评估成本之间的对比。

  • Performance(性能):表示在各自评估方法下,模型的准确率。

  • Total Tokens(总 tokens 数量):表示处理评估时所涉及的文本量,以 tokens 为单位。这里的tokens是模型处理文本的基本单位,可以理解为输入数据的大小。

  • Evaluation Cost(评估成本):指进行评估所需的计算成本,通常涉及时间和计算资源的消耗。成本较高意味着需要更多的计算资源(如更长的处理时间、更大的计算能力)。

4.Conclusion

我们介绍了HourVideo,一个新颖的基准数据集,旨在严格评估多模态模型理解一小时长视频的能力。我们的数据集包含一套新的任务集合,涵盖了总结、感知(回忆、追踪)、视觉推理(空间、时间、预测、因果、反事实)和导航(房间到房间、物体检索)任务。该基准包含来自Ego4D数据集的500个自我中心视频,时长从20分钟到120分钟不等,且包含12,976个高质量的五选一多项选择题。我们在HourVideo上的零样本评估显示,像GPT-4V和LLaVA-NeXT这样的多模态模型的表现仅略优于随机猜测。与此形成鲜明对比的是,人类专家的表现大大超过了最先进的长文本多模态模型Gemini 1.5 Pro(85.0%的准确率对比37.3%),突显了显著的研究差距。我们的目标是将HourVideo确立为基准挑战,推动开发能够真正理解源源不断的视觉数据流的先进多模态模型。

局限性与未来工作
尽管我们为创建高质量的基准数据集付出了大量努力,但多项选择题中仍可能存在一些不一致之处。此外,尽管这是目前已知的最大规模的长视频语言理解基准数据集,我们仍然承认需要更多全面的基准测试,涵盖多样化的视频来源,如体育视频和YouTube视频。最后,我们注意到,加入对音频模态的支持对于更全面地评估多模态模型至关重要。我们还指出,我们的世界不仅仅局限于视觉和听觉刺激,还包括其他感官模态(例如触觉),这为未来工作中探索这些额外模态提供了机会。


http://www.ppmy.cn/ops/143706.html

相关文章

Could not connect to SMTP host: smtp.163.com, port: 465, response: -1

Could not connect to SMTP host: smtp.163.com, port: 465, response: -1 1、背景2、解决 1、背景 记录一次非常奇怪的问题。 项目中有一个定时发送邮件的功能;在一个风和丽日的早上,业务咔咔一顿消息,邮件怎么不发了。 额、、、 更奇怪的是…

Arcgis for javascript 开发学习经验

初始化viewer: 提示:这里简述项目相关背景: const mapBaseLayer new WebTileLayer({urlTemplate: SystemConfig.dydImgUrl,visible: true,id: DYDImage,});//地图初始化mapconst map new Map({basemap: satellite,ground: world-elevatio…

华为HCIP认证培训多少天?

华为 HCIP 认证,对于那些已经有一定网络技能和经验的人来说,这可是个很权威的认证! 它不单单是对个人网络技能和知识的肯定,更是让职业竞争力增强的重要一步呢。要是想顺顺利利拿到这个认证,除了要找一家靠得住又专业…

【数据分析】数据分析流程优化:从数据采集到可视化的全面指南

目录 引言一、数据采集:高质量数据的起点1.1 数据采集的目标1.2 数据采集的常用方法1.3 数据采集的注意事项 二、数据清洗:确保数据质量2.1 数据清洗的重要性2.2 常见的数据清洗步骤 三、数据分析:从数据中挖掘有价值的洞察3.1 数据分析的目的…

.Net Core注册一个定制任务执行类服务

如果我们想要在Web Api服务中创建一个定制任务后台一直刷新执行某些操作&#xff0c;那么我们可以继承abstract抽象类HostedService&#xff0c;具体操作如下&#xff1a; BackgroundService.cs源代码&#xff0c;这个源代码我可以自己写一个也可以直接继承。 /// <summar…

缓存与数据库双写不一致问题的深度剖析与解决方案

在分布式系统中&#xff0c;缓存与数据库双写不一致问题是一个常见且棘手的问题。当我们同时对缓存和数据库进行写入操作时&#xff0c;由于操作的顺序、时间差异、网络延迟等多种因素&#xff0c;可能导致缓存中的数据与数据库中的数据不一致。这种不一致性不仅会影响数据的准…

浅谈单例模式

1.什么是单例模式 单例模式是设计模式的一种&#xff0c;那什么是设计模式呢&#xff1f; 欸问得好&#xff0c;设计模式就是对常见的业务场景总结出来的处理方法&#xff0c;相当于一种“套路”&#xff0c;类似于打王者时候&#xff0c;跟这个英雄对线用连招213比较好&#…

开启数字化时代心理服务新篇章:专属线上心理咨询服务小程序

在当今快节奏的社会中&#xff0c;心理健康问题日益受到人们的关注。然而&#xff0c;传统的心理咨询模式往往受限于时间和地点&#xff0c;使得许多人在寻求心理帮助时感到不便。与此同时&#xff0c;心理课程的传播也面临着诸多挑战&#xff0c;如何高效地触达目标客户群体&a…