BACKGROUND OF THE INVENTION

Field of the Invention

The invention relates to e-commerce, and, more particularly, to a means to assist the user in remote selection of goods (clothing, footwear, accessories, etc.) to which the concept of size applies by assessing whether the size of the goods corresponds to the shape and body measurements of the user.

Related Art

In recent years, the use of the traditional simplest size system, such as [height]-[chest girth]-[waist girth]-[hip girth] or [height]-[shoulder size]-[hip size] in the clothing trade, or [size]-[fullness] in the footwear trade, has been gradually supplanted by the use of more complex parametric models or geometric models of the user's body, which can be used to analyze a particular garment, shoes, accessories, etc. (hereafter, for brevity, referred to as “garment”, “clothing” or “clothes”).

The tendency to use such models is due to several factors, among which are a desire of retailers to reduce the number of returns of clothes that “did not fit” for any reasons, and a transition of clothing manufacturers to the use of “computer” clothing patterns instead of the traditional “paper” clothing patterns. In order to obtain “computer” clothing patterns, production computer models or physical dummies (mannequins, dress forms, etc.) are used, for which parametric models are specified. Such production models are usually created based on statistical data obtained by sampling representative measurements of population on a certain territory. In other words, production models usually fairly accurately describe at least the most common types of human shapes in a given country, corresponding to at least 80-90% of the population.

It gives an opportunity, having executed optical scanning of a body of the user and having constructed its geometrical (in particular, three-dimensional) and/or parametric model, to compare this model with the corresponding production models used at tailoring, and remote selection of garments most suitable to the user based on body measurements and the shape of the body.

In addition, it makes it possible to visualize these items of clothing on the user, i.e., to present a realistic image of one garment or several items of clothing in combination, on the screen of an electronic device. In this case, the user has the opportunity to examine in detail the depicted garment (or himself/herself in this clothing) from different angles and distances, on different situational background (which can be chosen from the library), in different lighting (day, evening, artificial), etc.

It is expected that all these measures should facilitate more meaningful purchases of clothing and, consequently, a significant reduction in the number of returns.

Thus, the task of helping the user in remote clothing selection can be divided into several stages: determination of anthropometric dimensional parameters of the user (in particular, his/her body measurements), determination of dimensional parameters of garments, assessment of correspondence of garments to the user's body based on analysis of these parameters and, optionally, visualization of garments on the user's digital avatar.

Determining the user's body measurements may include building a model of the user's body. Approaches to construction of three-dimensional model of a body of the user, determination of its anthropometric dimensional parameters and their comparison with dimensional parameters of garments are described in a set of patent and non-patent documents.

US2015206341A1 (Method for providing a three dimensional body model) describes the application of segmentation by body parts on a 3D image, the application of a swivel body skeleton model, the construction of a canonical model, as well as partially describes the determination of shape parameters and canonical parameters of the pose of a parametric model by minimizing the loss function, taking into account the visible points, minimizing the errors of an arbitrary model by the Gauss-Newton method, and the construction of an arbitrary three-dimensional model of the surface by changing the parameters of the canonical model transformation based on 3D image (in arbitrary shape and arbitrary pose) according to the morphing field graph. This document does not describe the construction of the morphing field graph by determining the vertices of the parametric model and refining the shape parameters and canonical parameters of the parametric model pose taking into account the results of the canonical three-dimensional surface model.

EP2674913A1 (Three-dimensional object modelling fitting & tracking), EP3358527A1 (Apparatus and method to generate realistic rigged three dimensional (3D) model animation for viewpoint transform), EP3382648A1 (Three-dimensional model generating system, three-dimensional model generating method, and program), RU2014152713A1 (Body Measurement), US2012019517A1 (Automatic generation of 3D character animation from 3D meshes), US2013187919A1 (3D body modeling, from a single or multiple 3D cameras, in the presence of motion), US2013286012 A1 (3D body modeling, from one or more depth cameras, in the presence of articulated motion), US2015356767A1 (Rapid avatar capture and simulation using commodity depth sensors), US2016110595A1 (Fast 3D model fitting and anthropometrics using synthetic data), US2017140578A1 (Depth camera based human-body model acquisition method and network virtual fitting system), US2017337732A1 (Human body representation with non-rigid parts in an imaging system), WO2010019925A1 (Method and apparatus for estimating body shape), WO2013087084A1 (Method and apparatus for estimating a pose), WO2014053198A1 (Co-registration—simultaneous alignment and modeling of articulated 3D shapes), WO2015021381A1 (Real-time reconstruction of the human body and automated avatar synthesis), WO2016207311A1 (Skinned multi-person linear model) describe the application of segmentation by body parts on a 3D image, the application of an articulated body skeleton model, the construction of a canonical model, as well as partially describing the determination of shape parameters and canonical parameters of the parametric model pose by minimizing the loss function taking into account visible points and building an arbitrary three-dimensional surface model by changing the transformation parameters of the canonical model based on the 3D image (in arbitrary shape and arbitrary pose) according to the morphing field graph. These documents do not describe the construction of the morphing field graph by determining the vertices of the parametric model, minimizing the errors of the arbitrary model by the Gauss-Newton method, and specifying the shape parameters and canonical parameters of the parametric model pose taking into account the results of the canonical three-dimensional surface model.

US2008180448A1 (Shape completion, animation and marker-less motion capture of people, animals or characters), US2013226528A1 (Perceptually guided capture and stylization of 3D human figures), and US2013342527A1 (Avatar construction using depth camera) describe the application of an articulated body skeleton model, the construction of a canonical model, as well as partially describing the determination of shape parameters and canonical parameters of the parametric model pose by minimizing the loss function taking into account visible points, and building an arbitrary three-dimensional surface model by changing the transformation parameters of the canonical model based on the 3D image (in arbitrary shape and arbitrary pose) according to the morphing field graph. These documents do not describe the application of segmentation by body parts on the 3D image, the construction of the morphing field graph by determining the vertices of the parametric model, minimizing the errors of the arbitrary model by the Gauss-Newton method, and refining the shape parameters and canonical parameters of the parametric model pose taking into account the results of the canonical three-dimensional surface model.

RU2615911C1 (Methods and systems for building a realistic 3D user avatar for virtual dressing room), US2010306082A1 (Garment fit portrayal system and method), US2014035901A1 (Animating objects using the human body), US2014375635A1 (Methods and systems for generating a three dimensional representation of a subject), US2015213646A1 (Method and system for constructing personalized avatars using a parameterized deformable mesh), WO2014037939A1 (System and method for deriving accurate body size measures from a sequence of 2D images), WO2016073841A1 (Scan data retrieval with depth sensor data) describe the construction of a canonical model, as well as partially describing the determination of shape parameters and canonical parameters of the parametric model pose by minimizing the loss function taking into account visible points, and building an arbitrary three-dimensional surface model by changing the transformation parameters of the canonical model based on the 3D image (in arbitrary shape and arbitrary pose) according to the morphing field graph. These documents do not describe the application of a swivel body skeleton model, the application of segmentation by body parts on a 3D image, the construction of a morphing field graph by determining the vertices of the parametric model, minimizing errors of an arbitrary model by the Gauss-Newton method, and specifying the shape parameters and canonical parameters of the parametric model pose taking into account the results of the canonical three-dimensional surface model.

US2019122424A1 (Generation of body models and measurements), WO2013174671A1 (A method and a system for generating a realistic 3D reconstruction model for an object or being) describe the application of segmentation by body parts in a 3D image, the application of a swivel body skeleton model, the construction of a canonical model, as well as partially describe the determination of shape parameters and canonical parameters of the pose of a parametric model by minimizing the loss function taking into account visible points. These documents do not describe the construction of the morphing field graph by determining the vertices of the parametric model, minimizing the errors of the arbitrary model by the Gauss-Newton method, construction of an arbitrary three-dimensional surface model by changing the transformation parameters of the canonical model based on the 3D image (in arbitrary shape and arbitrary pose) according to the morphing field graph, and refinement of the shape parameters and canonical parameters of the parametric model pose by taking into account the results of the canonical three-dimensional surface model.

Document [A1] describes a method of generation of a 3D model of a human body based on a set of images (depth maps) with the use of segmenting and articulation, by changing the parameters of shape and pose.

Document [A2] describes the SCAPE model of the human body built from one static image (depth maps) and a set of images using markers. The method includes segmentation, articulation, determination and modification of shape and pose parameters.

Document [A3] provides an overview of various approaches to the generation of a 3D model of the human body.

Document [A4] describes details of generation of a skeletal structure of 3D models for animation.

Document [A5] describes the method of generation of a generalized 3D model of the human body (FAUST) using optical markers.

Document [A6] describes the method of generation of a 3D model of the human body using the DeepCut method for segmentation and articulation and the SMPL statistical model for changing the parameters of shape and pose. Alignment of compositions pose according to DeepCut with SMPL model was carried out by minimization of target function German-McClure.

Document [A7] provides a comparative overview of 3D human body models: SCAPE, BlendSCAPE, Dyna, S-SCAPE, SMPL and RealtimeSCAPE. The vertex-based approach is shown to be more accurate than the triangle-based approach.

In document [A8], the issues of muscle rendering at changing the parameters of the shape and the pose of the 3D model of the human body are considered.

In document [A9,] the issues of generation of visible surfaces (skinning) of 3D models based on skeleton approach are considered.

In document [A10], questions of generation of visible surfaces (skinning) of 3D models with use of Dual Quaternions are considered.

Document [A11] describes the principle of operation of the DeepWrinkles neural network (Facebook AI Research) for 3D modeling of clothes on a person.

In document [A12], the issues of generation of visible surfaces (skinning) of 3D models based on skeleton approach are considered. Smoothing Laplacian regularization is discussed.

Document [A13] compares the skeleton subspace deformation (SSD) and pose space deformation (PSD) methods when morphing a pose.

Document [A14] describes a 3D human body model, the Skinned Multi-Person Linear Model (SMPL).

In document [A15], the issues of generation of 3D model surface of human body from the point of view of skeleton-muscular model are considered.

Document [A16] describes a statistical 3D model of the human body S-SCAPE with pose normalization by Wuhrer et al. (WSX) and Neophytou and Hilton (NH).

Document [A17] describes a local-predictive approach to obtaining anthropometric measurements by transforming a point cloud using a random regression forest.

Document [A18] describes the application of Generative Adversarial Networks (GANs) for the generation of surfaces of the 3D model of the human body.

In document [A19], approaches to implementation of parameters of the shape and the pose of 3D model of a human body are discussed.

In document [A20], questions of parametrization of the shape of 3D models of a human body are considered.

Document [A21] describes the approach (SobolevFusion) to the generation of a 3D model of the human body from a single RGB-D data stream with the application of a gradient flow in Sobolev space.

Document [A22] describes how to obtain a 3D model of a human body for a virtual fitting room from data from a single depth camera for domestic use. The method includes segmentation and articulation with subsequent extraction of the nearest variant in size from the database. It is claimed that the method is workable in real time.

Document [A23] describes the application of a refined skeleton approach (using characteristic examples) to the generation of the 3D model surface.

Document [A24] describes obtaining a 3D model of a human body by the Semantic Parametric Reshaping method (SPRING)—using 23 semantic dimensional parameters.

Document [A25] describes how to obtain a 3D model of a human body from a single depth camera image.

Document [A26] suggests a method for obtaining a 3D model of a human body from the data of a single depth camera (BodyFusion) based on skeleton-embedded surface fusion (SSF) and graph-node deformations. It is asserted that the method is resistant to noise and data omissions.

Document [A27] suggests a way to obtain a 3D model of the human body from data from a single depth camera (DoubleFusion) using the Double Node Graph and Joint motion tracking.

Document [A28] describes a method of reconstructing the surface of a 3D model of a human body based on images in clothing taken from a depth camera. The method is based on minimizing the target function specified by the open parts of the body surface (without clothes).

Document [A29] describes a method of generation of a 3D model of the human body using segmenting and articulation.

Document [A30] describes how to build a 3D model of a human body using a single 3D camera and several inertial sensors attached to the human body.

In these non-patent documents, the general approaches, algorithms and mathematical details of various ways of implementation of 3D models of a human body are discussed. No technical solution solving the problem of the present invention by the same means has been found in the prior art.

Ways of comparing data on the user's body with data on the garment are also described in many patent and non-patent documents.

Documents US2006287877A1 (Matching the fit of individual garments to individual consumers), US2009276291A1 (System and method for networking shops online and offline), U.S. Pat. No. 6,546,309B1 (Virtual fitting room) describe, at least in part, the availability of input data (1) on the user's body and data (2) on garments, conversion and/or filtering the input data, comparison of data (1) and (2) by analyzing the target function, imposing restrictions (boundary conditions) on the target function, the results of the analysis—determination of the global optimum of the target function, output data—recommendations to the user on the selection of clothing based on the results of the analysis of the target function. These documents do not describe comparison of data (1) and (2) using a neural network and the presence of at least two layers in the neural network, with the first layer implementing the network's internal representation of human anthropometric dimensional parameters, and the second layer implementing the network's internal representation of the dimensional parameters of a garment (or brand).

Documents US2014040041A1 (Garment fitting system and method), US2017039622A1 (Garment size recommendation and fit analysis system and method), US2002188372A1 (Method and system for computer aided garment selection), WO0217160A2 (Method and system for generating a recommendation for a selection of a piece of clothing), US2003028436A1 (Method and system for selling clothes), US2004093105A1 (Method for custom fitting of apparel), US2014180864A1 (Personalized clothing recommendation system and method), US20090210320A1 (System and method for comparative sizing between a well-fitting source item and a target item), US2004083142A1 (System and method for fitting clothing), US2002138170A1 (System, method and article of manufacture for automated fit and size predictions), US2009193675A1 (Systems and methods for collecting body measurements), describe the presence of input data (1) on the user's body and data (2) on garments, comparison of data (1) and (2) by analyzing the target function, imposition of restrictions (boundary conditions) on the target function, the results of the analysis—determination of the global optimum of the target function, the output data—recommendations to the user on the selection of garments based on the results of the analysis of the target function. These documents do not describe the transformation and/or filtering of input data, data comparison (1) and (2) using a neural network and the presence of at least two layers in the neural network. The first layer implements the network's internal representation of the human anthropometric dimensional parameters, while the second layer implements the network's internal representation of the dimensional parameters of a garment (or brand).

Documents US2005049816A1 (System and method for assisting shoe selection), and US2011099122A1 (System and method for providing customers with personalized information about products), describe at least partially the availability of input data (1) about the user's body and data (2) about garments, the conversion and/or filtering of input data, the comparison of data (1) and (2) by analyzing the target function, the results of the analysis—the determination of the global optimum of the target function, the output data—recommendations to the user for the selection of garments based on the results of the analysis of the target function. These documents do not describe the imposition of restrictions (boundary conditions) on the target function, data comparison (1) and (2) using a neural network and the presence of at least two layers in the neural network, with the first layer implements the network's internal view of the anthropometric dimensional parameters of a person, and the second layer implements the network's internal view of the dimensional parameters of the garment (or brand).

Documents WO2010014599A1 (A distributed matching system for comparing garment information and buyer information), US2011184831A1 (An item recommendation system), US2012259581A1 (Apparatus, system and method for providing garment fitting identification), US20110295711A1 (Apparel fit advisory service), US20060059054A1 (Apparel size service), US2002178061A1 (Body profile coding method and apparatus useful for assisting users to select wearing apparel), US2007198120A1 (Computer system for rule-based clothing matching and filtering considering fit rules and fashion rules), US2016155186A1 (Digital wardrobe using simulated forces on garment models), US2007022013A1 (Fitting systems), US2009234489A1 (Fitting systems), U.S. Pat. No. 6,741,728B1 (Footwear sizing database method), WO2009090391A1 (Garment filter generation system and method), US2011231278A1 (Garment sizing system), WO2008033138A1 (Matching the fit of garments to consumers), US2008235114A1 (Matching the fit of individual garments to consumers), US2009287452A1 (Method and apparatus for accurate footwear and garment fitting), EP2752804A1 (Method and system for optimizing size consultation upon the ordering of trousers), US2010293076A1 (Method and system for providing fitting and sizing recommendations), US2015161707A1 (Method and system for recommending a size of a wearable item), U.S. Pat. No. 6,701,207B1 (Method for integrating information relating to apparel fit, apparel sizing and body shape variance), US2011055054A1 (Method for online selection of items and an online shopping system using the same), US2014379515A1 (Method for providing a custom-like fit in ready-to-wear apparel), US2003076318A1 (Method of virtual garment fitting, selection, and processing), US2006020482A1 (Methods and systems for selling apparel), US2019266654A1 (Methods and systems for virtual fitting rooms or hybrid stores), US2014279289A1 (Mobile application and method for virtual dressing room visualization), US20120084987A1 (Shaped fit sizing system), EP3171323A1 (System and method for identifying and dispensing one or more customized articles of clothing), U.S. Pat. No. 6,879,945B1 (System and method for sizing footwear over a computer network), US2005022708A1 (Systems and methods for improving apparel fit), US2019073335A1 (Using artificial intelligence to determine a size fit prediction), US2007005174A1 (Virtual apparel fitting) at least partially describe the availability of input data (1) on the user's body and data (2) on the items of clothing, comparison of data (1) and (2) by analyzing the target function, the results of the analysis—determining the global optimum of the target function, the output data—recommendations for the user to select items of clothing based on the results of the analysis of the target function. These documents do not describe the transformation and/or filtering of input data, imposition of restrictions (edge conditions) on the target function, data comparison (1) and (2) using a neural network and the presence of at least two layers in the neural network, with the first layer implementing the network's internal view of the human anthropometric dimensional parameters, and the second layer implementing the network's internal view of the dimensional parameters of the garment (or brand).

Document [C1] describes the application of a neural network to generate a realistic image of a garment object on a human digital avatar.

Document [C2] describes the application of a neural network to transfer an image of a garment object from one person's digital avatar to another person's digital avatar.

Document [C3] describes the application of a nonlinear regression model based on a neural network to generate a realistic image of a garment object on a human digital avatar and the application of a recursive neural network to calculate the folds of garments in dynamics.

Document [C4] describes the application of a wavelet neural network for remote clothing sizing.

Document [C5] provides an overview of approaches to implementing virtual dressing rooms. Reference is made to the use of neural networks.

Document [C6] provides an overview of approaches to the implementation of clothing recommendation systems. The use of neural networks is mentioned.

Document [C7] describes the application of a convolution neural network to generate a realistic image of a garment object on a human digital avatar in various poses.

Document [C8] describes the application of spline transformation based on a convolution neural network to generate a realistic image of a garment object on a human digital avatar in various poses.

Document [C9] describes the application of a multilayer neural network to the virtual fitting room implementation.

Document [C10] describes the application of a competitive neural network and a self-organizing neural network to simulate jackets to implement a virtual fitting room.

Document [C11] describes the application of a convolution neural network to generate a realistic image of a garment object on a human digital avatar.

Document [C12] describes the application of a neural network to generate a realistic image of a garment object on a human digital avatar.

Document [C13] describes the application of a deep neural network for the implementation of a cosmetic recommendation system.

Document [C14] describes the application of a neural network to generate a realistic image of a garment object on a human digital avatar.

Document [C15] mentions the use of a neural network to create a realistic image of a garment object on a human digital avatar.

Document [C16] provides an overview of approaches to implementing virtual dressing rooms. The use of neural networks is mentioned.

Document [C17] provides an overview of approaches to implementing virtual dressing rooms.

These non-patent documents describe approaches to the use of neural networks, including multilayered ones, to solve problems associated with the remote clothing selection.

Thus, the technical solutions of available prior art solve with a certain degree of success only fragmented problems that are in some sense related to the remote clothing selection. No technical solution that comprehensively solves the problem of the present invention is found in the prior art.

SUMMARY OF THE INVENTION

The object of this invention is to determine anthropometric parameters of a user, to automatically assess the matching between a garment and the shape and the parameters of a user's body in real time, to develop and provide the user with recommendations on the selection of a particular garment and, optionally, to visualize a garment on a digital avatar of that user in a virtual fitting room, including when changing his/her pose.

The technical result of this invention is an increase in the accuracy of user's body model, an increase in the efficiency of user's remote clothing selection (faster and more accurate selection), an improvement in the user experience of remote purchase, an increase in the user's satisfaction with the purchase of clothing (customer satisfaction) and, ultimately, an increase in online sales of clothing and a decrease in the proportion of clothing returned after purchase due to unsatisfactory matching of the shape and measurements of user's body.

The problem of the invention was solved using the method of remote clothing selection, which includes:determination of anthropometric dimensional parameters of a person;determination of dimensional parameters of one or more garments;comparison of a person's anthropometric dimensional parameters with dimensional parameters of one or more garments to determine the degree to which these garments match a person;optional visualization of a garment; andperforming the selection of clothing.

Determination of person's anthropometric dimensional parameters may include the generation of a parametric model of a person. A parametric model of a person may be built based on a geometrical model of a person, based on the physical measuring of person's body, based on questionnaire data, based on two-dimensional image data (e.g., photographic image), based on the physical measurement of a reference garment, based on optical measurement data of a reference garment. A person's parametric model can be generated using a neural network and machine learning algorithm.

The geometrical model of a person can be built based on three-dimensional scanning of a human body, including optical scanning. Optical scanning may include the use of a depth camera, laser rangefinder and other similar means to obtain data of a human body surface. A human geometric model can be generated using a neural network and a machine learning algorithm.

Anthropometric dimensional parameters of a person can be determined using linear algebra and/or a machine learning algorithm. At the same time, it is possible to implement an invention where first the intermediate anthropometric dimensional parameters of a person are determined using linear algebra, and then the final anthropometric dimensional parameters of a person are determined using a machine learning algorithm. Regression model can be used in the machine learning algorithm.

Dimensional parameters of a garment can be determined based on a production geometric model, which can be a physical mannequin, three-dimensional digital model, a set of patterns, etc. Dimensional parameters of a garment may also be determined based on a production parametric model, which may represent at least part of the technical documentation of the garment, e.g., technical pack (tech pack) and/or specification sheet (spec sheet) and/or bill of materials and/or grading rules. A production parametric model may represent at least part of the size chart of a brand.

Dimensional parameters of a garment may be determined based on the physical measurement of a garment or based on the optical measurement of a garment, in particular using a computer vision algorithm.

A comparison of the dimensional parameters of a person and a garment may include an analysis of the target function. In another case, comparing the dimensional parameters of a person and a garment may involve the use of a neural network and machine learning algorithm. A neural network may contain at least two layers, one of which acts as an encoder and the other as a decoder. The layer that acts as an encoder can be trained separately from the layers that act as a decoder. In another case, the layer that acts as an encoder can be trained together with the layers that act as decoders. For example, the initial training of an encoder can be done separately from the decoder, and further training can be done together with the decoder.

Dimensional parameters of a person and/or garment may include at least one of the following: height, distance, girth and distance along a curved surface. For a comparison of the dimensional parameters of a person and a garment, these dimensional parameters may be adapted to a comparable type or data format.

The garment can be visualized on a virtual mannequin or on the user's avatar. The avatar (digital twin) can be a 3D model of a human body and can provide a realistic image of a human head. The avatar can incorporate the individual characteristics of the user's appearance—skin color, eye shape and color of the hair, age manifestations, etc. Visualization can include the possibility of setting and/or changing the pose of the avatar (poses, gestures, etc.), angle, scale (zooming in/zooming out), situational background, lighting conditions, etc.

The selection of a garment can be made from a list of garments ranked by the degree to which these garments match the user. The matching of a garment may include physical fitness to body shape and stylistic matching. Selection of a garment may include a refusal to make a selection of a garment, i.e., selection of a garment is optional and may not be available in some embodiments of the invention (e.g., if the user was unable to select the required garment).

The method to determine a person's anthropometric dimensional parameters may include:building a geometric model of a person's body;building a parametric model of a person's body based on a geometric model;determination of anthropometric dimensional parameters of a person based on a parametric model of a person's body.

Determination of anthropometric dimensional parameters of a person can be supplemented by determination of a type of a person's shape.

Building a geometric model of a human body may involve obtaining a depth map and transforming the depth map into a point cloud. Converting a depth map into a point cloud may involve applying a bilateral filter. Construction of geometrical model of a human body can be carried out for a canonical human pose.

The construction of a parametric model may include:calculation of initial approximation of pose parameters;refinement of pose parameters;refinement of pose and shape parameters;construction of a morphing field graph that allows the transformation of the geometric model from a canonical pose and/or shape into an arbitrary pose and/or shape.

At calculation of initial approximation of pose parameters the information on position of characteristic points of a skeleton of the person in parametric model can be used. Characteristic points can correspond to the centers of the human joints and/or those parts of the skeleton that are considered when segmenting a person's body from the point of view of pose changing.

Refinement of the pose parameters may include minimizing the pose parameter error function. The pose parameter error function can include the sum of squares of angles between pairs of segments connecting characteristic points of the human skeleton in a geometric model and in a parametric model, and/or the sum of squares of distances between pairs of points from many characteristic points in a geometric model and in a parametric model.

At first the pose parameter error function that is equal to the sum of squares of angles between pairs of segments connecting characteristic points of a human skeleton in geometrical model and in parametric model can be used, and then the pose parameter error function that is equal to the sum of squares of distances between pairs of points from the set of characteristic points in geometrical model and in parametric model can be used.

Refinement of pose and shape parameters may include minimizing the error function by pose and shape parameters. The error function on pose and shape parameters may be the following:

Einit⁡(P,θ,β)=∑x∈P⁢⁢minv∈U⁢ρ⁡(||v-x||)=∑v∈U⁢⁢minx∈P⁢ρ⁡(||v-x||),

where P is the set of visible points x of geometrical model, θ are pose parameters, β are shape parameters, U is the set of visible vertices v of parametric model with pose and shape parameters (θ, β), p is Huber function with parameter δ equal to 1.

The morphing field graph can have vertices containing coordinates in three-dimensional space, Euclidian transformation parameters, and a Euclidian transformation weighting factor. The graph may also have edges between the vertices, providing the connectivity of the morphing field, i.e., the smoothness of the geometric model of the required shape in an arbitrary pose, which can be built based on the parametric model. The smoothness of such transformation can be used in generation of user's avatar for high-quality visualization of a garment.

The generation of the vertices of the graph may include:selecting the value of the neighborhood radius δ;division of space into voxels with the side 2δ;determination of the coordinates of a vertex as medoid coordinates for each voxel;assigning a weighting factor equal to 2δ for each vertex.

Edges between the vertices of the graph can be formed when these vertices are among the closest, for example eight adjacent vertices on the shortest path in the graph.

The Euclidian transformation of an arbitrary point x may include:identifying graph vertexes vcthat are the nearest to point x;calculation of the weighted sum of double quaternions of these vertices, with the weight w of each double quaternion being calculated by the following formula:

w=exp⁡(-||x-vc⁢||222⁢vw2)

or taken as 0, if ∥x−vc∥2>3vw, where vwis the vertex weighting factor;normalization of the summation result;building orthogonal transformation matrix R and transfer vector t, with the result of point x transformation being Rx+t.

A parametric model of the human body can be constructed using a neural network and machine learning algorithm, which may include using the human skeleton characteristic point error function in two-dimensional space, the human skeleton characteristic point error function in three-dimensional space, the SMPL model parameter error function, and the depth map error function. A regression model can be used in the machine learning algorithm.

Determining the dimensional parameters of a garment may include obtaining dimensional parameters of a garment from a production model. A production model may be a parametric model, and obtaining dimensional parameters of a garment may include conversion of production model parameters into dimensional parameters of a garment. Production model can be a geometrical model, and obtaining dimensional parameters of a garment can include transformation of geometrical production model into a parametric production model and subsequent transformation of production model parameters into dimensional parameters of a garment.

The production geometrical model can be a physical mannequin, a three-dimensional digital model or a set of patterns. A production parametric model may represent at least part of the process documentation for a garment and/or at least part of the brand size chart.

Determining the degree of matching between person's body and a garment may involve comparing person's and garment dimensional parameters using a target function that takes into account the weight of each dimensional parameter on the degree of matching between person's body and a garment.

A target function can be the following, and can be minimized

ℱ=∑i=1M⁢|DPcust-D⁢Pprod|ai,

where M is the number of dimensional parameters, DPcustis a dimensional parameter of a person, DPprodis a dimensional parameter of a garment, aiis a weighting factor.

Determining the degree of matching between a garment and a person's body may include determining the recommended size S of the garment:
S=Σ(wisi)/Σwi+ds,

where siis the size corresponding to i-th body measurement, wiis the weight factor of i-th body measurement, ds is at least one optional correction value. The correction value can be specified individually for each user or for a group of users, e.g., those who have shapes of the same type. The size calculated this way can be additionally adjusted to the size chart of the brand.

The result can be a list of garments in which garments can be placed according to the fit score, and garments with the same fit score can additionally be ranked according to the fit value error.

Dimensional parameters of a person may represent the dimensional parameters of a reference garment, i.e., such a garment that matches the user perfectly. In particular, parameters of a reference garment may be used directly when analyzing another garment, for example, the same brand belonging to the same size chart, or may be recalculated into dimensional parameters in another size chart, if the ratios of dimensional parameters in these size charts are known in advance.

Determining the degree to which a garment corresponds to a person may include consideration of stylistic recommendations, such as those related to the type of the user's shape.

The degree to which a garment corresponds to a person may include comparing the parameters of a person and a garment using a neural network and machine learning algorithm. The machine learning algorithm can be implemented as a classifier. In another case, a machine learning algorithm can be implemented as an algorithm of a gradient boosting of a solution tree.

Visualization of an garment may include:obtaining an image of a person's body in an arbitrary pose;obtaining a parametric model of a person's body;obtaining a parametric model of a garment;changing parameters of parametric model of a person's body for it to match an arbitrary pose; andgenerating an image of a garment on a person in an arbitrary pose.

A user image can be obtained from any device capable of generating such an image, for example, a smartphone, tablet, game console, laptop, desktop computer, TV with a camera, etc. The resulting user image in an arbitrary pose may contain a depth map and/or two-dimensional image. Parameters of a pose and/or a shape of the parametric model of a user's body can change so that shape and pose of user's avatar correspond to the obtained image. Such processing may be performed in real time.

It is assumed that the shape parameters of a user's body parametric model generally correspond to the shape of a user's body. Nevertheless, if in the course of algorithm processing a substantial difference between the shape of the user's avatar and the user's shape pictured on the obtained image is revealed, the parametric model can be corrected. The need for such correction may be caused by both a limited accuracy of the parametric model generation and actual changes in the user's body shape after the parametric model generation, for example, increase or decrease in body weight, targeted treatment of some muscle groups, change in posture, pregnancy, etc.

