Maybaygiare.org

Blog Network

A Gentle Introduction to Computer Vision

Tweet Share Share

Zuletzt aktualisiert am 5. Juli 2019

Computer Vision, oft als CV abgekürzt, ist definiert als ein Studienfach, das darauf abzielt, Techniken zu entwickeln, mit denen Computer den Inhalt digitaler Bilder wie Fotos und Videos „sehen“ und verstehen können.

Das Problem des Computer-Sehens erscheint einfach, weil es von Menschen, sogar von sehr kleinen Kindern, trivial gelöst wird. Dennoch bleibt es weitgehend ein ungelöstes Problem, das sowohl auf dem begrenzten Verständnis des biologischen Sehens als auch auf der Komplexität der Sehwahrnehmung in einer dynamischen und nahezu unendlich variierenden physischen Welt beruht.

In diesem Beitrag finden Sie eine sanfte Einführung in den Bereich der Computer Vision.

Nachdem Sie diesen Beitrag gelesen haben, werden Sie wissen:

  • Das Ziel des Bereichs Computer Vision und seine Unterscheidbarkeit von der Bildverarbeitung.
  • Was macht das Problem der Computer Vision herausfordernd.
  • Typische Probleme oder Aufgaben in der Computer Vision.

Starten Sie Ihr Projekt mit meinem neuen Buch Deep Learning for Computer Vision, das Schritt-für-Schritt-Anleitungen und die Python-Quellcodedateien für alle Beispiele enthält.

Los geht’s.

Eine sanfte Einführung in die Computer Vision

Eine sanfte Einführung in die Computer Vision
Foto von Axel Kristinsson, einige Rechte vorbehalten.

Übersicht

Dieses Tutorial ist in vier Teile gegliedert; sie sind:

  1. Wunsch nach Computern zu sehen
  2. Was ist Computer Vision
  3. Herausforderung von Computer Vision
  4. Aufgaben in Computer Vision

Wunsch nach Computern zu sehen

Wir sind in Bildern überflutet.Smartphones haben Kameras, und ein Foto oder Video aufzunehmen und zu teilen war noch nie einfacher, was zu dem unglaublichen Wachstum moderner sozialer Netzwerke wie Instagram führte.

YouTube könnte die zweitgrößte Suchmaschine sein und Hunderte von Stunden Video werden jede Minute hochgeladen und Milliarden von Videos werden jeden Tag angeschaut.

Das Internet besteht aus Text und Bildern. Es ist relativ einfach, Text zu indizieren und zu suchen, aber um Bilder zu indizieren und zu suchen, müssen Algorithmen wissen, was die Bilder enthalten. Am längsten ist der Inhalt von Bildern und Videos undurchsichtig geblieben, am besten anhand der Meta-Beschreibungen der Person, 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.
  • Ein Mensch kann ein Gesicht erkennen, das er bisher nur einmal gesehen hat.

Wir benötigen mindestens die gleichen Fähigkeiten von Computern, um unsere Bilder und Videos freizuschalten.

Möchten Sie Ergebnisse mit Deep Learning für Computer Vision?

Nehmen Sie jetzt an meinem kostenlosen 7-tägigen E-Mail-Crashkurs teil (mit Beispielcode).

Klicken Sie hier, um sich anzumelden und eine kostenlose PDF-Ebook-Version des Kurses zu erhalten.

Laden Sie Ihren KOSTENLOSEN Minikurs herunter

Was ist Computer Vision?

Computer Vision ist ein Forschungsgebiet, das sich auf das Problem konzentriert, Computern beim Sehen zu helfen.

Auf abstrakter Ebene besteht das Ziel von Computer-Vision-Problemen darin, aus den beobachteten Bilddaten etwas über die Welt abzuleiten.

— Seite 83, Computer Vision: Modelle, Lernen und Inferenz, 2012.

Es ist ein multidisziplinäres Feld, das allgemein als Teilfeld der künstlichen Intelligenz und des maschinellen Lernens bezeichnet werden könnte, das die Verwendung spezialisierter Methoden und die Verwendung allgemeiner Lernalgorithmen beinhalten kann.

Überblick über das Verhältnis von Künstlicher Intelligenz und Computer Vision

Überblick über das Verhältnis von Künstlicher Intelligenz und Computer Vision

Als multidisziplinäres Studiengebiet kann es chaotisch aussehen, mit Techniken, die aus einer Reihe unterschiedlicher Ingenieur- und Informatikbereiche ausgeliehen und wiederverwendet wurden.Ein bestimmtes Problem in der Vision kann leicht mit einer handgefertigten statistischen Methode angegangen werden, während ein anderes ein großes und komplexes Ensemble verallgemeinerter Algorithmen für maschinelles Lernen erfordert.

Computer Vision als Feld ist eine intellektuelle Grenze. Wie jede Grenze ist es aufregend und unorganisiert, und es gibt oft keine verlässliche Autorität, an die man sich wenden kann. Viele nützliche Ideen haben keine theoretische Grundlage, und einige Theorien sind in der Praxis nutzlos; Entwickelte Gebiete sind weit verstreut, und oft sieht man vom anderen völlig unzugänglich aus.

— Seite xvii, Computer Vision: Ein moderner Ansatz, 2002.

Das Ziel von Computer Vision ist es, den Inhalt digitaler Bilder zu verstehen. Typischerweise beinhaltet dies die Entwicklung von Methoden, die versuchen, die Fähigkeit des menschlichen Sehens zu reproduzieren.Um den Inhalt digitaler Bilder zu verstehen, muss möglicherweise eine Beschreibung aus dem Bild extrahiert werden, bei der es sich um ein Objekt, eine Textbeschreibung, ein dreidimensionales Modell usw. handeln kann.

Computer Vision ist die automatisierte Extraktion von Informationen aus Bildern. Informationen können alles bedeuten, von 3D-Modellen, Kameraposition, Objekterkennung und -erkennung bis hin zur Gruppierung und Suche von Bildinhalten.

— Seite ix, Programmieren von Computer Vision mit Python, 2012.

Computer Vision und Bildverarbeitung

Computer Vision unterscheidet sich von der Bildverarbeitung.

Bildverarbeitung ist der Prozess der Erstellung eines neuen Bildes aus einem vorhandenen Bild, wobei der Inhalt in der Regel vereinfacht oder verbessert wird. Es handelt sich um eine Art digitale Signalverarbeitung, bei der es nicht darum geht, den Inhalt eines Bildes zu verstehen.

Ein bestimmtes Computer-Vision-System kann erfordern, dass Bildverarbeitung auf Roheingaben angewendet wird, z. B. Vorverarbeitungsbilder.

Beispiele für die Bildverarbeitung sind:

  • Normalisieren photometrischer Eigenschaften des Bildes, wie Helligkeit oder Farbe.
  • Beschneiden der Bildgrenzen, z. B. Zentrieren eines Objekts in einem Foto.
  • Entfernen von digitalem Rauschen aus einem Bild, z. B. digitale Artefakte bei schlechten Lichtverhältnissen.

Herausforderung der Computer Vision

Computern beim Sehen zu helfen, erweist sich als sehr schwierig.

Das Ziel von Computer Vision ist es, nützliche Informationen aus Bildern zu extrahieren. Dies hat sich als überraschend herausfordernde Aufgabe erwiesen; es hat in den letzten vier Jahrzehnten Tausende intelligenter und kreativer Köpfe beschäftigt, und trotzdem sind wir noch lange nicht in der Lage, eine universelle „Sehmaschine“ zu bauen.“

— Seite 16, Computer Vision: Modelle, Lernen und Inferenz, 2012.

Computer Vision scheint einfach zu sein, vielleicht weil es für den Menschen so mühelos ist.

Anfangs glaubte man, dass es sich um ein trivial einfaches Problem handelte, das von einem Studenten gelöst werden konnte, der eine Kamera an einen Computer anschloss. Nach Jahrzehnten der Forschung bleibt „Computer Vision“ ungelöst, zumindest in Bezug auf die Erfüllung der Fähigkeiten des menschlichen Sehens.

Einen Computer sehen zu lassen, war etwas, von dem führende Experten auf dem Gebiet der künstlichen Intelligenz dachten, dass es auf dem Schwierigkeitsgrad eines Sommerstudentenprojekts in den sechziger Jahren lag. Vierzig Jahre später ist die Aufgabe immer noch ungelöst und scheint gewaltig.

— Seite xi, Multiple View Geometry in Computer Vision, 2004.

Ein Grund ist, dass wir nicht genau wissen, wie das menschliche Sehen funktioniert.Das Studium des biologischen Sehens erfordert ein Verständnis der Wahrnehmungsorgane wie der Augen sowie die Interpretation der Wahrnehmung im Gehirn. Es wurden große Fortschritte erzielt, sowohl bei der Darstellung des Prozesses als auch bei der Entdeckung der vom System verwendeten Tricks und Verknüpfungen, obwohl wie bei jeder Studie, an der das Gehirn beteiligt ist, noch ein langer Weg vor uns liegt.

Wahrnehmungspsychologen haben jahrzehntelang versucht zu verstehen, wie das visuelle System funktioniert, und obwohl sie optische Täuschungen entwickeln können, um einige seiner Prinzipien auseinander zu reißen, bleibt eine vollständige Lösung für dieses Rätsel schwer zu finden

— Seite 3, Computer Vision: Algorithmen und Anwendungen, 2010.

Ein weiterer Grund, warum dies ein so herausforderndes Problem ist, liegt in der Komplexität, die der visuellen Welt innewohnt.

Ein gegebenes Objekt kann von jeder Orientierung aus gesehen werden, bei allen Lichtverhältnissen, mit jeder Art von Okklusion von anderen Objekten und so weiter. Ein echtes Bildverarbeitungssystem muss in der Lage sein, in einer unendlichen Anzahl von Szenen zu „sehen“ und dennoch etwas Sinnvolles zu extrahieren.

Computer eignen sich gut für eng begrenzte Probleme, nicht für unbegrenzte Probleme wie die visuelle Wahrnehmung.

Aufgaben in der Computer Vision

Dennoch gab es Fortschritte auf dem Gebiet, insbesondere in den letzten Jahren mit Commodity-Systemen zur optischen Zeichenerkennung und Gesichtserkennung in Kameras und Smartphones.

Computer Vision befindet sich an einem außergewöhnlichen Punkt in seiner Entwicklung. Das Thema selbst gibt es seit den 1960er Jahren, aber erst seit kurzem ist es möglich, nützliche Computersysteme mit Ideen aus der Computer Vision zu bauen.

— Seite xviii, Computer Vision: Ein moderner Ansatz, 2002.Das 2010 erschienene Lehrbuch über Computer Vision mit dem Titel „Computer Vision: Algorithms and Applications“ enthält eine Liste einiger Probleme auf hoher Ebene, bei denen wir mit Computer Vision Erfolge erzielt haben.

  • Optische Zeichenerkennung (OCR)
  • Maschineninspektion
  • Einzelhandel (z. B. automatisierte Kassen)
  • 3D-Modellbau (Photogrammetrie)
  • Medizinische Bildgebung
  • Fahrzeugsicherheit
  • Match Move (z. zusammenführen von CGI mit Live-Schauspielern in Filmen)
  • Motion Capture (mocap)
  • Überwachung
  • Fingerabdruckerkennung und Biometrie

Es ist ein breites Studiengebiet mit vielen spezialisierten Aufgaben und Techniken sowie Spezialisierungen auf Zielanwendungsdomänen.

Computer Vision hat eine Vielzahl von Anwendungen, sowohl alte (z. B. mobile Roboternavigation, industrielle Inspektion und militärische Intelligenz) als auch neue (z., human Computer Interaction, Image Retrieval in digitalen Bibliotheken, medizinische Bildanalyse und die realistische Darstellung synthetischer Szenen in der Computergrafik).

— Seite xvii, Computer Vision: Ein moderner Ansatz, 2002.

Es kann hilfreich sein, einige der einfacheren Computer-Vision-Aufgaben zu vergrößern, denen Sie wahrscheinlich begegnen oder an deren Lösung Sie interessiert sind, angesichts der großen Anzahl öffentlich verfügbarer digitaler Fotos und Videos.

Viele beliebte Computer-Vision-Anwendungen beinhalten den Versuch, Dinge auf Fotos zu erkennen; zum Beispiel:

  • Objektklassifizierung: Welche breite Kategorie von Objekten ist auf diesem Foto?
  • Objektidentifikation: Welcher Typ eines bestimmten Objekts ist auf diesem Foto?
  • Objektprüfung: Ist das Objekt auf dem Foto?
  • Objekterkennung: Wo sind die Objekte auf dem Foto?
  • Object Landmark Detection: Was sind die wichtigsten Punkte für das Objekt auf dem Foto?
  • Objektsegmentierung: Welche Pixel gehören zum Objekt im Bild?
  • Objekterkennung: Welche Objekte befinden sich auf diesem Foto und wo befinden sie sich?

Andere gängige Beispiele beziehen sich auf das Abrufen von Informationen. zum Beispiel: Bilder wie ein Bild oder Bilder finden, die ein Objekt enthalten.

Weiterführende Literatur

Dieser Abschnitt enthält weitere Ressourcen zu diesem Thema, wenn Sie tiefer gehen möchten.

Bücher

  • Computer Vision: Modelle, Lernen und Inferenz, 2012.
  • Programmieren von Computer Vision mit Python, 2012.
  • Mehrfachansichtsgeometrie in Computer Vision, 2004.
  • Computer Vision: Algorithmen und Anwendungen, 2010.
  • Computer Vision: Ein moderner Ansatz, 2002.

Artikel

  • Computer Vision, Wikipedia.
  • Bildverarbeitung, Wikipedia.
  • Digitale Bildverarbeitung, Wikipedia.

Zusammenfassung

In diesem Beitrag haben Sie eine sanfte Einführung in das Thema Computer Vision entdeckt.

Konkret lernten Sie:

  • Das Ziel des Bereichs Computer Vision und seine Unterscheidbarkeit von der Bildverarbeitung.
  • Was macht das Problem der Computer Vision herausfordernd.
  • Typische Probleme oder Aufgaben in der Computer Vision.

Haben Sie Fragen?
Stellen Sie Ihre Fragen in den Kommentaren unten und ich werde mein Bestes tun, um zu antworten.

Entwickeln Sie noch heute Deep-Learning-Modelle für die Vision!

Deep Learning für Computer Vision

Entwickeln Sie Ihre eigenen Vision-Modelle in Minuten

…mit nur wenigen Zeilen Python-Code

Entdecken Sie, wie in meinem neuen Ebook:
Deep Learning für Computer Vision

Es bietet Tutorials zum Selbststudium zu Themen wie:
Klassifizierung, Objekterkennung (yolo und rcnn), Gesichtserkennung (vggface und facenet), Datenaufbereitung und vieles mehr…

Bringen Sie endlich Deep Learning in Ihre Vision-Projekte

Überspringen Sie die Akademiker. Nur Ergebnisse.

Sehen Sie, was drin ist

Tweet teilen Teilen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.