-
TECHNISCHES GEBIET
-
Die vorliegende Beschreibung betrifft ein Verfahren zur Erzeugung einer Trainingsdatenmenge für ein Bildklassifizierernetz. Ein anderer Aspekt betrifft ein Verfahren zum Trainieren eines Bildklassifizierernetzes unter Verwendung der erzeugten Trainingsdatenmenge und Verwenden eines trainierten Bildklassifizierernetzes. Zugeordnete Aspekte betreffen ein computerimplementiertes System, das dafür ausgelegt ist, ein Bildklassifizierernetz für eine Vorrichtung zu erzeugen und/oder zu verwenden, und ein Computerprogramm.
-
HINTERGRUND
-
Es besteht wachsendes Interesse an der Implementierung von Techniken des tiefen Lernens für vielfältige komplexe Bildklassifikationsaufgaben. Viele vorbekannte Verfahren sind auf eine Annahme geschlossener Mengen beschränkt, wobei alle möglichen Testklassen während des Trainings „bekannt“ sind. Dadurch werden einige der vorbekannten Verfahren für einige realistische Klassifikationsszenarien, bei denen es nicht möglich ist, alle potentiell auftretenden Klassen abzudecken, da dies rechnerisch nicht durchführbar sein kann und/oder aufgrund nichtexistierender Trainingsdatenmengen für bestimmte Klassen, ungeeignet. In letzter Zeit haben OSR-Techniken (Open-Set Recognition - Erkennung offener Mengen) die Standard-Klassifikationsaufgaben erweitert, um mit unbekannten Klassen umzugehen, die nicht in einer gegebenen Trainingsdatenmenge enthalten sind, und sind somit in der Lage, bekannte von unbekannten Stichproben zu unterscheiden sowie bekannte zu klassifizieren. Die OSR-Techniken können in vielen Anwendungen verwendet werden, die z. B. von der Detektion von Ausfällen in Herstellungssystemen bis zur Detektion von Verkehrsschildern oder anderen Elementen in Anwendungen des autonomen Fahrens reichen. In einigen Realweltbereichen kann jedoch der Unterschied bei einem visuellen Aussehen über Klassen hinweg unterschwellig sein. In diesem Kontext sollten die OSR-Techniken in der Lage sein, auf einer feinkörnigen Ebene zwischen verschiedenen Objekten zu unterscheiden, was eine schwierige Aufgabe ist.
-
Einige bekannte Techniken auf der Basis von OSR konzentrieren sich jedoch auf die Bereiche, bei denen visuelle Unterschiede über Klassen hinweg nicht feinkörnig sind. Deshalb besteht eine Notwendigkeit, neue effiziente feinkörnige OSR-Techniken zur Bilderkennung zu entwickeln.
-
KURZFASSUNG
-
Ein erster Aspekt der vorliegenden Offenbarung betrifft ein Verfahren zum Erzeugen einer Trainingsdatenmenge für ein Bildklassifizierernetz. Das Verfahren der vorliegenden Offenbarung umfasst Empfangen einer anfänglichen Trainingsdatenmenge, die eine erste Vielzahl von Bildstichproben umfasst, wobei jede Bildstichprobe mit einer Klassenkennzeichnung einer Vielzahl bekannter Klassen gekennzeichnet wird. Das Verfahren umfasst ferner Trainieren eines Teil-Segmentierungsnetzes auf der Basis der anfänglichen Trainingsdatenmenge zum Aufteilen jeder Bildstichprobe aus der ersten Vielzahl von Bildstichproben in mehrere Regionen und Erzeugen einer Menge von Regionenmerkmalen für jede Bildstichprobe, wobei jedes Regionenmerkmal auf Bilddaten in einer jeweiligen Region der mehreren Regionen basiert. Das Verfahren des ersten Aspekts umfasst ferner Erzeugen einer Trainingsdatenmenge, die eine Vielzahl neuer Bildstichproben umfasst, auf der Basis der ersten Vielzahl von Bildstichproben. Der Erzeugungsschritt umfasst Extrahieren der Menge von Regionenmerkmalen einer ersten Bildstichprobe und einer zweiten Bildstichprobe der ersten Vielzahl von Bildstichproben unter Verwendung des trainierten Teil-Segmentierungsnetzes, wobei die erste Bildstichprobe mit einer ersten Klassenkennzeichnung gekennzeichnet ist und die zweite Bildstichprobe mit einer zweiten Klassenkennzeichnung gekennzeichnet ist, die von der ersten Klassenkennzeichnung verschieden ist. Der Schritt des Erzeugens der Trainingsdatenmenge umfasst ferner Ersetzen mindestens eines Regionenmerkmals aus der Menge von Regionenmerkmalen der ersten Bildstichprobe mit dem entsprechenden Regionenmerkmal aus der Menge von Regionenmerkmalen der zweiten Bildstichprobe, um dadurch eine neue Bildstichprobe für die Trainingsdatenmenge zu erzeugen.
-
In einem zweiten Aspekt betrifft die vorliegende Offenbarung ein Verfahren zum Trainieren eines Bildklassifizierernetzes unter Verwendung der gemäß dem ersten Aspekt erzeugten Trainingsdatenmenge oder seiner Ausführungsformen.
-
Ein dritter Aspekt stellt ein computerimplementiertes System bereit, das dafür ausgelegt ist, ein Bildklassifizierernetz für eine Vorrichtung gemäß den Techniken des zweiten Aspekts oder seiner Ausführungsformen zu erzeugen und/oder zu verwenden.
-
Ein vierter Aspekt stellt ein Computerprogramm bereit, das dafür ausgelegt ist, beliebige der Schritte der Techniken gemäß dem ersten und/oder zweiten Aspekt auszuführen.
-
Die Technik des ersten bis vierten Aspekts kann vorteilhafte technische Auswirkungen haben.
-
Als Erstes umfassen die Techniken der vorliegenden Offenbarung in einigen Situationen Erzeugen einer Trainingsdatenmenge für ein Bildklassifizierernetz, das ohne komplizierte Einstellungen und/oder Parameterabstimmungen von Architekturen auf Netzbasis zur Bilderkennung realisiert werden kann. Dies kann zu einer Verringerung der Trainingskosten und einer Möglichkeit führen, das Bildklassifizierernetz sogar mit begrenzten Hardwareressourcen zu implementieren.
-
Zweitens können komplexe nichtlineare generative Techniken einiger vorbekannter Techniken vergleichsweise große Datenmengen zum Training von Architekturen auf Netzbasis erfordern. Bei Verwendung der vorliegenden Techniken können in einigen Beispielen solche komplexen und rechnerisch kostspieligen Techniken vermieden werden. Verglichen mit einigen vorbekannten Techniken kann deshalb eine Größe der Trainingsdatenmenge kleiner sein und die Anforderungen an Speicherungsvorrichtungen können weniger einschränkend sein.
-
Drittens können die vorliegenden Techniken durch Rekombinieren lokaler Merkmale über Bildstichproben der anfänglichen Trainingsdatenmenge hinweg effiziente Erzeugung neuartiger Bildstichproben bereitstellen, die sich in feinkörnigen Details von den anfänglichen Trainingsstichproben unterscheiden. Als Ergebnis können Netze für Bilderkennung, die mit diesen neu erzeugten Bildstichproben trainiert werden, feinkörnige Unterschiede zwischen Bildstichproben besser als gewisse vorbekannte Techniken erkennen. Zusätzlich und als Ergebnis können mit den Trainingsdatenmengen gemäß der vorliegenden Offenbarung trainierte Bildklassifizierernetze besser beim Lösen von OSR-Aufgaben (z. B. Detektieren fehlerhafter Teile oder Komponenten in einem Herstellungs- oder Untersuchungssystem) funktionieren.
-
Der Ausdruck „Bildstichprobe“ kann sich auf ein Bild (zum Beispiel durch eine Fläche von Pixeln dargestelltes Digitalbild) beziehen, das durch eine Bildgebungsvorrichtung, z. B. eine Digitalkamera, aufgezeichnet wird, die auch auf anderen Vorrichtungen angebracht oder Teil dieser sein kann. Außerdem umfasst der Ausdruck „Bildstichprobe“, so wie er hier gebraucht wird, nicht nur ein durch eine Bildgebungsvorrichtung aufgezeichnetes Original-Digitalbild, sondern auch Informationen, die durch digitale Nachverarbeitung des durch die Bildgebungsvorrichtung aufgezeichneten entsprechenden Digitalbilds erhalten werden. Bei einigen Ausführungsformen können Bildstichproben in einem Bildraum repräsentiert werden, bei dem gewöhnliche Pixeldarstellung involviert ist, wobei jedes Pixel durch eine Menge diskreter Größen, wie z. B. seine räumlichen Koordinaten und eine Farbe, definiert wird. Bei anderen Ausführungsformen können Bildstichproben in einem vergleichsweise kleineren Merkmalraum repräsentiert werden, wie etwa 2D-Merkmalabbildungen, die durch Anwendung der in der Technik bekannten Faltungsoperation auf Original-Digitalbildstichproben (z. B. unter Verwendung eines Faltungs-Neuronalnetzes) erhalten werden.
-
Der Ausdruck „Region“ kann sich auf einen räumlich beschränkten Teil einer in einem Bild abgebildeten Szene beziehen. Zum Beispiel kann sich eine Region auf eine beliebige Menge von Pixeln einer Bildstichprobe (zum Beispiel einer Original-Digitalbildstichprobe oder nachverarbeiteten Digitalbildstichprobe) beziehen. In einigen Beispielen bildet die Menge von Pixeln eine oder mehrere zusammenhängende Gruppen (z. B. eine einzige zusammenhängende Gruppe). Eine Region kann einen visuell unterscheidbaren Teil einer in einem Bild abgebildeten Szene (z. B. einen Teil eines Objekts) repräsentieren. Somit kann „mehrere Regionen“ mehrere Mengen von Pixeln umfassen, wobei jede Menge von Pixeln einen jeweiligen (räumlichen) Teil eines Objekts in einer aufgezeichneten oder verarbeiteten Bildstichprobe repräsentieren.
-
Ein „Regionenmerkmal“ beschreibt eine Region wie oben besprochen, z. B. einen räumlich beschränkten Teil einer in einem Bild abgebildeten Szene und/oder eine Menge von Pixeln, die einer jeweiligen Region einer Bildstichprobe entsprechen. Zum Beispiel kann ein Regionenmerkmal durch Verarbeiten von Merkmalen auf niedriger Ebene (z. B. Rändern oder Pixelattributen) der Region bestimmt werden. Ein „Regionenmerkmal“ kann mehrere Elemente umfassen (z. B. organisiert in einem Vektor, Tensor oder in einer beliebigen anderen Menge von endlichen diskreten Elementen, die in der Technik bekannt sind).
-
Eine „Menge von Regionenmerkmalen“ bezieht sich dementsprechend auf mehrere Regionenmerkmale für jeweilige Regionen. Zum Beispiel kann eine Menge von Regionenmerkmalen ein erstes Regionenmerkmal für eine erste Region eines Bildes und ein zweites Regionenmerkmal für eine zweite Region des Bildes umfassen und so weiter.
-
Der Ausdruck „Bildklassifizierernetz“, so wie er hier benutzt wird, kann sich auf jede Art von neuronalem Netz beziehen, die im Kontext des Maschinenlernens und der künstlichen Intelligenz bekannt ist. Gemäß bestimmten Ausführungsformen kann das Bildklassifizierernetz ein Faltungs-Neuronalnetz (CNN) (definiert z. B. durch die Anzahl von Filter, Filtergrößen, Strides usw.) sein, das eine oder mehrere gewöhnliche Transformationen von Digitalbildern, die Fachleuten bekannt sind, umfassen kann, die zum Beispiel auf Faltung, Nichtlinearität (ReLu), Pooling- oder Klassifikationsoperationen basieren. Bei anderen Ausführungsformen kann das Bildklassifizierernetz auf der Basis anderer Arten von Neuronalnetzen, wie etwa eines Mehrschicht-Perceptrons, eines Vorwärtskopplungs-Neuronalnetzes, eines modularen Neuronalnetzes oder eines rekurrenten Neuronalnetzes, wobei es sich um eine Liste mehrerer nichterschöpfender Beispiele handelt, realisiert werden. Ein Bildklassifizierernetz kann dafür ausgelegt werden, Merkmale auf niedriger Ebene (z. B. Ränder oder Pixelattribute) eines Bildes zu verarbeiten, um das Bild zu klassifizieren.
-
Ähnlich wie der Ausdruck „Bildklassifizierernetz“ kann sich der Ausdruck „Teil-Segmentierungsnetz“ auf jede oben erwähnte Art von Neuronalnetz beziehen. Außerdem kann das „Teil-Segmentierungsnetz“ eine Bildstichprobe entwirren, um „Mengen von Regionenmerkmalen“ zu erhalten, die einzelne Objektteile repräsentieren.
-
Figurenliste
-
- 1A ist ein Flussdiagramm eines Verfahrens zur Erzeugung einer Trainingsdatenmenge für ein Bildklassifizierernetz gemäß dem ersten Aspekt.
- 1B und 1C sind Flussdiagramme weiterer möglicher Verfahrensschritte gemäß dem ersten Aspekt.
- 2 zeigt schematisch eine Architektur, in der eine Trainingsdatenmenge des ersten Aspekts erzeugt werden kann.
- 3 ist ein Beispiel für die Teil-Segmentierung einer Bildstichprobe. Verschiedene Zahlen repräsentieren verschiedene Objektteile. Ein Panel mit Teileindizes unten veranschaulicht eine Ordnung jedes in einer Menge von Regionenmerkmalen (Z) adressierten Objektteils. Der Teilindex 1, 2, 3, 4 und 5 kann jeweils „Unterkörper“, „Rücken“, „Bauch“ und „Kopf“ eines Objekts „Vogel“ und „Hintergrund“ zugeordnet sein.
- 4 ist ein Flussdiagramm eines Verfahrens zum Trainieren eines Bildklassifizierernetzes gemäß dem zweiten Aspekt unter Verwendung der erzeugten Trainingsdatenmenge gemäß dem ersten Aspekt.
- 5 zeigt die Leistungsfähigkeit des Verfahrens gemäß den vorliegenden Techniken. Es ist die Mikro-F-Maß-Metrik von OSR (Open Set Recognition) als Funktion eines Gewichtungsfaktors α angezeigt, der einen Beitrag des entropieübergreifenden Verlusts der erzeugten Stichproben (Lerzeugt) mit Bezug auf den der bekannten Stichproben (Lbekannt) gewichtet.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Als Erstes werden einige allgemeine Aspekte in Bezug auf die Erzeugung einer Trainingsdatenmenge für ein Bildklassifizierernetz und das Training eines Bildklassifizierernetzes mittels der erzeugten trainierten Datenmenge besprochen, bevor einige mögliche Implementierungen erläutert werden. Eine Übersicht über den ersten Aspekt der vorliegenden Offenbarung in Bezug auf Erzeugung einer Trainingsdatenmenge für ein Bildklassifizierernetz wird in Verbindung mit in 1A-1C gezeigten Flussdiagrammen gegeben. Dann wird in 2 eine beispielhafte Architektur angezeigt, in der eine Trainingsdatenmenge des ersten Aspekts erzeugt werden kann. Ein Beispiel für die Teil-Segmentierung einer Bildstichprobe gemäß dem ersten Aspekt ist in 3 abgebildet. Der zweite Aspekt mit Bezug auf Training eines Bildklassifizierernetzes unter Verwendung der erzeugten Trainingsdatenmenge gemäß dem ersten Aspekt wird danach in einem in 4 gezeigten Flussdiagramm zusammengefasst. Als Letztes wird die Leistungsfähigkeit des Verfahrens in Verbindung mit 5 demonstriert.
-
In 1A-1C wird ein Verfahren zum Erzeugen einer Trainingsdatenmenge für ein Bildklassifizierernetz gemäß dem ersten Aspekt der vorliegenden Offenbarung offenbart und vorgeschlagen. Die Verfahrensschritte des entsprechenden unabhängigen Anspruchs werden in Kästen zusammengefasst, die in 1A-1C mit durchgezogenen Linien gezeichnet sind, während die Verfahrensschritte abhängiger Ansprüche in gestrichelt gezeichneten Kästen gezeigt werden. Die vorliegende Technik zur Erzeugung der Trainingsdatenmenge umfasst Empfangen 100 einer anfänglichen Trainingsdatenmenge, die eine erste Vielzahl von Bildstichproben (Ii) umfasst. Bei den vorliegenden Techniken kann jedes Bild (das zum Beispiel ein aufgezeichnetes Objekt repräsentiert) mit einer Klassenkennzeichnung einer Vielzahl bekannter Klassen (N) gekennzeichnet werden. In einigen Beispielen können Bildstichproben Digitalbilder von Objekten sein, die z. B. durch eine Bildgebungsvorrichtung aufgezeichnet werden. In einem Beispiel können Bildstichproben Digitalbilder von menschlichen Gesichtern oder Digitalbilder von Geweben sein, die zum Beispiel in der Diagnostik verwendet werden. In anderen Beispielen können Bildstichproben Spezies von Vögeln, Säugetieren oder Pflanzen sein. In noch anderen Beispielen können Bildstichproben gescannte Digitalbilder von Objekten, zum Beispiel hergestellten Produkten (z. B. Leiterplatten) aus einer Produktionspipeline repräsentieren. In weiteren Beispielen können Bildstichproben Digitalbilder von sich bewegenden Autos, Fußgängern oder stationären Objekten im Kontext des autonomen Fahrens sein. In einem Beispiel können die bekannten Klassen auf bekannte Spezies von Vögeln bezogen werden, die zum Beispiel merkliche Unterschiede des visuellen Aussehens über Klassen hinweg (z. B. verschiedene Struktur und/oder Größe von Flügeln innerhalb verschiedener Vogelklassen) zeigen können. In anderen Beispielen können die bekannten Vogelklassen über Klassen hinweg unterschwellige Unterschiede des visuellen Aussehens zeigen (z. B. kann der Unterschied zwischen zwei Vogelklassen ihren unterschiedlichen Augenfarben zugeschrieben werden).
-
Der nächste Schritt des Verfahrens kann Trainieren 110 eines Teil-Segmentierungsnetzes 111 auf der Basis der anfänglichen Trainingsdatenmenge umfassen. In bevorzugten Beispielen kann das Teil-Segmentierungsnetz jede Bildstichprobe aus der ersten Vielzahl von Bildstichproben in mehrere Regionen 112 aufteilen (siehe die Kennzeichnungen „Teil 1“, „Teil 2“, ..., „Teil „K“ des schematischen Blocks 112 in 2). In einem Beispiel kann das trainierte Teil-Segmentierungsnetz für jede Bildstichprobe eine Menge von Regionenmerkmalen (Z) erzeugen (siehe die in der Architektur von 2 als Beispiel gezeigte „primäre Regionenmerkmalmenge“). In diesem Fall kann jedes Regionenmerkmal (zk) aus der Menge von Regionenmerkmalen auf Bilddaten in einer jeweiligen Region (k) der mehreren Regionen (K) basieren. Anders ausgedrückt, kann das Verfahren des ersten Aspekts in der Lage sein, globale Objektmerkmale in einem Bild zu mehreren Regionenmerkmalen zu entwirren, die einzelne Objektteile repräsentieren (die z. B. „Unterkörper“ 1, „Rücken“ 2, „Bauch“ 3, „Kopf“ 4 eines Objekts „Vogel“ und „Hintergrund“ 5 zugeordnet sind, wie in dem oberen rechten Bild von 2 und in 3 dargestellt). In einigen Beispielen können die vorliegenden Techniken auf dem jüngst entwickelten Regionengruppierungsverfahren basieren, das darauf abzielt, auf entwirrte, räumlich lokale Merkmale von Bildern, die einzelnen Objektteilen entsprechen, zu schließen (siehe den Artikel von Z. Huang und Y. Li mit dem Titel „Interpretable and Accurate Fine-grained Recognition via Region Grouping“, erhältlich bei https://arxiv.org/pdf/2005.10411vl.pdf). Im Gegensatz zu einigen vorbekannten Verfahren kann das vorliegende Verfahren somit erlauben, mit Bildstichproben im Merkmalraum statt dem Bildraum zu arbeiten. In einigen Beispielen kann die Formulierung des Problems im Merkmalraum die Techniken der vorliegenden Offenbarung zur Erfassung feinkörniger Details von Digitalbildern im hochdimensionalen Bildraum weniger notwendig machen. Das Angehen der Bildstichproben im Merkmalraum kann somit besonders nützlich sein, wenn Unterschiede eines visuellen Aussehens über verschiedene Klassen von Objekten und Unterschiede in ihren resultierenden Digitalbildern unterschwellig sind, so dass Hardware-Implementierung des Verfahrens, die Trainieren des Teil-Segmentierungsnetzes im gewöhnlichen Bildraum umfasst, rechnerisch kostspielig oder aufgrund beschränkter Hardwareressourcen überhaupt nicht möglich sein kann. In einigen Beispielen kann das durch die vorliegenden Techniken trainierte Teil-Segmentierungsnetz ein CNN (Faltungs-Neuronalnetz) sein, das eine oder mehrere gewöhnliche Transformationen an Digitalbildern, die Fachleuten bekannt sind, umfassen kann, die zum Beispiel auf Faltung, Nichtlinearität (ReLu), Pooling- oder Klassifikations-Operationen basieren. In einigen Beispielen kann das Trainieren des Teil-Segmentierungsnetzes auf CCN-Basis der vorliegenden Offenbarung Produzieren von Merkmalabbildungen aus Bildstichproben umfassen, die z. B. durch Matrizen von verglichen mit denen für die Bildstichproben der anfänglichen Datenmenge stehenden wesentlich kleineren Dimensionen repräsentiert werden können. In einem Beispiel kann die Größe der Merkmalabbildungen zum Beispiel abhängig von der Komplexität der anfänglichen Trainingsdatenmenge (z. B. Anzahl der Bildstichproben, erwartete Anzahl von Objektteilen und die resultierenden Regionenmerkmale, Unterscheidbarkeit zwischen verschiedenen Objekten und den resultierenden Bildstichproben innerhalb der anfänglichen Datenmenge usw.) gewählt werden.
-
In diesem Kontext können eine geeignete Anzahl von Filtern, Filtergröße, Stride, Architektur usw. für das Teil-Segmentierungsnetz auf CCN-Basis vor dem Trainingsprozess ausgewählt werden, und das CNN kann die Filterwerte während des Trainingsprozesses alleine lernen.
-
Der nächste Schritt der vorliegenden Techniken kann Erzeugen 140 einer Trainingsdatenmenge, die eine Vielzahl neuer Bildstichproben umfasst, auf der Basis der ersten Vielzahl von Bildstichproben Ii umfassen. In einigen Beispielen können die Techniken der vorliegenden Offenbarung den Umstand ausnutzen, dass sich Bildstichproben aus neuen (d.h. unbekannten) Klassen einen Großteil ihrer Merkmale mit Bildstichproben aus bekannten Klassen teilen können. Zum Beispiel sind unbekannte Vögel immer noch Vögel, können aber etwas unterschiedliche Attribute als Vögel aus bekannten Klassen aufweisen. Das Erzeugen unbekannter Bildstichproben aus bekannten kann deshalb vorteilhaft sein, da es nicht erfordert, eine Trainingsdatenmenge mit einer beträchtlichen Anzahl von Bildstichproben zu speichern und zu verarbeiten, die sich nur auf einer feinkörnigen Ebene voneinander unterscheiden können. Zum Beispiel können Vögel unbekannter Klassen Kopf- und Körperattribute aufweisen, die denen ähnlich sind, die durch Mischen eines Kopfattributs von einer bekannten Klasse mit einem Körperattribut einer anderen bekannten Klasse erhalten werden. Außerdem kann es möglich sein, die anfängliche Datenmenge von Bildern, die gegeben ist, durch Erzeugen der Vielzahl neuer Bildstichproben zu ergänzen, was wiederum zu besserer Leistungsfähigkeit eines mit der erzeugten Trainingsdatenmenge trainierten Bildklassifizierernetzes führen kann. Wie bereits erwähnt, ist es nützlich, Bildstichproben nicht im Bildraum, sondern im Merkmalraum anzugehen. In bevorzugten Beispielen kann die Vielzahl neuer Bildstichproben deshalb im Merkmalraum erzeugt werden, um die unnötige Komplexität feinkörniger Bildkonstruktion zu vermeiden.
-
Bei den vorliegenden Techniken kann der Schritt des Erzeugens 140 der Trainingsdatenmenge Extrahieren 120 der Menge von Regionenmerkmalen einer ersten Bildstichprobe und einer zweiten Bildstichprobe der ersten Vielzahl von Bildstichproben unter Verwendung des trainierten Teil-Segmentierungsnetzes 111 umfassen. In diesem Fall kann die erste Bildstichprobe mit ersten Klassenkennzeichnung (z. B. „Klasse 1“) gekennzeichnet werden, und die zweite Bildstichprobe kann mit einer zweiten Klassenkennzeichnung (zum Beispiel „Klasse 2“) gekennzeichnet werden, die von der ersten Klassenkennzeichnung verschieden ist. Wieder mit Bezug auf das Beispiel von Vogelspezies kann sich die erste Klassenkennzeichnung auf eine „Ente“ beziehen, während die zweite Klasse für eine „Gans“ stehen kann. Im nächsten Schritt kann der Erzeugungsschritt Ersetzen 130 mindestens eines Regionenmerkmals (zk) aus der Menge von Regionenmerkmalen 112; Z der ersten Bildstichprobe mit dem entsprechenden Regionenmerkmal (zk) aus der Menge von Regionenmerkmalen 112; Z der zweiten Bildstichprobe umfassen. Auf diese Weise kann eine neue Bildstichprobe für die Trainingsdatenmenge erzeugt werden. Angesichts der obigen Besprechungen kann es in einigen Beispielen vorzuziehen sein, nur Bildstichproben zu behandeln, die zu verschiedenen Klassen (z. B. zu „Klasse 1“ und „Klasse 2“, zu „Klasse 1“ und „Klasse 3“ oder zu einer beliebigen Kombination der Vielzahl bekannter Klassen (N)) gehören, weil nur die Bildstichproben, die sich dieselbe Klasse teilen, Regionenmerkmale besitzen könnten, die sich auf der marginalen Ebene voneinander unterscheiden. Folglich können neu erzeugte Bilder von denen in der anfänglichen Trainingsdatenmenge ununterscheidbar sein, wodurch ihre Verwendung redundant wird. In einem Beispiel kann eine Anzahl neuer Bildstichproben aus der Vielzahl neuer Bildstichproben, die auf diese Weise erzeugt werden, mit der Anzahl von Bildstichproben der ersten Vielzahl von Bildstichproben aus der anfänglichen Trainingsdatenmenge zusammenfallen. In anderen Beispielen kann die Anzahl neuer Bildstichproben kleiner als die Anzahl von Bildstichproben aus der anfänglichen Datenmenge sein (z. B. eine Hälfte, ein Viertel oder ein Achtel dieser Zahl). In noch anderen Beispielen kann die Anzahl neuer Bildstichproben größer als die Anzahl von Bildstichproben aus der anfänglichen Trainingsdatenmenge sein (z. B. anderthalbmal, zweimal oder dreimal so groß wie diese Zahl).
-
In einigen Beispielen für die vorliegenden Techniken kann Trainieren 110 des Teil-Segmentierungsnetzes ferner Klassifizieren 150 jeder Bildstichprobe aus der ersten Vielzahl von Bildstichproben der anfänglichen Trainingsdatenmenge durch ein (in der Ausführungsform 2 als „auf Aufmerksamkeit basierender Klassifizierer“ 151 bezeichnetes) zweites Bildklassifizierernetz in eine der Vielzahl bekannter Klassen (N) auf der Basis der Menge von Regionenmerkmalen der Bildstichprobe, die durch das Teil-Segmentierungsnetz 111 erzeugt wird, umfassen. In bevorzugten Beispielen kann Trainieren 110 des Teil-Segmentierungsnetzes darauf abzielen, eine Klassifikationsleistungsfähigkeit des zweiten Bildklassifizierernetzes zu verbessern.
-
Gemäß der vorliegenden Beschreibung kann das zweite Bildklassifizierernetz 151 auf der Basis der anfänglichen Trainingsdatenmenge trainiert werden 160. In einigen Beispielen kann das Training 160 des zweiten Bildklassifizierernetzes 151 darauf abzielen, das Teil-Segmentierungsnetz 111 zu trainieren 110. Zum Beispiel kann, nachdem es trainiert wurde, das zweite Bildklassifizierernetz 151 die höchste Vorhersagewahrscheinlichkeit für eine mit einer bekannten Klasse (z. B. „Klasse 1“) gekennzeichnete Bildstichprobe, dass dieses Bild zu der bekannten Klasse (z. B. „Klasse 1“) gehört, erzeugen. Anders ausgedrückt, kann eine Ausgangsvorhersagewahrscheinlichkeit für jede Klasse der Vielzahl bekannter Klassen (N), die durch das zweite Bildklassifizierernetz 151 erzeugt werden, optimiert werden. Auf diese Weise kann auch das Teil-Segmentierungsnetz 111 trainiert werden 110, weil die durch das Teil-Segmentierungsnetz erzeugte Menge von Regionenmerkmalen als Eingabe für das zweite Bildklassifizierernetz 151 verwendet werden kann. Folglich kann auch eine Aufteilungs- und/oder Erzeugungsleistungsfähigkeit des Teil-Segmentierungsnetzes 111 verbessert werden. Außerdem kann in einigen Beispielen Verwendung des trainierten zweiten Bildklassifizierernetzes Training 110 des Teil-Segmentierungsnetzes 111 (zum Beispiel aufgrund eines kombinierten Trainings sowohl des Teil-Segmentierungsnetzes 111 als auch des zweiten Bildklassifizierernetzes 151) erleichtern und beschleunigen. In einigen Beispielen kann das Teil-Segmentierungsnetz 111 direkt mit dem zweiten Bildklassifizierernetz 151 verbunden sein. In anderen Beispielen kann das Teil-Segmentierungsnetz 111 über dazwischentretende Elemente 114 mit dem zweiten Bildklassifizierernetz 151 verbunden sein, um die durch das Teil-Segmentierungsnetz 111 erzeugte Menge von Regionenmerkmalen 112; Z zu transformieren, wie in der Architektur von 2 dargestellt und nachfolgend ausführlicher offenbart wird. In einigen Beispielen kann das trainierte zweite Bildklassifizierernetz 151 der vorliegenden Techniken auf der Basis eines CNN (Faltungs-Neuronalnetzes) implementiert werden, dessen Parameter gemäß einer Strategie ausgewählt werden können, die für das Teil-Segmentierungsnetz auf CNN-Basis verwendeten ähnlich ist. In einigen Beispielen können, sobald das Teil-Segmentierungsnetz 111 und das zweite Bildklassifizierernetz 151 trainiert wurden, ihre Parameter zur weiteren Verwendung beider Netze gemäß der nachfolgenden Offenbarung eingefroren werden. In einigen Beispielen kann die Vielzahl neuer Bildstichproben unter Verwendung des trainierten zweiten Bildklassifizierernetzes 151 klassifiziert werden.
-
In einem weiteren Schritt kann der Ersetzungsschritt 130 mindestens eines Regionenmerkmals (zk) aus der Menge von Regionenmerkmalen 112; Z der ersten Bildstichprobe ferner Folgendes umfassen: iteratives Ersetzen 130 von Regionenmerkmalen (zk) der Menge von Regionenmerkmalen 112; Z der ersten Bildstichprobe mit den entsprechenden Regionenmerkmalen (zk) der Menge von Regionenmerkmalen (112; Z) der zweiten Bildstichprobe. In einigen Beispielen kann die zweite Bildstichprobe eine aus der ersten Vielzahl von Bildstichproben in diesem Kontext ausgewählte einzelne Bildstichprobe sein. In anderen Beispielen kann die zweite Bildstichprobe zwei oder mehr aus der ersten Vielzahl von Bildstichproben ausgewählten Bildstichproben entsprechen, wenn die Schritte des iterativen Ersetzens ausgeführt werden. Zum Beispiel kann im n-ten Iterationsschritt eine m-te Bildstichprobe aus der ersten Vielzahl von Bildstichproben ausgewählt werden, während im (n + 1)-ten Iterationsschritt eine (m + k)-te Bildstichprobe aus der ersten Vielzahl von Bildstichproben ausgewählt werden kann. (Hier sind m, n und k einige ganze Zahlen).
-
Im nächsten Schritt kann eine Klasse der ersten Bildstichprobe nach jeder Iteration unter Verwendung des zweiten Bildklassifizierernetzes 151 bestimmt werden. Bei den Techniken der vorliegenden Offenbarung kann iteratives Ersetzen wie oben definiert beendet werden, wenn die durch das Netz des zweiten Bildklassifizierers (151) vorhergesagte bestimmte Klasse von der Klasse der ersten Bildstichprobe der ersten Vielzahl von Bildstichproben verschieden ist (d.h. verschieden von der Klasse der ersten Bildstichprobe, die aus der anfänglichen Datenmenge vor iterativem Ersetzen genommen wird). In einem weiteren Schritt kann die vor dem Beendigungsschritt erzeugte erste Bildstichprobe als die neue Bildstichprobe verwendet werden. Die auf diese Weise erzeugte neue Bildstichprobe kann dann in die Vielzahl neuer Bildstichproben der Trainingsdatenmenge aufgenommen werden. Anders ausgedrückt, können bei den vorliegenden Techniken neue Bildstichproben erzeugt werden, die neuartige Rekombinationen lokaler Merkmale repräsentieren, die aus Bildstichproben der anfänglichen Trainingsdatenmenge extrahiert werden, dergestalt, dass diese neuen Merkmalkombinationen nicht in der Trainingsdatenmenge zu finden sind. Gleichzeitig kann der oben definierte Beendigungsschritt sicherstellen, dass sich die neu erzeugten Bildstichproben von denen der bekannten Klasse der ersten Bildstichprobe (d.h. einer aus der anfänglichen Trainingsdatenmenge vor dem Ersetzungsschritt ausgewählten Stichprobe) auf einer lokalen feinkörnigen Ebene unterscheiden können, während der Gesamtrealismus der erzeugten Bildstichproben bewahrt wird, indem sie in derselben Klasse gehalten werden. In einigen Beispielen kann diese Technik Realweltszenarien entsprechen, wobei visuelle Erscheinungen von Stichproben aus den unbekannten Klassen Mischungen lokaler Erscheinungen aus bekannten Klassen sein können. Gleichzeitig kann der gesamte offenbarte Erzeugungsprozess ausgeführt werden, ohne gewöhnlich für feinkörnige Szenarien verwendete komplexe nichtlineare generative Techniken zu erfordern.
-
In einem Beispiel kann der iterative Ersetzungsschritt der Regionenmerkmale (zk) aus der Menge von Regionenmerkmalen 112; Z in einer sequentiellen Reihenfolge ausgeführt werden. In einigen Beispielen können Regionenmerkmale in der Menge von Regionenmerkmalen in einer bestimmten Reihenfolge (z. B. als eine Menge von Zeilen, Spalten, Vektoren usw.) angeordnet werden, dergestalt, dass eine Struktur der Mengen von Regionenmerkmalen für Bildstichproben für alle Bildstichproben dieselbe sein kann. Somit können zum Beispiel Zeilen aus der Menge von Regionenmerkmalen der ersten Bildstichprobe sukzessiv eine nach der anderen mit den entsprechenden Zeilen aus der Menge von Regionenmerkmalen der zweiten Bildstichprobe ersetzt werden, so wie in den Mengen von Regionenmerkmalen angeordnet sind. In anderen Beispielen kann der iterative Ersetzungsschritt der Regionenmerkmale (zk) in einer zufälligen Reihenfolge ausgeführt werden. In diesem Fall können zum Beispiel die Regionenmerkmale aus der Menge von Regionenmerkmalen des ersten Bildes iterativ in einer zufälligen Reihenfolge ausgesucht und durch die entsprechenden Regionenmerkmale der Menge von Regionenmerkmalen des zweiten Bildes ersetzt werden. In einigen Beispielen kann das erste Bild zufällig aus der ersten Vielzahl von Bildstichproben entnommen werden. In anderen Beispielen kann das erste Bild sequentiell aus der ersten Vielzahl von Bildstichproben ausgewählt werden. In beiden Fällen können die vorliegenden Techniken das Sammeln der erzeugten neuen Bildstichproben erlauben.
-
Die Techniken der vorliegenden Offenbarung können ferner Folgendes umfassen: Erlernen eines Wörterbuchs von Objektteilen 113; D, auf dessen Basis zum Beispiel das Teil-Segmentierungsnetz 111 ein beliebiges gegebenes Bild im Merkmalraum (z. B. einer 2D-Merkmalabbildung) in eine Menge von Regionenmerkmalen (d.h. in „Objektteil“-Segmente, siehe die Kennzeichnungen 1 bis 5 in 3 als Beispiel) aufteilen (oder anders ausgedrückt gruppieren) kann. In einigen Beispielen kann das Verfahren des ersten Aspekts das Wörterbuch von Objektteilen 113; D während des Trainingsprozesses des Teil-Segmentierungsnetzes 111 auf der Basis der anfänglichen Trainingsdatenmenge erlernen. In alternativen Beispielen kann das Verfahren Bereitstellen eines vorbestimmten Wörterbuchs von Objektteilen 113; D umfassen (zum Beispiel kann das vorbestimmte Wörterbuch von Objektteilen vorläufig gespeicherte Daten sein, die zur weiteren Verwendung im Verfahren des ersten Aspekts gespeichert werden). In einem nächsten Schritt kann das erlernte oder vorbestimmte Wörterbuch von Objektteilen 113; D verwendet werden, um alle Regionenmerkmale (zk) aus der Menge von Regionenmerkmalen der Bildstichprobe einem entsprechenden Objektteil zuzuweisen. In einigen Beispielen kann dieser Schritt auf der Basis des oben erwähnten Regionengruppierungsverfahrens realisiert werden (siehe arXiv:2005.10411 für weitere Einzelheiten).
-
In einigen Beispielen kann das erlernte oder vorbestimmte Wörterbuch von Objektteilen eine Menge von Wörterbuchvektoren (dk) umfassen. In diesen Beispielen kann eine Anzahl der Wörterbuchvektoren in der Menge von Wörterbuchvektoren einer Anzahl von Objektteilen (K) entsprechen. In einigen Beispielen kann das erlernte Wörterbuch mathematisch als D = [d1, d2, ...,dk] repräsentiert werden. In diesem Beispiel kann jeder Wörterbuchvektor ein D-dimensionaler Vektor dk ∈ RD sein, und das erlernte oder vorbestimmte Wörterbuch kann im Raum D ∈ ℝD×K definiert werden. In einigen Beispielen kann die Menge von Regionenmerkmalen der Bildstichprobe aus der ersten Vielzahl von Bildstichproben oder aus der Vielzahl neuer Bildstichproben durch eine Menge von Merkmalvektoren repräsentiert werden. In diesem Fall kann jedes Regionenmerkmal aus der Menge von Regionenmerkmalen dem jeweiligen Merkmalvektor entsprechen, und eine Anzahl der Merkmalvektoren in der Menge von Merkmalvektoren kann mit den Wörterbuchvektoren (d.h. mit der Anzahl von Objektteilen (K)) zusammenfallen. Ähnlich wie die Menge von Wörterbuchvektoren kann die Menge von Regionenmerkmalen in einigen Beispielen als Z = [z1, z2, ..., zk] geschrieben werden. In diesem Fall kann jeder Merkmalvektor ein D -dimensionaler Vektor zk ∈ RD sein, und die Menge von Merkmalvektoren kann im Raum Z ∈ ℝD×K definiert werden.
-
In einigen Beispielen kann Aufteilen jeder Bildstichprobe ferner Berechnen einer Distanz von jedem Pixel des Regionenmerkmals der Bildstichprobe zu jedem Objektteil des erlernten oder vorbestimmten Wörterbuchs von Objektteilen umfassen. In einigen Beispielen kann der Berechnungsschritt Berechnen einer Distanz von jedem Pixel des Regionenmerkmals der Bildstichprobe (z. B. definiert im Merkmalraum) zu jedem Wörterbuchvektor (d
k) involvieren. Bei der vorliegenden Technik kann Aufteilen jeder Bildstichprobe ferner Berechnen einer Wahrscheinlichkeit umfassen, dass das Pixel des Regionenmerkmals der Bildstichprobe einem Objektteil (k) aus dem erlernten oder vorbestimmten Wörterbuch von Objekteilen zugewiesen werden kann. In einigen Beispielen kann diese Wahrscheinlichkeit auf der Distanz von Pixeln des Regionenmerkmals der Bildstichprobe zu jedem Objektteil des erlernten oder vorbestimmten Wörterbuchs von Objektteilen (zum Beispiel zu jedem Wörterbuchvektor (d
k)) basieren. In einigen Beispielen kann das Berechnen der Wahrscheinlichkeit ferner Berechnen einer Wahrscheinlichkeitszuweisungsmatrix
umfassen. In einem Beispiel kann jedes Element der Wahrscheinlichkeitszuweisungsmatrix eine Wahrscheinlichkeit zuweisen, dass das Pixel des Regionenmerkmals der Bildstichprobe an einem gegebenen Ort auf einer Bildmerkmalabbildung (zum Beispiel an einem Ort x
ij) der Bildstichprobe zu dem Objektteil k gehört, der durch den jeweiligen Wörterbuchvektor (d
k) repräsentiert wird. In einem spezifischen Beispiel kann die Zuweisungsmatrix folgendermaßen lauten:
wobei σ
l für einen Glättungsfaktor steht.
-
In einigen Beispielen für die vorliegenden Techniken kann Berechnen der Menge von Merkmalvektoren 112; Z Pooling von Regionenmerkmalen aus einer Bildmerkmalabbildung (X) der Bildstichprobe umfassen - der Schritt, der die Dimensionalität von Merkmalabbildungen reduziert, aber die wichtigsten darin enthaltenen Informationen bewahrt. In einigen Beispielen kann jeder berechnete Vektor (z
k) nach dem Pooling von Regionenmerkmalen durch eine nichtlineare Funktion repräsentiert werden, die von der Wahrscheinlichkeitszuweisungsmatrix
von einer Differenz zwischen dem gegebenen Ort (z. B. zwischen dem Ort x
ij) des Pixels des Regionenmerkmals und dem jeweiligen Wörterbuchvektor (d
k) abhängen kann. In einigen Beispielen kann Berechnen der Menge von Merkmalvektoren 112; Z ein in der Technik bekanntes nichtlineares Merkmalcodierungsschema involvieren. Somit kann jeder berechnete Vektor aus der Menge von Merkmalvektoren (z. B. der Vektor z
k) als das Regionenmerkmal aus Pixeln interpretiert werden, die dem entsprechenden Wörterbuchvektor (z. B. dem Wörterbuchvektor d
k) zugewiesen sind. In einem spezifischen Beispiel kann der (normierte) Merkmalvektor z
k durch den folgenden Ausdruck gegeben werden:
-
Gemäß der vorliegenden Beschreibung kann Trainieren 110 des Teil-Segmentierungsnetzes 111 ferner Verwendung einer Vordergrund-Segmentierungsmaske (siehe M
i in
2) umfassen, um alle Hintergrundpixel der Bildstichprobe einem einzigen Objektteil (k) aus der Anzahl von Objektteilen (K) zuzuweisen. Der Hintergrundpixeln zugeschriebene Objektteil kann aus dem Intervall k ∈ [1,...,K] ausgewählt werden. Auf diese Weise können Hintergrundpixel, deren Differenzen möglicherweise im Kontext der Trainingsdatenmenge mit aufgezeichnete Objekte repräsentierenden Bildstichproben nicht nützlich sind, gruppiert und als ein einziger Teil behandelt werden. Dies kann zu einer Verringerung der Dimension zum Beispiel der Wahrscheinlichkeitszuweisungsmatrix führen, Berechnungen beschleunigen und potentiell die Komplexität des Teil-Segmentierungs- und zweiten Klassifizierernetzes (z. B. in der Architektur von
2 verwendet) verringern. In einigen Beispielen kann das Verfahren des ersten Aspekts ferner Berechnen einer modifizierten Wahrscheinlichkeitszuweisungsmatrix
umfassen, die aus der Wahrscheinlichkeitszuweisungsmatrix
erhalten wird, indem alle Elemente der Wahrscheinlichkeitszuweisungsmatrix
die Beiträge von den Hintergrundpixeln beschreiben, einem konstanten Wert zugewiesen werden. In einem spezifischen Beispiel kann die modifizierte Wahrscheinlichkeitszuweisungsmatrix folgendermaßen beschrieben werden:
-
Die vorliegenden Techniken können ferner Verarbeiten der Menge von Regionenmerkmalen 112; Z der Bildstichprobe (z. B. eines beliebigen Bildes aus der ersten Vielzahl von Bildstichproben oder aus der Vielzahl neuer Bildstichproben) durch ein Faltungsnetz 114 umfassen, um eine sekundäre Menge von Regionenmerkmalen 115;
der Bildstichprobe (I
i) zu erhalten. In einigen Beispielen kann die sekundäre Menge von Regionenmerkmalen, die durch Verarbeiten der Menge von Regionenmerkmalen 112; Z der Bildstichprobe mit dem Faltungsnetz 114 erhalten wird, semantische Merkmale auf höherer Ebene repräsentieren, die die Unterscheidungsfähigkeit der folgenden Bildklassifizierernetze (zum Beispiel des zweiten Bildklassifizierernetzes 151) verbessern können. In einigen Beispielen kann das Faltungsnetz 114 ein 1×1-Faltungsnetz sein. In einem Beispiel kann die sekundäre Menge von Regionenmerkmalen 115;
der Bildstichprobe eine Menge von sekundären Merkmalvektoren
umfassen. Die Menge von sekundären Merkmalvektoren (z
k) kann somit durch Verarbeiten der Menge von Merkmalvektoren (z
k) mit dem 1×1-Faltungsnetz (114) erhalten werden. Bei der in
2 dargestellten Ausführungsform können die sekundären Mengen von Regionenmerkmalen 115;
von Bildstichproben als Eingabe für das zweite Bildklassifizierernetz (siehe „auf Aufmerksamkeit basierender Klassifizierer“ 151 in
2) verwendet werden, das Ausgangsvorhersagewahrscheinlichkeiten für die bekannten Klassen (N) von Bildstichproben aus der anfänglichen Trainingsdatenmenge erzeugt.
-
Gemäß der vorliegenden Beschreibung kann Klassifizieren jeder Bildstichprobe aus der ersten Vielzahl von Bildstichproben durch den zweiten Bildklassifizier auf der sekundären Menge von Regionenmerkmalen 115;
der Bildstichprobe und auf einem Aufmerksamkeits-Gewichtsparameter (α) basieren. In einigen Beispielen kann der Aufmerksamkeits-Gewichtsparameter einen Beitrag verschiedener Regionenmerkmale der Menge von Regionenmerkmalen der Bildstichprobe zu einem End-Vorhersageergebnis des zweiten Bildklassifizierers 151 steuern. Bei einigen Ausführungsformen kann der Aufmerksamkeits-Gewichtsparameter durch einen Aufmerksamkeits-Gewichtsvektor (α) beschrieben werden. In diesem Fall kann der Klassifizierungsschritt auf dem Aufmerksamkeits-Gewichtsvektor (α), auf der Menge von sekundären Merkmalvektoren (z
k) und Gewichten eines zusätzlichen linearen Klassifizierers W, der eine Anzahl von Ausgängen (N) gleich der gegebenen Anzahl bekannter Klassen (N) aufweisen kann, basieren. In bevorzugten Beispielen kann der Aufmerksamkeits-Gewichtsparameter (a) auf der Basis der sekundären Menge von Regionenmerkmalen
statt der Menge von Merkmalvektoren (z
k) berechnet werden. Im ersteren Fall können, wenn der Aufmerksamkeits-Gewichtsparameter (α) auf der Basis der sekundären Menge von Regionenmerkmalen
berechnet wird, die erzeugten Bildstichproben direkt in das zweite Bildklassifizierernetz 151 (siehe
2) geleitetet werden. In einigen Beispielen kann der auf Aufmerksamkeits-Gewichtsvektor (α) einen Beitrag jedes Pixels des Regionenmerkmals auf einer Bildmerkmalabbildung (X) zu dem End-Vorhersageergebnis des zweiten Bildklassifizierers 151 steuern.
-
In den bevorzugten Beispielen kann jede neue Bildstichprobe aus der Vielzahl von neuen Bildstichproben für die Trainingsdatenmenge durch die sekundäre Menge von Regionenmerkmalen 116;
repräsentiert werden. In einigen Beispielen kann die sekundäre Menge von Regionenmerkmalen 116;
der neuen Bildstichprobe durch die Menge von sekundären Merkmalvektoren
repräsentiert werden. In diesem Sinne können neue Bildstichproben und Bildstichproben aus der anfänglichen Datenmenge durch Mengen und Vektoren mit ähnlicher Struktur repräsentiert und auf ähnliche Weise (z. B. in dem Beispiel von
2 durch das Faltungsnetz 114) verarbeitet werden.
-
Die Techniken der vorliegenden Offenbarung können auch Empfangen 170 einer Validierungsdatenmenge umfassen, die eine Vielzahl von Bildstichproben zur Validierung umfasst. In einigen Beispielen kann das zweite Bildklassifizierernetz 151 auf der Basis der empfangenen Validierungsdatenmenge trainiert werden 160. In einem weiteren Schritt können die vorliegenden Techniken Zurückweisen von null, einer oder mehreren neu erzeugten Stichproben umfassen, die potentiell die Vorhersagegenauigkeit bekannter Klassen verschlechtern können. In bevorzugten Beispielen kann diese Zurückweisungsprozedur auf Basis von Bildstichproben aus der Validierungs- und anfänglichen Datenmenge ausgeführt werden. In einigen Beispielen kann Zurückweisen Auswählen von Bildstichproben 180 aus der Vielzahl von Bildstichproben zur Validierung, die mit der Klassenkennzeichnung aus der gegebenen Anzahl bekannter Klassen (N) gekennzeichnet sind, für Validierung umfassen. Dann können die folgenden Schritte für jede ausgewählte Bildstichprobe aus der Vielzahl von Bildstichproben zur Validierung ausgeführt werden. In einigen Beispielen kann durch Vergleichen jeder Bildstichprobe aus der erzeugten Vielzahl neuer Bildstichproben mit der ausgewählten Bildstichprobe eine erste nächstliegende Bildstichprobe aus der erzeugten Vielzahl neuer Bildstichproben zu der ausgewählten Bildstichprobe bestimmt werden 190. In einem nächsten Schritt kann eine zweite nächstliegende Bildstichprobe aus der ersten Vielzahl von Bildstichproben der anfänglichen Trainingsdatenmenge zu der ausgewählten Bildstichprobe durch Vergleichen jeder Bildstichprobe aus der ersten Vielzahl von Bildstichproben mit der ausgewählten Bildstichprobe bestimmt werden 200. In einem weiteren Schritt kann die neue Bildstichprobe aus der erzeugten Vielzahl neuer Bildstichproben, die der ersten nächstliegenden Bildstichprobe entspricht, zurückgewiesen werden 210, wenn die erste nächstliegende Bildstichprobe der ausgewählten Bildstichprobe näher als die zweite nächstliegende Bildstichprobe ist. Die oben als Beispiel offenbarte Zurückweisungstechnik kann somit einen erzeugten Bildstichprobenkandidaten als neue Bildstichprobe unter der Idee akzeptieren, dass eine gute neue Stichprobe Validierungsbildstichproben nicht näher kommen sollte als ihre verglichenen nächstliegenden Trainingsbildstichproben. Mit diesem Prinzip kann die erzeugte Bildstichprobe zurückgewiesen werden, wenn sie einer Validierungsbildstichprobe mehr als ihren verglichenen Trainingsbildstichproben näher kommt. In einigen Beispielen kann für rechnerische Effizienz diese Nähebedingung nicht für alle Validierungsbildstichproben geprüft werden, sondern nur für nächstliegende Validierungsbildstichproben mit Bezug auf die erzeugten Bildstichproben (z. B. kann die Anzahl nächstliegender Validierungsbildstichproben zwischen 5 und 100 oder 50 und 1000 oder 5000 und 10000 gewählt werden). In bevorzugten Beispielen kann die vorliegende Technik Regenerieren 220 einer neuen Ergänzungsbildstichprobe gemäß den zuvor offenbarten Schritten des Extrahierens und Ersetzens umfassen, wenn die neue Bildstichprobe aus der erzeugten Vielzahl neuer Bildstichproben zurückgewiesen wird.
-
In einigen Beispielen kann Bestimmen der ersten nächstliegenden Bildstichprobe implementiert werden durch Berechnen einer ersten nächsten charakteristischen Distanz zwischen der sekundären Menge von neuen Merkmalvektoren
jeder neuen Bildstichprobe aus der erzeugten Vielzahl neuer Bildstichproben und der entsprechenden Menge von Merkmalvektoren der ausgewählten Bildstichprobe. In diesen Beispielen kann Bestimmen der zweiten nächstliegenden Bildstichprobe ähnlich Berechnen einer zweiten nächsten charakteristischen Distanz zwischen der zweiten Menge von Merkmalvektoren
jeder Bildstichprobe aus der ersten Vielzahl von Bildstichproben und einer entsprechenden Menge von Merkmalvektoren der ausgewählten Bildstichprobe involvieren.
-
Ferner wird ein Verfahren zum Trainieren eines Bildklassifizierernetzes offenbart und vorgeschlagen. Die vorliegenden Techniken können Erzeugen 140 einer Trainingsdatenmenge für das Bildklassifizierernetz gemäß dem ersten Aspekt der vorliegenden Beschreibung umfassen. Dann kann in einigen Beispielen ein Bildklassifizierernetz 301 auf der Basis der erzeugten Trainingsdatenmenge trainiert werden 300. In einigen Beispielen kann Training 300 des Bildklassifizierernetzes somit nicht nur gemeinsame anfängliche Datenmenge sondern auch die erzeugte Trainingsdatenmenge umfassen, um dadurch eine Gesamtdatenmenge, die zum Training des Bildklassifizierernetzes verwendet wird, zu ergänzen. In einigen Beispielen umfasst Training des Bildklassifizierernetzes Behandeln der erzeugten Vielzahl neuer Bildstichproben als eine Vielzahl unbekannter Bildstichproben. Außerdem kann jede Bildstichprobe aus der Vielzahl unbekannter Bildstichproben durch das Bildklassifizierernetz 301 klassifiziert werden 310.
-
In den vorliegenden Techniken kann Klassifizieren durch das Bildklassifizierernetz 301 Klassifizieren einer gegebenen Bildstichprobe als aus der Vielzahl bekannter Klassen (N) stammend oder zu einer unbekannten Klasse gehörend umfassen. In bevorzugten Beispielen kann deshalb das zweite Bildklassifizierernetz 151 eine Anzahl von Ausgängen (N) gleich der gegebenen Anzahl von bekannten Klassen (N) aufweisen, während das Bildklassifizierernetz 301 eine Anzahl von Ausgängen (N + 1) aufweisen kann, die die gegebene Anzahl bekannter Klassen um mindestens eine übersteigt, die eine Vorhersage unbekannter Klassen repräsentiert.
-
In einigen Beispielen kann Training 300 des Bildklassifizierernetzes Training des Bildklassifizierernetzes durch Verwenden 320 der Menge von Regionenmerkmalen 112; Z für eines oder mehrere Bilder aus der ersten Vielzahl von Bildstichproben der anfänglichen Trainingsdatenmenge umfassen. In bevorzugten Beispielen kann Training 300 des Bildklassifizierernetzes Training des Bildklassifizierernetzes durch Verwenden 320 der sekundären Menge von Regionenmerkmalen 115; Z für ein oder mehrere Bilder aus der ersten Vielzahl von Bildstichproben der anfänglichen Trainingsdatenmenge umfassen. In einigen Beispielen kann Training 300 des Bildklassifizierernetzes auch Training des Bildklassifizierernetzes durch Verwendung der empfangenen Validierungsdatenmenge umfassen.
-
In einem nächsten Schritt kann der Trainingsschritt des Bildklassifizierernetzes Berechnen einer ersten Verlustfunktion (L
bekannt) auf der Basis bekannter Bildstichproben unter Verwendung der ersten Vielzahl von Bildstichproben der anfänglichen Trainingsdatenmenge umfassen. Dann kann eine zweite Verlustfunktion (
erzeugt) auf der Basis der Vielzahl unbekannter Bildstichproben unter Verwendung der erzeugten Vielzahl neuer Bildstichproben berechnet werden. In einem weiteren Schritt kann durch Summieren der ersten Verlustfunktion und einer gewichteten zweiten Verlustfunktion eine Zielfunktion (
) berechnet werden. In einigen Beispielen kann die gewichtete zweite Verlustfunktion ein Produkt der zweiten Verlustfunktion und eines Gewichtungsfaktors (α) sein, so dass die Zielfunktion folgendermaßen lautet:
=
bekannt + α ·
erzeugt. In einem letzten Schritt kann die Zielfunktion minimiert werden, um das Bildklassifizierernetz zu trainieren.
-
Zur Veranschaulichung ist in
5 der Effekt des Gewichtungsfaktors auf die Leistungsfähigkeit des Bildklassifizierernetzes gezeigt, das mit der Trainingsdatenmenge trainiert wird, die die Vielzahl neuer Bildstichproben umfasst, die gemäß dem ersten Aspekt erzeugt wird. In dieser Figur werden die Ergebnisse von Berechnungen für eine F-Maßmetrik als Funktion des Gewichtungsfaktors α für zwei Fälle des Erzeugens neuer Bildstichproben gemäß dem ersten Aspekt dargestellt, nämlich (a) ohne Zurückweisung neu erzeugter Bildstichproben (Minimal-Teil-Editiergenerator oder MPGen); (b) mit Zurückweisung auf der Basis der in der Validierungsdatenmenge enthaltenen Informationen, wie oben erläutert (MPGen mit Zurückweisung oder MPGen-R). Das F-Maß ist auf der Basis definiert, dass unbekannte Klassen während Evaluierung nicht als eine einzige Klasse behandelt werden sollten und größere Werte des F-Maßes einer besseren Leistungsfähigkeit entsprechen. Der Wert α = 0 bedeutet, dass das Netz mit nur der bekannten Entropiefunktion (

bekannt) trainiert wird. Je höher der Wert von α ist, desto mehr Effekt aus
erzeugt wird berücksichtigt. Die Werte von α werden 0 bis 0,4 mit der Schrittgröße 0,1 durchlaufen gelassen. Die Experimente basieren auf der CUB-Datenmenge (verfügbar bei http://www.vision.caltech.edu/visipedia/CUB-200.html). Die gesamte Datenmenge von Bildstichproben wird in drei Aufteilungen aufgeteilt: Trainings-, Validierungs- und Testdatenmenge. 150 bekannte Klassen werden als bekannte Klassen zugewiesen. Die übrigen 50 Klassen werden als unbekannte Klassen behandelt. Die Ergebnisse von Berechnungen zeigen, dass F-Maße abhängig von dem betrachteten Generator mit zunehmenden Werten von α bis zum Optimalpunkt bei etwa 0,2-0,3 zunehmen. Es ist auch ersichtlich, dass MPGen-R durchweg besser als MPGen ist. Diese Ergebnisse zeigen die Wichtigkeit des in die MPGen-R-Techniken eingeführten Zurückweisers. Es sollte auch beachtet werden, dass die vorliegenden Techniken (mit oder ohne Zurückweiser) besser abschneiden als einige vorbekannte Verfahren, was aus den Ergebnissen von Berechnungen des F-Maßes (in
5 nicht gezeigt) folgt.
-
Die Techniken der vorliegenden Offenbarung können ferner Verwendung des trainierten Bildklassifizierernetzes zum Klassifizieren von Bilddaten umfassen. In einigen Beispielen können die Bilddaten Einzelbilder oder Videodaten umfassen. Verwendung des trainierten Bildklassifizierers kann Überwachen einer Umgebung durch eine Überwachungseinrichtung umfassen. Zusätzlich oder als Alternative können die Verfahren des ersten und zweiten Aspekts Überwachen einer Vorrichtung durch eine Überwachungsvorrichtung umfassen. In einigen Beispielen können Bilddaten der Umgebung durch die Überwachungsvorrichtung aufgezeichnet werden (z. B. durch eine Bildgebungsvorrichtung wie eine Digitalkamera, die sich zum Beispiel an der Überwachungsvorrichtung befindet oder sich getrennt mit der Überwachungsvorrichtung in Kommunikation befindet). In einem nächsten Schritt kann das trainierte Bildklassifizierernetz zum Klassifizieren der aufgezeichneten Bilddaten verwendet werden.
-
In einigen Beispielen kann ein Umgebungszustand der überwachten Umgebung auf der Basis der klassifizierten Bilddaten kontrolliert werden. Zusätzlich oder als Alternative kann die Vorrichtung auf der Basis der klassifizierten Bilddaten kontrolliert werden. In einigen Beispielen kann auf der Basis der klassifizierten Bilddaten ein Statusindikator hinsichtlich eines Umgebungszustands der überwachten Umgebung erzeugt werden. Zusätzlich oder als Alternative kann auf der Basis der klassifizierten Bilddaten ein Statusindikator hinsichtlich eines Status der Vorrichtung erzeugt werden.
-
In einem Beispiel kann die Überwachungsvorrichtung die Umgebung mindestens eines halbautonomen Roboters überwachen. In anderen Beispielen kann die Überwachungsvorrichtung in einem Herstellungs- oder Untersuchungssystem oder in einem medizinischen Bildgebungssystem eingesetzt werden. In einigen Beispielen, bei denen die Überwachungsvorrichtung in einem medizinischen Bildgebungssystem eingesetzt wird, können die vorliegenden Techniken ferner Ausgeben von Diagnostikergebnissen durch das medizinische Bildgebungssystem auf der Basis der klassifizierten Bilddaten umfassen.
-
In einigen Beispielen kann der halbautonome Roboter ein Industrieroboter, ein Haushaltsroboter oder ein mindestens halbautonomes Fahrzeug sein. Die Techniken der vorliegenden Offenbarung können ferner Steuern eines Herstellungsprozesses und/oder von Qualitätssicherung von Produkten durch den Industrieroboter oder einer Funktionsweise des autonomen Fahrzeugs auf der Basis der klassifizierten Bilddaten umfassen. In einigen Beispielen kann auf der Basis des Klassifizierungsschritts des Bildklassifizierernetzes eine automatische Reaktion ausgelöst werden. In einigen Beispielen kann die Reaktion Angabe des Zustands auf einer grafischen Benutzeroberfläche und/oder Bereitstellung von Informationen hinsichtlich des Zustands einer entfernten Vorrichtung umfassen. Zusätzlich oder als Alternative kann die Reaktion Erzeugung eines Alarms und/oder Ändern oder Stoppen eines Betriebs einer überwachten Vorrichtung involvieren.
-
Bei den vorliegenden Techniken in Bezug auf die Überwachungsvorrichtung, die in einem Herstellungs- oder Untersuchungssystem verwendet wird, kann auf der Basis des Klassifizierungsschritts des Bildklassifizierernetzes eine Reaktion automatisch ausgelöst werden. In einigen Beispielen kann diese Reaktion umfassen, anzugeben, ob eine Komponente oder ein Teil, die bzw. das hergestellt und/oder untersucht wird, als normal oder abnorm klassifiziert wird. In einigen Beispielen, bei denen die Überwachungsvorrichtung in einem Herstellungs- oder Untersuchungssystem (zum Beispiel einer Herstellungs- oder Untersuchungslinie für Leiterplatten (PCB)) verwendet wird, können die Techniken der vorliegenden Offenbarung ferner Scannen einer Vielzahl von Komponenten oder Teilen (z. B. durch eine Bildgebungsvorrichtung wie eine Kamera) involvieren. In einem nächsten Schritt kann eine Komponente oder ein Teil der Vielzahl von Komponenten oder Teilen als normal ohne Defekt oder defekt als einen Defekt aufweisend klassifiziert werden. In einigen Beispielen können die vorliegenden Techniken als Reaktion auf Klassifizieren der Komponente oder des Teils als defekt Bestimmen, ob der Defekt von der bekannten Klasse aus der Vielzahl bekannter Klassen oder der unbekannten Klasse ist, involvieren. In einigen Beispielen können die vorliegenden Techniken effizient sein, wenn die Objekte/Produkte im Eingangsbereich sich eine ähnliche Struktur teilen. Zum Beispiel können im Kontext der PCB- bzw. Leiterplatten-Produktpipeline, die verschiedene Entwürfe von PCB produzieren kann, alle PCB gemeinsame Komponenten (z. B. Transistoren, Chips usw.) aufweisen. Wenn sie einige Defekte aufweisen, werden die Defekte gewöhnlich als unterschwellige (d.h. feinkörnige) Änderungen in Bildern erscheinen, wie etwa versehentliche Mischung falscher Arten von Transistoren oder Chips über Entwürfe von PCB hinweg. In einigen Beispielen kann es durch Verwendung der vorliegenden Technik des Erzeugens einer Trainingsdatenmenge für ein Bildklassifizierernetz auf der Basis einer Rekombination der aus den Bildstichproben der anfänglichen Trainingsmenge extrahierten lokalen Merkmale möglich sein, das Bildklassifizierernetz an einer solchen falschen Mischung effizient lernen zu lassen. Zum Beispiel kann das trainierte Bildklassifizierernetz mehrere PCB als zu derselben Defektklasse gehörend klassifizieren, obwohl sich derselbe Teil (z. B. Transistor oder Chip) dieser PCB fälschlicherweise an verschiedenen räumlichen Orten befindet. Bei den vorliegenden Techniken kann es ausreichend sein, wenn diese Klassifikation nur eine einzige „repräsentative“ Bildstichprobe mit einem solchen Ort defekter Komponenten auf einer PCB in der anfänglichen Trainingsdatenmenge bereitstellt.
-
Bei einigen Ausführungsformen kann die Komponente oder der Teil (z. B. eine PCB) zu einer nächsten Stufe der Produktionspipeline weitergeleitet werden, wenn die Komponente oder der Teil als normal klassifiziert wird. In einigen Beispielen kann die defekte Komponente oder der defekte Teil zu einem vordefinierten Handhabungsmodul weitergeleitet werden, wenn der bestimmte Defekt von der bekannten Klasse ist. In anderen Beispielen kann das defekte Produkt zu einer detaillierten Untersuchung weitergeleitet werden, wenn der bestimmte Defekt von der unbekannten Klasse ist.
-
Ein dritter Aspekt stellt ein computerimplementiertes System bereit, das dafür ausgelegt ist, ein Bildklassifizierernetz für eine Vorrichtung gemäß den Techniken des zweiten Aspekts oder seinen Ausführungsformen zu erzeugen und/oder zu verwenden. Das computerimplementierte System kann mindestens einen Prozessor, mindestens einen Speicher (der Programme umfassen kann, die, wenn sie ausgeführt werden, die Verfahrensschritte gemäß dem ersten und/oder zweiten Aspekt ausführen) und mindestens eine Schnittstelle für Eingaben und Ausgaben umfassen. In einigen Beispielen kann das computerimplementierte System eine selbständige Computervorrichtung sein. In anderen Beispielen kann das computerimplementierte System in eine Computervorrichtung oder ein System integriert sein, die bzw. das auch anderen Zwecken als Ausführen der Schritte der Techniken der vorliegenden Offenbarung dient. In noch anderen Beispielen kann das computerimplementierte System ein verteiltes System sein, das über ein Netzwerk (z. B. das Internet) kommuniziert.
-
Ein vierter Aspekt stellt ein Computerprogramm bereit, das dafür ausgelegt ist, beliebige der Schritte der Techniken gemäß dem ersten und/oder zweiten Aspekt auszuführen.