WO2019115951A1 - Procede et systeme de projection d'un motif en realite mixte - Google Patents

Procede et systeme de projection d'un motif en realite mixte Download PDF

Info

Publication number
WO2019115951A1
WO2019115951A1 PCT/FR2018/053259 FR2018053259W WO2019115951A1 WO 2019115951 A1 WO2019115951 A1 WO 2019115951A1 FR 2018053259 W FR2018053259 W FR 2018053259W WO 2019115951 A1 WO2019115951 A1 WO 2019115951A1
Authority
WO
WIPO (PCT)
Prior art keywords
pattern
image
marking
real
virtual
Prior art date
Application number
PCT/FR2018/053259
Other languages
English (en)
Inventor
Loïc FOLGOAS
Etienne Roudaut
Original Assignee
Societe Bic
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Societe Bic filed Critical Societe Bic
Priority to US16/772,224 priority Critical patent/US11276235B2/en
Publication of WO2019115951A1 publication Critical patent/WO2019115951A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Definitions

  • the present invention relates to the general field of mixed reality, sometimes also called hybrid reality, and more particularly relates to a method of projecting a pattern onto a real surface.
  • Mixed reality is a technology that merges a virtual world into the real world, producing a new environment and visualizations in which real-world physical objects and digital objects in the virtual world coexist and can interact, for example, in time. real.
  • This technology is increasingly used, especially in the entertainment sector (video games) or the corporate world (immersive educational content).
  • An example of an application of mixed reality is the visualization of a virtual piece of furniture arranged to be seen by a user at a location in a room.
  • the invention aims in particular to solve these disadvantages.
  • the present invention responds to this need by proposing a method of projecting a pattern onto a real surface, the method comprising: an acquisition of an image on which the real surface is at least partially visible,
  • a determination of a geometric transformation to be applied to said pattern so that once projected by a projector, said pattern appears at a predefined location of the actual surface (i.e. at a predefined location and with a shape predefined or even a predefined orientation), the determination of the geometric transformation taking into account the position of the projector and the position of said real surface obtained by means of said acquired image,
  • a projection of said pattern by said projector (in other words a projection of the pattern after application of the geometric transformation, which allows to ensure that the pattern appears in the predefined location of the actual surface).
  • position refers in this description, both location and orientation. In the English language, the person skilled in the art generally uses the term “pose”.
  • the surface is called the real surface because it is not part of a virtual world.
  • the real surface is a surface of the three-dimensional space of users and therefore has its own location in this space. It may be noted that the virtual world aims for a three-dimensional space that exists only numerically.
  • the pattern exists initially in this virtual world, that is to say in digital form (for example a drawing recorded in the form of a matrix or vector image). By projecting it onto the real surface, it appears in the real world and that is why the process as defined above is a mixed reality process.
  • the projector can have a position such that when projecting the pattern on the actual surface without geometric transformation, it can appear in an undesired location or even appear distorted. This results notably from the position of the video projector relative to that of the real surface, the optical properties of the video projector, and so on.
  • the geometric transformation can therefore be determined so that the pattern appears in a predefined location, preferably with a shape (appearance) also predefined, so that the effects of distortion or shift do not appear.
  • the location is predefined because chosen, for example by a user, before the implementation of the method.
  • the determination of the geometric transformation may comprise a step of resetting a virtual world with respect to the real world made from the detection of the real surface and possibly of the position of the projector. This makes it possible to first determine in the virtual world how, from the point of view of the projector in the virtual world, the pattern must appear on the real surface, to deduce the transformation to be applied to the pattern and to project the transformed pattern.
  • the method can be used to preview a drawing on the actual surface before it is executed.
  • the method finds application in the drawing aid.
  • a pattern to be drawn is projected onto the actual surface.
  • the user turns the actual surface.
  • a new image can be acquired and it determines that a rotation must be applied to the pattern to project it to appear at the same location of the actual surface. This facilitates the realization of a drawing on the real surface.
  • an image is acquired on which at least a portion of a marking linked to said real surface is visible, said at least one portion of the marking is detected, and said determination of the geometrical transformation takes account of the detection of the marking.
  • this marking may be printed, glued or placed on the actual surface so as to be firmly attached thereto.
  • the skilled person will be able to choose a detectable marking on an acquired image and which makes it possible to detect the position of the real surface.
  • the marking may be a square marking with a pattern comprising particular points.
  • the marking may include a black and white pattern (or having a high contrast ratio) without symmetries.
  • a marking with elements will preferably be used. with a black intensity difference of at least 70 points, which corresponds to a high contrast ratio (for example, a gray at 15% black and a gray at 85% black, or a white at 0% black and one gray to 70% black).
  • the marking may be a three-dimensional marking.
  • This embodiment is particularly suitable for the use of an image acquisition module of the RGB-D type ("Red, Green, Blue, and Depth"), this acronym for Anglo-Saxon being well known in the art. the skilled person.
  • marking can be placed on a mobile support to be linked to the real object.
  • this support may be flexible and comprise means for attaching the support to itself (for example to surround the real surface) or on the real surface.
  • said pattern is projected in an area of the actual surface distinct from that comprising the marking.
  • This particular mode of implementation facilitates the implementation of a subsequent drawing step since the marking and its elements do not interfere with this step.
  • the zone is spaced from the marking by at least a distance of the order of one centimeter. It can also be noted that using a marking makes it easier to implement a registration of a virtual world on the real world.
  • the invention is nevertheless in no way limited to the use of a marking, because certain real surfaces (the person skilled in the art will be able to identify which) can have a detectable position thanks to their shape (for example from the relative positions of corners of the surface).
  • the registration (or "registration" in English) of a virtual world aims to align the virtual world and the real world. This can in particular make it possible to facilitate the determination of the geometrical transformation so that, when projected by a projector, said pattern appears in a predefined location of the real surface.
  • the visible marking portion can make it possible to determine an orientation of the marking and also a dimension (for example a distance between two elements of the marking). Therefore, it is possible to consider that the visible marking portion is associated with a real world landmark (for example an orthonormal landmark), and a virtual landmark will be developed based on the real world landmark. The virtual coordinate system thus developed will make it possible to determine the geometrical transformation.
  • a real world landmark for example an orthonormal landmark
  • At least a portion of an additional marking linked to said real surface is also visible on said image, said at least one additional marking portion is detected, and said determination of the geometrical transformation takes place. account of the detection of additional marking.
  • the method is not limited to the use of a single marking and it is possible to use one or more additional markings to facilitate the detection of the actual surface.
  • the geometrical transformation comprises a homography.
  • This homography can comprise a rotation and / or a translation and / or a homothety.
  • the real surface is a surface of a real three-dimensional object, the method further comprising:
  • said projection of the pattern comprising a projection of the pattern applied to the virtual three-dimensional object and as seen from a point of view associated with the video projector.
  • the point of view associated with the video projector may be located approximately at the output of the optical system of the video projector.
  • the three-dimensional virtual object chosen has a shape similar to that of the real three-dimensional object, the pattern will be projected as if it were applied to the real surface.
  • the three-dimensional virtual object can be chosen by a user taking into account the shape of the real object.
  • This may in particular make it easier to preview a drawing corresponding to the pattern to be made on the real object, and this may also facilitate a step of making a drawing corresponding to the pattern on the real object.
  • the method may comprise, after said display step, a step of producing a drawing on the real object, this drawing being able to correspond to the pattern.
  • the determination of the geometric transformation comprises the steps of placing the three-dimensional virtual object and applying the pattern.
  • Translation and rotation matrices can also be used in this case, as well as a homothetic coefficient.
  • the geometric transformation is a homography.
  • the three-dimensional virtual object is chosen from a three-dimensional virtual object library.
  • a user can choose a virtual object that will have the shape closest to that of the real three-dimensional object.
  • the three-dimensional virtual objects of the three-dimensional virtual object library may be meshes well known to those skilled in the art, or else three-dimensional forms associated with parameters.
  • a circular cylindrical three-dimensional shape may be associated with a diameter parameter and a height parameter.
  • the method comprises a prior step of adjusting the virtual three-dimensional object.
  • the prior adjustment step may be implemented after a prior implementation of some of the steps of the method so as to place a virtual object (unadjusted) in the virtual world.
  • the prior adjustment step may include the projection of the virtual three-dimensional object (or a mesh representing it) on the real surface, or its display on a screen superimposed on the image of the real world acquired.
  • the projection of the virtual three-dimensional object can be implemented by projecting a partially opaque three-dimensional virtual object so that both the real object and the three-dimensional virtual object can be observed. If the three-dimensional virtual object is not perfectly superimposed on the real object, the user can easily observe the differences between the three-dimensional virtual object and the real object.
  • This adjustment can comprise a displacement, in the virtual world, of the three-dimensional virtual object, or else a deformation of the virtual three-dimensional object in the virtual world.
  • the adjustment step is implemented by means of a receipt of a command from a user.
  • this step can be implemented by means of an interface for the user.
  • the method comprises a preliminary calibration of an image acquisition module used for said image acquisition and in which an image is acquired on which a first calibration pattern is at least partially visible.
  • a first checker-shaped calibration pattern determines whether a distortion appears on the acquired image of this calibration pattern. This can determine whether barrel distortion or pincushion distortion occurs when acquiring an image. These distortions are related to the characteristics of the image acquisition module used. Those skilled in the art will be able to implement an image processing so that the acquired image is corrected and without distortions.
  • the method comprises a prior calibration of the video projector in which a second calibration pattern is projected and an image is acquired on which the second calibration pattern is at least partially visible.
  • a checkerboard calibration pattern in the virtual world can be projected to determine if a distortion appears on the acquired image of this projected calibration pattern. This can determine whether barrel distortion or pincushion distortion occurs when projecting an image. These distortions are related to the characteristics of the video projector used. Those skilled in the art will be able to implement an image processing so that the projected image is corrected and without distortions.
  • the method comprises a step of detecting the position of a writing instrument on said image.
  • This mode of implementation is particularly interesting for applications in which a user reproduces the projected pattern with a writing instrument. For example, it makes it possible to verify that the writing instrument is positioned at an expected position.
  • the detection of the position of the writing instrument is implemented by means of a detection pattern linked to the writing instrument and at least partially visible on said image.
  • a non-repetition marking with a high contrast ratio as a detection pattern so that when a portion of this detection pattern is visible on the acquired image, the position of the image can be determined. writing instrument.
  • an alert is generated if the position of the writing instrument moves away from an expected position.
  • This particular mode of implementation may include determining a distance between the position of the writing instrument and, for example, the position of the projected pattern.
  • the method comprises a step of detecting a pattern drawn by the user on the real surface.
  • This drawn pattern can be at least partially visible on the acquired image and it is therefore possible to detect it, for example to verify that it corresponds to the projected pattern.
  • the drawn pattern can also be detected to fit the projected pattern.
  • a complex pattern can be projected in several steps, the transition from one step to another taking place when it has been detected that the pattern drawn for a first piece of the complex pattern has been drawn.
  • an alert is generated if the pattern drawn by the user differs from an expected pattern.
  • the present invention also provides a system for projecting a pattern onto a real surface comprising:
  • This system can be configured for the implementation of each mode of implementation of the method as defined above.
  • the system further comprises a marking configured to be linked to said real surface, said memory further comprising instructions for detecting at least a portion of the marking, and determining the geometric transformation takes into account the detection of the marking.
  • the present invention also provides a computer program comprising instructions for executing the steps of a method as defined above when said program is executed by a computer.
  • computer programs mentioned in this presentation 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 invention also proposes a computer-readable recording medium on which is recorded a computer program comprising instructions for executing the steps of a method as defined above.
  • the recording (or information) media mentioned in this disclosure may be any entity or device capable of storing the program.
  • the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording medium, for example a floppy disk or a disk. hard.
  • the recording media may correspond to a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means.
  • the program according to the invention can be downloaded in particular on an Internet type network.
  • FIG. 1 schematically represents the steps of a method of projecting a pattern onto a real surface
  • FIG. 2 schematically represents a system for projecting a pattern according to an example
  • FIG. 4 illustrates a surface seen in an acquired image comprising markings
  • FIGS. 5A and 5B illustrate the projection of a pattern on a real three-dimensional object
  • FIG. 6 illustrates the detection of the position of a writing instrument
  • FIG. 7 illustrates the detection of a drawn pattern
  • FIGS. 8A, 8B and 8C illustrate calibration patterns.
  • Figure 1 there is shown schematically the steps of a method of projecting a pattern on a real surface.
  • This method can be implemented by a system comprising a video projector, an image acquisition module such as a camera, and also a device capable of executing computer program instructions comprising a processor, for example a processor. ordiphone (or “smartphone”) or a touch pad.
  • a first step E01 one acquires an image of the real world on which the real surface is at least partially visible.
  • the actual surface may be too large to fit into the acquired image.
  • the real surface is the surface of a three-dimensional object, portions of this surface may be hidden by occlusion.
  • the actual surface has a position that can be determined by image processing methods, for example if the surface is rectangular, the position of its corners can be determined.
  • the actual surface may be linked to the image acquisition module which acquires the image: the position of the real surface is then fixed and it is not necessary to detect it on the acquired image. As will be described in more detail below, it is also possible to use one or more markings to detect the position of the actual surface.
  • a geometric transformation to be applied to the pattern is determined so that once projected by a projector, the pattern appears at a predefined location of the actual surface. This determination takes into account the position of the video projector and the position of the actual surface obtained by means of the image that was acquired during the step E01.
  • the geometrical transformation can be a homography which can include a rotation, a translation, and possibly a homothety. This step is necessary since the video projector projects an image that can be distorted according to the position of the projector relative to the actual surface.
  • a step E03 the geometric transformation is applied to the pattern.
  • step E04 the pattern to which the geometric transformation is applied is projected.
  • Steps E01 to E04 can also be defined as computer program instructions.
  • this computer program When this computer program is executed by a processor, it controls in particular an image acquisition module and also a video projector.
  • FIG 2 there is shown a system 200 for projecting a pattern on a real surface.
  • This system comprises an image acquisition module 201 of the camera type. It may be noted that, on the other hand, the image acquisition module may be an RGB-D image acquisition module.
  • the image acquisition module comprises optical means, not shown here, which make it possible to obtain an image of a chosen zone which will be described hereinafter as being the real surface (or a portion of it).
  • the system 200 also comprises a video projector 202 which is also oriented so as to project patterns on the same area called the actual surface.
  • the system 200 comprises a calculation unit 203 which comprises a processor 204 and a memory 205.
  • the memory 205 is a non-volatile memory and computer program instructions may have been stored within this memory 205.
  • computer program instructions 206a, 206b, 206c, and 206d have been stored in memory 505. for respectively implementing the steps E01 to E04 described with reference to Figure 1.
  • the instruction 206a implements the step of acquiring an image of a real surface 207 shown in the figure by controlling the image acquisition module 201.
  • the instruction 206b implements the determination of a geometric transformation in said pattern so that, when projected by a projector, said projected pattern (referenced 208) appears at a predefined location of the actual surface 207, the determination of the transformation geometric taking into account the position of the projector and the position of said actual surface obtained by means of said acquired image.
  • Instruction 206c applies this geometric transformation to the pattern.
  • Instruction 206d commands the projector to project the pattern after the geometric transformation has been applied.
  • the projected pattern 207 This projection can help a user to reproduce the pattern on the surface.
  • the user can use a writing implement 209 to draw a pattern 210 by trying to follow the projected pattern.
  • the calculation unit 203, the image acquisition module 201 and the projector 202 are all arranged in one and the same housing. Therefore, we always know the position of the video projector.
  • the computing unit 203, the image acquisition module 201 and the projector 202 may be integrated with separate devices.
  • the computing unit 203 can be integrated with a tablet or a smartphone and the image acquisition module can be the camera of the tablet or the ordiphone.
  • FIG. 3A there is shown a pattern projection system 300.
  • a video projector 301 configured to project patterns onto a real surface 302 is used.
  • the projected pattern 303 is a smiling face intended to be projected in the middle of the actual surface 302.
  • the actual surface is provided with a marking 304.
  • This marking may be designated by the word Anglo-Saxon "target”.
  • SDK Software Development Kit
  • Vuforia trademark
  • tagging can be a "target” accepted by the Vuforia development kit for mixed reality, for example version 6 dated August 2016.
  • Such marking makes it possible to implement a registration of a virtual world with respect to the real world from the detection of this marking.
  • This registration facilitates the determination of the geometric transformation to be applied to the pattern so that it appears, as desired, in the middle of the actual surface 302.
  • the elements 301 to 304 are represented from the point of view of an image acquisition module.
  • the acquired image 305 has also been shown in the figure.
  • the initial pattern exists as a digital image 306 and has also been shown in the figure.
  • This pattern can be chosen via a user interface, for example an interface on a tablet.
  • the determination of the transformation aims to define a rotation matrix and a translation matrix and possibly a homothetic coefficient which move the pattern from its initial form (referenced 306) to the position it must have for that projected by the projector, it appears as desired in the middle of the real surface 302.
  • a rotation matrix and a translation matrix and possibly a homothetic coefficient which move the pattern from its initial form (referenced 306) to the position it must have for that projected by the projector, it appears as desired in the middle of the real surface 302.
  • FIG. 3B the system 300 is shown after the actual surface 302 has been rotated.
  • the acquired image 305 we will determine the new position of the real surface, to deduce a new geometric transformation to be applied to the pattern 306.
  • the user who wishes to be able to draw more easily can turn the actual surface 302, and the projected pattern 303 will also turn as soon as the system 300 has processed a new acquired image.
  • FIG. 4 shows a real surface 400 seen by an image acquisition module.
  • the actual surface 400 has a plurality of markings 401 to 406 all having a square shape and a black and white pattern.
  • markings it is possible to implement a thresholding process and then implement an image processing to identify the square shapes that may be markings. The squares can then be analyzed to identify the markings.
  • FIG. 5A a projection system of a pattern 500 is shown. This system is configured for projection, by a video projector 501, on a three-dimensional object 502.
  • This figure is represented from the point of view of the image acquisition module used to implement the pattern projection method.
  • the three-dimensional object 502 is here a parallelepiped and two of its faces include markings 504 and 505 so as to be able to identify them on the acquired image.
  • a virtual parallelepiped can be selected from a library of three-dimensional objects. This object will have to be placed in the virtual world in place of the real object in the real world.
  • texture-applying techniques well known in the field of three-dimensional imaging can be implemented.
  • OpenGL programming interface well known to those skilled in the art under the name "OpenGL”, for example the OpenGL version 3.3.
  • FIG. 5B the system 500 is shown after the user has turned the object 502.
  • the face bearing the marking 505 is in the field of the video projector (whereas it was obscured in FIG. 5A), and can project a second portion of the marking 503 in the form of smiling face.
  • the face bearing the marking 504 is obscured in the image and the marking 504 and the flash which has been made have been shown in transparency.
  • FIG 6 there is shown an embodiment in which a writing instrument 600 is used to draw a pattern 601 by trying to reproduce a projected pattern 602.
  • the writing instrument 600 comprises a pattern 603 which is here in black and white and which makes it possible to detect the position of the writing instrument on an image acquired when a pattern projection method is implemented. By determining the position of the writing instrument, the position of the tip of the writing instrument is determined.
  • an alert can be generated for the user. For example an audible or visual alert or by vibration.
  • FIG. 7 shows a variant in which a writing instrument 700 has been used to draw a pattern 701 to try to reproduce a projected pattern 702.
  • an alert can be generated for the user. For example an audible or visual alert or by vibration.
  • the projected pattern 702 may be projected only once it has been detected that a pattern 703 has been drawn.
  • FIG. 8A shows a calibration pattern that can be used to calibrate the image acquisition module and also to calibrate the video projector used to implement a pattern projection method as defined above.
  • This calibration pattern of FIG. 8A can for example have been printed on a real surface; it will then be observed on an image acquired by an image acquisition module.
  • An image of the projected calibration pattern can also be acquired for calibration purposes.
  • FIG. 8B shows the barrel distortion phenomenon that can be observed during the calibration of the image acquisition module or during the calibration of the video projector.
  • FIG. 8C shows the pincushion distortion phenomenon which can be observed during the calibration of the image acquisition module or during the calibration of the video projector.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Projection Apparatus (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

Procédé et système de projection d'un motif sur une surface réelle comprenant : - un module d'acquisition d'image (201), - un vidéoprojecteur (202), - un processeur (204), - une mémoire (205) comprenant des instructions exécutables par le processeur pour : - acquérir (206a) une image sur laquelle une surface réelle est au moins partiellement visible au moyen dudit module d'acquisition d'image, - déterminer (206b) une transformation géométrique à appliquer audit motif de sorte qu'une fois projeté par un vidéoprojecteur, ledit motif apparaisse en un emplacement prédéfini de la surface réelle, la détermination de la transformation géométrique tenant compte de la position du vidéoprojecteur et de la position de ladite surface réelle obtenue au moyen de ladite image acquise, - appliquer (206c) la transformation géométrique audit motif, - projeter (206d) le motif par le vidéoprojecteur.

Description

Procédé et système de projection d'un motif en réalité mixte
Arrière-plan de l'invention
La présente invention se rapporte au domaine général de la réalité mixte, parfois aussi appelée réalité hybride, et concerne plus particulièrement un procédé projection d'un motif sur une surface réelle.
La réalité mixte est une technologie permettant de fusionner un monde virtuel au monde réel, afin de produire un nouvel environnement et des visualisations dans lesquelles des objets physiques du monde réel et des objets numériques du monde virtuel coexistent et peuvent éventuellement interagir, par exemple en temps réel. Cette technologie est de plus en plus utilisée, notamment dans le secteur du divertissement (jeux vidéo) ou le monde de l'entreprise (contenus pédagogiques immersifs).
Pour obtenir cette fusion, on peut utiliser tout moyen d'affichage d'information, en particulier un écran d'affichage, des lunettes de réalité augmentée ou mixte telles que des lunettes « Microsoft Hololens » (marque déposée), ou encore un vidéoprojecteur.
Un exemple d'application de la réalité mixte est la visualisation d'un meuble virtuel agencé de manière à être vu par un utilisateur à un emplacement dans une pièce.
Les techniques actuelles de réalité mixte ne permettent que de visualiser des objets, et elles ne permettent pas de mettre en œuvre une prévisualisation qui facilitera suffisamment, pour un utilisateur, la réalisation d'une action sur un objet réel.
Il existe donc un besoin pour de nouvelles applications en réalité mixte.
L'invention vise notamment à résoudre ces inconvénients.
Objet et résumé de l'invention
La présente invention répond à ce besoin en proposant un procédé de projection d'un motif sur une surface réelle, le procédé comprenant : - une acquisition d'une image sur laquelle la surface réelle est au moins partiellement visible,
- une détermination d'une transformation géométrique à appliquer audit motif de sorte qu'une fois projeté par un vidéoprojecteur, ledit motif apparaisse en un emplacement prédéfini de la surface réelle (c'est-à-dire en une localisation prédéfinie et avec une forme prédéfinie voire une orientation prédéfinie), la détermination de la transformation géométrique tenant compte de la position du vidéoprojecteur et de la position de ladite surface réelle obtenue au moyen de ladite image acquise,
- une application de la transformation géométrique audit motif,
- une projection dudit motif par ledit vidéoprojecteur (en d'autres termes une projection du motif après application de la transformation géométrique, ce qui permet de faire en sorte que le motif apparaisse en l'emplacement prédéfini de la surface réelle).
L'expression « position » vise, dans la présente description, à la fois la localisation et l'orientation. En langue anglaise, l'homme du métier utilise généralement le vocable « pose ».
La surface est appelée surface réelle car elle ne fait pas partie d'un monde virtuel. En fait, la surface réelle est une surface de l'espace tridimensionnel des utilisateurs et qui a donc sa propre localisation dans cet espace. On peut noter que le monde virtuel vise quant à lui un espace tridimensionnel qui n'existe que numériquement.
Le motif existe initialement dans ce monde virtuel, c'est-à-dire sous forme numérique (par exemple un dessin enregistré sous la forme d'une image matricielle ou vectorielle). En le projetant sur la surface réelle, il apparaît dans le monde réel et c'est pour cela que le procédé tel que défini ci-avant est un procédé de réalité mixte.
Le vidéoprojecteur peut avoir une position telle que lorsque l'on projette le motif sur la surface réelle sans transformation géométrique, celui-ci peut apparaître en un emplacement non souhaité voire apparaître déformé. Cela résulte notamment de la position du vidéoprojecteur par rapport à celle de la surface réelle, des propriétés optiques du vidéoprojecteur, etc.
La transformation géométrique pourra donc être déterminée pour que le motif apparaisse en un emplacement prédéfini, préférentiellement avec une forme (apparence) également prédéfinie, de sorte que les effets de déformation ou de décalage n'apparaissent pas.
L'emplacement est prédéfini car choisi, par exemple par un utilisateur, avant la mise en œuvre du procédé.
L'homme du métier saura mettre en œuvre des techniques de traitement d'image sur l'image acquise pour déterminer comment la surface réelle est positionnée.
En ayant une connaissance de la position du vidéoprojecteur et de celle de la surface réelle (ces deux positions étant dans le monde réel), on peut obtenir la transformation géométrique.
En fait, la détermination de la transformation géométrique peut comporter une étape de recalage d'un monde virtuel par rapport au monde réel réalisée à partir de la détection de la surface réelle et éventuellement de la position du projecteur. Ceci permet de déterminer tout d'abord dans le monde virtuel comment, du point de vue du projecteur dans le monde virtuel, le motif doit apparaître sur la surface réelle, pour en déduire la transformation à appliquer au motif et projeter le motif transformé.
Le procédé peut permettre de pré-visualiser un dessin sur la surface réelle avant que celui-ci ne soit exécuté. En d'autres termes, le procédé trouve application dans l'aide au dessin.
Par exemple, un motif à dessiner est projeté sur la surface réelle. Pour plus d'aisance, l'utilisateur tourne la surface réelle. Une nouvelle image peut être acquise et elle permet de déterminer qu'une rotation doit être appliquée au motif pour le projeter pour qu'il apparaisse au même emplacement de la surface réelle. Cela facilite la réalisation d'un dessin sur la surface réelle.
On notera que la surface réelle peut être plane ou non-plane.
Selon un mode de mise en œuvre, on acquiert une image sur laquelle au moins une portion d'un marquage lié à ladite surface réelle est visible, on détecte ladite au moins une portion du marquage, et ladite détermination de la transformation géométrique tient compte de la détection du marquage.
Par exemple, ce marquage peut être imprimé, collé ou posé sur la surface réelle de manière à être fixement lié à celle-ci. L'homme du métier saura choisir un marquage détectable sur une image acquise et qui permet de détecter la position de la surface réelle.
Par exemple, le marquage peut être un marquage carré avec un motif comprenant des points particuliers. Le marquage peut notamment comporter un motif noir et blanc (ou présentant un taux de contraste élevé) sans symétries.
A titre indicatif, si le marquage est en niveaux de gris, et que Ton associe la couleur blanche à une intensité de noir de 0% et la couleur noir à une intensité de noir de 100%, alors on utilisera préférentiellement un marquage avec des éléments présentant une différence d'intensité de noir d'au moins 70 points, ce qui correspond à un taux de contraste élevé (par exemple on peut utiliser un gris à 15% de noir et un gris à 85 % de noir, ou un blanc à 0% de noir et un gris à 70% de noir).
On peut également utiliser un motif coloré avec des couleurs associés à des intensités de noir séparés de 70 points (par exemple un jaune clair à 10% de noir et un bleu foncé à 80% de noir).
Alternativement, le marquage peut être un marquage tridimensionnel. Ce mode de mise en œuvre est particulièrement adapté à l'utilisation d'un module d'acquisition d'image de type RGB-D (« Red, Green, Blue, and Depth »), cet acronyme anglo-saxon étant bien connu de l'homme du métier.
On peut également noter que le marquage peut être placé sur un support mobile pour être lié à l'objet réel. Par exemple, ce support peut être flexible et comporter des moyens d'attache du support sur lui-même (par exemple pour entourer la surface réelle) ou sur la surface réelle.
On pourra notamment choisir un marquage qui entoure la surface réelle si celle-ci est la surface d'un objet réel, de sorte que le marquage soit visible tout autour de cet objet pour qu'il puisse être tourné.
Selon un mode de mise en œuvre, ledit motif est projeté dans une zone de la surface réelle distincte de celle comprenant le marquage.
Ce mode particulier de mise en œuvre facilite la mise en œuvre d'une étape ultérieure de dessin puisque le marquage et ses éléments ne gênent pas cette étape.
On peut noter que par distinct, on entend par exemple que la zone est espacée du marquage par au moins une distance de l'ordre d'un centimètre. On peut également noter qu'utiliser un marquage permet de mettre en œuvre plus facilement un recalage d'un monde virtuel sur le monde réel. L'invention n'est néanmoins nullement limitée à l'utilisation d'un marquage, car certaines surfaces réelles (l'homme du métier saura identifier lesquelles) peuvent avoir une position détectable grâce à leur forme (par exemple à partir des positions relatives des coins de la surface).
Le recalage (ou « registration » en langue anglaise) d'un monde virtuel vise à aligner le monde virtuel et le monde réel. Ceci peut notamment permettre de faciliter la détermination de la transformation géométrique de sorte qu'une fois projeté par un vidéoprojecteur, ledit motif apparaisse en un emplacement prédéfini de la surface réelle.
La portion de marquage visible peut permettre de déterminer une orientation du marquage et également une dimension (par exemple une distance entre deux éléments du marquage). Dès lors, il est possible de considérer que la portion de marquage visible est associée à un repère du monde réel (par exemple un repère orthonormé), et un repère virtuel sera élaboré sur la base du repère du monde réel. Le repère virtuel ainsi élaboré permettra de déterminer la transformation géométrique.
Selon un mode particulier de mise en œuvre, au moins une portion d'un marquage supplémentaire lié à ladite surface réelle est en outre visible sur ladite image, on détecte ladite au moins une portion de marquage supplémentaire, et ladite détermination de la transformation géométrique tient compte de la détection du marquage supplémentaire.
Ainsi, le procédé n'est nullement limité à l'utilisation d'un unique marquage et il est possible d'utiliser un ou plusieurs marquages supplémentaires pour faciliter la détection de la surface réelle.
Selon un mode particulier de mise en œuvre, la transformation géométrique comprend une homographie. Cette homographie peut comprendre une rotation et/ou une translation et/ou une homothétie.
Par exemple, l'homme du métier saura implémenter la détermination de l'homographie par la détermination d'un coefficient d'homothétie, d'une matrice de translation et d'une matrice de rotation à partir de la connaissance de la position du vidéoprojecteur, de la détection de la position de la surface réelle, et enfin de la position attendue du motif projeté. Selon un mode particulier de mise en œuvre, la surface réelle est une surface d'un objet réel tridimensionnel, le procédé comprenant en outre :
- un recalage d'un monde virtuel à partir de ladite image, éventuellement au moyen d'un marquage,
- un placement dans le monde virtuel recalé d'un objet virtuel tridimensionnel,
- une application du motif à l'objet virtuel tridimensionnel,
- ladite projection du motif comprenant une projection du motif appliqué à l'objet virtuel tridimensionnel et tel que vu depuis un point de vue associé au vidéoprojecteur.
On peut noter que le point de vue associé au vidéoprojecteur peut être situé approximativement à la sortie du système optique du vidéoprojecteur.
On peut noter que l'application du motif à l'objet virtuel tridimensionnel peut utiliser des techniques généralement désignées par l'homme du métier par l'expression anglo-saxonne « texture mapping ».
L'homme du métier sait notamment appliquer des textures sur des objets virtuels tridimensionnels tels que des maillages tridimensionnels (« mesh » en langue anglaise).
On notera que dès lors que l'objet virtuel tridimensionnel choisi a une forme analogue à celle de l'objet réel tridimensionnel, le motif sera projeté comme si il était appliqué sur la surface réelle. Par exemple, l'objet virtuel tridimensionnel peut être choisi par un utilisateur en tenant compte de la forme de l'objet réel.
Ceci peut notamment permettre de faciliter la prévisualisation d'un dessin correspondant au motif à réaliser sur l'objet réel, et cela peut également permettre de faciliter une étape de réalisation d'un dessin correspondant au motif sur l'objet réel.
En fait, le procédé peut comporter, postérieurement à ladite étape d'affichage, une étape de réalisation d'un dessin sur l'objet réel, ce dessin pouvant correspondre au motif.
Par « tel que vu depuis un point de vue associé au vidéoprojecteur », on entend que ce qui est projeté a été déterminé dans le monde virtuel depuis ce point de vue. On notera également que dans ce mode de mise en oeuvre, la détermination de la transformation géométrique comporte les étapes de placement de l'objet virtuel tridimensionnel et d'application du motif. Des matrices de translation et de rotation peuvent également être utilisées dans ce cas, ainsi qu'un coefficient d'homothétie. En d'autres termes, la transformation géométrique est une homographie.
Selon un mode particulier de mise en œuvre, l'objet virtuel tridimensionnel est choisi dans une bibliothèque d'objets virtuels tridimensionnels.
Ainsi, un utilisateur peut choisir un objet virtuel qui aura la forme la plus proche de celle de l'objet réel tridimensionnel. Les objets virtuels tridimensionnels de la bibliothèque d'objets virtuels tridimensionnels peuvent être des maillages bien connus de l'homme du métier, ou encore des formes tridimensionnelles associées à des paramètres. A titre indicatif, une forme tridimensionnelle cylindrique à base circulaire peut être associée à un paramètre de diamètre et un paramètre de hauteur.
Selon un mode particulier de mise en œuvre, le procédé comprend une étape préalable d'ajustement de l'objet virtuel tridimensionnel.
L'étape préalable d'ajustement peut être mise en œuvre après une mise en œuvre préalable de certaines des étapes du procédé de manière à placer un objet virtuel (non-ajusté) dans le monde virtuel.
L'étape préalable d'ajustement peut comporter la projection de l'objet virtuel tridimensionnel (ou d'un maillage le représentant) sur la surface réelle, ou encore son affichage sur un écran en superposition sur l'image du monde réel acquise. La projection de l'objet virtuel tridimensionnel peut être mise en œuvre en projetant un objet virtuel tridimensionnel partiellement opaque de sorte que l'on peut observer à la fois l'objet réel et l'objet virtuel tridimensionnel. Si l'objet virtuel tridimensionnel n'est pas parfaitement superposé à l'objet réel, l'utilisateur pourra aisément observer les écarts entre l'objet virtuel tridimensionnel et l'objet réel.
Cet ajustement peut comprendre un déplacement, dans le monde virtuel, de l'objet virtuel tridimensionnel, ou encore une déformation de l'objet virtuel tridimensionnel dans le monde virtuel. Selon un mode particulier de mise en œuvre, l'étape d'ajustement est mise en œuvre au moyen d'une réception d'une commande d'un utilisateur.
A titre indicatif, cette étape peut être mise en œuvre au moyen d'une interface pour l'utilisateur.
Selon un mode particulier de mise en œuvre, le procédé comporte une calibration préalable d'un module d'acquisition d'image utilisé pour ladite acquisition d'image et dans laquelle on acquiert une image sur laquelle un premier motif de calibration est au moins partiellement visible.
On pourra par exemple utiliser un premier motif de calibration en forme de damier pour déterminer si une distorsion apparaît sur l'image acquise de ce motif de calibration. Cela peut permettre de déterminer si une distorsion en barillet ou une distorsion en coussinet apparaît lorsque l'on acquiert une image. Ces distorsions sont liées aux caractéristiques du module d'acquisition d'image utilisé. L'homme du métier saura mettre en œuvre un traitement d'image pour que l'image acquise soit corrigée et sans distorsions.
Selon un mode particulier de mise en œuvre, le procédé comporte une calibration préalable du vidéoprojecteur dans laquelle on projette un deuxième motif de calibration et on acquiert une image sur laquelle le deuxième motif de calibration est au moins partiellement visible.
Par exemple, on peut projeter un motif de calibration en forme de damier (dans le monde virtuel) pour déterminer si une distorsion apparaît sur l'image acquise de ce motif de calibration projeté. Cela peut permettre de déterminer si une distorsion en barillet ou une distorsion en coussinet apparaît lorsque l'on projette une image. Ces distorsions sont liées aux caractéristiques du vidéoprojecteur utilisé. L'homme du métier saura mettre en œuvre un traitement d'image pour que l'image projetée soit corrigée et sans distorsions.
Selon un mode particulier de mise en œuvre, le procédé comprend une étape de détection de la position d'un instrument d'écriture sur ladite image.
En particulier, on peut obtenir la position de la pointe de l'instrument d'écriture utilisé.
Ce mode de mise en œuvre est particulièrement intéressant pour les applications dans lesquelles un utilisateur reproduit le motif projeté avec un instrument d'écriture. Il permet par exemple de vérifier que l'instrument d'écriture est positionné à une position attendue.
Selon un mode particulier de mise en œuvre, la détection de la position de l'instrument d'écriture est mise en œuvre au moyen d'un motif de détection lié à l'instrument d'écriture et au moins partiellement visible sur ladite image.
Par exemple, on pourra utiliser comme motif de détection un marquage sans-répétitions avec un haut taux de contraste pour que dès lors qu'une portion de ce motif de détection est visible sur l'image acquise, on peut déterminer la position de l'instrument d'écriture.
Selon un mode particulier de mise en œuvre, on génère une alerte si la position de l'instrument d'écriture s'éloigne d'une position attendue.
Ce mode particulier de mise en œuvre peut comprendre la détermination d'une distance entre la position de l'instrument d'écriture et, par exemple, la position du motif projeté.
Ceci peut permettre d'aider l'utilisateur à dessiner le motif, par exemple en générant des alertes visuelles projetées, sonores, ou même par vibration dans l'instrument d'écriture.
Selon un mode particulier de mise en œuvre, le procédé comprend une étape de détection d'un motif dessiné par l'utilisateur sur la surface réelle.
Ce motif dessiné peut être au moins partiellement visible sur l'image acquise et il est donc possible de le détecter, par exemple pour vérifier qu'il correspond au motif projeté.
On peut également détecter le motif dessiné pour adapter le motif projeté. Par exemple, un motif complexe peut être projeté en plusieurs étapes, le passage d'une étape à l'autre s'effectuant lorsqu'il a été détecté que le motif dessiné pour un premier morceau du motif complexe a bien été dessiné.
Selon un mode particulier de mise en œuvre, on génère une alerte si le motif dessiné par l'utilisateur diffère d'un motif attendu.
Ce mode particulier de mise en œuvre peut comprendre la détermination de distances entre le motif dessiné et la position du motif projeté. Ceci peut permettre d'aider l'utilisateur à dessiner le motif, par exemple en générant des alertes visuelles projetées, sonores, ou même par vibration dans l'instrument d'écriture.
On peut également attribuer un score à l'utilisateur sur la base de la détection du motif projeté, à des fins d'applications ludiques.
La présente invention propose également un système de projection d'un motif sur une surface réelle comprenant :
- un module d'acquisition d'image,
- un vidéoprojecteur,
- un processeur,
- une mémoire comprenant des instructions exécutables par le processeur pour :
- acquérir une image sur laquelle une surface réelle est au moins partiellement visible au moyen dudit module d'acquisition d'image,
- déterminer une transformation géométrique à appliquer audit motif de sorte qu'une fois projeté par un vidéoprojecteur, ledit motif apparaisse en un emplacement prédéfini de la surface réelle, la détermination de la transformation géométrique tenant compte de la position du vidéoprojecteur et de la position de ladite surface réelle obtenue au moyen de ladite image acquise,
- appliquer la transformation géométrique audit motif,
- projeter le motif par le vidéoprojecteur.
Ce système peut être configuré pour la mise en œuvre de chaque mode de mise en œuvre du procédé tel que défini ci-avant.
Selon un mode particulier de réalisation, le système comporte en outre un marquage configuré pour être lié à ladite surface réelle, ladite mémoire comprenant en outre des instructions pour détecter au moins une portion du marquage, et déterminer la transformation géométrique tient compte de la détection du marquage.
La présente invention propose également un programme d'ordinateur comportant des instructions pour l'exécution des étapes d'un procédé tel que défini ci-avant lorsque ledit programme est exécuté par un ordinateur.
A noter que les programme d'ordinateur mentionnés dans le présent exposé peuvent utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
L'invention propose également 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 d'un tel que défini ci-avant.
Les supports d'enregistrement (ou d'information) mentionnés dans le présent exposé peuvent être n’importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu’une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d’enregistrement magnétique, par exemple une disquette (floppy dise) ou un disque dur.
D’autre part, les supports d'enregistrement peuvent correspondre à un support transmissible tel qu’un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d’autres moyens. Le programme selon l’invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, les supports d'enregistrement peuvent correspondre à un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l’exécution du procédé en question.
Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple dépourvu de tout caractère limitatif.
Sur les figures :
- la figure 1 représente de façon schématique les étapes d'un procédé de projection d'un motif sur une surface réelle,
- la figure 2 représente de façon schématique un système de projection d'un motif selon un exemple,
- les figures 3A et 3B illustrent la projection d'un motif alors que la surface réelle est tournée,
- la figure 4 illustre une surface vue dans une image acquise comportant des marquages, - les figures 5A et 5B illustrent la projection d'un motif sur un objet réel tridimensionnel,
- la figure 6 illustre la détection de la position d'un instrument d'écriture,
- la figure 7 illustre la détection d'un motif dessiné, et
- les figures 8A, 8B et 8C illustrent des motifs de calibration.
Description détaillée d'un mode de réalisation
Nous allons maintenant décrire un procédé et un système conformément à un mode particulier de réalisation de l'invention.
Sur la figure 1, on a représenté de manière schématique les étapes d'un procédé de projection d'un motif sur une surface réelle.
Ce procédé peut être mis en œuvre par un système comportant un vidéoprojecteur, un module d'acquisition d'image tel qu'une caméra, et aussi un dispositif capable d'exécuter des instructions de programme d'ordinateur comprenant un processeur, par exemple un ordiphone (ou « smartphone ») ou une tablette tactile.
Dans ce procédé, le motif est un dessin que l'on souhaite visualiser par projection sur la surface réelle, comme s'il avait été appliqué sur cet objet réel. La surface réelle peut être plane ou elle peut être la surface d'un objet tridimensionnel. Ce motif est choisi avant la mise en œuvre du procédé.
Dans une première étape E01, on acquiert une image du monde réel sur laquelle la surface réelle est au moins partiellement visible.
Par au moins partiellement visible, on entend que la surface réelle peut être trop grande pour rentrer dans l'image acquise. Alternativement, si la surface réelle est la surface d'un objet tridimensionnel, des portions de cette surface peuvent être cachées par occlusion.
La surface réelle a une position qui peut être déterminée par des méthodes de traitement d'image, par exemple si la surface est rectangulaire, on peut déterminer la position de ses coins.
Alternativement, la surface réelle peut être liée au module d'acquisition d'image qui acquiert l'image : la position de la surface réelle est alors fixe et il n'est pas nécessaire de la détecter sur l'image acquise. Comme cela sera décrit plus en détail ci-après, il est également possible d'utiliser un ou plusieurs marquages pour détecter la position de la surface réelle.
Dans une deuxième étape E02, on détermine une transformation géométrique à appliquer au motif de sorte qu'une fois projeté par un vidéoprojecteur, le motif apparaisse en un emplacement prédéfini de la surface réelle. Cette détermination tient compte de la position du vidéoprojecteur et de la position de la surface réelle obtenue au moyen de l'image qui a été acquise au cours de l'étape E01.
A titre indicatif, la transformation géométrique peut être une homographie qui peut comprendre une rotation, une translation, et éventuellement une homothétie. Cette étape est nécessaire dans la mesure où le vidéoprojecteur projette une image qui peut être déformée selon la position du vidéoprojecteur par rapport à la surface réelle.
Dans une étape E03, on applique la transformation géométrique au motif.
Dans l'étape E04, on projette le motif auquel on a appliqué la transformation géométrique.
Les étapes E01 à E04 peuvent également être définies comme des instructions de programme d'ordinateur. Lorsque ce programme d'ordinateur est exécuté par un processeur, il commande notamment un module d'acquisition d'image et également un vidéoprojecteur.
Sur la figure 2, on a représenté un système 200 de projection d'un motif sur une surface réelle.
Ce système comporte un module d'acquisition d'image 201 de type caméra. On peut noter qu'aiternativement, le module d'acquisition d'image peut être un module d'acquisition d'images RGB-D. Le module d'acquisition d'image comporte des moyens optiques, non représentés ici, qui permettent d'obtenir une image d'une zone choisie qui sera décrite ci- après comme étant la surface réelle (ou une portion de celle-ci).
Le système 200 comporte également un vidéoprojecteur 202 qui est également orienté de manière à pouvoir projeter des motifs sur la même zone appelée surface réelle.
Pour mettre en œuvre les étapes du procédé tel que décrit en référence à la figure 1, le système 200 comporte une unité de calcul 203 qui comporte un processeur 204 et une mémoire 205. La mémoire 205 est une mémoire non-volatile et des instructions de programme d'ordinateur peuvent avoir été stockées à l'intérieur de cette mémoire 205. Ici, des instructions de programme d'ordinateur 206a, 206b, 206c, et 206d ont été enregistrées dans la mémoire 505 pour respectivement mettre en œuvre les étapes E01 à E04 décrites en référence à la figure 1.
En particulier, l'instruction 206a met en œuvre l'étape d'acquisition d'une image d'une surface réelle 207 représentée sur la figure en commandant le module d'acquisition d'image 201.
L'instruction 206b met en œuvre la détermination d'une transformation géométrique audit motif de sorte qu'une fois projeté par un vidéoprojecteur, ledit motif projeté (référencé 208) apparaisse en un emplacement prédéfini de la surface réelle 207, la détermination de la transformation géométrique tenant compte de la position du vidéoprojecteur et de la position de ladite surface réelle obtenue au moyen de ladite image acquise.
L'instruction 206c applique cette transformation géométrique au motif.
L'instruction 206d commande le vidéoprojecteur pour projeter le motif après que la transformation géométrique ait été appliquée.
Sur la figure, on a représenté le motif projeté 207. Cette projection peut aider un utilisateur à reproduire le motif sur la surface.
Par exemple, l'utilisateur peut utiliser un instrument d'écriture 209 pour dessiner un motif 210 en essayant de suivre le motif projeté.
On peut noter que dans l'exemple de la figure 2, l'unité de calcul 203, le module d'acquisition d'image 201 et le projecteur 202 sont tous agencés dans un même boîtier. Dès lors, on connaît toujours la position du vidéoprojecteur.
De manière alternative, l'unité de calcul 203, le module d'acquisition d'image 201 et le projecteur 202 peuvent être intégrés à des dispositifs distincts. Par exemple, l'unité de calcul 203 peut être intégrée à une tablette ou à un ordiphone et le module d'acquisition d'image peut être la caméra de la tablette ou de l'ordiphone.
Sur la figure 3A, on a représenté un système 300 de projection de motif. On utilise à cet effet un vidéoprojecteur 301 configuré pour projeter des motifs sur une surface réelle 302. Dans cet exemple, le motif projeté 303 est un visage souriant destiné à être projeté au milieu de la surface réelle 302.
Pour connaître la position de la surface réelle 302, la surface réelle est munie d'un marquage 304. Ce marquage peut être désigné par le vocable anglo-saxon « target ». Ce terme est notamment utilisé dans le contexte du kit de développement (« SDK : Software Development Kit » en langue anglaise) appelé Vuforia (marque déposée) et commercialisé par la société américaine PTC. En fait, le marquage peut être un « target » accepté par le kit de développement Vuforia pour la réalité mixte, par exemple la version 6 datée du mois d'août 2016.
Un tel marquage permet de mettre en oeuvre un recalage d'un monde virtuel par rapport au monde réel à partir de la détection de ce marquage.
Ce recalage facilite la détermination de la transformation géométrique à appliquer au motif pour qu'il apparaisse, comme désiré, au milieu de la surface réelle 302.
Sur la figure 3A, les éléments 301 à 304 sont représentés depuis le point de vue d'un module d'acquisition d'image. En fait, on a également représenté sur la figure l'image acquise 305.
Le motif initial existe sous la forme d'une image numérique 306 et a également été représenté sur la figure. On peut choisir ce motif par l'intermédiaire d'une interface utilisateur, par exemple une interface sur une tablette.
La détermination de la transformation vise à définir une matrice de rotation et une matrice de translation et éventuellement un coefficient d'homothétie qui font passer le motif de sa forme initiale (référencée 306) à la position qu'il doit avoir pour que projeté par le vidéoprojecteur, il apparaisse comme désiré au milieu de la surface réelle 302. En appliquant la transformation géométrique, on obtient le motif à projeter 307.
Sur la figure 3B, on a représenté le système 300 après que la surface réelle 302 ait été tournée. Sur l'image acquise 305, on va déterminer la nouvelle position de la surface réelle, pour en déduire une nouvelle transformation géométrique à appliquer au motif 306. On obtient un nouveau motif à projeter 307. Ainsi, l'utilisateur qui souhaite pouvoir dessiner plus aisément peut tourner la surface réelle 302, et le motif projeté 303 tournera également dès que le système 300 aura traité une nouvelle image acquise.
Sur la figure 4, on a représenté une surface réelle 400 vue par un module d'acquisition d'image.
La surface réelle 400 comporte une pluralité de marquages 401 à 406 ayant tous une forme carrée et un motif noir et blanc.
La surface réelle et la position de chacun de ces marquages est connue préalablement à la mise en œuvre d'un procédé tel que celui décrit en référence à la figure 1. Ici, tous les marquages sont différents. De ce fait, la détection d'un seul marquage permet de connaître la position de la surface réelle 400.
On peut noter que pour détecter les marquages, on peut mettre en œuvre un traitement de seuillage (« thresholding » en anglais), puis mettre en œuvre un traitement d'image pour identifier les formes carrées qui peuvent être des marquages. On peut ensuite analyser les carrés pour identifier les marquages.
Sur la figure 5A, on a représenté un système de projection d'un motif 500. Ce système est configuré pour la projection, par un vidéoprojecteur 501, sur un objet tridimensionnel 502.
Cette figure est représentée du point de vue du module d'acquisition d'image utilisé pour mettre en œuvre le procédé de projection de motif.
L'objet tridimensionnel 502 est ici un parallélépipède et deux de ses faces comportent des marquages 504 et 505 pour pouvoir les identifier sur l'image acquise.
Pour obtenir une bonne projection, on peut sélectionner dans une bibliothèque d'objets tridimensionnels un parallélépipède virtuel. Cet objet devra être placé dans le monde virtuel en lieu et place de l'objet réel dans le monde réel.
Après avoir été placé, il est possible de mettre en œuvre un ajustement de l'objet virtuel par rapport à l'objet réel, par exemple en projetant les contours (par exemple un maillage) de l'objet virtuel pour vérifier s'ils correspondent à ceux de l'objet réel.
A partir des marquages 504 et 505 visibles sur l'image acquise, on peut mettre en œuvre un recalage du monde virtuel. Ici, on voit que la face de l'objet réel qui comporte le marquage 504 est dans le champ du vidéoprojecteur 201, on peut donc projeter une portion du motif qui doit être représentée sur cette face.
A cet effet, dans le monde virtuel, on applique le motif (un éclair) à l'objet virtuel tridimensionnel.
Ensuite, on peut projeter le motif appliqué à l'objet et tel que vu depuis un point de vue associé au vidéoprojecteur et obtenir le motif projeté 503. Ceci revient à déterminer une transformation géométrique à appliquer au motif. En fait, on considère ici que le vidéoprojecteur est une caméra dans le monde virtuel.
On peut noter que pour appliquer le motif à l'objet virtuel tridimensionnel, on peut mettre en œuvre des techniques d'application de texture bien connu dans le domaine de l'imagerie en trois dimensions. Par exemple, on peut utiliser l'interface de programmation bien connue de l'homme du métier sous le nom « OpenGL », par exemple la version OpenGL 3.3.
Sur la figure 5B, on a représenté le système 500 après que l'utilisateur ait tourné l'objet 502. La face portant le marquage 505 est dans le champ du vidéoprojecteur (alors qu'elle était occultée sur la figure 5A), et on peut donc projeter une deuxième portion du marquage 503 en forme de visage souriant. La face portant le marquage 504 se trouve occultée sur l'image et on a représenté en transparence le marquage 504 et l'éclair qui a été réalisé.
Sur la figure 6, on a représenté un mode de mise en œuvre dans lequel on utilise un instrument d'écriture 600 pour dessiner un motif 601 en essayant de reproduire un motif projeté 602.
L'instrument d'écriture 600 comporte un motif 603 qui est ici en noir et blanc et qui permet de détecter la position de l'instrument d'écriture sur une image acquise lorsqu'un procédé de projection de motif est mis en œuvre. En déterminant la position de l'instrument d'écriture, on détermine la position de la pointe de l'instrument d'écriture.
Dès lors, on peut déterminer la distance DI entre cette pointe et le motif projeté 602. L'homme du métier saura choisir une méthode de détermination de distance appropriée. Si la distance DI est supérieure à un seul prédéfini, on peut générer une alerte pour l'utilisateur. Par exemple une alerte sonore ou visuelle ou par vibration.
Sur la figure 7, on a représenté une variante dans laquelle un instrument d'écriture 700 a été utilisé pour dessiner un motif 701 pour essayer de reproduire un motif projeté 702.
Sur l'image acquise utilisée pour projeter le motif 702 selon un procédé tel que défini ci-avant, on peut voir le motif qui a déjà été dessiné et déterminer la distance D2 entre le motif dessiné et le motif projeté. L'homme du métier saura choisir une méthode de détermination de distance appropriée.
Si la distance D2 est supérieure à un seuil prédéfini, on peut générer une alerte pour l'utilisateur. Par exemple une alerte sonore ou visuelle ou par vibration.
Dans d'autres applications, il n'est pas nécessaire de déterminer la distance entre le motif dessiné et le motif projeté. Par exemple, le motif projeté 702 peut n'être projeté qu'une fois qu'il a été détecté qu'un motif 703 a été dessiné.
Ceci peut permettre de réaliser des dessins complexes en plusieurs étapes, ou encore de réaliser des dessins en plusieurs couleurs en projetant les portions de motif associées à une même couleur simultanément avant de passer à d'autres portions de motif associées à une autre couleur.
Sur la figure 8A on a représenté un motif de calibration qui peut être utilisé pour calibrer le module d'acquisition d'image et également pour calibrer le vidéoprojecteur utilisé pour mettre en œuvre un procédé de projection de motif tel que défini ci-avant.
Ce motif de calibration de la figure 8A peut par exemple avoir été imprimé sur une surface réelle ; il sera alors observé sur une image acquise par un module d'acquisition d'image.
Il peut également être projeté par le vidéoprojecteur. Une image du motif de calibration projeté pourra également être acquise à des fins de calibration.
Sur la figure 8B, on a représenté le phénomène de distorsion en barillet qui peut être observé lors de la calibration du module d'acquisition d'image ou lors de la calibration du vidéoprojecteur. Sur la figure 8C, on a représenté le phénomène de distorsion en coussinet qui peut être observé lors de la calibration du module d'acquisition d'image ou lors de la calibration du vidéoprojecteur.
On peut ainsi mettre en œuvre des traitements d'images pour corriger ces deux phénomènes et obtenir une projection précise du motif.
Les modes de mise en œuvre et de réalisation décrits ci-avant permettent d'obtenir une prévisualisation d'un dessin sur une surface réelle d'une manière qui permet de faciliter la réalisation d'un dessin sur cette surface réelle.

Claims

REVENDICATIONS
1. Procédé de projection d'un motif sur une surface réelle, le procédé comprenant :
- une acquisition (E01) d'une image sur laquelle la surface réelle est au moins partiellement visible,
- une détermination (E02) d'une transformation géométrique à appliquer audit motif de sorte qu'une fois projeté par un vidéoprojecteur, ledit motif apparaisse en un emplacement prédéfini de la surface réelle, la détermination de la transformation géométrique tenant compte de ia position du vidéoprojecteur et de la position de ladite surface réelle obtenue au moyen de ladite image acquise,
- une application (E03) de la transformation géométrique audit motif, - une projection (E04) dudit motif par ledit vidéoprojecteur.
2. Procédé selon la revendication 1, dans lequel on acquiert une image sur laquelle au moins une portion d'un marquage lié à ladite surface réelle est visible, on détecte ladite au moins une portion du marquage, et ladite détermination de la transformation géométrique tient compte de la détection du marquage.
3. Procédé selon la revendication 2, dans lequel ledit motif est projeté dans une zone de la surface réelle distincte de celle comprenant le marquage.
4. Procédé selon la revendication 2 ou 3, dans lequel au moins une portion d'un marquage supplémentaire lié à ladite surface réelle est en outre visible sur ladite image, on détecte ladite au moins une portion de marquage supplémentaire, et ladite détermination de la transformation géométrique tient compte de la détection du marquage supplémentaire.
5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel la transformation géométrique comprend une homographie.
6. Procédé selon l'une des revendications 1 à 5, dans lequel la surface réelle est une surface d'un objet réel tridimensionnel, le procédé comprenant en outre :
- un recalage d'un monde virtuel à partir de ladite image,
- un placement dans le monde virtuel recalé d'un objet virtuel tridimensionnel,
- une application du motif à l'objet virtuel tridimensionnel,
- ladite projection du motif comprenant une projection du motif appliqué à l'objet virtuel tridimensionnel et tel que vu depuis un point de vue associé au vidéoprojecteur.
7. Procédé selon la revendication 6, dans lequel l'objet virtuel tridimensionnel est choisi dans une bibliothèque d'objets virtuels tridimensionnels.
8. Procédé selon la revendication 6 ou 7, comprenant une étape préalable d'ajustement de l'objet virtuel tridimensionnel.
9. Procédé selon l'une quelconque des revendications 1 à 8, comprenant une calibration préalable d'un module d'acquisition d'image utilisé pour ladite acquisition d'image et dans laquelle on acquiert une image sur laquelle un premier motif de calibration est au moins partiellement visible.
10. Procédé selon l'une quelconque des revendications 1 à 9, comprenant une calibration préalable du vidéoprojecteur dans laquelle on projette un deuxième motif de calibration et on acquiert une image sur laquelle le deuxième motif de calibration est au moins partiellement visible.
11. Procédé selon l'une quelconque des revendications 1 à 10, comprenant une étape de détection de la position d'un instrument d'écriture sur ladite image.
12. Procédé selon la revendication 11, dans la détection de la position de l'instrument d'écriture est mise en œuvre au moyen d'un motif de détection lié à l'instrument d'écriture et au moins partiellement visible sur ladite image.
13. Procédé selon la revendication 11 ou 12, dans lequel on génère une alerte si la position de l'instrument d'écriture s'éloigne d'une position attendue.
14. Procédé selon l'une quelconque des revendications 1 à 13, comprenant une étape de détection d'un motif dessiné par l'utilisateur sur la surface réelle.
15. Procédé selon la revendication 14, dans lequel on génère une alerte si le motif dessiné par l'utilisateur diffère d'un motif attendu.
16. Système de projection d'un motif sur une surface réelle comprenant :
- un module d'acquisition d'image (201),
- un vidéoprojecteur (202),
- un processeur (204),
- une mémoire (205) comprenant des instructions exécutables par le processeur pour :
- acquérir (206a) une image sur laquelle une surface réelle est au moins partiellement visible au moyen dudit module d'acquisition d'image,
- déterminer (206b) une transformation géométrique à appliquer audit motif de sorte qu'une fois projeté par un vidéoprojecteur, ledit motif apparaisse en un emplacement prédéfini de la surface réelle, la détermination de la transformation géométrique tenant compte de la position du vidéoprojecteur et de la position de ladite surface réelle obtenue au moyen de ladite image acquise,
- appliquer (206c) la transformation géométrique audit motif,
- projeter (206d) le motif par le vidéoprojecteur.
17. Système selon la revendication 16, comportant en outre un marquage configuré pour être lié à ladite surface réelle, ladite mémoire comprenant en outre des instructions pour détecter au moins une portion du marquage, et déterminer la transformation géométrique en tenant compte de la détection du marquage.
18. Programme d'ordinateur comportant des instructions pour l'exécution des étapes d'un procédé selon l'une quelconque des revendications 1 à 15 lorsque ledit programme est exécuté par un ordinateur.
19. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes d'un procédé selon l'une quelconque des revendications 1 à 15 lorsque ledit programme est exécuté par un ordinateur.
PCT/FR2018/053259 2017-12-14 2018-12-13 Procede et systeme de projection d'un motif en realite mixte WO2019115951A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/772,224 US11276235B2 (en) 2017-12-14 2018-12-13 Method and system for projecting a pattern in mixed reality

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1762176 2017-12-14
FR1762176A FR3075426B1 (fr) 2017-12-14 2017-12-14 Procede et systeme de projection d'un motif en realite mixte

Publications (1)

Publication Number Publication Date
WO2019115951A1 true WO2019115951A1 (fr) 2019-06-20

Family

ID=61913287

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2018/053259 WO2019115951A1 (fr) 2017-12-14 2018-12-13 Procede et systeme de projection d'un motif en realite mixte

Country Status (3)

Country Link
US (1) US11276235B2 (fr)
FR (1) FR3075426B1 (fr)
WO (1) WO2019115951A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT524138A1 (de) * 2020-09-02 2022-03-15 Stops & Mops Gmbh Verfahren zur Emulation eines mit einer Maske teilabgedeckten Scheinwerfers

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0622451D0 (en) * 2006-11-10 2006-12-20 Intelligent Earth Ltd Object position and orientation detection device
WO2013023705A1 (fr) * 2011-08-18 2013-02-21 Layar B.V. Procédés et systèmes permettant la création de contenu à réalité augmentée
US10067568B2 (en) * 2012-02-28 2018-09-04 Qualcomm Incorporated Augmented reality writing system and method thereof
US20150262426A1 (en) * 2012-08-28 2015-09-17 University Of South Australia Spatial Augmented Reality (SAR) Application Development System
US10297082B2 (en) * 2014-10-07 2019-05-21 Microsoft Technology Licensing, Llc Driving a projector to generate a shared spatial augmented reality experience
US20160371884A1 (en) * 2015-06-17 2016-12-22 Microsoft Technology Licensing, Llc Complementary augmented reality

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
AUDET S ET AL: "A user-friendly method to geometrically calibrate projector-camera systems", COMPUTER VISION AND PATTERN RECOGNITION WORKSHOPS, 2009. CVPR WORKSHOPS 2009. IEEE COMPUTER SOCIETY CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 20 June 2009 (2009-06-20), pages 47 - 54, XP031606973, ISBN: 978-1-4244-3994-2 *
BANDYOPADHYAY D ET AL: "Dynamic shader lamps : painting on movable objects", AUGMENTED REALITY, 2001. PROCEEDINGS. IEEE AND ACM INTERNATIONAL SYMPO SIUM ON NEW YORK, NY, USA 29-30 OCT. 2001, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 29 October 2001 (2001-10-29), pages 207 - 216, XP010568072, ISBN: 978-0-7695-1375-1, DOI: 10.1109/ISAR.2001.970539 *
EMMANUEL IARUSSI ET AL: "The drawing assistant : automated drawing guidance and feedback from photographs", PROCEEDINGS OF THE 26TH ANNUAL ACM SYMPOSIUM ON USER INTERFACE SOFTWARE AND TECHNOLOGY, UIST '13, 1 January 2013 (2013-01-01), New York, New York, USA, pages 183 - 192, XP055484894, ISBN: 978-1-4503-2268-3, DOI: 10.1145/2501988.2501997 *
JÉRÉMY LAVIOLE ET AL: "Interaction en réalité augmentée spatiale pour le dessin physique", 5 December 2013 (2013-12-05), XP055484858, Retrieved from the Internet <URL:http://www.theses.fr/2013BOR15260/document> [retrieved on 20180614] *
STEPHANIE ROSENTHAL ET AL: "Augmenting on-screen instructions with micro-projected guides", PROCEEDINGS OF THE 12TH ACM INTERNATIONAL CONFERENCE ON UBIQUITOUS COMPUTING, UBICOMP '10, ACM PRESS, NEW YORK, NEW YORK, USA, 26 September 2010 (2010-09-26), pages 203 - 212, XP058333492, ISBN: 978-1-60558-843-8, DOI: 10.1145/1864349.1864391 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT524138A1 (de) * 2020-09-02 2022-03-15 Stops & Mops Gmbh Verfahren zur Emulation eines mit einer Maske teilabgedeckten Scheinwerfers

Also Published As

Publication number Publication date
FR3075426A1 (fr) 2019-06-21
FR3075426B1 (fr) 2021-10-08
US11276235B2 (en) 2022-03-15
US20210074066A1 (en) 2021-03-11

Similar Documents

Publication Publication Date Title
US20020061130A1 (en) Image processing apparatus
FR2681967A1 (fr) Procede et appareil pour modifier les couleurs d&#39;une image a l&#39;aide d&#39;un ordinateur.
EP3156843A1 (fr) Dispositif et procédé pour reconstruire en trois dimensions la tête et le corps
CN102449680A (zh) 信息呈现装置
TW201527683A (zh) 混合真實性聚光燈
FR3023632A1 (fr)
EP2626838A1 (fr) Procédé, dispositif et système de génération d&#39;une représentation texturée d&#39;un objet réel
FR3043235A1 (fr) Calibration d&#39;un systeme de mapping video
WO2019115951A1 (fr) Procede et systeme de projection d&#39;un motif en realite mixte
FR3062229A1 (fr) Procede d&#39;affichage sur un ecran d&#39;au moins une representation d&#39;un objet, programme d&#39;ordinateur, dispositif et appareil electroniques d&#39;affichage associes
FR3039028A1 (fr) Procede et dispositif d&#39;affichage de scene tridimensionnelle sur une surface d&#39;affichage de forme arbitraire non plane
TWI569173B (zh) 物件數位影像呈現技術
US20210118213A1 (en) Systems and methods for three dimensional object scanning
EP3642803A1 (fr) Procédé d&#39;application de texture en réalité augmentée, système et kits correspondants
CN102169597B (zh) 一种平面图像上物体的深度设置方法和系统
WO2010072912A1 (fr) Dispositif de numerisation tridimensionnelle a reconstruction dense
FR3066304A1 (fr) Procede de compositon d&#39;une image d&#39;un utilisateur immerge dans une scene virtuelle, dispositif, equipement terminal, systeme de realite virtuelle et programme d&#39;ordinateur associes
CN113487729A (zh) 三维模型的表面数据处理方法、系统及存储介质
WO2011033186A1 (fr) Procédé de numérisation tridimensionnelle d&#39;une surface comprenant la projection d&#39;un motif combiné
FR3005517A1 (fr) Procede de commande d&#39;une interface graphique pour afficher des images d&#39;un objet tridimensionnel
EP1702472A2 (fr) Procede et systeme de determination du deplacement d un pixe l, et support d enregistrement pour la mise en oeuvre du pro cede
EP2626837A1 (fr) Système de création de représentations tridimensionnelles à partir de modèles réels ayant des caractéristiques similaires et prédéterminées
EP3724749B1 (fr) Appareil pour application de réalité augmentée
Lange et al. Proxy Painting.
FR3068803A1 (fr) Procede et dispositif de traitement de donnees d&#39;un environnement de realite virtuelle.

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: 18833483

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18833483

Country of ref document: EP

Kind code of ref document: A1