Contributing to the Anki Vector dataset

Amitabha
Programming Robots
Published in
3 min readSep 26, 2020

--

In my previous post, I discussed how Roboflow.com features the Anki Vector public dataset, which can be used to train the Vector too recognize another Vector using the Anki Vector SDK. This post captures how you can add your own images to the dataset, and build your own dataset. More images add more diversity to the dataset, and lead to better trained models. Here is what you will have to do.

Prerequisites:

You will need the following:

  1. Two Anki Vector robots in working condition.
  2. Anki Vector SDK Dev environment setup, hopefully in a Ubuntu or alternative Linux environment. Please refer to the following page if you have not setup an Anki vector SDK environment.
  3. Account with roboflow.com You can use your github.com account to get one for free.

Steps:

  1. Please clone my git, or download this program.
  2. Have a setup where two Vectors are sitting opposite to each other. You can place one on the charger (Vector A), so that it does not move much. You can have the other one (Vector B) roaming freely.
  3. Run the following command: python3 takePicture.py -s <Serial Number of Vector A>
  4. Step 3 takes 20 pictures by default. You can use the -i and -e options to indicate how many pictures you want.
  5. Now, we need to label the pictures with a labeling tool. In Linux, we can use labelImg to label. Start labelImg, open a picture that was taken, draw a rectangular bounding box around Vector B in the picture. Assign it the label “vector” (Note all small case). Save in PascalVOC format. The picture below in Figure 1 might be of use.
  6. Now go to the Roboflow public dataset. Choose the option “Fork Dataset” to have your own copy of the dataset.
  7. You will reach a page like the one shown in Figure 2, where you can add your own images (See “Add more images” icon on the right) and build your own custom dataset. You can now use all other roboflow features to export the dataset to our desired format. Figure 2 shows an example.
  8. Last, but not the least, it would be great if you can publicly release your dataset. You can either pay for the Roboflow feature that allows you to release your dataset publicly. Alternatively, reach out to me via this form and if your image and label quality is acceptable, I will add your images to my public dataset.
https://robotics.thinkific.com

PS: If you would like to learn Artificial Intelligence with the help of Vector, I have a course available at http://robotics.thinkific.com I will feel honored to have you as a student. I am also the editor of a Medium publication: “Programming Robots” where you would find other articles on Vector and other robots.

Figure 1: A sample from labelImg
Figure 2: Snapshow from roboflow.com after forking the Anki Vector dataset.

--

--

Amitabha
Programming Robots

Avid biker. VMware engineer. Robotics. Thoughts in this forum reflect my own opinions. Write about Robotics, Vector, Cozmo, and VMware.