Category: AI项目和框架

  • DiT – 基于Transfomer架构的扩散模型

    DiT是什么

    DiT(Diffusion Transformers)是一种新型的扩散模型,由William Peebles(Sora的研发负责人之一) 与纽约大学助理教授谢赛宁提出,结合了去噪扩散概率模型(DDPMs)和Transformer架构。扩散模型是一种生成模型,通过模拟数据的逐步去噪过程来生成新的样本。DiT的核心思想是使用Transformer作为扩散模型的骨干网络,而不是传统的卷积神经网络(如U-Net),以处理图像的潜在表示。近期伴随OpenAI视频生成模型Sora的大热,DiT被视为Sora背后的技术基础之一而广受关注。

    DiT模型

    在DiT中,图像首先通过一个自动编码器(如变分自编码器VAE)被压缩成较小的潜在表示,然后在这个潜在空间中训练扩散模型。这样做的好处是可以减少直接在高分辨率像素空间训练扩散模型所需的计算量。DiT模型通过Transformer的自注意力机制来处理这些潜在表示,这使得模型能够捕捉到图像的长距离依赖关系,从而生成高质量的图像。

    DiT的官网入口

    DiT的技术原理

    DiT的技术原理

    1. 数据准备
      • 使用一个预训练的变分自编码器(VAE)将输入图像编码成潜在空间的表示。这个潜在表示通常是图像的低维表示,例如,将256×256×3的RGB图像编码成32×32×4的潜在向量。
      • 这个潜在表示随后被用作DiT模型的输入。
    2. 分块化(Patchification)
      • 输入的潜在表示首先通过一个称为“patchify”的过程,将其分割成一系列的小片段(patches),每个片段对应于Transformer模型的一个输入标记(token)。这个过程类似于将图像分割成小块,以便模型可以逐块处理。
      • 每个片段通过线性嵌入转换为一个固定维度的向量,然后添加位置编码(positional embeddings),以便模型能够理解片段在图像中的位置。
    3. Transformer Blocks模块
      • 输入的标记序列通过一系列的Transformer块进行处理。这些块包括自注意力层、前馈神经网络以及层归一化等组件。
      • 在DiT中,研究者们尝试了不同的Transformer块设计,包括自适应层归一化(adaLN)、交叉注意力(Cross-Attention)和上下文条件(In-Context Conditioning)等,以处理条件信息,如时间步长(timesteps)和类别标签(class labels)。
    4. 条件扩散过程
      • 在训练过程中,DiT模型学习逆向扩散过程,即从噪声数据中恢复出清晰的图像。这个过程涉及到预测噪声的统计特性,如均值(mean)和方差(covariance)。
      • 使用变分下界(Variational Lower Bound, VLB)来训练模型,这涉及到最小化预测噪声和真实噪声之间的均方误差(MSE)。
    5. 样本生成
      • 在训练完成后,可以通过DiT模型生成新的图像。首先,从标准正态分布中采样一个潜在表示,然后通过DiT模型逆向扩散过程,逐步去除噪声,最终解码回像素空间,得到生成的图像。
    6. 可扩展性
      • DiT模型的可扩展性体现在通过增加Transformer的层数、宽度或输入标记的数量来提高模型的计算量(Gflops),从而提高生成图像的质量。这种可扩展性使得DiT模型能够在不同的分辨率和复杂度下生成高质量的图像。

    DiT模型通过这种方式,利用Transformer的强大表达能力和扩散模型的生成能力,实现了在图像生成任务中的高效和高质量输出。

    DiT的关键特点

    • 基于Transformer的架构DiT采用了Transformer作为其核心架构,这使得模型能够处理图像的序列化表示,并通过自注意力机制捕捉图像中的长距离依赖关系。
    • 潜在空间操作DiT在潜在空间中训练,这通常比直接在像素空间训练更高效。通过使用变分自编码器(VAE)将图像编码到潜在空间,DiT减少了计算复杂度。
    • 可扩展性DiT展示了出色的可扩展性,通过增加模型的计算量(以Gflops衡量),可以显著提高生成图像的质量。这种可扩展性允许DiT在不同的分辨率和复杂度下生成图像。
    • 条件生成能力DiT支持条件生成,能够根据给定的类别标签生成特定类别的图像。这种能力使得DiT在特定领域的图像生成任务中非常有用。
    • 自适应层归一化(adaLN)DiT使用了自适应层归一化技术,这是一种在Transformer块中使用的归一化方法,通过学习来调整层归一化的参数,从而提高模型的表达能力和训练效率。
    • 多种Transformer块设计DiT探索了不同的Transformer块设计,包括自适应层归一化(adaLN)、交叉注意力(Cross-Attention)和上下文条件(In-Context Conditioning),以处理条件信息。
    • 高效的训练过程DiT在训练过程中表现出高度的稳定性,即使在没有使用学习率预热和正则化技术的情况下,也能稳定地训练到高性能。
    • 生成图像的多样性和质量DiT能够生成具有高视觉质量和多样性的图像。通过调整类条件生成的指导强度,可以在生成图像的清晰度和多样性之间进行权衡。
    • 高计算效率在生成图像时,DiT能够在保持高图像质量的同时,实现较高的计算效率。这使得DiT在资源有限的环境中也具有吸引力。
    • 应用潜力DiT在图像生成领域具有广泛的应用潜力,包括艺术创作、游戏开发、虚拟现实、数据增强等,尤其是在需要生成高质量图像的场景中。
  • Boximator – 字节推出的控制视频生成中对象运动的框架

    Boximator是什么?

    Boximator是由字节跳动的研究团队开发的一种视频合成技术,旨在生成丰富且可控的运动,以增强视频合成的质量和可控性。该技术通过引入两种类型的约束框(硬框和软框)来实现对视频中对象位置、形状或运动路径的精细控制。

    Boximator

    Boximator的工作原理

    Boximator的工作原理基于视频扩散模型,它通过引入一种新的控制机制来增强视频合成的精细度和可控性。以下是Boximator工作原理的关键步骤:

    1. 对象选择与框定义
      • 用户在视频的起始帧或条件帧中使用硬框(Hard Box)来选择和精确定位对象。这些硬框定义了对象的精确边界。
      • 对于需要更宽松控制的场景,用户可以定义软框(Soft Box),这些框提供了一个对象必须存在的大致区域,允许对象在该区域内自由移动。
    2. 对象ID与框关联
      • Boximator为每个对象分配一个唯一的对象ID,这个ID以RGB颜色空间表示,使得每个对象的框都有一个独特的“颜色”。这样,模型可以跨帧跟踪和控制同一个对象。
    3. 视频扩散模型集成
      • Boximator作为一个插件,与现有的视频扩散模型(如PixelDance和ModelScope)集成。在训练过程中,基础模型的权重被冻结,以保留其预训练的知识,而只训练新增的控制模块。
    4. 自跟踪技术
      • 为了简化模型学习框-对象关联的过程,Boximator引入了自跟踪技术。在训练阶段,模型被训练生成彩色的边界框,这些框的颜色与对象ID相对应。模型需要在每一帧中生成正确的框并将其与Boximator的约束对齐。
    5. 多阶段训练过程
      • Boximator的训练分为三个阶段。第一阶段使用硬框约束,帮助模型建立对坐标和ID的基本理解。第二阶段引入软框,通过随机扩展硬框来增加训练的难度。第三阶段继续使用软框,但不生成可见的边界框,而是让模型内部保留这种关联。
    6. 推理阶段
      • 在推理(生成视频)阶段,Boximator在用户定义的框之外的帧中插入软框。这些软框通过线性插值和放松处理来生成,确保对象大致遵循预期的运动轨迹,同时给予模型足够的灵活性来引入变化。
    7. 运动控制与质量评估
      • Boximator通过平均精度(AP)分数来评估运动控制的准确性,这涉及到比较生成的视频中的检测到的边界框与真实边界框的一致性。
      • 视频质量则通过Fréchet Video Distance(FVD)分数和CLIP相似性分数(CLIPSIM)来衡量。

    通过这些步骤,Boximator能够在视频合成过程中实现对对象运动的精细控制,同时保持视频的高质量和逼真度。

    Boximator视频合成

    Boximator的应用场景

    • 电影和电视制作在电影和电视剧的后期制作中,Boximator可以用来生成或修改场景,例如添加或移除角色、调整动作场景,或者创造复杂的特效,而无需昂贵的现场拍摄。
    • 游戏开发游戏开发者可以使用Boximator来创建动态的游戏场景和角色动画,特别是在需要高度定制化或快速迭代内容时,这可以大大节省开发时间和成本。
    • VR和AR内容创作在虚拟现实(VR)和增强现实(AR)领域,Boximator可以用来生成逼真的虚拟环境和交互式对象,为用户提供沉浸式的体验。
  • V-JEPA:Meta推出的视觉模型,可以通过观看视频来学习理解物理世界

    V-JEPA是什么?

    V-JEPA(Video Joint-Embedding Predictive Architecture,视频联合嵌入预测架构)是由Meta的研究人员推出的一种新型的视频自监督学习方法,它专注于通过特征预测来学习视频的视觉表示。这种方法的核心思想是让模型能够预测视频中一个区域(称为目标区域y)的特征表示,这个预测基于另一个区域(称为源区域x)的特征表示。这种预测过程是在没有外部监督(如标注或预训练图像编码器)的情况下进行的,完全依赖于视频数据本身的结构和内容。

    Meta V-JEPA

    V-JEPA 的与众不同之处在于它的自我监督学习方法,该方法可以预测抽象特征空间内视频的缺失部分,而不是填充缺失像素的生成方法。该技术不是通过手动标注,而是通过像人类一样的被动观察来建立对视频片段的概念理解。

    V-JEPA的主要特点

    • 自监督学习:V-JEPA不依赖于预训练的图像编码器、文本、负例、像素级重构或其他形式的外部监督。它完全通过视频数据自身的特征预测来学习视觉表示。
    • 特征预测目标:V-JEPA的核心目标是预测视频帧之间的特征表示。这种目标允许模型学习到视频中的时间连续性和空间结构,而不仅仅是像素级别的信息。
    • 联合嵌入架构:V-JEPA采用了一种特殊的网络架构,其中包括一个编码器(x-encoder)和一个预测器(predictor)。编码器负责提取视频帧的特征表示,而预测器则基于这些特征来预测目标帧的特征。
    • 多块掩蔽策略:在训练过程中,V-JEPA使用多块掩蔽策略来处理视频帧。这种方法通过在视频的不同时间点上掩蔽不同的区域,迫使模型学习到更加鲁棒和全面的视频表示。
    • 高效的预训练数据集:V-JEPA在由200万个视频组成的大规模数据集上进行预训练,这些视频来自多个公共数据集,如HowTo100M、Kinetics-400/600/700和Something-Something-v2。
    • 无需模型参数调整:V-JEPA训练出的模型在多种下游任务上表现出色,且无需对模型参数进行调整。这意味着模型可以直接在冻结的状态下进行评估,或者通过少量的微调(fine-tuning)来适应新任务。
    • 标签效率:V-JEPA在有限的标注数据下也能取得良好的性能,这表明它在标签效率方面具有优势,这对于数据标注成本高昂的场景尤为重要。
    • 跨模态性能:V-JEPA不仅在视频任务上表现出色,如动作识别和运动分类,而且在图像任务上也有竞争力,如ImageNet图像分类。
    • 快速训练:V-JEPA在训练过程中表现出较高的效率,能够在相对较短的时间内学习到有效的视觉表示,这使得它在大规模视频数据集上的应用成为可能。

    V-JEPA的工作原理

    V-JEPA的工作原理基于自监督学习,它通过预测视频帧之间的特征表示来训练模型。

    V-JEPA的工作原理

    以下是V-JEPA工作流程的详细步骤:

    1. 视频预处理:首先,从输入视频中随机抽取一系列帧(例如16帧),并将这些帧转换为适合模型处理的格式。这通常包括将视频帧的空间分辨率调整到模型所需的大小(如224×224像素),并将帧序列转换为一系列空间-时间(spatio-temporal)的“tokens”。
    2. 编码器(Encoder):视频帧通过一个视觉Transformer(ViT)编码器,这个编码器将视频帧转换为一系列特征表示。编码器通常由多个Transformer层组成,能够捕捉视频帧之间的空间和时间关系。
    3. 掩蔽(Masking):在视频帧的特征表示中,随机选择一部分区域进行掩蔽(masking),这些掩蔽的区域将作为预测目标。掩蔽可以是短距离(short-range)或长距离(long-range),以确保模型能够学习到视频内容的不同尺度特征。
    4. 预测器(Predictor):预测器网络接收编码器输出的特征表示,并尝试预测被掩蔽区域的特征。预测器通常是一个较窄的Transformer,它通过学习视频帧之间的特征关系来生成预测。
    5. 损失函数:V-JEPA使用一个损失函数来衡量预测特征与实际特征之间的差异。这个损失函数通常是L1损失,它计算预测特征和目标特征之间的平均绝对误差。
    6. 训练过程:在训练过程中,模型通过反向传播算法调整编码器和预测器的权重,以最小化损失函数。同时,编码器的权重会以指数移动平均(EMA)的方式更新,以保持模型的稳定性。
    7. 下游任务评估:预训练完成后,V-JEPA模型可以在各种下游任务上进行评估,如动作识别、运动分类等。在这些任务中,模型可以通过一个称为“attentive probe”的轻量级网络来提取视频的特征表示,然后用于分类或其他任务。
    8. 微调(Fine-tuning):如果需要,V-JEPA模型可以在特定任务上进行微调。这通常涉及到在预训练模型的基础上添加一个或多个全连接层,并在有标签的数据集上进行训练。
  • Depth Anything – Tiktok等推出的单目深度估计模型

    Depth Anything是什么?

    Depth Anything是由来自Tiktok、香港大学和浙江大学的研究人员推出的一个为单目深度估计(Monocular Depth Estimation, MDE)设计的深度学习模型,旨在处理各种情况下的图像并估计其深度信息。该模型的核心特点是利用大规模的未标注数据来增强模型的泛化能力,使其能够在没有人工标注深度信息的情况下,对各种场景的图像进行准确的深度预测。

    Depth Anything

    Depth Anything的官网入口

    Depth Anything的主要特点

    • 鲁棒性:Depth Anything能够在各种环境条件下,如低光照、复杂场景、雾天和超远距离等情况下,提供准确的深度估计。
    • 零样本学习:模型能够在没有特定数据集训练的情况下,对未见过的图像进行深度估计,具有很强的泛化能力。
    • 数据增强:通过使用数据增强工具,如颜色抖动和高斯模糊,以及CutMix等空间扰动,模型能够在训练过程中学习到更丰富的视觉知识,从而提高其对未知图像的处理能力。
    • 语义辅助感知:Depth Anything利用预训练的编码器(如DINOv2)来提供丰富的语义信息,这有助于模型更好地理解场景内容,从而提高深度估计的准确性。
    • 多任务学习:模型不仅能够进行深度估计,还能够在多任务学习框架下进行语义分割,这表明它有潜力成为一个通用的多任务编码器,适用于中层和高层的视觉感知任务。

    Depth Anything的工作原理

    Depth Anything的工作原理基于深度学习和大规模数据集的结合,特别是利用未标注数据来增强模型的泛化能力。

    Depth Anything的工作原理

    以下是其工作原理的关键步骤:

    1. 数据收集与预处理
      • 首先,研究者们设计了一个数据引擎,用于从多个公共大型数据集中收集原始未标注的图像,这些图像覆盖了广泛的多样性,如不同的场景、光照条件和天气状况。
      • 然后,使用预训练的单目深度估计(MDE)模型对这些未标注图像进行深度预测,生成伪标签(pseudo labels),这些伪标签将用于后续的训练过程。
    2. 模型训练
      • 在第一阶段,使用从公共数据集中收集的标注图像训练一个教师模型(teacher model),这个模型将作为后续学生模型(student model)的基础。
      • 在第二阶段,学生模型在教师模型的帮助下,结合标注图像和伪标签图像进行联合训练。这一过程称为自训练(self-training)。
    3. 数据增强与挑战
      • 为了提高模型的鲁棒性,研究者们在未标注图像上应用了强扰动,如颜色失真和空间剪切(CutMix),迫使模型在训练过程中学习到更鲁棒的表示。
    4. 语义辅助
      • 为了增强模型的场景理解能力,研究者们采用了辅助特征对齐损失(feature alignment loss),使得学生模型在特征空间中与预训练的语义分割模型(如DINOv2)保持一致。这有助于模型在深度估计任务中更好地理解场景内容。
    5. 模型微调和评估
      • 在训练完成后,Depth Anything模型可以通过微调来适应特定的深度估计任务,如使用NYUv2和KITTI数据集的度量深度信息进行微调,以进一步提高其在特定任务上的性能。

    Depth Anything的应用场景

    • 机器人导航:在机器人领域,准确的深度信息对于机器人理解周围环境、规划路径和避免障碍物至关重要。Depth Anything可以帮助机器人在复杂或未知的环境中进行有效的导航。
    • 自动驾驶:自动驾驶系统需要精确的深度信息来识别道路、车辆、行人和其他障碍物,以确保安全驾驶。Depth Anything可以提供这些关键信息,增强自动驾驶车辆的环境感知能力。
    • 增强现实(AR)和虚拟现实(VR):在AR和VR应用中,Depth Anything可以用来估计现实世界中的深度信息,从而实现更自然和逼真的虚拟对象与现实世界的融合。
    • 3D重建:通过单目图像估计深度,Depth Anything可以辅助3D建模和重建,为建筑、城市规划、文化遗产保护等领域提供支持。
    • 游戏开发:在游戏开发中,Depth Anything可以用来增强游戏的视觉效果,通过估计场景深度来实现更真实的光影效果和景深效果。
  • AnimateDiff – 扩展文生图模型生成动画的框架

    AnimateDiff是什么?

    AnimateDiff是由上海人工智能实验室、香港中文大学和斯坦福大学的研究人员推出的一款将个性化的文本到图像模型扩展为动画生成器的框架,其核心在于它能够利用从大规模视频数据集中学习到的运动先验知识,可以作为 Stable Diffusion 文生图模型的插件,允许用户将静态图像转换为动态动画。该框架的目的是简化动画生成的过程,使得用户能够通过文本描述来控制动画的内容和风格,而无需进行特定的模型调优。

    AnimateDiff

    AnimateDiff的官网入口

    AnimateDiff的功能特色

    • 个性化动画生成:AnimateDiff允许用户将个性化的文本到图像模型(如Stable Diffusion)转化为动画生成器。这意味着用户可以输入文本描述,模型不仅能够生成静态图像,还能生成与文本描述相符的动画序列。
    • 无需模型特定调整:AnimateDiff的核心优势在于它不需要对个性化模型进行额外的调整。用户可以直接使用框架中预训练的运动建模模块,将其插入到个性化T2I模型中,实现动画生成。
    • 保持风格特性:在生成动画的过程中,AnimateDiff能够保持个性化模型的领域特性,确保生成的动画内容与用户定制的风格和主题保持一致。
    • 跨领域应用:AnimateDiff支持多种领域的个性化模型,包括动漫、2D卡通、3D动画和现实摄影等,使得用户可以在不同风格和主题之间自由切换,创作多样化的动画内容。
    • 易于集成:AnimateDiff的设计使得它易于与现有的个性化T2I模型集成,用户无需具备深厚的技术背景即可使用,大大降低了使用门槛。

    AnimateDiff的工作原理

    AnimateDiff的工作原理

    1. 运动建模模块的插入:首先,AnimateDiff在现有的文本到图像模型中插入一个专门设计的运动建模模块。这个模块负责理解和生成动画中的运动信息,它被设计为能够在模型的不同分辨率层次上工作,以确保生成的动画在细节上保持一致性。
    2. 视频数据训练:运动建模模块通过在大规模视频数据集上进行训练,学习视频中的运动模式。这个训练过程是在模型的冻结状态下进行的,即基础T2I模型的参数保持不变,以避免影响其原有的图像生成能力。
    3. 时间维度的注意力机制:AnimateDiff使用标准的注意力机制(如Transformer中的自注意力)来处理时间维度。这种机制允许模型在生成动画的每一帧时,都能够考虑到前一帧和后一帧的信息,从而实现平滑的过渡和连贯的动作。
    4. 动画生成:待运动建模模块训练完成,它就可以被插入到任何基于同一基础文生图模型的个性化模型中。在生成动画时,用户输入文本描述,模型会结合文本内容和运动建模模块学习到的运动先验知识,生成与文本描述相符的动画序列。
  • MotionCtrl – 腾讯等推出的视频生成模型的运动控制器

    MotionCtrl是什么

    MotionCtrl是由来自腾讯、香港大学、上海AI实验室、清华大学、广东工业大学等机构的研究人员推出的一个为视频生成模型设计的统一且灵活的运动控制器,能够独立地控制视频中的相机运动和物体运动视角。该系统由两个主要模块组成:相机运动控制模块和物体运动控制模块,可以与潜在视频扩散模型协同工作,以实现对生成视频中运动视角的精确控制。

    MotionCtrl

    MotionCtrl的官网入口

    MotionCtrl的功能特色

    • 搭配模型生成视频:MotionCtrl能够搭配视频生成模型(如VideoCrafter、Stable Video Diffusion)根据文本提示生成视频,这些视频不仅包含静态图像,还包括连贯和流畅的运动效果。
    • 控制相机运动:用户可以指定相机在视频中的运动方式,例如平移(左右、上下移动)、缩放(放大或缩小)、旋转(顺时针或逆时针转动)等,MotionCtrl能够根据这些指令生成相应的视频。
    • 控制物体运动:MotionCtrl能够控制视频中物体的运动轨迹,比如物体在场景中的移动路径、速度和方向,使得物体的运动与文本描述或用户指定的轨迹相匹配。
    • 组合运动控制:MotionCtrl不仅能够独立控制相机和物体运动,还能够同时控制两者,实现复杂的运动效果,如相机在追踪物体的同时进行平移或旋转。
    • 适应多种相机姿态和轨迹:经过训练后,MotionCtrl能够适应各种不同的相机姿态和物体运动轨迹,无需为每种新情况重新训练模型。

    MotionCtrl的工作原理

    MotionCtrl的工作原理主要基于两个核心模块:相机运动控制模块(CMCM)和物体运动控制模块(OMCM),以及它们与潜在视频扩散模型(LVDM)的协同工作。

    MotionCtrl的工作原理

    以下是MotionCtrl工作原理的详细步骤:

    1. 相机运动控制(CMCM)
      • CMCM接收一系列相机姿态(包括旋转矩阵和位移矩阵),这些姿态描述了相机在视频中的运动路径。
      • CMCM通过与LVDM中的时间变换器(temporal transformers)交互,将相机姿态信息融合到视频生成过程中。
      • 在时间变换器的第二个自注意力模块中,相机姿态序列被扩展并与时间步信息结合,然后通过全连接层处理,以便在后续的时间变换器中使用。
      • 这样,生成的视频将遵循指定的相机运动,如平移、缩放和旋转,从而实现对全局场景运动的控制。
    2. 物体运动控制(OMCM)
      • OMCM负责处理视频中物体的运动轨迹,这些轨迹通常表示为物体在每一帧中的空间位置。
      • OMCM利用卷积层和下采样操作从轨迹中提取多尺度特征,并将这些特征空间地融合到LVDM的卷积层中。
      • 通过这种方式,OMCM能够指示视频中物体在每一帧中的位置,实现对物体局部运动的控制。
    3. 训练策略
      • MotionCtrl的训练分为两个阶段。首先,使用Realestate10K数据集训练CMCM,这个数据集包含了视频剪辑和相机姿态注释,但缺少物体运动轨迹。
      • 然后,使用WebVid数据集和通过ParticleSfM算法合成的物体运动轨迹来训练OMCM。这个数据集包含了视频剪辑、标题和物体运动轨迹。
      • 在训练过程中,CMCM和OMCM作为适配器模块(adapter-like modules)被添加到预训练的LVDM模型上,允许它们独立训练,而不影响LVDM的其他部分。
    4. 视频生成
      • 在视频生成阶段,MotionCtrl根据文本提示,结合相机姿态和物体运动轨迹,生成与文本描述相符的视频。
      • LVDM首先从噪声中生成视频的潜在表示,然后CMCM和OMCM根据给定的运动条件调整视频的全局和局部运动,最终生成具有指定运动效果的视频。
  • Make-A-Character:阿里开源的AI 3D数字人生成框架

    Make-A-Character是什么?

    Make-A-Character(简称Mach)是一个由阿里巴巴集团智能计算研究院开发的一个人工智能3D数字人生成框架,旨在通过文本描述快速创建逼真的3D角色。该系统特别适用于满足人工智能代理和元宇宙中对个性化和富有表现力的3D角色的需求。Mach的核心功能是利用大型语言和视觉模型来理解文本中的意图,并生成中间图像,然后通过一系列针对人类视觉感知和3D生成的模块,将这些图像转化为完整的3D角色模型。

    Make-A-Character

    Make-A-Character的官网入口

    Make-A-Character Demo

    Make-A-Character的功能特色

    • 文本到3D角色生成:用户可以通过输入文本描述来指定角色的外观特征,如面部特征、发型、服装等,Mach系统会根据这些描述生成相应的3D角色模型。
    • 灵活的可控定制:系统允许用户对角色进行详细的定制,包括面部特征、眼睛形状、虹膜颜色、发型和颜色、眉毛、嘴巴和鼻子等,甚至可以添加皱纹和雀斑,以创造出符合用户个性化需求的角色。
    • 高度逼真的渲染:Mach利用基于物理的渲染(PBR)技术,结合真实人类扫描数据,生成高度逼真的角色。角色的头发以发丝的形式构建,而非传统的网格,以增强真实感。
    • 完整的角色模型:生成的角色模型包括眼睛、舌头、牙齿、全身和服装等所有细节,确保角色在各种应用场景中都能立即使用。
    • 动画支持:角色配备了高级的骨骼刚体,支持标准动画,使得角色能够进行各种动态表现,如面部表情变化等。
    • 行业兼容性:Mach生成的角色模型采用明确的3D表示,可以无缝集成到游戏和电影行业的标准CG流程中,便于后续的动画制作和渲染。

    Make-A-Character的工作原理

    Make-A-Character的工作原理

    1. 文本解析与视觉提示生成
      • 用户输入描述角色特征的文本提示。
      • 使用大型语言模型(LLM)来理解文本中的语义信息,提取关键的面部特征和属性。
      • 将这些特征映射到视觉线索,如姿势和边缘图,以指导后续的图像生成。
    2. 参考肖像图像生成
      • 结合Stable Diffusion模型和ControlNet,根据提取的视觉线索生成参考肖像图像。ControlNet确保生成的图像具有正面姿势和中性表情,便于后续的3D建模。
      • 使用Openpose和Canny边缘检测技术来确保面部特征的合理分布。
    3. 密集面部坐标检测
      • 利用密集面部坐标(431个坐标点)来重建面部和头部几何结构,这些坐标点比传统的68或98个坐标点更详细,覆盖整个头部。
      • 使用合成图像作为训练数据,通过多视角捕捉和处理流程生成这些坐标点。
    4. 几何生成
      • 根据参考肖像图像和密集面部坐标,重建头部几何结构。通过将3D网格映射到2D平面,实现对网格的优化。
      • 使用坐标投影损失和局部平滑约束来确保几何结构的准确性。
    5. 纹理生成
      • 使用可微渲染技术从参考图像中提取纹理,并通过多分辨率策略逐步生成高分辨率纹理。
      • 引入神经除光(de-lighting)方法,从纹理图像中去除不必要的照明效果,得到适合渲染的漫反射贴图。
    6. 纹理修正与完成
      • 对生成的漫反射贴图进行修正,解决眼睛、嘴巴和鼻孔等区域的不完美问题。
      • 使用面部解析算法提取错误区域的遮罩,并通过泊松融合(Poisson blending)技术与模板漫反射贴图合并,以改善视觉效果。
    7. 头发生成
      • 通过2D图像合成各种发型,然后基于这些图像进行3D发丝重建。
      • 使用先进的头发生成技术,如NeuralHDHair,训练模型并生成高质量的3D发丝。
    8. 资产匹配
      • 将生成的头部与预先制作的头发、身体、服装和配饰等资产进行匹配。
      • 使用CLIP文本编码器计算输入提示与资产标签之间的相似度,选择最匹配的资产。
    9. 角色装配
      • 将所有生成和匹配的部件组装成一个完整的3D角色模型。
      • 角色模型支持动画,可以通过骨骼刚体进行动态表现。
  • MetaGPT – 多个AI智能体协作分工的框架

    MetaGPT是什么?

    MetaGPT是一个创新的元编程框架,结合了大语言模型和多智能体协作系统,旨在通过模拟人类工作流程来解决复杂问题。该框架的核心在于将标准化操作程序(SOPs)编码成提示序列,以便在多智能体系统中实现更高效的工作流程和减少错误。

    MetaGPT

    在MetaGPT中,智能体被赋予特定的角色,例如产品经理、架构师、项目经理、工程师和质量保证工程师等,每个角色都有其独特的职责和专业知识。这些智能体遵循SOPs来分解任务,确保每个步骤都能高效且准确地完成。例如,在软件开发过程中,产品经理负责分析需求并创建产品需求文档(PRD),架构师负责将需求转化为系统设计,项目经理负责任务分配,工程师负责编写代码,而质量保证工程师则负责测试和确保代码质量。

    MetaGPT的官网入口

    MetaGPT的主要特点

    • 角色专业化与分工协作:MetaGPT将多智能体系统中的智能体分配到不同的角色,如产品经理、架构师、工程师等,每个角色都有明确的职责和任务。这种分工使得复杂任务能够被分解为更小、更具体的子任务,由具有相应专业知识的智能体来完成。
    • 标准化操作程序(SOPs)集成:MetaGPT将SOPs编码成提示序列,这些标准化的流程有助于智能体更有效地完成任务。SOPs在人类社会中广泛应用于各种领域,以确保任务的一致性和质量,MetaGPT借鉴这一概念,提高了智能体协作的效率和准确性。
    • 结构化通信:为了解决纯自然语言通信在复杂任务中的局限性,MetaGPT采用了结构化的通信方式。智能体通过共享消息池发布和订阅信息,这样可以确保信息的准确传递,同时避免信息过载。
    • 可执行反馈机制:MetaGPT引入了一种自我修正机制,允许智能体在代码生成过程中进行迭代编程。例如,工程师智能体可以根据产品需求和设计生成代码,然后执行并检查错误。如果发现问题,它会根据过去的信息和当前的PRD、系统设计以及代码文件进行调试,直到代码通过测试。
    • 模拟真实世界团队协作:MetaGPT通过模拟真实世界中的软件开发团队,展示了其在分解复杂任务、分配具体行动程序给不同角色以及促进团队成员之间协作的能力。

    MetaGPT智能体协作

    MetaGPT的工作原理

    1. 角色定义与分工
      • MetaGPT首先定义了一系列智能体角色,每个角色都有特定的职责和任务。例如,产品经理负责分析用户需求,架构师负责系统设计,工程师负责编写代码,质量保证工程师负责测试等。
      • 这些角色模拟了真实世界中的工作流程,使得每个智能体都能专注于其擅长的领域。
    2. 标准化操作程序(SOPs)
      • MetaGPT将SOPs编码成提示序列,这些序列指导智能体如何执行任务。SOPs确保了任务执行的一致性和质量,类似于人类团队中的工作指南。
      • 通过遵循这些标准化流程,智能体能够更有效地协作,减少错误,并提高整体工作流程的效率。
    3. 结构化通信
      • 为了提高通信效率,MetaGPT采用了结构化的通信方式。智能体通过共享消息池发布和订阅信息,这样每个智能体都能获取到完成任务所需的必要信息。
      • 这种通信方式避免了信息的冗余和缺失,确保了信息的准确传递。
    4. 可执行反馈机制
      • 在代码生成过程中,MetaGPT引入了可执行反馈机制。这意味着智能体(如工程师)在编写代码后,会执行代码并检查其正确性。
      • 如果发现错误,智能体会根据反馈进行调试,然后再次执行,直到代码满足要求。这个过程类似于人类开发者在开发过程中的迭代过程。
    5. 任务分解与协作
      • MetaGPT将复杂任务分解为多个子任务,每个子任务由一个或多个智能体负责。这种分解策略使得大型项目可以被有效地管理和执行。
      • 智能体之间的协作是通过角色间的信息交换和任务依赖来实现的,确保了整个项目按计划推进。
    6. 持续学习与优化
      • MetaGPT的设计允许智能体从过去的经验中学习,通过自我修正和迭代来优化其行为。这种自我改进机制使得系统能够随着时间的推移而变得更加高效和智能。

    MetaGPT智能体角色

    MetaGPT的应用场景

    • 软件开发:MetaGPT可以模拟软件开发团队的工作流程,从需求分析、系统设计、代码编写到测试和调试,每个步骤都由专门的智能体负责。这有助于提高软件开发的效率,减少错误,并生成高质量的代码。
    • 项目管理:在项目管理中,MetaGPT可以协助规划、分配任务、监控进度和资源分配。通过模拟项目经理的角色,它可以帮助确保项目按时完成,同时保持团队成员之间的有效沟通。
    • 自动化测试:MetaGPT的智能体可以生成和执行自动化测试用例,确保软件在各种条件下的稳定性和性能。这有助于在软件开发过程中及早发现并修复缺陷。
    • 数据分析与决策支持:MetaGPT可以集成数据分析工具,帮助企业分析市场趋势、用户行为等数据,为决策提供支持。它可以模拟数据分析师的角色,提供洞察力并辅助制定策略。
  • DiffusionGPT – 开源的大模型驱动的文本到图像生成系统

    DiffusionGPT是什么?

    DiffusionGPT是由来自字节跳动与中山大学的研究人员推出的一个开源的大模型(LLM)驱动的文本到图像生成系统,旨在解决文生图领域无法处理不同的输入或者仅限于单一模型结果的挑战。该系统利用思维树和优势数据库的技术能够处理多种类型的文本提示,并将这些提示与领域专家模型相结合,以生成高质量的图像。

    DiffusionGPT

    DiffusionGPT的官网入口

    DiffusionGPT的主要特点

    • 文本提示解析:DiffusionGPT能够理解和解析各种类型的文本提示,包括基于描述的、基于指令的、基于启发的和基于假设的提示。这一功能使得系统能够准确把握用户想要生成的图像内容。
    • 模型选择与集成:系统通过构建一个基于思维树(Tree-of-Thought, ToT)的结构,将多个领域专家生成模型进行分类和组织。这允许DiffusionGPT根据输入的文本提示,从众多模型中选择最合适的一个来生成图像。
    • 人类反馈优化:DiffusionGPT利用人类反馈来优化模型选择过程。通过优势数据库(Advantage Databases),系统可以根据人类对模型生成结果的评分来选择表现最佳的模型,从而提高生成图像的质量和用户满意度。
    • 图像生成执行:在选择了合适的模型后,DiffusionGPT会执行图像生成过程。为了增强生成图像的细节和艺术性,系统还会通过提示扩展代理来丰富和细化输入提示。
    • 多领域适用性:DiffusionGPT设计为一个全能系统,不仅适用于描述性文本提示,还能够处理更复杂的指令和启发性内容,这使得它在多样化的应用场景中具有广泛的适用性。
    • 即插即用解决方案:DiffusionGPT的设计使其成为一个训练免费、易于集成的解决方案,可以轻松地集成到现有的图像生成流程中,为用户提供便捷的服务。

    DiffusionGPT结果

    DiffusionGPT的工作原理

    DiffusionGPT的工作原理可以分为四个主要步骤,这些步骤共同协作以实现从文本提示到高质量图像生成的过程:

    DiffusionGPT工作原理

    1. 提示解析(Prompt Parse)
      • DiffusionGPT首先使用大语言模型(LLM)来分析和提取输入文本提示中的关键信息。这个过程对于生成用户期望的内容至关重要,因为用户输入可能包含多种类型的提示,如基于描述的、基于指令的、基于启发的或基于假设的。
      • LLM能够识别这些提示的不同形式,并提取出核心内容,以便为后续的图像生成提供准确的指导。
    2. 模型构建和搜索的思维树(Tree-of-Thought of Models)
      • 在解析了提示之后,系统会构建一个基于思维树(ToT)的结构,这个结构包含了多个领域专家生成模型。这些模型根据它们的属性被分类到不同的节点,形成一个层次化的结构。
      • 通过这个思维树,系统可以缩小候选模型的范围,提高模型选择的准确性。这个过程类似于在树中搜索,从根节点开始,根据提示内容逐步向下寻找最匹配的模型。
    3. 模型选择(Model Selection)
      • 在确定了候选模型集之后,DiffusionGPT会利用人类反馈和优势数据库(Advantage Databases)来选择最合适的模型。这个数据库包含了对模型生成结果的评分,基于这些评分,系统可以确定哪些模型在处理特定类型的提示时表现最佳。
      • 系统会根据输入提示与数据库中的提示进行语义相似度计算,然后选择与这些提示最匹配的模型,以确保生成的图像符合用户的期望。
    4. 生成执行(Execution of Generation)
      • 最后,选定的模型会根据提取的核心提示生成图像。为了提高生成图像的质量,DiffusionGPT还会使用提示扩展代理(Prompt Extension Agent)来丰富和细化输入提示,使其更加详细和具有描述性。
      • 这样,生成的图像不仅能够捕捉到提示的核心内容,还能展现出更高的细节和艺术性。

    通过这四个步骤,DiffusionGPT能够无缝地处理多样化的文本提示,并生成与用户意图高度一致的高质量图像。这个系统的设计旨在提高图像生成的灵活性和效率,同时利用人类反馈来不断优化生成过程。

  • OLMo – 艾伦AI研究所开源的完全开放的大语言模型框架

    OLMo是什么?

    OLMo(Open Language Model)是由Allen AI(AI2,艾伦人工智能研究所)开发的一个完全开源开放的大型语言模型(LLM)框架,设计初衷是为了通过开放研究,促进学术界和研究人员共同研究语言模型的科学。OLMo框架提供了一系列的资源,包括数据、训练代码、模型权重以及评估工具,以便研究人员能够更深入地理解和改进语言模型。

    OLMo大模型

    OLMo的官网入口

    OLMo的主要特点

    • 大规模预训练数据:基于AI2的Dolma数据集,这是一个包含3万亿个标记的大规模开放语料库,为模型提供了丰富的语言学习材料。
    • 多样化的模型变体:OLMo框架包含了四种不同规模的模型变体,每种模型至少经过2万亿token的训练,这为研究人员提供了多种选择,以适应不同的研究需求。
    • 详细的训练和评估资源:除了模型权重,OLMo还提供了完整的训练日志、训练指标和500多个检查点,这些资源可以帮助研究人员更好地理解模型的训练过程和性能。
    • 开放性和透明度:OLMo的所有代码、权重和中间检查点都在Apache 2.0许可证下发布,这意味着研究人员可以自由地使用、修改和分发这些资源,以促进知识的共享和创新。

    OLMo的模型性能

    据OLMo的论文报告,OLMo-7B模型在零样本(zero-shot)评估中的表现与其他几个模型进行了对比,这些模型包括Falcon-7B、LLaMA-7B、MPT-7B、Pythia-6.9B、RPJ-INCITE-7B和LLaMA-7B。

    以下是OLMo-7B在一些核心任务上的比较结果:

    OLMo性能对比

    1. 下游任务评估:OLMo-7B在9个核心任务的零样本评估中,在2个任务(科学问题和因果推理)上表现最佳,8个任务上保持在前三名。这表明OLMo-7B在这些任务上具有较强的竞争力。
    2. 基于困惑度的评估:在Paloma评估框架中,OLMo-7B在多个数据源上的困惑度(bits per byte)表现也显示出竞争力。特别是在与代码相关的数据源(如Dolma 100 Programming Languages)上,OLMo-7B的表现显著优于其他模型。
    3. 额外任务评估:在额外的6个任务(headqa en、logiqa、mrpcw、qnli、wic、wnli)上,OLMo-7B在零样本评估中的表现同样优于或接近其他模型。