Section: New Software and Platforms


Keywords: Augmented reality - Computer vision - Robotics - Visual servoing (VS)

Scientific Description

Since 2005, we develop and release ViSP [5] , an open source library available from http://visp.inria.fr . ViSP standing for Visual Servoing Platform allows prototyping and developing applications using visual tracking and visual servoing techniques at the heart of the Lagadic research. ViSP was designed to be independent from the hardware, to be simple to use, expandable and cross-platform. ViSP allows to design vision-based tasks for eye-in-hand and eye-to-hand visual servoing that contains the most classical visual features that are used in practice. It involves a large set of elementary positioning tasks with respect to various visual features (points, segments, straight lines, circles, spheres, cylinders, image moments, pose...) that can be combined together, and image processing algorithms that allow tracking of visual cues (dots, segments, ellipses...) or 3D model-based tracking of known objects or template tracking. Simulation capabilities are also available.

Functional Description

ViSP provides simple ways to integrate and validate new algorithms with already existing tools. It follows a module-based software engineering design where data types, algorithms, sensors, viewers and user interaction are made available. Written in C++, ViSP is based on open-source cross-platform libraries (such as OpenCV) and builds with CMake. Several platforms are supported, including OSX, Windows and Linux. ViSP online documentation allows to ease learning. More than 250 fully documented classes organized in 16 different modules, with more than 200 examples and 35 tutorials are proposed to the user. ViSP is released under a dual licensing model. It is open-source with a GNU GPLv2 license. A professional edition license that replaces GNU GPLv2 is also available.

  • Participants: François Chaumette, Éric Marchand, Fabien Spindler, Aurélien Yol and Souriya Trinh

  • Partners: Université de Rennes 1 - CNRS

  • Contact: Fabien Spindler

  • URL: http://visp.inria.fr

Figure 1. This figure highlights ViSP main capabilities for visual tracking, visual servoing, and augmented reality that may benefit from computer vision algorithms. ViSP allows controlling specific platforms through hardware abstraction or in simulation. ViSP provides also bridges over other frameworks such as OpenCV and ROS. All these capabilities are cross-platform. Moreover, for easing the prototyping of applications, ViSP provides tools for image manipulation, mathematics, data plotting, camera calibration, and many other features. ViSP powerful API is fully documented and available on Inria's forge as an open source software under GPLv2 license.

This year, a new ViSP 2.10 release was produced in February. The corresponding source code tarball was downloaded 1290 times. With the help of the community, this release was packaged for Debian and Ubuntu 14.04. We also designed a new modular software architecture where ViSP capabilities are grouped in several modules (core, io, gui, vision...). As a result, the user will find several shared or static libraries, one for each module. In the mean time we continued our efforts to improve the software by ensuring the compatibility with third-party libraries that continue also to evolve like CMake and OpenCV. We also fixed some issues, allowed the markerless 3D model-based hybrid tracker to consider cylinders and introduce a new algorithm to determine face visibility. Moreover, we improve the object detection algorithm based on keypoints that is able to return the pose of a learned object. We improved the documentation by providing new tutorials and by updating the existing ones. ViSP 3.0.0 will be released these days.

Concerning ROS community, all the existing packages in “vision_visp ” ROS stack (see http://wiki.ros.org/vision_visp ) were updated and ported to jade build system. To ease ViSP usage in the ROS framework, the releases of the year were packaged for ROS.

ViSP is used in research labs in France, USA, Japan, Korea, India, China, Lebanon, Italy, Spain, Portugal, Hungary, Canada. For instance, it is used as a support in graduate courses at IFMA Clermont-Ferrand, University of Picardie in Amiens, Télécom Physique in Strasbourg and ESIR in Rennes.