ispc-lab / LiDAR4D

💫 [CVPR 2024] LiDAR4D: Dynamic Neural Fields for Novel Space-time View LiDAR Synthesis
https://dyfcalid.github.io/LiDAR4D
Apache License 2.0
151 stars 14 forks source link

points error #4

Closed howthep closed 5 months ago

howthep commented 6 months ago

Thanks for your works. I'm testing on KITTI-360, I found the synthesized point stored as .npy. So I use this to convert it to pcd.

import numpy as np
import open3d as op

path = "./log/kitti360_lidar4d_f4950_release/results/test_lidar4d_ep0639_0002_depth_lidar.npy"
points = np.load(path)
print(points.shape,points[:10])
pcd = op.geometry.PointCloud()
pcd.points = op.utility.Vector3dVector(points)
op.io.write_point_cloud("2.pcd",pcd)

But it looks like the depths are wrong. Below image is captured from pcl_viewer image Below image is corresponding depth map test_lidar4d_ep0639_0002_depth This is the output of evaluation image Could you please help me find where is wrong?

dyfcalid commented 6 months ago

Hi, there. The results of the evaluation are wrong, but the depth map looks normal. It seems that the depth scale is not correct. You can check if the data is preprocessed in the right way. We have provided an example kitti360_4950.txt in the configs folder, and the scale is about 0.01. If the problem is still not solved, you can follow the instructions to double-check each step, or offer me more details.

howthep commented 6 months ago

this is the kitti360_4950.txt

dataloader = kitti360
path = data/kitti360
sequence_id = 4950
num_frames = 51
fov_lidar = [2.0, 26.9]
scale = 0.010504329815187737
offset = [1307.2250542680918, 3604.6116677769596, 110.30188369430098]

this is the command I run, I have trained it for 639 epoch

main_lidar4d.py \
--config configs/kitti360_4950.txt \
--workspace log/kitti360_lidar4d_f4950_release \
--lr 1e-2 \
--num_rays_lidar 1024 \
--iters 30000 \
--alpha_d 1 \
--alpha_i 0.1 \
--alpha_r 0.01 \
--test_eval 

before the code converting depth to lidar, I find the pred_depth's values span a narrow range from 0.199 to 0.201.

pred_lidar = pano_to_lidar(
                    pred_depth / self.opt.scale, loader._data.intrinsics_lidar
                )

image

I do not know how to solve this Can you provide some instructions to double-check , or what details should I offer?

dyfcalid commented 6 months ago

It's weird, and I've never encountered it before. Could you provide information about your machine and environment, as well as the training and evaluation log (first and last several epochs)?

howthep commented 5 months ago

Yes, that's so weird. I remove all checkpoints and train again. It looks normal. Thans for your help. image image

last question

Could you provide your code for visualization, or which library do you use to visualize? Like this, that's more pretty. image

dyfcalid commented 5 months ago

OK.👌 You can try open3d for visualization and customize the color.