hmr-dataset / genmo /utils /vis /renderer_utils.py
zirobtc's picture
Upload folder using huggingface_hub
fbb20ff verified
import numpy as np
from tqdm import tqdm
from genmo.utils.vis.renderer import Renderer
def simple_render_mesh(render_dict):
"""Render an camera-space mesh, blank background"""
width, height, focal_length = render_dict["whf"]
faces = render_dict["faces"]
verts = render_dict["verts"]
renderer = Renderer(width, height, focal_length, device="cuda", faces=faces)
outputs = []
for i in tqdm(range(len(verts)), desc="Rendering"):
img = renderer.render_mesh(verts[i].cuda(), colors=[0.8, 0.8, 0.8])
outputs.append(img)
outputs = np.stack(outputs, axis=0)
return outputs
def simple_render_mesh_background(render_dict, VI=50, colors=[0.8, 0.8, 0.8]):
"""Render an camera-space mesh, blank background"""
K = render_dict["K"]
faces = render_dict["faces"]
verts = render_dict["verts"]
background = render_dict["background"]
N_frames = len(verts)
if len(background.shape) == 3:
background = [background] * N_frames
height, width = background[0].shape[:2]
renderer = Renderer(width, height, device="cuda", faces=faces, K=K)
outputs = []
for i in tqdm(range(len(verts)), desc="Rendering"):
img = renderer.render_mesh(
verts[i].cuda(), colors=colors, background=background[i], VI=VI
)
outputs.append(img)
outputs = np.stack(outputs, axis=0)
return outputs