-
Notifications
You must be signed in to change notification settings - Fork 683
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(autoware_traffic_light_classifier): add traffic light classifier…
… schema, README and car and ped launcher (#10048) * feat(autoware_traffic_light_classifier):Add traffic light classifier schema and README * add individual launcher Signed-off-by: MasatoSaeki <[email protected]> * style(pre-commit): autofix * fix description Signed-off-by: MasatoSaeki <[email protected]> * fix README and source code Signed-off-by: MasatoSaeki <[email protected]> * separate schema in README Signed-off-by: MasatoSaeki <[email protected]> * fix README Signed-off-by: MasatoSaeki <[email protected]> * fix launcher Signed-off-by: MasatoSaeki <[email protected]> * style(pre-commit): autofix * fix typo Signed-off-by: MasatoSaeki <[email protected]> --------- Signed-off-by: MasatoSaeki <[email protected]> Co-authored-by: MasatoSaeki <[email protected]> Co-authored-by: Masato Saeki <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Loading branch information
1 parent
768f2ca
commit 8389fd0
Showing
10 changed files
with
232 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
23 changes: 23 additions & 0 deletions
23
...n/autoware_traffic_light_classifier/launch/pedestrian_traffic_light_classifier.launch.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<launch> | ||
<arg name="input/image" default="~/image_raw"/> | ||
<arg name="input/rois" default="~/rois"/> | ||
<arg name="output/traffic_signals" default="classified/traffic_signals"/> | ||
<arg name="data_path" default="$(env HOME)/autoware_data" description="packages data and artifacts directory path"/> | ||
<arg | ||
name="traffic_light_classifier_param_path" | ||
default="$(find-pkg-share autoware_traffic_light_classifier)/config/pedestrian_traffic_light_classifier.param.yaml" | ||
description="classifier param path" | ||
/> | ||
<arg name="traffic_light_classifier_model_path" default="$(var data_path)/traffic_light_classifier" description="path to pedestrian onnx model and label"/> | ||
<arg name="pedestrian_traffic_light_classifier_label_name" default="lamp_labels_ped.txt" description="pedestrian label name"/> | ||
<arg name="pedestrian_traffic_light_classifier_model_name" default="ped_traffic_light_classifier_mobilenetv2_batch_6" description="pedestrian onnx model name"/> | ||
<arg name="build_only" default="false" description="exit after trt engine is built"/> | ||
|
||
<node pkg="autoware_traffic_light_classifier" exec="traffic_light_classifier_node" name="traffic_light_classifier" output="screen"> | ||
<remap from="~/input/image" to="$(var input/image)"/> | ||
<remap from="~/input/rois" to="$(var input/rois)"/> | ||
<remap from="~/output/traffic_signals" to="$(var output/traffic_signals)"/> | ||
<param from="$(var traffic_light_classifier_param_path)" allow_substs="true"/> | ||
<param name="build_only" value="$(var build_only)"/> | ||
</node> | ||
</launch> |
89 changes: 89 additions & 0 deletions
89
perception/autoware_traffic_light_classifier/schema/car_traffic_light_classifier.schema.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"title": "autoware_traffic_light_classifier parameter", | ||
"type": "object", | ||
"definitions": { | ||
"car_traffic_light_classifier": { | ||
"type": "object", | ||
"properties": { | ||
"approximate_sync": { | ||
"type": "boolean", | ||
"description": "Enable or disable approximate synchronization.", | ||
"default": false | ||
}, | ||
"classifier_label_path": { | ||
"type": "string", | ||
"description": "Path to the label file for the traffic light classifier.", | ||
"default": "$(var traffic_light_classifier_model_path)/$(var car_traffic_light_classifier_label_name)" | ||
}, | ||
"classifier_model_path": { | ||
"type": "string", | ||
"description": "Path to the ONNX model file for the traffic light classifier.", | ||
"default": "$(var traffic_light_classifier_model_path)/$(var car_traffic_light_classifier_model_name).onnx" | ||
}, | ||
"classifier_precision": { | ||
"type": "string", | ||
"description": "Precision used for traffic light classifier inference. Valid values: [fp32, fp16, int8].", | ||
"default": "fp16" | ||
}, | ||
"classifier_mean": { | ||
"type": "array", | ||
"description": "Mean values used for input normalization [R, G, B].", | ||
"items": { | ||
"type": "number" | ||
}, | ||
"default": [123.675, 116.28, 103.53] | ||
}, | ||
"classifier_std": { | ||
"type": "array", | ||
"description": "Standard deviation values used for input normalization [R, G, B].", | ||
"items": { | ||
"type": "number" | ||
}, | ||
"default": [58.395, 57.12, 57.375] | ||
}, | ||
"backlight_threshold": { | ||
"type": "number", | ||
"description": "If the intensity get grater than this overwrite with UNKNOWN in corresponding RoI. Note that, if the value is much higher, the node only overwrites in the harsher backlight situations. Therefore, If you wouldn't like to use this feature set this value to `1.0`. The value can be `[0.0, 1.0]`. The confidence of overwritten signal is set to `0.0`.", | ||
"default": 0.85 | ||
}, | ||
"classifier_type": { | ||
"type": "integer", | ||
"description": "Type of classifier used. {0: hsv_filter, 1: cnn}.", | ||
"default": 1 | ||
}, | ||
"classify_traffic_light_type": { | ||
"type": "integer", | ||
"description": "Type of traffic light to classify. {0: car, 1: pedestrian}.", | ||
"default": 0 | ||
} | ||
}, | ||
"required": [ | ||
"approximate_sync", | ||
"classifier_label_path", | ||
"classifier_model_path", | ||
"classifier_precision", | ||
"classifier_mean", | ||
"classifier_std", | ||
"backlight_threshold", | ||
"classifier_type", | ||
"classify_traffic_light_type" | ||
], | ||
"additionalProperties": false | ||
} | ||
}, | ||
"properties": { | ||
"/**": { | ||
"type": "object", | ||
"properties": { | ||
"ros__parameters": { | ||
"$ref": "#/definitions/car_traffic_light_classifier" | ||
} | ||
}, | ||
"required": ["ros__parameters"], | ||
"additionalProperties": false | ||
} | ||
}, | ||
"required": ["/**"], | ||
"additionalProperties": false | ||
} |
89 changes: 89 additions & 0 deletions
89
.../autoware_traffic_light_classifier/schema/pedestrian_traffic_light_classifier.schema.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"title": "autoware_traffic_light_classifier parameter", | ||
"type": "object", | ||
"definitions": { | ||
"pedestrian_traffic_light_classifier": { | ||
"type": "object", | ||
"properties": { | ||
"approximate_sync": { | ||
"type": "boolean", | ||
"description": "Enable or disable approximate synchronization.", | ||
"default": false | ||
}, | ||
"classifier_label_path": { | ||
"type": "string", | ||
"description": "Path to the label file for the traffic light classifier.", | ||
"default": "$(var traffic_light_classifier_model_path)/$(var pedestrian_traffic_light_classifier_label_name)" | ||
}, | ||
"classifier_model_path": { | ||
"type": "string", | ||
"description": "Path to the ONNX model file for the traffic light classifier.", | ||
"default": "$(var traffic_light_classifier_model_path)/$(var pedestrian_traffic_light_classifier_model_name).onnx" | ||
}, | ||
"classifier_precision": { | ||
"type": "string", | ||
"description": "Precision used for traffic light classifier inference. Valid values: [fp32, fp16, int8].", | ||
"default": "fp16" | ||
}, | ||
"classifier_mean": { | ||
"type": "array", | ||
"description": "Mean values used for input normalization [R, G, B].", | ||
"items": { | ||
"type": "number" | ||
}, | ||
"default": [123.675, 116.28, 103.53] | ||
}, | ||
"classifier_std": { | ||
"type": "array", | ||
"description": "Standard deviation values used for input normalization [R, G, B].", | ||
"items": { | ||
"type": "number" | ||
}, | ||
"default": [58.395, 57.12, 57.375] | ||
}, | ||
"backlight_threshold": { | ||
"type": "number", | ||
"description": "If the intensity get grater than this overwrite with UNKNOWN in corresponding RoI. Note that, if the value is much higher, the node only overwrites in the harsher backlight situations. Therefore, If you wouldn't like to use this feature set this value to `1.0`. The value can be `[0.0, 1.0]`. The confidence of overwritten signal is set to `0.0`.", | ||
"default": 0.85 | ||
}, | ||
"classifier_type": { | ||
"type": "integer", | ||
"description": "Type of classifier used. {0: hsv_filter, 1: cnn}.", | ||
"default": 1 | ||
}, | ||
"classify_traffic_light_type": { | ||
"type": "integer", | ||
"description": "Type of traffic light to classify. {0: car, 1: pedestrian}.", | ||
"default": 1 | ||
} | ||
}, | ||
"required": [ | ||
"approximate_sync", | ||
"classifier_label_path", | ||
"classifier_model_path", | ||
"classifier_precision", | ||
"classifier_mean", | ||
"classifier_std", | ||
"backlight_threshold", | ||
"classifier_type", | ||
"classify_traffic_light_type" | ||
], | ||
"additionalProperties": false | ||
} | ||
}, | ||
"properties": { | ||
"/**": { | ||
"type": "object", | ||
"properties": { | ||
"ros__parameters": { | ||
"$ref": "#/definitions/pedestrian_traffic_light_classifier" | ||
} | ||
}, | ||
"required": ["ros__parameters"], | ||
"additionalProperties": false | ||
} | ||
}, | ||
"required": ["/**"], | ||
"additionalProperties": false | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters