613 Shares 3795 views

Moderne Computer Vision. Aufgaben und Computer-Vision-Technologie. Programmierung Computer Vision in Python

Wie man einen Computer lehren, zu verstehen, was auf dem Bild oder Bildern dargestellt wird? Dies scheint einfach, aber für einen Computer ist dies nur eine Matrix, bestehend aus Nullen und Einsen, aus denen Sie wichtige Informationen extrahieren möchten.

Was ist Computer-Vision? Es ist die Fähigkeit zu „sehen“ Ihrem Computer

Vision – ist eine wichtige Informationsquelle für die Person, die sie verwenden, erhalten wir, nach verschiedenen Schätzungen, von 70 bis 90% aller Informationen. Und natürlich, wenn wir ein Smart-Auto schaffen wollen, müssen wir die gleichen Fähigkeiten und Computer implementieren.

Das Problem der Computer Vision kann ganz klar gesagt werden. Was ist „sehen“? Es versteht sich, dass, wo es einfach durch einen Blick. Das schloss die Unterschiede der Computer Vision und das menschliche Auge. Vision für uns – es ist eine Quelle des Wissens über die Welt, sowie eine Quelle für metrische Information – das heißt, die Fähigkeit, die Abstände und Größen zu verstehen.

Semantic Kernel-Image

Mit Blick auf das Bild, können wir es durch eine Reihe von Attributen beschreiben, so zu sprechen, semantische Informationen zu extrahieren.

Zum Beispiel in diesem Bild suchen, können wir sagen, dass es draußen ist. Was ist der Stadtverkehr. Dass es Autos. Wir können vermuten, dass dieses Südostasien von der Konfiguration des Gebäudes und Hieroglyphen ist. Das Porträt von Mao Zedong verstehen, dass dies Peking ist, und wenn jemand Live-Video gesehen oder selbst war es gewesen, würde vermuten, dass dies der berühmte Platz des Himmlischen Friedens ist.

Was können wir mehr über das Bild sagen, es zu sehen? Wir können Objekte im Bild identifizieren, zu sagen, dass es Menschen hier näher – Zaun. Hier Regenschirme, Poster ist das Gebäude. Dies sind Beispiele für Klassen sind sehr wichtig, Objekte, die auf der Suche nach dem Moment beschäftigt sind.

Dennoch können wir einige der Merkmale oder Eigenschaften von Objekten lernen. Zum Beispiel bestimmen, können wir hier, dass dies nicht ein Porträt eines gewöhnlichen Chinesen ist, nämlich Mao Zedong.

Entsprechend kann das Fahrzeug festgestellt werden, dass es ein sich bewegendes Objekt ist, und es ist schwer, die bei der Bewegung nicht verformt wird. Über kann Flaggen gesagt werden, dass es Objekte, bewegen sie auch, aber sie sind nicht schwer, ständig verformt. Und in der Szene gibt es den Wind, der durch die Entwicklung Flags bestimmt werden kann, und kann sogar die Richtung des Windes bestimmen, zum Beispiel, wird von links nach rechts bläst.

Die Abstände und Längen im Bereich Computer Vision

Sehr wichtig sind die metrischen Informationen über Computer Vision Wissenschaft. Dies ist alle Arten von Entfernungen. Zum Beispiel ist für den Rover besonders wichtig, weil die Mannschaften aus der Erde ca. 20 Minuten sind und so viel beantworten. Dementsprechend wird der Link hin und zurück – 40 Minuten. Und wenn wir einen Plan für die Bewegungsbefehle von der Erde zu machen, müssen Sie dies berücksichtigen.

Erfolgreich integriert die Technologie von Computer Vision in Videospielen. Nach dem Video können Sie dreidimensionale Modelle von Objekten, die Menschen bauen, und Fotos auf dem Benutzer kann die dreidimensionale Modelle von Städten wiederherzustellen. Und dann auf ihnen laufen.

Computer Vision – ein ziemlich breites Spektrum. Es ist eng mit verschiedenen anderen Wissenschaften miteinander verflochten. Ein Teil der Computer-Vision Es fängt den Verarbeitungsbereich Bild und manchmal ordnet Computer Vision, historisch.

Analyse, Mustererkennung – der Weg zur Schaffung von überlegener Intelligenz

Lassen Sie uns diese Konzepte gesondert untersuchen.

Bildverarbeitung – dies ist ein Bereich von Algorithmen, in denen die Ein- und Ausgang – Bild, und wir ihm etwas zu tun haben.

Bildanalyse – ist der Bereich der Computer Vision, die mit dem zweidimensionalen Bild auf die Arbeit konzentriert sich und machen Schlussfolgerungen daraus.

Mustererkennung – eine abstrakte mathematische Disziplin, die Daten in Form von Vektoren erkennt. Das heißt, am Eingang – Vektor und wir haben etwas damit zu tun. Wo der Vektor ist, sind wir nicht so wichtig zu wissen.

Computer Vision – es war ursprünglich die Struktur der zweidimensionalen Bilder wiederherzustellen. Heute ist dieses Gebiet ist breiter geworden und es kann als Annahme aller der physikalischen Objekte interpretiert werden machen, basierend auf dem Bild. Das heißt, es ist die Aufgabe der künstlichen Intelligenz.

Parallel Computer Vision in einem ganz anderen Gebiet, in der Geodäsie, Photogrammetrie entwickelt hat – eine Messung des Abstands zwischen den Objekten auf zweidimensionalen Bildern.

Roboter können „sehen“

Und schließlich – das ist Machine Vision. Unter der Machine-Vision bedeutet eine Vision von Robotern. Das ist die Entscheidung einiger Produktionsprobleme. Wir können sagen , dass der Computer Vision eine große Wissenschaft. Es vereint einige der anderen wissenschaftlichen Teil. Und wenn der Computer Vision eine bestimmte Anwendung wird, verwandelt es sich in eine Maschine Vision.

Computer Vision Region hat eine Masse von praktischen Anwendungen. Es ist mit der Automatisierung der Produktion verbunden. Bei den Unternehmen werden effiziente Handarbeit durch Maschinen zu ersetzen. Die Maschine wird nicht müde, schläft nicht, sie hatte unregelmäßige Arbeitszeiten, ist sie bereit, 365 Tage im Jahr zu arbeiten. Also, mit der Maschine arbeiten, können wir ein garantiertes Ergebnis zu einem bestimmten Zeitpunkt bekommen, und es ist sehr interessant. Alle Aufgaben haben eine klare Verwendung für Computer-Vision-Systeme. Und es gibt nichts Schöneres, als die Ergebnisse sofort auf dem Bild in der Berechnungsstufe nur zu sehen.

An der Schwelle der Welt der künstlichen Intelligenz

Plus die Gegend – es ist schwer! Ein wesentlicher Teil des Gehirns verantwortlich für die Vision, und es wird angenommen, dass, wenn Sie Ihren Computer zu „sehen“ zu lehren, das heißt, die volle Nutzung des Computers Vision, es ist eines der Ziele der Voll künstlicher Intelligenz. Wenn wir das Problem auf der menschlichen Ebene lösen können, am ehesten in der gleichen Zeit, werden wir das Problem der AI lösen. Das ist sehr gut! Oder auch nicht sehr gut, wenn man sich, „Terminator 2“.

Warum ist Vision – es ist schwer? Da das Bild des gleichen Objekts variieren können auf externe Faktoren stark abhängig. Je nach Objekt von Beobachtungspunkten abweichen.

Zum Beispiel kann ein und dieselbe Figur aus verschiedenen Winkeln aufgenommen wurde. Und was besonders interessant ist in der Figur kann ein Auge, zwei Augen und eine Hälfte sein. Und je nach Kontext (wenn dieses Bild des Menschen in einem T-Shirt mit aufgemalten Augen), kann das Auge mehr als zwei sein.

Der Computer immer noch nicht verstehen, aber es „sieht“

Ein weiterer Faktor, der es schwierig macht – es ist die Beleuchtung. Die gleiche Szene mit verschiedener Beleuchtung wird anders aussehen. Objektgröße kann variieren. Darüber hinaus sind die Objekte einer Klasse. Wie kann man sagen, über einen Mann, der seine Höhe von 2 Metern? Nichts. Menschliches Wachstum und kann 2,3 m und 80 cm sein. Wie auch bei anderen Arten von Objekten, jedoch Objekte der gleichen Klasse sind.

Besonders unterziehen lebende Objekte eine Vielzahl von Stämmen. Haar Menschen, Sportler, Tiere. Schauen Sie sich die Bilder von Pferden läuft, bestimmen, was mit ihrer Mähne geschieht und Schwanz ist einfach unmöglich. Eine überlappende Objekte in einem Bild? Wenn Sie einen Computer Bild schieben, auch die stärkste Maschine Schwierigkeit finden, die richtige Entscheidung zu geben.

Nächste Ansicht – es ist eine Verkleidung. Einige Objekte, getarnt Tiere wie die Umwelt und recht geschickt. Und die gleichen Stellen und Färbung. Dennoch sehen wir sie, wenn auch nicht immer aus der Ferne.

Ein weiteres Problem – die Bewegung. Objekte in Bewegung unvorstellbar verformen.

Viele der Objekte sind sehr variabel. Hier zum Beispiel, in den beiden Fotos unter den Objekten des „Stuhls“.

Und das kann man sitzen. Aber eine Maschine zu lehren, so dass die verschiedenen Dinge in Form, Farbe, Material, alles ist ein Objekt „Stuhl“ – ist sehr schwierig. Das ist die Herausforderung. Um Methoden der Computer Vision zu integrieren – ist es, eine Maschine zu lehren, zu verstehen, zu analysieren, spekulieren.

Integration von Computer Vision in verschiedenen Plattformen

Die Masse des Computer Vision begann, mehr im Jahr 2001 zu durchdringen, als er den ersten Gesichtsdetektor geschaffen. Wir haben es zwei Autoren: Viola, Jones. Es war der erste schnell und zuverlässig genug Algorithmus, der die Macht der Methoden des maschinellen Lernens unter Beweis gestellt.

Nun Computer Vision hat genug, um neue praktische Anwendungen – Erkennung des menschlichen Gesichts.

Aber um die Menschen als in den Filmen zu erkennen – unter beliebigen Winkeln, unterschiedliche Lichtverhältnisse – es ist unmöglich. Aber das Problem zu lösen, oder eine, die unterschiedlichen Menschen mit unterschiedlicher Beleuchtung ist oder in einer anderen Pose, ähnlich wie auf dem Foto im Pass, ist es möglich, mit einem hohen Maße an Vertrauen.

ein Passfoto Anforderungen im Wesentlichen auf die Funktion der Gesichtserkennungsalgorithmen.

Zum Beispiel, wenn Sie einen biometrischen Pass haben, in einigen modernen Flughäfen, können Sie das automatische Passkontrolle-System.

Ungelöstes Problem der Computer Vision – die Fähigkeit, einen beliebigen Text zu erkennen

Vielleicht hat jemand OCR-System. Einer von ihnen – ein Fine Reader, ist sehr beliebt in RuNet System. Es gibt viele Formen, wo Sie in den Daten zu füllen, sie perfekt gescannt werden, wird die Information vom System erkannt sehr gut. Aber mit einem beliebigen Text in dem Bild ist die Situation viel schlimmer. Dieses Problem bleibt nach wie vor ungelöst.

Spiele mit Computer Vision, Motion-Capture

Separate große Fläche – ist die Schaffung von dreidimensionalen Modellen und Motion-Capture (die recht erfolgreich in Computerspielen umgesetzt wird). Das erste Programm, das Computer Vision verwendet – ein System der Interaktion mit dem Computer mit Gesten. Wenn es erstellt wurde, war es offen eine Menge Dinge.

Der Algorithmus ist recht einfach gestaltet, aber zu konfigurieren, dass ein Generator von synthetischen Bildern von Menschen zu schaffen, nahm eine Million Bilder zu bekommen. Supercomputer mit ihnen die Parameter des Algorithmus zu wählen, für die er jetzt gut funktioniert.

Das ist eine Million Bilder und Woche zählbare Super Zeit möglich, einen Algorithmus zu erstellen, die 12% der Kapazität eines Prozessors verbraucht und ermöglichen eine Person, die die Position in Echtzeit zu erkennen. Das Microsoft Kinect-System (2010).

Suche nach Bildern von Inhalten können Sie Fotos in das System laden, und die Ergebnisse davon geben alle Bilder mit dem gleichen Inhalt und aus dem gleichen Winkel.

Beispiele für Computer Vision: dreidimensionale und zweidimensionale Karten werden jetzt mit ihm gemacht. Karten für die Navigation Autos werden nach dem DVR regelmäßig aktualisiert.

Es gibt eine Datenbank mit Milliarden von Fotos mit Geotags. Durch das Herunterladen des Bildes in der Datenbank, können Sie bestimmen, wo es gemacht wurde, und auch mit einem gewissen Perspektive. Natürlich vorausgesetzt, dass der Ort beliebt genug ist, die Touristen, dass zu einer Zeit und gemacht hat, gibt es eine Reihe von Fotos von der Umgebung.

Roboter sind überall

Robotik in der heutigen Zeit, überall, ohne sie in irgendeiner Art und Weise. Nun gibt es Fahrzeuge, die Spezialkameras, die Fußgänger und Verkehrszeichen erkennen Befehle an den Fahrer zu übertragen (dies in einer Weise, ein Computerprogramm zu sehen, hilft dem Autofahrer). Und es ist ein vollautomatische Roboterfahrzeuge, aber sie können nicht ohne die Verwendung einer großen Menge an zusätzlichen Informationen ausschließlich auf dem Videokamerasystem verlassen.

Moderne Kamera – das ist eine analoge Kamera obscura

Lassen Sie uns über das digitale Bild sprechen. Moderne Digitalkameras basieren auf dem Prinzip der Camera obscura angeordnet. Nur anstelle des Lochs, durch das Licht, das den Lichtstrahl und projiziert auf die Rückwand der Kammer des Subjektes Schaltung eintritt, haben wir ein spezielles optisches System, um die Linse genannt. Seine Aufgabe ist, eine große Lichtstrahl zu sammeln und zu konvertieren, so dass alle Strahlen, die durch einen virtuellen Punkt geleitet, um die Projektion zu erhalten, und ein Bild auf einen Film oder Matrix zu bilden.

Moderne Digitalkameras (Matrix) aus Einzelelementen zusammengesetzt – Pixel. Jedes Pixel kann die Energie von Licht messen, welches auf dem Pixel insgesamt ist, und eine Ausgangsnummer ausgeben. Daher wird in einer Digitalkamera, erhalten wir anstelle der Bildhelligkeit eingestellten Lichtmessungen in einem einzigen Pixel gefangen – den Computer Sichtfeld. Wenn daher das Bild, das wir sehen, ist nicht klar, Linien und Konturen fließt, und ein Gitter aus farbigen Quadraten in verschiedenen Farben – Pixel.

Unten sehen Sie das erste digitale Bild in der Welt.

Aber in diesem Bild nicht? Farbe. Was ist Farbe?

Psychologische Wahrnehmung von Farbe

Farbe – das ist, was wir sehen. Die Farbe der ein und derselben Sache für Menschen und Katzen wird anders sein. Da wir (Menschen) und Tieroptik – die Vision ist anders. Daher ist die Farbe – es ist psychologische Qualität unserer Vision, die auftritt, wenn Objekte und Licht beobachten. Und nicht eine physikalische Eigenschaft des Objekts und das Licht. Farbe – ist das Ergebnis der Wechselwirkung von Lichtkomponenten, und die Szene unseres visuellen Systems.

Programmierung Computer Vision in Python-Bibliotheken

Wenn Sie sich entschieden haben, ernsthaft in der Studie von Computer Vision zu engagieren, sofort für eine Reihe von Schwierigkeiten bereiten sollte, ist diese Wissenschaft nicht die einfachste und versteckt sich eine Reihe von Gefahren. Aber „Programming Computer Vision auf dem Python“ die Urheberschaft Jan Erik Solema – ein Buch, das alle die einfachste Sprache skizziert. Hier werden Sie mit den Methoden der Erkennung verschiedenen Objekte in 3D kennen lernen, lernen, mit dem Stereobild, virtueller Realität und vielen anderen Anwendungen des Computer Vision zu arbeiten. In dem Buch gibt genügend Beispiele in Python. Aber die Erklärungen vorgestellt, sozusagen verallgemeinerte, um nicht zu viel Forschung zu überlasten und harte Daten. Arbeiten geeignet für Studenten, Amateure und Enthusiasten. Laden Sie dieses Buch und andere über Computer Vision (pdf-Format) können im Netzwerk sein.

Im Moment gibt es Open-Source-Bibliothek von Computer Vision Algorithmen und Bildverarbeitung und numerische OpenCV-Algorithmen. Es implementiert ist auf den meisten modernen Programmiersprachen, ist Open Source. Wenn wir über Computer Vision sprechen, Python als Programmiersprache verwendet, sondern auch die Unterstützung der Bibliothek, außerdem ist es ständig weiterentwickelt und hat eine große Gemeinschaft.

Die Firma „Microsoft“ bietet seine Dienste Api-Lage, das neuronale Netz zu trainieren, sie mit Bildern von Menschen zu arbeiten. Es besteht auch die Möglichkeit , Computer Vision anwenden, verwendet Python als Programmiersprache.