DE102021128523A1 - Hierarchische bildzerlegung zur defekterkennung - Google Patents

Hierarchische bildzerlegung zur defekterkennung Download PDF

Info

Publication number
DE102021128523A1
DE102021128523A1 DE102021128523.2A DE102021128523A DE102021128523A1 DE 102021128523 A1 DE102021128523 A1 DE 102021128523A1 DE 102021128523 A DE102021128523 A DE 102021128523A DE 102021128523 A1 DE102021128523 A1 DE 102021128523A1
Authority
DE
Germany
Prior art keywords
image
resolution
algorithm
results
processors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021128523.2A
Other languages
English (en)
Inventor
Florian Michael SCHEIDEGGER
Adelmo Cristiano Innocenza Malossi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102021128523A1 publication Critical patent/DE102021128523A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/72Data preparation, e.g. statistical preprocessing of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/45Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • G06T2207/20104Interactive definition of region of interest [ROI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Aspekte der vorliegenden Erfindung offenbaren ein Verfahren, ein Computerprogrammprodukt und ein System zum Verbessern von Objekterkennung in hochauflösenden Bildern zu einem Inferenzzeitpunkt. Das Verfahren umfasst einen oder mehrere Prozessoren, die ein hochauflösendes Bild empfangen. Das Verfahren umfasst ferner einen oder mehrere Prozessoren, die das empfangene Bild in hierarchisch organisierte Schichten von Bildern zerlegen. Jede Schicht weist mindestens eine Bildkachel des empfangenen Bilds auf. Jede der Bildkacheln hat eine entsprechende Auflösung, die für einen grundlegenden Bilderkennungsalgorithmus geeignet ist. Das Verfahren umfasst ferner einen oder mehrere Prozessoren, die den grundlegenden Algorithmus auf jede der Bildkacheln jeder Schicht anwenden. Das Verfahren umfasst ferner einen oder mehrere Prozessoren, die eine Ergebnisaggregation von Ergebnissen der grundlegenden Algorithmusanwendungen auf die Bildkacheln der Schichten ausführen.

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein das Gebiet Objekterkennung und insbesondere Objekterkennung in hochauflösenden Bildern.
  • Forschungsorganisationen und Unternehmen haben immense Anstrengungen beim Umsetzen von durch Kl- (künstliche Intelligenz) gesteuerten Anwendungen unternommen, um Prozesse zu automatisieren, menschenfreundlichere Benutzerschnittstellen umzusetzen oder ein Analysieren von großen Datenmengen zu unterstützen. Deep-Learning-Ansätze haben hervorragende Erfolge unter Beweis gestellt und klassische Maschinenlernlösungen übertroffen. Hauptsächlich waren zwei Hauptfaktoren, die Verfügbarkeit einer leistungsstarken Datenverarbeitungs-Infrastruktur und die Verfügbarkeit von großen gekennzeichneten Datensätzen für den Erfolg von Deep-Learning-Techniken verantwortlich. Deep-Learning-Ansätze werden oft zur Bildklassifizierung, Objekterkennung, Videoanalyse, Textübersetzung und Audio-Genreklassifizierung verwendet, um nur einige zu nennen. Insbesondere können neueste und überlegene Modelle, die mit Pixeldaten arbeiten, neuronale Faltungsnetzwerke nutzen. Dadurch können Deep-Learning-Ansätze, die mit Bilddaten arbeiten, in drei Hauptaufgaben getrennt werden: a) Klassifizierung, b) Erkennung und c) Segmentierung. Alle drei Aufgaben nutzen eine einzelne Eingabe gemeinsam, sie definieren aber, was der Ansatz erzeugen muss. Für eine Klassifizierung wird eine einzelne Klassenbezeichnung vorhergesagt (z.B. das Bild, das einen Hund zeigt), für eine Erkennung wird ein Begrenzungsfeld erzeugt (z.B. befindet sich der Hund in dem Rechteck [X, Y, dX, dY]); und für eine Segmentierung werden die Pixel vorhergesagt, die zu dem beabsichtigten Objekt gehören (z.B. Pixel p1, p2, p3, ..., pN zeigen einen Hund).
  • Eine automatisierte Defekterkennung definiert eine Untergruppe der allgemeinen Aufgabe einer Objekterkennung, wobei das Ziel darin besteht, Defekte auf industriellen Bildern zu identifizieren (zu erkennen und/oder zu segmentieren). Anwendungen können Einsatzbeispiele aus verschiedenen Gebieten umfassen, einschließlich dem medizinischen Gebiet (z.B. Identifizieren der Anatomie von Menschen aus Röntgenbildern), der Materialverarbeitungsbranche (z.B. Identifizieren von Defekten an erzeugten Stahl- oder anderen Produkten), oder Defekterkennungen bei baulicher Infrastruktur (z.B. Brücken oder hohe Gebäude).
  • KURZDARSTELLUNG DER ERFINDUNG
  • Aspekte der vorliegenden Erfindung offenbaren ein Verfahren, ein Computerprogrammprodukt und ein System zum Verbessern von Objekterkennung in hochauflösenden Bildern zu einem Inferenzzeitpunkt. Das Verfahren umfasst einen oder mehrere Prozessoren, die ein hochauflösendes Bild empfangen. Das Verfahren umfasst ferner einen oder mehrere Prozessoren, die das empfangene Bild in hierarchisch organisierte Schichten von Bildern zerlegen. Jede Schicht weist mindestens eine Bildkachel des empfangenen Bilds auf. Jede der Bildkacheln hat eine entsprechende Auflösung, die für einen grundlegenden Bilderkennungsalgorithmus geeignet ist. Das Verfahren umfasst ferner einen oder mehrere Prozessoren, die den grundlegenden Algorithmus auf jede der Bildkacheln jeder Schicht anwenden. Das Verfahren umfasst ferner einen oder mehrere Prozessoren, die eine Ergebnisaggregation von Ergebnissen der grundlegenden Algorithmusanwendungen auf die Bildkacheln der Schichten ausführen.
  • In einer weiteren Ausführungsform umfasst das Ausführen der Ergebnisaggregation von Ergebnissen der grundlegenden Algorithmusanwendungen auf die Bildkacheln der Schichten ferner einen oder mehrere Prozessoren, der bzw. die Ergebnisse des grundlegenden Algorithmus pro Schicht aggregiert bzw. aggregieren, einen oder mehrere Prozessoren, der bzw. die einen paarweisen Schichtvergleich von Ergebnissen des grundlegenden Algorithmus mit angrenzenden paarweisen Schichten ausführt bzw. ausführen, und einen oder mehrere Prozessoren, der bzw. die eine hierarchische Aggregation der Ergebnisse des grundlegenden Algorithmus abhängig von dem paarweisen Schichtvergleich ausführt bzw. ausführen.
  • Figurenliste
  • Es ist anzumerken, dass Ausführungsformen der Erfindung unter Bezugnahme auf verschiedene Anspruchsgegenstände beschrieben werden. Insbesondere werden einige Ausführungsformen unter Bezugnahme auf Ansprüche eines Verfahrenstyps beschrieben, während andere Ausführungsformen unter Bezugnahme auf Ansprüche eines Vorrichtungstyps beschrieben werden. Ein Fachmann wird jedoch aus dem Vorgenannten und der folgenden Beschreibung entnehmen, dass, sofern nichts anderes angegeben ist, zusätzlich zu jeder Kombination von Merkmalen, die zu einem Typ eines Anspruchsgegenstands gehören, auch jede Kombination zwischen Merkmalen, die sich auf verschiedene Anspruchsgegenstände beziehen, insbesondere Merkmale der Ansprüche zum Verfahrenstyp und Merkmale der Ansprüche zum Vorrichtungstyp als in diesem Dokument offenbart zu betrachten sind.
  • Die oben definierten Aspekte und weitere Aspekte der vorliegenden Erfindung gehen aus den Beispielen von im Folgenden hierin zu beschreibenden Ausführungsformen hervor und werden unter Bezugnahme auf die Beispiele von Ausführungsformen erläutert, auf die die Erfindung jedoch nicht beschränkt ist. Bevorzugte Ausführungsformen der Erfindung werden allein zu Beispielzwecken und unter Bezugnahme auf die folgenden Zeichnungen beschrieben.
    • 1 stellt ein Blockschaubild einer Ausführungsform eines Verfahrens zum Verbessern von Objekterkennung in hochauflösenden Bildern zu einem Inferenzzeitpunkt gemäß einer Ausführungsform der vorliegenden Erfindung dar.
    • 2 stellt ein Blockschaubild einer Ausführungsform dar, in der ein ursprüngliches hochauflösendes Bild als Grundlage für die beschriebene Verarbeitung gemäß einer Ausführungsform der vorliegenden Erfindung verwendet wird.
    • 3 stellt ein Blockschaubild dar, das ein Zuführen der Gruppen von eingegebenen Kacheln zu dem grundlegenden Algorithmus für Objekterkennung gemäß einer Ausführungsform der vorliegenden Erfindung ausführlich darstellt.
    • 4 stellt ein Blockschaubild dar, das die Schritte des paarweisen Schichtvergleichs und den Schritt der abschließenden Vereinigungsaggregation ausführlich darstellt, um das endgültige Ergebnis gemäß einer Ausführungsform der vorliegenden Erfindung zu erzeugen.
    • 5 zeigt eine Darstellung der Begrenzungsbereichsbearbeitung an Kanten der Kacheln gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 6 stellt ein Blockschaubild des Objekterkennungssystems zum Verbessern von Objekterkennung in hochauflösenden Bildern zu einem Inferenzzeitpunkt gemäß einer Ausführungsform der vorliegenden Erfindung dar.
    • 7 stellt ein Blockschaubild einer Ausführungsform eines Datenverarbeitungssystems dar, das das erfindungsgemäße Objekterkennungssystem gemäß einer Ausführungsform der vorliegenden Erfindung aufweist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Erfindung würdigen, dass viele der Anwendungsfälle für eine Objekterkennung sehr anspruchsvolle Probleminstanzen definieren, sogar wenn die neuesten Deep-Learning-Methodiken verwendet werden. Die Gründe dafür sind vielfältig und können anhand leichter Variationen erklärt werden, die unter anderem Folgendes umfassen, aber nicht darauf beschränkt sind: verschiedene Lichtverhältnisse, verschiedene Bildauflösungen, verschiedene Kameras, die zum Erfassen von Bildern verwendet werden (z.B. verschiedene Linsenverzerrungen, die Empfindlichkeit der Kamera (ISO) usw.), verschiedene Blickpunkte, verschiedene Zoomstufen, Verdeckungen durch Hindernisse (z.B. ein Baum vor einem Brückenpfeiler) und verschiedene Hintergründe (z.B. die verschiedenen Ansichten von zwei Brücken), Hindernisobjekte im Hintergrund, die nicht erwartet werden (z.B. Personen, Autos und Schiffe in der Nähe einer Brücke, wobei die Brücke und ihre Defekte das Hauptmotiv sind). Außerdem haben viele Defekte keine klaren Begrenzungen, wodurch ein Erkennen der Defekte als Objekte erschwert wird.
  • Ferner würdigen Ausführungsformen der vorliegenden Erfindung, dass herkömmliche Deep-Learning-Verfahren in der Regel mit einer relativ kleinen Bildgröße arbeiten. Zum Beispiel verwenden Bildklassifizierungs-Algorithmen des Stands der Technik, die auf dem CIFAR-10-Datensatz ausgewertet werden, Eingaben mit einer Form von 32 x 32 Pixeln. Des Weiteren folgen die meisten Algorithmen für ein breites Bildernetz, das verschiedene Bildgrößen bereitstellt, einer einheitlichen Schulungs- und Auswertungseinrichtung, wobei Bilder auf eine feste Größe von 224 x 224 Pixel vergrößert oder verkleinert werden. Algorithmen für Objekterkennung wie zum Beispiel Masken-R-CNN (neuronales Faltungsnetzwerk auf Bereichsgrundlage) arbeiten mit einer festen Größenordnung von 1024 Pixeln. In Gegensatz dazu würdigen Ausführungsformen der vorliegenden Erfindung jedoch, dass hochauflösende Bilder heutzutage fast frei verfügbar sind; viele Kameras unterstützen Modi mit 2K-, 4K- und 8K-Auflösung und High-End-Kameras, die sogar eine 16K- bis 64K-Auflösung unterstützen, sind ebenfalls verfügbar. Ein Erfassen von Bildern in einer derartigen Einstellung führt zu einem Arbeiten mit Bildern mit einer Pixelbreite, die 2 bis 64 mal größer als die erwartete Größe der ursprünglichen Festlegung des Detektors ist.
  • Ausführungsformen der vorliegenden Erfindung würdigen, dass Defekte meistens kleine Merkmale sind, die sich nur an einigen wenigen Positionen in den hochauflösenden Bildern befinden. Daher ist eine einfache Größenanpassung der Bilder auf eine kleinere Auflösung problematisch, da auf diese Weise ein wesentlicher Auflösungsfaktor verloren geht. Außerdem unterstützt ein Kacheln eines hochauflösenden Bilds in kleinere Bilder, die separat behandelt werden, ein Beibehalten der hohen Auflösung. Allerdings ist ein Kacheln mit zusätzlichem Aufwand verbunden, der notwendig ist, um sich überlappende Bereiche zu bearbeiten (z.B. teilweise sichtbare Defekte auf einer Kachel), und es dehnt die Arbeitslast für ein Bild auf die Anzahl von Kacheln aus, die aus diesem Bild extrahiert wurden, was zu einer größeren Arbeitslast führt. Ausführungsformen der vorliegenden Erfindung würdigen, dass es, wie in Deep-Learning-Ansätzen gefordert, zum Erhalten eines guten Verallgemeinerungsverhaltens von Deep-Learning-Verfahren wichtig ist, dass Schulungs- und Testbilder derselben Statistik folgen. Bei einem Experimentieren mit verschiedenen Einstellungen für das Kacheln und einem Sicherstellen, dass die Statistik einer Bildkachel in der Schulung übereinstimmt, wird die Statistik von Bildkacheln in dem Test-Szenario zu einer nicht einfachen Aufgabe. Ferner würdigen Ausführungsformen der vorliegenden Erfindung, dass in dem Schulungsbereich angewendete Modifizierungen, die ein erneutes Schulen des Modells auslösen, sehr rechenintensiv und somit ineffizient und teuer sind.
  • Weitere Ausführungsformen der vorliegenden Erfindung würdigen, dass zum Umsetzen eines ersten Entwicklungszyklus in der Regel bekannte Objekterkennungs-Algorithmen immer und immer wieder erneut verwendet werden. Die Algorithmen sind in der Regel von einer festen Bildauflösung abhängig. Die Auflösungen von Kameras werden jedoch schnell immer höher, sodass die angenommene Bildauflösung der bekannten Objekterkennungs-Algorithmen nicht mit der Entwicklung Schritt halten kann. Außerdem, selbst wenn die Objekterkennungs-Algorithmen mit der Verfügbarkeit von Kameras mit immer höherer Auflösung Schritt halten könnten, würdigen Ausführungsformen der vorliegenden Erfindung, dass der Datenverarbeitungsaufwand für ein erneutes Schulen der vorhandenen neuronalen Netzwerke und eine Neukonfigurierung von deren Hyper-Parametern enorm wäre, was als Hauptnachteil der herkömmlichen Ansätze betrachtet wird. Um diese Art von festgefahrener Situation zu überwinden, würdigen Ausführungsformen der vorliegenden Erfindung eine Notwendigkeit, eine solide Objekterkennungsfähigkeit ohne die Notwendigkeit einer erneuten Schulung der vorhandenen Bilderkennungs-Algorithmen bereitzustellen.
  • In dem Kontext dieser Beschreibung können die folgenden Konventionen, Begriffe und/oder Ausdrücke verwendet werden.
  • Der Begriff ,Objekterkennung‘ kann die Aktivität eines Systems bezeichnen, das durch ein Verfahren zum Identifizieren von einem oder mehreren vordefinierten Elementen, Beispielen oder Mustern in einem bestimmten digitalen Bild unterstützt wird.
  • Der Begriff ,hochauflösendes Bild‘ kann ein Bild mit einer höheren Auflösung als diejenige bezeichnen, die ein bestimmter Algorithmus als eingegebene Auflösung für einen Objekterkennungsprozess eines typischen Bilds verwendet hat. Daher stimmen die Auflösung der Eingabe, die für den grundlegenden Algorithmus erforderlich ist, und die Auflösung des hochauflösenden Bilds nicht überein. Daher können Maßnahmen erforderlich sein, um das hochauflösende Bild oder zumindest Teile davon (z.B. Bildkacheln) zu verarbeiten, indem ein bereits vorab geschulter grundlegender Algorithmus ohne die Notwendigkeit einer erneuten Schulung oder einer Neukonfiguration oder Neukonzeption des vorab geschulten grundlegenden Algorithmus verwendet wird.
  • Der Begriff ,lnferenzzeit‘ kann die Zeit bezeichnen, in der ein geschultes Maschinenlernsystem (z.B. ein neuronales Faltungsnetzwerk) eine Klasse oder eine Segmentierung eines eingegebenen Bilds vorhersagen kann. Die Schulungszeit steht im Gegensatz zur Inferenzzeit. Die Vorabschulung des Maschinenlernsystems kann eine Menge an Rechenleistung und Zeit erfordern, wogegen die Inferenzaktivität des geschulten Maschinenlernsystems optimiert werden kann, um mit nur geringen Datenverarbeitungsressourcen zu arbeiten.
  • Der Begriff Zerlegen eines Bilds' kann einen Prozess eines Zerschneidens eines bestimmten digitalen Bilds in Abschnitte (z.B. rechtwinklige Stücke) bezeichnen, die auch als Bildkacheln bezeichnet werden können.
  • Der Begriff ,hierarchisch organisierte Schichten‘ kann eine Mehrzahl von Schichten bezeichnen, die eine vordefinierte Anzahl von Teilbildern eines bestimmten ursprünglichen (d.h. empfangenen) digitalen Bilds in einer bestimmten Schicht aufweisen. Dadurch können die Schichten nach verschiedenen Auflösungen unterschieden werden. Die unterste Schicht kann diejenige mit der höchsten Auflösung sein, d.h. die maximale Anzahl von Pixeln, die für das bestimmte digitale Bild verfügbar sind, stellt auch eine Grundlage für globale Koordinaten bereit. Die höchste Schicht kann als diejenige mit der geringsten Anzahl von Pixeln für das bestimmte digitale Bild definiert werden, d.h. das mit der niedrigsten Auflösung.
  • Der Begriff ,geeignete Auflösung‘ (z.B. insbesondere eine für den grundlegenden Algorithmus geeignete Auflösung) kann die Auflösung eines digitalen Bilds bezeichnen, die für einen Objekterkennungs-Algorithmus wie Masken-R-CNN oder schneller R-CNN optimiert ist. Zum Beispiel arbeiten die Algorithmen mit einer Auflösung von 224 x 224 Pixeln. Daher ist ein digitales Bild mit 1000 x 1000 Pixeln für den bestimmten grundlegenden Algorithmus nicht geeignet.
  • Der Begriff ,geschulter grundlegender Bilderkennungs-Algorithmus' kann einen Bilderkennungs- und/oder einen Erkennungsalgorithmus bezeichnen, der auch vollständig in Hardware umgesetzt werden kann (z.B. durch Verwenden von Kreuzschienen von memristiven Einheiten), der einer Schulung unterzogen wurde, sodass Hyper-Parameter und Gewichtungsfaktoren (z.B. des neuronalen Faltungsnetzwerks) definiert werden können und ein neuronales Netzwerkmodell entsprechend entwickelt wird. Der geschulte grundlegende Algorithmus kann anschließend für Objekterkennungsaufgaben zu einem Interferenz-Zeitpunkt verwendet werden.
  • Der Begriff ,intelligente Aggregation von Ergebnissen‘ kann einen mehrstufigen Prozess bezeichnen, der für den hier vorgeschlagenen Objekterkennungsprozess entscheidend ist. Die intelligente Aggregation von Ergebnissen kann mindestens die Schritte von (i) einem Aggregieren von Ergebnissen des zugrundeliegenden Algorithmus pro Schicht, (ii) einem Ausführen eines paarweisen Schichtvergleichs und (iii) einem Ausführen einer hierarchischen Aggregation der Vergleichsergebnisse aufweisen. Details des mehrstufigen Prozesses werden von den Unteransprüchen definiert und ausführlicher im Kontext der Figuren beschrieben.
  • Der Begriff ,sich überlappender Bereich‘ kann einen Abschnitt von Kacheln eines Bilds bezeichnen, der Teil von zwei benachbarten Bildkacheln desselben digitalen Bilds sein kann. Der Bildabschnitt kann Teil der linken Bildkachel und einer rechten Bildkachel sein, die nebeneinander liegen.
  • Der Begriff ,Bildzwischenschicht‘ kann eine Schicht bezeichnen, die durch einen schichtweisen Vergleich von Zwischenergebnissen als Teil des Prozesses der intelligenten Aggregation von Ergebnissen aufgebaut wird. Daher führt eine bestimmte Anzahl von M Schichten (z.B. 4 Schichten) zu N Bildzwischenschichten, wobei N = M-1. Ein praktisches Beispiel wird ausführlicher unter Bezugnahme auf 4 beschrieben.
  • Der Begriff ,pixelweise Vereinigung‘ kann einen Prozess eines Kombinierens von zwei Formen mit einer logischen „OR“- (ODER) Funktion bezeichnen. Die „OR“-Funktion kann auf binäre Masken angewendet werden, die die Form encodieren. Desgleichen kann derselbe Begriff einen Prozess bezeichnen, der die „UNION“ (VEREINIGUNG) von zwei Formen übernimmt, die als Polygone encodiert werden können.
  • Der Begriff ,pixelweise Überschneidung‘ kann einen Prozess eines Kombinierens von zwei Formen mit einer logischen „AND“- (UND) Funktion bezeichnen. Die „AND“-Funktion kann auf binäre Masken angewendet werden, die die Form encodieren. Desgleichen kann derselbe Begriff einen Prozess bezeichnen, der die „INTERSECTION“ (ÜBERSCHNEIDUNG) von zwei Formen annimmt, die als Polygone encodiert werden können.
  • Der Begriff ,erkanntes Element‘ kann ein Objekt in einem digitalen Bild mit einer vordefinierten Form bezeichnen (d.h. eine Form oder andere charakteristische Merkmale), für die eine Erkennung oder Identifizierung des verwendeten Maschinenlernsystems geschult worden ist. In diesem Sinne kann das erkannte Element mit dem erkannten Objekt identisch sein.
  • Der Begriff ,Masken-R-CNN- Algorithmus' kann den bekannten Algorithmus des neuronalen Faltungsnetzwerks bezeichnen, der für eine Instanzsegmentierung auf Grundlage von bekannten vorherigen Architekturen für eine Objekterkennung verwendet wird. Dadurch kann eine Bildeingabe dem neuronalen Netzwerk übergeben werden; ein Prozess „Ausgewählte Suche“ kann auf dem empfangenen digitalen Bild ausgeführt werden, und anschließend können die von dem Prozess „Ausgewählte Suche“ ausgegebenen Bereiche für zukünftige Extraktionen und Klassifizierungen durch Verwenden eines vorab geschulten neuronalen Faltungsnetzwerks verwendet werden.
  • Der Begriff schneller R-CNN-Algorithmus' kann eine erweiterte Version des Masken-R-CNN-Algorithmus bezeichnen. Ein schneller R-CNN-Algorithmus kann den Algorithmus „Ausgewählte Suche“ immer noch zum Erhalten von Bereichsvorschlägen verwenden, kann aber ein Pooling-Modul für einen Bereich von Interesse (ROI) hinzufügen. Der schnelle R-CNN-Algorithmus kann Fenster mit fester Größe aus der Merkmalskombination extrahieren, um eine Kennzeichnung einer endgültigen Klasse und ein Begrenzungsfeld für ein bestimmtes Objekt in dem empfangenen digitalen Bild zu erhalten. Ein Vorteil des Ansatzes kann in der Tatsache liegen, dass das neuronale Faltungsnetzwerk jetzt durchgängig geschult werden kann.
  • Der Begriff ,vorab geschult‘ kann bezeichnen, dass ein Bild- oder Objekterkennungssystem vor der Verwendung geschult worden ist. Insbesondere kann das vorab geschulte System oder Verfahren zur Objekterkennung als Werkzeug für ein Verarbeiten der zu klassifizierenden digitalen Bilder verwendet werden, die nicht direkt für den verwendeten, vorher geschulten grundlegenden Algorithmus geeignet sind (z.B. wegen fehlender Auflösungsübereinstimmungen). Im Gegensatz dazu (z.B. in herkömmlichen Systemen) verwendet das hier vorgeschlagene Konzept eine Zerlegung des bestimmten (d.h. empfangenen) digitalen Bilds zusammen mit einer intelligenten Aggregation von Ergebnissen, um die fehlende Übereinstimmung der Auflösung des empfangenen digitalen Bilds und der Auflösung, die für den grundlegenden Objekterkennungs-Algorithmus erforderlich ist, zu beseitigen.
  • Der Begriff ,neuronales Netzwerkmodell‘ kann die Summe aller Gewichtungen eines bestimmten neuronalen Netzwerks zusammen mit der verwendeten logischen Organisation des neuronalen Netzwerks bezeichnen (d.h. die Hyper-Parameter eines grundlegenden Maschinenlernsystems, hier eines neuronalen Faltungsnetzwerks).
  • Im Folgenden werden die Figuren ausführlich beschrieben. Alle Anweisungen in den Figuren sind schematisch. Zunächst wird ein Blockschaubild einer Ausführungsform des erfindungsgemäßen Verfahrens zum Verbessern von Objekterkennung in hochauflösenden Bildern zu einem Inferenzzeitpunkt angegeben. Danach werden weitere Ausführungsformen sowie Ausführungsformen des Objekterkennungssystems zum Verbessern von Objekterkennung in hochauflösenden Bildern zu einem Referenzzeitpunkt beschrieben.
  • 1 zeigt ein Blockschaubild einer Ausführungsform des Verfahrens 100 zum Verbessern von Objekterkennung (z.B. Defekterkennung) in hochauflösenden Bildern zu einem Inferenzzeitpunkt gemäß einer Ausführungsform der vorliegenden Erfindung. In beispielhaften Ausführungsformen kann ein Objekterkennungssystem 600 (dargestellt in 6) Verarbeitungsschritte des Verfahrens 100 (d.h. ausgeführt in 1) gemäß Ausführungsformen der vorliegenden Erfindung ausführen. In weiteren beispielhaften Aspekten kann das Objekterkennungssystem 600 (in Kombination mit dem Verfahren 100) Operationen ausführen, die ausführlicher in Bezug auf 2 bis 5 gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung dargestellt und beschrieben werden.
  • In einem Schritt 102 empfängt das Verfahren ein hochauflösendes Bild. In beispielhaften Ausführungsformen empfängt das Verfahren 100 ein digitales Bild mit einer Auflösung, die größer als die Bildauflösung ist, die von dem grundlegenden Bilderkennungs-Algorithmus verwendet wird (z.B. Masken-R-CNN).
  • In einem Schritt 104 zerlegt das Verfahren das empfangene Bild in hierarchisch organisierte Schichten von Bildern. In beispielhaften Ausführungsformen weist jede Schicht mindestens eine Bildkachel des empfangenen Bilds auf (nur das Bild mit f = max hat nur eine Kachel, alle anderen Schichten haben mehr Kacheln). In weiteren Ausführungsformen hat jede der Bildkacheln eine Auflösung, die für einen vorab geschulten grundlegenden Bilderkennungs-Algorithmus geeignet ist (z.B. erforderlich ist oder empfohlen wird).
  • In einem Schritt 106 wendet das Verfahren 100 den grundlegenden Algorithmus auf jede der Bildkacheln jeder Schicht an. In beispielhaften Ausführungsformen kann das Verfahren 100 arbeiten, um Bereiche von Interesse, Begrenzungsfelder von Objekten (z.B. ein den Defekt umschließendes Rechteck und eine Klassifizierung) und/oder alternativ zusätzlich eine Maske, Polygone, Formen auf Grundlage der Vorab-Schulung zu identifizieren.
  • Außerdem führt das Verfahren 100 in einem Prozess 108 eine intelligente Aggregation von Ergebnissen aus. Zum Beispiel führt das Verfahren 100 eine intelligente Aggregation von Ergebnissen der grundlegenden Algorithmus-Anwendungen auf die Bildkacheln der Schichten aus, die einen dreistufigen Ansatz verwenden, wie in den Schritten 110 bis 114 beschrieben.
  • In einem Schritt 110 aggregiert das Verfahren Ergebnisse des grundlegenden Algorithmus pro Schicht. In einem Schritt 112 führt das Verfahren 100 einen paarweisen Schichtvergleich von Ergebnissen des grundlegenden Algorithmus mit angrenzenden paarweisen Schichten aus. In einem Schritt 114 führt das Verfahren 100 eine hierarchische Aggregation der Ergebnisse des grundlegenden Algorithmus aus, die von dem paarweisen Vergleich abhängen. Dadurch kann das Verfahren 100 einen konsistenten Skalierungsfaktor verwenden, was bedeutet, dass abhängig von der Auflösung ein Pixel in einer Auflösung mit vier Pixeln in einer weiteren Auflösung und/oder 16 Pixeln und sogar noch höheren Auflösungen verglichen werden kann. Wenn in einer höheren als der niedrigsten Auflösung (z.B. in einem Schwarz-Weiß-Bild oder in einem oder mehreren Farbkanälen) die Anzahl von Pixeln, die weiß oder schwarz sind, gleichmäßig verteilt ist (d.h. 50/50), wird für eine der beiden Zweifarb-Optionen eine Zufallsentscheidung getroffen.
  • 2 stellt ein Blockschaubild 200 einer Ausführungsform dar, in der ein ursprüngliches empfangenes hochauflösendes Bild 202 als Grundlage für die Aktivitäten von Ausführungsformen der vorliegenden Erfindung (z.B. Prozesse des Verfahrens 100) verwendet wird. Das Rechteck 204 stellt die feste Arbeitsgröße der verwendeten Arbeitsauflösung und/oder des angeforderten grundlegenden Bilderkennungs-Algorithmus dar. Somit müssen die Bilder der verschiedenen Schichten, insbesondere Schicht 1, Schicht 2, Schicht 3, die jeweils f = 1,0, f = 2,0, f = 6,0 entsprechen, in Kacheln geschnitten werden. Das Bild 206 der ersten Schicht wird in 24 Kacheln geschnitten, sodass jede Kachel die Anzahl von Pixeln aufweist, die gleich der Arbeitsgröße des Bilds des grundlegenden Algorithmus ist.
  • Dementsprechend sind für das Bild 208 von Schicht 2 mit einer geringeren Auflösung als das Bild von Schicht 1 nur 6 Kacheln erforderlich, wogegen das Bild 210 mit der niedrigsten Auflösung (Schicht 3) nur eine einzelne Kachel erfordert, da die entsprechende Auflösung mit der Arbeitsgröße des grundlegenden Algorithmus übereinstimmt. Die Anzahl von Schichten ist konfigurierbar und kann von der Bildauflösung des empfangenen digitalen Bilds abhängen.
  • Als Ergebnis des Schritts des Kachelns generieren Ausführungsformen der vorliegenden Erfindung Gruppen von Kacheln 212, von Kacheln 214 und von Kacheln 216, wobei die Anzahl von Kacheln pro Gruppe sich erhöht, je höher die Auflösung des Bilds 206, des Bilds 208 und des Bilds 210 ist. Die Gruppen von Bildkacheln werden anschließend als Eingaben in den grundlegenden Algorithmus verwendet. Zum Beispiel ist die Kachel 216 die untere rechte Ecke des Bilds 206, und die Bildkachel 214 ist der obere mittlere Abschnitt des Bilds 208 der Schicht 2. Der gesamte Prozess wird ausführlicher unter Bezugnahme auf 3 beschrieben.
  • 3 stellt ein Blockschaubild 300 dar, das ein Zuführen der Gruppen von eingegebenen Kacheln 212, Kacheln 214 und Kacheln 216 (2) zu dem grundlegenden Algorithmus 302 für Objekterkennung gemäß einer Ausführungsform der vorliegenden Erfindung ausführlich darstellt. In verschiedenen Ausführungsformen kann der grundlegende Objekterkennungs-Algorithmus 302 in einer vorab geschulten Form verwendet werden, ohne irgendeine zusätzliche Schulung zu erfordern. Zum Beispiel kann der grundlegende Objekterkennungs-Algorithmus 302 wie verfügbar verwendet werden. Die Gruppen von Ausgaben 304, von Ausgaben 306 und von Ausgaben 308 des grundlegenden Algorithmus 302 können anschließend pro Schicht zusammengeführt werden, was durch den Pfeil 310 und den Pfeil 312 symbolisch dargestellt wird. Für die Ergebnisgruppe mit der niedrigsten Auflösung (304) ist keine Aggregation erforderlich.
  • Anschließend werden die Schichtergebnisse 314, Schichtergebnisse 316 und Schichtergebnisse 318 in einem Schritt 320 zur intelligenten Aggregation von Ergebnissen eingegeben, um das Endergebnis des Objekterkennungsprozesses zu erzeugen (ausführlicher unter Bezugnahme auf 4 beschrieben).
  • 4 stellt ein Blockschaubild 400 dar, das die Schritte des paarweisen Schichtvergleichs und den Schritt der abschließenden Vereinigungsaggregation ausführlich darstellt, um das endgültige Ergebnis 402 gemäß Ausführungsformen der vorliegenden Erfindung zu erzeugen. In dem dargestellten Beispiel des Schichtkonzepts von 2 werden vier verschiedene Ergebnisgruppen 404, Ergebnisgruppen 406, Ergebnisgruppen 408 und Ergebnisgruppen 410 (die logisch den Schichtergebnissen 314, den Schichtergebnissen 316, und den Schichtergebnissen 318 von 3 entsprechen) als Schichtergebnisse verwendet. Benachbarte Instanzen (in dem Sinne der verschiedenen Auflösungsschichten) werden paarweise verglichen, und eine Überschneidung (d.h. ein logisches „AND“) wird in den Zwischenschicht-Datensätzen 412, 414 und 416 aufgebaut, wie in 4 dargestellt. Ausführungsformen der vorliegenden Erfindung können anschließend die Zwischendatensätze 412, 414, 416 in einer logischen „OR“-Operation 418 zusammenführen, um das Endergebnis 402 zu bilden und die Intelligente Aggregation von Ergebnissen abzuschließen.
  • Außerdem hat die mit f = 4 (410) gekennzeichnete Ergebnisgruppe, wie in 4 darstellt, die niedrigste Auflösung (die der höchsten Schicht entspricht), und die Ergebnisgruppe mit f = 1 (404) hat die höchste Auflösung und kann auch die Referenz für die globalen Koordinaten darstellen.
  • 5 zeigt eine Darstellung 500 der Begrenzungsbereichsbearbeitung an Kanten der Kacheln gemäß Ausführungsformen der vorliegenden Erfindung. Wie in 5 dargestellt, haben eine Kachel 502 und eine weitere Kachel 504 beide entsprechende Grenzbereiche. Die Grundlinie der Kachel 502 und der Kachel 504 stellt unabhängige Ergebnisse für die jeweiligen Grenz-/Begrenzungsbereiche 506 und 508 der jeweiligen Kacheln 502 und 504 bereit. Die zusammengeführten Kacheln 502 und 504 in der Form eines Rechtecks 510 zeigen die Ergebnisse in den globalen Koordinaten (d.h. in den Koordinaten des ursprünglichen Bilds mit der höchsten Auflösung). Dadurch sind in der Ergebnisentität zwei separate Teilerkennungen vorhanden. Als Ergebnis der Grenzbereichsbearbeitung (symbolisiert als Rechteck 512) wird die teilweise Überlappung erkannt, und die beiden Teilergebnisse werden zu einem Erkennungsergebnis 516 zusammengefasst.
  • Das große Rechteck (das das ursprüngliche Bild 514 umschließt) zeigt den entsprechenden Prozess als Teil von oder besser mit globalen Koordinaten des formalen (d.h. hochauflösenden) Bildes mit hoher Bildschärfe/hoher Auflösung. Als Ergebnis dessen wird der Defekt (d.h. das erkannte Objekt) als ein schwarzer Kratzer in einer Oberfläche gezeigt. Die Darstellung von 5 kann davon ausgehen, dass das ursprüngliche Bild 514 ein Bild war, das eine Oberfläche eines Elements zeigt, das einer Sichtprüfung unterzogen werden sollte.
  • Das vorgeschlagene Verfahren zum Verbessern einer Objekterkennung in hochauflösenden Bildern zu einem Inferenzzeitpunkt kann mehrere Vorteile, technische Auswirkungen, Beiträge und/oder Verbesserungen bieten. In verschiedenen Szenarios können hochauflösende Bilder effektiv und effizient grundlegenden Objekterkennungs-Algorithmen zugeführt werden ohne die grundlegenden Algorithmen beibehalten zu müssen, die an Bildern mit viel geringerer Auflösung geschult worden sind. Da jedoch Bilder mit konstant immer höheren Auflösungen (d.h. immer größeren Anzahlen von Pixeln pro Bereich) verfügbar werden, und da die geschulten grundlegenden Algorithmen nicht angepasst sind, um verfügbare Auflösungen zu bearbeiten (z.B. aufgrund längerer Datenverarbeitungszyklen während Schulung und Inferenz und somit mehr erforderlicher Rechenleistung), werden spezielle Aktivitäten zum Erzeugen von Ergebnissen für digitale Bilder mit viel höheren Auflösungen in verschiedenen Ausführungsformen der vorliegenden Erfindung vorgeschlagen.
  • Einige Ausführungsformen der vorliegenden Erfindung können vollautomatisiert sein und hängen nur von einer einfachen Einrichtung ab: z.B. Anzahl von verwendeten hierarchischen Schichten, Empfindlichkeitsschwellenwert des grundlegenden Modells und eine vordefinierte Kachelgröße (Anzahl von Kacheln pro digitales Bild). Bereits auf dieser Grundlage können Ausführungsformen der vorliegenden Erfindung durch Verwenden von Standardparametern gut für den grundlegenden Algorithmus arbeiten. Verschiedene Ausführungsformen der vorliegenden Erfindung nutzen auch gemeinsam die Vorteile eines Verwendens von Deep-Learning-Techniken zur Defekterkennung, die möglicherweise keine manuelle Merkmalsentwicklung (feature engineering) erfordern und in vielen Fällen herkömmliche Maschinenlernansätze mit einem großen Leistungsspielraum übertreffen können. Für weitere Ausführungsformen der vorliegenden Erfindung wurde auch bestätigt, dass sie reale Daten für eine Art von Defekterkennungsaufgabe verwenden, indem ein Masken-R-CNN (neuronales Faltungsnetzwerk auf Bereichsgrundlage) als der grundlegende Algorithmus verwendet wird.
  • Insbesondere die Fähigkeit, vorher geschulte Bilderkennungsmodelle erneut zu verwenden, die Schulungsbilder mit niedriger Auflösung als kommentierte Schulungsmuster verwendet haben, kann einen beträchtlichen Vorteil darstellen, wenn reale Daten Auflösungen aufweisen, die Kameras mit 4K- oder 8K-Auflösung entsprechen. Ein erneutes Schulen des grundlegenden Algorithmus ist nicht erforderlich, sodass Ausführungsformen der vorliegenden Erfindung während der Inferenzphase verwendet werden können. Daher können hochauflösende Bilder und die jeweilige Objekterkennung mit den grundlegenden Algorithmen behandelt werden, die ursprünglich für Bilder mit niedrigerer Auflösung ausgelegt und geschult worden sind. Einige Ausführungsformen der vorliegenden Erfindung können auch an hochauflösende Bilder mit verschiedenen Auflösungen angepasst werden, indem nur eine kleine Gruppe von Konfigurationsparametern eingerichtet wird.
  • Außerdem können Ausführungsformen der vorliegenden Erfindung auch auf die Präzisions- (auch als positiver vorhergesagter Wert bezeichnet) und Abruf- (auch als Empfindlichkeit des Algorithmus bezeichnet) Anforderung einer Mustererkennung dadurch effektiv eingehen, dass die Anzahl von falsch-positiven Erkennungen und die Anzahl von falsch-negativen Erkennungen jeweils minimiert wird.
  • Gemäß einer vorteilhaften Ausführungsform der vorliegenden Erfindung kann die Aggregation der Ergebnisse des grundlegenden Algorithmus pro Schicht (d.h. der erste untergeordnete Schritt der intelligenten Aggregation von Ergebnissen) auch ein Extrahieren eines Polygons, das eine Form eines erkannten Objekts encodiert, und ein Zuordnen von lokalen Polygon-Koordinaten, die für die Bildkacheln verwendet werden, zu globalen Koordinaten aufweisen, die für die Bildkachel mit der höchsten Auflösung verwendet werden. Dadurch werden Formen von Polygonen von Ergebnissen des grundlegenden Algorithmus mit einer höheren Auflösung komprimiert, sodass die komprimierten Formen mit Formen in Kacheln mit einer niedrigeren Auflösung vergleichbar sind. In diesem Kontext kann angemerkt werden, dass statt Koordinaten der verfügbaren höchsten Auflösung auch andere Skalierungsmechanismen (d.h. abstrakte Koordinaten) verwendet werden können. Außerdem können Ausführungsformen der vorliegenden Erfindung auch arbeiten, um ein Bild mit einer niedrigeren Auflösung zu vergrößern, um mit einem Bild mit einer hohen Auflösung übereinzustimmen. Dazu können aus einem Pixel bis zu drei oder mehr Pixel in dem Bild mit der niedrigeren Auflösung generiert werden. Die Extraktion des Polygons, das die Form des erkannten Objekts encodiert, kann auch als eine viel präzisere Bilderfassungstechnik betrachtet werden, anstatt nur das kleinste Begrenzungs- oder Umschließungsrechteck des erkannten Bilds zu verwenden.
  • Gemäß einer weiteren vorteilhaften Ausführungsform der vorliegenden Erfindung kann die Aggregation der Ergebnisse des grundlegenden Algorithmus pro Schicht (eine Aktivität, die sich auch auf den ersten untergeordneten Schritt der intelligenten Aggregation von Ergebnissen bezieht) auch ein Beseitigen von sich überlappenden Bereichen zwischen benachbarten Bildkachelgrenzen einer jeweiligen Schicht und ein Zusammenführen eines erkannten Teilobjekts der benachbarten Kacheln in ein erkanntes Objekt aufweisen. Die Grenzbereichsbearbeitung kann zum Wiederherstellen von nahtlosen Bildern vorteilhaft sein. Zur Erinnerung: die Überlappungen wurden während der Zerlegung erstellt.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung können die Ergebnisse des grundlegenden Algorithmus mindestens eines aus der Gruppe aufweisen, die aus einer Klasse eines erkannten Elements oder Objekts, einem Begrenzungsfeld, das ein identifiziertes Objekt in einer Bildkachel umgibt, und einer Maske besteht, die durch eine Polygonumschließung einer Form des erkannten Objekts in der Bildkachel dargestellt wird. Insbesondere kann das erkannte Element oder Objekt sich auf einen Materialdefekt oder eine Oberfläche beziehen (z.B. eine Korrosion von Bewehrungsstahl, ein Riss, Rost, Abplatzungen und/oder Algenbildung). Dementsprechend können Ausführungsformen der vorliegenden Erfindung vorteilhafterweise für eine Sichtprüfung von Infrastrukturkomponenten wie Brücken, Gebäude, Masten, Rohre, Rohrleitungen und/oder andere industrielle oder Infrastrukturelemente verwendet werden. Daher kann in einer beispielhaften Ausführungsform das zu erkennende Objekt ein Materialdefekt sein, insbesondere von einem Objekt, das untersucht werden soll.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung kann der grundlegende Algorithmus ein Masken-R-CNN-Algorithmus oder ein schneller R-CNN-Algorithmus sein. Beide Algorithmen sind bekannt und werden oft im Kontext einer Objekterkennung verwendet. Dadurch kann ein eingegebenes Bild einem neuronalen Netzwerk übergeben werden, eine ausgewählte Suche wird auf dem Bild ausgeführt, und anschließend werden die von der ausgewählten Suche ausgegebenen Bereiche für zukünftige Merkmals-Extraktion und -Klassifizierung durch Verwenden eines vorab geschulten neuronalen Faltungsnetzwerks verwendet. Des Weiteren beruht das schnelle R-CNN auf einem vorab geschulten neuronalen Faltungsnetzwerk, in dem die letzten drei Klassifizierungsschichten durch neue Klassifizierungsschichten ersetzt worden sind, die für die erforderlichen Objektklassen spezifisch sind.
  • Gemäß einer zusätzlichen Ausführungsform der vorliegenden Erfindung kann die für einen grundlegenden Bilderkennungs-Algorithmus geeignete Auflösung auf der Gruppe von 224 x 224 Pixel, 512 x 512 Pixel, 800 x 800 Pixel und 1024 x 800 ausgewählt werden. Außerdem können auch andere Auflösungen verwendet werden. Die grundlegenden Algorithmen, die in der Regel verwendet werden, arbeiten jedoch normalerweise mit einer festen Auflösung (z.B. 224 x 224), wodurch es schwierig ist, eine Beziehung von Bildern mit verschiedenen Auflösungen zu vergleichen und zu bestimmen.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung kann der grundlegende Algorithmus vorab geschult sein, sodass ein neuronales Netzwerkmodell für Inferenzaufgaben für eine Objekterkennung gebildet worden ist. Die Vorab-Schulung kann in der Regel erfolgen, wenn die grundlegenden Algorithmen von Masken-R-CNN oder schneller R-CNN verwendet werden. Somit kann die Schulung, die an Bildern oder Filtern mit niedriger Auflösung ausgeführt worden sein kann, aufgrund des vorgeschlagenen Konzepts auch für hochauflösende Bilder verwendet werden.
  • Der Vollständigkeit halber stellt 6 ein Blockschaubild des Objekterkennungssystems 600 zum Verbessern der Objekterkennung in hochauflösenden Bildern zu einem Inferenzzeitpunkt dar. Das Objekterkennungssystem 600 weist einen Prozessor 604 auf, der im Datenaustausch mit einem Arbeitsspeicher 602 verbunden ist, der Anweisungen speichert, um das System zu veranlassen, Folgendes auszuführen: Empfangen (insbesondere durch einen Empfänger 606) eines hochauflösenden Bilds; Zerlegen (insbesondere durch eine Zerlegungseinheit 608) des empfangenen Bilds in hierarchisch organisierte Schichten von Bildern. Dadurch weist jede Schicht mindestens eine Bildkachel des empfangenen Bilds auf, und jede der Bildkacheln hat eine Auflösung, die für einen grundlegenden Bilderkennungs-Algorithmus geeignet (oder besonders erforderlich, empfohlen oder effizient ist).
  • Die Anweisungen weisen auch ein Anwenden (insbesondere durch das grundlegende Aufrufmodul 610) des grundlegenden Algorithmus auf jede der Bildkacheln jeder Schicht und ein Ausführen einer intelligenten Aggregation von Ergebnissen (insbesondere durch eine Einheit zur intelligenten Aggregation von Ergebnissen) von Ergebnissen der grundlegenden Algorithmus-Anwendungen auf die Bildkacheln der Schichten auf. Die bestimmte Funktion wird durch ein erstes Aggregationsmodul 614, das angepasst ist, um Ergebnisse des grundlegenden Algorithmus pro Schicht zu aggregieren, ein Schichtvergleichsmodul 616, das angepasst ist, um einen paarweisen Schichtvergleich von Ergebnissen des grundlegenden Algorithmus mit benachbarten paarweisen Schichten auszuführen, und ein zweites Aggregationsmodul 618 verwirklicht, das angepasst ist, um eine hierarchische Aggregation der grundlegenden Algorithmus-Ergebnisse abhängig von dem paarweisen Schichtvergleich auszuführen.
  • Außerdem können die Module und Einheiten (insbesondere der Arbeitsspeicher 602, der Prozessor 604, der Empfänger 606, die Zerlegungseinheit 608, das grundlegende Aufrufmodul 610, die Einheit zur intelligenten Aggregationseinheit von Ergebnissen 612, das erste Aggregationsmodul 614, das Schichtvergleichsmodul 616 und das zweite Aggregationsmodul 618) durch direkte Verbindungen oder mittels eines systeminternen Bussystems für einen Daten-, Signal- und/oder Informationsaustausch miteinander in Datenaustauschkontakt stehen.
  • Ausführungsformen der Erfindung können zusammen mit praktisch jedem Computertyp umgesetzt werden, unabhängig davon, ob die Plattform zum Speichern und/oder Ausführen von Programmcode geeignet ist. 7 stellt als Beispiel ein Datenverarbeitungssystem 700 dar, das zum Ausführen von Programmcode geeignet ist, der mit dem vorgeschlagenen Verfahren in Zusammenhang steht.
  • Das Datenverarbeitungssystem 700 ist nur ein Beispiel für ein geeignetes Computersystem und soll keinerlei Einschränkung hinsichtlich des Schutzumfangs der Verwendung oder der Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung andeuten, gleichgültig, ob das Computersystem 700 umgesetzt werden kann und/oder irgendeine oben dargelegte Funktionalität ausführen kann. In dem Computersystem 700 sind Komponenten vorhanden, die mit zahlreichen anderen Universal- oder Sonder-Datenverarbeitungssystemumgebungen oder -Konfigurationen betriebsbereit sind. Zu Beispielen für bekannte Datenverarbeitungssysteme, Umgebungen und/oder Konfigurationen, die für eine Verwendung mit dem Computersystem/Server 700 geeignet sein können, zählen PC-Systeme, Servercomputersysteme, Thin Clients, Thick Clients, Handheld- oder Laptop-Einheiten, Multiprozessorsysteme, Systeme auf der Grundlage von Mikroprozessoren, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der oben genannten Systeme oder Einheiten und dergleichen aufweisen, sie sind aber nicht darauf beschränkt. Das Computersystem/der Server 700 kann in dem allgemeinen Kontext von Anweisungen beschrieben werden, die durch ein Computersystem ausführbar sind, wie beispielsweise Programmmodule, die von einem Computersystem 700 ausgeführt werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. enthalten, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen umsetzen. Das Computersystem/der Server 700 kann in verteilten Cloud-Computing-Umgebungen betrieben werden, wobei Aufgaben von entfernt angeordneten Verarbeitungseinheiten ausgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können Programmmodule sich sowohl in lokalen als auch entfernt angeordneten Computersystem-Speichermedien befinden, die Arbeitsspeicher-Speichereinheiten enthalten.
  • Wie in 7 gezeigt, wird das Computersystem/der Server 700 in der Form einer Universal-Datenverarbeitungseinheit gezeigt. Die Komponenten des Computersystems/Servers 700 können einen oder mehrere Prozessoren oder Verarbeitungseinheiten 702, einen Systemarbeitsspeicher 704 und einen Bus 706 umfassen, der verschiedene Systemkomponenten einschließlich des Systemarbeitsspeichers 704 mit den Verarbeitungseinheiten 702 verbindet, sie sind aber nicht darauf beschränkt. Der Bus 706 stellt einen oder mehrere von mehreren beliebigen Typen von Busstrukturen dar, einschließlich eines Arbeitsspeicherbusses oder Arbeitsspeichercontrollers, eines Peripheriebusses, eines Accelerated Graphics Ports (beschleunigter Grafikanschluss) und eines Prozessors oder lokalen Busses unter Verwendung von einer aus einer Vielfalt von Busarchitekturen. Zum Beispiel und nicht einschränkend umfassen derartige Architekturen einen Industry Standard Architecture- (ISA) Bus, Micro Channel Architecture- (MCA) Bus, Enhanced ISA- (EISA) Bus, einen lokalen Video Electronics Standards Association- (VESA) Bus und Peripheral Component Interconnect- (PCI) Bus. Das Computersystem/der Server 700 umfasst in der Regel eine Vielfalt von durch ein Computersystem lesbaren Medien. Derartige Medien können alle verfügbaren Medien sein, auf die durch das Computersystem/den Server 700 zugegriffen werden kann, und sie umfassen sowohl flüchtige als auch nicht flüchtige Medien, austauschbare und nicht austauschbare Medien.
  • Der Systemarbeitsspeicher 704 kann durch ein Computersystem lesbare Medien in der Form von flüchtigem Arbeitsspeicher umfassen wie beispielsweise einen Direktzugriffspeicher (RAM) 708 und/oder einen Cache-Arbeitsspeicher 710. Das Computersystem/der Server 700 kann ferner weitere austauschbare/nicht austauschbare, flüchtige/nicht flüchtige Computersystem-Speichermedien umfassen. Nur als Beispiel kann ein Speichersystem 712 zum Lesen von einem und Schreiben auf einen nicht austauschbaren, nicht flüchtigen Magnetdatenträger bereitgestellt werden (nicht gezeigt und in der Regel als „Festplatte“ bezeichnet). Obwohl nicht gezeigt, kann ein Magnetplattenlaufwerk zum Auslesen und Beschreiben einer austauschbaren, nicht flüchtigen Magnetplatte (z.B. eine „Diskette“) und ein optisches Plattenlaufwerk zum Auslesen oder Beschreiben einer austauschbaren, nicht flüchtigen optischen Platte wie einem CD-ROM, DVD-ROM oder andere optische Datenträger bereitgestellt werden. In solchen Fällen können alle über eine oder mehrere Datenträgerschnittstellen mit dem Bus 706 verbunden werden. Wie ferner im Folgenden dargestellt und beschrieben wird, kann der Arbeitsspeicher 704 mindestens ein Programmprodukt mit einem Satz (z.B. mindestens einem) von Programmmodulen enthalten, die konfiguriert sind, um die Funktionen von Ausführungsformen der Erfindung auszuführen.
  • Das Programm/Dienstprogramm, das einen Satz (mindestens einen) von Programmmodulen 716 aufweist, kann beispielsweise und nicht einschränkend im Arbeitsspeicher 704 gespeichert werden, ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Jedes der Betriebssysteme, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine Kombination davon können eine Umsetzung einer Netzwerkumgebung umfassen. Die Programmmodule 716 führen im Allgemeinen die Funktionen und/oder Methodiken von Ausführungsformen der Erfindung aus, wie hierin beschrieben wird.
  • Das Computersystem/der Server 700 kann auch mit einer oder mehreren externen Einheiten 718 Daten austauschen, wie zum Beispiel einer Tastatur, einer Zeigeeinheit, einer Anzeige 720 usw.; einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem/Server 700 in Wechselbeziehung zu treten; und/oder allen Einheiten (z.B. Netzwerkkarte, Modem usw.), die es dem Computersystem/Server 700 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über Eingabe-/Ausgabe- (E/A) Schnittstellen 714 erfolgen. Weiterhin kann das Computersystem/der Server 700 mit einem oder mehreren Netzwerken, wie beispielsweise einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetzwerk (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet), über einen Netzwerkadapter 722 Daten austauschen. Wie dargestellt, kann der Netzwerkadapter 722 mit den anderen Komponenten des Computersystems/Servers 700 über den Bus 706 Daten austauschen. Es sollte klar sein, obwohl nicht gezeigt, dass andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 700 verwendet werden könnten. Zu Beispielen gehören Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerk-Arrays, RAID- (Redundant Array of Independent Disks) Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw., sie sind aber nicht darauf beschränkt.
  • Außerdem kann ein Objekterkennungssystem 600 zum Verbessern einer Objekterkennung in hochauflösenden Bildern zu einer Inferenzzeit mit einem Bussystem (z.B. dem Bus 706) verbunden werden.
  • Die hierin beschriebenen Programme werden auf Grundlage der Anwendung identifiziert, für die sie in einer bestimmten Ausführungsform der Erfindung umgesetzt werden. Es sollte jedoch klar sein, dass jede bestimmte Programm-Nomenklatur hierin aus rein praktischen Gründen verwendet wird, und die Erfindung somit nicht allein auf die Verwendung in einer bestimmten identifizierten Anwendung und/oder durch eine derartige Nomenklatur umgesetzt eingeschränkt sein soll.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailintegrationsebene handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) enthalten, auf dem durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zum Ausführen von Anweisungen beibehalten und speichern kann. Das durch einen Computer lesbare Speichermedium kann zum Beispiel eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiter-Speichereinheit oder jede geeignete Kombination aus dem Vorgenannten sein, es ist aber nicht darauf beschränkt. Zu einer nicht erschöpfenden Liste von spezifischeren Beispielen des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer CD-ROM, eine DVD, ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination des Vorgenannten. Ein durch einen Computer lesbares Speichermedium soll, wie hierin verwendet, nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch jeden Typ von Netzwerk verbunden werden, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Veranschaulichungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es sollte klar sein, dass jeder Block der Ablaufplanveranschaulichungen und/oder der Blockschaubilder und Kombinationen von Blöcken in den Ablaufplanveranschaulichungen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen umgesetzt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können für einen Prozessor eines Computers oder eine andere programmierbare Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. eine andere programmierbare Datenverarbeitungsvorrichtung ausgeführten Anweisungen Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte erstellen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, die Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Arbeitsschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder den Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Umsetzen der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Umsetzungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt auftreten. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich als ein Schritt durchgeführt werden, der gleichzeitig, im Wesentlichen gleichzeitig, in einer teilweise oder vollständig zeitlich überlappenden Weise ausgeführt wird, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, was von der beteiligten Funktionalität abhängt. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellungen sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die angegebenen Funktionen oder Handlungen durchführen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zweck der Veranschaulichung erstellt, sie sollen aber keineswegs erschöpfend oder auf die offenbarten Ausführungsformen eingeschränkt sein. Für Fachleute sind viele Modifizierungen und Variationen offenkundig, die nicht von dem Schutzumfang und Erfindungsgedanken der Erfindung abweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsform, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt gefundenen Technologien bestmöglich zu erklären oder anderen Fachleuten das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.
  • Die hierin verwendete Terminologie dient nur zum Zweck der Beschreibung von bestimmten Ausführungsformen und soll die Erfindung keinesfalls einschränken. Die hierin verwendeten Singularformen „ein“, „eine“ und „der/die/das“ sollen auch die Pluralformen mit einschließen, es sei denn, der Kontext gibt eindeutig anderes vor. Es versteht sich des Weiteren, dass die Begriffe „weist auf“ und/oder „aufweisend“ bei Verwendung in dieser Patentschrift das Vorhandensein ausgewiesener Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente und/oder Komponenten angeben, das Vorhandensein oder die Hinzufügung von einem oder mehreren anderen Merkmalen, Ganzzahlen, Schritten, Vorgängen, Elementen, Komponenten und/oder Gruppen davon aber nicht ausschließen.
  • Die entsprechenden Strukturen, Materialien, und Entsprechungen aller Mittel oder Schritte-plus-Funktion-Elemente in den nachstehenden Ansprüchen sollen alle Strukturen, Materialien oder Handlungen zum Ausführen der Funktion in Kombination mit anderen beanspruchten Elementen enthalten, wie speziell beansprucht. Die Beschreibung der vorliegenden Erfindung wurde zum Zweck der Veranschaulichung und Beschreibung erstellt, sie soll aber keineswegs erschöpfend oder auf die offenbarte Form der Erfindung eingeschränkt sein. Für Fachleute sind viele Modifizierungen und Variationen offenkundig, die nicht von dem Schutzumfang und Erfindungsgedanken der Erfindung abweichen. Die Ausführungsformen wurden ausgewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung am besten zu erklären und es anderen Fachleuten zu ermöglichen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Modifizierungen zu verstehen, die für die vorgesehene bestimmte Verwendung geeignet sind.

Claims (17)

  1. Verfahren, aufweisend: Empfangen, durch einen oder mehrere Prozessoren, eines hochauflösenden Bilds; Zerlegen, durch einen oder mehrere Prozessoren, des empfangenen Bilds in hierarchisch organisierte Schichten von Bildern, wobei jede Schicht mindestens eine Bildkachel des empfangenen Bilds aufweist, und wobei jede der Bildkacheln eine entsprechende Auflösung hat, die für einen grundlegenden Erkennungsalgorithmus eines Bilds geeignet ist; Anwenden, durch einen oder mehrere Prozessoren, des grundlegenden Algorithmus auf jede der Bildkacheln jeder Schicht; und Ausführen, durch einen oder mehrere Prozessoren, einer Ergebnisaggregation von Ergebnissen der grundlegenden Algorithmusanwendungen auf die Bildkacheln der Schichten.
  2. Verfahren nach Anspruch 1, wobei das Ausführen der Ergebnisaggregation von Ergebnissen der grundlegenden Algorithmusanwendungen auf die Bildkacheln der Schichten ferner aufweist: Aggregieren, durch einen oder mehrere Prozessoren, von Ergebnissen des grundlegenden Algorithmus pro Schicht; Ausführen, durch einen oder mehrere Prozessoren, eines paarweisen Schichtvergleichs von Ergebnissen des grundlegenden Algorithmus mit angrenzenden paarweisen Schichten; und Ausführen, durch einen oder mehrere Prozessoren, einer hierarchischen Aggregation der Ergebnisse des grundlegenden Algorithmus, die von dem paarweisen Vergleich abhängen.
  3. Verfahren nach Anspruch 2, wobei das Ausführen der Ergebnisaggregation von Ergebnissen der grundlegenden Algorithmusanwendungen auf die Bildkacheln der Schichten ferner aufweist: Extrahieren, durch einen oder mehrere Prozessoren, eines Polygons, das eine Form eines erkannten Objekts encodiert; und Zuordnen, durch einen oder mehrere Prozessoren, von lokalen Polygonkoordinaten, die für die Bildkacheln verwendet werden, zu globalen Koordinaten, die für die Bildkachel mit der höchsten entsprechenden Auflösung verwendet werden, wobei Formen von Polygonen von Ergebnissen des grundlegenden Algorithmus mit einer höheren Auflösung komprimiert werden, sodass die komprimierten Formen mit Formen in Kacheln mit einer niedrigeren Auflösung vergleichbar sind.
  4. Verfahren nach Anspruch 3, das ferner aufweist: Beseitigen, durch einen oder mehrere Prozessoren, von überlappenden Bereichen zwischen angrenzenden Bildkachelbegrenzungen einer jeweiligen Schicht; und Zusammenführen, durch einen oder mehrere Prozessoren, eines erkannten Teilobjekts der angrenzenden Kacheln in ein erkanntes Objekt.
  5. Verfahren nach Anspruch 4, wobei ein Ausführen eines paarweisen Schichtvergleichs ferner aufweist: Vergleichen, durch einen oder mehrere Prozessoren, von komprimierten in Zusammenhang stehenden Formen von Bildkacheln von angrenzenden Schichten; und Aufbauen, durch einen oder mehrere Prozessoren, einer Überschneidung von Formen auf Grundlage des Vergleichs der komprimierten in Zusammenhang stehenden Formen, wobei N Zwischenbildschichten gebildet werden, wobei N um 1 kleiner als die Anzahl von hierarchisch organisierten Schichten ist.
  6. Verfahren nach Anspruch 5, wobei das Ausführen einer hierarchischen Aggregation ferner aufweist: Aufbauen, durch einen oder mehrere Prozessoren, einer pixelweisen Vereinigung aller N Zwischenbildschichten, wobei ein endgültiges Bild mit einer Auflösung aufgebaut wird, die der Auflösung des empfangenen hochauflösenden Bilds entspricht, das ein Polygon umfasst, das das erkannte Objekts umschließt.
  7. Verfahren nach Anspruch 1, wobei die Ergebnisse des grundlegenden Algorithmus mindestens eines aus der Gruppe aufweisen, die aus einer Klasse eines erkannten Elements, einem Begrenzungsfeld, das ein identifiziertes Objekt in einer Bildkachel umgibt, und einer Maske besteht, die durch ein Polygon dargestellt wird, das eine Form des erkannten Objekts in der Bildkachel umschließt.
  8. Verfahren nach Anspruch 1, wobei der grundlegende Algorithmus ein Masken-R-CNN- (neuronales Faltungsnetzwerk auf Bereichsgrundlage) Algorithmus oder ein schneller R-CNN-Algorithmus ist.
  9. Verfahren nach Anspruch 1, wobei die Auflösung, die für einen grundlegenden Bilderkennungsalgorithmus geeignet ist, aus der Gruppe ausgewählt wird, die aus 224 x 224 Pixeln, 512 x 512 Pixeln, 800 x 800 Pixeln und 1024 x 800 Pixeln besteht.
  10. Verfahren nach Anspruch 1, wobei der grundlegende Algorithmus vorab geschult wird, sodass ein neuronales Netzwerkmodell für Inferenzaufgaben für eine Objekterkennung gebildet worden ist.
  11. Verfahren nach Anspruch 1, wobei das zu erkennende Objekt ein Materialfehler ist.
  12. Computerprogrammprodukt, das aufweist: ein oder mehrere durch einen Computer lesbare Speichermedien und Programmanweisungen, die auf dem einen oder den mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, wobei die Programmanweisungen aufweisen: Programmanweisungen, um ein hochauflösendes Bild zu empfangen; Programmanweisungen, um das empfangene Bild in hierarchisch organisierte Schichten von Bildern zu zerlegen, wobei jede Schicht mindestens eine Bildkachel des empfangenen Bilds aufweist, und wobei jede der Bildkacheln eine entsprechende Auflösung hat, die für einen grundlegenden Bilderkennungsalgorithmus geeignet ist; Programmanweisungen, um den grundlegenden Algorithmus auf jede der Bildkacheln jeder Schicht anzuwenden; und Programmanweisungen, um eine Ergebnisaggregation von Ergebnissen der grundlegenden Algorithmusanwendungen auf die Bildkacheln der Schichten auszuführen.
  13. Computersystem, das aufweist: einen oder mehrere Computerprozessoren; ein oder mehrere durch einen Computer lesbare Speichermedien; und Programmanweisungen, die auf den durch einen Computer lesbaren Speichermedien zur Ausführung durch mindestens einen von dem einen Prozessor oder den mehreren Prozessoren gespeichert sind, wobei die Programmanweisungen aufweisen: Programmanweisungen, um ein hochauflösendes Bild zu empfangen; Programmanweisungen, um das empfangene Bild in hierarchisch organisierte Schichten von Bildern zu zerlegen, wobei jede Schicht mindestens eine Bildkachel des empfangenen Bilds aufweist, und wobei jede der Bildkacheln eine entsprechende Auflösung hat, die für einen grundlegenden Bilderkennungsalgorithmus geeignet ist; Programmanweisungen, um den grundlegenden Algorithmus auf jede der Bildkacheln jeder Schicht anzuwenden; und Programmanweisungen, um eine Ergebnisaggregation von Ergebnissen der grundlegenden Algorithmusanwendungen auf die Bildkacheln der Schichten auszuführen.
  14. Computersystem nach Anspruch 13, wobei die Programmanweisungen zum Ausführen der Ergebnisaggregation von Ergebnissen der grundlegenden Algorithmusanwendungen auf die Bildkacheln der Schichten ferner Programmanweisungen aufweisen zum: Aggregieren von Ergebnissen des grundlegenden Algorithmus pro Schicht; Ausführen eines paarweisen Schichtvergleichs von Ergebnissen des grundlegenden Algorithmus mit angrenzenden paarweisen Schichten; und Ausführen einer hierarchischen Aggregation der Ergebnisse des grundlegenden Algorithmus, abhängig von dem paarweisen Vergleich.
  15. Computersystem nach Anspruch 14, wobei die Programmanweisungen zum Ausführen der Ergebnisaggregation von Ergebnissen der grundlegenden Algorithmusanwendungen auf die Bildkacheln der Schichten ferner Programmanweisungen aufweisen zum: Extrahieren eines Polygons, das eine Form eines erkannten Objekts encodiert; und Zuordnen von lokalen Polygonkoordinaten, die für die Bildkacheln verwendet werden, zu globalen Koordinaten, die für die Bildkachel mit der höchsten entsprechenden Auflösung verwendet werden, wobei Formen von Polygonen von Ergebnissen des grundlegenden Algorithmus mit einer höheren Auflösung komprimiert werden, sodass die komprimierten Formen mit Formen in Kacheln mit einer niedrigeren Auflösung vergleichbar sind.
  16. Computersystem nach Anspruch 13, wobei der grundlegende Algorithmus ein Masken-R-CNN- (neuronales Faltungsnetzwerk auf Bereichsgrundlage) Algorithmus oder ein schneller R-CNN-Algorithmus ist.
  17. Computersystem nach Anspruch 13, wobei das zu erkennende Objekt ein Materialfehler ist.
DE102021128523.2A 2020-12-07 2021-11-03 Hierarchische bildzerlegung zur defekterkennung Pending DE102021128523A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/113,672 US11748865B2 (en) 2020-12-07 2020-12-07 Hierarchical image decomposition for defect detection
US17/113,672 2020-12-07

Publications (1)

Publication Number Publication Date
DE102021128523A1 true DE102021128523A1 (de) 2022-06-09

Family

ID=79163993

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021128523.2A Pending DE102021128523A1 (de) 2020-12-07 2021-11-03 Hierarchische bildzerlegung zur defekterkennung

Country Status (5)

Country Link
US (1) US11748865B2 (de)
JP (1) JP2022090633A (de)
CN (1) CN114596252A (de)
DE (1) DE102021128523A1 (de)
GB (1) GB2602880B (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102595278B1 (ko) * 2020-12-29 2023-10-27 부산대학교 산학협력단 표면결함검출 스캐너를 위한 이미지 데이터 저장 장치 및 방법
JP2024077442A (ja) 2022-11-28 2024-06-07 富士通株式会社 対象検出プログラム、装置、及び機械学習モデル生成方法
CN117953277A (zh) * 2024-01-07 2024-04-30 鹤山市鑫博鞋业有限公司 一种鞋体表面瑕疵在线检测方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050131660A1 (en) * 2002-09-06 2005-06-16 Joseph Yadegar Method for content driven image compression
US9396514B2 (en) 2012-08-23 2016-07-19 Pixia Corp. Method and system for storing and retrieving wide-area motion imagery frames as objects on an object storage device
CN103235949B (zh) 2013-04-12 2016-02-10 北京大学 图像兴趣点检测方法和装置
TWI797699B (zh) * 2015-12-22 2023-04-01 以色列商應用材料以色列公司 半導體試樣的基於深度學習之檢查的方法及其系統
WO2018165753A1 (en) 2017-03-14 2018-09-20 University Of Manitoba Structure defect detection using machine learning algorithms
GB201704373D0 (en) 2017-03-20 2017-05-03 Rolls-Royce Ltd Surface defect detection
US10679351B2 (en) 2017-08-18 2020-06-09 Samsung Electronics Co., Ltd. System and method for semantic segmentation of images
US10607119B2 (en) 2017-09-06 2020-03-31 Kla-Tencor Corp. Unified neural network for defect detection and classification
CN109284669A (zh) 2018-08-01 2019-01-29 辽宁工业大学 基于Mask RCNN的行人检测方法
US11321873B1 (en) * 2019-02-04 2022-05-03 Amazon Technologies, Inc. Calibrating and detecting vibration of stereo ranging systems
US11113969B2 (en) * 2019-03-07 2021-09-07 Toyota Jidosha Kabushiki Kaisha Data-to-camera (D2C) based filters for improved object detection in images based on vehicle-to-everything communication
CN111401122B (zh) 2019-12-27 2023-09-26 航天信息股份有限公司 一种基于知识分类的复杂目标渐近识别方法及装置
CN111191714A (zh) 2019-12-28 2020-05-22 浙江大学 桥梁外观损伤病害智能识别方法

Also Published As

Publication number Publication date
US11748865B2 (en) 2023-09-05
GB2602880B (en) 2023-01-11
JP2022090633A (ja) 2022-06-17
GB2602880A (en) 2022-07-20
CN114596252A (zh) 2022-06-07
US20220180497A1 (en) 2022-06-09
GB202116711D0 (en) 2022-01-05

Similar Documents

Publication Publication Date Title
DE102021128523A1 (de) Hierarchische bildzerlegung zur defekterkennung
DE102018008161A1 (de) Detektieren von Objekten unter Nutzung eines schwach überwachten Modells
DE112020002213T5 (de) Ermittlung von Bildeffekten
DE112016004535T5 (de) Universelles Übereinstimmungsnetz
DE102019007196A1 (de) Identifizieren von Zielobjekten unter Nutzung der skalierungsdiversen Segmentierung dienender neuronaler Netzwerke
DE112020000279T5 (de) Erlernen eines erkennungsmodells unter verwenden einer verlustfunktion
DE112018001587T5 (de) Verfahren zur schätzung von operationen eines arbeitsfahrzeugs, system, verfahren zur erzeugung eines trainierten klassifikationsmodells, trainingsdaten und verfahren zur erzeugung von trainingsdaten
DE602004008471T2 (de) Verfahren und anordnung zur bestimmung einer objektkontur
EP2920741B1 (de) Verfahren und vorrichtung zur bildgestützten landebahnlokalisierung
EP0780002A1 (de) Verfahren zur rekonstruktion von in rasterform vorliegenden linienstrukturen
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE112012004809T5 (de) Kantenverfolgung mit Hysterese-Schwellenwertbildung
DE112021000392T5 (de) Leistungsfähiges kommentieren der grundwahrheit
DE112020005732T5 (de) Erzeugen von trainingsdaten zur objekterkennung
DE102022105471A1 (de) Generieren von modifizierten Digitalbildern unter Einsatz von tiefen visuellen angeleiteten Patchabgleichsmodellen zur Bildwiederherstellung
DE112019002848T5 (de) System und verfahren zum auffinden und klassifizieren von mustern in einem bild mit einem bildverarbeitungssystem
DE102021201124A1 (de) Trainieren von bildklassifizierernetzen
DE112021002453T5 (de) Iteratives trainieren eines modells für maschinelles lernen
DE112021006280T5 (de) Generieren von daten auf grundlage von vorab trainierten modellen unter verwendung generierender konkurrierender modelle
DE102018217091A1 (de) Verfahren, künstliches neuronales Netz, Vorrichtung, Computerprogramm und maschinenlesbares Speichermedium zur semantischen Segmentierung von Bilddaten
DE102012005325A1 (de) Maschinelles Bilderkennungsverfahren basierend auf einem Kl-System
DE112021000371T5 (de) Digitale bildbearbeitung
DE102016223034A1 (de) Nutzung von farbe zur erkennung von nummernschildern
DE102022110889A1 (de) Halbüberwachtes training grober labels bei bildsegmentierung
EP2064672A2 (de) Verfahren und vorrichtung zur bildverarbeitung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009000000

Ipc: G06V0010000000

R084 Declaration of willingness to licence