[go: up one dir, main page]

RU2836700C1 - Method and processor for classification of points on boundary of polygonal section - Google Patents

Method and processor for classification of points on boundary of polygonal section Download PDF

Info

Publication number
RU2836700C1
RU2836700C1 RU2023128466A RU2023128466A RU2836700C1 RU 2836700 C1 RU2836700 C1 RU 2836700C1 RU 2023128466 A RU2023128466 A RU 2023128466A RU 2023128466 A RU2023128466 A RU 2023128466A RU 2836700 C1 RU2836700 C1 RU 2836700C1
Authority
RU
Russia
Prior art keywords
boundary
training
model
points
processor
Prior art date
Application number
RU2023128466A
Other languages
Russian (ru)
Inventor
Виктор Сергеевич Юрченко
Original Assignee
Общество с ограниченной ответственностью "Лаборатория Алисы"
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Лаборатория Алисы" filed Critical Общество с ограниченной ответственностью "Лаборатория Алисы"
Priority to US18/934,672 priority Critical patent/US20250148806A1/en
Application granted granted Critical
Publication of RU2836700C1 publication Critical patent/RU2836700C1/en

Links

Images

Abstract

FIELD: physics.
SUBSTANCE: group of inventions relates to image processing. Method of classifying points of boundary of a polygonal portion of an object on an image of a neighbourhood map includes obtaining image data for a training area comprising a training object, generating a segmentation map containing a plurality of points based on the image data and determining the training boundary of the polygonal section. Plurality of points is associated with a feature vector formed by the segmentation model. Method includes obtaining the actual boundary of the polygonal section, determining the deviation of the position from the nearest edge from the sequence of edges indicating the mark of the boundary point, and training the second model. Training iteration includes use of a feature vector associated with a boundary point and a set of adjacent point feature vectors to generate a predicted estimate of the position of the boundary point, as well as adjusting the second model based on the result of comparing the predicted estimate and the mark.
EFFECT: high accuracy of navigation and safety of controlling autonomous vehicles.
24 cl, 11 dwg

Description

Область техники, к которой относится изобретениеField of technology to which the invention relates

[001] Настоящая технология в целом относится к обработке изображений, в частности - к способам и процессорам для классификации точек на границе многоугольного участка.[001] The present technology generally relates to image processing, and in particular to methods and processors for classifying points on the boundary of a polygonal region.

Уровень техникиState of the art

[002] В известных решениях предложены и реализованы компьютерные навигационные системы, способствующие навигации и/или управлению транспортными средствами. Известны различные системы такого рода: от простых решений, основанных на определении местоположения по карте и использующих компьютерную систему для помощи водителю в навигации на маршруте от пункта отправления до пункта назначения, до более сложных решений, таких как компьютеризированные и/или автономные системы вождения.[002] In known solutions, computer navigation systems are proposed and implemented that facilitate navigation and/or control of vehicles. Various systems of this kind are known: from simple solutions based on determining the location on a map and using a computer system to assist the driver in navigating along a route from the departure point to the destination, to more complex solutions, such as computerized and/or autonomous driving systems.

[003] Некоторые из этих систем реализованы в виде широко известной системы круиз-контроля. В этом случае компьютерная система, размещенная на транспортном средстве, поддерживает заданную пользователем скорость движения транспортного средства. Некоторые системы круиз-контроля реализуют систему интеллектуального управления дистанцией, позволяя пользователю задавать расстояние до идущего впереди автомобиля (например, выбирать значение, выраженное в количестве транспортных средств). При этом компьютерная система регулирует скорость транспортного средства, по меньшей мере частично, в зависимости от его приближения к впереди идущему транспортному средству на заранее заданное расстояние. Некоторые из систем круиз-контроля дополнительно оснащены системой предупреждения столкновений, которая при обнаружении транспортного средства (или других препятствий) перед движущимся транспортным средством замедляет или останавливает его.[003] Some of these systems are implemented in the form of the well-known cruise control system. In this case, a computer system located on the vehicle maintains the vehicle's speed set by the user. Some cruise control systems implement an intelligent distance control system, allowing the user to set the distance to the vehicle in front (for example, to select a value expressed in the number of vehicles). In this case, the computer system regulates the vehicle's speed, at least in part, depending on its approach to the vehicle in front at a predetermined distance. Some of the cruise control systems are additionally equipped with a collision warning system, which, upon detecting a vehicle (or other obstacles) in front of the moving vehicle, slows down or stops it.

[004] Некоторые из наиболее передовых систем обеспечивают полностью автономное движение транспортного средства без непосредственного участия оператора (т.е. водителя) в управлении. Такие автономные транспортные средства содержат системы, способные ускорять, замедлять, останавливать, перестраивать в другой ряд и самостоятельно парковать транспортное средство.[004] Some of the most advanced systems provide fully autonomous vehicle operation without direct operator (i.e. driver) involvement in the control. Such autonomous vehicles contain systems capable of accelerating, decelerating, stopping, changing lanes, and parking the vehicle independently.

[005] Автономные транспортные средства могут использовать картографические данные с целью обработки информации для навигации и управления в дополнение к данным датчиков или вместо них. При этом традиционные карты имеют ряд недостатков, затрудняющих их использование в автономных транспортных средствах, таких как самоуправляемые автомобили и роботы-доставщики. В частности, карты не обеспечивают точности, требуемой для безопасной навигации (например, 10 см или меньше). Системы GPS обеспечивают точность приблизительно 3-5 м, но из-за некоторых условий возникают значительные ошибки и погрешность может превышать 100 м. Это усложняет точное определение местоположения транспортного средства. Традиционные способы поддержки цифровых карт и определения объектов на картах не обеспечивают достаточно точных и актуальных данных для безопасной навигации и управления автономными транспортными средствами.[005] Autonomous vehicles may use map data to process navigation and control information in addition to or instead of sensor data. However, traditional maps have a number of drawbacks that make them difficult to use in autonomous vehicles such as self-driving cars and delivery robots. In particular, maps do not provide the accuracy required for safe navigation (e.g., 10 cm or less). GPS systems provide an accuracy of approximately 3-5 m, but due to certain conditions, significant errors occur and the error can exceed 100 m. This makes it difficult to accurately determine the location of the vehicle. Traditional methods of maintaining digital maps and identifying objects on maps do not provide sufficiently accurate and up-to-date data for safe navigation and control of autonomous vehicles.

[006] В патентной заявке US20180188059 описана система, формирующая разделительные линии, обозначающие полосы движения дорог, например, на основе отображения пикселов изображения с камеры, которые с высокой вероятностью соответствуют разделительным линиям.[006] Patent application US20180188059 describes a system for generating dividing lines that indicate traffic lanes of roads, for example, based on displaying pixels of a camera image that correspond with a high probability to dividing lines.

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

[007] В связи с изложенным требуются системы и способы, позволяющие избегать, уменьшать или преодолевать ограничения известных технологий.[007] In connection with the above, systems and methods are needed that allow one to avoid, reduce or overcome the limitations of known technologies.

[008] В контексте настоящей технологии модель сегментации применяется для сегментации данных изображения в отношении областей карты для определения объектов и формирования границ для этих объектов в соответствующих областях карты. Предполагается, что эти объекты могут включать в себя участки дороги, доступные дорожным транспортным средствам (например, автомобилям, грузовикам, автобусам и мотоциклам), участки тротуара, доступные пешеходам и относительно небольшим роботизированным транспортным средствам (например, доставочным роботам), участки пути, доступные пешеходам, дорожным транспортным средствам и относительно небольшим роботизированным транспортным средствам, и т.п.[008] In the context of the present technology, a segmentation model is used to segment image data with respect to map regions to determine objects and to form boundaries for these objects in the corresponding map regions. It is assumed that these objects may include road sections accessible to road vehicles (e.g., cars, trucks, buses, and motorcycles), sidewalk sections accessible to pedestrians and relatively small robotic vehicles (e.g., delivery robots), path sections accessible to pedestrians, road vehicles, and relatively small robotic vehicles, etc.

[009] Модель сегментации может применяться на этапе использования в областях карты, не оцененных экспертами. Например, картографу может быть поручено отслеживать границы объектов одного или нескольких классов на карте. При этом получение таких оцененных экспертом данных требует значительных затрат времени и средств. Поскольку получение данных о фактических границах объектов на очень большой карте практически невозможно, разработчики настоящей технологии разработали систему, где информация о фактических границах объектов используется в оцененных экспертом областях карты, а результаты модели сегментации могут использоваться для областей карты, которые не были оценены таким образом.[009] The segmentation model can be applied at the use stage to areas of the map that have not been assessed by experts. For example, a cartographer may be tasked with tracking the boundaries of objects of one or more classes on a map. However, obtaining such expert-assessed data requires significant time and money. Since obtaining data on the actual boundaries of objects on a very large map is practically impossible, the developers of this technology have developed a system where information on the actual boundaries of objects is used in expert-assessed areas of the map, and the results of the segmentation model can be used for areas of the map that have not been assessed in this way.

[010] Разработчики настоящей технологии установили, что несмотря на полезность использования модели сегментации в не оцененных областях, эта модель не обеспечивает удовлетворительного качества прогнозирования в некоторых из этих не оцененных областей. В этой связи разработчики разработали способы и системы, использующие вторую модель для указания на достоверность информации о границе, сформированной моделью сегментации.[010] The developers of the present technology have found that, while the segmentation model is useful in unrated areas, the model does not provide satisfactory prediction quality in some of these unrated areas. In this regard, the developers have developed methods and systems that use a second model to indicate the reliability of the boundary information generated by the segmentation model.

[011] В общем случае вторая модель может быть обучена прогнозированию для одной или нескольких точек вдоль границы, сформированной моделью сегментации, оценок достоверности, указывающих на то, правильно ли размещены на карте эти точки. В некоторых вариантах осуществления изобретения можно сказать, что оценки достоверности указывают на вероятность правильного размещения этих точек на карте. В других вариантах осуществления изобретения можно сказать, что оценки достоверности указывают на уровень достоверности правильного размещения этих точек на карте.[011] In general, the second model may be trained to predict, for one or more points along the boundary formed by the segmentation model, confidence scores indicating whether these points are correctly placed on the map. In some embodiments of the invention, the confidence scores may be said to indicate the probability of correctly placing these points on the map. In other embodiments of the invention, the confidence scores may be said to indicate the level of confidence that these points are correctly placed on the map.

[012] Оцененные области карты могут использоваться для обучения второй модели на основе фактических данных от экспертов и данных сегментации из модели сегментации. Когда модель прогнозирования на этапе ее использования определяет, что одна или несколько точек границы, сформированной моделью сегментации для не оцененной области, возможно, неправильно размещены, то эта не оцененная область может быть помечена для оценивания экспертом. Иными словами, модель сегментации может использоваться для формирования границ многоугольных участков в некоторых не оцененных областях без дополнительного ввода данных экспертом, тогда как в других не оцененных областях выходные данные второй модели могут указывать на то, что определение фактических границ должно быть поручено экспертам вместо использования лишь результатов работы модели сегментации.[012] The estimated map areas may be used to train a second model based on actual input from experts and segmentation data from the segmentation model. When the prediction model determines during its use phase that one or more points of the boundary generated by the segmentation model for an unestimated area may be incorrectly located, then this unestimated area may be marked for evaluation by an expert. In other words, the segmentation model may be used to generate boundaries of polygonal areas in some unestimated areas without additional input from an expert, while in other unestimated areas, the output of the second model may indicate that the determination of actual boundaries should be entrusted to experts instead of using only the output of the segmentation model.

[013] В соответствии с первым аспектом настоящей технологии реализован способ классификации точек на границе многоугольного участка. Способ выполняется процессором. Способ включает в себя получение процессором данных изображения для обучающей области, содержащей обучающий объект. Способ включает в себя формирование процессором карты сегментации с использованием модели сегментации на основе данных изображения. Карта сегментации содержит множество точек и определяет границу многоугольного участка. Множество точек связано с вектором признаков, сформированным моделью сегментации. Обучающая граница многоугольного участказадает обучающий объект в обучающей области. Обучающая граница многоугольного участкасодержит последовательность точек границы. Положение точки границы в последовательности задано как изменение положения относительно положения предыдущей точки границы из этой последовательности. Способ включает в себя получение процессором фактической границы многоугольного участка, задающей обучающий объект на карте сегментации. Фактическая граница многоугольного участка содержит последовательность ребер границы, определенных экспертом. Способ включает к себя определение для точки границы из последовательности точек границы отклонения ее положения от ближайшего ребра из последовательности ребер. Отклонение указывает на метку точки границы. Способ включает к себя обучение процессором второй модели прогнозированию оценки достоверности для точки границы этапа использования границы многоугольного участка этапа использования. Обучение в ходе итерации обучения включает в себя использование второй моделью для формирования прогнозируемой оценки: положения точки границы, вектора признаков, связанного с точкой границы, и набора векторов признаков соседних точек на карте сегментации, представляющих контекст точки границы. Обучение в ходе итерации обучения включает в себя корректировку второй модели на основе сравнения прогнозируемой оценки и метки.[013] According to a first aspect of the present technology, a method for classifying points on a boundary of a polygonal region is implemented. The method is performed by a processor. The method includes receiving, by the processor, image data for a training region containing a training object. The method includes forming, by the processor, a segmentation map using a segmentation model based on the image data. The segmentation map contains a plurality of points and defines a boundary of the polygonal region. The plurality of points is associated with a feature vector generated by the segmentation model. The training boundary of the polygonal region defines a training object in the training region. The training boundary of the polygonal region contains a sequence of boundary points. The position of the boundary point in the sequence is defined as a change in position relative to the position of the previous boundary point from this sequence. The method includes receiving, by the processor, an actual boundary of the polygonal region defining the training object on the segmentation map. The actual boundary of the polygonal region contains a sequence of boundary edges determined by an expert. The method includes determining, for a boundary point from the sequence of boundary points, a deviation of its position from the nearest edge from the sequence of edges. The deviation indicates a label of the boundary point. The method includes training the processor of the second model to predict the reliability estimate for the boundary point of the stage of use of the boundary of the polygonal section of the stage of use. Training during the training iteration includes using the second model to form the predicted estimate: the position of the boundary point, the feature vector associated with the boundary point, and a set of feature vectors of neighboring points on the segmentation map representing the context of the boundary point. Training during the training iteration includes adjusting the second model based on a comparison of the predicted estimate and the label.

[014] В некоторых вариантах осуществления способа он дополнительно включает в себя получение процессором данных изображения этапа использования для области этапа использования, содержащей объект этапа использования. Объект этапа использования не был оценен экспертом для формирования фактической границы многоугольного участка, задающей объект этапа использования. Способ дополнительно включает в себя формирование процессором карты сегментации этапа использования, задающей границу многоугольного участка этапа использования, содержащую последовательность точек границы этапа использования, с использованием модели сегментации. Способ дополнительно включает в себя формирование процессором оценки достоверности для точки границы этапа использования из последовательности точек границы этапа использования с использованием второй модели. Способ дополнительно включает в себя автоматическое определение по меньшей мере части области этапа использования для оценивания экспертом, если оценка достоверности указывает на низкую достоверность. Способ включает в себя получение процессором фактической границы многоугольного участка объекта этапа использования от эксперта.[014] In some embodiments of the method, it further includes receiving, by the processor, an image data of the stage of use for a region of the stage of use containing an object of the stage of use. The object of the stage of use has not been evaluated by the expert to form the actual boundary of the polygonal region defining the object of the stage of use. The method further includes generating, by the processor, a segmentation map of the stage of use defining the boundary of the polygonal region of the stage of use, containing a sequence of points of the boundary of the stage of use, using a segmentation model. The method further includes generating, by the processor, a confidence estimate for a point of the boundary of the stage of use from the sequence of points of the boundary of the stage of use using a second model. The method further includes automatically determining at least a part of the region of the stage of use for evaluation by the expert if the confidence estimate indicates low confidence. The method includes receiving, by the processor, the actual boundary of the polygonal region of the stage of use object from the expert.

[015] В некоторых вариантах осуществления способа обучающий объект представляет собой участок дороги или участок тротуара.[015] In some embodiments of the method, the training object is a section of a road or a section of a sidewalk.

[016] В некоторых вариантах осуществления способа данные изображения содержат представление вида с высоты птичьего полета для обучающей области.[016] In some embodiments of the method, the image data comprises a bird's eye view representation of the training region.

[017] В некоторых вариантах осуществления способа данные изображения содержат двумерное изображение обучающей области, сформированное из трехмерного облака точек, представляющего обучающую область.[017] In some embodiments of the method, the image data comprises a two-dimensional image of the training region formed from a three-dimensional point cloud representing the training region.

[018] В некоторых вариантах осуществления способа данные изображения содержат одно или несколько растровых изображений.[018] In some embodiments of the method, the image data comprises one or more raster images.

[019] В некоторых вариантах осуществления способа модель сегментации представляет собой полносверточную нейронную сеть.[019] In some embodiments of the method, the segmentation model is a fully convolutional neural network.

[020] В некоторых вариантах осуществления способа вторая модель представляет собой модель классификации, а метка указывает на первый класс, соответствующий классу высокой достоверности, если отклонение меньше заранее заданного порога, или указывает на второй класс, соответствующий классу низкой достоверности, если отклонение больше заранее заданного порога.[020] In some embodiments of the method, the second model is a classification model, and the label indicates a first class corresponding to a high confidence class if the deviation is less than a predetermined threshold, or indicates a second class corresponding to a low confidence class if the deviation is greater than a predetermined threshold.

[021] В некоторых вариантах осуществления способа вторая модель содержит две головы, при этом первая голова обучена на основе первой метки, указывающей на отклонение от ближайшего ребра, а вторая голова обучена на основе второй метки, указывающей на то, что это отклонение меньше либо больше заранее заданного порога.[021] In some embodiments of the method, the second model comprises two heads, wherein the first head is trained based on a first label indicating a deviation from the nearest edge, and the second head is trained based on a second label indicating that the deviation is less than or greater than a predetermined threshold.

[022] В некоторых вариантах осуществления способа граница многоугольного участка на этапе использования хранится в сочетании областью этапа использования и передается второму процессору, связанному с транспортным средством, для навигации транспортного средства в области этапа использования.[022] In some embodiments of the method, the boundary of the polygonal region at the use stage is stored in combination with the region of the use stage and transmitted to a second processor associated with the vehicle for navigating the vehicle in the region of the use stage.

[023] В некоторых вариантах осуществления способа транспортное средство представляет собой самоуправляемый автомобиль (SDC, Self-Driving Car), эксплуатируемый на участках дороги.[023] In some embodiments of the method, the vehicle is a self-driving car (SDC) operated on road sections.

[024] В некоторых вариантах осуществления способа транспортное средство представляет собой робота-доставщика, эксплуатируемого на участках тротуара.[024] In some embodiments of the method, the vehicle is a delivery robot operated on sections of sidewalk.

[025] В соответствии со вторым аспектом настоящей технологии реализован процессор для классификации точек на границе многоугольного участка. Процессор способен получать данные изображения для обучающей области, содержащей обучающий объект. Процессор способен формировать на основе данных изображения карту сегментации с использованием модели сегментации. Карта сегментации содержит множество точек, связанное с вектором признаков, сформированным моделью сегментации, и определяет обучающую границу многоугольного участка. Обучающая граница многоугольного участка задает обучающий объект в обучающей области и содержит последовательность точек границы, при этом положение точки границы в последовательности задано как изменение положения относительно положения предыдущей точки границы из этой последовательности. Процессор способен получать фактическую границу многоугольного участка, задающую обучающий объект на карте сегментации и содержащую последовательность ребер границы, определенных экспертом. Для точки границы из последовательности точек границы процессор способен определять указывающее на метку точки границы отклонение положения от ближайшего ребра из последовательности ребер. Процессор способен обучать вторую модель прогнозированию оценки достоверности для точки границы этапа использования границы многоугольного участка этапа использования. Обучение в ходе итерации обучения включает в себя использование второй моделью вектора признаков, связанного с точкой границы, и набора векторов признаков соседних точек на карте сегментации, представляющих контекст точки границы, для формирования прогнозируемой оценки положения точки границы. Обучение в ходе итерации обучения включает в себя корректировку второй модели на основе сравнения прогнозируемой оценки и метки.[025] According to a second aspect of the present technology, a processor is implemented for classifying points on the boundary of a polygonal region. The processor is capable of receiving image data for a training region containing a training object. The processor is capable of forming a segmentation map based on the image data using a segmentation model. The segmentation map contains a plurality of points associated with a feature vector formed by the segmentation model and defines a training boundary of the polygonal region. The training boundary of the polygonal region specifies a training object in the training region and contains a sequence of boundary points, wherein the position of the boundary point in the sequence is specified as a change in position relative to the position of the previous boundary point from this sequence. The processor is capable of receiving an actual boundary of the polygonal region specifying the training object on the segmentation map and containing a sequence of boundary edges determined by an expert. For a boundary point from the sequence of boundary points, the processor is capable of determining a position deviation from the nearest edge from the sequence of edges indicating a label of the boundary point. The processor is capable of training a second model for predicting a reliability assessment for a boundary point of the use stage of the boundary of the polygonal region of the use stage. Training during a training iteration involves the second model using the feature vector associated with the boundary point and a set of feature vectors of neighboring points on the segmentation map representing the context of the boundary point to form a predicted estimate of the boundary point's position. Training during a training iteration involves adjusting the second model based on a comparison of the predicted estimate and the label.

[026] В некоторых вариантах осуществления процессор дополнительно способен получать данные изображения этапа использования для области этапа использования, содержащей объект этапа использования, который не был оценен экспертом, с целью формирования фактической границы многоугольного участка, задающей объект этапа использования. Процессор дополнительно способен формировать карту сегментации этапа использования, задающую границу многоугольного участка этапа использования, содержащую последовательность точек границы этапа использования, с использованием модели сегментации. Процессор дополнительно способен формировать оценку достоверности для точки границы этапа использования из последовательности точек границы этапа использования с использованием второй модели. Процессор дополнительно способен автоматически определять по меньшей мере часть области этапа использования для оценивания экспертом, если оценка достоверности указывает на низкую достоверность. Процессор дополнительно способен получать фактическую границу многоугольного участка объекта этапа использования от эксперта.[026] In some embodiments, the processor is further configured to obtain image data of the use stage for a region of the use stage containing a use stage object that has not been evaluated by the expert, in order to generate an actual boundary of a polygonal region defining the use stage object. The processor is further configured to generate a segmentation map of the use stage defining a boundary of the polygonal region of the use stage, comprising a sequence of points of the use stage boundary, using a segmentation model. The processor is further configured to generate a confidence estimate for a point of the use stage boundary from the sequence of points of the use stage boundary using a second model. The processor is further configured to automatically determine at least a portion of the region of the use stage for evaluation by the expert if the confidence estimate indicates low confidence. The processor is further configured to obtain the actual boundary of the polygonal region of the use stage object from the expert.

[027] В некоторых вариантах осуществления процессора обучающий объект представляет собой участок дороги или участок тротуара.[027] In some embodiments of the processor, the training object is a section of a road or a section of a sidewalk.

[028] В некоторых вариантах осуществления процессора данные изображения содержат представление вида с высоты птичьего полета для обучающей области.[028] In some embodiments of the processor, the image data comprises a bird's eye view representation of the training region.

[029] В некоторых вариантах осуществления процессора данные изображения содержат двумерное изображение обучающей области, сформированное из трехмерного облака точек, представляющего обучающую область.[029] In some embodiments of the processor, the image data comprises a two-dimensional image of the training region generated from a three-dimensional point cloud representing the training region.

[030] В некоторых вариантах осуществления процессора данные изображения содержат одно или несколько растровых изображений.[030] In some embodiments of the processor, the image data comprises one or more raster images.

[031] В некоторых вариантах осуществления процессора модель сегментации представляет собой полносверточную нейронную сеть.[031] In some embodiments of the processor, the segmentation model is a fully convolutional neural network.

[032] В некоторых вариантах осуществления процессора вторая модель представляет собой модель классификации, а метка указывает на первый класс, соответствующий классу высокой достоверности, если отклонение меньше заранее заданного порога, или указывает на второй класс, соответствующий классу низкой достоверности, если отклонение больше заранее заданного порога.[032] In some embodiments of the processor, the second model is a classification model, and the label indicates a first class corresponding to a high confidence class if the deviation is less than a predetermined threshold, or indicates a second class corresponding to a low confidence class if the deviation is greater than a predetermined threshold.

[033] В некоторых вариантах осуществления процессора вторая модель содержит две головы, при этом первая голова обучена на основе первой метки, указывающей на отклонение от ближайшего ребра, а вторая голова обучена на основе второй метки, указывающей на то, что это отклонение меньше либо больше заранее заданного порога.[033] In some embodiments of the processor, the second model comprises two heads, wherein the first head is trained based on a first label indicating a deviation from the nearest edge, and the second head is trained based on a second label indicating that the deviation is less than or greater than a predetermined threshold.

[034] В некоторых вариантах осуществления процессора граница многоугольного участка на этапе использования хранится в сочетании областью этапа использования и передается второму процессору, связанному с транспортным средством, для навигации транспортного средства в области этапа использования.[034] In some embodiments of the processor, the boundary of the polygonal region in the use stage is stored in combination with the region of the use stage and transmitted to a second processor associated with the vehicle for navigating the vehicle in the region of the use stage.

[035] В некоторых вариантах осуществления процессора транспортное средство представляет собой автомобиль SDC, эксплуатируемый на участках дороги.[035] In some embodiments of the processor, the vehicle is an SDC vehicle operated on road sections.

[036] В некоторых вариантах осуществления процессора транспортное средство представляет собой робота-доставщика, эксплуатируемого на участках тротуара.[036] In some embodiments of the processor, the vehicle is a delivery robot operated on sections of sidewalk.

[037] В контексте настоящего описания термин «источник света» соответствует любому устройству, способному обеспечивать излучение в виде луча, например, в числе прочего, в виде луча света, содержащего излучение с одной или несколькими длинами волн электромагнитного спектра. В одном примере источник света может представлять собой лазер. Таким образом, источник света может содержать лазер, такой как твердотельный лазер, лазерный диод, лазер большой мощности, или альтернативный источник света, такой как источник света на основе светодиода. В некоторых (не имеющих ограничительного характера) примерах лазер содержит лазерный диод Фабри-Перо, лазер на квантовой яме, лазер с распределенным брэгговским отражателем (DBR, Distributed Bragg Reflector), лазер с распределенной обратной связью (DFB, Distributed FeedBack), волоконный лазер или лазер поверхностного излучения с вертикальным резонатором (VCSEL Vertical-Cavity Surface-Emitting Laser). Кроме того, лазер может излучать световые лучи различных видов, например, световые импульсы, непрерывные колебания (CW, Continuous Wave), квазинепрерывные колебания и т.д. В некоторых не имеющих ограничительного характера примерах лазер может содержать лазерный диод, способный излучать свет с длиной волны в диапазоне приблизительно 650-1150 нм. В качестве альтернативы, источник света может содержать лазерный диод, способный излучать световые лучи с длиной волны в диапазонах приблизительно 800-1000 нм, приблизительно 850-950 нм, приблизительно 1300-1600 нм или в любом другом подходящем диапазоне. Если не указано иное, термин «приблизительно» в отношении числового значения означает отклонение до 10% от указанного значения.[037] As used herein, the term "light source" refers to any device capable of providing radiation in the form of a beam, such as, but not limited to, a beam of light comprising radiation of one or more wavelengths of the electromagnetic spectrum. In one example, the light source may be a laser. Thus, the light source may comprise a laser such as a solid-state laser, a laser diode, a high-power laser, or an alternative light source such as a light-emitting diode (LED) light source. In some (non-limiting) examples, the laser comprises a Fabry-Perot laser diode, a quantum well laser, a Distributed Bragg Reflector (DBR) laser, a Distributed FeedBack (DFB) laser, a fiber laser, or a VCSEL Vertical-Cavity Surface-Emitting Laser. In addition, the laser may emit light beams of various types, such as light pulses, continuous oscillations (CW, Continuous Wave), quasi-continuous oscillations, etc. In some non-limiting examples, the laser may comprise a laser diode capable of emitting light with a wavelength in the range of approximately 650-1150 nm. Alternatively, the light source may comprise a laser diode capable of emitting light beams with a wavelength in the ranges of approximately 800-1000 nm, approximately 850-950 nm, approximately 1300-1600 nm, or any other suitable range. Unless otherwise specified, the term "approximately" with respect to a numerical value means a deviation of up to 10% from the specified value.

[038] В контексте настоящего описания выражение «выходной луч» может соответствовать пучку излучения, сформированному источником излучения и направленному в сторону интересующей области (ROI, Region Of Interest). Выходной луч может иметь один или несколько параметров, таких как длительность импульса, угловая дисперсия луча, длина волны, мгновенная мощность, плотность фотонов на различных расстояниях от источника света, средняя мощность, интенсивность луча, ширина луча, частота повторения лучей, последовательность лучей, скважность импульсов, фаза и т.д. Выходной луч может быть неполяризованным или поляризованным случайным образом, может не иметь конкретной или фиксированной поляризации (например, поляризация может изменяться с течением времени) или может иметь конкретную поляризацию (например, линейную поляризацию, эллиптическую поляризацию или круговую поляризацию).[038] In the context of the present description, the expression "output beam" may correspond to a radiation beam generated by a radiation source and directed towards a region of interest (ROI). The output beam may have one or more parameters such as pulse duration, beam angular dispersion, wavelength, instantaneous power, photon density at different distances from the light source, average power, beam intensity, beam width, beam repetition rate, beam sequence, pulse duty cycle, phase, etc. The output beam may be unpolarized or randomly polarized, may not have a specific or fixed polarization (e.g., polarization may change over time) or may have a specific polarization (e.g., linear polarization, elliptical polarization, or circular polarization).

[039] В контексте настоящего описания термин «входной луч» означает излучение или свет, попадающий в систему обычно после отражения от одного или нескольких объектов в области ROI. Входной луч также может называться пучком излучения или лучом света. Под отражением подразумевается, что по меньшей мере часть выходного луча, падающего на один или несколько объектов в области ROI, отражается от одного или нескольких объектов. Входной луч может иметь один или несколько параметров, таких как время пролета (т.е. время от излучения до обнаружения), мгновенная мощность (например, сигнатура мощности), средняя мощность по всему обратному импульсу, спектр или сигнал в течение периода обратного импульса и т.д. В зависимости от конкретного варианта использования, часть излучения или света во входном луче может поступать от источников, отличных от отраженного выходного луча. Например, по меньшей мере часть входного луча может содержать шумовое световое излучение из окружающей среды (включая рассеянный солнечный свет) или от других источников света, внешних по отношению к данной системе.[039] As used herein, the term "input beam" refers to radiation or light that enters the system, typically after being reflected from one or more objects in the ROI. An input beam may also be referred to as a radiation beam or a light beam. By reflection, it is meant that at least a portion of the output beam incident on one or more objects in the ROI is reflected from one or more objects. An input beam may have one or more parameters such as a time of flight (i.e., the time from emission to detection), an instantaneous power (e.g., a power signature), an average power over the entire return pulse, a spectrum or signal over the period of the return pulse, etc. Depending on the particular use case, a portion of the radiation or light in the input beam may come from sources other than the reflected output beam. For example, at least a portion of the input beam may comprise noise light from the environment (including scattered sunlight) or from other light sources external to the system.

[040] В контексте настоящего описания термин «окрестность» или «окружающая среда» транспортного средства соответствует области или пространству вокруг транспортного средства, содержащему часть его окружающей среды в данный момент времени, доступной для сканирования с использованием одного или нескольких датчиков, установленных на транспортном средстве, например, для формирования 3D-карты (трехмерной карты) такой окрестности или для обнаружения объектов.[040] In the context of the present description, the term "surrounding area" or "environment" of a vehicle corresponds to an area or space around the vehicle that contains part of its surrounding environment at a given time that is available for scanning using one or more sensors mounted on the vehicle, for example, to form a 3D map (three-dimensional map) of such surrounding area or to detect objects.

[041] В контексте настоящего описания область ROI может содержать часть доступной для наблюдения окружающей среды лидарной системы, где могут быть обнаружены один или несколько объектов. Следует отметить, что область ROI лидарной системы может зависеть от различных условий, таких как ориентация лидарной системы (например, направление оптической оси лидарной системы), положение лидарной системы относительно окружающей среды (например, высота относительно уровня земли и расстояние до соседних элементов рельефа и препятствий), рабочие параметры лидарной системы (например, мощность излучения, вычислительные настройки, заданные углы работы) и т.д. Например, область ROI лидарной системы может быть задана в виде плоского угла или телесного угла. В одном примере область ROI также может задаваться конкретным диапазоном расстояний (например, до 200 м и т.п.).[041] In the context of the present description, the ROI region may comprise a portion of the observable environment of the lidar system, where one or more objects can be detected. It should be noted that the ROI region of the lidar system may depend on various conditions, such as the orientation of the lidar system (e.g., the direction of the optical axis of the lidar system), the position of the lidar system relative to the environment (e.g., the height relative to ground level and the distance to adjacent terrain elements and obstacles), the operating parameters of the lidar system (e.g., the radiation power, the computing settings, the specified operating angles), etc. For example, the ROI region of the lidar system can be defined as a plane angle or a solid angle. In one example, the ROI region can also be defined by a specific range of distances (e.g., up to 200 m, etc.).

[042] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от электронных устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут представлять собой один физический компьютер или одну компьютерную систему, что не существенно для настоящей технологии. В данном контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая конкретная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».[042] In the context of the present description, the term "server" means a computer program executed by appropriate hardware and capable of receiving requests (e.g., from electronic devices) via a network and executing or causing these requests to be executed. The hardware may be one physical computer or one computer system, which is not essential for the present technology. In this context, the expression "server" does not mean that every task (e.g., a received command or request) or some specific task is received, executed or started by the same server (i.e., the same software and/or hardware). This expression means that any number of software or hardware can receive, send, execute or cause to be executed any task or request or the results of any tasks or requests. All of these software and hardware may represent one server or several servers, and both of these cases are implied in the expression "at least one server".

[043] В контексте настоящего описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать в качестве сервера для других электронных устройств, тем не менее, это не обязательно для настоящей технологии. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя блок автономного вождения, персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Должно быть понятно, что в настоящем контексте функционирование устройства в качестве электронного устройства не означает, что оно не может функционировать в качестве сервера для других электронных устройств.[043] In the context of the present description, the term "electronic device" means any computer hardware capable of executing programs suitable for solving a given task. In the context of the present description, the term "electronic device" implies that the device can function as a server for other electronic devices, however, this is not necessary for the present technology. Thus, some (non-limiting) examples of electronic devices include an autonomous driving unit, personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, as well as network equipment such as routers, switches and gateways. It should be understood that in the present context, the functioning of a device as an electronic device does not mean that it cannot function as a server for other electronic devices.

[044] В контексте настоящего описания выражение «информация» включает в себя информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя визуальные произведения (например, карты), аудиовизуальные произведения (например, изображения, фильмы, звукозаписи, презентации и т.д.), данные (например, данные о местоположении, метеорологические данные, данные о дорожном движении, числовые данные и т.д.), текст (например, мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д., но не ограничивается ими.[044] In the context of the present description, the term "information" includes information of any kind or type capable of being stored in a database. Thus, information includes, but is not limited to, visual works (e.g., maps), audiovisual works (e.g., images, films, sound recordings, presentations, etc.), data (e.g., location data, weather data, traffic data, numerical data, etc.), text (e.g., opinions, comments, questions, messages, etc.), documents, spreadsheets, etc.

[045] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, где реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.[045] As used herein, the term "database" means any structured collection of data, regardless of its specific structure, database management software, or computer hardware for storing, using, or otherwise enabling the use of that data. A database may be located on the same hardware as the process that enables the storage or use of the information stored in the database, or the database may be located on separate hardware, such as a dedicated server or multiple servers.

[046] В контексте настоящего описания числительные «первый», «второй», «третий» и т.д. используются лишь для указания на различие между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом.[046] In the context of the present description, the numerals "first," "second," "third," etc. are used merely to indicate a distinction between the nouns to which they refer, but not to describe any specific relationship between those nouns. As occurs in other contexts in the present description, reference to a "first" element and a "second" element does not exclude the possibility that these two elements may in fact be the same element.

[047] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или к одному из вышеупомянутых аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.[047] Each embodiment of the present technology relates to at least one of the above-mentioned objectives and/or to one of the above-mentioned aspects, but not necessarily to all of them. It should be understood that some aspects of the present technology associated with an attempt to achieve the above-mentioned objective may not correspond to this objective and/or may correspond to other objectives not explicitly mentioned herein.

[048] Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов осуществления настоящей технологии содержатся в дальнейшем описании, на приложенных чертежах и в формуле изобретения.[048] Additional and/or alternative features, aspects and advantages of embodiments of the present technology are contained in the following description, in the attached drawings and in the claims.

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

[049] Эти и другие признаки, аспекты и преимущества настоящей технологии поясняются в дальнейшем описании, в приложенной формуле изобретения и на следующих чертежах.[049] These and other features, aspects and advantages of the present technology are explained in the following description, in the appended claims and in the following drawings.

[050] На фиг. 1 представлена схема иллюстративной компьютерной системы для реализации некоторых не имеющих ограничительного характера вариантов осуществления настоящей технологии.[050] Fig. 1 is a diagram of an illustrative computer system for implementing certain non-limiting embodiments of the present technology.

[051] На фиг. 2 представлена схема сетевой вычислительной среды, пригодной для использования с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии.[051] Fig. 2 is a diagram of a network computing environment suitable for use with certain non-limiting embodiments of the present technology.

[052] На фиг. 3 представлена схема иллюстративной лидарной системы, реализованной согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[052] Fig. 3 is a diagram of an illustrative lidar system implemented in accordance with certain non-limiting embodiments of the present technology.

[053] На фиг. 4 представлены данные, хранящиеся в устройстве хранения данных сетевой вычислительной среды согласно фиг. 2.[053] Fig. 4 shows data stored in a data storage device of the network computing environment according to Fig. 2.

[054] На фиг. 5 приведена карта сегментации, сформированная сервером, представленным на фиг. 2, и содержащая границу многоугольного участка, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[054] Fig. 5 shows a segmentation map generated by the server shown in Fig. 2 and containing the boundary of a polygonal region, according to some non-limiting embodiments of the present technology.

[055] На фиг. 6 приведен процесс формирования карты сегментации с использованием обучающей границы многоугольного участка и фактической границы многоугольного участка, хранящегося в устройстве хранения данных, представленном на фиг. 4, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[055] Fig. 6 illustrates a process for generating a segmentation map using a training boundary of a polygonal region and an actual boundary of a polygonal region stored in the data storage device shown in Fig. 4, according to some non-limiting embodiments of the present technology.

[056] На фиг. 7 показаны отклонения точек границы из обучающей границы многоугольного участка ы от ребра фактической границы многоугольного участка, представленного на фиг. 6, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[056] Fig. 7 shows the deviations of the boundary points from the training boundary of the polygonal region y from the edge of the actual boundary of the polygonal region shown in Fig. 6, according to some non-limiting embodiments of the present technology.

[057] На фиг. 8 приведен процесс обучения второй модели на основе обучающей границы многоугольного участка и фактической границы многоугольного участка, представленных на фиг. 6, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[057] Fig. 8 shows the process of training a second model based on the training boundary of the polygonal region and the actual boundary of the polygonal region shown in Fig. 6, according to some non-limiting embodiments of the present technology.

[058] На фиг. 9 приведен процесс этапа использования второй модели, представленной на фиг. 8, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[058] Fig. 9 shows a process of the step of using the second model shown in Fig. 8, according to some non-limiting embodiments of the present technology.

[059] На фиг. 10 представлена блок-схема способа, выполняемого согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[059] Fig. 10 is a flow chart of a method performed according to some non-limiting embodiments of the present technology.

[060] На фиг. 11 приведена схема архитектуры машинного обучения, используемой для реализации второй модели, представленной на фиг. 8, согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[060] Fig. 11 is a diagram of a machine learning architecture used to implement the second model shown in Fig. 8, according to some non-limiting embodiments of the present technology.

Осуществление изобретенияImplementation of the invention

[061] Представленные здесь примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.[061] The examples and conventional language provided herein are intended to provide a better understanding of the principles of the present technology, and not to limit its scope to such specifically provided examples and conditions. It is obvious that those skilled in the art are capable of devising various methods and devices that are not explicitly described or shown, but implement the principles of the present technology within its spirit and scope.

[062] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области должно быть понятно, что другие варианты осуществления настоящей технологии могут быть значительно сложнее.[062] Furthermore, in order to facilitate better understanding, the following description may contain simplified embodiments of the present technology. Those skilled in the art will understand that other embodiments of the present technology may be significantly more complex.

[063] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объема или границ настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.[063] In some cases, useful examples of modifications of the present technology are given. They facilitate understanding, but also do not define the scope or boundaries of the present technology. The list of modifications provided is not exhaustive and a person skilled in the art can develop other modifications within the scope of the present technology. In addition, if in some cases modifications are not described, this does not mean that they are impossible and/or that the description contains the only possible embodiment of a particular element of the present technology.

[064] Описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть понятно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих основы настоящей технологии. Также должно быть понятно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.[064] The description of the principles, aspects and embodiments of the present technology, as well as specific examples thereof, are intended to cover their structural and functional equivalents, regardless of whether they are currently known or will be developed in the future. For example, those skilled in the art should understand that any block diagrams described herein correspond to conceptual representations of illustrative circuit diagrams implementing the principles of the present technology. It should also be understood that any block diagrams, process diagrams, state transition diagrams, pseudocodes, etc. correspond to various processes that can be represented on a machine-readable physical storage medium and can be executed by a computer or processor, regardless of whether such a computer or processor is explicitly shown or not.

[065] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также с использованием аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), постоянное запоминающее устройство (ПЗУ) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ) и/или энергонезависимое запоминающее устройство. Также могут подразумеваться другие аппаратные средства, общего назначения и/или заказные.[065] The functions of the various elements shown in the drawings, including any functional unit designated as a "processor", may be implemented using dedicated hardware as well as using hardware capable of executing associated software. If a processor is used, these functions may be performed by a single dedicated processor, a single shared processor, or a plurality of separate processors, some of which may be shared. Furthermore, the explicit use of the term "processor" or "controller" shall not be construed as referring exclusively to hardware capable of executing software, and may include, but are not limited to, a digital signal processor (DSP), a network processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a read-only memory (ROM) for storing software, a random access memory (RAM), and/or a non-volatile memory. Other general-purpose and/or custom hardware may also be included.

[066] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.[066] Software modules or simply modules, the implementation of which is intended to be in the form of software, may be represented here as any combination of flow chart elements or other elements indicating the execution of process steps and/or containing a text description. Such modules may be executed by hardware, shown explicitly or implied.

[067] Далее с учетом вышеизложенных принципов рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.[067] Next, taking into account the above principles, some non-limiting examples are considered, illustrating various options for implementing aspects of this technology.

Компьютерная системаComputer system

[068] На фиг. 1 представлена схема компьютерной системы 100, пригодной для использования с некоторыми вариантами осуществления настоящей технологии. Компьютерная система 100 содержит различные элементы аппаратных средств, включая один или несколько одноядерных или многоядерных процессоров, обобщенно представленных процессором 110, твердотельный накопитель 120 и память 130, которая может представлять собой ОЗУ или память любого другого вида.[068] Fig. 1 is a diagram of a computer system 100 suitable for use with some embodiments of the present technology. The computer system 100 includes various hardware elements, including one or more single-core or multi-core processors, generally represented by a processor 110, a solid-state drive 120, and memory 130, which may be RAM or any other type of memory.

[069] Связь между элементами компьютерной системы 100 может осуществляться через одну или несколько внутренних и/или внешних шин (не показаны), таких как шина PCI, шина USB, шина FireWire стандарта IEEE 1394, шина SCSI, шина Serial-ATA и т.д., с которыми различные аппаратные элементы соединены электронными средствами. Согласно вариантам осуществления настоящей технологии, твердотельный накопитель 120 хранит программные команды, пригодные для загрузки в память 130 и исполнения процессором 110 для определения наличия объекта. Например, программные команды могут входить в состав управляющего приложения транспортного средства, выполняемого процессором 110. Следует отметить, что компьютерная система 100 может содержать дополнительные и/или не обязательные элементы (не показаны), такие как модули передачи данных по сети, модули определения местоположения и т.д.[069] Communication between elements of computer system 100 may be accomplished via one or more internal and/or external buses (not shown), such as a PCI bus, a USB bus, an IEEE 1394 FireWire bus, a SCSI bus, a Serial-ATA bus, etc., to which various hardware elements are electronically connected. According to embodiments of the present technology, solid-state drive 120 stores software instructions suitable for loading into memory 130 and executing by processor 110 to determine the presence of an object. For example, software instructions may be part of a vehicle control application executed by processor 110. It should be noted that computer system 100 may include additional and/or optional elements (not shown), such as network data communication modules, location determination modules, etc.

Сетевая вычислительная средаNetwork computing environment

[070] На фиг. 2 представлена сетевая вычислительная среда 200, пригодная для использования с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии. Сетевая вычислительная среда 200 содержит электронное устройство 210, связанное с транспортным средством 220 и/или с пользователем (не показан), связанным с транспортным средством 220 (таким как оператор транспортного средства 220). Сетевая вычислительная среда 200 также содержит сервер 235, связанный с электронным устройством 210 через сеть 240 связи (такую как сеть Интернет и т.п., как более подробно описано ниже).[070] Fig. 2 illustrates a network computing environment 200 suitable for use with certain non-limiting embodiments of the present technology. The network computing environment 200 includes an electronic device 210 in communication with a vehicle 220 and/or with a user (not shown) in communication with the vehicle 220 (such as an operator of the vehicle 220). The network computing environment 200 also includes a server 235 in communication with the electronic device 210 via a communications network 240 (such as the Internet, etc., as described in more detail below).

[071] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сетевая вычислительная среда 200 может содержать спутник системы GPS (не показан), передающий сигнал GPS электронному устройству 210 или и/или принимающий сигнал GPS от него. Должно быть понятно, что настоящая технология не ограничивается системой GPS и может использовать технологию определения местоположения, отличную от системы GPS. Следует отметить, что спутник GPS может вовсе отсутствовать.[071] In some non-limiting embodiments of the present technology, the network computing environment 200 may comprise a GPS satellite (not shown) that transmits a GPS signal to the electronic device 210 or/and receives a GPS signal from it. It should be understood that the present technology is not limited to the GPS system and may use a positioning technology other than the GPS system. It should be noted that a GPS satellite may be completely absent.

[072] Транспортное средство 220, с которым связано электронное устройство 210, может представлять собой любое транспортное средство для отдыха или иной деятельности, такое как легковой автомобиль индивидуального или коммерческого использования, грузовой автомобиль, мотоцикл и т.п. Несмотря на то, что транспортное средство 220 изображено в виде наземного транспортного средства, это не обязательно для всех не имеющих ограничительного характера вариантов осуществления настоящей технологии. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии транспортное средство 220 может представлять собой водное транспортное средство, такое как лодка, или воздушное транспортное средство, такое как беспилотный летательный аппарат.[072] The vehicle 220 to which the electronic device 210 is associated may be any recreational or other activity vehicle, such as a personal or commercial automobile, a truck, a motorcycle, and the like. Although the vehicle 220 is depicted as a land vehicle, this is not necessarily the case for all non-limiting embodiments of the present technology. For example, in some non-limiting embodiments of the present technology, the vehicle 220 may be a watercraft, such as a boat, or an aircraft, such as an unmanned aerial vehicle.

[073] Транспортное средство 220 может управляться пользователем или представлять собой самоуправляемое транспортное средство. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии предполагается, что транспортное средство 220 может быть реализовано в виде автомобиля SDC. Следует отметить, что не накладывается ограничений на конкретные параметры транспортного средства 220, такие как производитель транспортного средства, модель транспортного средства, год выпуска транспортного средства, масса транспортного средства, размеры транспортного средства, распределение массы транспортного средства, площадь поверхности транспортного средства, высота транспортного средства, вид трансмиссии (например, привод на два или на четыре колеса), вид шин, тормозная система, топливная система, пробег, идентификационный номер транспортного средства, рабочий объем двигателя и т.д.[073] The vehicle 220 may be controlled by a user or may be a self-driving vehicle. In some non-limiting embodiments of the present technology, it is contemplated that the vehicle 220 may be implemented as an SDC car. It should be noted that there is no limitation on the specific parameters of the vehicle 220, such as the manufacturer of the vehicle, the model of the vehicle, the year of manufacture of the vehicle, the mass of the vehicle, the dimensions of the vehicle, the distribution of the mass of the vehicle, the surface area of the vehicle, the height of the vehicle, the type of transmission (e.g., two-wheel drive or four-wheel drive), the type of tires, the braking system, the fuel system, the mileage, the identification number of the vehicle, the engine displacement, etc.

[074] В других вариантах осуществления настоящей технологии транспортное средство 220 может быть реализовано в виде робота-доставщика, способного выполнять доставку. В отличие от автомобилей SDC, эксплуатируемых на дороге, роботы-доставщики обычно эксплуатируются на тротуарах или в других частях географической области, где могут ходить люди. По сравнению с автомобилем SDC, они имеют небольшой размер и могут осуществлять навигацию в окружающей среде для доставки предметов от отправителя к получателю.[074] In other embodiments of the present technology, the vehicle 220 may be implemented as a delivery robot capable of making deliveries. Unlike SDC vehicles that operate on the road, delivery robots are typically operated on sidewalks or other parts of a geographic area where people may walk. Compared to an SDC vehicle, they are small in size and can navigate through an environment to deliver items from a sender to a recipient.

[075] Согласно настоящей технологии, на реализацию электронного устройства 210 не накладывается особых ограничений. Например, электронное устройство 210 может быть реализовано в виде блока управления двигателем транспортного средства, центрального процессора транспортного средства, навигатора (например, TomTom™, Garmin™), планшета, персонального компьютера, встроенного в транспортное средство 220, и т.п. Следует отметить, что электронное устройство 210 может быть связано или не связано с транспортным средством 220 постоянным образом. Дополнительно или в качестве альтернативы, электронное устройство 210 может быть реализовано в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон или радиотелефон). В некоторых вариантах осуществления изобретения электронное устройство 210 содержит дисплей 270.[075] According to the present technology, there are no particular limitations on the implementation of the electronic device 210. For example, the electronic device 210 can be implemented as an engine control unit of a vehicle, a central processor of a vehicle, a navigator (e.g., TomTom™, Garmin™), a tablet, a personal computer built into the vehicle 220, etc. It should be noted that the electronic device 210 may or may not be permanently connected to the vehicle 220. Additionally or alternatively, the electronic device 210 can be implemented in a wireless communication device, such as a mobile phone (e.g., a smartphone or a radiotelephone). In some embodiments of the invention, the electronic device 210 comprises a display 270.

[076] В зависимости от конкретного варианта осуществления изобретения, электронное устройство 210 может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1. В некоторых вариантах осуществления изобретения электронное устройство 210 представляет собой бортовое компьютерное устройство и содержит процессор 110, твердотельный накопитель 120 и память 130. Иными словами, электронное устройство 210 содержит аппаратные средства и/или прикладное программное обеспечение и/или встроенное программное обеспечение либо их сочетание для обработки данных, как более подробно описано ниже.[076] Depending on the particular embodiment of the invention, the electronic device 210 may include some or all of the elements of the computer system 100 shown in Fig. 1. In some embodiments of the invention, the electronic device 210 is an on-board computer device and includes a processor 110, a solid-state drive 120, and a memory 130. In other words, the electronic device 210 includes hardware and/or application software and/or firmware, or a combination thereof, for processing data, as described in more detail below.

[077] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 240 связи представляет собой сеть Интернет. В альтернативных не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 240 связи может быть реализована в виде любой подходящей локальной сети (LAN, Local Area Network), глобальной сети (WAN, Wide Area Network), частной сети связи и т.п. Очевидно, что варианты реализации сети 240 связи приведены лишь в иллюстративных целях. Реализация линии связи (отдельно не обозначена) между электронным устройством 210 и сетью 240 связи зависит, среди прочего, от реализации электронного устройства 210. В качестве примера, не имеющего ограничительного характера, в тех не имеющих ограничительного характера вариантах осуществления настоящей технологии, где электронное устройство 210 реализовано в виде устройства беспроводной связи, такого как смартфон или навигационное устройство, линия связи может быть реализована в виде беспроводной линии связи. В качестве примеров беспроводных линий связи можно привести канал сети связи 3G, канал сети связи 4G и т.п. В сети 240 связи также может использоваться беспроводное соединение с сервером 235.[077] In some non-limiting embodiments of the present technology, the communication network 240 is the Internet. In alternative non-limiting embodiments of the present technology, the communication network 240 may be implemented as any suitable local area network (LAN), wide area network (WAN), private communication network, etc. It will be appreciated that the embodiments of the communication network 240 are provided for illustrative purposes only. The implementation of the communication link (not specifically indicated) between the electronic device 210 and the communication network 240 depends, among other things, on the implementation of the electronic device 210. As a non-limiting example, in those non-limiting embodiments of the present technology where the electronic device 210 is implemented as a wireless communication device, such as a smartphone or a navigation device, the communication link may be implemented as a wireless communication link. Examples of wireless communication links include a 3G communication network channel, a 4G communication network channel, etc. The communication network 240 may also use a wireless connection to the server 235.

[078] В некоторых вариантах осуществления настоящей технологии сервер 235 реализован в виде компьютерного сервера и может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1. В одном не имеющем ограничительного характера примере сервер 235 реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™, но он также может быть реализован с использованием любых других подходящих аппаратных средств, прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 235 представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 235 могут быть распределены между несколькими серверами (не показаны).[078] In some embodiments of the present technology, the server 235 is implemented as a computer server and may include some or all of the elements of the computer system 100 shown in Fig. 1. In one non-limiting example, the server 235 is implemented as a Dell™ PowerEdge™ server running a Microsoft™ Windows Server™ operating system, but it may also be implemented using any other suitable hardware, application software, and/or firmware, or a combination thereof. In the illustrated non-limiting embodiments of the present technology, the server 235 is a single server. In other non-limiting embodiments of the present technology, the functions of the server 235 may be distributed among multiple servers (not shown).

[079] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 электронного устройства 210 может быть связан с сервером 235 для получения одного или нескольких обновлений. Такие обновления могут содержать обновления программного обеспечения, обновления карт, обновления маршрутов, обновления погодных данных и т.п. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 также может отправлять серверу 235 некоторые рабочие данные, такие как пройденные маршруты, данные о дорожном движении, рабочие характеристики и т.п. Некоторые или все такие данные, передаваемые между транспортным средством 220 и сервером 235, могут быть зашифрованы и/или обезличены.[079] In some non-limiting embodiments of the present technology, the processor 110 of the electronic device 210 may be connected to the server 235 to receive one or more updates. Such updates may include software updates, map updates, route updates, weather data updates, and the like. In some non-limiting embodiments of the present technology, the processor 110 may also send some operational data to the server 235, such as routes traveled, traffic data, performance characteristics, and the like. Some or all of such data transmitted between the vehicle 220 and the server 235 may be encrypted and/or anonymized.

[080] Следует отметить, что сервер 235 может быть связан с устройством 400 хранения данных. В устройстве 400 хранения данных могут храниться разнообразные данные для использования сервером 235 и/или электронным устройством 210. В некоторых вариантах осуществления изобретения в устройстве хранения данных может быть размещена одна или несколько баз данных. В общем случае база данных представляет собой структурированную коллекцию данных и доступна с помощью электронных средств. Небольшие базы данных могут храниться в файловой системе, а большие базы данных размещаются в компьютерных кластерах или в облачном хранилище данных. Структура баз данных зависит от различных технологий и практических соображений, включая моделирование данных, эффективное представление и хранение данных, языки запросов, безопасность и защита конфиденциальных данных, а также проблемы распределенных вычислений, включая одновременный доступ и отказоустойчивость. По меньшей мере некоторые не имеющие ограничительного характера примеры данных, хранящихся в устройстве 400 хранения данных, описаны ниже со ссылкой на фиг. 4.[080] It should be noted that the server 235 can be connected to the data storage device 400. The data storage device 400 can store various data for use by the server 235 and/or the electronic device 210. In some embodiments of the invention, one or more databases can be located in the data storage device. In general, a database is a structured collection of data and is accessible by electronic means. Small databases can be stored in a file system, and large databases are located in computer clusters or in a cloud data warehouse. The structure of the databases depends on various technologies and practical considerations, including data modeling, efficient representation and storage of data, query languages, security and protection of confidential data, as well as distributed computing issues, including concurrent access and fault tolerance. At least some non-limiting examples of data stored in the data storage device 400 are described below with reference to Fig. 4.

[081] В других вариантах осуществления настоящей технологии сервер 235 может выполнять один или несколько алгоритмов машинного обучения (MLA, Machine Learned Algorithm). В общем случае алгоритмы MLA способны обучаться на обучающих образцах и обеспечивать прогнозирование на основе новых (неизвестных) данных. Алгоритмы MLA обычно используются для первоначального построения модели на основе обучающих входных данных, чтобы затем осуществлять прогнозы или принимать решения на основе данных, выраженные в виде выходных данных, а не выполнять статические машиночитаемые команды.[081] In other embodiments of the present technology, the server 235 may execute one or more Machine Learned Algorithms (MLA). In general, MLA algorithms are capable of learning from training samples and providing predictions based on new (unknown) data. MLA algorithms are typically used to initially build a model based on training input data, and then make predictions or decisions based on the data, expressed as output data, rather than executing static machine-readable commands.

[082] Алгоритмы MLA обычно используются в качестве моделей оценивания, моделей классификации, моделей регрессии, моделей сегментации и т.п. Должно быть понятно, что для различных задач могут использоваться алгоритмы MLA различных видов с различными структурами или топологиями. Используемые при обучении данные могут сохраняться и быть доступными в устройстве 400 хранения данных, а также могут дополнительно обрабатываться для формирования обучающих образцов.[082] MLA algorithms are typically used as evaluation models, classification models, regression models, segmentation models, etc. It should be understood that different types of MLA algorithms with different structures or topologies can be used for different tasks. The data used in training can be stored and made available in the data storage device 400, and can also be further processed to form training samples.

[083] Алгоритмы MLA одного конкретного вида включают в себя нейронные сети (NN, Neural Network). В общем случае сеть NN состоит из взаимосвязанных групп искусственных нейронов, обрабатывающих информацию с использованием коннекционного подхода к вычислениям. Сети NN используются для моделирования сложных взаимосвязей между входными и выходными данными (без фактической информации об этих взаимосвязях) или для поиска закономерностей в данных. Сети NN сначала адаптируются на этапе обучения, когда они обеспечиваются известным набором входных данных и информацией для адаптации сети NN с целью формирования надлежащих выходных данных (для ситуации, в отношении которой выполняется попытка моделирования). На этом этапе обучения сеть NN адаптируется к изучаемой ситуации и изменяет свою структуру так, чтобы быть способной обеспечивать адекватное предсказание выходных данных для входных данных в новой ситуации (на основе того, что было выучено). Таким образом, вместо попытки определения сложных статистических распределений или математических алгоритмов для ситуации сеть NN пытается предоставить «интуитивный» ответ на основе «восприятия» ситуации.[083] One particular type of MLA algorithm involves neural networks (NN). In general, an NN consists of interconnected groups of artificial neurons that process information using a connectionist approach to computing. NNs are used to model complex relationships between inputs and outputs (without actual knowledge of these relationships) or to find patterns in data. NNs are first adapted during a training phase, where they are provided with a known set of inputs and information to adapt the NN to produce appropriate outputs (for the situation being attempted to be modeled). During this training phase, the NN adapts to the situation being learned and changes its structure so that it is able to produce adequate predictions of the output for the inputs in the new situation (based on what has been learned). Thus, instead of trying to define complex statistical distributions or mathematical algorithms for a situation, the NN tries to provide an "intuitive" answer based on its "perception" of the situation.

[084] Сети NN широко используются во многих таких ситуациях, где важно получить выходные данные на основе входных данных и менее важно или вовсе не важно то, как получаются выходные данные. Например, сети NN широко используются для оптимизации распределения веб-трафика между серверами, автоматического перевода текста на различные языки, а также при обработке данных, включая фильтрацию, кластеризацию, векторизацию и т.п.[084] NN networks are widely used in many such situations where it is important to obtain output data based on input data and it is less important or not important at all how the output data is obtained. For example, NN networks are widely used to optimize the distribution of web traffic between servers, automatically translate text into different languages, and in data processing, including filtering, clustering, vectorization, etc.

[085] Реализация алгоритма MLA может быть разделена на два основных этапа: этап обучения и этап использования. В общем случае алгоритм MLA сначала «строится» (или обучается) с использованием обучающих данных и обучающих целей. На итерации обучения алгоритм MLA получает на вход обучающие входные данные и формирует соответствующий прогноз. Затем сервер 235, в известном смысле, способен корректировать алгоритм MLA на основе сравнения прогноза с обучающей целью для обучающих входных данных. Например, корректировка может выполняться сервером 235, использующим один или несколько способов машинного обучения, таких как способ обратного распространения и т.п. После большого количества итераций обучения алгоритм MLA корректируется так, чтобы формировать на основе введенных данных прогнозы, близкие к соответствующим обучающим целям.[085] The implementation of the MLA algorithm can be divided into two main stages: a training stage and a usage stage. In general, the MLA algorithm is first "built" (or trained) using training data and training targets. In a training iteration, the MLA algorithm receives the training input data as input and generates a corresponding prediction. The server 235 is then, in a sense, able to adjust the MLA algorithm based on a comparison of the prediction with the training target for the training input data. For example, the adjustment can be performed by the server 235 using one or more machine learning methods, such as back propagation, etc. After a large number of training iterations, the MLA algorithm is adjusted so as to generate predictions based on the input data that are close to the corresponding training targets.

[086] Как показано на фиг. 2, сервер 235 может выполнять модель 650 сегментации и модель 850 прогнозирования. Модель 650 сегментации может представлять собой алгоритм MLA, способный выполнять сегментацию данных изображения. В общем случае сегментация изображения представляет собой процесс разделения цифрового изображения на множество сегментов изображения и может использоваться для определения местоположения объектов и/или границ (линий, кривых и т.д.) на изображениях. В некоторых вариантах осуществления изобретения предполагается, что модель 650 сегментации может, среди прочего, назначать метки для пикселов введенного изображения так, чтобы пикселы с одинаковой меткой имели одинаковую характеристику (или несколько характеристик). В одном примере пикселы, связанные с меткой, могут представлять один и тот же объект на введенном изображении. Также предполагается, что множество алгоритмов может применяться в отношении размеченных пикселов с целью определения контура или границы объекта на введенном изображении.[086] As shown in FIG. 2, server 235 may execute segmentation model 650 and prediction model 850. Segmentation model 650 may be an MLA algorithm capable of segmenting image data. In general, image segmentation is the process of dividing a digital image into a plurality of image segments and may be used to determine the location of objects and/or boundaries (lines, curves, etc.) in images. In some embodiments of the invention, it is contemplated that segmentation model 650 may, among other things, assign labels to pixels of the input image such that pixels with the same label have the same characteristic (or several characteristics). In one example, pixels associated with a label may represent the same object in the input image. It is also contemplated that a plurality of algorithms may be applied to the labeled pixels in order to determine the outline or boundary of an object in the input image.

[087] В некоторых вариантах осуществления настоящей технологии модель 650 сегментации может быть реализована в виде сверточной нейронной сети (CNN, Convolutional Neural Network), обученной для сегментирования изображений. В одном варианте осуществления изобретения сеть CNN может иметь архитектуру U-Net. В общем случае такая сеть CNN состоит из сверточной части и разверточной части, формирующих U-образную архитектуру. Сверточная часть представляет собой сеть CNN, состоящую из повторно применяемых сверток, за каждой из которых следует блок усеченного линейного преобразования (ReLU, Rectifier Linear Unit) и операция пулинга с определением максимума. В ходе сверток количество пространственной информации уменьшается, а количество информации признаков увеличивается. В разверточной части информация признаков и пространственная информация объединяются путем последовательности обратных сверток (up-convolutions) и конкатенаций с признаками высокого разрешения из сверточной части. Архитектура U-Net может предусматривать большое количество каналов признаков в ее части с повышенным разрешением, благодаря которым сеть способна передавать контекстную информацию в слои более высокого разрешения.[087] In some embodiments of the present technology, the segmentation model 650 may be implemented as a convolutional neural network (CNN) trained to segment images. In one embodiment of the invention, the CNN may have a U-Net architecture. In general, such a CNN consists of a convolutional part and a development part that form a U-shaped architecture. The convolutional part is a CNN consisting of repeatedly applied convolutions, each of which is followed by a truncated linear unit (ReLU) and a maximum pooling operation. During the convolutions, the amount of spatial information is reduced and the amount of feature information is increased. In the development part, the feature information and spatial information are combined by a series of up-convolutions and concatenations with high-resolution features from the convolutional part. The U-Net architecture can accommodate a large number of feature channels in its high-resolution portion, allowing the network to pass contextual information to higher-resolution layers.

[088] В некоторых вариантах осуществления изобретения модель 650 сегментации может быть реализована подобно сети CNN, описанной в работе «U-net: Convolutional Networks for Biomedical Image Segmentation» авторов Olaf Ronneberger et al., опубликованной 18 мая 2015 г., содержание которой полностью включено в настоящий документ посредством ссылки.[088] In some embodiments of the invention, the segmentation model 650 may be implemented similar to the CNN network described in the paper “U-net: Convolutional Networks for Biomedical Image Segmentation» by Olaf Ronneberger et al., published May 18, 2015, the contents of which are incorporated herein by reference in their entirety.

[089] Как более подробно описано ниже, модель 650 сегментации может применяться для сегментирования данных изображения об областях карты с целью определения объектов и формирования границ этих объектов в соответствующих областях карты. Предполагается, что эти объекты могут включать в себя участки дороги, доступные дорожным транспортным средствам (например, автомобилям, грузовикам, автобусам и мотоциклам), участки тротуара, доступные пешеходам и относительно небольшим роботизированным транспортным средствам (например, доставочным роботам), участки пути, доступные пешеходам, дорожным транспортным средствам и относительно небольшим роботизированным транспортным средствам, и т.п.[089] As described in more detail below, the segmentation model 650 may be used to segment image data about regions of a map in order to determine objects and to form boundaries of these objects in the corresponding regions of the map. It is contemplated that these objects may include sections of a road accessible to road vehicles (e.g., cars, trucks, buses, and motorcycles), sections of a sidewalk accessible to pedestrians and relatively small robotic vehicles (e.g., delivery robots), sections of a path accessible to pedestrians, road vehicles, and relatively small robotic vehicles, and the like.

[090] Следует отметить, что модель 650 сегментации может применяться на этапе ее использования в областях карты, не оцененных экспертами. Например, картографу может быть поручено отслеживать границы объектов одного или нескольких классов на карте. При этом получение таких оцененных экспертом данных требует значительных затрат времени и средств. Поскольку определение фактических границ объектов на очень большой карте практически невозможно, разработчики настоящей технологии разработали систему, где в оцененных экспертом областях карты используется фактическая информация о границах объектов, а результаты модели 650 сегментации могут использоваться для областей карты, которые не были оценены таким образом.[090] It should be noted that the segmentation model 650 can be applied at the stage of its use in areas of the map that have not been assessed by experts. For example, a cartographer may be tasked with tracking the boundaries of objects of one or more classes on a map. However, obtaining such expert-assessed data requires significant time and money. Since determining the actual boundaries of objects on a very large map is practically impossible, the developers of the present technology have developed a system where actual information about the boundaries of objects is used in expert-assessed areas of the map, and the results of the segmentation model 650 can be used for areas of the map that have not been assessed in this way.

[091] Разработчики настоящей технологии установили, что, несмотря на пользу от использования модели 650 сегментации в не оцененных областях, эта модель 650 не обеспечивает удовлетворительного качества прогнозирования в некоторых из этих не оцененных областей. В этой связи разработчики разработали способы и системы, использующие модель 850 прогнозирования для формирования указания на достоверность информации о границе, сформированной моделью 650 сегментации.[091] The developers of the present technology have determined that, despite the benefit of using the segmentation model 650 in unscored areas, the model 650 does not provide satisfactory prediction quality in some of these unscored areas. In this regard, the developers have developed methods and systems that use the prediction model 850 to generate an indication of the reliability of the boundary information generated by the segmentation model 650.

[092] В общем случае модель 850 прогнозирования может быть обучена прогнозированию для одной или нескольких точек вдоль границы, сформированной моделью 650 сегментации, оценок достоверности, указывающих на то, правильно ли размещены на карте эти точки. В некоторых вариантах осуществления изобретения можно сказать, что оценки достоверности указывают на вероятность правильного размещения этих точек на карте. В других вариантах осуществления изобретения можно сказать, что оценки достоверности указывают на уровень достоверности правильного размещения этих точек на карте. Оцененные области карты могут использоваться для обучения прогнозирования модели 850 прогнозирования на основе фактических данных от экспертов и данных сегментации из модели 650 сегментации. Ниже более подробно описано обучение модели 850 прогнозирования. Следует отметить, что когда модель 850 прогнозирования на этапе ее использования определяет, что одна или несколько точек границы, сформированной моделью 650 сегментации для не оцененной области, возможно, неправильно размещены, то эта не оцененная область может быть помечена для оценивания экспертом. Иными словами, модель 650 сегментации может использоваться для формирования границ многоугольных участков в некоторых не оцененных областях без дополнительного ввода данных экспертом, тогда как в других не оцененных областях выходные данные модели 850 прогнозирования могут указывать на то, что экспертам должно быть поручено определение фактических границ вместо использования лишь результатов работы модели 650 сегментации.[092] In general, the prediction model 850 may be trained to predict, for one or more points along the boundary generated by the segmentation model 650, confidence scores that indicate whether these points are correctly placed on the map. In some embodiments of the invention, the confidence scores may be said to indicate the likelihood of these points being correctly placed on the map. In other embodiments of the invention, the confidence scores may be said to indicate the level of confidence that these points are correctly placed on the map. The estimated areas of the map may be used to train the prediction of the prediction model 850 based on actual data from experts and segmentation data from the segmentation model 650. The training of the prediction model 850 is described in more detail below. It should be noted that when the prediction model 850 determines during its use that one or more points of the boundary generated by the segmentation model 650 for an unestimated area may be incorrectly placed, then this unestimated area may be marked for evaluation by an expert. In other words, the segmentation model 650 may be used to generate polygonal region boundaries in some unscored areas without additional expert input, while in other unscored areas, the output of the prediction model 850 may indicate that experts should be tasked with determining the actual boundaries instead of using only the output of the segmentation model 650.

[093] Следует отметить, что электронное устройство 210 может использовать множество датчиков и систем для сбора информации об окрестности 250 транспортного средства 220 (см. фиг. 2). Как показано, транспортное средство 220 может быть оснащено множеством систем 280 датчиков. Следует отметить, что различные системы датчиков из множества систем 280 датчиков могут использоваться для сбора данных различных видов об окрестности 250 транспортного средства 220.[093] It should be noted that the electronic device 210 may use a plurality of sensors and systems to collect information about the vicinity 250 of the vehicle 220 (see Fig. 2). As shown, the vehicle 220 may be equipped with a plurality of sensor systems 280. It should be noted that different sensor systems from the plurality of sensor systems 280 may be used to collect different types of data about the vicinity 250 of the vehicle 220.

[094] В одном примере множество систем 280 датчиков может содержать различные оптические системы, включая, среди прочего, одну или несколько систем датчиков вида «камера», установленных на транспортном средстве 220 и связанных с процессором 110 электронного устройства 210. В общем случае одна или несколько систем датчиков вида «камера» могут собирать данные изображения о различных частях окрестности 250 транспортного средства 220. В некоторых случаях данные изображения, предоставленные одной или несколькими системами датчиков вида «камера», могут быть использованы электронным устройством 210 для выполнения процедур обнаружения объекта. Например, электронное устройство 210 может вводить данные изображения, предоставленные одной или несколькими системами датчиков вида «камера», в нейронную сеть обнаружения объектов (ODNN, Object Detection Neural Network), обученную определению местоположения и классификации потенциальных объектов в окрестности 250 транспортного средства 220.[094] In one example, the plurality of sensor systems 280 may comprise various optical systems, including, but not limited to, one or more camera-type sensor systems mounted on the vehicle 220 and coupled to the processor 110 of the electronic device 210. In general, the one or more camera-type sensor systems may collect image data about various portions of the vicinity 250 of the vehicle 220. In some cases, the image data provided by the one or more camera-type sensor systems may be used by the electronic device 210 to perform object detection procedures. For example, the electronic device 210 may input the image data provided by the one or more camera-type sensor systems into an Object Detection Neural Network (ODNN) trained to determine the location and classify potential objects in the vicinity 250 of the vehicle 220.

[095] В другом примере множество систем 280 датчиков может содержать одну или несколько систем радиолокационных датчиков, установленных на транспортном средстве 220 и связанных с процессором 110. В общем случае одна или несколько систем радиолокационных датчиков могут использовать радиоволны, чтобы собирать данные изображения для различных частей окрестности 250 транспортного средства 220. Например, одна или несколько систем радиолокационных датчиков могут собирать радиолокационные данные о потенциальных объектах в окрестности 250 транспортного средства 220, при этом такие данные потенциально могут представлять расстояние до объектов от радиолокационной системы датчиков, ориентацию объектов, скорость объектов и т.п.[095] In another example, the plurality of sensor systems 280 may comprise one or more radar sensor systems mounted on the vehicle 220 and coupled to the processor 110. In general, the one or more radar sensor systems may use radio waves to collect image data for various portions of the vicinity 250 of the vehicle 220. For example, the one or more radar sensor systems may collect radar data about potential objects in the vicinity 250 of the vehicle 220, wherein such data may potentially represent the distance of the objects from the radar sensor system, the orientation of the objects, the speed of the objects, etc.

[096] Следует отметить, что множество систем 280 датчиков может содержать системы датчиков других видов в дополнение к неисчерпывающим образом описанным выше без выхода за границы настоящей технологии.[096] It should be noted that the plurality of sensor systems 280 may include sensor systems of other types in addition to those non-exhaustively described above without departing from the scope of the present technology.

[097] В некоторых вариантах осуществления настоящей технологии транспортное средство 220 может быть реализовано в виде доставочного робота. Доставочные роботы или автономные роботы-доставщики представляют собой транспортные средства относительно небольшого размера, используемые для доставки. Например, они могут осуществлять навигацию на тротуарах и приспособлены для преодоления разнообразных препятствий на маршруте до пункта назначения. В качестве преимуществ автономных роботов-доставщиков можно привести сокращение потребности в крупных грузовиках с потенциально большими выбросами вредных веществ при движении в густонаселенных городах и уменьшение количества водителей, требуемых для быстрой доставки пользователям предметов, заказанных в сети Интернет.[097] In some embodiments of the present technology, the vehicle 220 may be implemented as a delivery robot. Delivery robots or autonomous delivery robots are relatively small vehicles used for delivery. For example, they may navigate on sidewalks and are adapted to overcome various obstacles along the route to the destination. Advantages of autonomous delivery robots include a reduction in the need for large trucks with potentially large emissions when driving in densely populated cities and a reduction in the number of drivers required to quickly deliver items ordered online to users.

Лидарная системаLidar system

[098] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, транспортное средство 220 (см. фиг. 2) оснащено по меньшей мере одной лидарной системой, такой как лидарная система 300, для сбора информации об окрестности 250 транспортного средства 220. Несмотря на то, что здесь представлено описание лишь для случая крепления на транспортном средстве 220, также предполагается, что лидарная система 300 может работать автономно или может быть связана с другой системой.[098] According to non-limiting embodiments of the present technology, the vehicle 220 (see FIG. 2) is equipped with at least one lidar system, such as the lidar system 300, for collecting information about the surroundings 250 of the vehicle 220. Although described herein only for the case of being mounted on the vehicle 220, it is also contemplated that the lidar system 300 may operate autonomously or may be linked to another system.

[099] В зависимости от варианта осуществления изобретения, транспортное средство 220 может содержать больше или меньше лидарных систем 300, чем показано. В зависимости от варианта осуществления изобретения, применение конкретных систем из множества систем 280 датчиков может зависеть от варианта осуществления лидарной системы 300. Лидарная система 300 может быть установлена на транспортном средстве 220 изначально или при его модернизации в различных местах и/или в различных конфигурациях.[099] Depending on the embodiment of the invention, the vehicle 220 may include more or fewer lidar systems 300 than shown. Depending on the embodiment of the invention, the use of specific systems of the plurality of sensor systems 280 may depend on the embodiment of the lidar system 300. The lidar system 300 may be installed on the vehicle 220 initially or as a retrofit in various locations and/or in various configurations.

[0100] Например, в зависимости от варианта реализации транспортного средства 220 и лидарной системы 300, лидарная система 300 может быть установлена с внутренней стороны на верхней части ветрового стекла транспортного средства 220. Тем не менее, в пределах объема настоящей технологии возможны и другие места монтажа лидарной системы 300, включая заднее окно, боковые окна, передний капот, крышу, переднюю решетку, передний бампер или боковую поверхность транспортного средства 220 (см. фиг. 2). В некоторых случаях лидарная система 300 может быть установлена в специальном кожухе, установленном сверху транспортного средства 220.[0100] For example, depending on the embodiment of the vehicle 220 and the lidar system 300, the lidar system 300 may be mounted on the inside of the upper portion of the windshield of the vehicle 220. However, other mounting locations for the lidar system 300 are also possible within the scope of the present technology, including the rear window, side windows, front hood, roof, front grille, front bumper, or side surface of the vehicle 220 (see Fig. 2). In some cases, the lidar system 300 may be mounted in a special housing mounted on top of the vehicle 220.

[0101] В некоторых не имеющих ограничительного характера вариантах осуществления изобретения система из множества лидарных систем 300 установлена на крыше транспортного средства 220 в поворотной конфигурации (см. фиг. 2). Например, лидарная система 300, установленная на транспортном средстве 220 с возможностью вращения, может содержать меньшей мере некоторые элементы, способные поворачиваться на 360 градусов вокруг оси вращения лидарной системы 300. В случае установки в поворотной конфигурации лидарная система 300 может собирать данные о большинстве частей окрестности 250 транспортного средства 220.[0101] In some non-limiting embodiments of the invention, the system of multiple lidar systems 300 is mounted on the roof of the vehicle 220 in a rotatable configuration (see Fig. 2). For example, the lidar system 300 mounted on the vehicle 220 with the ability to rotate may include at least some elements that are capable of rotating 360 degrees about the axis of rotation of the lidar system 300. When mounted in a rotatable configuration, the lidar system 300 can collect data about most parts of the vicinity 250 of the vehicle 220.

[0102] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии лидарная система 300 установлена, например, на боковой поверхности или на передней решетке, в неповоротной конфигурации (см. фиг. 2). В частности, лидарная система 300, установленная на транспортном средстве 220 без возможности вращения, может содержать меньшей мере некоторые элементы, которые не поворачиваются на 360 градусов, но обеспечивают сбор данных о заранее заданных частях окрестности 250 транспортного средства 220.[0102] In some non-limiting embodiments of the present technology, the lidar system 300 is mounted, for example, on a side surface or on a front grille, in a non-rotatable configuration (see Fig. 2). In particular, the lidar system 300 mounted on the vehicle 220 without the possibility of rotation may include at least some elements that do not rotate 360 degrees, but provide for collecting data about predetermined portions of the vicinity 250 of the vehicle 220.

[0103] Независимо от конкретного местоположения и/или конкретной конфигурации, лидарная система 300 способна фиксировать данные об окрестности 250 транспортного средства 220, используемые, например, для построения многомерной карты объектов в окрестности 250 транспортного средства 220. Ниже подробно описана конфигурация лидарных систем 300 для фиксации данных об окрестности 250 транспортного средства 220.[0103] Regardless of the specific location and/or specific configuration, the lidar system 300 is capable of capturing data about the vicinity 250 of the vehicle 220, used, for example, to construct a multidimensional map of objects in the vicinity 250 of the vehicle 220. The configuration of the lidar systems 300 for capturing data about the vicinity 250 of the vehicle 220 is described in detail below.

[0104] Следует отметить, что несмотря на то, что в представленном здесь описании лидарная система 300 реализована в виде времяпролетной (Time of Flight) лидарной системы и, следовательно, содержит соответствующие элементы, подходящие для ее реализации, также возможны и другие варианты реализации лидарной системы 300 без выхода за границы настоящей технологии. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии лидарная система 300 также может быть реализована в виде лидарной системы непрерывного излучения с частотной модуляцией (FMCW, Frequency-Modulated Continuous Wave) согласно одному или нескольким вариантам реализации и основываться на соответствующих элементах, как описано в патентной заявке RU2020117983 «Способы и системы обнаружения лидаров», поданной 01 июня 2020 г., содержание которой полностью включено в настоящий документ посредством ссылки.[0104] It should be noted that, although the lidar system 300 described herein is implemented as a Time of Flight lidar system and therefore contains the corresponding elements suitable for its implementation, other embodiments of the lidar system 300 are also possible without going beyond the scope of the present technology. For example, in some non-limiting embodiments of the present technology, the lidar system 300 can also be implemented as a Frequency-Modulated Continuous Wave (FMCW) lidar system according to one or more embodiments and be based on the corresponding elements as described in patent application RU2020117983 “Methods and Systems for Detecting Lidars”, filed on June 01, 2020, the contents of which are fully incorporated herein by reference.

[0105] На фиг. 3 представлена схема одного конкретного варианта осуществления лидарной системы 300, реализованного согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[0105] Fig. 3 is a diagram of one specific embodiment of a lidar system 300 implemented in accordance with certain non-limiting embodiments of the present technology.

[0106] В общем случае лидарная система 300 содержит множество внутренних элементов, в числе прочего, таких как (а) источник 302 света (также называется лазером или источником излучения), (б) светоделительный элемент 304, (в) сканирующий блок 308 (также называется сканером или блоком сканера), (г) блок 306 обнаружения (также называется системой обнаружения, блоком приема или детектором) и (д) контроллер 310. Предполагается, что в дополнение к элементам представленного выше открытого перечня, лидарная система 300 может содержать множество датчиков (таких как датчик температуры, датчик влаги и т.д.), которые опущены на фиг. 3 для упрощения.[0106] In general, the lidar system 300 includes a plurality of internal elements, including, but not limited to, (a) a light source 302 (also called a laser or a radiation source), (b) a beam splitter 304, (c) a scanning unit 308 (also called a scanner or a scanner unit), (d) a detection unit 306 (also called a detection system, a receiving unit, or a detector), and (e) a controller 310. It is contemplated that, in addition to the elements of the above open list, the lidar system 300 may include a plurality of sensors (such as a temperature sensor, a moisture sensor, etc.), which are omitted from Fig. 3 for simplicity.

[0107] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии один или несколько внутренних элементов лидарной системы 300 размещены в общем корпусе 330, как показано на фиг. 3. В некоторых вариантах осуществления настоящей технологии контроллер 310 может быть размещен вне общего корпуса 330 и связан с расположенными внутри него элементами. Как описано ниже, в корпусе 330 со стороны окрестности транспортного средства 220 предусмотрено окно 380, через которое лучи света могут выходить из корпуса 330 и проникать в корпус 330.[0107] In some non-limiting embodiments of the present technology, one or more internal elements of the lidar system 300 are located in a common housing 330, as shown in Fig. 3. In some embodiments of the present technology, the controller 310 may be located outside the common housing 330 and communicate with the elements located inside it. As described below, a window 380 is provided in the housing 330 on the side of the vicinity of the vehicle 220, through which light rays can exit the housing 330 and enter the housing 330.

[0108] В общем случае лидарная система 300 работает следующим образом: источник света 302 лидарной системы 300 излучает световые импульсы, образующие выходной луч 314, сканирующий блок 308 сканирует выходным лучом 314 через окно 380 окрестность 250 транспортного средства 220 с целью определения местоположения или фиксации данных о заранее неизвестных объектах (таких как объект 320), например, для формирования многомерной карты окрестности 250, на которой объекты (включая объект 320) представлены в виде одной или нескольких точек данных. Ниже более подробно описаны источник 302 света и сканирующий блок 308.[0108] In general, the lidar system 300 operates as follows: the light source 302 of the lidar system 300 emits light pulses that form an output beam 314, the scanning unit 308 scans the output beam 314 through the window 380 the vicinity 250 of the vehicle 220 in order to determine the location or record data about previously unknown objects (such as the object 320), for example, to form a multidimensional map of the vicinity 250, in which the objects (including the object 320) are represented in the form of one or more data points. The light source 302 and the scanning unit 308 are described in more detail below.

[0109] В некоторых не имеющих ограничительного характера примерах объект 320 может включать в себя полностью или частично человека, транспортное средство, мотоцикл, грузовой автомобиль, поезд, велосипед, инвалидную коляску, детскую коляску, пешехода, животное, дорожный знак, светофор, разделительную линию, дорожную разметку, парковочное место, пилон, ограждение, дорожный барьер, выбоину, железнодорожный переезд, препятствие на дороге или рядом с ней, бордюр, остановившееся на дороге или рядом с ней транспортное средство, столб, дом, здание, мусорный бак, почтовый ящик, дерево, любой другой подходящий объект или любое подходящее сочетание двух или более объектов либо их частей.[0109] In some non-limiting examples, object 320 may include, in whole or in part, a person, a vehicle, a motorcycle, a truck, a train, a bicycle, a wheelchair, a baby carriage, a pedestrian, an animal, a road sign, a traffic light, a median line, a road marking, a parking space, a pylon, a guardrail, a road barrier, a pothole, a railroad crossing, an obstruction on or near a road, a curb, a vehicle stopped on or near a road, a pole, a house, a building, a trash can, a mailbox, a tree, any other suitable object, or any suitable combination of two or more objects or parts thereof.

[0110] Кроме того, можно предположить, что объект 320 расположен на расстоянии 318 от лидарной системы 300. Когда выходной луч 314 достигает объекта 320, объект 320 обычно отражает по меньшей мере часть света из выходного луча 314 и некоторые из отраженных световых лучей могут вернуться в лидарную систему 300, где принимаются в виде входного луча 316. Под отражением подразумевается, что по меньшей мере часть светового луча из выходного луча 314 отражается от объекта 320. Часть светового луча из выходного луча 314 может быть поглощена или рассеяна объектом 320.[0110] In addition, it can be assumed that the object 320 is located at a distance 318 from the lidar system 300. When the output beam 314 reaches the object 320, the object 320 typically reflects at least a portion of the light from the output beam 314 and some of the reflected light rays may return to the lidar system 300, where they are received as an input beam 316. By reflection is meant that at least a portion of the light beam from the output beam 314 is reflected from the object 320. A portion of the light beam from the output beam 314 may be absorbed or scattered by the object 320.

[0111] Входной луч 316 фиксируется и обнаруживается лидарной системой 300 с использованием блока 306 обнаружения. При этом блок 306 обнаружении способен формировать один или несколько репрезентативных сигналов данных. Например, блок 306 обнаружении может формировать выходной электрический сигнал (не показан), представляющий входной луч 316. Блок 306 обнаружения также может выдавать сформированный таким образом электрический сигнал в контроллер 310 для дальнейшей обработки. Контроллер 310 рассчитывает расстояние 318 до объекта 320 путем измерения времени между излучением выходного луча 314 и приемом входного луча 316.[0111] The input beam 316 is detected and detected by the lidar system 300 using the detection unit 306. In this case, the detection unit 306 is capable of generating one or more representative data signals. For example, the detection unit 306 can generate an output electrical signal (not shown) representing the input beam 316. The detection unit 306 can also output the electrical signal generated in this way to the controller 310 for further processing. The controller 310 calculates the distance 318 to the object 320 by measuring the time between the emission of the output beam 314 and the reception of the input beam 316.

[0112] Как более подробно описано ниже, светоделительный элемент 304 используется для направления выходного луча 314 из источника 302 света в сканирующий блок 308 и для направления входного луча 316 из сканирующего блока в блок 306 обнаружения.[0112] As described in more detail below, beam splitter 304 is used to direct output beam 314 from light source 302 to scanning unit 308 and to direct input beam 316 from scanning unit to detection unit 306.

[0113] Ниже описаны использование и реализация этих элементов лидарной системы 300 согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[0113] The use and implementation of these elements of the lidar system 300 according to some non-limiting embodiments of the present technology are described below.

Источник светаLight source

[0114] Источник 302 света связан с контроллером 310 и способен излучать свет с определенной рабочей длиной волны. С этой целью в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии источник 302 света может содержать по меньшей мере один лазер, заранее настроенный для работы с определенной рабочей длиной волны. Рабочая длина волны источника 302 света может соответствовать инфракрасной, видимой и/или ультрафиолетовой частям электромагнитного спектра. Например, источник 302 света может содержать по меньшей мере один лазер с рабочей длиной волны в диапазоне приблизительно 650-1150 нм. В качестве альтернативы, источник 302 света может содержать лазерный диод, способный излучать свет с длиной волны в диапазонах приблизительно 800-1000 нм, приблизительно 850-950 нм или приблизительно 1300-1600 нм. В некоторых других вариантах осуществления изобретения источник 302 света может содержать светодиод. [ 0114] The light source 302 is connected to the controller 310 and is capable of emitting light with a certain operating wavelength. For this purpose, in some non-limiting embodiments of the present technology, the light source 302 may comprise at least one laser preset to operate with a certain operating wavelength. The operating wavelength of the light source 302 may correspond to the infrared, visible and/or ultraviolet parts of the electromagnetic spectrum. For example, the light source 302 may comprise at least one laser with an operating wavelength in the range of approximately 650-1150 nm. Alternatively, the light source 302 may comprise a laser diode capable of emitting light with a wavelength in the ranges of approximately 800-1000 nm, approximately 850-950 nm or approximately 1300-1600 nm. In some other embodiments of the invention, the light source 302 may comprise a light-emitting diode.

[0115] Источник 302 света лидарной системы 300 обычно представляет собой безопасный для зрения лазер или, иными словами, лидарная система 300 может быть классифицирована как безопасная для зрения лазерная система или лазерное изделие. В общем случае безопасный для зрения лазер, лазерная система или лазерное изделие может представлять собой систему, в которой некоторые или все параметры из числа длины волны излучения, средней мощности, пиковой мощности, пиковой интенсивности, энергии импульса, размера луча, расходимости луча, продолжительности воздействия или траектории выходного луча таковы, что риск повреждения глаз человека излученным из этой системы светом незначителен или полностью отсутствует.[0115] The light source 302 of the lidar system 300 is typically an eye-safe laser, or in other words, the lidar system 300 can be classified as an eye-safe laser system or a laser product. In general, an eye-safe laser, laser system, or laser product can be a system in which some or all of the parameters of the emission wavelength, average power, peak power, peak intensity, pulse energy, beam size, beam divergence, exposure duration, or output beam trajectory are such that the risk of damage to human eyes from the light emitted from this system is insignificant or completely absent.

[0116] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, рабочая длина волны источника 302 света может находиться в пределах частей электромагнитного спектра, соответствующих солнечному свету. Поэтому в некоторых случаях солнечный свет может представлять собой фоновый шум, способный заглушать световой сигнал, обнаруживаемый лидарной системой 300. Этот солнечный фоновый шум может приводить к ложноположительным обнаружениям и/или может иным образом искажать результаты измерений лидарной системы 300. Несмотря на то, что в некоторых случаях возможно увеличение отношения сигнал-шум (SNR, Signal-to-Noise Ratio) лидарной системы 300 путем повышения уровня мощности выходного луча 314, это может быть нежелательным в по меньшей мере некоторых ситуациях. Например, в некоторых вариантах реализации изобретения может быть нежелательно повышать мощность выходного луча 314 до уровней, превышающих безопасные для глаз пороги.[0116] According to some non-limiting embodiments of the present technology, the operating wavelength of the light source 302 may be within portions of the electromagnetic spectrum corresponding to sunlight. Therefore, in some cases, sunlight may represent background noise that may drown out the light signal detected by the lidar system 300. This solar background noise may lead to false positive detections and/or may otherwise distort the measurements of the lidar system 300. Although it is possible in some cases to increase the signal-to-noise ratio (SNR) of the lidar system 300 by increasing the power level of the output beam 314, this may be undesirable in at least some situations. For example, in some embodiments of the invention, it may be undesirable to increase the power of the output beam 314 to levels exceeding eye-safe thresholds.

[0117] Источник 302 света содержит импульсный лазер, способный формировать и излучать световые импульсы определенной длительности. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии источник 302 света может излучать импульсы с длительностью импульса (с шириной импульса) от 10 пс до 100 нс. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии источник 302 света может излучать импульсы с частотой повторения импульсов приблизительно от 100 кГц до 5 МГц или с периодом импульсов (со временем между следующими друг за другом импульсами) приблизительно от 200 нс до 10 мкс. В общем случае источник 302 света может формировать выходной луч 314 с любой подходящей средней оптической мощностью. Кроме того, выходной луч 314 может содержать оптические импульсы с любой подходящей для данного варианта применения энергией импульса или пиковой оптической мощностью.[0117] The light source 302 comprises a pulsed laser capable of generating and emitting light pulses of a certain duration. For example, in some non-limiting embodiments of the present technology, the light source 302 can emit pulses with a pulse duration (pulse width) from 10 ps to 100 ns. In other non-limiting embodiments of the present technology, the light source 302 can emit pulses with a pulse repetition rate of approximately 100 kHz to 5 MHz or with a pulse period (time between successive pulses) from approximately 200 ns to 10 μs. In general, the light source 302 can generate an output beam 314 with any suitable average optical power. In addition, the output beam 314 can comprise optical pulses with any pulse energy or peak optical power suitable for a given application.

[0118] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии источник 302 света может содержать один или несколько лазерных диодов, включая, в числе прочего, лазерный диод Фабри-Перо, лазер на квантовой яме, лазер с отражателем DBR, лазер с обратной связью DFB или лазер VCSEL. Например, лазерный диод, работающий в источнике 302 света, может представлять собой лазерный диод на арсениде алюминия-галлия (AlGaAs), лазерный диод на арсениде галлия-индия (InGaAs), лазерный диод на арсениде-фосфиде галлия-индия (InGaAsP) или любой другой подходящий лазерный диод. Также предполагается, что источник 302 света может содержать один или несколько лазерных диодов с модуляцией током для формирования оптических импульсов.[0118] In some non-limiting embodiments of the present technology, the light source 302 may comprise one or more laser diodes, including, but not limited to, a Fabry-Perot laser diode, a quantum well laser, a DBR reflector laser, a DFB feedback laser, or a VCSEL laser. For example, the laser diode operating in the light source 302 may be an aluminum gallium arsenide (AlGaAs) laser diode, an indium gallium arsenide (InGaAs) laser diode, an indium gallium arsenide phosphide (InGaAsP) laser diode, or any other suitable laser diode. It is also contemplated that the light source 302 may comprise one or more current-modulated laser diodes for generating optical pulses.

[0119] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии источник 302 света в целом способен излучать коллимированный выходной луч 314. Тем не менее, предполагается, что формируемый луч может иметь любую подходящую для данного варианта применения расходимость луча. В общем случае расходимость выходного луча 314 представляет собой угловую меру увеличения размера поперечного сечения луча (например, радиуса или диаметра луча) по мере удаления выходного луча 314 от источника 302 света или от лидарной системы 300. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии выходной луч 314 может иметь по существу круглое поперечное сечение.[0119] In some non-limiting embodiments of the present technology, the light source 302 is generally capable of emitting a collimated output beam 314. However, it is contemplated that the generated beam may have any beam divergence suitable for a given application. In general, the divergence of the output beam 314 is an angular measure of the increase in the cross-sectional size of the beam (e.g., the radius or diameter of the beam) as the output beam 314 moves away from the light source 302 or from the lidar system 300. In some non-limiting embodiments of the present technology, the output beam 314 may have a substantially circular cross-section.

[0120] Также предполагается, что выходной луч 314, излученный источником 302 света, может быть неполяризованным или поляризованным случайным образом, может не иметь конкретной или фиксированной поляризации (например, поляризация может изменяться с течением времени) или может иметь конкретную поляризацию (например, выходной луч 314 может иметь линейную поляризацию, эллиптическую поляризацию или круговую поляризацию).[0120] It is also contemplated that the output beam 314 emitted by the light source 302 may be unpolarized or randomly polarized, may not have a specific or fixed polarization (e.g., the polarization may change over time), or may have a specific polarization (e.g., the output beam 314 may have linear polarization, elliptical polarization, or circular polarization).

[0121] В по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии выходной луч 314 и входной луч 316 могут быть в основном соосными. Иными словами, выходной луч 314 и входной луч 316 могут по меньшей мере частично перекрываться или иметь общую ось распространения так, чтобы входной луч 316 и выходной луч 314 распространялись вдоль практически одного и того же оптического пути (но в противоположных направлениях). Тем не менее, в других не имеющих ограничительного характера вариантах осуществления настоящей технологии выходной луч 314 и входной луч 316 могут быть несоосными или, иными словами, могут не перекрываться или не иметь общей оси распространения внутри лидарной системы 300 без выхода за границы настоящей технологии.[0121] In at least some non-limiting embodiments of the present technology, the output beam 314 and the input beam 316 may be substantially coaxial. In other words, the output beam 314 and the input beam 316 may at least partially overlap or have a common propagation axis such that the input beam 316 and the output beam 314 propagate along substantially the same optical path (but in opposite directions). However, in other non-limiting embodiments of the present technology, the output beam 314 and the input beam 316 may be non-coaxial or, in other words, may not overlap or have a common propagation axis within the lidar system 300 without departing from the scope of the present technology.

[0122] Следует отметить, что в по меньшей мере некоторых не имеющих ограничительного характера осуществления вариантах настоящей технологии источник 302 света может поворачиваться, например, на 360 градусов или меньше, вокруг оси вращения (не показана) лидарной системы 300, если лидарная система 300 реализована в поворотной конфигурации. В других вариантах осуществления изобретения источник 302 света может быть неподвижным, даже когда лидарная система 300 реализована в поворотной конфигурации, без выхода за границы настоящей технологии.[0122] It should be noted that in at least some non-limiting embodiments of the present technology, the light source 302 may rotate, for example, by 360 degrees or less, about the rotation axis (not shown) of the lidar system 300, if the lidar system 300 is implemented in a rotary configuration. In other embodiments of the invention, the light source 302 may be stationary, even when the lidar system 300 is implemented in a rotary configuration, without departing from the scope of the present technology.

Светоделительный элементBeam splitter element

[0123] На фиг. 3 также представлен светоделительный элемент 304, расположенный в корпусе 330. Например, как описано выше, светоделительный элемент 304 способен направлять выходной луч 314 из источника 302 света в сканирующий блок 308. Светоделительный элемент 304 также способен направлять входной луч 316, отраженный от объекта 320, в блок 306 обнаружения для его дальнейшей обработки контроллером 310. [ 0123] Fig. 3 also shows a beam splitter 304 located in the housing 330. For example, as described above, the beam splitter 304 is capable of directing the output beam 314 from the light source 302 to the scanning unit 308. The beam splitter 304 is also capable of directing the input beam 316 reflected from the object 320 to the detection unit 306 for further processing by the controller 310.

[0124] Тем не менее, согласно другим не имеющим ограничительного характера вариантам осуществления настоящей технологии, светоделительный элемент 304 может разделять выходной луч 314 на по меньшей мере две составляющие меньшей интенсивности, включая сканирующий луч (отдельно не показан), используемый для сканирования окрестности 250 лидарной системы 300, и опорный луч (отдельно не показан), направляемый в блок 306 обнаружения.[0124] However, according to other non-limiting embodiments of the present technology, the beam splitter 304 may split the output beam 314 into at least two lower intensity components, including a scanning beam (not separately shown) used to scan the vicinity 250 of the lidar system 300, and a reference beam (not separately shown) directed to the detection unit 306.

[0125] Иными словами, можно сказать, что в этих вариантах осуществления изобретения светоделительный элемент 304 может разделять интенсивность (оптическую мощность) выходного луча 314 между сканирующим лучом и опорным лучом. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии светоделительный элемент 304 может разделять интенсивность выходного луча 314 между сканирующим лучом и опорным лучом поровну. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии светоделительный элемент 304 может разделять интенсивность выходного луча 314 в любом заранее заданном отношении. Например, светоделительный элемент 304 может использовать до 80% интенсивности выходного луча 314 для формирования сканирующего луча и оставшиеся до 20% интенсивности выходного луча 314 - для формирования опорного луча. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии светоделительный элемент 304 может изменять отношение деления для формирования сканирующего луча (например, от 1% до 95% интенсивности выходного луча 314).[0125] In other words, it can be said that in these embodiments of the invention, the beam splitter 304 can split the intensity (optical power) of the output beam 314 between the scanning beam and the reference beam. In some non-limiting embodiments of the present technology, the beam splitter 304 can split the intensity of the output beam 314 between the scanning beam and the reference beam equally. In other non-limiting embodiments of the present technology, the beam splitter 304 can split the intensity of the output beam 314 in any predetermined ratio. For example, the beam splitter 304 can use up to 80% of the intensity of the output beam 314 to form the scanning beam and the remaining up to 20% of the intensity of the output beam 314 to form the reference beam. In other non-limiting embodiments of the present technology, the beam splitter 304 may vary the split ratio for forming the scanning beam (e.g., from 1% to 95% of the intensity of the output beam 314).

[0126] Также следует отметить, что некоторая часть (например, до 10%) интенсивности выходного луча 314 может поглощаться материалом светоделительного элемента 304, что зависит от его конкретной конструкции.[0126] It should also be noted that some portion (for example, up to 10%) of the intensity of the output beam 314 may be absorbed by the material of the beam splitter element 304, which depends on its specific design.

[0127] В зависимости от варианта реализации лидарной системы 300, светоделительный элемент 304 может быть различного вида, включая, в числе прочего, светоделительный элемент на основе стеклянной призмы, светоделительный элемент на основе полупосеребренного зеркала, светоделительный элемент на основе дихроичной зеркальной призмы, волоконно-оптический светоделительный элемент и т.п.[0127] Depending on the embodiment of the lidar system 300, the beam splitter 304 may be of various types, including, among other things, a glass prism-based beam splitter, a half-silvered mirror-based beam splitter, a dichroic mirror prism-based beam splitter, a fiber optic beam splitter, etc.

[0128] Таким образом, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, открытый перечень настраиваемых параметров, связанных со светоделительным элементом 304 может, например, в зависимости от конкретного варианта его применения, включать в себя диапазон рабочих длин волн, который может изменяться от конечного количества длин волн до более широкого спектра света (например, 1200-1600 нм), угол падения входного луча, наличие или отсутствие поляризации и т.п.[0128] Thus, according to non-limiting embodiments of the present technology, an open list of adjustable parameters associated with the beam splitter element 304 may, for example, depending on the specific embodiment of its application, include a range of operating wavelengths, which can vary from a finite number of wavelengths to a broader spectrum of light (e.g., 1200-1600 nm), an angle of incidence of the input beam, the presence or absence of polarization, etc.

[0129] В конкретном не имеющем ограничительного характера примере светоделительный элемент 304 может быть реализован в виде волоконно-оптического светоделительного элемента, например, поставляемого компанией OZ Optics Ltd. (219 Westbrook Rd Ottawa, Ontario K0A 1L0, Canada (Канада)). Очевидно, что светоделительный элемент 304 может быть реализован в виде любого другого подходящего оборудования.[0129] In a specific non-limiting example, the beam splitter 304 may be implemented as a fiber optic beam splitter, such as that available from OZ Optics Ltd. (219 Westbrook Rd Ottawa, Ontario K0A 1L0, Canada). It is understood that the beam splitter 304 may be implemented as any other suitable equipment.

Внутренние пути лучейInternal Ray Paths

[0130] Как схематически показано на фиг. 3, в лидарной системе 300 предусмотрено множество внутренних путей 312 лучей, вдоль которых распространяются выходной луч 314 (сформированный источником 302 света) и входной луч 316 (полученный из окрестности 250). В частности, свет распространяется вдоль внутренних путей 312 лучей следующим образом: свет из источника 302 света проходит через светоделительный элемент 304 в сканирующий блок 308, который направляет выходной луч 314 наружу в сторону окрестности 250.[0130] As schematically shown in Fig. 3, the lidar system 300 is provided with a plurality of internal ray paths 312 along which the output ray 314 (generated by the light source 302) and the input ray 316 (obtained from the vicinity 250) propagate. In particular, the light propagates along the internal ray paths 312 as follows: the light from the light source 302 passes through the beam splitter 304 into the scanning unit 308, which directs the output ray 314 outward toward the vicinity 250.

[0131] Подобным образом входной луч 316 распространяется вдоль множества внутренних путей 312 лучей в блок 306 обнаружения. В частности, входной луч 316 направляется сканирующим блоком 308 в лидарную систему 300 - через светоделительный элемент 304 в блок 306 обнаружения. В некоторых вариантах осуществления изобретения в лидарной системе 300 могут быть предусмотрены пути лучей, направляющие входной луч 316 из окрестности 250 непосредственно в блок 306 обнаружения (без прохождения входного луча 316 через сканирующий блок 308).[0131] In a similar manner, the input beam 316 propagates along a plurality of internal beam paths 312 into the detection unit 306. In particular, the input beam 316 is directed by the scanning unit 308 into the lidar system 300 - through the beam splitter 304 into the detection unit 306. In some embodiments of the invention, the lidar system 300 may be provided with beam paths that direct the input beam 316 from the vicinity 250 directly into the detection unit 306 (without the input beam 316 passing through the scanning unit 308).

[0132] Следует отметить, что в различных не имеющих ограничительного характера вариантах осуществления настоящей технологии множество внутренних путей 312 луча может содержать разнообразные оптические элементы. Например, лидарная система 300 может содержать один или несколько оптических элементов, способных обрабатывать, придавать форму, фильтровать, модифицировать или направлять выходной луч 314 и/или входной луч 316. Например, лидарная система 300 может содержать один или несколько элементов из числа линз, зеркал, фильтров (например, полосовых или интерференционных фильтров), оптических волокон, циркуляторов, светоделителей, поляризаторов, поляризационных светоделителей, волновых пластин (например, полуволновых или четвертьволновых пластин), дифракционных элементов, микроэлектромеханических элементов, коллимационных элементов или голографических элементов.[0132] It should be noted that in various non-limiting embodiments of the present technology, the plurality of internal beam paths 312 may comprise a variety of optical elements. For example, the lidar system 300 may comprise one or more optical elements capable of processing, shaping, filtering, modifying, or directing the output beam 314 and/or the input beam 316. For example, the lidar system 300 may comprise one or more elements from among lenses, mirrors, filters (e.g., bandpass or interference filters), optical fibers, circulators, beam splitters, polarizers, polarizing beam splitters, wave plates (e.g., half-wave or quarter-wave plates), diffractive elements, microelectromechanical elements, collimating elements, or holographic elements.

[0133] Предполагается, что в по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии для внутреннего пути луча и другого внутреннего пути луча из множества внутренних путей 312 луча могут совместно использоваться по меньшей мере некоторые общие оптические элементы. Тем не менее, это не обязательно для всех вариантов осуществления настоящей технологии.[0133] It is contemplated that in at least some non-limiting embodiments of the present technology, at least some common optical elements may be shared between the inner beam path and another inner beam path of the plurality of inner beam paths 312. However, this is not necessarily the case for all embodiments of the present technology.

Сканирующий блокScanning unit

[0134] В общем случае сканирующий блок 308 направляет выходной луч 314 в одном или в нескольких направлениях в сторону окрестности 250. Сканирующий блок 308 связан с контроллером 310. Контроллер 310 способен управлять сканирующим блоком 308 так, чтобы направлять выходной луч 314 в требуемом направлении и/или согласно заранее заданной схеме сканирования. В общем случае в контексте настоящего описания схема сканирования может соответствовать схеме или траектории, согласно которой выходной луч 314 направляется сканирующим блоком 308 при его работе.[0134] In general, the scanning unit 308 directs the output beam 314 in one or more directions toward the vicinity 250. The scanning unit 308 is connected to a controller 310. The controller 310 is capable of controlling the scanning unit 308 so as to direct the output beam 314 in a desired direction and/or according to a predetermined scanning pattern. In general, in the context of the present description, the scanning pattern may correspond to a pattern or trajectory according to which the output beam 314 is directed by the scanning unit 308 during its operation.

[0135] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии контроллер 310 может обеспечивать развертку выходного луча 314 сканирующим блоком 308 во множестве горизонтальных угловых диапазонов и/или вертикальных угловых диапазонов. Суммарный угловой диапазон, в котором сканирующий блок 308 сканирует выходным лучом 314, иногда называется полем зрения (FOV, Field Of View). Предполагается, что конкретная конструкция, ориентация и/или угловые диапазоны могут зависеть от конкретного варианта реализации лидарной системы 300. Поле зрения обычно содержит множество областей ROI, заданных в виде частей поля FOV, которые могут, например, содержать интересующие объекты. В некоторых вариантах осуществления изобретения сканирующий блок 308 может дополнительно исследовать выбранную область 325 ROI. Область 325 ROI лидарной системы 300 может соответствовать площади, объему, зоне, угловому диапазону и/или части (или нескольким частям) окрестности 250, где лидарная система 300 способна выполнять сканирование и/или фиксировать данные.[0135] In some non-limiting embodiments of the present technology, the controller 310 may cause the scanning unit 308 to sweep the output beam 314 over a plurality of horizontal angular ranges and/or vertical angular ranges. The total angular range over which the scanning unit 308 scans the output beam 314 is sometimes referred to as a field of view (FOV). It is contemplated that the specific design, orientation, and/or angular ranges may depend on a specific embodiment of the lidar system 300. The field of view typically comprises a plurality of ROIs defined as portions of the FOV, which may, for example, contain objects of interest. In some embodiments of the invention, the scanning unit 308 may further explore a selected ROI 325. The ROI region 325 of the lidar system 300 may correspond to an area, volume, zone, angular range, and/or portion (or multiple portions) of the neighborhood 250 where the lidar system 300 is capable of scanning and/or capturing data.

[0136] Следует отметить, что местоположение объекта 320 в окрестности 250 транспортного средства 220 может перекрываться, содержаться или охватываться, по меньшей мере частично, областью 325 ROI лидарной системы 300.[0136] It should be noted that the location of the object 320 in the vicinity 250 of the vehicle 220 may overlap, be contained, or be covered at least partially by the ROI 325 of the lidar system 300.

[0137] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, сканирующий блок 308 может сканировать выходным лучом 314 по горизонтали и/или по вертикали и поэтому область 325 ROI лидарной системы 300 может иметь горизонтальное направление и вертикальное направление. Например, область 325 ROI может быть задана углом 45 градусов по горизонтали и углом 45 градусов по вертикали. В некоторых вариантах осуществления изобретения различные оси сканирования могут иметь различную ориентацию.[0137] According to some non-limiting embodiments of the present technology, the scanning unit 308 can scan the output beam 314 horizontally and/or vertically, and therefore the ROI 325 of the lidar system 300 can have a horizontal direction and a vertical direction. For example, the ROI 325 can be defined by an angle of 45 degrees horizontally and an angle of 45 degrees vertically. In some embodiments of the invention, different scanning axes can have different orientations.

[0138] Сканирующий блок 308 может содержать первый отражающий элемент 350 и второй отражающий элемент 360. Первый отражающий элемент 350 может перенаправлять выходной луч 314 из светоделительного элемента в сторону второго отражающего элемента 360, обеспечивая распределение выходного луча вдоль первой оси. Второй отражающий элемент 360 может перенаправлять выходной луч 314 из первого отражающего элемента 350 в сторону окрестности 250 (через окно 380 корпуса 330), обеспечивая распределение выходного луча вдоль второй оси. Вторая ось может быть перпендикулярна и/или ортогональна первой оси. Благодаря тому, что выходной луч 314 таким образом перенаправляется и распределяется с использованием сочетания первого отражающего элемента 350 и второго отражающего элемента 360, возможно сканирование окрестности 250 транспортного средства 220 вдоль по меньшей мере двух перпендикулярных или ортогональных осей.[0138] The scanning unit 308 may comprise a first reflective element 350 and a second reflective element 360. The first reflective element 350 may redirect the output beam 314 from the beam splitter toward the second reflective element 360, ensuring that the output beam is distributed along the first axis. The second reflective element 360 may redirect the output beam 314 from the first reflective element 350 toward the vicinity 250 (through the window 380 of the housing 330), ensuring that the output beam is distributed along the second axis. The second axis may be perpendicular and/or orthogonal to the first axis. Due to the fact that the output beam 314 is thus redirected and distributed using a combination of the first reflective element 350 and the second reflective element 360, it is possible to scan the vicinity 250 of the vehicle 220 along at least two perpendicular or orthogonal axes.

[0139] Можно сказать, что сканирующий блок может сканировать окрестность вдоль пары осей. Например, выходной луч 314 может распределяться первым отражающим элементом 350 вдоль первой оси и вторым отражающим элементом 360 вдоль второй оси. В одном варианте осуществления изобретения первая ось может представлять собой вертикальную ось, а вторая ось может представлять собой горизонтальную ось. В другом варианте осуществления изобретения первая ось может представлять собой горизонтальную ось, а вторая ось может представлять собой вертикальную ось.[0139] It can be said that the scanning unit can scan the surrounding area along a pair of axes. For example, the output beam 314 can be distributed by the first reflective element 350 along the first axis and the second reflective element 360 along the second axis. In one embodiment of the invention, the first axis can be a vertical axis, and the second axis can be a horizontal axis. In another embodiment of the invention, the first axis can be a horizontal axis, and the second axis can be a vertical axis.

[0140] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сканирующий блок может дополнительно содержать множество других оптических элементов и/или механических элементов для сканирования выходным лучом. Например, сканирующий блок может содержать одно или несколько зеркал, призм, линз, микроэлектромеханических элементов, пьезоэлектрических элементов, оптических волокон, делителей, дифракционных элементов, коллимационных элементов и т.п. Следует отметить, что сканирующий блок также может содержать один или несколько дополнительных приводов (отдельно не показаны), обеспечивающих, например, вращение, наклон, поворот или угловое перемещение вокруг одной или нескольких осей по меньшей мере некоторых других оптических элементов.[0140] In some non-limiting embodiments of the present technology, the scanning unit may further comprise a plurality of other optical elements and/or mechanical elements for scanning with the output beam. For example, the scanning unit may comprise one or more mirrors, prisms, lenses, microelectromechanical elements, piezoelectric elements, optical fibers, splitters, diffraction elements, collimation elements, etc. It should be noted that the scanning unit may also comprise one or more additional drives (not separately shown) that provide, for example, rotation, tilt, pivoting, or angular movement around one or more axes of at least some other optical elements.

[0141] Представленная на фиг. 3, лидарная система 300 может использовать заранее заданную схему сканирования для формирования облака точек, по существу покрывающего область 325 ROI лидарной системы 300. Это облако точек лидарной системы 300 может быть использовано для формирования многомерной карты объектов в окрестности 250 транспортного средства 220.[0141] The lidar system 300 shown in Fig. 3 may use a predetermined scanning pattern to generate a point cloud that substantially covers the ROI 325 of the lidar system 300. This point cloud of the lidar system 300 may be used to generate a multidimensional map of objects in the vicinity 250 of the vehicle 220.

Блок обнаруженияDetection unit

[0142] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, блок 306 обнаружения связан с контроллером 310 и может быть реализован множеством способов. Согласно настоящей технологии, блок 306 обнаружения содержит фотодетектор, но может, в числе прочего, содержать фотоприемник, оптический приемник, оптический датчик, детектор, оптический детектор, оптические волокна и т.п. Как описано выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии блок 306 обнаружения может получать или обнаруживать по меньшей мере часть входного луча 316 и формировать электрический сигнал, соответствующий входному лучу 316. Например, если входной луч 316 содержит оптический импульс, то блок 306 обнаружения может сформировать импульс электрического тока или напряжения, соответствующий оптическому импульсу, обнаруженному блоком 306 обнаружения.[0142] According to some non-limiting embodiments of the present technology, the detection unit 306 is coupled to the controller 310 and can be implemented in a variety of ways. According to the present technology, the detection unit 306 comprises a photodetector, but may, among other things, comprise a photodetector, an optical receiver, an optical sensor, a detector, an optical detector, optical fibers, and the like. As described above, in some non-limiting embodiments of the present technology, the detection unit 306 can receive or detect at least a portion of the input beam 316 and generate an electrical signal corresponding to the input beam 316. For example, if the input beam 316 comprises an optical pulse, the detection unit 306 can generate an electrical current or voltage pulse corresponding to the optical pulse detected by the detection unit 306.

[0143] Предполагается, что в различных не имеющих ограничительного характера вариантах осуществления настоящей технологии блок 306 обнаружения может быть реализован с использованием одного или нескольких лавинных фотодиодов (APD, Avalanche PhotoDiode), одного или нескольких однофотонных лавинных диодов (SPAD, Single-Photon Avalanche Diode), одного или нескольких PN-фотодиодов (например, структуры фотодиода, образованной полупроводником p-типа и полупроводником n-типа), одного или нескольких PIN-фотодиодов (например, структуры фотодиода, образованной областью нелегированного полупроводника, расположенной между областями p-типа и n-типа) и т.п.[0143] It is contemplated that in various non-limiting embodiments of the present technology, the detection unit 306 may be implemented using one or more avalanche photodiodes (APD), one or more single-photon avalanche diodes (SPAD), one or more PN photodiodes (e.g., a photodiode structure formed by a p-type semiconductor and an n-type semiconductor), one or more PIN photodiodes (e.g., a photodiode structure formed by a region of undoped semiconductor located between p-type and n-type regions), and the like.

[0144] В некоторых не имеющих ограничительного характера вариантах осуществления изобретения блок 306 обнаружения также может содержать схему, выполняющую усиление сигнала, выборку, фильтрацию, преобразование сигнала, аналого-цифровое преобразование, преобразование время-код, обнаружение импульсов, пороговое обнаружение, обнаружение нарастающего фронта, обнаружение спадающего фронта и т.п. Например, блок 306 обнаружения может содержать электронные элементы, способные преобразовывать полученный фототок (например, ток, сформированный лавинным фотодиодом в ответ на принятый оптический сигнал) в сигнал напряжения. Блок 306 обнаружения также может содержать дополнительную схему для формирования аналогового или цифрового выходного сигнала, соответствующего одной или нескольким характеристикам (например, нарастающему фронту, спадающему фронту, амплитуде, длительности и т.п.) принятого оптического импульса.[0144] In some non-limiting embodiments of the invention, the detection unit 306 may also comprise a circuit that performs signal amplification, sampling, filtering, signal conditioning, analog-to-digital conversion, time-to-code conversion, pulse detection, threshold detection, rising edge detection, falling edge detection, and the like. For example, the detection unit 306 may comprise electronic elements capable of converting a received photocurrent (e.g., a current generated by an avalanche photodiode in response to a received optical signal) into a voltage signal. The detection unit 306 may also comprise additional circuitry for generating an analog or digital output signal corresponding to one or more characteristics (e.g., a rising edge, a falling edge, an amplitude, a duration, and the like) of the received optical pulse.

КонтроллерController

[0145] В зависимости от варианта реализации, контроллер 310 может содержать один или несколько процессоров, схему ASIC, матрицу FPGA и/или другую подходящую схему. Контроллер 310 также может содержать машиночитаемую физическую память для хранения команд, исполняемых контроллером 310, и данных, которые контроллер 310 может формировать на основе сигналов, полученных от других внутренних элементов лидарной системы 300, и/или сигналов, выдаваемых в другие внутренние элементы лидарной системы 300. Память может содержать энергозависимые элементы (например, ОЗУ) и/или энергонезависимые элементы (например, флэш-память, жесткий диск). Контроллер 310 может формировать данные во время работы и сохранять их в памяти. Например, эти данные, сформированные контроллером 310, могут указывать на точки данных в облаке точек лидарной системы 300. [ 0145] Depending on the embodiment, the controller 310 may comprise one or more processors, an ASIC circuit, an FPGA array, and/or other suitable circuitry. The controller 310 may also comprise a machine-readable physical memory for storing instructions executed by the controller 310 and data that the controller 310 may generate based on signals received from other internal elements of the lidar system 300 and/or signals output to other internal elements of the lidar system 300. The memory may comprise volatile elements (e.g., RAM) and/or non-volatile elements (e.g., flash memory, hard disk). The controller 310 may generate data during operation and store it in the memory. For example, the data generated by the controller 310 may indicate data points in a point cloud of the lidar system 300.

[0146] Предполагается, что в по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии контроллер 310 может быть реализован подобно электронному устройству 210 и/или компьютерной системе 100 без выхода за границы настоящей технологии. Помимо сбора данных от блока 306 обнаружения, контроллер 310 может выдавать управляющие сигналы в источник 302 света и в сканирующий блок 308 и потенциально принимать от них диагностические данные.[0146] It is contemplated that in at least some non-limiting embodiments of the present technology, the controller 310 may be implemented similarly to the electronic device 210 and/or the computer system 100 without departing from the scope of the present technology. In addition to collecting data from the detection unit 306, the controller 310 may output control signals to the light source 302 and to the scanning unit 308 and potentially receive diagnostic data from them.

[0147] Как описано выше, контроллер 310 связан с источником 302 света, со сканирующим блоком 308 и с блоком 306 обнаружения. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии контроллер 310 может получать от источника 302 света электрические запускающие импульсы, каждый из которых соответствует излучению оптического импульса источником 302 света. Контроллер 310 также может выдавать в источник 302 света команды, управляющий сигнал и/или запускающий сигнал, указывающие на то, когда источник 302 света должен формировать оптические импульсы, например, образующие выходной луч 314.[0147] As described above, the controller 310 is connected to the light source 302, to the scanning unit 308 and to the detection unit 306. In some non-limiting embodiments of the present technology, the controller 310 can receive electrical trigger pulses from the light source 302, each of which corresponds to the emission of an optical pulse by the light source 302. The controller 310 can also output to the light source 302 commands, a control signal and/or a trigger signal indicating when the light source 302 should generate optical pulses, for example, forming the output beam 314.

[0148] Например, контроллер 310 может отправлять электрический запускающий сигнал, содержащий электрические импульсы, так, чтобы источник 302 света излучал оптический импульс, который может быть представлен выходным лучом 314, в ответ на каждый электрический импульс электрического запускающего сигнала. Также предполагается, что контроллер 310 может обеспечивать корректировку источником 302 света одной или нескольких характеристик выходного луча 314, формируемого источником 302 света, таких как частота, период, длительность, энергия импульса, пиковая мощность, средняя мощность, длина волны оптических импульсов и т.д.[0148] For example, the controller 310 may send an electrical triggering signal comprising electrical pulses so that the light source 302 emits an optical pulse, which may be represented by the output beam 314, in response to each electrical pulse of the electrical triggering signal. It is also contemplated that the controller 310 may cause the light source 302 to adjust one or more characteristics of the output beam 314 generated by the light source 302, such as frequency, period, duration, pulse energy, peak power, average power, wavelength of the optical pulses, etc.

[0149] Согласно настоящей технологии, контроллер 310 способен определять значение «времени пролета» для оптического импульса с целью определения расстояния между лидарной системой 300 и одним или несколькими объектами в поле зрения, как описано ниже. Время пролета основано на информации о времени, связанной (а) с первым моментом времени излучения оптического импульса (например, из выходного луча 314) источником 302 света и (б) со вторым моментом времени обнаружения или приема блоком 306 обнаружения части оптического импульса (например, из входного луча 316). В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первый момент может указывать на момент времени выдачи контроллером 310 соответствующего электрического импульса, связанного с оптическим импульсом, а второй момент времени может указывать на момент времени получения контроллером 310 от блока 306 обнаружения электрического сигнала, сформированного в ответ на получение части оптического импульса из входного луча 316.[0149] According to the present technology, the controller 310 is configured to determine a "time of flight" value for an optical pulse to determine a distance between the lidar system 300 and one or more objects in the field of view, as described below. The time of flight is based on time information associated with (a) a first time of emission of the optical pulse (e.g., from the output beam 314) by the light source 302 and (b) a second time of detection or reception by the detection unit 306 of a portion of the optical pulse (e.g., from the input beam 316). In some non-limiting embodiments of the present technology, the first time may indicate a time of output by the controller 310 of a corresponding electrical pulse associated with the optical pulse, and the second time may indicate a time of receipt by the controller 310 from the detection unit 306 of an electrical signal generated in response to receiving the portion of the optical pulse from the input beam 316.

[0150] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии, где светоделительный элемент 304 может разделять выходной луч 314 на сканирующий луч (не показан) и опорный луч (не показан), первый момент времени может соответствовать моменту времени получения от блока 306 обнаружения первого электрического сигнала, сформированного в ответ на получение части опорного луча. Соответственно, в этих вариантах осуществления изобретения второй момент времени может быть определен как момент времени получения контроллером 310 от блока 306 обнаружения второго электрического сигнала, сформированного в ответ на получение другой части оптического импульса из входного луча 316.[0150] In other non-limiting embodiments of the present technology, where the beam splitter 304 can split the output beam 314 into a scanning beam (not shown) and a reference beam (not shown), the first time point can correspond to the time point of receipt from the detection unit 306 of a first electrical signal generated in response to receiving a portion of the reference beam. Accordingly, in these embodiments of the invention, the second time point can be determined as the time point of receipt by the controller 310 from the detection unit 306 of a second electrical signal generated in response to receiving another portion of the optical pulse from the input beam 316.

[0151] Согласно настоящей технологии, контроллер 310 способен на основе первого момента времени и второго момента времени определять значение времени пролета и/или значение фазовой модуляции для излученного импульса из выходного луча 314. Значение времени T пролета, в известном смысле, соответствует времени прохождения излученного импульса в обоих направлениях: от лидарной системы 300 до объекта 320 и обратно до лидарной системы 300. Таким образом, контроллер 310 может определять расстояние 318 согласно следующему уравнению:[0151] According to the present technology, the controller 310 is capable of determining, based on the first time instant and the second time instant, the time-of-flight value and/or the phase modulation value for the emitted pulse from the output beam 314. The time-of-flight value T , in a sense, corresponds to the time of passage of the emitted pulse in both directions: from the lidar system 300 to the object 320 and back to the lidar system 300. Thus, the controller 310 can determine the distance 318 according to the following equation:

, (1) , (1)

где D - расстояние 318, T - значение времени пролета, c - скорость света (приблизительно 3,0×108 м/с).where D is the distance 318, T is the time of flight value, c is the speed of light (approximately 3.0×10 8 m/s).

[0152] Как описано выше, лидарная система 300 может использоваться для определения расстояния 318 до одного или нескольких других потенциальных объектов, расположенных в окрестности 250. Путем сканирования выходным лучом 314 области 325 ROI лидарной системы 300 согласно заранее заданной схеме сканирования контроллер 310 способен сопоставлять расстояния (подобные расстоянию 318) с соответствующими точками данных в области 325 ROI лидарной системы 300. В результате контроллер 310 способен отображать эти последовательно зафиксированные точки данных (например, облако точек) в виде многомерной карты. В некоторых вариантах осуществления изобретения данные об измеренном времени пролета и/или расстоянии до объектов могут отображаться в различных информационных форматах.[0152] As described above, the lidar system 300 may be used to determine a distance 318 to one or more other potential objects located in the vicinity 250. By scanning the output beam 314 of the ROI 325 of the lidar system 300 according to a predetermined scanning pattern, the controller 310 is able to match distances (such as the distance 318) with corresponding data points in the ROI 325 of the lidar system 300. As a result, the controller 310 is able to display these sequentially recorded data points (e.g., a point cloud) in the form of a multidimensional map. In some embodiments of the invention, the measured time of flight and/or distance to objects data may be displayed in various information formats.

[0153] Например, такая многомерная карта может использоваться электронным устройством 210 для обнаружения объектов или идентификации их иным образом либо для определения формы или расстояния до потенциальных объектов в области 325 ROI лидарной системы 300. Предполагается, что лидарная система 300 может циклически или итеративно фиксировать и/или формировать облака точек с любой подходящей для данного варианта применения скоростью.[0153] For example, such a multidimensional map can be used by the electronic device 210 to detect objects or otherwise identify them, or to determine the shape of or distance to potential objects in the ROI 325 of the lidar system 300. It is contemplated that the lidar system 300 can cyclically or iteratively capture and/or generate point clouds at any rate suitable for a given application.

[0154] Следует отметить, что такие многомерные карты могут записываться и храниться как часть данных журнала, связанных с транспортным средством 220. В результате данные облака точек, зафиксированные лидарными системами в парке транспортных средств, могут сохраняться для последующего использования. Кроме того, многомерные карты, зафиксированные лидарной системой, могут использоваться для определения местоположения автомобиля SDC при его эксплуатации. Ниже описано использование данных облака точек, зафиксированных лидарной системой при эксплуатации, для определения местоположения транспортного средства 220.[0154] It should be noted that such multi-dimensional maps can be recorded and stored as part of the log data associated with the vehicle 220. As a result, the point cloud data recorded by the lidar systems in the fleet of vehicles can be stored for subsequent use. In addition, the multi-dimensional maps recorded by the lidar system can be used to determine the location of the SDC vehicle during its operation. The use of the point cloud data recorded by the lidar system during operation to determine the location of the vehicle 220 is described below.

Устройство хранения данныхData storage device

[0155] На фиг. 4 представлено устройство 400 хранения данных. Устройство 400 хранения данных может быть связано с сервером 235 и с электронным устройством 210 транспортного средства 220 (см. фиг. 2). Устройство 400 хранения данных может использоваться сервером 235 и/или электронным устройством 210 для хранения данных, собранных при эксплуатации транспортного средства 220. Устройство 400 хранения данных может использоваться сервером 235 и/или электронным устройством 210 для определения по меньшей части сохраненных данных, подлежащих обновлению. Устройство 400 хранения данных может использоваться сервером 235 и/или электронным устройством 210 для получения данных, которые должны использоваться при эксплуатации транспортного средства 220.[0155] Fig. 4 shows a data storage device 400. The data storage device 400 may be connected to the server 235 and to the electronic device 210 of the vehicle 220 (see Fig. 2). The data storage device 400 may be used by the server 235 and/or the electronic device 210 to store data collected during the operation of the vehicle 220. The data storage device 400 may be used by the server 235 and/or the electronic device 210 to determine at least a portion of the stored data to be updated. The data storage device 400 may be used by the server 235 and/or the electronic device 210 to obtain data to be used during the operation of the vehicle 220.

[0156] В некоторых вариантах осуществления настоящей технологии устройство 400 хранения данных может получать данные, собранные датчиками множества 404 транспортных средств, например, сотен или тысяч транспортных средств, реализованных подобно транспортному средству 220. Транспортные средства собирают данные датчиков, зафиксированные во время движения по различным маршрутам, и отправляют их устройству 400 хранения данных. В результате можно сказать, что в устройстве 400 хранения данных могут храниться данные 406 журналов для множества 404 транспортных средств (для парка транспортных средств).[0156] In some embodiments of the present technology, the data storage device 400 may receive data collected by sensors of a plurality 404 of vehicles, such as hundreds or thousands of vehicles implemented similarly to the vehicle 220. The vehicles collect sensor data recorded while driving along various routes and send it to the data storage device 400. As a result, it can be said that the data storage device 400 may store log data 406 for a plurality 404 of vehicles (for a fleet of vehicles).

[0157] В других вариантах осуществления настоящей технологии сервер 235 может использовать данные 406 журналов для создания и/или обновления представления 402 карты географической области, где действует и/или действовало множество 404 транспортных средств. Предполагается, что сервер 235 может создавать представление 402 карты для карт географической области на основе совокупной информации, полученной от множества 404 транспортных средств, и сохранять представление 402 карты в устройстве 400 хранения данных.[0157] In other embodiments of the present technology, the server 235 may use the log data 406 to create and/or update a map representation 402 of a geographic area where the plurality 404 vehicles operate and/or have operated. It is contemplated that the server 235 may create a map representation 402 for maps of a geographic area based on the aggregate information received from the plurality 404 vehicles and store the map representation 402 in the data storage device 400.

[0158] Сервер 235 может отправлять данные, соответствующие представлению 402 карты, электронным устройствам, связанным с транспортными средствами из множества 404 транспортных средств. Например, если транспортное средство 220 должно двигаться по маршруту, то электронное устройство 210 может предоставлять информацию, описывающую маршрут движения, серверу 235. В ответ сервер 235 предоставляет представление 402 карты (или его части) для движения по этому маршруту. Предполагается, что представление 402 карты может периодически выдаваться для локального сохранения электронным устройством 210 с целью использования без выхода за границы настоящей технологии.[0158] The server 235 may send data corresponding to the map representation 402 to the electronic devices associated with the vehicles of the plurality of 404 vehicles. For example, if the vehicle 220 is to travel along a route, the electronic device 210 may provide information describing the route of travel to the server 235. In response, the server 235 provides the map representation 402 (or a portion thereof) for travel along this route. It is contemplated that the map representation 402 may be periodically provided for local storage by the electronic device 210 for use without going beyond the scope of the present technology.

[0159] В одном варианте осуществления изобретения сервер 235 отправляет части представления 402 карты транспортным средствам в сжатом виде, чтобы для передаваемых данных требовалась меньшая полоса пропускания канала связи. Сервер 235 может получать от различных транспортных средств информацию, описывающую данные, локально сохраненные электронным устройством 210. Если сервер 235 определяет, что транспортное средство 220 не содержит некоторую локально сохраненную часть представления 402 карты, то сервер 235 может отправлять эту часть представления 402 карты. Если сервер 235 определяет, что транспортное средство 220 ранее получило эту конкретную часть представления карты, но соответствующие данные были обновлены сервером 235 после последнего получения данных транспортным средством 220, то сервер 235 может отправлять электронному устройству 210 обновление для этой части представления 402 карты.[0159] In one embodiment of the invention, the server 235 sends portions of the map representation 402 to the vehicles in a compressed form so that the transmitted data requires less bandwidth of the communication channel. The server 235 can receive information from various vehicles that describes data locally stored by the electronic device 210. If the server 235 determines that the vehicle 220 does not contain a certain locally stored portion of the map representation 402, then the server 235 can send this portion of the map representation 402. If the server 235 determines that the vehicle 220 has previously received this particular portion of the map representation, but the corresponding data has been updated by the server 235 since the last time the data was received by the vehicle 220, then the server 235 can send an update to the electronic device 210 for this portion of the map representation 402.

[0160] Следует отметить, что сервер 235 может формировать представление 402 карты на основе данных 406 журналов. Сервер 235 обновляет ранее рассчитанные картографические данные путем получения более новой информации от транспортных средств, недавно перемещавшихся по маршрутам, для которых изменена информация карты. В одном варианте осуществления изобретения способы совмещения карт с использованием итеративных алгоритмов ближайших точек (ICP, Iterative Closest Point) (и их вариантов) могут быть использованы сервером 235 для соответствующих точек с наименьшим расстоянием на различных картах облаков из данных 406 журналов, чтобы объединить их и расширить или увеличить представление карты географической области, в которой были зафиксированы данные облака из данных 406 журналов.[0160] It should be noted that the server 235 can generate the map representation 402 based on the log data 406. The server 235 updates the previously calculated map data by receiving newer information from vehicles that have recently traveled along the routes for which the map information has been changed. In one embodiment of the invention, methods for combining maps using iterative closest point (ICP) algorithms (and their variants) can be used by the server 235 for corresponding points with the smallest distance on different cloud maps from the log data 406 to combine them and expand or increase the map representation of the geographic area in which the cloud data from the log data 406 was recorded.

[0161] В по меньшей мере некоторых вариантах осуществления настоящей технологии сервер 235 может формировать двумерное представление области на основе трехмерного представления области. Например, сервер 235 может проецировать множество расположенных по вертикали точек на элемент двумерной сетки. Различные характеристики множества расположенных по вертикали точек могут использоваться с целью определения значения для этого элемента. В одном не имеющем ограничительного характера примере значения интенсивности из множества расположенных по вертикали точек могут объединяться для определения значения, которое должно быть связано с элементом двумерной сетки. Можно сказать, что в результате проецирования 3D-точек на двухмерную сетку возможно формирование данных изображения, представляющих различные области карты. Можно сказать, что в по меньшей мере некоторых вариантах осуществления изобретения в устройстве 400 хранения данных хранятся одно или несколько изображений, представляющих карту.[0161] In at least some embodiments of the present technology, the server 235 may generate a two-dimensional representation of the region based on the three-dimensional representation of the region. For example, the server 235 may project a plurality of vertically arranged points onto an element of a two-dimensional grid. Various characteristics of the plurality of vertically arranged points may be used to determine a value for this element. In one non-limiting example, intensity values from the plurality of vertically arranged points may be combined to determine a value to be associated with the element of the two-dimensional grid. It may be said that by projecting 3D points onto a two-dimensional grid, image data may be generated that represents various areas of a map. It may be said that in at least some embodiments of the invention, one or more images representing a map are stored in the data storage device 400.

[0162] Кроме того, в устройстве 400 хранения данных могут храниться дополнительные данные 410. В некоторых вариантах осуществления изобретения дополнительные данные 410 содержат информацию, указывающую на фактические границы многоугольного участка, предоставленные экспертами для по меньшей мере некоторых областей представления 402 карты. В других вариантах осуществления изобретения в устройстве 400 хранения данных может храниться множество графовых структур. Например, в устройстве 400 хранения данных может храниться графовая структура, представляющая тротуары. В другом примере в устройстве 400 хранения данных может храниться графовая структура, представляющая местоположение дорог и направление движения по этим дорогам. В еще одном примере в устройстве 400 хранения данных может храниться графовая структура, представляющая пути, которые могут использоваться пешеходами и транспортными средствами. В дополнительном примере в устройстве 400 хранения данных может храниться графовая структура, представляющая пешеходные переходы, которые могут использоваться пешеходами и относительно небольшими роботизированными транспортными средствами.[0162] In addition, additional data 410 may be stored in the data storage device 400. In some embodiments of the invention, the additional data 410 comprises information indicating the actual boundaries of the polygonal region provided by experts for at least some regions of the map representation 402. In other embodiments of the invention, a plurality of graph structures may be stored in the data storage device 400. For example, a graph structure representing sidewalks may be stored in the data storage device 400. In another example, a graph structure representing the location of roads and the direction of travel along these roads may be stored in the data storage device 400. In yet another example, a graph structure representing paths that can be used by pedestrians and vehicles may be stored in the data storage device 400. In a further example, a graph structure representing crosswalks that can be used by pedestrians and relatively small robotic vehicles may be stored in the data storage device 400.

[0163] В некоторых вариантах осуществления изобретения предполагается, что информация, указывающая на одну или несколько графовых структур, может храниться в сочетании с соответствующими областями представления карты. Также предполагается, что одна или несколько графовых структур могут быть растрированы и полученные в результате данные изображения могут храниться в сочетании с соответствующими областями представления карты.[0163] In some embodiments of the invention, it is contemplated that information indicating one or more graph structures may be stored in conjunction with corresponding regions of the map representation. It is also contemplated that one or more graph structures may be rasterized and the resulting image data may be stored in conjunction with corresponding regions of the map representation.

[0164] В некоторых вариантах осуществления настоящей технологии по меньшей мере некоторые данные изображения могут храниться в виде файлов GeoTIFF. Вкратце, GeoTIFF - это открытый стандарт метаданных, позволяющий внедрять в файл изображения информацию о географической привязке. С использованием формата GeoTIFF геопространственные метаданные внедряются в файлы изображений, такие как аэрофотографии, спутниковые изображения и оцифрованные карты, таким образом, чтобы их можно было использовать в геоинформационных системах.[0164] In some embodiments of the present technology, at least some image data may be stored as GeoTIFF files. Briefly, GeoTIFF is an open metadata standard that allows georeferencing information to be embedded in an image file. Using the GeoTIFF format, geospatial metadata is embedded in image files, such as aerial photographs, satellite images, and digitized maps, so that they can be used in geographic information systems.

[0165] В частности, географические метаданные формата GeoTIFF описывают фактическое местоположение в пространстве, представляемое каждым пикселом изображения. При формировании файла GeoTIFF пространственная информация включается в состав файла «.tif» в виде внедренных тегов, которые могут содержать метаданные растрового изображения, такие как начало отсчета по горизонтали и по вертикали, пространственная протяженность (т.е. область, которую покрывает набор данных), система координат (CRS, Coordinate Reference System), используемая для хранения данных, пространственное разрешение (количество независимых пикселов на единицу длины), количество слоев в файле «.tif», эллипсоиды и геоиды (например, расчетные модели формы Земли), математические правила картографического проецирования для преобразования данных трехмерного пространства в двумерное изображение и т.д.[0165] In particular, the geographic metadata of the GeoTIFF format describes the actual location in space represented by each pixel of the image. When a GeoTIFF file is generated, spatial information is included in the ".tif" file in the form of embedded tags, which may contain raster image metadata such as the horizontal and vertical origin, spatial extent (i.e., the area covered by the data set), the coordinate reference system (CRS) used to store the data, spatial resolution (the number of independent pixels per unit length), the number of layers in the ".tif" file, ellipsoids and geoids (e.g., calculated models of the shape of the Earth), mathematical map projection rules for transforming three-dimensional space data into a two-dimensional image, etc.

[0166] На фиг. 5 представлен многоугольный участок 500 на изображении 510 области 520 карты. Как показано, многоугольный участок 500 может содержать ступенчатые границы. Также представлен многоугольный участок 502 на изображении 512 области 522 карты. Как показано, многоугольник 502 может содержать закругленные углы и/или слегка недотянутые углы и границы. Также представлен многоугольный участок 504 на изображении 514 области 524 карты. Как показано, многоугольный участок 504 может иметь ошибочные границы, не соответствующие действительности. В этом примере изображения 510, 512 и 514 представляют собой файлы GeoTIFF.[0166] Fig. 5 shows a polygonal region 500 in an image 510 of a map region 520. As shown, the polygonal region 500 may contain stepped boundaries. Also shown is a polygonal region 502 in an image 512 of a map region 522. As shown, the polygon 502 may contain rounded corners and/or slightly undershot corners and boundaries. Also shown is a polygonal region 504 in an image 514 of a map region 524. As shown, the polygonal region 504 may have erroneous boundaries that do not correspond to reality. In this example, images 510, 512, and 514 are GeoTIFF files.

[0167] На фиг. 6 приведено представление 600 для формирования моделью 650 сегментации карты 630 сегментации на основе данных 620 изображения. В некоторых вариантах осуществления изобретения данные 620 изображения могут содержать двумерное представление области карты. Такое изображение может быть сформировано путем проецирования точек из трехмерного облака точек на двумерную сетку. В других вариантах осуществления изобретения один или несколько дополнительных каналов 610 данных изображения могут подаваться в модель сегментации для формирования карты 630 сегментации. Например, одна или несколько графовых структур могут быть растрированы и введены как изображения в модель 650 сегментации.[0167] Fig. 6 shows a representation 600 for generating a segmentation map 630 by a segmentation model 650 based on image data 620. In some embodiments of the invention, the image data 620 may comprise a two-dimensional representation of a map region. Such an image may be generated by projecting points from a three-dimensional point cloud onto a two-dimensional grid. In other embodiments of the invention, one or more additional channels 610 of image data may be fed to the segmentation model to generate the segmentation map 630. For example, one or more graph structures may be rasterized and input as images into the segmentation model 650.

[0168] Карта 630 сегментации содержит множество точек (без числового обозначения). Каждая точка из множества точек связана с вектором признаков, сформированным моделью 650 сегментации. Например, векторы признаков могут содержать признаки, полученные из изображений GeoTiff моделью 650 сегментации. Следует отметить, что вектор признаков, сформированный для пиксела, может по меньшей мере частично основываться на признаках, сформированных для соседних пикселов.[0168] The segmentation map 630 comprises a plurality of points (without a numerical designation). Each point of the plurality of points is associated with a feature vector generated by the segmentation model 650. For example, the feature vectors may comprise features obtained from GeoTiff images by the segmentation model 650. It should be noted that the feature vector generated for a pixel may be at least partially based on features generated for neighboring pixels.

[0169] Соседние пикселы для данного пиксела могут определяться или зависеть от конкретного варианта реализации модели 650 сегментации. В по меньшей мере некоторых вариантах осуществления изобретения множество точек может соответствовать последовательности точек, образующих границу многоугольного участка, где соседние точки для точки из последовательности могут включать в себя одну или несколько предшествующих точек и/или одну или несколько последующих точек для этой точки из последовательности.[0169] The neighboring pixels for a given pixel may be determined or depend on a particular embodiment of the segmentation model 650. In at least some embodiments of the invention, the plurality of points may correspond to a sequence of points that form a boundary of a polygonal region, where the neighboring points for a point from the sequence may include one or more preceding points and/or one or more subsequent points for this point from the sequence.

[0170] Карта 630 сегментации также содержит указание на границу многоугольного участка 640. Можно сказать, что граница многоугольного участка640 представляет собой оценку части карты 630 сегментации, содержащей объект. Можно сказать, что граница многоугольного участка640 представляет собой оценку периметра, задающего объект в области. Граница многоугольного участка640 содержит последовательность точек границы (без числового обозначения).[0170] The segmentation map 630 also contains an indication of the boundary of the polygonal region 640. The boundary of the polygonal region 640 can be said to be an estimate of the portion of the segmentation map 630 that contains the object. The boundary of the polygonal region 640 can be said to be an estimate of the perimeter that defines the object in the region. The boundary of the polygonal region 640 contains a sequence of boundary points (without a numerical designation).

[0171] Сервер 235 способен получать фактическую границу многоугольного участка 660, связанную с объектом, хранящимся в устройстве 400 хранения данных в сочетании с областью. Как описано выше, фактическая граница многоугольного участка660 предоставлена экспертом (например, картографом). В частности, эксперту может быть поручено вручную определять последовательность ребер границы, представляющих фактическое местоположение объекта в области.[0171] The server 235 is capable of obtaining the actual boundary of the polygonal area 660 associated with the object stored in the data storage device 400 in combination with the region. As described above, the actual boundary of the polygonal area 660 is provided by an expert (for example, a cartographer). In particular, the expert may be instructed to manually determine a sequence of edges of the boundary representing the actual location of the object in the region.

[0172] Сервер 235 может формировать метки для точек из последовательности точек границы для границы многоугольного участка 640. Эти метки могут быть определены путем отображения фактической границы многоугольного участка 660 на карту 630 сегментации и сравнения точек границы из границы многоугольного участка 640 с ребрами фактической границы многоугольного участка 660.[0172] The server 235 may generate labels for points from a sequence of boundary points for the boundary of the polygonal region 640. These labels may be determined by mapping the actual boundary of the polygonal region 660 to the segmentation map 630 and comparing the boundary points from the boundary of the polygonal region 640 with the edges of the actual boundary of the polygonal region 660.

[0173] На фиг. 7 приведено представление 700 для определения сервером 235 меток для соответствующих точек границы многоугольного участка 640. Здесь представлено ребро 710 из последовательности ребер фактической границы многоугольного участка 660. Также представлена подпоследовательность 750 точек границы из последовательности точек границы, содержащая первую точку 720 границы, вторую точку 730 границы и третью точку 740 границы.[0173] Fig. 7 shows a representation 700 for determining by the server 235 labels for corresponding points of the boundary of the polygonal area 640. Here, an edge 710 from the sequence of edges of the actual boundary of the polygonal area 660 is shown. Also shown is a subsequence 750 of boundary points from the sequence of boundary points, containing a first boundary point 720, a second boundary point 730, and a third boundary point 740.

[0174] Предполагается, что положение точки границы в последовательности точек границы может быть задано как изменение положения относительно положения предыдущей точки границы из этой последовательности точек границы. Например, положение второй точки 730 границы может быть задано как изменение положения относительно положения первой точки 720 границы, положение третьей точки 740 границы может быть задано как изменение положения относительно положения второй точки 730 границы, следующая точка границы из последовательности точек границы может быть задана с помощью изменения положения относительно положения третьей точки 740 границы и т.д.[0174] It is contemplated that the position of a boundary point in a sequence of boundary points may be defined as a change in position relative to the position of the previous boundary point of this sequence of boundary points. For example, the position of the second boundary point 730 may be defined as a change in position relative to the position of the first boundary point 720, the position of the third boundary point 740 may be defined as a change in position relative to the position of the second boundary point 730, the next boundary point of the sequence of boundary points may be defined by a change in position relative to the position of the third boundary point 740, etc.

[0175] Сервер 235 может определять отклонение положения от ближайшего ребра из последовательности ребер. Следует отметить, что в не имеющем ограничительного характера примере, представленном на фиг. 7, ближайшему к первой точке 720 границы, ко второй точке 730 границы и к третьей точке 740 границы ребру соответствует ребро 710, но это не обязательно для всех вариантов осуществления настоящей технологии. Например, каждой точке из числа первой точки 720 границы, второй точки 730 границы и третьей точки 740 границы могут соответствовать различные ближайшие ребра.[0175] The server 235 may determine a position deviation from the closest edge of the sequence of edges. It should be noted that in the non-limiting example shown in Fig. 7, the closest edge to the first boundary point 720, the second boundary point 730, and the third boundary point 740 corresponds to the edge 710, but this is not necessary for all embodiments of the present technology. For example, each point from the first boundary point 720, the second boundary point 730, and the third boundary point 740 may correspond to different closest edges.

[0176] Сервер 235 может определять первое отклонение 721 для первой точки 720 границы и второе отклонение 722 для второй точки 730 границы, а также может определять, что третья точка 740 границы находится на ребре 710 (т.е. определять нулевое отклонение и/или то, что ребро 710 проходит через точку на карте сегментации, положение которой соответствует третьей точке 740 границы).[0176] The server 235 may determine a first deviation 721 for the first boundary point 720 and a second deviation 722 for the second boundary point 730, and may also determine that the third boundary point 740 is on the edge 710 (i.e., determine a zero deviation and/or that the edge 710 passes through a point on the segmentation map whose position corresponds to the third boundary point 740).

[0177] Сервер 235 может определять метки для точек из последовательности 750 точек границы на основе соответствующих отклонений. В некоторых вариантах осуществления изобретения, где вторая модель способна выполнять задачу классификации, сервер 235 может определять, что отклонение оказывается меньшим или большим заранее заданного порога. Например, сервер 235 может определять метку, указывающую на первый класс, для первой точки 720 границы на основе первого отклонения 721, если первое отклонение 721 меньше заранее заданного порога, и может определять метку, указывающую на второй класс, для второй точки 730 границы на основе второго отклонения 722, если второе отклонение 722 больше заранее заданного порога. Например, заранее заданный порог отклонения может быть равен 20 см.[0177] The server 235 may determine labels for the points from the sequence 750 of boundary points based on the corresponding deviations. In some embodiments of the invention, where the second model is capable of performing the classification task, the server 235 may determine that the deviation is less than or greater than a predetermined threshold. For example, the server 235 may determine a label indicating a first class for the first boundary point 720 based on the first deviation 721 if the first deviation 721 is less than the predetermined threshold, and may determine a label indicating a second class for the second boundary point 730 based on the second deviation 722 if the second deviation 722 is greater than the predetermined threshold. For example, the predetermined deviation threshold may be 20 cm.

[0178] В других вариантах осуществления изобретения, где вторая модель способна выполнять задачу регрессии, сервер 235 может использовать отклонение в качестве метки для соответствующей точки границы. Например, сервер 235 может определять метки для точек границы, которые указывают на значение смещения (например, на отклонения) для соответствующих точек границы. Как более подробно описано ниже, в по меньшей мере некоторых вариантах осуществления изобретения вторая модель может содержать несколько выходных голов, где первая голова для классификации способна решать задачу классификации, вторая голова для регрессии способна решать задачу регрессии, при этом метки для обеих голов формируются на основе отклонений, рассчитанных для соответствующих точек границы.[0178] In other embodiments of the invention, where the second model is capable of performing a regression task, the server 235 may use the deviation as a label for the corresponding boundary point. For example, the server 235 may determine labels for the boundary points that indicate an offset value (e.g., deviations) for the corresponding boundary points. As described in more detail below, in at least some embodiments of the invention, the second model may comprise multiple output heads, where the first classification head is capable of solving a classification task, the second regression head is capable of solving a regression task, and the labels for both heads are generated based on deviations calculated for the corresponding boundary points.

[0179] Предполагается, что выходные данные головы для регрессии могут применяться на этапе использования отдельно и/или в сочетании с выходными данными головы для классификации. Например, выходные данные головы для регрессии могут применяться на этапе использования для определения значения смещения для точки границы. Таким образом сервер может автоматически корректировать точку границы для компенсации этого значения смещения.[0179] It is contemplated that the output of the regression head may be used in the usage stage separately and/or in combination with the output of the classification head. For example, the output of the regression head may be used in the usage stage to determine an offset value for a boundary point. In this way, the server may automatically adjust the boundary point to compensate for this offset value.

[0180] В не имеющем ограничительного характера примере во второй модели при выполнении задачи классификации могут применяться сверточные сети на основе одномерных сверток, рекуррентные сети и/или трансформеры с архитектурами машинного обучения (ML, Machine Learning) на основе механизма внимания. Сверточные сети на основе ML-архитектур с одномерными свертками могут быть реализованы, как описано в работе «Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation» авторов Liang-Chieh Chen et al., опубликованной в 2018 г., содержание которой полностью включено в настоящий документ посредством ссылки. ML-архитектуры рекуррентных сетей могут быть реализованы, как описано в работе «Sequence to Sequence Learning with Neural Networks» авторов Ilya Sutskever et al., опубликованной в 2014 г., содержание которой полностью включено в настоящий документ посредством ссылки. Трансформеры с ML-архитектурами на основе механизма внимания могут быть реализованы, как описано в работе «Attention is All you Need» авторов Ashish Vaswani et al., опубликованной в 2017 г., содержание которой полностью включено в настоящий документ посредством ссылки.[0180] In a non-limiting example, the second model may employ convolutional networks based on one-dimensional convolutions, recurrent networks, and/or transformers with attention-based machine learning (ML) architectures to perform the classification task. Convolutional networks based on one-dimensional convolution ML architectures may be implemented as described in the paper “Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation” by Liang-Chieh Chen et al., published in 2018, the contents of which are incorporated herein by reference in their entirety. ML recurrent network architectures may be implemented as described in the paper “Sequence to Sequence Learning with Neural Networks” by Ilya Sutskever et al., published in 2014, the contents of which are incorporated herein by reference in their entirety. Transformers with attention-based ML architectures can be implemented as described in “Attention is All you Need” by Ashish Vaswani et al., published in 2017, the contents of which are incorporated herein by reference in their entirety.

[0181] В других вариантах осуществления изобретения предполагается, что вторая модель может содержать различные части для выполнения задачи классификации и задачи регрессии. В этих вариантах осуществления изобретения сервер 235 может определять несколько меток для точки границы. Несколько меток могут включать в себя первую метку, указывающую на отклонение от ближайшего ребра, и вторую метку, указывающую на то, что это отклонение меньше или больше заранее заданного порога.[0181] In other embodiments of the invention, it is contemplated that the second model may comprise different parts for performing a classification task and a regression task. In these embodiments of the invention, the server 235 may determine multiple labels for the boundary point. The multiple labels may include a first label indicating a deviation from the closest edge, and a second label indicating that this deviation is less than or greater than a predetermined threshold.

[0182] На фиг. 11 приведена блок-схема ML-архитектуры, которая может использоваться для реализации второй модели, где могут использоваться два канала меток, а именно: первый канал для первых меток и второй канал для вторых меток.[0182] Fig. 11 shows a block diagram of an ML architecture that can be used to implement the second model, where two label channels can be used, namely, a first channel for first labels and a second channel for second labels.

[0183] В частности, ML-архитектура может содержать нейронную сеть для выделения признаков (neural network backbone), в которую подаются входные признаки. В некоторых вариантах осуществления изобретения входные признаки содержат тензор, размер которого зависит от количества точек границы и от количества признаков изображения. Например, размер тензора может быть равен[(2 + K)], где N - количество точек границы, а K - количество необработанных признаков из первой модели, при этом каждая точка границы может быть закодирована с использованием различия положения относительно непосредственно предшествующей точки границы из последовательности точек границы и вектора необработанных признаков из первой сети для пиксела, соответствующего этой точке границы.[0183] In particular, the ML architecture may comprise a neural network backbone that is fed with input features. In some embodiments of the invention, the input features comprise a tensor whose size depends on the number of boundary points and the number of image features. For example, the size of the tensor may be equal to [ (2+ K )], where N is the number of boundary points and K is the number of raw features from the first model, where each boundary point may be encoded using the difference in position relative to the immediately preceding boundary point from the sequence of boundary points and a vector of raw features from the first network for the pixel corresponding to this boundary point.

[0184] Нейронная сеть для выделения признаков формирует признаки точек границы, которые могут отображаться с использованием тензора, размер которого зависит от количества точек границы и от количества признаков изображения. Например, размер тензора может быть равен[N×M], где N - количество точек границы, а M - количество признаков из второй модели. Признаки точек границы могут включать в себя необработанные признаки для каждой точки границы, на основе которых впоследствии прогнозируются отклонения и/или классы.[0184] The neural network for feature extraction generates boundary point features that can be displayed using a tensor whose size depends on the number of boundary points and the number of image features. For example, the tensor size can be equal to [ N × M ], where N is the number of boundary points and M is the number of features from the second model. The boundary point features can include raw features for each boundary point, based on which deviations and/or classes are subsequently predicted.

[0185] Как показано на фиг. 11, ML-архитектура содержит голову для классификации и голову для регрессии, которые могут представлять собой две различные нейронные сети, используемые при прогнозировании классов и отклонений. В некоторых вариантах осуществления изобретения голова для классификации и голова для регрессии могут образовывать многослойный перцептрон.[0185] As shown in Fig. 11, the ML architecture comprises a classification head and a regression head, which may be two different neural networks used in predicting classes and deviations. In some embodiments of the invention, the classification head and the regression head may form a multilayer perceptron.

[0186] Голова для классификации формирует классы точек границы в виде тензора размера[N×1], а голова для регрессии формирует отклонения точек границы в виде тензора размера[N×2]. Разработчики установили, что голова для классификации может быть обучена на основе первого канала меток класса (указывающих на классы), а голова для регрессии может быть обучена на основе второго канала меток регрессии (указывающих на значение смещения). Предполагается, что сервер 235 может применять голову для регрессии в зависимости от прогнозируемого головой для классификации класса набора данных этапа использования.[0186] The classification head generates the classes of the boundary points as a tensor of size [ N ×1], and the regression head generates the biases of the boundary points as a tensor of size [ N ×2]. The developers found that the classification head can be trained based on the first channel of class labels (indicating the classes), and the regression head can be trained based on the second channel of regression labels (indicating the bias value). It is assumed that the server 235 can apply the regression head depending on the class predicted by the classification head of the use stage data set.

[0187] В некоторых вариантах осуществления настоящей технологии вторая модель может быть реализована согласно алгоритму CatBoost. Вкратце, CatBoost - это алгоритм градиентного бустинга, предназначенный для обработки категориальных признаков. Алгоритм CatBoost работает в рамках фреймворка градиентного бустинга (популярное средство обучения ансамбля). Модель итеративно строит ансамбль деревьев решений с целью создания сильной прогнозирующей модели. Каждое дерево исправляет ошибки своего предшественника, в результате чего улучшаются общие прогнозы. В этих вариантах осуществления изобретения предполагается, что первая модель CatBoost может быть обучена и использоваться для решения задачи классификации с использованием первого канала меток класса, а вторая модель CatBoost может быть обучена и использоваться для решения задачи регрессии с использованием второго канала меток регрессии, как описано выше. В этих вариантах осуществления изобретения входные данные могут содержать данные, указывающие на соседние точки, определенные сервером 235 для входных точек.[0187] In some embodiments of the present technology, the second model may be implemented according to the CatBoost algorithm. Briefly, CatBoost is a gradient boosting algorithm designed to process categorical features. The CatBoost algorithm operates within the gradient boosting framework (a popular ensemble learning tool). The model iteratively builds an ensemble of decision trees to create a strong predictive model. Each tree corrects the errors of its predecessor, resulting in improved overall predictions. In these embodiments of the invention, it is contemplated that the first CatBoost model can be trained and used to solve a classification problem using a first channel of class labels, and the second CatBoost model can be trained and used to solve a regression problem using a second channel of regression labels, as described above. In these embodiments of the invention, the input data may comprise data indicating neighboring points determined by server 235 for the input points.

[0188] На фиг. 8 приведено представление 800 для процедуры обучения, которую сервер 235 может выполнять для второй модели 850 на основе границы многоугольного участка 640 и фактической границы многоугольного участка 660.[0188] Fig. 8 shows a representation 800 of a training procedure that server 235 may perform for a second model 850 based on the boundary of polygonal region 640 and the actual boundary of polygonal region 660.

[0189] Сервер 235 может формировать обучающие данные на основе (а) положений точек границы из последовательности точек границы, (б) векторов признаков, связанных с точками границы из последовательности точек границы, (в) векторов признаков других точек с карты сегментации, которые являются соседними для точек границы из последовательности точек границы, и (г) меток, связанных с точками границы из последовательности точек границы.[0189] Server 235 may generate training data based on (a) the positions of boundary points from a sequence of boundary points, (b) feature vectors associated with the boundary points from the sequence of boundary points, (c) feature vectors of other points from the segmentation map that are neighbors of the boundary points from the sequence of boundary points, and (d) labels associated with the boundary points from the sequence of boundary points.

[0190] На фиг. 8 представлена последовательность 810 положений, соответствующих положениям последовательности точек границы. Можно предположить, что положения 811, 812 и 813 соответствуют положениям первой точки 720 границы, второй точки 730 границы и третьей точки 740 границы, соответственно.[0190] Fig. 8 shows a sequence 810 of positions corresponding to the positions of a sequence of boundary points. It can be assumed that the positions 811, 812 and 813 correspond to the positions of the first boundary point 720, the second boundary point 730 and the third boundary point 740, respectively.

[0191] Следует отметить, что положение 812 второй точки 730 границы связано с вектором 815 признаков, связанным со второй точкой 730 границы и со множеством 818 соседних векторов признаков, связанных с соседними точками второй точки 730 границы. Можно сказать, что множество 818 соседних векторов признаков представляет контекст второй точки 730 границы. Предполагается, что модель может определять множество 818 соседних векторов признаков на основе соседних точек.[0191] It should be noted that the position 812 of the second boundary point 730 is associated with a feature vector 815 associated with the second boundary point 730 and with a plurality of 818 neighboring feature vectors associated with neighboring points of the second boundary point 730. It can be said that the plurality of 818 neighboring feature vectors represents the context of the second boundary point 730. It is assumed that the model can determine the plurality of 818 neighboring feature vectors based on the neighboring points.

[0192] Выбор соседа может, среди прочего, зависеть от конкретных вариантов реализации сети UNet (которая обрабатывает точки контура): для управления размером окрестности могут использоваться количество слоев, параметры и соединения между слоями. Например, точки могут равномерно выбираться на контуре, а затем в отношении них может применяться полносверточная сеть с одномерными свертками. В зависимости от количества сверток и их параметров, точка, так сказать, «наблюдает» за окрестностью некоторого размера. Например, в результате одной одномерной свертки с конфигурацией ядра размером 3 точка может обладать информацией об окрестности с радиусом 1, в результате одной свертки с конфигурацией ядра размером 5 точка может обладать информацией об окрестности с радиусом 2, в результате двух последовательных сверток с конфигурацией ядра размером 5 точка может обладать информацией об окрестности с радиусом 4.[0192] The selection of a neighbor may depend, among other things, on the specific implementation options of the UNet network (which processes the contour points): the number of layers, parameters, and connections between layers may be used to control the size of the neighborhood. For example, points may be uniformly selected on the contour, and then a fully convolutional network with one-dimensional convolutions may be applied to them. Depending on the number of convolutions and their parameters, the point, so to speak, "observes" a neighborhood of some size. For example, as a result of one one-dimensional convolution with a kernel configuration of size 3, the point may have information about a neighborhood with radius 1, as a result of one convolution with a kernel configuration of size 5, the point may have information about a neighborhood with radius 2, as a result of two consecutive convolutions with a kernel configuration of size 5, the point may have information about a neighborhood with radius 4.

[0193] Сервер 235 может вводить соответствующие положения из последовательности 810 положений с векторами признаков во вторую модель 850, которая формирует прогнозируемые оценки из последовательности 830 прогнозируемых оценок. Например, вторая модель 850 может формировать прогнозируемую оценку 832 для положения 812 и соответствующих векторов признаков.[0193] The server 235 may input the corresponding positions from the sequence 810 of positions with feature vectors into the second model 850, which generates predicted scores from the sequence 830 of predicted scores. For example, the second model 850 may generate a predicted score 832 for the position 812 and the corresponding feature vectors.

[0194] Сервер 235 способен сравнивать прогнозируемые оценки из последовательности 830 прогнозируемых оценок с последовательностью 820 меток. Например, последовательность 820 меток может содержать метки 821, 822 и 823 для соответствующих точек из числа первой точки 720 границы, второй точки 730 границы и третьей точки 740 границы. Таким образом, сервер 235 может сравнивать прогнозируемую оценку 832 с меткой 822. Сервер 235 может корректировать вторую модель 850 на основе результатов этих сравнений прогнозируемых значений и меток.[0194] The server 235 is capable of comparing the predicted scores from the sequence 830 of predicted scores with the sequence 820 of labels. For example, the sequence 820 of labels may comprise labels 821, 822 and 823 for corresponding points from among the first boundary point 720, the second boundary point 730 and the third boundary point 740. Thus, the server 235 can compare the predicted score 832 with the label 822. The server 235 can adjust the second model 850 based on the results of these comparisons of the predicted values and labels.

[0195] На фиг. 9 приведено представление 900 для работы второй модели 850 на этапе использования. Вторая модель 850 может получать последовательность 910 положений, соответствующих положениям последовательности точек границы из многоугольного участка на этапе использования, сформированного моделью 650 сегментации в не оцененной области карты. Последовательность 910 положений содержит положения 911, 912 и 913.[0195] Fig. 9 shows a representation 900 for the operation of the second model 850 in the use stage. The second model 850 can receive a sequence 910 of positions corresponding to the positions of a sequence of boundary points from a polygonal region in the use stage generated by the segmentation model 650 in the unestimated region of the map. The sequence 910 of positions comprises positions 911, 912 and 913.

[0196] Следует отметить, что положение 912, соответствующее точке границы многоугольного участка этапа использования, связано с вектором 915 признаков, связанным со второй точкой границы и со множеством 918 соседних векторов признаков, связанных с соседними точками этой точки границы. Можно сказать, что множество 918 соседних векторов признаков представляет контекст точки границы.[0196] It should be noted that the position 912 corresponding to the boundary point of the polygonal section of the use stage is associated with the feature vector 915 associated with the second boundary point and with a plurality of 918 neighboring feature vectors associated with neighboring points of this boundary point. It can be said that the plurality of 918 neighboring feature vectors represents the context of the boundary point.

[0197] Сервер 235 может вводить положения из последовательности 910 положений этапа использования с векторами признаков во вторую модель 850, которая формирует прогнозируемые оценки (оценки достоверности) этапа использования из последовательности 930 прогнозируемых оценок. Например, вторая модель 850 может формировать прогнозируемую оценку 932 для положения 912 и соответствующих векторов признаков.[0197] The server 235 may input the positions from the sequence 910 of the positions of the use stage with the feature vectors into the second model 850, which generates predicted estimates (confidence estimates) of the use stage from the sequence 930 of predicted estimates. For example, the second model 850 may generate a predicted estimate 932 for the position 912 and the corresponding feature vectors.

[0198] В некоторых вариантах осуществления изобретения, если одна или несколько прогнозируемых оценок из последовательности 930 прогнозируемых оценок указывают на то, что точки границы этапа использования размещены неправильно, сервер 235 может определять многоугольный участок на этапе использования (и/или его часть) и/или не оцененную область карты для последующего оценивания экспертом.[0198] In some embodiments of the invention, if one or more predicted estimates from the sequence 930 of predicted estimates indicate that the boundary points of the use stage are incorrectly located, the server 235 may determine the polygonal region in the use stage (and/or a portion thereof) and/or the unrated region of the map for subsequent evaluation by an expert.

[0199] На фиг. 10 представлена блок-схема способа 1000, выполняемого процессором (например, процессором сервера 235). Далее более подробно описаны шаги способа 1000.[0199] Fig. 10 is a flow chart of a method 1000 performed by a processor (e.g., a processor of server 235). The steps of the method 1000 are described in more detail below.

Шаг 1002: получение данных изображения для обучающей области, содержащей обучающий объект.Step 1002: Obtain image data for the training region containing the training object.

[0200] Способ 1000 начинается с шага 1002, на котором процессор получает данные изображения для обучающей области, содержащей обучающий объект. В некоторых вариантах осуществления изобретения обучающий объект представляет собой участок дороги или участок тротуара. Следует отметить, что данные изображения для обучающей области и данные об обучающем объекте могут использоваться при эксплуатации транспортного средства в обучающей области. В некоторых вариантах осуществления изобретения транспортное средство может представлять собой автомобиль SDC, эксплуатируемый на участках дороги. В других вариантах осуществления изобретения транспортное средство может представлять собой робота-доставщика, эксплуатируемого на участках тротуара.[0200] The method 1000 begins with step 1002, in which the processor receives image data for a training region containing a training object. In some embodiments of the invention, the training object is a section of a road or a section of a sidewalk. It should be noted that the image data for the training region and the data about the training object can be used when operating a vehicle in the training region. In some embodiments of the invention, the vehicle can be an SDC vehicle operated on sections of a road. In other embodiments of the invention, the vehicle can be a delivery robot operated on sections of a sidewalk.

[0201] Предполагается, что данные изображения могут содержать множество файлов данных изображения. В некоторых вариантах осуществления изобретения данные изображения могут содержать представление вида с высоты птичьего полета для обучающей области. В других вариантах осуществления изобретения данные изображения могут содержать двумерное изображение обучающей области, сформированное процессором из трехмерного облака точек, представляющего обучающую область. В других вариантах осуществления изобретения данные изображения могут содержать одно или несколько растровых изображений.[0201] It is contemplated that the image data may comprise a plurality of image data files. In some embodiments of the invention, the image data may comprise a bird's eye view representation of the training region. In other embodiments of the invention, the image data may comprise a two-dimensional image of the training region generated by a processor from a three-dimensional point cloud representing the training region. In other embodiments of the invention, the image data may comprise one or more raster images.

Шаг 1004: формирование карты сегментации с использованием модели сегментации на основе данных изображения.Step 1004: Generate a segmentation map using the segmentation model based on the image data.

[0202] Способ 1000 продолжается на шаге 1004, на котором процессор способен формировать на основе данных изображения карту сегментации с использованием модели 650 сегментации. Модель 650 сегментации может представлять собой алгоритм MLA, способный выполнять сегментацию данных изображения. В некоторых вариантах осуществления изобретения предполагается, что модель 650 сегментации может, среди прочего, назначать метки для пикселов введенного изображения так, чтобы пикселы с одинаковой меткой имели одинаковую характеристику (или несколько характеристик). В одном примере пикселы, связанные с меткой, могут представлять один и тот же объект на введенном изображении. Также предполагается, что множество алгоритмов может применяться в отношении размеченных пикселов с целью определения контура или границы объекта на введенном изображении.[0202] The method 1000 continues at step 1004, where the processor is configured to generate a segmentation map based on the image data using a segmentation model 650. The segmentation model 650 may be an MLA algorithm that is configured to perform segmentation of the image data. In some embodiments of the invention, it is contemplated that the segmentation model 650 may, among other things, assign labels to pixels of the input image so that pixels with the same label have the same characteristic (or several characteristics). In one example, pixels associated with a label may represent the same object in the input image. It is also contemplated that a plurality of algorithms may be applied to the labeled pixels in order to determine the contour or boundary of an object in the input image.

[0203] В некоторых вариантах осуществления настоящей технологии модель 650 сегментации может быть реализована в виде сети CNN, обученной для сегментирования изображений. В одном варианте осуществления изобретения сеть CNN может иметь архитектуру U-Net.[0203] In some embodiments of the present technology, the segmentation model 650 may be implemented as a CNN network trained for image segmentation. In one embodiment of the invention, the CNN network may have a U-Net architecture.

[0204] Можно сказать, что выходные данные модели 650 сегментации (карта сегментации) могут содержать множество точек, задающих обучающую границу многоугольного участка. Выходные данные модели 650 сегментации могут содержать соответствующим образом связанные векторы признаков для множества точек.[0204] It can be said that the output data of the segmentation model 650 (segmentation map) may comprise a plurality of points defining a training boundary of a polygonal region. The output data of the segmentation model 650 may comprise correspondingly associated feature vectors for the plurality of points.

[0205] Обучающая многоугольная граница, сформированная моделью 650 сегментации, может представлять собой сформированную компьютером границу, соответствующую попытке определения обучающего объекта в обучающей области. Обучающая граница многоугольного участкасодержит последовательность точек границы, при этом положение точки границы в последовательности задано как изменение положения относительно положения предыдущей точки границы из этой последовательности.[0205] The training polygonal boundary generated by the segmentation model 650 may be a computer-generated boundary corresponding to an attempt to determine a training object in the training region. The training boundary of the polygonal region comprises a sequence of boundary points, wherein the position of the boundary point in the sequence is defined as a change in position relative to the position of the previous boundary point from this sequence.

Шаг 1006: получение фактической границы многоугольного участка, задающей обучающий объект на карте сегментации.Step 1006: Get the actual boundary of the polygonal region that defines the training object in the segmentation map.

[0206] Способ 1000 продолжается на шаге 1006, на котором процессор способен получать фактическую границу многоугольного участка, задающую обучающий объект на карте сегментации. Фактическая граница многоугольного участка содержит последовательность ребер границы, определенных экспертом (например, картографом). Данные, указывающие на фактическую границу многоугольного участка, могут храниться в устройстве 400 хранения данных в сочетании с обучающей областью. В некоторых вариантах осуществления изобретения эксперту может быть поручено вручную определять последовательность ребер границы, представляющих фактическое местоположение обучающего объекта в обучающей области.[0206] The method 1000 continues at step 1006, where the processor is configured to obtain an actual boundary of the polygonal region defining the training object on the segmentation map. The actual boundary of the polygonal region comprises a sequence of boundary edges determined by an expert (e.g., a cartographer). Data indicating the actual boundary of the polygonal region may be stored in the data storage device 400 in conjunction with the training region. In some embodiments of the invention, the expert may be instructed to manually determine the sequence of boundary edges representing the actual location of the training object in the training region.

Шаг 1008: определение отклонения положения от ближайшего ребра из последовательности ребер, указывающего на метку точки границы, для точки границы из последовательности точек границы.Step 1008: Determine the position deviation from the nearest edge from the edge sequence that points to the boundary point label for the boundary point from the boundary point sequence.

[0207] Способ 1000 продолжается на шаге 1008, на котором процессор способен для точки границы из последовательности точек обучающей границы многоугольного участка определять отклонение ее положения от ближайшего ребра из последовательности ребер фактической границы многоугольного участка. Следует отметить, что определенное таким образом отклонение указывает на метку точки границы, подлежащую использованию для обучения второй модели.[0207] The method 1000 continues at step 1008, where the processor is configured to determine, for a boundary point from a sequence of points of the training boundary of the polygonal region, a deviation of its position from the nearest edge from the sequence of edges of the actual boundary of the polygonal region. It should be noted that the deviation determined in this way indicates a label of the boundary point to be used for training the second model.

Шаг 1010: обучение второй модели прогнозированию оценки достоверности для точки границы этапа использования границы многоугольного участка этапа использования.Step 1010: Train the second model to predict the confidence score for the boundary point of the use stage boundary of the polygonal region of the use stage.

[0208] Способ 1000 продолжается на шаге 1010, на котором для точки границы из последовательности точек границы процессор способен обучать вторую модель 850 прогнозированию оценки достоверности для точки границы этапа использования границы многоугольного участка этапа использования.[0208] The method 1000 continues at step 1010, wherein for a boundary point of the sequence of boundary points, the processor is configured to train a second model 850 to predict a confidence score for the boundary point of the use stage boundary of the polygonal portion of the use stage.

[0209] Обучение в ходе итерации обучения включает в себя использование второй моделью вектора признаков, связанного с точкой границы, и набора векторов признаков соседних точек на карте сегментации, представляющих контекст точки границы, для формирования прогнозируемой оценки положения точки границы. Обучение в ходе итерации обучения включает в себя корректировку второй модели 850 на основе сравнения прогнозируемой оценки и метки.[0209] Training during the training iteration includes using a second model of a feature vector associated with the boundary point and a set of feature vectors of neighboring points on the segmentation map representing the context of the boundary point to form a predicted estimate of the position of the boundary point. Training during the training iteration includes adjusting the second model 850 based on a comparison of the predicted estimate and the label.

[0210] В некоторых вариантах осуществления изобретения предполагается, что набор векторов признаков соседних точек может соответствовать векторам признаков соседних точек вдоль границы многоугольного участка (например, последовательности точек границы). В частности, соседние точки могут включать в себя одну или несколько предшествующих точек границы и/или одну или несколько последующих точек границы из последовательности точек границы, образующих границу многоугольного участка.[0210] In some embodiments of the invention, it is contemplated that a set of feature vectors of neighboring points may correspond to feature vectors of neighboring points along a boundary of a polygonal region (e.g., a sequence of boundary points). In particular, neighboring points may include one or more preceding boundary points and/or one or more subsequent boundary points from a sequence of boundary points forming a boundary of a polygonal region.

[0211] В некоторых вариантах осуществления изобретения вторая модель 850 представляет собой модель классификации, а метка указывает на первый класс, соответствующий классу высокой достоверности, если отклонение меньше заранее заданного порога, или указывает на второй класс, соответствующий классу низкой достоверности, если отклонение больше заранее заданного порога. Например, заранее заданный порог может быть равен 20 см.[0211] In some embodiments of the invention, the second model 850 is a classification model, and the label indicates a first class corresponding to a high confidence class if the deviation is less than a predetermined threshold, or indicates a second class corresponding to a low confidence class if the deviation is greater than a predetermined threshold. For example, the predetermined threshold may be 20 cm.

[0212] В других вариантах осуществления изобретения предполагается, что вторая модель 850 может содержать различные части или различные головы для выполнения задачи классификации и задачи регрессии. В этих вариантах осуществления изобретения процессор может определять несколько меток для точки границы. Несколько меток могут включать в себя первую метку, указывающую на отклонение от ближайшего ребра, и вторую метку, указывающую на то, что это отклонение меньше или больше заранее заданного порога.[0212] In other embodiments of the invention, it is contemplated that the second model 850 may comprise different parts or different heads for performing the classification task and the regression task. In these embodiments of the invention, the processor may determine multiple labels for the boundary point. The multiple labels may include a first label indicating a deviation from the closest edge, and a second label indicating that this deviation is less than or greater than a predetermined threshold.

[0213] Предполагается, что процессор может получать данные изображения этапа использования для области этапа использования, содержащей объект этапа использования, не оцененный экспертом. Процессор с использованием модели 650 сегментации может формировать карту сегментации этапа использования, задающую границу многоугольного участка этапа использования, подобно тому, как модель 650 сегментации формирует обучающий многоугольный участок. Затем процессор может использовать обученную вторую модель 850 с целью формирования оценки достоверности этапа использования для точки границы этапа использования из последовательности точек границы этапа использования. Если оценка достоверности указывает на низкую достоверность (т.е. указывает на соответствующий класс и/или оказывается меньшей порогового значения), то процессор может автоматически назначать по меньшей мере часть области этапа использования для оценивания экспертом и получать фактическую границу многоугольного участка объекта этапа использования от эксперта.[0213] It is contemplated that the processor may receive the image data of the use stage for the region of the use stage containing the use stage object that has not been evaluated by the expert. The processor, using the segmentation model 650, may generate a segmentation map of the use stage that defines the boundary of the polygonal region of the use stage, similar to how the segmentation model 650 generates the training polygonal region. The processor may then use the trained second model 850 to generate a confidence estimate of the use stage for a point of the boundary of the use stage from a sequence of points of the boundary of the use stage. If the confidence estimate indicates low confidence (i.e., indicates an appropriate class and/or is less than a threshold), then the processor may automatically assign at least a portion of the region of the use stage for evaluation by the expert and receive the actual boundary of the polygonal region of the use stage object from the expert.

[0214] Следует отметить, что многоугольные участки могут отправляться с сервера 235 электронному устройству 210, связанному с транспортным средством, для целей навигации. Например, один или несколько алгоритмов навигации и/или управления, выполняемых электронным устройством 210, могут использовать многоугольные участки одного или нескольких элементов из области карты для навигации и/или для управления работой транспортного средства в этой области карты.[0214] It should be noted that the polygonal sections can be sent from the server 235 to the electronic device 210 associated with the vehicle for navigation purposes. For example, one or more navigation and/or control algorithms performed by the electronic device 210 can use the polygonal sections of one or more elements from the map region for navigation and/or for controlling the operation of the vehicle in this map region.

[0215] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.[0215] Possible changes and improvements to the above-described embodiments of the present technology may be obvious to a person skilled in the art. The preceding description is provided for illustrative purposes only and is not intended to limit the scope of the invention. The scope of protection of the present technology is determined solely by the scope of the appended claims.

Claims (50)

1. Способ классификации точек границы многоугольного участка объекта на изображении карты окрестности, выполняемый процессором и включающий в себя:1. A method for classifying the boundary points of a polygonal section of an object on an image of a neighborhood map, performed by a processor and including: получение процессором данных изображения для обучающей области, содержащей обучающий объект, от по меньшей мере одного датчика;receiving, by a processor, image data for a training region containing a training object from at least one sensor; формирование процессором на основе данных изображения карты сегментации с использованием модели сегментации, причем карта сегментации содержит множество точек, связанных с соответствующим вектором признаков, сформированным моделью сегментации, и определяет обучающую границу многоугольного участка, задающую обучающий объект в обучающей области и содержащую последовательность точек границы, при этом положение точки границы в последовательности задано как изменение положения относительно положения предыдущей точки границы из этой последовательности;forming by the processor, based on the image data, a segmentation map using a segmentation model, wherein the segmentation map comprises a plurality of points associated with a corresponding feature vector formed by the segmentation model, and defines a training boundary of a polygonal area defining a training object in the training region and containing a sequence of boundary points, wherein the position of the boundary point in the sequence is specified as a change in position relative to the position of the previous boundary point from this sequence; получение процессором фактической границы многоугольного участка, задающей обучающий объект на карте сегментации и содержащей последовательность ребер границы, определенных экспертом;obtaining by the processor the actual boundary of the polygonal area, defining the training object on the segmentation map and containing a sequence of boundary edges determined by the expert; определение для точки границы из последовательности точек границы отклонения ее положения от ближайшего ребра из последовательности ребер, указывающего на метку точки границы;determining for a boundary point from a sequence of boundary points the deviation of its position from the nearest edge from the sequence of edges pointing to the boundary point label; обучение процессором второй модели прогнозированию оценки достоверности для точки границы этапа использования границы многоугольного участка этапа использования, при этом обучение на итерации обучения включает в себя:training the processor of the second model to predict the reliability estimate for a point of the boundary of the use stage of the boundary of the polygonal section of the use stage, wherein training at the training iteration includes: - использование второй моделью вектора признаков, связанного с точкой границы, и набора векторов признаков соседних точек на карте сегментации, представляющих контекст точки границы, для формирования прогнозируемой оценки положения точки границы;- using a second model of a feature vector associated with a boundary point and a set of feature vectors of neighboring points on the segmentation map representing the context of the boundary point to generate a predictive estimate of the position of the boundary point; - корректировку второй модели на основе результата сравнения прогнозируемой оценки и метки;- adjustment of the second model based on the result of comparison of the predicted estimate and the label; классификацию процессором на основе полученных данных изображения для области этапа использования точек границы многоугольного участка с использованием обученной второй модели.classification by the processor based on the obtained image data for the area of the stage of using the boundary points of the polygonal area using the trained second model. 2. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя:2. The method according to paragraph 1, characterized in that it additionally includes: получение процессором данных изображения на этапе использования для области этапа использования, содержащей объект этапа использования, который не был оценен экспертом, для формирования фактической границы многоугольного участка, задающей объект этапа использования;obtaining by the processor of the image data at the use stage for the area of the use stage containing the object of the use stage that has not been assessed by the expert, to form the actual boundary of the polygonal area defining the object of the use stage; формирование процессором карты сегментации на этапе использования, задающей границу многоугольного участка этапа использования, содержащую последовательность точек границы этапа использования, с использованием модели сегментации;the formation by the processor of a segmentation map at the use stage, defining the boundary of the polygonal section of the use stage, containing a sequence of points of the boundary of the use stage, using the segmentation model; формирование процессором оценки достоверности для точки границы этапа использования из последовательности точек границы этапа использования с использованием второй модели;generating by the processor a reliability estimate for a point of the boundary of the stage of use from a sequence of points of the boundary of the stage of use using the second model; в ответ на определение низкой оценки достоверности автоматическое определение по меньшей мере части области этапа использования для оценивания экспертом;in response to determining a low confidence score, automatically determining at least a portion of the area of the use stage for evaluation by an expert; получение процессором фактической границы многоугольного участка объекта на этапе использования от эксперта. receiving by the processor the actual boundary of the polygonal section of the object at the stage of use from the expert. 3. Способ по п. 1, отличающийся тем, что обучающий объект представляет собой участок дороги или участок тротуара.3. The method according to paragraph 1, characterized in that the training object is a section of a road or a section of a sidewalk. 4. Способ по п. 1, отличающийся тем, что данные изображения содержат представление вида с высоты птичьего полета для обучающей области.4. The method according to claim 1, characterized in that the image data contains a representation of a bird's eye view of the training area. 5. Способ по п. 1, отличающийся тем, что данные изображения содержат двумерное изображение обучающей области, сформированное из трехмерного облака точек, представляющего обучающую область.5. The method according to claim 1, characterized in that the image data contains a two-dimensional image of the training region, formed from a three-dimensional point cloud representing the training region. 6. Способ по п. 1, отличающийся тем, что данные изображения содержат одно или несколько растровых изображений.6. The method according to paragraph 1, characterized in that the image data contains one or more raster images. 7. Способ по п. 1, отличающийся тем, что модель сегментации представляет собой полносверточную нейронную сеть.7. The method according to claim 1, characterized in that the segmentation model is a fully convolutional neural network. 8. Способ по п. 1, отличающийся тем, что вторая модель представляет собой модель классификации, а метка указывает на первый класс, соответствующий классу высокой достоверности, если отклонение меньше заранее заданного порога, или указывает на второй класс, соответствующий классу низкой достоверности, если отклонение больше заранее заданного порога.8. The method according to claim 1, characterized in that the second model is a classification model, and the label indicates the first class corresponding to the high confidence class if the deviation is less than a predetermined threshold, or indicates the second class corresponding to the low confidence class if the deviation is greater than a predetermined threshold. 9. Способ по п. 1, отличающийся тем, что вторая модель содержит две головы, при этом первая голова обучена на основе первой метки, указывающей на отклонение от ближайшего ребра, а вторая голова обучена на основе второй метки, указывающей на то, что это отклонение меньше либо больше заранее заданного порога.9. The method according to claim 1, characterized in that the second model contains two heads, wherein the first head is trained on the basis of a first mark indicating a deviation from the nearest edge, and the second head is trained on the basis of a second mark indicating that this deviation is less than or greater than a predetermined threshold. 10. Способ по п. 1, отличающийся тем, что граница многоугольного участка на этапе использования хранится в сочетании с областью этапа использования и передается второму процессору, связанному с транспортным средством, для навигации транспортного средства в области этапа использования.10. The method according to claim 1, characterized in that the boundary of the polygonal section at the use stage is stored in combination with the area of the use stage and is transmitted to a second processor associated with the vehicle for navigating the vehicle in the area of the use stage. 11. Способ по п. 10, отличающийся тем, что транспортное средство представляет собой самоуправляемый автомобиль, эксплуатируемый на участках дороги.11. The method according to paragraph 10, characterized in that the vehicle is a self-driving car operated on road sections. 12. Способ по п. 10, отличающийся тем, что транспортное средство представляет собой робота-доставщика, эксплуатируемого на участках тротуара.12. The method according to paragraph 10, characterized in that the vehicle is a delivery robot operated on sections of sidewalk. 13. Процессор для классификации точек границы многоугольного участка объекта на изображении карты окрестности, выполненный с возможностью:13. A processor for classifying the boundary points of a polygonal section of an object on an image of a map of the vicinity, configured to: получения данных изображения для обучающей области, содержащей обучающий объект, от по меньшей мере одного датчика;obtaining image data for a training region containing a training object from at least one sensor; формирования на основе данных изображения карты сегментации с использованием модели сегментации, при этом карта сегментации содержит множество точек, связанных с соответствующим вектором признаков, сформированным моделью сегментации, и определяет обучающую границу многоугольного участка, задающую обучающий объект в обучающей области и содержащую последовательность точек границы, при этом положение точки границы в последовательности задано как изменение положения относительно положения предыдущей точки границы из этой последовательности;forming, based on the image data, a segmentation map using a segmentation model, wherein the segmentation map comprises a plurality of points associated with a corresponding feature vector generated by the segmentation model and defines a training boundary of a polygonal area defining a training object in the training region and containing a sequence of boundary points, wherein the position of the boundary point in the sequence is specified as a change in position relative to the position of the previous boundary point from this sequence; получения фактической границы многоугольного участка, задающей обучающий объект на карте сегментации и содержащей последовательность ребер границы, определенных экспертом;obtaining the actual boundary of a polygonal area, defining a training object on the segmentation map and containing a sequence of boundary edges determined by an expert; определения для точки границы из последовательности точек границы отклонения ее положения от ближайшего ребра из последовательности ребер, указывающего на метку точки границы;determining for a boundary point from a sequence of boundary points the deviation of its position from the nearest edge from the sequence of edges pointing to the boundary point label; обучения второй модели прогнозированию оценки достоверности для точки границы этапа использования границы многоугольного участка этапа использования, при этом обучение на итерации обучения включает в себя:training the second model to predict the reliability score for a point of the boundary of the use stage of the boundary of the polygonal section of the use stage, whereby training at the training iteration includes: - использование второй моделью вектора признаков, связанного с точкой границы, и набора векторов признаков соседних точек на карте сегментации, представляющих контекст точки границы, для формирования прогнозируемой оценки положения точки границы;- using a second model of a feature vector associated with a boundary point and a set of feature vectors of neighboring points on the segmentation map representing the context of the boundary point to generate a predictive estimate of the position of the boundary point; - корректировку второй модели на основе результата сравнения прогнозируемой оценки и метки;- adjustment of the second model based on the result of comparison of the predicted estimate and the label; классификации на основе полученных данных изображения для области этапа использования точек границы многоугольного участка с использованием обученной второй модели.classification based on the obtained image data for the area of the stage of using the boundary points of the polygonal area using the trained second model. 14. Процессор по п. 13, отличающийся тем, что дополнительно выполнен с возможностью:14. The processor according to item 13, characterized in that it is additionally designed with the ability to: получения данных изображения этапа использования для области этапа использования, содержащей объект этапа использования, который не был оценен экспертом, для формирования фактической границы многоугольного участка, задающей объект этапа использования;obtaining the image data of the use stage for the area of the use stage containing the use stage object that has not been assessed by the expert to form the actual boundary of the polygonal area defining the use stage object; формирования карты сегментации этапа использования, задающей границу многоугольного участка этапа использования, содержащую последовательность точек границы этапа использования, с использованием модели сегментации;forming a segmentation map of the use stage, defining the boundary of the polygonal section of the use stage, containing a sequence of points of the boundary of the use stage, using the segmentation model; формирования оценки достоверности для точки границы этапа использования из последовательности точек границы этапа использования с использованием второй модели;forming a reliability estimate for a point in the use stage boundary from a sequence of points in the use stage boundary using a second model; автоматического определения по меньшей мере части области этапа использования для оценивания экспертом, если оценка достоверности указывает на низкую достоверность;automatically determining at least a portion of the area of the use stage for evaluation by an expert if the reliability assessment indicates low reliability; получения фактической границы многоугольного участка объекта этапа использования от эксперта. obtaining the actual boundary of a polygonal section of an object at the stage of use from an expert. 15. Процессор по п. 13, отличающийся тем, что обучающий объект представляет собой участок дороги или участок тротуара.15. The processor according to paragraph 13, characterized in that the training object is a section of a road or a section of a sidewalk. 16. Процессор по п. 13, отличающийся тем, что данные изображения содержат представление вида с высоты птичьего полета для обучающей области.16. The processor according to claim 13, characterized in that the image data contains a representation of a bird's eye view of the training area. 17. Процессор по п. 13, отличающийся тем, что данные изображения содержат двумерное изображение обучающей области, сформированное из трехмерного облака точек, представляющего обучающую область.17. The processor according to claim 13, characterized in that the image data contains a two-dimensional image of the training region, formed from a three-dimensional point cloud representing the training region. 18. Процессор по п. 13, отличающийся тем, что данные изображения содержат одно или несколько растровых изображений.18. The processor according to claim 13, characterized in that the image data contains one or more raster images. 19. Процессор по п. 13, отличающийся тем, что модель сегментации представляет собой полносверточную нейронную сеть.19. The processor according to claim 13, characterized in that the segmentation model is a fully convolutional neural network. 20. Процессор по п. 13, отличающийся тем, что вторая модель представляет собой модель классификации, а метка указывает на первый класс, соответствующий классу высокой достоверности, если отклонение меньше заранее заданного порога, или указывает на второй класс, соответствующий классу низкой достоверности, если отклонение больше заранее заданного порога.20. The processor according to claim 13, characterized in that the second model is a classification model, and the label indicates a first class corresponding to a high confidence class if the deviation is less than a predetermined threshold, or indicates a second class corresponding to a low confidence class if the deviation is greater than a predetermined threshold. 21. Процессор по п. 13, отличающийся тем, что вторая модель содержит две головы, при этом первая голова обучена на основе первой метки, указывающей на отклонение от ближайшего ребра, а вторая голова обучена на основе второй метки, указывающей на то, что это отклонение меньше либо больше заранее заданного порога.21. The processor according to claim 13, characterized in that the second model contains two heads, wherein the first head is trained on the basis of a first mark indicating a deviation from the nearest edge, and the second head is trained on the basis of a second mark indicating that this deviation is less than or greater than a predetermined threshold. 22. Процессор по п. 13, отличающийся тем, что граница многоугольного участка на этапе использования хранится в сочетании c областью этапа использования и передается второму процессору, связанному с транспортным средством, для навигации транспортного средства в области этапа использования.22. The processor according to claim 13, characterized in that the boundary of the polygonal section at the use stage is stored in combination with the area of the use stage and is transmitted to a second processor associated with the vehicle for navigation of the vehicle in the area of the use stage. 23. Процессор по п. 22, отличающийся тем, что транспортное средство представляет собой самоуправляемый автомобиль, эксплуатируемый на участках дороги.23. The processor according to paragraph 22, characterized in that the vehicle is a self-driving car operated on road sections. 24. Процессор по п. 22, отличающийся тем, что транспортное средство представляет собой робота-доставщика, эксплуатируемого на участках тротуара.24. The processor according to paragraph 22, characterized in that the vehicle is a delivery robot operated on sections of sidewalk.
RU2023128466A 2023-11-02 2023-11-02 Method and processor for classification of points on boundary of polygonal section RU2836700C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/934,672 US20250148806A1 (en) 2023-11-02 2024-11-01 Method and processor for classifying points on a polygon boundary

Publications (1)

Publication Number Publication Date
RU2836700C1 true RU2836700C1 (en) 2025-03-19

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8004517B1 (en) * 2005-06-24 2011-08-23 Geomagic, Inc. Methods, apparatus and computer program products that model three-dimensional surface structures
US20160240001A1 (en) * 2013-11-04 2016-08-18 The University Of British Columbia Methods and systems for generating polycube segmentations from input meshes of objects
RU2616539C2 (en) * 2014-02-22 2017-04-17 Сяоми Инк. Method and device for detecting straight line
US20180188059A1 (en) * 2016-12-30 2018-07-05 DeepMap Inc. Lane Line Creation for High Definition Maps for Autonomous Vehicles

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8004517B1 (en) * 2005-06-24 2011-08-23 Geomagic, Inc. Methods, apparatus and computer program products that model three-dimensional surface structures
US20160240001A1 (en) * 2013-11-04 2016-08-18 The University Of British Columbia Methods and systems for generating polycube segmentations from input meshes of objects
RU2616539C2 (en) * 2014-02-22 2017-04-17 Сяоми Инк. Method and device for detecting straight line
US20180188059A1 (en) * 2016-12-30 2018-07-05 DeepMap Inc. Lane Line Creation for High Definition Maps for Autonomous Vehicles

Similar Documents

Publication Publication Date Title
US20230214728A1 (en) Method and a system of determining lidar data degradation degree
US20220113385A1 (en) Lidar systems and methods with selective scanning
EP3982156A1 (en) Lidar systems and methods with selective scanning
US20240175709A1 (en) Method and electronic device for controlling operation of a self driving car
US20220196809A1 (en) Scanner for a lidar system and lidar systems and methods including a scanner
US20220113429A1 (en) Lidar systems and methods
RU2836700C1 (en) Method and processor for classification of points on boundary of polygonal section
US20250148806A1 (en) Method and processor for classifying points on a polygon boundary
US20230204739A1 (en) Lidar system and a method of calibrating the lidar system
EP3982155A2 (en) Lidar systems and methods
US12111399B2 (en) Lidar detection methods and systems with optical fiber array
US12135376B2 (en) LiDAR detection methods and systems with FBG filter
RU2752016C2 (en) Lidar methods and systems with scanning with selective density based on mems
RU2836391C1 (en) Method and server for updating map representation
RU2842879C2 (en) Method and server for updating map view
US20220206163A1 (en) Lidar systems and methods
RU2745882C1 (en) Methods and systems based on lidar with extended field of view based on passive elements
RU2798363C2 (en) Lidar systems and methods
RU2798364C2 (en) Lidar systems and methods
RU2826476C1 (en) Method and system for determining degree of deterioration of lidar data
RU2829187C1 (en) Lidar systems and methods
RU2829088C1 (en) Lidar system and method of calibrating lidar system
RU2821107C1 (en) Method and system for determining trajectory of autonomous vehicle
RU2778383C2 (en) Lidar systems and detection methods
RU2792951C2 (en) Lidar systems and methods with selective scanning