Open Tony-Hou opened 2 years ago
I think the problem is how you used depth. The depth you acquired from model is depth distribution and you just used the distribution to compute depth metrics.
I think the problem is how you used depth. The depth you acquired from model is depth distribution and you just used the distribution to compute depth metrics.
What is the correct method to calculate the depth metrices?
This will get you the depth prediction values. depth_preds = (depth_preds torch.arange(0, self.depth_channels, device="cuda")[None, None, :]).sum(2) depth_preds = (depth_preds + 0.5) self.dbound[2] + self.dbound[0]
`def safe_log10(x, eps=1e-10): result = np.where(x > eps, x, -10) np.log10(result, out=result, where=result > 0) return result
def safe_log(x, eps=1e-5): return np.log(x+eps)
def calculate(gt, pred): if gt.shape[0] == 0: return np.nan, np.nan, np.nan, np.nan, np.nan, np.nan
`
` def eval_step(self, batch, batch_idx, prefix: str): (sweepimgs, mats, , imgmetas, , gt_labels, depth_labels) = batch
(sweepimgs, mats, , imgmetas, , _) = batch
The following result is different from your paper ablation experiment with your pretrained bev_depth_lss_r50_256x704_128x128_20e_cbgs_2key_da.pth weight.