Section: New Software and Platforms

ViSP: a visual servoing and tracking software library

Participants : Fabien Spindler [correspondant] , Aurélien Yol, Eric Marchand, François Chaumette.

Since 2005, we develop and release under the terms of the GPLv2 license, ViSP, an open source library available from http://team.inria.fr/lagadic/visp . It allows fast prototyping of visual tracking and visual servoing tasks. ViSP was designed to be independent with 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...), 3D model-based tracking of known objects or template tracking. Simulation capabilities are also available. ViSP and its full functionalities are presented in Fig. 1 and described in [5] .

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, we continued our efforts to improve the software by ensuring the compatibility with third-party libraries that evolves a lot like CMake 3.0.0 and OpenCV 3.0.0 and by enlarging the compatibility with exotic platforms like RaspberryPi. We also fixed some issues, allowed the model-based tracker to consider circles. We introduced new bar code and face detection but also tracking capabilities. Moreover, we completely re-factored the capabilities concerning keypoint detection and matching. We improved the documentation by providing new tutorials covering the main capabilities of the software. A new release was produced in February. The source code tarball was downloaded 1000 times. With the help of the community, this release was packaged for Debian and Ubuntu 14.04. A new release is in preparation.

Concerning ROS community, all the existing packages in “vision_visp ” ROS stack (see http://wiki.ros.org/vision_visp ) were updated and ported to indigo build system. To ease ViSP usage in the ROS framework, the last release was 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.