Bildverarbeitungstechnologien. Hergestellt in Russland. maschinelles Sehen

maschinelles Sehen- Dies ist eine wissenschaftliche Richtung auf dem Gebiet der künstlichen Intelligenz, insbesondere der Robotik, und verwandter Technologien zur Gewinnung von Bildern realer Objekte, deren Verarbeitung und Verwendung der gewonnenen Daten zur Lösung verschiedener Arten von angewandten Problemen ohne Beteiligung (vollständig oder teilweise) einer Person.

Historische Durchbrüche in der Bildverarbeitung

Komponenten eines Bildverarbeitungssystems

  • Eine oder mehrere digitale oder analoge Kameras (Schwarzweiß oder Farbe) mit geeigneter Optik für die Bildgebung
  • Software zum Erstellen von Bildern zur Verarbeitung. Bei analogen Kameras ist dies ein Bilddigitalisierer
  • Prozessor (moderner PC mit Mehrkernprozessor oder eingebetteter Prozessor wie DSP)
  • Bildverarbeitungssoftware, die Werkzeuge für die Entwicklung individueller Softwareanwendungen bereitstellt.
  • E/A-Geräte oder Kommunikationskanäle zum Melden von Ergebnissen
  • Intelligente Kamera: Ein Gerät, das alle oben genannten Funktionen enthält.
  • Sehr spezielle Lichtquellen (LEDs, Leuchtstoff- und Halogenlampen usw.)
  • Spezifische Softwareanwendungen für die Bildverarbeitung und Erkennung verwandter Eigenschaften.
  • Ein Sensor zum Synchronisieren der Erkennungsteile (häufig ein optischer oder magnetischer Sensor) zum Erfassen und Verarbeiten von Bildern.
  • Geformte Laufwerke zum Sortieren oder Aussortieren defekter Teile.

Machine Vision konzentriert sich hauptsächlich auf industrielle Anwendungen wie autonome Roboter und visuelle Inspektions- und Messsysteme. Das bedeutet, dass Bildsensortechnologien und Steuerungstheorie mit der Verarbeitung von Videodaten zur Steuerung des Roboters verbunden sind und die Echtzeitverarbeitung der empfangenen Daten in Software oder Hardware durchgeführt wird.

Bildverarbeitung und Bildanalyse konzentrieren sich hauptsächlich auf die Arbeit mit 2D-Bildern, d.h. wie man ein Bild in ein anderes umwandelt. Zum Beispiel Kontrastverbesserungsoperationen pro Pixel, Kantenverbesserungsoperationen, Entrauschungsoperationen oder geometrische Transformationen wie Bildrotation. Diese Operationen setzen voraus, dass die Bildverarbeitung/-analyse unabhängig vom Inhalt der Bilder selbst arbeitet.

Computer Vision konzentriert sich auf die Verarbeitung von 3D-Szenen, die auf ein oder mehrere Bilder projiziert werden. Beispielsweise das Wiederherstellen der Struktur oder anderer Informationen über die 3D-Szene aus einem oder mehreren Bildern. Computer Vision hängt oft von mehr oder weniger komplexen Annahmen darüber ab, was in den Bildern dargestellt wird.

Es gibt auch einen Bereich namens Visualisierung, der ursprünglich mit dem Prozess der Bilderzeugung verbunden war, sich aber manchmal mit der Verarbeitung und Analyse befasste. Die Radiographie arbeitet beispielsweise mit der Analyse medizinischer Anwendungsvideodaten.

Schließlich ist die Mustererkennung ein Gebiet, das verschiedene Methoden verwendet, um Informationen aus Videodaten zu extrahieren, hauptsächlich basierend auf einem statistischen Ansatz. Ein wesentlicher Teil dieses Bereichs widmet sich der praktischen Anwendung dieser Methoden.

Somit können wir schlussfolgern, dass der Begriff „maschinelles Sehen“ heute Folgendes umfasst: Computer Vision, visuelle Mustererkennung, Bildanalyse und -verarbeitung usw.

Aufgaben der maschinellen Bildverarbeitung

  • Erkennung
  • Identifikation
  • Erkennung
  • Texterkennung
  • Wiederherstellen einer 3D-Form aus 2D-Bildern
  • Bewegungsschätzung
  • Wiederherstellung der Szene
  • Bildwiederherstellung
  • Isolierung von Strukturen eines bestimmten Typs auf Bildern, Bildsegmentierung
  • Optische Flussanalyse

Erkennung


Eine klassische Aufgabe in Computer Vision, Bildverarbeitung und Machine Vision ist die Bestimmung, ob Videodaten ein charakteristisches Objekt, Merkmal oder eine Aktivität enthalten.
Dieses Problem kann von einem Menschen zuverlässig und einfach gelöst werden, ist aber in der Computer Vision im allgemeinen Fall noch nicht zufriedenstellend gelöst: zufällige Objekte in zufälligen Situationen.
Es können ein oder mehrere vordefinierte oder gelernte Objekte oder Klassen von Objekten erkannt werden (normalerweise zusammen mit ihrer zweidimensionalen Position im Bild oder ihrer dreidimensionalen Position in der Szene).

Identifikation


Eine einzelne Instanz eines zu einer Klasse gehörenden Objekts wird erkannt.
Beispiele: Identifizierung eines bestimmten menschlichen Gesichts oder Fingerabdrucks oder Autos.

Erkennung


Die Videodaten werden auf einen bestimmten Zustand überprüft.
Eine auf relativ einfachen und schnellen Berechnungen basierende Erkennung wird manchmal verwendet, um kleine Bereiche in dem analysierten Bild zu finden, die dann unter Verwendung ressourcenintensiverer Techniken analysiert werden, um die korrekte Interpretation zu erhalten.

Texterkennung


Bildsuche nach Inhalt: Finden aller Bilder in einer großen Menge von Bildern, deren Inhalt auf verschiedene Weise definiert ist.
Positionsschätzung: Bestimmen Sie die Position oder Ausrichtung eines bestimmten Objekts relativ zur Kamera.
Optische Zeichenerkennung: Zeichenerkennung in Bildern von gedrucktem oder handgeschriebenem Text (normalerweise zum Übersetzen in ein Textformat, das für die Bearbeitung oder Indizierung bequemer ist, z. B. ASCII).


Die Wiederherstellung einer 3D-Form aus 2D-Bildern wird unter Verwendung von Stereo-Tiefenkartenrekonstruktion, Normalfeld- und Tiefenkartenrekonstruktion durch Schattierung eines Halbtonbildes, Tiefenkartenrekonstruktion durch Textur und Formbestimmung durch Verschiebung ausgeführt.

Ein Beispiel für die Wiederherstellung einer 3D-Form aus einem 2D-Bild

Bewegungsschätzung

Mehrere Aufgaben im Zusammenhang mit der Bewegungsschätzung, bei der eine Folge von Bildern (Videodaten) verarbeitet wird, um eine Schätzung der Geschwindigkeit jedes Punkts in einem Bild oder einer 3D-Szene zu finden. Beispiele für solche Aufgaben sind: Bestimmen der dreidimensionalen Bewegung der Kamera, Tracking, also Verfolgen der Bewegungen eines Objekts (z. B. Autos oder Personen)

Wiederherstellung der Szene

Gegeben sind zwei oder mehr Bilder einer Szene oder Videodaten.
Die Szenenrestaurierung hat die Aufgabe, ein dreidimensionales Modell der Szene neu zu erstellen.
Das Modell kann im einfachsten Fall eine Menge von Punkten im dreidimensionalen Raum sein. Anspruchsvollere Verfahren reproduzieren das vollständige 3D-Modell.

Bildwiederherstellung


Die Aufgabe der Bildrestaurierung besteht darin, Rauschen (Sensorrauschen, Bewegungsunschärfe etc.) zu entfernen.
Der einfachste Ansatz zur Lösung dieses Problems sind verschiedene Arten von Filtern, wie beispielsweise Tiefpass- oder Mittelpassfilter.
Ein höheres Maß an Rauschunterdrückung wird erreicht, indem zunächst die Videodaten auf das Vorhandensein verschiedener Strukturen wie Linien oder Kanten analysiert werden und dann der Filterprozess basierend auf diesen Daten gesteuert wird.

Bildwiederherstellung

Optische Flussanalyse (Ermitteln der Bewegung von Pixeln zwischen zwei Bildern).
Mehrere Aufgaben im Zusammenhang mit der Bewegungsschätzung, bei der eine Folge von Bildern (Videodaten) verarbeitet wird, um eine Schätzung der Geschwindigkeit jedes Punkts in einem Bild oder einer 3D-Szene zu finden.
Beispiele für solche Aufgaben sind: Bestimmung der dreidimensionalen Bewegung der Kamera, Tracking, d.h. Verfolgen der Bewegungen eines Objekts (z. B. Autos oder Personen).

Bildverarbeitungsmethoden

Pixelzähler

Zählt die Anzahl der hellen oder dunklen Pixel.
Mit Hilfe des Pixelzählers kann der Nutzer beispielsweise einen rechteckigen Bereich auf dem Bildschirm an einem Ort von Interesse auswählen, an dem er die Gesichter von Passanten erwartet. Die Kamera antwortet sofort mit Informationen über die Anzahl der Pixel, die durch die Seiten des Rechtecks ​​dargestellt werden.
Mit dem Pixelzähler können Sie schnell überprüfen, ob die installierte Kamera die behördlichen oder kundenspezifischen Anforderungen an die Pixelauflösung erfüllt, beispielsweise für Gesichter, die von der Kamera gesteuerte Türen betreten, oder für die Nummernschilderkennung.

Binarisierung


Konvertiert ein Graustufenbild in ein Binärbild (weiße und schwarze Pixel).
Die Werte jedes Pixels werden herkömmlicherweise als "0" und "1" codiert. Der Wert "0" wird herkömmlicherweise als Hintergrund oder Hintergrund und "1" als Vordergrund bezeichnet.
Beim Speichern digitaler Binärbilder wird häufig eine Bitmap verwendet, bei der ein Informationsbit verwendet wird, um ein Pixel darzustellen.
Außerdem waren die beiden möglichen Farben, insbesondere in den frühen Stadien der Technologieentwicklung, Schwarz und Weiß, was nicht zwingend erforderlich ist.

Segmentierung

Wird verwendet, um Teile zu finden und/oder zu zählen.
Der Zweck der Segmentierung besteht darin, die Darstellung eines Bildes zu vereinfachen und/oder zu ändern, damit es einfacher und leichter zu analysieren ist.
Die Bildsegmentierung wird üblicherweise verwendet, um Objekte und Grenzen (Linien, Kurven usw.) in Bildern hervorzuheben. Genauer gesagt ist die Bildsegmentierung der Prozess, jedem Pixel in einem Bild Labels zuzuweisen, so dass Pixel mit demselben Label visuelle Eigenschaften teilen.
Das Ergebnis der Bildsegmentierung ist ein Satz von Segmenten, die zusammen das gesamte Bild abdecken, oder ein Satz von aus dem Bild extrahierten Konturen. Alle Pixel in einem Segment sind in einigen charakteristischen oder berechneten Eigenschaften wie Farbe, Helligkeit oder Textur ähnlich. Benachbarte Segmente unterscheiden sich in dieser Eigenschaft signifikant.

Barcodes lesen


Barcode - grafische Informationen, die auf der Oberfläche, Kennzeichnung oder Verpackung von Produkten angebracht sind und die Möglichkeit darstellen, sie mit technischen Mitteln zu lesen - eine Folge von schwarzen und weißen Streifen oder anderen geometrischen Formen.
In der maschinellen Bildverarbeitung werden Barcodes verwendet, um 1D- und 2D-Codes zu dekodieren, die von Maschinen gelesen oder gescannt werden sollen.

Optische Zeichenerkennung

Optical Character Recognition: Automatisiertes Lesen von Texten wie Seriennummern.
OCR wird verwendet, um Bücher und Dokumente in elektronische Form zu konvertieren, Geschäftsbuchhaltungssysteme zu automatisieren oder Text auf einer Webseite zu veröffentlichen.
OCR ermöglicht es Ihnen, Text zu bearbeiten, nach Wörtern oder Sätzen zu suchen, ihn in kompakterer Form zu speichern, Material ohne Qualitätsverlust anzuzeigen oder zu drucken, Informationen zu analysieren und Text elektronisch zu übersetzen, zu formatieren oder zu sprechen.

Mein in LabView geschriebenes Programm zum Arbeiten mit Bildern.

Computer Vision wird zur zerstörungsfreien Qualitätskontrolle von supraleitenden Materialien eingesetzt.

Einführung. Die Lösung der Probleme der Gewährleistung integrierter Sicherheit (sowohl Anti-Terror- als auch mechanische Sicherheit von Objekten und technologische Sicherheit von Ingenieursystemen) erfordert derzeit eine systematische Organisation der Kontrolle des aktuellen Zustands von Objekten. Eine der vielversprechendsten Methoden zur Überwachung des aktuellen Zustands von Objekten sind optische und optoelektronische Verfahren, die auf den Technologien zur Verarbeitung von Videobildern einer optischen Quelle basieren. Dazu gehören: Programme zum Arbeiten mit Bildern; die neuesten Methoden der Bildverarbeitung; Geräte zum Erhalten, Analysieren und Verarbeiten von Bildern, d. h. eine Reihe von Werkzeugen und Methoden im Bereich Computer und maschinelles Sehen. Computer Vision ist eine allgemeine Reihe von Techniken, die es Computern ermöglichen, dreidimensionale oder zweidimensionale Objekte zu sehen und zu erkennen, sowohl technische als auch nichttechnische. Um mit Computer Vision zu arbeiten, sind digitale oder analoge Eingabe-Ausgabe-Geräte sowie Computernetzwerke und IP-Standortanalysatoren erforderlich, die den Produktionsprozess steuern und Informationen für betriebliche Entscheidungen in kürzester Zeit aufbereiten sollen.

Formulierung des Problems. Heute bleibt die Hauptaufgabe der entworfenen Bildverarbeitungssysteme die Erkennung, Erkennung, Identifizierung und Qualifizierung von Objekten mit potenziellem Risiko, die sich an einem beliebigen Ort in der Zone der betrieblichen Verantwortung des Komplexes befinden. Gegenwärtig existierende Softwareprodukte, die darauf abzielen, die aufgelisteten Probleme zu lösen, haben eine Anzahl von signifikanten Nachteilen, nämlich: signifikante Komplexität verbunden mit hoher Detailgenauigkeit optischer Bilder; hoher Stromverbrauch und ein ziemlich schmales Spektrum an Möglichkeiten. Eine Ausweitung der Aufgaben der Detektion von potentiellen Gefahrenobjekten auf den Bereich der Suche nach zufälligen Objekten in zufälligen Situationen, die sich an einem zufälligen Ort befinden, ist mit den verfügbaren Softwareprodukten auch unter Einbindung eines Supercomputers nicht möglich.

Ziel. Entwicklung eines universellen Programms zur Verarbeitung von Bildern einer optischen Quelle mit der Möglichkeit der Streaming-Datenanalyse, d. h. das Programm muss leicht und schnell sein, damit es auf einem kleinen Computergerät geschrieben werden kann.

Aufgaben:

  • Entwicklung eines mathematischen Modells des Programms;
  • Schreiben eines Programms;
  • Testen des Programms in einem Laborexperiment mit vollständiger Vorbereitung und Durchführung des Experiments;
  • Untersuchung der Möglichkeit der Anwendung des Programms in verwandten Tätigkeitsfeldern.

Die Relevanz des Programms wird bestimmt durch:

  • die hohen Kosten professioneller visueller Informationsverarbeitungsprogramme.

Analyse der Relevanz der Programmentwicklung.

  • das Fehlen von Bildverarbeitungsprogrammen auf dem Softwaremarkt mit der Ausgabe einer detaillierten Analyse der technischen Komponenten von Objekten;
  • ständig wachsende Anforderungen an die Qualität und Geschwindigkeit der Gewinnung visueller Informationen, wodurch die Nachfrage nach Bildverarbeitungsprogrammen stark ansteigt;
  • der bestehende Bedarf an leistungsstarken, zuverlässigen und einfachen Programmen aus Sicht des Benutzers;
  • Es besteht ein Bedarf an Programmen mit hoher Leistung und einfacher Steuerung, was in unserer Zeit äußerst schwierig zu erreichen ist. Ich habe zum Beispiel Adobe Photoshop genommen. Dieser Grafikeditor hat eine harmonische Kombination aus Funktionalität und Benutzerfreundlichkeit für einen normalen Benutzer, aber in diesem Programm ist es unmöglich, mit komplexen Bildverarbeitungswerkzeugen zu arbeiten (z. B. Bildanalyse durch Aufbau einer mathematischen Beziehung (Funktion) oder integrale Bildverarbeitung );
  • die hohen Kosten professioneller visueller Informationsverarbeitungsprogramme. Wenn die Software qualitativ hochwertig ist, dann ist der Preis dafür extrem hoch, bis hin zu den einzelnen Funktionen eines bestimmten Satzes von Programmen. Die folgende Grafik zeigt die Preis- / Qualitätsabhängigkeit einfacher Analoga des Programms.

Um die Lösung solcher Probleme zu vereinfachen, habe ich ein mathematisches Modell entwickelt und ein Computerprogramm für ein Bildanalysegerät geschrieben, das die einfachsten Transformationen der Originalbilder verwendet.
Das Programm arbeitet mit Transformationen wie Binarisierung, Helligkeit, Bildkontrast etc. Die Funktionsweise des Programms wird am Beispiel der Analyse supraleitender Materialien demonstriert.

Bei der Herstellung von Verbundsupraleitern auf Basis von Nb3Sn variieren das Volumenverhältnis von Bronze und Niob, die Größe und Anzahl der darin enthaltenen Fasern, die Gleichmäßigkeit ihrer Verteilung über den Querschnitt der Bronzematrix, das Vorhandensein von Diffusionsbarrieren und stabilisierenden Materialien. Bei einem gegebenen Volumenanteil von Niob im Leiter führt eine Erhöhung der Faserzahl jeweils zu einer Verringerung ihres Durchmessers. Dies führt zu einer merklichen Vergrößerung der Nb/Cu-Sn-Wechselwirkungsfläche, was das Wachstum der supraleitenden Phase stark beschleunigt. Eine solche Erhöhung der Menge der supraleitenden Phase mit einer Erhöhung der Anzahl von Fasern im Leiter stellt eine Erhöhung der kritischen Eigenschaften des Supraleiters sicher. In dieser Hinsicht ist es notwendig, ein Werkzeug zu haben, um den Volumenanteil der supraleitenden Phase im Endprodukt (zusammengesetzter Supraleiter) zu kontrollieren.

Bei der Erstellung des Programms wurde berücksichtigt, wie wichtig es ist, die Materialien zu erforschen, aus denen supraleitende Kabel hergestellt werden, da bei einem falschen Verhältnis von Niob zu Bronze eine Explosion von Drähten und folglich menschliche Verluste und Geld möglich sind Kosten und Zeitverlust. Mit diesem Programm können Sie die Qualität der Drähte anhand der chemisch-physikalischen Analyse des Objekts bestimmen.

Blockdiagramm des Programms


Beschreibung der Forschungsphasen.

Stufe 1. Probenvorbereitung: Schneiden eines zusammengesetzten Supraleiters auf einer Elektroerosionsmaschine; Pressen der Probe in eine Kunststoffmatrix; Polieren der Probe in einen Spiegelzustand; Probenätzung zur Isolierung von Niobfasern auf einer Bronzematrix. Es wurden Proben von gepressten supraleitenden Verbundproben erhalten;

Stufe 2. Imaging: Erhalten von metallografischen Bildern mit einem Rasterelektronenmikroskop.

Stufe 3. Bildverarbeitung: Erstellung eines Tools zur Bestimmung des Volumenanteils der supraleitenden Phase in einem metallographischen Bild; ein Satz statistisch signifikanter Daten zu einem bestimmten Probentyp. Mathematische Modelle verschiedener Bildverarbeitungswerkzeuge wurden erstellt; eine Softwareentwicklung wurde erstellt, um den Volumenanteil der supraleitenden Phase abzuschätzen; das Programm wurde vereinfacht, indem mehrere mathematische Funktionen zu einer kombiniert wurden; der Mittelwert des Volumenanteils von Niobfasern in der Bronzematrix betrug 24,7 ± 0,1 %. Ein geringer Prozentsatz an Abweichung weist auf eine hohe Wiederholbarkeit der Struktur des Verbunddrahts hin.

Elektronenmikroskopische Aufnahme von zusammengesetzten Supraleitern

Bildverarbeitungsmethoden im Programm.

  • Identifikation- eine einzelne Instanz eines zu einer Klasse gehörenden Objekts erkannt wird.
  • Binarisierung- der Prozess der Umwandlung eines Farb- (oder Graustufen-) Bildes in ein zweifarbiges Schwarz-Weiß-Bild.
  • Segmentierung ist der Prozess der Aufteilung eines digitalen Bildes in mehrere Segmente (viele Pixel, auch Superpixel genannt).
  • Erosion- ein komplexer Prozess, bei dem ein Strukturelement alle Pixel des Bildes durchläuft. Wenn an irgendeiner Position jedes Einheitspixel des Strukturelements mit einem Einheitspixel des Binärbilds zusammenfällt, dann wird das zentrale Pixel des Strukturelements logisch zu dem entsprechenden Pixel des Ausgangsbilds hinzugefügt.
  • Erweiterung- Faltung eines Bildes oder eines ausgewählten Bereichs eines Bildes mit einem Kernel. Der Kern kann von beliebiger Form und Größe sein. In diesem Fall wird im Kernel eine einzige führende Position vergeben, die bei der Berechnung der Faltung mit dem aktuellen Pixel kombiniert wird.

Arbeitsformeln programmieren

Binarisierungsformel (Otsu-Methode):


Erosionsformel:

Dehnungsformel:

Schema der Dilatation und Erosion

Programmschnittstelle

Es scheint, dass alle Computer gleich sind und jedes Problem lösen können. Aber es ist nicht so. Bereits im letzten Jahrhundert begann die Computerindustrie, aktiv die Richtung von Industriecomputern zu entwickeln, die sich von ihren „Büro“-Gegenstücken durch ein kompakteres und langlebigeres mechanisches Design, breite Erweiterungsmöglichkeiten (Signaleingangs-/Ausgangsplatinen) und eine lange Lebensdauer unterscheiden von Systemen und Komponenten, aus denen sie bestehen. Im Laufe der Zeit gab es eine tiefere Spezialisierung, Reihen von Industriecomputern für bestimmte Anwendungsbereiche zeichneten sich ab - um beispielsweise Probleme der Bildverarbeitung effektiv zu lösen, erschienen Computer mit zusätzlichen Funktionen, die die Aufgaben von Entwicklungsingenieuren erheblich erleichtern und die Leistung des Systems steigern (Abb. 1).

Reis. 1. Klassifizierung von Computern

Hier ist nur eine unvollständige Liste der Anforderungen für Bildverarbeitungs- und Videoüberwachungsanwendungen, die Geräte erfüllen müssen:

  • Hochleistungsschnittstellen nach internationalen Standards zum Anschluss von GigE/PoE- und USB3-Kameras, ein Erweiterungssteckplatz zum Einbau eines CameraLink- oder CoaXpress-Framegrabbers;
  • eine große Auswahl an Prozessoren mit ausreichender Leistung mit Grafik-Coprozessoren und Hochleistungs-Chipsätzen (Chipsatz), die große Datenströme verarbeiten können;
  • digitale, leicht programmierbare Leitungen zum Anschließen von Sensoren und Synchronisieren von Kameras und Beleuchtungen;
  • Installation mehrerer, auch schnell wechselbarer, Laufwerke, Organisation von RAID-Verbänden zur Hochgeschwindigkeitsaufzeichnung von Videostreams und Speicherung großer Datenmengen;
  • industrielle Schnittstellen zum Anschluss externer Geräte: RS-232/485, CAN;
  • Robustes, kompaktes mechanisches Design mit einem Minimum an beweglichen Teilen, um einen zuverlässigen Betrieb und eine lange Lebensdauer in rauen Umgebungen zu gewährleisten.

Natürlich sind bei den meisten Industriecomputern und noch mehr bei Bürocomputern viele dieser Funktionen redundant, aber bei Bildverarbeitungssystemen sind sie entscheidend.

Einer der Vertreter dieser Richtung in der Computerindustrie war die Firma Neousys Technologies (Taiwan), deren Produkte von Anfang an auf die Arbeit mit Bildverarbeitungs- und Videoüberwachungskameras ausgelegt waren. Um mehr über die Eigenschaften von Computerplattformen für verschiedene Anwendungen zu erfahren, definieren wir die Hauptanwendungsgebiete moderner digitaler Videokameras. Wir können also mehrere Gruppen von Anwendungen unterscheiden:

  • Industrielle Bildverarbeitungssysteme;
  • Erkennungssysteme;
  • Intelligente Verkehrsleitsysteme (ITS);
  • mobile Systeme im Verkehr.

Betrachten Sie nun in jedem Fall die Anforderungen an das Computersystem.

Industrielle Bildverarbeitungssysteme

Industrielle Bildverarbeitungssysteme sind vielleicht die vielfältigste Klasse von Systemen in Bezug auf die Anzahl und Art der Aufgaben. Es gibt jedoch einige wichtige Funktionen:

  • die Möglichkeit, mehrere Kameras anzuschließen;
  • hohe Aufnahmegeschwindigkeit, bis zu mehreren hundert Bildern pro Sekunde;
  • umfangreiche Funktionen zum Verwalten von Kamera- und Hintergrundbeleuchtungseinstellungen;
  • breite Möglichkeiten der Synchronisation mit Sensoren;
  • erhebliche Mengen an Laufwerken für die Datenarchivierung.

Da sich die Kamera in den meisten Fällen in der Nähe des Computers befindet, bietet sich für den Anschluss eine USB3-Schnittstelle an. Es versorgt die Kamera sowohl mit Strom als auch mit der Fähigkeit, Bilder mit hoher Geschwindigkeit und Auflösung (FullHD - über 150 fps) aufzunehmen.

Reis. 2. Computer aus der ROS-200-Reihe

Computer, die auf dem modernen Quad-Core-Prozessor Atom E3845 basieren und unter anderem mit einem ziemlich leistungsstarken Grafik-Coprozessor und Hardware-Codec ausgestattet sind, werden mit Einstiegsaufgaben durchaus fertig. In der Neousys-Reihe ist dies die meistverkaufte POC-200-Serie (Abb. 2). Der Entwickler hat zwei GigE/PoE-Schnittstellen und drei Highspeed-USB3. In das kompakte Gehäuse können SATA-HDD/SDD-Laufwerke im Standard-2,5-Zoll-Format eingebaut (und bei Bedarf einfach ausgetauscht) werden. Zum Anschluss externer Geräte ist zusätzlich zu zwei Standard-RS-232 ein Paar universeller RS-232/485-Anschlüsse vorhanden. Und schließlich einige schnelle, leicht programmierbare Digitalleitungen zum Anschluss von Steuertasten, Sensoren und Signalisierungen, zum Beispiel an Abweiser oder Signalsäulen. All dies ist in einem kompakten A4-Viertelblattgehäuse verpackt, das Belastungen bis zu 5 Grms/500 Hz bei einem Betriebstemperaturbereich von -25 °C (auf Anfrage ab -45 °C) standhält.

Reis. 3. Computer Nuvo 5000

Ein Merkmal aller Neousys-Computer ist das Vorhandensein eines soliden Kühlkörpers als integraler Bestandteil des Gehäuses, der das Ergebnis des lüfterlosen Designs der Maschine war. Der Prozessor ist buchstäblich an einen leistungsstarken Kühlkörper geklebt. Obwohl dieser Ansatz eine gewisse Erhöhung der Masse und der Abmessungen des Produkts mit sich bringt, ist er das Ergebnis ernsthafter technischer Arbeit, um Haltbarkeit und mechanische Festigkeit zu erreichen, da rotierende Komponenten fehlen, die zu einer der wahrscheinlichsten Ursachen für Geräteausfälle werden. Es sei darauf hingewiesen, dass es den Entwicklern von Neousys-Computern neben rein technischen Aufgaben gelungen ist, ein Produkt mit einem attraktiven Industriedesign zu schaffen.

Reis. 4. Computer der Nuvo-6000-Serie

Neousys Technologies hat gelernt, nicht nur bei Systemen mit jüngeren Intel Atom- und Celeron-Prozessoren, sondern auch bei Computern der Oberklasse - i5 / i7 der sechsten Generation Skylake - auf Lüfter zu verzichten. Heute ist der Flaggschiff-Computer des Unternehmens, die Computerserie Nuvo 5000, die mit den Vision Systems Innovators Awards 2016 ausgezeichnet wurde, in der Lage, die anspruchsvollsten Herausforderungen der maschinellen Bildverarbeitung zu bewältigen. Ausgestattet mit leistungsstarken Prozessoren bewahrt und entwickelt der Nuvo-5000-Computer (Abb. 3) die herausragenden Fähigkeiten der jüngeren Linien. In einem vergrößerten, aber dennoch kompakten Gehäuse können Sie bereits zwei 2,5-Zoll-Laufwerke unterbringen und zu einem RAID 0/1-Verbund organisieren, indem Sie eines der Laufwerke mit einem Hot-Swap-fähigen Anschluss ausstatten. Die Anzahl der Ports zum Anschließen von Kameras lässt sich problemlos auf 10 erhöhen. Die patentierte MezIO-Technologie bietet einen flexiblen Mechanismus zum Erweitern der E / A von Steuersignalen, Anzeigen und industriellen Kommunikationsschnittstellen.

Reis. 5. Erweiterungsschacht zum Installieren von zwei oder sechs Erweiterungssteckplätzen (Nuvo-6000-Serie)

In manchen Fällen müssen Computer neben der maschinellen Bildverarbeitung selbst Probleme der klassischen industriellen Automatisierung lösen. Der entscheidende Punkt hier ist das Vorhandensein von PCI / PCIe-Erweiterungssteckplätzen. Für solche Anwendungen sind die Computer der Nuvo-6000-Serie die beste Option (Abbildung 4). Obwohl es sich immer noch um einen zuverlässigen, kompakten, lüfterlosen Computer handelt, wird die Maschine durch einen Schacht mit zwei oder sechs Erweiterungssteckplätzen ergänzt (Abbildung 5). Das Fach enthält einen Lüfter und ein Steuersystem, um komfortable Arbeitsbedingungen für eingebettete I/O-Karten zu schaffen.

Anerkennungssysteme

Reis. 6. Computer Nuvo-5095

Um auf die Herausforderungen von heute zu reagieren, werden immer fortschrittlichere Sicherheitssysteme entwickelt, bei denen Erkennungsalgorithmen zu einem Schlüsselelement werden. Neben Sicherheitssystemen werden diese Technologien in kommerziellen Projekten wie Kundendemografie im Einzelhandel, Abfallsortierung und anderen Anwendungen eingesetzt. Moderne Bildverarbeitungskameras liefern Bilder mit immer höherer Auflösung und besserer Qualität. FullHD-Auflösung (2 Mp) ist im Massensegment weit verbreitet, 4K (12 Mp) versucht sich bei den schwierigsten Aufgaben. Dabei ist zu beachten, dass die Menge der verarbeiteten Daten exponentiell wächst. Für die rechenintensivsten Anwendungen bieten wir eine Version des Nuvo-5095-Computers an, die für die Installation von nVidia-Grafikbeschleunigern angepasst ist (Abb. 6). Auf einen Lüfter für eine in einer Computer-Erweiterungskassette verbaute nVidia GeForce GTX 950 oder GTX 1050 kann man hier aber nicht verzichten. Gleichzeitig begnügt sich der zentrale Prozessor noch mit einem Passivradiator. In dem Komplex blieb das System mit einem einzigartigen grafischen CUDA-Coprozessor im Umgebungstemperaturbereich von -25 bis +60 ° C (Prozessoren i7-6700TE, i5-6500TE, 35WTDP) funktionsfähig.

Intelligente Verkehrsmanagementsysteme ITS

Intelligente Verkehrsleitsysteme, insbesondere solche, die an stark befahrenen Kreuzungen installiert sind, sind vielleicht die anspruchsvollsten in Bezug auf die Anzahl der angeschlossenen Kameras. Es ist notwendig, Bilder, die von mehreren Blickwinkeln übertragen werden, an einem Ort zu empfangen und zu verarbeiten. Die Arbeit für Installateure wird durch einen Industriecomputer mit mehr als üblicher Anzahl von Ports zum Anschließen von Kameras vereinfacht. Üblicherweise werden in solchen Systemen Kameras mit Ethernet/PoE-Schnittstelle eingesetzt. Die Neousys-Reihe umfasst das Nuvo-3616-Modell, das diese Anforderungen erfüllt, das mit 16 (!) IEEE 802.3at PoE+-Ports, vier Laufwerken mit der Fähigkeit zum schnellen Austausch und der Organisation von RAID 0/1/5/10-Arrays mit einem ausgestattet ist Kapazität von bis zu 8 TB.

Mobile Systeme im Verkehr

Reis. 7. Computer, die für den Betrieb in Fahrzeugen ausgelegt sind: Nuvo-5100VTC und Nuvo-2500 (Vordergrund)

Moderne Fahrzeuge, insbesondere Nutzfahrzeuge, seien es Lastkraftwagen, Traktoren, Mähdrescher oder Lokomotiven, sind heute massiv mit computergestützten Systemen ausgestattet, die darauf ausgelegt sind, ihre Sicherheit und Effizienz zu erhöhen. Zusätzlich zu den bereits beschriebenen Funktionen müssen Computerplattformen für den Verkehr noch strengere Anforderungen erfüllen und über zusätzliche Schnittstellen verfügen. Speziell für solche Anwendungen wurde eine Version des Computers Neousys 5100VTC entwickelt (Abb. 7). Er hat die internationale Zertifizierung für Bahnanwendungen nach EN 50155 erfolgreich bestanden.Zusätzlich zu den Standardfunktionen der Computer der Nuvo-5000-Serie ist er mit einer Schnittstelle für die Zündkreissteuerung und CAN ausgestattet, was den Einbau in ein modernes Auto erleichtert. Eine spezielle Version der M12-Ethernet-Steckverbinder erhöht die Zuverlässigkeit von Verbindungskabeln von Kameras unter wackeligen Bedingungen. Zusätzliche miniPCI-Steckplätze sind für die Installation von GPS/GLONASS-Geolokalisierungssystemen und 3G/4G-Mobilkommunikationsmodulen mit einem praktischen externen SIM-Kartensteckplatz ausgelegt.

Für Automobilsysteme mit bescheideneren Plattform-Computing-Anforderungen ist eine kompakte Version eines Computers mit Zündsteuerung und einer CAN-Schnittstelle, der Nuvo-2500, der auf einem ziemlich leistungsstarken Atom 3845-Quad-Core-Prozessor basiert, perfekt.

Zusammenfassend lässt sich festhalten, dass die Wahl der richtigen Plattform, die alle notwendigen Komponenten für eine Bildverarbeitungsanwendung enthält, maßgeblich über deren Leistungsfähigkeit und die Zuverlässigkeit der Ausführung von Bildverarbeitungsalgorithmen entscheidet. Und wenn Bürocomputer für die Erstellung mathematischer Füllungen durchaus geeignet sind, muss bei der Inbetriebnahme von Systemen eine Rechenplattform sorgfältig ausgewählt werden, damit Investitionen in die Softwareentwicklung nicht umsonst sind.

maschinelles Sehen. Was ist es und wie wird es verwendet? Bildverarbeitung der optischen Quelle

maschinelles Sehen- Dies ist eine wissenschaftliche Richtung auf dem Gebiet der künstlichen Intelligenz, insbesondere der Robotik, und verwandter Technologien zur Gewinnung von Bildern realer Objekte, deren Verarbeitung und Verwendung der gewonnenen Daten zur Lösung verschiedener Arten von angewandten Problemen ohne Beteiligung (vollständig oder teilweise) einer Person.

Historische Durchbrüche in der Bildverarbeitung

Komponenten eines Bildverarbeitungssystems

  • Eine oder mehrere digitale oder analoge Kameras (Schwarzweiß oder Farbe) mit geeigneter Optik für die Bildgebung
  • Software zum Erstellen von Bildern zur Verarbeitung. Bei analogen Kameras ist dies ein Bilddigitalisierer
  • Prozessor (moderner PC mit Mehrkernprozessor oder eingebetteter Prozessor wie DSP)
  • Bildverarbeitungssoftware, die Werkzeuge für die Entwicklung individueller Softwareanwendungen bereitstellt.
  • E/A-Geräte oder Kommunikationskanäle zum Melden von Ergebnissen
  • Intelligente Kamera: Ein Gerät, das alle oben genannten Funktionen enthält.
  • Sehr spezielle Lichtquellen (LEDs, Leuchtstoff- und Halogenlampen usw.)
  • Spezifische Softwareanwendungen für die Bildverarbeitung und Erkennung verwandter Eigenschaften.
  • Ein Sensor zum Synchronisieren der Erkennungsteile (häufig ein optischer oder magnetischer Sensor) zum Erfassen und Verarbeiten von Bildern.
  • Geformte Laufwerke zum Sortieren oder Aussortieren defekter Teile.
Machine Vision konzentriert sich hauptsächlich auf industrielle Anwendungen wie autonome Roboter und visuelle Inspektions- und Messsysteme. Das bedeutet, dass Bildsensortechnologien und Steuerungstheorie mit der Verarbeitung von Videodaten zur Steuerung des Roboters verbunden sind und die Echtzeitverarbeitung der empfangenen Daten in Software oder Hardware durchgeführt wird.

Bildverarbeitung und Bildanalyse konzentrieren sich hauptsächlich auf die Arbeit mit 2D-Bildern, d.h. wie man ein Bild in ein anderes umwandelt. Zum Beispiel Kontrastverbesserungsoperationen pro Pixel, Kantenverbesserungsoperationen, Entrauschungsoperationen oder geometrische Transformationen wie Bildrotation. Diese Operationen setzen voraus, dass die Bildverarbeitung/-analyse unabhängig vom Inhalt der Bilder selbst arbeitet.

Computer Vision konzentriert sich auf die Verarbeitung von 3D-Szenen, die auf ein oder mehrere Bilder projiziert werden. Beispielsweise das Wiederherstellen der Struktur oder anderer Informationen über die 3D-Szene aus einem oder mehreren Bildern. Computer Vision hängt oft von mehr oder weniger komplexen Annahmen darüber ab, was in den Bildern dargestellt wird.

Es gibt auch einen Bereich namens Visualisierung, der ursprünglich mit dem Prozess der Bilderzeugung verbunden war, sich aber manchmal mit der Verarbeitung und Analyse befasste. Die Radiographie arbeitet beispielsweise mit der Analyse medizinischer Anwendungsvideodaten.

Schließlich ist die Mustererkennung ein Gebiet, das verschiedene Methoden verwendet, um Informationen aus Videodaten zu extrahieren, hauptsächlich basierend auf einem statistischen Ansatz. Ein wesentlicher Teil dieses Bereichs widmet sich der praktischen Anwendung dieser Methoden.

Somit können wir schlussfolgern, dass der Begriff „maschinelles Sehen“ heute Folgendes umfasst: Computer Vision, visuelle Mustererkennung, Bildanalyse und -verarbeitung usw.

Aufgaben der maschinellen Bildverarbeitung

  • Erkennung
  • Identifikation
  • Erkennung
  • Texterkennung
  • Wiederherstellen einer 3D-Form aus 2D-Bildern
  • Bewegungsschätzung
  • Wiederherstellung der Szene
  • Bildwiederherstellung
  • Isolierung von Strukturen eines bestimmten Typs auf Bildern, Bildsegmentierung
  • Optische Flussanalyse

Erkennung


Eine klassische Aufgabe in Computer Vision, Bildverarbeitung und Machine Vision ist die Bestimmung, ob Videodaten ein charakteristisches Objekt, Merkmal oder eine Aktivität enthalten.

Dieses Problem kann von einem Menschen zuverlässig und einfach gelöst werden, ist aber in der Computer Vision im allgemeinen Fall noch nicht zufriedenstellend gelöst: zufällige Objekte in zufälligen Situationen.

Es können ein oder mehrere vordefinierte oder gelernte Objekte oder Klassen von Objekten erkannt werden (normalerweise zusammen mit ihrer zweidimensionalen Position im Bild oder ihrer dreidimensionalen Position in der Szene).

Identifikation


Eine einzelne Instanz eines zu einer Klasse gehörenden Objekts wird erkannt.
Beispiele: Identifizierung eines bestimmten menschlichen Gesichts oder Fingerabdrucks oder Autos.

Erkennung


Die Videodaten werden auf einen bestimmten Zustand überprüft.

Eine auf relativ einfachen und schnellen Berechnungen basierende Erkennung wird manchmal verwendet, um kleine Bereiche in dem analysierten Bild zu finden, die dann unter Verwendung ressourcenintensiverer Techniken analysiert werden, um die korrekte Interpretation zu erhalten.

Texterkennung


Bildsuche nach Inhalt: Finden aller Bilder in einer großen Menge von Bildern, deren Inhalt auf verschiedene Weise definiert ist.

Positionsschätzung: Bestimmen Sie die Position oder Ausrichtung eines bestimmten Objekts relativ zur Kamera.

Optische Zeichenerkennung: Zeichenerkennung in Bildern von gedrucktem oder handgeschriebenem Text (normalerweise zum Übersetzen in ein Textformat, das für die Bearbeitung oder Indizierung bequemer ist, z. B. ASCII).

Die Wiederherstellung einer 3D-Form aus 2D-Bildern wird unter Verwendung von Stereo-Tiefenkartenrekonstruktion, Normalfeld- und Tiefenkartenrekonstruktion durch Schattierung eines Halbtonbildes, Tiefenkartenrekonstruktion durch Textur und Formbestimmung durch Verschiebung ausgeführt.

Ein Beispiel für die Wiederherstellung einer 3D-Form aus einem 2D-Bild

Bewegungsschätzung

Mehrere Aufgaben im Zusammenhang mit der Bewegungsschätzung, bei der eine Folge von Bildern (Videodaten) verarbeitet wird, um eine Schätzung der Geschwindigkeit jedes Punkts in einem Bild oder einer 3D-Szene zu finden. Beispiele für solche Aufgaben sind: Bestimmen der dreidimensionalen Bewegung der Kamera, Tracking, also Verfolgen der Bewegungen eines Objekts (z. B. Autos oder Personen)

Wiederherstellung der Szene

Gegeben sind zwei oder mehr Bilder einer Szene oder Videodaten. Die Szenenrestaurierung hat die Aufgabe, ein dreidimensionales Modell der Szene neu zu erstellen. Das Modell kann im einfachsten Fall eine Menge von Punkten im dreidimensionalen Raum sein. Anspruchsvollere Verfahren reproduzieren das vollständige 3D-Modell.

Bildwiederherstellung


Die Aufgabe der Bildrestaurierung besteht darin, Rauschen (Sensorrauschen, Bewegungsunschärfe etc.) zu entfernen.

Der einfachste Ansatz zur Lösung dieses Problems sind verschiedene Arten von Filtern, wie beispielsweise Tiefpass- oder Mittelpassfilter.

Ein höheres Maß an Rauschunterdrückung wird erreicht, indem zunächst die Videodaten auf das Vorhandensein verschiedener Strukturen wie Linien oder Kanten analysiert werden und dann der Filterprozess basierend auf diesen Daten gesteuert wird.

Bildwiederherstellung

Optische Flussanalyse (Ermitteln der Bewegung von Pixeln zwischen zwei Bildern).
Mehrere Aufgaben im Zusammenhang mit der Bewegungsschätzung, bei der eine Folge von Bildern (Videodaten) verarbeitet wird, um eine Schätzung der Geschwindigkeit jedes Punkts in einem Bild oder einer 3D-Szene zu finden.

Beispiele für solche Aufgaben sind: Bestimmung der dreidimensionalen Bewegung der Kamera, Tracking, d.h. Verfolgen der Bewegungen eines Objekts (z. B. Autos oder Personen).

Bildverarbeitungsmethoden

Pixelzähler

Zählt die Anzahl der hellen oder dunklen Pixel.
Mit Hilfe des Pixelzählers kann der Nutzer beispielsweise einen rechteckigen Bereich auf dem Bildschirm an einem Ort von Interesse auswählen, an dem er die Gesichter von Passanten erwartet. Die Kamera antwortet sofort mit Informationen über die Anzahl der Pixel, die durch die Seiten des Rechtecks ​​dargestellt werden.

Mit dem Pixelzähler können Sie schnell überprüfen, ob die installierte Kamera die behördlichen oder kundenspezifischen Anforderungen an die Pixelauflösung erfüllt, beispielsweise für Gesichter, die von der Kamera gesteuerte Türen betreten, oder für die Nummernschilderkennung.

Binarisierung


Konvertiert ein Graustufenbild in ein Binärbild (weiße und schwarze Pixel).
Die Werte jedes Pixels werden herkömmlicherweise als "0" und "1" codiert. Der Wert "0" wird herkömmlicherweise als Hintergrund oder Hintergrund und "1" als Vordergrund bezeichnet.

Beim Speichern digitaler Binärbilder wird häufig eine Bitmap verwendet, bei der ein Informationsbit verwendet wird, um ein Pixel darzustellen.

Außerdem waren die beiden möglichen Farben, insbesondere in den frühen Stadien der Technologieentwicklung, Schwarz und Weiß, was nicht zwingend erforderlich ist.

Segmentierung

Wird verwendet, um Teile zu finden und/oder zu zählen.

Der Zweck der Segmentierung besteht darin, die Darstellung eines Bildes zu vereinfachen und/oder zu ändern, damit es einfacher und leichter zu analysieren ist.

Die Bildsegmentierung wird üblicherweise verwendet, um Objekte und Grenzen (Linien, Kurven usw.) in Bildern hervorzuheben. Genauer gesagt ist die Bildsegmentierung der Prozess, jedem Pixel in einem Bild Labels zuzuweisen, so dass Pixel mit demselben Label visuelle Eigenschaften teilen.

Das Ergebnis der Bildsegmentierung ist ein Satz von Segmenten, die zusammen das gesamte Bild abdecken, oder ein Satz von aus dem Bild extrahierten Konturen. Alle Pixel in einem Segment sind in einigen charakteristischen oder berechneten Eigenschaften wie Farbe, Helligkeit oder Textur ähnlich. Benachbarte Segmente unterscheiden sich in dieser Eigenschaft signifikant.

Barcodes lesen


Barcode - grafische Informationen, die auf der Oberfläche, Kennzeichnung oder Verpackung von Produkten angebracht sind und die Möglichkeit darstellen, sie mit technischen Mitteln zu lesen - eine Folge von schwarzen und weißen Streifen oder anderen geometrischen Formen.
In der maschinellen Bildverarbeitung werden Barcodes verwendet, um 1D- und 2D-Codes zu dekodieren, die von Maschinen gelesen oder gescannt werden sollen.

Optische Zeichenerkennung

Optical Character Recognition: Automatisiertes Lesen von Texten wie Seriennummern.

OCR wird verwendet, um Bücher und Dokumente in elektronische Form zu konvertieren, Geschäftsbuchhaltungssysteme zu automatisieren oder Text auf einer Webseite zu veröffentlichen.

OCR ermöglicht es Ihnen, Text zu bearbeiten, nach Wörtern oder Sätzen zu suchen, ihn in kompakterer Form zu speichern, Material ohne Qualitätsverlust anzuzeigen oder zu drucken, Informationen zu analysieren und Text elektronisch zu übersetzen, zu formatieren oder zu sprechen.

Mein in LabView geschriebenes Programm zum Arbeiten mit Bildern

Computer Vision wird zur zerstörungsfreien Qualitätskontrolle von supraleitenden Materialien eingesetzt.

Einführung. Die Lösung der Probleme der Gewährleistung integrierter Sicherheit (sowohl Anti-Terror- als auch mechanische Sicherheit von Objekten und technologische Sicherheit von Ingenieursystemen) erfordert derzeit eine systematische Organisation der Kontrolle des aktuellen Zustands von Objekten. Eine der vielversprechendsten Methoden zur Überwachung des aktuellen Zustands von Objekten sind optische und optoelektronische Verfahren, die auf den Technologien zur Verarbeitung von Videobildern einer optischen Quelle basieren. Dazu gehören: Programme zum Arbeiten mit Bildern; die neuesten Methoden der Bildverarbeitung; Geräte zum Erhalten, Analysieren und Verarbeiten von Bildern, d. h. eine Reihe von Werkzeugen und Methoden im Bereich Computer und maschinelles Sehen. Computer Vision ist eine allgemeine Reihe von Techniken, die es Computern ermöglichen, dreidimensionale oder zweidimensionale Objekte zu sehen und zu erkennen, sowohl technische als auch nichttechnische. Um mit Computer Vision zu arbeiten, sind digitale oder analoge Eingabe-Ausgabe-Geräte sowie Computernetzwerke und IP-Standortanalysatoren erforderlich, die den Produktionsprozess steuern und Informationen für betriebliche Entscheidungen in kürzester Zeit aufbereiten sollen.

Formulierung des Problems. Heute bleibt die Hauptaufgabe der entworfenen Bildverarbeitungssysteme die Erkennung, Erkennung, Identifizierung und Qualifizierung von Objekten mit potenziellem Risiko, die sich an einem beliebigen Ort in der Zone der betrieblichen Verantwortung des Komplexes befinden. Gegenwärtig existierende Softwareprodukte, die darauf abzielen, die aufgelisteten Probleme zu lösen, haben eine Anzahl von signifikanten Nachteilen, nämlich: signifikante Komplexität verbunden mit hoher Detailgenauigkeit optischer Bilder; hoher Stromverbrauch und ein ziemlich schmales Spektrum an Möglichkeiten. Eine Ausweitung der Aufgaben der Detektion von potentiellen Gefahrenobjekten auf den Bereich der Suche nach zufälligen Objekten in zufälligen Situationen, die sich an einem zufälligen Ort befinden, ist mit den verfügbaren Softwareprodukten auch unter Einbindung eines Supercomputers nicht möglich.

Ziel. Entwicklung eines universellen Programms zur Verarbeitung von Bildern einer optischen Quelle mit der Möglichkeit der Streaming-Datenanalyse, d. h. das Programm muss leicht und schnell sein, damit es auf einem kleinen Computergerät geschrieben werden kann.

Aufgaben:

  • Entwicklung eines mathematischen Modells des Programms;
  • Schreiben eines Programms;
  • Testen des Programms in einem Laborexperiment mit vollständiger Vorbereitung und Durchführung des Experiments;
  • Untersuchung der Möglichkeit der Anwendung des Programms in verwandten Tätigkeitsfeldern.

Die Relevanz des Programms wird bestimmt durch:
  • die hohen Kosten professioneller visueller Informationsverarbeitungsprogramme.

Analyse der Relevanz der Programmentwicklung.
  • das Fehlen von Bildverarbeitungsprogrammen auf dem Softwaremarkt mit der Ausgabe einer detaillierten Analyse der technischen Komponenten von Objekten;
  • ständig wachsende Anforderungen an die Qualität und Geschwindigkeit der Gewinnung visueller Informationen, wodurch die Nachfrage nach Bildverarbeitungsprogrammen stark ansteigt;
  • der bestehende Bedarf an leistungsstarken, zuverlässigen und einfachen Programmen aus Sicht des Benutzers;
  • Es besteht ein Bedarf an Programmen mit hoher Leistung und einfacher Steuerung, was in unserer Zeit äußerst schwierig zu erreichen ist. Ich habe zum Beispiel Adobe Photoshop genommen. Dieser Grafikeditor hat eine harmonische Kombination aus Funktionalität und Benutzerfreundlichkeit für einen normalen Benutzer, aber in diesem Programm ist es unmöglich, mit komplexen Bildverarbeitungswerkzeugen zu arbeiten (z. B. Bildanalyse durch Aufbau einer mathematischen Beziehung (Funktion) oder integrale Bildverarbeitung );
  • die hohen Kosten professioneller visueller Informationsverarbeitungsprogramme. Wenn die Software qualitativ hochwertig ist, dann ist der Preis dafür extrem hoch, bis hin zu den einzelnen Funktionen eines bestimmten Satzes von Programmen. Die folgende Grafik zeigt die Preis- / Qualitätsabhängigkeit einfacher Analoga des Programms.

Um die Lösung solcher Probleme zu vereinfachen, habe ich ein mathematisches Modell entwickelt und ein Computerprogramm für ein Bildanalysegerät geschrieben, das die einfachsten Transformationen der Originalbilder verwendet.

Das Programm arbeitet mit Transformationen wie Binarisierung, Helligkeit, Bildkontrast etc. Die Funktionsweise des Programms wird am Beispiel der Analyse supraleitender Materialien demonstriert.

Bei der Herstellung von Verbundsupraleitern auf Basis von Nb3Sn variieren das Volumenverhältnis von Bronze und Niob, die Größe und Anzahl der darin enthaltenen Fasern, die Gleichmäßigkeit ihrer Verteilung über den Querschnitt der Bronzematrix, das Vorhandensein von Diffusionsbarrieren und stabilisierenden Materialien. Bei einem gegebenen Volumenanteil von Niob im Leiter führt eine Erhöhung der Faserzahl jeweils zu einer Verringerung ihres Durchmessers. Dies führt zu einer merklichen Vergrößerung der Nb/Cu-Sn-Wechselwirkungsfläche, was das Wachstum der supraleitenden Phase stark beschleunigt. Eine solche Erhöhung der Menge der supraleitenden Phase mit einer Erhöhung der Anzahl von Fasern im Leiter stellt eine Erhöhung der kritischen Eigenschaften des Supraleiters sicher. In dieser Hinsicht ist es notwendig, ein Werkzeug zu haben, um den Volumenanteil der supraleitenden Phase im Endprodukt (zusammengesetzter Supraleiter) zu kontrollieren.

Bei der Erstellung des Programms wurde berücksichtigt, wie wichtig es ist, die Materialien zu erforschen, aus denen supraleitende Kabel hergestellt werden, da bei einem falschen Verhältnis von Niob zu Bronze eine Explosion von Drähten und folglich menschliche Verluste und Geld möglich sind Kosten und Zeitverlust. Mit diesem Programm können Sie die Qualität der Drähte anhand der chemisch-physikalischen Analyse des Objekts bestimmen.

Blockdiagramm des Programms


Beschreibung der Forschungsphasen.

Stufe 1. Probenvorbereitung: Schneiden eines zusammengesetzten Supraleiters auf einer Elektroerosionsmaschine; Pressen der Probe in eine Kunststoffmatrix; Polieren der Probe in einen Spiegelzustand; Probenätzung zur Isolierung von Niobfasern auf einer Bronzematrix. Es wurden Proben von gepressten supraleitenden Verbundproben erhalten;

Stufe 2. Imaging: Erhalten von metallografischen Bildern mit einem Rasterelektronenmikroskop.

Stufe 3. Bildverarbeitung: Erstellung eines Tools zur Bestimmung des Volumenanteils der supraleitenden Phase in einem metallographischen Bild; ein Satz statistisch signifikanter Daten zu einem bestimmten Probentyp. Mathematische Modelle verschiedener Bildverarbeitungswerkzeuge wurden erstellt; eine Softwareentwicklung wurde erstellt, um den Volumenanteil der supraleitenden Phase abzuschätzen; das Programm wurde vereinfacht, indem mehrere mathematische Funktionen zu einer kombiniert wurden; der Mittelwert des Volumenanteils von Niobfasern in der Bronzematrix betrug 24,7 ± 0,1 %. Ein geringer Prozentsatz an Abweichung weist auf eine hohe Wiederholbarkeit der Struktur des Verbunddrahts hin.

Elektronenmikroskopische Aufnahme von zusammengesetzten Supraleitern

Bildverarbeitungsmethoden im Programm.

  • Identifikation- eine einzelne Instanz eines zu einer Klasse gehörenden Objekts erkannt wird.
  • Binarisierung- der Prozess der Umwandlung eines Farb- (oder Graustufen-) Bildes in ein zweifarbiges Schwarz-Weiß-Bild.
  • Segmentierung ist der Prozess der Aufteilung eines digitalen Bildes in mehrere Segmente (viele Pixel, auch Superpixel genannt).
  • Erosion- ein komplexer Prozess, bei dem ein Strukturelement alle Pixel des Bildes durchläuft. Wenn an irgendeiner Position jedes Einheitspixel des Strukturelements mit einem Einheitspixel des Binärbilds zusammenfällt, dann wird das zentrale Pixel des Strukturelements logisch zu dem entsprechenden Pixel des Ausgangsbilds hinzugefügt.
  • Erweiterung- Faltung eines Bildes oder eines ausgewählten Bereichs eines Bildes mit einem Kernel. Der Kern kann von beliebiger Form und Größe sein. In diesem Fall wird im Kernel eine einzige führende Position vergeben, die bei der Berechnung der Faltung mit dem aktuellen Pixel kombiniert wird.

Arbeitsformeln programmieren

Binarisierungsformel (Otsu-Methode):

Erosionsformel:

Dehnungsformel:

Schema der Dilatation und Erosion

Segmentierungsformeln für Farbschwellenwerte:

Bestimmung des Helligkeitsgradientenmoduls für jeden Bildpunkt:

Schwellwertberechnung:

Gebrauchte Ausrüstung

Programmschnittstelle

Hier ist ein großartiges Beispiel für eine Webcam, die das Gesicht einer Person erkennt und ihre Position im Raum bestimmt. Eine Person kann das Bild buchstäblich von der anderen Seite betrachten. Mal sehen, wie das passiert.

Zunächst müssen wir verstehen, wie die Maschine zwischen Objekten und Hintergründen unterscheidet. Damit eine Webcam beispielsweise einige geometrische Formen finden kann, muss die Kamera die folgenden Objektattribute unterscheiden:

  1. Die Form des Objekts (Kreis, Quadrat, Dreieck…);
  2. Die Farbe des zu definierenden Objekts;
  3. Die Größe eines Objekts und seine Position relativ zu anderen Objekten.

Um die Form eines Objekts zu finden, wird der Effekt des Verwischens der Konturen einer bestimmten Form verwendet. Dies geschieht, damit das Gerät genau bestimmen kann, wo die Kontur unseres Objekts endete und der Hintergrund begann. Näheres, mit allerlei Erklärungen und Beispielen, findet sich in Alexander Bakulins Vorlesung über Robotik:

Was mit der Farbe des Objekts zusammenhängt, ist meiner Meinung nach jedem klar, und besonders schwierige Fragen sollten nicht aufkommen. Es ist ganz einfach: Das Gerät muss seine Position anhand der Farbe des Objekts bestimmen und den Hintergrund und andere Objekte abschneiden. Die Farbtiefe sowie mögliche Fehler hängen von der Aufnahmequalität des Geräts, der Beleuchtung, Ihrem Erkennungsalgorithmus und einer Reihe weniger signifikanter Nuancen ab.

Wenn wir über die Position des Objekts sprechen, das in der Sichtbarkeitszone bestimmt wird, fahren wir mit dem Hauptprinzip der Funktionsweise fort, das im obigen Video demonstriert wird. Das Gerät findet das Objekt, fixiert seine Position in Echtzeit und führt nach dem Algorithmus die erforderlichen Aktionen aus. Eine der Schlüsselpositionen ist die Größe unserer Einrichtung. Wir bringen das Objekt näher heran, indem wir seine Koordinaten entlang der Achsen ändern, und wir sehen das Bild aus einem anderen Winkel. Bei einem menschlichen Gesicht und nicht bei einer einfachen geometrischen Figur gibt es eine Reihe von Nuancen:

Die Form des Gesichts ist für alle Menschen unterschiedlich, obwohl es bestimmte Arten dieser Form gibt.

Die Hautfarbe einer Person, persönliche Merkmale wie Frisur, Schmuck und dergleichen.

Das menschliche Gesicht ist zwar symmetrisch, weist jedoch Unterschiede auf, wenn es aus verschiedenen Blickwinkeln betrachtet wird.

Daher erfordert die Gesichtserkennung im Gegensatz zu einfachen Formen einen etwas anderen Ansatz.

Am besten sind xml-Dateien, die die Informationen enthalten, die wir zu allen oben beschriebenen Punkten benötigen. Dies sind viele Bilder von Gesichtern unterschiedlicher Größe und Form, die im Voraus aus verschiedenen Blickwinkeln gemacht wurden. Das Netzwerk verfügt bereits über vorgefertigte XML-Dateien, die Sie für Ihre Arbeit verwenden können.

Das Arbeiten mit dieser Technologie ist einfach und unkompliziert. Es eröffnen sich viele interessante Imaging-Lösungen, die sowohl im Alltag als auch in großen Projekten eingesetzt werden können.

Marktüberblick über Computer-Vision-Technologien

Die moderne Welt der Computersysteme ist ohne die Technologie der maschinellen oder maschinellen Bildverarbeitung kaum vorstellbar. Im Artikel „Warum braucht ein Computer Vision?“ (ComputerPress Nr. 5'2002) wurde die Entstehungsgeschichte dieser Technologie betrachtet und ein Überblick über einige ihrer Anwendungen gegeben. Natürlich beschreibt der Artikel nur einen kleinen Teil der Anwendungen aus einer breiten Palette gebrauchter Bildverarbeitungssysteme, und in den folgenden Ausgaben werden wir auf dieses sehr interessante und sich schnell entwickelnde Wissensgebiet zurückkommen. Ja, es entwickelt sich rasant. Immerhin ist diese Technologie erst etwa 50 Jahre alt, was nach den Maßstäben vieler exakter Wissenschaften nicht über die Entstehungszeit hinausgeht. Durch die Steigerung ihres wissenschaftlichen und praktischen Potenzials parallel zur Verbesserung der Computer- und Aufzeichnungsgeräte erreicht die Computervision allmählich neue technologische Grenzen. Hochleistungsrechenmaschinen der neuesten Generation (einschließlich moderner Personalcomputer) ermöglichen bereits die Lösung vieler Probleme der Verarbeitung digitaler Videoinformationsströme und das Treffen von Entscheidungen in Echtzeit. Und heute, für die meisten von uns manchmal unmerklich, ist Computer Vision in vielen Bereichen des menschlichen Lebens fest etabliert, hilft ihm, ersetzt ihn manchmal und nimmt ihm monotone, routinemäßige oder oft lebensbedrohliche Arbeit ab.

Es ist kein Geheimnis, dass Computer Vision als Technologie die breiteste, vollständigste und umfassendste Entwicklung im Westen erfahren hat, insbesondere in den USA, Südkorea und Japan. Dies ist vor allem auf die starke finanzielle Unterstützung dieser Richtung durch die Regierung und Investoren zurückzuführen, die ihr eine große Zukunft prophezeien. Darüber hinaus unterstützt die Regierung hauptsächlich die Entwicklung von Technologie in Bildungszentren, und Investoren unterstützen private, vielversprechende Unternehmen. Die bemerkenswertesten Beispiele für solche gut finanzierten Forschungszentren sind das MIT Artificial Intelligence Laboratory, die UC Berkeley Computer Vision Group, das Vision and Autonomous Systems Center der Cornegee Mellon University, das Stanford Vision Laboratory und eine Reihe anderer. Beispiele für unterstützte private Unternehmen sind Unternehmen wie Visionics, Eyematic und andere. /cs/project/cil/ftp/html/txtvision.html) – etwa 200 Gruppen und wissenschaftliche Labors, die an diesem Thema arbeiten, sind registriert. Es sei darauf hingewiesen, dass dies keine vollständige Liste von Organisationen ist, die sich mit Computer Vision befassen, da es eine große Anzahl kommerzieller Firmen gibt, die sich auf das Gebiet der maschinellen Bildverarbeitung und Bildverarbeitung spezialisiert haben. Informationen darüber finden Sie auf spezialisierten thematischen Internetseiten, die bestimmten Bereichen dieser Technologie gewidmet sind. Mit anderen Worten, die Entwickler verschiedener Technologien innerhalb der Computer-Vision-Technologie selbst sind gewissermaßen in Interessenvereinen zusammengeschlossen. Wer sich zum Beispiel für Leistungen auf dem Gebiet der Gestenerkennung interessiert, findet auf der entsprechenden spezialisierten Internetseite - Gesture Recognition Home Page (http://www.cybernet.com/) recht detaillierte Informationen über Forschung, Forschungsgruppen, kommerzielle Anwendungen, Patente. ~ccohen/gesture.html). Sie können auch einige Demoanwendungen herunterladen und die neuesten wissenschaftlichen Publikationen lesen. Wenn sich der Leser lieber mit Technologien rund um die Gesichtserkennung auseinandersetzen möchte, dann hat er auf einer anderen Internetseite den direkten Weg in einen virtuellen Club – Face Detection and Recognition Home Page (http://home.t-online.de/home/Robert .Frischholz/face.htm).

Es sollte beachtet werden, dass all dies zu einem schnellen Wachstum und einer Verbesserung von Computer-Vision-Technologien führt. Derzeit ziehen ausländische Forschungs- und Handelszentren eine große Anzahl von Wissenschaftlern und hochqualifizierten Programmierern an, führen parallele Forschungen in verschiedenen Bereichen des maschinellen Sehens durch und erzielen bedeutende Ergebnisse.

Russland hat sich als vollwertiges Mitglied der Weltwirtschaftsgemeinschaft diesem Prozess nicht entzogen. Seit einigen Jahren ist auch auf dem russischen Technologiemarkt ein Trend zu zunehmendem Interesse an Computer-Vision-Problemen festzustellen, sowohl seitens der Leiter einer Reihe von IT-Unternehmen und Unternehmen, die auf dem Sicherheitsmarkt tätig sind, als auch seitens der Verbraucher ( Benutzer) und Studenten, die sich in diesen Bereichen spezialisieren möchten. Die Reaktion auf dieses Interesse war die Entstehung von Labors, Gruppen und kommerziellen Strukturen, die es sich zur Aufgabe gemacht haben, verschiedene Arten von Technologien und Anwendungen zur Lösung von Bildverarbeitungsproblemen zu entwickeln. Und wenn wir vor einem Jahrzehnt in der Rolle des Aufholers waren, streben heute viele Unternehmen - führende Unternehmen im Bereich fortschrittlicher Technologien - nach dem russischen Markt, um geeignete Computer-Vision-Technologien zu erwerben oder Aufträge für fortschrittliche Forschung und Entwicklung in diesem Bereich zu erteilen .

Diesem Thema ist dieser Artikel gewidmet, der nicht nur das Interesse russischer und ausländischer Hersteller an diesem Thema demonstrieren soll, sondern auch über eine Reihe russischer Unternehmen sprechen soll, die Software für verschiedene Bildverarbeitungs- und Analysesysteme entwickeln .

Wer ist wer auf dem russischen Computer-Vision-Markt?

Eine Studie über den russischen Markt für Entwickler von Bildverarbeitungstechnologien zeigt, dass die Zahl der Unternehmen, die sich mit Computer Vision beschäftigen, relativ gering ist. Lassen Sie uns einen Blick auf die bemerkenswertesten dieser Unternehmen werfen und eine kurze Beschreibung einiger der interessanten Computer-Vision-Technologien geben, die sie für den nationalen und globalen Markt anbieten.

Unternehmensgeist

Zu den bekanntesten photogrammetrischen Systemen der Welt gehören Hardware- und Softwaresysteme wie Leica und Intergraph, die mit leistungsstarken Workstations geliefert werden. Dies sind sehr teure Systeme und nur wenige Unternehmen können sie sich leisten. Mit der Entwicklung der Computertechnologie werden kostengünstigere Systeme, die eine Bildverarbeitung auf Personalcomputern ermöglichen, immer beliebter. Russische digitale photogrammetrische Systeme "Talka" (http://www.talka-tdv.ru/), Photomod (Firma "Racurs" (http://www.racurs.ru/)), Z-Space (GosNIIAS), CFS TsNIIGAiK (Roskartografiya) oder Fotoplan (29. Institut des Verteidigungsministeriums), nicht unterlegen und manchmal ausländische Analoga in der Qualität der digitalen Videosignalverarbeitung übertreffend, während sie zehnmal billiger sind als ähnliche ausländische Entwicklungen. Die Betrachtung der Eigenschaften und Fähigkeiten solcher Systeme ist Gegenstand eines separaten Artikels.

Eine weitere Richtung im Bereich des maschinellen Sehens ist der Bau von Zeichenerkennungssystemen. In diesem Artikel haben wir diesen Bereich, in dem Computer-Vision-Technologien als etabliert gelten können, nur indirekt erwähnt. Insbesondere haben wir nur hochspezialisierte Aufgaben berücksichtigt, die von Unternehmen im Rahmen kommerzieller Projekte gelöst werden. Wenn wir über etablierte kommerzielle Produkte und Technologien für Zeichenerkennungssysteme sprechen, müssen wir die größten russischen und weltweiten Anbieter dieser Technologie erwähnen - ABBYY mit einer Reihe von FineReader-Programmen und Cognitive Technologies mit einer Reihe von CuneiForm-Programmen. Mehr als ein Artikel auf den Seiten von ComputerPress widmet sich einem Überblick über die von diesen Unternehmen gelieferten Technologien. Informationen zu den Leistungen dieser Unternehmen finden Sie in dieser Ausgabe des Magazins. Um diese Unternehmen und ihre Technologien zu würdigen, erwähnen wir sie daher in diesem Artikel nur beiläufig.

Zusammenfassend können wir mit Zuversicht sagen, dass russische Computer-Vision-Technologien ausländischen Pendants nicht unterlegen, sondern in vielerlei Hinsicht sogar überlegen sind. Unternehmen, die diese Technologien entwickeln, fehlt oft ein weltbekannter Name. Daher werden Investitionen in sie in der Regel nur ungern getätigt. Es besteht jedoch kein Zweifel, dass das hohe technologische Niveau und die hohe Qualifikation russischer Spezialisten in naher Zukunft zu einer Dominanz russischer Computer-Vision-Technologien auf dem Weltmarkt führen werden.

ComputerPress 7 "2002

Habe Fragen?

Tippfehler melden

Text, der an unsere Redaktion gesendet werden soll: