Method for identifying or authenticating a user of a virtual-reality or mixed-reality system
Patent Information
- Application Number
- EP2023828184
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-12-21
- Filing Date
- 2023-12-14
- Publication Date
- 2025-10-29
AI Technical Summary
Current methods for user authentication in virtual or mixed reality systems are restrictive, difficult to replicate, and lack sufficient identification capacity, particularly in VR environments where traditional biometrics like iris recognition are not feasible, and gestures are non-identifying or hard to record for non-repudiation purposes.
A method involving a server-connected biometric classification system that processes data from three-dimensional graphic objects drawn by users in immersive VR spaces using a classification model trained on reference data, allowing for unique and context-specific authentication through the drawing of personalized three-dimensional signatures.
This method provides a secure, easy-to-use, and difficult-to-imitate authentication mechanism compatible with most VR headsets, capable of capturing unique user consent and facilitating non-repudiation, without requiring additional sensors or smartphones.
Smart Images

Figure 1.1
Abstract
Description
[0001]Description Title of the invention: Method for identifying or authenticating a user of a virtual or mixed reality system. GENERAL TECHNICAL FIELD The present invention relates to the field of virtual or mixed reality. More specifically, it relates to a method for authenticating or identifying a user of a virtual or mixed reality system. STATE OF THE ART Artificially generated environments by computers are known that can be perceived in virtual reality (or mixed reality, i.e. coexisting with the real world) and in particular the "metaverse" which would be a persistent, shared virtual world, and presented as the future of the internet. To interact in such a universe, a user uses a virtual reality (VR) headset, or where appropriate mixed reality (MR). This type of headset typically works by pairing with two controllers (or joysticks), held in each hand by the user. A controller is used firstly tointeractivity: it acts as a pointing device, and also exposes different mechanical buttons, each assignable to a specific interactivity function, depending on the choice of the VR application. This type of headset and the controllers are also equipped with motion sensors (typically accelerometers), dedicated to tracking vision, tracking hands and managing the physical movement area. In some models, the user can alternatively do without the controllers, and use their hands free to interact with the application (we then have, for example, fixed external cameras that observe their hands). In these environments, it is sometimes necessary to obtain proof of consent from the user, and to do this to verify their identity, for example for transaction validation, and in particular payment (if the user buys an object, real or virtual, in the metaverse). We can use classic techniques such asa PIN code or a password, for example via a paired smartphone, but it is necessary to remove and then replace the headset, which is restrictive. Biometric authentication factors (voice, iris, fingerprint) could expand these mechanisms in the more or less near future, but they require dedicated acquisition means (for example a fingerprint scanner on the controller), and there is no known implementation. It is noted that the headsets have eye sensors, but they are limited to the simple function of eye tracking and they are far from having the performance that would allow iris recognition. Alternatively, a natural way to obtain the user's consent in the virtual space is to ask them to perform a particular gesture. The method is all the more interesting if each user has a characteristic way of performing this gesture (what is called an "identifying" gesture). But in the first placeanalysis, all types of usable gestures have weaknesses: ^ eye gesture (blinking) or facial expression: non-identifying, can be triggered inadvertently, and sensor not yet mainstream ^ static hand pose: non-identifying – and requires releasing the controllers ^ controller or hand gesture: still not very identifying, not really recoverable at the application level, and difficult to perform regularly unless it is basic. Another problem common to all these methods: the difficulty or impossibility of recording the gesture, for non-repudiation purposes. It would be desirable to have a solution for authenticating a user in the VR space, with the following properties: ^ compatible with most VR headsets, connected or autonomous, without the need for a specific VR sensor ^ not requiring the additional use of the user's smartphone ^ having a user identification capacity (among N)sufficient ^ being easy to reproduce and memorize by the user ^ being difficult to imitate by another user ^ being difficult to generate and imitate programmatically ^ not being able to be replayed, and specifically capturing the unique context of consent ^ recordable, in particular for non-repudiation purposes. PRESENTATION OF THE INVENTION The present invention therefore relates, according to a first aspect, to a method for identifying or authenticating a user of a virtual or mixed reality system comprising means for displaying an immersive space and means for detecting movement in said immersive space of a virtual drawing device, the method being characterized in that it comprises the implementation by data processing means of a first server connected to said system of steps of: (a) Obtaining from said system data representative of a candidate three-dimensional graphic object drawn by said user insaid immersive space with said virtual drawing device; (b) Biometric classification of said data representative of a candidate three-dimensional graphic object drawn by said user in said immersive space with said virtual drawing device, by means of a classification model trained on a learning base of data representative of reference three-dimensional graphic objects. According to advantageous and non-limiting characteristics: Said method is a method of authenticating the user, said biometric classification of step (b) being a binary classification and said data of the learning base being representative of the same expected three-dimensional graphic object drawn several times by said user in said immersive space with said virtual drawing device. Step (a) comprises a sub-step (a2) of sending to said system an invitation to draw said graphic objectthree-dimensional graphic object candidate in said immersive space. Said invitation comprises a first contextual parameter that said candidate graphic object must present, step (b) further comprising verifying that said candidate three-dimensional graphic object drawn by said user does indeed present said first contextual parameter. The method comprises a step (c) of implementing or not implementing a transaction initiated by said user in said immersive space depending on the result of step (b). Step (a) comprises a sub-step (a1) of receiving a request for validation of said transaction, in response to which said invitation to draw said candidate three-dimensional graphic object in said immersive space is issued. Step (b) further comprises verifying that said candidate three-dimensional graphic object drawn by said user presents a second contextual parameter linked to said transaction. The three-dimensional graphic object consists ofof a set of elementary lines each corresponding to a continuous movement of said virtual drawing device in said immersive space. Each elementary line is a strip of polygons, said data representative of the candidate three-dimensional graphic object drawn by said user being one or more vectors of values defining, for each line of said set of elementary lines, the polygons of the strip, forming said line. Each strip has an inclination depending on the orientation presented by said virtual drawing device in said immersive space during said continuous movement. Said classification model is a neural network. The method comprises a prior step (a0) of learning, by data processing means of a second server, said classification model from said learning base of reference vectors of data representative of reference three-dimensional graphic objects. According to asecond aspect, the invention relates to a server for identifying or authenticating a user of a virtual or mixed reality system connected to said server, the server being characterized in that it comprises data processing means configured to: - Obtain from said system data representative of a candidate three-dimensional graphic object drawn by said user in an immersive space with a virtual drawing device, the system comprising means for displaying said immersive space and means for detecting movement in said immersive space of said virtual drawing device; - Implement a biometric classification of said data representative of a candidate three-dimensional graphic object drawn by said user in said immersive space with said virtual drawing device, by means of a classification model trained on a learning base of data representative of graphic objectsthree-dimensional reference systems. According to a third aspect, the invention relates to a system comprising a server according to the second aspect and at least one virtual or mixed reality system comprising means for displaying said immersive space and means for detecting movement in said immersive space of said virtual tracing device. According to a fourth and a fifth aspect, the invention relates to a computer program product comprising code instructions for executing a method according to the first aspect of identifying or authenticating a user of a virtual or mixed reality system; and a storage means readable by computer equipment on which is recorded a computer program product comprising code instructions for executing a method according to the first aspect of identifying or authenticating a user of a virtual or mixed reality system. PRESENTATION OF THE FIGURES Otherscharacteristics and advantages of the present invention will become apparent upon reading the following description of a preferred embodiment. This description will be given with reference to the appended drawings in which: [Fig. 1]Figure 1 is a diagram of a system for implementing the method according to the invention; [Fig. 2]Figure 2 represents an example of rendering of a 3D signature used in an embodiment of the method according to the invention; [Fig. 3a]Figure 3a represents a detail of a three-dimensional graphic object whose features are represented by polygon ribbons. [Fig. 3b]Figure 3b represents a detail of a three-dimensional graphic object whose features are represented by tubular-type volumes. [Fig. 3c]Figure 3c represents a detail of a three-dimensional graphic object whose features are represented by voxel-type volumes. [Fig. 3d]Figure 3d represents a detail of a three-dimensional graphic object whose features arerepresented by point cloud type volumes. [Fig. 4]Figure 4 is a flowchart illustrating the steps of an embodiment of the method according to the invention. [Fig. 5]Figure 5 schematically represents an example of a fragment of a polygon ribbon forming an elementary line. DETAILED DESCRIPTION Architecture The present invention relates to a method for identifying or authenticating a user of a virtual or mixed reality system 1 as represented in Figure 1, in particular for implementing a transaction in an immersive space to which the system 1 provides access. Said system 1 comprises display means 12 for said immersive space (i.e. with which the user can interact, and in which he is "immersed"), typically a headset, and means for detecting the movement in said immersive space of a virtual tracing device 14a, 14b, generally controllers (or joysticks) held by the hands and providedaccelerometers and / or gyrometers, or alternatively fixed external cameras observing the hands. By "virtual drawing device" is meant an interactivity element "handled" by the user in said immersive space (thus displayed by the display means 12 within the immersive space), and by means of which he can draw by simulating an inking device. The virtual drawing device has a position and an orientation entirely determined by those of the hand and fingers, the user can therefore freely move it, orient it and actuate it in the immersive space with his hands, so that said means for detecting the movement in said immersive space of said virtual drawing device can be any means for detecting the (physical) movement of the hands and fingers of the user. In the case of physical controllers 14a, 14b, the virtual drawing device can be the representation of one of the two controllers (arbitrarily thecontroller 14a) in said immersive space: this controller acts as a pointing device, and also exposes different mechanical buttons, each assignable to a specific interactivity function, depending on the application context. Note that the virtual drawing device can take on many appearances (and not only exactly that of the controller 14a), for example that of a “realistic” object such as a spray can or a gun. Note that certain drawing applications in the immersive space also offer the user the possibility of customizing the virtual drawing device (for example, button configuration) so as to optimally adapt to their needs. It will be understood that we are not content with “drawing with the hands”, which is too simplistic for the present invention, which involves a virtual drawing device so as to allow, as we will see, the interruption / resumption of drawing, the orientation of the line, thepossibility of applying patterns, etc. (typically functionalities controlled with some of the fingers such as button presses) Furthermore, even in the absence of a physical controller (means 14a, 14b consisting for example of a camera observing the user's hands), it is still possible to have a virtual tracing device held by the user in the immersive space (with, where appropriate, virtual button presses with finger movements). The various equipment of the system 1 (for example headset and controllers) are interconnected wirelessly or wirelessly (for example via Bluetooth). Said "reality" is either: - virtual, that is to say that said immersive space is completely artificial, or - mixed, that is to say only partially virtual, and said immersive space superimposes a real environment and a virtual environment. A mixed reality system 1 generally comprises, in addition to the display means 12, a camera filming thereal world continuously, the rendering of the display means 12 including in this “real” flow virtual elements. In the remainder of this description, the example of virtual reality, abbreviated “VR”, will be taken for convenience, but those skilled in the art will be able to transpose the environment to mixed reality (MR). In a known manner, in all cases, the display means 12 are coupled with the movements of the user’s eyes so that the display of the immersive environment evolves according to these movements so as to simulate reality. To do this, the system 2 generally comprises means for detecting the movement of the user’s head 13, for example again accelerometers or cameras either external observing the head, or attached to the headset and observing the environment. The system 1 further comprises data processing means 11 such as a processor, implementing applications in said immersive space. For example, in a game ofshooting, the interactivity controller simulates a weapon and pressing a button corresponds to a triggering of the weapon. System 1 preferably implements a drawing application in the immersive space, such as many already exist (for example, OpenBrush, an open source fork of Google's Tilt Brush application). These applications allow the user to draw, paint or model 3D content (i.e., three-dimensional graphic objects) directly in the immersive VR space. The typical configuration of these applications is: ^ a controller 14b (for example, the left one) presents the user with a selection of tools, palette, colors, etc. ^ a controller 14a (for example, the right one) acts as a virtual drawing device (pencil, pen, brush, etc.), which, upon pressing a button, ejects virtual "ink" remaining suspended in the immersive space. The present method is implemented by a first server 2a which can beconfused with the system 1, or remote and connected by a network 20 such as the internet network. Advantageously, there is a second server 2b (which is a learning device as we will see), typically remote (i.e. in the network 20), but which can be confused with the first server 2a. Each server 2a, 2b also has data processing means 21a, 21b (typically a processor) and data storage means 22a, 22b (a memory, for example a hard disk). As we will see, the data processing means 22b of the second server 2b can store a learning database. For the sake of simplification, the learning database is called "learning base" in the remainder of this description. Principle The present method aims at the biometric classification of a user of the terminal 1 (and in particular his identification or authentication) by drawing a three-dimensional graphic objectby said user with in said immersive space with a virtual tracing device, alternatively for example to known techniques such as gesture recognition or code entry. Said three-dimensional graphic object is typically a signature of the user, traced at arm's length, see figure 2, although this could be any drawing or symbol as long as it is personal and difficult to reproduce. This solution can be seen as biometric, insofar as biometrics brings together all the computer techniques allowing an individual to be automatically recognized from their physical, biological, but also behavioral characteristics, which includes the tracing of a signature. And it should be noted that a signature in VR is much more difficult to imitate (by another person) than a paper signature due to the following singularities: ^ General 3D curvature: due to the amplitude of the tracing and a tracing at arm's lengthrelatively fixed, the resulting distribution of the signature is not a plane, but a slightly curved 3D space ^ 3D depth of details: parts of the same stroke are frequently found on a new, slightly different depth plane, even if the user's intention was for the stroke to remain in the same plane, for example when drawing a loop ^ Velocity of the "brush": the amplitude of the gesture in space makes the variation in stroke velocity (accelerations and slowdowns) rather marked ^ Orientation and inclination of the "brush": if we define a "thickness" of the brush the resulting stroke is not a thread but a "ribbon" whose each portion is perpendicular to the position and orientation of the controller ^ Start and end: the way the user starts and ends his stroke (by pressing and releasing the controller button) produces small hooks that can be characteristic of the user ^ Drawing order: the orderchronological order of the drawn lines, and the direction of each line is a strong singularity not always easy to identify in a 2D signature, and easy to recover in a VR signature As explained, said biometric classification is advantageously chosen from an identification (1:N verification) or an authentication (1:1 verification) of the user, very preferably an authentication, in particular to obtain the consent of the user in said immersive space (i.e. verification). The method can be implemented at any time where the identity of the person using the system 1 may need to be determined / verified. The case in point is a transaction validation (if the user buys an object, real or virtual, in the immersive space). Method With reference to Figure 4, the present method is implemented by the data processing means 21 of the first server 2a, and begins with a step (a) of obtaining from said system 1data representative of a candidate three-dimensional graphic object drawn by said user with the virtual drawing device in said immersive space. We speak of a “candidate” graphic object as being the one drawn directly by the user and on the basis of which we will attempt identification / authentication, as opposed to “reference” graphic objects, in practice those of the learning base. As such, step (a) preferably comprises a sub-step noted (a4) of encoding said candidate three-dimensional graphic object, that is to say the generation of said data representative of this three-dimensional graphic object from raw data acquired and provided by the system 1, i.e. the 3D scene (in particular from the user’s point of view, i.e. in the reference system of the display means 12). Indeed, said representative data must constitute a relevant digital representation that can be understood by an AI model. Notethat this encoding can be carried out directly by the system 1 or by the server 2a. Step (a) preferably comprises the acquisition (a3), by the system 1, of said raw data, while the user draws said candidate three-dimensional graphic object. According to a preferred embodiment, said three-dimensional graphic object is made up of a set of elementary lines, or “traces” i.e. continuous lines, each corresponding to a “brushstroke”. Each elementary line corresponds to a continuous movement of the virtual drawing device in said immersive space, and thus has a start (corresponding to the point in space where the user “placed” the brush) and an end (corresponding to the point in space where the user “lifted” the brush). Typically, the user begins a line by pressing a button on the virtual drawing device (in particular a physical button of a controller 14a forming a motion detection device), and finishes itby releasing this button. The movement of the controller is acquired between the two, and the stroke is rendered and displayed in the immersive space. The user can move his controller between two successive strokes, or even change controllers if the configuration of the controllers allows it (but each stroke is drawn with a single controller). Each stroke can be seen as a 1D curve (thickness "zero"), or advantageously as a "ribbon" ie a 2D structure, preferably a ribbon of successive polygons, in particular quadrilaterals of constant width, as seen in Figure 3a. The graphic object is therefore made up of a set of ribbons of polygons, each ribbon forming an elementary stroke of the three-dimensional graphic object. Said raw data of the three-dimensional graphic object then correspond to a "mesh" which can be rendered in the immersive space (in particular via a 'wireframe' shader) and displayed by the display means 12. Indeed, wenote that the virtual plotting device has, in addition to a position in space, an orientation, and the idea is to capture this orientation via the inclination of the ribbon to further improve the identifying character of a 3D signature. In other words, each ribbon has an inclination depending on the orientation presented by said plotting device handled by the user in said immersive space during said continuous movement (advantageously an inclination orthogonal to said orientation presented by said plotting device in said immersive space during said continuous movement) In mathematical terms, one can record at regular intervals the position (x(t), y(t), z(t)) of the plotting device in an orthonormal reference frame of the immersive space and its attitude (θ(t), φ(t), ψ(t)), i.e. the orientation of a frame of the plotting device with respect to said reference frame. Typically, in the case of controllers, these six coordinates can be directlyprovided by inertial measurement means, or recalculated during events. We note, for a line, (xi, yi, zi) = (x(t), y(t), z(t)) and (θi, φi, ψi) = (θ(t), φ(t), ψ(t)) for t = ti an acquisition instant with dt = ti + 1 - ti the constant time step between two successive acquisitions. In a known manner, we can calculate at each instant ti from (θi, φi, ψi) a vector (ui, vi, wi) of predetermined norm L advantageously orthogonal to the "inking" direction (it is just a matter of knowing the fixed inking direction in the frame of reference of the tracing device, for example that of the index, and of applying a rotation matrix). The i-th polygon of the ribbon can then be defined as having as vertices the following coordinate points, see Figure 5, which also represents a controller 14a and the inking direction: (xi+0.5*ui, yi+0.5*vi, zi+0.5*wi). (xi+1+0.5*ui+1, yi+1+0.5*vi+1, zi+1+0.5*wi+1) (xi+1-0.5*ui+1, yi+1-0.5*vi+1, zi+1-0.5*wi+1) (xi-0.5*ui, yi-0.5*vi,zi-0.5*wi). We can clearly see that: - two consecutive polygons i and i+1 have a common side, - the length of a polygon (distance between (xi, yi, zi) and (xi+1, yi+1, zi+1)) represents the “velocity” of the plotting part of the plotting device, since the acquisitions are at constant time steps - the ribbon is of constant width since we verify ||(xi+0.5*ui, yi+0.5*vi, zi+0.5*wi)-(xi-0.5*ui+1, yi-0.5*vi+1, zi-0.5*wi+1)|| = ||(ui, vi, wi)|| = ||(xi+1+0.5*ui+1, yi+1+0.5*vi+1, zi+1+0.5*wi+1)-(xi+1-0.5*ui+1, yi+1-0.5*vi+1, zi+1-0.5*wi+1)|| = ||(ui+1, vi+1, wi+1)|| = L. However, we will not be limited to this particular mathematical modeling, and any solution allowing each line to be represented by a strip of polygons substantially expressing the position and orientation of the plotting device during the plotting can be used. According to yet another embodiment, represented by figures 3b, 3c and 3d, the lines can alternatively be definedas a 3D structure, for example cylindrical (case of figure 3b). Each "polygon ribbon" is replaced by a "volumic line" (resembling what comes out of a tube of paint), of section for example circular or prismatic. The diameter of the section can be fixed (like the width in the case of ribbons), but alternatively the diameter of the section is variable, depending on the velocity (calculated for example as previously as the distance between two successive positions (xi, yi, zi) and (xi+1, yi+1, zi+1)), which means that thin line = fast velocity, and thick line = slow velocity. In the case of figure 3c, the lines are represented as sets of voxels, and in figure 3d, as point clouds. Note that this embodiment no longer expresses the orientation of the plotting device, but it makes it possible to immediately make the plotting speed visible and it proves to be very effective for classification, see below. In allcase, the geometry of the graphic object can then (still in step (a) – between acquisition (a3) and encoding (a4)) be normalized, for example: - scaling (proportional), such that the largest dimension of its Bounding Box (Width or Height or Depth) is reduced to 1 unit (for example 1 meter). - possible rotation. Starting from the raw data (the mesh, i.e. the spatial coordinates of all the polygons of all the lines), we can then encode them as explained in sub-step (a4). According to a first basic mode, the complete volume of the three-dimensional graphic object is reconstructed, and said data representative of said three-dimensional graphic object are then for example a 3D matrix, i.e. a “block” of voxels (typically in the case of a volume representation of the type in figure 3c) or the coordinates of a point cloud (typically in the case of a volume representation of the type in figure 3d). According to a secondembodiment, said three-dimensional graphic object is imported into a 3D scene, and said data representative of said three-dimensional graphic object are a plurality of 2D matrices corresponding to a plurality of frames (i.e. images) produced by renderings of the three-dimensional graphic object from several viewing angles, or several “sections” in the thickness of the three-dimensional graphic object (for example along the optical axis of the display means 12). The encoding can be carried out by carrying out several renderings from predefined positions. In the first or second mode, the order of drawing of the lines can be represented by a color: with reference to the notion of hue specific to HSV or HSL color spaces, each ribbon polygon / section of a volumetric line could take a color linearly depending on its drawing order: - First polygon / section drawn: Hue = 0° - Last polygon / section drawn:Hue = 359°. As we will see, the first and second modes have the advantage of being able to use existing 2D / 3D vision classification models as they are. According to a third, preferred mode, the three-dimensional graphic object is directly represented by one or more vectors defining the volumetric ribbons / lines, i.e. said descriptive data of the candidate three-dimensional graphic object are at least one vector defining the polygon ribbons / sections forming the lines. This third mode is much lighter, since the most discriminating information is extracted directly, instead of implementing the algorithm on a complete 2D / 3D image (which will contain a lot of useless information). According to a preferred mode for ribbons: - For each line, we can note: o The line number (chronological, among the other lines) - For each polygon of a line we can note: o The line number of the line to which it belongs o The numberof the polygon's drawing o The absolute chronological number, so that the similarity between a strongly linked signature (fewer lines or even a single line) and a less linked signature (= more lines) from the same author can be compared o The XYZ position of the central point of the polygon (vector) o Its velocity (vector, difference between the central point of the following polygon and the central point of this polygon) o Its orientation (vector, normal to the polygon) Those skilled in the art will be able to transpose this approach to volumetric lines by taking the same values applied to the centers of the sections, without however the value of the inclination. Whatever their choice, for convenience we can call "candidate" representative data the data representative of the candidate three-dimensional graphic object drawn by the user. In a following step (b), the processing means 21a of the first server 2a authenticate or identify said user according to said candidate data, atby means of a classification model trained on a learning base of reference vectors of data representative of three-dimensional graphical reference objects. The model takes as input said candidate data (matrices, vector(s)) and returns a class, which can be either an identifier of an identity of the user (among several possible identities) or directly a boolean indicating whether the user is the expected user. Indeed, the determination of the identity of the person drawing can be seen as a classification of said candidate data which represents it among a plurality of possible classes, each identity being a possible class among a plurality of possible classes (N classes) corresponding to various possible identities. Alternatively, said classification model can be binary and simply return a boolean indicating whether said candidate data are correct (i.e. correspond to the user) forauthentication. Here there is no determination of the user's identity, strictly speaking, just a verification that his 3D signature (the three-dimensional graphic object) corresponds to the expected one. To reformulate further, in the case of authentication, the classification model determines whether or not said candidate three-dimensional graphic object coincides with an expected reference three-dimensional graphic object. Thus, as explained, we can have said learning base comprising a set of data representative of reference three-dimensional graphic objects, in particular said data of the learning base being representative of the same expected three-dimensional graphic object drawn several times by said user with a virtual drawing device in said immersive space (see the enrollment aspect below), said base being for example stored by a memory 22b of the second server 2a. Note that a handful of datalearning (i.e. drawing of the expected three-dimensional graphic object), in particular of the order of five, are sufficient in the case of a signature in the form of lines in polygon ribbons to have sufficient robustness. It is thus possible to have a preliminary step (a0) of learning (or training) of said classification model on the learning basis, in particular implemented by the processing means 21b of the second server 2b, the model then being loaded onto the first server 2a. It is recalled that the second server 2b can be confused with the first server 2a. The classification model may conform to any known machine learning model, and in particular learned using any suitable algorithm. In a particularly preferred manner, said classification model is a neural network, in particular: - In the case of descriptive data defining lines in polygon ribbons (third modeembodiment), the neural network can be of the forward propagation type, FNN (Feedforward Neural Network); - In the case of descriptive data in the form of a plurality of 2D images (second embodiment) the neural network can be any network adapted to artificial vision, for example the Multiview network, MVCNN (http: / / vis- www.cs.umass.edu / mvcnn / ), either duplicated as many times as there are images, or using the different images as a multi-channel input - In the case of descriptive data in the form of a 3D volume (first embodiment) the neural network can be any network adapted to 3D vision, for example the Point-Voxel network, PVCNN - In the case of descriptive data defining volumetric features, the neural network can be of the “point cloud” type, in particular PointNet (http: / / stanford.edu / ~rqi / pointnet / ). In the case of a neural network, learning concerns in particular the parameters of the networkneurons. Transaction & consent Preferably, the method is part of a transaction validation context, and more precisely the user's consent to the implementation of said transaction. It then advantageously comprises a step (c) of implementing or not a transaction initiated by said user in said immersive space depending on the result of step (b), i.e. the result of the biometric classification (in particular authentication) of said user. In other words, if the user has drawn the expected three-dimensional graphic object (which means that he has indeed given his consent), the result of the classification is positive and the transaction is implemented. Conversely, if the result of the classification is negative, it is because either the user has not finally given his consent (system 1 may have mistakenly believed, following poor manipulation by the user, that the latter wishimplement a transaction) or that a third party has attempted to usurp his identity (and therefore that the user in the first place never gave his consent), and the transaction is not implemented. We will understand "transaction" in the broad sense, that is to say possibly payment but also signing of a contract, transfers of rights, etc. Preferably, step (a) comprises a sub-step (a2) of sending to said system 1 an invitation to draw said candidate three-dimensional graphic object. It is understood that this invitation is addressed to the user and is displayed (in any form) by the means 12. This invitation can be sent in response to a sub-step (a1) of receiving a request for validation of said transaction, received from the system 1 or another server, in particular a transaction server (which can in turn be confused with the first server 2a). Typically: - The user wishes to make a transaction inthe immersive space, and performs an associated action (such as taking a virtual object) - The system 1 communicates with a remote transaction server, indicating to it that the user wishes to implement a transaction; - The transaction server sends to the first server 2a a request to validate the transaction, to ensure that the user gives his consent (sub-step (a1)); - In response, the first server 2a sends to the system 1 the invitation to draw said candidate three-dimensional graphic object in said immersive space (sub-step (a2)). It is understood that in particular this invitation is interpreted by the system to be understood by the user, for example by displaying a text in the immersive space (“please validate the transaction by drawing your signature”) but also with an audio message, etc. - The user draws using a conventional drawing application, and the system 1 acquires theraw data of the drawn three-dimensional graphic object, called candidate (sub-step (a3)); - The system 1 and / or the first server 2a encodes said three-dimensional graphic object (sub-step (a4)), i.e. generates said data representative of said candidate three-dimensional graphic object from the acquired raw data; - The first server 2a can then implement the biometric classification of these data representative of said candidate three-dimensional graphic object, so as to ensure that said candidate three-dimensional graphic object coincides with an expected reference three-dimensional graphic object (step (b)); - The transaction is validated if the result of the biometric classification of the data representative of said candidate three-dimensional graphic object is that said candidate three-dimensional graphic object coincides with the expected reference three-dimensional graphic object (step (c)), and the server 2a can notify the possible servertransaction for the latter to implement the transaction. According to a particularly preferred embodiment, said invitation comprises a first contextual parameter that must be presented by said candidate graphic object, step (b) further comprising the verification that said candidate three-dimensional graphic object drawn by said user does indeed present said first contextual parameter. The idea is to set up a “challenge / response” mode to ensure, for example, that the three-dimensional graphic object is not pre-recorded, and to improve security, by imposing a condition on the drawing via said contextual parameter. The invitation, as presented to the user, requires the user to manually apply this contextual parameter (for example “please validate the transaction by drawing your signature IN BLUE”), for example with the other controller 14b, which further guarantees his consent. The contextual parameter canadvantageously be generated by a function derived from the transaction context information. This context information is for example: an amount, a product, the current date, the user's identity, etc. Among the possible methods of generating a contextual parameter: - a random number can be generated, and this random number is first injected into the context of the act, and secondly used to generate the contextual parameter. - a hash can be generated from the context information, and this hash can be used to generate the contextual parameter. The contextual parameter is thus advantageously an invisible and fragile digital watermark / tattoo buried in the 3D geometry of the path, for example by imperceptibly altering the last decimals of the 3D coordinates of the points (in English "vertices") of the path. This method of representing the contextual parameter protects against the replay of a past signature, replayed as is orslightly modified, see the document A fragile watermarking scheme for 3D meshes, Hao-Tian Wu, Yiu-Ming Cheung. As an alternative or in addition to the previous method, the contextual parameter is represented by a texture and / or a color of one or more lines of the candidate graphic object, we note that this is easily selectable in all VR drawing applications. For example, we can: - require an alternation of colors on the lines (1 e yellow line, 2 e in blue, 3 ein red, and we start again), whose order and the different RGB colors of the lines are generated by a function derived from the information of the context of the act - Require a texture made up of a few colored threads, tangled or not, whose order (from one edge to the other) and the RGB color of each thread are generated by a function derived from the information of the context of the act. Alternatively or in addition, step (b) further comprises the verification that said candidate three-dimensional graphic object drawn by said user has a second contextual parameter linked to said transaction. In contrast to the first contextual parameter, the possible second contextual parameter is not requested from the user in the invitation, and is inherent to said candidate three-dimensional graphic object. Moreover, it is necessarily linked to said transaction, whereas the first contextual parameter could be totally random.The objective here is the consolidation of non-repudiation. The second contextual parameter is thus advantageously a background of the candidate graphical object, setting the context of the consent (VR store counter, seller avatar, etc.) The result of step (b) (as used in step (c)) is dependent on said verification that said candidate three-dimensional graphical object drawn by said user indeed presents said first and / or second contextual parameter. In the first and second embodiments, which classify the entire 3D volume or 2D views, any contextual parameter is visible and directly verified by the implementation of the classification model.In the case where said data representative of said candidate three-dimensional graphic object are simplified (for example representation as a polygon ribbon), it is possible to add to these data for example a 2D image (no need for several images as in the second embodiment) which will be verified by an algorithm dedicated to step (b) (identification of the color and / or texture of the line, and / or of a characteristic element of the background (such as a logo) and comparison with what was expected). Enrollment The learning step (a0), i.e. obtaining the classification model, may comprise an enrollment phase to generate said data representative of a reference three-dimensional graphic object, for the learning base.In particular, as explained, in the context of authentication, we need data representative of the same expected three-dimensional graphic object drawn several times by said user in said immersive space with said virtual drawing device. In the context of identification, we can simply do the same thing with several users. To do this, we can have the user (or each user) draw in a controlled environment, i.e. for example after having authenticated him via another existing authentication mode (biometrics, code, use of the smartphone, etc.), and implement the same steps as in the authentication method. We thus have a step (A) of obtaining from said system 1 data representative of the same expected three-dimensional graphic object drawn several times by said user in said immersive space with said virtual drawing device, which is the counterpart of step (a).More precisely, considering that said “expected three-dimensional graphic object” is a theoretical object which is the one imagined by the user and which is in practice never exactly drawn, and defining as “reference three-dimensional graphic objects” the different occurrences of said same expected three-dimensional graphic object (which will be close but never identical), this step (A) consists of obtaining, from system 1, for each reference three-dimensional graphic object (i.e. for each time the user attempts to draw said expected three-dimensional graphic object), data representative of this reference three-dimensional graphic object drawn by said user in said immersive space with said virtual drawing device.We can have the sub-steps (A1), (A2), (A3) and (A4) homologous to the sub-steps (a1), (a2), (a3) and (a4) of step (a): (A1) reception of a request for enrollment of a three-dimensional graphic object expected from the user, for authentication. (A2) transmission to said system 1 of an invitation to draw several times an expected three-dimensional graphic object (we understand that here it is for the user to choose the expected three-dimensional graphic object). (A3) Acquisition of the raw data of each drawn reference three-dimensional graphic object; (A4) Encoding of each reference three-dimensional graphic object.In a step (B) which is the counterpart of step (b), the learning itself is carried out: adaptation of the parameters of said classification model according to the result of the biometric classification of said data representative of said same expected three-dimensional graphic object drawn by said user in said immersive space with said virtual drawing device (i.e. data representative of the various reference three-dimensional graphic objects), by means of said classification model (the model is well trained when it is capable of classifying in the same way all the data representative of the various reference three-dimensional graphic objects corresponding to the same expected three-dimensional graphic object). Server According to a second aspect, the invention relates to the first server 2a for implementing the method according to the first aspect.Thus, this first server 2a comprises, as explained, at least data processing means 21a and a memory 22a. This is typically an authentication server for an immersive space.The data processing means 21a are configured to implement steps consisting of: - Obtaining from said system 1 data representative of a candidate three-dimensional graphic object drawn by said user in an immersive space with a virtual drawing device, the system comprising means 12 for displaying said immersive space and means for detecting the movement of said virtual drawing device in the immersive space 14a, 14b; - Implementing a biometric classification of said data representative of a candidate three-dimensional graphic object drawn by said user in said immersive space with said virtual drawing device, by means of a classification model trained on a learning base of data representative of reference three-dimensional graphic objects.According to a third aspect, the invention proposes a system comprising said first server 2a, as well as at least one connected system 1 (via the network 20). Advantageously, said system also comprises the second server 2b, connected to the first server 2a still via the network 20. The second server 2b comprises data processing means 21b configured to implement the learning of said classification model from said learning base of data representative of reference three-dimensional graphic objects.Computer program product According to a fourth and a fifth aspect, the invention relates to a computer program product comprising code instructions for the execution (on the data processing means 21a of the first server 2a) of a method according to the first aspect of identification or authentication of a user of a virtual or mixed reality system 1, as well as storage means readable by computer equipment (for example the data storage means 22a of the first server 2a) on which this computer program product is found.
Claims
CLAIMS 1. Method for identifying or authenticating a user of a virtual or mixed reality system (1) comprising display means (12) for an immersive space and means for detecting the movement in said immersive space of a virtual drawing device (14a, 14b), the method being characterized in that it comprises the implementation by data processing means (21a) of a first server (2a) connected to said system (1) of steps of: (a) Obtaining from said system (1) data representative of a candidate three-dimensional graphic object drawn by said user in said immersive space with said virtual drawing device; (b) Biometric classification of said data representative of a candidate three-dimensional graphic object drawn by said user in said immersive space with said virtual drawing device,by means of a classification model trained on a learning base of data representative of reference three-dimensional graphic objects.
2. Method according to claim 1, wherein said method is a user authentication method, said biometric classification of step (b) being a binary classification and said data of the learning base being representative of the same expected three-dimensional graphic object drawn several times by said user in said immersive space with said virtual drawing device.
3. Method according to claim 2, wherein step (a) comprises a sub-step (a2) of sending to said system (1) an invitation to draw said candidate three-dimensional graphic object in said immersive space., 4. Method according to claim 3, wherein said invitation comprises a first contextual parameter that said candidate graphical object must present, step (b) further comprising verifying that said candidate three-dimensional graphical object drawn by said user does indeed present said first contextual parameter.
5. Method according to one of claims 2 to 4, comprising a step (c) of implementing or not implementing a transaction initiated by said user in said immersive space depending on the result of step (b).
6. Method according to claims 3 and 5 in combination, wherein step (a) comprises a sub-step (a1) of receiving a request for validation of said transaction, in response to which said invitation to draw said candidate three-dimensional graphical object in said immersive space is issued. 7.Method according to one of claims 5 and 6, wherein step (b) further comprises verifying that said candidate three-dimensional graphic object drawn by said user has a second contextual parameter linked to said transaction.
8. Method according to one of claims 1 to 7, wherein said three-dimensional graphic object consists of a set of elementary lines each corresponding to a continuous movement of said virtual drawing device in said immersive space.
9. Method according to claim 8, wherein each elementary line is a strip of polygons, said data representative of the candidate three-dimensional graphic object drawn by said user being one or more vectors of values defining, for each line of said set of elementary lines, the polygons of the strip, forming said line.
10. Method according to claim 9, wherein each ribbon has an inclination depending on the orientation presented by said virtual tracing device in said immersive space during said continuous movement.
11. Method according to one of claims 1 to 10, wherein said classification model is a neural network.
12. Method according to one of claims 1 to 11, comprising a prior step (a0) of learning, by data processing means (21b) of a second server (2b), said classification model from said learning base of reference vectors of data representative of reference three-dimensional graphic objects.
13. Server (2a) for identifying or authenticating a user of a virtual or mixed reality system (1) connected to said server (2a),the server being characterized in that it comprises data processing means (21a) configured to: - Obtain from said system (1) data representative of a candidate three-dimensional graphic object drawn by said user in an immersive space with a virtual drawing device, the system comprising display means (12) of said immersive space and means for detecting movement in said immersive space of said virtual drawing device (14a, 14b); - Implement a biometric classification of said data representative of a candidate three-dimensional graphic object drawn by said user in said immersive space with said virtual drawing device, by means of a classification model trained on a learning base of data representative of reference three-dimensional graphic objects., 14. System comprising a server (2a) according to claim 13 and at least one virtual or mixed reality system (1) comprising display means (12) for said immersive space and means for detecting the movement in said immersive space of said virtual tracing device (14a, 14b).
15. Computer program product comprising code instructions for executing a method according to one of claims 1 to 12 for identifying or authenticating a user of a virtual or mixed reality system (1), when said program is executed on a computer.
16. Storage means readable by computer equipment on which is recorded a computer program product comprising code instructions for executing a method according to one of claims 1 to 12 for identifying or authenticating a user of a virtual or mixed reality system (1).