Tutorial - Recognizing objects

Created by Henri Cohen, Modified on Wed, 11 May 2022 at 01:37 PM by Herve Franco

no-virtualCannot be tested on a simulated robot, unless in a virtual world.



Teaching NAO to recognize objects


Using the Video monitor panel, NAO can learn images, objects and rooms to recognize.
  • Make sure you are connected to a real robot or to a simulated robot evolving in a virtual world.
  • Choose View -> Video monitor.
    The Video monitor panel appears and displays what the active camera is seeing.
  • Click the Learnlearn-buttonbutton.
    A 4 seconds countdown starts, it gives you time to place correctly the object you want to learn.
  • At 0, the image switch to QVGA resolution and is captured.
  • Click to draw, segment by segment, the contour of the object you want to learn.
  • Note: For a room, take the contour of the full image.
  • As soon as you click again the first point to close the shape, a pop-up opens.
  • Enter the information about the object, book or room:
    Click OK.
    A feed-back message confirms if the learning is successful or not (due to bad quality of the input).
  • If you want to learn other objects:
    • Click the Play play-button button and
    • return to step 2.
  • When you are done with learning objects, you can:
    • Click the Send current vision recognition database to NAOsend-database-buttonbutton, in order to use immediately the database on the robot, or
    • Click the Export Vision Recognition Databaseexport-database-buttonbutton, in order to save the database on your computer for later use.


Note: The database is not stored with the behavior but in a specific directory. To create several databases with different object lists or share it on other computers, you can clear, export and import the database using the dedicated buttons in the video monitor. For further details, see Video monitor panel functionalities.



Recognizing objects


    Once a vision recognition database is created and launched on the robot, NAO can recognize the objects defined in the database.

  • Make sure you are connected to a real robot or to a simulated robot evolving in a virtual world.
  • Make sure you have launched a vision recognition database on the robot.
    If not:
    • Create a vision recognition database -or import a previously stored one- and
    • Click the Send current vision recognition database to NAOsend-database-buttonbutton.
  • Create a behavior using the Vision Reco box.
  • Launch it so NAO can detect the newly learned objects.


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us how can we improve this article!

Select atleast one of the reasons

Feedback sent

We apprciate your effort and will try to fix the article