DE60036780T2 - Verfahren zum Vergleichen eines zweidimensionalen Bildes zu einem unter mehreren in einem Datenbank gespeicherten dreidimensionalen Kandidatmodellen - Google Patents

Verfahren zum Vergleichen eines zweidimensionalen Bildes zu einem unter mehreren in einem Datenbank gespeicherten dreidimensionalen Kandidatmodellen Download PDF

Info

Publication number
DE60036780T2
DE60036780T2 DE60036780T DE60036780T DE60036780T2 DE 60036780 T2 DE60036780 T2 DE 60036780T2 DE 60036780 T DE60036780 T DE 60036780T DE 60036780 T DE60036780 T DE 60036780T DE 60036780 T2 DE60036780 T2 DE 60036780T2
Authority
DE
Germany
Prior art keywords
dimensional
model
image
histogram
dimensional image
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 - Lifetime
Application number
DE60036780T
Other languages
English (en)
Other versions
DE60036780D1 (de
Inventor
Sebastien Princeton Roy
Albert Peter Princeton Blicher
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of DE60036780D1 publication Critical patent/DE60036780D1/de
Application granted granted Critical
Publication of DE60036780T2 publication Critical patent/DE60036780T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/60Extraction of image or video features relating to illumination properties, e.g. using a reflectance or lighting model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/758Involving statistics of pixels or of feature values, e.g. histogram matching
    • 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/172Classification, e.g. identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Bereich der Erfindung
  • Diese Erfindung bezieht sich im Allgemeinen auf Computersichtung und insbesondere auf die Erkennung und Identifikation eines Gesichts oder eines anderen Objekts aus einer gespeicherten Datenbank von dreidimensionalen Modellen oder 3D-Modellen, wenn eine willkürliche zweidimensionale Fotografie oder 2D-Fotografie eines Gesichtes oder Objektes in einer willkürlichen Pose und unter willkürlichen Belichtungsumständen präsentiert wird.
  • 2. Stand der Technik
  • Es gibt zwei Unterbereiche der Computersichtung, welche eng mit dem Bereich dieser Erfindung verbunden sind: die Gesichtserkeuung und Objekterkennung. Die Gesichtserkennung befasst sich in erster Linie mit der Identifikation von 2D-Bildern menschlicher Gesichter oder dem Abgleich von 2D-Bildern von Gesichtern mit anderen derartigen 2D-Bildern. Die Verfahren des Standes der Technik verwenden keine 3D-Modelle von Gesichtern zur Identifikation von 2D-Bildern.
  • Der Bereich der Objekterkennung hat jedoch als Hauptanliegen die Identifikation von 2D-Bildern basierend auf bekannten 3D-Bildern. Es gibt zahlreiche Arbeiten auf diesem Gebiet. Ein neueres Beispiel sind die Verfahren, welche eine sogenannte "Ausrichtung" verwenden.
  • Die gebräuchlichen Verfahren bestehen aus der Extraktion einiger Merkmale aus dem Grauskalenbild, welche dann mit Kandidatenmerkmalen aus den Modellen abgeglichen werden. Beispiele für Merkmale sind bestimmte Punkte (wie beispielsweise Ecken), extrahierte Kanten, Konfigurationen von Kanten (wie beispielsweise parallele Kanten, manchmal als "Bänder" bezeichnet) etc. Die Hauptprobleme der Objekterkennungsliteratur drehen sich darum, wie (1) gute Merkmale ausgewählt werden, (2) die großen kombinatorischen Möglichkeiten verwaltet werden, welche sich aus den Möglichkeiten des Abgleichs einer großen Anzahl von Bildmerkmalen mit einer großen Anzahl von Modellmerkmalen ergeben, und (3) die Qualität eines Abgleichs in Gegenwart zahlreicher Fehlerquellen gemessen werden kann. Das Problem der Belichtung tritt in erster Linie auf der (frühen) Stufe auf, wenn Merkmale zum Abgleich extrahiert werden. Der Stand der Technik bezüglich der Objekterkennung weist eine beträchtliche Betonung des vorstehenden Durchführungsschrittes (1) auf (Posenschätzung), hat jedoch wenig bezüglich des Problems der Betrachtung der Effekte von Licht zu sagen, welche in den Schritten (2) und (3) benötigt werden.
  • Die Gesichtserkennung weist andererseits ein beträchtliches Interesse an der Handhabung der Belichtung auf. Die Gesichtserkennungsliteratur hat eine Reihe von Verfahren hervorgebracht, wie mit Belichtungsschwankungen umgegangen werden kann. Diese drehen sich um zwei Hauptansätze: (1) Abschätzung der Belichtungsbedingungen (wie im vorstehenden Schritt (2)), oder (2) Analyse des Bildraumes, welcher bei einer Variation der Belichtung entsteht. Typischerweise profitiert das Verfahren (2) von der "Hauptkomponentenanalyse" (Principal Component Analysis, PCA) zur Identifikation der Abmessungen des Bildraumes, in welchem die meisten Variationen auftreten. Diese typischerweise bildbasierten Verfahren waren unter Bedingungen, in welchen sich die Pose nicht ändert, recht erfolgreich. Im Allgemeinen betrafen sie jedoch nicht die Verwendung von 3D-Modellen, obgleich im Stand der Technik diejenigen existieren, welche 3D-Modelle aus Bildern konstruieren und sich um die Beziehungen zwischen Bildern und 3D-Struktur Gedanken machen, wie dies bei einem Großteil der Arbeiter in der Computersichtung der Fall ist.
  • Es liegen auch beachtliche Arbeiten von anderen Fachleuten darüber vor, wie der Abweichungsraum eines Gesichts in Verbindung mit der beobachteten Schattierung verwendet werden kann, um eine Linearisierung zuzulassen, welche wiederum eine PCA-Analyse erlaubt, auf welcher die Erkennung basieren kann. Diese Handwerker verwenden ein Verfahren, welches auf der Abweichung von Graphen basiert, welche mit Standard-Merkmalspunkten auf dem Gesicht übereinstimmen, oder auf ähnlichen Verfahren, welche in handelsüblichen Systemen angewendet werden. In den letzten Jahren interessieren sich viele Gruppen für die Gesichtserkennung, und die in den letzten ca. 5 Jahren entstandene Literatur ist recht umfangreich. Das Hauptanliegen all dieser Verfahren ist jedoch die Identifikation von 2D-Bildern basierend auf Übungssätzen anderer 2D-Bilder.
  • Einen Hauptbeitrag zur explosionsartigen Vermehrung des Interesses an der Gesichtserkennung leistete der Faktor der erfolgreichen Anwendung von PCA-Verfahren an dem Problem. Dies war eindrucksvoll, da es eine bequeme Lösung dessen darstellte, was bis dahin als ein unlösbares Problem betrachtet wurde. Jedoch bestehen ernsthafte Beschränkungen im Hinblick auf eine Variation der Bedingungen, unter welchen die Daten erlangt werden müssen; insbesondere müssen Belichtung, Pose und Skala so konstant wie möglich sein. Diese Beschränkungen können auf die Tatsache zurückgeführt werden, dass PCA eine lineare Dekomposition darstellt und daher nur zu guten Ergebnissen führen wird, wenn der Raum, auf den sie bezogen wird, ein linearer Raum ist. Der Raum von Bildern in variierender Pose ist nicht linear, und daher versagt PCA. Die Fachleute gingen dieses Problem dadurch an, dass sie bestimmte Möglichkeiten fanden, den nichtlinearen Raum zurück in linearen Raum umzuwandeln, welcher für PCA geeignet ist. Noch andere Fachleute betonten, dass in den einfachen Fällen jedes beliebige Bild eines derart einfachen Objekts lediglich eine lineare Kombination der Bilder unter fast jeglichen beliebigen 3 unterschiedlichen Belichtungsbedingungen darstelle. Dies führte zu Aktivitäten auf diesem Gebiet, welche in Arbeit an der rigorosen Ausarbeitung der Beziehung zwischen Belichtung und Bildraum kulminierten. Es sollte sich jedoch verstehen, dass in Gegenwart von Schatten die Situation nach wie vor recht komplex ist.
  • Im Stand der Technik sind Vorrichtungen bekannt, welche 3D-Modelle von menschlichen Gesichtern erfassen. Diese Vorrichtungen erfassen Bilder der Gesichter in Registrierung mit den erfassten 3D-Modellen. Die 3D-Modelle bestehen aus den dreidimensionalen Koordinaten einer großen Anzahl von Punkten auf der Gesichtsoberfläche, typischerweise in der Größenordnung von 640 × 640, zusammen mit dem Farbbildwert an jedem Punkt. Dies liefert die Möglichkeit einer realistischen Computergraphikbearbeitung der Gesichter von jedem beliebigen Punkt aus.
  • Es wird in Betracht gezogen, diese Vorrichtungen zu verwenden, um eine große Anzahl von Gesichtsmodellen zu erfassen. In einigen Anwendungen könnte diese Anzahl die Größenordnung von einer Million Gesichtern oder mehr erreichen.
  • Eine Anwendung einer derartigen Vorrichtung ist die Gesichtserkennung, d. h. bei Vorliegen einer Frage, welche aus einer willkürlichen 2D-Fotografie eines Gesichts besteht, wird eine große Datenbank im Voraus erfasster 3D-Modelle von Gesichtern durchsucht, um das Modell zu finden, welches am besten mit der Fotografie übereinstimmt.
  • Es bestehen zahlreiche Hindernisse, welche überwunden werden müssen, um dies zu erreichen. Im Allgemeinen besteht keine Kenntnis oder Regelung der Bedingungen, unter welchen die fragliche Fotografie erlangt wurde. Daher sind die Pose (d. h. die Position und Ausrichtung des Subjekts) und die Belichtungsbedingungen der fraglichen Fotografie unbekannt.
  • Ein Paradigma des Standes der Technik zum Abgleich einer Anfrage mit einem Modell lautet in dieser Umgebung:
    • 1) die Pose des Gesichts in der Anfrage wird bestimmt. Für die Zwecke dieser Anmeldung ist "Pose" definiert als die 3D-Position und Ausrichtung des Gesichts;
    • 2) die Belichtung in der Anfrage wird bestimmt. Dies bedeutet das Herausfinden der Richtung, Intensität und Farbe jeder beliebigen Anzahl von Lichtquellen, welche das Subjekt möglicherweise beleuchtet haben könnten, als die fragliche Fotografie erlangt wurde;
    • 3) für jedes Modell in der Datenbank werden dann Computergraphik-Techniken verwendet, um ein realistisches Bild des Modells in der Pose und unter den Belichtungsbedingungen zu erhalten, welche in den Schritten (1) und (2) bestimmt wurden; und
    • 4) unter den in dem vorstehenden Schritt berechneten Verarbeitungen wird diejenige herausgefunden, welche der Anfrage am ähnlichsten zu ist.
  • Alle diese Schritte beinhalten Schwierigkeiten, welche in dem aktuellen Stand der Technik nicht überwunden werden. Die Verfahren der vorliegenden Erfindung betreffen den zweiten, dritten und vierten Schritt, und zwar das Herausfinden der Belichtungsbedingungen in der Anfrage und die Bestimmung, welcher vorgeschlagene Kandidat der Anfrage unter diesen Belichtungsbedingungen am ähnlichsten zu sein schiene.
  • Die Schwierigkeit des Verfahrens des vorstehend beschriebenen Standes der Technik liegt darin, dass zur Lösung der Belichtung die Kenntnis der dreidimensionalen Konfiguration der Oberfläche nötig ist, welche fotografiert wurde, ebenso ihre Reflektionseigenschaften. Die Anfrage liefert jedoch keine dieser Informationen unmittelbar. In den letzten 40 Jahren wurde in der Computersichtung viel Energie darauf verwendet, diese Information aus einem oder mehreren Bildern zu erlangen.
  • Die Verfahren des Standes der Technik führen die vorstehenden Schritte (2) und (3) durch, indem sie zunächst die Belichtung lösen, indem die Bildbestrahlungsgleichung (die Lambert'sche Bildgleichung) gelöst wird, welche ein System linearer Gleichungen mit 5 unabhängigen Variablen für jede potentielle Lichtquelle ist: 2 Variablen geben dabei die Richtung des Lichts an (beispielsweise Orientierung und Azimuth), und 3 Variablen geben die Rot-, Blau- bzw. Grün-Intensität an. Die Anzahl der Gleichungen entspricht der Anzahl von Datenpunkten in dem Bild, für welches die Oberflächennormale und Reflexion verfügbar sind, mal der Anzahl von Farbkomponenten, typischerweise 3. Eine bedeutende Einschränkung ist jedoch die Anforderung, dass die Lichtintensitäten nicht negativ sein dürfen. Diese letztere Anforderung schließt aus, dass das System mit Hilfe eines Standardverfahrens für lineare Systeme gelöst wird, und erfordert statt dessen ein anspruchsvolleres Verfahren, wie beispielsweise eine lineare Programmiertechnik oder den sogenannten nichtnegativen Algorithmus der kleinsten Quadrate. Diese besonderen Techniken erfordern beträchtlich mehr Berechnungszeit zur Lösung als dasselbe System ohne die Beschränkungen der Nicht-Negativität erfordern würde. Dieser Ansatz wurde durch Fachleute angeregt, wie vorstehend erwähnt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist daher ein Ziel der vorliegenden Erfindung, ein Verfahren zum Abgleich eines 2D-Bildes mit einem aus einer Vielzahl von 3D-Kandidatenmodellen abzugleichen, welche in einer Datenbank enthalten sind, welches einfacher ist und relativ geringe Kosten verglichen mit Verfahren des Standes der Technik aufweist, und in welchem ein Objekt identifiziert wird, ohne dass Lichtquellen gelöst oder andere komplexe und kostspielige Berechnungen durchgeführt werden müssten, wie beispielsweise die Eigenvektorbestimmung, wodurch das neue Verfahren keine Iterationsalgorithmen erfordert, welche je nach der Größe von beinhalteten Problemen eine oder zwei Größenordnungen mehr Berechnungszeit benötigen.
  • In einer ersten Variante der Verfahren zum Abgleich eines zweidimensionalen Bildes mit einem aus einer Vielzahl von dreidimensionalen Kandidatenmodellen umfasst das Verfahren die folgenden Schritte: Feststellen der Position und Ausrichtung eines Objekts, welches das zweidimensionalen Bild erzeugt; für jedes dreidimensionale Modell, Berechnen einer histogrammähnlichen Tabelle, die einen berechneten Helligkeitskoeffizienten für jede Oberflächennormale des Modells auweist, basierend auf dem entsprechenden Wert in dem zweidimensionalen Bild, wobei jeder Helligkeitskoeffizient nur von der entsprechenden Oberflächennormale abhängt; sukzessives Berechnen bzw. Rendern von jedem dreidimensionalen Modell in der festgestellten Position und Ausrichtung unter Verwendung der Oberflächennormalen in Verbindung mit der entsprechenden berechneten histogrammähnlichen Tabelle; und Vergleich des zweidimensionalen Bildes mit jedem der berechneten bzw. gerenderten Modelle.
  • In einer zweiten Variante der Verfahren zum Abgleich eines zweidimensionalen Bildes mit einem aus einer Vielzahl von dreidimensionalen Kandidatenmodellen umfasst das Verfahren die folgenden Schritte: Feststellung der Position und Ausrichtung eines Objekts, welches das zweidimensionale Bild erzeugt; für jedes dreidimensionale Kandidatenmodell, Berechnen einer histogrammähnlichen Tabelle, die einen berechneten Helligkeitskoeffizienten für jede Oberflächennormale des dreidimensionalen Kandidatenmodells aufweist, basierend auf dem entsprechenden Wert in dem zweidimensionalen Bild, wobei jeder Helligkeitskoeffizient nur von der entsprechenden Oberflächennormale abhängt; Berechnen der Abweichung der Helligkeitskoeffizienten, die verwendet werden, um jeden Behälter bzw. Bucket der histogrammähnlichen Tabelle zu erzeugen, wobei ein Behälter bzw. Bucket ein Satz von Normalenwerten ist, die einander ähneln und die zusammengefasst sind, um einen einzelnen Argumentwert in der histogrammähnlichen Tabelle zu bilden; Berechnen der Summe der Abweichungen der histogrammähnlichen Tabellenbehälter bzw. -buckets; und Ordnen der dreidimensionalen Kandidatenmodelle in einer Rangordnung bzw. einem Ranking unter Verwendung ihrer berechneten Summe als eine Fehlerfunktion, wobei die Rangordnung bzw. das Ranking die Wahrscheinlichkeit angibt, dass das entsprechende dreidimensionale Modell mit dem zweidimensionalen Bild übereinstimmt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Diese und andere Merkmale, Aspekte und Vorteile der Verfahren der vorliegenden Erfindung sind besser verständlich in Hinblick auf die folgende Beschreibung, die anhängenden Ansprüche und die anliegenden Zeichnungen, welche Folgendes darstellen:
  • 1 eine schematische Darstellung des erfindungsgemäßen Vefahrens;
  • 2 weiter das Lichtsphärenmodul aus 1;
  • 3 eine graphische Darstellung der Lichtsphären-Datenstruktur aus 2.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Obgleich diese Erfindung auf zahlreiche und unterschiedliche Arten von zu erkennenden Objekten angewendet werden kann, wurde sie in der Umgebung der Erkennung menschlicher Gesichter als besonders nützlich befunden. Daher wird die Erfindung, ohne die Anwendbarkeit der Erfindung auf die Erkennung menschlicher Gesichter zu beschränken, in einer derartigen Umgebung beschrieben.
  • Die Verfahren der vorliegenden Erfindung weisen ein Verfahren des Vergleichs einer angefragten Fotografie, wie beispielsweise eines Gesichts einer zu identifizierenden Person, mit einem aus einer Vielzahl von 3D-Modellen auf, welche in einer Datenbank enthalten sind. Die Verfahren der vorliegenden Erfindung nehmen im Voraus ein bestimmtes Reflexionsmodell an, welches als die Lambert'sche Annahme bekannt ist. Obgleich die Erfindung gegen Abweichungen von den wahren Details der Reflexion von diesem Modell stabil ist, besteht der Hauptpunkt darin, dass sie eine funktionale Beziehung zwischen den Daten in der Anfrage und den Daten in dem Modell darstellt, d. h. es existiert eine Gleichung, welche die Anfrage und das Modell in eine Beziehung zueinander bringt. Die Verfahren der vorliegenden Erfindung können als eine effiziente Möglichkeit der Messung betrachtet werden, bis zu welchem Ausmaß die erwartete Form dieser funktionalen Beziehung zwischen der Anfrage und dem mutmaßlichen Modell besteht, aus welchem sie stammt. Diese Messung kann verallgemeinert werden; beispielsweise stellt die statistische Idee der Korrelation eine Verallgemeinerung der funktionalen Relation dar.
  • Eine weitere Verallgemeinerung, welche in erster Linie in der Informationstheorie entstand, hängt von den Entropien der Verteilungen ab, welche die Objekte beherrschen, die verglichen werden sollen. Diese Verteilungen könnten beispielsweise die Punktwerte unterschiedlicher Messungen in den beiden Objekten beherrschen. Die Entropie kann als eine Messung der Unsicherheit betrachtet werden, d. h. je größer die Entropie, umso schwieriger ist eine Vorhersage des Ausgangs der Zeichnung eines Musters aus einer Wahrscheinlichkeitsverteilung. Wenn zwei zufällige Variablen mit einer gemeinsamen Verteilung vorliegen, beispielsweise die Datenwerte eines 3D-Modells und eines mutmaßlichen 2D-Bildes dieses Modells, so kann festgestellt werden, bis zu welchem Ausmaß die Kenntnis des Wertes einer dieser zufälligen Variablen, beispielsweise eines 9-Punkte-Flecks auf dem 3D-Modell, hilfreich ist bei der Vorhersage des Wertes der anderen Variable, beispielsweise der Intensität an einem entsprechenden Pixel in dem 2D-Bild. Diese Frage wird dadurch quantifiziert, dass die Differenz zwischen der Entropie der Marginalverteilung der zweiten Variable verwendet wird, und die Entropie der Konditionalverteilung der zweiten Variablen von der ersten subtrahiert wird. Dies ergibt einen Wert, um welchen die Unsicherheit dank der Kenntnis der ersten Variable abnimmt. Dies kann wie folgt zusammengefasst werden: I(Y; X) = H(Y) – H(X|Y) (1)wobei H die Entropie darstellt, X die erste zufällige Variable ist, und Y die zweite zufällige Variable ist. Diese Quantität, welche durch I(Y; X) dargestellt wird, ist als die gegenseitige Information zwischen X und Y bekannt. Sie ist symmetrisch und ist auch gleich H(X) + H(Y) – H(X, Y) (2)wobei H(X, Y) die Entropie der gemeinsamen Verteilung von X und Y darstellt.
  • Somit können die Verfahren der vorliegenden Erfindung als eine bestimmte Näherung an die Messung der gegenseitigen Informaion zwischen dem 3D-Modell und der 2D-Anfrage (bzw. den diese beherrschenden Verteilungen) angenommen werden.
  • In einem System, in welchem eine fotografische 2D-Anfrage mit einem 3D-Modell in einer großen Datenbank derartiger Modelle verglichen werden soll, indem die Erscheinung jedes Modells unter der Pose und den Belichtungsbedingungen vorhergesagt wird, welche die Anfrage erzeugte, vermeiden die Verfahren der vorliegenden Erfindung das Problem der Auflösung nach Lichtquellen, welche das Anfragebild erzeugten, indem jedes sukzessive 3D-Modell als eine Kandidatenlösung verwendet wird, und in Verbindung mit der Anfrage eine histogrammähnliche Tabelle aufgebaut wird, welche einen Helligkeitskoeffizienten für jede Oberflächennormale spezifiziert, der ausschließlich von der Normale abhängig ist. In einer Variation der erfindungsgemäßen Verfahren wird das Modell dann in die bereits in etwa bekannte Pose gebracht, was mit Hilfe dieser Helligkeitskoeffizienten geschieht, und das resultierende Bild wird mit dem Anfragebild verglichen und ein Fehler wird berechnet. Dieser Fehler bestimmt eine Rangordnung bzw. ein Ranking der Modelle zum Zwecke der Identifikation. In einer anderen Variation wird kein derartiges sogenanntes Rendern vorgenommen, statt dessen wird die Varianz der Modelle in jedem "Behälter" bzw. "Bucket" der Helligkeit gegen die normale histogrammähnliche Tabelle berechnet, und diese Varianz, möglicherweise gewichtet mit der Anzahl von Modellen, wird über alle Buckets summiert, um einen Qualitäts-Messwert zu ergeben, welcher dann zur Identifikation auf dieselbe Weise verwendet wird wie ein Fehler-Messwert.
  • Es wird angenommen, dass eine gute, wenn auch nicht notwendigerweise präzise, Lösung für die Pose der Anfrage existiert. Jedoch ist nicht bekannt, welches Modell das Anfragebild erzeugt hat, und es ist nicht bekannt, wie die Belichtungsbedingungen für die Anfrage waren.
  • Das erfindungsgemäße Verfahren geht daher wie folgt vor:
    • a. Es wird sukzessive jedes Modell als das "korrekte" angenommen.
    • b. Mit Hilfe des Anfragebildes wird eine histogrammähnliche Tabelle berechnet, welche einen "Helligkeits"-Koeffizienten mit jeder Normale in Verbindung setzt. (Bei Farbbildern werden bevorzugt drei derartige Koeffizienten berechnet, einer für jede Farbkomponente, typischerweise Rot, Grün und Blau).
  • Es existieren 2 bevorzugte Variationen des Verfahrens. Die erste lautet wie folgt:
    • c1. Die Normalen des Modells werden unter Berücksichtigung in Verbindung mit dem in Schritt (b) berechneten Normalen-/Hellig keits-Histogramm verwendet, um ein Bild des Modells unter mutmaßlich denselben Belichtungsbedingungen zu rendern, wie sie vorlagen, als die Anfrage fotografiert wurde.
    • d1. Die Anfrage wird mit dem gerenderten Bild verglichen, um die Wahrscheinlichkeit in eine Rangfolge einzuordnen, mit welcher dieses Modell tatsächlich das korrekte ist.
  • Die zweite Variation ersetzt die beiden letzten Schritte durch folgende:
    • c2. Es wurden zusätzliche Informationen gespeichert, als das Normalen-/Helligkeits-Histogramm berechnet wurde, somit wird die Varianz der Helligkeitskoeffizienten berechnet, welche zur Berechnung jedes Bucket des Histogramms verwendet wurden. (Ein "Bucket" ist der Satz ähnlicher Normalenwerte, welche zusammengenommen werden, um einen einzelnen Argumentwert in dem Histogramm zu bilden.)
    • d2. Es wird die Summe der Varianzen der Histogramm-Buckets berechnet, und zwar gewichtet nach der Anzahl von Modellen in jedem Bucket. Diese Summe wird als ein Fehler-Messwert bei der Einordnung der Modelle in eine Rangfolge zur Auswahl des korrekten verwendet.
  • In Schritt (b) wird die Auflösung nach der Belichtung in dem vorstehend als Schritt (2) besprochenen Paradigma vermieden. Es ist jedoch in Schritt (c1) nach wie vor möglich, das Rendern vorzunehmen, das in Schritt (3) des Paradigmas gefordert wird. In den alternativen Evaluationsschritten (c2) und (c3) ist es möglich, ein Rendern vollständig zu vermeiden, indem die Wahrscheinlichkeit einer Übereinstimmung zwischen einem 3D-Modell und einer 2D-Fotoanfrage bewertet wird.
  • Die Verfahren der vorliegenden Erindung basieren somit auf der Beobachtung, dass eine Berechnung der Lichtquellen, d. h. die Belichtung, welche das Anfragebild erzeugte, nur ein Zwischen schritt in einem Prozess ist, dessen wahres Ziel im Kontext des Gesamtsystems das Rendern des Identifikationskandidaten unter denjenigen Belichtungsbedingungen zum Zweck des Vergleichs mit der Anfrage ist, oder aber tatsächlich die Berechnung der relativen Wahrscheinlichkeit, dass das Modell mit der Anfrage übereinstimmt, sogar ohne Vornahme eines derartigen Renderns, jedoch mit äquivalenten Ergebnissen.
  • Was letztendlich gemessen werden soll, ist die Konsistenz der zugewiesenen Helligkeitskoeffizienten im Zusammenhang mit jeder Normale. Da die Normalen und Reflexionswerte des 3D-Modells in Verbindung mit den beobachteten Intensitäten der Anfrage verwendet werden, ist dies ein Messwert des Fehlers bei Übereinstimmung der 2D-Fotoanfrage mit dem 3D-Modell.
  • Die erfindungsgemäßen Verfahren basieren auf einem Lambert'schen Modell der Reflexion. Die Lambert'sche Annahme ist es, dass die Intensität, welche auf einen Punkt in einer monochromen Fotografie eines durch eine punktförmige Lichtquelle beleuchteten Objekts projiziert wird, ausschließlich von folgenden Größen abhängig ist:
  • R,
    die "Reflexion" an dem Punkt des Objekts, welcher den entsprechenden Punkt in dem Bild erzeugt,
    N,
    die "Normale" zu der Oberfläche an dem fraglichen Punkt (d. h. die einmalige senkrechte Richtung zu der Oberfläche an diesem Punkt),
    L,
    ein Einheitsvektor, welcher die Richtung von dem Punkt zum Licht darstellt, und
    b,
    die Intensität der Lichtquelle an dem Punkt.
  • Insbesondere ist die beobachtete Intensität in dem Bild nicht vom Blickwinkel abhängig, sondern ausschließlich von den intrinsischen Eigenschaften des Objekts, sowie der Belichtungsrichtung und -intensität.
  • Die beobachtete Bildintensität wird durch folgende Gleichung beschrieben: I = R b L·N (3)wobei I die Bildintensität an dem fraglichen Bildpunkt ist und · das gewöhnliche Vektorpunktprodukt.
  • Falls die Größen R, b, L und N an jedem Punkt angegeben sind, so müssen zur Erzeugung einer Renderung aus einem 3D-Modell nur die Multiplikationen in Gleichung 3 durchgeführt werden. Auch muss bestimmt werden, welche Abschnitte des Modells sichtbar sein werden; jedoch kann dies angemessen durch existierende Computergraphik-Techniken erfolgen.
  • Die Situation in dem zu lösenden Modellidentifikations-Problem ist derart, dass R und N für jedes Modell bekannt sind, I aus der Anfrage bekannt ist, und b und L unbekannt sind. Ein Ansatz besteht unter Einbeziehung von Schritt (2) in dem vorstehend besprochenen Paradigma darin, nach b und L aufzulösen und dann die Multiplikation in Gleichung 3 durchzuführen.
  • Der Ansatz der erfindungsgemäßen Verfahren besteht darin, zu versuchen, nur nach der zusammengesetzten Größe b L·N aufzulösen, und dann (in der ersten vorstehend erwähnten Variation) die Multiplikation in Gleichung 3 durchzuführen.
  • An jedem Punkt wird die Gleichung 3 aufgeteilt und ergibt b L·N = I/R (4)wobei diese Größe als B(N), ein Helligkeitskoeffizient, bezeichnet werden kann.
  • Nach dem Rendern wird Gleichung 3 zu Igerendert = B(N) R (5)
  • Würde dies nur an einem Punkt erfolgen, so wäre es trivial und würde lediglich zum 'I' der Anfrage zurück führen, mit dem begonnen wurde. Im Allgemeinen existieren jedoch zu jeder Normale, welche in dem Modell auftritt, zahlreiche andere Punkte mit derselben oder annähernd derselben Normale. Wenn aus allen B-Werten, welche erhalten werden, jedesmal dann ein Durchschnittswert gebildet wird, wenn dieselbe Normale auftritt, und Gleichung 5 verwendet wird, um ein Bild aus dem Modell zu rendern, so erhält man nur eine Annäherung an das 'I' in der Anfrage. Falls die unterschiedlichen Werte, aus welchen der Durchschnittswert gbildet wurde, um B(N) für ein bestimmtes N zu erhalten, sich aufgrund kleiner Variationen in den Materialeigenschaften, Messfehlern, Nichtlinearitäten etc. unterschieden würden, die Anfrage jedoch in Wirklichkeit mit dem Modell übereinstimmen würde, so könnte erwartet werden, dass der durch B(N) dargestellte Durchschnittswert eine gute Annäherung an diejenige Zahl wäre, die nötig ist, damit die Gleichung 5 eine gute Annäherung an die beobachtete Anfrageintensität ergibt. Wenn jedoch die Anfrage in Wirklichkeit nicht mit dem Modell übereinstimmt, da die Werte von N, welche verwendet werden, von dem Modell stammen, während die Intensitäten I von der Anfrage stammen, so kann erwartet werden, dass die Korrelationen zwischen B(N)-Werten schlecht sind, und der Durchschnittswert, wenn er in die Gleichung 5 eingesetzt wird, wahrscheinlich nicht zu einem Ergebnis führt, welches dem Wert in der Anfrage nahekommt. In diesem Fall wird festgestellt, dass die Renderung einen größeren Fehler im Vergleich zur Anfrage aufweist als in dem Fall, in welchem die Anfrage in Wirklichkeit mit dem Modell übereinstimmt.
  • B ist eine Funktion, welche einen Oberflächennormalenvektor zu einer Zahl benötigt, d. h. B:S2 → R, wobei S2 eine sogenannte Gauß'sche Sphäre ist, welche der Raum (oder die Vielfache) aller möglichen Normalenrichtungen zu einer in einem 3-dimensionalen Raum eingebetteten Oberfläche ist. Die 2 benennt die Tatsache, dass diese Sphäre 2-dimensional ist, wie auch die Oberfläche einer gewöhnlichen Kugel. Aus diesem Grund wird das erfindungsgemäße Verfahren auch als das "Lichtsphären"-Verfahren bezeichnet, da es versucht, eine Helligkeitsfunktion zu finden, welche auf der Gauß'schen Sphäre definiert ist.
  • Soweit wurde die Situation mit einer einzelnen punktförmigen Lichtquelle und einem monochromen Bild vorgestellt. Zur Verallgemeinerung von monochrom auf Farbe, wird der monochrome Fall 3 Mal durchgeführt, einmal für jede Farbkomponente.
  • Eine Verallgemeinerung der Belichtung ist, anders als die Farbe, nicht so einfach. Im Allgemeinen kann die Belichtung viel komplexer sein als eine einfache Punktquelle, und ist es meist auch. Auf jeden beliebigen Punkt der Oberfläche kann Licht aus allen Richtungen in der für ihn sichtbaren Hemisphäre einfallen, und diese Belichtung kann von Punkt zu Punkt variieren. An jedem Punkt ist die Belichtung auch eine Funktion der Gauß'schen Sphäre, welche die Intensität des Lichts beschreibt, welches aus der durch diesen Punkt auf der Gauß'schen Sphäre dargestellten Richtung kommt. Im Allgemeinen kann diese Funktion von Punkt zu Punkt durch den gesamten Raum variieren, und kann daher auf der Oberfläche variieren, welche abgebildet wird. Wird die weitere Annahme getroffen, dass alle Lichter unendlich weit entfernt sind, so variiert die Belichtungsfunktion nicht von Punkt zu Punkt, und die globale Belichtung kann als eine Funktion der Gauß'schen Sphäre angenommen werden.
  • Zur Verallgemeinerung der Gleichung 3 für diese Situation wird einfach über der Gauß'schen Sphäre integriert, oder die Integration durch eine Summierung angenähert. Eine kleine Komplikation besteht darin, dass eine Nichtlinearität eingeführt wird, da lediglich die Lichter mit einer Richtung, welche zu einem positiven Punktprodukt mit N führen, einen Beitrag leisten; es existiert keine negative Helligkeit von Lichtern hinter der Oberflä che. Jedoch beeinträchtigt dies nicht den Hauptpunkt, welcher darin besteht, dass die neue Belichtungsgleichung, welche nun in etwa folgende Form aufweist: I = R f(N) (6)nach wie vor jedesmal dann exakt dieselbe Lichtverteilung verwendet, wenn dieselbe Normale auftaucht, und daher sind die Berechnung der Gleichung 4 und die Renderung der Gleichung 5 ebenso gültig wie bei der einzelnen Punkquelle. Es sollte sich verstehen, dass, damit sowohl die Gleichung 3 als auch die Gleichung 6 unabhängig von der Position sind und nur von der Normalen abhängen, angenommen wird, dass keine Schatten geworfen werden. Sogenannte "geworfene Schatten" sind Schatten, welche durch nichtlokale Interaktionen verursacht werden, wie beispielsweise wenn die Nase einen Schatten auf eine Wange wirft; diese unterscheiden sich von "anhängenden Schatten", welche auftreten, wenn sich das Objekt weich von der Lichtquelle abneigt, wie es beispielsweise dann der Fall ist, wenn nur der beleuchtete Teil des Mondes nachts sichtbar ist. Die erfindungsgemäßen Verfahren vernachlässigen den Effekt geworfener Schatten.
  • In der Tat führt bei komplexerer Belichtung, beim Versuch des Abgleichs eines falschen Modells, die Tatsache, dass unterschiedliche Lichtquellen in der Anfrage ins Spiel kommen, für dieselben Normalen auf dem Modell zu einem noch größeren Fehler beim Abgleich des falschen Modells, wobei der Fehler nicht annähernd so stark ansteigt, wenn das korrekte Modell abgeglichen wird. Daher fördert diese Nichtlinearität der Belichtung in der Tat die Effizienz der Erfindung.
  • Eine ähnliche Beobachtung trifft mit Bezug auf Spiegelungen zu. Die Lage von Spiegelungen in einem Bild beeinträchtigt die Lambert'sche Annahme aus Gleichung 3 auf zwei wichtige Arten:
    • 1. Die Lage der Spiegelung ist abhängig von dem Blickwinkel der Kamera; und
    • 2. Die Helligkeit der Spiegelung variiert nicht linear, weder mit dem Belichtungsvektor, noch dem Normalenvektor.
  • Diese Probleme machen es schwierig, die Spiegelung in irgendein System einzubinden, welches nach Lichtquellen aufgelöst werden muss, obgleich es auf gar keinen Fall unmöglich ist. Folglich führen Spiegelungen oft zu einem größeren Fehler.
  • Wird jedoch weiterhin angenommen, dass die Lichtquellen unendlich weit entfernt sind und dass keine Schatten geworfen werden, so trifft selbst bei Anwesenheit von Spiegelreflexion die Gleichung 6 noch in etwa zu. Insbesondere lautet die neue Gleichung wie folgt: I = R f(N) + S g(N) (7)wobei S g(N) die Spiegelkomponente des reflektierten Lichts darstellt. S ist der Glanz eines bestimmten Punktes auf der Oberfläche, in Analogie zu R, während g(N) die Intensitätsvariation als eine Funktion der Normalen beschreibt.
  • Wenn die Lichtsphärenberechnung aus Gleichung 4 auf die Gleichung 7 angewendet wird, so erhält man I/R = f(N) + S g(N)/R (8)
  • Soll dies jedoch B(N) sein, so entsteht ein Problem, da R und S von der Position auf der Oberfläche abhängig sind, nicht von der Normale. Dies bedeutet, dass die Qualität der Renderung, welche mit dem B(N) erreicht werden kann, das als Durchschnittswert der vorstehenden Werte I/R errechnet werden kann, von dem Grad an Variation von R und S an den betroffenen Normalen abhängig ist. Dennnoch wird die Renderung sich an eine Spiegelkomponente annähern, wo sie vorliegt, und wird daher näher an der exakt korrekten Renderung liegen, als eine, welche einfach auf einer Renderung aus berechneten Lichtern mit einer Lambert'schen Ren derungsgleichung basiert. Selbstverständlich können mit einem anderen Verfahren die Lichter basierend auf einem nichtlinearen Modell berechnen, welches die Spiegelung beinhaltet, und die Renderung mit diesem Modell vorgenommen werden. In den erfindungsgemäßen Verfahren wird dies jedoch ohne Zunahme der Komplexität erzielt; bei anderen Verfahren müsste die Spiegelreflexions-Gleichung explizit modelliert werden, wobei die Komplexität, wie auch die Berechnungskosten ansteigen würden.
  • Wenn im Gegensatz dazu das falsche Modell für die Anfrage gerendert wird, da Spiegelungen tendentiell relativ helle Komponenten aufweisen, werden äußerst unzutreffende Werte für B(N) erwartet, wenn Spiegelungen vorliegen. Dies führt dazu, dass dem Ranking des falschen Modells ein proportional größerer Fehler hinzugefügt wird als dem des richtigen. Eine Spiegelung in der Anfrage kann daher in der Tat die Effizienz der Erfindung erhöhen.
  • Es wird festgestellt, dass die Messwerte, welche den beiden Variationen der erfindungsgemäßen Verfahren entsprechen, in engem Zusammenhang miteinander stehen. Die beiden Messwerte sind (1) ein Fehler zwischen gerendertem Bild und Anfrage, bzw. (2) eine gewichtete Varianz der Werte von Lichtsphärenkoeffizienten-Werten innerhalb jedes Behälters. Jeder Koeffizient, welcher in die Varianzberechnung einfließt, entsteht aus einem Punkt in der Anfrage. Wenn dieser Punkt mit dem durchschnittlichen Lichtsphärenkoeffizienten für den Behälter seiner Normale gerendert wird, so wird der Fehler proportional (über die Reflexion) zu der Differenz zwischen dem durchschnittlichen Koeffizienten, welcher beim Rendern verwendet wird, und dem exakten Koeffizienten, welcher bei der Berechnung des Durchschnittswertes verwendet wurde. Wäre nicht der Reflexionsmultiplikator, so wäre bei der Summierung über den Punkten, welche in den Behälter fallen, die Summe der Quadrate des einen Satzes von Fehlern dieselbe wie die Summe der Quadrate der Differenzen, und letztere wäre exakt die Varianz des Behälters gewichtet mit der Anzahl von Abtastwerten. Somit weichen die beiden Messwerte nur um einen Gewichtungsfaktor der Reflexion in den Fehlersummen von einander ab. Es sollte sich verstehen, dass mit einem Fehler zwischen Bildern der RMS-Fehler (Fehler des quadratischen Mittelwertes) oder dementsprechend die SSD (Summe der Differenzen zum Quadrat) gemeint ist. Andere Fehlermesswerte sind ebenfalls möglich.
  • Die Erfindung ist als eine Komponente in einem größeren System gedacht, dessen Funktion darin besteht, zahlreiche 3D-Modelle von Objekten zu speichern und bei Präsentation eines Anfragebildes das am wahrscheinlichsten der Anfrage entsprechende gespeicherte Modell bereitzustellen. Eine schematische Darstellung eines derartigen Systems ist in 1 präsentiert. In asynchroner Weise und über willkürliche Zeitspannen werden dem System 3D-Objekte 10 präsentiert, typischerweise menschliche Köpfe, und bevorzugt menschliche Gesichter, welche es abtastet mit digitalisiert, was mit Hilfe einer Scanvorrichtung 20 geschieht, und wobei gleichzeitig das reflektierte Lichtbild an allen eingeschlossenen 3D-Datenpunkten erfasst wird. Ein Reflexions-Schätzungsmodul 30 berechnet eine Reflexionsfunktion für das 3D-Objekt 10. Diese Information wird dann in einer Datenbank 40 gespeichert. Diese Speicherung kann Informationen über Oberflächennormalen enthalten, oder Oberflächennormalen können bei Bedarf an späteren Stufen berechnet werden, wenn die Daten verwendet werden sollen.
  • Zu willkürlichen Zeitpunkten wird eine Anfragefotografie 50 dem System zur Identifikation präsentiert. Eine Lichtsphäre 60 wird zum Vergleich der 2D-Anfrage 50 mit jedem der gespeicherten 3D-Modelle 10 und zur Auswahl einer besten Übereinstimmung 70 verwendet. Was nicht gezeigt ist, ist ein separates Modul, welches die Pose für eine bestimmte Anfrage und ein bestimmtes Modell berechnet, möglicherweise basierend auf anderen gespeicherten Daten. Diese Poseninformationen werden durch das Lichtsphären-Modul 60 benötigt.
  • 2 illustriert das Lichtsphären-Modul 60 aus 1 detaillierter. Das Anfragebild 50 wird zum Zweck der Identifizierung präsentiert. Das Lichtsphärenmodul 60 weist ein Submodul 140 auf, welches sequentiell ein Modell 10 nach dem anderen nach Ähnlichkeit mit dem Anfragebild 50 untersucht. Zu diesem Zweck erhält es das nächste Modell 50 aus der Datenbank 40, und erhält aus einem Posenmodul 120 die Posenlösung für dieses Modell 10 und das Anfragebild 50. Dies ist nötig, um die mutmaßlich entsprechenden Punkte des Anfragebildes 50 und des Modells 10 festzustellen. Die Posenlösungs-Operation kann im Voraus für alle Modelle 10 mit diesem Anfragebild 50 erfolgt sein, oder sie kann auf Anforderung durch das Lichtsphären-Modul 60 erfolgen.
  • Die Hauptschleife des Lichtsphären-Moduls 60 fährt über das Bild 50 mit Hilfe des Submoduls 150. Mit Hilfe der Entsprechung von dem Posenmodul 120 erhält sie an jedem Punkt des Bildes 50 die Reflexion R von dem Modell 10 und verwendet die Intensität in dem Bild 50 an diesem Punkt I zur Berechnung des Helligkeitskoeffizienten I/R. Sie erhält dann die Oberflächennormale N des Modells, welche diesem Punkt entspricht, und verwendet sie zur Bestimmung, wo in der Lichtsphären-Datenstruktur 160 der Helligkeitskoeffizient I/R eingesetzt werden soll. Diese Einsetzung kann aus einer einfachen Summierung bestehen, oder aber einer Speicherung der eingesetzten Werte, je nachdem, welche Variation des Algorithmus in dem letzten Schritt durchgeführt wird. Die erste Variation des letzten Schritts besteht aus einem Modul 170 zur Erzeugung einer Renderung des Modells mit Hilfe der gespeicherten Informationen als eine Summe in der Lichtsphären-Datenstruktur 160. Die Summe wird bevorzugt in einen Durchschnittswert umgewandelt. Diese Renderung wird dann mit dem Anfragebild 50 verglichen, und der RMS-Fehler wird für signifikante Punkte wie vorstehend beschrieben berechnet. Dieser Fehler wird als ein Fehlermesswert für dieses Modell gespeichert. Alternativ wird in der zweiten Variation des letzten Schritts auf das Modell 10 und das Anfragebild 50 nicht mehr Bezug genommen, sondern es wird vielmehr die Speicherung von Einträgen in der Lichtsphären-Datenstruktur 160 als ein Modul 180 zur Berechnung der Varianz in jedem Behälter verwendet, und eine gewichtete Summe dieser Varianzen wird zur Ableitung eines Fehlermesswertes verwendet.
  • Dieser Fehlermesswert wird dann als der Fehler für dieses Modell gespeichert. Schließlich wird das Modell 70 mit dem besten Fehlermesswert ausgewählt und als die beste Übereinstimmung mit dem Anfragebild 50 ausgegeben.
  • Die Operationen der Lichtsphären-Datenstruktur sind detaillierter in 3 dargestellt. Die Datenstruktur selbst 160 besteht aus einem Satz von Behältern 200, welche mosaikartig eine Hemisphäre der Gauß'schen Sphäre ergeben. Jede Oberflächennormale 210 eines Punktes, welcher für die Kamera sichtbar ist, liegt innerhalb eines dieser Behälter 200, da Punkte mit Normalen auf der anderen Hemisphäre nicht sichtbar sind. Beim Durchlauf des Verfahrens durch das Anfragebild 50 wird I/R (2) berechnet, welche nach dem Lambert'schen Modell erwartungsgemäß gleich b L· N (2) ist. Der Wert von N (220), welcher für diesen Punkt aus dem Modell 10 bekannt ist, ist derjenige Wert, welcher zur Auswahl des korrekten Behälters 200 der Datenstruktur 160 verwendet wird, und der Wert I/R wird dann (230) in diesen Behälter 200 eingefügt, entweder durch Summierung oder durch Aufzeichnung der in den Behälter 200 eingefügten Werte, und zwar abhängig davon, welche Variation der erfindungsgemäßen Verfahren verwendet wird.
  • Obgleich der Modell-Evaluationsprozess als ein sequentieller vorgestellt wurde, in welchem nur ein Modell zu jedem beliebigen Zeitpunkt evaluiert wird, wie vorstehend beschrieben, ist es möglich, die Aufmerksamkeit zwischen den zahlreichen Modellen zu teilen, wobei Teillösungen verwendet werden, so dass die Kosten der vollen Evaluation eines Modells nur dann aufgewendet werden, wenn das Modell weiterhin einen geringen Fehler im Wettbewerb mit anderen Modellen aufweist.
  • Auch erfordern vor dem letztendlichen Fehlerranking-Prozess die Lichtsphären-Ergebnisse für ein Modell keine Ergebnisse für irgendein anderes Modell. Folglich erlaubt der Gesamtprozess auf triviale Weise eine massive Parallelisierung und damit einen proportionalen Anstieg der Gesamtgeschwindigkeit.
  • Das Lichtsphären-Modul 60 wird nun ausführlicher beschrieben. Das Lichtsphären-Modul 60 kann in zwei Stufen aufgeteilt werden:
    • 1. Vorverarbeitungsschritte, welche:
    • a. die Pose des Modells berechnen, welches der Anfrage am ehesten gerecht wird.
    • b. eine registrierte Karte der Oberflächennormalen des Modells erzeugen, welche Punkten auf der Anfrage entsprechen.
    • c. ein registriertes Bild der Reflexion des Modells entsprechend Punkten in der Anfrage erzeugen.
    • 2. Verwendung der in Stufe 1 bereitgestellten Informationen in Verbindung mit dem Anfragebild zur Berechnung der Helligkeitskoeffizienten auf der Gauß'schen Sphäre.
  • In Stufe 1 wird die Pose durch ein beliebiges aus zahlreichen Verfahren des Standes der Technik berechnet, welche zu diesem Zweck verwendet werden können. Die Erzeugung der registrierten Karten von Normalen und Reflexion erfolgt durch standardmäßige und allgemein bekannte Computergraphik-Verfahren. Es sollte sich verstehen, dass die Berechnung der Reflexion, welche mit dem 3D-Modell in Verbindung gebracht wird, kein einfaches Verfahren darstellt, doch da derartige Verfahren im Stand der Technik bekannt sind, wird auf eine Beschreibung ihrer Berechnung verzichtet. Ein derartiges Verfahren zur Berechnung der Reflexion im Zusammenhang mit dem 3D-Modell besteht darin, einfach unter flachen Belichtungsbedingungen gemachte Bilder zu verwenden.
  • Die Eingabe in die Vorverarbeitungsstufe besteht aus einem Anfragebild Q, einem 3D-Kandidatenmodell M und einem Kameramodell K. Die Ausgabe aus der Vorverarbeitungsstufe beinhaltet eine Pose T, ein registriertes Reflexionsbild R und eine registrierte Normalenkarte N. Die Eingabe in das Lichtsphärenmodell besteht aus dem Anfragebild Q, dem registrierten Reflexionsbild R und der registrierten Normalenkarte N. Die Ausgabe aus dem Lichtsphärenmodul beinhaltet eine Normalen-Helligkeits-Tabelle B und einen Fehlermesswert E.
  • Diese Eingaben und Ausgaben werden nun präzise erläutert, ebenso die genaue Art und Weise, wie die Lichtsphären-Ausgabe berechnet wird. Es sollte sich verstehen, dass die in diesem Abschnitt verwendeten Definitionen sich leicht von den vorstehend verwendeten Definitionen unterscheiden.
  • Zum Zweck der Einfachheit wird lediglich ein monochromes Bild betrachtet. Für ein Farbbild wird der nachfolgend zu beschreibende Prozess separat für jede Farbkomponente, also beispielsweise Rot, Grün und Blau, wiederholt.
  • Das Anfragebild Q wird als eine Funktion betrachtet, welche auf der Realebene definiert ist, d. h. Q:R2 → R* (9)
  • Diese Schreibweise bedeutet, dass Q eine Karte aus der 2-dimensionalen echten Euklid'schen Ebene gegen die nichtnegativen echten Zahlen ist. Es wird angenommen, dass Q nur Nichtnullwerte annimmt, oder nur in einem beliebigen endlichen Rechteck der Ebene definiert ist. Tatsächlich wird Q nur an einem endlichen diskreten Gitter von Punkten abgetastet, so dass es Werte von nur ganzzahligen Koordinatenwerten annimmt. Es sollte sich verstehen, dass Q eine Funktion ist, während die Schreibwese Q(p), wobei p ein Punkt in R3 ist, die echte Zahl benennt, mit welcher Q den Punkt P auf der Karte festlegt.
  • Das 3D-Modell M besteht aus mehreren Unterteilungen. Diese beinhalten einen Satz von n Punkten {[pi|i = (1, 2, ..., n)} (10) in R3, welche die Positionen von Abtastpunkten auf dem Modell sind, sowie einen entsprechenden Satz von n echten Zahlen ri, welche die Oberflächenreflexion an jedem entsprechenden pi darstellen.
  • Das Kameramodell K ist eine Perspektivenprojektion. D. h. K:R3 → R2 (11)wobei nach einigen Änderungen des Koordinatensystems durch starre Bewegung K(x, y, z) = a·(x, y)/z (12)für eine beliebige positive echte Zahl a gilt. Die Koordinatenänderung ist Teil des Kameramodells. Es existieren zahlreiche andere Arten der Formulierung der Definition der Perspektivenprojektion; diese ist äquivalent, und die exakte Formulierung ist nicht von Bedeutung. Für die Zwecke der Lichtsphärenberechnung werden Verzerrungseffekte der Kamera nicht berücksichtigt, und das Kameramodell ist feststehend. Variationen, in welchen mehr Informationen über die Kamera verwendet werden, sind offensichtlich. Es sollte sich verstehen, dass diese Definition eine gewisse Menge an perspektivischer Verzerrung zulässt, je nach den Werten des Kameramodells K und der Position des 3D-Modells im Raum. Jedoch wird bis zu einem Grad, bei welchem die wahre Kamera und Subjektposition für die Anfrage zu mehr oder weniger perspektivischer Verzerrung führen, dieser Unterschied nicht in der nachfolgend beschriebenen Art und Weise kompensiert, obgleich ein detaillierteres Kameramodell dies erreichen könnte.
  • Die Pose T ist die starre Bewegung in R3, welche bei Anwendung auf das Modell M nach der Projektion durch das Kameramodell K das Bild des Modells M in die beste Registrierung bei der Anfrage Q bringt.
  • D. h. die Pose T versucht die folgende Gleichung zu erfülen: K(T(pi)) = qi (13)wobei pi ein Punkt des 3D-Modells ist und qi der entsprechende Punkt des Anfragebildes ist, und zwar simultan für einige Sätze von Punkten pi und qi.
  • Das registrierte Reflexionsbild R ist eine Karte R: R2 → R* (14)
  • (Es sollte sich verstehen, dass das erste R ein anderes R ist als das zweite und dritte.), welche Karte auf demselben Gitter als Abtastwerte gewonnen wurde wie das Anfragebild Q, so dass gilt: R(K(T(pi))) = ri (15)
  • Anders gesagt, teilt R mit, wobei ein Punkt im Anfragebild Q als gegeben angenommen wird, welches die Reflexion des Punktes in dem Modell ist, welche auf diesen Punkt in der Anfrage projiziert, wenn die Pose und das Kameramodell gegeben sind. Es sollte sich verstehen, dass möglicherweise mehrere Punkte auf dem Modell auf einen einzelnen Punkt in der Anfrage projizieren könnten; d. h. die Computergraphiktechnik einer Elimination versteckter Oberflächen ist nötig, um das einzige R herauszufinden, welches den Oberflächen des Modells entspricht, die tatsächlich unter der angenommenen Pose und dem Kameramodell sichtbar sind. Es existieren zahlreiche allgemein bekannte Computergraphiktechniken, welche dies erzielen können. Es wurden sowohl markenrechtlich geschützte als auch frei erhältliche Pakete mit gleichem Erfolg für die Durchführung dieser Berechnung verwendet.
  • Die Oberflächennormale ni zu einem Punkt pi des 3D-Modells M ist ein Einheitsvektor in R3, welcher die Richtung im rechten Winkel zu der Oberfläche von M bei pi darstellt. Die Berechnung von ni erfordert die Kenntnis einiger benachbarter Punkte von M, d. h. benachbart auf der Oberfläche, welche M darstellt. In unserer Vorrichtung ist dies im Voraus bekannt, da die Daten in M aus einem System stammen, welches im Wesentlichen einen Rasterscan erzeugt. Zusätzlich existieren standardmäßige Computergraphiktechniken, welche es erlauben, einen weniger geordneten Satz von Punkten in eine Form zu bringen, in welcher derartige Punkte bekannt sind, so beispielsweise durch den Prozess, welcher als Triangulation der Oberfläche bekannt ist. Weist p die Nachbarn q und s auf, so kann die Einheitsnormale bei p wie folgt berechnet werden: v = (p – q) X (p – s) (16) n = v/||v|| (17)wobei X das Vektor-Kreuzprodukt ist, und ||v|| der Normwert von v ist.
  • In der Praxis ist es oft beser, mehrere Nachbarn von p zu betrachten, in einem Gitter beispielsweise die 8 oder 4 Nachbarn, und den Durchschnittswert der somit berechneten Werte zu verwenden.
  • Da n ein Vektor in R3 ist, kann es wie folgt geschrieben werden: n = (nx, ny, nz) (18)wobei die drei Komponenten die Komponenten von n in der x-, y- bzw. z-Richtung sind. Jedoch erlegt die Anforderung, dass n ein Einheitsvektor sein muss, die folgende Einschränkung auf: 1 = ||n|| 2 = n2 x + n2 y + n2 z (19)
  • Dies kann als die Gleichung einer 2-Sphäre betrachtet werden, d. h. die Oberfläche einer Kugel im 3-Raum. Geometrisch variiert, falls n als am Ursprung verankert betrachtet wird, bei der Variation von n zwischen allen möglichen Werten für einen Einheitsvektor, seine Spitze über die Oberfläche der Einheitssphäre. Daher kann jedes n mit diesen Spitzenpositionen identifiziert werden, d. h. mit den Punkten der 2-Sphäre. Die 2-Sphäre wird allemein als S2 bezeichnet.
  • Wenn diese Identifikation zwischen den Einheitsnormalen einer Oberfläche und der 2-Sphäre in der Differentialgeometrie erfolgt, wird die Sphäre allgemein als die "Gauß'sche Sphäre" bezeichnet, und die Karte, welche jeden Punkt der Oberfläche gegen seine Normale aufträgt, ist als die "Gauß'sche Karte" bekannt.
  • Angesichts dessen kann die registrierte Normalenkarte als eine Karte wie folgt definiert werden: N: R2 → S2 (20)wobei jeder Punkt in dem Anfragebild Q auf die Oberflächennormale an dem Punkt des 3D-Modells M übertragen wird, welcher auf diesen Punkt Q unter der Pose T und dem Kameramodell K projiziert. D. h., N ist so definiert, dass folgende Gleichung erfüllt wird: N(K(T(pi))) = ni (21)und zwar analog zu der ähnlichen Gleichung (15) für die registrierte Reflexion, wobei nun ni die Normale darstellt, welche in der Vorverarbeitungsstufe am Punkt pi berechnet wird.
  • N wird wiederum lediglich an den Gitterpunkten berechnet, welche mit den Gitterpunkten von Q im Zusammenhang stehen. Die Berechnung von N erfordert, ebenso wie die Berechnung von R, eine Entfernung der versteckten Oberfläche, um sicherzustellen, dass nur der Wert von n für die sichtbare Oberfläche verwendet wird. Wiederum erfolgt dies am einfachsten mit Hilfe existierender standardmäßiger Computergraphiktechniken. Existierende Graphik schnittstellen können dazu ausgenutzt werden, indem der Graphikmaschine erlaubt wird, Renderungen mit 6 unterschiedichen Lichtquellen zu berechnen: eine für jede Kombination der positiven und negativen Koordinatenrichtung, d. h. für einen Lichteinfall von +-x, +-y, +-z. Mit einem Lambert'schen Renderungsmodell in der Graphikmaschine führt dies zu den positiven und negativen Komponenten des Normalenvektors an jedem Punkt. Dies erlaubt ebenfalls die Verwendung der Techniken der Graphikmaschine zur Interpolation, was beträchtlich bei der Durchführung des Algorithmus hilft.
  • Der Lichtsphären-Algorithmus berechnet eine Normalen-Helligkeits-Tabelle B aus der Anfrage Q, weiter das registrierte Reflexionsbild R und die registrierte Normalenkarte N.
  • Vor einer Definition und Beschreibung der Berechnung von B erfolgt zunächst eine Betrachtung der folgenden Karte: A:S2 → R* (22)welche sich ergibt aus A(n) = Q(q)/R(q) (23)wenn gilt N(q) = n.
  • Zum Zweck einer kompakteren Schreibweise ist folgendes definiert: D:R2 → R* (24) durch D(q) = Q(q)/R(q) (25)
  • (Anderswo wird dies als I/R bezeichnet.)
  • A soll definiert werden durch A(n) = D(N – 1(n)). Jedoch können zahlreiche Punkte existieren, an welchen die Normale n ist, sodass N – 1 nicht ein einzelner Punkt ist, sondern ein Satz von Punkten. Zur Abschätzung von A ist es erwünscht, den Durchschnittswert von D an diesem Satz von Punkten zu verwenden. D. h. es wird angenommen, dass P(n) = {p|N(p) = n} (26)der Satz von Punkten in der Anfrage ist, welche gegen die Normale n auftragen. Das Ziel ist eine Definition von A durch
    Figure 00300001
    wobei #(P(n)) die Anzahl von Punkten in dem Satz P(n) ist (oder der Messwert des Satzes im kontinuierlichen Fall). Dies ist eine wohldefinierte Größe.
  • Jedoch ist dies nicht angemessen, wenn ein diskretes Gitter, in diesem Fall das diskrete Gitter des Anfragebildes bearbeitet wird. Das Problem besteht darin, dass die Normalen von dem 3D-Modell abgeleitet werden, und im Allgemeinen sind die Werte, zu welchen sie diskretiert wurden, lediglich von der Präzision der Daten des 3D-Modells und dem Verfahren abhängig, durch welches die Normalen berechnet wurden. Insbesondere werden sie im Allgemeinen zu einem derart feinen Grad diskretiert, dass es unwahrscheinlich ist, dass beliebige zwei der diskretierten Punkte qi der Anfrage auf derselben Normalen n aufgetragen werden, und daher ergibt sich beinahe jedes A(n) aus nur einem einzigen Abtastwert. In diesme Fall ist die Lichtsphärenberechnung, wenn sie zum Rendern eines Bildes aus dem Modell verwendet wird, trivial, d. h. sie führt zu exakt demselben Anfragebildwert, da lediglich die folgende Größe berechnet wird: I(P) = A(N(p)) R(p) = D(p) R(p) = Q(p)/R(p) R(p) = Q(p) (28)
  • Es ist daher von wesentlicher Bedeutung, eine Art und Weise zu entwickeln, bei welcher im Wesentlichen aus mehreren Werten ein Durchschnittswert gebildet wird, um A(n) zu erhalten. Eine Art und Weise, dies zu tun, besteht darin, die Gauß'sche Sphäre in eine ausreichend kleine Anzahl von Behältern (oder Buckets) zu diskretieren, damit eine ausreichende Anzahl von Behältern mehr als einen Abtastwert enthält. Es gibt zahlreiche Arten, die 2-Sphäre zu diskretieren. Beispielsweise kann ein Ikosaeder mit dem Zentrum an demselben Punkt wie die Sphäre genommen werden und das Ikosahedron radial auf die Sphäre projiziert werden. Dies ergibt eine Aufteilung, oder Tesselation, der Sphäre. Für unsere Zwecke wurde jedoch festgestellt, dass die Verwendung eines extrem einfachen Verfahrens der Diskretierung der Sphäre, welches nachfolgend beschrieben werden kann, ausgesprochen gut funktioniert.
  • Es wird begonnen mit einem Einheitsnormalenvektor: n = (nx, ny, nz) (29)
  • In den erfindungsgemäßen Verfahren sind Oberflächennormalen, welche von der Kamera weg weisen, nicht von Interesse, da die Kamera nicht in der Lage ist, irgendeinen anderen Oberflächenpunkt zu sehen, welcher eine derartige Normale aufweist. Mit "von der Kamera weg weisen" ist gemeint, dass wenn v ein Vektor ist, welcher in Richtung des Kameraperspektiven-Projektionszentrums von Punkt p auf der Oberfläche aus weist, und n die nach außen weisende Normale an dem Punkt p ist, falls gilt n·v < 0, wobei · das Vektor-Punktprodukt ist, gesagt werden kann, dass n von der Kamera weg weist. Somit sind lediglich die Normalen n auf der Hälfte der Gauß'schen Sphäre von Interesse, derjenigen Hälfte, auf welcher die vorstehende Ungleichheit nicht zutrifft. Für den Moment soll ein Koordinatensystem angenommen werden, in welchem die Kameraachse entlang der z-Achse liegt und die Kamera sich in der positiven z-Richtung von dem Subjekt befindet. Der Satz aller Oberflächennormalen, welche von Interesse sind, besteht dann aus exakt denjenigen, für welche gilt nz > 0. Dies kann als eine Hemisphärenkappe angenommen werden, welche auf der x-y-Ebene liegt.
  • Das Ziel besteht nunmehr darin, diese Hemisphärenkappe basierend auf den Werten nx, ny, nz zu diskretieren. Die einfachste Art, wie dies erreicht werden kann, ist es, die z-Komponente komplett zu ignorieren und nur die Projektion der Hemisphärenkappe auf die x-y-Ebene zu betrachten, welche eine kreisförmige Scheibe darstellt. Diese Scheibe wird diskretiert, und die Diskretierung der Hemisphäre durch die Projektion zurück nach oben entlang z von der Ebene auf die Hemisphäre wird definiert. Zur Diskretierung dieser Scheibe, der Einheitsscheibe in der Ebene, wird einfach das Einheitsquadrat in der Ebene diskretiert, und es wird auf die Scheibe beschränkt. Zur Vereinfachung der weiteren Beschreibung wird das Einheitsquadrat als der Teil der Ebene betrachtet, welcher angegeben wird durch: 0 ≤ x < 1 und 0 ≤ y < 1 (30)
  • (Da die Werte der Komponenten der Einheitsnormalen zwischen –1 und +1 variieren, beinhaltet dies eine Skalierung und eine Verschiebung: in einem tatsächlichen Programm würde man sich diese Mühe wahrscheinlich nicht machen.) Die Art und Weise, wie dies geschieht, ist Folgende. Es wird diskretiert, sodass m Behälter vorliegen, d. h. in eine m × m Quadrat-Tesselation. Das Einheitsquadrat wird wie folgt in m2 Unterquadrate Sij, i, j= 1, 2, ..., m aufgeteilt. Ein Punkt p des Einheitsquadrats befindet sich dann im Unterquadrat Sij, wenn Folgendes gilt: (i – 1)/m ≤ px < i/m und (31) (j – 1)/m ≤ py < j/m (32)wobei px die x-Koordinate von p ist und py die y-Koordinate.
  • Dann wird unter der Annahme, dass jedes Unterquadrat Sij ein "Behälter" oder "Bucket" ist, die Aussage getroffen, dass p in den (i, j)-ten Behälter fällt, falls die vorstehenden Bedingungen (30) und (31) erfüllt sind.
  • Mit Hilfe dieser Definition kann ein einzelner Behälter (i, j) für jede Einheitsnormale n wie folgt definiert sein. Zunächst wird Folgendes definiert, da eine Verschiebung und Skalierung erfolgt sind: n' = [n + (1, 1, 0)]/2 (33)
  • Dadurch wird die Hemisphäre derart bewegt und verkleinert, dass sie über dem Einheitsquadrat gemäß vorstehender Definition liegt. (Dies ist nur deshalb notwendig, weil eine einfache Schreibweise erwünscht ist; diese gesamte Analyse ist identisch mit einem Quadrat, welches sich von –1 bis +1 in x und y erstreckt.)
  • Nun werden einfach i und j gemäß (30) und (31) berechnet, wobei n'x anstelle von px verwendet wird, und n' anstelle von py, nz wird einfach ignoriert, was dazu führt, dass das Quadrat nach oben auf die Hemisphäre projiziert wird. Diese Koordinaten (i, j) definieren die Behälter für die grundlegende Lichtsphären-Prozedur. Es sollte sich verstehen, dass diese nicht von einheitlicher Größe auf der Gauß'schen Sphäre sind; jedoch ist dies in der Praxis nicht sehr signifikant, da sie im Anfragebild einheitlich sind.
  • Nun kann der Algorithmus weitergehen, indem er sich systematisch durch die Punkte des Anfragebildes vorarbeitet. Zunächst muss er 2 Datenelemente für jeden Bucket behalten: eine laufende Summe und eine Zählung der Anzahl von Abtastwerten, welche bislang in der Summe verwendet wurden. (Da die Zählung zur Berechnung eines Durchschnittswertes verwendet wird, könnte ein Aktualisierungsverfahren verwendet werden, um nur eine einzelne Anzahl für jeden Bucket zu behalten, doch dies ist die Mühe nicht wert, da die Tabelle klein ist.) Beim Durchgang des Algorithmus durch das Anfragebild Q bezieht er sich dann an jedem Punkt p auf das Reflexionsbild R und die Normalenkarte N. Er berechnet den Wert von D(p) = Q(p)/R(p) und addierte diesen Wert zu dem (i, j)-ten Behälter, wobei (i, j) gemäß (30) und (31) aus dem Wert der Normalen N(p) berechnet werden. (Es versteht sich, dass damit gemeint ist, dass dieselbe Skalierungs- und Verschiebungsoperation, welche vorstehend n' ergeben hat, hier wie auch im Folgenden berücksichtigt wird.) Auch wird die Zählung für den (i, j)-ten Behälter um 1 erhöht. Ist der Durchgang durch das Anfragebild beendet, so wird die Summe an jedem Behälter durch die Zählung an diesem Behälter geteilt, um einen Durchschnittswert zu erhalten. Dies ergibt eine Tabelle von Zahlen B(i, j), welche die vorstehenden B(n) darstellen, und zwar handelt es sich um die Helligkeitstabelle.
  • Wie vorstehend erläutert, werden in der Praxis zusätzliche Kriterien verwendet, um zu entscheiden, ob ein bestimmter Anfragepunkt in die vorstehende Berechnung mit aufgenommen wird. Beispielsweise werden zu helle oder zu dunkle Bildpunkte ausgeschlossen.
  • Bisher wurden die Verfahren der vorliegenden Erfindung für die Variation beschrieben, in welcher der Fehler zwischen einem gerenderten Bild des Modells und dem Anfragebild als Qualitätskriterium verwendet wird.
  • Zum Rendern eines Bildes mit Hilfe der Lichtsphären-Datenstruktur B(i, j) geht der Algorithmus wie folgt vor. Er arbeitet sich durch das registrierte Reflexionsbild R. An jedem Punkt p von R sucht er nach der Normalen N(p) in der registrierten Normalenkarte N. Mit Hilfe des so gewonnenen Wertes von N(p) berechnet er den entsprechenden Lichtsphären-Behälter (i, j), wobei (30) und (31) verwendet werden, und gewinnt die Werte B(i, j). Er berechnet dann I(p) = R(p) B(i, j) (34) und setzt den Helligkeitswert des gerenderten Bildes I auf diesen Wert, nachdem er trunkiert wurde, um Werte zu vermeiden, welche größer sind als die maximale Helligkeit.
  • In der Tat gibt es einen zusätzlichen Schritt bevor die letzte Berechnung erfolgt. Da eine sehr kleine Anzahl von Behältern im Vergleich zu der Anzahl von tatsächlichen Normalenwerten existiert, ist eine Verwendung der Werte B(i, j) unmittelbar als die vorstehenden Ergebnisse aufgrund der rauhen Digitalisierung der Behälter sehr künstlich. Daher wird statt dessen ein interpolierter Wert B'(p) verwendet. Die Interpolation basiert auf dem Wert der Normale N(p). Da bekannt ist, wo N(p) in das durch den (i, j)-ten Behälter definierte Quadrat fällt, wird einfach die bilineare Interpolation mit den benachbarten Werten von B(i, j) verwendet, um zu dem interpolierten B'(p) zu kommen, welches dann zu folgender Berechnung verwendet wird: I(p) = R(p) B'(p) (35)
  • Der Fehler E wird dann als die Summe der Quadratdifferenzen oder RMS-Fehler zwischen dem Anfragebild Q und dem gerenderten künstlichen Bild I berechnet, welche bereits dank des Konstruktionsverfahrens von I registriert sind.
  • Nun zurück zu den Variationen des Algorithmus, welche die Varianzen der Lichtsphäre verwenden. Dies geht analog dazu vor, was vorstehend beschrieben wurde, mit der Ausnahme, dass die Daten, welche im Zusammenhang mit jedem Behälter stehen, etwas komplexer sind. Anstatt eine laufende Summe und eine Zählung für jeden Behälter zu führen, wird vielmehr für jeden Behälter eine Liste mit allen D(p)-Werten geführt, welche in diesen Behälter gefallen sind. Wenn die Iteration abgeschlossen ist, werden Mittelwert und Varianz der Liste von Werten in jedem Behälter für diesen Behälter berechnet. Der Mittelwert ist identisch mit B(i, j) gemäß vorstehender Definition. Zusätzlich liegen nun auch noch die Varianzen V(i, j) vor.
  • In der ersten Variation, welche Varianzen verwendet, ist der Fehler E definiert als die Summe dieser Varianzen, d. h.
  • Figure 00360001
  • In der zweiten derartigen Variation soll diese Summe durch die Zählungen gewichtet werden, was der Summe der Quadratdifferenzen zwischen dem gerenderten Bild und dem Anfragebild, welche vorstehend verwendet wurde, ähnlicher ist.
  • Die Zählungen, welche in dem Akkumulationsprozess geführt wurden sollen als C(i, j) bezeichnet werden. Dann wird in dieser Variation der Fehlermesswert wie folgt angegeben:
    Figure 00360002
  • Es sollte sich verstehen, dass, obgleich einige wenige spezifische Verfahren zur Erzielung der Lichtsphärenberechnung vorgestellt wurden, andere Formeln und Algorithmen existieren, welche für die unterschiedlichen Komponenten und für den Fehlerterm verwendet werden könnten. Diese Gleichungen und Erläuterungen dienen lediglich der Beschreibung einer möglichen Weise der Realisierung einer Ausführungsform der Erfindung, und zahlreiche andere Arten sind mit einfachen Modifikationen und/oder Hinzufügungen möglich.
  • BEISPIEL
  • Die erfindungsgemäßen Verfahren wurden tatsächlich auf die Praxis sowohl in der Programmiersprache C als auch C++ angewandt und wurden an einer Pilotdatenbank getestet, welche 37 3D-Modelle enthielt, sowie an tatsächlichen Anfragen, welche sich aus 37 Subjekten in allen Kombinationen von 7 Posen und 6 Belichtungsbedingungen zusammensetzten.
  • Mehrere zusätzliche Techniken können verwendet werden, um die Leistung der erfindungsgemäßen Verfahren zu optimieren, welche tatsächlich in der Praxis angewandt wurden.
    • 1. Es wurde festgestellt, dass ein Gitter von 32 × 32 Behältern für das Lichtsphären-Histogramm für Bilder und Modelle mit einer Auflösung von 640 × 640 gut funktioniert. 24 × 24 Behälter haben sich ebenfalls bewährt. Die Anzahl von Behältern bringt einen Kompromiss mit sich, und zwar zwischen Präzision des Helligkeitskoeffizienten -- die Präzision nimmt zu, wenn keine weiteren Behälter vorliegen, da eine kleinere Auswahl von Normalen bei der Bildung des Durchschnittswertes verwendet wird -- und der statistischen Signifikanz des Durchschnittswertes, welche sich verbessert, wenn die Anzahl von Behältern abnimmt, da eine größere Anzahl von Normalen dann in jeden Behälter fallen. Somit können die erfindungsgemäßen Verfahren durch die Abschätzung der Größenordnung der Auswirkung dieser Effekte auf die Sichtung der Daten und die Auswahl einer geeigneten Anzahl von Behältern noch weiter verbessert werden.
    • 2. Es ist möglich, eine Tesselation der Gauß'schen Sphäre für die Behälter zu verwenden. Dies verbessert die Leistung, jedoch steigen gleichzeitig die Kosten der Berechnung des Lichtsphären-Histogramms und der Renderung daraus leicht an. Weiterhin wurde festgestellt, dass die Projektion einer Tesselation der Einheitsscheibe auf die Gauß'sche Sphäre, d. h. die Verwendung von lediglich x- und y-Werten, nicht z, zur Bestimmung der Behälter recht effektiv ist, und dies trotz der Abweichung der Abtastwerte, welche sie einführt.
    • 3. Da die Histogrammbehälter im Vergleich zu der Bild- und Modellauflösung relativ grobkörnig sind, wurde festgestellt, dass eine bilineare Interpolation der Lichtsphärenwerte bei der Durchführung des Renderns sowohl Erscheinungsbild als auch Präzision wesentlich verbessert.
    • 4. Für ein Lambert'sches Objekt wird das Punktprodukt in dem Integral, welches die Bildintensität angibt, auf einen Kosinus zwischen Normalen- und Lichtrichtung reduziert. Die sich daraus ergebende Bildintensität als eine Funktion der Normalen ist im Wesentlichen eine Konvolution dieses Kosinus mit der Lichtintensitäts-Verteilung. Dies ergibt eine Niederpassfilter-Operation in Abwesenheit eines geworfenen Schatten. Somit würde in einem System, welches nach der Belichtung auflöst und dann die Renderung durchführt, eine Glattheit auf die Helligkeit aufgezwungen, was als eine Funktion der Normalen dank dieser Konvolution geschieht. In den erfindungsgemäßen Verfahren enthält die Lichtsphärenberechnung keinen derartigen Mechanismus zur Auferlegung einer Glattheit. Folglich können die Lichtsphärendaten Variationen mit Hochfrequenzkomponenten enthalten, welche sich aus einer Vielzahl von Quellen ergeben, wie beispielsweise Abweichung von Lambert, Reflexionsfehler etc. Daher wurde festgestellt, dass es nützlich sein kann, eine geringe Menge an Glättung am Lichtsphären-Histogramm durchzuführen. Dies kann durch eine Konvolution mit einer einfachen kleinen Boxfunktion erfolgen. Dies verbessert die Renderung und die Leistung des Verfahrens beträchtlich.
    • 5. Bei der Verwendung von Gleichung 4 zur Berechnung der Lichtsphären-Datenstruktur können Punkte mit sehr geringer Reflexion zu enormen Zahlen beitragen, wenn die Division durchgeführt wird. Derartige Punkte führen zu bedeutungslosen Ergebnissen. Zur Vermeidung dieses Problems wird eine Untergrenze verwendet, welche die Reflexion überschreiten muss, ehe sie in die Berechnung aufgenommen werden kann. Dieser Grenzwert wird aktuell ad hoc eingesetzt; jedoch könnte er auch basierend auf einer Betrachtung des Reflexionshistogramms berechnet und einmal endgültig für jedes Modell gespeichert werden. Da die Berechnung dieses Grenzwertes zu dem Zeitpunkt durchgeführt werden kann, zu welchem das Modell der Datenbank hinzugefügt wird, könnten beliebig entwickelte Verfahren zu seiner Berechnung verwendet werden. Als extremes Beispiel könnte er so festgesetzt sein, dass er eine optimale Differenzierung von anderen Modellen in der Datenbank liefert, basierend auf künstlichen Renderungen zahlreicher Modelle.
    • 6. Extreme Spiegelungen werden gerne mit Punkten assoziiert, so beispielsweise in Bereichen im Auge, an welchen die Bereichsdaten unzuverlässig sind. Zusätzlich sättigen derartige Punkte oft die Intensitätsskala. Daher ist es bevorzugt, eine Obergrenze festzusetzen, welche Intensitätswerte nicht überschreiten dürfen, um in der Lichtsphärenberechnung verwendet zu werden. Auf ähnliche Weise werden extrem dunkle Gebiete der Anfrage stark mit Gebieten in geworfenen Schatten assoziiert, oder aber mit Gebieten, in welchen die Reflexionsberechnung von geringer Bedeutung ist (wie beispielsweise Haar). Beide stellen bei der Verwendung Fehlerquellen dar, somit wird auch eine Untergrenze für die Intensität in der Anfrage verwendet.
  • Für Fachleute versteht sich, dass die erfindungsgemäßen Verfahren zu einer Identifikation des Objektes ohne den Bedarf für eine Auflösung nach Lichtquellen oder andere komplexe und kostspielige Berechnungen, wie beispielsweise die Eigenvektorbestimmung, führen. Somit führen die erfindungsgemäßen Verfahren zu folgenden Vorteilen über die Verfahren des Standes der Technik:
    • 1. Ein wesentlicher Vorteil im Vergleich zu Verfahren des Standes der Technik besteht in der enormen Einsparungen an Berechnungskosten. Diese Einsparungen können den Unterschied zwischen Praktizierbarkeit und Nicht-Praktizierbarkeit in einem vollständigen System ausmachen. Beispielsweise sind die Verfahren des Standes der Technik, welche gegenseitige Informationen verwenden, während sie im Allgemeinen und mit hoher Wahrscheinlichkeit im Prinzip effizienter sind, um ein Vielfaches zu teuer für eine Anwendung, welche eine große Zahl von Vergleichen mit Modellen erfordert.
    • 2. Die erfindungsgemäßen Verfahren sind einfacher als die Verfahren des Standes der Technik. Die erfindungsgemäßen Verfahren erforderten hauptsächlich den einzelnen Prozess des Aufbaus einer histogrammähnlichen Datenstruktur, was wenig mehr bedeutet, als dass jeder Punkt des Modells besucht wird und dabei die im Voraus gespeicherten Normale und Reflexion extrahiert werden, sowie die Durchführung einiger arithmetischer Schritte zur Aktualisierung des Histogramms (zwar wird die Datenstruktur als Histogramm bezeichnet, doch ist dies tatsächlich eine leichte Verallgemeinerung). Im Gegensatz dazu erfordern andere Verfahren iterative Algorithmen, welche je nach Größe des betreffenden Problems eine oder zwei Größenordnungen mehr an Computerzeit erfordern. Beispielsweise beinhaltet ein Verfahren des Standes der Technik die Verwendung des sogenannten nichtnegativen Algorithmus der kleinsten Quadrate, welcher ein komplexer iterativer Algorithmus ist. Auf ähnliche Weise erfordern andere Ansätze des Standes der Technik die Berechnung sogenannter Hauptkomponenten. Diese Berechnungen erfordern die Findung einer Eigenvektor-Dekomposition, und erfordern wiederum komplexe iterative Algorithmen. Zwar sind diese komplexeren Algorithmen allgemein bekannt und verstanden, doch nichtsdestoweniger sind sie enorm komplexer als die erfindungsgemäßen Verfahren.
    • 3. Die erfindungsgemäßen Verfahren sind widerstandsfähiger als andere Verfahren. Verfahren des Standes der Technik sind typischerweise abhängig von der Findung einer Lösung für ein System linearer Gleichungen unter Beschränkungen, oder der Auflösung nach linearen Invarianten, wie beispielsweise Eigenvektoren. Es ist oft schwer vorherzusagen, wie die Stabilität dieser Verfahren von den Daten und Annahmen abhängt. Durch die sehr direkte Art der erfindungsgemäßen Verfahren werden instabile Lösungen auf einfache Weise vermieden.
    • 4. Die erfindungsgemäßen Verfahren sind auf die Verwendung in einem System anpassbar, in welchem Teillösungen verwendet werden können. Beispielsweise können bei der Betrachtung einer großen Zahl von Kandidatenmodellen zur Identifikation zahlreiche Modelle verworfen werden, sobald bekannt ist, dass der Fehler ausreichend groß ist. Durch Verwendung der erfindungsgemäßen Verfahren ist es möglich, die Berechnung des Fehler- oder Qualitätsterms an zahlreichen Stufen zu unterbrechen, und sie nur dann wieder aufzunehmen, wenn dies an späteren Stufen erforderlich ist. In den Verfahren des Standes der Technik ist dies schwierig oder unmöglich umzusetzen, ohne die vollen Kosten des teuersten Abschnitts des Verfahrens in Kauf zu nehmen.
    • 5. Die erfindungsgemäßen Verfahren sind auf unbekannte Reflexionsmodelle anpassbar. Da die Lichtquellen nicht berechnet werden müssen, wird lediglich der Effekt der Belichtung auf das abgebildete Material gemessen und als konstant angenommen. Selbst bei Spiegelungen (Glanz) erlauben die erfindungsgemäßen Verfahren gute Ergebnisse über einen vernünftigen Bereich von Materialeigenschaften.
    • 6. Die erfindungsgemäßen Verfahren sind widerstandsfähig gegenüber Fehlern bei der Wahrnehmung der Reflexion, insbesondere dann, wenn in den wahrgenommenen Reflexionsdaten Belichtungseffekte vorliegen.
  • Da die erfindungsgemäßen Verfahren extrem schnell sind und keine große Menge an Berechnungsaufwand erfordern, können sie ebenfalls in einem System zur Sichtung der Kandidatenmodelle verwendet werden, welche durch kostspieligere (und langsamere) Verfahren überprüft werden, und zwar mit einem Faktor von 10–100. Diese anderen Verfahren sind in der Lage, eine präzisere Identifikation zu liefern, sind jedoch zu kostspielig für eine sehr große Datenbank von Kandidatenmodellen.
  • Zwar wurde das aufgezeigt und beschrieben, was als bevorzugte Ausführungsformen der Erfindung betrachtet wird, doch es versteht sich selbstverständlich, dass unterschiedliche Modifikationen und Änderungen in Form oder Detail problemlos vorgenommen werden können, ohne vom Geist der Erfindung abzuweichen. Die Erfindung soll daher nicht auf die exakten Formen beschränkt sein, welche beschrieben und dargestellt sind, sondern soll so konstruiert sein, dass sie alle Modifikationen abdeckt, welche in den Schutzumfang der anliegenden Ansprüche fallen.

Claims (15)

  1. Verfahren zum Abgleich eines zweidimensionalen Bildes (50) mit einem aus einer Vielzahl von dreidimensionalen Kandidatenmodellen (10), wobei das Verfahren die folgenden Schritte umfasst: – Feststellung der Position und Ausrichtung eines Objekts, welches von dem zweidimensionalen Bild (50) dargestellt wird; – für jedes dreidimensionale Kandidatenmodell (10), Berechnen einer histogrammähnlichen Tabelle, die einen berechneten Helligkeitskoeffizienten für jede Oberflächennormale des dreidimensionalen Kandiatenmodells (50) hat, basierend auf dem entsprechenden Wert in dem zweidimensionalen Bild (50), wobei jeder Helligkeitskoeffizient nur von der entsprechenden Oberflächennormale abhängt; – sukzessives Berechnen bzw. Rendern von jedem dreidimensionalen Kandiatenmodell (10) in der festgestellten Position und Ausrichtung unter Verwendung der Oberflächennormale in Verbindung mit der entsprechenden berechneten histogrammähnlichen Helligkeitstabelle; und – Vergleich des zweidimensionalen Bildes (50) mit jedem der berechneten bzw. gerenderten dreidimensionalen Kandidatenmodelle (10).
  2. Verfahren nach Anspruch 1, welches des Weiteren den folgenden Schritt umfasst: Feststellung, ob das zweidimensionale Bild (50) mit einem aus der Vielzahl von dreidimensionalen Modellen (10) übereinstimmt, wenn der Vergleich zwischen dem zweidimensionalen Bild (50) und dem berechneten bzw. gerenderten dreidimensionalen Modell (10) innerhalb einer vorher festgelegten zulässigen Abweichung liegt.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Schritt des Vergleichens zu einer Rangordnung bzw. einem Ranking für jedes der berechneten bzw. gerenderten dreidimensionalen Modelle (10) führt, welche die Wahrscheinlichkeit angibt, dass das entsprechende dreidimensionale Modell mit dem zweidimensionalen Bild (50) übereinstimmt.
  4. Verfahren nach Anspruch 3, welches des Weiteren den folgenden Schritt umfasst: Auswahl des dreidimensionalen Modells (10), das dem berechneten bzw. gerenderten dreidimensionalen Modell (10) mit der höchsten Rangordnung entspricht, als das dreidimensionale Modell, das mit dem zweidimensionalen Bild (50) übereinstimmt.
  5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Schritt des Vergleichens gleichzeitig mit dem Schritt der Berechnung bzw. dem Rendern für jedes berechnete bzw. gerenderte dreidimensionale Modell (10) stattfindet.
  6. Verfahren nach Anspruch 1, welches des Weiteren den folgenden Schritt umfasst: Glätten der histogrammähnlichen lightsphere-Tabelle, um die Berechnung bzw. das Rendern von jedem dreidimensionale Modell (10) und die Leistungsfähigkeit des Verfahrens zu verbessern.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass der Schritt des Glättens durch eine Faltung mit einer kleinen Boxfunktion oder einem anderen kleinen Glättungskern stattfindet.
  8. Verfahren zum Abgleich eines zweidimensionalen Bildes (50) mit einem aus einer Vielzahl von dreidimensionalen Kandidatenmodellen (10), wobei das Verfahren die folgenden Schritte umfasst: – Feststellung der Position und Ausrichtung eines Objekts, welches von dem zweidimensionalen Bild (50) dargestellt wird; – für jedes dreidimensionale Kandidatenmodell (10), Berechnen einer histogrammähnlichen Tabelle, die einen berechneten Helligkeitskoeffizienten für jede Oberflächennormale des dreidimensionalen Kandiatenmodells (50) hat, basierend auf dem entsprechenden Wert in dem zweidimensionalen Bild (50), wobei jeder Helligkeitskoeffizient nur von der entsprechenden Oberflächennormale abhängt; – Berechnen der Abweichung der Helligkeitskoeffizienten, die verwendet werden, um jeden Behälter bzw. bucket der histogrammähnlichen Tabelle zu erzeugen, wobei ein Behälter bzw. bucket ein Satz von Normalenwerten ist, die einander ähneln und die zusammenfasst sind, um eine einzelnen Argumentwert in der histogrammähnlichen Tabelle zu bilden; – Berechnen der Summe der Abweichungen der histogrammähnlichen Tabellenbehälter bzw. -buckets; und – Ordnen der dreidimensionalen Kandidatenmodelle (10) in einer Rangordnung bzw. Ranking unter Verwendung ihrer berechneten Summe als eine Fehlerfunktion, wobei die Rangordnung die Wahrscheinlichkeit angibt, dass das entsprechende dreidimensionale Modell mit dem zweidimensionalen Bild (50) übereinstimmt.
  9. Verfahren nach Anspruch 8, welches des Weiteren den folgenden Schritt umfasst: Auswahl des dreidimensionalen Modells, das dem dreidimensionalen Modell mit der höchsten Rangordnung entspricht, als das dreidimensionale Modell (10), das mit dem zweidimensionalen Bild (50) übereinstimmt.
  10. Verfahren nach einem der Ansprüche 1 oder 8, welches des Weiteren den folgenden Schritt umfasst: Auslesen der dreidimensionalen Modelle von einer Datenbank (40), welche die Vielzahl von dreidimensionalen Modellen (10) enthält.
  11. Verfahren nach einem der Ansprüche 1 oder 8, dadurch gekennzeichnet, dass der Schritt des Berechnens einen minimalen Reflexionsschwellenwert festlegt, der bei der Berechnung der histogrammähnlichen Tabelle verwendet werden soll.
  12. Verfahren nach einem der Ansprüche 1 oder 8, dadurch gekennzeichnet, dass der Schritt des Berechnens einen minimalen und/oder maximalen Intensitätsschwellenwert festlegt, der bei der Berechnung der histogrammähnlichen Tabelle verwendet werden soll.
  13. Verfahren nach einem der Ansprüche 1 oder 8, dadurch gekennzeichnet, dass das zweidimensionale Bild (50) ein Farbbild ist und dass ein Helligkeitskoeffizient für jede Farbkomponente des Farbbildes berechnet wird.
  14. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die Summe der Abweichungen mit der Anzahl von Abtastwerten in jedem Behälter bzw. bucket gewichtet wird.
  15. Computerprogrammprodukt, welches in einem computerlesbaren Datenträger eingebettet ist, zum Abgleich eines zweidimensionalen Bildes (50) mit einem aus einer Vielzahl von dreidimensionalen Kandidatenmodellen (10), die in einer Datenbank (40) gespeichert sind, wobei das Computerprogrammprodukt Folgendes aufweist: – computerlesbares Programmcodemittel (120) zum Feststellen der Position und Ausrichtung eines Objekts, das zu dem zweidimensionalen Bild (50) führt; – computerlesbares Programmcodemittel zum Berechnen einer histogrammähnlichen Tabelle von jedem dreidimensionalen Kandidatenmodell (10), das einen berechneten Helligkeitskoeffizienten für jede Oberflächennormale des dreidimensionalen Kandidatenmodells (10) hat, basierend auf dem entsprechenden Wert in dem zweidimensionalen Bild (50), wobei jeder Helligkeitskoeffizient nur von der entsprechenden Oberflächennormale abhängt; computerlesbares Programmcodemittel zum sukzessiven Berechnen bzw. Rendern von jedem dreidimensionalen Kandidatenmodell (10) in der festgestellten Position und Ausrichtung unter Verwendung der Oberflächennormalen in Verbindung mit der berechneten histogrammähnlichen Helligkeitstabelle; und computerlesbares Programmcodemittel zum Vergleich des zweidimensionalen Bildes (50) mit jedem der berechneten bzw. gerenderten dreidimensionalen Kandidatenmodelle (10).
DE60036780T 2000-03-30 2000-08-30 Verfahren zum Vergleichen eines zweidimensionalen Bildes zu einem unter mehreren in einem Datenbank gespeicherten dreidimensionalen Kandidatmodellen Expired - Lifetime DE60036780T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/538,209 US6956569B1 (en) 2000-03-30 2000-03-30 Method for matching a two dimensional image to one of a plurality of three dimensional candidate models contained in a database
US538209 2000-03-30

Publications (2)

Publication Number Publication Date
DE60036780D1 DE60036780D1 (de) 2007-11-29
DE60036780T2 true DE60036780T2 (de) 2008-09-18

Family

ID=24145952

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60036780T Expired - Lifetime DE60036780T2 (de) 2000-03-30 2000-08-30 Verfahren zum Vergleichen eines zweidimensionalen Bildes zu einem unter mehreren in einem Datenbank gespeicherten dreidimensionalen Kandidatmodellen

Country Status (4)

Country Link
US (1) US6956569B1 (de)
EP (1) EP1139269B1 (de)
JP (1) JP3528915B2 (de)
DE (1) DE60036780T2 (de)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3575679B2 (ja) * 2000-03-31 2004-10-13 日本電気株式会社 顔照合方法と該照合方法を格納した記録媒体と顔照合装置
JP2001283216A (ja) * 2000-04-03 2001-10-12 Nec Corp 画像照合装置、画像照合方法、及びそのプログラムを記録した記録媒体
US7039255B2 (en) * 2000-07-21 2006-05-02 Lg Electronics Inc. Method for searching multimedia using progressive histogram
US7130466B2 (en) * 2000-12-21 2006-10-31 Cobion Ag System and method for compiling images from a database and comparing the compiled images with known images
JP4573085B2 (ja) 2001-08-10 2010-11-04 日本電気株式会社 位置姿勢認識装置とその位置姿勢認識方法、及び位置姿勢認識プログラム
GB2383915B (en) * 2001-11-23 2005-09-28 Canon Kk Method and apparatus for generating models of individuals
KR100515085B1 (ko) * 2002-06-18 2005-09-14 정욱진 2차원 얼굴사진으로부터 3차원 얼굴형상 획득 시스템 및방법
CN1669052B (zh) * 2002-07-10 2010-05-26 日本电气株式会社 使用三维物体模型的图像匹配系统以及图像匹配方法
JP2004054947A (ja) * 2002-07-16 2004-02-19 Nec Corp 物体照合システム、物体照合方法および物体照合プログラム
EP1599830A1 (de) * 2003-03-06 2005-11-30 Animetrics, Inc. Erzeugung von bilderdatenbanken für gegenstände mit mehreren merkmalen
EP1627358A4 (de) * 2003-03-11 2011-08-24 Sarnoff Corp Verfahren und vorrichtung zur bestimmung der kamerapose aus punktkorrespondenzen
JP4189654B2 (ja) * 2003-04-18 2008-12-03 セイコーエプソン株式会社 画像処理装置
EP1677250B9 (de) * 2003-10-21 2012-10-24 NEC Corporation Bildkollationierungssystem und bildkollationierungsverfahren
EP1679657B1 (de) * 2003-10-30 2017-12-27 NEC Corporation Schätzsystem, schätzverfahren und schätzprogramm zur schätzung eines objektzustands
GB0326186D0 (en) * 2003-11-10 2003-12-17 Omniperception Ltd 2d face authentication system
SE528068C2 (sv) 2004-08-19 2006-08-22 Jan Erik Solem Med Jsolutions Igenkänning av 3D föremål
CN1303574C (zh) * 2005-02-01 2007-03-07 珠海金山软件股份有限公司 一种实时三维图像处理装置
CN1315092C (zh) * 2005-02-04 2007-05-09 浙江大学 基于极光谱图像的三维人脸识别方法
KR100601989B1 (ko) * 2005-02-07 2006-07-18 삼성전자주식회사 3차원 형상 생성 장치와 방법 및 컴퓨터 프로그램을저장한 컴퓨터로 읽을 수 있는 기록매체
WO2006129791A1 (ja) * 2005-06-03 2006-12-07 Nec Corporation 画像処理システム、3次元形状推定システム、物体位置姿勢推定システム及び画像生成システム
JP4691158B2 (ja) * 2005-06-16 2011-06-01 ストライダー ラブス,インコーポレイテッド 三次元クラスモデルを用いた二次元画像における認識システムおよび方法
US8176414B1 (en) * 2005-09-30 2012-05-08 Google Inc. Document division method and system
US20070080967A1 (en) * 2005-10-11 2007-04-12 Animetrics Inc. Generation of normalized 2D imagery and ID systems via 2D to 3D lifting of multifeatured objects
US7965890B2 (en) * 2007-01-05 2011-06-21 Raytheon Company Target recognition system and method
EP2132680B1 (de) 2007-03-05 2013-01-02 Seeing Machines Pty Ltd Effiziente und genaue 3d-objektverfolgung
DE602007003849D1 (de) * 2007-10-11 2010-01-28 Mvtec Software Gmbh System und Verfahren zur 3D-Objekterkennung
KR100951890B1 (ko) * 2008-01-25 2010-04-12 성균관대학교산학협력단 상황 모니터링을 적용한 실시간 물체 인식 및 자세 추정 방법
GB0811942D0 (en) * 2008-07-01 2008-07-30 Airbus Uk Ltd Method of designing a structure
US8437537B2 (en) * 2009-03-27 2013-05-07 Mitsubishi Electric Research Laboratories, Inc. Method and system for estimating 3D pose of specular objects
US8606774B1 (en) * 2009-05-18 2013-12-10 Google Inc. Methods and systems for 3D shape retrieval
US8553972B2 (en) * 2009-07-06 2013-10-08 Samsung Electronics Co., Ltd. Apparatus, method and computer-readable medium generating depth map
IT1399352B1 (it) * 2009-07-10 2013-04-16 Ferrari Processo di lavorazione e valutazione della qualitprocesso di lavorazione e valutazione della qualità di articoli con riconoscimento automatico e sistema per attuare il processo
EP2385483B1 (de) 2010-05-07 2012-11-21 MVTec Software GmbH Erkennung und Haltungsbestimmung von 3D-Objekten in 3D-Szenen mittels Deskriptoren von Punktpaaren und der verallgemeinerten Hough Transformation
CN103093490B (zh) * 2013-02-02 2015-08-26 浙江大学 基于单个视频摄像机的实时人脸动画方法
JP6041710B2 (ja) * 2013-03-06 2016-12-14 本田技研工業株式会社 画像認識方法
JP6576354B2 (ja) * 2014-01-23 2019-09-18 パフォーマンス エスケー8 ホールディング インコーポレイテッド ボード本体の製造のためのシステムと方法
CN104599320B (zh) * 2014-12-31 2017-08-11 北京邮电大学 一种三维模型实时绘制与比对方法
US9868212B1 (en) * 2016-02-18 2018-01-16 X Development Llc Methods and apparatus for determining the pose of an object based on point cloud data
CN106652025B (zh) * 2016-12-20 2019-10-01 五邑大学 一种基于视频流与人脸多属性匹配的三维人脸建模方法和打印装置
AU2019208182B2 (en) 2018-07-25 2021-04-08 Konami Gaming, Inc. Casino management system with a patron facial recognition system and methods of operating same
US11521460B2 (en) 2018-07-25 2022-12-06 Konami Gaming, Inc. Casino management system with a patron facial recognition system and methods of operating same
CN112183450B (zh) * 2020-10-15 2024-05-28 成都思晗科技股份有限公司 一种多目标跟踪方法
CN112287002B (zh) * 2020-11-16 2022-06-28 武汉钢铁集团耐火材料有限责任公司 钢包大数据展示方法
CN113673374B (zh) * 2021-08-03 2024-01-30 支付宝(杭州)信息技术有限公司 一种面部识别方法、装置及设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4970666A (en) * 1988-03-30 1990-11-13 Land Development Laboratory, Inc. Computerized video imaging system for creating a realistic depiction of a simulated object in an actual environment
US5173947A (en) * 1989-08-01 1992-12-22 Martin Marietta Corporation Conformal image processing apparatus and method
JP3392628B2 (ja) * 1996-03-29 2003-03-31 富士通株式会社 輪郭抽出方法及びシステム
US5990900A (en) * 1997-12-24 1999-11-23 Be There Now, Inc. Two-dimensional to three-dimensional image converting system
US6243093B1 (en) * 1998-09-14 2001-06-05 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and which visually groups matching objects
US6373979B1 (en) * 1999-01-29 2002-04-16 Lg Electronics, Inc. System and method for determining a level of similarity among more than one image and a segmented data structure for enabling such determination

Also Published As

Publication number Publication date
EP1139269A2 (de) 2001-10-04
JP3528915B2 (ja) 2004-05-24
EP1139269B1 (de) 2007-10-17
DE60036780D1 (de) 2007-11-29
US6956569B1 (en) 2005-10-18
EP1139269A3 (de) 2003-01-08
JP2001283222A (ja) 2001-10-12

Similar Documents

Publication Publication Date Title
DE60036780T2 (de) Verfahren zum Vergleichen eines zweidimensionalen Bildes zu einem unter mehreren in einem Datenbank gespeicherten dreidimensionalen Kandidatmodellen
EP3657440B1 (de) Verfahren und system zur dreidimensionalen rekonstruktion eines menschlichen kopfes aus mehreren bildern
Ratches et al. Aided and automatic target recognition based upon sensory inputs from image forming systems
DE112012001984B4 (de) Integrieren von Video-Metadaten in 3D-Modelle
DE112010004767B4 (de) Punktwolkedaten-Verarbeitungsvorrichtung, Punktwolkedaten-Verarbeitungsverfahren und Punktwolkedaten-Verarbeitungsprogramm
DE69226512T2 (de) Verfahren zur Bildverarbeitung
Oliva et al. Scene-centered description from spatial envelope properties
DE60133840T2 (de) Vorrichtung und verfahren zur erzeugung einer dreidimensionalen darstellung aus einem zweidimensionalen bild
US20020057343A1 (en) Image object ranking
DE102016100101A1 (de) System zum maschinellen sehen und analytisches verfahren zur segmentierung planarer oberflächen
DE60126040T2 (de) Erkennung von Gegenständen mit Verwendung linearer Unterräume
DE102019104310A1 (de) System und Verfahren zur simultanen Betrachtung von Kanten und normalen bei Bildmerkmalen durch ein Sichtsystem
DE202009013865U1 (de) Konzept zum Auswählen eines optimierten Bewertungsmerkmalsteilsatzes für eine Inspektion von Freiformoberflächen und Konzept zum Inspizieren einer Freiformoberfläche
DE112021002781T5 (de) Verfahren und Apparate zum Erzeugen von Punktwolkenhistogrammen
Varughese et al. Content Based Image Retrieval Technique on Texture and Shape Analysis using Wavelet Feature and Clustering Model
EP3931798B1 (de) Schätzung der bewegung einer bildposition
Budianti et al. Background blurring and removal for 3d modelling of cultural heritage objects
Nishino et al. Appearance compression and synthesis based on 3D model for mixed reality
CN111126508A (zh) 一种基于hopc改进的异源图像匹配方法
Bosdogianni et al. Mixed pixel classification with robust statistics
DE102008057979B4 (de) Lerneinheit für ein Objekterkennungssystem und Objekterkennungssytem
DE102021210256A1 (de) Messsystem und Aufzeichnungsmedium, das darauf ein Messprogramm speichert
Vijayaraj et al. Overhead image statistics
CN112580442A (zh) 一种基于多维金字塔层次模型的行为识别方法
Wigan Image-processing techniques applied to road problems

Legal Events

Date Code Title Description
8364 No opposition during term of opposition