MCPcopy Create free account
hub / github.com/ActiveVisionLab/DFNet / perturb_render_pose

Function perturb_render_pose

dataset_loaders/load_Cambridge.py:236–260  ·  view source on GitHub ↗

Inputs: poses: (3, 4) bds: bounds x: translational perturb range angle: rotation angle perturb range in degrees Outputs: new_c2w: (N_views, 3, 4) new poses

(poses, bds, x, angle)

Source from the content-addressed store, hash-verified

234 return render_poses
235
236def perturb_render_pose(poses, bds, x, angle):
237 """
238 Inputs:
239 poses: (3, 4)
240 bds: bounds
241 x: translational perturb range
242 angle: rotation angle perturb range in degrees
243 Outputs:
244 new_c2w: (N_views, 3, 4) new poses
245 """
246 idx = np.random.choice(poses.shape[0])
247 c2w=poses[idx]
248
249 N_views = 10 # number of views in video
250 new_c2w = np.zeros((N_views, 3, 4))
251
252 # perturb translational pose
253 for i in range(N_views):
254 new_c2w[i] = c2w
255 new_c2w[i,:,3] = new_c2w[i,:,3] + np.random.uniform(-x,x,3) # perturb pos between -1 to 1
256 theta=np.random.uniform(-angle,angle,1) # in degrees
257 phi=np.random.uniform(-angle,angle,1) # in degrees
258 psi=np.random.uniform(-angle,angle,1) # in degrees
259 new_c2w[i] = perturb_rotation(new_c2w[i], theta, phi, psi)
260 return new_c2w, idx
261
262def remove_overlap_data(train_set, val_set):
263 ''' Remove some overlap data in val set so that train set and val set do not have overlap '''

Callers

nothing calls this directly

Calls 1

perturb_rotationFunction · 0.70

Tested by

no test coverage detected