diff --git a/perception/lidar_centerpoint/README.md b/perception/lidar_centerpoint/README.md index 6ac6ef4f8d9ba..0c48f8abe54e0 100644 --- a/perception/lidar_centerpoint/README.md +++ b/perception/lidar_centerpoint/README.md @@ -29,6 +29,7 @@ We trained the models using . ## Parameters ### Core Parameters + {{ json_to_markdown("perception/lidar_centerpoint/schema/centerpoint_ml_package.schema.json") }} {{ json_to_markdown("perception/lidar_centerpoint/schema/centerpoint_sigma_ml_package.schema.json") }} {{ json_to_markdown("perception/lidar_centerpoint/schema/centerpoint_tiny_ml_package.schema.json") }} diff --git a/perception/lidar_centerpoint/schema/centerpoint_sigma_ml_package.schema.json b/perception/lidar_centerpoint/schema/centerpoint_sigma_ml_package.schema.json index e4bdfbf849a02..a404657fd2397 100644 --- a/perception/lidar_centerpoint/schema/centerpoint_sigma_ml_package.schema.json +++ b/perception/lidar_centerpoint/schema/centerpoint_sigma_ml_package.schema.json @@ -1,99 +1,98 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Parameters for Centerpoint Sigma ML model", - "type": "object", - "definitions": { - "centerpoint_sigma_ml_package": { - "type": "object", - "properties": { - "model_params": { - "type": "object", - "description": "Parameters for model configuration.", - "properties": { - "class_names": { - "type": "array", - "description": "An array of class names will be predicted.", - "default": ["CAR", "TRUCK", "BUS", "BICYCLE", "PEDESTRIAN"], - "items": { - "type": "string" - }, - "uniqueItems": true + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for Centerpoint Sigma ML model", + "type": "object", + "definitions": { + "centerpoint_sigma_ml_package": { + "type": "object", + "properties": { + "model_params": { + "type": "object", + "description": "Parameters for model configuration.", + "properties": { + "class_names": { + "type": "array", + "description": "An array of class names will be predicted.", + "default": ["CAR", "TRUCK", "BUS", "BICYCLE", "PEDESTRIAN"], + "items": { + "type": "string" }, - "point_feature_size": { - "type": "integer", - "description": "A number of channels of point feature layer.", - "default": 4 - }, - "max_voxel_size": { - "type": "integer", - "description": "A maximum size of voxel grid.", - "default": 40000 - }, - "point_cloud_range": { - "type": "array", - "description": "An array of distance ranges of each class, this must have same length with `class_names`.", - "default": [-76.8, -76.8, -4.0, 76.8, 76.8, 6.0], - "items": { - "type": "number" - } - }, - "voxel_size": { - "type": "array", - "description": "An array of voxel grid sizes for PointPainting, this must have same length with `paint_class_names`.", - "default": [0.32, 0.32, 10.0], - "items": { - "type": "number" - } - }, - "downsample_factor": { - "type": "integer", - "description": "A scale factor of downsampling points.", - "default": 1, - "minimum": 1 - }, - "encoder_in_feature_size": { - "type": "integer", - "description": "A size of encoder input feature channels.", - "default": 9 - }, - "has_variance": { - "type": "boolean", - "description": "Flag indicating if the model includes variance estimation.", - "default": false - }, - "has_twist": { - "type": "boolean", - "description": "Flag indicating if the model includes twist estimation.", - "default": false + "uniqueItems": true + }, + "point_feature_size": { + "type": "integer", + "description": "A number of channels of point feature layer.", + "default": 4 + }, + "max_voxel_size": { + "type": "integer", + "description": "A maximum size of voxel grid.", + "default": 40000 + }, + "point_cloud_range": { + "type": "array", + "description": "An array of distance ranges of each class, this must have same length with `class_names`.", + "default": [-76.8, -76.8, -4.0, 76.8, 76.8, 6.0], + "items": { + "type": "number" + } + }, + "voxel_size": { + "type": "array", + "description": "An array of voxel grid sizes for PointPainting, this must have same length with `paint_class_names`.", + "default": [0.32, 0.32, 10.0], + "items": { + "type": "number" } }, - "required": [ - "class_names", - "point_feature_size", - "max_voxel_size", - "point_cloud_range", - "voxel_size", - "downsample_factor", - "encoder_in_feature_size", - "has_variance", - "has_twist" - ] - } - }, - "required": ["model_params"] - } - }, - "properties": { - "/**": { - "type": "object", - "properties": { - "ros__parameters": { - "$ref": "#/definitions/centerpoint_sigma_ml_package" - } - }, - "required": ["ros__parameters"] - } - }, - "required": ["/**"] - } - \ No newline at end of file + "downsample_factor": { + "type": "integer", + "description": "A scale factor of downsampling points.", + "default": 1, + "minimum": 1 + }, + "encoder_in_feature_size": { + "type": "integer", + "description": "A size of encoder input feature channels.", + "default": 9 + }, + "has_variance": { + "type": "boolean", + "description": "Flag indicating if the model includes variance estimation.", + "default": false + }, + "has_twist": { + "type": "boolean", + "description": "Flag indicating if the model includes twist estimation.", + "default": false + } + }, + "required": [ + "class_names", + "point_feature_size", + "max_voxel_size", + "point_cloud_range", + "voxel_size", + "downsample_factor", + "encoder_in_feature_size", + "has_variance", + "has_twist" + ] + } + }, + "required": ["model_params"] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/centerpoint_sigma_ml_package" + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] +} diff --git a/perception/lidar_centerpoint/schema/centerpoint_tiny.schema.json b/perception/lidar_centerpoint/schema/centerpoint_tiny.schema.json index 31ff5c29dd1ea..7c20676e802c1 100644 --- a/perception/lidar_centerpoint/schema/centerpoint_tiny.schema.json +++ b/perception/lidar_centerpoint/schema/centerpoint_tiny.schema.json @@ -1,146 +1,142 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Parameters for Lidar Centerpoint Tiny Node", - "type": "object", - "definitions": { - "centerpoint_tiny": { - "type": "object", - "properties": { - "encoder_onnx_path": { - "type": "string", - "description": "Path to VoxelFeatureEncoder ONNX file.", - "default": "" - }, - "encoder_engine_path": { - "type": "string", - "description": "Path to VoxelFeatureEncoder TensorRT Engine file.", - "default": "" - }, - "head_onnx_path": { - "type": "string", - "description": "Path to DetectionHead ONNX file.", - "default": "" - }, - "head_engine_path": { - "type": "string", - "description": "Path to DetectionHead TensorRT Engine file.", - "default": "" - }, - "trt_precision": { - "type": "string", - "description": "TensorRT inference precision.", - "default": "fp16", - "enum": ["fp32", "fp16"] - }, - "post_process_params": { - "type": "object", - "properties": { - "score_threshold": { - "type": "number", - "description": "A threshold value of existence probability score, all of objects with score less than this threshold are ignored.", - "default": 0.35, - "minimum": 0.0, - "maximum": 1.0 - }, - "yaw_norm_thresholds": { - "type": "array", - "description": "An array of distance threshold values of norm of yaw [rad].", - "default": [0.3, 0.3, 0.3, 0.3, 0.0], - "items": { - "type": "number", - "minimum": 0.0, - "maximum": 1.0 - } - }, - "circle_nms_dist_threshold": { - "type": "number", - "description": "The distance threshold for circle NMS.", - "default": 0.5, - "minimum": 0.0, - "maximum": 1.0 - }, - "iou_nms_target_class_names": { - "type": "array", - "description": "An array of class names to be target in NMS.", - "default": ["CAR"], - "items": { - "type": "string" - }, - "uniqueItems": true - }, - "iou_nms_search_distance_2d": { - "type": "number", - "description": "A maximum distance value to search the nearest objects.", - "default": 10.0, - "minimum": 0.0 - }, - "iou_nms_threshold": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for Lidar Centerpoint Tiny Node", + "type": "object", + "definitions": { + "centerpoint_tiny": { + "type": "object", + "properties": { + "encoder_onnx_path": { + "type": "string", + "description": "Path to VoxelFeatureEncoder ONNX file.", + "default": "" + }, + "encoder_engine_path": { + "type": "string", + "description": "Path to VoxelFeatureEncoder TensorRT Engine file.", + "default": "" + }, + "head_onnx_path": { + "type": "string", + "description": "Path to DetectionHead ONNX file.", + "default": "" + }, + "head_engine_path": { + "type": "string", + "description": "Path to DetectionHead TensorRT Engine file.", + "default": "" + }, + "trt_precision": { + "type": "string", + "description": "TensorRT inference precision.", + "default": "fp16", + "enum": ["fp32", "fp16"] + }, + "post_process_params": { + "type": "object", + "properties": { + "score_threshold": { + "type": "number", + "description": "A threshold value of existence probability score, all of objects with score less than this threshold are ignored.", + "default": 0.35, + "minimum": 0.0, + "maximum": 1.0 + }, + "yaw_norm_thresholds": { + "type": "array", + "description": "An array of distance threshold values of norm of yaw [rad].", + "default": [0.3, 0.3, 0.3, 0.3, 0.0], + "items": { "type": "number", - "description": "A threshold value of NMS using IoU score.", - "default": 0.1, "minimum": 0.0, "maximum": 1.0 - }, - "has_twist": { - "type": "boolean", - "description": "Indicates whether the model outputs twist value.", - "default": false } }, - "required": [ - "score_threshold", - "yaw_norm_thresholds", - "circle_nms_dist_threshold", - "iou_nms_target_class_names", - "iou_nms_search_distance_2d", - "iou_nms_threshold", - "has_twist" - ] - }, - "densification_params": { - "type": "object", - "description": "Parameters for pointcloud densification.", - "properties": { - "world_frame_id": { - "type": "string", - "description": "A name of frame id where world coordinates system is defined with respect to.", - "default": "map" + "circle_nms_dist_threshold": { + "type": "number", + "description": "The distance threshold for circle NMS.", + "default": 0.5, + "minimum": 0.0, + "maximum": 1.0 + }, + "iou_nms_target_class_names": { + "type": "array", + "description": "An array of class names to be target in NMS.", + "default": ["CAR"], + "items": { + "type": "string" }, - "num_past_frames": { - "type": "integer", - "description": "A number of past frames to be considered as same input frame.", - "default": 1, - "minimum": 0 - } + "uniqueItems": true }, - "required": [ - "world_frame_id", - "num_past_frames" - ] - } - }, - "required": [ - "encoder_onnx_path", - "encoder_engine_path", - "head_onnx_path", - "head_engine_path", - "trt_precision", - "post_process_params", - "densification_params" - ] - } - }, - "properties": { - "/**": { - "type": "object", - "properties": { - "ros__parameters": { - "$ref": "#/definitions/centerpoint_tiny" - } + "iou_nms_search_distance_2d": { + "type": "number", + "description": "A maximum distance value to search the nearest objects.", + "default": 10.0, + "minimum": 0.0 + }, + "iou_nms_threshold": { + "type": "number", + "description": "A threshold value of NMS using IoU score.", + "default": 0.1, + "minimum": 0.0, + "maximum": 1.0 + }, + "has_twist": { + "type": "boolean", + "description": "Indicates whether the model outputs twist value.", + "default": false + } + }, + "required": [ + "score_threshold", + "yaw_norm_thresholds", + "circle_nms_dist_threshold", + "iou_nms_target_class_names", + "iou_nms_search_distance_2d", + "iou_nms_threshold", + "has_twist" + ] }, - "required": ["ros__parameters"] - } - }, - "required": ["/**"] - } - \ No newline at end of file + "densification_params": { + "type": "object", + "description": "Parameters for pointcloud densification.", + "properties": { + "world_frame_id": { + "type": "string", + "description": "A name of frame id where world coordinates system is defined with respect to.", + "default": "map" + }, + "num_past_frames": { + "type": "integer", + "description": "A number of past frames to be considered as same input frame.", + "default": 1, + "minimum": 0 + } + }, + "required": ["world_frame_id", "num_past_frames"] + } + }, + "required": [ + "encoder_onnx_path", + "encoder_engine_path", + "head_onnx_path", + "head_engine_path", + "trt_precision", + "post_process_params", + "densification_params" + ] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/centerpoint_tiny" + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] +} diff --git a/perception/lidar_centerpoint/schema/detection_class_remapper.schema.json b/perception/lidar_centerpoint/schema/detection_class_remapper.schema.json index a0e965950a893..ec1c63c30b386 100644 --- a/perception/lidar_centerpoint/schema/detection_class_remapper.schema.json +++ b/perception/lidar_centerpoint/schema/detection_class_remapper.schema.json @@ -1,47 +1,46 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Parameters for Detection Class Remapper Node", - "type": "object", - "definitions": { - "detection_class_remapper": { - "type": "object", - "properties": { - "allow_remapping_by_area_matrix": { - "type": "array", - "description": "Matrix defining how to remap original classes to new classes based on area.", - "items": { - "type": "integer" - } - }, - "min_area_matrix": { - "type": "array", - "description": "Matrix defining the minimum area thresholds for each class.", - "items": { - "type": "number" - } - }, - "max_area_matrix": { - "type": "array", - "description": "Matrix defining the maximum area thresholds for each class.", - "items": { - "type": "number" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Parameters for Detection Class Remapper Node", + "type": "object", + "definitions": { + "detection_class_remapper": { + "type": "object", + "properties": { + "allow_remapping_by_area_matrix": { + "type": "array", + "description": "Matrix defining how to remap original classes to new classes based on area.", + "items": { + "type": "integer" } }, - "required": ["allow_remapping_by_area_matrix", "min_area_matrix", "max_area_matrix"] - } - }, - "properties": { - "/**": { - "type": "object", - "properties": { - "ros__parameters": { - "$ref": "#/definitions/detection_class_remapper" + "min_area_matrix": { + "type": "array", + "description": "Matrix defining the minimum area thresholds for each class.", + "items": { + "type": "number" } }, - "required": ["ros__parameters"] - } - }, - "required": ["/**"] - } - \ No newline at end of file + "max_area_matrix": { + "type": "array", + "description": "Matrix defining the maximum area thresholds for each class.", + "items": { + "type": "number" + } + } + }, + "required": ["allow_remapping_by_area_matrix", "min_area_matrix", "max_area_matrix"] + } + }, + "properties": { + "/**": { + "type": "object", + "properties": { + "ros__parameters": { + "$ref": "#/definitions/detection_class_remapper" + } + }, + "required": ["ros__parameters"] + } + }, + "required": ["/**"] +}