ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析

ChatHuman: Language-driven 3D Human Understanding with Retrieval-Augmented Tool Reasoning

项目主页:https://chathuman.github.io/

论文地址:https://arxiv.org/pdf/2405.04533

Github地址:https://github.com/linjing7/ChatHuman

 

摘要

目前已经提出了许多人类属性分析方法,包括交互分析、3D姿势估计、情感分析等等。这些方法中的每一种都是孤立的,而不是协同的。本文建立了一个语言驱动的人类理解系统ChatHuman,它结合了当前各种方法的特点。

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

我们对大语言模型(LLM)进行了微调,以选择和使用各种现有工具来响应用户输入。ChatHuman能够结合来自多个工具的信息,并利用多个工具来提高推理能力。实验表明,ChatHuman在工具选择精度和多个3D人相关任务的性能方面都优于现有模型。ChatHuman是朝着将多种人类分析方法整合成一个单一的、强大的3D人推理系统迈出的一步。

简介

ChatHuman是一个多模态LLM,专门用于理解人类及其3D行为。ChatHuman学习开发各种专门的与人类相关的模型,如3D姿势估计、情感识别、接触推理等。我们引入了新颖的训练方法,并展示了ChatHuman能够导航和利用多种工具来实现有关3D人理解的各种任务的最先进结果。ChatHuman能使其在AR/VR、游戏和时尚等领域的应用更接近于全面人类理解的基础模型。

近年来,对3D数字人的研究进展迅速,诸如3D姿势估计,预测面部/身体形状,捕捉情绪以及识别触摸/接触区域等任务。然而,这些工具都侧重于一个特定的问题。为了处理复杂的、现实世界的任务,我们希望有一个“通才”模型,它可以与专家相同或更好的精度解决广泛的问题。

ChatHuman利用LLM来调用适当的工具来响应用户输入,从而完成现实世界的任务。从人类如何使用工具中获得灵感:

  • 1)阅读相关论文来理解工具,这有助于我们知道何时以及如何使用它们;
  • 2)使用工具后,评估结果是否可靠,或比较几种方法的结果,以确定哪一种最可信;
  • 3)然后将这些结果结合起来形成我们的回应。

ChatHuman由一个多模态LLM和22个与人类相关的工具组成。用户请求可以是文本描述、图像或其他3D信息的形式,模型在工具推理后产生文本描述、图像或其他3D输出。实验表明,chathhuman不仅在工具使用精度上超过了以前的模型,而且在各种与人类相关的任务上也提高了性能。

本文主要贡献包括:

  • 1)利用LLM来解决以人为中心的工具与3D人理解相关的任务的新框架;
  • 2)基于科学论文的RAG机制,通过理解学术文章中的工具描述,加强工具的应用和上下文理解,确保工具的精确使用;
  • 3)工具结果与LLM的集成,其中LLM被微调以区分好和坏的工具结果,以提供比任何单一工具更准确的结果。ChatHuman在工具使用和与人相关的任务方面实现了卓越的性能。我们将开源用于研究目的的代码、训练模型和数据集。

相关工作

关于3D人体的推理通常利用参数化模型,如身体的SMPL、SMPLX或GHUM,面部的BFM或FLAME,手部的MANO。这些模型能够将人体、面部和手表示为低维向量,便于后续在估计和生成中的应用。

人体姿态和形状的估计要么依赖于基于优化的方法,要么依赖于基于回归的方法,这些方法从单个图像中估计SMPL的形状和姿态参数。人脸重建方法从单幅图像中估计人脸模型的形状和表情参数。

在生成领域,PoseScript和PoseFix提供了根据文本描述合成和校正3D人体姿势的方法。这些基本方法在各自的场景中表现出色。

最近,ChatPose将姿态生成、估计和LLM的一般理解统一到一个模型中,但仍然局限于全身姿态任务。相比之下,我们的模型利用并集成了22个与人类相关的3D任务的性能到一个单一的基于LLM的模型中。

语言驱动3D人理解

ChatHuman的目标是利用LLM的能力来完成有关3D人理解的任务。本模型旨在与用户交互,并通过输入文本、图像或任何有关3D人的信息来处理各种用户请求。包括关于一个人如何摆姿势的细节,他们的情绪,以及他们如何触摸或与环境互动等。

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

整体流程

我们将ChatHuman模型称为Φ,它由一个多模态LLM fΦ以及一组与人类相关的3D函数fθ n组成。模型接受输入文本Xq,图像Xv或Xm,其他与人类相关的3D输入。然后生成与3D人体相关的文本Yt、图像Yv或模态Ym输出。对于训练,我们保持所有工具函数固定,并且只微调LLM fφ。我们使用LoRA对LLM进行微调。

基于论文的检索-增强工具推理

训练LLM准确地辨别何时以及如何使用工具是一项重大挑战。为了解决这些问题,我们引入了一种基于论文的检索增强生成(RAG)机制。我们首先向GPT-4输入与每个工具相关的学术论文,并提示它重新阐明工具功能,并列举潜在用户对工具激活的查询。学术论文具有背景、详细的说明和各种应用,可以生成涵盖广泛应用场景的用户查询。

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

通过将这些查询与每个工具的结构化参数相结合,我们生成了一个由关于每个工具的工具操作的问答对组成的文档。这些文档在推理过程中充当辅助知识库,我们从中检索相关示例以响应用户查询。检索过程通过使用预训练的文本嵌入模型将查询的文本嵌入与工具文档中的文本嵌入相匹配来实现。然后将检索到的样本与用户查询合并并提供给代理fφ作为上下文学习示例。文本查询、视觉或来自其他模态的输入一起,使工具函数fθ计算结果。

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

工具结果判别与整合

在使用这些工具之后,整合结果来解决问题是很重要的。然而,来自各种工具的输出以不同的形式出现,其中一些可能对当前的多模态LLM来说很难理解。为了利用这些结果并增强LLM对3D人的理解,我们引入了一个工具条件转换Ψ,将工具结果ym转换为文本或视觉格式。之后,转换后的结果将与用户查询合并,作为帮助代理生成响应的线索:

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

在多个工具可以处理用户请求,从而导致各种潜在结果的场景中,我们的目标是LLM识别最准确的结果。为了实现这一点,我们将结果呈现为多项选择题,提示模型为用户查询选择最相关的答案:

构建训练数据

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

工具使用指令跟随数据。给定一个用户查询,基于LLM的代理旨在选择适当的工具并为其操作制定参数。我们为GPT-4提供了图像内容XI和与工具相关的提示符PT,用于编译指令跟随数据。图像内容XI由图像的文本描述、详细说明和对象位置组成。与工具相关的提示符包括一条系统消息,以及描述为“<工具名称>:<使用场景>,<参数>”的工具描述。

工具反馈指令跟随数据。调用工具后,基于LLM的代理应该能够区分和集成工具的结果。为了实现这一点,我们基于工具结果和相应的基础真值标签构建指令跟随数据。我们使用专门的技术或渲染工具将工具结果和真实的人类标签转换为文本或视觉格式。随后,我们向GPT-4V输入图像内容XI、变换后的工具反馈XT和基础真值标签XL,以生成关于工具反馈的指令跟随数据。我们指示GPT-4V管理两种类型的数据。第一个是关于确定最合适的工具响应。第二个侧重于工具结果的集成,包括用户提出的查询,工具的输出作为提示,以及助手的回复。

多模态指令跟随数据。为了保持LLM对多回合对话的固有能力,我们还在训练过程中纳入了来自LLaVA的多模态指令跟随数据IM。最后,我们将工具使用指令跟随数据IT、工具反馈指令跟随数据IF和多模态指令跟随数据IM整合为与LLaVA一致的统一格式对于纯语言指令,我们将X指令设置为Xq,对于包含文本和视觉元素的多模态指令,我们将X指令设置为Xq。

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

实验

实现细节

采用LLaVA-1.5V作为多模态LLM主干,CLIP用于视觉编码,Vicuna用于LLM主干。在检索方面,我们采用INSTRUCTOR进行文本嵌入,并利用Chroma中的向量相似度搜索算法来识别相关示例。为了保持预训练的多模态LLM的泛化能力,我们利用LoRA进行微调。为了优化,我们使用AdamW,学习率和权重衰减分别设置为2e-4和0。所有模型都经过2个epoch的微调,混合了工具使用、工具反馈和LLaVA多模态指令调优数据。在训练阶段,我们使用了8块Nvidia 80G A100 gpu,并使用了DeepSpeed引擎来提高训练效率。除非另有说明,我们使用LLaVA-1.5V-7B作为消融分析的基础模型。

 

数据集

工具使用指令跟随数据。我们构建了90K个关于工具使用的指令响应对。我们的工具库由22个与人类相关的工具组成:8个用于感知,7个用于推理,7个用于生成。我们进一步构建一个验证和测试集进行评估。验证集有1000个样本,使用与训练集相同的工具,而测试集包括689个样本,与训练期间未出现的3个工具相关。

工具反馈指令跟随数据。我们基于现有的3D人数据集构建了88K指令跟踪数据,包括使用MoYo、3DPW和PoseScript构建的61K工具结果识别指令,以及来自SHAPY和DECO的27K工具结果集成指令。

工具使用评估

与Visual ChatGPT和GPT4Tools在评估集上进行了比较,并报告了GPT4Tools中提出的5个指标。对于Visual ChatGPT,我们试验了两个版本的GPT:“GPT -3.5-turbo-1106”和“GPT -4-turbo-preview”。对于GPT4Tools,我们采用官方预训练的13B模型。为了公平的比较,我们还使用官方训练代码将GPT4Tools与我们的训练数据进行微调,并获得一个变体GPT4Tools-FT。

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

由于GPT4Tools中常见的可视化工具和我们以人为中心的工具之间的差异,原始GPT4Tools在我们的基准测试中表现不佳。Visual ChatGPT-4展示了令人印象深刻的工具使用准确性,显示了其强大的零样本能力,遵循标准化格式并准确使用工具。由于我们基于论文的RAG机制,我们的ChatHuman始终优于竞争对手,特别是在训练中看不到的工具。

3D人理解评价

我们评估了ChatHuman在四个具有代表性的与人类相关的任务上的表现,并报告了六个基准的表现。

姿态估计。ChatHuman在经典姿态估计任务上的性能与特定任务模型相当。对于基于推理的人体姿态估计,既包括推理能力,也包括高级人体姿态估计能力,ChatHuman在MPVPE中比任务特定的LLM方法和多模态LLM方法都要高出34.6%。只有我们的方法获得了令人满意的结果。

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

姿态生成。在经典文本到姿态生成任务和推测姿态生成任务(SPG)上评估了ChatHuman的姿态生成能力。我们测试了基于真实姿态训练的检索模型的文本到姿态的召回率R T2P和姿态到文本的召回率R P2T,并对生成的姿态进行了评估。ChatHuman在两个基准测试中与SOTA方法的性能相当。相比之下,先前基于LLM的方法ChatPose在经典姿态生成基准上表现不佳,而特定任务模型PoseScript由于推理能力有限而在SPG基准上落后。

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

体型测量。从HBW验证集中随机抽取100张图像,并将我们的方法与多模态LLM (LLaVA)和CLIFF-BEDLAM进行比较。ChatHuman在大多数测量中都取得了卓越的性能,在平均测量精度上比多模态LLM竞争对手LLaVA高出42%,CLIFF-BEDLAM高出15.7%。

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

人-物交互。在DECO测试集上评估ChatHuman的人-物交互理解能力。给定一幅人体图像,我们要求多模态LLM检测与物体接触的身体部位,并提示GPT-3.5从答案中提取身体部位标签。随后,我们将预测的身体部位与GT身体部位标签进行比较,并计算平均检测精度、召回率和F1分数。ChatHuman在精度和F1得分指标上都达到了SOTA的性能,表明我们的方法具有优越的人-物交互理解能力。

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

总结

ChatHuman旨在学习与3D人相关的工具的使用,并帮助用户解决与3D人相关的任务。模型处理来自用户的请求,分析需求,并应用必要的工具。然后,它评估和综合工具的输出,以响应用户的查询并有效地解决问题。让计算机更好地理解3D人在医疗保健、健身、人机交互、娱乐等方面有许多潜在的好处。

《ChatHuman:一个模型实现3D数字人交互分析、3D姿势估计、情感分析》- 投稿作者:灵度智能 - 发布于:GetAI社区

0

评论0

请先
显示验证码