SYSTEM AND METHOD FOR DISPLAYING SELECTED GARMENTS ON A COMPUTER-SIMULATED MANNEQUIN
A method and system for providing a computer-simulated environment for displaying a selected mannequin wearing a combination of selected garments. In one aspect, three-dimensional scenes containing mannequin and garment objects are created within a three-dimensional modeling environment, and a simulation is performed using a cloth simulator within the modeling environment to model the construction, draping, and collision of the garment with the mannequin. Rendering frames corresponding to a variety of garments, mannequins, garment dimensions, garment styles, wearing patterns, viewing angles, and other parameters, are then generated from which images can be rendered and displayed in accordance with user requests.
Latest MY VIRTUAL MODEL INC. Patents:
- SYSTEM AND METHOD FOR DISPLAYING SELECTED GARMENTS ON A COMPUTER-SIMULATED MANNEQUIN
- SIMULATION-ASSISTED SEARCH
- SYSTEM AND METHOD FOR DISPLAYING SELECTED GARMENTS ON A COMPUTER-SIMULATED MANNEQUIN
- System and method for displaying selected garments on a computer-simulated mannequin
- System, method and article of manufacture for automated fit and size predictions
FIELD OF THE INVENTION
The present invention relates to methods and systems for producing images of computer-simulated clothing.
The concept of a computerized or simulated dressing environment is a user-operated display system that generates computer-simulated images of a human figure wearing one or more selected garments. The simulated human figure thus represents a virtual model or mannequin for modeling clothes. Such an environment should ideally provide the user with the capability of viewing the mannequin and garment from a plurality of viewpoints to give a three-dimensional experience. By allowing the user to also select in some manner the particular human figure that is to wear the garment, an individualized experience is provided that allows the user to see what selected clothes look like when worn by different people.
The degree to which the system takes into account the physical forces acting on a garment as it is worn determine in large part how visually realistic the computer-generated images are. Simulation of the draping and collision of a garment object with a mannequin using a three-dimensional modeling environment (e.g., Maya, manufactured by Alias Wavefront of Toronto, Canada) allows the rendering of a two-dimensional image of the mannequin and garment that is quite realistic in appearance. It is desirable in a simulated dressing environment, however, for a user to be able to select among a variety of different mannequins and/or garments for displaying. Accordingly, a simulated dressing environment could be implemented with a three-dimensional modeling environment simply by simulating particular dressing scenes in response to user inputs and then rendering two-dimensional images directly from the simulation scene. The massive amount of computation required to perform a collision and draping simulation for any particular mannequin and garment, however, makes three-dimensional modeling an impractical way by itself in most commonly available computing environments to generate the multiple images of different mannequins and garments needed to implement a dressing environment.
SUMMARY OF THE INVENTION
A primary aspect of the present invention is a method for efficiently producing images of a computer-simulated mannequin wearing a garment or garments, the geometries of which are defined by selected mannequin and garment parameter values. An image, as the term is used herein, includes any spatial function derived from a perspective projection of a three-dimensional scene either existing in the real world or as modeled by a computer. This definition includes not only the usual two-dimensional intensity image, such as that formed upon the human retina when viewing a scene in the real world or that captured on photographic film through a camera aperture, but also two-dimensional functions incorporating both intensity and phase information for use in wavefront reconstruction (i.e., holograms). The present invention primarily deals with digital images (i.e., discrete two-dimensional functions) derived from three-dimensional scenes by the process of rendering. An image should therefore be taken to mean any form of such rendered data that is capable of being represented internally by a computer and/or transmitted over a computer network. When referring specifically to a visually informative representation that can actually be perceived by the human eye, such as that produced on a computer display, the term visual image will be used.
In one embodiment, the present invention includes performing a draping and collision of a garment with a mannequin within a three-dimensional simulation scene to generate a rendering frame from which an image of a mannequin wearing a garment can be rendered, and further includes generating rendering frames containing mannequins and garments as defined by selected parameter values by shape blending the mannequins and/or garments of previously generated rendering frames. Linear combinations of the parameter values of previously generated rendering frames (e.g., as produced by interpolating between such values) are thus used to generate rendering frames with the desired mannequin and garment.
In another embodiment, the invention includes the generation of a rendering frame containing a mannequin wearing a particular garment from a collision and draping simulation and the further addition of garment constraints corresponding to particular predefined shells around the mannequin that mimic the way the garment behaves when worn with another particular garment. These garment constraints are defined so as to conform to various dressing conventions or rules relating to how clothes are worn, e.g., the wearing of a coat over a shirt. Rendering frames corresponding to different versions of a garment may thus be produced, where the information contained within separately generated rendering frames corresponding to particular versions of garments can then be used to produce a composite image of the garments worn in combination. For example, images can be rendered separately from each such rendering frame and layered upon one another in an appropriate order, or a composite image can be rendered using the depth information contained in each rendering frame. In this way, mixing and matching of garments on a mannequin is facilitated.
Another embodiment of the invention relates to a computerized dressing environment for displaying a selected garment worn by a selected mannequin in which garment images rendered from a three-dimensional simulation scene are stored in a repository and displayed in accordance with user inputs. The garment images include images of a plurality of garments, including versions of garments, and renderings of each garment from a plurality of viewpoints so as to provide a three-dimensional experience to the user. In order to display a selected mannequin wearing selected multiple garments, garment images corresponding to particular versions are selected in accordance with versioning rules by a versioning rule interpreter. The appropriate garment images are then layered upon an image of a selected mannequin to create a composite image. The layering order of the garment images is dictated by compositing rules derived from dressing conventions. Another embodiment of the invention relates to a method for efficiently populating such a garment image repository with garment images by using the methods described above.
Other objects, features, and advantages of the invention will become evident in light of the following detailed description of exemplary embodiments according to the present invention considered in conjunction with the referenced drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
DETAILED DESCRIPTION OF THE INVENTION
The present invention is a system and method for efficiently providing a computer-simulated dressing environment in which a user is presented with an image of a selected human figure wearing selected clothing. In such an environment, a user selects parameter values that define the form of the human figure, referred to herein as a virtual mannequin, that is to wear the selected clothing. Such parameters may be actual body measurements that define in varying degrees of precision the form of the mannequin or could be the selection of a particular mannequin from a population of mannequins available for presentation to the user. One type of user may input parameter values that result in a virtual mannequin that is most representative of the user's own body in order to more fully simulate the experience of actually trying on a selected garment. Other types of users may select mannequins on a different basis in order to obtain images such as for use in animated features or as an aid in the manufacturing of actual garments. The particular garment to be worn by the virtual mannequin is selected from a catalogue of available garments, where each garment may be further selected according to, e.g., style, color, or physical dimension.
In order to provide a more realistic representation of the physical fitting of the garment on the mannequin, an image of a virtual mannequin wearing selected garments is generated by using a three-dimensional modeling environment that provides a cloth simulation of the garment interacting with the mannequin. This provides a more visually accurate representation presented to the user in the form of a two-dimensional image rendered from the three-dimensional model. The simulation is performed by constructing three-dimensional models of the garment and mannequin using vector or polygon-based graphics techniques, referred to as garment and mannequin objects, respectively, and placing the garment and mannequin objects together in a three-dimensional simulation scene. A scene in this context is a three-dimensional data structure that is made to contain one or more three-dimensional objects and defines their relative position and motion. Such a scene may be organized into a number of frames representing discrete points during a simulation or animation sequence. An image may be rendered from a frame by computing a perspective projection of the objects contained in the scene in accordance with a specified viewpoint and lighting condition.
After constructing a simulation scene containing the mannequin and garment, the garment is fitted on the mannequin by simulating the draping and collision of the garment with the mannequin due to physical forces. Such a simulation may facilitated by modeling garments as individual panels corresponding to the sewing patterns used to construct the actual garments, where the panels are closed surfaces bounded by curved or straight lines. Texture mapping may be used to map different cloth fabrics and colors, and ornamental details such as buttons, collars, and pockets to the garment object in the simulation scene. One or more rendering frames are then created by performing a draping and collision simulation of the garment with the mannequin, which includes animating the mannequin from a dressing pose to a display pose. The animation takes place within the three-dimensional modeling system that simulates motion and collision of the cloth making up the garment as the mannequin moves. A two-dimensional image for presentation to the user may then be rendered from the rendering frame in accordance with a selected camera position that determines the particular view that is rendered. In certain embodiments, the simulation may provide for a plurality of display poses by the mannequin with rendering frames generated for each such display pose.
It is desirable for the simulated environment to have the capability of displaying a number of different mannequins wearing garments of different dimensions. One way of providing this functionality is to perform the simulation and rendering as described above separately and in real-time for each selected mannequin and garment. Simulating the draping and collision of a garment with a mannequin is computationally intensive, however, and real-time simulation may thus not be practical in most situations. In order to reduce the computational overhead associated with displaying multiple mannequins or garments of selected dimensions, the simulation may be fully performed with representative mannequins and garments defined by reference parameters to generate three-dimensional reference rendering frames. Shape blending techniques are used to modify the mannequin and/or garment parameters to desired selected values by interpolating between the corresponding parameter values of reference rendering frames. In accordance with the invention, garment and/or mannequin parameter values corresponding to the desired changes are modified within a rendering frame, and a partial further simulation is performed that creates a new rendering frame containing the changed mannequin and/or garment. For example, the dimensions of the individual panels making up the garment may be changed, with the resulting panels being then blended together within the simulation environment. Similarly, the dimensions of a mannequin may be changed by blending the shapes of previously simulated mannequins. The parameters are thus keyframed within the simulation sequence, where keyframing, in this context, refers to assigning values to specific garment or mannequin parameters in a simulation scene and generating a new frame using a linear combination of parameter values (e.g., interpolation or extrapolation) generated from a previous simulation. In this way, a new rendering frame is generated that contains a mannequin with different measurements and/or a garment with a different dimensions as selected by the user. Thus, the simulation need only be fully performed once with a representative garment and mannequin, with keyframing of parameter values within the three-dimensional modeling system being used to generate rendering frames containing a particular mannequin and garment as selected by a user. Simulation of the modified garment interacting with the mannequin as the partial further simulation takes place requires much less computation than a complete resimulation of the draping and collision of a changed garment over a mannequin. Only when the user selects a garment or mannequin that cannot be generated by linearly combining parameters from a previously generated rendering frame does a full draping and collision simulation need to be performed.
Another desirable feature of a simulated dressing environment is for the user to be able to display a mannequin wearing multiple selected garments (e.g., outfits). In one embodiment of the invention, images of a mannequin wearing multiple selected garments are generated by simulating the simultaneous draping and collision of multiple garments with the virtual mannequin in a single simulation scene to create a single rendering frame. In this embodiment, dressing rules may be used that dictate how garments should be layered in the simulation scene in accordance with dressing conventions. Changes to the mannequin and/or garment can then made to the rendering frame by the keyframing and partial further simulation technique described above. The two-dimensional image of the mannequin wearing the multiple garments could then be rendered using the Z-coordinates (where the Z-coordinate represents depth in the three-dimensional model) of the mannequin and garment objects in the rendering frame. Such rendering using Z-coordinates may be performed, for example, based on individual pixels (Z-buffering) or by sorting individual polygons based upon a representative Z-coordinate.
As noted above, however, draping and collision simulation is computationally intensive, and even more so in the case of multiple garments, making simulation of user-selected mannequins wearing selected multiple garments in real time in order to render images therefrom impractical in most situations. Therefore, in a presently preferred embodiment of the invention, two-dimensional images of mannequins and single garments are pre-rendered from rendering frames generated as described above and stored in a repository for later display in response to user inputs, where the garment images correspond to a plurality of different garments and views of such garments. The methods described above enable such a repository to be efficiently populated. In addition, in order to avoid the computational complexity of pre-rendering two-dimensional images corresponding to every possible combination of multiple garments on every possible mannequin, multiple versions of single garments may be defined which are then simulated and rendered into two-dimensional images, where the two-dimensional renderings of specific garment versions may then be combined with renderings of specific versions of other garments according to versioning rules. Such versions of garments enable the garment images rendered from separate simulations to be combined in a composite image.
Particular versions of particular garments are simulated and rendered into two-dimensional garment images in a manner that mimics the physical interaction between multiple garments in a simultaneous draping and collision simulation. An approximation to such a simulation is effected by creating each version of a garment in a manner such that the garment is constrained to reside within or outside of particular predefined shells defined around the mannequin. Different versions of a garment are created by first simulating the draping and collision of a representative garment with a mannequin as described above. Shells are then defined around the mannequin, and portions of the garment are constrained to reside either inside or outside of particular shells according to the particular version being created. Versioning rules then define which versions of the garment objects are to be used when particular multiple garments are selected to be worn together by the mannequin. Collisions of multiple garments with one another are thus resolved in a manner that allows single garments to be independently simulated and rendered for later combination into a composite image. Such combination may be performed by layering the images in a prescribed order or by using the depth information contained in the rendering frame of each garment.
The pre-rendered two-dimensional garment images are then combinable into a composite display, with the particular version images to be used being chosen by a version rule interpreter that interprets the versioning rules. Such two-dimensional images of garment versions are generated for all of the possible mannequins and single garments that the user is allowed to select for display. A repository of two-dimensional images is thus created where the individual images can be layered upon one another in order to display a selected mannequin wearing selected multiple garments. The two-dimensional images are layered upon one another in a prescribed order to create the final composite two-dimensional image presented to the user. The layering is performed using a rule-based interpreter that interprets compositing rules that define in what order specific garments should be appear relative to other garments. Such compositing rules are based upon dressing rules that define the how clothes are conventionally worn. For example, one such dressing rule is that jackets are worn over shirts, and the corresponding compositing rule would be that the rendering of a jacket should be layered on top of the rendering of a shirt.
Independently pre-rendering single garments also allows for the computational overhead to be further reduced by generating a rendering frame with a representative mannequin and garment, and then modifying the garment and/or mannequin by keyframing the garment and/or mannequin parameter values in a rendering frame and performing a partial further simulation of the interaction of the modified garment with the mannequin as described above. The two-dimensional images derived from the rendering frames may also include renderings from a plurality of camera positions. A user may then select a particular viewing perspective in which to view the selected mannequin wearing selected multiple garments, with the pre-rendered images used to make up the composite image being rendered from the camera position corresponding to that viewing perspective. The pre-rendering procedure can thus be performed for a population of mannequins and for a plurality of different garments and versions of garments at a plurality of camera positions to generate a repository of two-dimensional garment images that may be combined together in response to user selection of garment and/or mannequin parameter values.
In accordance with the invention, a system for displaying a selected computer-simulated mannequin wearing a selected garment includes a user interface by which a user selects a mannequin image and one or more garments to be worn by the mannequin from a repository of pre-rendered garment images, the mannequin image and garment images then being combined to form a composite image. The system then further includes a versioning rule interpreter for choosing among versions of the garment images for displaying in accordance with versioning rules that define which versions of particular garments are permitted when combined with another particular garment. Versions of garment images may also be defined which differ in a fitting characteristic (e.g., loose, snug, etc.) or a wearing style (e.g., shirt tucked in or out, sweater buttoned or unbuttoned, etc.) A compositing rule interpreter is provided for displaying the two-dimensional images of versions of user-selected garments chosen by the versioning rule interpreter and of a selected mannequin in a layered order dictated by compositing rules.
In a presently preferred exemplary embodiment of the invention to be described further below, a repository of garment images is created which can be drawn upon to provide a simulated dressing environment for displaying a selected computer-simulated mannequin wearing selected garments. In such a system, a user interface enables the user to select a particular mannequin (e.g., derived from specified body measurements) and particular garments to be worn by the mannequin. Certain embodiments may allow the user to also specify the viewpoint of the image eventually rendered to a display and/or the display pose of the mannequin. Exemplary applications of the dressing environment include its use as part of a computerized catalogue in which users select particular garments to be worn by particular mannequins and as a tool for use by animators to generate images of dressed mannequins that can be incorporated in an animation sequence. The dressing environment can also be used to simulate the appearance of garments as an aid to the manufacture of actual garments from predefined sewing patterns.
In one embodiment, the garment images are two-dimensional images of garments that are pre-rendered from three-dimensional rendering frames generated by simulating the draping and collision of a garment with a mannequin in a three-dimensional modeling environment. The repository contains garment images that differ according to garment type, style, dimensions, and the particular mannequin which is to be shown wearing the garment. Additionally, different versions of each garment are provided which are generated so as to be combinable with other garment images on a selected mannequin by layering the garment images on a two-dimensional image of a selected mannequin in a prescribed order. Versions of garments are also defined that differ according to a fitting characteristic (e.g., loose fit, snug fit, etc.) or a wearing style (e.g., buttoned, unbuttoned, tucked in or out, etc.). Finally, the repository contains the garment images rendered from a plurality of camera positions. A user is thus able to dress a selected mannequin with selected garments and view the mannequin from a plurality of angles. In another embodiment, pre-rendered images corresponding to a plurality of mannequin display poses are also stored in the repository. In another alternate embodiment, rendering frames are stored in the repository after extraction of the garment object. After retrieving the appropriate garment from the repository (i.e., according to user selection and in accordance with versioning rules), an image can be rendered from an arbitrary camera position. Because the displayed images are ultimately derived from three-dimensional simulations, a visually realistic experience is provided to the user but in a much more efficient manner than would be the case if the simulations were performed in real time.
During the simulation process, a three-dimensional simulation scene is created from which one or more three-dimensional rendering frames can be generated. Garment images are then rendered from the rendering frames. Referring first to
For each type of garment G (i.e., shirt, pants, coat, etc.), a rendering frame can be generated as described above, and a garment image corresponding to the garment type is generated. In order to reduce the computational overhead involved in generating garment images that differ only with respect to certain garment parameter values such as garment dimensions and style, or with respect to mannequin parameter values that define the particular mannequin with which the draping and collision simulation of the garment takes place, a full draping and collision simulation starting with the garment panels is first performed for each garment type with a reference garment and a reference mannequin to thereby generate a reference rendering frame. The mannequin and/or garment parameter values are then modified in the reference rendering frame, with the geometry of the scene then being updated by the cloth solver in accordance with the internal dynamic model of the modeling environment. The three-dimensional modeling environment generates the modified mannequin and/or garment objects as linear combinations of parameters calculated in the prior reference simulation so that a full resimulation does not have to be performed. Thus only a partial resimulation needs to be performed to generate a new rendering frame containing the modified mannequin and/or garment.
As noted above, the population of garment images in the repository includes renderings of each garment from a plurality of viewing angles in order to simulate the three-dimensional experience for the ultimate user.
As noted above, a plurality of different versions of each garment image are created and stored in the repository in order to enable multiple garment images to be layered on a two-dimensional rendering of a mannequin, with the garments being rendered from rendering frames in an independent manner. Each version is defined to be combinable with one or more particular garments and is rendered from a rendering frame in which the garment is constrained to reside within or outside of particular predefined shells around the mannequin. The constraining shells serve to mimic the collisions with another garment that would take place were a simulation to be performed with that other garment.
When a composite display showing the mannequin wearing multiple selected garments is to be generated by the dressing environment, a versioning rule interpreter selects particular versions of the garments to be displayed in accordance with predefined versioning rules. A compositing rule interpreter then displays the two-dimensional images of the selected garments and of a selected mannequin in a layered order dictated by compositing rules. To illustrate by way of example,
The above-described preferred embodiment has thus been described as a system and method in which images of garments and mannequins that have been pre-rendered from frames of three-dimensional simulation scenes are stored in a repository for selective retrieval in order to from composite images.
Another aspect of the preferred exemplary embodiment described above is a display system for retrieving images from the image repository and combining the images into a composite image for displaying to a user. One possible implementation of such a display system is as a client and server communicating over a network, in which the client part of the system (i.e., the user interface) is a hypertext transport protocol (http) or web browser that receives and displays the composite images of the clothed mannequins that the user requests.
Other implementations of the system shown in could be used by professional animators to generate images of clothed characters or by garment designers to generate images of garments as they are designed for actual manufacture. In those cases, the system could be implemented either over a network or as a stand-alone machine. Such users may be expected to use the system for populating the image repository with garment images shown in
In another embodiment, rendering frames rather than images are stored in the repository and retrieved for display in response to user requests. Select objects such as garments are extracted from particular frames of simulation scenes containing select garments and mannequins to generate rendering frames that are stored in the repository. When a user selects a display of a particular mannequin and garment combination, the system, retrieves the appropriate rendering frames according to versioning rules and renders a composite image from a selected viewpoint. The particular viewpoint presented to the user at any one time is a static image, but it may be updated rapidly enough to give the impression of a continuously changing viewpoint. The images are rendered from the frames either simultaneously using the depth information contained therein, or separately from each frame with the separately rendered images then being displayed in layered order dictated by compositing rules. The functions of the system could be implemented on a stand-alone machine or distributed over a network, e.g., as where rendering frames are downloaded to a java applet executed by a web browser that renders the images displayed to the user.
In certain situations, available hardware performance may be such as to make it desirable to simulate draping and collision of select garments and mannequins according to user requests in real time. In such an embodiment, rendering frames are generated from the user-selected three-dimensional simulation scenes, and images for displaying to the user are then rendered. The simulation scene in this embodiment may be changed in accordance with user preferences, for example, animating the mannequin within the simulation to move from a dressing pose to a user-selected target pose before generating a rendering frame. Shape blending between previously generated rendering frames can be used to improve performance in generating rendering frames with modified garment and/or mannequin parameters. In order to display the mannequin wearing multiple garments, the garments can simultaneously simulated in a single scene, or separate simulations can be performed for each garment with the rendering frames generated therefrom being combined in accordance with versioning rules.
Although the invention has been described in conjunction with the foregoing specific embodiments, many alternatives, variations, and modifications will be apparent to those of ordinary skill in the art. Such alternatives, variations, and modifications are intended to fall within the scope of the following appended claims.
1. A method for producing an image of a computer-simulated mannequin wearing a garment as defined by selected mannequin and garment parameter values, comprising:
- generating objects corresponding to a representative mannequin and a garment placed in a simulation scene within a three-dimensional modeling environment;
- simulating draping and collision of the garment with the mannequin within the simulation scene to generate a three-dimensional rendering frame of the mannequin wearing the garment;
- constraining portions of the garment to reside within or outside of particular shells defined around the mannequin in the rendering frame; and
- rendering an image from the rendering frame.
Filed: Apr 29, 2011
Publication Date: Nov 10, 2011
Applicant: MY VIRTUAL MODEL INC. (Montreal)
Inventors: Carlos SALDANHA (St-Hilaire), Andrea M. Froncioni (Montreal), Paul A. Kruszewski (Montreal), Gregory J. Saumier-Finch (Outremont), Caroline M. Trudeau (Montreal), Fadi G. Bachaalani (Ville St-Laurent), Nader Morcos (Montreal), Sylvain B. Cote (Laurier-Station), Patrick R. Guevin (Verdun), Jean-Francois B. St. Arnaud (Outremont), Serge Veillet (Montreal), Louise L. Guay (Outremont)
Application Number: 13/098,178
International Classification: G06T 15/00 (20110101);