MCPcopy
hub / github.com/SizheAn/PanoHead / sample

Method sample

camera_utils.py:69–86  ·  view source on GitHub ↗
(horizontal_mean, vertical_mean, lookat_position, horizontal_stddev=0, vertical_stddev=0, radius=1, batch_size=1, device='cpu')

Source from the content-addressed store, hash-verified

67
68 @staticmethod
69 def sample(horizontal_mean, vertical_mean, lookat_position, horizontal_stddev=0, vertical_stddev=0, radius=1, batch_size=1, device='cpu'):
70 h = torch.randn((batch_size, 1), device=device) * horizontal_stddev + horizontal_mean
71 v = torch.randn((batch_size, 1), device=device) * vertical_stddev + vertical_mean
72 v = torch.clamp(v, 1e-5, math.pi - 1e-5)
73
74 theta = h
75 v = v / math.pi
76 phi = torch.arccos(1 - 2*v)
77
78 camera_origins = torch.zeros((batch_size, 3), device=device)
79
80 camera_origins[:, 0:1] = radius*torch.sin(phi) * torch.cos(math.pi-theta)
81 camera_origins[:, 2:3] = radius*torch.sin(phi) * torch.sin(math.pi-theta)
82 camera_origins[:, 1:2] = radius*torch.cos(phi)
83
84 # forward_vectors = math_utils.normalize_vecs(-camera_origins)
85 forward_vectors = math_utils.normalize_vecs(lookat_position - camera_origins)
86 return create_cam2world_matrix(forward_vectors, camera_origins)
87
88class UniformCameraPoseSampler:
89 """

Callers 11

gen_interp_videoFunction · 0.45
generate_imagesFunction · 0.45
gen_interp_videoFunction · 0.45
generate_imagesFunction · 0.45
gen_interp_videoFunction · 0.45
projectFunction · 0.45
gen_interp_videoFunction · 0.45
projectFunction · 0.45
generate_imagesFunction · 0.45
generate_imagesFunction · 0.45

Calls 1

create_cam2world_matrixFunction · 0.85

Tested by

no test coverage detected