EVA3D
EVA3D copied to clipboard
Predefined boxes
Thanks for the great work. Can you please elaborate on how you divide up the volume into boxes?
def predefined_bbox(self, j, only_cur_index=False):
if j == 15:
xyz_min = np.array([-0.0901, 0.2876, -0.0891])
xyz_max = np.array([0.0916, 0.5555+0.04, 0.1390])
xyz_min -= np.array([0.05, 0.05, 0.05])
xyz_max += np.array([0.05, 0.05, 0.05])
cur_index = self.smpl_index_by_joint([15])
elif j == 12:
xyz_min = np.array([-0.1752, 0.0208, -0.1198]) # combine 12 and 9
xyz_max = np.array([0.1724, 0.2876, 0.1391])
cur_index = self.smpl_index_by_joint([9, 13, 14, 6, 16, 17, 12, 15])
elif j == 9 and only_cur_index:
xyz_min = None
xyz_max = None
cur_index = self.smpl_index_by_joint([9, 13, 14, 6, 16, 17, 3])
elif j == 6:
xyz_min = np.array([-0.1569, -0.1144, -0.1095])
xyz_max = np.array([0.1531, 0.0208, 0.1674])
cur_index = self.smpl_index_by_joint([3, 6, 0, 9])
elif j == 3:
xyz_min = np.array([-0.1888, -0.3147, -0.1224])
xyz_max = np.array([0.1852, -0.1144, 0.1679])
cur_index = self.smpl_index_by_joint([3, 0, 1, 2, 6])
elif j == 18:
xyz_min = np.array([0.1724, 0.1450, -0.0750])
xyz_max = np.array([0.4321, 0.2758, 0.0406])
cur_index = self.smpl_index_by_joint([13, 18, 16])
elif j == 20:
xyz_min = np.array([0.4321, 0.1721, -0.0753])
xyz_max = np.array([0.6813, 0.2668, 0.0064])
cur_index = self.smpl_index_by_joint([16, 20, 18])
elif j == 22:
xyz_min = np.array([0.6813, 0.1882, -0.1180])
xyz_max = np.array([0.8731, 0.2445, 0.0461])
cur_index = self.smpl_index_by_joint([22, 20, 18])
elif j == 19:
xyz_min = np.array([-0.4289, 0.1426, -0.0785])
xyz_max = np.array([-0.1752, 0.2754, 0.0460])
cur_index = self.smpl_index_by_joint([14, 17, 19])
elif j == 21:
xyz_min = np.array([-0.6842, 0.1705, -0.0780])
xyz_max = np.array([-0.4289, 0.2659, 0.0059])
cur_index = self.smpl_index_by_joint([17, 19, 21])
elif j == 23:
xyz_min = np.array([-0.8720, 0.1839, -0.1195])
xyz_max = np.array([-0.6842, 0.2420, 0.0465])
cur_index = self.smpl_index_by_joint([23, 21, 19])
elif j == 4:
xyz_min = np.array([0, -0.6899, -0.0849])
xyz_max = np.array([0.1893, -0.3147, 0.1335])
cur_index = self.smpl_index_by_joint([0, 1, 4])
elif j == 7:
xyz_min = np.array([0.0268, -1.0879, -0.0891])
xyz_max = np.array([0.1570, -0.6899, 0.0691])
cur_index = self.smpl_index_by_joint([4, 1, 7])
elif j == 10:
xyz_min = np.array([0.0625, -1.1591-0.04, -0.0876])
xyz_max = np.array([0.1600, -1.0879+0.02, 0.1669])
cur_index = self.smpl_index_by_joint([7, 10, 4])
elif j == 5:
xyz_min = np.array([-0.1935, -0.6964, -0.0883])
xyz_max = np.array([0, -0.3147, 0.1299])
cur_index = self.smpl_index_by_joint([0, 2, 5])
elif j == 8:
xyz_min = np.array([-0.1611, -1.0948, -0.0911])
xyz_max = np.array([-0.0301, -0.6964, 0.0649])
cur_index = self.smpl_index_by_joint([2, 5, 8])
elif j == 11:
xyz_min = np.array([-0.1614, -1.1618-0.04, -0.0882])
xyz_max = np.array([-0.0632, -1.0948+0.02, 0.1680])
cur_index = self.smpl_index_by_joint([8, 11, 5])
else:
xyz_min = xyz_max = cur_index = None
if only_cur_index:
return cur_index
return xyz_min, xyz_max, cur_index