| Fiche technique | |
|---|---|
| Type de produit : | Bibliothèque |
| Catégorie : | Vision par ordinateur |
| Langage de programmation : | C/C++ |
| Auteur : | Qualcomm Innovation Center, Inc. |
| Date de publication : | 2011 à maintenant |
| Licence : | Gratuit |
| Site Web : | https://developer.qualcomm.com/ |
Introduction
FastCV (Fast Computer Vision) est une bibliothèque optimisée de vision par ordinateur conçue initialement par Qualcomm, principalement pour les plateformes mobiles utilisant des processeurs Snapdragon. Elle est spécialement adaptée aux applications en temps réel où les performances sont cruciales, notamment pour la réalité augmentée, le suivi d'objets, la détection de mouvements ou encore l'analyse d'images en direct. Contrairement à d'autres bibliothèques plus généralistes comme OpenCV, FastCV est spécifiquement conçue pour tirer parti des instructions SIMD (Single Instruction, Multiple Data) et des capacités de traitement parallèle des processeurs ARM. Cela permet à FastCV de fournir une exécution plus rapide et une consommation énergétique plus faible, ce qui est essentiel dans les environnements mobiles. Elle est souvent utilisée dans des applications Android, en particulier celles destinées aux casques AR, aux jeux ou à la capture vidéo intelligente. En offrant une API C optimisée, FastCV facilite également l'intégration dans des projets exigeant des performances élevées avec peu de latence.
FastCV intègre une panoplie de fonctions essentielles pour les applications de vision par ordinateur. Elle prend en charge des opérations de base telles que le filtrage d'images, les transformations géométriques, le seuillage, la détection de contours et l'analyse de formes. Parmi les fonctions avancées, on retrouve également la détection de visages, la reconnaissance de motifs, les algorithmes de suivi (tracking) ainsi que les descripteurs de points d'intérêt comme FAST, BRIEF et Harris. Ces algorithmes sont soigneusement optimisés pour le matériel ARM, ce qui permet des performances accrues même sur des dispositifs à faibles ressources. Un autre atout de FastCV réside dans sa capacité à fonctionner avec les flux de caméras en temps réel, ce qui en fait un excellent choix pour les applications embarquées nécessitant des temps de réponse très courts. En comparaison à d'autres bibliothèques open source, FastCV est plus restreinte en termes de couverture fonctionnelle, mais elle excelle dans ce qu'elle propose.
L'utilisation de FastCV nécessite une familiarité avec la programmation native en C/C++, en particulier dans un contexte Android via le NDK (Native Development Kit). Qualcomm fournit un SDK incluant la documentation, les bibliothèques précompilées ainsi que des exemples de code pour faciliter l'intégration. FastCV est cependant limitée aux appareils dotés de processeurs Snapdragon, ce qui restreint sa portabilité par rapport à des bibliothèques comme OpenCV étant multiplateformes. De plus, bien que FastCV ait été très populaire dans les années 2010, son développement actif semble s'être ralenti, ce qui signifie qu'elle ne bénéficie plus nécessairement des mises à jour fréquentes ou des dernières avancées en vision par ordinateur. Elle reste néanmoins un outil précieux dans les environnements fermés ou spécialisés où la performance en temps réel est plus critique que la flexibilité ou la richesse fonctionnelle. En résumé, FastCV est un choix stratégique dans les projets mobiles centrés sur l'efficacité et l'optimisation matérielle.