Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR REMOTELY SELECTING GARMENTS
Document Type and Number:
WIPO Patent Application WO/2021/028728
Kind Code:
A1
Abstract:
A method for remotely selecting garments comprises: determining anthropometric parameters of a user; automatically evaluating the fit of a garment to the shape and measurements of the user's body in real time; producing and presenting to the user recommendations for selecting a particular garment; and, optionally, visualising the garment on a digital avatar of said user in a virtual fitting room, including changing the pose of said avatar. The invention provides: increased effectiveness of the remote selection of garments by a user; improving the user's impression of remote purchasing; increasing the satisfaction of the user; and, ultimately, increasing the volume of online sales of garments and decreasing the proportion of garments returned after purchase due to dissatisfaction with the fit thereof to the shape and measurements of the user's figure.

Inventors:
FEDYUKOV MAXIM ALEXANDROVICH (RU)
POSKONIN ANDREY VLADIMIROVICH (RU)
KLIMENTYEV SERGEY MIKHAILOVICH (RU)
GUZOV VLADIMIR VLADIMIROVICH (RU)
PETROV ILIA ALEXEEVICH (RU)
KOVAL ANDREI VASILIEVICH (RU)
PATAKIN NIKOLAY (KZ)
FEDOTOV ANTON VLADIMIROVICH (RU)
KORNEEV OLEG VLADIMIROVICH (RU)
Application Number:
PCT/IB2020/053263
Publication Date:
February 18, 2021
Filing Date:
April 06, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TEXEL LLC (RU)
International Classes:
G06F3/01; G06Q30/00; G06T7/60
Domestic Patent References:
WO2014074072A12014-05-15
Foreign References:
CN104461006A2015-03-25
CN103049852A2013-04-17
US20100153315A12010-06-17
Attorney, Agent or Firm:
FEDOROV, Stanislav Viktorovich (RU)
Download PDF:
Claims:
ФОРМУЛА ИЗОБРЕТЕНИЯ

1. Способ дистанционного выбора одежды, включающий в себя:

- определение размерных признаков человека;

- определение размерных признаков одного или нескольких предметов одежды;

- сопоставление размерных признаков человека с размерными признаками одного или нескольких предметов одежды для определения степени соответствия человеку этих предметов одежды;

- опционально визуализация предмета одежды;

- совершение выбора предмета одежды.

2. Способ по и. 1, в котором определение размерных признаков человека включает в себя формирование параметрической модели человека.

3. Способ по и. 2, в котором параметрическая модель человека формируется на основе геометрической модели человека.

4. Способ по и. 2, в котором параметрическая модель человека формируется на основе данных физического обмера тела человека.

5. Способ по и. 2, в котором параметрическая модель человека формируется на основе данных анкетирования.

6. Способ по и. 2, в котором параметрическая модель человека формируется на основе данных двумерного изображения.

7. Способ по и. 2, в котором параметрическая модель человека формируется на основе данных физического обмера эталонного предмета одежды.

8. Способ по п. 2, в котором параметрическая модель человека формируется на основе данных оптического обмера эталонного предмета одежды.

9. Способ по п. 2, в котором параметрическая модель человека формируется с использованием нейронной сети.

10. Способ по и. 2, в котором параметрическая модель человека формируется с использованием алгоритма машинного обучения.

11. Способ по и. 3, в котором геометрическая модель человека формируется на основе данных трехмерного сканирования тела человека.

12. Способ по и. 11, в котором трехмерное сканирование включает в себя оптическое сканирование.

13. Способ по и. 12, в котором оптическое сканирование включает в себя использование камеры глубины. 14. Способ по п. 12, в котором оптическое сканирование включает в себя использование лазерного дальномера.

15. Способ по п. 3, в котором геометрическая модель человека формируется с использованием нейронной сети.

16. Способ по п. 3, в котором геометрическая модель человека формируется с использованием алгоритма машинного обучения.

17. Способ по п. 1, в котором размерные признаки человека определяются с использованием линейной алгебры.

18. Способ по п. 1, в котором размерные признаки человека определяются с использованием алгоритма машинного обучения.

19. Способ по п. 1, в котором сначала определяются промежуточные размерные признаки человека с использованием линейной алгебры, а затем определяются окончательные размерные признаки человека с использованием алгоритма машинного обучения.

20. Способ по п. 18 или п. 19, в котором в алгоритме машинного обучения используется регрессионная модель.

21. Способ по п. 1, в котором размерные признаки предмета одежды определяются на основе производственной геометрической модели.

22. Способ по п. 21, в котором производственная геометрическая модель представляет собой физический манекен, трехмерную цифровую модель или набор лекал.

23. Способ по п. 1, в котором размерные признаки предмета одежды определяются на основе производственной параметрической модели.

24. Способ по п. 23, в котором производственная параметрическая модель представляет собой по меньшей мере часть технологической документации предмета одежды.

25. Способ по п. 23, в котором производственная параметрическая модель представляет собой по меньшей мере часть размерной сетки.

26. Способ по п. 1, в котором размерные признаки предмета одежды определяются на основе данных физического обмера предмета одежды.

27. Способ по п. 1, в котором размерные признаки предмета одежды определяются на основе данных оптического обмера предмета одежды.

28. Способ по п. 27, в котором оптический обмер предмета одежды выполняется с использованием алгоритма машинного зрения.

29. Способ по п. 1, в котором сопоставление размерных признаков человека и предмета одежды включает в себя анализ целевой функции. 30. Способ по п. 1, в котором сопоставление размерных признаков человека и предмета одежды включает в себя использование нейронной сети.

31. Способ по и. 30, в котором нейронная сеть содержит по меньшей мере два слоя, один из которых выполняет роль энкодера, а другие слои выполняют роль декодера.

32. Способ по и. 31, в котором слой, выполняющий роль энкодера, обучается отдельно от слоев, выполняющих роль декодера.

33. Способ по и. 31, в котором в котором слой, выполняющий роль энкодера, обучается совместно со слоями, выполняющими роль декодера.

34. Способ по и. 1, в котором сопоставление размерных признаков человека и предмета одежды включает в себя использование алгоритма машинного обучения.

35. Способ по и. 1, в котором размерные признаки человека и/или предмета одежды включают в себя по меньшей мере одно из следующего: высота, расстояние, обхват и расстояние по криволинейной поверхности.

36. Способ по и. 1, в котором визуализация выполняется на виртуальном манекене.

37. Способ по и. 1, в котором визуализация выполняется на аватаре человека.

38. Способ по и. 37, в котором аватар представляет собой ЗБ-модель тела человека.

39. Способ по и. 38, в котором аватар обеспечивает реалистичное изображение головы человека.

40. Способ по и. 1, в котором визуализация включает в себя возможность задания и/или изменения по меньшей мере одного из следующего: позы, ракурса, масштаба, ситуационного фона и условий освещения.

41. Способ по и. 1, в котором выбор предмета одежды выполняется из списка предметов одежды, ранжированного по степени соответствия человеку этих предметов одежды.

42. Способ по п. 1, в котором выбор предмета одежды включает в себя отказ от выбора предмета одежды.

43. Способ по и. 1, до сопоставления размерных признаков человека и предмета одежды дополнительно включающий в себя приведение этих размерных признаков к сопоставимому виду.

44. Способ определения размерных признаков человека, включающий в себя:

- построение геометрической модели тела человека;

- построение параметрической модели тела человека на основе геометрической модели;

- определение размерных признаков человека на основе параметрической модели тела человека. 45. Способ по п. 44, в котором построение геометрической модели включает в себя получение карты глубины.

46. Способ по п. 45, в котором построение геометрической модели включает в себя преобразование карты глубины в облако точек.

47. Способ по п. 46, в котором преобразование карты глубины в облако точек включает в себя применение билатерального фильтра.

48. Способ по п. 44, в котором построение геометрической модели выполняется для канонической позы человека.

49. Способ по п. 44, в котором построение параметрической модели включает в себя:

- вычисление начального приближения параметров позы;

- уточнение параметров позы и/или уточнение параметров позы и формы;

- построение графа морфирующего поля, обеспечивающего преобразование геометрической модели из канонической позы и/или формы в произвольную позу и/или форму.

50. Способ по п. 49, в котором при вычислении начального приближения параметров позы используется информация о положении характерных точек скелета в параметрической модели.

51. Способ по п. 49, в котором уточнение параметров позы включает в себя минимизацию функции ошибки по параметрам позы.

52. Способ по п. 51, в котором используется функция ошибки по параметрам позы, равная сумме квадратов углов между парами отрезков, связывающих характерные точки скелета человека в геометрической модели и в параметрической модели.

53. Способ по п. 51, в котором используется функция ошибки по параметрам позы, равная сумме квадратов расстояний между парами точек из множества характерных точек в геометрической модели и в параметрической модели.

54. Способ по п. 51, в котором сначала используется функция ошибки по параметрам позы, равная сумме квадратов углов между парами отрезков, связывающих характерные точки скелета человека в геометрической модели и в параметрической модели, а затем используется функция ошибки по параметрам позы, равная сумме квадратов расстояний между парами точек из множества характерных точек в геометрической модели и в параметрической модели.

55. Способ по п. 49, в котором уточнение параметров позы и формы включает в себя минимизацию функции ошибки по параметрам позы и формы. 56. Способ по n. 55, в котором используется следующая функция ошибки по параметрам позы и формы: где Р - множество видимых точек х геометрической модели, Q - параметры позы, b - параметры формы, U - множество видимых вершин n параметрической модели с параметрами позы и формы (0, b ), р- функция Хьюбера с параметром d , равным 1.

57. Способ по п. 44, в котором граф морфирующего поля имеет вершины, содержащие координаты в трехмерном пространстве, параметры Евклидова преобразования и весовой коэффициент, а также имеет ребра между вершинами, обеспечивающие связность морфирующего поля.

58. Способ по п. 57, в котором формирование вершин графа включает в себя:

- выбор значения d радиуса соседства;

- разбиение пространства на вокселы со стороной 2<5;

- определение координат вершины, как координат медоида для каждого воксела;

- назначение весового коэффициента, равного 2d, для каждой вершины.

59. Способ по п. 57, в котором ребра между вершинами графа формируются, если эти вершины являются одними из ближайших вершин по кратчайшему пути в графе.

60. Способ по и. 59, в котором количество ближайших вершин выбрано равным восьми.

61. Способ по и. 57, в котором Евклидово преобразование произвольной точки х включает в себя:

- определение ближайших к точке х вершин vc графа;

- вычисление взвешенной суммы двойных кватернионов этих вершин, при этом вес w каждого двойного кватерниона рассчитывается по следующей формуле: или принимается равным 0, если || х vc || 2 > 3vw, где vw - весовой коэффициент вершины;

- нормирование результата суммирования;

- построение матрицы ортогонального преобразования R и вектора переноса t, при этом результатом преобразования точки х является точка Rx + t.

62. Способ по п. 44, в котором параметрическая модель тела человека строится с использованием алгоритма машинного обучения.

63. Способ по п. 62, в котором алгоритм машинного обучения включает в себя использование функции ошибки определения характерных точек скелета человека в двумерном пространстве, функции ошибки определения характерных точек скелета человека в трехмерном пространстве, функции ошибки определения параметров модели SMPL и функции ошибки определения карты глубины.

64. Способ по и. 44, в котором размерные признаки человека определяются с использованием линейной алгебры.

65. Способ по и. 44, в котором размерные признаки человека определяются с использованием алгоритма машинного обучения.

66. Способ по и. 44, в котором сначала определяются промежуточные размерные признаки человека с использованием линейной алгебры, а затем определяются окончательные размерные признаки человека с использованием алгоритма машинного обучения.

67. Способ по и. 65 или и. 66, в котором в алгоритме машинного обучения используется регрессионная модель.

68. Способ по и. 44, дополнительно включающий в себя определение типа фигуры человека.

69. Способ определения размерных признаков предмета одежды, включающий в себя получение размерных признаков предмета одежды из производственной модели.

70. Способ по и. 69, в котором производственная модель является параметрической моделью, а получение размерных признаков предмета одежды включает в себя преобразование параметров производственной модели в размерные признаки предмета одежды.

71. Способ по и. 69, в котором производственная модель является геометрической моделью, а получение размерных признаков предмета одежды включает в себя преобразование геометрической производственной модели в параметрическую производственную модель и преобразование параметров производственной модели в размерные признаки предмета одежды.

72. Способ по и. 71, в котором производственная геометрическая модель представляет собой физический манекен, трехмерную цифровую модель или набор лекал.

73. Способ по и. 70, в котором производственная параметрическая модель представляет собой по меньшей мере часть технологической документации предмета одежды.

74. Способ по и. 70, в котором производственная параметрическая модель представляет собой по меньшей мере часть размерной сетки. 75. Способ по п. 69, в котором размерные признаки предмета одежды включают в себя по меньшей мере одно из следующего: высота, расстояние, обхват и расстояние по криволинейной поверхности.

76. Способ определения степени соответствия человеку предмета одежды, включающий в себя сопоставление размерных признаков человека и предмета одежды с использованием целевой функции, учитывающей влияние каждого размерного признака на степень соответствия человеку предмета одежды.

77. Способ по п. 76, до сопоставления размерных признаков человека и предмета одежды дополнительно включающий в себя приведение этих размерных признаков к сопоставимому виду.

78. Способ по п. 76, до сопоставления размерных признаков человека и предмета одежды дополнительно включающий в себя выбор размерных признаков для сопоставления на основе категории предмета одежды.

79. Способ по п. 76, в котором целевая функция подвергается минимизации.

80. Способ по п. 76, в котором целевая функция представляет собой функцию гдеМ- число размерных признаков, DPcust - размерный признак человека, DPprod - размерный признак предмета одежды, - взвешивающий коэффициент.

81. Способ по п. 76, включающий в себя определение рекомендуемого размера S одежды:

S = S(\nbί) / 2лг, + ds , где s, - размер, соответствующий /-му размерному признаку, w, - весовой коэффициент /- го размерного признака, ds - по меньшей мере одно опциональное поправочное значение.

82. Способ по п. 81, в котором поправочное значение определяется индивидуально для каждого человека.

83. Способ по п. 81, в котором поправочное значение определяется индивидуально для каждого типа фигуры человека.

84. Способ по п. 81, в котором рекомендуемый размер дополнительно приводится в соответствие с размерной сеткой.

85. Способ по п. 76, формирующий список предметов одежды, котором предметы одежды расположены в соответствии с рейтингом посадки, а предметы одежды с одинаковым рейтингом посадки дополнительно ранжированы по значению ошибки посадки.

86. Способ по и. 76, в котором размерные признаки человека представляют собой размерные признаки эталонного предмета одежды.

87. Способ по п. 76, дополнительно включающий в себя учет стилистических рекомендаций.

88. Способ определения степени соответствия человеку предмета одежды, включающий в себя сопоставление размерных признаков человека и предмета одежды с использованием алгоритма машинного обучения.

89. Способ по и. 88, в котором алгоритм машинного обучения включает в себя использование нейронной сети.

90. Способ по и. 89, в котором нейронная сеть содержит по меньшей мере два слоя, один из которых выполняет роль энкодера, а другие слои выполняют роль декодера.

91. Способ по и. 90, в котором слой, выполняющий роль энкодера, обучается отдельно от слоев, выполняющих роль декодера.

92. Способ по п. 90, в котором в котором слой, выполняющий роль энкодера, обучается совместно со слоями, выполняющими роль декодера.

93. Способ по п. 88, в котором алгоритм машинного обучения реализован в виде классификатора.

94. Способ по и. 88, в котором алгоритм машинного обучения реализован в виде алгоритма градиентного бустинга дерева решений.

95. Способ визуализации предмета одежды, включающий в себя:

- получение изображения тела человека в произвольной позе;

- получение параметрической модели тела человека;

- получение параметрической модели предмета одежды;

- изменение параметров параметрической модели тела человека для ее соответствия произвольной позе;

- формирование изображения предмета одежды на человеке в произвольной позе.

96. Способ по и. 95, в котором визуализация выполняется на виртуальном манекене.

97. Способ по и. 95, в котором визуализация выполняется на аватаре человека.

98. Способ по и. 97, в котором аватар представляет собой ЗБ-модель тела человека.

99. Способ по и. 98, в котором аватар обеспечивает реалистичное изображение головы человека. 100. Способ по п. 95, в котором визуализация включает в себя возможность задания и/или изменения по меньшей мере одного из следующего: позы, ракурса, масштаба, ситуационного фона и условий освещения.

Description:
СПОСОБ И СИСТЕМА ДЛЯ ДИСТАНЦИОННОГО ВЫБОРА ОДЕЖДЫ

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

Изобретение относится к области электронной коммерции. В частности, оно относится к средствам для оказания помощи пользователю в дистанционном выборе товаров (предметов одежды, обуви, аксессуаров и т.п.), к которым применимо понятие размеров, путем оценки соответствия размеров товара форме и размерам тела пользователя.

Уровень техники

В последние годы использование традиционной простейшей системы размеров, например, [рост] -[обхват груди] -[обхват талии] -[обхват бедер] или [рост] -[размер по плечам]-[размер по бедрам]) при торговле одеждой, [размер]-[полнота] при торговле обувью, постепенно вытесняется применением более сложных параметрических моделей или геометрических моделей тела пользователя, на соответствие которым может быть проанализирован тот или иной предмет одежды, обуви, аксессуаров и т.п. (далее для краткости - одежды).

Тенденция к применению таких моделей вызвана несколькими факторами, среди которых следует выделить стремление ретейлеров снизить количество возвратов одежды, «не подошедшей» по тем или иным причинам, и переход производителей одежды на использование «компьютерных» выкроек вместо традиционных «лекальных» выкроек. Для получения «компьютерных» выкроек одежды применяются производственные компьютерные модели или физические манекены, для которых определены параметрические модели. Такие производственные модели обычно создаются на основе статистических данных, получаемых при выборочных репрезентативных обмерах населения на определенной территории. Иными словами, производственные модели обычно достаточно точно описывают, по крайней мере, наиболее распространенные типы фигур людей в той или иной стране, соответствующие не менее чем 80-90% населения.

Это дает возможность, выполнив оптическое сканирование тела пользователя и построив его геометрическую (в частности, трехмерную) и/или параметрическую модель, соотнести эту модель с соответствующими производственными моделями, использованными при пошиве одежды, и дистанционно выбрать предметы одежды, наиболее подходящие пользователю по размерам и форме тела.

Кроме того, это дает возможность визуализировать эти предметы одежды на пользователе, т.е. представить на экране электронного устройства реалистичное изображение одного предмета одежды или нескольких предметов одежды в сочетании. При этом у пользователя появляется возможность подробно рассмотреть изображенный предмет одежды (или себя в этой одежде) с разных ракурсов и расстояний, на разном ситуационном фоне (который можно выбрать из библиотеки), при разном освещении (дневном, вечернем, искусственном) и т.д.

Ожидается, что все эти меры должны способствовать совершению более осмысленных покупок одежды и, соответственно, к существенному снижению количества возвратов.

Таким образом, задача помощи пользователю в дистанционном выборе одежды может быть разделена на несколько этапов: определение антропометрических параметров пользователя (в частности, его размерных признаков), определение размерных признаков предметов одежды, оценка соответствия предметов одежды телу пользователя на основе анализа этих признаков и, опционально, визуализация предметов одежды на цифровом аватаре пользователя.

Определение размерных признаков пользователя может включать в себя построение модели тела пользователя. Подходы к построению трехмерной модели тела пользователя, определению его размерных признаков и их сопоставлению с размерными признаками предметов одежды описаны во множестве патентных и непатентных документов.

В документе US2015206341 А1 (Method for providing a three dimensional body model) описано применение сегментации по частям тела на ЗБ-изображении, применение шарнирной модели скелета тела, построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек, минимизация ошибок произвольной модели методом Г аусса-Ньютона и построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе ЗБ-изображения (в произвольной форме и произвольной позе) согласно графу морфирующего поля. В этом документе не описано построение графа морфирующего поля путем определения вершин параметрической модели и уточнение параметров формы и канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности.

В документах ЕР2674913А1 (Three-dimensional object modelling fitting & tracking), EP3358527A1 (Apparatus and method to generate realistic rigged three dimensional (3D) model animation for view-point transform), EP3382648A1 (Three-dimensional model generating system, three-dimensional model generating method, and program), RU2014152713A1 (Измерение тела), US2012019517A1 (Automatic generation of 3D character animation from 3D meshes), US2013187919A1 (3D body modeling, from a single or multiple 3D cameras, in the presence of motion), US2013286012 A1 (3D body modeling from one or more depth cameras in the presence of articulated motion), US2015356767A1 (Rapid avatar capture and simulation using commodity depth sensors), US2016110595A1 (Fast 3D model fitting and anthropometries using synthetic data), US2017140578A1 (Depth camera-based human-body model acquisition method and network virtual fitting system), US2017337732A1 (Human body representation with non-rigid parts in an imaging system), W02010019925A1 (Method and apparatus for estimating body shape), W02013087084A1 (Method and device for estimating a pose), WO2014053198A1 (Co-registration - simultaneous alignment and modeling of articulated 3D shapes), W02015021381A1 (Real-time reconstruction of the human body and automated avatar synthesis), W02016207311 A1 (Skinned multi-person linear model) описано применение сегментации по частям тела на ЗО-изображении, применение шарнирной модели скелета тела, построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек и построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе ЗО-изображения (в произвольной форме и произвольной позе) согласно графу морфируюгцего поля. В этих документах не описано построение графа морфируюгцего поля путем определения вершин параметрической модели, минимизация ошибок произвольной модели методом Гаусса-Ньютона и уточнение параметров формы и канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности.

В документах US2008180448A1 (Shape completion, animation and marker-less motion capture of people, animals or characters), US2013226528A1 (Perceptually guided capture and stylization of 3D human figures), US2013342527A1 (Avatar construction using depth camera) описано применение шарнирной модели скелета тела, построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек и построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе ЗО-изображения (в произвольной форме и произвольной позе) согласно графу морфируюгцего поля. В этих документах не описано применение сегментации по частям тела на ЗО-изображении, построение графа морфируюгцего поля путем определения вершин параметрической модели, минимизация ошибок произвольной модели методом Гаусса-Ньютона и уточнение параметров формы и канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности.

В документах RU2615911С1 (Способ и система построения реалистичного 3D аватара пользователя для виртуальной примерочной), US2010306082A1 (Garment fit portrayal system and method), US2014035901 A1 (Animating objects using the human body), US2014375635A1 (Methods and systems for generating a three dimensional representation of a subject), US2015213646A1 (Method and system for constructing personalized avatars using a parameterized deformable mesh), WO2014037939A1 (System and method for deriving accurate body size measures from a sequence of 2D images), WO2016073841 A1 (Scan data retrieval with depth sensor data) описано построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек и построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе ЗО-изображения (в произвольной форме и произвольной позе) согласно графу морфируюгцего поля. В этих документах не описано применение шарнирной модели скелета тела, применение сегментации по частям тела на 3 D-изображении, построение графа морфируюгцего поля путем определения вершин параметрической модели, минимизация ошибок произвольной модели методом Гаусса- Ньютона и уточнение параметров формы и канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности.

В документах US2019122424A1 (Generation of body models and measurements), WO2013174671 A1 (A method and a system for generating a realistic 3D reconstruction model for an object or being) описано применение сегментации по частям тела на 3D- изображении, применение шарнирной модели скелета тела, построение канонической модели, а также частично описано определение параметров формы и канонических параметров позы параметрической модели путем минимизации функции потерь с учетом видимых точек. В этих документах не описано построение графа морфируюгцего поля путем определения вершин параметрической модели, минимизация ошибок произвольной модели методом Г аусса-Ньютона, построение произвольной трехмерной модели поверхности путем изменения параметров преобразования канонической модели на основе ЗО-изображения (в произвольной форме и произвольной позе) согласно графу морфируюгцего поля и уточнение параметров формы и канонических параметров позы параметрической модели с учетом результатов канонической трехмерной модели поверхности. В документе [А1] описан способ формирования ЗО-модели тела человека на основе множества снимков (карт глубины) с применением сегментирования и артикуляции, путем изменения параметров формы и позы.

В документе [А2] описана модель SCAPE тела человека, формируемая на основе одного статического снимка (карт глубины) и множества снимков с использованием маркеров. Способ включает в себя сегментирование, артикуляцию, определение и изменение параметров формы и позы.

В документе [АЗ] содержится обзор различных подходов к формированию 3D- модели тела человека.

В документе [А4] описаны особенности формирования скелетной структуры 3D- моделей для анимации.

В документе [А5] описан способ формирования обобщенной ЗО-модели тела человека (FAUST) с применением оптических маркеров.

В документе [А6] описан способ формирования ЗО-модели тела человека с использованием способа DeepCut для сегментирования и артикуляции и статистической модели SMPL для изменения параметров формы и позы. Совмещение положения составов по DeepCut с моделью SMPL выполнялось путем минимизации целевой функции Geman- McClure.

В документе [А7] дан сравнительный обзор ЗО-моделей тела человека: SCAPE, BlendSCAPE, Dyna, S-SCAPE, SMPL и RealtimeSCAPE. Показана большая точность vertex-based approach по сравнению с triangle-based approach.

В документе [А8] рассмотрены вопросы рендеринга мускулатуры при изменении параметров формы и позы 3D- модели тела человека.

В документе [А9] рассмотрены вопросы формирования видимых поверхностей (skinning) ЗО-моделей, основанных на скелетном подходе.

В документе [А10] рассмотрены вопросы формирования видимых поверхностей (skinning) ЗО-моделей с использованием двойных кватернионов (Dual Quaternions).

В документе [All] описан принцип действия нейронной сети DeepWrinkles (Facebook AI Research) для ЗО-моделирования предметов одежды на человеке.

В документе [А12] рассмотрены вопросы формирования видимых поверхностей (skinning) ЗО-моделей, основанных на скелетном подходе. Обсуждено сглаживание по Лапласу с учетом жесткости (rigidness Laplacian regularization).

В документе [А13] дано сравнение методов skeleton subspace deformation (SSD) и pose space deformation (PSD) при морфинге позы. В документе [А14] описана ЗБ-модель тела человека Skinned Multi-Person Linear model (SMPL).

В документе [A15] рассмотрены вопросы формирования поверхности ЗБ-модели тела человека с точки зрения скелетно-мышечной модели.

В документе [А16] описана статистическая ЗО-модель тела человека S-SCAPE с нормализацией позы по Wuhrer et al. (WSX) и Neophytou and Hilton (NH).

В документе [A17] описан локально-предиктивный подход к получению антропометрических измерений путем преобразования облака точек с применением случайного регрессионного леса.

В документе [А18] описано применение генеративно-состязательных сетей (Generative Adversarial Networks, GANs) для формирования поверхностей 3D- модели тела человека.

В документе [А19] обсуждаются подходы к реализации параметров формы и позы ЗБ-модели тела человека.

В документе [А20] рассмотрены вопросы параметризации формы ЗБ-моделей тела человека.

В документе [А21] описан подход (Sobol evFusion) формирования 3 D-модели тела человека из одного потока данных RGB-D с применение градиентного потока в пространстве Соболева.

В документе [А22] описано получение ЗО-модели тела человека для виртуальной примерочной из данных одной камеры глубины бытового назначения. Способ включает в себя сегментирование и артикуляцию с последующим извлечением из базы ближайшего по размерам варианта. Утверждается, что способ работоспособен в реальном времени.

В документе [А23] описано применение уточненного скелетного подхода (с использованием характеристических примеров) для формирования поверхности 3D- модели.

В документе [А24] описано получение ЗО-модели тела человека методом Semantic Parametric ReshapING method (SPRING) - с использование 23 семантических размерных параметров.

В документе [А25] описано получение ЗО-модели тела человека из единственного изображения с камеры глубины.

В документе [А26] предложен способ получения ЗО-модели тела человека из данных одной камеры глубины (BodyFusion) на основе skeleton-embedded surface fusion (SSF) и graph-node deformations. Утверждается, что способ устойчив к шумам и пропускам данных. В документе [А27] предложен способ получения ЗБ-модели тела человека из данных одной камеры глубины (DoubleFusion) с применением Double Node Graph и Joint motion tracking.

В документе [A28] описан способ реконструкции поверхности ЗБ-модели тела человека на основе изображений в одежде, полученных с камеры глубины. Способ основан на минимизации целевой функции, определяемой по открытым частям поверхности тела (без одежды).

В документе [А29] описан способ формирования ЗБ-модели тела человека с применением сегментирования и артикуляции.

В документе [А30] описан способ построения ЗБ-модели тела человека с использованием одной ЗО-камеры и нескольких инерциальных датчиков, закрепляемых на теле человека.

В упомянутых выше непатентных документах обсуждаются общие подходы, алгоритмы и математические подробности различных способов реализации ЗО-моделей человеческого тела. Технического решения, решающего задачу настоящего изобретения теми же средствами, в уровне техники не обнаружено.

Способы сопоставления данных о теле пользователя с данными о предмете одежды также описаны во множестве патентных и непатентных документов.

В документах US2006287877A1 (Matching the fit of individual garments to individual consumers), US2009276291 A1 (System and method for networking shops online and offline), US6546309B1 (Virtual fitting room) по меньшей мере частично описаны наличие входных данных (1) о теле пользователя и данных (2) о предметах одежды, преобразование и/или фильтрация входных данных, сопоставление данных (1) и (2) путем анализа целевой функции, наложение ограничений (краевых условий) на целевую функцию, результаты анализа - определение глобального оптимума целевой функции, выходные данные - рекомендации пользователю по выбору предметов одежды на основе результатов анализа целевой функции. В этих документах не описано сопоставление данных (1) и (2) с использованием нейронной сети и наличие в нейронной сети не менее двух слоев, причем первый слой реализует внутреннее представление сети о размерных признаках человека, а второй слой реализует внутреннее представление сети о размерных признаках предмета одежды (или бренда).

В документах US2014040041 А1 (Garment fitting system and method), US2017039622A1 (Garment size recommendation and fit analysis system and method), US2002188372A1 (Method and system for computer aided garment selection), W00217160A2 (Method and system for generating a recommendation for a selection of a piece of clothing), US2003028436A1 (Method and system for selling clothes), US2004093105A1 (Method for custom fitting of apparel), US2014180864A1 (Personalized clothing recommendation system and method), US20090210320A1 (System and method for comparative sizing between a well- fitting source item and a target item), US2004083142A1 (System and method for fitting clothing), US2002138170A1 (System, method and article of manufacture for automated fit and size predictions), US2009193675A1 (Systems and methods for collecting body measurements, virtually simulating models of actual and target body shapes, ascertaining garment size fitting, and processing garment orders) по меньшей мере частично описаны наличие входных данных (1) о теле пользователя и данных (2) о предметах одежды, сопоставление данных (1) и (2) путем анализа целевой функции, наложение ограничений (краевых условий) на целевую функцию, результаты анализа - определение глобального оптимума целевой функции, выходные данные - рекомендации пользователю по выбору предметов одежды на основе результатов анализа целевой функции. В этих документах не описано преобразование и/или фильтрация входных данных, сопоставление данных (1) и (2) с использованием нейронной сети и наличие в нейронной сети не менее двух слоев, причем первый слой реализует внутреннее представление сети о размерных признаках человека, а второй слой реализует внутреннее представление сети о размерных признаках предмета одежды (или бренда).

В документах US2005049816A1 (System and method for assisting shoe selection), US2011099122A1 (System and method for providing customers with personalized information about products), по меньшей мере частично описаны наличие входных данных (1) о теле пользователя и данных (2) о предметах одежды, преобразование и/или фильтрация входных данных, сопоставление данных (1) и (2) путем анализа целевой функции, результаты анализа - определение глобального оптимума целевой функции, выходные данные - рекомендации пользователю по выбору предметов одежды на основе результатов анализа целевой функции. В этих документах не описано наложение ограничений (краевых условий) на целевую функцию, сопоставление данных (1) и (2) с использованием нейронной сети и наличие в нейронной сети не менее двух слоев, причем первый слой реализует внутреннее представление сети о размерных признаках человека, а второй слой реализует внутреннее представление сети о размерных признаках предмета одежды (или бренда).

В документах W02010014599A1 (A distributed matching system for comparing garment information and buyer information), US2011184831 A1 (An item recommendation system), US2012259581 A1 (Apparatus, system and method for providing garment fitting identification), US20110295711A1 (Apparel fit advisory service), US20060059054Al(Apparel size service), US2002178061Al(Body profile coding method and apparatus useful for assisting users to select wearing apparel), US2007198120A1 (Computer system for rule-based clothing matching and filtering considering fit rules and fashion rules), US2016155186A1 (Digital wardrobe using simulated forces on garment models), US2007022013A1 (Fitting systems), US2009234489A1 (Fitting systems), US6741728B1 (Footwear sizing database method), W02009090391 A1 (Garment filter generation system and method), US2011231278A1 (Garment sizing system), W02008033138A1 (Matching the fit of garments to consumers), US2008235114A1 (Matching the fit of individual garments to individual consumers), US2009287452A1 (Method and apparatus for accurate footwear and garment fitting), EP2752804A1 (Method and system for optimizing size consultation upon the ordering of trousers), US2010293076A1 (Method and system for providing fitting and sizing recommendations), US2015161707A1 (Method and system for recommending a size of a wearable item), US6701207B1 (Method for integrating information relating to apparel fit, apparel sizing and body form variance), US2011055054A1 (Method for online selection of items and an online shopping system using the same), US2014379515A1 (Method for providing a custom-like fit in ready-to-wear apparel), US2003076318A1 (Method of virtual garment fitting, selection, and processing), US2006020482A1 (Methods and systems for selling apparel), US2019266654A1 (Methods and systems for virtual fitting rooms or hybrid stores), US2014279289A1 (Mobile application and method for virtual dressing room visualization), US20120084987A1 (Shaped fit sizing system), EP3171323 A1 (System and method for determining and dispensing one or more tailored articles of clothing), US6879945B 1 (System and method for sizing footwear over a computer network), US2005022708A 1 (Systems and methods for improved apparel fit), E1S2019073335A1 (Eising artificial intelligence to determine a size fit prediction), US2007005174 A 1 (Virtual apparel fitting) по меньшей мере частично описаны наличие входных данных (1) о теле пользователя и данных (2) о предметах одежды, сопоставление данных (1) и (2) путем анализа целевой функции, результаты анализа - определение глобального оптимума целевой функции, выходные данные - рекомендации пользователю по выбору предметов одежды на основе результатов анализа целевой функции. В этих документах не описаны преобразование и/или фильтрация входных данных, наложение ограничений (краевых условий) на целевую функцию, сопоставление данных (1) и (2) с использованием нейронной сети и наличие в нейронной сети не менее двух слоев, причем первый слой реализует внутреннее представление сети о размерных признаках человека, а второй слой реализует внутреннее представление сети о размерных признаках предмета одежды (или бренда). В документе [Cl] описано применение нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.

В документе [С2] описано применение нейронной сети для переноса изображения предмета одежды с цифрового аватара одного человека на цифровой аватар другого человека.

В документе [СЗ] описано применение нелинейной регрессионной модели на основе нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека и применение рекуррентной нейронной сети для вычисления складок одежды в динамике.

В документе [С4] описано применение вейвлетной нейронной сети для дистанционного определения размера одежды.

В документе [С 5] дан обзор подходов к реализации виртуальных примерочных. Упоминается применение нейронных сетей.

В документе [С6] дан обзор подходов к реализации рекомендательных систем для одежды. Упоминается применение нейронных сетей.

В документе [С6] дан обзор подходов к реализации рекомендательных систем для одежды с использованием снимков, полученных пользователем самостоятельно.

В документе [С7] описано применение сверточной нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека в различных позах.

В документе [С8] описано применение преобразования сплайнов на основе сверточной нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека в различных позах.

В документе [С9] описано применение многослойной нейронной сети для реализации виртуальной примерочной.

В документе [С 10] описано применение конкурентной нейронной сети и самоорганизующейся нейронной сети для моделирования рубашек с целью реализации виртуальной примерочной.

В документе [С 11 ] описано применение сверточной нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.

В документе [С 12] описано применение нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.

В документе [С 13] описано применение глубокой нейронной сети для реализации рекомендательной системы для косметики. В документе [С 14] описано применение нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.

В документе [С 15] упоминается применение нейронной сети для формирования реалистичного изображения предмета одежды на цифровом аватаре человека.

В документе [С 16] дан обзор подходов к реализации виртуальных примерочных. Упоминается применение нейронных сетей.

В документе [С 17] дан обзор подходов к реализации виртуальных примерочных.

В указанных выше непатентных документах описаны подходы к применению нейронных сетей, в том числе многослойных, для решения задач, связанных с дистанционным выбором одежды.

Таким образом, технические решения известного уровня техники с большим или меньшим успехом решают фрагментарные задачи, так или иначе связанные с дистанционным выбором одежды. При этом технического решения, комплексно решающего задачу настоящего изобретения, в уровне техники не обнаружено.

Раскрытие изобретения

Задачей настоящего изобретения является определение антропометрических параметров пользователя, автоматическое оценивание соответствия предмета одежды форме и размерам тела пользователя в реальном времени, выработка и предоставление пользователю рекомендаций по выбору того или иного предмета одежды и, опционально, визуализация предмета одежды на цифровом аватаре этого пользователя в виртуальной примерочной, в том числе, при изменении его позы.

Техническим результатом настоящего изобретения является повышение точности модели тела пользователя, повышение эффективности дистанционного выбора одежды пользователем (ускорение и повышение точности выбора), улучшение впечатления пользователя (user experience) от дистанционной покупки, повышение удовлетворенности пользователя от покупки одежды (customer satisfaction) и, в конечном счете, увеличение объемов онлайн-продаж одежды и снижение доли одежды, возвращенной после покупки из-за неудовлетворительного соответствия форме и размерам фигуры пользователя.

Задача изобретения решена с применением способа дистанционного выбора одежды, включающего в себя:

- определение размерных признаков человека;

- определение размерных признаков одного или нескольких предметов одежды;

- сопоставление размерных признаков человека с размерными признаками одного или нескольких предметов одежды для определения степени соответствия человеку этих предметов одежды; - опционально визуализация предмета одежды;

- совершение выбора предмета одежды.

Определение размерных признаков человека может включать в себя формирование параметрической модели человека. Параметрическая модель человека может формироваться на основе геометрической модели человека, на основе данных физического обмера тела человека, на основе данных анкетирования, на основе данных двумерного изображения (например, фотографического снимка), на основе данных физического обмера эталонного предмета одежды, на основе данных оптического обмера эталонного предмета одежды. Параметрическая модель человека может формироваться с использованием нейронной сети и алгоритма машинного обучения.

Геометрическая модель человека может формироваться на основе данных трехмерного сканирования тела человека, включая оптическое сканирование. Оптическое сканирование может включать в себя использование камеры глубины, лазерного дальномера и других подобных средств, позволяющих получать данные о поверхности тела человека. Геометрическая модель человека может формироваться с использованием нейронной сети и алгоритма машинного обучения.

Размерные признаки человека могут определяться с использованием линейной алгебры и/или с использованием алгоритма машинного обучения. При этом возможен вариант осуществления изобретения, в котором сначала определяются промежуточные размерные признаки человека с использованием линейной алгебры, а затем определяются окончательные размерные признаки человека с использованием алгоритма машинного обучения. В алгоритме машинного обучения может использоваться регрессионная модель.

Размерные признаки предмета одежды могут определяться на основе производственной геометрической модели, которая может представлять собой физический манекен, трехмерную цифровую модель, набор лекал и т.д. Размерные признаки предмета одежды также могут определяться на основе производственной параметрической модели, которая может представлять собой по меньшей мере часть технологической документации предмета одежды, например, технического задания (tech pack) и/или листа спецификации (spec sheet) и/или спецификации материалов (bill of materials) и/или правил градации размеров (grading rules). Производственная параметрическая модель может представлять собой по меньшей мере часть размерной сетки бренда.

Размерные признаки предмета одежды могут определяться на основе данных физического обмера предмета одежды или на основе данных оптического обмера предмета одежды, в частности, с использованием алгоритма машинного зрения. Сопоставление размерных признаков человека и предмета одежды может включать в себя анализ целевой функции. В другом случае сопоставление размерных признаков человека и предмета одежды может включать в себя использование нейронной сети и алгоритма машинного обучения. Нейронная сеть может содержать по меньшей мере два слоя, один из которых выполняет роль энкодера, а другие выполняют роль декодера.

Слой, выполняющий роль энкодера, может обучаться отдельно от слоев, выполняющих роль декодера. В другом случае слой, выполняющий роль энкодера, может обучаться совместно со слоями, выполняющими роль декодера. Например, начальное обучение энкодера может выполняться отдельно от декодера, а дальнейшее обучение может выполняться совместно с декодером.

Размерные признаки человека и/или предмета одежды могут включать в себя по меньшей мере одно из следующего: высота, расстояние, обхват и расстояние по криволинейной поверхности. Для сопоставления размерных признаков человека и предмета одежды эти размерные признаки могут приводиться к сопоставимому виду или формату данных.

Визуализация предмета одежды может выполняться на виртуальном манекене или на аватаре пользователя. Аватар (цифровой двойник) может представлять собой 3D- модель тела человека и может обеспечивать реалистичное изображение головы человека. Аватар может учитывать индивидуальные особенности внешности пользователя - цвет кожи, разрез глаз, вид и цвет волос, возрастные проявления и т.д. Визуализация может включать в себя возможность задания и/или изменения положения аватара (позы, жестов и т.д.), ракурса, масштаба (приближение или удаление), ситуационного фона, условий освещения и т.п.

Выбор предмета одежды может выполняться из списка предметов одежды, ранжированного по степени соответствия этих предметов одежды пользователю. Соответствие предмета одежды может включать в себя физическое соответствие фигуре и стилистическое соответствие. Выбор предмета одежды может включать в себя отказ от выбора предмета одежды, т.е. выбор предмета одежды является опциональным и может отсутствовать в некоторых вариантах осуществления изобретения (например, если пользователю не удалось подобрать требуемый предмет одежды).

Способ определения размерных признаков человека может включать в себя:

- построение геометрической модели тела человека;

- построение параметрической модели тела человека на основе геометрической модели; - определение размерных признаков человека на основе параметрической модели тела человека.

Определение размерных признаков человека может дополняться определением типа фигуры человека.

Построение геометрической модели тела человека может включать в себя получение карты глубины и преобразование карты глубины в облако точек. Преобразование карты глубины в облако точек может включать в себя применение билатерального фильтра. Построение геометрической модели тела человека может выполняться для канонической позы человека.

Построение параметрической модели может включать в себя:

- вычисление начального приближения параметров позы;

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

- уточнение параметров позы и формы;

- построение графа морфирующего поля, обеспечивающего преобразование геометрической модели из канонической позы и/или формы в произвольную позу и/или форму.

При вычислении начального приближения параметров позы может использоваться информация о положении характерных точек скелета человека в параметрической модели. Характерные точки могут соответствовать центрам суставов и/или тем участкам скелета, которые учитываются при сегментации тела человека с точки зрения возможностей изменения позы.

Уточнение параметров позы может включать в себя минимизацию функции ошибки по параметрам позы. Функция ошибки по параметрам позы может включать в себя сумму квадратов углов между парами отрезков, связывающих характерные точки скелета человека в геометрической модели и в параметрической модели, и/или сумму квадратов расстояний между парами точек из множества характерных точек в геометрической модели и в параметрической модели, см. также раздел 2.2.

При этом может сначала использоваться функция ошибки по параметрам позы, равная сумме квадратов углов между парами отрезков, связывающих характерные точки скелета человека в геометрической модели и в параметрической модели, а затем - функция ошибки по параметрам позы, равная сумме квадратов расстояний между парами точек из множества характерных точек в геометрической модели и в параметрической модели. Уточнение параметров позы и формы может включать в себя минимизацию функции ошибки по параметрам позы и формы. Функция ошибки по параметрам позы и формы может представлять собой следующую функцию: где Р - множество видимых точек х геометрической модели, Q - параметры позы, b - параметры формы, U - множество видимых вершин n параметрической модели с параметрами позы и формы (0, b ), р- функция Хьюбера с параметром d , равным 1, см. также раздел 2.2.

Граф морфирующего поля может иметь вершины, содержащие координаты в трехмерном пространстве, параметры Евклидова преобразования, весовой коэффициент Евклидова преобразования. Граф также может иметь ребра между вершинами, обеспечивающие связность морфирующего поля, т.е. гладкость геометрической модели требуемой формы в произвольной позе, которая может быть построена на основе параметрической модели. Гладкость такого преобразования может быть важной при формировании аватара пользователя с целью качественной визуализации предмета одежды.

Формирование вершин графа может включать в себя:

- выбор значения d радиуса соседства;

- разбиение пространства на вокселы со стороной 2<5;

- определение координат вершины, как координат медоида для каждого воксела;

- назначение весового коэффициента, равного 2<5, для каждой вершины, см. также раздел 2.2.

Ребра между вершинами графа могут формироваться, когда эти вершины являются одними из ближайших, например, восьми соседних вершин по кратчайшему пути в графе.

Евклидово преобразование произвольной точки х может включать в себя:

- определение ближайших к точке х вершин v c графа;

- вычисление взвешенной суммы двойных кватернионов этих вершин, при этом вес w каждого двойного кватерниона рассчитывается по следующей формуле: или принимается равным 0, если || х - v c || 2 > 3v w , где v w - весовой коэффициент вершины;

- нормирование результата суммирования;

- построение матрицы ортогонального преобразования R и вектора переноса t, при этом результатом преобразования точки х является точка Rx + t. Параметрическая модель тела человека может строиться с использованием нейронной сети и алгоритма машинного обучения, который может включать в себя использование функции ошибки определения характерных точек скелета человека в двумерном пространстве, функции ошибки определения характерных точек скелета человека в трехмерном пространстве, функции ошибки определения параметров модели SMPL и функции ошибки определения карты глубины, см. также раздел 2.2. В алгоритме машинного обучения может использоваться регрессионная модель.

Определение размерных признаков предмета одежды может включать в себя получение размерных признаков предмета одежды из производственной модели. Производственная модель может быть параметрической моделью, а получение размерных признаков предмета одежды может включать в себя преобразование параметров производственной модели в размерные признаки предмета одежды. Производственная модель может быть геометрической моделью, а получение размерных признаков предмета одежды может включать в себя преобразование геометрической производственной модели в параметрическую производственную модель и последующее преобразование параметров производственной модели в размерные признаки предмета одежды.

Производственная геометрическая модель может представлять собой физический манекен, трехмерную цифровую модель или набор лекал. Производственная параметрическая модель может представлять собой по меньшей мере часть технологической документации предмета одежды и/или по меньшей мере часть размерной сетки бренда.

Определение степени соответствия человеку предмета одежды может включать в себя сопоставление размерных признаков человека и предмета одежды с использованием целевой функции, учитывающей влияние каждого размерного признака на степень соответствия человеку предмета одежды.

Целевая функция может представлять собой функцию гдеМ- число размерных признаков, DP cust - размерный признак человека, DP prod - размерный признак предмета одежды, - взвешивающий коэффициент, и может подвергаться минимизации.

Определение степени соответствия человеку предмета одежды может включать в себя определение рекомендуемого размера S одежды:

S = S(\n,$,) / 2лт, + ds , где Si - размер, соответствующий /-му размерному признаку, w, - весовой коэффициент /- го размерного признака, ds - по меньшей мере одно опциональное поправочное значение. Поправочное значение может определяться индивидуально для каждого пользователя или для группы пользователей, например, обладающих фигурами одного типа. Вычисленный таким образом размер может дополнительно приводиться в соответствие с размерной сеткой бренда.

Результатом может являться список предметов одежды, в котором предметы одежды могут быть расположены в соответствии с рейтингом посадки, а предметы одежды с одинаковым рейтингом посадки дополнительно могут быть ранжированы по значению ошибки посадки.

Размерные признаки человека могут представлять собой размерные признаки эталонного предмета одежды, т.е. такого предмета одежды, соответствие которого пользователю не вызывает сомнений. В частности, размерные признаки эталонного предмета одежды могут использоваться непосредственно при анализе другого предмета одежды, например, того же бренда, относящегося к той же размерной сетке, или могут пересчитываться в размерные признаки в другой размерной сетке, если соотношения размерных признаков в этих размерных сетках заранее известны.

Определение степени соответствия человеку предмета одежды может включать в себя учет стилистических рекомендаций, например, связанных с типом фигуры пользователя.

Определение степени соответствия человеку предмета одежды может включать в себя сопоставление размерных признаков человека и предмета одежды с использованием нейронной сети и алгоритма машинного обучения. Алгоритм машинного обучения может быть реализован в виде классификатора. В другом случае алгоритм машинного обучения может быть реализован в виде алгоритма градиентного бустинга дерева решений.

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

- получение изображения тела человека в произвольной позе;

- получение параметрической модели тела человека;

- получение параметрической модели предмета одежды;

- изменение параметров параметрической модели тела человека для ее соответствия произвольной позе;

- формирование изображения предмета одежды на человеке в произвольной позе.

Изображение пользователя может быть получено с любого устройства, способного формировать такое изображение, например, со смартфона, планшета, игровой приставки, ноутбука, настольного компьютера, телевизора, оснащенного камерой, и т.п. Полученное изображение пользователя в произвольной позе может содержать карту глубины и/или двумерное изображение. Параметры позы и/или формы параметрической модели тела пользователя могут изменяться таким образом, чтобы форма и поза аватара пользователя соответствовали полученному изображению. Такая обработка может выполняться в реальном времени.

Предполагается, что параметры формы параметрической модели тела пользователя в целом соответствуют форме тела пользователя. Тем не менее, если в процессе обработки выявляется существенное расхождение формы тела аватара пользователя с формой тела пользователя, зафиксированной на полученном изображении, параметрическая модель может быть скорректирована. Необходимость такой коррекции может быть вызвана как ограниченной точностью формирования параметрической модели, так и фактическими изменениями формы тела пользователя после формирования параметрической модели, например, увеличением или снижением массы тела, целенаправленной проработкой некоторых групп мышц, изменением осанки, беременностью и т.д.

Краткое описание чертежей

Подробное описание различных вариантов реализации изобретения на практике приведено далее со ссылками на приложенные чертежи.

На фиг. 1 представлена блок-схема алгоритма обработки результатов сканирования и построения модели тела пользователя на основе карт глубины.

На фиг. 2 представлен пример изменения сцены для соответствия входным данным, сверху вниз: поверхность сцены в каноническом состоянии, входные данные - облако точек входного кадра, поверхность сцены, преобразованная согласно входным данным.

На фиг. 3 представлена шарнирная модель скелета тела человека, в которой красные (крупные) точки входят во множество ключевых точек скелета, синие (мелкие) точки не входят в него, а зеленые отрезки соответствуют костям рук, ног, позвоночнику, включая шею, а также линиям плеч и таза.

На фиг. 4 проиллюстрировано решение проблемы, связанной с регуляризацией семантически несвязанных вершин, в частности вершин правой и левой ног, где слева направо представлены: исходная модель, граф, инициализированный предложенным методом, и граф, инициализированный обычной процедурой поиска ближайших соседей. Особое внимание следует обратить на спутанность ног при обычной процедуре.

На фиг. 5 слева представлена визуализация морфирующего поля, в центре - поверхность, полученная из карты глубины очередного кадра, справа - та же поверхность после преобразования в каноническое положение. На фиг. 6 проиллюстрирована сегментация тела человека, где сегменты обозначены разными цветами, а соседние сегменты соединены линиями.

На фиг. 7 слева изображен результат рендеринга поверхности в карту глубины, а справа - исходная поверхность с видимыми вершинами, обозначенными красными точками.

На фиг. 8 представлен набор моделей, которые можно получить путем преобразования исходной модели SMPL за счет вариации трех параметров формы при фиксированных параметрах позы. Красными точками отмечены положения скелетных суставов.

На фиг. 9 представлены дефекты сканирования на примере трехмерных снимков набора данных CAESAR - наличие участков поверхности тела с недостающей информацией в районе стоп, кистей и внешней поверхности рук, плечей, головы, а также «склеенных» участков.

На фиг. 10 представлен скелет как дерево вершин, где каждая вершина характеризуется положением в пространстве и представляет собой точку сочленения «костей» скелета, а цветом показаны зоны влияния каждого сустава на поверхность модели тела.

На фиг. 11 проиллюстрировано появление существенных артефактов у модели HumanShape при изменении параметров формы тела человека из-за их влияния на положение скелетных точек.

На фиг. 12 проиллюстрировано возникновение шумовых геометрических структур, расположенных внутри модели тела человека. Одна геометрическая структура (подсвечена зеленым цветом), попадает в отдельную компоненту связности графа и может быть сравнительно легко удалена, а другая геометрическая структура, являющаяся частью поверхности левого плеча (подсвечена желтым цветом) является частью поверхности тела человека.

На фиг. 13 представлен пример карты глубины, где цвет указывает на расстояние до точки, а цветовая шкала градуирована в метрах. Карта глубины представляет собой данные о расстоянии от проекционной плоскости камеры до поверхности трехмерной сцены.

На фиг. 14 проиллюстрировано поэтапное применение параметров формы и параметров позы с предварительным пересчетом координат скелетных суставов, а затем с применением общих параметров трансформации - масштабирования и смещения. Далее вычисляется функция потерь на основе среднеквадратичного отклонения от ближайших вершин. На фиг. 15 представлен график функции активации, используемой при вычислении компоненты, штрафующей за слишком большую величину углов между нормалями соседних треугольников.

На фиг. 16-18 представлено сравнение результатов работы предложенной модификации алгоритма NRD и исходного алгоритма [В 15] на трехмерном снимке из набора CAESAR. Слева направо представлены: предложенная версия NRD, исходный трехмерный снимок и исходная версия NRD. Цветом обозначены отклонения от трехмерного снимка: белый цвет означает нулевое отклонение, красный цвет означает отклонение не менее 15 мм.

На фиг. 19 представлены результаты работы алгоритма NRD. Слева направо: с классической функцией потерь, 25 тысяч вершин в трехмерном снимке; с классической функцией потерь, 250 тысяч вершин в трехмерном снимке; и с модифицированной функцией потерь, 250 тысяч вершин в трехмерном снимке.

На фиг. 20 представлены регистрации одного и того же трехмерного снимка с помощью разных параметрических моделей. Слева направо: регистрация на основе модели HumanShape (18659 вершин), исходный трехмерный снимок (250000 вершин), регистрация на основе модели SMPL (18890 вершин).

На фиг. 21 А представлены ошибки при регистрации набора данных. Оранжевым цветом обозначены результаты, полученные на основе модели HumanShape, а синим - на основе модели SMPL. Сплошной линией отмечены результаты инициализации регистрации методом, описанным в разделе 2.9.2, а пунктирной линией улучшения регистрации с использованием предложенной модификации алгоритма NRD.

На фиг. 21Б представлены ошибки при регистрации набора данных CAESAR. Синим цветом обозначены результаты регистрации, полученные предложенным методом, а оранжевым цветом - полученные исходным методом.

На фиг. 22 представлен график зависимости объясненной дисперсии от количества учитываемых параметров пространства формы.

На фиг. 23 представлено сравнение начальной позы и формы параметрической модели SMPL (слева) и полученной параметрической модели (справа) для мужского и женского тела.

На фиг. 24 представлена визуализация результата раздельного изменения первых четырех параметров формы при фиксации остальных параметрах полученной женской параметрической модели.

На фиг. 25 представлен график величины коррекции в А-позе для каждой ноги в виде разности фактической длины ноги и ее проекции на вертикальную ось. На фиг. 26 представлена визуализация размерного признака в виде антропометрической точки.

На фиг. 27 представлена визуализация размерного признака в виде расстояния между двумя антропометрическими точками.

На фиг. 28 представлена визуализация размерного признака в виде обхвата.

На фиг. 29 проиллюстрирован способ измерения размерного признака в виде расстояния по поверхности.

На фиг. 30 представлена визуализация размерного признака в виде расстояния по поверхности.

На фиг. 31 представлен результат сравнения размерных признаков, полученных с помощью заявленного алгоритма, с размерными признаками, полученными путем обмеров тела вручную.

На фиг. 32 представлен результат сравнения размерных признаков, полученных с помощью заявленного алгоритма, с размерными признаками, определенными по трехмерному снимку.

На фиг. 33 представлена блок-схема укрупненного алгоритма дистанционного выбора одежды.

На фиг. 34 представлен иллюстративный пример системы для осуществления способа дистанционного выбора одежды в среде В2С.

На фиг. 35 представлен иллюстративный пример системы для осуществления способа дистанционного выбора одежды в среде В2В .

На фиг. 36 схематично представлена архитектура алгоритма Human Mesh Recover.

На фиг. 37 схематично представлена архитектура сетей-дискриминаторов для обработки параметров модели SMPL.

На фиг. 38 схематично представлена архитектура модифицированного алгоритма Human Mesh Recover и примеры проекции вершин и карты расстояний.

На фиг. 39 представлен пример карты ошибок предсказанной сеточной параметрической 3D модели. Обучение алгоритма может включать в себя штраф за ошибки.

На фиг. 40 представлен результат работы системы. Слева направо: карта глубины, сегментация, ключевые точки, эталонная модель.

На фиг. 41 представлен пример простейшей установки для оптического сканирования одежды. На фиг. 42 проиллюстрирована работа алгоритма компьютерного зрения, который определяет вид или категорию одежды, выявляет ключевые точки на изображении, вычисляет контур одежды и на основе этих данных определяет размеры.

На фиг. 43 представлена блок-схема укрупненного алгоритма рекомендации подходящего размера для конкретной модели одежды.

На фиг. 44 схематически представлена структура нейронной сети для реализации способа рекомендации на основе алгоритма машинного обучения.

Осуществление изобретения

Далее описаны варианты практической реализации изобретения, не имеющие ограничительного характера. Целью последующего описания является иллюстрация подходов к практической реализации изобретения, а не ограничение объема изобретения описанными вариантами.

Для реализации описанного выше подхода предложен следующий укрупненный алгоритм действий (фиг. 33):

- (31) оптическое сканирование тела пользователя;

- (32) обработка результатов сканирования и построение модели тела пользователя;

- (33) определение из построенной модели антропометрических параметров тела пользователя;

- (34) выбор по антропометрическим параметрам одной или нескольких наиболее близких производственных моделей из массива производственных моделей разных производителей одежды;

- (35) поиск предметов одежды, пошитых с применением выбранных производственных моделей или пошитых любым образом и предварительно обмеренных с помощью камеры или вручную;

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

- (37) (опционально) совершение выбора и (опционально) покупки выбранных предметов одежды.

Вместо шагов (31) и (32) возможно построение модели тела пользователя на основе данных о пользователе, полученных с использованием одного или нескольких из следующих способов:

- заполнение пользователем анкеты;

- фотографирование пользователя с одного или нескольких ракурсов;

- физические измерения тела пользователя. Кроме того, в некоторых случаях этап построения модели тела на шаге (32) пользователя может быть опущен и антропометрические параметры тела пользователя могут быть получены непосредственно из упомянутых выше данных о пользователе.

В качестве антропометрических параметров пользователя могут быть использованы параметры статистической модели тела человека или заранее известные подходящие пользователю размеры одежды выбранных брендов.

Вместо шагов (34) и (35) может выполняться сравнение антропометрических параметров пользователя с размерной сеткой бренда, с результатами замеров одежды и др. Подробное описание предложенных реализаций представлено в разделах 4 и 5.

Шаги (36) и (37) могут быть реализованы в способе, применяемом в онлайн- торговле. Один или оба эти шага могут отсутствовать в способе, применяемом в других ситуациях, например, при формировании виртуального гардероба пользователя, при отложенных покупках, при индивидуальном пошиве одежды с дистанционным снятием мерок, при статистических или маркетинговых исследованиях ит.п.

Необходимо отметить, что в настоящем тексте используется термин «оптическое сканирование», но при этом все сказанное верно и в более общем случае: т. е. везде по тексту вместо термина «оптическое сканирование» допустимо использование более широкого термина «трехмерное сканирование», верность всех утверждений при этом полностью сохраняется.

Также необходимо отметить, что кроме оптического/трехмерного сканирования все сказанное в настоящем тексте верно и при захвате любым образом любых данных, необходимых для воссоздания модели человека, в том числе фото- и видеосъемка (к примеру, с использованием подходом фотограмметрии), а также проведение различных измерений (рост, вес и др.).

Также необходимо отметить, что поиск и выбор можно осуществлять не только по антропометрическим параметрам, как указано на шаге (34), но и по различным иным параметрам (параметрам статистической модели и т. д.). Таким образом, везде, где в настоящем тексте встречается термин «антропометрические параметры» (включающий в себя, в частности, размерные признаки и тип фигуры), его можно заменить на более широкий термин «параметры модели» с полным сохранением смысла.

Также необходимо отметить, что под используемым в данном тексте термином «производственные модели» могут подразумеваться физические манекены, живые модели (манекенщики и манекенщицы на производстве), компьютерные модели (манекенов, манекенщиков, манекенщиц). В случае рекомендаций одежды на основе сравнения антропометрических параметров пользователя и замеров одежды, замерами одежды могут быть замеры сшитой одежды, замеры лекал одежды либо иные параметры. Они могут быть получены из производственной документации одежды (tech pack, grading rules) либо замерами одежды или лекал одежды.

Если получение производственной документации с таблицами замеров одежды от производителей одежды невозможно или занимает продолжительное время (бизнес- договоренности, подписание соглашений), возможно получение замеров одежды с использованием оптического сканирования.

Оптическое сканирование одежды предполагается производить на специальной установке. Установка состоит из стола, например, со светлой столешницей и статической, заранее откалиброванной, камеры (фиг. 41). Для каждого снимка одежды применяется алгоритм компьютерного зрения (фиг. 42), который:

1) выявляет тип одежды;

2) вычисляет ключевые точки на снимке;

3) вычисляет контур одежды на снимке.

Применяемый алгоритм состоит из набора сверточных нейронных сетей, выполняющих каждую задачу по отдельности: классификатор, регрессор и сегментатор, соответственно.

По полученным описанным алгоритмом данным производится вычисление характерных для каждого вида одежды замеров. Для этого применяются заранее подготовленные для каждого типа одежды правила преобразования ключевых точек и контура в целевые замеры. В завершение алгоритма, используя параметры калибровки камеры, производится трансформация поученных замеров в метрическое пространство.

При рекомендации одежды по размеру, предполагается, что имеются:

1) размерные признаки пользователя;

2) база данных замеров одежды, стратифицированная по типу одежды;

3) правила сопоставления размерных признаков пользователя и замеров одежды.

В таком случае алгоритм рекомендации определенного типа одежды по размерным признакам является алгоритмом сравнения векторов в евклидовом пространстве hnsw или faiss.

1. Оптическое сканирование тела пользователя

Оптическое сканирование тела пользователя может выполняться различными способами, включая лазерное сканирование, сканирование со структурированной подсветкой, ToF -сканирование (time-of-flight), фотографирование с фиксированных ракурсов, видеосъемку и т.д. Сканирование может выполняться с одной или с нескольких точек. Каждая точка, из которой выполняется сканирование, может быть фиксированной или может перемещаться по определенной траектории. В описанном далее примере реализации изобретения модель строится с использованием полученного при сканировании облака точек, но этот пример носит лишь иллюстративный характер и для построения модели могут использоваться входные данные других видов, такие как карты глубины, изображения со спроецированной структурированной подсветкой и пр.

Облако точек может быть получено с применением оптических средств (т.н. «камер глубины»), способных определять глубину трехмерной сцены с достаточным разрешением. Такими возможностями, в частности, обладают устройства Stereolabs ZED, Carnegie Robotics MultiSense, Ensenso N35, Nerian SceneScan, Intel RealSense, Zivid One+, Arcure Omega и т.д. Возможно также применение устройств ASUS Xtion, ASUS Xtion2, Orbbec Astra, Orbbec Persee, Microsoft Kinect, Microsoft Kinect 2, Azure Kinect и подобных им. Ожидается, что в обозримом будущем «камеры глубины» приемлемого разрешения (а также приемлемого уровня шума) могут быть интегрированы в некоторые модели смартфонов и иных мобильных устройств (iPhone X, iPad Pro (2018), Huawei Mate 20 Pro и np.).

Далее описываются два подхода к обработке результатов сканирования, позволяющие в результате получить параметрическую модель тела человека (раздел 2.8). Первый из подходов основывается на обработке карт глубин и описан в разделе 2. Альтернативный подход позволяет получить параметрическую модель тела человека с использованием одной или нескольких цветных фотографий человека и описан в разделе 3. Данные подходы могут использоваться как независимо, так и вместе. Например, построенная по фотографии модель человека может использоваться для инициализации метода, осуществляющего трехмерную реконструкцию, при наличии на записывающем устройстве возможности одновременной съемки цветных изображений и карт глубин.

2. Обработка результатов сканирования и построение модели тела пользователя на основе карт глубины

Обработка результатов сканирования основана на принципе трехмерной реконструкции динамических сцен с использованием информации о теле человека из параметрической модели и базируется на идеях, изложенных в [В 1 ], с изменениями, направленными на расширение возможностей алгоритма, а именно на уменьшение ошибок, возникающих вследствие резких движений и перекрытий, а также на увеличение разнообразия возможных начальных позиций пользователя. Изменения относятся к применению сегментации входных карт глубин по частям тела и к положению ключевых точек скелета, а также к алгоритму инициализации и оптимизации.

Г рафически предложенный способ обработки представлен на фиг. 1. Алгоритм начинает работу с фильтрации подаваемых на вход карт глубины и с преобразования их в облака точек с помощью матрицы внутренней калибровки камеры глубины. Следующим шагом работы алгоритма является инициализация канонической формы и позы параметрической модели. Затем вычисляются изменения параметров преобразования пространства, а также изменения параметров позы модели для наилучшего соответствия очередному кадру изображения. Вычисленные параметры применяются для интеграции данных во внутреннее представление, которое содержит человека в исходной (канонической) позиции. После интеграции алгоритм выполняет подгонку параметров формы и канонической позы.

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

Работа алгоритма предполагает выявление соответствий между облаком точек в трехмерном пространстве, соответствующим текущим измерениям глубины, и поверхностью сцены, полученной из ранее поступивших данных, поэтому поступающие на вход карты глубины должны быть преобразованы в облако точек. Однако карты глубины могут быть сильно зашумлены, например, как показано в [В2], что негативно сказывается на стабильности работы алгоритма. Исходя из предположения о том, что для поверхности тела человека характерно отсутствие резких изменений, можно считать, что изменения глубины между соседними пикселями должны быть резкими только на границах, поэтому для уменьшения шума можно применить билатеральный фильтр [ВЗ], сглаживающий карту глубины, сохраняя границы неизменными. Для преобразования карты глубины в облако точек используется заранее заданная матрица внутренней калибровки камеры [В4].

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

Для начала работы всех алгоритмов, основанных на методике дополнения внутреннего представления сцены, к которым также относится и предложенный способ, необходимо определить начальное или, иначе, каноническое состояние сцены, которое затем будет изменяться морфирующим полем для обеспечения соответствия текущему кадру. На фиг. 2 приведен пример изменения сцены для соответствия входным данным, сверху вниз: поверхность сцены в каноническом состоянии, облако точек входного кадра, измененная под входные данные поверхность сцены.

В алгоритме [В 1 ] для начала работы алгоритма пользователь должен стоять в определенной позе, что в контексте применения метода в потребительском сегменте создает дополнительные ограничения. В данной разработке предлагается обойти это ограничение, для чего использован алгоритм инициализации, основанный на результатах работы [В5].

На вход алгоритма подается первый кадр последовательности, а также информация о сегментации и ключевых точках скелета. Работа алгоритма включает в себя ряд шагов: (1) вычисление начального приближения параметров позы, (2) итеративную минимизацию функции ошибки по параметрам формы и позы, (3) инициализацию графа морфирующего поля по вершинам модели.

На этапе вычисления начального приближения используется информация о положении ключевых точек скелета в параметрической модели и на входном кадре. Поскольку между ключевыми точками, определяемыми на входном кадре, и ключевыми точками модели в общем случае нет четкого соответствия, то для определения значений параметров модели по ключевым точкам, полученным от сенсора, был разработан вспомогательный алгоритм, состоящий из двух шагов.

На первом шаге выполняется минимизация по параметрам позы функции, равной сумме квадратов углов между парами отрезков: £ =i cing(My , Ку) 2 , где апд (а, Ь) - угол между отрезками, М у , К у - i- й отрезок из упорядоченного множества отрезков, проведенных, соответственно, между некоторыми ключевыми точками модели или некоторыми ключевыми точками, полученными с сенсора, к = \Му\ = \Ку\. Отрезки из множеств Му и Ку соответствуют костям рук, ног, отделам позвоночника, а также линиям плеч и бедер.

На втором шаге по параметрам позы минимизируется сумма квадратов расстояний между парами точек (Mj, К ' ) из упорядоченных множеств M j и K j ключевых точек сенсора и модели:

Пример множеств Му и M изображен на фиг. 3, где красные (крупные) ключевые точки входят во множество M , синие (мелкие) точки не входят в него, а зеленые отрезки (соединяющие крупные ключевые точки) входят во множество Му.

На втором этапе для уточнения параметров позы, а также для определения параметров формы модели используется минимизация функции ошибки, определенной как

E M LR,q,b) S min pQ\v - xjj) + ) mm (j|v - xj|) veu x P x £P v£U (1) где P - облако точек, образованное из подаваемой на вход карты глубины, b - параметры формы модели, Q - параметры позы, U - видимая с точки зрения камеры часть вершин параметрической модели с параметрами позы и формы (0, b ). Подробно проблема определения видимых вершин обсуждается далее.

Функция р(х) является функцией Хьюбера L (х) с параметром d , равным 1 :

В результате второго этапа работы алгоритма становятся известны параметры модели в канонической позе и форме, по которым на заключительном этапе производится инициализация графа Gf= (Vp E j ) морфируюгцего поля. Подобно описанному в работе [В6], вершины V графа содержат координаты в трехмерном пространстве, параметры Евклидова преобразования и его вес, а ребра £/ между вершинами необходимы для расчета регуляризации, обеспечивающей плавность перехода между частями пространства.

Инициализация координат выполняется путем выборки вершин параметрической модели в канонической позе и форме. Метод выборки изложен далее. Вначале выбирается радиус соседства d , который также является параметром для веса v w каждой вершины из множества вершин Vf. v w = 2d. Вершины модели V т разбиваются на группы согласно координатам воксела, в который каждая вершина попадет, если разбить пространство на вокселы со стороной 2d. Затем координаты вершин в каждой группе усредняются и выбирается ближайшая к результату вершина модели. Она становится членом множества

1 -

Ребра между вершинами £/ определяются следующим образом: поскольку для параметрической модели определены не только вершины, но и грани, то для нее также возможно определить ребра, соединяющие вершины, а значит, возможно определить ненаправленный граф G m = (V m , Е,„) и задать ребрам графа веса, равные расстоянию между соответствующими вершинами. Тогда вершины v и и (v, и Е Vj) считаются связанными, если и для V или v для и является одним из N ближайших соседей по длине кратчайшего пути в графе G m. Значение N принимается равным 8.

Эта процедура позволяет избежать проблемы, связанные с регуляризацией семантически несвязанных вершин, например, вершин правой и левой ног - см. фиг. 4, где слева направо представлены: исходная модель, граф, инициализированный предложенным методом, и граф, инициализированный обычной процедурой поиска ближайших соседей. Особое внимание следует обратить на спутанность ног при обычной процедуре.

2.3. Морфирующее поле Вершины инициализированного в предыдущем разделе графа Gf задают структуру морфирующего поля, которое применяется для преобразования поверхности сцены из канонической формы в форму, соответствующую очередному кадру. Как было упомянуто ранее, каждая вершина v Е Vf содержит координаты v c , вес v w и нормированный двойной кватернион x> dq , кодирующий Евклидово преобразование.

Для вычисления преобразования конкретной точки х в трехмерном пространстве применен алгоритм смешивания двойных кватернионов [В7], для чего необходимо найти К ближайших к х вершин из числа V/, после чего вычислить взвешенную сумму двойных кватернионов этих вершин. Вес для каждого слагаемого рассчитывается по формуле w ехр ( z nx, ) или д ДЯ оптимизации дальнейших расчетов полагается равным 0, если II х - v c II 2 > 3i Результат суммирования представляет собой двойной кватернион, но он не является нормированным и, соответственно, не является Евклидовым преобразованием, поэтому далее результат нормируется. После этого по нормированному двойному кватерниону строится матрица ортогонального преобразования R и вектор переноса t, а преобразованной точкой является точка Rx + t.

Морфирующее поле применяется не только для преобразования поверхности из канонического состояние в текущее, но и для выполнения обратного преобразования на этапе интеграции новых данных. Для этого в процесс интеграции, подробно описанный в [В2], вводится изменение - этому преобразованию подвергается центр каждого воксела перед проецированием на карту глубины. В результате такой интеграции реализуется обратное преобразование без необходимости дополнительного расчета обратных матриц, см. фиг. 5, где слева представлена визуализация морфирующего поля, в центре - поверхность, полученная из карты глубины очередного кадра, справа - та же поверхность после преобразования в каноническое положение.

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

В качестве параметрической модели в предлагаемом алгоритме была использована модель SMPL [В8]. Эта модель обладает следующими преимуществами:

- алгоритм вычисления сеточной модели состоит из умножения матриц и скиннинга, что допускает эффективную реализацию на графических процессорах;

- параметры для позы и формы разделены;

- открыты исходные материалы алгоритма;

- в качестве базы для представления пространства форм тела человека была использована самая большая база данных CAESAR [В9], к которой нет открытого доступа. Необходимо отметить, что вместо модели SMPL можно использовать другие параметрические модели человека, например, HumanShape, S-SCAPE, собственную параметрическую модель человека, созданную ООО «Тексел», и т.д.

Также необходимо отметить, что возможно использование как базы данных CAESAR, так и других баз данных моделей людей, в том числе собственной базы моделей людей, созданной ООО «Тексел».

В ходе интеграции модели SMPL в алгоритм построения этой модели были внесены следующие изменения:

(1) была создана версия алгоритма для работы на графическом процессоре;

(2) в целях увеличения производительности автоматический расчет производных вершин по параметрам модели заменен на отдельный алгоритм, основанный на результатах ручного расчета, а также проведена общая оптимизация;

(3) добавлен расчет нормалей к поверхности и их производных по параметрам для каждой вершины;

(4) согласно результатам [В 1 ], из модели был удален компонент, влияющий на форму при изменении параметров позы, для улучшения сходимости на этапе минимизации ошибки.

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

После предварительной обработки очередного кадра и его преобразования в облако точек необходимо изменить позу модели и параметры морфирующего поля так, чтобы поверхность сцены в текущем виде соответствовала новым наблюдениям, а поза соответствовала текущему положению пользователя. Для достижения этих целей реализована минимизация суммы функций, которые можно разделить на несколько групп:

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

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

- разобщение преобразования сцены и скиннинга;

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

Предлагаемые функции основаны на идеях [В 1 ] с изменениями для учета информации о положении отдельных сегментов тела.

Ошибки морфирующего поля и положения модели определены как функции где С - множество соответствий, то есть множество пар (v, и), в которых v - вершина видимой поверхности сцены или модели в каноническом состоянии, и - точка из облака точек текущего кадра, n v - нормаль к поверхности в точке V, а //, и п, - вершины или нормали, преобразованные морфирующим полем и функцией скиннинга модели, соответственно .

Множество соответствий С формируется из пар ближайших друг к другу точек, которые принадлежат одному или соседним сегментам. Соседство сегментов устанавливается заранее и каждому сегменту тела сопоставляется ключевая точка скелета. В свою очередь, ключевые точки имеют иерархическую структуру - каждая точка, кроме корневой, имеет родителя. Поэтому сегменты признаются соседними, если соответствующие им ключевые точки связаны отношением «родитель-потомок», за исключением двух особых сегментов в плечевой области, определяемых вручную.

Пример сегментации и отношения соседства приведены на фиг. 6, где различные сегменты имеют различные цвета, а соседние сегменты соединены линиями.

Функции разобщения и регуляризация определены как функции где W x - вес скиннинга для вершины х, который определен параметрической моделью для каждой ее вершины, р - весовая функция Хьюбера [В 10] с параметром d = 0,2, Т х - матрица евклидова преобразования размером 4x4, соответствующая двойному кватерниону вершины х. Эта функция имеет интуитивный смысл - обеспечение плавного изменения поверхности, при этом соседние вершины должны преобразовываться данной функцией так же, как они преобразуют сами себя. Весовая функция Хьюбера, убывающая при увеличении аргумента, будет уменьшать влияние регуляризации, если вершины находятся на разных частях тела, поскольку в этом случае их веса скиннинга будут отличаться значительно. Регуляризация увеличивает стабильность, однако уменьшает способность к адаптации при резких изменениях.

Таким образом, по параметрам позы модели и параметрам преобразования поля минимизируется функция

Тем не менее, если выполнять безусловную оптимизацию по параметрам преобразования морфирующего поля, которые представляют собой нормированные двойные кватернионы, они становятся ненормированными и перестают представлять собой Евклидово преобразование. При этом задание условий соблюдения единичной нормы зачастую снижает производительность и ухудшает сходимость. Для решения данной проблемы над параметрами поля дополнительно выполняется логарифмическое преобразование [В 11], что позволяет представить их в виде векторов из 6 , где каждый такой вектор соответствует нормированному двойному кватерниону.

Заметим, что функция (6) может быть представлена в виде суммы квадратов. Следовательно, для минимизации такой функции применим метод Гаусса-Ньютона [В 12]. Как и в методе [В2], благодаря тому, что на каждую преобразованную полем точку действует только N = 5 ближайших вершин, не требуется хранить матрицу якобиана целиком, достаточно хранить только 6 N = 30 значений для каждого слагаемого функции Е fi ei . Для функций, в которых есть зависимость от параметров позы, необходимо дополнительно хранить 3x25 = 75 значений, по количеству параметров формы модели.

Система J T Jx = Je, где J - якобиан, е - вектор значений слагаемых функции ошибки, может быть решена напрямую, к примеру, методом Г аусса, либо итеративно методом конгруэнтных градиентов [В 13], причем в последнем случае для увеличения производительности и дополнительной регуляризации можно провести ограниченное число итераций, оставив решение приближенным. Далее обсуждаются оба варианта решения.

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

При расчете функции ошибки во внимание берется только видимая часть поверхности сцены. Для того, чтобы приближенно определить подмножество видимых вершин поверхности, был разработан и применен следующий алгоритм:

- производится рендеринг поверхности в карту глубины, для чего выполняется стандартный рендеринг, затем считывается буфер глубины, при этом параметры камеры задаются теми же, что на этапе интеграции предыдущего кадра;

- вершины поверхности проецируются на плоскость изображения, по координатам проекции вычисляется соответствующий им пиксель произведенной ранее карты глубины;

- расстояние z vert от плоскости до вершины сравнивается со значением z epth в соответствующем пикселе карты глубины: если z vert < z depth + £, то вершина считается

_2 видимой. В данном случае использовано значение e = 10 .

На фиг. 7 слева изображен результат рендеринга поверхности в карту глубины, а справа - исходная поверхность с видимыми вершинами, обозначенными красными точками)

2.7. Коррекция формы и канонической позы модели После этапа интеграции нового кадра внутреннее представление сцены дополнено новой информацией, в связи с чем становится возможным уточнить предположение о канонической позе и форме модели. Для этого используется алгоритм оптимизации, являющийся частью [В 1 ] : алгоритм минимизирует функцию (7) по параметрам q, b : где V сапоп - множество вершин модели с параметрами позы и формы q, b, параметры в ргеу , b r ,- y являются предыдущими значениями параметров, функция D(x) дает значение TSDF внутреннего представления в данной точке с применением трилинейной интерполяции по значениям близлежащих вокселов. Нулевое значение TSDF соответствует поверхности либо отсутствию информации об этой точке. Следовательно, минимум функции (7) будет достигнут, если все вершины модели будут находится на плоскости, либо вне области наблюдений. Для того чтобы предотвратить выход модели за область наблюдений, применяется регуляризация с использованием предыдущих значений параметров. Как и в случае функции (6), функция (7) является суммой квадратов, поэтому может быть минимизирована описанными ранее методами.

Результатом выполнения описанных выше действий является ЗО-модель тела пользователя. Следует отметить, что сканирование тела пользователя и построение его модели достаточно выполнить один раз и сохранить в соответствующем формате в компьютере или в мобильном устройстве пользователя либо в облачном сервисе. В дальнейшем модель тела пользователя может быть актуализирована или уточнена повторным сканированием или ручной коррекцией, например, путем указания физически снятых с пользователя мерок.

Следует также отметить, что модель тела пользователя может включать в себя подробную модель головы (включая лицо) пользователя, используемую для фотореалистичного рендеринга при визуализации внешнего вида пользователя в одежде. Это позволяет получить от пользователя больший эмоциональный отклик и, в конечном счете, способствует увеличению объема покупок в денежном выражении.

2.8. Параметрическая модель тела человека

Параметрическая модель тела человека позволяет получить ЗО-модель тела на основе двух низкоразмерных векторов, определяющих форму и позу человека. Пример моделей, которые можно получить в результате вариации параметров формы при фиксированных параметрах позы, можно увидеть на фиг. 8, где модели получены путем вариации первых трех параметров формы параметрической модели SMPL [В 14].

Красными точками отмечены положения скелетных суставов.

Параметрическая модель требует существенно меньших аппаратных ресурсов для ее хранения и обработки и существенно меньших затрат времени на связанные с ней вычисления, чем соответствующая ей геометрическая модель. Кроме того, параметры, извлеченные из параметрической модели, требуют меньших преобразований для обеспечения возможности их сопоставления с размерными признаками предметов одежды, а в некоторых случаях такие преобразования могут и вовсе не требоваться.

На сегодняшний день задача параметрического моделирования человека является крайне актуальной. Параметрические модели находят применение во многих алгоритмах и областях компьютерного зрения. В частности, многие подходы к задаче о реконструкции фигуры человека по частичным данным, таким как видео, цветные изображения, информация, полученная с сенсоров глубины, требуют наличия некоторого низкоразмерного представления формы тела человека, в качестве которого и выступает параметрическая модель.

Параметрические 3 D-модели человека могут использоваться в алгоритмах автоматического получения антропометрических данных человека, которые находят применение в сфере производства и продажи одежды, а также используются в системах построения виртуального представления человека (так называемого виртуального аватара). Задачи, связанные с дизайном, эргономикой, определение формы тела по частичным данным, таким как снимки с одного ракурса, по семантическим параметрам (рост, вес и т. д.) решаются с использованием подобных моделей. Параметрические модели могут быть применены и при формировании искусственных тренировочных наборов данных для решения других задач, связанных с компьютерным зрением.

В качестве исходных данных для построения трехмерных параметрических 3D- моделей используют наборы трехмерных снимков людей, которые описываются набором вершин и треугольников, объединяющих вершины в единую поверхность. Кроме того, некоторые работы требуют наличия дополнительной информации об имеющихся трехмерных снимках. Так, авторы модели HumanShape [В 15] используют в процессе построения параметрической модели информацию о положении 69 ключевых антропометрических точек в пространстве для каждого трехмерного снимка. Использование антропометрических точек предусмотрено во многих работах по построению параметрических моделей, в частности в [В 16, В 17] . Разметка подобных точек для каждого трехмерного снимка требует наличия знаний об анатомии человеческого тела, что делает данный процесс медленным и дорогостоящим. Авторы многих работ по созданию параметрических моделей [В14, В15, В17, В18] для построения модели используют наборы данных, содержащие трехмерные снимки людей в нескольких позах. Подобные наборы данных бывает сложно получить ввиду конструктивных ограничений установок, с помощью которых получаются трехмерные снимки людей.

Проведение научных работ по построению параметрических моделей зачастую осложняется и тем, что практически не существует открытых коллекций трехмерных снимков человеческого тела, содержащих достаточное количество уникальных людей. Размер используемой коллекции является очень важным фактором, напрямую влияющим на качество полученного пространства формы тела человека. Так Brett Allen et al. [В 16] использовали всего по 125 моделей мужского и женского пола, авторы модели [В 17] использовали суммарно 45 моделей. Построение модели S-SCAPE [В 19] выполнялось на коллекции, содержащей порядка 100 моделей. Одной из крупнейших коммерчески доступных наборов трехмерных снимков человеческого тела является CAESAR [В20] . Этот набор содержит данные порядка 4300 уникальных людей и используется авторами моделей HumanShape [15] и SMPL [В14] для построения пространства формы.

Многие из существующих наборов обладают дефектами сканирования. Так, например, трехмерные снимки набора данных CAESAR характеризуются наличием участков поверхности тела в районе стоп, кистей и внешней поверхности рук, плечей, головы с недостающей информацией, а также «склеенных» участков (фиг. 9). При наличии систематических дефектов (в районе одних и тех же частей тела) формы подверженных им частей тела могут быть переданы неточно. Кроме того, существующие параметрические модели содержат относительно небольшое количество вершин (порядка 6000-7000), что не позволяет передавать мелкие детали рельефа тела.

Поэтому потребовалась разработка автоматизированного, быстрого и точного подхода для построения параметрической 3D- модели человека с высокой детализацией на основе набора трехмерных снимков человеческого тела.

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

Общая идея построения параметрической модели тела человека с использованием статистического подхода заключается в выполнении т.н. «регистрации» для каждого трехмерного снимка тела из набора данных. Процесс регистрации заключается в деформировании шаблона тела человека таким образом, чтобы он как можно точнее описывал регистрируемый трехмерный снимок тела с сохранением функционального соответствия точек шаблона. Если каждая точка выполняет схожую функцию на каждом из деформированных шаблонов, пространство формы тела человека возможно описать с использованием PC А-разложения (Principal component analysis, метод главных компонент).

Существующие подходы к построению параметрических моделей можно классифицировать на две группы по способу деформации шаблонной модели. Одно из них, семейство параметрических моделей тела человека SCAPE, описывает процесс регистрации скана с использованием преобразований треугольников, составляющих поверхность шаблона. Другая группа моделей описывает процесс регистрации при помощи преобразований вершин шаблона.

К семейству моделей SCAPE можно отнести такие модели, как SCAPE [В 17], BlendSCAPE [В 18], S-SCAPE [В 19]. В 2005 году вышла статья, представляющая модель под названием SCAPE [В 17]. В ходе создания параметрической модели авторы использовали набор трехмерных снимков, в котором каждый человек представлен во многих позах. Как упоминалось выше, в этой работе использована деформация отдельных треугольников для регистрации отдельных трехмерных снимков. Однако процесс получения модели из пространства деформаций треугольников является сложной оптимизационной задачей, требующей решения Пуассоновской системы. В результате была получена модель, реалистично отражающая широкий диапазон деформации не только пространства формы, но и позы. Пространство позы было описано также при помощи пространства деформации отдельных треугольников и, следовательно, применение конкретной анимации движения человека было затруднительным, ввиду отсутствия возможности использования скелетной анимации.

Авторы параметрических моделей BlendSCAPE [В 18] и S-SCAPE [В 19] предложили свои методы построения, основанные на подходах, использованных в модели SCAPE. Модель S-SCAPE, предложенная в 2010 году, является усовершенствованной и в то же время упрощенной версией модели SCAPE, предлагающей способ восстановления ЗП-модели без необходимости решения сложной Пуассоновской системы уравнений. Модель BlendSCAPE, предложенная в 2012 году, предлагает способ более точной регистрации тела человека на основе трехмерных снимков одного и того же человека в разных позах.

Второе семейство параметрических моделей использует деформации отдельных вершин для выполнения процесса регистрации. Одной из первых параметрических моделей, использующих данный подход, является модель из работы Allen et al. 2002 [В 16]. Затем данный подход получил развитие в работе Pishchulin et al. (модель HumanShape)

[В 15]. Показывающая лучшие результаты на сегодняшний день параметрическая модель тела человека SMPL [В 14] также использует этот подход. Одной из первых статистических параметрических моделей являлась модель [В 16] . Здесь был впервые применен алгоритм Non-Rigid Deformation (NRD). Была сформулирована оптимизационная задача преобразования шаблонной поверхности применительно к трехмерному снимку тела конкретного человека, а также предложен метод ее решения. Эта работа использовала высокодетализированный шаблон модели человека, однако параметрическая модель строилась всего на 250 трехмерных снимках. Было продемонстрировано, что подобный алгоритм отлично справляется с дефектами сканирования, такими как отсутствующие вершины. Модель могла оперировать, в том числе, и семантическими параметрами формы, такими как вес, рост и т.д. Однако работа [В 16] практически не останавливается на теме создания пространства позы человека. Модель строилась на наборе трехмерных снимков людей, стоящих в одной позе, и в итоге не описывала пространство позы.

В 2013 году появилась модель «HumanShape» [В 15], развивающая идею модели [В 16] . Построение модели происходило итеративно с использованием имевшейся параметрической модели и с ее улучшением при помощи алгоритма NRD. В ней в качестве инициализации использовалась модель S-SCAPE (Simplified Scape) [В 19], значительно менее вычислительно затратная при построении. Модель HumanShape была обучена на полном наборе трехмерных снимков CAESAR, что позволило ей отражать широкий диапазон формы. Применение техники Linear Blend Skinning (LBS) в этой модели позволило применять произвольные анимации к параметрической модели. Одной из целью данной работы было предоставить полученный при выполнении этой работы открытый код для исследователей. Однако процесс регистрации трехмерного снимка использовал информацию о положении ключевых антропометрических точек, сведения о которых зачастую не встречаются в базах трехмерных снимков. Получение такой информации - трудоемкий процесс, требующий ручной разметки или съемки людей со специальными маркерами на теле.

В 2015 году появилась модель SMPL [В 14], показывающая лучшие результаты на текущий день и используемая в большинстве задач, требующих наличия параметрической модели. В данной работе авторы показывают, что процесс регистрации, основанный на деформациях вершин, приводит к гораздо более точным результатам по сравнению с деформациями треугольников, сравнивая результаты своей работы с моделью BlendSCAPE [В 18]. Аналогично методу, предложенному авторами BlendSCAPE, сначала происходит построение пространства позы человека с использованием набора данных, содержащего трехмерных снимков одних и тех же людей в различных позах. Далее формируется пространство формы с использованием набора данных CAESAR. Кроме того, исследователи в данной статье рассматривают вопрос деформаций формы человеческого тела, вызванные изменением позы. Таким образом, их модель связывает пространства формы и позы воедино и способна отражать такие изменения, как деформация мышц. Авторы реализовали, в том числе, и динамическую версию параметрической модели - DMPL, предсказывающую деформацию формы, в том числе, и по предыдущим во времени параметрам позы при анимации. Это позволило реализовать деформацию мягких тканей, что добавило модели реалистичности.

В настоящей разработке использован процесс регистрации, основанный на деформациях вершин, отмеченный авторами модели SMPL как наиболее эффективный и точный. Регистрация моделей выполняется с использованием подхода, описанного в модели HumanShape - алгоритма Non-Rigid Deformation. Однако предложенная модификация алгоритма делает его автоматизированным и не требует наличия антропометрических точек.

Далее рассмотрены два варианта параметрической модели на основе инициализации с применением двух параметрических моделей - HumanShape и SMPL.

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

Большая часть существующих исследований по рассматриваемой теме имеют схожие алгоритмы построения. Поскольку набор точек трехмерных снимков зачастую не структурирован, необходимо выполнить его структуризацию. Выбирается некоторый шаблон тела человека, описываемый как набор вершин и треугольников, состоящих из вершин, образующих поверхность. Далее для каждой вершины шаблона ищется преобразование, позволяющее деформированному шаблону как можно точнее описывать трехмерный снимок конкретного человека. Процесс деформации шаблонной модели для подгонки к трехмерному снимку конкретного человека называется регистрацией. Деформация при этом должна происходить таким образом, чтобы сохранялось функциональное соответствие каждой точки на всех регистрациях. К примеру, если точка шаблона отвечала за положение локтя какой-либо из рук, то и на регистрациях она должна выполнять ту же функцию.

Затем множество точек шаблонной модели кодируется в виде вектора и выполняется PC A (Principal Component Analysis) декомпозиция. В ходе декомпозиции строится пространство из собственных векторов ковариационной матрицы выборки.

Далее выбирается подпространство из нескольких первых собственных векторов с наибольшими собственными значениями. Таким образом, полученный набор векторов представляет пространство формы тела человека с наименьшими отклонениями. Параметризация выполняется по координатам в полученном базисе: гд еМ- координаты вершин итоговой модели, В - число параметров формы, оставленных в модели, е, - /- й собственный вектор, полученный PC A-разложением, b, - значение /-го параметра формы, М- координаты вершин шаблона.

Каждая из двух упомянутых работ формулирует и выполняет процесс регистрации по своему. Авторы модели HumanShape используют модель SSCAPE в качестве инициализации, а затем улучшают ее при помощи алгоритма NRD. В модели SMPL сначала происходит построение пространства позы. Затем, подбирая позу человека на очередном трехмерном снимке, авторы напрямую оптимизируют положение вершин регистрации для получения максимального соответствия вершинам трехмерного снимка.

2.8.3. Алгоритм построения пространства формы модели HumanShape

Авторы модели HumanShape выполняют процесс регистрации трехмерных снимков людей в два этапа. На первом этапе, регистрация трехмерного снимка аппроксимируется при помощи существующей параметрической модели. В качестве такой модели авторы используют модель S-SCAPE. В рамках этого этапа предлагается подбирать параметры позы и формы существующей параметрической модели так, чтобы она как можно точнее описывала регистрируемый трехмерный снимок. Для этого используется итеративный двухэтапный метод, повторяемый до достижения сходимости:

(1) оптимизировать параметры позы для уменьшения среднеквадратичного отклонения между положением ключевых антропометрических точек на трехмерном снимке и параметрической модели;

(2) оптимизировать параметры позы и формы для уменьшения среднеквадратичного отклонения от точек на модели до ближайших точек трехмерного снимка.

Вследствие необходимости использования ключевых точек данный метод неприменим для решения поставленной задачи. В качестве оптимизатора используется встроенный оптимизатор MatLab fmincon, использующий конечно-разностное дифференцирование для поиска градиента параметрической модели.

Далее авторами предлагается уточнить полученную регистрацию с помощью алгоритма Non-Rigid Deformation. Описание данного алгоритма, применяемого авторами HumanShape, приведено в следующем разделе.

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

Как уже было упомянуто ранее, впервые этот алгоритм был описан в работе [В 16] . В статье, посвященной модели HumanShape, он использовался с незначительными модификациями. Общая идея состоит в том, чтобы получить для каждой вершины шаблона Т аффинное преобразование для вершины /, описываемое матрицей 4x4 Ai для вершины /, такое, чтобы полученная поверхность шаблона как можно точнее соответствовала поверхности текущего трехмерного снимка S.

Точность приближения трехмерного снимка шаблоном описывается при помощи набора из следующих трех функций потерь:

(i) функция Smoothness term где edges(T) - множество всех ребер шаблона, А, - матрица преобразования 4x4 для вершины /, II · | /. - норма Фробениуса матрицы, Es - результат вычисления функции Smoothness term. Поскольку суммирование разности норм матриц преобразований происходит по ребрам, данная часть функции потерь штрафует модель за большие различия между преобразованиями, выявленные для соседних вершин;

(и) функция Landmark term где К - количество используемых ключевых точек, к, - номер вершины шаблона, являющейся /-ой ключевой точкой, р / , - координаты вершины к , исходного шаблона, А / , - преобразование, соответствующее к, -ой вершине шаблона, /, - координата /- й ключевой точки на текущем трехмерном снимке. Здесь подразумевается использование Евклидовой нормы. Эта часть функции потерь должна штрафовать модель за несоответствие положения ключевых точек шаблона и трехмерного снимка. Поскольку модель HumanShape создавалась на наборе данных CAESAR, в ней использовались 64 ключевые точки, учитывающие анатомические особенности строения человека;

(ш) функция Data term где w, - вес i- й вершины в шаблоне, А, - матрица преобразования /- й вершины, ?, - координата /- й вершины в шаблоне, NN(i) - вершина скана, ближайший сосед /- й вершины шаблона. Данная часть функции потерь штрафует модель за слишком большое расстояние между преобразованными вершинами шаблона и ближайшими им вершинами трехмерного снимка. Веса каждой из вершин определялись, как уверенность сканирующей установки в положении вершины, которая была выбрана в качестве ближайшего соседа. Конечная функция потерь представляет собой линейную комбинацию трех вышеупомянутых функций потерь:

E = oE d + bEi + yE s (14)

При построении модели авторами HumanShape использовались следующие параметры: а = 1, ? = 10 3 , у = 10 6 . При этом выделялось несколько итераций, на каждой из которых веса компонент предыдущих итераций умножались на некоторые коэффициенты. В частности, значение а оставалось без изменения, а значения b и у уменьшались в 4 раза. Подобный оптимизационный процесс продолжался, пока выполнялось условие у > 1000а или пока ошибка не переставала уменьшаться от одной итерации к другой. Кроме того, использовался инициализационный этап, на котором параметр а полагался равным нулю и деформация происходила только под действием функций Ei и E s.

Оптимизация функции потерь производилась при помощи квази-ньютоновского оптимизатора LBFGS-B. Между итерациями производился пересчет ближайших соседей, причем ближайший сосед считался успешно найденным в случае, если угол между нормалями вершин не превышал 60°, а расстояние между вершинами не превышало 5 сантиметров.

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

Далее, в таких моделях, как HumanShape и SMPL, для описания пространства позы к шаблону с примененными параметрами формы применяется техника скелетной анимации - Linear Blend Skinning (LBS). В таком случае в шаблон вписывается скелет - дерево вершин, где каждая вершина характеризуется положением в пространстве и представляет собой точку сочленения «костей» скелета (см. фиг. 10, где цветом изображено влияние каждого сустава на вершины модели). Использование подобной техники анимации персонажа делает модель совместимой с большинством программного обеспечения для анимирования и обработки 3D моделей.

Конкретнее, техника LBS требует наличия матрицы весов W Е п к , где п - число вершин в модели, к - число суставов. Данная матрица описывает степень влияния трансформации отдельных суставов на конкретную вершину. Положение скелетных суставов описывается матрицей 0 Е к . Преобразование каждого сустава описывается при помощи оси и угла вращения относительно предка сустава в дереве скелета. Пусть ц .2 ц - ось, вокру Jг коvrторой будет вращения, тогда матрица поворота для /-го сустава может быть описана при помощи формулы Родрига: (15) где / 3 - единичная матрица, a Q } - вектор Q j , записанный в виде кососимметричной матрицы. Такая матрица описывает только «локальное» преобразование позиции сустава, не учитывая влияние всех суставов по пути от корня дерева скелета до текущей точки. Глобальные матрицы преобразований можно рассчитать по следующей формуле: где G k (B,0) - глобальная матрица преобразования для к -ого сустава, А (к) - упорядоченное множество всех суставов-предков для к- го, в порядке от корня скелета, сустава, ехр(() / ) - локальная матрица поворота для сустава, рассчитанная по формуле (15), J k - исходное положение сустава. Тогда преобразование для каждой вершины описывается выпуклой комбинацией матриц трансформации отдельных суставов:

Чем больше вес сустава для конкретной вершины, тем большее влияние он оказывает на изменение ее координаты. Обычно подразумевается, что на вершину оказывают влияние только ближайшие суставы, а отдаленные от нее имеют нулевой вес. Это позволяет хранить матрицу весов в разреженном виде. Так в моделях HumanShape и SMPL на вершину оказывает влияние не более 3-4 суставов.

Кодирование преобразований позы с помощью формулы Родрига требует наличия 3 параметров на один сустав скелета (нормированный вектор представляет ось вращения, а его норма - амплитуду). Скелет модели SMPL содержит к = 24 сустава и, следовательно, поза человека кодируется при помощи 3x24 =72 параметров. Модель HumanShape разрешает вращать кости скелета только вокруг заданных моделью осей, определяемых в ходе построения S-SCAPE. В ней определено к = 15 уникальных скелетных суставов, однако для некоторых из них (например, для бедренных и плечевых суставов) вращение возможно вокруг нескольких осей. Локальную матрицу поворота для них можно получить путем перемножения матриц для каждой оси, полученных по формуле Родрига (15).

Изменение параметров формы тела человека приводит к изменению положения скелетных точек. Использование техники LBS с некорректными положениями суставов может привести к существенным артефактам, как, например, у модели HumanShape (см. фиг. 11). В этой модели авторы предлагают пересчитывать положения скелетных точек при помощи матрицы где Wi - i- й столбец матрицы весов LBS, p, - предок /-го сустава в скелете, a min{ · , · } - взятие поэлементного минимума. Пересчет координат суставов происходит следующим образом:

Авторы модели SMPL используют аналогичный подход, однако матрица-регрессор положений суставов L подбирается в ходе построения пространства позы, вместе с весовой матрицей W. Такой подход показывает лучшие результаты, обеспечивая отсутствие подобных артефактов.

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

Выполнение РСА-разложения на множестве регистраций без каких-либо изменений приведет к проникновению в пространство формы большого количества дисперсии, вызванной изменением позы. Поэтому перед тем как производить декомпозицию необходимо нормализовать позу каждой регистрации из набора данных, приведя к стандартной. В качестве подобных стандартных поз могут выступать, например, А-поза или Т-поза. А-поза человека характеризуется слегка разведенными в сторону руками, ногами на ширине плеч и чаще используется, например, при проведении замеров антропометрических параметров человека для производства одежды. Эта поза используется в качестве стандартной в модели HumanShape. В Т-позе человек стоит с вытянутыми в сторону руками, ноги находятся на ширине плеч. Такая поза более характерна для программного обеспечения, связанного с 3D- граф и кой и анимацией, она используется авторами SMPL.

Поскольку при построении пространства формы модели SMPL используется заранее построенное пространство позы, на момент регистрации модели есть возможность достаточно точно подобрать параметры позы, а значит, восстановить начальную позу регистрации. В модели HumanShape используется алгоритм NRD для уточнения процесса регистрации, в результате чего поза может значительно измениться. Авторы для нормализации позы используют метод, предложенный Wuhrer et al. [В21], основанный на оптимизации локализованных Лапласовых координат усредненной формы тела.

2.9. Собственный подход к построению параметрической модели

В то время как практически все подходы к созданию параметрической модели требуют набора данных, содержащего трехмерные снимки тела одного и того же человека в разных позах, в настоящей разработке поставлена цель описания возможного процесса построения модели в условиях ограниченного набора данных. Предложенный авторами настоящей разработки подход позволяет уточнить пространство формы имеющейся параметрической модели на основе набора трехмерных снимков, где каждый человек встречается только один раз. Кроме того, предлагаемый процесс обладает высокой скоростью работы, легко масштабируется при появлении новых данных, т.к. не требует ручной разметки дополнительной информации, например, такой как положение ключевых точек.

Сначала выполняется предварительная обработка трехмерного снимка, затем инициализация регистрации при помощи параметрической модели, затем уточнение регистрации алгоритмом NRD, затем нормализация позы шаблона.

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

Одной из проблем имеющегося набора данных является возникновение шумовых геометрических структур внутри тела человека, в случае, если человек двигался во время сканирования. Подобные структуры могут вызывать ошибки поиска ближайших соседей во время работы алгоритма NRD и приводить к появлению дефектов регистрации. Поэтому этап предварительной обработки данных включает в себя фильтрацию подобных геометрических структур. Зачастую оказывается, что подобные структуры на трехмерных снимках лежат в отдельных компонентах связности, если представить 3 D-модель в качестве графа. Более формально, пусть имеется неориентированный граф G = (V, Е), где V - множество вершин, соответствующее вершинам трехмерного снимка человеческого тела, Е- множество ребер. Будем говорить, что ребро существует в случае, если существует треугольник, принадлежащий поверхности трехмерного снимка, сторона которого связывает эти две вершины. В таком случае, запустив поиск в глубину по такому графу, можно получить список компонент связности. Наибольшая по числу вершин компонента будет результатом фильтрации.

В некоторых случаях этого может оказаться недостаточно. Подобные структуры могут фактически находиться внутри тела, однако являться частью замкнутой поверхности тела. Пример подобного случая можно увидеть на фиг. 12, где шум помечен желтым и зеленым цветом. На этом изображении расположена геометрическая структура (А, подсвечена зеленым цветом), попадающая в отдельную компоненту связности графа и поэтому она может быть удалена при помощи описанного выше алгоритма.

Кроме нее имеется также шумовая структура, являющаяся частью поверхности левого плеча (Б, подсвечена желтым цветом). Если подобная структура является частью поверхности тела человека, то она не может быть отфильтрована при помощи классического алгоритма проверки нахождения точки внутри невыпуклой фигуры, выполняющего подсчет числа пересечений произвольного луча, выпущенного из проверяемой точки. Для фильтрации подобных шумовых вершин и треугольников предлагается следующий подход. В ходе алгоритма определяется видимость каждой точки для наблюдателя. Для этого выполняется отрисовка карты глубины модели с различных ракурсов и сравниваются расстояния от камеры до точки со значением карты глубины.

Более формально, пусть ~ С - положение камеры в пространстве, С п - нормаль камеры (т.е. ее направление), Ё I 3 - угол поворота фильтруемой ЗП-модели на текущем шаге /, V, - положение вершин модели на текущем шаге.

(1) Выполняется отрисовка модели в карту глубины. Получается карта D е N м , где N c M - разрешение отрисовки. Пусть n, - положение проекции точки n, на проекционной плоскости. Тогда d tJ - расстояние от v, до n,. Пример карты глубины представлен на фиг. 13, где цвет указывает на расстояние до точки, а шкала проградуирована в метрах. Таким образом, карта глубины представляет собой данные о расстоянии от проекционной плоскости камеры до поверхности модели.

(2) Вычисляется значение d = (у, ~ С, С п ) - расстояние от вершины до соответствующей ей точки на проекционной плоскости. Если полученное значение d больше соответствующего значения на карте глубины, то это значит, что точка невидима с данного ракурса.

(3) Если точка видима хотя бы с одного ракурса, то принимается, что она является видимой.

Углы поворота модели можно выбирать произвольным образом. В настоящей разработке используется перебор каждого из трех углов поворота по линейной сетке от 0 до 2p с шагом p/10.

Такой алгоритм позволяет отфильтровать все невидимые вершины, находящиеся внутри трехмерного снимка человека, а значит, являющиеся шумовыми.

Далее выполняется поворот трехмерного снимка вокруг оси у таким образом, чтобы человек был направлен лицом по направлению оси z. Это необходимо для хорошей инициализации регистрации алгоритмом, описанным в следующем разделе описания.

Пусть у тт , у тах - минимальные и максимальные координаты по оси у среди всех точек вращаемой ЗО-модели и h =у тах у тт высота модели. Тогда, если отфильтровать все точки, высота которых удовлетворяет условию у, <у тт + 0,03/г, большая часть подобного набора будет состоять из вершин, относящиеся к стопам человека. Затем производится кластеризация на две компоненты с помощью алгоритма KMeans. Полученные центроиды б /т / и ci 0W 2 являются центрами стоп человека. Если взять область точек выше, например, у тт + 0,09 h < , <у тт + 0,12/г, то подобная область будет содержать нижнюю часть нот человека. Аналогично с помощью алгоритма KMeans можно найти центроиды C highi и Cu gh 2 · Теперь необходимо подобрать угол поворота таким образом, чтобы прямые, проходящие через точки с /ГЛ , ci ow2 , и сы ф и с ы ф 2 , были перпендикулярны оси z, при этом прямая сы ф и с ы 2 имела бы меньшие координаты z.

2.9.2. Инициализация регистрации при помощи параметрической модели

На этом этапе выполняется аппроксимация регистрации трехмерного снимка при помощи некоторой параметрической модели. В рамках настоящей разработки были протестированы модели HumanShape и SMPL. Для параметрической модели подбираются параметры формы /?, позы 0, а также общие параметры трансформации, такие как смещение t и коэффициент масштабирования 5.

Г раф вычислений при инициализации регистрации параметрической моделью представлен на фиг. 14, где показано поэтапное применение параметров формы и параметров позы, с предварительным пересчетом координат скелетных суставов, а затем с применением общих параметров трансформации, таких как масштабирование и смещение. Далее считается функция потерь на основе среднеквадратичного отклонения от ближайших вершин.

В данном подходе в качестве функции потерь используется среднеквадратичное отклонение между вершинами целевого облака точек и ближайшими для них вершинами параметрической модели. Пересчет ближайших вершин шаблона происходит на каждой итерации градиентного спуска, однако это не является дифференцируемой функцией. Ближайшая вершина полагается константной в рамках одной итерации спуска. На фиг. 14 можно видеть наглядную визуализацию графа вычислений. Если для моделей в наборе данных известна характерная поза, соответствующим образом возможно инициализировать параметры позы параметрической модели, а также ввести регуляризацию на параметры позы: где v, - положение вершины /-го трехмерного снимка, Т - множество вершин шаблона, NNT (vj - координата ближайшей к v, вершины из Г, l - коэффициент регуляризации, /- множество номеров подвергаемых регуляризации суставов, Q - параметры позы, b - параметры формы модели, t - смещение модели относительно начала координат, 5 масштаб модели.

Для выполнения оптимизации предлагается использование градиентного оптимизатора Adam. Для ускорения скорости сходимости и во избежание локальных минимумов предлагается использовать следующую технику оптимизации. (1) Производить n итераций градиентного спуска при помощи оптимизатора Adam, оптимизируя функцию потерь только по параметрам трансформации.

(2) Производить п итераций градиентного спуска при помощи оптимизатора Adam, оптимизируя функцию потерь только по параметрам позы.

(3) С использованием четырех оптимизаторов поочередно производить по 10 шагов градиентного спуска каждым оптимизатором (в следующем порядке: поза, форма, трансформация, все параметры) до достижения необходимого уровня сходимости или до достижения 4п итераций на данном шаге.

В данном подходе используется значение п = 100. Поскольку значения параметров b ί , t могут быть достаточно большими, к ним применялся масштабирующий множитель. Немаловажным фактором является подбор значений скорости обучения (learning rate) для каждого из оптимизаторов. Эти значения приведены в таблице 1, приведенной далее.

2.9.3. Модификация алгоритма Non-Rigid Deformation

Реализация алгоритма NRD, выполненная в ходе этой работы, обладает следующими особенностями:

- в качестве оптимизатора в исходном алгоритме использован квазиньютоновский LBFGS-B, в то время как предложенный подход использует градиентный оптимизатор Adam. В качестве критерия остановки градиентного спуска на каждой из итераций применяется следующий критерий: остановка происходит, если в течении patience итераций не произошло улучшение функции потерь больше чем на tolerance или достигнуто максимальное количество шагов max iter

- для расчета нормалей к вершинам шаблона в исходном алгоритме использован усеченный расчет по нормали одного случайно выбранного треугольника, содержащего вершину. В предложенном подходе производится полный расчет нормалей: нормаль определяется усреднением всех нормалей треугольников, примыкающих к данной вершине;

- в виду того, что большинство лазерных трехмерных снимков содержало пропуски точек, относящихся к ступням, их оптимизация была запрещена в исходном алгоритме авторов модели HumanShape. Имеющаяся у авторов настоящей разработки коллекция не содержит подобных артефактов, следовательно, их оптимизация была разрешена.

Авторы модели HumanShape представили результаты регистраций на наборе данных CAESAR, что позволило рассчитать для каждого треугольника шаблона его среднюю площадь по всем регистрациям. Наличие крупных треугольников не позволяет сделать поверхность тела человека на регистрации гладкой, передавать мелкие детали. Поэтому п самых статистически крупных треугольников шаблона делились на четыре части путем добавления новых вершин на середину каждой из сторон треугольника.

Функция потерь в исходном алгоритме оптимизирует положения вершин, при этом никак не учитывая то, что облако полученных точек образует поверхность. В результате координаты вершин шаблона оказывались подобранными точно, но при соединении их в поверхность треугольниками возникали дефекты рельефа - чрезмерно резкие перепады, впадины и бугры.

Для учета особенностей образуемой шаблоном поверхности в функцию потерь добавлена новая компонента, штрафующая за слишком большую величину углов между нормалями соседних треугольников: где \edges\ - число ребер в шаблоне, edges(T) - множество ребер шаблона, п, - вектор нормали для треугольника /, щ rT j- угол между нормалями, /'(· ) - применение функции активации к величине угла.

В качестве функции активации использовалась функция следующего вида (см. также фиг. 15): а < 90° 90°

Использование более качественного метода инициализации регистрации дало возможность уйти от использования антропометрических точек в работе алгоритма NRD, за счет чего достигнута полная автоматизация метода. Новая функция потерь, минимизируемая в ходе алгоритма, имеет вид:

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

На этапе инициализации регистрации параметрической моделью для модели SMPL были подобраны параметры позы. Затем, в результате применения алгоритма NRD поза человека могла немного измениться, если параметры позы были подобраны неточно. В этом случае необходимо уточнить позу путем оптимизации: где Т - положение вершины шаблона /, полученного в результате регистрации с помощью алгоритма NRD, Г, - положение вершины i параметрической модели. По полученным параметрам позы можно рассчитать матрицы Linear Blend Skinning, а затем, вычислив обратные, домножить на координаты вершин Т пгс{. Таким образом будет получена регистрация в начальной позе. Для модели SMPL начальной позой является Т-поза, когда руки человека раздвинуты в сторону, а ноги раздвинуты на ширине плеч.

Модель HumanShape содержит утечку позы в параметры формы, то есть изменение параметров формы вызывает изменение позы параметрической модели. Это приводит к тому, что начальная поза для параметрической модели изменяется с изменением параметров формы. Следовательно, вышеописанный подход неприменим для модели, основанной на HumanShape. В данной работе предлагается скорректировать этот эффект путем построения скелета в нейтральной позе, а затем - оптимизации положений скелетных точек: где J, - положение сустава i построенного скелета в А- позе, ·I„ pΐ,i - положение сустава i скелета регистрации, полученной с помощью алгоритма NRD. Здесь оптимизация производится по параметрам позы регистрации, полученной в результате работы алгоритма NRD.

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

Далее описаны условия экспериментальной апробации описанного подхода.

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

В качестве исходного набора трехмерных снимков использовалась коллекция, полученная с помощью 3 D-сканера человеческого тела TEXEL Portal. Это сканер обладает высокой точностью, имея погрешность сканирования порядка 1,4 мм. Для проведения экспериментов был отобран набор из 500 трехмерных снимков людей, содержащий приблизительно одинаковое количество мужских и женских 3 D-моделей. Представленные снимки имели высокую детализацию и содержали по 250 тысяч вершин и 500 тысяч треугольников каждый.

Кроме того, для тестирования и сравнения качества работы полученной параметрической модели использовался набор данных CAESAR - набор трехмерных снимков, используемый авторами параметрических моделей SMPL и HumanShape для построения пространства позы. Он содержит трехмерные снимки 4394 различных людей, каждый из которых представлен в трех позах. При этом использовались только снимки, где человек стоит в А-позе. Никакая вспомогательная метаинформация, в том числе информация о положениях ключевых антропометрических точек, при выполнении процесса регистрации не использовалась.

2.10.2. Реализация алгоритма инициализации регистрации

Инициализация регистрации при помощи параметрической модели является важной частью предложенного подхода к регистрации трехмерных снимков. От качества выполнения данного этапа зависит качество полученных векторов, описывающих пространство формы параметрической модели. Если параметры позы при инициализации подобраны некорректно, то при применении алгоритма NRD будут выбраны неверные вершины трехмерного снимка в качестве ближайших соседей, в результате чего функциональное соответствие вершин шаблона будет нарушено. Оптимизационная задача (18) является сложной задачей с большим количеством локальных минимумов. Во избежание попадания оптимизатора Adam в локальные минимумы важно подобрать значения скорости обучения. Значения параметров, использованные в данной работе, приведены в таблице 1.

Таблица 1

Поскольку шаблоны используемых параметрических моделей содержат небольшое количество вершин (шаблон SMPL содержит 6890 вершин, шаблон HumanShape содержит 6449 вершин), то в использовании всех вершин трехмерного снимка на данном этапе нет необходимости. В предложенном подходе перед выполнением оптимизации выбирался случайным образом набор из 7000 вершин исходного трехмерного снимка. Затем оптимизационная задача (18) решалась для полученного набора вершин.

Поскольку приблизительная поза всех людей на имеющемся наборе трехмерных снимков известна, параметрическая модель инициализировалась А-позой, при этом регуляризовались вращения суставов головы и стоп с использованием значения L = 10. 2.10.3. Тестирование реализации алгоритма Non-Rigid Deformation Поскольку новая коллекция данных не содержит информации об уверенности сканирующей установки в положении вершин трехмерных снимков, соответствующие весовые коэффициенты формулы (13) были установлены для всех вершин равными единице. В качестве критерия останова использовался описанный ранее критерий со значениями параметров patience = 70, tolerance = 10 2 и максимальным числом шагов градиентного спуска на одну итерацию max iter = 300.

При поиске ближайших вершин считалось, что ближайший сосед найден успешно, если он находится на расстоянии не более 3 см, а угол между нормалью вершины трехмерного снимка и нормалью вершины параметрической модели составляет менее 45°. Оптимизация положения вершин кистей рук шаблона при инициализации параметрической моделью SMPL была запрещена, поскольку на многих из трехмерных снимков пальцы рук сжаты в кулак, а параметрическая модель SMPL имеет прямую ладонь.

Оптимизация положения вершин головы шаблона также была запрещена, поскольку многие трехмерные снимки содержат объемные прически, искажающие форму головы. Использованные весовые коэффициенты для функции потерь (20) представлены в таблице 2. Коэффициенты, на которое производилось умножение весов функции потерь, отмечены в таблице как

Таблица 2

На фиг. 16-18 представлено сравнение результатов работы предложенной модификации алгоритма NRD и исходного алгоритма [В 15] на трехмерном снимке из набора CAESAR. Слева направо представлены: предложенная усовершенствованная версия NRD, исходный трехмерный снимок и исходная версия NRD. Трехмерный снимок содержит пропуски - участки с отсутствующими денными. Качество работы алгоритма определялось расстоянием от вершин полученной регистрации до вершин трехмерного снимка. На фиг. 16-18 цветом каждой вершины регистрации обозначены расстояния до ближайших вершин трехмерного снимка. Белый цвет означает нулевое отклонение, а как красный означает отклонения в 15 мм и более. В этом эксперименте в ходе работы предложенного алгоритма число вершин в шаблоне не увеличивалось.

Можно видеть, что для большей части поверхности тела получены лучшие результаты, о чем говорят более светлые участки поверхности. Преимущество предложенного алгоритма особенно заметно на рельефе верхней части спины и живота. Вершины стоп ног отображаются красным, поскольку исходный трехмерный снимок имеет дефекты сканирования в этой области тела. На нем практически полностью отсутствуют вершины, соответствующие стопам ног. Вершины рук также обладают высокой погрешностью регистрации здесь, поскольку на исходном трехмерном снимке пальцы прямые, а на шаблоне они сжаты в кулак.

Кроме того, был произведен замер производительности. Исходная реализация алгоритма NRD затрачивает на построение регистрации 235-239 секунд, в то время как предложенная реализация затрачивает 7-8 секунд. Инициализация регистрации параметрической моделью длится 26-29 минут в исходной реализации авторов HumanShape, а предложенная реализация затрачивает на этот этап 13 секунд.

Действие новой компоненты (19) проиллюстрировано на фиг. 19, где слева направо представлены результаты работы алгоритма NRD: с классической функцией потерь, 25 тысяч вершин в трехмерном снимке; с классической функцией потерь, 250 тысяч вершин в трехмерном снимке; и модифицированная функция потерь, 250 тысяч вершин в трехмерном снимке. Можно видеть, что на правом изображении поверхность тела более гладкая, а на левом изображении поверхность тела угловатая, с рельефными перепадами, не характерными для человеческого тела. Кроме того, без использования компоненты (19) возникают пересечения треугольников поверхности тела, которые показаны на левом изображении черным цветом.

Процесс регистрации выполнялся для трехмерных снимков в полном разрешении (250 тысяч вершин), в то время как исходная реализация алгоритма NRD [В 15] выбирала случайным образом 19347 вершин трехмерного снимка и работала только с ними. Для построения параметрической модели использовалось увеличение числа вершин в шаблоне до 18-19 тысяч.

Пример трехмерного снимка, использованного при построении параметрической модели, а также результаты его регистрации на основе инициализации параметрическими моделями HumanShape и SMPL можно увидеть на фиг. 20, где представлено сравнение регистраций одного и того же трехмерного снимка с помощью разных параметрических моделей. Слева направо: регистрация на основе HumanShape (18659 вершин), исходный трехмерный снимок (250000 вершин), регистрация на основе SMPL (18890 вершин). На шаблоне параметрической модели SMPL лучше детализирована голова, пальцы рук и ног, поэтому регистрация на основе этой параметрической модели кажется более реалистичной. Тем не менее, регистрации, полученные на основе обеих параметрических моделей - и HumanShape, и SMPL - имеют достаточно небольшие отклонения от исходных снимков.

Авторы модели HumanShape в качестве метрики успешности регистрации используют в своей работе расстояние от точек шаблона до ближайших им точек трехмерного снимка. Эта метрика отражает качество приближения трехмерного снимка облаком точек шаблона. При этом не учитывается рельеф поверхности, образованной шаблоном. Для учета рельефа поверхности полученной регистрации предлагается следующая метрика: где T ' s - множество всех треугольников шаблона, t - рассматриваемый треугольник поверхности, v, - вершина i трехмерного снимка, d(v h I) - расстояние от вершины v, до треугольника /, err, - отклонение для вершины i трехмерного снимка.

Таким образом, в формуле (23) рассчитываются расстояния от каждой вершины трехмерного снимка до поверхности 3D- модели, полученной в результате регистрации. Предлагается рассчитывать данные значения для каждой вершины трехмерного снимка, а затем, к примеру, сгруппировать их по квантилям.

Результаты регистрации собственного набора данных можно увидеть на фиг. 21. На этом графике все отклонения для одного скана были разбиты по квантилям, а затем значения отдельных квантилей усреднены по всем трехмерным снимкам. Оранжевым цветом обозначены результаты регистрации, полученные на основе параметрической модели HumanShape, а синим - на основе параметрической модели SMPL. Сплошной линией отмечены результаты инициализации регистрации методом, описанным в разделе 2.9.2, а пунктирной линией улучшения регистраций с использованием предложенной модификации алгоритма NRD.

На фиг. 21 А видно, что параметрическая модель SMPL аппроксимирует форму тела людей на имеющихся трехмерных снимках лучше, чем параметрическая модель HumanShape. Использование предложенной модификации алгоритма NRD дает существенное улучшение качества регистрации на обеих моделях. При этом регистрации на основе параметрической модели SMPL также обладают лучшим качеством по сравнению с регистрациями, основанными на параметрической модели HumanShape.

Вместе с программной реализацией алгоритмов авторы HumanShape выложили в открытый доступ результаты регистрации набора данных CAESAR. Эти результаты регистрации можно использовать для сравнения качества работы алгоритмов напрямую. Однако выложенные в открытый доступ регистрации CAESAR имеют нейтральную позу. Для проведения эксперимента для каждой из регистраций подбирались параметры позы в соответствии с трехмерными снимками путем минимизации функционала (18) только по Q , t. Результаты сравнения с методом, предложенным в данной работе, представлены на фиг. 21Б, где синим цветом обозначены результаты регистрации, полученные предложенным методом, а оранжевым цветом - полученные исходным методом.

Из результатов экспериментов можно сделать вывод, что метод регистрации трехмерных снимков, предложенный в данном подходе, обладает существенно лучшими качеством и скоростью работы, чем исходный метод авторов параметрической модели HumanShape. Предложенный метод увеличения числа вершин в шаблоне позволяет более точно описывать рельеф тела человека, учитывая мелкие детали.

2.10.4. Результаты построения параметрической модели

Как описано ранее, построение нового пространства формы параметрической модели производилось путем выполнения РСА-декомпозиции на множестве всех имеющихся регистраций. В результате на основе параметрической модели SMPL были построены две параметрические модели (мужского и женского тела). В то время как исходный шаблон модели SMPL содержит 6890 вершин, шаблоны полученных параметрических моделей содержат 18890 вершин. Поскольку добавление новых вершин производилось путем добавления вершины на середины ребер треугольников поверхности

Wi+W j шаблона, вектор весов Linear Blend Skinning (формула 17) рассчитывался как — где w j - векторы весов LBS для вершин, образующих ребро. Регрессор положения скелетных суставов остался без изменений, т.е. влияния новых вершин на положения скелетных суставов полагались нулевыми.

В ходе РСА-декомпозиции рассчитываются собственные значения l, ковариационной матрицы выборки. Квадраты полученных собственных значений l, 2 можно интерпретировать как величину дисперсии формы тела человека, объясняемую параметром /. В таком случае можно рассчитать долю объясненной дисперсии формы тела человека первыми к параметрами (Explained Variance Ratio):

График зависимости метрики EV R от используемого числа компонент представлен на фиг. 22. Здесь процент объясненной дисперсии рассчитан отдельно для полученных мужских и женских параметрических моделей.

На фиг. 22 видно, что около 97,5% дисперсии формы тела объясняется первыми 10 параметрами пространства формы. При этом использование 20 параметров позволяет объяснить почти 99% дисперсии. Значит, использование 10-20 параметров пространства формы должно быть достаточно для описания любого трехмерного снимка тела человека. Таким образом, полученное представление действительно является низкоразмерным.

На фиг. 23 представлено сравнение начальной позы и формы параметрической модели SMPL и полученной параметрической модели для мужского и женского тела. Можно видеть, что полученная параметрическая модель более детальна. В частности, более гладко и точно отражена грудь, присутствуют мелкие детали строения тела, такие как ключицы.

Тем не менее, в рамках данной работы пространство формы головы параметрической модели не уточнялось. В ходе работы предложенной модификации алгоритма NRD положения вершин не изменялись. Такое решение было принято, поскольку многие исходные трехмерные снимки людей содержали объемные прически, искажавшие форму головы в результате работы алгоритма NRD. В качестве развития данной работы предлагается добавление сегментации волос и деталей одежды на трехмерных снимках людей с использованием информации о цвете. Вершины трехмерного снимка, относящиеся к элементам прически, должны иметь меньшие значения уверенности в функции потерь алгоритма NRD (формула 13).

Визуализация результата изменения первых четырех параметров формы при фиксированных остальных параметрах полученной женской параметрической модели представлена на фиг. 24.

Таким образом, предложенные модификации алгоритма NRD и инициализации регистрации при помощи параметрической модели позволили полностью автоматизировать метод. Предложенный подход не нуждается в использовании информации о положении ключевых антропометрических точек, ручная разметка которых является крайне трудоемким процессом.

Экспериментально было доказано наличие существенного прироста в качестве выполнения регистрации трехмерных снимков человеческого тела по сравнению с исходным алгоритмом [В 15]. Вместе с этим значительно возросла скорость работы алгоритма. У величение детализации шаблона позволило отражать на регистрациях трехмерных снимков мелкие детали рельефа тела.

На основе параметрической модели SMPL была получена собственная параметрическая модель, являющаяся уточнением пространства формы тела человека на новом наборе данных.

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

Определение степени соответствия полученной трехмерной модели и пользователя системы представляет собой сложную задачу, которая наилучшим образом разрешается путем сравнения результата с трехмерной моделью пользователя, принятой за эталонную. Для получения трехмерных снимков в реальности используются трехмерные сканеры, либо системы, состоящие из множества синхронизированных RGB-камер. Однако существует проблема получения снимков, подходящих в качестве моделей для проверки в рассматриваемой задаче. Использование трехмерных сканеров, рассчитанных на статичные объекты, в этом случае невозможно по двум причинам: во-первых, ввиду того, что человек не может стоять абсолютно неподвижно, на снимке будут появляться артефакты, искажающие оценку, во-вторых, даже без учета артефактов сканирования, которых может не быть, если сканирование происходит достаточно быстро, человек не сможет в точности повторить позу, в которой он стоял на первом кадре отснятой последовательности. Следовательно, для этой задачи возникает необходимость использования многокамерных систем. Система должна получить трехмерный снимок человека в тот момент, когда сенсор глубины получит первый кадр последовательности, из чего вытекают трудности синхронизации. Помимо этого, стоит отметить, что такого рода системы доступны далеко не везде из-за их дороговизны и необходимости тонкой настройки.

С учетом вышеизложенных проблем, а также в связи с отсутствием в публичном доступе наборов, содержащих необходимые для оценки данные, был разработан инструмент для получения синтетического набора данных, приближенного к реальным. Инструмент получает на вход трехмерный снимок человека, созданного, к примеру, с помощью трехмерного сканера. Перед использованием инструмента для снимка с помощью техники риггинга определяется скелет. Затем инструмент применяет скелетную анимацию, которую переносит на снимок с помощью алгоритма скиннинга LBS. После этого для каждого кадра анимации происходит генерация необходимых данных: производится рендеринг карты глубины с точки зрения виртуальной камеры, записывается положение ключевых точек скелета. Кроме того, для каждого кадра генерируется семантическая сегментация по следующему алгоритму: в каждый пиксель записывается номер ключевой точки с наибольшим влиянием на выполнение скиннинга для тех вершин, которые попадают в данный пиксель при проецировании на плоскость изображения. После завершения генерации в карты глубины может быть добавлен гауссовский шум для имитации погрешностей, получаемых при съемке реальным сенсором.

Система обеспечивает генерацию всех необходимых данных для работы алгоритма, а также формирует трехмерную модель человека в положении, точно совпадающем с положением на первом кадре последовательности, что дает возможность производить точную оценку. При этом универсальный интерфейс позволяет использовать произвольную скелетную анимацию для тестирования алгоритма при различном поведении пользователя. Примеры сгенерированных данных изображены на фиг. 40: слева направо - карта глубины, сегментация, ключевые точки, эталонная модель.

База, созданная для экспериментального тестирования в данной работе, содержит около 2000 кадров с разрешением 420x880 пикселей и добавленным шумом и состоит из 4 видеопоследовательностей, отражающих различные ситуации применения алгоритма:

-человек стоит и совершает небольшие непроизвольные движения (дыхание, движения рук);

- аналогичная сцена с поворотом вокруг на 1° за кадр;

- человек машет рукой;

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

Первые две последовательности направлены на проверку сценария сканирования, когда человек пытается сохранять одинаковую позицию, последующие предназначены для проверки в условиях быстрых естественных движений. Для проведения экспериментальной оценки алгоритма были использованы две следующие метрики, оценивающие разные компоненты системы: где V, S,M- множества вершин результирующей поверхности, эталонной поверхности и поверхности параметрической модели с каноническими параметрами, соответственно, s v

- ближайшая к вершине v вершина из S, m v - ближайшая к вершине v вершина из , а п х

- нормаль к поверхности в точке х.

Первая метрика является средним значением расстояния от вершин результата до плоскости поверхности эталонной модели, вторая - усреднением похожих метрик расстояний от модели до эталона и наоборот.

2.11 Создание ЗБ-аватара пользователя

Для визуализации одежды на человеке, а также для более наглядного представления результатов работы алгоритма предлагается создавать ЗО-аватар человека с использованием данных, полученных на этапе оптического сканирования. Под 3D- аватаром понимается трехмерная текстурированная модель тела человека, согласованная с его антропометрическими данными. Для извлечения текстуры используются данные с цветной камеры, обрабатываемые совместно с картами глубины на этапе создания модели пользователя.

Для ускорения извлечения текстуры можно использовать подход, основанный на глубоких нейронных сетях, альтернативный классическому методу извлечения текстуры. Нейросетевой подход позволяет быстро и с приемлемой точностью извлекать текстуру пользователя по одному или нескольким цветным изображениям. Для извлечения текстуры используется нейронная сеть, обученная на наборе соответствий между фотографией пользователя и его текстурой. В процессе обучения на вход нейронной сети подаются изображения различных людей с различных ракурсов с известной текстурной картой и штрафуется ошибка в восстановлении такой текстурной карты.

Для генерации реалистичной текстуры тела важно определение тона кожи по фотографии, либо трехмерному снимку головы. В случае трехмерного снимка производится рендеринг лица в анфас, и задача сводится к случаю двумерного изображения. Алгоритм определения тона кожи можно описать следующими основными шагами.

1. Подготовка фотографии (масштабирование и обрезка до 512x512 пикселей), либо рендеринг ЗБ-модели головы в изображение 512x512 пикселей.

2. Нейросетевая сегментация лица с использованием готовых, либо обученных заново моделей с целью выделения таких сегментов, как кожа лица, волосы, шея, глаза, брови и т.д.

3. Формирование маски для кожи лица на основе результатов сегментации.

4. Морфологическая эрозия маски для сокращения артефактов по краям области

5. (Опционально) Применение билатерального фильтра либо гауссовского размытия к исходному изображению.

6. Выделение из исходного (предобработанного) изображения пикселей по маске и конвертация цветов в простанство Lab.

7. Кластеризация цветов пикселей в простанстве Lab с помощью метода^ средних (К Means) с числом кластеров, равным 3.

8. Центроид наибольшего кластера принимается за тон кожи.

9. Раскраска текстуры в цветовом пространстве Lab с сохранением относительной освещенности участков:

- определяется среднее значение L по всей текстуре;

- из компоненты L каждого пиксела текстуры вычитается среднее значение /.;

- к каждому пикселу текстуры прибавляется значение L определенного тона кожи;

- Каналы ab для каждого пиксела текстуры берутся из тона кожи. 3. Обработка результатов сканирования и построение модели тела пользователя на основе цветных изображений

Данный раздел содержит краткое описание базового алгоритма Human Mesh Recovery (HMR), предложенного в работе “End-to-end Recovery of Human Shape and Pose” [B37], а также раскрывает предложенные модификации. Более подробно с предложенным подходом можно ознакомиться в работе [ВЗЗ].

3.1 Human Mesh Recovery

Алгоритм Human Mesh Recovery (HMR) [B37] опирается на параметрическую 3D модель человека SMPL [В39], но может работать с произвольной параметрической моделью. Раздел 3.1.1 содержит описание архитектуры HMR и метода восстановления параметров 3D модели. Для обучения этого метода используется процедура состязательного обучения, основным элементом которой является сеть дискриминатор, описание архитектуры которой представлено в разделе 3.1.2. В разделе 3.1.3 приведено описание функций потерь, используемых для обучения HMR и нейронной сети дискриминатора.

3.1.1 Алгоритм восстановления параметров модели человека

Рассмотрим архитектуру алгоритма Human Mesh Recovery (HMR) [B37] подробнее, ее схема приведена на фиг. 36. В качестве сети для извлечения параметров из исходного изображения используется архитектура ResNet-50 v2 [В36] с удаленными полносвязными слоями, предварительно обученная на задаче классификации ImageNet [В38]. Алгоритм 1, приведенный далее, описывает процедуру восстановления параметров 3D модели SMPL на основе извлеченных параметров. Извлеченные из изображения параметры построчно растягиваются в вектор из 2048 элементов ( ф Е 2048 ), который конкатенируется со стандартными параметрами модели SMPL ( b 0 - средние параметры формы, вычисленные на основе коллекции трехмерных снимков, использованных для обучения параметрической модели, и q 0 - параметры позы, соответствующие Т-позе человека: ноги на ширине плеч, руки вытянуты в стороны под прямым углом относительно тела) и подается на вход модулю итеративного восстановления параметров ( Regressor ), который состоит из двух полносвязных слоев, разделенных дропаутом и полносвязного слоя, выдающего смещение для параметров формы и позы модели SMPL (Ab, А Q ).

Алгоритм 1. Итеративное восстановление параметров модели SMPL end

HMR(Image) ·= [b t , q t ]

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

Полученные нейросетевым алгоритмом параметры модели SMPL подаются на вход нескольким сетям-дискриминаторам, архитектура которых приведена на фиг. 37. Для определения реалистичности формы используется одна полносвязная нейронная сеть с двумя слоями, получающая на вход вектор параметров формы и выдающая число, отражающее реалистичность параметров формы. Для параметров позы используется 24 полносвязных нейронных сети-дискриминатора (по одному на параметры позы для каждого сустава скелета и один общий) с разделением части параметров. Для начала к тройке параметров позы (задают направление оси поворота и величину угла) для каждого сустава применяется формула поворота Родрига, переводящая параметры в матричное представление (матрица поворота 3 х 3). После этого полученное представление подается на вход двум полносвязным слоям размера 32, общим для всех параметров позы, переводящим поданный на вход вектор в общее параметрическое пространство размерности 32. Полученные векторы параметров подаются на вход 23 нейронам, выдающим предсказания для каждого сустава отдельно, а также конкатенируются между собой и передаются двум полносвязным слоям размера 1024, на выходе которых получается предсказание для всех параметров позы вместе. Полученные от всех дискриминаторов значения конкатенируются, давая на выходе вектор длины 25, описывающий реалистичность предсказанных параметров 3D модели.

3.1.3 Обучение

Для обучения алгоритма авторы предложили использовать функцию потерь, состоящую из четырех штрафов. На выходе алгоритма для каждого входного изображения получаются параметры позы и формы модели SMPL ( Q И /?), вектор предсказаний дискриминатора (D pred = Dis ( HMR(Image))\ параметры камеры, а также координаты 3D позы человека извлеченные из модели SMPL на основе предсказанных параметров. Для моделирования камеры авторы используют модель слабой перспективной проекции, для которой верна следующая формула проекции: х = s * /7(й * X) + t, (25) где X £ М 3 - координаты точки в трехмерном пространстве, х £ 2 - координата спроецированной точки, R £ 3 3 - глобальный поворот, предсказываемый алгоритмом, s £ и t £ 2 - масштаб и вектор сдвига в двумерном пространстве, также предсказанные алгоритмом, а П - ортографическая проекция. Для штрафов за отклонение предсказанной 2D позы от эталонной используется ошибка репроекции с L1 нормой: где N - число примеров, N joints - число суставов в рассматриваемой модели скелета, x>i j е {0, 1} - видимость /-ой ключевой точки /-го примера (берется из эталонной разметки), a J И J t 2ci - координаты эталонной и предсказанной /-ой ключевой точки /- ого примера. Также, при наличии разметки 3D позы и параметров модели SMPL, применяются соответствующие штрафы (среднеквадратичное отклонение для обеих групп параметров):

Еще одно слагаемое в функции ошибки представляет собой штраф для предсказаний дискриминатора, направленный на то, чтобы сделать их как можно ближе к 7 (то есть, чтобы дискриминатор считал все предсказанные параметры реалистичными): где 1 e IR 25 - вектор из 7, совпадающий по размеру с конкатенированным выходом дискриминаторов. Общая функция потеря для обучения алгоритма HMR [37] задается следующей формулой: где l - коэффициент, подбираемый с помощью валидационного множества, t 3D - индикаторная функция, равная 7 только для примеров, имеющих разметку 3D позы и параметров модели SMPL.

Для обучения сетей дискриминаторов, наравне с предсказанными параметрами 3D модели SMPL, используются эталонные, полученные из размеченных коллекций данных. Функция потерь для обучения /-ого дискриминатора выглядит следующим образом: где N gt — число примеров из эталонной коллекции, N pred - число примеров, полученных предсказаниями от модели HMR.

3.2 Предложенные модификации алгоритма Human Mesh Recovery Предложенные модификация метода Human Mesh Recovery [37] направлены на устранение недостатков, выявленных в ходе анализа базового алгоритма. Для повышения точности работы метода, в том числе повышения качества восстановления фигуры человека, были предложены модификация архитектуры (раздел 3.2.1) и модификация процедуры обучения (раздел 3.2.2).

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

Сегментация человека - это достаточно простое, но при этом информативное представление, которое позволяет получить информацию о фигуре человека. Для повышения точности восстановления параметров 3D модели фигуры и позы человека предлагается восстанавливать карту сегментации для предсказанной 3D модели и использовать полученную карту сегментации для обучения алгоритма.

Ряд современных методов использует приближенный дифференцируемый рендеринг [В40] или обучаемый рендеринг [В41] для получения карты сегментации на основе предсказанной 3D модели, но это увеличивает время, затрачиваемое на обучение, а также усложняет саму процедуру обучения. Вместо этого предлагается использовать иной подход, схожий с применяемыми в некоторых ранних двухэтапных методах восстановления параметров 3D модели человека, например, в [В35].

Поточечная проекция вершин сеточной параметрической 3D модели на исходное изображение - это наиболее простой способ получить приближение силуэта (полученное одноканальное изображение содержит значение 255 в пикселях, на которые были спроецированы вершины, и 0 во всех остальных). Но без предобработки такое приближение трудно использовать, поскольку между спроецированными точками будет пустое пространство, которое при использовании попиксельного штрафа с эталонной картой сегментации будет трактоваться как ошибка алгоритма. Дополнительно к проецированию вершин предлагается считать для полученного одноканального изображения преобразование расстояния (distance transform) с использованием вычеркивающего расстояния (chamfer distance), в результате подсчета которого будет получено одноканальное изображение, в каждом пикселе которого будет содержаться расстояние до ближайшей спроецированной точки. Такая карта расстояния позволит взвешивать штраф пропорционально расстоянию. Схема модифицированного метода и примеры проекции вершин и карты расстояний приведены на фиг. 38.

3.2.2 Модификации процедуры обучения

На основе вычисленной карты расстояний (фиг 39, D pred ) и эталонной карты сегментации фиг 39, S at ) можно получить карту наиболее удаленных от предсказанных точек участков эталонной карты путем поэлементного перемножения двух карт (фиг. 39, S 9t ®D pred ). Таким образом получается одноканальное изображение, каждый пиксель которого содержит 0 в тех областях, где эталонным классом является фон, а для областей с эталонным классом человек - тем большее значение, чем дальше от этого пикселя находится ближайшая спроецированная вершина предсказанной сеточной параметрической 3D модели. Штрафуя за высокие значения в вычисленной таким способом карте расстояний, можно добиться уменьшения площади области эталонного силуэта человека, не покрытой предсказанным силуэтом.

Для достижения обратного эффекта: снижения площади области предсказанного силуэта, не покрытой эталонным силуэтом предлагается использовать карту расстояний (фиг. 39, S pred ®D 9t ), которая вычисляется на основе предсказанной карты сегментации (фиг. 39, S pred ) и карты расстояний для эталонной карты сегментации (фиг. 39, D t ), полученной аналогично карте расстояний D pred . Таким образом, суммарный результат на основе полученных карт расстояний можно выразить следующей формулой: где S pred - предсказанная карта сегментации, S pt - эталонная карта сегментации, D pred - карта расстояний, вычисленная на основе предсказанной карты сегментации, D gt - карта расстояний, вычисленная для эталонной карты сегментации, а символ (8> обозначает поэлементное перемножение. Визуализация этапов вычисления формулы (31) приведена на фиг 39.

Итоговое выражение для предложенного штрафа на основе сегментации выглядит следующим образом: где Hi И Wi - высота и ширина карт сегментации. Итоговая функция потерь, используемая для обучения модифицированного алгоритма (HMR-seg), принимает вид: где у - коэффициент, подбираемый с помощью валидационного множества, l s - индикаторная функция, равная 1 только для примеров, имеющих разметку сегментации. 4. Определение антропометрических параметров тела пользователя Алгоритм определения антропометрических параметров тела пользователя включает в себя (а) получение размерных признаков человека на основе подогнанной модели и трехмерного снимка и (б) определение типа фигуры человека. 4.1. Получение размерных признаков пользователя

Размерные признаки могут быть вычислены различными методами: методами линейной алгебры, методами машинного обучения, комбинированными методами. Определение обмеров методами линейной алгебры происходит подобно измерению обмеров с тела человека вручную, только осуществляется с трехмерного снимка человеческого тела. Алгоритмы на основе машинного обучения строятся на основе моделей, обученных на заранее размеченных данных. Комбинированные методы реализуются частично на основе алгоритмов линейной алгебры, частично алгоритмов машинного обучения. Например, на основе трехмерного снимка вычисляются промежуточные антропометрические параметры, которые затем используются для обучения регрессионной модели.

Также возможно использование различных методов для вычисления различных обмеров, т.е. каждый обмер можно вычислять тем методом, который дает минимальную ошибку на тестовой выборке.

4.1.1. Получение размерных признаков на основе методов линейной алгебры

Размерные признаки определялись на основе числовых значений, называемых обмерами. При реализации обмеров учитывались следующие стандарты: ISO 8559, ISO 7250, ГОСТ 17522-72, ГОСТ 31396-2009, ОСТ 17-326-81 [23-30]. Часто обмеры из различных стандартов дублируются, иногда методики измерения противоречат друг другу [В31]. В таких случаях предпочтение отдавалось стандарту ISO 8559. В общей сложности было реализовано 89 обмеров, из них 25 обмеров - симметричные, т.е. состоящие из трех обмеров: правого, левого и среднего. Полный список размерных признаков (РП) приведен в таблице 3.

Таблица 3 Г Соответствующий РП

Номер РП Наименование РП : i в стандарте ISO 8559

1 Ширина плечей сзади ! 5.4.3. Across back shoulder width

2 I Длина руки до запястья I 5.7.8 Outer arm length

(симметр.) I Расстояние от шеи до та | 5.4.5 Back neck point to waist Обхват груди третий I 5.3.4 Bust girth Высота подъягодичной N/A

I Обхват колена 5.3.22 Knee girth

(симметр.) I

Обхват бедра 5.3.20 Thigh girth

(симметр.) .

14 I Общая длина промежности I 5.4.18 Total crotch length

Каждый обмер реализован как отдельная функция и основан на одной из функций обмеров приведенного типа. Каждый обмер может быть выполнен как по трехмерному снимку, так и по подогнанной модели человеческого тела. Обмеры по трехмерному снимку наиболее приближены к обмерам в реальности, и предполагается, что их значения дают более точные результаты. Иногда на трехмерных снимках присутствуют артефакты сканирования, что проявляется в слипшихся с туловищем руках или слипшихся друг с другом ногах. В таких случаях оказывается более удобным определять часть обмеров по модели, например, обхват бедра, верхний обхват руки и др. Иногда человек сканируется с длинными распущенными волосами и получить некоторые обмеры, например, обхват шеи, получить только на основе трехмерного снимка не представляется возможным. В таком случае также обмеряется модель.

Для получения обмеров нужно вызвать метод get all measurements класса Measurements. Предложенный метод проводит измерение всех обмеров, перечисленных в словаре measurement Junctions. В каждом поле словаря указан один обмер, а также указаны параметры model cut и dependencies. Параметр model cut задает облако точек, которое нужно обмерять - трехмерный снимок или модель, а параметр dependencies задает список обмеров, от которых зависит данный обмер. Перед совершением обмера производится проверка того, есть ли у обмера зависимости, и если есть, то сначала рекурсивно выполняются обмеры, от которых зависит данный обмер. Такой способ позволяет сэкономить время на выполнении обмеров, которые частично совпадают с другими обмерами.

В результате на выходе метода get all measurements формируется словарь с результатами обмеров и визуализациями обмеров в трехмерном пространстве.

Благодаря использованию параметрической модели, обладающей свойством функционального сокращения вершин (одинаковые вершины находятся в одинаковых местах тела человека для всех трехмерных снимков), антропометрические точки были размечены прямо на модели. Иными словами, каждой антропометрической точке, используемой в алгоритме обмеров, была поставлена в соответствие точка на модели с фиксированным индексом.

Обмеры разделены на четыре типа:

(1) высоты (относительно уровня пола);

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

(3) обхваты;

(4) расстояния по поверхности тела.

4.1.1.1. Высоты

Размерные признаки этого типа соответствуют расстояниям от фиксированных уровней на теле человека до уровня пола. Для измерения каждого размерного признака из этой группы используется одна антропометрическая точка, соответствующая РП.

Дополнительно ко всем измерениям высот применяется коррекция, учитывающая позу человека. В стандартах, описывающих измерение РП этой группы, предполагается, что человек стоит, сведя ноги вместе, в то время как в реализованном алгоритме используются трехмерные снимки человека в А-позе, когда ноги располагаются на ширине плеч, а руки прямые и расположены под углом около 20 градусов по отношению к торсу.

Для коррекции используется следующий алгоритм. Вычисляются углы ног по отношению к вертикали на основе суставов модели «правое бедро», «правая щиколотка» и «левое бедро», «левая щиколотка». Затем вычисляется величина коррекции для каждой ноги как разность фактической длины ноги и ее проекции на вертикальную ось. Для всех точек выше уровня бедер значение обмера корректируется на фиксированную величину, равную среднему значению величин коррекции для обеих ног. Для точек ниже уровня бедер значение обмера корректируется на меньшую величину в соответствии с приведенным на фиг. 25 графиком. Визуализацией такого типа обмера является координата точки (фиг. 26).

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

Расстояние между двумя антропометрическими точками вычисляется по известной формуле как корень суммы квадратов разностей координат. Визуализацией такого типа обмера являются две точки, соединенные ребром (фиг. 27).

4.1.1.3. Обхваты

Этот размерный признак соответствует длине плоского замкнутого контура, расположенного на определенном уровне тела либо проходящего через заданные антропометрические точки. На теле человека измеряется сантиметровой лентой. Для определения данного типа РП используется следующий алгоритм. Определяется плоскость, в которой должна лежать сантиметровая лента для получения желаемого обхвата. Производится сечение облака точек данной плоскостью. В результате получается один или несколько замкнутых контуров. Например, если облако точек будет подвергаться сечению плоскостью на уровне талии, то получится три контура: талии и двух рук. Для выбора нужного контура используется расстояние от контура до заданной точки и выбирается контур с минимальным расстоянием. После чего на выбранном контуре строится выпуклый контур, моделируя поведение сантиметровой ленты. Длина выпуклого контура и будет являться искомой величиной обхвата.

В функции обмера типа «обхват» реализована возможность задания необходимого количества контуров при сечении. Если контуров меньше или больше, плоскость смещается на небольшую величину до тех пор, пока количество контуров не будет равно заданному значению. Это позволяет увеличить точность при выборе плоскости и избежать дополнительных ошибок. Например, эта функциональность используется для поиска обхвата груди, когда плоскость может проходить чуть выше подмышек. Тогда выбранный контур будет захватывать плечо и, таким образом, давать завышенный результат. В этом РП параметр необходимого количества контуров устанавливается равным трем. Визуализацией такого типа обмера является множество точек выпуклого контура, соединенных между собой ребрами (фиг. 28).

4.1.1.4. Расстояния по поверхности тела

Для измерения этого обмера по телу человека нужно соединить сантиметровой лентой две или большее количество антропометрических точек (последовательно) на поверхности тела и определить получившуюся длину.

Алгоритм реализации РП данного типа в предложенном методе можно разбить на несколько шагов (фиг. 29). Первые два шага у данного типа обмера и обмера типа «обхват» аналогичны, но последующие шаги различаются.

1. Облако точек сечется плоскостью, в результате получается один или несколько контуров. Если контуров меньше или больше заданного количества, плоскость смещается на небольшую величину до тех пор, пока количество контуров не будет равно заданному.

2. При получении нескольких контуров выбирается контур С {contour), наиболее близкий к точке middle point.

3. Контур делится на две части по конечным точкам point 1 и point 2.

4. Сравнивается расстояние от каждой части контура до точки middle j ooint, выбирается более близкая к точке часть контура L {line).

5. По выбранной части контура L строится выпуклый контур СН {convex hull). 6. Выпуклый контур СН делится конечными точками point 1 и point 2 на две части, одна из них будет находиться снаружи тела, а другая - с внутренней стороны тела.

7. Выбирается внешняя по отношению к телу часть выпуклого контура. Для определения этого была разработан специальный метод, описание которого приведено ниже.

Метод определения внешней части выпуклого контура: каждая точка выпуклого контура соответствует одной из точек линии. Определяется точка на выпуклом контуре СН , соответствующая одной из конечных точек линии L. Далее проверяется, равны ли соседние точки выпуклого контура соседним точкам на линии. С той стороны, где они не равны (как минимум для одной стороны они не будут равны), происходит «перескок» выпуклого контура через точки линии, т.е. соответствующий отрезок выпуклого контура находится по одну сторону линии. Поэтому далее проверяется, находится ли середина данного отрезка (HI) снаружи контура С или внутри. Если она находится снаружи, то часть выпуклого контура СН, которой принадлежит отрезок, находится снаружи тела и является искомой. Если она находится внутри, то искомой является оставшаяся вторая часть выпуклого контура. Визуализацией такого типа обмера является множество точек выбранного сегмента выпуклого контура, соединенных между собой ребрами (фиг. 30).

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

Может оказаться, что некоторые антропометрические точки заданы не совсем точно. Это может увеличить ошибку результатов обмеров, полученных методами линейной алгебры.

Для минимизации этого эффекта предлагается использовать метод корректировки обмеров. Для этого необходима база данных трехмерных снимков людей и измеренных вручную значений обмеров. Для каждого размерного признака определяется среднее значение ошибки алгоритма от истинных значений. Затем для каждого обмера вводится поправка, компенсирующая среднее значение ошибки.

Этот метод позволяет уменьшить среднюю ошибку обмеров примерно на 40-60%.

4.1.3. Получение размерных признаков на основе методов машинного обучения

Предлагается использовать регрессионную модель. Обучение модели происходит следующим образом. Сначала к трехмерному снимку человека подгоняется модель человеческого тела, которая имеет параметры телосложения и позы. Затем обучается регрессионная модель, обеспечивающая преобразование из параметров модели к величинам обмеров. Для получения обмеров человека нужно подогнать к его трехмерному снимку модель человеческого тела и, используя обученную регрессионную модель, получить искомые обмеры.

Для обучения модели использовались данные из базы данных цифровых снимков CAESAR, включающей в себя более 4000 трехмерных снимков людей из различных регионов. Для каждого человека в этой базе данных имелся набор значений обмеров, измеренных вручную с человеческого тела.

Достоинствами данного метода является быстрота определения обмеров, к недостаткам же можно отнести зависимость точности обмеров от величины обучающей выборки, и ограниченность множества обмеров теми, которые представлены в обучающей выборке.

4.1.4. Получение размерных признаков на основе комбинированных методов

Эти алгоритмы могут быть реализованы различными способами. Общая идея состоит в том, чтобы сначала методами линейной алгебры получить некие промежуточные антропометрические параметры, которые затем использовать для определения целевых обмеров.

Промежуточными антропометрическими параметрами могут быть, например, обхваты человеческого торса или иной части трехмерного снимка, выполненные на разных высотах и углах к плоскости пола. Другим вариантом промежуточных антропометрических параметров могут быть расстояния между точками пересечения прямой и контура проекции человеческого тела на одну из вертикальных осей.

Далее набор промежуточных параметров может быть обработан как методами функционального анализа (поиск точек максимума, минимума, перегиба и др.), так и методами машинного обучения.

4.1.5. Определение антропометрических признаков пользователя на основе анкетирования

В качестве альтернативы описанным выше способам, возможно определение антропометрических параметров пользователя на основе заполнения анкеты. Такой способ может быть реализован в виде приложения на смартфоне, как сервис на Интернет- сайте либо другим способом. В качестве вопросов может быть информация о росте, весе, возрасте, особенностях фигуры или каких-либо антропометрических параметрах тела. Ответы могут быть введены в виде вещественного числа или выбором одного из нескольких предложенных вариантов. Также, опционально, пользователь может добавить к введенным данным одну или несколько фотографий тела. Данные, введенные в анкету, передаются в специальный модуль, который вычисляет на основе этих данных антропометрические параметры человека.

Задачей такого модуля является определение неизвестных антропометрических параметров тела на основе введенных параметров. Эта задача может быть решена с помощью статистических моделей. Например, зная пол, рост, вес, и тип фигуры пользователя, можно построить наиболее вероятную для таких параметров модель тела пользователя, которой будут соответствовать определенные размерные признаки.

Модель может быть построена с помощью методов регрессионного анализа, с помощью методов классификации и кластеризации, а также с помощью глубокого обучения либо с помощью смешанных методов.

В качестве вопросов, имеющих несколько вариантов ответа, могут запрашиваться качественные характеристики человека, например изгиб спины (степень сутулости), соотношение мышечной и жировой массы тела (атлетичное, обычное, тучное телосложение) и др.

Если пользователь считает вычисленные размерные признаки неверными, он может оставить обратную связь, введя в систему верные значения размерных признаков. Данные об обратной связи могут быть использованы для более точной настройки модуля, с учетом реальных статистических данных о пользователях.

Во входящих данных могут быть одновременно непрерывные и дискретные величины, а также фотографические изображения. Для обработки этих данных предлагается несколько подходов.

1. Перевод категориальных признаков в непрерывные. В этом случае категориальным признаком может остаться только пол пользователя. Статистическая модель строится либо отдельно для мужчин и женщин, либо одна для обоих полов. С помощью регрессионного метода по известным параметрам определяются неизвестные.

2. Перевод непрерывных признаков в категориальные. В таком случае пространство непрерывных параметров отображается в кластеры с помощью вокселизации или другого метода кластеризации. Для каждого кластера определяются наиболее вероятные значения размерных признаков. На основе введенных пользователем данных, определяется кластер, к которому относится пользователь, а после этого его антропометрические признаки уточняются с помощью дополнительной информации. Результатом являются размерные признаки пользователя.

3. Обработка полноростовых фотографий. С помощью методов глубокого обучения из фотографий возможно извлекать либо непрерывные, либо категориальные антропометрические признаки. Непрерывными могут быть, например, отношение обхвата талии к обхвату бедер, длины ног к росту или другие отношения. Категориальными могут быть, например, тип фигуры. Эти данные могут быть использованы для уточнения размерных признаков пользователя, описанных выше в и. 1 и и. 2.

4. Смешанные варианты. Исходную задачу можно также решать комбинированными вариантами из п. 1, п. 2 и п. 3.

4.2. Определение типа фигуры пользователя

Для определения типа фигуры пользователя могут быть использованы различные методы, включающие в себя как чисто алгоритмические методы, так и методы машинного обучения.

Алгоритм типирования фигуры человека имеет на входе пол человека и таблицу мерок, снятых с него. Типирование фигур для женщин и мужчин реализовано различными функциями.

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

Для типирования мужчин алгоритм использует информацию трех обмеров: обхвата груди, обхвата талии и обхвата бедер, и относит фигуру к одному из трех типов: худой, нормальный и толстый.

Сначала проверяется, является ли фигура худой. Считается, что к худым мужчинам относятся те, у кого нет выраженного таза, живота или трапецеидальных мышц. Поэтому сначала проводится проверка того, находятся ли все три обмера в заданных пределах.

Если да, то фигура относится к типу «худой».

Далее проверяется, относится ли человек к полному типу. Мужчина считается полным, если у него есть лишний вес в области живота или таза, поэтому проверяется, превышает ли значение обхвата талии или бедер пороговое значение для полного человека. Если хотя бы одно из этих обмеров превышает пороговое значение, то фигура относится к типу «толстый».

Остальные фигуры считаются относящимися к типу «нормальный». То есть это мужчины условно среднего веса, при этом человек может иметь большую мышечную массу (например, выраженные трапециевидные мышцы) или не иметь ее.

На тестовой базе трехмерных снимков из 126 мужчин получены следующие результаты: «худые» - 23, «нормальные» - 80, «толстые» - 23. При визуальной проверке типы фигур мужчин соответствовали результатам автоматического тестирования.

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

Для женщин типирование происходит также на основе обмеров обхватов груди, талии и бедер. При этом используется пять типов фигуры: «худая», «нормальная с выраженной талией», «нормальная без выраженной талии», «полная с выраженной талией», «полная без выраженной талии».

Для типирования используется четыре параметра: thin thresh, flat сое f wide contoured thresh, wide flat thresh. Проверка принадлежности к определенному типу проводится пошагово и на каждом последующем шаге типированию подвергаются только оставшиеся после предыдущих шагов фигуры.

Сначала, также как и у мужчин, проверяется, является ли женщина худой, что будет выполняться при условии, что все три обмера менее thin thresh. Далее выполняется проверка соответствия фигуре полной женщины: бедра должны быть больше wide contoured thresh и отношение талии к бедрам - меньше flat coef. После этого проверяется соответствие типу фигуры «полная без выраженной талии»: талия больше wide flat thresh. Далее остается типировать «нормальные» фигуры. Если у оставшихся моделей отношение талии к бедрам менее flat coef то фигура будет «нормальной с выраженной талией». Если никакое из вышеперечисленных условий не выполнено, то считаем, что тип фигуры - «нормальная без выраженной талии».

Результаты тестирования на базе из 146 женских трехмерных снимков следующие: «худая» - 8,9 % (13), «нормальная с выраженной талией» - 43,8 % (64), «нормальная без выраженной талии» - 27,4 % (40), «полная с выраженной талией» - 5,5 % (8), «полная без выраженной талии» - 14,4 % (21). Эти данные соответствуют статистическим данным. При визуальной проверке типы фигур женщин также соответствовали результатам автоматического тестирования.

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

Качество работы алгоритма определялось на тестовой выборке, состоящей из трехмерных снимков (ЗП-сканов; ЗП-сканограмм). Было проведено сравнение с двумя типами эталонных данных:

(а) размерные признаки (РП) человека, измеренные вручную по телу;

(б) размерные признаки (РП), измеренные по трехмерному снимку с использованием программного обеспечения для проектирования одежды (САПР). В качестве примера таких САПР можно привести CLO, Optitex, Browzwear и т.п.

Сравнение РП, полученных с помощью описанного выше алгоритма, с РП, измеренными вручную по телу, представлено на фиг. 31. Средняя ошибка составила 23,3 мм. Сравнение РП, полученных с помощью описанного выше алгоритма, с РП, измеренными по трехмерному снимку, представлено на фиг. 32. Средняя ошибка составила 21,2 мм. На фиг. 31 и фиг. 32 по оси абсцисс расположены номера обмеров во внутренней системе, по оси ординат - разница между результатами обмеров, полученными с помощью предложенного алгоритма и результатами, измеренными вручную с человека в реальности либо с трехмерного снимка. Каждая точка соответствует ошибке результата конкретного обмера конкретного человека.

Таким образом, средняя ошибка на всех обмерах оказалась менее 2,5 см. Видно, что центры распределения смещены относительно нуля, что говорит о не совсем точном выборе положений антропометрических точек, кроме того, на диаграмме присутствуют выбросы, которые могут быть связаны как с ошибками алгоритма, так и с ошибками референсных данных. В дальнейшем планируется протестировать алгоритм на размеченной выборке большего объема, что позволит подобрать оптимальные параметры алгоритма.

5. Выбор наиболее близких производственных моделей

Далее выполняется выбор по антропометрическим параметрам одной или нескольких наиболее близких производственных моделей из массива производственных моделей разных производителей одежды.

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

Для сопоставления производственных моделей с моделью тела пользователя трехмерные производственные модели подвергаются «регистрации» аналогично трехмерным моделям, полученным по результатам сканирования тела пользователя, как описано выше.

Если используются цифровые модели, то такая регистрация может выполняться непосредственно по цифровой модели или после необходимых преобразования данных. Задача такого преобразования данных тривиальна для специалиста, поэтому подробности преобразования здесь опущены для краткости. Если используются физические манекены, то они подвергаются сканированию аналогично телу пользователя.

В случае использования параметрических производственных моделей, РП могут быть получены из таких моделей - либо непосредственно (если методики определения РП совпадают с применяемыми в предложенном подходе), либо путем преобразования. При этом способ такого преобразования зависит от конкретной реализации параметров той или иной производственной модели.

5.2. Сопоставление производственных моделей с моделью тела пользователя

Сопоставление производственных моделей с моделью тела пользователя может выполняться с использованием целевой функции где Т - целевая функция расхождения, подлежащая минимизации, М- число размерных признаков (РП), DP cust - размерный признак пользователя, DP prod - размерный признак производственной модели, соответствующий размерному признаку пользователя, - взвешивающий коэффициент, учитывающий важность каждого признака с точки зрения влияния на «посадку» конкретного предмета одежды на пользователя, т.е. на субъективную оценку пользователем того, хорошо или плохо «сидит» на нем эта одежда. Число может представлять собой как количество всех размерных признаков пользователя и/или производственной модели, так и подмножество размерных признаков, включающие только те размерные признаки, которые существенны для конкретного предмета одежды (например, только РП ног при выборе джинсов или только РП кистей при выборе перчаток).

Критерий сопоставления моделей может быть основан, например, на оценке Т < о, где г.о - пороговая величина, значение которой может быть унифицированным (т.е. действительным для всех видов одежды, всех производителей одежды и всех пользователей) или дифференцированным (т.е. задаваться индивидуально для различных видов одежды, различных производителей одежды и различных пользователей). Специалисту должно быть понятно, что указанный выше критерий приведен лишь в качестве иллюстрации и что изобретение включает в себя все многообразие возможных критериев.

Стоит отметить, что сопоставление может выполняться не только с помощью целевой функции (34), но и более общими известными методами, например, с помощью регистрации двух сопоставляемых моделей друг относительно друга и расчета невязки трехмерных поверхностей моделей. Это позволяет сопоставлять модели не только в избранных местах (обхват талии, обхват бедер и т. п.), но осуществлять сопоставление моделей целиком.

Отобранные по критерию сопоставления производственные модели могут фиксироваться в любой подходящей форме на любом подходящем носителе информации, как подходящие для конкретного пользователя и в дальнейшем могут использоваться в процессе дистанционного выбора одежды. Такая фиксация может выполняться в соответствующем формате в компьютере или в мобильном устройстве пользователя либо на сервере облачного сервиса.

Выше описан алгоритм, предполагающий существование производственной модели (геометрической или параметрической), пригодной для сопоставления с моделью тела пользователя. Тем не менее, возможны ситуации, когда производственная модель отсутствует или когда имеющаяся производственная модель содержит существенные ошибки, приводящие к неудовлетворительному результату сопоставления моделей. При этом построение производственной модели и/или ее верификация могут оказаться невозможными или экономически нецелесообразными.

В этом случае дистанционный выбор одежды возможен без использования производственной модели на основе сопоставления размерных признаков пользователя с размерной сеткой конкретного бренда или на основе сопоставления размерных признаков пользователя с результатами обмера предмета одежды.

5.3. Сопоставление размерных признаков пользователя с размерной сеткой бренда

При этом подходе пользователь выбирает модель одежды, а система определяет подходящий пользователю размер для этой модели. Здесь термин «модель одежды» означает не математическую или компьютерную модель, а воплощенный в материале образец одежды, характеризующийся определенными размерами, силуэтом, покроем, композиционным и конструктивным решением, материалами и декоративными элементами.

У крупненный алгоритм рекомендации подходящего размера для конкретной модели одежды представлен на фиг. 43. Алгоритм предусматривает выполнение следующих действий:

- (41) пользователь выбирает интересующую его модель или категорию одежды;

- (42) если пользователь выбирает модель одежды, то для нееопределяется категория (подкатегория);

- (43) определяются или вводятся размерные признаки человека, на основе которых может быть определен подходящий размер;

- (44) размерные признаки пользователя сопоставляются с размерной сеткой бренда, которому принадлежит выбранная модель одежды;

- (45) результаты сопоставления обрабатываются для определения рекомендуемого размера выбранной модели одежды;

- (46) рекомендуемый размер сообщается пользователю.

Предварительный выбор модели или категории одежды выполняется любым подходящим способом, например по электронному каталогу. Возможно также применение для этой цели бумажных каталогов, флаеров, публикаций в социальных сетях, видеоклипов и других информационных и рекламных материалов, позволяющих идентифицировать интересующий пользователя предмет одежды.

Электронный каталог может быть монобрендовым или мультибрендовым, функциональным или тематическим. Все модели одежды в каталоге заранее распределены по категориям и, при необходимости, по подкатегориям. Для каждой категории (подкатегории) одежды заранее заданы те размерные признаки человека, на основе которых может быть определен подходящий размер.

Эти признаки определяются системой или вводятся в нее (если они были заранее определены) или извлекаются из геометрической или параметрической модели тела пользователя (например, если она содержится в профиле пользователя). Определение размерных признаков пользователя может выполняться, например, способами, описанными выше в разделе 4.1.

Размерная сетка может быть получена как непосредственно, так и с помощью вычисления размерных признаков производственных манекенов.

Для каждого размерного признака по размерной сетке бренда вычисляется соответствующий размер в численном виде (например, в виде действительного числа). Далее на основе полученных размеров по формуле вычисляется рекомендуемый размер одежды.

В простейшем случае для составления рекомендаций можно использовать размерную сетку, содержащую лишь два размерных признака, например, обхват груди и обхват бедер. В этом случае размер, относящийся к верхней части тела, будет определяться обхватом груди, а относящийся к нижней части тела - обхватом бедер.

Более точную рекомендацию может обеспечить использование размерной сетки с большим количеством размерных признаков, например, для приталенных сорочек, жакетов, платьев и т.п. может быть целесообразным учет обхвата шеи, груди и талии, ширины плеч, а также роста человека и длины рукава.

Для более точной рекомендации необходима размерная сетка, содержащая большее количество размерных признаков.

Список и характеристики размерных признаков тела человека приведены выше в таблице 3.

Определение размера на основе нескольких размерных признаков возможно с использованием различных подходов. Например, для каждого размерного признака можно ввести коэффициент, определяющий степень влияния этого признака на рекомендуемый размер одежды. В этом случае размер может вычисляться по формуле взвешенного среднеарифметического значения:

S = (WiSi) / Iwi , (35) где Si - размер (например, в виде действительного числа), соответствующий /-му размерному признаку, w,·- вес /-го размерного признака при определении размера, S - рекомендуемый размер (например, в виде действительного числа) одежды в численном виде. Для некоторых моделей одежды может оказаться, что предпочтения пользователя не вполне соответствуют задумке дизайнера одежды. Также может оказаться, что материал, из которого изготовлен предмет одежды, влияет на индивидуальные предпочтения по посадке одежды. Для учета подобных случаев для каждой модели одежды может быть введено одно или несколько поправочных значений. Тогда формула (35) приобретает вид:

S = (wSi) / Iwi + dsi + ds2 +... , (36) где dsi - первое поправочное значение, ds2 - второе поправочное значение и т.д. Количество, виды и величины поправочных значений могут быть индивидуальными для каждого пользователя или для некоторых пользователей. В частности, индивидуальные поправочные значения могут нивелировать недостаток (малое количество) размерных признаков, принимаемых во внимание при сопоставлении, учитывая особенности фигуры пользователя.

Далее необходимо перевести эти численные значения размеров в значения размеров согласно размерной сетке бренда. Это можно сделать, например, путем округления полученного численного значения размера до ближайшего размера в размерной сетке. Правила такого округления могут различными, например, в большую сторону, меньшую сторону или к ближайшему значению.

В простейшем случае таким образом может быть вычислен размер одежды по длине и ширине. Результатом работы алгоритма рекомендации в таком случае является пара численных размеров: размер по длине и размер по ширине.

При необходимости алгоритм рекомендации размера одежды можно расширить, дополнительно реализовав алгоритм стилистических рекомендаций (более подробно обсуждается в и. 5.7). Для подготовки стилистических рекомендаций сначала стилист- эксперт должен определить правила соответствия характеристик тела и характеристик подходящей одежды. Характеристики тела могут быть основаны на возрасте пользователя, его телосложении, цвете кожи, типе, цвете и длине волос, разрезе и цвете глаз и т.д. Алгоритм стилистических рекомендаций вычисляет необходимые характеристики тела человека, определяет параметры одежды, соответствующие данному человеку, и рекомендует наиболее подходящую по стилю и фасону одежду.

5.4. Сопоставление размерных признаков пользователя с результатами обмера предмета одежды

В отсутствие информации о модельных рядах и размерных сетках брендов рекомендации могут быть выработаны на основе сопоставления размерных признаков пользователя с результатами обмеров конкретных предметов одежды. Если предмет одежды доступен для физического обмера, то обмер может выполняться в явном виде, например, с помощью традиционного портновского метра. В большинстве случаев физический обмер может оказаться невозможным или экономически нецелесообразным из-за высокой трудоемкости и высокой стоимости ручного труда. Поэтому в системах массового обслуживания обмер предмета одежды может выполняться косвенным способом, например путем оптического сканирования с использованием обычных двумерных фотографических изображений измеряемого предмета одежды.

Оптическое сканирование одежды может выполняться на специальной автоматизированной установке. Установка может состоять из рабочей поверхности и статической камеры. Рабочая поверхность может иметь разметку, обеспечивающую автоматическую калибровку системы для определения размеров на основе изображений, полученных с камеры. В простейшем случае такая разметка может представлять собой сетку с квадратной ячейкой заранее известного размера. В других случаях разметка может состоять из реперных точек, расположенных в заранее заданных местах на заранее заданном расстоянии друг от друга.

Для определения размеров предмета одежды может применяться алгоритм компьютерного зрения, который определяет вид или категорию одежды, выявляет ключевые точки на изображении, вычисляет контур одежды и на основе этих данных определяет размеры (фиг. 42). Для этого могут применяться заранее заданные для каждого вида (категории) одежды правила преобразования ключевых точек и контура в результаты обмера.

Затем результаты обмера могут конвертироваться в размерные признаки, которые могут использоваться для сопоставления непосредственно или из которых при необходимости может формироваться параметрическая модель предмета одежды. По сути, эти размерные признаки или параметрическая модель описывают производственный манекен, на который пошита эта модель одежды.

Размерные признаки тела пользователя могут сопоставляться с размерными признаками предмета одежды подобно тому, как это описано в и. 5.3 со ссылкой на формулы (35) и (36).

Далее описан иллюстративный пример алгоритма рекомендации одежды заданной категории. В этом примере разные размеры одной модели одежды система рассматривает как разные модели одежды и выдает список предметов одежды, отсортированного в порядке убывания рейтинга посадки.

Система, реализующая алгоритм рекомендации, может содержать: - базу данных одежды, содержащую словарь категорий одежды, словарь подкатегорий одежды для каждой категории, список моделей одежды для каждой подкатегории, результаты обмеров (далее - обмеры) и соответствующие им размеры для каждой модели одежды;

- правила преобразования размерных признаков человека и обмеров одежды, позволяющие привести размерные признаки человека и обмеры одежды к единому формату;

- правила вычисления отсутствующих обмеров (в частности, для тех размеров конкретной модели одежды, для которых данные обмеров отсутствуют);

- правила, определяющие важность результатов обмеров для каждой модели одежды, при этом для каждой модели указано, должен ли этот результат обмера совпадать (equal) или превышать соответствующий размерный признак человека (greater); для конкретной модели одежды может быть задана любая комбинация правил;

- правила градации одежды по размерам.

На вход алгоритма подаются размерные признаки пользователя. В базе данных одежды, доступной для выбора, выполняется поиск с учетом количества М рекомендуемых моделей одежды и целевой категории (подкатегории), в которой должен проводиться поиск. Число М и одна или несколько категорий (подкатегорий) для поиска могут задаваться пользователем или определяться самой системой на основе различных критериев. Таким критериями могут быть предпочтения пользователя, выявленные на основе анализа прошлых действий этого пользователя в системе, текущая загрузка системы и т.п.

На выходе алгоритма обеспечивается список не более чем М моделей одежды с указанием размера каждой модели, ранжированный по убыванию рейтинга посадки (т.е. коэффициента, показывающего насколько конкретный предмет одежды подходит пользователю).

Алгоритм рекомендации предусматривает инициализацию, предварительную обработку данных и вычисление рейтинга посадки одежды.

На этапе инициализации выполняется импорт данных о предметах одежды из внешнего источника данных с преобразованием формата импортируемых данных в формат данных системы. Источники данных о предметах одежды могут быть многочисленны и разнообразны с точки зрения форматов данных. Преобразование формата позволяет сформировать базу данных о предметах одежды системы рекомендации. Данные о предметах одежды могут представлять собой обмеры одежды. Если импортируемые данные содержат обмеры не для всего размерного ряда конкретной модели одежды, то недостающие обмеры вычисляются путем интерполяции или экстраполяции на основе имеющихся обмеров по заранее заданным правилам.

Предварительная обработка данных при необходимости включает в себя преобразование формата размерных признаков пользователя и/или формата обмеров одежды в такой формат, который позволяет выполнять их сравнение. В частности, обмеры одежды могут быть преобразованы в формат, описывающий производственный манекен, на который пошит этот предмет одежды. Размерные признаки производственного манекена соответствуют идеальной посадке предмета одежды. Поскольку такой формат может совпадать с форматом модели тела пользователя, их сопоставление может выполняться непосредственно. Тем не менее, возможен и другой вариант, когда размерные признаки пользователя преобразуются в формат обмеров одежды, или еще один вариант, когда оба формата преобразуются в некоторый третий формат, обеспечивающий сравнение размерных признаков.

Результат сравнения может быть выражен рейтингом посадки - численной оценкой соответствия предмета одежды фигуре пользователя. В частности, рейтинг посадки может вычисляться для двух векторов - вектора размерных признаков пользователя и вектора размерных признаков предмета одежды.

В связи со спецификой такой задачи использование в качестве рейтинга посадки L- норм не представляется возможным по следующим причинам.

Во-первых, у каждого замера одежды есть допустимый диапазон, в котором замер может варьироваться без ухудшения технической посадки предмета одежды. Соответственно, отклонение размерного признака от соответствующего замера в пределах такого диапазона не должны ухудшать рейтинг посадки.

Во-вторых, если один из замеров одежды меньше соответствующего размерного признака пользователя с учетом допустимого диапазона - одежда не может быть рекомендована пользователю.

В-третьих, в общем случае не все замеры одежды имеют одинаковое значение для комфортной посадки. К примеру, для классической рубашки свобода в талии может быть не так важна, как ширина плеч и обхват шеи.

Поэтому для вычисления рейтинга посадки был разработан алгоритм, вычисляющий скалярную величину, диапазон значений которой находится в пределах от 0 до 1, где «0» означает, что предмет одежды совершенно не подходит пользователю, а «1» означает, что предмет одежды идеально подходит человеку. Перед вычислением рейтинга посадки значения разности между соответствующими координатами векторов делятся на 3 группы: «fit», «small» и «big», где:

- «fit» означает выполнение по меньшей мере одного условия из следующих: значение размерного признака предмета одежды находится в допустимом диапазоне и значение размерного признака предмета одежды больше значения соответствующего размерного признака пользователя, но находится в группе «greater» правил важности;

- «small» означает, что размерный признак предмета одежды меньше допустимого диапазона;

- «big» означает, что размерный признак предмета одежды больше допустимого диапазона и находится в группе «equal» правил важности.

Если по меньшей мере один обмер предмета одежды определенного размера оказывается в группе «small», то он исключается из выдачи. В простейшем случае рейтинг посадки может быть равен количеству обмеров, попавших в группу «fit», деленному на общее количество обмеров одежды.

Для ранжирования предметов одежды с приемлемым рейтингом посадки дополнительно может быть вычислена величина ошибки посадки. Для этого вычисляется 2-норма для каждой из групп «fit», «big» и «small» в отдельности. Результаты вычислений суммируются с использованием весовых коэффициентов, например, 1 *fit + 2*big и сумма является значением ошибки посадки. Значение ошибки посадки позволяет производить ранжирование полностью подошедшей одежды (для которой рейтинг посадки равен 1) и при наличии в рекомендуемой выдаче предметов одежды с замерами, находящимися в категории «big», поднимать позицию в выдаче одежды с наименьшим выходом за допустимый диапазон.

Таким образом, на вход алгоритм ранжирования подаются следующие данные:

- К векторов обмеров одежды (по одному вектору на каждый предмет одежды);

- один вектор размерных признаков пользователя;

- информация об идеальной посадке для каждого предмета одежды.

Векторы обмеров одежды и вектор размерных признаков состоят из N координат. Координаты всех векторов находятся в едином порядке (т.е. выражены в единой системе координат).

Для перебора всех экземпляров одежды используется метод «bruteforce» по всем моделям одежды из заданной категории (подкатегории). На каждом /-ом шаге перебора вычисляется рейтинг посадки для /-ого вектора обмеров одежды и вектора размерных признаков пользователя. После вычисления для каждого экземпляра одежды ошибки посадки и рейтинга посадки в выборке выполняются две последовательные сортировки: сортировка по рейтингу посадки в порядке его убывания и сортировка по ошибке посадки в порядке ее возрастания (опционально).

На последнем шаге алгоритма из отсортированной выборки выбираются первые М элементов. Таким образом, на выходе алгоритма оказывается выборка из не более чем М элементов, упорядоченных по убыванию точности технической посадки одежды.

Специалисту должно быть понятно, что описанные алгоритмы могут заменять и/или дополнять друг друга могут и быть использованы как для сопоставления размерных признаков пользователя с результатами обмера предмета одежды, так и для сопоставления с размерной сеткой бренда. Для этого достаточно на входе в алгоритм поменять местами обмеры предмета одежды и размерные признаки размерной сетки бренда.

5.5. Сопоставление размеров или результатов обмера эталонного предмета одежды с размерами или результатами обмера выбираемого предмета одежды

Система может быть способной реализовывать алгоритм рекомендации даже в отсутствие данных антропометрических измерений тела пользователя. В этом случае на вход алгоритма вместо размерных признаков пользователя могут подаваться данные обмеров эталонных предметов одежды, т.е. таких предметов одежды, которые гарантированно имеют приемлемую посадку на пользователе. Специалисту должно быть понятно, что такой вариант алгоритма рекомендации имеет определенные ограничения, но может обеспечивать удовлетворительные результаты в отношении предметов одежды той же категории (подкатегории).

5.6. Рекомендации на основе алгоритма машинного обучения

Описанные выше принципы рекомендаций реализованы на основе эвристических алгоритмов, поэтому точность таких рекомендаций может сильно зависеть от человеческого фактора - представлений разработчиков об идеальной посадке одежды и их способности выразить эти представления в виде правил для работы алгоритма.

Чтобы избавиться от этого недостатка и повысить точность рекомендаций возможно применение основанных на использовании нейронных сетей алгоритмов машинного обучения (MLA, Machine Learning Algorithm), на основе предыдущего опыта выбирающих правила и зависимости, по которым можно наилучшим образом рекомендовать одежду пользователю.

Основное ограничение такого подхода заключается в том, что такие системы требуют большого набора данных для обучения. Поэтому возможно первоначально использовать вышеописанную систему, а при накоплении достаточного количества данных для обучения алгоритма MLA эвристический алгоритм может быть заменен описанным далее алгоритмом MLA. При этом рекомендации одежды с применением алгоритма MLA могут быть выработаны путем сопоставления размерных признаков пользователя как с размерной сеткой бренда, так и с результатами обмеров.

Алгоритм MLA может быть реализован в виде классификатора, на вход которого подаются размерные признаки пользователя, а с выхода снимаются скалярные значения, указывающие на вероятность того, что пользователю подойдет тот или иной размер того или иного бренда (или тот или иной конкретный предмет одежды).

Далее в качестве иллюстративного примера описаны принципы работы алгоритма MLA, реализующего рекомендацию размера бренда.

Алгоритм MLA основан на нейронной сети с двумя или более слоями. Необходимость реализации многослойной нейронной сети вызвана тем, что у разных брендов не совпадают размерные сетки. Многослойная структура нейронной сети позволяет разделить представление сети о размерных признаках пользователя и преобразование представления сети о размерных признаках пользователя в рекомендацию размера конкретного бренда.

В этом случае один слой, отвечающий за представление сети о размерных признаках пользователя, выполняет роль энкодера, а другой слой, отвечающий за преобразование представления сети о размерных признаках пользователя в рекомендацию размера конкретного бренда, выполняет роль декодера (см. фиг. 44). Роль энкодера могут выполнять несколько слоев нейронной сети. При этом энкодер и декодер могут обучаться раздельно. Это позволяет обучать энкодер на больших наборах обучающих данных, не зависящих от бренда, и обучать декодер на подмножестве обучающих данных, относящихся к тому или иному бренду. Тогда для ввода в систему нового бренда достаточно выполнить дообучение энкодера на новом наборе обучающих данных этого бренда и обучение декодера на новой части обучающих данных. Такой подход позволяет повысить точность рекомендаций и в то же время ускорить добавление в продуктовый ряд новых брендов, ускоряя срок их вывода на рынок (time to market).

Для первичного обучения нейронной сети (т.е. для обучения энкодера) может использоваться база данных, содержащая набор данных, содержащий совокупность размерных признаков одного человека, совокупность размеров одного предмета одежды и данные о том, подошел или не подошел этот предмет одежды этому человеку. Множество таких наборов данных может покрывать все типы фигур и комплекций пользователей и размерные ряды множества брендов. Типы фигур и комплекций в наборах обучающих данных могут определяться с учетом национальных и/или региональных статистических данных о размерных признаках населения.

Последующее обучение нейронной сети может проводиться для одного или нескольких декодеров, каждый из которых включается лишь при подаче на энкодер набора обучающих данных, соответствующего этому декодеру (т.е. данных, относящихся к конкретному бренду). Таким образом, декодер проходит обучение на обучающих данных соответствующего бренда, а энкодер в конечном счете проходит обучение на полном наборе обучающих данных.

Обучение на данных конкретного бренда может проводиться на размеченных наборах обучающих данных. Каждый набор данных может содержать совокупность размерных признаков одного человека, совокупность размеров одного предмета одежды конкретного бренда и данные о том подошел или не подошел этот предмет одежды этому человеку. В другом варианте каждый набор данных может содержать один размерный признак одного человека, один размер одного предмета одежды конкретного бренда и данные о том, подошел или не подошел этот предмет одежды этому человеку.

В качестве альтернативы применению в нейронной сети слоев энкодера и декодера, алгоритм MLA может быть реализован в виде алгоритма градиентного бустинга дерева решений (GBRT, Gradient Boosted Decision Tree), основанного на деревьях решений, с использованием которых прогнозирующая модель формируется в виде леса деревьев решений. Лес строится поэтапно. Каждое последующее дерево решений такого леса фокусирует обучение на тех частях предыдущего дерева решений, которые привели к неоправдавшемуся прогнозу или к значительной ошибке. В целом, бустинг призван обеспечить повышение качества прогнозирования алгоритмом MLA. В этом случае система использует прогноз не одного обученного алгоритма (одного дерева решений), а множества обученных алгоритмов (леса деревьев решений) и принимает финальное решение на основе множества результатов прогнозирования этими алгоритмами.

5.7. Рекомендация одежды на основе изображений, получаемых пользователем самостоятельно

Для упрощения пользовательского опыта и для возможности развертывания системы рекомендации без использования стационарных сканеров может использоваться система подбора одежды на основе нескольких фотографий.

Такая система работает на основе нескольких фотографий пользователя, которые он может сделать самостоятельно, используя доступные ему устройства, как например смартфон или ноутбук с веб камерой. Дополнительно от пользователя требуется ввести несколько параметров, например, рост, вес и т.д. Система получает на вход несколько изображений пользователя с разных ракурсов, например, в профиль и анфас. Данные изображения поступают на вход в сверточную нейросеть, которая преобразует данные изображения пользователя в сегментированную карту, где каждый пиксель имеет значение либо 0, либо 1. При этом значение 0 имеют пикселы, не относящиеся к человеку, а значение 1 - относящиеся к нему. После этого данные изображения подаются на вход сверточной нейронной сети, которая преобразует их в вектор признаков. После чего данному вектору ищется соответствие в кластеризованном пространстве параметрических моделей. Далее для данного кластера ищется соответствующий ему размер из размерной сетки или размер одежды из заранее сопоставленных этому кластеру.

Получение сегментационной карты изображения производится при помощи U Net- подобной сверточной нейронной сети, содержащей энкодер и декодер. На вход сети подается одно цветное изображение пользователя, а на выходе ожидается сегментационная карта. Подробное описание сети UNet можно найти по адресу https://arxiv.org/abs/1505.04597.

Для тренировки такой сети используется набор изображений, в котором каждому изображению соответствует точная сегментационная карта.

В качестве функции потерь используется взвешенная сумма

Loss = aD + bH r , где: D z i PiVi коэффициент сходства Дайса, li Pi+ Ii Vi н р = - log (Pi) + (1 - уд - log(l - Pi) - бинарная кросс-энтропия, р - предсказанное значение, у - реальное значение, а и b - скалярные коэффициенты, выбираемые методом перебора параметров.

Допустим, что на вход нейросети поступают N изображений размером C c U><3, где 3 - количество цветов в пикселе. В таком случае нейросеть выступает как оператор преобразования Г: Ж U, где X - пространство изображений, a U - пространство вектора признаков.

Само получение вектора признаков производится нейросетью обычной архитектуры. Для этого берется обычный энкодер, состоящих из ряда сверточных слоев, к примеру, ResNet, Inception, или MobileNet. Выходные данные разглаживаются энкодером в вектор и подаются на полносвязный слой. Выходные данные этого полносвязного слоя представляют собой вектор признаков.

Нейросеть с любыми не полностью нулевыми значениями весов будет выполнять извлечение вектора признаков. Тем не менее, лучшее соответствие кластерам достигается если нейросеть обучена на соответствующем наборе данных, содержащем изображения, подобные тем, что будут подаваться на вход.

Поэтому нейросеть тренируется на существующих сканах, дополненных случайным шумом в параметрах позы модели. При этом подготовка одного набора данных производится по следующему алгоритму.

1. Выбирается один скан человека и вписанная в него параметрическая модель.

2. К параметрам фигуры данной параметрической модели добавляется случайный шум с заранее вычисленными параметрами. Эти параметры вычисляются таким образом, чтобы распределение было похоже на распределение реальных параметров позы из набора данных.

3. Выбирается случайная поза модели из всего набора данных и к ней так же добавляется случайный шум.

4. Модель ставится в центр координат.

5. Инициализируется камера с случайными параметрами с х , С у , f x , и f y.

6. Камера позиционируется таким образом, чтобы модель смотрела строго на камеру.

7. К модели применяется случайное небольшое смещение.

8. К позиции камеры, к точке наблюдения и к вектору, смотрящему вправо в системе координат камеры, применяются малые случайные преобразования.

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

10. Камера поворачивается на случайный угол от -100° до -80° или от 80° до 100° вокруг модели и повторяются действия по пунктам 7, 8, и 9.

При этом модель рендерится в бинарную маску, где каждый пиксель имеет значение либо 0, либо 1, где 0 означает, что пиксель принадлежит фону, а 1 - означает, что пиксель принадлежит модели. Эти изображения в дальнейшем подаются на вход нейросети.

После тренировки нейросети производится тренировка алгоритма, ставящего кластер в соответствие вектору признаков.

Поскольку для каждого кластера в соответствие ставится параметрическая модель, то тренировка сопоставляющего алгоритма производится на наборе данных, полученных следующим образом.

1. На вход нейросети подается модель.

2. По параметрам этой модели производится поиск номера кластера.

3. Параметры найденного кластера составляют пару с вектором признаков.

С использованием полученного набора данных становится возможной валидация алгоритмов сопоставления векторов признаков и кластеров. 5.8. Поиск подходящих предметов одежды

Поиск предметов одежды, пошитых с применением отобранных производственных моделей, выполняется любым подходящим способом. Реализация любого такого способа вполне очевидна для специалиста, поэтому его описание опущено для краткости. Достаточно сказать, что для этого необходимо, чтобы для каждого предмета одежды была доступной информация о производственной модели, использованной при его проектировании и/или раскрое.

Порядок выдачи этих предметов одежды может зависеть от величины функции расхождения Т (формула 34) или может определяться пользователем на основе личных предпочтений. Интерфейс системы дистанционного выбора одежды может предусматривать оперативное переключение принципа формирования порядка выдачи предметов одежды. Такое переключение может выполняться пользователем вручную (например, если порядок, установленный по умолчанию, не обеспечивает достаточно релевантную выдачу) или автоматически (например, на основе анализа статистики действий пользователя).

Также поиск подходящих предметов одежды может осуществляться с помощью типирования фигуры, описанного в разделе 4.2 выше, что позволяет подбирать предметы одежды не просто в соответствии с параметрами тела (чтобы, например, одежда не жала и не давила, или, наоборот, не висела мешкообразно), но и в соответствии с типажом тела (чтобы одежда стилистически украшала фигуру), рекомендуя, например, женщинам с фигурой, классифицируемой как «груша», платья типа empire line и предметы одежды, визуально увеличивающие плечи (с помощью наплечников, пышных рукавов, болеро и пр.) и т.п. (см., например, типовые стилистические рекомендации одежды для 7 типов фигур на страницах https:/7wv w .joyofdothes.com/styie-advice/shape-guides/body-shapes- overview.php или в аналогичных справочниках стилистов).

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

Визуализация предметов одежды, для которых известна использованная производственная модель, также представляет собой тривиальную задачу для специалиста, поэтому описание ее практической реализации опущено для краткости. Достаточно упомянуть, что предмет одежды может визуализироваться как таковой (т.е. без изображения манекена или изображения человека) или он может визуализироваться на манекене или на человеке.

В частности, один из вариантов осуществления изобретения может предусматривать визуализацию предмета одежды на 3D- модели самого пользователя, причем рендеринг изображения может включать в себя воспроизведение реалистичного изображения головы пользователя для усиления эмоционального эффекта. При этом 3D- модель головы, включая лицо и прическу пользователя, может не являться частью модели тела пользователя в том смысле, в котором это описано в описании алгоритма, и может предназначаться исключительно для декоративных целей.

Интерфейс системы дистанционного выбора одежды может предусматривать оперативное переключение принципа визуализации одежды. Как и в отношении порядка выдачи результатов поиска предметов одежды, такое переключение может выполняться пользователем вручную (например, если пользователь желает рассмотреть внутренность (подкладку) одежды, он может отключить визуализацию манекена или человека) или автоматически (например, на основе анализа статистики действий пользователя).

Интерфейс системы дистанционного выбора одежды может предусматривать управление пользователем визуализацией с помощью органов управления путем изменения ракурса, приближения или удаления изображения и т.п., чтобы позволить пользователю должным образом рассмотреть одежду.

Как упомянуто ранее, визуализация одежды возможна на разном ситуационном фоне (который может быть выбран из библиотеки или может быть загружен самим пользователем), при освещении с разных точек (в частности, с выбором количества и/или положения виртуальных светильников), с разной интенсивностью, с разной диффузностью (например, свет может быть направленный или рассеянный) и/или с разным спектром (например, свет может быть искусственным, дневным, вечерним, имитировать восходящее или закатное солнце) и т.д. Интерфейс системы дистанционного выбора одежды может предусматривать управление пользователем всеми этими возможностями. Реализация этих возможностей также не вызовет у специалистов заметных трудностей, поэтому подробности соответствующих технических решений опущены для краткости.

6. Совершение выбора и покупки выбранных предметов одежды

После оценки предложенных вариантов одежды пользователь может сделать выбор и совершить покупку традиционным способом. Принципы работы интернет-магазинов хорошо известны в данной области техники, поэтому подробности соответствующих технических решений также опущены для краткости.

Следует отметить, что описанная выше технология может применяться не только при дистанционной продаже предметов одежды (например, в интернет-магазине), но и при дистанционном прокате одежды (например, официальной или нарядной одежды для торжеств и т.п.). Более того, описанная выше технология с небольшими изменениями может применяться для дистанционного выбора других товаров, отличных от одежды (например, товаров медицинского назначения - корсетов, бандажей и т.п., требующих соответствия фигуре пациента).

Также стоит отметить, что пользователь может совершить покупку или аренду не только дистанционным образом (онлайн, через интернет), но и в оффлайновом магазине или салоне. В данном случае также возможна помощь ассистента, приносящего вещи пользователю после выбора этих вещей пользователем в интерфейсе приложения. Ассистент при этом может как передавать вещи в руки пользователю, так и использовать специальные ячейки (ящики, корзины и пр.), благодаря чему ассистент не видит пользователя (что может быть удобно, например, в том случае, если пользователь находится в примерочной и в настоящий момент раздет). Также ассистент может быть как человеком, так и роботизированной системой.

7. Система для дистанционного выбора одежды

Далее описана система, реализующая описанный выше алгоритм дистанционного выбора одежды.

Система для осуществления дистанционного выбора одежды содержит вычислительные устройства, выполняющие действия описанного выше алгоритма дистанционного выбора одежды. Кроме того, эта система может содержать упомянутое выше в описании оборудование для оптического сканирования тела пользователя, используемое на начальном этапе работы алгоритма.

В частности, в среде бизнес-потребитель (В2С, Business-to-Customer) система содержит оборудование потенциального пользователя, далее именуемое устройством пользователя, и оборудование поставщика услуг, связанных с дистанционным выбором одежды.

У стройство пользователя может представлять собой любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения соответствующей задачи. Некоторые (не имеющие ограничительного характера) примеры устройств пользователя включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование (маршрутизаторы, коммутаторы, шлюзы и т.п.).

Оборудование поставщика услуг также может представлять собой любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения соответствующей задачи. Некоторые (не имеющие ограничительного характера) примеры включают в себя отдельные компьютеры и компьютерные системы. Компьютерные системы могут быть сосредоточенными или распределенными. В среде бизнес-бизнес (В2В, Business-to-Business) система может содержать дополнительное звено, условно именуемое оборудованием ретейлера, функционально связанное с устройством пользователя и с оборудованием поставщика услуг. В этом случае алгоритм дистанционного выбора одежды большей частью может выполняться оборудованием ретейлера и оборудованием поставщика услуг, а устройство пользователя может использоваться преимущественно в терминальном режиме, например, для визуализации и/или для приема команд управления через интерфейс пользователя.

В некоторых вариантах осуществления изобретения система может иметь клиент- серверную архитектуру, при этом устройство пользователя может быть клиентским устройством, а оборудование поставщика услуг может включать в себя серверное устройство. Здесь термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от клиентских устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Термин «клиент» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную формировать запросы к серверу, получать ответ от сервера и обрабатывать его.

Следует отметить, что устройство, функционирующее как клиентское устройство, также может функционировать как серверное устройство для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса, либо результатов любых задач или запросов, либо шагов любого описанного здесь способа.

В других вариантах осуществления изобретения система может иметь одноранговую архитектуру, например, основанную на пиринговой сети. Система также может иметь любую гибридную архитектуру.

На фиг. 34 представлен иллюстративный пример системы (20) для осуществления дистанционного выбора одежды в среде В2С, содержащей устройство (21) пользователя, выполняющее программу (22), и оборудование (23) поставщика услуг, выполняющее программу (24). Устройство (21) пользователя соединено с оборудованием (23) поставщика услуг через сетевое соединение (25). В некоторых вариантах осуществления изобретения сетевое соединение (25) может быть реализовано с использованием сети Интернет. В других вариантах осуществления изобретения сетевое соединение (25) может быть реализовано с использованием любой глобальной сети связи, локальной сети связи, частной сети связи и т.п. Реализация сетевого соединения (25) зависит, среди прочего, от реализации устройства (21) пользователя и оборудования (23) поставщика услуг. Система (20) функционально связана с системой (30) поставщика одежды. В некоторых вариантах осуществления изобретения системы (20) и (30) могут быть объединены в одну систему. В других вариантах осуществления изобретения система (20) может быть функционально связана с несколькими системами (30) различных поставщиков одежды.

На фиг. 35 представлен другой иллюстративный пример системы (20) для осуществления дистанционного выбора одежды в среде В2В, в котором в состав системы

(20) входит оборудование (26) ретейлера, выполняющее программу (28), связанное с оборудованием (23) поставщика услуг через сетевое соединение (25), а с устройством (21) пользователя - через локальное сетевое соединение (27).

В качестве примера, в тех вариантах осуществления изобретения, где устройство

(21) пользователя реализовано как беспроводное устройство связи (например, как смартфон), сетевое соединение (25) может быть реализовано с использованием беспроводной линии связи (например, канала сети связи 3G, канала сети связи 4G, WiFi, Bluetooth и т.п.). В других вариантах осуществления изобретения, где устройство (21) пользователя реализовано как удаленный компьютер, сетевое соединение (25) может быть реализовано с использованием беспроводной линии связи (такой как WiFi, Bluetooth и т.д.), проводной линии связи или оптической линии связи (такой как соединение по сети Ethernet). Подобным образом может быть реализовано и сетевое соединение (27).

На фиг. 34 и фиг. 35 для упрощения показано лишь одно устройство (21) пользователя, одна единица оборудования (23) поставщика услуг и одна система (30) поставщика одежды. На практике система (20) может содержать множество устройств (21) пользователя (например, сотни, тысячи или миллионы таких устройств), множество оборудования (23) поставщика услуг (например, десятки или сотни региональных площадок поставщика услуг) и может быть связана со множеством систем (30) поставщиков одежды (например, с десятками или сотнями поставщиков одежды). При этом программная реализация алгоритма дистанционного выбора одежды распределена между программами (22), (24) и (28). На фиг. 34 и фиг. 35 для упрощения не показано оборудование для оптического сканирования тела пользователя.

Следует отметить, что в приведенном выше описании отражены лишь те действия, которые наиболее существенны для достижения цели изобретения. Специалисту должно быть понятно, что для функционирования системы (20) следует выполнить и другие необходимые действия, например, подключение оборудования, его инициализацию, запуск соответствующего программного обеспечения, передачу и прием команд и подтверждений, обмен служебными данными, синхронизацию и т.п., описание которых опущено для краткости. Устройства и их части, упомянутые в описании, чертежах и формуле изобретения, представляют собой программно-аппаратные средства, при этом аппаратные части одних устройств могут отличаться, частично совпадать или полностью совпадать с аппаратными частями других устройств, если иное не указано в явном виде. Аппаратные части устройств могут располагаться в различных частях других устройств, если иное не указано в явном виде. Программные части (модули) могут быть реализованы в виде программного кода, содержащегося в запоминающем устройстве любого вида.

Последовательность действий в описании способа носит иллюстративный характер и в различных вариантах реализации изобретения эта последовательность может отличаться от описанной при условии сохранения выполняемой функции и достигаемого результата.

Признаки данного изобретения могут сочетаться в различных вариантах реализации изобретения, если они не противоречат друг другу. Описанные выше варианты реализации изобретения приведены исключительно с иллюстративной целью и не предназначены для ограничения объема настоящего изобретения, определяемого формулой изобретения. Все разумные модификации, модернизации и эквивалентные замены в составе, конструкции и принципе действия настоящего изобретения, выполненные в пределах его сущности, входят в объем данного изобретения.

Ниже приведены информационные источники, все содержимое которых включено в данную заявку посредством ссылки.

Источники

А1. Brett Allen, Curless Brian, Popovic Zoran, Hertzmann Aaron. Learning a correlated model of identity and pose-dependent body shape variation for real-time synthesis. Eurographics/SIGGRAPH Symposium on Computer Animation 2006, DOI:

10.2312/SCA/SCA06/147-156.

A2. Dragomir Anguelov, Praveen Srinivasan, Daphne Roller, Sebastian Thrun, Jim Rodgers, James Davis. SCAPE: shape completion and animation of people. ACM SIGGRAPH 2005 Papers, pp. 408-416, DOI: 10.1145/1186822.1073207.

A3. Alexandru O. Balan. Detailed Human Shape and Pose from Images. Doctoral Theses, Department of Computer Science at Brown University, Providence, Rhode Island, May 2010

A4. Ilya Baran, Jovan Popovic. Automatic rigging and animation of 3D characters. ACM SIGGRAPH 2007 papers, article 72, DOI: 10.1145/1275808.1276467.

A5. Federica Bogo, Javier Romero, Matthew Loper, Michael J. Black. FAUST: Dataset and evaluation for 3D mesh registration. IEEE Conference on Computer Vision and Pattern Recognition, Columbus, OH, USA, 23-28 June 2014, DOI: 10.1109/CVPR.2014.491. A6. Federica Bogo, Angjoo Kanazawa, Christoph Lassner, Peter Gehler, Javier Romero, Michael J. Blac. Keep it SMPL: Automatic Estimation of 3D human pose and shape from a single image. Computer Vision - ECCV 2016: 14th European Conference, Amsterdam, The Netherlands, October 11-14, 2016, Proceedings, Part V (pp.561-578), DOI: 10.1007/978-3-319- 46454-l_34.

A7. Zhi-Quan Cheng, Yin Chen, Ralph R. Martin, Tong Wu, Zhan Song. Parametric modeling of 3D human body shape - a survey. Computers & Graphics. Volume 71, April 2018, pp. 88-100, DOI: 10.1016/j.cag.2017.11.008.

A8. Nils Hasler, Carsten Stoll, Martin Sunkel, Bodo Rosenhahn, Hans-Peter Seidel. A statistical model of human pose and body shape. Computer Graphics Forum (Proc. Eurographics 2009), Munich, Germany, March 2009, DOI: 10.1111/j.1467-8659.2009.01373.x.

A9. Doug L. James, Christopher D. Twigg. Skinning mesh animations. ACM Transactions on Graphics (SIGGRAPH 2005), Volume 24, Issue 3, July 2005, pp. 399-407,

DOI: 10.1145/1186822.1073206.

A10. Ladislav Kavan, Steven Collins, Jiri Zara, Carol O'Sullivan. Geometric skinning with approximate dual quaternion blending. ACM Transactions on Graphics (TOG) Volume 27 Issue 4, October 2008, Article No. 105, DOI: 10.1145/1409625.1409627.

All. Zorah Lahner, Daniel Cremers, Tony Tung. DeepWrinkles: Accurate and Realistic Clothing Modeling. Computer Vision - ECCV 2018, pp. 698-715, DOI: 10.1007/978-3-030- 01225-0_41.

A12. Binh Huy Le, Zhigang Deng. Robust and accurate skeletal rigging from mesh sequences. ACM Transactions on Graphics (TOG) Volume 33, Issue 4, July 2014, Article No. 84, DOI: 10.1145/2601097.2601161.

A13. J. P. Lewis, Matt Cordner, Nickson Fong. Pose space deformation: a unified approach to shape interpolation and skeleton-driven deformation. SIGGRAPH Ό0. Proceedings of the 27 th annual conference on Computer graphics and interactive techniques, pp. 165-172, DOI: 10.1145/344779.344862.

A14. Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, Michael J. Black. SMPL: A skinned multi-person linear model. ACM Transactions on Graphics (TOG) Volume 34 Issue 6, November 2015 Article No. 248, DOI: 10.1145/2816795.2818013.

A15. Akihiko Murai, Yui Endo, Mitsunori Tada. Anatomographic volumetric skin- musculoskeletal model and its kinematic deformation with surface-based SSD. IEEE Robotics and Automation Letters, Volume: 1, Issue: 2, July 2016, pp. 1103-1109, DOI:

10.1109/LRA.2016.2524069. A16. Leonid Pishchulin, Stefanie Wuhrer, Thomas Helten, Christian Theobalt, Bernt SchieleBuilding statistical shape spaces for 3D human modeling. Pattern Recognition, Volume 67, July 2017, Pp. 276-286, DOT 10.1016/j.patcog.2017.02.018.

A17. Thomas Probst, Andrea Fossati, Mathieu Salzmann, Luc Van Gool. Efficient model-free anthropometry from depth data. 2017 International Conference on 3D Vision (3DV), Qingdao, China ,10-12 October 2017, DOT 10.1109/3DV.2017.00062.

A18. Yassir Saquil, Qun-Ce Xu, Yong-Liang Yang, Peter Hall. Rank3DGAN: Semantic mesh generation using relative attributes https://arxiv.org/abs/1905.10257.

A19. Hyewon Seo, Frederic Cordier, Nadia Magnenat-Thalmann. Synthesizing animatable body models with parameterized shape modifications. Proceedings of the 2003 ACM SIGGRAPH/Eurographics symposium on Computer animation, pp. 120-125, DOT 10.2312/SCA03/120-125.

A20. Chang Shu, Stefanie Wuhrer, Pengcheng Xi. 3D anthropometric data processing. Int. J. Human Factors Modelling and Simulation, Vol. 3, No. 2, 2012, DOT 10.1504/IJHFMS.2012.051093.

A21. Miroslava Slavcheva, Maximilian Baust, Slobodan Шс. SobolevFusion: 3D reconstruction of scenes undergoing free non-rigid motion. IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT, USA, 18-23 June 2018,

DOT 10.1109/C VPR.2018.00280.

A22. Qiaosong Wang, Vignesh Jagadeesh, Bryan Ressler, Robinson Piramuthu. Im2Fit: Fast 3D model fitting and anthropometries using single consumer depth camera and synthetic data. Electronic Imaging, 3D Image Processing, Measurement (3DIPM), and Applications 2016, pp. 3DIPM-045.1-3DIPM-045.7, DOT 10.2352/ISSN.2470-1173.2016.21.3DIPM-045.

A23. Ofir Weber, Olga Sorkine, Yaron Lipman, Craig Gotsman. Context-aware skeletal shape deformation. Computer Graphics Forum, Volume 26, Issue 3, September 2007, pp. 265- 274, DOT 10.1111/j.1467-8659.2007.01048.x.

A24. Yipin Yang, Yao Yu, Yu Zhou, Sidan Du, James Davis, Ruigang Yang. Semantic parametric reshaping of human body models. 2nd International Conference on 3D Vision,

Tokyo, Japan, 8-11 December 2014, DOT 10.1109/3DV.2014.47.

A25. Mao Ye, Xianwang Wang, Ruigang Yang, Liu Ren, Marc Pollefeys. Accurate 3D pose estimation from a single depth image. 2011 International Conference on Computer Vision, Barcelona, Spain, 6-13 November 2011, DOT 10.1109/ICCV.2011.6126310.

A26. Tao Yu, Kaiwen Guo, Feng Xu, Yuan Dong, Zhaoqi Su, Jianhui Zhao, Jianguo Li, Qionghai Dai, Yebin Liu. BodyFusion: Real-time capture of human motion and surface geometry using a single depth camera. IEEE International Conference on Computer Vision (ICCV), Venice, Italy, 22-29 October 2017, DOI: 10.1109/ICCV.2017.104.

A27. Tao Yu, Zerong Zheng, Kaiwen Guo, Jianhui Zhao, Qionghai Dai, Hao Li, Gerard Pons-Moll, Yebin Liu. DoubleFusion: Real-Time capture of human performances with inner body shapes from a single depth sensor. IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT, USA, 18-23 June 2018, DOI: 10.1109/ CVPR.2018.00761.

A28. Chao Zhang, Sergi Pujades, Michael J. Black, Gerard Pons-Moll. Detailed, accurate, human shape estimation from clothed 3D scan sequences. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp. 4191-4200, DOI:

10.1109/CVPR.2017.582.

A29. Yingliang Zhang, Xi Luo, Wei Yang, Jingyi Yu. Fragmentation guided human shape reconstruction. IEEE Access, Volume 7, pp. 45651-45661, DOI:

10.1109/ACCESS.2019.2905879.

A30. Zerong Zheng, Tao Yu, Hao Li, Kaiwen Guo, Qionghai Dai, Lu Fang, Yebin Liu. HybridFusion: Real-time performance capture using a single depth sensor and sparse IMUs. The European Conference on Computer Vision (ECCV), 2018, part 9, pp. 389-406, DOI:

10.1007/978-3-030-01240-3_24.

BE Tao Yu, Zerong Zheng, Kaiwen Guo, Jianhui Zhao, Qionghai Dai, Hao Li, Gerard Pons-Moll, Yebin Liu. DoubleFusion: Real-Time capture of human performances with inner body shapes from a single depth sensor. IEEE/CVF Conference on Computer Vision and Pattern Recognition, 18-23 June 2018, Salt Lake City, UT, USA, DOI:10.1109/ CVPR.2018.00761.

B2. Richard A. Newcombe, Shahram Izadi, Otmar Hilliges, David Molyneaux, David Kim, Andrew J. Davison, Pushmeet Kohi, Jamie Shotton, Steve Hodges, Andrew Fitzgibbon. Kinectfusion: Real-time dense surface mapping and tracking. 10 th IEEE International Symposium on Mixed and Augmented Reality, 26-29 October 2011, Basel, Switzerland, DOI: 10.1109/ISMAR.2011.6092378.

B3. Sylvain Paris, Pierre Kornprobst, Jack Tumblin, Fredo Durand. Bilateral filtering: Theory and applications Foundations and Trends in Computer Graphics and Vision, Vol. 4, No.

1 (2009), Pp. 1-73, DOI: 10.1561/0600000020.

B4. Конушин А. Геометрические свойства нескольких изображений // Компьютерная графика и мультимедиа, 2006, N°. 4, С. 3.

В5. Гузов В. В. Вычисление параметров позы и формы трехмерной модели человека по данным сенсора глубины // Сборник тезисов XXVI Международной научной конференции студентов, аспирантов и молодых ученых "Ломоносов-2019": секция "Вычислительная математика и кибернетика". - М.: Издательский отдел факультета ВМК МГУ, 2019, С. 45-47.

В6. Richard A. Newcombe, Dieter Fox, Steven M. Seitz. DynamicFusion: Reconstruction and tracking of non-rigid scenes in real-time. Conference on Computer Vision and Pattern Recognition (CVPR), 7-12 June 2015, Boston, MA, USA, DOI: 10.1109/CVPR.2015.7298631.

B7. Ladislav Kavan, Steven Collins, Jiri Zara, Carol O'Sullivan. Skinning with dual quaternions. Symposium on Interactive 3D Graphics, SI3D 2007, April 30 - May 2, 2007,

Seattle, Washington, USA, DOI: 10.1145/1230100.1230107.

B8. Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, Michael J. Black. SMPL: A skinned multi-person linear model. ACM Transactions on Graphics (TOG), Volume 34, Issue 6, November 2015, Article No. 248, DOI: 10.1145/2816795.2818013.

B9. Robinette K. M., Daanen H., Paquet E. The CAESAR project: a 3-D surface anthropometry survey. Second International Conference on 3-D Digital Imaging and Modeling, 8 October 1999, Ottawa, Ontario, Canada, DOI: 10.1109/EM 1999.805368.

B10. Kirk MacTavish, Timothy D. Barfoot. At all costs: A comparison of robust cost functions for camera correspondence outliers. 12 th Conference on Computer and Robot Vision, 3-5 June 2015, Halifax, NS, Canada, DOI: 10.1109/CRV.2015.52.

BIT Jose Luis Blanco Claraco. A tutorial on SE(3) transformation parameterizations and on-manifold optimization. University of Malaga, Technical report #012010, 2010, Last update: 18/03/2019.

B12. Ake Bjorck. Numerical methods for least squares problems. Linkoping University, Linkoping, Sweden, 1996, DOI: 10.1137/1.9781611971484.

B13. Hestenes M.R., Stiefel E. Methods of Conjugate Gradients for Solving Linear Systems. Journal of Research of the National Bureau of Standards, 49, pp. 409-435, DOI: 10.6028/jres.049.044.

В 14. Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, Michael J. Black. SMPL: A skinned multi-person linear model. ACM Transactions on Graphics (TOG) Volume 34 Issue 6, November 2015 Article No. 248, DOI: 10.1145/2816795.2818013

В 15. Leonid Pishchulin, Stefanie Wuhrer, Thomas Helten, Christian Theobalt, Bemt Schiele. Building statistical shape spaces for 3D human modeling. Pattern Recognition, Volume 67, July 2017, Pages 276-286, DOI: 10.1016/j.patcog.2017.02.018

В 16. Allen Brett, Curless Brian, Popovic Zoran. Articulated body deformation from range scan data. ACM Transactions on Graphics (TOG), Volume 21 Issue 3, July 2002, Pages 612-619, DOI: 10.1145/566570.566626. В 17. Dragomir Anguelov, Praveen Srinivasan, Daphne Roller, Sebastian Thrun, Jim Rodgers, James Davis. SCAPE: shape completion and animation of people. ACM SIGGRAPH 2005 Papers, Pages 408-416, DOI: 10.1145/1186822.1073207.

В 18. David A. Hirshberg, Matthew Loper, Eric Rachlin, Michael J. Black.

Coregistration: Simultaneous Alignment and Modeling of Articulated 3D Shape. In: Fitzgibbon A., Lazebnik S., Perona P., Sato Y., Schmid C. (eds) Computer Vision - ECCV 2012. ECCV 2012. Lecture Notes in Computer Science, vol. 7577, Springer, Berlin, Heidelberg, DOI: 10.1007/978-3-642-33783-3_18.

В 19. Aijun Jain, Thorsten Thormahlen, Hans-Peter Seidel, Christian Theobalt. MovieReshape: Tracking and Reshaping of Humans in Videos. ACM Transactions on Graphics (TOG), Volume 29, Issue 6, December 2010, Article No. 148, DOI:10.1145/1866158.1866174.

B20. Kathleen M. Robinette, Sherri Blackwell, Hein Daanen, Mark Boehmer, Scott Fleming. Civilian American and European Surface Anthropometry Resource (CAESAR), Final Report. Volume 1. Summary. 2002, DOI: 10.21236/ada406704.

B21. Wuhrer Stefanie, Shu Chang, Xi Pengcheng. Posture-invariant statistical shape analysis using Laplace operator. Computers & Graphics, 36(5), August 2012, Pages 410-416, DOI: 10.1016/j.cag.2012.03.026.

B22. Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan, Edward Yang, Zachary DeVito, Zeming Lin, Alban Desmaison, Luca Antiga, Adam Lerer. Automatic differentiation in PyTorch. 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.

B24. ISO 8559-2:2017 Size designation of clothes. Part 2: Primary and secondary dimension indicators.

B25. ISO 7250-1:2017 Basic human body measurements for technological design. Part 1: Body measurement definitions and landmarks.

B26. ISO/TR 7250-2:2017 Basic human body measurements for technological design. Part 2: Statistical summaries of body measurements from national populations.

B27. ISO 7250-3:2017 Basic human body measurements for technological design. Part 3: Worldwide and regional design ranges for use in product standards.

B28. ГОСТ 17522-72 Типовые фигуры женщин. Размерные признаки для проектирования одежды.

В29. ГОСТ 31396-2009 Классификация типовых фигур женщин по ростам, размерам и полнотным группам для проектирования одежды. B30. ОСТ 17-326-81 Изделия швейные, трикотажные, меховые. Типовые фигуры женщин. Размерные признаки для проектирования одежды.

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

B32. Гузов Владимир Владимирович. Построение трехмерной модели человека по видео с сенсора глубины. Магистерская диссертация. Факультет вычислительной математики и кибернетики Федерального государственного бюджетного образовательного учреждения высшего образования «Московский государственный университет имени М.

В. Ломоносова», кафедра Интеллектуальных информационных технологий, защита 01.06.2019.

ВЗЗ. Петров Илья Алексеевич. Нейросетевой алгоритм восстановления параметров 3D модели фигуры и позы человека по изображениям. Магистерская диссертация. Факультет вычислительной математики и кибернетики Федерального государственного бюджетного образовательного учреждения высшего образования «Московский государственный университет имени М. В. Ломоносова», кафедра Интеллектуальных информационных технологий, защита 01.06.2019.

В34. Патакин Николай. Разработка параметрической 3D модели тела человека. Федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский университет «Высшая школа экономики», Факультет компьютерных наук, защита 06.06.2019.

В35. Balan А. О. et al. Detailed human shape and pose from images. // 2007 ШЕЕ Conference on Computer Vision and Pattern Recognition. - ШЕЕ, 2007, pp. 1-8.

B36. He K. et al. Identity mappings in deep residual networks. //European conference on computer vision. - Springer, Cham, 2016, pp. 630-645.

B37. Kanazawa A. et al. End-to-end recovery of human shape and pose // The ШЕЕ Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

B38. Krizhevsky A., Sutskever I., Hinton G. E. Imagenet classification with deep convolutional neural networks. // Advances in neural information processing systems, 2012, pp. 1097-1105.

B39. Loper M. et al. SMPL: A skinned multi-person linear model. // ACM Transactions on Graphics (TOG), 2015, Vol. 34, No. 6, p. 248.

B40. Pavlakos G. et al. Learning to estimate 3D human pose and shape from a single color image //Proceedings of the ШЕЕ Conference on Computer Vision and Pattern Recognition, 2018, pp. 459-468. B41. Tan V., Budvytis I., Cipolla R. Indirect deep structured learning for 3d human body shape and pose prediction, 2018.

Cl. Xuaner Cecilia Zhang, Lam Yuk Wong. Virtual fitting: real-time garment simulation for online shopping. ACM SIGGRAPH 2014 Posters, July 2014, Article No. 41, DOT 10.1145/2614217.2633388.

C2. Amit Raj, Patsorn Sangkloy, Huiwen Chang, James Hays, Duygu Ceylan, Jingwan Lu. SWAPNET: image based garment transfer. In: Ferrari V., Hebert M., Sminchisescu C., Weiss Y. (eds) Computer Vision - ECCV 2018. ECCV 2018. Lecture Notes in Computer Science, vol. 11216, DOI: 10.1007/978-3-030-01258-8_41.

C3. Igor Santesteban, Miguel A. Otaduy, Dan Casas. Learning-based animation of clothing for virtual try-on. Eurographics 2019 (submitted on 17 Mar 2019), DOI:

10.1111/cgf.13643.

C4. Luo Ronglei; He Wenjie; Li Chengyi. An algorithm based on wavelet neural network for garment size selection. Telkomnika . Dec 2014, Vol. 12, Issue 4, pp. 1073-1078, DOI: 10.12928/TELKOMNIKA.vl2i4.788.

C5. Suthar Dhruvi J. A review on virtual try and suggest system. Journal of the Gujarat Recearch Society Vol. 21, Issue 13, Dec 2019.

C6. Guan, Congying, Qin, Sheng-feng, Ling, Wessie and Ding, Guofu. Apparel recommendation system evolution: An empirical review. International Journal of Clothing Science and Technology, 28 (6). pp. 854-879, DOI: 10.1108/IJCST-09-2015-0100.

C7. Haoye Dong, Xiaodan Liang, Xiaohui Shen, Bochao Wang, Hanjiang Lai, Jia Zhu, Zhiting Hu, Jian Yin. Towards multi-pose guided virtual try-on network. IEEE International Conference on Computer Vision (ICCV), 2019, pp. 9026-9035.

C8. Bochao Wang, Huabin Zheng, Xiaodan Liang, Yimin Chen, Liang. Lin, Meng Yang. Toward characteristic-preserving image-based virtual try-on network. European Conference on Computer Vision, September 8 - 14, 2018, DOI: 10.1007/978-3-030-01261-8_36.

C9. Thanasiri Muttulingam. A neural network approach to the virtual dressing room. Master’s thesis, Department of Systems and Computer Engineering, the Faculty of Graduate Studies and Research, Ottawa-Carleton Institute for Electrical and Computer Engineering, 2007.

CIO. J. Q. Yan, V. E. Kuzmichev. Virtual technology of made-to-measure men shirt. IOP Conference Series: Materials Science and Engineering, Volume 460, conference 1, DOI:

10.1088/1757-899X/460/1/012014.

Cl 1. Ruiyun Yu, Xiaoqi Wang, Xiaohui Xie. VTNFP: An image-based virtual try-on network with body and clothing feature preservation. The IEEE International Conference on Computer Vision (ICCV), 2019, pp. 10511-10520. C12. Chia-Wei Hsieh, Chieh-Yun Chen, Chien-Lung Chou, Hong-Han Shuai, Jiaying Liu, Wen-Huang Cheng. FashionOn: Semantic-guided image-based virtual try-on with detailed human and clothing information. Proceedings of the 27th ACM International Conference on Multimedia October 2019, pp. 275-283, DOI: 10.1145/3343031.3351075.

C13. Taleb Alashkar, Songyao Jiang, Shuyang Wang, Yun Fu. Examples-rules guided deep neural network for makeup recommendation. Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence 2017, Pages 941-947.

Cl 4. Hyug Jae Lee, Rokkyu Lee, Minseok Kang, Myounghoon Cho, Gunhan Park. LA- VITON: A network for looking-attractive virtual try-on. The IEEE International Conference on Computer Vision (ICCV), 2019.

Cl 5. Surgan Jandial, Ayush Chopra, Kumar Ayush, Mayur Hemani, Abhijeet Kumar, Balaji Krishnamurthy SieveNet: A unified framework for robust image-based virtual try-on. Accepted at IEEE WACV 2020 (Submitted on 17 Jan 2020).

Cl 6. Pascal Volino, Frederic Cordier, Nadia Magnenat-Thalmann . From early virtual garment simulation to interactive fashion design. Computer-Aided Design 37 (2005) pp. 593- 608, DOI: 10.1016/j.cad.2004.09.003.

C17. Шанцева О. А., Петросова И.А., Андреева Е.Г., Иванова А.А. Исследование существующих систем виртуальной примерки одежды. Современные проблемы науки и образования, N° 2-3, 2015, стр. 10.