UP2You Zet Verspreide Foto's Om in een 3D Menselijk Model Zonder Fine-Tuning
Als je ooit hebt geprobeerd een 3D-avatar te bouwen van foto's, herinner je je waarschijnlijk de hoofdvereisten van de meeste pipelines: perfecte belichting, statische houding en foto's maken van alle kanten in één sessie. Beweeg naar links, andere belichting, of een wazige achtergrond — en neurale netwerken zoals NeRF of Gaussian Splatting produceren een rommel vol artefacten.
Ik stuitte onlangs op een verse UP2You repository, voorbereid door de auteurs voor de ICLR 2026 conferentie. Het project lost dit vervelende probleem op. Het neemt een gewone batch foto's van je smartphonegalerij, waar een persoon op verschillende dagen, onder verschillende belichting en vanuit verschillende hoeken is gefotografeerd, en reconstrueert snel een kant-en-klaar 3D mesh. Zonder langdurige fine-tuning voor een specifiek persoon.
Wat is de hoofdmoeilijkheid bij dergelijke reconstructies
Wanneer we echte frames (ongecontroleerde foto's) aan algoritmen voeden, breekt de wiskunde van klassieke 3D-reconstructiemethoden. In één opname schijnt de zon van links, in een andere — een gloeilamp van boven. In het derde frame is de achtergrond wazig door bokeh, en de houding is volledig veranderd.
De meeste bestaande oplossingen vereisen fine-tuning van gewichten voor een specifiek persoon (per-scene optimalisatie). Dit duurt van tientallen minuten tot enkele uren op een redelijke GPU.
De auteurs van UP2You richtten zich op de tuning-vrije categorie. Het model wordt vooraf getraind op grote datasets van 3D-scans en leert lichaamsgeometrie en texturen te generaliseren, waarbij omgevingsruis en verlichtingsinconsistenties worden gefilterd. Je levert een map met heterogene foto's als invoer, en krijgt binnen enkele minuten een mesh als uitvoer.
Hoe de project stack is georganiseerd
Onder de motorkap steunt de architectuur op een combinatie van generatieve diffusiemodellen en 3D-geometriebibliotheken.
- Human segmentation. Het project gebruikt BiRefNet als standaardtool. Dit is een apart model voor hoogwaardig uitsnijden van een menselijk silhouet van een complexe achtergrond.
- Generatieve basis. Het project steunt op Stable Diffusion 2.1 basisgewichten gecombineerd met multi-view adapters, waarbij ideeën worden geleend van MV-Adapter, PuzzleAvatar en PSHuman projecten. Diffusie helpt bij het aanvullen van gebieden die onzichtbaar zijn in de foto's en het uitlijnen van het algemene uiterlijk van het karakter.
- Geometry engine. Voor het werken met meshes en 3D-representaties gebruikten de auteurs Kaolin van NVIDIA en PyTorch3D.
De repository bevat direct een script inference_low_gpu.py, dus je kunt generatie zelfs uitvoeren op consumenten-GPU's met een relatief kleine hoeveelheid VRAM.
Installatie en uitvoering
De pipeline is strikt over bibliotheekversies, dus het is het beste om strikt te installeren volgens de instructies via Conda.
Kloon eerst het project en maak een virtuele omgeving met Python 3.10:
git clone https://github.com/zcai0612/UP2You.git
cd UP2You
conda create -n up2you python=3.10 -y
conda activate up2you
Installeer vervolgens PyTorch 2.4.1 met CUDA 11.8 ondersteuning en de Kaolin-module:
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu118
pip install kaolin==0.17.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-2.4.1_cu118.html
pip install -r requirements.txt
Voor het bouwen van PyTorch3D raden de auteurs aan om een voorgecompileerd archief te nemen:
conda install -y libffi==3.3
wget https://anaconda.org/pytorch3d/pytorch3d/0.7.8/download/linux-64/pytorch3d-0.7.8-py310_cu118_pyt241.tar.bz2
conda install pytorch3d-0.7.8-py310_cu118_pyt241.tar.bz2
Modelgewichten worden gedownload van Hugging Face via CLI:
hf download Co2y/UP2You --local-dir ./src
mv ./src/human_models ./
mv ./src/pretrained_models ./
rm -rf ./src
Wanneer de omgeving klaar is, plaats je gewoon de foto's in de map examples en roep je inferentie aan:
python inference_low_gpu.py \
--base_model_path Manojb/stable-diffusion-2-1-base \
--segment_model_name ZhengPeng7/BiRefNet \
--data_dir examples \
--output_dir outputs
Of voer simpelweg het bash script bash run.sh uit.
Waar op letten
Het project is nog vers, het heeft ongeveer 380 sterren op GitHub en een aangepaste licentie. De documentatie in de repository is beknopt, zonder een gedetailleerde beschrijving van het invoergegevensformaat, maar de inferentiecode is gemakkelijk te lezen.
Als je besluit te experimenteren, houd dan rekening met de segmentatiekwaliteit. Als BiRefNet de achtergrond slecht scheidt (bijvoorbeeld de persoon versmelt met de muur of er zijn andere mensen op de foto), zal dit direct van invloed zijn op de uiteindelijke mesh. Het is beter om foto's te selecteren waarop de persoon volledig zichtbaar is of ten minste vanaf de taille omhoog.
Wie heeft er profijt van
Het project is de moeite waard om te bekijken voor game-ontwikkelaars en 3D-artiesten die een snel concept-mesh van een echt persoon nodig hebben voor verdere rigging en sculpting. De repository zal ook interessant zijn voor ML-engineers die 3D-avatar-generatie en multi-view diffusie-pipelines verkennen. De code biedt nog geen volledige vervanging voor studio-fotogrammetrie, maar als een manier om binnen enkele minuten een herkenbare 3D-afbeelding samen te stellen uit gewone foto's, werkt het geweldig.
Gerelateerde projecten