Entwicklung & Code

OpenCV 5.0 bringt LLMs in die Computer-Vision-Bibliothek


Mit OpenCV 5.0 ist eine neue Hauptversion der weit verbreiteten Computer-Vision-Bibliothek erschienen. Kern des Releases ist eine komplett neu entwickelte Deep-Learning-Engine (DNN). Sie unterstützt deutlich mehr ONNX-Modelle als bisher, führt moderne Transformer-Architekturen effizienter aus und verarbeitet erstmals auch Sprachmodelle (LLMs) und Vision-Language-Modelle (VLMs) direkt in OpenCV. Außerdem modernisieren die Entwickler den Kern der Bibliothek, bauen die Hardwarebeschleunigung aus und erweitern die 3D-Funktionen.

Weiterlesen nach der Anzeige

OpenCV (Open Source Computer Vision Library) zählt zu den wichtigsten Open-Source-Bibliotheken für die Bildverarbeitung und Computer Vision. Sie kommt unter anderem in der Robotik, der Industrieautomation, der Medizintechnik, in AR/VR-Anwendungen und in Embedded-Systemen zum Einsatz. Die Bibliothek bietet zahlreiche Algorithmen für Bilderkennung, Objekterkennung, Kalibrierung, Tracking und 3D-Rekonstruktion.

Die wichtigste Neuerung ist die überarbeitete DNN-Engine. Nach Angaben des Projekts steigt die Unterstützung für ONNX-Operatoren von rund 22 Prozent in der 4.x-Reihe auf über 80 Prozent. ONNX (Open Neural Network Exchange) hat sich als verbreitetes Austauschformat für KI-Modelle etabliert. Bisher scheiterte der Import moderner Modelle in OpenCV oft an fehlenden Operatoren oder an Einschränkungen bei dynamischen Eingabegrößen.

Die neue Engine setzt auf eine graphbasierte Ausführung: Sie verarbeitet Modelle nicht mehr als einfache Folge von Schichten, sondern analysiert sie als Berechnungsgraph. Das erlaubt Optimierungen wie Shape Inference, Constant Folding und Operator Fusion. Neu sind außerdem die Unterstützung dynamischer Shapes, von Kontrollfluss-Konstrukten wie If– und Loop-Blöcken sowie von Quantisierungsgraphen.

Für aktuelle KI-Modelle besonders relevant ist die Attention Fusion: Die Engine erkennt typische Transformer-Muster und fasst mehrere Operationen zu einer einzigen, optimierten Berechnung zusammen. Das soll moderne Transformer-Modelle beschleunigen und den Speicherbedarf senken. Details zur neuen Engine beschreibt das Projekt im Überblick zu OpenCV 5 auf der Projektseite.

Hinzu kommt die Integration von Sprach- und multimodalen Modellen. Dafür bringt OpenCV 5 einen eigenen Tokenizer und einen KV-Cache für die autoregressive Textgenerierung mit. Unterstützt werden unter anderem die Modellfamilien Qwen 2.5, Gemma 3 und PaliGemma (partiell). So deckt OpenCV nicht mehr nur klassische Bildverarbeitung ab, sondern auch Vision-Language-Szenarien – etwa, wenn ein Modell ein Bild analysiert und anschließend in natürlicher Sprache beschreibt.

Weiterlesen nach der Anzeige

Um die Umstellung bestehender Anwendungen zu erleichtern, bleibt die bisherige DNN-Engine erhalten. OpenCV 5 stellt damit drei Ausführungsvarianten bereit: die neue Engine, die klassische Engine und optional ONNX Runtime. Anwendungen können je nach Bedarf zwischen den Varianten wechseln, ohne ihre DNN-API anzupassen. Welche Engine zum Einsatz kommt, lässt sich beim Laden eines Modells über einen Parameter aus dem Enum cv::dnn::EngineType steuern; standardmäßig wählt ENGINE_AUTO automatisch die passende Variante.

Auch beim Feature-Matching setzt OpenCV stärker auf Deep Learning. Das neue Modul Features löst das bisherige Features2D ab und ergänzt klassische Verfahren wie SIFT oder ORB um neuronale Alternativen, darunter ALIKED, DISK und LightGlueMatcher. Solche Verfahren kommen etwa beim Zusammensetzen von Panoramen, bei Visual SLAM oder bei 3D-Rekonstruktionen zum Einsatz.

LightGlue nutzt Attention-Mechanismen, um Bildmerkmale robuster zuzuordnen als klassische Verfahren. Die klassischen Detektoren bleiben dabei erhalten, sodass sich der neue Deep-Learning-Pfad und die etablierten Methoden je nach Anwendungsfall kombinieren lassen.

Modernisiert haben die Entwickler auch den Kern der Bibliothek. OpenCV unterstützt nun die Datentypen FP16 und BF16, die in aktuellen KI-Beschleunigern weit verbreitet sind, dazu Bool und weitere Integer-Varianten. Die Matrixklasse cv::Mat kann erstmals echte 0D- und 1D-Strukturen abbilden und beherrscht jetzt Broadcasting sowie weitere N-dimensionale Operationen. Das soll viele Umwege und Konvertierungen ersparen.

Bei den Schnittstellen trennt sich das Projekt schrittweise von Altlasten: Die historische C-API gilt nun offiziell als veraltet. Für Python unterstützt OpenCV 5 NumPy 2.x und integriert benannte Parameter stärker, sodass sich Funktionen lesbarer aufrufen lassen – etwa cv.someAlgorithm(threshold=0.5) statt einer rein positionsbasierten Übergabe.

Ein weiteres zentrales Thema ist die Hardwarebeschleunigung. Die Entwickler haben die Hardware Abstraction Layer (HAL) grundlegend überarbeitet, um optimierte Implementierungen verschiedener Hardwarehersteller leichter einzubinden. Das Projekt nennt unter anderem Intel IPP, Arm KleidiCV, Qualcomm FastCV und die Unterstützung der Vektor-Erweiterungen moderner RISC-V-Prozessoren.

Anwendungen sollen so ohne Anpassungen auf unterschiedlichen Prozessorarchitekturen von Beschleunigung profitieren. Möglich macht das unter anderem eine einheitliche Vektor-Codebasis, die verschiedene Befehlssatzerweiterungen wie SSE, AVX, NEON, SVE und RVV über eine gemeinsame Schnittstelle anspricht.

Deutlich ausgebaut wurden die 3D-Funktionen. Das bisherige Modul calib3d teilt sich künftig in die drei Module 3d, calib und stereo auf. Neu hinzu kommen Funktionen für die Kalibrierung mehrerer Kameras, der Import und Export von Punktwolken und Meshes sowie Verfahren zur 3D-Rekonstruktion auf Basis von TSDF-Volumen. Auch moderne Schätzverfahren wie MAGSAC halten Einzug in OpenCV. Diese Erweiterungen richten sich vor allem an Entwickler in der Robotik, von autonomen Systemen und in der industriellen 3D-Vermessung.

Weitere Neuerungen gibt es bei der Bildbearbeitung, die Dokumentation setzt künftig auf eine Kombination aus Sphinx und Doxygen. Den Quellcode stellt das Projekt im GitHub-Repository bereit; die Installation per pip ist ebenfalls vorgesehen.


(fo)



Source link

Beliebt

Die mobile Version verlassen