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.
Annotate is useful in the following contexts:
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.
rosbag play
or similar tooling to provide point cloud data to be annotated in sensor_msgs/PointCloud2
formatrviz
from a ROS workspace including this repository to create and edit annotation tracksClone 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:
Please see labeling for a detailed description of label creation.