DE602004002837T2 - Objekterkennung - Google Patents

Objekterkennung Download PDF

Info

Publication number
DE602004002837T2
DE602004002837T2 DE602004002837T DE602004002837T DE602004002837T2 DE 602004002837 T2 DE602004002837 T2 DE 602004002837T2 DE 602004002837 T DE602004002837 T DE 602004002837T DE 602004002837 T DE602004002837 T DE 602004002837T DE 602004002837 T2 DE602004002837 T2 DE 602004002837T2
Authority
DE
Germany
Prior art keywords
face
image
recognition
images
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE602004002837T
Other languages
English (en)
Other versions
DE602004002837D1 (de
Inventor
Robert Mark Stefan Porter
Simon Dominic Haynes
Jonathan Living
Ratna Rambaruth
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Europe Ltd
Original Assignee
Sony United Kingdom Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony United Kingdom Ltd filed Critical Sony United Kingdom Ltd
Publication of DE602004002837D1 publication Critical patent/DE602004002837D1/de
Application granted granted Critical
Publication of DE602004002837T2 publication Critical patent/DE602004002837T2/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • H04N23/611Control of cameras or camera modules based on recognised objects where the recognised objects include parts of the human body

Description

  • Diese Erfindung bezieht sich auf Objekterkennung.
  • Die folgende Beschreibung bezieht sich auf ein bei der Erkennung verschiedener Arten von Objekten auftretendes Problem, das aber hier der Klarheit wegen im Zusammenhang mit Gesichter-Erkennung behandelt wird.
  • Es sind in der Fachliteratur viele Algorithmen zur Erkennung menschlicher Gesichter vorgeschlagen worden, darunter die Verwendung sogenannter Eigengesichter, der Gesichtsschablonen-Vergleich, der Vergleich verformbarer Schablonen und die Klassifizierung mittels neuronaler Netze. Keiner davon ist perfekt, und jeder hat seine Vor- und Nachteile. Keiner gibt einen absolut zuverlässigen Hinweis, dass ein Bild ein Gesicht enthält; im Gegenteil, sie alle basieren auf einer Wahrscheinlichkeitsauswertung aufgrund einer mathematischen Analyse des Bildes, ob das Bild zumindest mit gewisser Wahrscheinlichkeit ein Gesicht enthält. Je nach ihrer Anwendung ist der Wahrscheinlichkeits-Schwellenwert im Allgemeinen sehr hoch gesetzt, um Falscherkennungen von Gesichtern zu vermeiden.
  • Objekterkennung ist in der Regel sehr prozessorintensiv. In Situationen, in denen Objekterkennung in Echtzeit erfolgen muss, ist es manchmal schwierig, alle Verarbeitungsschritte für die Objekterkennung in der zulässigen Zeit abzuschließen – z. B. innerhalb einer Einzelbildperiode eines Videosignals.
  • Zhao, Y und Chua, T-A, 'Automatic tracking of face sequences in MPEG-Video', Proc CGI-03, S. 152-157, 9. Juli 2003, New Jersey, U.S.A., erläutert die Verfolgung von Gesichtern nur mittels I- und P-Einzelbildern. Dies verringert die Rechnerauslastung. Kapfer, M. et al., 'Detection of human faces in colour image sequences with arbitrary motions for very low bit-rate videophone coding', Pattern Recognition Letters, Bd. 18, Nr. 4, S. 1503-1518, erläutert die Verwendung mehrerer Auflösungstiefen bei der Erkennung.
  • Toyama, K. et al., 'Incremental focus of attention for robust visual tracking', Proc. IEEE Computer vision and pattern recognition, S. 189-195, 1996, Kalifornien, U.S.A., erläutert die Verwendung unterschiedlicher Objektverfolgungsmittel mit zunehmender Auflösungstiefe und begleitender Prozessorberechnung, die auf ein sich vergrößerndes Objekt "aufmerksam" werden.
  • Die vorliegende Erfindung stellt ein Objekterkennungsgerät nach Anspruch 1 bereit, in dem Bilder aus einer geordneten Serie von Bildern zur Erkennung von Objekten verarbeitet werden, wobei jedes Bild eine entsprechende Bildperiode aufweist und eine Anordnung von Bildelementen enthält, und das Gerät gekennzeichnet ist durch: Mittel, die in der Lage sind, einen Erkennungsprozess während der jeweiligen Bildperioden nur auf eine entsprechende vorgegebene Teilmenge der Bildelemente jedes Bildes einer Gruppe von zwei oder mehreren Bildern aus der geordneten Serie anzuwenden; die jeweiligen Teilmengen sind so angeordnet, dass sie sich gegenseitig nicht oder nur kaum über den Bildern aus der so verarbeiteten Serie überlappen.
  • Ein entsprechendes Verfahren ist in dem beigefügten unabhängigen Verfahren in Anspruch 25 ausgeführt.
  • Die zur Erkennung von Bildern (z. B. Gesichtern) erforderlichen Verarbeitungsaufgaben werden aufgeteilt, so dass sich die Aufgaben, die bei jedem Einzelbild durchzuführen sind, verringern. Die Erfindung berücksichtigt, dass sich die Bilder in vielen Fällen ausreichend wenig verändern, so dass immer noch zufriedenstellende Objekterkennungsergebnisse erzielt werden können.
  • Es ist darauf hinzuweisen, dass sich die vorstehende Beschreibung auf eine Testreihenfolge der Bilder bezieht und nicht notwendigerweise auf eine fortlaufende Reihenfolge einer Videosequenz.
  • Verschiedene weitere Aspekte und Eigenschaften der Erfindung ergeben sich aus den beigefügten Ansprüchen.
  • Es werden nun nur beispielhaft Ausführungen der Erfindung anhand der beigefügten Zeichnungen beschrieben, in denen gleiche Teile mit gleichen Ziffern bezeichnet sind, und in denen
  • 1 schematisch ein Mehrzweck-Rechnersystem zur Verwendung als Gesichtererkennungssystem und/oder als nichtlineares Editiersystem zeigt;
  • 2 schematisch einen Videokamera-Rekorder (Camcorder) zur Gesichtererkennung zeigt;
  • 3 schematisch ein Lernverfahren zeigt;
  • 4 schematisch ein Erkennungsverfahren zeigt;
  • 5 schematisch ein Merkmal-Histogramm zeigt;
  • 6 schematisch einen Abtastprozess zur Erzeugung von Eigenblöcken zeigt;
  • 7 und 8 schematisch Sätze von Eigenblöcken zeigen;
  • 9 schematisch einen Prozess zum Aufbau eines Histogramms zeigt, das eine Blockposition darstellt;
  • 10 schematisch die Erzeugung einer Histogramm-Binärzahl zeigt;
  • 11 schematisch die Berechnung einer Wahrscheinlichkeit für ein Gesicht zeigt;
  • 12a bis 12f schematisch Beispiele für Histogramme zeigen, die mittels vorstehender Verfahren erzeugt worden sind;
  • 13a und 13b schematisch die Datenstruktur der Histogramme zeigen;
  • 14 schematisch eine sogenannte Binärkarte mit einem darüber gelegten Gesichtsfenster zeigt;
  • 15a und 15g schematisch die sogenannte Mehrmaßstabs-Gesichtererkennung zeigen;
  • 16 ein Ablaufdiagramm für eine Methode zur Erkennung von Blickrichtungen in einer Mehrmaßstabs-Anordnung zeigt;
  • 17 schematisch ein Bewegungsmeldemittel zeigt;
  • 18a bis 18e schematisch eine Methode zur Erkennung eines Bildbereichs zeigen, in dem sich etwas geändert hat;
  • 19a bis 19c schematisch eine Verbesserung der Methode aus 18a bis 18e zeigen;
  • 20a bis 20c eine räumliche Dezimierungsmethode zeigen;
  • 21a bis 21d eine weitere räumliche Dezimierungsmethode zeigen;
  • 22 einen Gesichterabtast-Algorithmus zeigt;
  • 23a und 23b schematisch die Ableitung eines für die Hautfarbenerkennung verwendeten Suchbereichs zeigen;
  • 24 schematisch eine auf die Hautfarbenerkennung angewandte Maske zeigt;
  • 25a bis 25c schematisch die Verwendung der Maske aus 24 zeigen;
  • 26 schematisch eine Abstandskarte zeigt;
  • 27 schematisch eine Farbmasken-Verarbeitung zeigt;
  • 28 schematisch einen Farbkarten-Aktualisierungsprozess zeigt; und
  • 29a bis 29c schematisch eine Methode zur Gradienten- (Varianz-) Vorverarbeitung zeigen.
  • Die Ausführungen werden anhand der Gesichtererkennung beschrieben, sind aber gleichermaßen nach einer Lernphase mit Vorlagen, welche die entsprechenden Objekte darstellen, für die Erkennung anderer Objekte wie z. B. von Fahrzeugen verwendbar.
  • 1 zeigt schematisch ein Mehrzweck-Rechnersystem zur Verwendung als Gesichtererkennungssystem und/oder nichtlineares Editiersystem. Das Rechnersystem enthält eine Verarbeitungseinheit 10 mit (zusammen mit anderen herkömmlichen Komponenten) einer Zentralverarbeitungseinheit (CPU) 20, Speichermitteln wie einem Random Access Memory (RAM) 30 und einem nichtflüchtigen Speicher wie z. B. einem Plattenlaufwerk 40. Das Rechnersystem kann mit einem Netz 50 wie z. B. einem lokalen Netz oder dem Internet (oder mit beiden) verbunden sein. Eine Tastatur 60, Maus oder ein anderes Eingabegerät 70 und ein Anzeigebildschirm 80 sind ebenfalls vorhanden. Der Fachmann wird erkennen, dass ein Mehrzweck-Rechnersystem viele andere herkömmliche Teile enthalten kann, die hier nicht beschrieben werden müssen.
  • 2 zeigt schematisch einen Videokamera-Rekorder (Camcorder) zur Gesichtererkennung. Der Camcorder 100 enthält eine Linse 110, welche ein Bild auf ein Bildaufnahmegerät 120 mit Ladungsspeicherelement (CCD) fokussiert. Das in elektronischer Form entstehende Bild wird durch eine Bildverarbeitungslogik 130 zur Aufzeichnung auf einem Aufzeichnungsmedium wie z. B. einer Bandkassette verarbeitet. Die mit dem Gerät 120 aufgenommenen Bilder werden auch auf einer Nutzer-Anzeige 150 dargestellt, die durch einen Sucher 160 betrachtet werden kann. Zur Aufnahme von zu den Bildern gehörenden Klängen werden ein oder mehrere Mikrofone verwendet. Dabei kann es sich um externe Mikrofone handeln, welche mit dem Camcorder über ein flexibles Kabel verbunden sind, oder um Mikrofone, die am Camcorder- Gehäuse selbst angeordnet sind. Analoge Audiosignale vom/von den Mikrofonen) werden von einer Audioverarbeitungsanordnung 170 zur Erzeugung von Audiosignalen verarbeitet, die zur Aufzeichnung im Speichermedium 140 geeignet sind.
  • Es wird darauf hingewiesen, dass die Video- und Audiosignale im Speichermedium 140 entweder digital oder analog oder sogar in beiden Formen aufgezeichnet werden können. Folglich können die Bildverarbeitungsanordnung 130 und die Audioverarbeitungsanordnung 170 eine Analog-Digital-Wandler-Stufe enthalten. Der Nutzer des Camcorders kann Aspekte der Leistung der Linse 110 über Nutzer-Bedienelemente 180 steuern, welche eine Linsensteueranordnung 190 zur Aussendung elektrischer Steuersignale 200 an die Linse 110 veranlassen. Auf diese Weise können üblicherweise Attribute wie Brennweite und Zoom, aber auch Blende oder andere Attribute vom Nutzer gesteuert werden.
  • Zwei weitere Nutzer-Bedienelemente sind schematisch dargestellt. Mit einem Druckknopf 210 wird die Aufzeichnung auf dem Aufzeichnungsmedium 140 gestartet und gestoppt. Z. B. könnte mit einem Druck auf das Steuermittel 210 die Aufzeichnung begonnen und mit einem weiteren Druck beendet werden, oder das Steuermittel müsste für die Dauer der Aufzeichnung gedrückt bleiben, oder ein Druck könnte die Aufzeichnung über einen gewissen Zeitraum hinweg, z. B. fünf Sekunden, bewirken. In jeder dieser Anordnungen ist es technisch sehr unkompliziert, über den Aufzeichnungsbetrieb des Camcorders Beginn und Ende jedes Aufzeichnungszeitraums festzulegen.
  • Das andere in 2 schematisch gezeigte Nutzer-Bedienelement ist ein "Markierungsmittel für gute Aufnahmen", das der Nutzer verwendet, um "Metadaten" (assoziierte Daten) zusammen mit dem Video- und Audiomaterial im Speichermedium 140 zu speichern, welche darauf hinweisen, dass diese bestimmte Aufnahme vom Bediener subjektiv in gewisser Hinsicht als "gut" befunden wurde (z. B. die Schauspieler spielten besonders gut; der Nachrichtensprecher sprach seinen Text fehlerfrei usw.).
  • Die Metadaten können je nach verwendetem Format und Standard in einem gewissen Reservebereich (z. B. "Nutzerdaten") im Speichermedium 140 aufgezeichnet werden. Alternativ können die Metadaten in einem separaten Speichermedium wie z. B. einem entfernbaren MemoryStick(RTM) (nicht gezeigt) oder in einer externen Datenbank (nicht gezeigt) gespeichert werden, zu dem sie z. B. über eine drahtlose Verbindung (nicht gezeigt) übertragen werden. Die Metadaten können nicht nur die "Gute Aufnahme"-Informationen, sondern auch die Aufnahme-Begrenzungen, Linsenattribute, vom Nutzer (z. B. über eine Tastatur – nicht gezeigt) eingegebene alphanumerische Daten, geografische Positionsdaten von einem GPS-Empfänger (nicht gezeigt) usw. enthalten. Bisher hat sich die Beschreibung auf einen Camcorder mit Metadaten-Fähigkeit bezogen. Nun wird die Art und Weise beschrieben, in der ein solcher Camcorder für die Gesichtererkennung verwendet werden kann. Es wird natürlich darauf hingewiesen, dass die Methoden auch z. B. für eine vernetzte Kamera wie z. B. eine Internet-Protocol-Kamera (IP-Kamera), eine Videokonferenz-Kamera u. ä. gelten.
  • Der Camcorder enthält eine Gesichtererkennungsmittel-Anordnung 230. Geeignete Anordnungen werden weiter unten im Detail beschrieben, aber für diesen Teil der Beschreibung genügt es zu sagen, dass die Gesichtererkennungsmittel-Anordnung 230 Bilder von der Bildverarbeitungs-Anordnung 130 erhält und erkennt, oder versucht zu erkennen, ob diese Bilder ein oder mehrere Gesichter enthalten. Die Gesichtererkennungsmittel-Anordnung kann Gesichtererkennungsdaten als JA-/NEIN-Flags ausgeben oder detaillierter in Form von Bildkoordinaten der Gesichter wie z. B. die Koordinaten der Augenpositionen innerhalb jedes erkannten Bildes. Diese Daten können als eine weitere Art von Metadaten behandelt und in einem der anderen oben beschriebenen Formate gespeichert werden.
  • Wie nachstehend beschrieben kann die Gesichtererkennung durch die Verwendung anderer Arten von Metadaten innerhalb des Erkennungsprozesses unterstützt werden. Die Gesichtererkennungsmittel-Anordnung 230 empfängt z. B. ein Steuersignal von der Linsensteueranordnung 190, aus dem sich die momentanen Brennweiten- und Zoom-Einstellungen der Linse 110 ergeben. Daraus kann die Gesichtererkennungsmittel-Anordnung zunächst auf die zu erwartende Bildgröße von Gesichtern schließen, die im Bildvordergrund vorhanden sein könnten. In diesem Zusammenhang wird darauf hingewiesen, dass die Brennweiten und die dazwischen liegenden Zoom-Einstellungen den zu erwartenden Abstand zwischen dem Camcorder 100 und einer gefilmten Person wie auch die Vergrößerung der Linse 110 festlegen. Aus diesen beiden Attributen ist es ausgehend von einer durchschnittlichen Gesichtsgröße möglich, die zu erwartende Größe (in Pixel) eines Gesichts in den resultierenden Bilddaten zu berechnen.
  • Ein herkömmliches (bekanntes) Spracherkennungsmittel 240 empfängt Audiodaten von der Audioverarbeitungs-Anordnung 170 und erkennt darin das Vorhandensein von Sprache. Das Vorhandensein von Sprache kann darauf hinweisen, dass die Wahrscheinlichkeit, dass sich in den entsprechenden Bildern ein Gesicht befindet, höher ist, als wenn keine Sprache erkannt wird. Bei einigen später zu erläuternden Ausführungen kann das Spracherkennungsmittel so modifiziert werden, dass es den Standort eines Sprechers durch Erkennung des aktivsten von mehreren Mikrofonen oder bei mehreren Mikrofonen durch Dreiecksaufnahme oder einer ähnlichen Methode bestimmt.
  • Schließlich werden die "Gute Aufnahme"-Informationen und die Aufnahme-Daten (vom Steuermittel 210) an die Gesichtererkennungsmittel-Anordnung 230 als Hinweise auf die Aufnahme-Begrenzungen und jene Aufnahmen übertragen, die der Nutzer als die brauchbarsten erachtet.
  • Wenn der Camcorder auf der Analogaufzeichnungstechnik basiert, können natürlich zusätzliche Analog-/Digitalwandler zur Bearbeitung der Bild- und Audiodaten erforderlich sein.
  • Die vorliegende Ausführung verwendet eine in zwei Phasen angeordnete Gesichtererkennungsmethode. 3 zeigt schematisch eine Lernphase, und 4 schematisch eine Erkennungsphase.
  • Anders als einige früher vorgeschlagene Gesichtererkennungsverfahren (s. Bezugsdokumente 4 und 5 unten) basiert das vorliegende Verfahren auf der Modellierung eines Gesichts in Teilen statt im Ganzen. Die Teile können entweder Blöcke sein, die über den vermuteten Positionen der Gesichtszüge zentriert werden (die sogenannte "selektive Abtastung"), oder Blöcke, die in regelmäßigen Intervallen über dem Gesicht abgetastet werden (die sogenannte "regelmäßige Abtastung"). Die vorliegende Beschreibung befasst sich hauptsächlich mit der regelmäßigen Abtastung, da diese in empirischen Tests zu besseren Ergebnissen geführt hat.
  • In der Lernphase wird eine Serie von Bildern, die nachweislich Gesichter enthalten, sowie (optional) eine weitere Serie von Bildern, die nachweislich keine Gesichter enthalten, einem Analyseprozess unterzogen. Aus dem Analyseprozess ergibt sich ein mathematisches Modell von Gesichtszügen und gesichtsfremden Merkmalen, mit dem ein Testbild später (in der Erkennungsphase) verglichen werden kann.
  • Die Erstellung des mathematischen Modells (der Lernprozess 310 in 3) weist die folgenden grundlegenden Schritte auf:
    Aus einem Satz 300 von Gesichtsaufnahmen, die auf die gleichen Augenpositionen normalisiert worden sind, wird jedes Gesicht in kleinen Blöcken regelmäßig abgetastet.
  • Für jeden Block werden Attribute berechnet; diese Attribute werden weiter unten erläutert.
  • Die Attribute werden zu einer verarbeitbaren Anzahl unterschiedlicher Werte quantisiert.
  • Die quantisierten Attribute werden dann zur Erzeugung eines einzelnen quantisierten Werts bezüglich dieser Blockposition kombiniert.
  • Dieser einzelne quantisierte Wert wird danach in ein wie in 5 schematisch gezeigtes Histogramm eingetragen. Alle Histogrammdaten 320 bezüglich aller Blockpositionen in allen Lernbildern bilden die Grundlage des mathematischen Modells der Gesichtszüge.
  • Ein solches Histogramm wird durch Wiederholung der oben genannten Schritte für jede mögliche Blockposition bezüglich einer großen Anzahl von Test-Gesichtsbildern vorbereitet. Die Testdaten werden in Anhang A unten weiter erläutert. So werden in einem System, das eine Anordnung von 8 × 8 Blöcken verwendet, 64 Histogramme vorbereitet. In einem späteren Abschnitt der Verarbeitung wird ein quantisiertes Testattribut mit den Histogrammdaten verglichen; da ein vollständiges Histogramm zur Modellierung der Daten verwendet wird, müssen keine Annahmen darüber getroffen werden, ob sie einer parametrisierten, z. B. einer Gaußschen oder anderen Verteilung folgen. Um, falls erforderlich, Datenspeicherplatz zu sparen, können ähnliche Histogramme verschmolzen werden, so dass dasselbe Histogramm für verschiedene Blockpositionen wiederverwendet werden kann.
  • In der Erkennungsphase werden zur Anwendung der Gesichtererkennungsmittel-Anordnung 340 auf ein Testbild 350 aufeinanderfolgende Fenster im Testbild wie folgt verarbeitet 340:
    Das Fenster wird als eine Serie von Blöcken regelmäßig abgetastet und Attribute bezüglich jedes Blocks werden wie in den vorstehenden Schritten 1 bis 4 berechnet und quantisiert.
  • Entsprechende "Wahrscheinlichkeiten" für die quantisierten Attributwerte für jede Blockposition werden den entsprechenden Histogrammen entnommen. D. h., für jede Blockposition wird ein entsprechendes quantisiertes Attribut erzeugt und mit einem zuvor für diese Blockposition erzeugten Histogramm verglichen. Die Art und Weise, wie sich aus Histogrammen "Wahrscheinlichkeitsdaten" ergeben, wird weiter unten beschrieben.
  • Alle oben erhaltenen Wahrscheinlichkeiten werden miteinander zu einer endgültigen Wahrscheinlichkeit multipliziert, die mit einem Schwellenwert verglichen wird, um das Fenster als "Gesicht" oder "kein Gesicht" einzuordnen. Es wird darauf hingewiesen, dass das Erkennungsergebnis von "Gesicht" oder "kein Gesicht" auf einem mehr auf Wahrscheinlichkeit basierenden Maß als auf einer absoluten Erkennung beruht. Manchmal kann ein Bild ohne Gesicht fälschlicherweise als "Gesicht" erkannt werden, als sogenanntes Falsch-Positiv. Andererseits kann ein Bild mit Gesicht fälschlicherweise als "kein Gesicht" erkannt werden, als sogenanntes Falsch-Negativ. Es ist ein Ziel eines jeden Gesichtererkennungssystems, den Anteil an Falsch-Positiven und Negativen zu verringern, aber man weiß natürlich, dass eine Reduzierung auf Null mit der derzeitigen Technologie schwierig, wenn nicht unmöglich, ist.
  • Wie bereits erwähnt, kann in der Lernphase ein Satz von "Kein Gesicht"-Bildern zur Erzeugung eines entsprechenden Satzes von "Kein Gesicht"-Histogrammen verwendet werden. Um ein Gesicht dann zu erkennen, kann die von den "Kein Gesicht"-Histogrammen erzeugte "Wahrscheinlichkeit" mit einem separaten Schwellenwert verglichen werden, so dass die Wahrscheinlichkeit beim Testfenster unter dem Schwellenwert liegen muss, damit es ein Gesicht enthält. Alternativ kann das Verhältnis von "Gesicht"-Wahrscheinlichkeit zu "Kein Gesicht"-Wahrscheinlichkeit mit einem Schwellenwert verglichen werden.
  • Zusätzliche Lerndaten können durch Anwendung von "synthetischen Variationen" 330 auf die ursprüngliche Lernserie erzeugt werden, wie z. B. Variationen in Position, Ausrichtung, Größe, Ansichtsverhältnis, Hintergrundszenerie, Beleuchtungsstärke und Häufigkeitsinhalt.
  • Nun folgt eine Erläuterung der Ableitung von Attributen und deren Quantisierung. Bei der vorliegenden Methode werden Attribute anhand ihrer sogenannten "Eigenblöcke" gemessen, welche Kernblöcke (oder Eigenvektoren) sind, die unterschiedliche Arten von Blöcken darstellen, die sich in dem in Fenster unterteilten Bild befinden können. Die Erzeugung von Eigenblöcken wird zunächst anhand 6 beschrieben.
  • Eigenblock-Erzeugung
  • Die Attribute in der vorliegenden Ausführung basieren auf sogenannten Eigenblöcken. Die Eigenblöcke dienen zur guten Darstellung der Blöcke im Lernsatz. Daher wurden sie durch eine Hauptkomponentenanalyse eines großen Satzes von Blöcken im Lernsatz erzeugt. Dieser Prozess ist schematisch in 6 dargestellt und detaillierter in Anhang B beschrieben.
  • System-Lernphase
  • Versuche wurden mit zwei verschiedenen Sätzen von Lernblöcken durchgeführt.
  • Eigenblock-Satz I
  • Zunächst wurde ein Satz von Blöcken verwendet, die aus 25 Gesichtsbildern im Lernsatz genommen wurden. Die 16 × 16 Blöcke wurden jeweils alle 16 Pixel abgetastet und überlappten sich daher nicht. Diese Abtastung ist in 6 dargestellt. Wie zu ersehen ist, werden 16 Blöcke aus jedem 64 × 64 Lernbild erzeugt. Dies ergibt insgesamt 400 Lernblöcke.
  • Die ersten 10 aus diesen Lernblöcken erzeugten Eigenblöcke sind in 7 dargestellt.
  • Eigenblock-Satz II
  • Ein zweiter Satz von Eigenblöcken wurde aus einem weit größeren Satz von Lernblöcken erzeugt. Diese Blöcke wurden von 500 Gesichtsbildern im Lernsatz genommen. In diesem Fall wurden die 16 × 16 Blöcke jeweils alle 8 Pixel abgetastet und überlappten sich folglich um 8 Pixel. So entstanden 49 Blöcke aus jedem 64 × 64 Lernbild und ergaben insgesamt 24500 Lernblöcke.
  • Die ersten 12 aus diesen Lernblöcken erzeugten Eigenblöcke sind in 8 dargestellt. Empirische Ergebnisse zeigen, dass der Eigenblock-Satz II zu geringfügig besseren Ergebnissen führt als Satz I. Das kommt daher, dass er aus einem größeren aus Gesichtsbildern stammenden Lernsatz genommen wurde und deshalb die Variationen in den Gesichtern anscheinend besser darstellt. Die Leistungssteigerung ist jedoch nicht beträchtlich.
  • Erstellung des Histogramms
  • Für jede abgetastete Blockposition innerhalb des 64 × 64 Gesichtsbilds wurde ein Histogramm erstellt. Die Anzahl der Histogramme hängt vom Blockabstand ab. Z. B. gibt es bei einem Blockabstand von 16 Pixel 16 mögliche Blockpositionen und demnach werden 16 Histogramme verwendet.
  • Der Prozess zur Erstellung eines Histogramms für eine einzige Blockposition ist in 9 dargestellt. Die Histogramme werden mittels eines großen Lernsatzes 400 mit M Gesichtsbildern erzeugt. Für jedes Gesichtsbild weist der Prozess auf:
    Extrahierung 410 des relevanten Blocks aus einer Position (i, j) im Gesichtsbild.
  • Berechung der eigenblockbasierten Attribute für den Block und Bestimmung der relevanten Binärzahl 420 aus diesen Attributen.
  • Erhöhung der relevanten Binärzahl im Histogramm 430.
  • Der Prozess wird für jedes der M Bilder im Lernsatz zur Erzeugung eines Histogramms wiederholt, das die Häufigkeitsverteilung des Auftretens der Attribute gut wiedergibt. Idealerweise ist M sehr groß, d. h. mehrere Tausend. Das kann einfacher mittels eines Lernsatzes erreicht werden, der einen Satz von Originalgesichtern und mehrere hundert synthetische Variationen eines jeden Originalgesichts enthält.
  • Erzeugung der Histogramm-Binärzahl
  • Eine Histogramm-Binärzahl wird aus einem vorgegebenen Block mittels des folgenden in 10 gezeigten Prozesses erzeugt. Der 16 × 16 Block 440 wird aus dem 64 × 64 Fenster oder dem 64 × 64 Gesichtsbild extrahiert. Der Block wird auf den Satz 450 aus A Eigenblöcken projiziert, um einen Satz von "Eigenblock-Gewichtungen" zu erzeugen. Diese Eigenblock-Gewichtungen sind die in dieser Ausführung verwendeten "Attribute". Sie reichen von –1 bis +1. Dieser Prozess wird in Anhang B genauer beschrieben. Jede Gewichtung wird in eine festgelegte Anzahl von Ebenen L quantisiert, um einen Satz von quantisierten Attributen 470 zu erzeugen, wi, i = 1 ... A.
  • Die quantisierten Gewichtungen werden wie folgt zu einem einzelnen Wert zusammengefasst: h = w1LA-1 + w2LA-2 + w3LA-3 + ... + wA-1L1 + wAL0 wobei der erzeugte Wert, h, der Histogramm-Binärzahl 480 entspricht. Es ist zu beachten, dass die Gesamtanzahl der Binärzahlen im Histogramm durch LA gegeben ist.
  • Der "Inhalt" der Binärzahl, d. h. die Häufigkeit des Auftretens des diese Binärzahl bedingenden Attributsatzes kann als Wahrscheinlichkeitswert betrachtet werden, wenn er durch die Anzahl der Lernaufnahmen M dividiert wird. Da jedoch die Wahrscheinlichkeiten mit einem Schwellenwert verglichen werden, ist die Teilung durch M eigentlich nicht notwendig, da sich dieser Wert in den Berechnungen aufheben würde. So werden die Binärzahl-"Inhalte" in den folgenden Erläuterungen als "Wahrscheinlichkeitswerte" bezeichnet und ebenso behandelt, obwohl sie in engem Sinn Häufigkeiten des Auftretens bezeichnen.
  • Der obige Prozess wird in der Lernphase und in der Erkennungsphase verwendet.
  • Gesichtererkennungs-Phase
  • Der Prozess der Gesichtererkennung umfasst die Abtastung des Testbilds mit einem sich bewegenden 64 × 64 Fenster und die Berechnung einer Gesichtswahrscheinlichkeit bei jeder Fensterposition.
  • 11 zeigt die Berechnung der Gesichtswahrscheinlichkeit. Die Block-Binärzahl 490 wird für jede Blockposition im Fenster wie im vorhergehenden Abschnitt erläutert berechnet. Mittels des entsprechenden Histogramms 500 für die Position des Blocks wird jede Binärzahl gesucht und die Wahrscheinlichkeit 510 dieser Binärzahl bestimmt. Die Summe 520 der Logarithmen dieser Wahrscheinlichkeiten wird dann über alle Blöcke berechnet, um einen Gesichts-Wahrscheinlichkeitswert Pface zu erzeugen (ansonsten bezeichnet als Logarithmus des Wahrscheinlichkeitswert).
  • Dieser Prozess erzeugt eine "Wahrscheinlichkeitskarte" für das gesamte Testbild. Anders gesagt, es wird ein Wahrscheinlichkeitswert bezüglich jeder möglichen Fenstermittelposition über dem Bild abgeleitet. Die Kombination all dieser Wahrscheinlichkeitswerte in einer rechtwinklig (oder anders) geformten Gruppe wird dann als diesem Bild entsprechende "Wahrscheinlichkeitskarte" betrachtet.
  • Diese Karte wird dann invertiert, so dass Prozess des Findens eines Gesichts das Suchen von Minima in der invertierten Karte beinhaltet (das entspricht natürlich dem Suchen von Maxima in einer nicht invertierten Karte; beides ist möglich). Es wird eine sogenannte abstandsbasierte Methode verwendet. Diese Methoden kann wie folgt zusammengefasst werden: Es wird die Kartenposition (Pixelposition) mit dem kleinsten Wert in der invertierten Wahrscheinlichkeitskarte gewählt. Ist der Wert größer als ein Schwellenwert (TD), werden keine weiteren Gesichter gewählt. Dies ist das Abschlusskriterium. Sonst wird ein Block in der Größe eines Gesichts entsprechend der gewählten Pixelmittelposition ausgeblendet (d. h. in den nachfolgenden Berechnungen ausgelassen) und das Suchverfahren für die Position des betreffenden Gesichts im restlichen Teil des Bildes wiederholt, bis das Abschlusskriterium erreicht ist.
  • Nicht-Gesicht-Verfahren
  • Das Nicht-Gesicht-Modell enthält einen zusätzlichen Satz von Histogrammen, welche die Wahrscheinlichkeitsverteilung von Attributen in Nicht-Gesicht-Bildern darstellen.
  • Die Histogramme werden in genau der gleichen Weise erzeugt wie bei den Gesichtsmodellen, wobei hier die Lernbilder Beispiele von Nicht-Gesichtern anstelle von Gesichtern enthalten.
  • Während der Erkennung werden zwei logarithmische Wahrscheinlichkeitswerte berechnet, wobei für einen das Gesicht-Modell und für den anderen das Nicht-Gesicht-Modell zugrunde gelegt wird. Diese werden dann durch einfache Subtraktion der Nicht-Gesicht-Wahrscheinlichkeit von der Gesicht-Wahrscheinlichkeit kombiniert: Pcombined = Pface – Pnonface Pcombined wird dann anstelle von Pface zur Erzeugung der Wahrscheinlichkeitskarte (vor der Invertierung) verwendet.
  • Es ist zu beachten, dass Pnonface von Pface subtrahiert wird, weil es sich dabei um logarithmische Wahrscheinlichkeitswerte handelt.
  • Außerdem ist zu beachten, dass die Gesicht- und Nicht-Gesicht-Histogramme am Ende des Lernprozesses (vor der Gesichtserkennung) optional durch einfache Aufsummierung der logarithmischen Histogramme kombiniert werden können: Summiertes Histogramm = log (histogramm(face)) + log (histogramm(non_face)) Darum wird nur ein Histogramm für jede Kombination von Blockposition/Blickrichtung/Augenabstand in der nachfolgenden Beschreibung benötigt.
  • Histogrammbeispiele
  • 12a bis 12f zeigen einige Beispiele von Histogrammen, die durch den vorstehend beschriebenen Lernprozess erzeugt wurden.
  • 12a, 12b und 12c wurden aus einem Lernsatz von Gesicht-Bildern abgeleitet, und
  • 12d, 12e und 12f aus einem Lernsatz von Nicht-Gesicht-Bildern.
  • Im Einzelnen:
    Figure 00140001
  • Hier wird deutlich, dass sich die Spitzenwerte im Gesicht-Histogramm und im Nicht-Gesicht-Histogramm an verschiedenen Stellen befinden.
  • Histogramm-Speicherung
  • Wie vorstehend beschrieben speichern die Histogramme statistische Informationen über die Wahrscheinlichkeit eines Gesichts in einem gegebenen Maßstab und an einer Position in einem Bild. Die Anordnung der Histogramme ist jedoch unerwartet signifikant für die Systemleistung. Eine einfache Anordnung kann dazu führen, dass der Zugriff nicht lokalisiert wird (d. h., aufeinanderfolgende Zugriffe sind in der Regel im Speicher weit voneinander entfernt). Dies kann zu einer unzureichenden Leistung des Cache-Speichers führen, wenn dieser mittels Mikroprozessoren oder maßgeschneiderten Prozessoren implementiert ist. Zur Lösung des Problems werden die Histogramme zur besseren Lokalisierung des Datenzugriffs umgeordnet.
  • In der vorliegenden Ausführung gibt es insgesamt sechs Histogramme:
    Figure 00140002
  • In nachstehender Erläuterung entsprechen:
    c dem Wert aus der Binärkarte (einer Karte, welche den Histogrammeintrag für jeden Ort im Bild zeigt) für einen gegebenen Ort im Bild in einem gegebenen Maßstab – im vorliegenden Fall handelt sich um eine Binärzahl aus 9 Bits. Die Binärkarte wird im Voraus berechnet, indem das Bild aus 9 Eigenblöcken zusammengestellt wird, die sich ergebenden 9 Eigenblockgewichtungen quantisiert und zu einem einzelnen Wert zusammengefasst werden;
    x der x-Koordinate innerhalb des Gesichtfensters (zwischen 0 und 6) entspricht; und
    y der y-Koordinate innerhalb des Gesichtfensters (zwischen 0 und 6) entspricht.
  • Das heißt, dass die Histogramme für jede Blickrichtung (z. B. F38) 512 × 7 × 7 Pixel groß sind.
  • F 38 / c,x,y ist der Wert des Histogramms für gegebene c, x und y. Z. B. ist der F 38 / 15.4.5 vom Porträtbild-Histogramm ausgehende Wert mit dem 38-Pixel-Augenabstand an den Koordinaten (4, 5) im Gesichtfenster bei einem Binärkarten-Wert von 15.
  • Eine durchgehende Anordnung des Histogramms im Speicher ist c, dann x, dann y, dann Blickrichtung, und schließlich Augenabstand. Diese Anordnung ist schematisch in 13b dargestellt.
  • Es gibt zwei Gründe für die Cache-Leistungssteigerung, wenn die Histogramme auf die neue Art und Weise angeordnet werden:
    • (i) die Art, wie auf die Blickrichtungen zugegriffen wird; und
    • (ii) die Art, wie sich das Gesicht-Fenster bei der Suche nach einem Gesicht bewegt. Auf die drei verschiedenen Blickrichtungen (links, rechts und Porträt) wird immer mit derselben Binärzahl und denselben Koordinaten für jeden Ort zugegriffen, d. h., wenn auf F 38 / 329.2.1 zugegriffen wird, wird anschließend auch auf L 38 / 329.2.1 und R 38 / 329.2.1 zugegriffen. Diese Blickrichtungen liegen bei dem neuen Verfahren nebeneinander, was zu einer ausgezeichneten Cache-Leistung führt.
  • Das neue Verfahren zur Organisation der Histogramme profitiert auch von der Art, wie sich das Gesichtfenster auf der Suche nach Gesichtern im Bild bewegt. Aufgrund dieser Bewegung des Gesichtfensters wird der gleiche Wert c an vielen (x, y) Orten gesucht.
  • 14 zeigt, welche Werte aus der Binärkarte für die Suche nach einem Gesicht an einem bestimmten Ort verwendet werden. Z. B. ist F 38 / 329.2.1 aus dem Porträtbild-Histogramm der Wert für den Augenabstand 38 am Ort (2, 1) im Gesichtfenster.
  • Man sieht, dass die unterlegten Quadrate um eine Stelle nach rechts verschoben werden, wenn sich das Gesichterkennungs-Fenster zwei Quadrate nach rechts bewegt, d. h., es wird derselbe Wert an einem anderen Ort gesucht. In dem Beispiel aus 14 wird F 38 / 329.2.1 zu F 38 / 329.1.1 sobald das Gesichtfenster um zwei Quadrate nach rechts verschoben worden ist.
  • Da der Algorithmus nach Gesichtern sucht, indem er das Gesichtfenster über das Bild bewegt, sucht er die gleiche Binärkarte an mehreren Orten. D. h., die Cache-Leistung verbessert sich, wenn diese Werte im Speicher nahe beieinander liegen.
  • Eine weitere Verbesserung, die an der Histogramm-Struktur entweder zusammen mit den oben beschriebenen Verbesserungen oder unabhängig davon vorgenommen werden kann, basiert darauf, dass Profilbilder weniger Bits als Porträtbilder benötigen. Die in jedem Histogramm binär gespeicherten Werte werden zu einer unterschiedlichen Anzahl von Bits quantisiert, je nachdem, welche Blickrichtung sie darstellen.
  • Die Anzahl der Bits für jedes der sechs Histogramme ist nachfolgend zusammengefasst:
    Figure 00160001
  • Der Vorteil dabei ist, dass jeder Satz von 3 Histogrammen in zwei statt drei Bytes gespeichert werden kann.
  • Dies ist erwiesenermaßen möglich, weil die Profilbilder für die Gesamtleistung des Algorithmus weniger bedeutsam als die Porträtbilder sind und daher mit geringerer Auflösung ohne große Beeinträchtigung der Genauigkeit dargestellt werden können.
  • Mehrmaßstab-Gesichtserkennung
  • Um unterschiedlich große Gesichter im Testbild zu erkennen, wird das Testbild anhand einer Reihe von Faktoren maßstäblich verändert und für jeden Maßstab eine Abstandskarte (d. h. eine Wahrscheinlichkeitskarte) erzeugt. 15a- bis 15c zeigen die Bilder und ihre entsprechenden Abstandskarten in drei verschiedenen Maßstäben. Das Verfahren liefert im kleinsten Maßstab das beste Ergebnis (höchste Wahrscheinlichkeit oder Mindestabstand) für das große (zentrale) Objekt und bessere Ergebnisse für die kleineren Objekte (links neben der Hauptfigur) bei den größeren Maßstäben. (Eine dunklere Farbe auf der Karte stellt in der invertierten Karte einen niedrigeren Wert dar, oder anders gesagt, eine höhere Wahrscheinlichkeit, dass sich dort ein Gesicht befindet.) Die untersuchten Gesichtspositionen werden in unterschiedlichen Maßstäben extrahiert, indem zunächst die Position gesucht wird, welche in allen Maßstäben zum besten Ergebnis führt. D. h., die höchste Wahrscheinlichkeit (der kürzeste Abstand) wird in allen Wahrscheinlichkeitskarten bei allen Maßstäben bestimmt. Diese mögliche Position wird als erste als Gesicht gekennzeichnet. Das über der Gesichtsposition zentrierte Fenster wird dann für jeden Maßstab in der Wahrscheinlichkeitskarte ausgeblendet. Die Größe des ausgeblendeten Fensters ist proportional zum Maßstab der Wahrscheinlichkeitskarte.
  • Beispiele für diesen skalierten Ausblendungsprozess sind in 15a bis 15c gezeigt. Insbesondere wird die größte Wahrscheinlichkeit bezüglich aller Karten auf der linken Seite der Karte mit dem größten Maßstab (15c) festgestellt. Ein Bereich 530 entsprechend der vermuteten Größe eines Gesichts wird in 15c ausgeblendet. Entsprechend werden in den kleineren Karten skaliert die Bereiche 532 und 534 ausgeblendet.
  • Bereiche, die größer sind als das Testfenster können zur Vermeidung sich überlappender Erkennungen in den Karten ausgeblendet werden.
  • Weitere Gesichter werden erkannt, indem das nächstbeste Ergebnis gesucht und die entsprechenden Fenster nacheinander ausgeblendet werden.
  • Die zwischen den verarbeiteten Maßstäben zulässigen Intervalle werden von der Empfindlichkeit des Verfahrens gegenüber Größenänderungen beeinflusst. Es wurde in dieser vorläufigen Studie über die Maßstabsinvarianz festgestellt, dass das Verfahren nicht übermäßig empfindlich auf Größenänderungen reagiert, da Gesichter, die bei einem gewissen Maßstab zu einem guten Ergebnis führten, oft auch gute Ergebnisse in benachbarten Maßstäben lieferten.
  • Die vorstehende Beschreibung bezieht sich auf die Erkennung eines Gesichts, auch wenn die Größe des Gesichts auf dem Bild zu Beginn des Erkennungsprozesses nicht bekannt ist. Ein weiterer Aspekt in der Gesichtererkennung in mehreren Maßstäben ist die Verwendung von zwei oder mehreren parallel laufenden Erkennungen in mehreren Maßstäben, um den Erkennungsprozess zu validieren. Die kann Vorteile haben, wenn z. B. das zu erkennende Gesicht teilweise verdeckt ist, die Person einen Hut trägt usw. 15d bis 15f zeigen schematisch diesen Prozess. Während der Lernphase lernt das System anhand von Fenstern (die wie oben beschrieben in Blöcke unterteilt sind), welche zur Erzeugung von "Vollgesicht"-Histogrammdaten das gesamte Testgesicht umgeben (15d), sowie anhand von Fenstern in einem größeren Maßstab, die zur Erzeugung "herangezoomter" Histogrammdaten nur einen zentralen Bereich des Testgesichts einschließen (15e). Daraus entstehen zwei Sätze von Histogrammdaten. Ein Satz bezieht sich auf das "Vollgesicht"-Fenster aus 15d und der andere auf die "Zentraler Gesichtsbereich"-Fenster aus 15e.
  • Während der Erkennungsphase wird jedes gegebene Testfenster 536 auf das gleiche Testbild in zwei unterschiedlichen Maßstäben angelegt, so dass in einem (15f) das Testfenster die ganze vermutete Größe des Gesichts umfasst und im anderen den zentralen Bereich eines Gesichts mit der vermuteten Größe. Diese werden jeweils wie oben beschrieben verarbeitet, wobei sie mit den jeweiligen Sätzen von Histogrammdaten verglichen werden, die der Art des Fensters entsprechen. Die logarithmischen Wahrscheinlichkeiten jedes parallel laufenden Prozesses werden addiert, bevor sie mit einem Schwellenwert verglichen werden.
  • Fasst man diese beiden Aspekte der Gesichter-Erkennung in mehreren Maßstäben zusammen, ergibt sich eine besonders elegant reduzierte zu speichernde Datenmenge. Insbesondere sind in diesen Ausführungen die mehrfachen Maßstäbe für die Anordnungen der 15a bis 15c in einer geometrischen Reihe angeordnet. Im vorliegenden Beispiel unterscheiden sich die Maßstäbe in der Reihe um den Faktor vom jeweils benachbarten Maßstab. Dann wird bei dem anhand 15f bis 15g beschriebenen parallelen Erkennungsprozess die Erkennung im zentralen Bereich, in einem 3 Schritte höher liegenden Maßstab durchgeführt, der also 2¾-mal größer ist als der "Vollgesicht"-Maßstab, wobei Attributdaten verwendet werden, die sich auf diesen 3 Schritte höher in der Reihe befindlichen Maßstab beziehen. Außer an den Extremen im Bereich der mehrfachen Maßstäbe bedeutet die geometrische Progression, dass die in 15d bis 15g gezeigte parallele Erkennung immer mit Attributdaten durchgeführt werden kann, die in einem anderen 3 Schritte höher in der Reihe liegenden der mehrfachen Maßstäbe erzeugt worden sind.
  • Die beiden Prozesse (Mehrfachmaßstab-Erkennung und Parallelmaßstab-Erkennung) können auf verschiedene Weise kombiniert werden. Z. B. kann zunächst die Mehrmaßstab-Erkennung aus 15a bis 15c und angewendet werden, gefolgt von der die Parallelmaßstab-Erkennung aus 15d bis 15g in Bereichen (und Maßstäben), die während der Mehrmaßstab-Erkennung identifiziert worden sind. Eine brauchbare und effiziente Nutzung der Attributdaten kann erreicht werden durch: Ableitung von Attributen anhand des Testfensters in jedem Maßstab (15a bis 15c);
    Vergleich dieser Attribute mit den "Vollgesicht"-Histogrammdaten zur Erzeugung eines "Vollgesicht"-Satzes von Abstandskarten;
    Vergleich der Attribute mit den "herangezoomten" Histogrammdaten zur Erzeugung eines "herangezoomten" Satzes von Abstandskarten;
    Kombination der "Vollgesicht"-Abstandskarte in jedem von n Maßstäben mit der "herangezoomten" Abstandskarte im Maßstab n + 3;
    Ableitung von Gesichtspositionen aus den kombinierten Abstandskarten wie oben anhand 15a bis 15c beschrieben.

  • Weitere parallele Tests können zur Erkennung unterschiedlicher Blickrichtungen wie Blick geradeaus nach vorne, teilweise nach oben, nach unten, links, rechts usw. durchgeführt werden. Dies erfordert jeweils einen Satz von Histogrammen, und die Ergebnisse sind vorzugsweise mittels einer "Maximum"-Funktion zu kombinieren, d. h. die Blickrichtung mit der höchsten Wahrscheinlichkeit wird mit dem Schwellenwert verglichen, während die anderen verworfen werden.
  • Verbesserte Verwendung mehrfacher Maßstäbe
  • Der Gesichtserkennungs-Algorithmus liefert viele Wahrscheinlichkeitskarten in vielen Maßstäben; es kommt darauf an, alle Orte im Bild zu finden, an denen die Wahrscheinlichkeit einen gegebenen Schwellenwert überschreitet, wobei sicherzustellen ist, dass sich keine Gesichter überlappen.
  • Ein Nachteil des vorstehend beschriebenen Verfahrens liegt darin, dass es die Speicherung eines vollständigen Satzes von Wahrscheinlichkeitskarten in allen Maßstäben erfordert, was sehr viel Speicherplatz erfordert. Mit der folgenden Methode müssen nicht alle Wahrscheinlichkeitskarten gleichzeitig gespeichert werden. Zusammengefasst: Es wird eine temporäre Liste von möglichen Gesichtspositionen geführt. Während die Wahrscheinlichkeitskarte für jeden Maßstab berechnet wird, werden die Wahrscheinlichkeitsmaxima bestimmt und mit der Liste der möglichen Gesichtspositionen verglichen, um sicherzustellen, dass sich keine Gesichter überlappen.
  • Im Detail: Dieses Verfahren verwendet eine Gesichterliste, in der alle momentanen Orte aufgeführt sind, wo sich ein Gesicht befinden könnte. Jedes Gesicht in der Gesichterliste hat eine Gesichtsposition und einen Gesichtsort. Der Schwellenwert ist die Wahrscheinlichkeitsschwelle, jenseits der ein Objekt als Gesicht angesehen wird. Der Skalierungsfaktor ist der Größenfaktor zwischen aufeinanderfolgenden Maßstäben (1,189207115 oder ∜2 in der vorliegenden Ausführung).
  • Die nachstehende beispielhafte Beschreibung geht von einer Gesichtsgröße von 16 × 16 aus.
  • Der Prozess ist schematisch in dem in 16 gezeigten Ablaufdiagramm dargestellt. Gemäß 16 beginnt der Prozess bei einem Schritt 1400 bezüglich einem der Maßstäbe (im gezeigten Beispiel der kleinste Maßstab). Wenn der Schritt 1400 das erste Mal durchgeführt wird, ist die Gesichterliste leer, aber ganz allgemein wird bei allen Gesichtern in der Gesichterliste die jeweilige Gesichtsgröße im Schritt 1400 durch Multiplikation mit dem Skalierungsfaktor modifiziert. Dies stellt sicher, dass Gesichter, die anhand des vorhergehenden Maßstabs erkannt worden sind, für den gültigen Vergleich mit einem Maximum im momentanen Maßstab größenmäßig korrekt angepasst werden.
  • In einem Schritt 1410 wird der maximale Wahrscheinlichkeitswert mp in der momentanen Karte erkannt.
  • In einem Schritt 1420 wird der maximale Wahrscheinlichkeitswert mp mit dem Schwellenwert verglichen. Ist mp größer als der Schwellenwert, dann geht die Steuerung an einen Schritt 1430 über. Ist andererseits mp nicht größer als der Schwellenwert, dann wird die Verarbeitung der nächsten Karte (entsprechend dem nächsten zu behandelnden Skalierungsfaktor) in einem Schritt 1440 ausgelöst. Zurück zu Schritt 1430: Wenn sich der Ort des Maximalwerts mp innerhalb der Wahrscheinlichkeitskarte im momentanen Maßstab (unter Berücksichtung der aus Schritt 1400 abgeleiteten modifizierten Größen) mit einem Gesicht in der Gesichterliste überlappt (deckt), geht die Steuerung an einen Schritt 1450, sonst an einen Schritt 1460 über.
  • Im Schritt 1450 wird der Wert mp mit einem gespeicherten Wahrscheinlichkeitswert bezüglich des vorhandenen Gesichts verglichen. Ist mp größer als dieser Wahrscheinlichkeitswert, dann wird das vorhandene Gesicht in einem Schritt 1470 gelöscht und es erfolgt ein neuer Eintrag in der Gesichterliste entsprechend dem derzeitigen Wert und Ort von mp. Insbesondere wird der Wert mp bezüglich des neuen Eintrags in der Gesichterliste gespeichert und ein 16 × 16 Pixel großer, über der Bildposition der momentanen maximalen Wahrscheinlichkeit zentrierter Bereich in einem Schritt 1480 als Schwellenwert gesetzt. In einem Schritt 1490 wird der derzeitige momentane Wahrscheinlichkeitswert zur Gesichterliste mit einer Gesichtsgröße von 16 hinzugefügt. Die Steuerung geht dann zu Schritt 1410 zurück. Zurück zu Schritt 1460: Wenn (in Schritt 1430) erkannt wird, dass der Ort der maximalen Wahrscheinlichkeit sich nicht mit einem Gesicht in der Gesichterliste deckt, wird ein neuer Eintrag in der Gesichterliste erzeugt. Wie oben wird in Schritt 1460 der Wert mp gespeichert und ein 16 × 16 großer Bereich um den momentanen Maximalwert als Schwellenwert gesetzt. In einem Schritt 1465 wird die momentane Maximalposition zur Gesichterliste mit einer Gesichtsgröße von 16 hinzugefügt und die Steuerung kehrt zu Schritt 1410 zurück.
  • Wenn in Schritt 1450 erkannt wird, dass der Wert der maximalen Wahrscheinlichkeit mp nicht größer ist als die Wahrscheinlichkeit des vorhanden (überlappenden) Gesichts, geht die Steuerung auf einen Schritt 1455 über, in dem der Bereich des vorhandenen Gesichts als Schwellenwert gesetzt wird und die Steuerung zu Schritt 1410 zurückkehrt.
  • Auf jeder dieser Stufen wird, wenn die Steuerung zu Schritt 1410 zurückkehrt, wieder ein maximaler Wahrscheinlichkeitswert mp erkannt, aber diesmal im Lichte der in den Schritten 1460, 1455 und 1480 vorgenommenen Modifizierungen an den Wahrscheinlichkeitswerten um die erkannten Gesichter. So bestehen die in diesen Schritten modifizierten Werte in der Tat den Test in Schritt 1420 nicht, da kein Wert erkannt wird, der den gesetzten Schwellenwert überschreitet. Folglich stellt Schritt 1420 fest, ob eine andere Position in der korrekten Karte existiert, an welcher der Schwellenwert überschritten wird.
  • Ein Vorteil dieses Verfahrens liegt darin, dass jeder einzelne Maßstab der Wahrscheinlichkeitskarte separat betrachtet werden kann. Nur die Gesichterliste muss zwischen der Verarbeitung der einzelnen Maßstäbe gespeichert werden.
  • Dies hat folgende Vorteile:
    Geringerer Speicherbedarf: Es braucht kein kompletter Satz von Wahrscheinlichkeitskarten gespeichert werden, sondern nur die Gesichterliste, die wesentlich weniger Speicherplatz belegt.
  • Zeitliche Dezimierung: Der Algorithmus kann Verfahren wie die zeitliche Dezimierung verwenden, bei der die Verarbeitung eines Rahmens auf mehrere Zeitschlitze aufgeteilt und nur eine Untermenge von Maßstäben während jedes Zeitschlitzes verarbeitet wird. Dieses Verfahren kann jetzt angewendet werden, wobei nur eine Gesichterliste anstelle des gesamten Satzes der bis dahin berechneten Wahrscheinlichkeitskarten zwischen jedem Aufruf geführt werden muss.
  • Schnellere Suche: Nur jeweils ein Maßstab wird berücksichtigt. Daher brauchen nicht jedes Mal, wenn ein Maximum gefunden wird, Bereiche in allen Maßstäben in einem Satz von Wahrscheinlichkeitskarten ausgeblendet werden.
  • Erkennung von Änderungen
  • In Situationen, in denen Gesichtererkennung in Echtzeit durchgeführt werden muss, ist es manchmal schwierig, das gesamte Gesichtererkennungsverfahren in der zulässigen Zeit abzuschließen – z. B. in einer Bildperiode eines Videosignals.
  • Es wird ein Änderungserkennungsprozess verwendet, um zu erkennen, welche Bildbereiche sich seit dem vorhergehenden Rahmen verändert haben, oder um zumindest bestimmte Bereiche aus dem Gesichtererkennungsverfahren herauszunehmen, die sich erkanntermaßen seit dem vorhergehenden Rahmen nicht verändert haben.
  • Bildbereiche, die sich seit dem vorhergehenden Rahmen nicht verändert haben, brauchen nicht noch einmal nach Gesichtern durchsucht werden, da dies vermutlich zum gleichen Ergebnis wie beim vorhergehenden Rahmen führt. Bildbereiche, die sich geändert haben, müssen allerdings erneut nach Gesichtern durchsucht werden. Diese Bildbereiche werden während der Änderungserkennung als "Interessengebiete" gekennzeichnet.
  • In der vorliegenden Ausführung wird die Änderungserkennung nur in einem einzigen festgelegten Maßstab durchgeführt, z. B. im Maßstab des Originalbildes oder im größten Maßstab, der in der Gesichtererkennung verwendet wird. Der Prozess ist in 17 anhand eines schematisch dargestellten Bewegungsmeldemittels erläutert.
  • Der momentane und der vorhergehende Rahmen werden zunächst mittels Tiefpassfiltern 1100, 1110 verarbeitet. Die beiden Rahmen werden danach einem Differenzierer 1120 zur Erzeugung eines Rahmenunterschiedsbilds zugeführt, z. B. einer Darstellung der absoluten Pixelunterschiede (oder Blockunterschiede) zwischen den Rahmen mit einem Unterschiedswert pro Pixelposition (oder Blockposition). Die absoluten Werte des Unterschiedsbildes werden dann in Schritt 1130 mit einem Schwellenwert Thrdiff zur Erzeugung eines binären Unterschiedsbilds verglichen, d. h. einer Gruppe von 1-Bit-Werten mit einem Wert pro Pixelposition (oder Blockposition): Sehr kleine Unterschiede werden auf Null gesetzt (keine Änderung) und größere Unterschiede auf Eins (Änderung erkannt). Schließlich wird eine morphologische Öffnungsoperation 1140 am binären Unterschiedsbild zur Erzeugung zusammenhängendere Bereiche erkannter Änderung/Bewegung durchgeführt.
  • In der Praxis kann die Tiefpass-Filterung entfallen.
  • Die morphologische Öffnung ist eine bekannte Bildverarbeitungsmethode und wird in diesem Beispiel an einem 3 × 3 großen Bereich durchgeführt (d. h., ein 3 × 3-Block wird als morphohogisch strukturierendes Element verwendet) und enthält eine morphologische Erosionsoperation gefolgt von einer morphologischen Dehnungsoperation. Dazu wird die morphologische Verarbeitung in einem im wesentlichen rasterbasierten System nach der Verarbeitung jeder dritten Zeile durchgeführt.
  • Die Änderumgserkennung kann wie oben beschrieben auf das gesamte Bild zur Erzeugung einer Karte von Bereichen angewendet werden, in denen Änderungen erkannt worden sind. Die Gesichtererkennung wird auf diese Bereiche angewandt. Alternativ kann die Änderungserkennung verwendet werden, um gewisse Bereiche von der Gesichtererkennung auszunehmen, obwohl nicht notwendigerweise alle Bereiche mit oder ohne Bewegung erkannt werden. Diese Methode hat den Vorteil, dass der Verarbeitunsgsbedarf des Änderungserkennungsprozesses reduziert wird, während immer noch potenziell eine brauchbare Einsparung an Verarbeitungsaufwand für die Gesichtererkennung selbst ermöglicht wird. Ein Beispiel für diesen Prozess ist schematisch in 18a bis 18e dargestellt.
  • In 18a wird die Änderungserkennung in einer Raster-Abtast-Anordnung mittels einer Abtastung 1150 von Zeilen (aus Pixel oder Blöcken) von oben links nach unten rechts eines Bildes angewandt. Der grundlegende in 17 gezeigte Prozess (ohne morphologische Verarbeitung und vorzugsweise ohne Tiefpass-Filterung) wird verwendet, und das Bild wird mit dem vorhergehenden Bild verglichen. Bei jedem Abtastpunkt wird der erkannte Unterschied mit dem Schwellenwert Thrdiff verglichen. Die Abtastung 1150 läuft, bis der erkannte absolute Unterschied bezüglich einer Abtast-Position 1160 den Schwellenwert Thrdiff überschreitet. An diesem Punkt endet die Abtastung 1150.
  • Drei ähnliche Abtastungen 1170, 1180, 1190 werden durchgeführt. Abtastung 1170 verläuft horizontal ab der Bildunterseite und endet, sobald eine Abtast-Position 1200 einen absoluten Unterschiedswert über dem Schwellenwert Thrdiff ergibt. Die Abtastung 1180 ist eine vertikal abwärts verlaufende Abtastung beginnend an der linken Bildseite und endet, sobald eine Abtast-Position 1210 einen absoluten Unterschiedswert über dem Schwellenwert Thrdiff ergibt. Und die Abtastung 1190 ist eine vertikal abwärts verlaufende Abtastung beginnend an der rechten Bildseite und endet, sobald eine Abtast-Position 1220 einen absoluten Unterschiedswert über dem Schwellenwert Thrdiff ergibt.
  • Die vier Punkte 1160, 1200, 1210 1220 definieren eine von grafischen Begrenzungslinien umrandete Fläche 1230 in 18e. Insbesondere, sind die Bildkoordinaten eines Punkts nnnn gleich (xnnnn, ynnnn), so ergeben sich die vier Eckpunkte der umrandeten Fläche 1230 aus:
    Figure 00240001
  • Die umrandete Fläche definiert daher nicht alle Bildbereiche, in denen Änderungen erfasst worden sind, sondern einen Bereich (außerhalb der umrandeten Fläche), der von der Gesichtererkennung ausgenommen werden kann, weil dort keine Änderung erkannt worden ist. Der Bereich innerhalb der umrandeten Fläche kann sich potenziell vollständig geändert haben, aber im Normalfall hat sich der Bereich nur in einigen Teilen geändert.
  • Natürlich gibt es mehrere Abwandlungen dieser Methode:
    die Reihenfolge der vier Suchläufe
    die Richtung jedes Suchlaufs (die Pfeile könnten in jedem Schaubild ohne Änderung des Ergebnisses des Algorithmus in die entgegengesetzte Richtung weisen) Sequentielle Abtastung (eine nach der anderen) oder parallele Abtastung (zwei oder mehrere Abtastungen zugleich).
  • In einer in 19a bis 19c schematisch gezeigten Variation werden die beiden vertikalen Abtastungen 1180', 1190' nur bezüglich jener Reihen 1240 durchgeführt, die nicht bereits durch die beiden horizontalen Abtastungen 1150, 1170 eliminiert worden sind. Diese Variation kann den Verarbeitungsaufwand verringern.
  • Die oben beschriebenen Änderungserkennungsmethoden arbeiten wie folgt gut mit den Gesichtererkennungsmethoden zusammen. Die Änderungserkennung beginnt an vier Extremen (Rändern) des Bildes und endet immer, wenn eine Änderung erkannt wird. So wird, potenziell abgesehen vom Randpixel (oder Randblock) oder der Teilreihe/Teilspalte jedes der Änderungserkennungsprozesse, die Änderungserkennung nur bezüglich jener Bildbereiche durchgeführt, die nicht der Gesichtererkennung unterliegen sollen. In gleicher Weise wird die Gesichtererkennung, abgesehen von jenem Randpixel, Randblock oder jener Teilreihe/Teilspalte, nur bezüglich der Bereiche durchgeführt, die nicht der Änderungserkennung unterzogen worden sind. Im Hinblick darauf, dass die Änderungserkennung den Prozessor weniger beansprucht als die Gesichtererkennung, bedeutet diese relativ winzige Überlappung zwischen den beiden Prozessen, dass die Änderungserkennung in fast allen Situationen den Gesamtverarbeitungsbedarf für ein Bild reduziert.
  • Ein anderes Verfahren der Änderungserkennung bezieht sich auf bewegungskodierte Signale wie z. B. MPEG-kodierte Signale oder jene, die zuvor in dieser Form kodiert und für die Gesichtererkennung dekodiert worden sind. Mit den Signalen verbundene Bewegungsvektoren o. ä. können darauf hinweisen, wo eine Änderung zwischen den Bildern stattgefunden hat. Ein Block (z. B. ein MPEG-Makroblock) am Ziel (in einem momentanen Bild) jedes Bewegungsvektors kann als geänderter Bereich gekennzeichnet werden. Dies kann anstatt oder zusätzlich zu den oben beschriebenen Änderungserkennungs-Methoden durchgeführt werden.
  • Ein weiteres Verfahren zur Verringerung des Verarbeitungsbedarfs ist wie folgt: Der Gesichtererkennungsalgorithmus wird in eine Anzahl von Stufen unterteilt, welche in vielen Maßstäben wiederholt werden. Der Algorithmus wird erst nach n Aufrufen beendet. Der Algorithmus wird automatisch aufgeteilt, so dass jeder Aufruf etwa die gleiche Zeit beansprucht. Die wesentlichen Eigenschaften dieses Verfahrens sind: Das Verfahren teilt den Algorithmus automatisch in Teilabschnitte auf, welche die gleiche Verarbeitungszeit benötigen.
  • Auf jeder Stufe wird die Verarbeitungszeit geschätzt, so dass der Algorithmus vor einer gegebenen Stufe zurückkehren kann, falls diese zu viel Zeit beanspruchen würde. Der Algorithmus kann nur am Ende und nicht während einer Stufe zurückkehren. Dies begrenzt den lokal erforderlichen Speicherbedarf und vereinfacht die Steuerung des Programmablaufs.
  • Die Schätzungen der für jede Stufe erforderlichen Verarbeitungszeit könnten automatisch durch Echtzeitmessungen verfeinert werden – obgleich dies gegenwärtig nicht geschieht.
  • Die Verfolgung von Gesichtern kann am Ende jedes Aufrufs erfolgen, so dass die Hautfarben-Verfolgung weiterhin für ein Gesicht durchgeführt wird, auch wenn kein Gesicht an einer neuen Gesichtsposition erkannt worden ist.
  • Alternativ kann die Verfolgung erst im n + 1. Aufruf durchgeführt werden (nach Abschluss aller n Gesichtererkennungs-Aufrufe). D. h., die Verfolgung wird mit geringerer Geschwindigkeit und daher geringerer Genauigkeit durchgeführt, ermöglicht aber, dass der Algorithmus, falls erforderlich, auf eine kürzere Ausführungszeit herunterskaliert werden kann.
  • Die folgende Tabelle zeigt die Reihenfolge, in der die Stufen einer Gesichtersuche über 6 Maßstäbe hinweg ausgeführt werden:
    Figure 00270001
  • Die folgende Tabelle zeigt, was geschehen könnte, wenn eine zeitliche Dezimierung von 4 verwendet wird. Der Algorithmus zerteilt die Verarbeitung automatisch in gleich lange "Bissen" – das wird durch die Tatsache kompliziert, dass die Verarbeitung der vorhergehenden Maßstäbe mehr Zeit erfordert als die Verarbeitung nachfolgender
  • Maßstäbe (die Bilder sind bei den früheren Maßstäben größer). Der Algorithmus schätzt vor der Ausführung den für jede Stufe erforderlichen Zeitbedarf. Diese Schätzung wird von dem jeweiligen Prozess und der bei jedem Maßstab zu verarbeitenden Anzahl der Pixel vorgegeben. Z. B. könnten folgende Schätzungen verwendet worden sein:
    Bewegung 1 pro Pixel
    Varianz 1 pro Pixel
    Dezimierung 2 pro Pixel
    Zusammenführung 3 pro Pixel
    Suche 4 pro Pixel
    Suche nach Maximum 3 pro Pixel
    Figure 00290001
  • Man kann im Voraus berechnen, dass die gesamte Verarbeitung für alle Maßstäbe 18872 Verarbeitungseinheiten erfordert. D. h., das System muss rund 4718 Verarbeitungseinheiten pro Aufruf ausführen, wenn es die Verarbeitung in vier gleiche Bissen aufgeteilt.
  • Vor der Ausführung jeder Stufe berechnet das System, ob dabei die Anzahl der erforderlichen kumulierten Verarbeitungseinheiten einen vorgegebenen Wert (z. B. 5300) überschreiten würde. Falls ja, führt es diese Stufe nicht aus und kehrt stattdessen zum Ausgangspunkt zurück. Der Vorteil gegenüber einer zeitlichen Steuerung liegt darin, dass schon vor der Ausführung bekannt ist, ob die zugewiesene Zeit überschritten würde.
  • Räumliche Dezimierung
  • Die räumliche Dezimierung ist eine weitere Methode zur Verringerung des Verarbeitungsbedarfs bezüglich jedes Bildes.
  • Es werden zwei Beispiele für die räumliche Dezimierung beschrieben: Ein Verfahren durchsucht das Bild in horizontalen Streifen, das andere auf verteilte Art.
  • Die Suche in horizontalen Streifen wurde gewählt, weil die Verarbeitung von Streifen als effektiver gilt, obwohl auch andere Unterteilungen (Quadrate, Spalten usw.) verwendet werden könnten.
  • Es ist auch möglich, die räumliche Dezimierung auf verteilte Art zu regeln. Das ist weniger effizient als die Verwendung von Streifen, kann aber zu besseren Ergebnissen führen, da Gesichter bei jedem Aufruf des Algorithmus immer noch irgendwo im gesamten Bild erkannt werden können.
  • 20a bis 20c zeigen schematisch eine Streifenmethode. In 20a wird keine räumliche Dezimierung verwendet und das gesamte Bild 1300 nach Gesichtern durchsucht. In 20b ist das Bild in zwei Abschnitte 1310, 1320 aufgeteilt. Diese werden jeweils der Gesichtererkennung in abwechselnden Bildern unterzogen. In 20c ist das Bild in drei Abschnitte 1330, 1340, 1350 aufgeteilt, so dass jeder Abschnitt einmal in allen drei Bildern der Gesichtererkennung unterzogen wird. Die Abschnitte können voneinander abgegrenzt sein oder sich leicht überlappen.
  • 21a bis 21d zeigen die sogenannte verteilte Dezimierung.
  • Es werden drei Variable definiert:
    Sparse X ist ein Dezimierungsgrad in horizontaler Richtung. SparseX=1 bedeutet keine horizontale Dezimierung. Bei SparseX=2 werden in jedem Bild abwechselnd Pixel oder Blöcke der Gesichtererkennung unterzogen, so dass jedes Pixel oder jede Blockposition einmal alle zwei Bilder der Gesichtererkennung unterzogen wird usw. Sparse Y entspricht dem Dezimierungsgrad in vertikaler Richtung. UseCheckerBoard wird auf Null gesetzt, wenn die Dezimierung auf aufeinanderfolgende Reihen oder Spalten ausgerichtet ist, und auf Eins, wenn sie zwischen aufeinanderfolgenden Reihen oder Spalten (oder Gruppen von Reihen/Spalten) versetzt ist.
  • Die Beispiele der 21a bis 21d sind wie folgt:
    Figure 00310001
  • Es kann eine Kombination aus räumlicher und zeitlicher Dezimierung verwendet werden. Z. B. könnten diskrete räumliche Abschnitte eines Bildes (z. B. ein Drittel eines Bildes) über eine Anzahl Rahmen verarbeitet werden. Die so verarbeiteten Abschnitte (z. B. die drei Drittel) könnten aus demselben oder von anderen entsprechenden Bildern stammen.
  • Gesichterverfolgung
  • Jetzt wird ein Gesichterverfolgungsalgorithmus beschrieben. Der Verfolgungsalgorithmus dient zur Verbesserung der Gesichtererkennungsleistung in Bildfolgen.
  • Anfängliches Ziel des Verfolgungsalgorithmus ist es, jedes Gesicht in jedem Rahmen einer Bildfolge zu erkennen. Man weiß allerdings, dass ein Gesicht in der Folge manchmal nicht erkannt werden kann. Unter diesen Umständen kann der Verfolgungsalgorithmus zur Interpolation fehlender Gesichtererkennungen beitragen. Schließlich ist es das Ziel der Gesichterverfolgung, die Ausgabe einiger nützlicher Metadaten aus jedem zur selben Szene in einer Bildfolge gehörenden Rahmensatz zu ermöglichen wie z. B.:
    Anzahl der Gesichter.
  • "Fahndungsfoto" von jedem Gesicht (umgangssprachlich für ein Portraitbild, abgeleitet von einem Begriff für ein Bild in den Polizeiakten).
  • Nummer des Rahmens, in dem jedes Gesicht das erste Mal erscheint.
  • Nummer des Rahmens, in dem jedes Gesicht das letzte Mal erscheint.
  • Identität jedes Gesichts (entweder Übereinstimmung mit Gesichtern aus früheren Szenen oder mit einem Eintrag in der Gesichter-Datenbank) – dies erfordert auch eine gewisse Identifizierung von Gesichtern.
  • Der Verfolgungsalgorithmus verwendet als Ausgangspunkt die Ergebnisse des Gesichtererkennungsalgorithmus, der unabhängig von ihm für jeden Rahmen der Bildfolge abläuft. Da der Gesichtererkennungsalgorithmus manchmal Gesichter auslässt (nicht erkennt), ist ein Verfahren zur Interpolation der fehlenden Gesichter nützlich. Dazu wurden ein Kalman-Filter zur Vorhersage der nächsten Position des Gesichts und ein Hautfarbenvergleichsalgorithmus zur Unterstützung der Gesichterverfolgung verwendet. Da der Gesichtererkennungsalgorithmus oft zu falschen Übernahmen von Ergebnissen führt, ist zudem auch ein Verfahren zu deren Zurückweisung nützlich.
  • Der Algorithmus ist schematisch in 22 dargestellt.
  • Der Algorithmus wird nachstehend im Detail beschrieben, aber, zusammenfassend gesagt, werden eingehende Videodaten 545 (welche die Bildfolge darstellen) einem Gesichtererkennungsmittel der in dieser Anwendung beschriebenen Art sowie einem Hautfarbenvergleichsmittel 550 zugeführt. Das Gesichtererkennungsmittel versucht, in jedem Bild ein oder mehrere Gesichter zu erkennen. Sobald ein Gesicht erkannt ist, wird ein Kalman-Filter 560 zur Verfolgung der Position des Gesichts eingerichtet. Das Kalman-Filter erzeugt für dasselbe Gesicht eine vorhergesagte Position im nächsten Bild der Folge. Ein Augenpositions-Vergleichsmittel 570, 580 erkennt, ob das Gesichtererkennungsmittel 540 im nächsten Bild ein Gesicht an dieser Position (oder innerhalb eines gewissen Schwellenabstands von dieser Position) erkennt. Wenn ja, wird das Kalman-Filter mit der erkannten Gesichterposition aktualisiert und der Prozess fortgesetzt.
  • Wird kein Gesicht an oder bei der vorhergesagten Position erkannt, wird ein Hautfarben-Vergleichsmittel 550 verwendet. Dies ist eine weniger genaue Gesichtererkennungsmethode, die auf einen niedrigeren Übernahme-Schwellenwert eingestellt ist als das Gesichtererkennungsmittel 540, so dass es dem Hautfarbenvergleichsmittel möglich ist, ein Gesicht (oder was es dafür hält) zu erkennen, selbst wenn das Gesichtererkennungsmittel an dieser Position nichts erkannt hat. Wird ein "Gesicht" mittels Hautfarbenvergleich erkannt, wird seine Position an das Kalman-Filter als aktualisierte Position übertragen und der Prozess fortgesetzt. Wenn weder das Gesichtererkennungsmittel 450 noch das Hautfarbenvergleichsmittel 550 eine Übereinstimmung erkennen, wird die vorhergesagte Position zur Aktualisierung des Kalman-Filters verwendet.
  • Alle diese Ergebnisse unterliegen Übernahmekriterien (s. u.). So wird z. B. ein Gesicht verworfen, das durch eine Bildfolge auf der Basis einer einzigen positiven Erkennung und danach aufgrund von Vorhersagen oder Hautfarbenübereinstimmungen verfolgt wird.
  • Für die Verfolgung jedes Gesichts verwendet der Verfolgungsalgorithmus jeweils ein separates Kalman-Filter.
  • Um ein Kalman-Filter für die Verfolgung eines Gesichts zu verwenden, muss ein Zustandsmodell für dieses Gesicht erzeugt werden. In diesem Modell wird die Position jedes Gesichts durch einen vierdimensionalen Vektor dargestellt, der die Koordinaten des linken und rechten Auges enthält, die ihrerseits von einer vorgegebenen Beziehung zur Mittelposition des verwendeten Fensters und Maßstabs abgeleitet werden:
    Figure 00330001
    wobei k für die Rahmennummer steht.
  • Der momentane Zustand des Gesichts wird durch seine Position, Geschwindigkeit und Beschleunigung in einem 12-dimensionalen Vektor dargestellt:
    Figure 00330002
  • Erstes Gesicht erkannt
  • Der Verfolgungsalgorithmus greift erst ein, wenn er einen Rahmen mit einem Gesichtererkennungsergebnis erhält, das auf das Vorhandensein eines Gesichts hinweist.
  • Danach wird ein Kalman-Filter für jedes in diesem Rahmen erkannte Gesicht initialisiert. Sein Zustand wird mit der Position des Gesichts und mit dessen Geschwindigkeit und Beschleunigung gleich Null initialisiert:
    Figure 00340001
  • Es werden ihm einige weitere Attribute zugeordnet: Die Zustandsmodellfehler-Kovarianz Q und die Beobachtungsfehler-Kovarianz R. Die Fehlerkovarianz des Kaman-Filters, P, wird ebenfalls initialisiert. Diese Parameter werden nachstehend im Detail erläutert. Zu Beginn des nächstfolgenden und jedes weiteren Rahmens erfolgt ein Vorhersageprozess des Kalman-Filters.
  • Vorhersageprozess des Kalman-Filters
  • Jeder vorhandene Kalman-Filter sagt die nächste Position des Gesichts mittels seiner nachstehend gezeigten Standard-Vorhersagegleichungen vorher. Das Filter verwendet den vorhergehenden Zustand (in Rahmen k-1) und einige weitere interne und externe Variablen zur Schätzung des momentanen Filterzustands (in Rahmen k).
    Zustandsvorhersagegleichung: b(k) = Φ(k, k – 1)ẑa(k – 1) Kovarianzvorhersagegleichung: Pb(k) = Φ(k, k – 1)Pa (k – 1)Φ(k, k – 1)T + Q(k)wobei ẑb(k) den Zustand vor der Aktualisierung des Filters für den Rahmen k bezeichnet, ẑb(k – 1) den Zustand nach der Aktualisierung des Filters für den Rahmen k-1 (oder den initialisierten Zustand, falls es sich um einen neuen Filter handelt), und Φ(k, k – 1) die Zustandsübergangsmatrix darstellt. Verschiedene Zustandsübergangsmatrizen wurden wie nachfolgend beschrieben untersucht. In gleicher Weise bezeichnet Pb(k) die Fehlerkovarianz des Filters vor der Aktualisierung für den Rahmen k und Pa(k – 1) die Fehlerkovarianz des Filters nach der Aktualisierung des Filters für den vorhergehenden Rahmen (oder den initialisierten Wert, falls es sich um einen neuen Filter handelt). Pb(k) kann als eine interne Variable im Filter angesehen werden, die dessen Genauigkeit abbildet.
  • Q(k) ist die Fehlerkovarianz des Zustandsmodells. Ein hoher Wert von Q(k) bedeutet, dass die vorhergesagten Werte des Filterzustands (d. h. die Position des Gesichts) als sehr fehlerbehaftet gelten. Durch Justierung dieses Parameters kann das Verhalten des Filters verändert und möglicherweise für die Gesichtererkennung verbessert werden.
  • Zustandsübergangsmatrix
  • Die Zustandsübergangsmatrix, Φ(k, k – 1), legt fest, wie die Vorhersage des nächsten Zustands erfolgt. Mittels der Gleichungen für die Bewegung kann nachstehende Matrix für Φ(k, k – 1) abgeleitet werden:
    Figure 00350001
    wobei O4 eine 4 × 4-Nullmatrix und I4 eine 4 × 4-Identitätsmatrix darstellen. Δt kann einfach auf 1 gesetzt werden (d.h. Einheiten von t sind Rahmenlängen).
  • Diese Zustandsübergangsmatrix bildet Position, Geschwindigkeit und Beschleunigung ab. De Verwendung der Beschleunigung führte erwiesenermaßen jedoch dazu, dass sich die Gesichtervorhersagen zum Rand des Bildes hin beschleunigten, sobald keine Gesichtererkennung zur Korrektur des vorhergesagten Zustands verfügbar waren. Daher wurde eine einfachere Zustandsübergangsmatrix ohne Verwendung der Beschleunigung bevorzugt:
    Figure 00350002
  • Die vorhergesagten Augenpositionen jedes Kalman-Filters, ẑb(k), werden mit allen Gesichtererkennungsergebnissen (falls vorhanden) im momentanen Rahmen verglichen. Liegt der Abstand zwischen den Augenpositionen unter einem vorgegebenen Schwellenwert, kann die Gesichtererkennung vermutlich dem gleichen Gesicht zugeordnet werden wie dem, das vom Kalman-Filter abgebildet wird. Das Gesichtererkennungsergebnis wird dann als eine Beobachtung y(k) des momentanen Gesichtszustands behandelt:
    Figure 00350003
    wobei p(k) für die Position der Augen im Gesichtererkennungs-Ergebnis steht. Diese Beobachtung wird bei der Aktualisierung des Kalman-Filters zur Korrektur der Voraussage verwendet.
  • Hautfarbenvergleich
  • Der Hautfarbenvergleich wird nicht auf Gesichter angewandt, für welche ein erfolgreiches Gesichtererkennungsergebnis vorliegt. Der Hautfarbenvergleich wird nur bei Gesichtern durchgeführt, deren Position das Kalman-Filter zwar vorhergesagt hat, aber für die kein passendes Gesichtererkennungsergebnis im momentanen Rahmen vorliegt und daher auch keine Beobachtungsdaten, welche zur Aktualisierung des Kalman-Filters beitragen.
  • In einer ersten Methode wird für jedes Gesicht ein über der vorhergehenden Gesichtsposition zentrierter elliptischer Bereich aus dem vorhergehenden Rahmen extrahiert. Ein Beispiel für einen solchen Bereich 600 innerhalb des Gesicht-Fensters 610 ist schematisch in 24 gezeigt. Ein Farbmodell wird mittels der Chrominanz-Daten aus diesem Bereich erstellt, um basierend auf einem Gaußschen Modell eine Schätzung des arithmetischen Mittels und der Kovarianz der Cr- und Cb-Werte zu erzeugen.
  • Anschließend wird ein Bereich um die vorhergesagte Gesichtsposition im momentanen Rahmen durchsucht und wiederum die über einem elliptischen Bereich gemittelte Position, die am besten dem Farbmodell entspricht, ausgewählt. Wenn der Farbvergleich einem vorgegebenen Ähnlichkeitskriterium entspricht, wird diese Position als eine Beobachtung, y(k), des momentanen Zustands des Gesichts ebenso verwendet wie es für die Gesichtererkennungsergebnisse im vorherigen Abschnitt erläutert worden ist.
  • 23a und 23b zeigen schematisch die Erzeugung des Suchbereichs. Insbesondere zeigt 23a schematisch die vorhergesagte Position 620 eines Gesichts innerhalb des nächsten Bildes 630. Beim Hautfarbenvergleich wird ein Suchbereich 640 um die vorhergesagte Position 620 im nächsten Bild nach dem Gesicht durchsucht.
  • Entspricht der Farbvergleich nicht dem Ähnlichkeitskriterium, stehen keine zuverlässigen Beobachtungsdaten für den momentanen Rahmen zur Verfügung. Stattdessen wird der vorhergesagte Zustand, ẑb(k), als Beobachtung verwendet: y(k) = ẑb(k)
  • Die oben erläuterten Hautfarbenvergleichsverfahren verwenden ein einfaches Gaußsches Hautfarbenmodell. Das Modell wird auf ein über dem Gesicht im vorhergehenden Rahmen zentrierten elliptischen Bereich angewandt und dazu verwendet, den am besten passenden elliptischen Bereich im momentanen Rahmen zu finden. Für eine potenziell bessere Leistung wurden jedoch zwei weitere Verfahren entwickelt: ein Farbhistogramm-Verfahren und ein Farbmasken-Verfahren. Diese werden jetzt erläutert.
  • Farbhistogramm-Verfahren
  • Bei diesem Verfahren wird ein Farbhistogramm anstelle eines Gaußschen Modells zur Abbildung der Farbverteilung im verfolgten Gesicht verwendet.
  • Für jedes verfolgte Gesicht im vorhergehenden Rahmen wird ein Histogramm aus Cr- und Cb-Werten innerhalb eines quadratischen Fensters um das Gesicht berechnet. Dazu werden zunächst für jedes Pixel die Cr- und Cb-Werte zu einem einzigen Wert kombiniert, Danach wird ein Histogramm berechnet, das die Häufigkeit des Auftretens dieser Werte im gesamten Fenster misst. Da die Anzahl der kombinierten Cr- und Cb-Werte groß ist (256 × 256 mögliche Kombinationen), werden die Werte vor der Berechnung des Histogramms quantisiert.
  • Nachdem ein Histogramm für ein verfolgtes Gesicht im vorhergehenden Rahmen berechnet worden ist, dient es im momentanen Rahmen für den Versuch, die wahrscheinlichste neue Position des Gesichts zu schätzen, indem der Bildbereich mit der ähnlichsten Farbverteilung gesucht wird. Wie schematisch in 23a und 23b gezeigt, erfolgt dies auf genau die gleiche Weise durch Berechnung eines Histogramms für eine Reihe von Fensterpositionen innerhalb eines Suchbereichs des momentanen Rahmens. Dieser Suchbereich deckt einen vorgegebenen Bereich um die vorhergesagte Gesichtsposition ab. Die Histogramme werden dann verglichen, indem der mittlere quadratische Fehler zwischen dem ursprünglichen Histogramm für das verfolgte Gesicht im vorhergehenden Rahmen und jedem Histogramm im momentanen Rahmen berechnet wird. Die geschätzte Position des Gesichts im momentanen Rahmen wird durch die Position des kleinsten mittleren quadratischen Fehlers angegeben.
  • Dieser Algorithmus kann auf verschiedene Weise modifiziert werden, darunter: Verwendung von drei Kanälen (Y, Cr und Cb) anstelle von zweien (Cr, Cb). Variierung der Anzahl der Quantisierungsebenen.
  • Unterteilung der Fenster in Blöcke und Berechnung eines Histogramms für jeden Block. Damit wird das Farbhistogramm-Verfahren positionsabhängig. Der mittlere quadratische Fehler zwischen jedem Histogrammpaar summiert sich bei diesem V erfahren.
  • Variierung der Anzahl der Blöcke, in welche das Fenster unterteilt wird.
  • Variierung der Blöcke, die tatsächlich genutzt werden – z. B. Weglassen der äußeren Blöcke, die vielleicht nur teilweise Gesicht-Pixel enthalten.
  • Bei den in empirischen Versuchen für diese Methoden verwendeten Testdaten wurden unter den folgenden Bedingungen die besten Ergebnisse erzielt, obwohl unter anderen Bedingungen gleich gute oder sogar bessere Ergebnisse mit anderen Testdaten erzielt werden könnten:
    3 Kanäle (Y, Cr und Cb).
    8 Quantisierungsebenen für jeden Kanal (d. h. das Histogramm enthält 8 × 8 × 8 = 512 Binärzahlen.
    Unterteilung der Fenster in 16 Blöcke.
    Verwendung aller 16 Blöcke.
  • Farbmasken-Verfahren
  • Dieses Verfahren basiert auf dem oben zuerst beschriebenen Verfahren. Es verwendet ein Gaußsches Hautfarbenmodell zur Beschreibung der Pixelverteilung im Gesicht.
  • In dem oben zuerst beschriebenen Verfahren wird ein über dem Gesicht zentrierter elliptischer Bereich zum Farbvergleich zwischen den Gesichtern verwendet, da dies die Menge an Hintergrundpixel reduzieren oder minimieren kann, welche das Modell verschlechtern.
  • Im vorliegenden Farbmaskenmodell wird immer noch ein elliptischer Bereich verwendet, um ein Farbmodell auf das ursprüngliche verfolgte Gesicht im vorhergehenden Rahmen z. B. durch Anwendung des arithmetischen Mittels und der Kovarianz von RGB oder YCrCb (oder alternativ, durch Anwendung eines Standard-Farbmodell wie z. B. einem Gaußschen Modell, s.u.) aufzubringen, um Parameter eines Gaußschen Modells zu setzen. Es wird jedoch nicht für die Suche nach der besten Übereinstimmung im momentanen Rahmen verwendet. Stattdessen wird ein Maskenbereich basierend auf der Pixelverteilung im ursprünglichen Gesicht-Fenster im vorhergehenden Rahmen berechnet. Die Maske wird berechnet, indem 50 % der Pixel im Fenster gesucht werden, die am besten mit dem Farbmodell übereinstimmen. Ein Beispiel dafür ist in 25a bis 25c dargestellt. Insbesondere zeigt 25a schematisch das zuerst getestete Fenster; 25b zeigt schematisch das elliptische Fenster, das zum Aufbringen des Farbmodells verwendet wird; und 25c zeigt schematisch die Maske, die durch 50 % der Pixel definiert ist, die am besten mit dem Farbmodell übereinstimmen.
  • Zur Schätzung der Position des Gesichts im momentanen Rahmen wird ein Suchbereich um die vorhergesagte Gesichtsposition durchsucht (wie zuvor) und für jedes Pixel der "Abstand" vom Farbmodell berechnet. Der "Abstand" bezieht sich auf einen Unterschied vom arithmetischen Mittel, welches in jeder Dimension durch die Varianz in dieser Dimension normalisiert wird. Ein Beispiel für das resultierende Abstandsbild ist in 26 gezeigt. Für jede Position in dieser Abstandskarte (oder- zur Verringerung der Rechenzeit – für einen reduzierten Satz von Musterpositionen) werden die Pixel des Abstandsbilds über einen maskenförmigen Bereich gemittelt. Die Position mit dem kürzesten gemittelten Abstand wird dann als beste Schätzung für die Position des Gesichts in diesem Rahmen gewählt.
  • Dieses Verfahren unterscheidet sich also vom ursprünglichen Verfahren darin, dass ein maskenförmiger Bereich im Abstandsbild anstelle eines elliptischen Bereichs verwendet wird. So kann das Farbvergleichsverfahren sowohl Farb- wie Formdaten nutzen.
  • Zwei Variationen werden vorgeschlagen und wurden in empirischen Erprobungen der Methoden angewandt:
    • (a) Ein Gaußsches Hautfarbenmodell wird mittels des arithmetischen Mittels und der Kovarianz von Cr und Cb aus einem über dem verfolgten Gesicht im vorhergehenden Rahmen zentrierten elliptischen Bereich angelegt.
    • (b) Ein Gaußsches Standard-Hautfarbenmodell wird sowohl zur Berechnung der Maske im vorhergehenden Rahmen und des Abstandsbilds im momentanen Rahmen verwendet.
  • Die Verwendung von Gaußschen Hautfarbenmodellen wird jetzt weiter erläutert. Ein Gaußsches Modell für die Hautfarbenklasse wird mittels der Chrominanz-Komponenten der YCbCr-Farbabstände erstellt. Die Ähnlichkeit zwischen Testpixel und Hautfarbenklasse kann dann gemessen werden. Dieses Verfahren ergibt demnach für jedes Pixel eine Schätzung der Hautfarbenwahrscheinlichkeit unabhängig von den Eigengesicht-Ansätzen.
  • Sei w der Vektor der CbCr-Werte eines Testpixels. Die Wahrscheinlichkeit, dass w zur Hautfarbenklasse S gehört, wird durch eine zweidimensionale Gaußsche Gleichung abgebildet:
    Figure 00400001
    wobei das arithmetische Mittel μs und die Kovarianz-Matrix ΣS der Verteilung (vorher) aus einem Lernsatz von Hautfarbenwerten geschätzt werden.
  • Die Hautfarbenerkennung gilt nicht als effektives Gesichtererkennungs-Verfahren, wenn sie für sich allein angewendet wird. Dies kommt daher, dass es viele Bildbereiche geben kann, die Hautfarben ähneln, aber nicht unbedingt Gesichter sein müssen, z. B. andere Körperteile. Sie kann jedoch zur Leistungssteigerung der eigengesichtbasierten Ansätze dienen, indem ein wie bezüglich des vorliegenden Gesichterverfolgungssystems beschriebener kombinierter Ansatz verfolgt wird. Die Entscheidungen werden gespeichert, ob die Augenpositionen aus der Gesichtererkennung oder die Augenpositionen aus dem Farbvergleich als Beobachtung für das Kalman-Filter akzeptiert werden oder ob keine Beobachtung akzeptiert wird. Sie werden später zur Bewertung der laufenden Gültigkeit der von jedem Kalman-Filter abgebildeten Gesichter verwendet.
  • Variationen des Farbmasken-Verfahrens werden nachstehend anhand 27 und 28 erläutert.
  • Kalman-Filter-Aktualisierungsschritt
  • Der Aktualisierungsschritt dient dazu, eine geeignete Ausgabe des Filters für den momentanen Rahmen basierend auf der Zustandsvorhersage und den Beobachtungsdaten festzulegen. Er aktualisiert auch die internen Filtervariablen basierend auf dem Fehler zwischen dem vorhergesagten und dem beobachteten Zustand.
  • Die folgenden Gleichungen werden im Aktualisierungsschritt verwendet:
    Kalman-Gewinngleichung K(k) = Pb(k)HT(k)(H(k)Pb(k)HT(k) + R(k))–1 Zustandsaktualisierungs-Gleichung a(k) = ẑb(k) + K(k)[y(k) – H(k)ẑb(k)]Kovarianzaktualisierungs-Gleichung Pa(k) = Pb(k) – K(k)H(k)Pb(k)
  • Hier bezeichnet K(k) den Kalman-Gewinn, eine weitere interne Kalman-Filtervariable. Mit ihr wird bestimmt, wie sehr der vorhergesagte Zustand basierend auf dem beobachteten Zustand, y(k), angepasst werden sollte.
  • H(k) ist die Beobachtungsmatrix. Sie bestimmt, welche Teile des Zustands beobachtet werden können. In unserem Fall kann nur die Position des Gesichts und nicht seine Geschwindigkeit und Beschleunigung beobachtet werden, so dass folgende Matrix für H(k) verwendet wird:
    Figure 00410001
  • R(k) ist die Fehlerkovarianz der Beobachtungsdaten. Ähnlich wie Q(k) bedeutet ein hoher Wert von R(k), dass die beobachteten Werte des Filterzustands (d. h. die Gesichtererkennungsergebnisse oder Farbübereinstimmungen) offensichtlich eine hohe Fehlerquote haben. Durch Justierung dieses Parameters kann das Filterverhalten geändert und potenziell für die Gesichtererkennung verbessert werden. Für unsere Experimente wurde ein großer Wert für R(k) relativ zu Q(k) als geeignet erachtet (d. h., die vorhergesagten Gesichtspositionen werden als zuverlässiger als die Beobachtungen behandelt). Es ist anzumerken, dass es zulässig ist, diese Parameter von Rahmen zu Rahmen zu variieren. Daher könnte es ein interessantes zukünftiges Forschungsfeld werden, die relativen Werte von R(k) und Q(k) abhängig davon anzupassen, ob die Beobachtung auf einem Gesichtererkennungsergebnis (zuverlässig) oder einem Farbvergleich (weniger zuverlässig) basiert.
  • Für jedes Kalman-Filter wird der aktualisierte Zustand, ẑa(k), als endgültige Entscheidung zur Gesichtsposition verwendet. Diese Daten werden in die Datei ausgegeben und gespeichert.
  • Nicht übereinstimmende Gesichtererkennungs-Ergebnisse werden als neue Gesichter behandelt. Für jedes von ihnen wird ein neues Kalman-Filter initialisiert. Gesichter werden entfernt,
    wenn sie das Bild über den Rand hinaus verlassen und/oder sie nicht laufend nachgewiesen werden können (sobald die auf Kalman-Filter-Vorhersagen beruhenden Beobachtungen die Gesichtererkennungsergebnisse oder Farbübereinstimmungen stark überwiegen).
  • Für diese Gesichter wird das dazugehörige Kalman-Filter entfernt und es werden keine Daten in die Datei ausgegeben. Als optionale Abweichung von diesem Ansatz können, wenn ein Gesicht offensichtlich das Bild verlässt, die Verfolgungsergebnisse bis zu diesem Rahmen gespeichert und als gültig behandelt werden (vorausgesetzt, die Ergebnisse entsprechen allen anderen Kriterien, die für ihre Validierung gelten).
  • Diese Regeln können formalisiert und durch einige zusätzliche Variable erweitert werden:
    • prediction_acceptance_ratio_threshold Wenn während der Verfolgung eines vorgegebenen Gesichts der Anteil der akzeptierten, vom Kalman-Filter vorhergesagten Gesichterpositionen diesen Schwellenwert überschreitet, wird ein verfolgtes Gesicht verworfen. Dieser Schwellenwert ist derzeit auf 0,8 gesetzt.
    • detection_acceptance_ratio_threshold Wenn in einem letzten Durchlauf durch alle Rahmen der Anteil akzeptierter Erkennungen für ein vorgegebenes Gesicht unter diesen Schwellenwert fällt, wird das verfolgte Gesicht verworfen. Dieser Schwellenwert ist derzeit auf 0,08 gesetzt.
    • min_frames Wenn in einem letzten Durchlauf durch alle Rahmen der Anteil des Auftretens eines vor gegebenen Gesichts weniger als min_frames ist, wird das Gesicht verworfen. Dies tritt wahrscheinlich nur gegen Ende einer Folge auf. Min_frame ist derzeit auf 5 gesetzt.
    • final_prediction_acceptance_ratio_threshold und min_frames2 Wenn in einem letzten Durchlauf durch alle Rahmen die Anzahl des Auftretens eines vorgegebenen verfolgten Gesichts weniger als min_frames2 beträgt UND der Anteil der vom Kalman-Filter vorhergesagten Gesichterpositionen die final_prediction_acceptance_ratio_threshold überschreitet, wird das Gesicht verworfen. Dies tritt wahrscheinlich auch nur gegen Ende einer Folge auf. Final_prediction_acceptance_ratio_threshold ist derzeit auf 0,5 und min_frames2 auf 10 gesetzt.
    • min_eye_spacing Außerdem werden Gesichter jetzt entfernt, wenn sie so verfolgt werden, dass der Augenabstand unter einen vorgegebenen Mindestabstand sinkt. Dies kann geschehen, wenn das Kalman-Filter irrtümlich annimmt, dass der Augenabstand kleiner wird und es keinen anderen Nachweis gibt, z. B. Gesichtererkennungsergebnisse, um diese Vermutung zu widerlegen. Unwiderlegt würde der Augenabstand schließlich gleich Null werden. Als optionale Alternative kann ein Minimum oder eine Untergrenze für den Augenabstand fest eingestellt werden, so dass, falls der erkannte Augenabstand den Mindestabstand erreicht, der Erkennungsprozess mit der Suche nach Gesichtern mit diesem, aber keinem kleineren Augenabstand fortgesetzt wird.
  • Es ist anzumerken, dass der Verfolgungsprozess nicht auf die Verfolgung in einer Videosequenz in zeitlicher Richtung nach vorn beschränkt ist. Angenommen, die Bilddaten bleiben zugänglich (d. h., der Prozess läuft nicht in Echtzeit ab, oder die Bilddaten werden zeitweilig für eine wiederholte Verwendung gepuffert), könnte der gesamte Verfolgungsprozess zeitlich rückläufig durchgeführt werden. Oder, wenn zum ersten Mal ein Gesicht erkannt wird (oft nach der Hälfte in einer Videosequenz), könnte der Verfolgungsprozess in beiden zeitlichen Richtungen initiiert werden. Als eine weitere Option könnte der Verfolgungsprozess eine Videosequenz in beiden zeitlichen Richtungen durchlaufen, wobei die Ergebnisse kombiniert werden, so dass (z. B.) ein den Akzeptanzkriterien entsprechendes verfolgtes Gesicht als gültiges Ergebnis ungeachtet der Verfolgungsrichtung übernommen wird.
  • Es folgt die Erläuterung einiger weiterer Regeln, die auf die Gesichter-Verfolgung angewendet werden können.
  • Alternative/zusätzliche Regeln für Start/Fortsetzung einer Gesichtersuche
  • In den oben beschriebenen Verfahren wird ein Gesicht nach jeder Gesichtererkennung verfolgt, die nicht mit einem bereits vorhandenen Erkennungsergebnis übereinstimmt. Dies könnte zu vielen Falscherkennungen führen, die irrtümlich über mehrere Rahmen verfolgt werden, bevor sie endgültig aufgrund einer der bestehenden Regeln (z. B. prediction_acceptance_ratio_threshold) verworfen werden.
  • Auch sind die Regeln für das Verwerfen einer Verfolgung (z. B. prediction_acceptance_ratio_threshold, detection_acceptance_ratio_threshold) unscharf im Hinblick auf die Verfolgung einer Person, die ihren Kopf eine längere Zeit abwendet. In der Realität ist es oft sinnvoll, diese Person weiter zu verfolgen.
  • Der erste Teil der Lösung hilft zu verhindern, das falsche Erkennungen zu irrtümlichen Verfolgungen führen.
  • Eine Gesichtsverfolgung wird zwar immer noch intern für jede Gesichtererkennung ausgelöst, welche nicht mit einer laufenden Verfolgung übereinstimmt. Dies wird jedoch nicht vom Algorithmus ausgegeben.
  • Damit diese Verfolgung fortgesetzt wird, müssen die ersten f Rahmen bei der Verfolgung Gesichtererkennungen sein (d. h. vom Typ D). Sind alle ersten f Rahmen vom Typ D, wird die Verfolgung fortgesetzt und die Gesichtspositionen werden vom Algorithmus ab Rahmen f ausgegeben. Sind alle ersten n Rahmen nicht vom Typ D, wird die Gesichter-Verfolgung beendet, und es werden für diese Verfolgung keine Positionen ausgegeben. f wird normalerweise auf 2, 3 oder 5 gesetzt.
  • Der zweite Teil der Lösung ermöglicht die langzeitige Verfolgung von Gesichtern im Profil statt sie aufgrund eines niedrigen detection_acceptance_ratio zu beenden. prediction_acceptance_ratio_theshold und detection_acceptance_ratio_threshold werden in diesem Fall nicht gesetzt. Stattdessen besteht die Option, folgendes Kriterium zur Fortsetzung einer Gesichterverfolgung aufzunehmen: Alle n Rah
    men sind g aufeinanderfolgende Gesichtererkennungen zur Fortsetzung der Gesichterverfolgung erforderlich, wobei g normalerweise auf einen ähnlichen Wert wie f gesetzt wird, z. B. 1–5 Rahmen, und n der maximalen Anzahl von Rahmen entspricht, für die wir eine Person verfolgen wollen, sobald sie sich von der Kamera abwendet, z. B. 10 Sekunden (= 250 oder 300 Rahmen, je nach Bildfolgefrequenz). Dies kann auch mit den Regeln prediction_acceptance_ratio_theshold und detection_acceptance_ratio_threshold kombiniert werden. Alternativ können prediction_acceptance_ratio_theshold und detection_acceptance_ratio_threshold rollierend angewendet werden, z. B. nur auf die letzten 30 Rahmen statt von Beginn der Verfolgung an.
  • Schwellenwertregel für Farbabweichungen
  • In den oben beschriebenen Verfahren wird die Hautfarbe des Gesichts nur während der Hautfarbenverfolgung geprüft. Das bedeutet, dass falsch erkannte nicht hautfarbene Bereiche verfolgt werden können oder die Gesichterverfolgung mittels der vorhergesagten Gesichtsposition in nicht hautfarbene Bereiche abwandern könnte.
  • Um dies ungeachtet der Art der Akzeptanz des Gesichts (Erkennung, Hautfarbe oder Kalman-Filter-Vorhersage) zu beheben, wird seine Hautfarbe geprüft. Wenn der Abstand der Hautfarbe eine bad_colour_threshold überschreitet, wird die Gesichterverfolgung beendet.
  • Ein effizienter Weg, dies umzusetzen, ist die Verwendung des während der Hautfarbenverfolgung für jedes Pixel berechneten Hautfarbenabstands. Wenn dieses über den Gesichtsbereich (je nach verwendetem Hautfarbenverfolgungsverfahren entweder über einen maskenförmigen oder einen elliptischen Bereich oder über das gesamte Gesichtsfenster) gemittelte Maß einen festgelegten Schwellenwert überschreitet, wird die Gesichterverfolgung beendet.
  • Validierung anhand der Interessenbereichskarte
  • Bei anderen hier beschriebenen Verfahren wird über ein Interessenbereichs-Vorverarbeitungsmittel sichergestellt, welche Bildbereiche eine nicht gesichtsähnliche Varianz aufweisen. Dies wird in jedem Maßstab wiederholt, und diese Bereiche werden dann von der Gesichtererkennungsverarbeitung ausgenommen. Jedoch ist es immer noch für ein mittels Hautfarbenverfolgung erkanntes oder vom Kalman-Filter vorhergesagtes Gesicht möglich, sich in einen hohen oder niedrigen (nicht gesichtsähnlichen) Varianzbereich des Bildes zu bewegen.
  • Um dies während der Varianz-Vorverarbeitung zu beheben, werden die Varianzwerte (oder Gradientenwerte) für die Bereiche um vorhandene Gesichter-Verfolgungen gespeichert.
  • Sobald die endgültige Entscheidung zur nächsten Position des Gesichts gefallen ist (bei jeder Akzeptanzart, entweder Gesichter-Erkennung, Hautfarbe oder Kalman-Filter-Vorhersage), wird die Position anhand der gespeicherten Varianzwerte (oder Gradientenwerte) in der Interessensbereichskarte validiert. Wenn sich herausstellt, dass die Position eine sehr hohe oder sehr niedrige Varianz (oder einen sehr hohen oder sehr niedrigen Gradienten) aufweist, gilt sie als nicht gesichtsähnlich, und die Gesichterverfolgung wird beendet. Dadurch wird vermieden, dass Gesichterverfolgungen in niedrige (oder hohe) Varianz-Hintergrundbereiche des Bildes abwandern. Alternativ wird die Varianz der neuen Gesichtsposition erneut berechnet (nützlich, wenn keine Varianz-Vorverarbeitung verwendet wird).
  • Es ist anzumerken, dass das verwendete Varianzmaß entweder die herkömmliche Varianz oder die Summe von Unterschieden benachbarter Pixel (Gradient) oder anderweitig varianzartig sein kann.
  • Das schematisch in 22 gezeigt Verfolgungssystem weist drei weitere Merkmale auf.
  • Aufnahmebegrenzungsdaten 560 (mit der getesteten Bildfolge verbundene oder in der Kamera aus 2 erzeugte Metadaten) definieren die Begrenzungen jeder zusammengehörigen Aufnahme innerhalb der Bildfolge. Das Kalman-Filter wird an Aufnahmebegrenzungen zurückgesetzt und kann keine Voraussage auf eine nachfolgende Aufnahme übertragen, da diese Voraussage bedeutungslos wäre. Nutzer-Metadaten 542 und Kameraeinstellungs-Metadaten 544 werden dem Gesichter-Erkennungsmittel als Eingabe zugeführt. Sie können auch in einem System verwendet werden, das nicht der Objekt-Verfolgung dient. Beispiele für Kameraeinstellungs-Metadaten wurden oben beschrieben. Nutzer-Metadaten können folgende Informationen beinhalten:
    • – Art des Programms (z. B. Nachrichten, Interview, Schauspiel)
    • – Skriptinformationen wie Spezifizierungen "Totale" "Nahaufnahme" usw. (bestimmte Arten von Kameraeinstellungen, die zu einer erwarteten Teilmenge von Gesichtsgrößen führen), Anzahl der bei jeder Aufnahme erfassten Personen (was wiederum zu einer erwarteten Teilmenge von Gesichtsgrößen führt) usw.
    • – Sportbezogene Informationen – Sportarten werden oft aus stationären Kamerapositionen heraus mit Standard-Perspektiven und -Aufnahmen gefilmt). Durch die Spezifizierung dieser Informationen in den Metadaten kann wiederum eine Teilmenge von Gesichtsgrößen abgeleitet werden.
  • Die Art des Programms ist relevant für die Art des Gesichts, das in den Bildern oder in der Bildfolge zu erwarten ist. Z. B. würde man in einer Nachrichtensendung in weiten Teilen der Bildfolge ein einziges Gesicht erwarten, das einen Bereich von, sagen wir, 10 % des Bildschirms ausfüllt. Die Erkennung von Gesichtern in unterschiedlichen Maßstäben kann anhand dieser Daten gewichtet werden, so dass Gesichtern in etwa dieser Größe eine erhöhte Wahrscheinlichkeit zugeordnet wird. Eine weitere Alternative oder ein zusätzlicher Ansatz sind, den Suchbereich zu verkleinern, so dass anstelle der Suche nach Gesichtern in allen möglichen Maßstäben nur eine Teilmenge von Maßstäben durchsucht wird. Dies kann den Verarbeitungsbedarf des Gesichtererkennungsprozesses verringern. In einem softwarebasierten System kann die Software schneller und/oder mit einem leistungsschwächeren Prozessor ablaufen. In einem hardwarebasierten System (das z. B. eine anwendungsspezifische integrierte Schaltung (ASIC) oder eine vom Anwender programmierbare Gatteranordnung (FPGA) enthalt) kann der Hardwarebedarf reduziert werden.
  • Die anderen Arten der oben erwähnten Nutzer-Metadaten können ebenfalls auf diese Weise angewandt werden. Die Teilmengen an "erwarteter Gesichtsgröße" können z. B. in einer im Speicher 30 gehaltenen Verweistabelle gespeichert werden.
  • Die Kamera-Metadaten, z. B. momentane Brennweiten- und Zoomeinstellungen der Linse 110, können ebenfalls das Gesichtererkennungsmittel unterstützen, indem sie einen anfänglichen Hinweis auf die zu erwartende Bildgröße jedes Gesichts geben, das im Vordergrund des Bildes zu sehen sein mag. Dazu ist anzumerken, dass die Brennweiten- und die dazwischenliegenden Zoomeinstellungen den zu erwartenden Abstand zwischen dem Camcorder 100 und einer gefilmten Person bestimmen sowie die Vergrößerung der Linse 110. Aus diesen beiden Attributen ist es auf der Basis einer durchschnittlichen Gesichtsgröße möglich, die zu erwartende Größe (in Pixel) eines Gesichts in den resultierenden Bilddaten zu berechnen, was wiederum zu einer Teilmenge von Größen für die Suche oder einer Gewichtung der zu erwartenden Gesichtsgrößen führt.
  • Vorteile des Verfolgungsalgorithmus
  • Die Gesichter-Verfolgungsmethode weist drei große Vorzüge auf
    • – Sie ermöglicht fehlende Gesichter mittels Kalman-Filterung und Hautfarben-Verfolgung in Rahmen einzufügen, für die keine Gesichtererkennungsergebnisse vorliegen. Dies erhöht die reale Akzeptanzrate in der Bildfolge.
    • – Sie verbindet Gesichter: Durch die erfolgreiche Verfolgung eines Gesichts weiß der Algorithmus automatisch, ob ein in einem zukünftigen Rahmen erkanntes Gesicht zur selben oder einer anderen Person gehört. So können aus diesem Algorithmus auf einfache Weise Szene-Daten generiert werden, welche die Anzahl der Gesichter in der Szene und die Rahmen, in denen sie vorhanden sind, enthalten und ein repräsentatives "Fahndungsfoto" für jedes Gesicht bereitstellen.
    • – Falsche Gesichtserkennungen werden eher verworfen, da solche Erkennungen kaum von einem Bild zum nächsten übernommen werden.
  • Die oben beschriebenen Ausführungen beziehen sich auf ein Gesichtserkennungssystem (einschließlich Lern- und Erkennungsphasen) und seine möglichen Verwendungen in einem Kamera-Rekorder und einem Editiersystem. Es ist darauf hinzuweisen, dass es viele andere Verwendungsmöglichkeiten für solche Methoden gibt, z. B. u. a. Sicherheitsüberwachungssysteme, Medienverwaltung im allgemeinen (wie Magnetbildaufzeichnungs-Controller), Videokonferenzsysteme u.ä.
  • Variationen bei Farbmasken-Methoden
  • Diese Variationen können einzeln oder, wo technisch angebracht, kombiniert angewendet werden.
  • Variation 1: Ein Gaußsches Standard-Hautfarbenmodell wird zur Berechnung des Farbabstandswerts für jedes Pixel im Bild verwendet (zu Erzeugung einer Farbabstandskarte). Wird ein Gesicht erkannt, wird sein durchschnittlicher Abstand vom Standardwert über einen maskenförmigen Bereich berechnet. Bei der Validierung zukünftiger farbverfolgter Gesichter (oder erkannter oder vom Kalman-Filter vorhergesagter Gesichter) wird die Suche nach dem Gesicht beendet, wenn der Abstand vom Standard-Farbmodell über einen vorgegebenen Toleranzwert hinausgeht. Das bedeutet (a), dass die gleichen Farbabstandswerte für alle Gesichtsverfolgungen verwendet werden können (es ist kein gesondertes Modell für jedes einzelne Gesicht erforderlich, da wir das Standard-Farbmodell statt der speziellen Gesichtsfarbe verwenden) und (b), dass die Verfolgung, wenn sie vom Gesicht weg in einen andersfarbigen Hintergrund abwandert, beendet statt fortgesetzt wird.
  • Variation 2: Anstelle eines Standard-Farbmodells wird für jedes Gesicht ein anderes Farbmodell verwendet, das auf der Farbe des jeweiligen Gesichts beruht, sobald dieses das erste Mal erkannt wird. Danach werden bei der Berechnung der Farbabstandskarte unterschiedliche Farbmodellparameter in unterschiedlichen Bildbereichen je nach der Position jedes Gesichts im vorhergehenden Rahmen verwendet. Die Farbabstandswerte können zu einer gewichteten Summe in Bereichen zwischen zwei Gesichtern zusammengeführt werden. Dadurch kann die Farbverfolgung genauer anhand der tatsächlichen Farbe jedes Gesichts angepasst werden, ohne mehr als einen Farbabstandswert für jede Pixelposition im Bild berechnen zu müssen.
  • Variation 3: Statt eines Standard-Farbmodells oder separater Farbmodelle für jedes einzelne Gesicht wird ein allgemeines Farbmodell auf der Basis der durchschnittlichen Farbe aller erkannten Bilder aus dem vorhergehenden Rahmen aufgebracht.
  • Variation 4: Beim Durchsuchen der Farbabstandskarte nach dem Mindestdurchschnittsabstand von der Hautfarbe mittels eines quadratischen kopfgroßen Fensters geben Bereiche innerhalb der Maske einen positiven und jene außerhalb der Maske einen negativen Beitrag. Das bedeutet, dass flache hautfarbene Bereiche einen Nettoabstand von der Hautfarbe gleich Null haben sollten. Außerdem bedeutet dies, dass die Fähigkeit des Maskenverfahrens zur Erkennung der Formübereinstimmung verstärkt wird. Im oben beschriebenen Verfahren wurden nur Bereiche innerhalb der Gesichtsmaske verwendet.
  • Variation 5: Die Farbabstandskarte wird zuerst auf zwei Ebenen quantisiert, so dass jedes Pixel entweder Hautfarbe (1) oder keine Hautfarbe (–1) repräsentiert. Dies verhindert, dass sich die Größe der Farbabstandswerte übermäßig auf den Abstand aus der Hautfarbenberechnung auswirkt, d. h., in der Kombination mit Variation 4 oben haben Pixel, deren Farbe sehr stark von der Hautfarbe abweicht, keinen übermäßigen Einfluss.
  • Variation 6: Die Hautfarbenmaske wird in kleineren Schritten aktualisiert. Eine neue Maske wird zu 90 % aus der Maske aus dem vorhergehenden Rahmen und mit einer Gewichtung von nur 10 % aus der Maske aus dem momentanen Rahmen berechnet. Damit können Probleme vermieden werden, die sich aus vorübergehenden teilweisen Okklusionen wie z. B. Hände, die das Gesicht kurz verdecken, oder Probleme aufgrund von sich sehr langsam bewegenden Personen ergeben.
  • Die vorstehend beschriebene Hautfarbenverfolgungsmethode beruhte auf dem Vergleich der Farbabstandsmaske des Gesichts im vorhergehenden Rahmen mit der des momentanen Rahmens. Es gibt drei Aspekte dieses Verfahrens, welche zumindest durch einige dieser Variationen verbessert werden könnten:
    • (i) Im Falle von partiellen Okklusionen (z. B. eine Hand vor einem Gesicht) ist es möglich, dass die Hand anstelle des Gesichts weiterverfolgt wird.
    • (ii) Da die Gesichter anhand eines groben Rasters (gemäß der Gesichtsgröße) verfolgt werden, kann die Farbabstandskarte langsam vom Gesicht "wegrutschen", wenn es sich langsam bewegt.
    • (iii) Da nur hautfarbenähnliche Bereiche berücksichtigt werden, kann eine gute
  • Übereinstimmung nur auf einer flachen Hautfarbenregion gefunden werden. Variation 6, in der die Farbabstandsmaske für das Gesicht nur langsam aktualisiert wird, betrifft die Aspekte (i) und (ii). Variation 5, die (iii) betrifft, sucht nicht nur eine gute Übereinstimmung für hautfarbene Bereiche innerhalb der Gesichtsmaske, sondern berücksichtigt auch nicht hautfarbene Bereiche.
  • Im Detail: Aus der Farbabstandskarte aus dem vorgehenden Rahmen wird eine Binärmaske wird für jedes Gesicht an dem Ort des Gesichts innerhalb dieses Rahmens berechnet. Jedes Element der Maske ist entweder "1", wenn es unter dem durchschnittlichen Farbabstandswert für die gesamte Maske liegt (d. h. es ist hautfarben), sonst "0" (nicht hautfarben).
  • Eine Suche wird über das Suchfenster mittels der Binärmaske durchgeführt. An jedem Punkt innerhalb des Suchfensters wird ein Wert berechnet, indem alle Farbabstandswerte, an denen die Maske "1" ist, addiert und alle Farbabstandswerte, an denen die Maske "0" ist, subtrahiert werden. Als beste Übereinstimmung gilt die Position, an der die Maske den kleinsten summierten Farbabstandswert ergibt.
  • Die momentane Farbabstandskarte (für Rahmen n) wird für jedes Gesicht im Bild (vgl. 28) durch Addition von 90 % der alten Farbabstandskarte am alten Ort 1500 des Gesichts und 10 % der neuen Farbabstandskarte an der neuen Gesichtsposition 1510 aktualisiert.
  • Dadurch wird die Farbabstandsmaske für jedes Gesicht allmählich geändert. Wenn also das Gesicht teilweise verdeckt wird, ändert das verdeckende Objekt die Farbabstandsmaske nur unerheblich, so dass sich der Vergleichsprozess sehr wahrscheinlich noch auf das ursprüngliche Gesicht und nicht auf das verdeckende Objekt bezieht.
  • Ein weiterer Effekt dieses Verfahrens ist, dass ein sich langsam bewegendes Gesicht immer noch erfolgreich verfolgt werden kann, selbst wenn die Suche nur entlang eines groben Rasters durchgeführt wird. Der Grund dafür wird bei der Betrachtung des folgenden Szenarios deutlich:
    Angenommen, die Suche wird mittels des vorstehenden Verfahrens entlang eines 4 × 4-Rasters durchgeführt (d. h. sie kann höchstens bis auf 4 Pixel genau sein). Wenn sich das Gesicht um 1 Pixel bewegt, findet der Suchalgorithmus das Gesicht am gleichen (vorherigen) Ort. Da die Farbabstandskarte nach vier Rahmen komplett durch die neue ersetzt worden ist, wenn sich das Gesicht weiterhin um 1 Pixel pro Rahmen bewegt, wird das Gesicht immer noch am ursprünglichen Ort gefunden, auch wenn es sich jetzt um 4 Pixel hätte weiterbewegen sollen – anders gesagt, die Maske ist vom Gesicht "weggerutscht".
  • Bei Verwendung des Verfahrens nach Variation 6, in welchem die Farbabstandsmaske langsam aktualisiert wird, verwendet der Suchalgorithmus nach 4 Rahmen immer noch eine Farbabstandskarte mit einer gewissen Erinnerung an den Ort, wo sich das Gesicht vor vier Rahmen befand. D. h., der Suchalgorithmus kann schlussfolgern, dass sich das Gesicht tatsächlich um 4 Pixel weiterbewegt hat.
  • Eine weitere Leistungssteigerung kann durch Quantisierung der Farbabstandskarte in zwei Ebenen erzielt werden, wenn die Karte gemäß Variation 5 mit der Binärmaske durchsucht wird.
  • Jedes Pixel in der Karte wird auf –1 gesetzt, wenn es unter dem durchschnittlichen Farbabstandswert der Maske liegt, und auf +1, wenn es darüber liegt (der "durchschnittliche Farbabstandswert der Maske" bezieht sich auf den durchschnittlichen Farbabstand des Gesichtsfensters, bevor es für den Aufbau der Maske in "Einsen" und "Nullen" quantisiert wurde.
  • Dann wird wie zuvor an jedem Punkt innerhalb des Suchfensters ein Wert berechnet, indem alle Farbabstandswerte, an denen die Maske gleich "1" ist, addiert und alle Farbabstandswerte, an denen die Maske gleich "0" ist, subtrahiert werden.
  • Dies bedeutet zusammenfassend, dass jeder Pixelort innerhalb des Gesichtsfensters den folgenden Beitrag basierend auf Maskenwert und Bildfarbabstandswert aufweist:
    Figure 00520001
  • An jeder Position im Suchfenster werden diese Werte berechnet und zu einem gesichtsgroßen Fenster summiert. Wie zuvor gilt als beste Übereinstimmung jener Pixelort, an dem sich der niedrigste Wert ergibt, d. h. dort, wo die Maske am besten mit dem Bild übereinstimmt.
  • Dieses Verfahren verhindert, dass sich die Größe der Farbabstandswerte nicht übermäßig auf den Abstand aus der Hautfarbenberechnung auswirkt, so dass Pixel, deren Farbe sehr stark von der Hautfarbe abweicht, keinen übermäßigen Einfluss ausüben.
  • Gesichterverfolgung und Dezimierung
  • In einem System, das die Dezimierung, insbesondere die oben beschriebene zeitliche Dezimierung nutzt, kann es sein, dass nach der Verarbeitung eines Rahmens einige Rahmen lang kein definitives Gesichtererkennungsergebnis zur Verfügung steht. In diesem Fall könnte die Hautfarbenverfolgung für solche Rahmen verwendet werden, für welche die zeitliche Dezimierung bedeutet, dass keine Gesichtererkennung verfügbar ist. Die Regeln bezüglich der Anzahl von erforderlichen aufeinanderfolgenden Gesichtererkennungen u.ä. würden angemessen gelockert. Wenn die räumliche Dezimierung bedeutet, dass ein Ergebnis nur bezüglich eines Teils des Bildes verfügbar ist, könnte die Gesichterverfolgung entweder durchgeführt werden, sobald ein vollständiges neues Ergebnis erzielt wurde, oder bei jedem Bild auf der Basis der besten zu dem Zeitpunkt verfügbaren Informationen bezüglich des ganzen Bildes.
  • Gradienten-Vorverarbeitung
  • 29a bis 29c zeigen schematisch eine Gradienten-Vorverarbeitungsmethode.
  • Es ist bereits angemerkt worden, dass Bildfenster, welche eine geringe Pixelvariation aufweisen, möglicherweise durch eine Gesichtererkennungsanordnung basierend auf Eigengesichtern oder Eigenblöcken als Gesichter erkannt werden können. Daher wird ein Vorverarbeitungsschritt vorgeschlagen, mit dem Bereiche mit geringer Pixelvariation aus dem Gesichtererkennungsprozess entfernt werden. Im Fall eines Mehrmaßstabs-Systems (s. o.) kann der Vorverarbeitungsschritt in jedem Maßstab ausgeführt werden.
  • Der grundlegende Prozess ist ein "Gradienten-Test", der über das gesamte Bild auf jede mögliche Fensterposition angewendet wird. Für jede Fensterposition wird eine vorgegebene Pixelposition, wie z. B. das Pixel in oder am nächsten an der Mitte dieser Fensterposition, in Abhängigkeit von den Ergebnissen des für dieses Fenster angewandten Tests gekennzeichnet. Wenn der Test ergibt, dass ein Fenster eine geringe Pixelvariation aufweist, wird dieses Fenster im Gesichtererkennungsprozess nicht verwendet.
  • Ein erster Schritt ist in 29a dargestellt. Es wird ein Fenster an einer willkürlichen Fensterposition im Bild gezeigt. Wie bereits erwähnt, wird die Vorverarbeitung an jeder möglichen Fensterposition wiederholt. Obwohl die Gradienten-Vorverarbeitung auf das ganze Fenster angewendet werden könnte, wurde mit Bezug auf 29a festgestellt, dass bessere Ergebnisse erzielt werden, wenn sich die Vorverarbeitung auf einen zentralen Bereich 1000 des Testfensters 1010 bezieht.
  • Gemäß 29b wird ein gradientenbasiertes Maß aus dem Fenster (oder aus dem zentralen Bereich des Fensters, wie in 29a gezeigt) abgeleitet, welches den Durchschnitt der absoluten Differenzen zwischen allen benachbarten Pixel 1100 in horizontaler wie vertikaler Richtung über das gesamte Bild hinweg darstellt. Jede Fenstermittelposition wird mit diesem gradientenbasierte Maß zur Erzeugung einer "Gradientenkarte" des Bildes gekennzeichnet. Diese Gradientenkarte wird dann mit einem Gradienten-Schwellenwert verglichen. Alle Fensterpositionen, für welche das gradientenbasierte Maß unter dem Gradienten-Schwellenwert liegt, werden aus dem Gesichtererkennungsprozess für dieses Bild herausgenommen.
  • Alternative gradientenbasierte Maße, wie Pixelvarianz oder die mittlere absolute Pixeldifferenz von einem mittleren Pixelwert, könnten verwendet werden.
  • Das gradientenbasierte Maß wird vorzugsweise bezüglich Pixelhelligkeitswerten vorgenommen, könnte natürlich aber auch auf andere Bildkomponenten eines Farbbildes angewendet werden.
  • 29c zeigt schematisch eine aus einem Beispielbild abgeleitete Gradientenkarte. Hier wird ein Bereich mit niedrigeren Gradienten 1070 (schattiert) von der Gesichtererkennung ausgenommen und nur der Bereich mit höheren Gradienten 1080 verwendet. Die oben beschriebenen Ausführungen haben sich auf ein Gesichtererkennungssystem (einschließlich Lern- und Erkennungsphasen) und seine möglichen Verwendungen in einem Videokamera-Rekorder oder Editiersystem bezogen. Es ist darauf hinzuweisen, dass es viele andere Verwendungsmöglichkeiten für solche Methoden gibt, z. B. u. a. Sicherheitsüberwachungssysteme, Medienverwaltung im allgemeinen (wie Magnetbildaufzeichnungs-Controller), Videokonferenzsysteme, IP-Kameras, digitale Standbildkameras u.ä.
  • In anderen Ausführungen können Fensterpositionen mit großen Pixeldifferenzen ebenso gekennzeichnet und auch aus dem Gesichtererkennungsprozess herausgenommen werden. Eine "große" Pixeldifferenz bedeutet, dass das oben anhand 29b erläuterte Maß einen oberen Schwellenwert überschreitet.
  • So wird wie vorstehend beschrieben eine Gradientenkarte erzeugt. Alle Positionen, für welche das Gradientenmaß unter dem zuvor erwähnten (ersten) Gradienten-Schwellenwert liegt, werden von der Gesichtserkennungsverarbeitung ebenso ausgenommen wie alle Positionen, für welche das Gradientenmaß den oberen Schwellenwert überschreitet.
  • Es ist bereits erwähnt worden, dass die Verarbeitung bezüglich eines "unteren" Schwellenwerts vorzugsweise für einen zentralen Teil 1000 des Testfensters 1010 anzuwenden ist. Das Gleiche kann auf die Verarbeitung bezüglich eines "oberen" Schwellenwerts zutreffen. Dies würde bedeuten, dass nur ein einziges Gradientenmaß bezüglich jeder einzelnen Fensterposition abgeleitet werden muss. Alternativ, wenn das gesamte Fenster bezüglich des unteren Schwellenwerts getestet wird, kann es in ähnlicher Weise für den Test bezüglich des oberen Schwellenwerts verwendet werden. Wiederum braucht nur ein einziges Gradientenmaß für jede Fensterposition abgeleitet werden. Es ist jedoch natürlich möglich, zwei verschiedene Anordnungen zu verwenden, so dass (z. B.) ein zentraler Teil 1000 des Testfensters 1010 für die Ableitung des Gradientenmaßes für den Test bezüglich des unteren Schwellenwerts genutzt wird, aber das gesamte Testfenster bezüglich des oberen Schwellenwerts.
  • Ein weiteres zuvor erwähntes Kriterium für das Verwerfen einer Gesichterverfolgung ist, dass Varianz oder Gradientenmaß sehr niedrig oder hoch sind.
  • Bei dieser Methode wird eine verfolgte Gesichtsposition durch ihre Varianz von der Interessenbereichs-Karte validiert. Nur ein gesichtsgroßer Bereich der Karte im erkannten Maßstab wird pro Gesicht für die nächste Verfolgungsiteration gespeichert. Trotz der oben beschriebenen Gradienten-Vorverarbeitung kann sich ein Gesicht, dass aufgrund der Hautfarbe oder der Vorhersage des Kalman-Filters verfolgt wird, in einen (nicht gesichtsähnlichen) Bildbereich mit niedriger oder hoher Varianz bewegen. So werden während der Gradienten-Vorverarbeitung die Varianzwerte (oder Gradientenwerte) für die Bereiche um vorhandene Gesichtsverfolgungen gespeichert. Sobald die endgültige Entscheidung zur nächsten Position des Gesichts gefallen ist (bei jeder Akzeptanzart, entweder Gesichter-Erkennung, Hautfarbe oder Kalman-Filter-Vorhersage), wird die Position anhand der gespeicherten Varianzwerte (oder Gradientenwerte) in der Interessensbereichskarte validiert. Wenn sich herausstellt, dass die Position eine sehr hohe oder sehr niedrige Varianz (oder einen sehr hohen oder sehr niedrigen Gradienten) aufweist, gilt sie als nicht gesichtsähnlich und die Gesichter-Verfolgung wird beendet. Dadurch wird vermieden, dass Gesichterverfolgungen in niedrige (oder hohe) Varianz-Hintergrundbereiche des Bildes abwandern.
  • Alternativ, selbst wenn die Gradienten-Vorverarbeitung nicht verwendet wird, kann die Varianz der neuen Gesichtsposition erneut berechnet werden. In jedem Fall kann das verwendete Varianzmaß sich entweder auf die herkömmliche Varianz oder auf die Summe von Differenzen benachbarter Pixel (Gradienten) oder auf jedes andere varianzartige Maß beziehen.
  • Kombination von Varianz-Vorverarbeitung und Änderungserkennung
  • Wie bereits erwähnt, werden mit der Änderungserkennungsmethode ein oder mehrere rechtwinklige grafische Begrenzungslinien um die Bereiche mit erkannten Bewegungen platziert (oder um zumindest Bereiche ohne erkannte Bewegungen auszuschließen). Diese Begrenzungslinien werden dann in alle Maßstäbe skaliert, in denen die Gesichtererkennung durchgeführt werden soll.
  • Die Interessensbereichsentscheidung, die gewissermaßen eine Entscheidung ist, in welchen Bereichen die Gesichtererkennung durchgeführt werden soll, basiert aus den Ausgaben der Varianz-Vorverarbeitungs- und den Änderungserkennungs-Prozessen. Im Gesichtererkennungsalgorithmus müssen nur jene Bildbereiche verarbeitet werden, die
    • (i) während der Varianz-Vorverarbeitung als mögliche Gesichtsbereiche ausgewählt und
    • (ii) während der Änderungserkennung als Bereiche mit erkannten Bewegungen gekennzeichnet worden sind.
  • Daher kombiniert die Interessenbereichs-Entscheidungslogik die Interessenbereiche aus den Varianz-Vorverarbeitungs- und Änderungserkennungs-Modulen zu einem endgültigen Interessenbereich. Diese werden in jedem Maßstab von einer oder mehreren grafischen Begrenzungslinien oder (ohne Einschränkung auf grafische Begrenzungslinien) von einer Mehrmaßstab-"Interessenbereichskarte" eingegrenzt, wobei jede Pixelposition entweder als ein oder kein Interessenbereich gekennzeichnet wird.
  • Für den Gesichtererkennungsalgorithmus ist es auch nützlich zu wissen, in welchen der nicht verarbeiteten Bereiche eine "fehlende Änderung" erkannt wurde, so dass die Gesichtererkennungsergebnisse aus dem vorhergehenden Rahmen für diese Bereiche wiederholt werden können. Daher wird diese Information auch an das Gesichtererkennungsmittel weitergegeben.
  • Es ist darauf hinzuweisen, dass die oben erläuterten Ausführungen der Erfindung natürlich zumindest teilweise mittels eines software-gesteuerten Datenverarbeitungsgeräts implementiert werden können. Z. B. können eine oder mehrere der schematisch dargestellten oder oben beschriebenen Komponenten in Form eines softwaregesteuerten Mehrzweck-Datenverarbeitungsgeräts oder eines maßgeschneiderten programmgesteuerten Datenverarbeitungsgeräts wie z. B. einer anwendungsspezifischen integrierten Schaltung, einer vom Anwender programmierbaren Gatteranordnung o.ä. implementiert werden. Es ist darauf hinzuweisen, dass ein Rechnerprogramm, welches eine solche Software- oder Programmsteuerung und ein Speicher-, Übertragungs- oder ein anderes Bereitstellungsmittel zur Speicherung dieses Rechnerprogramms liefert, als Aspekte der vorliegenden Erfindung vorgesehen sind.
  • Die Liste der Bezugsdokumente sowie Anhänge folgen. Um jeden Zweifel auszuräumen wird darauf hingewiesen, dass Liste und Anhänge Bestandteile der vorliegenden Beschreibung sind.
  • Bezugsdokumente
    • H. Schneidermann und T. Kanade, "A statistical model for 3D object detection applied to faces and cars", IEEE Conference on Computer Vision and Pattern Detection, 2000. H. Schneidermann und T. Kanade, "Probabilistic modelling of local appearance and spatial relationships for object detection," IEEE Conference on Computer Vision and Pattern Detection, 1998.
    • H. Schneidermann, "A statistical approach to 3D object detection applied to faces and cars", Dissertation, Robotics Institute, Carnegie Mellon University, 2000.
    • E. Hjelmas und B. K. Low, "Face Detection: A Survey", Computer Vision and Image Understanding", No. 83, S. 236–274, 2001.
    • M.-H. Yang, D. Kriegman und N. Ahuja, "Detecting Faces in Images: A Survey", IEEE Trans. on Pattern Analysis and Machine Intelligence, Bd. 24, Nr. 1, S. 34–58, Januar 2002.
  • Anhang A: Gesichter-Lernsätze
  • Unsere Datenbank enthält viele tausend Bilder von Objekten vor einem Innenraum-Hintergrund. Eine weitere in Experimentalanordnungen für die obigen Methoden verwendete Lern-Datenbank enthält über zehntausend 8-Bit-Grauskala-Bilder von menschlichen Köpfen mit Blickrichtungen nach vorne bis rechts und links. Der Fachmann wird natürlich wissen, dass diverse unterschiedliche Lernsätze verwendet werden könnten, welche optional auf die Gesichtsmerkmale einer lokalen Bevölkerung zugeschnitten sind.
  • Anhang B: Eigenblöcke
  • Im Eigengesicht-Ansatz zur Gesichtererkennung und Identifizierung (Bezugsdokumente 4 und 5) wird jedes m-mal-n große Bild so umgeordnet, dass es durch einen Vektor mit dargestellt wird. Jedes Bild kann dann als ein Punkt in einem mn-dimensionalen Raum angesehen werden. Ein Satz von Bildern bildet dann eine Ansammlung von Punkten in diesem großen Raum ab.
  • Sich in ihrer Gesamtkonfiguration ähnelnde Gesichtsbilder sind nicht willkürlich in diesem mn-dimensionalen Bildraum verteilt und können folglich mittels eines relativ klein-dimensionalen Unterraums beschrieben werden. Über die Hauptkomponentenanalyse können die Vektoren gefunden werden, welche die Verteilung der Gesichtsbilder innerhalb des gesamten Bildraums am besten wiedergeben.
  • Die Hauptkomponentenanalyse umfasst die Bestimmung der primären Eigenvektoren der den ursprünglichen Gesichtsbildern entsprechenden Kovarianzmatrix. Diese Vektoren legen den Unterraum von Gesichtsbildern, oft als Gesichtsraum bezeichnet, fest. Jeder Vektor repräsentiert ein m-mal-n großes Bild und ist eine lineare Kombination der ursprünglichen Gesichtsbilder. Da die Vektoren die Eigenvektoren der den ursprünglichen Gesichtsbildern entsprechenden Kovarianzmatrix sind und weil sie gesichtsähnlich aussehen, werden sie oft als Eigengesichter [4] bezeichnet.
  • Nach seiner Vorlage wird ein unbekanntes Bild in den Gesichtsraum projiziert. Auf diese Weise wird es als gewichtete Summe von Eigengesichtern ausgedrückt.
  • In den vorliegenden Ausführungen wird ein eng verwandter Ansatz verwendet, um sogenannte "Eigenblöcke" oder auf Blöcke des Gesichtsbilds bezogene Eigenvektoren zu erzeugen und anzuwenden. Ein Raster von Blöcken wird auf das Gesichtsbild (im Lernsatz) oder auf das Testbild (in der Erkennungsphase) angewandt, und ein auf Eigenvektoren basierender Prozess, sehr ähnlich dem Eigengesicht-Prozess, wird bei jeder Blockposition angewandt. (Oder in einer alternativen Ausführung wird zur Verringerung des Datenverarbeitungsaufwands der Prozess ein einziges Mal auf die Gruppe von Blockpositionen angewandt, wobei ein Satz von Eigenblöcken zur Verwendung an jeder Bockposition erzeugt wird.) Der Fachmann weiß, dass einige Blöcke, wie z. B. der Block in der Bildmitte, der häufig die Nasenkontour repräsentiert, mehr Bedeutung für die Entscheidung haben, ob ein Gesicht vorliegt.
  • Berechnung von Eigenblöcken
  • Die Berechnung von Eigenblöcken weist die folgenden Schritte auf:
    • (1). Es wird ein Lernsatz mit NT Bildern verwendet. Diese werden in jeweils m × n große Bildblöcke unterteilt. So erhält man für jede Blockposition einen Satz von Bildblöcken, einen von dieser Position in jedem Bild:
      Figure 00590001
    • (2). Ein normalisierter Lernsatz aus Blöcken
      Figure 00590002
      wird wie folgt berechnet: Jeder Bildblock, I ' / o, aus dem ursprünglichen Lernsatz wird auf ein Mittel von Null und eine L2-Norm von 1 zur Erzeugung eines entsprechenden normalisierten Bildblocks, I', normalisiert. Für jeden Bildblock I ' / o, t = 1 .. NT
      Figure 00590003
      (d. h. die L2-Norm von (I ' / o – mean_I ' / o)
    • (3). Ein Lernsatz von Vektoren
      Figure 00590004
      wird durch eine lexikografische Umordnung der Pixelelemente jedes Bildblocks, I', gebildet. Jeder m-mal-n große Bildblock, I', wird zu einem Vektor, x', der Länge N = nm umgeordnet.
    • (4). Der Satz von Abweichungsvektoren,
      Figure 00590005
      wird berechnet. D besteht aus N Reihen und NT Spalten.
    • (5). Die Kovarianzmatrix, Σ, wird berechnet: Σ = DDT Σ ist eine symmetrische Matrix der Größe N × N.
    • (7). Der ganze Satz von Eigenvektoren, P, und Eigenwerten, λi, i = 1, ..., N, der Kovarianzmatrix, Σ, ergibt sich durch Lösung der Gleichung: A = P'TΣP
  • Hier ist A eine N × N Diagonalmatrix mit den Eigenwerten, λi, entlang ihrer Diagonale (der Größe nach geordnet), und P ist eine N × N Matrix, die den Satz von N Eigenvektoren mit jeweils der Länge N enthält. Diese Zerlegung ist auch als Karhunen-Loeve-Transformation (KLT) bekannt.
  • Man kann die Eigenvektoren als einen Satz von Merkmalen betrachten, welche zusammen die Variation zwischen den Blöcken der Gesichtsbilder charakterisieren. Sie bilden eine orthogonale Basis, durch die ein Bildblock dargestellt werden kann, d. h., im Prinzip kann jedes Bild durch eine gewichtete Summe der Eigenvektoren fehlerfrei dargestellt werden.
  • Wenn die Anzahl der Datenpunkte im Bildraum (die Anzahl der Lernbilder) geringer ist als die Dimension des Raums (NT < N), dann gibt es nur NT sinnvolle Eigenvektoren. Die übrigen Eigenvektoren verfügen über zugehörige Eigenwerte gleich Null. Weil normalerweise NT < N ist, sind daher alle Eigenwerte, für die i > NT gilt, gleich Null.
  • Weil außerdem die Bildblöcke im Lernsatz in ihrer Gesamtkonfiguration ähnlich sind (sie werden alle von Gesichtern abgeleitet), charakterisieren nur einige der verbleibenden Eigenvektoren sehr große Unterschiede zwischen den Bildblöcken. Dies sind die Eigenvektoren mit den größten dazugehörigen Eigenwerten. Die anderen verbleibenden Eigenvektoren mit kleineren dazugehörigen Eigenwerten charakterisieren keine so großen Unterschiede und sind daher für die Erkennung von Gesichtern oder deren Unterscheidung nicht brauchbar.
  • So werden in der Hauptkomponentenanalyse nur die M Haupteigenvektoren mit den größten Eigenwerten betrachtet, wobei M < NT, d. h., es wird eine partielle KLT vorgenommen. Kurz gesagt, die Hauptkomponentenanalyse extrahiert auf Basis der KLT einen geringer-dimensionalen Unterraum, der den größten Eigenwerten entspricht.
  • Da die Hauptkomponenten die stärksten Variationen zwischen den Gesichtsbildern beschreiben, können sie ihrem Aussehen nach Gesichtsblöcke darstellen und werden hier als Eigenblöcke bezeichnet. Der Begriff Eigenvektoren könnte ebenso gut verwendet werden.
  • Gesichtererkennung mittels Eigenblöcken
  • Die Ähnlichkeit eines unbekannten Bildes mit einem Gesicht, oder seine Gesichtlichkeit, kann gemessen werden, indem man feststellt, wie gut das Bild durch den Gesichtsraum dargestellt wird. Dieser Prozess wird Block für Block durchgeführt, wobei das gleiche Blockraster wie im Lernprozess verwendet wird.
  • Die erste Stufe dieses Prozesses enthält die Projektion des Bildes in den Gesichtsraum.
  • Projektion eines Bildes in den Gesichtsraum
  • Vor der Projektion eines Bildes in den Gesichtsraum werden viele der Vorverarbeitungsschritte am Bild ebenso durchgeführt wie zuvor am Lernsatz:
    • (1). Man erhält einen Testbildblock der Größe m × n: Io.
    • (2). Der ursprungliche Testbildblock, Io, wird auf ein Mittel von Null und eine L2-Norm von 1 zur Erzeugung des normalisierten Testbildblocks, I, normalisiert:
      Figure 00610001
      (d. h. die L2-Norm von (Io – mean_Io)
    • (3). Die Abweichungsvektoren werden durch eine lexikografische Umordnung der Pixelelemente des Bildes berechnet. Das Bild wird in einen Abweichungsvektor. x', der Länge N = mn umgeordnet.
  • Nach diesen Vorverarbeitungsschritten wird der Vektor, x, in den Gesichtsraum mittels des folgenden einfachen Schritts projiziert:
    • (4). Die Projektion in den Gesichtsraum umfasst die Transformation des Abweichungsvektors, x, in seine Eigenblockkomponenten. Dies umfasst eine einfache Multiplikation mit den M Haupteigenvektoren (den Eigenblöcken), Pi, i = 1, ..., M. Jede Gewichtung y; ergibt sich wie folgt: yi = PTi xwobei Pi der i. Eigenvektor ist.
  • Die Gewichtungen yi, i = 1, ..., M, beschreiben den Beitrag jedes Eigenblocks zur Darstellung des eingegebenen Gesichtsblocks.
  • Ähnlich aussehende Blöcke haben ähnliche Sätze von Gewichtungen, während verschieden aussehende Blöcke unterschiedliche Sätze von Gewichtungen aufweisen. Daher werden hier die Gewichtungen als Merkmalvektoren zur Klassifizierung von Gesichtsblöcken in der Gesichtererkennung verwendet.

Claims (30)

  1. Objekterkennungsgerät (100), in welchem Bilder aus einer geordneten Folge von Bildern verarbeitet werden, um Objekte zu erkennen, wobei jedes Bild eine entsprechende Bildperiode aufweist und eine Anordnung von Bildelementen enthält, und das Gerät gekennzeichnet ist durch: Mittel (230), die in der Lage sind, einen Erkennungsprozess während der jeweiligen Bildperioden nur auf eine entsprechende vorgegebene Teilmenge (1310, 1320, 1330, 1340, 1350) der Bildelemente jedes Bildes einer Gruppe von zwei oder mehreren Bildern aus der geordneten Serie anzuwenden; wobei die jeweiligen Teilmengen so angeordnet sind, dass sie sich gegenseitig nicht oder nur kaum über den Bildern aus der so verarbeiteten Serie überlappen.
  2. Gerät nach Anspruch 1, in dem die Bildfolge ein Videosignal ist.
  3. Gerät nach Anspruch 1 oder 2, in dem die Bildgruppe eine zusammenhängende Gruppe in der geordneten Folge ist.
  4. Gerät nach einem der vorstehenden Ansprüche, in dem sich innerhalb einer Gruppe von Bildern die Teilmengen der Bildelemente nicht überlappen.
  5. Gerät nach Anspruch 4, in dem eine Teilmenge von Bildelementen bei einer Gruppe mit p Bildern jedes m. Element in einer horizontalen Richtung und jedes n. Element in einer vertikalen Richtung enthält, wobei n × m = p.
  6. Gerät nach Anspruch 5, in dem die Elemente in einer Teilmenge reihenweise und/oder spaltenweise versetzt sind.
  7. Gerät nach einem der vorstehenden Ansprüche, in dem die Bildelemente Pixel sind.
  8. Gerät nach einem der vorstehenden Ansprüche, in dem die Bildelemente Bildblöcke sind.
  9. Gerät nach einem der vorstehenden Ansprüche, in dem sich die in jeder Bildperiode durchgeführte Erkennungsverarbeitung auf das dieser Bildperiode entsprechende Bild bezieht.
  10. Gerät nach Anspruch 9, in dem die Teilmengen so angeordnet sind, dass ein Objekterkennungsergebnis im Hinblick auf mindestens einen Teil jedes Bildes verfügbar ist, nachdem der sich auf dieses Bild beziehende Prozess durchgeführt worden ist.
  11. Objekterkennungsgerät nach einem der Ansprüche 1 bis 8, in dem die Erkennung von Objekten in einem vollständigen Bild die Durchführung einer Reihe von Erkennungsteilprozessen erfordert, wobei das Gerät weiterhin enthält: Mittel zur Durchführung von Teilprozessen eines Erkennungsprozesses während der jeweiligen Bildperiode in Verbindung mit einer Gruppe von zwei oder mehreren Bildern aus einer geordneten Folge; wobei die Teilprozesse so angeordnet sind, dass die Erkennungsverarbeitung im Verlauf der Bildperioden, welche der Gruppe von Bildern entsprechen, und bezüglich mindestens einem entsprechenden Bild in einer aus der Gruppe von Bildern gewählten Untergruppe durchgeführt wird.
  12. Gerät nach Anspruch 11, in dem die Untergruppe ein einzelnes Bild innerhalb der Gruppe enthält.
  13. Gerät nach Anspruch 12, in dem die Teilprozesse so angeordnet sind, dass die Objekterkennung bezüglich diskreter räumlicher Abschnitte des einzelnen Bildes über eine entsprechende Anzahl von Bildperioden innerhalb der Gruppe durchgeführt wird.
  14. Gerät nach einem der vorstehenden Ansprüche, welches enthält: Mittel zur Schätzung der Verarbeitungsoperationen, die von den Aufgaben in der Menge von Verarbeitungsaufgaben zur Objekterkennung erforderlich sind, und Mittel zur Zuweisung einer Untermenge der Teilprozesse an Bilder innerhalb einer Gruppe, so dass eine verfügbare Verarbeitungskapazität des Geräts bezüglich jeder Bildperiode nicht überschritten wird.
  15. Gerät nach einem der vorstehenden Ansprüche, in dem: die Menge der Erkennungsteilprozesse in Form von zwei oder mehreren Folgen von Teilprozessen angeordnet ist; und ein Zuweisungsmittel in der Lage ist, Bildern in der Gruppe Teilprozesse als solche Folgen von Teilprozessen zuzuweisen.
  16. Gerät nach Anspruch 15, in dem: Objekte mittels mehrerer Mengen von Objektwahrscheinlichkeitsdaten bezüglich der relativ zur Bildgröße erwarteten unterschiedlichen Objektgrößen erkannt werden; und die zur Abwicklung einer Menge von Objektwahrscheinlichkeitsdaten erforderlichen Teilprozesse als eine entsprechende Folge behandelt werden.
  17. Gerät nach einem der vorstehenden Ansprüche, in dem die Objekte Gesichter sind.
  18. Objektverfolgungsgerät, welches enthält: Objekterkennungsgerät nach einem der vorstehenden Ansprüche; und Mittel zur Zuordnung erkannter Objekte in Bildern der geordneten Serie, um ein einzelnes Objekt von Bild zu Bild zu verfolgen.
  19. Objektverfolgungsgerät nach Anspruch 18, in dem: die Objektverfolgung in einer Bildperiode nicht durchgeführt wird, wenn die Teilmengen der in dieser Bildperiode bis dahin erfüllten Verarbeitungsaufgaben ergeben, dass eine Objekterkennung bezüglich einer Gruppe noch nicht verfügbar ist.
  20. Objektverfolgungsgerät nach Anspruch 19, in dem die Objektverfolgung nach der Verarbeitung der Gruppe von p Bildern durchgeführt wird, wobei die Verarbeitungsaufgaben bezüglich Objekterkennung über einer Gruppe von p Bildern angeordnet sind.
  21. Objektverfolgungsgerät nach Anspruch 18, welches enthält: einen zweiten Objektdetektor zur Erkennung des Vorhandenseins eines oder mehrerer Objekte in den Bildern, wobei der zweite Objektdetektor eine geringere Erkennungsempfindlichkeit aufweist als das Objekterkennungsgerät, so dass der zweite Objektdetektor mit höherer Wahrscheinlichkeit ein Objekt in einem Bildbereich erkennt, in dem das Objekterkennungsgerät kein Objekt erkannt hat; in dem: die Objektverfolgung aufgrund der Ergebnisse des zweiten Objektdetektors durchgeführt wird, wenn die abgeschlossenen Untermengen von Verarbeitungsaufgaben während der einer Gruppe von Bildern zugeordneten Bildperioden ergeben, dass eine Objekterkennung noch nicht verfügbar ist.
  22. Objektverfolgungsgerät nach Anspruch 21, welches enthält: ein Objektpositionszielgerät zur Vorhersage einer Objektposition in einem nächstfolgenden Bild in einer Versuchsreihenfolge der Videosequenz auf der Basis einer erkannten Objektposition in einem oder mehreren vorhergehenden Bildern in der Versuchsreihenfolge der Videosequenz; in dem: das Objektpositionszielgerät die erkannte Position zur Voraussage der nächsten Position verwendet, wenn das Gerät ein Objekt innerhalb einer vorgegebenen Erkennungsabstandsschwelle der vorhergesagten Objektposition erkennt; oder das Objektpositionszielgerät eine vom zweiten Objektdetektor erkannte Position zur Voraussage der nächsten Position verwendet, wenn das Gerät kein Objekt innerhalb einer vorgegebenen Erkennungsabstandsschwelle der vorhergesagten Objektposition erkennt.
  23. Videokonferenzgerät mit einem Gerät nach einem der vorstehenden Ansprüche.
  24. Überwachungsgerät mit einem Gerät nach einem der Ansprüche 1 bis 22.
  25. Verfahren zur Objekterkennung, aufweisend den Schritt der Verarbeitung von Bildern aus einer geordneten Folge von Bildern zur Erkennung von Objekten, wobei jedes Bild eine entsprechende Bildperiode aufweist und eine Anordnung von Bildelementen enthält, und das Verfahren gekennzeichnet ist durch den Schritt: der Anwendung eines Erkennungsprozesses während der jeweiligen Bildperioden nur auf eine entsprechende vorgegebene Teilmenge (1310, 1320, 1330, 1340, 1350) der Bildelemente jedes Bildes einer Gruppe von zwei oder mehreren Bildern aus der geordneten Folge; wobei die jeweiligen Teilmengen so angeordnet sind, dass sie sich gegenseitig nicht oder nur kaum über den Bildern aus der so verarbeiteten Folge überlappen.
  26. Ein Verfahren zur Objekterkennung nach Anspruch 25, in dem die Erkennung von Objekten in einem vollständigen Bild die Durchführung einer Reihe von Erkennungsteilprozessen erfordert, wobei das Verfahren weiterhin aufweist den Schritt der: Durchführung von Teilprozessen eines Erkennungsprozesses während der Bildperioden, die jeweils einer Gruppe von zwei oder mehreren Bildern aus einer geordneten Folge zugeordnet sind; wobei die Teilprozesse so angeordnet sind, dass die Erkennungsverarbeitung im Verlauf der Bildperioden, die der Gruppe von Bildern zugeordnet sind, und bezüglich mindestens einem entsprechenden Bild in einer aus der Gruppe von Bildern gewählten Untergruppe durchgeführt wird.
  27. Computersoftware mit einem Programmcode zur Durchführung eines Verfahrens nach Anspruch 25 oder Anspruch 26.
  28. Bereitstellungsmedium zur Bereitstellung eines Programmcodes nach Anspruch 27.
  29. Medium nach Anspruch 28, wobei das Medium ein Speichermedium ist.
  30. Medium nach Anspruch 28, wobei das Medium ein Übertragungsmedium ist.
DE602004002837T 2003-12-11 2004-11-05 Objekterkennung Expired - Fee Related DE602004002837T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0328743A GB2409031A (en) 2003-12-11 2003-12-11 Face detection
GB0328743 2003-12-11

Publications (2)

Publication Number Publication Date
DE602004002837D1 DE602004002837D1 (de) 2006-11-30
DE602004002837T2 true DE602004002837T2 (de) 2007-05-24

Family

ID=30130050

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004002837T Expired - Fee Related DE602004002837T2 (de) 2003-12-11 2004-11-05 Objekterkennung

Country Status (6)

Country Link
US (1) US20050129277A1 (de)
EP (1) EP1542152B1 (de)
JP (1) JP2005174353A (de)
CN (1) CN100348050C (de)
DE (1) DE602004002837T2 (de)
GB (1) GB2409031A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008040801A1 (de) * 2008-07-28 2010-02-11 Carl Zeiss Surgical Gmbh Verfahren zum Ableiten medizinischer Größen aus einer Bildfolge medizinischer Bilddaten

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005018977A1 (de) * 2005-04-23 2006-11-02 Bayerische Motoren Werke Ag Verriegelungseinrichtung für ein ausziehbares Abdeckelement, insbesondere im Gepäckraum eines Kraftfahrzeugs
JP2008269471A (ja) * 2007-04-24 2008-11-06 Sony Corp 類似画像判定装置と類似画像判定方法およびプログラムと記録媒体
JP2009088801A (ja) * 2007-09-28 2009-04-23 Hitachi Software Eng Co Ltd 撮影対象物の静止判定方法および装置
US8085982B1 (en) * 2008-06-20 2011-12-27 Google Inc. Object tracking in video with visual constraints
US20100166257A1 (en) * 2008-12-30 2010-07-01 Ati Technologies Ulc Method and apparatus for detecting semi-transparencies in video
US9535651B2 (en) * 2009-12-18 2017-01-03 Oracle International Corporation Co-browsing systems and methods
CN102129569B (zh) * 2010-01-20 2016-01-20 三星电子株式会社 基于多尺度对比特征的对象检测设备和方法
US9874990B2 (en) 2012-02-10 2018-01-23 Oracle International Corporation System and method of concurrent unobstructed co-browsing and chat messaging
JP2014071832A (ja) * 2012-10-01 2014-04-21 Toshiba Corp 物体検出装置及びその検出方法
US9967399B2 (en) 2014-12-19 2018-05-08 Oracle International Corporation Co-browsing preview of queued customer contacts
US10671337B2 (en) 2015-09-25 2020-06-02 Oracle International Corporation Automatic sizing of agent's screen for html co-browsing applications
US10038788B1 (en) 2017-05-09 2018-07-31 Oracle International Corporation Self-learning adaptive routing system
CN108596120B (zh) * 2018-04-28 2021-01-26 北京京东尚科信息技术有限公司 一种基于深度学习的目标检测方法和装置
CN109032125B (zh) * 2018-05-31 2021-09-10 上海工程技术大学 一种视觉agv的导航方法
EP3853812A4 (de) * 2018-09-17 2022-05-11 Nokia Solutions and Networks Oy Objektverfolgung
CN111383457B (zh) * 2018-12-30 2021-02-09 浙江宇视科技有限公司 车位状态检测方法及装置、设备及存储介质
CN110310059A (zh) * 2019-05-23 2019-10-08 天津五八到家科技有限公司 运输任务分配方法、装置及电子设备
CN110263679B (zh) * 2019-06-03 2021-08-13 西安交通大学 一种基于深度神经网络的细粒度车辆检测方法
CN110473226B (zh) * 2019-07-18 2022-03-01 上海联影智能医疗科技有限公司 图像处理网络的训练方法、计算机设备及可读存储介质
US11200286B1 (en) * 2020-05-20 2021-12-14 International Business Machines Corporation Geospatial data acquisition based on information value
CN113743459B (zh) * 2021-07-29 2024-04-02 深圳云天励飞技术股份有限公司 目标检测方法、装置、电子设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69217150T2 (de) * 1991-09-30 1997-07-17 Philips Electronics Nv Bewegungsvektorschätzung, Bewegungsbildkodierung- und -speicherung
US5689575A (en) * 1993-11-22 1997-11-18 Hitachi, Ltd. Method and apparatus for processing images of facial expressions
US5537155A (en) * 1994-04-29 1996-07-16 Motorola, Inc. Method for estimating motion in a video sequence
US5715325A (en) * 1995-08-30 1998-02-03 Siemens Corporate Research, Inc. Apparatus and method for detecting a face in a video image
US5774591A (en) * 1995-12-15 1998-06-30 Xerox Corporation Apparatus and method for recognizing facial expressions and facial gestures in a sequence of images
US5867584A (en) * 1996-02-22 1999-02-02 Nec Corporation Video object tracking method for interactive multimedia applications
JP3279479B2 (ja) * 1996-05-31 2002-04-30 株式会社日立国際電気 映像監視方法及び装置
US6396956B1 (en) * 1998-03-31 2002-05-28 Sharp Laboratories Of America, Inc. Method and apparatus for selecting image data to skip when encoding digital video
AUPP400998A0 (en) * 1998-06-10 1998-07-02 Canon Kabushiki Kaisha Face detection in digital images
US6463163B1 (en) * 1999-01-11 2002-10-08 Hewlett-Packard Company System and method for face detection using candidate image region selection
US6795567B1 (en) * 1999-09-16 2004-09-21 Hewlett-Packard Development Company, L.P. Method for efficiently tracking object models in video sequences via dynamic ordering of features
US6940545B1 (en) * 2000-02-28 2005-09-06 Eastman Kodak Company Face detecting camera and method
US7130446B2 (en) * 2001-12-03 2006-10-31 Microsoft Corporation Automatic detection and tracking of multiple individuals using multiple cues
JP4079690B2 (ja) * 2002-05-23 2008-04-23 株式会社東芝 物体追跡装置及び方法
US20070092110A1 (en) * 2004-11-08 2007-04-26 Li-Qun Xu Object tracking within video images
US7801330B2 (en) * 2005-06-24 2010-09-21 Objectvideo, Inc. Target detection and tracking from video streams

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008040801A1 (de) * 2008-07-28 2010-02-11 Carl Zeiss Surgical Gmbh Verfahren zum Ableiten medizinischer Größen aus einer Bildfolge medizinischer Bilddaten
DE102008040801B4 (de) * 2008-07-28 2014-03-20 Carl Zeiss Meditec Ag Verfahren zum Ableiten medizinischer Größen aus einer Bildfolge medizinischer Bilddaten, medizinische Vorrichtung und Analysesystern

Also Published As

Publication number Publication date
JP2005174353A (ja) 2005-06-30
CN1658220A (zh) 2005-08-24
US20050129277A1 (en) 2005-06-16
DE602004002837D1 (de) 2006-11-30
EP1542152B1 (de) 2006-10-18
CN100348050C (zh) 2007-11-07
GB2409031A (en) 2005-06-15
EP1542152A1 (de) 2005-06-15
GB0328743D0 (en) 2004-01-14

Similar Documents

Publication Publication Date Title
DE602004002180T2 (de) Objekterkennung
DE602004002837T2 (de) Objekterkennung
DE60313941T2 (de) Personendetektion durch Gesichtsdetektion und Bewegungsdetektion
US7421149B2 (en) Object detection
DE60215743T2 (de) Verfahren und Rechnerprogrammprodukt zur Lagebestimmung von Gesichtsmerkmalen
US7336830B2 (en) Face detection
US7430314B2 (en) Face detection
DE69833999T2 (de) Verfahren zur automatischen erkennung menschlicher augen in digitalbildern
DE69938173T2 (de) Automatische voreingestellte teilnehmerpositionsbestimmung für videokonferenzsysteme
US7522772B2 (en) Object detection
DE112017001311T5 (de) System und Verfahren zum Trainieren eines Objektklassifikators durch maschinelles Lernen
DE102009038364A1 (de) Verfahren und System zur automatischen Objekterkennung und anschließenden Objektverfolgung nach Maßgabe der Objektform
KR100253203B1 (ko) 동영상을 이용한 객체 추출방법
WO2000021021A1 (de) Verfahren und system zur personenerkennung mit modellbasierter gesichtsfindung
GB2395779A (en) Face detection
GB2395852A (en) Video selection based on face data
GB2395780A (en) Face detection
GB2409029A (en) Face detection
DE102011054658A1 (de) Verfahren zur Unterscheidung zwischen einem realen Gesicht und einer zweidimensionalen Abbildung des Gesichts in einem biometrischen Erfassungsprozess
DE112020001202T5 (de) Objektverfolgungsvorrichtung und Objektverfolgungsverfahren
DE112021005703T5 (de) Informationsverarbeitungseinrichtung und informationsverarbeitungsverfahren
EP2483834B1 (de) Verfahren und Vorrichtung zum Erkennen einer Fehldetektion eines Objekts in einem Bild
EP2359308B1 (de) Vorrichtung zur erzeugung und/oder verarbeitung einer objektsignatur, überwachungsvorrichtung, verfahren und computerprogramm
CN113435248A (zh) 口罩人脸识别底库增强方法、装置、设备及可读存储介质
EP1021787B1 (de) Verfahren zum lokalisieren von objekten in standbildern mit anwendung auf die lokalisierung von gesichtern

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee