当前位置: 首页 > news >正文

语音合成之七语音克隆技术突破:从VALL-E到SparkTTS,如何解决音色保真与清晰度的矛盾?

从VALL-E到SparkTTS,如何解决音色保真与清晰度的矛盾?

  • 引言
  • 语音克隆技术发展史
  • YourTTS:深入剖析架构与技术
  • VALL-E:揭秘神经编解码语言模型
  • MaskGCT
  • SparkTTS:利用 LLM 实现高效且可控的语音合成
  • 特征解耦+生成式模型
    • 特征解耦技术实现
    • 生成式模型优化策略
  • 效果对比分析:性能与评估
  • 未来展望:小样本和零样本语音克隆的未来

引言

在这里插入图片描述

语音克隆在娱乐、无障碍辅助、内容创作和个性化应用等领域展现出巨大的潜力 。然而,长久以来,如何才能在精确复制说话者音色的同时,确保合成语音的清晰度和自然度,一直是该领域面临的核心挑战。传统的语音克隆方法往往难以在这两者之间取得理想的平衡 。

小样本和零样本学习技术的出现,为解决这一难题带来了革命性的进展 。这些先进的技术仅需极少量的目标说话人音频数据,甚至在没有任何目标说话人训练数据的情况下,就能实现高质量的语音克隆 。这为克隆那些录音资料匮乏的声音提供了可能 。

本文将深入探讨小样本和零样本语音克隆领域的几项关键突破,重点介绍并分析三种具有代表性的模型:YourTTS、VALL-E 和 SparkTTS。

语音克隆技术发展史

1998 年,加州大学伯克利分校的研究人员发布了首个语音克隆软件 。2010 年,基于深度学习的语音克隆系统进一步推动了该技术的发展 。2016 年,谷歌 DeepMind 推出的 WaveNet 模型是首批由人工智能驱动的新一代语音克隆软件之一,为后来的语音克隆技术奠定了基础 。大约在 2020 年,语音克隆技术首次实现商业化 。

早期的语音克隆系统通常需要大量的目标说话人录音数据 。为了克服这一限制,研究人员开始探索更高效的数据利用方法。2020 年,麻省理工学院的一位研究人员展示了一种数据高效的音频深度伪造生成方法,仅需 15 秒的训练数据 。零样本语音克隆的概念随之出现,旨在仅使用目标说话人的简短音频样本(几秒钟)就能复制其声音 。

YourTTS、VALL-E 和 SparkTTS 等模型正是这一发展趋势下的代表性成果,它们能够在极少数据甚至零数据的情况下,实现高质量的语音克隆 。语音克隆技术的发展历程清晰地表明,研究方向正朝着减少数据依赖性和提高合成语音的自然度和相似度迈进

早期技术的局限性促使人们不断创新,最终催生了如今先进的深度学习和小样本/零样本学习方法。即从“数据驱动”到“特征解耦+生成式模型”,突破传统数据依赖瓶颈。这种演变反映了人工智能领域更广泛的趋势,即开发能够在数据稀疏的情况下有效学习和泛化的模型,这对于许多实际应用至关重要。

YourTTS:深入剖析架构与技术

YourTTS 模型建立在 VITS(Variational Inference for Text-to-Speech)框架之上,并进行了多项创新性的修改,使其具备了多说话人和多语言处理能力 。其核心架构包括一个文本编码器、一个基于流的解码器、一个 HiFi-GAN 声码器以及一个后验编码器 。

与以往的一些工作不同,YourTTS 直接以原始文本作为输入,而非音素,这使得它更适用于那些缺乏高质量字音转换器的低资源语言 。在多语言训练方面,YourTTS 将 4 维可训练的语言嵌入向量连接到每个输入字符的嵌入向量中 。

YourTTS 实现零样本语音克隆和语音转换的关键在于对说话人嵌入向量的使用 。模型利用预训练的说话人编码器提取说话人嵌入向量,从而能够合成训练时未见过说话人的声音 。仅需几秒钟的参考音频,YourTTS 就能提取目标说话人的独特声学特征并生成相应的嵌入向量 。

YourTTS 支持零样本多说话人文本到语音合成和零样本语音转换等任务 。此外,通过微调,仅需约一分钟的音频数据,YourTTS 就能在声音相似度方面取得优异的表现 。

在平衡声音相似度和发音清晰度方面,YourTTS 做出了一些独特的设计选择。例如,直接使用原始文本输入简化了流程,但也可能在发音方面带来一些挑战 。有用户报告称,即使经过大量步骤的训练,YourTTS 仍然可能出现一些发音错误 。

为了提高生成语音的质量,YourTTS 对 VITS 架构进行了修改,例如增加了文本编码器的规模 。模型还采用了说话人一致性损失(SCL),旨在微调过程中提升声音的相似度 。然而,需要注意的是,原始论文中存在一个实现错误,导致 SCL 在部分实验中的效果受到影响 。

YourTTS 的训练过程是一个逐步进行的过程,首先在英语数据集(LJSpeech、VCTK)上进行训练,然后逐步加入葡萄牙语和法语数据集 。在多语言训练中,采用了加权随机抽样以确保每个语言的批次平衡 。

YourTTS 的设计理念在于利用多语言训练的优势,提升模型在零样本多说话人文本到语音合成和语音转换方面的性能,并降低对大量数据的依赖,尤其是在低资源语言的场景下。直接使用原始文本输入是一个重要的设计决策,旨在提高模型的适用性,使其能够处理更广泛的语言,而无需依赖于可能不存在或质量不高的外部音素资源。

VALL-E:揭秘神经编解码语言模型

VALL-E 是一种新颖的 TTS 框架,其核心是一个神经编解码语言模型 。它将 TTS 视为一个条件语言建模任务,使用来自神经音频编解码器(EnCodec)的离散代码作为中间表示,而不是传统的梅尔频谱图 。

VALL-E 的架构包含一个自回归(AR)的仅解码器语言模型和一个非自回归(NAR)的仅解码器语言模型 。该模型基于 Transformer 架构,Transformer 在自然语言处理任务中已被证明非常有效 。

VALL-E 的核心技术包括使用来自 EnCodec 的离散音频代码作为中间表示 。AR 模型预测第一级编解码器代码,而 NAR 模型预测后续代码 。Transformer 中的自注意力机制允许模型在处理每个元素时考虑整个输入序列 。VALL-E 展现出强大的上下文学习能力 。

VALL-E 仅需目标说话人 3 秒钟的录音作为声学提示,就能实现音色与风格迁移 。在语音自然度和说话人相似度方面,它显著优于以往的零样本 TTS 系统 。VALL-E 还能保留说话人的情感和声学环境 。

VALL-E 2 引入了重复感知采样和分组代码建模技术,以提高鲁棒性和效率 。在某些数据集上,VALL-E 2 实现了零样本 TTS 的人类水平性能 。音素提示有助于生成内容,而音频提示则有助于保持说话人相似度 。

VALL-E 使用**预训练的音频编解码器(EnCodec)**是一个关键的设计选择,它展示了利用现有模型来增强新模型性能的强大能力。将 TTS 视为对离散音频标记的语言建模任务,代表了该领域的一种范式转变,借鉴了语言模型在 NLP 中的成功经验,并可能为跨不同模态的生成式 AI 提供更统一的方法。

VALL-E 在一个庞大的数据集(60,000 小时)上进行训练,该数据集来自 LibriLight 语料库 。由于原始 LibriLight 数据仅包含音频,研究人员使用了一个语音识别模型来生成文本转录 。VALL-E 采用了混合训练方法,结合了监督学习和无监督学习 。

MaskGCT

MaskGCT(Masked Generative Cross-Transformer)是由Amphion团队提出的零样本语音克隆模型,其核心目标是解决音色保真度与发音清晰度之间的矛盾,同时支持多语言跨语种语音合成。与VALL-E、SparkTTS等模型相比,MaskGCT通过多级编解码与非自回归掩码生成,在音色迁移的稳定性与跨语言适应性上表现突出。

MaskGCT采用双阶段编解码架构,将语音生成分解为 语义编码 与 声学编码 两个独立阶段,实现内容与音色的解耦:

(1) 语义编解码器(Semantic Encoder-Decoder)

  • 输入:原始语音波形 → 预处理(降噪、标准化)。
  • 编码:使用 VQ-VAE(Vector Quantized Variational Autoencoder),将语音转换为离散语义标记(Discrete Tokens),捕捉语言内容(如音素、词汇)。
  • 解码:语义标记通过 Vocos 声码器 重建为中间语义表示,保留语音的文本内容但剥离音色特征。

(2) 声学编解码器(Acoustic Encoder-Decoder)

  • 编码:采用 残差向量量化(RVQ, Residual Vector Quantization),将语音波形压缩为 多层声学标记(如4层),分别编码音色、韵律、情感等特征。
  • 解码:声学标记输入 非自回归Transformer,结合语义编码生成目标语音波形。

技术优势:

  • 解耦彻底:语义编码专注“说了什么”,声学编码专注“如何说”(音色、语调)。
  • 抗噪性强:RVQ的多层量化有效抑制输入音频中的噪声干扰。

非自回归掩码生成
MaskGCT的核心创新在于其生成阶段的 掩码预测机制,与传统自回归模型(逐帧生成)不同,它通过 并行生成 提升效率:

(1) 掩码生成流程

  • 输入:文本 → 文本编码器 → 文本特征向量。

  • 语义标记预测:

    • 使用 Masked Transformer 随机遮蔽部分语义标记(如遮蔽率30%)。
    • 模型基于上下文预测被遮蔽的标记,无需依赖文本-语音强制对齐。
  • 声学标记生成:

    • 以语义标记为条件,通过 Cross-Transformer 生成多层声学标记序列。
    • 每层声学标记独立生成,避免自回归模型的误差累积。

(2) 优化策略

  • 动态掩码比例:根据训练进度调整遮蔽率,提升模型泛化能力。
  • 多任务学习:联合优化语义标记预测与声学标记生成,增强跨语言迁移稳定性。

SparkTTS:利用 LLM 实现高效且可控的语音合成

SparkTTS 是一种高效的、基于大型语言模型(LLM)的文本到语音合成模型 。其架构的核心是 BiCodec,一种独特的单流编解码器,它将语音分解为语义标记(语言内容)和全局标记(说话人属性)两种互补的标记类型 。

SparkTTS 集成了 Qwen2.5 大型语言模型作为其骨干 。该架构支持直接从 LLM 预测的代码重建音频,无需额外的声学特征生成模型 。

SparkTTS 能够实现高效的零样本中英文跨语言语音克隆,而无需针对目标说话人的特定训练数据 。它通过一种链式思考(CoT)的方法,提供粗粒度(性别、说话风格)和细粒度(音高、语速)的属性控制 。解耦的语音标记使得语音的表示和操作更加有效 。

SparkTTS 还支持跨语言和代码切换合成 。单流架构与解耦标记的结合,简化了传统的 TTS 系统,并可能增强了生成语音中语言内容和说话人属性之间的一致性。

SparkTTS 在 VoxBox 数据集上进行训练,该数据集包含 100,000 小时的带有各种属性标注的音频数据 。BiCodec 采用端到端的方式,使用生成对抗网络(GANs)进行训练 。训练过程分为两个阶段:首先训练语音标记器,然后训练 TTS 模型 。

集成像 Qwen2.5 这样强大的 LLM,可能是 SparkTTS 能够实现强大的零样本语音克隆能力的关键因素,使其能够在最少参考数据的情况下有效地处理内容和风格。SparkTTS 表明,大型语言模型在各种语音合成任务中发挥着越来越重要的作用,这预示着一个趋势,即利用 LLM 强大的语义理解和生成能力来开发更先进和可控的语音克隆技术。

特征解耦+生成式模型

特征解耦技术实现

  1. VALL-E:分层离散编码与上下文建模
  • 音色与内容解耦:
    VALL-E 使用 EnCodec 神经编解码器,将语音波形压缩为多层离散声学 token(8层量化器)。其中,低层 token 编码全局音色和说话人特征,高层 token 编码细节声学信息(如情感、环境)。通过分层 token 结构,模型将音色与内容解耦。

  • 上下文条件控制:
    在推理时,输入音素序列(内容)和 3 秒参考音频的声学 token(音色),通过 自回归(AR)与非自回归(NAR)语言模型 结合生成目标语音。AR 模型预测内容相关的低层 token,NAR 模型并行生成高层 token,兼顾生成速度与质量。

  1. SparkTTS:单流解耦与LLM驱动
  • BiCodec 双编码器:
    将语音分解为 语义编码(记录“说了什么”)和 全局编码(包含音色、语调),通过向量量化(VQ)实现语义与风格的解耦。语义编码由 LLM(Qwen2.5)预测,全局编码从参考音频提取。

  • 大语言模型融合:
    直接利用 Qwen2.5 的文本理解能力生成语义编码,省去传统 TTS 的梅尔频谱生成步骤。LLM 输出的编码直接输入 BiCodec 解码器生成语音,实现端到端高效合成。

  1. MaskGCT:掩码生成与多级编解码
  • 语义-声学双阶段解耦:

    • 语音语义编解码器:通过 VQ-VAE 将语音转换为语义标记,捕捉语言内容;
    • 语音声学编解码器:使用残差向量量化(RVQ)将波形压缩为多层声学标记,保留音色和韵律细节。
  • 非自回归掩码生成:
    文本到语义阶段,利用掩码生成 Transformer 预测语义标记,无需文本-语音对齐;语义到声学阶段,以语义标记为条件生成声学标记序列,通过 Vocos 解码器重建波形。

  1. YourTTS:
  • 说话人编码器与自适应:
    通过预训练的说话人编码器(如 ECAPA-TDNN)提取音色嵌入,与文本编码结合输入 Tacotron 生成梅尔频谱,再通过 WaveGlow 声码器合成语音。依赖少量样本微调以实现个性化克隆。

生成式模型优化策略

  1. 分层生成与采样优化
  • VALL-E:采用 AR+NAR 分层生成,AR 模型逐帧生成低层 token 确保内容连贯性,NAR 模型并行生成高层 token 提升效率。通过温度采样控制生成多样性6。
  • MaskGCT:使用 非自回归掩码生成 Transformer,通过随机掩码预测缺失 token,减少对对齐信息的依赖,提升跨语言合成的鲁棒性1。
  1. 数据驱动与模型预训练
  • VALL-E:在 60K 小时英语语音(LibriLight)上预训练,增强对噪声和多样说话人的泛化能力6。
  • SparkTTS:基于 VoxBox 数据集(10万小时中英文语音),标注性别、音高等属性,优化风格迁移的细粒度控制7。
  • MaskGCT:使用 Emilia 多语言数据集,覆盖六种语言的高质量语音,支持跨语种音色迁移4。
  1. 效率与可控性增强
  • SparkTTS:通过 单流解耦架构(BiCodec + LLM)简化流程,推理速度比传统模型快 3 倍,支持实时语音生成9。
  • VALL-E:利用 上下文学习(In-context Learning),仅需 3 秒参考音频即可克隆音色,无需微调2。
  • MaskGCT:提供 语音控制接口,允许用户编辑文本直接调整生成语音的长度、语速和情感,保持音色一致性10。
模型特征解耦方法生成式模型架构核心优化策略
VALL-EEnCodec分层离散编码AR+NAR分层语言模型大规模数据预训练、上下文学习
SparkTTSBiCodec单流解耦LLM直接生成语音编码LLM驱动、高效单流程
MaskGCTVQ-VAE+RVQ多级编解码非自回归掩码生成Transformer掩码预测、多语言支持
YourTTS说话人编码器+文本编码融合 Tacotron+WaveGlow级联生成小样本微调、说话人自适应

效果对比分析:性能与评估

评估语音克隆模型的性能通常采用一系列指标,包括主观评估和客观评估。常见的主观评估指标包括相似性平均意见得分(SMOS)、平均意见得分(MOS)和比较平均意见得分(CMOS)。SMOS 衡量生成音频与参考说话人的相似度,MOS 评估合成语音的整体质量或自然度,而 CMOS 则用于比较两个不同 TTS 系统的质量。

客观评估指标则包括词错误率(WER)和客观说话人相似度(SIM)。WER 衡量语音识别合成语音时的错误率,SIM 则通过计算说话人嵌入向量之间的余弦相似度来评估说话人相似度。

根据 KALL-E 论文中的比较 :

指标KALL-EYourTTSVALL-ESparkTTS
自然度 (MOS)3.87 ± 0.123.08 ± 0.143.12 ± 0.19
说话人相似度 (SMOS)3.91 ± 0.073.17 ± 0.083.36 ± 0.12
情感克隆 (CMOS)0.00-0.23-0.09
口音克隆 (CMOS)0.00-0.18-0.12
词错误率 (WER)8.5%7.1%9.6%5.8%
客观说话人相似度 (SIM)0.670.450.52

注:SparkTTS 未包含在此比较中,为额外添加。

其他研究表明,VALL-E 在自然度和说话人相似度方面优于 YourTTS 。SparkTTS 据报告在韵律和情感方面表现出色 ,并且在零样本场景下实现了高可懂度 ,同时还具有较高的效率,目前属于开源上最先进中文效果也是最好的语音克隆模型 。YourTTS 在使用有限的音频进行微调时,可以实现较高的相似度 。

未来展望:小样本和零样本语音克隆的未来

小样本和零样本语音克隆技术正朝着更高的自然度、更强的鲁棒性、更广泛的多语言支持和更低的计算需求方向发展 。持续的研究致力于提升合成语音的自然性和表现力 。扩展对更多语言的支持是未来的一个重要发展方向 。

人们也在努力实现高质量、低延迟的语音转换,以满足实时应用的需求 。神经声码器的进步正在提高计算效率 。更强大的说话人编码器的开发对于实现更好的语音克隆至关重要 。未来的研究可能会探索混合方法,以在效率和质量之间取得更好的平衡 。语音克隆的未来将持续朝着提升模型质量和效率的方向发展,并更加注重技术的普及性和跨语言的通用性。

相关文章:

语音合成之七语音克隆技术突破:从VALL-E到SparkTTS,如何解决音色保真与清晰度的矛盾?

从VALL-E到SparkTTS,如何解决音色保真与清晰度的矛盾? 引言语音克隆技术发展史YourTTS:深入剖析架构与技术VALL-E:揭秘神经编解码语言模型MaskGCTSparkTTS:利用 LLM 实现高效且可控的语音合成特征解耦生成式模型特征解…...

【Pandas】pandas DataFrame rdiv

Pandas2.2 DataFrame Binary operator functions 方法描述DataFrame.add(other)用于执行 DataFrame 与另一个对象(如 DataFrame、Series 或标量)的逐元素加法操作DataFrame.add(other[, axis, level, fill_value])用于执行 DataFrame 与另一个对象&…...

maven打包时配置多环境参数

1. pom配置 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.…...

【Linux】基本指令(下)

目录 一、详解指令补充知识1&#xff1a;什么是压缩 19. zip 指令&#xff08;1&#xff09;-r 选项&#xff08;2&#xff09;zip 和 unzip 的安装 20. unzip 指令&#xff08;1&#xff09;-d 选项补充知识2&#xff1a;本地机器与云服务器补充知识3&#xff1a;本地机器与云…...

NVLink、UALink 崛起,PCIe Gen6 如何用 PAM4 迎战未来?

现在数字经济发展地相当快速&#xff0c;像Cloud、现在火红的AI、大数据这些新技术都需要在数据中心里运行更多运算&#xff0c;伴随而来的是更快的数据传输速度的需求。 在数据中心&#xff0c;有很多条数据传输路径&#xff0c;举例 &#xff1a; Server 和Storage之间&…...

23种设计模式-行为型模式之迭代器模式(Java版本)

Java 迭代器模式&#xff08;Iterator Pattern&#xff09;详解 &#x1f9e0; 什么是迭代器模式&#xff1f; 迭代器模式是一种行为型设计模式&#xff0c;它提供一种方法顺序访问一个聚合对象中的各个元素&#xff0c;而不暴露该对象的内部表示。 &#x1f3af; 使用场景 …...

指标监控:Prometheus 结合 Grafana,监控redis、mysql、springboot程序等等

软件作用说明 ‌Prometheus‌&#xff1a;采集各种指标数据&#xff08;如CPU、内存、请求数&#xff09;&#xff0c;并存储到时序数据库中。‌Grafana‌&#xff1a;数据可视化&#xff0c;生成监控仪表盘。 架构说明 被监控服务&#xff08;如Redis/MySQL/SpringBoot&a…...

微信小程序,基于uni-app的轮播图制作,调用文件中图片

以便捷为目的&#xff0c;想使用文件中的图片制作轮播图 但网上找到的都是轮播图彼此分割&#xff0c;没有使用数组存储在一起&#xff0c;不便于管理&#xff0c;代码不美观简洁 作者使用文件中的图片&#xff0c;并使用数组制作轮播图的具体操作如下&#xff1a;&#xff0…...

未来医院已来:AI如何实现无死角安全监控

AI智慧医院如何用算法守护安全与效率 ## 背景&#xff1a;医疗场景的智能化转型需求 现代医院作为人员密集、场景复杂的公共场所&#xff0c;面临诸多管理痛点&#xff1a;患者跌倒可能延误救治、医闹事件威胁安全、医疗垃圾处置不当引发感染风险、重点区域&#xff08;如药…...

搭建动态SQL取数

日常取数的时候可能会存在动态SQL的问题&#xff0c;比如取数动态或者条件动态等情况&#xff0c;下面针对动态SQL做一个完整的处理。包括SELECT 、FROM、WHERE 以及 最后table的动态。 首先 数据定义&#xff0c;这里全按照表来append处理 TYPES:BEGIN OF ty_data,edpline T…...

Python函数基础:简介,函数的定义,函数的调用和传入参数,函数的返回值

目录 函数简介 函数定义&#xff0c;调用&#xff0c;传入参数&#xff0c;返回值 函数的定义 函数的调用和传入参数 函数的返回值 函数简介 函数简介&#xff1a;函数是组织好&#xff0c;可重复使用&#xff0c;用来实现特定功能&#xff08;特定需求&#xff09;的代码…...

下垂控制属于构网型控制技术

下垂控制属于构网型控制&#xff0c;而非跟网型控制。 一、构网型与跟网型控制的本质区别 控制策略差异 构网型控制&#xff08;Grid-Forming Control, GFM&#xff09;&#xff1a; 通过模拟同步发电机的特性&#xff08;如转子运动方程&#xff09;&#xff0c;自主构建电压幅…...

主流 LLM 部署框架

主流 LLM 部署框架 框架主要特点适用场景vLLM- 超快推理&#xff08;高吞吐&#xff09; - 动态批处理 - 支持 HuggingFace Transformer - 支持 PagedAttention高并发、低延迟在线推理TGI (Text Generation Inference)- Huggingface官方出品 - 多模型管理 - 支持动态量化 - 支持…...

数据库系统概论(四)关系操作,关系完整性与关系代数

数据库系统概论&#xff08;四&#xff09;详细讲解关系操作&#xff0c;关系完整性与关系代数 前言一、什么是关系操作1.1 基本的关系操作1.2 关系数据语言的分类有哪些 二、关系的完整性2.1 实体完整性2.2 参照完整性2.3 用户的定义完整性 三、关系代数是什么3.1 传统的集合运…...

C#里使用libxl来加载网络传送过来的EXCEL文件

从服务器传送过来的数据,是一个EXCEL文件, 那么怎么样获取里面的数据比较合适呢? 是不是把数据先保存到文件,再使用传统的方式打开它呢? 其实这样做,也是可以的,对于比较大的文件来说。 如果文件比较小,就不必要这样做了,可以直接保存在内存,然后使用函数LoadRaw…...

Make + OpenOCD 完成STM32构建+烧录

目录 前言 准备工作 开始操作 后记 前言 前两篇通过VSCodeSTM32CubeMx跑通了用EIDE构建烧录。为今天的工作打下了非常棒的基础&#xff01;今天来尝试手动构建烧录。 准备工作 安装Make&#xff0c;我这次用的是Win10&#xff0c;所以需要安装一个新朋友 msys2 &#xff0…...

Linux:进程间通信->命名管道

1. 命名管道 概念 是一种进程间通信(IPC)机制&#xff0c;能允许没有关联的两个进程进行数据交换。 由于匿名管道只能在有亲缘关系的父子进程间通信所以具有局限性&#xff0c;所以就要通过命名管道来对两个没有关系的进程进行通信。 命名管道是通过路径和文件名来使两个进…...

CS001-50-depth

目录 深度图 如何写入深度图 长什么样子 copy depth pass z反转 如何读取深度图&还原世界坐标 深度图 深度图&#xff0c;是记录离物体离摄像机最近的图。 如何写入深度图 深度图&#xff0c;在urp中&#xff0c;如果相机开启了需要深度图的话&#xff0c;会自动在…...

开源AI视频FramePack发布:6GB显卡本地运行

您现在可以在自己的笔记本电脑上免费生成完整的离线AI视频。 只有GPU和纯粹的创造力。 这到底是什么? 一个名为FramePack的新型离线AI视频生成器几天前在GitHub上发布 — 几乎没人在谈论它。这很奇怪,因为这个工具真的很厉害。 它允许您从静态图像和提示词在自己的机器上…...

P3309 [SDOI2014] 向量集 Solution

Description 有一个向量列表&#xff0c;初始为空&#xff0c;有 n n n 个操作分两种&#xff1a; add ⁡ ( x , y ) \operatorname{add}(x,y) add(x,y)&#xff1a;将向量 ( x , y ) (x,y) (x,y) 添加到列表末尾. query ⁡ ( x 0 , y 0 , l , r ) \operatorname{query}(x_0…...

深入探究 MySQL 架构:从查询到硬件

了解数据库的底层工作原理对于开发人员和系统架构师来说至关重要。在本指南中,我们将探索 MySQL 查询的奇妙旅程,从它离开应用程序的那一刻起,直到到达物理存储层——每个步骤都配有真实的示例。 旅程开始:应用层 当您的应用程序执行 SQL 查询时,它会启动一系列复杂的事件…...

matlab实现稀疏低秩去噪

稀疏低秩去噪的matlab代码&#xff0c;包括OMP算法与KSVD算法 IGARSS2013/cal_ssim.m , 6372 IGARSS2013/Compute_NLM_Matrix.m , 2004 IGARSS2013/FeatureSIM.m , 18790 IGARSS2013/KSVD_Matlab_ToolBox2/demo1.m , 1907 IGARSS2013/KSVD_Matlab_ToolBox2/demo2.m , 3679 IGA…...

泽润新能IPO隐忧:募资缩水2亿元,毛利率两连降,内控存瑕疵?

撰稿|行星 来源|贝多财经 又一家光伏企业&#xff0c;即将登陆资本市场。 近日&#xff0c;江苏泽润新能科技股份有限公司&#xff08;SZ: 301636&#xff0c;下称“泽润新能”&#xff09;对外发布了首次公开发行股票并在创业板上市的招股意向书&#xff0c;并于4月25日启动…...

20250426在ubuntu20.04.2系统上打包NanoPi NEO开发板的FriendlyCore系统刷机eMMC的固件

20250426在ubuntu20.04.2系统上打包NanoPi NEO开发板的FriendlyCore系统刷机eMMC的固件 2025/4/26 21:30 缘起&#xff1a;使用NanoPi NEO开发板&#xff0c;编译FriendlyCore系统&#xff0c;打包eMMC固件的时候报错。 1、在ubuntu14.04下git clone异常该如何处理呢&#xff…...

商用车与农用车电气/电子架构 --- 赋能智能车队管理与远程信息处理

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...

Medical Image Nnalysis发表对抗多实例学习框架,基于病理切片进行生存分析

小罗碎碎念 在医学AI领域&#xff0c;全切片图像&#xff08;WSI&#xff09;的生存分析对疾病预后评估至关重要。 现有基于WSI的生存分析方法存在局限性&#xff0c;经典生存分析规则使模型只能给出事件发生时间的点估计&#xff0c;缺乏预测稳健性和可解释性&#xff1b;且全…...

Ubuntu20.04部署Dify(Docker方式)

Ubuntu20.04部署Dify&#xff08;Docker方式&#xff09; Ubuntu20.04 DifyInstall DockerInstall Docker ComposeRun DifyRunning Ollama 由于写这篇博客的时候电脑还没装输入法&#xff0c;所以先用半吊子英文顶着了…关于最后运行ollama的部分可以无视&#xff0c;因为我修改…...

常见的六种大语言模型微调框架

六大主流微调框架详细解析 框架简介优势劣势Hugging Face PEFT专注于「参数高效微调」&#xff08;LoRA、Prefix、Prompt-tuning等&#xff09;的小型库&#xff0c;直接挂在Transformers上用。简单稳定&#xff0c;兼容性好&#xff0c;文档丰富&#xff0c;适配各种小模型到中…...

高精度3D圆弧拟合 (C++)

本文的目的是实现高精度的3D圆弧拟合&#xff0c;若对精度要求不高&#xff0c;可使用PCL的圆拟合接口&#xff0c;参见 PCL拟合空间3D圆周 fit3DCircle-CSDN博客 ---------------------------------------------------------------------------------------------------------…...

WPF定义扩展属性和依赖属性

WPF扩展属性与依赖属性详解 一、依赖属性(Dependency Property)详解 1. 什么是依赖属性? 依赖属性是WPF框架的核心特性之一,它允许属性值依赖于: 父元素的属性值(继承)样式和模板动画数据绑定资源查找2. 依赖属性的特点 ​​属性值继承​​:子元素可以继承父元素的属性…...

微信小程序 - 根据经纬度打开导航

一、获取到指定的经纬度后 二、设置打开导航 onReady() {this.mapCtx wx.createMapContext(myMap)},openMap() {this.mapCtx.openMapApp({latitude: this.data.latitude,longitude: this.data.longitude,destination: this.data.destination,success: (res) > {console.log…...

WPF实现类似Microsoft Visual Studio2022界面效果及动态生成界面技术

WPF实现类似VS2022界面效果及动态生成界面技术 一、实现类似VS2022界面效果 1. 主窗口布局与主题 <!-- MainWindow.xaml --> <Window x:Class"VsStyleApp.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x…...

驱动开发(1)|鲁班猫rk356x内核编译,及helloworld驱动程序编译

前言 在进行驱动开发或内核定制时&#xff0c;编译内核源码是一个不可或缺的步骤。内核源码不仅为驱动模块的编译提供了必要的构建环境&#xff0c;还确保了驱动与操作系统内核之间的紧密兼容性。随着内核版本的不断更新&#xff0c;内核内部的数据结构、API接口或系统调用可能…...

深入剖析 Vue 组件:从基础到实践

引言 在前端开发领域&#xff0c;Vue.js 以其简洁易用和高效灵活的特点深受开发者喜爱。而 Vue 组件作为 Vue.js 的核心概念之一&#xff0c;是构建大型应用的基石。无论是简单的按钮、表单&#xff0c;还是复杂的页面布局、功能模块&#xff0c;都可以封装成组件&#xff0c;…...

C++武功秘籍 | 入门知识点

目录 0. 前言 1. C的第一个程序 2. 域 2.1 分类 2.2 作用 2.3 命名空间 2.3.1 定义 2.3.2 namespace概念 2.3.3 使用 3. 输入和输出 3.1 3.2 cin 3.3 cout 3.4 endl 4. 缺省参数 4.1 定义 4.2 分类 4.3 特点 5. 函数重载 5.1 定义 5.2 类型分类 5.2.1.参数类型不同 5.2.2. 参数…...

[官方IP] Shift RAM

Xilinx Shift RAM IP (PG122) 详细介绍 概述 Xilinx Shift RAM IP 是 AMD Xilinx 提供的一个 LogiCORE™ IP 核&#xff0c;用于在 FPGA 中实现高效的移位寄存器&#xff08;Shift Register&#xff09;。该 IP 核利用 FPGA 的分布式 RAM&#xff08;Distributed RAM&#xf…...

Trae国际版+BrowserTools MCP yyds!!!

这是为您的博客优化的版本&#xff0c;结构更清晰、痛点更突出&#xff0c;并增加了技术细节和用户价值&#xff1a; &#x1f4e2;《告别手动抓狂&#xff01;Trae国际版BrowserTools MCP 实现前端错误调试自动化》&#x1f680; 作为前端开发者&#xff0c;你是否经历过这些…...

Kdenlive 中的变形、畸变、透视相关功能

Kdenlive 中的变形、畸变、透视相关功能 flyfish Kdenlive 是一款开源、跨平台的非线性视频编辑软件&#xff0c;支持 Windows、macOS 和 Linux 系统. 滚动 通常指让画面内容&#xff08;如字幕、图像&#xff09;沿特定方向&#xff08;垂直或水平&#xff09;滚动显示。 用于…...

蓝桥杯 8. 移动距离

移动距离 原题目链接 题目描述 X 星球居民小区的楼房全是一样的&#xff0c;并且按矩阵样式排列。楼房的编号为 1, 2, 3, ⋯⋯。 当排满一行时&#xff0c;从下一行相邻的楼往反方向排号。 例如&#xff0c;当小区排号宽度为 6 时&#xff0c;排列如下&#xff1a; 1 2 …...

2025.04.26-美团春招笔试题-第三题

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 03. 树上路径权值递增 问题描述 LYA正在开发一款基于树的图形渲染引擎,她需要实现一种特殊的路径增强效果。在这个效果中,她需要沿着树上的简单路径为节点赋予递增的权值增益。 …...

c++_csp-j算法 (5)

动态规划 介绍 动态规划(Dynamic Programming)是一种常用的解决优化问题的算法设计技术,常用于解决具有重叠子问题和最优子结构性质的问题。动态规划算法通过将问题划分为子问题,解决子问题并将子问题的解保存起来,最终构建出原问题的解。在本节中,我们将详细介绍动态规…...

力扣2444. 统计定界子数组的数目:Java三种解法详解

力扣2444. 统计定界子数组的数目&#xff1a;Java三种解法详解 题目描述 给定整数数组 nums 和两个整数 minK 和 maxK&#xff0c;统计满足以下条件的子数组数目&#xff1a; 子数组的最小值等于 minK&#xff1b;子数组的最大值等于 maxK。 示例&#xff1a; 输入&#xf…...

安全生产知识竞赛宣传口号160句

1. 安全生产是责任&#xff0c;每个人都有责任 2. 安全生产是保障&#xff0c;让我们远离危险 3. 安全生产是团结&#xff0c;共同守护每一天 4. 注重安全&#xff0c;守护明天 5. 安全生产无小事&#xff0c;关乎千家万户 6. 安全第一&#xff0c;人人有责 7. 安全生产无差别&…...

【Hive入门】Hive动态分区与静态分区:使用场景与性能对比完全指南

目录 1 Hive分区技术概述 2 静态分区详解 2.1 静态分区工作原理 2.2 使用场景 2.3 示例 3 动态分区深度解析 3.1 动态分区执行流程 3.2 使用场景 3.3 示例 4 使用场景对比 4.1 场景选择 5 性能对比与优化 5.1 插入性能 5.2 查询性能 5.3 小文件问题 6 最佳实践 6.1 混合分区策略…...

6.1腾讯技术岗2025面试趋势前瞻:大模型、云原生与安全隐私新动向

2025年腾讯技术岗面试趋势前瞻&#xff1a;大模型、云原生与安全隐私新动向 随着AI技术与云计算的深度融合&#xff0c;腾讯校招技术岗面试正呈现出三大核心趋势&#xff1a;AI大模型应用深化、云原生技术迭代加速、安全隐私技术刚需化。本文结合腾讯2025年最新技术布局&#…...

探秘卷积神经网络:深度学习的图像识别利器

在深度学习领域&#xff0c;卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;CNN&#xff09;是图像识别任务的关键技术。它的起源可以追溯到 20 世纪 80 - 90 年代&#xff0c;但受限于当时的软硬件条件&#xff0c;其发展一度停滞。随着深度学习理论的不断…...

x修改ssh版本号9.9可以躲过漏洞扫描器扫描

1. 查看当前系统的ssh版本号 ssh -V sshd -V 2. 查看ssh和sshd的位置 which ssh which sshd3. 查看ssh版本号有关的字符串 strings /usr/bin/ssh | grep OpenSSH strings /usr/sbin/sshd | grep OpenSSH4. 备份 cp /usr/bin/ssh /usr/bin/ssh.bak cp /usr/sbin/s…...

django之账号管理功能

账号管理功能 目录 1.账号管理页面 2.新增账号 3.修改账号 4.账号重置密码 5.删除账号功能 6.所有代码展示集合 7.运行结果 这一片文章, 我们需要新增账号管理功能, 今天我们写到的代码, 基本上都是用到以前所过的知识, 不过也有需要注意的细节。 一、账号管理界面 …...

Java24 抗量子加密:后量子时代的安全基石

一、量子计算威胁与 Java 的应对 随着量子计算机的快速发展&#xff0c;传统加密算法面临前所未有的挑战。Shor 算法可在多项式时间内破解 RSA、ECC 等公钥加密体系&#xff0c;而 Grover 算法能将对称加密的暴力破解效率提升至平方根级别。据 NIST 预测&#xff0c;具备实用价…...

ssm乡村合作社商贸网站设计与实现(源码+lw+部署文档+讲解),源码可白嫖!

摘要 当今社会进入了科技进步、经济社会快速发展的新时代。国际信息和学术交流也不断加强&#xff0c;计算机技术对经济社会发展和人民生活改善的影响也日益突出&#xff0c;人类的生存和思考方式也产生了变化。传统乡村合作社商贸管理采取了人工的管理方法&#xff0c;但这种…...