Skip to content
Snippets Groups Projects
Commit 3f4642ed authored by Iván del Pino's avatar Iván del Pino
Browse files

added parameter in config to select neural network dimensiones

parent fb20282c
No related branches found
No related tags found
No related merge requests found
......@@ -68,6 +68,9 @@ gen.add("use_neural_network", bool_t, 0, "uses neural network to segmentate grou
gen.add("extract_data_to_external_training_of_the_network", bool_t, 0, "Extract features to external file to train with Matlab", False);
gen.add("dataset_filename_with_global_path", str_t, 0, "name of the file where dump the features for neural net training in matlab", "");
gen.add("neural_net_filename_with_global_path", str_t, 0, "name of the file containing the neural net weights", "");
gen.add("neural_net_number_of_features", int_t, 0, "Size of the input layer", 9, 1, 100);
gen.add("neural_net_number_of_neurons_in_hidden_layer", int_t, 0, "Size of the hidden layer", 25, 1, 100);
gen.add("neural_net_number_of_neurons_in_output_layer", int_t, 0, "Size of the output layer", 2, 1, 100);
# labeling parameters
gen.add("max_pred_std_dev_for_labelling", double_t, 0, "To give up trying to label ground points if we don't have enough confidence in our predictions", 0.3, 0.01, 1.0);
......
......@@ -7,12 +7,12 @@ iri_ground_segmentation: {
# Parameters affecting the exploration of the pointcloud
ROI_delta_x_and_y: 3.0, ## This value sets the size of the ROIs: ROI_size = (2*ROI_delta_x_and_y)^2
ROI_shadow_area: 5.5, ## This value is the same that the above, but only used in the root vertex to overcome the shadow area
ROI_shadow_area: 5.5, #6.0, #5.5, ## This value is the same that the above, but only used in the root vertex to overcome the shadow area
ground_reference_search_resolution_deg: 40.0, #12.00, ## It is the angular resolution when generating new ground references (graph nodes),
ground_reference_search_resolution_deg: 40.0, #20.0, #40 #12.00, ## It is the angular resolution when generating new ground references (graph nodes),
## it will affect the number of nodes in the graph: lower values generate more nodes
elevation_grid_resolution: 2.1, #1.0 #0.5, ## This value is used to create the "elevation point cloud" which is a reduction of the original pointcloud, where
elevation_grid_resolution: 2.1, #1.5, #2.1, #1.0 #0.5, ## This value is used to create the "elevation point cloud" which is a reduction of the original pointcloud, where
## only the lowest z values in each cell are stored (along with a vector of indexes pointing to the remaining points
## in the cell, so that the original pointcloud can be recovered or labeled using the info in the "elevation cloud").
## Big values can speed up the algorithm but generates a lower resolution ground model, on the other hand, small values
......@@ -38,14 +38,17 @@ iri_ground_segmentation: {
# Neural Network related parameters
use_neural_network: true,
extract_data_to_external_training_of_the_network: false,
dataset_filename_with_global_path: '/home/idelpino/Documentos/dataset.txt',
neural_net_filename_with_global_path: '/media/sf_virtual_box_shared/ten_neurons_sse.csv',
dataset_filename_with_global_path: '/home/idelpino/Documentos/dataset_rgb_hsv_olbp_10_frame_inc.csv',
neural_net_filename_with_global_path: '/media/sf_virtual_box_shared/neural_networks/five_classes_13_features_39_neurons.csv',
neural_net_number_of_features: 13,
neural_net_number_of_neurons_in_hidden_layer: 39,
neural_net_number_of_neurons_in_output_layer: 5,
# labeling parameters
max_pred_std_dev_for_labelling: 0.5, ## ONLY IN USE TO GIVE COLOUR TO DENSE RECONSTRUCTION
score_threshold: 0.0, ## for assigning ground class label: one means maha. dist. equal to zero, zero means mahalanobis dist equal to maha. thres
classify_not_labeled_points_as_obstacles: true, ## when a point has no reference satisfying the max_pred_std_dev_for_labelling threshold we can leave as unknown or label it as obstacle
ground_threshold_in_not_analyzed_areas: 0.0, ## when it is not possible to make a local analysis of the data, we will use the lowest point (the one in elevation_cloud) as ground height, and
ground_threshold_in_not_analyzed_areas: 0.1, ## when it is not possible to make a local analysis of the data, we will use the lowest point (the one in elevation_cloud) as ground height, and
## all the points above it and below this threshold will be classified as ground
# visualization and debug parameters
......
......@@ -151,6 +151,36 @@ GroundSegmentationAlgNode::GroundSegmentationAlgNode(void) :
this->alg_.filtering_configuration_.neural_net_filename_with_global_path =
config_.neural_net_filename_with_global_path;
if (!this->private_node_handle_.getParam("neural_net_number_of_features",
this->config_.neural_net_number_of_features))
{
ROS_WARN(
"GroundSegmentationAlgNode::GroundSegmentationAlgNode: param 'neural_net_number_of_features' not found");
}
else
this->alg_.filtering_configuration_.neural_net_number_of_features =
config_.neural_net_number_of_features;
if (!this->private_node_handle_.getParam("neural_net_number_of_neurons_in_hidden_layer",
this->config_.neural_net_number_of_neurons_in_hidden_layer))
{
ROS_WARN(
"GroundSegmentationAlgNode::GroundSegmentationAlgNode: param 'neural_net_number_of_neurons_in_hidden_layer' not found");
}
else
this->alg_.filtering_configuration_.neural_net_number_of_neurons_in_hidden_layer =
config_.neural_net_number_of_neurons_in_hidden_layer;
if (!this->private_node_handle_.getParam("neural_net_number_of_neurons_in_output_layer",
this->config_.neural_net_number_of_neurons_in_output_layer))
{
ROS_WARN(
"GroundSegmentationAlgNode::GroundSegmentationAlgNode: param 'neural_net_number_of_neurons_in_output_layer' not found");
}
else
this->alg_.filtering_configuration_.neural_net_number_of_neurons_in_output_layer =
config_.neural_net_number_of_neurons_in_output_layer;
////////////////// labeling parameters
if (!this->private_node_handle_.getParam("max_pred_std_dev_for_labelling",
this->config_.max_pred_std_dev_for_labelling))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment