RU2805003C2 - Method and system for remote clothing selection - Google Patents

Method and system for remote clothing selection Download PDF

Info

Publication number
RU2805003C2
RU2805003C2 RU2021106547A RU2021106547A RU2805003C2 RU 2805003 C2 RU2805003 C2 RU 2805003C2 RU 2021106547 A RU2021106547 A RU 2021106547A RU 2021106547 A RU2021106547 A RU 2021106547A RU 2805003 C2 RU2805003 C2 RU 2805003C2
Authority
RU
Russia
Prior art keywords
model
clothing
dimensional
parameters
pose
Prior art date
Application number
RU2021106547A
Other languages
Russian (ru)
Other versions
RU2021106547A (en
Inventor
Максим Александрович Федюков
Андрей Владимирович Посконин
Сергей Михайлович Климентьев
Владимир Владимирович Гузов
Илья Алексеевич Петров
Андрей Васильевич Коваль
Николай Патакин
Антон Владимирович Федотов
Олег Владимирович Корнеев
Original Assignee
Общество С Ограниченной Ответственностью "Тексел"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Тексел" filed Critical Общество С Ограниченной Ответственностью "Тексел"
Publication of RU2021106547A publication Critical patent/RU2021106547A/en
Application granted granted Critical
Publication of RU2805003C2 publication Critical patent/RU2805003C2/en

Links

Abstract

FIELD: electronic trade; remote selection of clothing.
SUBSTANCE: invention relates to means for assisting the user in remote selection of goods to which the concept of sizes is applicable, by assessing the compliance of the product sizes with the shape and size of the user’s body. The method for remote selection of clothing includes determining the anthropometric parameters of the user, automatically assessing the suitability of the item of clothing to the shape and size of the user's body in real time, developing and providing the user with recommendations for choosing a particular item of clothing and, optionally, visualizing the item of clothing on a digital avatar of this item user in the virtual fitting room, including when changing his position.
EFFECT: invention improves the efficiency of remote selection of clothing by the user, as well as increases the accuracy of the user's body model.
54 cl, 44 dwg, 3 tbl

Description

Область техникиField of technology

Изобретение относится к области электронной коммерции. В частности, оно относится к средствам для оказания помощи пользователю в дистанционном выборе товаров (предметов одежды, обуви, аксессуаров и т.п.), к которым применимо понятие размеров, путем оценки соответствия размеров товара форме и размерам тела пользователя. The invention relates to the field of electronic commerce. In particular, it refers to means for assisting the user in remote selection of goods (clothing, footwear, accessories, etc.), to which the concept of sizes is applicable, by assessing the conformity of the product sizes to the shape and size of the user's body.

Уровень техникиState of the art

В последние годы использование традиционной простейшей системы размеров, например, [рост]-[обхват груди]-[обхват талии]-[обхват бедер] или [рост]-[размер по плечам]-[размер по бедрам]) при торговле одеждой, [размер]-[полнота] при торговле обувью, постепенно вытесняется применением более сложных параметрических моделей или геометрических моделей тела пользователя, на соответствие которым может быть проанализирован тот или иной предмет одежды, обуви, аксессуаров и т.п. (далее для краткости – одежды).In recent years, the use of the traditional simple size system, for example, [height]-[bust]-[waist]-[hip] or [height]-[shoulder size]-[hip size]) when selling clothes, [size] - [fullness] in the shoe trade is gradually being replaced by the use of more complex parametric models or geometric models of the user’s body, for compliance with which a particular item of clothing, shoes, accessories, etc. can be analyzed. (hereinafter referred to as clothes for brevity).

Тенденция к применению таких моделей вызвана несколькими факторами, среди которых следует выделить стремление ретейлеров снизить количество возвратов одежды, «не подошедшей» по тем или иным причинам, и переход производителей одежды на использование «компьютерных» выкроек вместо традиционных «лекальных» выкроек. Для получения «компьютерных» выкроек одежды применяются производственные компьютерные модели или физические манекены, для которых определены параметрические модели. Такие производственные модели обычно создаются на основе статистических данных, получаемых при выборочных репрезентативных обмерах населения на определенной территории. Иными словами, производственные модели обычно достаточно точно описывают, по крайней мере, наиболее распространенные типы фигур людей в той или иной стране, соответствующие не менее чем 80–90% населения.The trend towards the use of such models is caused by several factors, among which we should highlight the desire of retailers to reduce the number of returns of clothes that “did not fit” for one reason or another, and the transition of clothing manufacturers to the use of “computer” patterns instead of traditional “pattern” patterns. To obtain “computerized” clothing patterns, production computer models or physical mannequins are used, for which parametric models are defined. Such production models are usually created on the basis of statistical data obtained from sample representative measurements of the population in a certain area. In other words, production models usually fairly accurately describe at least the most common body types of people in a given country, corresponding to at least 80–90% of the population.

Это дает возможность, выполнив оптическое сканирование тела пользователя и построив его геометрическую (в частности, трехмерную) и/или параметрическую модель, соотнести эту модель с соответствующими производственными моделями, использованными при пошиве одежды, и дистанционно выбрать предметы одежды, наиболее подходящие пользователю по размерам и форме тела. This makes it possible, by performing an optical scan of the user’s body and constructing a geometric (in particular, three-dimensional) and/or parametric model, to correlate this model with the corresponding production models used in sewing clothes, and to remotely select items of clothing that are most suitable for the user in size and body shape.

Кроме того, это дает возможность визуализировать эти предметы одежды на пользователе, т.е. представить на экране электронного устройства реалистичное изображение одного предмета одежды или нескольких предметов одежды в сочетании. При этом у пользователя появляется возможность подробно рассмотреть изображенный предмет одежды (или себя в этой одежде) с разных ракурсов и расстояний, на разном ситуационном фоне (который можно выбрать из библиотеки), при разном освещении (дневном, вечернем, искусственном) и т.д.In addition, it makes it possible to visualize these garments on the user, i.e. present on the screen of an electronic device a realistic image of one item of clothing or several items of clothing in combination. At the same time, the user has the opportunity to examine in detail the depicted item of clothing (or himself in this clothing) from different angles and distances, against different situational backgrounds (which can be selected from the library), under different lighting (daytime, evening, artificial), etc. .

Ожидается, что все эти меры должны способствовать совершению более осмысленных покупок одежды и, соответственно, к существенному снижению количества возвратов.It is expected that all these measures should contribute to more meaningful clothing purchases and, accordingly, to a significant reduction in the number of returns.

Таким образом, задача помощи пользователю в дистанционном выборе одежды может быть разделена на несколько этапов: определение антропометрических параметров пользователя (в частности, его размерных признаков), определение размерных признаков предметов одежды, оценка соответствия предметов одежды телу пользователя на основе анализа этих признаков и, опционально, визуализация предметов одежды на цифровом аватаре пользователя.Thus, the task of helping the user in 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 for the user’s body based on the analysis of these characteristics and, optionally ,visualization of clothing items on the user’s digital avatar.

Определение размерных признаков пользователя может включать в себя построение модели тела пользователя. Подходы к построению трехмерной модели тела пользователя, определению его размерных признаков и их сопоставлению с размерными признаками предметов одежды описаны во множестве патентных и непатентных документов.Determining the user's dimensional attributes may include constructing a model of the user's body. Approaches to constructing a three-dimensional model of the user's body, determining its dimensional characteristics and comparing them with the dimensional characteristics of clothing items are described in many patent and non-patent documents.

В документе US2015206341A1 (Method for providing a three dimensional body model) описано применение сегментации по частям тела на 3D-изображении, применение шарнирной модели скелета тела, построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек, минимизация ошибок произвольной модели методом Гаусса-Ньютона и построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе 3D-изображения (в произвольной форме и произвольной позе) согласно графу морфирующего поля. В этом документе не описано построение графа морфирующего поля путем определения вершин параметрической модели и уточнение параметров формы и канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности.The document US2015206341A1 (Method for providing a three dimensional body model) describes the use of segmentation by body parts on a 3D image, the use of an articulated model of the body skeleton, the construction of a canonical model, and also partially describes the determination of the shape parameters and canonical pose parameters of a parametric model by minimizing the function losses taking into account visible points, minimizing errors of an arbitrary model using the Gauss-Newton method and constructing an arbitrary three-dimensional surface model by changing the transformation parameters of the canonical model based on a 3D image (in an arbitrary shape and an arbitrary pose) according to the morphing field graph. This document does not describe the construction of a morphing field graph by defining the vertices of a parametric model and refining the shape parameters and canonical pose parameters of the parametric model taking into account the results of the canonical 3D surface model.

В документах EP2674913A1 (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 anthropometrics using synthetic data), US2017140578A1 (Depth camera-based human-body model acquisition method and network virtual fitting system), US2017337732A1 (Human body representation with non-rigid parts in an imaging system), WO2010019925A1 (Method and apparatus for estimating body shape), WO2013087084A1 (Method and device for estimating a pose), WO2014053198A1 (Co-registration - simultaneous alignment and modeling of articulated 3D shapes), WO2015021381A1 (Real-time reconstruction of the human body and automated avatar synthesis), WO2016207311A1 (Skinned multi-person linear model) описано применение сегментации по частям тела на 3D-изображении, применение шарнирной модели скелета тела, построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек и построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе 3D-изображения (в произвольной форме и произвольной позе) согласно графу морфирующего поля. В этих документах не описано построение графа морфирующего поля путем определения вершин параметрической модели, минимизация ошибок произвольной модели методом Гаусса-Ньютона и уточнение параметров формы и канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности.In documents 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 method, and program), RU2014152713A1 (Body measurement), US2012019517A1 (Automatic generation of 3D character animation from 3D meshes), US2013187919A1 (3D body modeling, from a single or multiple 3D cameras, in the presence of motion), US2013286012 A1 ( 3D body modeling from one or more depth cameras in the presence of articulated motion), US2015356767A1 (Rapid avatar capture and simulation using commodity depth sensors), US2016110595A1 (Fast 3D model fitting and anthropometrics using synthetic data), US2017140578A1 (Depth camera-based human -body model acquisition method and network virtual fitting system), US2017337732A1 (Human body representation with non-rigid parts in an imaging system), WO2010019925A1 (Method and apparatus for estimating body shape), WO2013087084A1 (Method and device for estimating a pose), WO2014053198A1 (Co-registration - simultaneous alignment and modeling of articulated 3D shapes), WO2015021381A1 (Real-time reconstruction of the human body and automated avatar synthesis), WO2016207311A1 (Skinned multi-person linear model) describes the use of segmentation by body parts in 3D image, the use of an articulated model of the body skeleton, the construction of a canonical model, and also partially describes the determination of the shape parameters and canonical pose parameters of the parametric model by minimizing the loss function taking into account visible points and the construction of an arbitrary three-dimensional surface model by changing the transformation parameters of the canonical model based on the 3D image (in any form and any pose) according to the graph of the morphing field. These documents do not describe the construction of a morphing field graph by determining the vertices of a parametric model, minimizing the errors of an arbitrary model using the Gauss-Newton method, and refining the shape parameters and canonical pose parameters of the parametric model taking into account the results of the canonical 3D surface model.

В документах US2008180448A1 (Shape completion, animation and marker-less motion capture of people, animals or characters), US2013226528A1 (Perceptually guided capture and stylization of 3D human figures), US2013342527A1 (Avatar construction using depth camera) описано применение шарнирной модели скелета тела, построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек и построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе 3D-изображения (в произвольной форме и произвольной позе) согласно графу морфирующего поля. В этих документах не описано применение сегментации по частям тела на 3D-изображении, построение графа морфирующего поля путем определения вершин параметрической модели, минимизация ошибок произвольной модели методом Гаусса-Ньютона и уточнение параметров формы и канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности.The documents 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) describe the use of an articulated model of the body skeleton, construction of a canonical model, and also partially describes the determination of the shape parameters and canonical pose parameters of a parametric model by minimizing the loss function taking into account visible points and the construction of an arbitrary three-dimensional surface model by changing the transformation parameters of the canonical model based on a 3D image (in an arbitrary shape and an arbitrary pose) according to the morphing field graph. These documents do not describe the use of segmentation by body parts on a 3D image, the construction of a morphing field graph by determining the vertices of a parametric model, minimizing errors of an arbitrary model using the Gauss-Newton method, and refining the shape parameters and canonical pose parameters of a parametric model taking into account the results of a canonical 3D surface model .

В документах RU2615911C1 (Способ и система построения реалистичного 3D аватара пользователя для виртуальной примерочной), US2010306082A1 (Garment fit portrayal system and method), US2014035901A1 (Animating objects using the human body), US2014375635A1 (Methods and systems for generating a three dimensional representation of a subject), US2015213646A1 (Method and system for constructing personalized avatars using a parameterized deformable mesh), WO2014037939A1 (System and method for deriving accurate body size measures from a sequence of 2D images), WO2016073841A1 (Scan data retrieval with depth sensor data) описано построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек и построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе 3D-изображения (в произвольной форме и произвольной позе) согласно графу морфирующего поля. В этих документах не описано применение шарнирной модели скелета тела, применение сегментации по частям тела на 3D-изображении, построение графа морфирующего поля путем определения вершин параметрической модели, минимизация ошибок произвольной модели методом Гаусса-Ньютона и уточнение параметров формы и канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности.In documents RU2615911C1 (Method and system for constructing a realistic 3D user avatar for a virtual fitting room), US2010306082A1 (Garment fit portrayal system and method), US2014035901A1 (Animating objects using the human body), US2014375635A1 (Methods and systems for generating a three dimensional representation of a subject), US2015213646A1 (Method and system for constructing personalized avatars using a parameterized deformable mesh), WO2014037939A1 (System and method for deriving accurate body size measures from a sequence of 2D images), WO2016073841A1 (Scan data retrieval with depth sensor data) describes the construction canonical model, and also partially describes the determination of the shape parameters and canonical pose parameters of the parametric model by minimizing the loss function taking into account visible points and the construction of an arbitrary three-dimensional surface model by changing the transformation parameters of the canonical model based on a 3D image (in an arbitrary shape and an arbitrary pose) according to graph of the morphing field. These documents do not describe the use of an articulated model of the body skeleton, the use of segmentation by body parts on a 3D image, the construction of a morphing field graph by determining the vertices of a parametric model, the minimization of errors of an arbitrary model by the Gauss-Newton method, and the refinement of the shape parameters and canonical pose parameters of a parametric model with taking into account the results of the canonical three-dimensional surface model.

В документах US2019122424A1 (Generation of body models and measurements), WO2013174671A1 (A method and a system for generating a realistic 3D reconstruction model for an object or being) описано применение сегментации по частям тела на 3D-изображении, применение шарнирной модели скелета тела, построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек. В этих документах не описано построение графа морфирующего поля путем определения вершин параметрической модели, минимизация ошибок произвольной модели методом Гаусса-Ньютона, построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе 3D-изображения (в произвольной форме и произвольной позе) согласно графу морфирующего поля и уточнение параметров формы и канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности.The documents US2019122424A1 (Generation of body models and measurements), WO2013174671A1 (A method and a system for generating a realistic 3D reconstruction model for an object or being) describe the use of segmentation by body parts in a 3D image, the use of an articulated model of the body skeleton, the construction canonical model, and also partially describes the determination of the shape parameters and canonical pose parameters of the parametric model by minimizing the loss function taking into account visible points. These documents do not describe the construction of a morphing field graph by determining the vertices of a parametric model, minimizing errors of an arbitrary model using the Gauss-Newton method, or constructing an arbitrary three-dimensional surface model by changing the transformation parameters of a canonical model based on a 3D image (in an arbitrary shape and an arbitrary pose) according to the graph morphing field and refinement of the shape parameters and canonical pose parameters of the parametric model, taking into account the results of the canonical three-dimensional surface model.

В документе [A1] описан способ формирования 3D-модели тела человека на основе множества снимков (карт глубины) с применением сегментирования и артикуляции, путем изменения параметров формы и позы.The document [A1] describes a method for generating a 3D model of the human body based on multiple images (depth maps) using segmentation and articulation by changing the shape and pose parameters.

В документе [A2] описана модель SCAPE тела человека, формируемая на основе одного статического снимка (карт глубины) и множества снимков с использованием маркеров. Способ включает в себя сегментирование, артикуляцию, определение и изменение параметров формы и позы.Document [A2] describes a SCAPE model of the human body, formed based on one static image (depth maps) and multiple images using markers. The method includes segmentation, articulation, determination and modification of shape and pose parameters.

В документе [A3] содержится обзор различных подходов к формированию 3D-модели тела человека.Paper [A3] provides an overview of various approaches to generating a 3D model of the human body.

В документе [A4] описаны особенности формирования скелетной структуры 3D-моделей для анимации.Document [A4] describes the features of forming the skeletal structure of 3D models for animation.

В документе [A5] описан способ формирования обобщенной 3D-модели тела человека (FAUST) с применением оптических маркеров.The paper [A5] describes a method for generating a generalized 3D model of the human body (FAUST) using optical markers.

В документе [A6] описан способ формирования 3D-модели тела человека с использованием способа DeepCut для сегментирования и артикуляции и статистической модели SMPL для изменения параметров формы и позы. Совмещение положения составов по DeepCut с моделью SMPL выполнялось путем минимизации целевой функции Geman-McClure.The paper [A6] describes a method for generating a 3D model of the human body using the DeepCut method for segmentation and articulation and the SMPL statistical model for changing shape and pose parameters. Combination of composition positions according to DeepCut with the SMPL model was performed by minimizing the Geman-McClure objective function.

В документе [A7] дан сравнительный обзор 3D-моделей тела человека: SCAPE, BlendSCAPE, Dyna, S-SCAPE, SMPL и RealtimeSCAPE. Показана большая точность vertex-based approach по сравнению с triangle-based approach.Paper [A7] provides a comparative overview of 3D human body models: SCAPE, BlendSCAPE, Dyna, S-SCAPE, SMPL and RealtimeSCAPE. The vertex-based approach has been shown to be more accurate than the triangle-based approach.

В документе [A8] рассмотрены вопросы рендеринга мускулатуры при изменении параметров формы и позы 3D-модели тела человека.The paper [A8] discusses the issues of rendering muscles when changing the parameters of the shape and pose of a 3D model of the human body.

В документе [A9] рассмотрены вопросы формирования видимых поверхностей (skinning) 3D-моделей, основанных на скелетном подходе.The document [A9] discusses the formation of visible surfaces (skinning) of 3D models based on the skeletal approach.

В документе [A10] рассмотрены вопросы формирования видимых поверхностей (skinning) 3D-моделей с использованием двойных кватернионов (Dual Quaternions).The document [A10] discusses the formation of visible surfaces (skinning) of 3D models using Dual Quaternions.

В документе [A11] описан принцип действия нейронной сети DeepWrinkles (Facebook AI Research) для 3D-моделирования предметов одежды на человеке.The document [A11] describes the principle of operation of the DeepWrinkles neural network (Facebook AI Research) for 3D modeling of clothing items on a person.

В документе [A12] рассмотрены вопросы формирования видимых поверхностей (skinning) 3D-моделей, основанных на скелетном подходе. Обсуждено сглаживание по Лапласу с учетом жесткости (rigidness Laplacian regularization).The document [A12] discusses the formation of visible surfaces (skinning) of 3D models based on the skeletal approach. Laplace smoothing taking into account rigidity (rigidity Laplacian regularization) is discussed.

В документе [A13] дано сравнение методов skeleton subspace deformation (SSD) и pose space deformation (PSD) при морфинге позы.The paper [A13] compares the skeleton subspace deformation (SSD) and pose space deformation (PSD) methods for pose morphing.

В документе [A14] описана 3D-модель тела человека Skinned Multi-Person Linear model (SMPL).The document [A14] describes a 3D model of the human body Skinned Multi-Person Linear model (SMPL).

В документе [A15] рассмотрены вопросы формирования поверхности 3D-модели тела человека с точки зрения скелетно-мышечной модели.The document [A15] discusses the formation of the surface of a 3D model of the human body from the point of view of the musculoskeletal model.

В документе [A16] описана статистическая 3D-модель тела человека S-SCAPE с нормализацией позы по Wuhrer et al. (WSX) и Neophytou and Hilton (NH).Paper [A16] describes a statistical 3D model of the human body S-SCAPE with pose normalization according to Wuhrer et al. (WSX) and Neophytou and Hilton (NH).

В документе [A17] описан локально-предиктивный подход к получению антропометрических измерений путем преобразования облака точек с применением случайного регрессионного леса.Paper [A17] describes a locally predictive approach to obtaining anthropometric measurements by transforming a point cloud using a random regression forest.

В документе [A18] описано применение генеративно-состязательных сетей (Generative Adversarial Networks, GANs) для формирования поверхностей 3D-модели тела человека.The paper [A18] describes the use of Generative Adversarial Networks (GANs) to generate surfaces of a 3D human body model.

В документе [A19] обсуждаются подходы к реализации параметров формы и позы 3D-модели тела человека.The paper [A19] discusses approaches to implementing the shape and pose parameters of a 3D human body model.

В документе [A20] рассмотрены вопросы параметризации формы 3D-моделей тела человека.The document [A20] discusses the issues of parameterizing the shape of 3D models of the human body.

В документе [A21] описан подход (SobolevFusion) формирования 3D-модели тела человека из одного потока данных RGB-D с применение градиентного потока в пространстве Соболева.The document [A21] describes an approach (SobolevFusion) for generating a 3D model of the human body from a single RGB-D data stream using a gradient stream in Sobolev space.

В документе [A22] описано получение 3D-модели тела человека для виртуальной примерочной из данных одной камеры глубины бытового назначения. Способ включает в себя сегментирование и артикуляцию с последующим извлечением из базы ближайшего по размерам варианта. Утверждается, что способ работоспособен в реальном времени.Paper [A22] describes how to obtain a 3D human body model for a virtual fitting room from data from a single consumer depth camera. The method includes segmentation and articulation followed by extraction from the database of the closest-sized variant. It is claimed that the method is efficient in real time.

В документе [A23] описано применение уточненного скелетного подхода (с использованием характеристических примеров) для формирования поверхности 3D-модели.The paper [A23] describes the use of a refined skeletal approach (using characteristic examples) to generate the surface of a 3D model.

В документе [A24] описано получение 3D-модели тела человека методом Semantic Parametric ReshapING method (SPRING) – с использование 23 семантических размерных параметров.The document [A24] describes obtaining a 3D model of the human body using the Semantic Parametric ReshapING method (SPRING) - using 23 semantic dimensional parameters.

В документе [A25] описано получение 3D-модели тела человека из единственного изображения с камеры глубины.Paper [A25] describes obtaining a 3D model of a human body from a single depth camera image.

В документе [A26] предложен способ получения 3D-модели тела человека из данных одной камеры глубины (BodyFusion) на основе skeleton-embedded surface fusion (SSF) и graph-node deformations. Утверждается, что способ устойчив к шумам и пропускам данных.The document [A26] proposes a method for obtaining a 3D model of the human body from data from a single depth camera (BodyFusion) based on skeleton-embedded surface fusion (SSF) and graph-node deformations. The method is said to be resistant to noise and missing data.

В документе [A27] предложен способ получения 3D-модели тела человека из данных одной камеры глубины (DoubleFusion) с применением Double Node Graph и Joint motion tracking.The document [A27] proposes a method for obtaining a 3D model of the human body from data from a single depth camera (DoubleFusion) using Double Node Graph and Joint motion tracking.

В документе [A28] описан способ реконструкции поверхности 3D-модели тела человека на основе изображений в одежде, полученных с камеры глубины. Способ основан на минимизации целевой функции, определяемой по открытым частям поверхности тела (без одежды).The paper [A28] describes a method for reconstructing the surface of a 3D human body model based on clothing images obtained from a depth camera. The method is based on minimizing the objective function determined by exposed parts of the body surface (without clothing).

В документе [A29] описан способ формирования 3D-модели тела человека с применением сегментирования и артикуляции.The document [A29] describes a method for generating a 3D model of the human body using segmentation and articulation.

В документе [A30] описан способ построения 3D-модели тела человека с использованием одной 3D-камеры и нескольких инерциальных датчиков, закрепляемых на теле человека.The paper [A30] describes a method for constructing a 3D model of the human body using one 3D camera and several inertial sensors mounted on the human body.

В упомянутых выше непатентных документах обсуждаются общие подходы, алгоритмы и математические подробности различных способов реализации 3D-моделей человеческого тела. Технического решения, решающего задачу настоящего изобретения теми же средствами, в уровне техники не обнаружено.The non-patent documents mentioned above discuss the general approaches, algorithms and mathematical details of various ways to implement 3D models of the human body. A technical solution that solves the problem of the present invention using the same means has not been found in the prior art.

Способы сопоставления данных о теле пользователя с данными о предмете одежды также описаны во множестве патентных и непатентных документов. Methods for matching data about a wearer's body with data about an item of clothing are also described in numerous patent and non-patent documents.

В документах US2006287877A1 (Matching the fit of individual garments to individual consumers), US2009276291A1 (System and method for networking shops online and offline), US6546309B1 (Virtual fitting room) по меньшей мере частично описаны наличие входных данных (1) о теле пользователя и данных (2) о предметах одежды, преобразование и/или фильтрация входных данных, сопоставление данных (1) и (2) путем анализа целевой функции, наложение ограничений (краевых условий) на целевую функцию, результаты анализа – определение глобального оптимума целевой функции, выходные данные – рекомендации пользователю по выбору предметов одежды на основе результатов анализа целевой функции. В этих документах не описано сопоставление данных (1) и (2) с использованием нейронной сети и наличие в нейронной сети не менее двух слоев, причем первый слой реализует внутреннее представление сети о размерных признаках человека, а второй слой реализует внутреннее представление сети о размерных признаках предмета одежды (или бренда).The documents US2006287877A1 (Matching the fit of individual garments to individual consumers), US2009276291A1 (System and method for networking shops online and offline), US6546309B1 (Virtual fitting room) at least partially describe the presence of input data (1) about the user’s body and data (2) about garments, transformation and/or filtering of input data, comparison of data (1) and (2) by analyzing the objective function, imposing restrictions (boundary conditions) on the objective function, analysis results - determining the global optimum of the objective function, output data – recommendations to the user on the choice of clothing items based on the results of the analysis of the objective function. These documents do not describe the comparison of data (1) and (2) using a neural network and the presence in the neural network of at least two layers, the first layer implementing the internal representation of the network about the dimensional characteristics of a person, and the second layer implementing the internal representation of the network about the dimensional characteristics item of clothing (or brand).

В документах US2014040041A1 (Garment fitting system and method), US2017039622A1 (Garment size recommendation and fit analysis system and method), US2002188372A1 (Method and system for computer aided garment selection), WO0217160A2 (Method and system for generating a recommendation for a selection of a piece of clothing), US2003028436A1 (Method and system for selling clothes), US2004093105A1 (Method for custom fitting of apparel), US2014180864A1 (Personalized clothing recommendation system and method), US20090210320A1 (System and method for comparative sizing between a well-fitting source item and a target item), US2004083142A1 (System and method for fitting clothing), US2002138170A1 (System, method and article of manufacture for automated fit and size predictions), US2009193675A1 (Systems and methods for collecting body measurements, virtually simulating models of actual and target body shapes, ascertaining garment size fitting, and processing garment orders) по меньшей мере частично описаны наличие входных данных (1) о теле пользователя и данных (2) о предметах одежды, сопоставление данных (1) и (2) путем анализа целевой функции, наложение ограничений (краевых условий) на целевую функцию, результаты анализа – определение глобального оптимума целевой функции, выходные данные – рекомендации пользователю по выбору предметов одежды на основе результатов анализа целевой функции. В этих документах не описано преобразование и/или фильтрация входных данных, сопоставление данных (1) и (2) с использованием нейронной сети и наличие в нейронной сети не менее двух слоев, причем первый слой реализует внутреннее представление сети о размерных признаках человека, а второй слой реализует внутреннее представление сети о размерных признаках предмета одежды (или бренда).In documents US2014040041A1 (Garment fitting system and method), US2017039622A1 (Garment size recommendation and fit analysis system and method), US2002188372A1 (Method and system for computer aided garment selection), WO0217160A2 (Method and system for generating a recommendation for a selection of a piece of clothing), US2003028436A1 (Method and system for selling clothes), US2004093105A1 (Method for custom fitting of apparel), US2014180864A1 (Personalized clothing recommendation system and method), US20090210320A1 (System and method for comparative sizing between a well-fitting source item and a target item), US2004083142A1 (System and method for fitting clothing), US2002138170A1 (System, method and article of manufacture for automated fit and size predictions), US2009193675A1 (Systems and methods for collecting body measurements, virtually simulating models of actual and target body shapes, ascertaining garment size fitting, and processing garment orders) at least partially describe the presence of input data (1) about the user’s body and data (2) about clothing items, comparing data (1) and (2) by analyzing the objective function, imposing restrictions (boundary conditions) on the objective function, analysis results - determining the global optimum of the objective function, output data - recommendations to the user on the choice of clothing items based on the results of the analysis of the objective function. These documents do not describe the transformation and/or filtering of input data, the comparison of data (1) and (2) using a neural network, and the presence of at least two layers in the neural network, the first layer implementing the internal representation of the network about the dimensional characteristics of a person, and the second The layer implements the network’s internal representation of the dimensional characteristics of a piece of clothing (or brand).

В документах 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) с использованием нейронной сети и наличие в нейронной сети не менее двух слоев, причем первый слой реализует внутреннее представление сети о размерных признаках человека, а второй слой реализует внутреннее представление сети о размерных признаках предмета одежды (или бренда).Documents US2005049816A1 (System and method for assisting shoe selection), US2011099122A1 (System and method for providing customers with personalized information about products) at least partially describe the presence of input data (1) about the user's body and data (2) about items of clothing , transformation and/or filtering of input data, comparison of data (1) and (2) by analyzing the objective function, the results of the analysis - determining the global optimum of the objective function, output data - recommendations for the user on the choice of clothing items based on the results of the analysis of the objective function. These documents do not describe the imposition of restrictions (boundary conditions) on the objective function, the comparison of data (1) and (2) using a neural network, and the presence of at least two layers in the neural network, with the first layer implementing the internal representation of the network about the dimensional characteristics of a person, and the second layer implements the network’s internal representation of the dimensional attributes of a piece of clothing (or brand).

В документах WO2010014599A1 (A distributed matching system for comparing garment information and buyer information), US2011184831A1 (An item recommendation system), US2012259581A1 (Apparatus, system and method for providing garment fitting identification), US20110295711A1 (Apparel fit advisory service), US20060059054A1(Apparel size service), US2002178061A1(Body profile coding method and apparatus useful for assisting users to select wearing apparel), US2007198120A1 (Computer system for rule-based clothing matching and filtering considering fit rules and fashion rules), US2016155186A1 (Digital wardrobe using simulated forces on garment models), US2007022013A1 (Fitting systems), US2009234489A1 (Fitting systems), US6741728B1 (Footwear sizing database method), WO2009090391A1 (Garment filter generation system and method), US2011231278A1 (Garment sizing system), WO2008033138A1 (Matching the fit of garments to consumers), US2008235114A1 (Matching the fit of individual garments to 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), EP3171323A1 (System and method for determining and dispensing one or more tailored articles of clothing), US6879945B1 (System and method for sizing footwear over a computer network), US2005022708A1 (Systems and methods for improved apparel fit), US2019073335A1 (Using artificial intelligence to determine a size fit prediction), US2007005174A1 (Virtual apparel fitting) по меньшей мере частично описаны наличие входных данных (1) о теле пользователя и данных (2) о предметах одежды, сопоставление данных (1) и (2) путем анализа целевой функции, результаты анализа – определение глобального оптимума целевой функции, выходные данные – рекомендации пользователю по выбору предметов одежды на основе результатов анализа целевой функции. В этих документах не описаны преобразование и/или фильтрация входных данных, наложение ограничений (краевых условий) на целевую функцию, сопоставление данных (1) и (2) с использованием нейронной сети и наличие в нейронной сети не менее двух слоев, причем первый слой реализует внутреннее представление сети о размерных признаках человека, а второй слой реализует внутреннее представление сети о размерных признаках предмета одежды (или бренда).In documents WO2010014599A1 (A distributed matching system for comparing garment information and buyer information), US2011184831A1 (An item recommendation system), US2012259581A1 (Apparatus, system and method for providing garment fitting identification), US20110295711A1 (Apparel fit advisory service), US20060059054A1 (Apparel size service), US2002178061A1(Body profile coding method and apparatus useful for assisting users to select wearing apparel), US2007198120A1 (Computer system for rule-based clothing matching and filtering considering fit rules and fashion rules), US2016155186A1 (Digital wardrobe using simulated forces on garment models), US2007022013A1 (Fitting systems), US2009234489A1 (Fitting systems), US6741728B1 (Footwear sizing database method), WO2009090391A1 (Garment filter generation system and method), US2011231278A1 (Garment sizing system), WO2008033138A1 (M atching 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 dressing rooms or hybrid stores), US2014279289A1 (Mobile application and method for virtual dressing room visualization), US20120084987A1 (Shaped fit sizing system), EP3171323A1 (System and method for determining and dispensing one or more tailored articles of clothing), US6879945B1 (System and method for sizing footwear over a computer network), US2005022708A1 (Systems and methods for improved apparel fit), US2019073335A1 (Using artificial intelligence to determine a size fit prediction), US2007005174A1 (Virtual apparel fitting) by the presence of input data (1) about the user’s body and data (2) about items of clothing, comparison of data (1) and (2) by analyzing the objective function, analysis results - determination of the global optimum of the objective function, output data - recommendations to the user are at least partially described on the choice of clothing items based on the results of the analysis of the objective function. These documents do not describe the transformation and/or filtering of input data, the imposition of restrictions (boundary conditions) on the objective function, the comparison of data (1) and (2) using a neural network, and the presence of at least two layers in the neural network, with the first layer implementing the internal representation of the network about the dimensional characteristics of a person, and the second layer implements the internal representation of the network about the dimensional characteristics of a piece of clothing (or brand).

В документе [C1] описано применение нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.Paper [C1] describes the use of a neural network to generate a realistic image of an item of clothing on a person's digital avatar.

В документе [C2] описано применение нейронной сети для переноса изображения предмета одежды с цифрового аватара одного человека на цифровой аватар другого человека.Paper [C2] describes the use of a neural network to transfer an image of an item of clothing from one person's digital avatar to another person's digital avatar.

В документе [C3] описано применение нелинейной регрессионной модели на основе нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека и применение рекуррентной нейронной сети для вычисления складок одежды в динамике.Paper [C3] describes the use of a nonlinear regression model based on a neural network to generate a realistic image of an item of clothing on a digital avatar of a person and the use of a recurrent neural network to calculate the folds of clothing over time.

В документе [C4] описано применение вейвлетной нейронной сети для дистанционного определения размера одежды.Paper [C4] describes the use of a wavelet neural network for remote clothing sizing.

В документе [C5] дан обзор подходов к реализации виртуальных примерочных. Упоминается применение нейронных сетей.Paper [C5] provides an overview of approaches to implementing virtual fitting rooms. The use of neural networks is mentioned.

В документе [C6] дан обзор подходов к реализации рекомендательных систем для одежды. Упоминается применение нейронных сетей.Paper [C6] provides an overview of approaches to implementing clothing recommender systems. The use of neural networks is mentioned.

В документе [C6] дан обзор подходов к реализации рекомендательных систем для одежды с использованием снимков, полученных пользователем самостоятельно.Paper [C6] provides an overview of approaches to implementing clothing recommendation systems using self-reported images.

В документе [C7] описано применение сверточной нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека в различных позах.Paper [C7] describes the use of a convolutional neural network to generate a realistic image of an item of clothing on a digital avatar of a person in various poses.

В документе [C8] описано применение преобразования сплайнов на основе сверточной нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека в различных позах.Paper [C8] describes the use of spline transformation based on a convolutional neural network to generate a realistic image of a clothing item on a digital human avatar in various poses.

В документе [C9] описано применение многослойной нейронной сети для реализации виртуальной примерочной.The paper [C9] describes the use of a multilayer neural network to implement a virtual fitting room.

В документе [C10] описано применение конкурентной нейронной сети и самоорганизующейся нейронной сети для моделирования рубашек с целью реализации виртуальной примерочной.Paper [C10] describes the use of a competitive neural network and a self-organizing neural network for shirt modeling to implement a virtual fitting room.

В документе [C11] описано применение сверточной нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.The paper [C11] describes the use of a convolutional neural network to generate a realistic image of an item of clothing on a digital human avatar.

В документе [C12] описано применение нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.The paper [C12] describes the use of a neural network to generate a realistic image of an item of clothing on a person's digital avatar.

В документе [C13] описано применение глубокой нейронной сети для реализации рекомендательной системы для косметики.Paper [C13] describes the use of a deep neural network to implement a recommender system for cosmetics.

В документе [C14] описано применение нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.The paper [C14] describes the use of a neural network to generate a realistic image of an item of clothing on a person's digital avatar.

В документе [C15] упоминается применение нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.The paper [C15] mentions the use of a neural network to generate a realistic image of a piece of clothing on a person's digital avatar.

В документе [C16] дан обзор подходов к реализации виртуальных примерочных. Упоминается применение нейронных сетей.Paper [C16] provides an overview of approaches to implementing virtual fitting rooms. The use of neural networks is mentioned.

В документе [C17] дан обзор подходов к реализации виртуальных примерочных.Paper [C17] provides an overview of approaches to implementing virtual fitting rooms.

В указанных выше непатентных документах описаны подходы к применению нейронных сетей, в том числе многослойных, для решения задач, связанных с дистанционным выбором одежды. The above non-patent documents describe approaches to the use of neural networks, including multilayer ones, to solve problems associated with remote selection of clothing.

Таким образом, технические решения известного уровня техники с большим или меньшим успехом решают фрагментарные задачи, так или иначе связанные с дистанционным выбором одежды. При этом технического решения, комплексно решающего задачу настоящего изобретения, в уровне техники не обнаружено.Thus, technical solutions of the prior art with greater or lesser success solve fragmented problems, one way or another related to the remote selection of clothing. However, no technical solution that comprehensively solves the problem of the present invention has been found in the prior art.

Раскрытие изобретенияDisclosure of the Invention

Задачей настоящего изобретения является определение антропометрических параметров пользователя, автоматическое оценивание соответствия предмета одежды форме и размерам тела пользователя в реальном времени, выработка и предоставление пользователю рекомендаций по выбору того или иного предмета одежды и, опционально, визуализация предмета одежды на цифровом аватаре этого пользователя в виртуальной примерочной, в том числе, при изменении его позы.The objective of the present invention is to determine the anthropometric parameters of the user, automatically assess the suitability of a piece of clothing to the shape and size of the user's body in real time, develop and provide the user with recommendations for choosing a particular piece of clothing and, optionally, visualize the piece of clothing on the digital avatar of this user in a virtual fitting room , including when changing his posture.

Техническим результатом настоящего изобретения является повышение точности модели тела пользователя, повышение эффективности дистанционного выбора одежды пользователем (ускорение и повышение точности выбора), улучшение впечатления пользователя (user experience) от дистанционной покупки, повышение удовлетворенности пользователя от покупки одежды (customer satisfaction) и, в конечном счете, увеличение объемов онлайн-продаж одежды и снижение доли одежды, возвращенной после покупки из-за неудовлетворительного соответствия форме и размерам фигуры пользователя.The technical result of the present invention is to increase the accuracy of the user's body model, increase the efficiency of the user's remote selection of clothes (speeding up and increasing the accuracy of the selection), improve the user experience from the remote purchase, increase the user's satisfaction from the purchase of clothing (customer satisfaction) and, ultimately account, an increase in the volume of 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 a method for remote selection of clothing, including:

- определение размерных признаков человека;- determination of human dimensional characteristics;

- определение размерных признаков одного или нескольких предметов одежды;- determination of dimensional characteristics of one or more items of clothing;

- сопоставление размерных признаков человека с размерными признаками одного или нескольких предметов одежды для определения степени соответствия человеку этих предметов одежды;- comparison of the dimensional characteristics of a person with the dimensional characteristics of one or more items of clothing to determine the degree to which these items of clothing correspond to a person;

- опционально визуализация предмета одежды;- optional visualization of the item of clothing;

- совершение выбора предмета одежды.- making a choice of clothing item.

Определение размерных признаков человека может включать в себя формирование параметрической модели человека. Параметрическая модель человека может формироваться на основе геометрической модели человека, на основе данных физического обмера тела человека, на основе данных анкетирования, на основе данных двумерного изображения (например, фотографического снимка), на основе данных физического обмера эталонного предмета одежды, на основе данных оптического обмера эталонного предмета одежды. Параметрическая модель человека может формироваться с использованием нейронной сети и алгоритма машинного обучения.Determining the dimensional characteristics of a person may include the formation of a parametric model of the person. A parametric model of a person can be formed on the basis of a geometric model of a person, on the basis of physical measurement data of the human body, on the basis of questionnaire data, on the basis of two-dimensional image data (for example, a photograph), on the basis of physical measurement data of a reference item of clothing, on the basis of optical measurement data standard item of clothing. A parametric human model can be formed using a neural network and a machine learning algorithm.

Геометрическая модель человека может формироваться на основе данных трехмерного сканирования тела человека, включая оптическое сканирование. Оптическое сканирование может включать в себя использование камеры глубины, лазерного дальномера и других подобных средств, позволяющих получать данные о поверхности тела человека. Геометрическая модель человека может формироваться с использованием нейронной сети и алгоритма машинного обучения.A geometric model of a person can be formed based on three-dimensional scanning data of the human body, including optical scanning. Optical scanning may involve the use of a depth camera, laser range finder, or other similar means to obtain data about the surface of the human body. A geometric model of a person can be formed using a neural network and a machine learning algorithm.

Размерные признаки человека могут определяться с использованием линейной алгебры и/или с использованием алгоритма машинного обучения. При этом возможен вариант осуществления изобретения, в котором сначала определяются промежуточные размерные признаки человека с использованием линейной алгебры, а затем определяются окончательные размерные признаки человека с использованием алгоритма машинного обучения. В алгоритме машинного обучения может использоваться регрессионная модель.Dimensional features of a person can be determined using linear algebra and/or using a machine learning algorithm. In this case, an embodiment of the invention is possible in which the intermediate dimensional features of a person are first determined using linear algebra, and then the final dimensional features of a person are determined using a machine learning algorithm. A machine learning algorithm may use a regression model.

Размерные признаки предмета одежды могут определяться на основе производственной геометрической модели, которая может представлять собой физический манекен, трехмерную цифровую модель, набор лекал и т.д. Размерные признаки предмета одежды также могут определяться на основе производственной параметрической модели, которая может представлять собой по меньшей мере часть технологической документации предмета одежды, например, технического задания (tech pack) и/или листа спецификации (spec sheet) и/или спецификации материалов (bill of materials) и/или правил градации размеров (grading rules). Производственная параметрическая модель может представлять собой по меньшей мере часть размерной сетки бренда.The sizing characteristics of a garment can be determined based on a production geometric model, which can be a physical mannequin, a three-dimensional digital model, a set of patterns, etc. Dimensional characteristics of a garment can also be determined based on a manufacturing parametric model, which may represent at least part of the technological documentation of the garment, for example, a technical specification (tech pack) and/or specification sheet (spec sheet) and/or specification of materials (bill of materials) and/or grading rules. The manufacturing parametric model may represent at least part of the brand's sizing chart.

Размерные признаки предмета одежды могут определяться на основе данных физического обмера предмета одежды или на основе данных оптического обмера предмета одежды, в частности, с использованием алгоритма машинного зрения.Dimensional features of a garment can be determined based on physical measurement data of the garment or on the basis of optical measurement data on the clothing item, in particular, using a computer vision algorithm.

Сопоставление размерных признаков человека и предмета одежды может включать в себя анализ целевой функции. В другом случае сопоставление размерных признаков человека и предмета одежды может включать в себя использование нейронной сети и алгоритма машинного обучения. Нейронная сеть может содержать по меньшей мере два слоя, один из которых выполняет роль энкодера, а другие выполняют роль декодера. Слой, выполняющий роль энкодера, может обучаться отдельно от слоев, выполняющих роль декодера. В другом случае слой, выполняющий роль энкодера, может обучаться совместно со слоями, выполняющими роль декодера. Например, начальное обучение энкодера может выполняться отдельно от декодера, а дальнейшее обучение может выполняться совместно с декодером.Comparison of dimensional characteristics of a person and a piece of clothing may include analysis of the objective function. In another case, matching the dimensional attributes of a person and an item of clothing may involve the use of a neural network and a machine learning algorithm. A neural network may 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. In another case, the layer that acts as an encoder can be trained together with the layers that act as a decoder. For example, initial training of the encoder may be performed separately from the decoder, and further training may be performed in conjunction with the decoder.

Размерные признаки человека и/или предмета одежды могут включать в себя по меньшей мере одно из следующего: высота, расстояние, обхват и расстояние по криволинейной поверхности. Для сопоставления размерных признаков человека и предмета одежды эти размерные признаки могут приводиться к сопоставимому виду или формату данных.Dimensional attributes of a person and/or article of clothing may include at least one of the following: height, distance, girth, and distance along a curved surface. To compare the dimensional characteristics of a person and an item of clothing, these dimensional characteristics can be reduced to a comparable type or data format.

Визуализация предмета одежды может выполняться на виртуальном манекене или на аватаре пользователя. Аватар (цифровой двойник) может представлять собой 3D-модель тела человека и может обеспечивать реалистичное изображение головы человека. Аватар может учитывать индивидуальные особенности внешности пользователя – цвет кожи, разрез глаз, вид и цвет волос, возрастные проявления и т.д. Визуализация может включать в себя возможность задания и/или изменения положения аватара (позы, жестов и т.д.), ракурса, масштаба (приближение или удаление), ситуационного фона, условий освещения и т.п.The visualization of the clothing item can be performed on a virtual mannequin or on a user avatar. An avatar (digital twin) can be a 3D model of a person's body and can provide a realistic representation of the person's head. The avatar can take into account the individual characteristics of the user’s appearance - skin color, eye shape, hair type and color, age manifestations, etc. Visualization may include the ability to set and/or change the position of the avatar (posture, gestures, etc.), angle, scale (zooming in or out), situational background, lighting conditions, etc.

Выбор предмета одежды может выполняться из списка предметов одежды, ранжированного по степени соответствия этих предметов одежды пользователю. Соответствие предмета одежды может включать в себя физическое соответствие фигуре и стилистическое соответствие. Выбор предмета одежды может включать в себя отказ от выбора предмета одежды, т.е. выбор предмета одежды является опциональным и может отсутствовать в некоторых вариантах осуществления изобретения (например, если пользователю не удалось подобрать требуемый предмет одежды).The selection of a clothing item may be made from a list of clothing items ranked by the degree of suitability of the clothing items to the user. Fit of a garment can include physical fit and stylistic fit. Selecting an item of clothing may include not selecting an item of clothing, i.e. selection of a clothing item is optional and may not be present in some embodiments of the invention (eg, if the user is unable to select the desired clothing item).

Способ определения размерных признаков человека может включать в себя:A method for determining the size characteristics of a person may include:

- построение геометрической модели тела человека;- construction of a geometric model of the human body;

- построение параметрической модели тела человека на основе геометрической модели;- construction of a parametric model of the human body based on a geometric model;

- определение размерных признаков человека на основе параметрической модели тела человека.- determination of dimensional characteristics of a person based on a parametric model of the human body.

Определение размерных признаков человека может дополняться определением типа фигуры человека.Determining the size characteristics of a person can be supplemented by determining the type of human figure.

Построение геометрической модели тела человека может включать в себя получение карты глубины и преобразование карты глубины в облако точек. Преобразование карты глубины в облако точек может включать в себя применение билатерального фильтра. Построение геометрической модели тела человека может выполняться для канонической позы человека.Constructing 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 may involve applying a bilateral filter. The construction of a geometric model of the human body can be performed for the canonical human pose.

Построение параметрической модели может включать в себя:Building a parametric model may include:

- вычисление начального приближения параметров позы; - calculation of the initial approximation of the pose parameters;

- уточнение параметров позы;- clarification of pose parameters;

- уточнение параметров позы и формы;- clarification of posture and shape parameters;

- построение графа морфирующего поля, обеспечивающего преобразование геометрической модели из канонической позы и/или формы в произвольную позу и/или форму.- construction of a morphing field graph that ensures the transformation of a geometric model from a canonical pose and/or shape to an arbitrary pose and/or shape.

При вычислении начального приближения параметров позы может использоваться информация о положении характерных точек скелета человека в параметрической модели. Характерные точки могут соответствовать центрам суставов и/или тем участкам скелета, которые учитываются при сегментации тела человека с точки зрения возможностей изменения позы.When calculating the initial approximation of pose parameters, information about the position of characteristic points of the human skeleton in the parametric model can be used. The characteristic points can correspond to the centers of the joints and/or those parts of the skeleton that are taken into account when segmenting the human body from the point of view of the possibilities of changing the pose.

Уточнение параметров позы может включать в себя минимизацию функции ошибки по параметрам позы. Функция ошибки по параметрам позы может включать в себя сумму квадратов углов между парами отрезков, связывающих характерные точки скелета человека в геометрической модели и в параметрической модели, и/или сумму квадратов расстояний между парами точек из множества характерных точек в геометрической модели и в параметрической модели, см. также раздел 2.2. Refining the pose parameters may involve minimizing an error function over the pose parameters. The error function for pose parameters may include the sum of squared angles between pairs of segments connecting characteristic points of the human skeleton in a geometric model and in a parametric model, and/or the sum of squared distances between pairs of points from a set of characteristic points in a geometric model and in a parametric model, see also section 2.2.

При этом может сначала использоваться функция ошибки по параметрам позы, равная сумме квадратов углов между парами отрезков, связывающих характерные точки скелета человека в геометрической модели и в параметрической модели, а затем – функция ошибки по параметрам позы, равная сумме квадратов расстояний между парами точек из множества характерных точек в геометрической модели и в параметрической модели.In this case, the error function for the pose parameters can first be used, equal to the sum of the squares of the angles between pairs of segments connecting the characteristic points of the human skeleton in the geometric model and in the parametric model, and then the error function for the pose parameters, equal to the sum of the squares of the distances between pairs of points from the set characteristic points in the geometric model and in the parametric model.

Уточнение параметров позы и формы может включать в себя минимизацию функции ошибки по параметрам позы и формы. Функция ошибки по параметрам позы и формы может представлять собой следующую функцию: Refining the pose and shape parameters may involve minimizing an error function over the pose and shape parameters. The error function for the pose and shape parameters can be the following function:

, ,

где P – множество видимых точек x геометрической модели, θ – параметры позы, β - параметры формы, U – множество видимых вершин параметрической модели с параметрами позы и формы (θ, β), p – функция Хьюбера с параметром δ, равным 1, см. также раздел 2.2.where P is the set of visible points x of the geometric model, θ is the pose parameters, β is the shape parameters, U is the set of visible vertices parametric model with pose and shape parameters ( θ , β ), p – Huber function with parameter δ equal to 1, see also section 2.2.

Граф морфирующего поля может иметь вершины, содержащие координаты в трехмерном пространстве, параметры Евклидова преобразования, весовой коэффициент Евклидова преобразования. Граф также может иметь ребра между вершинами, обеспечивающие связность морфирующего поля, т.е. гладкость геометрической модели требуемой формы в произвольной позе, которая может быть построена на основе параметрической модели. Гладкость такого преобразования может быть важной при формировании аватара пользователя с целью качественной визуализации предмета одежды.The morphing field graph can have vertices containing coordinates in three-dimensional space, parameters of the Euclidean transform, and a weighting coefficient of the Euclidean transform. The graph may also have edges between the vertices that provide connectivity to 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 such a transformation can be important when creating a user avatar for the purpose of high-quality visualization of a piece of clothing.

Формирование вершин графа может включать в себя:The formation of graph vertices may include:

- выбор значения δ радиуса соседства;- selection of the value δ of the neighborhood radius;

- разбиение пространства на вокселы со стороной 2δ;- division of space into voxels with a side of 2δ;

- определение координат вершины, как координат медоида для каждого воксела;- determination of vertex coordinates as medoid coordinates for each voxel;

- назначение весового коэффициента, равного 2δ, для каждой вершины, см. также раздел 2.2.- assignment of a weighting coefficient equal to 2δ for each vertex, see also section 2.2.

Ребра между вершинами графа могут формироваться, когда эти вершины являются одними из ближайших, например, восьми соседних вершин по кратчайшему пути в графе.Edges between vertices in a graph can be formed when those vertices are among the closest, for example, eight neighboring vertices along the shortest path in the graph.

Евклидово преобразование произвольной точки x может включать в себя:The Euclidean transformation of an arbitrary point x may include:

- определение ближайших к точке x вершин графа;- determination of the vertices closest to point x graph;

- вычисление взвешенной суммы двойных кватернионов этих вершин, при этом вес w каждого двойного кватерниона рассчитывается по следующей формуле:- calculating the weighted sum of double quaternions of these vertices, with the weight w of each double quaternion calculated using the following formula:

или принимается равным 0, если где весовой коэффициент вершины;or is taken equal to 0 if Where vertex weight;

- нормирование результата суммирования;- normalization of the summation result;

- построение матрицы ортогонального преобразования R и вектора переноса t, при этом результатом преобразования точки x является точка Rx + t.- construction of an orthogonal transformation matrix R and a translation vector t , while the result of the transformation of point x is the point Rx + t .

Параметрическая модель тела человека может строиться с использованием нейронной сети и алгоритма машинного обучения, который может включать в себя использование функции ошибки определения характерных точек скелета человека в двумерном пространстве, функции ошибки определения характерных точек скелета человека в трехмерном пространстве, функции ошибки определения параметров модели SMPL и функции ошибки определения карты глубины, см. также раздел 2.2. В алгоритме машинного обучения может использоваться регрессионная модель.A parametric model of the human body can be built using a neural network and a machine learning algorithm, which may include the use of the error function for determining characteristic points of the human skeleton in two-dimensional space, the error function for determining 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 machine learning algorithm may use a regression model.

Определение размерных признаков предмета одежды может включать в себя получение размерных признаков предмета одежды из производственной модели. Производственная модель может быть параметрической моделью, а получение размерных признаков предмета одежды может включать в себя преобразование параметров производственной модели в размерные признаки предмета одежды. Производственная модель может быть геометрической моделью, а получение размерных признаков предмета одежды может включать в себя преобразование геометрической производственной модели в параметрическую производственную модель и последующее преобразование параметров производственной модели в размерные признаки предмета одежды. Determining dimensional attributes of a garment may include obtaining dimensional attributes of the garment from a production model. The manufacturing model may be a parametric model, and obtaining the dimensional attributes of the garment may involve converting the parameters of the manufacturing model into dimensional attributes of the garment. The manufacturing model may be a geometric model, and obtaining the dimensional attributes of a garment may involve converting the geometric manufacturing model to a parametric manufacturing model and then converting the parameters of the manufacturing model into dimensional attributes of the garment.

Производственная геометрическая модель может представлять собой физический манекен, трехмерную цифровую модель или набор лекал. Производственная параметрическая модель может представлять собой по меньшей мере часть технологической документации предмета одежды и/или по меньшей мере часть размерной сетки бренда. The production geometric model can be a physical mannequin, a 3D digital model, or a set of patterns. The manufacturing parametric model may represent at least part of the manufacturing documentation of the garment and/or at least part of the brand's sizing chart.

Определение степени соответствия человеку предмета одежды может включать в себя сопоставление размерных признаков человека и предмета одежды с использованием целевой функции, учитывающей влияние каждого размерного признака на степень соответствия человеку предмета одежды.Determining the degree of human fit of a clothing item may include comparing dimensional attributes of the person and the clothing item using an objective function that takes into account the effect of each dimensional attribute on the degree of human fit of the clothing item.

Целевая функция может представлять собой функциюThe objective function may be a function

, ,

где М – число размерных признаков, – размерный признак человека, – размерный признак предмета одежды, – взвешивающий коэффициент, и может подвергаться минимизации.where M is the number of dimensional features, - a dimensional sign of a person, – dimensional indication of a piece of clothing, is a weighting factor and can be minimized.

Определение степени соответствия человеку предмета одежды может включать в себя определение рекомендуемого размера S одежды:Determining the degree to which an item of clothing fits a person may include determining the recommended clothing size S :

S = Σ(w i s i ) / Σw i + ds , S = Σ(w i s i )/Σw i +ds,

где s i – размер, соответствующий i-му размерному признаку, w i – весовой коэффициент i-го размерного признака, ds – по меньшей мере одно опциональное поправочное значение. Поправочное значение может определяться индивидуально для каждого пользователя или для группы пользователей, например, обладающих фигурами одного типа. Вычисленный таким образом размер может дополнительно приводиться в соответствие с размерной сеткой бренда.Wheres i – size correspondingi-th dimensional characteristic,w i - weight coefficienti-th dimensional characteristic,ds – 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 figures of the same type. The size calculated in this way can be additionally adjusted to the brand’s sizing chart.

Результатом может являться список предметов одежды, в котором предметы одежды могут быть расположены в соответствии с рейтингом посадки, а предметы одежды с одинаковым рейтингом посадки дополнительно могут быть ранжированы по значению ошибки посадки.The result may be a list of garments, in which garments may be ranked according to fit rating, and garments with the same fit rating may further be ranked by fit error value.

Размерные признаки человека могут представлять собой размерные признаки эталонного предмета одежды, т.е. такого предмета одежды, соответствие которого пользователю не вызывает сомнений. В частности, размерные признаки эталонного предмета одежды могут использоваться непосредственно при анализе другого предмета одежды, например, того же бренда, относящегося к той же размерной сетке, или могут пересчитываться в размерные признаки в другой размерной сетке, если соотношения размерных признаков в этих размерных сетках заранее известны.The dimensional characteristics of a person may be the dimensional characteristics of a reference item of clothing, i.e. such an item of clothing, the suitability of which to the user is beyond doubt. In particular, the dimensional characteristics of a reference item of clothing can be used directly in the analysis of another item of clothing, for example, the same brand belonging to the same sizing grid, or can be converted into dimensional characteristics in another dimensional grid if the ratios of dimensional characteristics in these dimensional grids are in advance known.

Определение степени соответствия человеку предмета одежды может включать в себя учет стилистических рекомендаций, например, связанных с типом фигуры пользователя.Determining how appropriate a garment is for a person may include taking into account stylistic guidelines, such as those related to the wearer's body type.

Определение степени соответствия человеку предмета одежды может включать в себя сопоставление размерных признаков человека и предмета одежды с использованием нейронной сети и алгоритма машинного обучения. Алгоритм машинного обучения может быть реализован в виде классификатора. В другом случае алгоритм машинного обучения может быть реализован в виде алгоритма градиентного бустинга дерева решений.Determining the degree to which an item of clothing fits a person may involve matching the dimensional attributes of the person and the item of clothing using a neural network and a machine learning algorithm. The machine learning algorithm can be implemented as a classifier. In another case, the machine learning algorithm can be implemented as a decision tree gradient boosting algorithm.

Визуализация предмета одежды может включать в себя:Visualization of a garment may include:

- получение изображения тела человека в произвольной позе;- obtaining an image of the human body in an arbitrary pose;

- получение параметрической модели тела человека;- obtaining a parametric model of the human body;

- получение параметрической модели предмета одежды;- obtaining a parametric model of a garment;

- изменение параметров параметрической модели тела человека для ее соответствия произвольной позе;- changing the parameters of a parametric model of the human body to correspond to an arbitrary pose;

- формирование изображения предмета одежды на человеке в произвольной позе.- formation of an image of an item of clothing on a person in an arbitrary pose.

Изображение пользователя может быть получено с любого устройства, способного формировать такое изображение, например, со смартфона, планшета, игровой приставки, ноутбука, настольного компьютера, телевизора, оснащенного камерой, и т.п. Полученное изображение пользователя в произвольной позе может содержать карту глубины и/или двумерное изображение. Параметры позы и/или формы параметрической модели тела пользователя могут изменяться таким образом, чтобы форма и поза аватара пользователя соответствовали полученному изображению. Такая обработка может выполняться в реальном времени.The user's image can be obtained from any device capable of generating such an image, for example, from a smartphone, tablet, game console, laptop, desktop computer, TV equipped with a camera, etc. The resulting image of the user in an arbitrary pose may contain a depth map and/or a two-dimensional image. The pose and/or shape parameters of the user's parametric body model can be changed so that the shape and pose of the user's avatar matches the resulting image. This processing can be done in real time.

Предполагается, что параметры формы параметрической модели тела пользователя в целом соответствуют форме тела пользователя. Тем не менее, если в процессе обработки выявляется существенное расхождение формы тела аватара пользователя с формой тела пользователя, зафиксированной на полученном изображении, параметрическая модель может быть скорректирована. Необходимость такой коррекции может быть вызвана как ограниченной точностью формирования параметрической модели, так и фактическими изменениями формы тела пользователя после формирования параметрической модели, например, увеличением или снижением массы тела, целенаправленной проработкой некоторых групп мышц, изменением осанки, беременностью и т.д.It is assumed that the shape parameters of the user's parametric body model generally correspond to the shape of the user's body. However, if the processing process reveals a significant discrepancy between the user's avatar body shape and the user's body shape recorded in the resulting image, the parametric model can be adjusted. The need for such correction may be caused by both the limited accuracy of the formation of the parametric model, and actual changes in the shape of the user’s body after the formation of the parametric model, for example, an increase or decrease in body weight, targeted training of certain muscle groups, changes in posture, pregnancy, etc.

Краткое описание чертежейBrief description of drawings

Подробное описание различных вариантов реализации изобретения на практике приведено далее со ссылками на приложенные чертежи.A detailed description of various embodiments of the invention in practice is given below with reference to the accompanying drawings.

На фиг. 1 представлена блок-схема алгоритма обработки результатов сканирования и построения модели тела пользователя на основе карт глубины.In fig. Figure 1 shows a block diagram of the algorithm for processing scanning results and constructing a model of the user’s body based on depth maps.

На фиг. 2 представлен пример изменения сцены для соответствия входным данным, сверху вниз: поверхность сцены в каноническом состоянии, входные данные – облако точек входного кадра, поверхность сцены, преобразованная согласно входным данным.In fig. Figure 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.

На фиг. 3 представлена шарнирная модель скелета тела человека, в которой красные (крупные) точки входят во множество ключевых точек скелета, синие (мелкие) точки не входят в него, а зеленые отрезки соответствуют костям рук, ног, позвоночнику, включая шею, а также линиям плеч и таза.In fig. Figure 3 shows an articulated model of the skeleton of the human body, 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, as well as shoulder lines and pelvis.

На фиг. 4 проиллюстрировано решение проблемы, связанной с регуляризацией семантически несвязанных вершин, в частности вершин правой и левой ног, где слева направо представлены: исходная модель, граф, инициализированный предложенным методом, и граф, инициализированный обычной процедурой поиска ближайших соседей. Особое внимание следует обратить на спутанность ног при обычной процедуре.In fig. Figure 4 illustrates the solution to the problem associated with the regularization of semantically unrelated 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 searching for nearest neighbors. Particular attention should be paid to confusion of the legs during the normal procedure.

На фиг. 5 слева представлена визуализация морфирующего поля, в центре – поверхность, полученная из карты глубины очередного кадра, справа – та же поверхность после преобразования в каноническое положение.In fig. 5 on the left is a visualization of the morphing field, in the center is the surface obtained from the depth map of the next frame, on the right is the same surface after transformation to the canonical position.

На фиг. 6 проиллюстрирована сегментация тела человека, где сегменты обозначены разными цветами, а соседние сегменты соединены линиями.In fig. Figure 6 illustrates the segmentation of the human body, where segments are indicated by different colors and adjacent segments are connected by lines.

На фиг. 7 слева изображен результат рендеринга поверхности в карту глубины, а справа – исходная поверхность с видимыми вершинами, обозначенными красными точками.In fig. 7, on the left is the result of rendering a surface into a depth map, and on the right is the original surface with visible vertices, indicated by red dots.

На фиг. 8 представлен набор моделей, которые можно получить путем преобразования исходной модели SMPL за счет вариации трех параметров формы при фиксированных параметрах позы. Красными точками отмечены положения скелетных суставов.In fig. Figure 8 presents a set of models that can be obtained by transforming the original SMPL model by varying three shape parameters while keeping the pose parameters fixed. Red dots indicate the positions of skeletal joints.

На фиг. 9 представлены дефекты сканирования на примере трехмерных снимков набора данных CAESAR – наличие участков поверхности тела с недостающей информацией в районе стоп, кистей и внешней поверхности рук, плечей, головы, а также «склеенных» участков.In fig. Figure 9 shows scanning defects using the example of three-dimensional images of the CAESAR data set - 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.

На фиг. 10 представлен скелет как дерево вершин, где каждая вершина характеризуется положением в пространстве и представляет собой точку сочленения «костей» скелета, а цветом показаны зоны влияния каждого сустава на поверхность модели тела.In fig. Figure 10 shows the skeleton as a tree of vertices, where each vertex is characterized by a position in space and represents the point of articulation 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.

На фиг. 11 проиллюстрировано появление существенных артефактов у модели HumanShape при изменении параметров формы тела человека из-за их влияния на положение скелетных точек.In fig. Figure 11 illustrates the appearance of significant artifacts in the HumanShape model when changing the shape parameters of the human body due to their influence on the position of skeletal points.

На фиг. 12 проиллюстрировано возникновение шумовых геометрических структур, расположенных внутри модели тела человека. Одна геометрическая структура (подсвечена зеленым цветом), попадает в отдельную компоненту связности графа и может быть сравнительно легко удалена, а другая геометрическая структура, являющаяся частью поверхности левого плеча (подсвечена желтым цветом) является частью поверхности тела человека.In fig. Figure 12 illustrates the emergence of noise geometric structures located inside a model of the human body. One geometric structure (highlighted in green) falls into a separate connected component of the graph and can be relatively easily removed, and the other geometric structure, which is part of the surface of the left shoulder (highlighted in yellow), is part of the surface of the human body.

На фиг. 13 представлен пример карты глубины, где цвет указывает на расстояние до точки, а цветовая шкала градуирована в метрах. Карта глубины представляет собой данные о расстоянии от проекционной плоскости камеры до поверхности трехмерной сцены.In fig. Figure 13 shows an example of a depth map, where the color indicates the distance to the point, and the color scale is graduated in meters. A depth map represents the distance from the camera's projection plane to the surface of a 3D scene.

На фиг. 14 проиллюстрировано поэтапное применение параметров формы и параметров позы с предварительным пересчетом координат скелетных суставов, а затем с применением общих параметров трансформации – масштабирования и смещения. Далее вычисляется функция потерь на основе среднеквадратичного отклонения от ближайших вершин.In fig. Figure 14 illustrates the step-by-step application of shape parameters and pose parameters with a 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.

На фиг. 15 представлен график функции активации, используемой при вычислении компоненты, штрафующей за слишком большую величину углов между нормалями соседних треугольников.In fig. Figure 15 shows a graph of the activation function used in calculating the component that penalizes for too large angles between the normals of adjacent triangles.

На фиг. 16–18 представлено сравнение результатов работы предложенной модификации алгоритма NRD и исходного алгоритма [B15] на трехмерном снимке из набора CAESAR. Слева направо представлены: предложенная версия NRD, исходный трехмерный снимок и исходная версия NRD. Цветом обозначены отклонения от трехмерного снимка: белый цвет означает нулевое отклонение, красный цвет означает отклонение не менее 15 мм.In fig. Figures 16–18 show a comparison of the results of the proposed modification of the NRD algorithm and the original algorithm [B15] 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 three-dimensional image: white means zero deviation, red means a deviation of at least 15 mm.

На фиг. 19 представлены результаты работы алгоритма NRD. Слева направо: с классической функцией потерь, 25 тысяч вершин в трехмерном снимке; с классической функцией потерь, 250 тысяч вершин в трехмерном снимке; и с модифицированной функцией потерь, 250 тысяч вершин в трехмерном снимке.In fig. Figure 19 shows the results of the NRD algorithm. From left to right: with classic loss function, 25 thousand vertices in a 3D image; with classic loss function, 250 thousand vertices in a 3D image; and with a modified loss function, 250 thousand vertices in a 3D image.

На фиг. 20 представлены регистрации одного и того же трехмерного снимка с помощью разных параметрических моделей. Слева направо: регистрация на основе модели HumanShape (18659 вершин), исходный трехмерный снимок (250000 вершин), регистрация на основе модели SMPL (18890 вершин).In fig. 20 shows registrations of the same three-dimensional image using different parametric models. From left to right: registration based on the HumanShape model (18659 vertices), original 3D image (250000 vertices), registration based on the SMPL model (18890 vertices).

На фиг. 21А представлены ошибки при регистрации набора данных. Оранжевым цветом обозначены результаты, полученные на основе модели HumanShape, а синим – на основе модели SMPL. Сплошной линией отмечены результаты инициализации регистрации методом, описанным в разделе 2.9.2, а пунктирной линией улучшения регистрации с использованием предложенной модификации алгоритма NRD.In fig. 21A shows errors when registering a data set. Orange indicates results based on the HumanShape model, and blue indicates results based on the SMPL model. The solid line marks the results of initializing registration using the method described in Section 2.9.2, and the dotted line marks the results of improving registration using the proposed modification of the NRD algorithm.

На фиг. 21Б представлены ошибки при регистрации набора данных CAESAR. Синим цветом обозначены результаты регистрации, полученные предложенным методом, а оранжевым цветом – полученные исходным методом.In fig. 21B shows errors when registering the CAESAR data set. Blue color indicates the registration results obtained by the proposed method, and orange color indicates those obtained by the original method.

На фиг. 22 представлен график зависимости объясненной дисперсии от количества учитываемых параметров пространства формы.In fig. Figure 22 shows a graph of the dependence of the explained variance on the number of shape space parameters taken into account.

На фиг. 23 представлено сравнение начальной позы и формы параметрической модели SMPL (слева) и полученной параметрической модели (справа) для мужского и женского тела.In fig. Figure 23 shows a comparison of the initial pose and shape of the SMPL parametric model (left) and the resulting parametric model (right) for a male and female body.

На фиг. 24 представлена визуализация результата раздельного изменения первых четырех параметров формы при фиксации остальных параметрах полученной женской параметрической модели.In fig. Figure 24 shows a visualization of the result of separate changes in the first four shape parameters while fixing the remaining parameters of the resulting female parametric model.

На фиг. 25 представлен график величины коррекции в А-позе для каждой ноги в виде разности фактической длины ноги и ее проекции на вертикальную ось.In fig. Figure 25 shows a graph of the amount of correction in the A-pose for each leg in the form of the difference between the actual length of the leg and its projection on the vertical axis.

На фиг. 26 представлена визуализация размерного признака в виде антропометрической точки.In fig. Figure 26 shows a visualization of a dimensional feature in the form of an anthropometric point.

На фиг. 27 представлена визуализация размерного признака в виде расстояния между двумя антропометрическими точками.In fig. Figure 27 shows a visualization of a dimensional feature in the form of a distance between two anthropometric points.

На фиг. 28 представлена визуализация размерного признака в виде обхвата.In fig. Figure 28 shows a visualization of the dimensional attribute in the form of girth.

На фиг. 29 проиллюстрирован способ измерения размерного признака в виде расстояния по поверхности.In fig. 29 illustrates a method for measuring a dimensional feature in the form of a distance along a surface.

На фиг. 30 представлена визуализация размерного признака в виде расстояния по поверхности.In fig. Figure 30 shows a visualization of a dimensional feature in the form of a distance along the surface.

На фиг. 31 представлен результат сравнения размерных признаков, полученных с помощью заявленного алгоритма, с размерными признаками, полученными путем обмеров тела вручную.In fig. Figure 31 presents the result of comparing dimensional features obtained using the claimed algorithm with dimensional features obtained by manual body measurements.

На фиг. 32 представлен результат сравнения размерных признаков, полученных с помощью заявленного алгоритма, с размерными признаками, определенными по трехмерному снимку.In fig. Figure 32 shows the result of comparing the dimensional features obtained using the claimed algorithm with the dimensional features determined from a three-dimensional image.

На фиг. 33 представлена блок-схема укрупненного алгоритма дистанционного выбора одежды.In fig. Figure 33 shows a block diagram of an enlarged algorithm for remote selection of clothing.

На фиг. 34 представлен иллюстративный пример системы для осуществления способа дистанционного выбора одежды в среде B2C.In fig. 34 shows an illustrative example of a system for implementing a method for remote clothing selection in a B2C environment.

На фиг. 35 представлен иллюстративный пример системы для осуществления способа дистанционного выбора одежды в среде B2B .In fig. 35 shows an illustrative example of a system for implementing a method for remote clothing selection in a B2B environment.

На фиг. 36 схематично представлена архитектура алгоритма Human Mesh Recover.In fig. 36 schematically shows the architecture of the Human Mesh Recover algorithm.

На фиг. 37 схематично представлена архитектура сетей-дискриминаторов для обработки параметров модели SMPL.In fig. 37 schematically shows the architecture of discriminator networks for processing the parameters of the SMPL model.

На фиг. 38 схематично представлена архитектура модифицированного алгоритма Human Mesh Recover и примеры проекции вершин и карты расстояний.In fig. Figure 38 schematically shows the architecture of the modified Human Mesh Recover algorithm and examples of vertex projection and distance maps.

На фиг. 39 представлен пример карты ошибок предсказанной сеточной параметрической 3D модели. Обучение алгоритма может включать в себя штраф за ошибки.In fig. Figure 39 shows an example of an error map of a predicted mesh parametric 3D model. Training the algorithm may include a penalty for errors.

На фиг. 40 представлен результат работы системы. Слева направо: карта глубины, сегментация, ключевые точки, эталонная модель.In fig. 40 shows the result of the system. From left to right: depth map, segmentation, key points, reference model.

На фиг. 41 представлен пример простейшей установки для оптического сканирования одежды.In fig. 41 shows an example of a simple installation for optical scanning of clothing.

На фиг. 42 проиллюстрирована работа алгоритма компьютерного зрения, который определяет вид или категорию одежды, выявляет ключевые точки на изображении, вычисляет контур одежды и на основе этих данных определяет размеры.In fig. 42 illustrates the operation of a computer vision algorithm that 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.

На фиг. 43 представлена блок-схема укрупненного алгоритма рекомендации подходящего размера для конкретной модели одежды.In fig. 43 shows a block diagram of an enlarged algorithm for recommending the appropriate size for a specific clothing model.

На фиг. 44 схематически представлена структура нейронной сети для реализации способа рекомендации на основе алгоритма машинного обучения.In fig. 44 schematically shows the structure of a neural network for implementing a recommendation method based on a machine learning algorithm.

Осуществление изобретенияCarrying out the invention

Далее описаны варианты практической реализации изобретения, не имеющие ограничительного характера. Целью последующего описания является иллюстрация подходов к практической реализации изобретения, а не ограничение объема изобретения описанными вариантами. The following describes non-limiting options for the practical implementation of the invention. The purpose of the following description is to illustrate approaches to the practical implementation of the invention, and not to limit the scope of the invention to the described embodiments.

Для реализации описанного выше подхода предложен следующий укрупненный алгоритм действий (фиг. 33):To implement the approach described above, the following enlarged algorithm of actions is proposed (Fig. 33):

- (31) оптическое сканирование тела пользователя;- (31) optical scanning of the user’s body;

- (32) обработка результатов сканирования и построение модели тела пользователя;- (32) processing scan results and constructing a model of the user’s body;

- (33) определение из построенной модели антропометрических параметров тела пользователя;- (33) determination of the anthropometric parameters of the user’s body from the constructed model;

- (34) выбор по антропометрическим параметрам одной или нескольких наиболее близких производственных моделей из массива производственных моделей разных производителей одежды;- (34) selection by anthropometric parameters of one or more of the closest production models from an array of production models from different clothing manufacturers;

- (35) поиск предметов одежды, пошитых с применением выбранных производственных моделей или пошитых любым образом и предварительно обмеренных с помощью камеры или вручную;- (35) search for garments made using selected production patterns or sewn in any way and pre-measured using a camera or by hand;

- (36) (опционально) визуализация найденных предметов одежды;- (36) (optional) visualization of found items of clothing;

- (37) (опционально) совершение выбора и (опционально) покупки выбранных предметов одежды.- (37) (optional) making a selection and (optional) purchasing selected items of clothing.

Вместо шагов (31) и (32) возможно построение модели тела пользователя на основе данных о пользователе, полученных с использованием одного или нескольких из следующих способов:Instead of steps (31) and (32), it is possible to construct a model of the user's body based on user data obtained using one or more of the following methods:

- заполнение пользователем анкеты;- filling out a questionnaire by the user;

- фотографирование пользователя с одного или нескольких ракурсов;- photographing the user from one or several angles;

- физические измерения тела пользователя.- physical measurements of the user's body.

Кроме того, в некоторых случаях этап построения модели тела на шаге (32) пользователя может быть опущен и антропометрические параметры тела пользователя могут быть получены непосредственно из упомянутых выше данных о пользователе.In addition, in some cases, the body model building step in 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 user data.

В качестве антропометрических параметров пользователя могут быть использованы параметры статистической модели тела человека или заранее известные подходящие пользователю размеры одежды выбранных брендов.The parameters of a statistical model of the human body or previously known clothing sizes of selected brands suitable for the user can be used as anthropometric parameters of the user.

Вместо шагов (34) и (35) может выполняться сравнение антропометрических параметров пользователя с размерной сеткой бренда, с результатами замеров одежды и др. Подробное описание предложенных реализаций представлено в разделах 4 и 5.Instead of steps (34) and (35), a comparison can be made of the user’s anthropometric parameters with the brand’s dimensional grid, with the results of clothing measurements, etc. A detailed description of the proposed implementations is presented in sections 4 and 5.

Шаги (36) и (37) могут быть реализованы в способе, применяемом в онлайн-торговле. Один или оба эти шага могут отсутствовать в способе, применяемом в других ситуациях, например, при формировании виртуального гардероба пользователя, при отложенных покупках, при индивидуальном пошиве одежды с дистанционным снятием мерок, при статистических или маркетинговых исследованиях и т.п.Steps (36) and (37) can be implemented in a method used in online trading. One or both of these steps may be absent in the method used in other situations, for example, when creating a user’s virtual wardrobe, during deferred purchases, during individual tailoring with remote measurements, during statistical or marketing research, etc.

Необходимо отметить, что в настоящем тексте используется термин «оптическое сканирование», но при этом все сказанное верно и в более общем случае: т. е. везде по тексту вместо термина «оптическое сканирование» допустимо использование более широкого термина «трехмерное сканирование», верность всех утверждений при этом полностью сохраняется.It should be noted that in this text the term “optical scanning” is used, but everything said is also true in a more general case: that is, throughout the text, instead of the term “optical scanning”, it is permissible to use the broader term “three-dimensional scanning”, correct all statements are completely preserved.

Также необходимо отметить, что кроме оптического/трехмерного сканирования все сказанное в настоящем тексте верно и при захвате любым образом любых данных, необходимых для воссоздания модели человека, в том числе фото- и видеосъемка (к примеру, с использованием подходом фотограмметрии), а также проведение различных измерений (рост, вес и др.).It should also be noted that, in addition to optical/three-dimensional scanning, everything said in this text is also true when capturing in any way any data necessary to reconstruct a human model, including photo and video shooting (for example, using the photogrammetry approach), as well as various measurements (height, weight, etc.).

Также необходимо отметить, что поиск и выбор можно осуществлять не только по антропометрическим параметрам, как указано на шаге (34), но и по различным иным параметрам (параметрам статистической модели и т. д.). Таким образом, везде, где в настоящем тексте встречается термин «антропометрические параметры» (включающий в себя, в частности, размерные признаки и тип фигуры), его можно заменить на более широкий термин «параметры модели» с полным сохранением смысла.It should also be noted that the search and selection can be carried out not only by anthropometric parameters, as indicated in step (34), but also by various other parameters (statistical model parameters, etc.). Thus, wherever the term “anthropometric parameters” (including, in particular, dimensional characteristics and body type) appears in this text, it can be replaced by the broader term “model parameters” with full preservation of the meaning.

Также необходимо отметить, что под используемым в данном тексте термином «производственные модели» могут подразумеваться физические манекены, живые модели (манекенщики и манекенщицы на производстве), компьютерные модели (манекенов, манекенщиков, манекенщиц).It should also be noted that the term “production models” used in this text can mean physical mannequins, live models (mannequins and fashion models in production), computer models (mannequins, mannequins, fashion models).

В случае рекомендаций одежды на основе сравнения антропометрических параметров пользователя и замеров одежды, замерами одежды могут быть замеры сшитой одежды, замеры лекал одежды либо иные параметры. Они могут быть получены из производственной документации одежды (tech pack, grading rules) либо замерами одежды или лекал одежды.In the case of clothing recommendations based on a comparison of the user’s anthropometric parameters and clothing measurements, clothing measurements can be measurements of sewn clothing, measurements of clothing patterns, or other parameters. They can be obtained from clothing production documentation (tech pack, grading rules) or from clothing measurements or clothing patterns.

Если получение производственной документации с таблицами замеров одежды от производителей одежды невозможно или занимает продолжительное время (бизнес-договоренности, подписание соглашений), возможно получение замеров одежды с использованием оптического сканирования.If obtaining production documentation with clothing measurement tables from clothing manufacturers is impossible or takes a long time (business arrangements, signing agreements), it is possible to obtain clothing measurements using optical scanning.

Оптическое сканирование одежды предполагается производить на специальной установке. Установка состоит из стола, например, со светлой столешницей и статической, заранее откалиброванной, камеры (фиг. 41). Для каждого снимка одежды применяется алгоритм компьютерного зрения (фиг. 42), который:Optical scanning of clothing is supposed to be carried out on a special installation. The installation consists of a table, for example, with a light tabletop and a static, pre-calibrated chamber (Fig. 41). For each photograph of clothing, a computer vision algorithm is applied (Fig. 42), which:

1) выявляет тип одежды;1) identifies the type of clothing;

2) вычисляет ключевые точки на снимке;2) calculates key points in the image;

3) вычисляет контур одежды на снимке.3) calculates the outline of the clothing in the photo.

Применяемый алгоритм состоит из набора сверточных нейронных сетей, выполняющих каждую задачу по отдельности: классификатор, регрессор и сегментатор, соответственно.The algorithm used consists of a set of convolutional neural networks that perform each task separately: classifier, regressor and segmenter, respectively.

По полученным описанным алгоритмом данным производится вычисление характерных для каждого вида одежды замеров. Для этого применяются заранее подготовленные для каждого типа одежды правила преобразования ключевых точек и контура в целевые замеры. В завершение алгоритма, используя параметры калибровки камеры, производится трансформация поученных замеров в метрическое пространство.Based on the data obtained by the algorithm described, measurements characteristic of each type of clothing are calculated. To do this, pre-prepared rules for each type of clothing are used to convert key points and contours into target measurements. At the end of the algorithm, using the camera calibration parameters, the acquired measurements are transformed into metric space.

При рекомендации одежды по размеру, предполагается, что имеются:When recommending clothing sizes, it is assumed that there are:

1) размерные признаки пользователя;1) dimensional characteristics of the user;

2) база данных замеров одежды, стратифицированная по типу одежды;2) a database of clothing measurements, stratified by type of clothing;

3) правила сопоставления размерных признаков пользователя и замеров одежды.3) rules for comparing the user’s dimensional characteristics and clothing measurements.

В таком случае алгоритм рекомендации определенного типа одежды по размерным признакам является алгоритмом сравнения векторов в евклидовом пространстве hnsw или faiss. In this case, the algorithm for recommending a certain type of clothing based on size characteristics is an algorithm for comparing vectors in the Euclidean space hnsw or faiss .

1. Оптическое сканирование тела пользователя1. Optical scanning of the user's body

Оптическое сканирование тела пользователя может выполняться различными способами, включая лазерное сканирование, сканирование со структурированной подсветкой, ToF-сканирование (time-of-flight), фотографирование с фиксированных ракурсов, видеосъемку и т.д. Сканирование может выполняться с одной или с нескольких точек. Каждая точка, из которой выполняется сканирование, может быть фиксированной или может перемещаться по определенной траектории. В описанном далее примере реализации изобретения модель строится с использованием полученного при сканировании облака точек, но этот пример носит лишь иллюстративный характер и для построения модели могут использоваться входные данные других видов, такие как карты глубины, изображения со спроецированной структурированной подсветкой и пр.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), photography from fixed angles, video recording, etc. Scanning can be performed from one or multiple points. Each point from which scanning is performed can be fixed or can move along a specific path. In the example implementation of the invention described below, the model is built using the point cloud obtained during scanning, but this example is only illustrative and other types of input data, such as depth maps, images with projected structured illumination, etc., can be used to build the model.

Облако точек может быть получено с применением оптических средств (т.н. «камер глубины»), способных определять глубину трехмерной сцены с достаточным разрешением. Такими возможностями, в частности, обладают устройства 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 и пр.).The 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. Such capabilities, in particular, are available in devices Stereolabs ZED, Carnegie Robotics MultiSense, Ensenso N35, Nerian SceneScan, Intel RealSense, Zivid One+, Arcure Omega, etc. It is also possible to use ASUS Xtion, ASUS Xtion2, Orbbec Astra, Orbbec Persee, Microsoft Kinect, Microsoft Kinect 2, Azure Kinect and similar devices. It is expected that in the foreseeable future, “depth cameras” of acceptable resolution (as well as acceptable noise levels) can be integrated into some models of smartphones and other mobile devices (iPhone X, iPad Pro (2018), Huawei Mate 20 Pro, etc.).

Далее описываются два подхода к обработке результатов сканирования, позволяющие в результате получить параметрическую модель тела человека (раздел 2.8). Первый из подходов основывается на обработке карт глубин и описан в разделе 2. Альтернативный подход позволяет получить параметрическую модель тела человека с использованием одной или нескольких цветных фотографий человека и описан в разделе 3. Данные подходы могут использоваться как независимо, так и вместе. Например, построенная по фотографии модель человека может использоваться для инициализации метода, осуществляющего трехмерную реконструкцию, при наличии на записывающем устройстве возможности одновременной съемки цветных изображений и карт глубин.Next, two approaches to processing scanning results are described, resulting in a parametric model of the human body (section 2.8). The first approach is based on processing depth maps and is described in Section 2. An alternative approach allows one to obtain 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. For example, a model of a person built from a photograph can be used to initialize a method that performs a three-dimensional reconstruction, if the recording device has the ability to simultaneously capture color images and depth maps.

2. Обработка результатов сканирования и построение модели тела пользователя на основе карт глубины2. Processing scan results and building a model of the user’s body based on depth maps

Обработка результатов сканирования основана на принципе трехмерной реконструкции динамических сцен с использованием информации о теле человека из параметрической модели и базируется на идеях, изложенных в [B1], с изменениями, направленными на расширение возможностей алгоритма, а именно на уменьшение ошибок, возникающих вследствие резких движений и перекрытий, а также на увеличение разнообразия возможных начальных позиций пользователя. Изменения относятся к применению сегментации входных карт глубин по частям тела и к положению ключевых точек скелета, а также к алгоритму инициализации и оптимизации. Processing of scanning 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 [B1], with changes aimed at expanding the capabilities of the algorithm, namely reducing errors arising from sudden movements and overlaps, as well as to increase the variety of possible starting user positions. Changes relate to the use of segmentation of input depth maps by body parts and to the position of key points of the skeleton, as well as to the initialization and optimization algorithm.

Графически предложенный способ обработки представлен на фиг. 1. Алгоритм начинает работу с фильтрации подаваемых на вход карт глубины и с преобразования их в облака точек с помощью матрицы внутренней калибровки камеры глубины. Следующим шагом работы алгоритма является инициализация канонической формы и позы параметрической модели. Затем вычисляются изменения параметров преобразования пространства, а также изменения параметров позы модели для наилучшего соответствия очередному кадру изображения. Вычисленные параметры применяются для интеграции данных во внутреннее представление, которое содержит человека в исходной (канонической) позиции. После интеграции алгоритм выполняет подгонку параметров формы и канонической позы.Graphically the proposed processing method is presented in Fig. 1. The algorithm begins work by filtering the depth maps supplied to the input 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 shape and pose of the parametric model. Then changes in space transformation parameters are calculated, as well as changes in model pose parameters to best fit the next image frame. The calculated parameters are used to integrate the data into an internal representation that contains the person at the original (canonical) position. After integration, the algorithm performs fitting of the shape parameters and the canonical pose.

2.1. Предварительная обработка входных данных2.1. Pre-processing of input data

Работа алгоритма предполагает выявление соответствий между облаком точек в трехмерном пространстве, соответствующим текущим измерениям глубины, и поверхностью сцены, полученной из ранее поступивших данных, поэтому поступающие на вход карты глубины должны быть преобразованы в облако точек. Однако карты глубины могут быть сильно зашумлены, например, как показано в [B2], что негативно сказывается на стабильности работы алгоритма. Исходя из предположения о том, что для поверхности тела человека характерно отсутствие резких изменений, можно считать, что изменения глубины между соседними пикселями должны быть резкими только на границах, поэтому для уменьшения шума можно применить билатеральный фильтр [B3], сглаживающий карту глубины, сохраняя границы неизменными. Для преобразования карты глубины в облако точек используется заранее заданная матрица внутренней калибровки камеры [B4].The algorithm's operation involves identifying correspondences between a point cloud in three-dimensional space corresponding to the current depth measurements and the scene surface obtained from previously received data, so the incoming depth maps must be converted into a point cloud. However, depth maps can be very noisy, for example, as shown in [B2], which negatively affects the stability of the algorithm. Based on the assumption that the surface of the human body is characterized by the absence of sharp changes, we can assume that changes in depth between adjacent pixels should be sharp only at the boundaries, therefore, to reduce noise, a bilateral filter [B3] can be applied, smoothing the depth map while preserving the boundaries unchanged. A predefined internal camera calibration matrix [B4] is used to convert the depth map into a point cloud.

2.2. Инициализация параметров2.2. Initializing parameters

Для начала работы всех алгоритмов, основанных на методике дополнения внутреннего представления сцены, к которым также относится и предложенный способ, необходимо определить начальное или, иначе, каноническое состояние сцены, которое затем будет изменяться морфирующим полем для обеспечения соответствия текущему кадру. На фиг. 2 приведен пример изменения сцены для соответствия входным данным, сверху вниз: поверхность сцены в каноническом состоянии, облако точек входного кадра, измененная под входные данные поверхность сцены.To start the work of all algorithms based on the method of supplementing the internal representation of the scene, to which the proposed method also applies, it is necessary to determine the initial or, in other words, the canonical state of the scene, which will then be changed by a morphing field to ensure compliance with the current frame. In fig. Figure 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 point cloud of the input frame, the scene surface modified to suit the input data.

В алгоритме [B1] для начала работы алгоритма пользователь должен стоять в определенной позе, что в контексте применения метода в потребительском сегменте создает дополнительные ограничения. В данной разработке предлагается обойти это ограничение, для чего использован алгоритм инициализации, основанный на результатах работы [B5].In algorithm [B1], for the algorithm to start working, the user must stand in a certain position, which in the context of applying the method in the consumer segment creates additional restrictions. This development proposes to circumvent this limitation by using an initialization algorithm based on the results of [B5].

На вход алгоритма подается первый кадр последовательности, а также информация о сегментации и ключевых точках скелета. Работа алгоритма включает в себя ряд шагов: (1) вычисление начального приближения параметров позы, (2) итеративную минимизацию функции ошибки по параметрам формы и позы, (3) инициализацию графа морфирующего поля по вершинам модели.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 over the shape and pose parameters, (3) initializing the morphing field graph over the model vertices.

На этапе вычисления начального приближения используется информация о положении ключевых точек скелета в параметрической модели и на входном кадре. Поскольку между ключевыми точками, определяемыми на входном кадре, и ключевыми точками модели в общем случае нет четкого соответствия, то для определения значений параметров модели по ключевым точкам, полученным от сенсора, был разработан вспомогательный алгоритм, состоящий из двух шагов. At the stage of calculating the initial approximation, information about the position of key points of the skeleton in the parametric model and on the input frame is used. Since in general there is no clear correspondence between the key points determined on the input frame and the key points of the model, an auxiliary algorithm consisting of two steps was developed to determine the values of the model parameters from the key points received from the sensor.

На первом шаге выполняется минимизация по параметрам позы функции, равной сумме квадратов углов между парами отрезков: , где угол между отрезками, – i-й отрезок из упорядоченного множества отрезков, проведенных, соответственно, между некоторыми ключевыми точками модели или некоторыми ключевыми точками, полученными с сенсора, k = |M v | = |K v |. Отрезки из множеств M v и K v соответствуют костям рук, ног, отделам позвоночника, а также линиям плеч и бедер. At the first step, minimization is performed using the pose parameters of a function equal to the sum of the squares of the angles between pairs of segments: , Where angle between segments, – the i-th segment from an ordered set of segments drawn, respectively, between some key points of the model or some key points obtained from the sensor, k = | M v | = | K v |. Segments from the sets M v and K v correspond to the bones of the arms, legs, parts of the spine, as well as the lines of the shoulders and hips.

На втором шаге по параметрам позы минимизируется сумма квадратов расстояний между парами точек из упорядоченных множеств M J и K J ключевых точек сенсора и модели: , s = |M j | = | K j |. At the second step, using the pose parameters, the sum of squared distances between pairs of points is minimized from ordered sets M J and K J of key points of the sensor and model: , s = | M j | = | K j |.

Пример множеств M v и M J изображен на фиг. 3, где красные (крупные) ключевые точки входят во множество M J , синие (мелкие) точки не входят в него, а зеленые отрезки (соединяющие крупные ключевые точки) входят во множество M v .An example of the sets M v and M J is shown in Fig. 3, where red (large) key points are included in the set M J , blue (small) points are not included in it, and green segments (connecting large key points) are included in the set M v .

На втором этапе для уточнения параметров позы, а также для определения параметров формы модели используется минимизация функции ошибки, определенной какAt the second stage, to refine the pose parameters, as well as to determine the model’s shape parameters, minimization of the error function, defined as

(1) (1)

где P - облако точек, образованное из подаваемой на вход карты глубины, β – параметры формы модели, θ – параметры позы, U – видимая с точки зрения камеры часть вершин параметрической модели с параметрами позы и формы (θ, β). Подробно проблема определения видимых вершин обсуждается далее.where P is a cloud of points formed from the depth map supplied to the input, β are the model’s shape parameters, θ are the pose parameters, U is the part of the vertices of the parametric model with the pose and shape parameters visible from the camera’s point of view ( θ , β ). The problem of determining visible vertices is discussed in detail below.

Функция p(x) является функцией Хьюбера L δ (x) с параметром δ, равным 1:The function p ( x ) is the Huber function ( x ) with parameter δ equal to 1 :

В результате второго этапа работы алгоритма становятся известны параметры модели в канонической позе и форме, по которым на заключительном этапе производится инициализация графа G f = β (V f , E f ) морфирующего поля. Подобно описанному в работе [B6], вершины V f графа содержат координаты в трехмерном пространстве, параметры Евклидова преобразования и его вес, а ребра E f между вершинами необходимы для расчета регуляризации, обеспечивающей плавность перехода между частями пространства.As a result of the second stage of the algorithm, the model parameters in the canonical pose and shape become known, according to which the graph is initialized at the final stageG f =β (V f ,E f ) morphing field. Similar to what was described in [B6], the verticesV f the graph contains coordinates in three-dimensional space, the parameters of the Euclidean transform and its weight, and the edgesE f between vertices are necessary to calculate regularization, ensuring a smooth transition between parts of space.

Инициализация координат выполняется путем выборки вершин параметрической модели в канонической позе и форме. Метод выборки изложен далее. Вначале выбирается радиус соседства δ, который также является параметром для веса v w каждой вершины из множества вершин V f : v w = 2δ. Вершины модели V m разбиваются на группы согласно координатам воксела, в который каждая вершина попадет, если разбить пространство на вокселы со стороной 2δ. Затем координаты вершин в каждой группе усредняются и выбирается ближайшая к результату вершина модели. Она становится членом множества V f . Coordinate initialization is performed by sampling the vertices of the parametric model in a canonical pose and shape. The sampling method is outlined below. First, the neighborhood radius δ is selected, which is also a parameter for the weight v w of each vertex from the set of vertices V f : v w = 2δ. The vertices of the model V m 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 2δ. Then the coordinates of the vertices in each group are averaged and the model vertex closest to the result is selected. It becomes a member of the set V f .

Ребра между вершинами E f определяются следующим образом: поскольку для параметрической модели определены не только вершины, но и грани, то для нее также возможно определить ребра, соединяющие вершины, а значит, возможно определить ненаправленный граф G m = (V m , E m ) и задать ребрам графа веса, равные расстоянию между соответствующими вершинами. Тогда вершины v и u (v, u ∈ V f ) считаются связанными, если u для v или v для u является одним из N ближайших соседей по длине кратчайшего пути в графе G m . Значение N принимается равным 8. The edges between the vertices E f are defined as follows: since not only the vertices, but also the edges are defined for the parametric model, it is also possible for it to define the edges connecting the vertices, which means it is possible to define an undirected graph G m = ( V m , E m ) and assign weights to the edges of the graph equal to the distance between the corresponding vertices. Then vertices v and u ( v , u ∈ V f ) are considered connected if u for v or v for u is one of the N nearest neighbors along the shortest path length in the graph G m . The value of N is taken to be 8.

Эта процедура позволяет избежать проблемы, связанные с регуляризацией семантически несвязанных вершин, например, вершин правой и левой ног – см. фиг. 4, где слева направо представлены: исходная модель, граф, инициализированный предложенным методом, и граф, инициализированный обычной процедурой поиска ближайших соседей. Особое внимание следует обратить на спутанность ног при обычной процедуре.This procedure avoids the problems associated with regularizing semantically unrelated vertices, for example, the vertices of the right and left legs - see Fig. 4, 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 searching for nearest neighbors. Particular attention should be paid to confusion of the legs during the normal procedure.

2.3. Морфирующее поле2.3. Morphing Field

Вершины инициализированного в предыдущем разделе графа G f задают структуру морфирующего поля, которое применяется для преобразования поверхности сцены из канонической формы в форму, соответствующую очередному кадру. Как было упомянуто ранее, каждая вершина vV f содержит координаты v c , вес v w и нормированный двойной кватернион v dq , кодирующий Евклидово преобразование.The vertices of the graph G f initialized in the previous section define the structure of the morphing field, which is used to transform the scene surface from the canonical form to the form corresponding to the next frame. As mentioned earlier, each vertex vV f contains coordinates v c , weight v w and a normalized double quaternion v dq encoding the Euclidean transform.

Для вычисления преобразования конкретной точки x в трехмерном пространстве применен алгоритм смешивания двойных кватернионов [B7], для чего необходимо найти K ближайших к x вершин из числа V f , после чего вычислить взвешенную сумму двойных кватернионов этих вершин. Вес для каждого слагаемого рассчитывается по формуле или для оптимизации дальнейших расчетов полагается равным 0, если ||x − vc||2 > 3v w . Результат суммирования представляет собой двойной кватернион, но он не является нормированным и, соответственно, не является Евклидовым преобразованием, поэтому далее результат нормируется. После этого по нормированному двойному кватерниону строится матрица ортогонального преобразования R и вектор переноса t, а преобразованной точкой является точка Rx + t.To calculate the transformation of a specific point x in three-dimensional space, the double quaternion mixing algorithm [B7] is used, for which it is necessary to find the K vertices closest to x from the number V f , and then calculate the weighted sum of the double quaternions of these vertices. The weight for each term is calculated using the formula or to optimize further calculations it is assumed to be equal to 0 if || x − v c || 2 > 3 v w . The result of the summation is a double quaternion, but it is not normalized and, accordingly, is not a Euclidean transform, so the result is further normalized. After this, the orthogonal transformation matrix R and the translation vector t are constructed from the normalized double quaternion, and the transformed point is the point Rx + t .

Морфирующее поле применяется не только для преобразования поверхности из канонического состояние в текущее, но и для выполнения обратного преобразования на этапе интеграции новых данных. Для этого в процесс интеграции, подробно описанный в [B2], вводится изменение – этому преобразованию подвергается центр каждого воксела перед проецированием на карту глубины. В результате такой интеграции реализуется обратное преобразование без необходимости дополнительного расчета обратных матриц, см. фиг. 5, где слева представлена визуализация морфирующего поля, в центре – поверхность, полученная из карты глубины очередного кадра, справа – та же поверхность после преобразования в каноническое положение.The morphing field is used not only to transform the surface from the canonical state to the current one, but also to perform the inverse transformation at the stage of integrating new data. To do this, a change is introduced to the integration process detailed in [B2] - the center of each voxel undergoes this transformation before being projected onto the depth map. As a result of such integration, the inverse transformation is realized without the need for additional calculation of inverse matrices, see Fig. 5, where on the left is a visualization of the morphing field, in the center is a surface obtained from the depth map of the next frame, on the right is the same surface after transformation to the canonical position.

2.4. Параметрическая модель2.4. Parametric model

В качестве параметрической модели в предлагаемом алгоритме была использована модель SMPL [B8]. Эта модель обладает следующими преимуществами:The SMPL model [B8] was used as a parametric model in the proposed algorithm. This model has the following advantages:

- алгоритм вычисления сеточной модели состоит из умножения матриц и скиннинга, что допускает эффективную реализацию на графических процессорах;- the algorithm for calculating the grid model consists of matrix multiplication and skinning, which allows for efficient implementation on GPUs;

- параметры для позы и формы разделены;- parameters for pose and shape are separated;

- открыты исходные материалы алгоритма;- the source materials of the algorithm are open;

- в качестве базы для представления пространства форм тела человека была использована самая большая база данных CAESAR [B9], к которой нет открытого доступа.- the largest CAESAR database [B9], to which there is no public access, was used as a basis for representing the space of human body shapes.

Необходимо отметить, что вместо модели SMPL можно использовать другие параметрические модели человека, например, HumanShape, S-SCAPE, собственную параметрическую модель человека, созданную ООО «Тексел», и т.д.It should be noted that instead of the SMPL model, you can use other parametric human models, for example, HumanShape, S-SCAPE, your own parametric human model created by Texel LLC, etc.

Также необходимо отметить, что возможно использование как базы данных CAESAR, так и других баз данных моделей людей, в том числе собственной базы моделей людей, созданной ООО «Тексел».It should also be noted that it is possible to use both the CAESAR database and other databases of human models, including our own database of human models created by Texel LLC.

В ходе интеграции модели SMPL в алгоритм построения этой модели были внесены следующие изменения:During the integration of the SMPL model, the following changes were made to the algorithm for constructing this model:

(1) была создана версия алгоритма для работы на графическом процессоре;(1) a version of the algorithm was created to run on a GPU;

(2) в целях увеличения производительности автоматический расчет производных вершин по параметрам модели заменен на отдельный алгоритм, основанный на результатах ручного расчета, а также проведена общая оптимизация;(2) in order to increase productivity, the automatic calculation of derivatives of vertices based on model parameters was replaced with a separate algorithm based on the results of manual calculation, and general optimization was carried out;

(3) добавлен расчет нормалей к поверхности и их производных по параметрам для каждой вершины;(3) added calculation of surface normals and their derivatives by parameters for each vertex;

(4) согласно результатам [B1], из модели был удален компонент, влияющий на форму при изменении параметров позы, для улучшения сходимости на этапе минимизации ошибки.(4) According to the results of [B1], the component that affects the shape when changing the pose parameters was removed from the model to improve the convergence at the error minimization stage.

2.5. Оптимизация параметров2.5. Parameter optimization

После предварительной обработки очередного кадра и его преобразования в облако точек необходимо изменить позу модели и параметры морфирующего поля так, чтобы поверхность сцены в текущем виде соответствовала новым наблюдениям, а поза соответствовала текущему положению пользователя. Для достижения этих целей реализована минимизация суммы функций, которые можно разделить на несколько групп:After pre-processing the next frame and converting it into a point cloud, it is necessary to change the pose of the model and the parameters of the morphing field so that the surface of the scene in the current view corresponds to the new observations, and the pose corresponds to the current position of the user. To achieve these goals, minimization of the sum of functions has been implemented, which can be divided into several groups:

- ошибка морфирующего поля;- morphing field error;

- ошибка положения модели;- model position error;

- разобщение преобразования сцены и скиннинга;- separation of scene transformation and skinning;

- регуляризация параметров поля.- regularization of field parameters.

Предлагаемые функции основаны на идеях [B1] с изменениями для учета информации о положении отдельных сегментов тела.The proposed functions are based on the ideas of [B1] with modifications to take into account information about the position of individual body segments.

Ошибки морфирующего поля и положения модели определены как функцииThe morphing field and model position errors are defined as functions

где C – множество соответствий, то есть множество пар (v, u), в которых v – вершина видимой поверхности сцены или модели в каноническом состоянии, u – точка из облака точек текущего кадра, n v – нормаль к поверхности в точке v, а ñ v и вершины или нормали, преобразованные морфирующим полем и функцией скиннинга модели, соответственно.where C is the set of correspondences, that is, the set of pairs ( v, u ), in which v is the vertex of the visible surface of the scene or model in the canonical state, u is a point from the point cloud of the current frame, n v is the normal to the surface at point v , and ñ v and vertices or normals transformed by the morphing field and the model skinning function, respectively.

Множество соответствий C формируется из пар ближайших друг к другу точек, которые принадлежат одному или соседним сегментам. Соседство сегментов устанавливается заранее и каждому сегменту тела сопоставляется ключевая точка скелета. В свою очередь, ключевые точки имеют иерархическую структуру – каждая точка, кроме корневой, имеет родителя. Поэтому сегменты признаются соседними, если соответствующие им ключевые точки связаны отношением «родитель-потомок», за исключением двух особых сегментов в плечевой области, определяемых вручную. Пример сегментации и отношения соседства приведены на фиг. 6, где различные сегменты имеют различные цвета, а соседние сегменты соединены линиями.The set of correspondences C is formed from pairs of points closest to each other that belong to the same or neighboring segments. The proximity of the segments is established in advance and each body segment is associated with a key point of the skeleton. In turn, key points have a hierarchical structure - each point, except the root one, has a parent. Therefore, segments are considered adjacent if their corresponding keypoints are related by a parent-child relationship, with the exception of two special segments in the shoulder region, which are manually determined. An example of segmentation and neighborhood relationship is shown in Fig. 6, where different segments have different colors and adjacent segments are connected by lines.

Функции разобщения и регуляризация определены как функцииThe dissociation and regularization functions are defined as functions

(4) (4)

(5) (5)

где W x – вес скиннинга для вершины x, который определен параметрической моделью для каждой ее вершины, p – весовая функция Хьюбера [B10] с параметром δ = 0,2, T x – матрица евклидова преобразования размером 4×4, соответствующая двойному кватерниону вершины x. Эта функция имеет интуитивный смысл – обеспечение плавного изменения поверхности, при этом соседние вершины должны преобразовываться данной функцией так же, как они преобразуют сами себя. Весовая функция Хьюбера, убывающая при увеличении аргумента, будет уменьшать влияние регуляризации, если вершины находятся на разных частях тела, поскольку в этом случае их веса скиннинга будут отличаться значительно. Регуляризация увеличивает стабильность, однако уменьшает способность к адаптации при резких изменениях.where W x is the skinning weight for vertex x , which is determined by the parametric model for each of its vertices, p is the Huber weight function [B10] with parameter δ = 0.2, T x is the 4x4 Euclidean transformation matrix corresponding to the double quaternion of the vertex x . This function has an intuitive meaning - ensuring a smooth change in the surface, while neighboring vertices must be transformed by this function in the same way as they transform themselves. The Huber weight function, which decreases as the argument increases, will reduce the influence of regularization if the vertices are on different parts of the body, since in this case their skinning weights will differ significantly. Regularization increases stability, but reduces the ability to adapt to sudden changes.

Таким образом, по параметрам позы модели и параметрам преобразования поля минимизируется функцияThus, using the model pose parameters and field transformation parameters, the function is minimized

(6) (6)

Тем не менее, если выполнять безусловную оптимизацию по параметрам преобразования морфирующего поля, которые представляют собой нормированные двойные кватернионы, они становятся ненормированными и перестают представлять собой Евклидово преобразование. При этом задание условий соблюдения единичной нормы зачастую снижает производительность и ухудшает сходимость. Для решения данной проблемы над параметрами поля дополнительно выполняется логарифмическое преобразование [B11], что позволяет представить их в виде векторов из где каждый такой вектор соответствует нормированному двойному кватерниону.However, if you perform unconditional optimization on the morphing field transform parameters, which are normalized double quaternions, they become unnormalized and no longer represent a Euclidean transform. At the same time, specifying conditions for observing a unit norm often reduces performance and worsens convergence. To solve this problem, a logarithmic transformation [B11] is additionally performed on the field parameters, which allows them to be represented as vectors from where each such vector corresponds to a normalized double quaternion.

Заметим, что функция (6) может быть представлена в виде суммы квадратов. Следовательно, для минимизации такой функции применим метод Гаусса-Ньютона [B12]. Как и в методе [B2], благодаря тому, что на каждую преобразованную полем точку действует только N = 5 ближайших вершин, не требуется хранить матрицу якобиана целиком, достаточно хранить только 6N = 30 значений для каждого слагаемого функции E field . Для функций, в которых есть зависимость от параметров позы, необходимо дополнительно хранить 3×25 = 75 значений, по количеству параметров формы модели. Note that function (6) can be represented as a sum of squares. Therefore, to minimize such a function, we apply the Gauss-Newton method [B12]. As in method [B2], due to the fact that each point transformed by a field is affected only by N = 5 nearest vertices, there is no need to store the entire Jacobian matrix; it is enough to store only 6 N = 30 values for each term of the function E field . For functions that depend on pose parameters, it is necessary to additionally store 3 × 25 = 75 values, according to the number of model shape parameters.

Система JTJx = Je, где J – якобиан, e – вектор значений слагаемых функции ошибки, может быть решена напрямую, к примеру, методом Гаусса, либо итеративно методом конгруэнтных градиентов [B13], причем в последнем случае для увеличения производительности и дополнительной регуляризации можно провести ограниченное число итераций, оставив решение приближенным. Далее обсуждаются оба варианта решения.The system J T Jx = Je, where J is the Jacobian, e is the vector of values of the terms of the error function, can be solved directly, for example, by the Gaussian method, or iteratively by the method of congruent gradients [B13], and in the latter case to increase productivity and additional regularization a limited number of iterations can be carried out, leaving the solution approximate. Both solutions are discussed below.

2.6. Определение видимых вершин2.6. Determining Visible Vertices

При расчете функции ошибки во внимание берется только видимая часть поверхности сцены. Для того, чтобы приближенно определить подмножество видимых вершин поверхности, был разработан и применен следующий алгоритм:When calculating the error function, only the visible part of the scene surface is taken into account. In order to approximately determine the subset of visible surface vertices, the following algorithm was developed and applied:

- производится рендеринг поверхности в карту глубины, для чего выполняется стандартный рендеринг, затем считывается буфер глубины, при этом параметры камеры задаются теми же, что на этапе интеграции предыдущего кадра;- 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 to the same as at the integration stage of the previous frame;

- вершины поверхности проецируются на плоскость изображения, по координатам проекции вычисляется соответствующий им пиксель произведенной ранее карты глубины;- surface vertices are projected onto the image plane, and the corresponding pixel of the previously produced depth map is calculated from the projection coordinates;

- расстояние z vert от плоскости до вершины сравнивается со значением z depth в соответствующем пикселе карты глубины: если z vert < z depth + ε, то вершина считается видимой. В данном случае использовано значение ε = 10–2.- the distance z vert from the plane to the vertex is compared with the z depth value in the corresponding pixel of the depth map: if z vert < z depth + ε, then the vertex is considered visible. In this case, the value ε = 10 –2 was used.

На фиг. 7 слева изображен результат рендеринга поверхности в карту глубины, а справа – исходная поверхность с видимыми вершинами, обозначенными красными точками)In fig. 7 on the left is the result of rendering the surface into a depth map, and on the right is the original surface with visible vertices indicated by red dots)

2.7. Коррекция формы и канонической позы модели2.7. Correction of the model's shape and canonical pose

После этапа интеграции нового кадра внутреннее представление сцены дополнено новой информацией, в связи с чем становится возможным уточнить предположение о канонической позе и форме модели. Для этого используется алгоритм оптимизации, являющийся частью [B1]: алгоритм минимизирует функцию (7) по параметрам θ, β:After the integration stage of the new frame, the internal representation of the scene is supplemented with new information, and therefore it becomes possible to refine the assumption of the canonical pose and shape of the model. For this, an optimization algorithm is used, which is part of [B1]: the algorithm minimizes function (7) according to parameters θ , β :

(7) (7)

(8) (8)

(9) (9)

где V canon – множество вершин модели с параметрами позы и формы θ, β, параметры θ prev , β prev являются предыдущими значениями параметров, функция D(x) дает значение TSDF внутреннего представления в данной точке с применением трилинейной интерполяции по значениям близлежащих вокселов. Нулевое значение TSDF соответствует поверхности либо отсутствию информации об этой точке. Следовательно, минимум функции (7) будет достигнут, если все вершины модели будут находится на плоскости, либо вне области наблюдений. Для того чтобы предотвратить выход модели за область наблюдений, применяется регуляризация с использованием предыдущих значений параметров. Как и в случае функции (6), функция (7) является суммой квадратов, поэтому может быть минимизирована описанными ранее методами.where V canon is the set of model vertices with pose and shape parameters θ , β , parameters θ prev , β prev are the previous parameter values, the function D ( x ) gives the TSDF value of the internal representation at a given point using trilinear interpolation over the values of nearby voxels. A zero TSDF value corresponds to a surface or the absence of information about this point. Consequently, the minimum of function (7) will be achieved if all the vertices of the model are located on the plane or outside the observation area. In order to prevent the model from leaving the observation area, regularization is applied using previous parameter values. As in the case of function (6), function (7) is a sum of squares, and therefore can be minimized by the methods described earlier.

Результатом выполнения описанных выше действий является 3D-модель тела пользователя. Следует отметить, что сканирование тела пользователя и построение его модели достаточно выполнить один раз и сохранить в соответствующем формате в компьютере или в мобильном устройстве пользователя либо в облачном сервисе. В дальнейшем модель тела пользователя может быть актуализирована или уточнена повторным сканированием или ручной коррекцией, например, путем указания физически снятых с пользователя мерок.The result of the above steps is a 3D model of the user's body. It should be noted that scanning the user’s body and constructing its model is sufficient to perform once and save 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 indicating physical measurements taken from the user.

Следует также отметить, что модель тела пользователя может включать в себя подробную модель головы (включая лицо) пользователя, используемую для фотореалистичного рендеринга при визуализации внешнего вида пользователя в одежде. Это позволяет получить от пользователя больший эмоциональный отклик и, в конечном счете, способствует увеличению объема покупок в денежном выражении.It should also be noted that the user's body model may include a detailed model of the user's head (including the face) used for photorealistic rendering in visualizing the user's clothing appearance. This allows you to get a greater emotional response from the user and, ultimately, helps to increase the volume of purchases in monetary terms.

2.8. Параметрическая модель тела человека2.8. Parametric model of the human body

Параметрическая модель тела человека позволяет получить 3D-модель тела на основе двух низкоразмерных векторов, определяющих форму и позу человека. Пример моделей, которые можно получить в результате вариации параметров формы при фиксированных параметрах позы, можно увидеть на фиг. 8, где модели получены путем вариации первых трех параметров формы параметрической модели SMPL [B14]. Красными точками отмечены положения скелетных суставов.A parametric model of the human body allows you to obtain a 3D model of the body based on two low-dimensional vectors that determine the shape and pose of a person. An example of models that can be obtained as a result of varying shape parameters with fixed pose parameters can be seen in Fig. 8, where the models are obtained by varying the first three shape parameters of the parametric SMPL model [B14]. Red dots indicate the positions of skeletal joints.

Параметрическая модель требует существенно меньших аппаратных ресурсов для ее хранения и обработки и существенно меньших затрат времени на связанные с ней вычисления, чем соответствующая ей геометрическая модель. Кроме того, параметры, извлеченные из параметрической модели, требуют меньших преобразований для обеспечения возможности их сопоставления с размерными признаками предметов одежды, а в некоторых случаях такие преобразования могут и вовсе не требоваться.The parametric model requires significantly less hardware resources for its storage and processing and significantly less time spent on associated calculations than the corresponding geometric model. In addition, parameters extracted from a parametric model require fewer transformations to allow them to be compared with the dimensional characteristics of clothing items, and in some cases such transformations may not be required at all.

На сегодняшний день задача параметрического моделирования человека является крайне актуальной. Параметрические модели находят применение во многих алгоритмах и областях компьютерного зрения. В частности, многие подходы к задаче о реконструкции фигуры человека по частичным данным, таким как видео, цветные изображения, информация, полученная с сенсоров глубины, требуют наличия некоторого низкоразмерного представления формы тела человека, в качестве которого и выступает параметрическая модель.Today, the task of parametric human modeling is extremely relevant. Parametric models find application in many algorithms and areas of computer vision. In particular, many approaches to the problem of reconstructing a human figure from partial data, such as video, color images, information obtained from depth sensors, require the presence of some low-dimensional representation of the shape of the human body, which is a parametric model.

Параметрические 3D-модели человека могут использоваться в алгоритмах автоматического получения антропометрических данных человека, которые находят применение в сфере производства и продажи одежды, а также используются в системах построения виртуального представления человека (так называемого виртуального аватара). Задачи, связанные с дизайном, эргономикой, определение формы тела по частичным данным, таким как снимки с одного ракурса, по семантическим параметрам (рост, вес и т. д.) решаются с использованием подобных моделей. Параметрические модели могут быть применены и при формировании искусственных тренировочных наборов данных для решения других задач, связанных с компьютерным зрением.Parametric 3D models of a person can be used in algorithms for automatically obtaining human anthropometric data, 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). Problems related to design, ergonomics, determining body shape from partial data, such as photographs from one angle, based on semantic parameters (height, weight, etc.) are solved using such models. Parametric models can also be used to generate artificial training data sets to solve other problems related to computer vision.

В качестве исходных данных для построения трехмерных параметрических 3D-моделей используют наборы трехмерных снимков людей, которые описываются набором вершин и треугольников, объединяющих вершины в единую поверхность. Кроме того, некоторые работы требуют наличия дополнительной информации об имеющихся трехмерных снимках. Так, авторы модели HumanShape [B15] используют в процессе построения параметрической модели информацию о положении 69 ключевых антропометрических точек в пространстве для каждого трехмерного снимка. Использование антропометрических точек предусмотрено во многих работах по построению параметрических моделей, в частности в [B16, B17]. Разметка подобных точек для каждого трехмерного снимка требует наличия знаний об анатомии человеческого тела, что делает данный процесс медленным и дорогостоящим. As initial data for constructing three-dimensional parametric 3D models, sets of three-dimensional photographs of people are used, which are described by a set of vertices and triangles that unite the vertices into a single surface. In addition, some jobs require additional information about existing 3D images. Thus, the authors of the HumanShape model [B15] use information about the position of 69 key anthropometric points in space for each three-dimensional image in the process of constructing a parametric model. The use of anthropometric points is provided in many works on the construction of parametric models, in particular in [B16, B17]. Marking these points for each 3D image requires knowledge of the anatomy of the human body, making the process slow and expensive.

Авторы многих работ по созданию параметрических моделей [B14, B15, B17, B18] для построения модели используют наборы данных, содержащие трехмерные снимки людей в нескольких позах. Подобные наборы данных бывает сложно получить ввиду конструктивных ограничений установок, с помощью которых получаются трехмерные снимки людей.The authors of many works on creating parametric models [B14, B15, B17, B18] use data sets containing three-dimensional photographs of people in several poses to build the model. Such data sets can be difficult to obtain due to the design limitations of the machines that produce 3D images of people.

Проведение научных работ по построению параметрических моделей зачастую осложняется и тем, что практически не существует открытых коллекций трехмерных снимков человеческого тела, содержащих достаточное количество уникальных людей. Размер используемой коллекции является очень важным фактором, напрямую влияющим на качество полученного пространства формы тела человека. Так Brett Allen et al. [B16] использовали всего по 125 моделей мужского и женского пола, авторы модели [B17] использовали суммарно 45 моделей. Построение модели S-SCAPE [B19] выполнялось на коллекции, содержащей порядка 100 моделей. Одной из крупнейших коммерчески доступных наборов трехмерных снимков человеческого тела является CAESAR [B20]. Этот набор содержит данные порядка 4300 уникальных людей и используется авторами моделей HumanShape [15] и SMPL [B14] для построения пространства формы.Carrying out scientific work on constructing parametric models is often complicated by the fact that there are practically no open collections of three-dimensional images of the human body containing a sufficient number of unique people. The size of the collection used is a very important factor, directly affecting the quality of the resulting human body shape space. So Brett Allen et al. [B16] used a total of 125 male and female models, the authors of the model [B17] used a total of 45 models. The construction of the S-SCAPE model [B19] was carried out on a collection containing about 100 models. One of the largest commercially available sets of 3D images of the human body is CAESAR [B20]. This set contains data from about 4300 unique people and is used by the authors of the HumanShape [15] and SMPL [B14] models to construct the shape space.

Многие из существующих наборов обладают дефектами сканирования. Так, например, трехмерные снимки набора данных CAESAR характеризуются наличием участков поверхности тела в районе стоп, кистей и внешней поверхности рук, плечей, головы с недостающей информацией, а также «склеенных» участков (фиг. 9). При наличии систематических дефектов (в районе одних и тех же частей тела) формы подверженных им частей тела могут быть переданы неточно. Кроме того, существующие параметрические модели содержат относительно небольшое количество вершин (порядка 6000–7000), что не позволяет передавать мелкие детали рельефа тела.Many of the existing kits have scanning defects. For example, three-dimensional images of the CAESAR data set are characterized by the presence of areas of the body surface in the area of the feet, hands and the outer surface of the arms, shoulders, head with missing information, as well as “glued” areas (Fig. 9). If there are systematic defects (in the area of the same body parts), the shapes of the affected body parts may not be accurately depicted. In addition, existing parametric models contain a relatively small number of vertices (about 6000–7000), which does not allow the transfer of fine details of the body relief.

Поэтому потребовалась разработка автоматизированного, быстрого и точного подхода для построения параметрической 3D-модели человека с высокой детализацией на основе набора трехмерных снимков человеческого тела.Therefore, it was necessary to develop an automated, fast and accurate approach to construct a highly detailed parametric 3D model of a person based on a set of 3D images of the human body.

2.8.1. Обзор существующих подходов2.8.1. Review of existing approaches

Общая идея построения параметрической модели тела человека с использованием статистического подхода заключается в выполнении т.н. «регистрации» для каждого трехмерного снимка тела из набора данных. Процесс регистрации заключается в деформировании шаблона тела человека таким образом, чтобы он как можно точнее описывал регистрируемый трехмерный снимок тела с сохранением функционального соответствия точек шаблона. Если каждая точка выполняет схожую функцию на каждом из деформированных шаблонов, пространство формы тела человека возможно описать с использованием PCA-разложения (Principal component analysis, метод главных компонент).The general idea of constructing a parametric model of the human body using a statistical approach is to perform the so-called. “registrations” for each 3D body image in the dataset. The registration process consists of deforming a human body template so that it describes the registered three-dimensional image of the body as accurately as possible while maintaining the functional correspondence of the template points. If each point performs a similar function on each of the deformed templates, the shape space of the human body can be described using PCA (Principal component analysis).

Существующие подходы к построению параметрических моделей можно классифицировать на две группы по способу деформации шаблонной модели. Одно из них, семейство параметрических моделей тела человека SCAPE, описывает процесс регистрации скана с использованием преобразований треугольников, составляющих поверхность шаблона. Другая группа моделей описывает процесс регистрации при помощи преобразований вершин шаблона.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 models of the human body, describes the process of registering a scan using transformations of the triangles that make up the surface of the template. Another group of models describes the registration process using template vertex transformations.

К семейству моделей SCAPE можно отнести такие модели, как SCAPE [B17], BlendSCAPE [B18], S-SCAPE [B19]. В 2005 году вышла статья, представляющая модель под названием SCAPE [B17]. В ходе создания параметрической модели авторы использовали набор трехмерных снимков, в котором каждый человек представлен во многих позах. Как упоминалось выше, в этой работе использована деформация отдельных треугольников для регистрации отдельных трехмерных снимков. Однако процесс получения модели из пространства деформаций треугольников является сложной оптимизационной задачей, требующей решения Пуассоновской системы. В результате была получена модель, реалистично отражающая широкий диапазон деформации не только пространства формы, но и позы. Пространство позы было описано также при помощи пространства деформации отдельных треугольников и, следовательно, применение конкретной анимации движения человека было затруднительным, ввиду отсутствия возможности использования скелетной анимации.The SCAPE family of models includes such models as SCAPE [B17], BlendSCAPE [B18], S-SCAPE [B19]. In 2005, a paper was published introducing a model called SCAPE [B17]. To create the parametric model, the authors used a set of three-dimensional photographs in which each person is represented in many poses. As mentioned above, this work uses the deformation of individual triangles to register individual 3D images. However, the process of obtaining a model from the triangle deformation space is a complex optimization problem that requires solving the Poisson system. The result was a model that realistically reflected a wide range of deformation not only in shape space, but also in pose. The pose space was also described using the deformation space of individual triangles and, therefore, the application of a specific animation of human movement was difficult, due to the lack of the possibility of using skeletal animation.

Авторы параметрических моделей BlendSCAPE [B18] и S-SCAPE [B19] предложили свои методы построения, основанные на подходах, использованных в модели SCAPE. Модель S-SCAPE, предложенная в 2010 году, является усовершенствованной и в то же время упрощенной версией модели SCAPE, предлагающей способ восстановления 3D-модели без необходимости решения сложной Пуассоновской системы уравнений. Модель BlendSCAPE, предложенная в 2012 году, предлагает способ более точной регистрации тела человека на основе трехмерных снимков одного и того же человека в разных позах.The authors of the parametric models BlendSCAPE [B18] and S-SCAPE [B19] proposed their own construction methods based on the approaches used in the SCAPE model. The S-SCAPE model, proposed in 2010, is an improved yet simplified version of the SCAPE model, offering a way to reconstruct a 3D model without the need to solve complex Poisson equations. BlendSCAPE, proposed in 2012, offers a way to more accurately register a person's body based on 3D images of the same person in different poses.

Второе семейство параметрических моделей использует деформации отдельных вершин для выполнения процесса регистрации. Одной из первых параметрических моделей, использующих данный подход, является модель из работы Allen et al. 2002 [B16]. Затем данный подход получил развитие в работе Pishchulin et al. (модель HumanShape) [B15]. Показывающая лучшие результаты на сегодняшний день параметрическая модель тела человека SMPL [B14] также использует этот подход.The second family of parametric models uses deformations of individual vertices to perform the registration process. One of the first parametric models using this approach is the model from Allen et al. 2002 [B16]. This approach was then developed in the work of Pishchulin et al. (HumanShape model) [B15]. The parametric model of the human body, SMPL [B14], which shows the best results to date, also uses this approach.

Одной из первых статистических параметрических моделей являлась модель [B16]. Здесь был впервые применен алгоритм Non-Rigid Deformation (NRD). Была сформулирована оптимизационная задача преобразования шаблонной поверхности применительно к трехмерному снимку тела конкретного человека, а также предложен метод ее решения. Эта работа использовала высокодетализированный шаблон модели человека, однако параметрическая модель строилась всего на 250 трехмерных снимках. Было продемонстрировано, что подобный алгоритм отлично справляется с дефектами сканирования, такими как отсутствующие вершины. Модель могла оперировать, в том числе, и семантическими параметрами формы, такими как вес, рост и т.д. Однако работа [B16] практически не останавливается на теме создания пространства позы человека. Модель строилась на наборе трехмерных снимков людей, стоящих в одной позе, и в итоге не описывала пространство позы.One of the first statistical parametric models was the model [B16]. Here the Non-Rigid Deformation (NRD) algorithm was applied for the first time. An optimization problem of transforming a template surface was formulated in relation to a three-dimensional photograph of the body of a specific person, and a method for solving it was proposed. This work used a highly detailed human model template, but the parametric model was built from only 250 3D images. Such an algorithm has been demonstrated to cope well with scanning defects such as missing vertices. The model could operate, among other things, with semantic parameters of the form, such as weight, height, etc. However, the work of [B16] practically does not dwell on the topic of creating a human pose space. The model was built on a set of three-dimensional photographs of people standing in the same pose, and as a result did not describe the pose space.

В 2013 году появилась модель «HumanShape» [B15], развивающая идею модели [B16]. Построение модели происходило итеративно с использованием имевшейся параметрической модели и с ее улучшением при помощи алгоритма NRD. В ней в качестве инициализации использовалась модель S-SCAPE (Simplified Scape) [B19], значительно менее вычислительно затратная при построении. Модель HumanShape была обучена на полном наборе трехмерных снимков CAESAR, что позволило ей отражать широкий диапазон формы. Применение техники Linear Blend Skinning (LBS) в этой модели позволило применять произвольные анимации к параметрической модели. Одной из целью данной работы было предоставить полученный при выполнении этой работы открытый код для исследователей. Однако процесс регистрации трехмерного снимка использовал информацию о положении ключевых антропометрических точек, сведения о которых зачастую не встречаются в базах трехмерных снимков. Получение такой информации – трудоемкий процесс, требующий ручной разметки или съемки людей со специальными маркерами на теле.In 2013, the “HumanShape” model [B15] appeared, developing the idea of the model [B16]. 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 [B19] as initialization, which was significantly less computationally expensive to construct. The HumanShape model was trained on a full set of CAESAR 3D images, allowing it to capture a wide range of shapes. The use of the Linear Blend Skinning (LBS) technique in this model made it possible to apply arbitrary animations to the parametric model. One of the goals of this work was to make the resulting open source code available to researchers. However, the 3D image registration process used information about the position of key anthropometric points, information about which is often not found in 3D image databases. Obtaining such information is a labor-intensive process that requires manual marking or filming of people with special markers on their bodies.

В 2015 году появилась модель SMPL [B14], показывающая лучшие результаты на текущий день и используемая в большинстве задач, требующих наличия параметрической модели. В данной работе авторы показывают, что процесс регистрации, основанный на деформациях вершин, приводит к гораздо более точным результатам по сравнению с деформациями треугольников, сравнивая результаты своей работы с моделью BlendSCAPE [B18]. Аналогично методу, предложенному авторами BlendSCAPE, сначала происходит построение пространства позы человека с использованием набора данных, содержащего трехмерных снимков одних и тех же людей в различных позах. Далее формируется пространство формы с использованием набора данных CAESAR. Кроме того, исследователи в данной статье рассматривают вопрос деформаций формы человеческого тела, вызванные изменением позы. Таким образом, их модель связывает пространства формы и позы воедино и способна отражать такие изменения, как деформация мышц. Авторы реализовали, в том числе, и динамическую версию параметрической модели – DMPL, предсказывающую деформацию формы, в том числе, и по предыдущим во времени параметрам позы при анимации. Это позволило реализовать деформацию мягких тканей, что добавило модели реалистичности.In 2015, the SMPL model [B14] appeared, showing the best results to date and used in most problems that require a parametric model. In this work, the authors show that a registration process based on vertex deformations leads to much more accurate results compared to triangle deformations by comparing the results of their work with the BlendSCAPE model [B18]. Similar to the method proposed by the authors of BlendSCAPE, a human pose space is first constructed using a dataset containing 3D photographs of the same people in different poses. Next, the shape space is generated using the CAESAR dataset. In addition, the researchers in this article consider the issue of deformations in the shape of the human body caused by changes in posture. In this way, their model links shape and pose spaces together and is able to capture changes such as muscle deformation. The authors implemented, among other things, a dynamic version of the parametric model - DMPL, which predicts shape deformation, including based on the previous time parameters of the pose during animation. This made it possible to implement deformation of soft tissues, which added realism to the model.

В настоящей разработке использован процесс регистрации, основанный на деформациях вершин, отмеченный авторами модели SMPL как наиболее эффективный и точный. Регистрация моделей выполняется с использованием подхода, описанного в модели HumanShape – алгоритма Non-Rigid Deformation. Однако предложенная модификация алгоритма делает его автоматизированным и не требует наличия антропометрических точек.This development uses a registration process based on vertex deformations, noted by the authors of the SMPL model as the most efficient and accurate. Model registration is performed using the approach described in the HumanShape model - the Non-Rigid Deformation algorithm. However, the proposed modification of the algorithm makes it automated and does not require the presence of anthropometric points.

Далее рассмотрены два варианта параметрической модели на основе инициализации с применением двух параметрических моделей – HumanShape и SMPL.Next, we consider two options for a parametric model based on initialization using two parametric models - HumanShape and SMPL.

2.8.2. Пространство формы модели2.8.2. Model shape space

Большая часть существующих исследований по рассматриваемой теме имеют схожие алгоритмы построения. Поскольку набор точек трехмерных снимков зачастую не структурирован, необходимо выполнить его структуризацию. Выбирается некоторый шаблон тела человека, описываемый как набор вершин и треугольников, состоящих из вершин, образующих поверхность. Далее для каждой вершины шаблона ищется преобразование, позволяющее деформированному шаблону как можно точнее описывать трехмерный снимок конкретного человека. Процесс деформации шаблонной модели для подгонки к трехмерному снимку конкретного человека называется регистрацией. Деформация при этом должна происходить таким образом, чтобы сохранялось функциональное соответствие каждой точки на всех регистрациях. К примеру, если точка шаблона отвечала за положение локтя какой-либо из рук, то и на регистрациях она должна выполнять ту же функцию.Most of the existing studies on the topic under consideration have similar construction algorithms. Since a set of points in 3D images is often unstructured, it is necessary to structure it. A certain template of the human body is selected, described as a set of vertices and triangles consisting of vertices forming a surface. Next, for each vertex of the template, a transformation is sought that allows the deformed template to describe as accurately as possible a three-dimensional image of a specific person. The process of deforming a template model to fit a 3D photograph of a specific person is called registration. In this case, the deformation must occur in such a way that the functional correspondence of each point is maintained in all registrations. For example, if the template point was responsible for the position of the elbow of any of the hands, then during registration it should perform the same function.

Затем множество точек шаблонной модели кодируется в виде вектора и выполняется PCA (Principal Component Analysis) декомпозиция. В ходе декомпозиции строится пространство из собственных векторов ковариационной матрицы выборки. Далее выбирается подпространство из нескольких первых собственных векторов с наибольшими собственными значениями. Таким образом, полученный набор векторов представляет пространство формы тела человека с наименьшими отклонениями. Параметризация выполняется по координатам в полученном базисе:Then the set of template model points is encoded as a vector and PCA (Principal Component Analysis) decomposition is performed. During decomposition, a space is constructed from the eigenvectors of the sample covariance matrix. Next, a subspace is selected from the first few eigenvectors with the largest eigenvalues. Thus, the resulting set of vectors represents the shape space of the human body with the least deviations. Parameterization is performed using coordinates in the resulting basis:

(10) (10)

где M – координаты вершин итоговой модели, B – число параметров формы, оставленных в модели, e i i-й собственный вектор, полученный PCA-разложением, β i – значение i-го параметра формы, – координаты вершин шаблона.where M are the coordinates of the vertices of the final model, B is the number of shape parameters left in the model, e i is the i -th eigenvector obtained by PCA decomposition, β i is the value of the i -th shape parameter, are the coordinates of the template vertices.

Каждая из двух упомянутых работ формулирует и выполняет процесс регистрации по своему. Авторы модели HumanShape используют модель SSCAPE в качестве инициализации, а затем улучшают ее при помощи алгоритма NRD. В модели SMPL сначала происходит построение пространства позы. Затем, подбирая позу человека на очередном трехмерном снимке, авторы напрямую оптимизируют положение вершин регистрации для получения максимального соответствия вершинам трехмерного снимка.Each of the two works mentioned formulates and executes the registration process differently. The authors of the HumanShape model use the SSCAPE model as an initialization and then improve it using the NRD algorithm. In the SMPL model, the pose space is first constructed. Then, by selecting a person’s pose in the next 3D image, the authors directly optimize the position of the registration vertices to obtain maximum correspondence to the vertices of the 3D image.

2.8.3. Алгоритм построения пространства формы модели HumanShape2.8.3. Algorithm for constructing the shape space of the HumanShape model

Авторы модели HumanShape выполняют процесс регистрации трехмерных снимков людей в два этапа. На первом этапе, регистрация трехмерного снимка аппроксимируется при помощи существующей параметрической модели. В качестве такой модели авторы используют модель S-SCAPE. В рамках этого этапа предлагается подбирать параметры позы и формы существующей параметрической модели так, чтобы она как можно точнее описывала регистрируемый трехмерный снимок. Для этого используется итеративный двухэтапный метод, повторяемый до достижения сходимости:The authors of the HumanShape model perform the process of registering 3D images of people in two stages. In the first stage, the 3D image registration is approximated using an existing parametric model. The authors use the S-SCAPE model as such a model. As part of this stage, it is proposed to select the pose and shape parameters of the existing parametric model so that it describes the registered three-dimensional image as accurately as possible. To do this, an iterative two-stage method is used, repeated until convergence is achieved:

(1) оптимизировать параметры позы для уменьшения среднеквадратичного отклонения между положением ключевых антропометрических точек на трехмерном снимке и параметрической модели;(1) optimize pose parameters to reduce the standard deviation between the position of key anthropometric points in the 3D image and the parametric model;

(2) оптимизировать параметры позы и формы для уменьшения среднеквадратичного отклонения от точек на модели до ближайших точек трехмерного снимка.(2) optimize the pose and shape parameters to reduce the standard deviation from points on the model to the nearest points in the 3D image.

Вследствие необходимости использования ключевых точек данный метод неприменим для решения поставленной задачи. В качестве оптимизатора используется встроенный оптимизатор MatLab fmincon, использующий конечно-разностное дифференцирование для поиска градиента параметрической модели.Due to the need to use key points, this method is not applicable to solve the problem. The optimizer is the built-in MatLab fmincon optimizer, which uses finite-difference differentiation to find the gradient of a parametric model.

Далее авторами предлагается уточнить полученную регистрацию с помощью алгоритма Non-Rigid Deformation. Описание данного алгоритма, применяемого авторами HumanShape, приведено в следующем разделе.Next, the authors propose to refine the resulting registration using the Non-Rigid Deformation algorithm. A description of this algorithm used by the authors of HumanShape is given in the next section.

2.8.4. Алгоритм Non-Rigid Deformation2.8.4. Non-Rigid Deformation Algorithm

Как уже было упомянуто ранее, впервые этот алгоритм был описан в работе [B16]. В статье, посвященной модели HumanShape, он использовался с незначительными модификациями. Общая идея состоит в том, чтобы получить для каждой вершины шаблона T аффинное преобразование для вершины i, описываемое матрицей 4×4 Ai для вершины i, такое, чтобы полученная поверхность шаблона как можно точнее соответствовала поверхности текущего трехмерного снимка S.As mentioned earlier, this algorithm was first described in [B16]. In the HumanShape article, it was used with minor modifications. The general idea is to obtain, for each vertex of the template T , an affine transformation for vertex i , described by the 4x4 matrix Ai for vertex i , such that the resulting template surface matches the surface of the current 3D image S as closely as possible.

Точность приближения трехмерного снимка шаблоном описывается при помощи набора из следующих трех функций потерь:The accuracy of approximation of a 3D image by a template is described using a set of the following three loss functions:

(i) функция Smoothness term(i) Smoothness term function

(11) (eleven)

где edges(T) – множество всех ребер шаблона, A i – матрица преобразования 4×4 для вершины i, || · || F – норма Фробениуса матрицы, Es – результат вычисления функции Smoothness term. Поскольку суммирование разности норм матриц преобразований происходит по ребрам, данная часть функции потерь штрафует модель за большие различия между преобразованиями, выявленные для соседних вершин;where edges(T) is the set of all edges of the template, A i is the 4x4 transformation matrix for vertex i , || · || F is the Frobenius norm of the matrix, Es is the result of calculating the Smoothness term function. Since the summation 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 transformations identified for neighboring vertices;

(ii) функция Landmark term(ii) Landmark term function

(12) (12)

где K – количество используемых ключевых точек, k i – номер вершины шаблона, являющейся i-ой ключевой точкой, p ki – координаты вершины k i исходного шаблона, A ki – преобразование, соответствующее k i -ой вершине шаблона, l i – координата i-й ключевой точки на текущем трехмерном снимке. Здесь подразумевается использование Евклидовой нормы. Эта часть функции потерь должна штрафовать модель за несоответствие положения ключевых точек шаблона и трехмерного снимка. Поскольку модель HumanShape создавалась на наборе данных CAESAR, в ней использовались 64 ключевые точки, учитывающие анатомические особенности строения человека;where K is the number of key points used, k i is the number of the template vertex, which is the i -th key point, p ki is the coordinates of the k i -th vertex of the original template, A ki is the transformation corresponding to the k i -th vertex of the template, l i is the i coordinate -key point in the current 3D image. This implies the use of the Euclidean norm. This part of the loss function should penalize the model for discrepancies between the positions of key points in the template and the 3D image. Since the HumanShape model was created on the CAESAR data set, it used 64 key points that take into account the anatomical features of the human structure;

(iii) функция Data term(iii) Data term function

(13) (13)

где w i – вес i-й вершины в шаблоне, A i – матрица преобразования i-й вершины, p i – координата i-й вершины в шаблоне, NN(i) – вершина скана, ближайший сосед i-й вершины шаблона. Данная часть функции потерь штрафует модель за слишком большое расстояние между преобразованными вершинами шаблона и ближайшими им вершинами трехмерного снимка. Веса каждой из вершин определялись, как уверенность сканирующей установки в положении вершины, которая была выбрана в качестве ближайшего соседа.where w i is the weight of the i -th vertex in the template, A i is the transformation matrix of the i -th vertex, p i is the coordinate of the i -th vertex in the template, NN(i) is the scan vertex, the nearest neighbor of the i -th vertex of the template. This part of the loss function penalizes the model if the distance between the transformed template vertices and their closest vertices in the 3D image is too large. The weights of each vertex were determined as the confidence of the scanning installation in the position of the vertex, which was selected as the nearest neighbor.

Конечная функция потерь представляет собой линейную комбинацию трех вышеупомянутых функций потерь:The final loss function is a linear combination of the three loss functions mentioned above:

E = αE d + βE l + γE s (14) E = αE d + βE l + γE s (14)

При построении модели авторами HumanShape использовались следующие параметры: α = 1, β = 10−3, γ = 106 . При этом выделялось несколько итераций, на каждой из которых веса компонент предыдущих итераций умножались на некоторые коэффициенты. В частности, значение α оставалось без изменения, а значения β и γ уменьшались в 4 раза. Подобный оптимизационный процесс продолжался, пока выполнялось условие γ ≥ 1000α или пока ошибка не переставала уменьшаться от одной итерации к другой. Кроме того, использовался инициализационный этап, на котором параметр α полагался равным нулю и деформация происходила только под действием функций E l и E s .When constructing the model, the authors of HumanShape used the following parameters: α = 1, β = 10 −3 , γ = 10 6 . In this case, several iterations were selected, at each of which the weights of the components of the previous iterations were multiplied by certain coefficients. In particular, the value of α remained unchanged, while the values of β and γ decreased by a factor of 4. This optimization process continued until the condition γ ≥ 1000 α was satisfied or until the error ceased to decrease from one iteration to the next. In addition, an initialization stage was used , at which the parameter α was set equal to zero and deformation occurred only under the influence of the functions El and Es .

Оптимизация функции потерь производилась при помощи квази-ньютоновского оптимизатора LBFGS-B. Между итерациями производился пересчет ближайших соседей, причем ближайший сосед считался успешно найденным в случае, если угол между нормалями вершин не превышал 60°, а расстояние между вершинами не превышало 5 сантиметров.The loss function was optimized using the quasi-Newtonian optimizer LBFGS-B. Between iterations, the nearest neighbors were recalculated, and the nearest neighbor was considered 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.

2.8.5. Пространство позы модели2.8.5. Model pose space

Далее, в таких моделях, как HumanShape и SMPL, для описания пространства позы к шаблону с примененными параметрами формы применяется техника скелетной анимации – Linear Blend Skinning (LBS). В таком случае в шаблон вписывается скелет – дерево вершин, где каждая вершина характеризуется положением в пространстве и представляет собой точку сочленения «костей» скелета (см. фиг. 10, где цветом изображено влияние каждого сустава на вершины модели). Использование подобной техники анимации персонажа делает модель совместимой с большинством программного обеспечения для анимирования и обработки 3D моделей.Next, in models such as HumanShape and SMPL, the skeletal animation technique Linear Blend Skinning (LBS) is used to describe the pose space to the template with the applied shape parameters. In this case, a skeleton fits into the template - a tree of vertices, where each vertex is characterized by a position in space and represents the point of articulation of the “bones” of the skeleton (see Fig. 10, where the influence of each joint on the vertices of the model is shown in color). Using this character animation technique makes the model compatible with most 3D model animation and processing software.

Конкретнее, техника LBS требует наличия матрицы весов где n – число вершин в модели, k – число суставов. Данная матрица описывает степень влияния трансформации отдельных суставов на конкретную вершину. Положение скелетных суставов описывается матрицей . Преобразование каждого сустава описывается при помощи оси и угла вращения относительно предка сустава в дереве скелета. Пусть – ось, вокруг которой будет происходить вращение j-го сустава, а – амплитуда вращения, тогда матрица поворота для j-го сустава может быть описана при помощи формулы Родрига:More specifically, the LBS technique requires a matrix of weights Wheren – number of vertices in the model,k – number of joints. This matrix describes the degree of influence of the transformation of individual joints on a specific vertex. The position of skeletal joints is described by the matrix. The transformation of each joint is described using an axis and rotation angle relative to the ancestor of the joint in the skeleton tree. Let – axis around which rotation will occurj-th joint, and is the rotation amplitude, then the rotation matrix forjth joint can be described using Rodrigues' formula:

(15) (15)

где I 3 – единичная матрица, а – вектор , записанный в виде кососимметричной матрицы. Такая матрица описывает только «локальное» преобразование позиции сустава, не учитывая влияние всех суставов по пути от корня дерева скелета до текущей точки. Глобальные матрицы преобразований можно рассчитать по следующей формуле:where I 3 is the identity matrix, and – vector , written as a skew-symmetric matrix. Such a matrix describes only the “local” transformation of the joint position, without 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:

(16) (16)

где – глобальная матрица преобразования для k-ого сустава, A(k) – упорядоченное множество всех суставов-предков для k-го, в порядке от корня скелета, сустава, exp(θ k ) – локальная матрица поворота для сустава, рассчитанная по формуле (15), J k – исходное положение сустава. Тогда преобразование для каждой вершины описывается выпуклой комбинацией матриц трансформации отдельных суставов:Where – global transformation matrix for the k -th joint, A(k) – ordered set of all ancestor joints for the k -th, in order from the root of the skeleton, joint, exp ( θ k ) – local rotation matrix for the joint, calculated by the formula ( 15), J k – initial position of the joint. Then the transformation for each vertex is described by a convex combination of transformation matrices of individual joints:

(17) (17)

Чем больше вес сустава для конкретной вершины, тем большее влияние он оказывает на изменение ее координаты. Обычно подразумевается, что на вершину оказывают влияние только ближайшие суставы, а отдаленные от нее имеют нулевой вес. Это позволяет хранить матрицу весов в разреженном виде. Так в моделях HumanShape и SMPL на вершину оказывает влияние не более 3–4 суставов.The greater the joint weight for a particular vertex, the greater the impact it has on changing its coordinates. It is usually assumed that only the nearest joints influence a vertex, and those farther from it have zero weight. This allows the weight matrix to be stored in sparse form. Thus, in the HumanShape and SMPL models, no more than 3–4 joints influence the apex.

Кодирование преобразований позы с помощью формулы Родрига требует наличия 3 параметров на один сустав скелета (нормированный вектор представляет ось вращения, а его норма – амплитуду). Скелет модели SMPL содержит k = 24 сустава и, следовательно, поза человека кодируется при помощи 3×24 =72 параметров. Модель HumanShape разрешает вращать кости скелета только вокруг заданных моделью осей, определяемых в ходе построения S-SCAPE. В ней определено k = 15 уникальных скелетных суставов, однако для некоторых из них (например, для бедренных и плечевых суставов) вращение возможно вокруг нескольких осей. Локальную матрицу поворота для них можно получить путем перемножения матриц для каждой оси, полученных по формуле Родрига (15).Encoding pose transformations using Rodrigue's formula requires 3 parameters per skeletal joint (the normalized vector represents the axis of rotation, and its norm represents the amplitude). The SMPL model skeleton contains k = 24 joints and hence the human pose is encoded using 3x24 =72 parameters. The HumanShape model allows rotation of the skeleton bones only around the axes specified by the model, determined during the construction of S-SCAPE. It defines k = 15 unique skeletal joints, but for some of them (for example, for the hip and shoulder joints) rotation is possible around several axes. The local rotation matrix for them can be obtained by multiplying the matrices for each axis obtained using the Rodrigue formula (15).

Изменение параметров формы тела человека приводит к изменению положения скелетных точек. Использование техники LBS с некорректными положениями суставов может привести к существенным артефактам, как, например, у модели HumanShape (см. фиг. 11). В этой модели авторы предлагают пересчитывать положения скелетных точек при помощи матрицы i-й столбец матрицы весов LBS, p i – предок i-го сустава в скелете, а min{·, ·} – взятие поэлементного минимума. Пересчет координат суставов происходит следующим образом:Changing the shape parameters of the human body leads to a change in the position of skeletal points. Using the LBS technique with incorrect joint positions can lead to significant artifacts, such as with the HumanShape model (see Fig. 11). In this model, the authors propose to recalculate the positions of skeletal points using a matrixthe i -th column of the LBS weight matrix, p i is the ancestor of the i -th joint in the skeleton, and min{·, ·} is taking the element-wise minimum. Recalculation of joint coordinates occurs as follows:

Авторы модели SMPL используют аналогичный подход, однако матрица-регрессор положений суставов L подбирается в ходе построения пространства позы, вместе с весовой матрицей . Такой подход показывает лучшие результаты, обеспечивая отсутствие подобных артефактов.The authors of the SMPL model use a similar approach, however, the regressor matrix of joint positions L is selected during the construction of the pose space, together with the weight matrix . This approach shows better results, ensuring the absence of such artifacts.

2.8.6. Нормализация позы2.8.6. Pose normalization

Выполнение PCA-разложения на множестве регистраций без каких-либо изменений приведет к проникновению в пространство формы большого количества дисперсии, вызванной изменением позы. Поэтому перед тем как производить декомпозицию необходимо нормализовать позу каждой регистрации из набора данных, приведя к стандартной. В качестве подобных стандартных поз могут выступать, например, А-поза или T-поза. А-поза человека характеризуется слегка разведенными в сторону руками, ногами на ширине плеч и чаще используется, например, при проведении замеров антропометрических параметров человека для производства одежды. Эта поза используется в качестве стандартной в модели HumanShape. В T-позе человек стоит с вытянутыми в сторону руками, ноги находятся на ширине плеч. Такая поза более характерна для программного обеспечения, связанного с 3D-графикой и анимацией, она используется авторами SMPL.Performing PCA on many registrations without any changes will introduce a large amount of variance into shape space due to pose changes. Therefore, before decomposition, it is necessary to normalize the pose of each registration from the data set, leading to a standard one. Such standard poses can be, for example, A-pose or T-pose. The A-pose of a person is characterized by arms slightly spread to the side, legs shoulder-width apart and is more often used, for example, when measuring a person’s anthropometric parameters for the production of clothing. This pose is used as a standard pose in the HumanShape model. In the T-pose, a person stands with his arms extended to the side, his feet shoulder-width apart. This pose is more common in 3D graphics and animation software and is used by the authors of SMPL.

Поскольку при построении пространства формы модели SMPL используется заранее построенное пространство позы, на момент регистрации модели есть возможность достаточно точно подобрать параметры позы, а значит, восстановить начальную позу регистрации. В модели HumanShape используется алгоритм NRD для уточнения процесса регистрации, в результате чего поза может значительно измениться. Авторы для нормализации позы используют метод, предложенный Wuhrer et al. [B21], основанный на оптимизации локализованных Лапласовых координат усредненной формы тела.Since when constructing the shape space of the SMPL model, a pre-built pose space is used, at the time of model registration it is possible to quite accurately select the pose parameters, and therefore restore the initial registration pose. The HumanShape model uses the NRD algorithm to refine the registration process, which can result in significant pose changes. The authors use the method proposed by Wuhrer et al. to normalize the pose. [B21], based on the optimization of localized Laplace coordinates of the averaged body shape.

2.9. Собственный подход к построению параметрической модели2.9. Own approach to building a parametric model

В то время как практически все подходы к созданию параметрической модели требуют набора данных, содержащего трехмерные снимки тела одного и того же человека в разных позах, в настоящей разработке поставлена цель описания возможного процесса построения модели в условиях ограниченного набора данных. Предложенный авторами настоящей разработки подход позволяет уточнить пространство формы имеющейся параметрической модели на основе набора трехмерных снимков, где каждый человек встречается только один раз. Кроме того, предлагаемый процесс обладает высокой скоростью работы, легко масштабируется при появлении новых данных, т.к. не требует ручной разметки дополнительной информации, например, такой как положение ключевых точек.While almost all approaches to creating a parametric model require a data set containing three-dimensional photographs of the body of the same person in different poses, this development aims to describe the possible process of building a model under conditions of a limited data set. The approach proposed by the authors of this development allows us to refine the shape space of the existing parametric model based on a set of three-dimensional images, where each person occurs only once. In addition, the proposed process has a high operating speed and is easily scalable when new data appears, because does not require manual marking of additional information, such as the position of key points.

Сначала выполняется предварительная обработка трехмерного снимка, затем инициализация регистрации при помощи параметрической модели, затем уточнение регистрации алгоритмом NRD, затем нормализация позы шаблона.First, the 3D image is preprocessed, then the registration is initialized using a parametric model, then the registration is refined by the NRD algorithm, then the template pose is normalized.

2.9.1. Предварительная обработка данных2.9.1. Data Preprocessing

Одной из проблем имеющегося набора данных является возникновение шумовых геометрических структур внутри тела человека, в случае, если человек двигался во время сканирования. Подобные структуры могут вызывать ошибки поиска ближайших соседей во время работы алгоритма NRD и приводить к появлению дефектов регистрации. Поэтому этап предварительной обработки данных включает в себя фильтрацию подобных геометрических структур. Зачастую оказывается, что подобные структуры на трехмерных снимках лежат в отдельных компонентах связности, если представить 3D-модель в качестве графа. Более формально, пусть имеется неориентированный граф G = (V, E), где V – множество вершин, соответствующее вершинам трехмерного снимка человеческого тела, E – множество ребер. Будем говорить, что ребро существует в случае, если существует треугольник, принадлежащий поверхности трехмерного снимка, сторона которого связывает эти две вершины. В таком случае, запустив поиск в глубину по такому графу, можно получить список компонент связности. Наибольшая по числу вершин компонента будет результатом фильтрации.One of the problems with the existing data set is the appearance of noise geometric structures inside the human body if the person moved during scanning. Such structures can cause nearest neighbor search errors during the operation of the NRD algorithm and lead to registration defects. Therefore, the data preprocessing step includes filtering such geometric structures. It often turns out that similar structures in 3D images lie in separate connected components, if you imagine the 3D model as a graph. More formally, let there be an undirected graph G = (V, E) , where V is the set of vertices corresponding to the vertices of a three-dimensional image of the human body, E is the set of edges. We will say that an edge exists if there is a triangle belonging to the surface of a three-dimensional image, the side of which connects these two vertices. In this case, by running a depth-first search on such a graph, you can obtain a list of connected components. The component with the largest number of vertices will be the result of filtering.

В некоторых случаях этого может оказаться недостаточно. Подобные структуры могут фактически находиться внутри тела, однако являться частью замкнутой поверхности тела. Пример подобного случая можно увидеть на фиг. 12, где шум помечен желтым и зеленым цветом. На этом изображении расположена геометрическая структура (А, подсвечена зеленым цветом), попадающая в отдельную компоненту связности графа и поэтому она может быть удалена при помощи описанного выше алгоритма.In some cases this may not be enough. Such structures may actually be inside the body, but be part of the closed surface of the body. 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 connected component of the graph and therefore can be removed using the algorithm described above.

Кроме нее имеется также шумовая структура, являющаяся частью поверхности левого плеча (Б, подсвечена желтым цветом). Если подобная структура является частью поверхности тела человека, то она не может быть отфильтрована при помощи классического алгоритма проверки нахождения точки внутри невыпуклой фигуры, выполняющего подсчет числа пересечений произвольного луча, выпущенного из проверяемой точки.In addition to it, there is also a noise structure, which 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 whether a point is inside a non-convex figure, which counts the number of intersections of an arbitrary ray emitted from the point being checked.

Для фильтрации подобных шумовых вершин и треугольников предлагается следующий подход. В ходе алгоритма определяется видимость каждой точки для наблюдателя. Для этого выполняется отрисовка карты глубины модели с различных ракурсов и сравниваются расстояния от камеры до точки со значением карты глубины. To filter such noisy vertices and triangles, the following approach is proposed. During the algorithm, the visibility of each point for the observer is determined. To do this, the depth map of the model is drawn from different angles and the distances from the camera to the point are compared with the value of the depth map.

Более формально, пусть – положение камеры в пространстве, – нормаль камеры (т.е. ее направление), – угол поворота фильтруемой 3D-модели на текущем шаге t, v i – положение вершин модели на текущем шаге.More formally, let – camera position in space, – camera normal (i.e. its direction), is the rotation angle of the filtered 3D model at the current step t , v i is the position of the model vertices at the current step.

(1) Выполняется отрисовка модели в карту глубины. Получается карта где N×M – разрешение отрисовки. Пусть положение проекции точки v i на проекционной плоскости. Тогда d ij – расстояние от до v i . Пример карты глубины представлен на фиг. 13, где цвет указывает на расстояние до точки, а шкала проградуирована в метрах. Таким образом, карта глубины представляет собой данные о расстоянии от проекционной плоскости камеры до поверхности модели.(1) The model is rendered into a depth map. It turns out a map where N×M is the rendering resolution. Let the position of the projection of point v i on the projection plane. Then d ij is the distance from to v i . An example of a depth map is shown in Fig. 13, where the color indicates the distance to the point, and the scale is graduated in meters. Thus, the depth map represents the distance from the camera's projection plane to the surface of the model.

(2) Вычисляется значение d i = ( ) – расстояние от вершины до соответствующей ей точки на проекционной плоскости. Если полученное значение d i больше соответствующего значения на карте глубины, то это значит, что точка невидима с данного ракурса.(2) The value d i = ( ) – the distance from the vertex to the corresponding point on the projection plane. If the resulting value d i is greater than the corresponding value on the depth map, this means that the point is invisible from this angle.

(3) Если точка видима хотя бы с одного ракурса, то принимается, что она является видимой.(3) If a point is visible from at least one angle, then it is assumed to be visible.

Углы поворота модели можно выбирать произвольным образом. В настоящей разработке используется перебор каждого из трех углов поворота по линейной сетке от 0 до 2π с шагом π/10.The rotation angles of the model can be chosen arbitrarily. In this development, we use an iteration of each of the three rotation angles along a linear grid from 0 to 2π with a step of π/10.

Такой алгоритм позволяет отфильтровать все невидимые вершины, находящиеся внутри трехмерного снимка человека, а значит, являющиеся шумовыми.This algorithm allows you to filter out all invisible vertices that are inside a three-dimensional image of a person, and therefore are noisy.

Далее выполняется поворот трехмерного снимка вокруг оси y таким образом, чтобы человек был направлен лицом по направлению оси z. Это необходимо для хорошей инициализации регистрации алгоритмом, описанным в следующем разделе описания.Next, the three-dimensional image is rotated around the y-axis so that the person is facing in the direction of the z- axis. This is necessary for good initialization of registration by the algorithm described in the next section of the description.

Пусть y min , y max – минимальные и максимальные координаты по оси y среди всех точек вращаемой 3D-модели и h = y max y min – высота модели. Тогда, если отфильтровать все точки, высота которых удовлетворяет условию y i < y min + 0,03h, большая часть подобного набора будет состоять из вершин, относящиеся к стопам человека. Затем производится кластеризация на две компоненты с помощью алгоритма KMeans. Полученные центроиды c low1 и c low2 являются центрами стоп человека. Если взять область точек выше, например, y min + 0,09h < y i < y min + 0,12h, то подобная область будет содержать нижнюю часть ног человека. Аналогично с помощью алгоритма KMeans можно найти центроиды c high1 и c high2 . Теперь необходимо подобрать угол поворота таким образом, чтобы прямые, проходящие через точки c low1 , c low2 , и c high1 , c high2 , были перпендикулярны оси z, при этом прямая c high1 , c high2 имела бы меньшие координаты z.Lety min ,y max – minimum and maximum axis coordinatesy among all points of the rotated 3D model andh =y max y min – height of the model. Then, if you filter out all points whose height satisfies the conditiony i <y min + 0.03h, most of such a set will consist of vertices related to human feet. Then clustering into two components is performed using the KMeans algorithm. Resulting centroidsc low1 Andc low2 are the centers of human feet. If we take the area of points above, for example,y min + 0.09h <y i <y min + 0.12h, then such an area would contain the lower part of a person's legs. Similarly, using the KMeans algorithm you can find the centroidsc high1 Andc high2 . Now you need to select the angle of rotation so that the straight lines passing through the pointsc low1 ,c low2 , Andc high1 ,c high2 , were perpendicular to the axisz, while straightc high1 ,c high2 would have smaller coordinatesz.

2.9.2. Инициализация регистрации при помощи параметрической модели2.9.2. Initializing registration using a parametric model

На этом этапе выполняется аппроксимация регистрации трехмерного снимка при помощи некоторой параметрической модели. В рамках настоящей разработки были протестированы модели HumanShape и SMPL. Для параметрической модели подбираются параметры формы , позы , а также общие параметры трансформации, такие как смещение и коэффициент масштабирования s.At this stage, the registration of a three-dimensional image is approximated using a certain parametric model. As part of this development, the HumanShape and SMPL models were tested. For a parametric model, shape parameters are selected , poses , as well as general transformation parameters such as offset and scaling factor s .

Граф вычислений при инициализации регистрации параметрической моделью представлен на фиг. 14, где показано поэтапное применение параметров формы и параметров позы, с предварительным пересчетом координат скелетных суставов, а затем с применением общих параметров трансформации, таких как масштабирование и смещение. Далее считается функция потерь на основе среднеквадратичного отклонения от ближайших вершин.The calculation graph when initializing registration by the parametric model is presented in Fig. 14, which shows the step-by-step application of shape parameters and pose parameters, first recalculating the coordinates of skeletal joints, and then applying general transformation parameters such as scaling and translation. Next, the loss function is calculated based on the standard deviation from the nearest vertices.

В данном подходе в качестве функции потерь используется среднеквадратичное отклонение между вершинами целевого облака точек и ближайшими для них вершинами параметрической модели. Пересчет ближайших вершин шаблона происходит на каждой итерации градиентного спуска, однако это не является дифференцируемой функцией. Ближайшая вершина полагается константной в рамках одной итерации спуска. На фиг. 14 можно видеть наглядную визуализацию графа вычислений. Если для моделей в наборе данных известна характерная поза, соответствующим образом возможно инициализировать параметры позы параметрической модели, а также ввести регуляризацию на параметры позы:In this approach, the standard deviation between the vertices of the target point cloud and the closest vertices of the parametric model is used as a loss function. The nearest vertices of the template are recalculated at each iteration of gradient descent, but this is not a differentiable function. The nearest vertex is assumed to be constant within one descent iteration. In fig. 14 you can see a visualization of the calculation graph. If a characteristic pose is known for the models in the data set, it is possible to initialize the pose parameters of the parametric model accordingly, as well as introduce regularization on the pose parameters:

(18) (18)

где v i – положение вершины i-го трехмерного снимка, T – множество вершин шаблона, NNT (v i ) – координата ближайшей к v i вершины из T, λ – коэффициент регуляризации, I – множество номеров подвергаемых регуляризации суставов, – параметры позы, – параметры формы модели, – смещение модели относительно начала координат, s – масштаб модели.where v i is the position of the vertex of the i -th three-dimensional image, T is the set of template vertices, NNT (v i ) is the coordinate of the vertex closest to vi from T , λ is the regularization coefficient, I is the set of numbers of joints subject to regularization, – pose parameters, – model shape parameters, – displacement of the model relative to the origin, s – scale of the model.

Для выполнения оптимизации предлагается использование градиентного оптимизатора Adam. Для ускорения скорости сходимости и во избежание локальных минимумов предлагается использовать следующую технику оптимизации.To perform optimization, it is proposed to use the Adam gradient optimizer. To speed up the convergence rate and avoid local minima, it is proposed to use the following optimization technique.

(1) Производить n итераций градиентного спуска при помощи оптимизатора Adam, оптимизируя функцию потерь только по параметрам трансформации.(1) Perform n iterations of gradient descent using the Adam optimizer, optimizing the loss function only according to the transformation parameters.

(2) Производить n итераций градиентного спуска при помощи оптимизатора Adam, оптимизируя функцию потерь только по параметрам позы.(2) Perform n iterations of gradient descent using the Adam optimizer, optimizing the loss function only for the pose parameters.

(3) С использованием четырех оптимизаторов поочередно производить по 10 шагов градиентного спуска каждым оптимизатором (в следующем порядке: поза, форма, трансформация, все параметры) до достижения необходимого уровня сходимости или до достижения 4n итераций на данном шаге.(3) Using four optimizers, alternately perform 10 gradient descent steps with each optimizer (in the following order: pose, shape, transformation, all parameters) until the required level of convergence is achieved or until 4n iterations are reached at this step.

В данном подходе используется значение n = 100. Поскольку значения параметров β i , могут быть достаточно большими, к ним применялся масштабирующий множитель. Немаловажным фактором является подбор значений скорости обучения (learning rate) для каждого из оптимизаторов. Эти значения приведены в таблице 1, приведенной далее.In this approach, the value n = 100 is used. Since the values of the parameters β i , can be quite large, a scaling factor has been applied to them. An important factor is the selection of learning rate values for each optimizer. These values are shown in Table 1 below.

2.9.3. Модификация алгоритма Non-Rigid Deformation2.9.3. Modification of the Non-Rigid Deformation algorithm

Реализация алгоритма NRD, выполненная в ходе этой работы, обладает следующими особенностями:The implementation of the NRD algorithm performed in this work has the following features:

- в качестве оптимизатора в исходном алгоритме использован квазиньютоновский LBFGS-B, в то время как предложенный подход использует градиентный оптимизатор Adam. В качестве критерия остановки градиентного спуска на каждой из итераций применяется следующий критерий: остановка происходит, если в течении patience итераций не произошло улучшение функции потерь больше чем на tolerance или достигнуто максимальное количество шагов max_iter;- the original algorithm uses the quasi-Newtonian LBFGS-B as an optimizer, while the proposed approach uses the Adam gradient optimizer. The following criterion is used as a criterion for stopping gradient descent at each iteration: stopping occurs if during the patience iterations the loss function has not improved by more than tolerance or the maximum number of steps max_iter has been reached;

- для расчета нормалей к вершинам шаблона в исходном алгоритме использован усеченный расчет по нормали одного случайно выбранного треугольника, содержащего вершину. В предложенном подходе производится полный расчет нормалей: нормаль определяется усреднением всех нормалей треугольников, примыкающих к данной вершине;- to calculate the normals to the vertices of the template, the original algorithm uses a truncated calculation along the normal of one randomly selected triangle containing the vertex. In the proposed approach, a complete calculation of normals is performed: the normal is determined by averaging all the normals of the triangles adjacent to a given vertex;

- в виду того, что большинство лазерных трехмерных снимков содержало пропуски точек, относящихся к ступням, их оптимизация была запрещена в исходном алгоритме авторов модели HumanShape. Имеющаяся у авторов настоящей разработки коллекция не содержит подобных артефактов, следовательно, их оптимизация была разрешена.- due to the fact that most 3D laser images contained missing points related to the feet, their optimization was prohibited in the original algorithm of the authors of the HumanShape model. The collection available to the authors of this development does not contain such artifacts, therefore, their optimization was allowed.

Авторы модели HumanShape представили результаты регистраций на наборе данных CAESAR, что позволило рассчитать для каждого треугольника шаблона его среднюю площадь по всем регистрациям. Наличие крупных треугольников не позволяет сделать поверхность тела человека на регистрации гладкой, передавать мелкие детали. Поэтому n самых статистически крупных треугольников шаблона делились на четыре части путем добавления новых вершин на середину каждой из сторон треугольника.The authors of the HumanShape model presented the results of registrations on the CAESAR data set, which made it possible to calculate for each triangle of the template its average area over all registrations. The presence of large triangles does not make it possible to make the surface of the human body smooth during registration or to convey small details. Therefore, the n statistically largest triangles in the template were divided into four parts by adding new vertices to the middle of each side of the triangle.

Функция потерь в исходном алгоритме оптимизирует положения вершин, при этом никак не учитывая то, что облако полученных точек образует поверхность. В результате координаты вершин шаблона оказывались подобранными точно, но при соединении их в поверхность треугольниками возникали дефекты рельефа – чрезмерно резкие перепады, впадины и бугры.The loss function in the original algorithm optimizes the positions of the vertices, without taking into account the fact that the cloud of resulting points forms a surface. As a result, the coordinates of the template vertices turned out to be precisely selected, but when they were connected into a surface by triangles, relief defects arose - excessively sharp drops, depressions and bumps.

Для учета особенностей образуемой шаблоном поверхности в функцию потерь добавлена новая компонента, штрафующая за слишком большую величину углов между нормалями соседних треугольников:To take into account the features of the surface formed by the template, a new component has been added to the loss function, which penalizes for too large angles between the normals of neighboring triangles:

(19) (19)

где |edges| – число ребер в шаблоне, edges(T) – множество ребер шаблона, n i – вектор нормали для треугольника i, – угол между нормалями, F(·) – применение функции активации к величине угла.where | edges | – number of edges in the template, edges ( T ) – set of edges of the template, n i – normal vector for triangle i , – the angle between the normals, F (·) – application of the activation function to the angle value.

В качестве функции активации использовалась функция следующего вида (см. также фиг. 15):The following function was used as an activation function (see also Fig. 15):

Использование более качественного метода инициализации регистрации дало возможность уйти от использования антропометрических точек в работе алгоритма NRD, за счет чего достигнута полная автоматизация метода. Новая функция потерь, минимизируемая в ходе алгоритма, имеет вид:The use of a better method of initializing registration made it possible to avoid the use of anthropometric points in the operation of the NRD algorithm, due to which full automation of the method was achieved. The new loss function minimized during the algorithm has the form:

(20) (20)

2.9.4. Нормализация позы2.9.4. Pose normalization

На этапе инициализации регистрации параметрической моделью для модели SMPL были подобраны параметры позы. Затем, в результате применения алгоритма NRD поза человека могла немного измениться, если параметры позы были подобраны неточно. В этом случае необходимо уточнить позу путем оптимизации:At the parametric model registration initialization stage, pose parameters were selected for the SMPL model. Then, as a result of applying the NRD algorithm, the person's pose could change slightly if the pose parameters were not selected accurately. In this case, it is necessary to refine the pose by optimization:

(21) (21)

где T nrd,i – положение вершины шаблона i, полученного в результате регистрации с помощью алгоритма NRD, T i – положение вершины i параметрической модели.where T nrd,i is the position of the vertex of the template i obtained as a result of registration using the NRD algorithm, T i is the position of the vertex i of the parametric model.

По полученным параметрам позы можно рассчитать матрицы Linear Blend Skinning, а затем, вычислив обратные, домножить на координаты вершин T nrd . Таким образом будет получена регистрация в начальной позе. Для модели SMPL начальной позой является T-поза, когда руки человека раздвинуты в сторону, а ноги раздвинуты на ширине плеч.Using the obtained pose parameters, you can calculate the Linear Blend Skinning matrices, and then, having calculated the inverse ones, multiply them by the coordinates of the vertices T nrd . In this way, registration in the initial pose will be obtained. For the SMPL model, the starting pose is the T-pose, where the person's arms are spread to the side and the legs are spread shoulder-width apart.

Модель HumanShape содержит утечку позы в параметры формы, то есть изменение параметров формы вызывает изменение позы параметрической модели. Это приводит к тому, что начальная поза для параметрической модели изменяется с изменением параметров формы. Следовательно, вышеописанный подход неприменим для модели, основанной на HumanShape. В данной работе предлагается скорректировать этот эффект путем построения скелета в нейтральной позе, а затем – оптимизации положений скелетных точек:The HumanShape model contains pose leakage into the shape parameters, that is, changing the shape parameters causes the pose of the parametric model 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. In this work, it is proposed to correct this effect by constructing a skeleton in a neutral pose, and then optimizing the positions of the skeletal points:

(22) (22)

где i – положение сустава i построенного скелета в A-позе, J nrd,i – положение сустава i скелета регистрации, полученной с помощью алгоритма NRD. Здесь оптимизация производится по параметрам позы регистрации, полученной в результате работы алгоритма NRD.where Ĵ i is the position of joint i of the constructed skeleton in A-pose, J nrd,i is the position of joint i of the registration skeleton obtained using the NRD algorithm. Here, optimization is performed based on the parameters of the registration pose obtained as a result of the NRD algorithm.

2.10. Экспериментальное исследование2.10. Experimental study

Далее описаны условия экспериментальной апробации описанного подхода.The following describes the conditions for experimental testing of the described approach.

2.10.1. Используемый набор данных2.10.1. Dataset used

В качестве исходного набора трехмерных снимков использовалась коллекция, полученная с помощью 3D-сканера человеческого тела TEXEL Portal. Это сканер обладает высокой точностью, имея погрешность сканирования порядка 1,4 мм. Для проведения экспериментов был отобран набор из 500 трехмерных снимков людей, содержащий приблизительно одинаковое количество мужских и женских 3D-моделей. Представленные снимки имели высокую детализацию и содержали по 250 тысяч вершин и 500 тысяч треугольников каждый.The collection obtained using the TEXEL Portal 3D human body scanner was used as the initial set of 3D images. This scanner is highly accurate, with a scanning error of about 1.4 mm. For the experiments, a set of 500 3D photographs 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.

Кроме того, для тестирования и сравнения качества работы полученной параметрической модели использовался набор данных CAESAR – набор трехмерных снимков, используемый авторами параметрических моделей SMPL и HumanShape для построения пространства позы. Он содержит трехмерные снимки 4394 различных людей, каждый из которых представлен в трех позах. При этом использовались только снимки, где человек стоит в A-позе. Никакая вспомогательная метаинформация, в том числе информация о положениях ключевых антропометрических точек, при выполнении процесса регистрации не использовалась.In addition, to test and compare the quality of the resulting parametric model, the CAESAR data set was used - a set of 3D images used by the authors of the SMPL and HumanShape parametric models to construct pose space. It contains three-dimensional photographs of 4,394 different people, each of whom is presented in three poses. In this case, only photographs were used where a person stands in an A-pose. No supporting meta-information, including information about the positions of key anthropometric points, was used during the registration process.

2.10.2. Реализация алгоритма инициализации регистрации2.10.2. Implementation of the registration initialization algorithm

Инициализация регистрации при помощи параметрической модели является важной частью предложенного подхода к регистрации трехмерных снимков. От качества выполнения данного этапа зависит качество полученных векторов, описывающих пространство формы параметрической модели. Если параметры позы при инициализации подобраны некорректно, то при применении алгоритма NRD будут выбраны неверные вершины трехмерного снимка в качестве ближайших соседей, в результате чего функциональное соответствие вершин шаблона будет нарушено. Оптимизационная задача (18) является сложной задачей с большим количеством локальных минимумов. Во избежание попадания оптимизатора Adam в локальные минимумы важно подобрать значения скорости обучения. Значения параметров, использованные в данной работе, приведены в таблице 1.Initialization of registration using a parametric model is an important part of the proposed approach to registration of 3D images. The quality of the resulting vectors describing the shape space of the parametric model depends on the quality of this stage. If the pose parameters are selected incorrectly during initialization, then when applying the NRD algorithm, incorrect vertices of the 3D image will be selected as 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 the Adam optimizer from falling into local minima, it is important to select learning rate values. The parameter values used in this work are given in Table 1.

Поскольку шаблоны используемых параметрических моделей содержат небольшое количество вершин (шаблон SMPL содержит 6890 вершин, шаблон HumanShape содержит 6449 вершин), то в использовании всех вершин трехмерного снимка на данном этапе нет необходимости. В предложенном подходе перед выполнением оптимизации выбирался случайным образом набор из 7000 вершин исходного трехмерного снимка. Затем оптимизационная задача (18) решалась для полученного набора вершин.Since 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 a 3D image at this stage. In the proposed approach, before performing optimization, a set of 7000 vertices of the original 3D image was randomly selected. Then the optimization problem (18) was solved for the resulting set of vertices.

Поскольку приблизительная поза всех людей на имеющемся наборе трехмерных снимков известна, параметрическая модель инициализировалась A-позой, при этом регуляризовались вращения суставов головы и стоп с использованием значения λ = 10.Since the approximate pose of all people in the available set of 3D images is known, the parametric model was initialized with A-pose, while the rotations of the head and foot joints were regularized using the value λ = 10.

2.10.3. Тестирование реализации алгоритма Non-Rigid Deformation2.10.3. Testing the implementation of the Non-Rigid Deformation algorithm

Поскольку новая коллекция данных не содержит информации об уверенности сканирующей установки в положении вершин трехмерных снимков, соответствующие весовые коэффициенты формулы (13) были установлены для всех вершин равными единице. В качестве критерия останова использовался описанный ранее критерий со значениями параметров patience = 70, tolerance = 10−2 и максимальным числом шагов градиентного спуска на одну итерацию max_iter = 300. Since the new data collection does not contain information about the confidence of the scanning installation in the position of the vertices of three-dimensional images, the corresponding weighting coefficients of formula (13) were set equal to one for all vertices. As a stopping criterion, we used the previously described criterion with parameter values patience = 70, tolerance = 10 −2 and the maximum number of gradient descent steps per iteration max_iter = 300.

При поиске ближайших вершин считалось, что ближайший сосед найден успешно, если он находится на расстоянии не более 3 см, а угол между нормалью вершины трехмерного снимка и нормалью вершины параметрической модели составляет менее 45°. Оптимизация положения вершин кистей рук шаблона при инициализации параметрической моделью SMPL была запрещена, поскольку на многих из трехмерных снимков пальцы рук сжаты в кулак, а параметрическая модель SMPL имеет прямую ладонь.When searching for nearest vertices, it was considered that the nearest neighbor was found successfully if it was 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 was less than 45°. Optimizing the position of the template's hand vertices when initializing with the parametric SMPL model was prohibited because in many of the 3D images the fingers are clenched into a fist, and the parametric SMPL model has a straight palm.

Оптимизация положения вершин головы шаблона также была запрещена, поскольку многие трехмерные снимки содержат объемные прически, искажающие форму головы. Использованные весовые коэффициенты для функции потерь (20) представлены в таблице 2. Коэффициенты, на которое производилось умножение весов функции потерь, отмечены в таблице как r α , r β , r γ .Optimizing the position of the template's head vertices was also prohibited because many 3D images contain voluminous hairstyles that distort the shape of the head. The weighting coefficients used for the loss function (20) are presented in Table 2. The coefficients by which the weights of the loss function were multiplied are marked in the table as r α , r β , r γ .

На фиг. 16–18 представлено сравнение результатов работы предложенной модификации алгоритма NRD и исходного алгоритма [B15] на трехмерном снимке из набора CAESAR. Слева направо представлены: предложенная усовершенствованная версия NRD, исходный трехмерный снимок и исходная версия NRD. Трехмерный снимок содержит пропуски – участки с отсутствующими денными. Качество работы алгоритма определялось расстоянием от вершин полученной регистрации до вершин трехмерного снимка. На фиг. 16–18 цветом каждой вершины регистрации обозначены расстояния до ближайших вершин трехмерного снимка. Белый цвет означает нулевое отклонение, а как красный означает отклонения в 15 мм и более. В этом эксперименте в ходе работы предложенного алгоритма число вершин в шаблоне не увеличивалось. In fig. Figures 16–18 show a comparison of the results of the proposed modification of the NRD algorithm and the original algorithm [B15] on a three-dimensional image from the CAESAR set. From left to right are: the proposed improved version of the NRD, the original 3D image and the original version of the NRD. The three-dimensional image contains gaps - areas with missing data. The quality of the algorithm's work was determined by the distance from the vertices of the obtained registration to the vertices of the three-dimensional image. In fig. 16–18, the color of each registration vertex indicates the distances 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, the number of vertices in the template did not increase during the operation of the proposed algorithm.

Можно видеть, что для большей части поверхности тела получены лучшие результаты, о чем говорят более светлые участки поверхности. Преимущество предложенного алгоритма особенно заметно на рельефе верхней части спины и живота. Вершины стоп ног отображаются красным, поскольку исходный трехмерный снимок имеет дефекты сканирования в этой области тела. На нем практически полностью отсутствуют вершины, соответствующие стопам ног. Вершины рук также обладают высокой погрешностью регистрации здесь, поскольку на исходном трехмерном снимке пальцы прямые, а на шаблоне они сжаты в кулак.It can be seen that better results were obtained for most of the body surface, as indicated by lighter areas of the surface. The advantage of the proposed algorithm is especially noticeable on the topography of the upper back and abdomen. The tops of the feet appear in red because the original 3D image has scan defects in that area of the body. It almost completely lacks vertices corresponding to the feet. The tops of the hands also have a high registration error here, since in the original 3D image the fingers are straight, but in the template they are clenched into a fist.

Кроме того, был произведен замер производительности. Исходная реализация алгоритма NRD затрачивает на построение регистрации 235–239 секунд, в то время как предложенная реализация затрачивает 7–8 секунд. Инициализация регистрации параметрической моделью длится 26–29 минут в исходной реализации авторов HumanShape, а предложенная реализация затрачивает на этот этап 13 секунд.In addition, performance measurements were made. The original implementation of the NRD algorithm takes 235–239 seconds to build a registration, while the proposed implementation takes 7–8 seconds. Initialization of registration by a parametric model lasts 26–29 minutes in the original implementation of the authors of HumanShape, and the proposed implementation spends 13 seconds on this stage.

Действие новой компоненты (19) проиллюстрировано на фиг. 19, где слева направо представлены результаты работы алгоритма NRD: с классической функцией потерь, 25 тысяч вершин в трехмерном снимке; с классической функцией потерь, 250 тысяч вершин в трехмерном снимке; и модифицированная функция потерь, 250 тысяч вершин в трехмерном снимке. Можно видеть, что на правом изображении поверхность тела более гладкая, а на левом изображении поверхность тела угловатая, с рельефными перепадами, не характерными для человеческого тела. Кроме того, без использования компоненты (19) возникают пересечения треугольников поверхности тела, которые показаны на левом изображении черным цветом.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 a classical loss function, 25 thousand vertices in a three-dimensional image; with classic loss function, 250 thousand vertices in a 3D image; and a modified loss function, 250 thousand vertices in a 3D image. You can see that in the right image the surface of the body is smoother, and in the left image the surface of the body is angular, with relief differences that are not characteristic of the human body. In addition, without using component (19), intersections of body surface triangles arise, which are shown in black in the left image.

Процесс регистрации выполнялся для трехмерных снимков в полном разрешении (250 тысяч вершин), в то время как исходная реализация алгоритма NRD [B15] выбирала случайным образом 19347 вершин трехмерного снимка и работала только с ними. Для построения параметрической модели использовалось увеличение числа вершин в шаблоне до 18–19 тысяч.The registration process was performed on full-resolution 3D images (250 thousand vertices), while the original implementation of the NRD algorithm [B15] randomly selected 19347 vertices from a 3D image and worked only on them. To build a parametric model, we used an increase in the number of vertices in the template to 18–19 thousand.

Пример трехмерного снимка, использованного при построении параметрической модели, а также результаты его регистрации на основе инициализации параметрическими моделями HumanShape и SMPL можно увидеть на фиг. 20, где представлено сравнение регистраций одного и того же трехмерного снимка с помощью разных параметрических моделей. Слева направо: регистрация на основе HumanShape (18659 вершин), исходный трехмерный снимок (250000 вершин), регистрация на основе SMPL (18890 вершин). На шаблоне параметрической модели SMPL лучше детализирована голова, пальцы рук и ног, поэтому регистрация на основе этой параметрической модели кажется более реалистичной. Тем не менее, регистрации, полученные на основе обеих параметрических моделей – и HumanShape, и SMPL – имеют достаточно небольшие отклонения от исходных снимков.An example of a three-dimensional image used in constructing the parametric model, as well as the results of its registration based on initialization by the HumanShape and SMPL parametric models can be seen in Fig. 20, which presents a comparison of registrations of the same three-dimensional image using different parametric models. From left to right: HumanShape-based registration (18659 vertices), original 3D image (250000 vertices), SMPL-based registration (18890 vertices). The SMPL parametric model template has better detail of the head, fingers, and toes, so registration based on this parametric model appears more realistic. However, the registrations obtained based on both parametric models - HumanShape and SMPL - have fairly small deviations from the original images.

Авторы модели HumanShape в качестве метрики успешности регистрации используют в своей работе расстояние от точек шаблона до ближайших им точек трехмерного снимка. Эта метрика отражает качество приближения трехмерного снимка облаком точек шаблона. При этом не учитывается рельеф поверхности, образованной шаблоном. Для учета рельефа поверхности полученной регистрации предлагается следующая метрика:The authors of the HumanShape model use in their work the distance from the template points to the closest points of the three-dimensional image as a metric for registration success. This metric reflects the quality of the approximation of a 3D image by a template point cloud. In this case, the surface relief formed by the template is not taken into account. To take into account the surface topography of the resulting registration, the following metric is proposed:

(23) (23)

где T S – множество всех треугольников шаблона, t – рассматриваемый треугольник поверхности, v i – вершина i трехмерного снимка, d(v i , t) – расстояние от вершины v i до треугольника t, err i – отклонение для вершины i трехмерного снимка.where T S is the set of all template triangles, t is the surface triangle under consideration, v i is vertex i of the three-dimensional image, d ( v i , t ) is the distance from vertex v i to triangle t , err i is the deviation for vertex i of the three-dimensional image.

Таким образом, в формуле (23) рассчитываются расстояния от каждой вершины трехмерного снимка до поверхности 3D-модели, полученной в результате регистрации. Предлагается рассчитывать данные значения для каждой вершины трехмерного снимка, а затем, к примеру, сгруппировать их по квантилям.Thus, formula (23) calculates the distances from each vertex of the three-dimensional 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.

Результаты регистрации собственного набора данных можно увидеть на фиг. 21. На этом графике все отклонения для одного скана были разбиты по квантилям, а затем значения отдельных квантилей усреднены по всем трехмерным снимкам. Оранжевым цветом обозначены результаты регистрации, полученные на основе параметрической модели HumanShape, а синим – на основе параметрической модели SMPL. Сплошной линией отмечены результаты инициализации регистрации методом, описанным в разделе 2.9.2, а пунктирной линией улучшения регистраций с использованием предложенной модификации алгоритма NRD.The results of registering your own data set can be seen in Fig. 21. In this graph, all deviations for one scan were divided into quantiles, and then the values of individual quantiles were averaged across all three-dimensional images. Registration results obtained based on the HumanShape parametric model are indicated in orange, and registration results obtained from the SMPL parametric model are indicated in blue. The solid line marks the results of initializing the registration using the method described in Section 2.9.2, and the dotted line marks the results of improving the registrations using the proposed modification of the NRD algorithm.

На фиг. 21А видно, что параметрическая модель SMPL аппроксимирует форму тела людей на имеющихся трехмерных снимках лучше, чем параметрическая модель HumanShape. Использование предложенной модификации алгоритма NRD дает существенное улучшение качества регистрации на обеих моделях. При этом регистрации на основе параметрической модели SMPL также обладают лучшим качеством по сравнению с регистрациями, основанными на параметрической модели HumanShape.In fig. 21A shows that the SMPL parametric model approximates the body shape of people in existing 3D images better than the HumanShape parametric model. The use of the proposed modification of the NRD algorithm provides a significant improvement in the quality of registration on both models. At the same time, registrations based on the SMPL parametric model also have better quality compared to registrations based on the HumanShape parametric model.

Вместе с программной реализацией алгоритмов авторы HumanShape выложили в открытый доступ результаты регистрации набора данных CAESAR. Эти результаты регистрации можно использовать для сравнения качества работы алгоритмов напрямую. Однако выложенные в открытый доступ регистрации CAESAR имеют нейтральную позу. Для проведения эксперимента для каждой из регистраций подбирались параметры позы в соответствии с трехмерными снимками путем минимизации функционала (18) только по , . Результаты сравнения с методом, предложенным в данной работе, представлены на фиг. 21Б, где синим цветом обозначены результаты регистрации, полученные предложенным методом, а оранжевым цветом – полученные исходным методом.Together with the software implementation of the algorithms, the authors of HumanShape made the results of registration of the CAESAR data set publicly available. These registration results can be used to directly compare the performance of algorithms. However, publicly available CAESAR registrations have a neutral posture. To carry out the experiment, for each of the registrations, pose parameters were selected in accordance with three-dimensional photographs by minimizing the functional (18) only by , . The comparison results with the method proposed in this work are presented in Fig. 21B, where blue indicates the registration results obtained by the proposed method, and orange indicates those obtained by the original method.

Из результатов экспериментов можно сделать вывод, что метод регистрации трехмерных снимков, предложенный в данном подходе, обладает существенно лучшими качеством и скоростью работы, чем исходный метод авторов параметрической модели HumanShape. Предложенный метод увеличения числа вершин в шаблоне позволяет более точно описывать рельеф тела человека, учитывая мелкие детали.From the experimental results, we can conclude that the method for registering three-dimensional images proposed in this approach has significantly better quality and speed than the original method of the authors of the HumanShape parametric model. The proposed method of increasing the number of vertices in the template makes it possible to more accurately describe the relief of the human body, taking into account small details.

2.10.4. Результаты построения параметрической модели2.10.4. Results of constructing a parametric model

Как описано ранее, построение нового пространства формы параметрической модели производилось путем выполнения PCA-декомпозиции на множестве всех имеющихся регистраций. В результате на основе параметрической модели SMPL были построены две параметрические модели (мужского и женского тела). В то время как исходный шаблон модели SMPL содержит 6890 вершин, шаблоны полученных параметрических моделей содержат 18890 вершин. Поскольку добавление новых вершин производилось путем добавления вершины на середины ребер треугольников поверхности шаблона, вектор весов Linear Blend Skinning (формула 17) рассчитывался как , где w i , w j – векторы весов LBS для вершин, образующих ребро. Регрессор положения скелетных суставов остался без изменений, т.е. влияния новых вершин на положения скелетных суставов полагались нулевыми.As described earlier, the construction of a new shape space of the parametric model was carried out by performing PCA decomposition on the set of all available registrations. As a result, based on the SMPL parametric model, two parametric models (male and female bodies) were built. While the original SMPL model template contains 6890 vertices, the resulting parametric model templates contain 18890 vertices. Since adding new vertices was done by adding a vertex to the midpoints of the edges of the template surface triangles, the Linear Blend Skinning weight vector (formula 17) was calculated as , where w i , w j are vectors of LBS weights for the vertices forming the edge. The regressor of the position of skeletal joints remained unchanged, i.e. the influence of new vertices on the positions of skeletal joints was assumed to be zero.

В ходе PCA-декомпозиции рассчитываются собственные значения λ i ковариационной матрицы выборки. Квадраты полученных собственных значений λ i 2 можно интерпретировать как величину дисперсии формы тела человека, объясняемую параметром i. В таком случае можно рассчитать долю объясненной дисперсии формы тела человека первыми k параметрами (Explained Variance Ratio):During PCA decomposition, the eigenvalues λ i of the sample covariance matrix are calculated. The squares of the obtained eigenvalues λ i 2 can be interpreted as the amount of dispersion of the human body shape explained by the parameter i . In this case, you can calculate the proportion of explained variance in the human body shape using the first k parameters (Explained Variance Ratio):

(24) (24)

График зависимости метрики EV R от используемого числа компонент представлен на фиг. 22. Здесь процент объясненной дисперсии рассчитан отдельно для полученных мужских и женских параметрических моделей.A graph of the dependence of the EV R metric on the number of components used is presented in Fig. 22. Here, the percentage of variance explained is calculated separately for the resulting male and female parametric models.

На фиг. 22 видно, что около 97,5% дисперсии формы тела объясняется первыми 10 параметрами пространства формы. При этом использование 20 параметров позволяет объяснить почти 99% дисперсии. Значит, использование 10–20 параметров пространства формы должно быть достаточно для описания любого трехмерного снимка тела человека. Таким образом, полученное представление действительно является низкоразмерным.In fig. Figure 22 shows that about 97.5% of the variance in body shape is explained by the first 10 parameters of the shape space. Moreover, the use of 20 parameters allows us to explain almost 99% of the variance. This means that using 10–20 shape space parameters should be sufficient to describe any three-dimensional image of the human body. Thus, the resulting representation is indeed low-dimensional.

На фиг. 23 представлено сравнение начальной позы и формы параметрической модели SMPL и полученной параметрической модели для мужского и женского тела. Можно видеть, что полученная параметрическая модель более детальна. В частности, более гладко и точно отражена грудь, присутствуют мелкие детали строения тела, такие как ключицы.In fig. Figure 23 shows a comparison of the initial pose and shape of the SMPL parametric model and the resulting parametric model for the male and female body. It can be seen that the resulting parametric model is more detailed. In particular, the chest is reflected more smoothly and accurately, and small details of the body structure, such as collarbones, are present.

Тем не менее, в рамках данной работы пространство формы головы параметрической модели не уточнялось. В ходе работы предложенной модификации алгоритма NRD положения вершин не изменялись. Такое решение было принято, поскольку многие исходные трехмерные снимки людей содержали объемные прически, искажавшие форму головы в результате работы алгоритма NRD. В качестве развития данной работы предлагается добавление сегментации волос и деталей одежды на трехмерных снимках людей с использованием информации о цвете. Вершины трехмерного снимка, относящиеся к элементам прически, должны иметь меньшие значения уверенности в функции потерь алгоритма NRD (формула 13).However, within the framework of this work, the head shape space of the parametric model was not specified. During the operation of the proposed modification of the NRD algorithm, the positions of the vertices did not change. This decision was made because many of the original 3D images of people contained voluminous hairstyles that distorted the shape of the head as a result of the NRD algorithm. As a development of this work, it is proposed to add segmentation of hair and clothing details in three-dimensional photographs of people using color information. The 3D image vertices related to hairstyle elements should have lower confidence values in the loss function of the NRD algorithm (formula 13).

Визуализация результата изменения первых четырех параметров формы при фиксированных остальных параметрах полученной женской параметрической модели представлена на фиг. 24.Visualization of the result of changing the first four shape parameters with the remaining parameters of the resulting female parametric model fixed is presented in Fig. 24.

Таким образом, предложенные модификации алгоритма NRD и инициализации регистрации при помощи параметрической модели позволили полностью автоматизировать метод. Предложенный подход не нуждается в использовании информации о положении ключевых антропометрических точек, ручная разметка которых является крайне трудоемким процессом.Thus, 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 about the position of key anthropometric points, the manual marking of which is an extremely labor-intensive process.

Экспериментально было доказано наличие существенного прироста в качестве выполнения регистрации трехмерных снимков человеческого тела по сравнению с исходным алгоритмом [B15]. Вместе с этим значительно возросла скорость работы алгоритма. Увеличение детализации шаблона позволило отражать на регистрациях трехмерных снимков мелкие детали рельефа тела. It has been experimentally proven that there is a significant increase in the quality of registration of three-dimensional images of the human body compared to the original algorithm [B15]. At the same time, the speed of the algorithm has increased significantly. Increasing the detail of the template made it possible to reflect fine details of the body relief on the registrations of three-dimensional images.

На основе параметрической модели SMPL была получена собственная параметрическая модель, являющаяся уточнением пространства формы тела человека на новом наборе данных.Based on the SMPL parametric model, our own parametric model was obtained, which is a refinement of the human body shape space on a new data set.

2.10.5. Оценка результатов сканирования2.10.5. Evaluating scan results

Определение степени соответствия полученной трехмерной модели и пользователя системы представляет собой сложную задачу, которая наилучшим образом разрешается путем сравнения результата с трехмерной моделью пользователя, принятой за эталонную. Для получения трехмерных снимков в реальности используются трехмерные сканеры, либо системы, состоящие из множества синхронизированных RGB-камер. Однако существует проблема получения снимков, подходящих в качестве моделей для проверки в рассматриваемой задаче. Использование трехмерных сканеров, рассчитанных на статичные объекты, в этом случае невозможно по двум причинам: во-первых, ввиду того, что человек не может стоять абсолютно неподвижно, на снимке будут появляться артефакты, искажающие оценку, во-вторых, даже без учета артефактов сканирования, которых может не быть, если сканирование происходит достаточно быстро, человек не сможет в точности повторить позу, в которой он стоял на первом кадре отснятой последовательности. Следовательно, для этой задачи возникает необходимость использования многокамерных систем. Система должна получить трехмерный снимок человека в тот момент, когда сенсор глубины получит первый кадр последовательности, из чего вытекают трудности синхронизации. Помимо этого, стоит отметить, что такого рода системы доступны далеко не везде из-за их дороговизны и необходимости тонкой настройки.Determining the degree of correspondence between the resulting three-dimensional model and the user of the system is a complex task, which is best resolved by comparing the result with a three-dimensional model of the user, taken as a reference. To obtain three-dimensional images in reality, three-dimensional scanners or systems consisting of many synchronized RGB cameras are used. However, there is a problem in obtaining images that are suitable as models for testing in the problem under consideration. The use of three-dimensional scanners designed for static objects is impossible in this case for two reasons: firstly, due to the fact that a person cannot stand absolutely still, artifacts will appear in the image, distorting the assessment, and secondly, even without taking into account scanning artifacts , which may not exist, if the scanning occurs quickly enough, the person will not be able to exactly repeat the pose in which he stood in the first frame of the filmed sequence. Therefore, for this task there is a need to use multi-chamber systems. The system must obtain a 3D image of a person at the moment when the depth sensor receives the first frame of the sequence, which results in synchronization difficulties. In addition, it is worth noting that such systems are not available everywhere due to their high cost and the need for fine tuning.

С учетом вышеизложенных проблем, а также в связи с отсутствием в публичномTaking into account the above problems, as well as due to the lack of public

доступе наборов, содержащих необходимые для оценки данные, был разработан инструмент для получения синтетического набора данных, приближенного к реальным. Инструмент получает на вход трехмерный снимок человека, созданного, к примеру, с помощью трехмерного сканера. Перед использованием инструмента для снимка с помощью техники риггинга определяется скелет. Затем инструмент применяет скелетную анимацию, которую переносит на снимок с помощью алгоритма скиннинга LBS. После этого для каждого кадра анимации происходит генерация необходимых данных: производится рендеринг карты глубины с точки зрения виртуальной камеры, записывается положение ключевых точек скелета. Кроме того, для каждого кадра генерируется семантическая сегментация по следующему алгоритму: в каждый пиксель записывается номер ключевой точки с наибольшим влиянием на выполнение скиннинга для тех вершин, которые попадают в данный пиксель при проецировании на плоскость изображения. После завершения генерации в карты глубины может быть добавлен гауссовский шум для имитации погрешностей, получаемых при съемке реальным сенсором.With the availability of sets containing the data necessary for the assessment, a tool was developed to obtain a synthetic data set close to real ones. The tool receives as input a three-dimensional image of a person created, for example, using a three-dimensional scanner. Before using the imaging tool, the skeleton is determined using the rigging technique. The tool then applies skeletal animation, which is transferred to the image using the LBS skinning algorithm. After this, the necessary data is generated for each animation frame: the depth map is rendered from the point of view of the virtual camera, and the position of key points of the skeleton is recorded. In addition, for each frame, semantic segmentation is generated according to the following algorithm: the number of the key point with the greatest influence on the skinning for those vertices that fall into a given pixel when projected onto the image plane is recorded in each pixel. After generation is complete, Gaussian noise can be added to the depth maps to simulate the errors encountered when shooting with a real sensor.

Система обеспечивает генерацию всех необходимых данных для работы алгоритма, а также формирует трехмерную модель человека в положении, точно совпадающем с положением на первом кадре последовательности, что дает возможность производить точную оценку. При этом универсальный интерфейс позволяет использовать произвольную скелетную анимацию для тестирования алгоритма при различном поведении пользователя. Примеры сгенерированных данных изображены на фиг. 40: слева направо – карта глубины, сегментация, ключевые точки, эталонная модель.The system ensures the generation of all the necessary data for the operation of the algorithm, and also generates a three-dimensional model of a person in a position that exactly matches the position in the first frame of the sequence, which makes it possible to make an accurate assessment. At the same time, the universal interface allows you to use arbitrary skeletal animation to test the algorithm under different user behavior. Examples of generated data are shown in FIG. 40: from left to right – depth map, segmentation, key points, reference model.

База, созданная для экспериментального тестирования в данной работе, содержит около 2000 кадров с разрешением 420×880 пикселей и добавленным шумом и состоит из 4 видеопоследовательностей, отражающих различные ситуации применения алгоритма:The database 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 using the algorithm:

-человек стоит и совершает небольшие непроизвольные движения (дыхание, движения рук);-a person stands and makes small involuntary movements (breathing, hand movements);

- аналогичная сцена с поворотом вокруг на 1° за кадр;- a similar scene with a rotation around 1° per frame;

- человек машет рукой;- a man waves his hand;

- человек при ходьбе.- a person walking.

Первые две последовательности направлены на проверку сценария сканирования, когда человек пытается сохранять одинаковую позицию, последующие предназначены для проверки в условиях быстрых естественных движений. Для проведения экспериментальной оценки алгоритма были использованы две следующие метрики, оценивающие разные компоненты системы:The first two sequences are aimed at testing a scanning scenario where a person tries to maintain the same position, the subsequent ones are designed to test under conditions of fast natural movements. To conduct an experimental evaluation of the algorithm, the following two metrics were used to evaluate different components of the system:

где V, S, M – множества вершин результирующей поверхности, эталонной поверхности и поверхности параметрической модели с каноническими параметрами, соответственно, – ближайшая к вершине вершина из S, – ближайшая к вершине вершина из M, а – нормаль к поверхности в точке .where 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, – closest to the top vertex of S , – closest to the top vertex from M , and – normal to the surface at a point .

Первая метрика является средним значением расстояния от вершин результата до плоскости поверхности эталонной модели, вторая – усреднением похожих метрик расстояний от модели до эталона и наоборот.The first metric is the average value of the distance from the vertices of the result to the surface plane of the reference model, the second is the averaging of similar distance metrics from the model to the reference and vice versa.

2.11 Создание 3D-аватара пользователя2.11 Creating a 3D user avatar

Для визуализации одежды на человеке, а также для более наглядного представления результатов работы алгоритма предлагается создавать 3D-аватар человека с использованием данных, полученных на этапе оптического сканирования. Под 3D-аватаром понимается трехмерная текстурированная модель тела человека, согласованная с его антропометрическими данными. Для извлечения текстуры используются данные с цветной камеры, обрабатываемые совместно с картами глубины на этапе создания модели пользователя. To visualize clothing on a person, as well as for a more visual representation of the results of the algorithm, it is proposed to create a 3D avatar of a person using data obtained at the optical scanning stage. A 3D avatar is a three-dimensional textured model of a person’s body, consistent with his anthropometric data. To extract texture, data from a color camera is used, processed in conjunction with depth maps at the stage of creating a user model.

Для ускорения извлечения текстуры можно использовать подход, основанный на глубоких нейронных сетях, альтернативный классическому методу извлечения текстуры. Нейросетевой подход позволяет быстро и с приемлемой точностью извлекать текстуру пользователя по одному или нескольким цветным изображениям. Для извлечения текстуры используется нейронная сеть, обученная на наборе соответствий между фотографией пользователя и его текстурой. В процессе обучения на вход нейронной сети подаются изображения различных людей с различных ракурсов с известной текстурной картой и штрафуется ошибка в восстановлении такой текстурной карты.To speed up texture extraction, you can use an approach based on deep neural networks, an alternative to the classical texture extraction method. The neural network approach allows you to quickly and with acceptable accuracy extract the user's texture from one or more color images. To extract texture, a neural network is used, trained on a set of correspondences between the user's photo and his texture. During the training process, images of different 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.

Для генерации реалистичной текстуры тела важно определение тона кожи по фотографии, либо трехмерному снимку головы. В случае трехмерного снимка производится рендеринг лица в анфас, и задача сводится к случаю двумерного изображения. Алгоритм определения тона кожи можно описать следующими основными шагами.To generate realistic body texture, it is important to determine skin tone from a photograph or a 3D head shot. In the case of a three-dimensional image, the face is rendered from the front, and the problem is reduced to the case of a two-dimensional image. The algorithm for determining skin tone can be described by the following basic steps.

1. Подготовка фотографии (масштабирование и обрезка до 512×512 пикселей), либо рендеринг 3D-модели головы в изображение 512×512 пикселей.1. Preparing the photo (scaling and cropping to 512x512 pixels), or rendering a 3D model of the head into an image of 512x512 pixels.

2. Нейросетевая сегментация лица с использованием готовых, либо обученных заново моделей с целью выделения таких сегментов, как кожа лица, волосы, шея, глаза, брови и т.д.2. Neural network segmentation of the face using ready-made or newly trained models to highlight segments such as facial skin, hair, neck, eyes, eyebrows, etc.

3. Формирование маски для кожи лица на основе результатов сегментации.3. Formation of a mask for facial skin based on the segmentation results.

4. Морфологическая эрозия маски для сокращения артефактов по краям области4. Morphological mask erosion to reduce artifacts at the edges of the area

5. (Опционально) Применение билатерального фильтра либо гауссовского размытия к исходному изображению.5. (Optional) Apply a bilateral filter or Gaussian blur to the original image.

6. Выделение из исходного (предобработанного) изображения пикселей по маске и конвертация цветов в простанство Lab.6. Isolating pixels from the original (preprocessed) image using a mask and converting colors into Lab space.

7. Кластеризация цветов пикселей в простанстве Lab с помощью метода K средних (K Means) с числом кластеров, равным 3.7. Clustering of pixel colors in the Lab space using the K Means method with the number of clusters equal to 3.

8. Центроид наибольшего кластера принимается за тон кожи.8. The centroid of the largest cluster is taken as the skin tone.

9. Раскраска текстуры в цветовом пространстве Lab с сохранением относительной освещенности участков:9. Coloring the texture in the Lab color space while maintaining the relative illumination of the areas:

- определяется среднее значение L по всей текстуре;- the average value of L is determined over the entire texture;

- из компоненты L каждого пиксела текстуры вычитается среднее значение L;- the average value L is subtracted from the L component of each texture pixel;

- к каждому пикселу текстуры прибавляется значение L определенного тона кожи;- the L value of a certain skin tone is added to each texture pixel;

- Каналы ab для каждого пиксела текстуры берутся из тона кожи.- The ab channels for each texture pixel are taken from the skin tone.

3. Обработка результатов сканирования и построение модели тела пользователя на основе цветных изображений3. Processing scan results and building a model of the user’s body based on color images

Данный раздел содержит краткое описание базового алгоритма Human Mesh Recovery (HMR), предложенного в работе “End-to-end Recovery of Human Shape and Pose” [B37], а также раскрывает предложенные модификации. Более подробно с предложенным подходом можно ознакомиться в работе [B33].This section provides a brief description of the basic Human Mesh Recovery (HMR) algorithm proposed in “End-to-end Recovery of Human Shape and Pose” [B37], and also reveals proposed modifications. More details on the proposed approach can be found in [B33].

3.1 Human Mesh Recovery3.1 Human Mesh Recovery

Алгоритм Human Mesh Recovery (HMR) [B37] опирается на параметрическую 3D модель человека SMPL [B39], но может работать с произвольной параметрической моделью. Раздел 3.1.1 содержит описание архитектуры HMR и метода восстановления параметров 3D модели. Для обучения этого метода используется процедура состязательного обучения, основным элементом которой является сеть дискриминатор, описание архитектуры которой представлено в разделе 3.1.2. В разделе 3.1.3 приведено описание функций потерь, используемых для обучения HMR и нейронной сети дискриминатора.The Human Mesh Recovery (HMR) algorithm [B37] relies 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 a 3D model. To train this method, an adversarial training procedure is used, the main element of which is a discriminator network, the architecture of which is described in Section 3.1.2. Section 3.1.3 provides a description of the loss functions used to train the HMR and the discriminator neural network.

3.1.1 Алгоритм восстановления параметров модели человека3.1.1 Algorithm for restoring parameters of a human model

Рассмотрим архитектуру алгоритма Human Mesh Recovery (HMR) [B37] подробнее, ее схема приведена на фиг. 36. В качестве сети для извлечения параметров из исходного изображения используется архитектура ResNet-50 v2 [B36] с удаленными полносвязными слоями, предварительно обученная на задаче классификации ImageNet [B38]. Алгоритм 1, приведенный далее, описывает процедуру восстановления параметров 3D модели SMPL на основе извлеченных параметров. Извлеченные из изображения параметры построчно растягиваются в вектор из 2048 элементов (), который конкатенируется со стандартными параметрами модели SMPL ( – средние параметры формы, вычисленные на основе коллекции трехмерных снимков, использованных для обучения параметрической модели, и – параметры позы, соответствующие Т-позе человека: ноги на ширине плеч, руки вытянуты в стороны под прямым углом относительно тела) и подается на вход модулю итеративного восстановления параметров (), который состоит из двух полносвязных слоев, разделенных дропаутом и полносвязного слоя, выдающего смещение для параметров формы и позы модели SMPL (). Let us consider the architecture of the Human Mesh Recovery (HMR) algorithm [B37] in more detail; its diagram is shown in Fig. 36. The ResNet-50 v2 architecture [B36] with removed fully connected layers, pre-trained on the ImageNet classification task [B38], is used as a network for extracting parameters from the source image. Algorithm 1 below describes the procedure for recovering the parameters of a 3D SMPL model based on the extracted parameters. The parameters extracted from the image are stretched line by line into a vector of 2048 elements ( ), which is concatenated with the standard parameters of the SMPL model ( – average shape parameters calculated from the collection of 3D images used to train the parametric model, and – posture parameters corresponding to the human T-pose: feet shoulder-width apart, arms extended to the sides at right angles relative to the body) and fed to the input of the iterative parameter recovery module ( ), which consists of two fully connected layers separated by a dropout and a fully connected layer that provides a bias for the shape and pose parameters of the SMPL model ( ).

3.1.2 Дискриминаторы3.1.2 Discriminators

Полученные нейросетевым алгоритмом параметры модели SMPL подаются на вход нескольким сетям-дискриминаторам, архитектура которых приведена на фиг. 37. Для определения реалистичности формы используется одна полносвязная нейронная сеть с двумя слоями, получающая на вход вектор параметров формы и выдающая число, отражающее реалистичность параметров формы. Для параметров позы используется 24 полносвязных нейронных сети-дискриминатора (по одному на параметры позы для каждого сустава скелета и один общий) с разделением части параметров. Для начала к тройке параметров позы (задают направление оси поворота и величину угла) для каждого сустава применяется формула поворота Родрига, переводящая параметры в матричное представление (матрица поворота ). После этого полученное представление подается на вход двум полносвязным слоям размера , общим для всех параметров позы, переводящим поданный на вход вектор в общее параметрическое пространство размерности Полученные векторы параметров подаются на вход 23 нейронам, выдающим предсказания для каждого сустава отдельно, а также конкатенируются между собой и передаются двум полносвязным слоям размера 1024, на выходе которых получается предсказание для всех параметров позы вместе. Полученные от всех дискриминаторов значения конкатенируются, давая на выходе вектор длины 25, описывающий реалистичность предсказанных параметров 3D модели.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. To determine the realism of a shape, one fully connected neural network with two layers is used, which receives a vector of shape parameters as input and outputs a number reflecting the realism of the shape parameters. For pose parameters, 24 fully connected discriminator neural networks are used (one for pose parameters for each skeletal joint and one common) with a division of some parameters. To begin with, the Rodrigue rotation formula is applied to the three parameters of the pose (they set the direction of the rotation axis and the magnitude of the angle) for each joint, which converts the parameters into a matrix representation (rotation matrix ). After this, the resulting representation is fed as input to two fully connected layers of size , common to all pose parameters, transforming the input vector into a common parametric dimension space The resulting parameter vectors are fed to the input of 23 neurons, which produce predictions for each joint separately, and are also concatenated among themselves and 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 realism of the predicted parameters of the 3D model.

3.1.3 Обучение3.1.3 Training

Для обучения алгоритма авторы предложили использовать функцию потерь, состоящую из четырех штрафов. На выходе алгоритма для каждого входного изображения получаются параметры позы и формы модели SMPL (), вектор предсказаний дискриминатора (), параметры камеры, а также координаты 3D позы человека (), извлеченные из модели SMPL на основе предсказанных параметров. Для моделирования камеры авторы используют модель слабой перспективной проекции, для которой верна следующая формула проекции:To train the algorithm, the authors proposed using a loss function consisting of four penalties. The output of the algorithm for each input image is the pose and shape parameters of the SMPL model ( ), discriminator prediction vector ( ), camera parameters, as well as coordinates of the 3D human pose ( ) extracted from the SMPL model based on the predicted parameters. To model the camera, the authors use a weak perspective projection model, for which the following projection formula is valid:

(25) (25)

где – координаты точки в трехмерном пространстве, – координата спроецированной точки, – глобальный поворот, предсказываемый алгоритмом, и – масштаб и вектор сдвига в двумерном пространстве, также предсказанные алгоритмом, а П – ортографическая проекция. Для штрафов за отклонение предсказанной 2D позы от эталонной используется ошибка репроекции с L1 нормой:Where – coordinates of a point in three-dimensional space, – coordinate of the projected point, – global rotation predicted by the algorithm, And are the scale and shift vector in two-dimensional space, also predicted by the algorithm, and P is the orthographic projection. For penalties for deviation of the predicted 2D pose from the reference one, the reprojection error with the L1 norm is used:

(26) (26)

где – число примеров, – число суставов в рассматриваемой модели скелета, – видимость j-ой ключевой точки i-го примера (берется из эталонной разметки), а – координаты эталонной и предсказанной j-ой ключевой точки i-ого примера. Также, при наличии разметки 3D позы и параметров модели SMPL, применяются соответствующие штрафы (среднеквадратичное отклонение для обеих групп параметров):Where – number of examples, – number of joints in the skeleton model under consideration, – visibility of the j- th key point of the i- th example (taken from the reference marking), and – coordinates of the reference and predicted j- th key point of the i- th example. Also, if there are 3D pose markings and SMPL model parameters, the corresponding penalties are applied (standard deviation for both groups of parameters):

(27) (27)

Еще одно слагаемое в функции ошибки представляет собой штраф для предсказаний дискриминатора, направленный на то, чтобы сделать их как можно ближе к 1 (то есть, чтобы дискриминатор считал все предсказанные параметры реалистичными):Another term in the error function is a penalty on the discriminator's predictions, aimed at making them as close to 1 as possible (that is, so that the discriminator considers all predicted parameters to be realistic):

(28) (28)

где – вектор из 1, совпадающий по размеру с конкатенированным выходом дискриминаторов. Общая функция потеря для обучения алгоритма HMR [37] задается следующей формулой:Where – a vector of 1 , matching in size to the concatenated output of the discriminators. The overall loss function for training the HMR algorithm [37] is given by the following formula:

(29) (29)

где – коэффициент, подбираемый с помощью валидационного множества, – индикаторная функция, равная 1 только для примеров, имеющих разметку 3D позы и параметров модели SMPL. Where – coefficient selected using the validation set, – indicator function equal to 1 only for examples that have markings of 3D pose and SMPL model parameters.

Для обучения сетей дискриминаторов, наравне с предсказанными параметрами 3D модели SMPL, используются эталонные, полученные из размеченных коллекций данных. Функция потерь для обучения i-ого дискриминатора выглядит следующим образом:To train discriminator networks, along with the predicted parameters of the SMPL 3D model, reference ones obtained from labeled data collections are used. The loss function for training the ith discriminator is as follows:

(30) (thirty)

где – число примеров из эталонной коллекции, – число примеров, полученных предсказаниями от модели HMR.Where – number of examples from the reference collection, is the number of examples predicted by the HMR model.

3.2 Предложенные модификации алгоритма Human Mesh Recovery 3.2 Proposed modifications of the Human Mesh Recovery algorithm

Предложенные модификация метода Human Mesh Recovery [37] направлены на устранение недостатков, выявленных в ходе анализа базового алгоритма. Для повышения точности работы метода, в том числе повышения качества восстановления фигуры человека, были предложены модификация архитектуры (раздел 3.2.1) и модификация процедуры обучения (раздел 3.2.2).The proposed modifications of the Human Mesh Recovery method [37] are aimed at eliminating the shortcomings identified during the analysis of the basic algorithm. To improve the accuracy of the method, including improving the quality of human figure reconstruction, a modification of the architecture (section 3.2.1) and a modification of the training procedure (section 3.2.2) were proposed.

3.2.1 Модификации архитектуры3.2.1 Architecture modifications

Сегментация человека – это достаточно простое, но при этом информативное представление, которое позволяет получить информацию о фигуре человека. Для повышения точности восстановления параметров 3D модели фигуры и позы человека предлагается восстанавливать карту сегментации для предсказанной 3D модели и использовать полученную карту сегментации для обучения алгоритма.Human segmentation is a fairly simple, yet informative representation that allows you to obtain information about a person’s figure. To increase the accuracy of restoring the parameters of a 3D model of a human figure and pose, it is proposed to restore a segmentation map for the predicted 3D model and use the resulting segmentation map to train the algorithm.

Ряд современных методов использует приближенный дифференцируемый рендеринг [B40] или обучаемый рендеринг [B41] для получения карты сегментации на основе предсказанной 3D модели, но это увеличивает время, затрачиваемое на обучение, а также усложняет саму процедуру обучения. Вместо этого предлагается использовать иной подход, схожий с применяемыми в некоторых ранних двухэтапных методах восстановления параметров 3D модели человека, например, в [B35].A number of current methods use approximate differentiable rendering [B40] or learnable rendering [B41] to obtain a segmentation map based on a predicted 3D model, but this increases the training time and also complicates the training procedure itself. Instead, it is proposed to use a different approach, similar to that used in some early two-step methods for restoring parameters of a 3D human model, for example, in [B35].

Поточечная проекция вершин сеточной параметрической 3D модели на исходное изображение – это наиболее простой способ получить приближение силуэта (полученное одноканальное изображение содержит значение 255 в пикселях, на которые были спроецированы вершины, и 0 во всех остальных). Но без предобработки такое приближение трудно использовать, поскольку между спроецированными точками будет пустое пространство, которое при использовании попиксельного штрафа с эталонной картой сегментации будет трактоваться как ошибка алгоритма. Дополнительно к проецированию вершин предлагается считать для полученного одноканального изображения преобразование расстояния (distance transform) с использованием вычеркивающего расстояния (chamfer distance), в результате подсчета которого будет получено одноканальное изображение, в каждом пикселе которого будет содержаться расстояние до ближайшей спроецированной точки. Такая карта расстояния позволит взвешивать штраф пропорционально расстоянию. Схема модифицированного метода и примеры проекции вершин и карты расстояний приведены на фиг. 38.A point-by-point projection of the vertices of a parametric 3D mesh 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 the 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. In addition to the projection of vertices, it is proposed to calculate a distance transform for the resulting single-channel image using a chamfer distance, as a result of which a single-channel image will be obtained, each pixel of which will contain the distance to the nearest projected point. This distance map will allow the penalty to be weighted proportionally to the distance. A diagram of the modified method and examples of vertex projections and distance maps are shown in Fig. 38.

3.2.2 Модификации процедуры обучения3.2.2 Modifications to the training procedure

На основе вычисленной карты расстояний (фиг 39, ) и эталонной карты сегментации фиг 39, ) можно получить карту наиболее удаленных от предсказанных точек участков эталонной карты путем поэлементного перемножения двух карт (фиг. 39, ). Таким образом получается одноканальное изображение, каждый пиксель которого содержит 0 в тех областях, где эталонным классом является фон, а для областей с эталонным классом человек – тем большее значение, чем дальше от этого пикселя находится ближайшая спроецированная вершина предсказанной сеточной параметрической 3D модели. Штрафуя за высокие значения в вычисленной таким способом карте расстояний, можно добиться уменьшения площади области эталонного силуэта человека, не покрытой предсказанным силуэтом.Based on the calculated distance map (Fig. 39, ) and the reference segmentation map of Fig. 39, ) you can obtain a map of the areas of the reference map that are most distant from the predicted points by element-wise multiplication of two maps (Fig. 39, ). This produces a single-channel image, each pixel of which contains 0 in those areas where the reference class is background, and for areas with the reference class person, the greater the value, the further from this pixel the nearest projected vertex of the predicted mesh parametric 3D model is located. By penalizing high values in the distance map calculated in this way, it is possible to reduce the area of the reference human silhouette area not covered by the predicted silhouette.

Для достижения обратного эффекта: снижения площади области предсказанного силуэта, не покрытой эталонным силуэтом предлагается использовать карту расстояний (фиг. 39, ), которая вычисляется на основе предсказанной карты сегментации (фиг. 39, ) и карты расстояний для эталонной карты сегментации (фиг. 39, ), полученной аналогично карте расстояний . Таким образом, суммарный результат на основе полученных карт расстояний можно выразить следующей формулой: To achieve the opposite effect: reducing the area of the predicted silhouette area not covered by the reference silhouette, it is proposed to use a distance map (Fig. 39, ), which is calculated based on the predicted segmentation map (Fig. 39, ) and distance maps for the reference segmentation map (Fig. 39, ), obtained similarly to the distance map . Thus, the total result based on the obtained distance maps can be expressed by the following formula:

(31) (31)

где – предсказанная карта сегментации, – эталонная карта сегментации, – карта расстояний, вычисленная на основе предсказанной карты сегментации, – карта расстояний, вычисленная для эталонной карты сегментации, а символ обозначает поэлементное перемножение. Визуализация этапов вычисления формулы (31) приведена на фиг 39.Where – predicted segmentation map, – reference segmentation map, – distance map calculated based on the predicted segmentation map, is the distance map calculated for the reference segmentation map, and the symbol denotes element-wise multiplication. Visualization of the stages of calculating formula (31) is shown in Fig. 39.

Итоговое выражение для предложенного штрафа на основе сегментации выглядит следующим образом: The final expression for the proposed segmentation-based penalty is as follows:

(32) (32)

где – высота и ширина карт сегментации. Итоговая функция потерь, используемая для обучения модифицированного алгоритма (HMR-seg), принимает вид:Where – height and width of segmentation maps. The final loss function used to train the modified algorithm (HMR-seg) takes the form:

(33) (33)

где – коэффициент, подбираемый с помощью валидационного множества, – индикаторная функция, равная 1 только для примеров, имеющих разметку сегментации.Where – coefficient selected using the validation set, – indicator function equal to 1 only for examples that have segmentation markings.

4. Определение антропометрических параметров тела пользователя4. Determination of anthropometric parameters of the user’s body

Алгоритм определения антропометрических параметров тела пользователя включает в себя (а) получение размерных признаков человека на основе подогнанной модели и трехмерного снимка и (б) определение типа фигуры человека. The algorithm for determining the anthropometric parameters of the user's body includes (a) obtaining dimensional characteristics of a person based on a fitted model and a three-dimensional image and (b) determining the type of human figure.

4.1. Получение размерных признаков пользователя4.1. Obtaining user dimensional attributes

Размерные признаки могут быть вычислены различными методами: методами линейной алгебры, методами машинного обучения, комбинированными методами. Определение обмеров методами линейной алгебры происходит подобно измерению обмеров с тела человека вручную, только осуществляется с трехмерного снимка человеческого тела. Алгоритмы на основе машинного обучения строятся на основе моделей, обученных на заранее размеченных данных. Комбинированные методы реализуются частично на основе алгоритмов линейной алгебры, частично алгоритмов машинного обучения. Например, на основе трехмерного снимка вычисляются промежуточные антропометрические параметры, которые затем используются для обучения регрессионной модели.Dimensional features can be calculated by various methods: linear algebra methods, machine learning methods, combined methods. Determining measurements using linear algebra methods is similar to measuring measurements from the human body manually, only it is carried out from a three-dimensional photograph of the human body. Machine learning algorithms are built from 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, intermediate anthropometric parameters are calculated based on a 3D image, which are then used to train a regression model.

Также возможно использование различных методов для вычисления различных обмеров, т.е. каждый обмер можно вычислять тем методом, который дает минимальную ошибку на тестовой выборке.It is also possible to use different methods to calculate different measurements, i.e. each measurement can be calculated using the method that gives the minimum error on the test sample.

4.1.1. Получение размерных признаков на основе методов линейной алгебры4.1.1. Obtaining dimensional features based on linear algebra methods

Размерные признаки определялись на основе числовых значений, называемых обмерами. При реализации обмеров учитывались следующие стандарты: ISO 8559, ISO 7250, ГОСТ 17522-72, ГОСТ 31396-2009, ОСТ 17-326-81 [23–30]. Часто обмеры из различных стандартов дублируются, иногда методики измерения противоречат друг другу [B31]. В таких случаях предпочтение отдавалось стандарту ISO 8559. В общей сложности было реализовано 89 обмеров, из них 25 обмеров – симметричные, т.е. состоящие из трех обмеров: правого, левого и среднего. Полный список размерных признаков (РП) приведен в таблице 3.Dimensional characteristics were determined on the basis of numerical values called dimensions. When carrying out measurements, the following standards were taken into account: ISO 8559, ISO 7250, GOST 17522-72, GOST 31396-2009, OST 17-326-81 [23–30]. Often measurements from different standards are duplicated, and sometimes measurement techniques contradict each other [B31]. In such cases, preference was given to the ISO 8559 standard. A total of 89 measurements were carried out, of which 25 measurements were symmetrical, i.e. consisting of three dimensions: right, left and middle. The full list of dimensional characteristics (DS) is given in Table 3.

Таблица 3Table 3

Номер РПRP number Наименование РПName of RP Соответствующий РП
в стандарте ISO 8559
Relevant RP
in ISO 8559 standard
11 Ширина плечей сзадиBack shoulder width 5.4.3. Across back shoulder width5.4.3. Across back shoulder width 2 (симметр.)2 (symmetrical) Длина руки до запястьяArm length to wrist 5.7.8 Outer arm length5.7.8 Outer arm length 33 Расстояние от шеи до талии сзадиRear neck to waist distance 5.4.5 Back neck point to waist5.4.5 Back neck point to waist 55 Обхват груди третий Chest girth third 5.3.4 Bust girth 5.3.4 Bust gig 66 Высота подъягодичной складкиSubgluteal fold height N/AN/A 9 (симметр.)9 (symmetrical) Обхват коленаKnee circumference 5.3.22 Knee girth5.3.22 Knee girth 1010 Обхват бедер на уровне высоты бедраHip circumference at hip height 5.3.13 Hip girth5.3.13 Hip girl 11eleven Обхват шеи на уровне основания шеиNeck circumference at the base of the neck 5.3.3 Neck base girth5.3.3 Neck base girth 1212 РостHeight 5.1.1 Stature5.1.1 Stature 13 (симметр.)13 (symmetrical) Обхват бедраHip circumference 5.3.20 Thigh girth5.3.20 Thigh girth 1414 Общая длина промежности Overall Crotch Length 5.4.18 Total crotch length5.4.18 Total crotch length 15 (симметр.)15 (symmetrical) Обхват плечаShoulder circumference 5.3.16 Upper arm girth5.3.16 Upper arm girth 1616 Обхват талииWaist circumference 5.3.10 Waist girth5.3.10 Waist girth 17 (симметр.)17 (symmetrical) Обхват запястьяWrist circumference 5.3.19 Wrist girth5.3.19 Wrist birthday 1818 Обхват груди четвертый Chest girth fourth 5.3.8 Under bust girth5.3.8 Under bust girth 21 (симметр.)21 (symmetrical) Обхват икрыCalf circumference 5.3.24 Calf girth5.3.24 Calf girl 22 (симметр.)22 (symmetrical) Обхват локтяElbow circumference 5.3.17 Elbow girth5.3.17 Elbow girl 2626 Расстояние от шеи до талии спередиDistance from neck to waist in front 5.4.8 Front neck point to waist5.4.8 Front neck point to waist 30 (симметр.)30 (symmetrical) Расстояние от основания шеи сзади до сосковой точкиDistance from the base of the neck at the back to the nipple point 5.4.12 Back neck point to bust point5.4.12 Back neck point to bust point 31 (симметр.)31 (symmetrical) Расстояние от основания шеи сзади до линии талииDistance from the back of the neck to the waistline 5.4.13 Back neck point to waist level5.4.13 Back neck point to waist level 32 (симметр.)32 (symmetrical) Расстояние от линии талии до пола сбокуDistance from the waist line to the floor at the side 5.4.22 Outside leg length5.4.22 Outside leg length 3333 Расстояние от основания шеи сзади до уровня подмышечных впадинDistance from the base of the neck at the back to the level of the armpits 5.4.6 Scye depth length5.4.6 Scye depth length 3434 Ширина плечей сзади по прямойBack shoulder width in a straight line 5.4.2 Back shoulder width5.4.2 Back shoulder width 35 (симметр.)35 (symmetrical) Высота плечевой точкиShoulder point height N/AN/A 36 (симметр.)36 (symmetrical) Ширина плечевого скатаShoulder width 5.4.1 Shoulder Length5.4.1 Shoulder Length 37 (симметр.)37 (symmetrical) Расстояние от талии до бедра сбокуSide waist to hip distance 5.4.21 Side waist to hip5.4.21 Side waist to hip 38 (симметр.)38 (symmetrical) Высота коленной точкиKnee point height 5.1.16 Knee height5.1.16 Knee height 4040 Высота шеи спередиFront neck height 5.1.4 Front neck height5.1.4 Front neck height 4141 Высота шеи сзадиBack neck height 5.1.5 Back neck height5.1.5 Back neck height 4242 Высота сосковой точкиNipple point height 5.1.7 Bust height5.1.7 Bust height 43 (симметр.)43 (symmetrical) Высота линии талииWaistline height 5.1.10 Waist height5.1.10 Waist height 4444 Обхват груди контурныйChest circumference contour 5.3.5 Bust Girth Contoured5.3.5 Bust Girth Contoured 4545 Обхват груди второйChest girth second 5.3.6 Chest Girth5.3.6 Chest Girth 4646 Обхват груди первыйBust girth first 5.3.7 Upper chest girth5.3.7 Upper chest girth 47 (симметр.)47 (symmetrical) Высота ключичной точкиClavicular point height N/AN/A 48 (симметр.)48 (symmetrical) Высота точки основания шеи Height of the base of the neck N/AN/A 49 (симметр.)49 (symmetrical) Высота бедраThigh height 5.1.13 Hip height5.1.13 Hip height 50 (симметр.)50 (symmetrical) Расстояние от основания шеи сбоку до сосковой точкиDistance from the base of the neck on the side to the nipple point 5.4.10 Side neck point to bust point5.4.10 Side neck point to bust point 51 (симметр.)51 (symmetrical) Обхват щиколоткиAnkle circumference 5.3.25 Minimum leg girth5.3.25 Minimum leg girth 5353 Расстояние между сосковыми точкамиDistance between nipple points 5.2.3 Bust point width5.2.3 Bust point width 54 (симметр.)54 (symmetrical) Расстояние от основания шеи сбоку до линии талииDistance from the base of the neck on the side to the waist line 5.4.11 Side neck point to waist level5.4.11 Side neck point to waist level 55 (симметр.)55 (symmetrical) Расстояние от задней точки шеи до запястьяDistance from back of neck to wrist 5.4.17 Back neck point to wrist5.4.17 Back neck point to wrist 56 (симметр.)56 (symmetrical) Ширина руки на уровне проймыArm width at armhole level 5.2.4 Armscye front to back width5.2.4 Armscye front to back width 80 (симметр.)80 (symmetrical) Высота ноги по внутренней поверхностиLeg height along the inner surface 5.1.15 Inside leg height5.1.15 Inside leg height 86 (симметр.)86 (symmetrical) Длина ноги от пятки по внутренней поверхностиLeg length from heel to inner surface 5.7.6 Inside leg length5.7.6 Inside leg length 8787 Обхват середины шеиMid neck circumference 5.3.2 Neck (middle) 5.3.2 Neck (middle) 8888 Высота туловищаBody height 5.7.3 Torso height5.7.3 Torso height 8989 Расстояние от шеи до таза сзадиDistance from neck to pelvis in back N/AN/A

Каждый обмер реализован как отдельная функция и основан на одной из функций обмеров приведенного типа. Каждый обмер может быть выполнен как по трехмерному снимку, так и по подогнанной модели человеческого тела. Обмеры по трехмерному снимку наиболее приближены к обмерам в реальности, и предполагается, что их значения дают более точные результаты. Иногда на трехмерных снимках присутствуют артефакты сканирования, что проявляется в слипшихся с туловищем руках или слипшихся друг с другом ногах. В таких случаях оказывается более удобным определять часть обмеров по модели, например, обхват бедра, верхний обхват руки и др. Иногда человек сканируется с длинными распущенными волосами и получить некоторые обмеры, например, обхват шеи, получить только на основе трехмерного снимка не представляется возможным. В таком случае также обмеряется модель.Each measurement is implemented as a separate function and is based on one of the measurement functions of the given type. Each measurement can be made either from a three-dimensional photograph or from a fitted model of the human body. 3D photo measurements are the closest to real world measurements and are expected to provide more accurate results. Sometimes 3D images contain scanning artifacts, which manifest themselves in arms stuck to the body or legs stuck together. In such cases, it turns out to be more convenient to determine part of the measurements from the model, for example, hip girth, upper arm girth, etc. Sometimes a person is scanned with long flowing hair and it is not possible to obtain some measurements, for example, neck girth, only on the basis of a three-dimensional image. In this case, the model is also measured.

Для получения обмеров нужно вызвать метод get_all_measurements класса Measurements. Предложенный метод проводит измерение всех обмеров, перечисленных в словаре measurement_functions. В каждом поле словаря указан один обмер, а также указаны параметры model_cut и dependencies. Параметр model_cut задает облако точек, которое нужно обмерять – трехмерный снимок или модель, а параметр dependencies задает список обмеров, от которых зависит данный обмер. Перед совершением обмера производится проверка того, есть ли у обмера зависимости, и если есть, то сначала рекурсивно выполняются обмеры, от которых зависит данный обмер. Такой способ позволяет сэкономить время на выполнении обмеров, которые частично совпадают с другими обмерами.To get measurements you need to call the get_all_measurements method of the Measurements class. The proposed method measures all dimensions listed in the measurement_functions dictionary. Each dictionary field specifies one dimension, and also specifies the model_cut and dependencies parameters. The model_cut parameter specifies the point cloud that needs to be measured - a 3D image or a model, and the dependencies parameter specifies the list of measurements on which this measurement depends. Before making a measurement, it is checked whether the measurement has dependencies, and if so, then first the measurements on which the given measurement depends are recursively performed. This method allows you to save time on taking measurements that partially coincide with other measurements.

В результате на выходе метода get_all_measurements формируется словарь с результатами обмеров и визуализациями обмеров в трехмерном пространстве.As a result, the output of the get_all_measurements method generates a dictionary with measurement results and visualizations of measurements in three-dimensional space.

Благодаря использованию параметрической модели, обладающей свойством функционального сокращения вершин (одинаковые вершины находятся в одинаковых местах тела человека для всех трехмерных снимков), антропометрические точки были размечены прямо на модели. Иными словами, каждой антропометрической точке, используемой в алгоритме обмеров, была поставлена в соответствие точка на модели с фиксированным индексом.By using a parametric model that has the property of functional vertex reduction (the same vertices are in the same places on the human body for all three-dimensional images), anthropometric points were marked directly on the model. In other words, each anthropometric point used in the measurement algorithm was assigned a point on the model with a fixed index.

Обмеры разделены на четыре типа:The measurements are divided into four types:

(1) высоты (относительно уровня пола);(1) height (relative to floor level);

(2) расстояния (между двумя заданными точками);(2) distances (between two given points);

(3) обхваты;(3) girths;

(4) расстояния по поверхности тела.(4) distances along the body surface.

4.1.1.1. Высоты4.1.1.1. Heights

Размерные признаки этого типа соответствуют расстояниям от фиксированных уровней на теле человека до уровня пола. Для измерения каждого размерного признака из этой группы используется одна антропометрическая точка, соответствующая РП.Dimensional features of this type correspond to distances from fixed levels on the human body to the floor level. To measure each dimensional characteristic from this group, one anthropometric point corresponding to the RP is used.

Дополнительно ко всем измерениям высот применяется коррекция, учитывающая позу человека. В стандартах, описывающих измерение РП этой группы, предполагается, что человек стоит, сведя ноги вместе, в то время как в реализованном алгоритме используются трехмерные снимки человека в А-позе, когда ноги располагаются на ширине плеч, а руки прямые и расположены под углом около 20 градусов по отношению к торсу. Additionally, a correction is applied to all height measurements, taking into account the person's posture. The standards describing the measurement of RP of this group assume that a person stands with his legs together, while the implemented algorithm uses three-dimensional photographs of a person in an A-pose, when the legs are shoulder-width apart and the arms are straight and located at an angle of about 20 degrees relative to the torso.

Для коррекции используется следующий алгоритм. Вычисляются углы ног по отношению к вертикали на основе суставов модели «правое бедро», «правая щиколотка» и «левое бедро», «левая щиколотка». Затем вычисляется величина коррекции для каждой ноги как разность фактической длины ноги и ее проекции на вертикальную ось. Для всех точек выше уровня бедер значение обмера корректируется на фиксированную величину, равную среднему значению величин коррекции для обеих ног. Для точек ниже уровня бедер значение обмера корректируется на меньшую величину в соответствии с приведенным на фиг. 25 графиком. Визуализацией такого типа обмера является координата точки (фиг. 26).The following algorithm is used for correction. The angles of the legs in relation to the vertical are calculated based on the joints of the model “right hip”, “right ankle” and “left thigh”, “left ankle”. Then the correction value is calculated for each leg as the difference between the actual length of the leg and its projection on the vertical axis. For all points above hip level, the measurement value is adjusted by a fixed amount equal to the average value of the correction values for both legs. For points below hip level, the measurement value is adjusted to a smaller amount in accordance with that shown in Fig. 25 schedule. Visualization of this type of measurement is the coordinate of the point (Fig. 26).

4.1.1.2. Расстояния4.1.1.2. Distances

Расстояние между двумя антропометрическими точками вычисляется по известной формуле как корень суммы квадратов разностей координат. Визуализацией такого типа обмера являются две точки, соединенные ребром (фиг. 27).The distance between two anthropometric points is calculated using the well-known formula as the root of the sum of the squares of the coordinate differences. A visualization of this type of measurement is two points connected by an edge (Fig. 27).

4.1.1.3. Обхваты4.1.1.3. Girths

Этот размерный признак соответствует длине плоского замкнутого контура, расположенного на определенном уровне тела либо проходящего через заданные антропометрические точки. На теле человека измеряется сантиметровой лентой.This dimensional feature corresponds to the length of a flat closed contour located at a certain level of the body or passing through given anthropometric points. It is measured on the human body with a measuring tape.

Для определения данного типа РП используется следующий алгоритм. Определяется плоскость, в которой должна лежать сантиметровая лента для получения желаемого обхвата. Производится сечение облака точек данной плоскостью. В результате получается один или несколько замкнутых контуров. Например, если облако точек будет подвергаться сечению плоскостью на уровне талии, то получится три контура: талии и двух рук. Для выбора нужного контура используется расстояние от контура до заданной точки и выбирается контур с минимальным расстоянием. После чего на выбранном контуре строится выпуклый контур, моделируя поведение сантиметровой ленты. Длина выпуклого контура и будет являться искомой величиной обхвата.To determine this type of RP, the following algorithm is used. The plane in which the measuring tape should lie to obtain the desired girth is determined. The point cloud is cut through the given plane. The result is one or more closed loops. For example, if a cloud of points is cut by a plane at waist level, then three contours will be obtained: the waist and two arms. To select the desired contour, the distance from the contour to a given 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.

В функции обмера типа «обхват» реализована возможность задания необходимого количества контуров при сечении. Если контуров меньше или больше, плоскость смещается на небольшую величину до тех пор, пока количество контуров не будет равно заданному значению. Это позволяет увеличить точность при выборе плоскости и избежать дополнительных ошибок. Например, эта функциональность используется для поиска обхвата груди, когда плоскость может проходить чуть выше подмышек. Тогда выбранный контур будет захватывать плечо и, таким образом, давать завышенный результат. В этом РП параметр необходимого количества контуров устанавливается равным трем. Визуализацией такого типа обмера является множество точек выпуклого контура, соединенных между собой ребрами (фиг. 28).In the “girth” type measurement function, the ability to specify the required number of contours for a section is implemented. If there are fewer 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 chest girth, where the plane may be just above the armpits. Then the selected contour will capture the shoulder and thus give an inflated result. In this RP, the parameter for the required number of circuits is set to three. Visualization of this type of measurement is a set of points of a convex contour connected by edges (Fig. 28).

4.1.1.4. Расстояния по поверхности тела4.1.1.4. Distances over the body surface

Для измерения этого обмера по телу человека нужно соединить сантиметровой лентой две или большее количество антропометрических точек (последовательно) на поверхности тела и определить получившуюся длину.To measure this measurement on the human body, you need to connect two or more anthropometric points (sequentially) on the surface of the body with a measuring tape and determine the resulting length.

Алгоритм реализации РП данного типа в предложенном методе можно разбить на несколько шагов (фиг. 29). Первые два шага у данного типа обмера и обмера типа «обхват» аналогичны, но последующие шаги различаются.The algorithm for implementing this type of RP in the proposed method can be divided into several steps (Fig. 29). The first two steps for this type of measurement and the girth type measurement are similar, but the subsequent steps are different.

1. Облако точек сечется плоскостью, в результате получается один или несколько контуров. Если контуров меньше или больше заданного количества, плоскость смещается на небольшую величину до тех пор, пока количество контуров не будет равно заданному.1. The cloud of points is cut by a plane, resulting in one or more contours. If there are fewer or more contours than the specified number, the plane is shifted by a small amount until the number of contours is equal to the specified number.

2. При получении нескольких контуров выбирается контур C (contour), наиболее близкий к точке middle_point.2. When receiving multiple contours, the contour C ( contour ) closest to the middle_point is selected.

3. Контур делится на две части по конечным точкам point 1 и point 2.3. The contour is divided into two parts at the end points point 1 and point 2 .

4. Сравнивается расстояние от каждой части контура до точки middle_point, выбирается более близкая к точке часть контура L (line).4. The distance from each part of the contour to the middle_point is compared, and the part of the contour L ( line ) closest to the point is selected.

5. По выбранной части контура L строится выпуклый контур CH (convex hull).5. Using the selected part of the contour L , a convex contour CH ( convex hull ) is constructed.

6. Выпуклый контур CH делится конечными точками point 1 и point 2 на две части, одна из них будет находиться снаружи тела, а другая – с внутренней стороны тела.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 on the outside of the body, and the other on the inside of the body.

7. Выбирается внешняя по отношению к телу часть выпуклого контура. Для определения этого была разработан специальный метод, описание которого приведено ниже. 7. Select the part of the convex contour external to the body. To determine this, a special method was developed, described below.

Метод определения внешней части выпуклого контура: каждая точка выпуклого контура соответствует одной из точек линии. Определяется точка на выпуклом контуре CH, соответствующая одной из конечных точек линии L. Далее проверяется, равны ли соседние точки выпуклого контура соседним точкам на линии. С той стороны, где они не равны (как минимум для одной стороны они не будут равны), происходит «перескок» выпуклого контура через точки линии, т.е. соответствующий отрезок выпуклого контура находится по одну сторону линии. Поэтому далее проверяется, находится ли середина данного отрезка (HI) снаружи контура C или внутри. Если она находится снаружи, то часть выпуклого контура CH, которой принадлежит отрезок, находится снаружи тела и является искомой. Если она находится внутри, то искомой является оставшаяся вторая часть выпуклого контура. Визуализацией такого типа обмера является множество точек выбранного сегмента выпуклого контура, соединенных между собой ребрами (фиг. 30).Method for determining the outer part of a convex contour: each point of the convex contour corresponds to one of the points on the line. A point on the convex contour CH is determined, corresponding to one of the end points of line L. Next, it is checked whether the neighboring points of the convex contour are equal to the neighboring points on the line. On the side where they are not equal (for at least one side they will not be equal), 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, it is further checked whether the midpoint of a given segment ( HI ) is outside or inside the contour C. If it is located outside, then the part of the convex contour CH to which the segment belongs is located outside the body and is the desired one. If it is inside, then the remaining second part of the convex contour is the one we are looking for. Visualization of this type of measurement is a set of points of a selected segment of a convex contour, connected by edges (Fig. 30).

4.1.2. Корректировка результатов обмеров4.1.2. Correction of measurement results

Может оказаться, что некоторые антропометрические точки заданы не совсем точно. Это может увеличить ошибку результатов обмеров, полученных методами линейной алгебры. It may turn out that some anthropometric points are not specified exactly. This may increase the error in measurement results obtained using linear algebra methods.

Для минимизации этого эффекта предлагается использовать метод корректировки обмеров. Для этого необходима база данных трехмерных снимков людей и измеренных вручную значений обмеров. Для каждого размерного признака определяется среднее значение ошибки алгоритма от истинных значений. Затем для каждого обмера вводится поправка, компенсирующая среднее значение ошибки. To minimize this effect, it is proposed to use a measurement adjustment method. This requires a database of 3D photographs of people and manually measured measurements. For each dimensional feature, 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.

Этот метод позволяет уменьшить среднюю ошибку обмеров примерно на 40–60%.This method can reduce the average measurement error by approximately 40–60%.

4.1.3. Получение размерных признаков на основе методов машинного обучения4.1.3. Obtaining dimensional features based on machine learning methods

Предлагается использовать регрессионную модель. Обучение модели происходит следующим образом. Сначала к трехмерному снимку человека подгоняется модель человеческого тела, которая имеет параметры телосложения и позы. Затем обучается регрессионная модель, обеспечивающая преобразование из параметров модели к величинам обмеров.It is proposed to use a regression model. The model is trained as follows. First, a model of the human body is fitted to a three-dimensional photograph of a person, which has parameters of physique and pose. Then a regression model is trained, providing a transformation from model parameters to measurement values.

Для получения обмеров человека нужно подогнать к его трехмерному снимку модель человеческого тела и, используя обученную регрессионную модель, получить искомые обмеры.To obtain the measurements of a person, you need to fit a model of the human body to his three-dimensional photograph and, using a trained regression model, obtain the required measurements.

Для обучения модели использовались данные из базы данных цифровых снимков CAESAR, включающей в себя более 4000 трехмерных снимков людей из различных регионов. Для каждого человека в этой базе данных имелся набор значений обмеров, измеренных вручную с человеческого тела. The model was trained using data from the CAESAR digital image database, which includes more than 4,000 3D images of people from various regions. For each person in this database there was a set of measurements taken manually from the human body.

Достоинствами данного метода является быстрота определения обмеров, к недостаткам же можно отнести зависимость точности обмеров от величины обучающей выборки, и ограниченность множества обмеров теми, которые представлены в обучающей выборке.The advantages of this method are the speed of determining measurements, but the disadvantages include the dependence of the accuracy of measurements on the size of the training sample, and the limitation of the set of measurements to those presented in the training sample.

4.1.4. Получение размерных признаков на основе комбинированных методов4.1.4. Obtaining dimensional features based on combined methods

Эти алгоритмы могут быть реализованы различными способами. Общая идея состоит в том, чтобы сначала методами линейной алгебры получить некие промежуточные антропометрические параметры, которые затем использовать для определения целевых обмеров.These algorithms can be implemented in various ways. The general idea is to first obtain some intermediate anthropometric parameters using linear algebra methods, which are then used to determine target measurements.

Промежуточными антропометрическими параметрами могут быть, например, обхваты человеческого торса или иной части трехмерного снимка, выполненные на разных высотах и углах к плоскости пола. Другим вариантом промежуточных антропометрических параметров могут быть расстояния между точками пересечения прямой и контура проекции человеческого тела на одну из вертикальных осей.Intermediate anthropometric parameters can be, for example, girths of the 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 distances between the points of intersection of the straight line and the contour of the projection of the human body onto one of the vertical axes.

Далее набор промежуточных параметров может быть обработан как методами функционального анализа (поиск точек максимума, минимума, перегиба и др.), так и методами машинного обучения.Next, a set of intermediate parameters can be processed using both functional analysis methods (search for maximum, minimum, inflection points, etc.) and machine learning methods.

4.1.5. Определение антропометрических признаков пользователя на основе анкетирования4.1.5. Determination of anthropometric characteristics of the user based on a questionnaire

В качестве альтернативы описанным выше способам, возможно определение антропометрических параметров пользователя на основе заполнения анкеты. Такой способ может быть реализован в виде приложения на смартфоне, как сервис на Интернет-сайте либо другим способом. В качестве вопросов может быть информация о росте, весе, возрасте, особенностях фигуры или каких-либо антропометрических параметрах тела. Ответы могут быть введены в виде вещественного числа или выбором одного из нескольких предложенных вариантов. Также, опционально, пользователь может добавить к введенным данным одну или несколько фотографий тела.As an alternative to the methods described above, it is possible to determine the user's anthropometric parameters 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. The 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 selecting one of several options provided. Also, optionally, the user can add one or more body photographs to the entered data.

Данные, введенные в анкету, передаются в специальный модуль, который вычисляет на основе этих данных антропометрические параметры человека.The data entered into the questionnaire is transferred to a special module, which calculates the anthropometric parameters of a person based on these data.

Задачей такого модуля является определение неизвестных антропометрических параметров тела на основе введенных параметров. Эта задача может быть решена с помощью статистических моделей. Например, зная пол, рост, вес, и тип фигуры пользователя, можно построить наиболее вероятную для таких параметров модель тела пользователя, которой будут соответствовать определенные размерные признаки.The task of such a module is to determine unknown anthropometric body parameters based on the entered parameters. This problem can be solved using statistical models. For example, knowing the gender, height, weight, and body type of the user, it is possible to construct the most probable model of the user’s body for such parameters, 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.

В качестве вопросов, имеющих несколько вариантов ответа, могут запрашиваться качественные характеристики человека, например изгиб спины (степень сутулости), соотношение мышечной и жировой массы тела (атлетичное, обычное, тучное телосложение) и др. As questions with multiple answer options, qualitative characteristics of a person can be requested, for example, the curvature of the back (degree of stoop), the ratio of muscle and fat body mass (athletic, normal, obese), etc.

Если пользователь считает вычисленные размерные признаки неверными, он может оставить обратную связь, введя в систему верные значения размерных признаков. Данные об обратной связи могут быть использованы для более точной настройки модуля, с учетом реальных статистических данных о пользователях.If the user considers the calculated dimensional features to be incorrect, he can leave feedback by entering the correct values of the dimensional features into the system. Feedback data can be used to fine-tune the module, taking into account real statistical data about users.

Во входящих данных могут быть одновременно непрерывные и дискретные величины, а также фотографические изображения. Для обработки этих данных предлагается несколько подходов.The incoming data can contain both continuous and discrete quantities, as well as photographic images. Several approaches are proposed to process this data.

1. Перевод категориальных признаков в непрерывные. В этом случае категориальным признаком может остаться только пол пользователя. Статистическая модель строится либо отдельно для мужчин и женщин, либо одна для обоих полов. С помощью регрессионного метода по известным параметрам определяются неизвестные.1. Translation of categorical features into continuous ones. In this case, only the user’s gender can remain a categorical attribute. The statistical model is built either separately for men and women, or one for both sexes. Using the regression method, unknown parameters are determined from known parameters.

2. Перевод непрерывных признаков в категориальные. В таком случае пространство непрерывных параметров отображается в кластеры с помощью вокселизации или другого метода кластеризации. Для каждого кластера определяются наиболее вероятные значения размерных признаков. На основе введенных пользователем данных, определяется кластер, к которому относится пользователь, а после этого его антропометрические признаки уточняются с помощью дополнительной информации. Результатом являются размерные признаки пользователя.2. Translation of continuous features into categorical ones. In such a case, the space of continuous parameters is mapped into clusters using voxelization or another clustering method. For each cluster, the most probable values of dimensional characteristics 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 clarified using additional information. The result is the user's dimensional attributes.

3. Обработка полноростовых фотографий. С помощью методов глубокого обучения из фотографий возможно извлекать либо непрерывные, либо категориальные антропометрические признаки. Непрерывными могут быть, например, отношение обхвата талии к обхвату бедер, длины ног к росту или другие отношения. Категориальными могут быть, например, тип фигуры. Эти данные могут быть использованы для уточнения размерных признаков пользователя, описанных выше в п. 1 и п. 2.3. Processing of full-length photographs. Using deep learning techniques, it is possible to extract either continuous or categorical anthropometric features from photographs. For example, the ratio of waist circumference to hip circumference, leg length to height, or other ratios can be continuous. Categorical ones can be, for example, body type. This data can be used to clarify the user’s dimensional characteristics described above in paragraphs 1 and 2.

4. Смешанные варианты. Исходную задачу можно также решать комбинированными вариантами из п. 1, п. 2 и п. 3.4. Mixed options. The original problem can also be solved using combined options from paragraph 1, paragraph 2 and paragraph 3.

4.2. Определение типа фигуры пользователя4.2. Determining the user's body type

Для определения типа фигуры пользователя могут быть использованы различные методы, включающие в себя как чисто алгоритмические методы, так и методы машинного обучения. To determine the user's body type, various methods can be used, including both purely algorithmic methods and machine learning methods.

Алгоритм типирования фигуры человека имеет на входе пол человека и таблицу мерок, снятых с него. Типирование фигур для женщин и мужчин реализовано различными функциями.The human figure typing algorithm has as input the person’s gender and a table of measurements taken from him. Body typing for women and men is implemented with various functions.

4.2.1. Типирование мужчин4.2.1. Typing men

Для типирования мужчин алгоритм использует информацию трех обмеров: обхвата груди, обхвата талии и обхвата бедер, и относит фигуру к одному из трех типов: худой, нормальный и толстый.To type men, 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.

Сначала проверяется, является ли фигура худой. Считается, что к худым мужчинам относятся те, у кого нет выраженного таза, живота или трапецеидальных мышц. Поэтому сначала проводится проверка того, находятся ли все три обмера в заданных пределах. Если да, то фигура относится к типу «худой». First, it is checked whether the figure is thin. It is believed that thin men are those who do not have a pronounced pelvis, abdomen or trapezius muscles. Therefore, it is first checked whether all three measurements are within the specified limits. If yes, then the figure is of the “thin” type.

Далее проверяется, относится ли человек к полному типу. Мужчина считается полным, если у него есть лишний вес в области живота или таза, поэтому проверяется, превышает ли значение обхвата талии или бедер пороговое значение для полного человека. Если хотя бы одно из этих обмеров превышает пороговое значение, то фигура относится к типу «толстый».Next, it is checked whether the person belongs to the full type. A man is considered obese if he has excess weight in the abdominal or pelvic area, so it is checked whether the waist or hip measurement exceeds the threshold for a fat man. If at least one of these measurements exceeds the threshold value, then the figure is classified as “fat”.

Остальные фигуры считаются относящимися к типу «нормальный». То есть это мужчины условно среднего веса, при этом человек может иметь большую мышечную массу (например, выраженные трапециевидные мышцы) или не иметь ее.The remaining figures are considered to be of the “normal” type. That is, these are men of relatively average weight, while a person may have large muscle mass (for example, pronounced trapezius muscles) or not have it.

На тестовой базе трехмерных снимков из 126 мужчин получены следующие результаты: «худые» – 23, «нормальные» – 80, «толстые» – 23. При визуальной проверке типы фигур мужчин соответствовали результатам автоматического тестирования.On a test base of three-dimensional images of 126 men, the following results were obtained: “thin” – 23, “normal” – 80, “fat” – 23. During visual inspection, the men’s body types corresponded to the results of automatic testing.

4.2.2. Типирование женщин4.2.2. Typing women

Для женщин типирование происходит также на основе обмеров обхватов груди, талии и бедер. При этом используется пять типов фигуры: «худая», «нормальная с выраженной талией», «нормальная без выраженной талии», «полная с выраженной талией», «полная без выраженной талии».For women, typing also occurs based on measurements of the chest, waist and hips. In this case, five body types are used: “thin”, “normal with a defined waist”, “normal without a defined waist”, “full with a defined waist”, “full without a defined waist”.

Для типирования используется четыре параметра: thin_thresh, flat_coef, wide_contoured_thresh, wide_flat_thresh. Проверка принадлежности к определенному типу проводится пошагово и на каждом последующем шаге типированию подвергаются только оставшиеся после предыдущих шагов фигуры.Four parameters are used for typing: thin_thresh , flat_coef , wide_contoured_thresh , wide_flat_thresh . The verification of belonging to a specific type is carried out step by step and at each subsequent step only the figures remaining after the previous steps are typed.

Сначала, также как и у мужчин, проверяется, является ли женщина худой, что будет выполняться при условии, что все три обмера менее thin_thresh. Далее выполняется проверка соответствия фигуре полной женщины: бедра должны быть больше wide_contoured_thresh и отношение талии к бедрам – меньше flat_coef. После этого проверяется соответствие типу фигуры «полная без выраженной талии»: талия больше wide_flat_thresh. Далее остается типировать «нормальные» фигуры. Если у оставшихся моделей отношение талии к бедрам менее flat_coef, то фигура будет «нормальной с выраженной талией». Если никакое из вышеперечисленных условий не выполнено, то считаем, что тип фигуры – «нормальная без выраженной талии».First, just like for men, it is checked whether the woman is thin, which will be carried out provided that all three measurements are less than thin_thresh . Next, a check is made for compliance with the figure of a plump woman: the hips should be larger than wide_contoured_thresh and the waist-to-hip ratio should be less than flat_coef . After this, compliance with the figure type “full without a pronounced waist” is checked: the waist is greater than wide_flat_thresh . Next, it remains to type the “normal” figures. If the remaining models have a waist-to-hip ratio less than flat_coef , then the figure will be “normal with a defined waist.” If none of the above conditions are met, then we consider that the figure type is “normal without a pronounced waist.”

Результаты тестирования на базе из 146 женских трехмерных снимков следующие: «худая» – 8,9 % (13), «нормальная с выраженной талией» – 43,8 % (64), «нормальная без выраженной талии» – 27,4 % (40), «полная с выраженной талией» – 5,5 % (8), «полная без выраженной талии» – 14,4 % (21). Эти данные соответствуют статистическим данным. При визуальной проверке типы фигур женщин также соответствовали результатам автоматического тестирования.The 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), “overweight with a defined waist” – 5.5% (8), “overweight without a defined waist” – 14.4% (21). These data correspond to statistical data. When visually checked, the women's body types also corresponded to the results of automatic testing.

4.3. Анализ данных и результаты4.3. Data analysis and results

Качество работы алгоритма определялось на тестовой выборке, состоящей из трехмерных снимков (3D-сканов; 3D-сканограмм). Было проведено сравнение с двумя типами эталонных данных:The quality of the algorithm's work was determined on a test sample consisting of three-dimensional images (3D scans; 3D scanograms). Comparisons were made with two types of reference data:

(а) размерные признаки (РП) человека, измеренные вручную по телу;(a) dimensional characteristics (RF) of a person, measured manually along the body;

(б) размерные признаки (РП), измеренные по трехмерному снимку с использованием программного обеспечения для проектирования одежды (САПР). В качестве примера таких САПР можно привести CLO, Optitex, Browzwear и т.п.(b) dimensional attributes (DF) measured from a 3D image using clothing design software (CAD). Examples of such CAD systems include CLO, Optitex, Browzwear, etc.

Сравнение РП, полученных с помощью описанного выше алгоритма, с РП, измеренными вручную по телу, представлено на фиг. 31. Средняя ошибка составила 23,3 мм. Сравнение РП, полученных с помощью описанного выше алгоритма, с РП, измеренными по трехмерному снимку, представлено на фиг. 32. Средняя ошибка составила 21,2 мм. На фиг. 31 и фиг. 32 по оси абсцисс расположены номера обмеров во внутренней системе, по оси ординат – разница между результатами обмеров, полученными с помощью предложенного алгоритма и результатами, измеренными вручную с человека в реальности либо с трехмерного снимка. Каждая точка соответствует ошибке результата конкретного обмера конкретного человека.A comparison of RPs obtained using the algorithm described above with RPs measured manually over the body is presented in Fig. 31. The average error was 23.3 mm. A comparison of the RPs obtained using the algorithm described above with the RPs measured from a three-dimensional image is presented in Fig. 32. The average error was 21.2 mm. In fig. 31 and fig. 32 along the abscissa axis are the numbers of measurements in the internal system, along the ordinate axis is 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.

Таким образом, средняя ошибка на всех обмерах оказалась менее 2,5 см. Видно, что центры распределения смещены относительно нуля, что говорит о не совсем точном выборе положений антропометрических точек, кроме того, на диаграмме присутствуют выбросы, которые могут быть связаны как с ошибками алгоритма, так и с ошибками референсных данных. В дальнейшем планируется протестировать алгоритм на размеченной выборке большего объема, что позволит подобрать оптимальные параметры алгоритма.Thus, the average error in all measurements turned out to be less than 2.5 cm. It can be seen that the distribution centers are shifted 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 errors algorithm and with reference data errors. In the future, it is planned to test the algorithm on a larger labeled sample, which will allow us to select the optimal parameters of the algorithm.

5. Выбор наиболее близких производственных моделей5. Selection of the closest production models

Далее выполняется выбор по антропометрическим параметрам одной или нескольких наиболее близких производственных моделей из массива производственных моделей разных производителей одежды.Next, a selection is made based on anthropometric parameters of one or more of the closest production models from the array of production models from different clothing manufacturers.

5.1. Параметризация производственных моделей5.1. Parameterization of production models

Для сопоставления производственных моделей с моделью тела пользователя трехмерные производственные модели подвергаются «регистрации» аналогично трехмерным моделям, полученным по результатам сканирования тела пользователя, как описано выше. To match the manufacturing models to the user's body model, the 3D manufacturing models are "registered" in a manner similar to the 3D models obtained from scanning the user's body as described above.

Если используются цифровые модели, то такая регистрация может выполняться непосредственно по цифровой модели или после необходимых преобразования данных. Задача такого преобразования данных тривиальна для специалиста, поэтому подробности преобразования здесь опущены для краткости. Если используются физические манекены, то они подвергаются сканированию аналогично телу пользователя. If digital models are used, then such registration can be performed directly from the digital model or after the necessary data conversions. The task of such data conversion is trivial for a specialist, so the details of the conversion are omitted here for brevity. If physical mannequins are used, they are scanned in the same way as the user's body.

В случае использования параметрических производственных моделей, РП могут быть получены из таких моделей – либо непосредственно (если методики определения РП совпадают с применяемыми в предложенном подходе), либо путем преобразования. При этом способ такого преобразования зависит от конкретной реализации параметров той или иной производственной модели.In the case of using parametric production models, RP can be obtained from such models - either directly (if the methods for determining RP coincide with those used in the proposed approach) or by transformation. Moreover, the method of such transformation depends on the specific implementation of the parameters of a particular production model.

5.2. Сопоставление производственных моделей с моделью тела пользователя5.2. Matching production models with user body model

Сопоставление производственных моделей с моделью тела пользователя может выполняться с использованием целевой функцииMatching production models to the user's body model can be done using an objective function

(34) (34)

где F – целевая функция расхождения, подлежащая минимизации, М – число размерных признаков (РП), – размерный признак пользователя, – размерный признак производственной модели, соответствующий размерному признаку пользователя, – взвешивающий коэффициент, учитывающий важность каждого признака с точки зрения влияния на «посадку» конкретного предмета одежды на пользователя, т.е. на субъективную оценку пользователем того, хорошо или плохо «сидит» на нем эта одежда. Число M может представлять собой как количество всех размерных признаков пользователя и/или производственной модели, так и подмножество размерных признаков, включающие только те размерные признаки, которые существенны для конкретного предмета одежды (например, только РП ног при выборе джинсов или только РП кистей при выборе перчаток).where F is the target divergence function to be minimized, M is the number of dimensional features (DF), – dimensional sign of the user, – dimensional attribute of the production model corresponding to the dimensional attribute of the user, – a weighting factor that takes into account the importance of each attribute in terms of its influence on the “fit” of a particular item of clothing on the user, i.e. on the user’s subjective assessment of whether this clothing “fits” him well or poorly. The number M can represent both the number of all dimensional attributes of the user and/or production model, and a subset of dimensional attributes, including only those dimensional attributes that are significant for a particular item of clothing (for example, only the RP of the legs when choosing jeans or only the RP of the hands when choosing gloves).

Критерий сопоставления моделей может быть основан, например, на оценке F < ε 0, где ε 0 – пороговая величина, значение которой может быть унифицированным (т.е. действительным для всех видов одежды, всех производителей одежды и всех пользователей) или дифференцированным (т.е. задаваться индивидуально для различных видов одежды, различных производителей одежды и различных пользователей). Специалисту должно быть понятно, что указанный выше критерий приведен лишь в качестве иллюстрации и что изобретение включает в себя все многообразие возможных критериев.The criterion for comparing models can be based, for example, on the estimate F < ε 0 , where ε 0 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). It will be clear to one skilled in the art that the above criterion is provided for illustrative purposes only and that the invention includes a variety of possible criteria.

Стоит отметить, что сопоставление может выполняться не только с помощью целевой функции (34), но и более общими известными методами, например, с помощью регистрации двух сопоставляемых моделей друг относительно друга и расчета невязки трехмерных поверхностей моделей. Это позволяет сопоставлять модели не только в избранных местах (обхват талии, обхват бедер и т. п.), но осуществлять сопоставление моделей целиком.It is worth noting that the comparison can be performed not only using the objective function (34), but also by more general known methods, for example, by registering the two compared models with respect to each other and calculating the discrepancy of the three-dimensional surfaces of the models. This allows you to compare models not only in selected places (waist circumference, hip circumference, etc.), but also to compare models as a whole.

Отобранные по критерию сопоставления производственные модели могут фиксироваться в любой подходящей форме на любом подходящем носителе информации, как подходящие для конкретного пользователя и в дальнейшем могут использоваться в процессе дистанционного выбора одежды. Такая фиксация может выполняться в соответствующем формате в компьютере или в мобильном устройстве пользователя либо на сервере облачного сервиса.Production models selected by comparison criteria can be recorded in any suitable form on any suitable storage medium, as suitable for a specific user, and can subsequently be used in the process of remote selection of clothing. Such recording can be performed in an appropriate format on the user’s computer or mobile device, or on a cloud service server.

Выше описан алгоритм, предполагающий существование производственной модели (геометрической или параметрической), пригодной для сопоставления с моделью тела пользователя. Тем не менее, возможны ситуации, когда производственная модель отсутствует или когда имеющаяся производственная модель содержит существенные ошибки, приводящие к неудовлетворительному результату сопоставления моделей. При этом построение производственной модели и/или ее верификация могут оказаться невозможными или экономически нецелесообразными.The above describes an algorithm that assumes the existence of a manufacturing model (geometric or parametric) suitable for comparison with the user's body model. However, there may be situations where a production model is missing or where the existing production model contains significant errors that lead to an unsatisfactory model comparison result. In this case, the construction of a production model and/or its verification may be impossible or economically infeasible.

В этом случае дистанционный выбор одежды возможен без использования производственной модели на основе сопоставления размерных признаков пользователя с размерной сеткой конкретного бренда или на основе сопоставления размерных признаков пользователя с результатами обмера предмета одежды.In this case, remote selection of clothing is possible without using a production model based on a comparison of the user’s dimensional characteristics with the dimensional grid of a particular brand or based on a comparison of the user’s dimensional characteristics with the measurement results of the item of clothing.

5.3. Сопоставление5.3. Comparison размерных признаков пользователя с размерной сеткой брендаuser's dimensional characteristics with the brand's sizing chart

При этом подходе пользователь выбирает модель одежды, а система определяет подходящий пользователю размер для этой модели. Здесь термин «модель одежды» означает не математическую или компьютерную модель, а воплощенный в материале образец одежды, характеризующийся определенными размерами, силуэтом, покроем, композиционным и конструктивным решением, материалами и декоративными элементами.In this approach, the user selects a clothing model, and the system determines the size suitable for the user for this model. Here the term “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.

Укрупненный алгоритм рекомендации подходящего размера для конкретной модели одежды представлен на фиг. 43. Алгоритм предусматривает выполнение следующих действий:An enlarged algorithm for recommending the appropriate size for a specific clothing model is presented in Fig. 43. The algorithm involves performing the following actions:

- (41) пользователь выбирает интересующую его модель или категорию одежды;- (41) the user selects the model or category of clothing he is interested in;

- (42) если пользователь выбирает модель одежды, то для нееопределяется категория (подкатегория);- (42) if the user selects a clothing model, then a category (subcategory) is determined for it;

- (43) определяются или вводятся размерные признаки человека, на основе которых может быть определен подходящий размер;- (43) dimensional characteristics of a person are determined or introduced, on the basis of which a suitable size can be determined;

- (44) размерные признаки пользователя сопоставляются с размерной сеткой бренда, которому принадлежит выбранная модель одежды;- (44) the user’s dimensional characteristics are compared with the dimensional grid of the brand that owns the selected clothing model;

- (45) результаты сопоставления обрабатываются для определения рекомендуемого размера выбранной модели одежды;- (45) the comparison results are processed to determine the recommended size of the selected clothing model;

- (46) рекомендуемый размер сообщается пользователю.- (46) The recommended size is communicated to the user.

Предварительный выбор модели или категории одежды выполняется любым подходящим способом, например по электронному каталогу. Возможно также применение для этой цели бумажных каталогов, флаеров, публикаций в социальных сетях, видеоклипов и других информационных и рекламных материалов, позволяющих идентифицировать интересующий пользователя предмет одежды. The preliminary selection of a model or category of clothing is carried out in any suitable way, for example, using an electronic catalog. It is also possible to use for this purpose paper catalogs, flyers, publications on social networks, video clips and other information and advertising materials that allow identifying the item of clothing that interests the user.

Электронный каталог может быть монобрендовым или мультибрендовым, функциональным или тематическим. Все модели одежды в каталоге заранее распределены по категориям и, при необходимости, по подкатегориям. Для каждой категории (подкатегории) одежды заранее заданы те размерные признаки человека, на основе которых может быть определен подходящий размер. An electronic catalog can be mono-brand or multi-brand, functional or thematic. All clothing models in the catalog are pre-distributed into categories and, if necessary, into subcategories. For each category (subcategory) of clothing, those dimensional characteristics of a person are preset, on the basis of which the appropriate size can be determined.

Эти признаки определяются системой или вводятся в нее (если они были заранее определены) или извлекаются из геометрической или параметрической модели тела пользователя (например, если она содержится в профиле пользователя). Определение размерных признаков пользователя может выполняться, например, способами, описанными выше в разделе 4.1.These features are determined by or input into the system (if they have been predefined) or extracted from a geometric or parametric model of the user's body (for example, if contained in the user's profile). Determination of the user's dimensional characteristics can be performed, for example, by the methods described above in section 4.1.

Размерная сетка может быть получена как непосредственно, так и с помощью вычисления размерных признаков производственных манекенов.The dimensional grid can be obtained either directly or by calculating the dimensional characteristics of production mannequins.

Для каждого размерного признака по размерной сетке бренда вычисляется соответствующий размер в численном виде (например, в виде действительного числа). Далее на основе полученных размеров по формуле вычисляется рекомендуемый размер одежды. For each size attribute, the corresponding size is calculated numerically (for example, as a real number) using the brand’s sizing grid. Next, based on the obtained sizes, the recommended clothing size is calculated using the formula.

В простейшем случае для составления рекомендаций можно использовать размерную сетку, содержащую лишь два размерных признака, например, обхват груди и обхват бедер. В этом случае размер, относящийся к верхней части тела, будет определяться обхватом груди, а относящийся к нижней части тела – обхватом бедер. In the simplest case, to make recommendations, you can use a size grid containing only two dimensional characteristics, for example, chest girth and hip girth. In this case, the size related to the upper body will be determined by the chest girth, and the size related to the lower body will be determined by the hip girth.

Более точную рекомендацию может обеспечить использование размерной сетки с большим количеством размерных признаков, например, для приталенных сорочек, жакетов, платьев и т.п. может быть целесообразным учет обхвата шеи, груди и талии, ширины плеч, а также роста человека и длины рукава.A more accurate recommendation can be provided by using a size chart with a large number of dimensional characteristics, for example, for fitted shirts, jackets, dresses, etc. It may be advisable to take into account the circumference of the neck, chest and waist, shoulder width, as well as the person's height and sleeve length.

Для более точной рекомендации необходима размерная сетка, содержащая большее количество размерных признаков.For a more accurate recommendation, a dimensional grid containing a larger number of dimensional characteristics is needed.

Список и характеристики размерных признаков тела человека приведены выше в таблице 3.The list and characteristics of the dimensional characteristics of the human body are given above in Table 3.

Определение размера на основе нескольких размерных признаков возможно с использованием различных подходов. Например, для каждого размерного признака можно ввести коэффициент, определяющий степень влияния этого признака на рекомендуемый размер одежды. В этом случае размер может вычисляться по формуле взвешенного среднеарифметического значения:Determining size based on several dimensional characteristics is possible using various approaches. For example, for each dimensional attribute, you can enter a coefficient that determines the degree of influence of this attribute on the recommended clothing size. In this case, the size can be calculated using the weighted arithmetic average formula:

S = Σ(w i s i ) / Σw i , (35) S = Σ(w i s i )/Σw i , (35)

где s i – размер (например, в виде действительного числа), соответствующий i-му размерному признаку, w i – вес i-го размерного признака при определении размера, S – рекомендуемый размер (например, в виде действительного числа) одежды в численном виде.Wheres i – size (for example, in the form of a real number) corresponding toi-th dimensional characteristic,w i - weighti-th dimensional characteristic when determining the size,S – the recommended size (for example, in the form of a real number) of clothing in numerical form.

Для некоторых моделей одежды может оказаться, что предпочтения пользователя не вполне соответствуют задумке дизайнера одежды. Также может оказаться, что материал, из которого изготовлен предмет одежды, влияет на индивидуальные предпочтения по посадке одежды. Для учета подобных случаев для каждой модели одежды может быть введено одно или несколько поправочных значений. Тогда формула (35) приобретает вид:For some clothing models, it may turn out that the user's preferences do not fully correspond to the clothing designer's intentions. It may also be that the material a garment is made from influences individual fit preferences. To account for such cases, one or more correction values can be entered for each clothing model. Then formula (35) takes the form:

S = Σ(w i s i ) / Σw i + ds 1 + ds 2 +... , (36) S = Σ(w i s i )/Σw i +ds 1+ds 2 +... , (36)

где ds 1 – первое поправочное значение, ds 2 – второе поправочное значение и т.д. Количество, виды и величины поправочных значений могут быть индивидуальными для каждого пользователя или для некоторых пользователей. В частности, индивидуальные поправочные значения могут нивелировать недостаток (малое количество) размерных признаков, принимаемых во внимание при сопоставлении, учитывая особенности фигуры пользователя. where ds 1 is the first correction value, ds 2 is the second correction value, etc. The number, types and magnitudes of correction values may be individual for each user or for some users. In particular, individual correction values can offset the lack (small number) of dimensional features taken into account during comparison, taking into account the characteristics of the user’s figure.

Далее необходимо перевести эти численные значения размеров в значения размеров согласно размерной сетке бренда. Это можно сделать, например, путем округления полученного численного значения размера до ближайшего размера в размерной сетке. Правила такого округления могут различными, например, в большую сторону, меньшую сторону или к ближайшему значению. Next, you need to convert these numerical size values into size values according to the brand's sizing chart. This can be done, for example, by rounding the resulting numerical size value to the nearest size in the sizing chart. The rules for such rounding may vary, for example, up, down, or to the nearest value.

В простейшем случае таким образом может быть вычислен размер одежды по длине и ширине. Результатом работы алгоритма рекомендации в таком случае является пара численных размеров: размер по длине и размер по ширине. In the simplest case, the size of clothing can be calculated in this way based on length and width. The result of the recommendation algorithm in this case is a pair of numerical sizes: length size and width size.

При необходимости алгоритм рекомендации размера одежды можно расширить, дополнительно реализовав алгоритм стилистических рекомендаций (более подробно обсуждается в п. 5.7). Для подготовки стилистических рекомендаций сначала стилист-эксперт должен определить правила соответствия характеристик тела и характеристик подходящей одежды. Характеристики тела могут быть основаны на возрасте пользователя, его телосложении, цвете кожи, типе, цвете и длине волос, разрезе и цвете глаз и т.д. Алгоритм стилистических рекомендаций вычисляет необходимые характеристики тела человека, определяет параметры одежды, соответствующие данному человеку, и рекомендует наиболее подходящую по стилю и фасону одежду.If necessary, the clothing size recommendation algorithm can be expanded by additionally implementing a stylistic recommendations algorithm (discussed in more detail in section 5.7). To prepare stylistic recommendations, the expert stylist must first determine the rules for matching body characteristics with the characteristics of suitable clothing. Body characteristics can be based on the user's age, body type, skin color, hair type, color and length, eye shape and color, etc. The algorithm for stylistic recommendations calculates the necessary characteristics of a person’s body, determines the clothing parameters appropriate for a given person, and recommends the most suitable clothing in style and style.

5.4. Сопоставление5.4. Comparison размерных признаков пользователя с результатами обмера предмета одеждыdimensional characteristics of the user with the results of measuring the item of clothing

В отсутствие информации о модельных рядах и размерных сетках брендов рекомендации могут быть выработаны на основе сопоставления размерных признаков пользователя с результатами обмеров конкретных предметов одежды. In the absence of information about model ranges and sizing charts of brands, recommendations can be developed based on a comparison of the user’s dimensional characteristics with the measurement results of specific items of clothing.

Если предмет одежды доступен для физического обмера, то обмер может выполняться в явном виде, например, с помощью традиционного портновского метра. В большинстве случаев физический обмер может оказаться невозможным или экономически нецелесообразным из-за высокой трудоемкости и высокой стоимости ручного труда. Поэтому в системах массового обслуживания обмер предмета одежды может выполняться косвенным способом, например путем оптического сканирования с использованием обычных двумерных фотографических изображений измеряемого предмета одежды. If the garment is available for physical measurement, then the measurement can be done explicitly, for example using a traditional tailor's yardstick. In most cases, physical measurement may not be possible or economically feasible due to the high labor intensity and high cost of manual labor. Therefore, in queuing systems, the measurement of a garment can be performed indirectly, for example by optical scanning using conventional two-dimensional photographic images of the garment being measured.

Оптическое сканирование одежды может выполняться на специальной автоматизированной установке. Установка может состоять из рабочей поверхности и статической камеры. Рабочая поверхность может иметь разметку, обеспечивающую автоматическую калибровку системы для определения размеров на основе изображений, полученных с камеры. В простейшем случае такая разметка может представлять собой сетку с квадратной ячейкой заранее известного размера. В других случаях разметка может состоять из реперных точек, расположенных в заранее заданных местах на заранее заданном расстоянии друг от друга. Optical scanning of clothing can be performed on a special automated installation. The installation may consist of a working surface and a static chamber. The work surface may have markings that automatically calibrate the system to determine dimensions based on images received from the camera. In the simplest case, such markings can be a grid with a square cell of a predetermined size. In other cases, the marking may consist of reference points located at predetermined locations at a predetermined distance from each other.

Для определения размеров предмета одежды может применяться алгоритм компьютерного зрения, который определяет вид или категорию одежды, выявляет ключевые точки на изображении, вычисляет контур одежды и на основе этих данных определяет размеры (фиг. 42). Для этого могут применяться заранее заданные для каждого вида (категории) одежды правила преобразования ключевых точек и контура в результаты обмера.To determine the size of a piece of clothing, a computer vision algorithm can be used, 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. 42). For this purpose, rules for converting key points and contours into measurement results can be applied in advance for each type (category) of clothing.

Затем результаты обмера могут конвертироваться в размерные признаки, которые могут использоваться для сопоставления непосредственно или из которых при необходимости может формироваться параметрическая модель предмета одежды. По сути, эти размерные признаки или параметрическая модель описывают производственный манекен, на который пошита эта модель одежды.The measurement results can then be converted into dimensional attributes that can be used for comparison directly or from which a parametric model of the garment can be formed if necessary. Essentially, these dimensional characteristics or parametric model describe the production mannequin on which this clothing model is sewn.

Размерные признаки тела пользователя могут сопоставляться с размерными признаками предмета одежды подобно тому, как это описано в п. 5.3 со ссылкой на формулы (35) и (36).The dimensional features of the user's body can be compared with the dimensional features of the item of clothing in the same way as described in paragraph 5.3 with reference to formulas (35) and (36).

Далее описан иллюстративный пример алгоритма рекомендации одежды заданной категории. В этом примере разные размеры одной модели одежды система рассматривает как разные модели одежды и выдает список предметов одежды, отсортированного в порядке убывания рейтинга посадки.The following describes an illustrative example of an algorithm for recommending clothing of a given category. In this example, the system treats different sizes of the same clothing model as different clothing models and returns a list of clothing items sorted in descending order of fit rating.

Система, реализующая алгоритм рекомендации, может содержать:A system that implements a 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 referred to as measurements) and the corresponding sizes for each clothing model;

- правила преобразования размерных признаков человека и обмеров одежды, позволяющие привести размерные признаки человека и обмеры одежды к единому формату; - rules for converting human dimensional characteristics and clothing measurements, allowing to bring human dimensional characteristics and clothing measurements to a single format;

- правила вычисления отсутствующих обмеров (в частности, для тех размеров конкретной модели одежды, для которых данные обмеров отсутствуют);- rules for calculating missing measurements (in particular, for those sizes of a particular clothing model for which measurement data is not available);

- правила, определяющие важность результатов обмеров для каждой модели одежды, при этом для каждой модели указано, должен ли этот результат обмера совпадать (equal) или превышать соответствующий размерный признак человека (greater); для конкретной модели одежды может быть задана любая комбинация правил;- rules defining the importance of measurement results for each clothing model, while for each model it is indicated whether this measurement result should be equal (equal) or exceed the corresponding size characteristic of a person (greater); any combination of rules can be specified for a specific clothing model;

- правила градации одежды по размерам.- rules for grading clothing by size.

На вход алгоритма подаются размерные признаки пользователя. В базе данных одежды, доступной для выбора, выполняется поиск с учетом количества М рекомендуемых моделей одежды и целевой категории (подкатегории), в которой должен проводиться поиск. Число М и одна или несколько категорий (подкатегорий) для поиска могут задаваться пользователем или определяться самой системой на основе различных критериев. Таким критериями могут быть предпочтения пользователя, выявленные на основе анализа прошлых действий этого пользователя в системе, текущая загрузка системы и т.п.The user's dimensional attributes are fed to the input of the algorithm. The database of clothing available for selection is searched 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 more categories (subcategories) for search can be specified by the user or determined by the system itself based on various criteria. Such criteria may be user preferences identified based on an analysis of this user’s past actions in the system, current system load, etc.

На выходе алгоритма обеспечивается список не более чем М моделей одежды с указанием размера каждой модели, ранжированный по убыванию рейтинга посадки (т.е. коэффициента, показывающего насколько конкретный предмет одежды подходит пользователю).The output of the algorithm is a list of no more than M clothing models, indicating the size of each model, ranked in descending order of fit rating (i.e., a coefficient showing how suitable a particular item of clothing is for the user).

Алгоритм рекомендации предусматривает инициализацию, предварительную обработку данных и вычисление рейтинга посадки одежды.The recommendation algorithm involves initialization, data preprocessing, and calculation of the clothing fit rating.

На этапе инициализации выполняется импорт данных о предметах одежды из внешнего источника данных с преобразованием формата импортируемых данных в формат данных системы. Источники данных о предметах одежды могут быть многочисленны и разнообразны с точки зрения форматов данных. Преобразование формата позволяет сформировать базу данных о предметах одежды системы рекомендации. Данные о предметах одежды могут представлять собой обмеры одежды. Если импортируемые данные содержат обмеры не для всего размерного ряда конкретной модели одежды, то недостающие обмеры вычисляются путем интерполяции или экстраполяции на основе имеющихся обмеров по заранее заданным правилам.During the initialization phase, data on clothing items is imported from an external data source, converting the format of the imported data to the system data format. Sources of apparel data can be numerous and varied in terms of data formats. Format conversion allows you to create a database of clothing items for a recommendation system. Garment data may represent garment measurements. If the imported data does not contain measurements for the entire size range of a particular clothing model, then the missing measurements are calculated by interpolation or extrapolation based on the available measurements according to predefined rules.

Предварительная обработка данных при необходимости включает в себя преобразование формата размерных признаков пользователя и/или формата обмеров одежды в такой формат, который позволяет выполнять их сравнение. В частности, обмеры одежды могут быть преобразованы в формат, описывающий производственный манекен, на который пошит этот предмет одежды. Размерные признаки производственного манекена соответствуют идеальной посадке предмета одежды. Поскольку такой формат может совпадать с форматом модели тела пользователя, их сопоставление может выполняться непосредственно. Тем не менее, возможен и другой вариант, когда размерные признаки пользователя преобразуются в формат обмеров одежды, или еще один вариант, когда оба формата преобразуются в некоторый третий формат, обеспечивающий сравнение размерных признаков.Pre-processing of the data, if necessary, includes converting the format of the user's dimensional characteristics and/or the format of clothing measurements into a format that allows them to be compared. In particular, garment measurements can be converted into a format that describes the production mannequin on which the garment is sewn. The sizing characteristics of the production mannequin correspond to the ideal fit of the garment. Since such a format can be the same as the user's body model, matching them can be done directly. However, another option is possible when the user’s dimensional characteristics are converted into a clothing measurement format, or another option when both formats are converted into some third format that provides comparison of dimensional characteristics.

Результат сравнения может быть выражен рейтингом посадки – численной оценкой соответствия предмета одежды фигуре пользователя. В частности, рейтинг посадки может вычисляться для двух векторов – вектора размерных признаков пользователя и вектора размерных признаков предмета одежды.The result of the comparison can be expressed as a fit rating - a numerical assessment of the suitability of an item of clothing to the wearer's figure. In particular, the fit rating can be calculated for two vectors - a vector of dimensional attributes of the user and a vector of dimensional attributes of the garment.

В связи со спецификой такой задачи использование в качестве рейтинга посадки L-норм не представляется возможным по следующим причинам.Due to the specifics of such a task, using L-norms as a landing rating is not possible for the following reasons.

Во-первых, у каждого замера одежды есть допустимый диапазон, в котором замер может варьироваться без ухудшения технической посадки предмета одежды. Соответственно, отклонение размерного признака от соответствующего замера в пределах такого диапазона не должны ухудшать рейтинг посадки.First, each garment measurement has an acceptable range within which the measurement can vary without compromising the technical fit of the garment. Accordingly, deviation of a dimensional characteristic from the corresponding measurement within this range should not degrade the fit rating.

Во-вторых, если один из замеров одежды меньше соответствующего размерного признака пользователя с учетом допустимого диапазона – одежда не может быть рекомендована пользователю. Secondly, if one of the clothing measurements is smaller than the corresponding size characteristic of the user, taking into account the acceptable range, the clothing cannot be recommended to the user.

В-третьих, в общем случае не все замеры одежды имеют одинаковое значение для комфортной посадки. К примеру, для классической рубашки свобода в талии может быть не так важна, как ширина плеч и обхват шеи.Thirdly, in general, not all clothing measurements have the same meaning for a comfortable fit. For example, for a dress shirt, freedom at the waist may not be as important as shoulder width and neck circumference.

Поэтому для вычисления рейтинга посадки был разработан алгоритм, вычисляющий скалярную величину, диапазон значений которой находится в пределах от 0 до 1, где «0» означает, что предмет одежды совершенно не подходит пользователю, а «1» означает, что предмет одежды идеально подходит человеку.Therefore, to calculate the fit rating, an algorithm was developed that calculates a scalar value whose value ranges from 0 to 1, where “0” means that the garment does not fit the wearer at all and “1” means that the garment fits the wearer perfectly .

Перед вычислением рейтинга посадки значения разности между соответствующими координатами векторов делятся на 3 группы: «fit», «small» и «big», где:Before calculating the fit rating, the difference values between the corresponding vector coordinates are divided into 3 groups: “fit”, “small” and “big”, where:

- «fit» означает выполнение по меньшей мере одного условия из следующих: значение размерного признака предмета одежды находится в допустимом диапазоне и значение размерного признака предмета одежды больше значения соответствующего размерного признака пользователя, но находится в группе «greater» правил важности;- “fit” means the fulfillment of at least one of the following conditions: the value of the dimensional attribute of the clothing item is in the acceptable range and the value of the dimensional attribute of the clothing item is greater than the value of the corresponding dimensional attribute of the user, but is in the “greater” group of importance rules;

- «small» означает, что размерный признак предмета одежды меньше допустимого диапазона;- “small” means that the size of the item of clothing is less than the acceptable range;

- «big» означает, что размерный признак предмета одежды больше допустимого диапазона и находится в группе «equal» правил важности.- “big” means that the size attribute of the item of clothing is greater than the acceptable range and is in the “equal” group of importance rules.

Если по меньшей мере один обмер предмета одежды определенного размера оказывается в группе «small», то он исключается из выдачи. В простейшем случае рейтинг посадки может быть равен количеству обмеров, попавших в группу «fit», деленному на общее количество обмеров одежды.If at least one measurement of a clothing item of a certain size is in the “small” group, then it is excluded from the search results. In the simplest case, the fit rating can be equal to the number of measurements included in the “fit” group divided by the total number of measurements of the garment.

Для ранжирования предметов одежды с приемлемым рейтингом посадки дополнительно может быть вычислена величина ошибки посадки. Для этого вычисляется L2-норма для каждой из групп «fit», «big» и «small» в отдельности. Результаты вычислений суммируются с использованием весовых коэффициентов, например, 1*fit + 2*big и сумма является значением ошибки посадки. Значение ошибки посадки позволяет производить ранжирование полностью подошедшей одежды (для которой рейтинг посадки равен 1) и при наличии в рекомендуемой выдаче предметов одежды с замерами, находящимися в категории «big», поднимать позицию в выдаче одежды с наименьшим выходом за допустимый диапазон.To rank garments with an acceptable fit rating, a magnitude of fit error may additionally be calculated. To do this, the L2-norm is calculated for each of the groups “fit”, “big” and “small” separately. The calculation results are summed using weighting factors, for example, 1*fit + 2*big and the sum is the fit error value. The fit error value allows you to rank fully fitted clothing (for which the fit rating is 1) and, if there are items of clothing with measurements in the “big” category in the recommended list, raise the position in the list of clothes with the smallest deviation from the acceptable range.

Таким образом, на вход алгоритм ранжирования подаются следующие данные:Thus, the following data is supplied to the input of the ranking algorithm:

- K векторов обмеров одежды (по одному вектору на каждый предмет одежды);- K vectors of clothing measurements (one vector for each item of clothing);

- один вектор размерных признаков пользователя;- one vector of user dimensional attributes;

- информация об идеальной посадке для каждого предмета одежды.- Information on the ideal fit for each item of clothing.

Векторы обмеров одежды и вектор размерных признаков состоят из N координат. Координаты всех векторов находятся в едином порядке (т.е. выражены в единой системе координат).Vectors of clothing measurements and a vector of dimensional attributes consist of N coordinates. The coordinates of all vectors are in the same order (i.e., expressed in a single coordinate system).

Для перебора всех экземпляров одежды используется метод «bruteforce» по всем моделям одежды из заданной категории (подкатегории). На каждом i-ом шаге перебора вычисляется рейтинг посадки для i-ого вектора обмеров одежды и вектора размерных признаков пользователя.To iterate through all instances of clothing, the “bruteforce” method is used for all clothing models from a given category (subcategory). At each i -th enumeration step, the fit rating is calculated for the i -th vector of clothing measurements and the vector of user dimensional attributes.

После вычисления для каждого экземпляра одежды ошибки посадки и рейтинга посадки в выборке выполняются две последовательные сортировки: сортировка по рейтингу посадки в порядке его убывания и сортировка по ошибке посадки в порядке ее возрастания (опционально).After calculating the fit error and fit rating for each item of clothing in the sample, two sequential sorts are performed: sorting by fit rating in descending order and sorting by fit error in ascending order (optional).

На последнем шаге алгоритма из отсортированной выборки выбираются первые M элементов. Таким образом, на выходе алгоритма оказывается выборка из не более чем M элементов, упорядоченных по убыванию точности технической посадки одежды.At the last step of the algorithm, the first M elements are selected from the sorted sample. Thus, the output of the algorithm is a selection of no more than M elements, ordered in descending order of accuracy of the technical fit of clothing.

Специалисту должно быть понятно, что описанные алгоритмы могут заменять и/или дополнять друг друга могут и быть использованы как для сопоставления размерных признаков пользователя с результатами обмера предмета одежды, так и для сопоставления с размерной сеткой бренда. Для этого достаточно на входе в алгоритм поменять местами обмеры предмета одежды и размерные признаки размерной сетки бренда.It should be clear to a specialist that the described algorithms can replace and/or complement each other and can be used both to compare the user’s dimensional characteristics with the results of measuring an item of clothing, and for comparison with the brand’s sizing grid. To do this, it is enough to swap the measurements of the item of clothing and the dimensional characteristics of the brand’s size grid at the input to the algorithm.

5.5. Сопоставление размеров или результатов обмера эталонного предмета одежды с размерами или результатами обмера выбираемого предмета одежды5.5. Comparison of the sizes or measurements of a reference item of clothing with the sizes or measurements of a selected item of clothing

Система может быть способной реализовывать алгоритм рекомендации даже в отсутствие данных антропометрических измерений тела пользователя. В этом случае на вход алгоритма вместо размерных признаков пользователя могут подаваться данные обмеров эталонных предметов одежды, т.е. таких предметов одежды, которые гарантированно имеют приемлемую посадку на пользователе. Специалисту должно быть понятно, что такой вариант алгоритма рекомендации имеет определенные ограничения, но может обеспечивать удовлетворительные результаты в отношении предметов одежды той же категории (подкатегории).The system may be able to implement a recommendation algorithm even in the absence of anthropometric measurements of the user's body. In this case, instead of the user’s dimensional characteristics, the input of the algorithm can be supplied with measurement data of reference items of clothing, i.e. garments that are guaranteed to have an acceptable fit on the wearer. One skilled in the art will appreciate that this version of the recommendation algorithm has certain limitations, but may provide satisfactory results for items of clothing of the same category (subcategory).

5.6. Рекомендации на основе алгоритма машинного обучения5.6. Recommendations based on machine learning algorithm

Описанные выше принципы рекомендаций реализованы на основе эвристических алгоритмов, поэтому точность таких рекомендаций может сильно зависеть от человеческого фактора – представлений разработчиков об идеальной посадке одежды и их способности выразить эти представления в виде правил для работы алгоритма.The recommendation principles described above are implemented on the basis of heuristic algorithms, so the accuracy of such recommendations can greatly depend on the human factor - the developers' ideas about the ideal fit of clothes and their ability to express these ideas in the form of rules for the operation of the algorithm.

Чтобы избавиться от этого недостатка и повысить точность рекомендаций возможно применение основанных на использовании нейронных сетей алгоритмов машинного обучения (MLA, Machine Learning Algorithm), на основе предыдущего опыта выбирающих правила и зависимости, по которым можно наилучшим образом рекомендовать одежду пользователю. To get rid of this drawback and increase the accuracy of recommendations, it is possible to use machine learning algorithms based on the use of neural networks (MLA, Machine Learning Algorithm), based on previous experience, selecting rules and dependencies that can best recommend clothes to the user.

Основное ограничение такого подхода заключается в том, что такие системы требуют большого набора данных для обучения. Поэтому возможно первоначально использовать вышеописанную систему, а при накоплении достаточного количества данных для обучения алгоритма MLA эвристический алгоритм может быть заменен описанным далее алгоритмом MLA. При этом рекомендации одежды с применением алгоритма MLA могут быть выработаны путем сопоставления размерных признаков пользователя как с размерной сеткой бренда, так и с результатами обмеров. The main limitation of this approach is that such systems require a large set of training data. Therefore, it is possible to initially use the system described above, and when sufficient data is accumulated to train the MLA algorithm, the heuristic algorithm can be replaced by the MLA algorithm described below. At the same time, clothing recommendations using the MLA algorithm can be developed by comparing the user’s dimensional characteristics with both the brand’s dimensional grid and measurement results.

Алгоритм MLA может быть реализован в виде классификатора, на вход которого подаются размерные признаки пользователя, а с выхода снимаются скалярные значения, указывающие на вероятность того, что пользователю подойдет тот или иной размер того или иного бренда (или тот или иной конкретный предмет одежды).The MLA algorithm can be implemented as a classifier, the input of which is the size characteristics of the user, and the output is scalar values indicating the likelihood that a particular size of a particular brand (or a particular item of clothing) will suit the user.

Далее в качестве иллюстративного примера описаны принципы работы алгоритма MLA, реализующего рекомендацию размера бренда.Below, as an illustrative example, we describe the principles of operation of the MLA algorithm, which implements a brand size recommendation.

Алгоритм MLA основан на нейронной сети с двумя или более слоями. Необходимость реализации многослойной нейронной сети вызвана тем, что у разных брендов не совпадают размерные сетки. Многослойная структура нейронной сети позволяет разделить представление сети о размерных признаках пользователя и преобразование представления сети о размерных признаках пользователя в рекомендацию размера конкретного бренда.The MLA algorithm is based on a neural network with two or more layers. The need to implement a multilayer neural network is caused by the fact that different brands do not have the same dimensional grids. The multilayer structure of the neural network makes it possible to separate the network's representation of the user's dimensional characteristics and transform the network's representation of the user's dimensional characteristics into a size recommendation for a specific brand.

В этом случае один слой, отвечающий за представление сети о размерных признаках пользователя, выполняет роль энкодера, а другой слой, отвечающий за преобразование представления сети о размерных признаках пользователя в рекомендацию размера конкретного бренда, выполняет роль декодера (см. фиг. 44). Роль энкодера могут выполнять несколько слоев нейронной сети. При этом энкодер и декодер могут обучаться раздельно. Это позволяет обучать энкодер на больших наборах обучающих данных, не зависящих от бренда, и обучать декодер на подмножестве обучающих данных, относящихся к тому или иному бренду. Тогда для ввода в систему нового бренда достаточно выполнить дообучение энкодера на новом наборе обучающих данных этого бренда и обучение декодера на новой части обучающих данных. Такой подход позволяет повысить точность рекомендаций и в то же время ускорить добавление в продуктовый ряд новых брендов, ускоряя срок их вывода на рынок (time to market).In this case, one layer, responsible for the network's representation of the user's size characteristics, acts as an encoder, and another layer, responsible for converting the network's representation of the user's size characteristics into a size recommendation for a specific 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 trained separately. This allows you to train the encoder on large brand-independent training data sets, and train the decoder on a subset of brand-specific training data. Then, to introduce a new brand into the system, it is enough to additionally train the encoder on a new set of training data for this brand and train the decoder on a new part of the training data. This approach makes it possible to increase the accuracy of recommendations and at the same time speed up the addition of new brands to the product range, accelerating their time to market.

Для первичного обучения нейронной сети (т.е. для обучения энкодера) может использоваться база данных, содержащая набор данных, содержащий совокупность размерных признаков одного человека, совокупность размеров одного предмета одежды и данные о том, подошел или не подошел этот предмет одежды этому человеку. Множество таких наборов данных может покрывать все типы фигур и комплекций пользователей и размерные ряды множества брендов. Типы фигур и комплекций в наборах обучающих данных могут определяться с учетом национальных и/или региональных статистических данных о размерных признаках населения.For initial training of a neural network (i.e., for training an encoder), a database can be used containing a data set containing a set of dimensional characteristics of one person, a set of sizes of one item of clothing, and data on whether this item of clothing fit or did not fit this person. Many such data sets can cover all body types and body types of users and the size ranges of many brands. Body types and body types in training data sets can be determined taking into account national and/or regional population size statistics.

Последующее обучение нейронной сети может проводиться для одного или нескольких декодеров, каждый из которых включается лишь при подаче на энкодер набора обучающих данных, соответствующего этому декодеру (т.е. данных, относящихся к конкретному бренду). Таким образом, декодер проходит обучение на обучающих данных соответствующего бренда, а энкодер в конечном счете проходит обучение на полном наборе обучающих данных.Subsequent training of the neural network can be carried out for one or more decoders, each of which is turned on only when the encoder is fed a set of training data corresponding to this decoder (i.e. data related to a specific brand). Thus, the decoder is trained on the corresponding brand's training data, and the encoder is eventually trained on the full training data set.

Обучение на данных конкретного бренда может проводиться на размеченных наборах обучающих данных. Каждый набор данных может содержать совокупность размерных признаков одного человека, совокупность размеров одного предмета одежды конкретного бренда и данные о том подошел или не подошел этот предмет одежды этому человеку. В другом варианте каждый набор данных может содержать один размерный признак одного человека, один размер одного предмета одежды конкретного бренда и данные о том, подошел или не подошел этот предмет одежды этому человеку. Training on brand-specific data can be done on labeled training data sets. Each data set may contain a set of dimensional characteristics of one person, a set of sizes of one piece of clothing from a particular brand, and data on whether this piece of clothing fits or does not fit this person. In another embodiment, each data set may contain one size attribute for one person, one size for one item of clothing from a particular brand, and data about whether that item of clothing fits or does not fit that person.

В качестве альтернативы применению в нейронной сети слоев энкодера и декодера, алгоритм MLA может быть реализован в виде алгоритма градиентного бустинга дерева решений (GBRT, Gradient Boosted Decision Tree), основанного на деревьях решений, с использованием которых прогнозирующая модель формируется в виде леса деревьев решений. Лес строится поэтапно. Каждое последующее дерево решений такого леса фокусирует обучение на тех частях предыдущего дерева решений, которые привели к неоправдавшемуся прогнозу или к значительной ошибке. В целом, бустинг призван обеспечить повышение качества прогнозирования алгоритмом MLA. В этом случае система использует прогноз не одного обученного алгоритма (одного дерева решений), а множества обученных алгоритмов (леса деревьев решений) и принимает финальное решение на основе множества результатов прогнозирования этими алгоритмами. As an alternative to using encoder and decoder layers in a neural network, 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 as a forest of decision trees. The forest is being built in stages. Each subsequent decision tree of such a forest focuses learning on those parts of the previous decision tree that led to an unfulfilled prediction or a significant error. In general, boosting is intended to improve the quality of forecasting by the MLA algorithm. In this case, the system uses the forecast not of one trained algorithm (one decision tree), but of many trained algorithms (forest of decision trees) and makes the final decision based on the set of forecast results of these algorithms.

5.7. Рекомендация одежды на основе изображений, получаемых пользователем самостоятельно5.7. Recommending clothes based on user-supplied images

Для упрощения пользовательского опыта и для возможности развертывания системы рекомендации без использования стационарных сканеров может использоваться система подбора одежды на основе нескольких фотографий.To simplify the user experience and to be able to deploy a recommendation system without the use of stationary scanners, a clothing selection system based on several photographs can be used.

Такая система работает на основе нескольких фотографий пользователя, которые он может сделать самостоятельно, используя доступные ему устройства, как например смартфон или ноутбук с веб камерой. Дополнительно от пользователя требуется ввести несколько параметров, например, рост, вес и т.д.Such a system works on the basis of several photographs of the user, which he can take independently, using 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.

Система получает на вход несколько изображений пользователя с разных ракурсов, например, в профиль и анфас. Данные изображения поступают на вход в сверточную нейросеть, которая преобразует данные изображения пользователя в сегментированную карту, где каждый пиксель имеет значение либо 0, либо 1. При этом значение 0 имеют пикселы, не относящиеся к человеку, а значение 1 – относящиеся к нему. После этого данные изображения подаются на вход сверточной нейронной сети, которая преобразует их в вектор признаков. После чего данному вектору ищется соответствие в кластеризованном пространстве параметрических моделей. Далее для данного кластера ищется соответствующий ему размер из размерной сетки или размер одежды из заранее сопоставленных этому кластеру.The system receives as input several images of the user from different angles, for example, in profile and frontal. The image data is input to a convolutional neural network, which converts the user's image data into a segmented map, where each pixel has a value of either 0 or 1. In this case, pixels that are not related to the person have a value of 0, and pixels that are related to him have a value of 1. After this, the image data is fed to the input of a convolutional neural network, which converts it into a feature vector. After that, a correspondence is sought for this vector in the clustered space of parametric models. Next, for this cluster, the corresponding size from the size grid or clothing size from those previously mapped to this cluster is searched.

Получение сегментационной карты изображения производится при помощи UNet-подобной сверточной нейронной сети, содержащей энкодер и декодер. На вход сети подается одно цветное изображение пользователя, а на выходе ожидается сегментационная карта. Подробное описание сети UNet можно найти по адресу https://arxiv.org/abs/1505.04597.The image segmentation map is obtained using a UNet-like convolutional neural network containing an encoder and a decoder. One color image of the user is supplied to the network input, and a segmentation map is expected at the output. A detailed description of the UNet can be found at https://arxiv.org/abs/1505.04597.

Для тренировки такой сети используется набор изображений, в котором каждому изображению соответствует точная сегментационная карта.To train such a network, a set of images is used, in which each image corresponds to an accurate segmentation map.

В качестве функции потерь используется взвешенная суммаThe loss function uses a weighted sum

, ,

где: – коэффициент сходства Дайса, Where: – Dice similarity coefficient,

– бинарная кросс-энтропия, p – предсказанное значение, y – реальное значение, – скалярные коэффициенты, выбираемые методом перебора параметров. – binary cross-entropy, p – predicted value, y – real value, – scalar coefficients selected by enumerating parameters.

Допустим, что на вход нейросети поступают N изображений размером X×Y×3, где 3 – количество цветов в пикселе. В таком случае нейросеть выступает как оператор преобразования , где – пространство изображений, а пространство вектора признаков.Let us assume that the neural network receives N images of size X×Y×3, where 3 is the number of colors in a pixel. In this case, the neural network acts as a transformation operator , Where is the image space, and feature vector space.

Само получение вектора признаков производится нейросетью обычной архитектуры. Для этого берется обычный энкодер, состоящих из ряда сверточных слоев, к примеру, ResNet, Inception, или MobileNet. Выходные данные разглаживаются энкодером в вектор и подаются на полносвязный слой. Выходные данные этого полносвязного слоя представляют собой вектор признаков.The very acquisition of the feature vector is carried out by a neural network of conventional architecture. To do this, take a regular encoder consisting of a number of convolutional layers, for example, ResNet, Inception, or MobileNet. The output data is smoothed into a vector by the encoder and fed to the fully connected layer. The output of this fully connected layer is a feature vector.

Нейросеть с любыми не полностью нулевыми значениями весов будет выполнять извлечение вектора признаков. Тем не менее, лучшее соответствие кластерам достигается если нейросеть обучена на соответствующем наборе данных, содержащем изображения, подобные тем, что будут подаваться на вход.A neural network with any non-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 input.

Поэтому нейросеть тренируется на существующих сканах, дополненных случайным шумом в параметрах позы модели. При этом подготовка одного набора данных производится по следующему алгоритму.Therefore, the neural network is trained on existing scans, supplemented with random noise in the model’s pose parameters. In this case, the preparation of one data set is carried out according to the following algorithm.

1. Выбирается один скан человека и вписанная в него параметрическая модель.1. Select one scan of a person and the parametric model inscribed in it.

2. К параметрам фигуры данной параметрической модели добавляется случайный шум с заранее вычисленными параметрами. Эти параметры вычисляются таким образом, чтобы распределение было похоже на распределение реальных параметров позы из набора данных.2. Random noise with pre-calculated parameters is added to the figure parameters of this parametric model. These parameters are calculated so that the distribution is similar to the distribution of the real pose parameters from the dataset.

3. Выбирается случайная поза модели из всего набора данных и к ней так же добавляется случайный шум.3. A random pose of the model is selected from the entire data set and random noise is also added to it.

4. Модель ставится в центр координат.4. The model is placed at the center of coordinates.

5. Инициализируется камера с случайными параметрами cx, cy, fx, и fy.5. The camera is initialized with random parameters c x , c y , f x , and f y .

6. Камера позиционируется таким образом, чтобы модель смотрела строго на камеру.6. The camera is positioned so that the model is looking strictly at the camera.

7. К модели применяется случайное небольшое смещение.7. A random small offset is applied to the model.

8. К позиции камеры, к точке наблюдения и к вектору, смотрящему вправо в системе координат камеры, применяются малые случайные преобразования.8. Small random transformations are applied to the camera position, to the observation point and to the vector looking to the right in the camera coordinate system.

9. Производится рендеринг данной модели.9. This model is rendered.

10. Камера поворачивается на случайный угол от –100° до –80° или от 80° до 100° вокруг модели и повторяются действия по пунктам 7, 8, и 9.10. The camera is rotated at a random angle from –100° to –80° or from 80° to 100° around the model and steps 7, 8, and 9 are repeated.

При этом модель рендерится в бинарную маску, где каждый пиксель имеет значение либо 0, либо 1, где 0 означает, что пиксель принадлежит фону, а 1 – означает, что пиксель принадлежит модели. Эти изображения в дальнейшем подаются на вход нейросети.This renders the model 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. These images are subsequently fed to the input of the neural network.

После тренировки нейросети производится тренировка алгоритма, ставящего кластер в соответствие вектору признаков.After training the neural network, an algorithm is trained that matches the cluster to the feature vector.

Поскольку для каждого кластера в соответствие ставится параметрическая модель, то тренировка сопоставляющего алгоритма производится на наборе данных, полученных следующим образом.Since a parametric model is matched for each cluster, the matching algorithm is trained on a data set obtained as follows.

1. На вход нейросети подается модель.1. A model is supplied to the input of the neural network.

2. По параметрам этой модели производится поиск номера кластера.2. Using the parameters of this model, the cluster number is searched.

3. Параметры найденного кластера составляют пару с вектором признаков.3. The parameters of the found cluster are paired with the feature vector.

С использованием полученного набора данных становится возможной валидация алгоритмов сопоставления векторов признаков и кластеров.Using the obtained data set, it becomes possible to validate algorithms for matching feature vectors and clusters.

5.8. Поиск подходящих предметов одежды5.8. Finding suitable clothing items

Поиск предметов одежды, пошитых с применением отобранных производственных моделей, выполняется любым подходящим способом. Реализация любого такого способа вполне очевидна для специалиста, поэтому его описание опущено для краткости. Достаточно сказать, что для этого необходимо, чтобы для каждого предмета одежды была доступной информация о производственной модели, использованной при его проектировании и/или раскрое.The search for garments made using selected production patterns is carried out in any suitable way. The implementation of any such method is quite obvious to a specialist, so its description is omitted for brevity. Suffice it to say that this requires that for each garment, information about the production model used in its design and/or cutting is available.

Порядок выдачи этих предметов одежды может зависеть от величины функции расхождения F (формула 34) или может определяться пользователем на основе личных предпочтений. Интерфейс системы дистанционного выбора одежды может предусматривать оперативное переключение принципа формирования порядка выдачи предметов одежды. Такое переключение может выполняться пользователем вручную (например, если порядок, установленный по умолчанию, не обеспечивает достаточно релевантную выдачу) или автоматически (например, на основе анализа статистики действий пользователя).The order in which these garments are issued may depend on the magnitude of the divergence function F (Equation 34) or may be determined by the user based on personal preference. The interface of the system for remote selection of clothing may provide for prompt switching of the principle of forming the order of issuing clothing items. This switching can be done manually by the user (for example, if the default order does not provide sufficiently relevant results) or automatically (for example, based on analysis of user activity statistics).

Также поиск подходящих предметов одежды может осуществляться с помощью типирования фигуры, описанного в разделе 4.2 выше, что позволяет подбирать предметы одежды не просто в соответствии с параметрами тела (чтобы, например, одежда не жала и не давила, или, наоборот, не висела мешкообразно), но и в соответствии с типажом тела (чтобы одежда стилистически украшала фигуру), рекомендуя, например, женщинам с фигурой, классифицируемой как «груша», платья типа empire line и предметы одежды, визуально увеличивающие плечи (с помощью наплечников, пышных рукавов, болеро и пр.) и т.п. (см., например, типовые стилистические рекомендации одежды для 7 типов фигур на страницах https://www.joyofclothes.com/style-advice/shape-guides/body-shapes-overview.php или в аналогичных справочниках стилистов).Also, the search for suitable items of clothing can be carried out using body typing, described in section 4.2 above, which allows you to select items of clothing not just in accordance with body parameters (so that, for example, clothes do not sting or press, or, conversely, do not hang baggy) , but also in accordance with the body type (so that the clothes stylistically decorate the figure), recommending, for example, for women with a figure classified as “pear”, empire line dresses and items of clothing that visually enlarge the shoulders (with the help of shoulder pads, puffed sleeves, bolero etc.) etc. (see, for example, typical stylistic clothing recommendations for 7 body types on the pages https://www.joyofclothes.com/style-advice/shape-guides/body-shapes-overview.php or in similar stylist references).

5.9. Визуализация найденных предметов одежды5.9. Visualization of found clothing items

Визуализация предметов одежды, для которых известна использованная производственная модель, также представляет собой тривиальную задачу для специалиста, поэтому описание ее практической реализации опущено для краткости. Достаточно упомянуть, что предмет одежды может визуализироваться как таковой (т.е. без изображения манекена или изображения человека) или он может визуализироваться на манекене или на человеке. Visualization of garments for which the used production model is known is also a trivial task for the specialist, so the description of its practical implementation is omitted for the sake of brevity. Suffice it to say that the item of clothing may be rendered as such (ie, without the image of a mannequin or the image of a person) or it may be rendered on a mannequin or on a person.

В частности, один из вариантов осуществления изобретения может предусматривать визуализацию предмета одежды на 3D-модели самого пользователя, причем рендеринг изображения может включать в себя воспроизведение реалистичного изображения головы пользователя для усиления эмоционального эффекта. При этом 3D-модель головы, включая лицо и прическу пользователя, может не являться частью модели тела пользователя в том смысле, в котором это описано в описании алгоритма, и может предназначаться исключительно для декоративных целей.In particular, one embodiment of the invention may involve rendering an item of clothing on a 3D model of the wearer, where the rendering of the image may include rendering a realistic image of the wearer's head to enhance the emotional effect. However, the 3D head model, including the user’s face and hairstyle, may not be part of the user’s body model in the sense described in the algorithm description, and may be intended solely for decorative purposes.

Интерфейс системы дистанционного выбора одежды может предусматривать оперативное переключение принципа визуализации одежды. Как и в отношении порядка выдачи результатов поиска предметов одежды, такое переключение может выполняться пользователем вручную (например, если пользователь желает рассмотреть внутренность (подкладку) одежды, он может отключить визуализацию манекена или человека) или автоматически (например, на основе анализа статистики действий пользователя).The interface of the remote clothing selection system may provide for prompt switching of the clothing visualization principle. As with the order in which search results for clothing items are displayed, this switching can be done manually by the user (for example, if the user wants to view the inside (lining) of a garment, he can turn off the visualization of a mannequin or a person) or automatically (for example, based on analysis of user activity statistics) .

Интерфейс системы дистанционного выбора одежды может предусматривать управление пользователем визуализацией с помощью органов управления путем изменения ракурса, приближения или удаления изображения и т.п., чтобы позволить пользователю должным образом рассмотреть одежду.The interface of the remote clothing selection system may allow the user to control the visualization using controls by changing the angle, zooming in or out of the image, etc. to allow the user to properly view the clothing.

Как упомянуто ранее, визуализация одежды возможна на разном ситуационном фоне (который может быть выбран из библиотеки или может быть загружен самим пользователем), при освещении с разных точек (в частности, с выбором количества и/или положения виртуальных светильников), с разной интенсивностью, с разной диффузностью (например, свет может быть направленный или рассеянный) и/или с разным спектром (например, свет может быть искусственным, дневным, вечерним, имитировать восходящее или закатное солнце) и т.д. Интерфейс системы дистанционного выбора одежды может предусматривать управление пользователем всеми этими возможностями. Реализация этих возможностей также не вызовет у специалистов заметных трудностей, поэтому подробности соответствующих технических решений опущены для краткости.As mentioned earlier, visualization of clothing is possible on different situational backgrounds (which can be selected from the library or can be loaded by the user), when illuminated from different points (in particular, with the choice of the number and/or position of virtual lamps), with different intensities, with different diffuseness (for example, the light can be directional or diffuse) and/or with a different spectrum (for example, the light can be artificial, daytime, evening, imitate the rising or setting sun), etc. The interface of the remote clothing selection system may allow the user to control all of these features. The implementation of these capabilities will also not cause significant difficulties for specialists, therefore the details of the corresponding technical solutions are omitted for brevity.

6. Совершение выбора и покупки выбранных предметов одежды6. Making the selection and purchase of selected clothing items

После оценки предложенных вариантов одежды пользователь может сделать выбор и совершить покупку традиционным способом. Принципы работы интернет-магазинов хорошо известны в данной области техники, поэтому подробности соответствующих технических решений также опущены для краткости.After evaluating the proposed clothing options, the user can make a choice and make a purchase in the traditional way. The principles of operation of online stores are well known in the art, so details of the corresponding technical solutions are also omitted for the sake of brevity.

Следует отметить, что описанная выше технология может применяться не только при дистанционной продаже предметов одежды (например, в интернет-магазине), но и при дистанционном прокате одежды (например, официальной или нарядной одежды для торжеств и т.п.). Более того, описанная выше технология с небольшими изменениями может применяться для дистанционного выбора других товаров, отличных от одежды (например, товаров медицинского назначения – корсетов, бандажей и т.п., требующих соответствия фигуре пациента).It should be noted that 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 the remote rental of clothing (for example, formal or elegant clothes for celebrations, etc.). Moreover, the technology described above, with minor modifications, can be used for remote selection of other products other than clothing (for example, medical products - corsets, bandages, etc., which require matching the patient’s figure).

Также стоит отметить, что пользователь может совершить покупку или аренду не только дистанционным образом (онлайн, через интернет), но и в оффлайновом магазине или салоне. В данном случае также возможна помощь ассистента, приносящего вещи пользователю после выбора этих вещей пользователем в интерфейсе приложения. Ассистент при этом может как передавать вещи в руки пользователю, так и использовать специальные ячейки (ящики, корзины и пр.), благодаря чему ассистент не видит пользователя (что может быть удобно, например, в том случае, если пользователь находится в примерочной и в настоящий момент раздет). Также ассистент может быть как человеком, так и роботизированной системой.It is also worth noting that the user can make a purchase or rental not only remotely (online, via the Internet), but also in an offline store or salon. In this case, it is also possible to help an assistant bring things to the user after the user selects these things in the application interface. In this case, 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 currently undressed). Also, the assistant can be either a person or a robotic system.

7. Система для дистанционного выбора одежды7. System for remote selection of clothing

Далее описана система, реализующая описанный выше алгоритм дистанционного выбора одежды.The following describes a system that implements the above-described algorithm for remote selection of clothing.

Система для осуществления дистанционного выбора одежды содержит вычислительные устройства, выполняющие действия описанного выше алгоритма дистанционного выбора одежды. Кроме того, эта система может содержать упомянутое выше в описании оборудование для оптического сканирования тела пользователя, используемое на начальном этапе работы алгоритма.The system for performing remote clothing selection contains computing devices that perform the actions of the above-described algorithm for remote clothing selection. In addition, this system may contain the equipment mentioned above for optical scanning of the user's body, used at the initial stage of the algorithm.

В частности, в среде бизнес-потребитель (B2C, Business-to-Customer) система содержит оборудование потенциального пользователя, далее именуемое устройством пользователя, и оборудование поставщика услуг, связанных с дистанционным выбором одежды. In particular, in a business-to-consumer (B2C, Business-to-Customer) environment, the system contains the equipment of the potential user, hereinafter referred to as the user's device, and the equipment of the service provider associated with the remote selection of clothing.

Устройство пользователя может представлять собой любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения соответствующей задачи. Некоторые (не имеющие ограничительного характера) примеры устройств пользователя включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование (маршрутизаторы, коммутаторы, шлюзы и т.п.). The user device can be any computer hardware capable of executing programs suitable for solving a given 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.).

Оборудование поставщика услуг также может представлять собой любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения соответствующей задачи. Некоторые (не имеющие ограничительного характера) примеры включают в себя отдельные компьютеры и компьютерные системы. Компьютерные системы могут быть сосредоточенными или распределенными.Service provider equipment may 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 concentrated or distributed.

В среде бизнес-бизнес (B2B, Business-to-Business) система может содержать дополнительное звено, условно именуемое оборудованием ретейлера, функционально связанное с устройством пользователя и с оборудованием поставщика услуг. В этом случае алгоритм дистанционного выбора одежды большей частью может выполняться оборудованием ретейлера и оборудованием поставщика услуг, а устройство пользователя может использоваться преимущественно в терминальном режиме, например, для визуализации и/или для приема команд управления через интерфейс пользователя.In a business-to-business environment (B2B, Business-to-Business), the system may contain an additional link, conventionally called retailer equipment, functionally connected to the user’s device and the service provider’s equipment. In this case, the remote clothing selection algorithm may largely be performed by the retailer's equipment and the service provider's equipment, and the user's device may be used primarily in terminal mode, for example, for visualization and/or for receiving control commands through the user interface.

В некоторых вариантах осуществления изобретения система может иметь клиент-серверную архитектуру, при этом устройство пользователя может быть клиентским устройством, а оборудование поставщика услуг может включать в себя серверное устройство. Здесь термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от клиентских устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Термин «клиент» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную формировать запросы к серверу, получать ответ от сервера и обрабатывать его.In some embodiments of the invention, the system may have a client-server architecture, wherein the user device may be a client device and the service provider equipment may include a server device. As used herein, the term "server" means a computer program executed by associated hardware and capable of receiving requests (eg, from client devices) over a network and executing or initiating execution of those requests. The term "client" means a computer program executed by appropriate hardware and capable of generating requests to the server, receiving a response from the server and processing it.

Следует отметить, что устройство, функционирующее как клиентское устройство, также может функционировать как серверное устройство для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса, либо результатов любых задач или запросов, либо шагов любого описанного здесь способа.It should be noted that a device that functions as a client device can also function as a server device for other client devices. The use of the expression “client device” does not exclude the use of multiple client devices to receive, send, perform, or initiate execution of any task or request, or the results of any tasks or requests, or steps of any method described herein.

В других вариантах осуществления изобретения система может иметь одноранговую архитектуру, например, основанную на пиринговой сети. Система также может иметь любую гибридную архитектуру.In other embodiments of the invention, the system may have a peer-to-peer architecture, for example, based on a peer-to-peer network. The system can also have any hybrid architecture.

На фиг. 34 представлен иллюстративный пример системы (20) для осуществления дистанционного выбора одежды в среде B2C, содержащей устройство (21) пользователя, выполняющее программу (22), и оборудование (23) поставщика услуг, выполняющее программу (24). Устройство (21) пользователя соединено с оборудованием (23) поставщика услуг через сетевое соединение (25). В некоторых вариантах осуществления изобретения сетевое соединение (25) может быть реализовано с использованием сети Интернет. В других вариантах осуществления изобретения сетевое соединение (25) может быть реализовано с использованием любой глобальной сети связи, локальной сети связи, частной сети связи и т.п. Реализация сетевого соединения (25) зависит, среди прочего, от реализации устройства (21) пользователя и оборудования (23) поставщика услуг. Система (20) функционально связана с системой (30) поставщика одежды. В некоторых вариантах осуществления изобретения системы (20) и (30) могут быть объединены в одну систему. В других вариантах осуществления изобретения система (20) может быть функционально связана с несколькими системами (30) различных поставщиков одежды.In fig. 34 shows an illustrative example of a system (20) for performing remote clothing selection in a B2C environment, comprising a user device (21) executing a program (22) and a service provider equipment (23) executing the program (24). The user device (21) is connected to the service provider equipment (23) via a network connection (25). In some embodiments of the invention, the network connection (25) may be implemented using the Internet. In other embodiments of the invention, the network connection (25) may be implemented using any wide area communications network, local communications network, private communications network, or the like. The implementation of the network connection (25) depends, among other things, on the implementation of the user device (21) and the service provider equipment (23). The system (20) is functionally connected to the clothing supplier's system (30). In some embodiments of the invention, systems (20) and (30) can be combined into one system. In other embodiments, the system (20) may be operably linked to multiple systems (30) from different clothing suppliers.

На фиг. 35 представлен другой иллюстративный пример системы (20) для осуществления дистанционного выбора одежды в среде B2B, в котором в состав системы (20) входит оборудование (26) ретейлера, выполняющее программу (28), связанное с оборудованием (23) поставщика услуг через сетевое соединение (25), а с устройством (21) пользователя – через локальное сетевое соединение (27).In fig. 35 shows another illustrative example of a system (20) for performing remote clothing selection in a B2B environment, in which the system (20) includes retailer equipment (26) executing a program (28) linked to service provider equipment (23) via a network connection. (25), and with the user’s device (21) through a local network connection (27).

В качестве примера, в тех вариантах осуществления изобретения, где устройство (21) пользователя реализовано как беспроводное устройство связи (например, как смартфон), сетевое соединение (25) может быть реализовано с использованием беспроводной линии связи (например, канала сети связи 3G, канала сети связи 4G, WiFi, Bluetooth и т.п.). В других вариантах осуществления изобретения, где устройство (21) пользователя реализовано как удаленный компьютер, сетевое соединение (25) может быть реализовано с использованием беспроводной линии связи (такой как WiFi, Bluetooth и т.д.), проводной линии связи или оптической линии связи (такой как соединение по сети Ethernet). Подобным образом может быть реализовано и сетевое соединение (27).As an example, in those embodiments of the invention where the user device (21) is implemented as a wireless communication device (eg, a smartphone), the network connection (25) may be implemented using a wireless communication link (eg, a 3G network link, a communication networks 4G, WiFi, Bluetooth, etc.). In other embodiments of the invention, where the user device (21) is implemented as a remote computer, the network connection (25) may be implemented using a wireless communication link (such as WiFi, Bluetooth, etc.), a wired communication link, or an optical communication link (such as an Ethernet connection). Network connection (27) can be implemented in a similar way.

На фиг. 34 и фиг. 35 для упрощения показано лишь одно устройство (21) пользователя, одна единица оборудования (23) поставщика услуг и одна система (30) поставщика одежды. На практике система (20) может содержать множество устройств (21) пользователя (например, сотни, тысячи или миллионы таких устройств), множество оборудования (23) поставщика услуг (например, десятки или сотни региональных площадок поставщика услуг) и может быть связана со множеством систем (30) поставщиков одежды (например, с десятками или сотнями поставщиков одежды). При этом программная реализация алгоритма дистанционного выбора одежды распределена между программами (22), (24) и (28). На фиг. 34 и фиг. 35 для упрощения не показано оборудование для оптического сканирования тела пользователя.In fig. 34 and fig. 35, for the sake of simplicity, only one user device (21), one service provider piece of equipment (23), and one clothing provider system (30) are shown. In practice, the system (20) may contain multiple user devices (21) (e.g., hundreds, thousands, or millions of such devices), multiple service provider equipment (23) (e.g., tens or hundreds of regional service provider sites), and may be associated with multiple systems (30) of clothing suppliers (for example, with tens or hundreds of clothing suppliers). In this case, the software implementation of the remote clothing selection algorithm is distributed between programs (22), (24) and (28). In fig. 34 and fig. 35, for simplicity, equipment for optical scanning of the user's body is not shown.

Следует отметить, что в приведенном выше описании отражены лишь те действия, которые наиболее существенны для достижения цели изобретения. Специалисту должно быть понятно, что для функционирования системы (20) следует выполнить и другие необходимые действия, например, подключение оборудования, его инициализацию, запуск соответствующего программного обеспечения, передачу и прием команд и подтверждений, обмен служебными данными, синхронизацию и т.п., описание которых опущено для краткости.It should be noted that the above description reflects only those actions that are most essential to achieve the purpose of the invention. It should be clear to a specialist that for the operation of the system (20), other necessary actions must be performed, for example, connecting the equipment, its initialization, launching the corresponding software, sending and receiving commands and confirmations, exchanging service data, synchronization, etc., the description of which is omitted for brevity.

Устройства и их части, упомянутые в описании, чертежах и формуле изобретения, представляют собой программно-аппаратные средства, при этом аппаратные части одних устройств могут отличаться, частично совпадать или полностью совпадать с аппаратными частями других устройств, если иное не указано в явном виде. Аппаратные части устройств могут располагаться в различных частях других устройств, если иное не указано в явном виде. Программные части (модули) могут быть реализованы в виде программного кода, содержащегося в запоминающем устройстве любого вида.The devices and their parts mentioned in the description, drawings and claims are software and hardware, and the hardware parts of some devices may be different, partially the same or completely the same as the hardware parts of other devices, unless otherwise expressly indicated. Hardware parts of devices may be located in different parts of other devices, unless otherwise explicitly stated. Program parts (modules) can be implemented in the form of program code contained in a storage device of any type.

Последовательность действий в описании способа носит иллюстративный характер и в различных вариантах реализации изобретения эта последовательность может отличаться от описанной при условии сохранения выполняемой функции и достигаемого результата.The sequence of actions in the description of the method is illustrative in nature and in various embodiments of the invention this sequence may differ from that described, provided that the function performed and the result achieved are preserved.

Признаки данного изобретения могут сочетаться в различных вариантах реализации изобретения, если они не противоречат друг другу. Описанные выше варианты реализации изобретения приведены исключительно с иллюстративной целью и не предназначены для ограничения объема настоящего изобретения, определяемого формулой изобретения. Все разумные модификации, модернизации и эквивалентные замены в составе, конструкции и принципе действия настоящего изобретения, выполненные в пределах его сущности, входят в объем данного изобретения.The features of this invention can be combined in various embodiments of the invention if they do not contradict each other. The embodiments described above are for illustrative purposes only and are not intended to limit the scope of the present invention as defined by the claims. All reasonable modifications, upgrades and equivalent substitutions in the composition, construction and operation of the present invention, made within the scope of the present invention, are within the scope of the present invention.

Ниже приведены информационные источники, все содержимое которых включено в данную заявку посредством ссылки.The following are information sources, all contents of which are incorporated by reference into this application.

ИсточникиSources

A1. 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.A1. 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 Koller, 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.A2. Dragomir Anguelov, Praveen Srinivasan, Daphne Koller, 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 2010A3. 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.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.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-1_34.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-1_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.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.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.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, Jirí Zára, 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.A10. Ladislav Kavan, Steven Collins, Jirí Zára, 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.

A11. 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.A11. 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.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 '00. Proceedings of the 27th annual conference on Computer graphics and interactive techniques, pp. 165–172, DOI: 10.1145/344779.344862.A13. JP Lewis, Matt Cordner, Nickson Fong. Pose space deformation: a unified approach to shape interpolation and skeleton-driven deformation. SIGGRAPH '00. 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.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.A15. Akihiko Murai, Yui Endo, Mitsunori Tada. Anatomical 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 Schiele Building statistical shape spaces for 3D human modeling. Pattern Recognition, Volume 67, July 2017, Pp. 276–286, DOI: 10.1016/j.patcog.2017.02.018.A16. Leonid Pishchulin, Stefanie Wuhrer, Thomas Helten, Christian Theobalt, Bernt Schiele Building statistical shape spaces for 3D human modeling. Pattern Recognition, Volume 67, July 2017, Pp. 276–286, DOI: 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, DOI: 10.1109/3DV.2017.00062.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, DOI: 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.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, DOI: 10.2312/SCA03/120-125.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, DOI: 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, DOI: 10.1504/IJHFMS.2012.051093.A20. Chang Shu, Stefanie Wuhrer, Pengcheng Xi. 3D anthropometric data processing. Int. J. Human Factors Modeling and Simulation, Vol. 3, No. 2, 2012, DOI: 10.1504/IJHFMS.2012.051093.

A21. Miroslava Slavcheva, Maximilian Baust, Slobodan Ilic. 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, DOI:10.1109/CVPR.2018.00280.A21. Miroslava Slavcheva, Maximilian Baust, Slobodan Ilic. 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, DOI:10.1109/CVPR.2018.00280.

A22. Qiaosong Wang, Vignesh Jagadeesh, Bryan Ressler, Robinson Piramuthu. Im2Fit: Fast 3D model fitting and anthropometrics 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, DOI: 10.2352/ISSN.2470-1173.2016.21.3DIPM-045.A22. Qiaosong Wang, Vignesh Jagadeesh, Bryan Ressler, Robinson Piramuthu. Im2Fit: Fast 3D model fitting and anthropometrics 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, DOI: 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, DOI: 10.1111/j.1467-8659.2007.01048.x.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, DOI: 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, DOI: 10.1109/3DV.2014.47.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, DOI: 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, DOI: 10.1109/ICCV.2011.6126310.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, DOI: 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.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.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.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.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.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.

B1. 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.B1. 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.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.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, №. 4, С. 3.B4. Konushin A. Geometric properties of several images // Computer graphics and multimedia, 2006, no. 4, p. 3.

B5. Гузов В. В. Вычисление параметров позы и формы трехмерной модели человека по данным сенсора глубины // Сборник тезисов XXVI Международной научной конференции студентов, аспирантов и молодых ученых "Ломоносов-2019": секция "Вычислительная математика и кибернетика". – М.: Издательский отдел факультета ВМК МГУ, 2019, С. 45–47.B5. Guzov V.V. Calculation of the parameters of the pose and shape of a three-dimensional human model using depth sensor data // Collection of abstracts of the XXVI International Scientific Conference of Students, Postgraduate Students and Young Scientists "Lomonosov-2019": section "Computational Mathematics and Cybernetics". – M.: Publishing department of the Faculty of Computational Mathematics and Mathematics of Moscow State University, 2019, pp. 45–47.

B6. 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.B6. 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.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.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/IM.1999.805368.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/IM.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.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.

B11. 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.B11. Jose Luis Blanco Claraco. A tutorial on SE(3) transformation parameterizations and on-manifold optimization. University of Malaga, Technical report #012010, 2010, Last update: 03/18/2019.

B12. Ake Bjorck. Numerical methods for least squares problems. Linkoping University, Linkoping, Sweden, 1996, DOI: 10.1137/1.9781611971484.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.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.

B14. 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.2818013B14. 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

B15. Leonid Pishchulin, Stefanie Wuhrer, Thomas Helten, Christian Theobalt, Bernt 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.018B15. Leonid Pishchulin, Stefanie Wuhrer, Thomas Helten, Christian Theobalt, Bernt 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

B16. 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.B16. 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.

B17. Dragomir Anguelov, Praveen Srinivasan, Daphne Koller, 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.B17. Dragomir Anguelov, Praveen Srinivasan, Daphne Koller, 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.

B18. 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.B18. 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.

B19. Arjun 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.B19. Arjun 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.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.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.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. 31 st 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.B23. ISO 8559-1:2017 Size design 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.B24. ISO 8559-2:2017 Size design 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.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.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.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 Типовые фигуры женщин. Размерные признаки для проектирования одежды.B28. GOST 17522-72 Typical figures of women. Dimensional characteristics for clothing design.

B29. ГОСТ 31396-2009 Классификация типовых фигур женщин по ростам, размерам и полнотным группам для проектирования одежды.B29. GOST 31396-2009 Classification of typical female figures by height, size and weight groups for clothing design.

B30. ОСТ 17-326-81 Изделия швейные, трикотажные, меховые. Типовые фигуры женщин. Размерные признаки для проектирования одежды.B30. OST 17-326-81 Sewing, knitted, fur products. Typical figures of women. Dimensional characteristics for clothing design.

B31. Daisy Veitch. Where is the human waist? Definitions, manual compared to scanner measurements. Work 41 (2012), pp. 4018–4024, DOI: 10.3233/WOR-2012-0065-4018.B31. Daisy Veitch. Where is the human waist? Definitions, manual compared to scanner measurements. Work 41 (2012), pp. 4018–4024, DOI: 10.3233/WOR-2012-0065-4018.

B32. Гузов Владимир Владимирович. Построение трехмерной модели человека по видео с сенсора глубины. Магистерская диссертация. Факультет вычислительной математики и кибернетики Федерального государственного бюджетного образовательного учреждения высшего образования «Московский государственный университет имени М. В. Ломоносова», кафедра Интеллектуальных информационных технологий, защита 01.06.2019.B32. Guzov Vladimir Vladimirovich. Constructing a three-dimensional model of a person from video from a depth sensor. Master's dissertation. Faculty of Computational Mathematics and Cybernetics of the Federal State Budgetary Educational Institution of Higher Education "Moscow State University named after M.V. Lomonosov", Department of Intelligent Information Technologies, defense 06/01/2019.

B33. Петров Илья Алексеевич. Нейросетевой алгоритм восстановления параметров 3D модели фигуры и позы человека по изображениям. Магистерская диссертация. Факультет вычислительной математики и кибернетики Федерального государственного бюджетного образовательного учреждения высшего образования «Московский государственный университет имени М. В. Ломоносова», кафедра Интеллектуальных информационных технологий, защита 01.06.2019.B33. Petrov Ilya Alekseevich. Neural network algorithm for restoring the parameters of a 3D model of a human figure and pose from images. Master's dissertation. Faculty of Computational Mathematics and Cybernetics of the Federal State Budgetary Educational Institution of Higher Education "Moscow State University named after M.V. Lomonosov", Department of Intelligent Information Technologies, defense 06/01/2019.

B34. Патакин Николай. Разработка параметрической 3D модели тела человека. Федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет «Высшая школа экономики», Факультет компьютерных наук, защита 06.06.2019.B34. Patakin Nikolay. Development of a parametric 3D model of the human body. Federal State Autonomous Educational Institution of Higher Education “National Research University “Higher School of Economics”, Faculty of Computer Science, defense 06/06/2019.

B35. Balan A. O. et al. Detailed human shape and pose from images. // 2007 IEEE Conference on Computer Vision and Pattern Recognition. – IEEE, 2007, pp. 1–8.B35. Balan A. O. et al. Detailed human shape and pose from images. // 2007 IEEE Conference on Computer Vision and Pattern Recognition. – IEEE, 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.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 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.B37. Kanazawa A. et al. End-to-end recovery of human shape and pose // The IEEE 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.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.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 IEEE Conference on Computer Vision and Pattern Recognition, 2018, pp. 459–468.B40. Pavlakos G. et al. Learning to estimate 3D human pose and shape from a single color image //Proceedings of the IEEE 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. B41. Tan V., Budvytis I., Cipolla R. Indirect deep structured learning for 3d human body shape and pose prediction, 2018.

C1. Xuaner Cecilia Zhang, Lam Yuk Wong. Virtual fitting: real-time garment simulation for online shopping. ACM SIGGRAPH 2014 Posters, July 2014, Article No. 41, DOI: 10.1145/2614217.2633388.C1. Xuaner Cecilia Zhang, Lam Yuk Wong. Virtual fitting: real-time garment simulation for online shopping. ACM SIGGRAPH 2014 Posters, July 2014, Article No. 41, DOI: 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.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.C3. Igor Santesteban, Miguel A. Otaduy, Dan Casas. Learning-based animation of clothing for virtual try-on. Eurographics 2019 (submitted on March 17, 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.v12i4.788.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.v12i4.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.C5. Suthar Dhruvi J. A review on virtual try and suggest system. Journal of the Gujarat Research 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.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.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.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.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.

C10. 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.C10. J. Q. Yan, V. E. Kuzmichev. Virtual technology of made-to-measure men's shirt. IOP Conference Series: Materials Science and Engineering, Volume 460, conference 1, DOI: 10.1088/1757-899X/460/1/012014.

C11. 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.C11. 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.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.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.

C14. 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.C14. 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.

C15. 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).C15. 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).

C16. 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.C16. 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. Шанцева О.А., Петросова И.А., Андреева Е.Г., Иванова А.А. Исследование существующих систем виртуальной примерки одежды. Современные проблемы науки и образования, № 2–3, 2015, стр. 10.C17. Shantseva O.A., Petrosova I.A., Andreeva E.G., Ivanova A.A. A study of existing virtual clothing fitting systems. Modern problems of science and education, No. 2–3, 2015, p. 10.

Claims (95)

1. Способ определения размерных признаков человека, включающий в себя:1. A method for determining the dimensional characteristics of a person, including: - построение геометрической модели тела человека на основе данных трехмерного оптического сканирования поверхности тела человека в канонической позе;- construction of a geometric model of the human body based on three-dimensional optical scanning data of the surface of the human body in a canonical pose; - построение параметрической модели тела человека на основе построенной геометрической модели;- construction of a parametric model of the human body based on the constructed geometric model; - определение размерных признаков человека на основе построенной параметрической модели тела человека, при этом:- determination of dimensional characteristics of a person based on the constructed parametric model of the human body, while: - построение параметрической модели включает в себя:- construction of a parametric model includes: - вычисление начального приближения параметров позы;- calculation of the initial approximation of the pose parameters; - уточнение параметров позы и/или уточнение параметров позы и формы, где уточнение параметров позы включает в себя минимизацию функции ошибки по параметрам позы, равной сумме квадратов углов между парами отрезков, связывающих характерные точки скелета человека в геометрической модели и в параметрической модели, и/или равной сумме квадратов расстояний между парами точек из множества характерных точек в геометрической модели и в параметрической модели;- refinement of pose parameters and/or refinement of pose and shape parameters, where refinement of pose parameters includes minimizing the error function for pose parameters equal to the sum of squared angles between pairs of segments connecting characteristic points of the human skeleton in the geometric model and in the parametric model, and/ or equal to the sum of squared distances between pairs of points from a set of characteristic points in the geometric model and in the parametric model; - построение графа морфирующего поля, обеспечивающего преобразование геометрической модели из исходной позы и/или формы в произвольную позу и/или форму при изменении параметров позы и/или формы;- construction of a morphing field graph that ensures the transformation of a geometric model from an initial pose and/or shape into an arbitrary pose and/or shape when changing the parameters of the pose and/or shape; - граф морфирующего поля имеет вершины, содержащие координаты в трехмерном пространстве, параметры Евклидова преобразования и весовой коэффициент, а также имеет ребра между вершинами, обеспечивающие связность морфирующего поля;- the graph of the morphing field has vertices containing coordinates in three-dimensional space, parameters of the Euclidean transformation and a weighting coefficient, and also has edges between the vertices that ensure the connectivity of the morphing field; - Евклидово преобразование произвольной точки x включает в себя построение матрицы ортогонального преобразования R и вектора переноса t, при этом результатом преобразования точки x является точка Rx + t.- The Euclidean transformation of an arbitrary point x includes the construction of an orthogonal transformation matrix R and a translation vector t, and the result of the transformation of point x is the point Rx + t. 2. Способ по п. 1, в котором построение геометрической модели включает в себя получение карты глубины.2. The method according to claim 1, in which the construction of the geometric model includes obtaining a depth map. 3. Способ по п. 2, в котором построение геометрической модели включает в себя преобразование карты глубины в облако точек.3. The method according to claim 2, in which the construction of the geometric model includes converting the depth map into a point cloud. 4. Способ по п. 3, в котором преобразование карты глубины в облако точек включает в себя применение билатерального фильтра.4. The method of claim 3, wherein converting the depth map to a point cloud includes applying a bilateral filter. 5. Способ по п. 4, в котором построение геометрической модели выполняется для канонической позы человека.5. The method according to claim 4, in which the construction of a geometric model is performed for the canonical human pose. 6. Способ по п. 1, в котором при вычислении начального приближения параметров позы используется информация о положении характерных точек скелета в параметрической модели.6. The method according to claim 1, in which when calculating the initial approximation of the pose parameters, information about the position of the characteristic points of the skeleton in the parametric model is used. 7. Способ по п. 1, в котором сначала используется функция ошибки по параметрам позы, равная сумме квадратов углов между парами отрезков, связывающих характерные точки скелета человека в геометрической модели и в параметрической модели, а затем используется функция ошибки по параметрам позы, равная сумме квадратов расстояний между парами точек из множества характерных точек в геометрической модели и в параметрической модели.7. The method according to claim 1, in which first the error function for the pose parameters is used, equal to the sum of the squares of the angles between pairs of segments connecting the characteristic points of the human skeleton in the geometric model and in the parametric model, and then the error function for the pose parameters is used, equal to the sum squared distances between pairs of points from a set of characteristic points in the geometric model and in the parametric model. 8. Способ по п. 1, в котором уточнение параметров позы и формы включает в себя минимизацию функции ошибки по параметрам позы и формы.8. The method according to claim 1, in which the refinement of the pose and shape parameters includes minimizing the error function over the pose and shape parameters. 9. Способ по п. 8, в котором используется следующая функция ошибки по параметрам позы и формы: 9. The method according to claim 8, in which the following error function for the parameters of pose and shape is used: , , где P - множество видимых точек x геометрической модели, θ - параметры позы, β - параметры формы, U - множество видимых вершин v параметрической модели с параметрами позы и формы (θ, β), p - функция Хьюбера с параметром δ, равным 1.where P is the set of visible points x of the geometric model, θ is the pose parameters, β is the shape parameters, U is the set of visible vertices v of the parametric model with pose and shape parameters (θ, β), p is the Huber function with parameter δ equal to 1. 10. Способ по п. 1, в котором формирование вершин графа включает в себя:10. The method according to claim 1, in which the formation of graph vertices includes: - выбор значения δ радиуса соседства;- selection of the value δ of the neighborhood radius; - разбиение пространства на вокселы со стороной 2δ;- division of space into voxels with a side of 2δ; - определение координат вершины, как координат медоида для каждого воксела;- determination of vertex coordinates as medoid coordinates for each voxel; - назначение весового коэффициента, равного 2δ, для каждой вершины.- assignment of a weight coefficient equal to 2δ for each vertex. 11. Способ по п. 1, в котором ребра между вершинами графа формируются, если эти вершины являются одними из ближайших вершин по кратчайшему пути в графе.11. The method according to claim 1, in which edges between the vertices of the graph are formed if these vertices are one of the closest vertices along the shortest path in the graph. 12. Способ по п. 11, в котором количество ближайших вершин выбрано равным восьми.12. The method according to claim 11, in which the number of nearest vertices is chosen to be eight. 13. Способ по п. 1, в котором Евклидово преобразование произвольной точки x включает в себя:13. The method according to claim 1, in which the Euclidean transformation of an arbitrary point x includes: - определение ближайших к точке x вершин vс графа;- determination of the vertices v closest to point x from the graph; - вычисление взвешенной суммы двойных кватернионов этих вершин, при этом вес w каждого двойного кватерниона рассчитывается по следующей формуле:- calculating the weighted sum of double quaternions of these vertices, with the weight w of each double quaternion calculated using the following formula: или принимается равным 0, если ||R − vc||2 > 3vw, где vw - весовой коэффициент вершины;or is taken equal to 0 if ||R − v c || 2 > 3v w , where v w is the weight coefficient of the vertex; - нормирование результата суммирования.- normalization of the summation result. 14. Способ по п. 1, в котором параметрическая модель тела человека строится с использованием алгоритма машинного обучения.14. The method according to claim 1, in which a parametric model of the human body is built using a machine learning algorithm. 15. Способ по п. 14, в котором алгоритм машинного обучения включает в себя использование функции ошибки определения характерных точек скелета человека в двумерном пространстве, функции ошибки определения характерных точек скелета человека в трехмерном пространстве, функции ошибки определения параметров модели SMPL и функции ошибки определения карты глубины.15. The method according to claim 14, in which the machine learning algorithm includes using an error function for determining characteristic points of the human skeleton in two-dimensional space, an error function for determining characteristic points of the human skeleton in three-dimensional space, an error function for determining the parameters of the SMPL model, and a map determination error function depths. 16. Способ по п. 1, в котором размерные признаки человека определяются с использованием линейной алгебры.16. The method according to claim 1, in which the dimensional characteristics of a person are determined using linear algebra. 17. Способ по п. 1, в котором размерные признаки человека определяются с использованием алгоритма машинного обучения.17. The method according to claim 1, in which the dimensional characteristics of a person are determined using a machine learning algorithm. 18. Способ по п. 1, в котором сначала определяются промежуточные размерные признаки человека с использованием линейной алгебры, а затем определяются окончательные размерные признаки человека с использованием алгоритма машинного обучения.18. The method according to claim 1, in which the intermediate dimensional features of a person are first determined using linear algebra, and then the final dimensional features of a person are determined using a machine learning algorithm. 19. Способ по п. 17 или 18, в котором в алгоритме машинного обучения используется регрессионная модель.19. The method of claim 17 or 18, wherein the machine learning algorithm uses a regression model. 20. Способ по п. 1, дополнительно включающий в себя определение типа фигуры человека.20. The method according to claim 1, further including determining the type of human figure. 21. Способ определения размерных признаков предмета одежды, включающий в себя:21. A method for determining the dimensional characteristics of an item of clothing, including: - получение производственной геометрической модели, использованной при производстве этого предмета одежды;- obtaining a production geometric model used in the production of this item of clothing; - преобразование производственной геометрической модели в параметрическую производственную модель на основе алгоритма Non-Rigid Deformation с применением следующей функции потерь:- transformation of the production geometric model into a parametric production model based on the Non-Rigid Deformation algorithm using the following loss function: , , где Edata - функция потерь Data term, Esmooth - функция потерь Smoothness term, Enormal - функция потерь нормализации, штрафующая за большую величину углов между нормалями соседних треугольников, α, β, γ - весовые коэффициенты;where E data is the Data term loss function, E smooth is the Smoothness term loss function, E normal is the normalization loss function, which penalizes for large angles between the normals of adjacent triangles, α, β, γ are weighting coefficients; - определение размерных признаков предмета одежды из параметрической производственной модели.- determination of dimensional characteristics of a garment from a parametric production model. 22. Способ по п. 21, в котором производственную геометрическую модель получают на основе физического манекена.22. The method of claim 21, wherein the manufacturing geometric model is derived from the physical mannequin. 23. Способ по п. 21, в котором производственную геометрическую модель получают на основе человеческой модели.23. The method of claim 21, wherein the manufacturing geometric model is derived from a human model. 24. Способ по п. 21, в котором производственную геометрическую модель получают на основе компьютерной модели.24. The method according to claim 21, in which the production geometric model is obtained based on the computer model. 25. Способ по п. 21, в котором производственную геометрическую модель получают на основе по меньшей мере одного из следующего: техническое задание, спецификация и правила градации размеров.25. The method of claim 21, wherein the production geometric model is obtained based on at least one of the following: technical specifications, specifications, and size grading rules. 26. Способ по п. 21, в котором функция потерь Edata представляет собой следующую функцию:26. The method according to claim 21, in which the loss function E data is the following function: , , где wi - вес i-й вершины в производственной параметрической модели, Ai - матрица преобразования i-й вершины, pi - координата i-й вершины в производственной параметрической модели, NN(i) - вершина производственной геометрической модели, ближайший сосед i-й вершины производственной параметрической модели.where w i is the weight of the i-th vertex in the production parametric model, A i is the transformation matrix of the i-th vertex, p i is the coordinate of the i-th vertex in the production parametric model, NN(i) is the vertex of the production geometric model, the nearest neighbor of i th vertex of the production parametric model. 27. Способ по п. 21, в котором функция потерь Esmooth представляет собой следующую функцию:27. The method according to claim 21, in which the loss function E smooth is the following function: , , где edges(T) - множество всех ребер производственной параметрической модели, Ai - матрица преобразования 4×4 для вершины i, || · ||F - норма Фробениуса соответствующей матрицы.where edges(T) is the set of all edges of the production parametric model, A i is the 4×4 transformation matrix for vertex i, || · || F is the Frobenius norm of the corresponding matrix. 28. Способ по п. 21, в котором функция потерь Enormal представляет собой следующую функцию:28. The method according to claim 21, in which the loss function E normal is the following function: , , где |edges| - число ребер в производственной параметрической модели, edges(T) - множество ребер производственной параметрической модели, ni - вектор нормали для треугольника i, - угол между нормалями, F(·) - функция активации к величине углаwhere |edges| - number of edges in the production parametric model, edges(T) - set of edges in the production parametric model, n i - normal vector for triangle i, - angle between normals, F(·) - activation function to the angle value . . 29. Способ по п. 21, в котором весовой коэффициент α равен первому заранее заданному значению в начале работы алгоритма, а затем принимает второе заранее заданное значение.29. The method according to claim 21, wherein the weighting coefficient α is equal to the first predetermined value at the beginning of the algorithm, and then takes the second predetermined value. 30. Способ по п. 21, в котором первое заранее заданное значение равно 0, а второе заранее заданное значение равно 1.30. The method of claim 21, wherein the first predetermined value is 0 and the second predetermined value is 1. 31. Способ по п. 21, в котором весовой коэффициент β сначала равен первому заранее заданному значению, а затем принимает второе заранее заданное значение.31. The method of claim 21, wherein the weighting coefficient β is first equal to the first predetermined value and then equal to the second predetermined value. 32. Способ по п. 21, в котором первое заранее заданное значение равно 10-3, а второе заранее заданное значение уменьшается в 4 раза на каждом шаге.32. The method of claim 21, wherein the first preset value is 10 -3 and the second preset value is decreased by a factor of 4 at each step. 33. Способ по п. 21, в котором второе заранее заданное значение изменяется до выполнения условия β ≥ 10-6 α или до прекращения уменьшения ошибки.33. The method according to claim 21, in which the second predetermined value is changed until the condition β ≥ 10 -6 α is satisfied or until the error stops decreasing. 34. Способ по п. 21, в котором весовой коэффициент γ сначала равен первому заранее заданному значению, а затем принимает второе заранее заданное значение.34. The method of claim 21, wherein the weighting coefficient γ is first equal to the first predetermined value and then takes the second predetermined value. 35. Способ по п. 21, в котором первое заранее заданное значение равно 106, а второе заранее заданное значение уменьшается в 4 раза на каждом шаге.35. The method of claim 21, wherein the first preset value is 10 6 and the second preset value is decreased by a factor of 4 at each step. 36. Способ по п. 21, в котором второе заранее заданное значение изменяется до выполнения условия γ ≥ 103 α или до прекращения уменьшения ошибки.36. The method according to claim 21, in which the second predetermined value is changed until the condition γ ≥ 10 3 α is satisfied or until the error stops decreasing. 37. Способ определения степени соответствия человеку предмета одежды, выполняемый с использованием компьютерного устройства и включающий в себя:37. A method for determining the degree of suitability of an item of clothing for a person, performed using a computer device and including: - выбор размерных признаков для сопоставления на основе категории предмета одежды;- selection of dimensional characteristics for comparison based on the category of the item of clothing; - получение размерных признаков предмета одежды с использованием по меньшей мере одного из следующего: оптическое сканирование готового предмета одежды, замер готового предмета одежды, замер лекала для пошива одежды, замер манекена для пошива предмета одежды, анализ производственной документации для пошива предмета одежды, анализ цифровой модели предмета одежды;- obtaining dimensional characteristics of a garment using at least one of the following: optical scanning of a finished garment, measurement of a finished garment, measurement of a pattern for sewing a garment, measurement of a mannequin for sewing a garment, analysis of production documentation for sewing a garment, analysis of a digital model item of clothing; - получение размерных признаков человека с использованием по меньшей мере одного из следующего: оптическое сканирование поверхности тела человека, замер эталонного предмета одежды;- obtaining dimensional characteristics of a person using at least one of the following: optical scanning of the surface of the human body, measuring a reference item of clothing; - сопоставление размерных признаков человека и предмета одежды с использованием целевой функции- comparison of dimensional characteristics of a person and a piece of clothing using the objective function , , где М - число размерных признаков, - размерный признак человека, - размерный признак предмета одежды, - взвешивающий коэффициент;where M is the number of dimensional features, - dimensional sign of a person, - dimensional indication of the item of clothing, - weighting factor; - определение рекомендуемого размера S одежды:- determination of the recommended clothing size S: S = Σ(wisi) / Σwi + ds, S = Σ(w i s i ) / Σw i + ds, где si - размер, соответствующий i-му размерному признаку, wi - весовой коэффициент i-го размерного признака, ds - по меньшей мере одно поправочное значение для компенсации известных отклонений.where s i is the size corresponding to the i-th dimensional feature, w i is the weighting coefficient of the i-th dimensional feature, ds is at least one correction value to compensate for known deviations. 38. Способ по п. 37, в котором целевая функция подвергается минимизации.38. The method according to claim 37, in which the objective function is minimized. 39. Способ по п. 37, в котором поправочное значение ds определяется индивидуально для каждого человека.39. The method according to claim 37, in which the correction value ds is determined individually for each person. 40. Способ по п. 37, в котором поправочное значение ds определяется индивидуально для каждого типа фигуры человека.40. The method according to claim 37, in which the correction value ds is determined individually for each type of human figure. 41. Способ по п. 37, в котором рекомендуемый размер S дополнительно приводится в соответствие с размерной сеткой.41. The method according to claim 37, in which the recommended size S is additionally adjusted to the size chart. 42. Способ по п. 41, в котором поправочное значение ds используется для приведения рекомендуемого размера S в соответствие с размерной сеткой.42. The method according to claim 41, in which the correction value ds is used to bring the recommended size S into line with the sizing chart. 43. Способ по п. 37, включающий в себя формирование списка предметов одежды, в котором предметы одежды расположены в соответствии с рейтингом посадки, а предметы одежды с одинаковым рейтингом посадки дополнительно ранжированы по значению ошибки посадки.43. The method of claim 37, including generating a list of garments in which the garments are ranked according to a fit rating, and the garments with the same fit rating are further ranked by a fit error value. 44. Способ по п. 37, в котором рейтинг посадки определяется на основе вектора размерных признаков предмета одежды и вектора размерных признаков человека.44. The method of claim 37, wherein the fit rating is determined based on a vector of dimensional attributes of the garment and a vector of dimensional attributes of the person. 45. Способ по п. 37, в котором значение ошибки посадки определяется на основе L2-нормы для групп разности между координатами вектора размерных признаков предмета одежды и вектора размерных признаков человека, при этом к группам применяются весовые коэффициенты.45. The method according to claim 37, in which the value of the fit error is determined based on the L2-norm for groups of the difference between the coordinates of the vector of dimensional characteristics of a garment and the vector of dimensional characteristics of a person, and weighting coefficients are applied to the groups. 46. Способ по п. 37, дополнительно включающий в себя учет стилистических рекомендаций.46. The method according to claim 37, additionally including taking into account stylistic recommendations. 47. Способ по п. 37, в котором сопоставление размерных признаков человека и предмета одежды выполняется с использованием нейронной сети, содержащей по меньшей мере два слоя, один из которых выполняет роль энкодера, представляющего размерные признаки человека, а другие слои выполняют роль декодера, обеспечивающего сопоставление.47. The method according to claim 37, in which the comparison of the dimensional characteristics of a person and a piece of clothing is performed using a neural network containing at least two layers, one of which acts as an encoder representing the dimensional characteristics of a person, and the other layers act as a decoder providing comparison. 48. Способ по п. 47, в котором слой, выполняющий роль энкодера, сначала обучается на наборе данных предметов одежды, не зависящих от бренда, отдельно от слоев, выполняющих роль декодера.48. The method of claim 47, wherein the encoder layer is first trained on a brand-neutral apparel dataset separate from the decoder layers. 49. Способ по п. 47, в котором в котором слой, выполняющий роль энкодера, затем обучается на наборе данных предметов одежды, зависящих от бренда, совместно со слоями, выполняющими роль декодера.49. The method of claim 47, wherein the encoder layer is then trained on the brand-specific garment data set in conjunction with the decoder layers. 50. Способ по п. 47, в котором в котором набор данных предметов одежды, не зависящих от бренда, содержит данные о размерных признаках человека, данные о размерных признаках предмета одежды и данные о том, подошел или не подошел конкретный предмет одежды конкретному человеку.50. The method of claim 47, wherein the brand-neutral clothing item data set comprises sizing data for a person, sizing data for an item of clothing, and data regarding whether a particular item of clothing fits or does not fit a particular individual. 51. Способ по п. 47, в котором данные основаны на национальных и/или региональных статистических данных о размерных признаках населения.51. The method of claim 47, wherein the data is based on national and/or regional statistics on population size characteristics. 52. Способ по п. 47, в котором в котором набор данных предметов одежды, зависящих от бренда, содержит данные о размерных признаках населения, данные о размерных признаках предметов одежды бренда и данные о том, подошел или не подошел конкретный предмет одежды этого бренда конкретному человеку.52. The method of claim 47, wherein the brand-specific clothing item data set contains sizing data for a population, sizing data for a brand's clothing items, and data regarding whether a particular clothing item of that brand fits or does not fit a particular person. 53. Способ по п. 47, в котором нейронная сеть реализована в виде классификатора.53. The method according to claim 47, in which the neural network is implemented as a classifier. 54. Способ по п. 37, в котором сопоставление размерных признаков человека и предмета одежды выполняется с использованием алгоритма градиентного бустинга дерева решений.54. The method according to claim 37, in which the comparison of dimensional attributes of a person and a piece of clothing is performed using a decision tree gradient boosting algorithm.
RU2021106547A 2019-08-13 2020-04-06 Method and system for remote clothing selection RU2805003C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2019125602 2019-08-13

Publications (2)

Publication Number Publication Date
RU2021106547A RU2021106547A (en) 2022-09-14
RU2805003C2 true RU2805003C2 (en) 2023-10-10

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
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 (en) * 2012-12-19 2013-04-17 武汉世纪炎龙网络科技有限公司 Virtual fitting system
US20140010449A1 (en) * 2012-07-09 2014-01-09 Stylewhile Oy System and method for generating image data for on-line shopping
WO2014074072A1 (en) * 2012-11-12 2014-05-15 Singapore University Of Technology And Design Clothing matching system and method
CN104461006A (en) * 2014-12-17 2015-03-25 卢晨华 Internet intelligent mirror based on natural user interface

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153315A1 (en) * 2008-12-17 2010-06-17 Microsoft Corporation Boosting algorithm for ranking model adaptation
US20140010449A1 (en) * 2012-07-09 2014-01-09 Stylewhile Oy System and method for generating image data for on-line shopping
WO2014074072A1 (en) * 2012-11-12 2014-05-15 Singapore University Of Technology And Design Clothing matching system and method
CN103049852A (en) * 2012-12-19 2013-04-17 武汉世纪炎龙网络科技有限公司 Virtual fitting system
CN104461006A (en) * 2014-12-17 2015-03-25 卢晨华 Internet intelligent mirror based on natural user interface

Similar Documents

Publication Publication Date Title
US11393163B2 (en) Method and system for remote clothing selection
US10777020B2 (en) Virtual representation creation of user for fit and style of apparel and accessories
US11640672B2 (en) Method and system for wireless ultra-low footprint body scanning
US10628666B2 (en) Cloud server body scan data system
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
CN107111833B (en) Fast 3D model adaptation and anthropometry
US10201203B2 (en) Method for virtually selecting clothing
KR100511210B1 (en) Method for converting 2d image into pseudo 3d image and user-adapted total coordination method in use artificial intelligence, and service besiness method thereof
Wuhrer et al. Estimating 3D human shapes from measurements
US20160088284A1 (en) Method and system for determining biometrics from body surface imaging technology
WO2018154331A1 (en) Method of generating an image file of a 3d body model of a user wearing a garment
US20110298897A1 (en) System and method for 3d virtual try-on of apparel on an avatar
Koo et al. Example-based statistical framework for parametric modeling of human body shapes
US20220215224A1 (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
Chi et al. A new parametric 3D human body modeling approach by using key position labeling and body parts segmentation
WO2018182938A1 (en) Method and system for wireless ultra-low footprint body scanning
RU2805003C2 (en) Method and system for remote clothing selection
Wei et al. The application of image analysis technology in the extraction of human body feature parameters
CN112508639A (en) Interaction method of virtualized human body system, electronic device and computer readable medium
Li et al. Intelligent clothing size and fit recommendations based on human model customisation technology
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