RU2776814C1 - Method and electronic device for detecting three-dimensional objects using neural networks - Google Patents

Method and electronic device for detecting three-dimensional objects using neural networks Download PDF

Info

Publication number
RU2776814C1
RU2776814C1 RU2021128885A RU2021128885A RU2776814C1 RU 2776814 C1 RU2776814 C1 RU 2776814C1 RU 2021128885 A RU2021128885 A RU 2021128885A RU 2021128885 A RU2021128885 A RU 2021128885A RU 2776814 C1 RU2776814 C1 RU 2776814C1
Authority
RU
Russia
Prior art keywords
voxel
dimensional
feature maps
electronic device
voxel volume
Prior art date
Application number
RU2021128885A
Other languages
Russian (ru)
Inventor
Данила Дмитриевич РУХОВИЧ
Анна Борисовна ВОРОНЦОВА
Антон Сергеевич Конушин
Original Assignee
Самсунг Электроникс Ко., Лтд.
Filing date
Publication date
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Priority to PCT/KR2022/007472 priority Critical patent/WO2022250468A1/en
Application granted granted Critical
Publication of RU2776814C1 publication Critical patent/RU2776814C1/en
Priority to US18/080,482 priority patent/US20230121534A1/en

Links

Images

Abstract

FIELD: computer vision technologies.
SUBSTANCE: present invention relates to computer vision technologies, and more particularly to methods and electronic devices for detecting three-dimensional objects or for understanding a scene, implemented at least in part with the help of neural networks. The effect is achieved by obtaining monocular images; extracting 2D feature maps from the monocular images by passing one or more monocular images through the 2D feature extraction portion; creating an average 3D voxel volume based on 2D feature maps; extracting a 2D representation of the 3D feature maps from the averaged 3D voxel volume by passing the averaged 3D voxel volume through the part encoder to extract the 3D features and performing 3D object detection as 2D object detection in the bird's eye view (BEV) plane, wherein the detection of two-dimensional objects in the BEV plane is implemented by passing a two-dimensional representation of three-dimensional feature maps through a part for detecting objects in street scenes containing parallel two-dimensional convolutional layers for classification and location.
EFFECT: improving the detection accuracy of three-dimensional objects in monocular images.
17 cl, 4 dwg

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF TECHNOLOGY TO WHICH THE INVENTION RELATES

[0001] Настоящее изобретение относится к технологиям компьютерного зрения. Более конкретно, настоящее изобретение относится к способам и электронным устройствам для обнаружения трехмерных объектов или для понимания сцены, реализуемых с помощью нейронных сетей. [0001] The present invention relates to computer vision technologies. More specifically, the present invention relates to methods and electronic devices for detecting three-dimensional objects or for understanding a scene, implemented using neural networks.

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

[0002] RGB-изображения являются доступным и универсальным источником данных. Поэтому в последнее время активно исследуются способы обнаружения трехмерных объектов на основе RGB. Монокулярные RGB-изображения обеспечивают визуальные признаки сцены и ее объектов, но они не содержат исчерпывающей информации о геометрии сцены и абсолютном масштабе данных. Поэтому для ряда приложений чрезвычайно полезно иметь возможность точно и надежно обнаруживать трехмерные объекты на таких изображениях. При наличии монокулярного изображения способы обнаружения трехмерных объектов на основе глубокого обучения способны только определить масштаб данных. Более того, из RGB-изображений невозможно получить непротиворечивую геометрию сцены, так как некоторые области могут быть не видны. Однако использование нескольких захваченных в известных положениях изображений могло бы способствовать получению большей информации о сцене, чем монокулярное RGB-изображение. Поэтому некоторые известные способы обнаружения трехмерных объектов реализуют многоракурсный вывод (inference). Эти способы получают прогнозы независимо для каждого монокулярного RGB-изображения, а затем эти прогнозы объединяются.[0002] RGB images are an accessible and versatile data source. Therefore, methods for detecting 3D objects based on RGB have been actively researched recently. Monocular RGB images provide visual clues to a scene and its objects, but they do not contain comprehensive information about the scene geometry and the absolute scale of the data. Therefore, it is extremely useful for a number of applications to be able to accurately and reliably detect 3D objects in such images. In the presence of a monocular image, deep learning methods for detecting 3D objects are only able to determine the scale of the data. Moreover, it is not possible to obtain consistent scene geometry from RGB images, as some areas may not be visible. However, using multiple images captured at known positions could provide more information about the scene than a monocular RGB image. Therefore, some well-known methods for detecting three-dimensional objects implement multi-view inference. These methods obtain predictions independently for each monocular RGB image, and then these predictions are combined.

[0003] Все основанные на RGB способы обнаружения трехмерных объектов предназначены для использования в сценах помещений или в уличных сценах и работают при определенных предположениях о сцене и объектах. Например, способы для применения в уличных сценах обычно оцениваются на транспортных средствах. Как правило, транспортные средства одной категории имеют похожий размер, они расположены на земле, и их проекции на виде "с высоты птичьего полета" (BEV) не пересекаются в нормальных, не аварийных условиях. Соответственно, проекция плоскости BEV содержит много информации о трехмерном местоположении транспортного средства. Таким образом, задача обнаружения трехмерных объектов для применения в уличных сценах в облаке точек может быть эффективно сведена к задаче обнаружения двумерных объектов в плоскости BEV. В то же время предметы в сценах помещений могут иметь разную высоту и располагаться в пространстве произвольно, поэтому их проекции на плоскость пола несут мало информации об их трехмерном положении. В целом, разработка способов обнаружения трехмерных объектов на основе RGB имеет свойство зависеть от конкретной области. С учетом вышесказанного важно отметить, что сети обнаружения объектов, используемые в известных способах, обычно имеют сложную и слабо разработанную структуру, потому что они, по всей вероятности, имеют нейросетевые архитектуры самого сложного типа для построения, отладки и использования.[0003] All RGB-based 3D object detection methods are designed for use in indoor or outdoor scenes and operate under certain assumptions about the scene and objects. For example, methods for use in street scenes are typically evaluated on vehicles. Typically, vehicles in the same category are similar in size, positioned on the ground, and do not cross in a bird's eye view (BEV) under normal, non-emergency conditions. Accordingly, the projection of the BEV plane contains a lot of information about the three-dimensional location of the vehicle. Thus, the task of detecting three-dimensional objects for application in street scenes in a point cloud can be effectively reduced to the task of detecting two-dimensional objects in the BEV plane. At the same time, objects in indoor scenes can have different heights and be arbitrarily located in space, so their projections on the floor plane carry little information about their three-dimensional position. In general, the development of RGB-based 3D object detection methods tends to be region specific. In view of the foregoing, it is important to note that the object detection networks used in prior art methods typically have a complex and poorly designed structure because they are likely to have the most complex type of neural network architectures to build, debug and use.

Сущность изобретенияThe essence of the invention

[0004] Предложенная технология и связанные с ней технические решения решают или, по меньшей мере, минимизируют проблемы, встречающиеся в известных технических решениях для обнаружения объектов в сцене или для понимания сцены на основе по меньшей мере одного монокулярного изображения. При этом, в отличие от известных способов, в предлагаемом техническом решении многоракурсные входные данные доступны сразу и их легко получить как во время стадии обучения, так и во время стадии вывода (например, с помощью обычной цифровой камеры электронного устройства). Поэтому многоракурсные входные данные применяются не только для вывода, но и для обучения. Как во время обучения, так и во время вывода, предлагаемое техническое решение принимает захваченные в известных положениях многоракурсные входные данные с произвольным количеством видов; это количество может быть уникальным для каждых многоракурсных входных данных. В данном контексте захваченные в известных положениях (posed) входные данные/изображения означают, что каждое RGB-изображение имеет соответствующее известное положение камеры. Кроме того, предлагаемое техническое решение может принимать захваченные в известных положениях монокулярные входные данные (рассматриваемые как частный случай многоракурсных входных данных). Также предлагаемое техническое решение хорошо работает на чисто монокулярных эталонах (то есть в случае вывода на основе одного монокулярного RGB-изображения).[0004] The proposed technology and related technical solutions solve or at least minimize the problems encountered in known technical solutions for detecting objects in a scene or for understanding a scene based on at least one monocular image. At the same time, in contrast to the known methods, in the proposed technical solution, multiview input data are available immediately and are easy to obtain both during the training stage and during the output stage (for example, using a conventional digital camera of an electronic device). Therefore, multi-view input data is used not only for inference, but also for training. Both during training and during inference, the proposed solution accepts multiview inputs captured at known positions with an arbitrary number of views; this number can be unique for each multiview input. In this context, posed inputs/images captured mean that each RGB image has a corresponding known camera position . In addition, the proposed solution can accept monocular input data captured at known positions (considered as a special case of multiview input data). Also, the proposed technical solution works well on purely monocular references (that is, in the case of output based on a single monocular RGB image).

[0005] Для накопления информации из множества входных данных предлагаемое техническое решение строит воксельное представление трехмерного пространства. Такой унифицированный подход (через построенное воксельное представление трехмерного пространства) используется в предлагаемом техническом решении для обнаружения объектов как в сценах помещений, так и в уличных сценах, а также, по меньшей мере, частично, для понимания сцены. Понимание сцены рассматривается в данном случае как подзадача основной задачи обнаружения объектов. Затем, в зависимости от того, является ли данная сцена сценой помещения или уличной сценой, или от того, необходимо ли выполнять понимание сцены, способ может быть настроен на выбор и применение (возможно, на основе одного или нескольких критериев) соответствующей головной части (термин "головная часть" означает один или несколько последних сверточных слоев, применяемых в основной нейронной сети) в основной нейронной сети без изменения мета-архитектуры основной нейронной сети. "Мета-архитектура" в настоящем изобретении может означать, по меньшей мере, получение одного или нескольких изображений, извлечение двумерной карты признаков из изображений (с помощью двумерной CNN), проецирование двумерной карты признаков в трехмерное пространство и агрегирование признаков в трехмерной карте признаков. Примеры головных частей, которые будут подробно описаны ниже, включают в себя, но без ограничения, часть для обнаружения объектов в уличных сценах, часть для обнаружения объектов в сценах помещений и часть для понимания сцены. Другие головные части на основе облака точек, известные из предшествующего уровня техники, также могут быть использованы в предлагаемом изобретении благодаря предложенной мета-архитектуре основной нейронной сети.[0005] To accumulate information from a set of input data, the proposed technical solution builds a voxel representation of three-dimensional space. Such a unified approach (through the constructed 3D voxel representation) is used in the proposed technical solution for detecting objects in both indoor and outdoor scenes, as well as, at least in part, for understanding the scene. Understanding the scene is considered in this case as a subtask of the main task of object detection. Then, depending on whether a given scene is an indoor scene or an outdoor scene, or whether scene comprehension needs to be performed, the method can be configured to select and apply (perhaps based on one or more criteria) the appropriate head (term "head end" means one or more of the last convolutional layers applied in the main neural network) in the main neural network without changing the meta-architecture of the main neural network. "Meta-architecture" in the present invention may mean at least taking one or more images, extracting a 2D feature map from the images (using a 2D CNN), projecting the 2D feature map into 3D space, and aggregating the features in the 3D feature map. Examples of head parts to be described in detail below include, but are not limited to, an outdoor scene object detection part, an indoor scene object detection part, and a scene understanding part. Other point cloud based heads known in the prior art can also be used in the present invention due to the proposed core neural network meta-architecture.

[0006] В предлагаемом техническом решении окончательные прогнозы получают из трехмерных карт признаков или их двумерных представлений (в варианте осуществления способа для применения в уличных сценах), что соответствует постановке задачи обнаружения на основе облака точек. Исходя из этого, как вкратце упоминалось выше, можно без каких-либо модификаций использовать стандартные промежуточную часть и головную часть детектора объектов на основе облака точек. Модели глубокого обучения для обнаружения двумерных/трехмерных объектов обычно можно разделить на 3 блока: опорную часть (backbone), промежуточную часть (neck) и головную часть (head). В данном контексте "опорная часть" означает любую нейронную сеть или по меньшей мере один или несколько слоев нейронной сети, которые отвечают за извлечение признаков, "промежуточная часть" означает любую нейронную сеть или по меньшей мере один или несколько слоев нейронной сети, которые отвечают за уточнение признаков (например, 2D в 2D в предлагаемой двумерной CNN или 3D в 3D в предлагаемой трехмерной CNN. "Головная часть" означает любую конечную нейронную сеть или по меньшей мере один или несколько конечных слоев нейронной сети, например, для оценки рамок объектов (расположение, размер) и категорий (например, стул, стол, автомобиль и т.д.).[0006] In the proposed technical solution, the final predictions are obtained from three-dimensional feature maps or their two-dimensional representations (in the embodiment of the method for use in street scenes), which corresponds to the formulation of the detection problem based on a point cloud. Based on this, as briefly mentioned above, it is possible to use the standard intermediate part and head part of the point cloud-based object detector without any modifications. Deep learning models for 2D/3D object detection can usually be divided into 3 blocks: backbone, neck, and head. In this context, "reference part" means any neural network or at least one or more neural network layers that are responsible for feature extraction, "intermediate part" means any neural network or at least one or more neural network layers that are responsible for feature refinement (e.g., 2D to 2D in the proposed 2D CNN or 3D to 3D in the proposed 3D CNN. "Head" means any finite neural network or at least one or more finite neural network layers, e.g. for evaluation object frames (location, size) and categories (eg chair, table, car, etc.).

[0007] В итоге, можно прийти к следующему заключению: предложенное техническое решение обеспечивает по меньшей мере тройной результат: (1) в нем используется сквозное обучение для многоракурсного обнаружения объектов на основе только захваченных в известных положениях RGB-изображений; это значительно упрощает сбор обучающих данных, так как для обучения требуются только легко получаемые/доступные обычные монокулярные RGB-изображения; (2) используется новая полносверточная нейронная сеть обнаружения объектов, которая работает как в монокулярном, так и в многоракурсном режиме, что повышает универсальность сети; (3) предлагаемая нейронная сеть обнаружения объектов имеет модульную конструкцию, поэтому можно использовать различные зависящие от конкретной области головные части и промежуточные части без изменения мета-архитектуры основной сети; построение магистрали из строительных блоков помогает разработать надежное и эффективное решение; (4) и наконец, точность обнаружения объектов предлагаемыми техническими решениями превосходит все известные технические решения, использующие нейросетевые архитектуры, обученные на обучающих наборах данных (ScanNet, SUN RGB-D, KITTI и nuScenes), наиболее часто используемых для обнаружения объектов. [0007] In summary, the following conclusion can be drawn: the proposed technical solution provides at least a triple result: (1) it uses end-to-end learning for multi-view object detection based only on RGB images captured at known positions; this greatly simplifies the collection of training data, as training requires only easily acquired/accessible conventional monocular RGB images; (2) a new full-convolutional object detection neural network is used, which works in both monocular and multi-angle modes, which increases the versatility of the network; (3) the proposed object detection neural network has a modular design, so that different domain-specific head parts and intermediate parts can be used without changing the meta-architecture of the main network; building a highway from building blocks helps to develop a reliable and efficient solution; (4) and finally, the accuracy of object detection by the proposed technical solutions exceeds all known technical solutions using neural network architectures trained on training data sets (ScanNet, SUN RGB-D, KITTI and nuScenes), which are most commonly used for object detection.

[0008] В первом аспекте настоящего изобретения предложен способ обнаружения трехмерных объектов с использованием нейронной сети для обнаружения объектов, содержащей часть для извлечения двумерных признаков, часть для извлечения трехмерных признаков, часть для обнаружения объектов в уличных сценах, которые предобучены сквозным способом на основе только захваченных в известных положениях монокулярных изображений. Способ включает в себя этапы, на которых: получают одно или несколько монокулярных изображений; извлекают двумерные карты признаков из каждого из одного или нескольких монокулярных изображений путем пропускания одного или нескольких монокулярных изображений через часть для извлечения двумерных признаков; создают усредненный трехмерный воксельный объем на основе двумерных карт признаков; извлекают двумерное представление трехмерных карт признаков из усредненного трехмерного воксельного объема путем пропускания усредненного трехмерного воксельного объема через кодировщик части для извлечения трехмерных признаков, и выполняют обнаружение трехмерных объектов как обнаружение двумерных объектов в плоскости вида "с высоты птичьего полета" (BEV), причем обнаружение двумерных объектов в плоскости BEV реализуют путем пропускания двумерного представления трехмерных карт признаков через часть для обнаружения объектов в уличных сценах, содержащую параллельные двумерные сверточные слои для классификации и определения местоположения. Способ согласно первому аспекту изобретения настоящего изобретения адаптирован для работы в уличных сценах. Таким образом способ согласно первому аспекту настоящего изобретения может выполняться, например, электронным устройством, снабженным по меньшей мере одной камерой для обнаружения нулевого или большего количества трехмерных объектов в окружающей области транспортного средства.[0008] In a first aspect of the present invention, there is provided a method for detecting 3D objects using a neural network for object detection, comprising a 2D feature extraction part, a 3D feature extraction part, and an object detection part in street scenes, which are pretrained end-to-end based on only captured in known positions of monocular images. The method includes the steps of: obtaining one or more monocular images; extracting 2D feature maps from each of the one or more monocular images by passing the one or more monocular images through the 2D feature extraction portion; creating an average 3D voxel volume based on the 2D feature maps; extracting a 2D representation of 3D feature maps from the averaged 3D voxel volume by passing the averaged 3D voxel volume through a 3D feature extractor part encoder, and performing 3D object detection as 2D object detection in a bird's eye view (BEV) plane, wherein the 2D object detection objects in the BEV plane is implemented by passing a 2D representation of 3D feature maps through a part for detecting objects in street scenes containing parallel 2D convolutional layers for classification and location. The method according to the first aspect of the invention of the present invention is adapted to work in street scenes. Thus, the method according to the first aspect of the present invention can be performed, for example, by an electronic device provided with at least one camera for detecting zero or more three-dimensional objects in the surrounding area of the vehicle.

[0009] Во втором аспекте настоящего изобретения предложен способ обнаружения трехмерных объектов с использованием нейронной сети для обнаружения объектов, содержащей часть для извлечения двумерных признаков, часть для извлечения трехмерных признаков, часть для обнаружения объектов в сценах помещений, которые предобучены сквозным способом на основе только захваченных в известных положениях монокулярных изображений. Способ содержит этапы, на которых: получают одно или несколько монокулярных изображений; извлекают двумерные карты признаков из каждого из одного или нескольких монокулярных изображений путем пропускания одного или нескольких монокулярных изображений через часть для извлечения двумерных признаков; создают усредненный трехмерный воксельный объем на основе двумерных карт признаков; извлекают уточненные карты трехмерных объектов из усредненного трехмерного воксельного объема путем пропускания усредненного трехмерного воксельного объема через часть для извлечения трехмерных объектов, и выполняют обнаружение трехмерных объектов путем пропускания уточненных трехмерных карт признаков через часть для обнаружения объектов в сценах помещений, использующую плотное воксельное представление промежуточных признаков и содержащую трехмерные сверточные слои для классификации, центрированности и определения местоположения. Способ согласно второму аспекту изобретения может выполняться электронным устройством, снабженным по меньшей мере одной камерой для обнаружения нулевого или большего количества трехмерных объектов в окружающей области данного электронного устройства. Неограничивающие примеры электронного устройства, использованного в способе согласно второму аспекту изобретения включают в себя, смартфон, планшет, умные очки, мобильный робот.[0009] In a second aspect of the present invention, a method for detecting 3D objects using a neural network for object detection is provided, comprising a 2D feature extraction part, a 3D feature extraction part, and an object detection part in indoor scenes that are pretrained end-to-end based on only captured in known positions of monocular images. The method comprises the steps of: obtaining one or more monocular images; extracting 2D feature maps from each of the one or more monocular images by passing the one or more monocular images through the 2D feature extraction portion; creating an average 3D voxel volume based on the 2D feature maps; extracting refined 3D object maps from the averaged 3D voxel volume by passing the averaged 3D voxel volume through the 3D object extraction part, and performing 3D object detection by passing the refined 3D feature maps through the indoor scene object detection part using a dense voxel representation of intermediate features, and containing 3D convolutional layers for classification, centering, and location. The method according to the second aspect of the invention may be performed by an electronic device equipped with at least one camera for detecting zero or more three-dimensional objects in the surrounding area of the electronic device. Non-limiting examples of the electronic device used in the method according to the second aspect of the invention include, smartphone, tablet, smart glasses, mobile robot.

[0011] В модификации второго аспекта изобретения предложен способ понимания сцены с использование нейронной сети обнаружения объектов. Сеть обнаружения объектов в этой модификации содержит часть для понимания сцены, которая предобучена сквозным способом, и способ дополнительно содержит этапы, на которых: выполняют глобальный средний пулинг извлеченных двумерных карт признаков для получения тензора, представляющего извлеченные двумерные карты признаков, и оценивают конфигурацию (layout) сцены путем пропускания тензора через часть для понимания сцены, сконфигурированную для совместной оценки поворота камеры и трехмерной конфигурации сцены. Часть для понимания сцены содержит две параллельные ветви: два полносвязных слоя, которые выводят трехмерную конфигурацию сцены, и два других полносвязных слоя, которые оценивают поворот камеры.[0011] In a modification of the second aspect of the invention, a method for understanding a scene using an object detection neural network is provided. The object detection network in this modification contains a part for understanding the scene, which is pre-trained in an end-to-end manner, and the method further comprises the steps of: performing a global average pooling of the extracted 2D feature maps to obtain a tensor representing the extracted 2D feature maps, and estimating the configuration (layout) scene by passing a tensor through a scene comprehension portion configured to jointly evaluate camera rotation and a 3D scene configuration. The scene understanding part contains two parallel branches: two fully connected layers that output the 3D scene configuration, and two other fully connected layers that evaluate camera rotation.

[0012] В третьем аспекте изобретения предложено электронное устройство, установленное на транспортном средстве, снабженном по меньшей мере одной камерой. Данное электронное устройство содержит процессор, сконфигурированный для реализации способа по первому аспекту изобретения для обнаружения нулевого или большего количества трехмерных объектов в окружающей области транспортного средства.[0012] In a third aspect of the invention, there is provided an electronic device mounted on a vehicle equipped with at least one camera. This electronic device contains a processor configured to implement the method according to the first aspect of the invention to detect zero or more three-dimensional objects in the surrounding area of the vehicle.

[0013] В четвертом аспекте изобретения предложено электронное устройство, снабженное по меньшей мере одной камерой. Данное электронное устройство содержит процессор, сконфигурированный для реализации способа по второму аспекту изобретения для обнаружения нулевого или большего количества трехмерных объектов в окружающей области электронного устройства. Неограничивающими примерами электронного устройства являются смартфон, планшет, умные очки, мобильный робот.[0013] In a fourth aspect of the invention, an electronic device provided with at least one camera is provided. The electronic device comprises a processor configured to implement the method of the second aspect of the invention for detecting zero or more three-dimensional objects in the surrounding area of the electronic device. Non-limiting examples of an electronic device include a smartphone, tablet, smart glasses, mobile robot.

[0014] В пятом аспекте изобретения предложено электронное устройство, снабженное по меньшей мере одной камерой. Данное электронное устройство содержит процессор, сконфигурированный для реализации способа согласно модификации второго аспекта изобретения для обнаружения нулевого или большего количества трехмерных объектов в окружающей области электронного устройства. Неограничивающими примерами электронного устройства являются смартфон, планшет, умные очки, мобильный робот.[0014] In a fifth aspect of the invention, an electronic device provided with at least one camera is provided. This electronic device includes a processor configured to implement a method according to a modification of the second aspect of the invention for detecting zero or more three-dimensional objects in the surrounding area of the electronic device. Non-limiting examples of an electronic device include a smartphone, tablet, smart glasses, mobile robot.

[0015] В седьмом аспекте изобретения предложен считываемый компьютером носитель, хранящий выполняемые компьютером инструкции, которые при исполнении процессором побуждают процессор выполнять способ согласно первому аспекту, второму аспекту или модификации второго аспекта.[0015] In a seventh aspect of the invention, there is provided a computer-readable medium storing computer-executable instructions that, when executed by a processor, cause the processor to perform the method of the first aspect, the second aspect, or modifications of the second aspect.

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

[0016] Представленные выше и другие аспекты, признаки и преимущества настоящего изобретения станут более очевидными из следующего подробного описания вместе с прилагаемыми чертежами, на которых изображено следующее:[0016] The above and other aspects, features and advantages of the present invention will become more apparent from the following detailed description, together with the accompanying drawings, which depict the following:

Фиг.1 - блок-схема способа обнаружения трехмерных объектов с использованием предобученной нейронной сети обнаружения объектов, имеющей часть для обнаружения объектов в уличных сценах, согласно первому варианту осуществления настоящего изобретения.1 is a flowchart of a method for detecting 3D objects using a pre-trained object detection neural network having a part for detecting objects in street scenes according to the first embodiment of the present invention.

Фиг.2 - схематичное представление конкретных частей архитектуры предобученной нейронной сети для обнаружения объектов и операций способа обнаружения трехмерных объектов согласно первому варианту осуществления настоящего изобретения.Figure 2 is a schematic representation of specific parts of the architecture a pre-trained neural network for object detection; and operations of the 3D object detection method according to the first embodiment of the present invention.

Фиг.3 - блок-схема способа обнаружения трехмерных объектов с использованием предобученной нейронной сети обнаружения объектов, имеющей часть для обнаружения объектов в сценах помещений согласно второму варианту осуществления настоящего изобретения.3 is a flowchart of a method for detecting 3D objects using a pre-trained object detection neural network having a part for detecting objects in indoor scenes according to a second embodiment of the present invention.

Фиг.4 - схематичное представление конкретных архитектурных частей предобученной нейронной сети для обнаружения объектов и операций способа обнаружения трехмерных объектов согласно второму варианту осуществления настоящего изобретения.4 is a schematic representation of specific architectural parts of a pre-trained neural network for object detection and operations of a 3D object detection method according to a second embodiment of the present invention.

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯDESCRIPTION OF EMBODIMENTS

[0017] Техническое решение, раскрытое в настоящей заявке, принимает или иным образом получает набор монокулярных изображений произвольного размера вместе с положениями камеры для таких изображений. Положения камеры можно оценить по изображениям любым известным способом, например, MVS (Multi-View Stereo), SLAM (Simultaneous Localization And Mapping (Одновременная локализация и отображение), трекинг камеры и т.п. В качестве альтернативы, оценочные положения камеры, связанные с соответствующими изображениями набора монокулярных изображений, могут быть приняты или иным образом получены в качестве дополнительной информации в любой подходящей форме. Набор изображений может включать в себя одно или несколько изображений. Изображения в этом наборе могут быть, но без ограничения, RGB-изображениями или любыми другими цветными изображениями.[0017] The technical solution disclosed in this application receives or otherwise receives a set of monocular images of an arbitrary size, along with camera positions for such images. Camera positions can be estimated from images by any known method, such as MVS (Multi-View Stereo), SLAM (Simultaneous Localization And Mapping), camera tracking, etc. Alternatively, estimated camera positions associated with corresponding images of the monocular image set may be taken or otherwise obtained as additional information in any suitable form.The image set may include one or more images.The images in this set may be, but are not limited to, RGB images or any other color images.

[0018] Затем предложенное техническое решение извлекает признаки (например, в виде двумерных карт признаков) из одного или нескольких изображений, используя часть для извлечения двумерных признаков основной нейронной сети обнаружения объектов. Любая двумерная сверточная опорная часть, например VGGNet, ResNet, ResNet-50, MobileNet или другие сверточные нейронные сети (CNN) могут использоваться в качестве части для извлечения двумерных признаков. Затем извлеченные признаки изображения проецируются в трехмерный воксельный объем. Для каждого вокселя спроецированные признаки из нескольких изображений агрегируются любым известным способом, например путем простого поэлементного усреднения. Затем воксельный объем с спроецированными и агрегированными признаками передается в часть для извлечения трехмерных признаков основной нейронной сети обнаружения объектов. Часть для извлечения трехмерных признаков может быть трехмерной сверточной сетью, так называемой "промежуточной частью". Выходные данные (например, в виде трехмерных карт признаков) части для извлечения трехмерных признаков поступают на вход части для обнаружения объектов основной нейронной сети обнаружения объектов. Часть обнаружения объектов может быть образована, но без ограничения, последними несколькими сверточными слоями, так называемой "головной частью" в основной нейронной сети обнаружения объектов. Часть для обнаружения объектов обучена выполнять обнаружение объекта. Например, часть для обнаружения объектов может выполнять обнаружение объекта путем прогнозирования признаков ограничивающей рамки для каждой привязки. Привязка (anchor) представляет собой один или несколько кандидатов местоположения в трехмерном пространстве, возможно, с дополнительными элементами априорной информации, такими как средний размер объекта или его соотношение сторон. Полученные ограничивающие рамки обнаруженных объектов можно параметризовать как (x, y, z, w, h, l, и), где (x; y; z) - координаты центра ограничивающей рамки; w, h, l - ширина, высота и длина, соответственно, а и - угол поворота вокруг оси z . Операции, кратко описанные выше, будут описаны подробно ниже со ссылками на прилагаемые фигуры. Проецирование двумерных признаков и трехмерная промежуточная сеть могут быть реализованы, например, как описано в работах (1) Z. Murez, T. van As, J. Bartolozzi, A. Sinha, V. Badrinarayanan, and A. Rabinovich. Atlas: End-to-end 3D scene reconstruction from posed images (Сквозная реконструкция трехмерной сцены из захваченных в известных положениях изображений), 2020 или (2) J. Hou, A. Dai, and M. NieЯner. 3D-sis: 3D semantic instance segmentation of RGB-d scans (Сегментация семантических 3D экземпляров сканирований RGB-d), 2019. [0018] The proposed solution then extracts features (eg, in the form of 2D feature maps) from one or more images using the 2D feature extraction part of the main object detection neural network. Any 2D convolutional reference part such as VGGNet, ResNet, ResNet-50, MobileNet, or other Convolutional Neural Networks (CNNs) can be used as part of the 2D feature extraction. The extracted image features are then projected into a 3D voxel volume. For each voxel, the projected features from multiple images are aggregated in any known manner, such as by simple element-wise averaging. The voxel volume with projected and aggregated features is then passed to the 3D feature extraction part of the main object detection neural network. The 3D feature extraction part may be a 3D convolutional network, the so-called "intermediate part". The output (eg, in the form of 3D feature maps) of the 3D feature extraction part is input to the object detection part of the main object detection neural network. The object detection part may be formed by, but not limited to, the last few convolutional layers, the so-called "head" in the main object detection neural network. The object detection part is trained to perform object detection. For example, the object detection part may perform object detection by predicting the features of the bounding box for each anchor. An anchor is one or more location candidates in 3D space, possibly with additional a priori information such as the average size of an object or its aspect ratio. The resulting bounding boxes of detected objects can be parameterized as (x, y, z, w, h, l, and), where (x; y; z) - coordinates of the center of the bounding box;w, h, l - width, height and length, respectively, andand - angle of rotation around the axis z . The operations briefly described above will be described in detail below with reference to the accompanying figures. 2D feature projection and 3D intermediate network can be implemented, for example, as described in (1) Z. Murez, T. van As, J. Bartolozzi, A. Sinha, V. Badrinarayanan, and A. Rabinovich. Atlas: End-to-end 3D scene reconstruction from posed images (Through 3D Scene Reconstruction from Images Captured at Known Positions), 2020 or (2) J. Hou, A. Dai, and M. NieЯner. 3D-sis: 3D semantic instance segmentation of RGB-d scans,2019.

[0019] Далее будет более подробно описан способ согласно первому варианту осуществления настоящего изобретения со ссылками на фиг.1 и фиг.2. На фиг.1 представлена блок-схема способа обнаружения трехмерных объектов с использованием предобученной нейронной сети обнаружения объектов (также называемой "основная нейронная сеть"), имеющей часть для обнаружения объектов в уличных сценах согласно варианту осуществления настоящего изобретения. Способ запускается и переходит на этап S100 приема одного или нескольких монокулярных изображений. Как кратко упоминалось выше, одно или несколько монокулярных изображений могут быть RGB-изображениями или любыми другими цветными изображениями в одном из различных форматов. Пусть I t R W × H × 3 будет t-м изображением в множестве T изображений. Здесь T>1 в случае многоракурсных входных данных и T=1 для одиночных входных данных.[0019] Next, the method according to the first embodiment of the present invention will be described in more detail with reference to Fig . 1 and Fig . 2 . 1 is a flowchart of a method for detecting 3D objects using a pre-trained object detection neural network (also referred to as "core neural network") having a part for detecting objects in street scenes according to an embodiment of the present invention. The method starts and proceeds to step S100 of receiving one or more monocular images. As briefly mentioned above, one or more monocular images can be RGB images or any other color images in one of various formats. Let I t R W × H × 3 be the t -th image in the set T of images. Here T >1 in case of multiview input and T =1 for single input.

[0020] Затем способ переходит на этап S105 извлечения двумерных карт признаков из каждого из одного или нескольких монокулярных изображений путем пропускания одного или нескольких монокулярных изображений через часть для извлечения двумерных признаков, показанную на фиг.2 как "2D CNN". Часть для извлечения двумерных признаков выводит четыре двумерные карты признаков форм

Figure 00000001
,
Figure 00000002
,
Figure 00000003
, и
Figure 00000004
. Конкретное количество (т.е. четыре) двумерны карт признаков, выводимых частью для извлечения двумерных признаков, а также конкретные заданные формы выходных двумерны карт признаков не следует рассматривать в качестве ограничений настоящей технологии, поскольку также возможны другие количества двумерных карт признаков и другие формы двумерных карт признаков. В качестве альтернативы, могут быть выведены и использованы впоследствии всего три или всего две двумерные карты признаков.[0020] The method then proceeds to step S105 of extracting 2D feature maps from each of the one or more monocular images by passing the one or more monocular images through the 2D feature extraction portion shown as a "2D CNN" in FIG . 2. The 2D feature extraction part outputs four 2D shape feature maps
Figure 00000001
,
Figure 00000002
,
Figure 00000003
, and
Figure 00000004
. The specific number (i.e., four) of 2D feature maps output by the 2D feature extraction part, as well as the specific desired shapes of the output 2D feature maps, should not be construed as limitations of the present technology, as other numbers of 2D feature maps and other shapes of 2D features are also possible. feature maps. Alternatively, as few as three or as few as two 2D feature maps can be derived and used subsequently.

[0021] Признаки в полученных двумерных картах признаков затем можно агрегировать, например, через сеть признаковой пирамиды (FPN), которая выдает один тензор F t формы

Figure 00000005
.
Figure 00000006
и
Figure 00000007
являются зависящими от опорной части; конкретные заранее определенные значения
Figure 00000006
и
Figure 00000007
будут представлены ниже в качестве примера. Карты признаков F 1-F T, имеющие агрегированные признаки, показаны на фиг.2 для соответствующих входных изображений I 1-I T.[0021] The features in the resulting 2D feature maps can then be aggregated, for example, through a Feature Pyramid Network (FPN) that produces a single tensor F t of the shape
Figure 00000005
.
Figure 00000006
and
Figure 00000007
are dependent on the reference part; specific predefined values
Figure 00000006
and
Figure 00000007
will be presented below as an example. Feature maps F 1 - F T having aggregated features are shown in FIG . 2 for the respective input images I 1 - I T .

[0022] Затем способ переходит на этап S110 генерации усредненного трехмерного воксельного объема на основе двумерных карт признаков. Для t-х входных данных извлеченная двумерная карта признаков F t затем проецируется в трехмерный воксельный объем

Figure 00000008
. Ось z задана перпендикулярной плоскости пола, ось x направлена вперед, а ось y ортогональна обеим осям x и z. Для каждого набора данных (например, ScanNet, SUN RGB-D, KITTI и nuScenes) существуют известные пространственные пределы, оцененные эмпирически для всех трех осей. Обозначим эти пределы как x min, x max, y min, y max, z min, z max. Для фиксированного размера вокселя s пространственные ограничения можно сформулировать как N x s=x maxx min, N y s=y maxy min, N z s=z maxz min. Затем можно использовать модель камеры с точечной диафрагмой, но без ограничения, для определения соответствия между 2D координатами (u, v) в двумерной карте признаков F t и 3D координатами (x, y, z) в объеме V t:[0022] The method then proceeds to step S110 of generating an average 3D voxel volume based on the 2D feature maps. For t -x inputs, the extracted 2D feature map F t is then projected into a 3D voxel volume
Figure 00000008
. The z -axis is set perpendicular to the floor plane, the x -axis is directed forward, and the y -axis is orthogonal to both the x and z axes. For each data set (eg ScanNet, SUN RGB-D, KITTI and nuScenes) there are known spatial limits, empirically estimated for all three axes. Let's denote these limits as x min , x max , y min , y max , z min , z max . For a fixed voxel size s , the spatial constraints can be formulated as N x s = x maxx min , N y s = y maxy min , N z s = z maxz min . You can then use the camera model with, but not limited to, a pinhole to determine the correspondence between the 2D coordinates ( u, v ) in the 2D feature map F t and the 3D coordinates ( x, y, z ) in the volume V t :

Figure 00000009
,
Figure 00000009
,

[0023] K и R t - матрицы внутренних и внешних параметров камеры, соответственно, а Р - перспективное отображение. Внутренние параметры матрицы внутренних параметров камеры определяют положение и ориентацию камеры по отношению к системе координат мира. Внешние параметры матрицы внешних параметров камеры позволяют осуществлять преобразования между координатами камеры и пиксельными координатами в кадре изображения. Конкретные значения внутренних и внешних параметров могут быть заданы для камеры в результате процесса калибровки камеры.[0023] K and R t are matrices of internal and external parameters of the camera, respectively, and P is a perspective display. The internal parameters of the matrix of internal parameters of the camera determine the position and orientation of the camera in relation to the world coordinate system. Camera extrinsics matrix extrinsic parameters allow conversions between camera coordinates and pixel coordinates in an image frame. Specific values for internal and external parameters can be set for the camera as a result of the camera calibration process.

[0024] После проецирования двумерных карт признаков все воксели вдоль луча камеры заполняются теми же признаками, что и соответствующая двумерная карта (карты) признаков. При необходимости может быть определена двоичная маска M t . Форма двоичной маски M t может соответствовать форме объема V t . Эта двоичная маска указывает, находится ли каждый воксель внутри усеченной пирамиды камеры, т.е. является ли данный воксель "внутренним (видимым) вокселем" или нет. Таким образом, для каждого изображения I t маска M t может быть определена как:[0024] After the 2D feature maps are projected, all voxels along the camera beam are filled with the same features as the corresponding 2D feature map(s). A binary mask M t may be defined if necessary. The shape of the binary mask M t may correspond to the shape of the volume V t . This binary mask indicates whether each voxel is inside the truncated camera pyramid, i.e. whether the given voxel is an "internal (visible) voxel" or not. Thus, for each image I t , the mask M t can be defined as:

Figure 00000010
Figure 00000010

[0025] Затем двумерная карта признаков F t проецируется для каждого внутреннего (т.е. действительного) вокселя в объеме V t :[0025] Then a two-dimensional feature map F t is projected for each internal (i.e., actual) voxel in volume V t :

Figure 00000011
Figure 00000011

[0026] На фиг.2 показаны внутренние объемы V 1-V T со спроецированными признаками, соответствующими картам признаков F 1-F T, имеющим агрегированные признаки, для соответствующих входных изображений I 1-I T.[0026] Figure 2 shows internal volumes V 1 - V T with projected features corresponding to feature maps F 1 - F T having aggregated features for the respective input images I 1 - I T .

[0027] Агрегированная двоичная маска M представляет собой сумму M 1,…,M t :[0027] The aggregated binary mask M is the sum of M 1 ,..., M t :

Figure 00000012
Figure 00000012

[0028] В заключение, генерируется усредненный трехмерный воксельный объем V путем усреднения спроецированных признаков в объемах V 1,…,V t по внутренним вокселям:[0028] Finally, an averaged 3D voxel volume V is generated by averaging the projected features in the volumes V 1 ,..., V t over the internal voxels:

Figure 00000013
Figure 00000013

[0029] На фиг.2 показан усредненный трехмерный воксельный объем V формы

Figure 00000014
, сгенерированный на основе внутренних объемов V 1-V T со спроецированными признаками, соответствующими картам признаков F 1-F T, имеющим агрегированные признаки, для соответствующих входных изображений I 1-I T.[0029] Figure 2 shows the averaged 3D voxel volume of a V shape
Figure 00000014
, generated on the basis of internal volumes V 1 - V T with projected features corresponding to feature maps F 1 - F T having aggregated features, for the corresponding input images I 1 - I T .

[0030] Поскольку часть для обнаружения объектов в уличных сценах принимает двумерные карты признаков, необходимо получить двумерное представление сгенерированного трехмерного воксельного объема для использования в предложенном способе. Поэтому, возвращаясь к фиг.1, после того, как сгенерирован усредненный трехмерный воксельный объем V, способ переходит на этап S115 извлечения двумерного представления трехмерных карт признаков из усредненного трехмерного воксельного объема. Этот этап выполняется путем пропускания усредненного трехмерного воксельного объема только через кодировщик части для извлечения трехмерных признаков, показанной на фиг.2 как "3D CNN". Часть для извлечения трехмерных признаков, используемая на данном этапе, может соответствовать архитектуре кодировщик-декодер, раскрытой в вышеупомянутой работе (1).[0030] Since the part for detecting objects in street scenes receives two-dimensional feature maps, it is necessary to obtain a two-dimensional representation of the generated three-dimensional voxel volume for use in the proposed method. Therefore, returning to FIG . 1, after the average 3D voxel volume V has been generated, the method proceeds to step S115 of extracting a 2D representation of 3D feature maps from the average 3D voxel volume. This step is performed by passing the averaged 3D voxel volume only through the encoder of the 3D feature extraction part shown as "3D CNN" in FIG . 2. The 3D feature extraction part used in this step may correspond to the encoder-decoder architecture disclosed in the aforementioned work (1).

[0031] После прохождения через несколько трехмерных сверточных слоев и слоев понижающей дискретизации кодировщика части для извлечения трехмерных признаков усредненный трехмерный воксельный объем V формы

Figure 00000014
преобразуется в тензор формы
Figure 00000015
, являющийся двумерным представлением трехмерных карт признаков усредненного трехмерного воксельного объема. Полученный тензор формы
Figure 00000015
представляет собой выходные данные (показан на фиг.2 как "3D признаки") части для извлечения трехмерных признаков. Благодаря этапу S115 задачу обнаружения трехмерных объектов в трехмерном пространстве можно свести к задаче обнаружения двумерных объектов в плоскости BEV. Обе части - часть для извлечения трехмерных признаков, показанная на фиг.2 как "3D CNN" и часть для обнаружения объектов в уличных сценах, показанная на фиг.2 как "2D Conv" для данного варианта осуществления способа, содержат 2D свертки.[0031] After passing through several 3D convolutional and downsampling layers of the encoder part for extracting 3D features, the averaged 3D voxel volume of V shape
Figure 00000014
converted to shape tensor
Figure 00000015
, which is a 2D representation of 3D feature maps of the averaged 3D voxel volume. The resulting shape tensor
Figure 00000015
is the output (shown as "3D features" in FIG . 2) of the 3D feature extraction part. Through step S115, the task of detecting three-dimensional objects in three-dimensional space can be reduced to the task of detecting two-dimensional objects in the BEV plane. Both the 3D feature extraction part shown as "3D CNN" in FIG . 2 and the street scene detection part shown as "2D Conv" in FIG . 2 for this embodiment of the method contain 2D convolutions.

[0032] И наконец, после получения тензора формы

Figure 00000015
, являющегося представлением усредненного трехмерного воксельного объема V в плоскости BEV, способ переходит на этап S120 выполнения обнаружения трехмерных объектов в форме обнаружения двумерных объектов в плоскости BEV. Обнаружение двумерных объектов в плоскости BEV реализуется путем передачи двумерного представления трехмерных карт признаков через часть для обнаружения объектов в уличных сценах, содержащую параллельные двумерные сверточные слои для классификации и определения местоположения. "Параллельность" по отношению к слоям в данном контексте означает, что выходные данные предпоследнего сверточного слоя подаются на 2 конечных слоя (один для классификации, другой для определения местоположения), которые не зависят друг от друга, т.е. обработка в этих слоях может выполняться одновременно. Таким образом, задача обнаружения трехмерных объектов в уличных сценах переформулируется в способе согласно первому варианту осуществления в задачу обнаружения двумерных объектов в плоскости BEV.[0032] Finally, after getting the shape tensor
Figure 00000015
, which is a representation of the average 3D voxel volume V in the BEV plane, the method proceeds to step S120 of performing 3D object detection in the form of 2D object detection in the BEV plane. Detection of 2D objects in the BEV plane is implemented by passing a 2D representation of 3D feature maps through a part for detecting objects in outdoor scenes containing parallel 2D convolutional layers for classification and location. "Parallelism" in relation to layers in this context means that the output of the penultimate convolutional layer is fed to 2 final layers (one for classification, the other for location), which are independent of each other, i.e. processing in these layers can be performed simultaneously. Thus, the task of detecting 3D objects in street scenes is reformulated in the method according to the first embodiment as a task of detecting 2D objects in the BEV plane.

[0033] В качестве части для обнаружения объектов в уличных сценах в данном варианте осуществления способа может использоваться, но без ограничения, работающая с двумерными привязками головная часть, продемонстрировавшая свою эффективность в работах (3) A. H. Lang, S. Vora, H. Caesar, L. Zhou, J. Yang, and O. Beijbom. Pointpillars: Fast encoders for object detection from point clouds (Быстрые кодировщики для обнаружения объектов из облаков точек), 2019, и (4) Y. Yan, Y. Mao, and B. Li. Second: Sparsely embedded convolutional detection (Разреженно-встроенное сверточное обнаружение), 2018, на наборах данных KITTI и nuScenes. Любая другая головная часть на основе облака точек может использоваться с предлагаемой основной нейронной сетью обнаружения объектов.[0033] As part of detecting objects in street scenes in this embodiment of the method may be used, but not limited, working with 2D snaps warhead shown to be effective in (3) A. H. Lang, S. Vora, H. Caesar, L. Zhou, J. Yang, and O. Beijbom. Pointpillars: Fast encoders for object detection from point clouds, 2019, and (4) Y. Yan, Y. Mao, and B. Li. Second: Sparsely embedded convolutional detection, 2018, on the KITTI and nuScenes datasets. Any other point cloud head can be used with the proposed core object detection neural network.

[0034] Поскольку способы трехмерного обнаружения для применения в уличных сценах обычно оцениваются на транспортных средствах или других объектах, находящихся на дороге или рядом с ней (например, на пешеходах, объектах дорожной инфраструктуры, таких как дорожная разметка и дорожные знаки), все такие объекты имеют аналогичный заданный масштаб и принадлежат к фиксированным категориям. Для одномасштабного и одноклассового обнаружения часть для обнаружения объектов в уличных сценах содержит два параллельных сверточных 2D слоя. Один слой оценивает вероятность класса, а другой регрессирует семь параметров ограничивающей рамки объекта, если он обнаружен.[0034] Because 3D detection methods for use in street scenes are typically evaluated on vehicles or other objects on or near the road (e.g., pedestrians, road infrastructure such as road markings and traffic signs), all such objects have a similar given scale and belong to fixed categories. For single scale and The single-class detection part for detecting objects in street scenes contains two parallel convolutional 2D layers. One layer evaluates the probability of the class, and the other regresses the seven parameters of the object's bounding box if it is found.

[0035] Входные данные в часть для обнаружения объектов в уличных сценах. Этими входными данными, как уже вкратце отмечалось выше, является тензор формы

Figure 00000015
. Конкретное значение
Figure 00000016
предопределено и будет проиллюстрировано ниже.[0035] Input to the part for detecting objects in street scenes. This input, as already briefly noted above, is the shape tensor
Figure 00000015
. specific meaning
Figure 00000016
predetermined and will be illustrated below.

[0036] Выходные данные части для обнаружения объектов в уличных сценах. Для каждой привязки в 2D BEV часть для обнаружения объектов в уличных сценах возвращает вероятность p класса и ограничивающую 3D рамку, например, как следующий набор из семи элементов:[0036] The output of the part for detecting objects in street scenes. For each anchor in the 2D BEV, the part for detecting objects in street scenes returns a class probability p and a 3D bounding box, for example, as the following set of seven elements:

Figure 00000017
,
Figure 00000018
,
Figure 00000019
,
Figure 00000020
,
Figure 00000021
,
Figure 00000022
,
Figure 00000023
.
Figure 00000017
,
Figure 00000018
,
Figure 00000019
,
Figure 00000020
,
Figure 00000021
,
Figure 00000022
,
Figure 00000023
.

[0037] При этом .gt и .a, соответственно, обозначают истинные ограничивающие рамки (ground truth) и ограничивающие рамки привязки. Длина диагонали

Figure 00000024
ограничивающей рамки постоянна для всех привязок, поскольку они расположены в плоскости BEV и вычисляются для одного класса объектов (например, автомобилей).[0037] In this case, .gt and .a , respectively, denote the true bounding boxes (ground truth) and bounding boxes of the anchor. Diagonal length
Figure 00000024
The bounding box is constant for all anchors because they are in the BEV plane and are calculated for the same feature class (for example, cars).

[0038] Потери. Для обучения части для обнаружения объектов в уличных сценах можно использовать следующую функцию потерь, но без ограничений. Общие потери в уличных сценах могут включать в себя несколько членов потерь, а именно сглаженное среднее абсолютное отклонение как потерю местоположения L loc, фокальную потерю для классификации L cls и перекрестно-энтропийную потерю для направления L dir. В целом, общие потери в уличных сценах можно сформулировать, например, следующим образом:[0038]Losses. To train the part to detect objects in street scenes, the following loss function can be used, but without limitation. The total loss in street scenes may include several loss terms, namely the smoothed mean absolute deviation as position lossL loc, focal loss for classificationL cls and cross-entropy loss for directionL dir. In general, the total losses in street scenes can be formulated, for example, as follows:

Figure 00000025
,
Figure 00000025
,

[0039]

Figure 00000026
- это количество положительных привязок; привязка считается положительной, если хотя бы один истинный объект соответствует этой привязке.
Figure 00000027
,
Figure 00000028
,
Figure 00000029
, но без ограничения указанными значениями.[0039]
Figure 00000026
is the number of positive bindings; an anchor is considered positive if at least one true object matches that anchor.
Figure 00000027
,
Figure 00000028
,
Figure 00000029
, but not limited to the specified values.

[0040] Как было описано выше со ссылками на фиг.1 и фиг.2, основная нейронная сеть обнаружения объектов, используемая в способе обнаружения трехмерных объектов согласно первому варианту осуществления настоящего изобретения, создает трехмерное воксельное представление пространства. Таким образом, она может использовать головную часть или промежуточную часть из любого из известных способов обнаружения трехмерных объектов на основе облака точек. Следовательно, вместо трудоемкой реализации нестандартной и сложной архитектуры можно использовать современные головные части с соответствующими способами и без дополнительных модификаций. Таким образом, модульная конструкция нейронной сети обнаружения объектов, используемой в способе обнаружения объектов согласно первому варианту осуществления настоящего изобретения, обеспечивает повышенную гибкость и упрощает процесс разработки. Однако следует понимать, что конструкции головной части для способов применения в уличных сценах и в сценах помещений существенно различаются.[0040] As described above with reference to FIGS . 1 and 2 , the object detection core neural network used in the 3D object detection method according to the first embodiment of the present invention creates a 3D voxel representation of space. Thus, it can use a head or intermediate part from any of the known methods for detecting three-dimensional objects based on a point cloud. Therefore, instead of the time-consuming implementation of a non-standard and complex architecture, modern warheads can be used with appropriate methods and without additional modifications. Thus, the modular design of the object detection neural network used in the object detection method according to the first embodiment of the present invention provides increased flexibility and simplifies the development process. However, it should be understood that head designs for applications in outdoor scenes and indoor scenes differ significantly.

[0041] Вариант осуществления способа, описанный со ссылками на фиг.1 и фиг.2, адаптирован для применения в уличных сценах и может исполняться электронным устройством транспортного средства, оснащенного по меньшей мере одной камерой, для обнаружения нулевого или большего количества трехмерных объектов в окружающей области транспортного средства. Такое электронное устройство может быть системой автономного вождения транспортного средства или, по меньшей мере, ее частью. Такая система может содержать по меньшей мере одну или несколько камер, установленных на транспортном средстве и сконфигурированных для захвата изображений окружения транспортного средства вокруг транспортного средства, и процессор, сконфигурированный для выполнения или запуска различных операций, связанных с транспортным средством. Следует понимать, что изобретение, раскрытое в настоящей заявке, не претендует на техническое решение автономного вождения как такового, но оно может быть частью такого технического решения для транспортного средства, ответственной за обнаружение трехмерных объектов.[0041] An embodiment of the method described with reference to FIGS . 1 and 2 is adapted for use in street scenes and can be executed by a vehicle electronic device equipped with at least one camera to detect zero or more three-dimensional objects in the environment. vehicle area. Such an electronic device may be a vehicle autonomous driving system or at least a part of it. Such a system may include at least one or more cameras mounted on a vehicle and configured to capture images of the vehicle's environment around the vehicle, and a processor configured to perform or initiate various vehicle-related operations. It should be understood that the invention disclosed in this application does not claim to be a technical solution for autonomous driving as such, but it may be part of such a technical solution for a vehicle responsible for detecting three-dimensional objects.

[0042] Теперь обратимся к более подробному описанию способа согласно второму варианту настоящего изобретения со ссылками на фиг.3 и фиг.4. На фиг.3 представлена блок-схема способа обнаружения трехмерных объектов с использованием предобученной нейронной сети обнаружения объектов, имеющей часть для обнаружения объектов в сценах помещений согласно второму варианту осуществления настоящего изобретения. Поскольку этапы S200, S205, S210 способа согласно второму варианту осуществления (в сценах помещений) соответствуют этапам S100, S105, S110 первого варианта осуществления способа (в уличных сценах) повторные описания этапов S200, S205, S210 будут опущены для краткости. Кроме того, поскольку мета-архитектура (т.е. 2D CNN, 3D CNN плюс дополнительные операции между ними, как показано на фиг.2 и 4) основной нейронной сети обнаружения объектов в обоих вариантах предложенного и описанного способа остается одинаковой, описание мета-архитектуры, показанной на фиг.4, также будет опущено для краткости.[0042] Let us now turn to a more detailed description of the method according to the second variant of the present invention with reference to Fig.3 and Fig.4 . 3 is a flowchart of a method for detecting 3D objects using a pre-trained object detection neural network having a part for detecting objects in indoor scenes according to the second embodiment of the present invention. Since steps S200, S205, S210 of the method of the second embodiment (in indoor scenes) correspond to steps S100, S105, S110 of the first embodiment of the method (in outdoor scenes), repeated descriptions of steps S200, S205, S210 will be omitted for brevity. In addition, since the meta-architecture (i.e. 2D CNN, 3D CNN plus additional operations between them, as shown in Fig.2 and 4 ) of the main object detection neural network in both versions of the proposed and described method remains the same, the description of the meta- the architecture shown in Figure 4 will also be omitted for brevity.

[0043] Обращаясь теперь к фиг.3 и фиг.4, после того, как был сгенерирован усредненный трехмерный воксельный объем V, способ переходит на этап S215 извлечения уточненных (например, если вводятся трехмерные признаки, выводятся уточненные трехмерные признаки, соответствующие введенным трехмерным признакам) трехмерных карт признаков из усредненного трехмерного воксельного объема. Этот этап выполняется путем пропускания усредненного трехмерного воксельного объема через всю архитектуру сверточного трехмерного кодировщика-декодера части для извлечения трехмерных признаков, показанной на фиг.4 как "3D CNN". Часть извлечения трехмерных признаков может соответствовать архитектуре кодировщик-декодер, раскрытой в вышеупомянутом документе (1).[0043] Referring now to FIGS. 3 and 4 , after the average 3D voxel volume V has been generated, the method proceeds to step S215 to extract refined features (e.g., if 3D features are input, refined 3D features corresponding to the inputted 3D features are output ) 3D feature maps from the averaged 3D voxel volume. This step is performed by passing the averaged 3D voxel volume through the entire 3D convolutional encoder-decoder architecture of the 3D feature extraction portion shown in FIG . 4 as "3D CNN". The 3D feature extraction part may correspond to the encoder-decoder architecture disclosed in the above document (1).

[0044] Каждый слой архитектуры кодировщик-декодер, используемой на данном этапе, содержит остаточные блоки с заранее определенным количеством трехмерных сверточных слоев с ядром заранее определенного размера. В одном примере заданное количество трехмерных сверточных слоев равно двум, а заданный размер ядра равен трем. Для понижающей дискретизации применяются свертки с ядром заданного размера и заданным шагом свертки (stride). В одном примере заданный размер ядра сверток, связанных с понижающей дискретизацией, равен трем, а заданный шаг свертки равен двум. Повышающая дискретизация может выполняться, например, посредством трилинейной интерполяции с последующей сверткой с ядром заданного размера. В одном примере размер ядра свертки, связанной с повышающей дискретизацией, равен единице. Однако настоящее изобретение не ограничивается значениями параметров, указанных в приведенных выше примерах, поскольку возможны другие конкретные значения этих параметров, которые могут быть определены эмпирически на основе таких факторов, как, например, область применения предложенного способа и вычислительные/аппаратные/иные возможности устройства, предназначенного для реализации предложенного способа. В результате этапа S215 декодер части извлечения трехмерных признаков выводит уточненные трехмерные карты признаков (в неограничивающем примере - количество таких выводимых карт равно трем) следующих форм:[0044] Each layer of the encoder-decoder architecture used at this stage contains residual blocks with a predetermined number of 3D convolutional layers with a kernel of a predetermined size. In one example, the specified number of 3D convolution layers is two and the specified kernel size is three. For downsampling, convolutions are used with a kernel of a given size and a given convolution step (stride). In one example, the specified kernel size of downsampling-related convolutions is three and the specified convolution step is two. Upsampling may be performed, for example, by trilinear interpolation followed by convolution with a kernel of a given size. In one example, the upsampling-related convolution kernel size is one. However, the present invention is not limited to the values of the parameters indicated in the above examples, since other specific values of these parameters are possible, which can be determined empirically based on factors such as, for example, the scope of the proposed method and the computing/hardware/other capabilities of the device intended to implement the proposed method. As a result of step S215, the decoder of the 3D feature extraction portion outputs refined 3D feature maps (in a non-limiting example, the number of such output maps is three) of the following forms:

Figure 00000030
,
Figure 00000031
,
Figure 00000032
.
Figure 00000030
,
Figure 00000031
,
Figure 00000032
.

Далее будет проиллюстрировано конкретное значение

Figure 00000016
. В одном примере
Figure 00000033
, чтобы не увеличивать занимаемую память в процессе вычислений в части для извлечения трехмерных признаков. Уточненные трехмерные карты признаков показаны на фиг.4 как "3D признаки".The specific meaning will be illustrated next.
Figure 00000016
. In one example
Figure 00000033
, so as not to increase the occupied memory in the process of computing in the part for extracting three-dimensional features. The refined 3D feature maps are shown in FIG . 4 as "3D features".

[0045] Как было описано выше со ссылками на фиг.3 и фиг.4, основная нейронная сеть обнаружения объектов, используемая в способе обнаружения трехмерных объектов согласно второму варианту осуществления настоящего изобретения, также (аналогично первому варианту осуществления) строит трехмерное воксельное представление пространства. Поэтому она также может использовать промежуточную часть или головную часть из любого из известных способов обнаружения трехмерных объектов на основе облака точек. Следовательно, вместо продолжительной реализации заказной и сложной архитектуры можно использовать современные промежуточные части и/или головные части с соответствующими способами и без дальнейших модификаций. Таким образом, модульная конструкция нейронной сети обнаружения объектов, используемой в способе обнаружения трехмерных объектов согласно второму варианту осуществления настоящего изобретения, обеспечивает, аналогично первому варианту осуществления настоящего изобретения, повышенную гибкость и упрощает процесс разработки. Тем не менее, следует учитывать, что конструкции головных частей для способов применения в уличных сценах и в сценах помещений существенно различаются.[0045] As described above with reference tofigure 3 andfigure 4, the main object detection neural network used in the 3D object detection method according to the second embodiment of the present invention also (similarly to the first embodiment) builds a 3D voxel space representation. Therefore, it can also use an intermediate part or a head part from any of the known methods for detecting three-dimensional objects based on a point cloud. Therefore, instead of a lengthy implementation of custom and complex architecture, modern intermediates and/or heads can be used with appropriate methods and without further modifications. Thus, the modular structure of the object detection neural network used in the 3D object detection method according to the second embodiment of the present invention provides, similarly to the first embodiment of the present invention, increased flexibility and simplifies the development process. However, it should be borne in mind that head designs for applications in outdoor scenes and in indoor scenes differ significantly.

[0046] И наконец, после извлечения уточненных трехмерных карт признаков способ согласно второму варианту осуществления переходит на этап S220 выполнения обнаружения трехмерных объектов. Этот этап реализуется путем пропускания уточненных трехмерных карт признаков через часть для обнаружения объектов в сценах помещений, которая использует плотное воксельное представление промежуточных признаков и содержит трехмерные сверточные слои для классификации, центрированности и определения местоположения. Все современные способы обнаружения трехмерных объектов в сценах помещений выполняют глубокое голосование Хафа для представления разреженных облаков точек. В отличие от этого, способ согласно второму варианту осуществления следует работе (1) и использует плотное воксельное представление промежуточных признаков. Насколько известно авторам, не существует части для обнаружения объектов в сценах помещений для обнаружения трехмерных объектов, которая была бы плотной, трехмерной и многомасштабной. [0046] Finally, after extracting the refined 3D feature maps, the method according to the second embodiment proceeds to step S220 of performing 3D object detection. This step is implemented by passing refined 3D feature maps through the indoor scene object detection part, which uses a dense voxel representation of intermediate features and contains 3D convolutional layers for classification, centering, and location. All current methods for detecting 3D objects in indoor scenes perform deep Hough voting to represent sparse point clouds. In contrast, the method according to the second embodiment follows work (1) and uses a dense voxel representation of intermediate features. To the knowledge of the authors, there is no part for detecting objects in room scenes for detecting 3D objects that is dense, 3D, and multi-scale.

[0047] Конструкция части для обнаружения объектов в сценах помещений может следовать, например, способу двумерного обнаружения FCOS, описанному в работе (5) - Z. Tian, C. Shen, H. Chen, and T. He. FCOS: Fully convolutional one-stage object detection (Полностью сверточное одноступенчатое обнаружение объектов), 2019. Исходная головная часть FCOS, описанная в (5), принимает двумерные признаки из FPN и оценивает двумерные ограничивающие рамки с помощью двумерных сверточных слоев. Чтобы адаптировать FCOS для трехмерного обнаружения, двумерные свертки исходной FCOS заменены в настоящем изобретении трехмерными свертками, чтобы часть для обнаружения объектов в сценах помещений могла обрабатывать трехмерные входные данные. Согласно FCOS для выбора местоположений потенциальных объектов может применяться центральная выборка. В неограничивающем примере может быть выбрано 9 (3×3) кандидатов. Количество кандидатов может быть больше или меньше указанного. Поскольку предлагаемый способ работает в трехмерном пространстве, предел местоположений кандидатов для каждого объекта может быть установлен равным заранее определенному количеству (например, 27, 3×3×3). Результирующая часть для обнаружения объектов в сценах помещений содержит три трехмерных сверточных слоя для классификации, определения местоположения и центрированности, соответственно, с общими весами для всех масштабов объектов.[0047] The design of the part for detecting objects in indoor scenes may follow, for example, the 2D FCOS detection method described in (5) - Z. Tian, C. Shen, H. Chen, and T. He. FCOS: Fully convolutional one-stage object detection, 2019. The original FCOS head described in (5) takes 2D features from FPN and evaluates 2D bounding boxes using 2D convolutional layers. In order to adapt the FCOS for 3D detection, the 2D convolutions of the original FCOS are replaced in the present invention with 3D convolutions so that the part for detecting objects in indoor scenes can process 3D input data. According to FCOS, a central sample can be used to select the locations of potential objects. In a non-limiting example, 9 (3×3) candidates may be selected. The number of candidates may be more or less than specified. Because the proposed method operates in 3D space, the limit of candidate locations for each object can be set to a predetermined number (eg, 27.3×3×3). The resulting part for detecting objects in indoor scenes contains three 3D convolutional layers for classification, location, and centering, respectively, with common weights for all object scales.

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

Figure 00000030
,
Figure 00000031
, и
Figure 00000032
.[0048] Input to the part for detecting objects in indoor scenes . Multiscale input data to the part for detecting objects in room scenes can contain, as already briefly noted above, three shape tensors
Figure 00000030
,
Figure 00000031
, and
Figure 00000032
.

[0049] Выходные данные части для обнаружения объектов в сценах помещений. Для каждого трехмерного местоположения (x a; y a; z a) и каждого из трех осей головная часть оценивает вероятность p класса, центрированность c и трехмерную ограничивающую рамку, как, например, следующий кортеж из семи элементов:[0049] The output of the part for detecting objects in indoor scenes . For each 3D location ( x a ; y a ; z a ) and each of the three axes, the head part evaluates class probability p , centeredness c, and a 3D bounding box, such as the following seven-tuple:

Figure 00000034
,
Figure 00000035
,
Figure 00000034
,
Figure 00000035
,

Figure 00000036
,
Figure 00000037
,
Figure 00000036
,
Figure 00000037
,

Figure 00000038
,
Figure 00000039
, и.
Figure 00000038
,
Figure 00000039
, and .

[0050] При этом

Figure 00000040
,
Figure 00000041
,
Figure 00000042
,
Figure 00000043
,
Figure 00000044
,
Figure 00000045
, соответственно, обозначают минимальные и максимальные координаты вдоль соответствующих осей истинной ограничивающей рамки.[0050] While
Figure 00000040
,
Figure 00000041
,
Figure 00000042
,
Figure 00000043
,
Figure 00000044
,
Figure 00000045
, respectively, denote the minimum and maximum coordinates along the respective axes of the true bounding box.

[0051] Потери. Функция потерь, описанная в документе (5), модифицирована и используется для обучения части для обнаружения объектов в сценах помещений, используемой во втором варианте осуществления способа, предложенного в данном документе. Модифицированная функция общих потерь включает в себя фокальную потерю для классификации L cls, кросс-энтропийную потерю для центрированности L cntr и потерю метрики степени пересечения между двумя ограничивающими рамками (Intersection-over-Union, IoU) для местоположения L loc. Поскольку способ согласно второму варианту осуществления (для работы в сценах помещений) решает задачу трехмерного обнаружения вместо задачи двумерного обнаружения, двумерная потеря IoU заменяется повернутой трехмерной потерей IoU. Кроме того, истинная центрированность обновляется третьим измерением. Итоговые общие потери для сцен помещений можно сформулировать, например, следующим образом:[0051] Losses . The loss function described in document (5) is modified and used to train the part for detecting objects in indoor scenes used in the second embodiment of the method proposed in this document. The modified total loss function includes the focal loss for classification L cls , the cross entropy loss for centering L cntr , and the loss of the degree of intersection between two bounding boxes (Intersection-over-Union , IoU) for location L loc . Since the method according to the second embodiment (for operation in indoor scenes) solves a 3D detection problem instead of a 2D detection problem, the 2D IoU loss is replaced by a rotated 3D IoU loss. In addition, true centering is updated with the third dimension. The resulting total loss for room scenes can be formulated, for example, as follows:

Figure 00000046
,
Figure 00000046
,

[0052] где npos - количество положительных трехмерных местоположений.[0052] where n pos is the number of positive 3D locations.

[0053] Вариант осуществления способа, описанный со ссылками на фиг.3 и фиг.4, адаптирован для использования в сценах помещений и может выполняться электронным устройством, оснащенным по меньшей мере одной камерой для обнаружения нулевого или большего количества трехмерных объектов в окружающей области электронного устройства. Электронное устройство во втором варианте осуществления способа может быть одним из, например, смартфона, планшета, умных очков или мобильного робота. Если электронным устройством является смартфон, планшет или умные очки, пользователи могут направлять камеры таких устройств в разные стороны для обнаружения объектов, попадающих в поле зрения этих камер. В этом случае такие устройства могут, например, служить в качестве устройств, которые помогают пользователям с ослабленным зрением перемещаться по помещению и находить различные объекты, например, посредством синтезируемых голосовых подсказок, дающих информацию о нулевом или большем количестве обнаруженных объектов или информацию об их местоположении.[0053] An embodiment of the method described with reference to FIGS. 3 and 4 is adapted for use in indoor scenes and can be performed by an electronic device equipped with at least one camera to detect zero or more 3D objects in the surrounding area of the electronic device . The electronic device in the second embodiment of the method may be one of, for example, a smartphone, tablet, smart glasses or a mobile robot. If the electronic device is a smartphone, tablet or smart glasses, users can point the cameras of such devices in different directions to detect objects that fall within the field of view of these cameras. In this case, such devices can, for example, serve as devices that help visually impaired users to move around the room and find various objects, for example, through synthesized voice prompts giving information about zero or more detected objects or information about their location.

[0054] Если электронным устройством является мобильный робот, например мобильный робот-уборщик, электронное устройство может быть самим роботом или, по меньшей мере, его частью. Такое электронное устройство может содержать по меньшей мере одну или несколько камер, установленных на корпусе робота и выполненных с возможностью захвата изображений окружения вокруг робота, и процессор, сконфигурированный для выполнения или запуска различных операций, связанных с роботом. Следует понимать, что предложенное изобретение не претендует на техническое решение для навигации робота и управления движениями робота как такового, но оно может быть частью такого технического решения для робота, ответственной за обнаружение трехмерных объектов.[0054] If the electronic device is a mobile robot, such as a mobile cleaning robot, the electronic device may be the robot itself or at least a part of it. Such an electronic device may include at least one or more cameras mounted on the body of the robot and configured to capture images of the environment around the robot, and a processor configured to perform or initiate various operations associated with the robot. It should be understood that the proposed invention does not claim to be a technical solution for robot navigation and control of the movements of the robot as such, but it may be part of such a technical solution for a robot responsible for detecting three-dimensional objects.

[0055] Способ согласно модификации второго варианта осуществления (не показанный на фигурах) адаптирован для понимания сцены, включая оценку положения камеры и определение конфигурации помещения. В способе согласно данной модификации второго варианта осуществления основная нейронная сеть обнаружения объектов дополнительно содержит предобученную часть для понимания сцены. В некоторых критериях сравнительного анализа для помещения задача обнаружения трехмерных объектов может быть сформулирована как подзадача понимания сцены. Следуя работе (6) Y. Nie, X. Han, S. Guo, Y. Zheng, J. Chang и J. J. Zhang. Total 3D understanding: Joint layout, object pose and mesh reconstruction for indoor scenes from a single image (Полное понимание 3D: Совместное определение конфигурации, позы объекта и реконструкция сетки для сцен помещений по одному изображению), 2020, повороты камеры и конфигурации помещений могут быть спрогнозированы в настоящей модификации второго варианта осуществления способа. Часть для понимания сцены в этой модификации второго варианта осуществления способа обучается и конфигурируется для совместной оценки поворота Rt камеры и трехмерной конфигурации сцены. Эта часть для понимания сцены состоит из двух параллельных ветвей: два полносвязных слоя выводят трехмерную конфигурацию сцены, а два других полносвязных слоя оценивают повороты камеры.[0055] A method according to a modification of the second embodiment (not shown in the figures) is adapted for understanding a scene, including estimating a camera position and determining a room configuration. In the method according to this modification of the second embodiment, the main object detection neural network further comprises a pre-trained part for understanding the scene. In some room benchmarking criteria, the 3D object detection problem can be formulated as a sub-problem of scene understanding. Following (6) Y. Nie, X. Han, S. Guo, Y. Zheng, J. Chang and JJ Zhang. Total 3D understanding: Joint layout, object pose and mesh reconstruction for indoor scenes from a single image, 2020, camera rotations and indoor configurations can be predicted in the present modification of the second embodiment of the method. The scene comprehension portion in this modification of the second embodiment of the method is trained and configured to jointly estimate the camera rotation R t and the 3D scene configuration. This part for understanding the scene consists of two parallel branches: two fully connected layers infer the three-dimensional configuration of the scene, and two other fully connected layers evaluate camera rotations.

[0056] Входные данные в часть для понимания сцены. Входными данными является один тензор формы 8 c 0, полученный путем глобального среднего пулинга выходных данных части для извлечения двумерных признаков.[0056] Input to the scene understanding part . The input is a single tensor of shape 8 c 0 , obtained by global average pooling of the part output to extract the 2D features.

[0057] Выходные данные из части для понимания сцены. Часть для понимания сцены выводит положение камеры, например, как кортеж из тангажа в и крена г, и рамку трехмерной конфигурации (представляющую собой рамку, приближенную к помещению), например, как кортеж из 7 элементов (x, y, z, w, l, h, и). Угол рыскания и смещение можно установить равными нулю.[0057] Output from the Scene Understanding Part . The scene comprehension part outputs the camera position, for example, as a tuple of pitch at and roll , z , and a 3D configuration box (which is a box that approximates the room), for example, as a 7-tuple of ( x , y , z , w , l , h , and ). The yaw angle and offset can be set to zero.

[0058] Потери. Потери, используемые в (6), модифицированы для приведения их в соответствие с подзадачей, которая должна быть решена в данной модификации второго варианта способа. Соответственно, потеря L layout конфигурации как повернутая потеря 3D IoU между рамками спрогнозированной и истинной конфигурации; это та же потеря, которая используется для части для обнаружения объектов в сценах помещений согласно второму варианту осуществления способа, описанному выше. Для оценки поворота камеры,

Figure 00000047
используется по существу аналогично Lloc в первом варианте осуществления способа. В целом, общие потери для обучения части для понимания сцены можно сформулировать, например, следующим образом:[0058] Losses. The losses used in (6) are modified to bring them in line with the subtask that must be solved in this modification of the second variant of the method. Accordingly, the loss of L layout configuration as a rotated loss of 3D IoU between the frames of the predicted and true configuration; this is the same loss that is used for the part for detecting objects in indoor scenes according to the second embodiment of the method described above. To evaluate camera rotation,
Figure 00000047
is used essentially in the same way as L loc in the first embodiment of the method. In general, the total loss for learning the scene understanding part can be formulated, for example, as follows:

Figure 00000048
,
Figure 00000048
,

[0059] где л layout =0,1 и л pose =1,0, но без ограничения указанными значениями.[0059] where l layout =0.1 and l pose =1.0, but not limited to the specified values.

[0060] Подобно второму варианту осуществления способа, модификация второго варианта осуществления способа, описанного выше, адаптирована для понимания сцен помещений и может выполняться электронным устройством, оснащенным по меньшей мере одной камерой для обнаружения нулевого или большего количества трехмерных объектов в окружающей области электронного устройства, оценки положения камеры и определения конфигурации помещения. Электронное устройство во втором варианте осуществления способа может быть одним из, например, смартфона, планшета, умных очков или мобильного робота. Если электронным устройством является смартфон, планшет или умные очки, пользователи могут направлять камеры таких устройств в разные стороны в помещении, чтобы понять характеристики сцены и содержимое сцены, попадающее в поля зрения камер. В этом случае такие устройства могут, например, служить в качестве устройств, которые помогают пользователям с ослабленным зрением перемещаться по помещению и находить различные объекты, например, с помощью синтезированных голосовых подсказок, дающих информацию о сцене.[0060] Similar to the second embodiment of the method, a modification of the second embodiment of the method described above is adapted for understanding indoor scenes and can be performed by an electronic device equipped with at least one camera to detect zero or more three-dimensional objects in the surrounding area of the electronic device, evaluate position of the camera and determine the configuration of the room. The electronic device in the second embodiment of the method may be one of, for example, a smartphone, tablet, smart glasses or a mobile robot. If the electronic device is a smartphone, tablet, or smart glasses, users can point the cameras of such devices in different directions in the room to understand the characteristics of the scene and the content of the scene that falls into the field of view of the cameras. In this case, such devices can, for example, serve as devices that help visually impaired users to move around the room and find various objects, for example, using synthesized voice prompts that provide information about the scene.

[0061] Если электронным устройством является мобильный робот, например, мобильный робот-уборщик, электронное устройство может быть самим роботом или, по меньшей мере, его частью. Такое электронное устройство может содержать по меньшей мере одну или несколько камер, установленных на корпусе робота и выполненных с возможностью захвата изображений сцены вокруг робота, и процессор, сконфигурированный для выполнения или запуска различных операций, связанных с роботом. Следует понимать, что изобретение, раскрытое в настоящей заявке, не претендует на то, чтобы быть техническим решением для навигации робота и управления движениями робота как такового, но оно может быть частью такого технического решения для робота, ответственной за понимание сцены.[0061] If the electronic device is a mobile robot, such as a mobile cleaning robot, the electronic device may be the robot itself or at least a part of it. Such an electronic device may include at least one or more cameras mounted on the body of the robot and configured to capture images of the scene around the robot, and a processor configured to perform or initiate various operations associated with the robot. It should be understood that the invention disclosed in this application does not claim to be a technical solution for robot navigation and control of robot movements per se, but it may be part of such a technical solution for a robot responsible for understanding the scene.

[0062] Кроме того, предлагается третий вариант осуществления способа, в котором способ адаптирован для автоматического выбора промежуточной части и/или головной части в зависимости от рабочих условий или решаемых задач. В качестве примера, если скорость электронного устройства, реализующего способ, превышает заданный порог (например, 4 км в час), или координаты GPS электронного устройства, реализующего способ, указывают на то, что текущее положение электронного устройства находится на улице, и/или соответствующая функция активирована на электронном устройстве (например, функция обнаружения объектов в настройках камеры), способ может переключиться на ветвь обработки и архитектуру, описанные выше со ссылками на фиг.1 и фиг.2. [0062] In addition, a third embodiment of the method is provided, in which the method is adapted to automatically select the pontic and/or head depending on operating conditions or tasks to be solved. As an example, if the speed of the electronic device implementing the method exceeds a predetermined threshold (for example, 4 km per hour), or the GPS coordinates of the electronic device implementing the method indicate that the current position of the electronic device is outdoors, and/or the corresponding function is activated on the electronic device (for example, the object detection function in the camera settings), the method can switch to the processing branch and architecture described above with reference to Fig.1 and Fig.2 .

[0063] В другом примере, если скорость электронного устройства, реализующего способ, ниже заданного порога (например, 4 км в час), или координаты GPS электронного устройства, реализующего способ, указывают на то, что текущее положение электронного устройства находится в помещении, и/или на электронном устройстве активирована соответствующая функция (например, функция обнаружения объектов в настройках камеры), способ может переключиться на ветвь обработки и архитектуру, описанные выше со ссылками на фиг.2 и 3. Другие примерные реализации такого автоматического переключения будут понятны специалисту в данной области на основе приведенных выше примеров.[0063] In another example, if the speed of the electronic device implementing the method is below a predetermined threshold (for example, 4 km per hour), or the GPS coordinates of the electronic device implementing the method indicate that the current position of the electronic device is indoors, and /or the corresponding function is activated on the electronic device (for example, the object detection function in the camera settings), the method can switch to the processing branch and architecture described above with reference to figures 2 and 3. Other exemplary implementations of such automatic switching will be clear to a person skilled in this areas based on the examples above.

[0064] Далее будут описаны наборы данных, которые можно использовать для обучения и оценки предложенной нейронной сети обнаружения объектов согласно первому варианту осуществления способа (в уличных сценах), второму варианту осуществления способа (в сценах помещений), модификации второго варианта способа (понимание сцены) или третьего варианта способа (способного осуществлять автоматическое переключение между ветвями обработки и архитектурами или их частями в зависимости от рабочих условий или поставленных задач).[0064] Next, datasets that can be used to train and evaluate the proposed object detection neural network according to the first method embodiment (in street scenes), the second method embodiment (in indoor scenes), the modification of the second method embodiment (scene understanding) will be described. or a third variant of the method (capable of automatically switching between processing branches and architectures or parts thereof, depending on operating conditions or tasks).

[0065] В настоящем изобретении для обучения нейронных сетей или оценки нейронных сетей используются четыре набора данных: ScanNet, SUN RGB-D, KITTI и nuScenes. SUN RGB-D и KITTI ориентированы на монокулярный режим, а для ScanNet и nuScenes проблема обнаружения решается в многоракурсном режиме.[0065] In the present invention, four datasets are used to train neural networks or evaluate neural networks: ScanNet, SUN RGB-D, KITTI, and nuScenes. SUN RGB-D and KITTI are focused on monocular mode, and for ScanNet and nuScenes the problem of detection is solved in multiview mode.

[0066] KITTI. Набор данных KITTI для обнаружения объектов является самым существенным эталоном применения в уличных сценах для обнаружения монокулярных трехмерных объектов. Он состоит из 3711 обучающих, 3768 проверочных и 7518 тестовых изображений. Вся разметка к трехмерным объектам в этом наборе данных имеет какой-либо уровень сложности: легкий, средний и сложный. Предложенный способ обнаружения трехмерных объектов оценивался по результатам на умеренных объектах из тестовой выборки. Предлагаемый способ оценивался на объектах категории транспортных средств.[0066] KITTI . The KITTI Object Detection Dataset is the most significant benchmark for street scene applications for detecting monocular 3D objects. It consists of 3711 training, 3768 verification and 7518 test images. All markup for 3D objects in this dataset has some level of difficulty: easy, medium, and hard. The proposed method for detecting three-dimensional objects was evaluated based on the results on moderate objects from the test sample. The proposed method was evaluated on objects of the category of vehicles.

[0067] nuScenes. Набор данных nuScenes обеспечивает данные для разработки алгоритмов решения задач, связанных с автономным вождением. Он содержит облака точек LiDAR, RGB-изображения, снятые шестью камерами, сопровождаемые измерениями IMU и GPS. Этот набор данных охватывает 1000 видеопоследовательностей, каждая из которых записана в течение 20 секунд, всего 1,4 миллиона изображений и 390000 облаков точек. Обучающая группа охватывает 28130 сцен, а тестовая группа содержит 6019 сцен. Разметка содержит 1,4 млн объектов, разделенных на 23 категории. Точность трехмерного обнаружения измерялась на категории транспортных средств. В этом тесте вычисляются не только метрика средней точности (AP), но и средняя ошибка линейного перемещения (ATE), средняя ошибка масштаба (ASE) и средняя ошибка ориентации (AOE).[0067] nuScenes. The nuScenes dataset provides data for the development of algorithms for solving problems related to autonomous driving. It contains LiDAR point clouds, RGB images captured by six cameras, accompanied by IMU and GPS measurements. This dataset covers 1,000 video sequences, each recorded for 20 seconds, with a total of 1.4 million images and 390,000 point clouds. The training group covers 28130 scenes and the test group contains 6019 scenes. The markup contains 1.4 million objects divided into 23 categories. The 3D detection accuracy was measured on vehicle categories. This test calculates not only the Average Accuracy (AP) metric, but also the Average Linear Error (ATE), Average Scale Error (ASE), and Average Orientation Error (AOE).

[0068] SUN RGB-D. Набор данных SUN RGB-D является одним из первых и наиболее известных трехмерных наборов данных со сценами помещений. Он содержит 10335 изображений, снятых в различных местах в помещениях, а также соответствующие карты глубины, полученные с помощью четырех различных датчиков и положений камеры. Обучающая группа состоит из 5285 кадров, а остальные 5050 кадров составляют проверочное подмножество. Разметка содержит 58657 объектов. Для каждого кадра предусмотрена конфигурация помещения.[0068] SUN RGB-D . The SUN RGB-D dataset is one of the first and best known 3D indoor scene datasets. It contains 10,335 images taken at various indoor locations, as well as corresponding depth maps from four different sensors and camera positions. The training group consists of 5285 frames, and the remaining 5050 frames make up the test subset. The markup contains 58657 objects. For each frame, a room configuration is provided.

[0069] ScanNet. Набор данных ScanNet содержит 1513 сканов, охватывающих более 700 уникальных сцен помещений, из которых 1201 сканов относится к обучающей группе, а 312 сканов используются для проверки. В целом, этот набор данных содержит более 2,5 миллионов изображений с соответствующими картами глубины и положениями камеры, а также реконструированные облака точек с трехмерной семантической разметкой. Трехмерные ограничивающие рамки оцениваются по семантическим облакам точек в соответствии со стандартным протоколом. Полученные ограничивающие рамки объекта выровнены по осям, поэтому угол поворота и для ScanNet не прогнозировался.[0069] ScanNet . The ScanNet dataset contains 1513 scans covering over 700 unique indoor scenes, of which 1201 scans are for the training set and 312 scans are used for validation. Overall, this dataset contains over 2.5 million images with associated depth maps and camera positions, as well as reconstructed point clouds with 3D semantic labeling. 3D bounding boxes are evaluated from semantic point clouds according to a standard protocol. The resulting bounding boxes of the object are aligned along the axes, so the angle of rotation was not predicted for ScanNet either.

[0070] Подробности реализации (следующая информация предназначена не для ограничения, а только для достаточности раскрытия). Трехмерный объем. В качестве средства извлечения признаков, то есть части для извлечения двумерных признаков, может использоваться ResNet-50. Соответственно, количество сверток в первом сверточном блоке c0 может быть задано как 256. Размер c1 признаков трехмерного объема может быть предварительно установлен равным 64. Для наборов данных со сценами помещений размер c2 выводимых признаков может быть установлен равным c1, чтобы не увеличивать объем памяти, используемый во время уточнения. Для наборов данных с уличными сценами c2 можно установить равным 256.[0070] Implementation details (the following information is not intended to be limiting, but only for the sufficiency of the disclosure ). Three-dimensional volume . As a feature extractor, that is, a 2D feature extractor part, ResNet-50 can be used. Accordingly, the number of convolutions in the first convolution block c 0 can be set to 256. The size c 1 of the 3D volume features can be preset to 64. For datasets with indoor scenes, the size c 2 of the output features can be set to c 1 so as not to increase the amount of memory used during refinement. For datasets with street scenes, c 2 can be set to 256.

[0071] Сцены помещений и уличные сцены имеют разные абсолютные масштабы. Поэтому пространственные размеры объема признаков для каждого набора данных могут быть установлены с учетом предметной области. Таким образом, например, размер s вокселя можно установить равным 0,32 метра для наборов данных с уличными сценами. Минимальные и максимальные значения для всех трех осей для наборов данных с уличными сценами также соответствуют диапазонам облаков точек для класса транспортных средств. Для выбора ограничений набора данных со сценами помещений размер помещения можно рассматривать как 6,4×6,4×256 метра. Для повышения эффективности памяти размер s вокселя можно увеличить вдвое с 0,04 до 0,08.[0071] Indoor scenes and outdoor scenes have different absolute scales. Therefore, the spatial dimensions of the volume of features for each data set can be set taking into account the subject area. Thus, for example, the voxel size s can be set to 0.32 meters for datasets with street scenes. The minimum and maximum values for all three axes for the street scene datasets also correspond to the point cloud ranges for the vehicle class. For the selection of room scene dataset constraints, the size of the room can be considered as 6.4×6.4×256 meters. To improve memory efficiency, the voxel size s can be doubled from 0.04 to 0.08.

[0072] Обучение. Во время обучения L indoor/L extra оптимизируется для наборов данных со сценами помещений, а L outdoor оптимизируется для наборов данных с уличными сценами. Может использоваться оптимизатор Adam с начальной скоростью обучения, установленной на 0,0001, и уменьшением веса 0,0001. Эта реализация может быть основана на фреймворке MMDetection и использует настройки обучения по умолчанию. Сеть можно обучить за 12 эпох, а скорость обучения можно уменьшить в десять раз после 8-й и 11-й эпох. Для ScanNet, SUN RGB-D и KITTI каждую сцену можно показывать сети три раза в каждой эпохе обучения. Для обучения, распределения одной сцены (многоракурсный сценарий) или четырех изображений (монокулярный сценарий) использовалось 8 графических процессоров Nvidia Tesla P40 на каждый графический процессор. Во время обучения можно произвольно применять отображение по горизонтали, и размер входных данных в монокулярных экспериментах можно изменять не более чем на 25% от их исходного разрешения. Кроме того, в сценах помещений трехмерные воксельные представления могут быть расширены аналогично способам на основе облака точек, поэтому центр воксельной сетки может быть смещен не более чем на 1 м вдоль каждой оси.[0072] Training . During training, L indoor / L extra is optimized for datasets with indoor scenes, and L outdoor is optimized for datasets with outdoor scenes. An Adam optimizer can be used with an initial learning rate set to 0.0001 and a weight reduction of 0.0001. This implementation can be based on the MMDetection framework and uses the default learning settings. The network can be trained in 12 epochs, and the learning rate can be reduced by a factor of ten after the 8th and 11th epochs. For ScanNet, SUN RGB-D, and KITTI, each scene can be shown with networks three times in each training epoch. For training, distribution of one scene (multiview scenario) or four images (monocular scenario), 8 Nvidia Tesla P40 GPUs per GPU were used. Horizontal mapping can be arbitrarily applied during training, and the size of the input data in monocular experiments can be changed by no more than 25% of their original resolution. In addition, in indoor scenes, 3D voxel representations can be expanded similarly to point cloud based methods, so the center of the voxel grid can be shifted by no more than 1 m along each axis.

[0073] Вывод. Во время стадии вывода выходные данные могут быть отфильтрованы с помощью алгоритма Rotated NMS, который применяется к проекциям объектов на плоскость земли.[0073] Conclusion . During the inference stage, the output can be filtered using the Rotated NMS algorithm, which is applied to projections of objects on the ground plane.

[0074] Другие реализации и подробности. Раскрытый способ может выполняться/реализовываться на любом пользовательском/электронном устройстве (например, смартфоне, планшете, навигационной системе, бортовом оборудовании, ноутбуке, умных часах и т.д.). Такие пользовательские/электронные устройства или любые другие вычислительные устройства могут быть снабжены вычислительными средствами, включая, без ограничения, процессор, нейронный процессор (NPU), графический процессор (GPU). Без ограничения перечисленным, вычислительные средства могут быть реализованы как специализированная интегральная схема (ASIC), программируемая пользователем вентильная матрица (FPGA) или система на кристалле (SoC). Такие пользовательские устройства или любые другие пользовательские вычислительные устройства могут также содержать память (RAM, ROM), (сенсорный) экран, средства ввода-вывода, камеру, средства связи и так далее. [0074] Other implementations and details . The disclosed method can be performed/implemented on any user/electronic device (eg, smartphone, tablet, navigation system, on-board equipment, laptop, smart watch, etc.). Such user/electronic devices or any other computing devices may be provided with computing means, including, without limitation, a processor, a neural processing unit (NPU), a graphics processing unit (GPU). Without limitation, the computing means may be implemented as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or a system on a chip (SoC). Such user devices, or any other user computing devices, may also include memory (RAM, ROM), a (touch) screen, input/output media, a camera, communication media, and so on.

[0075] Предлагаемое техническое решение также может быть реализовано на считываемом компьютером носителе, на котором хранятся исполняемые компьютером инструкции, которые при выполнении средствами обработки или вычислений устройства побуждают устройство выполнять любой этап (этапы) предложенного технического решения. Любые типы данных обрабатываются интеллектуальными системами, обученными с использованием описанных выше способов. Фаза обучения может выполняться в режиме онлайн или офлайн. Обученные нейронные сети (в форме весов и других параметров/исполняемых компьютером инструкций) могут быть переданы на пользовательское устройство и сохранены на нем для использования во время стадии вывода (в процессе использования).[0075] The proposed solution can also be implemented on a computer-readable medium that stores computer-executable instructions that, when executed by processing or computing means of the device, cause the device to perform any step (s) of the proposed technical solution. Any type of data is processed by intelligent systems trained using the methods described above. The learning phase can be performed online or offline. The trained neural networks (in the form of weights and other parameters/computer executable instructions) can be transferred to the user device and stored there for use during the inference stage (in use).

[0076] По меньшей мере одна из множества частей/модулей может быть реализована с помощью модели искусственного интеллекта (AI). Функция, связанная с AI, может выполняться через энергонезависимую память, энергозависимую память и процессор. Процессор может включать в себя один или несколько процессоров. При этом один или несколько процессоров могут быть процессором общего назначения, например центральным процессором (ЦП), процессором приложений (AP) или т.п., блоком обработки только графики, таким как графический процессор (GPU), блоком обработки изображений (VPU) и/или специализированный процессором AI, таким как нейронный процессор (NPU).[0076] At least one of the many parts/modules may be implemented using an artificial intelligence (AI) model. The AI related function can be executed via non-volatile memory, volatile memory and processor. The processor may include one or more processors. Here, the one or more processors may be a general purpose processor such as a central processing unit (CPU), an application processor (AP) or the like, a graphics-only processing unit such as a graphics processing unit (GPU), an image processing unit (VPU), and /or a dedicated AI processor such as a Neural Processing Unit (NPU).

[0077] Один или несколько процессоров управляют обработкой входных данных в соответствии с заранее определенным рабочим правилом или моделью искусственного интеллекта (AI), хранящейся в энергонезависимой памяти и энергозависимой памяти. Заранее определенное рабочее правило или модель искусственного интеллекта предоставляется посредством обучения или тренировки. В данном контексте предоставление посредством обучения означает, что путем применения обучающего алгоритма к множеству обучающих данных создается заранее определенное рабочее правило или модель AI с желаемой характеристикой. Обучение может выполняться на том же устройстве, на котором выполняется AI согласно варианту осуществления, и/или может быть реализовано через отдельный сервер/систему.[0077] One or more processors control the processing of input data in accordance with a predetermined operating rule or artificial intelligence (AI) model stored in nonvolatile memory and nonvolatile memory. A predetermined operating rule or artificial intelligence model is provided through education or training. In this context, provision by training means that by applying a training algorithm to a set of training data, a predetermined operating rule or AI model with a desired performance is created. The training may be performed on the same device on which the AI is running according to the embodiment and/or may be implemented via a separate server/system.

[0078] Модель AI может содержать множество слоев нейронной сети. Каждый слой имеет множество значений весов и выполняет операцию слоя посредством вычисления предыдущего слоя и операции на множестве весов. Примеры нейронных сетей включают, без ограничения перечисленным, сверточную нейронную сеть (CNN), глубокую нейронную сеть (DNN), рекуррентную нейронную сеть (RNN), ограниченную машину Больцмана (RBM), глубокую сеть доверия (DBN), двунаправленную рекуррентную глубокую нейронную сеть (BRDNN), генеративно-состязательные сети (GAN) и глубокие Q-сети.[0078] An AI model may comprise multiple neural network layers. Each layer has a set of weights and performs a layer operation by computing the previous layer and operating on the set of 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 Belief Network (DBN), Bidirectional Recurrent Deep Neural Network ( BRDNN), Generative Adversarial Networks (GANs), and Deep Q-Nets.

[0079] Алгоритм обучения представляет собой способ обучения заранее определенного целевого устройства с использованием множества обучающих данных, чтобы побуждать, разрешать или давать команду целевому устройству выполнять определение или прогнозирование. Примеры алгоритмов обучения включают, без ограничения, обучение с учителем, обучение без учителя, обучение с частичным привлечением учителя или обучение с подкреплением.[0079] The learning algorithm is a method for training a predetermined target device using a plurality of training data to induce, allow, or instruct the target device to perform a determination or prediction. Examples of learning algorithms include, without limitation, supervised learning, unsupervised learning, partially supervised learning, or reinforcement learning.

[0080] Предложенное изобретение может быть реализовано в системах мобильных роботов/навигации транспортных средств или в качестве мобильных приложений, осуществляющих понимание сцены и распознавание объектов. Раскрытое изобретение предназначено для анализа сцены и распознавания объектов. Полученные результаты могут быть использованы в широком спектре задач, где решения принимаются на основе сцены и ее объектов. Например, предложенный способ, при его исполнении в виде программного обеспечения, может снабжать системы мобильных роботизированных устройств и системы навигации транспортных средств пространственной информацией для планирования траектории, захвата и манипулирования объектами. Кроме того, в мобильном приложении предложенное решение можно использовать для автоматической генерации подсказок о сцене для пользователя.[0080] The present invention may be implemented in mobile robot/vehicle navigation systems or as mobile applications for scene understanding and object recognition. The disclosed invention is intended for scene analysis and object recognition. The results obtained can be used in a wide range of tasks where decisions are made based on the scene and its objects. For example, the proposed method, when implemented as software, can provide mobile robotic device systems and vehicle navigation systems with spatial information for trajectory planning, capturing, and manipulating objects. In addition, in a mobile application, the proposed solution can be used to automatically generate scene hints for the user.

[0081] Раскрытое изобретение предназначено для обнаружения и распознавания трехмерных объектов и оценки их пространственного положения. Формулировка задачи следует классической постановке задачи обнаружения трехмерных объектов, сформулированной сообществом ученых, занимающихся компьютерным зрением.[0081] The disclosed invention is for detecting and recognizing three-dimensional objects and estimating their spatial position. The formulation of the problem follows the classical formulation of the problem of detecting three-dimensional objects, formulated by the community of scientists involved in computer vision.

[0082] Предлагаемое техническое решение может быть реализовано в виде программного решения в мобильных роботизированных устройствах/системах навигации транспортных средств или запущено на смартфонах в составе мобильного приложения. Для реализации предлагаемого технического решения рассматриваемое устройство должно соответствовать техническим требованиям, а именно, иметь достаточный объем оперативной памяти и вычислительных ресурсов. Требуемый объем ресурсов зависит от функции устройства, параметров камеры и требований к производительности.[0082] The proposed technical solution can be implemented as a software solution in mobile robotic devices/vehicle navigation systems or run on smartphones as part of a mobile application. To implement the proposed technical solution, the device in question must meet the technical requirements, namely, have a sufficient amount of RAM and computing resources. Resource requirements vary by device function, camera settings, and performance requirements.

[0083] Следует понимать, что не все технические эффекты, упомянутые в данном документе, необходимо использовать в любом и каждом варианте осуществления настоящей технологии. Например, варианты осуществления могут быть реализованы без использования пользователем некоторых из этих технических эффектов, в то время как другие варианты осуществления могут быть реализованы при использовании пользователем других технических эффектов или вообще без них.[0083] It should be understood that not all of the technical effects mentioned herein need to be used in any and every embodiment of the present technology. For example, embodiments may be implemented without the user using some of these technical effects, while other embodiments may be implemented with the user using other technical effects or none at all.

[0084] Для специалистов в данной области техники могут быть очевидны модификации и усовершенствования описанных выше реализаций настоящей технологии. Приведенное выше описание предназначено скорее для примера, а не для ограничения. Следовательно, объем настоящей технологии ограничен исключительно объемом прилагаемой формулы изобретения.[0084] Modifications and improvements to the above-described implementations of the present technology may be apparent to those skilled in the art. The above description is intended to be illustrative rather than limiting. Therefore, the scope of the present technology is limited solely by the scope of the appended claims.

[0085] Хотя раскрытые выше реализации были описаны и показаны со ссылками на конкретные этапы, выполняемые в определенном порядке, следует понимать, что эти этапы могут быть объединены, разделены на части или выполняться в другом порядке, не выходя за рамки настоящего изобретения. Соответственно, порядок и группировка этапов не являются ограничением настоящей технологии. Использование формы единственного числа по отношению к любому элементу, раскрытому в этой заявке, не исключает того, что в фактической реализации может быть два или более таких элемента и наоборот.[0085] Although the implementations disclosed above have been described and shown with reference to specific steps performed in a specific order, it should be understood that these steps may be combined, subdivided, or performed in another order without departing from the scope of the present invention. Accordingly, the order and grouping of steps is not a limitation of the present technology. The use of the singular form with respect to any element disclosed in this application does not preclude that there may be two or more such elements in an actual implementation, and vice versa.

Claims (40)

1. Способ обнаружения трехмерных объектов с использованием нейронной сети для обнаружения объектов, содержащей часть для извлечения двумерных признаков, часть для извлечения трехмерных признаков, часть для обнаружения объектов в уличных сценах, которые предобучены сквозным способом на основе только захваченных в известных положениях монокулярных изображений, включающий в себя этапы, на которых:1. A method for detecting three-dimensional objects using a neural network for detecting objects, containing a part for extracting two-dimensional features, a part for extracting three-dimensional features, a part for detecting objects in street scenes, which are pre-trained in an end-to-end method based on only monocular images captured at known positions, including includes steps in which: получают (S100) одно или несколько монокулярных изображений; receive (S100) one or more monocular images; извлекают (S105) двумерные карты признаков из каждого из одного или нескольких монокулярных изображений путем пропускания одного или нескольких монокулярных изображений через часть для извлечения двумерных признаков;extracting (S105) 2D feature maps from each of the one or more monocular images by passing the one or more monocular images through the 2D feature extraction portion; создают (S110) усредненный трехмерный воксельный объем на основе двумерных карт признаков;creating (S110) an average 3D voxel volume based on the 2D feature maps; извлекают (S115) двумерное представление трехмерных карт признаков из усредненного трехмерного воксельного объема путем пропускания усредненного трехмерного воксельного объема через кодировщик части для извлечения трехмерных признаков, иextracting (S115) a 2D representation of the 3D feature maps from the averaged 3D voxel volume by passing the averaged 3D voxel volume through a 3D feature extraction portion encoder, and выполняют (S120) обнаружение трехмерных объектов как обнаружение двумерных объектов в плоскости вида "с высоты птичьего полета" (BEV), причем обнаружение двумерных объектов в плоскости BEV реализуют путем пропускания двумерного представления трехмерных карт признаков через часть для обнаружения объектов в уличных сценах, содержащую параллельные двумерные сверточные слои для классификации и определения местоположения.performing (S120) detection of three-dimensional objects as detection of two-dimensional objects in a bird's-eye view (BEV) plane, and detection of two-dimensional objects in the BEV plane is realized by passing a two-dimensional representation of three-dimensional feature maps through a part for detecting objects in street scenes containing parallel 2D convolutional layers for classification and location. 2. Способ по п.1, отличающийся тем, что данный способ пригоден для применения в уличных сценах и выполняется электронным устройством транспортного средства, снабженным по меньшей мере одной камерой для обнаружения нулевого или большего количества трехмерных объектов в окружающей области данного транспортного средства.2. A method according to claim 1, characterized in that the method is suitable for use in street scenes and is performed by a vehicle electronic device equipped with at least one camera for detecting zero or more three-dimensional objects in the surrounding area of the vehicle. 3. Способ по п.1, в котором дополнительно для каждого изображения из одного или нескольких монокулярных изображений агрегируют признаки в двумерных картах признаков, соответствующих изображению, через сеть признаковой пирамиды (FPN).3. The method of claim 1, further comprising aggregating features in two-dimensional feature maps corresponding to the image for each image from one or more monocular images via a Feature Pyramid Network (FPN). 4. Способ по п.1, в котором на этапе создания (S110) усредненного трехмерного воксельного объема дополнительно выполняют следующие этапы:4. The method of claim 1, wherein the step of generating (S110) the averaged 3D voxel volume further performs the following steps: для каждого изображения из одного или нескольких монокулярных изображений создают трехмерный воксельный объем, соответствующий изображению, используя модель камеры с точечной диафрагмой, определяющую соответствие между двумерными координатами в соответствующих двумерных картах признаков и трехмерными координатами в трехмерном воксельном объеме;for each image from one or more monocular images create a three-dimensional voxel volume corresponding to the image using a camera model with a pinhole, which determines the correspondence between two-dimensional coordinates in the respective two-dimensional feature maps and three-dimensional coordinates in the three-dimensional voxel volume; для каждого трехмерного воксельного объема определяют двоичную маску, соответствующую трехмерному воксельному объему, причем двоичная маска указывает для каждого вокселя в трехмерном воксельном объеме, находится ли данный воксель внутри усеченной пирамиды камеры соответствующего изображения;for each 3D voxel volume, a binary mask corresponding to the 3D voxel volume is determined, the binary mask indicating, for each voxel in the 3D voxel volume, whether the voxel is within the frustum of the camera of the corresponding image; для каждого трехмерного воксельного объема, соответствующего двоичной маске, и соответствующих двумерных карт признаков проецируют признаки двумерных карт признаков для каждого внутреннего вокселя в трехмерный воксельный объем, как определено двоичной маской;for each 3D voxel volume corresponding to the binary mask and corresponding 2D feature maps, projecting features of the 2D feature maps for each internal voxel onto the 3D voxel volume as determined by the binary mask; создают агрегированную двоичную маску путем агрегирования двоичных масок, определенных для трехмерных воксельных объемов всех из одного или нескольких монокулярных изображений; иgenerating an aggregated binary mask by aggregating the binary masks defined for the 3D voxel volumes of all of the one or more monocular images; and создают усредненный трехмерный воксельный объем путем усреднения признаков, спроецированных в трехмерные воксельные объемы всех из одного или нескольких монокулярных изображений для каждого внутреннего вокселя в усредненном трехмерном воксельном объеме, как определено агрегированной двоичной маской.generating an average 3D voxel volume by averaging the features projected into the 3D voxel volumes of all of the one or more monocular images for each internal voxel in the average 3D voxel volume as determined by the aggregated binary mask. 5. Способ по п.1, в котором нейронную сеть обнаружения объектов обучают на одном или нескольких обучающих наборах данных с уличными сценами путем оптимизации функции общих потерь для уличных сцен на основе, по меньшей мере, потери местоположения, фокальной потери для классификации и перекрестной энтропийной потери для направления.5. The method of claim 1, wherein the object detection neural network is trained on one or more street scene training datasets by optimizing the overall loss function for the street scenes based on at least location loss, focal loss for classification, and cross entropy. direction loss. 6. Способ обнаружения трехмерных объектов с использованием нейронной сети для обнаружения объектов, содержащей часть для извлечения двумерных признаков, часть для извлечения трехмерных признаков, часть для обнаружения объектов в сценах помещений, которые предобучены сквозным способом на основе только захваченных в известных положениях монокулярных изображений, содержащий этапы, на которых:6. A method for detecting three-dimensional objects using a neural network for detecting objects, containing a part for extracting two-dimensional features, a part for extracting three-dimensional features, a part for detecting objects in scenes of rooms that are pre-trained in an end-to-end method based on only monocular images captured at known positions, containing stages where: получают (S200) одно или несколько монокулярных изображений;receive (S200) one or more monocular images; извлекают (S205) двумерные карты признаков из каждого из одного или нескольких монокулярных изображений путем пропускания одного или нескольких монокулярных изображений через часть для извлечения двумерных признаков;extracting (S205) 2D feature maps from each of the one or more monocular images by passing the one or more monocular images through the 2D feature extraction portion; создают (S210) усредненный трехмерный воксельный объем на основе двумерных карт признаков;creating (S210) an average 3D voxel volume based on the 2D feature maps; извлекают (S215) уточненные карты трехмерных объектов из усредненного трехмерного воксельного объема путем пропускания усредненного трехмерного воксельного объема через часть для извлечения трехмерных объектов, иextracting (S215) refined 3D object maps from the averaged 3D voxel volume by passing the averaged 3D voxel volume through the 3D object extraction part, and выполняют (S220) обнаружение трехмерных объектов путем пропускания уточненных трехмерных карт признаков через часть для обнаружения объектов в сценах помещений, использующую плотное воксельное представление промежуточных признаков и содержащую трехмерные сверточные слои для классификации, центрированности и определения местоположения.performing (S220) 3D object detection by passing the refined 3D feature maps through an indoor scene object detection portion using a dense voxel representation of intermediate features and containing 3D convolutional layers for classification, centering, and location. 7. Способ по п.6, отличающийся тем, что данный способ пригоден для применения в сценах помещений и выполняется электронным устройством, снабженным по меньшей мере одной камерой для обнаружения нулевого или большего количества трехмерных объектов в окружающей области данного электронного устройства, причем электронное устройство представляет собой одно из смартфона, планшета, умных очков, мобильного робота.7. The method according to claim 6, characterized in that this method is suitable for use in indoor scenes and is performed by an electronic device equipped with at least one camera for detecting zero or more three-dimensional objects in the surrounding area of this electronic device, and the electronic device represents one of the smartphone, tablet, smart glasses, mobile robot. 8. Способ по п.6, в котором дополнительно для каждого изображения из одного или нескольких монокулярных изображений признаков агрегируют признаки в двумерных картах признаков, соответствующих изображению, через сеть признаковой пирамиды (FPN).8. The method of claim 6, further comprising, for each image from one or more monocular feature images, features are aggregated in 2D feature maps corresponding to the image via a Feature Pyramid Network (FPN). 9. Способ по п.6, в котором на этапе создания (S210) усредненного трехмерного воксельного объема дополнительно выполняют следующие этапы:9. The method of claim 6, wherein the step of generating (S210) the averaged 3D voxel volume further performs the following steps: для каждого изображения из одного или нескольких монокулярных изображений создают трехмерный воксельный объем, соответствующий изображению, используя модель камеры с точечной диафрагмой, определяющую соответствие между двумерными координатами в соответствующих двумерных картах признаков и трехмерными координатами в трехмерном воксельном объеме;for each image from one or more monocular images create a three-dimensional voxel volume corresponding to the image using a camera model with a pinhole, which determines the correspondence between two-dimensional coordinates in the respective two-dimensional feature maps and three-dimensional coordinates in the three-dimensional voxel volume; для каждого трехмерного воксельного объема определяют двоичную маску, соответствующую трехмерному воксельному объему, причем двоичная маска указывает для каждого вокселя в трехмерном воксельном объеме, находится ли данный воксель внутри усеченной пирамиды камеры соответствующего изображения;for each 3D voxel volume, a binary mask corresponding to the 3D voxel volume is determined, the binary mask indicating, for each voxel in the 3D voxel volume, whether the voxel is within the frustum of the camera of the corresponding image; для каждого трехмерного воксельного объема, соответствующего двоичной маске, и соответствующих двумерных карт признаков проецируют признаки двумерных карт признаков для каждого внутреннего вокселя в трехмерный воксельный объем, как определено двоичной маской;for each 3D voxel volume corresponding to the binary mask and corresponding 2D feature maps, projecting features of the 2D feature maps for each internal voxel onto the 3D voxel volume as determined by the binary mask; создают агрегированную двоичную маску путем агрегирования двоичных масок, определенных для трехмерных воксельных объемов всех из одного или нескольких монокулярных изображений; иgenerating an aggregated binary mask by aggregating the binary masks defined for the 3D voxel volumes of all of the one or more monocular images; and создают усредненный трехмерный воксельный объем путем усреднения признаков, спроецированных в трехмерные воксельные объемы всех из одного или нескольких монокулярных изображений для каждого внутреннего вокселя в усредненном трехмерном воксельном объеме, как определено агрегированной двоичной маской.generating an average 3D voxel volume by averaging the features projected into the 3D voxel volumes of all of the one or more monocular images for each internal voxel in the average 3D voxel volume as determined by the aggregated binary mask. 10. Способ по п.6, в котором нейронную сеть обнаружения объектов обучают на одном или нескольких обучающих наборах данных со сценами помещений путем оптимизации функции общих потерь для сцен помещений на основе, по меньшей мере, фокальной потери для классификации, перекрестной энтропийной потери для центрированности и потери метрики степени пересечения между двумя ограничивающими рамками (IoU) для определения местоположения.10. The method of claim 6, wherein the object detection neural network is trained on one or more indoor scene training datasets by optimizing the total loss function for the indoor scenes based on at least focal loss for classification, cross entropy loss for centrality. and loss of the metric of the degree of intersection between the two bounding boxes (IoU) for positioning. 11. Способ по п.6, в котором нейронная сеть обнаружения объектов дополнительно содержит часть для понимания сцены, которая предобучена сквозным способом, причем способ дополнительно содержит этапы, на которых:11. The method of claim 6, wherein the object detection neural network further comprises a scene understanding portion that is pre-trained in an end-to-end manner, the method further comprising: выполняют глобальный средний пулинг извлеченных двумерных карт признаков для получения тензора, представляющего извлеченные двумерные карты признаков, иperforming a global average pooling of the extracted 2D feature maps to obtain a tensor representing the extracted 2D feature maps, and оценивают конфигурацию сцены путем пропускания тензора через часть для понимания сцены, сконфигурированную для совместной оценки поворота камеры и трехмерной конфигурации сцены;estimating a scene configuration by passing a tensor through a scene understanding portion configured to jointly estimate the camera rotation and the 3D scene configuration; часть для понимания сцены содержит две параллельные ветви: два полносвязных слоя, которые выводят трехмерную конфигурацию сцены, и два других полносвязных слоя, которые оценивают поворот камеры.the scene understanding part contains two parallel branches: two fully connected layers that output the 3D scene configuration, and two other fully connected layers that evaluate camera rotation. 12. Способ по п.11, отличающийся тем, что данный способ пригоден для применения в сценах помещений и выполняется электронным устройством, снабженным по меньшей мере одной камерой для понимания сцены в окружающей области электронного устройства, причем электронное устройство является одним из смартфона, планшета, умных очков, мобильного робота.12. The method according to claim 11, characterized in that the method is suitable for use in indoor scenes and is performed by an electronic device equipped with at least one camera for understanding the scene in the surrounding area of the electronic device, the electronic device being one of a smartphone, tablet, smart glasses, mobile robot. 13. Способ по п.11, в котором часть для понимания сцены нейронной сети обнаружения объектов обучают на одном или нескольких обучающих наборах данных со сценами помещений путем оптимизации общей функции потери понимания сцены на основе, по меньшей мере, потери конфигурации и потери оценки поворота камеры.13. The method of claim 11, wherein the scene understanding part of the object detection neural network is trained on one or more indoor scene training datasets by optimizing the overall scene understanding loss function based on at least a configuration loss and a camera rotation estimation loss. . 14. Электронное устройство, установленное на транспортном средстве, снабженном по меньшей мере одной камерой, отличающееся тем, что данное электронное устройство содержит процессор, сконфигурированный для реализации способа по любому из пп.1-5 для обнаружения нулевого или большего количества трехмерных объектов в окружающей области транспортного средства. 14. An electronic device mounted on a vehicle equipped with at least one camera, characterized in that this electronic device contains a processor configured to implement the method according to any one of claims 1 to 5 for detecting zero or more three-dimensional objects in the surrounding area vehicle. 15. Электронное устройство, снабженное по меньшей мере одной камерой, отличающееся тем, что данное электронное устройство содержит процессор, сконфигурированный для реализации способа по любому из пп.6-13 для обнаружения нулевого или большего количества трехмерных объектов в окружающей области электронного устройства.15. An electronic device provided with at least one camera, characterized in that the electronic device comprises a processor configured to implement a method according to any one of claims 6-13 for detecting zero or more three-dimensional objects in the surrounding area of the electronic device. 16. Электронное устройство по п.15, в котором электронное устройство представляет собой смартфон, планшет, умные очки или мобильный робот.16. The electronic device of claim 15, wherein the electronic device is a smartphone, tablet, smart glasses, or mobile robot. 17. Считываемый компьютером носитель, хранящий выполняемые компьютером инструкции, которые при их исполнении процессором побуждают процессор выполнять способ по любому из пп. 1-5 или 6-13.17. A computer-readable medium that stores computer-executable instructions that, when executed by the processor, cause the processor to perform the method of any one of claims. 1-5 or 6-13.
RU2021128885A 2021-05-26 2021-10-04 Method and electronic device for detecting three-dimensional objects using neural networks RU2776814C1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2022/007472 WO2022250468A1 (en) 2021-05-26 2022-05-26 Method and electronic device for 3d object detection using neural networks
US18/080,482 US20230121534A1 (en) 2021-05-26 2022-12-13 Method and electronic device for 3d object detection using neural networks

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2021114905 Substitution 2021-05-26 2021-05-26

Publications (1)

Publication Number Publication Date
RU2776814C1 true RU2776814C1 (en) 2022-07-26

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160196480A1 (en) * 2014-05-05 2016-07-07 Atomwise Inc. Systems and methods for applying a convolutional network to spatial data
US9424461B1 (en) * 2013-06-27 2016-08-23 Amazon Technologies, Inc. Object recognition for three-dimensional bodies
US20190138786A1 (en) * 2017-06-06 2019-05-09 Sightline Innovation Inc. System and method for identification and classification of objects
RU2693267C1 (en) * 2018-10-23 2019-07-01 Акционерное общество Научно-производственное предприятие "Авиационная и Морская Электроника" Method of recognizing objects on an image
US10970518B1 (en) * 2017-11-14 2021-04-06 Apple Inc. Voxel-based feature learning network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424461B1 (en) * 2013-06-27 2016-08-23 Amazon Technologies, Inc. Object recognition for three-dimensional bodies
US20160196480A1 (en) * 2014-05-05 2016-07-07 Atomwise Inc. Systems and methods for applying a convolutional network to spatial data
US20190138786A1 (en) * 2017-06-06 2019-05-09 Sightline Innovation Inc. System and method for identification and classification of objects
US10970518B1 (en) * 2017-11-14 2021-04-06 Apple Inc. Voxel-based feature learning network
RU2693267C1 (en) * 2018-10-23 2019-07-01 Акционерное общество Научно-производственное предприятие "Авиационная и Морская Электроника" Method of recognizing objects on an image

Similar Documents

Publication Publication Date Title
JP7345504B2 (en) Association of LIDAR data and image data
US10991156B2 (en) Multi-modal data fusion for enhanced 3D perception for platforms
US11315266B2 (en) Self-supervised depth estimation method and system
US20220165045A1 (en) Object recognition method and apparatus
CN111666921B (en) Vehicle control method, apparatus, computer device, and computer-readable storage medium
US11482014B2 (en) 3D auto-labeling with structural and physical constraints
EP3516624B1 (en) A method and system for creating a virtual 3d model
US20190220992A1 (en) Object pose estimating method and apparatus
WO2019153245A1 (en) Systems and methods for deep localization and segmentation with 3d semantic map
CN109214986A (en) High-resolution 3-D point cloud is generated from the low resolution LIDAR 3-D point cloud and camera review of down-sampling
CN109214987A (en) High-resolution 3-D point cloud is generated from the low resolution LIDAR 3-D point cloud and camera review of up-sampling
CN109215067A (en) High-resolution 3-D point cloud is generated based on CNN and CRF model
US20230121534A1 (en) Method and electronic device for 3d object detection using neural networks
WO2021218786A1 (en) Data processing system, object detection method and apparatus thereof
US11049275B2 (en) Method of predicting depth values of lines, method of outputting three-dimensional (3D) lines, and apparatus thereof
US20220156483A1 (en) Efficient three-dimensional object detection from point clouds
KR20200060194A (en) Method of predicting depth values of lines, method of outputting 3d lines and apparatus thereof
KR20210111052A (en) Apparatus and method for classficating point cloud using semantic image
EP3953903A1 (en) Scale-aware monocular localization and mapping
CN113269147B (en) Three-dimensional detection method and system based on space and shape, and storage and processing device
CN113255779A (en) Multi-source perception data fusion identification method and system and computer readable storage medium
CN116958927A (en) Method and device for identifying short column based on BEV (binary image) graph
RU2776814C1 (en) Method and electronic device for detecting three-dimensional objects using neural networks
US20230105331A1 (en) Methods and systems for semantic scene completion for sparse 3d data
JP7423500B2 (en) Information processing devices, information processing methods, programs, and vehicle control systems