/annotate

Create 3D labelled bounding boxes in RViz

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

annotate

GitHub GitHub top language GitHub last commit

The evaluation of perception algorithms requires labeled ground truth data. Supervised machine learning algorithms need labeled training data. Annotate is a tool to create 3D labeled bounding boxes in ROS/RViz. Its labeled data is useful both as training data for machine learning algorithms as well as ground truth for evaluation.

Requirements

Annotate is useful in the following contexts:

  • You are using ROS. Annotate was tested with ROS Kinetic (Ubuntu 16.04) and ROS Melodic (Ubuntu 18.04).
  • Your data is available in (or can easily be converted to) 3D point clouds.

Overview

Create annotations (labeled data) using RViz. Annotate provides RViz extensions for labeling. You are responsible to provide labeling data using a ROS topic with sensor_msgs/PointCloud2 data.

  • Use rosbag play or similar tooling to provide point cloud data to be annotated in sensor_msgs/PointCloud2 format
  • Start rviz from a ROS workspace including this repository to create and edit annotation tracks
  • Labeled data is stored in a YAML file of your choice See labeling for a detailled description of label creation.

Getting Started

Clone this repository in a ROS workspace to build and run annotate. For a successful build please install the dependency pcl-ros as well. You can also use rosdep to pick it up for you.

cd /path/to/your/workspace/src
git clone https://github.com/Earthwings/annotate.git
catkin build  # or catkin_make or your other favorite build method
source /path/to/your/workspace/devel/setup.bash  # or setup.zsh for ZSH users

Use the demo.launch launch file shipped with annotate to see it in action quickly. Here is a sample call:

roslaunch annotate demo.launch \
  bag:="/kitti/2011_09_26_drive_0005_sync_pointcloud.bag --pause-topics velodyne_points"

The above call will run rosbag play and RViz using a configuration file that includes the annotate RViz tool and the annotate RViz display. In the annotate display set the topic with to be labeled data to /velodyne_points. The RViz window will look similar to this:

RViz/Annotate screenshot

Please see labeling for a detailed description of label creation.