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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000012549 training Methods 0.000 claims abstract description 113
- 230000011218 segmentation Effects 0.000 claims abstract description 101
- 239000013598 vector Substances 0.000 claims abstract description 37
- 238000012384 transportation and delivery Methods 0.000 claims description 16
- 238000013527 convolutional neural network Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 11
- 238000011156 evaluation Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 7
- 238000013145 classification model Methods 0.000 claims description 6
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 claims description 5
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 7
- 230000000694 effects Effects 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 114
- 238000001514 detection method Methods 0.000 description 35
- 230000003287 optical effect Effects 0.000 description 30
- 238000013500 data storage Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 21
- 210000003128 head Anatomy 0.000 description 20
- 238000013528 artificial neural network Methods 0.000 description 13
- 230000010287 polarization Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 10
- 230000005855 radiation Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 238000001228 spectrum Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000003709 image segmentation Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 229910000530 Gallium indium arsenide Inorganic materials 0.000 description 3
- KXNLCSXBJCPWGL-UHFFFAOYSA-N [Ga].[As].[In] Chemical compound [Ga].[As].[In] KXNLCSXBJCPWGL-UHFFFAOYSA-N 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- FTWRSWRBSVXQPI-UHFFFAOYSA-N alumanylidynearsane;gallanylidynearsane Chemical compound [As]#[Al].[As]#[Ga] FTWRSWRBSVXQPI-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000013210 evaluation model Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000010813 municipal solid waste Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Abstract
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
[069] Связь между элементами компьютерной системы 100 может осуществляться через одну или несколько внутренних и/или внешних шин (не показаны), таких как шина PCI, шина USB, шина FireWire стандарта IEEE 1394, шина SCSI, шина Serial-ATA и т.д., с которыми различные аппаратные элементы соединены электронными средствами. Согласно вариантам осуществления настоящей технологии, твердотельный накопитель 120 хранит программные команды, пригодные для загрузки в память 130 и исполнения процессором 110 для определения наличия объекта. Например, программные команды могут входить в состав управляющего приложения транспортного средства, выполняемого процессором 110. Следует отметить, что компьютерная система 100 может содержать дополнительные и/или не обязательные элементы (не показаны), такие как модули передачи данных по сети, модули определения местоположения и т.д.[069] Communication between elements of
Сетевая вычислительная средаNetwork computing environment
[070] На фиг. 2 представлена сетевая вычислительная среда 200, пригодная для использования с некоторыми не имеющими ограничительного характера вариантами осуществления настоящей технологии. Сетевая вычислительная среда 200 содержит электронное устройство 210, связанное с транспортным средством 220 и/или с пользователем (не показан), связанным с транспортным средством 220 (таким как оператор транспортного средства 220). Сетевая вычислительная среда 200 также содержит сервер 235, связанный с электронным устройством 210 через сеть 240 связи (такую как сеть Интернет и т.п., как более подробно описано ниже).[070] Fig. 2 illustrates a
[071] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сетевая вычислительная среда 200 может содержать спутник системы GPS (не показан), передающий сигнал GPS электронному устройству 210 или и/или принимающий сигнал GPS от него. Должно быть понятно, что настоящая технология не ограничивается системой GPS и может использовать технологию определения местоположения, отличную от системы GPS. Следует отметить, что спутник GPS может вовсе отсутствовать.[071] In some non-limiting embodiments of the present technology, the
[072] Транспортное средство 220, с которым связано электронное устройство 210, может представлять собой любое транспортное средство для отдыха или иной деятельности, такое как легковой автомобиль индивидуального или коммерческого использования, грузовой автомобиль, мотоцикл и т.п. Несмотря на то, что транспортное средство 220 изображено в виде наземного транспортного средства, это не обязательно для всех не имеющих ограничительного характера вариантов осуществления настоящей технологии. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии транспортное средство 220 может представлять собой водное транспортное средство, такое как лодка, или воздушное транспортное средство, такое как беспилотный летательный аппарат.[072] The
[073] Транспортное средство 220 может управляться пользователем или представлять собой самоуправляемое транспортное средство. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии предполагается, что транспортное средство 220 может быть реализовано в виде автомобиля SDC. Следует отметить, что не накладывается ограничений на конкретные параметры транспортного средства 220, такие как производитель транспортного средства, модель транспортного средства, год выпуска транспортного средства, масса транспортного средства, размеры транспортного средства, распределение массы транспортного средства, площадь поверхности транспортного средства, высота транспортного средства, вид трансмиссии (например, привод на два или на четыре колеса), вид шин, тормозная система, топливная система, пробег, идентификационный номер транспортного средства, рабочий объем двигателя и т.д.[073] The
[074] В других вариантах осуществления настоящей технологии транспортное средство 220 может быть реализовано в виде робота-доставщика, способного выполнять доставку. В отличие от автомобилей SDC, эксплуатируемых на дороге, роботы-доставщики обычно эксплуатируются на тротуарах или в других частях географической области, где могут ходить люди. По сравнению с автомобилем SDC, они имеют небольшой размер и могут осуществлять навигацию в окружающей среде для доставки предметов от отправителя к получателю.[074] In other embodiments of the present technology, the
[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
[076] В зависимости от конкретного варианта осуществления изобретения, электронное устройство 210 может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1. В некоторых вариантах осуществления изобретения электронное устройство 210 представляет собой бортовое компьютерное устройство и содержит процессор 110, твердотельный накопитель 120 и память 130. Иными словами, электронное устройство 210 содержит аппаратные средства и/или прикладное программное обеспечение и/или встроенное программное обеспечение либо их сочетание для обработки данных, как более подробно описано ниже.[076] Depending on the particular embodiment of the invention, the
[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
[078] В некоторых вариантах осуществления настоящей технологии сервер 235 реализован в виде компьютерного сервера и может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1. В одном не имеющем ограничительного характера примере сервер 235 реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™, но он также может быть реализован с использованием любых других подходящих аппаратных средств, прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 235 представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 235 могут быть распределены между несколькими серверами (не показаны).[078] In some embodiments of the present technology, the
[079] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 электронного устройства 210 может быть связан с сервером 235 для получения одного или нескольких обновлений. Такие обновления могут содержать обновления программного обеспечения, обновления карт, обновления маршрутов, обновления погодных данных и т.п. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 также может отправлять серверу 235 некоторые рабочие данные, такие как пройденные маршруты, данные о дорожном движении, рабочие характеристики и т.п. Некоторые или все такие данные, передаваемые между транспортным средством 220 и сервером 235, могут быть зашифрованы и/или обезличены.[079] In some non-limiting embodiments of the present technology, the
[080] Следует отметить, что сервер 235 может быть связан с устройством 400 хранения данных. В устройстве 400 хранения данных могут храниться разнообразные данные для использования сервером 235 и/или электронным устройством 210. В некоторых вариантах осуществления изобретения в устройстве хранения данных может быть размещена одна или несколько баз данных. В общем случае база данных представляет собой структурированную коллекцию данных и доступна с помощью электронных средств. Небольшие базы данных могут храниться в файловой системе, а большие базы данных размещаются в компьютерных кластерах или в облачном хранилище данных. Структура баз данных зависит от различных технологий и практических соображений, включая моделирование данных, эффективное представление и хранение данных, языки запросов, безопасность и защита конфиденциальных данных, а также проблемы распределенных вычислений, включая одновременный доступ и отказоустойчивость. По меньшей мере некоторые не имеющие ограничительного характера примеры данных, хранящихся в устройстве 400 хранения данных, описаны ниже со ссылкой на фиг. 4.[080] It should be noted that the
[081] В других вариантах осуществления настоящей технологии сервер 235 может выполнять один или несколько алгоритмов машинного обучения (MLA, Machine Learned Algorithm). В общем случае алгоритмы MLA способны обучаться на обучающих образцах и обеспечивать прогнозирование на основе новых (неизвестных) данных. Алгоритмы MLA обычно используются для первоначального построения модели на основе обучающих входных данных, чтобы затем осуществлять прогнозы или принимать решения на основе данных, выраженные в виде выходных данных, а не выполнять статические машиночитаемые команды.[081] In other embodiments of the present technology, the
[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
[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
[086] Как показано на фиг. 2, сервер 235 может выполнять модель 650 сегментации и модель 850 прогнозирования. Модель 650 сегментации может представлять собой алгоритм MLA, способный выполнять сегментацию данных изображения. В общем случае сегментация изображения представляет собой процесс разделения цифрового изображения на множество сегментов изображения и может использоваться для определения местоположения объектов и/или границ (линий, кривых и т.д.) на изображениях. В некоторых вариантах осуществления изобретения предполагается, что модель 650 сегментации может, среди прочего, назначать метки для пикселов введенного изображения так, чтобы пикселы с одинаковой меткой имели одинаковую характеристику (или несколько характеристик). В одном примере пикселы, связанные с меткой, могут представлять один и тот же объект на введенном изображении. Также предполагается, что множество алгоритмов может применяться в отношении размеченных пикселов с целью определения контура или границы объекта на введенном изображении.[086] As shown in FIG. 2,
[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
[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
[089] Как более подробно описано ниже, модель 650 сегментации может применяться для сегментирования данных изображения об областях карты с целью определения объектов и формирования границ этих объектов в соответствующих областях карты. Предполагается, что эти объекты могут включать в себя участки дороги, доступные дорожным транспортным средствам (например, автомобилям, грузовикам, автобусам и мотоциклам), участки тротуара, доступные пешеходам и относительно небольшим роботизированным транспортным средствам (например, доставочным роботам), участки пути, доступные пешеходам, дорожным транспортным средствам и относительно небольшим роботизированным транспортным средствам, и т.п.[089] As described in more detail below, the
[090] Следует отметить, что модель 650 сегментации может применяться на этапе ее использования в областях карты, не оцененных экспертами. Например, картографу может быть поручено отслеживать границы объектов одного или нескольких классов на карте. При этом получение таких оцененных экспертом данных требует значительных затрат времени и средств. Поскольку определение фактических границ объектов на очень большой карте практически невозможно, разработчики настоящей технологии разработали систему, где в оцененных экспертом областях карты используется фактическая информация о границах объектов, а результаты модели 650 сегментации могут использоваться для областей карты, которые не были оценены таким образом.[090] It should be noted that the
[091] Разработчики настоящей технологии установили, что, несмотря на пользу от использования модели 650 сегментации в не оцененных областях, эта модель 650 не обеспечивает удовлетворительного качества прогнозирования в некоторых из этих не оцененных областей. В этой связи разработчики разработали способы и системы, использующие модель 850 прогнозирования для формирования указания на достоверность информации о границе, сформированной моделью 650 сегментации.[091] The developers of the present technology have determined that, despite the benefit of using the
[092] В общем случае модель 850 прогнозирования может быть обучена прогнозированию для одной или нескольких точек вдоль границы, сформированной моделью 650 сегментации, оценок достоверности, указывающих на то, правильно ли размещены на карте эти точки. В некоторых вариантах осуществления изобретения можно сказать, что оценки достоверности указывают на вероятность правильного размещения этих точек на карте. В других вариантах осуществления изобретения можно сказать, что оценки достоверности указывают на уровень достоверности правильного размещения этих точек на карте. Оцененные области карты могут использоваться для обучения прогнозирования модели 850 прогнозирования на основе фактических данных от экспертов и данных сегментации из модели 650 сегментации. Ниже более подробно описано обучение модели 850 прогнозирования. Следует отметить, что когда модель 850 прогнозирования на этапе ее использования определяет, что одна или несколько точек границы, сформированной моделью 650 сегментации для не оцененной области, возможно, неправильно размещены, то эта не оцененная область может быть помечена для оценивания экспертом. Иными словами, модель 650 сегментации может использоваться для формирования границ многоугольных участков в некоторых не оцененных областях без дополнительного ввода данных экспертом, тогда как в других не оцененных областях выходные данные модели 850 прогнозирования могут указывать на то, что экспертам должно быть поручено определение фактических границ вместо использования лишь результатов работы модели 650 сегментации.[092] In general, the
[093] Следует отметить, что электронное устройство 210 может использовать множество датчиков и систем для сбора информации об окрестности 250 транспортного средства 220 (см. фиг. 2). Как показано, транспортное средство 220 может быть оснащено множеством систем 280 датчиков. Следует отметить, что различные системы датчиков из множества систем 280 датчиков могут использоваться для сбора данных различных видов об окрестности 250 транспортного средства 220.[093] It should be noted that the
[094] В одном примере множество систем 280 датчиков может содержать различные оптические системы, включая, среди прочего, одну или несколько систем датчиков вида «камера», установленных на транспортном средстве 220 и связанных с процессором 110 электронного устройства 210. В общем случае одна или несколько систем датчиков вида «камера» могут собирать данные изображения о различных частях окрестности 250 транспортного средства 220. В некоторых случаях данные изображения, предоставленные одной или несколькими системами датчиков вида «камера», могут быть использованы электронным устройством 210 для выполнения процедур обнаружения объекта. Например, электронное устройство 210 может вводить данные изображения, предоставленные одной или несколькими системами датчиков вида «камера», в нейронную сеть обнаружения объектов (ODNN, Object Detection Neural Network), обученную определению местоположения и классификации потенциальных объектов в окрестности 250 транспортного средства 220.[094] In one example, the plurality of
[095] В другом примере множество систем 280 датчиков может содержать одну или несколько систем радиолокационных датчиков, установленных на транспортном средстве 220 и связанных с процессором 110. В общем случае одна или несколько систем радиолокационных датчиков могут использовать радиоволны, чтобы собирать данные изображения для различных частей окрестности 250 транспортного средства 220. Например, одна или несколько систем радиолокационных датчиков могут собирать радиолокационные данные о потенциальных объектах в окрестности 250 транспортного средства 220, при этом такие данные потенциально могут представлять расстояние до объектов от радиолокационной системы датчиков, ориентацию объектов, скорость объектов и т.п.[095] In another example, the plurality of
[096] Следует отметить, что множество систем 280 датчиков может содержать системы датчиков других видов в дополнение к неисчерпывающим образом описанным выше без выхода за границы настоящей технологии.[096] It should be noted that the plurality of
[097] В некоторых вариантах осуществления настоящей технологии транспортное средство 220 может быть реализовано в виде доставочного робота. Доставочные роботы или автономные роботы-доставщики представляют собой транспортные средства относительно небольшого размера, используемые для доставки. Например, они могут осуществлять навигацию на тротуарах и приспособлены для преодоления разнообразных препятствий на маршруте до пункта назначения. В качестве преимуществ автономных роботов-доставщиков можно привести сокращение потребности в крупных грузовиках с потенциально большими выбросами вредных веществ при движении в густонаселенных городах и уменьшение количества водителей, требуемых для быстрой доставки пользователям предметов, заказанных в сети Интернет.[097] In some embodiments of the present technology, the
Лидарная система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
[099] В зависимости от варианта осуществления изобретения, транспортное средство 220 может содержать больше или меньше лидарных систем 300, чем показано. В зависимости от варианта осуществления изобретения, применение конкретных систем из множества систем 280 датчиков может зависеть от варианта осуществления лидарной системы 300. Лидарная система 300 может быть установлена на транспортном средстве 220 изначально или при его модернизации в различных местах и/или в различных конфигурациях.[099] Depending on the embodiment of the invention, the
[0100] Например, в зависимости от варианта реализации транспортного средства 220 и лидарной системы 300, лидарная система 300 может быть установлена с внутренней стороны на верхней части ветрового стекла транспортного средства 220. Тем не менее, в пределах объема настоящей технологии возможны и другие места монтажа лидарной системы 300, включая заднее окно, боковые окна, передний капот, крышу, переднюю решетку, передний бампер или боковую поверхность транспортного средства 220 (см. фиг. 2). В некоторых случаях лидарная система 300 может быть установлена в специальном кожухе, установленном сверху транспортного средства 220.[0100] For example, depending on the embodiment of the
[0101] В некоторых не имеющих ограничительного характера вариантах осуществления изобретения система из множества лидарных систем 300 установлена на крыше транспортного средства 220 в поворотной конфигурации (см. фиг. 2). Например, лидарная система 300, установленная на транспортном средстве 220 с возможностью вращения, может содержать меньшей мере некоторые элементы, способные поворачиваться на 360 градусов вокруг оси вращения лидарной системы 300. В случае установки в поворотной конфигурации лидарная система 300 может собирать данные о большинстве частей окрестности 250 транспортного средства 220.[0101] In some non-limiting embodiments of the invention, the system of
[0102] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии лидарная система 300 установлена, например, на боковой поверхности или на передней решетке, в неповоротной конфигурации (см. фиг. 2). В частности, лидарная система 300, установленная на транспортном средстве 220 без возможности вращения, может содержать меньшей мере некоторые элементы, которые не поворачиваются на 360 градусов, но обеспечивают сбор данных о заранее заданных частях окрестности 250 транспортного средства 220.[0102] In some non-limiting embodiments of the present technology, the
[0103] Независимо от конкретного местоположения и/или конкретной конфигурации, лидарная система 300 способна фиксировать данные об окрестности 250 транспортного средства 220, используемые, например, для построения многомерной карты объектов в окрестности 250 транспортного средства 220. Ниже подробно описана конфигурация лидарных систем 300 для фиксации данных об окрестности 250 транспортного средства 220.[0103] Regardless of the specific location and/or specific configuration, the
[0104] Следует отметить, что несмотря на то, что в представленном здесь описании лидарная система 300 реализована в виде времяпролетной (Time of Flight) лидарной системы и, следовательно, содержит соответствующие элементы, подходящие для ее реализации, также возможны и другие варианты реализации лидарной системы 300 без выхода за границы настоящей технологии. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии лидарная система 300 также может быть реализована в виде лидарной системы непрерывного излучения с частотной модуляцией (FMCW, Frequency-Modulated Continuous Wave) согласно одному или нескольким вариантам реализации и основываться на соответствующих элементах, как описано в патентной заявке RU2020117983 «Способы и системы обнаружения лидаров», поданной 01 июня 2020 г., содержание которой полностью включено в настоящий документ посредством ссылки.[0104] It should be noted that, although the
[0105] На фиг. 3 представлена схема одного конкретного варианта осуществления лидарной системы 300, реализованного согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[0105] Fig. 3 is a diagram of one specific embodiment of a
[0106] В общем случае лидарная система 300 содержит множество внутренних элементов, в числе прочего, таких как (а) источник 302 света (также называется лазером или источником излучения), (б) светоделительный элемент 304, (в) сканирующий блок 308 (также называется сканером или блоком сканера), (г) блок 306 обнаружения (также называется системой обнаружения, блоком приема или детектором) и (д) контроллер 310. Предполагается, что в дополнение к элементам представленного выше открытого перечня, лидарная система 300 может содержать множество датчиков (таких как датчик температуры, датчик влаги и т.д.), которые опущены на фиг. 3 для упрощения.[0106] In general, the
[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
[0108] В общем случае лидарная система 300 работает следующим образом: источник света 302 лидарной системы 300 излучает световые импульсы, образующие выходной луч 314, сканирующий блок 308 сканирует выходным лучом 314 через окно 380 окрестность 250 транспортного средства 220 с целью определения местоположения или фиксации данных о заранее неизвестных объектах (таких как объект 320), например, для формирования многомерной карты окрестности 250, на которой объекты (включая объект 320) представлены в виде одной или нескольких точек данных. Ниже более подробно описаны источник 302 света и сканирующий блок 308.[0108] In general, the
[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
[0111] Входной луч 316 фиксируется и обнаруживается лидарной системой 300 с использованием блока 306 обнаружения. При этом блок 306 обнаружении способен формировать один или несколько репрезентативных сигналов данных. Например, блок 306 обнаружении может формировать выходной электрический сигнал (не показан), представляющий входной луч 316. Блок 306 обнаружения также может выдавать сформированный таким образом электрический сигнал в контроллер 310 для дальнейшей обработки. Контроллер 310 рассчитывает расстояние 318 до объекта 320 путем измерения времени между излучением выходного луча 314 и приемом входного луча 316.[0111] The
[0112] Как более подробно описано ниже, светоделительный элемент 304 используется для направления выходного луча 314 из источника 302 света в сканирующий блок 308 и для направления входного луча 316 из сканирующего блока в блок 306 обнаружения.[0112] As described in more detail below,
[0113] Ниже описаны использование и реализация этих элементов лидарной системы 300 согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[0113] The use and implementation of these elements of the
Источник светаLight source
[0114] Источник 302 света связан с контроллером 310 и способен излучать свет с определенной рабочей длиной волны. С этой целью в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии источник 302 света может содержать по меньшей мере один лазер, заранее настроенный для работы с определенной рабочей длиной волны. Рабочая длина волны источника 302 света может соответствовать инфракрасной, видимой и/или ультрафиолетовой частям электромагнитного спектра. Например, источник 302 света может содержать по меньшей мере один лазер с рабочей длиной волны в диапазоне приблизительно 650-1150 нм. В качестве альтернативы, источник 302 света может содержать лазерный диод, способный излучать свет с длиной волны в диапазонах приблизительно 800-1000 нм, приблизительно 850-950 нм или приблизительно 1300-1600 нм. В некоторых других вариантах осуществления изобретения источник 302 света может содержать светодиод. [ 0114] The
[0115] Источник 302 света лидарной системы 300 обычно представляет собой безопасный для зрения лазер или, иными словами, лидарная система 300 может быть классифицирована как безопасная для зрения лазерная система или лазерное изделие. В общем случае безопасный для зрения лазер, лазерная система или лазерное изделие может представлять собой систему, в которой некоторые или все параметры из числа длины волны излучения, средней мощности, пиковой мощности, пиковой интенсивности, энергии импульса, размера луча, расходимости луча, продолжительности воздействия или траектории выходного луча таковы, что риск повреждения глаз человека излученным из этой системы светом незначителен или полностью отсутствует.[0115] The
[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
[0117] Источник 302 света содержит импульсный лазер, способный формировать и излучать световые импульсы определенной длительности. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии источник 302 света может излучать импульсы с длительностью импульса (с шириной импульса) от 10 пс до 100 нс. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии источник 302 света может излучать импульсы с частотой повторения импульсов приблизительно от 100 кГц до 5 МГц или с периодом импульсов (со временем между следующими друг за другом импульсами) приблизительно от 200 нс до 10 мкс. В общем случае источник 302 света может формировать выходной луч 314 с любой подходящей средней оптической мощностью. Кроме того, выходной луч 314 может содержать оптические импульсы с любой подходящей для данного варианта применения энергией импульса или пиковой оптической мощностью.[0117] The
[0118] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии источник 302 света может содержать один или несколько лазерных диодов, включая, в числе прочего, лазерный диод Фабри-Перо, лазер на квантовой яме, лазер с отражателем DBR, лазер с обратной связью DFB или лазер VCSEL. Например, лазерный диод, работающий в источнике 302 света, может представлять собой лазерный диод на арсениде алюминия-галлия (AlGaAs), лазерный диод на арсениде галлия-индия (InGaAs), лазерный диод на арсениде-фосфиде галлия-индия (InGaAsP) или любой другой подходящий лазерный диод. Также предполагается, что источник 302 света может содержать один или несколько лазерных диодов с модуляцией током для формирования оптических импульсов.[0118] In some non-limiting embodiments of the present technology, the
[0119] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии источник 302 света в целом способен излучать коллимированный выходной луч 314. Тем не менее, предполагается, что формируемый луч может иметь любую подходящую для данного варианта применения расходимость луча. В общем случае расходимость выходного луча 314 представляет собой угловую меру увеличения размера поперечного сечения луча (например, радиуса или диаметра луча) по мере удаления выходного луча 314 от источника 302 света или от лидарной системы 300. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии выходной луч 314 может иметь по существу круглое поперечное сечение.[0119] In some non-limiting embodiments of the present technology, the
[0120] Также предполагается, что выходной луч 314, излученный источником 302 света, может быть неполяризованным или поляризованным случайным образом, может не иметь конкретной или фиксированной поляризации (например, поляризация может изменяться с течением времени) или может иметь конкретную поляризацию (например, выходной луч 314 может иметь линейную поляризацию, эллиптическую поляризацию или круговую поляризацию).[0120] It is also contemplated that the
[0121] В по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии выходной луч 314 и входной луч 316 могут быть в основном соосными. Иными словами, выходной луч 314 и входной луч 316 могут по меньшей мере частично перекрываться или иметь общую ось распространения так, чтобы входной луч 316 и выходной луч 314 распространялись вдоль практически одного и того же оптического пути (но в противоположных направлениях). Тем не менее, в других не имеющих ограничительного характера вариантах осуществления настоящей технологии выходной луч 314 и входной луч 316 могут быть несоосными или, иными словами, могут не перекрываться или не иметь общей оси распространения внутри лидарной системы 300 без выхода за границы настоящей технологии.[0121] In at least some non-limiting embodiments of the present technology, the
[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
Светоделительный элементBeam splitter element
[0123] На фиг. 3 также представлен светоделительный элемент 304, расположенный в корпусе 330. Например, как описано выше, светоделительный элемент 304 способен направлять выходной луч 314 из источника 302 света в сканирующий блок 308. Светоделительный элемент 304 также способен направлять входной луч 316, отраженный от объекта 320, в блок 306 обнаружения для его дальнейшей обработки контроллером 310. [ 0123] Fig. 3 also shows a
[0124] Тем не менее, согласно другим не имеющим ограничительного характера вариантам осуществления настоящей технологии, светоделительный элемент 304 может разделять выходной луч 314 на по меньшей мере две составляющие меньшей интенсивности, включая сканирующий луч (отдельно не показан), используемый для сканирования окрестности 250 лидарной системы 300, и опорный луч (отдельно не показан), направляемый в блок 306 обнаружения.[0124] However, according to other non-limiting embodiments of the present technology, the
[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
[0126] Также следует отметить, что некоторая часть (например, до 10%) интенсивности выходного луча 314 может поглощаться материалом светоделительного элемента 304, что зависит от его конкретной конструкции.[0126] It should also be noted that some portion (for example, up to 10%) of the intensity of the
[0127] В зависимости от варианта реализации лидарной системы 300, светоделительный элемент 304 может быть различного вида, включая, в числе прочего, светоделительный элемент на основе стеклянной призмы, светоделительный элемент на основе полупосеребренного зеркала, светоделительный элемент на основе дихроичной зеркальной призмы, волоконно-оптический светоделительный элемент и т.п.[0127] Depending on the embodiment of the
[0128] Таким образом, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, открытый перечень настраиваемых параметров, связанных со светоделительным элементом 304 может, например, в зависимости от конкретного варианта его применения, включать в себя диапазон рабочих длин волн, который может изменяться от конечного количества длин волн до более широкого спектра света (например, 1200-1600 нм), угол падения входного луча, наличие или отсутствие поляризации и т.п.[0128] Thus, according to non-limiting embodiments of the present technology, an open list of adjustable parameters associated with the
[0129] В конкретном не имеющем ограничительного характера примере светоделительный элемент 304 может быть реализован в виде волоконно-оптического светоделительного элемента, например, поставляемого компанией OZ Optics Ltd. (219 Westbrook Rd Ottawa, Ontario K0A 1L0, Canada (Канада)). Очевидно, что светоделительный элемент 304 может быть реализован в виде любого другого подходящего оборудования.[0129] In a specific non-limiting example, the
Внутренние пути лучей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
[0131] Подобным образом входной луч 316 распространяется вдоль множества внутренних путей 312 лучей в блок 306 обнаружения. В частности, входной луч 316 направляется сканирующим блоком 308 в лидарную систему 300 - через светоделительный элемент 304 в блок 306 обнаружения. В некоторых вариантах осуществления изобретения в лидарной системе 300 могут быть предусмотрены пути лучей, направляющие входной луч 316 из окрестности 250 непосредственно в блок 306 обнаружения (без прохождения входного луча 316 через сканирующий блок 308).[0131] In a similar manner, the
[0132] Следует отметить, что в различных не имеющих ограничительного характера вариантах осуществления настоящей технологии множество внутренних путей 312 луча может содержать разнообразные оптические элементы. Например, лидарная система 300 может содержать один или несколько оптических элементов, способных обрабатывать, придавать форму, фильтровать, модифицировать или направлять выходной луч 314 и/или входной луч 316. Например, лидарная система 300 может содержать один или несколько элементов из числа линз, зеркал, фильтров (например, полосовых или интерференционных фильтров), оптических волокон, циркуляторов, светоделителей, поляризаторов, поляризационных светоделителей, волновых пластин (например, полуволновых или четвертьволновых пластин), дифракционных элементов, микроэлектромеханических элементов, коллимационных элементов или голографических элементов.[0132] It should be noted that in various non-limiting embodiments of the present technology, the plurality of
[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
Сканирующий блокScanning unit
[0134] В общем случае сканирующий блок 308 направляет выходной луч 314 в одном или в нескольких направлениях в сторону окрестности 250. Сканирующий блок 308 связан с контроллером 310. Контроллер 310 способен управлять сканирующим блоком 308 так, чтобы направлять выходной луч 314 в требуемом направлении и/или согласно заранее заданной схеме сканирования. В общем случае в контексте настоящего описания схема сканирования может соответствовать схеме или траектории, согласно которой выходной луч 314 направляется сканирующим блоком 308 при его работе.[0134] In general, the
[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
[0136] Следует отметить, что местоположение объекта 320 в окрестности 250 транспортного средства 220 может перекрываться, содержаться или охватываться, по меньшей мере частично, областью 325 ROI лидарной системы 300.[0136] It should be noted that the location of the
[0137] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, сканирующий блок 308 может сканировать выходным лучом 314 по горизонтали и/или по вертикали и поэтому область 325 ROI лидарной системы 300 может иметь горизонтальное направление и вертикальное направление. Например, область 325 ROI может быть задана углом 45 градусов по горизонтали и углом 45 градусов по вертикали. В некоторых вариантах осуществления изобретения различные оси сканирования могут иметь различную ориентацию.[0137] According to some non-limiting embodiments of the present technology, the
[0138] Сканирующий блок 308 может содержать первый отражающий элемент 350 и второй отражающий элемент 360. Первый отражающий элемент 350 может перенаправлять выходной луч 314 из светоделительного элемента в сторону второго отражающего элемента 360, обеспечивая распределение выходного луча вдоль первой оси. Второй отражающий элемент 360 может перенаправлять выходной луч 314 из первого отражающего элемента 350 в сторону окрестности 250 (через окно 380 корпуса 330), обеспечивая распределение выходного луча вдоль второй оси. Вторая ось может быть перпендикулярна и/или ортогональна первой оси. Благодаря тому, что выходной луч 314 таким образом перенаправляется и распределяется с использованием сочетания первого отражающего элемента 350 и второго отражающего элемента 360, возможно сканирование окрестности 250 транспортного средства 220 вдоль по меньшей мере двух перпендикулярных или ортогональных осей.[0138] The
[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
[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
Блок обнаруженияDetection unit
[0142] Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, блок 306 обнаружения связан с контроллером 310 и может быть реализован множеством способов. Согласно настоящей технологии, блок 306 обнаружения содержит фотодетектор, но может, в числе прочего, содержать фотоприемник, оптический приемник, оптический датчик, детектор, оптический детектор, оптические волокна и т.п. Как описано выше, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии блок 306 обнаружения может получать или обнаруживать по меньшей мере часть входного луча 316 и формировать электрический сигнал, соответствующий входному лучу 316. Например, если входной луч 316 содержит оптический импульс, то блок 306 обнаружения может сформировать импульс электрического тока или напряжения, соответствующий оптическому импульсу, обнаруженному блоком 306 обнаружения.[0142] According to some non-limiting embodiments of the present technology, the
[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
[0144] В некоторых не имеющих ограничительного характера вариантах осуществления изобретения блок 306 обнаружения также может содержать схему, выполняющую усиление сигнала, выборку, фильтрацию, преобразование сигнала, аналого-цифровое преобразование, преобразование время-код, обнаружение импульсов, пороговое обнаружение, обнаружение нарастающего фронта, обнаружение спадающего фронта и т.п. Например, блок 306 обнаружения может содержать электронные элементы, способные преобразовывать полученный фототок (например, ток, сформированный лавинным фотодиодом в ответ на принятый оптический сигнал) в сигнал напряжения. Блок 306 обнаружения также может содержать дополнительную схему для формирования аналогового или цифрового выходного сигнала, соответствующего одной или нескольким характеристикам (например, нарастающему фронту, спадающему фронту, амплитуде, длительности и т.п.) принятого оптического импульса.[0144] In some non-limiting embodiments of the invention, the
КонтроллерController
[0145] В зависимости от варианта реализации, контроллер 310 может содержать один или несколько процессоров, схему ASIC, матрицу FPGA и/или другую подходящую схему. Контроллер 310 также может содержать машиночитаемую физическую память для хранения команд, исполняемых контроллером 310, и данных, которые контроллер 310 может формировать на основе сигналов, полученных от других внутренних элементов лидарной системы 300, и/или сигналов, выдаваемых в другие внутренние элементы лидарной системы 300. Память может содержать энергозависимые элементы (например, ОЗУ) и/или энергонезависимые элементы (например, флэш-память, жесткий диск). Контроллер 310 может формировать данные во время работы и сохранять их в памяти. Например, эти данные, сформированные контроллером 310, могут указывать на точки данных в облаке точек лидарной системы 300. [ 0145] Depending on the embodiment, the
[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
[0147] Как описано выше, контроллер 310 связан с источником 302 света, со сканирующим блоком 308 и с блоком 306 обнаружения. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии контроллер 310 может получать от источника 302 света электрические запускающие импульсы, каждый из которых соответствует излучению оптического импульса источником 302 света. Контроллер 310 также может выдавать в источник 302 света команды, управляющий сигнал и/или запускающий сигнал, указывающие на то, когда источник 302 света должен формировать оптические импульсы, например, образующие выходной луч 314.[0147] As described above, the
[0148] Например, контроллер 310 может отправлять электрический запускающий сигнал, содержащий электрические импульсы, так, чтобы источник 302 света излучал оптический импульс, который может быть представлен выходным лучом 314, в ответ на каждый электрический импульс электрического запускающего сигнала. Также предполагается, что контроллер 310 может обеспечивать корректировку источником 302 света одной или нескольких характеристик выходного луча 314, формируемого источником 302 света, таких как частота, период, длительность, энергия импульса, пиковая мощность, средняя мощность, длина волны оптических импульсов и т.д.[0148] For example, the
[0149] Согласно настоящей технологии, контроллер 310 способен определять значение «времени пролета» для оптического импульса с целью определения расстояния между лидарной системой 300 и одним или несколькими объектами в поле зрения, как описано ниже. Время пролета основано на информации о времени, связанной (а) с первым моментом времени излучения оптического импульса (например, из выходного луча 314) источником 302 света и (б) со вторым моментом времени обнаружения или приема блоком 306 обнаружения части оптического импульса (например, из входного луча 316). В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первый момент может указывать на момент времени выдачи контроллером 310 соответствующего электрического импульса, связанного с оптическим импульсом, а второй момент времени может указывать на момент времени получения контроллером 310 от блока 306 обнаружения электрического сигнала, сформированного в ответ на получение части оптического импульса из входного луча 316.[0149] According to the present technology, the
[0150] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии, где светоделительный элемент 304 может разделять выходной луч 314 на сканирующий луч (не показан) и опорный луч (не показан), первый момент времени может соответствовать моменту времени получения от блока 306 обнаружения первого электрического сигнала, сформированного в ответ на получение части опорного луча. Соответственно, в этих вариантах осуществления изобретения второй момент времени может быть определен как момент времени получения контроллером 310 от блока 306 обнаружения второго электрического сигнала, сформированного в ответ на получение другой части оптического импульса из входного луча 316.[0150] In other non-limiting embodiments of the present technology, where the
[0151] Согласно настоящей технологии, контроллер 310 способен на основе первого момента времени и второго момента времени определять значение времени пролета и/или значение фазовой модуляции для излученного импульса из выходного луча 314. Значение времени T пролета, в известном смысле, соответствует времени прохождения излученного импульса в обоих направлениях: от лидарной системы 300 до объекта 320 и обратно до лидарной системы 300. Таким образом, контроллер 310 может определять расстояние 318 согласно следующему уравнению:[0151] According to the present technology, the
, (1) , (1)
где D - расстояние 318, T - значение времени пролета, c - скорость света (приблизительно 3,0×108 м/с).where D is the
[0152] Как описано выше, лидарная система 300 может использоваться для определения расстояния 318 до одного или нескольких других потенциальных объектов, расположенных в окрестности 250. Путем сканирования выходным лучом 314 области 325 ROI лидарной системы 300 согласно заранее заданной схеме сканирования контроллер 310 способен сопоставлять расстояния (подобные расстоянию 318) с соответствующими точками данных в области 325 ROI лидарной системы 300. В результате контроллер 310 способен отображать эти последовательно зафиксированные точки данных (например, облако точек) в виде многомерной карты. В некоторых вариантах осуществления изобретения данные об измеренном времени пролета и/или расстоянии до объектов могут отображаться в различных информационных форматах.[0152] As described above, the
[0153] Например, такая многомерная карта может использоваться электронным устройством 210 для обнаружения объектов или идентификации их иным образом либо для определения формы или расстояния до потенциальных объектов в области 325 ROI лидарной системы 300. Предполагается, что лидарная система 300 может циклически или итеративно фиксировать и/или формировать облака точек с любой подходящей для данного варианта применения скоростью.[0153] For example, such a multidimensional map can be used by the
[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
Устройство хранения данных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
[0156] В некоторых вариантах осуществления настоящей технологии устройство 400 хранения данных может получать данные, собранные датчиками множества 404 транспортных средств, например, сотен или тысяч транспортных средств, реализованных подобно транспортному средству 220. Транспортные средства собирают данные датчиков, зафиксированные во время движения по различным маршрутам, и отправляют их устройству 400 хранения данных. В результате можно сказать, что в устройстве 400 хранения данных могут храниться данные 406 журналов для множества 404 транспортных средств (для парка транспортных средств).[0156] In some embodiments of the present technology, the
[0157] В других вариантах осуществления настоящей технологии сервер 235 может использовать данные 406 журналов для создания и/или обновления представления 402 карты географической области, где действует и/или действовало множество 404 транспортных средств. Предполагается, что сервер 235 может создавать представление 402 карты для карт географической области на основе совокупной информации, полученной от множества 404 транспортных средств, и сохранять представление 402 карты в устройстве 400 хранения данных.[0157] In other embodiments of the present technology, the
[0158] Сервер 235 может отправлять данные, соответствующие представлению 402 карты, электронным устройствам, связанным с транспортными средствами из множества 404 транспортных средств. Например, если транспортное средство 220 должно двигаться по маршруту, то электронное устройство 210 может предоставлять информацию, описывающую маршрут движения, серверу 235. В ответ сервер 235 предоставляет представление 402 карты (или его части) для движения по этому маршруту. Предполагается, что представление 402 карты может периодически выдаваться для локального сохранения электронным устройством 210 с целью использования без выхода за границы настоящей технологии.[0158] The
[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
[0160] Следует отметить, что сервер 235 может формировать представление 402 карты на основе данных 406 журналов. Сервер 235 обновляет ранее рассчитанные картографические данные путем получения более новой информации от транспортных средств, недавно перемещавшихся по маршрутам, для которых изменена информация карты. В одном варианте осуществления изобретения способы совмещения карт с использованием итеративных алгоритмов ближайших точек (ICP, Iterative Closest Point) (и их вариантов) могут быть использованы сервером 235 для соответствующих точек с наименьшим расстоянием на различных картах облаков из данных 406 журналов, чтобы объединить их и расширить или увеличить представление карты географической области, в которой были зафиксированы данные облака из данных 406 журналов.[0160] It should be noted that the
[0161] В по меньшей мере некоторых вариантах осуществления настоящей технологии сервер 235 может формировать двумерное представление области на основе трехмерного представления области. Например, сервер 235 может проецировать множество расположенных по вертикали точек на элемент двумерной сетки. Различные характеристики множества расположенных по вертикали точек могут использоваться с целью определения значения для этого элемента. В одном не имеющем ограничительного характера примере значения интенсивности из множества расположенных по вертикали точек могут объединяться для определения значения, которое должно быть связано с элементом двумерной сетки. Можно сказать, что в результате проецирования 3D-точек на двухмерную сетку возможно формирование данных изображения, представляющих различные области карты. Можно сказать, что в по меньшей мере некоторых вариантах осуществления изобретения в устройстве 400 хранения данных хранятся одно или несколько изображений, представляющих карту.[0161] In at least some embodiments of the present technology, the
[0162] Кроме того, в устройстве 400 хранения данных могут храниться дополнительные данные 410. В некоторых вариантах осуществления изобретения дополнительные данные 410 содержат информацию, указывающую на фактические границы многоугольного участка, предоставленные экспертами для по меньшей мере некоторых областей представления 402 карты. В других вариантах осуществления изобретения в устройстве 400 хранения данных может храниться множество графовых структур. Например, в устройстве 400 хранения данных может храниться графовая структура, представляющая тротуары. В другом примере в устройстве 400 хранения данных может храниться графовая структура, представляющая местоположение дорог и направление движения по этим дорогам. В еще одном примере в устройстве 400 хранения данных может храниться графовая структура, представляющая пути, которые могут использоваться пешеходами и транспортными средствами. В дополнительном примере в устройстве 400 хранения данных может храниться графовая структура, представляющая пешеходные переходы, которые могут использоваться пешеходами и относительно небольшими роботизированными транспортными средствами.[0162] In addition,
[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
[0167] На фиг. 6 приведено представление 600 для формирования моделью 650 сегментации карты 630 сегментации на основе данных 620 изображения. В некоторых вариантах осуществления изобретения данные 620 изображения могут содержать двумерное представление области карты. Такое изображение может быть сформировано путем проецирования точек из трехмерного облака точек на двумерную сетку. В других вариантах осуществления изобретения один или несколько дополнительных каналов 610 данных изображения могут подаваться в модель сегментации для формирования карты 630 сегментации. Например, одна или несколько графовых структур могут быть растрированы и введены как изображения в модель 650 сегментации.[0167] Fig. 6 shows a
[0168] Карта 630 сегментации содержит множество точек (без числового обозначения). Каждая точка из множества точек связана с вектором признаков, сформированным моделью 650 сегментации. Например, векторы признаков могут содержать признаки, полученные из изображений GeoTiff моделью 650 сегментации. Следует отметить, что вектор признаков, сформированный для пиксела, может по меньшей мере частично основываться на признаках, сформированных для соседних пикселов.[0168] The
[0169] Соседние пикселы для данного пиксела могут определяться или зависеть от конкретного варианта реализации модели 650 сегментации. В по меньшей мере некоторых вариантах осуществления изобретения множество точек может соответствовать последовательности точек, образующих границу многоугольного участка, где соседние точки для точки из последовательности могут включать в себя одну или несколько предшествующих точек и/или одну или несколько последующих точек для этой точки из последовательности.[0169] The neighboring pixels for a given pixel may be determined or depend on a particular embodiment of the
[0170] Карта 630 сегментации также содержит указание на границу многоугольного участка 640. Можно сказать, что граница многоугольного участка640 представляет собой оценку части карты 630 сегментации, содержащей объект. Можно сказать, что граница многоугольного участка640 представляет собой оценку периметра, задающего объект в области. Граница многоугольного участка640 содержит последовательность точек границы (без числового обозначения).[0170] The
[0171] Сервер 235 способен получать фактическую границу многоугольного участка 660, связанную с объектом, хранящимся в устройстве 400 хранения данных в сочетании с областью. Как описано выше, фактическая граница многоугольного участка660 предоставлена экспертом (например, картографом). В частности, эксперту может быть поручено вручную определять последовательность ребер границы, представляющих фактическое местоположение объекта в области.[0171] The
[0172] Сервер 235 может формировать метки для точек из последовательности точек границы для границы многоугольного участка 640. Эти метки могут быть определены путем отображения фактической границы многоугольного участка 660 на карту 630 сегментации и сравнения точек границы из границы многоугольного участка 640 с ребрами фактической границы многоугольного участка 660.[0172] The
[0173] На фиг. 7 приведено представление 700 для определения сервером 235 меток для соответствующих точек границы многоугольного участка 640. Здесь представлено ребро 710 из последовательности ребер фактической границы многоугольного участка 660. Также представлена подпоследовательность 750 точек границы из последовательности точек границы, содержащая первую точку 720 границы, вторую точку 730 границы и третью точку 740 границы.[0173] Fig. 7 shows a
[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
[0175] Сервер 235 может определять отклонение положения от ближайшего ребра из последовательности ребер. Следует отметить, что в не имеющем ограничительного характера примере, представленном на фиг. 7, ближайшему к первой точке 720 границы, ко второй точке 730 границы и к третьей точке 740 границы ребру соответствует ребро 710, но это не обязательно для всех вариантов осуществления настоящей технологии. Например, каждой точке из числа первой точки 720 границы, второй точки 730 границы и третьей точки 740 границы могут соответствовать различные ближайшие ребра.[0175] The
[0176] Сервер 235 может определять первое отклонение 721 для первой точки 720 границы и второе отклонение 722 для второй точки 730 границы, а также может определять, что третья точка 740 границы находится на ребре 710 (т.е. определять нулевое отклонение и/или то, что ребро 710 проходит через точку на карте сегментации, положение которой соответствует третьей точке 740 границы).[0176] The
[0177] Сервер 235 может определять метки для точек из последовательности 750 точек границы на основе соответствующих отклонений. В некоторых вариантах осуществления изобретения, где вторая модель способна выполнять задачу классификации, сервер 235 может определять, что отклонение оказывается меньшим или большим заранее заданного порога. Например, сервер 235 может определять метку, указывающую на первый класс, для первой точки 720 границы на основе первого отклонения 721, если первое отклонение 721 меньше заранее заданного порога, и может определять метку, указывающую на второй класс, для второй точки 730 границы на основе второго отклонения 722, если второе отклонение 722 больше заранее заданного порога. Например, заранее заданный порог отклонения может быть равен 20 см.[0177] The
[0178] В других вариантах осуществления изобретения, где вторая модель способна выполнять задачу регрессии, сервер 235 может использовать отклонение в качестве метки для соответствующей точки границы. Например, сервер 235 может определять метки для точек границы, которые указывают на значение смещения (например, на отклонения) для соответствующих точек границы. Как более подробно описано ниже, в по меньшей мере некоторых вариантах осуществления изобретения вторая модель может содержать несколько выходных голов, где первая голова для классификации способна решать задачу классификации, вторая голова для регрессии способна решать задачу регрессии, при этом метки для обеих голов формируются на основе отклонений, рассчитанных для соответствующих точек границы.[0178] In other embodiments of the invention, where the second model is capable of performing a regression task, the
[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
[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), в которую подаются входные признаки. В некоторых вариантах осуществления изобретения входные признаки содержат тензор, размер которого зависит от количества точек границы и от количества признаков изображения. Например, размер тензора может быть равен[N×(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 [ N× (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
[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
[0188] На фиг. 8 приведено представление 800 для процедуры обучения, которую сервер 235 может выполнять для второй модели 850 на основе границы многоугольного участка 640 и фактической границы многоугольного участка 660.[0188] Fig. 8 shows a
[0189] Сервер 235 может формировать обучающие данные на основе (а) положений точек границы из последовательности точек границы, (б) векторов признаков, связанных с точками границы из последовательности точек границы, (в) векторов признаков других точек с карты сегментации, которые являются соседними для точек границы из последовательности точек границы, и (г) меток, связанных с точками границы из последовательности точек границы.[0189]
[0190] На фиг. 8 представлена последовательность 810 положений, соответствующих положениям последовательности точек границы. Можно предположить, что положения 811, 812 и 813 соответствуют положениям первой точки 720 границы, второй точки 730 границы и третьей точки 740 границы, соответственно.[0190] Fig. 8 shows a
[0191] Следует отметить, что положение 812 второй точки 730 границы связано с вектором 815 признаков, связанным со второй точкой 730 границы и со множеством 818 соседних векторов признаков, связанных с соседними точками второй точки 730 границы. Можно сказать, что множество 818 соседних векторов признаков представляет контекст второй точки 730 границы. Предполагается, что модель может определять множество 818 соседних векторов признаков на основе соседних точек.[0191] It should be noted that the
[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
[0194] Сервер 235 способен сравнивать прогнозируемые оценки из последовательности 830 прогнозируемых оценок с последовательностью 820 меток. Например, последовательность 820 меток может содержать метки 821, 822 и 823 для соответствующих точек из числа первой точки 720 границы, второй точки 730 границы и третьей точки 740 границы. Таким образом, сервер 235 может сравнивать прогнозируемую оценку 832 с меткой 822. Сервер 235 может корректировать вторую модель 850 на основе результатов этих сравнений прогнозируемых значений и меток.[0194] The
[0195] На фиг. 9 приведено представление 900 для работы второй модели 850 на этапе использования. Вторая модель 850 может получать последовательность 910 положений, соответствующих положениям последовательности точек границы из многоугольного участка на этапе использования, сформированного моделью 650 сегментации в не оцененной области карты. Последовательность 910 положений содержит положения 911, 912 и 913.[0195] Fig. 9 shows a
[0196] Следует отметить, что положение 912, соответствующее точке границы многоугольного участка этапа использования, связано с вектором 915 признаков, связанным со второй точкой границы и со множеством 918 соседних векторов признаков, связанных с соседними точками этой точки границы. Можно сказать, что множество 918 соседних векторов признаков представляет контекст точки границы.[0196] It should be noted that the
[0197] Сервер 235 может вводить положения из последовательности 910 положений этапа использования с векторами признаков во вторую модель 850, которая формирует прогнозируемые оценки (оценки достоверности) этапа использования из последовательности 930 прогнозируемых оценок. Например, вторая модель 850 может формировать прогнозируемую оценку 932 для положения 912 и соответствующих векторов признаков.[0197] The
[0198] В некоторых вариантах осуществления изобретения, если одна или несколько прогнозируемых оценок из последовательности 930 прогнозируемых оценок указывают на то, что точки границы этапа использования размещены неправильно, сервер 235 может определять многоугольный участок на этапе использования (и/или его часть) и/или не оцененную область карты для последующего оценивания экспертом.[0198] In some embodiments of the invention, if one or more predicted estimates from the
[0199] На фиг. 10 представлена блок-схема способа 1000, выполняемого процессором (например, процессором сервера 235). Далее более подробно описаны шаги способа 1000.[0199] Fig. 10 is a flow chart of a
Шаг 1002: получение данных изображения для обучающей области, содержащей обучающий объект.Step 1002: Obtain image data for the training region containing the training object.
[0200] Способ 1000 начинается с шага 1002, на котором процессор получает данные изображения для обучающей области, содержащей обучающий объект. В некоторых вариантах осуществления изобретения обучающий объект представляет собой участок дороги или участок тротуара. Следует отметить, что данные изображения для обучающей области и данные об обучающем объекте могут использоваться при эксплуатации транспортного средства в обучающей области. В некоторых вариантах осуществления изобретения транспортное средство может представлять собой автомобиль SDC, эксплуатируемый на участках дороги. В других вариантах осуществления изобретения транспортное средство может представлять собой робота-доставщика, эксплуатируемого на участках тротуара.[0200] The
[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
[0203] В некоторых вариантах осуществления настоящей технологии модель 650 сегментации может быть реализована в виде сети CNN, обученной для сегментирования изображений. В одном варианте осуществления изобретения сеть CNN может иметь архитектуру U-Net.[0203] In some embodiments of the present technology, the
[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
[0205] Обучающая многоугольная граница, сформированная моделью 650 сегментации, может представлять собой сформированную компьютером границу, соответствующую попытке определения обучающего объекта в обучающей области. Обучающая граница многоугольного участкасодержит последовательность точек границы, при этом положение точки границы в последовательности задано как изменение положения относительно положения предыдущей точки границы из этой последовательности.[0205] The training polygonal boundary generated by the
Шаг 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
Шаг 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
Шаг 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
[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
[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
[0212] В других вариантах осуществления изобретения предполагается, что вторая модель 850 может содержать различные части или различные головы для выполнения задачи классификации и задачи регрессии. В этих вариантах осуществления изобретения процессор может определять несколько меток для точки границы. Несколько меток могут включать в себя первую метку, указывающую на отклонение от ближайшего ребра, и вторую метку, указывающую на то, что это отклонение меньше или больше заранее заданного порога.[0212] In other embodiments of the invention, it is contemplated that the
[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
[0214] Следует отметить, что многоугольные участки могут отправляться с сервера 235 электронному устройству 210, связанному с транспортным средством, для целей навигации. Например, один или несколько алгоритмов навигации и/или управления, выполняемых электронным устройством 210, могут использовать многоугольные участки одного или нескольких элементов из области карты для навигации и/или для управления работой транспортного средства в этой области карты.[0214] It should be noted that the polygonal sections can be sent from the
[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)
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)
| 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)
| 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 |