• IT-Karriere:
  • Services:

Wie funktioniert maschinelles Sehen?

Maschinelles Sehen gibt es mindestens schon seit den 1960er Jahren. Damit wird die Fähigkeit von Menschen nachgeahmt, Informationen aus visuellen Wahrnehmungen zu gewinnen. Bisweilen werden diese Fähigkeiten sogar übertroffen: So gibt es Sensoren für Wellenlängen außerhalb des sichtbaren Spektrums, die Videoaufnahmen analysieren, deren Bildfrequenzen weit oberhalb der für Menschen wahrnehmbaren Frequenzen liegen.

Stellenmarkt
  1. ING Deutschland, Nürnberg
  2. DGUV - Deutsche gesetzliche Unfallversicherung e. V., Sankt Augustin

Für maschinelles Sehen werden verschiedene Algorithmen eingesetzt, doch heutzutage ist es meistens ein Convolutional Neural Network (CNN). CNNs gibt es seit den 1980ern, zum flächendeckenden Einsatz kamen sie erst in 2010ern. Sie zählen zu sogenannten Deep Learning Neural Networks (DLNN) - neuronale Netze, die mehrere versteckte Schichten (Hidden Layer) von Neuronen haben. So ein Hidden Layer kann beispielsweise aus 10.000 Neuronen bestehen.

Wenn wir zehn solcher Hidden Layer haben, haben wir insgesamt 100.000 Neuronen. Jedes Neuron einer Schicht k kann mit jedem Neuron der vorigen Schicht k - 1 über sogenannte Synapsen verbunden sein. Damit ergeben sich zwischen zwei Schichten bis zu 10.000 x 10.000 = 100 Millionen Synapsen. Bei zehn Schichten gibt es somit bis zu einer Milliarde Synapsen.

Über Synapsen und Faltungsschichten

Jede dieser Synapsen hat Gewichtungen, die die Stärke einer Reiz- beziehungsweise Datenübertragung bestimmen. Beim Trainieren von DLNNs werden die Synapsengewichtungen mit rechenintensiven Verfahren optimiert, damit sie möglichst gut bestimmte Klassifizierungs- oder Regressionsaufgaben erledigen. Wie gut die Aufgaben erledigt werden, wird mit Hilfe statistischer Kennzahlen bewertet, was auch bedeutet, dass Computer-Vision-Modelle nur Wahrscheinlichkeitsaussagen machen. Zu erklären, wie das genau funktioniert, würde an dieser Stelle zu weit führen. Zudem ist dieses Wissen für die Nutzung der Out-of-the-Box-Services der Cloud-Anbieter nicht erforderlich.

Nur am Rande sei angemerkt, dass es verschiedene Arten von Schichten gibt und CNNs ihren Namen wegen sogenannter Convolutional Layer (Faltungsschichten, die deutsche Bezeichnung wird aber kaum verwendet) tragen - wobei dies nicht die einzige Art von Schichten in CNNs ist. Das Trainieren von CNNs ist sehr speicher- und rechenintensiv. Vor allem Grafikkarten eignen sich sehr gut, um CNNs zu trainieren, weil die verwendeten Algorithmen in einem hohen Grad parallele Berechnungen unterstützen und leistungsfähige Grafikkarten heutzutage Tausende von Berechnungskernen haben.

Deshalb kamen CNNs erst großflächig zum Einsatz, als leistungsstarke Grafikkarten mit Tausenden GPU-Cores und vielen Gigabyte (GB) leistungsfähigem Videospeicher erschwinglich wurden. In gewisser Weise hat die Computerspiele-Industrie mit ihrem wachsenden Bedarf an immer leistungsfähigeren Grafikkarten die Hardware-Innovationen vorangetrieben, die zum Erfolg von CNNs führten.

CNN-Modelle für maschinelles Sehen werden meistens mit Frameworks wie Googles Tensorflow oder Microsofts CNTK entwickelt. Für das Entwickeln der CNN-Modelle werden Kenntnisse in Statistik und der Funktionsweise von CNNs benötigt. Außerdem sind Programmierkenntnisse erforderlich, insbesondere in Python, das häufig eingesetzt und von sehr vielen Machine-Learning-Frameworks unterstützt wird. Um CNN-Modelle darauf zu trainieren, Objekte in Bildern zu erkennen, sind geeignete Bilder samt Kennzeichnung/Beschriftung (Labeling) des Bildinhalts und ausreichend Speicher- und Rechenleistung nötig.

Um ein CNN-Modell etwa zu trainieren, nur bestimmte Objekte wie Flugzeuge zu erkennen, sind lediglich Bilder verschiedener Flugzeugtypen aus unterschiedlichen Beobachtungswinkeln vonnöten. Das stellt keine große Herausforderung dar. Anders sieht es aus, wenn das CNN-Modell lernen soll, viele Objekte des Alltags zu erkennen: Menschen, Hunde, Katzen, Hamster, Berge, Brücken und so weiter. Wer noch mehr ins Detail gehen will und bei Menschen Merkmale wie Geschlecht, Alter, Frisur, Bärte, Kleidungsstil und so weiter unterscheiden möchte, bräuchte unvorstellbar viele Bilder samt Beschriftung der in den Bildern sichtbaren Objekte. Dementsprechend wären sehr viel Rechenleistung oder Zeit für das Trainieren des CNN-Modells nötig.

Doch es gibt eine Alternative dazu, eigene CNNs zu trainieren, nämlich schon vorab trainierte Computer Vision Machine Learning Services von Cloud-Anbietern einzusetzen. Ihnen muss man lediglich ein Bild senden und erhält dann eine mehr oder weniger aussagefähige Beschreibung des Inhalts des Bildes.

Was können die Cloud-Anbieter?

Obwohl die Cloud-Dienstleister vom Prinzip her jeweils Ähnliches anbieten, gibt es beim Leistungsumfang Unterschiede. Auch bei der Trefferwahrscheinlichkeit (Qualität), Geschwindigkeit der Bilderkennung und bei den Preisen unterscheiden sie sich. Da sich aber gerade diese Faktoren laufend verändern, werden sie in dieser Übersicht nicht berücksichtigt. Ein weiterer wichtiger Aspekt ist die Region der Services. Manchmal ist es so, dass neue Funktionen (vorerst) nur in US-Cloud-Regionen angeboten werden.

Beispielsweise war die Emotion-API von Microsoft, die Emotionen anhand von Gesichtsausdrücken zu erkennen versucht, während der sogenannten Preview-Phase in den US-Regionen, nicht aber in EU-Regionen der Azure-Cloud verfügbar. Cloud-Services in Rechenzentren außerhalb der EU können, je nach Datenschutzerklärung, AGB und sonstigen Vereinbarungen beziehungsweise rechtlicher Lage, in manchen Fällen zu datenschutzrechtlichen Problemen beim Einsatz der Computer-Vision-Services führen.

Denn die Daten könnten zu Rechenzentren außerhalb der EU gesendet und dort von einem Drittunternehmen, nämlich dem Cloud-Anbieter, in einem Land verarbeitet werden, wo die Datenschutz-Gesetze möglicherweise mit den europäischen Verordnungen beziehungsweise AGBs nicht kompatibel sind. In Unternehmen kann es deshalb ratsam sein, den Datenschutzbeauftragten um eine Beurteilung zu bitten.

Zum Glück bieten große Cloud-Anbieter die meisten Computer-Vision-Services auch in Datenzentren in der EU an, wie beispielsweise Microsoft, das in mehreren europäischen Standorten präsent ist.

Als erstes sehen wir uns nun den Anbieter mit einem besonders großen Leistungsspektrum an.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Wofür wird maschinelles Sehen gebraucht?Microsoft Azure Cognitive Services: Großes Leistungsspektrum 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10.  


Anzeige
Spiele-Angebote
  1. 31,99€
  2. 16,99€

cran 09. Jan 2020

Es ist vermutlich viel zu billig. Das darf man nicht passieren lassen. Einigen wenigen...

jg (Golem.de) 07. Jan 2020

Vielen Dank und wir haben den Begriff im Artikel geändert!

WalterSobchak 07. Jan 2020

Das Problem bei all den genannten Services ist für alle DSGVO konform arbeitenden...

möpmöp123 06. Jan 2020

+1


Folgen Sie uns
       


    •  /