diff --git a/CMakeLists.txt b/CMakeLists.txt
index fd210e1..3b83218 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,11 +8,14 @@ set(msg_files
"msg/PublishedTime.msg"
"msg/MissionRemainingDistanceTime.msg"
"msg/ResourceUsageReport.msg"
+ "msg/SegmentationMask.msg"
)
set(msg_dependencies
builtin_interfaces
std_msgs
+ sensor_msgs
+ autoware_perception_msgs
)
rosidl_generate_interfaces(${PROJECT_NAME}
diff --git a/msg/SegmentationMask.msg b/msg/SegmentationMask.msg
new file mode 100644
index 0000000..957c02e
--- /dev/null
+++ b/msg/SegmentationMask.msg
@@ -0,0 +1,11 @@
+std_msgs/Header header
+
+# It represent map between instance segmentation mask and labels
+# The pixel intensities in mask's starts with 1 (pixel value 0 represent pixel is not belong any object)
+# `classification[0]` returns the `label_id` for pixels with an intensity value of `1` in the mask.
+# `classification[1]` returns the `label_id` for pixels with an intensity value of `2` in the mask.
+# ...
+# The relationship between pixels and label IDs continues in this way.
+autoware_perception_msgs/ObjectClassification[] classification
+
+sensor_msgs/Image image # Mask image
diff --git a/package.xml b/package.xml
index adc2901..b22f82c 100644
--- a/package.xml
+++ b/package.xml
@@ -17,6 +17,8 @@
rosidl_default_runtime
builtin_interfaces
std_msgs
+ sensor_msgs
+ autoware_perception_msgs
ament_lint_auto
ament_lint_common