-
Die Erfindung betrifft ein Verfahren zur Analyse von Objektmarkierungen in Bildern und eine Analyseeinheit zur Durchführung des Verfahrens.
-
Die vorliegende Erfindung zeigt ein Analyseverfahren auf, das es erlaubt, eine Qualitätskontrolle für Bilddaten mit einem Label durchzuführen, und eine Aussage darüber zu treffen bzw. zu bewerten, inwieweit eine Objektmarkierung in ihrer Position von einer als ideal angenommenen Position abweicht.
-
Die Erfindung stellt daher ein Analyseverfahren und eine Analyseeinheit gemäß der unabhängigen Ansprüche bereit. Weiterbildungen der Erfindung sind Gegenstand der abhängigen Ansprüche.
-
In einem ersten Aspekt wird ein Analyseverfahren zur Überprüfung einer Position wenigstens einer Objektmarkierung wenigstens eines Bildes, das ein vorbestimmtes Objekt zeigt, bereitgestellt, wobei das Analyseverfahren wenigstens ein Bild mit einer Objektmarkierung aus einem Speicher ausliest und wenigstens einmal prüft, ob die Objektmarkierung für das vorbestimmte Objekt wenigstens einer von wenigstens zwei Klassen eines Modells entspricht, wobei jede Klasse wenigstens eine Position und/oder Größe für die Objektmarkierung bezüglich des vorbestimmten Objekts definiert, und wobei das Modell für jede Prüfung eine Bewertung berechnet, und auf Basis dieser Bewertung ein Signal ausgibt, das eine Qualität der Objektmarkierung anzeigt.
-
Das Signal kann eine Korrektheit der Position der Objektmarkierung für jedes Bild anzeigen. Es kann eine Abweichung der Position und/oder Größe der Objektmarkierung von einer Idealposition in einer Richtung für jedes Bild anzeigen, vorzugsweise unter Angabe eines Maßes für eine Güte und/oder der Abweichung in Pixel. Es kann eine Art und/oder einen Umfang eines auftretenden Fehlers bei der Position und/oder Größe der Objektmarkierung anzeigen, insbesondere eine Abweichung in einer Richtung. Es kann eine Verteilung wenigstens eines Fehlers in der Position und/oder Größe der Objektmarkierung anzeigen.
-
Für jedes Bild kann eine Position und/oder Größe der Objektmarkierung spezifiziert sein, insbesondere ein Abstand der Objektmarkierung von einem Rand des Objektes im Bild.
-
Wenigstens ein Deskriptor kann definiert sein, der das wenigstens eine Bild und/oder Objekt beschreibt, insbesondere wenigstens ein spezifisches Muster, das sich beispielsweise durch eine Verschiebung der Objektmarkierung ergibt. Der Deskriptor kann vorzugsweise ein HOG-Deskriptor oder ein Deskriptor auf Basis von Merkmalen der schnellen Fourier-Transformation und/oder Bildgradienten sein.
-
Jedes Modell kann für diskrete Verschiebungen der Objektmarkierung in einer Richtung mit wenigstens einem Klassifikator, vorzugsweise auf SVM-Basis, erstellt werden.
-
Jedes Modell kann mit Testdaten zur Bestimmung einer Güte einer Position und/oder Größe der Objektmarkierung bewertet werden, wobei vorzugsweise die Bewertung eine Korrektheit der Position und/oder Größe der Objektmarkierung anzeigt.
-
Jedes Modell kann eine erste Klasse aufweisen, die einer Idealposition der Objektmarkierung entspricht und eine zweite Klasse aufweisen, die einer in eine Richtung verschobenen Objektmarkierung entspricht.
-
Eine erste Klasse jedes Modells kann einer Idealposition der Objektmarkierung entsprechen, und eine zweite Klasse kann einer zu dem Modell gehörenden Verschiebung entsprechen. Wenn für ein Modell eine Bewertung bestimmt wird, die über/unter einem vordefinierten Schwellenwert liegt, kann die Objektmarkierung gegen keine weiteren Modelle mehr geprüft werden. Die Objektmarkierung kann einem Modell, das der Verschiebung der Objektmarkierung entspricht, zugeordnet werden.
-
Jedes Modell kann eine erste Klasse aufweisen, die einer Objektmarkierung mit einer ersten Verschiebung in eine Richtung entspricht, und eine zweite Klasse aufweisen, die einer Objektmarkierung mit einer zweiten Verschiebung entspricht, insbesondere einer gegenüber der ersten Klasse größeren Verschiebung in die Richtung. Nach einer Bewertung der Objektmarkierung durch ein Modell kann die Objektmarkierung mit einem anderen Modell bewertet werden. Das andere Modell kann abhängig von der Bewertung gewählt werden und in dem anderen Modell kann die Verschiebung der Objektmarkierung der ersten Klasse und die Verschiebung der Objektmarkierung der zweiten Klasse verändert sein.
-
Die Objektmarkierung kann gegen Modelle getestet werden, die den Raum möglicher Verschiebungen aufteilen. Vorzugsweise können die Klassen einer Vielzahl von Modellen im Wesentlichen nicht der Idealposition der Objektmarkierung entsprechen. Im Vergleich zu der Vielzahl können wenige Modelle der Idealposition entsprechen.
-
Ein Modell kann eine Klasse aufweisen, die einer idealen Objektmarkierung entspricht und mehrere Klassen, die jeweils einer Verschiebung der Objektmarkierung in eine Richtung entsprechen.
-
Die Objektmarkierung kann gegen mehrere Klassen eines Modells getestet werden. Auf Basis einer Bewertung kann die Verschiebung bestimmt werden, die der tatsächlichen Verschiebung am wahrscheinlichsten entspricht.
-
Das wenigstens eine Modell kann mittels Trainings-Daten mit Bildern und Objektmarkierungen erstellt werden. Für jedes Bild kann spezifiziert sein, zu welcher Objektklasse ein auf dem Bild gezeigtes Objekt gehört.
-
Die Trainings-Daten können wenigstens teilweise aus den Bildern und Objektmarkierungen durch definierte Verschiebung der Objektmarkierungen zumindest eines Teils der Bilder erzeugt werden.
-
Ein Modell kann durch Online-Learning verbessert werden.
-
Das vorbestimmte und/oder gezeigte Objekt kann ein Fußgänger, Fahrradfahrer, Fahrzeug und/oder Gegenstand sein.
-
Die Objektmarkierung kann gegen das Modell, vorzugsweise jedes Modell einer Vielzahl von Modellen, getestet werden.
-
In einem weiteren Aspekt wird ein Computerprogrammprodukt bereitgestellt, wobei das Computerprogrammprodukt Computerprogrammanweisungen in einem computerlesbaren Speicher speichert, und die Computerprogrammanweisungen zumindest eine Analyseeinheit zur Ausführung eines Analyseverfahrens, wie es hierin beschrieben ist, veranlasst, wenn die Computerprogrammanweisungen von der Analyseeinheit gelesen und/oder ausgeführt werden.
-
In noch einem weiteren Aspekt wird eine Analyseeinheit zur Überprüfung von wenigstens einer Objektmarkierung in Bilddaten, aufweisend wenigstens einen Speicher, der die Bilddaten, Daten zu Objektmarkierungen und/oder die Trainings-Daten speichert und einen Prozessor, der dazu eingerichtet ist, ein Analyseverfahren, wie es hierin beschrieben ist, auszuführen, wobei die Bilddaten, Daten zu Objektmarkierungen und/oder die Trainings-Daten von der Analyseeinheit aus dem Speicher ausgelesen werden, die Daten und durch den Prozessor verarbeitet werden, und wobei die Analyseeinheit Signale des Analyseverfahrens ausgibt, vorzugsweise in den oder einen weiteren Speicher.
-
Die Erfindung wird nunmehr auch mit Blick auf die Figuren beschrieben. Es zeigen:
- 1 einen allgemeinen exemplarischen Ablauf des Analyseverfahrens,
- 2 eine schematisch veranschaulichte Bewertung durch Modelle,
- 3 eine exemplarische erste Anwendung,
- 4 eine exemplarische zweite Anwendung, und
- 5 eine schematische Darstellung der Analyseeinheit.
-
Bei der Umfelderfassung von Fahrzeugen ist es erforderlich, dass Objekte im Umfeld des Fahrzeugs erfasst und insbesondere nachverfolgt werden können. Dies ist für Fahrerassistenzsysteme von Bedeutung, die direkt oder indirekt das Verhalten des Fahrzeugs beeinflussen bzw. eine Information an einen Fahrzeugnutzer ausgeben können. Die Fahrerassistenzsysteme weisen dafür Sensoren und insbesondere optische Sensoren, wie Kameras, auf, um das Fahrzeugumfeld zu erfassen und Objekte im Fahrzeugumfeld zu erkennen. Beispiele für Objekte im Fahrzeugumfeld sind andere Objekte bzw. Verkehrsteilnehmer wie bspw. Personen und insbesondere Fahrradfahrer oder Fußgänger.
-
Damit ein Fahrerassistenzsystem ein Objekt im Umfeld des Fahrzeugs rechtzeitig erkennen kann und z.B. ein Brems- oder Ausweichmanöver einleiten kann, ist es erforderlich, einen Verkehrsteilnehmer möglichst früh zu erkennen und zu bewerten, wie kritisch ein Verhalten des Verkehrsteilnehmers für das Fahrzeug oder den Fahrtverlauf ist. Dabei ist es möglich, dass durch Anwendung von Bildanalyseverfahren auch Teile des Objekts im Umfeld des Fahrzeuges erkannt werden können und insbesondere Körperteile einer Person.
-
Fahrerassistenzsysteme können dabei auf ihren Einsatz mit Methoden des Maschinenlernens vorbereitet werden. Diese basieren auf der automatischen Erkennung von Mustern in Daten von Bildern und dem Bestimmen von Modellen zur Unterscheidung von Daten unterschiedlicher Klassen. Diese Unterscheidung kann ohne Vorwissen (unsupervised) oder mit Vorwissen (supervised) über die zu unterscheidenden Klassen erfolgen.
-
Insbesondere kann ein Assistenzsystem mit Modellen ausgestattet sein, die vorgeben, wie ein Fahrerassistenzsystem Bilddaten auszuwerten hat und welche Objektklassen von dem Fahrerassistenzsystem detektiert werden sollen bzw. wie die Objekte detektiert werden sollen.
-
Ein Training erfolgt in diesem Fall mit einer Vielzahl von Bildern, die jeweils Objekte der zu erkennenden Objektklassen aufweisen. Beispielsweise kann ein Fahrerassistenzsystem so auf die Erkennung von Fahrradfahrern oder Fußgängern trainiert werden bzw. konfiguriert sein.
-
Die Objekte werden normalerweise durch eine Objektmarkierung beschrieben, die auch als „Bounding Box“ bezeichnet wird. Bei der Bounding Box handelt es sich um einen Polygonlinienzug, der das zu erkennende Objekt umgibt. Insbesondere ist der Polygonlinienzug als ein Rechteck ausgebildet, das das Objekt umschließt. Entsprechend kann das Objekt durch die Objektmarkierung beschrieben werden. Die Objektmarkierung kann dabei automatisiert oder durch manuelles Markieren des Objekts mit der Objektmarkierung, dem so genannten „Labeln“ erstellt werden. Das Labeln erfolgt entweder durch einen Experten oder durch einen Laien (Bearbeiter). Ein Label enthält folglich das abgebildete Objekt und ist definiert durch die Bildkoordinaten des Polygonlinienzugs, der das Objekt umgibt.
-
Für ein Lernen eines Erscheinungsbildes eines Objekts wird also eine hohe Anzahl von Labeln mit einem Objekterkennungsalgorithmus verarbeitet, der ein Maschinenlernen einsetzt oder darauf basiert. Dazu ist es entscheidend, dass die Trainingsdaten möglichst gut bzw. korrekt „gelabelt“ sind, dass also die Bounding Box bzw. die Objektmarkierung für die Objekte in den Bildern möglichst genau platziert wurden.
-
Es muss folglich eine Qualitätsprüfung der gelabelten Bilder dahingehend erfolgen, ob die Label bzw. Objektmarkierungen in den Bildern korrekt platziert wurden. Um diese Qualitätskontrolle durchzuführen sind bereits mehrere Ansätze bekannt:
-
Zunächst kann eine Qualitätskontrolle von Labeln bzw. Objektmarkierungen manuell erfolgen. Die Label werden dann in Bezug auf die Bilder manuell geprüft und es erfolgt stichprobenartig eine Kontrolle durch visuellen Abgleich der Übereinstimmung (Position, Größe) vom Label und im Bild abgebildeten Objekt (vgl. Su, H., Deng, J. and Li, F.-F. (2012). Crowdsourcing Annotations for Visual Object Detection. In: AAAI Human Computation Workshop, pp. 40-46.). Eine Stichprobenauswahl kann dabei auf einfachem Weg erfolgen, bspw. kann jedes x-te Bild (z.B. jedes 5., 10. oder 15. Bild) oder jedes Bild mit überdurchschnittlich vielen Objekten ausgewählt werden.
-
Weiter kann eine stichprobenartige oder vollständige Qualitätskontrolle durch Kreuzvalidierung und durch erneutes und redundantes manuelles Labeln durch zwei Experten oder Laien erfolgen. Dies kann bspw. in einem so genannten Crowdsourcing-Ansatz durchgeführt werden, bei dem jeder Teilnehmer einen Anreiz für das Validieren von Labeln erhält (vgl. auch Labeling durch Laien mit öffentlichem Datensatz und Software-Werkzeug http://labelme2.csail.mit.edu /Release3.0/index.php). Die Kreuzvalidierung kann z.B. auch durch eine große Anzahl von Laien erfolgen, wobei die Validierungsaufgabe in einem Spielekontext erfolgt (vgl. auch Ansatz der Pallas Ludens GmbH, https://pallas-ludens.com).
-
Schließlich können zur automatischen Qualitätskontrolle der Label existierende Algorithmen eingesetzt werden, die für ein Objekt umschließende Formen erzeugen. Diese Formen führen insbesondere entlang von Farb- und/oder Helligkeitsgrenzen (bspw. entlang von Grauwertkanten bei einem Graustufenbild). Eine solche Form schmiegt sich dann an ein Objekt an, das auf dem Bild gezeigt ist. Eine Bewertung des Labels erfolgt dann durch Beurteilung der Objektmarkierung mit Bezug auf die durch den Algorithmus generierte Form mit qualitativen Marken (z.B. Flächenlapp Label - Ground Truth (vgl. Vittayakorn, S. and Hays, J. (2011). Quality Assessment for Crowdsourced Object Annotations. In: Hoey, J., McKenna, S. and Trucco, E., eds., Proceedings of the British Machine Vision Conference, BMVA Press, pp. 109.1-109.11.).
-
Auch das Verhalten und die Leistung von Bearbeitern kann automatisch durch Bestimmung von numerischen Größen (z.B. benötigte Zeit zum Labeln eines Objekts) abgeschätzt werden. So kann auf die Qualität der Label rückgeschlossen werden (vgl. Sameki, M., Gurari, D. and Betke, M. (2015). Characterizing Image Segmentation Behavior of the Crowd. Collective Intelligence Conference, San Francisco.).
-
Die bekannten Verfahren zur Qualitätskontrolle von Objektmarkierungen in Bildern erlauben es jedoch nicht, eine Aussage darüber zu treffen bzw. zu bewerten, inwieweit die Objektmarkierung von einer als ideal angenommenen Position abweicht. Es ist daher keine automatisierte Quantifizierung der Abweichung möglich und in der Folge kann auch keine automatische Korrektur einer Objektmarkierung in einem Bild erfolgen. Somit ist auch keine automatische Analyse eines Bilddatensatzes bzgl. einer Struktur und Verteilung von Fehlern bei der Positionierung der Objektmarkierung bzw. in der Bounding Box möglich.
-
Das Analyseverfahren analysiert also wenigstens ein Bild auf Basis der Bilddaten des Bildes. Ein Objekt, wie z.B. ein Fußgänger oder ein Radfahrer, ist in den Bilddaten durch eine so genannte Objektmarkierung beschrieben. Ziel ist es, eine quantitative und/oder qualitative Aussage über die Lage einer Objektmarkierung in einem Bild zu machen. Eine Qualität von Objektmarkierungen für Bilddatensätze kann dabei auf verschiedene Weise bewertet werden. Basierend auf der Bewertung kann eine Verbesserung der Objektmarkierungen erfolgen.
-
Zunächst kann eine Qualität einzelner Objektmarkierungen eines Datensatzes dadurch bewertet werden, dass zunächst durch das Analyseverfahren eine binäre Ausgabe zur Korrektheit der Position und/oder Größe der Objektmarkierung getroffen bzw. ausgegeben wird. Es kann also ein Signal ausgegeben werden das anzeigt, ob die Objektmarkierung korrekt oder inkorrekt platziert und/oder dimensioniert ist. Es kann auch ausgegeben werden, wie groß eine Abweichung einer Position und/oder Größe der Objektmarkierung von einer Idealposition für die Objektmarkierung ist. Die Idealposition wird insbesondere in einer Trainingsphase definiert. Die Abweichung liegt dann in wenigstens einer Richtung vor, vorzugsweise in einer x- und/oder y-Richtung in einer Bildebene. Es kann auch ein Maß für eine Güte ausgegeben werden.
-
Alternativ oder zusätzlich kann eine Bewertung der Qualität der Objektmarkierungen eines gesamten Bilddatensatzes und/oder von einer Teilmenge des Bilddatensatzes ausgegeben werden. Dann kann eine Aussage über eine Art und/oder einen Umfang der auftretenden Fehler bei der Position und/oder Größe der Objektmarkierung durch das Analyseverfahren ausgegeben werden, z.B. eine systematische Abweichung um bspw. 5 Pixel in x- und/oder y-Richtung. Ebenso kann eine quantitative Aussage über eine Verteilung eines Fehlers bei der Positionierung der Objektmarkierung ausgegeben werden. Eine Analyse der Ursachen für den Fehler, z.B. eine Analyse bestimmter Intensitätsmuster, können zu Abweichungen führen, z.B. von 5 bis 11 Pixel in x- und/oder y-Richtung.
-
Weiter kann alternativ oder zusätzlich eine durch das Analyseverfahren eine Ausgabe von als fehlerhaft identifizierten Objektmarkierungen erfolgen, wobei der jeweilige Fehler dann detektiert wird, wenn für eine Eigenschaft der Objektmarkierung ein Schwellenwert überschritten wurde (z.B. für eine Verschiebung). Die als fehlerhaft identifizierten Objektmarkierungen können anschließend manuell Kontrolliert werden.
-
Wenn ein Fehler in der Position und/oder Größe der Objektmarkierung erkannt wurde, kann basierend darauf ein Vorschlag für eine Korrektur der Position und/oder der Größe der Objektmarkierung ausgegeben werden, und/oder die Objektmarkierung kann automatisch korrigiert werden. Da das Analyseverfahren eine Abweichung vorzugsweise pixelgenau bestimmt, kann die Objektmarkierung z.B. in ihrer Position und/oder Größe in Richtung der Idealposition und/oder einer Idealgröße geändert werden. Die Kontrolle der Qualität der Objektmarkierungen kann in Echtzeit erfolgen. Bereits während der Definition der jeweiligen Objektmarkierung kann mittels des Analyseverfahrens eine Assistenzfunktion für einen Bearbeiter bereitgestellt werden, die Hinweise auf inkorrekte Objektmarkierungen gibt, Vorschläge für eine Korrektur macht und/oder diese automatisch durchführt.
-
Das Analyseverfahren basiert auf Modellen, die vor einer Ausführung des Analyseverfahrens erzeugt werden (z.B. Objektmarkierungen für Fußgänger oder Fahrradfahrer). Für das Erstellen der Modelle werden Daten von Bildern und Objektmarkierungen benötigt. Zu jedem Bild, gehört eine Objektmarkierung und eine Angabe darüber, zu welcher Klasse das auf dem Bild gezeigt Objekt gehört (z.B. zur Klasse „Fußgänger“ oder „Fahrradfahrer“). Weiter sind die Position und Größe jeder Objektmarkierung (z.B. umschließender Polygonlinienzug bzw. umschließende Rechtecklinie) definiert, die das Objekt im Bild umschließt.
-
Die Modelle können unter Verwendung von vorzugsweise hochwertigen Ausgangsdaten (jeweils Bild und Objektmarkierung) erstellt werden. Hierbei können besondere Anforderungen an Daten bestehen, wie z.B. ein definierter Abstand der Objektmarkierung von einem Rand des Objektes im Bild. Es können auch weitere Daten durch definierte Verschiebungen korrekter Objektmarkierungen in Bildern erzeugt werden. Ausgangsdaten sind dabei Bilder mit korrekten Objektmarkierungen hinsichtlich Position und/oder Größe und Bilder, die aus diesen durch definiert verschobene Objektmarkierungen generiert wurden. Diese bilden Trainingsdaten für das Analyseverfahren.
-
Ein Deskriptor wird zur Beschreibung der Bilder ausgewählt. Dabei kann ein Deskriptor verwendet werden der spezifische Muster erkennt/beschreibt, die sich z.B. durch eine Verschiebung der Objektmarkierung, v.a. in den Randbereichen der Objektmarkierung, ergeben können. Der Deskriptor kann vorzugsweise ein HOG-Deskriptor (HOG steht für „histogram of oriented gradients“) sein. Es kann auch ein Deskriptor auf Basis von Merkmalen einer schnellen Fourier-Transformation (FFT) und/oder Bildgradienten verwendet werden.
-
Modelle für diskrete Verschiebungen in wenigstens eine Richtung, z.B. x- und/oder y-Richtung können mit einem Klassifikator z.B. auf SVM-Basis (SVM steht für „support vector machine“) erstellt werden. Eine Optimierung von Parametern zur Erstellung der Modelle kann mittels Kreuzvalidierung erfolgen.
-
Die Modelle können auf verschiedene Art definiert und eingesetzt werden:
-
In einem ersten Ansatz wird je Modell eine erste Klasse definiert, die einer korrekten Objektmarkierung entspricht. Das bedeutet, dass die Objektmarkierung eines Objekts in diese erste Klasse fällt, wenn sie korrekt definiert ist und der idealen Objektmarkierung entspricht. Die Objektmarkierung kann dann auf die erste Klasse „gemapped“ werden. Eine zweite Klasse entspricht einer verschobenen Objektmarkierung, also einer Objektmarkierung die in x- und/oder y-Richtung verschoben zu der Idealen Objektmarkierung ist. Somit ist für jedes Modell ein Zweiklassen-Problem definiert. Eine Objektmarkierung ist entweder optimal, oder fällt in die zweite Klasse.
-
Eine Objektmarkierung wird im ersten Ansatz gegen die Modelle getestet. Die erste Klasse des Modells passt zu der („matched“ die) Idealposition der Objektmarkierung. Bei der zweiten Klasse verändern sich z.B. die Werte für wenigstens eine Richtung einer Verschiebung, z.B. in x- und/oder y-Richtung, und nehmen insbesondre zu oder ab. Ein zu dem Modell gehörender Klassifikator gibt eine Bewertung (Score) aus. Liegt diese über oder unter einem zuvor definierten Schwellenwert, werden vorzugsweise keine weiteren Modelle getestet und die getestete Objektmarkierung kann einem Modell, dem die tatsächliche Verschiebung entspricht, zugeordnet werden. Insbesondere passt die zweite Klasse dieses Modells zu der getesteten Objektmarkierung. Die Bewertung dieses Modells wird als Güte für die Position und/oder Größe der getesteten Objektmarkierung ausgegeben.
-
In einem zweiten Ansatz wird je Modell eine erste Klasse definiert, die einer Objektmarkierung mit relativ geringerer Verschiebung in jeweils wenigstens eine Richtung entspricht. Jeweils eine zweite Klasse entspricht einer Objektmarkierung mit relativ zur ersten Klasse größerer Verschiebung, bei der also vorzugsweise die Verschiebung gegenüber der ersten Klasse in x- und/oder y-Richtung vergrößert wurde (z.B. mit positiven/negativen Werten für (x,y): für die erste Klasse (5,10) gegenüber (15,20) für die zweite Klasse, wobei (x,y) eine relative Verschiebung in x- und/oder y-Richtung angibt). Nach einer Bewertung durch ein Modell erfolgt meist eine weitere Bewertung durch ein anderes Modell. Bei einem Übergang zu dem anderen Modell kann eine Verschiebung der Objektmarkierung der ersten Klasse und/oder eine Verschiebung der Objektmarkierung der zweiten Klasse verändert und vorzugsweise inkrementiert werden. So wird der Raum möglicher Verschiebungen in Intervalle unterteilt, z.B. mit einem ersten erzeugten Modell mit erster Klasse (5,10) und zweiter Klasse (10,15) und einem zweitem Modell mit erster Klasse (10,15) und zweiter Klasse (15,20). Die Modelle bilden also einen Entscheidungsbaum in einem Suchraum möglicher Verschiebungen, wobei die Modelle die Knoten des Entscheidungsbaums bilden und ein Modell jeweils einen Ast des Baums auswählt, der für die weitere Bewertung verfolgt wird.
-
Eine zu testende Objektmarkierung wird hier gegen Modelle geprüft, die den Raum möglicher Verschiebungen in Intervalle zwischen zwei möglichen Verschiebungen aufteilen. Beide Klassen der Mehrzahl der Modelle entsprechen nicht der Idealposition und/oder -größe der Objektmarkierung. Nur wenige Modelle im Suchraum testen direkt gegen die Idealposition und/oder -größe.
-
Anhand der von einem Klassifikator des Modells bestimmten Bewertung kann der Suchraum im Raum möglicher Verschiebungen eingegrenzt werden. Die Suche im Raum und somit die Auswahl des Modells für den nächsten Test erfolgt durch Optimierung der Bewertung. Anhand eines Schwellenwertes für die Bewertung kann nach einer Reihe von Tests, das Modell identifiziert werden, dem die tatsächliche Verschiebung der Objektmarkierung am wahrscheinlichsten entspricht.
-
Stehen, insbesondere hochwertige, Trainingsdaten zur Verfügung und sind Schwellenwerte für eine Entscheidungsfunktion der Modelle definiert, kann die Anzahl der Modelle in einem dritten Ansatz stark reduziert werden. Es kann ein Mehrklassenmodell mit mehr als zwei Klassen verwendet werden. Eine erste Klasse eines Modells entspricht dann der korrekten bzw. korrekt platzierten und/oder dimensionierten Objektmarkierung. Mehrere weitere Klassen entsprechen Verschiebungen der Objektmarkierung um einen bestimmten Wert in eine Richtung, insbesondere die x- und/oder y-Richtung. Eine zu testende Objektmarkierung wird dann gegen das Mehrklassenmodell getestet. Anhand der Optimierung der Bewertung kann die Klasse, der die tatsächliche Verschiebung am wahrscheinlichsten entspricht, identifiziert werden.
-
Die Ausführung der jeweiligen Tests kann beschleunigt werden, indem die Tests gegen die Modelle parallel und nicht seriell durchgeführt werden. Hierzu kann/können ein Prozessor oder mehrere Prozessoren eigesetzt werden, z.B. wenigstens eine CPU (central processing unit) und/oder GPU (graphics processing unit).
-
Nach der Durchführung eines Tests liegen für jede getestete Objektmarkierung zumindest folgende Informationen vor: Eine binäre Aussage zur Korrektheit der Position und/oder Größe der Objektmarkierung und eine quantitative Aussage zu einer Abweichung der Position und/oder Größe der Objektmarkierung von der Idealposition und/oder -größe, vorzugsweise unter Angabe einer Bewertung für die Güte der quantitativen Aussage. Es können auch statistische Aussagen (z.B. mittlere Abweichung, Varianz der Abweichungen, Signifikanz von Abweichungen (Hypothesentest)) über die gesamten Daten abgeleitet werden.
-
1 illustriert schematisch einen Ablauf des Analyseverfahrens. In einem ersten Schritt S1 erfolgt ein Auslesen wenigstens eines Bildes mit einer Objektmarkierung aus einem Speicher. In einem zweiten Schritt S2 wird geprüft, ob die Objektmarkierung für ein Objekt wenigstens einer Klasse eines Modells entspricht. In einem dritten Schritt S3 erfolgt eine Bewertung durch wenigstens ein Modell, und eine Ausgabe eines Signals auf Basis der Bewertung.
-
2 veranschaulicht schematisch eine Bewertung der Modelle mit Testdaten (Bilder und Objektmarkierungen) zur Bestimmung der Güte der Position der Objektmarkierung, mit der eine Aussage über die Korrektheit der Position der Objektmarkierung getroffen werden kann. Die Güte (engl. Accuracy) der prädizierten Verschiebungen in wenigstens einer Richtung, z.B. in x- und/oder y-Richtung, der Objektmarkierungen eines Datensatzes kann in Prozent angegeben werden. Je größer die Verschiebung von der Idealposition, Verschiebung x = 0 und Verschiebung y = 0, ist, desto höher ist die Güte.
-
Eine Verbesserung der verwendeten Modelle kann über die Zeit durch Online-Lernens erfolgen. Für das Online-Training kann z.B. eine Extreme Learning Machine als Klassifikator verwendet werden. Hierbei verfügen die Modelle z.B. bei Bereitstellung einer Analyseeinheit über eine durch den Hersteller vorläufige Funktion, die Position und/oder Größe der Objektmarkierung zu beurteilen. Nach der Auslieferung werden im Feld weitere Trainingsdaten aus einem Anwendungsszenario als Beispiel für richtig und falsch positionierte Objektmarkierungen bereitgestellt. Die Qualität der Modelle kann dadurch auch nach Auslieferung der Analyseeinheit verbessert werden.
-
Die Durchführung der Qualitätskontrolle basiert auf den hinterlegten Modellen des Analyseverfahrens. Eingabedaten sind die zu testenden Bilder und ihre zugehörigen Objektmarkierungen. Jede Objektmarkierung aus den Trainingsdaten, die auch mit einem Deskriptor beschrieben wurde, wird gegen die zuvor bereitgestellten Modelle getestet. Das weitere Vorgehen richtet sich nach dem zuvor gewählten Vorgehen für die Erstellung der Modelle.
-
Als fehlerhaft bewertete Objektmarkierungen werden nach dem Maß für die Güte der Bewertung weiterverarbeitet. Fehlerhaft bewertete Objektmarkierungen können angezeigt und manuell und/oder automatisch nachbearbeitet werden. Dabei können vorzugsweise nur Objektmarkierungen angezeigt und nachbearbeitet werden, bei denen die Güte der Bewertung geringer als ein Schwellenwert ist. Als fehlerhaft bewertete Objektmarkierungen können auch automatisch korrigiert und einem Bearbeiter zur Überprüfung vorgelegt werden, da das Analyseverfahren, die Abweichung in x- und/oder y-Richtung ermittelt hat. Besonders Objektmarkierungen, bei denen die Güte größer als ein Schwellenwert ist, können automatisch korrigiert werden, da das Analyseverfahren die Abweichung in x- und/oder y-Richtung bestimmt hat.
-
Schematisch läuft das Testen einer Objektmarkierung z.B. wie folgt ab:
-
In einem ersten Schritt werden Anwendungsspezifische Bilder und Objektmarkierungen eingesetzt, um weitere Trainings-Daten für definierte Verschiebungen in x- und/oder y-Richtung von Objektmarkierungen zu erzeugen. Eine Beschreibung der Bildmerkmale für eine extrahierte Objektmarkierung erfolgt in einem zweiten Schritt mit einem Deskriptor. In einem dritten Schritt werden die Modelle, die unterschiedlichen Verschiebungen in x- und/oder y-Richtung entsprechen (vgl. die möglichen drei Ansätze, die oben beschrieben werden), erzeugt. Aus zu testenden Bildern mit Objektmarkierungen wird jeweils die Objektmarkierung extrahiert und durch den gleichen oder einen anderen Deskriptor beschrieben. Ein Test erfolgt mit den Modellen aus einem oder mehreren der oben genannten Ansätze.
-
Das Analyseverfahren kann dann zumindest eine der folgenden Ausgaben als Signale ausgeben und/oder anzeigen: Eine (binäre) Aussage über eine Korrektheit der Position der Objektmarkierung für jedes Bild, eine quantitative Aussage zur Abweichung der Position der Objektmarkierung von der Idealposition einer Objektmarkierung in x- und y-Richtung für jedes Label unter Angabe eines Maßes für die Güte der Aussage, eine Aussage über die Art und den Umfang der auftretenden Fehler bei der Positionierung der Objektmarkierung, z.B. systematische Abweichung um 5 Pixel in y-Richtung, eine quantitative Aussage über Verteilung der Fehler bei der Positionierung der Objektmarkierung, und/oder eine Analyse der Ursachen für gegebene Fehler, z.B. bestimmte Intensitätsmuster, die zu Abweichungen von 5 bis 11 Pixeln in y-Richtung führen.
-
Das hier beschriebene Analyseverfahren kann in ein Werkzeug zur Labelproduktion integriert werden. Dabei kann eine erzeugte Objektmarkierung sofort nach der (manuellen) Erzeugung mit dem Werkzeug bewertet werden. Eine Objektmarkierung kann dann, wenn das Analyseverfahren eine zu große Abweichung feststellt, z.B. für eine Prüfung und/oder eine manuelle Freigabe vorgesehen werden.
-
Zudem kann das Analyseverfahren Bearbeiter beim initialen Markieren mit der Objektmarkierung unterstützen. Der Bearbeiter kann z.B. eine, auf einer Anzeigeeinheit durch das Analyseverfahren visualisierte, Objektmarkierung vorzugsweise in Echtzeit editieren, z.B. durch Editieren mit einem Eingabegerät (Maus, Stift, Stylus, Tastatur, ...). Das Analyseverfahren kann durch z.B. eine Farbkodierung auf die Auswahl der optimalen Objektmarkierung hinweisen. Um eine Echtzeitverarbeitung zu ermöglichen, ist eine Hardwareumsetzung sinnvoll. Eine Implementierung der Klassifikatoren/Modelle, die auf SVM basieren können, kann z.B. als FPGA (Field Programmable Gate Array) erfolgen. Eine Performanz-Steigerung erlaubt auch den Einsatz für Echtzeitanwendungen, z.B. im Bereich automatisiertes Fahren.
-
Eine Integration in eine Produktion kann z.B. erfolgen wie in 3 gezeigt. Ein Bearbeiter erstellt eine Objektmarkierung für ein Objekt in Schritt S20, während das Analyseverfahren mit erzeugten Modellen eine Echtzeitbewertung der erstellten Objektmarkierung durchführt. Das Analyseverfahren kann automatisch einen Korrekturvorschlag für die erstellte Objektmarkierung an den Bearbeiter ausgeben, eine andere Objektmarkierung vorschlagen und/oder bei der Wahl einer anderen/besseren Objektmarkierung unterstützen (Schritt S21). Dies entspricht einem „Online“-Verfahren mitunmittelbarer Rückmeldung an den Bearbeiter.
-
Es kann auch, wie in 4 gezeigt, eine „offline“-Kontrolle erfolgen, bei der die Qualitätskontrolle zu einem späteren Zeitpunkt als die Erstellung der Objektmarkierung durch den Bearbeiter, insbesondere zeitlich entkoppelt, erfolgt. Bilder und Objektmarkierungen können in Schritt 30 dem Analyseverfahren mit erzeugten Modellen zugeführt werden. Das Analyseverfahren kann dann eine automatische Korrektur der Objektmarkierung vornehmen (Schritt S31), Hinweise für eine manuelle Korrektur der Objektmarkierung ausgeben (Schritt S32), und/oder ein Analyseergebnis zu Fehlerursachen und/oder einer Fehlerstruktur ausgeben (Schritt S33).
-
Das Analyseverfahren erlaubt also eine automatische Bewertung der Positionsqualität von Objektmarkierungen eines Datensatzes durch Einsatz von Methoden aus dem Maschinenlernen. Es stellt eine Methode zum Ableiten von quantitativen Aussagen über Positionsfehler der Objektmarkierungen durch eine spezielle Erzeugung von Trainingsdaten und deren Auswertung mit Maschinenlernen bereit und erlaubt eine Ausgabe einer Korrekturempfehlung für die Objektmarkierungen in Kombination mit der Bewertung.
-
So kann eine gleichbleibende Bewertungsleistung im Vergleich mit einem menschlichen Bearbeiter und eine höhere Gesamtqualität der Objektmarkierungen erreicht werden. Systematische und zufällige Fehler in der Objektmarkierung können automatisch erkannt werden, was Zeit- und Kosten spart. Eine Adhoc-Qualitätskontrolle kann während der Erstellung einer Objektmarkierung durchgeführt werden, was zu einer Vereinfachung führt. Auch kann eine vollständige Überprüfung eines Datensatzes anstatt einer stichprobenartigen Kontrolle zur Erzielung robusterer Ergebnisse erfolgen. Eine Bewertung der Objektmarkierungen ohne Vorkenntnis über Art, Zusammensetzung oder Ursache der Fehler ist möglich, wodurch eine unabhängige Beurteilungsleistung erreicht wird.
-
Im Vergleich zu bekannten Verfahren erlaubt das Analyseverfahren eine Analyse der Abweichung der Objektmarkierung von einer idealen Position in wenigstens eine Richtung (z.B. in x- und/oder y-Richtung, wobei x = Bildspalte und y = Bildzeile ist). Dadurch ist eine automatisierte Quantifizierung der Abweichung und somit eine anschließende automatische Korrektur der Abweichung möglich. Daraus ergibt sich auch, dass eine automatische Analyse eines Bilddatensatzes bzgl. Struktur und Verteilung von Fehlern bei der Positionierung der Objektmarkierung möglich ist. Ein assistiertes Setzen der Objektmarkierung (Automatischer Vorschlag für Position und/oder Größe der Objektmarkierung und/oder eine anschließende manuelle Bestätigung bzw. Korrektur) ist ebenfalls möglich.
-
Zusammengefasst werden für ein Training des Analyseverfahrens, d.h. zur Durchführung eines Maschinenlernverfahrens, neben korrekt gelabelten/platzierten Objektmarkierungen, auch Objektmarkierungen verwendet, die willentlich verändert wurden, d.h. in ihrer Lage verschoben.
-
In dem ersten Ansatz werden mit den idealen Objektmarkierungen und den definiert veränderten Objektmarkierungen und Bildern Modelle erzeugt. Es wird ein „Raster“ von Modellen erzeugt, anhand derer die zu testenden Objektmarkierungen beurteilt werden. Eine Objektmarkierung wird als ein Testkandidat im ersten Ansatz mit allen Modellen getestet und es wird je Modell eine Bewertung ermittelt, d.h. insbesondere eine konsolidierte Bewertung des Testkandidaten bzgl. des Modells. Es wird im Sinne eines „winner takes all“-Ansatzes der Wert für den Testkandidaten als Qualität ausgegeben, der am besten ist, dessen Bewertung also am höchsten oder niedrigsten ist. Dies kann auch als brute-force-Prüfung der Objektmarkierung gegen die Modelle angesehen werden. Im ersten Ansatz sind die Modelle so ausgestaltet, dass im Prinzip immer eine Unterscheidung zwischen einem Optimum und einer Abweichung erfolgt. Darauf wird die konsolidierte Bewertung je Überprüfung von Testkandidat zu Modell berechnet.
-
Im zweiten Ansatz erfolgt hingegen eine Überprüfung des Testkandidaten so, dass je Modell auch eine Entscheidung dahingehend erfolgen kann, welches Modell als nächstes zur Prüfung des Testkandidaten verwendet wird. Insofern erfolgt eine selektive Festlegung einer Modellabfolge innerhalb des Testvorgangs, wodurch eine Reduktion des Testumfangs insgesamt erreicht wird. Hierbei wird insbesondere ein Entscheidungslauf durchlaufen, an dessen Knotenpunkten bzw. an Punkten der Verästelung jeweils die Überprüfung bzgl. eines Modells erfolgt. Die Wurzel des Baumes entspricht hierbei vorzugsweise einer Überprüfung, ob eine optimale Positionierung der Objektmarkierung vorliegt. Es kann aber sowohl von einer optimalen Platzierung der Objektmarkierung als auch von einer mittleren Abweichung der Objektmarkierung oder von einer größtmöglichen Falschplatzierung der Objektmarkierung ausgegangen werden. Eine optimale Platzierung, eine mittlere oder die größtmögliche Abweichung von der idealen Position und/oder Größe der Objektmarkierung werden dabei durch die Trainingsdaten, die die bewussten Verschiebungen der Objektmarkierungen aufweisen, definiert. So kann die mittlere Abweichung durch einen Mittelwert zwischen Optimum und maximaler Abweichung bestimmt werden. Der Entscheidungsbaum kann dann auch abhängig davon durchlaufen werden, ob die Testdaten zu der jeweiligen Klasse gehören oder nicht.
-
Für jedes Modell ist insbesondere eine Verknüpfung zu weiteren Modellen gespeichert und abhängig von einer an dem jeweiligen Modell ermittelten Bewertung entscheidet das Analyseverfahren, welches Modell als nächstes gewählt wird. Dabei codiert die Bewertung eine mögliche Abweichung bzw. eine von dem Modell geprüfte Abweichung in Bezug auf die definierte Objektmarkierung für den Testkandidaten. Insgesamt wird dadurch ein Suchpfad durch den Entscheidungsbaum definiert, der durch die durchlaufenen Modelle, bzw. durch die verschiedenen Tests bestimmt wird. An jedem Modell wird eine Bewertung bestimmt, sodass sich entlang des Pfades durch den Entscheidungsbaum eine Gesamtbewertung ergibt, die eine Aussage über die Qualität des Testkandidaten zulässt.
-
Im dritten Ansatz ist vorgesehen, dass bspw. ein zweischichtiger Entscheidungsbaum bzw. ein Baum mit zwei Ebenen zum Einsatz kommt. Hier wird bereits im Wurzelknoten eine Entscheidung getroffen, und auf der zweiten Ebene erfolgt bereits die Ausgabe. Dies entspricht quasi einem neuronalen Netz mit einem Eingangsknoten, einer Lage und einer Vielzahl von Ausgabeknoten. An jedem Ausgabeknoten wird dann eine Bewertung für einen Testkandidaten ausgegeben. Das neuronale Netz wird wiederum mit den Trainingsdaten trainiert, die sowohl eine optimale Platzierung einer Objektmarkierung in einem Bild definieren, als auch eine dediziert verfälschte Lage von Objektmarkierungen beschreiben.
-
Das Ergebnis der Entscheidungsbaum-Entscheidung bzw. die Ausgabe der Vergleiche führt dann dazu, dass eine Aussage über die absolute Abweichung der Testkandidaten getroffen werden kann. Ein Mapping auf einen Qualitätswert kann dann abhängig von dem Anwendungsfall erfolgen. Dabei wird definiert, welches Ergebnis als besonders gut bzw. unvorteilhaft zu betrachten ist.
-
Das Analyseverfahren kann durch eine Analyseeinheit ausgeführt werden, die die Bilder, z.B. in Form eines Videosignals, vorzugsweise in Echtzeit, verarbeitet, speichern und die Signale ausgeben kann. Die Analyseeinheit kann dazu wenigstens einen Prozessor, verwenden, z.B. ein „System on Chip“ (dt.: Ein-Chip-System). Es können eine oder mehrere CPUs (Central Processing Unit) und/oder GPUs, Encoder sowie Schnittstellen zum Anschließen verschiedener Sensoren, wie beispielsweise optische Sensoren oder Kameras, verwendet werden. Die eine oder mehreren CPUs/GPUs können auch Programmcode ausführen; insbesondere kann das Analyseverfahren durch Programmcode definiert sein. Die wenigstens eine CPU/GPU kann das parallelisierte Ausführen von Rechenoperationen ermöglichen, beispielsweise das Berechnen mit Open GL oder das Einfügen von Überlagerungsbilddaten in Bilddaten. Ein Image Signal Prozessor (ISP) kann zur Bildaufbereitung dienen, und beispielsweise Daten von Bildern und/oder Bildsensoren entgegennehmen und die Qualität beispielsweise durch einen automatischen Weißabgleich erhöht. Die Analyseeinheit weist weiter wenigstens einen flüchtigen und/oder nichtflüchtigen Speicher auf, der die Bilddaten und/oder die Trainings-Bilddaten zumindest Teilweise speichert. Aus dem wenigstens einen flüchtigen und/oder nichtflüchtigen Speicher werden die die Bilddaten, Daten über Objektmarkierungen und/oder die Trainings-Bilddaten von dem Analyseverfahren ausgelesen, wenn das Analyseverfahren auf dem Prozessor (CPU und/oder GPU) ausgeführt wird.
-
Eine Ausgabe der Signale kann dann akustisch und/oder optisch auf einer Anzeigeeinheit erfolgen. Alternativ oder zusätzlich kann die Information der Signale in den wenigstens einen und/oder einen anderen flüchtigen und/oder nichtflüchtigen Speicher ausgegeben werden, z.B. in eine Datei. Die Bilddaten und/oder die Trainings-Bilddaten können der Analyseeinheit auch über einen optischen Sensor zugeführt werden.
-
Das Analyseverfahren kann zu Beginn überprüfen, ob ein durch die Objektmarkierung definiertes Objekt von einem bestimmten Typ ist. Das Analyseverfahren kann insbesondere ein Seitenverhältnis der Objektmarkierung bestimmen, mit wenigstens einem Schwellenwert für das Seitenverhältnis vergleichen und ein Signal ausgeben, das anzeigt, ob das Objekt von dem bestimmten Typ ist oder nicht, wenn der Schwellenwert für das Seitenverhältnis überschritten/unterschritten wird.
-
Das Analyseverfahren kann eine Abweichung der Objektmarkierung von einer idealen Position und/oder Größe der Objektmarkierung, insbesondere pixelgenau, bestimmen. Das Analyseverfahren kann die Abweichung automatisch korrigieren und/oder ein Signal ausgeben, das anzeigt, wie die Objektmarkierung auf die ideale Position und/oder Größe angepasst werden soll.
-
Vor einer Überprüfung der Objektmarkierung kann das Analyseverfahren prüfen, ob auf dem Bild das richtige Objektmit der Objektmarkierung markiert wurde bzw., ob das Objekt zu einer bestimmten Objektklasse gehört, ob also z.B. ein Fußgänger markiert wurde. Das Analyseverfahren kann dann testen ob die Art oder der Typ des Objekts, z.B. ein Fußgänger, dessen Objektmarkierung geprüft werden soll, tatsächlich vorhanden ist, oder ob ein anderer Objekttyp vorliegt, z.B. ein Fahrzeug oder ein Fahrradfahrer. Diese Prüfung kann auch unabhängig von dem Analyseverfahren erfolgen.
-
Wurde bspw. definiert, dass ein Fußgänger markiert ist, bei einer Definition der Objektmarkierung wurde aber fälschlicherweise ein Fahrzeug markiert, kann das Analyseverfahren dies erkennen.
-
Das Analyseverfahren kann zu der Prüfung des Objekttyps z.B. Seitenverhältnisse der Objektmarkierungen überprüfen, wobei ein Toleranzbereich bzw. wenigstens ein Schwellenwert für ein Seitenverhältnis definiert sein kann. Sollte ein Seitenverhältnis nicht innerhalb des Toleranzbereichs liegen, d.h. ein bestimmtes Seitenverhältnis liegt insbesondere über oder unter dem wenigstens einen Schwellenwert, wird für das Bild ein Signal ausgegeben. Das Signal zeigt dann an, dass die Objektmarkierung ein falsches Objektmarkiert, bzw. das Objekt nicht von dem zu prüfenden Typ ist, also nicht der richtigen Objektklasse angehört. Das Analyseverfahren kann dann beendet werden.
-
5 zeigt schematisch eine Analyseeinheit AE. Der Analyseeinheit AE werden Daten D eingegeben, die von der Analyseeinheit AE empfangen, in wenigstens einem Speicher S gespeichert und mittels wenigstens eines Prozessors P ausgewertet und verarbeitet werden können. Die Analyseeinheit AE gibt dann die Signale S entsprechend aus.
-
Das Analyseverfahren in Form von Computerprogrammanweisungen in dem Speicher S gespeichert sein, und die Computerprogrammanweisungen können zumindest von der Analyseeinheit AE zur Ausführung eines Analyseverfahrens ausgeführt werden. Die Computerprogrammanweisungen können als Computerprogrammprodukt aufbewahrt werden.
-
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 Nicht-Patentliteratur
-
- Su, H., Deng, J. and Li, F.-F. (2012). Crowdsourcing Annotations for Visual Object Detection. In: AAAI Human Computation Workshop, pp. 40-46. [0032]
- Vittayakorn, S. and Hays, J. (2011). Quality Assessment for Crowdsourced Object Annotations. In: Hoey, J., McKenna, S. and Trucco, E., eds., Proceedings of the British Machine Vision Conference, BMVA Press, pp. 109.1-109.11. [0034]