Was ist Computer Vision?
Computer-Vision-Technologie ermöglicht es Maschinen, visuelle Informationen aus ihrer Umgebung zu interpretieren und zu verstehen. Diese Bildverarbeitung soll dem menschlichen Sehen nahekommen. Das versetzt sie in die Lage, Objekte zu erkennen, Muster zu identifizieren und Bewegungen wahrzunehmen.
Computer-Vision-Tools extrahieren dazu zunächst Merkmale aus einem Bild oder Video, und vergleichen diese mit bekannten Mustern. Eine Übereinstimmung kann eine entsprechende vordefinierte Aktion auslösen. So könnte etwa ein Auto selbstständig bremsen, wenn es ein Stoppschild wahrnimmt.
Lange Zeit basierten Computer-Vision-Systeme auf regelbasierten Algorithmen – ihr Verhalten wurde also explizit einprogrammiert. Waren die Bedingungen nicht ideal, z. B. aufgrund schlechter Lichtverhältnisse, schräger Aufnahmewinkel oder teilweise verdeckter Objekte, sank die Ergebnisqualität daher drastisch.
Dies änderte sich jedoch mit der Einführung von Machine Learning.
Was ist Machine Learning?
Traditionelle Computerprogramme benötigen präzise Anweisungen, um ihre Aufgaben auszuführen.
Maschinelles Lernen (ML) hingegen ist nicht auf vorprogrammierte Regelsysteme angewiesen. Vielmehr “lernen” ML-Programme von selbst, wie sie Aufgaben erledigen können, indem sie aus ihren Trainingsdaten Muster ableiten. Diese Muster können sie in der Folge auch auf unbekannte Daten anwenden.
ML-Algorithmen ahmen das menschliche Lernen nach, indem sie von Beispielen auf allgemeinere Grundsätze schließen. Einige Ansätze, insbesondere Deep Learning, verwenden dazu sogar künstliche neuronale Netzwerke. Durch das Training verändern sich die Parameter dieser Netzwerke.
Auch nach dem ursprünglichen Training können Machine-Learning-Modelle weiterhin dazulernen: Indem sie neue Daten verarbeiten und ihre Parameter entsprechend anpassen, verbessern sie ihre eigene Leistung. Diese Fähigkeit ist ein deutlicher Vorteil gegenüber regelbasierten Algorithmen.
Wie Computer Vision von Machine Learning profitiert
Dank Machine Learning können Entwickler:innen Computer-Vision-Modelle anhand großer Datensätze an Bildern mit Labels trainieren. Dies ist wesentlich einfacher, als ein solches System explizit so zu programmieren, dass es etwa jedes mögliche Straßenschild erkennt. Sie können es zudem ständig mit neuen visuellen Daten verbessern.
Auch die Leistung ist besser.
Im Vergleich zum traditionellen regelbasierten Ansatz ist auf Machine Learning basierende Computer-Vision-Software genauer und robuster. Dadurch kann sie ein breiteres Spektrum an Aufgaben und Dateninput bewältigen.
Zum Trainieren der Modelle sind allerdings große Mengen an gelabelten Daten und eine enorme Rechenleistung erforderlich. Ihre Entwicklung ist damit teuer.
Für viele gängige Anwendungen können Unternehmen aber auf bereits trainierte Modelle zurückgreifen, und müssen selbst keines entwickeln. Stattdessen verbessert der jeweilige API- oder SDK-Anbieter die Software kontinuierlich und stellt dem Kunden regelmäßig aktualisierte Versionen des Modells zur Verfügung.
Anwendungsfälle für Computer Vision mit Machine Learning
Computer-Vision-Technologie eignet sich besonders für:
- Die schnelle Erkennung und das Zählen von Objekten
- Das Wahrnehmen von kleinen und großen Veränderungen (z. B. Bewegungen)
- Das Entdecken von Abweichungen von einem Idealzustand (z. B. Produktionsfehler)
Dadurch kommt Computer Vision insbesondere in der Fertigung zum Einsatz, beispielsweise um den Durchsatz zu überwachen und fehlerhafte Produkte zu identifizieren. Auch lassen sich damit Sicherheitsvorschriften kontrollieren, etwa indem Computer-Vision-Software prüft, ob alle Mitarbeitenden Helme tragen.
Auch in der Landwirtschaft gibt es großes Potenzial für den Einsatz von Computer Vision. Kamera-Drohnen können etwa Felder abfliegen und dabei Unregelmäßigkeiten wie erkrankte Pflanzen erkennen. Solche Systeme sind auch in der Lage, den Viehbestand rund um die Uhr zu überwachen und ungewöhnliches Verhalten sofort zu melden.
Abgesehen von neuartigen Anwendungsfällen wie diesen dient ML-basierte Computer Vision auch der Verbesserung bestehender Technologien.
Wir verwenden das Machine-Learning-System TensorFlow zusammen mit der Computer-Vision-Library OpenCV, um die Leistung unseres SDK bei der Datenerfassung auf ein zuvor unerreichtes Niveau zu steigern.
Dadurch ist es möglich, Barcodes in Millisekunden zu scannen, jedes beliebige Dokument zu erkennen und zu erfassen und Daten aller Art aus verschiedensten Quellen zu extrahieren.
Sind Sie daran interessiert, leistungsstarke Scanfunktionen mithilfe eines SDKs in Ihre mobile oder Web-App zu integrieren? Dann kontaktieren Sie gerne unsere Lösungsexpert:innen. Wir freuen uns darauf, den besten Ansatz für Ihren Anwendungsfall zu finden.