RU2844015C1 - Method and system for generating three-dimensional scenes - Google Patents
Method and system for generating three-dimensional scenesInfo
- Publication number
- RU2844015C1 RU2844015C1 RU2024127865A RU2024127865A RU2844015C1 RU 2844015 C1 RU2844015 C1 RU 2844015C1 RU 2024127865 A RU2024127865 A RU 2024127865A RU 2024127865 A RU2024127865 A RU 2024127865A RU 2844015 C1 RU2844015 C1 RU 2844015C1
- Authority
- RU
- Russia
- Prior art keywords
- training
- machine learning
- given
- objects
- pose
- Prior art date
Links
Abstract
Description
ОбластьRegion техники,techniques, кTo которойwhich относитсяrefers to изобретениеinvention
[001] Настоящая технология относится к области видеообработки в целом и, в частности, к способам и системам для обработки видеоконтента с целью формирования трехмерных сцен.[001] The present technology relates to the field of video processing in general and, in particular, to methods and systems for processing video content for the purpose of generating three-dimensional scenes.
УровеньLevel техникиtechniques
[002] Формирование трехмерных сцен из последовательностей изображений, например, образующих видеоконтент, имеет широкий спектр применений во многих областях, таких как составление трехмерных карт для автономных транспортных средств, навигация в робототехнике и создание контента для приложений виртуальной или дополненной реальности.[002] Generating three-dimensional scenes from image sequences, such as those forming video content, has a wide range of applications in many fields, such as generating three-dimensional maps for autonomous vehicles, navigation in robotics, and creating content for virtual or augmented reality applications.
[003] В общем случае видеоконтент, представляющий объекты, отображаемые в трехмерной сцене, записывается с помощью камеры. Затем такой видеоконтент анализируется с целью выделения в нем объектов и создания трехмерных моделей этих объектов и окружающего их пространства с использованием методов объемного рендеринга.[003] In general, video content representing objects displayed in a three-dimensional scene is recorded using a camera. Such video content is then analyzed to extract objects in it and to create three-dimensional models of these objects and the space surrounding them using volume rendering techniques.
[004] Часть видеоконтента может представлять сцены, содержащие тесно взаимодействующие друг с другом объекты (также называемые здесь «взаимопроникающими объектами»), то есть по меньшей мере частично перекрывающиеся или закрывающие друг друга объекты. Например, видеоконтент может представлять боксерский поединок или футбольный матч, участники которого могут касаться друг друга, например, своими конечностями, с образованием между ними контактных поверхностей. При таком тесном взаимодействии объектов в видеоконтенте определение границ между ними для отслеживания движения перекрытых и/или закрытых частей объектов и формирования на их основе реалистичной трехмерной сцены может представлять собой сложную задачу.[004] A portion of the video content may represent scenes containing objects that closely interact with each other (also referred to herein as "interpenetrating objects"), i.e., at least partially overlap or cover each other. For example, the video content may represent a boxing match or a football match, the participants of which may touch each other, for example, with their limbs, forming contact surfaces between them. With such close interaction of objects in the video content, determining the boundaries between them in order to track the movement of the overlapped and/or covered parts of the objects and form a realistic three-dimensional scene based on them may be a complex task.
[005] В известных технических решениях был предложен ряд способов для решения вышеуказанной технической проблемы.[005] A number of methods have been proposed in the known technical solutions to solve the above technical problem.
[006] В статье Guo et al. «Vid2Avatar: 3D Avatar Reconstruction from Videos in the Wild via Self-supervised Scene Decomposition» («Vid2Avatar: трехмерная реконструкция аватара на основе видео, снятого в реальных условиях, путем декомпозиции сцены с самоконтролем»), Proceedings of 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2023, раскрыт способ формирования человеческих аватаров на основе монокулярного видео, снятого в реальных условиях. В частности, данный способ позволяет решать задачи декомпозиции сцены и реконструкции поверхности непосредственно в трехмерном пространстве путем совместного моделирования человека и фона в сцене с параметризацией на двух отдельных нейронных полях. Для этого способ предусматривает определение согласованного во времени представления человека в каноническом пространстве и глобальную оптимизацию модели фона, канонической формы и текстуры тела человека, а также параметров позы человека в каждом кадре. Стратегия выборки с увеличением степени детализации при объемном рендеринге и новые цели обеспечивают четкое разделение динамического тела человека и статического фона, что позволяет получать детализированные и достоверные трехмерные реконструкции тела человека.[006] In the paper by Guo et al., “Vid2Avatar: 3D Avatar Reconstruction from Videos in the Wild via Self-supervised Scene Decomposition,” Proceedings of the 2023 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2023, a method for generating human avatars based on monocular videos shot in the wild is disclosed. In particular, this method makes it possible to solve the problems of scene decomposition and surface reconstruction directly in 3D space by jointly modeling a person and a background in a scene with parameterization on two separate neural fields. To this end, the method involves determining a time-consistent representation of a person in a canonical space and globally optimizing the background model, the canonical shape and texture of the human body, and the parameters of the human pose in each frame. The volume rendering fine-grained sampling strategy and new targets provide clear separation between the dynamic human body and the static background, resulting in detailed and reliable 3D reconstructions of the human body.
[007] В статье Qing et al. «Novel View Synthesis of Human Interactions From Sparse Multi-view Videos» («Синтез новых видов для взаимодействий между людьми на основе многоракурсного видео с разреженным расположением точек съемки»), ACM SIGGRAPH 2022 Conference Proceedings, July 2022, раскрыта система для формирования видеоизображений людей-исполнителей со свободной точкой обзора с использованием очень разреженной системы RGB-камер. Эта система реконструирует многослойное нейронное представление динамической сцены с несколькими участниками из многоракурсного видео, каждый слой которого представляет движущийся объект или статический фон.[007] In the paper by Qing et al., “Novel View Synthesis of Human Interactions From Sparse Multi-view Videos,” ACM SIGGRAPH 2022 Conference Proceedings, July 2022, a system for generating free-view video images of human performers using a very sparse RGB camera system is disclosed. This system reconstructs a multi-layer neural representation of a dynamic scene with multiple participants from multi-view videos, each layer of which represents a moving object or a static background.
[008] В статье Shuo et al. «Fast Virtual View Synthesis for an 8K 3D Light-Field Display Based on Cutoff-Nerf and 3D Voxel Rendering» («Быстрый синтез виртуальных видов для трехмерного дисплея светового поля с разрешением 8K на основе нейронной сети cutoff-NeRF и трехмерного воксельного рендеринга»), Optics Express Vol. 30, Issue 24, pp. 44201-44217, November 2022, раскрыт двухэтапный способ синтеза виртуальных видов на основе нейронной сети cutoff-NeRF и трехмерного воксельного рендеринга, позволяющий быстро синтезировать новые виды с высокой плотностью, гладким параллаксом и трехмерными изображениями с разрешением 7680×4320 для трехмерного дисплея светового поля. На первом этапе предлагается использовать нейронную сеть cutoff-NeRF, основанную на анализе изображений, которая обеспечивает неявное представление распределения содержимого сцены и повышение качества виртуального вида. На втором этапе предлагается использовать алгоритм построения и кодирования трехмерных изображений на основе вокселей, который обеспечивает количественную оценку распределения содержимого сцены, полученного в результате обучения нейронной сети cutoff-NeRF, для быстрого построения виртуальных видов высокого разрешения и вывода трехмерных изображений высокого разрешения.[008] In the paper by Shuo et al., “Fast Virtual View Synthesis for an 8K 3D Light-Field Display Based on Cutoff-Nerf and 3D Voxel Rendering,” Optics Express Vol. 30, Issue 24, pp. 44201-44217, November 2022, a two-step virtual view synthesis method based on cutoff-NeRF neural network and 3D voxel rendering is disclosed, which enables fast synthesis of novel high-density, smooth parallax, and 7680×4320 resolution 3D views for a 3D light field display. In the first stage, we propose to use the image-based cutoff-NeRF neural network, which provides an implicit representation of the scene content distribution and improves the quality of the virtual view. In the second stage, we propose to use the voxel-based 3D image construction and coding algorithm, which provides a quantitative estimate of the scene content distribution obtained as a result of training the cutoff-NeRF neural network, to quickly construct high-resolution virtual views and output high-resolution 3D images.
РаскрытиеDisclosure изобретенияinventions
[009] Целью настоящей технологии является устранение по меньшей мере части недостатков известных технических решений.[009] The aim of the present technology is to eliminate at least some of the disadvantages of known technical solutions.
[010] Разработчики настоящей технологии установили, что граница между объектами на каждом изображении из последовательности изображений видеоконтента, используемая при формировании трехмерной сцены, может быть определена с использованием специально обученных нейронных сетей. В соответствии с по меньшей мере некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии нейронная сеть обучается расчету значения знакового поля расстояний (SDF, Signed Distance Field), построенного вокруг объекта, заранее связанного с данной нейронной сетью, для заданной точки заданного изображения из последовательности изображений.[010] The developers of the present technology have determined that the boundary between objects in each image from a sequence of images of video content, used in the formation of a three-dimensional scene, can be determined using specially trained neural networks. In accordance with at least some non-limiting embodiments of the present technology, the neural network is trained to calculate the value of the signed distance field (SDF) constructed around an object previously associated with the given neural network, for a given point of a given image from a sequence of images.
[011] Знаковое поле расстояний вокруг объекта на заданном изображении определяется таким образом, что значение знакового поля расстояний в каждой точке изображения, находящейся внутри контура этого объекта, равно расстоянию от этой точки до контура объекта, взятому со знаком минус. И наоборот, значение знакового поля расстояний в каждой точке, находящейся вне контура объекта, равно расстоянию от этой точки до контура объекта, взятому со знаком плюс.[011] The signed field of distances around an object in a given image is defined in such a way that the value of the signed field of distances at each point of the image located inside the contour of this object is equal to the distance from this point to the contour of the object, taken with a minus sign. And vice versa, the value of the signed field of distances at each point located outside the contour of the object is equal to the distance from this point to the contour of the object, taken with a plus sign.
[012] Таким образом, при совместном обучении нескольких нейронных сетей каждая из них обучается расчету значения знакового поля расстояний для заданной точки применительно к собственному заранее связанному с этой сетью объекту. Кроме того, для более точного определения границы между по меньшей мере двумя взаимопроникающими объектами разработчиками настоящей технологии разработана специальная функция потерь, способная назначать штраф одинаковым прогнозам нейронных сетей.[012] Thus, when several neural networks are trained together, each of them is trained to calculate the value of the signed field of distances for a given point in relation to its own object previously associated with this network. In addition, for a more accurate determination of the boundary between at least two interpenetrating objects, the developers of this technology have developed a special loss function capable of assigning a penalty to identical predictions of neural networks.
[013] Это позволяет свести к минимуму или даже исключить вероятность расчета двумя нейронными сетями одного и того же отрицательного значения знакового поля расстояний для заданной точки (то есть прогнозирования нахождения этой точки внутри контуров заранее связанных с этими сетями объектов), что обеспечивает точное определение контура объекта, в котором находится заданная точка. Соответственно, определенные таким способом точки на изображении позволяют точнее определять границу между парой взаимопроникающих объектов и, как следствие, строить более точную и реалистичную трехмерную сцену.[013] This allows to minimize or even eliminate the probability of two neural networks calculating the same negative value of the signed distance field for a given point (i.e. predicting the location of this point within the contours of objects previously associated with these networks), which ensures an accurate determination of the contour of the object in which the given point is located. Accordingly, the points in the image determined in this way allow to more accurately determine the boundary between a pair of interpenetrating objects and, as a result, to build a more accurate and realistic three-dimensional scene.
[014] Также разработчиками настоящей технологии разработан способ определения на основе значений знакового поля расстояний, полученных обученными описанным выше способом нейронными сетями, значений цвета для взаимопроникающих объектов, которые в дальнейшем используются в процессе объемного рендеринга трехмерной сцены.[014] The developers of this technology have also developed a method for determining, based on the values of the sign field of distances obtained by neural networks trained in the manner described above, the color values for interpenetrating objects, which are subsequently used in the process of volumetric rendering of a three-dimensional scene.
[015] В частности, в соответствии с первым широким аспектом настоящей технологии реализован компьютерный способ объемного рендеринга трехмерных сцен. Способ предусматривает обучение заданного алгоритма машинного обучения (MLA, Machine-Learning Algorithm) из множества алгоритмов машинного обучения определению границы между множеством взаимопроникающих объектов, отображаемых в трехмерной сцене. Обучение предусматривает получение от заданной камеры из множества камер последовательности обучающих двумерных изображений, представляющих множество взаимопроникающих обучающих объектов, формирование на основе последовательностей обучающих двумерных изображений, полученных от множества камер, последовательности скорректированных обучающих двумерных изображений, формирование для заданного обучающего объекта из множества взаимопроникающих обучающих объектов на заданном скорректированном обучающем двумерном изображении из последовательности скорректированных обучающих двумерных изображений оценки позы согласно линейной параметрической модели поверхности тела человека (SMPL, Skinned Multi-Person Linear), содержащей вершины позы, образующие поверхность обучающего объекта в соответствующей позе на скорректированном обучающем двумерном изображении, и вектор позы SMPL, содержащий значения множества параметров позы SMPL, характеризующих позу обучающего объекта на скорректированном обучающем двумерном изображении, получение для заданного обучающего объекта из множества взаимопроникающих обучающих объектов канонической позы SMPL, содержащей канонические вершины, образующие поверхность обучающего объекта в заранее заданной позе, построение замкнутого трехмерного пространства вокруг оценок позы SMPL, связанных со множеством взаимопроникающих обучающих объектов, формирование на внутренней поверхности замкнутого трехмерного пространства множества точек обзора, каждая из которых ориентирована в направлении центра замкнутого трехмерного пространства, построение от каждой точки обзора из множества точек обзора множества лучей через оценки позы SMPL для множества взаимопроникающих обучающих объектов, определение для заданной точки на заданном луче канонической точки в канонической позе SMPL, связанной с каждым из множества взаимопроникающих обучающих объектов, формирование для заданного алгоритма машинного обучения из множества алгоритмов машинного обучения обучающего набора данных, содержащего множество обучающих цифровых объектов, при этом заданный обучающий цифровой объект для заданной точки на заданном луче содержит (а) координаты канонической точки, связанной с этим обучающим объектом, и (б) вектор позы SMPL, связанный с этим обучающим объектом, совместное обучение множества алгоритмов машинного обучения с использованием обучающих наборов данных определению границы заданного объекта из множества взаимопроникающих объектов путем передачи обучающих цифровых объектов, связанных с заданной точкой, в каждый алгоритм машинного обучения из множества алгоритмов машинного обучения, в результате чего каждый из множества алгоритмов машинного обучения формирует прогнозное значение знакового поля расстояний для канонической точки, и применение функции потерь для знакового поля расстояний, способной назначать штраф прогнозному значению знакового поля расстояний, сформированному заданным алгоритмом машинного обучения для заданной точки, если прогнозное значение знакового поля расстояний, сформированное этим алгоритмом машинного обучения, равно прогнозному значению знакового поля расстояний, сформированному другим алгоритмом машинного обучения из множества алгоритмов машинного обучения.[015] In particular, in accordance with a first broad aspect of the present technology, a computer method for volume rendering of three-dimensional scenes is implemented. The method involves training a given machine-learning algorithm (MLA) from a plurality of machine-learning algorithms to determine the boundary between a plurality of interpenetrating objects displayed in a three-dimensional scene. The training involves receiving from a given camera from a plurality of cameras a sequence of training two-dimensional images representing a plurality of interpenetrating training objects, forming on the basis of the sequences of training two-dimensional images obtained from the plurality of cameras a sequence of corrected training two-dimensional images, forming for a given training object from the plurality of interpenetrating training objects on a given corrected training two-dimensional image from the sequence of corrected training two-dimensional images a pose estimate according to a linear parametric model of the surface of a human body (SMPL, Skinned Multi-Person Linear) containing pose vertices forming the surface of the training object in the corresponding pose on the corrected training two-dimensional image, and an SMPL pose vector containing the values of a plurality of SMPL pose parameters characterizing the pose of the training object on the corrected training two-dimensional image, obtaining for a given training object from the plurality of interpenetrating training objects a canonical SMPL pose containing the canonical vertices forming the surface of the training object in a predetermined pose, constructing a closed three-dimensional space around the SMPL pose estimates associated with a plurality of interpenetrating training objects, forming on an inner surface of the closed three-dimensional space a plurality of viewpoints, each of which is oriented toward the center of the closed three-dimensional space, constructing from each viewpoint of the plurality of viewpoints a plurality of rays through the SMPL pose estimates for the plurality of interpenetrating training objects, determining for a given point on a given ray a canonical point in the canonical SMPL pose associated with each of the plurality of interpenetrating training objects, forming for a given machine learning algorithm from the plurality of machine learning algorithms a training data set containing a plurality of training digital objects, wherein the given training digital object for a given point on a given ray contains (a) coordinates of the canonical point associated with this training object, and (b) a SMPL pose vector associated with this training object, jointly training the plurality of machine learning algorithms using the training data sets to determine the boundary of the given object from the plurality of interpenetrating objects by transmitting the training digital objects associated with the given point to each machine learning algorithm of the plurality of machine learning algorithms, whereby each of the plurality of machine learning algorithms generates a predicted value of a signed distance field for a canonical point, and applying a loss function for the signed distance field capable of assigning a penalty to the predicted value of the signed distance field generated by a given machine learning algorithm for a given point if the predicted value of the signed distance field generated by this machine learning algorithm is equal to the predicted value of the signed distance field generated by another machine learning algorithm of the plurality of machine learning algorithms.
[016] В некоторых вариантах реализации способа замкнутое трехмерное пространство представляет собой сферу, построенную вокруг обучающей трехмерной сцены, а каждая из множества точек обзора расположена на внутренней поверхности этой сферы.[016] In some embodiments of the method, the closed three-dimensional space is a sphere constructed around the training three-dimensional scene, and each of the plurality of viewpoints is located on the inner surface of this sphere.
[017] В некоторых вариантах реализации способа множество точек обзора представляет собой две противоположные точки обзора, ориентированные в направлении центра замкнутого трехмерного пространства.[017] In some embodiments of the method, the plurality of viewpoints represent two opposite viewpoints oriented in the direction of the center of the closed three-dimensional space.
[018] В некоторых вариантах реализации способа множество лучей, исходящих из заданной точки обзора из множества точек обзора, разнесено друг от друга на одинаковое расстояние.[018] In some embodiments of the method, a plurality of rays emanating from a given viewpoint from a plurality of viewpoints are spaced from each other by the same distance.
[019] В некоторых вариантах реализации способа он дополнительно предусматривает нахождение на заданном луче множества точек, содержащего заданное количество точек, равномерно распределенных вдоль этого луча.[019] In some embodiments of the method, it additionally provides for finding on a given ray a set of points containing a given number of points uniformly distributed along this ray.
[020] В некоторых вариантах реализации способа определение канонической точки осуществляется с применением алгоритма скиннинга на основе линейного смешивания (Linear Blend Skinning) с использованием модели SMPL.[020] In some embodiments of the method, the determination of the canonical point is carried out using a skinning algorithm based on linear blending (Linear Blend Skinning) using the SMPL model.
[021] В некоторых вариантах реализации способа в этом алгоритме используется следующая формула:[021] In some embodiments of the method, the following formula is used in this algorithm:
где x c - каноническая точка, связанная с обучающим объектом;where x c is the canonical point associated with the training object;
x d - заданная точка на луче;x d - a given point on the ray;
B i - матрица преобразования, связанная с суставом j i обучающего объекта и сформированная на основе оценки позы SMPL, связанной с обучающим объектом; B i is the transformation matrix associated with the joint j i of the training object and formed based on the SMPL pose estimate associated with the training object;
n b - количество суставов в обучающем объекте; n b - the number of joints in the training object;
w i d - функция, характеризующая распределение весов в процессе скиннинга, определенное на основе координат вершины оценки позы SMPL, связанной с обучающим объектом, ближайшей к заданной точке. w i d is a function characterizing the distribution of weights in the skinning process, determined based on the coordinates of the SMPL pose estimate vertex associated with the training object, closest to the given point.
[022] В некоторых вариантах реализации способа функция потерь для знакового поля расстояний выражается следующей формулой:[022] In some embodiments of the method, the loss function for the signed distance field is expressed by the following formula:
, ,
где P - количество обучающих объектов во множестве взаимопроникающих обучающих объектов;where P is the number of training objects in the set of interpenetrating training objects;
- количество уникальных пар обучающих объектов во множестве взаимопроникающих обучающих объектов; - the number of unique pairs of training objects in a set of interpenetrating training objects;
s i k - прогнозное значение знакового поля расстояний для точки, рассчитанное первым алгоритмом из множества алгоритмов машинного обучения, связанным с первым обучающим объектом из множества взаимопроникающих обучающих объектов; s i k - the predicted value of the signed distance field for a point, calculated by the first algorithm from the set of machine learning algorithms associated with the first training object from the set of interpenetrating training objects;
s i p - прогнозное значение знакового поля расстояний для точки, рассчитанное вторым алгоритмом из множества алгоритмов машинного обучения, связанным со вторым обучающим объектом из множества взаимопроникающих обучающих объектов. s i p - the predicted value of the signed distance field for a point, calculated by the second algorithm from the set of machine learning algorithms associated with the second training object from the set of interpenetrating training objects.
[023] В некоторых вариантах реализации способа передача обучающих цифровых объектов, связанных с заданной точкой, в каждый алгоритм машинного обучения из множества алгоритмов машинного обучения дополнительно инициирует формирование каждым из множества алгоритмов машинного обучения соответствующего векторного представления знакового поля расстояний для канонической точки, а обучение множества алгоритмов машинного обучения предусматривает совместное обучение множества алгоритмов машинного обучения и второго множества алгоритмов машинного обучения с целью определения значений цвета для множества взаимопроникающих объектов, отображаемых в трехмерной сцене. Обучение второго множества алгоритмов машинного обучения предусматривает получение на текущей итерации обучения от каждого из множества алгоритмов машинного обучения прогнозного значения знакового поля расстояний для канонической точки, связанной с обучающим объектом, определение на основе прогнозных значений знакового поля расстояний текущих прогнозных значений плотности для соответствующих канонических точек, формирование для другого алгоритма машинного обучения из второго множества алгоритмов машинного обучения другого обучающего набора данных, содержащего другое множество обучающих цифровых объектов, при этом заданный обучающий цифровой объект для заданной точки на заданном луче содержит (а) координаты канонической точки, связанной с обучающим объектом, связанным с другим алгоритмом машинного обучения, (б) векторное представление знакового поля расстояний для канонической точки, связанной с обучающим объектом, и (в) метку, представляющую значение цвета пикселя на скорректированном обучающем двумерном изображении, связанном с заданным лучом, передачу обучающих цифровых объектов, связанных с заданной точкой, из каждого другого обучающего набора данных в каждый алгоритм машинного обучения из второго множества алгоритмов машинного обучения, в результате чего каждый из второго множества алгоритмов машинного обучения формирует прогнозное значение цвета для канонической точки, связанной с обучающим объектом, определение на основе прогнозных значений цвета, сформированных каждым из второго множества алгоритмов машинного обучения, и текущих прогнозных значений плотности, сформированных множеством алгоритмов машинного обучения для каждой точки заданного луча, промежуточного интегрального значения цвета для луча на текущей итерации обучения, и применение функции потерь для цвета, способной назначать штраф промежуточному интегральному значению цвета, если это значение отличается от значения цвета из соответствующей метки.[023] In some embodiments of the method, the transmission of training digital objects associated with a given point to each machine learning algorithm of a plurality of machine learning algorithms additionally initiates the formation by each of the plurality of machine learning algorithms of a corresponding vector representation of a signed distance field for a canonical point, and the training of the plurality of machine learning algorithms involves joint training of the plurality of machine learning algorithms and a second plurality of machine learning algorithms for the purpose of determining color values for a plurality of interpenetrating objects displayed in a three-dimensional scene. Training the second plurality of machine learning algorithms involves receiving, at the current training iteration, from each of the plurality of machine learning algorithms a predicted value of the signed distance field for a canonical point associated with a training object, determining, based on the predicted values of the signed distance field, current predicted density values for the corresponding canonical points, forming for another machine learning algorithm from the second plurality of machine learning algorithms another training data set containing another plurality of training digital objects, wherein the specified training digital object for a specified point on a specified ray contains (a) the coordinates of a canonical point associated with a training object associated with the other machine learning algorithm, (b) a vector representation of the signed distance field for a canonical point associated with the training object, and (c) a label representing the color value of a pixel on the adjusted training two-dimensional image associated with the specified ray, transmitting training digital objects associated with a specified point from each other training data set to each machine learning algorithm from the second plurality of machine learning algorithms, as a result of which each of the second plurality machine learning algorithms generate a predicted color value for a canonical point associated with a training object, determining, based on the predicted color values generated by each of the second plurality of machine learning algorithms and the current predicted density values generated by the plurality of machine learning algorithms for each point of a given ray, an intermediate integral color value for the ray at the current training iteration, and applying a loss function for color capable of assigning a penalty to the intermediate integral color value if this value differs from the color value from the corresponding label.
[024] В некоторых вариантах реализации способа определение промежуточного интегрального значения цвета предусматривает определение промежуточного интегрального значения цвета по следующей формуле:[024] In some embodiments of the method, determining the intermediate integral color value involves determining the intermediate integral color value using the following formula:
, ,
где c i p - прогнозное значение цвета для канонической точки, связанной с объектом p, сформированное алгоритмом машинного обучения из второго множества алгоритмов машинного обучения;where c i p is the predicted color value for the canonical point associated with object p , generated by the machine learning algorithm from the second set of machine learning algorithms;
w i p - значение веса, определенное для прогнозного значения цвета на основе текущих прогнозных значений плотности; w i p - the weight value determined for the predicted color value based on the current predicted density values;
bg r - цвет фона, связанный с лучом. bg r - background color associated with the beam.
[025] В некоторых вариантах реализации способа он дополнительно предусматривает определение значения веса по следующей формуле:[025] In some embodiments of the method, it additionally provides for determining the weight value using the following formula:
, ,
где Δx i - длина отрезка между заданной точкой и следующей за ней точкой на луче;where Δ x i is the length of the segment between a given point and the next point on the ray;
σ i p - текущее прогнозное значение плотности, сформированное алгоритмом машинного обучения из множества алгоритмов машинного обучения, связанным с обучающим объектом, на основе соответствующего значения знакового поля расстояний. σ i p is the current predicted density value generated by a machine learning algorithm from a set of machine learning algorithms associated with the training object, based on the corresponding value of the signed distance field.
[026] В некоторых вариантах реализации способа определение текущих прогнозных значений плотности для канонической точки предусматривает применение к каждому из прогнозных значений знакового поля расстояний нормированной интегральной функции распределения Лапласа.[026] In some embodiments of the method, determining the current predicted density values for the canonical point involves applying a normalized integral Laplace distribution function to each of the predicted values of the signed distance field.
[027] В некоторых вариантах реализации способа он перед формированием другого обучающего набора данных дополнительно предусматривает отбор из множества точек заданного луча набора точек для обучения второго множества алгоритмов машинного обучения в областях максимальной плотности обучающего объекта.[027] In some embodiments of the method, before forming another training data set, it additionally provides for selecting from the set of points of the given beam a set of points for training a second set of machine learning algorithms in the areas of maximum density of the training object.
[028] В некоторых вариантах реализации способа такой отбор предусматривает применение алгоритма выборки по значимости, способного формировать на луче точки, представляющие каждый из множества взаимопроникающих обучающих объектов, через которые проходит этот луч.[028] In some embodiments of the method, such selection involves the use of a significance sampling algorithm capable of forming points on the beam that represent each of the plurality of interpenetrating training objects through which the beam passes.
[029] В некоторых вариантах реализации способа он дополнительно предусматривает объединение точек луча, представляющих каждый из множества взаимопроникающих обучающих объектов, через которые проходит этот луч.[029] In some embodiments of the method, it further provides for combining beam points representing each of a plurality of interpenetrating training objects through which the beam passes.
[030] В некоторых вариантах реализации способа алгоритм выборки по значимости представляет собой функцию непрозрачности.[030] In some embodiments of the method, the importance sampling algorithm is an opacity function.
[031] В некоторых вариантах реализации способа он дополнительно предусматривает применение множества алгоритмов машинного обучения для определения границы между множеством взаимопроникающих объектов, отображаемых в трехмерной сцене. Такое применение предусматривает получение от заданной камеры из множества камер рабочей (т.е. относящейся к процессу использования алгоритма машинного обучения) последовательности двумерных изображений, представляющих множество взаимопроникающих объектов, формирование на основе рабочих последовательностей двумерных изображений, полученных от множества камер, последовательности рабочих скорректированных двумерных изображений, формирование для заданного объекта из множества взаимопроникающих объектов на каждом рабочем скорректированном двумерном изображении из последовательности рабочих скорректированных двумерных изображений рабочей оценки позы SMPL, содержащей рабочие вершины позы, образующие поверхность объекта в соответствующей позе на рабочем скорректированном двумерном изображении, и рабочий вектор позы SMPL, содержащий значения множества параметров позы SMPL, характеризующих позу объекта на рабочем скорректированном двумерном изображении, получение для заданного объекта из множества взаимопроникающих объектов рабочей канонической позы SMPL, содержащей рабочие канонические вершины, образующие поверхность заданного объекта в заранее заданной позе, построение замкнутого трехмерного пространства, содержащего множество точек обзора, сформированных на его внутренней поверхности, вокруг рабочих оценок позы SMPL, связанных со множеством взаимопроникающих объектов, построение от каждой точки обзора из множества точек обзора множества лучей через рабочие оценки позы SMPL, определение для заданной точки на заданном луче рабочей канонической точки для рабочей канонической позы SMPL, связанной с каждым из множества взаимопроникающих объектов, формирование для заданного алгоритма машинного обучения, связанного с объектом из множества взаимопроникающих объектов, заданного рабочего цифрового объекта, содержащего (а) координаты рабочей канонической точки, связанной с соответствующим объектом, и (б) вектор позы SMPL, связанный с соответствующим объектом, передачу рабочего цифрового объекта в заданный алгоритм машинного обучения из множества алгоритмов машинного обучения, в результате чего этот алгоритм машинного обучения определяет рабочее значение знакового поля расстояний для канонической точки, и определение того, проходит поверхность заданного объекта через заданную точку или нет, на основе рабочих значений знакового поля расстояний в канонической точке, сформированных множеством алгоритмов машинного обучения.[031] In some embodiments of the method, it further provides for the use of a plurality of machine learning algorithms to determine the boundary between a plurality of interpenetrating objects displayed in a three-dimensional scene. Such application involves obtaining from a given camera from a plurality of cameras a working (i.e. related to the process of using the machine learning algorithm) sequence of two-dimensional images representing a plurality of interpenetrating objects, forming on the basis of the working sequences of two-dimensional images obtained from a plurality of cameras, a sequence of working corrected two-dimensional images, forming for a given object from a plurality of interpenetrating objects on each working corrected two-dimensional image from the sequence of working corrected two-dimensional images a working estimate of the pose SMPL, containing working pose vertices forming the surface of the object in the corresponding pose on the working corrected two-dimensional image, and a working pose vector SMPL, containing the values of a plurality of pose parameters SMPL, characterizing the pose of the object on the working corrected two-dimensional image, obtaining for a given object from a plurality of interpenetrating objects a working canonical pose SMPL, containing working canonical vertices forming the surface of the given object in a predetermined pose, constructing a closed three-dimensional space containing a plurality of viewpoints formed on its an inner surface, around working SMPL pose estimates associated with a plurality of interpenetrating objects, constructing from each viewpoint of the plurality of viewpoints a plurality of rays through the working SMPL pose estimates, determining for a given point on a given ray a working canonical point for the working canonical pose of the SMPL associated with each of the plurality of interpenetrating objects, generating for a given machine learning algorithm associated with an object from the plurality of interpenetrating objects a given working digital object containing (a) coordinates of the working canonical point associated with the corresponding object, and (b) a SMPL pose vector associated with the corresponding object, transmitting the working digital object to a given machine learning algorithm from the plurality of machine learning algorithms, as a result of which this machine learning algorithm determines a working value of a signed distance field for the canonical point, and determining whether the surface of the given object passes through the given point or not, based on the working values of the signed distance field at the canonical point generated by the plurality of machine learning algorithms.
[032] В некоторых вариантах реализации способа передача заданного рабочего цифрового объекта в заданный алгоритм машинного обучения из множества алгоритмов машинного обучения дополнительно инициирует формирование этим алгоритмом машинного обучения рабочего векторного представления знакового поля расстояний для канонической точки, связанной с соответствующим объектом, а также дополнительно предусмотрено применение второго множества алгоритмов машинного обучения с целью определения значения цвета для каждого из множества взаимопроникающих объектов путем определения на основе всех рабочих значений знакового поля расстояний в канонической точке, сформированных множеством алгоритмов машинного обучения, значений плотности в этой канонической точке, формирование рабочего цифрового объекта для определения цвета, содержащего (а) координаты рабочей канонической точки, связанной с соответствующим объектом, и (б) рабочее векторное представление знакового поля расстояний для этой канонической точки, передача в другой алгоритм машинного обучения из второго множества алгоритмов машинного обучения, связанный с соответствующим объектом, рабочего цветного цифрового объекта, в результате чего этот другой алгоритм машинного обучения формирует значение цвета для канонической точки этого объекта, определение на основе значений плотности, сформированных множеством алгоритмов машинного обучения, и значений цвета, сформированных вторым множеством алгоритмов машинного обучения для канонической точки, интегрального значения цвета для каждого луча и применение интегрального значения цвета для объемного рендеринга взаимопроникающих объектов трехмерной сцены.[032] In some embodiments of the method, the transfer of a given working digital object to a given machine learning algorithm from a plurality of machine learning algorithms additionally initiates the formation by this machine learning algorithm of a working vector representation of a signed distance field for a canonical point associated with the corresponding object, and also additionally provides for the use of a second plurality of machine learning algorithms in order to determine a color value for each of the plurality of interpenetrating objects by determining, based on all working values of the signed distance field at the canonical point generated by the plurality of machine learning algorithms, the density values at this canonical point, the formation of a working digital object for determining a color containing (a) the coordinates of the working canonical point associated with the corresponding object, and (b) the working vector representation of the signed distance field for this canonical point, the transfer to another machine learning algorithm from the second plurality of machine learning algorithms associated with the corresponding object, the working color digital object, as a result of which this other machine learning algorithm generates a color value for the canonical point of this object, the determination based on the density values generated by the plurality of machine learning algorithms and the color values generated by the second plurality of algorithms machine learning for the canonical point, the integral color value for each ray, and the application of the integral color value for volumetric rendering of interpenetrating objects in a 3D scene.
[033] В соответствии со вторым широким аспектом настоящей технологии реализован сервер для объемного рендеринга трехмерных сцен. Сервер содержит по меньшей мере один процессор и по меньшей мере одну физическую память, хранящую исполняемые команды, при исполнении которых по меньшей мере одним процессором на сервере обеспечивается обучение заданного алгоритма машинного обучения из множества алгоритмов машинного обучения определению границы между множеством взаимопроникающих объектов, отображаемых в трехмерной сцене, путем получения от заданной камеры из множества камер последовательности обучающих двумерных изображений, представляющих множество взаимопроникающих обучающих объектов, формирования на основе последовательностей обучающих двумерных изображений, полученных от множества камер, последовательности скорректированных обучающих двумерных изображений, формирования для заданного обучающего объекта из множества взаимопроникающих обучающих объектов на заданном скорректированном обучающем двумерном изображении из последовательности скорректированных обучающих двумерных изображений оценки позы SMPL, содержащей вершины позы, образующие поверхность обучающего объекта в соответствующей позе на скорректированном обучающем двумерном изображении, и вектор позы SMPL, содержащий значения множества параметров позы SMPL, характеризующих позу обучающего объекта на скорректированном обучающем двумерном изображении, получения для заданного обучающего объекта из множества взаимопроникающих обучающих объектов канонической позы SMPL, содержащей канонические вершины, образующие поверхность обучающего объекта в заранее заданной позе, построения замкнутого трехмерного пространства вокруг оценок позы SMPL, связанных со множеством взаимопроникающих обучающих объектов, формирования на внутренней поверхности замкнутого трехмерного пространства множества точек обзора, каждая из которых ориентирована в направлении центра замкнутого трехмерного пространства, построения от каждой точки обзора из множества точек обзора множества лучей через оценки позы SMPL для множества взаимопроникающих обучающих объектов, определения для заданной точки на заданном луче канонической точки в канонической позе SMPL, связанной с каждым из множества взаимопроникающих обучающих объектов, формирования для заданного алгоритма машинного обучения из множества алгоритмов машинного обучения обучающего набора данных, содержащего множество обучающих цифровых объектов, при этом заданный обучающий цифровой объект для заданной точки на заданном луче содержит (а) координаты канонической точки, связанной с этим обучающим объектом, и (б) вектор позы SMPL, связанный с этим обучающим объектом, совместного обучения множества алгоритмов машинного обучения с использованием обучающих наборов данных определению границы заданного объекта из множества взаимопроникающих объектов путем передачи обучающих цифровых объектов, связанных с заданной точкой, в каждый алгоритм машинного обучения из множества алгоритмов машинного обучения, в результате чего каждый из множества алгоритмов машинного обучения формирует прогнозное значение знакового поля расстояний для канонической точки, и применения функции потерь для знакового поля расстояний, способной назначать штраф прогнозному значению знакового поля расстояний, сформированному алгоритмом машинного обучения для заданной точки, если прогнозное значение знакового поля расстояний, сформированное этим алгоритмом машинного обучения, равно прогнозному значению знакового поля расстояний, сформированному другим алгоритмом машинного обучения из множества алгоритмов машинного обучения.[033] In accordance with the second broad aspect of the present technology, a server for volume rendering of three-dimensional scenes is implemented. The server comprises at least one processor and at least one physical memory storing executable commands, the execution of which by at least one processor on the server ensures training of a given machine learning algorithm from a plurality of machine learning algorithms to determine the boundary between a plurality of interpenetrating objects displayed in a three-dimensional scene by receiving from a given camera from a plurality of cameras a sequence of training two-dimensional images representing a plurality of interpenetrating training objects, forming, on the basis of the sequences of training two-dimensional images obtained from the plurality of cameras, a sequence of corrected training two-dimensional images, forming for a given training object from a plurality of interpenetrating training objects on a given corrected training two-dimensional image from the sequence of corrected training two-dimensional images an SMPL pose estimate containing pose vertices forming the surface of the training object in the corresponding pose on the corrected training two-dimensional image, and an SMPL pose vector containing the values of a plurality of SMPL pose parameters characterizing the pose of the training object on the corrected a training two-dimensional image, obtaining for a given training object from a plurality of interpenetrating training objects a canonical pose SMPL containing canonical vertices forming the surface of the training object in a predetermined pose, constructing a closed three-dimensional space around the SMPL pose estimates associated with the plurality of interpenetrating training objects, forming on the inner surface of the closed three-dimensional space a plurality of viewpoints, each of which is oriented in the direction of the center of the closed three-dimensional space, constructing from each viewpoint from the plurality of viewpoints a plurality of rays through the SMPL pose estimates for the plurality of interpenetrating training objects, determining for a given point on a given ray a canonical point in the canonical pose SMPL associated with each of the plurality of interpenetrating training objects, forming for a given machine learning algorithm from a plurality of machine learning algorithms a training data set containing a plurality of training digital objects, wherein the given training digital object for a given point on a given ray contains (a) the coordinates of the canonical point associated with this training object, and (b) a pose vector SMPL, associated with this training object, jointly training a plurality of machine learning algorithms using training data sets to determine the boundary of a given object from a plurality of interpenetrating objects by transmitting training digital objects associated with a given point to each machine learning algorithm of the plurality of machine learning algorithms, as a result of which each of the plurality of machine learning algorithms generates a predicted value of a signed distance field for a canonical point, and applying a loss function for the signed distance field capable of assigning a penalty to the predicted value of the signed distance field generated by the machine learning algorithm for the given point, if the predicted value of the signed distance field generated by this machine learning algorithm is equal to the predicted value of the signed distance field generated by another machine learning algorithm of the plurality of machine learning algorithms.
[034] В некоторых вариантах реализации сервера передача обучающих цифровых объектов, связанных с заданной точкой, в каждый алгоритм машинного обучения из множества алгоритмов машинного обучения дополнительно инициирует формирование каждым из множества алгоритмов машинного обучения векторного представления знакового поля расстояний для канонической точки, а обеспечение сервером обучения множества алгоритмов машинного обучения при исполнении исполняемых команд предусматривает совместное обучение множества алгоритмов машинного обучения и второго множества алгоритмов машинного обучения с целью определения значений цвета для заданного объекта из множества взаимопроникающих объектов, отображаемых в трехмерной сцене, путем получения на текущей итерации обучения от каждого из множества алгоритмов машинного обучения прогнозного значения знакового поля расстояний для канонической точки, связанной с обучающим объектом, определения на основе прогнозных значений знакового поля расстояний текущих прогнозных значений плотности для соответствующих канонических точек, формирования для другого алгоритма машинного обучения из второго множества алгоритмов машинного обучения другого обучающего набора данных, содержащего другое множество обучающих цифровых объектов, при этом заданный обучающий цифровой объект для заданной точки на заданном луче содержит (а) координаты канонической точки, связанной с обучающим объектом, связанным с другим алгоритмом машинного обучения, (б) векторное представление знакового поля расстояний для канонической точки, связанной с соответсвующим обучающим объектом, и (в) метку, представляющую значение цвета пикселя на скорректированном обучающем двумерном изображении, связанном с заданным лучом, передачи обучающих цифровых объектов, связанных с заданной точкой, из каждого другого обучающего набора данных в каждый алгоритм машинного обучения из второго множества алгоритмов машинного обучения, в результате чего каждый из второго множества алгоритмов машинного обучения формирует прогнозное значение цвета для канонической точки, связанной с обучающим объектом, определения на основе прогнозных значений цвета, сформированных каждым из второго множества алгоритмов машинного обучения, и текущих прогнозных значений плотности, сформированных множеством алгоритмов машинного обучения для каждой точки заданного луча, промежуточного интегрального значения цвета для заданного луча на текущей итерации обучения, и применения функции потерь для цвета, способной назначать штраф промежуточному интегральному значению цвета, если это значение отличается от значения цвета из соответствующей метки.[034] In some embodiments of the server, the transmission of training digital objects associated with a given point to each of the plurality of machine learning algorithms further initiates the formation by each of the plurality of machine learning algorithms of a vector representation of a signed distance field for the canonical point, and the provision by the training server of the plurality of machine learning algorithms during the execution of executable commands provides for joint training of the plurality of machine learning algorithms and a second plurality of machine learning algorithms for the purpose of determining color values for a given object from a plurality of interpenetrating objects displayed in a three-dimensional scene by receiving at the current iteration of training from each of the plurality of machine learning algorithms a predicted value of a signed distance field for a canonical point associated with the training object, determining based on the predicted values of the signed distance field current predicted values of the density for the corresponding canonical points, forming for another machine learning algorithm from the second plurality of machine learning algorithms another training data set containing another plurality of training digital objects, wherein the given training digital object for a given point on a given ray contains (a) coordinates of a canonical point associated with a training object associated with another machine learning algorithm, (b) a vector representation of a signed distance field for a canonical point associated with the corresponding training object, and (c) a label representing a color value of a pixel in a corrected training two-dimensional image associated with a given ray, transmitting training digital objects associated with a given point from each other training data set to each machine learning algorithm of a second plurality of machine learning algorithms, as a result of which each of the second plurality of machine learning algorithms generates a predicted color value for the canonical point associated with the training object, determining, based on the predicted color values generated by each of the second plurality of machine learning algorithms and the current predicted density values generated by the plurality of machine learning algorithms for each point of the given ray, an intermediate integrated color value for the given ray at the current training iteration, and applying a loss function for a color capable of assigning a penalty to the intermediate integrated color value if this value differs from the color value from the corresponding label.
[035] В некоторых вариантах реализации сервера исполняемые команды дополнительно обеспечивают применение на сервере множества алгоритмов машинного обучения для определения границы между множеством взаимопроникающих объектов, отображаемых в трехмерной сцене, путем получения от заданной камеры из множества камер рабочей последовательности двумерных изображений, представляющих множество взаимопроникающих объектов, формирования на основе рабочих последовательностей двумерных изображений, полученных от множества камер, последовательности рабочих скорректированных двумерных изображений, формирования для заданного объекта из множества взаимопроникающих объектов на каждом рабочем скорректированном двумерном изображении из последовательности рабочих скорректированных двумерных изображений рабочей оценки позы SMPL, содержащей рабочие вершины позы, образующие поверхность объекта в соответствующей позе на рабочем скорректированном двумерном изображении, и рабочий вектор позы SMPL, содержащий значения множества параметров позы SMPL, характеризующих позу объекта на рабочем скорректированном двумерном изображении, получения для заданного объекта из множества взаимопроникающих объектов рабочей канонической позы SMPL, содержащей рабочие канонические вершины, образующие поверхность объекта в заранее заданной позе, построения замкнутого трехмерного пространства, содержащего множество точек обзора, сформированных на его внутренней поверхности, вокруг рабочих оценок позы SMPL, связанных со множеством взаимопроникающих объектов, построения от каждой точки обзора из множества точек обзора множества лучей через рабочие оценки позы SMPL, определения для заданной точки на заданном луче рабочей канонической точки для рабочей канонической позы SMPL, связанной с каждым из множества взаимопроникающих объектов, формирования для заданного алгоритма машинного обучения, связанного соответствующим с объектом из множества взаимопроникающих объектов, заданного рабочего цифрового объекта, содержащего (а) координаты рабочей канонической точки, связанной с соответствующим объектом, и (б) вектор позы SMPL, связанный с соответствующим объектом, передачи рабочего цифрового объекта в заданный алгоритм машинного обучения из множества алгоритмов машинного обучения, в результате чего этот алгоритм машинного обучения определяет рабочее значение знакового поля расстояний для канонической точки, и определения того, проходит поверхность заданного объекта через заданную точку или нет, на основе рабочих значений знакового поля расстояний в канонической точке, сформированных множеством алгоритмов машинного обучения.[035] In some embodiments of the server, the executable commands further provide for applying on the server a plurality of machine learning algorithms to determine a boundary between a plurality of interpenetrating objects displayed in a three-dimensional scene by receiving from a given camera of a plurality of cameras a working sequence of two-dimensional images representing the plurality of interpenetrating objects, generating, based on the working sequences of two-dimensional images received from the plurality of cameras, a sequence of working corrected two-dimensional images, generating for a given object from the plurality of interpenetrating objects on each working corrected two-dimensional image from the sequence of working corrected two-dimensional images a working pose estimate SMPL containing working pose vertices forming the surface of the object in the corresponding pose on the working corrected two-dimensional image, and a working pose vector SMPL containing the values of a plurality of pose parameters SMPL characterizing the pose of the object on the working corrected two-dimensional image, obtaining for a given object from the plurality of interpenetrating objects a working canonical pose SMPL containing the working canonical vertices forming the surface of the object in a predetermined pose, constructing a closed three-dimensional space containing a plurality of viewpoints formed on its inner surface around the working SMPL pose estimates associated with a plurality of interpenetrating objects, constructing from each viewpoint of the plurality of viewpoints a plurality of rays through the working SMPL pose estimates, determining for a given point on a given ray a working canonical point for the working canonical pose of the SMPL associated with each of the plurality of interpenetrating objects, generating for a given machine learning algorithm associated with a corresponding object of the plurality of interpenetrating objects a given working digital object containing (a) coordinates of the working canonical point associated with the corresponding object, and (b) a SMPL pose vector associated with the corresponding object, transmitting the working digital object to a given machine learning algorithm from a plurality of machine learning algorithms, as a result of which this machine learning algorithm determines a working value of a signed distance field for the canonical point, and determining whether the surface of the given object passes through the given point or not, based on the working values of the signed distance field at the canonical point formed by the plurality of machine learning algorithms.
[036] В контексте настоящего описания «сервер» представляет собой компьютерную программу, выполняемую на соответствующих аппаратных средствах и способную принимать по сети запросы (например, от клиентских устройств), а также выполнять эти запросы или инициировать их выполнение. Такие аппаратные средства могут быть реализованы в виде одного физического компьютера или одной физической компьютерной системы, что не имеет существенного значения для настоящей технологии. В данном контексте при употреблении выражения «сервер» не подразумевается, что какая-либо конкретная задача или все задачи (например, принятые команды или запросы) принимаются, выполняются или запускаются на одном и том же сервере (т.е. одними и теми же программными и/или аппаратными средствами), а имеется в виду, что участвовать в приеме, передаче, выполнении или инициировании выполнения каких-либо задач или запросов либо результатов каких-либо задач или запросов может любое количество программных или аппаратных средств и что все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем выражение «по меньшей мере один сервер» охватывает оба этих случая.[036] As used herein, a "server" is a computer program running on appropriate hardware that is capable of receiving requests (e.g., from client devices) over a network and of executing or causing these requests to be executed. Such hardware may be implemented as a single physical computer or a single physical computer system, which is not essential to the present technology. As used herein, the term "server" does not imply that any particular task or all tasks (e.g., received commands or requests) are received, executed, or started on the same server (i.e., by the same software and/or hardware), but rather that any number of software or hardware may participate in receiving, transmitting, executing, or causing the execution of any tasks or requests, or the results of any tasks or requests, and that all of these software and hardware may represent a single server or multiple servers, with the term "at least one server" including both of these cases.
[037] В контексте настоящего описания «клиентское устройство» представляет собой любые компьютерные аппаратные средства, способные обеспечивать работу программного обеспечения, подходящего для выполнения поставленной задачи. Таким образом, примерами (не имеющими ограничительного характера) клиентских устройств являются персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, например, маршрутизаторы, коммутаторы и шлюзы. При этом следует отметить, что устройство, выступающее в данном контексте в качестве клиентского, не лишается возможности выступать в качестве сервера для других клиентских устройств. Употребление выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема, передачи, выполнения или инициирования выполнения каких-либо задач или запросов, результатов каких-либо задач или запросов либо шагов какого-либо описанного здесь способа.[037] In the context of the present description, a "client device" is any computer hardware capable of running software suitable for performing a given task. Thus, non-limiting examples of client devices include personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, as well as network equipment such as routers, switches and gateways. It should be noted that a device acting as a client in this context does not lose the ability to act as a server for other client devices. The use of the expression "client device" does not exclude the use of multiple client devices to receive, transmit, perform or initiate the performance of any tasks or requests, the results of any tasks or requests, or the steps of any method described herein.
[038] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных и компьютерных аппаратных средств для хранения таких данных, их применения или обеспечения их использования иным способом. База данных может размещаться на тех же аппаратных средствах, на которых реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо на отдельных аппаратных средствах, таких как специализированный сервер или группа серверов.[038] As used herein, the term "database" means any structured collection of data, regardless of its specific structure, software for managing the database, and computer hardware for storing such data, using it, or otherwise enabling its use. A database may be hosted on the same hardware as the process that enables the storage or use of the information stored in the database, or on separate hardware, such as a dedicated server or group of servers.
[039] В контексте настоящего описания выражение «информация» включает в себя информацию любого рода или вида, допускающую хранение в базе данных. Такая информация включает в себя аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (отзывы, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы, списки слов и т.д., но не ограничивается ими.[039] As used herein, the term "information" includes information of any kind or type capable of being stored in a database. Such information includes, but is not limited to, audiovisual works (images, films, sound recordings, presentations, etc.), data (location data, numerical data, etc.), text (reviews, comments, questions, messages, etc.), documents, spreadsheets, word lists, etc.
[040] В контексте настоящего описания выражение «компонент» означает программное обеспечение (в контексте конкретных аппаратных средств), необходимое и достаточное для выполнения конкретных упоминаемых функций.[040] In the context of this description, the expression "component" means software (in the context of specific hardware) necessary and sufficient to perform the specific functions referred to.
[041] В контексте настоящего описания выражение «компьютерный носитель информации» предназначено для обозначения носителей любого рода и вида, включая ОЗУ, ПЗУ, диски (CD-ROM, DVD, дискеты, жесткие диски и т.п.), USB-накопители, твердотельные накопители, ленточные накопители и т.д.[041] In the context of the present description, the expression "computer storage medium" is intended to refer to media of any kind and type, including RAM, ROM, disks (CD-ROM, DVD, floppy disks, hard disks, etc.), USB drives, solid state drives, tape drives, etc.
[042] В контексте настоящего описания числительные «первый», «второй», «третий» и т.д. служат лишь для указания на различия между существительными, к которым они относятся, а не для описания каких-либо определенных взаимосвязей между этими существительными. Таким образом, следует понимать, что, например, термины «первый сервер» и «третий сервер» не предполагают существования каких-либо определенных порядка, типов, хронологии, иерархии или ранжирования серверов, а употребление этих терминов (само по себе) не подразумевает обязательного наличия какого-либо «второго сервера» в той или иной конкретной ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылки на «первый» элемент и «второй» элемент не исключают того, что эти два элемента в действительности могут быть одним и тем же элементом. Так, например, в одних случаях «первый» и «второй» серверы могут представлять собой одни и те же программные и/или аппаратные средства, а в других случаях - разные программные и/или аппаратные средства.[042] As used herein, the numerals "first," "second," "third," etc., serve merely to distinguish between the nouns to which they refer, and do not describe any particular relationships between those nouns. Thus, it should be understood that, for example, the terms "first server" and "third server" do not imply the existence of any particular order, type, chronology, hierarchy, or ranking of servers, and the use of these terms (in and of themselves) does not necessarily imply the presence of any "second server" in any particular situation. Furthermore, as occurs in other contexts herein, references to a "first" element and a "second" element do not exclude the possibility that the two elements may in fact be the same element. For example, in some cases the “first” and “second” servers may represent the same software and/or hardware, and in other cases, different software and/or hardware.
[043] Каждый вариант осуществления настоящей технологии относится по меньшей мере к одной из вышеупомянутых целей и/или к одному из вышеупомянутых аспектов, но не обязательно ко всем ним. Следует понимать, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, не описанным здесь явным образом.[043] Each embodiment of the present technology relates to at least one of the above-mentioned objectives and/or one of the above-mentioned aspects, but not necessarily to all of them. It should be understood that some aspects of the present technology associated with an attempt to achieve the above-mentioned objective may not correspond to this objective and/or may correspond to other objectives not explicitly described herein.
[044] Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов реализации настоящей технологии содержатся в дальнейшем описании, на приложенных чертежах и в формуле изобретения.[044] Additional and/or alternative features, aspects and advantages of embodiments of the present technology are contained in the following description, in the attached drawings and in the claims.
КраткоеBrief описаниеdescription чертежейdrawings
[045] Для более полного понимания настоящей технологии, ее аспектов и дополнительных признаков следует обратиться к следующему описанию, которое должно использоваться в сочетании с сопроводительными чертежами.[045] For a more complete understanding of the present technology, its aspects and additional features, reference should be made to the following description, which should be used in conjunction with the accompanying drawings.
[046] На фиг. 1 схематически представлен пример компьютерной системы, пригодной для реализации некоторых не имеющих ограничительного характера вариантов осуществления систем и/или способов в соответствии с настоящей технологией.[046] Fig. 1 is a schematic representation of an example of a computer system suitable for implementing certain non-limiting embodiments of systems and/or methods in accordance with the present technology.
[047] На фиг. 2 представлена сетевая компьютерная среда, пригодная для использования с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[047] Fig. 2 illustrates a networked computing environment suitable for use with certain non-limiting embodiments of the present technology.
[048] На фиг. 3 схематически представлена сцена, подлежащая рендерингу сервером в составе сетевой компьютерной среды, показанной на фиг. 2, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[048] Fig. 3 is a schematic representation of a scene to be rendered by a server within the networked computing environment shown in Fig. 2, in accordance with some non-limiting embodiments of the present technology.
[049] На фиг. 4 схематически представлена обучающая сцена в системе формирования обучающего набора данных для обучения множества алгоритмов машинного обучения для определения плотности и множества алгоритмов машинного обучения для определения цвета, выполняемых на сервере в составе сетевой компьютерной среды, показанной на фиг. 2, с целью рендеринга сцены, показанной на фиг. 3, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[049] Fig. 4 is a schematic diagram of a training scene in a system for generating a training data set for training a plurality of machine learning algorithms for determining density and a plurality of machine learning algorithms for determining color, executed on a server within the networked computer environment shown in Fig. 2, for the purpose of rendering the scene shown in Fig. 3, in accordance with some non-limiting embodiments of the present technology.
[050] На фиг. 5 схематически представлена обучающая трехмерная сцена, содержащая оценки позы обучающих объектов согласно модели SMPL для обучающей сцены, показанной на фиг. 4, отображаемой на основе данных двумерных изображений, представляющих обучающие объекты и сформированных в системе, показанной на фиг. 4, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[050] Fig. 5 is a schematic diagram of a training three-dimensional scene comprising pose estimates of training objects according to the SMPL model for the training scene shown in Fig. 4, displayed based on two-dimensional image data representing the training objects and generated in the system shown in Fig. 4, in accordance with some non-limiting embodiments of the present technology.
[051] На фиг. 6 схематически представлена каноническая поза SMPL обучающего объекта, показанного на фиг. 4, внутри сетки знакового поля расстояний в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[051] Fig. 6 is a schematic representation of the canonical pose SMPL of the training object shown in Fig. 4 within a signed distance field grid in accordance with some non-limiting embodiments of the present technology.
[052] На фиг. 7 схематически представлена сцена, показанная на фиг. 3, в системе формирования рабочих цифровых объектов для множества алгоритмов машинного обучения для определения плотности и цвета, выполняемых на сервере в составе сетевой компьютерной среды, показанной на фиг. 2, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[052] Fig. 7 is a schematic representation of the scene shown in Fig. 3 in a system for generating working digital objects for a plurality of machine learning algorithms for determining density and color, executed on a server within the networked computer environment shown in Fig. 2, in accordance with some non-limiting embodiments of the present technology.
[053] На фиг. 8 схематически представлена трехмерная сцена, сформированная на основе данных изображений, представляющих сцену, показанную на фиг. 3, в системе, показанной на фиг. 7, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[053] Fig. 8 is a schematic representation of a three-dimensional scene generated from image data representing the scene shown in Fig. 3 in the system shown in Fig. 7 in accordance with some non-limiting embodiments of the present technology.
[054] На фиг. 9 схематически представлена трехмерная сцена, показанная на фиг. 8, содержащая отображаемые трехмерные модели объектов, которые присутствуют в сцене, показанной на фиг. 3, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[054] Fig. 9 is a schematic representation of the three-dimensional scene shown in Fig. 8, including rendered three-dimensional models of objects that are present in the scene shown in Fig. 3, in accordance with some non-limiting embodiments of the present technology.
[055] На фиг. 10 представлена блок-схема способа обучения алгоритма машинного обучения из множества алгоритмов машинного обучения для определения плотности и цвета, выполняемых на сервере, который входит в состав сетевой компьютерной среды, показанной на фиг. 2, для рендеринга трехмерной сцены, показанной на фиг. 9, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[055] Fig. 10 is a flow chart of a method for training a machine learning algorithm from a plurality of machine learning algorithms for determining density and color running on a server that is part of the networked computing environment shown in Fig. 2 for rendering the three-dimensional scene shown in Fig. 9, in accordance with some non-limiting embodiments of the present technology.
ОсуществлениеImplementation изобретенияinventions
[056] Представленные здесь примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.[056] The examples and conventional language provided herein are intended to provide a better understanding of the principles of the present technology, and not to limit its scope to such specifically provided examples and conditions. It is obvious that those skilled in the art are capable of devising various methods and devices that are not explicitly described or shown, but implement the principles of the present technology within its spirit and scope.
[057] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалисты в данной области должны понимать, что различные варианты осуществления настоящей технологии могут быть значительно сложнее.[057] Furthermore, in order to facilitate better understanding, the following description may contain simplified embodiments of the present technology. Those skilled in the art will understand that various embodiments of the present technology may be significantly more complex.
[058] В некоторых случаях также приводятся предположительно полезные примеры модификаций настоящей технологии. Они призваны лишь способствовать пониманию и также не определяют объема или границ настоящей технологии. Представленный перечень модификаций не является исчерпывающим, и специалист в данной области техники может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.[058] In some cases, supposedly useful examples of modifications of the present technology are also given. They are intended only to facilitate understanding and also do not define the scope or boundaries of the present technology. The presented list of modifications is not exhaustive, and a person skilled in the art can develop other modifications within the scope of the present technology. In addition, if in some cases modifications are not described, this does not mean that they are impossible and/or that the description contains the only possible embodiment of a particular element of the present technology.
[059] При этом описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалисты в данной области техники должны понимать, что все приведенные здесь блок-схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих принципы настоящей технологии. Также следует понимать, что все блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором независимо от того, показан такой компьютер или процессор в явном виде или нет.[059] In this case, the description of the principles, aspects and embodiments of the present technology, as well as their specific examples, are intended to cover their structural and functional equivalents, regardless of whether they are currently known or will be developed in the future. For example, those skilled in the art should understand that all block diagrams provided herein correspond to conceptual representations of illustrative circuit diagrams implementing the principles of the present technology. It should also be understood that all block diagrams, process diagrams, state transition diagrams, pseudocodes, etc. correspond to various processes that can be represented on a machine-readable physical information carrier and can be executed by a computer or processor, regardless of whether such a computer or processor is shown explicitly or not.
[060] Функции различных элементов, показанных на чертежах, включая все функциональные блоки, обозначенные как «процессор» или «графический процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также аппаратных средств, способных обеспечивать работу соответствующего программного обеспечения. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором и/или несколькими отдельными процессорами, некоторые из которых могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, например, центральный процессор, или процессор, предназначенный для решения конкретной задачи, например, графический процессор. Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные обеспечивать работу программного обеспечения, и может подразумевать аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и/или энергонезависимое ЗУ, но не ограничиваясь ими. Могут подразумеваться и другие аппаратные средства, общего назначения и/или заказные.[060] The functions of the various elements shown in the drawings, including all functional blocks designated as a "processor" or "graphics processor", may be implemented using specialized hardware, as well as hardware capable of supporting the execution of corresponding software. If a processor is used, these functions may be performed by one dedicated processor, one shared processor, and/or several separate processors, some of which may be used together. In some embodiments of the present technology, the processor may be a general-purpose processor, such as a central processor, or a processor dedicated to solving a specific task, such as a graphics processor. In addition, explicit use of the term "processor" or "controller" shall not be construed as referring solely to hardware capable of executing software, and may include, but is not limited to, hardware such as a digital signal processor (DSP), a network processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a ROM for storing software, RAM, and/or non-volatile memory. Other hardware, general purpose and/or custom, may also be included.
[061] Программные модули или просто модули, реализация которых предполагается на базе программных средств, могут быть представлены здесь в виде любого сочетания элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут реализовываться с помощью аппаратных средств, показанных явно или подразумеваемых.[061] Software modules or simply modules, the implementation of which is supposed to be based on software, may be represented here as any combination of flow chart elements or other elements indicating the execution of process steps and/or containing a text description. Such modules may be implemented using hardware, shown explicitly or implied.
[062] С учетом вышеизложенных принципов ниже рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.[062] Taking into account the above principles, some non-limiting examples are discussed below to illustrate various embodiments of aspects of the present technology.
КомпьютернаяComputer системаsystem
[063] На фиг. 1 изображена компьютерная система 100, пригодная для использования в некоторых вариантах осуществления настоящей технологии. Компьютерная система 100 содержит различные аппаратные элементы, включая один или несколько одноядерных или многоядерных процессоров, совместно представленных процессором 110, графический процессор 111, твердотельный накопитель 120, оперативное запоминающее устройство 130, интерфейс 140 дисплея и интерфейс 150 ввода-вывода.[063] Fig. 1 shows a computer system 100 suitable for use in some embodiments of the present technology. The computer system 100 includes various hardware elements, including one or more single-core or multi-core processors, collectively represented by a processor 110, a graphics processor 111, a solid-state drive 120, a random access memory 130, a display interface 140, and an input/output interface 150.
[064] Связь между элементами компьютерной системы 100 может осуществляться через одну или несколько внутренних и/или внешних шин 160 (например, таких как шина PCI, шина USB, шина FireWire стандарта IEEE 1394, шина SCSI, шина Serial-ATA и т.д.), с которыми различные аппаратные элементы соединены электронными средствами.[064] Communication between elements of the computer system 100 may be accomplished via one or more internal and/or external buses 160 (such as a PCI bus, a USB bus, an IEEE 1394 FireWire bus, a SCSI bus, a Serial-ATA bus, etc.) to which various hardware elements are electronically connected.
[065] Интерфейс 150 ввода-вывода может быть соединен с сенсорным экраном 190 и/или с одной или несколькими внутренними и/или внешними шинами 160. Сенсорный экран 190 может быть частью дисплея. В некоторых вариантах осуществления сенсорный экран 190 представляет собой дисплей. В вариантах осуществления, показанных на фиг. 1, сенсорный экран 190 содержит сенсорные средства 194 (например, сенсорные элементы, встроенные в слой дисплея и обеспечивающие регистрацию физического взаимодействия между пользователем и дисплеем) и контроллер 192 сенсорных средств ввода-вывода, обеспечивающий связь с интерфейсом 140 дисплея и/или одной или несколькими внутренними и/или внешними шинами 160. В некоторых вариантах осуществления интерфейс 150 ввода-вывода может быть соединен с клавиатурой (не показана), мышью (не показана) или сенсорной панелью (не показана), которые обеспечивают взаимодействие пользователя с компьютерной системой 100 в дополнение к сенсорному экрану 190 или вместо него. В некоторых вариантах осуществления компьютерная система 100 может содержать один или несколько микрофонов (не показаны). Микрофоны обеспечивают запись звука, например, речи пользователя. Речь пользователя может преобразовываться в команды для управления компьютерной системой 100.[065] The input/output interface 150 may be coupled to a touch screen 190 and/or to one or more internal and/or external buses 160. The touch screen 190 may be part of a display. In some embodiments, the touch screen 190 is a display. In the embodiments shown in Fig. 1, the touch screen 190 comprises touch means 194 (e.g., touch elements embedded in a layer of the display and providing for registration of physical interaction between a user and the display) and a touch input/output controller 192 providing for communication with the display interface 140 and/or one or more internal and/or external buses 160. In some embodiments, the input/output interface 150 may be coupled to a keyboard (not shown), a mouse (not shown), or a touch pad (not shown), which provide for user interaction with the computer system 100 in addition to or instead of the touch screen 190. In some embodiments, the computer system 100 may include one or more microphones (not shown). The microphones provide for recording audio, such as user speech. The user speech may be converted into commands for controlling the computer system 100.
[066] Следует отметить, что в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии часть элементов компьютерной системы 100 может отсутствовать. Например, может отсутствовать сенсорный экран 190, особенно в тех случаях (но не ограничиваясь ими), когда компьютерная система реализована в виде умной колонки.[066] It should be noted that in some non-limiting embodiments of the present technology, some elements of the computer system 100 may be missing. For example, the touch screen 190 may be missing, especially in cases (but not limited to) where the computer system is implemented as a smart speaker.
[067] В соответствии с вариантами реализации настоящей технологии на твердотельном накопителе 120 хранятся программные команды, пригодные для загрузки в оперативное запоминающее устройство 130 и исполнения процессором 110 и/или графическим процессором 111. Например, программные команды могут входить в состав библиотеки или приложения.[067] In accordance with embodiments of the present technology, software instructions suitable for loading into random access memory 130 and execution by processor 110 and/or graphics processor 111 are stored on solid state drive 120. For example, software instructions may be part of a library or application.
СетеваяNetwork компьютернаяcomputer средаWednesday
[068] На фиг. 2 схематически представлена сетевая компьютерная среда 200, пригодная для использования с некоторыми вариантами осуществления систем и/или способов в соответствии с настоящей технологией. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сетевая компьютерная среда 200 способна формировать трехмерные сцены.[068] Fig. 2 is a schematic diagram of a networked computing environment 200 suitable for use with some embodiments of systems and/or methods in accordance with the present technology. In some non-limiting embodiments of the present technology, the networked computing environment 200 is capable of generating three-dimensional scenes.
[069] В связи с этим в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сетевая компьютерная среда 200 содержит сервер 202, соединенный с электронным устройством 204 через сеть 208 связи. В не имеющих ограничительного характера вариантах осуществления настоящей технологии электронное устройство 204 может быть связано с пользователем 206.[069] In this regard, in some non-limiting embodiments of the present technology, the networked computer environment 200 comprises a server 202 connected to an electronic device 204 via a communication network 208. In non-limiting embodiments of the present technology, the electronic device 204 may be connected to a user 206.
[070] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 реализован как обычный компьютерный сервер и может содержать некоторые или все элементы компьютерной системы 100, показанной на фиг. 1. В одном не имеющем ограничительного характера примере сервер 202 реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™, но он также может быть реализован на базе любых других подходящих видов аппаратных средств, программного обеспечения и/или микропрограммного обеспечения либо их сочетания. В показанных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 представляет собой одиночный сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии (не показаны) функции сервера 202 могут быть распределены между несколькими серверами.[070] In some non-limiting embodiments of the present technology, server 202 is implemented as a conventional computer server and may include some or all of the elements of computer system 100 shown in Fig. 1. In one non-limiting example, server 202 is implemented as a Dell™ PowerEdge™ server running a Microsoft™ Windows Server™ operating system, but it may also be implemented on any other suitable types of hardware, software, and/or firmware, or a combination thereof. In the shown non-limiting embodiments of the present technology, server 202 is a single server. In other non-limiting embodiments of the present technology (not shown), the functions of server 202 may be distributed among multiple servers.
[071] Кроме того, электронное устройство 204 может представлять собой любые компьютерные аппаратные средства, способные обеспечивать работу программного обеспечения, подходящего для решения поставленной задачи, и также может содержать некоторые или все элементы компьютерной системы 100, показанной на фиг. 1. Таким образом, не имеющими ограничительного характера примерами электронного устройства 204 являются персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), смартфоны и планшеты.[071] In addition, the electronic device 204 may be any computer hardware capable of running software suitable for solving the task at hand, and may also include some or all of the elements of the computer system 100 shown in Fig. 1. Thus, non-limiting examples of the electronic device 204 include personal computers (desktop computers, laptops, netbooks, etc.), smartphones, and tablets.
[072] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии электронным устройством 204 может быть головное электронное устройство (также называемое в настоящем документе головным дисплеем). В общем случае головное электронное устройство представляет собой электронное устройство, предназначенное для ношения поверх глаз пользователя 206 и имеет дисплей (также называемый в настоящем документе «окном просмотра»), размещенный на поверхности устройства, обращенной к глазам, и способный демонстрировать разнообразный видеоконтент, который может представлять различные имитационные среды. Например, в различных не имеющих ограничительного характера вариантах осуществления настоящей технологии головное электронное устройство может быть встроено в шлем или очки, надеваемые пользователем 206 на глаза. Как правило, головное электронное устройство содержит датчики, способные отслеживать движения тела, головы и/или зрачков глаз пользователя 206, и может использовать данные таких датчиков либо для настройки параметров текущего видеоконтента, либо для приема и воспроизведения другого видеоконтента, обеспечивая имитационные ощущения для пользователя 206.[072] In some non-limiting embodiments of the present technology, the electronic device 204 may be a head-mounted display (also referred to herein as a head-mounted display). Generally, a head-mounted display is an electronic device that is designed to be worn over the eyes of a user 206 and has a display (also referred to herein as a "viewing window") located on the surface of the device facing the eyes and capable of displaying a variety of video content that may represent various simulated environments. For example, in various non-limiting embodiments of the present technology, the head-mounted display may be embedded in a helmet or goggles worn over the eyes of the user 206. Typically, the head-mounted display includes sensors capable of tracking movements of the body, head, and/or pupils of the eyes of the user 206 and may use data from such sensors to either adjust parameters of the current video content or to receive and play other video content, providing a simulated experience for the user 206.
[073] Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии головное электронное устройство при ношении поверх глаз пользователя 206 способно полностью перекрывать поле зрения пользователя 206, создавая для него имитационную среду за счет воспроизведения соответствующего видеоконтента. В таких вариантах осуществления головное электронное устройство может называться головным электронным устройством виртуальной реальности (VR, Virtual Reality). В других не имеющих ограничительного характера вариантах осуществления настоящей технологии головное электронное устройство способно перекрывать поле зрения пользователя 206 лишь частично и воспроизводить видеоконтент в окне просмотра головного электронного устройства таким образом, чтобы он накладывался на реальную среду, видимую пользователем 206 в это же время. В таких вариантах осуществления головное электронное устройство может называться головным электронным устройством дополненной реальности (AR, Augmented Reality). Областями применения головного электронного устройства могут быть, в частности, (а) видеоигры, например, такие, в которых пользователь 206 действует от первого лица, (б) искусство, например, проведение виртуальных экскурсий по музеям, и (в) медицина, например, моделирование сценариев хирургических операций.[073] In addition, in some non-limiting embodiments of the present technology, the head-mounted device, when worn over the eyes of the user 206, is capable of completely blocking the field of view of the user 206, creating a simulated environment for the user by playing corresponding video content. In such embodiments, the head-mounted device may be referred to as a virtual reality (VR) head-mounted device. In other non-limiting embodiments of the present technology, the head-mounted device is capable of only partially blocking the field of view of the user 206 and playing video content in the viewing window of the head-mounted device such that it is superimposed on the real environment viewed by the user 206 at the same time. In such embodiments, the head-mounted device may be referred to as an augmented reality (AR) head-mounted device. Areas of application of the head electronic device may include, in particular, (a) video games, such as those in which the user 206 acts in the first person, (b) art, such as conducting virtual tours of museums, and (c) medicine, such as simulating surgical scenarios.
[074] Конкретными примерами головного электронного устройства являются, в частности, головное электронное устройство Meta™ Quest™, головное электронное устройство Amazon™ Oculus™ и головное электронное устройство HTC™ Vive™ Pro. В целом, в таких вариантах осуществления электронное устройство 204 способно демонстрировать пользователю 206 видеоконтент виртуальной или дополненной реальности с эффектом погружения.[074] Specific examples of a head-mounted display device include, but are not limited to, a Meta™ Quest™ head-mounted display device, an Amazon™ Oculus™ head-mounted display device, and an HTC™ Vive™ Pro head-mounted display device. In general, in such embodiments, the electronic device 204 is capable of displaying immersive virtual or augmented reality video content to the user 206.
[075] Кроме того, очевидно, что электронное устройство 204 может быть одним из множества электронных устройств, подобных электронному устройству 204, которые соединены с сервером 202 для воспроизведения видеоконтента, поступающего с сервера 202.[075] Furthermore, it is apparent that the electronic device 204 may be one of a plurality of electronic devices similar to the electronic device 204 that are connected to the server 202 for playing video content received from the server 202.
[076] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии видеоконтент, демонстрируемый электронным устройством 204, представляет собой трехмерный анимированный видеоконтент, включающий в себя трехмерную сцену с анимированными трехмерными моделями множества объектов. На виды объектов, которые могут отображаться в трехмерной сцене, не накладывается ограничений и такими объектами могут быть различные подвижные и статические объекты. Трехмерная сцена, например, может представлять боксерский поединок, а объекты в трехмерной сцене могут включать в себя боксеров, боксерский ринг и по меньшей мере часть зрителей, окружающих боксерский ринг. В другом примере трехмерная сцена может представлять футбольный матч, а объекты, представленные в трехмерной сцене, могут включать в себя футболистов и мяч. В еще одном примере трехмерная сцена может представлять животных в их естественной среде обитания.[076] In some non-limiting embodiments of the present technology, the video content displayed by the electronic device 204 is three-dimensional animated video content that includes a three-dimensional scene with animated three-dimensional models of a plurality of objects. There are no limitations on the types of objects that can be displayed in the three-dimensional scene and such objects can be various moving and static objects. The three-dimensional scene, for example, can represent a boxing match, and the objects in the three-dimensional scene can include boxers, a boxing ring, and at least a portion of the spectators surrounding the boxing ring. In another example, the three-dimensional scene can represent a football match, and the objects represented in the three-dimensional scene can include football players and a ball. In yet another example, the three-dimensional scene can represent animals in their natural habitat.
[077] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, трехмерный анимированный видеоконтент для воспроизведения на электронном устройстве 204 может передаваться сервером 202. Таким образом, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 может находиться в ведении организации, производящей тот или иной видеоконтент для его распространения конечным пользователям, таким как пользователь 206, через сеть 208 связи. В частности, в таких вариантах осуществления сервер 202 может использоваться для создания нового и/или для хранения уже существующего трехмерного анимированного видеоконтента и передачи этого видеоконтента на электронное устройство 204, например, по запросу с него. Формат видеоконтента, передаваемого сервером 202, не ограничивается, включая, например, MP4, MOV или F4V.[077] According to some non-limiting embodiments of the present technology, the three-dimensional animated video content for playback on the electronic device 204 may be transmitted by the server 202. Thus, in some non-limiting embodiments of the present technology, the server 202 may be operated by an organization that produces some video content for distribution to end users, such as the user 206, via the communication network 208. In particular, in such embodiments, the server 202 may be used to create new and/or to store already existing three-dimensional animated video content and to transmit this video content to the electronic device 204, for example, upon request from it. The format of the video content transmitted by the server 202 is not limited, including, for example, MP4, MOV or F4V.
[078] Таким образом, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, электронное устройство 204 способно передавать по сети 208 связи запрос 212 трехмерной анимации на сервер 202, а сервер 202 в ответ на него способен (а) находить трехмерный анимированный видеоконтент 214, отвечающий запросу 212 трехмерной анимации, в базе 218 данных, (б) сжимать трехмерный анимированный видеоконтент 214 для формирования пакета 216 сжатых видеоданных и (в) передавать пакет 216 сжатых видеоданных на электронное устройство 204 для последующей демонстрации трехмерного анимированного видеоконтента 214 пользователю 206.[078] Thus, in accordance with some non-limiting embodiments of the present technology, the electronic device 204 is capable of transmitting a three-dimensional animation request 212 to the server 202 over the communication network 208, and the server 202 is capable, in response thereto, of (a) finding three-dimensional animated video content 214 that meets the three-dimensional animation request 212 in the database 218, (b) compressing the three-dimensional animated video content 214 to form a compressed video data packet 216, and (c) transmitting the compressed video data packet 216 to the electronic device 204 for subsequent display of the three-dimensional animated video content 214 to the user 206.
[079] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии трехмерный анимированный видеоконтент 214 может создаваться сервером 202. При этом в других не имеющих ограничительного характера вариантах осуществления настоящей технологии трехмерный анимированный видеоконтент 214 может формироваться не сервером 202, а каким-либо другим сторонним сервером, и передаваться на сервер 202 для последующего хранения и раздачи пользователям сети 208 связи, таким как пользователь 206.[079] In some non-limiting embodiments of the present technology, the three-dimensional animated video content 214 may be generated by the server 202. However, in other non-limiting embodiments of the present technology, the three-dimensional animated video content 214 may be generated not by the server 202, but by some other third-party server, and transmitted to the server 202 for subsequent storage and distribution to users of the communication network 208, such as user 206.
[080] На способ обеспечения отправки электронным устройством 204 запроса 212 трехмерной анимации на сервер 202 не накладывается ограничений. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии запрос 212 трехмерной анимации для демонстрации трехмерного анимированного видеоконтента 214 может отправляться пользователем 206 непосредственно, например, с использованием соответствующего элемента управления графического пользовательского интерфейса, реализованного на электронном устройстве 204. В таких вариантах осуществления в запросе 212 трехмерной анимации, в зависимости от области применения электронного устройства 204, может указываться, например, подлежащий демонстрации трехмерный анимированный видеоконтент 214 из каталога существующего контента в базе 218 данных. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии пользователь 206 может отправлять запрос 212 трехмерной анимации в неявном виде. Например, пользователь 206, носящий электронное устройство 204, представляющее собой вышеупомянутое головное электронное устройство, может двигать головой, вызывая построение изображения другой части просматриваемого в текущий момент трехмерного анимационного контента.[080] There are no limitations on the method for causing the electronic device 204 to send the three-dimensional animation request 212 to the server 202. In some non-limiting embodiments of the present technology, the three-dimensional animation request 212 for displaying the three-dimensional animated video content 214 may be sent by the user 206 directly, for example, using a corresponding graphical user interface control implemented on the electronic device 204. In such embodiments, the three-dimensional animation request 212, depending on the field of application of the electronic device 204, may indicate, for example, the three-dimensional animated video content 214 to be displayed from a catalog of existing content in the database 218. In other non-limiting embodiments of the present technology, the user 206 may send the three-dimensional animation request 212 implicitly. For example, a user 206 wearing an electronic device 204, which is the aforementioned head-mounted electronic device, may move his head, causing an image to be constructed of another portion of the currently viewed three-dimensional animated content.
[081] На фиг. 3 схематически представлена отображаемая сцена 302 из трехмерного анимированного видеоконтента 214 в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[081] Fig. 3 is a schematic representation of a displayed scene 302 of three-dimensional animated video content 214 in accordance with some non-limiting embodiments of the present technology.
[082] Очевидно, что в представленном примере подлежащая реконструкции сцена 302 из трехмерного анимированного видеоконтента 214 содержит два объекта, а именно первый объект 301 и второй объект 303, которые в данном примере являются боксерами во время боксерского поединка. При этом, как указано выше, без отступления от существа и объема настоящей технологии могут реконструироваться и сцены, представляющие другие мероприятия, такие как футбольный матч или танцевальная вечеринка, и содержащие более двух объектов.[082] It is obvious that in the presented example, the scene 302 to be reconstructed from the three-dimensional animated video content 214 contains two objects, namely the first object 301 and the second object 303, which in this example are boxers during a boxing match. At the same time, as indicated above, without deviating from the essence and scope of the present technology, scenes representing other events, such as a football match or a dance party, and containing more than two objects can also be reconstructed.
[083] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен формировать трехмерный анимированный видеоконтент 214, представляющий сцену 302, на основе представляющего ее двумерного видеоконтента. Как более подробно описано ниже, двумерный видеоконтент может включать в себя одну или несколько последовательностей двумерных изображений, представляющих сцену 302 и снятых из соответствующей точки обзора. Для преобразования двумерного видеоконтента в трехмерный анимированный видеоконтент 214 сервер 202, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, способен применять алгоритм объемного рендеринга. При этом на способ реализации алгоритма объемного рендеринга не накладывается ограничений. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии алгоритм объемного рендеринга может представлять собой алгоритм объемного рейкастинга (ray casting), более подробно описанный ниже.[083] According to some non-limiting embodiments of the present technology, the server 202 is capable of generating three-dimensional animated video content 214 representing the scene 302 based on two-dimensional video content representing it. As described in more detail below, the two-dimensional video content may include one or more sequences of two-dimensional images representing the scene 302 and taken from a corresponding viewpoint. To transform the two-dimensional video content into three-dimensional animated video content 214, the server 202, according to some non-limiting embodiments of the present technology, is capable of using a volumetric rendering algorithm. However, there are no limitations on the method for implementing the volumetric rendering algorithm. For example, in some non-limiting embodiments of the present technology, the volumetric rendering algorithm may be a volumetric ray casting algorithm, described in more detail below.
[084] Одна из проблем, связанных с формированием трехмерного анимированного видеоконтента на основе двумерного видеоконтента, состоит в том, что объекты в сцене, в частности, первый и второй объекты 301, 303, могут иметь одну или несколько областей перекрытия, таких как область 305 перекрытия. В связи с этим первый и второй объекты 301, 303 называются в данном документе «взаимопроникающими объектами». Иными словами, в контексте настоящего описания термин «взаимопроникающие объекты» используется для обозначения объектов, которые частично перекрываются или закрывают друг друга на представляющем их двумерном изображении.[084] One of the problems associated with the formation of three-dimensional animated video content based on two-dimensional video content is that the objects in the scene, in particular the first and second objects 301, 303, may have one or more overlapping regions, such as the overlapping region 305. In this regard, the first and second objects 301, 303 are referred to in this document as "interpenetrating objects". In other words, in the context of the present description, the term "interpenetrating objects" is used to denote objects that partially overlap or cover each other in the two-dimensional image representing them.
[085] Например, из-за наличия области 305 перекрытия сервер 202 в процессе создания трехмерного анимированного видеоконтента 214, включающего в себя трехмерные модели первого и второго объектов 301, 303, может оказаться не в состоянии определить их фактические границы и, как следствие, может применить неподходящие текстуры, например, значения цвета, к трехмерной модели первого и/или второго объектов 301, 303 в пределах области 305 перекрытия. В частности, неспособность сервера 202 определить, что рука второго объекта 303 закрывает руку первого объекта 301, может привести к формированию им трехмерного анимированного видеоконтента 214, в котором часть руки второго объекта 303 в области 305 перекрытия имеет текстуру и цвет части руки первого объекта 301, то есть текстуру и цвет боксерской перчатки первого объекта 301. Иными словами, неспособность точно определить границы взаимопроникающих объектов в сцене 302 может привести к тому, что трехмерный анимированный видеоконтент 214 будет отображаться с ошибками и нереалистично, что может негативно влиять на впечатления пользователя 206, просматривающего трехмерный анимированный видеоконтент 214.[085] For example, due to the presence of the overlap region 305, the server 202, in the process of creating three-dimensional animated video content 214, including three-dimensional models of the first and second objects 301, 303, may be unable to determine their actual boundaries and, as a result, may apply inappropriate textures, such as color values, to the three-dimensional model of the first and/or second objects 301, 303 within the overlap region 305. In particular, the inability of the server 202 to determine that the hand of the second object 303 covers the hand of the first object 301 may result in it generating three-dimensional animated video content 214 in which a portion of the hand of the second object 303 in the overlapping region 305 has the texture and color of a portion of the hand of the first object 301, that is, the texture and color of the boxing glove of the first object 301. In other words, the inability to accurately determine the boundaries of interpenetrating objects in the scene 302 may result in the three-dimensional animated video content 214 being displayed with errors and unrealistically, which may negatively affect the experience of the user 206 viewing the three-dimensional animated video content 214.
[086] Для решения выявленной технической проблемы разработчиками настоящей технологии были реализованы описанные здесь способы и системы, которые ориентированы на обучение множества 210 алгоритмов машинного обучения для определения плотности с целью нахождения значения знакового поля расстояний (SDF) для вершин, образующих поверхности взаимопроникающих объектов в отображаемой трехмерной сцене. Для обучения множества 210 алгоритмов машинного обучения для определения плотности сервер 202, в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии, способен использовать специальную функцию потерь, способную назначать штраф одинаковым прогнозам множества 210 алгоритмов машинного обучения для определения плотности. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, заданный алгоритм машинного обучения из множества алгоритмов машинного обучения связан с соответствующим объектом из взаимопроникающих объектов в отображаемой трехмерной сцене 302. В текущем примере в сцене 302 присутствуют два объекта, а именно первый и второй объекты 301, 303, поэтому множество 210 алгоритмов машинного обучения для определения плотности включает в себя два алгоритма машинного обучения, причем (а) первый алгоритм машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности способен определять значение знакового поля расстояний для заданной точки в пределах первого объекта 301 и (б) второй алгоритм машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности способен определять значение знакового поля расстояний для той же точки в пределах второго объекта 303.[086] To solve the identified technical problem, the developers of the present technology have implemented the methods and systems described herein, which are oriented towards training a plurality 210 of machine learning algorithms for determining density in order to find the value of the signed distance field (SDF) for the vertices forming the surfaces of interpenetrating objects in the displayed three-dimensional scene. To train the plurality 210 of machine learning algorithms for determining density, the server 202, in accordance with non-limiting embodiments of the present technology, is capable of using a special loss function capable of assigning a penalty to the same predictions of the plurality 210 of machine learning algorithms for determining density. According to some non-limiting embodiments of the present technology, a given machine learning algorithm of the plurality of machine learning algorithms is associated with a corresponding object of the interpenetrating objects in the displayed three-dimensional scene 302. In the current example, two objects are present in the scene 302, namely the first and second objects 301, 303, so the plurality 210 of machine learning algorithms for determining the density includes two machine learning algorithms, where (a) the first machine learning algorithm of the plurality 210 of machine learning algorithms for determining the density is capable of determining the value of the signed distance field for a given point within the first object 301 and (b) the second machine learning algorithm of the plurality 210 of machine learning algorithms for determining the density is capable of determining the value of the signed distance field for the same point within the second object 303.
[087] Иными словами, функция потерь способна назначать штраф прогнозам первого и второго алгоритмов машинного обучения, если они одновременно характеризуют заданную точку как находящуюся в пределах первого и второго объектов 301, 303. Для этого, как подробно описано ниже, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен обучать множество 210 алгоритмов машинного обучения для определения плотности совместно, то есть в одно и то же время.[087] In other words, the loss function is capable of assigning a penalty to the predictions of the first and second machine learning algorithms if they simultaneously characterize a given point as being within the first and second objects 301, 303. To this end, as described in detail below, in some non-limiting embodiments of the present technology, the server 202 is capable of training a plurality 210 of machine learning algorithms for determining density jointly, that is, at the same time.
[088] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, заданный алгоритм машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности может быть реализован в виде нейронной сети. В конкретном не имеющем ограничительного характера примере заданный алгоритм машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности может представлять собой многослойный персептрон (MLP, Multilayer Perceptron). В этом примере каждый алгоритм машинного обучения для определения плотности может быть реализован, как подробно описано в статье Yariv et al. «Volume Rendering of Neural Implicit Surfaces» («Объемный рендеринг нейронных неявных поверхностей»), опубликованной на сайте arxiv.org в декабре 2021 года, содержание которой полностью включено в настоящий документ посредством ссылки.[088] According to some non-limiting embodiments of the present technology, a given machine learning algorithm of the plurality 210 machine learning algorithms for determining density may be implemented as a neural network. In a specific non-limiting example, a given machine learning algorithm of the plurality 210 machine learning algorithms for determining density may be a Multilayer Perceptron (MLP). In this example, each machine learning algorithm for determining density may be implemented as described in detail in the paper by Yariv et al., “Volume Rendering of Neural Implicit Surfaces,” published on arxiv.org in December 2021, the contents of which are incorporated herein by reference in their entirety.
[089] Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 на основе значений знакового поля расстояний, определенных множеством 210 алгоритмов машинного обучения для определения плотности, способен определять значения плотности для заданной точки, которые могут использоваться для обучения множества 215 алгоритмов машинного обучения для определения цвета с целью определения значений цвета для каждого из первого и второго объектов 301, 303. Иными словами, каждый из множества 215 алгоритмов машинного обучения для определения цвета, подобно множеству 210 алгоритмов машинного обучения для определения плотности, связан с объектом в отображаемой сцене 302. В представленном примере множество 215 алгоритмов машинного обучения включает в себя два алгоритма машинного обучения для определения цвета: (а) первый алгоритм машинного обучения из множества 215 алгоритмов машинного обучения для определения цвета способен определять значение цвета для заданной точки в пределах первого объекта 301 и (б) второй алгоритм машинного обучения из множества 215 алгоритмов машинного обучения для определения цвета способен определять значение цвета для той же точки в пределах второго объекта 303.[089] In addition, in some non-limiting embodiments of the present technology, the server 202, based on the values of the signed distance field determined by the plurality 210 machine learning algorithms for determining density, is capable of determining density values for a given point, which can be used to train the plurality 215 machine learning algorithms for determining color in order to determine color values for each of the first and second objects 301, 303. In other words, each of the plurality 215 machine learning algorithms for determining color, like the plurality 210 machine learning algorithms for determining density, is associated with an object in the displayed scene 302. In the illustrated example, the plurality 215 machine learning algorithms includes two machine learning algorithms for determining color: (a) a first machine learning algorithm of the plurality 215 machine learning algorithms for determining color is capable of determining a color value for a given point within the first object 301 and (b) a second machine learning algorithm of the plurality 215 machine learning algorithms for determining color is capable of determining a color value for the same point within the second object 303.
[090] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 также способен совместно обучать множество 215 алгоритмов машинного обучения для определения цвета. Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен совместно обучать множество 210 алгоритмов машинного обучения для определения плотности и множество 215 алгоритмов машинного обучения для определения цвета. В частности, как подробно описано ниже, сервер 202 способен формировать текущие входные обучающие данные для заданного алгоритма машинного обучения для определения цвета на основе текущих выходных обучающих данных алгоритма машинного обучения для определения плотности.[090] According to some non-limiting embodiments of the present technology, the server 202 is also capable of jointly training a plurality 215 machine learning algorithms for determining a color. In addition, in some non-limiting embodiments of the present technology, the server 202 is capable of jointly training a plurality 210 machine learning algorithms for determining a density and a plurality 215 machine learning algorithms for determining a color. In particular, as described in detail below, the server 202 is capable of generating current input training data for a given machine learning algorithm for determining a color based on current output training data of a machine learning algorithm for determining a density.
[091] Подобно алгоритмам машинного обучения для определения плотности, алгоритм машинного обучения из множества алгоритмов машинного обучения для определения цвета может быть реализован в виде нейронной сети.[091] Similar to the machine learning algorithms for density determination, a machine learning algorithm from the set of machine learning algorithms for color determination can be implemented as a neural network.
[092] Можно утверждать, что в общем случае сервер 202 выполняет два процесса в отношении множества 210 алгоритмов машинного обучения для определения плотности и множества 215 алгоритмов машинного обучения для определения цвета. Первый из двух процессов представляет собой процесс обучения, в котором сервер 202 обеспечивает обучение множества 210 алгоритмов, 215 машинного обучения для определения плотности и цвета на основе повторяющегося обучающего набора данных, чтобы определить значения знакового поля расстояний и цвета для заданной точки, как описано ниже со ссылкой на фиг. 4-6. Вторым процессом является рабочий процесс (процесс использования), в котором сервер 202 выполняет обученное множество 210 алгоритмов, 215 машинного обучения для определения плотности и цвета, чтобы определить значения знакового поля расстояний и цвета для рабочих взаимопроникающих объектов, таких как первый и второй объекты 301, 303, как описано ниже со ссылкой на фиг. 7-9.[092] It can be stated that, in general, the server 202 performs two processes with respect to the plurality 210 of machine learning algorithms for determining the density and the plurality 215 of machine learning algorithms for determining the color. The first of the two processes is a training process in which the server 202 trains the plurality 210 of machine learning algorithms 215 for determining the density and color based on a repeated training data set in order to determine the values of the signed field of distances and color for a given point, as described below with reference to Figs. 4-6. The second process is a working process (use process), in which the server 202 executes the trained plurality 210 of machine learning algorithms 215 for determining the density and color in order to determine the values of the signed field of distances and color for working interpenetrating objects, such as the first and second objects 301, 303, as described below with reference to Figs. 7-9.
[093] На основе определенных таким способом значений знакового поля расстояний сервер 202, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, может точнее определять границы между первым и вторым объектами 301, 303 в пределах области 305 перекрытия. Это, в свою очередь, позволяет точнее обучать множество 215 алгоритмов машинного обучения для определения цвета, чтобы определять значения цвета для первого и второго объектов 301, 303, что дает возможность формировать более реалистичные трехмерные изображения этих объектов.[093] Based on the values of the signed distance field determined in this manner, the server 202, according to some non-limiting embodiments of the present technology, can more accurately determine the boundaries between the first and second objects 301, 303 within the overlapping region 305. This, in turn, allows for more accurate training of the plurality 215 machine learning algorithms for determining color to determine color values for the first and second objects 301, 303, which makes it possible to generate more realistic three-dimensional images of these objects.
СетьNet связиconnections
[094] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 208 связи представляет собой сеть Интернет. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 208 связи может быть реализована как любая подходящая локальная сеть (LAN, Local Area Network), глобальная сеть (WAN, Wide Area Network), частная сеть связи и т.п. Следует понимать, что варианты реализации сети 208 связи приведены лишь в иллюстративных целях. Способ реализации линий связи (отдельно не обозначены) между сервером 202, электронным устройством 204 и сетью 208 связи зависит, среди прочего, от реализации сервера 202 и электронного устройства 204. Для примера можно отметить, что, в частности, в тех вариантах осуществления настоящей технологии, где электронное устройство 204 реализовано в виде устройства беспроводной связи, такого как смартфон, линия связи может быть реализована в виде беспроводной линии связи. Примерами беспроводных линий связи могут служить канал сети связи 3G, канал сети связи 4G и т.п., но не ограничиваются ими. В сети 208 связи также может использоваться беспроводное соединение с сервером 202.[094] In some non-limiting embodiments of the present technology, the communication network 208 is the Internet. In other non-limiting embodiments of the present technology, the communication network 208 may be implemented as any suitable local area network (LAN), wide area network (WAN), private communication network, etc. It should be understood that the embodiments of the communication network 208 are given for illustrative purposes only. The method for implementing the communication links (not separately indicated) between the server 202, the electronic device 204 and the communication network 208 depends, among other things, on the implementation of the server 202 and the electronic device 204. For example, it can be noted that, in particular, in those embodiments of the present technology, where the electronic device 204 is implemented as a wireless communication device, such as a smartphone, the communication link can be implemented as a wireless communication link. Examples of wireless communication lines may include, but are not limited to, a 3G communication network channel, a 4G communication network channel, etc. The communication network 208 may also use a wireless connection to the server 202.
ПроцессProcess обученияtraining
[095] Процесс обучения начинается с формирования сервером 202 обучающих наборов данных для множеств 210 алгоритмов, 215 машинного обучения для определения плотности и цвета. В связи с этим сервер 202 способен получать обучающий двумерный видеоконтент, представляющий множество обучающих взаимопроникающих объектов.[095] The training process begins with the formation by the server 202 of training data sets for the sets 210 of algorithms, 215 of machine learning for determining density and color. In this regard, the server 202 is capable of receiving training two-dimensional video content representing a set of training interpenetrating objects.
[096] На фиг. 4 схематически представлена отображаемая обучающая сцена 402 в системе формирования обучающего набора данных для обучения множества 210 алгоритмов машинного обучения для определения плотности и множества 215 алгоритмов машинного обучения для определения цвета в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[096] Fig. 4 is a schematic representation of a displayed training scene 402 in a system for generating a training data set for training a plurality 210 of machine learning algorithms for determining density and a plurality 215 of machine learning algorithms for determining color in accordance with some non-limiting embodiments of the present technology.
[097] Очевидно, что обучающая сцена 402, как и сцена 302, содержит два взаимопроникающих объекта, а именно первый обучающий объект 401 и второй обучающий объект 403, которые образуют между собой обучающую область 405 перекрытия. Несмотря на то, что первый и второй обучающие объекты 401, 403 являются боксерами, как и в сцене 302, следует понимать, что такое сходство обусловлено исключительно соображениями ясности и простоты описания настоящей технологии и в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии обучающая сцена 402 может представлять другое мероприятие с другими объектами, такими как футболисты во время футбольного матча, танцоры и т.д.[097] It is obvious that the training scene 402, like the scene 302, contains two interpenetrating objects, namely the first training object 401 and the second training object 403, which form a training overlapping region 405 between them. Although the first and second training objects 401, 403 are boxers, like in the scene 302, it should be understood that such similarity is due solely to considerations of clarity and simplicity of description of the present technology and in some non-limiting embodiments of the present technology, the training scene 402 may represent another event with other objects, such as football players during a football match, dancers, etc.
[098] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, обучающий двумерный видеоконтент для формирования обучающего набора данных создается камерами, которые записывают обучающую сцену 402, в частности, первой камерой 408 и второй камерой 410. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первая и вторая камеры 408, 410 расположены с противоположных сторон обучающей сцены 402. Следует понимать, что на количество камер, используемых для формирования обучающего двумерного видеоконтента, не накладывается ограничений и такой контент может формироваться, например, с помощью только одной из первой и второй камер 408, 410 или с помощью более чем двух камер, в частности, трех, пяти или десяти камер, расположенных вокруг обучающей сцены 402.[098] According to some non-limiting embodiments of the present technology, the training two-dimensional video content for forming the training data set is generated by cameras that record the training scene 402, in particular, the first camera 408 and the second camera 410. In some non-limiting embodiments of the present technology, the first and second cameras 408, 410 are located on opposite sides of the training scene 402. It should be understood that there is no limitation on the number of cameras used to generate the training two-dimensional video content and such content can be generated, for example, using only one of the first and second cameras 408, 410 or using more than two cameras, in particular three, five or ten cameras located around the training scene 402.
[099] На способ реализации первой и второй камер 408, 410 также не накладывается ограничений и в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии каждая из этих камер может содержать датчик изображения на базе комплементарной структуры металл-оксид-полупроводник (КМОП), способный формировать последовательности изображений, соответствующие требуемой скорости воспроизведения, в частности, 24 кадра в секунду, 48 кадров в секунду или 72 кадра в секунду.[099] There are also no limitations on the method of implementing the first and second cameras 408, 410, and in some non-limiting embodiments of the present technology, each of these cameras may comprise a complementary metal-oxide-semiconductor (CMOS) image sensor capable of producing image sequences corresponding to a desired playback speed, in particular, 24 frames per second, 48 frames per second, or 72 frames per second.
[0100] В конкретном не имеющем ограничительного характера примере каждая из камер может быть реализована на базе КМОП-датчика изображения, выпускаемого компанией Sony Semiconductor Solutions Corporation, 4-14-1 Asahi-cho, Atsugi-shi, Kanagawa, 243-0014, Japan (Япония). Очевидно, что камеры могут быть реализованы на базе любого другого подходящего оборудования.[0100] In a specific non-limiting example, each of the cameras may be implemented using a CMOS image sensor manufactured by Sony Semiconductor Solutions Corporation, 4-14-1 Asahi-cho, Atsugi-shi, Kanagawa, 243-0014, Japan. It is obvious that the cameras may be implemented using any other suitable equipment.
[0101] Кроме того, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, первая и вторая камеры 408, 410 могут быть размещены в пределах обучающей сцены 402 на внутренней поверхности воображаемой сферы 420 таким образом, чтобы каждая из первой и второй камер 408, 410 была обращена к центру (не показан) воображаемой сферы 420, а первый и второй обучающие объекты 401, 403 находились в одном из поперечных сечений воображаемой сферы 420. На размеры воображаемой сферы 420 не накладывается ограничений и в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии воображаемая сфера 420 может иметь, например, диаметр 4 метра.[0101] Furthermore, according to some non-limiting embodiments of the present technology, the first and second cameras 408, 410 may be placed within the training scene 402 on the inner surface of the imaginary sphere 420 such that each of the first and second cameras 408, 410 faces the center (not shown) of the imaginary sphere 420, and the first and second training objects 401, 403 are located in one of the cross-sections of the imaginary sphere 420. There are no limitations on the dimensions of the imaginary sphere 420 and, in some non-limiting embodiments of the present technology, the imaginary sphere 420 may have, for example, a diameter of 4 meters.
[0102] Таким образом, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, каждая из первой и второй камер 408, 410 способна формировать последовательность обучающих двумерных изображений, представляющих обучающую сцену 402, с ракурса данной камеры. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первая и вторая камеры 408, 410 синхронизированы и благодаря этому одновременно формируют обучающие двумерные изображения, представляющие обучающую сцену 402.[0102] Thus, according to some non-limiting embodiments of the present technology, each of the first and second cameras 408, 410 is capable of generating a sequence of training two-dimensional images representing the training scene 402, from the angle of this camera. In some non-limiting embodiments of the present technology, the first and second cameras 408, 410 are synchronized and, as a result, simultaneously generate training two-dimensional images representing the training scene 402.
[0103] Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен получать последовательности обучающих двумерных изображений непосредственно от первой и второй камер 408, 410 по проводному или беспроводному каналу связи. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии последовательности обучающих двумерных изображений могут собираться на стороннем сервере (не показан), с которым соединен сервер 202, или на съемном носителе, размещенном на сервере 202.[0103] In addition, in some non-limiting embodiments of the present technology, the server 202 is capable of receiving training two-dimensional image sequences directly from the first and second cameras 408, 410 via a wired or wireless communication channel. In other non-limiting embodiments of the present technology, training two-dimensional image sequences may be collected on a third-party server (not shown) to which the server 202 is connected, or on a removable medium located on the server 202.
[0104] Также после получения последовательностей обучающих двумерных изображений, представляющих обучающую сцену 402 и сформированных первой и второй камерами 408, 410, сервер 202, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, способен формировать последовательности скорректированных обучающих двумерных изображений на основе этих последовательностей обучающих двумерных изображений. Для этого сервер 202, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, способен проецировать обучающие двумерные изображения из каждой из последовательностей обучающих двумерных изображений на общую плоскость 412, проходящую параллельно базовой линии 414.[0104] Also, after receiving the sequences of training two-dimensional images representing the training scene 402 and generated by the first and second cameras 408, 410, the server 202, in accordance with some non-limiting embodiments of the present technology, is capable of generating sequences of corrected training two-dimensional images based on these sequences of training two-dimensional images. For this, the server 202, in accordance with some non-limiting embodiments of the present technology, is capable of projecting training two-dimensional images from each of the sequences of training two-dimensional images onto a common plane 412 passing parallel to the baseline 414.
[0105] Используя каждое скорректированное обучающее двумерное изображение из сформированного таким способом множества скорректированных обучающих двумерных изображений, например, скорректированное обучающее двумерное изображение 406, сервер 202 способен формировать обучающий набор данных. В связи с этим, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен анализировать скорректированное обучающее двумерное изображение 406 путем применения к нему модели семантической сегментации (не показана). Сервер 202 может обращаться к модели семантической сегментации, например, через сеть 208 связи. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, модель семантической сегментации может быть заранее обучена классификации каждого пикселя скорректированного обучающего двумерного изображения 406, как относящегося к одному или нескольким объектам, таким как первый и второй обучающие объекты 401, 403, или к фону. На способ реализации модели семантической сегментации не накладывается ограничений и в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии модель семантической сегментации может представлять собой сверточную нейронную сеть (CNN, Convolutional Neural Network).[0105] Using each corrected training two-dimensional image from the plurality of corrected training two-dimensional images generated in this manner, for example, the corrected training two-dimensional image 406, the server 202 is able to generate a training data set. In this regard, according to some non-limiting embodiments of the present technology, the server 202 is able to analyze the corrected training two-dimensional image 406 by applying a semantic segmentation model (not shown) to it. The server 202 can access the semantic segmentation model, for example, via the communication network 208. According to some non-limiting embodiments of the present technology, the semantic segmentation model can be pre-trained to classify each pixel of the corrected training two-dimensional image 406 as belonging to one or more objects, such as the first and second training objects 401, 403, or to the background. There are no restrictions on the method of implementing the semantic segmentation model, and in some non-restrictive embodiments of the present technology, the semantic segmentation model may be a convolutional neural network (CNN).
[0106] Кроме того, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 на основе скорректированного обучающего двумерного изображения 406 способен формировать обучающую трехмерную сцену. На фиг. 5 схематически представлена обучающая трехмерная сцена 502, сформированная на основе скорректированного обучающего двумерного изображения 406, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[0106] In addition, according to some non-limiting embodiments of the present technology, the server 202 is capable of generating a training three-dimensional scene based on the adjusted training two-dimensional image 406. Fig. 5 schematically shows a training three-dimensional scene 502 generated based on the adjusted training two-dimensional image 406, according to some non-limiting embodiments of the present technology.
[0107] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202, на основе классов объектов, определенных для всех пикселей скорректированного обучающего двумерного изображения 406, способен формировать для каждого из первого и второго обучающих объектов 401, 403 обучающую оценку позы согласно линейной параметрической модели поверхности тела человека SMPL, в частности, первую обучающую оценку 501 позы SMPL для первого обучающего объекта 401 и вторую обучающую оценку 503 позы SMPL для второго обучающего объекта 403.[0107] According to some non-limiting embodiments of the present technology, the server 202, based on the classes of objects determined for all pixels of the adjusted training two-dimensional image 406, is capable of generating for each of the first and second training objects 401, 403 a training estimate of a pose according to a linear parametric model of the surface of a human body SMPL, in particular, a first training estimate 501 of a pose SMPL for the first training object 401 and a second training estimate 503 of a pose SMPL for the second training object 403.
[0108] В общем случае каждая оценка позы SMPL из первой и второй обучающих оценок 501, 503 позы SMPL, в частности, первая обучающая оценка 501 позы SMPL, включает в себя элементы сетки (например, треугольные элементы сетки), содержащие множество вершин, которые образуют поверхность первого обучающего объекта 401 в позе, зафиксированной на скорректированном обучающем двумерном изображении 406. Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первая и вторая обучающие оценки 501, 503 позы SMPL включают в себя обучающие векторы позы SMPL, то есть первый обучающий вектор 505 позы SMPL и второй обучающий вектор 507 позы SMPL, соответственно.[0108] In general, each SMPL pose estimate of the first and second training SMPL pose estimates 501, 503, in particular the first training SMPL pose estimate 501, includes grid elements (e.g., triangular grid elements) that contain a plurality of vertices that form a surface of the first training object 401 in a pose captured in the adjusted training two-dimensional image 406. Furthermore, in some non-limiting embodiments of the present technology, the first and second training SMPL pose estimates 501, 503 include SMPL pose training vectors, that is, the first SMPL pose training vector 505 and the second SMPL pose training vector 507, respectively.
[0109] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, каждый из первого и второго обучающих векторов 505, 507 позы SMPL, например, первый обучающий вектор 505 позы SMPL, содержит параметры позы и формы, связанные с первым обучающим объектом 401 и характеризующие позу и форму первого обучающего объекта 401, зафиксированные на скорректированном обучающем двумерном изображении 406. В частности, в тех вариантах осуществления, в которых первым обучающим объектом 401 является человек, параметры позы в первом обучающем векторе 505 позы SMPL включают в себя параметры, характеризующие относительные углы поворота суставов человека в позе, зафиксированной на скорректированном обучающем двумерном изображении 406. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии параметры позы включают в себя шестьдесят девять параметров. Параметры формы характеризуют степень растяжения или сжатия первого обучающего объекта 401 на скорректированном обучающем двумерном изображении 406 вдоль множества заданных направлений. Например, одно из множества заданных направлений может быть ориентировано вдоль продольной оси первого обучающего объекта 401, проходящей вдоль его позвоночника, а соответствующие параметры формы могут характеризовать высоту первого обучающего объекта 401 на скорректированном обучающем двумерном изображении 406. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии параметры формы включают в себя десять параметров.[0109] According to some non-limiting embodiments of the present technology, each of the first and second training pose vectors 505, 507 SMPL, for example the first training pose vector 505 SMPL, comprises pose and shape parameters associated with the first training object 401 and characterizing the pose and shape of the first training object 401 captured in the adjusted training two-dimensional image 406. In particular, in those embodiments in which the first training object 401 is a person, the pose parameters in the first training pose vector 505 SMPL include parameters characterizing relative rotation angles of the joints of the person in the pose captured in the adjusted training two-dimensional image 406. In some non-limiting embodiments of the present technology, the pose parameters include sixty-nine parameters. The shape parameters characterize the degree of stretching or compression of the first training object 401 on the adjusted training two-dimensional image 406 along a plurality of specified directions. For example, one of the plurality of specified directions can be oriented along the longitudinal axis of the first training object 401, passing along its spine, and the corresponding shape parameters can characterize the height of the first training object 401 on the adjusted training two-dimensional image 406. In some non-limiting embodiments of the present technology, the shape parameters include ten parameters.
[0110] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, для формирования первой и второй обучающих оценок 501, 503 позы SMPL для первого и второго обучающих объектов 401, 403, соответственно, сервер 202 способен применять к скорректированному обучающему двумерному изображению 406, содержащему классифицированные пиксели, алгоритм на основе модели SMPL, созданный с помощью набора инструментов EasyMocap. При этом возможно применение и любого другого подходящего алгоритма.[0110] According to some non-limiting embodiments of the present technology, to generate the first and second training estimates 501, 503 of the SMPL pose for the first and second training objects 401, 403, respectively, the server 202 is capable of applying to the corrected training two-dimensional image 406 containing the classified pixels, an algorithm based on the SMPL model created using the EasyMocap toolkit. However, any other suitable algorithm can also be used.
[0111] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии, как поясняется в приведенном ниже описании, сервер 202 способен формировать (или иным образом получать) для каждого из первого и второго обучающих объектов 401, 403 обучающую каноническую позу SMPL, в частности, первую обучающую каноническую позу 601 SMPL для первого обучающего объекта 401, схематически представленную на фиг. 6.[0111] In some non-limiting embodiments of the present technology, as explained in the description below, the server 202 is capable of generating (or otherwise obtaining) for each of the first and second training objects 401, 403 a training canonical pose SMPL, in particular a first training canonical pose 601 SMPL for the first training object 401, schematically illustrated in Fig. 6.
[0112] Первая обучающая каноническая поза 601 SMPL, подобно первой обучающей оценке 501 позы SMPL, может содержать элементы сетки, включающие в себя вершины, образующие поверхность первого обучающего объекта 401, однако, в отличие от первой обучающей оценки 501 позы SMPL, вершины первой канонической позы 601 SMPL представляют поверхность первого обучающего объекта 401 в заранее заданной позе. В варианте осуществления, показанном на фиг. 6, заранее заданная поза первого обучающего объекта 401 представляет собой так называемую Т-образную позу, то есть вертикальное положение стоя с руками, разведенными в стороны параллельно опорной поверхности первого обучающего объекта 401.[0112] The first training canonical pose 601 SMPL, like the first training estimate 501 of the pose SMPL, may comprise elements of a grid including vertices forming a surface of the first training object 401, however, unlike the first training estimate 501 of the pose SMPL, the vertices of the first canonical pose 601 SMPL represent the surface of the first training object 401 in a predetermined pose. In the embodiment shown in Fig. 6, the predetermined pose of the first training object 401 is a so-called T-shaped pose, that is, an upright standing position with arms spread apart parallel to the supporting surface of the first training object 401.
[0113] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии для формирования первой обучающей канонической позы 601 SMPL сервер 202 способен применять обученный алгоритм машинного обучения на основе модели SMPL (не показан), к которому сервер 202 может обращаться, например, через сеть 208 связи. В общем случае обученный алгоритм машинного обучения на основе модели SMPL может быть обучен сервером 202 или любым другим сторонним сервером формированию оценок канонической позы SMPL на основе линейных комбинаций векторов позы SMPL, представляющих созданные художником позы SMPL для различных объектов в требуемых позах, таких как вышеупомянутая заранее заданная поза первого обучающего объекта 401. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, векторы позы SMPL могут формироваться аналогично первому и второму обучающим векторам 505, 507 позы SMPL и, таким образом, включать в себя параметры формы и позы созданных художником поз SMPL. В конкретном не имеющем ограничительного характера примере обученный алгоритм машинного обучения на основе модели SMPL может быть реализован и обучен, как описано в статье Loper et al. «SMPL: A Skinned Multi-Person Linear Model» («SMPL: линейная параметрическая модель поверхности тела человека»), ACM Transactions on Graphics (TOG), Volume 34, October 2015. Очевидно, что могут использоваться и другие алгоритмы машинного обучения, обученные формированию канонических поз SMPL.[0113] In some non-limiting embodiments of the present technology, to generate the first training canonical pose 601 SMPL, the server 202 is capable of using a trained machine learning algorithm based on the SMPL model (not shown), which the server 202 can access, for example, via the communication network 208. In general, the trained machine learning algorithm based on the SMPL model may be trained by the server 202 or any other third-party server to generate estimates of the canonical SMPL pose based on linear combinations of SMPL pose vectors representing artist-generated SMPL poses for various objects in desired poses, such as the aforementioned predetermined pose of the first training object 401. According to some non-limiting embodiments of the present technology, the SMPL pose vectors may be generated similarly to the first and second training vectors 505, 507 of the SMPL pose and, thus, include shape and pose parameters of the artist-generated SMPL poses. In a specific non-limiting example, the trained machine learning algorithm based on the SMPL model may be implemented and trained as described in the article by Loper et al. "SMPL: A Skinned Multi-Person Linear Model", ACM Transactions on Graphics (TOG), Volume 34, October 2015. Obviously, other machine learning algorithms trained to generate canonical SMPL poses can also be used.
[0114] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен загружать первую обучающую каноническую позу 601 SMPL для первого обучающего объекта 401 из справочной библиотеки канонических поз SMPL, которая может быть размещена на стороннем сервере (не показан), соединенном с сетью 208 связи.[0114] In some non-limiting embodiments of the present technology, the server 202 is configured to download a first training canonical pose 601 SMPL for the first training object 401 from a reference library of canonical poses SMPL, which may be located on a third-party server (not shown) connected to the communication network 208.
[0115] Должно быть понятно, что, хотя это и не показано, вторая обучающая каноническая поза SMPL для второго обучающего объекта 403 может быть реализована и получена сервером 202 аналогично первой обучающей канонической позе 601 SMPL. Кроме того, как подробно описано ниже, сервер 202 способен использовать первую обучающую каноническую позу 601 SMPL и вторую обучающую каноническую позу SMPL с целью формирования обучающего набора данных для обучения множества 210 алгоритмов машинного обучения для определения плотности.[0115] It should be understood that, although not shown, the second training canonical pose SMPL for the second training object 403 can be implemented and received by the server 202 in a similar manner to the first training canonical pose 601 SMPL. In addition, as described in detail below, the server 202 is capable of using the first training canonical pose 601 SMPL and the second training canonical pose SMPL for the purpose of forming a training data set for training a plurality 210 of machine learning algorithms for determining density.
[0116] Как показано на фиг. 5, для формирования обучающей трехмерной сцены 502 сервер 202, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, способен строить вокруг первой и второй обучающих оценок 501, 503 позы SMPL, сформированных, как описано выше, замкнутое трехмерное пространство 520. На форму и размеры замкнутого трехмерного пространства 520 не накладывается ограничений и в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии это пространство соответствует воображаемой сфере 420, построенной вокруг обучающей сцены 402. Иными словами, в таких вариантах осуществления замкнутое трехмерное пространство 520 также может представлять собой сферу, построенную вокруг первой и второй обучающих оценок 501, 503 позы SMPL так, чтобы они располагались в одном из сечений этой сферы, а размеры этой сферы определяются соотношением между размерами воображаемой сферы 420 и фактическими размерами первого и второго обучающих объектов 401, 403.[0116] As shown in Fig. 5, in order to generate the training three-dimensional scene 502, the server 202, according to some non-limiting embodiments of the present technology, is capable of constructing a closed three-dimensional space 520 around the first and second training estimates 501, 503 of the SMPL pose generated as described above. There are no restrictions on the shape and dimensions of the closed three-dimensional space 520 and, in some non-limiting embodiments of the present technology, this space corresponds to an imaginary sphere 420 constructed around the training scene 402. In other words, in such embodiments, the closed three-dimensional space 520 can also be a sphere constructed around the first and second training estimates 501, 503 of the SMPL pose so that they are located in one of the sections of this sphere, and the dimensions of this sphere are determined by the ratio between the dimensions of the imaginary sphere 420 and the actual dimensions of the first and second training objects 401, 403.
[0117] Кроме того, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен формировать в замкнутом трехмерном пространстве 520 множество точек обзора для первой и второй обучающих оценок 501, 503 позы SMPL. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен формировать множество точек обзора, соответствующих множеству камер, используемых для создания множества скорректированных обучающих двумерных изображений. Например, сервер 202 способен формировать (а) первую точку 508 обзора, соответствующую положению и ориентации первой камеры 408, и (б) вторую точку 510 обзора, соответствующую положению и ориентации второй камеры 410. Иными словами, сервер 202 способен формировать первую и вторую точки 508, 510 обзора, расположенные на внутренней поверхности замкнутого трехмерного пространства 520 и ориентированные в направлении центра замкнутого трехмерного пространства 520.[0117] Furthermore, according to some non-limiting embodiments of the present technology, the server 202 is capable of generating in the closed three-dimensional space 520 a plurality of viewpoints for the first and second training estimates 501, 503 of the SMPL pose. In some non-limiting embodiments of the present technology, the server 202 is capable of generating a plurality of viewpoints corresponding to a plurality of cameras used to generate a plurality of adjusted training two-dimensional images. For example, the server 202 is capable of generating (a) a first viewpoint 508 corresponding to the position and orientation of the first camera 408, and (b) a second viewpoint 510 corresponding to the position and orientation of the second camera 410. In other words, the server 202 is capable of generating the first and second viewpoints 508, 510 located on the inner surface of the closed three-dimensional space 520 and oriented toward the center of the closed three-dimensional space 520.
[0118] Кроме того, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен применять алгоритм объемного рейкастинга. Для этого сервер 202 способен строить от каждой из первой и второй точек 508, 510 обзора множество лучей, в частности, луч 525, исходящий из первой точки 508 обзора.[0118] In addition, according to some non-limiting embodiments of the present technology, the server 202 is capable of employing a volumetric raycasting algorithm. For this, the server 202 is capable of constructing a plurality of rays from each of the first and second viewpoints 508, 510, in particular, a ray 525 emanating from the first viewpoint 508.
[0119] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен строить множество лучей из каждой из первой и второй точек 508, 510 обзора таким образом, чтобы лучи во множестве лучей были разнесены друг от друга на одинаковое расстояние. При этом в других не имеющих ограничительного характера вариантах осуществления настоящей технологии лучи во множестве лучей могут быть разнесены случайным образом. Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии количество лучей во множестве лучей зависит от требуемого охвата лучами первой и второй обучающих оценок 501, 503 позы SMPL и/или требуемого количества обучающих цифровых объектов в обучающем наборе данных для множества 210 алгоритмов, 215 машинного обучения для определения плотности и цвета. В связи с этим количество лучей для множества лучей может выбираться на основе компромисса между доступными вычислительными ресурсами сервера 202 и требуемой точностью обучения множества 210 алгоритмов, 215 машинного обучения для определения плотности и цвета. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен строить от каждой из первой и второй точек 508, 510 обзора множество лучей, содержащее 2048 лучей.[0119] In some non-limiting embodiments of the present technology, the server 202 is capable of constructing a plurality of rays from each of the first and second viewpoints 508, 510 such that the rays in the plurality of rays are spaced equally apart. However, in other non-limiting embodiments of the present technology, the rays in the plurality of rays may be spaced randomly. Furthermore, in some non-limiting embodiments of the present technology, the number of rays in the plurality of rays depends on the required coverage of the rays of the first and second training estimates 501, 503 of the SMPL pose and/or the required number of training digital objects in the training data set for the plurality 210, 215 of machine learning algorithms for determining density and color. In this regard, the number of rays for the plurality of rays may be selected based on a trade-off between the available computing resources of the server 202 and the required training accuracy of the plurality 210, 215 of machine learning algorithms for determining density and color. For example, in some non-limiting embodiments of the present technology, the server 202 is capable of constructing a plurality of rays containing 2048 rays from each of the first and second viewpoints 508, 510.
[0120] Кроме того, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен задавать на каждом луче, построенном от каждой из первой и второй точек 508, 510 обзора, в частности, на луче 525, множество точек, таких как точка 530. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен задавать на каждом из множества лучей одинаковое количество точек. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен задавать на луче 525 множество точек с заранее определенным количеством точек. Количество точек, как и количество лучей, может выбираться на основе компромисса между доступными вычислительными ресурсами и требуемой точностью обучения множества 210 алгоритмов, 215 машинного обучения для определения плотности и цвета. В конкретном не имеющем ограничительного характера примере сервер 202 способен задавать 64 точки на луче 525. При этом в других не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен задавать 128, 256 или 1024 точки на каждом луче из множеств лучей, исходящих из точек обзора.[0120] Furthermore, according to some non-limiting embodiments of the present technology, the server 202 is capable of defining on each ray constructed from each of the first and second viewpoints 508, 510, in particular on the ray 525, a plurality of points, such as the point 530. In some non-limiting embodiments of the present technology, the server 202 is capable of defining on each of the plurality of rays the same number of points. In some non-limiting embodiments of the present technology, the server 202 is capable of defining on the ray 525 a plurality of points with a predetermined number of points. The number of points, as well as the number of rays, can be selected based on a trade-off between available computing resources and the required accuracy of training the plurality 210, 215 machine learning algorithms for determining density and color. In a specific non-limiting example, server 202 is capable of specifying 64 points on beam 525. However, in other non-limiting embodiments of the present technology, server 202 is capable of specifying 128, 256, or 1024 points on each beam of the sets of beams emanating from the viewpoints.
[0121] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен задавать множество точек на луче 525 равномерно. Иными словами, множество точек, задаваемое сервером 202, может быть равномерно распределено вдоль луча 525.[0121] In some non-limiting embodiments of the present technology, the server 202 is capable of defining the plurality of points on the beam 525 uniformly. In other words, the plurality of points defined by the server 202 may be uniformly distributed along the beam 525.
[0122] Кроме того, используя множество точек, заданных на лучах, построенных из точек обзора, в частности, из первой и второй точек 508, 510 обзора, сервер 202 способен формировать наборы данных для обучения определению плотности с целью обучения каждого из множества 210 алгоритмов машинного обучения для определения плотности нахождению границы между первым и вторым объектами 301, 303.[0122] In addition, using a plurality of points defined on rays constructed from viewpoints, in particular from the first and second viewpoints 508, 510, the server 202 is able to generate data sets for training in determining the density for the purpose of training each of the plurality 210 machine learning algorithms for determining the density to find the boundary between the first and second objects 301, 303.
[0123] В связи с этим, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен находить для точки 530 в каждой из первой обучающей канонической позы 601 SMPL и второй обучающей канонической позы SMPL, связанных с первым и вторым обучающими объектами 401, 403, соответствующую каноническую точку.[0123] In this regard, according to some non-limiting embodiments of the present technology, the server 202 is capable of finding for the point 530 in each of the first training canonical pose 601 SMPL and the second training canonical pose SMPL associated with the first and second training objects 401, 403, a corresponding canonical point.
[0124] Кроме того, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен формировать набор данных для обучения определению плотности для каждого алгоритма машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности. В частности, для первого алгоритма машинного обучения для определения плотности, связанного с первым обучающим объектом 401, сервер 202 способен формировать первый набор данных для обучения определению плотности, содержащий первое множество цифровых объектов для обучения определению плотности, каждый из которых содержит (а) координаты канонической точки в системе координат (не показана), связанной с первой обучающей канонической позой 601 SMPL, и (б) первый обучающий вектор 505 позы SMPL.[0124] Furthermore, according to some non-limiting embodiments of the present technology, the server 202 is capable of generating a set of density training data for each machine learning algorithm of the plurality 210 density training algorithms. In particular, for the first density training algorithm associated with the first training object 401, the server 202 is capable of generating a first set of density training data comprising a first plurality of density training digital objects, each of which comprises (a) coordinates of a canonical point in a coordinate system (not shown) associated with the first training canonical pose 601 of the SMPL, and (b) a first training pose vector 505 of the SMPL.
[0125] Аналогично, для второго алгоритма машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности сервер 202 способен формировать второй набор данных для обучения определению плотности, содержащий второе множество цифровых объектов для обучения определению плотности, каждый из которых включает в себя для точки 530 (а) координаты канонической точки в системе координат (не показана), связанной со второй обучающей канонической позой SMPL, связанной со вторым обучающим объектом, и (б) второй обучающий вектор 507 позы SMPL.[0125] Similarly, for the second machine learning algorithm of the plurality 210 machine learning algorithms for determining density, the server 202 is capable of generating a second set of data for training to determine density, comprising a second plurality of digital objects for training to determine density, each of which includes, for the point 530 (a), coordinates of a canonical point in a coordinate system (not shown) associated with a second training canonical pose SMPL associated with the second training object, and (b) a second training vector 507 of the pose SMPL.
[0126] На способ определения сервером 202 канонических точек в канонических позах SMPL не накладывается ограничений и в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен находить каноническую точку, например, в первой обучающей канонической позе 601 SMPL, применяя алгоритм скиннинга на основе линейного смешивания (скелетной анимации с весами) с использованием модели SMPL. В частности, в таких вариантах осуществления сервер 202 способен находить каноническую точку по следующей формуле:[0126] The method for determining the canonical points in the SMPL canonical poses by the server 202 is not limited, and in some non-limiting embodiments of the present technology, the server 202 is capable of finding a canonical point, for example, in the first training canonical pose 601 of the SMPL, by applying a skinning algorithm based on linear blending (skeletal animation with weights) using the SMPL model. In particular, in such embodiments, the server 202 is capable of finding a canonical point using the following formula:
где x c - каноническая точка, связанная с обучающим объектом;where x c is the canonical point associated with the training object;
x d - точка 530 на луче 525;x d - point 530 on ray 525;
B i - матрица преобразования, связанная с суставом j i первого обучающего объекта 401 и сформированная на основе первой оценки 501 позы SMPL; B i is a transformation matrix associated with the joint j i of the first training object 401 and formed on the basis of the first SMPL pose estimate 501;
n b - количество суставов в первом обучающем объекте 401; n b - the number of joints in the first training object 401;
w i d - функция, характеризующая распределение весов в процессе скиннинга, определенное на основе координат вершины первой оценки 501 позы SMPL, ближайшей к заданной точке. w i d is a function characterizing the distribution of weights in the skinning process, determined based on the coordinates of the vertex of the first SMPL pose estimate 501 closest to the given point.
[0127] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 на заданной итерации обучения способен передавать цифровые объекты для обучения определению плотности, связанные с точкой 530, в каждый из множества 210 алгоритмов машинного обучения для определения плотности, в результате чего каждый алгоритм машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности формирует прогнозное значение знакового поля расстояний для соответствующих канонических точек, связанных с первым и вторым обучающими объектами 401, 403. Иными словами, на заданной итерации обучения сервер 202 способен (а) передавать каждый цифровой объект для обучения определению плотности из первого множества цифровых объектов для обучения определению плотности в первый алгоритм машинного обучения для определения плотности, в результате чего первый алгоритм машинного обучения для определения плотности формирует первое прогнозное значение знакового поля расстояний для канонической точки в первой обучающей канонической позе 601 SMPL, а также (б) передавать каждый цифровой объект для обучения определению плотности из второго множества цифровых объектов для обучения определению плотности во второй алгоритм машинного обучения для определения плотности, в результате чего второй алгоритм машинного обучения для определения плотности формирует второе прогнозное значение знакового поля расстояний для канонической точки во второй обучающей канонической позе SMPL.[0127] According to some non-limiting embodiments of the present technology, the server 202, at a given training iteration, is configured to transmit the digital density learning objects associated with the point 530 to each of the plurality 210 density machine learning algorithms, whereby each machine learning algorithm of the plurality 210 density machine learning algorithms generates a signed distance field prediction value for the respective canonical points associated with the first and second training objects 401, 403. In other words, at a given training iteration, the server 202 is configured to (a) transmit each digital density learning object of the first plurality of digital density learning objects to the first density machine learning algorithm, whereby the first density machine learning algorithm generates a first signed distance field prediction value for the canonical point in the first training canonical pose 601 SMPL, and (b) transmit each digital density learning object of the second plurality of digital density learning objects to the second machine learning algorithm density learning, whereby the second density learning algorithm produces a second predicted signed distance field value for the canonical point in the second training canonical pose SMPL.
[0128] Как поясняется в приведенном ниже описании, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии каждый из множества 210 алгоритмов машинного обучения для определения плотности после получения цифрового объекта для обучения определению плотности дополнительно способен формировать векторное представление знакового поля расстояний для соответствующей канонической точки. Иными словами, первый алгоритм машинного обучения для определения плотности способен формировать, наряду с первым прогнозным значением знакового поля расстояний, первое векторное представление знакового поля расстояний для канонической точки, соответствующей точке 530, в первой обучающей канонической позе 601 SMPL. Аналогично, второй алгоритм машинного обучения для определения плотности способен формировать, наряду со вторым прогнозным значением знакового поля расстояний, второе векторное представление знакового поля расстояний для канонической точки, соответствующей точке 530, во второй обучающей канонической позе SMPL.[0128] As explained in the description below, in some non-limiting embodiments of the present technology, each of the plurality 210 machine learning algorithms for determining the density, after receiving the digital object for learning to determine the density, is further configured to generate a vector representation of a signed distance field for the corresponding canonical point. In other words, the first machine learning algorithm for determining the density is configured to generate, along with a first predicted value of the signed distance field, a first vector representation of the signed distance field for the canonical point corresponding to the point 530 in the first training canonical pose 601 of the SMPL. Similarly, the second machine learning algorithm for determining the density is configured to generate, along with a second predicted value of the signed distance field, a second vector representation of the signed distance field for the canonical point corresponding to the point 530 in the second training canonical pose of the SMPL.
[0129] Кроме того, для обучения множества 210 алгоритмов машинного обучения для определения плотности сервер 202 способен применять функцию потерь для знакового поля расстояний. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, функция потерь для знакового поля расстояний способна назначать штраф первому и/или второму прогнозным значениям знакового поля расстояний, если прогнозное значение знакового поля расстояний, сформированное заданным алгоритмом машинного обучения для определения плотности, равно прогнозному значению знакового поля расстояний, сформированному другим алгоритмом машинного обучения для определения плотности из множества алгоритмов машинного обучения. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии функция потерь для знакового поля расстояний способна назначать штраф первому и/или второму прогнозным значениям знакового поля расстояний, если оба прогнозных значения знакового поля расстояний, сформированные заданным алгоритмом машинного обучения и другим алгоритмом машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности, отрицательны.[0129] In addition, to train the plurality 210 machine learning algorithms for determining the density, the server 202 is configured to apply a loss function for a signed distance field. According to some non-limiting embodiments of the present technology, the loss function for the signed distance field is configured to assign a penalty to the first and/or second predicted values of the signed distance field if the predicted value of the signed distance field generated by a given machine learning algorithm for determining the density is equal to the predicted value of the signed distance field generated by another machine learning algorithm for determining the density of the plurality of machine learning algorithms. In some non-limiting embodiments of the present technology, the loss function for the signed distance field is configured to assign a penalty to the first and/or second predicted values of the signed distance field if both the predicted values of the signed distance field generated by the given machine learning algorithm and another machine learning algorithm of the plurality 210 machine learning algorithms for determining the density are negative.
[0130] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии функция потерь для знакового поля расстояний может быть выражена следующей формулой:[0130] In some non-limiting embodiments of the present technology, the loss function for the signed distance field may be expressed by the following formula:
где P - количество обучающих объектов, которое в представленном примере равно двум;where P is the number of training objects, which in the presented example is equal to two;
- количество уникальных пар обучающих объектов; - the number of unique pairs of training objects;
s i k - первое прогнозное значение знакового поля расстояний для канонической точки, соответствующей точке 530, в первой обучающей канонической позе 601 SMPL, сформированное первым алгоритмом машинного обучения для определения плотности; s i k is the first predicted value of the signed distance field for the canonical point corresponding to the point 530 in the first training canonical pose 601 of the SMPL, generated by the first machine learning algorithm for determining the density;
s i p - второе прогнозное значение знакового поля расстояний для канонической точки, соответствующей точке 530, во второй обучающей канонической позе SMPL, сформированное вторым алгоритмом машинного обучения для определения плотности. s i p is the second predicted signed distance field value for the canonical point corresponding to point 530 in the second training canonical pose of SMPL, generated by the second density machine learning algorithm.
[0131] За счет передачи первого и второго множеств цифровых объектов для обучения определению плотности и последующего применения вышеуказанной функции потерь для знакового поля расстояний на каждой итерации обучения сервер 202 способен обучать каждый из первого и второго алгоритмов машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности, чтобы определять значения знакового поля расстояний для первого и второго объектов 301, 303. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии после обучения первого и второго алгоритмов машинного обучения для определения плотности из множества 210 алгоритмов машинного обучения для определения плотности сервер 202 способен использовать первый и второй алгоритмы машинного обучения для определения плотности при определении значения знакового поля расстояний для первого и второго объектов 301, 303 с целью определения границы между этими объектами, как описано ниже.[0131] By transmitting the first and second sets of digital objects for training to determine the density and then applying the above-mentioned loss function for the signed distance field at each iteration of training, the server 202 is configured to train each of the first and second machine learning algorithms of the plurality 210 machine learning algorithms for determining the density to determine the values of the signed distance field for the first and second objects 301, 303. In some non-limiting embodiments of the present technology, after training the first and second machine learning algorithms for determining the density of the plurality 210 machine learning algorithms for determining the density, the server 202 is configured to use the first and second machine learning algorithms for determining the density when determining the value of the signed distance field for the first and second objects 301, 303 to determine the boundary between these objects, as described below.
[0132] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен продолжать процесс обучения, используя текущие прогнозы множества 210 алгоритмов машинного обучения для определения плотности, сформированные на заданной итерации обучения, с целью обучения множества 215 алгоритмов машинного обучения для определения цвета.[0132] In other non-limiting embodiments of the present technology, the server 202 is configured to continue the training process using the current predictions of the plurality 210 density machine learning algorithms generated at a given training iteration to train the plurality 215 color machine learning algorithms.
[0133] Как и при обучении множества 210 алгоритмов машинного обучения для определения плотности, сервер 202 способен формировать набор данных для обучения определению цвета для каждого алгоритма машинного обучения из множества 215 алгоритмов машинного обучения для определения цвета. В частности, для первого алгоритма машинного обучения для определения цвета, связанного с первым обучающим объектом 401, сервер 202 способен формировать первый набор данных для обучения определению цвета, содержащий первое множество цифровых объектов для обучения определению цвета, каждый из которых включает в себя для точки 530 (а) координаты канонической точки для первой обучающей канонической позы 601 SMPL, (б) первое векторное представление знакового поля расстояний, сформированное первым алгоритмом машинного обучения для определения плотности, и (в) метку, содержащую значение цвета для пикселя 540 на скорректированном обучающем двумерном изображении 406, через который проходит луч 525. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии каждый цифровой объект для обучения определению цвета из первого множества цифровых объектов для обучения определению цвета может дополнительно включать в себя (г) вторую обучающую каноническую позу SMPL для первой обучающей оценки 501 позы SMPL и (д) нормали к поверхности первой обучающей канонической позы 601 SMPL. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен определять нормали к поверхности первой обучающей канонической позы 601 SMPL в виде градиентов значений знакового поля расстояний, определенных множеством 210 алгоритмов машинного обучения для определения плотности.[0133] As with training the plurality 210 machine learning algorithms for determining density, the server 202 is capable of generating a set of data for training the determination of color for each machine learning algorithm from the plurality 215 machine learning algorithms for determining color. In particular, for the first machine learning algorithm for determining a color associated with the first training object 401, the server 202 is capable of generating a first set of data for learning to determine a color, comprising a first plurality of digital objects for learning to determine a color, each of which includes, for the point 530, (a) coordinates of a canonical point for the first training canonical pose 601 SMPL, (b) a first vector representation of a signed distance field generated by the first machine learning algorithm for determining the density, and (c) a label comprising a color value for a pixel 540 on the adjusted training two-dimensional image 406 through which the ray 525 passes. In some non-limiting embodiments of the present technology, each digital object for learning to determine a color from the first plurality of digital objects for learning to determine a color may further include (d) a second training canonical pose SMPL for the first training estimate 501 of the pose SMPL and (e) normals to the surface of the first training canonical pose 601 SMPL. In some non-limiting embodiments of the present technology, the server 202 is capable of determining the surface normals of the first training canonical pose 601 SMPL as gradients of signed distance field values determined by a plurality 210 of machine learning algorithms for determining density.
[0134] Аналогично, для обучения второго алгоритма машинного обучения, связанного со вторым обучающим объектом 403, из множества 215 алгоритмов машинного обучения для определения цвета сервер 202 способен формировать второй набор данных для обучения определению цвета, содержащий второе множество цифровых объектов для обучения определению цвета, каждый из которых включает в себя для точки 530 (а) координаты канонической точки для второй обучающей канонической позы SMPL, (б) второе векторное представление знакового поля расстояний, сформированное вторым алгоритмом машинного обучения для определения плотности, и (в) метку, содержащую значение цвета для пикселя 540 на скорректированном обучающем двумерном изображении 406, через который проходит луч 525. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии каждый цифровой объект для обучения определению цвета из второго множества цифровых объектов для обучения определению цвета может дополнительно включать в себя (г) вторую обучающую каноническую позу SMPL для второй обучающей оценки 503 позы SMPL и (д) нормали к поверхности второй обучающей канонической позы SMPL. Аналогично, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен определять нормали к поверхности второй обучающей канонической позы SMPL в виде градиентов значений знакового поля расстояний, определенных множеством 210 алгоритмов машинного обучения для определения плотности.[0134] Similarly, for training a second machine learning algorithm associated with the second training object 403, from the plurality 215 of machine learning algorithms for determining color, the server 202 is capable of generating a second set of data for learning color, comprising a second plurality of digital objects for learning color, each of which includes, for the point 530, (a) coordinates of a canonical point for a second training canonical pose SMPL, (b) a second vector representation of a signed distance field generated by the second machine learning algorithm for determining density, and (c) a label comprising a color value for a pixel 540 in the adjusted training two-dimensional image 406 through which the ray 525 passes. In some non-limiting embodiments of the present technology, each digital object for learning color from the second plurality of digital objects for learning color may further include (d) a second training canonical pose SMPL for a second training estimate 503 of the pose SMPL and (e) normals to the surface of the second training canonical pose SMPL. Similarly, in some non-limiting embodiments of the present technology, the server 202 is capable of determining the surface normals of the second training canonical pose SMPL as gradients of the signed distance field values determined by the plurality 210 of machine learning algorithms for determining density.
[0135] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен отбирать набор точек из множества точек, заданных на луче 525, с целью формирования наборов данных для обучения определению цвета для множества 215 алгоритмов машинного обучения для определения цвета. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен находить во множестве точек, заданных на луче 525, набор точек, расположенных на луче 525 в областях с более высокой плотностью точек. Иными словами, при отборе набора точек на луче 525 сервер 202 способен находить во множестве точек на луче 525 точки, относящиеся к первому и второму учебным объектам 401, 403 (то есть точки, расположенные на первой и второй обучающих оценках 501, 503 позы SMPL), и отсеивать точки из множества точек, относящегося к фону.[0135] In some non-limiting embodiments of the present technology, the server 202 is configured to select a set of points from a plurality of points defined on the beam 525 for the purpose of forming data sets for training to determine a color for a plurality 215 of machine learning algorithms for determining a color. According to some non-limiting embodiments of the present technology, the server 202 is configured to find, in the plurality of points defined on the beam 525, a set of points located on the beam 525 in areas with a higher point density. In other words, when selecting a set of points on the beam 525, the server 202 is configured to find, in the plurality of points on the beam 525, points related to the first and second training objects 401, 403 (that is, points located on the first and second training estimates 501, 503 of the SMPL pose), and to filter out points from the plurality of points related to the background.
[0136] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен находить набор точек на луче 525 с целью формирования наборов данных для обучения определению цвета на основе значений плотности для множества точек. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен определять значения плотности на основе прогнозных значений знакового поля расстояний, сформированных множеством 210 алгоритмов машинного обучения для определения плотности для канонических точек первого и второго обучающих объектов 401, 403, которые связаны со множеством точек, заданных на луче 525, таких как точка 530. Для этого, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен применять к прогнозным значениям знакового поля расстояний, связанным с точкой 530, нормированную интегральную функцию распределения Лапласа. Затем сервер 202, на основе значений плотности, определенных указанным способом для точки 530, может либо включить точку 530 в набор точек луча 525, либо отказаться от включения этой точки в набор точек. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен (а) определять среднее значение плотности для точки 503 на основе значений плотности для соответствующих канонических точек, (б) сравнивать среднее значение плотности с заданным пороговым значением плотности и (в) если среднее значение плотности равно заданному пороговому значению плотности или превышает его, включать точку 530 в набор точек для последующего формирования наборов данных для обучения определению цвета с целью обучения множества 215 алгоритмов машинного обучения для определения цвета.[0136] According to some non-limiting embodiments of the present technology, the server 202 is configured to find a set of points on the beam 525 for the purpose of generating data sets for training to determine a color based on the density values for the plurality of points. In some non-limiting embodiments of the present technology, the server 202 is configured to determine the density values based on the predicted signed distance field values generated by the plurality 210 of machine learning algorithms for determining the density for the canonical points of the first and second training objects 401, 403 that are associated with the plurality of points defined on the beam 525, such as the point 530. To this end, according to some non-limiting embodiments of the present technology, the server 202 is configured to apply a normalized cumulative Laplace distribution function to the predicted signed distance field values associated with the point 530. Then, the server 202, based on the density values determined in the specified manner for the point 530, can either include the point 530 in the set of points of the beam 525, or refuse to include this point in the set of points. For example, in some non-limiting embodiments of the present technology, the server 202 is capable of (a) determining an average density value for the point 503 based on the density values for the corresponding canonical points, (b) comparing the average density value with a given density threshold value, and (c) if the average density value is equal to or exceeds the given density threshold value, including the point 530 in the set of points for subsequent formation of data sets for training the color determination for the purpose of training the plurality 215 of machine learning algorithms for determining color.
[0137] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен применять к значениям плотности, связанным с точкой 530, алгоритм выборки по значимости. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии алгоритм выборки по значимости может быть реализован в виде функции непрозрачности, как подробно описано, например, в вышеупомянутой статье «Volume Rendering of Neural Implicit Surfaces».[0137] In other non-limiting embodiments of the present technology, the server 202 is capable of applying a significance sampling algorithm to the density values associated with the point 530. In some non-limiting embodiments of the present technology, the significance sampling algorithm may be implemented as an opacity function, as described in detail, for example, in the aforementioned article "Volume Rendering of Neural Implicit Surfaces."
[0138] В общем случае алгоритм выборки по значимости способен формировать на основе значений плотности, определенных на основе значений знакового поля расстояний, полученных с помощью множества 210 алгоритмов машинного обучения для определения плотности, большее количество точек на луче 525, представляющих каждую из первой и второй обучающих оценок 501, 503 позы SMPL. Кроме того, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен объединять точки, заданные на луче 525 для каждой из первой и второй обучающих оценок 501, 503 позы SMPL, с целью последующего определения соответствующих интегральных значений, как подробно описано ниже.[0138] In general, the importance sampling algorithm is capable of generating, based on the density values determined based on the signed distance field values obtained using the plurality 210 of machine learning algorithms for determining the density, a larger number of points on the beam 525 representing each of the first and second training estimates 501, 503 of the SMPL pose. Furthermore, according to some non-limiting embodiments of the present technology, the server 202 is capable of combining the points defined on the beam 525 for each of the first and second training estimates 501, 503 of the SMPL pose in order to subsequently determine the corresponding integral values, as described in detail below.
[0139] Кроме того, на следующей итерации обучения, после обеспечения формирования множеством 210 алгоритмов машинного обучения для определения плотности прогнозных значений знакового поля расстояний для всех точек на луче 525, сервер 202, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, способен передавать в каждый из множества 215 алгоритмов машинного обучения для определения цвета цифровой объект для обучения определению цвета, связанный с точкой 530, в результате чего каждый из множества алгоритмов машинного обучения для определения цвета формирует прогнозное значение цвета для канонической точки, связанной с соответствующим обучающим объектом. В частности, при получении цифрового объекта для обучения определению цвета из первого множества цифровых объектов для обучения определению цвета первый алгоритм машинного обучения для определения цвета способен формировать первое прогнозное значение цвета для канонической точки, связанной с первым обучающим объектом 401. Аналогично, при получении цифрового объекта для обучения определению цвета из второго множества цифровых объектов для обучения определению цвета второй алгоритм машинного обучения для определения цвета способен формировать второе прогнозное значение цвета для канонической точки, связанной со вторым обучающим объектом 403.[0139] In addition, in the next iteration of training, after causing the plurality 210 machine learning algorithms for determining the density of predicted values of the signed field of distances for all points on the ray 525 to form, the server 202, in accordance with some non-limiting embodiments of the present technology, is capable of transmitting to each of the plurality 215 machine learning algorithms for determining a color a digital object for learning to determine a color associated with the point 530, as a result of which each of the plurality of machine learning algorithms for determining a color forms a predicted color value for a canonical point associated with the corresponding training object. In particular, when receiving a digital object for learning to determine the color from a first plurality of digital objects for learning to determine the color, the first machine learning algorithm for determining the color is capable of generating a first predictive color value for a canonical point associated with the first learning object 401. Similarly, when receiving a digital object for learning to determine the color from a second plurality of digital objects for learning to determine the color, the second machine learning algorithm for determining the color is capable of generating a second predictive color value for a canonical point associated with the second learning object 403.
[0140] После этого, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен комбинировать прогнозные значения цвета, сформированные множеством 215 алгоритмов машинного обучения для определения цвета для каждой из множества точек (или для набора точек, отобранных из этого множества), задаваемых на луче 525 на следующей итерации обучения, с целью формирования промежуточного интегрального значения цвета для луча 525. Например, сервер 202 способен определять промежуточное интегральное значение цвета, суммируя прогнозные значения цвета для точек, заданных на луче 525.[0140] Thereafter, in accordance with some non-limiting embodiments of the present technology, the server 202 is capable of combining the predicted color values generated by the plurality 215 of machine learning algorithms for determining the color for each of the plurality of points (or for a set of points selected from this plurality) defined on the beam 525 in the next iteration of training, in order to generate an intermediate integral color value for the beam 525. For example, the server 202 is capable of determining the intermediate integral color value by summing the predicted color values for the points defined on the beam 525.
[0141] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен определять промежуточное интегральное значение цвета в виде взвешенной суммы, например, по следующей формуле:[0141] According to some non-limiting embodiments of the present technology, the server 202 is configured to determine the intermediate integral color value as a weighted sum, such as according to the following formula:
где c i p - прогнозное значение цвета для канонической точки, связанной с объектом p, сформированное заданным алгоритмом машинного обучения из множества 215 алгоритмов машинного обучения для определения цвета;where c i p is the predicted color value for the canonical point associated with object p , generated by a given machine learning algorithm from a set of 215 machine learning algorithms for color determination;
w i p - значение веса, определенное для прогнозного значения цвета на основе прогнозных значений плотности; w i p - the weight value determined for the predicted color value based on the predicted density values;
bg r - значение цвета фона, связанное с лучом 525. bg r - background color value associated with ray 525.
[0142] На способ определения сервером 202 значения цвета фона, связанного с лучом 525, не накладывается ограничений и в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен обучать, а затем использовать специальный алгоритм машинного обучения для фона. В конкретном не имеющем ограничительного характера примере специальный алгоритм машинного обучения для фона может быть реализован и обучен, как подробно описано в статье Guo et al. «Vid2Avatar: 3D Avatar Reconstruction from Videos in the Wild via Self-supervised Scene Decomposition» («Vid2Avatar: трехмерная реконструкция аватара на основе видео, снятого в реальных условиях, за счет декомпозиции сцены с самоконтролем»), опубликованной на сайте arxiv.org в феврале 2023 года, содержание которой полностью включено в настоящий документ посредством ссылки.[0142] There is no limitation on the method by which server 202 determines the background color value associated with ray 525, and in some non-limiting embodiments of the present technology, server 202 is capable of training and then using a special machine learning algorithm for the background. In a specific non-limiting example, a special machine learning algorithm for the background may be implemented and trained as described in detail in the paper by Guo et al., “Vid2Avatar: 3D Avatar Reconstruction from Videos in the Wild via Self-supervised Scene Decomposition,” published on arxiv.org in February 2023, the contents of which are incorporated herein by reference in their entirety.
[0143] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен определять значение веса для прогнозного значения цвета, в частности, для первого или второго прогнозного значения цвета, связанного с точкой 530, на основе прогнозных значений плотности, связанных с точкой 530. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен определять значение веса по следующей формуле:[0143] According to some non-limiting embodiments of the present technology, the server 202 is configured to determine a weight value for a predicted color value, in particular for a first or second predicted color value associated with the point 530, based on the predicted density values associated with the point 530. In some non-limiting embodiments of the present technology, the server 202 is configured to determine the weight value using the following formula:
где Δx i - длина отрезка между точкой 530 и следующей за ней точкой на луче 525;where Δ x i is the length of the segment between point 530 and the next point on the ray 525;
σ i p - прогнозное значение плотности, сформированное алгоритмом машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности, связанным с обучающим объектом p, в частности, с первым обучающим объектом 401 или со вторым обучающим объектом 403, на основе соответствующего значения знакового поля расстояний. σ i p is a predicted density value generated by a machine learning algorithm from a set 210 of machine learning algorithms for determining the density associated with a training object p , in particular with the first training object 401 or with the second training object 403, based on the corresponding value of the signed distance field.
[0144] После определения промежуточного интегрального значения цвета для луча 525, как описано выше, сервер 202 способен совместно обучать множество 215 алгоритмов машинного обучения для определения цвета, применяя на следующей итерации обучения функцию потерь для цвета, способную назначать штраф прогнозным значениям цвета, сформированным множеством 215 алгоритмов машинного обучения для определения цвета, для всех точек на луче 525, если промежуточное интегральное значение цвета отличается от значения цвета пикселя 540 из метки цифровых объектов для обучения определению цвета, связанных с лучом 525. В конкретном не имеющем ограничительного характера примере функция потерь для цвета представляет собой функцию потерь RGB, подробно описанную в вышеупомянутой статье Guo et al.[0144] After determining the intermediate integral color value for the beam 525, as described above, the server 202 is capable of jointly training the plurality 215 machine learning algorithms for determining the color, applying in the next iteration of training a color loss function capable of assigning a penalty to the predicted color values generated by the plurality 215 machine learning algorithms for determining the color for all points on the beam 525 if the intermediate integral color value differs from the color value of the pixel 540 from the label of the digital objects for color determination training associated with the beam 525. In a specific non-limiting example, the color loss function is an RGB loss function, as described in detail in the above-mentioned article by Guo et al.
[0145] Следует понимать, что на количество обучающих цифровых объектов для обучения отдельных алгоритмов машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности, а также для обучения отдельных алгоритмов машинного обучения из множества 215 алгоритмов машинного обучения для определения цвета не накладывается ограничений и сервер 202 способен формировать тысячи, десятки тысяч, сотни тысяч или даже миллионы обучающих цифровых объектов для обучения каждого алгоритма машинного обучения на основе других скорректированных обучающих двумерных изображений из последовательности скорректированных обучающих двумерных изображений, как описано выше применительно к скорректированному обучающему двумерному изображению 406.[0145] It should be understood that there is no limitation on the number of training digital objects for training individual machine learning algorithms from the plurality 210 machine learning algorithms for determining density, as well as for training individual machine learning algorithms from the plurality 215 machine learning algorithms for determining color, and the server 202 is capable of generating thousands, tens of thousands, hundreds of thousands or even millions of training digital objects for training each machine learning algorithm based on other adjusted training two-dimensional images from the sequence of adjusted training two-dimensional images, as described above in relation to the adjusted training two-dimensional image 406.
[0146] Таким образом, за счет совместного применения функции потерь для знакового поля расстояний и функции потерь для цвета на множестве итераций обучения сервер 202, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, способен обучать множество 210 алгоритмов машинного обучения для определения плотности определению значений знакового поля расстояний и множество 215 алгоритмов машинного обучения для определения цвета определению значений цвета для рабочих взаимопроникающих объектов, таких как первый и второй объекты 301, 303, схематически представленные на фиг. 3.[0146] Thus, by jointly applying the loss function for the signed distance field and the loss function for the color over a plurality of training iterations, the server 202, in accordance with some non-limiting embodiments of the present technology, is able to train a plurality 210 of machine learning algorithms for determining the density to determine the values of the signed distance field and a plurality 215 of machine learning algorithms for determining the color to determine the color values for working interpenetrating objects, such as the first and second objects 301, 303, schematically represented in Fig. 3.
[0147] Кроме того, в тех не имеющих ограничительного характера вариантах осуществления настоящей технологии, в которых сервер 202 способен совместно обучать множество 210 алгоритмов машинного обучения для определения плотности и множество 215 алгоритмов машинного обучения для определения цвета, применяя функцию потерь для цвета, сервер 202 способен дополнительно обучать каждый из множества 210 алгоритмов машинного обучения для определения плотности определению значений знакового поля расстояний на основе меток цифровых объектов для обучения определению цвета.[0147] Furthermore, in those non-limiting embodiments of the present technology in which the server 202 is capable of jointly training the plurality 210 machine learning algorithms for determining density and the plurality 215 machine learning algorithms for determining color using a loss function for color, the server 202 is capable of further training each of the plurality 210 machine learning algorithms for determining density to determine values of a signed distance field based on labels of digital objects for learning to determine color.
[0148] После этого сервер 202 способен использовать множество 210 алгоритмов машинного обучения для определения плотности и множество 215 алгоритмов машинного обучения для определения цвета с целью объемного рендеринга сцены 302, содержащей первый и второй объекты 301, 303, как описано ниже.[0148] The server 202 is then capable of using a plurality 210 of machine learning algorithms for determining density and a plurality 215 of machine learning algorithms for determining color for the purpose of volumetric rendering of the scene 302 containing the first and second objects 301, 303, as described below.
РабочийWorker процессprocess
[0149] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, для выполнения объемного рендеринга с использованием множества 210 алгоритмов машинного обучения для определения плотности и множества 215 алгоритмов машинного обучения для определения цвета сервер 202 способен формировать рабочие цифровые объекты.[0149] According to some non-limiting embodiments of the present technology, the server 202 is capable of generating working digital objects to perform volume rendering using the plurality 210 machine learning algorithms for determining density and the plurality 215 machine learning algorithms for determining color.
[0150] Для этого сервер 202, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, способен предварительно получать по меньшей мере одну последовательность рабочих двумерных изображений, представляющих сцену 302. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, по меньшей мере одна последовательность рабочих двумерных изображений, представляющих сцену 302, может формироваться аналогично последовательностям обучающих двумерных изображений для обучающей сцены 402.[0150] For this, the server 202, in accordance with some non-limiting embodiments of the present technology, is capable of previously obtaining at least one sequence of working two-dimensional images representing the scene 302. In accordance with some non-limiting embodiments of the present technology, the at least one sequence of working two-dimensional images representing the scene 302 can be formed similarly to the sequences of training two-dimensional images for the training scene 402.
[0151] На фиг. 7 схематически представлена сцена 302 в системе, показанной на фиг. 4, которая используется для формирования рабочих цифровых объектов, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[0151] Fig. 7 is a schematic representation of a scene 302 in the system shown in Fig. 4 that is used to generate working digital objects, in accordance with some non-limiting embodiments of the present technology.
[0152] Как наиболее наглядно показано на фиг. 7, множество камер для формирования последовательностей рабочих двумерных изображений, представляющих сцену 302, в частности, первая и вторая камеры 408, 410, могут располагаться на внутренней поверхности воображаемой сферы 420, построенной вокруг сцены 302, как и в случае формирования последовательностей обучающих двумерных изображений. Каждая из первой и второй камер 408, 410 может быть обращена к центру воображаемой сферы, как в системе камер для обучающей сцены 402, описанной выше со ссылкой на фиг. 4.[0152] As shown most clearly in Fig. 7, a plurality of cameras for generating sequences of working two-dimensional images representing the scene 302, in particular the first and second cameras 408, 410, can be located on the inner surface of an imaginary sphere 420 constructed around the scene 302, as in the case of generating sequences of training two-dimensional images. Each of the first and second cameras 408, 410 can face the center of the imaginary sphere, as in the camera system for the training scene 402 described above with reference to Fig. 4.
[0153] Таким образом, сервер 202 способен получать (а) первую последовательность рабочих двумерных изображений от первой камеры 408 и (б) вторую последовательность рабочих двумерных изображений от второй камеры 410. Затем, как и при формировании последовательности скорректированных обучающих двумерных изображений, на основе первой и второй последовательностей рабочих двумерных изображений, представляющих сцену 302, сервер 202, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, способен формировать последовательность скорректированных рабочих двумерных изображений, представляющих трехмерную сцену 302.[0153] Thus, the server 202 is capable of receiving (a) a first sequence of working two-dimensional images from the first camera 408 and (b) a second sequence of working two-dimensional images from the second camera 410. Then, as in the case of generating a sequence of corrected training two-dimensional images, based on the first and second sequences of working two-dimensional images representing the scene 302, the server 202, in accordance with some non-limiting embodiments of the present technology, is capable of generating a sequence of corrected working two-dimensional images representing the three-dimensional scene 302.
[0154] После этого сервер 202 на основе рабочего скорректированного двумерного изображения 806 из последовательности скорректированных рабочих двумерных изображений способен формировать (а) трехмерную сцену (например, трехмерную сцену 902, показанную на фиг. 8), (б) рабочие цифровые объекты на основе трехмерной сцены 902 для определения границы между первым и вторым объектами 301, 302 в трехмерной сцене 902, а также значения цветов для точек на лучах, проходящих через эту сцену.[0154] Thereafter, the server 202, based on the working corrected two-dimensional image 806 from the sequence of corrected working two-dimensional images, is capable of generating (a) a three-dimensional scene (for example, a three-dimensional scene 902 shown in Fig. 8), (b) working digital objects based on the three-dimensional scene 902 for determining the boundary between the first and second objects 301, 302 in the three-dimensional scene 902, as well as color values for points on rays passing through this scene.
[0155] На фиг. 8 схематически представлена трехмерная сцена 902, сформированная на основе скорректированного рабочего двумерного изображения 806, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[0155] Fig. 8 is a schematic representation of a three-dimensional scene 902 generated from a corrected working two-dimensional image 806, in accordance with some non-limiting embodiments of the present technology.
[0156] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, для формирования трехмерных моделей первого и второго объектов 301, 303 сервер 202 способен формировать соответствующие рабочие оценки позы SMPL. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен на основе скорректированного рабочего двумерного изображения 806 формировать первую рабочую оценку 901 позы SMPL, содержащую первый рабочий вектор 905 позы SMPL, для первого объекта 301 и вторую рабочую оценку 903 позы SMPL, содержащую второй рабочий вектор 907 позы SMPL, для второго объекта 303, получая позы первого и второго объектов 301, 303, как представлено на рабочем скорректированном двумерном изображении 806, аналогично первой и второй обучающим оценкам 501, 503 позы SMPL для первого и второго обучающих объектов 401, 403.[0156] According to some non-limiting embodiments of the present technology, in order to generate three-dimensional models of the first and second objects 301, 303, the server 202 is capable of generating corresponding working estimates of the pose SMPL. According to some non-limiting embodiments of the present technology, the server 202 is configured to generate, based on the adjusted working two-dimensional image 806, a first working estimate 901 of the SMPL pose, comprising a first working vector 905 of the SMPL pose, for the first object 301 and a second working estimate 903 of the SMPL pose, comprising a second working vector 907 of the SMPL pose, for the second object 303, obtaining the poses of the first and second objects 301, 303, as represented in the adjusted working two-dimensional image 806, similar to the first and second training estimates 501, 503 of the SMPL pose for the first and second training objects 401, 403.
[0157] В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен формировать или иным образом получать для первого и второго объектов 301, 303, соответственно, первую и вторую рабочие канонические позы SMPL аналогично первой обучающей канонической позе 601 SMPL, описанной выше со ссылкой на фиг. 6.[0157] According to some non-limiting embodiments of the present technology, the server 202 is capable of generating or otherwise obtaining for the first and second objects 301, 303, respectively, first and second working canonical poses SMPL similar to the first training canonical pose 601 SMPL described above with reference to Fig. 6.
[0158] Кроме того, как описано выше со ссылкой на фиг. 5, сервер 202 способен строить вокруг первой и второй рабочих оценок 901, 903 позы SMPL замкнутое трехмерное пространство 520, содержащее множество точек обзора, таких как первая и вторая точки 508, 510 обзора, расположенные на внутренней поверхности замкнутого трехмерного пространства 520.[0158] In addition, as described above with reference to Fig. 5, the server 202 is capable of constructing around the first and second working estimates 901, 903 of the SMPL pose a closed three-dimensional space 520 containing a plurality of viewpoints, such as the first and second viewpoints 508, 510, located on the inner surface of the closed three-dimensional space 520.
[0159] Как описано выше со ссылкой на фиг. 5, сервер 202 способен (а) проводить от каждой из первой и второй точек 508, 510 обзора множество рабочих лучей и (б) задавать на рабочем луче 925 множество рабочих точек, таких как рабочая точка 930.[0159] As described above with reference to Fig. 5, the server 202 is configured to (a) conduct a plurality of operating beams from each of the first and second viewpoints 508, 510 and (b) define a plurality of operating points on the operating beam 925, such as the operating point 930.
[0160] Кроме того, как описано выше применительно к точке 530, сервер 202 способен находить первую и вторую канонические точки в первой и второй рабочих канонических позах SMPL.[0160] In addition, as described above with respect to point 530, server 202 is capable of finding first and second canonical points in first and second working canonical poses of SMPL.
[0161] Также сервер 202 способен формировать рабочие цифровые объекты для каждого алгоритма машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности и каждого алгоритма машинного обучения из множества 215 алгоритмов машинного обучения для определения цвета, которые связаны с заданным объектом. В частности, сервер 202 способен формировать для первого алгоритма машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности и первого алгоритма машинного обучения из множества 215 алгоритмов машинного обучения для определения цвета, связанных с первым объектом 301, первый рабочий цифровой объект, включающий в себя (а) координаты канонической точки в первой рабочей канонической позе SMPL, связанной с первым объектом 301, в сетке знакового поля расстояний и (б) первый рабочий вектор 905 позы SMPL. Аналогично, сервер 202 способен формировать для второго алгоритма машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности и второго алгоритма машинного обучения из множества 215 алгоритмов машинного обучения для определения цвета, связанных со вторым объектом 303, второй рабочий цифровой объект, включающий в себя (а) координаты канонической точки во второй рабочей канонической позе SMPL, связанной со вторым объектом 303, в сетке знакового поля расстояний и (б) второй рабочий вектор 907 позы SMPL.[0161] Also, the server 202 is capable of generating working digital objects for each machine learning algorithm from the plurality 210 machine learning algorithms for determining the density and each machine learning algorithm from the plurality 215 machine learning algorithms for determining the color, which are associated with a given object. In particular, the server 202 is capable of generating for the first machine learning algorithm from the plurality 210 machine learning algorithms for determining the density and the first machine learning algorithm from the plurality 215 machine learning algorithms for determining the color, associated with the first object 301, a first working digital object, which includes (a) coordinates of a canonical point in the first working canonical pose SMPL, associated with the first object 301, in the grid of the signed distance field and (b) a first working vector 905 of the pose SMPL. Similarly, the server 202 is capable of generating for the second machine learning algorithm from the plurality 210 of machine learning algorithms for determining the density and the second machine learning algorithm from the plurality 215 of machine learning algorithms for determining the color, associated with the second object 303, a second working digital object, including (a) the coordinates of the canonical point in the second working canonical pose SMPL, associated with the second object 303, in the grid of the signed distance field and (b) the second working vector 907 of the pose SMPL.
[0162] Кроме того, сервер 202 способен передавать первый рабочий цифровой объект (а) в первый алгоритм машинного обучения для определения плотности, в результате чего первый алгоритм машинного обучения для определения плотности формирует первое рабочее значение знакового поля расстояний для канонической точки в первой рабочей канонической позе SMPL, связанной с первым объектом 301, и (б) в первый алгоритм машинного обучения для определения цвета, в результате чего первый алгоритм машинного обучения для определения цвета формирует первое рабочее значение цвета для канонической точки в первой рабочей канонической позе SMPL, связанной с первым объектом 301. Аналогично, сервер 202 способен передавать второй рабочий цифровой объект (а) во второй алгоритм машинного обучения для определения плотности, в результате чего второй алгоритм машинного обучения для определения плотности формирует второе рабочее значение знакового поля расстояний для канонической точки во второй рабочей канонической позе SMPL, связанной со вторым объектом 303, и (б) во второй алгоритм машинного обучения для определения цвета, в результате чего второй алгоритм машинного обучения для определения цвета формирует второе рабочее значение цвета для канонической точки во второй рабочей канонической позе SMPL, связанной со вторым объектом 303.[0162] In addition, the server 202 is capable of transmitting the first working digital object (a) to a first machine learning algorithm for determining the density, whereby the first machine learning algorithm for determining the density generates a first working value of the signed distance field for the canonical point in the first working canonical pose SMPL associated with the first object 301, and (b) to a first machine learning algorithm for determining the color, whereby the first machine learning algorithm for determining the color generates a first working color value for the canonical point in the first working canonical pose SMPL associated with the first object 301. Similarly, the server 202 is capable of transmitting the second working digital object (a) to a second machine learning algorithm for determining the density, whereby the second machine learning algorithm for determining the density generates a second working value of the signed distance field for the canonical point in the second working canonical pose SMPL associated with the second object 303, and (b) to a second machine learning algorithm for determining the color, whereby the second machine learning algorithm for determining the color generates a second working color value for canonical point in the second working canonical pose SMPL associated with the second object 303.
[0163] Также сервер 202 на основе первого и второго рабочих значений знакового поля расстояний, связанных с точкой 930, способен определять, находится ли точка 930 в пределах одной из первой и второй рабочих оценок 901, 903 позы SMPL. Исходя из этого, сервер 202 дополнительно способен определять границу между первым и вторым объектами 301, 303 в пределах области 305 перекрытия.[0163] Also, the server 202, based on the first and second working values of the signed field of distances associated with the point 930, is able to determine whether the point 930 is within one of the first and second working estimates 901, 903 of the pose SMPL. Based on this, the server 202 is further able to determine the boundary between the first and second objects 301, 303 within the overlap region 305.
[0164] Кроме того, для получения конечного значения цвета для первой и второй рабочих оценок 901, 903 позы SMPL сервер 202 способен определять интегральное значение цвета для луча 925. В связи с этим сервер 202 способен (а) определять первое и второе рабочие значения цвета, формируемые множеством 215 алгоритмов машинного обучения для определения цвета, для каждой рабочей точки, заданной на рабочем луче 925, (б) определять первое и второе рабочие значения знакового поля расстояний, формируемые множеством 210 алгоритмов машинного обучения для определения плотности, для каждой рабочей точки, заданной на рабочем луче 925, (в) определять на основе первого и второго рабочих значений знакового поля расстояний первое и второе рабочие значения плотности для каждой рабочей точки, заданной на рабочем луче 925, как описано выше, и (г) определять интегральное значение цвета для луча 925, применяя формулы (3) и (4) к первому и второму рабочим значениям цвета и к первому и второму рабочим значениям плотности.[0164] In addition, in order to obtain a final color value for the first and second working estimates 901, 903 of the SMPL pose, the server 202 is configured to determine an integral color value for the beam 925. In this regard, the server 202 is configured to (a) determine first and second working color values generated by the plurality 215 of machine learning algorithms for determining color, for each operating point defined on the working beam 925, (b) determine first and second working values of a signed distance field generated by the plurality 210 of machine learning algorithms for determining density, for each operating point defined on the working beam 925, (c) determine, based on the first and second working values of the signed distance field, first and second working values of density for each operating point defined on the working beam 925, as described above, and (d) determine the integral color value for the beam 925 by applying formulas (3) and (4) to the first and second working color values and to the first and the second working density values.
[0165] Таким образом, используя множество 210 алгоритмов машинного обучения для определения плотности и множество 215 алгоритмов машинного обучения для определения цвета, сервер 202 способен определять рабочее значение знакового поля расстояний для заданной точки на каждом луче трехмерной сцены 902 и интегральное значение цвета для каждого луча, исходящего из каждой из первой и второй точек 508, 510 обзора. В результате сервер 202 способен строить изображения первой трехмерной модели 1001 для первого объекта 301 и второй трехмерной модели 1003 для второго объекта 303, схематически представленные на фиг. 9, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[0165] Thus, using the plurality 210 of machine learning algorithms for determining the density and the plurality 215 of machine learning algorithms for determining the color, the server 202 is able to determine an operating value of the signed distance field for a given point on each ray of the three-dimensional scene 902 and an integral color value for each ray emanating from each of the first and second viewpoints 508, 510. As a result, the server 202 is able to construct images of the first three-dimensional model 1001 for the first object 301 and the second three-dimensional model 1003 for the second object 303, schematically shown in Fig. 9, in accordance with some non-limiting embodiments of the present technology.
[0166] Затем, после построения изображений первой и второй трехмерных моделей 1001, 1003 в трехмерной сцене 902, сервер 202, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, способен передавать трехмерную сцену 902 в составе трехмерного анимированного видеоконтента 214 в электронное устройство 204 для демонстрации трехмерной сцены 902 пользователю 206.[0166] Then, after constructing the images of the first and second three-dimensional models 1001, 1003 in the three-dimensional scene 902, the server 202, in accordance with some non-limiting embodiments of the present technology, is capable of transmitting the three-dimensional scene 902 as part of the three-dimensional animated video content 214 to the electronic device 204 for demonstrating the three-dimensional scene 902 to the user 206.
[0167] С ракурса на первую и вторую трехмерные модели 1001, 1003, представленного на фиг. 9, видно, что в результате применения вариантов настоящей технологии для определения границы между первым и вторым объектами 301, 303 и значений цветов для них, область 305 перекрытия, которая присутствует в первоначальной сцене 302, точно обрабатывается в трехмерной сцене 902, что обеспечивает более реалистичное представление первого и второго объектов 301, 303. Это позволяет улучшить впечатления пользователя 206 от просмотра трехмерного анимированного видеоконтента 214, передаваемого сервером 202.[0167] From the perspective of the first and second three-dimensional models 1001, 1003 shown in Fig. 9, it can be seen that as a result of applying the variants of the present technology for determining the boundary between the first and second objects 301, 303 and the color values for them, the overlapping region 305, which is present in the original scene 302, is accurately processed in the three-dimensional scene 902, which provides a more realistic representation of the first and second objects 301, 303. This makes it possible to improve the user's 206 experience of viewing the three-dimensional animated video content 214 transmitted by the server 202.
СпособWay
[0168] С учетом описанной выше архитектуры и приведенных примеров возможна реализация способа объемного рендеринга трехмерных сцен, представляющих множество взаимопроникающих объектов, в частности, трехмерной сцены 902, представляющей первый и второй объекты 301, 303, которые образуют между собой область 305 перекрытия. На фиг. 10 представлена блок-схема способа 1100 в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии. Способ 1100 может быть реализован, например, на сервере 202.[0168] Taking into account the above-described architecture and the given examples, it is possible to implement a method for volume rendering of three-dimensional scenes representing a plurality of interpenetrating objects, in particular, a three-dimensional scene 902 representing the first and second objects 301, 303, which form an overlapping region 305 between them. Fig. 10 shows a block diagram of a method 1100 in accordance with some non-limiting embodiments of the present technology. The method 1100 can be implemented, for example, on a server 202.
[0169] Как подробно описано выше, способ 1100 предусматривает обучение множества 210 алгоритмов машинного обучения для определения плотности и множества 215 алгоритмов машинного обучения для определения цвета с целью определения, соответственно, значений знакового поля расстояний и цвета для первого и второго объектов 301, 303.[0169] As described in detail above, the method 1100 includes training a plurality 210 of machine learning algorithms for determining density and a plurality 215 of machine learning algorithms for determining color in order to determine, respectively, values of the signed field of distances and color for the first and second objects 301, 303.
Шаг 1102: получение от заданной камеры из множества камер последовательности обучающих двумерных изображений, представляющих множество взаимопроникающих обучающих объектов.Step 1102: obtaining from a given camera of the plurality of cameras a sequence of training two-dimensional images representing a plurality of interpenetrating training objects.
[0170] Способ 1100 начинается с шага 1102, на котором сервер 202 способен получать от множества камер, таких как первая и вторая камеры 408, 410, последовательности обучающих двумерных изображений, представляющих обучающую сцену 402, как описано выше со ссылкой на фиг. 4.[0170] The method 1100 begins with step 1102, in which the server 202 is configured to receive from a plurality of cameras, such as the first and second cameras 408, 410, sequences of training two-dimensional images representing the training scene 402, as described above with reference to Fig. 4.
[0171] Как указано выше, множество камер может быть расположено на внутренней поверхности воображаемой сферы 420 и обращено к ее центру.[0171] As indicated above, a plurality of cameras may be located on the inner surface of the imaginary sphere 420 and facing its center.
[0172] Следующим шагом в способе 1100 является шаг 1104.[0172] The next step in method 1100 is step 1104.
Шаг 1104: формирование на основе последовательностей обучающих двумерных изображений, полученных от множества камер, последовательности скорректированных обучающих двумерных изображений.Step 1104: forming a sequence of corrected training two-dimensional images based on the sequences of training two-dimensional images obtained from a plurality of cameras.
[0173] На шаге 1104, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен формировать на основе обучающих изображений из одновременно полученных последовательностей обучающих двумерных изображений последовательность скорректированных обучающих двумерных изображений, как описано выше со ссылкой на фиг. 4.[0173] In step 1104, according to some non-limiting embodiments of the present technology, the server 202 is configured to generate, based on the training images from the simultaneously obtained sequences of training two-dimensional images, a sequence of corrected training two-dimensional images, as described above with reference to Fig. 4.
[0174] Следующим шагом в способе 1100 является шаг 1106.[0174] The next step in method 1100 is step 1106.
Шаг 1106: формирование оценки позы согласно модели SMPL для заданного обучающего объекта из множества взаимопроникающих обучающих объектов на заданном скорректированном обучающем двумерном изображении из последовательности скорректированных обучающих двумерных изображений.Step 1106: generating a pose estimate according to the SMPL model for a given training object from a plurality of interpenetrating training objects on a given adjusted training 2D image from a sequence of adjusted training 2D images.
[0175] Затем, на шаге 1106, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен инициировать построение обучающей трехмерной сцены 502 на основе скорректированного обучающего двумерного изображения 406. Для этого, как подробно описано выше со ссылкой на фиг. 5, сервер 202 способен предварительно формировать для первого и второго обучающих объектов 401, 403, соответственно, первую и вторую оценки 501, 503 позы SMPL, которые характеризуют позы первого и второго обучающих объектов 401, 403 на скорректированном обучающем двумерном изображении 406.[0175] Then, in step 1106, according to some non-limiting embodiments of the present technology, the server 202 is capable of initiating the construction of a training three-dimensional scene 502 based on the adjusted training two-dimensional image 406. For this, as described in detail above with reference to Fig. 5, the server 202 is capable of pre-generating for the first and second training objects 401, 403, respectively, first and second pose estimates 501, 503 SMPL, which characterize the poses of the first and second training objects 401, 403 in the adjusted training two-dimensional image 406.
[0176] Следующим шагом в способе 1100 является шаг 1108.[0176] The next step in method 1100 is step 1108.
Шаг 1108: получение для заданного обучающего объекта из множества взаимопроникающих обучающих объектов канонической позы SMPL, включая канонические вершины, образующие поверхность заданного обучающего объекта в заранее заданной позе.Step 1108: obtaining, for a given training object from a plurality of interpenetrating training objects, a canonical pose SMPL, including canonical vertices forming the surface of the given training object in a predetermined pose.
[0177] На шаге 1108, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен получать (или формировать) для первого и второго обучающих объектов 401, 403 обучающие канонические позы SMPL, представляющие первый и второй обучающие объекты 401, 403 в заранее заданных позах, таких как первая обучающая каноническая поза 601 SMPL для первого обучающего объекта 401, описанная выше со ссылкой на фиг. 6.[0177] In step 1108, according to some non-limiting embodiments of the present technology, the server 202 is configured to receive (or generate) for the first and second training objects 401, 403 training canonical poses SMPL representing the first and second training objects 401, 403 in predetermined poses, such as the first training canonical pose 601 SMPL for the first training object 401 described above with reference to Fig. 6.
[0178] Следующим шагом в способе 1100 является шаг 1110.[0178] The next step in method 1100 is step 1110.
Шаг 1110: построение замкнутого трехмерного пространства вокруг оценок позы SMPL, связанных со множеством взаимопроникающих обучающих объектов, и формирование на внутренней поверхности замкнутого трехмерного пространства множества точек обзора, каждая из которых ориентирована в направлении центра замкнутого трехмерного пространства.Step 1110: constructing a closed three-dimensional space around the SMPL pose estimates associated with a plurality of interpenetrating training objects, and forming on the inner surface of the closed three-dimensional space a plurality of viewpoints, each of which is oriented toward the center of the closed three-dimensional space.
[0179] На шаге 1110, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен строить вокруг первой и второй обучающих оценок 501, 503 позы SMPL замкнутое трехмерное пространство 520, содержащее первую и вторую точки 508, 510 обзора, как подробно описано выше со ссылкой на фиг. 5.[0179] In step 1110, according to some non-limiting embodiments of the present technology, the server 202 is configured to construct a closed three-dimensional space 520 around the first and second training estimates 501, 503 of the SMPL pose, containing the first and second viewpoints 508, 510, as described in detail above with reference to Fig. 5.
[0180] Следующим шагом в способе 1100 является шаг 1112.[0180] The next step in method 1100 is step 1112.
Шаг 1112: построение от каждой точки обзора из множества точек обзора множества лучей через оценки позы SMPL для множества взаимопроникающих обучающих объектов.Step 1112: Construct from each viewpoint of the set of viewpoints a set of rays through the SMPL pose estimates for the set of interpenetrating training objects.
[0181] На шаге 1112, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен строить из каждой от первой и второй точек 508, 510 обзора множество лучей через первую и вторую обучающие оценки 501, 503 позы SMPL, в частности, луч 525, исходящий из первой точки 408 обзора. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии лучи во множестве лучей разнесены друг от друга на одинаковое расстояние. Тем не менее, это не является обязательным для всех вариантов осуществления настоящей технологии и лучи во множестве лучей могут быть распределены иначе. В некоторых других не имеющих ограничительного характера вариантах осуществления настоящей технологии множество лучей, исходящих из каждой из первой и второй точек 508, 510 обзора, содержит 2048 лучей.[0181] In step 1112, according to some non-limiting embodiments of the present technology, the server 202 is configured to construct from each of the first and second viewpoints 508, 510 a plurality of rays through the first and second training estimates 501, 503 of the SMPL pose, in particular a ray 525 emanating from the first viewpoint 408. In some non-limiting embodiments of the present technology, the rays in the plurality of rays are spaced from each other by the same distance. However, this is not required for all embodiments of the present technology and the rays in the plurality of rays may be distributed differently. In some other non-limiting embodiments of the present technology, the plurality of rays emanating from each of the first and second viewpoints 508, 510 comprises 2048 rays.
[0182] Кроме того, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен задавать на луче 525 множество точек, таких как точка 530. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии множество точек равномерно распределено на луче 525. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен задавать 64 точки на луче 525.[0182] Furthermore, according to some non-limiting embodiments of the present technology, the server 202 is capable of defining a plurality of points on the beam 525, such as the point 530. In some non-limiting embodiments of the present technology, the plurality of points are uniformly distributed on the beam 525. In some non-limiting embodiments of the present technology, the server 202 is capable of defining 64 points on the beam 525.
[0183] Следующим шагом в способе 1100 является шаг 1114.[0183] The next step in method 1100 is step 1114.
Шаг 1114: определение для заданной точки на заданном луче канонической точки для канонической позы SMPL, связанной с каждым из множества взаимопроникающих обучающих объектов.Step 1114: determining, for a given point on a given ray, a canonical point for the canonical pose of the SMPL associated with each of the plurality of interpenetrating training objects.
[0184] На шаге 1114, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен находить по формуле (1) каноническую точку для первой обучающей канонической позы 601 SMPL, связанной с первым обучающим объектом 401, и для второй обучающей канонической позы SMPL, связанной со вторым обучающим объектом 403.[0184] In step 1114, according to some non-limiting embodiments of the present technology, the server 202 is configured to find, using formula (1), a canonical point for the first training canonical pose 601 SMPL associated with the first training object 401 and for the second training canonical pose SMPL associated with the second training object 403.
[0185] Следующим шагом в способе 1100 является шаг 1116.[0185] The next step in method 1100 is step 1116.
Шаг 1116: формирование обучающего набора данных для заданного алгоритма машинного обучения из множества алгоритмов машинного обучения.Step 1116: Generating a training dataset for a given machine learning algorithm from a set of machine learning algorithms.
[0186] На шаге 1116, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен формировать набор данных для обучения определению плотности с целью обучения каждого алгоритма машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности.[0186] At step 1116, in accordance with some non-limiting embodiments of the present technology, the server 202 is configured to generate a density training data set for training each machine learning algorithm of the plurality 210 machine learning algorithms for determining density.
[0187] В частности, для первого алгоритма машинного обучения для определения плотности, связанного с первым обучающим объектом 401, сервер 202 способен формировать первый набор данных для обучения определению плотности, содержащий первое множество цифровых объектов для обучения определению плотности, каждый из которых содержит (а) координаты канонической точки в системе координат, связанной с первой обучающей канонической позой 601 SMPL, и (б) первый обучающий вектор 505 позы SMPL.[0187] In particular, for the first machine learning algorithm for determining the density associated with the first training object 401, the server 202 is capable of generating a first set of data for training the density determination, comprising a first plurality of digital objects for training the density determination, each of which comprises (a) coordinates of a canonical point in a coordinate system associated with the first training canonical pose 601 of the SMPL, and (b) a first training vector 505 of the SMPL pose.
[0188] Аналогично, для второго алгоритма машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности сервер 202 способен формировать второй набор данных для обучения определению плотности, содержащий второе множество цифровых объектов для обучения определению плотности, каждый из которых для точки 530 содержит (а) координаты канонической точки в системе координат, связанной со второй обучающей канонической позой SMPL, связанной со вторым обучающим объектом 403, и (б) второй обучающий вектор 507 позы SMPL.[0188] Similarly, for the second machine learning algorithm of the plurality 210 machine learning algorithms for determining density, the server 202 is capable of generating a second set of data for training to determine density, comprising a second plurality of digital objects for training to determine density, each of which for a point 530 comprises (a) coordinates of a canonical point in a coordinate system associated with a second training canonical pose SMPL associated with a second training object 403, and (b) a second training vector 507 of the pose SMPL.
[0189] Следующим шагом в способе 1100 является шаг 1118.[0189] The next step in method 1100 is step 1118.
Шаг 1118: совместное обучение множества алгоритмов машинного обучения определению границы заданного объекта из множества взаимопроникающих объектов с использованием обучающих наборов данных.Step 1118: jointly training multiple machine learning algorithms to determine the boundary of a given object from a set of interpenetrating objects using the training datasets.
[0190] На шаге 1118, в соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, сервер 202 способен использовать наборы данных для обучения определению плотности, сформированные на шаге 1116, с целью обучения каждого алгоритма машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности.[0190] In step 1118, according to some non-limiting embodiments of the present technology, the server 202 is configured to use the density training data sets generated in step 1116 to train each of the plurality 210 density training machine algorithms.
[0191] В частности, на заданной итерации обучения сервер 202 способен (а) передавать каждый цифровой объект для обучения определению плотности из первого множества цифровых объектов для обучения определению плотности в первый алгоритм машинного обучения для определения плотности, в результате чего первый алгоритм машинного обучения для определения плотности формирует первое прогнозное значение знакового поля расстояний для канонической точки в первой обучающей канонической позе 601 SMPL, а также (б) передавать каждый цифровой объект для обучения определению плотности из второго множества цифровых объектов для обучения определению плотности во второй алгоритм машинного обучения для определения плотности, в результате чего второй алгоритм машинного обучения для определения плотности формирует второе прогнозное значение знакового поля расстояний для канонической точки во второй обучающей канонической позе SMPL.[0191] In particular, at a given iteration of training, the server 202 is configured to (a) transmit each digital object for learning to determine the density of the first plurality of digital objects for learning to determine the density to the first machine learning algorithm for determining the density, whereby the first machine learning algorithm for determining the density generates a first predicted value of the signed distance field for the canonical point in the first training canonical pose 601 of the SMPL, and (b) transmit each digital object for learning to determine the density of the second plurality of digital objects for learning to determine the density to the second machine learning algorithm for determining the density, whereby the second machine learning algorithm for determining the density generates a second predicted value of the signed distance field for the canonical point in the second training canonical pose SMPL.
[0192] Кроме того, сервер 202 способен применять функцию потерь для знакового поля расстояний. В соответствии с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии, функция потерь для знакового поля расстояний способна назначать штраф первому и/или второму прогнозным значениям знакового поля расстояний если (а) прогнозное значение знакового поля расстояний отличается от контрольного значения знакового поля расстояний, связанного с заданным алгоритмом машинного обучения для определения плотности из множества 210 алгоритмов машинного обучения для определения плотности, и (б) прогнозное значение знакового поля расстояний, сформированное заданным алгоритмом машинного обучения для определения плотности, равно прогнозному значению знакового поля расстояний, сформированному другим алгоритмом машинного обучения для определения плотности из множества алгоритмов машинного обучения. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии функция потерь для знакового поля расстояний может быть выражена формулой (2).[0192] In addition, the server 202 is configured to apply a loss function for the signed distance field. According to some non-limiting embodiments of the present technology, the loss function for the signed distance field is configured to assign a penalty to the first and/or second predicted values of the signed distance field if (a) the predicted value of the signed distance field differs from a reference value of the signed distance field associated with a given machine learning algorithm for determining density of the plurality 210 machine learning algorithms for determining density, and (b) the predicted value of the signed distance field generated by the given machine learning algorithm for determining density is equal to the predicted value of the signed distance field generated by another machine learning algorithm for determining density of the plurality of machine learning algorithms. In some non-limiting embodiments of the present technology, the loss function for the signed distance field may be expressed by formula (2).
[0193] Кроме того, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 202 способен обучать множество 215 алгоритмов машинного обучения для определения цвета на основе прогнозных значений знакового поля расстояний, сформированных множеством 210 алгоритмов машинного обучения для определения плотности, как подробно описано выше со ссылкой на фиг. 5.[0193] In addition, in some non-limiting embodiments of the present technology, the server 202 is configured to train a plurality 215 of machine learning algorithms for determining color based on the predicted values of the signed distance field generated by the plurality 210 of machine learning algorithms for determining density, as described in detail above with reference to Fig. 5.
[0194] В частности, как и при обучении множества 210 алгоритмов машинного обучения для определения плотности, сервер 202 способен формировать набор данных для обучения определению цвета для каждого алгоритма машинного обучения из множества 215 алгоритмов машинного обучения для определения цвета. Для первого алгоритма машинного обучения для определения цвета, связанного с первым обучающим объектом 401, сервер 202 способен формировать первый набор данных для обучения определению цвета, содержащий первое множество цифровых объектов для обучения определению цвета, каждый из которых для точки 530 содержит (а) координаты канонической точки для первой обучающей канонической позы 601 SMPL, (б) первый обучающий вектор 505 позы SMPL и (в) метку, содержащую значение цвета для пикселя 540 на скорректированном обучающем двумерном изображении 406, через который проходит луч 525.[0194] In particular, as in training the plurality 210 machine learning algorithms for determining the density, the server 202 is capable of generating a set of data for training the determination of color for each machine learning algorithm of the plurality 215 machine learning algorithms for determining color. For the first machine learning algorithm for determining color associated with the first training object 401, the server 202 is capable of generating a first set of data for training the determination of color, comprising a first plurality of digital objects for training the determination of color, each of which, for a point 530, comprises (a) the coordinates of a canonical point for a first training canonical pose 601 of the SMPL, (b) a first training vector 505 of the pose of the SMPL and (c) a label comprising a color value for a pixel 540 on the adjusted training two-dimensional image 406 through which the ray 525 passes.
[0195] Аналогично, для обучения второго алгоритма машинного обучения, связанного со вторым обучающим объектом 403, из множества 215 алгоритмов машинного обучения для определения цвета сервер 202 способен формировать второй набор данных для обучения определению цвета, содержащий второе множество цифровых объектов для обучения определению цвета, каждый из которых для точки 530 содержит (а) координаты канонической точки для второй обучающей канонической позы SMPL, (б) второй обучающий вектор 507 позы SMPL и (в) метку, содержащую значение цвета для пикселя 540 на скорректированном обучающем двумерном изображении 406, через который проходит луч 525.[0195] Similarly, for training a second machine learning algorithm associated with a second training object 403, from a plurality 215 of machine learning algorithms for determining a color, the server 202 is capable of generating a second set of data for training to determine a color, comprising a second plurality of digital objects for training to determine a color, each of which for a point 530 comprises (a) coordinates of a canonical point for a second training canonical pose SMPL, (b) a second training vector 507 of a pose SMPL and (c) a label containing a color value for a pixel 540 on the adjusted training two-dimensional image 406 through which the ray 525 passes.
[0196] Кроме того, на заданной итерации обучения множества 215 алгоритмов машинного обучения для определения цвета сервер 202 способен передавать в каждый из множества 215 алгоритмов машинного обучения для определения цвета цифровой объект для обучения определению цвета, связанный с точкой 530, в результате чего каждый из множества алгоритмов машинного обучения для определения цвета формирует прогнозное значение цвета для канонической точки, связанной с соответствующим обучающим объектом. Затем на этой же итерации обучения множества 215 алгоритмов машинного обучения для определения цвета сервер 202 способен (а) получать прогнозные значения знакового поля расстояний, сформированные множеством 210 алгоритмов машинного обучения для определения плотности для каждой точки, заданной на луче 525, (б) определять на основе прогнозных значений знакового поля расстояний для точки 530 значения плотности и (в) определять на основе значений плотности и прогнозных значений цвета для всех точек на луче 525 интегральное значение цвета для луча 525.[0196] In addition, at a given iteration of training the plurality 215 machine learning algorithms for determining the color, the server 202 is capable of transmitting to each of the plurality 215 machine learning algorithms for determining the color a digital object for learning to determine the color associated with the point 530, as a result of which each of the plurality of machine learning algorithms for determining the color generates a predicted color value for the canonical point associated with the corresponding training object. Then, at the same iteration of training the plurality 215 machine learning algorithms for determining the color, the server 202 is capable of (a) receiving predicted values of the signed distance field generated by the plurality 210 machine learning algorithms for determining the density for each point specified on the beam 525, (b) determining, based on the predicted values of the signed distance field for the point 530, the density values, and (c) determining, based on the density values and the predicted color values for all points on the beam 525, an integral color value for the beam 525.
[0197] Также сервер 202 способен совместно обучать множество 215 алгоритмов машинного обучения для определения цвета, применяя на заданной итерации обучения множества 215 алгоритмов машинного обучения для определения цвета функцию потерь для цвета, способную назначать штраф прогнозным значениям цвета, сформированным множеством 215 алгоритмов машинного обучения для определения цвета, для всех точек на луче 525, если промежуточное интегральное значение цвета отличается от значения цвета пикселя 540 из метки цифровых объектов для обучения определению цвета, связанных с лучом 525. Кроме того, как указано выше, в таких вариантах осуществления сервер 202 способен дополнительно обучать каждый из множества алгоритмов машинного обучения для определения плотности определению значений знакового поля расстояний для точек на лучах, применяя функцию потерь для цвета.[0197] Also, the server 202 is capable of jointly training a plurality 215 machine learning algorithms for determining a color by applying, at a given iteration of training the plurality 215 machine learning algorithms for determining a color, a loss function for a color capable of assigning a penalty to the predicted color values generated by the plurality 215 machine learning algorithms for determining a color for all points on the beam 525 if the intermediate integral color value differs from the color value of the pixel 540 from the label of the digital objects for learning to determine a color associated with the beam 525. In addition, as noted above, in such embodiments, the server 202 is capable of additionally training each of the plurality of machine learning algorithms for determining a density to determine the values of the signed distance field for the points on the beams by applying the loss function for a color.
[0198] Наконец, после обучения каждого алгоритма машинного обучения из множества 210 алгоритмов машинного обучения для определения плотности и каждого алгоритма машинного обучения из множества 215 алгоритмов машинного обучения для определения цвета сервер 202 способен использовать их для построения (рендеринга) трехмерной сцены 902, содержащей первую и вторую трехмерные модели 1001, 1003 первого и второго объектов 301, 303, как подробно описано выше со ссылкой на фиг. 7-9. Затем, при получении запроса 212 трехмерной анимации, как подробно описано выше со ссылкой на фиг. 2, сервер 202 способен передавать трехмерную сцену 902 с первой и второй трехмерными моделями 1001, 1003 в составе трехмерного анимированного видеоконтента 214 в электронное устройство 204 для демонстрации трехмерной сцены 902 пользователю 206.[0198] Finally, after training each machine learning algorithm of the plurality 210 machine learning algorithms for determining the density and each machine learning algorithm of the plurality 215 machine learning algorithms for determining the color, the server 202 is able to use them to construct (render) a three-dimensional scene 902 containing the first and second three-dimensional models 1001, 1003 of the first and second objects 301, 303, as described in detail above with reference to Figs. 7-9. Then, upon receiving a three-dimensional animation request 212, as described in detail above with reference to Fig. 2, the server 202 is able to transmit the three-dimensional scene 902 with the first and second three-dimensional models 1001, 1003 as part of the three-dimensional animated video content 214 to the electronic device 204 for demonstrating the three-dimensional scene 902 to the user 206.
[0199] На этом реализация способа 1100 завершается.[0199] This completes the implementation of method 1100.
[0200] Таким образом, некоторые не имеющие ограничительного характера варианты осуществления настоящей технологии позволяют точнее определять границу между первым и вторым объектами 301, 303 и, как следствие, правильно обрабатывать области перекрытия между ними, такие как область 305 перекрытия, благодаря чему более точно определяются значения цвета первой и второй трехмерных моделей 1001, 1003 и эти трехмерные модели выглядят более реалистичными. Предполагается, что это способствует улучшению впечатлений пользователя 206 от просмотра трехмерного анимированного видеоконтента 214.[0200] Thus, some non-limiting embodiments of the present technology make it possible to more accurately determine the boundary between the first and second objects 301, 303 and, as a result, to correctly process the overlapping regions between them, such as the overlapping region 305, due to which the color values of the first and second three-dimensional models 1001, 1003 are more accurately determined and these three-dimensional models look more realistic. It is believed that this contributes to improving the user 206 experience of viewing the three-dimensional animated video content 214.
[0201] Очевидно, что не все технические эффекты, упомянутые в настоящем документе, подлежат реализации в каждом конкретном варианте осуществления настоящей технологии.[0201] It is obvious that not all technical effects mentioned in this document are subject to implementation in each specific embodiment of the present technology.
[0202] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.[0202] Possible changes and improvements to the above-described embodiments of the present technology may be obvious to a person skilled in the art. The preceding description is provided for illustrative purposes only and is not intended to limit the scope of the invention. The scope of protection of the present technology is determined solely by the scope of the appended claims.
Claims (91)
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RU2844015C1 true RU2844015C1 (en) | 2025-07-23 |
Family
ID=
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9596446B2 (en) * | 2013-02-06 | 2017-03-14 | Koninklijke Philips N.V. | Method of encoding a video data signal for use with a multi-view stereoscopic display device |
| RU2621633C2 (en) * | 2011-10-28 | 2017-06-06 | Мэджик Лип, Инк. | System and method for augmented and virtual reality |
| US20180165873A1 (en) * | 2001-07-24 | 2018-06-14 | Imagination Technologies Limited | Graphics renderer and method for rendering 3d scene in computer graphics using object pointers and depth values |
| RU2704244C1 (en) * | 2016-05-25 | 2019-10-25 | Кэнон Кабусики Кайся | Method for generating a virtual viewpoint image and an image processing device |
| CN114208201A (en) * | 2019-07-15 | 2022-03-18 | 交互数字Vc控股公司 | Method for transmitting and rendering a 3D scene, method for generating patches, and corresponding device and computer program |
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180165873A1 (en) * | 2001-07-24 | 2018-06-14 | Imagination Technologies Limited | Graphics renderer and method for rendering 3d scene in computer graphics using object pointers and depth values |
| RU2621633C2 (en) * | 2011-10-28 | 2017-06-06 | Мэджик Лип, Инк. | System and method for augmented and virtual reality |
| US9596446B2 (en) * | 2013-02-06 | 2017-03-14 | Koninklijke Philips N.V. | Method of encoding a video data signal for use with a multi-view stereoscopic display device |
| RU2704244C1 (en) * | 2016-05-25 | 2019-10-25 | Кэнон Кабусики Кайся | Method for generating a virtual viewpoint image and an image processing device |
| CN114208201A (en) * | 2019-07-15 | 2022-03-18 | 交互数字Vc控股公司 | Method for transmitting and rendering a 3D scene, method for generating patches, and corresponding device and computer program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11514638B2 (en) | 3D asset generation from 2D images | |
| KR102868320B1 (en) | Single-image-based real-time body animation | |
| KR102197553B1 (en) | Robust mesh tracking and fusion using part-based key frames and a priori model | |
| Serrano et al. | Motion parallax for 360 RGBD video | |
| CN110227266B (en) | Building virtual reality game play environments using real world virtual reality maps | |
| US10839585B2 (en) | 4D hologram: real-time remote avatar creation and animation control | |
| US11450072B2 (en) | Physical target movement-mirroring avatar superimposition and visualization system and method in a mixed-reality environment | |
| US12033261B2 (en) | Contact-aware retargeting of motion | |
| JP7748401B2 (en) | Object Recognition Neural Networks for Amodal Center Prediction | |
| US20130321396A1 (en) | Multi-input free viewpoint video processing pipeline | |
| CN111788610A (en) | Viewpoint-dependent brick selection for fast volume reconstruction | |
| JP2023518584A (en) | 3D HUMAN MODEL CONSTRUCTION METHOD AND ELECTRONIC DEVICE | |
| CN108961369A (en) | The method and apparatus for generating 3D animation | |
| CN114998514B (en) | Method and device for generating virtual characters | |
| CN114049678B (en) | Facial motion capturing method and system based on deep learning | |
| Li et al. | Immersive neural graphics primitives | |
| CN116721139A (en) | Generating depth images of image data | |
| Shapovalov et al. | Replay: Multi-modal multi-view acted videos for casual holography | |
| RU2844015C1 (en) | Method and system for generating three-dimensional scenes | |
| US20240221300A1 (en) | System and Method for Unsupervised and Autonomous 4D Dynamic Scene and Objects Interpretation, Segmentation, 3D Reconstruction, and Streaming | |
| CN115937365A (en) | Network training method, device, equipment and storage medium for face reconstruction | |
| CN118262017A (en) | System and method for training and representing three-dimensional objects using implicit representation networks | |
| CN116132653A (en) | Three-dimensional model processing method, device, storage medium and computer equipment | |
| Selzer et al. | High visual-quality scenes in low-cost virtual reality with collisions and irregular surfaces | |
| Kolivand et al. | Livephantom: Retrieving virtual world light data to real environments |