Skip to content

Tools for auto generation of image datasets with annotated bounding boxes

Notifications You must be signed in to change notification settings

rohitsalem/projection

Repository files navigation

projection

Package for Auto generation of Bounding boxes in Gazebo for gazebo Models

Requirement: ROS Kinetic, Gazebo-8, and ROS packages:

Recommended ROS Packages:

If Using Docker (RECOMMENDED):

Requirements:

  • An X server
  • Docker
  • Nvidia-Docker
  • Place this package and the above recommended packages (if you want to ckeck out the validation example with tensorflow_detector) in workspace/src folder on your local machine.
  • Replace the WORKSPACE variable in docker/run_demo.bash to point to your workspace in your local machine.
  • Then, RUN:
cd projection/docker
bash run_demo.bash

To check out the basic version, like the one in the gif below, alt text

  • Place this packge in your workspace's src folder (Ignore this step if you followed previous steps for using docker).
  • RUN catkin_make.
  • RUN roslaunch projection getbox.launch.

This will open Rviz and Gazebo,

  • The Image with the 2D bounding box can be found on ros topic /ShowBoundingBox/image_raw
  • The minimum and maximum corners of the 2D Bounding Box is on ROS topic /pixels : The message is in the order (x_min, y_min, x_max, y_max)
  • The object (person) in the default world launched can be moved around, and the corresponding Bounding Boxes can be seen overlayed on the image in Rviz.

To set random poses to the object and see the corresponding Bounding Boxes, RUN roslaunch projection getbox_setpose.launch

  • This will launch a node(setPose.py) to publish random poses to the setPosesPlugin attached to the Model. Like this: alt text

To use the model with a prius car and simulated city, along with tensoflow object recoginiton

Like this:

alt text

  • Make sure that you have tensorflow installed, for tensoflow installation check here.
  • Get all of recommended the recommended ROS packages along with this package and place them in your workspace. (Ignore this step if you followed previous steps for using docker).
  • RUN catkin_make.
  • RUN roslaunch projection demo.launch, this will launch the mcity world with prius car and a person (object) by default and you can move the car using your joystick or WASD on your keyboard, The person model will move randomly along with the car.
  • To get the accuracy score of the tensorflow detection, RUN rosrun projection validate.py.

To set the prius to follow a predifined path like this: alt text

  • RUN : roslaunch projection demo_setpose.launch, this will also run setPose_prius.py node to set pose of the prius according to the poses in the csv file.
  • Then again, to get the accuracy of the tensorflow detection, RUN rosrun projection validate.py.

About

Tools for auto generation of image datasets with annotated bounding boxes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published