Fix HF spaces
Browse files- sf3d/system.py +8 -10
sf3d/system.py
CHANGED
|
@@ -29,8 +29,6 @@ from sf3d.models.utils import (
|
|
| 29 |
)
|
| 30 |
from sf3d.utils import create_intrinsic_from_fov_deg, default_cond_c2w
|
| 31 |
|
| 32 |
-
from .texture_baker import TextureBaker
|
| 33 |
-
|
| 34 |
|
| 35 |
class SF3D(BaseModule):
|
| 36 |
@dataclass
|
|
@@ -136,7 +134,6 @@ class SF3D(BaseModule):
|
|
| 136 |
),
|
| 137 |
)
|
| 138 |
|
| 139 |
-
self.baker = TextureBaker()
|
| 140 |
self.image_processor = ImageProcessor()
|
| 141 |
|
| 142 |
def triplane_to_meshes(
|
|
@@ -284,6 +281,9 @@ class SF3D(BaseModule):
|
|
| 284 |
bake_resolution: int,
|
| 285 |
estimate_illumination: bool = False,
|
| 286 |
) -> Tuple[List[trimesh.Trimesh], dict[str, Any]]:
|
|
|
|
|
|
|
|
|
|
| 287 |
batch["rgb_cond"] = self.image_processor(
|
| 288 |
batch["rgb_cond"], self.cfg.cond_image_size
|
| 289 |
)
|
|
@@ -314,12 +314,10 @@ class SF3D(BaseModule):
|
|
| 314 |
mesh.unwrap_uv()
|
| 315 |
|
| 316 |
# Build textures
|
| 317 |
-
rast =
|
| 318 |
-
|
| 319 |
-
)
|
| 320 |
-
bake_mask = self.baker.get_mask(rast)
|
| 321 |
|
| 322 |
-
pos_bake =
|
| 323 |
mesh.v_pos,
|
| 324 |
rast,
|
| 325 |
mesh.t_pos_idx,
|
|
@@ -332,7 +330,7 @@ class SF3D(BaseModule):
|
|
| 332 |
tri_query, exclude=["density", "vertex_offset"]
|
| 333 |
)
|
| 334 |
|
| 335 |
-
nrm =
|
| 336 |
mesh.v_nrm,
|
| 337 |
rast,
|
| 338 |
mesh.t_pos_idx,
|
|
@@ -373,7 +371,7 @@ class SF3D(BaseModule):
|
|
| 373 |
if k == "normal":
|
| 374 |
# Use un-normalized tangents here so that larger smaller tris
|
| 375 |
# Don't effect the tangents that much
|
| 376 |
-
tng =
|
| 377 |
mesh.v_tng,
|
| 378 |
rast,
|
| 379 |
mesh.t_pos_idx,
|
|
|
|
| 29 |
)
|
| 30 |
from sf3d.utils import create_intrinsic_from_fov_deg, default_cond_c2w
|
| 31 |
|
|
|
|
|
|
|
| 32 |
|
| 33 |
class SF3D(BaseModule):
|
| 34 |
@dataclass
|
|
|
|
| 134 |
),
|
| 135 |
)
|
| 136 |
|
|
|
|
| 137 |
self.image_processor = ImageProcessor()
|
| 138 |
|
| 139 |
def triplane_to_meshes(
|
|
|
|
| 281 |
bake_resolution: int,
|
| 282 |
estimate_illumination: bool = False,
|
| 283 |
) -> Tuple[List[trimesh.Trimesh], dict[str, Any]]:
|
| 284 |
+
from .texture_baker import TextureBaker
|
| 285 |
+
|
| 286 |
+
baker = TextureBaker()
|
| 287 |
batch["rgb_cond"] = self.image_processor(
|
| 288 |
batch["rgb_cond"], self.cfg.cond_image_size
|
| 289 |
)
|
|
|
|
| 314 |
mesh.unwrap_uv()
|
| 315 |
|
| 316 |
# Build textures
|
| 317 |
+
rast = baker.rasterize(mesh.v_tex, mesh.t_pos_idx, bake_resolution)
|
| 318 |
+
bake_mask = baker.get_mask(rast)
|
|
|
|
|
|
|
| 319 |
|
| 320 |
+
pos_bake = baker.interpolate(
|
| 321 |
mesh.v_pos,
|
| 322 |
rast,
|
| 323 |
mesh.t_pos_idx,
|
|
|
|
| 330 |
tri_query, exclude=["density", "vertex_offset"]
|
| 331 |
)
|
| 332 |
|
| 333 |
+
nrm = baker.interpolate(
|
| 334 |
mesh.v_nrm,
|
| 335 |
rast,
|
| 336 |
mesh.t_pos_idx,
|
|
|
|
| 371 |
if k == "normal":
|
| 372 |
# Use un-normalized tangents here so that larger smaller tris
|
| 373 |
# Don't effect the tangents that much
|
| 374 |
+
tng = baker.interpolate(
|
| 375 |
mesh.v_tng,
|
| 376 |
rast,
|
| 377 |
mesh.t_pos_idx,
|