RU2745010C1 - Methods for reconstruction of depth map and electronic computer device for their implementation - Google Patents

Methods for reconstruction of depth map and electronic computer device for their implementation Download PDF

Info

Publication number
RU2745010C1
RU2745010C1 RU2020128195A RU2020128195A RU2745010C1 RU 2745010 C1 RU2745010 C1 RU 2745010C1 RU 2020128195 A RU2020128195 A RU 2020128195A RU 2020128195 A RU2020128195 A RU 2020128195A RU 2745010 C1 RU2745010 C1 RU 2745010C1
Authority
RU
Russia
Prior art keywords
convolution
block
data
tensor
decoder
Prior art date
Application number
RU2020128195A
Other languages
Russian (ru)
Inventor
Сергей Станиславович Завалишин
Максим Александрович ПЕНКИН
Алексей Михайлович ГРУЗДЕВ
Евгений Андреевич Дорохов
Артур Андреевич БЕГАЕВ
Original Assignee
Самсунг Электроникс Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Priority to RU2020128195A priority Critical patent/RU2745010C1/en
Priority to PCT/KR2021/000997 priority patent/WO2022045495A1/en
Application granted granted Critical
Publication of RU2745010C1 publication Critical patent/RU2745010C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

FIELD: computing.
SUBSTANCE: invention relates to computing. A method for reconstructing a depth map includes the steps of obtaining an image and a sparse depth map containing depth data; the image feature tensor is calculated by the trained image encoder; calculating the trained depth encoder tensor of depth features; calculating the concatenated feature tensor by the converting module by concatenating the image feature tensor and the depth feature tensor and converting the concatenated features tensor by the transforming module using a predetermined parameter specifying the size of the transformed concatenated feature tensor; predicting a gradient depth map by a trained decoder using the transformed concatenated feature tensor and the tensor; and predicting the dense depth map by the iterative spatial distribution unit using the gradient depth map, the sparse depth map and the tensor obtained in the last upscaling block of the decoder data.
EFFECT: ensuring high quality depth map acquisition on low computing power devices in real time.
21 cl, 10 dwg

Description

УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯBACKGROUND OF THE INVENTION

Область техники, к которой относится изобретенияThe technical field to which the invention relates

[0001] Настоящее изобретение относится, в общем, к областям компьютерного зрения, составления карт глубин с использованием средств искусственного интеллекта и машинного обучения для реконструкции карт глубин, в частности, к способам реконструкции карты глубины и электронному вычислительному устройству для их реализации.[0001] The present invention relates generally to the fields of computer vision, depth mapping using artificial intelligence and machine learning for reconstructing depth maps, in particular, to methods for reconstructing a depth map and an electronic computing device for their implementation.

Описание предшествующего уровня техникиDescription of the prior art

[0002] В настоящее время существует несколько способов реконструкции карты глубины. В одних способах используется высокоточный многолучевой датчик глубины и изображение для реконструкции карты глубины на этом изображении. Высокоточный датчик глубины выдает данные глубины высокого качества, которые плотно покрывают по существу все поле изображения и из которых можно получить высококачественную карту глубины. Однако использование высокоточного датчика глубины в устройствах, таких как мобильный телефон, смартфон, планшетный компьютер, робот-пылесос, устройство автономного управления транспортным средством и т.д. делает устройство слишком дорогим и может значительно увеличить размер устройства. В других способах используется простой датчик глубины с низкой точностью и изображение для реконструкции карты глубины на этом изображении. Такие датчики глубины выдают данные глубины низкого качества с низкой плотностью данных, которые затем обрабатываются средствами искусственного интеллекта для получения карты глубины требуемого качества. Для получения высококачественной карты глубины из данных глубины низкого качества требуется устройство с высокой вычислительной мощностью, например, компьютер с высокопроизводительным процессором, высококачественной графической картой и памятью большого объема. Устройства, такие как мобильный телефон, смартфон, планшетный компьютер, робот-пылесос, устройство автономного управления транспортным средством и т.д. не обладают характеристиками устройств с высокой вычислительной мощностью, поэтому получение высококачественной карты глубины на них затруднено. Кроме того, процесс реконструкции карты глубины с данными глубины низкого качества слишком медленный, чтобы работать в режиме реального времени, для получения карты глубины приемлемого качества. [0002] Currently, there are several methods for reconstructing a depth map. Some methods use a high-precision multi-beam depth sensor and image to reconstruct the depth map on this image. A high-precision depth sensor produces high quality depth data that densely covers substantially the entire image field and from which a high quality depth map can be obtained. However, the use of a high-precision depth sensor in devices such as mobile phone, smartphone, tablet computer, robot vacuum cleaner, autonomous vehicle control device, etc. makes the device too expensive and can significantly increase the size of the device. Other methods use a simple low fidelity depth sensor and an image to reconstruct the depth map on that image. Such depth sensors produce low quality depth data with low data density, which is then processed by artificial intelligence to obtain a depth map of the required quality. Getting a high quality depth map from low quality depth data requires a device with high processing power, such as a computer with a high performance processor, high quality graphics card, and large memory. Devices such as mobile phone, smartphone, tablet computer, robot vacuum cleaner, autonomous vehicle control device, etc. do not have the characteristics of devices with high processing power, so it is difficult to obtain a high-quality depth map on them. In addition, the process of reconstructing a depth map with poor quality depth data is too slow to work in real time to produce an acceptable depth map.

[0003] В предшествующем уровне техники известны технические решения для реконструкции карты глубины, такие как нижеописанные решения.[0003] In the prior art, technical solutions for depth map reconstruction are known, such as the solutions described below.

[0004] Патентная заявка CN102938142A, опубликованная 20.02.2013 и озаглавленная «METHOD FOR FILLING INDOOR LIGHT DETECTION AND RANGING (LIDAR) MISSING DATA BASED ON KINECT», предлагает техническое решение для дополнения разреженных данных глубины, полученных лазерным датчиком глубины, таким как лидар, данными глубины, полученными устройством Kinect. Однако, устройство Kinect является дорогим и встраивание устройства Kinect в устройства, такие как мобильный телефон, смартфон, планшетный компьютер, робот-пылесос, устройство автономного управления транспортным средством и т.д. приведет к значительному увеличению размера таких устройств. Кроме того, в данном техническом решении используется многолучевой лидар, а также итеративный алгоритм ближайших точек, который снижает производительность устройства и не позволяет выполнять реконструкцию карты глубины в реальном времени. [0004] Patent Application CN102938142A, published 02/20/2013 and entitled "METHOD FOR FILLING INDOOR LIGHT DETECTION AND RANGING (LIDAR) MISSING DATA BASED ON KINECT", offers a technical solution to supplement the sparse depth data obtained by a laser depth sensor such as a lidar, depth data from the Kinect device. However, the Kinect device is expensive and the integration of the Kinect device into devices such as a mobile phone, smartphone, tablet computer, robot vacuum cleaner, autonomous vehicle control device, etc. will lead to a significant increase in the size of such devices. In addition, this technical solution uses a multi-beam lidar, as well as an iterative algorithm of the nearest points, which reduces the performance of the device and does not allow the reconstruction of the depth map in real time.

[0005] Патентная заявка US20190004535A1, опубликованная 03.01.2019 и озаглавленная «HIGH RESOLUTION 3D POINT CLOUDS GENERATION BASED ON CNN AND CRF MODELS», предлагает техническое решение для реконструкции карты глубины с использованием сверточной нейронной сети, которая преобразует изображение, полученное камерой, и соответствующее разреженное облако точек, полученное лидаром, в плотную карту глубины. Предложенное техническое решение использует ResNet-подобную архитектуру, которая слишком медленная для реализации этого подхода в режиме реального времени. Раскрытая в заявке архитектура не предназначена для использования предварительно обученных признаков изображения, что снижает возможность обучения на небольшом наборе данных. Кроме того, в этом техническом решении используется высокопроизводительная графическая карта и в постобработке предложенного алгоритма применяются итеративные процессы, которые не позволяют выполнять вычисления в реальном времени. [0005] Patent application US20190004535A1, published 01/03/2019 and entitled "HIGH RESOLUTION 3D POINT CLOUDS GENERATION BASED ON CNN AND CRF MODELS", offers a technical solution for depth map reconstruction using a convolutional neural network that transforms the image obtained by the camera and corresponding sparse lidar point cloud into dense depth map. The proposed technical solution uses a ResNet-like architecture, which is too slow to implement this approach in real time. The architecture disclosed in the application is not intended to use pretrained image features, which reduces the possibility of training on a small dataset. In addition, this technical solution uses a high-performance graphics card and the post-processing of the proposed algorithm uses iterative processes that do not allow real-time computations.

[0006] Патентная заявка CN108961390A, опубликованная 07.12.2018 и озаглавленная «REAL-TIME 3D RECONSTRUCTION METHOD BASED ON DEPTH MAP» предлагает техническое решение, в котором используется камера RGB-D для извлечения разреженных точек глубины, которые преобразуют в плотную карту глубины с использованием текстурной информации, полученной камерой RGB. Использование RGB-D камеры в устройстве делает его более сложным и дорогим, поскольку для работы RGB-D камеры требуется установка дополнительного мощного светоизлучающего диода, и систему нужно калибровать для корректной работы всего устройства. Кроме того, в предложенном техническом решении используется алгоритм без использования средств искусственного интеллекта, который приспособлен под конкретную конфигурацию устройства и плохо обобщается для входных данных с других датчиков глубины.[0006] Patent application CN108961390A, published 12/07/2018 and entitled "REAL-TIME 3D RECONSTRUCTION METHOD BASED ON DEPTH MAP" offers a technical solution that uses an RGB-D camera to extract sparse depth points that are converted into a dense depth map using texture information obtained by the RGB camera. Using an RGB-D camera in a device makes it more difficult and expensive, as an RGB-D camera requires the installation of an additional powerful LED light emitting diode, and the system needs to be calibrated for the entire device to work correctly. In addition, the proposed technical solution uses an algorithm without the use of artificial intelligence, which is adapted to the specific configuration of the device and is poorly generalized for input data from other depth sensors.

[0007] Патентная заявка CN106651925A, опубликованная 10.05.2017 и озаглавленная «COLOR DEPTH IMAGE OBTAINING METHOD AND DEVICE» предлагает техническое решение, в котором данные, являющиеся облаком точек, охватывающим все изображение, получают высококачественным датчиком глубины, таким как RGB-D камера, и преобразуют их в плотную карту глубины. Способ в основном фокусируется на выравнивании RGB и данных глубины. Использование RGB-D камеры в устройстве делает его более сложным и дорогим.[0007] Patent Application CN106651925A, published 05/10/2017 and entitled "COLOR DEPTH IMAGE OBTAINING METHOD AND DEVICE" offers a technical solution in which data, which is a cloud of points covering the entire image, is obtained by a high quality depth sensor such as an RGB-D camera. and convert them to a dense depth map. The method mainly focuses on RGB and depth data alignment. Using an RGB-D camera in the device makes it more complex and expensive.

[0008] Существующие в настоящее время способы для реконструкции карты глубины имеют следующие недостатки. Большинство способов использует данные глубины, которые покрывают все изображение. Способы без использования средств искусственного интеллекта, например, нейронных сетей, предназначены для применения только конкретного типа датчика и требуется калибровка устройства, выполняющего этот способ. Основанные на средствах искусственного интеллекта способы используют в качестве входных данных данные глубины, равномерно распределенные по изображению. Большинству средств искусственного интеллекта требуется большое количество данных для обучения. Большинство обученных средств искусственного интеллекта содержит большое количество параметров, таких как веса, что требует большого объема памяти. Для получения высокоточных карт глубины требуется сложная архитектура алгоритма обработки, что приводит к невозможности получения высокоточных карт глубины в реальном времени или по существу в реальном времени. [0008] Current methods for reconstructing a depth map have the following disadvantages. Most methods use depth data that covers the entire image. Methods without the use of artificial intelligence tools, such as neural networks, are designed to use only a specific type of sensor and require calibration of the device performing this method. Artificial intelligence-based methods use depth data uniformly distributed over the image as input. Most artificial intelligence tools require a lot of training data. Most trained artificial intelligence tools contain a large number of parameters, such as weights, which require a lot of memory. To obtain highly accurate depth maps requires a complex architecture of the processing algorithm, which makes it impossible to obtain highly accurate depth maps in real time or essentially in real time.

[0009] Настоящее изобретение создано для устранения по меньшей мере одного из вышеописанных недостатков и для обеспечения по меньшей мере одного из нижеописанных преимуществ.[0009] The present invention has been made to overcome at least one of the above-described disadvantages and to provide at least one of the advantages described below.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

[0010] Целью настоящего изобретения является обеспечение способов реконструкции карты глубины и электронного вычислительного устройства для их реализации, которые позволяют получить по меньшей мере одно из следующих преимуществ:[0010] An object of the present invention is to provide methods for reconstructing a depth map and an electronic computing device for their implementation, which provide at least one of the following advantages:

- получение карты глубины высокого качества из разреженных данных глубины, не покрывающих все изображение, в реальном времени или по существу в реальном времени с очень малой задержкой,- obtaining a high quality depth map from sparse depth data that does not cover the entire image, in real time or essentially in real time with very low latency,

- упрощение архитектуры используемых средств искусственного интеллекта,- simplification of the architecture of the artificial intelligence tools used,

- упрощение конструкции устройства за счет использования однолучевого или двухлучевого датчика глубины,- simplification of the device design by using a single-beam or double-beam depth sensor,

- получение карты глубины высокого качества на устройствах с низкой вычислительной мощностью в реальном времени или по существу в реальном времени с очень малой задержкой.- obtaining high quality depth map on devices with low computing power in real time or essentially in real time with very low latency.

[0011] Вышеперечисленные преимущества обеспечивают выполнение способов реконструкции карты глубины на устройствах с низкой вычислительной мощностью с получением карты глубины высокого качества из разреженных данных глубины, не покрывающих все изображение, в реальном времени или по существу в реальном времени с очень малой задержкой. [0011] The foregoing advantages provide depth map reconstruction methods on low computing power devices to produce high quality depth maps from sparse depth data that does not cover the entire image, in real time or substantially in real time with very low latency.

[0012] Один аспект настоящего изобретения обеспечивает способ реконструкции карты глубины, при этом упомянутый способ содержит этапы, на которых: получают (S101) изображение и разреженную карту глубины, содержащую данные глубины, которые являются глубинами в не более двух плоскостях, перпендикулярных плоскости изображения, на полученном изображении; вычисляют (S102) обученным кодером изображения, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков изображения посредством извлечения признаков изображения из полученного изображения; вычисляют (S103) обученным кодером глубины, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков глубины посредством извлечения признаков глубины из полученной разреженной карты глубины; вычисляют (S104) модулем преобразования тензор конкатенированных признаков посредством конкатенации тензора признаков изображения и тензора признаков глубины, и преобразуют модулем преобразования тензор конкатенированных признаков с использованием заранее заданного параметра, задающего размер преобразованного тензора конкатенированных признаков; предсказывают (S105) обученным декодером градиентную карту глубины с использованием преобразованного тензора конкатенированных признаков и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения, причем декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных, причем количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения, и тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, и причем до ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора конкатенированных признаков с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения, и до ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения; и предсказывают (S106) итеративным модулем пространственного распределения плотную карту глубины с использованием градиентной карты глубины, разреженной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.[0012] One aspect of the present invention provides a method for reconstructing a depth map, said method comprising: acquiring (S101) an image and a sparse depth map containing depth data that are depths in no more than two planes perpendicular to the image plane, on the resulting image; calculating (S102) an image feature tensor by a trained image encoder comprising at least one convolutional layer, at least one activation layer and at least two data spatial resolution reduction layers by extracting image features from the obtained image; calculating (S103) a trained depth encoder containing at least one convolutional layer, at least one activation layer and at least two layers of data spatial resolution reduction, a depth feature tensor by extracting depth features from the obtained sparse depth map; calculating (S104) the concatenated feature tensor by concatenating the image feature tensor and the depth feature tensor, and converting the concatenated features tensor using a predetermined parameter specifying the size of the transformed concatenated feature tensor (S104); predict (S105) a gradient depth map by the trained decoder using the transformed concatenated feature tensor and the tensor obtained on each of at least two downsampling layers of the image encoder data except for the first downscaling layer of the image encoder data, the decoder comprising at least one a block for increasing spatial data resolution, containing layers in the following order: the first convolutional layer with a 1x1 kernel, the first activation layer, a layer for increasing the spatial data resolution, a convolutional layer of channel-by-channel 2D convolution, a second convolutional layer with a 1x1 kernel and a second activation layer, and a final enhancement layer spatial data resolution after the last block for increasing the spatial data resolution, and the number of layers for increasing the spatial resolution of the decoder data corresponds to the number of layers for reducing the spatial resolution of the data of the iso image, and the tensor obtained in the corresponding spatial resolution downscaling layer of the image encoder data starting from the last spatial resolution layer of the image encoder data is used in the corresponding spatial resolution upscaling unit of the decoder data starting from the first spatial resolution upscaling unit of the decoder data from at least one upscaling unit spatial resolution of the decoder data, and moreover, before entering into the first spatial resolution increasing unit of the decoder data from at least one spatial resolution increasing unit of the decoder data, the input tensor is obtained by concatenating the transformed tensor of concatenated features with the tensor obtained in the last spatial resolution reduction layer of the image encoder data , and before entering into each subsequent block for increasing spatial resolution of decoder data from at least one block for increasing spatial resolution is given The input tensor obtained in the previous decoder data upscaling block from at least one decoder data upscaling block with the tensor obtained in the corresponding downscaling layer of the image encoder data is obtained from the decoder data; and predicting (S106) by the iterative spatial distribution unit a dense depth map using a gradient depth map, a sparse depth map and a tensor obtained in the last upscaling block of decoder data from at least one upscaling block of decoder data, the prediction operation being dense depth maps are performed iteratively with a given number of iterations.

[0013] В одном дополнительном аспекте кодер изображения является одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.[0013] In one additional aspect, the image encoder is one of the standard pretrained classification networks MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.

[0014] В другом дополнительном аспекте заранее заданный параметр, задающий размер преобразованного тензора конкатенированных признаков, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.[0014] In another additional aspect, the predetermined parameter specifying the size of the transformed concatenated feature tensor is a multiple of 2 and preferably selected in the range 256-1024.

[0015] В еще одном дополнительном аспекте декодер дополнительно содержит по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных, причем каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, при этом этап (S105) дополнительно содержит этапы, на которых: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки; получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.[0015] In yet another further aspect, the decoder further comprises at least one convolution block in front of each of the at least one convolutional block of data, wherein each convolution block of the at least one convolution block comprises layers in the following order: first convolutional layer with a 1x1 kernel, the first activation layer, a convolutional layer of channel-by-channel 2D convolution, a second convolutional layer with a 1x1 kernel, and a second activation layer, wherein step (S105) further comprises the steps of: dividing the input tensor into a set of n + 1 subtensors, where n is the number of convolution blocks; convolution of one subtenzor with a first convolution block of at least one convolution block; before each subsequent convolution block from at least one convolution block, the tensor obtained in the previous convolution block from at least one convolution block is divided into a set of k + 1 subtensions, where k is the number of remaining convolution blocks from at least one convolution block , and obtain a concatenated tensor by concatenating different nk subtenzors taken one from each of the nk sets of subtenzers obtained by splitting the tensors before each of the nk previous convolution blocks, to which no convolution was applied in the convolution blocks, with the subtensor obtained by dividing the tensor before each subsequent a convolution block to which convolution has not been applied in convolution blocks from at least one convolution block ; in each subsequent convolution block from at least one convolution block, convolution of the concatenated tensor obtained before this convolution block is performed; obtaining a concatenated tensor by concatenating the remaining subtenzers to which no convolution has been applied in convolution blocks from at least one convolution block; and processing by the block for increasing spatial resolution of the concatenated tensor data obtained by concatenating the remaining subtenzers to which convolution has not been applied in convolution blocks from at least one convolution block.

[0016] В еще одном дополнительном аспекте каждый из слоев активации в кодере изображения, кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.[0016] In yet another further aspect, each of the activation layers in the image encoder, the depth encoder, and the decoder is one of the layers ReLU, leaky ReLU, ReLU6, ELU.

[0017] Другой аспект настоящего изобретения обеспечивает способ реконструкции карты глубины, при этом упомянутый способ содержит этапы, на которых: получают (S201) разреженную карту глубины, содержащую данные глубины на изображении; вычисляют (S203) обученным кодером глубины, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков глубины посредством извлечения признаков глубины из полученной разреженной карты глубины; преобразуют (S204) модулем преобразования тензор признаков глубины с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков глубины; предсказывают (S205) обученным декодером градиентную карту глубины с использованием преобразованного тензора признаков глубины в качестве входного тензора, причем декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных; и предсказывают (S206) итеративным модулем пространственного распределения плотную карту глубины с использованием градиентной карты глубины, разреженной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.[0017] Another aspect of the present invention provides a method for reconstructing a depth map, the method comprising: obtaining (S201) a sparse depth map containing depth data in an image; calculating (S203) by a trained depth encoder comprising at least one convolutional layer, at least one activation layer and at least two data spatial resolution reduction layers, a depth feature tensor by extracting depth features from the obtained sparse depth map; converting (S204) the conversion unit depth feature tensor using a predetermined parameter specifying the size of the transformed depth feature tensor; predicting (S205) a gradient depth map by a trained decoder using the transformed depth feature tensor as an input tensor, the decoder comprising at least one upscaling unit comprising layers in the following order: first convolutional layer with 1x1 core, first activation layer, a layer for enhancing the spatial data resolution, a convolutional layer of channel-by-channel two-dimensional convolution, a second convolutional layer with a 1x1 kernel and a second activation layer, and a final layer for enhancing the spatial data resolution after the last data upscaling block; and predicting (S206) by the iterative spatial distribution unit a dense depth map using a gradient depth map, a sparse depth map, and a tensor obtained in the last upscaling block of decoder data from at least one upscaling block of decoder data, the prediction operation being dense depth maps are performed iteratively with a given number of iterations.

[0018] В одном дополнительном аспекте заранее заданный параметр, задающий размер преобразованного тензора признаков глубины, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.[0018] In one additional aspect, the predetermined parameter specifying the size of the transformed depth cue tensor is a multiple of 2 and is preferably selected in the range 256-1024.

[0019] В другом дополнительном аспекте декодер дополнительно содержит по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных, причем каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, при этом этап (S205) дополнительно содержит этапы, на которых: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки; получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.[0019] In another further aspect, the decoder further comprises at least one convolution block in front of each of the at least one convolution block, wherein each convolution block of the at least one convolution block comprises layers in the following order: a first convolutional layer with with a 1x1 kernel, a first activation layer, a convolutional layer of channel-by-channel 2D convolution, a second convolutional layer with a 1x1 kernel and a second activation layer, wherein step (S205) further comprises the steps of: dividing the input tensor into a set of n + 1 subtensors, where n is the number of convolution blocks; convolution of one subtenzor with a first convolution block of at least one convolution block; before each subsequent convolution block from at least one convolution block, the tensor obtained in the previous convolution block from at least one convolution block is divided into a set of k + 1 subtensions, where k is the number of remaining convolution blocks from at least one convolution block , and obtain a concatenated tensor by concatenating different nk subtenzors taken one from each of the nk sets of subtenzers obtained by splitting the tensors before each of the nk previous convolution blocks, to which no convolution was applied in the convolution blocks, with the subtensor obtained by dividing the tensor before each subsequent a convolution block to which convolution has not been applied in convolution blocks from at least one convolution block ; in each subsequent convolution block from at least one convolution block, convolution of the concatenated tensor obtained before this convolution block is performed; obtaining a concatenated tensor by concatenating the remaining subtenzers to which no convolution has been applied in convolution blocks from at least one convolution block; and processing by the block for increasing spatial resolution of the concatenated tensor data obtained by concatenating the remaining subtenzers to which convolution has not been applied in convolution blocks from at least one convolution block.

[0020] В еще одном дополнительном аспекте каждый из слоев активации в кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.[0020] In yet another additional aspect, each of the activation layers in the depth encoder and decoder is one of the layers ReLU, leaky ReLU, ReLU6, ELU.

[0021] Еще один аспект обеспечивает способ реконструкции карты глубины, при этом упомянутый способ содержит этапы, на которых: получают (S301) изображение; вычисляют (S302) обученным кодером изображения, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков изображения посредством извлечения признаков изображения из полученного изображения; преобразуют (S304) модулем преобразования тензор признаков изображения с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков изображения; предсказывают (S305) обученным декодером градиентную карту глубины с использованием преобразованного тензора признаков изображения и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения, причем декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных, причем количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения, и тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, и причем до ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора признаков изображения с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения, и до ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения; и предсказывают (S306) итеративным модулем пространственного распределения плотную карту глубины с использованием градиентной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.[0021] Another aspect provides a method for reconstructing a depth map, the method comprising: acquiring (S301) an image; calculating (S302) an image feature tensor by a trained image encoder comprising at least one convolutional layer, at least one activation layer and at least two data spatial resolution reduction layers by extracting image features from the obtained image; converting (S304) the image feature tensor using a predetermined parameter specifying the size of the transformed image feature tensor (S304); predict (S305) a gradient depth map by the trained decoder using the transformed image feature tensor and the tensor obtained on each of at least two downsampling layers of the image encoder data in addition to the first downscaling layer of the image encoder data, the decoder comprising at least one a block for increasing spatial data resolution, containing layers in the following order: the first convolutional layer with a 1x1 kernel, the first activation layer, a layer for increasing the spatial data resolution, a convolutional layer of channel-by-channel 2D convolution, a second convolutional layer with a 1x1 kernel and a second activation layer, and a final enhancement layer spatial data resolution after the last block for increasing the spatial data resolution, and the number of layers for increasing the spatial resolution of the data of the decoder corresponds to the number of layers for reducing the spatial resolution of the data of the encoder. and the tensor obtained in the corresponding spatial resolution downscaling layer of the image encoder data starting from the last spatial resolution layer of the image encoder data is used in the corresponding spatial resolution upscaling unit of the decoder data starting from the first spatial resolution upscaling unit of the decoder data from at least one upscaling unit spatial resolution of the decoder data, and moreover, before inputting the decoder data into the first spatial resolution increasing unit from at least one decoder data spatial resolution increasing unit, the input tensor is obtained by concatenating the transformed image feature tensor with the tensor obtained in the last spatial resolution reduction layer of the image encoder data , and before entering into each subsequent block for increasing the spatial resolution of the decoder data from at least one block for increasing the spatial resolution of the decoder data the input tensor is obtained by concatenating the tensor obtained in the previous decoder data upscaling block from at least one decoder data upscaling block with the tensor obtained in the corresponding downscaling layer of the image encoder data; and predicting (S306) a dense depth map by the iterative spatial distribution unit using the gradient depth map and the tensor obtained in the last upscaling block of the decoder data from at least one upscaling block of the decoder data, wherein the dense depth map prediction operation is performed iteratively with a given number of iterations.

[0022] В одном дополнительном аспекте кодер изображения является одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.[0022] In one additional aspect, the image encoder is one of the standard pretrained classification networks MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.

[0023] В другом дополнительном аспекте заранее заданный параметр, задающий размер преобразованного тензора признаков изображения является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.[0023] In another additional aspect, the predetermined parameter specifying the size of the transformed image feature tensor is a multiple of 2 and is preferably selected in the range 256-1024.

[0024] В еще одном дополнительном аспекте декодер дополнительно содержит по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных, причем каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, при этом этап (S305) дополнительно содержит этапы, на которых: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки; получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.[0024] In yet another further aspect, the decoder further comprises at least one convolution block in front of each of the at least one convolutional block of data, wherein each convolution block of the at least one convolution block comprises layers in the following order: first convolutional layer with a 1x1 kernel, the first activation layer, a convolutional layer of channel-by-channel two-dimensional convolution, a second convolutional layer with a 1x1 kernel and a second activation layer, wherein step (S305) further comprises the steps of: dividing the input tensor into a set of n + 1 subtensors, where n is the number of convolution blocks; convolution of one subtenzor with a first convolution block of at least one convolution block; before each subsequent convolution block from at least one convolution block, the tensor obtained in the previous convolution block from at least one convolution block is divided into a set of k + 1 subtensions, where k is the number of remaining convolution blocks from at least one convolution block , and obtain a concatenated tensor by concatenating different nk subtenzors taken one from each of the nk sets of subtenzers obtained by splitting the tensors before each of the nk previous convolution blocks, to which no convolution was applied in the convolution blocks, with the subtensor obtained by dividing the tensor before each subsequent a convolution block to which convolution has not been applied in convolution blocks from at least one convolution block ; in each subsequent convolution block from at least one convolution block, convolution of the concatenated tensor obtained before this convolution block is performed; obtaining a concatenated tensor by concatenating the remaining subtenzers to which no convolution has been applied in convolution blocks from at least one convolution block; and processing by the block for increasing spatial resolution of the concatenated tensor data obtained by concatenating the remaining subtenzers to which convolution has not been applied in convolution blocks from at least one convolution block.

[0025] В еще одном дополнительном аспекте каждый из слоев активации в кодере изображения и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.[0025] In yet another further aspect, each of the activation layers in the image encoder and decoder is one of ReLU, leaky ReLU, ReLU6, ELU.

[0026] Еще один аспект обеспечивает способ реконструкции карты глубины, при этом упомянутый способ содержит этапы, на которых: получают (S401) изображение и разреженную карту глубины, содержащую данные глубины, которые являются глубинами объектов, указанными пользователем на полученном изображении; вычисляют (S402) обученным кодером изображения, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков изображения посредством извлечения признаков изображения из полученного изображения; вычисляют (S403) обученным кодером глубины, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков глубины посредством извлечения признаков глубины из полученной разреженной карты глубины; вычисляют (S404) модулем преобразования тензор конкатенированных признаков посредством конкатенации тензора признаков изображения и тензора признаков глубины, и преобразуют модулем преобразования тензор конкатенированных признаков с использованием заранее заданного параметра, задающего размер преобразованного тензора конкатенированных признаков; предсказывают (S405) обученным декодером градиентную карту глубины с использованием преобразованного тензора конкатенированных признаков и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения, причем декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных, причем количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения, и тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, и причем до ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора конкатенированных признаков с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения, и до ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения; и предсказывают (S406) итеративным модулем пространственного распределения плотную карту глубины с использованием градиентной карты глубины, разреженной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.[0026] Another aspect provides a method for reconstructing a depth map, said method comprising: acquiring (S401) an image and a sparse depth map containing depth data that are depths of objects specified by the user in the acquired image; calculating (S402) an image feature tensor by a trained image encoder comprising at least one convolutional layer, at least one activation layer and at least two data spatial resolution reduction layers by extracting image features from the obtained image; calculating (S403) a trained depth encoder containing at least one convolutional layer, at least one activation layer and at least two data spatial resolution reduction layers, a depth feature tensor by extracting depth features from the obtained sparse depth map; calculating (S404) the concatenated feature tensor by concatenating the image feature tensor and the depth feature tensor, and converting the concatenated feature tensor using a predetermined parameter specifying the size of the transformed concatenated feature tensor (S404); predicting (S405) a gradient depth map by the trained decoder using the transformed concatenated feature tensor and the tensor obtained on each of the at least two downsampling layers of the image encoder data except for the first downscaling layer of the image encoder data, the decoder comprising at least one a block for increasing spatial data resolution, containing layers in the following order: the first convolutional layer with a 1x1 kernel, the first activation layer, a layer for increasing the spatial data resolution, a convolutional layer of channel-by-channel 2D convolution, a second convolutional layer with a 1x1 kernel and a second activation layer, and a final enhancement layer spatial data resolution after the last block for increasing the spatial data resolution, and the number of layers for increasing the spatial resolution of the decoder data corresponds to the number of layers for reducing the spatial resolution of the data of the iso image, and the tensor obtained in the corresponding spatial resolution downscaling layer of the image encoder data starting from the last spatial resolution layer of the image encoder data is used in the corresponding spatial resolution upscaling unit of the decoder data starting from the first spatial resolution upscaling unit of the decoder data from at least one upscaling unit spatial resolution of the decoder data, and moreover, before entering into the first spatial resolution increasing unit of the decoder data from at least one spatial resolution increasing unit of the decoder data, the input tensor is obtained by concatenating the transformed tensor of concatenated features with the tensor obtained in the last spatial resolution reduction layer of the image encoder data , and before entering into each subsequent block for increasing spatial resolution of decoder data from at least one block for increasing spatial resolution is given The input tensor obtained in the previous decoder data upscaling block from at least one decoder data upscaling block with the tensor obtained in the corresponding downscaling layer of the image encoder data is obtained from the decoder data; and predicting (S406) by the iterative spatial distribution unit a dense depth map using a gradient depth map, a sparse depth map, and a tensor obtained in the last upscaling block of decoder data from at least one upscaling block of the decoder data, the prediction operation being dense depth maps are performed iteratively with a given number of iterations.

[0027] В одном дополнительном аспекте кодер изображения является одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.[0027] In one additional aspect, the image encoder is one of the standard pre-trained classification networks MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.

[0028] В другом дополнительном аспекте заранее заданный параметр, задающий размер преобразованного тензора конкатенированных признаков, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.[0028] In another additional aspect, the predetermined parameter specifying the size of the transformed concatenated feature tensor is a multiple of 2 and is preferably selected in the range 256-1024.

[0029] В еще одном дополнительном аспекте декодер дополнительно содержит по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных, причем каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, при этом этап (S405) дополнительно содержит этапы, на которых: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки; получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.[0029] In yet another further aspect, the decoder further comprises at least one convolution block in front of each of the at least one convolutional block of data, wherein each convolution block of the at least one convolution block comprises layers in the following order: first convolutional layer with a 1x1 kernel, the first activation layer, a convolutional layer of channel-by-channel 2D convolution, a second convolutional layer with a 1x1 kernel and a second activation layer, wherein step (S405) further comprises the steps of: dividing the input tensor into a set of n + 1 subtensors, where n is the number of convolution blocks; convolution of one subtenzor with a first convolution block of at least one convolution block; before each subsequent convolution block from at least one convolution block, the tensor obtained in the previous convolution block from at least one convolution block is divided into a set of k + 1 subtensions, where k is the number of remaining convolution blocks from at least one convolution block , and obtain a concatenated tensor by concatenating different nk subtenzors taken one from each of the nk sets of subtenzers obtained by splitting the tensors before each of the nk previous convolution blocks, to which no convolution was applied in the convolution blocks, with the subtensor obtained by dividing the tensor before each subsequent a convolution block to which convolution has not been applied in convolution blocks from at least one convolution block ; in each subsequent convolution block from at least one convolution block, convolution of the concatenated tensor obtained before this convolution block is performed; obtaining a concatenated tensor by concatenating the remaining subtenzers to which no convolution has been applied in convolution blocks from at least one convolution block; and processing by the block for increasing spatial resolution of the concatenated tensor data obtained by concatenating the remaining subtenzers to which convolution has not been applied in convolution blocks from at least one convolution block.

[0030] В еще одном дополнительном аспекте каждый из слоев активации в кодере изображения, кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.[0030] In yet another further aspect, each of the activation layers in the image encoder, the depth encoder, and the decoder is one of the layers ReLU, leaky ReLU, ReLU6, ELU.

[0031] Еще один аспект обеспечивает электронное вычислительное устройство, содержащее: по меньшей мере один процессор; и память, в которой хранятся числовые параметры обученного кодера изображения, обученного кодера глубины, модуля преобразования, обученного декодера, итеративного модуля пространственного распределения, и инструкции, которые при выполнении по меньшей мере одним процессором, заставляют по меньшей мере один процессор выполнять любой из вышеприведенных способов реконструкции карты глубины.[0031] Another aspect provides an electronic computing device, comprising: at least one processor; and a memory storing numerical parameters of a trained image encoder, a trained depth encoder, a transform unit, a trained decoder, an iterative spatial distribution unit, and instructions that, when executed by at least one processor, cause at least one processor to perform any of the above methods depth map reconstruction.

[0032] В дополнительном аспекте электронное вычислительное устройство дополнительно содержит по меньшей мере одно из камеры, датчика глубины и устройства пользовательского ввода.[0032] In a further aspect, the electronic computing device further comprises at least one of a camera, a depth sensor, and a user input device.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF DRAWINGS

[0033] Вышеописанные и другие аспекты, признаки и преимущества настоящего изобретения будут более понятны из последующего подробного описания, приведенного в сочетании с прилагаемыми чертежами, на которых:[0033] The above and other aspects, features and advantages of the present invention will be better understood from the following detailed description, taken in conjunction with the accompanying drawings, in which:

[0034] Фиг. 1 является блок-схемой средства искусственного интеллекта для реализации первого варианта осуществления способа 100 реконструкции карты глубины. [0034] FIG. 1 is a block diagram of an artificial intelligence means for implementing a first embodiment of a method 100 for reconstructing a depth map.

[0035] Фиг. 2 является блок-схемой средства искусственного интеллекта для реализации второго варианта осуществления способа 200 реконструкции карты глубины. [0035] FIG. 2 is a block diagram of an artificial intelligence tool for implementing a second embodiment of a method 200 for reconstructing a depth map.

[0036] Фиг. 3 является блок-схемой средства искусственного интеллекта для реализации третьего варианта осуществления способа 300 реконструкции карты глубины.[0036] FIG. 3 is a block diagram of an artificial intelligence tool for implementing a third embodiment of a method 300 for reconstructing a depth map.

[0037] Фиг. 4 является блок-схемой средства искусственного интеллекта для реализации четвертого варианта осуществления способа 400 реконструкции карты глубины. [0037] FIG. 4 is a block diagram of an artificial intelligence tool for implementing a fourth embodiment of a method 400 for reconstructing a depth map.

[0038] Фиг. 5 является схематичным представлением операции перемежения с использованием разделения тензора на подтензоры в декодере.[0038] FIG. 5 is a schematic diagram of an interleaving operation using sub-tensor division in a decoder.

[0039] Фиг. 6 является блок-схемой последовательности операций первого варианта осуществления способа 100 реконструкции карты глубины.[0039] FIG. 6 is a flowchart of a first embodiment of a method 100 for reconstructing a depth map.

[0040] Фиг. 7 является блок-схемой последовательности операций второго варианта осуществления способа 200 реконструкции карты глубины.[0040] FIG. 7 is a flowchart of a second embodiment of a method 200 for reconstructing a depth map.

[0041] Фиг. 8 является блок-схемой последовательности операций третьего варианта осуществления способа 300 реконструкции карты глубины.[0041] FIG. 8 is a flowchart of a third embodiment of a method 300 for reconstructing a depth map.

[0042] Фиг. 9 является блок-схемой последовательности операций четвертого варианта осуществления способа 400 реконструкции карты глубины.[0042] FIG. 9 is a flowchart of a fourth embodiment of a method 400 for reconstructing a depth map.

[0043] Фиг. 10 является блок-схемой электронного вычислительного устройства 500 для выполнения любого из заявленных вариантов способа реконструкции карты глубины.[0043] FIG. 10 is a block diagram of an electronic computing device 500 for performing any of the disclosed embodiments of a method for reconstructing a depth map.

[0044] В последующем описании, если не указано иное, одинаковые ссылочные позиции используются для одинаковых элементов, когда они изображены на разных чертежах, и их параллельное описание не приводится.[0044] In the following description, unless otherwise indicated, like reference numbers are used for like elements when shown in different drawings, and parallel descriptions thereof are omitted.

ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF EMBODIMENTS OF THE PRESENT INVENTION

[0045] Нижеследующее описание со ссылкой на прилагаемые чертежи приведено, чтобы облегчить полное понимание различных вариантов осуществления настоящего изобретения, заданного формулой изобретения, и его эквивалентов. Описание включает в себя различные конкретные подробности, чтобы облегчить такое понимание, но данные подробности следует считать только примерными. Соответственно, специалисты в данной области техники обнаружат, что можно разработать различные изменения и модификации различных вариантов осуществления, описанных в настоящей заявке, без выхода за пределы объема настоящего изобретения. Кроме того, описания общеизвестных функций и конструкций могут быть исключены для ясности и краткости.[0045] The following description, with reference to the accompanying drawings, is provided to facilitate a thorough understanding of the various embodiments of the present invention as defined by the claims and their equivalents. The description includes various specific details to facilitate such understanding, but these details are to be considered only indicative. Accordingly, those skilled in the art will find that various changes and modifications to the various embodiments described herein can be devised without departing from the scope of the present invention. In addition, descriptions of well-known functions and structures may be omitted for clarity and conciseness.

[0046] Термины и формулировки, используемые в последующем описании и формуле изобретения не ограничены библиографическим значениями, а просто использованы создателем настоящего изобретения, чтобы обеспечить четкое и последовательное понимание настоящего изобретения. Соответственно, специалистам в данной области техники должно быть ясно, что последующее описание различных вариантов осуществления настоящего изобретения предлагается только для иллюстрации.[0046] The terms and wording used in the following description and claims are not limited to bibliographic meanings, but are simply used by the inventor of the present invention to provide a clear and consistent understanding of the present invention. Accordingly, those skilled in the art will appreciate that the following description of various embodiments of the present invention is provided for illustration only.

[0047] Следует понимать, что формы единственного числа включают в себя множественность, если контекст явно не указывает иное.[0047] It should be understood that the singular includes plurality, unless the context clearly indicates otherwise.

[0048] Дополнительно следует понимать, что термины «содержит», «содержащий», «включает в себя» и/или «включающий в себя», при использовании в настоящей заявке, означают присутствие изложенных признаков, значений, операций, элементов и/или компонентов, но не исключают присутствия или добавления одного или более других признаков, значений, операций, элементов, компонентов и/или их групп.[0048] Additionally, it should be understood that the terms "comprises", "comprising", "includes" and / or "including", when used in this application, means the presence of the recited features, meanings, operations, elements and / or components, but do not exclude the presence or addition of one or more other characteristics, values, operations, elements, components and / or their groups.

[0049] Предложенные способы могут выполняться на электронном вычислительном устройстве 500, которое может представлять собой, например, мобильный телефон, смартфон, планшетный компьютер, робот-пылесос, устройство автономного управления транспортным средством и т.д. Электронное вычислительное устройство 500 содержит по меньшей мере один или более процессоров 501 и память 502. Электронное вычислительное устройство 500 содержит один или более модулей для выполнения операций способов. По меньшей мере один из множества модулей может быть реализован посредством модели искусственного интеллекта (AI). Функция, связанная с AI, может выполняться с использованием энергонезависимой памяти, энергозависимой памяти и процессора.[0049] The proposed methods may be performed on an electronic computing device 500, which may be, for example, a mobile phone, a smartphone, a tablet computer, a robot vacuum cleaner, an autonomous vehicle control device, and so on. Electronic computing device 500 includes at least one or more processors 501 and memory 502. Electronic computing device 500 includes one or more modules for performing method steps. At least one of the plurality of modules may be implemented by an artificial intelligence (AI) model. AI related function can be performed using nonvolatile memory, volatile memory and processor.

[0050] Один или более процессоров могут включать в себя процессор общего назначения, такой как центральный процессор (ЦП), процессор приложений (AP) или тому подобное, процессор для обработки графики, такой как графический процессор (GPU), блок обработки изображений (VPU) и/или специализированный процессор AI, такой как нейронный процессор (NPU).[0050] One or more processors may include a general purpose processor such as a central processing unit (CPU), an application processor (AP), or the like, a graphics processor such as a graphics processing unit (GPU), an image processing unit (VPU) ) and / or a specialized AI processor such as a neural processor (NPU).

[0051] Один или более процессоров управляют обработкой входных данных в соответствии с заданным правилом работы или моделью AI, хранящейся в энергонезависимой памяти и энергозависимой памяти. Заданное правило работы или модель AI обеспечивается посредством обучения.[0051] One or more processors control the processing of input data in accordance with a predetermined rule of operation or AI model stored in non-volatile memory and non-volatile memory. A given rule of operation or AI model is provided through training.

[0052] В данном случае обеспечение посредством обучения означает, что, применяя алгоритм обучения ко множеству обучающих данных, создается заданное правило работы или модель AI требуемой характеристики. Обучение может быть выполнено в самом устройстве, которое содержит AI в соответствии с вариантом осуществления, и/или может быть реализовано через отдельный сервер/систему.[0052] In this case, provision by training means that by applying a learning algorithm to a set of training data, a predetermined operation rule or AI model of the required characteristic is created. The training can be performed in the device itself, which contains the AI in accordance with the embodiment, and / or can be implemented via a separate server / system.

[0053] Модель AI может состоять из множества слоев нейронной сети. Каждый слой имеет множество весовых значений и выполняет операцию слоя с использованием вычисления предыдущего слоя и множества весов. Примеры нейронных сетей включают в себя, но не ограничиваются ими, сверточную нейронную сеть (CNN), глубокую нейронную сеть (DNN), рекуррентную нейронную сеть (RNN), ограниченную машину Больцмана (RBM), глубокую сеть доверия (DBN), двунаправленную рекуррентную глубокую нейронную сеть (BRDNN), генеративные состязательные сети (GAN) и глубокие Q-сети.[0053] The AI model can be composed of multiple layers of a neural network. Each layer has multiple weights and performs a layer operation using the calculation of the previous layer and multiple weights. Examples of neural networks include, but are not limited to, Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Trust Network (DBN), Bidirectional Recurrent Deep neural network (BRDNN), generative adversarial networks (GAN) and deep Q-networks.

[0054] Алгоритм обучения является способом обучения заранее заданного целевого устройства с использованием множества обучающих данных, чтобы заставлять, позволять или управлять целевым устройством для выполнения определения или предсказания. Примеры алгоритмов обучения включают, но не ограничиваются этим, обучение с учителем, обучение без учителя, обучение частично с учителем или обучение с подкреплением.[0054] A training algorithm is a method for training a predetermined target device using a plurality of training data to cause, enable, or control a target device to perform a determination or prediction. Examples of learning algorithms include, but are not limited to, supervised learning, unsupervised learning, partially supervised learning, or reinforcement learning.

[0055] В дальнейшем, различные варианты осуществления настоящего изобретения описаны более подробно со ссылкой на прилагаемые чертежи.[0055] Hereinafter, various embodiments of the present invention are described in more detail with reference to the accompanying drawings.

[0056] Настоящее изобретение предназначено для реконструкции карты глубины из данных глубины и/или изображения. Настоящее изобретение можно реализовать на электронном вычислительном устройстве с малой вычислительной мощностью, таком как мобильный телефон, смартфон, планшетный компьютер, робот-пылесос, устройство автономного управления транспортным средством и т.д. Настоящее изобретение обеспечивает получение плотной карты глубины высокого качества из разреженных данных глубины, не покрывающих все изображение, в реальном времени или по существу в реальном времени с очень малой задержкой. Например, плотная карта глубины высокого качества с размером 512×256 пикселей может быть получена на смартфоне Самсунг с процессором Exynos 8895 за 10 миллисекунд. [0056] The present invention is for reconstructing a depth map from depth and / or image data. The present invention can be implemented on a low computing power electronic computing device such as a mobile phone, smartphone, tablet computer, robot vacuum cleaner, autonomous vehicle control device, etc. The present invention provides a high quality dense depth map from sparse depth data that does not cover the entire image, in real time or substantially in real time with very low latency. For example, a dense high quality depth map with a size of 512 × 256 pixels can be obtained on a Samsung smartphone with an Exynos 8895 processor in 10 milliseconds.

[0057] На фиг. 1 показана блок-схема средства искусственного интеллекта для реализации способа 100 реконструкции карты глубины. Средство искусственного интеллекта содержит кодер изображения, кодер глубины, модуль преобразования, декодер и итеративный модуль пространственного распределения. Средство искусственного интеллекта содержится в электронном вычислительном устройстве 500, которое выполнено с возможностью осуществления способа 100 реконструкции карты глубины. Средство искусственного интеллекта предварительно обучают посредством ввода в него обучающих данных, содержащих разные изображения и разреженные карты глубины этих изображений. Такое обучение известно в уровне техники и поэтому подробно не будет описано в настоящем раскрытии. [0057] FIG. 1 shows a block diagram of an artificial intelligence tool for implementing a method 100 for reconstructing a depth map. The artificial intelligence tool contains an image encoder, a depth encoder, a transform module, a decoder, and an iterative spatial distribution module. The artificial intelligence is contained in an electronic computing device 500 that is configured to implement a method 100 for reconstructing a depth map. The artificial intelligence tool is pre-trained by inputting training data into it containing different images and sparse depth maps of these images. Such training is known in the art and therefore will not be described in detail in this disclosure.

[0058] Кодер изображения предназначен для извлечения признаков изображения из введенного в него изображения и на выходе выдает тензор признаков изображения. Изображение может быть цветным или черно-белым. Изображение может быть снято камерой, дополнительно содержащейся в электронном вычислительном устройстве 500, или извлечено из любого доступного источника, такого как Интернет, внешнее запоминающее устройство и т.п. Кодер изображения содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных и может быть любой стандартной предобученной сетью классификации, например, MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN. [0058] The image encoder is designed to extract image features from an image entered into it and outputs an image feature tensor at the output. The image can be color or black and white. The image can be captured by a camera additionally contained in the electronic computing device 500, or retrieved from any available source such as the Internet, external storage, or the like. The image encoder contains at least one convolutional layer, at least one activation layer and at least two data reduction layers and can be any standard pretrained classification network, for example, MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN ...

[0059] Кодер глубины предназначен для извлечения признаков глубины из введенной в него разреженной карты глубины и на выходе выдает тензор признаков глубины. Разреженная карта глубины может быть получена однолучевым или двухлучевым датчиком глубины, дополнительно содержащимся в электронном вычислительном устройстве 500, или извлечена из любого доступного источника, такого как Интернет, внешнее запоминающее устройство и т.п. Разреженная карта глубины содержит данные глубины, которые являются глубинами в не более двух плоскостях, перпендикулярных плоскости изображения, на изображении, введенном в кодер глубины. [0059] The depth encoder is designed to extract depth features from a sparse depth map inserted into it and outputs a tensor of depth features. The sparse depth map can be obtained from a single beam or dual beam depth sensor additionally contained in electronic computing device 500, or retrieved from any available source such as the Internet, external storage, and the like. A sparse depth map contains depth data that is depths in no more than two planes perpendicular to the image plane in the image entered into the depth encoder.

[0060] Модуль преобразования предназначен для получения преобразованного тензора конкатенированных признаков. В модуле преобразования преобразованный тензор конкатенированных признаков получают посредством конкатенации тензора признаков изображения, полученного кодером изображения, и тензора признаков глубины, полученного кодером глубины, и преобразования полученного конкатенацией тензора с использованием заранее заданного параметра, задающего размер преобразованного тензора конкатенированных признаков. Параметр, задающий размер преобразованного тензора конкатенированных признаков, является значением, кратным 2. Значение параметра, задающего размер преобразованного тензора конкатенированных признаков, выбирают на основании требований по скорости обработки и качеству плотной карты глубины, получаемой на выходе средства искусственного интеллекта для реконструкции карты глубины. Чем больше значение упомянутого параметра, тем выше качество полученной плотной карты глубины и ниже скорость обработки средства искусственного интеллекта, и чем меньше значение упомянутого параметра, тем ниже качество полученной плотной карты глубины и выше скорость обработки средства искусственного интеллекта. Предпочтительно значение параметра, задающего размер преобразованного тензора конкатенированных признаков, выбирают в диапазоне 256-1024. [0060] The transform module is designed to obtain a transformed concatenated feature tensor. In the conversion module, the transformed concatenated feature tensor is obtained by concatenating the image feature tensor obtained by the image encoder and the depth feature tensor obtained by the depth encoder, and transforming the concatenated tensor using a predetermined parameter specifying the size of the transformed concatenated feature tensor. The parameter specifying the size of the transformed concatenated feature tensor is a multiple of 2. The value of the parameter specifying the size of the transformed concatenated feature tensor is selected based on the processing speed and quality requirements of the dense depth map obtained at the output of the artificial intelligence tool for reconstructing the depth map. The higher the value of the above parameter, the higher the quality of the obtained dense depth map and the lower the processing speed of the artificial intelligence, and the lower the value of the above parameter, the lower the quality of the obtained dense depth map and the higher the processing speed of the artificial intelligence. Preferably, the value of the parameter specifying the size of the transformed tensor of concatenated features is selected in the range 256-1024.

[0061] Декодер предназначен для предсказания градиентной карты глубины с использованием преобразованного тензора конкатенированных признаков и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения. [0061] The decoder is for predicting a gradient depth map using the transformed concatenated feature tensor and the tensor obtained on each of at least two downsampling layers of the image encoder data except for the first downscaling layer of the image encoder data.

[0062] Декодер содержит по меньшей мере один блок повышения пространственного разрешения данных и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных. Каждый блок повышения пространственного разрешения данных содержит слои в следующем порядке: первый сверточный слой с ядром 1х1 (pointwise convolution), первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки (depthwise convolution), второй сверточный слой с ядром 1х1 и второй слой активации. Количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения. Такая структура декодера позволяет увеличить точность обработки данных и уменьшить время обработки данных.[0062] The decoder comprises at least one data upscaling block and a final data upscaling layer after the last data upscaling block. Each upscaling block contains layers in the following order: the first convolutional layer with a 1x1 kernel (pointwise convolution), the first activation layer, the spatial data upscaling layer, a depthwise convolution layer, the second convolutional layer with a 1x1 kernel, and second layer of activation. The number of downscaling layers of the decoder data corresponds to the number of downscaling layers of the image encoder data. Such a decoder structure makes it possible to increase the accuracy of data processing and reduce the processing time.

[0063] Тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, и причем до ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора конкатенированных признаков с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения, и до ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения. [0063] The tensor obtained in the corresponding downscaling layer of the image encoder data starting from the last spatial resolution layer of the image encoder data is used in the corresponding upscaling block of the decoder data starting from the first upscaling block of the decoder data from at least one upscaling block spatial resolution of the decoder data, and moreover, before entering into the first spatial resolution increasing unit of the decoder data from at least one spatial resolution increasing unit of the decoder data, the input tensor is obtained by concatenating the transformed tensor of concatenated features with the tensor obtained in the last spatial resolution reduction layer of the image encoder data , and before entering into each subsequent block for increasing the spatial resolution of decoder data from at least one block for increasing the spatial resolution of data d In the decoder, the input tensor is obtained by concatenating the tensor obtained in the previous decoder data upscaling block from at least one decoder data upscaling block with the tensor obtained in the corresponding downscaling layer of the image encoder data.

[0064] В примере, в котором декодер содержит два блока повышения пространственного разрешения данных и кодер изображения содержит три слоя понижения пространственного разрешения данных преобразованный тензор конкатенированных признаков, полученный в модуле преобразования, конкатенируют с тензором, полученным в третьем слое понижения пространственного разрешения данных кодера изображения, и этот конкатенированный тензор обрабатывают первым блоком повышения пространственного разрешения данных. Тензор, полученный в первом блоке повышения пространственного разрешения данных, конкатенируют с тензором, полученным во втором слое понижения пространственного разрешения данных кодера изображения, и этот конкатенированный тензор обрабатывают вторым блоком повышения пространственного разрешения данных. Затем тензор, полученный во втором блоке повышения пространственного разрешения данных, обрабатывают конечным слоем повышения пространственного разрешения данных для получения градиентной карты глубины. Данный пример предназначен только для пояснения работы декодера и не предназначен для ограничения изобретения, поскольку декодер может содержать любое количество блоков повышения пространственного разрешения данных. [0064] In an example in which the decoder comprises two data downscaling blocks and the image encoder comprises three data downscaling layers, the transformed concatenated feature tensor obtained in the transform unit is concatenated with the tensor obtained in the third downscaling layer of the image encoder data , and this concatenated tensor is processed by the first data upscaling unit. The tensor obtained in the first data upscaling unit is concatenated with the tensor obtained in the second data downscaling layer of the image encoder, and this concatenated tensor is processed by the second data upscaling unit. Then the tensor obtained in the second block of data spatial resolution is processed with the final data spatial enhancement layer to obtain a gradient depth map. This example is only intended to illustrate the operation of the decoder and is not intended to limit the invention, since the decoder may contain any number of spatial data upscaling units.

[0065] Декодер может дополнительно содержать по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных. Каждый блок свертки применяет операции перемежения с использованием разделения тензора на подтензоры и содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации. Такая структура декодера незначительно увеличивает сложность декодера, однако позволяет дополнительно увеличить точность обработки данных и сохранить малое время обработки данных.[0065] The decoder may further comprise at least one convolution block in front of each of the at least one data upscaling block. Each convolution block applies interleaving operations using tensor division into subtenzers and contains layers in the following order: first convolutional layer with 1x1 kernel, first activation layer, channel-by-channel 2D convolutional layer, second convolutional layer with 1x1 kernel, and second activation layer. Such a decoder structure insignificantly increases the complexity of the decoder, however, it makes it possible to further increase the accuracy of data processing and save a short processing time.

[0066] В блоках свертки выполняются следующие операции перемежения с использованием разделения тензора на подтензоры: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком; перед каждым последующим блоком свертки разделяют тензор, полученный в предыдущем блоке свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки; в каждом последующем блоке свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки. [0066] In the convolution blocks, the following interleaving operations are performed using the division of the tensor into subtensors: divide the input tensor into a set of n + 1 subtensions, where n is the number of convolution blocks; convolution of one subtenzor by the first block; before each subsequent convolution block, the tensor obtained in the previous convolution block is divided into a set of k + 1 subtensors, where k is the number of remaining convolution blocks, and a concatenated tensor is obtained by concatenating different nk subtensors, taken one from each of the nk sets of subtensors, obtained by splitting tensors before each of the nk previous convolution blocks, to which convolution was not applied in convolution blocks, with a subtensor obtained by dividing the tensor before each subsequent convolution block, to which convolution was not applied in convolution blocks; in each subsequent convolution block, convolution of the concatenated tensor obtained before this convolution block is performed.

[0067] Затем получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки; и выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки.[0067] The concatenated tensor is then obtained by concatenating the remaining subtenzers to which no convolution has been applied in the convolution blocks; and processing by the spatial resolution enhancing unit of the concatenated tensor data obtained by concatenating the remaining subtenzors to which convolution has not been applied in the convolution units.

[0068] На фиг. 5 показан пример, в котором декодер дополнительно содержит два блока свертки перед блоком повышения пространственного разрешения данных. Данный пример, показанный на фиг. 5, предназначен только для пояснения работы декодера и не предназначен для ограничения изобретения, поскольку декодер может содержать любое количество блоков свертки перед каждым блоком повышения пространственного разрешения данных.[0068] FIG. 5 shows an example in which the decoder further comprises two convolution blocks in front of the spatial data upscaling block. This example, shown in FIG. 5 is only intended to explain the operation of the decoder and is not intended to limit the invention, since the decoder may comprise any number of convolution blocks before each upscaling block.

[0069] В примере, показанном на фиг. 5, входной тензор разделяют на три подтензора 1, 2, 3. Подтензор 3 обрабатывают первым блоком свертки. Полученный тензор разделяют на два подтензора 3.1 и 3.2. Подтензор 1 конкатенируют с подтензором 3.1 и обрабатывают вторым блоком свертки. Полученный тензор 3.1.1 конкатенируют с подтензором 3.2 и подтензором 2 и обрабатывают блоком повышения пространственного разрешения данных.[0069] In the example shown in FIG. 5, the input tensor is divided into three subtensors 1, 2, 3. Subtensor 3 is processed by the first convolution block. The resulting tensor is divided into two subtensors 3.1 and 3.2. Subtensor 1 is concatenated with subtensor 3.1 and processed with the second convolution block. The resulting tensor 3.1.1 is concatenated with subtensor 3.2 and subtensor 2 and processed by a block for increasing the spatial data resolution.

[0070] Каждый из слоев активации в средстве искусственного интеллекта является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.[0070] Each of the activation layers in the artificial intelligence is one of the layers ReLU, leaky ReLU, ReLU6, ELU.

[0071] Итеративный модуль пространственного распределения предсказывает плотную карту глубины с использованием градиентной карты глубины, разреженной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера. Операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций. Количество итераций задается пользователем и может быть любым. Предпочтительно количество итераций равно 24. [0071] An iterative spatial distribution unit predicts a dense depth map using a gradient depth map, a sparse depth map, and a tensor obtained in the last upscaling block of the decoder data. The operation of predicting a dense depth map is performed iteratively with a given number of iterations. The number of iterations is set by the user and can be anything. Preferably, the number of iterations is 24.

[0072] Итеративный модуль пространственного распределения может быть любой сетью пространственного распределения (SPN). Однако в настоящем изобретении известная SPN дополнена тем, что при итерациях обновления плотной карты глубины значения глубины в плотной карте глубины заменяют на известные значения глубины из разреженной карты глубины, введенной в кодер глубины. Замена значений глубины в плотной карте глубины на известные значения глубины из разреженной карты глубины обеспечивает более точное отображение значений глубины в плотной карте глубины, полученной на выходе из итеративного модуля пространственного распределения. [0072] The iterative spatial distribution unit can be any spatial distribution network (SPN). However, in the present invention, the known SPN is supplemented by the fact that during iterations of updating the dense depth map, the depth values in the dense depth map are replaced with known depth values from the sparse depth map input to the depth encoder. Replacing the depth values in the dense depth map with the known depth values from the sparse depth map provides a more accurate representation of the depth values in the dense depth map from the iterative spatial distribution module.

[0073] На фиг. 2 показана блок-схема средства искусственного интеллекта для реализации способа 200 реконструкции карты глубины. Средство искусственного интеллекта содержит кодер глубины, модуль преобразования, декодер и итеративный модуль пространственного распределения. Средство искусственного интеллекта содержится в электронном вычислительном устройстве 500, которое выполнено с возможностью осуществления способа 200 реконструкции карты глубины. Средство искусственного интеллекта для реализации способа 200 предварительно обучают так же, как и средство искусственного интеллекта для реализации способа 100.[0073] FIG. 2 shows a block diagram of an artificial intelligence tool for implementing a method 200 for reconstructing a depth map. The artificial intelligence tool contains a depth encoder, a transform module, a decoder, and an iterative spatial distribution module. The artificial intelligence is contained in an electronic computing device 500 that is configured to implement a method 200 for reconstructing a depth map. The artificial intelligence tool for implementing the method 200 is pre-trained in the same way as the artificial intelligence tool for implementing the method 100.

[0074] Структуры кодера глубины, модуля преобразования, декодера и итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 200 соответствуют структурам кодера глубины, модуля преобразования, декодера и итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 100. [0074] The structures of the depth encoder, transform module, decoder, and iterative artificial intelligence spatial distribution module for implementing method 200 correspond to the structures of the depth encoder, transform module, decoder, and iterative artificial intelligence spatial distribution module for implementing method 100.

[0075] Операции, входные данные и выходные данные кодера глубины средства искусственного интеллекта для реализации способа 200 являются такими же, как и операции, входные данные и выходные данные кодера глубины средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.[0075] The operations, inputs and outputs of the AI depth encoder for implementing the method 200 are the same as the operations, inputs and outputs of the AI depth encoder for implementing the method 100. Therefore, their detailed description will be omitted.

[0076] Модуль преобразования предназначен для получения преобразованного тензора признаков глубины из тензора признаков глубины, полученного в кодере глубины, с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков глубины. Операция преобразования в модуле преобразования средства искусственного интеллекта для реализации способа 200 является такой же, как и операция преобразования в модуле преобразования средства искусственного интеллекта для реализации способа 100. Поэтому ее подробное описание будет опущено. [0076] The transform module is designed to obtain the transformed depth feature tensor from the depth feature tensor obtained in the depth encoder using a predetermined parameter specifying the size of the transformed depth feature tensor. The conversion operation in the AI conversion unit for implementing the method 200 is the same as the conversion operation in the AI conversion unit for the implementation of the method 100. Therefore, a detailed description thereof will be omitted.

[0077] Декодер предназначен для предсказания градиентной карты глубины с использованием преобразованного тензора признаков глубины в качестве входного тензора. В декодере средства искусственного интеллекта для реализации способа 200 отсутствуют операций конкатенации с тензором, полученным на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения. Остальные операции декодера средства искусственного интеллекта для реализации способа 200 являются такими же, как и операции декодера средства искусственного интеллекта для реализации способа 100, поэтому их подробное описание будет опущено.[0077] The decoder is for predicting a gradient depth map using the transformed depth cue tensor as an input tensor. In the artificial intelligence decoder for implementing the method 200, there are no concatenation operations with the tensor obtained on each of the at least two downsampling layers of the image encoder data. The remaining operations of the artificial intelligence decoder for implementing the method 200 are the same as those of the artificial intelligence decoder for implementing the method 100, so their detailed description will be omitted.

[0078] Операции, входные данные и выходные данные итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 200 являются такими же, как и операции, входные данные и выходные данные итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.[0078] The operations, inputs and outputs of the iterative AI spatial distribution module for implementing the method 200 are the same as the operations, inputs and outputs of the iterative AI spatial distribution module for implementing the method 100. Therefore, their detailed description will be omitted.

[0079] На фиг. 3 показана блок-схема средства искусственного интеллекта для реализации способа 300 реконструкции карты глубины. Средство искусственного интеллекта содержит кодер изображения, модуль преобразования, декодер и итеративный модуль пространственного распределения. Средство искусственного интеллекта содержится в электронном вычислительном устройстве 500, которое выполнено с возможностью осуществления способа 300 реконструкции карты глубины. Средство искусственного интеллекта для реализации способа 300 предварительно обучают так же, как и средство искусственного интеллекта для реализации способа 100.[0079] FIG. 3 shows a block diagram of an artificial intelligence tool for implementing a method 300 for reconstructing a depth map. The artificial intelligence tool contains an image encoder, a transform module, a decoder, and an iterative spatial distribution module. The artificial intelligence is contained in an electronic computing device 500 that is configured to implement a method 300 for reconstructing a depth map. The artificial intelligence tool for implementing the method 300 is pre-trained in the same way as the artificial intelligence tool for implementing the method 100.

[0080] Структуры кодера изображения, модуля преобразования, декодера и итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 300 соответствуют структурам кодера изображения, модуля преобразования, декодера и итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 100.[0080] The structures of the image encoder, transform module, decoder and iterative artificial intelligence spatial distribution module for implementing the method 300 correspond to the structures of the image encoder, transform module, decoder, and iterative artificial intelligence spatial distribution module for implementing the method 100.

[0081] Операции, входные данные и выходные данные кодера изображения средства искусственного интеллекта для реализации способа 300 являются такими же, как и операции, входные данные и выходные данные кодера изображения средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.[0081] The operations, inputs and outputs of the artificial intelligence image encoder for implementing the method 300 are the same as the operations, inputs and outputs of the artificial intelligence image encoder for implementing the method 100. Therefore, their detailed description will be omitted.

[0082] Модуль преобразования предназначен для получения преобразованного тензора признаков глубины из тензора признаков изображения, полученного в кодере глубины, с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков глубины. Операция преобразования в модуле преобразования средства искусственного интеллекта для реализации способа 300 является такой же, как и операция преобразования в модуле преобразования средства искусственного интеллекта для реализации способа 100. Поэтому ее подробное описание будет опущено. [0082] The transform module is designed to obtain the transformed depth feature tensor from the image feature tensor obtained in the depth encoder using a predetermined parameter specifying the size of the transformed depth feature tensor. The conversion operation in the AI conversion unit for implementing the method 300 is the same as the conversion operation in the AI conversion unit for the implementation of the method 100. Therefore, a detailed description thereof will be omitted.

[0083] Декодер предназначен для предсказания градиентной карты глубины с использованием преобразованного тензора признаков изображения и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения.[0083] The decoder is for predicting a gradient depth map using the transformed image feature tensor and the tensor obtained on each of at least two downsampling layers of the image encoder data except for the first downscaling layer of the image encoder data.

[0084] Операции и выходные данные декодера средства искусственного интеллекта для реализации способа 300 являются такими же, как и операции и выходные данные декодера средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.[0084] The operations and outputs of the artificial intelligence decoder for implementing the method 300 are the same as the operations and outputs of the artificial intelligence decoder for implementing the method 100. Therefore, their detailed description will be omitted.

[0085] В итеративном модуле пространственного распределения средства искусственного интеллекта для реализации способа 300 отсутствует операция замены значений глубины в плотной карте глубины на известные значения глубины из разреженной карты глубины при итерациях обновления плотной карты глубины. Остальные операции итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 300 являются такими же, как и операции итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 100, поэтому их подробное описание будет опущено.[0085] In the iterative spatial distribution module of the artificial intelligence tool for implementing the method 300, there is no operation of replacing depth values in the dense depth map with known depth values from the sparse depth map during iterations of updating the dense depth map. The rest of the operations of the iterative artificial intelligence spatial distribution module for implementing the method 300 are the same as those of the iterative artificial intelligence spatial distribution module for implementing the method 100, so their detailed description will be omitted.

[0086] На фиг. 4 показана блок-схема средства искусственного интеллекта для реализации способа 400 реконструкции карты глубины. Средство искусственного интеллекта содержит кодер изображения, кодер глубины, модуль преобразования, декодер и итеративный модуль пространственного распределения. Средство искусственного интеллекта содержится в электронном вычислительном устройстве 500, которое выполнено с возможностью осуществления способа 400 реконструкции карты глубины. Средство искусственного интеллекта для реализации способа 400 предварительно обучают так же, как и средство искусственного интеллекта для реализации способа 100.[0086] FIG. 4 shows a block diagram of an artificial intelligence tool for implementing a method 400 for reconstructing a depth map. The artificial intelligence tool contains an image encoder, a depth encoder, a transform module, a decoder, and an iterative spatial distribution module. The artificial intelligence is contained in an electronic computing device 500 that is configured to implement a method 400 for reconstructing a depth map. The artificial intelligence tool for implementing the method 400 is pre-trained in the same way as the artificial intelligence tool for implementing the method 100.

[0087] Структуры кодера изображения, кодера глубины, модуля преобразования, декодера и итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 400 соответствуют структурам кодера изображения, кодера глубины, модуля преобразования, декодера и итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 100. [0087] Structures of an image encoder, a depth encoder, a transform module, a decoder and an iterative spatial distribution module of the artificial intelligence means for implementing the method 400 correspond to the structures of an image encoder, a depth encoder, a transform module, a decoder, and an iterative spatial distribution module of an artificial intelligence means for implementing the method 100 ...

[0088] Операции, входные данные и выходные данные кодера изображения средства искусственного интеллекта для реализации способа 400 являются такими же, как и операции, входные данные и выходные данные кодера изображения средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.[0088] The operations, inputs and outputs of the artificial intelligence image encoder for implementing the method 400 are the same as the operations, inputs and outputs of the artificial intelligence image encoder for implementing the method 100. Therefore, their detailed description will be omitted.

[0089] Кодер глубины предназначен для извлечения признаков глубины из введенной в него разреженной карты глубины и на выходе выдает тензор признаков глубины. Разреженная карта глубины содержит данные глубины, которые являются глубинами объектов, указанными пользователем на изображении, введенном в кодер изображения. Разреженная карта глубины может быть сформирована пользователем на любом удаленном устройстве, содержащем устройство пользовательского ввода, и введена в кодер глубины из упомянутого удаленного устройства или из любого доступного источника, такого как Интернет, внешнее запоминающее устройство и т.п. Разреженная карта глубины также может быть сформирована на электронном вычислительном устройстве 500, если электронное вычислительное устройство 500 дополнительно содержит устройство пользовательского ввода. [0089] The depth encoder is designed to extract depth features from a sparse depth map inserted into it and outputs a depth feature tensor at the output. The sparse depth map contains depth data, which is the depths of objects specified by the user in the image entered into the image encoder. The sparse depth map can be generated by the user on any remote device containing a user input device and input into the depth encoder from said remote device or from any available source such as the Internet, external storage, and the like. A sparse depth map can also be generated on the electronic computing device 500 if the electronic computing device 500 further comprises a user input device.

[0090] Операции и выходные данные кодера глубины средства искусственного интеллекта для реализации способа 400 являются такими же, как и операции и выходные данные кодера глубины средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.[0090] The operations and output of the AI depth encoder for implementing the method 400 are the same as the operations and output of the AI depth encoder for the method 100. Therefore, their detailed description will be omitted.

[0091] Операции, входные данные и выходные данные декодера средства искусственного интеллекта для реализации способа 400 являются такими же, как и операции, входные данные и выходные данные декодера средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено. [0091] The operations, inputs and outputs of the artificial intelligence decoder for implementing the method 400 are the same as the operations, inputs and outputs of the artificial intelligence decoder for implementing the method 100. Therefore, their detailed description will be omitted.

[0092] Операции, входные данные и выходные данные модуля преобразования средства искусственного интеллекта для реализации способа 400 являются такими же, как и операции, входные данные и выходные данные модуля преобразования средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.[0092] The operations, inputs and outputs of the AI converting unit for implementing the method 400 are the same as the operations, inputs and outputs of the AI converting unit for implementing the method 100. Therefore, their detailed description will be omitted.

[0093] Операции, входные данные и выходные данные декодера средства искусственного интеллекта для реализации способа 400 являются такими же, как и операции, входные данные и выходные данные декодера средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.[0093] The operations, inputs and outputs of the artificial intelligence decoder for implementing the method 400 are the same as the operations, inputs and outputs of the artificial intelligence decoder for implementing the method 100. Therefore, their detailed description will be omitted.

[0094] Операции, входные данные и выходные данные итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 400 являются такими же, как и операции, входные данные и выходные данные итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено. [0094] The operations, inputs, and outputs of the iterative AI spatial distribution unit for implementing the method 400 are the same as the operations, inputs and outputs of the iterative AI spatial distribution unit for implementing the method 100. Therefore, their detailed description will be omitted.

[0095] На фиг. 6 показана блок-схема последовательности операций, иллюстрирующая первый вариант осуществления способа 100 реконструкции карты глубины. Способ 100 реконструкции карты глубины выполняется электронным вычислительным устройством 500.[0095] FIG. 6 is a flowchart illustrating a first embodiment of a method 100 for reconstructing a depth map. The method 100 for reconstructing the depth map is performed by the electronic computing device 500.

[0096] На этапе S101 получают изображение и разреженную карту глубины. Разреженная карта глубины содержит данные глубины, которые являются глубинами в не более двух плоскостях, перпендикулярных плоскости изображения, на полученном изображении.[0096] In step S101, an image and a sparse depth map are acquired. A sparse depth map contains depth data that is depths in no more than two planes perpendicular to the image plane in the resulting image.

[0097] На этапе S102 обученный кодер изображения вычисляет тензор признаков изображения посредством извлечения признаков изображения из изображения, полученного на этапе S101. Обученный кодер изображения содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных.[0097] In step S102, the trained image encoder calculates an image feature tensor by extracting image features from the image obtained in step S101. The trained image encoder comprises at least one convolutional layer, at least one activation layer, and at least two data downscaling layers.

[0098] На этапе S103 обученный кодер глубины вычисляет тензор признаков глубины посредством извлечения признаков глубины из разреженной карты глубины, полученной на этапе S101. Обученный кодер глубины содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных.[0098] In step S103, the trained depth encoder calculates a depth cue tensor by extracting depth cues from the sparse depth map obtained in step S101. The trained depth encoder comprises at least one convolutional layer, at least one activation layer, and at least two data downscaling layers.

[0099] На этапе S104 модуль преобразования вычисляет тензор конкатенированных признаков посредством конкатенации тензора признаков изображения, вычисленного на этапе S102, и тензора признаков глубины, вычисленного на этапе S103, и преобразует тензор конкатенированных признаков с использованием заранее заданного параметра, задающего размер преобразованного тензора конкатенированных признаков.[0099] In step S104, the transforming unit calculates the concatenated feature tensor by concatenating the image feature tensor calculated in step S102 and the depth feature tensor calculated in step S103, and converts the concatenated features tensor using a predetermined parameter specifying the size of the transformed concatenated feature tensor ...

[0100] На этапе S105 обученный декодер предсказывает градиентную карту глубины с использованием преобразованного тензора конкатенированных признаков, полученного на этапе S104, и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения. Декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных. Количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения. Тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера. До ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора конкатенированных признаков с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения. До ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения.[0100] In step S105, the trained decoder predicts a gradient depth map using the transformed concatenated feature tensor obtained in step S104 and the tensor obtained on each of at least two downsampling layers of the image encoder data except for the first downscaling layer of the encoder data Images. The decoder contains at least one block for increasing spatial data resolution, containing layers in the following order: first convolutional layer with a 1x1 kernel, first activation layer, layer for increasing spatial data resolution, convolutional layer of channel-by-channel two-dimensional convolution, second convolutional layer with a 1x1 kernel and a second layer activation, and the final data upscaling layer after the last data upscaling block. The number of downscaling layers of the decoder data corresponds to the number of downscaling layers of the image encoder data. The tensor obtained in the corresponding spatial resolution reduction layer of the image encoder data starting from the last spatial resolution layer of the image encoder data is used in the corresponding spatial resolution increasing unit of the decoder data starting from the first spatial resolution increasing unit of the decoder data from at least one data spatial resolution increasing unit decoder. Before entering the decoder data into the first downscaling unit from at least one decoder data upscaling unit, the input tensor is obtained by concatenating the transformed concatenated feature tensor with the tensor obtained in the last image coder data downscaling layer. Before entering into each subsequent block for increasing the spatial resolution of the decoder data from at least one block for increasing the spatial resolution of the decoder data, the input tensor is obtained by concatenating the tensor obtained in the previous block for increasing the spatial resolution of the decoder data from at least one block for increasing the spatial resolution of the decoder data, with the tensor obtained in the corresponding downsampling layer of the image encoder data.

[0101] На этапе S106 итеративный модуль пространственного распределения предсказывает плотную карту глубины с использованием градиентной карты глубины, предсказанной на этапе S105, разреженной карты глубины, полученной на этапе S105, и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.[0101] In step S106, the iterative spatial distribution unit predicts a dense depth map using the gradient depth map predicted in step S105, the sparse depth map obtained in step S105, and the tensor obtained in the last upscaling block of the decoder data from at least one block for increasing the spatial resolution of the decoder data, while the dense depth map prediction operation is performed iteratively with a predetermined number of iterations.

[0102] Кодер изображения может быть одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.[0102] The image encoder can be one of the standard pre-trained classification networks MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.

[0103] Заранее заданный параметр, задающий размер преобразованного тензора конкатенированных признаков, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.[0103] The predetermined parameter specifying the size of the transformed concatenated feature tensor is a multiple of 2 and is preferably selected in the range 256-1024.

[0104] Декодер может дополнительно содержать по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных. Каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации. При такой конфигурации декодера этап S105 дополнительно содержит операции: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполнение свертки конкатенированного тензора, полученного перед этим блоком свертки; получение конкатенированного тензора путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполнение обработки блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.[0104] The decoder may further comprise at least one convolution block in front of each of the at least one data upscaling block. Each convolution block of at least one convolution block contains layers in the following order: a first convolutional layer with a 1x1 kernel, a first activation layer, a channel-by-channel 2D convolutional layer, a second convolutional layer with a 1x1 kernel, and a second activation layer. With this decoder configuration, step S105 further comprises the steps of: dividing the input tensor into a set of n + 1 subtensions, where n is the number of convolution blocks; convolution of one subtenzor with a first convolution block of at least one convolution block; before each subsequent convolution block from at least one convolution block, the tensor obtained in the previous convolution block from at least one convolution block is divided into a set of k + 1 subtensions, where k is the number of remaining convolution blocks from at least one convolution block , and obtain a concatenated tensor by concatenating different nk subtenzors taken one from each of the nk sets of subtenzers obtained by splitting the tensors before each of the nk previous convolution blocks, to which no convolution was applied in the convolution blocks, with the subtensor obtained by dividing the tensor before each subsequent a convolution block to which convolution has not been applied in convolution blocks from at least one convolution block ; in each subsequent convolution block of at least one convolution block, performing convolution of the concatenated tensor obtained before this convolution block; obtaining a concatenated tensor by concatenating the remaining subtenzers to which no convolution has been applied in the convolution blocks from at least one convolution block; and performing processing by the spatial resolution upscaling unit on the concatenated tensor data obtained by concatenating the remaining subtenzors to which no convolution has been applied in the convolution blocks from the at least one convolution block.

[0105] Каждый из слоев активации в кодере изображения, кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.[0105] Each of the activation layers in the image encoder, the depth encoder and the decoder is one of the layers ReLU, leaky ReLU, ReLU6, ELU.

[0106] На фиг. 7 показана блок-схема последовательности операций, иллюстрирующая второй вариант осуществления способа 200 реконструкции карты глубины. Способ 200 реконструкции карты глубины выполняется электронным вычислительным устройством 500.[0106] FIG. 7 is a flowchart illustrating a second embodiment of a method 200 for reconstructing a depth map. The method 200 for reconstructing the depth map is performed by the electronic computing device 500.

[0107] На этапе S201 получают разреженную карту глубины, содержащую данные глубины на изображении.[0107] In step S201, a sparse depth map is obtained containing depth data in the image.

[0108] На этапе S203 обученный кодер глубины вычисляет тензор признаков глубины посредством извлечения признаков глубины из разреженной карты глубины, полученной на этапе S201. Обученный кодер глубины содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных.[0108] In step S203, the trained depth encoder calculates a depth cue tensor by extracting depth cues from the sparse depth map obtained in step S201. The trained depth encoder comprises at least one convolutional layer, at least one activation layer, and at least two data downscaling layers.

[0109] На этапе S204 модуль преобразования преобразует тензор признаков глубины, вычисленный на этапе S203, с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков глубины.[0109] In step S204, the transforming unit converts the depth cue tensor calculated in step S203 using a predetermined parameter specifying the size of the transformed depth cue tensor.

[0110] На этапе S205 обученный декодер предсказывает градиентную карту глубины с использованием преобразованного тензора признаков глубины, полученного на этапе S204, в качестве входного тензора. Декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных.[0110] In step S205, the trained decoder predicts the gradient depth map using the transformed depth cue tensor obtained in step S204 as an input tensor. The decoder contains at least one block for increasing spatial data resolution, containing layers in the following order: first convolutional layer with a 1x1 kernel, first activation layer, layer for increasing spatial data resolution, convolutional layer of channel-by-channel two-dimensional convolution, second convolutional layer with a 1x1 kernel and a second layer activation, and the final data upscaling layer after the last data upscaling block.

[0111] На этапе S206 итеративный модуль пространственного распределения предсказывает плотную карту глубины с использованием градиентной карты глубины, предсказанной на этапе S205, разреженной карты глубины, полученной на этапе S201, и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера. Операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.[0111] In step S206, the iterative spatial distribution unit predicts a dense depth map using the gradient depth map predicted in step S205, the sparse depth map obtained in step S201, and the tensor obtained in the last upscaling block of the decoder data from at least one block for increasing the spatial resolution of the decoder data. The operation of predicting a dense depth map is performed iteratively with a given number of iterations.

[0112] Заранее заданный параметр, задающий размер преобразованного тензора признаков глубины, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.[0112] The predetermined parameter specifying the size of the transformed depth feature tensor is a multiple of 2 and is preferably selected in the range 256-1024.

[0113] Декодер может дополнительно содержать по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных. Каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации. При такой конфигурации декодера этап S205 дополнительно содержит операции: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполнение свертки конкатенированного тензора, полученного перед этим блоком свертки; получение конкатенированного тензора путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполнение обработки блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.[0113] The decoder may further comprise at least one convolution block in front of each of the at least one data upscaling block. Each convolution block of at least one convolution block contains layers in the following order: a first convolutional layer with a 1x1 kernel, a first activation layer, a channel-by-channel 2D convolutional layer, a second convolutional layer with a 1x1 kernel, and a second activation layer. With this decoder configuration, step S205 further comprises the steps of: dividing the input tensor into a set of n + 1 subtensions, where n is the number of convolution blocks; convolution of one subtenzor with a first convolution block of at least one convolution block; before each subsequent convolution block from at least one convolution block, the tensor obtained in the previous convolution block from at least one convolution block is divided into a set of k + 1 subtensions, where k is the number of remaining convolution blocks from at least one convolution block , and obtain a concatenated tensor by concatenating different nk subtenzors taken one from each of the nk sets of subtenzers obtained by splitting the tensors before each of the nk previous convolution blocks, to which no convolution was applied in the convolution blocks, with the subtensor obtained by dividing the tensor before each subsequent a convolution block to which convolution has not been applied in convolution blocks from at least one convolution block ; in each subsequent convolution block of at least one convolution block, performing convolution of the concatenated tensor obtained before this convolution block; obtaining a concatenated tensor by concatenating the remaining subtenzers to which no convolution has been applied in the convolution blocks from at least one convolution block; and performing processing by the spatial resolution upscaling unit on the concatenated tensor data obtained by concatenating the remaining subtenzors to which no convolution has been applied in the convolution blocks from the at least one convolution block.

[0114] Каждый из слоев активации в кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.[0114] Each of the activation layers in the depth encoder and decoder is one of the layers ReLU, leaky ReLU, ReLU6, ELU.

[0115] На фиг. 8 показана блок-схема последовательности операций, иллюстрирующая третий вариант осуществления способа 300 реконструкции карты глубины. Способ 300 реконструкции карты глубины выполняется электронным вычислительным устройством 500. [0115] FIG. 8 is a flowchart illustrating a third embodiment of a method 300 for reconstructing a depth map. The method 300 for reconstructing the depth map is performed by the electronic computing device 500.

[0116] На этапе S301 получают изображение.[0116] In step S301, an image is acquired.

[0117] На этапе S302 обученный кодер изображения вычисляет тензор признаков изображения посредством извлечения признаков изображения из изображения, полученного на этапе S301. Обученный кодер изображения содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных.[0117] In step S302, the trained image encoder calculates an image feature tensor by extracting image features from the image obtained in step S301. The trained image encoder comprises at least one convolutional layer, at least one activation layer, and at least two data downscaling layers.

[0118] На этапе S304 модуль преобразования преобразует тензор признаков изображения, вычисленный на этапе S302, с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков изображения.[0118] In step S304, the transforming unit converts the image feature tensor calculated in step S302 using a predetermined parameter specifying the size of the transformed image feature tensor.

[0119] На этапе S305 обученный декодер предсказывает градиентную карту глубины с использованием преобразованного тензора признаков изображения, полученного на этапе S304, и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения. Декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных. Количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения. Тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера. До ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора признаков изображения с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения. До ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения.[0119] In step S305, the trained decoder predicts a gradient depth map using the transformed image feature tensor obtained in step S304 and the tensor obtained on each of at least two downsampling layers of the image encoder data except for the first downscaling layer of the encoder data Images. The decoder contains at least one block for increasing spatial data resolution, containing layers in the following order: first convolutional layer with a 1x1 kernel, first activation layer, layer for increasing spatial data resolution, convolutional layer of channel-by-channel two-dimensional convolution, second convolutional layer with a 1x1 kernel and a second layer activation, and the final data upscaling layer after the last data upscaling block. The number of downscaling layers of the decoder data corresponds to the number of downscaling layers of the image encoder data. The tensor obtained in the corresponding spatial resolution reduction layer of the image encoder data starting from the last spatial resolution layer of the image encoder data is used in the corresponding spatial resolution increasing unit of the decoder data starting from the first spatial resolution increasing unit of the decoder data from at least one data spatial resolution increasing unit decoder. Before entering the decoder data into the first downscaling unit from at least one decoder data upscaling unit, the input tensor is obtained by concatenating the transformed image feature tensor with the tensor obtained in the last image coder data downscaling layer. Before entering into each subsequent block for increasing the spatial resolution of the decoder data from at least one block for increasing the spatial resolution of the decoder data, the input tensor is obtained by concatenating the tensor obtained in the previous block for increasing the spatial resolution of the decoder data from at least one block for increasing the spatial resolution of the decoder data, with the tensor obtained in the corresponding downsampling layer of the image encoder data.

[0120] На этапе S306 итеративный модуль пространственного распределения предсказывает плотную карту глубины с использованием градиентной карты глубины, предсказанной на этапе S305, и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера. Операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.[0120] In step S306, the iterative spatial distribution unit predicts a dense depth map using the gradient depth map predicted in step S305 and the tensor obtained in the last upscaling block of the decoder data from at least one upscaling block of the decoder data. The operation of predicting a dense depth map is performed iteratively with a given number of iterations.

[0121] Кодер изображения может быть одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.[0121] The image encoder can be one of the standard pre-trained classification networks MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.

[0122] Заранее заданный параметр, задающий размер преобразованного тензора признаков изображения является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.[0122] The predetermined parameter specifying the size of the transformed image feature tensor is a multiple of 2 and is preferably selected in the range of 256-1024.

[0123] Декодер может дополнительно содержать по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных. Каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации. При такой конфигурации декодера этап S305 дополнительно содержит операции: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполнение свертки конкатенированного тензора, полученного перед этим блоком свертки; получение конкатенированного тензора путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполнение обработки блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.[0123] The decoder may further comprise at least one convolution block in front of each of the at least one data upscaling block. Each convolution block of at least one convolution block contains layers in the following order: a first convolutional layer with a 1x1 kernel, a first activation layer, a channel-by-channel 2D convolutional layer, a second convolutional layer with a 1x1 kernel, and a second activation layer. With this decoder configuration, step S305 further comprises the steps of: dividing the input tensor into a set of n + 1 sub-tensors, where n is the number of convolution blocks; convolution of one subtenzor with a first convolution block of at least one convolution block; before each subsequent convolution block from at least one convolution block, the tensor obtained in the previous convolution block from at least one convolution block is divided into a set of k + 1 subtenzers, where k is the number of remaining convolution blocks from at least one convolution block , and obtain a concatenated tensor by concatenating different nk subtenzors taken one from each of the nk sets of subtenzers obtained by splitting the tensors before each of the nk previous convolution blocks, to which no convolution was applied in the convolution blocks, with the subtensor obtained by dividing the tensor before each subsequent a convolution block to which convolution has not been applied in convolution blocks from at least one convolution block ; in each subsequent convolution block of at least one convolution block, performing convolution of the concatenated tensor obtained before this convolution block; obtaining a concatenated tensor by concatenating the remaining subtenzers to which no convolution has been applied in the convolution blocks from at least one convolution block; and performing processing by the spatial resolution upscaling unit on the concatenated tensor data obtained by concatenating the remaining subtenzors to which no convolution has been applied in the convolution blocks from the at least one convolution block.

[0124] Каждый из слоев активации в кодере изображения и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU. [0124] Each of the activation layers in the image encoder and decoder is one of the layers ReLU, leaky ReLU, ReLU6, ELU.

[0125] На фиг. 9 показана блок-схема последовательности операций, иллюстрирующая четвертый вариант осуществления способа 400 реконструкции карты глубины. Способ 400 реконструкции карты глубины выполняется электронным вычислительным устройством 500. [0125] FIG. 9 is a flowchart illustrating a fourth embodiment of a method 400 for reconstructing a depth map. A method 400 for reconstructing a depth map is performed by an electronic computing device 500.

[0126] На этапе S401 получают изображение и разреженную карту глубины. Разреженная карта глубины содержит данные глубины, которые являются глубинами объектов, указанными пользователем на полученном изображении.[0126] In step S401, an image and a sparse depth map are acquired. The sparse depth map contains depth data, which is the depth of objects specified by the user in the captured image.

[0127] На этапе S402 обученный кодер изображения вычисляет тензор признаков изображения посредством извлечения признаков изображения из изображения, полученного на этапе S401. Обученный кодер изображения содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных.[0127] In step S402, the trained image encoder calculates an image feature tensor by extracting image features from the image obtained in step S401. The trained image encoder comprises at least one convolutional layer, at least one activation layer, and at least two data downscaling layers.

[0128] На этапе S403 обученный кодер глубины вычисляет тензор признаков глубины посредством извлечения признаков глубины из разреженной карты глубины, полученной на этапе S401. Обученный кодер глубины содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных.[0128] In step S403, the trained depth encoder calculates a depth cue tensor by extracting depth cues from the sparse depth map obtained in step S401. The trained depth encoder comprises at least one convolutional layer, at least one activation layer, and at least two data downscaling layers.

[0129] На этапе S404 модуль преобразования вычисляет тензор конкатенированных признаков посредством конкатенации тензора признаков изображения, вычисленного на этапе S402, и тензора признаков глубины, вычисленного на этапе S403, и преобразует тензор конкатенированных признаков с использованием заранее заданного параметра, задающего размер преобразованного тензора конкатенированных признаков.[0129] In step S404, the transform module calculates the concatenated feature tensor by concatenating the image feature tensor calculated in step S402 and the depth feature tensor calculated in step S403, and converts the concatenated features tensor using a predetermined parameter specifying the size of the transformed concatenated feature tensor ...

[0130] На этапе S405 обученный декодер предсказывает градиентную карту глубины с использованием преобразованного тензора конкатенированных признаков, полученного на этапе S404, и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения. Декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных. Количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения. Тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера. До ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора конкатенированных признаков с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения. До ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения.[0130] In step S405, the trained decoder predicts a gradient depth map using the transformed concatenated feature tensor obtained in step S404 and the tensor obtained on each of at least two downsampling layers of the image encoder data other than the first downscaling layer of the encoder data Images. The decoder contains at least one block for increasing spatial data resolution, containing layers in the following order: first convolutional layer with a 1x1 kernel, first activation layer, layer for increasing spatial data resolution, convolutional layer of channel-by-channel two-dimensional convolution, second convolutional layer with a 1x1 kernel and a second layer activation, and the final data upscaling layer after the last data upscaling block. The number of downscaling layers of the decoder data corresponds to the number of downscaling layers of the image encoder data. The tensor obtained in the corresponding spatial resolution reduction layer of the image encoder data starting from the last spatial resolution layer of the image encoder data is used in the corresponding spatial resolution increasing unit of the decoder data starting from the first spatial resolution increasing unit of the decoder data from at least one data spatial resolution increasing unit decoder. Before entering the decoder data into the first downscaling unit from at least one decoder data upscaling unit, the input tensor is obtained by concatenating the transformed concatenated feature tensor with the tensor obtained in the last image coder data downscaling layer. Before entering into each subsequent block for increasing the spatial resolution of the decoder data from at least one block for increasing the spatial resolution of the decoder data, the input tensor is obtained by concatenating the tensor obtained in the previous block for increasing the spatial resolution of the decoder data from at least one block for increasing the spatial resolution of the decoder data, with the tensor obtained in the corresponding downsampling layer of the image encoder data.

[0131] На этапе S406 итеративный модуль пространственного распределения предсказывает плотную карту глубины с использованием градиентной карты глубины, предсказанной на этапе S405, разреженной карты глубины, полученной на этапе S401, и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера. Операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.[0131] In step S406, the iterative spatial distribution unit predicts a dense depth map using the gradient depth map predicted in step S405, the sparse depth map obtained in step S401, and the tensor obtained in the last spatial upscaling block of the decoder data from at least one block for increasing the spatial resolution of the decoder data. The operation of predicting a dense depth map is performed iteratively with a given number of iterations.

[0132] Кодер изображения может быть одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.[0132] The image encoder can be one of the standard pre-trained classification networks MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.

[0133] Заранее заданный параметр, задающий размер преобразованного тензора конкатенированных признаков, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.[0133] The predetermined parameter specifying the size of the transformed concatenated feature tensor is a multiple of 2 and is preferably selected in the range 256-1024.

[0134] Декодер может дополнительно содержать по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных. Каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации. При такой конфигурации декодера этап S405 дополнительно содержит операции: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполнение свертки конкатенированного тензора, полученного перед этим блоком свертки; получение конкатенированного тензора путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполнение обработки блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.[0134] The decoder may further comprise at least one convolution block in front of each of the at least one data upscaling block. Each convolution block of at least one convolution block contains layers in the following order: a first convolutional layer with a 1x1 kernel, a first activation layer, a channel-by-channel 2D convolutional layer, a second convolutional layer with a 1x1 kernel, and a second activation layer. With this decoder configuration, step S405 further comprises the steps of: dividing the input tensor into a set of n + 1 sub-tensors, where n is the number of convolution blocks; convolution of one subtenzor with a first convolution block of at least one convolution block; before each subsequent convolution block from at least one convolution block, the tensor obtained in the previous convolution block from at least one convolution block is divided into a set of k + 1 subtensions, where k is the number of remaining convolution blocks from at least one convolution block , and obtain a concatenated tensor by concatenating different nk subtenzors taken one from each of the nk sets of subtenzers obtained by splitting the tensors before each of the nk previous convolution blocks, to which no convolution was applied in the convolution blocks, with the subtensor obtained by dividing the tensor before each subsequent a convolution block to which convolution has not been applied in convolution blocks from at least one convolution block ; in each subsequent convolution block of at least one convolution block, performing convolution of the concatenated tensor obtained before this convolution block; obtaining a concatenated tensor by concatenating the remaining subtenzers to which no convolution has been applied in the convolution blocks from at least one convolution block; and performing processing by the spatial resolution upscaling unit on the concatenated tensor data obtained by concatenating the remaining subtenzors to which no convolution has been applied in the convolution blocks from the at least one convolution block.

[0135] Каждый из слоев активации в кодере изображения, кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU. [0135] Each of the activation layers in the image encoder, the depth encoder and the decoder is one of the layers ReLU, leaky ReLU, ReLU6, ELU.

[0136] На Фиг. 10 показана блок-схема, иллюстрирующая электронное вычислительное устройство 500, выполненное с возможностью выполнения любого из способов 100, 200, 300, 400 реконструкции карты глубины. Электронное вычислительное устройство 500 содержит по меньшей мере один процессор 501 и память 502. Память 502 хранит числовые параметры обученного кодера изображения, обученного кодера глубины, модуля преобразования, обученного декодера, итеративного модуля пространственного распределения, и инструкции, которые при выполнении по меньшей мере одним процессором 501, заставляют по меньшей мере один процессор 501 выполнять любой из способов 100, 200, 300, 400 реконструкции карты глубины.[0136] FIG. 10 is a block diagram illustrating an electronic computing device 500 configured to perform any of methods 100, 200, 300, 400 for reconstructing a depth map. The electronic computing device 500 includes at least one processor 501 and a memory 502. The memory 502 stores the numerical parameters of a trained image encoder, a trained depth encoder, a transform unit, a trained decoder, an iterative spatial distribution unit, and instructions that when executed by at least one processor 501 cause at least one processor 501 to perform any of the depth map reconstruction methods 100, 200, 300, 400.

[0137] Электронное вычислительное устройство может дополнительно содержать по меньшей мере одно из камеры, датчика глубины и устройства пользовательского ввода. Камера предназначена по меньшей мере для съемки изображения, подаваемого на вход кодера изображения. Датчик глубины предназначен по меньшей мере для получения разреженной карты глубины, подаваемой на вход кодера глубины. Датчик глубины может быть любым датчиком глубины, например, однолучевым или двухлучевым датчиком глубины. Устройство пользовательского ввода предназначено по меньшей мере для ввода пользователем данных глубины посредством указания глубины объектов на изображении при формировании разреженной карты глубины.[0137] The electronic computing device may further comprise at least one of a camera, a depth sensor, and a user input device. The camera is intended at least for capturing the image supplied to the input of the image encoder. The depth sensor is designed to at least obtain a sparse depth map fed to the input of the depth encoder. The depth sensor can be any depth sensor such as a single beam or dual beam depth sensor. The user input device is intended for at least a user input of depth data by indicating the depth of objects in the image when generating a sparse depth map.

[0138] Кроме того, способы, раскрытые в данном документе, могут быть реализованы на считываемом компьютером носителе, который хранит числовые параметры обученных средств искусственного интеллекта и исполняемые компьютером инструкции, которые при выполнении процессором компьютера, заставляют компьютер выполнять способы изобретения. Обученные средства искусственного интеллекта и инструкции для реализации настоящих способов могут быть загружены в электронное вычислительное устройство через сеть или с носителя.[0138] In addition, the methods disclosed herein may be implemented on a computer-readable medium that stores numeric parameters of trained artificial intelligence and computer-executable instructions that, when executed by a computer processor, cause a computer to perform the methods of the invention. Trained artificial intelligence and instructions for implementing the present methods can be downloaded to an electronic computing device via a network or from a medium.

[0139] Вышеприведенные описания вариантов осуществления изобретения являются иллюстративными, и модификации конфигурации и реализации не выходят за пределы объема настоящего описания. Например, хотя варианты осуществления изобретения описаны, в общем, в связи с фигурами 1-10, приведенные описания являются примерными. Хотя предмет изобретения описан на языке, характерном для конструктивных признаков или методологических операций, понятно, что предмет изобретения, определяемый прилагаемой формулой изобретения, не обязательно ограничен конкретными вышеописанными признаками или операциями. Более того, конкретные вышеописанные признаки и операции раскрыты как примерные формы реализации формулы изобретения. Изобретение не ограничено также показанным порядком этапов способа, порядок может быть видоизменен специалистом без новаторских нововведений. Некоторые или все этапы способа могут выполняться последовательно или параллельно.[0139] The foregoing descriptions of embodiments of the invention are illustrative, and modifications to the configuration and implementation are within the scope of the present description. For example, although embodiments of the invention have been described generally in connection with Figures 1-10, the descriptions provided are exemplary. While the subject matter of the invention has been described in language characteristic of design features or methodological operations, it is understood that the subject matter of the appended claims is not necessarily limited to the specific features or operations described above. Moreover, the specific features and operations described above are disclosed as exemplary forms of implementing the claims. The invention is also not limited to the shown order of the method steps, the order can be modified by a person skilled in the art without innovative innovations. Some or all of the steps of the method can be performed sequentially or in parallel.

[0140] Соответственно предполагается, что объем вариантов осуществления изобретения ограничивается только нижеследующей формулой изобретения.[0140] Accordingly, the scope of the embodiments is intended to be limited only by the following claims.

Claims (69)

1. Способ реконструкции карты глубины, при этом упомянутый способ содержит этапы, на которых:1. A method for reconstructing a depth map, wherein said method comprises the steps at which: получают (S101) изображение и разреженную карту глубины, содержащую данные глубины, которые являются глубинами в не более двух плоскостях, перпендикулярных плоскости изображения, на полученном изображении;obtaining (S101) an image and a sparse depth map containing depth data that are depths in at most two planes perpendicular to the image plane in the acquired image; вычисляют (S102) обученным кодером изображения, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков изображения посредством извлечения признаков изображения из полученного изображения;calculating (S102) an image feature tensor by a trained image encoder comprising at least one convolutional layer, at least one activation layer and at least two data spatial resolution reduction layers by extracting image features from the obtained image; вычисляют (S103) обученным кодером глубины, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков глубины посредством извлечения признаков глубины из полученной разреженной карты глубины;calculating (S103) a trained depth encoder containing at least one convolutional layer, at least one activation layer and at least two layers of data spatial resolution reduction, a depth feature tensor by extracting depth features from the obtained sparse depth map; вычисляют (S104) модулем преобразования тензор конкатенированных признаков посредством конкатенации тензора признаков изображения и тензора признаков глубины и преобразуют модулем преобразования тензор конкатенированных признаков с использованием заранее заданного параметра, задающего размер преобразованного тензора конкатенированных признаков;calculating (S104) the concatenated feature tensor by concatenating the image feature tensor and the depth feature tensor, and converting the concatenated feature tensor using a predetermined parameter specifying the size of the transformed concatenated feature tensor (S104); предсказывают (S105) обученным декодером градиентную карту глубины с использованием преобразованного тензора конкатенированных признаков и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения, кроме первого слоя понижения пространственного разрешения данных кодера изображения, причем декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных, причем количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения, и тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя понижения пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, и причем до ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора конкатенированных признаков с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения, и до ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения; и predicting (S105) a gradient depth map by the trained decoder using the transformed concatenated feature tensor and the tensor obtained on each of at least two downsampling layers of the image encoder data, except for the first downscaling layer of the image encoder data, the decoder comprising at least one block for increasing spatial data resolution, containing layers in the following order: first convolutional layer with a 1x1 kernel, first activation layer, a layer of increasing spatial data resolution, a convolutional layer of channel-by-channel 2D convolution, a second convolutional layer with a 1x1 kernel and a second activation layer and a final enhancement layer spatial data resolution after the last block for increasing the spatial data resolution, and the number of layers for increasing the spatial resolution of the decoder data corresponds to the number of layers for reducing the spatial resolution of the data of the iso image, and the tensor obtained in the corresponding downscaling layer of the image encoder data starting from the last downsizing layer of the image encoder data is used in the corresponding downscaling block of the decoder data starting from the first downscaling block of the decoder data from at least one block increasing the spatial resolution of the decoder data, and moreover, before entering into the first block for increasing the spatial resolution of the decoder data from at least one block for increasing the spatial resolution of the decoder data, the input tensor is obtained by concatenating the transformed tensor of concatenated features with the tensor obtained in the last layer of lowering the spatial resolution of the encoder data image, and before entering into each subsequent block for increasing the spatial resolution of decoder data from at least one block for increasing spatial resolution Decoding the decoder data, the input tensor is obtained by concatenating the tensor obtained in the previous decoder data upscaling block from at least one decoder data upscaling block with the tensor obtained in the corresponding downscaling layer of the image encoder data; and предсказывают (S106) итеративным модулем пространственного распределения плотную карту глубины с использованием градиентной карты глубины, разреженной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.predicting (S106) a dense depth map by the iterative spatial distribution module using a gradient depth map, a sparse depth map and a tensor obtained in the last spatial upscaling block of decoder data from at least one upscaling block of decoder data, while the dense map prediction operation depth is performed iteratively with a given number of iterations. 2. Способ по п. 1, в котором кодер изображения является одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.2. The method according to claim 1, wherein the image encoder is one of the standard pretrained classification networks MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN. 3. Способ по п. 1, в котором заранее заданный параметр, задающий размер преобразованного тензора конкатенированных признаков, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.3. The method according to claim 1, wherein the predetermined parameter specifying the size of the transformed concatenated feature tensor is a multiple of 2 and preferably selected in the range 256-1024. 4. Способ по п. 1, в котором декодер дополнительно содержит по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных, причем каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, при этом этап (S105) дополнительно содержит этапы, на которых:4. The method according to claim. 1, in which the decoder further comprises at least one convolution block in front of each of the at least one block for increasing spatial data resolution, and each convolution block of the at least one convolution block contains layers in the following order: first a convolutional layer with a 1x1 kernel, a first activation layer, a channel-by-channel 2D convolutional layer, a second convolutional layer with a 1x1 kernel, and a second activation layer, wherein step (S105) further comprises: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки;dividing the input tensor into a set of n + 1 sub-tensors, where n is the number of convolution blocks; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки;convolution of one subtenzor with a first convolution block of at least one convolution block; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки;before each subsequent convolution block from at least one convolution block, the tensor obtained in the previous convolution block from at least one convolution block is divided into a set of k + 1 subtensions, where k is the number of remaining convolution blocks from at least one convolution block , and obtain a concatenated tensor by concatenating different nk subtenzors taken one from each of the nk sets of subtenzers obtained by splitting the tensors before each of the nk previous convolution blocks, to which no convolution was applied in the convolution blocks, with the subtensor obtained by dividing the tensor before each subsequent a convolution block to which convolution has not been applied in convolution blocks from at least one convolution block; в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки;in each subsequent convolution block from at least one convolution block, convolution of the concatenated tensor obtained before this convolution block is performed; получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; иobtaining a concatenated tensor by concatenating the remaining subtenzers to which no convolution has been applied in convolution blocks from at least one convolution block; and выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.processing by the block for increasing the spatial resolution of the concatenated tensor data obtained by concatenating the remaining subtenzors to which convolution was not applied in convolution blocks from at least one convolution block. 5. Способ по п. 4, в котором каждый из слоев активации в кодере изображения, кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.5. The method of claim 4, wherein each of the activation layers in the image encoder, the depth encoder, and the decoder is one of ReLU, leaky ReLU, ReLU6, ELU. 6. Способ реконструкции карты глубины, при этом упомянутый способ содержит этапы, на которых:6. A method for reconstructing a depth map, wherein said method comprises the steps at which: получают (S201) разреженную карту глубины, содержащую данные глубины на изображении;obtaining (S201) a sparse depth map containing depth data in the image; вычисляют (S203) обученным кодером глубины, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков глубины посредством извлечения признаков глубины из полученной разреженной карты глубины;calculating (S203) by a trained depth encoder comprising at least one convolutional layer, at least one activation layer and at least two data spatial resolution reduction layers, a depth feature tensor by extracting depth features from the obtained sparse depth map; преобразуют (S204) модулем преобразования тензор признаков глубины с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков глубины;converting (S204) the conversion unit depth feature tensor using a predetermined parameter specifying the size of the transformed depth feature tensor; предсказывают (S205) обученным декодером градиентную карту глубины с использованием преобразованного тензора признаков глубины в качестве входного тензора, причем декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных; иpredicting (S205) a gradient depth map by a trained decoder using the transformed depth feature tensor as an input tensor, the decoder comprising at least one upscaling unit comprising layers in the following order: first convolutional layer with 1x1 core, first activation layer, a layer for increasing the spatial resolution of data, a convolutional layer of channel-by-channel two-dimensional convolution, a second convolutional layer with a 1x1 kernel and a second activation layer and a final layer for increasing the spatial resolution of data after the last block for increasing the spatial data resolution; and предсказывают (S206) итеративным модулем пространственного распределения плотную карту глубины с использованием градиентной карты глубины, разреженной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.predicting (S206) by the iterative spatial distribution unit a dense depth map using a gradient depth map, a sparse depth map and a tensor obtained in the last upscaling block of decoder data from at least one upscaling block of decoder data, the dense map prediction operation depth is performed iteratively with a given number of iterations. 7. Способ по п. 6, в котором заранее заданный параметр, задающий размер преобразованного тензора признаков глубины, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.7. The method according to claim 6, wherein the predetermined parameter specifying the size of the transformed depth feature tensor is a multiple of 2 and preferably selected in the range of 256-1024. 8. Способ по п. 6, в котором декодер дополнительно содержит по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных, причем каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, при этом этап (S205) дополнительно содержит этапы, на которых:8. The method according to claim 6, wherein the decoder further comprises at least one convolution block in front of each of the at least one convolution block of data, and each convolution block of the at least one convolution block contains layers in the following order: first a 1x1 convolutional layer, a first activation layer, a channel-by-channel 2D convolutional layer, a 1x1 second convolutional layer, and a second activation layer, wherein step (S205) further comprises: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки;dividing the input tensor into a set of n + 1 sub-tensors, where n is the number of convolution blocks; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки;convolution of one subtenzor with a first convolution block of at least one convolution block; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки;before each subsequent convolution block from at least one convolution block, the tensor obtained in the previous convolution block from at least one convolution block is divided into a set of k + 1 subtensions, where k is the number of remaining convolution blocks from at least one convolution block , and obtain a concatenated tensor by concatenating different nk subtenzors taken one from each of the nk sets of subtenzers obtained by splitting the tensors before each of the nk previous convolution blocks, to which no convolution was applied in the convolution blocks, with the subtensor obtained by dividing the tensor before each subsequent a convolution block to which convolution has not been applied in convolution blocks from at least one convolution block; в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки;in each subsequent convolution block from at least one convolution block, convolution of the concatenated tensor obtained before this convolution block is performed; получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; иobtaining a concatenated tensor by concatenating the remaining subtenzers to which no convolution has been applied in convolution blocks from at least one convolution block; and выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.processing by the block for increasing the spatial resolution of the concatenated tensor data obtained by concatenating the remaining subtenzors to which convolution was not applied in convolution blocks from at least one convolution block. 9. Способ по п. 8, в котором каждый из слоев активации в кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.9. The method of claim 8, wherein each of the activation layers in the depth encoder and decoder is one of ReLU, leaky ReLU, ReLU6, ELU. 10. Способ реконструкции карты глубины, при этом упомянутый способ содержит этапы, на которых:10. A method for reconstructing a depth map, wherein said method comprises the steps at which: получают (S301) изображение;get (S301) an image; вычисляют (S302) обученным кодером изображения, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков изображения посредством извлечения признаков изображения из полученного изображения;calculating (S302) an image feature tensor by a trained image encoder comprising at least one convolutional layer, at least one activation layer and at least two data spatial resolution reduction layers by extracting image features from the obtained image; преобразуют (S304) модулем преобразования тензор признаков изображения с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков изображения;converting (S304) the image feature tensor using a predetermined parameter specifying the size of the transformed image feature tensor (S304); предсказывают (S305) обученным декодером градиентную карту глубины с использованием преобразованного тензора признаков изображения и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения, кроме первого слоя понижения пространственного разрешения данных кодера изображения, причем декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных, причем количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения, и тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя понижения пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, и причем до ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора признаков изображения с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения, и до ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения; иpredicting (S305) a gradient depth map by the trained decoder using the transformed image feature tensor and the tensor obtained on each of at least two downsampling layers of the image encoder data, except for the first downscaling layer of the image encoder data, the decoder comprising at least one block for increasing spatial data resolution, containing layers in the following order: first convolutional layer with a 1x1 kernel, first activation layer, a layer of increasing spatial data resolution, a convolutional layer of channel-by-channel 2D convolution, a second convolutional layer with a 1x1 kernel and a second activation layer and a final enhancement layer spatial data resolution after the last block for increasing the spatial data resolution, and the number of layers for increasing the spatial resolution of the decoder data corresponds to the number of layers for reducing the spatial resolution of the encoder data. and the tensor obtained in the corresponding spatial resolution reduction layer of the image encoder data starting from the last spatial resolution reduction layer of the image encoder data is used in the corresponding spatial resolution increasing unit of the decoder data starting from the first spatial resolution increasing unit of the decoder data from at least one block increasing the spatial resolution of the decoder data, and moreover, before entering into the first block for increasing the spatial resolution of the decoder data from at least one block for increasing the spatial resolution of the decoder data, the input tensor is obtained by concatenating the transformed tensor of the image features with the tensor obtained in the last layer of lowering the spatial resolution of the encoder data image, and before entering into each subsequent block for increasing the spatial resolution of decoder data from at least one block for increasing spatial resolution of the data x of the decoder, the input tensor is obtained by concatenating the tensor obtained in the previous decoder data upscaling block from at least one decoder data upscaling block with the tensor obtained in the corresponding downscaling layer of the image encoder data; and предсказывают (S306) итеративным модулем пространственного распределения плотную карту глубины с использованием градиентной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.predict (S306) a dense depth map by an iterative spatial distribution unit using a gradient depth map and a tensor obtained in the last upscaling block of decoder data from at least one upscaling block of decoder data, wherein the dense depth map prediction operation is performed iteratively with a given number of iterations. 11. Способ по п. 10, в котором кодер изображения является одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.11. The method of claim 10, wherein the image encoder is one of the standard pretrained classification networks MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN. 12. Способ по п. 10, в котором заранее заданный параметр, задающий размер преобразованного тензора признаков изображения, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.12. The method of claim 10, wherein the predetermined parameter specifying the size of the transformed image feature tensor is a multiple of 2 and preferably selected in the range 256-1024. 13. Способ по п. 10, в котором декодер дополнительно содержит по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных, причем каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, при этом этап (S305) дополнительно содержит этапы, на которых:13. The method according to claim 10, wherein the decoder further comprises at least one convolution block in front of each of the at least one convolution block of data, and each convolution block of the at least one convolution block contains layers in the following order: first a convolutional layer with a 1x1 kernel, a first activation layer, a channel-by-channel 2D convolutional layer, a second convolutional layer with a 1x1 kernel, and a second activation layer, wherein step (S305) further comprises: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки;dividing the input tensor into a set of n + 1 sub-tensors, where n is the number of convolution blocks; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки;convolution of one subtenzor with a first convolution block of at least one convolution block; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки;before each subsequent convolution block from at least one convolution block, the tensor obtained in the previous convolution block from at least one convolution block is divided into a set of k + 1 subtensions, where k is the number of remaining convolution blocks from at least one convolution block , and obtain a concatenated tensor by concatenating different nk subtenzors taken one from each of the nk sets of subtenzers obtained by splitting the tensors before each of the nk previous convolution blocks, to which no convolution was applied in the convolution blocks, with the subtensor obtained by dividing the tensor before each subsequent a convolution block to which convolution has not been applied in convolution blocks from at least one convolution block; в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки;in each subsequent convolution block from at least one convolution block, convolution of the concatenated tensor obtained before this convolution block is performed; получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; иobtaining a concatenated tensor by concatenating the remaining subtenzers to which no convolution has been applied in convolution blocks from at least one convolution block; and выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.processing by the block for increasing the spatial resolution of the concatenated tensor data obtained by concatenating the remaining subtenzors to which convolution was not applied in convolution blocks from at least one convolution block. 14. Способ по п. 13, в котором каждый из слоев активации в кодере изображения и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.14. The method of claim 13, wherein each of the activation layers in the image encoder and decoder is one of ReLU, leaky ReLU, ReLU6, ELU. 15. Способ реконструкции карты глубины, при этом упомянутый способ содержит этапы, на которых:15. A method for reconstructing a depth map, wherein said method comprises the steps at which: получают (S401) изображение и разреженную карту глубины, содержащую данные глубины, которые являются глубинами объектов, указанными пользователем на полученном изображении;obtaining (S401) an image and a sparse depth map containing depth data that are depths of objects specified by the user in the acquired image; вычисляют (S402) обученным кодером изображения, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков изображения посредством извлечения признаков изображения из полученного изображения;calculating (S402) an image feature tensor by a trained image encoder comprising at least one convolutional layer, at least one activation layer and at least two data spatial resolution reduction layers by extracting image features from the obtained image; вычисляют (S403) обученным кодером глубины, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков глубины посредством извлечения признаков глубины из полученной разреженной карты глубины;calculating (S403) a trained depth encoder containing at least one convolutional layer, at least one activation layer and at least two data spatial resolution reduction layers, a depth feature tensor by extracting depth features from the obtained sparse depth map; вычисляют (S404) модулем преобразования тензор конкатенированных признаков посредством конкатенации тензора признаков изображения и тензора признаков глубины и преобразуют модулем преобразования тензор конкатенированных признаков с использованием заранее заданного параметра, задающего размер преобразованного тензора конкатенированных признаков;calculating (S404) the concatenated feature tensor by concatenating the image feature tensor and the depth feature tensor, and converting the concatenated feature tensor using a predetermined parameter specifying the size of the transformed concatenated feature tensor (S404); предсказывают (S405) обученным декодером градиентную карту глубины с использованием преобразованного тензора конкатенированных признаков и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения, кроме первого слоя понижения пространственного разрешения данных кодера изображения, причем декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных, причем количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения, и тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя понижения пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, и причем до ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора конкатенированных признаков с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения, и до ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения; и predicting (S405) a gradient depth map by the trained decoder using the transformed concatenated feature tensor and the tensor obtained on each of at least two downsampling layers of the image encoder data, in addition to the first downscaling layer of the image encoder data, the decoder comprising at least one block for increasing spatial data resolution, containing layers in the following order: first convolutional layer with a 1x1 kernel, first activation layer, a layer of increasing spatial data resolution, a convolutional layer of channel-by-channel 2D convolution, a second convolutional layer with a 1x1 kernel and a second activation layer and a final enhancement layer spatial data resolution after the last block for increasing the spatial data resolution, and the number of layers for increasing the spatial resolution of the decoder data corresponds to the number of layers for reducing the spatial resolution of the data of the iso image, and the tensor obtained in the corresponding downscaling layer of the image encoder data starting from the last downsizing layer of the image encoder data is used in the corresponding downscaling block of the decoder data starting from the first downscaling block of the decoder data from at least one block increasing the spatial resolution of the decoder data, and moreover, before entering into the first block for increasing the spatial resolution of the decoder data from at least one block for increasing the spatial resolution of the decoder data, the input tensor is obtained by concatenating the transformed tensor of concatenated features with the tensor obtained in the last layer of lowering the spatial resolution of the encoder data image, and before entering into each subsequent block for increasing the spatial resolution of decoder data from at least one block for increasing spatial resolution Decoding the decoder data, the input tensor is obtained by concatenating the tensor obtained in the previous decoder data upscaling block from at least one decoder data upscaling block with the tensor obtained in the corresponding downscaling layer of the image encoder data; and предсказывают (S406) итеративным модулем пространственного распределения плотную карту глубины с использованием градиентной карты глубины, разреженной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.predicting (S406) a dense depth map by the iterative spatial distribution unit using a gradient depth map, a sparse depth map and a tensor obtained in the last upscaling block of decoder data from at least one upscaling block of decoder data, the dense map prediction operation depth is performed iteratively with a given number of iterations. 16. Способ по п. 15, в котором кодер изображения является одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.16. The method of claim 15, wherein the image encoder is one of the standard pretrained classification networks MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN. 17. Способ по п. 15, в котором заранее заданный параметр, задающий размер преобразованного тензора конкатенированных признаков, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.17. The method of claim 15, wherein the predetermined parameter specifying the size of the transformed concatenated feature tensor is a multiple of 2 and preferably selected in the range 256-1024. 18. Способ по п. 15, в котором декодер дополнительно содержит по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных, причем каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, при этом этап (S405) дополнительно содержит этапы, на которых:18. The method according to claim 15, wherein the decoder further comprises at least one convolution block in front of each of the at least one convolution block of data, and each convolution block of the at least one convolution block contains layers in the following order: first a 1x1 convolutional layer, a first activation layer, a channel-by-channel 2D convolutional layer, a 1x1 second convolutional layer, and a second activation layer, wherein step (S405) further comprises: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки;dividing the input tensor into a set of n + 1 sub-tensors, where n is the number of convolution blocks; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки;convolution of one subtenzor with a first convolution block of at least one convolution block; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки;before each subsequent convolution block from at least one convolution block, the tensor obtained in the previous convolution block from at least one convolution block is divided into a set of k + 1 subtensions, where k is the number of remaining convolution blocks from at least one convolution block , and obtain a concatenated tensor by concatenating different nk subtenzors taken one from each of the nk sets of subtenzers obtained by splitting the tensors before each of the nk previous convolution blocks, to which no convolution was applied in the convolution blocks, with the subtensor obtained by dividing the tensor before each subsequent a convolution block to which convolution has not been applied in convolution blocks from at least one convolution block; в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки;in each subsequent convolution block from at least one convolution block, convolution of the concatenated tensor obtained before this convolution block is performed; получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; иobtaining a concatenated tensor by concatenating the remaining subtenzers to which no convolution has been applied in convolution blocks from at least one convolution block; and выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.processing by the block for increasing the spatial resolution of the concatenated tensor data obtained by concatenating the remaining subtenzors to which convolution was not applied in convolution blocks from at least one convolution block. 19. Способ по п. 18, в котором каждый из слоев активации в кодере изображения, кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.19. The method of claim 18, wherein each of the activation layers in the image encoder, depth encoder, and decoder is one of ReLU, leaky ReLU, ReLU6, ELU. 20. Электронное вычислительное устройство, содержащее:20. Electronic computing device containing: по меньшей мере один процессор иat least one processor and память, в которой хранятся числовые параметры обученного кодера изображения, обученного кодера глубины, модуля преобразования, обученного декодера, итеративного модуля пространственного распределения и инструкции, которые при выполнении по меньшей мере одним процессором, заставляют по меньшей мере один процессор выполнять способ по любому из пп. 1-19.a memory that stores the numerical parameters of a trained image encoder, a trained depth encoder, a transform module, a trained decoder, an iterative spatial distribution module and instructions that, when executed by at least one processor, cause at least one processor to execute the method according to any one of claims. 1-19. 21. Электронное вычислительное устройство по п. 20, дополнительно содержащее по меньшей мере одно из камеры, датчика глубины и устройства пользовательского ввода.21. The electronic computing device of claim 20, further comprising at least one of a camera, a depth sensor, and a user input device.
RU2020128195A 2020-08-25 2020-08-25 Methods for reconstruction of depth map and electronic computer device for their implementation RU2745010C1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2020128195A RU2745010C1 (en) 2020-08-25 2020-08-25 Methods for reconstruction of depth map and electronic computer device for their implementation
PCT/KR2021/000997 WO2022045495A1 (en) 2020-08-25 2021-01-26 Methods for depth map reconstruction and electronic computing device for implementing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020128195A RU2745010C1 (en) 2020-08-25 2020-08-25 Methods for reconstruction of depth map and electronic computer device for their implementation

Publications (1)

Publication Number Publication Date
RU2745010C1 true RU2745010C1 (en) 2021-03-18

Family

ID=74874429

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020128195A RU2745010C1 (en) 2020-08-25 2020-08-25 Methods for reconstruction of depth map and electronic computer device for their implementation

Country Status (2)

Country Link
RU (1) RU2745010C1 (en)
WO (1) WO2022045495A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114119889B (en) * 2021-11-12 2024-04-09 杭州师范大学 Cross-modal fusion-based 360-degree environmental depth completion and map reconstruction method
CN114677315B (en) * 2022-04-11 2022-11-29 探维科技(北京)有限公司 Image fusion method, device, equipment and medium based on image and laser point cloud
CN116468768B (en) * 2023-04-20 2023-10-17 南京航空航天大学 Scene depth completion method based on conditional variation self-encoder and geometric guidance

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040179739A1 (en) * 2001-05-23 2004-09-16 Piotr Wilinski Depth map computation
RU2497196C2 (en) * 2007-10-11 2013-10-27 Конинклейке Филипс Электроникс Н.В. Method and device for depth map processing
US20150104074A1 (en) * 2013-10-16 2015-04-16 Broadcom Corporation Depth map generation and post-capture focusing
US20150187082A1 (en) * 2013-12-27 2015-07-02 Xerox Corporation System and method for adaptive depth map reconstruction
US20170039686A1 (en) * 2013-10-30 2017-02-09 Morpho, Inc. Image processing device having depth map generating unit, image processing method and non-transitory computer readable recording medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10672136B2 (en) * 2018-08-31 2020-06-02 Snap Inc. Active image depth prediction
CN110097589A (en) * 2019-04-29 2019-08-06 广东工业大学 A kind of depth complementing method applied to sparse map denseization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040179739A1 (en) * 2001-05-23 2004-09-16 Piotr Wilinski Depth map computation
RU2497196C2 (en) * 2007-10-11 2013-10-27 Конинклейке Филипс Электроникс Н.В. Method and device for depth map processing
US20150104074A1 (en) * 2013-10-16 2015-04-16 Broadcom Corporation Depth map generation and post-capture focusing
US20170039686A1 (en) * 2013-10-30 2017-02-09 Morpho, Inc. Image processing device having depth map generating unit, image processing method and non-transitory computer readable recording medium
US20150187082A1 (en) * 2013-12-27 2015-07-02 Xerox Corporation System and method for adaptive depth map reconstruction

Also Published As

Publication number Publication date
WO2022045495A1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
JP6745328B2 (en) Method and apparatus for recovering point cloud data
RU2745010C1 (en) Methods for reconstruction of depth map and electronic computer device for their implementation
US11928893B2 (en) Action recognition method and apparatus, computer storage medium, and computer device
CN111161349B (en) Object posture estimation method, device and equipment
CN113850916A (en) Model training and point cloud missing completion method, device, equipment and medium
KR20210027269A (en) Depth image complementation method and device, computer-readable storage medium
US20200364567A1 (en) Neural network device for selecting action corresponding to current state based on gaussian value distribution and action selecting method using the neural network device
WO2020061884A1 (en) Composite binary decomposition network
JP2023533907A (en) Image processing using self-attention-based neural networks
CN110838122A (en) Point cloud segmentation method and device and computer storage medium
CN114418030A (en) Image classification method, and training method and device of image classification model
CN111126559A (en) Neural network processor and convolution operation method thereof
EP4318313A1 (en) Data processing method, training method for neural network model, and apparatus
CN112257759A (en) Image processing method and device
CN115457492A (en) Target detection method and device, computer equipment and storage medium
CN114373104A (en) Three-dimensional point cloud semantic segmentation method and system based on dynamic aggregation
KR20230071052A (en) Apparatus and method for image processing
CN117095132B (en) Three-dimensional reconstruction method and system based on implicit function
CN110889290B (en) Text encoding method and apparatus, text encoding validity checking method and apparatus
JP2019133545A (en) Feature expression device, recognition system including the same, and feature expression program
CN115775214B (en) Point cloud completion method and system based on multi-stage fractal combination
CN116704554A (en) Method, equipment and medium for estimating and identifying hand gesture based on deep learning
CN116206196A (en) Ocean low-light environment multi-target detection method and detection system thereof
Ali et al. Hardware accelerators and accelerators for machine learning
CN115240240A (en) Infrared face recognition method and system based on YOLO network