Category: AI项目和框架

  • ResAdapter – 字节推出的扩散模型分辨率适配器

    ResAdapter是什么

    ResAdapter是由字节跳动的研究人员推出的一种为扩散模型(如Stable Diffusion)设计的分辨率适配器,允许这些图像生成模型生成具有任意分辨率和宽高比的图像,同时保持其原始的风格域。由于扩散模型通常在训练时只学习到特定分辨率的图像生成能力,因此当用户尝试生成超出训练分辨率范围的图像时,可能无法生成高质量的结果(如画面崩坏、肢体异常等)。ResAdapter的目的便旨在解决该问题,它能够在不改变模型原始风格域的前提下,扩展模型生成图像的分辨率范围和比例。

    ResAdapter

    ResAdapter的官网入口

    ResAdapter的功能特性

    • 分辨率插值(Resolution Interpolation):允许模型生成低于其训练分辨率的图像,可以生成更小尺寸的图像,同时保持细节和质量。
    • 分辨率外推(Resolution Extrapolation):使模型能够生成高于其训练分辨率的图像。这对于需要高分辨率输出的应用场景非常重要,如打印、大尺寸显示等。
    • 域一致性(Domain Consistency):在生成不同分辨率的图像时,ResAdapter确保图像的风格与训练时的风格域保持一致,避免了在改变分辨率时可能出现的风格失真或不一致。
    • 即插即用(Plug-and-Play):ResAdapter设计为可以轻松集成到现有的扩散模型中,无需对模型架构进行重大修改,快速应用于多种不同的模型和应用场景。
    • 兼容性:ResAdapter不仅与基础的扩散模型兼容,还可以与其他图像生成相关的模块(如ControlNet、IP-Adapter和LCM-LoRA)结合使用,以实现更复杂的图像生成任务。

    ResAdapter的工作原理

    ResAdapter的架构

    • 分析模型结构:首先,分析扩散模型(如Stable Diffusion)的UNet架构,确定哪些层对分辨率敏感。通常,卷积层对分辨率敏感,因为它们的感受野(Receptive Field)是固定的。
    • 插入ResCLoRA:在UNet架构的下采样器(Downsampler)和上采样器(Upsampler)的卷积层中插入分辨率卷积LoRA(ResCLoRA)。ResCLoRA通过添加低秩矩阵来动态调整卷积层的感受野,使其能够适应不同分辨率的输入图像。
    • 引入ResENorm:为了解决分辨率外推问题,引入分辨率外推归一化(ResENorm)。ResENorm仅对UNet块中的组归一化层进行训练,以适应高分辨率图像的统计分布,同时保持模型对原始风格域的适应性。
    • 多分辨率训练:在训练过程中,使用不同分辨率的图像数据集进行训练。这种混合分辨率训练策略允许ResAdapter学习到在不同分辨率下生成图像的能力,同时避免对原始风格域的影响。
    • 集成到扩散模型:训练完成后,ResAdapter作为一个即插即用(Plug-and-Play)的模块,可以被集成到任意风格的扩散模型中。这意味着,无论原始模型是专注于何种风格域,ResAdapter都能够扩展其生成图像的分辨率范围。
    • 生成图像:在推理阶段,集成了ResAdapter的扩散模型能够根据用户的需求生成任意分辨率的图像。模型会根据输入的文本提示或条件(如ControlNet提供的图像条件),通过迭代的去噪过程生成高质量的图像。
  • ScreenAI – 谷歌推出的可读屏AI视觉模型,可理解UI和信息图表

    ScreenAI是什么

    ScreenAI是一个由谷歌的研究人员推出的可读屏AI视觉语言模型,专门设计用于理解和处理用户界面(UI)和信息图表。该模型基于PaLI架构结合了视觉和语言处理的能力,并借鉴了Pix2Struct的灵活拼贴策略,使其能够理解和生成与屏幕UI元素相关的文本,如问题回答、UI导航指令和内容摘要。
    ScreenAI

    ScreenAI的主要功能

    ScreenAI的功能

    • 屏幕信息理解:ScreenAI能够识别和理解UI元素和信息图表的内容,包括它们的类型、位置和相互之间的关系。
    • 问题回答(QA):ScreenAI可以对获取到的视觉信息的进行理解并回答关于UI和信息图表内容的问题。
    • UI导航:ScreenAI能够解释导航指令(如“返回”)并识别适当的UI元素进行交互,可理解用户意图并能够在界面中准确导航。
    • 内容摘要:ScreenAI能够简洁地总结屏幕内容,可提炼和概括屏幕信息的核心要点。
    • 适应不同屏幕格式:ScreenAI能够处理不同分辨率和宽高比的屏幕截图,可以适应移动设备和台式机等不同设备的屏幕格式。

    ScreenAI的技术原理

    ScreenAI的架构

    • 多模态编码器:受PaLI架构启发,ScreenAI使用一个多模态编码器块,该块由两个主要部分组成:一个视觉编码器和一个语言编码器。视觉编码器基于Vision Transformer (ViT) 架构,用于将输入的屏幕截图转换为一系列图像嵌入。语言编码器则处理与屏幕截图相关的文本信息,如用户界面(UI)元素的标签和描述。
    • 图像和文本融合:在多模态编码器中,图像嵌入和文本嵌入被结合在一起,以便模型能够同时理解视觉内容和与之相关的语言信息。这种融合使得ScreenAI能够处理复杂的屏幕交互任务。
    • 自回归解码器:编码器的输出被传递给一个自回归解码器T5,负责生成文本输出,能够根据输入的图像和文本嵌入生成自然语言响应。
    • 自动数据生成:为了训练ScreenAI,研究人员利用了自动数据生成技术。他们使用PaLM 2-S语言模型来生成合成的训练数据,这些数据包括屏幕模式和相应的问题-答案对。这种方法提高了数据的多样性和复杂性,同时减少了对手动标注的依赖。
    • 图像分割策略:ScreenAI采用了Pix2Struct技术来处理不同分辨率和宽高比的屏幕截图。这种技术允许模型根据输入图像的形状和预定义的最大块数生成任意网格形状的图像块,从而使模型能够适应各种屏幕格式。
    • 模型配置和训练:ScreenAI有不同规模的模型版本,包括670M、2B和5B参数的模型。这些模型在预训练阶段使用了不同的起点,例如从PaLI-3的多模态预训练检查点开始。预训练任务和微调任务的结合使得模型能够在广泛的任务上进行训练和优化。
  • DUSt3R – 从任意图像集合中重建3D场景的框架

    DUSt3R是什么

    DUSt3R(Dense and Unconstrained Stereo 3D Reconstruction,密集无约束立体三维重建)是由来自芬兰阿尔托大学和Naver欧洲实验室的研究人员推出的一个3D重建框架,旨在简化从任意图像集合中重建三维场景的过程,而无需事先了解相机校准或视点位置的信息。该方法将成对重建问题视为点图的回归问题,放宽了传统投影相机模型的约束,还引入了全局对齐策略以处理多个图像对。

    DUSt3R

    DUSt3R的官网入口

    DUSt3R的主要功能

    • 快速3D重建:DUSt3R能够在极短的时间内(不到2秒钟)从输入图片中重建出3D模型,对于实时应用或快速原型制作非常有用。
    • 无需相机校准:与传统的3D重建技术不同,DUSt3R不需要任何相机校准或视点姿势的先验信息。这意味着用户无需进行复杂的设置,只需提供图片即可。
    • 多视图立体重建(MVS):DUSt3R能够处理多视图立体重建任务,即使在提供超过两张输入图像的情况下,也能有效地将所有成对的点图表示为一个共同的参考框架。
    • 单目和双目重建:DUSt3R统一了单目和双目重建的情况,即可以使用单个图像或成对的图像来进行3D重建。
    • 生成多种类型的3D视觉图:除了3D重建,DUSt3R还能生成深度图,可以理解场景中物体的相对位置和距离。此外,DUSt3R还能输出置信度图,用于评估重建结果的准确性,以及用于3D建模和可视化的点云图。

    DUSt3R的技术原理

    • 点图(Pointmaps):DUSt3R使用点图作为其核心表示,这是一种密集的2D场,其中包含了3D点的信息。点图为每个像素提供了一个与之对应的3D点,从而在图像像素和3D场景点之间建立了直接的对应关系。
    • Transformer网络架构:DUSt3R基于标准的Transformer编码器和解码器构建其网络架构。该架构允许模型利用强大的预训练模型,从而在没有显式几何约束的情况下,从输入图像中学习到丰富的几何和外观信息。
    • 端到端训练:DUSt3R通过端到端的方式进行训练,可以直接从图像对中学习到点图,而不需要进行复杂的多步骤处理,如特征匹配、三角测量等。
    • 全局对齐策略:当处理多于两张图像时,DUSt3R提出了一种全局对齐策略,该策略能够将所有成对点图表达在共同的参考框架中,能够处理多个图像对,这对于多视图3D重建尤为重要。
      DUSt3R全局对齐策略
    • 多任务学习:DUSt3R能够在训练过程中同时学习多个相关任务,如深度估计、相机参数估计、像素对应关系等。这种多任务学习策略使得模型能够更全面地理解场景的几何结构。
  • UniEdit – 免训练调优的统一视频编辑框架

    UniEdit是什么

    UniEdit是由浙江大学、微软研究院和北京大学的研究人员推出的一个创新的视频编辑框架,允许用户在不需要进行模型微调的情况下,对视频的运动和外观进行编辑。该框架的核心优势在于能够同时处理视频的时间维度(如动作变化)和空间维度(如风格化、物体替换、背景修改)的编辑任务。

    UniEdit

    UniEdit的官网入口

    UniEdit的功能特性

    • 视频对象动作编辑:UniEdit能够根据文本指令编辑视频中对象的动作。例如,可以将视频中的浣熊弹吉他的动作编辑成吃苹果或招手的动作。
    • 视频风格化:该框架支持对视频进行风格迁移,即用户可以通过文本描述来改变视频的视觉风格,而不需要改变视频中的内容,如将视频转换为油画风格。
    • 视频背景修改:UniEdit允许用户修改更换视频中的背景。例如,可以将视频中的人物置于完全不同的场景中。
    • 视频对象物体替换:UniEdit框架支持刚性和非刚性物体的替换,用户可以替换视频中的静态或动态物体,
    • 无需训练微调:UniEdit不需要额外的训练或微调,大大简化了模型的部署和使用,使得用户可以快速上手进行视频编辑。

    UniEdit的工作原理

    UniEdit的工作原理

    1. 反演处理(Inversion):UniEdit首先对输入的视频进行反演处理,将其转换为一个随机噪声表示。这个过程通常涉及到使用预训练的扩散视频生成模型(如 LaVie)的反演过程,通过一系列去噪步骤将视频逐步从噪声状态转换回其原始状态。
    2. 生成编辑路径在反演处理的基础上,UniEdit 使用预训练的 UNet 模型进行去噪步骤,以生成编辑后的视频。该过程是在给定目标文本提示的条件下进行的,以确保生成的视频内容符合用户的编辑意图。
    3. 辅助重建分支为了保留源视频的非编辑内容,UniEdit 引入了一个辅助重建分支。这个分支从相同的逆向噪声开始,但在给定源视频文本提示的条件下进行去噪,以重建原始视频帧。重建过程中的特征被注入到主编辑路径的空间自注意力层中,以保持内容的一致性。
    4. 辅助运动参考分支为了实现运动/动作编辑,UniEdit 引入了辅助运动参考分支,在给定目标文本提示的条件下生成运动特征。这些特征通过时间自注意力层注入到主编辑路径中,以引导视频的运动变化。
    5. 内容保留与运动注入在主编辑路径中,UniEdit 通过替换空间自注意力层的值特征来保留源视频的内容。同时,通过在时间自注意力层中注入运动特征,实现运动的编辑。
    6. 空间结构控制在外观编辑中,UniEdit 通过替换主编辑路径中的空间自注意力层的查询和键特征,来保持源视频的空间结构。这有助于在改变视频风格或外观时,保持物体的布局和位置不变。
    7. 文本引导编辑用户通过提供文本描述来指导视频编辑过程。UniEdit 解析这些文本描述,并将其转化为视频编辑的指导信号,从而实现用户期望的编辑效果。
  • TextDiffuser-2 – 微软等推出的AI图像文本渲染融合框架

    TextDiffuser-2是什么

    Text-Diffuser 2是由来自微软研究院、香港科技大学和中山大学的研究人员最新推出的一个基于扩散模型的文本渲染方法,旨在解决图像扩散模型生成文字时在灵活性、自动化、布局预测能力和风格多样性方面的局限性,以提高生成图像中视觉文本的质量和多样性。

    TextDiffuser-2的创新之处在于其利用了语言模型的强大能力来自动规划和编码文本布局,从而在保持文本准确性的同时,增加了生成图像的多样性和视觉吸引力。相比于第一代TextDiffuser,在多个方面进行了提升和优化,如布局规划的改进、行级别的文本编码、聊天交互动态调整文本布局、文本渲染的优化、更多样化风格的文本等。

    TextDiffuser-2

    TextDiffuser-2的官网入口

    TextDiffuser-2图像文本渲染

    TextDiffuser-2的功能特性

    • 文本布局规划自动从用户输入的提示中推断出关键词,并规划文本在图像中的布局,且允许用户指定关键词,并确定它们在图像中的位置。还支持通过与用户进行交互式聊天,动态调整文本布局,如重新生成、添加或移动文本元素。
    • 文本布局编码在扩散模型中,使用语言模型来编码文本的位置和内容,以生成文本图像。采用行级别的文本编码,而不是字符级别的,以提供更大的灵活性和风格多样性。
    • 文本图像生成根据规划的文本布局,生成包含准确、视觉吸引人的文本的图像。支持多种文本风格,包括手写体和艺术字体,以增强图像的视觉多样性。
    • 文本模板图像生成当提供模板图像时,TextDiffuser-2可以直接使用现有的OCR工具提取文本信息,并将其作为条件输入到扩散模型中,无需从语言模型中预测布局。
    • 文本修复类似于第一代TextDiffuser,TextDiffuser-2可以适应文本修复任务,通过修改U-Net的输入卷积核通道来训练模型,以填补图像中的文本区域。
    • 无文本的自然图像生成即使在文本数据上进行微调,TextDiffuser-2也能在原始领域(如COCO数据集)中保持其生成能力,生成不包含文本的图像。
    • 处理重叠布局TextDiffuser-2在处理预测布局中出现的重叠文本框时表现出更高的鲁棒性,能够生成更准确的文本图像。

    TextDiffuser-2的工作原理

    TextDiffuser-2的工作原理

    1. 用户输入用户提供一个描述性的提示(prompt),这个提示可以是关于所需生成图像的文本内容和布局的描述。
    2. 布局规划使用一个预训练的大型语言模型(例如GPT-4),该模型经过微调,能够根据用户提示自动推断出文本内容和布局。该模型可以处理两种情况:一是在没有用户提供关键词的情况下自动生成文本和布局;二是在用户提供关键词的情况下,确定这些关键词的布局位置。语言模型输出的布局信息包括文本行的坐标,如每个文本行的左上角和右下角坐标。
    3. 布局编码基于布局规划的结果,TextDiffuser-2使用另一个语言模型来编码文本布局信息。该模型将用户提示和布局信息结合起来,形成一个适合于扩散模型处理的格式。为了编码文本位置,TextDiffuser-2引入了特殊的标记来表示坐标,例如“[x5]”和“[y70]”分别表示x坐标和y坐标的值。
    4. 扩散模型训练TextDiffuser-2的扩散模型通过去噪L2损失进行训练,以学习如何根据编码的文本布局信息生成图像。这个过程涉及到从随机噪声状态逐步引导到目标图像的生成过程。
    5. 图像文本生成在生成阶段,扩散模型根据编码的文本布局信息生成图像。这个过程通常需要多个步骤,每一步都会使生成的图像逐渐接近最终的文本布局和内容。
    6. 用户交互TextDiffuser-2允许用户通过多轮聊天与模型交互,以进一步调整文本布局。用户可以请求重新生成布局、添加或删除关键词,或者移动关键词到新的位置。
    7. 评估和优化生成的图像会经过评估,以确保文本的准确性和图像的视觉质量。这可能包括使用OCR工具来评估文本的可读性和准确性,以及通过用户研究来评估图像的美学和实用性。
  • LayerDiffusion – AI生成具有透明度的图像的框架

    LayerDiffusion是什么

    LayerDiffusion(现已更名为LayerDiffuse)是由来自斯坦福大学的研究人员 Lvmin Zhang(即ControlNet的作者张吕敏)和 Maneesh Agrawala 共同提出的一种利用大规模预训练的潜在扩散模型(如Stable Diffusion)生成透明图像的技术,可以帮助用户生成单个透明图像或多个透明图层。该方法的核心在于引入了“潜在透明度”的概念,将图像的alpha通道的透明度信息编码到潜在空间中,从而使得原本用于生成非透明图像的模型能够生成具有透明度的图像。

    借助LayerDiffusion,用户无需先生成图片再利用如Remove.bg之类的AI技术进行抠图,可以直接快速生成背景透明的免抠图片。

    LayerDiffusion

    LayerDiffusion的官网入口

    LayerDiffusion的功能特性

    • 生成透明图像:LayerDiffusio 能够生成具有透明度的图像,这意味着它可以创建具有 alpha 通道的图像,其中 alpha 通道定义了图像中每个像素的透明度。
    • 生成多个透明图层:除了单个透明图像,LayerDiffusion还能够生成多个透明图层。这些图层可以独立生成,也可以根据特定的条件(如前景或背景)生成,并且可以混合在一起以创建复杂的场景。
    • 条件控制生成:LayerDiffusion 支持条件控制生成,根据透明图像生成前景或背景,为创建特定场景的图像提供了灵活性。
    • 图层内容结构控制:用户还可以将 LayerDiffusion 与 ControlNet 控制框架相结合,对图层内容进行结构控制,以指导图层、布局、元素和对象形状等。
    • 重复迭代组合图层:LayerDiffusion可以通过重复背景条件前景模型来迭代地组合多个层,以增量地构建具有任意数量的透明图层的组合图像。
    • 高质量的图像输出:通过将透明度作为潜在偏移量添加到预训练模型的潜在空间中,LayerDiffusion 能够在不显著改变原始潜在分布的情况下,保持预训练模型的高质量输出。

    LayerDiffusion的工作原理

    1. 潜在空间的准备
      • 首先,LayerDiffusion 使用预训练的潜在扩散模型(如 Stable Diffusion)的潜在空间,该潜在空间是通过变分自编码器(VAE)将 RGB 图像编码得到的。
      • 为了支持透明度,LayerDiffusion 在潜在空间中引入了一个额外的维度(潜在透明度),用于表示图像的 alpha 通道(透明度信息)。
    2. 潜在透明度的编码和解码
      • LayerDiffusion 训练两个独立的神经网络:一个潜在透明度编码器和一个潜在透明度解码器。
      • 编码器接收原始图像的 RGB 和 alpha 通道,并将透明度信息编码为一个潜在偏移量,这个偏移量被添加到潜在空间的表示中。
      • 解码器则从调整后的潜在表示中提取透明度信息,并将其解码回原始的 alpha 通道。
        LayerDiffusion图像透明度表示
    3. 潜在空间的调整
      • 为了确保添加的透明度信息不会破坏原始潜在空间的分布,LayerDiffusion通过潜在偏移量来调整潜在表示。
      • 这个过程涉及到一个“无害性”度量,即通过比较原始预训练模型的解码器对调整后潜在表示的解码结果,来评估潜在偏移量是否对模型的重建能力造成了破坏。
    4. 扩散模型的微调
      • 在潜在空间中引入透明度信息后,LayerDiffusion对原始的扩散模型进行微调,使其能够在新的潜在空间中生成透明图像。
      • 这个过程涉及到训练扩散模型,使其能够学习如何在添加噪声的过程中保留透明度信息。
    5. 多图层生成
      • LayerDiffusion 还扩展了其能力,以支持生成多个透明图层。这是通过共享注意力机制和低秩适应(LoRAs)来实现的,确保不同图层之间的一致性和和谐混合。
    6. 数据集的准备和训练
      • 为了训练模型,研究者们收集了大量透明图像(由 100 万张透明图像组成,涵盖多种内容主题和风格),这些数据通过人类参与的收集方案获得。基于该数据集,模型被训练以生成高质量的透明图像和图层。
  • Snap Video – Snapchat公司推出的AI视频生成模型

    Snap Video是什么

    Snap Video是由Snap(社交媒体Snapchat所属的公司)研究团队开发的一个AI视频生成模型,目标是通过文本描述来合成视频,即用户可以输入一段描述性的文本,模型能够根据这段文本生成相应的视频内容。由于视频内容具有高度的冗余性和复杂性,Snap Video旨在解决从文本描述生成高质量、时间上连贯、高运动保真度的视频的挑战。用户研究显示,Snap Video与Pika、Runway Gen-2等视频生成模型相比毫不逊色甚至效果更好。

    Snap Video

    Snap Video的官网入口

    Snap Video的主要特点

    • 视频优先模型:Snap Video是专门为视频内容生成设计的模型,在处理视频的时间连续性和运动方面进行了特别的优化。这与许多其他模型不同,后者通常是从图像生成模型扩展而来,可能在处理视频时存在局限性。
    • 扩展的EDM框架:该模型扩展了EDM框架,使其能够更好地处理视频数据的空间和时间冗余,从而提高视频生成的质量。
    • 高效的Transformer架构:Snap Video采用了基于Transformer的FIT架构,在处理序列数据和捕捉长期依赖关系方面非常有效,尤其是在视频生成任务和处理高分辨率视频中。
    • 快速训练和推理:与U-Net等传统架构相比,Snap Video的训练和推理速度更快,能够更高效地生成视频。
    • 高分辨率视频生成:Snap Video能够生成高分辨率的视频内容,这在以往的文本到视频生成模型中是一个挑战,因为需要处理更多的细节和复杂的运动。
    • 联合空间-时间建模:Snap Video通过联合空间和时间维度的建模,能够生成具有复杂运动和高时间一致性的视频。

    Snap Video的技术架构

    • 扩展的EDM框架:Snap Video对EDM框架进行了扩展,以适应高分辨率视频的生成。EDM框架原本用于图像生成,通过模拟数据的扩散过程来生成新的数据样本。Snap Video通过引入输入缩放因子(σin),调整了EDM的正向扩散过程,以保持原始分辨率下的信噪比(SNR),从而在高分辨率视频生成中保持了性能。
    • 变换器架构:Snap Video采用了基于变换器(Transformer)的架构,这是一种高效的深度学习模型,特别适合处理序列数据。变换器通过自注意力机制(Self-Attention)和跨注意力机制(Cross-Attention)来捕捉输入数据中的全局依赖关系。在Snap Video中,变换器被用来处理视频帧,以生成具有连贯运动的视频。
    • FIT架构:Snap Video使用了FIT(Far-reaching Interleaved Transformers)架构,这是一种专门为高分辨率图像和视频合成设计的变换器架构。FIT通过学习输入数据的压缩表示,并在可学习的潜在空间上执行计算,从而允许输入维度的增长而不会显著影响性能。这种压缩表示使得Snap Video能够有效地处理高分辨率视频数据。
      Snap Video FIT架构
    • 联合空间-时间建模:Snap Video在生成视频时,同时考虑空间和时间维度,这有助于捕捉视频中的动态变化和运动。这种联合建模策略提高了视频的时间一致性和运动质量。
    • 两阶段级联模型:为了生成高分辨率视频,Snap Video采用了两阶段级联模型。第一阶段模型生成低分辨率的视频,第二阶段模型则将这些视频上采样到更高的分辨率。这种级联方法允许模型在保持性能的同时生成高质量的视频。
    • 训练和推理过程:Snap Video在训练过程中使用了LAMB优化器,并采用了余弦学习率调度。在推理过程中,模型使用确定性采样器从高斯噪声中生成视频样本,并应用分类器自由引导(Classifier-Free Guidance)来提高文本-视频对齐。
    • 条件信息:Snap Video在生成过程中利用了条件信息,如文本描述、噪声水平、帧率和分辨率,这些信息通过额外的读取操作提供给模型,以控制生成过程。
  • MeloTTS – MyShell AI推出的多语言文本到语音转换工具

    MeloTTS是什么

    MeloTTS 是一个由 MyShell AI 开发的开源的高质量多语言文本转语音(TTS)库,能够将文本转换成自然流畅的语音输出,支持多种语言,包括但不限于英语(包括不同口音,如美式、英式、印度式和澳大利亚式英语)、西班牙语、法语、中文、日语和韩语。MeloTTS 的语音合成速度非常快,即使在没有 GPU 加速的普通 CPU 上也能实现实时语音合成,生成如真人般高质量、自然流畅的语音输出。

    MeloTTS

    MeloTTS的官网入口

    MeloTTS

    MeloTTS的主要功能

    • 多语言支持:MeloTTS 能够处理多种语言的文本转语音任务,包括英语、西班牙语、法语、中文、日语和韩语等,支持不同的口音和语言环境。
    • 中英混合发音:MeloTTS 特别针对中文用户,支持中英文混合发音,可以处理包含英文单词的中文文本,这对于多语言交流和国际化应用场景非常有用。
    • 实时语音合成:MeloTTS 经过优化,即使在没有 GPU 加速的普通 CPU 上也能实现实时语音合成,这为用户提供了更加便捷和高效的体验。
    • 高质量语音输出:MeloTTS 旨在生成高质量的语音输出,保持语音的自然度和清晰度,使得合成的语音听起来更加真实和自然。
    • 易于安装和使用:MeloTTS 提供了简单的安装指南和 Python API,用户可以在 Linux、macOS、Windows、Docker等系统环境中轻松安装 MeloTTS。

    如何本地安装和使用MeloTTS

    对于Linux和macOS电脑,首先确认已安装Python 3,然后使用以下命令安装和运行MeloTTS:

    pip install melotts
    python -m unidic download
    python melo/app.py

    对于Docker环境(Windows、macOS),依次在终端输入以下命令进行安装和运行:

    git clone https://github.com/myshell-ai/MeloTTS.git
    cd MeloTTS
    docker build -t melotts . 
    docker run --gpus all -it -p 8888:8888 melotts
  • StarCoder 2 – BigCode推出的第二代开源代码大模型

    StarCoder 2是什么

    StarCoder 2是由BigCode项目(Hugging Face和ServiceNow支持)联合Nvidia的团队开发的新一代大型代码语言模型,使用来自 The Stack v2 数据集的 3.3 至 4.3 万亿个代码 token 进行训练,包含 600 多种编程语言,旨在为代码补全、编辑和推理任务提供强大的支持。该系列模型在前一代StarCoder模型的基础上进一步扩展和改进而来,提供了不同规模的模型,包括3B(30亿参数)、7B(70亿参数)和15B(150亿参数)参数的版本。

    StarCoder 2

    StarCoder 2的官网入口

    StarCoder 2的主要特点

    • 大规模训练数据集:StarCoder2的训练数据集(The Stack v2)基于Software Heritage(提供代码存档服务的非营利组织)的源代码存档,这是一个包含超过600种编程语言的庞大代码库。此外,还整合了其他高质量的数据源,如GitHub Pull Requests、Kaggle和Jupter Notebook代码文档,使得训练集比第一代StarCoder大4倍。
      The Stack v2数据集
    • 多样化的模型规模:StarCoder2提供了不同规模的模型,包括3B(30亿参数)、7B(70亿参数)和15B(150亿参数)参数的版本,以适应不同的应用需求和资源限制。
    • 高性能表现:在多个代码LLM基准测试中,StarCoder 2的模型在代码补全、编辑和推理任务上表现出色,尤其是在类似规模的其他模型(如DeepSeekCoder、StableCode、CodeLlama等)中,StarCoder2-3B和StarCoder2-15B都显示出了领先的性能。
      StarCoder 2 MultiPL-E基准测试
    • 开放和透明:StarCoder 2的模型权重在OpenRAIL许可下发布,确保了训练数据的完全透明度。允许研究人员和开发者独立审计模型,并在遵守许可协议的前提下自由使用。
    • 负责任的开发实践:StarCoder 2的开发遵循负责任的AI原则,包括对个人隐私的保护、安全性考虑,以及对潜在的社会偏见和代表性偏见的警觉。

    StarCoder 2的功能特性

    • 代码补全:StarCoder 2能够为开发者提供代码补全建议,帮助他们更快地编写和优化代码。这包括自动完成代码片段、函数和类的定义等。
    • 代码编辑和重构:模型可以协助开发者进行代码编辑,包括修复错误、改进代码结构和风格,以及执行代码重构任务。
    • 代码推理:StarCoder 2具备理解代码逻辑和执行代码推理的能力,可以处理更复杂的编程任务,如理解代码的预期行为并生成相应的代码。
    • 跨语言支持:由于训练数据集包含了多种编程语言,StarCoder 2能够支持多种语言的代码生成和理解,这使得它在多语言项目中特别有用。
    • 交互式编程辅助:StarCoder 2可以作为交互式编程助手,通过自然语言与开发者交流,理解他们的意图并提供相应的代码解决方案。
    • 文档和注释生成:模型还能够根据代码内容自动生成文档和注释,帮助开发者更好地理解和维护代码。
    • 安全性和隐私保护:StarCoder 2在设计时考虑了安全性和隐私保护,能够避免在生成的代码中包含敏感信息,并减少潜在的安全漏洞。
    • 开放和可审计性:StarCoder 2的模型权重和训练数据是开放的,允许研究人员和开发者进行审计,确保模型的透明度和可信赖性。
  • EMO – 阿里推出的AI肖像视频生成框架

    EMO是什么

    EMO(Emote Portrait Alive)是一个由阿里巴巴集团智能计算研究院的研究人员开发的框架,一个音频驱动的AI肖像视频生成系统,能够通过输入单一的参考图像和语音音频,生成具有表现力的面部表情和各种头部姿势的视频。该系统能够捕捉到人类表情的细微差别和个体面部风格的多样性,从而生成高度逼真和富有表现力的动画。

    EMO框架

    EMO的官网入口

    EMO生成肖像视频

    EMO的主要特点

    • 音频驱动的视频生成:EMO能够根据输入的音频(如说话或唱歌)直接生成视频,无需依赖于预先录制的视频片段或3D面部模型。
    • 高表现力和逼真度:EMO生成的视频具有高度的表现力,能够捕捉并再现人类面部表情的细微差别,包括微妙的微表情,以及与音频节奏相匹配的头部运动。
    • 无缝帧过渡:EMO确保视频帧之间的过渡自然流畅,避免了面部扭曲或帧间抖动的问题,从而提高了视频的整体质量。
    • 身份保持:通过FrameEncoding模块,EMO能够在视频生成过程中保持角色身份的一致性,确保角色的外观与输入的参考图像保持一致。
    • 稳定的控制机制:EMO采用了速度控制器和面部区域控制器等稳定控制机制,以增强视频生成过程中的稳定性,避免视频崩溃等问题。
    • 灵活的视频时长:EMO可以根据输入音频的长度生成任意时长的视频,为用户提供了灵活的创作空间。
    • 跨语言和跨风格:EMO的训练数据集涵盖了多种语言和风格,包括中文和英文,以及现实主义、动漫和3D风格,这使得EMO能够适应不同的文化和艺术风格。

    EMO的工作原理

    EMO的工作原理

    1. 输入准备:用户提供一个参考图像(通常是目标角色的静态肖像)和相应的音频输入(如说话或唱歌的声音)。这些输入将作为生成视频的基础。
    2. 特征提取:使用ReferenceNet从参考图像中提取特征。ReferenceNet是一个与主网络(Backbone Network)结构相似的网络,它专注于从输入图像中提取详细的特征。
    3. 音频处理:音频输入通过预训练的音频编码器处理,以提取音频特征。这些特征捕捉了语音的节奏、音调和发音等信息,这些信息将用来驱动视频中角色的面部表情和头部动作。
    4. 扩散过程:在扩散过程中,主网络接收多帧噪声作为输入,并尝试在每个时间步骤中将这些噪声去噪成连续的视频帧。这个过程涉及到两个主要的注意力机制:Reference-Attention和Audio-Attention。Reference-Attention用于保持角色身份的一致性,而Audio-Attention则用于调制角色的动作。
    5. 时间模块:为了处理时间维度并调整动作的速度,EMO使用了时间模块。这些模块通过自注意力机制在帧内的特征上操作,以捕捉视频的动态内容,并确保连续帧之间的连贯性和一致性。
    6. 面部定位和速度控制:为了确保生成的角色动作的稳定性和可控性,EMO使用了面部定位器(Face Locator)和速度层(Speed Layers)。面部定位器通过轻量级卷积层编码面部边界框区域,而速度层则通过将头部旋转速度嵌入到生成过程中来控制动作的速度和频率。
    7. 训练策略:EMO的训练分为三个阶段:图像预训练、视频训练和速度层集成。在图像预训练阶段,主网络和ReferenceNet从单帧图像中学习。在视频训练阶段,引入时间模块和音频层,以处理连续帧。最后,在速度层集成阶段,只训练时间模块和速度层,以确保音频对角色动作的驱动能力。
    8. 生成视频:在推理阶段,EMO使用DDIM采样算法生成视频片段。通过迭代去噪过程,最终生成与输入音频同步的肖像视频。