Die Welt ist überflutet von Bildern.
Smartphones verfügen über Kameras, und es war noch nie so einfach, ein Foto oder Video aufzunehmen und zu teilen, was zu einem unglaublichen Wachstum moderner sozialer Netzwerke wie Instagram geführt hat.
YouTube ist möglicherweise die zweitgrößte Suchmaschine und jede Minute werden Hunderte von Stunden Videos hochgeladen und jeden Tag werden Milliarden von Videos angesehen.
Das Internet besteht aus Text und Bildern. Es ist relativ einfach, Text zu indizieren und zu durchsuchen, aber um Bilder zu indizieren und zu durchsuchen, müssen Algorithmen wissen, was die Bilder enthalten. Der Inhalt von Bildern und Videos ist lange Zeit undurchsichtig geblieben, am besten mit den Meta-Beschreibungen der Person beschrieben, die sie hochgeladen hat.
Um das Beste aus Bilddaten herauszuholen, benötigen wir Computer, um ein Bild zu „sehen“ und den Inhalt zu verstehen.
Dies ist ein triviales Problem für einen Menschen, sogar für kleine Kinder.
- Eine Person kann den Inhalt eines Fotos beschreiben, das sie einmal gesehen hat.
- Eine Person kann ein Video zusammenfassen, das sie nur einmal gesehen hat.
- Eine Person kann ein Gesicht erkennen, das sie zuvor nur einmal gesehen hat.
Wir benötigen mindestens die gleichen Fähigkeiten von Computern, um unsere Bilder und Videos freizuschalten.
Glücklicherweise wird das mittels Computer Vision und Deep Learning möglich gemacht.
Mehr Informationen über weitere KI Use Cases finden Sie in meinen Artikeln „KI Use Case: Vorhersage des nächsten Elements“ sowie „KI Use Case: Natural Language Processing„. Im ersteren behandeln wir das Thema, wie tabellarische Daten für das Training einer KI verwendet werden können. Im zweiten Artikel geht es um Definition von einem KI-Business Case, wenn die zugrundeliegenden Daten in Audio- und Video-Format vorliegen.
Was beutet Computer Vision?
Computer Vision, oft als CV abgekürzt, wird als ein Forschungsbereich definiert, das darauf abzielt, Techniken zu entwickeln, die Computern helfen, den Inhalt digitaler Bilder wie Fotos und Videos zu „sehen“ und zu verstehen.
Auf abstrakter Ebene besteht das Ziel von Computer Vision Problemen darin, aus den beobachteten Bilddaten Rückschlüsse auf die Welt zu ziehen.
Computer Vision-Anwendungen verwenden Software, um ein umfassendes Verständnis für digitale Bilder und Videos zu generieren. „Beschreibe, was du siehst“ ist eine Programmierherausforderung, die Informatiker seit Jahrzehnten beschäftigt.

Bei Computer Vision handelt sich um ein multidisziplinäres Gebiet, das allgemein als Teilgebiet der künstlichen Intelligenz und des maschinellen Lernens bezeichnet werden könnte, das den Einsatz spezialisierter Methoden und allgemeine Lernalgorithmen beinhalten kann.
Das Interpretieren von Bildern, um bestimmte Aufgaben auszuführen, wie das autonome Fahren, oder das Erkennen eines feindlichen Schiffs am Horizont ist einer der manuell intensivsten und teuersten Geschäftsprozesse. Darüber hinaus sind manche dieser Algorithmen in der Lage sogar einzelne Objekte in diesen Bildern zu erkennen oder die Objekte farbig zu segmentieren.
Regierungen, Unternehmen und Privatinvestoren haben in der Vergangenheit Milliarden ausgegeben, um den Stand der Technik voranzutreiben, weil das potenzielle Return on Investment in diesem Bereich so hoch ist.
Deep Learning revolutioniert Computer Vision
In der Vergangenheit haben Computer-Vision-Lösungen nicht immer gut funktioniert, und nur wenige haben es aus dem Labor in die Praxis geschafft. Erst im Jahre 2014 begann der große Durchbruch im Bereich Computer Vision, indem zum ersten Mal Deep-Learning-Modelle dafür verwendet wurden.
Die Architektur der neuronalen Netze, die in diesem Gebiet hauptsächlich verwendet wird sind die sogenannte Convolutional Neural Networks (CNN). CNN-Entwickler erzielten nicht nur bei jährlichen Computer-Vision-Wettbewerben weitaus bessere Ergebnisse als mit klassischen Machine Learning Algorithmen, sondern veröffentlichten auch CNN-Modelle, die auf viele andere Computer-Vision-Probleme angewandt werden konnten. Drei Jahre später veröffentlichte Apple eine Gesichtserkennung Lösung in iOS 10 mit demselben Ansatz.
KI-Systeme sind mittlerweile in der Lage bessere Ergebnisse in bestimmten Computer-Vision-Aufgaben, wie z.B. Bild-Klassifizieren zu erzielen als Menschen.
„Dogs vs. Cats“ ist eine klassische Computer-Vision-Herausforderung, bei der Entwickler versuchen, einen Algorithmus zu entwickeln, der ein Bild automatisch in die Kategorie Katze oder Hunde klassifiziert.

Noch vor fünf Jahren konnten die besten Computer-Modelle bei dem genannten Problem eine Genauigkeit von nicht mehr als 80% erreichen. Heutzutage können Algorithmen des Deep Learning mittels der convolutional neural networks Genauigkeiten im Bereich von 98% erzielen. Sehr ähnliche Verbesserungen der Ergebnisse wurden auch bei der Klassifizierung von anderen Bildarten festgestellt.
- CNNs verbesserten die Genauigkeit im Bereich der Bildklassifizierung
- Beispiel (Cats vs. Dogs): von 80% auf 98%
- Ähnlich gute oder noch bessere Ergebnisse für andere Bildtypen
Anwendungsfälle für Computer Vision
Viele populäre Computer-Vision-Anwendungen beinhalten den Versuch, Dinge in Fotos zu erkennen; zum Beispiel:
- Objektklassifizierung: Welche allgemeine Objektkategorie ist in diesem Foto enthalten?
- Objektidentifikation: Welcher Typ eines bestimmten Objekts ist auf diesem Foto?
- Objektüberprüfung: Ist das Objekt auf dem Foto?
- Objekterkennung: Wo befinden sich die Objekte auf dem Foto?
- Erkennung von Objekt-Wahrzeichen: Was sind die Schlüsselpunkte für das Objekt auf dem Foto?
- Objektsegmentierung: Welche Pixel gehören zum Objekt im Bild?
- Objekterkennung: Welche Objekte sind auf diesem Foto und wo sind sie?
Gehen wir nun auf einige dieser Anwendungen etwas detaillierter ein.
Bildklassifizierung
Wie schon erwähnt, gehört die Bildklassifizierung zu einem typischen Problem im Bereich Computer Vision. Dabei ist die Art der Bilder völlig irrelevant.
Fortgeschrittenere Anwendung für Computer Vision finden sich heute in der Medizin wieder, wo Convolutional Neural Networks verwendet werden, um Krebs zu erkennen oder nach unterschiedlichen Arten zu klassifizieren. Dabei erzielen die neuronalen Netzwerke teils bessere Ergebnisse als erfahrene Ärzte.

Allgemein kann man sagen, dass CNNs mittlerweile im Bereich der Bildklassifizierung Super Human Performance erreichen, unabhängig von Art der Bilder. Das bedeutet, dass diese neuronalen Netzwerke Bilder genauer in unterschiedliche Kategorien zuordnen können als Menschen.
Ein Beispiel dafür ist die Klassifizierung des ImageNet-Datensatzes, der aus über 1000 unterschiedlichen Bilderklassen besteht:

Bei der Klassifizierung von dem ImageNet-Datensatz erreichen die neuronalen Netze eine bessere Genauigkeit als Menschen!
Video-Überwachung
Die Technologie wird darüber hinaus in Überwachungskameras eingesetzt, um Einbrecher zu identifizieren, Menschen, die sich merkwürdig verhalten oder in dem Straßenverkehr nach Auffälligkeiten oder Gefahrensituation zu suchen.

Verbesserung der Bildqualität
Eine weitere Anwendung von Convolutional Neural Networks ist die Verbesserung der Auflösung von Bildern oder Videos. Beispielsweise können convolutional neural Networks verwendet werden um die Auflösung von Bildern zu erhöhen:

Eine weitere Anwendung im Bereich der Verbesserung der Bildqualität ist das Entrauschen der Bilder mittels neuronaler Netzen:

Klassifikation und Detektion mehrerer Objekte
Erkennung und Klassifikation mehrerer Objekte in Bildern ist eine weitere populäre Anwendung der CNNs. Wie dieses Beispiel es zeigt;

Schauen Sie sich dieses Beispiel genauer an. Einige der Drachen oder Menschen sind ziemlich leicht zu identifizieren, aber wie steht es mit denen ganz rechts? Warum kann der Computer mit 96%-Sicherheit vorhersagen, dass der eine kleine schwarze Fleck ein Drachen ist, und mit 87%-Sicherheit, dass der andere schwarze Fleck eine Person ist? Der Deep-Learning-Algorithmus hat gelernt, dass Drachen normalerweise nicht auf dem Wasser schwimmen und die Menschen nicht am Himmel schweben.
Computer Vision Use Case identifizieren
Tatsächlich stellt Computer Vision basierend auf Deep Learning heute, in meinen Augen, die vielleicht am weitesten entwickelte Form der KI. Und das könnte eine der naheliegendsten Stellen sein, wo nach KI basierten Produktmöglichkeiten gesucht werden könnte.
Zunächst sollten Geschäftsprozesse identifiziert werden, in denen bereits Bilder verwendet werden. Im zweiten Schritt sollten Prozesse berücksichtigt werden, die von der Verwendung von Bildern profitieren könnten. Wenn ein Unternehmen Geschäftsprozesse hat, wo die Mitarbeiter Bilder betrachtet müssen, sind die Wettbewerber, die auf Deep Learning setzen, in diesem Gebiet womöglich schon voraus. Diese Prozesse können heutzutage nahezu problemlos mit CNNs erledigt werden.
- Überprüfen die Mitarbeiter Satellitenbilder?
- Senden die Kunden dem Unternehmen Bilder?
- Überprüfen Sie die Benutzeridentifikation, bevor Sie Zugriff gewähren?
- Machen die Mitarbeiter Fotos, während diese Maschinen inspizieren?
Es sollten also alle Geschäftsprozesse berücksichtigt werden, in denen Bilder und Videos verwendet werden, um im Anschluss dann das Ziel dieses Geschäftsprozesses zu identifizieren.
Damit dieser Prozess durch eine Deep Learning Technologie ersetzt werden kann, muss das Ziel mit der Vorhersage des neuronalen Netzes übereinstimmen.
Angenommen, Kunden senden an ein Unternehmen Bilder von beschädigten Produkten im Rahmen eines Garantieanspruchs. Spezialisten für die Bearbeitung von Garantieansprüchen prüfen diese Bilder und genehmigen den Antrag oder lehnen ihn ab. Die Eingabedaten für diesen Geschäftsprozess sind die Bilder (und andere Antragsdaten), und die Ausgabedaten sind die Genehmigungs- / Ablehnungsentscheidungen.
Trainingsdaten für Computervision
Die größte operative Herausforderung im Computer Vision wird immer darin bestehen, Trainingsdaten für die KI-Systeme zu erstellen.
Die Trainingssdaten bzw. die Eingabedaten für die neuronalen Netze sind Bilder sowie die zugehörigen Metadaten (Kunden-ID, Zeitstempel, Standort usw.). Wenn in einem Geschäftsprozess Bilder verwendet werden, werden möglicherweise bereits Ausgabedaten generiert, wie z.B.
- Das Zuweisen von Tags
- Ablegen von Bildern in Ordnern
- Umkreisen von Objekten in den Bildern usw.
Damit Bilder verwendet werden können, um Computer-Vision-Modelle zu trainieren, müssen diese ein Label besitzen. Beispielsweise bei der Klassifizierung von Bildern in die Kategorien „Katze“ oder „Hund“, müssen diese Bilder auf irgendeine Art und Weise entweder als „Hund“ oder „Katze“ gekennzeichnet werden. Die Kosten für die Bildkennzeichnung variieren je nach Domain.
Oft gibt es dafür billigere Drittanbieter.
Jedoch komplexere Bildkennzeichnungen erfordern die Zeit von Experten. Beispielsweise müssten Trainingdaten für die Krebserkennung von einem professionellen Radiologen beschriftet werden. Qualifizierte Radiologen für die Kennzeichnung von Röntgenbildern zu bezahlen, ist natürlich teurer als jemanden dafür zu bezahlen, dass er feststellt, ob ein Bild eine Katze enthält.
Leider ist es auch nicht einfach zu ermitteln, wie viele Daten für das Training der Convolutional Neural Networks benötigt werden. Datenwissenschaftler haben jedoch Techniken entwickelt, um mit immer kleineren Mengen von Trainingsdaten gute Ergebnisse zu erzielen.
Die nützlichste Technik in der Computer Vision ist das Transferlernen, ein Prozess, der mit einem Modell beginnt, das bereits auf einem anderen Satz von Bildern trainiert wurde. Die meisten dieser Modelle gehören zu Google, sind aber meist für die Öffentlichkeit freigegeben.
Sie benötigen weniger Trainingsdaten, wenn Sie mit einer einfachen Aufgabe beginnen können. Zum Beispiel erfordert das Unterteilen von Bildern in zwei Kategorien (z. B. Hund oder Katze) weniger Trainingsdaten als das Kategorisieren von Bildern in 1000 Kategorien.
Für die erstere Aufgabe wären ungefähr 20000 Bilder ausreichend. Für die letztere Aufgabe dagegen, sind Millionen Bilder nötig. Als Faustregel können Sie annehmen, dass wir pro Klasse mindestens 10000 Bilder benötigen, um eine Klassifizierung von dem neuronalen Netz in diese Klasse durchführen zu können.
Zusammengefasst: Sobald Sie in Berührung mit Bildern oder Videos kommen ist Computer Vision basierend auf Convolutional Neural Networks die naheliegendste Gelegenheit Deep Learning einzusetzen.