Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR SUPERIMPOSING A VIRTUAL THREE-DIMENSIONAL INDEPENDENT OBJECT ON A REAL-TIME VIDEO STREAM
Document Type and Number:
WIPO Patent Application WO/2020/038872
Kind Code:
A1
Abstract:
The invention relates to a method for superimposing a virtual three-dimensional independent object on a real-time video stream, in particular for superimposing a virtual model of spectacles on a real-time video stream showing a face, the video stream being constructed from frames, wherein a virtual three-dimensional model of the virtual object to be inserted or superimposed is generated in a computer-aided manner, wherein the model is produced from a grid network of polygons, wherein at least one material region is assigned in each case to grid network sections, wherein the optical representation of the material regions of the different grid network sections is calculated, wherein at least one human face in the video stream is detected on the basis of characteristic facial feature points, wherein the position of at least one facial feature point in the current frame of the video stream is detected, wherein the movement direction of the detected face is detected by the analysis of the current and the preceding frames by means of an algorithm, and wherein the movement of the inserted or superimposed virtual object is calculated along the movements of at least one characteristic facial feature point.

Inventors:
HOCQUET CHRISTOPHE (DE)
Application Number:
PCT/EP2019/072110
Publication Date:
February 27, 2020
Filing Date:
August 19, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TEJADO GMBH (DE)
International Classes:
G06T19/00
Foreign References:
US20160178936A12016-06-23
Other References:
SZU-HAO HUANG ET AL: "Human-centric design personalization of 3D glasses frame in markerless augmented reality", ADVANCED ENGINEERING INFORMATICS, vol. 26, no. 1, 2012, pages 35 - 45, XP028339506, ISSN: 1474-0346, [retrieved on 20110804], DOI: 10.1016/J.AEI.2011.07.008
DIFEI TANG ET AL: "Making 3D Eyeglasses Try-on practical", 2013 IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA AND EXPO (ICME), IEEE, 14 July 2014 (2014-07-14), pages 1 - 6, XP032639346, ISSN: 1945-7871, [retrieved on 20140903], DOI: 10.1109/ICMEW.2014.6890545
Attorney, Agent or Firm:
JABBUSCH SIEKMANN & WASILJEFF (DE)
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum Überlagern eines unabhängigen dreidimensionalen virtuellen Objektes (1 ) über einen Echtzeit-Videostream, insbesondere zum Überlagern eines virtuellen Modells einer Brille über einen ein Gesicht zeigenden Echtzeit-Videostream,

wobei der Videostream aus Frames aufgebaut ist,

wobei computergestützt ein dreidimensionales virtuelles Modell (1 ) des überlagernden virtuellen Objektes erstellt wird,

wobei das Modell aus einem Gitternetz aus Polygonen erstellt wird,

wobei Gitternetzabschnitten (2a - 2e) jeweils mindestens ein Materialbereich zugeordnet wird,

wobei die optische Darstellung der Materialbereiche der verschiedenen Gitternetzabschnitte (2a - 2e) berechnet werden,

wobei mindestens ein menschliches Gesicht in dem Videostream anhand von charakteristischen Gesichtsmerkmalspunkten (4) erfasst wird,

wobei die Position mindestens eines Gesichtsmerkmalspunktes (4) in dem aktuellen Frame des Videostream erfasst wird,

wobei die Bewegungsrichtung des erfassten Gesichtes durch die Analyse des aktuellen und der vorhergehenden Frames mittels eines Algorithmus erfasst wird, und

wobei die Bewegung des überlagernden virtuellen Objektes (1 ) entlang der Bewegungen mindestens eines charakteristischen Gesichtsmerkmalspunktes (4) berechnet wird.

2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass die optische Darstellung der Gitternetzabschnitte (2a - 2e) unter mindestens einer virtuellen Lichtquelle berechnet wird.

3. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass das dreidimensionale virtuelle Objekt (1 ) anhand mindestens einer technischen Zeichnung erstellt wird.

4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die optische Darstellung eines Materials anhand von physikalischen Eigenschaften des darzustellenden Materials berechnet wird.

5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass es sich bei den verschiedenen Gitternetzabschnitten (2a - 2e) um einen Frontrahmen (2a), zwei Linsen (2c) und zwei Bügel (2b) einer Brille handelt.

6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass aus den Gitternetzabschnitten (2a - 2e) zweidimensionale Abbildungen (3a - 3e), insbesondere die UV-Koordinaten der Gitternetzabschnitte (2a - 2e), festgelegt werden, und dass durch die UV-Koordinaten festgelegt wird, welcher Teil einer Textur welchem Polygon des Gitternetzes zugeordnet wird.

7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass mittels eines computergestützten Szeneneditors Darstellungsparameter des überlagernden virtuellen Objektes (1 ) eingestellt werden und dass die einem überlagernden Objekt (1 ) zugeordneten Darstellungsparameter aus einer Datenbank geladen werden.

8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass aus Eingangsdaten des Videostreams Bereiche, in denen wahrscheinlich ein menschliches Gesicht dargestellt ist, bestimmt werden, dass alle Bereiche in denen wahrscheinlich ein menschliches Gesicht dargestellt ist, in einen Sammelbereich, insbesondere in eine rechteckige Fläche, zusammengeführt werden und dass auf die Existenz eines menschlichen Gesichtes in dem Sammelbereich geschlossen wird, wenn die Bereiche in etwa dieselbe Größe und dieselbe Position in den Eingangsdaten des Videostreams aufweisen.

9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass in dem Sammelbereich die Position von Gesichtsmerkmalspunkten (4), insbesondere von 50 bis 80, vorzugsweise von 68 Gesichtsmerkmalspunkten (4), bestimmt wird.

10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass die Koordinaten der Gesichtsmerkmalspunkte (4) in dem analysierten Frame erfasst werden, dass die Translationsbewegungen der Gesichtsmerkmalspunkte (4) in der analysierten Ebene erfasst werden, dass der Maßstab des erfassten Gesichtes im Vergleich zur Größe des analysierten Frames erfasst wird und dass Rotationsbewegungen der Koordinaten der Gesichtsmerkmalspunkte (4) in drei Raumrichtungen erfasst werden.

1 1. Verfahren nach einem der Ansprüche 9 oder 10, dass es sich bei einem charakteristischen Gesichtsmerkmalspunkt (4) um den einem Nasenrücken zugeordneten Gesichtsmerkmalspunkt (4) handelt und dass die Bewegung des überlagernden dreidimensionalen Objektes (1 ) entlang der Bewegung des einem Nasenrücken zugeordneten Gesichtsmerkmalspunktes (4) berechnet wird.

12. Verfahren nach einem der Ansprüche 1 bis 11 , dadurch gekennzeichnet, dass ein dreidimensionales Modell (5) eines menschlichen Gesichtes berechnet wird, und dass Bereiche des überlagernden Objektes (1 ), die von dem dreidimensionalen Modell (5) eines menschlichen Gesichtes verdeckt werden, ausgeblendet werden.

13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass die verschiedenen Gitternetzbereichen (2a - 2e) zugeordneten

Materialeigenschaften, insbesondere die Tönung (7, 8), die

Lichtdurchlässigkeit und die Reflexion, in Echtzeit geändert werden.

Description:
Verfahren zum Überlagern eines unabhängigen, dreidimensionalen, virtuellen Objektes über einen Echtzeit-Videostream

Die Erfindung betrifft ein Verfahren zum Überlagern eines unabhängigen, dreidimensionalen, virtuellen Objektes über einen Echtzeit-Videostream, insbesondere zum Überlagern eines virtuellen Modells einer Brille über einen ein Gesicht zeigenden Echtzeit-Videostream. Insbesondere beim Verkauf von Waren über das Internet können Verfahren zum Einsatz kommen, in denen beispielsweise Bekleidungsartikel über das Bild eines Kunden projiziert werden, um einen optischen Eindruck der Ware zu vermitteln. Insbesondere beim Erwerb von Brillen bzw. Brillengestellen über das Internet kann eine solche Darstellungsmethode nur sehr unzureichend sein, da zur Auswahl der passenden Ware ein Betrachten aus vielen möglichen Blickwinkeln erforderlich ist.

Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren vorzuschlagen, mit dem das Überlagern eines dreidimensionalen, virtuellen Objektes über einen Echtzeit-Videostream ermöglicht ist und wobei das Objekt mit dem Gesicht eines Betrachters bewegbar ist.

Die Lösung dieser Aufgabe erfolgt mit einem Verfahren mit den Merkmalen des Patentanspruchs 1 . Weiterbildungen und vorteilhafte Ausgestaltungen sind in den Unteransprüchen angegeben. Die Erfindung betrifft ein Verfahren zum Überlagern eines unabhängigen, dreidimensionalen, virtuellen Objektes über einen Echtzeit-Videostream, insbesondere zum Überlagern eines virtuellen Modells einer Brille über einen ein Gesicht zeigenden Echtzeit-Videostream, wobei der Videostream aus Frames aufgebaut ist, wobei computergestützt ein dreidimensionales, virtuelles Modell des einzublendenden bzw. des überlagernden virtuellen Objektes erstellt wird, wobei das Modell aus einem Gitternetz aus Polygonen erstellt wird, wobei Gitternetzabschnitten jeweils mindestens ein Materialbereich zugeordnet wird, wobei die optische Darstellung der Materialbereiche der verschiedenen Gitternetzabschnitte berechnet wird, wobei mindestens ein menschliches Gesicht in dem Videostream anhand von charakteristischen Gesichtsmerkmalspunkten erfasst wird, wobei die Position mindestens eines Gesichtsmerkmalspunktes in dem aktuellen Frame des Videostream erfasst wird, wobei die Bewegungsrichtung des erfassten Gesichtes durch die Analyse des aktuellen und der vorhergehenden Frames mittels eines Algorithmus erfasst wird und wobei die Bewegung des eingeblendeten bzw. des überlagernden, virtuellen Objektes entlang der Bewegungen mindestens eines charakteristischen Gesichtsmerkmalspunktes berechnet wird. Bei dem Objekt, das in einen Echtzeit-Videostream eingeblendet wird, kann es sich beispielsweise um das virtuelle Modell einer Brille handeln. Der Echtzeit-Videostream zeigt hierbei ein Gesicht, auf das die Brille projiziert wird bzw. wobei das Gesicht mit dem virtuellen Modell der Brille überlagert wird. Bei dem Echtzeit-Videostream kann es sich um ein aktuell aufgezeichnetes Video von einem Nutzer handeln, wobei insbesondere das Gesicht des Nutzers erfasst wird. Das Gesicht des Nutzers kann beispielsweise von einer Kamera, insbesondere einer Smartphone-Kamera, aufgezeichnet werden und in Echtzeit, also als Videostream, auf einem Display wiedergegeben werden. Ein Videostream besteht hierbei aus einzelnen Bildern, sogenannte Frames. Die Bildfrequenz oder auch Bildrate des Videostreams bezeichnet die Anzahl der Einzelbilder, also der Frames, pro Zeitspanne. Die Bildfrequenz kann in der Einheit fps, für Englisch frames per seconds, angegeben werden. In den in Echtzeit aufgenommenen Videostream soll in Echtzeit ein virtuelles, also ein berechnetes, also gerendertes Objekt, eingeblendet werden bzw. soll der Videostream mit dem Objekt überlagert werden. Bei diesem virtuellen Objekt kann es sich beispielsweise um ein computerberechnetes Modell einer Brille handeln. Dieses kann beispielsweise auf technischen Zeichnungen, Fotos oder Ähnlichem beruhen oder kann auch frei am Computer mittels Software entworfen sein. Insbesondere wird zur Berechnung eines Modells ein aus Polygonen aufgebautes Gitternetzmodell erstellt. Zur Berechnung des Polygonengitternetzmodells kann beispielsweise eine 3D-Software zum Einsatz kommen. Beispielsweise kann das Gitternetzmodell einer Brille aus beispielsweise zehntausend bis fünfzehntausend Dreiecken bestehen. Das berechnete Gitternetzmodell kann in Gitternetzabschnitte zerlegt werden, wobei die Zerlegung in Abhängigkeit des verwendeten Materials erfolgt. Beispielsweise kann ein Gitternetzmodell in verschiedene Gitternetzabschnitte, die den Frontrahmen, die Brillengläser, die Seitenbügel oder Ähnliches darstellen, zerlegt bzw. aufgeteilt werden. Jedem der Gitternetzabschnitte können Materialbereiche mit entsprechenden Materialeigenschaften zugeordnet werden. Hierbei wird die optische Darstellung, also die Darstellungsparameter der verschiedenen Gitternetzabschnitte anhand der ausgewählten Materialbereiche berechnet. Beispielsweise kann der Frontrahmen aus einem anderen Material als die Gläser oder die Bügel bestehen. Beispielsweise kann der Frontrahmen aus einem metallischen Material bestehen, während die Gläser aus einem transparenten Kunststoff und die Bügel aus farbigem Kunststoff bestehen. Anhand der verschiedenen ausgewählten bzw. zugeordneten Materialien und deren Materialeigenschaften kann ein Modell der Brille berechnet, also gerendert werden. In dem in Echtzeit aufgezeichneten Videostream kann ein menschliches Gesicht anhand von charakteristischen Gesichtsmerkmalspunkten erfasst werden. Jedes menschliche Gesicht weist verschiedene Gesichtsmerkmalspunkte, wie beispielsweise die Augen, den Nasenrücken, die Mundwinkel oder Ähnliches auf, anhand deren ein Gesicht in einem Videostream erfasst werden kann. Hierbei wird mindestens eine Position mindestens eines Gesichtsmerkmalspunktes in dem aktuellen Frame des Videostreams erfasst. Durch die genaue Position des Gesichtes in dem aktuellen Frame des Videostreams ist definiert, an welche Stelle das dreidimensionale, virtuelle Modell in den Videostream eingeblendet werden muss, also an welcher Stelle das virtuelle Modell den Videostream überlagern soll. Die Bewegungsrichtung des erfassten Gesichtes kann durch eine Analyse des aktuellen und des vorhergehenden Frames des Videostreams erfolgen, wobei beispielsweise mittels eines Algorithmus die Positionen des Gesichtes in den jeweiligen Frames erfasst werden. Insbesondere wird hierbei die Bewegung eines charakteristischen Gesichtsmerkmalspunktes berechnet. Entlang der erfassten Bewegung eines charakteristischen Gesichtsmerkmalspunktes kann die Bewegung des eingeblendeten, virtuellen Objektes berechnet werden. Somit ist sichergestellt, dass sich das überlagernde, virtuelle Objekt mit den Gesichtsbewegungen des Nutzers mitbewegt. Somit ist die Einblendung bzw. die Überlagerung eines dreidimensionalen, virtuellen Objektes in bzw. über einen Echtzeit- Videostream und die Echtzeit-Wiedergabe auf einem Display ermöglicht. Insbesondere ist es ermöglicht, eine Brille über das Gesicht eines Nutzers zu überlagern bzw. einzublenden, wobei eine Bewegung der virtuellen Brille mit der Bewegung des Gesichtes des Nutzers berechnet werden kann.

In einer Weiterbildung des Verfahrens wird die optische Darstellung der Gitternetzabschnitte unter mindestens einer virtuellen Lichtquelle berechnet. Das Verhalten der verschiedenen Gitternetzabschnitte, also das Verhalten der verschiedenen, zugeordneten Materialien, wird unter dem Einfluss mindestens einer virtuellen Lichtquelle berechnet. Somit können Darstellungsparameter wie verschiedene Schattierungen, Reflektionen und ähnliches des virtuellen Objektes berechnet werden, um ein realistisches Aussehen des virtuellen Modells zu erhalten.

In einer Ausführungsform des Verfahrens wird das dreidimensionale, virtuelle Objekt anhand mindestens einer technischen Zeichnung erstellt. Ein dreidimensionales, virtuelles Modell, insbesondere ein Gitternetzmodell, kann beispielsweise anhand technischer Zeichnungen erstellt werden. In technischen Zeichnungen sind zumeist genaue Abmessungen, Winkelangaben und ähnliche technische Angaben vermerkt, so dass hieraus ein Gitternetzmodell errechnet werden kann.

In einer Weiterbildung des Verfahrens wird die optische Darstellung eines Materials anhand von physikalischen Eigenschaften des darzustellenden Materials berechnet. Die Materialien, aus denen eine reale Brille besteht, können durch Berechnungsverfahren nachempfunden werden. Beispielsweise können die physikalischen Eigenschaften eines Materials, wie die Rauigkeit, der metallische Glanz, die Transparenz, die Reflektivität oder Ähnliches bekannt sein. Weiterhin kann die Farbe des Materials, die Deckkraft der Farbe, die Farbintensität oder Ähnliches bekannt sein. Anhand der Materialeigenschaften kann die optische Darstellung, also die Darstellungsparameter des jeweiligen Materials in einem Videostream berechnet werden, so dass das Material des gerenderten, virtuellen Objektes möglichst realistisch erscheint. Weiterhin kann die optische Darstellung eines Materials an Bilder des Materials angepasst werden bzw. können die Materialien des virtuellen Objektes anhand von Bildern modelliert werden.

In einer Ausführungsform des Verfahrens handelt es sich bei den verschiedenen Gitternetzabschnitten um einen Frontrahmen, zwei Linsen und zwei Bügel einer Brille. Bei den verschiedenen Gitternetzabschnitten eines virtuellen Objektes, insbesondere einer Brille, kann es sich um den Frontrahmen, die Linsen und die Bügel handeln. Insbesondere können dem Frontrahmen und den Linsen verschiedene Materialeigenschaften zugeordnet werden, so dass beispielsweise die Linsen transparent und reflektierend dargestellt werden, während der Frontrahmen aus nicht transparentem Material bestehen kann. Durch die Zuordnung verschiedener Materialien zu verschiedenen Gitternetzabschnitten ist eine individuelle Berechnung der Materialien möglich. Beispielsweise kann ein Nutzer verschiedene Frontrahmenmaterialien auswählen, während die Materialien der Bügel gleich bleiben.

In einer Ausführungsform des Verfahrens werden zu den Gitternetzabschnitten zweidimensionale Abbildungen, insbesondere UV- Koordinaten der Gitternetzabschnitte, festgelegt, und durch die UV- Koordinaten wird festgelegt, welcher Teil einer Textur welchem Polygon zugeordnet wird. Von den verschiedenen Gitternetzabschnitten können zweidimensionale Abbildungen erstellt werden. Insbesondere können die sogenannten UV-Koordinaten durch ein sogenanntes UV-Mapping der Gitternetzabschnitte festgelegt werden. Beispielsweise können die UV- Koordinaten bei dem Gestaltungsprozess des Modells des virtuellen Objektes festgelegt werden. Die UV-Koordinaten geben an, welcher Teil einer Textur welchem Polygon des Gitternetzmodells zugeordnet wird. Weiterhin können durch die zweidimensionalen Abbildungen das Verhalten der Gitternetzabschnitte unter virtuellen Lichtquellen, insbesondere die

Reflektivität bzw. die Verschattung, berechnet werden.

In einer Weiterbildung des Verfahrens werden mittels eines computergestützten Szeneneditors Darstellungsparameter des überlagernden, virtuellen Objektes eingestellt, und die einem überlagernden Objekt zugeordneten Darstellungsparameter werden aus einer Datenbank geladen. Mittels eines computergestützten Szeneneditors, also mittels einer sogenannten Scene-Editor-Software, können Darstellungsparameter beispielsweise Lichteffekte, die optische Darstellung von

Materialeigenschaften oder weitere Parameter, wie die einem Gitternetzabschnitt zugeordneten Texturen, des überlagernden, virtuellen Objektes eingestellt werden. Die Darstellungsparameter des virtuellen Objektes können für aufeinanderfolgende Frames beibehalten werden. Beispielsweise kann die globale Helligkeit mit einer über 360°, also in alle Raumrichtungen abstrahlenden, virtuellen Lichtquelle eingestellt werden. Weiterhin können frontal auf das virtuelle Objekt ausgerichtete virtuelle Lichtquellen eingesetzt werden, um eine realistische Darstellung des virtuellen Objektes zu erreichen. Die Darstellungsparameter eines virtuellen Objektes werden gespeichert und können von einem Frame zu dem folgenden Frame beibehalten werden. Einzelne Darstellungsparameter, wie beispielsweise die Farbgebung, können von einem Frame zum nächsten Frame verändert werden, beispielsweise wenn dies von einem Nutzer so gewünscht ist, wobei die anderen Darstellungsparameter unverändert beibehalten werden. Somit ist bei Veränderung einzelner Darstellungsparameter kein erneutes Laden des gesamten virtuellen Objektes notwendig, wodurch zu verarbeitende Datenvolumen reduziert werden. Weiterhin können die Darstellungsparameter auch für weitere virtuelle Objekte zur Verfügung stehen. Die eine virtuelle Szene beschreibenden Darstellungsparameter können im Zusammenhang mit dem überlagernden, virtuellen Objekt gespeichert werden. Insbesondere können die einzelnen Dateien nach einer Nomenklatur benannt werden, so dass sie beispielsweise separat in ein Speichermedium exportiert werden können. Insbesondere können die Materialeigenschaften unter verschiedenen szenischen Randbedingungen unabhängig von dem 3D-Objekt gespeichert werden, so dass diese Informationen auch für weitere virtuelle Objekte zur Verfügung stehen.

Insbesondere kann bei der Modellierung eines Frames eine angepasste Szeneneditorsoftware zur Verwendung kommen. Diesem Szeneneditor kann eine Datenbank mit Darstellungsparametern, wie beispielsweise den optischen Darstellungen von Materialien, zugeordnet sein. Somit sind die einen Videostream überlagernden virtuellen Objekte nicht beispielsweise an spezifische Texturen oder Materialien gebunden, sondern es steht eine Datenbank mit den Texturen und Materialien, insbesondere der optischen Darstellung von Materialeigenschaften, aller virtuellen Objekte zur Verfügung, die mit anderen virtuellen Objekten geteilt werden. Je mehr virtuelle Objekte mit ihren Materialeigenschaften der Datenbank zugeführt werden, desto mehr Materialien werden zwischen den virtuellen Objekten geteilt, desto mehr Materialeigenschaften stehen also den anderen virtuellen Objekten zur Verfügung. Hierdurch kann eine erhebliche Reduzierung der zur Berechnung eines virtuellen Objektes erforderlichen Rechenzeit, also eine Beschleunigung der Modellierung, erreicht werden, da auf bekannte Materialeigenschaften bzw. deren bekannte optische Darstellung zurückgegriffen werden kann. Zudem müssen nur wenige Materialeigenschaften und weitere Darstellungsparameter mit einem virtuellen Objekt geladen werden, so dass sich geringe von einer Recheneinheit zu ladene und zu verarbeitende Datenmengen und somit eine erhöhte Ladegeschwindigkeit für ein virtuelles Objekt ergeben. Dies ist insbesondere bei der Anwendung auf mobilen Recheneinrichtungen, wie beispielsweise Smartphones, vorteilhaft.

In einer Ausführungsform des Verfahrens werden außer den Eingangsdaten des Videostreams Bereiche, insbesondere rechteckige Flächen, bestimmt, in denen wahrscheinlich ein menschliches Gesicht dargestellt ist, alle Bereiche, in denen wahrscheinlich ein menschliches Gesicht dargestellt ist, werden in einem Sammelbereich zusammengeführt, und es wird auf die Existenz eines menschlichen Gesichtes geschlossen, wenn die Bereiche in etwa dieselbe Größe und dieselbe Position in den Eingangsdaten des Videostreams aufweisen. Zur Erfassung eines Gesichtes in dem Echtzeit-Videostream können verschiedene Gesichtserkennungsalgorithmen, so wie ein LBD (Logical Binary Patterns Detector) oder ein Haar Cascade Adaboost frontal face detector verwendet werden. Die Wahl des Detektors kann hierbei von der gewünschten Genauigkeit, der Berechnungsgeschwindigkeit und den zur Verfügung stehenden Rechenressourcen abhängen. In den Eingangsdaten des Videostreams werden Bereiche bestimmt, in denen wahrscheinlich ein menschliches Gesicht dargestellt ist. Alle Bereiche, in denen wahrscheinlich ein menschliches Gesicht dargestellt ist, werden in einem Sammelbereich, insbesondere in einem rechteckigen Bereich, zusammengeführt. Wenn die aufgefundenen Bereiche in etwa dieselbe Position in den Eingangsdaten und in etwa die gleiche Größe aufweisen, kann davon ausgegangen werden, dass in dem zusammengeführten Sammelbereich ein menschliches Gesicht dargestellt ist. In einer Weiterbildung des Verfahrens wird in dem Sammelbereich die Position von Gesichtsmerkmalspunkten, insbesondere von 50 bis 80, insbesondere von 68 Gesichtsmerkmalspunkten, bestimmt. In dem zusammengeführten Sammelbereich werden die Positionen von 68 Gesichtsmerkmalspunkten bestimmt. Durch die Gesichtsmerkmalspunkte lässt sich ein menschliches Gesicht beschreiben, in dem beispielsweise die Position des Nasenrückens, die Umrandung der Augen oder des Mundes genau gekennzeichnet sind. Die Positionen der Gesichtsmerkmalspunkte können beispielsweise mit Algorithmen, wie einem Active Shape Model oder Ensemble Regression Trees erfasst werden. Durch die bekannten Positionen der Gesichtsmerkmalspunkte ist ein menschliches Gesicht in dem Videostream eindeutig erfasst.

In einer Weiterbildung des Verfahrens werden die Koordinaten der Gesichtsmerkmalspunkte in dem analysierten Frame erfasst, die Translations bewegungen der Gesichtsmerkmalspunkte in der analysierten Ebene werden erfasst, der Maßstab des erfassten Gesichtes im Vergleich zur Größe des analysierten Frames wird erfasst, und Rotationsbewegungen der Koordinaten der Gesichtsmerkmalspunkte in drei Raumrichtungen werden erfasst. Zu den Gesichtsmerkmalspunkten, die in dem Sammelbereich erfasst wurden, werden die genauen Koordinaten in dem aktuellen Frame erfasst. Der aktuelle Frame und der vorangehende Frame des Videostreams werden analysiert, um die Bewegungsrichtung des Gesichtes zu bestimmen. Der analysierte Bereich wird entlang der Bewegungsrichtung verschoben, um die benötigten Rechenressourcen für die Gesichtserfassung zu minimieren. Mittels eines Optical-Flow-Algorithmus können die einmal erfassten Gesichtsmerkmalspunkte bei langsamer oder keiner Bewegung von einem zum nächsten Frame stabilisiert werden, um ein Zittern der Gesichtsmerkmalspunkte zu verhindern. Des Weiteren können durch den Optical-Flow-Algorithmus größere Bewegungen von einem Frame zum nächsten erfasst werden. Bei größeren Bewegungen kann der Sammelbereich, ohne erneute Erfassung eines menschlichen Gesichtes, entlang der durch den Optical-Flow-Algorithmus ermittelten Distanz verschoben werden. Die Erfassung der Gesichtsmerkmalspunkte wird nur einmalig durchgeführt, wobei der entsprechende Sammelbereich anhand der Gesichtsmerkmalspunkte und unter Berücksichtigung der mittels des Optical- Flow-Algorithmus ermittelten Distanz verschoben wird. Für die insbesondere 68 Gesichtsmerkmalspunkte werden die Koordinaten in dem aktuellen Frame bestimmt. Insbesondere können für jeden Gesichtsmerkmalspunkt die X- und Y-Koordinaten angegeben werden. Des Weiteren kann die

Translationsbewegung der Gesichtsmerkmalspunkte in X-Richtung und in Y- Richtung erfasst werden. Zudem kann aus den Koordinaten die Größe bzw. der Maßstab des dargestellten Gesichtes im Vergleich zur Größe des analysierten Frames berechnet werden. Aus der Rotation der

Gesichtsmerkmalspunkte in X-, Y- und Z-Richtung kann ein Nicken des Gesichtes, ein Drehen des Gesichtes, beispielsweise nach links oder rechts, und die Kopfneigung bestimmt werden.

In einer Weiterbildung des Verfahrens handelt es sich bei einem charakteristischen Gesichtsmerkmalspunkt um den einem Nasenrücken zugeordneten Gesichtsmerkmalspunkt und die Bewegung des überlagernden dreidimensionalen Objektes wird entlang der Bewegung des dem

Nasenrücken zugeordneten Gesichtsmerkmalspunkt berechnet. Ein charakteristischer Gesichtsmerkmalspunkt, insbesondere der einem Nasenrücken zugeordnete Gesichtsmerkmalspunkt, wird herausgegriffen, um die Position der Einblendung bzw. der Überlagerung des dreidimensionalen Objektes festzulegen. Beispielsweise wird die Position des Brillensteges des virtuellen Modells der Position des einem Nasenrücken entsprechenden Gesichtsmerkmalspunktes zugeordnet. Das dreidimensionale Objekt wird gemäß den Bewegungen des Gesichtsmerkmalspunktes in dem Videostream bewegt. Insbesondere kann hierbei eine Verschiebung des 3D-Objektes entlang den X-/Y-Positionen des Gesichtsmerkmalspunktes erfolgen. Entlang der X-/Y- und Z-Koordinaten des charakteristischen Gesichtsmerkmalspunktes werden auch die seitlichen Bewegungen des 3D- Objektes sowie die Nick- und Neigebewegungen des Objektes berechnet. Somit ist gewährleistet, dass beispielsweise eine eingeblendete Brille mit den Bewegungen des menschlichen Gesichtes mitbewegt wird.

In einer Weiterbildung des Verfahrens wird ein dreidimensionales Modell eines menschlichen Gesichtes berechnet und Bereiche des überlagernden Objektes, die von dem dreidimensionalen Modell eines menschlichen Gesichtes verdeckt werden, werden ausgeblendet. Beim Tragen einer Brille können verschiedene Bereiche der Brille, beispielsweise Bereiche des Frontrahmens oder der Gläser aus verschiedenen Blickwinkeln beispielsweise von der Nase verdeckt werden. Um diesen Sachverhalt bei der Einblendung bzw. Überlagerung eines dreidimensionalen Objektes in einen Echtzeit- Videostream nachbilden zu können, wird ein dreidimensionales Modell eines menschlichen Gesichtes berechnet. Anhand dieses Modelles kann berechnet werden, welche Bereiche des überlagernden Objektes gerade bei dem aktuellen Blickwinkel, also beispielsweise bei der aktuellen Neigung des menschlichen Gesichtes zur aufzeichnenden Kamera bzw. zur Darstellungsebene des Displays verdeckt sein können. Die als verdeckt erkannten Bereiche des überlagernden Objektes werden ausgeblendet, so dass es für den Betrachter den Anschein hat, dass diese von seinem Gesicht verdeckt sind. Insbesondere wird hierbei das dreidimensionale Objekt des menschlichen Gesichtes analog zu den Bewegungen der erfassten Gesichtsmerkmalspunkte bewegt.

In einer Weiterbildung des Verfahrens werden die verschiedenen Gitternetzbereichen zugeordneten Materialeigenschaften, insbesondere die Tönung, die Lichtdurchlässigkeit und die Reflektion in Echtzeit geändert. Durch die Unterteilung des Gitternetzmodelles in verschiedene Gitternetzabschnitte und durch die Zuordnung verschiedener Materialien bzw. Materialeigenschaften zu verschiedenen Gitternetzabschnitten können die Materialien verschiedener Bereiche des überlagernden Objektes in Echtzeit geändert werden. Beispielsweise können die Materialeigenschaften von Brillengläser darstellenden Gitternetzabschnitten dahingehend geändert werden, dass verschiedene Tönungen einblendet werden. Auch können beispielsweise verschiedene Farbnuancen des Rahmens in Echtzeit ausprobiert werden.

Nachfolgend wird die Erfindung anhand eines in der Zeichnung dargestellten Ausführungsbeispiels weiter erläutert. Im Einzelnen zeigen:

Fig. 1 : ein 3D-Gitternetzmodell einer Brille;

Fig. 2: ein in Gitternetzabschnitte zerlegtes Gitternetzmodell einer Brille;

Fig. 3: zweidimensionale Abbildungen der Gitternetzabschnitte gemäß

Fig. 2;

Fig. 4: charakteristische Gesichtsmerkmalspunkte eines menschlichen

Gesichtes;

Fig. 5: ein in ein Standbild eingeblendetes virtuelles Objekt;

Fig. 6: ein dreidimensionales Modell eines menschlichen Gesichtes;

Fig. 7 ein virtuelles Modell einer Brille mit ausgeblendeten Bereichen;

und

Fig. 8: verschiedene einem Gitternetzabschnitt zugeordnete

Materialeigenschaften.

In Fig. 1 ist ein Gitternetzmodell 1 eines virtuellen Objektes, hier einer Brille, dargestellt. Das Gitternetzmodell 1 besteht aus ca. 10.000 bis 15.000 Polygonen. Durch die Polygonen kann das einzublendende bzw. das überlagernde virtuelle dreidimensionale Objekt genau nachgebildet werden.

In Fig. 2 ist ein virtuelles Modell gemäß Fig. 1 zerlegt in verschiedene Gitternetzabschnitte 2a - 2e dargestellt. Ein Gitternetzmodell 1 gemäß Fig. 1 kann in verschiedene Gitternetzabschnitte 2a - 2e zerlegt werden, wobei jedem Gitternetzabschnitt 2a - 2e beispielsweise unterschiedliche Materialeigenschaften zugeordnet werden können. Beispielsweise kann es sich bei den Gitternetzabschnitten 2a - 2e um einen Frontrahmen 2a, Seitenbügel 2b, Brillengläser 2c, Gelenkstrukturen 2d oder Bügelkonstruktionen 2e handeln. Den unterschiedlichen Gitternetzabschnitten 2a - 2e können unterschiedliche Materialeigenschaften zugeordnet werden. Beispielsweise können dem Frontrahmen 2a metallische Materialeigenschaften zugeordnet werden, während die Seitenbügel 2b beispielsweise aus Kunststoff bestehen können. Anhand der Materialeigenschaften kann die optische Darstellung der Gitternetzabschnitte berechnet werden.

In Fig. 3 sind zweidimensionale Abbildungen 3a - 3e der Gitternetzabschnitte 2a - 2e gemäß Fig. 2 dargestellt. Zu den dreidimensionalen Gitternetzabschnitten 2a - 2e gemäß Fig. 2 werden die zweidimensionalen Abbildungen 3a - 3e, die sogenannten UV-Koordinaten, festgelegt. Mittels der UV-Koordinaten kann festgelegt werden, welcher Teil einer Textur welchem Polygon des Gitternetzes zugeordnet wird. Des Weiteren können bei einem sogenannten UV-Mapping zu den Materialeigenschaften Verschattungen sowie Reflektionen der verschiedenen Gitternetzabschnitte 2a - 2e berechnet werden. Hierbei kann beispielsweise berechnet werden, wie das dreidimensionale Objekt unter verschiedenen virtuellen Lichtquellen erscheint.

In Fig. 4 sind 68 Gesichtsmerkmalspunkte 4 eines menschlichen Gesichtes dargestellt. Durch die Gesichtsmerkmalspunkte 4 kann ein menschliches Gesicht eindeutig erfasst werden. Insbesondere kann hierbei die genaue Position bzw. die genauen Koordinaten der Augen, der Nase, des Mundes sowie der Gesichtsumrandungen erfasst werden.

In Fig. 5 ist ein Standbild aus einem Videostream ausgewählt, bei dem ein überlagerndes dreidimensionales Objekt 1 , in diesem Fall eine Brille, in den Livestream eingeblendet ist. Insbesondere wird bei einem erfassten Gesicht ein charakteristischer Gesichtsmerkmalspunkt 4 gemäß Fig. 4 erfasst. Beispielsweise kann es sich bei dem Gesichtsmerkmalspunkt 4 um den Gesichtsmerkmalspunkt Nr. 27, der einem Nasenrücken eines menschlichen Gesichtes zugeordnet ist, handeln. Anhand dieses Gesichtsmerkmalspunktes 4 kann ein virtuelles Objekt 1 , in diesem Fall eine Brille, in der richtigen Position in Bezug zu dem Gesicht des Nutzers eingeblendet werden. Insbesondere kann das dreidimensionale Objekt 1 entlang der Bewegung des charakteristischen Gesichtsmerkmalspunktes 4 verschoben werden. Insbesondere können hierbei Translationsbewegungen, Neige- oder Nickbewegungen des charakteristischen Punktes auf das dreidimensionale Objekt 1 übertragen werden. Somit ist gewährleistet, dass das dreidimensionale Objekt 1 mit dem Gesicht des Nutzers mitbewegt wird.

In Fig. 6 ist ein dreidimensionales Modell 5 eines menschlichen Gesichtes dargestellt. Anhand des dreidimensionalen Modells 5 eines menschlichen Gesichtes können Bereiche 6 des eingeblendeten dreidimensionalen Objektes 1 erfasst werden, die aus bestimmten Blickwinkeln durch das menschliche Gesicht verdeckt werden würden. Somit können Bereiche 6 aus dem dreidimensionalen Objekt 1 ausgeblendet werden, um den Realismus der Darstellung zu erhöhen.

In Fig. 7 ist ein einzublendendes bzw. überlagerndes dreidimensionales Objekt 1 , hier eine Brille, dargestellt, bei der ein Bereich 6 ausgeblendet wurde. Ein Bereich 6 eines Brillenglases, der unter diesem Blickwinkel von der Nase des Brillenträgers verdeckt werden würde, wurde ausgeblendet, um eine realistischere Darstellung bei der Einblendung der Brille in das Gesicht eines Nutzers zu erhalten. Die Lage und die Abmessungen des ausgeblendeten Bereiches 6 wurden anhand des dreidimensionalen Modells 5 des menschlichen Gesichtes errechnet.

In Fig. 8 sind drei Ausschnitte eines Standbildes eines Echtzeit-Videostreams dargestellt, bei denen die Materialeigenschaften von Gitternetzabschnitten in Echtzeit geändert wurden. Verschiedenen Gitternetzabschnitten 2a - 2e werden verschiedene Materialeigenschaften zugeordnet. Beispielsweise können die Brillengläser 2c transparent erscheinend dargestellt werden, es kann allerdings auch die Tönung 7, 8 in verschiedenen Stufen geändert werden, so dass ein Nutzer beispielsweise verschiedene Tönungsgrade 7, 8 einer Sonnenbrille in Echtzeit probieren kann.

Alle in der vorstehenden Beschreibung und in den Ansprüchen genannten Merkmale sind in einer beliebigen Auswahl mit den Merkmalen des unabhängigen Anspruchs kombinierbar. Die Offenbarung der Erfindung ist somit nicht auf die beschriebenen bzw. beanspruchten Merkmalskombinationen beschränkt, vielmehr sind alle im Rahmen der Erfindung sinnvollen Merkmalskombinationen als offenbart zu betrachten.

Bezuqszahlenliste:

1 Gitternetzmodell / dreidimensionales Objekt

2 Gitternetzabschnitte

a - e

2a Frontrahmen

2b Seitenbügel

2c Brillengläser

2d Gelenkstruktur

2e Bügelkonstruktion

3 2D-Abbildungen

a - e

3a

3b

3c

3d

3e

4 Gesichtsmerkmalpunkt

5 dreidimensionales Modell

6 ausgeblendeter Bereich

7 Tönungsgrad

8 Tönungsgrad