Computer Vision ist ein Bereich der künstlichen Intelligenz (KI), der Machine Learning und neuronale Netze einsetzt, um Computern und Systemen beizubringen, aussagekräftige Informationen aus digitalen Bildern, Videos und anderen visuellen Eingaben zu gewinnen. Auf Grundlage dieser Informationen kann die KI direkt Maßnahmen ergreifen oder Empfehlungen abgeben.
Einfach ausgedrückt: Wenn KI Computern das Denken ermöglicht, ermöglicht Computer Vision ihnen das Sehen, Beobachten und Verstehen.
Computer Vision funktioniert ähnlich wie das menschliche Sehvermögen – allerdings haben Menschen anfangs einen Vorteil. Das menschliche Sehvermögen wurde im Laufe der Evolution über Generationen hinweg für bestimmte Situationen optimiert. Zudem wird es bei jedem Menschen individuell seit der Geburt darin trainiert, Objekte zu unterscheiden, Distanzen einzuschätzen, Bewegungen wahrzunehmen sowie Unregelmäßigkeiten in einem Bild zu erkennen.
Computer Vision trainiert Maschinen darin, diese Funktionen auszuführen, muss dies allerdings in wesentlich kürzerer Zeit mithilfe von Kameras, Daten und Algorithmen an Stelle einer Netzhaut, Sehnerven und einem visuellen Cortex bewerkstelligen. Ein System, das auf Produktinspektion oder die Überwachung von Produktionsanlagen trainiert ist, kann Tausende Produkte oder Prozesse pro Minute überprüfen und kaum zu erkennende Mängel oder Probleme wahrnehmen. Dies kann menschliche Fähigkeiten schnell übersteigen.
Computer Vision wird in verschiedenen Branchen eingesetzt, von der Energie- und Versorgungswirtschaft bis hin zur Fertigungs- und Automobilindustrie – und der Markt wächst immer weiter. Laut dem Branchenanalysten Gartner wird der globale Markt für Computer Vision-Software, -Hardware und -Services bis 2031 386 Milliarden US-Dollar generieren, gegenüber 126 Milliarden US-Dollar im Jahr 2022.1
Computer Vision benötigt große Datenmengen für ihr Training. Diese Daten werden wiederholt analysiert, bis Unterschiede festgestellt und letztendlich Bilder erkannt werden können. Soll ein Computer beispielsweise darauf trainiert werden, Autoreifen zu erkennen, muss er mit enormen Mengen an Bildern von Reifen und Elementen mit Bezug darauf gefüttert werden, um Unterschiede ermitteln und einen Reifen erkennen zu können. Besonders dann, wenn er erkennen soll, ob dieser Reifen ohne Mängel ist, steigt die erforderliche Datenmenge weiter an.
Dabei werden zwei wesentliche Technologien eingesetzt: eine Art des Machine Learning bzw. maschinellen Lernens und ein sogenanntes Convolutional Neural Network (CNN, auch „konvolutionales neuronales Netz“).
Machine Learning verwendet algorithmische Modelle, mit deren Hilfe ein Computer sich selbst den Kontext visueller Daten erschließen kann. Wenn genügend Daten in das Modell eingespeist werden, kann sich der Computer die Daten „ansehen“ und sich selbst beibringen, ein Bild vom anderen zu unterscheiden. Algorithmen ermöglichen der Maschine dabei ein eigenständiges Lernen, ohne dass dieses fest durch einen Entwickler einprogrammiert werden muss.
Ein CNN hilft einem Machine-Learning- oder Deep-Learning-Modell beim „Ansehen“ von Bildern, indem es diese in Pixel zerlegt, die mit Tags oder Labeln gekennzeichnet sind. Die Labels werden zur Durchführung von Faltungen (eine auch als „Convolution“ bezeichnete Rechenoperation, bei der zwei Funktionen eine dritte ergeben) und für Vorhersagen darüber verwendet, was der Computer „sieht“. Das neuronale Netz führt Faltungen aus und überprüft die Genauigkeit seiner Vorhersagen über mehrere Iterationen, bis sich die Vorhersagen mit der Zeit immer mehr bewahrheiten. Ab diesem Punkt erkennt oder sieht der Computer Bilder auf eine ähnliche Weise wie unsere Augen und unser Hirn. Ähnlich wie ein Mensch, der ein Bild aus der Ferne wahrnimmt, erkennt ein CNN zunächst harte Kanten und einfache Formen und fügt dann immer mehr Informationen hinzu. Dabei trifft es konstant Vorhersagen.
Ähnlich wie ein Mensch, der ein Bild aus der Ferne erkennt, erkennt ein CNN zunächst scharfe Kanten und einfache Formen und fügt dann Informationen hinzu, während es seine Vorhersagen wiederholt. Ein CNN wird genutzt, um einzelne Bilder zu verstehen. Auf eine ähnliche Weise werden für Videoanwendungen Recurrent Neural Networks (RNNs, wiederkehrende neuronale Netze) eingesetzt, um Computer dabei zu unterstützen, den Zusammenhang zwischen Bildern in einer Abfolge von Einzelbildern (Frames) zu verstehen.
Wissenschaftler und Techniker arbeiten bereits seit über 60 Jahren daran, Maschinen das Betrachten und Verstehen visueller Daten zu ermöglichen. Erste Experimente begannen im Jahr 1959, als Neurophysiologen einer Katze eine Auswahl von Bildern zeigten und versuchten, eine Korrelation mit einer entsprechenden Reaktion in ihrem Gehirn herzustellen. Dabei fanden sie heraus, dass das Tier zuerst auf scharfe Kanten oder Linien reagierte. Aus wissenschaftlicher Sicht bedeutete dies, dass die Bildverarbeitung zunächst mit einfachen Formen wie geraden Kanten beginnt.2
Etwa zeitgleich wurde die erste Technologie zum Scannen von Bildern per Computer entwickelt, die das Digitalisieren und Erfassen von Bildern per Computer ermöglichte. Ein weiterer Meilenstein wurde 1963 erreicht, als es gelang, zweidimensionale Bilder per Computer in dreidimensionale Formen umzuwandeln. In den 1960er Jahren entstand zudem KI als akademischer Forschungsbereich, womit auch die Suche nach einer KI-Lösung für die Problemstellung des menschlichen Sehvermögens begann.
1974 wurde eine Technologie zur optischen Zeichenerkennung (Optical Character Recognition, OCR) eingeführt, die Drucktexte in jeder Schriftart und jedem Schrifttyp erkennen konnte.3 Ebenso konnte die intelligente Zeichenerkennung (Intelligent Character Recognition, ICR) handschriftliche Texte mithilfe neuronaler Netze entschlüsseln.4 Seitdem sind OCR und ICR auch zu wichtigen Bestandteilen der Bereiche der Dokumenten- und Rechnungsverarbeitung, Nummernschilderkennung, von mobilen Zahlungsmethoden, maschineller Übersetzung und weiteren gängigen Anwendungen geworden.
Im Jahr 1982 stellte der Neurowissenschaftler David Marr fest, dass das Sehvermögen hierarchisch aufgebaut ist und entwickelte Algorithmen, mit denen Maschinen Kanten, Ecken, Kurven und ähnlich einfache Formen erkennen sollten. Gleichzeitig entwickelte der Informatiker Kunihiko Fukushima ein Netz von Zellen, das Muster erkennen konnte. Dieses als Neocognitron bezeichnete Netz enthielt Faltungsebenen (Convolutional Layers) in einem neuronalen Netz.
Im Jahr 2000 stellte die Objekterkennung einen Forschungsschwerpunkt dar und 2001 erschienen die ersten Anwendungen mit Echtzeit-Gesichtserkennung. Zudem entstand in den 2000ern eine Standardisierung, die bestimmte, wie grafisch orientiert Datensätze in Tags eingeschlossen und mit Annotationen versehen werden sollten. Im Jahr 2010 wurde der Datensatz ImageNet bereitgestellt. Er enthielt Millionen von mit Tags versehenen Bildern aus tausenden von Objektklassen und fungiert als Grundlage für heutige CNNs und Deep-Learning-Modelle. Im Jahr 2012 nahm ein Team der University of Toronto mit einem CNN an einem Bilderkennungswettbewerb teil. Das Modell namens AlexNet konnte die Fehlerrate bei der Bilderkennung deutlich reduzieren. Im Zuge dieser bahnbrechenden Entwicklung fielen die Fehlerraten auf nur einige wenige Prozentpunkte.5
Im Bereich Computer Vision wird umfassend Forschung betrieben, doch auch in der Praxis werden stets neue Meilensteine erreicht. Real genutzte Anwendungen verdeutlichen, wie wichtig Computer Vision für Vorhaben in der Geschäftswelt, der Unterhaltungsbranche, im Transport- und Gesundheitswesen sowie in unserem täglichen Leben ist. Ein zentraler Einflussfaktor für die zunehmende Bedeutung dieser Anwendungen ist die Menge visueller Informationen, die von Smartphones, Sicherheitssystemen, Verkehrsüberwachungskameras und anderen visuellen Geräten stammen. Während diese Daten eine wichtige Rolle für den Betrieb in verschiedenen Branchen spielen könnten, bleiben sie aktuell dennoch häufig ungenutzt. Die Informationen können allerdings als Testumgebung für das Training von Computer-Vision-Anwendungen dienen und eine Ausgangsbasis für deren Einsatz in zahlreichen menschlichen Aktivitäten bilden:
Viele Organisationen haben nicht die Ressourcen zur Einrichtung eigener Computer-Vision-Labs und der Erstellung von Deep-Learning-Modellen und neuronalen Netzen. Auch die hohe Computerleistung, die für die Verarbeitung riesiger Mengen visueller Daten erforderlich ist, kann nicht jedes Unternehmen aufbringen. Um diese Herausforderungen zu lösen, bieten Unternehmen wie IBM Unterstützung mit Softwareentwicklungs-Services für Computer Vision. Diese Services liefern vordefinierte Lernmodelle, die direkt über die Cloud verfügbar sind. So können Datenverarbeitungsressourcen entlastet werden. Benutzer können sich über eine API (Application Programming Interface, Anwendungsprogrammierschnittstelle) mit den Services verbinden und sie zur Entwicklung von Computer-Vision-Anwendungen nutzen.
IBM hat außerdem eine Plattform für Computer Vision eingeführt, die Problemstellungen im Bereich der Entwicklungs- sowie der Rechenressourcen berücksichtigt. IBM Maximo Visual Inspection enthält Tools, die Fachleuten das Labeln, Trainieren und Bereitstellen von Deep-Learning-Vision-Modellen ermöglichen – ohne Fachwissen in den Bereichen Coding und Deep Learning. Die Vision-Modelle lassen sich auf lokalen Rechenzentren, in der Cloud und auf Edge-Geräten bereitstellen.
Während die Beschaffung von Ressourcen für die Entwicklung von Computer-Vision-Anwendungen einfacher wird, sollten sich Entwickler möglichst früh eine wichtige Frage stellen: Was genau sollen diese Anwendungen tun? Wenn Entwickler genauestens verstehen und definieren, welche Aufgaben Computer Vision in einem Projekt oder einer Anwendung erfüllen soll, können sie den Weg für einen erfolgreichen Start des Entwicklungsprozesses ebnen. Dabei können sie sich stets auf die zu erledigenden Herausforderungen konzentrieren und den Erfolg sämtlicher Maßnahmen überprüfen.
Hier sind einige Beispiele für bewährte Aufgaben im Bereich Computer Vision:
1. Emerging Tech: Revenue Opportunity Projection of Computer Vision: Growth Markets, Gartner, 19. April 2024.
2. https://hackernoon.com/a-brief-history-of-computer-vision-and-convolutional-neural-networks-8fe8aacc79f3
3. Optical character recognition, Wikipedia
4. Intelligent character recognition, Wikipedia
5. A Brief History of Computer Vision (and Convolutional Neural Networks), Rostyslav Demush, Hacker Noon, 27. Februar 2019
6. 7 Amazing Examples of Computer And Machine Vision In Practice, Bernard Marr, Forbes, 8. April 2019
7. The 5 Computer Vision Techniques That Will Change How You See The World, James Le, Heartbeat, 12. April 2018