-
Gebiet der Erfindung
-
Die Erfindung bezieht sich auf einen Workflow für Annotationen für Trainingsdatensätze und insbesondere auf ein Computer-implementiertes Verfahren für zur Erweiterung eines Trainingsdatensatzes für Machine-Learning, sowie ein entsprechendes Workflow-System.
-
Technischer Hintergrund
-
Produktionsprozesse in der Industrie erfordern eine ständige Qualitätskontrolle, um den Anforderungen der Abnehmer (Industrieunternehmen wie auch Privatpersonen) kontinuierlich gerecht zu werden. Selbst geringe Schwächen in Bezug auf eine gleichbleibend hohe Qualität werden im Markt nicht toleriert. Um der Anforderung an eine gleichbleibend hohe Qualität der gefertigten Produkte gerecht zu werden, kommen vielfach automatisierte Qualitätssicherungssysteme zum Einsatz. Einige davon basieren auf rein optischen Verfahren, andere setzen dagegen auch auf eine mechanisch/mechanisch-elektronische Messung von Produktparametern. Eine andere Kategorie von Qualitätsmessverfahren setzt auf Datenauswertung von Elektronenmikroskopen, Fluoreszenzmikroskopen, Lichtmikroskopen, optische Kohärenztomographen, Interferometer, Spektrometer oder auch Computertomographen.
-
Zur Beurteilung der Messwerte können Techniken der künstlichen Intelligenz, insbesondere Systeme des maschinellen Lernens (Machine Learning) eingesetzt werden. Damit diese Systeme wunschgemäß funktionieren, ist typischerweise eine große Menge an Trainingsdaten erforderlich, um Anomalien in den produzierten Werkstücken durch die dann trainierten Machine-Learning-Systeme zu erkennen. Die Trainingsdaten müssen allesamt manuell annotiert werden, was einen sehr großen Zeitaufwand von Spezialisten erfordert. Dabei soll hier unter Annotation der Prozess verstanden werden, jede zu klassifizierende Anomalie einer gewünschten, vorbestimmten Anomalie-Kategorie zuzuweisen. Dabei kann es sich um eine Pore, einen Kernbruch, eine Wandverschiebung usw., handeln.
-
Dieses manuelle Vorgehen ist in mehrfacher Hinsicht problematisch: die Sammlung der Daten ist sehr zeitaufwändig ebenso wie der manuelle Annotationsprozess. Bezüglich der Datensammlung ist es problematisch, dass die Häufigkeitsverteilungen der Defektklassen oftmals sehr unterschiedlich sind. Um sicherzustellen, dass auch von selteneren Defekten ausreichend viele Beispiele zum Trainieren vorhanden sind, muss in der Regel eine enorm große Anzahl von Daten aufgenommen werden. Dies ist jedoch technisch sehr aufwändig und teuer. Insbesondere ist es oftmals nicht möglich, alle Anomalien zu speichern.
-
Bezüglich der Datenannotation ist es außerdem problematisch, dass unter Umständen sehr ähnliche bzw. sogar redundante Daten aufgenommen und gespeichert werden. Wenn diese redundanten Daten ohne geeignete Auswahl annotiert werden, ist kaum mit einer Verbesserung der Klassifikationsleistung zu rechnen, da die redundanten annotierten Daten mehr oder weniger irrelevant sind. Besonders im Rahmen von (Machbarkeits-) Studien können häufig große Datenmengen aufgenommen werden; allerdings kann es bei einem ungünstigen Sampling der Daten dazu kommen, dass viele ähnliche Datenpunkte unnötigerweise aufwändig gesammelt und annotiert werden.
-
Häufig ist die Menge der Defektausprägungen nicht abgeschlossen. Stattdessen besteht im Laufe der Zeit häufig der Bedarf, neue Defektklassen in dem bestehenden Katalog aufzunehmen. Mögliche Gründe sind sich ändernde Parameter des überwachten Prozesses oder der Feststellung, dass der ursprüngliche Trainingsdatensatz zu klein und damit nicht vollständig repräsentativ für die Gesamtaufgabe der Qualitätssicherung gewählt wurde. Es muss also in diesem Zusammenhang verhindert werden, dass bislang unbekannte Defekte bei der Kategorisierung die Klasse (Klassifikation) eines bekannten Defektes zugewiesen wird, oder, dass Ausprägungen einer bekannten Klasse als Nicht-Defekt oder Defekt einer anderen Klasse falsch klassifiziert werden. Bei der Auswahl neuer Beispiele sollte vermieden werden, irrelevante Ausreißer zur Annotation auszuwählen. Des Weiteren sollte im Auswahl- und Annotationsprozess die Möglichkeit eingeräumt werden, dass ein Bediener/Sichtprüfer Einfluss auf den Annotationsprozess nimmt, etwa weil das ausgewählte Beispiel durch eine fehlerhafte Aufnahme entstanden ist und keinem relevanten Defekttyp zugeordnet ist.
-
Drittens sollte vermieden werden, dass, falls die ausgewählten Defekte nicht von einem Applikations-Spezialisten annotiert werden, sondern stattdessen von ausgebildeten nicht-Spezialisten, in den Annotationen Unstimmigkeiten oder Fehler auftauchen.
-
Außerdem ist in praktischen Anwendungen das inkrementelle Adaptieren eines Klassifikators nach einer ergänzten Annotation häufig nicht praktikabel, da Anwendungsexperten zum Beispiel gleich mehrere Daten (z.B. 30 - 300) am Stück annotieren wollen, weil das Training, verglichen mit der Prüfzeit eines Prüflings, relativ lange dauert. Praktikabel wäre also nur das erweiterte Training des Klassifikators um mehrere neue Datenpunkte. Bei der Auswahl von mehreren Beispielen zur Annotation muss daher unbedingt dafür gesorgt werden, dass nicht nur jedes einzelne Beispiel maximal informativ ist, sondern auch die Kombination der Beispiele (d.h. der Trainingsdaten) nicht redundant ist.
-
Zusätzlich ist eine Annotation von 3-dimensionalen Daten schwierig, da die Daten aufwändig auf einem 2D-Display zu visualisieren sind. Die Klassifikation der Daten ist aufgrund der großen Datenmenge zudem sehr aufwändig. Bei einer großen Anzahl von zu klassifizierenden Teilvolumen ist eine entsprechend große Rechenleistung erforderlich.
-
Daher besteht die zu Grunde liegende Aufgabe der hier vorgestellten Konzepte darin, den Annotationsprozess elegant zu optimieren, verantwortliches Personal zu entlasten, eine kontinuierliche Ergänzung des Trainingsdatensatzes zu ermöglichen und eine angemessene Reaktionsmöglichkeit auf nur ungenau klassifizierbare Anomalien zu ermöglichen.
-
Übersicht über die Erfindung
-
Diese Aufgabe wird durch das hier vorgeschlagene Computer-implementierte Verfahren zur Erweiterung eines Trainingsdatensatzes für Machine-Learning und ein entsprechendes Workflow-System zur Erweiterung eines Trainingsdatensatzes für Machine-Learning entsprechend der unabhängigen Ansprüche gelöst. Weitere Ausgestaltungen werden durch die jeweils abhängigen Ansprüche beschrieben.
-
Entsprechend einem ersten Aspekt der vorliegenden Erfindung wird ein Computer-implementiertes Verfahren zur Erweiterung eines Trainingsdatensatzes für Machine-Learning vorgestellt. Das Verfahren weist ein Bereitstellen eines Datensatzes eines zu untersuchenden Objektes auf, wobei der Datensatz je Koordinate Koordinatenwerte und Messwerte aufweist.
-
Das Verfahren weist weiterhin ein Identifizieren einer Anomalie in einem Ausschnitt des Datensatzes, der einem Teilbereich des zu untersuchenden Objektes entspricht, und ein Klassifizieren der Anomalie mittels eines mit einem ersten Trainingsdatensatz trainierten ersten Machine-Learning-Modells in eine Anzahl vordefinierter Klassifikationsklassen auf.
-
Darüber hinaus weist das Verfahren ein Bestimmen eines Unterschiedswertes der Anomalie gegenüber dem trainierten ersten Machine-Leaming-Modell auf, sowie ein Ergänzen des ersten Trainingsdatensatzes um Daten, die identifizierte Anomalie betreffend, wenn der Unterschiedswert über einem ersten vordefinierten Schwellwert liegt.
-
Entsprechend eines zweiten Aspektes der vorliegenden Erfindung wird ein entsprechendes Workflow-System vorgestellt, welches aufweist:
- - eine Empfangseinheit, die zum Empfangen eines Datensatzes eines zu untersuchenden Objektes angepasst ist, wobei der Datensatz je Koordinate Koordinatenwerte und Messwerte aufweist,
- - ein Erkennungsmodul, das zum Identifizieren einer Anomalie in einem Ausschnitt des Datensatzes angepasst ist, der einem Teilbereich des zu untersuchenden Objektes entspricht,
- - ein Klassifikationssystem, das zum Klassifizieren der Anomalie mittels eines mit einem ersten Trainingsdatensatz trainierten ersten Machine-Learning-Modells in eine Anzahl vordefinierter Klassifikationsklassen angepasst ist,
- - ein Unterschiedswertermittlungsmodul, das zum Bestimmen eines Unterschiedswertes der Anomalie gegenüber dem trainierten ersten Machine-Learning-Modell angepasst ist, und
- - eine Ergänzungseinheit, die zum Ergänzen des ersten Trainingsdatensatzes um Daten die identifizierte Anomalie betreffend angepasst ist, wenn der Unterschiedswert über einem ersten vordefinierten Schwellwert liegt.
-
Weiterhin können Ausführungsformen in Form eines entsprechenden Computerprogrammproduktes implementiert sein, auf welches durch ein Computer-nutzbares oder Computer-lesbares Medium zugegriffen werden kann, welches Programmcode zur Nutzung durch oder in Verbindung mit einem Computer oder Instruktionsausführungssystem aufweist. Für den Kontext dieser Beschreibung kann ein Computer-nutzbares oder Computer-lesbares Medium jede Vorrichtung sein, die Mittel zum Speichern, Kommunizieren, Weiterleiten oder Transportieren des Programms für eine Nutzung durch oder in Verbindung mit einem Instruktionsausführungssystem, einer entsprechenden Vorrichtung oder Apparatur aufweist.
-
Das Computer-implementierte Verfahren zur Erweiterung eines Trainingsdatensatzes für Machine-Learning weist mehrere Vorteile und technische Effekte auf:
-
Das vorgeschlagene Konzept erlaubt zunächst eine deutliche Reduktion der Annotationskosten und -Aufwände. Um eine Reduktion der Datenmenge und damit der Komplexität zu erreichen, können anstatt des vollständigen 3D-Volumens die zweidimensionalen XY-, YZ-, XZ-Schnittebenen durch das Zentrum der Anomalie für die Annotation und Analyse/Klassifikation verwendet werden. Die relevanten Schnittebenen können dabei aus der Wahrscheinlichkeitskarte der Anomaliedetektion gewonnen werden. Die Schnittbilder enthalten - wie Experimente gezeigt haben - ausreichende Informationen, um Fehlerklassen zu unterscheiden, sind aber in der Handhabung deutlich einfacher zu verarbeiten als vollständige 3D-Volumeninformationen. Alternativ können auch weitere 2D-Projektionen des 3D-Volumens genutzt werden (zum Beispiel lokale Minimum- /Maximum-Projektionen).
-
Außerdem können reduzierte Trainingszeiten realisiert werden. Da durch die gezielte Auswahl von Daten insgesamt weniger Daten zum gleichen Informationsgehalt führen, muss für das Klassifikator-Training insgesamt weniger Zeit vorgesehen werden. Dies schlägt sich direkt in einem schnelleren Turn-Around nieder, was auch einen interaktiven Wechsel zwischen Training, Datenauswahl und Annotation ermöglicht und dadurch zu einer schnelleren Implementierung von Lösungen führen kann.
-
Weiterhin kommt es durch das hier vorgeschlagene Konzept zu geringeren Klassifikationsfehlern. Da bevorzugt schwierig zu erkennende Defekte zur Annotation ausgewählt werden, kann die Defektklassifikation schnell auch schwierige Anomalien zuverlässig erkennen. Somit wird die Klassifikationsgenauigkeit nachhaltig erhöht, was die Ergebnisse der Qualitätsprüfung und damit der zugehörigen Produkte verbessert.
-
Weiterhin ist es möglich, manuell in den automatisierten bzw. teilautomatisierten Annotationsprozess einzugreifen, um auf diese Weise falsche Annotationsparameter zu verhindern und entsprechend anzupassen.
-
Insgesamt wird also der Annotationsprozess elegant optimiert, verantwortliches Personal kann entlastet werden, eine kontinuierliche Ergänzung des Trainingsdatensatzes wird ermöglicht, und es stehen angemessene Reaktionsmöglichkeiten auf nur ungenau klassifizierbare Anomalien zur Verfügung.
-
Im Folgenden werden weitere Ausführungsformen des erfinderischen Konzeptes für das Verfahren, welche gleichermaßen für das entsprechende Workflowsystem nutzbar sind, vorgestellt:
-
Gemäß einer Ausführungsform des Verfahrens kann die Anomalie eine Vielzahl von Anomalien sein und das Ergänzen kann ein Ergänzen des Trainingsdatensatzes um Daten von ausgewählten identifizierten Anomalien, wenn der Unterschiedswert über einen zweiten vordefinierten Schwellwert liegt, aufweisen. Dabei kann der erste Schwellwert einen Bediener darauf aufmerksam machen, dass eine Anomalie einer Klasse nicht eindeutig zugeordnet werden kann, und ein manueller Eingriff in den Annotationsprozess erforderlich scheint.
-
Sollte der ermittelte Unterschiedswert allerdings über einem zweiten - z.B. einem höheren - Unterschiedswert liegen, so kann davon ausgegangen werden, dass eine signifikant andere Anomalie vorliegt, die dann auch automatisch zur Annotation von Trainingsdatensätzen herangezogen werden kann.
-
Zusätzlich sei darauf hingewiesen, dass die Daten über die Anomalien nicht nur aus einem Scandatensatz bestehen kann, sondern eine Mehrzahl von Daten aus einer Mehrzahl von Scans enthalten kann, die zusammengesetzt sind. Auf diese Weise lässt sich die Erkennungswahrscheinlichkeit deutlich erhöhen.
-
Gemäß einer anderen Ausführungsform des Verfahrens kann der Unterschiedswert durch ein Neuheitsmaßverfahren für eine ausgewählte Anomalie bestimmt werden. Dieses kann aus der Gruppe ausgewählt sein, die besteht aus: Novelty Detection, Estimated Error Reduction, Estimated Entropy Minimization, Expected Model Output Changes (EMOC), MC-Dropout, OpenMAX - die letzten beiden für neuronale Netze - SVM Margin, neuronales Netzwerk, Verhältnis von höchster zur zweithöchsten Klassifikationswahrscheinlichkeit, Entropie von Klassifikationswahrscheinlichkeiten, GP Varianz, Varianz einzelner Klassifikationswahrscheinlichkeiten von aggregierten Klassifikatoren (z.B. Bagging),Varianz der Klassifikationswahrscheinlichkeit unter Perturbation des Eingangssignals, d.h. hier des Datensatzes, der sich auf das zu untersuchende Objekt bezieht.
-
Damit steht ein reichhaltiges Arsenal an Verfahren für den Unterschiedswert zur Verfügung, aus dem sich Workflow-Verantwortliche bedienen können, ohne künstlichen Einschränkungen zu unterliegen. Der Fachmann kann die genannten Verfahren zur Erkennung eines Unterschiedswertes weiter ergänzen.
-
Gemäß einer weiteren möglichen Ausführungsform des Verfahrens kann eine Kombination der Neuheitsmaßverfahren durch ein Verfahren ermittelt werden, das aus der Gruppe ausgewählt ist, die besteht aus: multi-armed bandit formulation, success driven selction among multiple criteria, einer linearen Kombination, basierend auf einer Reward-Funktion, Reinforcement-Learning. Durch diese Variante können weitere, komplexere Neuheitsmaßverfahren berücksichtigt werden, um so der Kombination aus dem Identifizieren der Anomalie sowie der genutzten Klassifikation gerecht zu werden.
-
Gemäß einer zusätzlichen Ausführungsform, kann das Verfahrens bei dem Bestimmen eines Unterschiedswertes auch eine Bestimmung des Unterschiedswertes oder Kombination von Unterschiedswerten mittels eines zweiten mit einem zweiten Trainingsdatensatz trainierten Machine-Learning-Modells aufweisen. Dies kann insbesondere eines der Verfahren Forest Regression, Lineare Regression, Gauss-Prozess, Neuronales Netz, oder ähnlichen sein. Diese Quasi-Sicherheitsüberprüfung ermöglicht eine noch genauere Erkennung darüber, ob es sich tatsächlich um eine zusätzliche Klasse von Anomalien handelt, die zu berücksichtigen wäre.
-
Eine vorteilhafte Ausführungsform des Verfahrens kann ein Erstellen des ersten Trainingsdatensatzes und des zweiten Trainingsdatensatzes durch eine jeweilige zufällige Auswahl von Datensätzen aus einem Gesamttrainingsdatensatz - z.B. mittels Bagging - aufweisen. Auch auf diese Weise lässt sich eine Tendenz zur Berücksichtigung oder Nichtberücksichtigung von bestimmten Anomalien eingrenzen und das Verfahren so robuster gegen Fehlinterpretationen machen.
-
Eine weitere vorteilhafte Ausführungsform des Verfahrens kann auch ein erneutes Trainieren des ersten Machine-Learning-Modells mit dem ergänzten Trainingsdatensatz zur Erzeugung eines dritten Machine-Learning-Modells aufweisen. Dabei können die Parameter des ersten Machine-Learning-Modells als Startwerte für das Training genutzt werden. Alternativ kann auch ein kompletter Neustart des Machine-Learning-Modells stattfinden, um das Machine-Learning-Modell ohne eine Tendenz zu erstellen.
-
Gemäß einer speziellen Ausführungsform des Verfahrens kann das Klassifizieren mittels eines Klassifikators durchgeführt werden, der aus der Gruppe ausgewählt ist, die besteht aus: neuronales Netzwerk - auch deep neural network - Random Forest, Logistic Regression (etwas untypischer), Support-Vector Machine (SVM) und Gaussian Regression. Grundsätzlich können alle bekannten Klassifikatoren eingesetzt werden, von denen der Fachmann je nach Anomalien und zu untersuchenden Objekten einen geeigneten Klassifikator bzw. ein Klassifikator-System auswählt.
-
Gemäß weiterer nützlicher Ausführungsformen des Verfahrens kann der Datensatz aus einem Bildaufnahmeverfahren abgeleitet sein. Dabei kann das Bildaufnahmeverfahren auf Folgendem aufbauen: einem Elektronenmikroskop - insbesondere können auch andere geladene Teilchen zum Einsatz kommen - einem Fluoreszenzmikroskop, einem Lichtmikroskop, einem optischen Kohärenztomographen, einem Interferometer, einem Spektrometer, einem Operationsmikroskop und einem Computertomographen. Der Fachmann könnte das Verfahren mit vergleichbaren Bildaufnahmeverfahren ausführen.
-
Das Verfahren gemäß einer praktikablen Ausführungsform könnte auch ein Empfangen - beispielsweise von einem Sichtprüfer - eines Auswahlsignals für eine Anomalie aufweisen, wobei das Auswahlsignal den Unterschiedswert so vergrößert, dass er über dem ersten vordefinierten Schwellwert oder über dem zweiten vordefinierten Neuheitsschwellwert liegt. Auf diese Weise, die auf einem Überschreiben des bestimmten Unterschiedswertes beruht, könnte ein „unsicherer Kandidat“ zu einem „sicheren Kandidaten“ verändert werden und so die Annotation von Experten unterstützt werden.
-
Figurenliste
-
Es sei darauf hingewiesen, dass Ausführungsbeispiele der Erfindung mit Bezug auf unterschiedliche Implementierungskategorien beschrieben sein können. Insbesondere sind einige Ausführungsbeispiele in Bezug auf ein Verfahren beschrieben, während andere Ausführungsbeispiele im Kontext von entsprechenden Vorrichtungen beschrieben sein können. Unabhängig davon ist es einem Fachmann möglich, aus der hier vorstehenden und nachfolgenden Beschreibung - wenn nicht anderweitig darauf hingewiesen - mögliche Kombinationen der Merkmale des Verfahrens sowie mögliche Merkmalskombinationen mit dem entsprechenden System zu erkennen und zu kombinieren, auch wenn sie zu unterschiedlichen Anspruchskategorien gehören.
-
Bereits oben beschriebene Aspekte sowie zusätzliche Aspekte der vorliegenden Erfindung ergeben sich unter anderem aus den beschriebenen Ausführungsbeispielen und aus den zusätzlichen weiteren, durch Bezug auf die Figuren beschriebenen, konkreten Ausgestaltungen.
-
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden beispielhaft und mit Bezug auf die folgenden Figuren beschrieben:
- 1 stellt ein Blockdiagramm eines Ausführungsbeispiels des erfinderischen Computer-implementierten Verfahrens zur Erweiterung eines Trainingsdatensatzes für Machine-Learning dar.
- 2 stellt ein Blockdiagramm für einen Ablauf eines üblichen Trainingsablaufes eines Klassifikators dar.
- 3 stellt ein Blockdiagramm eines implementierungsnäheren Flussdiagramms des vorgeschlagenen Verfahrens dar.
- 4 stellt ein Blockdiagramm eines Ausführungsbeispiels des Workflow-Systems dar.
- 5 stellt ein Blockdiagramm eines Computersystems dar, welches zusätzlich das Workflow-System aufweist.
-
Detaillierte Figurenbeschreibung
-
Im Kontext dieser Beschreibung sollen Konventionen, Begriffe und/oder Ausdrücke folgendermaßen verstanden werden:
-
Der Begriff „Machine-Learning“ (bzw. maschinelles Lernen) ist ein Grundbegriff bzw. eine Grundfunktion der künstlichen Intelligenz, wobei z.B. statistische Verfahren verwendet werden, um Computersystemen die Fähigkeit des „Lernens“ zu geben. Beispielsweise werden dabei bestimmte Verhaltensmuster innerhalb eines spezifischen Aufgabenbereiches optimiert. Die verwendeten Verfahren versetzen die Systeme des maschinellen Lernens in die Lage, Daten zu analysieren, ohne dass es dazu einer expliziten prozeduralen Programmierung bedarf. Typischerweise handelt es sich z.B. bei CNN (Convolutional Neural Network) um ein Beispiel für ein System für maschinelles Lernen, um ein Netzwerk von Knoten, welche als künstliche Neuronen agieren, und um künstliche Verbindungen zwischen den künstlichen Neuronen - sogenannte Links - , wobei den künstlichen Verbindungen Parameter - zum Beispiel Gewichtsparameter für die Verbindung - zugeordnet werden können. Während des Trainings des neuronalen Netzes passen sich die Gewichtsparameter der Verbindungen automatisch auf Basis von Eingangssignalen zur Erzeugung eines gewünschten Ergebnisses an. Beim überwachten Lernen werden die als Eingabewerte (Trainingsdaten) gelieferten Bilder - allgemein (Eingangs-)Daten - durch Metadaten (Annotationen) ergänzt, um einen gewünschten Ausgangswert anzuzeigen. Beim unüberwachten Lernen sind solche Annotationen nicht erforderlich. Ganz allgemein betrachtet wird eine Abbildung von Eingangsdaten auf Ausgangsdaten gelernt.
-
In diesem Zusammenhang sollen auch rekursive neuronale Netzwerke (RNN) erwähnt werden, die auch eine Art von Deep Neural Networks darstellen, bei denen die Gewichtsanpassung rekursiv erfolgt, so dass eine strukturierte Vorhersage über Eingangsdaten variabler Größe erzeugt werden kann. Typischerweise werden solche RNNs für sequenzielle Eingangsdaten eingesetzt. Dabei kommen - genau wie bei CNNs - neben der vorwärts gerichteten Gewichtsanpassung auch Back-Propagation-Funktionen zum Einsatz. RNNs können auch in der Bildanalyse eingesetzt werden.
-
Der Begriff „Trainingsdatensatz“ beschreibt im Zusammenhang dieses Dokumentes im Wesentlichen Bilddaten, die durch die genannten Verfahren gewonnen werden können, von einer oder mehreren Anomalien in einem zu untersuchenden Objekt (z.B. Werkstück), für die bereits Annotationen vorliegen.
-
Der Begriff „Erweitern eines Trainingsdatensatzes“ beschreibt den Prozess der Erweiterung eines bestehenden Trainingsdatensatzes um neue Bilddaten mit entsprechenden Klassifikationen, die dann für ein erneutes oder erweitertes Training des Klassifikators einsetzbar sein können.
-
Der Begriff „zu untersuchendes Objekt“ beschreibt hier im Allgemeinen ein Werkstück, welches einer Qualitätsüberprüfung unterzogen werden soll.
-
Der Begriff „Anomalie“ beschreibt grundsätzlich eine nichtgewollte Auffälligkeit im Volumen - oder auch in einer Oberfläche - des zu untersuchenden Objektes. Dabei kann es sich beispielsweise um eine Pore, einen Einschluss, einen Kernbruch, eine Wandverschiebung oder andere Auffälligkeiten in oder an dem Werkstück handeln.
-
Der Begriff „Klassifizieren“ beschreibt den Prozess des Zuordnens einer erkannten Anomalie zu einer Anomalieklasse durch den Klassifikator, der auf den Grundsätzen von Machine-Learning arbeitet.
-
Der Begriff „Klassifikator“ - im Kontext des maschinellen Lernens auch als Classifier oder Klassifikatorsystem bezeichnet - beschreibt ein Machine-Learning-System, welches durch ein Training mit Trainingsdaten in die Lage versetzt wird, Eingangsdaten - hier insbesondere Bilddaten von Anomalien des zu untersuchenden Objektes - einer bestimmten Klasse (insbesondere von Anomalien) zuzuordnen.
-
Dabei ist auch anzumerken, dass ein Klassifikator typischerweise in eine vorgegebene Anzahl von Klassen klassifiziert. Dies geschieht normalerweise dadurch, dass ein Klassifikationswert der Eingabedaten für jede Klasse bestimmt wird und ein WTA-Filter (winner takes it all) die Klasse mit dem höchsten Klassifikationswert als die klassifizierte Klasse auswählt. Bei Klassifikatoren wird die Abweichung zu einem 100%-Klassifikationswert häufig als Qualitätsparameter der Klassifikation bzw. als Wahrscheinlichkeit für die Richtigkeit der Klassifikation genutzt.
-
Der Begriff „Unterschiedswert“ beschreibt im Kontext dieses Dokumentes einen Wert, welcher durch das hier vorgestellte Verfahren bzw. das entsprechende Workflow-System ermittelt wird, der angibt, wie groß die Abweichung einer erkannten - d.h. identifizierten - Anomalie von einer 100%-Klassifikation ist. Dabei kann der höchste Klassifikationswert (s.o.) als Indikator benutzt werden; es können aber auch die anderen Klassifikationswerte der anderen Klassen zusätzlich herangezogen werden. Im einfachsten Fall wird also einfach der Klassifikationswahrscheinlichkeitsparameter des Klassifikators genutzt werden können. Dieser Unterschiedswert wird bei der Entscheidung darüber herangezogen, ob die identifizierte Anomalie sinnvollerweise einer bestimmten, bereits bekannten Klasse zugeordnet wird - und damit die entsprechenden Pixeldaten einer entsprechenden Auto-Annotation zum Zwecke der Ergänzung des Trainingsdatensatzes unterzogen werden - oder nicht. Diese Annotationswerte der Pixel werden dann genutzt, um den Datensatz bestehend aus Koordinatenwerten und Messwerten um den Parameter „Annotationswert“ zu ergänzen.
-
Falls eine eindeutige Klassifikation nicht möglich ist, kann ein Spezialist eine neue Anomalieklasse freigeben bzw. den zu trainierenden Klassifikator für weitere oder neue Trainingsrunden vorgeben.
-
Der Begriff „Trainieren des Klassifikators“ bedeutet, dass z.B. ein Machine-Learning-System (maschinelles Lernsystem) durch eine Mehrzahl von Beispielbildern Parameter in einem beispielsweise neuronalen Netz durch teilweise wiederholtes Auswerten der Beispielbilder so justiert wird, um nach der Trainingsphase auch unbekannte Bilder einer oder mehrerer Kategorien zuzuordnen, mit denen das Lernsystem trainiert worden ist. Die Beispielbilder sind typischerweise annotiert - d.h. mit Metadaten versehen - um basierend auf den Eingangsbildern gewünschte Ergebnisse, wie beispielsweise Hinweise auf vorzunehmende Wartungsmaßnahmen, zu erzeugen.
-
Der Begriff „Convolutional Neural Network“ - als ein Beispiel für einen Klassifikator - beschreibt eine Klasse von künstlichen neuronalen Netzwerken, die auf Feed-Forward-Techniken basieren. Sie werden häufig für Bildanalysen mit Bildern als Eingangsdaten eingesetzt. Hauptbestandteil von Convolutional Neural Networks sind dabei Faltungsschichten (daher der Name), welche eine effiziente Auswertung durch Parameter-Sharing ermöglicht.
-
Es sei auch erwähnt, dass Deep Neural Networks aus mehreren Schichten unterschiedlicher Funktion - beispielsweise eine Eingangsschicht, eine Ausgangsschicht und einer oder mehrerer dazwischen liegende Schichten beispielsweise für Faltungsoperationen, Anwendung von nichtlinearen Funktionen, einer Dimensionsreduktion, Normalisierungsfunktionen, etc. - bestehen:. Die Funktionen können „in Software ausgeführt“ werden oder es können spezielle Hardware-Baugruppen die Berechnung der jeweiligen Funktionswerte übernehmen. Darüber hinaus sind Kombinationen von Hardware und Softwareelementen bekannt.
-
Der Begriff „Novelty Detection“ beschreibt einen Mechanismus, durch den ein „intelligentes“ System (beispielsweise ein intelligenter Organismus) ein ankommendes Sensormuster als bisher unbekannt einordnen kann. Dieses Prinzip lässt sich auch auf künstliche neuronale Netzwerke - oder andere Klassifikatoren - anwenden. Wenn ein am künstlichen neuronalen Netzwerk ankommendes Sensormuster kein Ausgangssignal erzeugt, bei dem die Erkennungswahrscheinlichkeit über einem vorgegebenen (oder dynamisch angepassten) Schwellwert liegt, oder eine Mehrzahl von Ausgangssignalen erzeugt, bei denen die Erkennungswahrscheinlichkeiten in etwa gleich groß ist, kann das ankommende Sensormuster - beispielsweise ein digitales Bild - als eines mit einem neuen Inhalt (Novelty) klassifiziert werden.
-
Wird hingegen einem durch bekannte Beispielbilder trainiertes neuronales Netz (beispielsweise als Autoencoder konfiguriert) ein neues Beispielbild zugeführt und durchläuft es den Autoencoder, so sollte dieser in der Lage sein, das neue Beispielbild am Ausgang wieder zu rekonstruieren. Dies ist deshalb möglich, weil beim Durchlaufen durch den Autoencoder das neue Beispielbild stark komprimiert wird, um es danach durch das neuronale Netz wieder zu expandieren/rekonstruieren. Wenn das neue Eingangsbild mit dem expandierten/rekonstruierten Bild (weitgehend) übereinstimmt, entsprach das neue Beispielbild einem bekannten Muster, bzw. weist es eine hohe Ähnlichkeit zu den Inhalten der Trainingsbilddatenbank auf. Wenn sich beim Vergleich des neuen Beispielbildes gegenüber dem expandierten/rekonstruierten Bild ein deutlicher Unterschied zeigt, d.h. wenn die Rekonstruktionsfehler signifikant sind, dann handelt es sich bei dem Beispielbild um eines mit einer bisher unbekannten Verteilung (Bildinhalt). D.h., kann der Autoencoder die Datenverteilung nicht abbilden, so handelt es sich um eine Anomalie im Vergleich zu der bekannten, als Normalfall angenommenen Datenbasis.
-
Im Folgenden wird eine detaillierte Beschreibung der Figuren angegeben. Dabei versteht es sich, dass alle Details und Anweisungen in den Figuren schematisch dargestellt sind. Zunächst wird ein Blockdiagramm eines Ausführungsbeispiels des erfindungsgemäßen Computer-implementierten Verfahrens zur Erweiterung eines Trainingsdatensatzes für Machine-Learning dargestellt. Nachfolgend werden weitere Ausführungsbeispiele bzw. Ausführungsbeispiele für das entsprechende System beschrieben:
-
1 stellt ein Blockdiagramm eines Ausführungsbeispiels des erfinderischen Computer-implementierten Verfahrens 100 zur Erweiterung eines Trainingsdatensatzes für Machine-Learning dar. Das Verfahren 100 weist ein Bereitstellen 102 eines Datensatzes eines zu untersuchenden Objektes auf. Der Datensatz weist dabei je Koordinate Koordinatenwerte und Messwerte auf. Es kann sich um einen 2D- (2-dimensionalen) oder 3D-Datensatz handeln, der entweder pro Pixel (allgemein auch für Voxel) Grauwerte als Messwerte oder auch Farbwerte aufweist. Außerdem können pro Pixel oder für Gruppen von Pixeln weitere Messwerte vorliegen. Die Daten des Datensatzes wurden durch die oben genannten Verfahren aufgenommen und ggfs. vorverarbeitet, z.B. normalisiert.
-
Das Verfahren 100 weist weiterhin ein Identifizieren 104 einer Anomalie in einem Ausschnitt des Datensatzes - in der Literatur auch als „Region of Interest“ bezeichnet - auf, der einem Teilbereich des zu untersuchenden Objektes entspricht. Bei einer Variante handelt es sich also um einen Ausschnitt; bei 3D-Bilddaten handelt es sich um ein Teilvolumen.
-
Das Verfahren 100 weist außerdem ein Klassifizieren 106 der identifizierten Anomalie mittels eines mit einem ersten Trainingsdatensatz trainierten ersten Machine-Learning-Modells in eine Anzahl vordefinierter Klassifikationsklassen auf. Damit können Anomalien des zu untersuchenden Objektes klassifiziert werden. Der Klassifikator, der für das Klassifizieren genutzt wird, wurde vor dem Einsatz - d.h. vor der Anomalieklassifikation - mit dem ersten Trainingsdatensatz trainiert, um das erste Machine-Learning-Modell typischerweise innerhalb des Klassifikators zu bilden.
-
Weiterhin weist das Verfahren 100 ein Bestimmen 108 eines Unterschiedswertes der Anomalie gegenüber dem trainierten ersten Machine-Learning-Modell auf. Der Unterschiedswert ist nicht zwingend der Klassifikationswahrscheinlichkeitswert des Klassifikators, kann aber aus diesem abgeleitet - d.h. eine Funktion desselben - sein.
-
Darüber hinaus weist das Verfahren 100 ein Ergänzen 110 des ersten Trainingsdatensatzes um Daten, die identifizierte Anomalie betreffend, auf, wenn der Unterschiedswert über einem ersten vordefinierten Schwellwert liegt. Der Schwellwert für den Unterschiedswert kann dabei an individuell vorgegebenen Qualitätsstandards, Produktionsprozesse und zu erwartenden Anomalien eingestellt sein. Die Annotation geschieht typischerweise pro Pixel.
-
2 stellt ein Blockdiagramm für einen Ablauf 200 eines üblichen Trainingsablaufes eines Klassifikators dar. Dabei folgt zunächst ein Bestimmen 202 potenzieller Fehler, d.h. Anomalien. Diese werden nach Defektklassen annotiert, 204. Dabei werden insbesondere diejenigen Pixel, die zu der jeweiligen Anomalie gehören, manuell und damit zeitaufwändig mit einem bestimmten Annotations-Flag für die jeweilige Anomalieklasse versehen. Dieser Prozess geschieht interaktiv durch einen Benutzer. Auf diese Weise wird der Trainingsdatensatz erstellt. Bekanntermaßen ist hierfür eine große Anzahl von Beispielanomalien erforderlich.
-
In einem nächsten Schritt wird der Klassifikator mit einem abgeschlossenen Trainingsdatensatz trainiert, 206. Anschließend wird der trainierte Klassifikator in einem Prüfprozess eines Qualitätssicherungssystems eingesetzt, 208. Dieses gemäß dem Stand der Technik bekannten Vorgehens ist zeitaufwändig und erfordert spezielles Know-how bei der Beurteilung der Anomalie und damit der Erstellung der Trainingsdaten mit entsprechenden Annotationen.
-
Das hier vorgestellte Verfahren kann dieses Vorgehen zur Erstellung eines Basis-Trainingsdatensatzes nutzen, um einen Grundstock an Trainingsdaten - insbesondere des ersten Trainingsdatensatzes - zur Verfügung zu haben.
-
3 stellt ein Blockdiagramm eines implementierungsnäheren Flussdiagramms 300 des vorgeschlagenen Verfahrens dar. Gemäß dem Workflow des vorgestellten Verfahrens wird auch hier zunächst ein Bestimmen 302 potenzieller Fehler - d.h. Anomalien - vorgenommen. Die entsprechenden Daten werden nach Defektklassen typischerweise manuell annotiert, 304, um insbesondere den ersten Trainingsdatensatz zum Trainieren des ersten Machine-Learning-Modells zu bilden, um dann im weiteren Verlauf mit einer zunehmenden Trainingsdatenmenge trainiert, 306, zu werden. Dieser so trainierte Klassifikator kann darüber hinaus in einem normalen Prüfprozess verwendet werden, 308.
-
Wenn sich dann allerdings im laufenden Prüfprozess herausstellt, dass ein Unterschiedswert - angelehnt an die Wahrscheinlichkeit für die Richtigkeit der Klassifikation bzw. den jeweiligen Qualitätsparametern der Klassifikation - einer Klassifikation gegenüber einem ersten vordefinierten Schwellwert zu groß ist (d.h. einfach größer als der Schwellwert), kann eine Ergänzung des Trainingsdatensatzes vorgenommen werden, bei dem dann eine neue Anomalieklasse berücksichtigt wird. Gleichzeitig können die Pixel, die zur identifizierten Anomalie gehören, welche sich nicht eindeutig klassifizieren lässt (d.h. Unterschiedswert kleiner als der vordefinierte Schwellwert), mit einem neuen Annotations-Flag, der zu einer neuen Klasse von Anomalien gehört, automatisch annotiert werden.
-
Ein erneutes Training des Klassifikators mit dem erweiterten Trainingsdatensatz umfasst dann auch das Lernen der zusätzlichen Klassifikationsklasse, d.h. dass das Machine-Learning-Modell des Klassifikators auch durch die ergänzten Trainingsdaten für die zusätzliche Klassifikationsklasse trainiert ist.
-
Wie bereits oben erwähnt, erfolgt das Bestimmen 310 des Sicherheitsmaßes d.h., des Schwellwertes, entsprechend vorgegebener Parameter der verwendeten Eingangsdaten (typischerweise Bilddaten), des Materials aus dem das zu untersuchende Objekt besteht, und/oder erwarteter Anomalien bzw. Defekten. Das zusätzliche Annotieren 312 mittels eines Sicherheitsmaßes ausgewählter zusätzlicher Daten und des erneuten Trainings 306 mit der nun zunehmenden Datenmenge wurde auch bereits oben erläutert.
-
Das Maß kann dann für den Ablauf im Prüfprozess unterschiedlich genutzt werden: (1) Um die Datensammlung zielgerichteter zu gestalten, werden nur Daten zu Teilvolumen gespeichert, für welche ein hoher Wert an neu erhaltener Information abgeschätzt wird. Dadurch wird Speicherplatz gespart und es kann eine große Anzahl von relevanten Teilvolumen in einem Speicher vorgegebener Größe gespeichert werden. Für die Annotationen werden dann nur diejenigen Teilvolumen berücksichtigt, welche besonders informativ sind, wodurch eine Verbesserung des Klassifikators im nachfolgenden Training erwartet wird.
-
Ein hoher geschätzter Informationsgehalt, d.h. ein hoher Unterschiedswert (etwa durch eine hohe Unsicherheit bezüglich der Klassifikation), signalisiert gleichzeitig, dass das zugehörige Teilvolumen einen bisher unbekannten Defekt enthalten kann. Daher soll es bei einer Erweiterung des Trainingsdatensatzes mitberücksichtigt werden. Tritt das Fehlerbild gehäuft auf, kann die Menge der Fehlerkategorien im Defektkatalog um die neue Klasse erweitert werden. D.h., dass nicht für jedes erstmalige Auftreten einer Anomalie mit einem Unterschiedswert, der größer als der Schwellwert ist, eine neue Klasse eingeführt werden muss. Dabei können Modellparameter eines bereits trainierten Modells zur Initialisierung des neuen Modells genutzt werden. Dies kann die Trainingszeit und die erforderliche Anzahl an zusätzlichen Trainingsdaten deutlich reduzieren.
-
Bei der Inspektion neuer Daten kann das Maß sofort für jeden lokalisierten Effekt ausgewertet werden, um direkt im Prüfprozess zu entscheiden, ob diese einem Experten zur Nachkontrolle vorgelegt werden soll (stream-based setting). Alternativ kann erst eine hinreichend große Menge von lokalisierten Defekten (d.h. Anomalien) gesammelt werden, aus der anschließend durch Auswertung des Informationsmaßes der relevantesten Beispiele zum Annotieren ausgewählt wird (pool-based setting).
-
Um die Auswahl nicht relevanter Datenpunkte zu verhindern, kann zusätzlich das Informationsmaß um einen Faktor ergänzt werden, welcher zum Beispiel zur Abschätzung genutzt wird, ob visuell ähnliche Beispiele in der Sammlung neuer Daten vorkommen (ein novel cluster) oder ob es sich um einen Ausreißer handelt (etwa durch kurzfristig aufgetretene Aufnahmefehler, die zu einem komplett anders aussehenden Bild führen).
-
Um das vermehrte Zurückweisen durch den Sichtprüfer zu vermeiden, sollte sich das Informationsmaß dahingehend adaptieren, ähnliche Beispiele später mit einem niedrigeren Informationswert einzuschätzen.
-
Die Auswirkungen von fehlerhaften Annotationen durch Nicht-Applikations-Experten können am einfachsten reduziert werden, in dem die ausgewählten Beispiele von mehreren Personen annotiert werden (Mehrfachannotation). Alternativ kann bereits im Informationsmaß der Fehler eines Sichtprüfers mit geschätzt werden, so dass unterschiedlichen Sichtprüfern unterschiedliche Effekte zum Annotieren vorgelegt werden. Dies kann unabhängig davon geschehen, welche Verlässlichkeit dem jeweiligen Sichtprüfer zugetraut wird.
-
Um sicherzustellen, dass auch eine Kombination mehrerer Beispiele informativ ist, ist es möglich, ein Diversity-Maß zur Auswahl hinzuzufügen. Dies kann entweder eine direkte Bewertung der Ähnlichkeit der Beispiele vornehmen oder durch Bewertung auf Basis der Varianz des resultierenden Klassifikators erreicht werden.
-
Der Vollständigkeit halber stellt 4 ein Blockdiagramm eines Ausführungsbeispiels des Workflow-Systems 400 dar. Das Workflow-System 400 weist eine Empfangseinheit 402 auf, die angepasst ist zum Empfangen eines Datensatzes eines zu untersuchenden Objektes. Dabei weist der Datensatz je Koordinate Koordinatenwerte und Messwerte auf.
-
Das Workflow-System 400 weist außerdem ein Erkennungsmodul 404, das angepasst ist zum Identifizieren einer Anomalie in einem Ausschnitt des Datensatzes, der einem Teilbereich des zu untersuchenden Objektes entspricht, sowie ein Klassifikationssystem 406 auf, das angepasst ist zum Klassifizieren der Anomalie mittels eines mit einem ersten Trainingsdatensatz trainierten ersten Machine-Learning-Modells in eine Anzahl vordefinierter Klassifi kationsklassen .
-
Ein Unterschiedswertermittlungsmodul 408 als Teil des Workflow-Systems 400 ist angepasst zum Bestimmen eines Unterschiedswertes der Anomalie gegenüber dem trainierten ersten Machine-Learning-Modell. Schließlich weist das Workflow-System 400 noch eine Ergänzungseinheit 410 auf, die angepasst ist zum Ergänzen des Trainingsdatensatzes um Daten die identifizierte Anomalie betreffend, wenn der Unterschiedswert über einem ersten vordefinierten Schwellwert liegt.
-
Damit lassen sich sowohl eine Autoannotation als auch eine Erweiterung des Trainingsdatensatzes und die Einführung von potenziell neuen Anomalieklassen elegant bewerkstelligen.
-
Zusammenfassend lässt sich also sagen, dass zur Realisierung des hier vorgestellten Lösungsansatzes Maße für den Informationsgehalt genutzt werden können, die aus dem Bereich Active Learning bekannt sind. Dies umfasst grundsätzlich zwei Verfahrensklassen: explorative Verfahren und exploitative Verfahren.
-
Explorative Verfahren ignorieren das Modell eines bereits trainierten Klassifikators und versuchen stattdessen, mit möglichst wenig auszuwählenden Datenpunkten, den gesamten Merkmalsraum möglichst gut abzudecken, d.h., möglichst schnell eine repräsentative, varianzreiche Datensammlung zu erzeugen. Eine hohe Information wird somit bei denjenigen neuen Daten vermutet, welche maximal und ähnlich zu bereits bekannten Daten sind. Für das hier zu Grunde liegende Problem würden diese Verfahren daher Defekte zum Annotieren auswählen, welche in ihrer visuellen Ausprägung bisher noch nicht bekannt sind. Die Vorteile dieser Verfahren liegen in der Möglichkeit, schnell bisher unbekannte Defektkategorien (Anomalieklassen) zum Annotieren auszuwählen. Nachteile gibt es hinsichtlich einer Anfälligkeit gegenüber Ausreißern, hervorgerufen etwa durch Störprozesse während der Datenaufnahme. Direkt anwendbar sind Maße aus dem Bereich der „Novelty Detection“, welche das Auffinden neuer, unbekannter Daten explizit adressieren.
-
Hinsichtlich exploitativer Verfahren ist in der hier adressierten Aufgabenstellung davon auszugehen, dass ein Klassifkator bereits eine praxisrelevante Performance erreicht (Warmstart) und das Machine-Learning-Modell nicht von null (Kaltstart) erlernt werden muss. Daher können Informationsmaße, welche einen bereits trainierten Klassifikator voraussetzen, erfolgreich eingesetzt werden.
-
Exploitative Verfahren beziehen in die Bewertung des Informationsgehaltes neuer Beispiele den bisher trainierten Klassifikator mit ein, d.h., sie „exploiten“ ihn. Ziel ist es dann, eine schnelle Reduktion des Klassifikationsfehlers zu erreichen. Je nach der Menge der verfügbaren Trainingsdaten und der verfügbaren Rechenzeit kann die zu erwartende Fehlerreduktion entweder direkt ausgewertet werden (z.B. estimated error reduction oder estimated entropy minimization), geringfügig approximiert werden (z.B. durch EMOC), oder durch heuristisch motivierte Verfahren ersetzt werden.
-
An Heuristiken ist besonders das Uncertainty-based sampling vorteilhaft nutzbar, welches jenem Beispiel einen hohen Informationsgehalt unterstellt, bei denen der aktuelle Klassifikator maximal unsicher ist (z.B. SVM margin, k-nearest-neighbor, 1-vs-2 und entropy, GP mean).
-
Ähnlich gut einsetzbar ist eine Auswahl von Beispielen, welche einen starken Einfluss auf den bisherigen Klassifikator beim neuen Trainieren haben werden, was als ExpectedModelChange bekannt ist (z.B. für SVMs oder für Random Forests).
-
Im vorliegenden Anwendungsfall ist besonders eine Anwendung von uncertaintysampling relevant, da die Maße schnell berechenbar sind und somit eine verzögerungsfreie Interaktion von Datenaufnahmesystem und Datenannotationsexperten zulassen.
-
Speziell für die Verwendung mit neuronalen Netzwerken bzw. Deep Learning eignen sich die Informationsmaße MC-Dropout und OpenMAX gut.
-
5 stellt ein Blockdiagramm eines Computersystems dar, welches mindestens Teile des Wartungsüberwachungssystems aufweisen kann. Ausführungsformen des hier vorgeschlagenen Konzepts können grundsätzlich mit praktisch jedem Typ von Computer, unabhängig von der darin verwendeten Plattform zur Speicherung und/oder Ausführung von Programmcodes, genutzt werden. 5 stellt beispielhaft ein Computersystem 500 dar, welches zur Ausführung von Programmcode entsprechend dem hier vorgestellten Verfahren geeignet ist. Ein bereits im Mikroskopsystem vorhandenes Computer-System kann auch - ggfs. mit entsprechenden Erweiterungen - als Computersystem für die Ausführung des hier vorgestellten Konzeptes dienen.
-
Das Computersystem 500 weist eine Mehrzahl von allgemein nutzbaren Funktionen (general purpose functions) auf. Dabei kann das Computersystem ein Tablet-Computer, ein Laptop-/Notebook-Computer, ein anderes tragbares oder mobiles elektronisches Gerät, ein Mikroprozessorsystem, ein Mikroprozessor-basiertes System, ein Smartphone oder Computer-system mit speziell eingerichteten Sonderfunktionen sein. Das Computersystem 500 kann eingerichtet sein zur Ausführung von Computer-System ausführbaren Anweisungen - wie beispielsweise Programmmodulen - die ausgeführt werden können, um Funktionen der hier vorgeschlagenen Konzepte umzusetzen. Dazu können die Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. aufweisen, um bestimmte Aufgaben oder bestimmte abstrakte Datentypen zu implementieren.
-
Die Komponenten des Computersystems können Folgendes aufweisen: einen oder mehrere Prozessoren oder Verarbeitungseinheiten 502, ein Speichersystem 504 und ein Bussystem 506, welches verschiedene Systemkomponenten inklusive des Speichersystems 504 mit dem Prozessor 502 verbindet. Typischerweise weist das Computersystem 500 eine Mehrzahl von durch das Computersystem 500 zugreifbaren flüchtigen oder nicht-flüchtigen Speichermedien auf. Im Speichersystem 504 können die Daten und/oder Instruktionen (Befehle) der Speichermedien in flüchtiger Form - wie beispielsweise in einem RAM (random access memory) 508 - gespeichert sein, um von dem Prozessor 502 ausgeführt zu werden. Diese Daten und Instruktionen realisieren einzelne oder mehrere Funktionen bzw. Schritte des hier vorgestellten Konzeptes. Weitere Komponenten des Speichersystems 504 können ein Permanentspeicher (ROM) 510 und ein Langzeitspeicher 512 sein, in dem die Programmmodule und Daten (Bezugszeichen 516) gespeichert sein können.
-
Das Computersystem weist zur Kommunikation eine Reihe von dedizierten Vorrichtungen (Tastatur 518, Maus/Pointing Device (nicht dargestellt), Bildschirm 520, usw.) auf. Diese dedizierten Vorrichtungen können auch in einem berührungsempfindlichen Display vereint sein. Ein separat vorgesehener I/O-Controller 514 sorgt für einen reibungslosen Datenaustausch zu externen Geräten. Zur Kommunikation über ein lokales oder globales Netzwerk (LAN, WAN, beispielsweise über das Internet) steht ein Netzwerkadapter 522 zur Verfügung. Auf dem Netzwerkadapter kann durch andere Komponenten des Computersystems 500 über das Bussystem 506 zugegriffen werden. Dabei versteht es sich, dass - obwohl nicht dargestellt - auch andere Vorrichtungen an das Computersystem 500 angeschlossen sein können.
-
Darüber hinaus können mindestens Teile des Workflow-Systems 400 (vgl. 4) an das Bussystem 506 angeschlossen sein. Die digitalen Bilddaten eines Bildsensors (nicht dargestellt) können auch durch ein gesondertes Vorverarbeitungssystem (nicht dargestellt) aufbereitet sein. Dies kann das Bereitstellen des Datensatzes eines zu untersuchenden Objektes unterstützen.
-
Die Beschreibung der verschiedenen Ausführungsbeispiele der vorliegenden Erfindung wurde zum besseren Verständnis dargestellt, dient aber nicht einer unmittelbaren Einschränkung der erfinderischen Idee auf diese Ausführungsbeispiele. Weitere Modifikationen und Variationen erschließt sich der Fachmann selbst. Die hier genutzte Terminologie wurde so gewählt, um die grundsätzlichen Prinzipien der Ausführungsbeispiele am besten zu beschreiben und sie dem Fachmann leicht zugänglich zu machen.
-
Das hier vorgestellte Prinzip kann sowohl als System, als Verfahren, Kombinationen davon und/oder auch als Computerprogrammprodukt verkörpert sein. Dabei kann das Computerprogrammprodukt ein (oder mehrere) Computer-lesbare/s Speichermedium/-medien aufweisen, welches Computer-lesbare Programminstruktionen aufweist, um einen Prozessor oder ein Steuerungssystem dazu zu veranlassen, verschiedene Aspekte der vorliegenden Erfindung auszuführen.
-
Als Medien kommen elektronische, magnetische, optische, elektromagnetische, Infrarot-Medien oder Halbleitersysteme als Weiterleitungsmedium zum Einsatz; beispielsweise SSDs (solid state device/drive als Festkörperspeicher), RAM (Random Access Memory) und/oder ROM (Read-Only Memory), EEPROM (Electrically Eraseable ROM) oder eine beliebige Kombination davon. Als Weiterleitungsmedien kommen auch sich ausbreitende elektromagnetische Wellen, elektromagnetische Wellen in Wellenleitern oder anderen Übertragungsmedien (z.B. Lichtimpulse in optischen Kabeln) oder elektrische Signale, die in Drähten übertragen werden, in Frage.
-
Das Computer-lesbare Speichermedium kann eine verkörpernde Vorrichtung sein, welche Instruktionen für eine Nutzung durch ein Instruktionsausführungsgerät vorhält bzw. speichert. Die Computer-lesbaren Programminstruktionen, die hier beschrieben sind, können auch auf ein entsprechendes Computersystem heruntergeladen werden, beispielsweise als (Smartphone-) App von einem Service-Provider über eine kabelbasierte Verbindung oder ein Mobilfunknetzwerk.
-
Die Computer-lesbaren Programminstruktionen zur Ausführung von Operationen der hier beschriebenen Erfindung können maschinenabhängig sein oder maschinenunabhängige Instruktionen, Microcode, Firmware, Status-definierende Daten oder jeglicher Source-Code oder Objektcode sein, der beispielsweise in C++, Java oder ähnlichen bzw. in konventionellen prozeduralen Programmiersprachen wie beispielsweise der Programmiersprache „C“ oder ähnlichen Programmiersprachen geschrieben sein. Die Computer-lesbaren Programminstruktionen können komplett durch ein Computersystem ausgeführt werden. In einigen Ausführungsbeispielen können es auch elektronische Schaltkreise wie beispielsweise programmierbare Logikschaltkreise, Feld-programmierbare Gate Arrays (FPGA) oder programmierbare Logik-Arrays (PLA) sein, die die Computer-lesbaren Programminstruktionen durch Nutzung von Statusinformationen der Computer-lesbaren Programminstruktionen ausführen, um die elektronischen Schaltkreise entsprechend Aspekten der vorliegenden Erfindung zu konfigurieren bzw. zu individualisieren.
-
Darüber hinaus ist die hier vorgestellte Erfindung mit Bezug auf Flussdiagramme und/oder Blockdiagramme von Verfahren, Vorrichtungen (Systemen) und Computerprogramm-Produkten entsprechend Ausführungsbeispielen der Erfindung dargestellt. Es sei darauf hingewiesen, dass praktisch jeder Block der Flussdiagramme und/oder Blockdiagramme als Computer-lesbare Programminstruktionen ausgestaltet sein kann.
-
Die Computer-lesbaren Programminstruktionen können einem General-Purpose-Computer, einem Spezialcomputer oder einem anderweitig programmierbaren Datenverarbeitungssystem zur Verfügung gestellt werden, um eine Maschine herzustellen, so dass die Instruktionen, welche durch den Prozessor oder den Computer oder andere programmierbare Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel erzeugen, um die Funktionen oder Vorgänge, die in dem Flussdiagramm und/oder Blockdiagrammen dargestellt sind, zu implementieren. Diese Computer-lesbaren Programminstruktionen können entsprechend auch auf einem Computer-lesbaren Speichermedium gespeichert werden.
-
In diesem Sinne kann jeder Block in dem dargestellten Flussdiagramm oder den Blockdiagrammen ein Modul, ein Segment oder Anteile an Instruktionen darstellen, welche mehrere ausführbare Instruktionen zur Implementierung der spezifischen Logikfunktion darstellt. In einigen Ausführungsbeispielen können die Funktionen, die in den einzelnen Blöcken dargestellt sind, in einer anderen Reihenfolge - gegebenenfalls auch parallel - ausgeführt werden.
-
Die dargestellten Strukturen, Materialien, Abläufe und Äquivalente aller Mittel und/oder Schritte mit zugehörigen Funktionen in den untenstehenden Ansprüchen sind dazu gedacht, alle Strukturen, Materialien oder Abläufe anzuwenden, wie es durch die Ansprüche ausgedrückt ist.
-
Bezugszeichenliste
-
- 100
- Verfahren
- 102
- Verfahrensschritt zu 100
- 104
- Verfahrensschritt zu 100
- 106
- Verfahrensschritt zu 100
- 108
- Verfahrensschritt zu 100
- 110
- Verfahrensschritt zu 100
- 200
- Verfahren zum Annotieren von Trainingsdaten und Einsatz eines Klassifikation
- 202, ...208
- Verfahrensschritte zu 200
- 300
- detaillierteres Verfahren im Vergleich zum Verfahren 100
- 302, ...
- 312 Verfahrensschritte zu 300
- 400
- Workflow-System
- 402
- Empfangseinheit
- 404
- Erkennungsmodul
- 406
- Klassifikationssystem, Klassifikator
- 408
- Unterschiedswertermittlungsmodul
- 410
- Ergänzungseinheit
- 500
- Computersystem
- 502
- Prozessor
- 504
- Speichersystem
- 506
- Bussystem
- 508
- RAM
- 510
- ROM
- 512
- Langzeitspeicher
- 514
- I/O-Controller
- 516
- Programmmodule bzw. und Daten
- 518
- Tastatur
- 520
- Bildschirm
- 522
- Netzwerkadapter