-
GEBIET DER ERFINDUNG
-
Die Erfindung betrifft die Videoverarbeitung und Objektidentifikation, und genauer betrifft sie das Analysieren von Bildern von Objekten, um Attribute zu identifizieren.
-
HINTERGRUND
-
Die Lage von Objekten und deren Teile in Videos automatisch zu identifizieren, ist für viele Aufgaben wichtig. Zum Beispiel ist im Falle menschlicher Körperteile das automatische Identifizieren der Lage menschlicher Körperteile wichtig für Aufgaben wie beispielsweise die automatische Handlungserkennung, die Einschätzung menschlicher Posen usw. Mit dem Begriff „Körper-Parsen” (body parsing) wird die computergestützte Lokalisierung einzelner Körperteile in Videos beschrieben. Aktuelle Verfahren für das Körper-Parsen in Videos schätzen nur die Lage von Teilen wie Kopf, Beinen, Armen, usw. ab. Siehe z. B.: „Strike a Pose: Tracking People by Finding Stylized Poses", Ramanan et al., Computer Vision and Pattern Recognition (CVPR), San Diego, Kalifornien, Juni 2005; und „Pictorial Structures for Object Recognition", Felzenszwalb et al., International Journal of Computer Vision (IJCV), Januar 2005.
-
Die meisten bisherigen Verfahren führen in Wirklichkeit nur syntaktisches Objekt-Parsen durch, d. h., sie schätzen nur die Lage von Objektteilen (z. B. Armen, Beinen, Gesicht usw.) ab, ohne den Objektteilen zugehörige semantische Attribute wirksam abzuschätzen.
-
Im Hinblick auf das Vorhergehende besteht ein Bedarf nach einem Verfahren und einem System zum wirksamen Identifizieren semantischer Attribute von Objekten aus Bildern.
-
ZUSAMMENFASSUNG
-
Die Erfindung wird durch ein Verfahren, ein Computerprogrammprodukt, ein Computersystem und einen Prozess zum Abschätzen von Teilen und Attributen eines Objekts in Videos dargestellt. Das Verfahren, das Computerprogrammprodukt, das Computersystem und der Prozess weisen auf: Empfangen einer Videoeingabe; Erkennen eines Objektes aus der Videoeingabe und Herausschneiden eines Bildes des Objektes aus der Videoeingabe; Empfangen einer Vielzahl semantischer Attribute mit zugehörigen Teilen für das Objekt; Erzeugen und Speichern einer Vielzahl von Versionen des Bildes, wobei jede Version eine unterschiedliche Auflösung des Bildes des Objektes aufweist; Berechnen einer Auftretenszahl (appearance score) in jeder Region aus einer Vielzahl von Regionen in der Version mit der niedrigsten Auflösung der Versionen des Bildes des Objektes für die Vielzahl semantischer Attribute, wobei die Auftretenszahl für mindestens ein semantisches Attribut der Vielzahl semantischer Attribute für jede Region eine Wahrscheinlichkeit jedes semantischen Attributes des mindestens einen in dieser Region auftretenden semantischen Attributs bezeichnet; Analysieren von Versionen mit zunehmend höherer Auflösung als die Version mit der niedrigsten Auflösung, um eine Auflösungskontextzahl für jede Region in der Version mit der niedrigsten Auflösung zu berechnen, wobei die Auflösungskontextzahl in der Version mit der niedrigsten Auflösung ein Ausmaß angibt, in dem für jede Region in den Versionen mit zunehmend höherer Auflösung eine feinere räumliche Struktur vorhanden ist als in der Version mit der niedrigsten Auflösung; Ermitteln einer optimierten Konfiguration von Körperteilen und zugehörigen semantischen Attributen in der Version mit der niedrigsten Auflösung, wobei das Ermitteln die Auftretenszahlen und die Auflösungskontextzahlen in den Regionen in der Version mit der niedrigsten Auflösung verwendet; Anzeigen und/oder Speichern der optimierten Konfiguration von Körperteilen und zugehörigen semantischen Attributen.
-
KURZE BESCHREIBUNG DER MEHREREN ZEICHNUNGSANSICHTEN
-
Nachfolgend werden in lediglich beispielhafter Weise bevorzugte Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die folgenden Zeichnungen beschrieben, in denen:
-
1 eine veranschaulichende Umgebung für ein System zum Erkennen semantischer Attribute eines menschlichen Körpers gemäß einer Ausführungsform der Erfindung zeigt;
-
2 eine Nahansicht einer veranschaulichenden Umgebung zum Erkennen semantischer Attribute im menschlichen Körper in Videos gemäß einer Ausführungsform der Erfindung zeigt;
-
3 ein Beispiel einer Eingabe und einer Ausgabe gemäß einer Ausführungsform der Erfindung veranschaulicht;
-
4 einen veranschaulichenden Datenfluss zum Erkennen semantischer Attribute in einem Bild gemäß einer Ausführungsform der Erfindung zeigt;
-
5 gemäß einer Ausführungsform der Erfindung Beispiele semantischer Attribute zeigt, die Körperteilen zugehörig sind;
-
5A und 5B Beispiele des Anwendens semantischer Attribute auf ein Bild eines menschlichen Körpers gemäß einer Ausführungsform der Erfindung zeigen;
-
5C Beispiele des Ermittelns von Auftretenszahlen gemäß einer Ausführungsform der Erfindung zeigt;
-
5D Eingaben und Ausgaben für den Schritt des Berechnens von Auftretenszahlen gemäß einer Ausführungsform der Erfindung zeigt;
-
6 und 6A Beispiele des Berechnens von Auflösungskontextzahlen gemäß einer Ausführungsform der Erfindung zeigen;
-
6B Eingaben und Ausgaben für den Schritt des Berechnens von Auflösungskontextzahlen gemäß einer Ausführungsform der Erfindung zeigt;
-
7A und 7B Beispiele für das Berechnen geometrischer Zahlen für eine optimale Konfiguration gemäß einer Ausführungsform der Erfindung zeigen;
-
7C Eingaben und Ausgaben für den Schritt des Berechnens von geometrischen Zahlen gemäß einer Ausführungsform der Erfindung zeigt;
-
8 Eingaben und Ausgaben für den Schritt des Berechnens einer Gesamtzahl gemäß einer Ausführungsform der Erfindung zeigt;
-
Es wird festgehalten, dass die Zeichnungen nicht maßstäblich sind. Die Zeichnungen sollen nur typische Aspekte der vorliegenden Erfindung abbilden und sind daher nicht als den Umfang der Erfindung einschränkend anzusehen. Während die Zeichnungen das Verarbeiten menschlicher Körper in Videos veranschaulichen, erstreckt sich die Erfindung auch auf das Verarbeiten anderer Objekte in Videos. In den Zeichnungen stehen gleiche Bezugszeichen für gleiche Elemente zwischen den Zeichnungen.
-
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Die Erfindung betrifft die Videoverarbeitung und Objektidentifikation, und genauer betrifft sie das Analysieren von Bildern von Objekten, um Attribute zu identifizieren.
-
Aspekte der Erfindung stellen eine verbesserte Lösung für das Erkennen semantischer Attribute von Objekten in Videos bereit. Zum Beispiel stellen Aspekte der Erfindung die Entnahme von Attributen von Körperteilen bereit, um ein automatisches Suchen von Menschen in Videos auf der Grundlage einer Personenbeschreibung zu ermöglichen. In einem anderen Beispiel stellt die Erfindung die Entnahme von Attributen von Automobilen bereit, um ein automatisches Suchen von Automobilen in Videos auf der Grundlage einer Beschreibung des Automobils zu ermöglichen. Eine mögliche Abfrage könnte lauten: „Zeige alle Personen, die IBM im letzten Monat betreten haben, mit Bart, die Sonnenbrillen tragen, die ein rotes Jackett und blaue Hosen tragen” oder „Zeige alle blauen zweitürigen Toyotas mit Rautenradkappen, die letzte Woche den IBM Parkplatz befahren haben”.
-
Die Erfindung behandelt das Problem des semantischen Objekt-Parsens mit dem Ziel, sowohl die Lage von Teilen als auch semantische Attribute im selben Prozess wirksam abzuschätzen. Unter Verwendung des Parsens des menschlichen Körpers als Beispiel stellen Ausführungsformen der vorliegenden Erfindung im selben Prozess das Abschätzen semantischer Attribute menschlicher Körperteile sowie die Lokalisierung von Körperteilen bereit. Unter Überwindung der Ineffizienz und Ungenauigkeit der bisherigen Ansätze nutzt die Erfindung ein globales Optimierungsschema, um sowohl Teile als auch ihre entsprechenden Attribute gleichzeitig abzuschätzen.
-
Anders als bisherige Ansätze verwenden Ausführungsformen der vorliegenden Erfindung semantische Attribute wie „Bart”, „Schnurrbart” und „keine Gesichtsbehaarung” nicht nur, um den menschlichen Körperteil zu lokalisieren, sondern auch, um das Attribut des Körperteils zu identifizieren. Anstatt zum Beispiel nur einen Körperteil wie beispielsweise „Bein” zu identifizieren, verwendet die Erfindung semantische Attribute wie beispielsweise „schwarze Hosen”, „lange Röcke” und „kurze Hosen”, um sowohl einen Körperteil zu lokalisieren als auch seine Attribute zu identifizieren. Die Erfindung unterhält eine Datentabelle, die jedes semantische Attribut mit einem entsprechenden Körperteil verknüpft. Zum Beispiel entspricht das semantische Attribut „Bart” dem Körperteil „untere Gesichtsregion”.
-
Ausführungsformen der Erfindung beruhen auf drei Arten von Merkmalen: Auftretensmerkmalen, Auflösungskontextmerkmalen und geometrischen Merkmalen. Die Auftretensmerkmale beziehen sich auf Zahlen, die durch Vergleichen semantischer Attribute aus einer Bildbibliothek mit dem, was in einem Bild zu sein scheint, erhalten werden, um die Wahrscheinlichkeit einer Übereinstimmung zu ermitteln. Die Auflösungskontextmerkmale beziehen sich auf die Objektkonsistenz bei unterschiedlichen Bildauflösungen. Bei der Auflösungskontextzahl für eine bestimmte Region handelt es sich um den gewichteten Mittelwert aus dem Bild der Region mit höherer Auflösung. Eine Gesamtzahl wird für das Bild mit höherer Auflösung berechnet, indem die Auftretenszahlen, geometrische Zahlen und, falls ein Bild mit höherer Auflösung verfügbar ist, die Auflösungskontextzahlen aufaddiert werden. Die Auflösungskontextzahl wird aus einem Bild mit höherer Auflösung berechnet, indem die Gesamtzahl in einer gegebenen Region durch die Anzahl von Unterregionen dividiert wird, welche diese Region im analysierten Bild mit höherer Auflösung ausbilden. Die geometrischen Merkmale beziehen sich auf die Zahlen, die auf der Grundlage der räumlichen Beziehungen zwischen den zugrundeliegenden Teilen in einer wahrscheinlichen Konfiguration berechnet werden. Zum Beispiel entspricht ein potenzielles Attribut „Bart” einem „Gesicht” und ein „schwarzes Hemd” entspricht einem „Torso”. Mit den geometrischen Merkmalen wird die Genauigkeit der semantischen Kandidatenattribute getestet, indem das allgemeine Aufbauprinzip des menschlichen Körpers angewandt wird, gemäß dem sich ein „Gesicht” sowohl oberhalb eines „Torso” als auch in einem gewissen Abstand von einem „Torso” befindet.
-
Im Beispiel des Parsens des menschlichen Körpers werden bei Aspekten der Erfindung nicht nur die Lage menschlicher Körperteile, sondern auch deren semantische Attribute, wie beispielsweise Farbe, Typ der Gesichtsbehaarung, Vorhandensein einer Brille usw., abgeschätzt. In anderen Worten: Aspekte der Erfindung verwenden ein vereinheitlichtes Lernschema, um sowohl syntaktisches Parsen, d. h. eine Lageabschätzung, als auch semantisches Parsen, d. h. eine Entnahme semantischer Attribute durchzuführen, die den menschlichen Körperteil beschreiben. Die Erfindung erkennt sowohl Körperteile als auch Attribute im selben Prozess und identifiziert so die Attribute eines menschlichen Körpers gegenüber dem Stand der Technik genauer.
-
Bezüglich der Zeichnungen zeigt 1 eine veranschaulichende Umgebung zum Erkennen semantischer Attribute eines menschlichen Körpers gemäß einer Ausführungsform der Erfindung. Insoweit erfasst mindestens eine Kamera 42 einen Schauplatz oder einen Hintergrund 90. Oftmals kann der Hintergrund oder der Schauplatz 90 mindestens ein Objekt wie beispielsweise eine Person 92 enthalten. Eine digitale Videoeingabe 40 wird erhalten und an ein System 12 gesendet, das zum Beispiel ein Programm zur Erkennung semantischer Attribute 30, Daten 50, zuvor festgelegte oder spezifische semantische Attribute 52, eine Ausgabe 54 und/oder Ähnliches wie hierin beschrieben beinhaltet.
-
2 zeigt eine Nahansicht einer veranschaulichenden Umgebung 10 zum Erkennen semantischer Attribute der Person 92 (1) im Video 40 gemäß einer Ausführungsform der Erfindung. Insofern beinhaltet die Umgebung 10 ein Computersystem 12, das den hierin beschriebenen Prozess durchführen kann, um semantische Attribute der Person 92 im Video 40 zu erkennen. Insbesondere ist das Computersystem 12 einschließlich einer Recheneinheit 14 gezeigt, die ein Programm zur Erkennung semantischer Attribute 30 enthält, das die Recheneinheit 14 in die Lage versetzt, semantische Attribute der Person 92 (1) im Video 40 durch Durchführen des hierin beschriebenen Prozesses zu erkennen.
-
Die Recheneinheit 14 ist einschließlich eines Prozessors 20, eines Speichers 22A, einer Eingabe/Ausgabe(E/A)-Schnittstelle 24 und eines Busses 26 gezeigt. Weiterhin ist die Recheneinheit 14 im Austausch von Daten mit einer externen E/A-Einheit/Ressource 28 und einer nichtflüchtigen computerlesbaren Speichereinheit 22B (z. B. eine Festplatte, eine Floppy Disk, ein Magnetband, ein optischer Speicher, wie beispielsweise eine Compact Disc (CD), oder eine Digital Video Disk (DVD)) gezeigt. Im Allgemeinen führt der Prozessor 20 Programmcode wie beispielsweise das Programm zur Erkennung semantischer Attribute 30 aus, das in einem Speichersystem wie beispielsweise dem Speicher 22A (z. B. einem dynamischen Speicher mit wahlfreiem Zugriff (DRAM), einem Nur-Lese-Speicher (ROM) usw.) und/oder der Speichereinheit 22B gespeichert ist. Während des Ausführens von Programmcode kann der Prozessor 20 Daten wie beispielsweise die Daten 36 auf den Speicher 22A, die Speichereinheit 22B und/oder die E/A-Schnittstelle 24 schreiben oder von diesen lesen. Ein Computerprogrammprodukt weist die Speichereinheit 22B auf, auf welcher der Programmcode zur nachfolgenden Ausführung durch den Prozessor 20 gespeichert ist, um ein Verfahren zum Abschätzen von Teilen und Attributen eines Objekts in Videos durchzuführen. Der Bus 26 stellt eine Datenübertragungsverbindung zwischen jeder der Komponenten in der Recheneinheit 14 bereit. Die E/A-Einheit 28 kann jede beliebige Einheit aufweisen, die Informationen zwischen einem Benutzer 16 und der Recheneinheit 14 und/oder der digitalen Videoeingabe 40 und der Recheneinheit 40 überträgt. Insofern kann die E/A-Einheit 28 eine Benutzer-E/A-Einheit aufweisen, um einem einzelnen Benutzer 16 ein Interagieren mit der Recheneinheit zu ermöglichen, und/oder sie kann eine Datenübertragungseinheit aufweisen, um einem Element wie beispielsweise die digitale Videoeingabe 40 einen Austausch von Daten mit der Recheneinheit 40 mittels jeden beliebigen Typs von Datenübertragungsverbindung zu ermöglichen. Die E/A-Einheit 28 steht für mindestens eine Eingabeeinheit (z. B. eine Tastatur, eine Maus usw.) und mindestens eine Ausgabeeinheit (z. B. einen Drucker, einen Plotter, einen Computerbildschirm, ein Magnetband, eine Wechselfestplatte, eine Floppy Disk).
-
In jedem Fall kann die Recheneinheit 14 jeden beliebigen universellen Herstellungsartikel zur Ausführung von Rechenvorgängen aufweisen, der in der Lage ist, darauf installierten Programmcode auszuführen. Es versteht sich jedoch, dass die Recheneinheit 14 und das Programm zur Erkennung semantischer Attribute 30 nur stellvertretend für vielfältige mögliche äquivalente Rechensysteme stehen, die den hierein beschriebenen Prozess durchführen können. Insofern kann in anderen Ausführungsformen die durch die Recheneinheit 14 und das Programm zur Erkennung semantischer Attribute 30 bereitgestellte Funktionalität durch einen Herstellungsartikel zur Ausführung von Rechenvorgängen realisiert werden, der eine beliebige Kombination aus universeller und/oder zweckbestimmter Hardware und/oder Programmcode beinhaltet. In jeder Ausführungsform können der Programmcode und die Hardware mittels Standardprogrammiertechniken bzw. technischen Standardvorgehensweisen erzeugt werden. Zu solchen Standardprogrammiertechniken und technischen Standardvorgehensweisen kann eine offene Architektur zählen, die eine Integration von Verarbeitung von verschiedenen Lagen erlaubt. Zu solch einer offenen Architektur kann Cloud Computing zählen. Somit offenbart die vorliegende Erfindung einen Prozess zum Unterstützen von Computerinfrastruktur, Integrieren, Beherbergen (hosting), Unterhalten und Einsetzen von computerlesbarem Code in das Computersystem 12, wobei der Code in Kombination mit dem Computersystem 12 in der Lage ist, ein Verfahren zum Abschätzen von Teilen und Attributen eines Objekts in Videos durchzuführen.
-
Gleichermaßen ist das Computersystem 12 nur veranschaulichend für vielfältige Typen von Computersystemen zum Realisieren von Aspekten der Erfindung. Zum Beispiel weist in einer Ausführungsform das Computersystem 12 zwei oder mehr Recheneinheiten auf, die über jeden beliebigen Typ von Datenübertragungsverbindung wie beispielsweise ein Netzwerk, ein gemeinsam genutzter Speicher oder Ähnliches Daten auszutauschen, um den hierein beschriebenen Prozess durchzuführen. Beim Durchführen des hierin beschriebenen Prozesses können weiterhin eine oder mehrere Recheneinheiten im Computersystem 12 mittels jedes beliebigen Typs von Datenübertragungsverbindungen mit einer oder mehreren anderen externen Recheneinheiten des Computersystems 12 Daten austauschen. In jedem Fall kann die Datenübertragungsverbindung jede beliebige Kombination vielfältiger Arten von kabelgebundenen und/oder kabellosen Verbindungen aufweisen; jede beliebige Kombination eines oder mehrerer Netzwerktypen aufweisen; und/oder jede beliebige Kombination vielfältiger Typen von Übermittlungstechniken und -protokollen verwenden.
-
Wie hierin erläutert, ermöglicht das Programm zur Erkennung semantischer Attribute 30 dem Computersystem 12, semantische Attribute von Objekten wie beispielsweise der Person 92 (1) im Video 40 zu erkennen. Insofern ist das Programm zur Erkennung semantischer Attribute 30 einschließlich eines Objekterkennungsmoduls 32, eines Auftretenszahlmoduls 34, eines Moduls für geometrische Zahlen 36, eines Auflösungskontextmoduls 37, eines Konfigurationsoptimierungsmoduls 38, eines Gesamtzahlberechnungsmoduls 39 und eines Moduls für strukturiertes Lernen 35 gezeigt. Die Funktionsweise jedes dieser Module wird hierin weiter erläutert. Es versteht sich jedoch, dass einige der verschiedenen in 2 gezeigten Module unabhängig, kombiniert und/oder im Speicher eines oder mehrerer separater Recheneinheiten realisiert werden können, die im Computersystem 12 enthalten sind. Weiterhin versteht es sich, dass unter Umständen einige der Module und/oder Teile der hierin erläuterten Funktionalität nicht realisiert sind oder zusätzliche Module und/oder Funktionalitäten als Teil des Computersystems 12 enthalten sind.
-
Aspekte der Erfindung stellen eine verbesserte Lösung für das Erkennen semantischer Attribute von Objekten wie beispielsweise der Person 92 (1) im Video 40 bereit. Insofern veranschaulicht 3 ein Beispiel der Eingabe 90 (1) und der Ausgabe 54 (1) gemäß einer Ausführungsform der Erfindung. Wie vorstehend beschrieben (1), handelt es sich bei der Eingabe 90 um einen Schauplatz mit mindestens einem Objekt, in diesem Beispiel einer Person. Die Ausgabe 54 enthält räumliche Lage von Körperteilen und Attribute in einem Bild. Zum Beispiel identifiziert die Erfindung eine Region 402 als die obere Gesichtsregion und identifiziert aus derselben Region ein Attribut „Kahlköpfigkeit” der Person. Bei einer Region 404 handelt es sich um die mittlere Gesichtsregion, und es wird ein Attribut „Sonnenbrille” identifiziert. Bei einer Region 406 handelt es sich um die untere Gesichtsregion, und es wird ein Attribut „Bart” identifiziert. Eine Region 408 wird als ein Arm identifiziert, und es wird ein Attribut „Tätowierung” identifiziert. Eine Region 410 wird als ein Bein identifiziert, und es wird ein Attribut „schwarze Hose” identifiziert. Darüber hinaus enthält die Ausgabe 54 wie hierin beschrieben eine Gesamtzahl und/oder ein gewichtetes Mittel der Auftretenszahlen, der geometrischen Zahlen und, falls verfügbar, der Auflösungskontextzahlen des Bildes.
-
Aspekte der Erfindung stellen eine verbesserte Lösung für das Erkennen semantischer Attribute von Objekten wie beispielsweise der Person 92 (1) im Video 40 bereit. Insofern zeigt 4 gemäß einer Ausführungsform der Erfindung einen veranschaulichenden Datenfluss zum Erkennen semantischer Attribute der Person 92 (1) auf einem Bild, indem die Module des Programms zur Erkennung semantischer Attribute 30 (2) verwendet werden. Zum Beispiel empfängt das System 12 bei D1 eine digitale Farbvideoeingabe 40. Die digitale Farbvideoeingabe 40 liegt üblicherweise im Rot-Grün-Blau-(RGB)Format vor, und zu jeder Zeitinstanz kommt ein Einzelbild (frame) der Videoeingabe mit einer Person 92 (1) am Objekterkennungsmodul 32 (2) an.
-
In S1 erkennt das Objekterkennungsmodul 32 (2) Objekte in einem Einzelbild der Videoeingabe und identifiziert dessen Objekttypen. Die Erkennung kann unter Verwendung eines Objektklassifizierers getestet werden, der das Bild des Objekts mit zuvor gespeicherten und kontinuierlich selbstlernenden, in einer Objektbibliothek gespeicherten Objekten vergleicht (siehe Paper N. Dalal and B. Triggs, „Histograms of Oriented Gradients for Human Detection", Proceedings of the IEEE Conference an Computer Vision and Pattern Recognition, San Diego, USA, Juni 2005, Band II, Seiten 886 bis 893). Sobald ein Objekt aus dem Bild identifiziert ist, wird der Bildbereich, der das Objekt abdeckt, herausgeschnitten. Die vorhandene Technologie unterstützt das Erzeugen von Versionen eines Bildes mit niedrigerer Auflösung. Aus dem herausgeschnittenen Bereich wird mindestens ein Bild des ursprünglichen ausgeschnittenen Bereichs mit niedrigerer Auflösung erstellt und zusammen mit dem ursprünglichen herausgeschnittenen Bild für die weitere Analyse gespeichert. In späteren Schritten wird das Bild des herausgeschnittenen Bereichs mit der niedrigsten Auflösung zuerst verarbeitet, und die Bilder werden in der Reihenfolge von niedrigerer Auflösung zu höherer Auflösung verarbeitet. Bilder mit höherer Auflösung werden mit dem Ziel verarbeitet, Auflösungskontextzahlen zu erhalten. Insbesondere analysiert das Auflösungskontextzahlmodul 37 (2) Bilder mit zunehmend höherer Auflösung von verschiedenen Regionen und Unterregionen des Bildes entsprechend verschiedener Teile und Unter-Teile des Objektes. Die Analyse eines Bildes mit höherer Auflösung beinhaltet wiederum ein Berechnen von Auftretenszahlen für semantische Attribute, ein Berechnen geometrischer Zahlen sowie ein Berechnen von Auflösungskontextzahlen für Unterregionen, die eine höhere Granularität aufweisen als die Regionen im Bild mit der niedrigsten Auflösung. Die Auflösung für das Bild mit der niedrigsten Auflösung kann zuvor festgelegt werden und beispielsweise als eine Konstante im Programm zur Erkennung semantischer Attribute 30 gespeichert oder über die E/A-Einheit 28 (2) als Eingabe bereitgestellt werden.
-
Bei D2 wird eine Liste semantischer Attribute und zugehöriger Bilder unterhalten. Über das Beschreiben eines semantischen Attributes hinaus entspricht jedes semantische Attribut einem Körperteil. Zum Beispiel entsprechen die semantischen Attribute „Sonnenbrille”, „Brille” und „keine Brille” alle dem Körperteil „mittlere Gesichtsregion”; die semantischen Attribute „Bart”, „Schnurrbart” und „keine Gesichtsbehaarung” entsprechen alle dem Körperteil „untere Gesichtsregion”. 5 zeigt gemäß einer Ausführungsform der Erfindung Beispiele semantischer Attribute, die Körperteilen zugehörig sind. Die Liste semantischer Attribute 52 (1) enthält sowohl die semantischen Attribute als auch deren entsprechende Körperteile.
-
In S2 analysiert das Auftretenszahlmodul 34 (2) ein gespeichertes Bild von S1 in Echtzeit oder in einem verzögerten Modus, indem die Wahrscheinlichkeit des Vorhandenseins der semantischen Attribute 52 (D2) in Regionen des Bildes ermittelt wird. Wie vorstehend angegeben, wird das Bild mit der niedrigsten Auflösung als Erstes analysiert. In dieser Stufe können semantische Attribute ausgewertet werden, deren Sichtbarkeit auf dem Bild mit der niedrigsten Auflösung wahrscheinlich ist, während andere semantische Attribute, die wahrscheinlich auf einem Bild mit höherer Auflösung sichtbar sind, in einem späteren Schritt ausgewertet werden können. Die Bilder der semantischen Attribute werden in einer Bibliothek für semantische Attribute gespeichert, die kontinuierlich selbstlernend ist.
-
In S2 verwenden Aspekte der Erfindung beim Ermitteln der Wahrscheinlichkeit des Vorhandenseins der semantischen Attribute in Regionen des Bildes ein in den Arbeiten von Viola et al. in „Robust Real-time Object Detection", Cambridge Research Laboratory Technical Report, Februar 2001, beschriebenes Verfahren. Das Verfahren wird weiterhin mit tatsächlichen Vertrauenswerten in den Arbeiten von Bo Wu et al. in „Fast Rotation Invariant Multi-View Face Detection Based an Real Adaboost", IEEE International Conference an Automatic Face and Gesture Recognition, 2004, beschrieben. Das Verfahren stellt Schritte bereit, um eine Auftretenszahl zu berechnen, welche für die Wahrscheinlichkeit steht, dass ein Attribut in einer Region vorhanden ist. Das Vorhandensein eines semantischen Attributs wird mittels eines Erkenners für semantische Attribute ermittelt. Bei einem Erkenner für ein semantisches Attribut handelt es sich um eine Funktion, die einer Region eines Bildes eine reelle Zahl innerhalb des Intervalls [0,1] zuordnet, wobei die Ausgabe die Wahrscheinlichkeit angibt, dass das semantische Attribut in der als Eingabe gegebenen Bildregion vorhanden ist. In der Erfindung kann der sich ergebende Wert einer Auftretenszahl in einem Bereich von 0 bis 1 liegen. In jeder Region des Bildes kann es mehrere Auftretenszahlen geben, welche die Wahrscheinlichkeit des Vorhandenseins mehrerer semantischer Attribute in derselben Region angeben.
-
5A und 5B zeigen Beispiele des Anwendens semantischer Attribute auf ein Bild eines menschlichen Körpers gemäß einer Ausführungsform der Erfindung. Im Gegensatz zum Stand der Technik, bei dem nur Bildregionen 60, 62 und 64 als Kopf, Torso bzw. Beine identifiziert werden, entnehmen in 5A Ausführungsformen der Erfindung darüber hinaus aus Region 60 die Hautfarbe, aus Region 62 die Hemdfarbe und aus Region 64 die Hosenfarbe usw. Gleichermaßen wird in 5B nicht nur eine Region 66 als die obere Gesichtsregion identifiziert, sondern sie kann auch Attribute bereitstellen, die Haar, Kahlköpfigkeit oder das Vorhandensein eines Hutes beschreiben. Eine Region 68 wird nicht nur als die mittlere Gesichtsregion identifiziert, sondern kann auch Attribute bereitstellen, die Augen, Brille oder Sonnenbrille beschreiben. Eine Region 70 wird nicht nur als die untere Gesichtsregion identifiziert, sondern kann auch Attribute für Mund, Schnurrbart oder Bart bereitstellen. Darüber hinaus weist das Bild von 5A eine niedrigere Auflösung auf als 5B. Auf den ganzen Körper anwendbare Attributerkenner, wie beispielsweise Hautfarbe, Hemdfarbe und Hosenfarbe, werden auf das Bild mit niedrigerer Auflösung in 5A angewandt, wohingegen Attributerkenner, die für ein Gesicht spezifisch sind, wie beispielsweise Frisur, Vorhandensein von Brille und Schnurrbart, auf 5B angewandt werden.
-
Anschließend wendet in S2 (4) das Auftretenszahlmodul 34 (2) einen Grenzwert auf alle Auftretenszahlen an, die sich aus dem Anwenden von Erkennern für semantische Attribute auf das Bild ergeben haben. Auftretenszahlen unterhalb des Grenzwertes werden verworfen, während die verbleibenden Auftretenszahlen beibehalten werden. Der Grenzwert kann zuvor festgelegt werden und beispielsweise als eine Konstante im Programm zur Erkennung semantischer Attribute 30 gespeichert oder über die E/A-Einheit 28 (2) als Eingabe bereitgestellt werden. Nach Anwenden des Grenzwertes kann immer noch mehr als eine Auftretenszahl in einer Region des Bildes vorhanden sein. Jede Auftretenszahl in jeder Region des Bildes entspricht einem semantischen Attribut. Wie vorstehend beschrieben, entspricht jedes semantische Attribut einem Körperteil. Somit entspricht jede Auftretenszahl in einer Region des Bildes auch einem Körperteil. Dann wird jede Region mit Auftretenszahlen oberhalb des Grenzwertes mit den entsprechenden Körperteilen gekennzeichnet. Als Ergebnis enthält die Ausgabe des Auftretenszahlmoduls 34 Positionen von Regionen, die mit Auftretenszahlen markiert und mit semantischen Attributen und Körperteilnamen gekennzeichnet sind; z. B. beträgt für eine Region x die Auftretenszahl 0,6 und der Kennzeichner lautet „Bart/untere Gesichtsregion”, wobei es sich bei „Bart” um das semantische Attribut und bei „untere Gesichtsregion” um den Körperteil handelt.
-
5C zeigt Beispiele für das Ermitteln von Auftretenszahlen gemäß einer Ausführungsform der Erfindung. Die Region 602 erhält drei Auftretenszahlen: Bart (0,1), Schnurrbart (0,1) und „keine Behaarung” (0,95). Der Grenzwert beträgt zum Beispiel 0,5. Als Ergebnis wird wie vorstehend beschrieben „keine Behaarung” als das Attribut für die Region 602 ausgewählt, da „keine Behaarung” eine Zahl erhält, die oberhalb des Grenzwertes von 0,5 liegt. Gleichermaßen erhält die Region 604 drei Auftretenszahlen: Bart (0,9), Schnurrbart (0,2) und „keine Behaarung” (0,1). Daher wird wie vorstehend beschrieben „Bart” als das Attribut für die Region 604 ausgewählt, da „Bart” eine Zahl erhält, die oberhalb des Grenzwertes von 0,5 liegt. Wie vorstehend beschrieben werden sowohl die Region 604 als auch die Region 602 mit einem Körperteil „untere Gesichtsregion” gekennzeichnet. Die Region 604 wird später unter Umständen zurückgewiesen, da sie gemäß der Bewertung durch das Konfigurationsoptimierungsmodul in S5 (4) eine niedrige geometrische Zahl sowie eine niedrige Auflösungskontextzahl aufweist.
-
Die Ausgabe von S2 (4) enthält Positionen von Regionen, die mit Attributen und Auftretenszahlen markiert und mit Körperteilnamen gekennzeichnet sind. 5D zeigt gemäß einer Ausführungsform der Erfindung Eingaben und Ausgaben für den Schritt, in dem Auftretenszahlen berechnet werden. Zum Berechnen von Auftretenszahlen verwendet das Auftretenszahlmodul 34 (2) Eingaben 610, wozu ein herausgeschnittenes Bild eines Objektes 612, eine Liste semantischer Attribute mit entsprechenden Teilen 52, eine Bildbibliothek semantischer Attribute 620 als Referenz und ein Auftretenszahl-Grenzwert 630 zählen. Die Ausgaben 690 enthalten Regionen im Bild mit semantischen Attributen, Teilenamen und Auftretenszahlen 650. Die Ausgabeauftretenszahlen liegen alle oberhalb des Auftretenszahl-Grenzwertes 630.
-
Um in S3 (4) Auflösungskontextzahlen für das in S2 verarbeitete Bild (z. B. Bild x) zu berechnen, muss das Auflösungskontextzahlmodul 37 (2) Bilder des Bildes x mit höherer Auflösung analysieren. Wie obenstehend beschrieben, werden die Bilder mit höherer Auflösung von S1 erzeugt und gespeichert. Die Hauptidee besteht darin, dass im Fall, dass ein Körperteil in einem Bild bei einer gegebenen Auflösung sichtbar ist, dieser Körperteil auch auf demselben Bild in einer höheren Auflösung sichtbar sein sollte. Zum Beispiel wird in einer bestimmten Region y dem semantischen Attribut „Bart” ein Wert von 0,9 zugewiesen und Region y folglich als „Bart/untere Gesichtsregion” gekennzeichnet. In einem Bild mit höherer Auflösung, sollte die Region y erwartungsgemäß Unter-Teile der unteren Gesichtsregion (z. B. Mund, Kinn usw.) zeigen. Geschieht dies nicht, ist es wahrscheinlich, dass der Körperteil „untere Gesichtsregion” in Region y in der Tat nicht vorhanden ist, und der Region y würde eine niedrige Auflösungskontextzahl zugewiesen.
-
6 zeigt Beispiele des Ermittelns von Auflösungskontextzahlen gemäß einer Ausführungsform der Erfindung. Bei einem Bild mit niedrigerer Auflösung, Bild 700, erkennt das Auftretenszahlmodul 34 (2) in Region 702 einen Gesichtskörperteil, indem Erkenner für semantische Attribute, wie beispielsweise „Bart” oder „Sonnenbrille” oder „Gesichtshautfarbe” angewandt werden. Bild 750 stellt ein Bild von Region 702 mit höherer Auflösung dar. Da die Verfügbarkeit von Auflösungskontextzahlen für eine Region von der Verfügbarkeit eines Bildes mit höherer Auflösung für die Region abhängt, kann mit der Verfügbarkeit des Bildes 750 eine Auflösungskontextzahl für die Region 702 im Bild 700 erhalten werden. Im Bild 750 wird die Region 702 ausgewertet, um zu erkennen, ob das auf dem Bild 700 erkannte Gesicht zu erwartende Unter-Teile wie beispielsweise Augen, Nase und Mund enthält. Erkenner für relevante semantische Attribute wie beispielsweise „Bart” oder „Brille” oder auch „Augenfarbe” können auf das Bild 750 angewandt werden. Dementsprechend werden Auftretenszahlen im Bild 750 für die auf Regionen wie die Region 704 angewandten semantischen Attribute berechnet. Darüber hinaus werden für die identifizierten Regionen mit semantischen Attributen oberhalb eines zuvor festgelegten Grenzwertes geometrische Zahlen berechnet. Kurz gesagt: Die Schritte S2 bis S7 in 4 werden auf das Bild 750 angewandt, um eine Gesamtzahl und/oder eine Zahl eines gewichteten Mittels zu erzeugen, die Teil der Ausgabe 54 für das Bild 750 ist. Jedes Bild erzeugt bei seiner Analyse eine Ausgabe 54. Die Zahl des gewichteten Mittels aus Bild 750 wird zur Auflösungskontextzahl für die Region 702 im Bild 700.
-
6A veranschaulicht weiterhin, wie das Auflösungskontextzahlmodul 37 zu einer Auflösungszahl gelangt. Bei der Verarbeitung von einem Bild mit niedrigerer Auflösung hin zu einem Bild mit höherer Auflösung handelt es sich bei Bild 670 mit einer Auflösung N um ein Bild mit einer niedrigeren Auflösung als Bild 690 mit einer Auflösung N + 1. In Region 675 im Bild 670 besitzt das Attribut „ein europäisches Gesicht” eine Auftretenszahl von 0,9. Mit dem Bild 690 wird die Region 675 bei einer höheren Auflösung untersucht. Der auf das Bild 690 angewandte Analyseprozess beinhaltet ein Berechnen von Auftretenszahlen durch Anwenden semantischer Attribute, ein Berechnen von Auflösungskontextzahlen, ein (in einem späteren Schritt beschriebenes) Berechnen geometrischer Zahlen, ein (in einem späteren Schritt beschriebenes) Durchführen einer Konfigurationsoptimierung und ein (in einem späteren Schritt beschriebenes) Berechnen einer Gesamtzahl. Wie obenstehend beschrieben, enthält die Ausgabe 54 eine Zahl eines gewichteten Mittels der Auftretenszahlen, Auflösungskontextzahlen und geometrischen Zahlen des Bildes, wie hierin beschrieben. Daher stellt die Zahl des gewichteten Mittels, die in diesem Fall 0,7 beträgt, aus der Ausgabe 54 für das Bild 690 die Auflösungskontextzahl der Region 675 im Bild 670 dar.
-
Um weiter zu veranschaulichen, warum die Region
675 im Bild
670 von
6A eine Auflösungskontextzahl von 0,7 besitzt, wird davon ausgegangen, dass es im Bild
690 drei Regionen gibt, die auf der Grundlage von auf das Bild
690 angewandten Erkennern semantischer Attribute erkannt wurden. Es wird angenommen, dass es sich bei diesen drei Regionen um eine Region x, eine Region y und eine Region z handelt. Es wird angenommen, dass die Auftretenszahlen für die Region x, die Region y und die Region z im Bild
690 die Werte 0,9 bzw. 0,8 bzw. 0,9 besitzen. Es wird angenommen, dass die geometrischen Zahlen für die Region x, die Region y und die Region z im Bild
690 die Werte 0,5 bzw. 0,6 bzw. 0,35 besitzen. Es wird angenommen, dass es ein Bild mit höherer Auflösung für die Region x, die Region y und die Region z gibt. Es wird angenommen, dass das Bild mit höherer Auflösung zwei Unterregionen aufweist: Region xx und Region xy. Es wird angenommen, dass die Region xx und die Region xy keine entsprechenden Bilder mit höherer Auflösung aufweisen. Es wird angenommen, dass die Region xx eine Auftretenszahl von 0,95 und die Region xy eine Auftretenszahl von 0,9 besitzt. Es wird angenommen, dass die geometrischen Zahlen für die Region xx und die Region xy Werte von 0,9 bzw. 0,8 besitzen. Da es für die Region xx und die Region xy keine entsprechenden Bilder mit höherer Auflösung gibt, besitzt die Auflösungskontextzahl für die Region xx und die Region xy den Wert 0. Es wird angenommen, dass der Gewichtungsfaktor für die Auftretenszahl, die geometrische Zahl und die Auflösungskontextzahl in allen Analysen des Beispiels 0,5 und 0,3 und 0,2 beträgt. Somit können die Zahlen für das der Region x in Bild
690 entsprechende Bild mit der höchsten Auflösung in Tabelle 1 wiedergegeben werden. Tabelle 1
| Region xx | Region xy | Gewichtung |
Auftretenszahl | 0,95 | 0,9 | 0,5 |
Geometrische Zahl | 0,9 | 0,8 | 0,3 |
Auflösungskontextzahl | 0 | 0 | 0,2 |
-
Die Zahl des gewichteten Mittels für das der Region x in Bild 690 entsprechende Bild mit der höchsten Auflösung beträgt: (0,95·0,5 + 0,9·0,3 + 0·0,2 + 0,9·0,5 + 0,8·0,3 + 0·0,2)/2 = 0,7275
-
Die Summe wird durch 2 dividiert, da es bei der Berechnung zwei Regionen (Region xx und Region xy) gibt. Die Zahl des gewichteten Mittels von 0,7275 wird zur Auflösungskontextzahl für die Region x im Bild 690. Gleichermaßen wird angenommen, dass die Auflösungskontextzahlen bei der Analyse der Bilder mit höherer Auflösung für die Region y und die Region z die Werte 0,6 bzw. 0.5 besitzen.
-
Die nachstehend abgebildete Tabelle 2 zeigt Werte für die Region x, die Region y und die Region z. Tabelle 2
| Region x | Region y | Region z | Gewichtung |
Auftretenszahl | 0,9 | 0,8 | 0,9 | 0,5 |
Geometrische Zahl | 0,5 | 0,6 | 0,35 | 0,3 |
Auflösungskontextzahl | 0,7275 | 0,6 | 0,5 | 0,2 |
-
Somit beträgt die Zahl des gewichteten Mittels für das Bild 690: (0,9·0,5 + 0,5·0,3 + 0,7275·0,2 + 0,8·0,5 + 0,6·0,3 + 0,6·0,2 + 0,9·0,5 + 0,35·0,3 + 0,5·0,2)/3 ≈ 0,7
-
Da das Bild 690 das entsprechende Bild mit höherer Auflösung der Region 675 im Bild 670 darstellt, besitzt die Region 675 im Bild 670 eine Auflösungskontextzahl von 0,7.
-
Wie in 6A weiter verdeutlicht, hängt das Vorhandensein einer Auflösungskontextzahl für eine Region davon ab, ob für diese Region ein Bild mit höherer Auflösung für die Analyse verfügbar ist. Daher besitzt das Bild mit der höchsten Auflösung keine Auflösungskontextzahlen. Als Ergebnis wird die Zahl des gewichteten Mittels für die Ausgabe 54 für das Bild mit der höchsten Auflösung nur das gewichtete Mittel der Auftretenszahlen und geometrischen Zahlen enthalten. Wie durch 6A zudem verdeutlicht, stellt das Bild 690 eine Auflösungskontextzahl für die Region 675 im Bild 670 bereit. Andere Regionen im Bild 670 müssen eine ähnliche Analyse wie vorstehend beschrieben durchlaufen, um zu ihren entsprechenden Auflösungskontextzahlen zu gelangen.
-
Die Ausgabe von S3 (4) enthält Regionen im Bild mit der niedrigsten Auflösung mit semantischen Attributen, Teilenamen und Auflösungskontextzahlen. 6D zeigt gemäß einer Ausführungsform der Erfindung Eingaben und Ausgaben für den Auflösungskontextzahlen ermittelnden Schritt. Für das Berechnen von Auflösungszahlen verwendet das Auflösungszahlmodul 37 (2) Eingaben 830, die Bilder unterschiedlicher Auflösungen 860 und Regionen im Bild mit der niedrigsten Auflösung mit semantischen Attributen, Teilenamen und Auftretenszahlen 650 enthalten. Die Ausgaben 880 enthalten Regionen im Bild mit der niedrigsten Auflösung mit semantischen Attributen, Teilenamen und Auftretenszahlen 885. Beim Erlangen der endgültigen Ausgaben kann das Auflösungszahlmodul 37 Zwischenausgaben erzeugen, die Regionen in Bildern unterschiedlicher Auflösung mit semantischen Attributen, Teilenamen und Auflösungskontextzahlen enthalten.
-
In S4 (4) berechnet das Modul für geometrische Zahlen 36 (2) geometrische Zahlen, indem es die Abstände und Winkel zwischen einer bestimmten Konfiguration von analysierten Kandidatenregionen misst, und versucht, die Abstände und Winkel zwischen den Kandidatenregionen mit der geometrischen Konfiguration eines menschlichen Körpers in Übereinstimmung zu bringen. Je wahrscheinlicher zum Beispiel eine Konfiguration von Kandidatenregionen den natürlichen Abständen des menschlichen Körpers entspricht, desto höher ist die für jeden Teil in der Konfiguration vergebene geometrische Zahl. In einer Ausführungsform lautet der Algorithmus zum Berechnen der geometrischen Zahl wie folgt: Entnimm unter den in Schritt S2 (4) identifizierten semantischen Attributen Teilenamen aus den Attributen; für jeden Teil berechnet das Modul für geometrische Zahlen 36 die Abstände und Winkel von allen anderen Teilen oder nur einem Elternteil, wenn dynamische Programmierung für die Optimierung verwendet wird, und verwendet ein Standardklassifizierungsverfahren (z. B. einen Naiven Bayes-Klassifizierer unter http://en.wikipedia.org/wiki/Naive Bayes classifier), um einen Wert aus einem Bereich von 0 bis 1 darüber zu vergeben, in welchem Grad der Merkmalsvektor der Abstände und Winkel einer plausiblen Konfiguration des menschlichen Körpers entspricht. In Ausführungsformen werden Beispiele für das Berechnen geometrischer Zahlen wie folgt bereitgestellt:
-
Beispiele für die geometrische Zahl (Gi)
-
- Die geometrische Zahl (Gi) für den Körperteil i (oder die Region i) kann als geometrische Zahl (GAi) auf der Grundlage von Winkeln und/oder als geometrische Zahl (GDi) auf der Grundlage von Abständen ausgedrückt werden.
- In einer Ausführungsform ist Gi = (GAi + GDi)/2, wobei es sich um ein unverändertes arithmetisches Mittel handelt.
- In einer Ausführungsform ist Gi = WAGAi + WDGDi, wobei es sich um ein gewichtetes arithmetisches Mittel handelt, bei dem es sich bei den Gewichtungen (WA, WD) um nichtnegative reelle Zahlen handelt, die der Bedingung WA + WD = 1 genügen, und wobei es sich bei den Gewichtungen (WA, WD) um Eingaben handelt, die in einem Beispiel auf der Grundlage solcher Faktoren wie die relative Genauigkeit und/oder das Gewicht von Referenzwerten von Winkeln und Abständen ausgewählt oder ermittelt werden können (siehe nachstehend), mittels derer die geometrischen Zahlen GAi und GDi berechnet werden.
- In einer Ausführungsform ist Gi = (GAi·GDi)1/2, wobei es sich um ein geometrisches Mittel handelt.
- In einer Ausführungsform ist Gi = GAi, wobei nur Winkel und keine Abstände verwendet werden.
- In einer Ausführungsform ist Gi = GDi, wobei nur Abstände und keine Winkel verwendet werden.
-
Auf Winkeln beruhende geometrische Zahl (GAi)
-
- Ai = {Ai1, Ai2, ..., AiN} bezeichne einen Satz von N wie obenstehend beschrieben ermittelten Winkeln zwischen Teil i (oder Region i) und jedem Paar der anderen Körperteile (oder Regionen).
- ai = {ai1, ai2, ..., aiN} bezeichne einen Satz von N entsprechenden, in einer Bibliothek oder Datei gespeicherten Referenzwinkeln, wobei N ≥ 2.
- δAi bezeichne eine Maßzahl einer Abweichung zwischen Ai und ai.
- In einer Ausführungsform ist δAi = [{(Ai1 – ai1)2 + (Ai2 – ai2)2 + ... + (AiN – aiN)2}/N]1/2.
- In einer Ausführungsform ist δAi = (|Ai1 – ai1| + |Ai2 – ai2| + ... + |AiN – aiN|)/N.
- tA bezeichne einen spezifizierten oder eingegebenen Winkelgrenzwert, derart dass: GAi = 0, wenn δAi ≥ tA; und
GAi = 1 – δAi/tA, wenn δAi < tA.
-
Somit gilt für GAi: 0 ≤ GAi ≤ 1. Insbesondere gilt: GAi = 1, wenn δAi = 0 (d. h., wenn alle ermittelten Winkel gleich allen entsprechenden Referenzwinkeln sind). Weiterhin gilt: GAi = 0, wenn δAi ≥ tA (d. h., wenn die Maßzahl der Abweichung zwischen Ai und ai unannehmbar groß ist).
-
Auf Abständen beruhende geometrische Zahl (GDi)
-
- Di = {Di1, Di2, ..., DiM} bezeichne einen Satz von M Abständen zwischen Körperteil i (oder Region i) und jedem anderen Körperteil (oder jeder anderen Region), die wie obenstehend beschrieben ermittelt wurden.
- di = {di1, di2, ..., diM} bezeichne einen Satz von M entsprechenden, in einer Bibliothek oder Datei gespeicherten Referenzabständen, wobei M ≥ 2.
- δDi bezeichne eine Maßzahl einer Abweichung zwischen Di und di.
- In einer Ausführungsform ist δDi = [{(Di1 – di1)2 + (Di2 – di2)2 + ... + (DiN – diM)2}/M]1/2.
- In einer Ausführungsform ist δDi = (|Di1 – di1) + |Di2 – di2| + ... + |DiN – diM|)/M.
- tD bezeichne einen spezifizierten oder eingegebenen Abstandsgrenzwert, derart dass: GDi = 0, wenn δDi ≥ tD; und GDi = 1 – δDi/tD, wenn δDi < tD.
-
Somit gilt für GDi: 0 ≤ GDi ≤ 1. Insbesondere gilt: GDi = 1, wenn δDi = 0 (d. h., wenn alle ermittelten Abstände gleich allen entsprechenden Referenzabständen sind). Weiterhin gilt: GDi = 0, wenn δDi ≥ tA (d. h., wenn die Maßzahl der Abweichung zwischen Di und di unannehmbar groß ist).
-
7A und 7B zeigen Beispiele für das Ermitteln von geometrischen Zahlen für eine optimale Konfiguration gemäß einer Ausführungsform der Erfindung. In 7A sind viele in Abbildung 800 identifizierte Teile vorhanden, wobei jedes Quadrat für eine Region im Bild steht, die ein semantisches Attribut mit einem Teilenamen kennzeichnet. Bei vielen identifizierten Teilen gibt es viele mögliche Konfigurationen, um den menschlichen Körper auszubilden. Der tatsächliche menschliche Körper im Bild ist in 7A überlagert. Zum Beispiel kann in Region 801 ein Kopf erkannt werden. Zwei Arme werden in Regionen 803 und 805 sowie zwei Beine in Regionen 807 und 809 erkannt. 7B veranschaulicht einen Satz von Regionen in der Abbildung 802, die durch das Konfigurationsoptimierungsmodul 38 als Teil einer optimalen Konfiguration ausgewählt wurden. Die Funktionsweise des Konfigurationsoptimierungsmoduls 38 wird im nachfolgenden Schritt beschrieben. Wie in 7B gezeigt, wurden die Regionen 801, 803, 805, 807 und 809 als Teile der optimierten Konfiguration ausgewählt. Die geometrischen Zahlen für jede Region werden bei einer gegebenen Konfiguration berechnet, indem die Winkel und Abstände zu anderen Regionen gemessen werden. Zum Beispiel kann die geometrische Zahl der Region 801 aus dem Messen der Winkel und Abstände der Region 801 zu allen anderen Regionen berechnet werden, die zu einem bestimmten Konfigurationskandidaten gehören.
-
Die Ausgaben von S4 (4) enthalten eine Konfiguration von Kandidatenteilen, wobei jedem Teil (i) ein semantisches Attribut, eine Auftretenszahl Ai, eine Auflösungskontextzahl Ri und eine geometrischen Zahl Gi zugehörig sind. 7C zeigt gemäß einer Ausführungsform der Erfindung Eingaben und Ausgaben für den geometrische Zahlen ermittelnden Schritt. Zum Berechnen geometrischer Zahlen verwendet das Modul für geometrische Zahlen 36 (2) Eingaben 810, die eine Kandidatenkonfiguration von durch das Optimierungsmodul 815 analysierten Teilen (ein Satz von Teilen mit Auftretenszahlen und Auflösungszahlen) sowie eine Referenzbibliothek von Winkeln und Abständen zwischen Teilen 820 beinhalten können. Die Ausgaben 890 enthalten Kandidatenkonfigurationen von Teilen 850, wobei jedem Teil (i) ein semantisches Attribut, eine Auftretenszahl Ai, eine Auflösungskontextzahl Ri und eine geometrischen Zahl Gi zugehörig sind.
-
In S5 (4) verwendet das Konfigurationsoptimierungsmodul 38 (2) dynamische Programmierung, um eine optimale Konfiguration auf der Grundlage der Auftretenszahlen, geometrischen Zahlen und Auflösungskontextzahlen auszuwählen. Bei einem gegebenen Satz von Kandidaten kann es mehrere mögliche Konfigurationen geben, die als endgültige Abschätzung von Körperteilregion plus Attribute aus dem Bild gewählt werden können. Die optimale Konfiguration, bei der es sich um die Konfiguration mit den maximalen Auftretens-, geometrischen, und Auflösungszahlen handelt, wird mittels dynamischer Programmierung unter Verwendung des in „Pictorial Structures for Object Recognition", Felzenszwalb et al., International Journal of Computer Vision (IJCV), Januar 2005, vorgeschlagenen Algorithmus ausgewählt. Wenn eine optimale Konfiguration ausgewählt ist, sind den ausgewählten Regionen für die optimale Konfiguration bereits semantische Attribute zugehörig, und sie weisen wie vorstehend beschrieben Körperteilkennzeichner in den Regionen auf.
-
Daher können in S5 (4) viele mögliche Kandidatenkörperkonfigurationen aus den verfügbaren Regionen und deren zugehörigen Körperteilkennzeichnern und Attributen abgeleitet werden. Das Ziel von S5 liegt darin, die beste Konfiguration aus den vielen möglichen Körperkonfigurationen auszuwählen. Das Optimierungsmodul durchsucht diesen Raum von Konfigurationen mit dem Ziel, die Konfiguration mit der höchsten Zahl des gewichteten Mittels hinsichtlich Auftretenszahlen, Auflösungskontextzahlen und geometrischen Zahlen zu ermitteln. Als Beispiel kann das Konfigurationsoptimierungsmodul 38 die obenstehend beschriebene, in Verbindung mit den Tabellen 1 und 2 verwendete Formel verwenden, um eine Zahl des gewichteten Mittels für jede mögliche Konfiguration zu berechnen und die eine mit der höchsten Zahl des gewichteten Mittels als die Ausgabe auszuwählen.
-
Als Alternative zu zuvor festgelegten Gewichtungen für die drei Arten von Zahlen können beim Berechnen der Zahl des gewichteten Mittels die Gewichtungen dynamisch ermittelt werden. Um aus allen drei Typen von Zahlen eine optimierte Zahl des gewichteten Mittels zu berechnen, können in S6 (4) die optimalen Gewichtungen für die Zahlen ermittelt werden. Beim Ermitteln der optimalen Gewichtungen verwendet das Modul für strukturiertes Lernen 35 (2) in S6 (4) eine in „Large Margin Methods for Structured and Interdependent Output Variables", Tsochantaridis et al., Journal of Machine Learning Research (JMLR), September 2005, beschriebene Prozedur für maschinelles Lernen mit der Bezeichnung „Strukturiertes Lernen” („structured learning”). Die Grundidee beinhaltet, dem System viele Beispiele von Körperteilkonfigurationen einschließlich deren Attribute vorzulegen. Das Modul für strukturiertes Lernen optimiert dann die Gewichtungen so, dass jede Konfiguration im vorgelegten Beispielsatz eine höhere Gesamtzahl als unzulässige Konfigurationen besitzt, die keinen zulässigen menschlichen Körperanordnungen entsprechen. Strukturiertes Lernen wurde zudem von Tran et al. in „Configuration Estimates Improve Pedestrian Finding", National Information Processing Systems Foundation 2007, beschrieben. Es handelt sich dabei um ein Verfahren, das eine Reihe korrekter Beispiele verwendet, um geeignete Gewichtungen von Merkmalen relativ zueinander abzuschätzen, um eine Zahl zu erzeugen, die beim Bewerten von Konfigurationen wirkungsvoll ist.
-
In S7 (4) berechnet das Gesamtzahlberechnungsmodul 39 (2) eine optimierte Gesamtzahl auf der Grundlage der Auftretenszahlen, geometrischen Zahlen und Auflösungskontextzahlen aus den Regionen in der optimierten Konfiguration. Mit der Eingabe aus dem Modul für strukturiertes Lernen 35 (2) verwendet das Gesamtzahlberechnungsmodul 39 die den Auftretenszahlen, geometrischen Zahlen und Auflösungskontextzahlen verliehenen Gewichtungen, um die optimierte Gesamtzahl zu berechnen, die wiederum die Zahl des gewichteten Mittels der Auftretenszahlen, geometrischen Zahlen und Auflösungskontextzahlen erzeugt, indem die Gesamtzahl durch die Anzahl analysierter Regionen dividiert wird.
-
Daher setzt sich jede analysierte Konfiguration aus einem Satz von Teilen zusammen, wobei jedem Teil (i) ein Attribut und eine entsprechende Auftretenszahl A
i, Auflösungskontextzahl R
i und geometrischen Zahl G
i zugehörig ist. In S7 (
4) verwendet das Gesamtzahlberechnungsmodul
39 (
2) die folgende Formel, um die optimierte Gesamtzahl zu berechnen:
wobei A
i für Auftretenszahlen steht, G
i für geometrische Zahlen steht, R
i für Auflösungszahlen für jeden Teil i der Konfiguration steht, sowie W
1, W
2 und W
3 den vom Modul für strukturiertes Lernen erhaltenen Gewichtungen entsprechen. W
1, W
2 und W
3 werden in S6 durch das Modul für strukturiertes Lernen
35 (
2) mithilfe des vorstehend beschriebenen Verfahrens bereitgestellt.
-
8 zeigt Eingaben und Ausgaben für den Schritt des Berechnens einer Gesamtzahl gemäß einer Ausführungsform der Erfindung. Eingaben 840 für das Gesamtzahlberechnungsmodul 39 (2) beinhalten eine Kandidatenkonfiguration von Teilen 842, wobei jeder Teil (i) eine Auftretenszahl Ai, eine Auflösungszahl Ri und eine geometrische Zahl Gi sowie durch das Modul für strukturiertes Lernen bereitgestellte Gewichtungen 844 aufweist. Nachdem die Gesamtzahl berechnet wurde, kann die Zahl des gewichteten Mittels berechnet werden, indem die Gesamtzahl durch die Anzahl von Regionen auf dem analysierten Bild dividiert wird. Die Ausgaben 849 beinhalten eine Zahl 847, die das gewichtete Mittel von Ai, Ri und Gi darstellt.
-
Es versteht sich, dass der hierein verwendete Begriff „Programmcode” jeden Satz von Aussagen oder Anweisungen in jeder Sprache, jedem Code oder jeder Notation bedeutet, die oder der eine Recheneinheit mit der Fähigkeit zur Datenverarbeitung veranlassen kann, eine bestimmte Funktion entweder direkt oder nach einer Kombination des Folgenden durchzuführen: (a) Konvertierung in eine andere Sprache, einen anderen Code oder eine andere Notation; (b) Reproduktion in einer anderen materiellen Form; und/oder (c) Dekomprimierung. In dieser Hinsicht kann der Programmcode als jede Kombination eines oder mehrerer Typen von Computerprogrammen ausgebildet sein, wie beispielsweise eine Anwendung/ein Softwareprogramm, Komponenten-Software/eine Bibliothek von Funktionen, ein Betriebssystem, ein grundlegendes E/A-System (BIOS)/ein Treiber für eine bestimmte Rechen-, Speicher und/oder E/A-Einheit und Ähnliches.
-
Die vorangehende Beschreibung vielfältiger Aspekte der Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung vorgelegt. Sie ist nicht als erschöpfend oder die Erfindung auf genau die offenbarte Form beschränkend aufzufassen, und offensichtlich sind viele Modifikationen und Variationen möglich. Derartige Modifikationen und Variationen, die für den einzelnen Fachmann naheliegend sein können, sind im Umfang der Erfindung, wie sie in den begleitenden Ansprüchen festgelegt ist, enthalten.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- „Strike a Pose: Tracking People by Finding Stylized Poses”, Ramanan et al., Computer Vision and Pattern Recognition (CVPR), San Diego, Kalifornien, Juni 2005 [0002]
- „Pictorial Structures for Object Recognition”, Felzenszwalb et al., International Journal of Computer Vision (IJCV), Januar 2005 [0002]
- N. Dalal and B. Triggs, „Histograms of Oriented Gradients for Human Detection”, Proceedings of the IEEE Conference an Computer Vision and Pattern Recognition, San Diego, USA, Juni 2005, Band II, Seiten 886 bis 893 [0035]
- Viola et al. in „Robust Real-time Object Detection”, Cambridge Research Laboratory Technical Report, Februar 2001 [0038]
- Bo Wu et al. in „Fast Rotation Invariant Multi-View Face Detection Based an Real Adaboost”, IEEE International Conference an Automatic Face and Gesture Recognition, 2004 [0038]
- http://en.wikipedia.org/wiki/Naive Bayes classifier [0054]
- „Pictorial Structures for Object Recognition”, Felzenszwalb et al., International Journal of Computer Vision (IJCV), Januar 2005 [0059]
- „Large Margin Methods for Structured and Interdependent Output Variables”, Tsochantaridis et al., Journal of Machine Learning Research (JMLR), September 2005 [0061]
- Tran et al. in „Configuration Estimates Improve Pedestrian Finding”, National Information Processing Systems Foundation 2007 [0061]