登录

西湖大学修宇亮:数字人重建,慢慢都会变成基础模型的微调任务


速读:西湖大学修宇亮:数字人重建,慢慢都会变成基础模型的微调任务西湖大学修宇亮:数字人重建,慢慢都会变成基础模型的微调任务|GAIR2025。 在12月13日的“世界模型”专场,西湖大学助理教授,远兮实验室负责人修宇亮进行了以《走出蜡像馆,交互新世界:开拓三维数字人研究新疆域》为主题的演讲,分享了其关于高精度数字人重建的三项最新进展。 几何跑得差不多了,我们就尝试固定几何,再跑它的纹理,这样我们就可以把这个人带纹理的几何模型给重建出来。 更强大的通用3D重建模型正在让越来越多数字人重建任务迎刃而解。 第一个工作是关于三维形象重建,怎么从日常的图像里面去做高精度的数字人重建。
西湖大学修宇亮:数字人重建,慢慢都会变成基础模型的微调任务 | GAIR 2025

西湖大学修宇亮:数字人重建,慢慢都会变成基础模型的微调任务 | GAIR 2025

2025年12月31日 17:

雷峰网讯 12月12日,第八届 GAIR 全球人工智能与机器人大会于深圳正式拉开帷幕。

本次大会为期两天,由GAIR研究院与雷峰网联合主办,高文院士任指导委员会主席,杨强院士与朱晓蕊教授任大会主席。大会共开设三个主题论坛,聚焦大模型、具身智能、算力变革、强化学习与世界模型等多个议题,描绘AI最前沿的探索群像,折射学界与产业界共建的智能未来。

作为 AI 产学研投界标杆盛会,GAIR自2016年创办以来,始终坚守 “传承+创新” 内核,是 AI 学界思想接力的阵地、技术交流的平台,更是中国 AI 四十年发展的精神家园。过去四年大模型驱动 AI 产业加速变革,岁末年初 GAIR 如约而至,以高质量观点碰撞,为行业与大众呈现AI时代的前沿洞见。

在12月13日的“世界模型”专场,西湖大学助理教授,远兮实验室负责人修宇亮进行了以《走出蜡像馆,交互新世界:开拓三维数字人研究新疆域》为主题的演讲,分享了其关于高精度数字人重建的三项最新进展。

修宇亮分享了远兮实验室最新的三个工作,分别为 UP2You,ETCH 和 Human3R。

由于兼具相机位姿变化和人物动作变化的特点,如何从无限制的日常采集图像(如手机相册)出发,进行高精度的三维重建,是一个非常有挑战性的问题。修宇亮在博士期间,提出了第一套,先图生文,再文生 3D的两步走解决方案。这套方案可以兼容虚拟试衣和基于文字的穿搭编辑等下游应用,但效率非常低,DreamBooth和SDS(Score Distillation Sampling)漫长的微调和优化流程,导致单个数字人建模任务需要3至4个小时。

远兮实验室的最新成果UP2You,将上述时间从4小时压缩到了1.5 分钟。其核心思想是将脏数据直接转化成对后续重建友好的多视角正交图片,在此基础上套用已有的多视角重建算法,实现提效。

相较于传统方案,UP2You的优势,一是快——从一坨脏数据中,只需要1.5 分钟就可以拿到高质量的带纹理数字人;二是多多益善——用数量换质量,重建质量可以随输入图片数量的增加而稳定变好。修宇亮总结,“无论图片有多脏,这个方案只要保证图片源源不断灌进来,更细节的几何和更完整的纹理,就可以立竿见影。”

修宇亮分享的第二项工作名为ETCH,旨在从穿衣服的人物三维扫描中,得到解剖学上正确的内部人体。由于此前的其他尝试,很少建模人体和衣服之间的厚度,往往直接将最外层服装视为人体皮肤来做人体模型拟合,这就导致拟合结果普遍偏胖。而ETCH则是通过等变向量,定义了衣服和皮肤之间的厚度关系,从而获得更准确的内部人体结构,而且由于旋转等变性的引入,也可以大大减少训练数据。在今年的ICCV上,ETCH获评Highlight Paper。

最后一项工作名为Human3R,旨在实现人物及场景的实时动态重建。“你很难只从人体动作出发,就看懂人在做什么”,修宇亮解释,“但如果把场景也给到你,语义就相对清晰。”

据介绍,Human3R在同时实现场景重建和人体状态预测、追踪的基础上,可以做到实时15FPS 的推理,8GB显存占用。这意味着仅需一张商用GPU,即可实现SOTA级性能。单张显卡训一天,单个模型跑一遍,多人跟踪实时出,场景还更准了些。

为了实现这一点,Human3R基本保留了CUT3R的 backbone,同时新增了一条人体回归的分支,借鉴了VPT(Visual-Prompt Tuning)策略,以实现高效微调,这样就可以在不破坏CUT3R 已有的场景重建能力的基础上,对人体相关的几何信息解码成 SMPL,场景在这里,可以视为一种上下文,保证人体被正确的放置到场景中。

展望未来,修宇亮最后分享了自身对于数字人技术的观察。更强大的通用3D重建模型正在让越来越多数字人重建任务迎刃而解。“数字人的重建任务,慢慢都会变成基础模型的微调任务。”修宇亮指出。

以下为修宇亮的现场演讲内容,雷峰网进行了不改变原意的编辑整理:

非常荣幸来介绍我们实验室的最新工作进展。我今天分享的题目是《走出蜡像馆,交互新世界》,起这个题目的主要原因是,在我看来,数字人无非就是研究两个问题。一个是研究静态,就是怎么建模一个栩栩如生的数字人。另一个就是动态,怎么让这个人可以活灵活现地动起来,这是两个非常关键的问题。

我今天分享的有三个工作。第一个工作是关于三维形象重建,怎么从日常的图像里面去做高精度的数字人重建。第二个工作是ETCH,如果我们已经拿到了一个高精度的,穿着衣服的人体几何建模,怎么能够再从这里拿到一个解剖学上正确的内部的人体结构?第三个是Human3R,我们往往要把人的行为放到一个场景里才能更好地理解,所以我们最新的工作Human3R,就是把人和场景放到一起去做重建。

在讲之前,我先把数字人重建会用到的数据类型总结一下。我们以相机和人动不动作为量纲,比如Snapshot这个数据集,它是相机静止,但是人在运动着的数据,绿色就是运动,红色就是静止,那当然这个运动的幅度也可以更大一些。这边是我从Youtube上找到的一个视频,它也是相机静止,人在运动。当然这件事也可以反过来。我们也可以让人固定不动,让相机进行转动。这边这个就是,因为要保持人的稳定,就加了两个三脚架做人的姿态固定,这样也可以做重建。

我们如果考量相机阵列采集,从单个相机来看,它是相机固定,人在动的情况。如果我们把具体的某一时刻的多相机采集结果拿出来看,就又变成了一个相机在动,但是人静止的情况。也就是本质上来讲,密集阵列相机采集能够work,还是因为它在重建过程里尝试把两个变量变成一个变量。同时还有最极端的,就是单张图片,相机和人都是不动的。

那现在就有一个很自然而然的问题,如果相机是动的,人也是动的,我们有没有办法去做重建?我给出一个例子,手机相册,实际上我们每天拍摄的照片就是这样。除了这个人和穿的衣服,其它所有因素都是变化的。相机的位姿、人的动作、图像的比例,然后有大头照、有全身照、有半身照、有遮挡、有图像剪切……任何情况都可能会出现。在这样非常脏的数据下,我们能不能够把重建这个事情给做了?这就是我博士期间开始研究的一个问题。

这个问题的难点在哪呢?坦诚地讲,我们不算是第一个来尝试解决这个问题的。最早一个相关工作就是Photo Tourism,做场景重建的同学或者老师肯定知道。比如我要重建巴黎圣母院,这个工作就是从整个互联网上把所有巴黎圣母院的照片拿下来,尝试去跑SFM(Structure from Motion),拿到相机位姿,然后重建出它的点云。

但他们解决的问题其实比我们这个要简单一点。为什么呢?因为巴黎圣母院是不会动的。它烧了之后当然形变了,但它没烧之前是不形变的,永远是那个样子,所以就有办法拿到相对准确的相机位姿。但是对于人这个场景,人的动作是会动的,相机也是动的,你没有办法跑这种传统的structure from motion拿到一个准确的相机位姿。所以我们这个问题就显得更有挑战,于是我在博士期间就做了PuzzleAvatar。

这是我接下来要讲的工作的一个前序工作。其实我们的解决思路是非常简单的,一句话就可以讲清楚。我们首先尝试把这些图片压成token,或者说压缩成文字,然后我们再做文生3D,就这么简单,这是个非常符合直觉的做法。然后人分很多个part,我们有上衣、裤子、脸,为了保证从图像到文字的压缩是无损的,我们就用很多的token去表达人的脸、上衣、裤子或者鞋。

整个流程其实非常简单。我们把这些图片输入之后,首先尝试去做分割,这样就可以分割出一堆裤子、一堆脸、一堆鞋,然后我们对每一撮数据都分别用DreamBooth给学习到一个文生图模型里。比如脸是asset 01,上衣是asset 02,以此类推,这样就把图片压缩成了文字形式。然后我们再对文字做文生3D,因为23、24年那个时候还没有现在这么多很快速的文生3D方式,我们就用最原始的SDS把人优化出来。整个优化是两个流程,先尝试恢复几何,然后用SDS跑优化文生3D。几何跑得差不多了,我们就尝试固定几何,再跑它的纹理,这样我们就可以把这个人带纹理的几何模型给重建出来。

这样的做法有什么好处呢?因为我们相当于把所有图片都压缩成文字了,那就可以做这样的事情。大家可以看到,左侧是我的图片,右侧是我同事的图片,都压缩成文字之后,文字之间是可以进行交换的。那我们就做最简单的事情,比如我的shirt叫A shirt,她的shirt叫B shirt,我们做一下交换,我就把她的衣服穿上了。这在数字人里就是很典型的一个任务,虚拟试衣。同时因为我的所有图像都压缩成文字了,文字是很容易编辑的,我们可以把裤子改成牛仔裤,或者衣服改成hoodie。这种改变同时也可以作用于几何和纹理,所以整套 pipeline 就变得非常非常的干净。

但是这里有一个问题,就是这个工作是没有办法落地的,因为它时间非常长。如果训过DreamBooth,或者用过SDS的肯定知道,这两个流程是旷日持久。在那种普通的GPU上,DreamBooth大概微调要一个小时左右,SDS 优化要3个小时,那4个小时出一个人,这个时间是不可接受的。所以我们前不久发了一篇新的工作,尝试把这个时间从4个小时压缩到了1.5分钟。

我们尝试了一种全新的思路去做这个问题。直白来讲,PuzzleAvatar的思路是先把图像尽可能无损压缩成文字,然后从文字恢复3D。现在我们换了一种思路,就是能不能找到一种方式把dirty data 转化成 clean data,把它洗干净。什么叫洗干净呢?洗干净就是说,把这些图片全转化成多视角的正交图片,像中间展示的这样子。那这样的图片对于后续的重建是非常非常友好的,你可以套用任何现有的多视角重建算法,很快就能出来我们想要的结果,所以我们有办法把时间压到一分半。

我们做了一个动画效果让大家感受一下这个任务,就好像是你拿了一个卡片相机,围着一个动的人不断地拍。拍下来的图片,我们有办法把它从脏图片洗成干净的图片。有了这些干净的图片,包括RGB,包括法向,我们就可以重建出质量比较高的数字人。这个工作叫UP2You,UP是unconstrained photos的缩写,you就是yourself。

这边就是一个大概的pipeline。我们输入的是这样一些脏脏的图片,首先有一个模块尝试从这些脏图片里面拿到一个相对准确的人形,也就是这个人到底胖还是瘦。有了这个大概的人体形状,我们就可以渲染出多视角的法向图。接下来的问题就是,我有一些法向图控制人体姿态,我又有一些脏脏的图片,它们定义了这个人的外表,那我们怎么把这两个结合起来,最后生成一个多视角的图像?

关键就是这个Correlation Map。它是做啥的呢?简单地讲,就是我现在给你一个人体的pose,我需要按需去取这上面的像素,拿到每一张脏图片和这个姿态之间的相关性。大家看右边的可视化,可以看出来,当这个姿态是一个正面姿态的时候,那些图像的正面部分,权重或者置信度就会相对高。那这个人不断旋转,置信度也在不断变化,这个模块非常非常关键。

我们这个方法最大的优势是什么呢?这也是一个我特别喜欢的性质,就是随着输入图片的增多,重建质量可以稳定地变好。换句话来讲,我们输入的是大量非常脏的图片,但无论它有多脏,只要能够保证源源不断地输入图片,最后重建的质量就可以稳定变好,多多益善。

中间就是我们的重建结果。最右边是光场扫描的一个ground truth,你可以看到一张图片的结果、两张图片,十张图片,随着输入图片的增多,我能拿到这个人的外表、正面、反面、背面、侧面,我能拿到的信息更全面,那理论上讲我们也可以恢复出更好的几何和纹理。

我们的整个训练是在合成数据上完成的,所以我们也测试了在真实场景下的效果。这是我们实验室的同学,我们用他们随便拍的照片做测试,发现也是可以泛化的。这是第一个工作,UP2You,主要讲的是如何从脏图片里面去做三维重建。

第二个工作是ETCH。当我已经有了一个穿着衣服的人的几何结构,怎么拿到解剖学正确的内部人体结构?今年ICCV,我们这项工作被选为了Highlight Paper。简单来说,我们这个任务就是将一个参数化的人体模型,最常见的比如SMPL‑X或者 MHR,想办法把它准确塞到三维扫描里。

这个准确怎么定义呢?大家可以看到,这张图最左边是原始的输入,一个三维扫描的穿衣服人体建模,蓝色部分是真实的人体。用之前一些方法拿到的结果,你会发现这个人是有点偏胖的。原因也很简单,之前我们分不清到底是衣服还是内部皮肤,所以我们只能把衣服当成皮肤,然后去做body fitting,最后得到的结果往往就是偏胖。而第四个fitting,就是我们现在方案的结果。

在这个工作里,我们主要的创新点就是尝试建模衣服和人体之间的厚度关系,把这个厚度关系减掉,就可以把衣服剥离,这样我们就可以更准确地建模内部人体。

我们整个pipeline,首先是扫描,在上面做均匀的采样变成点云,对于每个点,我们找到一个指向内部人体的向量,我们叫它Tightness Vector。接下来我们把这些点聚类到382 个marker,然后我们针对这些marker做fitting就可以了。整个pipeline其实非常非常符合直觉,过程也非常快,大概几秒钟就可以搞定。这边是一些最后的人体拟合结果。你会看到第三列的红色、黄色,其实就是定义了衣服到底距离人体有多远。

我们应该是第一个尝试用向量来定义衣服和人体之间的关系的工作。那为什么要用向量做这件事情呢?因为如果用向量,我们就可以利用旋转等变性来训练这个网络。那为什么要用旋转等变性呢?因为这样训练可以更省数据。我们其实受到了冯海文的ArtEq这项工作的启发,简单来讲它的输入是裸体的人,我们做的是穿着衣服的点云,但其实问题本质上是比较相似的。衣服有非刚体形变,所以我们的旋转等变性并不完美,但我们依然可以利用这样的性质,大大减少训练数据。

那又回到刚才那个问题。之前的数据集,往往相机和人只能动一个,而我们日常相册里的数据是人和相机都在动。但其实还有一种人和相机都在动的情况,就是我们日常最常见的,在互联网上到处都有的这种视频。我们拍视频的时候,相机不可能是静止不动的,它往往也会随着人去移动,只是和相册比起来,相册的图片比较离散,视频里面的这种采集,相对更连续一些,但它依然是人和相机都在运动着的情况。

那这边就讲一下我们最后一个工作,叫Human3R。这个工作的这个初衷是,我们能不能够实时地,并且前用前馈式的方式同时重建人和场景,并且只用一个模型。

这边是结果,右下角是一个电影场景,我们可以看到随着这个电影场景的播放,这个场景本身是可以重建出来的,包括场景中人的姿态我们也可以很准确地预测出来,并且不同人体的tracking也可以做到。这整个重建的pipeline,我们可以做到实时15 FPS,8GB显存占用,所以在一个商用的GPU上也可以跑得很好。

这边要讲一下为什么我们要尝试把人体和场景放到一块去做重建,很重要的一个原因是为了更好地理解人的行为。我举一个例子,其实你其实很难单纯从动作里面看到,一个人究竟在做什么。但是如果我们把场景也给到你,你就可以非常清晰地看出来,这个语义就相对清晰了。这就是为什么我们要尝试把人和场景放到一块重建,因为这样可以更好地理解人的行为。

我们这个工作的题目叫Everyone,Everywhere,All at Once,是借鉴了杨紫琼老师的电影Everything,Everywhere,All at Once。这个名字是我起的,我觉得还是比较符合我们整个工作的特点。为什么叫 All at Once呢?首先我们只有一个模型,没有很多个part,one model,而且one stage。我们也是 one shot,也就是说不需要一个人一个人地出,我们是所有人一块出。另外我们整个训练只需要一张GPU,训一天就可以了。五个one,all at once,一股脑地、实时地把所有结果全部跑出来。

我们的输入就是一个普通的单目视频,输出包括一个全局坐标系下的人体姿态,包括三维场景重建以及camera pose。

我们这个工作和之前的工作,最大的差别是什么?我们把之前的很多工作总结了一下,大概就是这样的范式,它们都是multi stage。比如我给一个视频,首先要做detection,检测到人的bounding box,然后对每个bounding box里面的人做tracking,拿到trajectory,再然后每个人都要做HMR(Human Mesh Recovery),都要跑出一个人体的pose,同时我们还要做整个场景的深度估计,还要做分割,要预测相机的pose。最后所有的这些,场景的点云,人的pose,全部要放到一个框架里面进行联合优化,整个流程基本上都要跑几个小时。

这是大家之前的做法。我们现在把这些非常复杂的流程全部砍掉,只用一个模型,一个stage就可以解决问题。很大程度上这项工作是受王倩倩老师做的CUT3R的启发,它是一个online的4D重建工作,图片一张一张往里面进,整个4D的场景,包括人,包括物,一帧一帧地重建,都可以 online地去跑下去。我非常喜欢这个工作。

但是如果你看CUT3R的文章,它也是在一个非常大规模的数据上训练的。我们如果要from scratch去训练的话,也同样需要大量的数据。但是问题在于,其实人和场景交互没有那么多的数据,我们可能可以拿到很多的3D场景数据,但是很难拿到一个场景和人都在,而且场景和人的深度交互也都有的数据,所以我们不得不尝试只用一个很小的数据集把这东西给train起来。

我们的做法在这边。大家可以看到,上面所有带雪花的都是CUT3R原始的backbone,我们没有改动,因为我们需要它保持原有的对场景的重建能力。同时我们加了一个branch,专门从这个场景里面read out出人的点云,然后read out出这个人体的pose。然后我们还借鉴了VPT(Visual-Prompt Tuning),这样可以非常高效地做微调,就可以实现一天、一张GPU,把这个模型给训出来,而且达到 SOTA 的性能。

这边展示了更多的结果。这是一个3DPW(3D Pose in the Wild)的场景,两个人在一条路上行走,你可以看到这个人的轨迹是非常平滑的,整个场景也可以都重建出来。但是我们也尝试做一下回环检测,这个人跑一圈,最后整个场景和人是不是也都能重建出来?效果其实也是比较满意的。这是在一个相对长程的场景里,这是一个实验室,你可以看到随着这个人在各个房间里面走动,最后整个房间被重建出来,然后整个人的轨迹也可以拿到。

这是我们最喜欢的一个case,一个电影场景,两个人,不光做pose,人的ID也可以同时做跟踪,而且随着视频跑得越来越多,整个场景也会不断地完善。

这边是一些我们人体的pose预测和ground truth之间的对比,黑色的影子就是 ground truth,蓝色的就是人体估计的动作,大家可以看到几乎是严丝合缝的,我们的准确性是非常高的。

当然也有一些failure case,这是比较经典的一个,因为我们这个方法还是前馈式的,就是一步到位把所有结果给到你,没有任何后续的优化,所以有的时候难免会出现这种人和场景之间的交叉。比如人坐到沙发里,或者脚跑到地底下穿模,这种情况还是有的。以及如果这个人在和场景交互的同时,还和一些物体交互,比如说拿了一把吉他,那这个吉他相当于也是一个动态的,那这种情况我们目前没有办法建模,只能在处理的过程中我们把这个东西抠掉,只做静态场景和人的重建,动态场景目前没法处理。

这里可以顺势讲一下,其实我们认为这个工作有个非常自然的extension,就是把Everyone,Everywhere,All at Once,拓展成Everything,Everyone,Everywhere All at Once,人、场景、物全部一股脑地出来。我们可以提前把这些物体给建模,然后只做 6D pose,也可以online地去把这物体重建出来。那这个问题怎么解决呢?各位老师如果感兴趣的话,一会我们可以再聊。

那这项工作给了我们一个什么启发呢?因为我是做数字人的,这其实是一个比较悲伤的事情,我发现很多数字人的问题随着更通用的3D重建模型变得越来越强大,正在迎刃而解。比如Human3R,简单来讲,我们拿了一个有场景感知能力的视觉基础模型,稍微微调一下就可以做人体的pose。同时最近我发现了一篇曹旭老师新工作,叫KaoLRM,他们拿object centric的LRM,去做脸部的重建,和之前的方法相比,在跨视角上获得了更好的稳定性。所以我的一个感觉是,可能未来数字人的很多重建任务,慢慢都会变为一个基础模型的微调任务。

刚才讲的三个工作我们全部都开源了,也在网站上提供了一些可以交互的demo,欢迎大家去我们的网站上使用下载,如果有bug也可以和我讲,我们尽快修复。

最后summarize一下,我们今天讲了三个工作。第一个是三维形象重建UP2You,主要解决的问题是怎么把脏数据变废为宝,怎么用脏数据做三维重建。我们提出来的解决方案是数据整流器,就好像交流电变直流电一样,我们把脏数据变成干净数据,重建的问题就更好解决。

第二个工作是三维体型估计ETCH,我们和之前的工作不一样的点是,之前做相关任务是从一个几何视角出发的,把衣服当成皮肤,然后去做fitting。而我们是解剖学视角,我们希望拿到衣服之下那个真实人体的、解剖学正确的人体体型。我们的解决方案就是尝试建模从衣服到人体之间的厚度,我们叫它Thightness Vector,等变紧度向量。

第三个是Human3R,人和场景的实时动态重建。之前的工作都是先分后总,先做人,再做场景,然后人和场景联合优化,非常费时费力。我们的思路反过来,先总后分,先拿到一个大的重建结果,然后再从这个大的重建结果里面,一点一点把我们需要的,比如人体的pose或者物体的pose给读出来,最后可以实现人和场景端到端直出地效果。这是我们思路上的区别。

最后给我们实验室打个广告。因为我是刚刚回国任教,我们实验室主要还是做关于人的一切,我们做人脸,做人体,做人和物的交互,人和场景的交互,人和人的交互,我们做衣服,我们做肌肉,我们做骨骼,做静态的人、动态的动作,我们都会做,只要是和人相关的,都是我们研究的重点,另外,小动物也是我们感兴趣的。我们实验室也在招聘各种各样的访问的同学,实习生,RA,PhD以及 Postdoc,所以如果大家对我们的工作感兴趣,欢迎后续跟踪我们的最新进展,也欢迎加入我们一起干,谢谢。

雷峰网 (公众号:雷峰网) 文章

主题:重建|修宇亮|Human3R|数字人重建|微调任务|西湖大学修宇亮|远兮实验室