-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung betrifft das Gebiet der Bildverarbeitung und insbesondere ein Verarbeitungsverfahren und eine Verarbeitungseinrichtung zum Segmentieren eines spezifischen Objekts in einem Bild.
-
STAND DER TECHNIK
-
Das Segmentieren von Bildern ist eine wichtige Aufgabe in der Wissenschaft der Bildverarbeitung. Faltende neuronale Netzwerke sind ein wichtiges Werkzeug für die Bildsegmentierung. Für große Objekte in Bildern kann eine Faltung mit einer einzelnen Schicht jedoch nur ein lokales Sichtfeld wahrnehmen. Um ein größeres Sichtfeld wahrzunehmen, ist es nur notwendig, mehrere Faltungsschichten zu stapeln, was zu einer niedrigen Effizienz führt.
-
KURZFASSUNG DER ERFINDUNG
-
Angesichts dessen stellt die vorliegende Offenbarung ein Bildverarbeitungsverfahren und eine Bildverarbeitungseinrichtung bereit.
-
Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung umfasst ein Bildverarbeitungsverfahren zum Segmentieren eines Eingangsbildes: Erhalten des Eingangsbildes; Verwenden eines Bildsegmentierungsmodells, um das Eingangsbild zu verarbeiten; und Ausgeben eines verarbeiteten Ausgangsbildes, wobei das Bildsegmentierungsmodell ein erstes faltendes neuronales Netzwerk ist, das mit einem Globalmerkmalserfassungsmodul eingebettet ist, und das Globalmerkmalserfassungsmodul zwischen einer Faltungsschicht und einer Pooling-Schicht des ersten faltenden neuronalen Netzwerks eingebettet ist.
-
Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung ist das erste faltende neuronale Netzwerk ein U-förmiges faltendes neuronales Netzwerk, das aus einer Downsampling-Schicht und einer Upsampling-Schicht besteht.
-
Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung bildet das Globalmerkmalserfassungsmodul ein Merkmal von einem Koordinatenraum auf einen Interaktionsraum ab, verwendet ein Graphen-Faltungsnetzwerk zur weiteren Inferenz, um ein globales Merkmal zu erhalten, und bildet es schließlich zurück auf den Koordinatenraum ab.
-
Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung ist das Globalmerkmalserfassungsmodul eine GloRe-Einheit.
-
Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung ist das U-förmige faltende neuronale Netzwerk ein UNet-Modell, und die Subsampling-Schicht des Bildsegmentierungsmodells besteht aus fünf Faltungsschichtgruppen und einer GloRe-Einheit, wobei die GloRe-Einheit zwischen einer ersten Faltungsschichtgruppe und einer zweiten Faltungsschichtgruppe eingefügt ist.
-
Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung umfasst das Verfahren vor dem Erhalten des Eingangsbildes ferner: Erhalten eines ersten Bildes; Skalieren des ersten Bildes, um ein zweites Bild zu erhalten; und Durchführen einer Blockteilungsoperation am zweiten Bild unter Verwendung eines gleitenden Fensters, um mehrere Eingangsbilder zu erhalten, und wobei das Verfahren nach dem Erhalten des Ausgangsbildes ferner umfasst: Zusammenfügen von Ausgangsbildern, die von jedem Eingangsbild erhalten werden, um ein segmentiertes Bild zu erhalten.
-
Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung ist eine Bildverarbeitungseinrichtung dadurch gekennzeichnet, dass sie Folgendes umfasst:
- mindestens einen Prozessor; und ein Computerspeichermedium, das ein Computerprogramm speichert, das bei Ausführung durch den mindestens einen Prozessor das Verfahren in der beispielhaften Ausführungsform der vorliegenden Offenbarung implementiert.
-
Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung speichert ein computerlesbares Speichermedium ein Computerprogramm, wobei das Computerprogramm das Verfahren in der beispielhaften Ausführungsform der vorliegenden Offenbarung implementiert, wenn es durch einen Prozessor ausgeführt wird.
-
Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung umfasst ein Computerprogrammprodukt ein Computerprogramm, wobei das Computerprogramm das Verfahren in der beispielhaften Ausführungsform der vorliegenden Offenbarung implementiert, wenn es durch einen Prozessor ausgeführt wird.
-
Gemäß dem in der vorliegenden Offenbarung bereitgestellten Bildverarbeitungsverfahren kann ein größeres Objekt in einem Bild effektiv segmentiert werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Bevorzugte Ausführungsformen der vorliegenden Offenbarung werden unten mit Bezug auf die Zeichnungen ausführlich beschrieben, wodurch Durchschnittsfachleute auf dem Gebiet ein klareres Verständnis des Obigen und anderer Merkmale und Vorteile der vorliegenden Offenbarung erhalten. In den Zeichnungen gilt:
- 1 ist ein Flussdiagramm eines beispielhaften Verfahrens zur Detektion von Metalloberflächendefekten basierend auf semantischer Segmentierung mit eingebetteter Graphen-Faltung in der vorliegenden Offenbarung;
- 2 ist ein Teil von vorverarbeiteten Datensamples in einer beispielhaften Ausführungsform der vorliegenden Offenbarung;
- 3 ist ein schematisches Diagramm eines Graphen-Faltungs-GloRe-Verfahrens in einer beispielhaften Ausführungsform der vorliegenden Offenbarung;
- 4 ist ein UNet-Netzwerkmodelldiagramm basierend auf eingebetteter Graphen-Faltung in einer beispielhaften Ausführungsform der vorliegenden Offenbarung; und
- 5 ist ein Diagramm eines Teils von Defektvorhersageergebnissen in einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
Um die Zielsetzungen, technischen Lösungen und Vorteile der vorliegenden Offenbarung deutlicher zu machen, wird die vorliegende Offenbarung nachfolgend ferner ausführlich mittels Ausführungsformen beschrieben. Es sollte verstanden werden, dass die ausführliche Beschreibung der Erfindung hier nur beschrieben ist, um die vorliegende Offenbarung zu veranschaulichen und zu erläutern, und die vorliegende Offenbarung nicht beschränken soll.
-
In einer beispielhaften Ausführungsform umfasst ein Bildverarbeitungsverfahren zum Segmentieren eines Eingangsbildes der vorliegenden Offenbarung: Erhalten des Eingangsbildes; Verwenden eines Bildsegmentierungsmodells, um das Eingangsbild zu verarbeiten; und Ausgeben eines verarbeiteten Ausgangsbildes, wobei das Bildsegmentierungsmodell ein erstes faltendes neuronales Netzwerk ist, das mit einem Globalmerkmalserfassungsmodul eingebettet ist, und das Globalmerkmalserfassungsmodul zwischen einer Faltungsschicht und einer Pooling-Schicht des ersten faltenden neuronalen Netzwerks eingebettet ist. Es ist wichtig, das Globalmerkmalserfassungsmodul hinzuzufügen, das das Problem des kleinen Sichtfeldes jeder Faltungsschicht des faltenden neuronalen Netzwerks überwinden kann und die Segmentierung von größeren Objekten effizient absolvieren kann, wodurch das Stapeln von mehreren Faltungsschichten, um ein größeres Sichtfeld zu erhalten, vermieden wird. Hier ist es wichtig, das Globalmerkmalserfassungsmodul zwischen der Faltungsschicht und der Pooling-Schicht einzufügen, sodass globale Informationen vor dem Pooling erhalten werden. Es kann viele Arten von globalen Erfassungsmodulen geben, solange sie die Beziehung zwischen Modulen erfassen können, was zum Erhalten von globalen Informationen hilfreich ist.
-
In einer beispielhaften Ausführungsform ist das erste faltende neuronale Netzwerk ein U-förmiges faltendes neuronales Netzwerk, das aus einer Downsampling-Schicht und einer Upsampling-Schicht besteht. Das U-förmige faltende neuronale Netzwerk beinhaltet Prozesse zum Codieren (Downsampling) und Decodieren (Upsampling), um schließlich eine Feature-Map (Merkmalskarte) zu erhalten. Während des Codierungsprozesses wird das Bild allmählich gefaltet und gepoolt, um die Feature-Map zu erhalten, und dann umgekehrt decodiert, um schließlich ein Schwarzweißbild mit der gleichen Größe wie das ursprüngliche Bild zu bilden, das verwendet wird, um unterschiedliche Objekte zu unterscheiden und ein segmentiertes Bild zu erhalten. Als ein Beispiel kann ein UNet-Modell verwendet werden. Natürlich kann das UNet-Modell auch mit Modellen wie etwa DeeplabV3 und DeeplabV3+ ersetzt werden. Das UNet-Modell hat die Vorteile der Einfachheit, hohen Effizienz, schnellen Inferenzgeschwindigkeit, einfachen Konstruktion usw., sodass die Modellbereitstellung einfacher und die Überwachung schneller ist.
-
In einer beispielhaften Ausführungsform bildet das Globalmerkmalserfassungsmodul ein Merkmal von einem Koordinatenraum auf einen Interaktionsraum ab, verwendet ein Graphen-Faltungsnetzwerk zur weiteren Inferenz, um ein globales Merkmal zu erhalten, und bildet es schließlich zurück auf den Koordinatenraum ab. Als ein Beispiel kann eine GloRe-Einheit verwendet werden. Die Grundidee liegt darin, die Graphen-Faltungs-GloRe-Einheit zu verwenden, um ein Interessensmerkmal vom Koordinatenraum in den Interaktionsraum zu projizieren, eine relationale Inferenz durchzuführen und dann zu dem ursprünglichen Koordinatenraum zurückzukehren. Auf diese Weise kann eine relationale Inferenz in der frühen Stufe des Netzwerkmodells durchgeführt werden. Andere Plug-ins, die globale Merkmale erhalten können, sind auch möglich, solange sie die Beziehung zwischen verschiedenen Teilen in diesem Schritt erhalten können. In einer beispielhaften Ausführungsform ist das U-förmige faltende neuronale Netzwerk ein UNet-Modell. Das UNet-Modell ist besonders für kleine Datensätze effektiv und kann weniger Samples für das Training verwenden. Die Downsampling-Schicht des Bildsegmentierungsmodells besteht aus fünf Faltungsschichtgruppen und einer GloRe-Einheit, wobei die GloRe-Einheit zwischen einer ersten Faltungsschichtgruppe und einer zweiten Faltungsschichtgruppe eingefügt ist. Die Einfügung hier kann das globale Merkmal zu einem früheren Zeitpunkt erhalten. Natürlich ist auch eine Einfügung zwischen anderen Schichten möglich. Wo die Einfügung stattfinden soll, hängt von der spezifischen Form des Netzwerks und den Charakteristiken des erkannten Objekts ab.
-
In einer beispielhaften Ausführungsform beinhaltet jede Faltungsschichtgruppe zwei Faltungsschichten und eine Pooling-Schicht, und die Anzahl von Kanälen wird jedes Mal verdoppelt wird, wenn Downsampling durchgeführt. Die Anzahl hier ist ein Beispiel, und andere Anzahlen von Faltungsschichten sind auch möglich. Sie wird gemäß tatsächlichen Situationen ausgewählt.
-
In einer beispielhaften Ausführungsform umfasst das Verfahren vor dem Erhalten des Eingangsbildes ferner: Erhalten eines ersten Bildes; Skalieren des ersten Bildes, um ein zweites Bild zu erhalten; und Durchführen einer Blockteilungsoperation am zweiten Bild unter Verwendung eines gleitenden Fensters, um mehrere Eingangsbilder zu erhalten, und wobei das Verfahren nach dem Erhalten des Ausgangsbildes ferner umfasst: Zusammenfügen von Ausgangsbildern, die von jedem Eingangsbild erhalten werden, um ein segmentiertes Bild zu erhalten. Hier wird das Bild zuerst vorverarbeitet, und das vorverarbeitete Bild wird skaliert, um anschließende Operationen zu erleichtern. Für ein größeres Bild wird in dieser Ausführungsform zuerst eine Blockteilung durchgeführt, wobei jeder Block separat verarbeitet wird, und dann werden die Blöcke zusammengefügt, um ein finales segmentiertes Bild zu erhalten.
-
In einer beispielhaften Ausführungsform, insbesondere mit Bezug auf 1, wird das Bildverarbeitungsverfahren bei dem technischen Gebiet der Bildverarbeitung von Metalloberflächen angewendet, das heißt, semantische Segmentierung basierend auf eingebetteter Graphen-Faltung wird verwendet, um Defekte auf einer Metalloberfläche zu detektieren. Beim Fertigungsprozess von Metallmaterialien (wie etwa Aluminiumprofilen, Stahlprodukten, Schienen, Metallteilen usw.) können verschiedene Unsicherheitsfaktoren zufällige Defekte auf den Oberflächen der Materialien verursachen. Übliche Defekte beinhalten Kratzer, Embossing-Puder, Schmutzstellen, Ölrückstände usw. Das Vorhandensein dieser Defekte beeinträchtigt nicht nur das Aussehen von Metallmaterialien, sondern beeinträchtigt auch die normale Verwendung dieser Materialien. Einige Defekte werden zu der Reduzierung der Produktqualitäten führen und den wirtschaftlichen Nutzen von Unternehmen direkt beeinträchtigen. Daher spielt die Detektion von Defekten in Metallmaterialien eine wichtige Rolle bei der Produktion von Metallmaterialien. Gegenwärtig verwenden die meisten Unternehmen zur Fertigung von Metallmaterialen noch manuelle Detektionsverfahren, die ineffizient sind und schlechte Stabilität aufweisen und zu verpassten Detektionen, falschen Detektionen usw. neigen. Mit der breiten Anwendung von Deep-Learning-Technologie kann ein intelligentes Defektdetektionsverfahren basierend auf einem tiefen neuronalen Netzwerkmodell, aufgrund seiner Robustheit in der Detektionsleistungsfähigkeit, der Charakteristik, nicht durch subjektive Faktoren beeinträchtigt zu werden, und anderen Charakteristiken, eine hohe und stabile Detektion für eine lange Zeit aufrechterhalten.
-
In praktischen Anwendungen weist das aktuelle Verfahren zur Detektion von Metalloberflächendefekten basierend auf Deep Learning weiterhin die folgenden Probleme auf. (1) Das Training des Detektionsmodells erfordert gewöhnlich eine große Anzahl von Defektbildsamples. Bei der tatsächlichen Fertigung sind Bilddatensätze zur industriellen Defektdetektion häufig relativ wenig und nicht leicht zu erhalten. Die große Differenz in der Anzahl von Defektsamples von unterschiedlichen Kategorien wird zu unausgeglichenen Trainingsdaten zwischen verschiedenen Kategorien von Samples führen. Zusätzlich sind die Kosten des Labelns einer großen Anzahl von Defektbildern relativ hoch. (2) Für die Detektion von einigen großen Defekten wird gewöhnlich ein größeres rezeptives Feld während des Modelltrainings benötigt. Eine einschichtige Faltungsschicht kann nur ein lokales rezeptives Feld erhalten. Um ein größeres rezeptives Feld zum Erfassen der Beziehung zwischen entfernten Regionen zu erhalten, ist es nur möglich, mehrere Faltungsschichten zu stapeln, was sehr ineffizient ist.
-
Faltungsnetzwerke sind gut darin, lokale Beziehungen über Faltungsberechnungen zu erfassen, aber wenn globale Beziehungen mit weiter Entfernung erfasst werden müssen, sind sie gewöhnlich ineffizient und erfordern das Stapeln mehrerer Faltungsschichten. Eine beispielhafte Ausführungsform der vorliegenden Offenbarung verwendet ein Verfahren zur Detektion von Metalloberflächendefekten basierend auf semantischer Segmentierung mit eingebetteter Graphen-Faltung. Die Grundidee liegt darin, eine Graphen-Faltungs-GloRe-Einheit zu verwenden, um ein Interessensmerkmal von einem Koordinatenraum in einen Interaktionsraum für relationale Inferenz zu projizieren und es dann zu dem ursprünglichen Koordinatenraum zurückzuführen, sodass eine relationale Inferenz bei einer frühen Stufe des Netzwerkmodells durchgeführt werden kann.
-
Bei dem beispielhaften Prozess in 1, mit einem Aluminiumprofil-Datensatz als ein Beispiel, umfasst das Verfahren die folgenden Schritte:
- S1: In Schritt 1 weist der experimentelle Datensatz insgesamt 87 Bilder von Aluminiumprofilen auf. Zuerst werden 78 ursprüngliche Bilder von Aluminiumprofilen zufällig ausgewählt und vorverarbeitet. Insbesondere wird jedes Bild separat skaliert, um die Bildgröße zu reduzieren; das skalierte Bild wird gelabelt, um ein gelabeltes Bild zu erhalten, das heißt, defekte Pixel werden von einem Hintergrundpixel unterschieden; und ein Verfahren mit gleitendem Fenster wird verwendet, um eine überlappende Blockteilungsoperation an dem skalierten Bild und seinem entsprechenden gelabelten Bild durchzuführen. Nach der Vorverarbeitung werden insgesamt 2730 Teilbilder und ihre entsprechenden gelabelten Teilbilder erhalten. Ein Teil von vorverarbeiteten Datensamples sind in 2 gezeigt, wobei Spalte a in 2 Teilbilder repräsentiert und Spalte b gelabelte Bilder entsprechend den Teilbildern repräsentiert. In 2 sind eine erste Reihe von Bildern „Schmutzstellen“-Bilder, eine zweite Reihe von Bildern sind „Kratzer“-Bilder, eine dritte Reihe von Bildern sind „Klebstoff“-Bilder, eine vierte Reihe von Bildern sind „Embossing-Puder“-Bilder und eine fünfte Reihe von Bildern sind „Ölrückstand“-Bilder. Ein Teil von vorverarbeiteten Teilbildern wird zufällig als ein Trainingssatz ausgewählt, und die verbleibenden Teilbilder werden als ein Verifizierungssatz verwendet, wobei ein Verhältnis zwischen den beiden Sätzen 9:1 ist. Insbesondere sollte bemerkt werden, dass in der dritten Reihe von „Klebstoff“-Bildern Reflexionen und Defekte unterschieden werden, und die Reflexionen nicht als Defekte gelabelt sind, sodass das Modell die Charakteristiken von Defekten akkurat lernen kann.
- S2: In Schritt 2 wird ein UNet-Netzwerkmodell basierend auf einer GloRe-Einheit konstruiert, und der Trainingssatz und der Verifizierungssatz in Schritt 1 werden verwendet, um das Modell zu trainieren, um ein trainiertes verbessertes UNet-Netzwerkmodell zu erhalten.
- S3: In Schritt 3 werden die verbleibenden 9 Bilder unter den 87 Bildern von Aluminiumprofilen vorverarbeitet. Insbesondere wird jedes Bild separat skaliert, um die Bildgröße zu reduzieren; das skalierte Bild wird gelabelt, um ein gelabeltes Bild zu erhalten; und ein Verfahren mit gleitendem Fenster wird verwendet, um eine nicht-überlappende Blockteilungsoperation an dem skalierten Bild durchzuführen. Für jedes Testbild werden mehrere Teilbilder, die nach der Vorverarbeitung erhalten werden, separat in das trainierte Modell als Testsamples eingegeben, um vorhergesagte Ergebnisteilbilder zu erhalten, und schließlich werden die mehreren vorhergesagten Ergebnisteilbilder zusammengefügt, um ein finales Defektvorhersagebild zu erhalten.
-
Die spezifischen Prozesse in den Schritten werden unten ferner ausführlich beschrieben.
-
Der spezifische Prozess zum Skalieren der 78 ursprünglichen Bilder von Aluminiumprofilen in Schritt 1 besteht darin, ein ursprüngliches Aluminiumprofilbild mit einer Größe von 2560 × 1920 auf das 0,5-fache der ursprünglichen Größe zu skalieren, d. h. 1280 × 960.
-
Der spezifische Prozess zum Verwenden eines gleitenden Fensters, um die überlappende Blockteilungsoperation in Schritt 1 durchzuführen, ist wie folgt: ein Regionsfenster mit einer Größe von 640 × 480 wird auf das Bild von 1280 × 960 und sein entsprechendes gelabeltes Bild separat in der Reihenfolge von oben nach unten und von links nach rechts geschoben, um überlappende Bildblöcke zu erhalten, mit beiden Schritten in der Breitenrichtung und Höhenrichtung von 100. Falls die Breite eines geschnittenen Bildblocks kleiner als 640 ist oder die Höhe kleiner als 480 ist, wird der Bildblock verworfen. Nach der separaten Vorverarbeitung der 78 Bilder werden insgesamt 2730 Teilbilder und ihre entsprechenden gelabelten Bilder erhalten.
-
Die in Schritt 2 beschriebene GloRe-Einheit implementiert die Abbildung zwischen dem Koordinatenraum und dem Interaktionsraum durch gewichtetes globales Pooling und führt eine relationale Inferenz im Interaktionsraum durch Graphen-Faltung durch. Mit Bezug auf 3 kann der spezifische Prozess in drei Schritte unterteilt werden:
-
(1) Erster Schritt: vom Koordinatenraum zu dem Interaktionsraum.
-
Angesichts eines Satzes von Eingangsmerkmalen X ∈ R
L×C, wobei C die Dimension der Merkmale ist und L = W × H (wobei W die Breite ist und H die Höhe ist), werden durch das Lernen einer Projektionsfunktion f die ursprünglichen Merkmale auf den Interaktionsraum abgebildet, um neue Merkmale V zu erhalten, die definiert sein können als:
wobei N die Anzahl von Knoten im Interaktionsraum ist.
-
Um die Inferenz direkt an einem Satz von Regionen durchzuführen, wird eine Projektionsfunktion als eine lineare Kombination von ursprünglichen Merkmalen ausgedrückt, sodass die neuen Merkmale Informationen von mehreren Regionen aggregieren können. Spezifisch wird jedes neue Merkmal durch die folgende Formel erzeugt:
wobei B = [b
1, ···,b
N] ∈ R
N×L eine erlernbare Projektionsgewichtung ist, x
j ∈ R
1×C, v
i ∈ R
1×C, i ∈ [1, N] und j ∈ [1, C].
-
Um die Ausgangsdimension zu reduzieren und die Kapazität der Projektionsfunktion zu verbessern, wird X als ϕ(X;W
ϕ) implementiert, B wird als B = θ (X; W
θ) implementiert und ϕ(·) und θ(·) werden durch zwei 1 × 1-Faltungsschichten modelliert, wobei W
ϕ und W
θ erlernbare Gewichtungsparameter für jede Schicht sind, nämlich:
-
(2) Zweiter Schritt: Durchführen einer relationalen Inferenz durch Graphen-Faltung.
-
Nach der Projektion der Merkmale des Koordinatenraums in den Interaktionsraum wird ein Graph erhalten, bei dem jeder Knoten Merkmalsbeschreibungen beinhaltet. Die Merkmale werden als Knoten eines vollständig verbundenen Graphen angesehen, und Graphen-Faltung wird verwendet, um Inferenz an dem vollständig verbundenen Graphen durchzuführen. Die Graphen-Faltung wird ausgedrückt als:
wobei G und A
g Adjazenzmatrizen von N × N zum Propagieren von Informationen an Knoten repräsentieren, W
g eine Zustandsaktualisierungsfunktion repräsentiert, I eine Einheitsmatrix repräsentiert und V neue Merkmale repräsentiert, die von den ursprünglichen Merkmalen auf den Interaktionsraum abgebildet werden. Der Implementierungsprozess davon besteht darin, eine Graphen-Faltungsinferenz durch eine eindimensionale Faltung in eine C-Kanalrichtung und eine Knotenrichtung separat durchzuführen.
-
(3) Dritter Schritt: vom Interaktionsraum zu dem Koordinatenraum.
-
Die Ausgangsmerkmale werden nach der relationalen Inferenz zurück in den ursprünglichen Raum projiziert. Auf diese Weise können die aktualisierten Merkmale nach der Inferenz durch anschließende Faltungsschichten genutzt werden, um bessere Entscheidungen zu treffen. Angesichts einer Knotenmerkmalsmatrix Z ∈ R
N×C werden die Knotenmerkmale durch Lernen einer Rückprojektionsfunktion in Y = g(Z) ∈ R
L×C transformiert. Ähnlich zu dem ersten Schritt wird ein lineares Projektionsverfahren verwendet, um g(Z) auszudrücken:
wobei D = [d
1, ···, d
L] ∈ R
L×N, D als D = B
T implementiert wird, die im ersten Schritt erzeugte Projektion wiederverwendet wird, um die Rechenkosten ohne irgendeine negative Auswirkung auf die finale Genauigkeit zu reduzieren, z
j ∈ R
1×C, y
i ∈ R
1×C, i ∈ [1, L] und j ∈ [1, C].
-
Der Implementierungsprozess vom Interaktionsraum zu dem Koordinatenraum besteht darin, den Ausgang der 1 × 1-Faltung zur Modellierung von θ(·) im ersten Schritt als eine Gewichtung wiederzuverwenden, die Informationen von der Graphen-Faltungsschicht zurück in den ursprünglichen Koordinatenraum zurückzuprojizieren, eine Dimensionserweiterung durchzuführen und dann zu bewirken, dass die Ausgangsdimension durch eine andere 1 × 1-Faltungsschicht mit der Eingangsdimension abgeglichen wird, wodurch ein Residualpfad gebildet wird.
-
Die spezifische Struktur von GloRe ist in 3 gezeigt. Sie besteht aus fünf Faltungen, zwei für Dimensionsverringerung und -erweiterung an Eingangsmerkmal X und Ausgangsmerkmal Y (oben links und unten links), eine zum Erzeugen einer Dualprojektion B eines Koordinatenraums und eines potenziellen Interaktionsraums (oben rechts) und zwei für globale Inferenz basierend auf einem Graphen des Interaktionsraums (zwei in der Mitte an der linken Seite).
-
Das UNet-Modell, das in GloRe in Schritt 2 eingebettet wird, ist eine U-förmige faltende neuronale Netzwerkstruktur, die aus einer Upsampling-Schicht und einer Downsampling-Schicht besteht, wobei die Downsampling-Schicht aus fünf Faltungsschichtgruppen und einer GloRe-Einheit besteht. Die GloRe-Einheit wird zwischen einer ersten Faltungsschichtgruppe und einer zweiten Faltungsschichtgruppe eingefügt, und die Modellstruktur ist in 4 gezeigt. Jede Faltungsschichtgruppe beinhaltet zwei Faltungsschichten und eine Pooling-Schicht. Die Anzahl von Kanälen wird jedes Mal verdoppelt, wenn Downsampling durchgeführt wird. Die Anzahl von Faltungs-Kernels in jeder Schicht der ersten Faltungsschichtgruppe beträgt 64, und die Anzahl von Faltungs-Kernels in jeder Schicht von anderen Faltungsschichtgruppen beträgt der Reihe nach 128, 256, 512 und 1024. Die Pooling-Schicht verwendet Maximum-Pooling mit einem Schritt von 2. Die Upsampling-Schicht besteht aus fünf Faltungsschichtgruppen. Jede Faltungsschichtgruppe beinhaltet eine Upsampling-Operationsschicht und zwei Faltungsoperationsschichten. Die Anzahl von Upsampling-Operationsschichten der fünf Faltungsschichtgruppen beträgt der Reihe nach 1024, 512, 256, 128 und 64, und die Größe jedes Faltungs-Kernels beträgt 2 × 2. Die Anzahl von Faltungs-Kernels in jeder Schicht einer ersten Faltungsschichtgruppe beträgt 1024, die Anzahl von Faltungs-Kernels in jeder Schicht von anderen Faltungsschichtgruppen beträgt der Reihe nach 512, 256, 128 und 64, und die Größe jedes Faltungs-Kernels beträgt 3 × 3.
-
In 4 kann das Netzwerk auf der linken Seite als ein Merkmalsextraktionsnetzwerk angesehen werden, und das Netzwerk auf der rechten Seite kann als ein Merkmalsfusionsnetzwerk angesehen werden. In 4 repräsentiert Pfeil 1 conv 3 × 3 (conv: Faltung), ReLU repräsentiert einen 3 × 3-Faltungs-Kernel, der zur Faltung verwendet wird, und die Anzahl von Kanälen beträgt 64; Pfeil 2 repräsentiert Concat-Zusammenfügung (Concat: Verkettung), die eine Upsampling-Feature-Map mit einer Feature-Map entsprechend dem linken Netzwerk in der Kanaldimension zusammenfügen soll. Beispielsweise wird für Pfeil 2 auf der obersten Seite, nach dem Durchlaufen durch die GloRe-Einheit, eine 64-Kanal-Feature-Map erhalten. Die Feature-Map wird zusammen mit der Feature-Map (auch 64 Kanäle), die durch Upsampling auf der rechten Seite der Figur erhalten wird, zusammengefügt, um eine 128-Kanal-Feature-Map zu bilden. Pfeil 3 repräsentiert Max-Pool 2 × 2 was eine Pooling-Schicht unter Verwendung von Maximum-Pooling ist, mit einer Größe von 2 × 2; Pfeil 4 repräsentiert Up-Conv 2 × 2 (Up-Conv: Aufwärtsfaltung), was eine Entfaltung oder ein Upsampling ist, mit einer Faltungs-Kernel-Größe von 2 × 2; und Pfeil 5 repräsentiert conv 1 × 1, was eine Faltung mit einem Faltungs-Kernel von 1 × 1 ist. Genauere Kontextinformationen können durch den Zusammenfügungsprozess erhalten werden, wodurch ein besserer Segmentierungseffekt erreicht wird.
-
In Schritt 2 werden der Trainingssatz und der Verifizierungssatz verwendet, um das Modell zu trainieren. Insbesondere wird eine Kreuzentropieverlustfunktion während des Trainings verwendet, das heißt, ein Kreuzentropieverlustwert zwischen einem vorhergesagten Wert und einem tatsächlichen Wert jedes Pixels wird berechnet, und dann werden die Verlustwerte über alle Pixel gemittelt; und ein RMSProp-Optimierer wird mit einer Batch-Größe von 16, einer Lernrate von 0,001, einen Parameter Rho von 0,9, einem Glättungselement Epsilon von 1e-7 und der Anzahl von Iterationen von 300 verwendet. Während des Trainingsprozesses wird der Verifizierungssatz verwendet, um die aktuellen Trainingsergebnisse zu überwachen, und das Modell mit dem kleinsten durchschnittlichen Verlust am Verifizierungssatz wird als das finale trainierte Modell ausgewählt.
-
Der spezifische Prozess zum Skalieren der 9 vorhergesagten Bilder in Schritt 3 ist wie folgt: ein vorhergesagtes Bild mit einer Größe von 2560 × 1920 wird auf das 0,5-fache der ursprünglichen Größe skaliert, d. h. 1280 × 960.
-
Der spezifische Prozess zum Verwenden des gleitenden Fensters, um die Blockteilungsoperation in Schritt 3 durchzuführen, ist wie folgt: ein Regionsfenster mit einer Größe von 640 × 480 wird auf ein vorhergesagtes Bild von 1280 × 960. in der Reihenfolge von oben nach unten und von links nach rechts geschoben, um nicht-überlappende Teilbildblöcke zu erhalten, mit einem Schritt in der Breitenrichtung von 640 und einem Schritt in der Höhenrichtung von 480, wobei insgesamt 4 Teilbildblöcke durch Schneiden erhalten werden.
-
Die 4 Teilbildblöcke, die aus jedem vorhergesagten Bild erhalten werden, werden separat in das trainierte Modell eingegeben, um 4 vorhergesagte Ergebnisteilbilder zu erhalten, und die 4 vorhergesagten Ergebnisteilbilder werden zusammengefügt, um ein finales Defektvorhersageergebnisbild von 1280 × 960. zu erhalten. Ein Teil der Vorhersageergebnisbilder sind in 5 gezeigt. In 5 sind Spalte a ursprüngliche Bilder, Spalte b sind gelabelte Bilder, d. h. manuell gelabelte Bilder, und Spalte c sind Vorhersageergebnisbilder. Es kann aus 5 gesehen werden, dass das Verfahren einen besseren Effekt erreicht hat. Alle Bilder in dem Testsatz werden separat vorverarbeitet und vorhergesagt, und die mittlere Schnittmenge über Vereinigung (mIoU) der vorhergesagten Ergebnisse erreicht 87,2 %. Für eine erste Reihe von Bildern unterscheidet das Modell Reflexionen und Defekte genau.
-
In der vorliegenden Offenbarung, hinsichtlich der Defizite des aktuellen Verfahrens zur Detektion von Metalloberflächendefekten basierend auf Deep Learning, wird ein Verfahren zur Detektion von Metalloberflächendefekten basierend auf semantischer Segmentierung mit eingebetteter Graphen-Faltung vorgeschlagen. Spezifisch verwendet das UNet-basierte semantische Segmentierungsmodell einen Codierer und einen Decodierer, sowie eine Skip-Connection-Topologie, sodass ein Modell mit besserer Defektdetektionsleistungsfähigkeit durch Trainieren im Fall einer kleinen Anzahl von Bildern erhalten werden kann. Ferner ist ein neuronales Graphen-Netzwerkmodul in die Struktur von UNet eingebettet. Insbesondere wird durch das Einbetten einer GloRe-Einheit ein Merkmal von einem Koordinatenraum in einen potenziellen Interaktionsraum für Graphen-Faltungsinferenz projiziert und dann in den Koordinatenraum zurückprojiziert, um das Merkmal zu aktualisieren, sodass die Beziehung zwischen beliebig geformten entfernten Regionen erfasst werden kann.
-
In einer Ausführungsform der vorliegenden Offenbarung wird ein Verfahren zur Detektion von Metalloberflächendefekten vorgeschlagen, das ein semantisches Segmentierungsmodell und eine neuronale Graphen-Netzwerktechnologie kombiniert. Es ist ein intelligentes Defektdetektionsverfahren. In praktischen Anwendungen kann es manuelle Detektion ersetzen und einige Defizite der aktuellen Deep-Learning-basierten Defektdetektionsverfahren überwinden. Eine Überwachungseinrichtung in einer Ausführungsform der vorliegenden Offenbarung weist zumindest die folgenden vorteilhaften Effekte auf:
- (1) In tatsächlichen Anwendungen sind Datensätze zur industriellen Defektdetektion häufig weniger, und das Verfahren der vorliegenden Erfindung kann die Defektdetektionsaufgabe im Fall einer kleinen Anzahl von Datensätzen besser absolvieren. Das semantische Segmentierungsnetzwerk UNet kann eine genauere Defektsegmentierung an einer kleinen Anzahl von Trainingssätzen erreichen. In praktischen Anwendungen muss die Aufgabe der industriellen Detektion von Metalloberflächendefekten bestimmen, ob ein aktuelles Produkt Defekte aufweist oder nicht, und die Größe der Defekte bestimmen, dass heißt, es ist notwendig, die Pixelebenenklassifikation von Metalloberflächendefekten zu erhalten. Das semantische Segmentierungsnetzwerk UNet ist ein Ende-zu-Ende-Detektionsnetzwerk. Während der Vorhersage können durch das Klassifizieren jedes Pixels in einem Bild alle defekten Pixel in dem Bild gelabelt werden, um ein Defektdetektionsergebnis zu erhalten.
- (2) Es gibt große Unterschiede in der Größe von Metalloberflächendefekten, und einige Defekte werden einen großen Bereich belegen. Um einen großen Defekt zu detektieren, wird ein großes rezeptives Feld benötigt. Eine einzelne Faltungsschicht kann jedoch nur ein kleines rezeptives Feld erhalten. Um daher eine große Interessensregion zu erhalten, besteht die herkömmliche Praxis darin, mehrere Faltungsschichten zu stapeln, was relativ ineffizient ist, da die Beziehung zwischen beliebig geformten entfernten Regionen auf der Feature-Map nur durch fast höchste Schichten mit ausreichend großen rezeptiven Feldern erfasst werden kann. In der vorliegenden Offenbarung wird eine Gruppe von Merkmalen vom Koordinatenraum in den potenziellen Interaktionsraum projiziert, indem die Graphen-Faltungs-GloRe-Einheit in das UNet-Netzwerk eingebettet wird. Im Interaktionsraum kann jede Gruppe von disjunkten Regionen durch ein Merkmal repräsentiert werden; durch Konstruieren eines neuen vollständig verbundenen Graphen, der jedem Knoten ermöglicht, neue Merkmale als seinen Zustand zu speichern, wird relationale Inferenz auf Interaktionen zwischen Knoten des vollständig verbundenen Graphen vereinfacht, und Graphen-Faltung wird angewendet, um die kontextuelle Beziehung zwischen Paaren von Knoten zu modellieren und zu inferieren, um die Knotenzustände zu aktualisieren. Dann werden die aktualisierten Merkmale nach der Inferenz mittels Rückprojektion zu dem ursprünglichen Koordinatenraum umgewandelt. Auf diese Weise kann die Beziehung zwischen beliebigen Regionen auf dem gesamten Raum erfasst werden, und die Probleme von falscher Detektion und verpasster Detektion können effektiv verbessert werden.
-
Gemäß einem anderen Aspekt der beispielhaften Ausführungsformen der vorliegenden Offenbarung ist ein nichtflüchtiges computerlesbares Speichermedium bereitgestellt, das ein Computerprogramm speichert, wobei das Computerprogramm das Bildverarbeitungsverfahren gemäß einer beliebigen der obigen Ausführungsformen der vorliegenden Offenbarung implementiert, wenn es durch einen Prozessor ausgeführt wird.
-
Gemäß einem anderen Aspekt der beispielhaften Ausführungsformen der vorliegenden Offenbarung wird ein Computerprogrammprodukt vorgeschlagen, das ein Computerprogramm umfasst, wobei das Computerprogramm das Bildverarbeitungsverfahren gemäß einer beliebigen der obigen Ausführungsformen der vorliegenden Offenbarung implementiert, wenn es durch einen Prozessor ausgeführt wird.
-
Verschiedene Implementierungen der oben hierin beschriebenen Systeme und Techniken können in digitalen elektronischen Schaltungssystemen, integrierten Schaltungssystemen, feldprogrammierbaren Gate-Arrays (FPGAs), anwendungsspezifischen integrierten Schaltungen (ASICs), anwendungsspezifischen Standardprodukten (ASSPs), System-on-Chip-Systemen (SOC), lastprogrammierbaren Logikvorrichtungen (CPLD), Computerhardware, Firmware, Software und/oder Kombinationen davon implementiert werden. Verschiedene Implementierungen können beinhalten, dass sie in einem oder mehreren Computerprogrammen implementiert werden, die auf einem programmierbaren System ausführbar sind und/oder interpretiert werden, das mindestens einen programmierbaren Prozessor beinhaltet. Der programmierbare Prozessor kann ein programmierbarer Spezial- oder Allzweck-Prozessor sein und kann Daten und Anweisungen von und zu einem Speichersystem, mindestens einer Eingabeeinrichtung und mindestens einer Ausgabeeinrichtung empfangen und übertragen.
-
Programmcodes zum Implementieren des Verfahrens der vorliegenden Offenbarung können in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden. Diese Programmcodes können einem Prozessor oder einer Steuerung eines Allzweck-Computers, eines Spezial-Computers oder anderer programmierbarer Datenverarbeitungseinrichtungen geliefert werden, sodass die Programmcodes, wenn sie durch den Prozessor oder die Steuerung ausgeführt werden, bewirken, dass die Funktionen/Funktionen, die in den Flussdiagrammen und/oder Blockdiagrammen spezifiziert sind, implementiert werden. Die Programmcodes können vollständig oder teilweise auf einer Maschine, oder als ein eigenständiges Softwarepaket, teilweise auf einer Maschine und teilweise auf einer entfernten Maschine oder vollständig auf der entfernten Maschine oder einem Server ausgeführt werden.
-
Im Kontext der vorliegenden Offenbarung kann das computerlesbare Speichermedium ein greifbares Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem Anweisungsausführungssystem, einer Anweisungsausführungseinrichtung oder einer Anweisungsausführungsvorrichtung beinhalten oder speichern kann. Das computerlesbare Speichermedium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Medium kann unter anderem elektronische, magnetische, optische, elektromagnetische, Infrarot- oder Halbleiter-Systeme, -Einrichtungen oder -Vorrichtungen oder eine beliebige geeignete Kombination davon beinhalten. Spezifischere Beispiele für lesbare Speichermedien beinhalten eine oder mehrere drahtbasierte elektrische Verbindungen, portable Computerplatten, Festplatten, Direktzugriffsspeicher (RAM), Nurlesespeicher (ROM), löschbare programmierbare Nurlesespeicher (EPROM) oder Flash-Speicher, optische Fasern, CD-ROM (Compact Disk Read-Only Memories), optische Speichervorrichtungen, magnetische Speichervorrichtungen oder eine beliebige geeignete Kombination davon.
-
Es sollte verstanden werden, dass die Schritte unter Verwendung verschiedener oben gezeigter Formen von Flüssen umgeordnet, hinzugefügt oder gelöscht werden können. Beispielsweise können die in der vorliegenden Offenbarung beschriebenen Schritte parallel, sequenziell oder in einer anderen Reihenfolge ausgeführt werden, solange das gewünschte Ergebnis der technischen Lösung, die in der vorliegenden Offenbarung offenbart ist, erreicht werden kann, und keine Beschränkung hierin auferlegt ist.
-
Obwohl die Ausführungsformen oder Beispiele der vorliegenden Offenbarung mit Bezug auf die Zeichnungen beschrieben wurden, sollte verstanden werden, dass die oben erwähnten Verfahren, Systeme und Vorrichtungen lediglich beispielhafte Ausführungsformen oder Beispiele sind, und der Schutzumfang der vorliegenden Erfindung nicht durch diese Ausführungsformen oder Beispiele beschränkt wird, sondern stattdessen alleinig durch die erteilten Ansprüche und den äquivalenten Schutzumfang davon definiert werden. Verschiedene Schlüsselelemente in den Ausführungsformen oder Beispielen können weggelassen werden oder können durch äquivalente Schlüsselelemente davon ersetzt werden. Zusätzlich können die Schritte in einer anderen Reihenfolge als der ausgeführt werden, die in der vorliegenden Offenbarung beschrieben ist. Wichtig ist, während sich die Technologie entwickelt, dass viele hierin beschriebenen Schlüsselelemente durch äquivalente Schlüsselelemente ersetzt werden können, die nach der vorliegenden Offenbarung auftreten.
-
Zusätzlich sollte angemerkt werden, dass die spezifischen technischen Merkmale, die in der obigen ausführlichen Beschreibung der Erfindung beschrieben sind, auf eine beliebige geeignete Art und Weise kombiniert werden können, falls es keinen Widerspruch gibt. Um unnötige Wiederholung zu vermeiden, sind verschiedene mögliche Kombinationen in der vorliegenden Offenbarung nicht zusätzlich veranschaulicht.