WO2025109195A1 - Method for obtaining a digital representation of a head of hair of a physical person - Google Patents
Method for obtaining a digital representation of a head of hair of a physical person Download PDFInfo
- Publication number
- WO2025109195A1 WO2025109195A1 PCT/EP2024/083343 EP2024083343W WO2025109195A1 WO 2025109195 A1 WO2025109195 A1 WO 2025109195A1 EP 2024083343 W EP2024083343 W EP 2024083343W WO 2025109195 A1 WO2025109195 A1 WO 2025109195A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- hair
- parameter
- image data
- head
- obtaining
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Electronic shopping [e-shopping] utilising user interfaces specially adapted for shopping
- G06Q30/0643—Electronic shopping [e-shopping] utilising user interfaces specially adapted for shopping graphically representing goods, e.g. 3D product representation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/166—Detection; Localisation; Normalisation using acquisition arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
Definitions
- the present invention relates to systems for virtual fitting of accessories by a digitally represented natural person.
- the present invention relates to obtaining a digital representation of a head of hair of a natural person, said digital representation being intended to be used to add a head of hair to a digital twin (avatar) of the natural person.
- avatar digital twin
- augmented reality that is, for example, on a combination of two-dimensional (2D) digital images captured of the person which are combined with a three-dimensional (3D) rendering of an accessory.
- augmented reality can also be obtained by a combination of a volumetric image and a rendering of a 3D scene.
- the digital twin JN represents at least the head of the physical person (and possibly other parts of this physical person) and it is necessary to define a digital representation of the hair of the physical person which will be placed on the digital representation of the head of the digital twin JN.
- This digital representation of the hair of a physical person must correspond to the haircut of the physical person so that the digital twin JN is as realistic as possible and the virtual fitting system for accessories is close to a real fitting of an accessory.
- An object of the present invention is to solve at least one of the drawbacks of the technological background.
- Another object of the present invention is to improve the realism of a digital twin representing at least the head of a physical person.
- the present invention relates to a method for obtaining a digital representation of a head of hair of a natural person, said digital representation being intended to be used for adding a head of hair to a digital twin of the natural person, said method comprising the following steps:
- - obtaining the digital representation of the hair of the natural person as a function of said at least one first parameter comprises the following sub-steps:
- the trained parameter estimation model is implemented by a first deep convolutional neural network.
- said at least one first parameter can be modified as a function of at least one second parameter.
- said at least one second parameter is obtained from an action of a user on a human-machine interface or from image data.
- said at least one second parameter is obtained from image data representative of at least the head of the physical person.
- said at least one second parameter is a scene lighting parameter in which the digital twin operates or said at least one second parameter is defined as a function of data which defines a choice of scene.
- the digital representation of the hair of the physical person is a parametric curve obtained (2321) from image data representative of at least the head of the physical person and said at least one first parameter is a parameter of the parametric curve.
- the trained hair classification model can be implemented by a second deep convolutional neural network.
- the first and second deep convolutional neural networks each comprise a multiple instance learning type architecture.
- training of the first deep convolutional neural network and/or of the second deep convolutional neural network is carried out from image data obtained synthetically or from groups of three images taken from the front, right profile and left profile of the physical person.
- the present invention relates to a system for virtual fitting of accessories by a physical person digitally represented by a digital twin comprising a device according to the second aspect of the present invention.
- the present invention relates to a computer program which comprises instructions adapted for executing the steps of the method according to the first aspect of the present invention, in particular when the computer program is executed by at least one processor.
- Such a computer program may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form.
- the present invention relates to a computer-readable recording medium on which is recorded a computer program comprising instructions for carrying out the steps of the method according to the first aspect of the present invention.
- the recording medium may be any entity or device capable of storing the program.
- the medium may comprise a storage means, such as a ROM memory, a RAM memory, a CD-ROM or a microelectronic circuit type ROM memory, or a magnetic recording medium or a hard disk.
- this recording medium may also be a transmissible medium such as an electrical or optical signal, such a signal being able to be conveyed via an electrical or optical cable, by conventional or terrestrial radio or by self-directed laser beam or by other means.
- the computer program according to the present invention may in particular be downloaded from an Internet-type network.
- the recording medium may be an integrated circuit in which the computer program is incorporated, the integrated circuit being adapted to execute or to be used in the execution of the method in question.
- FIG. 1 schematically illustrates a system for virtual fitting of accessories by a physical person represented digitally by a digital twin, according to a particular and non-limiting embodiment of the present invention
- FIG. 2 illustrates a flowchart of the different steps of a method for obtaining and rendering the digital twin from image data according to a particular and non-limiting exemplary embodiment of the present invention
- FIG. 3 illustrates a flowchart of the different steps of a method for obtaining a digital representation of the hair of a natural person from image data, according to a particular and non-limiting exemplary embodiment of the present invention
- FIG. 4 illustrates a flowchart of the different steps of a method for obtaining at least a first parameter of a parametric hair model at the output of a trained parameter estimation model when image data are presented as input to the model, according to a particular and non-limiting exemplary embodiment of the present invention
- FIG. 5 illustrates a flowchart of the different steps of a method for obtaining a hair class identifier at the output of a trained hair classification model when the image data are presented as input to the model, according to a particular and non-limiting exemplary embodiment of the present invention
- FIG. 6 schematically illustrates the device configured to obtain a digital representation of a head of hair of a physical person represented digitally by a digital twin, according to a particular and non-limiting exemplary embodiment of the present invention.
- Figure 1 schematically illustrates a system 1 for virtual fitting of accessories by a physical person 10 represented digitally by a digital twin JN, according to a particular and non-limiting embodiment of the present invention.
- the system 1 comprises a device 101 for obtaining DIG image data representative of at least the head of the physical person 10 from different points of view, a device 102 for obtaining a digital representation RNT of at least the head of the physical person 10 in a three-dimensional geometric space from the DIG image data, a device 103 for obtaining a digital representation RNC of the hair of the physical person 10 in the space three-dimensional geometric from the DIC image data, a device 104 for obtaining DAC accessory data representative of a digital representation of at least one accessory in the three-dimensional geometric space and a device 105 for rendering the digital twin JN representative of at least the head of the natural person 10 from the RNC and RNT representations and the DAC accessory data.
- the three-dimensional geometric space is a space in which the part or set of parts of the physical person 10 or the physical person 10 as a whole is geometrically represented from the DIC image data and the camera(s) used to capture the images from which this DIC image data is obtained.
- the digital twin JN also called realistic avatar, is a set of three-dimensional digital data which represents in the metaverse at least the head of the physical person 10 which is represented by the DIC image data.
- the geometry and texture of the JN digital twin are defined by the RNT representation.
- the DAC data can then be added to the JN digital twin to visualize the virtual wearing of accessories by the JN digital twin.
- system 1 may further comprise a human-machine interface (HMI).
- HMI human-machine interface
- the HMI may be partly implemented by several of the devices 101 to 105.
- it may allow a user to enter parameters through graphical means such as a keyboard or touchscreen of the device 101 or 105.
- the devices 101, 104 and 105 can be implemented in separate devices.
- the devices 101, 104 and/or 105 can be implemented in the same device. [0047] According to an exemplary embodiment of this variant, the devices 101, 104 and/or 105 can be implemented in the same mobile communication device.
- the device 101, 104 and/or 105 may be one of the following devices:
- a pair of ocular contact lenses equipped with at least one camera and a screen then adaptive to a user's view.
- the present invention is not limited to these examples of devices but can extend to any device which would be configured to implement the devices 101 to 105.
- the devices 102 and 103 are computers (CPU for Computer Processing Units in English, in French digital calculation units, or GPU for Graphical Processing Unit in English, in French graphic calculation unit) which are associated with buffer memories to execute calculation tasks.
- computers CPU for Computer Processing Units in English, in French digital calculation units, or GPU for Graphical Processing Unit in English, in French graphic calculation unit
- the devices 101 to 105 may be connected for example in communication via a wired network (for example according to Ethernet and/or via a fiber optic link) and/or via a wireless network of the Wifi® type (according to IEEE 802.11 or one of the variations of IEEE 802.11 or via a cellular network of the LTE (Long-Term Evolution), LTE-Advanced and/or 5G and/or 6G type.
- Wifi® wireless network of the Wifi® type
- LTE Long-Term Evolution
- LTE-Advanced LTE-Advanced
- 5G and/or 6G type a cellular network of the LTE (Long-Term Evolution), LTE-Advanced and/or 5G and/or 6G type.
- cloud computing in English (computing in the clouds in French) to refer to this type of architecture which uses memory and computing capacities of computers and servers distributed throughout the world and linked by a communication network.
- Such an architecture is illustrated in FIG. 1 by a cloud 100.
- the mobile communication infrastructure enabling wireless communication of data between the devices 101 to 105 and the “cloud” 100 may comprise, for example, one or more communication devices (not shown in FIG. 1) of the relay antenna type (cellular network).
- the data intended for the devices 101 to 105 may be received, for example, from the “cloud” 100 and the data may be transmitted by the devices 101 to 105 via the “cloud” 100 through one or more relay antennas (each relay antenna being, for example, connected to the “cloud” 100 via a wired link).
- the DIG image data, the data representative of the RNT and RNC representations and the DAC accessory data are exchanged by the devices 101 to 105 via the “cloud” 100.
- the present invention is not limited to the communication architecture between the devices 101 to 105 illustrated in FIG. 1 but extends to any type of communication architecture.
- this mobile communication device can be configured to transmit the DIG image data to the devices 102 and 103 via the “cloud” 100 and to receive data representative of the RNT and RNC representations via the “cloud” 100.
- the devices 102 and 103 may be the same device which is then configured to receive DIC image data via the “cloud” 100 and to transmit the data representative of the RNT and RNC representations via the “cloud” 100.
- Figure 2 illustrates a flowchart 2 of the different steps of a method for obtaining and rendering the digital twin JN from the DIC image data according to a particular and non-limiting exemplary embodiment of the present invention.
- a first step 21 the DIC image data representative of at least the head of the physical person 10 from different points of view are obtained from the device 101.
- the digital representation RNT is obtained from the DIC image data.
- the RNC digital representation is obtained from the DIC image data.
- DAC accessory data is obtained.
- the digital twin JN defined from the digital representations RNT and RNC and the accessory data DAC is rendered, by calculating a view of this digital twin JN according to a point of view.
- the device 101 comprises an image capture means.
- the image capture means may comprise at least one camera corresponding for example to:
- RGB type image acquisition camera from the English “Red, Green, Blue” or in French “Rouge, vert, blue”
- LIDAR LIDAR type acquisition camera
- an image acquisition camera associated with one or more devices (for example one or more LEDs (from the English “Light-Emitting Diode” or in French “Diode electroluminescent”) emitting light in the infrared or near infrared band.
- one or more devices for example one or more LEDs (from the English “Light-Emitting Diode” or in French “Diode electroluminescent”) emitting light in the infrared or near infrared band.
- the image capturing means may correspond to a camera of a mobile communication device comprising a camera.
- the captured images may correspond either to still images captured from different points of view of at least the head of the physical person 10 or to images from a video captured of the physical person 10 which represents at least the head of said physical person 10 from different points of view.
- the image capturing means may be a scanning system comprising a plurality of cameras synchronized with each other to capture several images at different viewpoints of at least the head of the physical person. Captured image data then represents these images captured at different viewpoints.
- the cameras can be positioned in a circular or planar manner on a physical capture device and can capture in a single iteration or several (if motion capture) at least the head of the physical person.
- the image capture means may comprise at least one volumetric sensor making it possible to obtain volumetric image data (in English “lightfield”).
- the device 101 may be configured so that the DIG image data corresponds to image data of the images captured by the image capturing means.
- the DIG image data corresponds to image data of the images captured by the image capturing means.
- three images are captured, one representing the head of the physical person 10 from the front, another representing it in a left profile and the other representing it in a right profile.
- the device 101 may be configured to apply processing to the images captured by the image capturing means and the DIG image data corresponds to the processed image data.
- a processing operation can be the selection of images representative of at least the head of the physical person from among the images of this video. Typically, three images are selected, one representing the head from the front, another representing it in a left profile and the other representing it in a right profile.
- the hair of the natural person represented in the captured images can be segmented from the rest of the captured images, that is to say that at least one spatial zone which delimits the hair of the head of the natural person is identified in each of the captured images.
- the DIG image data can then correspond to the image data of the pixels contained in the spatial zones defined in the captured images.
- the segmentation of hair from the rest of a captured image can be implemented from a model based on a PSPNet type architecture developed by Li et al. (Li, T., Bolkart, T., Black, M., Li, H., & Romero, J. (2017) or BiSeNet (https://arxiv.org/abs/2004.02147) Learning a Model of Facial Shape and Expression from 4D Scans. ACM Trans. Graph., 36(6)).
- Li et al. Li, T., Bolkart, T., Black, M., Li, H., & Romero, J. (2017) or BiSeNet (https://arxiv.org/abs/2004.02147) Learning a Model of Facial Shape and Expression from 4D Scans. ACM Trans. Graph., 36(6)).
- the DIC image data may further comprise information representative of image contents and/or descriptive information of geometry of at least the head of the physical person in a three-dimensional geometric space.
- the device 102 is configured to obtain the digital representation RNT of at least the head of the physical person 10 in the three-dimensional geometric space from the DIC image data.
- the device 102 can be configured to implement the method described in French patent application No. FR2301334 filed on February 14, 2023.
- obtaining the digital representation RNT of at least the head of the physical person 10 comprises obtaining DM mesh data (“mesh” in English) representative of a three-dimensional mesh structure represented in the three-dimensional geometric space by a set of vertices of polygonal shapes forming a structure, each polygonal shape, for example triangles or quadrangles, sharing at least one side with another polygonal shape.
- DM mesh data (“mesh” in English) representative of a three-dimensional mesh structure represented in the three-dimensional geometric space by a set of vertices of polygonal shapes forming a structure, each polygonal shape, for example triangles or quadrangles, sharing at least one side with another polygonal shape.
- the device 102 is configured to calculate mesh data DM of the digital twin JN by modifying mesh data DMI of an initial digital twin JNI according to morphological information extracted from the image data DIC.
- the initial digital twin JNI is a digital representation of at least one head of an asexual human being.
- This digital representation comprises the DMI mesh data representative of a three-dimensional mesh structure represented in the three-dimensional geometric space by a set of vertices of polygonal shapes forming a structure, each polygonal shape sharing at least one side with another polygonal shape.
- the DMI mesh data can be modified by modifying the spatial positions of the vertices defined in the three-dimensional geometric space.
- the three-dimensional mesh structure of the initial twin JNI is then deformed (stretched, pressed, etc.) so that the three-dimensional mesh structure modified from the initial twin JNI resembles in three-dimensional geometric space the geometry of at least the head of the physical person 10.
- the DM mesh data of the digital twin JN is then equal to the modified DMI data.
- the DM data of the digital twin JN are obtained by an iterative process of deformation of the DMI data of the digital twin JNI which incorporates all the knowledge of the morphology of a living being such as for example all the morphology of a Caucasian, Afro, Asian human being and/or of an animal being, that is to say the position, a structure and a deformation of the eyes, mouth and folds of the skin, an underlying muscular system and a series of controllers allowing the deformations.
- a living being such as for example all the morphology of a Caucasian, Afro, Asian human being and/or of an animal being, that is to say the position, a structure and a deformation of the eyes, mouth and folds of the skin, an underlying muscular system and a series of controllers allowing the deformations.
- An iterative deformation method can be based on a neural network (Andrew G Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, and Hartwig Adam.
- Mobilenets Efficient convolutional neural networks for mobile vision applications, arXiv preprint arXiv:1704.04861 , 2017) and/or on a deep learning method (Ayush Tewari, Michael Zollôfer, Hyeongwoo Kim, Pablo Garrido, Florian Bernard, Patrick Perez, and Theobalt Christian.
- MoFA Model-based Deep Convolutional Face Autoencoder for Unsupervised Monocular Reconstruction. In The IEEE International Conference on Computer Vision (ICCV), 2017.) and/or on a reinforcement learning method and/or using generative adversarial networks (GAN from the English “Generative Adversarial Network”).
- a parametric modeling of the face can be used. This is based on a statistical model of human faces which makes it possible to represent any face in a weighted sum of 3D mesh structures, 3D mesh structure which assumes the prior creation of an adapted 3D topology. Only the frontal part of the face - the only deformable one - is taken into account (we speak of "monkey mask” in English).
- the aspect geometric is enriched by the representation of deformations corresponding to facial expressions. This is accompanied by a set of several parameters, typically of the order of 150 parameters for face identity and 100 parameters for expressions.
- a first three-dimensional (3D) mesh structure defined by the DNI data is positioned in the three-dimensional geometric space.
- This first three-dimensional mesh structure is then compared to three-dimensional mesh structures stored in a database, each stored 3D mesh structure representing at least the face of the natural person.
- the iterative process also compares each two-dimensional (2D) image calculated from the first 3D mesh structure to 2D images calculated from a 3D mesh structure stored in the database.
- the method of comparing these elements seeks to bring the 2D images calculated from the first 3D mesh structure closer to 2D images calculated from 3D mesh structures stored in the database.
- the method thus iteratively improves the distances between the vertices of the first 3D mesh structure and the vertices of a 3D mesh structure and by micro-displacements of the vertices of the first 3D mesh structure in the three-dimensional geometric space so as to optimize the resulting first 3D mesh structure.
- This spatial operation of deformation of the first 3D mesh structure therefore proceeds by successive iterations until a resemblance is obtained between the first 3D mesh structure and a 3D mesh structure stored in the database. geometrically representing at least the head of the physical person.
- the 3D mesh structure thus obtained corresponds in resemblance to the DIG image data.
- obtaining the digital representation RNT of at least the head of the physical person 10 may further comprise obtaining texture data DT from texture data extracted from the image data DIG.
- the texture data DT may be texture data extracted from a defined area on the face of the physical person 10 from the image data DIG.
- the texture data of the area can be obtained by assembling the DIG image data, isolated, distributed and assembled to reconstruct a single texture.
- the stitching method may deform the texture of each of the images obtained from the DIG image data by modifying the color and contrast of the pixels of the texture images, corresponding to the texture of the images obtained from the DIG image data, and correcting the boundaries between the texture images to generate a single texture.
- This unique texture can then be projected onto the surface of the 3D mesh structure corresponding to the DM data (projection known as UV mapping, the letters U and V designating the axes of the 2D texture). This then allows a reprojection of said assembled texture onto said 3D mesh structure.
- texture data can be obtained from a surface of an area defined between the forehead, ears and chin (“monkey mask” in English).
- the device 105 is configured to obtain DAC accessory data representative of a three-dimensional representation of at least one accessory in the three-dimensional geometric space. This three-dimensional representation is intended to be added to the JN digital twin.
- DAC accessory data is known to those skilled in the art. It represents any type of object, makeup. We often speak of a 2D/3D layer which incorporates a material, transparency, relief and which is calculated by a shading and rendering process.
- the device 103 is configured to obtain the digital representation RNC of the hair of the physical person 10 from the DIC image data.
- the device 103 is configured to implement the method of FIG. 3.
- Figure 3 illustrates a flowchart of the different steps of a method for obtaining (step 23) the RNC digital representation of the hair of the natural person 10 from the DIC image data, according to a particular and non-limiting exemplary embodiment of the present invention.
- the device 103 obtains at least a first parameter P1 of a parametric hair model at the output of a trained MP parameter estimation model when the DIC image data representative of at least the head of the physical person from different viewpoints are presented at the input of the trained MP parameter estimation model.
- said at least one first parameter P1 is modified as a function of at least one second parameter P2.
- said at least one parameter P1 can be replaced by said at least second parameter P2, for example by concatenating said at least one first and second parameters.
- said at least second parameter P2 can be obtained from an action of a user on the HMI of the virtual fitting system of at least one accessory.
- This variant can allow a user, for example a hairdresser, to change a hairstyle (haircut) by modifying at least a first parameter P1 of its digital representation as a function of at least a second parameter P2 that he chooses. This hairdresser can then present to his client different variations of haircut from the virtual accessory fitting system 1.
- said at least second parameter P2 can be obtained from the DIC image data.
- said at least one second parameter P2 can be obtained by known image processing methods such as linear filtering, morphological operations for example to obtain color information.
- said at least second parameter P2 may be a scene lighting parameter in which the digital twin JN evolves or is defined as a function of data which define a choice of scene.
- the digital representation RNC is obtained as a function of said at least one first parameter P1.
- the second step 232 may comprise a step 2321 of obtaining a representation of locks of hair by parametric curves from the DIC image data and said at least one first parameter P1 may be a parameter of said parametric curves.
- the RNC digital representation may then be defined by said parametric curves.
- the parametric curve can be an interpolation spline (sometimes called a cerce in French).
- An interpolation spline is a piecewise function consisting of a polynomial over each interval defined between two knots that can be likened to points in three-dimensional geometric space.
- the degree of the interpolation spline is defined by the highest-degree polynomial used: if the knots are simply joined by straight lines, that is, if the interpolation spline is made up of first-degree polynomials, the interpolation spline is of degree 1, etc. If all the polynomials have the same degree, we speak of a uniform interpolation spline.
- interpolation splines can then vary in length, thickness and curvature according to coefficients of the polynomials defining the interpolation splines. These coefficients can then be said at least one first parameter P1 or be determined from said at least one first parameter P1.
- the second step 232 may comprise a step 2322 of obtaining a hair class identifier IDC as output from a trained MC hair classification model among a set of hair classes when the DIC image data are presented as input to the trained MC hair classification model, each hair class identifier referencing a parametric hair model.
- the second step 232 may further comprise a step 2323 of adjusting the hair model identified by the hair class identifier IDC as a function of said at least one first parameter P1.
- the MP model for parameter estimation is implemented by a first deep convolutional neural network and the MC model for hair classification is implemented by a second deep convolutional neural network.
- a deep convolutional neural network also called a convolutional neural network and noted CNN or ConvNet (from the English “Convolutional Neural Networks”), corresponds to an acyclic artificial neural network (from the English “feed-forward”).
- a convolutional neural network comprises a convolutional part implementing one or more convolution layers and a densely connected part implementing one or more densely connected (or fully connected) neuron layers ensuring the classification of information according to an MLP type model (from the English “Multi Layers Perceptron” or in French “Perceptrons multicouches”) for example.
- the first and second convolutional neural networks may each comprise a MIL (multiinstance learning) type architecture which makes it possible to label all of the images present at the input of these convolutional neural networks which represent the same hair from different points of view.
- the first and second convolutional neural networks then learn how the hair of a physical person is represented from different points of view and what are the first parameters which best correspond to this representation of the hair of the physical person.
- Figure 4 illustrates a flowchart of the different steps of a method for obtaining (step 231) at least a first parameter P1 of a parametric hair model at the output of the trained MP model for parameter estimation when the DIC image data are presented at the input of the MP model, according to a particular and non-limiting exemplary embodiment of the present invention.
- the device 103 In a sub-step 2311 of step 231, the device 103, implementing the first convolutional neural network, provides the DIC image data as input to a so-called convolutional part of the first convolutional neural network to determine data D1 representative of characteristics of the hair of the natural person 10.
- the convolutional part advantageously implements one or more convolution layers whose objective is to detect the presence of these characteristic(s) which may be of an aesthetic and/or mechanical nature of the hair of the natural person or to detect patterns associated with said characteristics sought in the DIC image data introduced as input to the convolutional part.
- a set of at least one convolution filter is applied to the DIC image data, this DIC image data being able to be for example provided in the form of a two-dimensional matrix (corresponding to the pixel grid of an image for example).
- this DIC image data being able to be for example provided in the form of a two-dimensional matrix (corresponding to the pixel grid of an image for example).
- 50, 100, 200 or more convolution filters can be applied, each filter having a specific size and stride.
- each filter can have a size of 1x7 and a stride of 1.
- the stride corresponds to the number of pixels by which the window corresponding to the filter moves in the input tensor (input matrix for example).
- Each convolution filter can represent for example a determined characteristic sought in an image by sliding the window corresponding to the filter on the image, and by calculating the convolution product between this determined characteristic and each portion of the image scanned by the filter associated with this determined characteristic.
- the result of the convolution product makes it possible to determine the presence or absence of the determined characteristic in the input image.
- one or more successive convolution operations can be applied to the DIC image data, with for each convolution operation the application of a set of convolution filters to the data obtained at the output of the previous convolution operation.
- one or more so-called “pooling” operations can be implemented and applied to the data obtained from the convolution operation(s).
- the “pooling” operation(s) can be, for example, and optionally, matched or associated with an operation of random deactivation of a portion of the neurons in the network, with a determined probability, for example a probability of 0.2 (20%), 0.3 (30%) or 0.4 (40%), this technique being known as “dropout”.
- the device 103 provides the data D1 as input to the so-called densely connected part of the first convolutional neural network to determine a set of at least one first parameter P1.
- the densely connected layer implements a classification operation of the data D1.
- the densely connected part of the first network of Convolutional neurons consist of one or more layers of densely connected or fully connected neurons.
- Each layer of neurons provides output data that is obtained by applying a linear combination and optionally an activation function to the data present at its input.
- the densely connected layer outputs a vector of size N, where N corresponds to the number of sets of at least one first parameter P1, each set of at least one first parameter P1 corresponding to a parametric hair model. Each element of the output vector provides the probability for the data D1 to correspond to a set of at least one first parameter P1.
- the input vector may pass for example through a layer of densely connected neurons, with for example 128, 256 or more neurons each connected to each of the neurons of a layer comprising as many neurons as there are sets of at least one first parameter P1, a set of at least one first parameter P1 of a parametric hair model being associated with each neuron of the output layer of the densely connected part.
- Figure 5 illustrates a flowchart of the different steps of a method for obtaining (step 2322) a hair class identifier IDC at the output of the trained MC hair classification model when the DIC image data are presented as input to the MC model, according to a particular and non-limiting exemplary embodiment of the present invention.
- the device 103 implementing the second convolutional neural network provides the DIC image data as input to a so-called convolutional part of the second convolutional neural network to determine data D1 representative of characteristics of the hair of the natural person 10.
- the convolutional part advantageously implements one or more convolution layers whose objective is to detect the presence of these characteristic(s) which may be of an aesthetic and/or mechanical nature of the hair of the natural person or to detect patterns associated with said characteristics. searched in the DIC image data introduced as input to the convolutional part.
- a set of at least one convolution filter is applied to the DIC image data, this DIC image data being able to be provided for example in the form of a two-dimensional matrix (corresponding to the pixel grid of an image for example).
- this DIC image data being able to be provided for example in the form of a two-dimensional matrix (corresponding to the pixel grid of an image for example).
- 50, 100, 200 or more convolution filters can be applied, each filter having a determined size and stride.
- each filter has a size equal to 1x7 and a stride of 1.
- the stride is the number of pixels by which the window corresponding to the filter moves in the input tensor (input matrix for example).
- Each convolution filter can represent, for example, a specific characteristic sought in an image by sliding the window corresponding to the filter over the image, and by calculating the convolution product between this specific characteristic and each portion of the image scanned by the filter associated with this specific characteristic.
- the result of the convolution product makes it possible to determine the presence or absence of the specific characteristic in the input image.
- one or more successive convolution operations can be applied to the DIC image data, with for each convolution operation the application of a set of convolution filters to the data obtained at the output of the previous convolution operation.
- one or more so-called “pooling” operations can be implemented and applied to the data obtained from the convolution operation(s).
- the “pooling” operation(s) can be, for example, and optionally, combined or associated with a deactivation operation. random selection of a portion of the neurons in the network, with a specific probability, for example a probability of 0.2 (20%), 0.3 (30%) or 0.4 (40%), this technique being known as "dropout".
- the convolutional part of the second convolutional neural network outputs a set of detected feature(s) from the DIC image data provided as input to the convolutional part.
- the information representative of the presence of determined feature(s) is provided as input to a so-called densely connected part of the second convolutional neural network.
- the densely connected layer implements a classification operation of the data D1.
- the densely connected part of the second convolutional neural network comprises one or more layers of densely connected or fully connected neurons.
- Each layer of neurons provides output data which are obtained by applying a linear combination and then optionally an activation function to the data present at its input.
- the densely connected layer returns as output a vector of size N, where N corresponds to the number of sets of at least a first parameter P1 of hair classes, each hair class corresponding to a parametric hair model. Each element of the output vector provides the probability for the data D1 to correspond to a hair class.
- the values of the convolution filters of the first and second convolutional neural networks and the parameters of their densely connected layers are advantageously determined in a so-called learning phase, for example supervised learning, according to a method known to those skilled in the art.
- a learning phase a large number (for example hundreds, thousands, tens of thousands or more) of hair images whose associated features are used to learn the different values or coefficients of the convolution filters.
- a method known as error gradient backpropagation can be implemented, for example.
- a large number e.g., hundreds, thousands, tens of thousands or more
- data associations representative of hair features are used to learn the parameters of the densely connected part allowing the classification of the data in order to obtain a set of at least a first parameter P1 of a parametric hair model (first convolutional neural network) or a hair class identifier (second convolutional neural network).
- a set of at least one first parameter P1 (first convolutional neural network) or a hair class (second convolutional neural network) can be determined for each image of a sequence of consecutive images, from the DIG image data of these images.
- a plurality of sets of at least one first parameter P1 (or hair classes) can thus be obtained for the sequence with as many sets of at least one first parameter P1 (or hair classes) as there are images in the sequence.
- a temporal filtering (for example an average) can advantageously be applied to this plurality of sets of at least one first parameter P1 (or hair classes) to determine a single set of at least one first parameter P1 (an identifier of a hair class).
- Such temporal filtering may for example be carried out or implemented by a digital filter known to those skilled in the art, for example defined by a mathematical equation, such as a difference equation, or by a neural network, for example recurrent.
- the image data used for training the first and second convolutional neural networks may be data from groups of 3 images taken from the front, right profile and left profile of a same hair.
- Each group of images can be associated with annotations that indicate the expected hair class corresponding to the 3 images in the group of images and that indicate a value of at least a first parameter P1 of a parametric hair model.
- the image data used for training the first and second convolutional neural networks may be image data obtained synthetically, which facilitates the generation of a large number of image data required for training the first and second convolutional neural networks.
- Synthetic image data used for training may be generated from parametric hair models and parameter sets of these models chosen randomly to obtain hair variations. Viewpoint variations may also be used to introduce viewpoint variations of hair images.
- the device 104 is configured to render a digital avatar representative of the physical person from the digital twin JN (of the digital representations RNT and RNC) and the accessory data DAC. For this purpose, the device 104 calculates data representative of a view according to a point of view of the RNT representation combined with the accessory data DAC and the digital representation RNC.
- the device 104 for rendering a digital avatar representing the physical person wearing at least one accessory may comprise a rendering engine which calculates data representative of an image of the digital twin JN wearing said at least one accessory according to a point of view. The image may then be displayed on a screen of the device 104.
- the rendering engine may be a real-time rendering engine.
- the rendering engine can be implemented on a GPU computing server.
- the real-time rendering engine may be a 3D simulation engine.
- said at least one parameter P1 can be applied to a parametric hair model using software.
- a natural person can access a sales site and select accessories. He or she can also choose to virtually try on these accessories.
- the HMI can then be designed so that this person adds the selected accessories to a basket, which can be called a virtual fitting room.
- the method described above is then implemented so that a digital twin of this person is calculated and so that the person can visualize a view of his or her digital twin then carrying accessories that this person would have selected.
- the natural person can interact with his or her digital twin from this HMI which displays the images of this digital twin carrying these accessories according to points of view that can be selected by this person.
- the person can also choose the conditions of the scene (lighting, content of the scene) in which his or her digital twin evolves.
- the person can also choose the lighting conditions of the scene in which his or her digital twin evolves. digital twin or even change the scene in which the digital twin is presented.
- Figure 6 schematically illustrates the device 103 configured to obtain a digital RNC representation of a head of hair of a physical person represented digitally by a digital twin, according to a particular and non-limiting exemplary embodiment of the present invention.
- the device 103 corresponds to a server or a calculator of the “cloud” 100.
- the device 103 is for example configured for implementing the operations described with regard to figures 1 and/or the steps of the methods described with regard to figures 2 to 5.
- the elements of the device 103 individually or in combination, can be integrated into a single integrated circuit, into several integrated circuits, and/or into discrete components.
- the device 103 can be produced in the form of electronic circuits or software (or computer) modules or even a combination of electronic circuits and software modules.
- the device 103 comprises one (or more) processor(s) 1030 configured to execute instructions for carrying out the steps of the method and/or for executing the instructions of the software(s) embedded in the device 103.
- the processor 1030 may include integrated memory, an input/output interface, and various circuits known to those skilled in the art.
- the device 103 further comprises at least one memory 1031 corresponding for example to a volatile and/or non-volatile memory and/or comprises a memory storage device which may comprise volatile and/or non-volatile memory, such as EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic or optical disk.
- the computer code of the embedded software(s) comprising the instructions to be loaded and executed by the processor is for example stored in the memory 1031.
- the device 103 is coupled in communication with other similar devices or systems and/or with communication devices.
- the device 103 comprises a block 1032 of interface elements for communicating with external devices, for example a remote server or the “cloud” 100.
- the interface elements of the block 1032 comprise one or more of the following interfaces:
- radio frequency interface for example Wi-Fi® type (according to IEEE 802.11), for example in the 2.4 or 5 GHz frequency bands, or Bluetooth® type (according to IEEE 802.15.1), in the 2.4 GHz frequency band, or Sigfox type using UBN (Ultra Narrow Band) radio technology, or LoRa in the 868 MHz frequency band, LTE (Long-Term Evolution), LTE-Advanced;
- USB interface from the English “Universal Serial Bus” or “Universal Serial Bus” in French);
- the device 103 can provide output signals to one or more external devices, such as a display screen 1033, touch-sensitive or not, one or more speakers 1034 and/or other peripherals 3601034 (projection system for example) via output interfaces 1036, 1037, 1038 respectively.
- one or other of the external devices is integrated into the device 103.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
Abstract
Description
Procédé d’obtention d’une représentation numérique d’une chevelure d’une personne physique Method for obtaining a digital representation of a natural person's hair
Domaine technique Technical field
[0001] La présente invention concerne les systèmes d’essayage virtuel d’accessoire par une personne physique représentée numériquement. En particulier, la présente invention concerne l’obtention d’une représentation numérique d’une chevelure d’une personne physique, ladite représentation numérique étant destinée à être utilisée pour ajouter une chevelure à un jumeau (avatar) numérique de la personne physique. [0001] The present invention relates to systems for virtual fitting of accessories by a digitally represented natural person. In particular, the present invention relates to obtaining a digital representation of a head of hair of a natural person, said digital representation being intended to be used to add a head of hair to a digital twin (avatar) of the natural person.
Arrière-plan technologique Technological background
[0002] Il est connu des applications ou services qui permettent à une personne d’essayer un accessoire de manière virtuelle. Ces applications ou services sont basés sur la réalité augmentée (en anglais « augmented reality ») c’est-à-dire, par exemple sur une combinaison entre des images numériques bidimensionnelles (2D) capturées de la personne qui sont combinées avec un rendu tridimensionnel (3D) d’un accessoire. A noter que la réalité augmentée peut aussi être obtenue par une combinaison d’une image volumétrique et d’un rendu d’une scène 3D. [0002] Applications or services are known that allow a person to try on an accessory virtually. These applications or services are based on augmented reality, that is, for example, on a combination of two-dimensional (2D) digital images captured of the person which are combined with a three-dimensional (3D) rendering of an accessory. Note that augmented reality can also be obtained by a combination of a volumetric image and a rendering of a 3D scene.
[0003] La combinaison de données d’images 2D et 3D des applications basées sur la réalité augmentée limite l’affichage de l’image résultant de la combinaison de ces données à un seul point de vue ou au mieux à différents points de vue dont les axes de vue sont très proches les uns des autres. [0003] The combination of 2D and 3D image data of applications based on augmented reality limits the display of the image resulting from the combination of this data to a single point of view or at best to different points of view whose view axes are very close to each other.
[0004] Les applications ou services d’essayage virtuels d’accessoires actuels permettent ainsi à une personne physique de se forger une opinion concernant l’achat de ces accessoires en visualisant sur un écran une image formée par la combinaison des images 2D de cette personne physique et de ces accessoires. [0004] Current virtual accessory fitting applications or services thus allow a natural person to form an opinion concerning the purchase of these accessories by viewing on a screen an image formed by the combination of 2D images of this natural person and these accessories.
[0005] Ces applications ou services basés sur la réalité augmentée sont habituellement limités à rendre des images résultantes d’une vue de face d’une personne physique. En effet, une capture de données d’images représentant une vue de face d’une personne physique est généralement faite car cette personne physique regarde habituellement la caméra qui effectue cette capture de données d’images. L’image résultant de la combinaison de ces données d’images capturées et de données représentant un accessoire est alors une image 2D de cette personne physique représentant une vue de face de cette personne physique. Les applications ou services basés sur la réalité augmentée sont donc adaptés lorsque l’accessoire en question est destiné à être porté sur la face de la personne physique, par exemple du maquillage. Par contre, lorsque l’accessoire est destiné à être porté sur un côté de la personne la personne physique, par exemple des boucles d’oreille, ces applications ou services ne sont pas bien adaptés du fait qu’ils ne proposent que des représentations numériques 2D alors que la personne physique peut vouloir avoir des vues de face et de côté, par exemple, avant de se décider pour son achat d’accessoires. [0005] These applications or services based on augmented reality are usually limited to rendering images resulting from a front view of a physical person. In Indeed, an image data capture representing a front view of a natural person is generally made because this natural person usually looks at the camera which performs this image data capture. The image resulting from the combination of this captured image data and data representing an accessory is then a 2D image of this natural person representing a front view of this natural person. Applications or services based on augmented reality are therefore suitable when the accessory in question is intended to be worn on the face of the natural person, for example makeup. On the other hand, when the accessory is intended to be worn on one side of the natural person, for example earrings, these applications or services are not well suited because they only offer 2D digital representations whereas the natural person may want to have front and side views, for example, before deciding on their purchase of accessories.
[0006] Dans sa demande de brevet français n° FR2301334 déposée le 14 février 2023, le déposant décrit un système d’essayage virtuel d’accessoire par un être vivant représenté numériquement. Ce système permet de créer un jumeau numérique tridimensionnel JN d’une partie d’un être vivant, d’un ensemble de parties d’un être vivant ou d’un être vivant dans son entier, et de calculer une vue 3D de ce jumeau numérique JN porteur d’un accessoire représenté numériquement. [0006] In its French patent application No. FR2301334 filed on February 14, 2023, the applicant describes a system for virtual fitting of accessories by a digitally represented living being. This system makes it possible to create a three-dimensional digital twin JN of a part of a living being, of a set of parts of a living being or of a living being in its entirety, and to calculate a 3D view of this digital twin JN carrying a digitally represented accessory.
[0007] Lorsque le système d’essayage virtuel est utilisé pour essayer des accessoires de tête tels que par exemple des boucles d’oreille, du maquillage, des chapeaux, etc, le jumeau numérique JN représente au moins la tête de la personne physique (et éventuellement d’autres parties de cette personne physique) et il est nécessaire de définir une représentation numérique de la chevelure de la personne physique qui sera plaquée sur la représentation numérique de la tête du jumeau numérique JN. Cette représentation numérique de la chevelure d’une personne physique doit correspondre à la coupe de cheveux de la personne physique pour que le jumeau numérique JN soit le plus réaliste possible et que le système d’essayage virtuel d’accessoires soit proche d’un essayage réel d’accessoire. Résumé de la présente invention [0007] When the virtual fitting system is used to try on head accessories such as, for example, earrings, makeup, hats, etc., the digital twin JN represents at least the head of the physical person (and possibly other parts of this physical person) and it is necessary to define a digital representation of the hair of the physical person which will be placed on the digital representation of the head of the digital twin JN. This digital representation of the hair of a physical person must correspond to the haircut of the physical person so that the digital twin JN is as realistic as possible and the virtual fitting system for accessories is close to a real fitting of an accessory. Summary of the present invention
[0008] Un objet de la présente invention est de résoudre au moins un des inconvénients de l’arrière-plan technologique. [0008] An object of the present invention is to solve at least one of the drawbacks of the technological background.
[0009] Un autre objet de la présente invention est d’améliorer le réalisme de jumeau numérique représentant au moins la tête d’une personne physique. [0009] Another object of the present invention is to improve the realism of a digital twin representing at least the head of a physical person.
[0010] Un autre objet de la présente invention est d’améliorer les systèmes d’essayage virtuel d’accessoire. [0010] Another object of the present invention is to improve virtual accessory fitting systems.
[0011] Selon un premier aspect, la présente invention concerne un procédé d’obtention d’une représentation numérique d’une chevelure d’une personne physique, ladite représentation numérique étant destinée à être utilisée pour ajouter une chevelure à un jumeau numérique de la personne physique, ledit procédé comprenant les étapes suivantes : [0011] According to a first aspect, the present invention relates to a method for obtaining a digital representation of a head of hair of a natural person, said digital representation being intended to be used for adding a head of hair to a digital twin of the natural person, said method comprising the following steps:
- obtention d’au moins un premier paramètre d’un modèle paramétrique de cheveux en sortie d’un modèle entraîné d’estimation de paramètres lorsque des données d’images représentatives d’au moins la tête de la personne physique selon différents points de vue, sont présentées en entrée du modèle entraîné d’estimation de paramètres ; et- obtaining at least a first parameter of a parametric hair model as output from a trained parameter estimation model when image data representative of at least the head of the physical person from different points of view are presented as input to the trained parameter estimation model; and
- obtention de la représentation numérique de la chevelure de la personne physique en fonction dudit au moins un premier paramètre, - obtaining the digital representation of the hair of the natural person based on said at least one first parameter,
- l’obtention de la représentation numérique de la chevelure de la personne physique en fonction dudit au moins un premier paramètre comprend les sous-étapes suivantes :- obtaining the digital representation of the hair of the natural person as a function of said at least one first parameter comprises the following sub-steps:
- obtention d’un identifiant de classe de chevelure en sortie d’un modèle entraîné de classification de chevelure parmi un ensemble de classes de chevelure lorsque les données d’images sont présentées en entrée du modèle entraîné de classification de chevelure, chaque identifiant de classe de chevelure référençant un modèle paramétrique de chevelure ; et - obtaining a hair class identifier as output from a trained hair classification model from a set of hair classes when the image data is presented as input to the trained hair classification model, each hair class identifier referencing a parametric hair model; and
- ajustement du modèle de chevelure identifié par l’identifiant de classe de chevelure en fonction dudit au moins un premier paramètre. [0012] Selon un mode de réalisation particulier et non limitatif de la présente invention, le modèle entrainé d’estimation de paramètres est mis en œuvre par un premier réseau de neurones profond à convolutions. - adjustment of the hair model identified by the hair class identifier according to said at least one first parameter. [0012] According to a particular and non-limiting embodiment of the present invention, the trained parameter estimation model is implemented by a first deep convolutional neural network.
[0013] Selon un mode de réalisation particulier et non limitatif de la présente invention, ledit au moins un premier paramètre peut être modifié en fonction d’au moins un deuxième paramètre. [0013] According to a particular and non-limiting embodiment of the present invention, said at least one first parameter can be modified as a function of at least one second parameter.
[0014] Selon un mode de réalisation particulier et non limitatif de la présente invention, ledit au moins un deuxième paramètre est obtenu à partir d’une action d’un utilisateur sur une interface homme-machine ou à partir des données d’images. [0014] According to a particular and non-limiting embodiment of the present invention, said at least one second parameter is obtained from an action of a user on a human-machine interface or from image data.
[0015] Selon un mode de réalisation particulier et non limitatif de la présente invention, ledit au moins un deuxième paramètre est obtenu à partir des données d’images représentatives d’au moins la tête de la personne physique. [0015] According to a particular and non-limiting embodiment of the present invention, said at least one second parameter is obtained from image data representative of at least the head of the physical person.
[0016] Selon un mode de réalisation particulier et non limitatif de la présente invention, ledit au moins un deuxième paramètre est un paramètre d’éclairage de scène dans laquelle évolue le jumeau numérique ou ledit au moins deuxième paramètre est défini en fonction de données qui définissent un choix de scène. [0016] According to a particular and non-limiting embodiment of the present invention, said at least one second parameter is a scene lighting parameter in which the digital twin operates or said at least one second parameter is defined as a function of data which defines a choice of scene.
[0017] Selon un mode de réalisation particulier et non limitatif de la présente invention, la représentation numérique de la chevelure de la personne physique est une courbe paramétrique obtenue (2321 ) à partir des données d’images représentatives d’au moins la tête de la personne physique et ledit au moins un premier paramètre est un paramètre de la courbe paramétrique. [0017] According to a particular and non-limiting embodiment of the present invention, the digital representation of the hair of the physical person is a parametric curve obtained (2321) from image data representative of at least the head of the physical person and said at least one first parameter is a parameter of the parametric curve.
[0018] Selon un mode de réalisation particulier et non limitatif de la présente invention, le modèle entrainé de classification de chevelure peut être mis en œuvre par un deuxième réseau de neurones profond à convolutions. [0018] According to a particular and non-limiting embodiment of the present invention, the trained hair classification model can be implemented by a second deep convolutional neural network.
[0019] Selon un mode de réalisation particulier et non limitatif de la présente invention, le premier et deuxième réseaux de neurones profonds à convolutions comprenne chacun une architecture de type apprentissage d’instances multiples. [0020] Selon un mode de réalisation particulier et non limitatif de la présente invention, un apprentissage du premier réseau de neurones profond à convolutions et/ou du deuxième réseaux de neurones profonds à convolutions est réalisé à partir de données d’images obtenues de manière synthétique ou issues de groupes de trois images prises de face, de profil droit et de profil gauche de la personne physique. [0019] According to a particular and non-limiting embodiment of the present invention, the first and second deep convolutional neural networks each comprise a multiple instance learning type architecture. [0020] According to a particular and non-limiting embodiment of the present invention, training of the first deep convolutional neural network and/or of the second deep convolutional neural network is carried out from image data obtained synthetically or from groups of three images taken from the front, right profile and left profile of the physical person.
[0021] Selon un deuxième aspect, la présente invention concerne un dispositif d’obtention d’une représentation numérique d’une chevelure d’une personne physique comprenant des moyens pour mettre en œuvre les étapes du procédé selon le premier aspect de la présente invention. [0021] According to a second aspect, the present invention relates to a device for obtaining a digital representation of a head of hair of a natural person comprising means for implementing the steps of the method according to the first aspect of the present invention.
[0022] Selon un troisième aspect, la présente invention concerne un système d’essayage virtuel d’accessoire par une personne physique représentée numériquement par un jumeau numérique comprenant un dispositif selon le deuxième aspect de la présente invention. [0022] According to a third aspect, the present invention relates to a system for virtual fitting of accessories by a physical person digitally represented by a digital twin comprising a device according to the second aspect of the present invention.
[0023] Selon un quatrième aspect, la présente invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé selon le premier aspect de la présente invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur. [0023] According to a fourth aspect, the present invention relates to a computer program which comprises instructions adapted for executing the steps of the method according to the first aspect of the present invention, in particular when the computer program is executed by at least one processor.
[0024] Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation, et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable. [0024] Such a computer program may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form.
[0025] Selon un cinquième aspect, la présente invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon le premier aspect de la présente invention. [0025] According to a fifth aspect, the present invention relates to a computer-readable recording medium on which is recorded a computer program comprising instructions for carrying out the steps of the method according to the first aspect of the present invention.
[0026] D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, une mémoire RAM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur. [0026] On the one hand, the recording medium may be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM memory, a RAM memory, a CD-ROM or a microelectronic circuit type ROM memory, or a magnetic recording medium or a hard disk.
[0027] D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon la présente invention peut être en particulier téléchargé sur un réseau de type Internet. [0027] Furthermore, this recording medium may also be a transmissible medium such as an electrical or optical signal, such a signal being able to be conveyed via an electrical or optical cable, by conventional or terrestrial radio or by self-directed laser beam or by other means. The computer program according to the present invention may in particular be downloaded from an Internet-type network.
[0028] Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. [0028] Alternatively, the recording medium may be an integrated circuit in which the computer program is incorporated, the integrated circuit being adapted to execute or to be used in the execution of the method in question.
Brève description des figures Brief description of the figures
[0029] D’autres caractéristiques et avantages de la présente invention ressortiront de la description des exemples de réalisation particuliers et non limitatifs de la présente invention ci-après, en référence aux figures 1 à 6 annexées, sur lesquelles : [0029] Other characteristics and advantages of the present invention will emerge from the description of the particular and non-limiting exemplary embodiments of the present invention below, with reference to the appended figures 1 to 6, in which:
[0030] [Fig. 1] illustre schématiquement un système d’essayage virtuel d’accessoire par une personne physique représentée numériquement par un jumeau numérique, selon un mode de réalisation particulier et non limitatif de la présente invention ; [0030] [Fig. 1] schematically illustrates a system for virtual fitting of accessories by a physical person represented digitally by a digital twin, according to a particular and non-limiting embodiment of the present invention;
[0031] [Fig. 2] illustre un organigramme des différentes étapes d’un procédé d’obtention et de rendu du jumeau numérique à partir de données d’images selon un exemple de réalisation particulier et non limitatif de la présente invention ; [0031] [Fig. 2] illustrates a flowchart of the different steps of a method for obtaining and rendering the digital twin from image data according to a particular and non-limiting exemplary embodiment of the present invention;
[0032] [Fig. 3] illustre un organigramme des différentes étapes d’un procédé d’obtention d’une représentation numérique de la chevelure de la personne physique à partir de données d’images, selon un exemple de réalisation particulier et non limitatif de la présente invention ; [0032] [Fig. 3] illustrates a flowchart of the different steps of a method for obtaining a digital representation of the hair of a natural person from image data, according to a particular and non-limiting exemplary embodiment of the present invention;
[0033] [Fig. 4] illustre un organigramme des différentes étapes d’un procédé d’obtention d’au moins un premier paramètre d’un modèle paramétrique de cheveux en sortie d’un modèle entrainé d’estimation de paramètres lorsque des données d’images sont présentées en entrée du modèle, selon un exemple de réalisation particulier et non limitatif de la présente invention ; [0033] [Fig. 4] illustrates a flowchart of the different steps of a method for obtaining at least a first parameter of a parametric hair model at the output of a trained parameter estimation model when image data are presented as input to the model, according to a particular and non-limiting exemplary embodiment of the present invention;
[0034] [Fig. 5] illustre un organigramme des différentes étapes d’un procédé d’obtention d’un identifiant de classe de chevelure en sortie d’un modèle entrainé de classification de chevelure lorsque les données d’images sont présentées en entrée du modèle, selon un exemple de réalisation particulier et non limitatif de la présente invention ; [0034] [Fig. 5] illustrates a flowchart of the different steps of a method for obtaining a hair class identifier at the output of a trained hair classification model when the image data are presented as input to the model, according to a particular and non-limiting exemplary embodiment of the present invention;
[0035] [Fig. 6] illustre schématiquement le dispositif configuré pour obtenir une représentation numérique d’une chevelure d’une personne physique représentée numériquement par un jumeau numérique, selon un exemple de réalisation particulier et non limitatif de la présente invention. [0035] [Fig. 6] schematically illustrates the device configured to obtain a digital representation of a head of hair of a physical person represented digitally by a digital twin, according to a particular and non-limiting exemplary embodiment of the present invention.
Description des exemples de réalisation Description of examples of implementation
[0036] Un procédé et un dispositif d’obtention d’une représentation numérique d’une chevelure d’une personne physique et un système d’essayage virtuel d’accessoire par une personne physique représentée numériquement par un jumeau numérique, vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 6. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre. [0036] A method and a device for obtaining a digital representation of a natural person's hair and a system for virtual fitting of an accessory by a natural person represented digitally by a digital twin, will now be described in what follows with joint reference to Figures 1 to 6. The same elements are identified with the same reference signs throughout the description which follows.
[0037] La figure 1 illustre schématiquement un système 1 d’essayage virtuel d’accessoire par une personne physique 10 représentée numériquement par un jumeau numérique JN, selon un mode de réalisation particulier et non limitatif de la présente invention. [0037] Figure 1 schematically illustrates a system 1 for virtual fitting of accessories by a physical person 10 represented digitally by a digital twin JN, according to a particular and non-limiting embodiment of the present invention.
[0038] Le système 1 comprend un dispositif 101 d’obtention de données d’images DIG représentatives d’au moins la tête de la personne physique 10 selon différents points de vue, un dispositif 102 d’obtention d’une représentation numérique RNT d’au moins la tête de la personne physique 10 dans un espace géométrique tridimensionnel à partir des données d’images DIG, un dispositif 103 d’obtention d’une représentation numérique RNC de la chevelure de la personne physique 10 dans l’espace géométrique tridimensionnel à partir des données d’images DIC, un dispositif 104 d’obtention de données d’accessoires DAC représentatives d’une représentation numérique d’au moins un accessoire dans l’espace géométrique tridimensionnel et un dispositif 105 de rendu du jumeau numérique JN représentatif d’au moins la tête de la personne physique 10 à partir des représentations RNC et RNT et des données d’accessoires DAC. [0038] The system 1 comprises a device 101 for obtaining DIG image data representative of at least the head of the physical person 10 from different points of view, a device 102 for obtaining a digital representation RNT of at least the head of the physical person 10 in a three-dimensional geometric space from the DIG image data, a device 103 for obtaining a digital representation RNC of the hair of the physical person 10 in the space three-dimensional geometric from the DIC image data, a device 104 for obtaining DAC accessory data representative of a digital representation of at least one accessory in the three-dimensional geometric space and a device 105 for rendering the digital twin JN representative of at least the head of the natural person 10 from the RNC and RNT representations and the DAC accessory data.
[0039] L’espace géométrique tridimensionnel est un espace dans lequel la partie ou l’ensemble de parties de la personne physique 10 ou la personne physique 10 dans son entier est géométriquement représentée à partir des données d’images DIC et de la ou des caméras utilisées pour capturer les images à partir desquelles ces données d’images DIC sont obtenues. [0039] The three-dimensional geometric space is a space in which the part or set of parts of the physical person 10 or the physical person 10 as a whole is geometrically represented from the DIC image data and the camera(s) used to capture the images from which this DIC image data is obtained.
[0040] Le jumeau numérique JN, encore appelé avatar réaliste, est un ensemble de données numériques tridimensionnelles qui représentent dans le métavers au moins la tête de la personne physique 10 qui est représentée par les données d’images DIC. [0040] The digital twin JN, also called realistic avatar, is a set of three-dimensional digital data which represents in the metaverse at least the head of the physical person 10 which is represented by the DIC image data.
[0041] La géométrie et la texture du jumeau numérique JN sont définis par la représentation RNT. Les données DAC peuvent être alors ajoutées au jumeau numérique JN pour visualiser le port virtuel d’accessoires par le jumeau numérique JN. [0041] The geometry and texture of the JN digital twin are defined by the RNT representation. The DAC data can then be added to the JN digital twin to visualize the virtual wearing of accessories by the JN digital twin.
[0042] Selon une variante, le système 1 peut comprendre en outre une interface homme-machine (IHM). [0042] According to a variant, the system 1 may further comprise a human-machine interface (HMI).
[0043] Par exemple, l’IHM peut être en partie mise en œuvre par plusieurs des dispositifs 101 à 105. [0043] For example, the HMI may be partly implemented by several of the devices 101 to 105.
[0044] Par exemple, elle peut permettre à un utilisateur d’entrer des paramètres par le moyen graphique tel qu’un clavier ou un écran tactile du dispositif 101 ou 105. [0044] For example, it may allow a user to enter parameters through graphical means such as a keyboard or touchscreen of the device 101 or 105.
[0045] Selon une variante, les dispositifs 101 , 104 et 105 peuvent être mis en œuvre dans des dispositifs distincts. [0045] According to a variant, the devices 101, 104 and 105 can be implemented in separate devices.
[0046] Selon une variante, les dispositifs 101 , 104 et/ou 105 peuvent être mis en œuvre dans un même dispositif. [0047] Selon un exemple de réalisation de cette variante, les dispositifs 101 , 104 et/ou 105 peuvent être mis en œuvre dans un même dispositif de communication mobile. [0046] According to a variant, the devices 101, 104 and/or 105 can be implemented in the same device. [0047] According to an exemplary embodiment of this variant, the devices 101, 104 and/or 105 can be implemented in the same mobile communication device.
[0048] Selon des variantes, le dispositif 101 , 104 et/ou 105 peut être l’un des dispositifs suivants : [0048] According to variants, the device 101, 104 and/or 105 may be one of the following devices:
- un téléphone ; - a telephone;
- un ordinateur ; - a computer;
- une tablette ; - a tablet;
- une paire de lunettes équipée d’au moins une caméra et d’un écran ou en communication avec au moins une caméra et un écran ; - a pair of glasses equipped with at least one camera and one screen or in communication with at least one camera and one screen;
- une paire de lentilles de contact oculaire équipées d’au moins une caméra et d’un écran alors adaptatif à une vue d’un utilisateur. - a pair of ocular contact lenses equipped with at least one camera and a screen then adaptive to a user's view.
[0049] La présente invention n’est pas limitée à ces exemples de dispositifs mais peut s’étendre à tout dispositif qui serait configuré pour mettre en œuvre les dispositifs 101 à 105. [0049] The present invention is not limited to these examples of devices but can extend to any device which would be configured to implement the devices 101 to 105.
[0050] Les dispositif 102 et 103 sont des calculateurs (CPU pour Computer Processing Units en anglais, en français unités de calculs numériques, ou GPU pour Graphical Processing Unit en anglais, en français unité de calculs graphiques) qui sont associés à des mémoires tampons pour exécuter des tâches calculatoires. [0050] The devices 102 and 103 are computers (CPU for Computer Processing Units in English, in French digital calculation units, or GPU for Graphical Processing Unit in English, in French graphic calculation unit) which are associated with buffer memories to execute calculation tasks.
[0051] Les dispositifs 101 à 105 peuvent être reliés par exemple en communication via réseau filaire (par exemple selon Ethernet et/ou via une liaison à fibre optique) et/ou via un réseau sans fil de type Wifi® (selon IEEE 802.11 ou l’une des déclinaisons de IEEE 802.11 ou via un réseau cellulaire de type LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE-Advanced (ou en français LTE-avancé) et/ou 5G et/ou 6G. On parle de « cloud computing » en anglais (informatique dans les nuages en français) pour faire référence à ce type d’architecture qui utilise de la mémoire et des capacités de calcul d’ordinateurs et de serveurs répartis dans le monde entier et liés par un réseau de communication. Une telle architecture est illustrée sur la figure 1 par un nuage 100 (« cloud » en anglais). [0052] Les dispositifs 101 à 105 sont ainsi configurés pour transmettre des données à destination du « cloud » 100 et/ou pour recevoir des données du « cloud » 100. [0051] The devices 101 to 105 may be connected for example in communication via a wired network (for example according to Ethernet and/or via a fiber optic link) and/or via a wireless network of the Wifi® type (according to IEEE 802.11 or one of the variations of IEEE 802.11 or via a cellular network of the LTE (Long-Term Evolution), LTE-Advanced and/or 5G and/or 6G type. We speak of “cloud computing” in English (computing in the clouds in French) to refer to this type of architecture which uses memory and computing capacities of computers and servers distributed throughout the world and linked by a communication network. Such an architecture is illustrated in FIG. 1 by a cloud 100. [0052] The devices 101 to 105 are thus configured to transmit data to the “cloud” 100 and/or to receive data from the “cloud” 100.
[0053] L’infrastructure de communication mobile permettant la communication sans fil de données entre les dispositifs 101 à 105 et le « cloud » 100 peut comprendre par exemple un ou plusieurs équipements de communication (non représentés sur la figure 1 ) de type antenne relais (réseau cellulaire). Dans un mode de communication utilisant une telle architecture réseau, les données à destination des dispositifs 101 à 105 peuvent être reçues par exemple du « cloud » 100 et les données peuvent être transmises par les dispositifs 101 à 105 via le « cloud » 100 à travers une ou plusieurs antennes relais (chaque antenne relais étant par exemple relié au « cloud » 100 via une liaison filaire). [0053] The mobile communication infrastructure enabling wireless communication of data between the devices 101 to 105 and the “cloud” 100 may comprise, for example, one or more communication devices (not shown in FIG. 1) of the relay antenna type (cellular network). In a communication mode using such a network architecture, the data intended for the devices 101 to 105 may be received, for example, from the “cloud” 100 and the data may be transmitted by the devices 101 to 105 via the “cloud” 100 through one or more relay antennas (each relay antenna being, for example, connected to the “cloud” 100 via a wired link).
[0054] Les données d’images DIG, les données représentatives des représentations RNT et RNC et les données d’accessoire DAC sont échangées par les dispositifs 101 à 105 via le « cloud » 100. [0054] The DIG image data, the data representative of the RNT and RNC representations and the DAC accessory data are exchanged by the devices 101 to 105 via the “cloud” 100.
[0055] La présente invention n’est pas limitée à l’architecture de communication entre les dispositifs 101 à 105 illustrée à la figure 1 mais s’étend à tout type d’architecture de communication. [0055] The present invention is not limited to the communication architecture between the devices 101 to 105 illustrated in FIG. 1 but extends to any type of communication architecture.
[0056] Par exemple, lorsque les dispositifs 101 , 104 et 105 sont un même dispositif de communication mobile, ce dispositif de communication mobile peut être configuré pour émettre les données d’images DIG aux dispositifs 102 et 103 via le « cloud » 100 et pour recevoir des données représentatives des représentations RNT et RNC via le « cloud » 100. [0056] For example, when the devices 101, 104 and 105 are the same mobile communication device, this mobile communication device can be configured to transmit the DIG image data to the devices 102 and 103 via the “cloud” 100 and to receive data representative of the RNT and RNC representations via the “cloud” 100.
[0057] Selon un autre exemple, les dispositifs 102 et 103 peuvent être un même dispositif qui est alors configuré pour recevoir des données d’images DIC via le « cloud » 100 et pour émettre les données représentatives des représentations RNT et RNC via le « cloud » 100. [0057] According to another example, the devices 102 and 103 may be the same device which is then configured to receive DIC image data via the “cloud” 100 and to transmit the data representative of the RNT and RNC representations via the “cloud” 100.
[0058] D’autres variantes d’architecture de communication entre les dispositifs 101 à 105 est bien évidemment envisageable sans pour autant sortir de la portée de la présente invention revendiquée. [0059] La figure 2 illustre un organigramme 2 des différentes étapes d’un procédé d’obtention et de rendu du jumeau numérique JN à partir des données d’images DIC selon un exemple de réalisation particulier et non limitatif de la présente invention. [0058] Other variants of communication architecture between the devices 101 to 105 are obviously conceivable without departing from the scope of the present claimed invention. [0059] Figure 2 illustrates a flowchart 2 of the different steps of a method for obtaining and rendering the digital twin JN from the DIC image data according to a particular and non-limiting exemplary embodiment of the present invention.
[0060] Dans une première étape 21 , les données d’images DIC représentatives d’au moins la tête de la personne physique 10 selon différents points de vue, sont obtenues à partir du dispositif 101 . [0060] In a first step 21, the DIC image data representative of at least the head of the physical person 10 from different points of view are obtained from the device 101.
[0061] Dans une deuxième étape 22, la représentation numérique RNT est obtenue à partir des données d’images DIC. [0061] In a second step 22, the digital representation RNT is obtained from the DIC image data.
[0062] Dans une troisième étape 23, la représentation numérique RNC est obtenue à partir des données d’images DIC. [0062] In a third step 23, the RNC digital representation is obtained from the DIC image data.
[0063] Dans une quatrième étape 24, les données d’accessoires DAC sont obtenues. [0063] In a fourth step 24, the DAC accessory data is obtained.
[0064] Dans la cinquième étape 25, le jumeau numérique JN défini à partir des représentations numériques RNT et RNC et des données d’accessoires DAC est rendu, en calculant une vue de ce jumeau numérique JN selon un point de vue. [0064] In the fifth step 25, the digital twin JN defined from the digital representations RNT and RNC and the accessory data DAC is rendered, by calculating a view of this digital twin JN according to a point of view.
[0065] Le dispositif 101 comprend un moyen de capture d’images. [0065] The device 101 comprises an image capture means.
[0066] Selon un exemple de réalisation de la présente invention, le moyen de capture d’images peut comprendre au moins une caméra correspondant par exemple à : [0066] According to an exemplary embodiment of the present invention, the image capture means may comprise at least one camera corresponding for example to:
- une caméra infrarouge ; - an infrared camera;
- une caméra d’acquisition d’image de type RGB (de l’anglais « Red, Green, Blue » ou en français « Rouge, vert, bleu ») ; - an RGB type image acquisition camera (from the English “Red, Green, Blue” or in French “Rouge, vert, bleu”);
- une plateforme (« Rig » en anglais) de caméra (dit Lightfield) ou Rig de caméra Volumétrique de type RGB ; - a camera platform (“Rig” in English) (called Lightfield) or Volumetric camera Rig of RGB type;
- une caméra d’acquisition de type LIDAR (« détection et estimation de la distance par la lumière » ou « par laser » en français et « light detection and ranging » ou « laser imaging detection and ranging » en anglais) ; ou - a LIDAR type acquisition camera (“light detection and ranging” or “laser imaging detection and ranging” in English); or
- une caméra d’acquisition d’image associée à un ou plusieurs dispositifs (par exemple une ou plusieurs LED (de l’anglais « Light-Emitting Diode » ou en français « Diode électroluminescente ») émettant de la lumière dans l’infrarouge ou dans la bande proche de l’infrarouge. - an image acquisition camera associated with one or more devices (for example one or more LEDs (from the English “Light-Emitting Diode” or in French “Diode electroluminescent") emitting light in the infrared or near infrared band.
[0067] Selon un exemple de réalisation de la présente invention, le moyen de capture d’images peut correspondre à une caméra d’un dispositif de communication mobile comprenant une caméra. [0067] According to an exemplary embodiment of the present invention, the image capturing means may correspond to a camera of a mobile communication device comprising a camera.
[0068] Selon des variantes, les images capturées peuvent correspondre soit à des images fixes capturées selon des points de vue différents d’au moins la tête de la personne physique 10 soit des images issues d’une vidéo capturée de la personne physique 10 qui représente au moins la tête ladite personne physique 10 selon différents points de vue. [0068] According to variants, the captured images may correspond either to still images captured from different points of view of at least the head of the physical person 10 or to images from a video captured of the physical person 10 which represents at least the head of said physical person 10 from different points of view.
[0069] Selon un exemple de réalisation de la présente invention, le moyen de capture d’images peut être un système de numérisation comprenant une pluralité de caméras synchronisées entre elles pour capturer plusieurs images à différents points de vue d’au moins la tête de la personne physique. Des données d’images capturées représentent alors ces images capturées à différents points de vue. [0069] According to an exemplary embodiment of the present invention, the image capturing means may be a scanning system comprising a plurality of cameras synchronized with each other to capture several images at different viewpoints of at least the head of the physical person. Captured image data then represents these images captured at different viewpoints.
[0070] Dans le cas d’une plateforme de caméra (on parle parfois de cas « Lightfield » en anglais et « données d’images volumiques » en français), les caméras peuvent être positionnées de manière circulaire ou planaire sur un dispositif physique de capture et peuvent saisir en une seule itération ou plusieurs (si capture de mouvement) au moins la tête la personne physique. [0070] In the case of a camera platform (sometimes referred to as “Lightfield” cases in English and “volumetric image data” in French), the cameras can be positioned in a circular or planar manner on a physical capture device and can capture in a single iteration or several (if motion capture) at least the head of the physical person.
[0071] Selon un exemple de réalisation de la présente invention, le moyen de capture d’images peut comprendre au moins un capteur volumétrique permettant d’obtenir des données d’images volumétriques (en anglais « lightfield »). [0071] According to an exemplary embodiment of the present invention, the image capture means may comprise at least one volumetric sensor making it possible to obtain volumetric image data (in English “lightfield”).
[0072] Selon un exemple de réalisation de la présente invention, le dispositif 101 peut être configuré pour que les données d’images DIG correspondent à des données d’images des images capturées par le moyen de capture d’images. [0073] Typiquement, trois images sont capturées, une représentant la tête de la personne physique 10 de face, une autre la représentant selon un profil gauche et l’autre la représentant selon un profil droit. [0072] According to an exemplary embodiment of the present invention, the device 101 may be configured so that the DIG image data corresponds to image data of the images captured by the image capturing means. [0073] Typically, three images are captured, one representing the head of the physical person 10 from the front, another representing it in a left profile and the other representing it in a right profile.
[0074] Selon un exemple de réalisation de la présente invention, le dispositif 101 peut être configuré pour appliquer un traitement sur les images capturées par le moyen de capture d’images et les données d’images DIG correspondent aux données d’images traitées. [0074] According to an exemplary embodiment of the present invention, the device 101 may be configured to apply processing to the images captured by the image capturing means and the DIG image data corresponds to the processed image data.
[0075] Selon un exemple de réalisation de la présente invention, si une vidéo peut être capturée par le moyen de capture d’images, un traitement peut être la sélection d’images représentatives d’au moins la tête de la personne physique parmi les images de cette vidéo. Typiquement, trois images sont sélectionnées, une représentant la tête de face, une autre la représentant selon un profil gauche et l’autre la représentant selon un profil droit. [0075] According to an exemplary embodiment of the present invention, if a video can be captured by the image capture means, a processing operation can be the selection of images representative of at least the head of the physical person from among the images of this video. Typically, three images are selected, one representing the head from the front, another representing it in a left profile and the other representing it in a right profile.
[0076] Selon un exemple de réalisation de la présente invention, la chevelure de la personne physique représentée sur les images capturées peut être segmentée du reste des images capturées, c’est-à-dire qu’au moins une zone spatiale qui délimite les cheveux de la tête de la personne physique est identifiée dans chacune des images capturées. Les données d’images DIG peuvent alors correspondent aux données d’images des pixels contenus dans les zones spatiales définies dans les images capturées. [0076] According to an exemplary embodiment of the present invention, the hair of the natural person represented in the captured images can be segmented from the rest of the captured images, that is to say that at least one spatial zone which delimits the hair of the head of the natural person is identified in each of the captured images. The DIG image data can then correspond to the image data of the pixels contained in the spatial zones defined in the captured images.
[0077] Par exemple, la segmentation de la chevelure du reste d’une image capturée peut être mise en œuvre à partir d’un modèle basé sur une architecture de type PSPNet développé par Li et al. (Li, T., Bolkart, T., Black, M., Li, H., & Romero, J. (2017) ou BiSeNet (https://arxiv.org/abs/2004.02147) Learning a Model of Facial Shape and Expression from 4D Scans. ACM Trans. Graph., 36(6)). [0077] For example, the segmentation of hair from the rest of a captured image can be implemented from a model based on a PSPNet type architecture developed by Li et al. (Li, T., Bolkart, T., Black, M., Li, H., & Romero, J. (2017) or BiSeNet (https://arxiv.org/abs/2004.02147) Learning a Model of Facial Shape and Expression from 4D Scans. ACM Trans. Graph., 36(6)).
[0078] Selon une variante, les données d’images DIC peuvent comprendre en outre une information représentative de contenus d’images et/ou une information descriptive de géométrie d’au moins la tête de la personne physique dans un espace géométrique tridimensionnel. [0079] Le dispositif 102 est configuré pour obtenir la représentation numérique RNT d’au moins la tête de la personne physique 10 dans l’espace géométrique tridimensionnel à partir des données d’images DIC. [0078] According to a variant, the DIC image data may further comprise information representative of image contents and/or descriptive information of geometry of at least the head of the physical person in a three-dimensional geometric space. [0079] The device 102 is configured to obtain the digital representation RNT of at least the head of the physical person 10 in the three-dimensional geometric space from the DIC image data.
[0080] Selon un exemple de réalisation particulier et non limitatif de la présente invention, le dispositif 102 peut être configuré pour mettre en œuvre le procédé décrit dans la demande de brevet français n° FR2301334 déposée le 14 février 2023. [0080] According to a particular and non-limiting exemplary embodiment of the present invention, the device 102 can be configured to implement the method described in French patent application No. FR2301334 filed on February 14, 2023.
[0081] Selon cette demande de brevet, l’obtention de la représentation numérique RNT d’au moins la tête de la personne physique 10 comprend l’obtention de données de maillage DM (« mesh » en anglais) représentatives d’une structure de maillage tridimensionnelle représentée dans l’espace géométrique tridimensionnel par un ensemble de sommets de formes polygonales formant une structure, chaque forme polygone, par exemple de triangles ou quadrangles, partageant au moins un côté avec une autre forme polygonale. [0081] According to this patent application, obtaining the digital representation RNT of at least the head of the physical person 10 comprises obtaining DM mesh data (“mesh” in English) representative of a three-dimensional mesh structure represented in the three-dimensional geometric space by a set of vertices of polygonal shapes forming a structure, each polygonal shape, for example triangles or quadrangles, sharing at least one side with another polygonal shape.
[0082] Le dispositif 102 est configuré pour calculer des données de maillage DM du jumeau numérique JN par modification de données de maillage DMI d’un jumeau numérique initial JNI selon des informations morphologiques extraites des données d’images DIC. [0082] The device 102 is configured to calculate mesh data DM of the digital twin JN by modifying mesh data DMI of an initial digital twin JNI according to morphological information extracted from the image data DIC.
[0083] Le jumeau numérique initial JNI est une représentation numérique d’au moins une tête d’un être humain asexué. Cette représentation numérique comprend les données de maillage DMI représentatives d’une structure de maillage tridimensionnelle représentée dans l’espace géométrique tridimensionnel par un ensemble de sommets de formes polygonales formant une structure, chaque forme polygonale partageant au moins un côté avec une autre forme polygonale. [0083] The initial digital twin JNI is a digital representation of at least one head of an asexual human being. This digital representation comprises the DMI mesh data representative of a three-dimensional mesh structure represented in the three-dimensional geometric space by a set of vertices of polygonal shapes forming a structure, each polygonal shape sharing at least one side with another polygonal shape.
[0084] Selon un exemple de réalisation particulier et non limitatif, les données de maillage DMI peuvent être modifiées en modifiant les positions spatiales des sommets définies dans l’espace géométrique tridimensionnel. [0084] According to a particular and non-limiting exemplary embodiment, the DMI mesh data can be modified by modifying the spatial positions of the vertices defined in the three-dimensional geometric space.
[0085] La structure de maillage tridimensionnelle du jumeau initial JNI est alors déformée (étirée, enfoncée, etc) pour que la structure de maillage tridimensionnelle modifiée du jumeau initial JNI ressemble dans l’espace géométrique tridimensionnel à la géométrie d’au moins la tête de la personne physique 10. [0085] The three-dimensional mesh structure of the initial twin JNI is then deformed (stretched, pressed, etc.) so that the three-dimensional mesh structure modified from the initial twin JNI resembles in three-dimensional geometric space the geometry of at least the head of the physical person 10.
[0086] Les données de maillage DM du jumeau numérique JN sont alors égales aux données DMI modifiées. [0086] The DM mesh data of the digital twin JN is then equal to the modified DMI data.
[0087] Les données DM du jumeau numérique JN sont obtenues par un procédé itératif de déformation des données DMI du jumeau numérique JNI qui embarque toute la connaissance de la morphologie d’un être vivant tel que par exemple toute la morphologie d’un être humain caucasien, afro, asiatique et/ou d’un être animal c’est-à- dire la position, une structure et une déformation des yeux, bouche et plis de la peau, un système musculaire sous-jacent et une série de contrôleurs permettant les déformations. [0087] The DM data of the digital twin JN are obtained by an iterative process of deformation of the DMI data of the digital twin JNI which incorporates all the knowledge of the morphology of a living being such as for example all the morphology of a Caucasian, Afro, Asian human being and/or of an animal being, that is to say the position, a structure and a deformation of the eyes, mouth and folds of the skin, an underlying muscular system and a series of controllers allowing the deformations.
[0088] Un procédé itératif de déformation peut être basé sur un réseau de neurones (Andrew G Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, and Hartwig Adam. Mobilenets: Efficient convolutional neural networks for mobile vision applications, arXiv preprint arXiv:1704.04861 , 2017) et/ou sur une méthode d’apprentissage profond (en anglais « Deep Learning ») (Ayush Tewari, Michael Zollôfer, Hyeongwoo Kim, Pablo Garrido, Florian Bernard, Patrick Perez, and Theobalt Christian. MoFA: Model-based Deep Convolutional Face Autoencoder for Unsupervised Monocular Reconstruction. In The IEEE International Conference on Computer Vision (ICCV), 2017.)et/ou sur une méthode d’apprentissage par renforcement (en anglais « Reinforcement Learning ») et/ou en utilisant des réseaux antagonistes génératifs (GAN de l’anglais « Generative Adversarial Network »). [0088] An iterative deformation method can be based on a neural network (Andrew G Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, and Hartwig Adam. Mobilenets: Efficient convolutional neural networks for mobile vision applications, arXiv preprint arXiv:1704.04861 , 2017) and/or on a deep learning method (Ayush Tewari, Michael Zollôfer, Hyeongwoo Kim, Pablo Garrido, Florian Bernard, Patrick Perez, and Theobalt Christian. MoFA: Model-based Deep Convolutional Face Autoencoder for Unsupervised Monocular Reconstruction. In The IEEE International Conference on Computer Vision (ICCV), 2017.) and/or on a reinforcement learning method and/or using generative adversarial networks (GAN from the English “Generative Adversarial Network”).
[0089] Dans le cas où une méthode d’apprentissage profond est utilisée pour la reconstruction du visage de la personne physique 10, une modélisation paramétrique du visage dite ”3DMM” peut-être utilisée. Celle-ci est basée sur un modèle statistique des visages humains qui permet de représenter tout visage en une somme pondérée de structure de maillages 3D, structure de maillage 3D qui suppose la création préalable d’une topologie 3D adaptée. Seule la partie frontale du visage - la seule déformable - est prise en compte (on parle de « monkey mask » en anglais). L’aspect géométrique est enrichi par la représentation des déformations correspondant aux expressions du visage. Ce qui s’accompagne d’un jeu de plusieurs paramètres, typiquement de l’ordre de 150 paramètres pour l’identité du visage et de 100 paramètres pour les expressions. L’estimation de ces centaines de paramètres peut être réalisée par régression de ces paramètres en utilisant une méthode d’apprentissage profond (en anglais « Deep Learning ») apprise sur un grand jeu d’images de visages (Ayush Tewari, Michael Zollôfer, Hyeongwoo Kim, Pablo Garrido, Florian Bernard, Patrick Perez, and Theobalt Christian. MoFA: Model-based Deep Convolutional Face Autoencoder for Unsupervised Monocular Reconstruction. In The IEEE International Conference on Computer Vision (ICCV), 2017), et (Ziwei Liu, Ping Luo, Xiaogang Wang, and Xiaoou Tang. Large-scale celebfaces attributes (celeba) dataset. Retrieved August, 15:2018, 2018). [0089] In the case where a deep learning method is used for the reconstruction of the face of the physical person 10, a parametric modeling of the face called "3DMM" can be used. This is based on a statistical model of human faces which makes it possible to represent any face in a weighted sum of 3D mesh structures, 3D mesh structure which assumes the prior creation of an adapted 3D topology. Only the frontal part of the face - the only deformable one - is taken into account (we speak of "monkey mask" in English). The aspect geometric is enriched by the representation of deformations corresponding to facial expressions. This is accompanied by a set of several parameters, typically of the order of 150 parameters for face identity and 100 parameters for expressions. The estimation of these hundreds of parameters can be carried out by regression of these parameters using a deep learning method learned on a large set of face images (Ayush Tewari, Michael Zollôfer, Hyeongwoo Kim, Pablo Garrido, Florian Bernard, Patrick Perez, and Theobalt Christian. MoFA: Model-based Deep Convolutional Face Autoencoder for Unsupervised Monocular Reconstruction. In The IEEE International Conference on Computer Vision (ICCV), 2017), and (Ziwei Liu, Ping Luo, Xiaogang Wang, and Xiaoou Tang. Large-scale celebfaces attributes (celeba) dataset. Retrieved August, 15:2018, 2018).
[0090] Ainsi, au cours de ce procédé itératif de déformation, une première structure de maillage tridimensionnelle (3D) définie par les données DNI vient se positionner dans l’espace géométrique tridimensionnel. Cette première structure de maillage tridimensionnelle est alors comparée à des structures de maillage tridimensionnelles stockées dans une base de données, chaque structure de maillage 3D stockée représentant au moins le visage de la personne physique. Le procédé itératif compare également chaque image bi-dimensionnelle (2D) calculée à partir de la première structure de maillage 3D à des images 2D calculées à partir d’une structure de maillage 3D stockée dans la base de données. Le procédé de comparaison de ces éléments cherche à rapprocher les images 2D calculées à partir de la première structure de maillage 3D à des images 2D calculées à partir de structures de maillage 3D stockées dans la base de données. Le procédé procède ainsi itérativement à une amélioration des distances entre les sommets de la première structure de maillage 3D et les sommets d’une structure de maillage 3D et par micro-déplacements des sommets de la première structure de maillage 3D dans l’espace géométrique tridimensionnel de manière à optimiser la première structure de maillage 3D résultante. Cette opération spatiale de déformation de la première structure de maillage 3D procède donc par itérations successives jusqu’à obtenir une ressemblance entre la première structure de maillage 3D et une structure de maillage 3D stockée dans la base de données représentant géométriquement au moins la tête de la personne physique. La structure de maillage 3D ainsi obtenue correspond en ressemblance aux données d’images DIG. [0090] Thus, during this iterative deformation process, a first three-dimensional (3D) mesh structure defined by the DNI data is positioned in the three-dimensional geometric space. This first three-dimensional mesh structure is then compared to three-dimensional mesh structures stored in a database, each stored 3D mesh structure representing at least the face of the natural person. The iterative process also compares each two-dimensional (2D) image calculated from the first 3D mesh structure to 2D images calculated from a 3D mesh structure stored in the database. The method of comparing these elements seeks to bring the 2D images calculated from the first 3D mesh structure closer to 2D images calculated from 3D mesh structures stored in the database. The method thus iteratively improves the distances between the vertices of the first 3D mesh structure and the vertices of a 3D mesh structure and by micro-displacements of the vertices of the first 3D mesh structure in the three-dimensional geometric space so as to optimize the resulting first 3D mesh structure. This spatial operation of deformation of the first 3D mesh structure therefore proceeds by successive iterations until a resemblance is obtained between the first 3D mesh structure and a 3D mesh structure stored in the database. geometrically representing at least the head of the physical person. The 3D mesh structure thus obtained corresponds in resemblance to the DIG image data.
[0091] Selon cette demande de brevet, l’obtention de la représentation numérique RNT d’au moins la tête de la personne physique 10 peut comprendre en outre l’obtention de données de texture DT à partir de données de texture extraites des données d’images DIG. [0091] According to this patent application, obtaining the digital representation RNT of at least the head of the physical person 10 may further comprise obtaining texture data DT from texture data extracted from the image data DIG.
[0092] Selon un exemple de réalisation particulier et non limitatif de la présente invention, les données de texture DT peuvent être des données de texture extraites d’une zone définie sur le visage de la personne physique 10 à partir des données d’images DIG. [0092] According to a particular and non-limiting exemplary embodiment of the present invention, the texture data DT may be texture data extracted from a defined area on the face of the physical person 10 from the image data DIG.
[0093] Selon un exemple de réalisation, les données de texture de la zone peuvent être obtenues par assemblage des données d’images DIG, isolées, réparties et assemblées pour reconstituer une seule texture. [0093] According to an exemplary embodiment, the texture data of the area can be obtained by assembling the DIG image data, isolated, distributed and assembled to reconstruct a single texture.
[0094] Par exemple, le procédé d’assemblage peut procéder à la déformation de la texture de chacune des images obtenues à partir des données d’images DIG en modifiant la couleur et le contraste des pixels des images de texture, correspondantes à la texture des images obtenues à partir des données d’images DIG, et en corrigeant les frontières entre les images texture pour générer une texture unique. [0094] For example, the stitching method may deform the texture of each of the images obtained from the DIG image data by modifying the color and contrast of the pixels of the texture images, corresponding to the texture of the images obtained from the DIG image data, and correcting the boundaries between the texture images to generate a single texture.
[0095] Cette texture unique peut alors être projetée sur la surface de la structure de maillage 3D correspondante aux données DM (projection connue sous le terme cartographie UV, les lettres U et V désignant les axes de la texture 2D). Cela permet ensuite une reprojection de la dite texture assemblée sur ladite structure de maillage 3D. [0095] This unique texture can then be projected onto the surface of the 3D mesh structure corresponding to the DM data (projection known as UV mapping, the letters U and V designating the axes of the 2D texture). This then allows a reprojection of said assembled texture onto said 3D mesh structure.
[0096] Par exemple, les données de texture peuvent être obtenues à partir d’une surface d’une zone définie entre le front, les oreilles et le menton (« monkey mask » en anglais). [0096] For example, texture data can be obtained from a surface of an area defined between the forehead, ears and chin (“monkey mask” in English).
[0097] Le dispositif 105 est configuré pour obtenir des données d’accessoires DAC représentatives d’une représentation tridimensionnelle d’au moins un accessoire dans l’espace géométrique tridimensionnel. Cette représentation tridimensionnelle est destinée à être ajoutée au jumeau numérique JN. [0097] The device 105 is configured to obtain DAC accessory data representative of a three-dimensional representation of at least one accessory in the three-dimensional geometric space. This three-dimensional representation is intended to be added to the JN digital twin.
[0098] Les données d’accessoires DAC sont connues de l’homme du métier. Elles représentent tout type d’objets, maquillage. On parle souvent de couche (« layer » en anglais) 2D / 3D qui incorpore une matière, une transparence, un relief et qui est calculée par un procédé d’ombrage (en anglais « shading ») et de rendu (en anglais « rendering »). [0098] DAC accessory data is known to those skilled in the art. It represents any type of object, makeup. We often speak of a 2D/3D layer which incorporates a material, transparency, relief and which is calculated by a shading and rendering process.
[0099] Le dispositif 103 est configuré pour obtenir la représentation numérique RNC de la chevelure de la personne physique 10 à partir des données d’images DIC. A cet effet, le dispositif 103 est configuré pour mettre en œuvre le procédé de la figure 3. [0099] The device 103 is configured to obtain the digital representation RNC of the hair of the physical person 10 from the DIC image data. For this purpose, the device 103 is configured to implement the method of FIG. 3.
[0100] La figure 3 illustre un organigramme des différentes étapes d’un procédé d’obtention (étape 23) de la représentation numérique RNC de la chevelure de la personne physique 10 à partir des données d’images DIC, selon un exemple de réalisation particulier et non limitatif de la présente invention. [0100] Figure 3 illustrates a flowchart of the different steps of a method for obtaining (step 23) the RNC digital representation of the hair of the natural person 10 from the DIC image data, according to a particular and non-limiting exemplary embodiment of the present invention.
[0101] Dans une étape 231 , le dispositif 103 obtient au moins un premier paramètre P1 d’un modèle paramétrique de cheveux en sortie d’un modèle MP entraîné d’estimation de paramètres lorsque les données d’images DIC représentatives d’au moins la tête de la personne physique selon différents points de vue sont présentées en entrée du modèle MP entraîné d’estimation de paramètres. [0101] In a step 231, the device 103 obtains at least a first parameter P1 of a parametric hair model at the output of a trained MP parameter estimation model when the DIC image data representative of at least the head of the physical person from different viewpoints are presented at the input of the trained MP parameter estimation model.
[0102] Selon une variante de l’étape 231 , ledit au moins un premier paramètre P1 est modifié en fonction d’au moins un deuxième paramètre P2. [0102] According to a variant of step 231, said at least one first parameter P1 is modified as a function of at least one second parameter P2.
[0103] Par exemple, ledit au moins un paramètre P1 peut être remplacé par ledit au moins deuxième paramètre P2, par exemple en concaténant lesdits au un premier et deuxièmes paramètres. [0103] For example, said at least one parameter P1 can be replaced by said at least second parameter P2, for example by concatenating said at least one first and second parameters.
[0104] Selon un exemple de réalisation particulier et non limitatif, ledit au moins deuxième paramètre P2 peut être obtenu à partir d’une action d’un utilisateur sur l’IHM du système d’essayage virtuel d’au moins un accessoire. [0105] Cette variante peut permettre à un utilisateur, par exemple un coiffeur, de faire évoluer une chevelure (coupe de cheveux) en modifiant au moins un premier paramètre P1 de sa représentation numérique en fonction d’au moins un deuxième paramètre P2 qu’il choisit. Ce coiffeur peut alors présenter à son client différentes variations de coupe de cheveux à partir du système 1 d’essayage virtuel d’accessoire. [0104] According to a particular and non-limiting exemplary embodiment, said at least second parameter P2 can be obtained from an action of a user on the HMI of the virtual fitting system of at least one accessory. [0105] This variant can allow a user, for example a hairdresser, to change a hairstyle (haircut) by modifying at least a first parameter P1 of its digital representation as a function of at least a second parameter P2 that he chooses. This hairdresser can then present to his client different variations of haircut from the virtual accessory fitting system 1.
[0106] Selon un exemple de réalisation particulier et non limitatif, ledit au moins deuxième paramètre P2 peut être obtenu à partir des données d’images DIC. [0106] According to a particular and non-limiting exemplary embodiment, said at least second parameter P2 can be obtained from the DIC image data.
[0107] Par exemple, ledit au moins un deuxième paramètre P2 peut être obtenu par des méthodes de traitement d’image connus tels que des filtrage linéaire, des opérations morphologiques par exemple pour obtenir des informations de couleurs. [0107] For example, said at least one second parameter P2 can be obtained by known image processing methods such as linear filtering, morphological operations for example to obtain color information.
[0108] Selon un autre exemple de réalisation particulier et non limitatif, ledit au moins deuxième paramètre P2 peut être un paramètre d’éclairage de scène dans laquelle évolue le jumeau numérique JN ou est définie en fonction de données qui définissent un choix de scène. [0108] According to another particular and non-limiting exemplary embodiment, said at least second parameter P2 may be a scene lighting parameter in which the digital twin JN evolves or is defined as a function of data which define a choice of scene.
[0109] Dans une étape 232, la représentation numérique RNC est obtenue en fonction dudit au moins un premier paramètre P1 . [0109] In a step 232, the digital representation RNC is obtained as a function of said at least one first parameter P1.
[0110] Selon un exemple de réalisation particulier et non limitatif, la deuxième étape 232 peut comprendre une étape 2321 d’obtention de représentation de mèches de cheveux par des courbes paramétriques à partir des données d’images DIC et ledit au moins un premier paramètre P1 peut être un paramètre desdites courbes paramétriques. La représentation numérique RNC peut alors être définie par lesdites courbes paramétriques. [0110] According to a particular and non-limiting exemplary embodiment, the second step 232 may comprise a step 2321 of obtaining a representation of locks of hair by parametric curves from the DIC image data and said at least one first parameter P1 may be a parameter of said parametric curves. The RNC digital representation may then be defined by said parametric curves.
[0111] Par exemple, la courbe paramétrique peut être une spline d’interpolation (en anglais parfois appelée cerce en français). Une spline d’interpolation est une fonction par morceaux constituée d’un polynôme sur chaque intervalle défini entre deux nœuds qui peuvent s’apparenter à des points dans l’espace géométrique tridimensionnel. Le degré de la spline d’interpolation est défini par le polynôme de plus haut degré utilisé : si on joint simplement les nœuds par des droites, c'est-à-dire si la spline d’interpolation est constituée de polynômes du premier degré, la spline d’interpolation est de degré 1 , etc. Si tous les polynômes ont même degré, on parle de spline d’interpolation uniforme. Si tous les polynômes sont du troisième degré, on parle de spline d’interpolation cubique. Les mèches de cheveux représentées par des splines d’interpolation peuvent alors variées en longueur, épaisseur et courbure selon des coefficients des polynômes définissant les splines d’interpolation. Ces coefficients peuvent alors être ledit au moins un premier paramètre P1 ou être déterminés à partir dudit au moins un premier paramètre P1 . [0111] For example, the parametric curve can be an interpolation spline (sometimes called a cerce in French). An interpolation spline is a piecewise function consisting of a polynomial over each interval defined between two knots that can be likened to points in three-dimensional geometric space. The degree of the interpolation spline is defined by the highest-degree polynomial used: if the knots are simply joined by straight lines, that is, if the interpolation spline is made up of first-degree polynomials, the interpolation spline is of degree 1, etc. If all the polynomials have the same degree, we speak of a uniform interpolation spline. If all the polynomials are of the third degree, we speak of a cubic interpolation spline. The strands of hair represented by interpolation splines can then vary in length, thickness and curvature according to coefficients of the polynomials defining the interpolation splines. These coefficients can then be said at least one first parameter P1 or be determined from said at least one first parameter P1.
[0112] Selon un autre mode de réalisation particulier et non limitatif, la deuxième étape 232 peut comprendre une étape 2322 d’obtention d’un identifiant de classe de chevelure IDC en sortie d’un modèle MC entrainé de classification de chevelure parmi un ensemble de classes de chevelure lorsque les données d’images DIC sont présentées en entrée du modèle MC entrainé de classification de chevelure, chaque identifiant de classe de chevelure référençant un modèle paramétrique de chevelure. La deuxième étape 232 peut comprendre en outre une étape 2323 d’ajustement du modèle de chevelure identifié par l’identifiant de classe de chevelure IDC en fonction dudit au moins un premier paramètre P1 . [0112] According to another particular and non-limiting embodiment, the second step 232 may comprise a step 2322 of obtaining a hair class identifier IDC as output from a trained MC hair classification model among a set of hair classes when the DIC image data are presented as input to the trained MC hair classification model, each hair class identifier referencing a parametric hair model. The second step 232 may further comprise a step 2323 of adjusting the hair model identified by the hair class identifier IDC as a function of said at least one first parameter P1.
[0113] Selon une variante du procédé de la figure 3, le modèle MP d’estimation de paramètres est mis en œuvre par un premier réseau de neurones profond à convolutions et le modèle MC de classification de chevelure est mis en œuvre par un deuxième réseau de neurones profond à convolutions. [0113] According to a variant of the method of figure 3, the MP model for parameter estimation is implemented by a first deep convolutional neural network and the MC model for hair classification is implemented by a second deep convolutional neural network.
[0114] Un réseau de neurones profond à convolutions également appelé réseau de neurones convolutifs et noté CNN ou ConvNet (de l’anglais « Convolutional Neural Networks ») correspond à un réseau de neurones artificiels acycliques (de l’anglais « feed-forward »). Un tel réseau de neurones convolutif comprend une partie convolutive mettant en œuvre une ou plusieurs couches de convolution et une partie densément connectée mettant en œuvre une ou plusieurs couches de neurones densément connectées (ou entièrement connectés) assurant la classification des informations selon un modèle de type MLP (de l’anglais « Multi Layers Perceptron » ou en français « Perceptrons multicouches ») par exemple. [0115] Selon la présente invention, le premier et deuxième réseaux de neurones convolutifs peuvent comprendre chacun une architecture de type MIL (de l’anglais multiinstance learning, en français apprentissage d’instances multiples) qui permet de label liser l’ensemble des images présentes en entrée de ces réseaux de neurones convolutifs qui représentent une même chevelure selon différents points de vue. Les premier et deuxième réseaux de neurones convolutifs apprennent alors comment est représentée la chevelure d’une personne physique selon différents points de vue et quels sont les premiers paramètres qui correspondent au mieux à cette représentation de la chevelure de la personne physique. [0114] A deep convolutional neural network, also called a convolutional neural network and noted CNN or ConvNet (from the English "Convolutional Neural Networks"), corresponds to an acyclic artificial neural network (from the English "feed-forward"). Such a convolutional neural network comprises a convolutional part implementing one or more convolution layers and a densely connected part implementing one or more densely connected (or fully connected) neuron layers ensuring the classification of information according to an MLP type model (from the English "Multi Layers Perceptron" or in French "Perceptrons multicouches") for example. [0115] According to the present invention, the first and second convolutional neural networks may each comprise a MIL (multiinstance learning) type architecture which makes it possible to label all of the images present at the input of these convolutional neural networks which represent the same hair from different points of view. The first and second convolutional neural networks then learn how the hair of a physical person is represented from different points of view and what are the first parameters which best correspond to this representation of the hair of the physical person.
[0116] La figure 4 illustre un organigramme des différentes étapes d’un procédé d’obtention (étape 231 ) d’au moins un premier paramètre P1 d’un modèle paramétrique de cheveux en sortie du modèle MP entraîné d’estimation de paramètres lorsque les données d’images DIC sont présentées en entrée du modèle MP, selon un exemple de réalisation particulier et non limitatif de la présente invention. [0116] Figure 4 illustrates a flowchart of the different steps of a method for obtaining (step 231) at least a first parameter P1 of a parametric hair model at the output of the trained MP model for parameter estimation when the DIC image data are presented at the input of the MP model, according to a particular and non-limiting exemplary embodiment of the present invention.
[0117] Dans une sous-étape 2311 de l’étape 231 , le dispositif 103, mettant en œuvre le premier réseau de neurones convolutifs, fournit les données d’images DIC en entrée d’une partie dite convolutive du premier réseau de neurones convolutifs pour déterminer des données D1 représentatives de caractéristiques de la chevelure de la personne physique 10. La partie convolutive met avantageusement en œuvre une ou plusieurs couches de convolution dont l’objectif est de détecter la présence de ces caractéristique(s) qui peuvent être d’ordre esthétique et/ou mécanique de la chevelure de la personne physique ou de détecter des motifs associés auxdites caractéristiques recherchées dans les données d’images DIC introduite en entrée de la partie convolutive. A cet effet, un ensemble d’au moins un filtre de convolution est appliqué aux données d’images DIC, ces données d’images DIC pouvant être par exemple fournies sous la forme d’une matrice à deux dimensions (correspondant à la grille de pixels d’une image par exemple). Par exemple, 50, 100, 200 ou plus de filtres de convolution peuvent être appliqués, chaque filtre ayant une taille et un pas (de l’anglais « stride ») déterminés. Par exemple, chaque filtre peut avoir une taille égale à 1x7 et un pas de 1 . Autrement dit, la matrice d’entrée contenant les données d’images DIC passe dans une première couche de convolution et des opérations de convolutions sont appliquées à cette matrice d’entrée sur la base des filtres de taille et pas déterminés. Le pas (ou « stride » en anglais) correspond au nombre de pixels par lesquels la fenêtre correspondant au filtre se déplace dans le tenseur d’entrée (matrice d’entrée par exemple). Chaque filtre de convolution peut représenter par exemple une caractéristique déterminée recherchée dans une image en faisant glisser la fenêtre correspondant au filtre sur l’image, et en calculant le produit de convolution entre cette caractéristique déterminée et chaque portion de l’image balayée par le filtre associé à cette caractéristique déterminée. Le résultat du produit de convolution permet de déterminer la présence ou l’absence de la caractéristique déterminée dans l’image d’entrée. [0117] In a sub-step 2311 of step 231, the device 103, implementing the first convolutional neural network, provides the DIC image data as input to a so-called convolutional part of the first convolutional neural network to determine data D1 representative of characteristics of the hair of the natural person 10. The convolutional part advantageously implements one or more convolution layers whose objective is to detect the presence of these characteristic(s) which may be of an aesthetic and/or mechanical nature of the hair of the natural person or to detect patterns associated with said characteristics sought in the DIC image data introduced as input to the convolutional part. For this purpose, a set of at least one convolution filter is applied to the DIC image data, this DIC image data being able to be for example provided in the form of a two-dimensional matrix (corresponding to the pixel grid of an image for example). For example, 50, 100, 200 or more convolution filters can be applied, each filter having a specific size and stride. For example, each filter can have a size of 1x7 and a stride of 1. In other words, the input matrix containing the DIC image data is passed in a first convolution layer and convolution operations are applied to this input matrix based on the determined size and step filters. The stride corresponds to the number of pixels by which the window corresponding to the filter moves in the input tensor (input matrix for example). Each convolution filter can represent for example a determined characteristic sought in an image by sliding the window corresponding to the filter on the image, and by calculating the convolution product between this determined characteristic and each portion of the image scanned by the filter associated with this determined characteristic. The result of the convolution product makes it possible to determine the presence or absence of the determined characteristic in the input image.
[0118] Selon une variante, une ou plusieurs opérations de convolution successives peuvent être appliquées aux données d’images DIC, avec pour chaque opération de convolution l’application d’un ensemble de filtres de convolutions aux données obtenues en sortie de l’opération de convolution précédente. [0118] According to a variant, one or more successive convolution operations can be applied to the DIC image data, with for each convolution operation the application of a set of convolution filters to the data obtained at the output of the previous convolution operation.
[0119] Selon une variante, une ou plusieurs opérations dites de « mise en commun » (par exemple une ou plusieurs opérations de « mise en commun par maximum » (de l’anglais « max pooling ») et/ou une ou plusieurs opérations de « mise en commun par moyenne » (de l’anglais « average pooling »)) peuvent être mises en œuvre et appliquées aux données obtenues de la ou les opérations de convolution. Selon cette variante, la ou les opérations de « mise en commun » peuvent être par exemple, et optionnellement, assorties ou associées à une opération de désactivation aléatoire d’une partie des neurones du réseau, avec une probabilité déterminée, par exemple une probabilité de 0.2 (20 %), 0.3 (30 %) ou 0.4 (40 %), cette technique étant connue sous le nom de « dropout ». [0119] According to a variant, one or more so-called “pooling” operations (for example one or more “max pooling” operations and/or one or more “average pooling” operations) can be implemented and applied to the data obtained from the convolution operation(s). According to this variant, the “pooling” operation(s) can be, for example, and optionally, matched or associated with an operation of random deactivation of a portion of the neurons in the network, with a determined probability, for example a probability of 0.2 (20%), 0.3 (30%) or 0.4 (40%), this technique being known as “dropout”.
[0120] Dans une sous-étape 2312 de l’étape 231 , le dispositif 103 fournit les données D1 en entrée de la partie dite densément connectée du premier réseau de neurones convolutifs pour déterminer un ensemble d’au moins un premier paramètre P1 . [0120] In a sub-step 2312 of step 231, the device 103 provides the data D1 as input to the so-called densely connected part of the first convolutional neural network to determine a set of at least one first parameter P1.
[0121] La couche densément connectée met en œuvre une opération de classification des données D1 . A cet effet, la partie densément connectée du premier réseau de neurones convolutifs comprend une ou plusieurs couches de neurones densément connectés ou totalement connectés (de l’anglais « fully-connected »). Chaque couche de neurones fournit des données en sortie qui sont obtenues en appliquant une combinaison linéaire puis optionnellement une fonction d’activation aux données présentes à son entrée. [0121] The densely connected layer implements a classification operation of the data D1. For this purpose, the densely connected part of the first network of Convolutional neurons consist of one or more layers of densely connected or fully connected neurons. Each layer of neurons provides output data that is obtained by applying a linear combination and optionally an activation function to the data present at its input.
[0122] La couche densément connectée renvoie en sortie un vecteur de taille N, où N correspond au nombre d’ensembles d’au moins un premier paramètre P1 , chaque ensemble d’au moins un premier paramètre P1 correspondant à un modèle paramétrique de cheveux. Chaque élément du vecteur de sortie fournit la probabilité pour les données D1 de correspondre à un ensemble d’au moins un premier paramètre P1. [0122] The densely connected layer outputs a vector of size N, where N corresponds to the number of sets of at least one first parameter P1, each set of at least one first parameter P1 corresponding to a parametric hair model. Each element of the output vector provides the probability for the data D1 to correspond to a set of at least one first parameter P1.
[0123] Le vecteur d’entrée peut passer par exemple par une couche de neurones densément connectés, avec par exemple 128, 256 ou plus de neurones chacun connecté à chacun des neurones d’une couche comprenant autant de neurones qu’il y a d’ensembles d’au moins un premier paramètre P1 , un ensemble d’au moins un premier paramètre P1 d’un modèle paramétrique de cheveux étant associé à chaque neurone de la couche de sortie de la partie densément connectée. [0123] The input vector may pass for example through a layer of densely connected neurons, with for example 128, 256 or more neurons each connected to each of the neurons of a layer comprising as many neurons as there are sets of at least one first parameter P1, a set of at least one first parameter P1 of a parametric hair model being associated with each neuron of the output layer of the densely connected part.
[0124] La figure 5 illustre un organigramme des différentes étapes d’un procédé d’obtention (étape 2322) d’un identifiant de classe de chevelure IDC en sortie du modèle MC entrainé de classification de chevelure lorsque les données d’images DIC sont présentées en entrée du modèle MC, selon un exemple de réalisation particulier et non limitatif de la présente invention. [0124] Figure 5 illustrates a flowchart of the different steps of a method for obtaining (step 2322) a hair class identifier IDC at the output of the trained MC hair classification model when the DIC image data are presented as input to the MC model, according to a particular and non-limiting exemplary embodiment of the present invention.
[0125] Dans une sous-étape 23221 de l’étape 2322, le dispositif 103 mettant en œuvre le deuxième réseau de neurones convolutifs fournit les données d’images DIC en entrée d’une partie dite convolutive du deuxième réseau de neurones convolutifs pour déterminer des données D1 représentatives de caractéristiques de la chevelure de la personne physique 10. La partie convolutive met avantageusement en œuvre une ou plusieurs couches de convolution dont l’objectif est de détecter la présence de ces caractéristique(s) qui peuvent être d’ordre esthétique et/ou mécanique de la chevelure de la personne physique ou de détecter des motifs associés auxdites caractéristiques recherchées dans les données d’images DIC introduite en entrée de la partie convolutive. A cet effet, un ensemble d’au moins un filtre de convolution est appliqué aux données d’images DIC, ces données d’images DIC pouvant être par exemple fournies sous la forme d’une matrice à deux dimensions (correspondant à la grille de pixels d’une image par exemple). Par exemple, 50, 100, 200 ou plus de filtres de convolution peuvent être appliqués, chaque filtre ayant une taille et un pas (de l’anglais « stride ») déterminés. Par exemple, chaque filtre a une taille égale à 1x7 et un pas de 1 . Autrement dit, la matrice d’entrée contenant les données d’images DIC passe dans une première couche de convolution et des opérations de convolutions sont appliquées à cette matrice d’entrée sur la base des filtres de taille et pas déterminés. Le pas (ou « stride » en anglais) correspond au nombre de pixels par lesquels la fenêtre correspondant au filtre se déplace dans le tenseur d’entrée (matrice d’entrée par exemple). Chaque filtre de convolution peut représenter par exemple une caractéristique déterminée recherchée dans une image en faisant glisser la fenêtre correspondant au filtre sur l’image, et en calculant le produit de convolution entre cette caractéristique déterminée et chaque portion de l’image balayée par le filtre associé à cette caractéristique déterminée. Le résultat du produit de convolution permet de déterminer la présence ou l’absence de la caractéristique déterminée dans l’image d’entrée. [0125] In a sub-step 23221 of step 2322, the device 103 implementing the second convolutional neural network provides the DIC image data as input to a so-called convolutional part of the second convolutional neural network to determine data D1 representative of characteristics of the hair of the natural person 10. The convolutional part advantageously implements one or more convolution layers whose objective is to detect the presence of these characteristic(s) which may be of an aesthetic and/or mechanical nature of the hair of the natural person or to detect patterns associated with said characteristics. searched in the DIC image data introduced as input to the convolutional part. For this purpose, a set of at least one convolution filter is applied to the DIC image data, this DIC image data being able to be provided for example in the form of a two-dimensional matrix (corresponding to the pixel grid of an image for example). For example, 50, 100, 200 or more convolution filters can be applied, each filter having a determined size and stride. For example, each filter has a size equal to 1x7 and a stride of 1. In other words, the input matrix containing the DIC image data passes into a first convolution layer and convolution operations are applied to this input matrix on the basis of the determined size and stride filters. The stride is the number of pixels by which the window corresponding to the filter moves in the input tensor (input matrix for example). Each convolution filter can represent, for example, a specific characteristic sought in an image by sliding the window corresponding to the filter over the image, and by calculating the convolution product between this specific characteristic and each portion of the image scanned by the filter associated with this specific characteristic. The result of the convolution product makes it possible to determine the presence or absence of the specific characteristic in the input image.
[0126] Selon une variante, une ou plusieurs opérations de convolution successives peuvent être appliquées aux données d’images DIC, avec pour chaque opération de convolution l’application d’un ensemble de filtres de convolutions aux données obtenues en sortie de l’opération de convolution précédente. [0126] According to a variant, one or more successive convolution operations can be applied to the DIC image data, with for each convolution operation the application of a set of convolution filters to the data obtained at the output of the previous convolution operation.
[0127] Selon encore une variante, une ou plusieurs opérations dites de « mise en commun » (par exemple une ou plusieurs opérations de « mise en commun par maximum » (de l’anglais « max pooling ») et/ou une ou plusieurs opérations de « mise en commun par moyenne » (de l’anglais « average pooling »)) peuvent être mises en œuvre et appliquées aux données obtenues de la ou les opérations de convolution. Selon cette variante, la ou les opérations de « mise en commun » peuvent être par exemple, et optionnellement, assorties ou associées à une opération de désactivation aléatoire d’une partie des neurones du réseau, avec une probabilité déterminée, par exemple une probabilité de 0.2 (20 %), 0.3 (30 %) ou 0.4 (40 %), cette technique étant connue sous le nom de « dropout ». [0127] According to another variant, one or more so-called “pooling” operations (for example one or more “max pooling” operations and/or one or more “average pooling” operations) can be implemented and applied to the data obtained from the convolution operation(s). According to this variant, the “pooling” operation(s) can be, for example, and optionally, combined or associated with a deactivation operation. random selection of a portion of the neurons in the network, with a specific probability, for example a probability of 0.2 (20%), 0.3 (30%) or 0.4 (40%), this technique being known as "dropout".
[0128] La partie convolutive du deuxième réseau de neurones convolutifs sort un ensemble de caractéristique(s) détectée(s) parmi les données d’images DIC fournies en entrée de la partie convolutive. Les informations représentatives de la présence de caractéristique(s) déterminées sont fournies en entrée à une partie dite densément connectée du deuxième réseau de neurones convolutifs. [0128] The convolutional part of the second convolutional neural network outputs a set of detected feature(s) from the DIC image data provided as input to the convolutional part. The information representative of the presence of determined feature(s) is provided as input to a so-called densely connected part of the second convolutional neural network.
[0129] Dans une sous-étape 23222 de l’étape 2322, le dispositif 103 fournit les données D1 en entrée de la partie dite densément connectée du deuxième réseau de neurones convolutifs pour déterminer l’identifiant de classe de chevelure IDC. [0129] In a sub-step 23222 of step 2322, the device 103 provides the data D1 as input to the so-called densely connected part of the second convolutional neural network to determine the hair class identifier IDC.
[0130] La couche densément connectée met en œuvre une opération de classification des données D1 . A cet effet, la partie densément connectée du deuxième réseau de neurones convolutifs comprend une ou plusieurs couches de neurones densément connectés ou totalement connectés (de l’anglais « fully-connected »). Chaque couche de neurones fournit des données en sortie qui sont obtenues en appliquant une combinaison linéaire puis optionnellement une fonction d’activation aux données présentes à son entrée. [0130] The densely connected layer implements a classification operation of the data D1. For this purpose, the densely connected part of the second convolutional neural network comprises one or more layers of densely connected or fully connected neurons. Each layer of neurons provides output data which are obtained by applying a linear combination and then optionally an activation function to the data present at its input.
[0131] La couche densément connectée renvoie en sortie un vecteur de taille N, où N correspond au nombre d’ensembles d’au moins un premier paramètre P1 de classes de chevelure, chaque classe de chevelure correspondant à un modèle paramétrique de cheveux. Chaque élément du vecteur de sortie fournit la probabilité pour les données D1 de correspondre à une classe de chevelure. [0131] The densely connected layer returns as output a vector of size N, where N corresponds to the number of sets of at least a first parameter P1 of hair classes, each hair class corresponding to a parametric hair model. Each element of the output vector provides the probability for the data D1 to correspond to a hair class.
[0132] Les valeurs des filtres de convolution du premier et deuxième réseau de neurones convolutifs et les paramètres de leur couches densément connectées sont avantageusement déterminées dans une phase dite d’apprentissage, par exemple d’apprentissage supervisé, selon une méthode connue de l’homme du métier. Dans une phase d’apprentissage, un nombre important (par exemple des centaines, des milliers, des dizaines de millier ou plus) d’images de chevelure dont on connaît les caractéristiques associées sont utilisés pour apprendre les différents valeurs ou coefficients des filtres de convolution. Dans une telle phase d’apprentissage, une méthode connue sous le nom de rétropropagation du gradient de l’erreur peut être par exemple mise en œuvre. De la même manière, dans cette phase d’apprentissage, un nombre important (par exemple des centaines, des milliers, des dizaines de millier ou plus) d’associations de données représentatives de caractéristiques de chevelure sont utilisés pour apprendre les paramètres de la partie densément connectée permettant la classification des données dans le but d’obtenir un ensemble d’au moins un premier paramètres P1 d’un modèle paramétrique de cheveux (premier réseau de neurones convolutifs) ou un identifiant de classe de chevelure (deuxième réseau de neurones convolutifs). [0132] The values of the convolution filters of the first and second convolutional neural networks and the parameters of their densely connected layers are advantageously determined in a so-called learning phase, for example supervised learning, according to a method known to those skilled in the art. In a learning phase, a large number (for example hundreds, thousands, tens of thousands or more) of hair images whose associated features are used to learn the different values or coefficients of the convolution filters. In such a learning phase, a method known as error gradient backpropagation can be implemented, for example. Similarly, in this learning phase, a large number (e.g., hundreds, thousands, tens of thousands or more) of data associations representative of hair features are used to learn the parameters of the densely connected part allowing the classification of the data in order to obtain a set of at least a first parameter P1 of a parametric hair model (first convolutional neural network) or a hair class identifier (second convolutional neural network).
[0133] L’apprentissage peut par exemple être réalisé à partir de données d’images obtenues de manière synthétique. [0133] Learning can for example be carried out from image data obtained synthetically.
[0134] Selon une variante, un ensemble d’au moins un premier paramètre P1 (premier réseau de neurones convolutifs) ou une classe de chevelure (deuxième réseau de neurones convolutifs) peut être déterminé(s) pour chaque image d’une séquence d’images consécutives, à partir des données d’images DIG de ces images. Une pluralité d’ensemble d’au moins un premier paramètre P1 (ou de classes de chevelure) peut être ainsi obtenue pour la séquence avec autant d’ensemble d’au moins un premier paramètre P1 (ou de classes de chevelure) qu’il y a d’images dans la séquence. Un filtrage temporel (par exemple une moyenne) peut être avantageusement appliqué à cette pluralité d’ensemble d’au moins un premier paramètre P1 (ou de classes de chevelure) pour déterminer un seul ensemble d’au moins un premier paramètre P1 (un identifiant d’une classe de chevelure). Un tel filtrage temporel peut être par exemple réalisé ou mis en œuvre par un filtre numérique connu de l’homme du métier, par exemple défini par une équation mathématique, telle qu’une équation aux différences, ou par un réseau de neurone, par exemple récurrent. [0134] According to a variant, a set of at least one first parameter P1 (first convolutional neural network) or a hair class (second convolutional neural network) can be determined for each image of a sequence of consecutive images, from the DIG image data of these images. A plurality of sets of at least one first parameter P1 (or hair classes) can thus be obtained for the sequence with as many sets of at least one first parameter P1 (or hair classes) as there are images in the sequence. A temporal filtering (for example an average) can advantageously be applied to this plurality of sets of at least one first parameter P1 (or hair classes) to determine a single set of at least one first parameter P1 (an identifier of a hair class). Such temporal filtering may for example be carried out or implemented by a digital filter known to those skilled in the art, for example defined by a mathematical equation, such as a difference equation, or by a neural network, for example recurrent.
[0135] Selon une variante, les données d’images utilisées pour l’apprentissage du premier et du deuxième réseau de neurones convolutifs peuvent être des données issues de groupes de 3 images prises de face, de profil droit et de profil gauche d’une même chevelure. Chaque groupe d’images peut être associé à des annotations qui indiquent la classe de chevelure attendue correspondante aux 3 images du groupe d’images et qui indiquent une valeur d’au moins un premier paramètre P1 d’un modèle paramétrique de cheveux. [0135] According to a variant, the image data used for training the first and second convolutional neural networks may be data from groups of 3 images taken from the front, right profile and left profile of a same hair. Each group of images can be associated with annotations that indicate the expected hair class corresponding to the 3 images in the group of images and that indicate a value of at least a first parameter P1 of a parametric hair model.
[0136] Selon une variante, les données d’images utilisés pour l’apprentissage du premier et du deuxième réseau de neurones convolutifs peuvent être des données d’images obtenues de manière synthétique ce qui facilite la génération d’un nombre important de données d’images requit pour l’apprentissage du premier et du deuxième réseau de neurones convolutifs. [0136] According to a variant, the image data used for training the first and second convolutional neural networks may be image data obtained synthetically, which facilitates the generation of a large number of image data required for training the first and second convolutional neural networks.
[0137] Les données d’images synthétiques utilisées pour l’apprentissage peuvent être générées à partir de modèles paramétriques de cheveux et de jeux de paramètres de ces modèles choisis aléatoirement pour obtenir des variations de chevelure. Des variations des points de vue peuvent aussi être aussi utilisées pour introduire des variations des points de vue des images de chevelure. [0137] Synthetic image data used for training may be generated from parametric hair models and parameter sets of these models chosen randomly to obtain hair variations. Viewpoint variations may also be used to introduce viewpoint variations of hair images.
[0138] Un problème de généralisation de l’apprentissage des premier et deuxième réseau de neurones convolutifs se pose lorsque l’on génère de manière synthétique des données d’images pour l’apprentissage à partir d’images de variations de chevelure lorsque plusieurs de ces images comportent un même visage. Pour éviter ce problème, les données d’images utilisées pour l’apprentissage peuvent être segmentées pour identifier au moins une zone spatiale de ces images qui comprennent des données d’images représentatives de la chevelure. Les données d’images utilisées pour l’apprentissage peuvent correspondre alors à des images créées qui ne comportent que ces zones spatiales des images et qui excluent donc les zones spatiales correspondantes aux visages. [0138] A problem of generalizing the learning of the first and second convolutional neural networks arises when synthetically generating image data for learning from images of hair variations when several of these images include the same face. To avoid this problem, the image data used for learning can be segmented to identify at least one spatial area of these images which includes image data representative of the hair. The image data used for learning can then correspond to created images which only include these spatial areas of the images and which therefore exclude the spatial areas corresponding to the faces.
[0139] Le dispositif 104 est configuré pour rendre un avatar numérique représentatif de la personne physique à partir du jumeau numérique JN (des représentations numériques RNT et RNC) et des données d’accessoires DAC. A cet effet, le dispositif 104 calcule des données représentatives d’une vue selon un point de vue de la représentation RNT combinée avec les données d’accessoires DAC et la représentation numérique RNC. [0140] Le dispositif 104 de rendu d’un avatar numérique représentant la personne physique porteuse d’au moins un accessoire peut comprendre un moteur de rendu qui calcule des données représentatives d’une image du jumeau numérique JN porteur dudit au moins un accessoire selon un point de vue. L’image peut alors être affichée sur un écran du dispositif 104. [0139] The device 104 is configured to render a digital avatar representative of the physical person from the digital twin JN (of the digital representations RNT and RNC) and the accessory data DAC. For this purpose, the device 104 calculates data representative of a view according to a point of view of the RNT representation combined with the accessory data DAC and the digital representation RNC. [0140] The device 104 for rendering a digital avatar representing the physical person wearing at least one accessory may comprise a rendering engine which calculates data representative of an image of the digital twin JN wearing said at least one accessory according to a point of view. The image may then be displayed on a screen of the device 104.
[0141] Selon un exemple de réalisation, le moteur de rendu peut être un moteur de rendu temps réel. [0141] According to an exemplary embodiment, the rendering engine may be a real-time rendering engine.
[0142] Selon un exemple de réalisation, le moteur de rendu peut être mis en œuvre sur un serveur de calcul GPU. [0142] According to an exemplary embodiment, the rendering engine can be implemented on a GPU computing server.
[0143] Par exemple, le moteur de rendu temps réel peut être un moteur de simulation 3D. [0143] For example, the real-time rendering engine may be a 3D simulation engine.
[0144] Selon un exemple de réalisation particulier et non limitatif, ledit au moins un paramètre P1 peut être appliqué à un modèle paramétrique de cheveux à l’aide de logiciels. [0144] According to a particular and non-limiting exemplary embodiment, said at least one parameter P1 can be applied to a parametric hair model using software.
[0145] Les procédés des figures 2 à 5 permettent à une personne d’essayer virtuellement des accessoires et de décider de l’achat ou non de ces accessoires. [0145] The methods of Figures 2 to 5 allow a person to virtually try on accessories and decide whether or not to purchase those accessories.
[0146] Au travers de l’IHM du système 1 d’essayage virtuel d’accessoire, une personne physique peut accéder à un site de vente et sélectionner des accessoires. Elle peut également choisir d’essayer virtuellement ces accessoires. L’IHM peut alors être prévue pour que cette personne ajoute les accessoires sélectionnés dans un panier, que l’on peut appeler cabine d’essayage virtuelle. Le procédé décrit ci-dessus est alors mis en œuvre pour qu’un jumeau numérique de cette personne soit calculé et que la personne puisse visualiser une vue de son jumeau numérique alors porteur d’accessoires que cette personne aurait sélectionnés. Ainsi, la personne physique peut interagir avec son jumeau numérique à partir de cette IHM qui affiche les images de ce jumeau numérique porteur de ces accessoires selon des points de vue pouvant être sélectionnés par cette personne. La personne peut également choisir des conditions de la scène (éclairage, contenu de la scène) dans lequel évolue son jumeau numérique. La personne peut également choisir des conditions d’éclairage de la scène dans laquelle évolue son jumeau numérique ou encore changer la scène dans laquelle est présenté le jumeau numérique. [0146] Through the HMI of the virtual accessory fitting system 1, a natural person can access a sales site and select accessories. He or she can also choose to virtually try on these accessories. The HMI can then be designed so that this person adds the selected accessories to a basket, which can be called a virtual fitting room. The method described above is then implemented so that a digital twin of this person is calculated and so that the person can visualize a view of his or her digital twin then carrying accessories that this person would have selected. Thus, the natural person can interact with his or her digital twin from this HMI which displays the images of this digital twin carrying these accessories according to points of view that can be selected by this person. The person can also choose the conditions of the scene (lighting, content of the scene) in which his or her digital twin evolves. The person can also choose the lighting conditions of the scene in which his or her digital twin evolves. digital twin or even change the scene in which the digital twin is presented.
[0147] La figure 6 illustre schématiquement le dispositif 103 configuré pour obtenir une représentation numérique RNC d’une chevelure d’une personne physique représentée numériquement par un jumeau numérique, selon un exemple de réalisation particulier et non limitatif de la présente invention. [0147] Figure 6 schematically illustrates the device 103 configured to obtain a digital RNC representation of a head of hair of a physical person represented digitally by a digital twin, according to a particular and non-limiting exemplary embodiment of the present invention.
[0148] Selon un mode de réalisation particulier, le dispositif 103 correspond à un serveur ou un calculateur du « cloud » 100. [0148] According to a particular embodiment, the device 103 corresponds to a server or a calculator of the “cloud” 100.
[0149] Le dispositif 103 est par exemple configuré pour la mise en œuvre des opérations décrites en regard des figures 1 et/ou des étapes des procédés décrits en regard des figures 2 à 5. Les éléments du dispositif 103, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le dispositif 103 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels. [0149] The device 103 is for example configured for implementing the operations described with regard to figures 1 and/or the steps of the methods described with regard to figures 2 to 5. The elements of the device 103, individually or in combination, can be integrated into a single integrated circuit, into several integrated circuits, and/or into discrete components. The device 103 can be produced in the form of electronic circuits or software (or computer) modules or even a combination of electronic circuits and software modules.
[0150] Le dispositif 103 comprend un (ou plusieurs) processeur(s) 1030 configurés pour exécuter des instructions pour la réalisation des étapes du procédé et/ou pour l’exécution des instructions du ou des logiciels embarqués dans le dispositif 103. Le processeur 1030 peut inclure de la mémoire intégrée, une interface d’entrée/sortie, et différents circuits connus de l’homme du métier. Le dispositif 103 comprend en outre au moins une mémoire 1031 correspondant par exemple à une mémoire volatile et/ou non volatile et/ou comprend un dispositif de stockage mémoire qui peut comprendre de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, disque magnétique ou optique. [0150] The device 103 comprises one (or more) processor(s) 1030 configured to execute instructions for carrying out the steps of the method and/or for executing the instructions of the software(s) embedded in the device 103. The processor 1030 may include integrated memory, an input/output interface, and various circuits known to those skilled in the art. The device 103 further comprises at least one memory 1031 corresponding for example to a volatile and/or non-volatile memory and/or comprises a memory storage device which may comprise volatile and/or non-volatile memory, such as EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic or optical disk.
[0151] Le code informatique du ou des logiciels embarqués comprenant les instructions à charger et exécuter par le processeur est par exemple stocké sur la mémoire 1031 . [0151] The computer code of the embedded software(s) comprising the instructions to be loaded and executed by the processor is for example stored in the memory 1031.
[0152] Selon différents exemples de réalisation particuliers et non limitatifs, le dispositif 103 est couplé en communication avec d’autres dispositifs ou systèmes similaires et/ou avec des dispositifs de communication. [0153] Selon un exemple de réalisation particulier et non limitatif, le dispositif 103 comprend un bloc 1032 d’éléments d’interface pour communiquer avec des dispositifs externes, par exemple un serveur distant ou le « cloud » 100. Les éléments d’interface du bloc 1032 comprennent une ou plusieurs des interfaces suivantes : [0152] According to various particular and non-limiting exemplary embodiments, the device 103 is coupled in communication with other similar devices or systems and/or with communication devices. [0153] According to a particular and non-limiting exemplary embodiment, the device 103 comprises a block 1032 of interface elements for communicating with external devices, for example a remote server or the “cloud” 100. The interface elements of the block 1032 comprise one or more of the following interfaces:
- interface radiofréquence RF, par exemple de type Wi-Fi® (selon IEEE 802.11 ), par exemple dans les bandes de fréquence à 2,4 ou 5 GHz, ou de type Bluetooth® (selon IEEE 802.15.1 ), dans la bande de fréquence à 2,4 GHz, ou de type Sigfox utilisant une technologie radio UBN (de l’anglais Ultra Narrow Band, en français bande ultra étroite), ou LoRa dans la bande de fréquence 868 MHz, LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE-Advanced (ou en français LTE-avancé) ; - RF radio frequency interface, for example Wi-Fi® type (according to IEEE 802.11), for example in the 2.4 or 5 GHz frequency bands, or Bluetooth® type (according to IEEE 802.15.1), in the 2.4 GHz frequency band, or Sigfox type using UBN (Ultra Narrow Band) radio technology, or LoRa in the 868 MHz frequency band, LTE (Long-Term Evolution), LTE-Advanced;
- interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ; - USB interface (from the English “Universal Serial Bus” or “Universal Serial Bus” in French);
- interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français). - HDMI interface (from the English “High Definition Multimedia Interface”).
[0154] Selon un exemple de réalisation particulier et non limitatif, le dispositif 103 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage 1033, tactile ou non, un ou des haut-parleurs 1034 et/ou d’autres périphériques 3601034 (système de projection par exemple) via respectivement des interfaces de sortie 1036, 1037, 1038. Selon une variante, l’un ou l’autre des dispositifs externes est intégré au dispositif 103. [0154] According to a particular and non-limiting exemplary embodiment, the device 103 can provide output signals to one or more external devices, such as a display screen 1033, touch-sensitive or not, one or more speakers 1034 and/or other peripherals 3601034 (projection system for example) via output interfaces 1036, 1037, 1038 respectively. According to a variant, one or other of the external devices is integrated into the device 103.
[0155] Bien entendu, la présente invention ne se limite pas aux exemples de réalisation décrits ci-avant mais s’étend à un procédé de d’obtention d’une représentation numérique d’une chevelure d’une personne physique qui inclurait des étapes secondaires sans pour cela sortir de la portée de la présente invention. Il en serait de même d’un système configuré pour la mise en œuvre d’un tel procédé. [0155] Of course, the present invention is not limited to the exemplary embodiments described above but extends to a method for obtaining a digital representation of a head of hair of a natural person which would include secondary steps without thereby departing from the scope of the present invention. The same would apply to a system configured for the implementation of such a method.
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2312918A FR3155937A1 (en) | 2023-11-23 | 2023-11-23 | Method for obtaining a digital representation of a natural person's hair |
| FRFR2312918 | 2023-11-23 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025109195A1 true WO2025109195A1 (en) | 2025-05-30 |
Family
ID=89833968
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2024/083343 Pending WO2025109195A1 (en) | 2023-11-23 | 2024-11-22 | Method for obtaining a digital representation of a head of hair of a physical person |
Country Status (2)
| Country | Link |
|---|---|
| FR (1) | FR3155937A1 (en) |
| WO (1) | WO2025109195A1 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2301334A1 (en) | 1975-02-19 | 1976-09-17 | Mermillod Jean | Fabric covered disc for polishing semiconductor plaques - has parallel line gaps in adhesive liberating air bubbles |
| US20050162419A1 (en) * | 2002-03-26 | 2005-07-28 | Kim So W. | System and method for 3-dimension simulation of glasses |
| US20190035149A1 (en) * | 2015-08-14 | 2019-01-31 | Metail Limited | Methods of generating personalized 3d head models or 3d body models |
| CN113744286A (en) * | 2021-09-14 | 2021-12-03 | Oppo广东移动通信有限公司 | Virtual hair generation method and device, computer readable medium and electronic equipment |
-
2023
- 2023-11-23 FR FR2312918A patent/FR3155937A1/en active Pending
-
2024
- 2024-11-22 WO PCT/EP2024/083343 patent/WO2025109195A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2301334A1 (en) | 1975-02-19 | 1976-09-17 | Mermillod Jean | Fabric covered disc for polishing semiconductor plaques - has parallel line gaps in adhesive liberating air bubbles |
| US20050162419A1 (en) * | 2002-03-26 | 2005-07-28 | Kim So W. | System and method for 3-dimension simulation of glasses |
| US20190035149A1 (en) * | 2015-08-14 | 2019-01-31 | Metail Limited | Methods of generating personalized 3d head models or 3d body models |
| CN113744286A (en) * | 2021-09-14 | 2021-12-03 | Oppo广东移动通信有限公司 | Virtual hair generation method and device, computer readable medium and electronic equipment |
Non-Patent Citations (6)
| Title |
|---|
| ANDREW G HOWARDMENGLONG ZHUBO CHENDMITRY KALENICHENKOWEIJUN WANGTOBIAS WEYANDMARCO ANDREETTOHARTWIG ADAM: "Mobilenets: Efficient convolutional neural networks for mobile vision applications", ARXIV:1704.04861, 2017 |
| AYUSH TEWARIMICHAEL ZOLLΔFERHYEONGWOO KIMPABLO GARRIDOFLORIAN BERNARDPATRICK PEREZTHEOBALT CHRISTIAN: "MoFA: Model-based Deep Convolutional Face Autoencoder for Unsupervised Monocular Reconstruction", THE IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV, 2017 |
| LI, T.BOLKART, T.BLACK, M.LI, H.ROMERO, J: "Learning a Model of Facial Shape and Expression from 4D Scans", ACM TRANS. GRAPH., vol. 36, 2017, XP058473791, Retrieved from the Internet <URL:https://arxiv.org/abs/2004.02147> DOI: 10.1145/3130800.3130813 |
| SHU LIANG ET AL: "Video to Fully Automatic 3D Hair Model", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 13 September 2018 (2018-09-13), XP080916802 * |
| XU SHIHUI ET AL: "Augmented Reality Fashion Show Using Personalized 3D Human Models", 10 July 2020, TOPICS IN CRYPTOLOGY - CT-RSA 2020 : THE CRYPTOGRAPHERS' TRACK AT THE RSA CONFERENCE 2020, SAN FRANCISCO, CA, USA, FEBRUARY 24-28, 2020, SPRINGER, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, PAGE(S) 435 - 450, XP047554970 * |
| ZIWEI LIUPING LUOXIAOGANG WANGXIAOOU TANG, LARGE-SCALE CELEBFACES ATTRIBUTES (CELEBA) DATASET, 2018 |
Also Published As
| Publication number | Publication date |
|---|---|
| FR3155937A1 (en) | 2025-05-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12026892B2 (en) | Figure-ground neural radiance fields for three-dimensional object category modelling | |
| Tran et al. | Towards high-fidelity nonlinear 3D face morphable model | |
| EP3707676B1 (en) | Method for estimating the installation of a camera in the reference frame of a three-dimensional scene, device, augmented reality system and associated computer program | |
| US8692830B2 (en) | Automatic avatar creation | |
| US20200027198A1 (en) | Kernel-predicting convolutional neural networks for denoising | |
| WO2021027759A1 (en) | Facial image processing | |
| US11521299B2 (en) | Retouching digital images utilizing separate deep-learning neural networks | |
| US20240212106A1 (en) | Photo Relighting and Background Replacement Based on Machine Learning Models | |
| JP2022527818A (en) | Methods and systems for estimating geometric variables related to the user's eye | |
| WO2021245273A1 (en) | Method and device for three-dimensional reconstruction of a face with toothed portion from a single image | |
| EP4334829A1 (en) | Landmark detection using deep neural network with multi-frequency self-attention | |
| Rainer et al. | Neural shading fields for efficient facial inverse rendering | |
| USRE50538E1 (en) | Automatic avatar creation | |
| US12118647B2 (en) | Generating colorized digital images utilizing a re-colorization neural network with local hints | |
| US12354245B2 (en) | Hybrid two-dimensional and three-dimensional denoiser | |
| WO2025109195A1 (en) | Method for obtaining a digital representation of a head of hair of a physical person | |
| Khan et al. | Towards monocular neural facial depth estimation: Past, present, and future | |
| CN118657884A (en) | Image processing method, device, computer equipment, readable storage medium and program product | |
| EP3918576A1 (en) | Dynamic three-dimensional imaging method | |
| CN114782240B (en) | Picture processing method and device | |
| CN119631109A (en) | Facial texture synthesis for 3D morphable models | |
| EP4666252A1 (en) | Method for communicating data on a system for virtually trying on an accessory by a digitally represented living being | |
| US20250157148A1 (en) | Textured mesh reconstruction from multi-view images | |
| US20250191288A1 (en) | Incremental surface completion | |
| US12340466B2 (en) | Multiresolution neural networks for 3D reconstruction |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24812785 Country of ref document: EP Kind code of ref document: A1 |