Closed hopef closed 1 year ago
Thanks for your nice work. I can't understand points_const[:, :, :, :, :, 2, :] = 10 in the height2location function. Why did you set a magic number(10) to the camera depth here? Are there any more details about 10? Thanks!
points_const[:, :, :, :, :, 2, :] = 10
def height2localtion(self, points, sensor2ego_mat, sensor2virtual_mat, intrin_mat, reference_heights): batch_size, num_cams, _, _ = sensor2ego_mat.shape reference_heights = reference_heights.view(batch_size, num_cams, 1, 1, 1, 1, 1).repeat(1, 1, points.shape[2], points.shape[3], points.shape[4], 1, 1) height = -1 * points[:, :, :, :, :, 2, :] + reference_heights[:, :, :, :, :, 0, :] points_const = points.clone() points_const[:, :, :, :, :, 2, :] = 10 points_const = torch.cat( (points_const[:, :, :, :, :, :2] * points_const[:, :, :, :, :, 2:3], points_const[:, :, :, :, :, 2:]), 5) combine_virtual = sensor2virtual_mat.matmul(torch.inverse(intrin_mat)) points_virtual = combine_virtual.view(batch_size, num_cams, 1, 1, 1, 4, 4).matmul(points_const) ratio = height[:, :, :, :, :, 0] / points_virtual[:, :, :, :, :, 1, 0] ratio = ratio.view(batch_size, num_cams, ratio.shape[2], ratio.shape[3], ratio.shape[4], 1, 1).repeat(1, 1, 1, 1, 1, 4, 1) points = points_virtual * ratio points[:, :, :, :, :, 3, :] = 1 combine_ego = sensor2ego_mat.matmul(torch.inverse(sensor2virtual_mat)) points = combine_ego.view(batch_size, num_cams, 1, 1, 1, 4, 4).matmul(points) return points
我认为 10m只不过是一个数据稳定因子,换成5或者任何数字都可以 因为并不影响后面坐标的计算
Thanks for your nice work. I can't understand
points_const[:, :, :, :, :, 2, :] = 10
in the height2location function. Why did you set a magic number(10) to the camera depth here? Are there any more details about 10? Thanks!