UP2You:将零散照片转化为3D人体模型,无需微调
如果你曾尝试从照片构建3D虚拟形象,你可能记得大多数流程的主要要求:完美的光线、静止的姿势、在一次拍摄中从各个角度拍摄。往左一步、光线不同、或者背景模糊——NeRF或Gaussian Splatting等神经网络就会产生大量伪影。
我最近发现了一个新鲜的UP2You仓库,这是作者为ICLR 2026会议准备的。该项目解决了这个令人头疼的问题。它接收手机相册中随意拍摄的一批照片——人在不同日子、不同光线、不同角度下拍摄的照片——并快速重建出可用的3D网格。无需为特定的人进行耗时的微调。
这类重建的主要难点是什么
当我们将真实世界的帧(随意拍摄的照片)输入算法时,经典3D重建方法的数学原理就会失效。一张照片中阳光从左侧照射,另一张中白炽灯从上方照射。第三帧中背景被虚化成散景,姿势也完全改变了。
大多数现有解决方案需要为特定的人微调权重(逐场景优化)。这在不错的GPU上需要从几十分钟到几小时不等。
UP2You的作者专注于免调优类别。该模型在大规模3D扫描数据集上预训练,学习泛化人体几何和纹理,过滤掉环境噪声和光线不一致性。你只需输入一个包含异构照片的文件夹,几分钟后就能得到网格模型。
项目技术栈是如何组织的
在底层,该架构依赖于生成式扩散模型和3D几何库的组合。
- 人体分割。该项目使用BiRefNet作为默认工具。这是一个用于从复杂背景中高精度裁剪人体轮廓的独立模型。
- 生成基础。该项目依赖Stable Diffusion 2.1基础权重,结合多视角适配器,借鉴了MV-Adapter、PuzzleAvatar和PSHuman项目的思想。扩散模型帮助补全照片中不可见的区域,并协调角色的整体外观。
- 几何引擎。在处理网格和3D表示时,作者使用了NVIDIA的Kaolin和PyTorch3D。
仓库中直接包含了脚本 inference_low_gpu.py,因此即使在显存相对较小的消费级GPU上也能运行生成。
安装和运行
该流程对库版本要求严格,因此最好严格按照说明通过Conda安装。
首先,克隆项目并创建Python 3.10的虚拟环境:
然后安装支持CUDA 11.8的PyTorch 2.4.1和Kaolin模块:
对于构建PyTorch3D,作者建议使用预编译的压缩包:
模型权重通过CLI从Hugging Face下载:
环境准备好后,只需将照片放入文件夹 examples 并调用推理:
或者直接运行bash脚本 bash run.sh。
需要注意什么
该项目还很新,在GitHub上有约380颗星,采用自定义许可证。仓库中的文档很简洁,没有输入数据格式的详细描述,但推理代码易于阅读。
如果你决定尝试,请注意分割质量。如果BiRefNet分离背景效果不佳(例如,人与墙壁融为一体或照片中有其他人),这将直接影响最终的网格。最好选择能看清全身或至少上半身的人物照片。
谁会觉得它有用
对于需要快速获得真实人物的草稿网格以便进一步绑定和雕刻的游戏开发者和3D艺术家来说,这个项目值得关注。对于探索3D虚拟形象生成和多视角扩散流程的ML工程师来说,这个仓库也很有趣。该代码还不能完全替代工作室摄影测量,但作为一种从普通照片在几分钟内组装可识别的3D图像的方式,它表现出色。
相关项目