You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build a pipeline that transforms smartphone-captured 2D images (photos or video) into a high-quality 3D face model suitable for 3D printing and game-ready use β targeting quality comparable to NBA 2K scanned players.
π― Goals
#
Goal
Success Criteria
1
Capture face via smartphone
Protocol yields β₯ 30 sharp, calibrated photos
2
Run AI/photogrammetry pipeline
< 30 min processing time on local hardware
3
Output print-ready 3D model
Clean mesh, < 500k polys, UV-mapped
4
Match reference quality
Passes visual comparison against Polycam/Luma output
# 3D Face Reconstruction Project β Cursor AI Context
## Stack
- Python 3.11
- COLMAP (CLI via subprocess), Open3D, Trimesh, Blender Python API
- PyTorch for AI model inference
- MediaPipe for face detection
## Conventions
- All pipeline scripts accept --input and --output CLI args via argparse
- Config is loaded from config.yaml at project root
- Intermediate outputs go to ./tmp/, final outputs go to ./models/
- Log with Python logging module (not print)
- Type hints required on all function signatures
## Domain Knowledge
- 3D meshes are represented as (vertices, faces) numpy arrays unless using Open3D objects
- Coordinate system: Y-up, right-handed
- Target output: watertight, manifold mesh for 3D printing
## Do Not
- Do not use closed-source APIs (no Luma AI API, no Polycam API)
- Do not hardcode file paths; use pathlib.Path throughout
- Do not commit model weights; use huggingface-hub downloads
π Quick Start
# 1. Clone and install
git clone https://github.com/yourname/3d-face-project
cd 3d-face-project
pip install -r requirements.txt
# 2. Capture photos following capture/protocol.md# Place images in ./input/# 3. Run pipeline
python pipeline/01_preprocess.py --input ./input/ --output ./tmp/preprocessed/
python pipeline/02_reconstruct.py --input ./tmp/preprocessed/ --output ./tmp/mesh/
python pipeline/03_postprocess.py --input ./tmp/mesh/ --output ./tmp/clean/
python pipeline/04_export.py --input ./tmp/clean/ --output ./models/