INNER CODE UNIT · Python
gen_init_view
OpenTexture/Paint3D · pipeline_paint3d_stage1.py:77
def gen_init_view(sd_cfg, cnet, mesh_model, dataloaders, outdir, view_ids=[]):
print(f"Project init view {view_ids}...")
init_depth_map = []
view_angle_info = {i: data for i, data in enumerate(dataloaders['train'])}
for view_id in view_ids:
data = view_angle_info[view_id]
theta, phi, radius = data['theta'], data['phi'], data['radius']
outputs = mesh_model.render(theta=theta, phi=phi, radius=radius)
depth_render = outputs['depth']
init_depth_map.append(depth_render)
init_depth_map = torch.cat(init_depth_map, dim=0).repeat(1, 3, 1, 1)
init_depth_map = torchvision.utils.make_grid(init_depth_map, nrow=2, padding=0)
save_path = os.path.join(outdir, f"init_depth_render.png")
utils.save_tensor_image(init_depth_map.unsqueeze(0), save_path=save_path)
# post-processing depth,dilate
depth_dilated = utils.dilate_depth_outline(save_path, iters=5, dilate_kernel=3)