DE112018000349T5 - Visuelles Analysesystem für auf einem konvolutionalen neuronalen Netz basierte Klassifizierer - Google Patents

Visuelles Analysesystem für auf einem konvolutionalen neuronalen Netz basierte Klassifizierer Download PDF

Info

Publication number
DE112018000349T5
DE112018000349T5 DE112018000349.3T DE112018000349T DE112018000349T5 DE 112018000349 T5 DE112018000349 T5 DE 112018000349T5 DE 112018000349 T DE112018000349 T DE 112018000349T DE 112018000349 T5 DE112018000349 T5 DE 112018000349T5
Authority
DE
Germany
Prior art keywords
classes
cells
sample images
classification model
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112018000349.3T
Other languages
English (en)
Inventor
Bilal Alsallakh
Amin Jourabluo
Mao Ye
Xiaoming Liu
Liu Ren
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE112018000349T5 publication Critical patent/DE112018000349T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Abstract

Ein visuelles Analyseverfahren und -system wird für die Visualisierung einer Operation eines Bildklassifizierungsmodells offenbart, das mindestens eine konvolutionale neuronale Netzschicht aufweist. Das Bildklassifizierungsmodell klassifiziert Probebilder in eine aus einem vorgegebenen Satz möglicher Klassen. Das visuelle Analyseverfahren bestimmt eine vereinheitlichte Sortierung des vorgegebenen Satzes möglicher Klassen basierend auf einer Ähnlichkeitshierarchie, sodass Klassen, die sich gegenseitig ähneln, zusammen in der vereinheitlichten Sortierung klassifiziert werden. Das visuelle Analyseverfahren zeigt verschiedene grafische Darstellungen an, darunter einen Klassenhierarchieviewer, eine Verwirrungsmatrix und eine Reaktionskarte. In jedem Fall sind die Elemente der grafischen Darstellungen der vereinheitlichten Sortierung entsprechend angeordnet. Unter Verwendung des Verfahrens kann ein Benutzer den Schulungsprozess des Modells besser verstehen, die Trennleistung der verschiedenen Merkmalsdetektoren des Modells diagnostizieren und die Architektur des Modells verbessern.

Description

  • Diese Anmeldung beansprucht die Priorität der provisorischen US-Anmeldung mit Seriennr. 62/537,613 , eingereicht am 27. Juli 2017, deren Offenbarung hierin durch Verweis in ihrer Gesamtheit eingeschlossen wird.
  • GEBIET DER ERFINDUNG
  • Die Vorrichtung und das Verfahren, die in diesem Dokument offenbart werden, beziehen sich auf konvolutionale neuronale Netze und genauer auf visuelle Analysen für konvolutionale neuronale Netze.
  • ALLGEMEINER STAND DER TECHNIK
  • Wenn nicht hierin anders angegeben, sind die in diesem Abschnitt beschriebenen Materialien nicht der Stand der Technik für die Ansprüche aus dieser Anmeldung und werden nicht durch Einschluss in diesen Abschnitt Teil des Stands der Technik.
  • Objekterkennung ist ein grundlegendes Problem in der Computersicht, das die Klassifizierung eines Bilds in einer vorgegebenen Anzahl von Klassen umfasst. Konvolutionale neuronale Netze (CNNs) haben dank der Verfügbarkeit großer und beschrifteter Datensätze und leistungsstarker Rechnerinfrastruktur in diesem Bereich Ergebnisse auf dem Stand der Technik erreicht. CNNs extrahieren automatisch unterscheidende Klassifizierungsmerkmale aus Schulungsbildern und verwenden diese in Kombination zum Erkennen komplexer Objekte. Dies ermöglicht es CNNs, bei großen Datensätzen besser als traditionelle Computersichtansätze wie ImageNet zu funktionieren, da sich letztere zumeist auf heuristische Merkmale verlassen.
  • Um CNNs für kritische Domains verwendbar zu machen, ist es wichtig, die Zuverlässigkeit der Merkmale zu bewerten, die sie lernen, und mögliche Gründe hinter Klassifizierungsfehlern zu verstehen. Eine Reihe von Techniken wurden vorgeschlagen, um diese Merkmale in dem Bildraum zu visualisieren. Es wurde jedoch wenig Fokus auf die Visualisierung des Klassifizierungsfehlers selbst und die entsprechende Verfeinerung der CNNs gelegt.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Ein Verfahren zur Visualisierung des Betriebs eines Bildklassifizierungsmodells, das mehrere neuronale Netzwerkschichten aufweist, die mindestens eine konvolutionale Schicht umfassen, wird offenbart. Das Verfahren umfasst: Empfang mehrerer tatsächlicher Klasselabels mit einem Prozessor, wobei jedes tatsächliche Klasselabel mit einem jeweiligen Probebild aus mehreren Probebildern assoziiert ist, wobei jedes tatsächliche Klasselabel einer aus vorgegebenen mehreren Klassen entspricht; Empfang mehrerer Ausgaben des Bildklassifizierungsmodells mit dem Prozessor, wobei jede Ausgabe durch das Bildklassifizierungsmodell in Reaktion auf ein jeweiliges Probebild aus den mehreren Probebildern bereitgestellt wird; Bestimmung einer sequenziellen Reihenfolge der vorgegebenen mehreren Klassen mit dem Prozessor basierend auf einer Ähnlichkeitshierarchie der Klassen in den vorgegebenen mehreren Klassen, wobei die Ähnlichkeitshierarchie mehrere Gruppen ähnlicher Klassen in den vorgegebenen mehreren Klassen definiert; und Anzeige einer grafischen Darstellung der mehreren Ausgaben mit einer Anzeigevorrichtung, wobei die grafische Darstellung Grafikelemente umfasst, die die mehreren Ausgaben codieren, die visuell der bestimmten sequenziellen Reihenfolge der bestimmten mehreren Klassen entsprechend angeordnet sind.
  • Ein visuelles Analysesystem zur Visualisierung des Betriebs eines Bildklassifizierungsmodells, das mehrere neuronale Netzwerkschichten aufweist, die mindestens eine konvolutionale Schicht umfassen, wird offenbart. Das visuelle Analysesystem umfasst: eine Anzeigevorrichtung; einen Speicher, konfiguriert, mehrere Probebilder und mehrere tatsächliche Klasselabels zu speichern, wobei jedes tatsächliche Klasselabel mit einem jeweiligen Probebild aus den mehreren Probebildern assoziiert ist, und jedes tatsächliche Klasselabel einer der vorgegebenen mehreren Klassen entspricht; und einen Prozessor, der operativ mit der Anzeigevorrichtung und dem Speicher verbunden ist. Der Prozessor ist konfiguriert zum: Empfangen der mehreren tatsächlichen Klasselabels aus dem Speichern; Empfang mehrerer Ausgaben des Bildklassifizierungsmodells, wobei jede Ausgabe durch das Bildklassifizierungsmodell in Reaktion auf ein jeweiliges Probebild aus den mehreren Probebildern bereitgestellt wird; Bestimmung einer sequenziellen Reihenfolge der vorgegebenen mehreren Klassen basierend auf einer Ähnlichkeitshierarchie der Klassen in den vorgegebenen mehreren Klassen, wobei die Ähnlichkeitshierarchie mehrere Gruppen ähnlicher Klassen in den vorgegebenen mehreren Klassen definiert; und Betrieb der Anzeigevorrichtung zur Anzeige einer grafischen Darstellung der mehreren Ausgaben, wobei die grafische Darstellung Grafikelemente umfasst, die die mehreren Ausgaben codieren, die visuell der vorgegebenen sequenziellen Reihenfolge der bestimmten mehreren Klassen entsprechend angeordnet sind.
  • Figurenliste
  • Die obigen Aspekte und anderen Merkmale des Verfahrens und Systems werden in der folgenden Beschreibung erklärt, die in Verbindung mit den beiliegenden Zeichnungen verwendet wird.
    • 1 zeigt ein Blockdiagramm einer beispielhaften Ausführungsform eines visuellen Analysesystems.
    • 2 zeigt ein beispielhaftes Bildklassifizierungsmodell, das mindestens ein konvolutionales neuronales Netz (CNN) aufweist.
    • 3 zeigt einen Überblick einer beispielhaften Hauptbenutzerschnittstelle des visuellen Analyseprogramms.
    • 4 zeigt ein logisches Ablaufdiagramm für ein Verfahren zur Visualisierung eines Betriebs eines Bildklassifizierungsmodells, das mindestens eine konvolutionale Schicht aufweist.
    • 5 zeigt eine Detailansicht des Klassenhierarchieviewers der Hauptbenutzerschnittstelle.
    • 6 zeigt eine Detailansicht der Verwirrungsmatrix der Hauptbenutzerschnittstelle.
    • 7 zeigt eine Detailansicht der Reaktionskarte der Hauptbenutzerschnittstelle.
    • 8 zeigt die Ausbildung eines linearisierten Reaktionsprofils von Neuronen in einer gewählten neuronalen Netzschicht des Bildklassifizierungsmodells.
    • 9 zeigt eine Hilfsansicht, die eine Korrelationsmatrix auf Klassenebene, eine Reaktionskarte, und einen Sampleviewer aufweist.
    • 10 zeigt eine Detailansicht des Sampleviewers der Hauptbenutzerschnittstelle.
    • 11 zeigt beispielhafte Saliency-Maps für ein beispielhaftes Neuron, das auf Probebilder von Objekten mit Punkten reagiert.
    • 12 zeigt eine beispielhafte Verbesserung des Bildklassifizierungsmodells aus 2.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Zum Zweck der Förderung eines Verständnisses der Grundsätze der Offenbarung wird nun auf die Ausführungsformen verwiesen, die in den Zeichnungen illustriert und in der folgenden schriftlichen Spezifikation beschrieben sind. Es versteht sich, dass hiermit keine Begrenzung des Umfangs der Offenbarung vorgesehen ist. Es versteht sich ferner, dass diese Offenbarung außerdem alle Änderungen und Modifikationen der illustrierten Ausführungsformen enthält und weitere Anwendungen der Grundsätze der Offenbarung enthält, die einem Fachmann, an den diese Offenbarung gerichtet ist, normalerweise auffallen würden.
  • Visuelles Analysesystem
  • 1 zeigt ein Blockdiagramm einer beispielhaften Ausführungsform eines visuellen Analysesystems 10 zur Visualisierung einer Leistung, der Operation und von Ausgaben eines auf einem konvolutionalen neuronalen Netz (CNN) basierten Bildklassifizierungsmodells. Das visuelle Analysesystem 10 ist typischerweise in einem Gehäuse, Schrank oder dergleichen 12 bereitgestellt, das in einer für eine Rechnervorrichtung typischen Weise konfiguriert ist. In der illustrierten Ausführungsform umfasst das visuelle Analysesystem 10 einen Prozessor 14, einen Speicher 16, eine Anzeige 18, eine Benutzerschnittstelle 20 und ein Netzwerkkommunikationsmodul 22. Es versteht sich jedoch, dass die illustrierte Ausführungsform des visuellen Analysesystems 10 nur eine beispielhafte Ausführungsform eines visuellen Analysesystems 10 ist und nur repräsentativ für eine der verschiedenen Weisen oder Konfigurationen eines visuellen Analysesystems, persönlichen Computers, Laptopcomputers, Servers oder anderer Datenverarbeitungssysteme ist, die in der hierin beschriebenen Weise funktionieren, ist.
  • Der Prozessor 14 ist konfiguriert zum Ausführen der Anweisungen zum Betrieb des visuellen Analysesystems 10 um die Merkmale, Funktion, Eigenschaften und/oder dergleichen wie hierin beschrieben zu ermöglichen. Dazu ist der Prozessor 14 betrieblich mit dem Speicher 16, der Anzeige 18, der Benutzerschnittstelle 20, und dem Netzwerkkommunikationsmodul 22 verbunden. Der Prozessor 14 umfasst allgemein einen oder mehr Prozessoren, die parallel funktionieren oder anderweitig zusammenarbeiten können. Ein gewöhnlicher Fachmann wird erkennen, dass ein „Prozessor“ jedes Hardwaresystem, jeden Hardwaremechanismus oder jede Hardwarekomponente umfasst, die Daten, Signale oder andere Informationen verarbeiten. Dementsprechend kann der Prozessor 14 ein System mit einer zentralen Prozessoreinheit, mehreren Prozessoreinheiten oder dedizierten Schaltungen umfassen, um eine spezifische Funktion zu erreichen.
  • Der Speicher 16 kann jede Art von Vorrichtung sein, die in der Lage ist, Informationen zu speichern, auf die der Prozessor 14 zugreifen kann, wie etwa eine Speicherkarte, ROM, RAM, schreibfähige Speicher, reine Lesespeicher, Festplatten, Disks, Flashspeicher oder eines verschiedener anderer computerlesbarer Medien, die als Datenspeichervorrichtungen dienen, wie einem gewöhnlichen Fachmann auf dem Gebiet bekannt. Der Speicher 16 ist konfiguriert, Programmanweisungen 24 zum Ausführen durch den Prozessor 14 und Daten 26 zu speichern.
  • Die Programmanweisungen 24 umfassen mindestens ein visuelles Analyseprogramm 28. In einer Ausführungsform enthalten die Programmanweisungen 24 ferner ein auf einem konvolutionalen neuronalen Netz (CNN) basiertes Bildklassifizierungsmodell 30. In mindestens einer Ausführungsform enthalten die Daten 26 einen Bilddatensatz 32, der mehrere Bilder aufweist, die jeweils ein jeweiliges Klasselabel von einer definierten Anzahl (z. B. 1000) möglicher Klassen aufweisen. Der Bilddatensatz 32 kann durch das Bildklassifizierungsmodell 30 analysiert werden, um eine Klasse jedes jeweiligen Bilds vorherzusagen. In mindestens einer Ausführungsform umfassen die Daten 26 Klassifizierungsausgaben 34 des Bildklassifizierungsmodells 30 bezüglich des Bilddatensatzes 32, wie etwa vorhergesagte Klasselabels, Reaktionen einzelner Neuronen verschiedener konvolutionaler Schichten usw. Das visuelle Analyseprogramm 28 ist konfiguriert, einen Benutzer in die Lage zu versetzen, die Leistung, Operation und Ausgaben des Bildklassifizierungsmodells 30 zu visualisieren.
  • Das Netzwerkkommunikationsmodul 22 des visuellen Analysesystems 10 stellt eine Schnittstelle bereit, die Kommunikation mit einer von verschiedenen Vorrichtungen unter Verwendung verschiedener Mittel erlaubt. Insbesondere kann das Netzwerkkommunikationsmodul 22 einen Port für ein Ortsnetzwerk umfassen, der eine Kommunikation mit einem von verschiedenen örtlichen Computern erlaubt, die in derselben oder einer nahen Einrichtung enthalten sind. In einigen Ausführungsformen enthält das Netzwerkkommunikationsmodul 22 ferner einen Port für ein Wide-Area-Netzwerk, der Kommunikation mit externen Computern über das Internet erlaubt. Alternativ kommuniziert das visuelle Analysesystem 10 mit dem Internet über ein getrenntes Modem und/oder einen Router des Ortsnetzwerks. In einer Ausführungsform ist das Netzwerkkommunikationsmodul mit einem Wi-Fi-Transceiver oder einer anderen Drahtloskommunikationsvorrichtung ausgestattet. Dementsprechend ist zu verstehen, dass Kommunikation mit dem visuellen Analysesystem 10 über verkabelte Kommunikation oder über die Drahtloskommunikation auftreten kann. Kommunikation kann unter Verwendung eines von verschiedenen bekannten Kommunikationsprotokollen realisiert werden.
  • Das visuelle Analysesystem 10 kann örtlich oder extern durch einen Benutzer betrieben werden. Um den örtlichen Betrieb zu erleichtern, kann das visuelle Analysesystem 10 die Anzeige 18 und die Benutzerschnittstelle 20 enthalten. Über die Benutzerschnittstelle 20 kann ein Benutzer auf die Anweisungen zugreifen, die das visuelle Analyseprogramm 28 enthalten, und Daten von dem Speicher 16 abrufen und darauf speichern. In mindestens einer Ausführungsform kann die Anzeige 18 einen LCD-Anzeigebildschirm oder dergleichen enthalten. In mindestens einer Ausführungsform kann die Benutzerschnittstelle 20 geeigneterweise eine Maus oder eine andere Zeigervorrichtung, eine Tastatur oder ein Keypad, Lautsprecher und ein Mikrofon enthalten, wie durch einen gewöhnlichen Fachmann in dem Gebiet zu erkennen ist. Es versteht sich, dass die Anzeige 18 und Benutzerschnittstelle 20 auf oder in dem Gehäuse 12 integriert oder externe Vorrichtungen sein können, die betrieblich über eine Verbindung verbunden sind, die an dem Gehäuse 12 angeordnet ist (nicht dargestellt). Alternativ kann ein Benutzer in einigen Ausführungsformen das visuelle Analysesystem 10 extern von einer anderen Rechnervorrichtung aus bedienen, die damit über das Netzwerkkommunikationsmodul 22 in Kommunikation steht und eine analoge Anzeige und Benutzerschnittstelle aufweist.
  • Visuelles Analyseprogramm
  • Verfahren zum Betrieb des visuellen Analysesystems 10 sind nachfolgend beschrieben. Insbesondere Verfahren zum Betrieb des Prozessors 14 und/oder der Anzeige 18 zum Bereitstellen eines visuellen Analyseprogramms sind beschrieben. In der Beschreibung der Verfahren beziehen sich Aussagen, dass ein Verfahren eine Aufgabe oder Funktion ausführt, auf ein Steuergerät oder einen Allgemeinzweckprozessor (z. B. den Prozessor 14), der programmierte Anweisungen ausführt (z. B das visuelle Analyseprogramm 28 und/oder das Bildklassifizierungsmodell 30), die in nichttransitorischen computerlesbaren Speichermedien (z. B. dem Speicher 16) gespeichert sind, die operativ mit dem Steuergerät oder Prozessor verbunden sind, um Daten zu manipulieren, oder um eine oder mehr Komponenten in dem visuellen Analysesystem 10 zu bedienen, um die Aufgabe oder Funktion auszuführen. Es versteht sich, dass einige oder alle der Operationen des Verfahrens auch durch einen externen Server oder eine Cloudverarbeitungsinfrastruktur durchgeführt werden können. Weiterhin können die Schritte der Verfahren in jeder machbaren chronologischen Reihenfolge ausgeführt werden, unabhängig von der Reihenfolge, die in den Figuren gezeigt ist, oder der Reihenfolge, in der die Schritte beschrieben sind.
  • Weiterhin sind verschiedene Grafikelemente und visuelle Schnittstellen beschrieben. Die Beschreibung eines bestimmten Merkmals oder einer Anordnung der Grafikelemente bezieht sich auf eine Operation des Prozessors 12 und/oder der Anzeige 18 zum Anzeigen der Grafikelemente in der beschriebenen Weise. Weiterhin sind auch verschiedene Benutzerinteraktionen beschrieben, wie etwa Auswahl oder Klicken auf verschiedene Optionen, Buttons oder andere Grafikelemente, die sich auf die Benutzung einer oder mehr Komponenten der Benutzerschnittstelle 20 beziehen, wie etwa eine Maus oder eine Tastatur, und in jeder konventionellen Weise, um Benutzerinteraktionen mit Grafikelementen zu ermöglichen, und bezieht sich auf den Empfang eines Signals durch den Prozessor 12, das die Benutzerinteraktionen von der Benutzerschnittstelle 20 anzeigt und eine beschriebene Operation in Reaktion darauf durchführt.
  • Wie oben besprochen, enthält das visuelle Analysesystem 10 ein visuelles Analyseprogramm 28, das in dem Speicher 16 gespeichert ist. Das visuelle Analyseprogramm 28 ist konfiguriert, das visuelle Analysesystem 10 in die Lage zu versetzen, einem Benutzer zu erlauben, die Leistung, Operation, Schulung, Zwischenausgaben, Endausgaben usw. des Bildklassifizierungsmodells 30 zu visualisieren. Wie später ausführlich besprochen wird, verbessert das visuelle Analyseprogramm 28 die konventionellen visuellen Analyseverfahren, indem der Benutzer in die Lage versetzt wird, eine definierte oder implizierte Klassenhierarchie zu untersuchen, und ihre Auswirkung auf Klassenverwirrungsstrukturen und Merkmalsdetektoren zu analysieren, die in jeder Schicht der konvolutionalen neuronalen Netze des Bildklassifizierungsmodells 30 entwickelt sind.
  • 2 zeigt ein beispielhaftes Bildklassifizierungsmodell 30, das mindestens ein konvolutionales neuronales Netz (CNN) aufweist. CNNs sind eine spezielle Form von neuronalen Weiterleitungsnetzen, die eine Reihe konvolutionaler Schichten enthalten. Eine konvolutionale Schicht wirkt als lernfähiger Filter, der auf bestimmte Merkmale reagiert, wenn er mit einer 2D-Eingabe konvolviert wird, was zu einer gefilterten 2D-Ausgabe führt. In der illustrierten Ausführungsform ist das Bildklassifizierungsmodell 30 konfiguriert, zweidimensionale (2D) Eingabebilder 100 wie etwa Bilder aus dem Bilddatensatz 32 zu empfangen. Eine erste konvolutionale Schicht 102 wird auf die Eingabebilder 100 angewendet, und nachfolgende konvolutionale Schichten 104, 106, 108 und 110 werden auf die Ausgabe der jeweiligen vorhergehenden Schicht angewendet. Max Pooling wird nach den ersten, zweiten und fünften konvolutionalen Schichten 102, 104 und 110 angewendet, um die Dimensionalität der jeweiligen Ausgaben zu verringern. Die dritten und vierten konvolutionalen Schichten 106 und 108 sind jedoch ohne Max Pooling verbunden. Die Ausgabe der fünften konvolutionalen Schicht 110 wird an vollständig verbundene Schichten 112 bereitgestellt. Eine nichtlineare Aktivierung einer gleichgerichteten linearen Einheit (ReLU) wird auf die Ausgabe jeder konvolutionalen Schicht 102, 104, 106, 108 und 110 und jeder vollständig verbundenen Schicht 112 angewendet. Die Ausgabe der letzten vollständig verbundenen Schicht wird in eine 1000-Wege Soft-Max-Ausgabeschicht 114 eingegeben die eine Wahrscheinlichkeitsverteilung über 1000 verschiedene mögliche Klasselabels erzeugt. Während der Schulung werden mehrere Bilder, wie etwa die des Bilddatensatzes 32, die mit einem der 1000 verschiedenen Klasselabels markiert sind, an das Bildklassifizierungsmodell 30 bereitgestellt. Kernalwerte der konvolutionalen Filter werden über eine oder mehr Epochen durch Minimierung einer Verlustfunktion 116 gelernt und/oder optimiert. Es versteht sich, dass das illustrierte Bildklassifizierungsmodell 30 nur beispielhaft ist, und dass das visuelle Analyseprogramm 28 mit jedem CNN-basierten Bildklassifizierer bedient werden kann, der mehrere neuronale Netzschichten aufweist, einschließlich mindestens eine konvolutionale Schicht.
  • Nach der Schulung des Bildklassifizierungsmodells 30 werden die konvolutionalen Schichten 102, 104, 106, 108 und 110 zu Merkmalsdetektoren bezüglich des Eingabebilds 100. Geeignete Visualisierungstechniken können die Merkmale von den Eingabebildern zeigen, auf die diese gelernten Filter reagieren.
  • Das visuelle Analyseprogramm 28 integriert vorteilhaft drei Facetten der Klassifizierungsdaten (d. h. den Bilddatensatz 32 und die Klassifizierungsangaben 34) und bei Kontrolle des Bildklassifizierungsmodells 30: Eingabeproben, interne Darstellungen und Klassifizierungsergebnisse. Das visuelle Analyseprogramm 28 ermöglicht die skalierbare Kontrolle dieser drei Facetten der Klassifizierungsdaten, um: verschiedene Quellen von Klassifizierungsfehlern zu erkennen; die hierarchische Struktur der Klassen auszunutzen, um die Modellarchitektur, den Schulungsprozess und die Genauigkeit zu verbessern; und die Empfindlichkeit des Modells Datenvariationen gegenüber zu analysieren und ausgeglichene Schulungsdaten zu verwalten, die ihre Robustheit erhöht.
  • Als das Ziel der Klassifizierung ist die Klasseninformation die herausstechendste Information entlang der Klassifizierungspipeline. Sie ist in der beschrifteten Eingabe und in der Ausgabe vorhanden und bestimmt größtenteils die Merkmale, die durch die konvolutionalen Schichten des Bildklassifizierungsmodells 30 gelernt werden. Klassen weisen verschiedene Grade an Unterscheidbarkeit auf. Einige Klassen weisen einzigartige Merkmale auf, wie etwa Erdbeeren und Zebras, während andere Klassen sich ähnliche Merkmale teilen können und daher schwerer voneinander zu unterscheiden sind. Solche Ähnlichkeitsstrukturen in den Daten sind sehr wertvolle Informationen, die potenziell zum Verbessern von Klassifizierern führen können.
  • Mit wachsender Anzahl der Klassen werden die Ähnlichkeitsstrukturen zwischen diesen komplex. Eine Schlüsselbeobachtung zu diesen Ähnlichkeitsstrukturen ist, dass sie oft hierarchischer Art sind, und Klassen innerhalb des selben Hierarchiezweigs sich gegenseitig immer ähnlicher werden als zu anderen Klassen. Das visuelle Analyseprogramm 28 ermöglicht einem Benutzer einfach das Aufzeigen und Analysieren der hierarchischen Ähnlichkeitsstruktur unter den Klassen und durch Analyse deren Auswirkungen auf die Klassifizierungsergebnisse und die bestimmten Bildmerkmale lernen die konvolutionalen Schichten zu erkennen.
  • 3 zeigt einen Überblick einer beispielhaften Hauptbenutzerschnittstelle 200 des visuellen Analyseprogramms 28. Die Hauptbenutzerschnittstelle 200 besteht aus vier primären grafischen Komponenten, die verschiedene Facetten von Daten anzeigen. Zuerst enthält die Hauptbenutzerschnittstelle 200 einen Klassenhierarchieviewer 210, konfiguriert, eine Hierarchie mehrerer möglicher Klasselabels zu illustrieren, die Bildern des Bilddatensatzes 32 zugeordnet werden können. Die Hauptbenutzerschnittstelle 200 enthält ferner ein Hauptfenster 220, das entweder eine Verwirrungsmatrix 230 (wie dargestellt) oder eine Reaktionskarte 235 bereitstellt (nur in 7 dargestellt). Eine Option 240 wird in der in der Hauptbenutzerschnittstelle 200 bereitgestellt, die einem Benutzer ermöglicht, selektiv zwischen der Anzeige der Verwirrungsmatrix 230 (wie dargestellt) und der Anzeige der Reaktionskarte 235 in dem Hauptfenster 220 umzuschalten. Die Verwirrungsmatrix 30 vergleicht ein tatsächliches Klasselabel mit einem vorhergesagten Klasselabel für jedes Probebild in dem Bilddatensatz 32 (d. h. Endausgaben des Modells 30). Im Gegensatz dazu zeigt die Reaktionskarte 235, die in 7 dargestellt ist, eine durchschnittliche Reaktion verschiedener Neuronen einer gewählten neuronalen Netzschicht des Bildklassifizierungsmodells 30 auf jede Klasse von Bildern aus dem Bilddatensatz 32 (d. h. Zwischenausgaben des Modells 30). Der Klassenhierarchieviewer 210, die Verwirrungsmatrix 230 und die Reaktionskarte 235 zeigen jeweils Ausgaben an, die auf Klassenebene aggregiert werden und visuell einer vereinheitlichten Klassensortierung entsprechend angeordnet sind, die durch die Klassenhierarchie diktiert wird. Schließlich enthält die Hauptbenutzerschnittstelle 200 ferner einen Sampleviewer 250, der beispielhafte Probebilder aus dem Bilddatensatz 32 zeigt, die einer Benutzerauswahl in dem Klassenhierarchieviewer 210, der Verwirrungsmatrix 230 oder der Reaktionskarte 235 entsprechen. In einer Ausführungsform enthält die Hauptbenutzerschnittstelle 200 ferner ein Einstellungsmenü 260, das mehrere Optionen zum Anpassen von Merkmalen des Klassenhierarchieviewers 210, der Verwirrungsmatrix 230, der Reaktionskarte oder des Sampleviewers 250 aufweist. Die illustrierten Optionen sind nur beispielhaft, und alle Einstellungen, Buttons, Optionen und Parameter, die hierin besprochen werden, können über ein Grafikelement in dem Einstellungsmenü 260 angepasst werden. Jede der vier grafischen Hauptkomponenten der Hauptbenutzerschnittstelle 200 trägt zu verschiedenem Grad zu den Analysenaufgaben auf hoher Ebene bei, die oben besprochen werden, umfassend: Identifizierung verschiedener Quellen von Klassifizierungsfehlern; Ausnutzung der hierarchischen Struktur der Klassen zum Verbessern der Modellarchitektur, des Schulungsprozesses und der Genauigkeit; und Analyse der Empfindlichkeit des Modells Datenvariationen gegenüber und die Verwaltung von ausgeglichenen Schulungsdaten, die ihre Robustheit erhöhen.
  • 4 zeigt ein logisches Ablaufdiagramm für ein Verfahren 300 zur Visualisierung eines Betriebs eines Bildklassifizierungsmodells, das mehrere neuronale Netzschichten aufweist, die mindestens eine konvolutionale Schicht umfassen. Das Verfahren 300 verbessert die Funktion des visuellen Analysesystems 10 und genauer die Funktion des Prozessors 14 des visuellen Analysesystems 10 durch vorteilhafte Bereitstellung einer grafischen Darstellung der Ausgaben des Bildklassifizierungsmodells 30, in dem die Grafikelemente, die die Ausgaben repräsentieren, visuell nach einer Ähnlichkeit der Klasselabels angeordnet sind. So werden Ausgabedaten für ähnliche Bildklassen zusammengeclustert, was es leichter macht, Quellen von Klassifizierungsfehlern zu identifizieren.
  • Das Verfahren 300 beginnt mit einem Schritt des Empfangs mehrerer tatsächlicher Klasselabels, wobei jedes tatsächliche Klasselabel mit einem jeweiligen Probebild aus mehreren Probebildern assoziiert ist, und jedes tatsächliche Klasselabel einer aus vorgegebenen mehreren Klassen (Block 310) entspricht. Insbesondere bezüglich der hierin ausführlich beschriebenen Ausführungsformen ist der Prozessor 14 des visuellen Analysesystems 10 konfiguriert, Programmanweisungen des visuellen Analyseprogramms 28 auszuführen, um aus dem Speicher 16 mehrere tatsächliche Klasselabels zu erhalten und/oder zu lesen, die mit entsprechenden mehreren Probebildern aus dem Bilddatensatz 32 assoziiert sind. In mindestens einer Ausführungsform ist jedes Klasselabel in dem Speicher 16 in Assoziation mit dem entsprechenden Bild aus dem Bilddatensatz 32 gespeichert. In mindestens einer Ausführungsform ist jedes Klasselabel eines aus einem vorgegebenen und geschlossenen Satz möglicher Klasselabels (z. B. 1000 mögliche Klassen). In einigen Fällen empfängt der Prozessor 14 Klasselabels für alle Bilder aus dem Bilddatensatz 32. In anderen Fällen empfängt der Prozessor 14 Klasselabels nur für einen bestimmten ausgewählten Teilsatz der Bilder aus dem Bilddatensatz 32. Die mehreren Bilder, für die ein Klasselabel empfangen wird, können hierin als die Probebilder aus dem Bilddatensatz 32 bezeichnet werden, für die Daten verarbeitet und grafisch durch das visuelle Analyseprogramm 28 dargestellt werden.
  • Das Verfahren 300 fährt mit einem Schritt fort, mehrere Ausgaben des Bildklassifizierungsmodells zu empfangen, wobei jede Ausgabe durch das Bildklassifizierungsmodell in Reaktion auf ein jeweiliges Probebild aus den mehreren Probebildern (Block 320) bereitgestellt wird. Insbesondere bezüglich der hierin ausführlich beschriebenen Ausführungsformen ist der Prozessor 14 konfiguriert, Programmanweisungen des visuellen Analyseprogramms 28 auszuführen, um von dem Speicher 16 mehrere Ausgaben von mindestens einer neuronalen Netzschicht des Bildklassifizierungsmodells 30 zu empfangen und/oder zu lesen, das auf jedes Probebild aus dem Bilddatensatz 32 reagiert, für das ein Klasselabel empfangen wurde. In mindestens einer Ausführungsform umfasst die empfangene Ausgabe eine Endausgabe der Ausgabeschicht 114 des Bildklassifizierungsmodells für jedes Probebild umfasst eine Wahrscheinlichkeitsverteilung über jedes mögliche Klasselabel. In mindestens einer Ausführungsform umfasst die empfangene Ausgabe für jedes Probebild ein vorhergesagtes Klasselabel für das jeweilige Bild, das dem wahrscheinlichsten Klasselabel nach der Endausgabe der Ausgabeschicht 114 entspricht.
  • In mindestens einer Ausführungsform für jedes Probebild umfasst die empfangene Ausgabe eine Zwischenausgabe einer Zwischenschicht des Bildklassifizierungsmodells 30. In mindestens einer Ausführungsform umfasst die empfangene Ausgabe für jedes Probebild eine Reaktion und/oder Aktivierung von einem oder mehr Neuronen einer oder mehr ausgewählter konvolutionaler Schichten 102, 104, 106, 108 oder 110. In mindestens einer Ausführungsform für jedes Probebild umfasst die empfangene Ausgabe eine Reaktion und/oder Aktivierung der Neuronen individueller Filter und/oder Kernel von einer oder mehr bestimmten konvolutionalen Schichten 102, 104, 106, 108 oder 110. In mindestens einer Ausführungsform für jedes Probebild umfasst die empfangene Ausgabe eine Reaktion und/oder Aktivierung einzelner Neuronen einer oder mehr bestimmter neuronaler Netzwerkschichten 102, 104, 106, 108, 110 oder 112.
  • In mindestens einer Ausführungsform ist der Prozessor 14 konfiguriert, Anweisungen des Bildklassifizierungsmodells 30 auszuführen, um die oben beschriebenen Ausgaben bezüglich jedes der Probebilder zu erzeugen. In einer Ausführungsform ist der Prozessor 14 konfiguriert, die Ausgaben in dem Speicher 16 (d.h. die Klassifizierungsausgaben 34) für spätere Verwendung durch das visuelle Analyseprogramm 28 zu speichern. In einigen Ausführungsformen können jedoch die oben beschriebenen Ausgaben durch eine externe Rechnervorrichtung erzeugt werden und der Prozessor 14 ist konfiguriert, das Netzwerkkommunikationsmodul 22 zu bedienen, die Ausgaben von der externen Rechnervorrichtung zu empfangen.
  • Das Verfahren 300 fährt mit einem Schritt fort, eine sequenzielle Sortierung der vorgegebenen mehreren Klassen basierend auf einer Ähnlichkeitshierarchie der Klassen in den vorgegebenen mehreren Klassen zu bestimmen, wobei die Ähnlichkeitshierarchie mehrere Gruppen ähnlicher Klassen in den vorgegebenen mehreren Klassen definiert (Block 330). Insbesondere ist der Prozessor 14 bezüglich der hierin ausführlich beschriebenen Ausführungsformen konfiguriert, Programmanweisungen des visuellen Analyseprogramms 28 auszuführen, um eine sequenzielle Sortierung des vorgegebenen Satzes möglicher Klasselabels zu bestimmen. Der Prozessor 14 ist konfiguriert, die sequenzielle Sortierung der möglichen Klasselabels basierend auf einer Ähnlichkeitshierarchie der möglichen Klasselabels zu bestimmen. Wie hierin verwendet, bezieht sich eine „Ähnlichkeitshierarchie“ auf eine oder mehr Gruppen ähnlicher Klassen und/oder Gruppenlabels, die Gruppen ähnlicher Klasselabels zugewiesen sind. Beispielsweise kann ein Gruppenlabel „Biene“ einer Gruppe von Klasselabels zugewiesen werden, die die Klasselabels „Honigbiene“ und „Hummel“ enthält. Weiterhin kann die Ähnlichkeitshierarchie Gruppen ähnlicher Gruppen und/oder Gruppenlabels enthalten, die einer Gruppe ähnlicher Gruppenlabels zugewiesen sind. Beispielsweise kann ein Gruppenlabel „Wirbeltiere“ einer Gruppe von Gruppenlabels zugewiesen werden, die die Gruppenlabels „Fisch“, „Reptil“, „Vogel“ und „Säugetier“ enthält. In einigen Ausführungsformen kann eine vorgegebene Klassenhierarchie für den Bilddatensatz 32 und den Satz möglicher Klasselabels verfügbar sein. In einigen Ausführungsformen ist der Prozessor 14 konfiguriert, einen Serialisierungsalgorithmus zu verwenden, um die Hierarchie zu bestimmen. In einigen Ausführungsformen, die nachfolgend ausführlicher besprochen werden, kann der Benutzer interaktiv die Hierarchie unter Verwendung der Hauptbenutzerschnittstelle 200 definieren.
  • Basierend auf der Ähnlichkeitshierarchie ist der Prozessor 14 konfiguriert, die sequenzielle Sortierung der möglichen Klasselabels zu bestimmen. In mindestens einer Ausführungsform ist der Prozessor 14 konfiguriert, Klasselabels, die mit einem gemeinsamen Gruppenlabel assoziiert sind, die aneinander angrenzen und/oder geclustert sind, in der sequenziellen Sortierung einzuschließen. In mindestens einer Ausführungsform ist der Prozessor 14 konfiguriert, Gruppen von Klasselabels, die mit einer gemeinsamen Gruppe von Gruppenlabels assoziiert sind, die aneinander angrenzen und/oder geclustert sind, in der sequenziellen Sortierung einzuschließen. Beispielsweise ist an einen Satz möglicher Klasselabels zu denken, der „Adler“, „Katze“, „Frosch“, „Hund“, Krokodil“ und „Kolibri“ enthält. Die Gruppenlabels der Ähnlichkeitshierarchie definieren, dass „Katze“ und „Hund“ ein „Säugetier“ sind, dass „Frosch“ und „Krokodil“ ein „Reptil“ sind, dass „Adler“ und „Kolibri“ ein „Vogel“ sind, und dass „Säugetier“, „Reptil“ und „Vogel“ ein „Tier“ sind. Mit dem beispielhaften Satz möglicher Klasselabels und der beispielhaften Ähnlichkeitshierarchie kann der Prozessor 14 die sequenzielle Sortierung wie folgt definieren: (1) „Adler“, (2) „Kolibri“, (3) „Katze“, (4) „Hund“, (5) „Krokodil“ und (6) „Frosch“. Wie zu sehen ist, werden die Klassen jeder Gruppe „Säugetier“, „Reptil“ und „Vogel“ zusammengeclustert und alle Klassen in der breiteren Gruppe „Tier“ sind zusammengeclustert.
  • Das Verfahren 300 fährt mit einem Schritt fort, eine grafische Darstellung der mehreren Ausgaben anzuzeigen, wobei die grafische Darstellung Grafikelemente enthält, die die mehreren Ausgaben darstellen, die visuell der bestimmten sequenziellen Sortierung der vorgegebenen mehreren Klassen angeordnet sind (Block 340). Insbesondere ist der Prozessor 14 bezüglich der hierin ausführlich beschriebenen Ausführungsformen konfiguriert, Programmanweisungen des visuellen Analyseprogramms 28 auszuführen, um die Anzeige 18 zu bedienen, um eine grafische Darstellung der mehreren Ausgaben darzustellen, die bezüglich der Probebilder empfangen wurden. Die grafische Darstellung umfasst mehrere Grafikelemente, die die Ausgaben darstellen. Der Prozessor 14 ist konfiguriert, die Ausgaben und/oder die Grafikelemente anzuordnen, die die Ausgaben nach der bestimmten sequenziellen Sortierung der Klasselabels in der grafischen Darstellung darstellen. Mindestens der Klassenhierarchieviewer 210, die Verwirrungsmatrix 230 und die Reaktionskarte 235, die oben eingeführt wurden, sind beispielhafte Ausführungsformen einer solchen grafischen Darstellung. In jedem Fall sind die Ausgaben und/oder die Grafikelemente, die die Ausgaben darstellen, auf der Klassenebene aggregiert und der bestimmten sequenziellen Sortierung entsprechend sortiert. Der Klassenhierarchieviewer 210, die Verwirrungsmatrix 230 und die Reaktionskarte 235 sind nachfolgend ausführlicher mit einem beispielhaften Bilddatensatz beschrieben, wobei jeder mit einem von tausend möglichen Klasselabels beschriftet ist.
  • Klassenhierarchieviewer
  • 5 zeigt eine Detailansicht des Klassenhierarchieviewers 210 der Hauptbenutzerschnittstelle 200. Der Klassenhierarchieviewer 210 ist neben dem Hauptfenster 220 der Hauptbenutzerschnittstelle 200 (links dargestellt) angeordnet und zeigt die Klassensortierung zusammen mit der vertikalen Abmessung der Verwirrungsmatrix 230 und/oder Reaktionskarte 235 an. In der dargestellten Ausführungsform umfasst der Klassenhierarchieviewer 210 einen horizontalen Eiszapfenplot. Der Klassenhierarchieviewer 210 umfasst mehrere Rechtecke 402, die jeweils eine Gruppe von Klassen und/oder eine Gruppe von Gruppen von Klassen darstellen. Die Rechtecke 402 sind vertikal der bestimmten sequenziellen Sortierung entsprechend organisiert und horizontal der Ähnlichkeitshierarchie entsprechend organisiert. Insbesondere sind die Rechtecke 402 in mehreren vertikalen Spalten angeordnet, wobei jede Spalte mindestens ein Rechteck 402 enthält. Wie dargestellt, enthält die linke Spalte ein oder mehr Rechtecke 402, die die breiteste Gruppe oder Gruppen anzeigen, die alle möglichen Klassen umschließen (z. B. ein einziges Rechteck, das die Gruppe „physische Entität“ darstellt, wie dargestellt). Von links nach rechts enthalten die Spalten immer mehr Rechtecke 402, die immer mehr eng definierte Gruppen von Klassen und/oder Gruppen von Gruppen von Klassen enthalten (z. B. befinden sich Rechtecke, die die Gruppen „Stoff“ und „Objekt“ darstellen, in der zweiten Spalte von links, wie dargestellt). Die Rechtecke 402 weisen eine vertikale Höhe auf, die proportional zu der Gesamtanzahl der Klassen ist, die in die Gruppe fallen. Rechtecke 402, die mindestens eine vorgegebene vertikale Höhe aufweisen, sind mit einem Gruppennamen 404 beschriftet.
  • In mindestens einer Ausführungsform sind die Rechtecke 402 schattiert und/oder eingefärbt, um Gruppenebeneninformationen über die jeweilige Gruppe zu codieren, die basierend auf den empfangenen Ausgaben des Bildklassifizierungsmodells 30 für jedes der Probebilder aus dem Bilddatensatz 32 bestimmt wird. In mindestens einer Ausführungsform umfassen die Informationen auf Gruppenebene eine Klassifizierungsleistungsmetrik auf Gruppenebene. Insbesondere wenn die empfangenen Ausgaben ein vorhergesagtes Klasselabel für jedes der Probebilder aus dem Bilddatensatz 32 enthalten, ist der Prozessor 14 konfiguriert, eine Klassifizierungsleistungsmetrik auf Gruppenebene für jede jeweilige Gruppe und/oder jedes Rechteck 402 zu berechnen. Ein Bild ist bezüglich einer Gruppe korrekt klassifiziert, wenn sowohl seine tatsächliche als auch seine vorhergesagte Klasse in der Gruppe sind. Dies erlaubt die Definition der folgenden möglichen Metriken: (1) Präzision auf Gruppenebene, die misst, wie viele der Proben, die in einer Gruppe klassifiziert sind, tatsächlich zu der Gruppe gehören, (2) Abruf auf Gruppenebene, der misst, wie viele der Proben, die tatsächlich zu einer Gruppe gehören, in die Gruppe klassifiziert werden, und (3) F-Messung auf Gruppenebene, die auf der Präzision und dem Abruf auf Gruppenebene nach folgender Gleichung basiert: F 1 ( g ) = 2 × Precision ( g ) × Recall ( g ) Precision ( g ) + Recall ( g )
    Figure DE112018000349T5_0001
  • In einer Ausführungsform können die untergeordneten Rechtecke 402 eines übergeordneten Rechtecks 402 in der Hierarchie durch ein vom Benutzer gewähltes Kriterium wie etwa Größe oder Leistungsmetriken einsortiert werden. In einer Ausführungsform werden Rechtecke 402, die nur ein untergeordnetes Element aufweisen, kontrahiert, um die Hierarchie zu komprimieren und visuelle Artefakte durch anderweitig herausstechende lineare Zweige zu eliminieren. In einer Ausführungsform zeigt das Halten der Maus über einem Rechteck Informationen 406 zu der jeweiligen Gruppe, darunter ihr Gruppenlabel und eine Klassifizierungsleistungsmetrik auf Gruppenebene (z. B. „Vogel (94%)“). In einer Ausführungsform wählt das Klicken auf ein Rechteck 402 die entsprechenden Klassen aus und aktualisiert die anderen grafischen Darstellungen, um sich auf diese Klassen zu konzentrieren, wie etwa die Verwirrungsmatrix 230, die Reaktionskarte 235 und der Sampleviewer 250.
  • Verwirrungsmatrix
  • 6 zeigt eine Detailansicht der Verwirrungsmatrix 230 der Hauptbenutzerschnittstelle 200. Die Verwirrungsmatrix 230 stellt vorteilhaft eine ausführliche Visualisierung von Klassifizierungen und Fehlklassifizierung der Probebilder bereit, die dem Benutzer ermöglicht, leicht eine häufige Verwirrung zwischen bestimmten Klassen zu identifizieren. Die Verwirrungsmatrix 230 zeigt ferner Informationen zu Fehlerstruktur und Klassifiziererverhalten, wenn sie mit geeigneter Reihenfolge, visueller Codierung und Benutzerinteraktionen versehen ist.
  • Die Verwirrungsmatrix 230 umfasst mehrere Zellen, die in einem zweidimensionalen (2D) Gitter angeordnet sind. Jede Zelle 408 entspricht einer Kombination eines bestimmten tatsächlichen Klasselabels und eines bestimmten vorhergesagten Klasselabels. Jede Zelle 408 enthält ein Grafikelement (z. B. eine Farbe oder Schattierung der Zelle und/oder einen Punkt oder Fleck an dem Zellenort), das eine Ausgabe des Modells bezüglich der bestimmten Kombination eines tatsächlichen Klasselabels und eines vorhergesagten Klasselabels codiert. In mindestens einer Ausführungsform entsprechen die Farbe oder Schattierung der Zellen 408 einer Anzahl Bilder, die durch das Bildklassifizierungsmodell 30 klassifiziert wurden. In der dargestellten Ausführungsform zeigt die vertikale Bemessung und/oder Zeilen des zweidimensionalen Gitters eine tatsächliche Klasse des/der Probebild(er) an und die horizontale Abmessung und/oder Zeilen des zweidimensionalen Gitters zeigt eine vorhergesagten Klasse des/der Probebild(er) an. In mindestens einer Ausführungsform entspricht die vorhergesagte Klasse dem wahrscheinlichsten Klasselabel wie durch die Ausgabe der Ausgabeschicht 114 des Bildklassifizierungsmodells 30 vorhergesagt.
  • Die tatsächlichen Klassen der vertikalen Abmessungen entsprechen dem vorgegebenen Satz möglicher Klassen (z. B. 1000 mögliche Klassen) und werden entlang der vertikalen Abmessung nach sequenzieller Sortierung angeordnet, die basierend auf der Ähnlichkeitshierarchie bestimmt wurde, wie oben erklärt. Ähnlich entsprechen die vorhergesagten Klassen auch dem vorgegebenen Satz möglicher Klassen (z. B. 1000 möglicher Klassen) und sind entlang der horizontalen Abmessung auch nach der vorgegebenen sequenziellen Sortierung sortiert. In der illustrierten Ausführungsform sind die tatsächlichen Klassen 1 bis 1000 von oben nach unten sortiert und die vorhergesagten Klassen sind 1 bis 1000 von links nach rechts sortiert.
  • Korrekte Klassifizierungen werden durch Zellen entlang der Diagonale der Verwirrungsmatrix codiert. Weiterhin werden durch die sequenzielle Sortierung der Klassen basierend auf der Ähnlichkeitshierarchie ähnliche Klassen miteinander in der Verwirrungsmatrix geclustert. Daher ist zu beobachten, dass eine Mehrzahl der Zellen 408, die einer Fehlklassifizierung entsprechen, in der Nähe der Diagonalen auftreten. Die Sortierung zeigt Ähnlichkeitsgruppen unter den Klassen als Zellencluster, die hierin als Blockstrukturen 410 bezeichnet werden. Typischerweise findet die Mehrzahl der Verwirrung an Orten innerhalb einer Anzahl Blocks 410 entlang der Diagonale statt, die jeweils einer Gruppe ähnlicher Klassen entsprechen.
  • Neben einer geeigneten Klassensortierung kann die visuelle Codierung der Zellen eine wichtige Rolle bei der Offenbarung von Blockstrukturen 410 und deren Ausreißern spielen. Insbesondere ist in mindestens einer Ausführungsform der Prozessor 14 konfiguriert, für jede Zelle in der Verwirrungsmatrix 230 einen Wert jeder Zelle als eine Anzahl von Malen zu bestimmen, die die Klassifizierung oder Fehlklassifizierung aufgetreten ist. Der Prozessor 14 ist konfiguriert, die Zellen der Verwirrungsmatrix 230 unter Verwendung einer sequenziellen Farbskala anzuzeigen, die einem Wert 1 einen hellen Farbton zuweist und dem größten Wert einen dunklen Farbton zuweist. In einer Ausführungsform bleiben Zellen mit dem Wert 0 weiß, was die Identifizierung und Auswahl von Nichtnullzellen erleichtert, die tatsächliche Verwirrungen darstellen.
  • In einer Ausführungsform ist der Prozessor 14 standardmäßig konfiguriert, die Matrixdiagonale aus der visuellen Zuordnung auszuschließen und die Zellen weiß einzufärben, da die korrekten Klassifizierungen üblicherweise die Mehrzahl der Wertesumme in der Matrix ausmachen. Dies eliminiert eine andernfalls hervorspringende Diagonale, die feinkörnige Blockstrukturen stört. Die Genauigkeit pro Klasse kann geeigneter unter Verwendung der Klassenhierarchie oder in dem Sampleviewer angezeigt werden.
  • In dem Fall, dass eine vorgegebene Klassenhierarchie verfügbar ist, ist der Prozessor 14 konfiguriert, die Klassenhierarchie in dem Klassenhierarchieviewer 210 anzuzeigen und die Matrix entsprechend zu sortieren. Wenn eine solche Hierarchie jedoch nicht verfügbar ist, oder keine Blockstruktur 410 aufzeigt, kann die Hierarchie unter Verwendung des visuellen Analyseprogramms 28 definiert oder neu definiert werden. Insbesondere kann der Benutzer prüfen, ob eine solche Struktur existiert, indem er interaktiv einen oder mehr Seriationsalgorithmen anwendet. In mindestens einer Ausführungsform ist der Prozessor 14 konfiguriert, mindestens einen Seriationsalgorithmus anzuwenden, um Blockstrukturen in der Verwirrungsmatrix aufzuzeigen und einen Klassenhierarchieviewer 210 und die Verwirrungsmatrix 230 entsprechend zu sortieren. In mindestens einer Ausführungsform enthält das Einstellungsmenü 260 der Hauptbenutzerschnittstelle 200 eine Option zur Auswahl verschiedener Seriationsalgorithmen, wie etwa spektrales Clustering, sodass der Benutzer verschiedene Sortierungen der Verwirrungsmatrix 230 betrachten kann.
  • In einigen Ausführungsformen kann der Benutzer auf Rechtecke 402 des Klassenhierarchieviewers 210 klicken und sie ziehen, um die Verwirrungsmatrix umzusortieren. In einer Ausführungsform kann die Hierarchie rekursiv verfeinert werden. Insbesondere kann der Benutzer ein Rechteck 402 des Klassenhierarchieviewers 210 mit hoher Ebene (d. h. eines, das einer breiteren Gruppe entspricht), wählen und eine Option in dem Einstellungsmenü 260 anklicken, um einen Seriationsalgorithmus nur auf die Klassen innerhalb der gewählten Gruppe anzuwenden. In jedem Schritt wird die Verwirrungsmatrix 230 aktualisiert, um die Kontrolle der Plausibilität der berechneten Unterblocks zu erlauben und die algorithmischen Wahlen zu lenken. Wenn plausibel, wird der Hierarchieviewer 210 aktualisiert, um die konstruierte hierarchische Struktur zu reflektieren.
  • Nachdem die Klassenhierarchie und die entsprechenden Blockstrukturen 410 festgelegt werden, ist es möglich, zwischen nichtdiagonalen Matrixzellen basierend auf deren Ort in der Matrix zu unterscheiden. Vor allem Zellen, die sich in einer dichten Blockstruktur 410 befinden, stellen Verwirrungen zwischen stark ähnlichen Klassen dar. Im Gegensatz dazu stellen Zellen, die nicht zu einem Block 410 gehören, unerwartete Verwirrungen zwischen Klassen dar, die weniger verwandt zu sein scheinen, und die daher besonders interessant für weitere Verfolgung sind. Wir nennen diese Zellen Blockausreißer.
  • In einer Ausführungsform ist der Prozessor 14 konfiguriert, Kästen um die Blockstrukturen 410 anzuzeigen. In einer Ausführungsform ist der Prozessor 14 konfiguriert, automatisch eine definierte Anzahl von Blockstrukturen 410 in dem Plot unter Verwendung eines Partitionsalgorithmus zu identifizieren. In einer Ausführungsform enthält das Einstellungsmenü 260 der Hauptbenutzerschnittstelle 200 eine Option zur Vorgabe einer Anzahl Blocks b, die durch den Partiitonierungsalgorithmus identifiziert werden sollen. Der Prozessor 14 wählt eine Partitionierung, die die Zellewertdichte ihrer Blocks 410 maximiert. Die angezeigten Kästen bleiben während der Filterung erhalten, was hilft, die Blockmitgliedschaften zu verfolgen. In einer Ausführungsform unterteilt der Prozessor 14 die Verwirrungsmatrix 230 in b × b klickbare Regionen basierend auf den Blocks 410, was die Identifizierung und Auswahl von Blockausreißern vereinfacht.
  • Das visuelle Analyseprogramm 28 ermöglicht verschiedene Interaktionen mit der Verwirrungsmatrix. Diese Interaktionen sind wesentlich für die Identifizierung verschiedener Quellen von Klassifizierungsfehlern, und vor allem solchen, die mit Datenqualitätsproblemen zusammenhängen.
  • In einer Ausführungsform gibt es zwei Möglichkeiten, Probebilder über die Verwirrungsmatrix 230 zu wählen. Zuerst kann der Benutzer den Mauszeiger verwenden, um einen Kasten um bestimmte Zellen 408 zu ziehen. Zweitens kann der Benutzer in einer Ausführungsform ein Rechteck 402 des Klassenhierarchieviewers 210 wählen, um eine bestimmte Gruppe von Klassen auszuwählen. In Reaktion auf diese Auswahl ist der Prozessor 14 konfiguriert, vertikale und horizontale Bänder 412 anzuzeigen, die über die Verwirrungsmatrix 230 gelegt sind, was die Zellen 408 der Verwirrungsmatrix 230 markiert, die einer ausgewählten Gruppe von Klassen entsprechen. Die Bänder 412 markieren falsche Positivergebnisse (FPs) und falsche Negativergebnisse (FNs) bezüglich der gewählten Gruppe von Klassen. Der Schnittpunkt dieser Bänder 412 sind die Verwirrungen zwischen Klassen, die zu der gewählten Gruppe gehören und daher auf Gruppenebene echte Positivergebnisse (TPs) sind. In einer Ausführungsform können die Zellen 408 innerhalb der Bänder 412 unterschiedliche schattiert oder eingefärbt sein. In einigen Ausführungsformen werden die entsprechenden Zellen 408 unter Verwendung einiger anderer Verfahren markiert. Wie nachfolgend ausführlicher erklärt, wird der Sampleviewer 250 aktualisiert, um die gewählten Proben anzuzeigen, und erlaubt die einzelne Erforschung der TPs, FPs und FNs auf Gruppenebene.
  • In einer Ausführungsform umfasst das Einstellungsmenü 260 eine Option, über die der Benutzer eine logarithmische Zuordnung der Zellenwerte zu Farben wählen kann. Insbesondere besteht selbst unter nichtdiagonalen Zellen üblicherweise eine große Variationen von Werten. Während die Mehrzahl der Nichtnullzellen üblicherweise kleine Werte aufweisen, kann eine sehr kleine Anzahl von Zellen 408 hohe Werte aufweisen und Klassen anzeigen, die häufig miteinander verwechselt werden. In Reaktion auf die Auswahl der entsprechenden Option ist der Prozessor 14 konfiguriert, Zellenwerte logarithmisch Farben zuzuordnen, was hilft, weniger häufige Verwirrungen zu betonen, die die Blockstrukturen ausbilden.
  • In einer Ausführungsform umfasst das Einstellungsmenü 260 eine Option, über die der Benutzer auswählen kann, Nichtnullzellen durch Aktivierung eines Heiligenscheineffekts zu betonen. Obwohl Standardanzeigen ausreichend Raum bieten, um eine 1000x1000-Matrix zu Pixeln zuzuordnen, ohne, dass es zu Überlappungen kommt, macht die Zuordnung eines Pixels zu einer Zelle diese fast unsichtbar, was dazu führen kann, dass Blockausreißer unbemerkt bleiben. In Reaktion auf die Auswahl der entsprechenden Option wird der Prozessor 14 konfiguriert, Nichtnullzellen durch Aktivierung eines Heiligenscheineffekts zu betonen, der 1-Pixelzellen auf 3x3 Pixel erstreckt und eine 30% Undurchsichtigkeit zu einem peripheren Heiligenscheinbereich um die 3x3 farbigen Pixel zuweist. Dieser Effekt betont nicht nur Blockausreißer, sondern verbessert ferner auch die Wahrnehmung von Blocks und Unterblocks in diesen. Die Heiligenscheine sind visuelle Artefakte, die eine Schattierung zu anderweitig leeren Zellen hinzufügen können.
  • In einer Ausführungsform enthält das Einstellungsmenü 260 eine Option, über die der Benutzer fehlklassifizierte Probebilder, die in den Matrixzellen codiert sind, nach mehreren Kriterien filtern kann. Die Matrix wird aktualisiert, Verwirrungsstrukturen unter den gefilterten Proben zu zeigen.
  • In einer Ausführungsform umfasst das Einstellungsmenü 260 eine Option, über die der Benutzer Zellen der Verwirrungsmatrix 230, die Werte von weniger als einem bestimmten Grenzwert, der durch den Benutzer gewählt wurde, aufweisen, filtern und/oder verbergen kann. Dies behält Zellen, die wiederholende Verwirrungen darstellen, und verbirgt Zellen, die seltene Verwirrungen darstellen. Diese Zellen zeigen oft überlappende Klassensemantiken an.
  • In einer Ausführungsform umfasst das Einstellungsmenü 260 eine Option, über die der Benutzer Zellen der Verwirrungsmatrix 230, deren tatsächliche Klassen unter den Top-k vorhergesagten Klassen sind, die durch das Bildklassifizierungsmodell 30 berechnet wurden, filtern und/oder verbergen kann. Die verbleibenden Proben stellen den Top-K-Fehler des Klassifizierers dar, eine häufig verwendete Fehlermessung, die darauf abzielt, Fälle in Betracht zu ziehen, in denen eine Probe tatsächlich zu mehreren Klassen passt.
  • In einer Ausführungsform umfasst das Einstellungsmenü 260 eine Option, über die der Benutzer Zellen der Verwirrungsmatrix 230, die eine Klassifizierungswahrscheinlichkeit außerhalb eines gewählten Bereichs der Ausgabe der Ausgabeschicht 114 des Bildklassifizierungsmodells 30 entsprechend filtern und/oder verbergen kann. Dies behält Proben, für die die Klassifizierervorhersagen mit einer Wahrscheinlichkeit in einem bestimmten Bereich berechnet wurden. Beispielsweise kann der Benutzer filtern, um nur Zellen zu sehen, die Vorhersagen mit relativ geringer Sicherheit zu sehen (z. B. die wahrscheinlichste Klasse hat eine Wahrscheinlichkeit von unter 50%). Ähnlich umfasst das Einstellungsmenü 260 in einer Ausführungsform eine Option, über die der Benutzer Zellen der Verwirrungsmatrix 230, in der die vorhergesagte Wahrscheinlichkeit der tatsächlichen Klasse sich in einem gewählten Bereich befindet, filtern und/oder verbergen kann. Beispielsweise kann der Benutzer filtern, um nur Zellen zu sehen, die Vorhersagen mit niedriger Wahrscheinlichkeit für die tatsächliche Klasse entsprechen. Es versteht sich, dass eine solche Filterung es dem Benutzer ermöglicht, sich auf bestimmte Arten von Klassifizierungsfehlern zu konzentrieren, wodurch die Fähigkeit verbessert wird, Probleme mit dem Modell 30 oder den Schulungsdaten zu diagnostizieren.
  • Reaktionskarte
  • 7 zeigt eine Detailansicht einer Reaktionskarte 235, die in dem Hauptfenster 220 der Hauptbenutzerschnittstelle 200 in Reaktion auf eine Auswahl davon durch den Benutzer über die Option 240 angezeigt wird. Die Reaktionskarte 235 stellt einen Überblick über die Neuronenreaktionen an einer ausgewählten neuronalen Netzschicht des Bildklassifizierungsmodells 30 für alle Probebilder in dem Datensatz dar. Die Reaktionskarte 235 ermöglicht vorteilhaft einem Benutzer die Identifizierung, ob Klassen in derselben Gruppe einen ähnlichen Satz Merkmalsdetektoren und/oder Neuronen der konvolutionalen Schichten des Modells aktivieren, und welche Kombination von Merkmalen eine Klasse oder eine Gruppe von Klassen charakterisieren. Dies ermöglicht ein Verständnis, wie gut verschiedene konvolutionale Schichten in dem Bildklassifizierungsmodell 30 zwischen Gruppen auf verschiedenen Ebenen der Klassenhierarchie unterscheiden können und wie empfindlich gegen Datenvariationen die entwickelten Merkmalsdetektoren sind. Die Reaktionskarte 235 zeigt Variationen dieser Reaktionen über Gruppen, Klassen und Neuronen hinweg, statt über Proben. Die Reaktionskarte 235 ermöglicht ferner eine kompakte visuelle Codierung von Reaktionen, die aus einer großen Anzahl von Proben berechnet sind.
  • Ganz ähnlich wie die Verwirrungsmatrix 230 umfasst die Reaktionskarte 235 mehrere Zellen, die in einem zweidimensionalen (2D) Gitter angeordnet sind. Jede Zelle 414 entspricht einer Kombination eines bestimmten tatsächlichen Klasselabels und eines bestimmten Neurons einer ausgewählten neuronalen Netzschicht des Modells 30. Jede Zelle 414 enthält ein Grafikelement (z. B. eine Farbe oder Schattierung der Zelle), das eine Ausgabe des Modells bezüglich der bestimmten Kombination eines tatsächlichen Klasselabels und eines bestimmten Neurons in der gewählten Schicht codiert. In der dargestellten Ausführungsform codiert das Grafikelement jeder Zelle 414 eine durchschnittliche Reaktion des entsprechenden Neurons der Probebilder in der entsprechenden tatsächlichen Klasse. Die vertikale Abmessung und/oder Zeilen der Reaktionskarte 235 entsprechen dem vorgegebenen Satz möglicher Klasselabels (z. B. 1000 mögliche Klassen) und werden entlang der vertikalen Abmessung nach sequenzieller Sortierung angeordnet, die basierend auf der Ähnlichkeitshierarchie bestimmt wurde, wie oben erklärt. Die horizontale Abmessung und/oder Spalten der Reaktionskarte 235 entsprechen den Neuronen der gewählten neuronalen Netzschicht des Bildklassifizierungsmodells 30, und ihre Reihenfolge wird einer Benutzerauswahl entsprechend aktualisiert.
  • Ein Neuron hat oft mehrere Ausgabekanäle und/oder Werte, wie im Fall von Filtern in den konvolutionalen Schichten und den assoziierten Poolingeinheiten und gleichgerichteten linearen Einheiten (ReLUs). In mindestens einer Ausführungsform umfasst das Grafikelement jeder Zelle 414 eine linearisierte 1 Pixel hohe Wärmekarte, die das durchschnittliche Reaktionsprofil des Neurons auf Bilder in der entsprechenden Klasse darstellt. 8 illustriert, wie die linearisierten 1-Pixel großen Wärmekarten basierend auf den Neuronenreaktionen erzeugt werden. Insbesondere ist der Prozessor 14 konfiguriert, eine durchschnittliche Reaktion 416 (eine 12 × 12 Matrix, wie dargestellt) des Neurons auf Probebilder 418 in der Klasse (z. B. „Trollybus“) zu bestimmen. In einigen Schichten können die konvolutionalen Filter so groß wie 64 × 64 sein, vor allem in frühen Schichten des Bildklassifizierungsmodells 30. Um einen Überblick über mehrfache Filter dieser Größe in einer Ansicht zu erhalten, ist der Prozessor 14 in einer Ausführungsform konfiguriert, die Durchschnittsreaktion 416 herunterzusampeln, um eine heruntergesampelte Reaktion 420 (z. B. eine 4 × 4 Matrix, wie dargestellt) zu erzeugen. Als nächstes linearisiert der Prozessor 14 die Reaktion zum Erzeugen einer linearisierten 1-Pixel großen Wärmekarte 422. Dies erlaubt den Vergleich mehrerer Reaktionsprofile nebeneinander. Weiter konsolidiert dies große Variationen zwischen diesen Profilen, da diese Variationen andernfalls über zahlreiche Kanäle verteilt wären. Aufgrund dessen geht die 2-dimensionale Struktur der Ausgabe des Neurons verloren, zugunsten der Betonung, wie seine Reaktionen über mehrere Klassen hinweg variieren, was wir als das Reaktionsprofil des Neurons bezeichnen.
  • Die Farbe jedes Pixels oder jeder Zelle in der Neuronenreaktion 416, 420 und in der linearisierten Wärmekarte 422 stellt einen Wert der durchschnittlichen Reaktion des Kanals eines Neurons unter Probebildern der bestimmten Klasse dar. In einer Ausführungsform umfasst das Einstellungsmenü 260 eine Option, über die der Benutzer einen Grenzwert T für diese Reaktion vorgeben kann. In einer Ausführungsform werden Werte unter T linear einer Farbskala von schwarz zu hellblau oder einer beliebigen ersten Farbe zugeordnet. In einer Ausführungsform werden Werte, die gleich oder größer T sind, in Gelb oder einer andere zweiten Farbe angezeigt, die sich von der ersten Farbe unterscheidet. Dies betont die Zellen und/oder Pixel, die hohe Reaktionen darstellen. Die Einstellung des Grenzwerts T ermöglicht die Identifizierung von Neuronen, die speziell auf bestimmte Klassen reagieren und das Erforschen subtiler Unterschiede zwischen verschiedenen Reaktionsprofilen.
  • Wieder bezogen auf 7 ermöglicht die Verwendung der vereinheitlichten Klassensortierung in der Reaktionskarte 325 und der Klassenhierarchieansicht 210 die Analyse der Beziehung zwischen dem Reaktionsprofil der Neuronen und der Klassenhierarchie. Bestimmte Reaktionsprofile zeigen hohe Reaktionen vornehmlich für Proben innerhalb einer bestimmten Gruppe von Klassen in der Klassenhierarchie. Dies bedeutet, dass die entsprechenden Neuronen geteilte Merkmale unter den Probebildern dieser Klassen gelernt haben, wie etwa Form, Haltung oder Hintergrund.
  • In einer Ausführungsform zur Auswahl einer bestimmten Gruppe von Klassen kann der Benutzer ein Rechteck 402 des Klassenhierarchieviewers 210 wählen, auf die Reaktionskarte 235 klicken und/oder ziehen oder eine andere Interaktion durchführen. In Reaktion auf diese Auswahl ist der Prozessor 14 konfiguriert, die horizontale Abmessung und/oder Spalten der Reaktionskarte 235 danach zu sortieren, wie stark die jeweiligen Neuronen auf die Probebilder in der gewählten Gruppe reagieren. Zu diesem Zweck ist der Prozessor 14 konfiguriert, ein Relevanzmaß RG(N) für jedes Neuron N zu berechnen, das die Reaktivität jedes Neurons auf die gewählte Gruppe von Klassen anzeigt, basierend auf dessen Reaktionen auf Gruppenproben G und Nichtgruppenproben G: R G ( N ) = Q 1 / 4 ( { f N ( x ) ; x G } ) Q 3 / 4 ( { f N ( x ) ; x G ¯ } )
    Figure DE112018000349T5_0002
    wobei fN(x) die kollektive Reaktion des Neurons auf eine Probe x ist, berechnet als die Summe aller ihrer Ausgabekanäle, und Qi/q das i-te q-Quantil ist. Dieses Relevanzmaß zeigt eine statistische Signifikanz des Reaktionsprofils des Neurons an und nimmt einen hohen Wert an, wenn die Reaktion unter den Gruppenklassen einheitlich hoch und unter den Nichtgruppenklassen einheitlich niedrig ist. Der Prozessor 14 ist konfiguriert, die Spalten basierend auf dem berechneten Relevanzmaß für jedes Neuron zu sortieren. In der dargestellten Ausführungsform werden die Neuronen von links nach rechts vom größten Relevanzmaßwert zum kleinsten Relevanzmaßwert sortiert.
  • In einer Ausführungsform weist jede Spalte der Reaktionskarte 235 eine Spaltenüberschrift 424 auf. In der dargestellten Ausführungsform werden die Spaltenüberschriften 424 als ein Rechteck mit einer Neuronen-ID dargestellt, können aber keine anderen Formen annehmen. In einer Ausführungsform kann eine Farbe und/oder Schattierung der Überschrift 424 das berechnete Relevanzmaß übermitteln. Insbesondere ist der Prozessor 14 konfiguriert, jede der jeweiligen Überschriften 424 einzufärben und/oder zu schattieren, abhängig von dem berechneten Relevanzmaß für das jeweilige Neuron.
  • Eine visuelle Kontrolle ermöglicht die Identifizierung, ob ein Neuron auf eine Untergruppe oder Übergruppe der gewählten Gruppe, oder möglicherweise auch auf andere Gruppen reagiert. Insbesondere basieren Merkmale auf Gruppenebene oft auf Form, Haltung und Hintergrund. Innerhalb von natürlichen Objekten kann etwa eine Kombination aus Form- und Haltungsmerkmalen Gruppen auf hoher Ebene unterscheiden, wie etwa Vögel, Säugetiere und Insekten. Hintergrundmerkmale sind in bestimmten Gruppen beteiligt, wie etwa bei Fischen und geologischen Formationen.
  • Andererseits sind Farbmerkmale und bestimmte Texturmerkmale oft über verschiedene Klassen hinweg geteilt, die nicht in eine bestimmte Gruppe fallen. Um die Analyse solcher Fälle zu erleichtern, kann ein Benutzer ein bestimmtes Neuron durch Klicken auf eine Zelle der Reaktionskarte 235 oder eine entsprechende Überschrift 424 wählen. In einer Ausführungsform können auch eine Farbe und/oder Schattierung der Rechtecke 412 des Klassenhierarchieviewers 410 das berechnete Relevanzmaß übermitteln. Insbesondere ist der Prozessor 14 konfiguriert, jedes der jeweiligen Rechtecke 412 einzufärben und/oder zu schattieren, abhängig von einer durchschnittlichen Reaktion für das gewählte Neuron.
  • Für einige Klassengruppen, wie etwa für Vorrichtungen, ist es möglich, dass kein Neuron einen wesentlichen Unterschied in den Reaktionen zwischen Gruppenklassen und Nichtgruppenklassen aufweist. Ein solches Fehlen von Merkmalen auf Gruppenebene weist auf eine starke Variation unter den Gruppenklassen hin und die Neuronen entwickeln stattdessen üblicherweise klassenspezifische Merkmale.
  • Neben den Reaktionsprofilen stellt die Reaktionskarte 235 weitere Informationen zu einem Neuron bereit, entweder zusammengefasst oder ausführlich. Wie oben erklärt, kann die Überschrift 424 der Reaktionskarte 235 zusammengefasste Informationen zu den Neuronen mittels Farbe übermitteln. In einigen Ausführungsformen ist der Prozessor 14 konfiguriert, eine Farbe und/oder Schattierung auf jede jeweilige Überschrift 424 abhängig von einer durchschnittlichen Aktivierung innerhalb der Proben einer gewählten Klasse, des Relevanzmaßes einer gewählten Gruppe oder der Empfindlichkeit gegenüber einer Bildtransformation anzuwenden.
  • In einer Ausführungsform aktualisiert das Klicken auf eine Profilüberschrift 424 den Sampleviewer 250, um Proben anzuzeigen, die das entsprechende Neuron hoch aktivieren. Dies hilft Benutzern, gemeinsame Bildmerkmale über diese Proben hinweg zu finden, um die Bildmerkmale zu identifizieren, auf die das Neuron reagiert. Der Sampleviewer 250 stellt mehrere Möglichkeiten bereit, die Proben zusammen mit Saliency-Maps ihrer Bildmerkmale zu erforschen. Ein Verständnis der Bildmerkmale, auf die ein Neuron reagiert, ist wichtig, um zu verstehen, wie jede Klasse durch die Konvolutionsschichten des Bildklassifizierungsmodells 30 erkannt wird, und warum bestimmte Probebilder aus der Klasse falsch eingestuft werden. Üblicherweise charakterisiert das Netzwerk jede Klasse durch einen Satz Merkmale, die durch verschiedene Neuronen erkannt werden.
  • Hilfsreaktionskartenansicht
  • In mindestens einer Ausführungsform können Neuronenreaktionen auf einzelne Proben einer bestimmten Klasse nach Bedarf in einer Hilfsansicht erforscht werden. In einer Ausführungsform wird die Hilfsansicht in Reaktion darauf angezeigt, dass der Benutzer auf eine der Zellen 414 der Reaktionskarte 235 klickt, oder über eine andere Interaktion.
  • 9 zeigt eine Hilfsansicht 260, die eine Korrelationsmatrix 265 auf Klassenebene, eine Reaktionskarte 270, und einen Sampleviewer 275 aufweist. Im Gegensatz zu der Reaktionskarte 235, die Neuronenreaktionen pro Klasse sammelt, um Variationen über verschiedene Klassen hinweg zu zeigen, ermöglicht die Hilfsansicht 260 die Erforschung verschiedener latenter Unterklassen innerhalb der Proben einer gewählten Klasse. In vielen Fällen variieren die Reaktionen mit derselben Klasse durch latente Unterklassen, z. B geschnittene vs. vollständige Äpfel.
  • Ganz ähnlich wie die Verwirrungsmatrix 230 umfasst die Reaktionskarte 235 mehrere Zellen, die in einem zweidimensionalen (2D) Gitter angeordnet sind. Jede Zelle 414 entspricht einer Kombination eines bestimmten tatsächlichen Klasselabels und eines bestimmten Neurons einer ausgewählten neuronalen Netzschicht des Modells 30. Jede Zelle 414 enthält ein Grafikelement (z. B. eine Farbe oder Schattierung der Zelle), das eine Ausgabe des Modells bezüglich der bestimmten Kombination eines tatsächlichen Klasselabels und eines bestimmten Neurons in der gewählten Schicht codiert. In der dargestellten Ausführungsform codiert das Grafikelement jeder Zelle 414 eine durchschnittliche Reaktion des entsprechenden Neurons der Probebilder in der entsprechenden tatsächlichen Klasse.
  • Ganz ähnlich wie die Verwirrungsmatrix 230 umfasst die Korrelationsmatrix 265 mehrere Zellen, die in einem zweidimensionalen (2D) Gitter angeordnet sind. Jede Zelle entspricht einer Kombination eines ersten Probebilds einer gewählten Klasse und eines zweiten Probebilds der gewählten Klasse. Jede Zelle umfasst ein Grafikelement (z. B. eine Farbe oder Schattierung der Zelle), die eine Korrelation zwischen den Neuronenreaktionen für die jeweilige Kombination aus ersten und zweiten Probebildern codiert, und eine Ähnlichkeit der Bilder anzeigt. Die horizontalen und vertikalen Abmessungen der Korrelationsmatrix 265 entsprechen beide den Probebildern der gewählten Klasse. In einer Ausführungsform wird die Korrelationsmatrix 265 unter Verwendung von Spektralclustering sortiert, sodass korrelierte Proben zusammengeclustert sind.
  • Die Reaktionskarte 270 ist ähnlich wie die Reaktionskarte 235 und weist mehrere Zellen auf, die in einem Gitter angeordnet sind. Die vertikale Abmessung und/oder Zeilen der Reaktionskarte 270 entsprechen jeder einzelnen Probe in der gewählten Klasse. Die horizontale Abmessung und/oder Spalten der Reaktionskarte 270 entsprechen jedem einzelnen Neuron der gewählten Schicht des Bildklassifizierungsmodells 30. Die Zeilen sind in derselben Reihenfolge angeordnet wie die Korrelationsmatrix 265, sodass korrelierte Proben zusammengeclustert sind. Jede Zelle ist nach einer Reaktion des bestimmten Neurons auf das bestimmte Probebild in der gewählten Klasse gefärbt.
  • Das Vorhandensein mehrerer Blockstrukturen 1-4 in der Korrelationsmatrix 265 zeigt das Vorhandensein latenter Unterklassen in der gewählten Klasse an. Wie dargestellt, enthält die Korrelationsmatrix 265 vier unterschiedliche Blockstrukturen 1-4, zeigen vier Latente Unterklassen der Probebilder für Pilze an. Der Sampleviewer 275 zeigt Thumbnails für jede Probe in der gewählten Klasse an, die in derselben Reihenfolge sortiert werden wie die Korrelationsmatrix. Die Auswahl einer Blockstruktur in der Korrelationsmatrix 265 markiert die entsprechenden Proben in dem Sampleviewer 275 und sortiert die Neuronen in der Reaktionskarte 270 neu nach ihren Reaktionen innerhalb dieser Proben.
  • Durch Kontrolle der Korrelationsmatrix 265 in aufeinanderfolgenden Schichten des Bildklassifizierungsmodells 30 kann die Verwendung beobachten, wie die latenten Unterklassen in dem Bildklassifizierungsmodell 30 auftreten. Trotz der Aktivierung verschiedener Merkmalsdetektoren in dem Bildklassifizierungsmodell 30 können diese Unterklassen noch dieselbe Ausgabeeinheit aktivieren. Dies erfolgt, da die Endschichten in dem Bildklassifizierungsmodell 30 vollständig verbunden sind, was die Ausgabeeinheit einer Klasse in die Lage versetzt, Reaktionen aus mehreren Merkmalen zu kombinieren. Die Identifizierung latenter Unterklassen und die Analyse deren Eigenschaften gibt Möglichkeiten, den Klassifizierungsprozess des Modells 30 zu optimieren.
  • Sampleviewer
  • 10 zeigt eine Detailansicht des Sampleviewers 250 der Hauptbenutzerschnittstelle 200. Der Sampleviewer 250 ermöglicht dem Benutzer die Kontrolle von Klassifizierungsfehlern. Der Sampleviewer 250 zeigt Thumbnailbilder 426 gewählter Proben und bietet verschiedene Möglichkeiten, diese zu manipulieren und zu erforschen. Ein Label 428 oben an dem Sampleviewer 250 beschreibt, was die aktuelle Auswahl darstellt (z. B. „52 Klassen gewählt (218 - 269, Wurzel: Vogel) Nur gruppenweise korrekte werden angezeigt“). Die Proben können nach ihren tatsächlichen Klassen oder nach ihren jeweiligen Gruppen in der Ähnlichkeitshierarchie gruppiert werden. Eine repräsentative Probe jeder Gruppe wird als Thumbnailbild 426 zusammen mit einer Nummer 430 gezeigt, die die Zählung der verbleibenden Proben darstellt. Dies gibt einen Überblick über alle Klassen, die in der Auswahl enthalten sind, und hilft beim Schließen auf häufige Merkmale unter ihnen.
  • Wie oben erwähnt, kann der Benutzer mit dem Klassenhierarchieviewer 210, der Verwirrungsmatrix 230 und der Reaktionskarte 235 auf verschiedene Weise interagieren, um bestimmte Gruppen von Klassen oder bestimmte Klassen der Probebilder zu wählen. Der Sampleviewer 250 zeigt die gewählten Probebilder.
  • Beim Zeigen einzelner Proben kann der Benutzer Details darüber entweder oben an den Thumbnails oder in Tooltips erhalten. Beispielsweise zeigt in einer Ausführungsform eine Rahmenfarbe an, ob das vorhergesagte Klasselabel für eine Probe Top-1 korrekt, Top-5 korrekt oder anders ist.
  • In einer Ausführungsform zeigt, wenn ein Benutzer ein bestimmtes Neuron über die Reaktionskarte wählt, der Sampleviewer 250 Saliency-Maps der Probebilder, die Bildmerkmale und/oder Abschnitte des Bilds markieren, auf die das gewählte Neuron reagiert, um die Rolle des gewählten Neurons in dem Bildklassifizierungsmodell 30 zu analysieren. 11 zeigt beispielhafte Saliency-Maps 432 für ein beispielhaftes Neuron, das auf Probebilder 434 von Objekten mit Punkten reagiert.
  • In einigen Ausführungsformen kann der Benutzer verschiedene Optionen aus dem Einstellungsmenü 260 oder einem separaten Menü wählen, das in Reaktion auf Klicken auf eine Option 429 angezeigt wird, um die Thumbnails 426 zu sortieren und/oder zu filtern, die in der Probeansicht 250 angezeigt werden. Die Proben in dem Viewer 250 können nach verschiedenen Kriterien gefiltert werden, wie etwa Mitgliedschaft in einer gewählten Klassengruppe, Aktivierung eines gewählten Neurons und Klassenebenen- oder Gruppenebenenklassifizierungsergebnisse. In einer Ausführungsform kann der Benutzer die Thumbnails 426 basierend auf Klassifizierungsleistung in echte Positivergebnisse, falsche Positivergebnisse, und falsche Negativergebnisse sortieren.
  • Weiterhin erlaubt das visuelle Analyseprogramm 28 das Laden mehrerer Sätze von Klassifizierungsergebnissen, die durch verschiedene Klassifizierer berechnet wurden, oder nach Anwendung verschiedener Datentransformationen (wie etwa Drehen der Probebilder). Beispielsweise kann der Benutzer Klassifizierungsausgaben für Graustufenversionen der Proben laden und vergleichen, um die Auswirkung der Farbe auf die Modellleistung zu prüfen. Ähnlich kann der Benutzer Klassifizierungsausgaben für gedrehte Versionen der Proben laden und vergleichen, um die Auswirkung einer Drehung der Bilder auf die Modellleistung zu prüfen. Benutzer können die Proben basierend auf diesen Ergebnissen filtern, z. B. um Proben darzustellen, die unter allen Drehungen korrekt klassifiziert wurden, oder solche, die nur durch einen ausgewählten Klassifizierer korrekt klassifiziert wurden. Damit können Proben identifiziert werden, die bestimmte Eigenschaften aufweisen, wie etwa eine Drehungsinvarianz und einfache Unterscheidung, oder solche, bei denen nur ein ausgewählter Klassifizierer gut ist.
  • Das visuelle Analyseprogramm 28 verbessert die konventionellen Analyseverfahren für CNN-Klassifizierer, weil es dem Benutzer ermöglicht, den Schulungsprozess besser zu verstehen, die Trennkraft der verschiedenen Merkmalsdetektoren zu diagnostizieren, und die Architektur des Bildklassifizierungsmodells 30 entsprechend zu verbessern, um die Genauigkeit zu erhöhen.
  • Das visuelle Analyseprogramm 28 ist nützlich, um den Schulungsprozess zu verstehen und anzupassen. Unter Verwendung des visuellen Analyseprogramms 28 kann ein Benutzer die Leistung des Bildklassifizierungsmodells 30 nach jeder Schulungsepoche unter Verwendung einer Option in dem Einstellungsmenü 260 betrachten. So kann der Benutzer Änderungen der Leistung über jede Epoche betrachten, um die Konvergenz des Modells 30 besser zu verstehen. Das Verständnis des Schulungsverhaltens von CNNs hilft bei der Einführung gezielter Designverbesserungen für CNN-Klassifizierer für große Klassen. Die Kontrolle der Leistung auf Gruppenebene unter verschiedenen Bedingungen zeigt die Auswirkung der hierarchischen Struktur auf die CNN-Leistung und ihre Empfindlichkeit gegen Datenvariationen. Das visuelle Analyseprogramm 28 erlaubt die Analyse, in welcher konvolutionalen Schicht des Modells 30 die Merkmalsdetektoren in der Lage sind, bestimmte Gruppen von Klassen zu trennen.
  • Diese Informationen können verwendet werden, um einen Schulungsprozess der CNNs anzupassen, um die Hierarchie zu kennen, und damit wesentlich die Genauigkeit zu erhöhen und die Schulungskonvergenz zu beschleunigen. 12 zeigt eine beispielhafte Verbesserung der Architektur des Bildklassifizierungsmodells 30. Insbesondere wird das Bildklassifizierungsmodell 30 modifiziert, um weitere Klassifizierungsziele 130 während der Schulung zu enthalten. Die weiteren Klassifizierungsziele 130 sind nur während des Schulungsprozesse als separate Zweige nach der ersten konvolutionalen Schicht 102, nach der zweiten konvolutionalen Schicht 104, nach der dritten konvolutionalen Schicht 106 und nach der vierten konvolutionalen Schicht 108 enthalten. Jedes weitere Klassifizierungsziel 130 enthält eine jeweils vollständig verbundene Schicht, eine Ausgabeschicht und eine Verlustfunktion, die ähnlich wie die vollständig verbundenen Schichten 112, die Ausgabeschicht 114 und die Verlustfunktion 116 sind. Die weiteren Zweige propagieren den Fehler auf Gruppenebene wieder zu dem Hauptzweig zurück. Der Hauptzweig berechnet eine gewichtete Summe des Fehlers, der von verschiedenen Zweigen zurückpropagiert und aktualisiert die konvolutionalen Filter entsprechend.
  • In dem illustrierten Beispiel ist das weitere Klassifizierungsziel 130 nach der ersten konvolutionalen Schicht 102 konfiguriert, die Schicht zu schulen, um Bilder in eine von drei breiten Gruppen 132 auf hoher Ebene einzustufen (z. B. Organismus, Artefakte und Essen). Ähnlich ist das weitere Klassifizierungsziel 130 nach der zweiten konvolutionalen Schicht 104 konfiguriert, die Schicht zu schulen, um Bilder in eine von sieben Untergruppen 134 auf hoher Ebene einzustufen. Das weitere Klassifizierungsziel 130 nach der dritten konvolutionalen Schicht 106 ist konfiguriert, die Schicht zu schulen, um Bilder in eine von dreizehn engen Untergruppen 136 einzustufen. Schließlich ist das weitere Klassifizierungsziel 130 nach der vierten konvolutionalen Schicht 108 konfiguriert, die Schicht zu schulen, um Bilder in eine von achtunddreißig engeren Untergruppen 138 einzustufen.
  • Die Verwendung dieser weiteren Klassifizierungsziele 130 verbessert die Schulungsgeschwindigkeit und Genauigkeit des Modells 30 durch Einsatz der Klassenhierarchie und der beobachteten Trennbarkeit verschiedener Gruppen, wie unter Verwendung des visuellen Analyseprogramms 28 untersucht und beleuchtet. Die speziellen Gruppen, die als Klassifizierungsziele in jeder spezifischen Schicht verwendet werden, können basierend auf der Gruppentrennung bestimmt werden, die in dieser Schicht erreicht wird. Insbesondere wird eine Gruppe von Klassen (z. B „Säugetiere“) als ein Klassifizierungsziel auf hoher Ebene gewählt, wenn die Reaktionen der Schicht auf die mehreren Bilder aus dieser Gruppe ähnlich und gleichzeitig anders als ihre Reaktionen auf Bilder aus anderen Klassen sind. In anderen Worten, die Gruppen, die für jedes weitere Klassifizierungsziel 130 gewählt wurden, sind die am stärksten trennbaren Gruppen auf der jeweiligen konvolutionalen Schicht in dem Modell.
  • Das visuelle Analyseprogramm 28 ist auch nützlich zum Identifizieren von Problemen in den Schulungsdaten und/oder Klassendefinitionen. Das visuelle Analyseprogramm 28 hilft bei der Verbesserung der Verwaltung von Schulungsdatensätzen, durch Verstehen der Empfindlichkeitseigenschaften der CNN-Klassifizierer und Diagnose verschiedener Qualitätsprobleme in den Schulungsdaten. Insbesondere hilft das visuelle Analyseprogramm 28 bei der Identifizierung von Redundanz zwischen zwei Klassen, die identisch sind, aber zu Zweigen einer Hierarchie gehören, wie etwa Flugkörper und Geschoss, Körbchen und Wiege oder Sonnenbrille, dunkle Brille. Weiterhin hilft das visuelle Analyseprogramm 28 bei der Identifizierung von Unterklassebeziehungen, in denen eine Klasse ein Sondertyp der anderen Klasse ist, wie etwa Röhrling und Pilz oder Kaffeebecher und Tasse. Das visuelle Analyseprogramm 28 hilft bei der Identifizierung von Teilbeziehungen, in denen eine Klasse einen Teil einer anderen Klasse darstellt, wie etwa Tragfläche und Flugzeug, oder Monitor und Desktopcomputer. Weiterhin hilft das visuelle Analyseprogramm 28 bei der Identifizierung semantischer Zweideutigkeit zwischen zwei Klassen, die ähnliche Semantik aufweisen, wie etwa Buchhandlung und Bibliothek oder Gasmaske und Sauerstoffmaske. Das visuelle Analyseprogramm 28 hilft bei der Identifizierung abstrakter Klassen, bei denen eine Klasse, wie etwa Bräutigam, mehrere Formen annimmt, die oft mit physischen Klassen, wie etwa Anzug, verwechselt werden. Weiterhin hilft das visuelle Analyseprogramm 28 auch dabei, falsch beschriftete Proben zu erkennen, wie etwa ein Bild eines Löwen, das als Affe beschriftet wurde, durch Kontrolle fehlklassifizierter Proben, die eine sehr hohe Vorhersagewahrscheinlichkeit aufweisen und denen eine sehr geringe Wahrscheinlichkeit zur Begründungswahrheit zugewiesen ist. Die Isolierung solcher Fälle ist nützlich für einen robusten Vergleich verschiedener Architekturen. Schließlich hilft das visuelle Analyseprogramm 28 bei der Umstrukturierung der vorgegebenen Klassenhierarchie, um deren visuelle Ähnlichkeitsstrukturen besser widerzuspiegeln.
  • Während die Offenbarung in den Zeichnungen und der obigen Beschreibung illustriert und ausführlich beschrieben wurde, sollten diese als illustrativ und nicht restriktiv betrachtet werden. Es versteht sich, dass nur die bevorzugten Ausführungsformen dargestellt wurden, und dass alle Änderungen, Modifikationen und weiteren Anwendungen, die in den Geist der Offenbarung fallen, ebenfalls geschützt sein sollen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62/537613 [0001]

Claims (20)

  1. Verfahren zur Visualisierung eines Betriebs eines Bildklassifizierungsmodells, das mehrere neuronale Netzwerklagen aufweist, die mindestens eine konvolutionale Lage umfassen, das Verfahren umfassend: Empfangen mehrerer tatsächlicher Klasselabels mit einem Prozessor, wobei jedes tatsächliche Klasselabel mit einem jeweiligen Probebild aus mehreren Probebildern assoziiert ist, und jedes tatsächliche Klasselabel einer aus vorgegebenen mehreren Klassen entspricht; Empfangen mehrerer Ausgaben des Bildklassifizierungsmodells mit dem Prozessor, wobei jede Ausgabe durch das Bildklassifizierungsmodell in Reaktion auf ein jeweiliges Probebild aus den mehreren Probebildern bereitgestellt wird; Bestimmen einer sequenziellen Sortierung der vorgegebenen mehreren Klassen basierend auf einer Ähnlichkeitshierarchie der Klassen in den vorgegebenen mehreren Klassen mit dem Prozessor, wobei die Ähnlichkeitshierarchie mehrere Gruppen ähnlicher Klassen in den vorgegebenen mehreren Klassen definiert; und Anzeigen einer grafischen Darstellung der mehreren Ausgaben mit einer Anzeigevorrichtung, wobei die grafische Darstellung Grafikelemente enthält, die die mehreren Ausgaben codieren, die visuell der vorgegebenen sequenziellen Sortierung der vorgegebenen mehreren Klassen entsprechend angeordnet sind.
  2. Verfahren nach Anspruch 1, wobei die Bestimmung der sequenziellen Sortierung ferner umfasst: Bestimmen der sequenziellen Sortierung, sodass Klasselabels in den vorgegebenen mehreren Klasselabels, die sich in einer selben Gruppe befinden, wie durch die Ähnlichkeitshierarchie definiert, in der sequenziellen Sortierung zusammen gruppiert werden.
  3. Verfahren nach Anspruch 1, wobei das Anzeigen der grafischen Darstellung ferner umfasst: Anzeigen mehrerer Zellen, die in einem zweidimensionalen Gitter angeordnet sind, wobei eine erste Abmessung des Gitters den mehreren tatsächlichen Klasselabels entspricht und nach der bestimmten sequenziellen Sortierung der vorgegebenen mehreren Klassen sortiert wird, wobei jede Zelle ein jeweiliges Grafikelement aufweist, das mindestens eine Ausgabe aus den mehreren Ausgaben codiert, die durch das Bildklassifizierungsmodell in Reaktion auf Probebilder bereitgestellt wurde, die das tatsächliche Klasselabel aufweisen, das der jeweiligen Zelle entspricht.
  4. Verfahren nach Anspruch 3, wobei: die mehreren Ausgaben mehrere vorhergesagte Klasselabels umfassen, die durch das Bildklassifizierungsmodell in Reaktion auf die mehreren Probebilder zugewiesen werden, wobei jedes vorhergesagte Klasselabel einer der vorgegebenen mehreren Klassen entspricht; eine zweite Abmessung des Gitters den mehreren vorhergesagten Klasselabels entspricht und nach der bestimmten sequenziellen Sortierung der vorgegebenen mehreren Klassen sortiert ist, und das Grafikelement jeder Zelle aus den mehreren Zellen eine jeweilige erste Anzahl der Probebilder aus den mehreren Probebildern codiert, die (i) mit dem tatsächlichen Klasselabel assoziiert sind, das der jeweiligen Zelle entspricht, und (ii) dem vorhergesagten Klasselabel der jeweiligen Zelle entsprechend zugewiesen wurden.
  5. Verfahren nach Anspruch 4, wobei die Anzeige der mehreren Zellen, die in dem zweidimensionalen Gitter angeordnet sind, ferner umfasst: Anzeige des Grafikelements einer jeweiligen Zelle aus den mehreren Zellen in einer ersten Farbe in Reaktion darauf, dass die jeweilige erste Anzahl für die jeweilige Zelle gleich Null ist; und Anzeige des Grafikelements einer jeweiligen Zelle aus den mehreren Zellen in einer zweiten Farbe, die sich von der ersten Farbe unterscheidet, in Reaktion darauf, dass die jeweilige erste Zahl für die jeweilige Zelle größer als Null ist, und die Schattierung der zweiten Farbe von der jeweiligen ersten Zahl abhängt.
  6. Verfahren nach Anspruch 3, ferner umfassend: Verbergen eines Untersatzes der Grafikelemente der mehreren Zellen abhängig von mindestens einem Filterkriterium, das der gewählten Filteroption entspricht, mit der Anzeigevorrichtung in Reaktion auf eine Benutzerauswahl einer Filteroption.
  7. Verfahren nach Anspruch 3, ferner umfassend: Anzeigen von Thumbnails von Probebildern aus den mehreren Probebildern, die mit einem tatsächlichen Klasselabel assoziiert sind, das einer der Zellen in der gewählten Gruppe von Zellen entspricht, mit der Anzeigevorrichtung in Reaktion darauf, dass ein Benutzer eine Gruppe Zellen aus den mehreren Zellen wählt.
  8. Verfahren nach Anspruch 3, wobei: die mehreren Ausgaben mehrere Reaktionen einzelner Neuronen einer gewählten neuronalen Netzschicht des Bildklassifizierungsmodells auf die mehreren Probebilder umfassen; eine zweite Dimension des Gitters den einzelnen Neuronen der gewählten neuronalen Netzschicht entspricht; und das Grafikelement jeder Zelle aus den mehreren Zellen einen Durchschnitt der Reaktionen des Neurons, das der jeweiligen Zelle entspricht, auf Probebilder aus den mehreren Probebildern codiert, die mit dem tatsächlichen Klasselabel assoziiert sind, das der jeweiligen Zelle entspricht.
  9. Verfahren nach Anspruch 8, wobei das Grafikelement jeder Zelle der mehreren Zellen eine Wärmekarte ist, die mehrere Pixel aufweist, die in einem Gitter angeordnet sind, wobei jedes Pixel aus den mehreren Pixeln eine Farbe aufweist, die von dem Durchschnitt der Reaktionen des Neurons, das der jeweiligen Zelle entspricht, auf Probebilder aus den mehreren Probebildern abhängt, die mit dem tatsächlichen Klasselabel assoziiert sind, das der jeweiligen Zelle entspricht.
  10. Verfahren nach Anspruch 9, ferner umfassend: Downsampling und Linearisierung der mehreren Pixel und der Wärmekarte jeder Zelle aus den mehreren Zellen.
  11. Verfahren nach Anspruch 8, ferner umfassend: Umsortierung der mehreren Zellen bezüglich der zweiten Abmessung, einer Reaktionsfähigkeit jedes Neurons der gewählten neuronalen Netzschicht auf Probebilder aus den mehreren Probebildern, die mit tatsächlichen Klasselabels in der gewählten ersten Gruppe assoziiert sind, entsprechend, in Reaktion darauf, dass ein Benutzer eine erste Gruppe aus den mehreren Gruppen wählt, die durch die Ähnlichkeitshierarchie definiert ist.
  12. Verfahren nach Anspruch 3, ferner umfassend: Anzeige erster mehrerer Grafikelemente, wobei jedes Grafikelement der ersten mehreren Grafikelemente einer jeweiligen Gruppe aus den mehreren Gruppen ähnlicher Klassen entspricht, die durch die Ähnlichkeitshierarchie definiert sind, mit der Anzeigevorrichtung.
  13. Verfahren nach Anspruch 12, wobei die ersten mehreren Grafikelemente an das Gitter angrenzend angeordnet sind und bezüglich der ersten Abmessung des Gitters nach der bestimmten sequenziellen Sortierung der vorgegebenen mehreren Klassen sortiert sind.
  14. Verfahren nach Anspruch 12, wobei erste mehrere Grafikelemente mehrere Rechtecke umfassen, die in mehreren Spalten angeordnet sind, wobei die mehreren Rechtecke innerhalb der mehreren Spalten basierend auf der Ähnlichkeitshierarchie verteilt sind.
  15. Verfahren nach Anspruch 12, ferner umfassend: Markierung von Zellen aus den mehreren Zellen, die einem tatsächlichen Klasselabel entsprechen, das Teil der jeweiligen Gruppe ist, die dem gewählten Grafikelement entspricht, in dem Gitter in Reaktion darauf, dass ein Benutzer ein Grafikelement der ersten mehreren Grafikelemente wählt.
  16. Verfahren nach Anspruch 12, ferner umfassend: Anzeige von Thumbnails von Probebildern aus den mehreren Probebildern, die mit einem tatsächlichen Klasselabel assoziiert sind, das Teil der jeweiligen Gruppe ist, die dem gewählten Grafikelement entspricht, mit der Anzeigevorrichtung in Reaktion darauf, dass ein Benutzer ein Grafikelement aus den ersten mehreren Grafikelementen wählt.
  17. Verfahren nach Anspruch 1, ferner umfassend: Anzeige einer weiteren grafischen Darstellung, die mehrere Zellen aufweist, die in einem zweidimensionalen Gitter angeordnet sind, wobei eine erste Abmessung des Gitters Probebildern aus den mehreren Probebildern entspricht, die mit dem gewählten ersten tatsächlichen Klasselabel assoziiert sind, mit der Anzeigevorrichtung in Reaktion darauf, dass ein Benutzer ein erstes tatsächliches Klasselabel der mehreren tatsächlichen Klasselabels wählt, wobei jede Zelle ein jeweiliges Grafikelement aufweist, das mindestens eine Ausgabe aus den mehreren Ausgaben codiert, die durch das Bildklassifizierungsmodell in Reaktion auf die Probebilder aus den mehreren Probebildern, die mit dem gewählten ersten tatsächlichen Klasselabel assoziiert sind, bereitgestellt wurde.
  18. Verfahren nach Anspruch 17, wobei: die mehreren Ausgaben mehrere Reaktionen einzelner Neuronen einer gewählten neuronalen Netzschicht des Bildklassifizierungsmodells auf die mehreren Probebilder umfassen; eine zweite Abmessung des Gitters der weiteren grafischen Darstellung Probebildern aus den mehreren Probebildern entspricht, die mit dem gewählten ersten tatsächlichen Klasselabel assoziiert sind, und das Grafikelement jeder Zelle aus den mehreren Zellen der weiteren grafischen Darstellung eine Korrelation zwischen den Reaktionen der Neuronen der gewählten neuronalen Netzschicht auf die Probebilder der mehreren Probebilder codiert, die der jeweiligen Zelle entsprechen.
  19. Verfahren nach Anspruch 17, wobei: die mehreren Ausgaben mehrere Reaktionen einzelner Neuronen einer gewählten neuronalen Netzschicht des Bildklassifizierungsmodells auf die mehreren Probebilder umfassen; eine zweite Dimension des Gitters der weiteren grafischen Darstellung den einzelnen Neuronen der gewählten neuronalen Netzschicht entspricht; und das Grafikelement jeder Zelle aus den mehreren Zellen der weiteren grafischen Darstellung die Reaktion des Neurons, das der jeweiligen Zelle entspricht, auf das Probebild aus den mehreren Probebildern, die der jeweiligen Zelle entsprechen, codiert.
  20. Visuelles Analysesystem zur Visualisierung eines Betriebs eines Bildklassifizierungsmodells, das mehrere neuronale Netzwerklagen aufweist, die mindestens eine konvolutionale Lage umfassen, das System umfassend: eine Anzeigevorrichtung; einen Speicher, konfiguriert zum Speichern mehrerer Probebilder und mehrerer tatsächlicher Klasselabels, wobei jedes tatsächliche Klasselabel mit einem jeweiligen Probebild aus den mehreren Probebildern assoziiert ist, und jedes tatsächliche Klasselabel einer aus vorgegebenen mehreren Klassen entspricht; und einen Prozessor, der operativ mit der Anzeigevorrichtung und dem Speicher verbunden ist, wobei der Prozessor konfiguriert ist, um: die mehreren tatsächlichen Klasselabels von dem Speicher zu erhalten; mehrere Ausgaben des Bildklassifizierungsmodells zu empfangen, wobei jede Ausgabe durch das Bildklassifizierungsmodell in Reaktion auf ein jeweiliges Probebild aus den mehreren Probebildern bereitgestellt wird; eine sequenzielle Sortierung der vorgegebenen mehreren Klassen basierend auf einer Ähnlichkeitshierarchie der Klassen in den vorgegebenen mehreren Klassen zu bestimmen, wobei die Ähnlichkeitshierarchie mehrere Gruppen ähnlicher Klassen in den vorgegebenen mehreren Klassen definiert; und die Anzeigevorrichtung zur Anzeige einer grafischen Darstellung der mehreren Ausgaben zu betreiben, wobei die grafische Darstellung Grafikelemente enthält, die die mehreren Ausgaben codieren, die visuell der vorgegebenen sequenziellen Sortierung der vorgegebenen mehreren Klassen entsprechend angeordnet sind.
DE112018000349.3T 2017-07-27 2018-07-24 Visuelles Analysesystem für auf einem konvolutionalen neuronalen Netz basierte Klassifizierer Pending DE112018000349T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762537613P 2017-07-27 2017-07-27
US62/537,613 2017-07-27
PCT/EP2018/070016 WO2019020614A1 (en) 2017-07-27 2018-07-24 VISUAL ANALYSIS SYSTEM FOR CLASSIFICATORS BASED ON CONVOLUTIONAL NEURAL NETWORK

Publications (1)

Publication Number Publication Date
DE112018000349T5 true DE112018000349T5 (de) 2019-09-26

Family

ID=63036044

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018000349.3T Pending DE112018000349T5 (de) 2017-07-27 2018-07-24 Visuelles Analysesystem für auf einem konvolutionalen neuronalen Netz basierte Klassifizierer

Country Status (4)

Country Link
US (1) US10984054B2 (de)
CN (1) CN110892414B (de)
DE (1) DE112018000349T5 (de)
WO (1) WO2019020614A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6528723B2 (ja) * 2016-05-25 2019-06-12 トヨタ自動車株式会社 物体認識装置、物体認識方法及びプログラム
US10354122B1 (en) * 2018-03-02 2019-07-16 Hong Kong Applied Science and Technology Research Institute Company Limited Using masks to improve classification performance of convolutional neural networks with applications to cancer-cell screening
US11163707B2 (en) * 2018-04-23 2021-11-02 International Business Machines Corporation Virtualization in hierarchical cortical emulation frameworks
US10635979B2 (en) * 2018-07-20 2020-04-28 Google Llc Category learning neural networks
US10824916B2 (en) * 2018-09-10 2020-11-03 Sri International Weakly supervised learning for classifying images
US11087170B2 (en) * 2018-12-03 2021-08-10 Advanced Micro Devices, Inc. Deliberate conditional poison training for generative models
CN109816098B (zh) * 2019-01-25 2021-09-07 京东方科技集团股份有限公司 神经网络的处理方法及评估方法、数据分析方法及装置
US20200342361A1 (en) * 2019-04-29 2020-10-29 International Business Machines Corporation Wasserstein barycenter model ensembling
CN112446392A (zh) * 2019-08-28 2021-03-05 银河水滴科技(北京)有限公司 密封圈分类模型的训练、密封圈的分类方法及装置
CN110738267B (zh) * 2019-10-18 2023-08-22 北京达佳互联信息技术有限公司 图像分类方法、装置、电子设备及存储介质
CN110751112B (zh) * 2019-10-24 2023-10-03 复旦大学 一种基于计算机视觉的小鼠脑图谱绘制辅助系统及方法
US20210174204A1 (en) * 2019-12-09 2021-06-10 Salesforce.Com, Inc. System and method for natural language processing using neural network
WO2021253226A1 (en) * 2020-06-16 2021-12-23 Huawei Technologies Co., Ltd. Learning proxy mixtures for few-shot classification
CN111931626B (zh) * 2020-08-03 2023-12-26 深圳市爱博医疗机器人有限公司 一种基于深度学习的血管介入机器人自动手术方法
US11462033B2 (en) * 2020-09-30 2022-10-04 Wipro Limited Method and system for performing classification of real-time input sample using compressed classification model
CN112860808A (zh) * 2020-12-30 2021-05-28 深圳市华傲数据技术有限公司 基于数据标签的用户画像分析方法、装置、介质和设备
WO2022141258A1 (zh) * 2020-12-30 2022-07-07 深圳市优必选科技股份有限公司 一种图像分类方法、计算机设备和存储介质
WO2022141511A1 (zh) * 2020-12-31 2022-07-07 深圳市优必选科技股份有限公司 图像分类方法、计算机设备及存储介质
EP4123526A1 (de) * 2021-07-19 2023-01-25 ALE International Verfahren und system zum berechnen und teilen eines benutzerbelegungsstatus bezüglich der verwendung von multimedia-anwendungen
CN114170233B (zh) * 2021-12-09 2024-02-09 北京字跳网络技术有限公司 图像分割标签的生成方法、装置、电子设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862729B1 (en) * 2000-04-04 2005-03-01 Microsoft Corporation Profile-driven data layout optimization
US7546602B2 (en) * 2001-07-10 2009-06-09 Microsoft Corporation Application program interface for network software platform
US7461077B1 (en) * 2001-07-31 2008-12-02 Nicholas Greenwood Representation of data records
US7167587B2 (en) * 2002-08-30 2007-01-23 Lockheed Martin Corporation Sequential classifier for use in pattern recognition system
WO2006099429A2 (en) * 2005-03-14 2006-09-21 Thaler Stephen L Neural network development and data analysis tool
WO2011007569A1 (ja) * 2009-07-15 2011-01-20 国立大学法人筑波大学 分類推定システムおよび分類推定プログラム
JP5739428B2 (ja) * 2010-08-04 2015-06-24 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像分類装置、方法、プログラム、プログラムを記録する記録媒体及び集積回路
US9984199B2 (en) * 2015-05-21 2018-05-29 Ge Healthcare Bio-Sciences Corp. Method and system for classification and quantitative analysis of cell types in microscopy images
KR102426695B1 (ko) * 2015-10-20 2022-07-29 삼성전자주식회사 화면 출력 방법 및 이를 지원하는 전자 장치
US10642881B2 (en) * 2016-06-30 2020-05-05 Intel Corporation System architecture for universal emotive autography
US10614379B2 (en) * 2016-09-27 2020-04-07 Disney Enterprises, Inc. Robust classification by pre-conditioned lasso and transductive diffusion component analysis
US10187344B2 (en) * 2016-10-03 2019-01-22 HYP3R Inc Social media influence of geographic locations
CN106682730B (zh) * 2017-01-10 2019-01-08 西安电子科技大学 基于vgg16图像反卷积的网络性能评估方法

Also Published As

Publication number Publication date
WO2019020614A1 (en) 2019-01-31
CN110892414B (zh) 2023-08-08
US20190034557A1 (en) 2019-01-31
CN110892414A (zh) 2020-03-17
US10984054B2 (en) 2021-04-20

Similar Documents

Publication Publication Date Title
DE112018000349T5 (de) Visuelles Analysesystem für auf einem konvolutionalen neuronalen Netz basierte Klassifizierer
Bisen Deep convolutional neural network based plant species recognition through features of leaf
DE102005040306B4 (de) System und Verfahren zur biologischen Datenanalyse unter Verwendung eines Bayes'schen Netzwerks in Verbindung mit einer Support-Vektor Maschine
DE60024452T2 (de) Verbesserte Kenntnisentdeckung von mehreren Datensätzen unter Verwendung von multiplen Support-Vektormaschinen
DE112009000485T5 (de) Objektvergleich für Verfolgung, Indizierung und Suche
DE112011104487T5 (de) Verfahren und System zur prädiktiven Modellierung
DE112017005651T5 (de) Vorrichtung zur Klassifizierung von Daten
DE3531969A1 (de) Geraet und verfahren zur erfassung und klassifizierung von teilchen mit hilfe von techniken der durchfluss-cytometrie
DE4211904C2 (de) Automatisches Verfahren zum Erstellen einer Liste unterschiedlicher Arten für eine flüssige Probe
DE102022201780A1 (de) Visuelles Analysesystem zum Bewerten, Verstehen und Verbessern tiefer neuronaler Netze
DE112021002453T5 (de) Iteratives trainieren eines modells für maschinelles lernen
DE202022101590U1 (de) Ein System zur Klassifizierung von Fernerkundungsbildern unter Verwendung fusionierter Faltungsmerkmale mit maschinellem Lernen
DE102005049017B4 (de) Verfahren zur Segmentierung in einem n-dimensionalen Merkmalsraum und Verfahren zur Klassifikation auf Grundlage von geometrischen Eigenschaften segmentierter Objekte in einem n-dimensionalen Datenraum
DE112021005678T5 (de) Normieren von OCT-Bilddaten
Anderson Visual Data Mining: The VisMiner Approach
DE112018005891T5 (de) Bibliotheks-Screening auf Krebswahrscheinlichkeit
DE102021201124A1 (de) Trainieren von bildklassifizierernetzen
DE112019004112T5 (de) System und verfahren zur analyse mikroskopischer bilddaten und zur erzeugung eines annotierten datensatzes zum training der klassifikatoren
Seethalakshmi et al. Complex type seed variety identification and recognition using optimized image processing techniques
DE112020001625T5 (de) Bildsuchsystem und Bildsuchverfahren
Corchado et al. A three-step unsupervised neural model for visualizing high complex dimensional spectroscopic data sets
Theuerkauf et al. A trainable object finder, selector and identifier for pollen, spores and other things: A step towards automated pollen recognition in lake sediments
Kadoli et al. Dissimilar Disease Detection Using Machine Learning Techniques for Variety of Leaves
DE102023210092A1 (de) System und Verfahren für einen Rahmen der visuellen Analytik für Maschinenlernmodelle auf Slice-Basis
DE102022206025A1 (de) Populationsklassifikation mittels Punktwolken-Merkmalen

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: G06K0009620000

Ipc: G06V0030190000