Video-RAG:一种将视频RAG新框架

1. 摘要及主要贡献点

摘要:

检索增强生成(RAG)是一种强大的策略,通过检索与查询相关的外部知识并将其整合到生成过程中,以解决基础模型生成事实性错误输出的问题。然而,现有的RAG方法主要集中于文本信息,尽管最近的一些进展开始考虑图像,但它们大多忽略了视频这一丰富的信息来源。视频能够比任何其他模态更有效地表示事件、过程和上下文细节。尽管一些最近的研究探讨了在生成过程中整合视频内容,但它们要么预先定义与查询相关的视频而不根据查询检索它们,要么将视频转换为文本描述而没有利用其多模态丰富性。为了解决这些问题,我们提出了VideoRAG,这是一种新颖的框架,它不仅根据查询动态检索相关视频,还利用视频的视觉和文本信息进行输出生成。此外,为了实现这一目标,我们的方法围绕最近的大型视频语言模型(LVLMs)的进步展开,这些模型能够直接处理视频内容,以表示其用于检索并与查询无缝整合。我们通过实验验证了VideoRAG的有效性,展示了其优于相关基线模型。

主要贡献点:
  1. 提出VideoRAG框架:首次将视频作为外部知识来源引入RAG系统,实现了动态检索与查询相关的视频,并利用视频的视觉和文本信息进行生成。
  2. 利用LVLMs的优势:通过利用大型视频语言模型(LVLMs),实现了对视频内容的直接处理,捕捉其多模态丰富性。
  3. 解决视频文本描述缺失问题:提出了一种利用自动语音识别技术生成视频文本描述的策略,即使在缺乏显式文本注释的情况下也能利用视觉和文本模态。
  4. 实验验证:通过实验验证了VideoRAG框架的有效性,展示了其在信息检索问答任务中优于现有RAG基线模型。

2. 引言和相关工作凝练总结

引言:

近年来,大型基础模型(如大型语言模型LLMs和大型视觉语言模型VLMs)在处理各种任务中表现出色。然而,这些模型仍然存在生成事实性错误(幻觉)的问题,因为它们的参数化知识可能不准确、不完整或过时。为了缓解这一问题,检索增强生成(RAG)作为一种重要的解决方案应运而生。RAG通过从外部知识源检索与查询相关的信息,并基于检索到的信息生成答案来增强基础模型的输出能力。现有的RAG方法主要集中于文本内容,而视频作为一种多模态知识来源,尚未得到充分利用。

相关工作:

现有的RAG方法主要集中于文本和静态图像,而视频作为一种包含时间动态性、空间细节和多模态线索的丰富信息来源,尚未得到充分利用。一些研究尝试将视频整合到生成过程中,但存在以下局限性:

  1. 预定义视频:假设与查询相关的视频是已知的,而不是根据查询动态检索。
  2. 文本转换:将视频转换为文本描述(如字幕或字幕),但这会丢失视频的多模态丰富性。

3. 主要贡献章节

2. 方法

在本节中,我们介绍VideoRAG,它通过利用视频语料库作为外部知识来源,扩展了现有的RAG范式。

视频检索

要在视频语料库上实现RAG,首先需要实现视频检索,其目标是识别与查询相关的视频 KaTeX parse error: Undefined control sequence: \hdots at position 36: …t\{V_{1},V_{2},\̲h̲d̲o̲t̲s̲,V_{k}\right\},这些视频来自包含大量视频的外部语料库 C \mathcal{C} C,可以形式化如下:V = Retriever ( q , C ) (\pmb{q},\mathcal{C}) (q,C)。回想一下,如第2.1节所述,此检索过程涉及计算查询 q \pmb q q 与每个知识元素(在本例中为视频 V V V)之间的相似性,以确定它们的相关性。为了实现这一点,我们首先将视频 V V V(由图像帧和可用的字幕组成)以及查询 q \pmb q q(没有视觉信息)输入到LVLM中,以获得它们的表示 f q u e r y \mathbf{\mathcal{f}}_{\mathsf{q u e r y}} fquery 和 fvideo。之后,基于它们的表示级相似性计算相关性,例如,使用余弦相似性,然后检索相似性得分最高的前 k {\boldsymbol{k}} k 个视频以用于后续的答案生成步骤。

视频增强的响应生成

在检索到与查询相关的视频之后,下一步是将检索到的视频整合到答案生成过程中,以便在视频的基础上制定答案。为了实现这一点,我们首先将每个检索到的视频的帧与其相关的文本数据(例如,字幕)连接起来,然后将所有检索到的视频的多模态对连接起来,最后附加用户查询,以构建LVLM的输入,表示如下: [ V 1 , t 1 , … , V k , t k , q ] [V_{1},t_{1},\ldots,V_{k},t_{k},q] [V1,t1,,Vk,tk,q]。然后,将此输入输入到LVLM中,它能够联合处理组合的视觉、文本和查询特定的信息,以生成考虑其多模态丰富性的响应。

2.3 辅助文本生成

在检索和生成步骤中,包含视频相关的文本数据(例如,字幕)可以在增强视频表示方面发挥至关重要的作用,因为它提供了补充视觉内容的额外上下文和语义线索。然而,并非语料库中的每个视频都带有字幕,因为它们需要额外的注释。因此,对于这样的视频,我们建议通过从视频中提取音频并使用现成的自动语音识别技术将其转换为文本,来生成辅助文本数据。形式上,给定一个视频 V V V,这个过程可以形式化如下: t a u x = A u d i o T o T e x t ( A u d i o ( v ) ) t_{\mathsf{a u x}}\,=\,\mathsf{A u d i o T o T e x t}\bigl(\mathsf{A u d i o}(v)\bigr) taux=AudioToText(Audio(v)),其中 Audio ( V ) (V) (V) 从视频中提取音频轨道,AudioToText 将提取的音频信号转换为文本内容。因此,对于那些没有字幕的视频,辅助文本 t a u x \pmb{t}_{\mathsf{a u x}} taux 在检索和生成步骤中代替 t \pmb{t} t 使用。

4. 实验设置、结果和结论

3. 实验设置

在本节中,我们描述了数据集、模型、评估指标和实现细节。

3.1 数据集

为了评估我们的VideoRAG在信息检索问答任务中的表现(这是一个特别适合且广泛用于验证RAG方法的任务),我们使用了具有广泛视频语料库和具有不同主题的问答对的可用资源。具体来说,我们采用WikiHowQA数据(BolotovaBaranova等人,2023年)作为查询和答案的来源,因为它提供了从WikiHow网页提取的各种教学问题,并附有手写的、逐步的过程,以确保高质量的真相。此外,对于外部视频语料库,我们利用了HowTo100M数据集(Miech等人,2019年),这是一个从YouTube获取的综合教学视频集合,它还与WikiHow的查询相关联,基于它们的搜索结果,因此,为我们的VideoRAG任务提供了一个有用的资源。

3.2 模型

基线模型 我们评估了VideoRAG与以下四个不同基线模型的性能:

  1. NAIVE - 直接使用输入查询生成答案,不使用任何额外上下文。
  2. TEXTRAG (BM25) - 这是一个基于文本的RAG模型,使用BM25(Robertson等人,1994年)(一种基于词汇匹配的稀疏检索器)根据查询的相关性对文档(来自维基百科)进行检索,并基于检索到的内容生成答案。
  3. TEXTRAG (DPR) - 这是一个与TEXTRAG (BM25)类似的基于文本的RAG基线,但它使用DPR(Karpukhin等人,2020年)(一种广泛使用的密集检索器)进行检索。
  4. TEXTVIDEORAG - 这遵循了之前的基于视频的RAG方法(Arefeen等人,2024年;Zhang等人,2024b),首先将视频表示为其文本描述(例如,字幕或文字记录),然后仅利用这些文本信息进行检索和生成。

VideoRAG 我们介绍了并验证了所提出的VideoRAG框架的三个变体,每个变体采用相同的视频检索方法,但在答案生成过程中检索到的视频的整合方式上有所不同。具体来说,第一个变体,VIDEORAG-T,仅将检索到的视频的文本记录(或辅助文本数据)作为答案生成的上下文整合进来。同时,第二个变体,VIDEORAG-V,仅利用视频帧作为上下文,为响应提供视觉基础。最后,VIDEORAG-VT联合利用视频帧和文本记录进行生成。此外,为了进一步估计性能提升的空间,我们包括了VIDEORAG的oracle版本,它直接使用在HowTo100M中预先与查询关联的地面真相视频,而不是使用检索结果。

3.3 评估指标

为了全面评估不同模型的性能,我们使用了以下多种指标:

  1. ROUGE-L 衡量生成答案与地面真相之间的最长公共子序列(Lin,2004年)。
  2. BLEU-4 计算生成答案与参考答案之间n-gram(最多4-gram)的重叠度(Papineni等人,2002年)。
  3. BERTScore 旨在考虑生成答案与参考答案之间的语义对齐(Zhang等人,2020年),通过从预训练的BERT模型中提取它们的上下文嵌入,然后计算它们的表示相似性。
  4. GEval 利用LLMs的评估能力来评估生成答案的质量(Liu等人,2023年),为此,我们提示LLM将生成答案与参考答案进行比较,并在5点李克特量表上进行评分。
表1:跨四个指标的总体RAG结果。最佳结果以粗体突出显示,第二佳结果以下划线突出显示。请注意,使用理想检索结果的Oracle设置与其他设置不可比。
方法ROUGE-LBLEU-4BERTScoreG-Eval
基线NAIVE0.1410.0140.8341.579
TEXTRAG(BM25)0.1720.0320.8471.633
TEXTRAG(DPR)0.1660.0220.8461.591
TEXTVIDEORAG0.2280.0440.8701.979
我们的方法VIDEORAG-T0.2240.0430.8682.001
VIDEORAG-V0.2540.0540.8812.161
VIDEORAG-VT0.2520.0540.8802.104
OracleVIDEORAG-V0.2620.0550.8842.225
3.4 实现细节

值得注意的是,有各种LVLMs可供使用,每个模型都有不同的优点,具体取决于任务要求:对于检索,文本和视频特征(从其专用编码器获得)之间的精确对齐对于确保检索到的视频与查询在上下文上相关至关重要,而生成则受益于具有高级功能的LVLMs,以准确制定响应并将其与检索到的内容结合起来。为了实现这一点,对于检索,我们使用InternVideo2(Wang等人,2024c),因为它专门训练用于对齐视频和其文本描述之间的语义。具体来说,我们使用其视频和文本编码器分别提取视频和文本的嵌入。另一方面,对于视频增强的答案生成,我们使用LLaVA-Video-7B(Zhang等人,2024c),它以在视频理解和相关任务上实现最先进的性能而闻名。为了提高效率,我们统一对每个视频采样4帧用于检索,而对于生成,我们采样32帧(如果视频短于32秒,则采样所有帧,采样率为1 fps)。在辅助文本生成中,为了从视频中提取文本内容,我们使用Whisper(Radford等人,2023)。

4. 实验结果和分析

我们现在介绍结果和各种分析,展示所提出的VideoRAG的有效性。

4.1 主要结果

我们在表1中提供了主要结果,展示了在检索到的知识类型不同的情况下,不同模型的性能。首先,我们观察到,所有利用外部知识的RAG模型都明显优于NAIVE基线,这再次肯定了外部知识在提高生成响应的实际准确性方面的关键作用。此外,在这些模型中,我们的VIDEORAG实现了最高性能,显著超过了现有的文本RAG基线。这种改进证实了我们的假设,即视频内容可能是RAG的有用资源,因为它提供了比文本资源更丰富、更详细的信息。

表2:使用不同视频集生成的结果,例如Random随机采样视频,Retrieved根据查询的相关性选择视频,Oracle使用数据中注释的地面真相视频。

VideoSetROUGE-LBLEU-4BERTScore
Random0.2430.0500.878
Retrieved0.2540.0540.881
Oracle0.2620.0550.884

然后,人们可能会问,所提出的VideoRAG框架的性能提升是否来自于对额外模态(例如,视频帧)的考虑,而不是检索到的知识中的实际内容。为了调查这一点,我们比较了TEXTVIDEORAG和VIDEORAG-T,它们利用视频的文本表示(没有视觉模态),与使用百科全书知识库中的文本(即维基百科)作为知识源的TEXTRAG进行比较。如表1所示,我们发现VIDEORAG-T和TEXTVIDEORAG相对于TEXTRAG的性能提升表明,即使我们仅使用视频的文本表示,视频中嵌入的内容也被证明比一般的百科全书知识更能提高响应质量。此外,尽管TEXTVIDEORAG和VIDEORAG-T的性能优于基线,但它们被我们VideoRAG的其他变体所超越,这些变体直接将视觉特征整合到答案生成过程中。这一结果进一步突出了视觉信息在性能中的关键作用。最后,VIDEORAG-V与VIDEORAG-VT之间的性能差距较小,这表明生成答案所需的大部分必要信息有效地包含在视频帧的视觉特征中,这些特征本质上包括通过文本描述传达的信息。

表3:检索结果,我们使用视觉特征单独、文本特征单独或它们的特征组合。


图2:文本和视觉特征之间的插值比率对检索性能的影响。
图3:通过主成分分析(PCA)对跨模态特征的潜在空间进行可视化。


图4:不同模型在不同10个类别上的细分性能。

4.2 视频检索

视频检索的影响 我们假设检索到的视频的质量是RAG成功的关键因素,因为它可以直接影响后续的答案生成过程。为了确认这一点,我们比较了VideoRAG在不同视频(包括随机选择的视频和与查询相关的检索视频)上的性能,用于增强答案生成步骤。如表2所示,我们观察到,与随机选择的视频相比,整合与查询相关的视频可以显著提高答案的质量,这证明了检索质量的重要性。此外,Oracle设置,代表一个理想场景,具有完全相关的视频检索,实现了最高性能,这突出了通过改进我们VideoRAG中的视频检索机制进一步提升的潜力。

文本和视觉特征的有效性 在执行视频检索时,不同模态(例如,文本特征、视觉特征或两者的组合)贡献多少对视频表示的有效性是值得质疑的,我们在表3中报告了使用不同模态的检索结果。由此,我们观察到,文本特征始终优于视觉特征,这可能是由于它们与文本用户查询更强的语义对齐。为了进一步研究这一点,我们在图3中可视化了视频内容的文本和视觉特征的嵌入以及查询在潜在空间中的嵌入,它清楚地揭示了文本查询嵌入与文本视频表示之间的更近距离,而与视觉视频表示相比。换句话说,视觉特征相对于基于文本的查询表现出模态差距(如它们更大的距离所反映的),导致检索性能不佳。然而,结合文本和视觉特征实现了最高性能,这证明了两种模态在视频表示中的互补性。

特征组合分析 为了更好地理解文本和视觉特征在视频检索中的贡献,我们分析了它们的不同组合比率(α)如何影响不同指标的性能。如图2所示,我们发现平衡文本和视觉特征的最佳比率约为0.5到0.7(根据特定指标有边际变化:0.7用于R@1和R@5;0.5用于R@10)。这些结果进一步突出了文本和视觉特征在视频表示中的互补贡献,而对文本特征的轻微强调可能更可取,因为在图3中观察到的模态差距。最后,基于这一分析,我们选择α=0.7进行我们的实验。

4.3 分析与讨论

类别性能分析 为了评估我们的VideoRAG在处理不同查询类型方面的稳健性,我们将模型性能分解到10个不同的类别(标注在WikiHow中)。然后,如图4所示,所提出的VideoRAG家族(如VIDEORAG-T和VIDEORAG-V)在所有类别中均优于所有其他基线,这突出了其处理广泛查询的能力。同时,值得注意的是,VIDEORAG-V在食品与娱乐类别中表现出显著的性能提升,这是特别合理的,因为该类别的查询通常从视觉细节中获益匪浅,例如,查询:“如何制作健康的菠菜和大蒜菜肴”需要食材准备或烹饪技术,这些仅通过文本是无法有效传达的。因此,这一类别的结果重新肯定了利用视频内容作为RAG外部知识的重要性。

消融研究 为了分析不同知识来源对性能的影响,我们进行了消融研究,并将结果呈现在表5中。然后,我们发现,虽然整合外部知识(无论是来自文本百科全书来源还是视频语料库)始终比NAIVE基线有所改善,但联合使用视频与一般文本文档的方法略微降低了性能。这表明,从百科全书知识库中检索的文本内容可能会引入冗余或不相关的细节,这些细节可能与视频内容提供的信息重叠或矛盾,从而削弱了VideoRAG框架的有效性。

定性结果 现在我们通过案例研究定性分析VideoRAG的有效性,查询为:“解释如何在汽车仪表盘上烤饼干”。如表4所示,NAIVE基线仅依赖于其参数化知识,生成一个通用的响应,强调这种方法的不切实际性和安全问题,而没有提供解决查询所需的逐步指导。这表明了参数化知识的局限性,当需要特定和不常见的信息时尤其不足。相比之下,VIDEORAG

5. 相关工作

检索增强生成 RAG是一种结合检索和生成过程的策略,通过将答案建立在相关的外部知识上来产生准确的答案(Lewis等人,2020年;Ram等人,2023年;Zhao等人,2024年)。具体来说,在检索步骤中,通过计算查询与文档的相似度,从大型语料库中选择与查询相关的文档,这可以通过使用基于词汇重叠的稀疏方法(Robertson等人,1994年;Jones,2004年)或利用语义表示的密集方法(Karpukhin等人,2020年;Izacard等人,2022年)来完成。在随后的生成步骤中,这些检索到的文档作为输入,用于生成基于所提供信息的答案,生成过程(以及检索)根据具体工作有所不同(Jiang等人,2023年;Asai等人,2024年;Hwang等人,2024年;Cheng等人,2024年),例如,纳入迭代检索生成循环(Trivedi等人,2023年)或根据查询复杂性调整不同的RAG策略(Jeong等人,2024a年)。然而,尽管现实世界中的知识本质上是多模态的(Lee等人,2024年;Jeong等人,2024b年;Faysse等人,2024年),目前的大多数RAG研究主要集中在文本模态上,几乎没有努力整合图像,这使得在利用可用知识的全部光谱以实现RAG的全面操作方面留下了显著的差距。

多模态RAG 最近,人们对扩展RAG系统以整合多模态信息(超越文本文档),如图像(Chen等人,2022年;Lin和Byrne,2022年;Riedler和Langer,2024年;Yu等人,2024年)、代码(Guo等人,2024年)、表格(Pan等人,2022年;Biswal等人,2024年)和音频(Yuan等人,2024年),产生了越来越大的兴趣。然而,与它们相比,视频为推进RAG系统提供了独特而独特的有利条件,因为它们以其他模态无法比拟的方式封装了时间动态性、空间细节和多模态线索。受此启发,一些非常新的研究已经开始探索在RAG管道中使用视频内容;然而,尽管有这些努力,现有的方法以次优的方式利用视频数据的不同优势。具体来说,一些研究关注从预选视频中提取与查询相关的帧,并基于这些帧生成答案,这在受控场景中可能是有用的,但它限制了在开放域设置中的实际适用性(Luo等人,2024年;Ma等人,2024年)。此外,其他方法试图通过将视频转换为文本表示(如字幕或字幕)来规避处理视频数据的复杂性;然而,虽然它可以直接应用于现有的基于文本的RAG框架,但它牺牲了嵌入在视频中的多模态丰富性(如时间动态性和空间模式)(Arefeen等人,2024年;Zhang等人,2024b年;Ma等人,2024年)。为了解决这些挑战,我们提出了VideoRAG,它能够动态检索并全面利用视频内容进行RAG,由下面讨论的LVLMs提供支持。

大型视频语言模型 基于LLMs在语言理解和生成方面的显著成功以及它们能够封装大量知识的能力(OpenAI,2023年;Anil等人,2023年;Dubey等人,2024年),人们对将它们扩展到涵盖多种模态(如图像(Lin等人,2024年;Bordes等人,2024年;Zhu和Zhang,2025年)和代码(DeepSeek-AI等人,2024年;Hui等人,2024年))产生了越来越大的兴趣。此外,这种扩展最近扩展到了另一种模态,称为视频,导致了能够直接处理视频内容的LVLMs的出现。特别是,这些模型擅长解决传统上具有挑战性(但直接的)任务,如物体或动作检测(Tang等人,2023年),并且它们的能力已经迅速提升,使它们能够处理更复杂的任务,如分析时空动态以预测事件序列,推断视频帧之间的因果关系,以及生成对复杂场景的上下文感知描述(Wang等人,2024a年;Maaz等人,2024年;Zhang等人,2024a年;He等人,2024年;Wang等人,2024b年),即使在没有额外训练的情况下也能进行零样本设置(Chen等人,2024年;Kim等人,2024年)。然而,尽管有这些进展,它们的潜力尚未在RAG的背景下探索;因此,在这项工作中,我们旨在通过提出VideoRAG来弥补这一差距。

6. 结论

在这项工作中,我们介绍了VideoRAG,这是一个新颖的框架,它通过利用视频语料库作为外部知识来源,扩展了当前RAG系统的格局。具体来说,与使用视频的文本表示或假设存在与查询相关的视频而不进行检索的现有工作不同,所提出的VideoRAG根据查询的相关性检索视频,但也将它们的多模态丰富性(包括视觉和文本元素)整合到RAG管道中,通过利用LVLMs的能力。此外,通过全面的分析,我们展示了如何通过包含视觉或文本特征或两者的组合来提高检索和生成性能,并受到文本特征(对于检索质量)的重要性的启发,

但在一些视频中缺少它们,我们提出了一个简单但有效的缓解策略,即使用自动语音识别生成文本记录。总体而言,实验结果验证了我们的VideoRAG优于现有的RAG方法,我们相信它朝着能够利用视频的全面RAG系统迈出了重要一步。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker Load后存储的镜像及更改镜像存储目录的方法

Docker Load后存储的镜像及更改镜像存储目录的方法 Docker Load后存储的镜像更改镜像存储目录的方法脚本说明注意事项Docker作为一种开源的应用容器引擎,已经广泛应用于软件开发、测试和生产环境中。通过Docker,开发者可以将应用打包成镜像,轻松地进行分发和运行。而在某些场…

【零基础入门unity游戏开发——unity通用篇37】鼠标指针(光标)修改隐藏锁定(基于unity6开发介绍)

考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的…

亲测解决Latex File ended while scanning use of \@@BOOKMARK

这个问题只要删除了.tex后缀文件外的其他同名文件,再次编译即可。 环境 Win11 MikTex 问题原因 编译的时候用了好几种编译器,然后编译出现了错误。生成了不能使用的引用。 解决方法 删除.tex后缀文件外的其他同名文件后,再次编译。 笔…

Amazon MSK 开启 Public 访问 SASL 配置的方法

1. 开启 MSK Public 1.1 配置 MSK 参数 进入 MSK 控制台页面,点击左侧菜单 Cluster configuration。选择已有配置,或者创建新配置。在配置中添加参数 allow.everyone.if.no.acl.foundfalse修改集群配置,选择到新添加的配置。 1.2 开启 Pu…

Windows FileZila Server共享电脑文件夹 映射21端口外网连接

我有这样一个使用场景,在外部网络环境下,通过手机便捷地读取存储在电脑上的视频文件。比如在外出旅行、出差,身边没有携带电脑,仅依靠手机设备,就能随时获取电脑里存储的各类视频,无论是学习资料视频、工作…

MySQL 实战 4 种将数据同步到ES方案

文章目录 1. 前言2. 数据同步方案 2.1 同步双写2.2 异步双写2.3 定时更新2.4 基于 Binlog 实时同步 3. 数据迁移工具选型 3.1 Canal3.2 阿里云 DTS3.3 Databus3.4 Databus和Canal对比3.4 其它 4. 后记 上周听到公司新同事分享 MySQL 同步数据到 ES 的方案,发现很有…

虚幻基础-1:cpu挑选(14600kf)

能帮到你的话,就给个赞吧 😘 文章目录 ue非常吃cpu拉满主频打开项目编写蓝图运行原因 时间长 关于压力测试 本文以14600kf为例,双12购入,7月份产。 ue非常吃cpu 经本人测试,ue是非常吃cpu的。 拉满主频 无论任何时间…

QTableWidget的简单使用

1.最简单的表格示例&#xff1a; ui->tableWidget->setRowCount(2);// 设置行数ui->tableWidget->setColumnCount(3);// 设置列数&#xff0c;一定要放在设置行表头之前QStringList rowHeaderList;// 行表头rowHeaderList << QStringLiteral("姓名"…

深入探究分布式日志系统 Graylog:架构、部署与优化

文章目录 一、Graylog简介二、Graylog原理架构三、日志系统对比四、Graylog部署传统部署MongoDB部署OS或者ES部署Garylog部署容器化部署 五、配置详情六、优化网络和 REST APIMongoDB 七、升级八、监控九、常见问题及处理 一、Graylog简介 Graylog是一个简单易用、功能较全面的…

2024年我的技术成长之路

2024年我的技术成长之路 大家好&#xff0c;我是小寒。又到年底了&#xff0c;一年过得真快啊&#xff01;趁着这次活动的机会&#xff0c;和大家聊聊我这一年在技术上的收获和踩过的坑。 说实话&#xff0c;今年工作特别忙&#xff0c;写博客的时间比去年少了不少。不过还是…

嵌入式硬件篇---基本组合逻辑电路

文章目录 前言基本逻辑门电路1.与门&#xff08;AND Gate&#xff09;2.或门&#xff08;OR Gate&#xff09;3.非门&#xff08;NOT Gate&#xff09;4.与非门&#xff08;NAND Gate&#xff09;5.或非门&#xff08;NOR Gate&#xff09;6.异或门&#xff08;XOR Gate&#x…

数据库管理-第285期 Oracle 23ai:深入浅出向量索引(20250117)

数据库管理285期 20245-01-17 数据库管理-第285期 Oracle 23ai&#xff1a;深入浅出向量索引&#xff08;20250117&#xff09;1 HNSW事务支持解读 2 IVF分区支持解读 3 混合向量索引何时选择混合向量索引为何选择混合向量索引 总结 数据库管理-第285期 Oracle 23ai&#xff1a…

行人识别检测数据集,yolo格式,PASICAL VOC XML,COCO JSON,darknet等格式的标注都支持,准确识别率可达99.5%

作者简介&#xff1a; 高科&#xff0c;先后在 IBM PlatformComputing从事网格计算&#xff0c;淘米网&#xff0c;网易从事游戏服务器开发&#xff0c;拥有丰富的C&#xff0c;go等语言开发经验&#xff0c;mysql&#xff0c;mongo&#xff0c;redis等数据库&#xff0c;设计模…

【Spring】原型 Bean 被固定

问题描述 在定义 Bean 时&#xff0c;有时候我们会使用原型 Bean&#xff0c;例如定义如下&#xff1a; Service Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class ServiceImpl { }然后我们按照下面的方式去使用它&#xff1a; RestController public class Hello…

2024年美赛C题评委文章及O奖论文解读 | AI工具如何影响数学建模?从评委和O奖论文出发-O奖论文做对了什么?

模型假设仅仅是简单陈述吗&#xff1f;允许AI的使用是否降低了比赛难度&#xff1f;还在依赖机器学习的模型吗&#xff1f;处理题目的方法有哪些&#xff1f;O奖论文的优点在哪里&#xff1f; 本文调研了当年赛题的评委文章和O奖论文&#xff0c;这些问题都会在文章中一一解答…

PyTorch框架——基于深度学习YOLOv8神经网络学生课堂行为检测识别系统

基于YOLOv8深度学习的学生课堂行为检测识别系统&#xff0c;其能识别三种学生课堂行为&#xff1a;names: [举手, 读书, 写字] 具体图片见如下&#xff1a; 第一步&#xff1a;YOLOv8介绍 YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本…

kafka学习笔记6 ACL权限 —— 筑梦之路

在Kafka中&#xff0c;ACL&#xff08;Access Control List&#xff09;是用来控制谁可以访问Kafka资源&#xff08;如主题、消费者组等&#xff09;的权限机制。ACL配置基于Kafka的kafka-acls.sh工具&#xff0c;能够管理对资源的读取、写入等操作权限。 ACL介绍 Kafka的ACL是…

探秘自然地理:从太阳到地球的奇妙之旅与灾害预警

在浩瀚无垠的宇宙中&#xff0c;我们的地球与太阳紧密相连&#xff0c;它们的奥秘和变化&#xff0c;时刻影响着我们的生活。今天&#xff0c;就让我们一同深入探索自然地理的基础知识&#xff0c;揭开太阳与地球的神秘面纱&#xff0c;同时了解那些可能给我们带来巨大影响的自…

领域算法 - 负载均衡算法

负载均衡算法 文章目录 负载均衡算法一&#xff1a;常规负载均衡算法二&#xff1a;Nginx负载均衡算法 一&#xff1a;常规负载均衡算法 二&#xff1a;Nginx负载均衡算法 # 定义负载均衡设备的Ip及设备状态 upstream bakend {ip_hash; server 127.0.0.1:9090 down; server…

Access数据库教案(Excel+VBA+Access数据库SQL Server编程)

文章目录: 一:Access基础知识 1.前言 1.1 基本流程 1.2 基本概念?? 2.使用步骤方法 2.1 表【设计】 2.1.1 表的理论基础 2.1.2 Access建库建表? 2.1.3 表的基本操作 2.2 SQL语句代码【设计】 2.3 窗体【交互】? 2.3.1 多方式创建窗体 2.3.2 窗体常用的控件 …