aimotive / aimotive_dataset

aiMotive public dataset
https://openreview.net/forum?id=LW3bRLlY-SA
Other
47 stars 2 forks source link

LIDAR data seems not to be consistent #6

Open ArseniuML opened 7 months ago

ArseniuML commented 7 months ago

I tried to visualize vertical angle distribution of LIDAR points and expect this histogram to be discrete and have 64 peaks, corresponding to 64 LIDAR beams. However, this histogram seems not to be discrete. Why?

from src.aimotive_dataset import AiMotiveDataset
from src.renderer import Renderer

import numpy as np
import matplotlib.pyplot as plt

train_dataset = AiMotiveDataset('data', 'train')
renderer = Renderer()

data = train_dataset.__getitem__(1)
pcd = data.lidar_data.top_lidar.point_cloud

beams = -np.rad2deg(np.arctan2(pcd[:, 2], np.sqrt(pcd[:, 0] ** 2 + pcd[:, 1] ** 2)))

plt.figure(figsize=(24, 12))
plt.hist(beams, bins=3200, range=(-25, 15))
plt.show()

aimotive

TamasMatuszka commented 7 months ago

Hi ArseniuML,

We used Hesai Pandar 64 LiDAR which has non-uniformly distributed channels. The concrete LiDAR channel distribution is the following (copied from the datasheet, page 11): The vertical resolution is

It is indeed correct that the laser diodes emit in discrete elevations only. However, the emitted laser beams are divergent. The diode array behind the optics can detect the elevations of the reflections precisely in high resolution. The center of the reflections does not necessarily coincide with the emitted beam centers.