Purpose

Exwayz Ground Classification aims a 3D point cloud in a 2-class classification using the input trajectory that allowed to collect the dataset

This executable can be used in particula on frames written by exwayz_slam.exe by aggregating them over the traj_odometry.ply to compute classification a densifed frame buffer and reproject the classification on each frame.

This executable also allows to extract, for each reliable enough frame, the position of the ground point directly underneath the sensor (in the LiDAR’s reference frame) and a ground normal (pointing upward).

Command line options

Name Command line prefix Default value Definition
Frame directory --ply Path to directory containing the PLY frames
Path to a point cloud --pc Path to an input dense point cloud (merged already)
Trajectory -t Required Path to the trajectory used to detect discrepancies between LiDAR frames. This trajectory can be a traj_odometry.ply output by exwayz_slam.exe for instance
Profile -p default Name of the profile to use. Check ‣ and ‣ for more information
Begin index --begin - If set, the processing will only start at the frame index specified in the option (taken from the frame’s name)
End index --end - If set, the processing will end at the frame index specified in the option (taken from the frame’s name)
Disable the writing of the classified frames --no-write - If set, the classified frames will not be written (useful when tuning the parameters)
Allows the writing of classified frames in a separate folder --no-overwrite - If set, a frames_classified folder will be created near the input frame directory to write the classified frames
Help -h - Display the help.

Output

frame_xxxxxx.ply Classified frame with the classid field overwritten by the executable, if the software was ran on a frame directory using --ply program option without the --no-overwrite . Elst, the frames are written on directory called frames_classified near the input frame directory
ground.yaml YAML measurement file containing, for each reliable enough frame, the position of the ground point directly underneath the sensor (in the LiDAR’s reference frame) and a ground normal (pointing upward), if the software was ran on a frame directory using --ply program option
<input_pc>_classified.ply Classified point cloud with the classid field overwritten by the executable, if the software was ran on a dense point cloud using --pc .

The class IDs are described below

classid signification
40 Ground
99 Non-ground

Example of output YAML ground measurement

frame_000017.ply:
  index: 17
  timestamp: 1564026368.0531607
  u: [0.00424258085, 0.00684916321, -1.99025249]
  n: [-0.00209807139, -0.00191846513, 0.999996006]