-
Ausführungsbeispiele gemäß der Erfindung beziehen sich auf Bilderkennungssysteme und insbesondere auf ein Verfahren und eine Vorrichtung zum Verwalten von Objektansichtsdaten in einer Objektdatenbank.
-
Für eine automatische Detektion von Objekten (insbesondere Gesichtern) in Bildsequenzen in Echtzeit sind bereits verschiedene Ansätze bekannt (z.B. „Paul Viola und Michael Jones. Rapid Object Detection using a Boosted Cascade of Simple Features. In Proceedings IEEE Conf. on Computer Vision and Pattern Recognition, 2001“, „Christian Küblbeck und Andreas Ernst. Face Detection and tracking in video sequences using the modified census transformation. Image Vision Computing, 24(6):564-572, June 2006“).
-
Ebenso wird die automatische Wiedererkennung von Gesichtern (zum Teil auch Objekten) anhand von Einzelbildern oder Bildsequenzen bereits in der Praxis eingesetzt. Dabei unterscheidet man Verfahren die auf 2D-Abbildungen und Verfahren die auf 3D-Techniken basieren. Genauere Informationen dazu sind z.B. in „Harry Wechsler. Reliable Face Recognition Methods: System Design, Implementation and Evaluation. (International Series on Biometrics). 2006, Springer-Verlag New York, Inc.“, „Anil K. Jain und Stan Z. Li. Handbook of Face Recognition. Springer-Verlag New York, Inc. 2005.Secaucus, NJ, USA“ und „W. Zhao, R. Chellappa, A. Rosenfeld, P.J. Phillips, Face Recognition: A Literature Survey, ACM Computing Surveys, 2003, pp. 399-458“ zu finden.
-
Bei 2D-Verfahren werden eine oder mehrere Aufnahmen von jedem Gesicht in einem System hinterlegt. Soll nun ein Gesicht wiedererkannt (identifiziert) werden, so wird es mit allen im System hinterlegten Gesichtern verglichen. Zur Steigerung der Performanz werden oftmals beim Hinterlegen der Gesichter bereits die zum Vergleich nötigen Informationen einmalig extrahiert und ebenfalls gespeichert. Zur Extraktion dieser Merkmalsvektoren und zum Vergleich der Gesichter mithilfe dieser Merkmalsvektoren gibt es unterschiedliche Verfahren.
-
Im Gegensatz zu 2D-Verfahren werden bei 3D-Techniken 3D-Modelle der Gesichter erstellt. Hierbei kommen beispielsweise Streifenlichtprojektion oder Laserscanner zum Einsatz. Ähnlich zu 2D-Verfahren wird zur Wiedererkennung das 3D-Modell mit bereits im System hinterlegten Daten auf unterschiedliche Weise verglichen und gegebenenfalls identifiziert.
-
Beide Ansätze haben Vor- und Nachteile. So können 2D-Verfahren mit handelsüblichen Kameras verwendet werden, wohingegen 3D-Techniken aufwändigere Geräte zur Aufnahme eines 3D-Modells benötigen. Dagegen sind 2D-Verfahren im Allgemeinen anfällig, wenn die Ansicht des zu identifzierenden Gesichts nicht nahezu frontal ist bzw. in dieser Ansicht nicht im System gespeichert ist.
-
Die
WO 2005/096213 A1 offenbart Systeme und Verfahren zur Gesichtserkennung, bei denen ein Prozessor erkennt, ob erfasste Gesichter bekannte oder unbekannte Gesichter sind, wobei für unbekannte Gesichter neue Datensätze erzeugt werden und für bekannte Gesichter bestehende Datensätze aktualisiert werden. Redundante Gesichtsdatenbanken werden vereinigt und nicht interessierende Gesichtsdatenbanken werden entfernt.
-
Die
US 6 111 517 A offenbart eine kontinuierliche Videoüberwachung unter Verwendung von Gesichtserkennung zur Zugriffssteuerung. Eine Echtzeit-Gesichtserkennung wird verwendet, um einer autorisierten Person Zugriff auf ein Computersystem zu gewähren. Ein Zugriff auf des Computersystem wird widerrufen, wenn die Präsenz der autorisierten Person nicht mehr erfasst wird.
-
Die Aufgabe der vorliegenden Erfindung ist es, ein verbessertes Konzept zum Verwalten von Objektansichtsdaten in einer Objektdatenbank zu schaffen, die es ermöglicht, Objekte in Bildern schneller wiederzuerkennen.
-
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und eine Vorrichtung gemäß Anspruch 10 gelöst.
-
Ein Ausführungsbeispiel gemäß der Erfindung schafft ein Verfahren zum Verwalten von Objektansichtsdaten in einer Objektdatenbank. Das Verfahren umfasst ein Erfassen einer Ansicht eines Objekts in aufeinander folgenden Bildern innerhalb einer Bildsequenz und ein Vergleichen von Ansichtsdaten der erfassten Ansicht mit Objektansichtsdaten von Objektansichten von Objekten in einer Objektdatenbank basierend auf einem Vergleichskriterium. Des Weiteren umfasst das Verfahren ein Speichern der Ansichtsdaten der erfassten Ansicht gemeinsam mit einer Zeitinformation in der Objektdatenbank als neue Objektansichtsdaten, wenn der Vergleich ergibt, dass die erfasste Ansicht keiner Objektansicht in der Objektdatenbank entspricht, oder ein Ändern einer Zeitinformation von bestehenden Objektansichtsdaten einer Objektansicht in der Objektdatenbank, wenn der Vergleich ergibt, dass die erfasste Ansicht der Objektansicht entspricht. Zusätzlich umfasst das Verfahren ein Verwalten der Objektansichtsdaten in der Objektdatenbank basierend auf den Zeitinformationen der Objektansichtsdaten, wobei das Verwalten ein Sortieren der Objektansichten in der Objektdatenbank basierend auf den zugehörigen Zeitinformationen der Objektansichten umfasst.
-
Ausführungsbeispiele gemäß der Erfindung basieren auf dem Kerngedanken, dass Objektansichtsdaten mit einer Zeitinformation versehen werden. Diese Zeitinformationen werden aktualisiert, wenn eine gespeicherte Objektansicht durch das Vergleichen in einem Bild wiedererkannt wird.
-
Dadurch kann es einerseits ermöglicht werden, die Objektansichtsdaten in der Objektdatenbank basierend auf der Zeitinformation zu sortieren und auf diese Weise z.B. zu implementieren, dass zuerst Objektansichtsdaten von Objektansichten mit den Ansichtsdaten der erfassten Ansicht verglichen werden, die erst vor Kurzem in einem Bild erkannt wurden. Dadurch kann die durchschnittliche Zeit, die benötigt wird, um die Ansichtsdaten zu vergleichen, bis eine erste Übereinstimmung basierend auf dem Vergleichskriterium gefunden wird, deutlich reduziert werden, da in aufeinanderfolgenden Bildern in Bildsequenzen meist dieselben Objekte mit gleichen oder ähnlichen Ansichten auftreten.
-
Andererseits können auch Objektansichtsdaten basierend auf den Zeitinformationen der Objektansichtsdaten aus der Objektdatenbank entfernt werden, wenn ein Zeitkriterium erfüllt ist. Beispielsweise können Objektansichtsdaten entfernt werden, die länger als eine maximale Zeitdauer nicht mehr in einem Bild wiedererkannt wurden. Dadurch kann die Datenmenge in der Objektdatenbank an die jeweilige Anwendung und an die jeweiligen Anforderungen angepasst werden. Ist z.B. die Datenverarbeitungsgeschwindigkeit von entscheidender Bedeutung, kann die Datenmenge in der Objektdatenbank, durch ein Entfernen von Objektansichtsdaten nach kurzer Zeit, gering gehalten werden. Dadurch muss die erfasste Ansicht mit weniger Objektansichten in der Objektdatenbank verglichen werden. Ist es hingegen wichtiger, Objekte oder Ansichten von Objekten auch nach längerer Zeit noch wiederzuerkennen, kann ein entsprechend längerer Zeitraum bis zum Entfernen von Objektansichtsdaten gewählt werden. Dadurch kann das erfindungsgemäße Konzept flexibel auf die jeweilige Anwendung angepasst werden.
-
Einige Ausführungsbeispiele gemäß der Erfindung beziehen sich auf eine Vorrichtung zum Verwalten von Objektansichtsdaten in einer Objektdatenbank. Die Vorrichtung umfasst einen Objekterfasser, eine Ansichtsdatenvergleichsvorrichtung und einen Objektdatenbankspeicher. Der Objekterfasser ist ausgelegt, um eine Ansicht eines Objekts in aufeinander folgenden Bildern innerhalb einer Bildsequenz zu erfassen. Die Ansichtsdatenvergleichsvorrichtung ist ausgelegt, um Ansichtsdaten der erfassten Ansicht mit Objektansichtsdaten von Objektansichten von Objekten in einer Objektdatenbank basierend auf einem Vergleichskriterium zu vergleichen. Des Weiteren ist der Objektdatenbankspeicher ausgelegt, um die Ansichtsdaten der erfassten Ansicht gemeinsam mit einer Zeitinformation in der Objektdatenbank als neue Objektansichtsdaten zu speichern, wenn der Vergleich ergibt, dass die erfasste Ansicht keiner Objektansicht in der Objektdatenbank entspricht, und um eine Zeitinformation von bestehenden Objektansichtsdaten einer Objektansicht in der Objektdatenbank zu ändern, wenn der Vergleich ergibt, dass die erfasste Ansicht der Objektansicht entspricht. Zusätzlich ist der Objektdatenbankspeicher ausgelegt, um die Objektansichtsdaten in der Objektdatenbank basierend auf den Zeitinformationen der Objektansichtsdaten zu verwalten, wobei das Verwalten ein Sortieren der Objektansichten in der Objektdatenbank basierend auf den zugehörigen Zeitinformationen der Objektansichten umfasst.
-
Ausführungsbeispiele gemäß der Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Figuren näher erläutert. Es zeigen:
- 1 ein Flussdiagramm eines Verfahrens zum Verwalten von Objektansichtsdaten in einer Objektdatenbank;
- 2 ein Flussdiagramm eines Verfahrens zum Verwalten von Objektansichtsdaten in einer Objektdatenbank; und
- 3 eine schematische Darstellung einer Vorrichtung zum Verwalten von Objektansichtsdaten in einer Objektdatenbank.
-
Im Folgenden werden teilweise für Objekte und Funktionseinheiten, die gleiche oder ähnliche funktionelle Eigenschaften aufweisen, gleiche Bezugszeichen verwendet. Des Weiteren können optionale Merkmale der verschiedenen Ausführungsbeispiele miteinander kombinierbar oder zueinander austauschbar sein.
-
1 zeigt ein Flussdiagramm eines Verfahrens 100 zum Verwalten von Objektansichtsdaten in einer Objektdatenbank entsprechend einem Ausführungsbeispiel gemäß der Erfindung. Dabei wird eine Ansicht eines Objekts in einem Bild erfasst 110 und die Ansichtsdaten der erfassten Ansicht werden mit Objektansichtsdaten von Objektansichten von Objekten in einer Objektdatenbank basierend auf einem Vergleichskriterium verglichen 120. Ergibt der Vergleich, dass die erfasste Ansicht keiner Objektansicht in der Objektdatenbank entspricht, so werden die Ansichtsdaten der erfassten Ansicht gemeinsam mit einer Zeitinformation in der Objektdatenbank als neue Objektansichtsdaten gespeichert 130. Ergibt der Vergleich, dass die erfasste Ansicht einer Objektansicht entspricht, wird eine Zeitinformation von bestehenden Objektansichtsdaten der entsprechenden Objektansicht in der Objektdatenbank geändert 140. Des Weiteren werden die Objektansichtsdaten in der Objektdatenbank basierend auf den Zeitinformationen der Objektansichtsdaten verwaltet 150.
-
Durch das Speichern von Ansichtsdaten mit einer Zeitinformation und durch das Ändern von Zeitinformationen von bestehenden Objektansichtsdaten kann festgehalten werden, wann eine Objektansicht oder ein Objekt zuletzt erkannt wurde. Dadurch kann beispielsweise die Verarbeitungsgeschwindigkeit von Bildern deutlich erhöht werden, da die Objektansichtsdaten in der Objektdatenbank beispielsweise basierend auf der Zeitinformation der Objektansichtsdaten sortiert werden können und Objektansichtsdaten von Objektansichten, die erst kürzlich erkannt wurden, zuerst verglichen werden können. Die Verarbeitungsgeschwindigkeit kann dabei erhöht werden, da aufeinanderfolgende Bilder einer Bildsequenz meist ähnliche oder gleiche Ansichten von Objekten enthalten.
-
Des Weiteren können Objektansichtsdaten aus der Objektdatenbank entfernt werden, wenn diese Ansichten bereits seit Längerem in keinem Bild erfasst wurden. Dadurch kann die Datenmenge in der Objektdatenbank überschaubar gehalten werden und dadurch ebenfalls die Verarbeitungsgeschwindigkeit, die mit dem erfindungsgemäßen Konzept erreicht werden kann, deutlich erhöht werden.
-
Ein Bild kann ein oder mehrere Objekte enthalten, wobei ein Objekt beispielsweise ein Gesicht, ein Mensch, ein Fahrzeug oder ein anderer beweglicher oder unbeweglicher Gegenstand sein kann. Das Bild kann Teil einer Bildsequenz oder Bildabfolge sein, wobei ein Objekt in mehreren Bildern der Bildsequenz enthalten sein kann. Die Ansichten eines Objekts in unterschiedlichen Bildern können sich unterscheiden, wie es beispielsweise bei beweglichen Objekten, wie z.B. Menschen oder Fahrzeugen, der Fall sein kann.
-
Die Ansichtsdaten können beispielsweise den Bildausschnitt der Ansicht des Objekts direkt umfassen oder davon abgeleitete oder extrahierte Parameter, auch Merkmalsvektoren genannt, sein. Diese Ansichtsdaten in Form von z.B. Merkmalsvektoren der erfassten Ansicht können mit Objektansichtsdaten, von Objektansichten von Objekten in der Objektdatenbank, die z.B. ebenfalls in Form von Merkmalsvektoren vorliegen können, verglichen werden.
-
Das Vergleichskriterium legt fest, wie ähnlich sich die Ansichtsdaten und die Objektansichtsdaten sein müssen, damit eine erfasste Ansicht als bereits gespeicherte Objektansicht identifiziert oder klassifiziert wird.
-
Ergeben sich beim Vergleich der Ansichtsdaten der erfassten Ansicht mit den Objektansichtsdaten in der Objektdatenbank basierend auf dem Vergleichskriterium mehr als eine Übereinstimmung, so gehören diese Objektansichtsdaten zu einem Objekt und können zusammengefasst werden und einem einzigen Objekt zugeordnet werden.
-
Wird die erfasste Ansicht des Objekts wiedererkannt, so wird die Zeitinformation der bereits gespeicherten Objektansicht aktualisiert. Anderenfalls werden die Ansichtsdaten der erfassten Ansicht gemeinsam mit einer Zeitinformation als neue Objektansichtsdaten gespeichert.
-
Die Zeitinformation kann dabei beispielsweise der Zeitpunkt sein, zu dem das Bild erzeugt wurde, der Zeitpunkt, an dem die Ansicht des Objekt erfasst wurde oder der Zeitpunkt, an dem die neuen Objektansichtsdaten gespeichert wurden oder die Zeitinformation der bestehenden Objektansichtsdaten geändert wurden. Alternativ kann auch z.B. eine Verweildauer auf Null oder eine maximale Verweildauer gesetzt werden. Nach Ablauf der maximalen Verweildauer, oder wenn die Verweildauer einen maximalen vordefinierten Wert erreicht hat, können die Objektansichtsdaten der Objektansicht eines Objekts oder aller gespeicherten Objektansichten eines Objekts aus der Objektdatenbank entfernt werden.
-
In anderen Worten, das Verwalten kann ein Entfernen von Objektansichtsdaten einer Objektansicht aus der Objektdatenbank umfassen, wenn die zugehörige Zeitinformation ein Zeitkriterium erfüllt. Dabei kann das Zeitkriterium, wie bereits erwähnt, z.B. das Ablaufen einer maximalen Verweildauer oder Überschreiten einer maximalen Verweildauer sein. Durch das Entfernen von Objektansichten von Objekten, die bereits lange in keinem Bild mehr aufgetaucht sind, kann die Datenmenge in der Objektdatenbank gering gehalten werden. Dadurch kann der Zeitaufwand zum Vergleichen der Ansichtsdaten von erfassten Ansichten mit gespeicherten Objektansichten im Vergleich zu Verfahren, die keine dynamische Aktualisierung der Objektdatenbank durchführen, deutlich verringert werden.
-
Das Verwalten umfasst ein Sortieren der Objektansichtsdaten der Objektansichten in der Objektdatenbank basierend auf den zugehörigen Zeitinformationen der Objektdaten, um die Verarbeitungsgeschwindigkeit des beschriebenen Verfahrens zu erhöhen. Durch das Sortieren können Objektansichtsdaten von Objektansichten, die erst vor Kurzem in einem Bild erfasst wurden, zuerst mit der neu erfassten Ansicht verglichen werden. Die Verarbeitungsgeschwindigkeit kann dadurch erhöht werden, da Objekte in einem aktuellen Bild mit hoher Wahrscheinlichkeit auch im vorhergehenden Bild vorhanden waren.
-
Ist das Bild Teil einer Bildsequenz, kann z.B. in einem weiteren Schritt bestimmt werden, ob das erfasste Objekt in dem aktuellen Bild einem bekannten Objekt aus einem vorhergehenden Bild der Bildsequenz entspricht. In anderen Worten, es kann z.B. durch einen Vergleich von Größe und/oder Positionen eines Objekts in einem Bild mit Größe und/oder Positionen eines Objekts in einem vorhergehenden Bild bestimmt werden, ob es sich dabei um das selbe Objekt handelt. Handelt es sich um das selbe Objekt, so muss zumindest bereits eine Objektansicht für das Objekt in der Objektdatenbank gespeichert sein. Daher kann es ausreichend sein, die erfasste Ansicht nur mit Objektansichtsdaten zu vergleichen, die bereits für dieses Objekt gespeichert sind.
-
Entspricht keiner der bereits für dieses Objekt gespeicherten Objektansichten der neu erfassten Ansicht, so kann die neu erfasste Ansicht mit einer Zeitinformation den Objektansichten des bereits gespeicherten Objekts hinzugefügt werden. Zusätzlich kann die neu erfasste Ansicht auch mit allen anderen gespeicherten Objektansichtsdaten verglichen werden, um festzustellen, ob das gespeicherte Objekt bereits früher einmal erfasst wurde, und mit einer Objektansicht gespeichert wurde, die bei einem vorhergehenden Vergleich nicht als entsprechend erkannt wurden, weil sich die Objektansichten zu sehr unterscheiden. Somit kann durch die neu erfasste Ansicht der Zusammenhang zwischen den für unterschiedliche, aber tatsächlich gleiche, Objekte gespeicherten Objektansichtsdaten hergestellt werden. Als Folge können all diese Objektansichtsdaten zusammengefasst und einem einzigen Objekt zugeordnet werden.
-
Jede Objektansicht eines Objekts kann eine individuelle Zeitinformation aufweisen. Alternativ kann jedem Objekt in der Objektdatenbank auch nur eine Zeitinformation zugeordnet sein, die dann für alle Objektansichten des Objekts gilt. Wird die Zeitinformation von Objektansichtsdaten einer Objektansicht eines Objekts geändert, so wird z.B. die individuelle Zeitinformation der Objektansicht, die individuellen Zeitinformationen aller Objektansichten des Objekts oder die der Objektansicht zugeordnete Zeitinformation des Objekts geändert.
-
In einigen Ausführungsbeispielen gemäß der Erfindung sind die Objektansichtsdaten einer jeden Objektansicht in der Objektdatenbank einem Objekt der in der Objektdatenbank gespeicherten Objekte zugeordnet. Die Objektdatenbank kann dabei ausgelegt sein, dass jedem Objekt zumindest eine Objektansicht zugeordnet ist. Objekte, denen aufgrund von z.B. einer Zusammenlegung von Objektansichten von als gleich identifizierten Objekten keine Objektansichtsdaten mehr zugeordnet sind, können aus der Objektdatenbank entfernt werden.
-
Die Objektdatenbank kann auch als Galerie oder dynamische Galerie bezeichnet werden und ein Objekt kann auch als Eintrag in der Datenbank oder einfach als Eintrag bezeichnet werden. Des Weiteren wird eine Zeitinformation im Folgenden auch Zeitstempel genannt.
-
Durch eine Auswertung der Objektdatenbank kann beispielsweise bestimmt werden, wie oft ein Objekt in einer Bildsequenz auftaucht, wie lange ein Objekt in einer Bildsequenz vorhanden ist oder wie viele unterschiedliche Objekte in einer Bildsequenz vorkommen.
-
2 zeigt ein Flussdiagramm eines Verfahrens 200 zum Verwalten von Objektansichtsdaten in einer Objektdatenbank entsprechend einem Ausführungsbeispiel gemäß der Erfindung.
-
Das Verfahren gliedert sich in mehrere Teilabläufe, die zyklisch und abhängig vom aktuellen Zustand des Verfahrens abgearbeitet werden können. Im Folgenden werden zunächst generell die Teilabläufe genauer beschrieben. Danach werden die Knoten der Abbildung nochmals näher erläutert. Buchstaben in runden Klammern verweisen jeweils auf die entsprechenden Knoten der Abbildung.
-
Zum Start des Verfahrens ist z.B. das erste Bild der Sequenz notwendig, siehe (A). Es wird die automatische Detektion (Erfassung) von Objekten durchgeführt. Falls keine Objekte detektiert wurden (B), kann die Bereinigung der oben beschriebenen Galerie (D) folgen. Dieser Vorgang wird später noch genauer erläutert. Danach folgt für das nächste Bild der Sequenz die automatische Detektion von Objekten (C, B).
-
Wurden Objekte detektiert (B), wird das erste Objekt davon ausgewählt (E) und überprüft, ob eine Zuordnung zu einem Objekt im vorhergehenden Bild möglich ist (G). Dieser Vorgang wird ebenfalls später genauer erläutert.
-
Falls eine Zuordnung nicht möglich war, so handelt es sich um ein in diesem Bild neu detektiertes Objekt und der Ablauf geht über zu Knoten (L). Hier wird die aktuelle Ansicht des Objekts mit allen Galerieeinträgen verglichen. Der Vergleich mit jedem einzelnen Eintrag (Objekt in der Objektdatenbank) kann erfolgen, indem die aktuelle Ansicht der Reihe nach mit den Ansichten des Eintrags verglichen wird. Sobald der erste Vergleich mit einer Ansicht erfolgreich war, ist eine Übereinstimmung mit dem Galerieeintrag (Objekt in der Objektdatenbank) vorhanden. Ebenso können weitere Galerieeinträge mit der aktuellen (erfassten) Ansicht des Objekts übereinstimmen.
-
Falls keine Übereinstimmung mit mindestens einem Galerieeintrag gefunden wurde, so wird ein neuer Eintrag für das Objekt in der Galerie angelegt (gespeichert) und die aktuelle Ansicht des Objekts mit dem zugehörigen Zeitstempel in diesen Eintrag eingefügt (J). Falls danach keine weiteren Objekte vorhanden sind (I, D), wird die Galerie bereinigt und der Ablauf wird bei Knoten (D) fortgeführt, ansonsten wird der Ablauf für das nächste Objekt (I, H) bei Knoten (G) fortgeführt.
-
Falls in (L) eine Übereinstimmung mit mindestens einem Galerieeintrag gefunden wurde (das Objekt konnte wiedererkannt werden), so werden die übereinstimmenden Galerieeinträge z.B. zu einem Eintrag zusammengefügt und diesem Objekt zugeordnet (M). Daraufhin können die Zeitstempel der Ansichten, die zu einem erfolgreichen Vergleich führten, aktualisiert (N) werden. Nach der Sortierung der Liste der Ansichten aller Galerieeinträge (K) fährt der Ablauf wieder bei Knoten (I) fort.
-
Falls in (G) das ausgewählte Objekt einem Objekt aus dem vorherigen Bild zugeordnet werden konnte, ist bereits ein Eintrag für dieses Objekt in der Galerie vorhanden. Nun kann die aktuelle Ansicht des Objekts der Reihe nach mit allen Ansichten des zugehörigen Galerieeintrags verglichen (F) werden. Sobald die erste Übereinstimmung festgestellt werden konnte, wird er Zeitstempel der passenden Ansicht aktualisiert (N) und der Ablauf geht über zu Knoten (K).
-
Ergibt sich keine Übereinstimmung an Knoten (F), handelt es sich offensichtlich um eine neue Ansicht des Objekts. Um zu überprüfen, ob weitere Einträge in der Galerie vorhanden sind, die diesem Objekt entsprechen, aber mit den bisherigen Ansichten nicht wiederzuerkennen waren, kann ein Vergleich der aktuellen Ansicht mit allen anderen Einträgen der Galerie (O) folgen. Wurde mindestens eine Übereinstimmung gefunden, so können alle übereinstimmenden Einträge mit dem aktuellen Eintrag des Objekts zusammengefügt (P) werden und der Ablauf fährt bei Knoten (N) fort. Wurde keine Übereinstimmung in einem anderen Eintrag gefunden, so wird die bisher unbekannte aktuelle Ansicht des Objekts in den zugehörigen Eintrag der Galerie eingefügt (Q) und der Ablauf fährt bei Knoten (K) fort.
-
Die einzelnen Knoten der 2 werden im Folgenden nochmals separat genauer betrachtet:
-
Knoten (A): Z.B. Startpunkt des Verfahrens mit dem ersten Bild der Sequenz.
-
Knoten(B): Detektion der Objekte im Bild, z.B. mit bereits bekannten Verfahren. Abhängig davon, ob Objekte gefunden wurden oder nicht folgt Knoten (E) oder (D).
-
Knoten(C): Auswahl bzw. Warten auf das nächste Bild der Sequenz.
-
Knoten (D): Bereinigen der Galerie. Dabei werden zunächst z.B. alle Ansichten (Objektansichten) aus allen Einträgen der Galerie entfernt, deren Zeitstempel abgelaufen ist. Dies kann der Fall sein, wenn der Zeitstempel einer Ansicht bezüglich der aktuellen Zeit einen festgelegte maximale Zeitspanne überschreitet. Danach können alle Einträge der Galerie entfernt werden, die keine Ansicht mehr enthalten. Des Weiteren kann die maximale Anzahl der Ansichten jedes Eintrags auf N begrenzt werden. Überschreitet ein Eintrag die maximale Anzahl an Ansichten, so werden alle bis auf N Ansichten mit dem aktuellsten Zeitstempel gelöscht. Außerdem ist es optional möglich Ansichten, die im vorherigen Bild neu hinzugefügt wurden, aber im aktuellen Bild keine Übereinstimmung lieferten, wieder zu löschen. Dadurch werden nur Ansichten in der Galerie gehalten, welche zumindest einmal zu einer Übereinstimmung führten.
-
Knoten (E): Wurde mindestens ein Objekt im Bild gefunden, so wird zunächst das erste Objekt ausgewählt. Alle weiteren Objekte werden dann in (H) ausgewählt.
-
Knoten (F): Ist bereits ein zum Objekt gehöriger Eintrag in der Galerie vorhanden (Objekt wurde bereits im vorherigen Bild detektiert), so wird die aktuelle Ansicht des Objekts der Reihe nach mit allen bereits im Eintrag gespeicherten Ansichten verglichen. Sobald die erste Übereinstimmung gefunden wurde, kann der Vergleich mit weiteren Ansichten abgebrochen werden (aus Performanzgründen). Da die Liste der Ansichten nach dem Zeitstempel sortiert ist, vgl. (K), genügt in sehr vielen Fällen innerhalb der Bildsequenz ein einziger Vergleich pro Objekt mit der ersten Ansicht in der Galerie (in aufeinander folgenden Bildern ändern sich die Ansichten nur geringfügig). Falls keine Übereinstimmung beim Vergleich mit den gespeicherten Ansichten gefunden wurde, so hat sich offensichtlich die Ansicht des Objekts verändert.
-
Der Vergleich der Ansichten kann auf einfacher Differenzwertbildung basieren, aber auch komplexere Verfahren zum Bildvergleich anwenden (z.B. Nutzung beleuchtungsunabhängiger Merkmale zum Vergleich und/oder Nutzung von Histogrammen zum Bildvergleich). Des Weiteren ist es möglich, hier ein aus dem Stand der Technik bekanntes Verfahren verwenden, insbesondere bei Gesichtern eingesetzte Verfahren zur Identifikation.
-
Knoten (G): Dieser Knoten prüft, ob das Objekt bereits im vorherigen Bild detektiert wurde, d.h. eine Zuordnung zu einem Objekt im vorhergehenden Bild möglich war. Die Zuordnung ist möglich, wenn z.B. Größe und Position mindestens einen festgelegten Ähnlichkeitswert aufweist (der Überlappungsbereich der Detektionen relativ zur Summe der Fläche beider Detektionen überschreitet einen festgelegten Schwellwert). Zusätzlich zu dieser geometrischen Zuordnung kann ein Vergleich der Bildausschnitte der Detektionen als Zuordnungskriterium genutzt werden (dabei gilt die Annahme, dass sich das Aussehen eines Objekts in aufeinander folgenden Bildern einer Sequenz nur wenig unterscheidet). Zum Vergleich können die gleichen in (F) beschriebenen Verfahren zum Einsatz kommen.
-
Knoten (H): Wählt das nächste Objekt aus den im aktuellen Bild detektierten Objekten aus.
-
Knoten (I): Prüft ob ein weiteres detektiertes Objekt vorhanden ist und führt abhängig davon zu Knoten (D) oder (H).
-
Knoten (J): Für das neu detektierte Objekt wurde (noch) keine Übereinstimmung mit einem Eintrag in der Galerie gefunden, entweder weil das Objekt noch nicht in der Galerie vorhanden ist oder, weil die aktuelle Ansicht noch nicht in evtl. zum Objekt gehörenden Einträgen der Galerie als Ansicht gespeichert ist. Aus diesem Grund wird ein neuer Eintrag (Objekt) in der Galerie angelegt und die Ansicht mit Zeitstempel in den Eintrag eingefügt.
-
Knoten (K): Dieser Knoten sortiert die Liste der Ansichten aller Einträge der Galerie nach dem Zeitstempel. Dadurch können z.B. Ansichten, die zum Finden von Übereinstimmungen geführt haben, an den Beginn der Liste verschoben werden und tragen zur schnelleren Ausführung in (F) bei.
-
Knoten (L): Wurde ein Objekt laut (G) neu detektiert, so wird die aktuelle Ansicht des Objekts mit allen Einträgen der Galerie verglichen, um das Objekt nach Möglichkeit wiederzuerkennen, falls es bereits mit einer ähnlichen Ansicht in der Galerie vorhanden ist. Der Vergleich kann den in (F) beschriebenen Verfahren entsprechen. Zusätzlich kann aber noch eine Beschleunigung erfolgen, z.B. durch hierarchische Suche und/oder erst Grobvergleich (schnelles aber ungenaueres Verfahren) und dann aufwändigerer Feinvergleich (langsameres aber genaueres Verfahren).
-
Auch wenn das Objekt bereits in früheren Bildern gefunden wurde und in der Galerie vorhanden ist, kann es vorkommen, dass eine Zuordnung nicht sofort möglich ist, z.B. weil die aktuelle Ansicht zu sehr von den bereits gespeicherten Ansichten abweicht. Dadurch können (zeitweise) mehrere Einträge des gleichen Objekts in der Galerie vorhanden sein, die in späteren Bildern der Sequenz durch (M) oder (P) wieder zusammengefügt werden, wenn dann ein Vergleich eine Übereinstimmung bringt.
-
Knoten (M): Ergibt sich in (L) eine Übereinstimmung der aktuellen Ansicht mit mehr als einem Galerieeintrag, so können diese Einträge zusammengefügt und dem Objekt zugeordnet werden. Bei Übereinstimmung mit einem einzigen Galerieeintrag wird dieser dem Objekt zugeordnet.
-
Knoten (N): Alle Ansichten der Galerieeinträge, die in (L), (F) oder (O) zu einer Übereinstimmung führten, können mit einem aktuellen Zeitstempel versehen werden. Dadurch werden sie in (K) an den Anfang der Ansichtenlisten verschoben, wodurch sich die Suche in nachfolgenden Bildern bei (F) beschleunigt (die Ansicht eines Objekts ändert sich in aufeinanderfolgenden Bilden im Allgemeinen nur geringfügig). Des Weiteren führen die aktuellen Zeitstempel dazu, dass diese Ansichten in (D) unberührt bleiben.
-
Knoten (O): Ergab sich in (F) keine Übereinstimmung mit den bereits gespeicherten Ansichten, so hat sich im Normalfall die Ansicht des Objekts verändert (könnte auch durch Verdeckungen oder Beleuchtungsänderungen hervorgerufen werden). Die neue Ansicht des Objekts kann mit allen Galerieeinträgen verglichen werden, um Einträge zu finden, die ebenfalls dieses Objekt repräsentieren, aber mit den bisherigen Ansichten noch nicht wiederzuerkennen waren. Der Vergleich kann auf gleiche Weise wie in (L) beschrieben erfolgen.
-
Knoten (P): Wurde mindestens eine Übereinstimmung in (O) gefunden, so können alle übereinstimmenden Einträge der Galerie zusammengefügt werden.
-
Knoten (Q): Wurde auch mit der neuen Ansicht (O) keine Übereinstimmung mit anderen Einträgen der Galerie gefunden, so kann die neue Ansicht in den zugehörigen Eintrag der Galerie mit Zeitstempel eingefügt werden.
-
Um gefundene Übereinstimmungen in dem Verfahren zu verdeutlichen, können eindeutige Ids (Kennzahlen, Schlüssel, Identifikation) zum Einsatz kommen. Dazu wird z.B. jedem Objekt im Bild eine eindeutige Id zugeordnet, solange das Objekt ohne Unterbrechung in der Bildsequenz detektiert wird, vgl. 2 Übergang (G) nach (F). Verschwindet ein Objekt und wird nach einiger Zeit wieder detektiert, so wird dem Objekt eine neue Id zugewiesen, vgl. 2 Übergang (G) nach (L).
-
Übereinstimmungen können so über Aufzählungen oder Verkettungen von Ids dargestellt werden. Entweder indem für jedes Objekt alle Ids angegeben werden, die dem Objekt bereits zugewiesen wurden (Aufzählung) oder indem nur die Ids angegeben werden, die das Objekt bei vorherigen Detektionen hatte (Verkettung kann mehr als eine Id haben, vgl. 2 Übergang (O) nach (P) und Übergang (L) nach (M)).
-
Einige Ausführungsbeispiele gemäß der Erfindung beziehen sich auf ein Verfahren zur automatischen Wiedererkennung von Objekten und Bildsequenzen aus unterschiedlichen Ansichten.
-
Das Verfahren zur automatischen Wiedererkennung von Objekten in Bildsequenzen aus unterschiedlichen Ansichten kann auf eine Verwendung einer dynamischen (zeitlich veränderlichen Galerie) gestützt sein, wobei jeder Eintrag der Galerie eine Liste unterschiedlicher Ansichten des Objekts halten kann und jede Ansicht mit einem Zeitstempel versehen sein kann.
-
Ein weiterer Aspekt des beschriebenen Konzepts ist eine Aktualisierung der Galerie durch Entfernung von Ansichten, die eine festgesetzte Zeitspanne nicht mehr zur Wiedererkennung beitrugen und Hinzufügen neuer Ansichten, sobald ein Objekt mit den bisherigen Ansichten nicht mehr übereinstimmt.
-
Ein anderer Aspekt bezieht sich auf ein Hinzufügen von neuen Einträgen in die Galerie und Entfernen von Einträgen, die keine Ansichten mehr enthalten.
-
Des Weiteren kann eine Initiierung des Vergleichs eines Objekts mit allen Einträgen der Galerie durch Auftreten einer neuen Ansicht erfolgen (dadurch lässt sich die Anzahl der benötigten Vergleiche deutlich senken bzw. die Geschwindigkeit erheblich steigern).
-
Ebenso ein Aspekt des beschriebenen Konzepts ist die Verwendung eines Zeitstempels für jede Ansicht, der aktualisiert wird, sobald eine Ansicht eine Übereinstimmung liefert.
-
Zusätzlich kann eine Verwendung des Zeitstempels zur Sortierung der Ansichten und/oder Beurteilung des Werts der Ansichten bzw. als Alterungskriterium erfolgen (verringert die Anzahl benötigter Vergleiche, da aktuelle Ansichten immer am Anfang der Liste stehen).
-
Ein weiterer Aspekt ist die Verwendung einer Speicherdauer für jede Ansicht anstatt eines Zeitstempels, die auf eine maximale Dauer gesetzt wird, wenn die Ansicht im Bild gefunden wurde, ansonsten erniedrigt wird. Nach Ablauf der Speicherdauer wird die Ansicht entfernt.
-
Genauso ein Aspekt des beschriebenen Konzepts ist ein Zusammenfügen mehrerer Einträge der Galerie nach Finden von Übereinstimmungen.
-
Ein anderer Aspekt ist die Zuordnung von Detektionen in aufeinander folgenden Bildern innerhalb einer Bildsequenz zu einem Objekt anhand von Position und Größe und/oder Vergleich der Bildausschnitte.
-
Ebenso ist ein Aspekt die Verwendung von Ids (Kennzahlen) zur eindeutigen Kennzeichnung von Objekten, so lange sie ohne Unterbrechung in der Bildsequenz detektiert wurden.
-
Zusätzlich kann eine Verwendung von Id-Aufzählungen oder Verkettungen zur Darstellung von Übereinstimmungen erfolgen.
-
Das erfindungsgemäße Konzept beschreibt z .B. ein Verfahren zur schnellen, automatischen (zeitlich befristeten) Wiedererkennung von Objekten aus unterschiedlichen Ansichten in Bildsequenzen.
-
Der Zweck der Erfindung besteht also z.B. darin, ein Objekt (z.B. ein Gesicht), das innerhalb einer Bildsequenz einmal detektiert wurde, wiederzuerkennen (d.h. der/den früheren Detektionen zuzuordnen), wenn es, nachdem es wieder verschwunden ist, weitere Male in der Bildsequenz detektiert wird.
-
Dazu verwendet das Verfahren eine dynamische (zeitlich veränderliche) Galerie. Diese besteht z.B. aus einer Liste von Einträgen. Ein Objekt wird durch einen (oder mehrere) dieser Einträge repräsentiert. Jeder Eintrag wiederum hat eine Liste von einer oder mehreren Ansichten des Objekts (Objektansichten). Eine Ansicht besteht aus dem Bildausschnitt des Objekts (und/oder einem zur Performanzsteigerung daraus vorextrahierten Merkmalsvektor) und einem Zeitstempel, der angibt, wann diese Ansicht des Objekts zum letzten Mal in der Videosequenz (Bildsequenz) zu sehen war.
-
Einige Ausführungsbeispiele gemäß der Erfindung beziehen sich auf eine Wiedererkennung von Objekten, insbesondere Gesichter, durch geschickte Speicherung von Ansichten der Objekte in einer Galerie (Objektdatenbank).
-
Das erfindungsgemäße Konzept findet beispielsweise Anwendung in Systemen und Verfahren zur Detektion und Wiedererkennung von Objekten (z.B. Gesichter, Gegenstände) oder in Systemen zur Werbewirkungsanalyse (Zählen der Betrachter von Werbung). In diesem Fall ermöglicht das erfindungsgemäße Verfahren es beispielsweise zu erkennen, wenn Personen innerhalb einer festgesetzten Zeitspanne weitere Male die Werbung oder den Bildschirm (screen) betrachten.
-
3 zeigt eine schematische Darstellung einer Vorrichtung zum Verwalten von Objektansichtsdaten in einer Objektdatenbank entsprechend einem Ausführungsbeispiel gemäß der Erfindung. Die Vorrichtung 300 umfasst einen Objekterfasser 310, eine Ansichtdatenvergleichsvorrichtung 320 und einen Objektdatenbankspeicher 330. Der Objekterfasser 310 ist mit der Ansichtsdatenvergleichsvorrichtung 320 verbunden und die Ansichtsdatenvergleichsvorrichtung 320 ist mit dem Objektdatenbankspeicher 330 verbunden. Der Objekterfasser 310 erfasst eine Ansicht eines Objekts in einem Bild 302 und stellt Ansichtsdaten der erfassten Ansicht der Ansichtsdatenvergleichsvorrichtung 320 für einen Vergleich der Ansichtsdaten der erfassten Ansicht mit Objektansichtsdaten von Objektansichten von Objekten in einer Objektdatenbank basierend auf einem Vergleichskriterium zur Verfügung. Der Objektdatenbankspeicher 330 speichert die Ansichtsdaten der erfassten Ansicht gemeinsam mit einer Zeitinformation in der Objektdatenbank als neue Objektansichtsdaten, wenn der Vergleich ergibt, dass die erfasste Ansicht keiner Objektansicht in der Objektdatenbank entspricht. Andernfalls ändert der Objektdatenbankspeicher 330 eine Zeitinformation von bestehenden Objektansichtsdaten einer Objektansicht in der Objektdatenbank, wenn der Vergleich ergibt, dass die erfasste Ansicht der Objektansicht entspricht. Des Weiteren verwaltet der Objektdatenbankspeicher 330 die Objektansichtsdaten in der Objektdatenbank basierend auf den Zeitinformationen der Objektansichtsdaten.
-
Der Objekterfasser 310, die Ansichtsdatenvergleichsvorrichtung 320 und der Objektdatenbankspeicher 330 können eigenständige Hardwareeinheiten oder Teil eines Prozessors oder Computers sein, oder Computerprogramme oder Computerprogrammprodukte zur Ausführung auf einem Computer oder Mikroprozessor sein.
-
Einige Ausführungsbeispiele gemäß der Erfindung beziehen sich auf ein Bilderkennungssystem mit einer Vorrichtung zum Verwalten von Objektansichtsdaten in einer Objektdatenbank und eine Kamera. Die Kamera ist dabei ausgelegt, um eine Bildsequenz zu erzeugen, wobei das Bild mit der erfassten Ansicht Teil der Bildssequenz ist. Alternativ kann die Bildsequenz auch von mehr als einer Kamera aufgenommen werden.
-
Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar.
-
Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein. Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.
-
Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft. Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.
-
Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinenlesbaren Träger gespeichert ist.
-
Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft. Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist.
-
Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.
-
Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
-
Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
-
Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.
-
Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.