WO2021028728A1 - Способ и система для дистанционного выбора одежды - Google Patents
Способ и система для дистанционного выбора одежды Download PDFInfo
- Publication number
- WO2021028728A1 WO2021028728A1 PCT/IB2020/053263 IB2020053263W WO2021028728A1 WO 2021028728 A1 WO2021028728 A1 WO 2021028728A1 IB 2020053263 W IB2020053263 W IB 2020053263W WO 2021028728 A1 WO2021028728 A1 WO 2021028728A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- person
- dimensional
- garment
- parameters
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
- G06T2207/20028—Bilateral filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Definitions
- the invention relates to the field of electronic commerce.
- it relates to means for assisting the user in the remote selection of goods (garments, shoes, accessories, etc.) to which the concept of size is applicable, by assessing the conformity of the size of the goods to the shape and size of the user's body.
- production computer models or physical mannequins are used, for which parametric models are defined.
- Such production models are usually created from statistical data obtained from a sample of representative population measurements in a given area. In other words, production models usually describe quite accurately at least the most common types of figures of people in a particular country, corresponding to at least 80-90% of the population.
- the task of helping the user in the remote selection of clothing can be divided into several stages: determining the anthropometric parameters of the user (in particular, his dimensional characteristics), determining the dimensional characteristics of clothing items, assessing the suitability of clothing items to the user's body based on the analysis of these characteristics and, optionally , visualization of garments on the user's digital avatar.
- Determining the dimensional characteristics of the user may include building a model of the user's body. Approaches to constructing a three-dimensional model of the user's body, determining its dimensional features and their comparison with the dimensional features of garments are described in a variety of patent and non-patent documents.
- the document US2015206341 A1 (Method for providing a three dimensional body model) describes the use of segmentation by body parts on the 3D image, the use of a hinged model of the skeleton of the body, the construction of a canonical model, and also partially describes the determination of shape parameters and canonical parameters of the pose of a parametric model by minimizing loss functions taking into account visible points, minimization of errors of an arbitrary model by the Gauss-Newton method and construction of an arbitrary three-dimensional surface model by changing the transformation parameters of the canonical model based on the ZB image (in an arbitrary form and an arbitrary pose) according to the graph of the morphing field.
- This document does not describe the construction of a morphing field graph by defining the vertices of the parametric model and refining the shape parameters and canonical parameters of the pose of the parametric model, taking into account the results of the canonical three-dimensional surface model.
- EP2674913A1 (Three-dimensional object modeling fitting & tracking), EP3358527A1 (Apparatus and method to generate realistic rigged three dimensional (3D) model animation for view-point 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 anthropometries using synthetic data), US2017140578A1 (Depth camera-based human-body model acquisition method and network virtual fitting system), US2017337732A1 (Hu
- US2008180448A1 Shape completion, animation and marker-less motion capture of people, animals or characters
- US2013226528A1 Perceptually guided capture and stylization of 3D human figures
- US2013342527A1 Avatar construction using depth camera
- construction of the canonical model and also partially describes the determination of the shape parameters and the canonical parameters of the pose of the parametric model 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 ZO image (in free form and arbitrary pose) according to the graph of the morphing field.
- US2019122424A1 Generation of body models and measurements
- WO2013174671 A1 A method and a system for generating a realistic 3D reconstruction model for an object or being describes the use of segmentation by body parts in a 3D image, the use of a hinged model of the skeleton of the body, the construction of the canonical model, and also partially describes the determination of the shape parameters and the canonical parameters of the pose of the parametric model by minimizing the loss function taking into account the visible points.
- the document [A2] describes the SCAPE model of the human body, formed on the basis of one static image (depth maps) and multiple images using markers.
- the method includes segmentation, articulation, determination and modification of shape and pose parameters.
- Document [ ⁇ ] provides an overview of various approaches to the formation of a 3D model of the human body.
- the document [A4] describes the features of the formation of the skeletal structure of 3D models for animation.
- the document [A5] describes a method for generating a generalized ZR-model of the human body (FAUST) using optical markers.
- the document [A6] describes a method of forming a ZR-model of the human body using the DeepCut method for segmentation and articulation and the SMPL statistical model for changing shape and posture parameters.
- the alignment of the position of the DeepCut compositions with the SMPL model was performed by minimizing the Geman-McClure objective function.
- the document [A7] provides a comparative overview of 30-models of the human body: SCAPE, BlendSCAPE, Dyna, S-SCAPE, SMPL and RealtimeSCAPE.
- the vertex-based approach is shown to be more accurate than the triangle-based approach.
- the document [A8] discusses the issues of rendering muscles when changing the shape and pose parameters of a 3D model of a human body.
- the document [A9] deals with the formation of visible surfaces (skinning) of ZO-models based on the skeletal approach.
- the document [A10] deals with the formation of visible surfaces (skinning) ZO-models using dual quaternions (Dual Quaternions).
- the document [A12] deals with the formation of visible surfaces (skinning) of ZO-models based on the skeletal approach. Laplace smoothing taking into account the rigidness Laplacian regularization is discussed.
- Reference [A13] compares the skeleton subspace deformation (SSD) and pose space deformation (PSD) methods for pose morphing.
- the document [A14] describes the Skinned Multi-Person Linear model (SMPL) human body ZB model.
- the document [A15] discusses the formation of the surface of the 3D model of the human body from the point of view of the musculoskeletal model.
- [A16] describes the S-SCAPE statistical HR model of the human body with postural normalization according to Wuhrer et al. (WSX) and Neophytou and Hilton (NH).
- [A17] describes a locally predictive approach to obtaining anthropometric measurements by transforming a point cloud using a random regression forest.
- GANs Generative Adversarial Networks
- the document [A19] discusses approaches to the implementation of the shape and pose parameters of the 3D model of the human body.
- the document [A21] describes an approach (Sobol evFusion) for the formation of a 3 D-model of the human body from a single RGB-D data stream using a gradient flow in Sobolev space.
- the document [A22] describes the acquisition of a 3O-model of a human body for a virtual fitting room from the data of one depth camera for domestic purposes.
- the method includes segmentation and articulation with subsequent extraction from the base of the closest variant in size.
- the method is claimed to be operational in real time.
- the document [A23] describes the application of a refined skeletal approach (using characteristic examples) to generate the surface of a 3D model.
- the document [A24] describes the production of a ZR-model of the human body by the Semantic Parametric ReshapING method (SPRING) - using 23 semantic dimensional parameters.
- the document [A25] describes the acquisition of a 30-model of the human body from a single image from the depth camera.
- the document [A26] proposes a method for obtaining a ZO-model of a human body from the data of one depth camera (BodyFusion) based on skeleton-embedded surface fusion (SSF) and graph-node deformations. The method is claimed to be robust against noise and data gaps.
- the document [A27] proposes a method for obtaining a 3D model of a human body from data of one depth camera (DoubleFusion) using Double Node Graph and Joint motion tracking.
- the document [A28] describes a method for reconstructing the surface of a 3D model of a human body based on images in clothing obtained from a depth camera. The method is based on minimizing the objective function, which is determined by the open parts of the body surface (without clothes).
- the document [A29] describes a method of forming a ZB-model of a human body using segmentation and articulation.
- the document [A30] describes a method for constructing a ZZ-model of a human body using one ZO-camera and several inertial sensors attached to the human body.
- US2014040041 A1 Garment fitting system and method
- US2017039622A1 Garment size recommendation and fit analysis system and method
- US2002188372A1 Methodhod and system for computer aided garment selection
- W00217160A2 Methodhod and system for generating a recommendation for a selection of a piece of clothing
- US2003028436A1 Methodhod and system for selling clothes
- US2004093105A1 Methodhod 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, virtually simulating models of actual and target body shapes, ascertaining garment size fitting, and processing garment orders) at least partially describes the
- US2005049816A1 System and method for assisting shoe selection
- US2011099122A1 System and method for providing customers with personalized information about products
- W02010014599A1 (A distributed matching system for comparing garment information and buyer information), US2011184831 A1 (An item recommendation system), US2012259581 A1 (Apparatus, system and method for providing garment fitting identification), US20110295711A1 (Apparel fit advisory service), US20060059054Al (Apparel size service), US2002178061Al (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), US6741728B1 (Footwear sizing database method), W02009090391 A1 (Garment filter generation system and method), US2011231278A1 (Garment sizing system), W02008033138A1 garments to match consumers), US2008235114A1 (
- the document [C2] describes the use of a neural network to transfer an image of a garment from a digital avatar of one person to a digital avatar of another person.
- the document [S3] describes the application of a nonlinear regression model based on a neural network to generate a realistic image of a garment on a digital avatar of a person and the use of a recurrent neural network to calculate folds of clothing over time.
- the document [C4] describes the use of a wavelet neural network for remote sizing of clothes.
- the document [C 5] provides an overview of approaches to the implementation of virtual fitting rooms. The use of neural networks is mentioned.
- the document [R6] provides an overview of approaches to the implementation of recommendation systems for clothing using images obtained by the user himself.
- the document [C7] describes the use of a convolutional neural network to generate a realistic image of a garment on a digital avatar of a person in various poses.
- the document [C8] describes the application of a spline transform based on a convolutional neural network to generate a realistic image of a garment on a digital avatar of a person in various poses.
- the document [C9] describes the use of a multilayer neural network to implement a virtual fitting room.
- the document [C 10] describes the use of a competitive neural network and a self-organizing neural network for modeling shirts in order to implement a virtual fitting room.
- the document [C 11] describes the application of a convolutional neural network to form a realistic image of a garment on a digital avatar of a person.
- the document [C 12] describes the use of a neural network to form a realistic image of a garment on a digital avatar of a person.
- the document [C 13] describes the use of a deep neural network for the implementation of a recommender system for cosmetics.
- the document [C 14] describes the use of a neural network to form a realistic image of a garment on a digital avatar of a person.
- the document [C 15] mentions the use of a neural network to form a realistic image of a garment on a digital avatar of a person.
- the document [C 17] provides an overview of approaches to the implementation of virtual fitting rooms.
- the objective of the present invention is to determine the anthropometric parameters of the user, to automatically assess the conformity of the garment to the shape and size of the user's body in real time, to develop and provide the user with recommendations for choosing a particular garment, and, optionally, to visualize the garment on the digital avatar of this user in a virtual fitting room. , including when changing his posture.
- the technical result of the present invention is to improve the accuracy of the user's body model, increase the efficiency of the user's remote selection of clothes (acceleration and increase the accuracy of selection), improve the user's experience (user experience) from remote shopping, increase the user's satisfaction with the purchase of clothes (customer satisfaction) and, ultimately account, an increase in online sales of clothing and a decrease in the share of clothing returned after purchase due to unsatisfactory fit to the shape and size of the user's figure.
- the problem of the invention is solved using the method of remote selection of clothing, including:
- Determination of the dimensional characteristics of a person may include the formation of a parametric model of a person.
- a parametric model of a person can be formed on the basis of a geometric model of a person, based on data of physical measurement of a human body, based on survey data, based on data of a two-dimensional image (for example, a photographic image), based on data of physical measurement of a reference garment, based on data of optical measurement reference garment.
- a parametric human model can be formed using a neural network and a machine learning algorithm.
- the geometric model of a person can be formed based on the data of three-dimensional scanning of the human body, including optical scanning.
- Optical scanning may include the use of a depth camera, laser rangefinder, and other similar means to obtain data on the surface of the human body.
- a geometric model of a person can be formed using a neural network and a machine learning algorithm.
- Human dimensional attributes can be determined using linear algebra and / or using a machine learning algorithm.
- an embodiment of the invention is possible, in which first the intermediate dimensional characteristics of a person are determined using linear algebra, and then the final dimensional characteristics of a person are determined using a machine learning algorithm.
- a regression model can be used in a machine learning algorithm.
- the dimensional attributes of a garment can be determined based on a manufacturing geometric model, which can be a physical mannequin, a 3D digital model, a set of patterns, etc.
- the dimensional attributes of the garment can also be determined based on a manufacturing parametric model, which can be at least part of the technological documentation of the garment, for example, a tech pack and / or a spec sheet and / or bill of materials) and / or grading rules.
- the manufacturing parametric model may be at least a portion of the brand's dimensional grid.
- the dimensional characteristics of the garment can be determined based on the physical measurement of the garment or on the basis of the optical measurement of the garment, in particular using a machine vision algorithm. Comparison of the dimensional characteristics of a person and a garment can include an analysis of the objective function. In another case, the comparison of the dimensional characteristics of a person and a garment may involve the use of a neural network and a machine learning algorithm.
- a neural network can contain at least two layers, one of which acts as an encoder, and the others act as a decoder.
- the layer that acts as an encoder can be trained separately from the layers that act as a decoder.
- the layer acting as an encoder can be trained in conjunction with the layers acting as a decoder.
- the initial training of the encoder can be performed separately from the decoder, and further training can be performed in conjunction with the decoder.
- Dimensional features of a person and / or article of clothing may include at least one of the following: height, distance, girth, and curved distance. To compare the dimensional characteristics of a person and a garment, these dimensional characteristics can be reduced to a comparable type or data format.
- the visualization of a garment can be performed on a virtual mannequin or on a user's avatar.
- An avatar can be a 3D model of the human body and can provide a realistic representation of a person's head.
- the avatar can take into account the individual characteristics of the user's appearance - skin color, eye shape, type and color of hair, age-related manifestations, etc.
- Visualization can include the ability to set and / or change the position of the avatar (pose, gestures, etc.), angle, scale (zoom in or out), situational background, lighting conditions, etc.
- the selection of the garment may be made from a list of garments ranked according to the degree to which the garments are appropriate to the user. Apparel fit can include physical fit and stylistic fit. Choosing a garment may include not choosing a garment, i. E. the selection of the garment is optional and may not be present in some embodiments of the invention (for example, if the user was unable to find the desired garment).
- the definition of the dimensional characteristics of a person can be supplemented by the definition of the type of human figure.
- Building a geometric model of the human body may involve obtaining a depth map and converting the depth map to a point cloud. Converting the depth map to a point cloud can involve applying a bilateral filter. The construction of a geometric model of the human body can be performed for the canonical posture of a person.
- Building a parametric model can include:
- the characteristic points can correspond to the centers of the joints and / or those parts of the skeleton that are taken into account in the segmentation of the human body in terms of the possibilities of changing the posture.
- Refining the pose parameters may include minimizing the error function over the pose parameters.
- the posture parameter error function can include the sum of the squares of the angles between the pairs of segments connecting the characteristic points of the human skeleton in the geometric model and in the parametric model, and / or the sum of the squares of the distances between pairs of points from the set of characteristic points in the geometric model and in the parametric model. see also section 2.2.
- Refining the pose and shape parameters may include minimizing the error function on the pose and shape parameters.
- Pose and shape error function can be the following function: where P is the set of visible points x of the geometric model, Q are the pose parameters, b are the shape parameters, U is the set of visible vertices n of the parametric model with the pose and shape parameters (0, b), p is the Huber function with the parameter d equal to 1, see also section 2.2.
- the graph of a morphing field can have vertices containing coordinates in three-dimensional space, parameters of the Euclidean transformation, and the weight coefficient of the Euclidean transformation.
- the graph can also have edges between the vertices, which ensure the connectivity of the morphing field, i.e. smoothness of a geometric model of the required shape in an arbitrary pose, which can be built on the basis of a parametric model.
- the smoothness of this transformation can be important in the formation of the user's avatar for the purpose of high-quality visualization of the garment.
- the formation of the graph vertices can include:
- Edges between the vertices of the graph can be formed when these vertices are one of the closest, for example, eight neighboring vertices along the shortest path in the graph.
- Euclidean transform of an arbitrary point x can include:
- a parametric model of the human body can be built using a neural network and a machine learning algorithm, which can include the use of the error function for determining the characteristic points of the human skeleton in two-dimensional space, the error function for determining the characteristic points of the human skeleton in three-dimensional space, the error function for determining the parameters of the SMPL model, and depth map error functions, see also section 2.2.
- a regression model can be used in a machine learning algorithm.
- Determining the dimensional characteristics of the garment may include obtaining the dimensional characteristics of the garment from a manufacturing model.
- the manufacturing model may be a parametric model, and deriving the garment's dimensional attributes may include converting the parameters of the manufacturing model to the garment's dimensional attributes.
- the manufacturing model can be a geometric model, and obtaining the dimensional attributes of the garment can include converting the geometric manufacturing model to a parametric manufacturing model and then converting the parameters of the manufacturing model to dimensional attributes of the garment.
- the manufacturing geometry can be a physical manikin, a 3D digital model, or a set of patterns.
- the manufacturing parametric model may represent at least a portion of a garment's manufacturing documentation and / or at least a portion of a brand's dimensional grid.
- Determining the degree of conformity of a garment to a person may include comparing the dimensional characteristics of a person and a garment using an objective function that takes into account the influence of each dimensional characteristic on the degree of conformity of a garment to a person.
- the objective function can be a function where M is the number of dimensional characteristics, DP cust is the dimensional characteristic of a person, DP prod is the dimensional characteristic of a garment, is a weighting factor, and can be minimized.
- Determining the extent to which a garment fits a person may include determining the recommended size S of the garment:
- S S ( ⁇ n, $,) / 2lt, + ds, where Si is the size corresponding to the i-th dimensional feature, w is the weighting factor of the i-th dimensional feature, ds is at least one optional correction value.
- the correction value can be determined individually for each user or for a group of users, for example, with shapes of the same type. The size calculated in this way can be additionally adjusted in accordance with the size grid of the brand.
- the result can be a list of garments in which garments can be ranked according to fit rating, and garments with the same fit rating can be further ranked by fit error value.
- the dimensional features of a person may be dimensional features of a reference garment, i.e. such a garment, the correspondence of which to the user is not in doubt.
- the dimensional characteristics of a reference garment can be used directly in the analysis of another garment, for example, the same brand belonging to the same dimensional grid, or can be converted into dimensional characteristics in a different dimensional grid, if the ratios of dimensional characteristics in these dimensional grids are in advance are known.
- Determining how well a garment fits a person may involve considering stylistic guidelines, such as those related to the user's body type.
- Determining the degree of conformity of a garment to a person may involve matching the dimensional characteristics of a person and a garment using a neural network and a machine learning algorithm.
- a machine learning algorithm can be implemented as a classifier.
- a machine learning algorithm can be implemented as a decision tree gradient boosting algorithm.
- the visualization of the garment can include:
- the user's image can be obtained from any device capable of forming such an image, for example, from a smartphone, tablet, game console, laptop, desktop computer, TV equipped with a camera, etc.
- Received an image of a user in an arbitrary position may contain a depth map and / or a two-dimensional image.
- the parameters of the pose and / or shape of the parametric model of the user's body can be changed in such a way that the shape and posture of the user's avatar correspond to the resulting image. This processing can be done in real time.
- the shape parameters of the parametric model of the user's body generally correspond to the shape of the user's body.
- the parametric model can be corrected. The need for such a correction can be caused both by the limited accuracy of the formation of the parametric model, and by actual changes in the user's body shape after the formation of the parametric model, for example, an increase or decrease in body weight, purposeful development of certain muscle groups, changes in posture, pregnancy, etc.
- FIG. 1 shows a block diagram of an algorithm for processing scan results and building a user's body model based on depth maps.
- FIG. 2 shows an example of changing the scene to match the input data, from top to bottom: the scene surface in the canonical state, the input data is the point cloud of the input frame, the scene surface transformed according to the input data.
- FIG. 3 shows a hinged model of the human body skeleton, in which red (large) points enter many key points of the skeleton, blue (small) points do not enter it, and green segments correspond to the bones of the arms, legs, spine, including the neck, and shoulder lines. and the pelvis.
- FIG. 4 illustrates the solution to the problem related to the regularization of semantically unconnected vertices, in particular the vertices of the right and left legs, where from left to right are presented: the original model, the graph initialized by the proposed method, and the graph initialized by the usual procedure for finding nearest neighbors. Particular attention should be paid to leg confusion during the normal procedure.
- FIG. 5 on the left is a visualization of the morphing field, in the center - the surface obtained from the depth map of the next frame, on the right - the same surface after conversion to the canonical position.
- FIG. 6 illustrates the segmentation of the human body, where the segments are indicated in different colors and adjacent segments are connected by lines.
- FIG. 7 on the left is the result of rendering the surface to a depth map, and on the right is the original surface with visible vertices indicated by red dots.
- FIG. 8 shows a set of models that can be obtained by transforming the original SMPL model by varying three shape parameters with fixed pose parameters.
- the red dots mark the positions of the skeletal joints.
- FIG. 9 shows scanning defects using the example of three-dimensional images of the CAESAR dataset - the presence of areas of the body surface with missing information in the area of the feet, hands and the outer surface of the arms, shoulders, head, as well as "glued” areas.
- FIG. 10 shows the skeleton as a tree of vertices, where each vertex is characterized by a position in space and represents the articulation point of the "bones" of the skeleton, and the zones of influence of each joint on the surface of the body model are shown in color.
- FIG. 11 illustrates the appearance of significant artifacts in the HumanShape model when changing the parameters of the human body shape due to their influence on the position of skeletal points.
- FIG. 12 illustrates the emergence of geometric noise structures located within the human body model.
- One geometric structure (highlighted in green) falls into a separate component of the graph's connectivity and can be removed relatively easily, while another geometric structure that is part of the left shoulder surface (highlighted in yellow) is part of the human body surface.
- FIG. 13 shows an example of a depth map, where the color indicates the distance to a point, and the color scale is graduated in meters.
- Depth map is data about the distance from the projection plane of the camera to the surface of the 3D scene.
- FIG. 14 illustrates the step-by-step application of shape parameters and posture parameters with preliminary recalculation of the coordinates of skeletal joints, and then using the general transformation parameters - scaling and displacement. Next, the loss function is calculated based on the standard deviation from the nearest vertices.
- FIG. 15 is a graph of the activation function used to calculate the component that penalizes too large an angle between the normals of adjacent triangles.
- FIG. 16-18 show a comparison of the results of the proposed modification of the NRD algorithm and the original algorithm [B 15] on a three-dimensional image from the CAESAR set. From left to right are: the proposed version of the NRD, the original 3D image and the original version of the NRD. The color indicates deviations from the 3D image: white means zero deviation, red means a deviation of at least 15 mm.
- FIG. 19 shows the results of the NRD algorithm. From left to right: with the classical loss function, 25 thousand vertices in a 3D image; with a classic loss function, 250 thousand vertices in a three-dimensional image; and with a modified loss function, 250 thousand vertices in a 3D image.
- FIG. 20 shows the registration of the same three-dimensional image using different parametric models. From left to right: HumanShape registration (18659 vertices), original 3D image (250,000 vertices), SMPL registration (18890 vertices).
- FIG. 21A shows errors when registering a dataset.
- Orange is the HumanShape model
- blue is the SMPL model.
- the solid line marks the results of registration initialization by the method described in Section 2.9.2, and the dashed line marks the registration improvement using the proposed modification of the NRD algorithm.
- FIG. 21B presents errors when registering the CAESAR dataset.
- Blue color denotes the registration results obtained by the proposed method, and orange color - those obtained by the original method.
- FIG. 22 is a plot of the explained variance versus the number of shape space parameters taken into account.
- FIG. 23 shows a comparison of the initial pose and shape of the SMPL parametric model (left) and the resulting parametric model (right) for the male and female bodies.
- FIG. 24 shows the visualization of the result of a separate change in the first four parameters of the form while fixing the remaining parameters of the obtained female parametric model.
- FIG. 25 is a graph of the amount of correction in the A-pose for each leg as the difference between the actual leg length and its projection on the vertical axis.
- FIG. 26 shows the visualization of a dimensional feature in the form of an anthropometric point.
- FIG. 27 shows a visualization of a dimensional feature in the form of a distance between two anthropometric points.
- FIG. 28 shows a visualization of a dimensional feature in the form of a girth.
- FIG. 29 illustrates a method for measuring a dimensional feature in terms of surface distance.
- FIG. 30 is a visualization of a dimensional feature in the form of distance along the surface.
- FIG. 31 shows the result of comparing dimensional features obtained using the claimed algorithm with dimensional features obtained by manual body measurements.
- FIG. 32 shows the result of comparing dimensional features obtained using the claimed algorithm with dimensional features determined from a three-dimensional image.
- FIG. 33 is a block diagram of an enlarged algorithm for remote clothing selection.
- FIG. 34 is an illustrative example of a system for implementing a method for remotely selecting clothing in a B2C environment.
- FIG. 35 is an illustrative example of a system for implementing a method for remotely selecting clothing in a B2B environment.
- FIG. 36 schematically shows the architecture of the Human Mesh Recover algorithm.
- FIG. 37 schematically shows the architecture of discriminator networks for processing parameters of the SMPL model.
- FIG. 38 schematically shows the architecture of the modified Human Mesh Recover algorithm and examples of vertex projection and distance maps.
- FIG. 39 shows an example of an error map of a predicted mesh parametric 3D model.
- Algorithm training can include error penalties.
- FIG. 40 shows the result of the system. From left to right: depth map, segmentation, key points, reference model.
- FIG. 41 shows an example of the simplest setup for optical scanning of clothing.
- FIG. 42 illustrates the operation of a computer vision algorithm, which determines the type or category of clothing, identifies key points in the image, calculates the outline of the clothing and, based on this data, determines the dimensions.
- FIG. 43 is a flowchart of an enlarged algorithm for recommending an appropriate size for a particular clothing model.
- FIG. 44 schematically shows the structure of a neural network for implementing a recommendation method based on a machine learning algorithm.
- steps (31) and (32) it is possible to build a user body model based on user data obtained using one or more of the following methods:
- the step of building a body model at step (32) of the user can be omitted and the anthropometric parameters of the user's body can be obtained directly from the above-mentioned data about the user.
- the parameters of the statistical model of the human body or the previously known clothing sizes of the selected brands suitable for the user can be used.
- Steps (36) and (37) can be implemented in the method used in online trading. One or both of these steps may be missing in the method used in other situations, for example, when forming a user's virtual wardrobe, with delayed purchases, with individual tailoring with remote measurement, with statistical or marketing research, etc.
- optical scanning is used in this text, but at the same time everything said is true in a more general case: that is, everywhere in the text, instead of the term “optical scanning”, it is permissible to use the broader term “three-dimensional scanning”; all statements are fully preserved.
- anthropometric parameters as indicated in step (34), but also by various other parameters (parameters of the statistical model, etc.).
- anthropometric parameters is encountered in the present text (including, in particular, dimensional features and type of figure), it can be replaced by the broader term “model parameters” with full preservation of the meaning.
- production models can mean physical mannequins, living models (mannequins and mannequins in production), computer models (mannequins, mannequins, fashion models).
- clothing measurements can be measurements of sewn clothes, measurements of clothing patterns or other parameters. They can be obtained from the clothing manufacturing documentation (tech pack, grading rules) or measurements of clothing or clothing patterns.
- Optical scanning of clothing is supposed to be performed on a special installation.
- the installation consists of a table, for example, with a light top and a static, pre-calibrated camera (Fig. 41).
- Fig. 42 For each picture of clothing, a computer vision algorithm is applied (Fig. 42), which:
- the applied algorithm consists of a set of convolutional neural networks that perform each task separately: classifier, regressor, and segmenter, respectively.
- the measurements characteristic of each type of clothing are calculated.
- the rules for converting key points and contours into target measurements, prepared in advance for each type of clothing, are applied.
- the obtained measurements are transformed into the metric space.
- the algorithm for recommending a certain type of clothing based on dimensional characteristics is an algorithm for comparing vectors in the Euclidean space hnsw or slaughters.
- Optical scanning of the user's body can be performed in a variety of ways, including laser scanning, structured illumination scanning, ToF scanning (time-of-flight), photographing from fixed angles, filming, etc.
- Scanning can be performed from one or several points. Each point from which a scan is performed can be fixed or can move along a specific path.
- the model is built using the point cloud obtained by scanning, but this example is for illustrative purposes only, and other types of input data, such as depth maps, images with projected structured illumination, etc., can be used to build the model.
- a point cloud can be obtained using optical means (so-called "depth cameras”) capable of determining the depth of a three-dimensional scene with sufficient resolution.
- depth cameras optical means
- Such capabilities are possessed by Stereolabs ZED, Carnegie Robotics MultiSense, Ensenso N35, Nerian SceneScan, Intel RealSense, Zivid One +, Arcure Omega, etc. It is also possible to use devices ASUS Xtion, ASUS Xtion2, Orbbec Astra, Orbbec Persee, Microsoft Kinect, Microsoft Kinect 2, Azure Kinect and the like. It is expected that in the foreseeable future, “depth cameras” of acceptable resolution (as well as acceptable noise level) can be integrated into some models of smartphones and other mobile devices (iPhone X, iPad Pro (2016), Huawei Mate 20 Pro and np.).
- the following describes two approaches to processing the scan results, which result in a parametric model of the human body (Section 2.8).
- the first of the approaches is based on processing depth maps and is described in Section 2.
- An alternative approach allows obtaining a parametric model of the human body using one or more color photographs of a person and is described in Section 3.
- These approaches can be used both independently and together.
- a human model constructed from a photograph can be used to initialize a method that performs three-dimensional reconstruction, if the recorder has the ability to simultaneously capture color images and depth maps.
- Processing of scan results is based on the principle of three-dimensional reconstruction of dynamic scenes using information about the human body from a parametric model and is based on the ideas outlined in [B 1], with changes aimed at expanding the capabilities of the algorithm, namely, at reducing errors arising from sudden movements and overlaps, as well as increasing the variety of possible initial positions of the user. Changes relate to the application of the segmentation of the input depth maps by body parts and to the position of the key points of the skeleton, as well as to the initialization and optimization algorithm.
- FIG. 1 A graphically proposed processing method is shown in FIG. 1.
- the algorithm starts by filtering the input depth maps and converting them into point clouds using the internal calibration matrix of the depth camera.
- the next step of the algorithm is to initialize the canonical form and pose of the parametric model.
- the changes in the parameters of the transformation of space, as well as changes in the parameters of the pose of the model are calculated to best fit the next frame of the image.
- the calculated parameters are used to integrate the data into an internal representation that contains the person in the original (canonical) position.
- the algorithm adjusts the shape and canonical pose parameters.
- the operation of the algorithm involves identifying the correspondences between the point cloud in three-dimensional space, corresponding to the current depth measurements, and the scene surface obtained from the previously received data, therefore, the depth maps entering the input must be converted into a point cloud.
- depth maps can be very noisy, for example, as shown in [B2], which negatively affects the stability of the algorithm.
- a bilateral filter [VZ] can be applied, smoothing the depth map, while maintaining the boundaries unchanged.
- a predefined camera internal calibration matrix [B4] is used.
- FIG. 2 shows an example of changing a scene to match the input data, from top to bottom: the scene surface in the canonical state, the input frame point cloud, the scene surface changed for the input data.
- the input of the algorithm is the first frame of the sequence, as well as information about segmentation and key points of the skeleton.
- the operation of the algorithm includes a number of steps: (1) calculating the initial approximation of the pose parameters, (2) iterative minimization of the error function by the shape and pose parameters, (3) initializing the morphing field graph by the model vertices.
- the segments from the sets Mu and Ku correspond to the bones of the arms, legs, spine, as well as the lines of the shoulders and hips.
- FIG. 3 An example of the sets My and M is shown in Fig. 3, where red (large) key points are included in the set M, blue (small) points are not included in it, and green segments (connecting large key points) are included in the set Mu.
- the minimization of the error function is used, defined as
- the function p (x) is the Huber function L (x) with parameter d equal to 1:
- the vertices of the V graph contain coordinates in three-dimensional space, the parameters of the Euclidean transformation and its weight, and the edges £ / between the vertices are necessary to calculate the regularization, which ensures smooth transition between parts of the space.
- Coordinates are initialized by sampling the vertices of the parametric model in the canonical pose and shape.
- the sampling method is outlined below.
- the neighborhood radius d is chosen, which is also a parameter for the weight v w of each vertex from the set of vertices Vf.
- v w 2d.
- the vertices of the V t model are divided into groups according to the coordinates of the voxel into which each vertex will fall if the space is divided into voxels with a side of 2d.
- the coordinates of the vertices in each group are averaged and the model vertex closest to the result is selected. She becomes a member of the multitude
- This procedure avoids the problems associated with the regularization of semantically unconnected vertices, for example, the vertices of the right and left legs - see Fig. 4, where from left to right the following are presented: the initial model, the graph initialized by the proposed method, and the graph initialized by the usual procedure for finding the nearest neighbors. Particular attention should be paid to leg confusion during the normal procedure.
- each vertex v E Vf contains coordinates v c , weight v w and a normalized double quaternion x> dq encoding the Euclidean transform.
- the algorithm of mixing double quaternions [B7] was applied, for which it is necessary to find the K vertices closest to x from the number V /, and then calculate the weighted sum of double quaternions of these vertices.
- the weight for each term is calculated by the formula w exp ( z nx,) or d DY for optimization of further calculations is set equal to 0 if II x - v c II 2> 3i
- the summation result is a double quaternion, but it is not normalized and, accordingly, is not a Euclidean transformation, therefore, the result is further normalized.
- the orthogonal transformation matrix R and the transfer vector t are constructed from the normalized double quaternion, and the transformed point is the point Rx + t.
- the morphing field is used not only to transform the surface from the canonical state to the current one, but also to perform the reverse transformation at the stage of integrating new data.
- a change is introduced into the integration process described in detail in [B2] - the center of each voxel is transformed before being projected onto the depth map.
- an inverse transformation is realized without the need for additional calculation of inverse matrices, see FIG. 5, where the visualization of the morphing field is shown on the left, in the center is the surface obtained from the depth map of the next frame, on the right is the same surface after conversion to the canonical position.
- the SMPL model [B8] was used as a parametric model in the proposed algorithm. This model has the following advantages:
- the algorithm for computing the grid model consists of matrix multiplication and skinning, which allows for efficient implementation on GPUs;
- CAESAR database and other databases of people models, including our own database of people models created by Texel LLC.
- the proposed functions are based on ideas [B1] with modifications to take into account information about the position of individual body segments.
- Errors of the morphing field and model position are defined as functions where C is the set of matches, that is, the set of pairs (v, u), in which v is the top of the visible surface of the scene or model in the canonical state, and is a point from the point cloud of the current frame, n v is the normal to the surface at point V, and //, and n, are the vertices or normals transformed by the morphing field and the model's skinning function, respectively.
- the set of correspondences C is formed from pairs of points closest to each other that belong to one or neighboring segments.
- the neighborhood of the segments is established in advance and a key point of the skeleton is associated with each segment of the body.
- key points have a hierarchical structure - each point, except for the root, has a parent. Therefore, segments are considered adjacent if their corresponding key points are related by a parent-child relationship, with the exception of two special segments in the shoulder region, which are defined manually.
- FIG. 6 An example of segmentation and a neighborhood relationship is shown in FIG. 6, where different segments have different colors and adjacent segments are connected by lines.
- This function has an intuitive meaning - to provide a smooth surface change, while neighboring vertices should be transformed by this function in the same way as they transform themselves.
- Huber's weighting function decreasing with increasing argument, will reduce the effect of regularization if the vertices are located on different parts of the body, since in this case their skinning weights will differ significantly. Regularization increases stability, but decreases the ability to adapt to sudden changes.
- the surface is rendered into a depth map, for which standard rendering is performed, then the depth buffer is read, while the camera parameters are set the same as at the stage of integration of the previous frame;
- FIG. 7 on the left is the result of rendering the surface to a depth map, and on the right is the original surface with visible vertices indicated by red dots)
- a TSDF value of zero corresponds to a surface or no information about this point. Consequently, the minimum of function (7) will be reached if all vertices of the model are on the plane or outside the observation area. In order to prevent the model from going beyond the observation area, regularization is applied using the previous values of the parameters. As in the case of function (6), function (7) is a sum of squares; therefore, it can be minimized by the methods described earlier.
- the result of performing the actions described above is a ZO-model of the user's body. It should be noted that it is enough to scan the user's body and build its model once and save it in the appropriate format on the user's computer or mobile device or in a cloud service. In the future, the user's body model can be updated or refined by repeated scanning or manual correction, for example, by specifying measurements physically taken from the user.
- the user's body model may include a detailed head model (including the face) of the user used for photorealistic rendering when rendering the user's appearance in clothing. This allows for a greater emotional response from the user and, ultimately, contributes to an increase in the volume of purchases in monetary terms.
- the parametric model of the human body makes it possible to obtain a ZO-model of the body based on two low-dimensional vectors that determine the shape and posture of a person.
- An example of the models that can be obtained by varying the shape parameters with fixed pose parameters can be seen in FIG. 8, where the models are obtained by variations of the first three parameters of the shape of the parametric model SMPL [B 14].
- the red dots mark the positions of the skeletal joints.
- a parametric model requires significantly less hardware resources for its storage and processing and significantly less time spent on the associated calculations than the corresponding geometric model.
- the parameters extracted from the parametric model require smaller transformations to be able to be compared with the dimensional characteristics of the garments, and in some cases such transformations may not be required at all.
- Parametric 3 D-models of a person can be used in algorithms for automatically obtaining anthropometric data of a person, which are used in the production and sale of clothing, and are also used in systems for constructing a virtual representation of a person (the so-called virtual avatar). Tasks related to design, ergonomics, determination of body shape from partial data, such as images from one angle, by semantic parameters (height, weight, etc.) are solved using similar models. Parametric models can also be applied in the formation of artificial training data sets for solving other problems related to computer vision.
- kits have scanning defects.
- three-dimensional images of the CAESAR dataset are characterized by the presence of areas of the body surface in the region of the feet, hands and the outer surface of the arms, shoulders, head with missing information, as well as "glued" areas (Fig. 9).
- the shapes of the body parts affected by them may be imprecise.
- the existing parametric models contain a relatively small number of vertices (about 6000-7000), which does not allow transferring small details of the body relief.
- the general idea of constructing a parametric model of the human body using a statistical approach is to implement the so-called. “Registrations” for each 3D body image from the dataset.
- the registration process consists in deforming the template of the human body in such a way that it describes as accurately as possible the registered three-dimensional picture of the body while maintaining the functional correspondence of the points of the template. If each point performs a similar function on each of the deformed templates, the space of the human body shape can be described with using PC A-decomposition (Principal component analysis, method of principal components).
- the existing approaches to constructing parametric models can be classified into two groups according to the method of deformation of the template model.
- One of them the SCAPE family of parametric human body models, describes the process of registering a scan using transformations of triangles that make up the template surface.
- Another group of models describes the registration process by transforming the vertices of the template.
- the SCAPE family of models includes such models as SCAPE [B 17], BlendSCAPE [B 18], S-SCAPE [B 19].
- SCAPE [B 17] a model that describes the shape of the model.
- this work uses the deformation of individual triangles to record individual 3D images.
- the process of obtaining a model from the space of deformations of triangles is a complex optimization problem requiring the solution of the Poisson system.
- a model was obtained that realistically reflects a wide range of deformation not only of the shape space, but also of the pose.
- the pose space was also described using the deformation space of individual triangles and, therefore, the use of specific animation of human movement was difficult, due to the lack of the possibility of using skeletal animation.
- BlendSCAPE [B 18] and S-SCAPE [B 19] proposed their construction methods based on the approaches used in the SCAPE model.
- the S-SCAPE model, proposed in 2010, is an improved and at the same time simplified version of the SCAPE model, offering a way to restore the ZP model without having to solve a complex Poisson system of equations.
- the BlendSCAPE model, proposed in 2012, offers a way to more accurately register the human body based on three-dimensional images of the same person in different positions.
- the second family of parametric models uses individual vertex deformations to perform the registration process.
- One of the first parametric models to use this approach is the one from Allen et al. 2002 [At 16]. This approach was then further developed by Pishchulin et al. (HumanShape model)
- One of the first statistical parametric models was the model [B16].
- NORD Non-Rigid Deformation
- An optimization problem for the transformation of a template surface was formulated in relation to a three-dimensional image of the body of a particular person, and a method for its solution was proposed.
- This work used a highly detailed human model template, but the parametric model was built on just 250 3D images.
- An algorithm like this has been shown to be excellent at dealing with scan defects such as missing vertices.
- the model could operate, among other things, with the semantic parameters of the form, such as weight, height, etc.
- the work [B 16] practically does not stop on the topic of creating a space for a person's posture.
- the model was built on a set of three-dimensional images of people standing in the same pose, and as a result did not describe the space of the pose.
- the HumanShape model appeared [B 15], which develops the idea of the model [B 16].
- the model was built iteratively using the existing parametric model and improving it using the NRD algorithm. It used the S-SCAPE (Simplified Scape) model [B 19] as an initialization, which is much less computationally expensive to build.
- the HumanShape model was trained on a full set of CAESAR 3D imagery to reflect a wide range of shapes. Applying the Linear Blend Skinning (LBS) technique in this model allowed free animations to be applied to the parametric model.
- LBS Linear Blend Skinning
- the process of registering a three-dimensional image used information about the position of key anthropometric points, information about which is often not found in the databases of three-dimensional images. Obtaining such information is a laborious process that requires manual marking or photographing people with special markers on their bodies.
- BlendSCAPE the SMPL model appeared [ ⁇ 14], which shows the best results for the current day and is used in most tasks that require a parametric model.
- the authors show that the registration process based on vertex deformations leads to much more accurate results compared to triangle deformations, comparing their results with the BlendSCAPE model [B 18].
- the posture space of a person is constructed using a dataset containing three-dimensional images of the same people in different poses.
- the form space is generated using the CAESAR dataset.
- researchers in this article consider the issue of deformations in the shape of the human body caused by a change in posture.
- a certain template of the human body is selected, described as a set of vertices and triangles consisting of vertices that form a surface.
- a transformation is sought that allows the deformed template to describe the three-dimensional image of a particular person as accurately as possible.
- the process of deforming a template model to fit a three-dimensional image of a specific person is called registration.
- deformation should occur in such a way that the functional correspondence of each point in all registrations is preserved. For example, if the point of the template was responsible for the position of the elbow of any of the hands, then at registrations it should perform the same function.
- PC A Principal Component Analysis
- a subspace is selected from the first few eigenvectors with the largest eigenvalues.
- the resulting set of vectors represents the space of the human body shape with the least deviations.
- Parameterization is performed by coordinates in the resulting basis: where eM are the coordinates of the vertices of the final model, B is the number of shape parameters left in the model, e is the / th eigenvector obtained by the PC A-decomposition, b is the value of the i-th shape parameter, M is the coordinates of the template vertices.
- the HumanShape model authors perform the process of registering 3D images of people in two stages. At the first stage, the 3D image registration is approximated using the existing parametric model. The authors use the S-SCAPE model as such a model. Within the framework of this stage, it is proposed to select the parameters of the pose and shape of the existing parametric model so that it describes the registered three-dimensional image as accurately as possible. For this, an iterative two-step method is used, repeated until convergence is achieved:
- MatLab fmincon optimizer is used as an optimizer, which uses finite-difference differentiation to find the gradient of a parametric model.
- edges (T) is the set of all edges of the template, A, is the 4x4 transformation matrix for the vertex /, II ⁇
- /. is the Frobenius norm of the matrix, Es is the result of calculating the Smoothness term function. Since the sum of the difference in the norms of the transformation matrices occurs along the edges, this part of the loss function penalizes the model for large differences between the transformations revealed for neighboring vertices;
- (w) Data term function where w, is the weight of the i-th vertex in the template, A, is the transformation matrix of the i-th vertex,?, is the coordinate of the i-th vertex in the template, NN (i) is the scan vertex, the closest neighbor of the i-th vertex of the template.
- This part of the loss function penalizes the model for too large a distance between the transformed template vertices and the nearest 3D image vertices.
- the weights of each of the vertices were determined as the confidence of the scanning device in the position of the vertex that was selected as the nearest neighbor.
- the final loss function is a linear combination of the above three loss functions:
- the optimization of the loss function was performed using the LBFGS-B quasi-Newtonian optimizer. Between iterations, the nearest neighbors were recalculated, and the nearest neighbor was considered to be successfully found if the angle between the normals of the vertices did not exceed 60 °, and the distance between the vertices did not exceed 5 centimeters.
- LBS Linear Blend Skinning
- the LBS technique requires a weight matrix W E n k , where n is the number of vertices in the model and k is the number of joints.
- This matrix describes the degree to which the transformation of individual joints affects a particular vertex.
- the position of the skeletal joints is described by the 0 E k matrix.
- the transformation of each joint is described using the axis and angle of rotation relative to the ancestor of the joint in the skeleton tree.
- Such a matrix describes only the "local" transformation of the joint position, not taking into account the influence of all joints along the path from the root of the skeleton tree to the current point.
- Global transformation matrices can be calculated using the following formula: where G k (B, 0) is the global transformation matrix for the k-th joint, A (k) is the ordered set of all ancestor joints for k-th, in order from the skeleton root, joint, exp (() / ) is the local rotation matrix for the joint, calculated by the formula (15), J k is the initial position of the joint. Then the transformation for each vertex is described by a convex combination of transformation matrices of individual joints:
- Encoding pose transformations using Rodrigues formula requires 3 parameters per skeleton joint (the normalized vector represents the axis of rotation, and its norm represents the amplitude).
- Such standard poses can be, for example, A-pose or T-pose.
- the A-posture of a person is characterized by arms slightly apart to the side, legs shoulder-width apart and is more often used, for example, when measuring the anthropometric parameters of a person for the production of clothing.
- This pose is used as standard in the HumanShape model.
- T-pose a person stands with arms outstretched to the side, legs are shoulder-width apart. This pose is more common in 3D graphics and animation software and is used by the SMPL authors.
- the HumanShape model uses the NRD algorithm to refine the registration process so that the pose can change significantly.
- the authors use the method proposed by Wuhrer et al to normalize posture. [B21] based on the optimization of the localized Laplace coordinates of the average body shape.
- Such structures can actually be inside the body, but they are part of a closed body surface.
- An example of such a case can be seen in FIG. 12, where the noise is marked in yellow and green.
- This image contains a geometric structure (A, highlighted in green) that falls into a separate component of the graph's connectivity and therefore it can be removed using the algorithm described above.
- noise structure that is part of the surface of the left shoulder (B, highlighted in yellow). If such a structure is part of the surface of the human body, then it cannot be filtered using the classical algorithm for checking the location of a point inside a non-convex figure, which calculates the number of intersections of an arbitrary ray emitted from the point under test.
- the following approach is proposed to filter out such noise vertices and triangles.
- the algorithm determines the visibility of each point for the observer. For this, the model's depth map is drawn from various angles and the distances from the camera to the point are compared with the depth map value.
- angles of rotation of the model can be chosen arbitrarily.
- This algorithm allows you to filter out all invisible vertices that are inside a three-dimensional image of a person, which means they are noise.
- the three-dimensional image is rotated around the y-axis so that the person is directed with his face in the z-direction. This is necessary for good registration initialization with the algorithm described in the next section of the description.
- the 3D image registration is approximated using a certain parametric model.
- the HumanShape and SMPL models were tested.
- the parameters of the shape /?, Pose 0, as well as general transformation parameters, such as offset t and scale factor 5, are selected.
- Fig. 14 shows the step-by-step application of shape and pose parameters, first recalculating the coordinates of skeletal joints, and then applying general transformation parameters such as scale and offset. Next, the loss function is calculated based on the standard deviation from the nearest peaks.
- the standard deviation between the vertices of the target point cloud and the vertices of the parametric model closest to them is used as a loss function.
- the recalculation of the nearest vertices of the pattern occurs at each iteration of the gradient descent, but this is not a differentiable function.
- the nearest vertex is assumed to be constant within one descent iteration.
- FIG. 14 you can see a clear visualization of the graph of calculations.
- v is the position of the vertex of the i-th three-dimensional image
- T is the set of template vertices
- NNT vj is the coordinate closest to v, vertices from ⁇
- l is the regularization coefficient
- / is the set of numbers of joints subject to regularization
- Q are posture parameters
- b - parameters of the shape of the model t - offset of the model relative to the origin, 5 scale of the model.
- the quasi-Newtonian LBFGS-B is used, while the proposed approach uses the Adam gradient optimizer.
- stopping occurs if during patience iterations the loss function has not improved by more than tolerance or the maximum number of steps max iter is reached
- the normal is determined by averaging all the normals of the triangles adjacent to the given vertex;
- the loss function in the original algorithm optimizes the positions of the vertices, without taking into account the fact that the cloud of obtained points forms a surface.
- the coordinates of the vertices of the template turned out to be matched exactly, but when they were connected to the surface with triangles, relief defects appeared - excessively sharp drops, depressions and bumps.
- ⁇ edges ⁇ is the number of edges in the template
- edges (T) is the set of edges of the template
- n is the normal vector for the triangle /
- u rT j is the angle between the normals
- / '( ⁇ ) is the application of the activation function to the value of the angle.
- the pose parameters were selected for the SMPL model. Then, as a result of applying the NRD algorithm, a person's posture could change slightly if the pose parameters were not selected accurately. In this case, it is necessary to refine the pose by optimization: where T is the position of the vertex of the template / obtained as a result of registration using the NRD algorithm, and T is the position of the vertex i of the parametric model. Using the obtained parameters of the pose, you can calculate the Linear Blend Skinning matrices, and then, having calculated the inverse ones, multiply by the coordinates of the vertices T ngc ⁇ . Thus, registration in the initial pose will be obtained. For the SMPL model, the initial pose is a T-pose, when the person's arms are spread to the side, and the legs are spread shoulder-width apart.
- the HumanShape model contains a pose leak into the shape parameters, that is, changing the shape parameters causes the parametric model's pose to change. This causes the initial pose for the parametric model to change as the shape parameters change. Therefore, the above approach is not applicable for the HumanShape based model.
- it is proposed to correct this effect by constructing a skeleton in a neutral pose, and then optimizing the positions of skeletal points: where J, is the position of the i joint of the constructed skeleton in A-pose, ⁇ I réelle p ⁇ , i is the position of the i joint of the registration skeleton, obtained using the NRD algorithm.
- optimization is performed according to the parameters of the registration posture obtained as a result of the NRD algorithm.
- a collection obtained with a TEXEL Portal 3 D human body scanner was used as the initial set of 3D images. This scanner is highly accurate, with a scanning error of the order of 1.4 mm.
- a set of 500 3D images of people was selected, containing approximately the same number of male and female 3D models.
- the presented images were highly detailed and contained 250 thousand vertices and 500 thousand triangles each.
- the CAESAR dataset was used - a set of three-dimensional images used by the authors of the SMPL and HumanShape parametric models to construct the pose space. It contains 3D images of 4,394 different people, each presented in three poses. In this case, only pictures were used where a person is standing in an A-pose. No supporting metadata, including information on the positions of key anthropometric points was not used during the registration process.
- Registration initialization using a parametric model is an important part of the proposed approach to 3D image registration.
- the quality of the obtained vectors describing the shape space of the parametric model depends on the quality of this stage. If the pose parameters during initialization are selected incorrectly, then when applying the NRD algorithm, incorrect vertices of the 3D image will be selected as the nearest neighbors, as a result of which the functional correspondence of the template vertices will be violated.
- Optimization problem (18) is a complex problem with a large number of local minima. To avoid hitting the Adam optimizer in local minima, it is important to choose the learning rate values.
- Table 1 The parameter values used in this work are shown in Table 1.
- the templates of the parametric models used contain a small number of vertices (the SMPL template contains 6890 vertices, the HumanShape template contains 6449 vertices), there is no need to use all the vertices of the 3D image at this stage.
- the proposed approach before performing the optimization, a set of 7000 vertices of the original 3D image was selected at random. Then the optimization problem (18) was solved for the obtained set of vertices.
- the nearest neighbor When searching for the nearest vertices, it was considered that the nearest neighbor was found successfully if it is located at a distance of no more than 3 cm, and the angle between the normal of the 3D image vertex and the normal of the parametric model vertex is less than 45 °. Optimization of the position of the vertices of the hands of the template during initialization with the parametric model SMPL was prohibited, since in many of the three-dimensional images the fingers are clenched into a fist, and the parametric model SMPL has a straight palm.
- FIG. 16-18 show a comparison of the results of the proposed modification of the NRD algorithm and the original algorithm [B 15] on a three-dimensional image from the CAESAR set. From left to right: the proposed enhanced version of the NRD, the original 3D image, and the original version of the NRD. The 3D image contains gaps - areas with missing data. The quality of the algorithm was determined by the distance from the vertices of the obtained registration to the vertices of the three-dimensional image. FIG. 16-18 color of each vertex of registration indicates the distance to the nearest vertices of the three-dimensional image. White means zero deviation, while red means deviations of 15 mm or more. In this experiment, during the operation of the proposed algorithm, the number of vertices in the pattern did not increase.
- the original implementation of the NRD algorithm takes 235-239 seconds to build the registration, while the proposed implementation takes 7-8 seconds.
- Initialization of registration with a parametric model takes 26-29 minutes in the original implementation of the authors of HumanShape, and the proposed implementation spends 13 seconds on this stage.
- the operation of the new component (19) is illustrated in FIG. 19, where from left to right the results of the NRD algorithm are presented: with the classical loss function, 25 thousand vertices in a three-dimensional image; with a classic loss function, 250 thousand vertices in a three-dimensional image; and a modified loss function, 250 thousand vertices in a 3D image.
- intersections of the triangles of the body surface appear, which are shown in black in the left image.
- FIG. 20 An example of a three-dimensional image used to build a parametric model, as well as the results of its registration based on initialization with the parametric HumanShape and SMPL models, can be seen in Fig. 20, which compares the registrations of the same 3D image using different parametric models.
- HumanShape registration (18659 vertices), original 3D image (250,000 vertices), SMPL registration (18890 vertices).
- the SMPL parametric model template has better detail on the head, fingers, and toes, so registration based on this parametric model seems more realistic.
- registrations obtained on the basis of both parametric models - both HumanShape and SMPL - have rather small deviations from the original images.
- T ' s is the set of all triangles of the template
- t is the surface triangle under consideration
- v is the vertex i of the three-dimensional image
- d (v h I) is the distance from the vertex v to the triangle /
- err is the deviation for the vertex i of the three-dimensional image.
- the formula (23) calculates the distance from each vertex of the 3D image to the surface of the 3D model obtained as a result of registration. It is proposed to calculate these values for each vertex of a three-dimensional image, and then, for example, group them by quantiles.
- the results of registering your own dataset can be seen in FIG. 21.
- all deviations for one scan were split into quantiles, and then the values of the individual quantiles were averaged over all 3D images.
- Orange color denotes the registration results obtained based on the HumanShape parametric model, and blue - based on the SMPL parametric model.
- the solid line marks the results of registration initialization by the method described in Section 2.9.2, and the dotted line marks the improvement of registrations using the proposed modification of the NRD algorithm.
- FIG. 21 A it can be seen that the SMPL parametric model approximates the shape of the human body on the available 3D images better than the HumanShape parametric model.
- Using the proposed modification of the NRD algorithm provides a significant improvement in the quality of registration on both models.
- registrations based on the SMPL parametric model also have better quality compared to registrations based on the HumanShape parametric model.
- the construction of a new shape space of the parametric model was performed by performing PCA decomposition on the set of all available registrations.
- two parametric models male and female body
- the original SMPL model template contains 6890 vertices
- the resulting parametric model templates contain 18890 vertices. Since the addition of new vertices was done by adding a vertex to the midpoints of the edges of the surface triangles
- the vector of Linear Blend Skinning weights (formula 17) was calculated as - where wj are the vectors of the LBS weights for the vertices forming the edge.
- wj are the vectors of the LBS weights for the vertices forming the edge.
- the regressor of the position of skeletal joints remained unchanged, i.e. the effects of new vertices on the positions of skeletal joints were assumed to be zero.
- FIG. 22 A graph of the EV R metric versus the number of components used is shown in FIG. 22. Here, the percentage of variance explained is calculated separately for the resulting male and female parametric models.
- FIG. 22 shows that about 97.5% of the body shape dispersion is explained by the first 10 parameters of the shape space. At the same time, the use of 20 parameters explains almost 99% of the variance. This means that using 10-20 space parameters the shape should be sufficient to describe any three-dimensional photograph of the human body. Thus, the resulting view is indeed low-dimensional.
- FIG. 23 shows a comparison of the initial pose and shape of the SMPL parametric model and the resulting parametric model for male and female bodies. You can see that the resulting parametric model is more detailed. In particular, the breasts are reflected smoother and more accurately, and fine body details such as the collarbones are present.
- the proposed modifications of the NRD algorithm and initialization of registration using a parametric model made it possible to fully automate the method.
- the proposed approach does not require the use of information on the position of key anthropometric points, the manual marking of which is an extremely laborious process.
- Determining the degree of correspondence between the obtained three-dimensional model and the user of the system is a difficult task that is best solved by comparing the result with a three-dimensional model of the user, taken as a reference.
- three-dimensional scanners are used, or systems consisting of many synchronized RGB cameras.
- a tool was developed to obtain a synthetic dataset close to real.
- the instrument receives as input a three-dimensional image of a person, created, for example, using a three-dimensional scanner.
- the skeleton is defined using the rigging technique.
- the tool then applies skeletal animation, which is transferred to the image using the LBS skinning algorithm. After that, for each animation frame, the necessary data is generated: the depth map is rendered from the point of view of the virtual camera, the position of the key points of the skeleton is recorded.
- semantic segmentation is generated according to the following algorithm: the number of the key point with the greatest influence on the skinning performance for those vertices that fall into this pixel when projected onto the image plane is recorded in each pixel.
- Gaussian noise can be added to the depth maps to simulate the errors obtained when shooting with a real sensor.
- the system generates all the necessary data for the operation of the algorithm, and also forms a three-dimensional model of a person in a position that exactly coincides with the position on the first frame of the sequence, which makes it possible make an accurate assessment.
- the universal interface allows using arbitrary skeletal animation to test the algorithm with different user behavior. Examples of generated data are shown in FIG. 40: Left to Right - Depth Map, Segmentation, Key Points, Reference Model.
- the base created for experimental testing in this work contains about 2000 frames with a resolution of 420x880 pixels and added noise and consists of 4 video sequences reflecting various situations of the algorithm application:
- the first two sequences are designed to test the scan scenario, when a person is trying to maintain the same position, the subsequent ones are designed to test in conditions of rapid natural movements.
- V, S, M are the sets of vertices of the resulting surface, the reference surface and the surface of the parametric model with canonical parameters, respectively, s v
- n x is the vertex from S closest to the vertex v
- m v is the vertex from the closest to the vertex v
- the first metric is the average value of the distance from the vertices of the result to the plane of the surface of the reference model
- the second is the averaging of similar metrics of the distances from the model to the reference and vice versa.
- a 3D avatar is a three-dimensional textured model of the human body, consistent with its anthropometric data. Data from color cameras processed together with depth maps at the stage of creating a user model.
- a deep neural network approach can be used as an alternative to the classic texture extraction method.
- the neural network approach allows you to quickly and with acceptable accuracy extract a user texture from one or more color images.
- a neural network is used, trained on a set of correspondences between the user's photo and his texture.
- images of various people from different angles with a known texture map are fed to the input of the neural network, and the error in restoring such a texture map is penalized.
- Neural network face segmentation using ready-made or retrained models in order to select segments such as facial skin, hair, neck, eyes, eyebrows, etc.
- centroid of the largest cluster is taken as the skin tone.
- the Human Mesh Recovery (HMR) [B37] algorithm is based on the SMPL parametric 3D human model [B39], but can work with an arbitrary parametric model.
- Section 3.1.1 contains a description of the HMR architecture and the method for restoring the parameters of the 3D model. To train this method, an adversarial learning procedure is used, the main element of which is the discriminator network, the architecture of which is described in Section 3.1.2.
- Section 3.1.3 describes the loss functions used to train the HMR and discriminator neural network.
- Fig. 36 Let's consider the architecture of the Human Mesh Recovery (HMR) [B37] algorithm in more detail, its diagram is shown in Fig. 36.
- Algorithm 1 below describes the procedure for restoring the parameters of the 3D SMPL model based on the extracted parameters.
- the parameters extracted from the image are line-by-line stretched into a vector of 2048 elements (f E 2048 ), which is concatenated with the standard parameters of the SMPL model (b 0 are the average shape parameters calculated on the basis of a collection of 3D images used to train the parametric model, and q 0 are the parameters poses corresponding to the T-pose of a person: legs are shoulder-width apart, arms are extended to the sides at right angles to the body) and is fed to the input to the iterative parameter recovery module (Regressor), which consists of two fully connected layers, separated by a dropout and a fully connected layer that produces an offset for the shape and pose parameters of the SMPL model (Ab, A Q).
- Regressor iterative parameter recovery module
- the parameters of the SMPL model obtained by the neural network algorithm are fed to the input of several discriminator networks, the architecture of which is shown in Fig. 37.
- One fully connected neural network with two layers is used, which receives a vector of form parameters as input and outputs a number reflecting the realism of the form parameters.
- 24 fully connected neural networks-discriminators are used (one for posture parameters for each joint of the skeleton and one common) with part of the parameters divided.
- the Rodrigues rotation formula is applied to the three pose parameters (specify the direction of the rotation axis and the angle) for each joint, which translates the parameters into a matrix representation (3 x 3 rotation matrix).
- the obtained representation is fed to the input of two fully connected layers of size 32, common for all parameters of the pose, which transforms the input vector into a common parametric space of dimension 32.
- the obtained parameter vectors are fed to the input of 23 neurons that produce predictions for each joint separately, and are also concatenated between themselves and are transferred to two fully connected layers of size 1024, the output of which is a prediction for all pose parameters together.
- the values obtained from all discriminators are concatenated, giving the output a vector of length 25, which describes the realisticness of the predicted parameters of the 3D model.
- the authors proposed using a loss function consisting of four penalties.
- the parameters of the pose and shape of the SMPL model Q AND /?
- x s * / 7 (d * X) + t, (25)
- X £ M 3 are the coordinates of a point in three-dimensional space
- x £ 2 - the coordinate of the projected point
- R £ 3 3 is the global rotation predicted by the algorithm
- s £ and t £ 2 are the scale and shear vector in two-dimensional space, also predicted by the algorithm
- P is the orthographic projection.
- the reprojection error with the L1 norm is used: where N is the number of examples, N joints is the number of joints in the considered skeleton model, x> i j réelle ⁇ 0, 1 ⁇ is the visibility of the i-th key point of the i-th example (taken from the reference markup), a J ⁇ J t 2ci - coordinates of the reference and predicted / -th key point / -th example. Also, in the presence of 3D pose markings and SMPL model parameters, the corresponding penalties are applied (standard deviation for both groups of parameters):
- Another term in the error function is the penalty for the discriminator's predictions, aimed at making them as close to 7 as possible (that is, so that the discriminator considers all the predicted parameters realistic): where 1 e IR 25 is a vector of 7, the same size as the concatenated output of the discriminators.
- the general loss function for training the HMR algorithm [37] is given by the following formula: where l is a coefficient selected using the validation set, t 3D is an indicator function equal to 7 only for examples with 3D poses and SMPL model parameters.
- N gt is the number of examples from the reference collection
- N pred is the number of examples obtained by predictions from the HMR model.
- Human segmentation is a fairly simple, but informative presentation that allows you to get information about a person's figure.
- the pointwise projection of the vertices of the mesh parametric 3D model onto the original image is the simplest way to obtain an approximation of the silhouette (the resulting single-channel image contains a value of 255 in pixels to which the vertices were projected, and 0 in all others). But without preprocessing, such an approximation is difficult to use, since there will be empty space between the projected points, which, when using a pixel-by-pixel penalty with a reference segmentation map, will be interpreted as an algorithm error.
- a schematic of the modified method and examples of vertex projection and distance maps are shown in Fig. 38.
- a distance map (Fig. 39, S pred ®D 9t ), which is calculated on the basis of the predicted segmentation map (Fig. 39, S pred ) and a distance map for the reference segmentation map (Fig. 39, D t ), obtained similarly to the distance map D pred .
- S pred is the predicted segmentation map
- S pt is the reference segmentation map
- D pred is the distance map calculated on the basis of the predicted segmentation map
- D gt is the distance map calculated for the reference segmentation map
- the symbol (8> denotes element-wise multiplication. stages of calculating the formula (31) is shown in Fig.
- the final expression for the proposed segmentation penalty is as follows: where Hi AND Wi are the height and width of the segmentation maps.
- the final loss function used to train the modified algorithm (HMR-seg) takes the form: where y is the coefficient selected using the validation set, l s is the indicator function equal to 1 only for examples with segmentation markup. 4.
- Determination of the anthropometric parameters of the user's body includes (a) obtaining the dimensional characteristics of a person on the basis of a fitted model and a three-dimensional image, and (b) determining the type of human figure. 4.1. Obtaining the dimensional characteristics of the user
- Dimensional features can be calculated by various methods: linear algebra methods, machine learning methods, combined methods. Determination of measurements by methods of linear algebra is similar to manual measurement of measurements from a human body, only it is carried out from a three-dimensional image of the human body. Machine learning algorithms are based on models trained on pre-labeled data. Combined methods are implemented partly on the basis of linear algebra algorithms, partly on machine learning algorithms. For example, based on a three-dimensional image, intermediate anthropometric parameters are calculated, which are then used to train a regression model.
- each measurement can be calculated by the method that gives the minimum error on the test sample.
- Each measurement is implemented as a separate function and is based on one of the given measurement functions.
- Each measurement can be performed both from a three-dimensional image and from a fitted model of the human body. Measurements from a three-dimensional image are closest to measurements in reality, and it is assumed that their values give more accurate results.
- scanning artifacts are present in three-dimensional images, which manifests itself in arms that are stuck to the body or legs stuck to each other. In such cases, it turns out to be more convenient to determine part of the measurements from the model, for example, thigh girth, upper arm girth, etc.
- a person is scanned with long flowing hair and it is not possible to get some measurements, for example, a neck girth, only on the basis of a three-dimensional image. In this case, the model is also measured.
- the proposed method measures all measurements listed in the measurement Junctions dictionary.
- Each field of the dictionary contains one dimension, as well as the parameters model cut and dependencies.
- the model cut parameter specifies the point cloud that needs to be measured - a 3D image or a model
- the dependencies parameter specifies the list of measurements that this measurement depends on. Before making a measurement, it is checked whether the measurement has dependencies, and if so, then first the measurements on which this measurement depends are performed recursively. This method allows you to save time on measurements that overlap with other measurements.
- anthropometric points were marked directly on the model.
- each anthropometric point, used in the measurement algorithm was assigned a point on the model with a fixed index.
- Dimensional signs of this type correspond to the distances from fixed levels on the human body to the floor level. To measure each dimensional characteristic from this group, one anthropometric point is used, corresponding to the RP.
- a correction is applied that takes into account the person's posture.
- the implemented algorithm uses three-dimensional images of a person in A-pose, when the legs are shoulder-width apart, and the arms are straight and are located at an angle of about 20 degrees in relation to the torso.
- the following algorithm is used for correction.
- the angles of the legs with respect to the vertical are calculated based on the joints of the model "right thigh”, “right ankle” and “left thigh", “left ankle”.
- the correction value for each leg is then calculated as the difference between the actual leg length and its projection onto the vertical axis.
- the measurement value is corrected by a fixed amount equal to the average of the correction values for both legs.
- the measurement value is corrected to a smaller value in accordance with that shown in FIG. 25 schedule.
- the visualization of this type of measurement is the coordinate of the point (Fig. 26).
- the distance between two anthropometric points is calculated according to the well-known formula as the root of the sum of the squares of the coordinate differences. Visualization of this type of measurement are two points connected by an edge (Fig. 27).
- This dimensional feature corresponds to the length of a flat closed contour located at a certain level of the body or passing through specified anthropometric points.
- On the human body it is measured with a measuring tape.
- the plane in which the centimeter tape should lie to obtain the desired girth is determined.
- the point cloud is cut by the given plane.
- the result is one or more closed contours. For example, if a point cloud is cut by a plane at the waist level, then you will get three contours: the waist and two arms.
- the desired contour the distance from the contour to the specified point is used and the contour with the minimum distance is selected. After that, a convex contour is built on the selected contour, simulating the behavior of a centimeter tape.
- the length of the convex contour will be the desired girth value.
- the measurement function of the "girth" type it is possible to set the required number of contours during the section. If there are less or more contours, the plane is shifted by a small amount until the number of contours is equal to the specified value. This allows you to increase accuracy when choosing a plane and avoid additional errors. For example, this functionality is used to find the girth of the chest when the plane can go just above the armpits. Then the selected contour will grab the shoulder and thus give an inflated result. In this RP, the parameter of the required number of contours is set to three. Visualization of this type of measurement is a set of points of a convex contour, connected by edges (Fig. 28).
- the algorithm for implementing the RP of this type in the proposed method can be divided into several steps (Fig. 29).
- the first two steps for this type of measurement and measurement of the "girth" type are similar, but the subsequent steps are different.
- a point cloud is cut by a plane, resulting in one or more contours. If the contours are less or more than the specified number, the plane is shifted by a small amount until the number of contours is equal to the specified one.
- the C ⁇ contour contour closest to the middle point is selected.
- the contour is divided into two parts at the end points point 1 and point 2.
- a convex hull CH is constructed on the selected part of the contour L. 6.
- the convex contour CH is divided by the end points point 1 and point 2 into two parts, one of them will be located outside the body, and the other - on the inside of the body.
- each point of the convex contour corresponds to one of the points of the line.
- the point on the convex contour CH is determined, corresponding to one of the end points of the line L.
- the convex contour "jumps" over the points of the line, i.e. the corresponding segment of the convex contour is on one side of the line. Therefore, further it is checked whether the midpoint of this segment (HI) is outside the contour C or inside.
- the measurement correction method requires a database of 3D images of people and manually measured measurements. For each dimensional characteristic, the average value of the algorithm error from the true values is determined. Then, for each measurement, a correction is introduced to compensate for the average error value.
- This method can reduce the average measurement error by about 40-60%.
- the model is trained as follows. First, a model of the human body is fitted to a three-dimensional image of a person, which has parameters of physique and posture. Then a regression model is trained to convert from model parameters to measurement values. To obtain measurements of a person, you need to fit a model of the human body to his three-dimensional image and, using a trained regression model, obtain the required measurements.
- CAESAR digital imagery database which includes more than 4000 3D images of people from various regions. For each person in this database, there was a set of measurement values manually measured from the human body.
- the advantages of this method are the speed of determining measurements, the disadvantages include the dependence of the accuracy of measurements on the size of the training sample, and the limited set of measurements by those presented in the training sample.
- Intermediate anthropometric parameters can be, for example, the girths of a human torso or other part of a three-dimensional image, taken at different heights and angles to the floor plane.
- Another option for intermediate anthropometric parameters can be the distance between the points of intersection of the straight line and the contour of the projection of the human body on one of the vertical axes.
- the set of intermediate parameters can be processed both by methods of functional analysis (search for points of maximum, minimum, inflection, etc.), and by machine learning methods.
- anthropometric parameters of the user can be determined based on filling out a questionnaire.
- This method can be implemented as an application on a smartphone, as a service on an Internet site, or in another way. Questions may include information about height, weight, age, body shape or any anthropometric parameters of the body. Answers can be entered as a real number or by choosing one of several suggested options. Also, optionally, the user can add one or more body photos to the entered data.
- the data entered in the questionnaire is transferred to a special module, which calculates the anthropometric parameters of a person on the basis of these data.
- the task of such a module is to determine unknown anthropometric parameters of the body based on the entered parameters.
- This task can be solved using statistical models. For example, knowing the gender, height, weight, and body type of the user, you can build the most likely for such parameters a model of the user's body, which will correspond to certain dimensional characteristics.
- the model can be built using regression analysis methods, using classification and clustering methods, as well as using deep learning or using mixed methods.
- qualitative characteristics of a person can be requested, for example, the bend of the back (degree of stoop), the ratio of muscle to fat body mass (athletic, normal, obese), etc.
- Feedback data can be used to fine tune the module, taking into account real statistics about users.
- the incoming data can contain both continuous and discrete quantities, as well as photographic images.
- Several approaches are proposed for processing this data.
- the space of continuous parameters is mapped into clusters using voxelization or another clustering method. For each cluster, the most probable values of dimensional attributes are determined. Based on the data entered by the user, the cluster to which the user belongs is determined, and after that his anthropometric characteristics are specified using additional information. The result is the user's dimensional attributes.
- Continuous can be, for example, the girth ratio waist to hip circumference, leg length to height, or other relationships.
- the type of figure can be categorical. This data can be used to refine the dimensional characteristics of the user, described above in and. 1 and and. 2.
- the algorithm for typing a human figure has at the input the gender of the person and a table of measurements taken from it.
- the typing of figures for women and men is implemented by different functions.
- the algorithm uses information from three measurements: chest circumference, waist circumference and hip circumference, and classifies the figure into one of three types: thin, normal and fat.
- test results based on 146 female three-dimensional images are as follows: “thin” - 8.9% (13), “normal with a pronounced waist” - 43.8% (64), “normal without a pronounced waist” - 27.4% ( 40), “full with a pronounced waist” - 5.5% (8), “full without a pronounced waist” - 14.4% (21). These data are consistent with statistics. On visual inspection, the body types of the women also matched the results of the automated testing.
- the quality of the algorithm was determined on a test sample consisting of three-dimensional images (ZP-scans; ZP-scans). A comparison was made with two types of reference data:
- SD dimensional characteristics
- SD Dimensional Attributes as measured from a 3D image using clothing design software (CAD).
- CAD clothing design software
- Examples of such CAD systems include CLO, Optitex, Browzwear, etc.
- FIG. 31 Comparison of RP obtained using the above algorithm with RP measured manually over the body is shown in FIG. 31.
- the average error was 23.3 mm.
- a comparison of the RP obtained using the above algorithm with the RP measured from a three-dimensional image is shown in Fig. 32.
- the average error was 21.2 mm.
- FIG. 31 and FIG. 32 on the abscissa axis are the numbers of measurements in the internal system, on the ordinate axis - the difference between the measurement results, obtained using the proposed algorithm and the results measured manually from a person in reality or from a three-dimensional image. Each point corresponds to the error in the result of a specific measurement of a specific person.
- the average error in all measurements turned out to be less than 2.5 cm.It can be seen that the distribution centers are displaced relative to zero, which indicates an inaccurate choice of the positions of anthropometric points, in addition, the diagram contains outliers that can be associated with both errors algorithm and with errors of reference data. In the future, it is planned to test the algorithm on a labeled sample of a larger volume, which will allow choosing the optimal parameters of the algorithm.
- a selection is made according to anthropometric parameters of one or more of the closest production models from an array of production models of different clothing manufacturers.
- the 3D manufacturing models are "registered" in the same way as the 3D models obtained from scanning the user's body as described above.
- RP can be obtained from such models - either directly (if the methods for determining the RP coincide with those used in the proposed approach), or by transformation. Moreover, the method of such a transformation depends on the specific implementation of the parameters of a particular production model.
- Mapping production models to a user's body model can be done using an objective function where T is the objective function of the discrepancy to be minimized, M is the number of dimensional features (RP), DP cust is the user's dimensional feature, DP prod is the dimensional feature the production model, corresponding to the user's dimensional attribute, is a weighting coefficient that takes into account the importance of each attribute in terms of the impact on the "fit" of a particular garment on the user, i.e. on the user's subjective assessment of whether this clothing “fits” well or badly.
- the number can represent both the number of all dimensional features of the user and / or production model, or a subset of dimensional features that include only those dimensional features that are significant for a particular garment (for example, only the RP of the legs when choosing jeans or only the RP of the brushes when choosing gloves ).
- the comparison criterion for models can be based, for example, on the estimate T ⁇ o, where r o is a threshold value, the value of which can be unified (i.e., valid for all types of clothing, all clothing manufacturers and all users) or differentiated (t (i.e. set individually for different types of clothing, different clothing manufacturers and different users).
- r o is a threshold value, the value of which can be unified (i.e., valid for all types of clothing, all clothing manufacturers and all users) or differentiated (t (i.e. set individually for different types of clothing, different clothing manufacturers and different users).
- the comparison can be performed not only using the objective function (34), but also by more general known methods, for example, by registering two compared models relative to each other and calculating the residual of three-dimensional surfaces of the models. This allows you to compare models not only in selected places (waist, hips, etc.), but also to compare the entire models.
- the production models selected according to the comparison criterion can be recorded in any suitable form on any suitable storage medium, as appropriate for a particular user, and can be further used in the process of remote clothing selection. Such fixation can be performed in an appropriate format on the user's computer or mobile device, or on a cloud service server.
- remote selection of clothing is possible without using a production model based on the comparison of the user's dimensional characteristics with the dimensional grid of a particular brand or on the basis of comparing the user's dimensional characteristics with the results of measuring the garment.
- the user selects a model of clothing, and the system determines the size appropriate for the user for this model.
- clothing model does not mean a mathematical or computer model, but a sample of clothing embodied in the material, characterized by certain sizes, silhouette, cut, compositional and design solutions, materials and decorative elements.
- FIG. 43 A large algorithm for recommending a suitable size for a particular clothing model is shown in FIG. 43.
- the algorithm provides for the following actions:
- the size characteristics of the user are compared with the size grid of the brand that owns the selected clothing model
- the preselection of a model or category of clothing is performed in any suitable way, for example, using an electronic catalog. It is also possible to use paper catalogs, flyers, publications on social networks, video clips and other information and advertising materials for this purpose, allowing to identify the item of clothing of interest to the user.
- An electronic catalog can be mono-brand or multi-brand, functional or thematic. All clothing models in the catalog are pre-arranged into categories and, if necessary, into subcategories. For each category (subcategories) of clothing, those dimensional characteristics of a person are predetermined, on the basis of which a suitable size can be determined.
- These characteristics are determined by the system or entered into it (if they have been predefined) or extracted from the geometric or parametric model of the user's body (for example, if it is contained in the user profile).
- the determination of the dimensional characteristics of the user can be performed, for example, by the methods described above in section 4.1.
- the dimensional grid can be obtained both directly and by calculating the dimensional characteristics of production mannequins.
- the corresponding size is calculated numerically (for example, as a real number) according to the brand's dimensional grid. Further, based on the obtained sizes, the recommended clothing size is calculated using the formula.
- a dimensional grid containing only two dimensional characteristics for example, chest girth and hip girth.
- the size related to the upper body will be determined by the girth of the chest, and related to the lower body by the circumference of the hips.
- a more accurate recommendation can be provided by using a size grid with a large number of dimensional features, for example, for fitted shirts, jackets, dresses, etc. it may be appropriate to take into account the circumference of the neck, chest and waist, the width of the shoulders, as well as the height of the person and the length of the sleeve.
- a dimensional grid containing a larger number of dimensional features is required.
- Sizing based on several dimensional features is possible using different approaches. For example, for each dimensional characteristic, you can enter a coefficient that determines the degree of influence of this characteristic on the recommended clothing size. In this case, the size can be calculated using the weighted arithmetic mean formula:
- correction values can be individual for each user or for some users. In particular, individual correction values can neutralize the lack (a small number) of dimensional features taken into account when comparing, taking into account the peculiarities of the user's figure.
- the size of the garment in length and width can be calculated.
- the result of the recommendation algorithm is a pair of numerical sizes: length and width.
- the clothing size recommendation algorithm can be expanded by additionally implementing the stylistic recommendation algorithm (discussed in more detail in i. 5.7).
- the expert stylist To prepare stylistic recommendations, the expert stylist must first determine the rules for matching body characteristics and characteristics of suitable clothing. Body characteristics can be based on a user's age, physique, skin color, hair type, hair color and length, section and eye color, etc.
- the algorithm of stylistic recommendations calculates the necessary characteristics of a person's body, determines the parameters of clothing that are appropriate for a given person, and recommends the most appropriate clothing in terms of style and style.
- Optical scanning of clothing can be performed on a special automated installation.
- the installation can consist of a work surface and a plenum box.
- the work surface can be marked so that the system can be automatically calibrated for sizing based on camera images.
- a marking can be a grid with a square cell of a predetermined size.
- the stakeout may consist of anchor points located at predetermined locations at a predetermined distance from each other.
- a computer vision algorithm can be used, which determines the type or category of the garment, identifies key points in the image, calculates the outline of the garment and, based on this data, determines the dimensions (Fig. 42). For this, the rules for converting key points and contour into measurement results, predefined for each type (category) of clothing, can be applied.
- the measurement results can be converted into dimensional features that can be used for comparison directly or from which, if necessary, a parametric model of the garment can be formed.
- these dimensional cues or parametric models describe the manufacturing mannequin that the garment is sewn on.
- the dimensional features of the user's body can be compared with the dimensional features of the garment in a similar manner as described in and. 5.3 with reference to formulas (35) and (36).
- the system that implements the recommendation algorithm may contain: - a clothing database containing a dictionary of clothing categories, a dictionary of clothing subcategories for each category, a list of clothing models for each subcategory, measurement results (hereinafter - measurements) and the corresponding sizes for each clothing model;
- any combination of rules can be set for a specific clothing model
- a search is performed in the clothing database available for selection, taking into account the number M of recommended clothing models and the target category (subcategory) in which the search should be carried out.
- the number M and one or several categories (subcategories) for search can be specified by the user or determined by the system itself based on various criteria. Such criteria can be user preferences, revealed based on the analysis of past actions of this user in the system, current system load, etc.
- a list of no more than M clothing models is provided with an indication of the size of each model, ranked in descending order of the fit rating (i.e., a coefficient showing how a particular garment is suitable for the user).
- the recommendation algorithm provides for initialization, preprocessing of data and calculation of the garment fit rating.
- the garment data is imported from an external data source and the format of the imported data is converted to the system data format.
- Data sources for garments can be many and varied in terms of data formats.
- the format conversion allows the formation of a garment recommendation system database.
- Garment data may represent garment measurements. If the imported data does not contain measurements for the entire size range of a specific models of clothing, the missing measurements are calculated by interpolation or extrapolation based on the available measurements according to predefined rules.
- the preprocessing of the data includes converting the format of the user's dimensional characteristics and / or the format of measurements of clothes into such a format that allows them to be compared.
- garment measurements can be converted to a format that describes the manufacturing dummy that the garment is sewn on.
- the production dummy is sized to match the ideal fit of the garment. Since this format can match the format of the user's body model, they can be matched directly.
- another option is possible, when the user's dimensional features are converted into a format for measurements of clothes, or another option, when both formats are converted into some third format, providing a comparison of dimensional features.
- the result of the comparison can be expressed as a fit rating - a numerical assessment of the fit of an article of clothing to the user's figure.
- the fit rating can be calculated for two vectors - the vector of the user's dimensional characteristics and the vector of the dimensional characteristics of the garment.
- each garment measurement has an allowable range in which the measurement can vary without compromising the technical fit of the garment. Accordingly, deviation of the dimension from the corresponding measurement within such a range should not degrade the fit rating.
- - “fit” means the fulfillment of at least one of the following conditions: the value of the dimensional attribute of the garment is in the acceptable range and the value of the dimensional attribute of the garment is greater than the value of the corresponding dimensional attribute of the user, but is in the group “greater” of the importance rules;
- the fit rating can be equal to the number of measurements in the “fit” group divided by the total number of measurements of the garment.
- an additional fit error value can be calculated. For this, the 2-norm is calculated for each of the groups “fit”, “big” and “small” separately. The calculation results are summed using weights, for example, 1 * fit + 2 * big and the sum is the error of fit.
- the fit error value allows you to rank fully fitting clothes (for which the fit rating is 1) and, if there are items of clothing with measurements in the “big” category in the recommended issue, to raise the position in the issue of clothing with the smallest overshoot.
- Vectors of measurements of clothes and a vector of dimensional features consist of N coordinates.
- the coordinates of all vectors are in the same order (i.e., they are expressed in a single coordinate system).
- the bruteforce method is used to enumerate all clothing items for all clothing models from a given category (subcategory).
- the fit rating is calculated for the j-th vector of clothing measurements and the vector of the user's dimensional characteristics.
- two successive sorts are performed: sorting by fit rating in descending order, and sorting by fit error in ascending order (optional).
- the first M elements are selected from the sorted sample.
- the output of the algorithm is a sample of no more than M elements, ordered in descending order of accuracy of the technical fit of the clothing.
- the specialist should understand that the described algorithms can replace and / or complement each other can and can be used both for comparing the user's dimensional characteristics with the results of measuring the garment, and for matching with the brand's size grid. To do this, it is enough to swap the measurements of the garment and the dimensional signs of the brand's dimensional grid at the entrance to the algorithm.
- the system may be able to implement the recommendation algorithm even in the absence of data from the user's anthropometric measurements.
- the input of the algorithm instead of the user's dimensional attributes can be supplied with the measurement data of reference garments, i.e. garments that are guaranteed to have an acceptable fit on the wearer.
- reference garments i.e. garments that are guaranteed to have an acceptable fit on the wearer.
- this version of the recommendation algorithm has certain limitations, but can provide satisfactory results for garments of the same category (subcategory).
- MSA Machine Learning Algorithm
- the MLA algorithm can be implemented in the form of a classifier, the input of which is the user's dimensional characteristics, and scalar values are taken from the output, indicating the likelihood that a particular size of a particular brand (or a particular item of clothing) is suitable for the user.
- the MLA algorithm is based on a neural network with two or more layers.
- the need to implement a multilayer neural network is due to the fact that different brands do not have the same dimensional grids.
- the multilayer structure of the neural network allows you to separate the network's view of the user's dimensional characteristics and transform the network's view of the user's dimensional characteristics into a recommendation for the size of a particular brand.
- one layer responsible for the network's representation of the user's dimensional characteristics acts as an encoder
- the other layer responsible for converting the network's representation of the user's dimensional characteristics into a recommendation of the size of a particular brand acts as a decoder (see Fig. 44).
- the role of an encoder can be performed by several layers of a neural network. In this case, the encoder and decoder can be taught separately. This allows the encoder to be trained on large sets of brand-independent training data, and to train the decoder on a subset of brand-specific training data.
- a database can be used that contains a dataset containing a set of dimensional characteristics of one person, a set of sizes of one piece of clothing and data on whether or not this piece of clothing fits this person. Many of these datasets can cover all body types and sizes of users and size ranges of many brands. Types of figures and complexions in training sets data can be determined taking into account national and / or regional statistics on the size characteristics of the population.
- the subsequent training of the neural network can be carried out for one or several decoders, each of which is turned on only when a set of training data corresponding to this decoder (i.e., data related to a particular brand) is fed to the encoder.
- a set of training data corresponding to this decoder i.e., data related to a particular brand
- the decoder is trained on the training data of the respective brand, and the encoder is ultimately trained on the full training data set.
- Training on specific brand data can be conducted on labeled training datasets.
- Each dataset can contain a set of dimensional characteristics of one person, a set of sizes of one item of clothing of a particular brand, and data on whether this item of clothing fits or does not fit this person.
- each dataset could contain one dimension of one person, one size of one garment of a particular brand, and data about whether the garment did or did not fit that person.
- the MLA algorithm can be implemented as a Gradient Boosted Decision Tree (GBRT) algorithm based on decision trees, using which the predictive model is formed in the form of a forest of decision trees.
- the forest is being built in stages. Each subsequent decision tree of such a forest focuses training on those parts of the previous decision tree that led to an unjustified prediction or a significant error.
- boosting is designed to improve the quality of forecasting by the MLA algorithm.
- the system uses the forecast of not one trained algorithm (one decision tree), but a set of trained algorithms (forest of decision trees) and makes a final decision based on the set of forecasting results by these algorithms.
- a multi-photo matching system can be used to simplify the user experience and to enable the deployment of a recommendation system without the use of stationary scanners.
- Such a system works on the basis of several photos of the user, which he can take on his own using the devices available to him, such as a smartphone or laptop with a web camera. Additionally, the user is required to enter several parameters, for example, height, weight, etc.
- the system receives as input several images of the user from different angles, for example, in profile and full face.
- the image data is fed into a convolutional neural network that converts the user's image data into a segmented map, where each pixel has a value of either 0 or 1. In this case, a value of 0 is for pixels that are not related to a person, and a value of 1 is related to him.
- the image data is fed to the input of a convolutional neural network, which converts it into a feature vector. After that, this vector is searched for in the clustered space of parametric models. Further, for a given cluster, the corresponding size from the dimensional grid or the size of clothing from those previously matched to this cluster is sought.
- An image segmentation map is obtained using a U Net-like convolutional neural network containing an encoder and a decoder. One color image of the user is fed to the network input, and a segmentation map is expected at the output.
- a detailed description of the UNet network can be found at https://arxiv.org/abs/1505.04597.
- a set of images is used in which an exact segmentation map corresponds to each image.
- the weighted sum is used as a loss function
- N images of size C with U> ⁇ 3 are received at the input of the neural network, where 3 is the number of colors in a pixel.
- the neural network acts as a transformation operator ⁇ : ⁇ U, where X is the image space, and U is the feature vector space.
- the very receipt of the feature vector is performed by a neural network of conventional architecture.
- an ordinary encoder is taken, consisting of a number of convolutional layers, for example, ResNet, Inception, or MobileNet.
- the output is flattened into a vector by the encoder and fed to a fully connected layer.
- the output of this fully connected layer is a feature vector.
- a neural network with any not completely zero weights will perform feature vector extraction. However, better cluster matching is achieved if the neural network is trained on an appropriate dataset containing images similar to those that will be fed into the input.
- the neural network trains on existing scans, supplemented with random noise in the parameters of the model's pose.
- the preparation of one data set is carried out according to the following algorithm.
- Random noise with pre-calculated parameters is added to the parameters of the figure of this parametric model. These parameters are computed so that the distribution is similar to the distribution of the actual pose parameters from the dataset.
- a random pose of the model is selected from the entire dataset and random noise is added to it.
- the model is placed in the center of coordinates.
- the camera is initialized with random parameters with x , C y , f x , and f y.
- the camera is positioned so that the model is looking directly at the camera.
- the camera is rotated at a random angle from -100 ° to -80 ° or from 80 ° to 100 ° around the model and the steps 7, 8, and 9 are repeated.
- the model is rendered into a binary mask, where each pixel has a value of either 0 or 1, where 0 means that the pixel belongs to the background, and 1 means that the pixel belongs to the model.
- the algorithm After training the neural network, the algorithm is trained, which puts the cluster in accordance with the feature vector.
- a model is fed to the input of the neural network.
- the parameters of the found cluster are paired with the feature vector.
- the order in which these garments are dispensed may depend on the magnitude of the divergence function T (Formula 34) or may be determined by the user based on personal preference.
- the interface of the remote clothing selection system can provide for the operational switching of the principle of the formation of the order of issue of clothing items. Such switching can be performed manually by the user (for example, if the default order does not provide sufficient relevant output) or automatically (for example, based on the analysis of statistics of user actions).
- the search for suitable items of clothing can be carried out using the typing of the figure, described in section 4.2 above, which allows you to select items of clothing not just in accordance with the parameters of the body (so that, for example, clothes do not sting and crush, or, conversely, do not hang in a bag-like manner) , but also in accordance with the type of body (so that clothes stylistically decorate the figure), recommending, for example, women with a figure classified as a "pear", empire line dresses and items of clothing that visually increase the shoulders (with the help of shoulder pads, puffy sleeves, boleros etc.), etc.
- the visualization of garments for which the production model used is known is also a trivial task for a specialist, therefore, the description of its practical implementation is omitted for brevity. Suffice it to mention that the garment may be rendered as such (i.e., without a mannequin or human image) or it may be rendered on a mannequin or on a person.
- one of the embodiments of the invention may provide for rendering the garment on a 3D model of the user himself, and rendering the image may include reproducing a realistic images of the user's head to enhance the emotional effect.
- the 3D head model including the user's face and hairstyle, may not be part of the user's body model in the sense in which it is described in the description of the algorithm, and may be intended solely for decorative purposes.
- the interface of the remote clothing selection system can provide for an on-line switching of the clothing visualization principle. As with the order of displaying search results for garments, such switching can be performed manually by the user (for example, if the user wants to examine the interior (lining) of the garment, he can turn off the visualization of a mannequin or a person) or automatically (for example, based on the analysis of statistics of user actions) ...
- the remote garment selection system interface may allow the user to control the visualization using the controls by changing the perspective, zooming in or out, etc. to allow the user to properly view the garment.
- the visualization of clothing is possible against a different situational background (which can be selected from the library or can be loaded by the user himself), when illuminated from different points (in particular, with the choice of the number and / or position of virtual lamps), with different intensities.
- different diffuseness for example, light can be directed or diffused
- a different spectrum for example, light can be artificial, daytime, evening, imitate a rising or setting sun
- the remote garment selection system interface can provide user control of all of these capabilities. The implementation of these possibilities will also not cause significant difficulties for specialists, therefore, the details of the corresponding technical solutions are omitted for brevity.
- the technology described above can be used not only for the remote sale of clothing items (for example, in an online store), but also for remote rental of clothing (for example, formal or smart clothes for celebrations, etc.).
- the technology described above with slight modifications, can be used to remotely select goods other than clothing. (for example, medical supplies - corsets, bandages, etc., requiring compliance with the patient's figure).
- the user can make a purchase or rent not only remotely (online, via the Internet), but also in an offline store or salon.
- an assistant who brings things to the user after the user selects these things in the application interface.
- the assistant can either transfer things into the hands of the user, or use special cells (boxes, baskets, etc.), due to which the assistant does not see the user (which can be convenient, for example, if the user is in the fitting room and in present stripped).
- an assistant can be both a human and a robotic system.
- the system for remote selection of clothes contains computing devices that perform the actions of the algorithm for remote selection of clothes described above.
- this system may contain the equipment mentioned above for optical scanning of the user's body used at the initial stage of the algorithm.
- the system contains equipment of a potential user, hereinafter referred to as a user's device, and equipment of a service provider related to the remote selection of clothing.
- a user device can be any computer hardware capable of executing programs suitable for solving a particular task.
- Some (non-limiting) examples of user devices include personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, and network equipment (routers, switches, gateways, etc.).
- the service provider's equipment can also be any computer hardware capable of executing programs suitable for the task at hand. Some (non-limiting) examples include individual computers and computer systems. Computer systems can be lumped or distributed. In a business-to-business environment (B2B, Business-to-Business), the system may contain an additional link, conventionally called the retailer's equipment, functionally related to the user's device and to the service provider's equipment. In this case, the remote clothing selection algorithm can mostly be performed by the retailer's equipment and the service provider's equipment, and the user device can be used mainly in terminal mode, for example, for visualization and / or for receiving control commands via the user interface.
- B2B Business-to-Business
- the system may have a client / server architecture, where the user device may be a client device, and the service provider's equipment may include a server device.
- server means a computer program executed by suitable hardware and capable of receiving requests (eg, from client devices) over a network and executing or initiating those requests.
- client means a computer program executed by suitable hardware and capable of making requests to a server, receiving a response from the server, and processing it.
- client device can also function as a server device for other client devices.
- client device does not exclude the use of multiple client devices to receive, send, execute or initiate the execution of any task or request, or the results of any tasks or requests, or steps of any method described herein.
- the system may have a peer-to-peer architecture such as a peer-to-peer network.
- the system can also have any hybrid architecture.
- FIG. 34 shows an illustrative example of a system (20) for remotely selecting clothes in a B2C environment, comprising a user device (21) executing a program (22) and a service provider equipment (23) executing a program (24).
- the device (21) of the user is connected to the equipment (23) of the service provider via a network connection (25).
- the network connection (25) may be implemented using the Internet.
- the network connection (25) may be implemented using any wide area communications network, local area communications network, private communications network, and the like.
- the implementation of the network connection (25) depends, among other things, on the implementation of the user device (21) and the equipment (23) of the service provider.
- System (20) is functionally connected to the system (30) of the garment supplier.
- systems (20) and (30) may be combined into one system.
- the system (20) may be operatively associated with several systems (30) from different garment suppliers.
- FIG. 35 shows another illustrative example of a system (20) for remotely selecting clothes in a B2B environment, in which the system includes
- (20) includes the equipment (26) of the retailer running the program (28), connected to the equipment (23) of the service provider through the network connection (25), and to the device (21) of the user through the local network connection (27).
- the network connection (25) can be realized using a wireless communication line (for example, a 3G communication network channel, a 4G communication channel, WiFi, Bluetooth, etc.) ).
- a wireless communication line for example, a 3G communication network channel, a 4G communication channel, WiFi, Bluetooth, etc.
- the network connection (25) can be implemented using a wireless communication line (such as WiFi, Bluetooth, etc.), a wired communication line, or an optical communication line. (such as an Ethernet connection).
- a network connection can be implemented in a similar way (27).
- FIG. 34 and FIG. 35 for simplicity, only one user device (21), one service provider equipment (23) and one garment provider system (30) are shown.
- the system (20) may contain many user devices (21) (for example, hundreds, thousands, or millions of such devices), many equipment (23) of the service provider (for example, tens or hundreds of regional sites of the service provider) and may be associated with many systems (30) of clothing suppliers (for example, with tens or hundreds of clothing suppliers).
- the software implementation of the algorithm for remote selection of clothing is distributed between programs (22), (24) and (28).
- FIG. 34 and FIG. 35 for simplicity, equipment for optical scanning of the user's body is not shown.
- Kinectfusion Real-time dense surface mapping and tracking. 10 th IEEE International Symposium on Mixed and Augmented Reality, 26-29 October 2011, Basel, Switzerland, DOI: 10.1109 / ISMAR.2011.6092378.
- SMPL A skinned multi-person linear model. ACM Transactions on Graphics (TOG), Volume 34, Issue 6, November 2015, Article No. 248, DOI: 10.1145 / 2816795.2818013.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Geometry (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Способ для дистанционного выбора одежды включает в себя определение антропометрических параметров пользователя, автоматическое оценивание соответствия предмета одежды форме и размерам тела пользователя в реальном времени, выработку и предоставление пользователю рекомендаций по выбору того или иного предмета одежды и, опционально, визуализацию предмета одежды на цифровом аватаре этого пользователя в виртуальной примерочной, в том числе, при изменении его позы. Изобретение обеспечивает повышение эффективности дистанционного выбора одежды пользователем, улучшение впечатления пользователя от дистанционной покупки, повышение удовлетворенности пользователя и, в конечном счете, увеличение объемов онлайн-продаж одежды и снижение доли одежды, возвращенной после покупки из-за неудовлетворительного соответствия форме и размерам фигуры пользователя.
Description
СПОСОБ И СИСТЕМА ДЛЯ ДИСТАНЦИОННОГО ВЫБОРА ОДЕЖДЫ
Область техники
Изобретение относится к области электронной коммерции. В частности, оно относится к средствам для оказания помощи пользователю в дистанционном выборе товаров (предметов одежды, обуви, аксессуаров и т.п.), к которым применимо понятие размеров, путем оценки соответствия размеров товара форме и размерам тела пользователя.
Уровень техники
В последние годы использование традиционной простейшей системы размеров, например, [рост] -[обхват груди] -[обхват талии] -[обхват бедер] или [рост] -[размер по плечам]-[размер по бедрам]) при торговле одеждой, [размер]-[полнота] при торговле обувью, постепенно вытесняется применением более сложных параметрических моделей или геометрических моделей тела пользователя, на соответствие которым может быть проанализирован тот или иной предмет одежды, обуви, аксессуаров и т.п. (далее для краткости - одежды).
Тенденция к применению таких моделей вызвана несколькими факторами, среди которых следует выделить стремление ретейлеров снизить количество возвратов одежды, «не подошедшей» по тем или иным причинам, и переход производителей одежды на использование «компьютерных» выкроек вместо традиционных «лекальных» выкроек. Для получения «компьютерных» выкроек одежды применяются производственные компьютерные модели или физические манекены, для которых определены параметрические модели. Такие производственные модели обычно создаются на основе статистических данных, получаемых при выборочных репрезентативных обмерах населения на определенной территории. Иными словами, производственные модели обычно достаточно точно описывают, по крайней мере, наиболее распространенные типы фигур людей в той или иной стране, соответствующие не менее чем 80-90% населения.
Это дает возможность, выполнив оптическое сканирование тела пользователя и построив его геометрическую (в частности, трехмерную) и/или параметрическую модель, соотнести эту модель с соответствующими производственными моделями, использованными при пошиве одежды, и дистанционно выбрать предметы одежды, наиболее подходящие пользователю по размерам и форме тела.
Кроме того, это дает возможность визуализировать эти предметы одежды на пользователе, т.е. представить на экране электронного устройства реалистичное изображение одного предмета одежды или нескольких предметов одежды в сочетании.
При этом у пользователя появляется возможность подробно рассмотреть изображенный предмет одежды (или себя в этой одежде) с разных ракурсов и расстояний, на разном ситуационном фоне (который можно выбрать из библиотеки), при разном освещении (дневном, вечернем, искусственном) и т.д.
Ожидается, что все эти меры должны способствовать совершению более осмысленных покупок одежды и, соответственно, к существенному снижению количества возвратов.
Таким образом, задача помощи пользователю в дистанционном выборе одежды может быть разделена на несколько этапов: определение антропометрических параметров пользователя (в частности, его размерных признаков), определение размерных признаков предметов одежды, оценка соответствия предметов одежды телу пользователя на основе анализа этих признаков и, опционально, визуализация предметов одежды на цифровом аватаре пользователя.
Определение размерных признаков пользователя может включать в себя построение модели тела пользователя. Подходы к построению трехмерной модели тела пользователя, определению его размерных признаков и их сопоставлению с размерными признаками предметов одежды описаны во множестве патентных и непатентных документов.
В документе US2015206341 А1 (Method for providing a three dimensional body model) описано применение сегментации по частям тела на ЗБ-изображении, применение шарнирной модели скелета тела, построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек, минимизация ошибок произвольной модели методом Г аусса-Ньютона и построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе ЗБ-изображения (в произвольной форме и произвольной позе) согласно графу морфирующего поля. В этом документе не описано построение графа морфирующего поля путем определения вершин параметрической модели и уточнение параметров формы и канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности.
В документах ЕР2674913А1 (Three-dimensional object modelling fitting & tracking), EP3358527A1 (Apparatus and method to generate realistic rigged three dimensional (3D) model animation for view-point transform), EP3382648A1 (Three-dimensional model generating system, three-dimensional model generating method, and program), RU2014152713A1
(Измерение тела), 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 anthropometries 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), W02010019925A1 (Method and apparatus for estimating body shape), W02013087084A1 (Method and device for estimating a pose), WO2014053198A1 (Co-registration - simultaneous alignment and modeling of articulated 3D shapes), W02015021381A1 (Real-time reconstruction of the human body and automated avatar synthesis), W02016207311 A1 (Skinned multi-person linear 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), US2013342527A1 (Avatar construction using depth camera) описано применение шарнирной модели скелета тела, построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек и построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе ЗО-изображения (в произвольной форме и произвольной позе) согласно графу морфируюгцего поля. В этих документах не описано применение сегментации по частям тела на ЗО-изображении, построение графа морфируюгцего поля путем определения вершин параметрической модели, минимизация ошибок произвольной модели методом Гаусса-Ньютона и уточнение параметров формы и
канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности.
В документах RU2615911С1 (Способ и система построения реалистичного 3D аватара пользователя для виртуальной примерочной), US2010306082A1 (Garment fit portrayal system and method), US2014035901 A1 (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), WO2016073841 A1 (Scan data retrieval with depth sensor data) описано построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек и построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе ЗО-изображения (в произвольной форме и произвольной позе) согласно графу морфируюгцего поля. В этих документах не описано применение шарнирной модели скелета тела, применение сегментации по частям тела на 3 D-изображении, построение графа морфируюгцего поля путем определения вершин параметрической модели, минимизация ошибок произвольной модели методом Гаусса- Ньютона и уточнение параметров формы и канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности.
В документах US2019122424A1 (Generation of body models and measurements), WO2013174671 A1 (A method and a system for generating a realistic 3D reconstruction model for an object or being) описано применение сегментации по частям тела на 3D- изображении, применение шарнирной модели скелета тела, построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек. В этих документах не описано построение графа морфируюгцего поля путем определения вершин параметрической модели, минимизация ошибок произвольной модели методом Г аусса-Ньютона, построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе ЗО-изображения (в произвольной форме и произвольной позе) согласно графу морфируюгцего поля и уточнение параметров формы и канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности.
В документе [А1] описан способ формирования ЗО-модели тела человека на основе множества снимков (карт глубины) с применением сегментирования и артикуляции, путем изменения параметров формы и позы.
В документе [А2] описана модель SCAPE тела человека, формируемая на основе одного статического снимка (карт глубины) и множества снимков с использованием маркеров. Способ включает в себя сегментирование, артикуляцию, определение и изменение параметров формы и позы.
В документе [АЗ] содержится обзор различных подходов к формированию 3D- модели тела человека.
В документе [А4] описаны особенности формирования скелетной структуры 3D- моделей для анимации.
В документе [А5] описан способ формирования обобщенной ЗО-модели тела человека (FAUST) с применением оптических маркеров.
В документе [А6] описан способ формирования ЗО-модели тела человека с использованием способа DeepCut для сегментирования и артикуляции и статистической модели SMPL для изменения параметров формы и позы. Совмещение положения составов по DeepCut с моделью SMPL выполнялось путем минимизации целевой функции Geman- McClure.
В документе [А7] дан сравнительный обзор ЗО-моделей тела человека: SCAPE, BlendSCAPE, Dyna, S-SCAPE, SMPL и RealtimeSCAPE. Показана большая точность vertex-based approach по сравнению с triangle-based approach.
В документе [А8] рассмотрены вопросы рендеринга мускулатуры при изменении параметров формы и позы 3D- модели тела человека.
В документе [А9] рассмотрены вопросы формирования видимых поверхностей (skinning) ЗО-моделей, основанных на скелетном подходе.
В документе [А10] рассмотрены вопросы формирования видимых поверхностей (skinning) ЗО-моделей с использованием двойных кватернионов (Dual Quaternions).
В документе [All] описан принцип действия нейронной сети DeepWrinkles (Facebook AI Research) для ЗО-моделирования предметов одежды на человеке.
В документе [А12] рассмотрены вопросы формирования видимых поверхностей (skinning) ЗО-моделей, основанных на скелетном подходе. Обсуждено сглаживание по Лапласу с учетом жесткости (rigidness Laplacian regularization).
В документе [А13] дано сравнение методов skeleton subspace deformation (SSD) и pose space deformation (PSD) при морфинге позы.
В документе [А14] описана ЗБ-модель тела человека Skinned Multi-Person Linear model (SMPL).
В документе [A15] рассмотрены вопросы формирования поверхности ЗБ-модели тела человека с точки зрения скелетно-мышечной модели.
В документе [А16] описана статистическая ЗО-модель тела человека S-SCAPE с нормализацией позы по Wuhrer et al. (WSX) и Neophytou and Hilton (NH).
В документе [A17] описан локально-предиктивный подход к получению антропометрических измерений путем преобразования облака точек с применением случайного регрессионного леса.
В документе [А18] описано применение генеративно-состязательных сетей (Generative Adversarial Networks, GANs) для формирования поверхностей 3D- модели тела человека.
В документе [А19] обсуждаются подходы к реализации параметров формы и позы ЗБ-модели тела человека.
В документе [А20] рассмотрены вопросы параметризации формы ЗБ-моделей тела человека.
В документе [А21] описан подход (Sobol evFusion) формирования 3 D-модели тела человека из одного потока данных RGB-D с применение градиентного потока в пространстве Соболева.
В документе [А22] описано получение ЗО-модели тела человека для виртуальной примерочной из данных одной камеры глубины бытового назначения. Способ включает в себя сегментирование и артикуляцию с последующим извлечением из базы ближайшего по размерам варианта. Утверждается, что способ работоспособен в реальном времени.
В документе [А23] описано применение уточненного скелетного подхода (с использованием характеристических примеров) для формирования поверхности 3D- модели.
В документе [А24] описано получение ЗО-модели тела человека методом Semantic Parametric ReshapING method (SPRING) - с использование 23 семантических размерных параметров.
В документе [А25] описано получение ЗО-модели тела человека из единственного изображения с камеры глубины.
В документе [А26] предложен способ получения ЗО-модели тела человека из данных одной камеры глубины (BodyFusion) на основе skeleton-embedded surface fusion (SSF) и graph-node deformations. Утверждается, что способ устойчив к шумам и пропускам данных.
В документе [А27] предложен способ получения ЗБ-модели тела человека из данных одной камеры глубины (DoubleFusion) с применением Double Node Graph и Joint motion tracking.
В документе [A28] описан способ реконструкции поверхности ЗБ-модели тела человека на основе изображений в одежде, полученных с камеры глубины. Способ основан на минимизации целевой функции, определяемой по открытым частям поверхности тела (без одежды).
В документе [А29] описан способ формирования ЗБ-модели тела человека с применением сегментирования и артикуляции.
В документе [А30] описан способ построения ЗБ-модели тела человека с использованием одной ЗО-камеры и нескольких инерциальных датчиков, закрепляемых на теле человека.
В упомянутых выше непатентных документах обсуждаются общие подходы, алгоритмы и математические подробности различных способов реализации ЗО-моделей человеческого тела. Технического решения, решающего задачу настоящего изобретения теми же средствами, в уровне техники не обнаружено.
Способы сопоставления данных о теле пользователя с данными о предмете одежды также описаны во множестве патентных и непатентных документов.
В документах US2006287877A1 (Matching the fit of individual garments to individual consumers), US2009276291 A1 (System and method for networking shops online and offline), US6546309B1 (Virtual fitting room) по меньшей мере частично описаны наличие входных данных (1) о теле пользователя и данных (2) о предметах одежды, преобразование и/или фильтрация входных данных, сопоставление данных (1) и (2) путем анализа целевой функции, наложение ограничений (краевых условий) на целевую функцию, результаты анализа - определение глобального оптимума целевой функции, выходные данные - рекомендации пользователю по выбору предметов одежды на основе результатов анализа целевой функции. В этих документах не описано сопоставление данных (1) и (2) с использованием нейронной сети и наличие в нейронной сети не менее двух слоев, причем первый слой реализует внутреннее представление сети о размерных признаках человека, а второй слой реализует внутреннее представление сети о размерных признаках предмета одежды (или бренда).
В документах US2014040041 А1 (Garment fitting system and method), US2017039622A1 (Garment size recommendation and fit analysis system and method), US2002188372A1 (Method and system for computer aided garment selection), W00217160A2 (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, virtually simulating models of actual and target body shapes, ascertaining garment size fitting, and processing garment orders) по меньшей мере частично описаны наличие входных данных (1) о теле пользователя и данных (2) о предметах одежды, сопоставление данных (1) и (2) путем анализа целевой функции, наложение ограничений (краевых условий) на целевую функцию, результаты анализа - определение глобального оптимума целевой функции, выходные данные - рекомендации пользователю по выбору предметов одежды на основе результатов анализа целевой функции. В этих документах не описано преобразование и/или фильтрация входных данных, сопоставление данных (1) и (2) с использованием нейронной сети и наличие в нейронной сети не менее двух слоев, причем первый слой реализует внутреннее представление сети о размерных признаках человека, а второй слой реализует внутреннее представление сети о размерных признаках предмета одежды (или бренда).
В документах US2005049816A1 (System and method for assisting shoe selection), US2011099122A1 (System and method for providing customers with personalized information about products), по меньшей мере частично описаны наличие входных данных (1) о теле пользователя и данных (2) о предметах одежды, преобразование и/или фильтрация входных данных, сопоставление данных (1) и (2) путем анализа целевой функции, результаты анализа - определение глобального оптимума целевой функции, выходные данные - рекомендации пользователю по выбору предметов одежды на основе результатов анализа целевой функции. В этих документах не описано наложение ограничений (краевых условий) на целевую функцию, сопоставление данных (1) и (2) с использованием нейронной сети и наличие в нейронной сети не менее двух слоев, причем первый слой реализует внутреннее представление сети о размерных признаках человека, а второй слой реализует внутреннее представление сети о размерных признаках предмета одежды (или бренда).
В документах W02010014599A1 (A distributed matching system for comparing garment information and buyer information), US2011184831 A1 (An item recommendation system), US2012259581 A1 (Apparatus, system and method for providing garment fitting identification), US20110295711A1 (Apparel fit advisory service), US20060059054Al(Apparel
size service), US2002178061Al(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), US6741728B1 (Footwear sizing database method), W02009090391 A1 (Garment filter generation system and method), US2011231278A1 (Garment sizing system), W02008033138A1 (Matching the fit of garments to consumers), US2008235114A1 (Matching the fit of individual garments to individual 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), US6701207B1 (Method for integrating information relating to apparel fit, apparel sizing and body form 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), EP3171323 A1 (System and method for determining and dispensing one or more tailored articles of clothing), US6879945B 1 (System and method for sizing footwear over a computer network), US2005022708A 1 (Systems and methods for improved apparel fit), E1S2019073335A1 (Eising artificial intelligence to determine a size fit prediction), US2007005174 A 1 (Virtual apparel fitting) по меньшей мере частично описаны наличие входных данных (1) о теле пользователя и данных (2) о предметах одежды, сопоставление данных (1) и (2) путем анализа целевой функции, результаты анализа - определение глобального оптимума целевой функции, выходные данные - рекомендации пользователю по выбору предметов одежды на основе результатов анализа целевой функции. В этих документах не описаны преобразование и/или фильтрация входных данных, наложение ограничений (краевых условий) на целевую функцию, сопоставление данных (1) и (2) с использованием нейронной сети и наличие в нейронной сети не менее двух слоев, причем первый слой реализует внутреннее представление сети о размерных признаках человека, а второй слой реализует внутреннее представление сети о размерных признаках предмета одежды (или бренда).
В документе [Cl] описано применение нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.
В документе [С2] описано применение нейронной сети для переноса изображения предмета одежды с цифрового аватара одного человека на цифровой аватар другого человека.
В документе [СЗ] описано применение нелинейной регрессионной модели на основе нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека и применение рекуррентной нейронной сети для вычисления складок одежды в динамике.
В документе [С4] описано применение вейвлетной нейронной сети для дистанционного определения размера одежды.
В документе [С 5] дан обзор подходов к реализации виртуальных примерочных. Упоминается применение нейронных сетей.
В документе [С6] дан обзор подходов к реализации рекомендательных систем для одежды. Упоминается применение нейронных сетей.
В документе [С6] дан обзор подходов к реализации рекомендательных систем для одежды с использованием снимков, полученных пользователем самостоятельно.
В документе [С7] описано применение сверточной нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека в различных позах.
В документе [С8] описано применение преобразования сплайнов на основе сверточной нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека в различных позах.
В документе [С9] описано применение многослойной нейронной сети для реализации виртуальной примерочной.
В документе [С 10] описано применение конкурентной нейронной сети и самоорганизующейся нейронной сети для моделирования рубашек с целью реализации виртуальной примерочной.
В документе [С 11 ] описано применение сверточной нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.
В документе [С 12] описано применение нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.
В документе [С 13] описано применение глубокой нейронной сети для реализации рекомендательной системы для косметики.
В документе [С 14] описано применение нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.
В документе [С 15] упоминается применение нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.
В документе [С 16] дан обзор подходов к реализации виртуальных примерочных. Упоминается применение нейронных сетей.
В документе [С 17] дан обзор подходов к реализации виртуальных примерочных.
В указанных выше непатентных документах описаны подходы к применению нейронных сетей, в том числе многослойных, для решения задач, связанных с дистанционным выбором одежды.
Таким образом, технические решения известного уровня техники с большим или меньшим успехом решают фрагментарные задачи, так или иначе связанные с дистанционным выбором одежды. При этом технического решения, комплексно решающего задачу настоящего изобретения, в уровне техники не обнаружено.
Раскрытие изобретения
Задачей настоящего изобретения является определение антропометрических параметров пользователя, автоматическое оценивание соответствия предмета одежды форме и размерам тела пользователя в реальном времени, выработка и предоставление пользователю рекомендаций по выбору того или иного предмета одежды и, опционально, визуализация предмета одежды на цифровом аватаре этого пользователя в виртуальной примерочной, в том числе, при изменении его позы.
Техническим результатом настоящего изобретения является повышение точности модели тела пользователя, повышение эффективности дистанционного выбора одежды пользователем (ускорение и повышение точности выбора), улучшение впечатления пользователя (user experience) от дистанционной покупки, повышение удовлетворенности пользователя от покупки одежды (customer satisfaction) и, в конечном счете, увеличение объемов онлайн-продаж одежды и снижение доли одежды, возвращенной после покупки из-за неудовлетворительного соответствия форме и размерам фигуры пользователя.
Задача изобретения решена с применением способа дистанционного выбора одежды, включающего в себя:
- определение размерных признаков человека;
- определение размерных признаков одного или нескольких предметов одежды;
- сопоставление размерных признаков человека с размерными признаками одного или нескольких предметов одежды для определения степени соответствия человеку этих предметов одежды;
- опционально визуализация предмета одежды;
- совершение выбора предмета одежды.
Определение размерных признаков человека может включать в себя формирование параметрической модели человека. Параметрическая модель человека может формироваться на основе геометрической модели человека, на основе данных физического обмера тела человека, на основе данных анкетирования, на основе данных двумерного изображения (например, фотографического снимка), на основе данных физического обмера эталонного предмета одежды, на основе данных оптического обмера эталонного предмета одежды. Параметрическая модель человека может формироваться с использованием нейронной сети и алгоритма машинного обучения.
Геометрическая модель человека может формироваться на основе данных трехмерного сканирования тела человека, включая оптическое сканирование. Оптическое сканирование может включать в себя использование камеры глубины, лазерного дальномера и других подобных средств, позволяющих получать данные о поверхности тела человека. Геометрическая модель человека может формироваться с использованием нейронной сети и алгоритма машинного обучения.
Размерные признаки человека могут определяться с использованием линейной алгебры и/или с использованием алгоритма машинного обучения. При этом возможен вариант осуществления изобретения, в котором сначала определяются промежуточные размерные признаки человека с использованием линейной алгебры, а затем определяются окончательные размерные признаки человека с использованием алгоритма машинного обучения. В алгоритме машинного обучения может использоваться регрессионная модель.
Размерные признаки предмета одежды могут определяться на основе производственной геометрической модели, которая может представлять собой физический манекен, трехмерную цифровую модель, набор лекал и т.д. Размерные признаки предмета одежды также могут определяться на основе производственной параметрической модели, которая может представлять собой по меньшей мере часть технологической документации предмета одежды, например, технического задания (tech pack) и/или листа спецификации (spec sheet) и/или спецификации материалов (bill of materials) и/или правил градации размеров (grading rules). Производственная параметрическая модель может представлять собой по меньшей мере часть размерной сетки бренда.
Размерные признаки предмета одежды могут определяться на основе данных физического обмера предмета одежды или на основе данных оптического обмера предмета одежды, в частности, с использованием алгоритма машинного зрения.
Сопоставление размерных признаков человека и предмета одежды может включать в себя анализ целевой функции. В другом случае сопоставление размерных признаков человека и предмета одежды может включать в себя использование нейронной сети и алгоритма машинного обучения. Нейронная сеть может содержать по меньшей мере два слоя, один из которых выполняет роль энкодера, а другие выполняют роль декодера.
Слой, выполняющий роль энкодера, может обучаться отдельно от слоев, выполняющих роль декодера. В другом случае слой, выполняющий роль энкодера, может обучаться совместно со слоями, выполняющими роль декодера. Например, начальное обучение энкодера может выполняться отдельно от декодера, а дальнейшее обучение может выполняться совместно с декодером.
Размерные признаки человека и/или предмета одежды могут включать в себя по меньшей мере одно из следующего: высота, расстояние, обхват и расстояние по криволинейной поверхности. Для сопоставления размерных признаков человека и предмета одежды эти размерные признаки могут приводиться к сопоставимому виду или формату данных.
Визуализация предмета одежды может выполняться на виртуальном манекене или на аватаре пользователя. Аватар (цифровой двойник) может представлять собой 3D- модель тела человека и может обеспечивать реалистичное изображение головы человека. Аватар может учитывать индивидуальные особенности внешности пользователя - цвет кожи, разрез глаз, вид и цвет волос, возрастные проявления и т.д. Визуализация может включать в себя возможность задания и/или изменения положения аватара (позы, жестов и т.д.), ракурса, масштаба (приближение или удаление), ситуационного фона, условий освещения и т.п.
Выбор предмета одежды может выполняться из списка предметов одежды, ранжированного по степени соответствия этих предметов одежды пользователю. Соответствие предмета одежды может включать в себя физическое соответствие фигуре и стилистическое соответствие. Выбор предмета одежды может включать в себя отказ от выбора предмета одежды, т.е. выбор предмета одежды является опциональным и может отсутствовать в некоторых вариантах осуществления изобретения (например, если пользователю не удалось подобрать требуемый предмет одежды).
Способ определения размерных признаков человека может включать в себя:
- построение геометрической модели тела человека;
- построение параметрической модели тела человека на основе геометрической модели;
- определение размерных признаков человека на основе параметрической модели тела человека.
Определение размерных признаков человека может дополняться определением типа фигуры человека.
Построение геометрической модели тела человека может включать в себя получение карты глубины и преобразование карты глубины в облако точек. Преобразование карты глубины в облако точек может включать в себя применение билатерального фильтра. Построение геометрической модели тела человека может выполняться для канонической позы человека.
Построение параметрической модели может включать в себя:
- вычисление начального приближения параметров позы;
- уточнение параметров позы;
- уточнение параметров позы и формы;
- построение графа морфирующего поля, обеспечивающего преобразование геометрической модели из канонической позы и/или формы в произвольную позу и/или форму.
При вычислении начального приближения параметров позы может использоваться информация о положении характерных точек скелета человека в параметрической модели. Характерные точки могут соответствовать центрам суставов и/или тем участкам скелета, которые учитываются при сегментации тела человека с точки зрения возможностей изменения позы.
Уточнение параметров позы может включать в себя минимизацию функции ошибки по параметрам позы. Функция ошибки по параметрам позы может включать в себя сумму квадратов углов между парами отрезков, связывающих характерные точки скелета человека в геометрической модели и в параметрической модели, и/или сумму квадратов расстояний между парами точек из множества характерных точек в геометрической модели и в параметрической модели, см. также раздел 2.2.
При этом может сначала использоваться функция ошибки по параметрам позы, равная сумме квадратов углов между парами отрезков, связывающих характерные точки скелета человека в геометрической модели и в параметрической модели, а затем - функция ошибки по параметрам позы, равная сумме квадратов расстояний между парами точек из множества характерных точек в геометрической модели и в параметрической модели.
Уточнение параметров позы и формы может включать в себя минимизацию функции ошибки по параметрам позы и формы. Функция ошибки по параметрам позы и формы может представлять собой следующую функцию:
где Р - множество видимых точек х геометрической модели, Q - параметры позы, b - параметры формы, U - множество видимых вершин n параметрической модели с параметрами позы и формы (0, b ), р- функция Хьюбера с параметром d , равным 1, см. также раздел 2.2.
Граф морфирующего поля может иметь вершины, содержащие координаты в трехмерном пространстве, параметры Евклидова преобразования, весовой коэффициент Евклидова преобразования. Граф также может иметь ребра между вершинами, обеспечивающие связность морфирующего поля, т.е. гладкость геометрической модели требуемой формы в произвольной позе, которая может быть построена на основе параметрической модели. Гладкость такого преобразования может быть важной при формировании аватара пользователя с целью качественной визуализации предмета одежды.
Формирование вершин графа может включать в себя:
- выбор значения d радиуса соседства;
- разбиение пространства на вокселы со стороной 2<5;
- определение координат вершины, как координат медоида для каждого воксела;
- назначение весового коэффициента, равного 2<5, для каждой вершины, см. также раздел 2.2.
Ребра между вершинами графа могут формироваться, когда эти вершины являются одними из ближайших, например, восьми соседних вершин по кратчайшему пути в графе.
Евклидово преобразование произвольной точки х может включать в себя:
- определение ближайших к точке х вершин vc графа;
- вычисление взвешенной суммы двойных кватернионов этих вершин, при этом вес w каждого двойного кватерниона рассчитывается по следующей формуле:
или принимается равным 0, если || х - vc || 2 > 3vw, где vw - весовой коэффициент вершины;
- нормирование результата суммирования;
- построение матрицы ортогонального преобразования R и вектора переноса t, при этом результатом преобразования точки х является точка Rx + t.
Параметрическая модель тела человека может строиться с использованием нейронной сети и алгоритма машинного обучения, который может включать в себя использование функции ошибки определения характерных точек скелета человека в двумерном пространстве, функции ошибки определения характерных точек скелета человека в трехмерном пространстве, функции ошибки определения параметров модели SMPL и функции ошибки определения карты глубины, см. также раздел 2.2. В алгоритме машинного обучения может использоваться регрессионная модель.
Определение размерных признаков предмета одежды может включать в себя получение размерных признаков предмета одежды из производственной модели. Производственная модель может быть параметрической моделью, а получение размерных признаков предмета одежды может включать в себя преобразование параметров производственной модели в размерные признаки предмета одежды. Производственная модель может быть геометрической моделью, а получение размерных признаков предмета одежды может включать в себя преобразование геометрической производственной модели в параметрическую производственную модель и последующее преобразование параметров производственной модели в размерные признаки предмета одежды.
Производственная геометрическая модель может представлять собой физический манекен, трехмерную цифровую модель или набор лекал. Производственная параметрическая модель может представлять собой по меньшей мере часть технологической документации предмета одежды и/или по меньшей мере часть размерной сетки бренда.
Определение степени соответствия человеку предмета одежды может включать в себя сопоставление размерных признаков человека и предмета одежды с использованием целевой функции, учитывающей влияние каждого размерного признака на степень соответствия человеку предмета одежды.
Целевая функция может представлять собой функцию
гдеМ- число размерных признаков, DPcust - размерный признак человека, DPprod - размерный признак предмета одежды,
- взвешивающий коэффициент, и может подвергаться минимизации.
Определение степени соответствия человеку предмета одежды может включать в себя определение рекомендуемого размера S одежды:
S = S(\n,$,) / 2лт, + ds ,
где Si - размер, соответствующий /-му размерному признаку, w, - весовой коэффициент /- го размерного признака, ds - по меньшей мере одно опциональное поправочное значение. Поправочное значение может определяться индивидуально для каждого пользователя или для группы пользователей, например, обладающих фигурами одного типа. Вычисленный таким образом размер может дополнительно приводиться в соответствие с размерной сеткой бренда.
Результатом может являться список предметов одежды, в котором предметы одежды могут быть расположены в соответствии с рейтингом посадки, а предметы одежды с одинаковым рейтингом посадки дополнительно могут быть ранжированы по значению ошибки посадки.
Размерные признаки человека могут представлять собой размерные признаки эталонного предмета одежды, т.е. такого предмета одежды, соответствие которого пользователю не вызывает сомнений. В частности, размерные признаки эталонного предмета одежды могут использоваться непосредственно при анализе другого предмета одежды, например, того же бренда, относящегося к той же размерной сетке, или могут пересчитываться в размерные признаки в другой размерной сетке, если соотношения размерных признаков в этих размерных сетках заранее известны.
Определение степени соответствия человеку предмета одежды может включать в себя учет стилистических рекомендаций, например, связанных с типом фигуры пользователя.
Определение степени соответствия человеку предмета одежды может включать в себя сопоставление размерных признаков человека и предмета одежды с использованием нейронной сети и алгоритма машинного обучения. Алгоритм машинного обучения может быть реализован в виде классификатора. В другом случае алгоритм машинного обучения может быть реализован в виде алгоритма градиентного бустинга дерева решений.
Визуализация предмета одежды может включать в себя:
- получение изображения тела человека в произвольной позе;
- получение параметрической модели тела человека;
- получение параметрической модели предмета одежды;
- изменение параметров параметрической модели тела человека для ее соответствия произвольной позе;
- формирование изображения предмета одежды на человеке в произвольной позе.
Изображение пользователя может быть получено с любого устройства, способного формировать такое изображение, например, со смартфона, планшета, игровой приставки, ноутбука, настольного компьютера, телевизора, оснащенного камерой, и т.п. Полученное
изображение пользователя в произвольной позе может содержать карту глубины и/или двумерное изображение. Параметры позы и/или формы параметрической модели тела пользователя могут изменяться таким образом, чтобы форма и поза аватара пользователя соответствовали полученному изображению. Такая обработка может выполняться в реальном времени.
Предполагается, что параметры формы параметрической модели тела пользователя в целом соответствуют форме тела пользователя. Тем не менее, если в процессе обработки выявляется существенное расхождение формы тела аватара пользователя с формой тела пользователя, зафиксированной на полученном изображении, параметрическая модель может быть скорректирована. Необходимость такой коррекции может быть вызвана как ограниченной точностью формирования параметрической модели, так и фактическими изменениями формы тела пользователя после формирования параметрической модели, например, увеличением или снижением массы тела, целенаправленной проработкой некоторых групп мышц, изменением осанки, беременностью и т.д.
Краткое описание чертежей
Подробное описание различных вариантов реализации изобретения на практике приведено далее со ссылками на приложенные чертежи.
На фиг. 1 представлена блок-схема алгоритма обработки результатов сканирования и построения модели тела пользователя на основе карт глубины.
На фиг. 2 представлен пример изменения сцены для соответствия входным данным, сверху вниз: поверхность сцены в каноническом состоянии, входные данные - облако точек входного кадра, поверхность сцены, преобразованная согласно входным данным.
На фиг. 3 представлена шарнирная модель скелета тела человека, в которой красные (крупные) точки входят во множество ключевых точек скелета, синие (мелкие) точки не входят в него, а зеленые отрезки соответствуют костям рук, ног, позвоночнику, включая шею, а также линиям плеч и таза.
На фиг. 4 проиллюстрировано решение проблемы, связанной с регуляризацией семантически несвязанных вершин, в частности вершин правой и левой ног, где слева направо представлены: исходная модель, граф, инициализированный предложенным методом, и граф, инициализированный обычной процедурой поиска ближайших соседей. Особое внимание следует обратить на спутанность ног при обычной процедуре.
На фиг. 5 слева представлена визуализация морфирующего поля, в центре - поверхность, полученная из карты глубины очередного кадра, справа - та же поверхность после преобразования в каноническое положение.
На фиг. 6 проиллюстрирована сегментация тела человека, где сегменты обозначены разными цветами, а соседние сегменты соединены линиями.
На фиг. 7 слева изображен результат рендеринга поверхности в карту глубины, а справа - исходная поверхность с видимыми вершинами, обозначенными красными точками.
На фиг. 8 представлен набор моделей, которые можно получить путем преобразования исходной модели SMPL за счет вариации трех параметров формы при фиксированных параметрах позы. Красными точками отмечены положения скелетных суставов.
На фиг. 9 представлены дефекты сканирования на примере трехмерных снимков набора данных CAESAR - наличие участков поверхности тела с недостающей информацией в районе стоп, кистей и внешней поверхности рук, плечей, головы, а также «склеенных» участков.
На фиг. 10 представлен скелет как дерево вершин, где каждая вершина характеризуется положением в пространстве и представляет собой точку сочленения «костей» скелета, а цветом показаны зоны влияния каждого сустава на поверхность модели тела.
На фиг. 11 проиллюстрировано появление существенных артефактов у модели HumanShape при изменении параметров формы тела человека из-за их влияния на положение скелетных точек.
На фиг. 12 проиллюстрировано возникновение шумовых геометрических структур, расположенных внутри модели тела человека. Одна геометрическая структура (подсвечена зеленым цветом), попадает в отдельную компоненту связности графа и может быть сравнительно легко удалена, а другая геометрическая структура, являющаяся частью поверхности левого плеча (подсвечена желтым цветом) является частью поверхности тела человека.
На фиг. 13 представлен пример карты глубины, где цвет указывает на расстояние до точки, а цветовая шкала градуирована в метрах. Карта глубины представляет собой данные о расстоянии от проекционной плоскости камеры до поверхности трехмерной сцены.
На фиг. 14 проиллюстрировано поэтапное применение параметров формы и параметров позы с предварительным пересчетом координат скелетных суставов, а затем с применением общих параметров трансформации - масштабирования и смещения. Далее вычисляется функция потерь на основе среднеквадратичного отклонения от ближайших вершин.
На фиг. 15 представлен график функции активации, используемой при вычислении компоненты, штрафующей за слишком большую величину углов между нормалями соседних треугольников.
На фиг. 16-18 представлено сравнение результатов работы предложенной модификации алгоритма NRD и исходного алгоритма [В 15] на трехмерном снимке из набора CAESAR. Слева направо представлены: предложенная версия NRD, исходный трехмерный снимок и исходная версия NRD. Цветом обозначены отклонения от трехмерного снимка: белый цвет означает нулевое отклонение, красный цвет означает отклонение не менее 15 мм.
На фиг. 19 представлены результаты работы алгоритма NRD. Слева направо: с классической функцией потерь, 25 тысяч вершин в трехмерном снимке; с классической функцией потерь, 250 тысяч вершин в трехмерном снимке; и с модифицированной функцией потерь, 250 тысяч вершин в трехмерном снимке.
На фиг. 20 представлены регистрации одного и того же трехмерного снимка с помощью разных параметрических моделей. Слева направо: регистрация на основе модели HumanShape (18659 вершин), исходный трехмерный снимок (250000 вершин), регистрация на основе модели SMPL (18890 вершин).
На фиг. 21 А представлены ошибки при регистрации набора данных. Оранжевым цветом обозначены результаты, полученные на основе модели HumanShape, а синим - на основе модели SMPL. Сплошной линией отмечены результаты инициализации регистрации методом, описанным в разделе 2.9.2, а пунктирной линией улучшения регистрации с использованием предложенной модификации алгоритма NRD.
На фиг. 21Б представлены ошибки при регистрации набора данных CAESAR. Синим цветом обозначены результаты регистрации, полученные предложенным методом, а оранжевым цветом - полученные исходным методом.
На фиг. 22 представлен график зависимости объясненной дисперсии от количества учитываемых параметров пространства формы.
На фиг. 23 представлено сравнение начальной позы и формы параметрической модели SMPL (слева) и полученной параметрической модели (справа) для мужского и женского тела.
На фиг. 24 представлена визуализация результата раздельного изменения первых четырех параметров формы при фиксации остальных параметрах полученной женской параметрической модели.
На фиг. 25 представлен график величины коррекции в А-позе для каждой ноги в виде разности фактической длины ноги и ее проекции на вертикальную ось.
На фиг. 26 представлена визуализация размерного признака в виде антропометрической точки.
На фиг. 27 представлена визуализация размерного признака в виде расстояния между двумя антропометрическими точками.
На фиг. 28 представлена визуализация размерного признака в виде обхвата.
На фиг. 29 проиллюстрирован способ измерения размерного признака в виде расстояния по поверхности.
На фиг. 30 представлена визуализация размерного признака в виде расстояния по поверхности.
На фиг. 31 представлен результат сравнения размерных признаков, полученных с помощью заявленного алгоритма, с размерными признаками, полученными путем обмеров тела вручную.
На фиг. 32 представлен результат сравнения размерных признаков, полученных с помощью заявленного алгоритма, с размерными признаками, определенными по трехмерному снимку.
На фиг. 33 представлена блок-схема укрупненного алгоритма дистанционного выбора одежды.
На фиг. 34 представлен иллюстративный пример системы для осуществления способа дистанционного выбора одежды в среде В2С.
На фиг. 35 представлен иллюстративный пример системы для осуществления способа дистанционного выбора одежды в среде В2В .
На фиг. 36 схематично представлена архитектура алгоритма Human Mesh Recover.
На фиг. 37 схематично представлена архитектура сетей-дискриминаторов для обработки параметров модели SMPL.
На фиг. 38 схематично представлена архитектура модифицированного алгоритма Human Mesh Recover и примеры проекции вершин и карты расстояний.
На фиг. 39 представлен пример карты ошибок предсказанной сеточной параметрической 3D модели. Обучение алгоритма может включать в себя штраф за ошибки.
На фиг. 40 представлен результат работы системы. Слева направо: карта глубины, сегментация, ключевые точки, эталонная модель.
На фиг. 41 представлен пример простейшей установки для оптического сканирования одежды.
На фиг. 42 проиллюстрирована работа алгоритма компьютерного зрения, который определяет вид или категорию одежды, выявляет ключевые точки на изображении, вычисляет контур одежды и на основе этих данных определяет размеры.
На фиг. 43 представлена блок-схема укрупненного алгоритма рекомендации подходящего размера для конкретной модели одежды.
На фиг. 44 схематически представлена структура нейронной сети для реализации способа рекомендации на основе алгоритма машинного обучения.
Осуществление изобретения
Далее описаны варианты практической реализации изобретения, не имеющие ограничительного характера. Целью последующего описания является иллюстрация подходов к практической реализации изобретения, а не ограничение объема изобретения описанными вариантами.
Для реализации описанного выше подхода предложен следующий укрупненный алгоритм действий (фиг. 33):
- (31) оптическое сканирование тела пользователя;
- (32) обработка результатов сканирования и построение модели тела пользователя;
- (33) определение из построенной модели антропометрических параметров тела пользователя;
- (34) выбор по антропометрическим параметрам одной или нескольких наиболее близких производственных моделей из массива производственных моделей разных производителей одежды;
- (35) поиск предметов одежды, пошитых с применением выбранных производственных моделей или пошитых любым образом и предварительно обмеренных с помощью камеры или вручную;
- (36) (опционально) визуализация найденных предметов одежды;
- (37) (опционально) совершение выбора и (опционально) покупки выбранных предметов одежды.
Вместо шагов (31) и (32) возможно построение модели тела пользователя на основе данных о пользователе, полученных с использованием одного или нескольких из следующих способов:
- заполнение пользователем анкеты;
- фотографирование пользователя с одного или нескольких ракурсов;
- физические измерения тела пользователя.
Кроме того, в некоторых случаях этап построения модели тела на шаге (32) пользователя может быть опущен и антропометрические параметры тела пользователя могут быть получены непосредственно из упомянутых выше данных о пользователе.
В качестве антропометрических параметров пользователя могут быть использованы параметры статистической модели тела человека или заранее известные подходящие пользователю размеры одежды выбранных брендов.
Вместо шагов (34) и (35) может выполняться сравнение антропометрических параметров пользователя с размерной сеткой бренда, с результатами замеров одежды и др. Подробное описание предложенных реализаций представлено в разделах 4 и 5.
Шаги (36) и (37) могут быть реализованы в способе, применяемом в онлайн- торговле. Один или оба эти шага могут отсутствовать в способе, применяемом в других ситуациях, например, при формировании виртуального гардероба пользователя, при отложенных покупках, при индивидуальном пошиве одежды с дистанционным снятием мерок, при статистических или маркетинговых исследованиях ит.п.
Необходимо отметить, что в настоящем тексте используется термин «оптическое сканирование», но при этом все сказанное верно и в более общем случае: т. е. везде по тексту вместо термина «оптическое сканирование» допустимо использование более широкого термина «трехмерное сканирование», верность всех утверждений при этом полностью сохраняется.
Также необходимо отметить, что кроме оптического/трехмерного сканирования все сказанное в настоящем тексте верно и при захвате любым образом любых данных, необходимых для воссоздания модели человека, в том числе фото- и видеосъемка (к примеру, с использованием подходом фотограмметрии), а также проведение различных измерений (рост, вес и др.).
Также необходимо отметить, что поиск и выбор можно осуществлять не только по антропометрическим параметрам, как указано на шаге (34), но и по различным иным параметрам (параметрам статистической модели и т. д.). Таким образом, везде, где в настоящем тексте встречается термин «антропометрические параметры» (включающий в себя, в частности, размерные признаки и тип фигуры), его можно заменить на более широкий термин «параметры модели» с полным сохранением смысла.
Также необходимо отметить, что под используемым в данном тексте термином «производственные модели» могут подразумеваться физические манекены, живые модели (манекенщики и манекенщицы на производстве), компьютерные модели (манекенов, манекенщиков, манекенщиц).
В случае рекомендаций одежды на основе сравнения антропометрических параметров пользователя и замеров одежды, замерами одежды могут быть замеры сшитой одежды, замеры лекал одежды либо иные параметры. Они могут быть получены из производственной документации одежды (tech pack, grading rules) либо замерами одежды или лекал одежды.
Если получение производственной документации с таблицами замеров одежды от производителей одежды невозможно или занимает продолжительное время (бизнес- договоренности, подписание соглашений), возможно получение замеров одежды с использованием оптического сканирования.
Оптическое сканирование одежды предполагается производить на специальной установке. Установка состоит из стола, например, со светлой столешницей и статической, заранее откалиброванной, камеры (фиг. 41). Для каждого снимка одежды применяется алгоритм компьютерного зрения (фиг. 42), который:
1) выявляет тип одежды;
2) вычисляет ключевые точки на снимке;
3) вычисляет контур одежды на снимке.
Применяемый алгоритм состоит из набора сверточных нейронных сетей, выполняющих каждую задачу по отдельности: классификатор, регрессор и сегментатор, соответственно.
По полученным описанным алгоритмом данным производится вычисление характерных для каждого вида одежды замеров. Для этого применяются заранее подготовленные для каждого типа одежды правила преобразования ключевых точек и контура в целевые замеры. В завершение алгоритма, используя параметры калибровки камеры, производится трансформация поученных замеров в метрическое пространство.
При рекомендации одежды по размеру, предполагается, что имеются:
1) размерные признаки пользователя;
2) база данных замеров одежды, стратифицированная по типу одежды;
3) правила сопоставления размерных признаков пользователя и замеров одежды.
В таком случае алгоритм рекомендации определенного типа одежды по размерным признакам является алгоритмом сравнения векторов в евклидовом пространстве hnsw или faiss.
1. Оптическое сканирование тела пользователя
Оптическое сканирование тела пользователя может выполняться различными способами, включая лазерное сканирование, сканирование со структурированной подсветкой, ToF -сканирование (time-of-flight), фотографирование с фиксированных
ракурсов, видеосъемку и т.д. Сканирование может выполняться с одной или с нескольких точек. Каждая точка, из которой выполняется сканирование, может быть фиксированной или может перемещаться по определенной траектории. В описанном далее примере реализации изобретения модель строится с использованием полученного при сканировании облака точек, но этот пример носит лишь иллюстративный характер и для построения модели могут использоваться входные данные других видов, такие как карты глубины, изображения со спроецированной структурированной подсветкой и пр.
Облако точек может быть получено с применением оптических средств (т.н. «камер глубины»), способных определять глубину трехмерной сцены с достаточным разрешением. Такими возможностями, в частности, обладают устройства Stereolabs ZED, Carnegie Robotics MultiSense, Ensenso N35, Nerian SceneScan, Intel RealSense, Zivid One+, Arcure Omega и т.д. Возможно также применение устройств ASUS Xtion, ASUS Xtion2, Orbbec Astra, Orbbec Persee, Microsoft Kinect, Microsoft Kinect 2, Azure Kinect и подобных им. Ожидается, что в обозримом будущем «камеры глубины» приемлемого разрешения (а также приемлемого уровня шума) могут быть интегрированы в некоторые модели смартфонов и иных мобильных устройств (iPhone X, iPad Pro (2018), Huawei Mate 20 Pro и np.).
Далее описываются два подхода к обработке результатов сканирования, позволяющие в результате получить параметрическую модель тела человека (раздел 2.8). Первый из подходов основывается на обработке карт глубин и описан в разделе 2. Альтернативный подход позволяет получить параметрическую модель тела человека с использованием одной или нескольких цветных фотографий человека и описан в разделе 3. Данные подходы могут использоваться как независимо, так и вместе. Например, построенная по фотографии модель человека может использоваться для инициализации метода, осуществляющего трехмерную реконструкцию, при наличии на записывающем устройстве возможности одновременной съемки цветных изображений и карт глубин.
2. Обработка результатов сканирования и построение модели тела пользователя на основе карт глубины
Обработка результатов сканирования основана на принципе трехмерной реконструкции динамических сцен с использованием информации о теле человека из параметрической модели и базируется на идеях, изложенных в [В 1 ], с изменениями, направленными на расширение возможностей алгоритма, а именно на уменьшение ошибок, возникающих вследствие резких движений и перекрытий, а также на увеличение разнообразия возможных начальных позиций пользователя. Изменения относятся к
применению сегментации входных карт глубин по частям тела и к положению ключевых точек скелета, а также к алгоритму инициализации и оптимизации.
Г рафически предложенный способ обработки представлен на фиг. 1. Алгоритм начинает работу с фильтрации подаваемых на вход карт глубины и с преобразования их в облака точек с помощью матрицы внутренней калибровки камеры глубины. Следующим шагом работы алгоритма является инициализация канонической формы и позы параметрической модели. Затем вычисляются изменения параметров преобразования пространства, а также изменения параметров позы модели для наилучшего соответствия очередному кадру изображения. Вычисленные параметры применяются для интеграции данных во внутреннее представление, которое содержит человека в исходной (канонической) позиции. После интеграции алгоритм выполняет подгонку параметров формы и канонической позы.
2.1. Предварительная обработка входных данных
Работа алгоритма предполагает выявление соответствий между облаком точек в трехмерном пространстве, соответствующим текущим измерениям глубины, и поверхностью сцены, полученной из ранее поступивших данных, поэтому поступающие на вход карты глубины должны быть преобразованы в облако точек. Однако карты глубины могут быть сильно зашумлены, например, как показано в [В2], что негативно сказывается на стабильности работы алгоритма. Исходя из предположения о том, что для поверхности тела человека характерно отсутствие резких изменений, можно считать, что изменения глубины между соседними пикселями должны быть резкими только на границах, поэтому для уменьшения шума можно применить билатеральный фильтр [ВЗ], сглаживающий карту глубины, сохраняя границы неизменными. Для преобразования карты глубины в облако точек используется заранее заданная матрица внутренней калибровки камеры [В4].
2.2. Инициализация параметров
Для начала работы всех алгоритмов, основанных на методике дополнения внутреннего представления сцены, к которым также относится и предложенный способ, необходимо определить начальное или, иначе, каноническое состояние сцены, которое затем будет изменяться морфирующим полем для обеспечения соответствия текущему кадру. На фиг. 2 приведен пример изменения сцены для соответствия входным данным, сверху вниз: поверхность сцены в каноническом состоянии, облако точек входного кадра, измененная под входные данные поверхность сцены.
В алгоритме [В 1 ] для начала работы алгоритма пользователь должен стоять в определенной позе, что в контексте применения метода в потребительском сегменте
создает дополнительные ограничения. В данной разработке предлагается обойти это ограничение, для чего использован алгоритм инициализации, основанный на результатах работы [В5].
На вход алгоритма подается первый кадр последовательности, а также информация о сегментации и ключевых точках скелета. Работа алгоритма включает в себя ряд шагов: (1) вычисление начального приближения параметров позы, (2) итеративную минимизацию функции ошибки по параметрам формы и позы, (3) инициализацию графа морфирующего поля по вершинам модели.
На этапе вычисления начального приближения используется информация о положении ключевых точек скелета в параметрической модели и на входном кадре. Поскольку между ключевыми точками, определяемыми на входном кадре, и ключевыми точками модели в общем случае нет четкого соответствия, то для определения значений параметров модели по ключевым точкам, полученным от сенсора, был разработан вспомогательный алгоритм, состоящий из двух шагов.
На первом шаге выполняется минимизация по параметрам позы функции, равной сумме квадратов углов между парами отрезков: £ =i cing(My , Ку)2, где апд (а, Ь) - угол между отрезками, Му, Ку - i- й отрезок из упорядоченного множества отрезков, проведенных, соответственно, между некоторыми ключевыми точками модели или некоторыми ключевыми точками, полученными с сенсора, к = \Му\ = \Ку\. Отрезки из множеств Му и Ку соответствуют костям рук, ног, отделам позвоночника, а также линиям плеч и бедер.
На втором шаге по параметрам позы минимизируется сумма квадратов расстояний между парами точек (Mj, К ') из упорядоченных множеств Mj и Kj ключевых точек сенсора и модели:
Пример множеств Му и M изображен на фиг. 3, где красные (крупные) ключевые точки входят во множество M , синие (мелкие) точки не входят в него, а зеленые отрезки (соединяющие крупные ключевые точки) входят во множество Му.
На втором этапе для уточнения параметров позы, а также для определения параметров формы модели используется минимизация функции ошибки, определенной как
EMLR,q,b) S min pQ\v - xjj) + ) mm (j|v - xj|) veu x P x £P v£U (1)
где P - облако точек, образованное из подаваемой на вход карты глубины, b - параметры формы модели, Q - параметры позы, U - видимая с точки зрения камеры часть вершин параметрической модели с параметрами позы и формы (0, b ). Подробно проблема определения видимых вершин обсуждается далее.
В результате второго этапа работы алгоритма становятся известны параметры модели в канонической позе и форме, по которым на заключительном этапе производится инициализация графа Gf= (Vp Ej) морфируюгцего поля. Подобно описанному в работе [В6], вершины V графа содержат координаты в трехмерном пространстве, параметры Евклидова преобразования и его вес, а ребра £/ между вершинами необходимы для расчета регуляризации, обеспечивающей плавность перехода между частями пространства.
Инициализация координат выполняется путем выборки вершин параметрической модели в канонической позе и форме. Метод выборки изложен далее. Вначале выбирается радиус соседства d , который также является параметром для веса vw каждой вершины из множества вершин Vf. vw = 2d. Вершины модели V т разбиваются на группы согласно координатам воксела, в который каждая вершина попадет, если разбить пространство на вокселы со стороной 2d. Затем координаты вершин в каждой группе усредняются и выбирается ближайшая к результату вершина модели. Она становится членом множества
1 -
Ребра между вершинами £/ определяются следующим образом: поскольку для параметрической модели определены не только вершины, но и грани, то для нее также возможно определить ребра, соединяющие вершины, а значит, возможно определить ненаправленный граф Gm = (Vm, Е,„) и задать ребрам графа веса, равные расстоянию между соответствующими вершинами. Тогда вершины v и и (v, и Е Vj) считаются связанными, если и для V или v для и является одним из N ближайших соседей по длине кратчайшего пути в графе Gm. Значение N принимается равным 8.
Эта процедура позволяет избежать проблемы, связанные с регуляризацией семантически несвязанных вершин, например, вершин правой и левой ног - см. фиг. 4, где слева направо представлены: исходная модель, граф, инициализированный предложенным методом, и граф, инициализированный обычной процедурой поиска ближайших соседей. Особое внимание следует обратить на спутанность ног при обычной процедуре.
2.3. Морфирующее поле
Вершины инициализированного в предыдущем разделе графа Gf задают структуру морфирующего поля, которое применяется для преобразования поверхности сцены из канонической формы в форму, соответствующую очередному кадру. Как было упомянуто ранее, каждая вершина v Е Vf содержит координаты vc, вес vw и нормированный двойной кватернион x>dq, кодирующий Евклидово преобразование.
Для вычисления преобразования конкретной точки х в трехмерном пространстве применен алгоритм смешивания двойных кватернионов [В7], для чего необходимо найти К ближайших к х вершин из числа V/, после чего вычислить взвешенную сумму двойных кватернионов этих вершин. Вес для каждого слагаемого рассчитывается по формуле w ехр ( znx, ) или дДЯ оптимизации дальнейших расчетов полагается равным 0, если II х - vc II 2 > 3i Результат суммирования представляет собой двойной кватернион, но он не является нормированным и, соответственно, не является Евклидовым преобразованием, поэтому далее результат нормируется. После этого по нормированному двойному кватерниону строится матрица ортогонального преобразования R и вектор переноса t, а преобразованной точкой является точка Rx + t.
Морфирующее поле применяется не только для преобразования поверхности из канонического состояние в текущее, но и для выполнения обратного преобразования на этапе интеграции новых данных. Для этого в процесс интеграции, подробно описанный в [В2], вводится изменение - этому преобразованию подвергается центр каждого воксела перед проецированием на карту глубины. В результате такой интеграции реализуется обратное преобразование без необходимости дополнительного расчета обратных матриц, см. фиг. 5, где слева представлена визуализация морфирующего поля, в центре - поверхность, полученная из карты глубины очередного кадра, справа - та же поверхность после преобразования в каноническое положение.
2.4. Параметрическая модель
В качестве параметрической модели в предлагаемом алгоритме была использована модель SMPL [В8]. Эта модель обладает следующими преимуществами:
- алгоритм вычисления сеточной модели состоит из умножения матриц и скиннинга, что допускает эффективную реализацию на графических процессорах;
- параметры для позы и формы разделены;
- открыты исходные материалы алгоритма;
- в качестве базы для представления пространства форм тела человека была использована самая большая база данных CAESAR [В9], к которой нет открытого доступа.
Необходимо отметить, что вместо модели SMPL можно использовать другие параметрические модели человека, например, HumanShape, S-SCAPE, собственную параметрическую модель человека, созданную ООО «Тексел», и т.д.
Также необходимо отметить, что возможно использование как базы данных CAESAR, так и других баз данных моделей людей, в том числе собственной базы моделей людей, созданной ООО «Тексел».
В ходе интеграции модели SMPL в алгоритм построения этой модели были внесены следующие изменения:
(1) была создана версия алгоритма для работы на графическом процессоре;
(2) в целях увеличения производительности автоматический расчет производных вершин по параметрам модели заменен на отдельный алгоритм, основанный на результатах ручного расчета, а также проведена общая оптимизация;
(3) добавлен расчет нормалей к поверхности и их производных по параметрам для каждой вершины;
(4) согласно результатам [В 1 ], из модели был удален компонент, влияющий на форму при изменении параметров позы, для улучшения сходимости на этапе минимизации ошибки.
2.5. Оптимизация параметров
После предварительной обработки очередного кадра и его преобразования в облако точек необходимо изменить позу модели и параметры морфирующего поля так, чтобы поверхность сцены в текущем виде соответствовала новым наблюдениям, а поза соответствовала текущему положению пользователя. Для достижения этих целей реализована минимизация суммы функций, которые можно разделить на несколько групп:
- ошибка морфирующего поля;
- ошибка положения модели;
- разобщение преобразования сцены и скиннинга;
- регуляризация параметров поля.
Предлагаемые функции основаны на идеях [В 1 ] с изменениями для учета информации о положении отдельных сегментов тела.
Ошибки морфирующего поля и положения модели определены как функции
где С - множество соответствий, то есть множество пар (v, и), в которых v - вершина видимой поверхности сцены или модели в каноническом состоянии, и - точка из облака точек текущего кадра, nv - нормаль к поверхности в точке V, а //, и п, - вершины или нормали, преобразованные морфирующим полем и функцией скиннинга модели, соответственно .
Множество соответствий С формируется из пар ближайших друг к другу точек, которые принадлежат одному или соседним сегментам. Соседство сегментов устанавливается заранее и каждому сегменту тела сопоставляется ключевая точка скелета. В свою очередь, ключевые точки имеют иерархическую структуру - каждая точка, кроме корневой, имеет родителя. Поэтому сегменты признаются соседними, если соответствующие им ключевые точки связаны отношением «родитель-потомок», за исключением двух особых сегментов в плечевой области, определяемых вручную.
Пример сегментации и отношения соседства приведены на фиг. 6, где различные сегменты имеют различные цвета, а соседние сегменты соединены линиями.
Функции разобщения и регуляризация определены как функции
где Wx - вес скиннинга для вершины х, который определен параметрической моделью для каждой ее вершины, р - весовая функция Хьюбера [В 10] с параметром d = 0,2, Тх - матрица евклидова преобразования размером 4x4, соответствующая двойному кватерниону вершины х. Эта функция имеет интуитивный смысл - обеспечение плавного изменения поверхности, при этом соседние вершины должны преобразовываться данной функцией так же, как они преобразуют сами себя. Весовая функция Хьюбера, убывающая при увеличении аргумента, будет уменьшать влияние регуляризации, если вершины находятся на разных частях тела, поскольку в этом случае их веса скиннинга будут отличаться значительно. Регуляризация увеличивает стабильность, однако уменьшает способность к адаптации при резких изменениях.
Тем не менее, если выполнять безусловную оптимизацию по параметрам преобразования морфирующего поля, которые представляют собой нормированные двойные кватернионы, они становятся ненормированными и перестают представлять
собой Евклидово преобразование. При этом задание условий соблюдения единичной нормы зачастую снижает производительность и ухудшает сходимость. Для решения данной проблемы над параметрами поля дополнительно выполняется логарифмическое преобразование [В 11], что позволяет представить их в виде векторов из 6, где каждый такой вектор соответствует нормированному двойному кватерниону.
Заметим, что функция (6) может быть представлена в виде суммы квадратов. Следовательно, для минимизации такой функции применим метод Гаусса-Ньютона [В 12]. Как и в методе [В2], благодаря тому, что на каждую преобразованную полем точку действует только N = 5 ближайших вершин, не требуется хранить матрицу якобиана целиком, достаточно хранить только 6 N = 30 значений для каждого слагаемого функции Е fiei . Для функций, в которых есть зависимость от параметров позы, необходимо дополнительно хранить 3x25 = 75 значений, по количеству параметров формы модели.
Система JTJx = Je, где J - якобиан, е - вектор значений слагаемых функции ошибки, может быть решена напрямую, к примеру, методом Г аусса, либо итеративно методом конгруэнтных градиентов [В 13], причем в последнем случае для увеличения производительности и дополнительной регуляризации можно провести ограниченное число итераций, оставив решение приближенным. Далее обсуждаются оба варианта решения.
2.6. Определение видимых вершин
При расчете функции ошибки во внимание берется только видимая часть поверхности сцены. Для того, чтобы приближенно определить подмножество видимых вершин поверхности, был разработан и применен следующий алгоритм:
- производится рендеринг поверхности в карту глубины, для чего выполняется стандартный рендеринг, затем считывается буфер глубины, при этом параметры камеры задаются теми же, что на этапе интеграции предыдущего кадра;
- вершины поверхности проецируются на плоскость изображения, по координатам проекции вычисляется соответствующий им пиксель произведенной ранее карты глубины;
- расстояние zvert от плоскости до вершины сравнивается со значением z epth в соответствующем пикселе карты глубины: если zvert < z depth + £, то вершина считается
_2 видимой. В данном случае использовано значение e = 10 .
На фиг. 7 слева изображен результат рендеринга поверхности в карту глубины, а справа - исходная поверхность с видимыми вершинами, обозначенными красными точками)
2.7. Коррекция формы и канонической позы модели
После этапа интеграции нового кадра внутреннее представление сцены дополнено новой информацией, в связи с чем становится возможным уточнить предположение о канонической позе и форме модели. Для этого используется алгоритм оптимизации, являющийся частью [В 1 ] : алгоритм минимизирует функцию (7) по параметрам q, b :
где V сапоп - множество вершин модели с параметрами позы и формы q, b, параметры вргеу, br,- y являются предыдущими значениями параметров, функция D(x) дает значение TSDF внутреннего представления в данной точке с применением трилинейной интерполяции по значениям близлежащих вокселов. Нулевое значение TSDF соответствует поверхности либо отсутствию информации об этой точке. Следовательно, минимум функции (7) будет достигнут, если все вершины модели будут находится на плоскости, либо вне области наблюдений. Для того чтобы предотвратить выход модели за область наблюдений, применяется регуляризация с использованием предыдущих значений параметров. Как и в случае функции (6), функция (7) является суммой квадратов, поэтому может быть минимизирована описанными ранее методами.
Результатом выполнения описанных выше действий является ЗО-модель тела пользователя. Следует отметить, что сканирование тела пользователя и построение его модели достаточно выполнить один раз и сохранить в соответствующем формате в компьютере или в мобильном устройстве пользователя либо в облачном сервисе. В дальнейшем модель тела пользователя может быть актуализирована или уточнена повторным сканированием или ручной коррекцией, например, путем указания физически снятых с пользователя мерок.
Следует также отметить, что модель тела пользователя может включать в себя подробную модель головы (включая лицо) пользователя, используемую для фотореалистичного рендеринга при визуализации внешнего вида пользователя в одежде. Это позволяет получить от пользователя больший эмоциональный отклик и, в конечном счете, способствует увеличению объема покупок в денежном выражении.
2.8. Параметрическая модель тела человека
Параметрическая модель тела человека позволяет получить ЗО-модель тела на основе двух низкоразмерных векторов, определяющих форму и позу человека. Пример моделей, которые можно получить в результате вариации параметров формы при фиксированных параметрах позы, можно увидеть на фиг. 8, где модели получены путем
вариации первых трех параметров формы параметрической модели SMPL [В 14].
Красными точками отмечены положения скелетных суставов.
Параметрическая модель требует существенно меньших аппаратных ресурсов для ее хранения и обработки и существенно меньших затрат времени на связанные с ней вычисления, чем соответствующая ей геометрическая модель. Кроме того, параметры, извлеченные из параметрической модели, требуют меньших преобразований для обеспечения возможности их сопоставления с размерными признаками предметов одежды, а в некоторых случаях такие преобразования могут и вовсе не требоваться.
На сегодняшний день задача параметрического моделирования человека является крайне актуальной. Параметрические модели находят применение во многих алгоритмах и областях компьютерного зрения. В частности, многие подходы к задаче о реконструкции фигуры человека по частичным данным, таким как видео, цветные изображения, информация, полученная с сенсоров глубины, требуют наличия некоторого низкоразмерного представления формы тела человека, в качестве которого и выступает параметрическая модель.
Параметрические 3 D-модели человека могут использоваться в алгоритмах автоматического получения антропометрических данных человека, которые находят применение в сфере производства и продажи одежды, а также используются в системах построения виртуального представления человека (так называемого виртуального аватара). Задачи, связанные с дизайном, эргономикой, определение формы тела по частичным данным, таким как снимки с одного ракурса, по семантическим параметрам (рост, вес и т. д.) решаются с использованием подобных моделей. Параметрические модели могут быть применены и при формировании искусственных тренировочных наборов данных для решения других задач, связанных с компьютерным зрением.
В качестве исходных данных для построения трехмерных параметрических 3D- моделей используют наборы трехмерных снимков людей, которые описываются набором вершин и треугольников, объединяющих вершины в единую поверхность. Кроме того, некоторые работы требуют наличия дополнительной информации об имеющихся трехмерных снимках. Так, авторы модели HumanShape [В 15] используют в процессе построения параметрической модели информацию о положении 69 ключевых антропометрических точек в пространстве для каждого трехмерного снимка. Использование антропометрических точек предусмотрено во многих работах по построению параметрических моделей, в частности в [В 16, В 17] . Разметка подобных точек для каждого трехмерного снимка требует наличия знаний об анатомии человеческого тела, что делает данный процесс медленным и дорогостоящим.
Авторы многих работ по созданию параметрических моделей [В14, В15, В17, В18] для построения модели используют наборы данных, содержащие трехмерные снимки людей в нескольких позах. Подобные наборы данных бывает сложно получить ввиду конструктивных ограничений установок, с помощью которых получаются трехмерные снимки людей.
Проведение научных работ по построению параметрических моделей зачастую осложняется и тем, что практически не существует открытых коллекций трехмерных снимков человеческого тела, содержащих достаточное количество уникальных людей. Размер используемой коллекции является очень важным фактором, напрямую влияющим на качество полученного пространства формы тела человека. Так Brett Allen et al. [В 16] использовали всего по 125 моделей мужского и женского пола, авторы модели [В 17] использовали суммарно 45 моделей. Построение модели S-SCAPE [В 19] выполнялось на коллекции, содержащей порядка 100 моделей. Одной из крупнейших коммерчески доступных наборов трехмерных снимков человеческого тела является CAESAR [В20] . Этот набор содержит данные порядка 4300 уникальных людей и используется авторами моделей HumanShape [15] и SMPL [В14] для построения пространства формы.
Многие из существующих наборов обладают дефектами сканирования. Так, например, трехмерные снимки набора данных CAESAR характеризуются наличием участков поверхности тела в районе стоп, кистей и внешней поверхности рук, плечей, головы с недостающей информацией, а также «склеенных» участков (фиг. 9). При наличии систематических дефектов (в районе одних и тех же частей тела) формы подверженных им частей тела могут быть переданы неточно. Кроме того, существующие параметрические модели содержат относительно небольшое количество вершин (порядка 6000-7000), что не позволяет передавать мелкие детали рельефа тела.
Поэтому потребовалась разработка автоматизированного, быстрого и точного подхода для построения параметрической 3D- модели человека с высокой детализацией на основе набора трехмерных снимков человеческого тела.
2.8.1. Обзор существующих подходов
Общая идея построения параметрической модели тела человека с использованием статистического подхода заключается в выполнении т.н. «регистрации» для каждого трехмерного снимка тела из набора данных. Процесс регистрации заключается в деформировании шаблона тела человека таким образом, чтобы он как можно точнее описывал регистрируемый трехмерный снимок тела с сохранением функционального соответствия точек шаблона. Если каждая точка выполняет схожую функцию на каждом из деформированных шаблонов, пространство формы тела человека возможно описать с
использованием PC А-разложения (Principal component analysis, метод главных компонент).
Существующие подходы к построению параметрических моделей можно классифицировать на две группы по способу деформации шаблонной модели. Одно из них, семейство параметрических моделей тела человека SCAPE, описывает процесс регистрации скана с использованием преобразований треугольников, составляющих поверхность шаблона. Другая группа моделей описывает процесс регистрации при помощи преобразований вершин шаблона.
К семейству моделей SCAPE можно отнести такие модели, как SCAPE [В 17], BlendSCAPE [В 18], S-SCAPE [В 19]. В 2005 году вышла статья, представляющая модель под названием SCAPE [В 17]. В ходе создания параметрической модели авторы использовали набор трехмерных снимков, в котором каждый человек представлен во многих позах. Как упоминалось выше, в этой работе использована деформация отдельных треугольников для регистрации отдельных трехмерных снимков. Однако процесс получения модели из пространства деформаций треугольников является сложной оптимизационной задачей, требующей решения Пуассоновской системы. В результате была получена модель, реалистично отражающая широкий диапазон деформации не только пространства формы, но и позы. Пространство позы было описано также при помощи пространства деформации отдельных треугольников и, следовательно, применение конкретной анимации движения человека было затруднительным, ввиду отсутствия возможности использования скелетной анимации.
Авторы параметрических моделей BlendSCAPE [В 18] и S-SCAPE [В 19] предложили свои методы построения, основанные на подходах, использованных в модели SCAPE. Модель S-SCAPE, предложенная в 2010 году, является усовершенствованной и в то же время упрощенной версией модели SCAPE, предлагающей способ восстановления ЗП-модели без необходимости решения сложной Пуассоновской системы уравнений. Модель BlendSCAPE, предложенная в 2012 году, предлагает способ более точной регистрации тела человека на основе трехмерных снимков одного и того же человека в разных позах.
Второе семейство параметрических моделей использует деформации отдельных вершин для выполнения процесса регистрации. Одной из первых параметрических моделей, использующих данный подход, является модель из работы Allen et al. 2002 [В 16]. Затем данный подход получил развитие в работе Pishchulin et al. (модель HumanShape)
[В 15]. Показывающая лучшие результаты на сегодняшний день параметрическая модель тела человека SMPL [В 14] также использует этот подход.
Одной из первых статистических параметрических моделей являлась модель [В 16] . Здесь был впервые применен алгоритм Non-Rigid Deformation (NRD). Была сформулирована оптимизационная задача преобразования шаблонной поверхности применительно к трехмерному снимку тела конкретного человека, а также предложен метод ее решения. Эта работа использовала высокодетализированный шаблон модели человека, однако параметрическая модель строилась всего на 250 трехмерных снимках. Было продемонстрировано, что подобный алгоритм отлично справляется с дефектами сканирования, такими как отсутствующие вершины. Модель могла оперировать, в том числе, и семантическими параметрами формы, такими как вес, рост и т.д. Однако работа [В 16] практически не останавливается на теме создания пространства позы человека. Модель строилась на наборе трехмерных снимков людей, стоящих в одной позе, и в итоге не описывала пространство позы.
В 2013 году появилась модель «HumanShape» [В 15], развивающая идею модели [В 16] . Построение модели происходило итеративно с использованием имевшейся параметрической модели и с ее улучшением при помощи алгоритма NRD. В ней в качестве инициализации использовалась модель S-SCAPE (Simplified Scape) [В 19], значительно менее вычислительно затратная при построении. Модель HumanShape была обучена на полном наборе трехмерных снимков CAESAR, что позволило ей отражать широкий диапазон формы. Применение техники Linear Blend Skinning (LBS) в этой модели позволило применять произвольные анимации к параметрической модели. Одной из целью данной работы было предоставить полученный при выполнении этой работы открытый код для исследователей. Однако процесс регистрации трехмерного снимка использовал информацию о положении ключевых антропометрических точек, сведения о которых зачастую не встречаются в базах трехмерных снимков. Получение такой информации - трудоемкий процесс, требующий ручной разметки или съемки людей со специальными маркерами на теле.
В 2015 году появилась модель SMPL [В 14], показывающая лучшие результаты на текущий день и используемая в большинстве задач, требующих наличия параметрической модели. В данной работе авторы показывают, что процесс регистрации, основанный на деформациях вершин, приводит к гораздо более точным результатам по сравнению с деформациями треугольников, сравнивая результаты своей работы с моделью BlendSCAPE [В 18]. Аналогично методу, предложенному авторами BlendSCAPE, сначала происходит построение пространства позы человека с использованием набора данных, содержащего трехмерных снимков одних и тех же людей в различных позах. Далее формируется пространство формы с использованием набора данных CAESAR. Кроме
того, исследователи в данной статье рассматривают вопрос деформаций формы человеческого тела, вызванные изменением позы. Таким образом, их модель связывает пространства формы и позы воедино и способна отражать такие изменения, как деформация мышц. Авторы реализовали, в том числе, и динамическую версию параметрической модели - DMPL, предсказывающую деформацию формы, в том числе, и по предыдущим во времени параметрам позы при анимации. Это позволило реализовать деформацию мягких тканей, что добавило модели реалистичности.
В настоящей разработке использован процесс регистрации, основанный на деформациях вершин, отмеченный авторами модели SMPL как наиболее эффективный и точный. Регистрация моделей выполняется с использованием подхода, описанного в модели HumanShape - алгоритма Non-Rigid Deformation. Однако предложенная модификация алгоритма делает его автоматизированным и не требует наличия антропометрических точек.
Далее рассмотрены два варианта параметрической модели на основе инициализации с применением двух параметрических моделей - HumanShape и SMPL.
2.8.2. Пространство формы модели
Большая часть существующих исследований по рассматриваемой теме имеют схожие алгоритмы построения. Поскольку набор точек трехмерных снимков зачастую не структурирован, необходимо выполнить его структуризацию. Выбирается некоторый шаблон тела человека, описываемый как набор вершин и треугольников, состоящих из вершин, образующих поверхность. Далее для каждой вершины шаблона ищется преобразование, позволяющее деформированному шаблону как можно точнее описывать трехмерный снимок конкретного человека. Процесс деформации шаблонной модели для подгонки к трехмерному снимку конкретного человека называется регистрацией. Деформация при этом должна происходить таким образом, чтобы сохранялось функциональное соответствие каждой точки на всех регистрациях. К примеру, если точка шаблона отвечала за положение локтя какой-либо из рук, то и на регистрациях она должна выполнять ту же функцию.
Затем множество точек шаблонной модели кодируется в виде вектора и выполняется PC A (Principal Component Analysis) декомпозиция. В ходе декомпозиции строится пространство из собственных векторов ковариационной матрицы выборки.
Далее выбирается подпространство из нескольких первых собственных векторов с наибольшими собственными значениями. Таким образом, полученный набор векторов представляет пространство формы тела человека с наименьшими отклонениями. Параметризация выполняется по координатам в полученном базисе:
гд еМ- координаты вершин итоговой модели, В - число параметров формы, оставленных в модели, е, - /- й собственный вектор, полученный PC A-разложением, b, - значение /-го параметра формы, М- координаты вершин шаблона.
Каждая из двух упомянутых работ формулирует и выполняет процесс регистрации по своему. Авторы модели HumanShape используют модель SSCAPE в качестве инициализации, а затем улучшают ее при помощи алгоритма NRD. В модели SMPL сначала происходит построение пространства позы. Затем, подбирая позу человека на очередном трехмерном снимке, авторы напрямую оптимизируют положение вершин регистрации для получения максимального соответствия вершинам трехмерного снимка.
2.8.3. Алгоритм построения пространства формы модели HumanShape
Авторы модели HumanShape выполняют процесс регистрации трехмерных снимков людей в два этапа. На первом этапе, регистрация трехмерного снимка аппроксимируется при помощи существующей параметрической модели. В качестве такой модели авторы используют модель S-SCAPE. В рамках этого этапа предлагается подбирать параметры позы и формы существующей параметрической модели так, чтобы она как можно точнее описывала регистрируемый трехмерный снимок. Для этого используется итеративный двухэтапный метод, повторяемый до достижения сходимости:
(1) оптимизировать параметры позы для уменьшения среднеквадратичного отклонения между положением ключевых антропометрических точек на трехмерном снимке и параметрической модели;
(2) оптимизировать параметры позы и формы для уменьшения среднеквадратичного отклонения от точек на модели до ближайших точек трехмерного снимка.
Вследствие необходимости использования ключевых точек данный метод неприменим для решения поставленной задачи. В качестве оптимизатора используется встроенный оптимизатор MatLab fmincon, использующий конечно-разностное дифференцирование для поиска градиента параметрической модели.
Далее авторами предлагается уточнить полученную регистрацию с помощью алгоритма Non-Rigid Deformation. Описание данного алгоритма, применяемого авторами HumanShape, приведено в следующем разделе.
2.8.4. Алгоритм Non-Rigid Deformation
Как уже было упомянуто ранее, впервые этот алгоритм был описан в работе [В 16] . В статье, посвященной модели HumanShape, он использовался с незначительными
модификациями. Общая идея состоит в том, чтобы получить для каждой вершины шаблона Т аффинное преобразование для вершины /, описываемое матрицей 4x4 Ai для вершины /, такое, чтобы полученная поверхность шаблона как можно точнее соответствовала поверхности текущего трехмерного снимка S.
Точность приближения трехмерного снимка шаблоном описывается при помощи набора из следующих трех функций потерь:
(i) функция Smoothness term
где edges(T) - множество всех ребер шаблона, А, - матрица преобразования 4x4 для вершины /, II · |/. - норма Фробениуса матрицы, Es - результат вычисления функции Smoothness term. Поскольку суммирование разности норм матриц преобразований происходит по ребрам, данная часть функции потерь штрафует модель за большие различия между преобразованиями, выявленные для соседних вершин;
(и) функция Landmark term
где К - количество используемых ключевых точек, к, - номер вершины шаблона, являющейся /-ой ключевой точкой, р/, - координаты вершины к , исходного шаблона, А /, - преобразование, соответствующее к, -ой вершине шаблона, /, - координата /- й ключевой точки на текущем трехмерном снимке. Здесь подразумевается использование Евклидовой нормы. Эта часть функции потерь должна штрафовать модель за несоответствие положения ключевых точек шаблона и трехмерного снимка. Поскольку модель HumanShape создавалась на наборе данных CAESAR, в ней использовались 64 ключевые точки, учитывающие анатомические особенности строения человека;
(ш) функция Data term
где w, - вес i- й вершины в шаблоне, А, - матрица преобразования /- й вершины, ?, - координата /- й вершины в шаблоне, NN(i) - вершина скана, ближайший сосед /- й вершины шаблона. Данная часть функции потерь штрафует модель за слишком большое расстояние между преобразованными вершинами шаблона и ближайшими им вершинами трехмерного снимка. Веса каждой из вершин определялись, как уверенность сканирующей установки в положении вершины, которая была выбрана в качестве ближайшего соседа.
Конечная функция потерь представляет собой линейную комбинацию трех вышеупомянутых функций потерь:
E = oEd + bEi + yEs (14)
При построении модели авторами HumanShape использовались следующие параметры: а = 1, ? = 10 3, у = 106 . При этом выделялось несколько итераций, на каждой из которых веса компонент предыдущих итераций умножались на некоторые коэффициенты. В частности, значение а оставалось без изменения, а значения b и у уменьшались в 4 раза. Подобный оптимизационный процесс продолжался, пока выполнялось условие у > 1000а или пока ошибка не переставала уменьшаться от одной итерации к другой. Кроме того, использовался инициализационный этап, на котором параметр а полагался равным нулю и деформация происходила только под действием функций Ei и Es.
Оптимизация функции потерь производилась при помощи квази-ньютоновского оптимизатора LBFGS-B. Между итерациями производился пересчет ближайших соседей, причем ближайший сосед считался успешно найденным в случае, если угол между нормалями вершин не превышал 60°, а расстояние между вершинами не превышало 5 сантиметров.
2.8.5. Пространство позы модели
Далее, в таких моделях, как HumanShape и SMPL, для описания пространства позы к шаблону с примененными параметрами формы применяется техника скелетной анимации - Linear Blend Skinning (LBS). В таком случае в шаблон вписывается скелет - дерево вершин, где каждая вершина характеризуется положением в пространстве и представляет собой точку сочленения «костей» скелета (см. фиг. 10, где цветом изображено влияние каждого сустава на вершины модели). Использование подобной техники анимации персонажа делает модель совместимой с большинством программного обеспечения для анимирования и обработки 3D моделей.
Конкретнее, техника LBS требует наличия матрицы весов W Е п к, где п - число вершин в модели, к - число суставов. Данная матрица описывает степень влияния трансформации отдельных суставов на конкретную вершину. Положение скелетных суставов описывается матрицей 0 Е к . Преобразование каждого сустава описывается при помощи оси и угла вращения относительно предка сустава в дереве скелета. Пусть ц .2 ц - ось, вокру Jг коvrторой будет
вращения, тогда матрица поворота для /-го сустава может быть описана при помощи формулы Родрига:
(15) где /3 - единичная матрица, a Q} - вектор Qj , записанный в виде кососимметричной матрицы. Такая матрица описывает только «локальное» преобразование позиции сустава, не учитывая влияние всех суставов по пути от корня дерева скелета до текущей точки. Глобальные матрицы преобразований можно рассчитать по следующей формуле:
где Gk(B,0) - глобальная матрица преобразования для к -ого сустава, А (к) - упорядоченное множество всех суставов-предков для к- го, в порядке от корня скелета, сустава, ехр(()/) - локальная матрица поворота для сустава, рассчитанная по формуле (15), Jk - исходное положение сустава. Тогда преобразование для каждой вершины описывается выпуклой комбинацией матриц трансформации отдельных суставов:
Чем больше вес сустава для конкретной вершины, тем большее влияние он оказывает на изменение ее координаты. Обычно подразумевается, что на вершину оказывают влияние только ближайшие суставы, а отдаленные от нее имеют нулевой вес. Это позволяет хранить матрицу весов в разреженном виде. Так в моделях HumanShape и SMPL на вершину оказывает влияние не более 3-4 суставов.
Кодирование преобразований позы с помощью формулы Родрига требует наличия 3 параметров на один сустав скелета (нормированный вектор представляет ось вращения, а его норма - амплитуду). Скелет модели SMPL содержит к = 24 сустава и, следовательно, поза человека кодируется при помощи 3x24 =72 параметров. Модель HumanShape разрешает вращать кости скелета только вокруг заданных моделью осей, определяемых в ходе построения S-SCAPE. В ней определено к = 15 уникальных скелетных суставов, однако для некоторых из них (например, для бедренных и плечевых суставов) вращение возможно вокруг нескольких осей. Локальную матрицу поворота для них можно получить путем перемножения матриц для каждой оси, полученных по формуле Родрига (15).
Изменение параметров формы тела человека приводит к изменению положения скелетных точек. Использование техники LBS с некорректными положениями суставов может привести к существенным артефактам, как, например, у модели HumanShape (см. фиг. 11). В этой модели авторы предлагают пересчитывать положения скелетных точек при помощи матрицы
где Wi - i- й столбец матрицы весов
LBS, p, - предок /-го сустава в скелете, a min{ · , · } - взятие поэлементного минимума. Пересчет координат суставов происходит следующим образом:
Авторы модели SMPL используют аналогичный подход, однако матрица-регрессор положений суставов L подбирается в ходе построения пространства позы, вместе с весовой матрицей W. Такой подход показывает лучшие результаты, обеспечивая отсутствие подобных артефактов.
2.8.6. Нормализация позы
Выполнение РСА-разложения на множестве регистраций без каких-либо изменений приведет к проникновению в пространство формы большого количества дисперсии, вызванной изменением позы. Поэтому перед тем как производить декомпозицию необходимо нормализовать позу каждой регистрации из набора данных, приведя к стандартной. В качестве подобных стандартных поз могут выступать, например, А-поза или Т-поза. А-поза человека характеризуется слегка разведенными в сторону руками, ногами на ширине плеч и чаще используется, например, при проведении замеров антропометрических параметров человека для производства одежды. Эта поза используется в качестве стандартной в модели HumanShape. В Т-позе человек стоит с вытянутыми в сторону руками, ноги находятся на ширине плеч. Такая поза более характерна для программного обеспечения, связанного с 3D- граф и кой и анимацией, она используется авторами SMPL.
Поскольку при построении пространства формы модели SMPL используется заранее построенное пространство позы, на момент регистрации модели есть возможность достаточно точно подобрать параметры позы, а значит, восстановить начальную позу регистрации. В модели HumanShape используется алгоритм NRD для уточнения процесса регистрации, в результате чего поза может значительно измениться. Авторы для нормализации позы используют метод, предложенный Wuhrer et al. [В21], основанный на оптимизации локализованных Лапласовых координат усредненной формы тела.
2.9. Собственный подход к построению параметрической модели
В то время как практически все подходы к созданию параметрической модели требуют набора данных, содержащего трехмерные снимки тела одного и того же человека в разных позах, в настоящей разработке поставлена цель описания возможного процесса построения модели в условиях ограниченного набора данных. Предложенный авторами настоящей разработки подход позволяет уточнить пространство формы имеющейся параметрической модели на основе набора трехмерных снимков, где каждый человек
встречается только один раз. Кроме того, предлагаемый процесс обладает высокой скоростью работы, легко масштабируется при появлении новых данных, т.к. не требует ручной разметки дополнительной информации, например, такой как положение ключевых точек.
Сначала выполняется предварительная обработка трехмерного снимка, затем инициализация регистрации при помощи параметрической модели, затем уточнение регистрации алгоритмом NRD, затем нормализация позы шаблона.
2.9.1. Предварительная обработка данных
Одной из проблем имеющегося набора данных является возникновение шумовых геометрических структур внутри тела человека, в случае, если человек двигался во время сканирования. Подобные структуры могут вызывать ошибки поиска ближайших соседей во время работы алгоритма NRD и приводить к появлению дефектов регистрации. Поэтому этап предварительной обработки данных включает в себя фильтрацию подобных геометрических структур. Зачастую оказывается, что подобные структуры на трехмерных снимках лежат в отдельных компонентах связности, если представить 3 D-модель в качестве графа. Более формально, пусть имеется неориентированный граф G = (V, Е), где V - множество вершин, соответствующее вершинам трехмерного снимка человеческого тела, Е- множество ребер. Будем говорить, что ребро существует в случае, если существует треугольник, принадлежащий поверхности трехмерного снимка, сторона которого связывает эти две вершины. В таком случае, запустив поиск в глубину по такому графу, можно получить список компонент связности. Наибольшая по числу вершин компонента будет результатом фильтрации.
В некоторых случаях этого может оказаться недостаточно. Подобные структуры могут фактически находиться внутри тела, однако являться частью замкнутой поверхности тела. Пример подобного случая можно увидеть на фиг. 12, где шум помечен желтым и зеленым цветом. На этом изображении расположена геометрическая структура (А, подсвечена зеленым цветом), попадающая в отдельную компоненту связности графа и поэтому она может быть удалена при помощи описанного выше алгоритма.
Кроме нее имеется также шумовая структура, являющаяся частью поверхности левого плеча (Б, подсвечена желтым цветом). Если подобная структура является частью поверхности тела человека, то она не может быть отфильтрована при помощи классического алгоритма проверки нахождения точки внутри невыпуклой фигуры, выполняющего подсчет числа пересечений произвольного луча, выпущенного из проверяемой точки.
Для фильтрации подобных шумовых вершин и треугольников предлагается следующий подход. В ходе алгоритма определяется видимость каждой точки для наблюдателя. Для этого выполняется отрисовка карты глубины модели с различных ракурсов и сравниваются расстояния от камеры до точки со значением карты глубины.
Более формально, пусть ~С - положение камеры в пространстве, С п - нормаль камеры (т.е. ее направление),
Ё I3 - угол поворота фильтруемой ЗП-модели на текущем шаге /, V, - положение вершин модели на текущем шаге.
(1) Выполняется отрисовка модели в карту глубины. Получается карта D е N м, где NcM - разрешение отрисовки. Пусть n, - положение проекции точки n, на проекционной плоскости. Тогда dtJ - расстояние от v, до n,. Пример карты глубины представлен на фиг. 13, где цвет указывает на расстояние до точки, а шкала проградуирована в метрах. Таким образом, карта глубины представляет собой данные о расстоянии от проекционной плоскости камеры до поверхности модели.
(2) Вычисляется значение d = (у, ~С, С п) - расстояние от вершины до соответствующей ей точки на проекционной плоскости. Если полученное значение d больше соответствующего значения на карте глубины, то это значит, что точка невидима с данного ракурса.
(3) Если точка видима хотя бы с одного ракурса, то принимается, что она является видимой.
Углы поворота модели можно выбирать произвольным образом. В настоящей разработке используется перебор каждого из трех углов поворота по линейной сетке от 0 до 2p с шагом p/10.
Такой алгоритм позволяет отфильтровать все невидимые вершины, находящиеся внутри трехмерного снимка человека, а значит, являющиеся шумовыми.
Далее выполняется поворот трехмерного снимка вокруг оси у таким образом, чтобы человек был направлен лицом по направлению оси z. Это необходимо для хорошей инициализации регистрации алгоритмом, описанным в следующем разделе описания.
Пусть утт , утах - минимальные и максимальные координаты по оси у среди всех точек вращаемой ЗО-модели и h =утах утт высота модели. Тогда, если отфильтровать все точки, высота которых удовлетворяет условию у, <утт + 0,03/г, большая часть подобного набора будет состоять из вершин, относящиеся к стопам человека. Затем производится кластеризация на две компоненты с помощью алгоритма KMeans. Полученные центроиды б/т / и ci0W2 являются центрами стоп человека. Если взять область точек выше, например, утт + 0,09 h < , <утт + 0,12/г, то подобная область будет содержать нижнюю часть нот человека. Аналогично с помощью алгоритма KMeans можно найти
центроиды Chighi и Cugh2· Теперь необходимо подобрать угол поворота таким образом, чтобы прямые, проходящие через точки с/ГЛ , ciow2 , и сыфи сыф2 , были перпендикулярны оси z, при этом прямая сыфи сы 2 имела бы меньшие координаты z.
2.9.2. Инициализация регистрации при помощи параметрической модели
На этом этапе выполняется аппроксимация регистрации трехмерного снимка при помощи некоторой параметрической модели. В рамках настоящей разработки были протестированы модели HumanShape и SMPL. Для параметрической модели подбираются параметры формы /?, позы 0, а также общие параметры трансформации, такие как смещение t и коэффициент масштабирования 5.
Г раф вычислений при инициализации регистрации параметрической моделью представлен на фиг. 14, где показано поэтапное применение параметров формы и параметров позы, с предварительным пересчетом координат скелетных суставов, а затем с применением общих параметров трансформации, таких как масштабирование и смещение. Далее считается функция потерь на основе среднеквадратичного отклонения от ближайших вершин.
В данном подходе в качестве функции потерь используется среднеквадратичное отклонение между вершинами целевого облака точек и ближайшими для них вершинами параметрической модели. Пересчет ближайших вершин шаблона происходит на каждой итерации градиентного спуска, однако это не является дифференцируемой функцией. Ближайшая вершина полагается константной в рамках одной итерации спуска. На фиг. 14 можно видеть наглядную визуализацию графа вычислений. Если для моделей в наборе данных известна характерная поза, соответствующим образом возможно инициализировать параметры позы параметрической модели, а также ввести регуляризацию на параметры позы:
где v, - положение вершины /-го трехмерного снимка, Т - множество вершин шаблона, NNT (vj - координата ближайшей к v, вершины из Г, l - коэффициент регуляризации, /- множество номеров подвергаемых регуляризации суставов, Q - параметры позы, b - параметры формы модели, t - смещение модели относительно начала координат, 5 масштаб модели.
Для выполнения оптимизации предлагается использование градиентного оптимизатора Adam. Для ускорения скорости сходимости и во избежание локальных минимумов предлагается использовать следующую технику оптимизации.
(1) Производить n итераций градиентного спуска при помощи оптимизатора Adam, оптимизируя функцию потерь только по параметрам трансформации.
(2) Производить п итераций градиентного спуска при помощи оптимизатора Adam, оптимизируя функцию потерь только по параметрам позы.
(3) С использованием четырех оптимизаторов поочередно производить по 10 шагов градиентного спуска каждым оптимизатором (в следующем порядке: поза, форма, трансформация, все параметры) до достижения необходимого уровня сходимости или до достижения 4п итераций на данном шаге.
В данном подходе используется значение п = 100. Поскольку значения параметров bί, t могут быть достаточно большими, к ним применялся масштабирующий множитель. Немаловажным фактором является подбор значений скорости обучения (learning rate) для каждого из оптимизаторов. Эти значения приведены в таблице 1, приведенной далее.
2.9.3. Модификация алгоритма Non-Rigid Deformation
Реализация алгоритма NRD, выполненная в ходе этой работы, обладает следующими особенностями:
- в качестве оптимизатора в исходном алгоритме использован квазиньютоновский LBFGS-B, в то время как предложенный подход использует градиентный оптимизатор Adam. В качестве критерия остановки градиентного спуска на каждой из итераций применяется следующий критерий: остановка происходит, если в течении patience итераций не произошло улучшение функции потерь больше чем на tolerance или достигнуто максимальное количество шагов max iter
- для расчета нормалей к вершинам шаблона в исходном алгоритме использован усеченный расчет по нормали одного случайно выбранного треугольника, содержащего вершину. В предложенном подходе производится полный расчет нормалей: нормаль определяется усреднением всех нормалей треугольников, примыкающих к данной вершине;
- в виду того, что большинство лазерных трехмерных снимков содержало пропуски точек, относящихся к ступням, их оптимизация была запрещена в исходном алгоритме авторов модели HumanShape. Имеющаяся у авторов настоящей разработки коллекция не содержит подобных артефактов, следовательно, их оптимизация была разрешена.
Авторы модели HumanShape представили результаты регистраций на наборе данных CAESAR, что позволило рассчитать для каждого треугольника шаблона его среднюю площадь по всем регистрациям. Наличие крупных треугольников не позволяет сделать поверхность тела человека на регистрации гладкой, передавать мелкие детали.
Поэтому п самых статистически крупных треугольников шаблона делились на четыре части путем добавления новых вершин на середину каждой из сторон треугольника.
Функция потерь в исходном алгоритме оптимизирует положения вершин, при этом никак не учитывая то, что облако полученных точек образует поверхность. В результате координаты вершин шаблона оказывались подобранными точно, но при соединении их в поверхность треугольниками возникали дефекты рельефа - чрезмерно резкие перепады, впадины и бугры.
Для учета особенностей образуемой шаблоном поверхности в функцию потерь добавлена новая компонента, штрафующая за слишком большую величину углов между нормалями соседних треугольников:
где \edges\ - число ребер в шаблоне, edges(T) - множество ребер шаблона, п, - вектор нормали для треугольника /, щ rTj- угол между нормалями, /'(· ) - применение функции активации к величине угла.
В качестве функции активации использовалась функция следующего вида (см. также фиг. 15): а < 90°
90°
Использование более качественного метода инициализации регистрации дало возможность уйти от использования антропометрических точек в работе алгоритма NRD, за счет чего достигнута полная автоматизация метода. Новая функция потерь, минимизируемая в ходе алгоритма, имеет вид:
2.9.4. Нормализация позы
На этапе инициализации регистрации параметрической моделью для модели SMPL были подобраны параметры позы. Затем, в результате применения алгоритма NRD поза человека могла немного измениться, если параметры позы были подобраны неточно. В этом случае необходимо уточнить позу путем оптимизации:
где Т - положение вершины шаблона /, полученного в результате регистрации с помощью алгоритма NRD, Г, - положение вершины i параметрической модели.
По полученным параметрам позы можно рассчитать матрицы Linear Blend Skinning, а затем, вычислив обратные, домножить на координаты вершин Тпгс{. Таким образом будет получена регистрация в начальной позе. Для модели SMPL начальной позой является Т-поза, когда руки человека раздвинуты в сторону, а ноги раздвинуты на ширине плеч.
Модель HumanShape содержит утечку позы в параметры формы, то есть изменение параметров формы вызывает изменение позы параметрической модели. Это приводит к тому, что начальная поза для параметрической модели изменяется с изменением параметров формы. Следовательно, вышеописанный подход неприменим для модели, основанной на HumanShape. В данной работе предлагается скорректировать этот эффект путем построения скелета в нейтральной позе, а затем - оптимизации положений скелетных точек:
где J, - положение сустава i построенного скелета в А- позе, ·I„pΐ,i - положение сустава i скелета регистрации, полученной с помощью алгоритма NRD. Здесь оптимизация производится по параметрам позы регистрации, полученной в результате работы алгоритма NRD.
2.10. Экспериментальное исследование
Далее описаны условия экспериментальной апробации описанного подхода.
2.10.1. Используемый набор данных
В качестве исходного набора трехмерных снимков использовалась коллекция, полученная с помощью 3 D-сканера человеческого тела TEXEL Portal. Это сканер обладает высокой точностью, имея погрешность сканирования порядка 1,4 мм. Для проведения экспериментов был отобран набор из 500 трехмерных снимков людей, содержащий приблизительно одинаковое количество мужских и женских 3 D-моделей. Представленные снимки имели высокую детализацию и содержали по 250 тысяч вершин и 500 тысяч треугольников каждый.
Кроме того, для тестирования и сравнения качества работы полученной параметрической модели использовался набор данных CAESAR - набор трехмерных снимков, используемый авторами параметрических моделей SMPL и HumanShape для построения пространства позы. Он содержит трехмерные снимки 4394 различных людей, каждый из которых представлен в трех позах. При этом использовались только снимки, где человек стоит в А-позе. Никакая вспомогательная метаинформация, в том числе
информация о положениях ключевых антропометрических точек, при выполнении процесса регистрации не использовалась.
2.10.2. Реализация алгоритма инициализации регистрации
Инициализация регистрации при помощи параметрической модели является важной частью предложенного подхода к регистрации трехмерных снимков. От качества выполнения данного этапа зависит качество полученных векторов, описывающих пространство формы параметрической модели. Если параметры позы при инициализации подобраны некорректно, то при применении алгоритма NRD будут выбраны неверные вершины трехмерного снимка в качестве ближайших соседей, в результате чего функциональное соответствие вершин шаблона будет нарушено. Оптимизационная задача (18) является сложной задачей с большим количеством локальных минимумов. Во избежание попадания оптимизатора Adam в локальные минимумы важно подобрать значения скорости обучения. Значения параметров, использованные в данной работе, приведены в таблице 1.
Поскольку шаблоны используемых параметрических моделей содержат небольшое количество вершин (шаблон SMPL содержит 6890 вершин, шаблон HumanShape содержит 6449 вершин), то в использовании всех вершин трехмерного снимка на данном этапе нет необходимости. В предложенном подходе перед выполнением оптимизации выбирался случайным образом набор из 7000 вершин исходного трехмерного снимка. Затем оптимизационная задача (18) решалась для полученного набора вершин.
Поскольку приблизительная поза всех людей на имеющемся наборе трехмерных снимков известна, параметрическая модель инициализировалась А-позой, при этом регуляризовались вращения суставов головы и стоп с использованием значения L = 10. 2.10.3. Тестирование реализации алгоритма Non-Rigid Deformation Поскольку новая коллекция данных не содержит информации об уверенности сканирующей установки в положении вершин трехмерных снимков, соответствующие
весовые коэффициенты формулы (13) были установлены для всех вершин равными единице. В качестве критерия останова использовался описанный ранее критерий со значениями параметров patience = 70, tolerance = 10 2 и максимальным числом шагов градиентного спуска на одну итерацию max iter = 300.
При поиске ближайших вершин считалось, что ближайший сосед найден успешно, если он находится на расстоянии не более 3 см, а угол между нормалью вершины трехмерного снимка и нормалью вершины параметрической модели составляет менее 45°. Оптимизация положения вершин кистей рук шаблона при инициализации параметрической моделью SMPL была запрещена, поскольку на многих из трехмерных снимков пальцы рук сжаты в кулак, а параметрическая модель SMPL имеет прямую ладонь.
Оптимизация положения вершин головы шаблона также была запрещена, поскольку многие трехмерные снимки содержат объемные прически, искажающие форму головы. Использованные весовые коэффициенты для функции потерь (20) представлены в таблице 2. Коэффициенты, на которое производилось умножение весов функции потерь, отмечены в таблице как
На фиг. 16-18 представлено сравнение результатов работы предложенной модификации алгоритма NRD и исходного алгоритма [В 15] на трехмерном снимке из набора CAESAR. Слева направо представлены: предложенная усовершенствованная версия NRD, исходный трехмерный снимок и исходная версия NRD. Трехмерный снимок содержит пропуски - участки с отсутствующими денными. Качество работы алгоритма определялось расстоянием от вершин полученной регистрации до вершин трехмерного снимка. На фиг. 16-18 цветом каждой вершины регистрации обозначены расстояния до ближайших вершин трехмерного снимка. Белый цвет означает нулевое отклонение, а как красный означает отклонения в 15 мм и более. В этом эксперименте в ходе работы предложенного алгоритма число вершин в шаблоне не увеличивалось.
Можно видеть, что для большей части поверхности тела получены лучшие результаты, о чем говорят более светлые участки поверхности. Преимущество
предложенного алгоритма особенно заметно на рельефе верхней части спины и живота. Вершины стоп ног отображаются красным, поскольку исходный трехмерный снимок имеет дефекты сканирования в этой области тела. На нем практически полностью отсутствуют вершины, соответствующие стопам ног. Вершины рук также обладают высокой погрешностью регистрации здесь, поскольку на исходном трехмерном снимке пальцы прямые, а на шаблоне они сжаты в кулак.
Кроме того, был произведен замер производительности. Исходная реализация алгоритма NRD затрачивает на построение регистрации 235-239 секунд, в то время как предложенная реализация затрачивает 7-8 секунд. Инициализация регистрации параметрической моделью длится 26-29 минут в исходной реализации авторов HumanShape, а предложенная реализация затрачивает на этот этап 13 секунд.
Действие новой компоненты (19) проиллюстрировано на фиг. 19, где слева направо представлены результаты работы алгоритма NRD: с классической функцией потерь, 25 тысяч вершин в трехмерном снимке; с классической функцией потерь, 250 тысяч вершин в трехмерном снимке; и модифицированная функция потерь, 250 тысяч вершин в трехмерном снимке. Можно видеть, что на правом изображении поверхность тела более гладкая, а на левом изображении поверхность тела угловатая, с рельефными перепадами, не характерными для человеческого тела. Кроме того, без использования компоненты (19) возникают пересечения треугольников поверхности тела, которые показаны на левом изображении черным цветом.
Процесс регистрации выполнялся для трехмерных снимков в полном разрешении (250 тысяч вершин), в то время как исходная реализация алгоритма NRD [В 15] выбирала случайным образом 19347 вершин трехмерного снимка и работала только с ними. Для построения параметрической модели использовалось увеличение числа вершин в шаблоне до 18-19 тысяч.
Пример трехмерного снимка, использованного при построении параметрической модели, а также результаты его регистрации на основе инициализации параметрическими моделями HumanShape и SMPL можно увидеть на фиг. 20, где представлено сравнение регистраций одного и того же трехмерного снимка с помощью разных параметрических моделей. Слева направо: регистрация на основе HumanShape (18659 вершин), исходный трехмерный снимок (250000 вершин), регистрация на основе SMPL (18890 вершин). На шаблоне параметрической модели SMPL лучше детализирована голова, пальцы рук и ног, поэтому регистрация на основе этой параметрической модели кажется более реалистичной. Тем не менее, регистрации, полученные на основе обеих параметрических
моделей - и HumanShape, и SMPL - имеют достаточно небольшие отклонения от исходных снимков.
Авторы модели HumanShape в качестве метрики успешности регистрации используют в своей работе расстояние от точек шаблона до ближайших им точек трехмерного снимка. Эта метрика отражает качество приближения трехмерного снимка облаком точек шаблона. При этом не учитывается рельеф поверхности, образованной шаблоном. Для учета рельефа поверхности полученной регистрации предлагается следующая метрика:
где T' s - множество всех треугольников шаблона, t - рассматриваемый треугольник поверхности, v, - вершина i трехмерного снимка, d(vh I) - расстояние от вершины v, до треугольника /, err, - отклонение для вершины i трехмерного снимка.
Таким образом, в формуле (23) рассчитываются расстояния от каждой вершины трехмерного снимка до поверхности 3D- модели, полученной в результате регистрации. Предлагается рассчитывать данные значения для каждой вершины трехмерного снимка, а затем, к примеру, сгруппировать их по квантилям.
Результаты регистрации собственного набора данных можно увидеть на фиг. 21. На этом графике все отклонения для одного скана были разбиты по квантилям, а затем значения отдельных квантилей усреднены по всем трехмерным снимкам. Оранжевым цветом обозначены результаты регистрации, полученные на основе параметрической модели HumanShape, а синим - на основе параметрической модели SMPL. Сплошной линией отмечены результаты инициализации регистрации методом, описанным в разделе 2.9.2, а пунктирной линией улучшения регистраций с использованием предложенной модификации алгоритма NRD.
На фиг. 21 А видно, что параметрическая модель SMPL аппроксимирует форму тела людей на имеющихся трехмерных снимках лучше, чем параметрическая модель HumanShape. Использование предложенной модификации алгоритма NRD дает существенное улучшение качества регистрации на обеих моделях. При этом регистрации на основе параметрической модели SMPL также обладают лучшим качеством по сравнению с регистрациями, основанными на параметрической модели HumanShape.
Вместе с программной реализацией алгоритмов авторы HumanShape выложили в открытый доступ результаты регистрации набора данных CAESAR. Эти результаты регистрации можно использовать для сравнения качества работы алгоритмов напрямую. Однако выложенные в открытый доступ регистрации CAESAR имеют нейтральную позу.
Для проведения эксперимента для каждой из регистраций подбирались параметры позы в соответствии с трехмерными снимками путем минимизации функционала (18) только по Q , t. Результаты сравнения с методом, предложенным в данной работе, представлены на фиг. 21Б, где синим цветом обозначены результаты регистрации, полученные предложенным методом, а оранжевым цветом - полученные исходным методом.
Из результатов экспериментов можно сделать вывод, что метод регистрации трехмерных снимков, предложенный в данном подходе, обладает существенно лучшими качеством и скоростью работы, чем исходный метод авторов параметрической модели HumanShape. Предложенный метод увеличения числа вершин в шаблоне позволяет более точно описывать рельеф тела человека, учитывая мелкие детали.
2.10.4. Результаты построения параметрической модели
Как описано ранее, построение нового пространства формы параметрической модели производилось путем выполнения РСА-декомпозиции на множестве всех имеющихся регистраций. В результате на основе параметрической модели SMPL были построены две параметрические модели (мужского и женского тела). В то время как исходный шаблон модели SMPL содержит 6890 вершин, шаблоны полученных параметрических моделей содержат 18890 вершин. Поскольку добавление новых вершин производилось путем добавления вершины на середины ребер треугольников поверхности
Wi+W j шаблона, вектор весов Linear Blend Skinning (формула 17) рассчитывался как — где w j - векторы весов LBS для вершин, образующих ребро. Регрессор положения скелетных суставов остался без изменений, т.е. влияния новых вершин на положения скелетных суставов полагались нулевыми.
В ходе РСА-декомпозиции рассчитываются собственные значения l, ковариационной матрицы выборки. Квадраты полученных собственных значений l, 2 можно интерпретировать как величину дисперсии формы тела человека, объясняемую параметром /. В таком случае можно рассчитать долю объясненной дисперсии формы тела человека первыми к параметрами (Explained Variance Ratio):
График зависимости метрики EV R от используемого числа компонент представлен на фиг. 22. Здесь процент объясненной дисперсии рассчитан отдельно для полученных мужских и женских параметрических моделей.
На фиг. 22 видно, что около 97,5% дисперсии формы тела объясняется первыми 10 параметрами пространства формы. При этом использование 20 параметров позволяет объяснить почти 99% дисперсии. Значит, использование 10-20 параметров пространства
формы должно быть достаточно для описания любого трехмерного снимка тела человека. Таким образом, полученное представление действительно является низкоразмерным.
На фиг. 23 представлено сравнение начальной позы и формы параметрической модели SMPL и полученной параметрической модели для мужского и женского тела. Можно видеть, что полученная параметрическая модель более детальна. В частности, более гладко и точно отражена грудь, присутствуют мелкие детали строения тела, такие как ключицы.
Тем не менее, в рамках данной работы пространство формы головы параметрической модели не уточнялось. В ходе работы предложенной модификации алгоритма NRD положения вершин не изменялись. Такое решение было принято, поскольку многие исходные трехмерные снимки людей содержали объемные прически, искажавшие форму головы в результате работы алгоритма NRD. В качестве развития данной работы предлагается добавление сегментации волос и деталей одежды на трехмерных снимках людей с использованием информации о цвете. Вершины трехмерного снимка, относящиеся к элементам прически, должны иметь меньшие значения уверенности в функции потерь алгоритма NRD (формула 13).
Визуализация результата изменения первых четырех параметров формы при фиксированных остальных параметрах полученной женской параметрической модели представлена на фиг. 24.
Таким образом, предложенные модификации алгоритма NRD и инициализации регистрации при помощи параметрической модели позволили полностью автоматизировать метод. Предложенный подход не нуждается в использовании информации о положении ключевых антропометрических точек, ручная разметка которых является крайне трудоемким процессом.
Экспериментально было доказано наличие существенного прироста в качестве выполнения регистрации трехмерных снимков человеческого тела по сравнению с исходным алгоритмом [В 15]. Вместе с этим значительно возросла скорость работы алгоритма. У величение детализации шаблона позволило отражать на регистрациях трехмерных снимков мелкие детали рельефа тела.
На основе параметрической модели SMPL была получена собственная параметрическая модель, являющаяся уточнением пространства формы тела человека на новом наборе данных.
2.10.5. Оценка результатов сканирования
Определение степени соответствия полученной трехмерной модели и пользователя системы представляет собой сложную задачу, которая наилучшим образом разрешается
путем сравнения результата с трехмерной моделью пользователя, принятой за эталонную. Для получения трехмерных снимков в реальности используются трехмерные сканеры, либо системы, состоящие из множества синхронизированных RGB-камер. Однако существует проблема получения снимков, подходящих в качестве моделей для проверки в рассматриваемой задаче. Использование трехмерных сканеров, рассчитанных на статичные объекты, в этом случае невозможно по двум причинам: во-первых, ввиду того, что человек не может стоять абсолютно неподвижно, на снимке будут появляться артефакты, искажающие оценку, во-вторых, даже без учета артефактов сканирования, которых может не быть, если сканирование происходит достаточно быстро, человек не сможет в точности повторить позу, в которой он стоял на первом кадре отснятой последовательности. Следовательно, для этой задачи возникает необходимость использования многокамерных систем. Система должна получить трехмерный снимок человека в тот момент, когда сенсор глубины получит первый кадр последовательности, из чего вытекают трудности синхронизации. Помимо этого, стоит отметить, что такого рода системы доступны далеко не везде из-за их дороговизны и необходимости тонкой настройки.
С учетом вышеизложенных проблем, а также в связи с отсутствием в публичном доступе наборов, содержащих необходимые для оценки данные, был разработан инструмент для получения синтетического набора данных, приближенного к реальным. Инструмент получает на вход трехмерный снимок человека, созданного, к примеру, с помощью трехмерного сканера. Перед использованием инструмента для снимка с помощью техники риггинга определяется скелет. Затем инструмент применяет скелетную анимацию, которую переносит на снимок с помощью алгоритма скиннинга LBS. После этого для каждого кадра анимации происходит генерация необходимых данных: производится рендеринг карты глубины с точки зрения виртуальной камеры, записывается положение ключевых точек скелета. Кроме того, для каждого кадра генерируется семантическая сегментация по следующему алгоритму: в каждый пиксель записывается номер ключевой точки с наибольшим влиянием на выполнение скиннинга для тех вершин, которые попадают в данный пиксель при проецировании на плоскость изображения. После завершения генерации в карты глубины может быть добавлен гауссовский шум для имитации погрешностей, получаемых при съемке реальным сенсором.
Система обеспечивает генерацию всех необходимых данных для работы алгоритма, а также формирует трехмерную модель человека в положении, точно совпадающем с положением на первом кадре последовательности, что дает возможность
производить точную оценку. При этом универсальный интерфейс позволяет использовать произвольную скелетную анимацию для тестирования алгоритма при различном поведении пользователя. Примеры сгенерированных данных изображены на фиг. 40: слева направо - карта глубины, сегментация, ключевые точки, эталонная модель.
База, созданная для экспериментального тестирования в данной работе, содержит около 2000 кадров с разрешением 420x880 пикселей и добавленным шумом и состоит из 4 видеопоследовательностей, отражающих различные ситуации применения алгоритма:
-человек стоит и совершает небольшие непроизвольные движения (дыхание, движения рук);
- аналогичная сцена с поворотом вокруг на 1° за кадр;
- человек машет рукой;
- человек при ходьбе.
Первые две последовательности направлены на проверку сценария сканирования, когда человек пытается сохранять одинаковую позицию, последующие предназначены для проверки в условиях быстрых естественных движений. Для проведения экспериментальной оценки алгоритма были использованы две следующие метрики, оценивающие разные компоненты системы:
где V, S,M- множества вершин результирующей поверхности, эталонной поверхности и поверхности параметрической модели с каноническими параметрами, соответственно, sv
- ближайшая к вершине v вершина из S, mv - ближайшая к вершине v вершина из , а пх
- нормаль к поверхности в точке х.
Первая метрика является средним значением расстояния от вершин результата до плоскости поверхности эталонной модели, вторая - усреднением похожих метрик расстояний от модели до эталона и наоборот.
2.11 Создание ЗБ-аватара пользователя
Для визуализации одежды на человеке, а также для более наглядного представления результатов работы алгоритма предлагается создавать ЗО-аватар человека с использованием данных, полученных на этапе оптического сканирования. Под 3D- аватаром понимается трехмерная текстурированная модель тела человека, согласованная с его антропометрическими данными. Для извлечения текстуры используются данные с
цветной камеры, обрабатываемые совместно с картами глубины на этапе создания модели пользователя.
Для ускорения извлечения текстуры можно использовать подход, основанный на глубоких нейронных сетях, альтернативный классическому методу извлечения текстуры. Нейросетевой подход позволяет быстро и с приемлемой точностью извлекать текстуру пользователя по одному или нескольким цветным изображениям. Для извлечения текстуры используется нейронная сеть, обученная на наборе соответствий между фотографией пользователя и его текстурой. В процессе обучения на вход нейронной сети подаются изображения различных людей с различных ракурсов с известной текстурной картой и штрафуется ошибка в восстановлении такой текстурной карты.
Для генерации реалистичной текстуры тела важно определение тона кожи по фотографии, либо трехмерному снимку головы. В случае трехмерного снимка производится рендеринг лица в анфас, и задача сводится к случаю двумерного изображения. Алгоритм определения тона кожи можно описать следующими основными шагами.
1. Подготовка фотографии (масштабирование и обрезка до 512x512 пикселей), либо рендеринг ЗБ-модели головы в изображение 512x512 пикселей.
2. Нейросетевая сегментация лица с использованием готовых, либо обученных заново моделей с целью выделения таких сегментов, как кожа лица, волосы, шея, глаза, брови и т.д.
3. Формирование маски для кожи лица на основе результатов сегментации.
4. Морфологическая эрозия маски для сокращения артефактов по краям области
5. (Опционально) Применение билатерального фильтра либо гауссовского размытия к исходному изображению.
6. Выделение из исходного (предобработанного) изображения пикселей по маске и конвертация цветов в простанство Lab.
7. Кластеризация цветов пикселей в простанстве Lab с помощью метода^ средних (К Means) с числом кластеров, равным 3.
8. Центроид наибольшего кластера принимается за тон кожи.
9. Раскраска текстуры в цветовом пространстве Lab с сохранением относительной освещенности участков:
- определяется среднее значение L по всей текстуре;
- из компоненты L каждого пиксела текстуры вычитается среднее значение /.;
- к каждому пикселу текстуры прибавляется значение L определенного тона кожи;
- Каналы ab для каждого пиксела текстуры берутся из тона кожи.
3. Обработка результатов сканирования и построение модели тела пользователя на основе цветных изображений
Данный раздел содержит краткое описание базового алгоритма Human Mesh Recovery (HMR), предложенного в работе “End-to-end Recovery of Human Shape and Pose” [B37], а также раскрывает предложенные модификации. Более подробно с предложенным подходом можно ознакомиться в работе [ВЗЗ].
3.1 Human Mesh Recovery
Алгоритм Human Mesh Recovery (HMR) [B37] опирается на параметрическую 3D модель человека SMPL [В39], но может работать с произвольной параметрической моделью. Раздел 3.1.1 содержит описание архитектуры HMR и метода восстановления параметров 3D модели. Для обучения этого метода используется процедура состязательного обучения, основным элементом которой является сеть дискриминатор, описание архитектуры которой представлено в разделе 3.1.2. В разделе 3.1.3 приведено описание функций потерь, используемых для обучения HMR и нейронной сети дискриминатора.
3.1.1 Алгоритм восстановления параметров модели человека
Рассмотрим архитектуру алгоритма Human Mesh Recovery (HMR) [B37] подробнее, ее схема приведена на фиг. 36. В качестве сети для извлечения параметров из исходного изображения используется архитектура ResNet-50 v2 [В36] с удаленными полносвязными слоями, предварительно обученная на задаче классификации ImageNet [В38]. Алгоритм 1, приведенный далее, описывает процедуру восстановления параметров 3D модели SMPL на основе извлеченных параметров. Извлеченные из изображения параметры построчно растягиваются в вектор из 2048 элементов ( ф Е 2048), который конкатенируется со стандартными параметрами модели SMPL ( b0 - средние параметры формы, вычисленные на основе коллекции трехмерных снимков, использованных для обучения параметрической модели, и q0 - параметры позы, соответствующие Т-позе человека: ноги на ширине плеч, руки вытянуты в стороны под прямым углом относительно тела) и подается на вход модулю итеративного восстановления параметров ( Regressor ), который состоит из двух полносвязных слоев, разделенных дропаутом и полносвязного слоя, выдающего смещение для параметров формы и позы модели SMPL (Ab, А Q ).
HMR(Image) ·= [bt, qt]
3.1.2 Дискриминаторы
Полученные нейросетевым алгоритмом параметры модели SMPL подаются на вход нескольким сетям-дискриминаторам, архитектура которых приведена на фиг. 37. Для определения реалистичности формы используется одна полносвязная нейронная сеть с двумя слоями, получающая на вход вектор параметров формы и выдающая число, отражающее реалистичность параметров формы. Для параметров позы используется 24 полносвязных нейронных сети-дискриминатора (по одному на параметры позы для каждого сустава скелета и один общий) с разделением части параметров. Для начала к тройке параметров позы (задают направление оси поворота и величину угла) для каждого сустава применяется формула поворота Родрига, переводящая параметры в матричное представление (матрица поворота 3 х 3). После этого полученное представление подается на вход двум полносвязным слоям размера 32, общим для всех параметров позы, переводящим поданный на вход вектор в общее параметрическое пространство размерности 32. Полученные векторы параметров подаются на вход 23 нейронам, выдающим предсказания для каждого сустава отдельно, а также конкатенируются между собой и передаются двум полносвязным слоям размера 1024, на выходе которых получается предсказание для всех параметров позы вместе. Полученные от всех дискриминаторов значения конкатенируются, давая на выходе вектор длины 25, описывающий реалистичность предсказанных параметров 3D модели.
3.1.3 Обучение
Для обучения алгоритма авторы предложили использовать функцию потерь, состоящую из четырех штрафов. На выходе алгоритма для каждого входного изображения получаются параметры позы и формы модели SMPL ( Q И /?), вектор предсказаний дискриминатора (Dpred = Dis ( HMR(Image))\ параметры камеры, а также координаты 3D позы человека
извлеченные из модели SMPL на основе предсказанных параметров. Для моделирования камеры авторы используют модель слабой перспективной проекции, для которой верна следующая формула проекции: х = s * /7(й * X) + t, (25) где X £ М3 - координаты точки в трехмерном пространстве, х £ 2 - координата спроецированной точки, R £ 3 3 - глобальный поворот, предсказываемый алгоритмом, s £ и t £ 2 - масштаб и вектор сдвига в двумерном пространстве, также
предсказанные алгоритмом, а П - ортографическая проекция. Для штрафов за отклонение предсказанной 2D позы от эталонной используется ошибка репроекции с L1 нормой:
где N - число примеров, Njoints - число суставов в рассматриваемой модели скелета, x>ij е {0, 1} - видимость /-ой ключевой точки /-го примера (берется из эталонной разметки), a J И Jt 2ci - координаты эталонной и предсказанной /-ой ключевой точки /- ого примера. Также, при наличии разметки 3D позы и параметров модели SMPL, применяются соответствующие штрафы (среднеквадратичное отклонение для обеих групп параметров):
Еще одно слагаемое в функции ошибки представляет собой штраф для предсказаний дискриминатора, направленный на то, чтобы сделать их как можно ближе к 7 (то есть, чтобы дискриминатор считал все предсказанные параметры реалистичными):
где 1 e IR25 - вектор из 7, совпадающий по размеру с конкатенированным выходом дискриминаторов. Общая функция потеря для обучения алгоритма HMR [37] задается следующей формулой:
где l - коэффициент, подбираемый с помощью валидационного множества, t3D - индикаторная функция, равная 7 только для примеров, имеющих разметку 3D позы и параметров модели SMPL.
Для обучения сетей дискриминаторов, наравне с предсказанными параметрами 3D модели SMPL, используются эталонные, полученные из размеченных коллекций данных. Функция потерь для обучения /-ого дискриминатора выглядит следующим образом:
где Ngt — число примеров из эталонной коллекции, Npred - число примеров, полученных предсказаниями от модели HMR.
3.2 Предложенные модификации алгоритма Human Mesh Recovery
Предложенные модификация метода Human Mesh Recovery [37] направлены на устранение недостатков, выявленных в ходе анализа базового алгоритма. Для повышения точности работы метода, в том числе повышения качества восстановления фигуры человека, были предложены модификация архитектуры (раздел 3.2.1) и модификация процедуры обучения (раздел 3.2.2).
3.2.1 Модификации архитектуры
Сегментация человека - это достаточно простое, но при этом информативное представление, которое позволяет получить информацию о фигуре человека. Для повышения точности восстановления параметров 3D модели фигуры и позы человека предлагается восстанавливать карту сегментации для предсказанной 3D модели и использовать полученную карту сегментации для обучения алгоритма.
Ряд современных методов использует приближенный дифференцируемый рендеринг [В40] или обучаемый рендеринг [В41] для получения карты сегментации на основе предсказанной 3D модели, но это увеличивает время, затрачиваемое на обучение, а также усложняет саму процедуру обучения. Вместо этого предлагается использовать иной подход, схожий с применяемыми в некоторых ранних двухэтапных методах восстановления параметров 3D модели человека, например, в [В35].
Поточечная проекция вершин сеточной параметрической 3D модели на исходное изображение - это наиболее простой способ получить приближение силуэта (полученное одноканальное изображение содержит значение 255 в пикселях, на которые были спроецированы вершины, и 0 во всех остальных). Но без предобработки такое приближение трудно использовать, поскольку между спроецированными точками будет пустое пространство, которое при использовании попиксельного штрафа с эталонной картой сегментации будет трактоваться как ошибка алгоритма. Дополнительно к проецированию вершин предлагается считать для полученного одноканального изображения преобразование расстояния (distance transform) с использованием вычеркивающего расстояния (chamfer distance), в результате подсчета которого будет получено одноканальное изображение, в каждом пикселе которого будет содержаться расстояние до ближайшей спроецированной точки. Такая карта расстояния позволит взвешивать штраф пропорционально расстоянию. Схема модифицированного метода и примеры проекции вершин и карты расстояний приведены на фиг. 38.
3.2.2 Модификации процедуры обучения
На основе вычисленной карты расстояний (фиг 39, Dpred) и эталонной карты сегментации фиг 39, Sat ) можно получить карту наиболее удаленных от предсказанных точек участков эталонной карты путем поэлементного перемножения двух карт (фиг. 39,
S9t®Dpred). Таким образом получается одноканальное изображение, каждый пиксель которого содержит 0 в тех областях, где эталонным классом является фон, а для областей с эталонным классом человек - тем большее значение, чем дальше от этого пикселя находится ближайшая спроецированная вершина предсказанной сеточной параметрической 3D модели. Штрафуя за высокие значения в вычисленной таким способом карте расстояний, можно добиться уменьшения площади области эталонного силуэта человека, не покрытой предсказанным силуэтом.
Для достижения обратного эффекта: снижения площади области предсказанного силуэта, не покрытой эталонным силуэтом предлагается использовать карту расстояний (фиг. 39, Spred®D9t), которая вычисляется на основе предсказанной карты сегментации (фиг. 39, Spred ) и карты расстояний для эталонной карты сегментации (фиг. 39, D t), полученной аналогично карте расстояний Dpred. Таким образом, суммарный результат на основе полученных карт расстояний можно выразить следующей формулой:
где Spred - предсказанная карта сегментации, Spt - эталонная карта сегментации, Dpred - карта расстояний, вычисленная на основе предсказанной карты сегментации, Dgt - карта расстояний, вычисленная для эталонной карты сегментации, а символ (8> обозначает поэлементное перемножение. Визуализация этапов вычисления формулы (31) приведена на фиг 39.
Итоговое выражение для предложенного штрафа на основе сегментации выглядит следующим образом:
где Hi И Wi - высота и ширина карт сегментации. Итоговая функция потерь, используемая для обучения модифицированного алгоритма (HMR-seg), принимает вид:
где у - коэффициент, подбираемый с помощью валидационного множества, ls - индикаторная функция, равная 1 только для примеров, имеющих разметку сегментации. 4. Определение антропометрических параметров тела пользователя Алгоритм определения антропометрических параметров тела пользователя включает в себя (а) получение размерных признаков человека на основе подогнанной модели и трехмерного снимка и (б) определение типа фигуры человека.
4.1. Получение размерных признаков пользователя
Размерные признаки могут быть вычислены различными методами: методами линейной алгебры, методами машинного обучения, комбинированными методами. Определение обмеров методами линейной алгебры происходит подобно измерению обмеров с тела человека вручную, только осуществляется с трехмерного снимка человеческого тела. Алгоритмы на основе машинного обучения строятся на основе моделей, обученных на заранее размеченных данных. Комбинированные методы реализуются частично на основе алгоритмов линейной алгебры, частично алгоритмов машинного обучения. Например, на основе трехмерного снимка вычисляются промежуточные антропометрические параметры, которые затем используются для обучения регрессионной модели.
Также возможно использование различных методов для вычисления различных обмеров, т.е. каждый обмер можно вычислять тем методом, который дает минимальную ошибку на тестовой выборке.
4.1.1. Получение размерных признаков на основе методов линейной алгебры
Размерные признаки определялись на основе числовых значений, называемых обмерами. При реализации обмеров учитывались следующие стандарты: ISO 8559, ISO 7250, ГОСТ 17522-72, ГОСТ 31396-2009, ОСТ 17-326-81 [23-30]. Часто обмеры из различных стандартов дублируются, иногда методики измерения противоречат друг другу [В31]. В таких случаях предпочтение отдавалось стандарту ISO 8559. В общей сложности было реализовано 89 обмеров, из них 25 обмеров - симметричные, т.е. состоящие из трех обмеров: правого, левого и среднего. Полный список размерных признаков (РП) приведен в таблице 3.
Таблица 3 Г Соответствующий РП
Номер РП Наименование РП : i в стандарте ISO 8559
2 I Длина руки до запястья I 5.7.8 Outer arm length
(симметр.) I Расстояние от шеи до та | 5.4.5 Back neck point to waist Обхват груди третий I 5.3.4 Bust girth Высота подъягодичной
N/A
I Обхват колена 5.3.22 Knee girth
Обхват бедра 5.3.20 Thigh girth
(симметр.) .
Каждый обмер реализован как отдельная функция и основан на одной из функций обмеров приведенного типа. Каждый обмер может быть выполнен как по трехмерному снимку, так и по подогнанной модели человеческого тела. Обмеры по трехмерному снимку наиболее приближены к обмерам в реальности, и предполагается, что их значения дают более точные результаты. Иногда на трехмерных снимках присутствуют артефакты сканирования, что проявляется в слипшихся с туловищем руках или слипшихся друг с другом ногах. В таких случаях оказывается более удобным определять часть обмеров по модели, например, обхват бедра, верхний обхват руки и др. Иногда человек сканируется с длинными распущенными волосами и получить некоторые обмеры, например, обхват шеи, получить только на основе трехмерного снимка не представляется возможным. В таком случае также обмеряется модель.
Для получения обмеров нужно вызвать метод get all measurements класса Measurements. Предложенный метод проводит измерение всех обмеров, перечисленных в словаре measurement Junctions. В каждом поле словаря указан один обмер, а также указаны параметры model cut и dependencies. Параметр model cut задает облако точек, которое нужно обмерять - трехмерный снимок или модель, а параметр dependencies задает список обмеров, от которых зависит данный обмер. Перед совершением обмера производится проверка того, есть ли у обмера зависимости, и если есть, то сначала рекурсивно выполняются обмеры, от которых зависит данный обмер. Такой способ позволяет сэкономить время на выполнении обмеров, которые частично совпадают с другими обмерами.
В результате на выходе метода get all measurements формируется словарь с результатами обмеров и визуализациями обмеров в трехмерном пространстве.
Благодаря использованию параметрической модели, обладающей свойством функционального сокращения вершин (одинаковые вершины находятся в одинаковых местах тела человека для всех трехмерных снимков), антропометрические точки были размечены прямо на модели. Иными словами, каждой антропометрической точке,
используемой в алгоритме обмеров, была поставлена в соответствие точка на модели с фиксированным индексом.
Обмеры разделены на четыре типа:
(1) высоты (относительно уровня пола);
(2) расстояния (между двумя заданными точками);
(3) обхваты;
(4) расстояния по поверхности тела.
4.1.1.1. Высоты
Размерные признаки этого типа соответствуют расстояниям от фиксированных уровней на теле человека до уровня пола. Для измерения каждого размерного признака из этой группы используется одна антропометрическая точка, соответствующая РП.
Дополнительно ко всем измерениям высот применяется коррекция, учитывающая позу человека. В стандартах, описывающих измерение РП этой группы, предполагается, что человек стоит, сведя ноги вместе, в то время как в реализованном алгоритме используются трехмерные снимки человека в А-позе, когда ноги располагаются на ширине плеч, а руки прямые и расположены под углом около 20 градусов по отношению к торсу.
Для коррекции используется следующий алгоритм. Вычисляются углы ног по отношению к вертикали на основе суставов модели «правое бедро», «правая щиколотка» и «левое бедро», «левая щиколотка». Затем вычисляется величина коррекции для каждой ноги как разность фактической длины ноги и ее проекции на вертикальную ось. Для всех точек выше уровня бедер значение обмера корректируется на фиксированную величину, равную среднему значению величин коррекции для обеих ног. Для точек ниже уровня бедер значение обмера корректируется на меньшую величину в соответствии с приведенным на фиг. 25 графиком. Визуализацией такого типа обмера является координата точки (фиг. 26).
4.1.1.2. Расстояния
Расстояние между двумя антропометрическими точками вычисляется по известной формуле как корень суммы квадратов разностей координат. Визуализацией такого типа обмера являются две точки, соединенные ребром (фиг. 27).
4.1.1.3. Обхваты
Этот размерный признак соответствует длине плоского замкнутого контура, расположенного на определенном уровне тела либо проходящего через заданные антропометрические точки. На теле человека измеряется сантиметровой лентой.
Для определения данного типа РП используется следующий алгоритм. Определяется плоскость, в которой должна лежать сантиметровая лента для получения желаемого обхвата. Производится сечение облака точек данной плоскостью. В результате получается один или несколько замкнутых контуров. Например, если облако точек будет подвергаться сечению плоскостью на уровне талии, то получится три контура: талии и двух рук. Для выбора нужного контура используется расстояние от контура до заданной точки и выбирается контур с минимальным расстоянием. После чего на выбранном контуре строится выпуклый контур, моделируя поведение сантиметровой ленты. Длина выпуклого контура и будет являться искомой величиной обхвата.
В функции обмера типа «обхват» реализована возможность задания необходимого количества контуров при сечении. Если контуров меньше или больше, плоскость смещается на небольшую величину до тех пор, пока количество контуров не будет равно заданному значению. Это позволяет увеличить точность при выборе плоскости и избежать дополнительных ошибок. Например, эта функциональность используется для поиска обхвата груди, когда плоскость может проходить чуть выше подмышек. Тогда выбранный контур будет захватывать плечо и, таким образом, давать завышенный результат. В этом РП параметр необходимого количества контуров устанавливается равным трем. Визуализацией такого типа обмера является множество точек выпуклого контура, соединенных между собой ребрами (фиг. 28).
4.1.1.4. Расстояния по поверхности тела
Для измерения этого обмера по телу человека нужно соединить сантиметровой лентой две или большее количество антропометрических точек (последовательно) на поверхности тела и определить получившуюся длину.
Алгоритм реализации РП данного типа в предложенном методе можно разбить на несколько шагов (фиг. 29). Первые два шага у данного типа обмера и обмера типа «обхват» аналогичны, но последующие шаги различаются.
1. Облако точек сечется плоскостью, в результате получается один или несколько контуров. Если контуров меньше или больше заданного количества, плоскость смещается на небольшую величину до тех пор, пока количество контуров не будет равно заданному.
2. При получении нескольких контуров выбирается контур С {contour), наиболее близкий к точке middle point.
3. Контур делится на две части по конечным точкам point 1 и point 2.
4. Сравнивается расстояние от каждой части контура до точки middle jooint, выбирается более близкая к точке часть контура L {line).
5. По выбранной части контура L строится выпуклый контур СН {convex hull).
6. Выпуклый контур СН делится конечными точками point 1 и point 2 на две части, одна из них будет находиться снаружи тела, а другая - с внутренней стороны тела.
7. Выбирается внешняя по отношению к телу часть выпуклого контура. Для определения этого была разработан специальный метод, описание которого приведено ниже.
Метод определения внешней части выпуклого контура: каждая точка выпуклого контура соответствует одной из точек линии. Определяется точка на выпуклом контуре СН , соответствующая одной из конечных точек линии L. Далее проверяется, равны ли соседние точки выпуклого контура соседним точкам на линии. С той стороны, где они не равны (как минимум для одной стороны они не будут равны), происходит «перескок» выпуклого контура через точки линии, т.е. соответствующий отрезок выпуклого контура находится по одну сторону линии. Поэтому далее проверяется, находится ли середина данного отрезка (HI) снаружи контура С или внутри. Если она находится снаружи, то часть выпуклого контура СН, которой принадлежит отрезок, находится снаружи тела и является искомой. Если она находится внутри, то искомой является оставшаяся вторая часть выпуклого контура. Визуализацией такого типа обмера является множество точек выбранного сегмента выпуклого контура, соединенных между собой ребрами (фиг. 30).
4.1.2. Корректировка результатов обмеров
Может оказаться, что некоторые антропометрические точки заданы не совсем точно. Это может увеличить ошибку результатов обмеров, полученных методами линейной алгебры.
Для минимизации этого эффекта предлагается использовать метод корректировки обмеров. Для этого необходима база данных трехмерных снимков людей и измеренных вручную значений обмеров. Для каждого размерного признака определяется среднее значение ошибки алгоритма от истинных значений. Затем для каждого обмера вводится поправка, компенсирующая среднее значение ошибки.
Этот метод позволяет уменьшить среднюю ошибку обмеров примерно на 40-60%.
4.1.3. Получение размерных признаков на основе методов машинного обучения
Предлагается использовать регрессионную модель. Обучение модели происходит следующим образом. Сначала к трехмерному снимку человека подгоняется модель человеческого тела, которая имеет параметры телосложения и позы. Затем обучается регрессионная модель, обеспечивающая преобразование из параметров модели к величинам обмеров.
Для получения обмеров человека нужно подогнать к его трехмерному снимку модель человеческого тела и, используя обученную регрессионную модель, получить искомые обмеры.
Для обучения модели использовались данные из базы данных цифровых снимков CAESAR, включающей в себя более 4000 трехмерных снимков людей из различных регионов. Для каждого человека в этой базе данных имелся набор значений обмеров, измеренных вручную с человеческого тела.
Достоинствами данного метода является быстрота определения обмеров, к недостаткам же можно отнести зависимость точности обмеров от величины обучающей выборки, и ограниченность множества обмеров теми, которые представлены в обучающей выборке.
4.1.4. Получение размерных признаков на основе комбинированных методов
Эти алгоритмы могут быть реализованы различными способами. Общая идея состоит в том, чтобы сначала методами линейной алгебры получить некие промежуточные антропометрические параметры, которые затем использовать для определения целевых обмеров.
Промежуточными антропометрическими параметрами могут быть, например, обхваты человеческого торса или иной части трехмерного снимка, выполненные на разных высотах и углах к плоскости пола. Другим вариантом промежуточных антропометрических параметров могут быть расстояния между точками пересечения прямой и контура проекции человеческого тела на одну из вертикальных осей.
Далее набор промежуточных параметров может быть обработан как методами функционального анализа (поиск точек максимума, минимума, перегиба и др.), так и методами машинного обучения.
4.1.5. Определение антропометрических признаков пользователя на основе анкетирования
В качестве альтернативы описанным выше способам, возможно определение антропометрических параметров пользователя на основе заполнения анкеты. Такой способ может быть реализован в виде приложения на смартфоне, как сервис на Интернет- сайте либо другим способом. В качестве вопросов может быть информация о росте, весе, возрасте, особенностях фигуры или каких-либо антропометрических параметрах тела. Ответы могут быть введены в виде вещественного числа или выбором одного из нескольких предложенных вариантов. Также, опционально, пользователь может добавить к введенным данным одну или несколько фотографий тела.
Данные, введенные в анкету, передаются в специальный модуль, который вычисляет на основе этих данных антропометрические параметры человека.
Задачей такого модуля является определение неизвестных антропометрических параметров тела на основе введенных параметров. Эта задача может быть решена с помощью статистических моделей. Например, зная пол, рост, вес, и тип фигуры пользователя, можно построить наиболее вероятную для таких параметров модель тела пользователя, которой будут соответствовать определенные размерные признаки.
Модель может быть построена с помощью методов регрессионного анализа, с помощью методов классификации и кластеризации, а также с помощью глубокого обучения либо с помощью смешанных методов.
В качестве вопросов, имеющих несколько вариантов ответа, могут запрашиваться качественные характеристики человека, например изгиб спины (степень сутулости), соотношение мышечной и жировой массы тела (атлетичное, обычное, тучное телосложение) и др.
Если пользователь считает вычисленные размерные признаки неверными, он может оставить обратную связь, введя в систему верные значения размерных признаков. Данные об обратной связи могут быть использованы для более точной настройки модуля, с учетом реальных статистических данных о пользователях.
Во входящих данных могут быть одновременно непрерывные и дискретные величины, а также фотографические изображения. Для обработки этих данных предлагается несколько подходов.
1. Перевод категориальных признаков в непрерывные. В этом случае категориальным признаком может остаться только пол пользователя. Статистическая модель строится либо отдельно для мужчин и женщин, либо одна для обоих полов. С помощью регрессионного метода по известным параметрам определяются неизвестные.
2. Перевод непрерывных признаков в категориальные. В таком случае пространство непрерывных параметров отображается в кластеры с помощью вокселизации или другого метода кластеризации. Для каждого кластера определяются наиболее вероятные значения размерных признаков. На основе введенных пользователем данных, определяется кластер, к которому относится пользователь, а после этого его антропометрические признаки уточняются с помощью дополнительной информации. Результатом являются размерные признаки пользователя.
3. Обработка полноростовых фотографий. С помощью методов глубокого обучения из фотографий возможно извлекать либо непрерывные, либо категориальные антропометрические признаки. Непрерывными могут быть, например, отношение обхвата
талии к обхвату бедер, длины ног к росту или другие отношения. Категориальными могут быть, например, тип фигуры. Эти данные могут быть использованы для уточнения размерных признаков пользователя, описанных выше в и. 1 и и. 2.
4. Смешанные варианты. Исходную задачу можно также решать комбинированными вариантами из п. 1, п. 2 и п. 3.
4.2. Определение типа фигуры пользователя
Для определения типа фигуры пользователя могут быть использованы различные методы, включающие в себя как чисто алгоритмические методы, так и методы машинного обучения.
Алгоритм типирования фигуры человека имеет на входе пол человека и таблицу мерок, снятых с него. Типирование фигур для женщин и мужчин реализовано различными функциями.
4.2.1. Типирование мужчин
Для типирования мужчин алгоритм использует информацию трех обмеров: обхвата груди, обхвата талии и обхвата бедер, и относит фигуру к одному из трех типов: худой, нормальный и толстый.
Сначала проверяется, является ли фигура худой. Считается, что к худым мужчинам относятся те, у кого нет выраженного таза, живота или трапецеидальных мышц. Поэтому сначала проводится проверка того, находятся ли все три обмера в заданных пределах.
Если да, то фигура относится к типу «худой».
Далее проверяется, относится ли человек к полному типу. Мужчина считается полным, если у него есть лишний вес в области живота или таза, поэтому проверяется, превышает ли значение обхвата талии или бедер пороговое значение для полного человека. Если хотя бы одно из этих обмеров превышает пороговое значение, то фигура относится к типу «толстый».
Остальные фигуры считаются относящимися к типу «нормальный». То есть это мужчины условно среднего веса, при этом человек может иметь большую мышечную массу (например, выраженные трапециевидные мышцы) или не иметь ее.
На тестовой базе трехмерных снимков из 126 мужчин получены следующие результаты: «худые» - 23, «нормальные» - 80, «толстые» - 23. При визуальной проверке типы фигур мужчин соответствовали результатам автоматического тестирования.
4.2.2. Типирование женщин
Для женщин типирование происходит также на основе обмеров обхватов груди, талии и бедер. При этом используется пять типов фигуры: «худая», «нормальная с
выраженной талией», «нормальная без выраженной талии», «полная с выраженной талией», «полная без выраженной талии».
Для типирования используется четыре параметра: thin thresh, flat сое f wide contoured thresh, wide flat thresh. Проверка принадлежности к определенному типу проводится пошагово и на каждом последующем шаге типированию подвергаются только оставшиеся после предыдущих шагов фигуры.
Сначала, также как и у мужчин, проверяется, является ли женщина худой, что будет выполняться при условии, что все три обмера менее thin thresh. Далее выполняется проверка соответствия фигуре полной женщины: бедра должны быть больше wide contoured thresh и отношение талии к бедрам - меньше flat coef. После этого проверяется соответствие типу фигуры «полная без выраженной талии»: талия больше wide flat thresh. Далее остается типировать «нормальные» фигуры. Если у оставшихся моделей отношение талии к бедрам менее flat coef то фигура будет «нормальной с выраженной талией». Если никакое из вышеперечисленных условий не выполнено, то считаем, что тип фигуры - «нормальная без выраженной талии».
Результаты тестирования на базе из 146 женских трехмерных снимков следующие: «худая» - 8,9 % (13), «нормальная с выраженной талией» - 43,8 % (64), «нормальная без выраженной талии» - 27,4 % (40), «полная с выраженной талией» - 5,5 % (8), «полная без выраженной талии» - 14,4 % (21). Эти данные соответствуют статистическим данным. При визуальной проверке типы фигур женщин также соответствовали результатам автоматического тестирования.
4.3. Анализ данных и результаты
Качество работы алгоритма определялось на тестовой выборке, состоящей из трехмерных снимков (ЗП-сканов; ЗП-сканограмм). Было проведено сравнение с двумя типами эталонных данных:
(а) размерные признаки (РП) человека, измеренные вручную по телу;
(б) размерные признаки (РП), измеренные по трехмерному снимку с использованием программного обеспечения для проектирования одежды (САПР). В качестве примера таких САПР можно привести CLO, Optitex, Browzwear и т.п.
Сравнение РП, полученных с помощью описанного выше алгоритма, с РП, измеренными вручную по телу, представлено на фиг. 31. Средняя ошибка составила 23,3 мм. Сравнение РП, полученных с помощью описанного выше алгоритма, с РП, измеренными по трехмерному снимку, представлено на фиг. 32. Средняя ошибка составила 21,2 мм. На фиг. 31 и фиг. 32 по оси абсцисс расположены номера обмеров во внутренней системе, по оси ординат - разница между результатами обмеров,
полученными с помощью предложенного алгоритма и результатами, измеренными вручную с человека в реальности либо с трехмерного снимка. Каждая точка соответствует ошибке результата конкретного обмера конкретного человека.
Таким образом, средняя ошибка на всех обмерах оказалась менее 2,5 см. Видно, что центры распределения смещены относительно нуля, что говорит о не совсем точном выборе положений антропометрических точек, кроме того, на диаграмме присутствуют выбросы, которые могут быть связаны как с ошибками алгоритма, так и с ошибками референсных данных. В дальнейшем планируется протестировать алгоритм на размеченной выборке большего объема, что позволит подобрать оптимальные параметры алгоритма.
5. Выбор наиболее близких производственных моделей
Далее выполняется выбор по антропометрическим параметрам одной или нескольких наиболее близких производственных моделей из массива производственных моделей разных производителей одежды.
5.1. Параметризация производственных моделей
Для сопоставления производственных моделей с моделью тела пользователя трехмерные производственные модели подвергаются «регистрации» аналогично трехмерным моделям, полученным по результатам сканирования тела пользователя, как описано выше.
Если используются цифровые модели, то такая регистрация может выполняться непосредственно по цифровой модели или после необходимых преобразования данных. Задача такого преобразования данных тривиальна для специалиста, поэтому подробности преобразования здесь опущены для краткости. Если используются физические манекены, то они подвергаются сканированию аналогично телу пользователя.
В случае использования параметрических производственных моделей, РП могут быть получены из таких моделей - либо непосредственно (если методики определения РП совпадают с применяемыми в предложенном подходе), либо путем преобразования. При этом способ такого преобразования зависит от конкретной реализации параметров той или иной производственной модели.
5.2. Сопоставление производственных моделей с моделью тела пользователя
Сопоставление производственных моделей с моделью тела пользователя может выполняться с использованием целевой функции
где Т - целевая функция расхождения, подлежащая минимизации, М- число размерных признаков (РП), DPcust - размерный признак пользователя, DPprod - размерный признак
производственной модели, соответствующий размерному признаку пользователя, - взвешивающий коэффициент, учитывающий важность каждого признака с точки зрения влияния на «посадку» конкретного предмета одежды на пользователя, т.е. на субъективную оценку пользователем того, хорошо или плохо «сидит» на нем эта одежда. Число может представлять собой как количество всех размерных признаков пользователя и/или производственной модели, так и подмножество размерных признаков, включающие только те размерные признаки, которые существенны для конкретного предмета одежды (например, только РП ног при выборе джинсов или только РП кистей при выборе перчаток).
Критерий сопоставления моделей может быть основан, например, на оценке Т < о, где г.о - пороговая величина, значение которой может быть унифицированным (т.е. действительным для всех видов одежды, всех производителей одежды и всех пользователей) или дифференцированным (т.е. задаваться индивидуально для различных видов одежды, различных производителей одежды и различных пользователей). Специалисту должно быть понятно, что указанный выше критерий приведен лишь в качестве иллюстрации и что изобретение включает в себя все многообразие возможных критериев.
Стоит отметить, что сопоставление может выполняться не только с помощью целевой функции (34), но и более общими известными методами, например, с помощью регистрации двух сопоставляемых моделей друг относительно друга и расчета невязки трехмерных поверхностей моделей. Это позволяет сопоставлять модели не только в избранных местах (обхват талии, обхват бедер и т. п.), но осуществлять сопоставление моделей целиком.
Отобранные по критерию сопоставления производственные модели могут фиксироваться в любой подходящей форме на любом подходящем носителе информации, как подходящие для конкретного пользователя и в дальнейшем могут использоваться в процессе дистанционного выбора одежды. Такая фиксация может выполняться в соответствующем формате в компьютере или в мобильном устройстве пользователя либо на сервере облачного сервиса.
Выше описан алгоритм, предполагающий существование производственной модели (геометрической или параметрической), пригодной для сопоставления с моделью тела пользователя. Тем не менее, возможны ситуации, когда производственная модель отсутствует или когда имеющаяся производственная модель содержит существенные ошибки, приводящие к неудовлетворительному результату сопоставления моделей. При
этом построение производственной модели и/или ее верификация могут оказаться невозможными или экономически нецелесообразными.
В этом случае дистанционный выбор одежды возможен без использования производственной модели на основе сопоставления размерных признаков пользователя с размерной сеткой конкретного бренда или на основе сопоставления размерных признаков пользователя с результатами обмера предмета одежды.
5.3. Сопоставление размерных признаков пользователя с размерной сеткой бренда
При этом подходе пользователь выбирает модель одежды, а система определяет подходящий пользователю размер для этой модели. Здесь термин «модель одежды» означает не математическую или компьютерную модель, а воплощенный в материале образец одежды, характеризующийся определенными размерами, силуэтом, покроем, композиционным и конструктивным решением, материалами и декоративными элементами.
У крупненный алгоритм рекомендации подходящего размера для конкретной модели одежды представлен на фиг. 43. Алгоритм предусматривает выполнение следующих действий:
- (41) пользователь выбирает интересующую его модель или категорию одежды;
- (42) если пользователь выбирает модель одежды, то для нееопределяется категория (подкатегория);
- (43) определяются или вводятся размерные признаки человека, на основе которых может быть определен подходящий размер;
- (44) размерные признаки пользователя сопоставляются с размерной сеткой бренда, которому принадлежит выбранная модель одежды;
- (45) результаты сопоставления обрабатываются для определения рекомендуемого размера выбранной модели одежды;
- (46) рекомендуемый размер сообщается пользователю.
Предварительный выбор модели или категории одежды выполняется любым подходящим способом, например по электронному каталогу. Возможно также применение для этой цели бумажных каталогов, флаеров, публикаций в социальных сетях, видеоклипов и других информационных и рекламных материалов, позволяющих идентифицировать интересующий пользователя предмет одежды.
Электронный каталог может быть монобрендовым или мультибрендовым, функциональным или тематическим. Все модели одежды в каталоге заранее распределены по категориям и, при необходимости, по подкатегориям. Для каждой категории
(подкатегории) одежды заранее заданы те размерные признаки человека, на основе которых может быть определен подходящий размер.
Эти признаки определяются системой или вводятся в нее (если они были заранее определены) или извлекаются из геометрической или параметрической модели тела пользователя (например, если она содержится в профиле пользователя). Определение размерных признаков пользователя может выполняться, например, способами, описанными выше в разделе 4.1.
Размерная сетка может быть получена как непосредственно, так и с помощью вычисления размерных признаков производственных манекенов.
Для каждого размерного признака по размерной сетке бренда вычисляется соответствующий размер в численном виде (например, в виде действительного числа). Далее на основе полученных размеров по формуле вычисляется рекомендуемый размер одежды.
В простейшем случае для составления рекомендаций можно использовать размерную сетку, содержащую лишь два размерных признака, например, обхват груди и обхват бедер. В этом случае размер, относящийся к верхней части тела, будет определяться обхватом груди, а относящийся к нижней части тела - обхватом бедер.
Более точную рекомендацию может обеспечить использование размерной сетки с большим количеством размерных признаков, например, для приталенных сорочек, жакетов, платьев и т.п. может быть целесообразным учет обхвата шеи, груди и талии, ширины плеч, а также роста человека и длины рукава.
Для более точной рекомендации необходима размерная сетка, содержащая большее количество размерных признаков.
Список и характеристики размерных признаков тела человека приведены выше в таблице 3.
Определение размера на основе нескольких размерных признаков возможно с использованием различных подходов. Например, для каждого размерного признака можно ввести коэффициент, определяющий степень влияния этого признака на рекомендуемый размер одежды. В этом случае размер может вычисляться по формуле взвешенного среднеарифметического значения:
S = (WiSi) / Iwi , (35) где Si - размер (например, в виде действительного числа), соответствующий /-му размерному признаку, w,·- вес /-го размерного признака при определении размера, S - рекомендуемый размер (например, в виде действительного числа) одежды в численном виде.
Для некоторых моделей одежды может оказаться, что предпочтения пользователя не вполне соответствуют задумке дизайнера одежды. Также может оказаться, что материал, из которого изготовлен предмет одежды, влияет на индивидуальные предпочтения по посадке одежды. Для учета подобных случаев для каждой модели одежды может быть введено одно или несколько поправочных значений. Тогда формула (35) приобретает вид:
S = (wSi) / Iwi + dsi + ds2 +... , (36) где dsi - первое поправочное значение, ds2 - второе поправочное значение и т.д. Количество, виды и величины поправочных значений могут быть индивидуальными для каждого пользователя или для некоторых пользователей. В частности, индивидуальные поправочные значения могут нивелировать недостаток (малое количество) размерных признаков, принимаемых во внимание при сопоставлении, учитывая особенности фигуры пользователя.
Далее необходимо перевести эти численные значения размеров в значения размеров согласно размерной сетке бренда. Это можно сделать, например, путем округления полученного численного значения размера до ближайшего размера в размерной сетке. Правила такого округления могут различными, например, в большую сторону, меньшую сторону или к ближайшему значению.
В простейшем случае таким образом может быть вычислен размер одежды по длине и ширине. Результатом работы алгоритма рекомендации в таком случае является пара численных размеров: размер по длине и размер по ширине.
При необходимости алгоритм рекомендации размера одежды можно расширить, дополнительно реализовав алгоритм стилистических рекомендаций (более подробно обсуждается в и. 5.7). Для подготовки стилистических рекомендаций сначала стилист- эксперт должен определить правила соответствия характеристик тела и характеристик подходящей одежды. Характеристики тела могут быть основаны на возрасте пользователя, его телосложении, цвете кожи, типе, цвете и длине волос, разрезе и цвете глаз и т.д. Алгоритм стилистических рекомендаций вычисляет необходимые характеристики тела человека, определяет параметры одежды, соответствующие данному человеку, и рекомендует наиболее подходящую по стилю и фасону одежду.
5.4. Сопоставление размерных признаков пользователя с результатами обмера предмета одежды
В отсутствие информации о модельных рядах и размерных сетках брендов рекомендации могут быть выработаны на основе сопоставления размерных признаков пользователя с результатами обмеров конкретных предметов одежды.
Если предмет одежды доступен для физического обмера, то обмер может выполняться в явном виде, например, с помощью традиционного портновского метра. В большинстве случаев физический обмер может оказаться невозможным или экономически нецелесообразным из-за высокой трудоемкости и высокой стоимости ручного труда. Поэтому в системах массового обслуживания обмер предмета одежды может выполняться косвенным способом, например путем оптического сканирования с использованием обычных двумерных фотографических изображений измеряемого предмета одежды.
Оптическое сканирование одежды может выполняться на специальной автоматизированной установке. Установка может состоять из рабочей поверхности и статической камеры. Рабочая поверхность может иметь разметку, обеспечивающую автоматическую калибровку системы для определения размеров на основе изображений, полученных с камеры. В простейшем случае такая разметка может представлять собой сетку с квадратной ячейкой заранее известного размера. В других случаях разметка может состоять из реперных точек, расположенных в заранее заданных местах на заранее заданном расстоянии друг от друга.
Для определения размеров предмета одежды может применяться алгоритм компьютерного зрения, который определяет вид или категорию одежды, выявляет ключевые точки на изображении, вычисляет контур одежды и на основе этих данных определяет размеры (фиг. 42). Для этого могут применяться заранее заданные для каждого вида (категории) одежды правила преобразования ключевых точек и контура в результаты обмера.
Затем результаты обмера могут конвертироваться в размерные признаки, которые могут использоваться для сопоставления непосредственно или из которых при необходимости может формироваться параметрическая модель предмета одежды. По сути, эти размерные признаки или параметрическая модель описывают производственный манекен, на который пошита эта модель одежды.
Размерные признаки тела пользователя могут сопоставляться с размерными признаками предмета одежды подобно тому, как это описано в и. 5.3 со ссылкой на формулы (35) и (36).
Далее описан иллюстративный пример алгоритма рекомендации одежды заданной категории. В этом примере разные размеры одной модели одежды система рассматривает как разные модели одежды и выдает список предметов одежды, отсортированного в порядке убывания рейтинга посадки.
Система, реализующая алгоритм рекомендации, может содержать:
- базу данных одежды, содержащую словарь категорий одежды, словарь подкатегорий одежды для каждой категории, список моделей одежды для каждой подкатегории, результаты обмеров (далее - обмеры) и соответствующие им размеры для каждой модели одежды;
- правила преобразования размерных признаков человека и обмеров одежды, позволяющие привести размерные признаки человека и обмеры одежды к единому формату;
- правила вычисления отсутствующих обмеров (в частности, для тех размеров конкретной модели одежды, для которых данные обмеров отсутствуют);
- правила, определяющие важность результатов обмеров для каждой модели одежды, при этом для каждой модели указано, должен ли этот результат обмера совпадать (equal) или превышать соответствующий размерный признак человека (greater); для конкретной модели одежды может быть задана любая комбинация правил;
- правила градации одежды по размерам.
На вход алгоритма подаются размерные признаки пользователя. В базе данных одежды, доступной для выбора, выполняется поиск с учетом количества М рекомендуемых моделей одежды и целевой категории (подкатегории), в которой должен проводиться поиск. Число М и одна или несколько категорий (подкатегорий) для поиска могут задаваться пользователем или определяться самой системой на основе различных критериев. Таким критериями могут быть предпочтения пользователя, выявленные на основе анализа прошлых действий этого пользователя в системе, текущая загрузка системы и т.п.
На выходе алгоритма обеспечивается список не более чем М моделей одежды с указанием размера каждой модели, ранжированный по убыванию рейтинга посадки (т.е. коэффициента, показывающего насколько конкретный предмет одежды подходит пользователю).
Алгоритм рекомендации предусматривает инициализацию, предварительную обработку данных и вычисление рейтинга посадки одежды.
На этапе инициализации выполняется импорт данных о предметах одежды из внешнего источника данных с преобразованием формата импортируемых данных в формат данных системы. Источники данных о предметах одежды могут быть многочисленны и разнообразны с точки зрения форматов данных. Преобразование формата позволяет сформировать базу данных о предметах одежды системы рекомендации. Данные о предметах одежды могут представлять собой обмеры одежды. Если импортируемые данные содержат обмеры не для всего размерного ряда конкретной
модели одежды, то недостающие обмеры вычисляются путем интерполяции или экстраполяции на основе имеющихся обмеров по заранее заданным правилам.
Предварительная обработка данных при необходимости включает в себя преобразование формата размерных признаков пользователя и/или формата обмеров одежды в такой формат, который позволяет выполнять их сравнение. В частности, обмеры одежды могут быть преобразованы в формат, описывающий производственный манекен, на который пошит этот предмет одежды. Размерные признаки производственного манекена соответствуют идеальной посадке предмета одежды. Поскольку такой формат может совпадать с форматом модели тела пользователя, их сопоставление может выполняться непосредственно. Тем не менее, возможен и другой вариант, когда размерные признаки пользователя преобразуются в формат обмеров одежды, или еще один вариант, когда оба формата преобразуются в некоторый третий формат, обеспечивающий сравнение размерных признаков.
Результат сравнения может быть выражен рейтингом посадки - численной оценкой соответствия предмета одежды фигуре пользователя. В частности, рейтинг посадки может вычисляться для двух векторов - вектора размерных признаков пользователя и вектора размерных признаков предмета одежды.
В связи со спецификой такой задачи использование в качестве рейтинга посадки L- норм не представляется возможным по следующим причинам.
Во-первых, у каждого замера одежды есть допустимый диапазон, в котором замер может варьироваться без ухудшения технической посадки предмета одежды. Соответственно, отклонение размерного признака от соответствующего замера в пределах такого диапазона не должны ухудшать рейтинг посадки.
Во-вторых, если один из замеров одежды меньше соответствующего размерного признака пользователя с учетом допустимого диапазона - одежда не может быть рекомендована пользователю.
В-третьих, в общем случае не все замеры одежды имеют одинаковое значение для комфортной посадки. К примеру, для классической рубашки свобода в талии может быть не так важна, как ширина плеч и обхват шеи.
Поэтому для вычисления рейтинга посадки был разработан алгоритм, вычисляющий скалярную величину, диапазон значений которой находится в пределах от 0 до 1, где «0» означает, что предмет одежды совершенно не подходит пользователю, а «1» означает, что предмет одежды идеально подходит человеку.
Перед вычислением рейтинга посадки значения разности между соответствующими координатами векторов делятся на 3 группы: «fit», «small» и «big», где:
- «fit» означает выполнение по меньшей мере одного условия из следующих: значение размерного признака предмета одежды находится в допустимом диапазоне и значение размерного признака предмета одежды больше значения соответствующего размерного признака пользователя, но находится в группе «greater» правил важности;
- «small» означает, что размерный признак предмета одежды меньше допустимого диапазона;
- «big» означает, что размерный признак предмета одежды больше допустимого диапазона и находится в группе «equal» правил важности.
Если по меньшей мере один обмер предмета одежды определенного размера оказывается в группе «small», то он исключается из выдачи. В простейшем случае рейтинг посадки может быть равен количеству обмеров, попавших в группу «fit», деленному на общее количество обмеров одежды.
Для ранжирования предметов одежды с приемлемым рейтингом посадки дополнительно может быть вычислена величина ошибки посадки. Для этого вычисляется 2-норма для каждой из групп «fit», «big» и «small» в отдельности. Результаты вычислений суммируются с использованием весовых коэффициентов, например, 1 *fit + 2*big и сумма является значением ошибки посадки. Значение ошибки посадки позволяет производить ранжирование полностью подошедшей одежды (для которой рейтинг посадки равен 1) и при наличии в рекомендуемой выдаче предметов одежды с замерами, находящимися в категории «big», поднимать позицию в выдаче одежды с наименьшим выходом за допустимый диапазон.
Таким образом, на вход алгоритм ранжирования подаются следующие данные:
- К векторов обмеров одежды (по одному вектору на каждый предмет одежды);
- один вектор размерных признаков пользователя;
- информация об идеальной посадке для каждого предмета одежды.
Векторы обмеров одежды и вектор размерных признаков состоят из N координат. Координаты всех векторов находятся в едином порядке (т.е. выражены в единой системе координат).
Для перебора всех экземпляров одежды используется метод «bruteforce» по всем моделям одежды из заданной категории (подкатегории). На каждом /-ом шаге перебора вычисляется рейтинг посадки для /-ого вектора обмеров одежды и вектора размерных признаков пользователя.
После вычисления для каждого экземпляра одежды ошибки посадки и рейтинга посадки в выборке выполняются две последовательные сортировки: сортировка по рейтингу посадки в порядке его убывания и сортировка по ошибке посадки в порядке ее возрастания (опционально).
На последнем шаге алгоритма из отсортированной выборки выбираются первые М элементов. Таким образом, на выходе алгоритма оказывается выборка из не более чем М элементов, упорядоченных по убыванию точности технической посадки одежды.
Специалисту должно быть понятно, что описанные алгоритмы могут заменять и/или дополнять друг друга могут и быть использованы как для сопоставления размерных признаков пользователя с результатами обмера предмета одежды, так и для сопоставления с размерной сеткой бренда. Для этого достаточно на входе в алгоритм поменять местами обмеры предмета одежды и размерные признаки размерной сетки бренда.
5.5. Сопоставление размеров или результатов обмера эталонного предмета одежды с размерами или результатами обмера выбираемого предмета одежды
Система может быть способной реализовывать алгоритм рекомендации даже в отсутствие данных антропометрических измерений тела пользователя. В этом случае на вход алгоритма вместо размерных признаков пользователя могут подаваться данные обмеров эталонных предметов одежды, т.е. таких предметов одежды, которые гарантированно имеют приемлемую посадку на пользователе. Специалисту должно быть понятно, что такой вариант алгоритма рекомендации имеет определенные ограничения, но может обеспечивать удовлетворительные результаты в отношении предметов одежды той же категории (подкатегории).
5.6. Рекомендации на основе алгоритма машинного обучения
Описанные выше принципы рекомендаций реализованы на основе эвристических алгоритмов, поэтому точность таких рекомендаций может сильно зависеть от человеческого фактора - представлений разработчиков об идеальной посадке одежды и их способности выразить эти представления в виде правил для работы алгоритма.
Чтобы избавиться от этого недостатка и повысить точность рекомендаций возможно применение основанных на использовании нейронных сетей алгоритмов машинного обучения (MLA, Machine Learning Algorithm), на основе предыдущего опыта выбирающих правила и зависимости, по которым можно наилучшим образом рекомендовать одежду пользователю.
Основное ограничение такого подхода заключается в том, что такие системы требуют большого набора данных для обучения. Поэтому возможно первоначально использовать вышеописанную систему, а при накоплении достаточного количества
данных для обучения алгоритма MLA эвристический алгоритм может быть заменен описанным далее алгоритмом MLA. При этом рекомендации одежды с применением алгоритма MLA могут быть выработаны путем сопоставления размерных признаков пользователя как с размерной сеткой бренда, так и с результатами обмеров.
Алгоритм MLA может быть реализован в виде классификатора, на вход которого подаются размерные признаки пользователя, а с выхода снимаются скалярные значения, указывающие на вероятность того, что пользователю подойдет тот или иной размер того или иного бренда (или тот или иной конкретный предмет одежды).
Далее в качестве иллюстративного примера описаны принципы работы алгоритма MLA, реализующего рекомендацию размера бренда.
Алгоритм MLA основан на нейронной сети с двумя или более слоями. Необходимость реализации многослойной нейронной сети вызвана тем, что у разных брендов не совпадают размерные сетки. Многослойная структура нейронной сети позволяет разделить представление сети о размерных признаках пользователя и преобразование представления сети о размерных признаках пользователя в рекомендацию размера конкретного бренда.
В этом случае один слой, отвечающий за представление сети о размерных признаках пользователя, выполняет роль энкодера, а другой слой, отвечающий за преобразование представления сети о размерных признаках пользователя в рекомендацию размера конкретного бренда, выполняет роль декодера (см. фиг. 44). Роль энкодера могут выполнять несколько слоев нейронной сети. При этом энкодер и декодер могут обучаться раздельно. Это позволяет обучать энкодер на больших наборах обучающих данных, не зависящих от бренда, и обучать декодер на подмножестве обучающих данных, относящихся к тому или иному бренду. Тогда для ввода в систему нового бренда достаточно выполнить дообучение энкодера на новом наборе обучающих данных этого бренда и обучение декодера на новой части обучающих данных. Такой подход позволяет повысить точность рекомендаций и в то же время ускорить добавление в продуктовый ряд новых брендов, ускоряя срок их вывода на рынок (time to market).
Для первичного обучения нейронной сети (т.е. для обучения энкодера) может использоваться база данных, содержащая набор данных, содержащий совокупность размерных признаков одного человека, совокупность размеров одного предмета одежды и данные о том, подошел или не подошел этот предмет одежды этому человеку. Множество таких наборов данных может покрывать все типы фигур и комплекций пользователей и размерные ряды множества брендов. Типы фигур и комплекций в наборах обучающих
данных могут определяться с учетом национальных и/или региональных статистических данных о размерных признаках населения.
Последующее обучение нейронной сети может проводиться для одного или нескольких декодеров, каждый из которых включается лишь при подаче на энкодер набора обучающих данных, соответствующего этому декодеру (т.е. данных, относящихся к конкретному бренду). Таким образом, декодер проходит обучение на обучающих данных соответствующего бренда, а энкодер в конечном счете проходит обучение на полном наборе обучающих данных.
Обучение на данных конкретного бренда может проводиться на размеченных наборах обучающих данных. Каждый набор данных может содержать совокупность размерных признаков одного человека, совокупность размеров одного предмета одежды конкретного бренда и данные о том подошел или не подошел этот предмет одежды этому человеку. В другом варианте каждый набор данных может содержать один размерный признак одного человека, один размер одного предмета одежды конкретного бренда и данные о том, подошел или не подошел этот предмет одежды этому человеку.
В качестве альтернативы применению в нейронной сети слоев энкодера и декодера, алгоритм MLA может быть реализован в виде алгоритма градиентного бустинга дерева решений (GBRT, Gradient Boosted Decision Tree), основанного на деревьях решений, с использованием которых прогнозирующая модель формируется в виде леса деревьев решений. Лес строится поэтапно. Каждое последующее дерево решений такого леса фокусирует обучение на тех частях предыдущего дерева решений, которые привели к неоправдавшемуся прогнозу или к значительной ошибке. В целом, бустинг призван обеспечить повышение качества прогнозирования алгоритмом MLA. В этом случае система использует прогноз не одного обученного алгоритма (одного дерева решений), а множества обученных алгоритмов (леса деревьев решений) и принимает финальное решение на основе множества результатов прогнозирования этими алгоритмами.
5.7. Рекомендация одежды на основе изображений, получаемых пользователем самостоятельно
Для упрощения пользовательского опыта и для возможности развертывания системы рекомендации без использования стационарных сканеров может использоваться система подбора одежды на основе нескольких фотографий.
Такая система работает на основе нескольких фотографий пользователя, которые он может сделать самостоятельно, используя доступные ему устройства, как например смартфон или ноутбук с веб камерой. Дополнительно от пользователя требуется ввести несколько параметров, например, рост, вес и т.д.
Система получает на вход несколько изображений пользователя с разных ракурсов, например, в профиль и анфас. Данные изображения поступают на вход в сверточную нейросеть, которая преобразует данные изображения пользователя в сегментированную карту, где каждый пиксель имеет значение либо 0, либо 1. При этом значение 0 имеют пикселы, не относящиеся к человеку, а значение 1 - относящиеся к нему. После этого данные изображения подаются на вход сверточной нейронной сети, которая преобразует их в вектор признаков. После чего данному вектору ищется соответствие в кластеризованном пространстве параметрических моделей. Далее для данного кластера ищется соответствующий ему размер из размерной сетки или размер одежды из заранее сопоставленных этому кластеру.
Получение сегментационной карты изображения производится при помощи U Net- подобной сверточной нейронной сети, содержащей энкодер и декодер. На вход сети подается одно цветное изображение пользователя, а на выходе ожидается сегментационная карта. Подробное описание сети UNet можно найти по адресу https://arxiv.org/abs/1505.04597.
Для тренировки такой сети используется набор изображений, в котором каждому изображению соответствует точная сегментационная карта.
В качестве функции потерь используется взвешенная сумма
Loss = aD + bHr, где: D z i PiVi коэффициент сходства Дайса, li Pi+ Ii Vi нр =
- log (Pi) + (1 - уд - log(l - Pi) - бинарная кросс-энтропия, р - предсказанное значение, у - реальное значение, а и b - скалярные коэффициенты, выбираемые методом перебора параметров.
Допустим, что на вход нейросети поступают N изображений размером CcU><3, где 3 - количество цветов в пикселе. В таком случае нейросеть выступает как оператор преобразования Г: Ж U, где X - пространство изображений, a U - пространство вектора признаков.
Само получение вектора признаков производится нейросетью обычной архитектуры. Для этого берется обычный энкодер, состоящих из ряда сверточных слоев, к примеру, ResNet, Inception, или MobileNet. Выходные данные разглаживаются энкодером в вектор и подаются на полносвязный слой. Выходные данные этого полносвязного слоя представляют собой вектор признаков.
Нейросеть с любыми не полностью нулевыми значениями весов будет выполнять извлечение вектора признаков. Тем не менее, лучшее соответствие кластерам достигается
если нейросеть обучена на соответствующем наборе данных, содержащем изображения, подобные тем, что будут подаваться на вход.
Поэтому нейросеть тренируется на существующих сканах, дополненных случайным шумом в параметрах позы модели. При этом подготовка одного набора данных производится по следующему алгоритму.
1. Выбирается один скан человека и вписанная в него параметрическая модель.
2. К параметрам фигуры данной параметрической модели добавляется случайный шум с заранее вычисленными параметрами. Эти параметры вычисляются таким образом, чтобы распределение было похоже на распределение реальных параметров позы из набора данных.
3. Выбирается случайная поза модели из всего набора данных и к ней так же добавляется случайный шум.
4. Модель ставится в центр координат.
5. Инициализируется камера с случайными параметрами сх, Су, fx, и fy.
6. Камера позиционируется таким образом, чтобы модель смотрела строго на камеру.
7. К модели применяется случайное небольшое смещение.
8. К позиции камеры, к точке наблюдения и к вектору, смотрящему вправо в системе координат камеры, применяются малые случайные преобразования.
9. Производится рендеринг данной модели.
10. Камера поворачивается на случайный угол от -100° до -80° или от 80° до 100° вокруг модели и повторяются действия по пунктам 7, 8, и 9.
При этом модель рендерится в бинарную маску, где каждый пиксель имеет значение либо 0, либо 1, где 0 означает, что пиксель принадлежит фону, а 1 - означает, что пиксель принадлежит модели. Эти изображения в дальнейшем подаются на вход нейросети.
После тренировки нейросети производится тренировка алгоритма, ставящего кластер в соответствие вектору признаков.
Поскольку для каждого кластера в соответствие ставится параметрическая модель, то тренировка сопоставляющего алгоритма производится на наборе данных, полученных следующим образом.
1. На вход нейросети подается модель.
2. По параметрам этой модели производится поиск номера кластера.
3. Параметры найденного кластера составляют пару с вектором признаков.
С использованием полученного набора данных становится возможной валидация алгоритмов сопоставления векторов признаков и кластеров.
5.8. Поиск подходящих предметов одежды
Поиск предметов одежды, пошитых с применением отобранных производственных моделей, выполняется любым подходящим способом. Реализация любого такого способа вполне очевидна для специалиста, поэтому его описание опущено для краткости. Достаточно сказать, что для этого необходимо, чтобы для каждого предмета одежды была доступной информация о производственной модели, использованной при его проектировании и/или раскрое.
Порядок выдачи этих предметов одежды может зависеть от величины функции расхождения Т (формула 34) или может определяться пользователем на основе личных предпочтений. Интерфейс системы дистанционного выбора одежды может предусматривать оперативное переключение принципа формирования порядка выдачи предметов одежды. Такое переключение может выполняться пользователем вручную (например, если порядок, установленный по умолчанию, не обеспечивает достаточно релевантную выдачу) или автоматически (например, на основе анализа статистики действий пользователя).
Также поиск подходящих предметов одежды может осуществляться с помощью типирования фигуры, описанного в разделе 4.2 выше, что позволяет подбирать предметы одежды не просто в соответствии с параметрами тела (чтобы, например, одежда не жала и не давила, или, наоборот, не висела мешкообразно), но и в соответствии с типажом тела (чтобы одежда стилистически украшала фигуру), рекомендуя, например, женщинам с фигурой, классифицируемой как «груша», платья типа empire line и предметы одежды, визуально увеличивающие плечи (с помощью наплечников, пышных рукавов, болеро и пр.) и т.п. (см., например, типовые стилистические рекомендации одежды для 7 типов фигур на страницах https:/7wv w .joyofdothes.com/styie-advice/shape-guides/body-shapes- overview.php или в аналогичных справочниках стилистов).
5.9. Визуализация найденных предметов одежды
Визуализация предметов одежды, для которых известна использованная производственная модель, также представляет собой тривиальную задачу для специалиста, поэтому описание ее практической реализации опущено для краткости. Достаточно упомянуть, что предмет одежды может визуализироваться как таковой (т.е. без изображения манекена или изображения человека) или он может визуализироваться на манекене или на человеке.
В частности, один из вариантов осуществления изобретения может предусматривать визуализацию предмета одежды на 3D- модели самого пользователя, причем рендеринг изображения может включать в себя воспроизведение реалистичного
изображения головы пользователя для усиления эмоционального эффекта. При этом 3D- модель головы, включая лицо и прическу пользователя, может не являться частью модели тела пользователя в том смысле, в котором это описано в описании алгоритма, и может предназначаться исключительно для декоративных целей.
Интерфейс системы дистанционного выбора одежды может предусматривать оперативное переключение принципа визуализации одежды. Как и в отношении порядка выдачи результатов поиска предметов одежды, такое переключение может выполняться пользователем вручную (например, если пользователь желает рассмотреть внутренность (подкладку) одежды, он может отключить визуализацию манекена или человека) или автоматически (например, на основе анализа статистики действий пользователя).
Интерфейс системы дистанционного выбора одежды может предусматривать управление пользователем визуализацией с помощью органов управления путем изменения ракурса, приближения или удаления изображения и т.п., чтобы позволить пользователю должным образом рассмотреть одежду.
Как упомянуто ранее, визуализация одежды возможна на разном ситуационном фоне (который может быть выбран из библиотеки или может быть загружен самим пользователем), при освещении с разных точек (в частности, с выбором количества и/или положения виртуальных светильников), с разной интенсивностью, с разной диффузностью (например, свет может быть направленный или рассеянный) и/или с разным спектром (например, свет может быть искусственным, дневным, вечерним, имитировать восходящее или закатное солнце) и т.д. Интерфейс системы дистанционного выбора одежды может предусматривать управление пользователем всеми этими возможностями. Реализация этих возможностей также не вызовет у специалистов заметных трудностей, поэтому подробности соответствующих технических решений опущены для краткости.
6. Совершение выбора и покупки выбранных предметов одежды
После оценки предложенных вариантов одежды пользователь может сделать выбор и совершить покупку традиционным способом. Принципы работы интернет-магазинов хорошо известны в данной области техники, поэтому подробности соответствующих технических решений также опущены для краткости.
Следует отметить, что описанная выше технология может применяться не только при дистанционной продаже предметов одежды (например, в интернет-магазине), но и при дистанционном прокате одежды (например, официальной или нарядной одежды для торжеств и т.п.). Более того, описанная выше технология с небольшими изменениями может применяться для дистанционного выбора других товаров, отличных от одежды
(например, товаров медицинского назначения - корсетов, бандажей и т.п., требующих соответствия фигуре пациента).
Также стоит отметить, что пользователь может совершить покупку или аренду не только дистанционным образом (онлайн, через интернет), но и в оффлайновом магазине или салоне. В данном случае также возможна помощь ассистента, приносящего вещи пользователю после выбора этих вещей пользователем в интерфейсе приложения. Ассистент при этом может как передавать вещи в руки пользователю, так и использовать специальные ячейки (ящики, корзины и пр.), благодаря чему ассистент не видит пользователя (что может быть удобно, например, в том случае, если пользователь находится в примерочной и в настоящий момент раздет). Также ассистент может быть как человеком, так и роботизированной системой.
7. Система для дистанционного выбора одежды
Далее описана система, реализующая описанный выше алгоритм дистанционного выбора одежды.
Система для осуществления дистанционного выбора одежды содержит вычислительные устройства, выполняющие действия описанного выше алгоритма дистанционного выбора одежды. Кроме того, эта система может содержать упомянутое выше в описании оборудование для оптического сканирования тела пользователя, используемое на начальном этапе работы алгоритма.
В частности, в среде бизнес-потребитель (В2С, Business-to-Customer) система содержит оборудование потенциального пользователя, далее именуемое устройством пользователя, и оборудование поставщика услуг, связанных с дистанционным выбором одежды.
У стройство пользователя может представлять собой любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения соответствующей задачи. Некоторые (не имеющие ограничительного характера) примеры устройств пользователя включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование (маршрутизаторы, коммутаторы, шлюзы и т.п.).
Оборудование поставщика услуг также может представлять собой любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения соответствующей задачи. Некоторые (не имеющие ограничительного характера) примеры включают в себя отдельные компьютеры и компьютерные системы. Компьютерные системы могут быть сосредоточенными или распределенными.
В среде бизнес-бизнес (В2В, Business-to-Business) система может содержать дополнительное звено, условно именуемое оборудованием ретейлера, функционально связанное с устройством пользователя и с оборудованием поставщика услуг. В этом случае алгоритм дистанционного выбора одежды большей частью может выполняться оборудованием ретейлера и оборудованием поставщика услуг, а устройство пользователя может использоваться преимущественно в терминальном режиме, например, для визуализации и/или для приема команд управления через интерфейс пользователя.
В некоторых вариантах осуществления изобретения система может иметь клиент- серверную архитектуру, при этом устройство пользователя может быть клиентским устройством, а оборудование поставщика услуг может включать в себя серверное устройство. Здесь термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от клиентских устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Термин «клиент» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную формировать запросы к серверу, получать ответ от сервера и обрабатывать его.
Следует отметить, что устройство, функционирующее как клиентское устройство, также может функционировать как серверное устройство для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса, либо результатов любых задач или запросов, либо шагов любого описанного здесь способа.
В других вариантах осуществления изобретения система может иметь одноранговую архитектуру, например, основанную на пиринговой сети. Система также может иметь любую гибридную архитектуру.
На фиг. 34 представлен иллюстративный пример системы (20) для осуществления дистанционного выбора одежды в среде В2С, содержащей устройство (21) пользователя, выполняющее программу (22), и оборудование (23) поставщика услуг, выполняющее программу (24). Устройство (21) пользователя соединено с оборудованием (23) поставщика услуг через сетевое соединение (25). В некоторых вариантах осуществления изобретения сетевое соединение (25) может быть реализовано с использованием сети Интернет. В других вариантах осуществления изобретения сетевое соединение (25) может быть реализовано с использованием любой глобальной сети связи, локальной сети связи, частной сети связи и т.п. Реализация сетевого соединения (25) зависит, среди прочего, от реализации устройства (21) пользователя и оборудования (23) поставщика услуг. Система
(20) функционально связана с системой (30) поставщика одежды. В некоторых вариантах осуществления изобретения системы (20) и (30) могут быть объединены в одну систему. В других вариантах осуществления изобретения система (20) может быть функционально связана с несколькими системами (30) различных поставщиков одежды.
На фиг. 35 представлен другой иллюстративный пример системы (20) для осуществления дистанционного выбора одежды в среде В2В, в котором в состав системы
(20) входит оборудование (26) ретейлера, выполняющее программу (28), связанное с оборудованием (23) поставщика услуг через сетевое соединение (25), а с устройством (21) пользователя - через локальное сетевое соединение (27).
В качестве примера, в тех вариантах осуществления изобретения, где устройство
(21) пользователя реализовано как беспроводное устройство связи (например, как смартфон), сетевое соединение (25) может быть реализовано с использованием беспроводной линии связи (например, канала сети связи 3G, канала сети связи 4G, WiFi, Bluetooth и т.п.). В других вариантах осуществления изобретения, где устройство (21) пользователя реализовано как удаленный компьютер, сетевое соединение (25) может быть реализовано с использованием беспроводной линии связи (такой как WiFi, Bluetooth и т.д.), проводной линии связи или оптической линии связи (такой как соединение по сети Ethernet). Подобным образом может быть реализовано и сетевое соединение (27).
На фиг. 34 и фиг. 35 для упрощения показано лишь одно устройство (21) пользователя, одна единица оборудования (23) поставщика услуг и одна система (30) поставщика одежды. На практике система (20) может содержать множество устройств (21) пользователя (например, сотни, тысячи или миллионы таких устройств), множество оборудования (23) поставщика услуг (например, десятки или сотни региональных площадок поставщика услуг) и может быть связана со множеством систем (30) поставщиков одежды (например, с десятками или сотнями поставщиков одежды). При этом программная реализация алгоритма дистанционного выбора одежды распределена между программами (22), (24) и (28). На фиг. 34 и фиг. 35 для упрощения не показано оборудование для оптического сканирования тела пользователя.
Следует отметить, что в приведенном выше описании отражены лишь те действия, которые наиболее существенны для достижения цели изобретения. Специалисту должно быть понятно, что для функционирования системы (20) следует выполнить и другие необходимые действия, например, подключение оборудования, его инициализацию, запуск соответствующего программного обеспечения, передачу и прием команд и подтверждений, обмен служебными данными, синхронизацию и т.п., описание которых опущено для краткости.
Устройства и их части, упомянутые в описании, чертежах и формуле изобретения, представляют собой программно-аппаратные средства, при этом аппаратные части одних устройств могут отличаться, частично совпадать или полностью совпадать с аппаратными частями других устройств, если иное не указано в явном виде. Аппаратные части устройств могут располагаться в различных частях других устройств, если иное не указано в явном виде. Программные части (модули) могут быть реализованы в виде программного кода, содержащегося в запоминающем устройстве любого вида.
Последовательность действий в описании способа носит иллюстративный характер и в различных вариантах реализации изобретения эта последовательность может отличаться от описанной при условии сохранения выполняемой функции и достигаемого результата.
Признаки данного изобретения могут сочетаться в различных вариантах реализации изобретения, если они не противоречат друг другу. Описанные выше варианты реализации изобретения приведены исключительно с иллюстративной целью и не предназначены для ограничения объема настоящего изобретения, определяемого формулой изобретения. Все разумные модификации, модернизации и эквивалентные замены в составе, конструкции и принципе действия настоящего изобретения, выполненные в пределах его сущности, входят в объем данного изобретения.
Ниже приведены информационные источники, все содержимое которых включено в данную заявку посредством ссылки.
Источники
А1. Brett Allen, Curless Brian, Popovic Zoran, Hertzmann Aaron. Learning a correlated model of identity and pose-dependent body shape variation for real-time synthesis. Eurographics/SIGGRAPH Symposium on Computer Animation 2006, DOI:
10.2312/SCA/SCA06/147-156.
A2. Dragomir Anguelov, Praveen Srinivasan, Daphne Roller, Sebastian Thrun, Jim Rodgers, James Davis. SCAPE: shape completion and animation of people. ACM SIGGRAPH 2005 Papers, pp. 408-416, DOI: 10.1145/1186822.1073207.
A3. Alexandru O. Balan. Detailed Human Shape and Pose from Images. Doctoral Theses, Department of Computer Science at Brown University, Providence, Rhode Island, May 2010
A4. Ilya Baran, Jovan Popovic. Automatic rigging and animation of 3D characters. ACM SIGGRAPH 2007 papers, article 72, DOI: 10.1145/1275808.1276467.
A5. Federica Bogo, Javier Romero, Matthew Loper, Michael J. Black. FAUST: Dataset and evaluation for 3D mesh registration. IEEE Conference on Computer Vision and Pattern Recognition, Columbus, OH, USA, 23-28 June 2014, DOI: 10.1109/CVPR.2014.491.
A6. Federica Bogo, Angjoo Kanazawa, Christoph Lassner, Peter Gehler, Javier Romero, Michael J. Blac. Keep it SMPL: Automatic Estimation of 3D human pose and shape from a single image. Computer Vision - ECCV 2016: 14th European Conference, Amsterdam, The Netherlands, October 11-14, 2016, Proceedings, Part V (pp.561-578), DOI: 10.1007/978-3-319- 46454-l_34.
A7. Zhi-Quan Cheng, Yin Chen, Ralph R. Martin, Tong Wu, Zhan Song. Parametric modeling of 3D human body shape - a survey. Computers & Graphics. Volume 71, April 2018, pp. 88-100, DOI: 10.1016/j.cag.2017.11.008.
A8. Nils Hasler, Carsten Stoll, Martin Sunkel, Bodo Rosenhahn, Hans-Peter Seidel. A statistical model of human pose and body shape. Computer Graphics Forum (Proc. Eurographics 2009), Munich, Germany, March 2009, DOI: 10.1111/j.1467-8659.2009.01373.x.
A9. Doug L. James, Christopher D. Twigg. Skinning mesh animations. ACM Transactions on Graphics (SIGGRAPH 2005), Volume 24, Issue 3, July 2005, pp. 399-407,
DOI: 10.1145/1186822.1073206.
A10. Ladislav Kavan, Steven Collins, Jiri Zara, Carol O'Sullivan. Geometric skinning with approximate dual quaternion blending. ACM Transactions on Graphics (TOG) Volume 27 Issue 4, October 2008, Article No. 105, DOI: 10.1145/1409625.1409627.
All. Zorah Lahner, Daniel Cremers, Tony Tung. DeepWrinkles: Accurate and Realistic Clothing Modeling. Computer Vision - ECCV 2018, pp. 698-715, DOI: 10.1007/978-3-030- 01225-0_41.
A12. Binh Huy Le, Zhigang Deng. Robust and accurate skeletal rigging from mesh sequences. ACM Transactions on Graphics (TOG) Volume 33, Issue 4, July 2014, Article No. 84, DOI: 10.1145/2601097.2601161.
A13. J. P. Lewis, Matt Cordner, Nickson Fong. Pose space deformation: a unified approach to shape interpolation and skeleton-driven deformation. SIGGRAPH Ό0. Proceedings of the 27th annual conference on Computer graphics and interactive techniques, pp. 165-172, DOI: 10.1145/344779.344862.
A14. Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, Michael J. Black. SMPL: A skinned multi-person linear model. ACM Transactions on Graphics (TOG) Volume 34 Issue 6, November 2015 Article No. 248, DOI: 10.1145/2816795.2818013.
A15. Akihiko Murai, Yui Endo, Mitsunori Tada. Anatomographic volumetric skin- musculoskeletal model and its kinematic deformation with surface-based SSD. IEEE Robotics and Automation Letters, Volume: 1, Issue: 2, July 2016, pp. 1103-1109, DOI:
10.1109/LRA.2016.2524069.
A16. Leonid Pishchulin, Stefanie Wuhrer, Thomas Helten, Christian Theobalt, Bernt SchieleBuilding statistical shape spaces for 3D human modeling. Pattern Recognition, Volume 67, July 2017, Pp. 276-286, DOT 10.1016/j.patcog.2017.02.018.
A17. Thomas Probst, Andrea Fossati, Mathieu Salzmann, Luc Van Gool. Efficient model-free anthropometry from depth data. 2017 International Conference on 3D Vision (3DV), Qingdao, China ,10-12 October 2017, DOT 10.1109/3DV.2017.00062.
A18. Yassir Saquil, Qun-Ce Xu, Yong-Liang Yang, Peter Hall. Rank3DGAN: Semantic mesh generation using relative attributes https://arxiv.org/abs/1905.10257.
A19. Hyewon Seo, Frederic Cordier, Nadia Magnenat-Thalmann. Synthesizing animatable body models with parameterized shape modifications. Proceedings of the 2003 ACM SIGGRAPH/Eurographics symposium on Computer animation, pp. 120-125, DOT 10.2312/SCA03/120-125.
A20. Chang Shu, Stefanie Wuhrer, Pengcheng Xi. 3D anthropometric data processing. Int. J. Human Factors Modelling and Simulation, Vol. 3, No. 2, 2012, DOT 10.1504/IJHFMS.2012.051093.
A21. Miroslava Slavcheva, Maximilian Baust, Slobodan Шс. SobolevFusion: 3D reconstruction of scenes undergoing free non-rigid motion. IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT, USA, 18-23 June 2018,
DOT 10.1109/C VPR.2018.00280.
A22. Qiaosong Wang, Vignesh Jagadeesh, Bryan Ressler, Robinson Piramuthu. Im2Fit: Fast 3D model fitting and anthropometries using single consumer depth camera and synthetic data. Electronic Imaging, 3D Image Processing, Measurement (3DIPM), and Applications 2016, pp. 3DIPM-045.1-3DIPM-045.7, DOT 10.2352/ISSN.2470-1173.2016.21.3DIPM-045.
A23. Ofir Weber, Olga Sorkine, Yaron Lipman, Craig Gotsman. Context-aware skeletal shape deformation. Computer Graphics Forum, Volume 26, Issue 3, September 2007, pp. 265- 274, DOT 10.1111/j.1467-8659.2007.01048.x.
A24. Yipin Yang, Yao Yu, Yu Zhou, Sidan Du, James Davis, Ruigang Yang. Semantic parametric reshaping of human body models. 2nd International Conference on 3D Vision,
Tokyo, Japan, 8-11 December 2014, DOT 10.1109/3DV.2014.47.
A25. Mao Ye, Xianwang Wang, Ruigang Yang, Liu Ren, Marc Pollefeys. Accurate 3D pose estimation from a single depth image. 2011 International Conference on Computer Vision, Barcelona, Spain, 6-13 November 2011, DOT 10.1109/ICCV.2011.6126310.
A26. Tao Yu, Kaiwen Guo, Feng Xu, Yuan Dong, Zhaoqi Su, Jianhui Zhao, Jianguo Li, Qionghai Dai, Yebin Liu. BodyFusion: Real-time capture of human motion and surface
geometry using a single depth camera. IEEE International Conference on Computer Vision (ICCV), Venice, Italy, 22-29 October 2017, DOI: 10.1109/ICCV.2017.104.
A27. Tao Yu, Zerong Zheng, Kaiwen Guo, Jianhui Zhao, Qionghai Dai, Hao Li, Gerard Pons-Moll, Yebin Liu. DoubleFusion: Real-Time capture of human performances with inner body shapes from a single depth sensor. IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT, USA, 18-23 June 2018, DOI: 10.1109/ CVPR.2018.00761.
A28. Chao Zhang, Sergi Pujades, Michael J. Black, Gerard Pons-Moll. Detailed, accurate, human shape estimation from clothed 3D scan sequences. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp. 4191-4200, DOI:
10.1109/CVPR.2017.582.
A29. Yingliang Zhang, Xi Luo, Wei Yang, Jingyi Yu. Fragmentation guided human shape reconstruction. IEEE Access, Volume 7, pp. 45651-45661, DOI:
10.1109/ACCESS.2019.2905879.
A30. Zerong Zheng, Tao Yu, Hao Li, Kaiwen Guo, Qionghai Dai, Lu Fang, Yebin Liu. HybridFusion: Real-time performance capture using a single depth sensor and sparse IMUs. The European Conference on Computer Vision (ECCV), 2018, part 9, pp. 389-406, DOI:
10.1007/978-3-030-01240-3_24.
BE Tao Yu, Zerong Zheng, Kaiwen Guo, Jianhui Zhao, Qionghai Dai, Hao Li, Gerard Pons-Moll, Yebin Liu. DoubleFusion: Real-Time capture of human performances with inner body shapes from a single depth sensor. IEEE/CVF Conference on Computer Vision and Pattern Recognition, 18-23 June 2018, Salt Lake City, UT, USA, DOI:10.1109/ CVPR.2018.00761.
B2. Richard A. Newcombe, Shahram Izadi, Otmar Hilliges, David Molyneaux, David Kim, Andrew J. Davison, Pushmeet Kohi, Jamie Shotton, Steve Hodges, Andrew Fitzgibbon. Kinectfusion: Real-time dense surface mapping and tracking. 10th IEEE International Symposium on Mixed and Augmented Reality, 26-29 October 2011, Basel, Switzerland, DOI: 10.1109/ISMAR.2011.6092378.
B3. Sylvain Paris, Pierre Kornprobst, Jack Tumblin, Fredo Durand. Bilateral filtering: Theory and applications Foundations and Trends in Computer Graphics and Vision, Vol. 4, No.
1 (2009), Pp. 1-73, DOI: 10.1561/0600000020.
B4. Конушин А. Геометрические свойства нескольких изображений // Компьютерная графика и мультимедиа, 2006, N°. 4, С. 3.
В5. Гузов В. В. Вычисление параметров позы и формы трехмерной модели человека по данным сенсора глубины // Сборник тезисов XXVI Международной научной конференции студентов, аспирантов и молодых ученых "Ломоносов-2019": секция
"Вычислительная математика и кибернетика". - М.: Издательский отдел факультета ВМК МГУ, 2019, С. 45-47.
В6. Richard A. Newcombe, Dieter Fox, Steven M. Seitz. DynamicFusion: Reconstruction and tracking of non-rigid scenes in real-time. Conference on Computer Vision and Pattern Recognition (CVPR), 7-12 June 2015, Boston, MA, USA, DOI: 10.1109/CVPR.2015.7298631.
B7. Ladislav Kavan, Steven Collins, Jiri Zara, Carol O'Sullivan. Skinning with dual quaternions. Symposium on Interactive 3D Graphics, SI3D 2007, April 30 - May 2, 2007,
Seattle, Washington, USA, DOI: 10.1145/1230100.1230107.
B8. Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, Michael J. Black. SMPL: A skinned multi-person linear model. ACM Transactions on Graphics (TOG), Volume 34, Issue 6, November 2015, Article No. 248, DOI: 10.1145/2816795.2818013.
B9. Robinette K. M., Daanen H., Paquet E. The CAESAR project: a 3-D surface anthropometry survey. Second International Conference on 3-D Digital Imaging and Modeling, 8 October 1999, Ottawa, Ontario, Canada, DOI: 10.1109/EM 1999.805368.
B10. Kirk MacTavish, Timothy D. Barfoot. At all costs: A comparison of robust cost functions for camera correspondence outliers. 12th Conference on Computer and Robot Vision, 3-5 June 2015, Halifax, NS, Canada, DOI: 10.1109/CRV.2015.52.
BIT Jose Luis Blanco Claraco. A tutorial on SE(3) transformation parameterizations and on-manifold optimization. University of Malaga, Technical report #012010, 2010, Last update: 18/03/2019.
B12. Ake Bjorck. Numerical methods for least squares problems. Linkoping University, Linkoping, Sweden, 1996, DOI: 10.1137/1.9781611971484.
B13. Hestenes M.R., Stiefel E. Methods of Conjugate Gradients for Solving Linear Systems. Journal of Research of the National Bureau of Standards, 49, pp. 409-435, DOI: 10.6028/jres.049.044.
В 14. Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, Michael J. Black. SMPL: A skinned multi-person linear model. ACM Transactions on Graphics (TOG) Volume 34 Issue 6, November 2015 Article No. 248, DOI: 10.1145/2816795.2818013
В 15. Leonid Pishchulin, Stefanie Wuhrer, Thomas Helten, Christian Theobalt, Bemt Schiele. Building statistical shape spaces for 3D human modeling. Pattern Recognition, Volume 67, July 2017, Pages 276-286, DOI: 10.1016/j.patcog.2017.02.018
В 16. Allen Brett, Curless Brian, Popovic Zoran. Articulated body deformation from range scan data. ACM Transactions on Graphics (TOG), Volume 21 Issue 3, July 2002, Pages 612-619, DOI: 10.1145/566570.566626.
В 17. Dragomir Anguelov, Praveen Srinivasan, Daphne Roller, Sebastian Thrun, Jim Rodgers, James Davis. SCAPE: shape completion and animation of people. ACM SIGGRAPH 2005 Papers, Pages 408-416, DOI: 10.1145/1186822.1073207.
В 18. David A. Hirshberg, Matthew Loper, Eric Rachlin, Michael J. Black.
Coregistration: Simultaneous Alignment and Modeling of Articulated 3D Shape. In: Fitzgibbon A., Lazebnik S., Perona P., Sato Y., Schmid C. (eds) Computer Vision - ECCV 2012. ECCV 2012. Lecture Notes in Computer Science, vol. 7577, Springer, Berlin, Heidelberg, DOI: 10.1007/978-3-642-33783-3_18.
В 19. Aijun Jain, Thorsten Thormahlen, Hans-Peter Seidel, Christian Theobalt. MovieReshape: Tracking and Reshaping of Humans in Videos. ACM Transactions on Graphics (TOG), Volume 29, Issue 6, December 2010, Article No. 148, DOI:10.1145/1866158.1866174.
B20. Kathleen M. Robinette, Sherri Blackwell, Hein Daanen, Mark Boehmer, Scott Fleming. Civilian American and European Surface Anthropometry Resource (CAESAR), Final Report. Volume 1. Summary. 2002, DOI: 10.21236/ada406704.
B21. Wuhrer Stefanie, Shu Chang, Xi Pengcheng. Posture-invariant statistical shape analysis using Laplace operator. Computers & Graphics, 36(5), August 2012, Pages 410-416, DOI: 10.1016/j.cag.2012.03.026.
B22. Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan, Edward Yang, Zachary DeVito, Zeming Lin, Alban Desmaison, Luca Antiga, Adam Lerer. Automatic differentiation in PyTorch. 31st Conference on Neural Information Processing Systems (NIPS 2017), 4-9 December, 2017, Long Beach, CA, USA.
B23. ISO 8559-1:2017 Size designation of clothes. Part 1: Anthropometric definitions for body measurement.
B24. ISO 8559-2:2017 Size designation of clothes. Part 2: Primary and secondary dimension indicators.
B25. ISO 7250-1:2017 Basic human body measurements for technological design. Part 1: Body measurement definitions and landmarks.
B26. ISO/TR 7250-2:2017 Basic human body measurements for technological design. Part 2: Statistical summaries of body measurements from national populations.
B27. ISO 7250-3:2017 Basic human body measurements for technological design. Part 3: Worldwide and regional design ranges for use in product standards.
B28. ГОСТ 17522-72 Типовые фигуры женщин. Размерные признаки для проектирования одежды.
В29. ГОСТ 31396-2009 Классификация типовых фигур женщин по ростам, размерам и полнотным группам для проектирования одежды.
B30. ОСТ 17-326-81 Изделия швейные, трикотажные, меховые. Типовые фигуры женщин. Размерные признаки для проектирования одежды.
В31. Daisy Veitch. Where is the human waist? Definitions, manual compared to scanner measurements. Work 41 (2012), pp. 4018-4024, DOT 10.3233/WOR-2012-0065-4018.
B32. Гузов Владимир Владимирович. Построение трехмерной модели человека по видео с сенсора глубины. Магистерская диссертация. Факультет вычислительной математики и кибернетики Федерального государственного бюджетного образовательного учреждения высшего образования «Московский государственный университет имени М.
В. Ломоносова», кафедра Интеллектуальных информационных технологий, защита 01.06.2019.
ВЗЗ. Петров Илья Алексеевич. Нейросетевой алгоритм восстановления параметров 3D модели фигуры и позы человека по изображениям. Магистерская диссертация. Факультет вычислительной математики и кибернетики Федерального государственного бюджетного образовательного учреждения высшего образования «Московский государственный университет имени М. В. Ломоносова», кафедра Интеллектуальных информационных технологий, защита 01.06.2019.
В34. Патакин Николай. Разработка параметрической 3D модели тела человека. Федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет «Высшая школа экономики», Факультет компьютерных наук, защита 06.06.2019.
В35. Balan А. О. et al. Detailed human shape and pose from images. // 2007 ШЕЕ Conference on Computer Vision and Pattern Recognition. - ШЕЕ, 2007, pp. 1-8.
B36. He K. et al. Identity mappings in deep residual networks. //European conference on computer vision. - Springer, Cham, 2016, pp. 630-645.
B37. Kanazawa A. et al. End-to-end recovery of human shape and pose // The ШЕЕ Conference on Computer Vision and Pattern Recognition (CVPR), 2018.
B38. Krizhevsky A., Sutskever I., Hinton G. E. Imagenet classification with deep convolutional neural networks. // Advances in neural information processing systems, 2012, pp. 1097-1105.
B39. Loper M. et al. SMPL: A skinned multi-person linear model. // ACM Transactions on Graphics (TOG), 2015, Vol. 34, No. 6, p. 248.
B40. Pavlakos G. et al. Learning to estimate 3D human pose and shape from a single color image //Proceedings of the ШЕЕ Conference on Computer Vision and Pattern Recognition, 2018, pp. 459-468.
B41. Tan V., Budvytis I., Cipolla R. Indirect deep structured learning for 3d human body shape and pose prediction, 2018.
Cl. Xuaner Cecilia Zhang, Lam Yuk Wong. Virtual fitting: real-time garment simulation for online shopping. ACM SIGGRAPH 2014 Posters, July 2014, Article No. 41, DOT 10.1145/2614217.2633388.
C2. Amit Raj, Patsorn Sangkloy, Huiwen Chang, James Hays, Duygu Ceylan, Jingwan Lu. SWAPNET: image based garment transfer. In: Ferrari V., Hebert M., Sminchisescu C., Weiss Y. (eds) Computer Vision - ECCV 2018. ECCV 2018. Lecture Notes in Computer Science, vol. 11216, DOI: 10.1007/978-3-030-01258-8_41.
C3. Igor Santesteban, Miguel A. Otaduy, Dan Casas. Learning-based animation of clothing for virtual try-on. Eurographics 2019 (submitted on 17 Mar 2019), DOI:
10.1111/cgf.13643.
C4. Luo Ronglei; He Wenjie; Li Chengyi. An algorithm based on wavelet neural network for garment size selection. Telkomnika . Dec 2014, Vol. 12, Issue 4, pp. 1073-1078, DOI: 10.12928/TELKOMNIKA.vl2i4.788.
C5. Suthar Dhruvi J. A review on virtual try and suggest system. Journal of the Gujarat Recearch Society Vol. 21, Issue 13, Dec 2019.
C6. Guan, Congying, Qin, Sheng-feng, Ling, Wessie and Ding, Guofu. Apparel recommendation system evolution: An empirical review. International Journal of Clothing Science and Technology, 28 (6). pp. 854-879, DOI: 10.1108/IJCST-09-2015-0100.
C7. Haoye Dong, Xiaodan Liang, Xiaohui Shen, Bochao Wang, Hanjiang Lai, Jia Zhu, Zhiting Hu, Jian Yin. Towards multi-pose guided virtual try-on network. IEEE International Conference on Computer Vision (ICCV), 2019, pp. 9026-9035.
C8. Bochao Wang, Huabin Zheng, Xiaodan Liang, Yimin Chen, Liang. Lin, Meng Yang. Toward characteristic-preserving image-based virtual try-on network. European Conference on Computer Vision, September 8 - 14, 2018, DOI: 10.1007/978-3-030-01261-8_36.
C9. Thanasiri Muttulingam. A neural network approach to the virtual dressing room. Master’s thesis, Department of Systems and Computer Engineering, the Faculty of Graduate Studies and Research, Ottawa-Carleton Institute for Electrical and Computer Engineering, 2007.
CIO. J. Q. Yan, V. E. Kuzmichev. Virtual technology of made-to-measure men shirt. IOP Conference Series: Materials Science and Engineering, Volume 460, conference 1, DOI:
10.1088/1757-899X/460/1/012014.
Cl 1. Ruiyun Yu, Xiaoqi Wang, Xiaohui Xie. VTNFP: An image-based virtual try-on network with body and clothing feature preservation. The IEEE International Conference on Computer Vision (ICCV), 2019, pp. 10511-10520.
C12. Chia-Wei Hsieh, Chieh-Yun Chen, Chien-Lung Chou, Hong-Han Shuai, Jiaying Liu, Wen-Huang Cheng. FashionOn: Semantic-guided image-based virtual try-on with detailed human and clothing information. Proceedings of the 27th ACM International Conference on Multimedia October 2019, pp. 275-283, DOI: 10.1145/3343031.3351075.
C13. Taleb Alashkar, Songyao Jiang, Shuyang Wang, Yun Fu. Examples-rules guided deep neural network for makeup recommendation. Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence 2017, Pages 941-947.
Cl 4. Hyug Jae Lee, Rokkyu Lee, Minseok Kang, Myounghoon Cho, Gunhan Park. LA- VITON: A network for looking-attractive virtual try-on. The IEEE International Conference on Computer Vision (ICCV), 2019.
Cl 5. Surgan Jandial, Ayush Chopra, Kumar Ayush, Mayur Hemani, Abhijeet Kumar, Balaji Krishnamurthy SieveNet: A unified framework for robust image-based virtual try-on. Accepted at IEEE WACV 2020 (Submitted on 17 Jan 2020).
Cl 6. Pascal Volino, Frederic Cordier, Nadia Magnenat-Thalmann . From early virtual garment simulation to interactive fashion design. Computer-Aided Design 37 (2005) pp. 593- 608, DOI: 10.1016/j.cad.2004.09.003.
C17. Шанцева О. А., Петросова И.А., Андреева Е.Г., Иванова А.А. Исследование существующих систем виртуальной примерки одежды. Современные проблемы науки и образования, N° 2-3, 2015, стр. 10.
Claims
1. Способ дистанционного выбора одежды, включающий в себя:
- определение размерных признаков человека;
- определение размерных признаков одного или нескольких предметов одежды;
- сопоставление размерных признаков человека с размерными признаками одного или нескольких предметов одежды для определения степени соответствия человеку этих предметов одежды;
- опционально визуализация предмета одежды;
- совершение выбора предмета одежды.
2. Способ по и. 1, в котором определение размерных признаков человека включает в себя формирование параметрической модели человека.
3. Способ по и. 2, в котором параметрическая модель человека формируется на основе геометрической модели человека.
4. Способ по и. 2, в котором параметрическая модель человека формируется на основе данных физического обмера тела человека.
5. Способ по и. 2, в котором параметрическая модель человека формируется на основе данных анкетирования.
6. Способ по и. 2, в котором параметрическая модель человека формируется на основе данных двумерного изображения.
7. Способ по и. 2, в котором параметрическая модель человека формируется на основе данных физического обмера эталонного предмета одежды.
8. Способ по п. 2, в котором параметрическая модель человека формируется на основе данных оптического обмера эталонного предмета одежды.
9. Способ по п. 2, в котором параметрическая модель человека формируется с использованием нейронной сети.
10. Способ по и. 2, в котором параметрическая модель человека формируется с использованием алгоритма машинного обучения.
11. Способ по и. 3, в котором геометрическая модель человека формируется на основе данных трехмерного сканирования тела человека.
12. Способ по и. 11, в котором трехмерное сканирование включает в себя оптическое сканирование.
13. Способ по и. 12, в котором оптическое сканирование включает в себя использование камеры глубины.
14. Способ по п. 12, в котором оптическое сканирование включает в себя использование лазерного дальномера.
15. Способ по п. 3, в котором геометрическая модель человека формируется с использованием нейронной сети.
16. Способ по п. 3, в котором геометрическая модель человека формируется с использованием алгоритма машинного обучения.
17. Способ по п. 1, в котором размерные признаки человека определяются с использованием линейной алгебры.
18. Способ по п. 1, в котором размерные признаки человека определяются с использованием алгоритма машинного обучения.
19. Способ по п. 1, в котором сначала определяются промежуточные размерные признаки человека с использованием линейной алгебры, а затем определяются окончательные размерные признаки человека с использованием алгоритма машинного обучения.
20. Способ по п. 18 или п. 19, в котором в алгоритме машинного обучения используется регрессионная модель.
21. Способ по п. 1, в котором размерные признаки предмета одежды определяются на основе производственной геометрической модели.
22. Способ по п. 21, в котором производственная геометрическая модель представляет собой физический манекен, трехмерную цифровую модель или набор лекал.
23. Способ по п. 1, в котором размерные признаки предмета одежды определяются на основе производственной параметрической модели.
24. Способ по п. 23, в котором производственная параметрическая модель представляет собой по меньшей мере часть технологической документации предмета одежды.
25. Способ по п. 23, в котором производственная параметрическая модель представляет собой по меньшей мере часть размерной сетки.
26. Способ по п. 1, в котором размерные признаки предмета одежды определяются на основе данных физического обмера предмета одежды.
27. Способ по п. 1, в котором размерные признаки предмета одежды определяются на основе данных оптического обмера предмета одежды.
28. Способ по п. 27, в котором оптический обмер предмета одежды выполняется с использованием алгоритма машинного зрения.
29. Способ по п. 1, в котором сопоставление размерных признаков человека и предмета одежды включает в себя анализ целевой функции.
30. Способ по п. 1, в котором сопоставление размерных признаков человека и предмета одежды включает в себя использование нейронной сети.
31. Способ по и. 30, в котором нейронная сеть содержит по меньшей мере два слоя, один из которых выполняет роль энкодера, а другие слои выполняют роль декодера.
32. Способ по и. 31, в котором слой, выполняющий роль энкодера, обучается отдельно от слоев, выполняющих роль декодера.
33. Способ по и. 31, в котором в котором слой, выполняющий роль энкодера, обучается совместно со слоями, выполняющими роль декодера.
34. Способ по и. 1, в котором сопоставление размерных признаков человека и предмета одежды включает в себя использование алгоритма машинного обучения.
35. Способ по и. 1, в котором размерные признаки человека и/или предмета одежды включают в себя по меньшей мере одно из следующего: высота, расстояние, обхват и расстояние по криволинейной поверхности.
36. Способ по и. 1, в котором визуализация выполняется на виртуальном манекене.
37. Способ по и. 1, в котором визуализация выполняется на аватаре человека.
38. Способ по и. 37, в котором аватар представляет собой ЗБ-модель тела человека.
39. Способ по и. 38, в котором аватар обеспечивает реалистичное изображение головы человека.
40. Способ по и. 1, в котором визуализация включает в себя возможность задания и/или изменения по меньшей мере одного из следующего: позы, ракурса, масштаба, ситуационного фона и условий освещения.
41. Способ по и. 1, в котором выбор предмета одежды выполняется из списка предметов одежды, ранжированного по степени соответствия человеку этих предметов одежды.
42. Способ по п. 1, в котором выбор предмета одежды включает в себя отказ от выбора предмета одежды.
43. Способ по и. 1, до сопоставления размерных признаков человека и предмета одежды дополнительно включающий в себя приведение этих размерных признаков к сопоставимому виду.
44. Способ определения размерных признаков человека, включающий в себя:
- построение геометрической модели тела человека;
- построение параметрической модели тела человека на основе геометрической модели;
- определение размерных признаков человека на основе параметрической модели тела человека.
45. Способ по п. 44, в котором построение геометрической модели включает в себя получение карты глубины.
46. Способ по п. 45, в котором построение геометрической модели включает в себя преобразование карты глубины в облако точек.
47. Способ по п. 46, в котором преобразование карты глубины в облако точек включает в себя применение билатерального фильтра.
48. Способ по п. 44, в котором построение геометрической модели выполняется для канонической позы человека.
49. Способ по п. 44, в котором построение параметрической модели включает в себя:
- вычисление начального приближения параметров позы;
- уточнение параметров позы и/или уточнение параметров позы и формы;
- построение графа морфирующего поля, обеспечивающего преобразование геометрической модели из канонической позы и/или формы в произвольную позу и/или форму.
50. Способ по п. 49, в котором при вычислении начального приближения параметров позы используется информация о положении характерных точек скелета в параметрической модели.
51. Способ по п. 49, в котором уточнение параметров позы включает в себя минимизацию функции ошибки по параметрам позы.
52. Способ по п. 51, в котором используется функция ошибки по параметрам позы, равная сумме квадратов углов между парами отрезков, связывающих характерные точки скелета человека в геометрической модели и в параметрической модели.
53. Способ по п. 51, в котором используется функция ошибки по параметрам позы, равная сумме квадратов расстояний между парами точек из множества характерных точек в геометрической модели и в параметрической модели.
54. Способ по п. 51, в котором сначала используется функция ошибки по параметрам позы, равная сумме квадратов углов между парами отрезков, связывающих характерные точки скелета человека в геометрической модели и в параметрической модели, а затем используется функция ошибки по параметрам позы, равная сумме квадратов расстояний между парами точек из множества характерных точек в геометрической модели и в параметрической модели.
55. Способ по п. 49, в котором уточнение параметров позы и формы включает в себя минимизацию функции ошибки по параметрам позы и формы.
56. Способ по n. 55, в котором используется следующая функция ошибки по параметрам позы и формы:
где Р - множество видимых точек х геометрической модели, Q - параметры позы, b - параметры формы, U - множество видимых вершин n параметрической модели с параметрами позы и формы (0, b ), р- функция Хьюбера с параметром d , равным 1.
57. Способ по п. 44, в котором граф морфирующего поля имеет вершины, содержащие координаты в трехмерном пространстве, параметры Евклидова преобразования и весовой коэффициент, а также имеет ребра между вершинами, обеспечивающие связность морфирующего поля.
58. Способ по п. 57, в котором формирование вершин графа включает в себя:
- выбор значения d радиуса соседства;
- разбиение пространства на вокселы со стороной 2<5;
- определение координат вершины, как координат медоида для каждого воксела;
- назначение весового коэффициента, равного 2d, для каждой вершины.
59. Способ по п. 57, в котором ребра между вершинами графа формируются, если эти вершины являются одними из ближайших вершин по кратчайшему пути в графе.
60. Способ по и. 59, в котором количество ближайших вершин выбрано равным восьми.
61. Способ по и. 57, в котором Евклидово преобразование произвольной точки х включает в себя:
- определение ближайших к точке х вершин vc графа;
- вычисление взвешенной суммы двойных кватернионов этих вершин, при этом вес w каждого двойного кватерниона рассчитывается по следующей формуле:
или принимается равным 0, если || х vc || 2 > 3vw, где vw - весовой коэффициент вершины;
- нормирование результата суммирования;
- построение матрицы ортогонального преобразования R и вектора переноса t, при этом результатом преобразования точки х является точка Rx + t.
62. Способ по п. 44, в котором параметрическая модель тела человека строится с использованием алгоритма машинного обучения.
63. Способ по п. 62, в котором алгоритм машинного обучения включает в себя использование функции ошибки определения характерных точек скелета человека в
двумерном пространстве, функции ошибки определения характерных точек скелета человека в трехмерном пространстве, функции ошибки определения параметров модели SMPL и функции ошибки определения карты глубины.
64. Способ по и. 44, в котором размерные признаки человека определяются с использованием линейной алгебры.
65. Способ по и. 44, в котором размерные признаки человека определяются с использованием алгоритма машинного обучения.
66. Способ по и. 44, в котором сначала определяются промежуточные размерные признаки человека с использованием линейной алгебры, а затем определяются окончательные размерные признаки человека с использованием алгоритма машинного обучения.
67. Способ по и. 65 или и. 66, в котором в алгоритме машинного обучения используется регрессионная модель.
68. Способ по и. 44, дополнительно включающий в себя определение типа фигуры человека.
69. Способ определения размерных признаков предмета одежды, включающий в себя получение размерных признаков предмета одежды из производственной модели.
70. Способ по и. 69, в котором производственная модель является параметрической моделью, а получение размерных признаков предмета одежды включает в себя преобразование параметров производственной модели в размерные признаки предмета одежды.
71. Способ по и. 69, в котором производственная модель является геометрической моделью, а получение размерных признаков предмета одежды включает в себя преобразование геометрической производственной модели в параметрическую производственную модель и преобразование параметров производственной модели в размерные признаки предмета одежды.
72. Способ по и. 71, в котором производственная геометрическая модель представляет собой физический манекен, трехмерную цифровую модель или набор лекал.
73. Способ по и. 70, в котором производственная параметрическая модель представляет собой по меньшей мере часть технологической документации предмета одежды.
74. Способ по и. 70, в котором производственная параметрическая модель представляет собой по меньшей мере часть размерной сетки.
75. Способ по п. 69, в котором размерные признаки предмета одежды включают в себя по меньшей мере одно из следующего: высота, расстояние, обхват и расстояние по криволинейной поверхности.
76. Способ определения степени соответствия человеку предмета одежды, включающий в себя сопоставление размерных признаков человека и предмета одежды с использованием целевой функции, учитывающей влияние каждого размерного признака на степень соответствия человеку предмета одежды.
77. Способ по п. 76, до сопоставления размерных признаков человека и предмета одежды дополнительно включающий в себя приведение этих размерных признаков к сопоставимому виду.
78. Способ по п. 76, до сопоставления размерных признаков человека и предмета одежды дополнительно включающий в себя выбор размерных признаков для сопоставления на основе категории предмета одежды.
79. Способ по п. 76, в котором целевая функция подвергается минимизации.
81. Способ по п. 76, включающий в себя определение рекомендуемого размера S одежды:
S = S(\nbί) / 2лг, + ds , где s, - размер, соответствующий /-му размерному признаку, w, - весовой коэффициент /- го размерного признака, ds - по меньшей мере одно опциональное поправочное значение.
82. Способ по п. 81, в котором поправочное значение определяется индивидуально для каждого человека.
83. Способ по п. 81, в котором поправочное значение определяется индивидуально для каждого типа фигуры человека.
84. Способ по п. 81, в котором рекомендуемый размер дополнительно приводится в соответствие с размерной сеткой.
85. Способ по п. 76, формирующий список предметов одежды, котором предметы одежды расположены в соответствии с рейтингом посадки, а предметы одежды с
одинаковым рейтингом посадки дополнительно ранжированы по значению ошибки посадки.
86. Способ по и. 76, в котором размерные признаки человека представляют собой размерные признаки эталонного предмета одежды.
87. Способ по п. 76, дополнительно включающий в себя учет стилистических рекомендаций.
88. Способ определения степени соответствия человеку предмета одежды, включающий в себя сопоставление размерных признаков человека и предмета одежды с использованием алгоритма машинного обучения.
89. Способ по и. 88, в котором алгоритм машинного обучения включает в себя использование нейронной сети.
90. Способ по и. 89, в котором нейронная сеть содержит по меньшей мере два слоя, один из которых выполняет роль энкодера, а другие слои выполняют роль декодера.
91. Способ по и. 90, в котором слой, выполняющий роль энкодера, обучается отдельно от слоев, выполняющих роль декодера.
92. Способ по п. 90, в котором в котором слой, выполняющий роль энкодера, обучается совместно со слоями, выполняющими роль декодера.
93. Способ по п. 88, в котором алгоритм машинного обучения реализован в виде классификатора.
94. Способ по и. 88, в котором алгоритм машинного обучения реализован в виде алгоритма градиентного бустинга дерева решений.
95. Способ визуализации предмета одежды, включающий в себя:
- получение изображения тела человека в произвольной позе;
- получение параметрической модели тела человека;
- получение параметрической модели предмета одежды;
- изменение параметров параметрической модели тела человека для ее соответствия произвольной позе;
- формирование изображения предмета одежды на человеке в произвольной позе.
96. Способ по и. 95, в котором визуализация выполняется на виртуальном манекене.
97. Способ по и. 95, в котором визуализация выполняется на аватаре человека.
98. Способ по и. 97, в котором аватар представляет собой ЗБ-модель тела человека.
99. Способ по и. 98, в котором аватар обеспечивает реалистичное изображение головы человека.
100. Способ по п. 95, в котором визуализация включает в себя возможность задания и/или изменения по меньшей мере одного из следующего: позы, ракурса, масштаба, ситуационного фона и условий освещения.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2019125602A RU2019125602A (ru) | 2019-08-13 | 2019-08-13 | Комплексная система и способ для дистанционного выбора одежды |
RU2019125602 | 2019-08-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021028728A1 true WO2021028728A1 (ru) | 2021-02-18 |
Family
ID=74567377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2020/053263 WO2021028728A1 (ru) | 2019-08-13 | 2020-04-06 | Способ и система для дистанционного выбора одежды |
Country Status (3)
Country | Link |
---|---|
US (3) | US11132833B2 (ru) |
RU (1) | RU2019125602A (ru) |
WO (1) | WO2021028728A1 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024158307A1 (ru) * | 2023-01-25 | 2024-08-02 | Общество С Ограниченной Ответственностью "Тексел" | Способ машинного обучения для подбора соответствующих телосложению швейных изделий |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017148941A1 (en) * | 2016-03-01 | 2017-09-08 | Koninklijke Philips N.V. | System and method for automated hairstyle processing and hair cutting device |
US11367239B2 (en) * | 2018-11-09 | 2022-06-21 | Samsung Electronics Co., Ltd. | Textured neural avatars |
RU2019125602A (ru) * | 2019-08-13 | 2021-02-15 | Общество С Ограниченной Ответственностью "Тексел" | Комплексная система и способ для дистанционного выбора одежды |
GB2589716B (en) * | 2019-09-20 | 2024-08-21 | Detectamet Ltd | Improvements to gloves and a method of manufacture |
US11250572B2 (en) * | 2019-10-21 | 2022-02-15 | Salesforce.Com, Inc. | Systems and methods of generating photorealistic garment transference in images |
US11238650B2 (en) * | 2020-03-13 | 2022-02-01 | Nvidia Corporation | Self-supervised single-view 3D reconstruction via semantic consistency |
US11509865B2 (en) * | 2020-05-12 | 2022-11-22 | True Meeting Inc | Touchups, denoising and makeup related to a 3D virtual conference |
US20210358193A1 (en) | 2020-05-12 | 2021-11-18 | True Meeting Inc. | Generating an image from a certain viewpoint of a 3d object using a compact 3d model of the 3d object |
US20220101148A1 (en) * | 2020-09-25 | 2022-03-31 | International Business Machines Corporation | Machine learning enhanced tree for automated solution determination |
US11531697B2 (en) * | 2020-11-03 | 2022-12-20 | Adobe Inc. | Identifying and providing digital images depicting human poses utilizing visual interactive content search and virtual mannequins |
KR102543605B1 (ko) * | 2020-11-16 | 2023-06-20 | (주)클로버추얼패션 | 온라인 피팅 방법 및 장치 |
EP4020391A1 (en) | 2020-12-24 | 2022-06-29 | Applications Mobiles Overview Inc. | Method and system for automatic characterization of a three-dimensional (3d) point cloud |
US11663764B2 (en) | 2021-01-27 | 2023-05-30 | Spree3D Corporation | Automatic creation of a photorealistic customized animated garmented avatar |
US20220237846A1 (en) * | 2020-12-30 | 2022-07-28 | Spree3D Corporation | Generation and simultaneous display of multiple digitally garmented avatars |
SE545466C2 (en) * | 2021-02-05 | 2023-09-19 | Volumental AB | Method and electronic arrangement for item matching for a user´s body part |
US20220262025A1 (en) * | 2021-02-18 | 2022-08-18 | Apple Inc. | Touchless wrist measurement |
US12073527B2 (en) * | 2021-02-24 | 2024-08-27 | Sony Group Corporation | Three-dimensional (3D) human modeling under specific body-fitting of clothes |
US11373352B1 (en) * | 2021-03-04 | 2022-06-28 | Meta Platforms, Inc. | Motion transfer using machine-learning models |
JP7117412B1 (ja) | 2021-03-17 | 2022-08-12 | ソフトバンク株式会社 | データ処理装置、プログラム、及びデータ処理方法 |
EP4064209A1 (en) * | 2021-03-25 | 2022-09-28 | Tata Consultancy Services Limited | Method and system for draping a 3d garment on a 3d human body |
WO2022221398A1 (en) * | 2021-04-14 | 2022-10-20 | Spree3D Corporation | Generation and simultaneous display of multiple digitally garmented avatars |
WO2022220670A1 (es) * | 2021-04-16 | 2022-10-20 | Carlos Morales Urquiza | Aparato de comparación de imágenes para determinar coincidencias |
EP4083918A1 (en) * | 2021-04-27 | 2022-11-02 | Reactive Reality AG | Method and computer program product for performing at least one measurement on a 3d reconstruction of a body |
WO2022245779A1 (en) * | 2021-05-17 | 2022-11-24 | Bosom Besties, Llc (D/B/A) Fit Finder Al | Systems and methods for automatic fitting and product recommendations using machine learning |
CN113393561B (zh) * | 2021-05-26 | 2024-06-21 | 完美世界(北京)软件科技发展有限公司 | 虚拟角色的肢体动作表情包生成方法、装置及存储介质 |
WO2022248042A1 (en) * | 2021-05-27 | 2022-12-01 | Huawei Technologies Co., Ltd. | Neural radiance field rig for human 3d shape and appearance modelling |
US11836905B2 (en) | 2021-06-03 | 2023-12-05 | Spree3D Corporation | Image reenactment with illumination disentanglement |
US11854579B2 (en) | 2021-06-03 | 2023-12-26 | Spree3D Corporation | Video reenactment taking into account temporal information |
US11769346B2 (en) | 2021-06-03 | 2023-09-26 | Spree3D Corporation | Video reenactment with hair shape and motion transfer |
US11776191B2 (en) * | 2021-07-30 | 2023-10-03 | Viettel Group | System and method for reconstructing a 3D human body using compact kit of depth cameras |
CN117616464A (zh) * | 2021-08-02 | 2024-02-27 | 智能传媒私人有限公司 | 用于促进在在线环境中购买物品的系统和方法 |
CN113837995A (zh) * | 2021-08-16 | 2021-12-24 | 上海奥视达智能科技有限公司 | 一种人体肢体围度测量方法、装置、智能终端及存储介质 |
CN113658309B (zh) * | 2021-08-25 | 2023-08-01 | 北京百度网讯科技有限公司 | 三维重建方法、装置、设备以及存储介质 |
CN113822175B (zh) * | 2021-09-03 | 2023-09-01 | 西安工程大学 | 一种基于关键点聚类驱动匹配的虚拟试衣图像生成方法 |
WO2023041181A1 (en) * | 2021-09-20 | 2023-03-23 | N.V. Nutricia | Electronic device and method for determining human height using neural networks |
US20230101617A1 (en) * | 2021-09-24 | 2023-03-30 | Apple Inc. | Full body pose estimation through feature extraction from multiple wearable devices |
WO2023057901A1 (en) * | 2021-10-04 | 2023-04-13 | Dresslife, Inc. | Method for generating recommendation data |
US20230124297A1 (en) * | 2021-10-14 | 2023-04-20 | Roblox Corporation | Hidden surface removal for layered clothing for an avatar body |
EP4191539A1 (en) * | 2021-12-02 | 2023-06-07 | Dimension Stream Labs AB | Method for performing volumetric reconstruction |
WO2023126817A1 (en) * | 2021-12-27 | 2023-07-06 | Jio Platforms Limited | System and method for 3d computer vision assisted retail product synthesis |
US20230230331A1 (en) * | 2022-01-03 | 2023-07-20 | Qualcomm Incorporated | Prior based generation of three-dimensional models |
CN114347065B (zh) * | 2022-02-09 | 2024-05-03 | 望墨科技(武汉)有限公司 | 一种试衣机器人连续试衣方法 |
US12086931B2 (en) * | 2022-03-01 | 2024-09-10 | Tencent America LLC | Methods of 3D clothed human reconstruction and animation from monocular image |
CN114445271B (zh) * | 2022-04-01 | 2022-06-28 | 杭州华鲤智能科技有限公司 | 一种生成虚拟试穿3d图像的方法 |
CN114596412B (zh) * | 2022-04-28 | 2022-07-29 | 杭州华鲤智能科技有限公司 | 一种生成虚拟试穿3d图像的方法 |
US20230360345A1 (en) * | 2022-05-03 | 2023-11-09 | VRChat Inc. | Generate a simplified version of a user-generated digital object |
CN114758109A (zh) * | 2022-05-20 | 2022-07-15 | 深圳市镭神智能系统有限公司 | 虚拟试穿方法及其系统、和提供虚拟试穿信息方法 |
CN114663552B (zh) * | 2022-05-25 | 2022-08-16 | 武汉纺织大学 | 一种基于2d图像的虚拟试衣方法 |
FR3136876A1 (fr) * | 2022-06-15 | 2023-12-22 | Vyzion | Système d’essayage digital pour vente en ligne de vêtements, procédé et programme sur la base d’un tel système. |
CN115100228B (zh) * | 2022-07-25 | 2022-12-20 | 江西现代职业技术学院 | 图像处理方法、系统、可读存储介质及计算机设备 |
CN115240037A (zh) * | 2022-09-23 | 2022-10-25 | 卡奥斯工业智能研究院(青岛)有限公司 | 模型训练方法、图像处理方法、设备及存储介质 |
US20240111404A1 (en) * | 2022-09-28 | 2024-04-04 | Zazzle Inc. | Parametric modeling |
CN115862149B (zh) * | 2022-12-30 | 2024-03-22 | 广州紫为云科技有限公司 | 一种生成3d人体骨骼关键点数据集的方法及系统 |
US11948234B1 (en) * | 2023-08-30 | 2024-04-02 | Illuscio, Inc. | Systems and methods for dynamic enhancement of point cloud animations |
US11995109B1 (en) | 2024-02-13 | 2024-05-28 | Extensional, Inc. | Performant proximity matching between sets of unstructured records |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100153315A1 (en) * | 2008-12-17 | 2010-06-17 | Microsoft Corporation | Boosting algorithm for ranking model adaptation |
CN103049852A (zh) * | 2012-12-19 | 2013-04-17 | 武汉世纪炎龙网络科技有限公司 | 虚拟试衣系统 |
WO2014074072A1 (en) * | 2012-11-12 | 2014-05-15 | Singapore University Of Technology And Design | Clothing matching system and method |
CN104461006A (zh) * | 2014-12-17 | 2015-03-25 | 卢晨华 | 一种基于自然用户界面的互联网智能镜 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008130906A1 (en) * | 2007-04-17 | 2008-10-30 | Mikos, Ltd. | System and method for using three dimensional infrared imaging to provide psychological profiles of individuals |
US10574974B2 (en) * | 2014-06-27 | 2020-02-25 | A9.Com, Inc. | 3-D model generation using multiple cameras |
US10332179B2 (en) * | 2014-10-23 | 2019-06-25 | Tailored IP, LLC | Methods and systems for recommending fitted clothing |
EP3032495B1 (en) * | 2014-12-10 | 2019-11-13 | Dassault Systèmes | Texturing a 3d modeled object |
US10515259B2 (en) * | 2015-02-26 | 2019-12-24 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for determining 3D object poses and landmark points using surface patches |
US9652890B2 (en) * | 2015-09-29 | 2017-05-16 | Disney Enterprises, Inc. | Methods and systems of generating an anatomically-constrained local model for performance capture |
EP4131172A1 (en) * | 2016-09-12 | 2023-02-08 | Dassault Systèmes | Deep convolutional neural network for 3d reconstruction of a real object |
CN111915663B (zh) * | 2016-09-15 | 2024-04-30 | 谷歌有限责任公司 | 图像深度预测神经网络 |
US10777018B2 (en) * | 2017-05-17 | 2020-09-15 | Bespoke, Inc. | Systems and methods for determining the scale of human anatomy from images |
US11154196B2 (en) * | 2017-06-20 | 2021-10-26 | Siemens Healthcare Gmbh | Deep-learnt tissue deformation for medical imaging |
US11158121B1 (en) * | 2018-05-11 | 2021-10-26 | Facebook Technologies, Llc | Systems and methods for generating accurate and realistic clothing models with wrinkles |
US11200689B1 (en) * | 2019-06-21 | 2021-12-14 | Amazon Technologies, Inc. | Detailed 3D estimation from a single image |
RU2019125602A (ru) * | 2019-08-13 | 2021-02-15 | Общество С Ограниченной Ответственностью "Тексел" | Комплексная система и способ для дистанционного выбора одежды |
-
2019
- 2019-08-13 RU RU2019125602A patent/RU2019125602A/ru unknown
-
2020
- 2020-04-06 US US16/840,598 patent/US11132833B2/en active Active
- 2020-04-06 WO PCT/IB2020/053263 patent/WO2021028728A1/ru active Application Filing
- 2020-10-27 US US17/081,912 patent/US11443480B2/en active Active
- 2020-10-29 US US17/083,430 patent/US11393163B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100153315A1 (en) * | 2008-12-17 | 2010-06-17 | Microsoft Corporation | Boosting algorithm for ranking model adaptation |
WO2014074072A1 (en) * | 2012-11-12 | 2014-05-15 | Singapore University Of Technology And Design | Clothing matching system and method |
CN103049852A (zh) * | 2012-12-19 | 2013-04-17 | 武汉世纪炎龙网络科技有限公司 | 虚拟试衣系统 |
CN104461006A (zh) * | 2014-12-17 | 2015-03-25 | 卢晨华 | 一种基于自然用户界面的互联网智能镜 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024158307A1 (ru) * | 2023-01-25 | 2024-08-02 | Общество С Ограниченной Ответственностью "Тексел" | Способ машинного обучения для подбора соответствующих телосложению швейных изделий |
Also Published As
Publication number | Publication date |
---|---|
US20210082179A1 (en) | 2021-03-18 |
US11132833B2 (en) | 2021-09-28 |
RU2019125602A (ru) | 2021-02-15 |
US11393163B2 (en) | 2022-07-19 |
US20210049811A1 (en) | 2021-02-18 |
US11443480B2 (en) | 2022-09-13 |
US20210082180A1 (en) | 2021-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11393163B2 (en) | Method and system for remote clothing selection | |
US11640672B2 (en) | Method and system for wireless ultra-low footprint body scanning | |
US20200380333A1 (en) | System and method for body scanning and avatar creation | |
US10542785B2 (en) | Method and system for virtually selecting clothing | |
US10628666B2 (en) | Cloud server body scan data system | |
US10777021B2 (en) | Virtual representation creation of user for fit and style of apparel and accessories | |
US20200364533A1 (en) | Online garment design and collaboration system and method | |
US10796480B2 (en) | Methods of generating personalized 3D head models or 3D body models | |
US10702216B2 (en) | Method and system for body scanning and display of biometric data | |
KR100523742B1 (ko) | 3차원 안경 시뮬레이션 시스템 및 방법 | |
US20110298897A1 (en) | System and method for 3d virtual try-on of apparel on an avatar | |
US11948057B2 (en) | Online garment design and collaboration system and method | |
Song et al. | Data-driven 3-D human body customization with a mobile device | |
AU2017260525B2 (en) | Method and system for body scanning and display of biometric data | |
Alemany et al. | Three-dimensional body shape modeling and posturography | |
WO2018182938A1 (en) | Method and system for wireless ultra-low footprint body scanning | |
RU2805003C2 (ru) | Способ и система для дистанционного выбора одежды | |
US20240355138A1 (en) | Method and system for wireless ultra-low footprint body scanning | |
Feng et al. | Status of research on parametric methods for the reconstruction of 3D models of the human body for virtual fitting | |
WO2021237169A1 (en) | Online garment design and collaboration and virtual try-on system and method | |
Straka | Human Pose and Shape Estimation from Multi-View Images for Virtual Dressing Rooms | |
Uğur | Parametric human body modeling for virtual dressing | |
Seo | Personalized Body Modeling |
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: 20853372 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: 20853372 Country of ref document: EP Kind code of ref document: A1 |