feat: Add surface generation and media handling

- Implemented surface generation functionality in `surface.py`, including geometry estimation and texture writing.
- Introduced media input handling in `input.py`, supporting image and video frame extraction.
- Added model management for geometry adapters in `models/__init__.py`.
- Created BEN2 and DA3 model inference logic in `ben2.py` and `da3.py`, respectively.
- Developed ONNX model inference utilities for BEN2 and DA3 in `onnx_ben2.py` and `onnx_da3.py`.
- Added support for MoGe-2 model inference in `moge2.py` with necessary ONNX utilities.
- Implemented output handling for depth and surface data in `depth.py` and `surface.py`.
- Created debug output utilities for DA3 and MoGe-2 predictions in `debug_da3.py` and `debug_moge2.py`.
- Enhanced ONNX runtime session management in `onnx_runtime.py`.
- Updated `__init__.py` files to include new modules and functions for better organization.
This commit is contained in:
2026-08-18 23:27:10 +08:00
parent 9dfa49602c
commit 835225d264
62 changed files with 2126 additions and 2318 deletions

View File

@@ -16,12 +16,28 @@ def load_module():
snapform.__path__ = [str(PROJECT_ROOT / "src" / "snapform")]
server = ModuleType("snapform.server")
server.__path__ = [str(PROJECT_ROOT / "src" / "snapform" / "server")]
models = ModuleType("snapform.server.models")
models.__path__ = [
str(PROJECT_ROOT / "src" / "snapform" / "server" / "models")
]
specification = importlib.util.spec_from_file_location(
"snapform.server.onnx_moge2",
PROJECT_ROOT / "src" / "snapform" / "server" / "onnx_moge2.py",
"snapform.server.models.onnx_moge2",
PROJECT_ROOT
/ "src"
/ "snapform"
/ "server"
/ "models"
/ "onnx_moge2.py",
)
module = importlib.util.module_from_spec(specification)
with patch.dict(sys.modules, {"snapform": snapform, "snapform.server": server}):
with patch.dict(
sys.modules,
{
"snapform": snapform,
"snapform.server": server,
"snapform.server.models": models,
},
):
specification.loader.exec_module(module)
return module