-
Iván del Pino authoredIván del Pino authored
structs_definitions.h 4.42 KiB
/*
* structs_definitions.h
*
* Created on: 23 Oct 2018
* Author: idelpino
*/
#ifndef INCLUDE_STRUCTS_DEFINITIONS_H_
#define INCLUDE_STRUCTS_DEFINITIONS_H_
#include <pcl/point_types.h>
const float OUT_OF_RANGE = 1000.0;
const float MAX_RANGE = 100.0;
const int DATA_N_0_INTENSITY = 0;
const int DATA_N_1_Z_GROUND = 1;
const int DATA_N_2_Z_MEAN = 2;
const int DATA_N_3_Z_VARIANCE = 3;
const int DATA_C_0_RGB_CAST_INTO_FLOAT = 0;
const int DATA_C_1_ID_CLASS = 1;
const int DATA_C_2_INDEX_OF_GROUND_REF_THAT_MADE_THE_LABEL = 2;
const int DATA_C_3_ORIGINAL_INDEX = 3;
const int DATA_C_2_CAR_PROB = 2; // TODO: remove this
const int GRND_REF_DATA_C_0_RGB_CAST_INTO_FLOAT = 0;
const int GRND_REF_DATA_C_1_ROLL = 1;
const int GRND_REF_DATA_C_2_PITCH = 2;
const int GRND_REF_DATA_C_3_Z_VARIANCE = 3;
const int GRND_REF_DATA_N_0_ROLL_VARIANCE = 0;
const int GRND_REF_DATA_N_1_PITCH_VARIANCE = 1;
const int GRND_REF_DATA_N_2_VERTEX_CLASS = 2;
const int GRND_REF_DATA_N_3_ORIGINAL_INDEX = 3;
const int CLASS_UNKNOWN = -1;
const int INDEX_UNKNOWN = -1;
const float VERTEX_CONNECTED_TO_ROOT = 0.0;
const float VERTEX_NOT_CONNECTED_TO_ROOT = 100.0;
const float Z_VARIANCE_UNKNOWN = -1.0;
const float Z_MEAN_UNKNOWN = -1.0;
const float INTENSITY_UNKNOWN = -1.0;
const float PROB_UNKNOWN = -1.0;
const float Z_GROUND_UNKNOWN = -1000000.0;
const int KITTI_NUMBER_OF_PRECISION_RECALL_INTERVALES = 40;
// EVALUATION EXCLUDED CLASSES ///////
const int UNLABELED = 0;
const int OUTLIER = 1;
const int OTHER_STRUCTURE = 52;
const int OTHER_OBJECT = 99;
// GROUND CLASSES /////
const int ROAD = 40;
const int PARKING = 44;
const int SIDEWALK = 48;
const int OTHER_GROUND = 49;
const int LANE_MARKING = 60;
const int TERRAIN = 72;
// ORDINARY OBSTACLES //////
const int BUILDING = 50;
const int FENCE = 51;
const int VEGETATION = 70;
const int TRUNK = 71;
const int POLE = 80;
const int TRAFFIC_SIGN = 81;
// Key obstacles like cars, pedestrians and so on are the rest of the classes so we will not explicitly write them here
//Custom labels not present in Kitti semantic
const int CLASS_GROUND = 46;
const int CLASS_OBSTACLE = 100;
const int CLASS_OVERHANGING_OBSTACLE = 15;
const int CLASS_LOW_OBSTACLE = 24;
const int CLASS_GROUND_ACCUMULATED = 26;
const int CLASS_EDGE_DISCARDED_TOO_MUCH_MAHALANOBIS_DISTANCE = 25;
const int CLASS_EDGE_ACCEPTED = 27;
// GROUND SEGMENTATION COLORS
const uint8_t R_CLASS_UNKNOWN = 100;
const uint8_t G_CLASS_UNKNOWN = 100;
const uint8_t B_CLASS_UNKNOWN = 100;
const uint8_t R_CLASS_GROUND = 0;
const uint8_t G_CLASS_GROUND = 0;
const uint8_t B_CLASS_GROUND = 255;
const uint8_t R_CLASS_GROUND_ACCUMULATED = 52;
const uint8_t G_CLASS_GROUND_ACCUMULATED = 101;
const uint8_t B_CLASS_GROUND_ACCUMULATED = 164;
const uint8_t R_CLASS_OBSTACLE = 0;
const uint8_t G_CLASS_OBSTACLE = 255;
const uint8_t B_CLASS_OBSTACLE = 0;
const uint8_t R_CLASS_LOW_OBSTACLE = 255;
const uint8_t G_CLASS_LOW_OBSTACLE = 0;
const uint8_t B_CLASS_LOW_OBSTACLE = 0;
const uint8_t R_CLASS_OVERHANGING_OBSTACLE = 0;
const uint8_t G_CLASS_OVERHANGING_OBSTACLE = 255;
const uint8_t B_CLASS_OVERHANGING_OBSTACLE = 255;
const uint8_t R_CLASS_OUTLIER = 255;
const uint8_t G_CLASS_OUTLIER = 255;
const uint8_t B_CLASS_OUTLIER = 0;
const uint8_t R_VERTEX_NOT_CONNECTED_TO_ROOT = 255;
const uint8_t G_VERTEX_NOT_CONNECTED_TO_ROOT = 0;
const uint8_t B_VERTEX_NOT_CONNECTED_TO_ROOT = 0;
const uint8_t R_EDGE_DISCARDED_TOO_MUCH_MAHALANOBIS_DISTANCE = 255;
const uint8_t G_EDGE_DISCARDED_TOO_MUCH_MAHALANOBIS_DISTANCE = 0;
const uint8_t B_EDGE_DISCARDED_TOO_MUCH_MAHALANOBIS_DISTANCE = 0;
namespace kf_based_terrain_analysis_lib
{
struct FilteringConfiguration
{
float robot_height;
float ground_threshold_in_not_analyzed_areas;
float ROI_delta_x_and_y;
float ROI_shadow_area;
float ground_reference_search_resolution;
float elevation_grid_resolution;
float z_initial_std_dev;
float roll_initial_std_dev;
float pitch_initial_std_dev;
float propagation_z_additive_noise;
float propagation_additive_noise;
float z_observation_std_dev;
float mahalanobis_threshold;
int number_of_references_used_for_labelling;
float max_pred_std_dev_for_labelling;
bool classify_not_labeled_points_as_obstacles;
bool discard_not_connected_references_for_labelling;
bool measure_performance;
bool show_dense_reconstruction;
};
struct SensorConfiguration
{
float sensor_height;
};
struct Edge
{
int vertex_index;
int edge_class;
};
}
#endif /* INCLUDE_STRUCTS_DEFINITIONS_H_ */