|
#include <ArmarXCore/core/Component.h>
#include <ArmarXCore/core/application/properties/PluginAll.h>
#include <ArmarXCore/util/CPPUtility/TripleBuffer.h>
#include <ArmarXCore/util/CPPUtility/ConfigIntrospection/create_macro.h>
#include <ArmarXCore/interface/observers/ObserverInterface.h>
#include <RobotAPI/interface/visualization/DebugDrawerInterface.h>
#include <ArmarXCore/core/services/tasks/TaskUtil.h>
#include <ArmarXGui/interface/RemoteGuiInterface.h>
#include <ArmarXGui/libraries/RemoteGui/WidgetProxy.h>
#include <ArmarXGui/libraries/RemoteGui/WidgetBuilder.h>
#include <ArmarXGui/libraries/ArmarXGuiComponentPlugins/RemoteGuiComponentPlugin.h>
#include <VisionX/interface/components/DenseCRFSegmentationProcessorInterface.h>
#include <VisionX/components/pointcloud_core/PointCloudProcessor.h>
#include <VisionX/libraries/PointCloudGraph/voxel_grid_graph_builder.h>
#include <VisionX/libraries/PointCloudGraph/point_cloud_graph.h>
#include <VisionX/libraries/PointCloudGraph/PointXYZRGBLNormal.h>
#include <VisionX/libraries/PointCloudGraph/common.h>
#include <pcl/point_types.h>
#include <boost/graph/filtered_graph.hpp>
#include <ArmarXCore/util/CPPUtility/trace.h>
#include "DenseGraphCRF.hpp"
#include "Common.h"
Go to the source code of this file.
Classes | |
class | DenseCRFSegmentationProcessor |
Brief description of class DenseCRFSegmentationProcessor. More... | |
class | DenseCRFSegmentationProcessorPropertyDefinitions |
Namespaces | |
armarx | |
This file offers overloads of toIce() and fromIce() functions for STL container types. | |
Functions | |
ARMARX_CONFIG_STRUCT_DEFINE_ADAPT_CONFIGURE (armarx::densecrf::config, data,(armarx::densecrf::config::general, general),(armarx::densecrf::config::output, out),(armarx::densecrf::config::edge_comp, edge)) | |
ARMARX_CONFIG_STRUCT_DEFINE_ADAPT_CONFIGURE (armarx::densecrf::config, edge_comp,(bool, use_xyz, AX_DESCRIPTION("If true xyz values are used for edge computation"), AX_DEFAULT(true)),(float, xyz_influence, AX_DESCRIPTION("Weight for the influence of position in the edge computation"), AX_DEFAULT(0), AX_MIN(-2), AX_MAX(2), AX_DECIMALS(1), AX_STEPS(100)),(bool, use_normals, AX_DESCRIPTION("If true normal values are used for edge computation"), AX_DEFAULT(true)),(float, normals_influence, AX_DESCRIPTION("Weight for the influence of normals in the edge computation"), AX_DEFAULT(0), AX_MIN(-2), AX_MAX(2), AX_DECIMALS(1), AX_STEPS(100)),(bool, use_rgb, AX_DESCRIPTION("If true RGB values are used for edge computation"), AX_DEFAULT(true)),(float, rgb_influence, AX_DESCRIPTION("Weight for the influence of color in the edge computation"), AX_DEFAULT(0), AX_MIN(-2), AX_MAX(2), AX_DECIMALS(1), AX_STEPS(100)),(bool, use_curvature, AX_DESCRIPTION("If true curvature values are used for edge computation"), AX_DEFAULT(true)),(float, curvature_influence, AX_DESCRIPTION("Weight for the influence of curvature in the edge computation"), AX_DEFAULT(0), AX_MIN(-2), AX_MAX(2), AX_DECIMALS(1), AX_STEPS(100)),(bool, use_time, AX_DESCRIPTION("If true time values are used for edge computation"), AX_DEFAULT(true)),(float, time_influence, AX_DESCRIPTION("Weight for the influence of time in the edge computation"), AX_DEFAULT(0), AX_MIN(-2), AX_MAX(2), AX_DECIMALS(1), AX_STEPS(100)),(bool, use_combined, AX_DESCRIPTION("If true the influence values are combined before they are given to DenseCRF"), AX_DEFAULT(true)),(float, potts_compatibilty, AX_DESCRIPTION("Weight factor for the Potts Compatibility"), AX_DEFAULT(10), AX_MIN(0.5), AX_MAX(50), AX_DECIMALS(1), AX_STEPS(200))) | |
ARMARX_CONFIG_STRUCT_DEFINE_ADAPT_CONFIGURE (armarx::densecrf::config, general,(int, num_classes, AX_DESCRIPTION("Number of maximal object classes in an image"), AX_DEFAULT(20), AX_MIN(1), AX_MAX(255), AX_NO_REMOTE_GUI()),(float, ground_truth_prob, AX_DESCRIPTION("Number of maximal object classes in an image"), AX_DEFAULT(0.5), AX_MIN(0), AX_MAX(1), AX_DECIMALS(2), AX_STEPS(100)),(bool, use_vertex_only_graph, AX_DESCRIPTION("If true, the graph is not computed via a voxel grid and" " therefore has no edges between the vertices. This also means the" " curvature is not signed in this case."), AX_DEFAULT(false)),(bool, use_approximate_voxels, AX_DESCRIPTION("If true & UseVertexOnlyGraph is true, the downsampling" " uses the ApproximateVoxelGrid for downsampling instead of the normal" "VoxelGrid"), AX_DEFAULT(false)),(float, voxel_resolution, AX_DESCRIPTION("Resolution of the Voxels used as Vertices of the Graph"), AX_DEFAULT(0.05), AX_MIN(0.01), AX_MAX(.02), AX_DECIMALS(3), AX_STEPS(100)),(int, map_iterations, AX_DESCRIPTION("Number of iterations used for the map"), AX_DEFAULT(5), AX_MIN(1), AX_MAX(100))) | |
ARMARX_CONFIG_STRUCT_DEFINE_ADAPT_CONFIGURE (armarx::densecrf::config, output,(bool, provide_graph_pclouds, AX_DESCRIPTION("If true a segmentation for each timestep" "is provided as result cloud"), AX_DEFAULT(false), AX_NO_REMOTE_GUI()),(bool, provide_confidence_pclouds, AX_DESCRIPTION("If true a confidence for each timestep" "is provided as result cloud"), AX_DEFAULT(false), AX_NO_REMOTE_GUI()),(bool, colorize_confidence_pclouds, AX_DESCRIPTION("If true the confidence pclouds are colorized"), AX_DEFAULT(false), AX_NO_REMOTE_GUI())) | |
ARMARX_CONFIG_STRUCT_DEFINE_ADAPT_CONFIGURE | ( | armarx::densecrf::config | , |
data | , | ||
(armarx::densecrf::config::general, general) | , | ||
(armarx::densecrf::config::output, out) | , | ||
(armarx::densecrf::config::edge_comp, edge) | |||
) |
ARMARX_CONFIG_STRUCT_DEFINE_ADAPT_CONFIGURE | ( | armarx::densecrf::config | , |
edge_comp | , | ||
(bool, use_xyz, AX_DESCRIPTION("If true xyz values are used for edge computation"), AX_DEFAULT(true)) | , | ||
(float, xyz_influence, AX_DESCRIPTION("Weight for the influence of position in the edge computation"), AX_DEFAULT(0), AX_MIN(-2), AX_MAX(2), AX_DECIMALS(1), AX_STEPS(100)) | , | ||
(bool, use_normals, AX_DESCRIPTION("If true normal values are used for edge computation"), AX_DEFAULT(true)) | , | ||
(float, normals_influence, AX_DESCRIPTION("Weight for the influence of normals in the edge computation"), AX_DEFAULT(0), AX_MIN(-2), AX_MAX(2), AX_DECIMALS(1), AX_STEPS(100)) | , | ||
(bool, use_rgb, AX_DESCRIPTION("If true RGB values are used for edge computation"), AX_DEFAULT(true)) | , | ||
(float, rgb_influence, AX_DESCRIPTION("Weight for the influence of color in the edge computation"), AX_DEFAULT(0), AX_MIN(-2), AX_MAX(2), AX_DECIMALS(1), AX_STEPS(100)) | , | ||
(bool, use_curvature, AX_DESCRIPTION("If true curvature values are used for edge computation"), AX_DEFAULT(true)) | , | ||
(float, curvature_influence, AX_DESCRIPTION("Weight for the influence of curvature in the edge computation"), AX_DEFAULT(0), AX_MIN(-2), AX_MAX(2), AX_DECIMALS(1), AX_STEPS(100)) | , | ||
(bool, use_time, AX_DESCRIPTION("If true time values are used for edge computation"), AX_DEFAULT(true)) | , | ||
(float, time_influence, AX_DESCRIPTION("Weight for the influence of time in the edge computation"), AX_DEFAULT(0), AX_MIN(-2), AX_MAX(2), AX_DECIMALS(1), AX_STEPS(100)) | , | ||
(bool, use_combined, AX_DESCRIPTION("If true the influence values are combined before they are given to DenseCRF"), AX_DEFAULT(true)) | , | ||
(float, potts_compatibilty, AX_DESCRIPTION("Weight factor for the Potts Compatibility"), AX_DEFAULT(10), AX_MIN(0.5), AX_MAX(50), AX_DECIMALS(1), AX_STEPS(200)) | |||
) |
ARMARX_CONFIG_STRUCT_DEFINE_ADAPT_CONFIGURE | ( | armarx::densecrf::config | , |
general | , | ||
(int, num_classes, AX_DESCRIPTION("Number of maximal object classes in an image"), AX_DEFAULT(20), AX_MIN(1), AX_MAX(255), AX_NO_REMOTE_GUI()) | , | ||
(float, ground_truth_prob, AX_DESCRIPTION("Number of maximal object classes in an image"), AX_DEFAULT(0.5), AX_MIN(0), AX_MAX(1), AX_DECIMALS(2), AX_STEPS(100)) | , | ||
(bool, use_vertex_only_graph, AX_DESCRIPTION("If true, the graph is not computed via a voxel grid and" " therefore has no edges between the vertices. This also means the" " curvature is not signed in this case."), AX_DEFAULT(false)) | , | ||
(bool, use_approximate_voxels, AX_DESCRIPTION("If true & UseVertexOnlyGraph is true, the downsampling" " uses the ApproximateVoxelGrid for downsampling instead of the normal" "VoxelGrid"), AX_DEFAULT(false)) | , | ||
(float, voxel_resolution, AX_DESCRIPTION("Resolution of the Voxels used as Vertices of the Graph"), AX_DEFAULT(0.05), AX_MIN(0.01), AX_MAX(.02), AX_DECIMALS(3), AX_STEPS(100)) | , | ||
(int, map_iterations, AX_DESCRIPTION("Number of iterations used for the map"), AX_DEFAULT(5), AX_MIN(1), AX_MAX(100)) | |||
) |
ARMARX_CONFIG_STRUCT_DEFINE_ADAPT_CONFIGURE | ( | armarx::densecrf::config | , |
output | , | ||
(bool, provide_graph_pclouds, AX_DESCRIPTION("If true a segmentation for each timestep" "is provided as result cloud"), AX_DEFAULT(false), AX_NO_REMOTE_GUI()) | , | ||
(bool, provide_confidence_pclouds, AX_DESCRIPTION("If true a confidence for each timestep" "is provided as result cloud"), AX_DEFAULT(false), AX_NO_REMOTE_GUI()) | , | ||
(bool, colorize_confidence_pclouds, AX_DESCRIPTION("If true the confidence pclouds are colorized"), AX_DEFAULT(false), AX_NO_REMOTE_GUI()) | |||
) |