СПОСОБЫ РЕКОНСТРУКЦИИ КАРТЫ ГЛУБИНЫ И ЭЛЕКТРОННОЕ ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО ДЛЯ ИХ РЕАЛИЗАЦИИ
METHODS FOR RECONSTRUCTION OF DEPTH MAP AND ELECTRONIC COMPUTER DEVICE FOR THEIR IMPLEMENTATION

УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
Область техники, к которой относится изобретения
[0001] Настоящее изобретение относится, в общем, к областям компьютерного зрения, составления карт глубин с использованием средств искусственного интеллекта и машинного обучения для реконструкции карт глубин, в частности, к способам реконструкции карты глубины и электронному вычислительному устройству для их реализации.
Описание предшествующего уровня техники
[0002] В настоящее время существует несколько способов реконструкции карты глубины. В одних способах используется высокоточный многолучевой датчик глубины и изображение для реконструкции карты глубины на этом изображении. Высокоточный датчик глубины выдает данные глубины высокого качества, которые плотно покрывают по существу все поле изображения и из которых можно получить высококачественную карту глубины. Однако использование высокоточного датчика глубины в устройствах, таких как мобильный телефон, смартфон, планшетный компьютер, робот-пылесос, устройство автономного управления транспортным средством и т.д. делает устройство слишком дорогим и может значительно увеличить размер устройства. В других способах используется простой датчик глубины с низкой точностью и изображение для реконструкции карты глубины на этом изображении. Такие датчики глубины выдают данные глубины низкого качества с низкой плотностью данных, которые затем обрабатываются средствами искусственного интеллекта для получения карты глубины требуемого качества. Для получения высококачественной карты глубины из данных глубины низкого качества требуется устройство с высокой вычислительной мощностью, например, компьютер с высокопроизводительным процессором, высококачественной графической картой и памятью большого объема. Устройства, такие как мобильный телефон, смартфон, планшетный компьютер, робот-пылесос, устройство автономного управления транспортным средством и т.д. не обладают характеристиками устройств с высокой вычислительной мощностью, поэтому получение высококачественной карты глубины на них затруднено. Кроме того, процесс реконструкции карты глубины с данными глубины низкого качества слишком медленный, чтобы работать в режиме реального времени, для получения карты глубины приемлемого качества.
[0003] В предшествующем уровне техники известны технические решения для реконструкции карты глубины, такие как нижеописанные решения.
[0004] Патентная заявка CN102938142A, опубликованная 20.02.2013 и озаглавленная «METHOD FOR FILLING INDOOR LIGHT DETECTION AND RANGING (LIDAR) MISSING DATA BASED ON KINECT», предлагает техническое решение для дополнения разреженных данных глубины, полученных лазерным датчиком глубины, таким как лидар, данными глубины, полученными устройством Kinect. Однако, устройство Kinect является дорогим и встраивание устройства Kinect в устройства, такие как мобильный телефон, смартфон, планшетный компьютер, робот-пылесос, устройство автономного управления транспортным средством и т.д. приведет к значительному увеличению размера таких устройств. Кроме того, в данном техническом решении используется многолучевой лидар, а также итеративный алгоритм ближайших точек, который снижает производительность устройства и не позволяет выполнять реконструкцию карты глубины в реальном времени.
[0005] Патентная заявка US20190004535A1, опубликованная 03.01.2019 и озаглавленная «HIGH RESOLUTION 3D POINT CLOUDS GENERATION BASED ON CNN AND CRF MODELS», предлагает техническое решение для реконструкции карты глубины с использованием сверточной нейронной сети, которая преобразует изображение, полученное камерой, и соответствующее разреженное облако точек, полученное лидаром, в плотную карту глубины. Предложенное техническое решение использует ResNet-подобную архитектуру, которая слишком медленная для реализации этого подхода в режиме реального времени. Раскрытая в заявке архитектура не предназначена для использования предварительно обученных признаков изображения, что снижает возможность обучения на небольшом наборе данных. Кроме того, в этом техническом решении используется высокопроизводительная графическая карта и в постобработке предложенного алгоритма применяются итеративные процессы, которые не позволяют выполнять вычисления в реальном времени.
[0006] Патентная заявка CN108961390A, опубликованная 07.12.2018 и озаглавленная «REAL-TIME 3D RECONSTRUCTION METHOD BASED ON DEPTH MAP» предлагает техническое решение, в котором используется камера RGB-D для извлечения разреженных точек глубины, которые преобразуют в плотную карту глубины с использованием текстурной информации, полученной камерой RGB. Использование RGB-D камеры в устройстве делает его более сложным и дорогим, поскольку для работы RGB-D камеры требуется установка дополнительного мощного светоизлучающего диода, и систему нужно калибровать для корректной работы всего устройства. Кроме того, в предложенном техническом решении используется алгоритм без использования средств искусственного интеллекта, который приспособлен под конкретную конфигурацию устройства и плохо обобщается для входных данных с других датчиков глубины.
[0007] Патентная заявка CN106651925A, опубликованная 10.05.2017 и озаглавленная «COLOR DEPTH IMAGE OBTAINING METHOD AND DEVICE» предлагает техническое решение, в котором данные, являющиеся облаком точек, охватывающим все изображение, получают высококачественным датчиком глубины, таким как RGB-D камера, и преобразуют их в плотную карту глубины. Способ в основном фокусируется на выравнивании RGB и данных глубины. Использование RGB-D камеры в устройстве делает его более сложным и дорогим.
[0008] Существующие в настоящее время способы для реконструкции карты глубины имеют следующие недостатки. Большинство способов использует данные глубины, которые покрывают все изображение. Способы без использования средств искусственного интеллекта, например, нейронных сетей, предназначены для применения только конкретного типа датчика и требуется калибровка устройства, выполняющего этот способ. Основанные на средствах искусственного интеллекта способы используют в качестве входных данных данные глубины, равномерно распределенные по изображению. Большинству средств искусственного интеллекта требуется большое количество данных для обучения. Большинство обученных средств искусственного интеллекта содержит большое количество параметров, таких как веса, что требует большого объема памяти. Для получения высокоточных карт глубины требуется сложная архитектура алгоритма обработки, что приводит к невозможности получения высокоточных карт глубины в реальном времени или по существу в реальном времени.
[0009] Настоящее изобретение создано для устранения по меньшей мере одного из вышеописанных недостатков и для обеспечения по меньшей мере одного из нижеописанных преимуществ.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0010] Целью настоящего изобретения является обеспечение способов реконструкции карты глубины и электронного вычислительного устройства для их реализации, которые позволяют получить по меньшей мере одно из следующих преимуществ:
- получение карты глубины высокого качества из разреженных данных глубины, не покрывающих все изображение, в реальном времени или по существу в реальном времени с очень малой задержкой,
- упрощение архитектуры используемых средств искусственного интеллекта,
- упрощение конструкции устройства за счет использования однолучевого или двухлучевого датчика глубины,
- получение карты глубины высокого качества на устройствах с низкой вычислительной мощностью в реальном времени или по существу в реальном времени с очень малой задержкой.
[0011] Вышеперечисленные преимущества обеспечивают выполнение способов реконструкции карты глубины на устройствах с низкой вычислительной мощностью с получением карты глубины высокого качества из разреженных данных глубины, не покрывающих все изображение, в реальном времени или по существу в реальном времени с очень малой задержкой.
[0012] Один аспект настоящего изобретения обеспечивает способ реконструкции карты глубины, при этом упомянутый способ содержит этапы, на которых: получают (S101) изображение и разреженную карту глубины, содержащую данные глубины, которые являются глубинами в не более двух плоскостях, перпендикулярных плоскости изображения, на полученном изображении; вычисляют (S102) обученным кодером изображения, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков изображения посредством извлечения признаков изображения из полученного изображения; вычисляют (S103) обученным кодером глубины, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков глубины посредством извлечения признаков глубины из полученной разреженной карты глубины; вычисляют (S104) модулем преобразования тензор конкатенированных признаков посредством конкатенации тензора признаков изображения и тензора признаков глубины, и преобразуют модулем преобразования тензор конкатенированных признаков с использованием заранее заданного параметра, задающего размер преобразованного тензора конкатенированных признаков; предсказывают (S105) обученным декодером градиентную карту глубины с использованием преобразованного тензора конкатенированных признаков и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения, причем декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных, причем количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения, и тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, и причем до ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора конкатенированных признаков с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения, и до ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения; и предсказывают (S106) итеративным модулем пространственного распределения плотную карту глубины с использованием градиентной карты глубины, разреженной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.
[0013] В одном дополнительном аспекте кодер изображения является одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.
[0014] В другом дополнительном аспекте заранее заданный параметр, задающий размер преобразованного тензора конкатенированных признаков, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.
;
[0015] В еще одном дополнительном аспекте декодер дополнительно содержит по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных, причем каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, при этом этап (S105) дополнительно содержит этапы, на которых: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки; получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.
[0016] В еще одном дополнительном аспекте каждый из слоев активации в кодере изображения, кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.
[0017] Другой аспект настоящего изобретения обеспечивает способ реконструкции карты глубины, при этом упомянутый способ содержит этапы, на которых: получают (S201) разреженную карту глубины, содержащую данные глубины на изображении; вычисляют (S203) обученным кодером глубины, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков глубины посредством извлечения признаков глубины из полученной разреженной карты глубины; преобразуют (S204) модулем преобразования тензор признаков глубины с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков глубины; предсказывают (S205) обученным декодером градиентную карту глубины с использованием преобразованного тензора признаков глубины в качестве входного тензора, причем декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных; и предсказывают (S206) итеративным модулем пространственного распределения плотную карту глубины с использованием градиентной карты глубины, разреженной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.
[0018] В одном дополнительном аспекте заранее заданный параметр, задающий размер преобразованного тензора признаков глубины, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.
;
[0019] В другом дополнительном аспекте декодер дополнительно содержит по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных, причем каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, при этом этап (S205) дополнительно содержит этапы, на которых: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки; получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.
[0020] В еще одном дополнительном аспекте каждый из слоев активации в кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.
[0021] Еще один аспект обеспечивает способ реконструкции карты глубины, при этом упомянутый способ содержит этапы, на которых: получают (S301) изображение; вычисляют (S302) обученным кодером изображения, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков изображения посредством извлечения признаков изображения из полученного изображения; преобразуют (S304) модулем преобразования тензор признаков изображения с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков изображения; предсказывают (S305) обученным декодером градиентную карту глубины с использованием преобразованного тензора признаков изображения и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения, причем декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных, причем количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения, и тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, и причем до ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора признаков изображения с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения, и до ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения; и предсказывают (S306) итеративным модулем пространственного распределения плотную карту глубины с использованием градиентной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.
[0022] В одном дополнительном аспекте кодер изображения является одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.
[0023] В другом дополнительном аспекте заранее заданный параметр, задающий размер преобразованного тензора признаков изображения является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.
;
[0024] В еще одном дополнительном аспекте декодер дополнительно содержит по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных, причем каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, при этом этап (S305) дополнительно содержит этапы, на которых: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки; получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.
[0025] В еще одном дополнительном аспекте каждый из слоев активации в кодере изображения и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.
[0026] Еще один аспект обеспечивает способ реконструкции карты глубины, при этом упомянутый способ содержит этапы, на которых: получают (S401) изображение и разреженную карту глубины, содержащую данные глубины, которые являются глубинами объектов, указанными пользователем на полученном изображении; вычисляют (S402) обученным кодером изображения, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков изображения посредством извлечения признаков изображения из полученного изображения; вычисляют (S403) обученным кодером глубины, содержащим по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных, тензор признаков глубины посредством извлечения признаков глубины из полученной разреженной карты глубины; вычисляют (S404) модулем преобразования тензор конкатенированных признаков посредством конкатенации тензора признаков изображения и тензора признаков глубины, и преобразуют модулем преобразования тензор конкатенированных признаков с использованием заранее заданного параметра, задающего размер преобразованного тензора конкатенированных признаков; предсказывают (S405) обученным декодером градиентную карту глубины с использованием преобразованного тензора конкатенированных признаков и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения, причем декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных, причем количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения, и тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, и причем до ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора конкатенированных признаков с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения, и до ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения; и предсказывают (S406) итеративным модулем пространственного распределения плотную карту глубины с использованием градиентной карты глубины, разреженной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.
[0027] В одном дополнительном аспекте кодер изображения является одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.
[0028] В другом дополнительном аспекте заранее заданный параметр, задающий размер преобразованного тензора конкатенированных признаков, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.
;
[0029] В еще одном дополнительном аспекте декодер дополнительно содержит по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных, причем каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, при этом этап (S405) дополнительно содержит этапы, на которых: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки; получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.
[0030] В еще одном дополнительном аспекте каждый из слоев активации в кодере изображения, кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.
[0031] Еще один аспект обеспечивает электронное вычислительное устройство, содержащее: по меньшей мере один процессор; и память, в которой хранятся числовые параметры обученного кодера изображения, обученного кодера глубины, модуля преобразования, обученного декодера, итеративного модуля пространственного распределения, и инструкции, которые при выполнении по меньшей мере одним процессором, заставляют по меньшей мере один процессор выполнять любой из вышеприведенных способов реконструкции карты глубины.
[0032] В дополнительном аспекте электронное вычислительное устройство дополнительно содержит по меньшей мере одно из камеры, датчика глубины и устройства пользовательского ввода.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0033] Вышеописанные и другие аспекты, признаки и преимущества настоящего изобретения будут более понятны из последующего подробного описания, приведенного в сочетании с прилагаемыми чертежами, на которых:
[0034] Фиг. 1 является блок-схемой средства искусственного интеллекта для реализации первого варианта осуществления способа 100 реконструкции карты глубины.
[0035] Фиг. 2 является блок-схемой средства искусственного интеллекта для реализации второго варианта осуществления способа 200 реконструкции карты глубины.
[0036] Фиг. 3 является блок-схемой средства искусственного интеллекта для реализации третьего варианта осуществления способа 300 реконструкции карты глубины.
[0037] Фиг. 4 является блок-схемой средства искусственного интеллекта для реализации четвертого варианта осуществления способа 400 реконструкции карты глубины.
[0038] Фиг. 5 является схематичным представлением операции перемежения с использованием разделения тензора на подтензоры в декодере.
[0039] Фиг. 6 является блок-схемой последовательности операций первого варианта осуществления способа 100 реконструкции карты глубины.
[0040] Фиг. 7 является блок-схемой последовательности операций второго варианта осуществления способа 200 реконструкции карты глубины.
[0041] Фиг. 8 является блок-схемой последовательности операций третьего варианта осуществления способа 300 реконструкции карты глубины.
[0042] Фиг. 9 является блок-схемой последовательности операций четвертого варианта осуществления способа 400 реконструкции карты глубины.
[0043] Фиг. 10 является блок-схемой электронного вычислительного устройства 500 для выполнения любого из заявленных вариантов способа реконструкции карты глубины.
[0044] В последующем описании, если не указано иное, одинаковые ссылочные позиции используются для одинаковых элементов, когда они изображены на разных чертежах, и их параллельное описание не приводится.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ
[0045] Нижеследующее описание со ссылкой на прилагаемые чертежи приведено, чтобы облегчить полное понимание различных вариантов осуществления настоящего изобретения, заданного формулой изобретения, и его эквивалентов. Описание включает в себя различные конкретные подробности, чтобы облегчить такое понимание, но данные подробности следует считать только примерными. Соответственно, специалисты в данной области техники обнаружат, что можно разработать различные изменения и модификации различных вариантов осуществления, описанных в настоящей заявке, без выхода за пределы объема настоящего изобретения. Кроме того, описания общеизвестных функций и конструкций могут быть исключены для ясности и краткости.
[0046] Термины и формулировки, используемые в последующем описании и формуле изобретения не ограничены библиографическим значениями, а просто использованы создателем настоящего изобретения, чтобы обеспечить четкое и последовательное понимание настоящего изобретения. Соответственно, специалистам в данной области техники должно быть ясно, что последующее описание различных вариантов осуществления настоящего изобретения предлагается только для иллюстрации.
[0047] Следует понимать, что формы единственного числа включают в себя множественность, если контекст явно не указывает иное.
[0048] Дополнительно следует понимать, что термины «содержит», «содержащий», «включает в себя» и/или «включающий в себя», при использовании в настоящей заявке, означают присутствие изложенных признаков, значений, операций, элементов и/или компонентов, но не исключают присутствия или добавления одного или более других признаков, значений, операций, элементов, компонентов и/или их групп.
[0049] Предложенные способы могут выполняться на электронном вычислительном устройстве 500, которое может представлять собой, например, мобильный телефон, смартфон, планшетный компьютер, робот-пылесос, устройство автономного управления транспортным средством и т.д. Электронное вычислительное устройство 500 содержит по меньшей мере один или более процессоров 501 и память 502. Электронное вычислительное устройство 500 содержит один или более модулей для выполнения операций способов. По меньшей мере один из множества модулей может быть реализован посредством модели искусственного интеллекта (AI). Функция, связанная с AI, может выполняться с использованием энергонезависимой памяти, энергозависимой памяти и процессора.
[0050] Один или более процессоров могут включать в себя процессор общего назначения, такой как центральный процессор (ЦП), процессор приложений (AP) или тому подобное, процессор для обработки графики, такой как графический процессор (GPU), блок обработки изображений (VPU) и/или специализированный процессор AI, такой как нейронный процессор (NPU).
[0051] Один или более процессоров управляют обработкой входных данных в соответствии с заданным правилом работы или моделью AI, хранящейся в энергонезависимой памяти и энергозависимой памяти. Заданное правило работы или модель AI обеспечивается посредством обучения.
[0052] В данном случае обеспечение посредством обучения означает, что, применяя алгоритм обучения ко множеству обучающих данных, создается заданное правило работы или модель AI требуемой характеристики. Обучение может быть выполнено в самом устройстве, которое содержит AI в соответствии с вариантом осуществления, и/или может быть реализовано через отдельный сервер/систему.
[0053] Модель AI может состоять из множества слоев нейронной сети. Каждый слой имеет множество весовых значений и выполняет операцию слоя с использованием вычисления предыдущего слоя и множества весов. Примеры нейронных сетей включают в себя, но не ограничиваются ими, сверточную нейронную сеть (CNN), глубокую нейронную сеть (DNN), рекуррентную нейронную сеть (RNN), ограниченную машину Больцмана (RBM), глубокую сеть доверия (DBN), двунаправленную рекуррентную глубокую нейронную сеть (BRDNN), генеративные состязательные сети (GAN) и глубокие Q-сети.
[0054] Алгоритм обучения является способом обучения заранее заданного целевого устройства с использованием множества обучающих данных, чтобы заставлять, позволять или управлять целевым устройством для выполнения определения или предсказания. Примеры алгоритмов обучения включают, но не ограничиваются этим, обучение с учителем, обучение без учителя, обучение частично с учителем или обучение с подкреплением.
[0055] В дальнейшем, различные варианты осуществления настоящего изобретения описаны более подробно со ссылкой на прилагаемые чертежи.
[0056] Настоящее изобретение предназначено для реконструкции карты глубины из данных глубины и/или изображения. Настоящее изобретение можно реализовать на электронном вычислительном устройстве с малой вычислительной мощностью, таком как мобильный телефон, смартфон, планшетный компьютер, робот-пылесос, устройство автономного управления транспортным средством и т.д. Настоящее изобретение обеспечивает получение плотной карты глубины высокого качества из разреженных данных глубины, не покрывающих все изображение, в реальном времени или по существу в реальном времени с очень малой задержкой. Например, плотная карта глубины высокого качества с размером 512×256 пикселей может быть получена на смартфоне Самсунг с процессором Exynos 8895 за 10 миллисекунд.
[0057] На фиг. 1 показана блок-схема средства искусственного интеллекта для реализации способа 100 реконструкции карты глубины. Средство искусственного интеллекта содержит кодер изображения, кодер глубины, модуль преобразования, декодер и итеративный модуль пространственного распределения. Средство искусственного интеллекта содержится в электронном вычислительном устройстве 500, которое выполнено с возможностью осуществления способа 100 реконструкции карты глубины. Средство искусственного интеллекта предварительно обучают посредством ввода в него обучающих данных, содержащих разные изображения и разреженные карты глубины этих изображений. Такое обучение известно в уровне техники и поэтому подробно не будет описано в настоящем раскрытии.
[0058] Кодер изображения предназначен для извлечения признаков изображения из введенного в него изображения и на выходе выдает тензор признаков изображения. Изображение может быть цветным или черно-белым. Изображение может быть снято камерой, дополнительно содержащейся в электронном вычислительном устройстве 500, или извлечено из любого доступного источника, такого как Интернет, внешнее запоминающее устройство и т.п. Кодер изображения содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных и может быть любой стандартной предобученной сетью классификации, например, MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.
[0059] Кодер глубины предназначен для извлечения признаков глубины из введенной в него разреженной карты глубины и на выходе выдает тензор признаков глубины. Разреженная карта глубины может быть получена однолучевым или двухлучевым датчиком глубины, дополнительно содержащимся в электронном вычислительном устройстве 500, или извлечена из любого доступного источника, такого как Интернет, внешнее запоминающее устройство и т.п. Разреженная карта глубины содержит данные глубины, которые являются глубинами в не более двух плоскостях, перпендикулярных плоскости изображения, на изображении, введенном в кодер глубины.
[0060] Модуль преобразования предназначен для получения преобразованного тензора конкатенированных признаков. В модуле преобразования преобразованный тензор конкатенированных признаков получают посредством конкатенации тензора признаков изображения, полученного кодером изображения, и тензора признаков глубины, полученного кодером глубины, и преобразования полученного конкатенацией тензора с использованием заранее заданного параметра, задающего размер преобразованного тензора конкатенированных признаков. Параметр, задающий размер преобразованного тензора конкатенированных признаков, является значением, кратным 2. Значение параметра, задающего размер преобразованного тензора конкатенированных признаков, выбирают на основании требований по скорости обработки и качеству плотной карты глубины, получаемой на выходе средства искусственного интеллекта для реконструкции карты глубины. Чем больше значение упомянутого параметра, тем выше качество полученной плотной карты глубины и ниже скорость обработки средства искусственного интеллекта, и чем меньше значение упомянутого параметра, тем ниже качество полученной плотной карты глубины и выше скорость обработки средства искусственного интеллекта. Предпочтительно значение параметра, задающего размер преобразованного тензора конкатенированных признаков, выбирают в диапазоне 256-1024.
[0061] Декодер предназначен для предсказания градиентной карты глубины с использованием преобразованного тензора конкатенированных признаков и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения.
[0062] Декодер содержит по меньшей мере один блок повышения пространственного разрешения данных и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных. Каждый блок повышения пространственного разрешения данных содержит слои в следующем порядке: первый сверточный слой с ядром 1х1 (pointwise convolution), первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки (depthwise convolution), второй сверточный слой с ядром 1х1 и второй слой активации. Количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения. Такая структура декодера позволяет увеличить точность обработки данных и уменьшить время обработки данных.
[0063] Тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, и причем до ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора конкатенированных признаков с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения, и до ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения.
[0064] В примере, в котором декодер содержит два блока повышения пространственного разрешения данных и кодер изображения содержит три слоя понижения пространственного разрешения данных преобразованный тензор конкатенированных признаков, полученный в модуле преобразования, конкатенируют с тензором, полученным в третьем слое понижения пространственного разрешения данных кодера изображения, и этот конкатенированный тензор обрабатывают первым блоком повышения пространственного разрешения данных. Тензор, полученный в первом блоке повышения пространственного разрешения данных, конкатенируют с тензором, полученным во втором слое понижения пространственного разрешения данных кодера изображения, и этот конкатенированный тензор обрабатывают вторым блоком повышения пространственного разрешения данных. Затем тензор, полученный во втором блоке повышения пространственного разрешения данных, обрабатывают конечным слоем повышения пространственного разрешения данных для получения градиентной карты глубины. Данный пример предназначен только для пояснения работы декодера и не предназначен для ограничения изобретения, поскольку декодер может содержать любое количество блоков повышения пространственного разрешения данных.
[0065] Декодер может дополнительно содержать по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных. Каждый блок свертки применяет операции перемежения с использованием разделения тензора на подтензоры и содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации. Такая структура декодера незначительно увеличивает сложность декодера, однако позволяет дополнительно увеличить точность обработки данных и сохранить малое время обработки данных.
[0066] В блоках свертки выполняются следующие операции перемежения с использованием разделения тензора на подтензоры: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком; перед каждым последующим блоком свертки разделяют тензор, полученный в предыдущем блоке свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки; в каждом последующем блоке свертки выполняют свертку конкатенированного тензора, полученного перед этим блоком свертки.
[0067] Затем получают конкатенированный тензор путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки; и выполняют обработку блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки.
[0068] На фиг. 5 показан пример, в котором декодер дополнительно содержит два блока свертки перед блоком повышения пространственного разрешения данных. Данный пример, показанный на фиг. 5, предназначен только для пояснения работы декодера и не предназначен для ограничения изобретения, поскольку декодер может содержать любое количество блоков свертки перед каждым блоком повышения пространственного разрешения данных.
[0069] В примере, показанном на фиг. 5, входной тензор разделяют на три подтензора 1, 2, 3. Подтензор 3 обрабатывают первым блоком свертки. Полученный тензор разделяют на два подтензора 3.1 и 3.2. Подтензор 1 конкатенируют с подтензором 3.1 и обрабатывают вторым блоком свертки. Полученный тензор 3.1.1 конкатенируют с подтензором 3.2 и подтензором 2 и обрабатывают блоком повышения пространственного разрешения данных.
[0070] Каждый из слоев активации в средстве искусственного интеллекта является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.
[0071] Итеративный модуль пространственного распределения предсказывает плотную карту глубины с использованием градиентной карты глубины, разреженной карты глубины и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера. Операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций. Количество итераций задается пользователем и может быть любым. Предпочтительно количество итераций равно 24.
[0072] Итеративный модуль пространственного распределения может быть любой сетью пространственного распределения (SPN). Однако в настоящем изобретении известная SPN дополнена тем, что при итерациях обновления плотной карты глубины значения глубины в плотной карте глубины заменяют на известные значения глубины из разреженной карты глубины, введенной в кодер глубины. Замена значений глубины в плотной карте глубины на известные значения глубины из разреженной карты глубины обеспечивает более точное отображение значений глубины в плотной карте глубины, полученной на выходе из итеративного модуля пространственного распределения.
[0073] На фиг. 2 показана блок-схема средства искусственного интеллекта для реализации способа 200 реконструкции карты глубины. Средство искусственного интеллекта содержит кодер глубины, модуль преобразования, декодер и итеративный модуль пространственного распределения. Средство искусственного интеллекта содержится в электронном вычислительном устройстве 500, которое выполнено с возможностью осуществления способа 200 реконструкции карты глубины. Средство искусственного интеллекта для реализации способа 200 предварительно обучают так же, как и средство искусственного интеллекта для реализации способа 100.
[0074] Структуры кодера глубины, модуля преобразования, декодера и итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 200 соответствуют структурам кодера глубины, модуля преобразования, декодера и итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 100.
[0075] Операции, входные данные и выходные данные кодера глубины средства искусственного интеллекта для реализации способа 200 являются такими же, как и операции, входные данные и выходные данные кодера глубины средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.
[0076] Модуль преобразования предназначен для получения преобразованного тензора признаков глубины из тензора признаков глубины, полученного в кодере глубины, с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков глубины. Операция преобразования в модуле преобразования средства искусственного интеллекта для реализации способа 200 является такой же, как и операция преобразования в модуле преобразования средства искусственного интеллекта для реализации способа 100. Поэтому ее подробное описание будет опущено.
[0077] Декодер предназначен для предсказания градиентной карты глубины с использованием преобразованного тензора признаков глубины в качестве входного тензора. В декодере средства искусственного интеллекта для реализации способа 200 отсутствуют операций конкатенации с тензором, полученным на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения. Остальные операции декодера средства искусственного интеллекта для реализации способа 200 являются такими же, как и операции декодера средства искусственного интеллекта для реализации способа 100, поэтому их подробное описание будет опущено.
[0078] Операции, входные данные и выходные данные итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 200 являются такими же, как и операции, входные данные и выходные данные итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.
[0079] На фиг. 3 показана блок-схема средства искусственного интеллекта для реализации способа 300 реконструкции карты глубины. Средство искусственного интеллекта содержит кодер изображения, модуль преобразования, декодер и итеративный модуль пространственного распределения. Средство искусственного интеллекта содержится в электронном вычислительном устройстве 500, которое выполнено с возможностью осуществления способа 300 реконструкции карты глубины. Средство искусственного интеллекта для реализации способа 300 предварительно обучают так же, как и средство искусственного интеллекта для реализации способа 100.
[0080] Структуры кодера изображения, модуля преобразования, декодера и итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 300 соответствуют структурам кодера изображения, модуля преобразования, декодера и итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 100.
[0081] Операции, входные данные и выходные данные кодера изображения средства искусственного интеллекта для реализации способа 300 являются такими же, как и операции, входные данные и выходные данные кодера изображения средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.
[0082] Модуль преобразования предназначен для получения преобразованного тензора признаков глубины из тензора признаков изображения, полученного в кодере глубины, с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков глубины. Операция преобразования в модуле преобразования средства искусственного интеллекта для реализации способа 300 является такой же, как и операция преобразования в модуле преобразования средства искусственного интеллекта для реализации способа 100. Поэтому ее подробное описание будет опущено.
[0083] Декодер предназначен для предсказания градиентной карты глубины с использованием преобразованного тензора признаков изображения и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения.
[0084] Операции и выходные данные декодера средства искусственного интеллекта для реализации способа 300 являются такими же, как и операции и выходные данные декодера средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.
[0085] В итеративном модуле пространственного распределения средства искусственного интеллекта для реализации способа 300 отсутствует операция замены значений глубины в плотной карте глубины на известные значения глубины из разреженной карты глубины при итерациях обновления плотной карты глубины. Остальные операции итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 300 являются такими же, как и операции итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 100, поэтому их подробное описание будет опущено.
[0086] На фиг. 4 показана блок-схема средства искусственного интеллекта для реализации способа 400 реконструкции карты глубины. Средство искусственного интеллекта содержит кодер изображения, кодер глубины, модуль преобразования, декодер и итеративный модуль пространственного распределения. Средство искусственного интеллекта содержится в электронном вычислительном устройстве 500, которое выполнено с возможностью осуществления способа 400 реконструкции карты глубины. Средство искусственного интеллекта для реализации способа 400 предварительно обучают так же, как и средство искусственного интеллекта для реализации способа 100.
[0087] Структуры кодера изображения, кодера глубины, модуля преобразования, декодера и итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 400 соответствуют структурам кодера изображения, кодера глубины, модуля преобразования, декодера и итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 100.
[0088] Операции, входные данные и выходные данные кодера изображения средства искусственного интеллекта для реализации способа 400 являются такими же, как и операции, входные данные и выходные данные кодера изображения средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.
[0089] Кодер глубины предназначен для извлечения признаков глубины из введенной в него разреженной карты глубины и на выходе выдает тензор признаков глубины. Разреженная карта глубины содержит данные глубины, которые являются глубинами объектов, указанными пользователем на изображении, введенном в кодер изображения. Разреженная карта глубины может быть сформирована пользователем на любом удаленном устройстве, содержащем устройство пользовательского ввода, и введена в кодер глубины из упомянутого удаленного устройства или из любого доступного источника, такого как Интернет, внешнее запоминающее устройство и т.п. Разреженная карта глубины также может быть сформирована на электронном вычислительном устройстве 500, если электронное вычислительное устройство 500 дополнительно содержит устройство пользовательского ввода.
[0090] Операции и выходные данные кодера глубины средства искусственного интеллекта для реализации способа 400 являются такими же, как и операции и выходные данные кодера глубины средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.
[0091] Операции, входные данные и выходные данные декодера средства искусственного интеллекта для реализации способа 400 являются такими же, как и операции, входные данные и выходные данные декодера средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.
[0092] Операции, входные данные и выходные данные модуля преобразования средства искусственного интеллекта для реализации способа 400 являются такими же, как и операции, входные данные и выходные данные модуля преобразования средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.
[0093] Операции, входные данные и выходные данные декодера средства искусственного интеллекта для реализации способа 400 являются такими же, как и операции, входные данные и выходные данные декодера средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.
[0094] Операции, входные данные и выходные данные итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 400 являются такими же, как и операции, входные данные и выходные данные итеративного модуля пространственного распределения средства искусственного интеллекта для реализации способа 100. Поэтому их подробное описание будет опущено.
[0095] На фиг. 6 показана блок-схема последовательности операций, иллюстрирующая первый вариант осуществления способа 100 реконструкции карты глубины. Способ 100 реконструкции карты глубины выполняется электронным вычислительным устройством 500.
[0096] На этапе S101 получают изображение и разреженную карту глубины. Разреженная карта глубины содержит данные глубины, которые являются глубинами в не более двух плоскостях, перпендикулярных плоскости изображения, на полученном изображении.
[0097] На этапе S102 обученный кодер изображения вычисляет тензор признаков изображения посредством извлечения признаков изображения из изображения, полученного на этапе S101. Обученный кодер изображения содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных.
[0098] На этапе S103 обученный кодер глубины вычисляет тензор признаков глубины посредством извлечения признаков глубины из разреженной карты глубины, полученной на этапе S101. Обученный кодер глубины содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных.
[0099] На этапе S104 модуль преобразования вычисляет тензор конкатенированных признаков посредством конкатенации тензора признаков изображения, вычисленного на этапе S102, и тензора признаков глубины, вычисленного на этапе S103, и преобразует тензор конкатенированных признаков с использованием заранее заданного параметра, задающего размер преобразованного тензора конкатенированных признаков.
[0100] На этапе S105 обученный декодер предсказывает градиентную карту глубины с использованием преобразованного тензора конкатенированных признаков, полученного на этапе S104, и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения. Декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных. Количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения. Тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера. До ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора конкатенированных признаков с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения. До ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения.
[0101] На этапе S106 итеративный модуль пространственного распределения предсказывает плотную карту глубины с использованием градиентной карты глубины, предсказанной на этапе S105, разреженной карты глубины, полученной на этапе S105, и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, при этом операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.
[0102] Кодер изображения может быть одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.
[0103] Заранее заданный параметр, задающий размер преобразованного тензора конкатенированных признаков, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.
;
[0104] Декодер может дополнительно содержать по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных. Каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации. При такой конфигурации декодера этап S105 дополнительно содержит операции: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполнение свертки конкатенированного тензора, полученного перед этим блоком свертки; получение конкатенированного тензора путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполнение обработки блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.
[0105] Каждый из слоев активации в кодере изображения, кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.
[0106] На фиг. 7 показана блок-схема последовательности операций, иллюстрирующая второй вариант осуществления способа 200 реконструкции карты глубины. Способ 200 реконструкции карты глубины выполняется электронным вычислительным устройством 500.
[0107] На этапе S201 получают разреженную карту глубины, содержащую данные глубины на изображении.
[0108] На этапе S203 обученный кодер глубины вычисляет тензор признаков глубины посредством извлечения признаков глубины из разреженной карты глубины, полученной на этапе S201. Обученный кодер глубины содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных.
[0109] На этапе S204 модуль преобразования преобразует тензор признаков глубины, вычисленный на этапе S203, с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков глубины.
[0110] На этапе S205 обученный декодер предсказывает градиентную карту глубины с использованием преобразованного тензора признаков глубины, полученного на этапе S204, в качестве входного тензора. Декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных.
[0111] На этапе S206 итеративный модуль пространственного распределения предсказывает плотную карту глубины с использованием градиентной карты глубины, предсказанной на этапе S205, разреженной карты глубины, полученной на этапе S201, и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера. Операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.
[0112] Заранее заданный параметр, задающий размер преобразованного тензора признаков глубины, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.
;
[0113] Декодер может дополнительно содержать по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных. Каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации. При такой конфигурации декодера этап S205 дополнительно содержит операции: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполнение свертки конкатенированного тензора, полученного перед этим блоком свертки; получение конкатенированного тензора путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполнение обработки блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.
[0114] Каждый из слоев активации в кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.
[0115] На фиг. 8 показана блок-схема последовательности операций, иллюстрирующая третий вариант осуществления способа 300 реконструкции карты глубины. Способ 300 реконструкции карты глубины выполняется электронным вычислительным устройством 500.
[0116] На этапе S301 получают изображение.
[0117] На этапе S302 обученный кодер изображения вычисляет тензор признаков изображения посредством извлечения признаков изображения из изображения, полученного на этапе S301. Обученный кодер изображения содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных.
[0118] На этапе S304 модуль преобразования преобразует тензор признаков изображения, вычисленный на этапе S302, с использованием заранее заданного параметра, задающего размер преобразованного тензора признаков изображения.
[0119] На этапе S305 обученный декодер предсказывает градиентную карту глубины с использованием преобразованного тензора признаков изображения, полученного на этапе S304, и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения. Декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных. Количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения. Тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера. До ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора признаков изображения с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения. До ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения.
[0120] На этапе S306 итеративный модуль пространственного распределения предсказывает плотную карту глубины с использованием градиентной карты глубины, предсказанной на этапе S305, и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера. Операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.
[0121] Кодер изображения может быть одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.
[0122] Заранее заданный параметр, задающий размер преобразованного тензора признаков изображения является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.
;
[0123] Декодер может дополнительно содержать по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных. Каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации. При такой конфигурации декодера этап S305 дополнительно содержит операции: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполнение свертки конкатенированного тензора, полученного перед этим блоком свертки; получение конкатенированного тензора путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполнение обработки блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.
[0124] Каждый из слоев активации в кодере изображения и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.
[0125] На фиг. 9 показана блок-схема последовательности операций, иллюстрирующая четвертый вариант осуществления способа 400 реконструкции карты глубины. Способ 400 реконструкции карты глубины выполняется электронным вычислительным устройством 500.
[0126] На этапе S401 получают изображение и разреженную карту глубины. Разреженная карта глубины содержит данные глубины, которые являются глубинами объектов, указанными пользователем на полученном изображении.
[0127] На этапе S402 обученный кодер изображения вычисляет тензор признаков изображения посредством извлечения признаков изображения из изображения, полученного на этапе S401. Обученный кодер изображения содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных.
[0128] На этапе S403 обученный кодер глубины вычисляет тензор признаков глубины посредством извлечения признаков глубины из разреженной карты глубины, полученной на этапе S401. Обученный кодер глубины содержит по меньшей мере один сверточный слой, по меньшей мере один слой активации и по меньшей мере два слоя понижения пространственного разрешения данных.
[0129] На этапе S404 модуль преобразования вычисляет тензор конкатенированных признаков посредством конкатенации тензора признаков изображения, вычисленного на этапе S402, и тензора признаков глубины, вычисленного на этапе S403, и преобразует тензор конкатенированных признаков с использованием заранее заданного параметра, задающего размер преобразованного тензора конкатенированных признаков.
[0130] На этапе S405 обученный декодер предсказывает градиентную карту глубины с использованием преобразованного тензора конкатенированных признаков, полученного на этапе S404, и тензора, полученного на каждом из по меньшей мере двух слоев понижения пространственного разрешения данных кодера изображения кроме первого слоя понижения пространственного разрешения данных кодера изображения. Декодер содержит по меньшей мере один блок повышения пространственного разрешения данных, содержащий слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, слой повышения пространственного разрешения данных, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации, и конечный слой повышения пространственного разрешения данных после последнего блока повышения пространственного разрешения данных. Количество слоев повышения пространственного разрешения данных декодера соответствует количеству слоев понижения пространственного разрешения данных кодера изображения. Тензор, полученный в соответствующем слое понижения пространственного разрешения данных кодера изображения начиная с последнего слоя пространственного разрешения данных кодера изображения, используют в соответствующем блоке повышения пространственного разрешения данных декодера начиная с первого блока повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера. До ввода в первый блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации преобразованного тензора конкатенированных признаков с тензором, полученным в последнем слое понижения пространственного разрешения данных кодера изображения. До ввода в каждый последующий блок повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера входной тензор получают путем конкатенации тензора, полученного в предыдущем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера, с тензором, полученным в соответствующем слое понижения пространственного разрешения данных кодера изображения.
[0131] На этапе S406 итеративный модуль пространственного распределения предсказывает плотную карту глубины с использованием градиентной карты глубины, предсказанной на этапе S405, разреженной карты глубины, полученной на этапе S401, и тензора, полученного в последнем блоке повышения пространственного разрешения данных декодера из по меньшей мере одного блока повышения пространственного разрешения данных декодера. Операция предсказания плотной карты глубины выполняется итеративно с заданным количеством итераций.
[0132] Кодер изображения может быть одной из стандартных предобученных сетей классификации MobileNet v1, MobileNet v2, InceptionNet, ResNet, R-CNN.
[0133] Заранее заданный параметр, задающий размер преобразованного тензора конкатенированных признаков, является значением, кратным 2 и предпочтительно выбранным в диапазоне 256-1024.
;
[0134] Декодер может дополнительно содержать по меньшей мере один блок свертки перед каждым из по меньшей мере одного блока повышения пространственного разрешения данных. Каждый блок свертки из по меньшей мере одного блока свертки содержит слои в следующем порядке: первый сверточный слой с ядром 1х1, первый слой активации, сверточный слой поканальной двумерной свертки, второй сверточный слой с ядром 1х1 и второй слой активации. При такой конфигурации декодера этап S405 дополнительно содержит операции: разделяют входной тензор на набор из n+1 подтензоров, где n является количеством блоков свертки; выполняют свертку одного подтензора первым блоком свертки из по меньшей мере одного блока свертки; перед каждым последующим блоком свертки из по меньшей мере одного блока свертки разделяют тензор, полученный в предыдущем блоке свертки из по меньшей мере одного блока свертки, на набор из k+1 подтензоров, где k является количеством оставшихся блоков свертки из по меньшей мере одного блока свертки, и получают конкатенированный тензор путем конкатенации различных n-k подтензоров, взятых по одному из каждого из n-k наборов подтензоров, полученных разделениями тензоров перед каждым из n-k предыдущих блоков свертки, к которым не применяли свертку в блоках свертки, с подтензором, полученным разделением тензора перед каждым последующим блоком свертки, к которому не применяли свертку в блоках свертки из по меньшей мере одного блока свертки в каждом последующем блоке свертки из по меньшей мере одного блока свертки выполнение свертки конкатенированного тензора, полученного перед этим блоком свертки; получение конкатенированного тензора путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки; и выполнение обработки блоком повышения пространственного разрешения данных конкатенированного тензора, полученного путем конкатенации оставшихся подтензоров, к которым не применяли свертку в блоках свертки из по меньшей мере одного блока свертки.
[0135] Каждый из слоев активации в кодере изображения, кодере глубины и декодере является одним из слоев ReLU, leaky ReLU, ReLU6, ELU.
[0136] На Фиг. 10 показана блок-схема, иллюстрирующая электронное вычислительное устройство 500, выполненное с возможностью выполнения любого из способов 100, 200, 300, 400 реконструкции карты глубины. Электронное вычислительное устройство 500 содержит по меньшей мере один процессор 501 и память 502. Память 502 хранит числовые параметры обученного кодера изображения, обученного кодера глубины, модуля преобразования, обученного декодера, итеративного модуля пространственного распределения, и инструкции, которые при выполнении по меньшей мере одним процессором 501, заставляют по меньшей мере один процессор 501 выполнять любой из способов 100, 200, 300, 400 реконструкции карты глубины.
[0137] Электронное вычислительное устройство может дополнительно содержать по меньшей мере одно из камеры, датчика глубины и устройства пользовательского ввода. Камера предназначена по меньшей мере для съемки изображения, подаваемого на вход кодера изображения. Датчик глубины предназначен по меньшей мере для получения разреженной карты глубины, подаваемой на вход кодера глубины. Датчик глубины может быть любым датчиком глубины, например, однолучевым или двухлучевым датчиком глубины. Устройство пользовательского ввода предназначено по меньшей мере для ввода пользователем данных глубины посредством указания глубины объектов на изображении при формировании разреженной карты глубины.
[0138] Кроме того, способы, раскрытые в данном документе, могут быть реализованы на считываемом компьютером носителе, который хранит числовые параметры обученных средств искусственного интеллекта и исполняемые компьютером инструкции, которые при выполнении процессором компьютера, заставляют компьютер выполнять способы изобретения. Обученные средства искусственного интеллекта и инструкции для реализации настоящих способов могут быть загружены в электронное вычислительное устройство через сеть или с носителя.
[0139] Вышеприведенные описания вариантов осуществления изобретения являются иллюстративными, и модификации конфигурации и реализации не выходят за пределы объема настоящего описания. Например, хотя варианты осуществления изобретения описаны, в общем, в связи с фигурами 1-10, приведенные описания являются примерными. Хотя предмет изобретения описан на языке, характерном для конструктивных признаков или методологических операций, понятно, что предмет изобретения, определяемый прилагаемой формулой изобретения, не обязательно ограничен конкретными вышеописанными признаками или операциями. Более того, конкретные вышеописанные признаки и операции раскрыты как примерные формы реализации формулы изобретения. Изобретение не ограничено также показанным порядком этапов способа, порядок может быть видоизменен специалистом без новаторских нововведений. Некоторые или все этапы способа могут выполняться последовательно или параллельно.
[0140] Соответственно предполагается, что объем вариантов осуществления изобретения ограничивается только нижеследующей формулой изобретения.