Selon cnx-software, la bibliothèque de vision par ordinateur open source OpenCV 5 vient d’être lancée avec un nouveau moteur DNN (Deep Neural Network) qui améliore la couverture ONNX tout en prenant en charge les modèles de langage de grande taille (LLM) et de vision (VLM).
Cette cinquième version de l’incontournable bibliothèque de vision par ordinateur introduit également l’accélération matérielle pour des architectures telles qu’Intel, Arm, Qualcomm et RISC-V. En plus d’une vision 3D améliorée, elle propose une multitude de nouvelles fonctions fondamentales, incluant de nouveaux types de données, un vrai support N-dimensionnel et scalaire, ainsi que des gains de performance significatifs.

Moteur DNN dans OpenCV 5 : 80 % de couverture ONNX et modèles dynamiques
OpenCV 4.x supportait environ 22 % des opérateurs ONNX, tandis que le moteur DNN d’OpenCV 5 améliore ce chiffre à plus de 80 %. Cela indique que les modèles avec des formes dynamiques, qui posaient problème dans la version 4.x, fonctionnent désormais grâce à une reconstruction du moteur autour d’un graphique d’opération typé, intégrant inférence de forme appropriée, pliage constant et fusion d’opérateurs.

La comparaison entre OpenCV 4.x et 5 démontre des améliorations cruciales, notamment dans la représentation des modèles et la gestion des formes. Le nouveau moteur introduit une structure de graphique permettant à OpenCV 5 de symboliser et de gérer des formes dynamiques, en plus d’un support pour les sous-graphiques et une fusion accrue des opérations, entre autres.
Les utilisateurs peuvent choisir parmi quatre options de moteur pour s’assurer que les performances soient optimales et que la compatibilité soit maintenue. L’option ENGINE_CLASSIC permet de conserver l’ancien moteur, tandis que ENGINE_NEW active le moteur graphique moderne, sans GPU pour l’instant, mais des mises à jour concernant l’accélération GPU sont en cours. L’option ENGINE_AUTO teste d’abord le nouveau moteur, et ENGINE_ORT utilise un wrapper ONNX Runtime.
OpenCV 5 n’est pas seulement limité à la vision par ordinateur, il permet aussi l’exécution de grands modèles de langage directement dans le module DNN grâce à un tokenizer natif et à un cache KV, simplifiant l’utilisation simultanée de tâches de vision et de langage.
Cette capacité à gérer divers modèles d’IA générative et de vision témoigne d’un véritable potentiel pour les développeurs d’adopter OpenCV 5 dans leurs projets.

Performance DNN : OpenCV 5 sur Core i9-14900KS vs ONNX runtime
Les performances du moteur DNN d’OpenCV 5 semblent très prometteuses, comme l’indiquent les résultats de benchmarks comparatifs réalisés sur une machine disposant d’un Intel Core i9-14900KS fonctionnant sous Ubuntu 24.04 LTS. Les temps de traitement pour divers modèles sont significativement inférieurs par rapport à ceux enregistrés avec le runtime ONNX, avec des gains variés selon les modèles.
| Modèle | OpenCV 5 DNN (ms) | Durée d’exécution ONNX (ms) | Différence |
|---|---|---|---|
| XFeat | 6.56 | 8.61 | 31,25 % plus rapide |
| YOLOv8n | 10.9 | 12h15 | 11,5 % plus rapide |
| YOLOX-S | 23h46 | 25.16 | 7,24 % plus rapide |
| DINov2 petit | 23.78 | 29.58 | 24,4 % plus rapide |
| RF-DETR | 102.01 | 106.49 | 4,4 % plus rapide |
| OWLv2 | 1 090 | 1 489 | 36,6 % plus rapide |
| BiRefNet | 7 178 | 9 503,14 | 32,4 % plus rapide |
Pour des benchmarks supplémentaires, le wiki GitHub est une excellente ressource.
Améliorations techniques : jusqu’à 2x plus de performances et support N-dimensionnel
OpenCV 5 n’offre pas que des avancées en matière de Deep Learning. La fondation propose également plusieurs améliorations au sein de son noyau. Parmi les ajouts notables, on trouve des types de données améliorés tels que FP16 et BF16, un support authentique pour les dimensions N et scalaires ainsi que des performances pouvant atteindre deux fois le rendement sur des charges de travail mathématiques. Le même code peut être exécuté sur divers processeurs et accélérateurs sans investissements supplémentaires.
De plus, la bibliothèque a été mise à jour pour inclure des nettoyages au niveau de son langage : l’ancienne API C est désormais obsolète, C++17 est la norme minimale recommandée, avec des modules C++20 à venir pour les futures versions. Les utilisateurs de Python bénéficieront également d’une prise en charge améliorée de NumPy et de la possibilité d’utiliser des arguments nommés pour des méthodes, rendant l’appel aux algorithmes plus intuitif.
Accélération matérielle : 3-4x de performance sur Arm avec HAL repensée
OpenCV 5 offre une couche d’accélération matérielle (HAL) renforcée, utilisant Universal Intrinsics 2.0, pouvant s’adapter à des ensembles de instructions comme SSE, AVX2/512, NEON, SVE, et RVV. Cette mise à jour prend en charge plusieurs accélérateurs, y compris :
Pour Intel, le partenariat avec IPP (IPPICV) a permis une restructuration, offrant des optimisations pour le filtrage et la conversion des couleurs. La version pour Arm (KleidiCV) améliore considérablement les performances en utilisant NEON et SVE, faisant état d’accélérations de 3 à 4 fois sur certaines opérations. De plus, Qualcomm tire parti de FastCV pour optimiser les performances sur les plateformes Snapdragon. Enfin, la prise en charge vectorielle de RISC-V a été développée, principalement pour OpenCV China.
Le code reste identique à travers les différents matériels et OpenCV sélectionne automatiquement les meilleures voies selon l’architecture disponible.
Vision 3D optimisée : support multi-caméras et algorithmes avancés
La vision 3D dans OpenCV 5 introduit de nouvelles capacités avec un support pour l’étalonnage multi-caméras, les nuages de points et les E/S maillées. Trois modules fondamentaux sont proposés :
Le module 3D offre des fonctions de géométrie et de vision 3D, avec des algorithmes comme ICP. Le module calib s’occupe de l’étalonnage des caméras et du pipeline multi-caméras refondé. En ce qui concerne le module stéréo, il fournit des informations de profondeur.
Ces développements sont perçus comme une amélioration majeure pour les professionnels dans le domaine de la robotique, de la reconstruction et du suivi des mouvements.
Pour en savoir plus sur OpenCV 5, il est conseillé de consulter l’annonce officielle ainsi que la documentation mise à jour sur leur site. La version pip d’OpenCV 5 sera probablement lancée le 8 juin, mais il est recommandé de compiler la bibliothèque à partir des sources pour l’instant.
-
Moteur Hors-Bord thermique à 4 temps 5-60CV | Aiqidi (8CV, Arbre Court)
-
Moteur à Essence 7,5CV 4 Temps 212CM3 OHV, Vilebrequin de 20MM, Moteur à Cart, Moteur Stationnaire avec Fonction d'Avertissement d'Huile Refroidi par Air pour Pompe Générateur Tondeuse Kart
