[go: up one dir, main page]

RU2810934C2 - Method for training machine learning algorithm for predicting intent parameter for object on ground for use in unmanned vehicles - Google Patents

Method for training machine learning algorithm for predicting intent parameter for object on ground for use in unmanned vehicles Download PDF

Info

Publication number
RU2810934C2
RU2810934C2 RU2021116056A RU2021116056A RU2810934C2 RU 2810934 C2 RU2810934 C2 RU 2810934C2 RU 2021116056 A RU2021116056 A RU 2021116056A RU 2021116056 A RU2021116056 A RU 2021116056A RU 2810934 C2 RU2810934 C2 RU 2810934C2
Authority
RU
Russia
Prior art keywords
training
vehicle
target
data
machine learning
Prior art date
Application number
RU2021116056A
Other languages
Russian (ru)
Other versions
RU2021116056A (en
Inventor
Борис Константинович Янгель
Максим Ильич Стебелев
Original Assignee
Общество с ограниченной ответственностью "Лаборатория Алисы"
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Лаборатория Алисы" filed Critical Общество с ограниченной ответственностью "Лаборатория Алисы"
Priority to US17/580,220 priority Critical patent/US20220388547A1/en
Publication of RU2021116056A publication Critical patent/RU2021116056A/en
Application granted granted Critical
Publication of RU2810934C2 publication Critical patent/RU2810934C2/en

Links

Abstract

FIELD: machine learning.
SUBSTANCE: group of inventions is related to a method for training a machine learning algorithm to predict the intent parameter for an object on the ground for use in unmanned vehicles and a method for operating an unmanned vehicle. An unmanned vehicle moves through the terrain near the object. The method is comprised of allowing the server to access operational data associated with the training vehicle; generation by the server of a training set for training the machine learning algorithm. The operating data includes data indicating the training location, the state of the training vehicle, and the state of the training object at the training location. The training set has input information and an accessory-free label. The input information includes data indicating the training location and target states of the training vehicle and training object. The accessory-free label is based on data indicating the future states of the training vehicle and training object at the training location at the target time.
EFFECT: improved performance of unmanned or semi-autonomous vehicles is achieved.
20 cl, 8 dwg

Description

ОБЛАСТЬ ТЕХНИКИTECHNICAL FIELD

[0001] Настоящая технология относится к реализуемым компьютером способам для обучения алгоритмов машинного обучения, а более конкретно, к способам генерирования и обучения алгоритма машинного обучения для прогнозирования параметра намерения для объекта на местности для использования в беспилотных (self-driving) транспортных средствах.[0001] The present technology relates to computer-implemented methods for training machine learning algorithms, and more particularly, to methods for generating and training a machine learning algorithm to predict an intent parameter for an object in the field for use in self-driving vehicles.

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

[0002] Беспилотные транспортные средства являются транспортными средствами, которые способны автономно перемещаться по частным и/или общественным местам. Используя систему датчиков, которые обнаруживают местоположение и/или окружение транспортного средства, логика внутри транспортного средства или связанная с ним управляет скоростью, тягой, торможением и рулевым управлением транспортного средства на основе обнаруживаемых датчиками местоположения и окружения беспилотного транспортного средства.[0002] Self-driving vehicles are vehicles that are capable of autonomously navigating private and/or public spaces. Using a system of sensors that detect the location and/or environment of the vehicle, logic within or associated with the vehicle controls the speed, traction, braking, and steering of the vehicle based on the location and environment of the autonomous vehicle detected by the sensors.

[0003] В самоуправляемом транспортном средстве могут использоваться различные системы датчиков, например, но без ограничения, системы камер, радарные системы и системы обнаружения света и определения дальности (LIDAR). Различные системы датчиков могут быть использованы для захвата различной информации, и/или в другом формате, о местоположении и окружении беспилотного транспортного средства. Например, системы камер могут использоваться для захвата данных изображения окружения беспилотного транспортного средства. В другом примере системы LIDAR могут использоваться для захвата данных облака точек для построения трехмерных картографических представлений окружения и других потенциальных объектов, расположенных в непосредственной близости от беспилотного транспортного средства.[0003] A self-driving vehicle may utilize a variety of sensor systems, such as, but not limited to, camera systems, radar systems, and light detection and ranging (LIDAR) systems. Different sensor systems can be used to capture different information, and/or in a different format, about the location and environment of the autonomous vehicle. For example, camera systems can be used to capture image data of a driverless vehicle's surroundings. In another example, LIDAR systems can be used to capture point cloud data to construct 3D map representations of the environment and other potential objects located in the vicinity of the autonomous vehicle.

[0004] Одна проблема, связанная с правильной эксплуатацией беспилотного транспортного средства, заключается в правильном определении вероятного намерения других движущихся объектов, таких как другие транспортные средства, вблизи беспилотного транспортного средства. На это определение может влиять большое число факторов, в том числе обнаруженная информация о конфигурации и движении окружающих объектов, движении беспилотного транспортного средства и местности, по которой движется беспилотное транспортное средство и другие объекты. Если это определение не является правильным, это может привести к резким маневрам или даже столкновению.[0004] One challenge associated with properly operating an unmanned vehicle is correctly determining the likely intent of other moving objects, such as other vehicles, in the vicinity of the unmanned vehicle. This determination can be influenced by a large number of factors, including detected information about the configuration and movement of surrounding objects, the movement of the autonomous vehicle, and the terrain over which the autonomous vehicle and other objects are moving. If this determination is not correct, it may result in sudden maneuvers or even a collision.

[0005] Хотя для выполнения этого определения можно использовать различные прогностические аналитические подходы, многие из них, такие как алгоритмы машинного обучения, необходимо обучать с использованием наборов предварительно размеченных обучающих данных. Чтобы обучить алгоритм машинного обучения точно прогнозировать «намерение» движущегося объекта по данным датчика, доступным для беспилотного транспортного средства, может потребоваться большие наборы предварительно размеченных обучающих данных, генерирование которых может быть трудоемким и дорогостоящим.[0005] While various predictive analytics approaches can be used to make this determination, many of them, such as machine learning algorithms, must be trained using sets of pre-labeled training data. Training a machine learning algorithm to accurately predict the “intent” of a moving object from sensor data available to an autonomous vehicle may require large sets of pre-labeled training data, which can be time-consuming and expensive to generate.

[0006] Патент США 10,739,775 раскрывает систему и способ для моделирования траектории автономного транспортного средства в реальном мире. Принимают обучающие данные от системы сбора данных в реальном мире, получают истинные данные и обучают множество моделей прогнозирования траектории. Фаза моделирования выполняется для генерирования ближайшего сценария для каждого моделируемого транспортного средства. Ближайшие сценарии соответствуют разным местоположениям, схемам движения или условиям окружающей среды. Могут быть обеспечены данные о намерении транспортного средства, соответствующие представлению данных различных типов моделируемых намерений водителя или транспортного средства.[0006] US Patent 10,739,775 discloses a system and method for simulating the trajectory of an autonomous vehicle in the real world. Receive training data from a real world data acquisition system, obtain ground truth data, and train multiple trajectory prediction models. The simulation phase is performed to generate the closest scenario for each vehicle being simulated. Nearby scenarios correspond to different locations, traffic patterns, or environmental conditions. Vehicle intent data corresponding to representing various types of simulated driver or vehicle intent data may be provided.

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

[0007] Как обсуждалось выше, для обучения алгоритма машинного обучения надежно прогнозировать намерение движущегося объекта может потребоваться использование большого набора обучающих данных. «Наивный» подход к созданию набора обучающих данных заключается в сборе данных о состоянии беспилотного транспортного средства, состоянии объекта и местности, и ручной разметке каждого элемента таких данных с помощью параметра намерения. Ручное генерирование больших наборов данных для обучения алгоритмов машинного обучения является чрезвычайно дорогостоящим и трудоемким процессом.[0007] As discussed above, training a machine learning algorithm to reliably predict the intent of a moving object may require the use of a large training data set. A “naive” approach to creating a training dataset is to collect data about the state of the autonomous vehicle, the state of the object and the terrain, and manually label each element of such data using an intent parameter. Manually generating large datasets to train machine learning algorithms is extremely expensive and time-consuming.

[0008] Соответственно, настоящая технология обеспечивает альтернативу использованию наборов размеченных вручную данных для обучения алгоритмов машинного обучения определять параметр намерения на местности. В частности, настоящая технология использует автоматизированный подход к генерированию больших наборов обучающих данных для обучения алгоритмов машинного обучения для использования с беспилотными транспортными средствами для определения параметра намерения. Затем технология использует алгоритмы машинного обучения, которые были обучены с использованием этих наборов данных, для эксплуатации беспилотного транспортного средства. Соответственно, настоящая технология эффективно улучшает работу беспилотных или полуавтономных транспортных средств.[0008] Accordingly, the present technology provides an alternative to using manually labeled data sets to train machine learning algorithms to determine the intent parameter on the ground. Specifically, the present technology uses an automated approach to generate large training data sets to train machine learning algorithms for use with autonomous vehicles to determine the intent parameter. The technology then uses machine learning algorithms that were trained using these data sets to operate the self-driving vehicle. Accordingly, the present technology effectively improves the performance of unmanned or semi-autonomous vehicles.

[0009] В соответствии с одним аспектом настоящего раскрытия, технология реализована в способе обучения алгоритма машинного обучения для прогнозирования параметра намерения для объекта на местности, в которой беспилотное транспортное средство движется по этой местности в непосредственной близости от объекта. Способ является выполняемым сервером и включает в себя осуществление доступа сервером к рабочим данным, связанным с обучающим транспортным средством, причем рабочие данные ранее были сохранены в хранилище. Рабочие данные включают в себя данные, указывающие: местность обучения, состояния обучающего транспортного средстве на местности обучения и состояния обучающего объекта на местности обучения.[0009] In accordance with one aspect of the present disclosure, the technology is implemented in a method of training a machine learning algorithm to predict an intent parameter for an object in a landscape in which an unmanned vehicle is moving through that terrain in close proximity to the object. The method is executable by the server and includes the server accessing operational data associated with the training vehicle, the operational data having previously been stored in storage. The operating data includes data indicating: the training location, the state of the training vehicle at the training location, and the state of the training object at the training location.

[00010] Для целевого момента времени в рабочих данных способ включает в себя извлечение из рабочих данных посредством сервера данных, указывающих местность обучения в целевой момент времени, целевое состояние обучающего транспортного средства, соответствующее целевому моменту времени, и будущее состояние обучающего транспортного средства после целевого момента времени, целевое состояние обучающего объекта, соответствующее целевому моменту времени, и будущее состояние обучающего объекта после целевого момента времени. Способ также включает в себя генерирование сервером обучающего набора для обучения алгоритма машинного обучения, причем обучающий набор имеет входную информацию и безасессорную метку (получаемую без участия асессоров или оценщиков метку, assessor-less label). Входная информация включает в себя данные, указывающие местность обучения и целевые состояния обучающего транспортного средства и обучающего объекта. Безасессорная метка основана на данных, указывающих будущие состояния обучающего транспортного средства и обучающего объекта. Безасессорная метка указывает намерение обучающего объекта на местности обучения в целевой момент времени.[00010] For a target time point in the operation data, the method includes retrieving from the operation data by a server data indicating a training location at the target time point, a target state of the training vehicle corresponding to the target time point, and a future state of the training vehicle after the target time point time, the target state of the learning object corresponding to the target time, and the future state of the learning object after the target time. The method also includes the server generating a training set for training the machine learning algorithm, wherein the training set has input information and an assessor-less label. The input information includes data indicating the training location and target states of the training vehicle and training object. An accessory-free label is based on data indicating the future states of the learning vehicle and learning object. An accessory-free label indicates the intent of the training object at the training location at the target time.

[00011] Способ дополнительно включает в себя обучение сервером алгоритма машинного обучения на основе обучающего набора для прогнозирования, во время фазы использования, параметра намерения, указывающего намерение объекта на местности во время целевого момента времени использования, на основе данных, указывающих (i) местность в целевой момент времени использования, (ii) состояние использования беспилотного транспортного средства в целевой момент времени использования и (iii) состояние использования упомянутого объекта.[00011] The method further includes training, by the server, a machine learning algorithm based on the training set to predict, during the use phase, an intent parameter indicating the intent of the terrain object at the target time of use, based on data indicating (i) the terrain at the target use time point, (ii) the use state of the unmanned vehicle at the target use time point, and (iii) the use state of the said object.

[00012] В некоторых реализациях извлечение включает в себя извлечение сервером данных, указывающих (i) набор предыдущих состояний обучающего транспортного средства до целевого момента времени и (ii) набор предыдущих состояний обучающего объекта до целевого момента времени. Входная информация дополнительно включает в себя данные, указывающие наборы предыдущих состояний обучающего транспортного средства и обучающего объекта.[00012] In some implementations, retrieval includes the server retrieving data indicating (i) a set of previous states of the training vehicle prior to a target time point and (ii) a set of previous states of the training vehicle prior to the target time point. The input information further includes data indicating sets of previous states of the training vehicle and the training object.

[00013] В некоторых реализациях набором предыдущих состояний обучающего транспортного средства является часть траектории обучающего транспортного средства до целевого момента времени, причем часть траектории соответствует временному интервалу предопределенной длительности до целевого момента времени. В некоторых реализациях набором предыдущих состояний обучающего объекта является часть траектории обучающего объекта до целевого момента времени, причем часть траектории соответствует временному интервалу предопределенной длительности до целевого момента времени.[00013] In some implementations, the set of previous states of the training vehicle is a portion of the training vehicle's trajectory to a target time, wherein the portion of the trajectory corresponds to a time interval of a predetermined duration to the target time. In some implementations, the set of previous states of the training object is part of the trajectory of the training object to the target time, and part of the trajectory corresponds to a time interval of a predetermined duration to the target time.

[00014] В некоторых реализациях извлечение включает в себя извлечение сервером данных, указывающих (i) набор будущих состояний обучающего транспортного средства после целевого момента времени, в том числе упомянутое будущее состояние обучающего транспортного средства, и (ii) набор будущих состояний обучающего объекта после целевого момента времени, в том числе упомянутое будущее состояние обучающего объекта. Безасессорная метка в этих реализациях может быть основана на наборах будущих состояний обучающего транспортного средства и обучающего объекта. В некоторых из этих реализаций набор будущих состояний обучающего транспортного средства является частью траектории обучающего транспортного средства после целевого момента времени, а набор будущих состояний обучающего объекта является частью другой траектории обучающего объекта после целевого момента времени.[00014] In some implementations, the retrieval includes the server retrieving data indicating (i) a set of future states of the training vehicle after the target time, including said future state of the training vehicle, and (ii) a set of future states of the training object after the target point in time, including said future state of the learning object. The accessory-free label in these implementations can be based on sets of future states of the learning vehicle and the learning object. In some of these implementations, a set of future states of the training vehicle is part of the training vehicle's trajectory after the target time, and a set of future states of the training object is part of another trajectory of the training object after the target time.

[00015] В некоторых реализациях способ дополнительно включает в себя выбор сервером целевого момента времени в рабочих данных. Выбор включает в себя идентификацию сервером определенного состояния обучающего транспортного средства и определенного состояния обучающего объекта в рабочих данных, которые связаны с одной и той же позицией на местности обучения, и выбор сервером целевого момента времени в качестве предшествующего момента времени относительно определенного момента времени, связанного с определенным состоянием обучающего транспортного средства.[00015] In some implementations, the method further includes the server selecting a target time point in the operational data. The selection includes the server identifying a certain state of the training vehicle and a certain state of the training object in the operating data that are associated with the same position on the training terrain, and selecting by the server a target time point as a previous point in time relative to a certain point in time associated with a certain state of the training vehicle.

[00016] В некоторых реализациях способ включает в себя генерирование сервером безасессорной метки на основе данных, указывающих будущие состояния обучающего транспортного средства и обучающего объекта. Генерирование безасессорной метки включает в себя определение сервером того, что будущие состояния обучающего транспортного средства и обучающего объекта указывают по меньшей мере одно из: обучающее транспортное средство и обучающий объект после целевого момента времени занимают одну позицию на местности обучения и что обучающее транспортное средство занимает эту одну позицию раньше обучающего объекта; обучающее транспортное средство и обучающий объект после целевого момента времени занимают одну позицию на местности обучения и что обучающий объект занимает эту одну позицию раньше обучающего транспортного средства; обучающее транспортное средство и обучающий объект после целевого момента времени не занимают одну позицию на местности обучения; и обучающий объект занимает определенную позицию на местности обучения в будущий момент времени, и что обучающее транспортное средство занимает другую определенную позицию на местности обучения в будущий момент времени, а расстояние между упомянутой определенной позицией и другой определенной позицией ниже порогового безопасного расстояния.[00016] In some implementations, the method includes the server generating an accessoryless label based on data indicating future states of the training vehicle and the training object. Generating an accessoryless label includes determining by the server that the future states of the training vehicle and the training object indicate at least one of: the training vehicle and the training object, after the target time, occupy the same position on the training terrain, and that the training vehicle occupies that one position before the training object; the training vehicle and the training object occupy one position on the training terrain after the target time and that the training object occupies this one position before the training vehicle; the training vehicle and the training object do not occupy the same position on the training area after the target time; and that the training vehicle occupies a certain position on the training terrain at a future time point, and that the training vehicle occupies another specific position on the training terrain at a future time point, and the distance between said specific position and the other specific position is below a threshold safe distance.

[00017] В некоторых реализациях способ дополнительно включает в себя передачу сервером информации, представляющей алгоритм машинного обучения, на электронное устройство, связанное с беспилотным транспортным средством. В этих реализациях в целевой момент времени использования, во время работы беспилотного транспортного средства, способ включает в себя выполнение электронным устройством алгоритма машинного обучения для генерирования параметра намерения, и инициирование электронным устройством работы беспилотного транспортного средства по меньшей мере частично на основе параметра намерения.[00017] In some implementations, the method further includes the server transmitting information representing the machine learning algorithm to an electronic device associated with the autonomous vehicle. In these implementations, at a target point in time of use, during operation of the autonomous vehicle, the method includes executing a machine learning algorithm by the electronic device to generate an intent parameter, and causing the electronic device to operate the autonomous vehicle at least in part based on the intent parameter.

[00018] В некоторых реализациях алгоритм машинного обучения выполнен с возможностью классификации намерения объекта, причем параметр намерения указывает вероятность того, что намерением объекта является один из множества классов намерений. В некоторых реализациях обучающее транспортное средство является беспилотным транспортным средством. В некоторых реализациях объект является движущимся объектом. В некоторых реализациях объект является по меньшей мере одним из транспортного средства и пешехода.[00018] In some implementations, the machine learning algorithm is configured to classify the intent of an object, wherein the intent parameter indicates the likelihood that the object's intent is one of a plurality of intent classes. In some implementations, the training vehicle is an unmanned vehicle. In some implementations, the object is a moving object. In some implementations, the object is at least one of a vehicle and a pedestrian.

[00019] В некоторых реализациях местность обучения включает в себя участок дороги обучения. Данные о местности обучения могут представлять собой изображение вида с высоты птичьего полета для участка дороги обучения в целевой момент времени.[00019] In some implementations, the training terrain includes a portion of the training road. The training location data may be a bird's eye view image of a section of the training road at a target time.

[00020] В соответствии с другими аспектами настоящего раскрытия обеспечен способ эксплуатации беспилотного транспортного средства. Способ включает в себя прием на электронном устройстве, связанном с беспилотным транспортным средством, данных от датчика, связанного с беспилотным транспортным средством, причем данные указывают состояние беспилотного транспортного средства, состояние объекта вблизи беспилотного транспортного средства и местность, по которой движется беспилотное транспортное средство. Способ дополнительно включает в себя предоставление упомянутых данных в алгоритм машинного обучения на электронном устройстве, причем алгоритм машинного обучения определяет параметр намерения, указывающий намерение объекта на местности во время целевого момента времени, и инициирование электронным устройством работы беспилотного транспортного средства по меньшей мере частично на основе параметра намерения. Алгоритм машинного обучения был обучен с использованием набора обучающих данных, сгенерированного посредством, по меньшей мере частично: осуществления доступа сервером к рабочим данным, связанным с обучающим транспортным средством, причем рабочие данные ранее были сохранены в хранилище и включают в себя данные, указывающие: местность обучения, состояния обучающего транспортного средства на местности обучения и состояния обучающего объекта на местности обучения. Генерирование обучающего набора дополнительно включало в себя, для целевого момента времени обучения в рабочих данных, извлечение из рабочих данных посредством сервера данных, указывающих: местность обучения в целевой момент времени обучения, целевое состояние обучающего транспортного средства, соответствующее целевому моменту времени обучения, и будущее состояние обучающего транспортного средства после целевого момента времени обучения; и целевое состояние обучающего объекта, соответствующее целевому моменту времени обучения, и будущее состояние обучающего объекта после целевого момента времени обучения. Генерирование обучающего набора дополнительно включало в себя генерирование сервером обучающего набора данных для обучения алгоритма машинного обучения, причем набор обучающих данных имеет входную информацию и безасессорную метку, причем входная информация включает в себя данные, указывающие местность обучения и целевые состояния обучающего транспортного средства и обучающего объекта, а безасессорная метка основана на данных, указывающих будущие состояния обучающего транспортного средства и обучающего объекта. Безасессорная метка указывает намерение обучающего объекта на местности обучения в целевой момент времени обучения.[00020] In accordance with other aspects of the present disclosure, a method of operating an unmanned vehicle is provided. The method includes receiving, at an electronic device associated with the unmanned vehicle, data from a sensor associated with the unmanned vehicle, the data indicating the state of the unmanned vehicle, the state of an object in the vicinity of the unmanned vehicle, and the terrain over which the unmanned vehicle is moving. The method further includes providing said data to a machine learning algorithm on the electronic device, wherein the machine learning algorithm determines an intent parameter indicating the intent of an object on the ground at the time of the target time, and causing the electronic device to operate the unmanned vehicle at least in part based on the parameter intentions. The machine learning algorithm was trained using a training data set generated by, at least in part: a server accessing operational data associated with a training vehicle, the operational data having previously been stored in storage and including data indicating: the training location , the state of the training vehicle at the training site and the state of the training object at the training site. Generating the training set further included, for the target training time in the operating data, retrieving from the operating data via a server data indicating: the training location at the target training time, the target state of the training vehicle corresponding to the target training time, and the future state the training vehicle after the target training time; and a target state of the learning object corresponding to the target learning time, and a future state of the learning object after the target learning time. Generating the training set further included the server generating a training set of data for training the machine learning algorithm, wherein the training data set has input information and an accessory-free label, wherein the input information includes data indicating the training terrain and target states of the training vehicle and the training object, and the accessory-free label is based on data indicating the future states of the learning vehicle and the learning object. An accessory-free label indicates the intent of the training object at the training location at the target training time.

[00021] В некоторых реализациях этого аспекта алгоритм машинного обучения выполнен с возможностью классификации намерения объекта, причем параметр намерения указывает вероятность того, что намерением объекта является один из множества классов намерений. В некоторых реализациях этого аспекта способ дополнительно включает в себя прием на электронном устройстве информации, представляющей алгоритм машинного обучения, от сервера.[00021] In some implementations of this aspect, the machine learning algorithm is configured to classify the intent of an object, wherein the intent parameter indicates the likelihood that the object's intent is one of a plurality of intent classes. In some implementations of this aspect, the method further includes receiving, on the electronic device, information representing the machine learning algorithm from the server.

[00022] В соответствии с дополнительным аспектом настоящего раскрытия данная технология реализована в самоуправляемом транспортном средстве. Беспилотное транспортное средство включает в себя по меньшей мере один датчик, выполненный с возможностью сбора данных датчика, указывающих состояние беспилотного транспортного средства, состояние объекта вблизи беспилотного транспортного средства и местность, по которой движется беспилотное транспортное средство. Беспилотное транспортное средство дополнительно включает в себя электронное устройство, включающее в себя процессор и память. Память хранит запрограммированные инструкции, которые при выполнении процессором побуждают электронное устройство: предоставлять данные датчика в алгоритм машинного обучения, выполняемый на процессоре, причем алгоритм машинного обучения определяет параметр намерения, указывающий намерение объекта на местности во время целевого момента времени; и инициировать работу беспилотного транспортного средства по меньшей мере частично на основе этого параметра намерения. Алгоритм машинного обучения включает в себя значения, сохраненные в памяти, которые были определены посредством обучения алгоритма машинного обучения с использованием набора обучающих данных, сгенерированного посредством, по меньшей мере частично: осуществления доступа сервером к рабочим данным, связанным с обучающим транспортным средством, причем рабочие данные ранее были сохранены в хранилище и включают в себя данные, указывающие: местность обучения, состояния обучающего транспортного средства на местности обучения и состояния обучающего объекта на местности обучения. Генерирование обучающего набора дополнительно включало в себя, для целевого момента времени обучения в рабочих данных, извлечение из рабочих данных посредством сервера данных, указывающих: местность обучения в целевой момент времени обучения, целевое состояние обучающего транспортного средства, соответствующее целевому моменту времени обучения, и будущее состояние обучающего транспортного средства после целевого момента времени обучения; и целевое состояние обучающего объекта, соответствующее целевому моменту времени обучения, и будущее состояние обучающего объекта после целевого момента времени обучения. Генерирование обучающего набора дополнительно включало в себя генерирование сервером обучающего набора данных для обучения алгоритма машинного обучения, причем набор обучающих данных имеет входную информацию и безасессорную метку, причем входная информация включает в себя данные, указывающие местность обучения и целевые состояния обучающего транспортного средства и обучающего объекта, а безасессорная метка основана на данных, указывающих будущие состояния обучающего транспортного средства и обучающего объекта. Безасессорная метка указывает намерение обучающего объекта на местности обучения в целевой момент времени обучения.[00022] In accordance with a further aspect of the present disclosure, this technology is implemented in a self-driving vehicle. The unmanned vehicle includes at least one sensor configured to collect sensor data indicating the state of the unmanned vehicle, the state of an object in the vicinity of the unmanned vehicle, and the terrain over which the unmanned vehicle is moving. The unmanned vehicle further includes an electronic device including a processor and memory. The memory stores programmed instructions that, when executed by the processor, cause the electronic device to: provide sensor data to a machine learning algorithm running on the processor, wherein the machine learning algorithm determines an intent parameter indicating the intent of an object on the ground at the time of the target time; and initiate operation of the autonomous vehicle based at least in part on this intent parameter. The machine learning algorithm includes values stored in memory that were determined by training the machine learning algorithm using a training data set generated by, at least in part: a server accessing operational data associated with the training vehicle, wherein the operational data were previously stored in storage and include data indicating: the training location, the state of the training vehicle at the training location, and the state of the training object at the training location. Generating the training set further included, for the target training time in the operating data, retrieving from the operating data via a server data indicating: the training location at the target training time, the target state of the training vehicle corresponding to the target training time, and the future state the training vehicle after the target training time; and a target state of the learning object corresponding to the target learning time, and a future state of the learning object after the target learning time. Generating the training set further included the server generating a training set of data for training the machine learning algorithm, wherein the training data set has input information and an accessory-free label, wherein the input information includes data indicating the training terrain and target states of the training vehicle and the training object, and the accessory-free label is based on data indicating the future states of the learning vehicle and the learning object. An accessory-free label indicates the intent of the training object at the training location at the target training time.

[00023] В некоторых реализациях согласно этому аспекту данного раскрытия алгоритм машинного обучения выполнен с возможностью классификации намерения объекта, причем параметр намерения указывает вероятность того, что намерением объекта является один из множества классов намерений. В некоторых реализациях согласно этому аспекту память дополнительно хранит запрограммированные инструкции, которые при выполнении процессором побуждают электронное устройство принимать информацию, представляющую алгоритм машинного обучения, от сервера.[00023] In some implementations according to this aspect of this disclosure, the machine learning algorithm is configured to classify the intent of an object, wherein the intent parameter indicates the likelihood that the object's intent is one of a plurality of intent classes. In some implementations of this aspect, the memory further stores programmed instructions that, when executed by the processor, cause the electronic device to receive information representing the machine learning algorithm from the server.

[00024] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.[00024] Additional and/or alternative features, aspects and advantages of implementations of the present technology will become apparent from the following description, the accompanying drawings and the appended claims.

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

[00025] Эти и другие признаки, аспекты и преимущества настоящей технологии станут более понятными из нижеследующего описания, приложенной формулы изобретения и сопроводительных чертежей, на которых:[00025] These and other features, aspects and advantages of the present technology will become more apparent from the following description, the appended claims and the accompanying drawings, in which:

[00026] ФИГ. 1 иллюстрирует схематичное представление примерной компьютерной системы для использования в некоторых реализациях систем и/или способов настоящей технологии.[00026] FIG. 1 illustrates a schematic representation of an exemplary computer system for use in certain implementations of systems and/or methods of the present technology.

[00027] ФИГ. 2 иллюстрирует сетевую вычислительную среду, включающую в себя беспилотное транспортное средство, подходящую для использования с некоторыми реализациями настоящей технологии.[00027] FIG. 2 illustrates a networked computing environment including an autonomous vehicle suitable for use with certain implementations of the present technology.

[00028] ФИГ. 3 демонстрирует временную шкалу процесса сбора данных посредством обучающего транспортного средства.[00028] FIG. 3 shows a timeline of the data collection process through the learning vehicle.

[00029] ФИГ. 4 иллюстрирует пример сценария сбора данных обучающим транспортным средством на местности обучения.[00029] FIG. 4 illustrates an example scenario of data collection by a training vehicle at a training location.

[00030] ФИГ. 5 иллюстрирует процесс обучения алгоритма машинного обучения с использованием рабочих данных, собранных обучающим транспортным средством.[00030] FIG. 5 illustrates the process of training a machine learning algorithm using operational data collected by the training vehicle.

[00031] ФИГ. 6 демонстрирует примерный сценарий для алгоритма машинного обучения, используемого в самоуправляемом транспортном средстве.[00031] FIG. 6 shows an example scenario for a machine learning algorithm used in a self-driving vehicle.

[00032] ФИГ. 7 изображает генерирование прогнозного параметра намерения для объекта посредством обученного алгоритма машинного обучения с использованием данных во время использования.[00032] FIG. 7 depicts the generation of a predictive intent parameter for an object by a trained machine learning algorithm using in-use data.

[00033] ФИГ. 8 иллюстрирует блок-схему последовательности операций способа обучения алгоритма машинного обучения для прогнозирования параметра намерения объекта на местности и использования обученного алгоритма машинного обучения.[00033] FIG. 8 illustrates a flowchart of a method for training a machine learning algorithm to predict a terrain object's intent parameter and using the trained machine learning algorithm.

ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION

[00034] Различные репрезентативные реализации раскрытой технологии будут более подробно описаны ниже со ссылкой на прилагаемые чертежи. Однако настоящая технология может быть реализована во многих различных формах, и ее не следует рассматривать как ограниченную примерными реализациями, раскрытыми в данном документе. На чертежах размеры и относительные размеры слоев и областей могут быть увеличены для ясности. Повсюду одинаковые цифры относятся к одинаковым элементам.[00034] Various representative implementations of the disclosed technology will be described in more detail below with reference to the accompanying drawings. However, the present technology can be implemented in many different forms and should not be construed as limited to the exemplary implementations disclosed herein. In the drawings, the dimensions and relative sizes of layers and regions may be enlarged for clarity. Everywhere the same numbers refer to the same elements.

[00035] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Должно быть понятно, что специалисты в данной области смогут разработать различные механизмы, которые, хоть и не описаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее суть и объем.[00035] The examples and conditional statements provided herein are intended primarily to assist the reader in understanding the principles of the present technology and not to limit its scope to such specific examples and conditions. It should be understood that those skilled in the art will be able to develop various mechanisms that, although not explicitly described herein, nevertheless embody the principles of the present technology and are included in the spirit and scope thereof.

[00036] Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области поймут, что различные реализации настоящей технологии могут иметь большую сложность.[00036] In addition, the following description may describe implementations of the present technology in a relatively simplified form for purposes of ease of understanding. Those skilled in the art will appreciate that various implementations of the present technology can be highly complex.

[00037] В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия понимаю и, опять же, не для строгого определения объема или очерчивания границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области сможет осуществить другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.[00037] In some cases, examples of modifications to the present technology that are considered useful may also be set forth. This is intended only to facilitate understanding and, again, not to strictly define the scope or delineate the boundaries of the present technology. These modifications are not an exhaustive list, and one skilled in the art will be able to make other modifications while still remaining within the scope of the present technology. In addition, where examples of modifications are not provided, it should not be construed to mean that no modifications can be made and/or that what is described is the only way to implement such element of the present technology.

[00038] Следует понимать, что, хотя термины первый, второй, третий и т.д. могут использоваться в данном документе для описания различных элементов, эти элементы не должны ограничиваться этими терминами. Эти термины используются для отличия одного элемента от другого. Таким образом, первый элемент, обсуждаемый ниже, можно было бы назвать вторым элементом без отступления от идей настоящего раскрытия. Используемый здесь термин «и/или» включает в себя любые и все комбинации из одного или более связанных перечисленных элементов.[00038] It should be understood that although the terms first, second, third, etc. may be used in this document to describe various elements, these elements should not be limited to these terms. These terms are used to distinguish one element from another. Thus, the first element discussed below could be referred to as the second element without departing from the teachings of the present disclosure. As used herein, the term “and/or” includes any and all combinations of one or more related listed elements.

[00039] Следует понимать, что, когда элемент упоминается как «соединенный» или «связанный» с другим элементом, он может быть напрямую связан или соединен с другим элементом, или могут присутствовать промежуточные элементы. Напротив, когда элемент упоминается как «непосредственно соединенный» или «непосредственно связанный» с другим элементом, никакие промежуточные элементы не присутствуют. Другие слова, используемые для описания взаимосвязи между элементами, следует интерпретировать аналогичным образом (например, «между» или «непосредственно между», «смежный» или «непосредственно смежный» и т.д.).[00039] It should be understood that when an element is referred to as "connected" or "linked" to another element, it may be directly connected or coupled to the other element, or intermediate elements may be present. In contrast, when an element is referred to as "directly connected" or "directly connected" to another element, no intermediate elements are present. Other words used to describe the relationship between elements should be interpreted in a similar way (for example, “between” or “immediately between”, “adjacent” or “immediately adjacent”, etc.).

[00040] Используемая здесь терминология предназначена только для описания конкретных репрезентативных реализаций и не предназначена для ограничения настоящей технологии. Предполагается, что используемые здесь формы единственного числа включают в себя формы множественного числа, если контекст явно не указывает иное. Кроме того, будет понятно, что термины «содержит» и/или «содержащий», когда они используются в этом описании, определяют наличие заявленных функций, единых целых, этапов, операций, элементов и/или компонентов, но не исключают наличие или добавление одной или более других функций, единых целых, этапов, операций, элементов, компонентов и/или их групп.[00040] The terminology used herein is intended to describe specific representative implementations only and is not intended to limit the present technology. The singular forms used herein are intended to include the plural forms unless the context clearly indicates otherwise. In addition, it will be understood that the terms “comprises” and/or “comprising,” when used in this specification, define the presence of the claimed functions, entities, steps, operations, elements and/or components, but do not exclude the presence or addition of one or more other functions, wholes, stages, operations, elements, components and/or groups thereof.

[00041] Функции различных элементов, показанных на фигурах, в том числе любого функционального блока, отмеченного как «процессор», могут быть обеспечены за счет использования специализированного аппаратного обеспечения, а также аппаратного обеспечения, способного выполнять программное обеспечение. При обеспечении процессором функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. В некоторых реализациях настоящей технологии процессор может быть процессором общего назначения, например центральным процессором (CPU), или процессором, предназначенным для конкретной цели, например цифровым сигнальным процессором (DSP). Кроме того, явное использование термина «процессор» не должно толковаться как относящееся исключительно к аппаратному обеспечению, способному выполнять программное обеспечение, и может неявно включать в себя, не ограничиваясь, специализированную интегральную схему (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и долговременное хранилище. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.[00041] The functions of the various elements shown in the figures, including any functional block labeled "processor", may be provided through the use of dedicated hardware as well as hardware capable of executing software. When provided by a processor, the functions may be provided by one dedicated processor, one shared processor, or a plurality of separate processors, some of which may be shared. In some implementations of the present technology, the processor may be a general purpose processor, such as a central processing unit (CPU), or a purpose-specific processor, such as a digital signal processor (DSP). In addition, explicit use of the term "processor" should not be construed as referring solely to hardware capable of executing software, and may implicitly include, but is not limited to, application-specific integrated circuit (ASIC), field programmable gate array (FPGA), constant memory (ROM) for storing software, random access memory (RAM) and long-term storage. Other hardware, traditional and/or custom, may also be included.

[00042] Программные модули или просто модули, или блоки, которые предполагаются как программное обеспечение, могут быть представлены здесь как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое показано явно или неявно. Кроме того, следует понимать, что модуль может включать в себя, например, но без ограничения, компьютерную программную логику, компьютерные программные инструкции, программное обеспечение, стек, микропрограммное обеспечение, аппаратные схемы или их комбинацию, которая обеспечивает требуемые возможности.[00042] Software modules, or simply modules or blocks, which are contemplated to be software, may be represented herein as any combination of flowchart elements or other elements indicating the execution of process steps and/or textual description. Such modules may be executed by hardware, which is shown explicitly or implicitly. It is further understood that a module may include, for example, but not limited to, computer program logic, computer program instructions, software, a stack, firmware, hardware circuitry, or a combination thereof that provides the required capabilities.

[00043] В контексте настоящего описания «база данных» представляет собой любую структурированную совокупность данных, независимо от ее конкретной структуры, программное обеспечение для администрирования базы данных, или компьютерное аппаратное обеспечение, на котором данные хранятся, реализуются или их делают доступными для использования иным образом. База данных может размещаться на том же аппаратном обеспечении, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может размещаться на отдельном аппаратном обеспечении, например на выделенном сервере или множестве серверов.[00043] As used herein, a “database” is any structured collection of data, regardless of its specific structure, database administration software, or computer hardware on which data is stored, implemented, or otherwise made available for use. . The database may reside on the same hardware as the process that stores or uses the information stored in the database, or it may reside on separate hardware, such as a dedicated server or multiple servers.

[00044] Настоящая технология может быть реализована как система, способ и/или компьютерный программный продукт. Компьютерный программный продукт может включать в себя считываемый компьютером носитель данных (или носители), хранящий считываемые компьютером программные инструкции, которые при выполнении процессором побуждают процессор осуществлять аспекты раскрытой технологии. Считываемый компьютером носитель данных может быть, например, электронным запоминающим устройством, магнитным запоминающим устройством, оптическим запоминающим устройством, электромагнитным запоминающим устройством, полупроводниковым запоминающим устройством или любой их подходящей комбинацией. Неисчерпывающий список более конкретных примеров считываемого компьютером носителя данных включает в себя: портативный компьютерный диск, жесткий диск, оперативную память (RAM), постоянную память (ROM), флэш-память, оптический диск, карту памяти, дискету, носитель с механическим или визуальным кодированием (например, перфокарту или штрих-код) и/или их любую комбинацию. Считываемый компьютером носитель данных, используемый в данном документе, следует рассматривать как долговременный считываемый компьютером носитель. Его не следует рассматривать как переходной сигнал, такой как радиоволны или другие свободно распространяющиеся электромагнитные волны, электромагнитные волны, распространяющиеся по волноводу или другим средам передачи (например, световые импульсы, проходящие по оптоволоконному кабелю), или электрические сигналы, передаваемые по проводу.[00044] The present technology may be implemented as a system, method, and/or computer program product. The computer program product may include a computer-readable storage medium (or media) storing computer-readable program instructions that, when executed by a processor, cause the processor to implement aspects of the disclosed technology. The computer-readable storage medium may be, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer readable storage media includes: portable computer disk, hard disk, random access memory (RAM), read only memory (ROM), flash memory, optical disk, memory card, floppy disk, mechanically or visually encoded media (for example, a punched card or a barcode) and/or any combination thereof. The computer-readable media used in this document should be considered a non-transitory computer-readable media. It should not be considered a transient signal such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating along a waveguide or other transmission media (such as light pulses traveling along a fiber optic cable), or electrical signals transmitted along a wire.

[00045] Будет понятно, что считываемые компьютером программные инструкции могут быть загружены в соответствующие вычислительные или обрабатывающие устройства со считываемого компьютером носителя данных или во внешний компьютер или внешнее запоминающее устройство через сеть, такую как Интернет, локальная сеть, глобальная сеть и/или беспроводная сеть. Сетевой интерфейс в вычислительном/обрабатывающем устройстве может принимать считываемые компьютером программные инструкции через сеть и пересылать считываемые компьютером программные инструкции для сохранения на считываемом компьютером носителе данных в соответствующем вычислительном или обрабатывающем устройстве.[00045] It will be appreciated that computer readable program instructions may be downloaded to appropriate computing or processing devices from a computer readable storage medium or to an external computer or external storage device via a network such as the Internet, a local area network, a wide area network, and/or a wireless network. . A network interface on a computing/processing device may receive computer-readable program instructions via a network and forward computer-readable program instructions for storage on a computer-readable storage medium in an associated computing or processing device.

[00046] Считываемые компьютером программные инструкции для выполнения операций согласно настоящему раскрытию могут быть инструкциями ассемблера, машинными инструкциями, инструкциями микропрограммного обеспечения, конфигурационными данными для интегральной схемы или либо исходным кодом, либо объектным кодом, написанным на любой комбинации из одного или более языков программирования. Считываемые компьютером программные инструкции могут выполняться полностью на компьютере пользователя, частично на компьютере пользователя, как автономный программный пакет, частично на компьютере пользователя и частично на удаленном компьютере или полностью на удаленном компьютере или сервере. В последнем сценарии удаленный компьютер может быть подключен к компьютеру пользователя через сеть любого типа.[00046] Computer-readable program instructions for performing the operations of the present disclosure may be assembly instructions, machine instructions, firmware instructions, configuration data for an integrated circuit, or either source code or object code written in any combination of one or more programming languages. Computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network.

[00047] Все утверждения в данном документе, излагающие принципы, аспекты и реализации настоящей технологии, а также ее конкретные примеры, предназначены для охвата как их структурных, так и функциональных эквивалентов, независимо от того, известны ли они в настоящее время или будут разработаны в будущем. Таким образом, например, специалисты в данной области осознают, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии. Аналогичным образом, будет понятно, что любые блок-схемы последовательности операций, потоковые схемы, схемы изменения состояний, псевдокоды и подобное представляют различные процессы, которые по своей сути могут быть представлены в считываемых компьютером программных инструкциях. Эти считываемые компьютером программные инструкции могут быть предоставлены процессору или другому программируемому устройству обработки данных для генерирования механизма, так что эти инструкции, которые выполняются посредством процессора компьютера или другого программируемого устройства обработки данных, образуют средство для реализации функций/действий, определенных на блок-схеме последовательности операций и/или блок-схеме, блок за блоком. Эти считываемые компьютером программные инструкции также могут храниться на считываемом компьютером носителе данных, который может управлять компьютером, программируемым устройством обработки данных и/или другими устройствами, чтобы они функционировали определенным образом, так что считываемый компьютером носитель данных, имеющий инструкции, хранящиеся на нем, содержит продукт производства, включающий в себя инструкции, которые реализуют аспекты функции/действия, определенных на блок-схемах последовательности операций, потоковых схемах, схемах изменения состояний, в псевдокоде и подобном.[00047] All statements in this document setting forth the principles, aspects and implementations of this technology, as well as specific examples thereof, are intended to cover both their structural and functional equivalents, whether currently known or to be developed in the future. future. Thus, for example, those skilled in the art will recognize that any flowcharts herein represent conceptual views of an illustrative circuit embodying the principles of the present technology. Likewise, it will be understood that any flowcharts, flowcharts, state-change diagrams, pseudo-codes, and the like represent various processes that may inherently be represented in computer-readable program instructions. These computer readable program instructions may be provided to a processor or other programmable processing device to generate a mechanism such that the instructions, which are executed by the computer processor or other programmable processing device, form a means for implementing the functions/actions defined in the sequence block diagram operations and/or flowchart, block by block. These computer readable program instructions may also be stored on a computer readable storage medium that can control a computer, programmable data processing device, and/or other devices to operate in a particular manner, such that the computer readable storage medium having the instructions stored thereon comprises a product of manufacture including instructions that implement aspects of a function/action defined in flowcharts, flowcharts, state-change diagrams, pseudocode, and the like.

[00048] Считываемые компьютером программные инструкции также могут быть загружены в компьютер, другое программируемое устройство обработки данных или другие устройства, чтобы вызывать выполнение ряда функциональных этапов на компьютере, другом программируемом устройстве или других устройствах для генерирования реализуемого компьютером процесса, так что инструкции, которые выполняются на компьютере, другом программируемом устройстве или другом устройстве, реализуют функции/действия, определенные на блок-схемах последовательности операций, потоковых схемах, схемах изменения состояний, в псевдокоде и подобном.[00048] Computer readable program instructions may also be loaded into a computer, other programmable data processing device, or other devices to cause a series of functional steps to be executed on the computer, other programmable device, or other devices to generate a computer-implemented process such that the instructions that are executed on a computer, other programmable device, or other device, implement functions/actions defined in flowcharts, flowcharts, state-change diagrams, pseudocode, and the like.

[00049] В некоторых альтернативных реализациях функции, отмеченные на блок-схемах последовательностей операций, потоковых схемах, схемах изменения состояний, в псевдокоде и подобном могут происходить не в показанном на фигурах порядке. Например, два блока, показанные последовательно на блок-схеме последовательности операций, могут фактически выполняться, по существу, одновременно, или блоки могут иногда выполняться в обратном порядке, в зависимости от задействованной функциональности. Также следует отметить, что каждая из функций, отмеченных на фигурах, и комбинации таких функций могут быть реализованы специализированными аппаратными системами, которые выполняют указанные функции или действия, или комбинациями специализированного аппаратного обеспечения и компьютерных инструкций.[00049] In some alternative implementations, functions noted in flowcharts, flowcharts, state diagrams, pseudocode, and the like may not occur in the order shown in the figures. For example, two blocks shown sequentially in a flowchart may actually be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order, depending on the functionality involved. It should also be noted that each of the functions noted in the figures, and combinations of such functions, may be implemented by specialized hardware systems that perform the indicated functions or actions, or by combinations of specialized hardware and computer instructions.

[00050] Установив эти основные положения, теперь рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящего раскрытия.[00050] Having established these basic principles, we now consider some non-limiting examples to illustrate various implementations of aspects of the present disclosure.

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

[00051] ФИГ. 1 иллюстрирует компьютерную систему 100. Компьютерная система 100 может быть многопользовательским компьютером, однопользовательским компьютером, портативным компьютером, планшетным компьютером, смартфоном, встроенной системой управления или любой другой компьютерной системой, известной в настоящее время или той, которая будет разработана позже. Кроме того, следует понимать, что некоторые или все компоненты компьютерной системы 100 могут быть виртуализированными и/или облачными. Как показано на ФИГ. 1, компьютерная система 100 включает в себя один или более процессоров 102, память 110, интерфейс 120 хранения и сетевой интерфейс 140. Эти системные компоненты соединены между собой посредством шины 150, которая может включать в себя одну или более внутренних и/или внешних шин (на показаны) (например, шину PCI, универсальную последовательную шину, шину IEEE 1394 «Firewire», шину SCSI, шину Serial-ATA и т.д.), с которыми различные аппаратные компоненты связаны электронным образом.[00051] FIG. 1 illustrates a computer system 100. The computer system 100 may be a multi-user computer, a single-user computer, a laptop computer, a tablet computer, a smartphone, an embedded control system, or any other computer system now known or later developed. Additionally, it should be understood that some or all of the components of the computer system 100 may be virtualized and/or cloud-based. As shown in FIG. 1, computer system 100 includes one or more processors 102, memory 110, storage interface 120, and network interface 140. These system components are interconnected via a bus 150, which may include one or more internal and/or external buses ( shown) (e.g., PCI bus, Universal Serial Bus, IEEE 1394 Firewire bus, SCSI bus, Serial-ATA bus, etc.) to which various hardware components are electronically coupled.

[00052] Память 110, которая может быть оперативной памятью или памятью любого другого типа, может содержать данные 112, операционную систему 114 и программу 116. Данные 112 могут представлять собой любые данные, которые служат в качестве входной информации в или выходной информации из любой программы в компьютерной системе 100. Операционная система 114 представляет собой операционную систему, такую как MICROSOFT WINDOWS или LINUX. Программа 116 может быть любой программой или набором программ, которые включают в себя запрограммированные инструкции, которые могут выполняться процессором для управления действиями, предпринимаемыми компьютерной системой 100.[00052] Memory 110, which may be random access memory or any other type of memory, may contain data 112, operating system 114, and program 116. Data 112 may be any data that serves as input to or output from any program. in the computer system 100. The operating system 114 is an operating system such as MICROSOFT WINDOWS or LINUX. Program 116 may be any program or set of programs that includes programmed instructions that can be executed by a processor to control actions taken by computer system 100.

[00053] Интерфейс 120 хранения используется для соединения запоминающих устройств, таких как запоминающее устройство 125, с компьютерной системой 100. Одним типом запоминающего устройства 125 является твердотельный накопитель, который может использовать сборку интегральной схемы для постоянного хранения данных. Другой видом запоминающего устройства 125 является жесткий диск, такой как электромеханическое устройство, которое использует магнитное хранилище для хранения и извлечения цифровых данных. Точно так же запоминающее устройство 125 может быть оптическим приводом, устройством чтения карт, которое принимает съемную карту памяти, например SD-карту, или устройством флэш-памяти, которое может быть подключено к компьютерной системе 100, например, через универсальную последовательную шину (USB).[00053] Storage interface 120 is used to connect storage devices, such as storage device 125, to computer system 100. One type of storage device 125 is a solid-state drive, which may use an integrated circuit assembly to permanently store data. Another type of storage device 125 is a hard disk drive, such as an electromechanical device that uses magnetic storage to store and retrieve digital data. Similarly, storage device 125 may be an optical drive, a card reader that accepts a removable memory card, such as an SD card, or a flash memory device that may be connected to the computer system 100, such as via a universal serial bus (USB). .

[00054] В некоторых реализациях компьютерная система 100 может использовать хорошо известные методы виртуальной памяти, которые позволяют программам компьютерной системы 100 вести себя так, как если бы они имели доступ к большому, непрерывному адресному пространству вместо доступа к многочисленным, меньшим пространствам хранения, таким как память 110 и запоминающее устройство 125. Следовательно, хотя показано, что данные 112, операционная система 114 и программы 116 постоянно размещены в памяти 110, специалисты в данной области техники поймут, что эти элементы не обязательно полностью содержатся в памяти 110 в одно и то же время.[00054] In some implementations, the computer system 100 may use well-known virtual memory techniques that allow programs of the computer system 100 to behave as if they had access to a large, contiguous address space instead of accessing multiple, smaller storage spaces such as memory 110 and storage device 125. Therefore, although data 112, operating system 114, and programs 116 are shown to reside in memory 110, those skilled in the art will appreciate that these elements are not necessarily entirely contained in memory 110 at the same time. time.

[00055] Процессоры 102 могут включать в себя один или более микропроцессоров и/или других интегральных схем. Процессоры 102 выполняют программные инструкции, хранящихся в памяти 110. Когда компьютерная система 100 запускается, процессоры 102 могут изначально выполнять процедуру загрузки и/или программные инструкции, составляющие операционную систему 114.[00055] Processors 102 may include one or more microprocessors and/or other integrated circuits. Processors 102 execute software instructions stored in memory 110. When computer system 100 starts up, processors 102 may initially execute boot routines and/or software instructions comprising operating system 114.

[00056] Сетевой интерфейс 140 используется для соединения компьютерной системы 100 с другими компьютерными системами или сетевым устройствам (не показаны) через сеть 160. Сетевой интерфейс 140 может включать в себя комбинацию аппаратного и программного обеспечения, позволяющую осуществлять связь по сети 160. В некоторых реализациях сетевой интерфейс 140 может быть беспроводным сетевым интерфейсом. Программное обеспечение в сетевом интерфейсе 140 может включать в себя программное обеспечение, которое использует один или более сетевых протоколов для связи по сети 160. Например, сетевые протоколы могут включать в себя TCP/IP (протокол управления передачей/Интернет-протокол).[00056] Network interface 140 is used to connect computer system 100 to other computer systems or network devices (not shown) via network 160. Network interface 140 may include a combination of hardware and software to enable communication over network 160. In some implementations network interface 140 may be a wireless network interface. Software in network interface 140 may include software that uses one or more network protocols to communicate over network 160. For example, network protocols may include TCP/IP (Transmission Control Protocol/Internet Protocol).

[00057] Следует понимать, что компьютерная система 100 является лишь примером, и что раскрытая технология может использоваться с компьютерными системами или другими вычислительными устройствами, имеющими другие конфигурации.[00057] It should be understood that the computer system 100 is an example only, and that the disclosed technology may be used with computer systems or other computing devices having other configurations.

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

[00058] ФИГ. 2 демонстрирует сетевую вычислительную среду 200, подходящую для использования с некоторыми неограничивающими вариантами осуществления настоящей технологии. Сетевая вычислительная среда 200 включает в себя электронное устройство 210, связанное с транспортным средством 220 и/или связанное с пользователем (не показан), который связан с транспортным средством 220 (например, с оператором транспортного средства 220). Среда 200 также включает в себя сервер 235, поддерживающий связь с электронным устройством 210 через сеть 240 связи (например, Интернет или подобное).[00058] FIG. 2 illustrates a networked computing environment 200 suitable for use with certain non-limiting embodiments of the present technology. Networked computing environment 200 includes an electronic device 210 associated with a vehicle 220 and/or associated with a user (not shown) who is associated with the vehicle 220 (eg, an operator of the vehicle 220). The environment 200 also includes a server 235 communicating with the electronic device 210 via a communications network 240 (eg, the Internet or the like).

[00059] В по меньшей мере некоторых неограничивающих вариантах реализации настоящей технологии электронное устройство 210 коммуникативно связано с системами управления транспортного средства 220. Электронное устройство 210 может быть размещено или выполнено с возможностью управления различными операционными системами транспортного средства 220, в том числе, но без ограничения: ECU (блоком управления двигателем), системами рулевого управления, тормозными системами, а также системами сигнализации и освещения (т.е. фарами, стоп-сигналами, и/или указателями поворота). В такой реализации транспортное средство 220 может быть беспилотным транспортным средством 220.[00059] In at least some non-limiting embodiments of the present technology, electronic device 210 is communicatively coupled to control systems of vehicle 220. Electronic device 210 may be located or configured to control various operating systems of vehicle 220, including, but not limited to : ECU (engine control unit), steering systems, brake systems, and alarm and lighting systems (i.e. headlights, brake lights, and/or turn signals). In such an implementation, vehicle 220 may be an autonomous vehicle 220.

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

[00061] Транспортное средство 220, с которым связано электронное устройство 210, может быть любым транспортным средством для отдыха или иного, например, частным или коммерческим автомобилем, грузовиком, мотоциклом или подобным. Хотя транспортное средство 220 проиллюстрировано как наземное транспортное средство, это не является обязательным в каждой неограничивающей реализации настоящей технологии. Например, в некоторых неограничивающих реализациях настоящей технологии транспортное средство 220 может быть водным транспортным средством, таким как лодка, или летательным аппаратом, например летающим дроном.[00061] The vehicle 220 to which the electronic device 210 is coupled may be any recreational or otherwise vehicle, such as a private or commercial automobile, truck, motorcycle, or the like. Although vehicle 220 is illustrated as a ground vehicle, this is not required in every non-limiting implementation of the present technology. For example, in some non-limiting implementations of the present technology, vehicle 220 may be a watercraft, such as a boat, or an aircraft, such as a flying drone.

[00062] Транспортное средство 220 может управляться пользователем или быть транспортным средством без водителя. В некоторых неограничивающих реализациях настоящей технологии предполагается, что транспортное средство 220 может быть реализовано как самоуправляемый автомобиль (SDC). Беспилотное транспортное средство 220 может быть полностью беспилотным транспортным средством или частично автономным транспортным средством, в котором человек-водитель управляет некоторыми аспектами работы транспортного средства, в то время как другие аспекты (например, «автопилот» на автомагистралях) автоматизированы. Следует отметить, что конкретные параметры транспортного средства 220 не являются ограничивающими, эти конкретные параметры включают в себя, например: производителя транспортного средства, модель транспортного средства, год выпуска транспортного средства, вес транспортного средства, размеры транспортного средства, распределение веса транспортного средства, площадь поверхности транспортного средства, высоту транспортного средства, тип трансмиссии (например, 2x или 4x), тип шин, тормозную систему, топливную систему, пробег, идентификационный номер транспортного средства и объем двигателя, или другие характеристики или параметры транспортного средства.[00062] Vehicle 220 may be user driven or a driverless vehicle. In some non-limiting implementations of the present technology, it is contemplated that vehicle 220 may be implemented as a self-driving car (SDC). Autonomous vehicle 220 may be a fully autonomous vehicle or a partially autonomous vehicle in which a human driver controls some aspects of the vehicle's operation while other aspects (such as "autopilot" on highways) are automated. It should be noted that the specific parameters of the vehicle 220 are not limiting, these specific parameters include, for example: vehicle manufacturer, vehicle model, vehicle year, vehicle weight, vehicle dimensions, vehicle weight distribution, surface area vehicle, vehicle height, transmission type (such as 2x or 4x), tire type, brake system, fuel system, mileage, vehicle identification number and engine size, or other vehicle characteristics or parameters.

[00063] Согласно настоящей технологии реализация электронного устройства 210 конкретным образом не ограничена. Например, электронное устройство 210 может быть реализовано как блок управления двигателем транспортного средства, CPU транспортного средства, навигационное устройство транспортного средства (например, TomTom™, Garmin™), планшет, персональный компьютер, встроенный в транспортное средство 220, и подобное. Таким образом, следует отметить, что электронное устройство 210 может быть или может не быть постоянно связано с транспортным средством 220. Дополнительно или альтернативно электронное устройство 210 может быть реализовано в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон или радиотелефон). В некоторых реализациях электронное устройство 210 имеет дисплей 270.[00063] According to the present technology, the implementation of the electronic device 210 is not particularly limited. For example, electronic device 210 may be implemented as a vehicle engine control unit, a vehicle CPU, a vehicle navigation device (eg, TomTom™, Garmin™), a tablet, a personal computer built into the vehicle 220, and the like. Thus, it should be noted that the electronic device 210 may or may not be permanently coupled to the vehicle 220. Additionally or alternatively, the electronic device 210 may be implemented in a wireless communication device such as a mobile phone (eg, a smartphone or cordless phone). In some implementations, electronic device 210 has a display 270.

[00064] Электронное устройство 210 может включать в себя некоторые или все компоненты компьютерной системы 100, проиллюстрированной на Фигуре 1, в зависимости от конкретной реализации. В некоторых реализациях электронным устройством 210 является устройство бортового компьютера и включает в себя процессоры 102, запоминающее устройство 125 и память 110. Другими словами, электронное устройство 210 включает в себя аппаратное обеспечение, и/или программное обеспечение, и/или микропрограммное обеспечение, или их комбинацию для обработки данных, как будет более подробно описано ниже.[00064] Electronic device 210 may include some or all of the components of the computer system 100 illustrated in Figure 1, depending on the particular implementation. In some implementations, electronic device 210 is an on-board computer device and includes processors 102, storage 125, and memory 110. In other words, electronic device 210 includes hardware and/or software and/or firmware, or both combination for data processing, as will be described in more detail below.

[00065] В некоторых неограничивающих реализациях настоящей технологии сеть 240 связи представляет собой Интернет. В альтернативных неограничивающих реализациях настоящей технологии сеть 240 связи может быть реализована как любая подходящая локальная сеть (LAN), глобальная сеть (WAN), частная сеть связи или подобная. Следует четко понимать, что реализации для сети 240 связи приведены только в иллюстративных целях. Между электронным устройством 210 и сетью 240 связи обеспечивается линия связи (отдельно не пронумерованная), реализация которой будет зависеть, среди прочего, от того, как реализуется электронное устройство 210. Просто в качестве примера, а не ограничения, в тех неограничивающих реализациях настоящей технологии, где электронное устройство 210 реализуется как устройство беспроводной связи, такое как смартфон или навигационное устройство, линия связи может быть реализована как линия беспроводной связи. Примеры линий беспроводной связи могут включать в себя, но без ограничения, линию сети связи 3G, линию сети связи 4G и подобные. Сеть 240 связи может также использовать беспроводное соединение с сервером 235.[00065] In some non-limiting implementations of the present technology, communications network 240 is the Internet. In alternative, non-limiting implementations of the present technology, communications network 240 may be implemented as any suitable local area network (LAN), wide area network (WAN), private communications network, or the like. It should be clearly understood that implementations for communication network 240 are provided for illustrative purposes only. A communication link (not specifically numbered) is provided between the electronic device 210 and the communication network 240, the implementation of which will depend, among other things , on how the electronic device 210 is implemented. By way of example, and not limitation, in those non-limiting implementations of the present technology, where the electronic device 210 is implemented as a wireless communication device, such as a smartphone or navigation device, the communication link may be implemented as a wireless communication link. Examples of wireless communication links may include, but are not limited to, a 3G communication network link, a 4G communication network link and the like. Communications network 240 may also use a wireless connection to server 235.

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

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

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

[00069] В одном примере множество 280 систем датчиков может включать в себя различные оптические системы, в том числе, среди прочего, одну или более систем датчиков типа камеры, которые установлены на транспортном средстве 220 и коммуникативно связаны с процессором 102 электронного устройства 210. Вообще говоря, одна или более систем датчиков типа камеры могут быть выполнены с возможностью сбора данных изображения различных частей окружения 250 транспортного средства 220. В некоторых случаях данные изображения, предоставленные одной или более системами датчиков типа камеры, могут использоваться электронным устройством 210 для выполнения процедур обнаружения объекта. Например, электронное устройство 210 может быть выполнено с возможностью подачи данных изображения, предоставленных одной или более системами датчиков типа камеры, в нейронную сеть обнаружения объектов (ODNN), которая обучена определять местоположения и классифицировать потенциальные объекты в окружении 250 транспортного средства 220.[00069] In one example, the plurality of sensor systems 280 may include various optical systems, including, but not limited to , one or more camera-type sensor systems that are mounted on the vehicle 220 and communicatively coupled to the processor 102 of the electronic device 210. In general In other words, one or more camera-type sensor systems may be configured to collect image data from various parts of the environment 250 of the vehicle 220. In some cases, the image data provided by the one or more camera-type sensor systems may be used by the electronic device 210 to perform object detection procedures . For example, electronic device 210 may be configured to feed image data provided by one or more camera-type sensor systems to an object detection neural network (ODNN) that is trained to locate and classify potential objects in the environment 250 of vehicle 220.

[00070] В другом примере множество 280 систем датчиков может включать в себя одну или более систем датчиков радарного типа, которые установлены на транспортном средстве 220 и коммуникативно связаны с процессорами 102. Вообще говоря, одна или более систем датчиков радарного типа могут быть выполнены с возможностью использования радиоволн для сбора данных о различных частях окружения 250 транспортного средства 220. Например, одна или более систем датчиков радарного типа могут быть выполнены с возможностью сбора радарных данных о потенциальных объектах в окружении 250 транспортного средства 220, такие данные потенциально представляют расстояние до объектов от системы датчиков радарного типа, ориентацию объектов, вектор скорости и/или скорость объектов и подобное.[00070] In another example, the plurality of sensor systems 280 may include one or more radar-type sensor systems that are mounted on the vehicle 220 and communicatively coupled to processors 102. Generally speaking, one or more radar-type sensor systems may be configured to using radio waves to collect data about various parts of the environment 250 of the vehicle 220. For example, one or more radar-type sensor systems may be configured to collect radar data about potential objects in the environment 250 of the vehicle 220, such data potentially representing the distance of objects from the system radar type sensors, orientation of objects, velocity vector and/or speed of objects and the like.

[00071] В дополнительном примере множество 280 систем датчиков может включать в себя одну или более систем LIDAR, которые установлены на транспортном средстве 220 и коммуникативно связаны с процессорами 102. Вообще говоря, система LIDAR выполнена с возможностью захвата данных об окружении 250 транспортного средства 220, используемых, например, для построения многомерной карты объектов в окружении 250 транспортного средства 220. Система LIDAR может быть установлена на транспортном средстве 220 или оно может быть ей дооснащено в различных местах и/или в различных конфигурациях для сбора информации об окружении 250 транспортного средства 220.[00071] In a further example, the plurality of sensor systems 280 may include one or more LIDAR systems that are installed on the vehicle 220 and communicatively coupled to the processors 102. Generally speaking, the LIDAR system is configured to capture data about the environment 250 of the vehicle 220. used, for example, to construct a multidimensional map of objects in the environment 250 of the vehicle 220. The LIDAR system may be installed on or retrofitted to the vehicle 220 in various locations and/or in various configurations to collect information about the environment 250 of the vehicle 220.

[00072] Например, в зависимости от реализации транспортного средства 220 и системы LIDAR, система LIDAR может быть установлена на внутренней, верхней части лобового стекла транспортного средства 220. Тем не менее, другие места для установки лидарной системы входят в объем настоящего раскрытия, в том числе на заднем окне, боковых окнах, переднем капоте, крыше, передней решетке, переднем бампере или сбоку транспортного средства 220.[00072] For example, depending on the implementation of the vehicle 220 and the LIDAR system, the LIDAR system may be mounted on the inside, top of the windshield of the vehicle 220. However, other locations for mounting the LIDAR system are within the scope of the present disclosure, including including on the rear window, side windows, front hood, roof, front grille, front bumper or side of the vehicle 220.

[00073] В контексте настоящей технологии электронное устройство 210 выполнено с возможностью обнаружения одного или более объектов в окружении 250 транспортного средства 220 на основе данных, получаемых от одной или более систем камер и от одной или более систем LIDAR. Например, электронное устройство 210, выполненное с возможностью обнаружения определенного объекта в окружении 250 транспортного средства 220, может быть выполнено с возможностью идентификации данных LIDAR и данных камеры, связанных с данным объектом, генерирования «векторного представления», представляющего признаки, связанные с данным объектом, обнаружения объекта посредством генерирования ограничивающей рамки для этого объекта.[00073] In the context of the present technology, the electronic device 210 is configured to detect one or more objects in the environment 250 of the vehicle 220 based on data received from one or more camera systems and from one or more LIDAR systems. For example, an electronic device 210 configured to detect a particular object in the environment 250 of a vehicle 220 may be configured to identify LIDAR data and camera data associated with that object, generate a "vector representation" representing features associated with that object, detecting an object by generating a bounding box for that object.

Обучение алгоритма машинного обученияTraining a machine learning algorithm

[00074] Как было отмечено выше, перед использованием алгоритмы машинного обучения необходимо обучить. Для многих алгоритмов машинного обучения это обучение выполняется с использованием большого набора предварительно размеченных обучающих данных. Подготовка такого набора предварительно размеченных обучающих данных может быть трудоемкой и дорогостоящей, особенно если метки для каждого элемента в наборе данных создаются человеком. Таким образом, в соответствии с различными реализациями настоящей технологии описывается способ автоматического генерирования набора обучающих данных для алгоритма машинного обучения для использования с беспилотным транспортным средством. Этот набор обучающих данных может быть сгенерирован с использованием предварительно собранных данных от обучающего транспортного средства, которым может управлять человек-водитель. Путем анализа данных, собранных обучающим транспортным средством, метки могут быть автоматически сгенерированы и добавлены к данным, собранным обучающим транспортным средством, для генерирования набора обучающих данных.[00074] As noted above, machine learning algorithms must be trained before use. For many machine learning algorithms, this training is performed using a large set of pre-labeled training data. Preparing such a set of pre-labeled training data can be time-consuming and expensive, especially if the labels for each element in the data set are created by humans. Thus, in accordance with various implementations of the present technology, a method for automatically generating a training data set for a machine learning algorithm for use with an autonomous vehicle is described. This training data set can be generated using pre-collected data from a training vehicle that can be driven by a human driver. By analyzing the data collected by the learning vehicle, labels can be automatically generated and added to the data collected by the learning vehicle to generate a training data set.

[00075] ФИГ. 3 демонстрирует временную шкалу процесса сбора данных посредством обучающего транспортного средства (не показано), которым может управлять человек-оператор (не показан) или которое может быть частично или полностью автоматизировано. В каждый момент времени (называемый «тиком» процесса) обучающее транспортное средство получает элемент рабочих данных, который включает в себя данные, указывающие местность обучения, состояние обучающего транспортного средства на местности обучения и состояние обучающего объекта на местности обучения. Затем элемент рабочих данных передается в хранилище, которое может включать в себя базу данных. Таким образом, как показано на временной шкале 300, во время работы обучающего транспортного средства, на каждом тике с тика1 302 по тик4 308, данные собираются для элемента 322-328 рабочих данных, который передается в хранилище 342-348. Хотя временная шкала 300 показывает только четыре тика 302-308, следует понимать, что этот процесс сбора данных может продолжаться во время всего периода работы обучающего транспортного средства, причем дополнительный элемент рабочих данных собирается и сохраняется на каждом «тике» во время этого периода.[00075] FIG. 3 shows a timeline of the data collection process through a training vehicle (not shown) that can be controlled by a human operator (not shown) or that can be partially or fully automated. At each point in time (referred to as a "tick" of the process), the training vehicle receives an operational data element that includes data indicating the training location, the state of the training vehicle at the training location, and the state of the training object at the training location. The operational data item is then transferred to a store, which may include a database. Thus, as shown in timeline 300, during the operation of the training vehicle, on each tick from tick1 302 to tick 4 308, data is collected for work data item 322-328, which is transferred to storage 342-348. Although timeline 300 shows only four ticks 302-308, it should be understood that this data collection process may continue throughout the entire period of operation of the training vehicle, with an additional element of operational data being collected and stored at each tick during that period.

[00076] В некоторых реализациях тики, такие как тики 302-308 могут происходить через предопределенные регулярные временные интервалы. Например, интервалы между тиками могут составлять 100 мс, поэтому будет 10 тиков в секунду. Однако тики не всегда должны разделяться равными периодами времени. Например, в некоторых реализациях разнесение во времени между тиками может зависеть от параметра транспортного средства, например скорости транспортного средства. Таким образом, когда транспортное средство движется с высокой скоростью, между тиками может быть меньше времени, чем когда транспортное средство движется с низкой скоростью.[00076] In some implementations, ticks such as ticks 302-308 may occur at predetermined regular time intervals. For example, the intervals between ticks could be 100ms, so there would be 10 ticks per second. However, ticks do not always have to be separated by equal periods of time. For example, in some implementations, the time spacing between ticks may depend on a vehicle parameter, such as vehicle speed. Thus, when the vehicle is moving at high speed, there may be less time between ticks than when the vehicle is moving at low speed.

[00077] В некоторых реализациях каждый из элементов 322-328 рабочих данных может включать в себя данные о местности обучения, состоянии обучающего транспортного средства и состоянии обучающего объекта. В некоторых реализациях эти данные могут быть разделены на многочисленные наборы данных, например набор данных об обучающем транспортном средстве, набор данных об обучающем объекте и набор данных о местности обучения.[00077] In some implementations, each of the operational data elements 322-328 may include data about the training terrain, the state of the training vehicle, and the state of the training object. In some implementations, this data may be divided into multiple data sets, such as a training vehicle data set, a training object data set, and a training terrain data set.

[00078] Данные о состоянии обучающего транспортного средства могут включать в себя различную информацию, в том числе, например, позицию обучающего транспортного средства во время тика, а также другую информацию о состоянии обучающего транспортного средства, такую как скорость обучающего транспортного средства, направление или угол поворота, состояние акселератора, состояние торможения, и другую подобную информацию.[00078] The training vehicle state data may include various information, including, for example, the position of the training vehicle at the time of the tick, as well as other information about the condition of the training vehicle, such as training vehicle speed, direction, or angle turn, accelerator status, braking status, and other similar information.

[00079] В некоторых реализациях местность обучения может быть частью элемента рабочих данных для каждого тика, при этом в некоторых реализациях данные об одной и той же местности обучения могут использоваться для многих тиков. В некоторых реализациях данные о местности обучения могут быть данными о местности, считываемыми датчиками на обучающем транспортном средстве. В некоторых реализациях данные о местности обучения могут быть данными карты или данными, представляющими вид с высоты птичьего полета для местности обучения.[00079] In some implementations, the training locality may be part of the work data element for each tick, and in some implementations, data about the same training locality may be used for many ticks. In some implementations, the training terrain data may be terrain data read by sensors on the training vehicle. In some implementations, the training location data may be map data or data representing a bird's eye view of the training location.

[00080] В некоторых реализациях состояние обучающего объекта может включать в себя позицию обучающего объекта во время тика и может включать в себя другие данные, такие как скорость и направление обучающего объекта. В некоторых реализациях состояние обучающего объекта может быть представлено данными, собираемыми датчиками обучающего транспортного средства. Следует понимать, что обучающий объект обычно является движущимся объектом, вызывающим беспокойство при эксплуатации беспилотного транспортного средства, например пешеходом, велосипедистом или другим транспортным средством. Кроме того, следует понимать, что, хотя в примерах показан только один обучающий объект, в некоторых реализациях может быть множество обучающих объектов на местности обучения в непосредственной близости от обучающего транспортного средства.[00080] In some implementations, the state of the training object may include the position of the training object during a tick and may include other data such as the speed and direction of the training object. In some implementations, the state of the training object may be represented by data collected by sensors on the training vehicle. It should be understood that the training object is typically a moving object of concern to the operation of the autonomous vehicle, such as a pedestrian, cyclist, or other vehicle. Additionally, it should be understood that while the examples show only one training object, in some implementations there may be multiple training objects at a training location in close proximity to the training vehicle.

[00081] В по меньшей мере некоторых вариантах осуществления настоящей технологии можно сказать, что элементы рабочих данных могут включать в себя данные о траектории, связанные с обучающим транспортным средством. Вообще говоря, данные о траектории представляют собой траекторию, по которой обучающее транспортное средство следует на участке дороги обучения. Предполагается, что данные о траектории могут включать в себя множество состояний обучающего транспортного средства во время эксплуатации, которые связаны с соответствующими временными метками.[00081] In at least some embodiments of the present technology, operational data elements may include trajectory data associated with the training vehicle. Generally speaking, the trajectory data represents the trajectory that the training vehicle follows on the training road section. It is contemplated that the trajectory data may include multiple states of the training vehicle during operation that are associated with corresponding timestamps.

[00082] В некоторых реализациях хранилище 342-348 может быть хранилищем в одном запоминающем устройстве или в одной базе данных. В некоторых реализациях каждое хранилище 342-348 может быть отдельной записью в одной базе данных или во множестве баз данных. Следует понимать, что хранилище 342-348 может быть на запоминающем устройстве или в базе данных, локальной по отношению к обучающему транспортному средству, или может быть внешним по отношению к обучающему транспортному средству, например, сетевым или облачным хранилищем. Кроме того, следует понимать, что все или часть рабочих данных могут быть перенесены из хранилища 342-348 на сервер или другую систему для использования при обучении алгоритма машинного обучения.[00082] In some implementations, storage 342-348 may be storage in a single storage device or in a single database. In some implementations, each store 342-348 may be a separate record in a single database or multiple databases. It should be understood that storage 342-348 may be on a storage device or database local to the training vehicle, or may be external to the training vehicle, such as network or cloud storage. Additionally, it should be understood that all or part of the operational data may be transferred from storage 342-348 to a server or other system for use in training a machine learning algorithm.

[00083] ФИГ. 4 демонстрирует примерный сценарий сбора данных обучающим транспортным средством 410 на местности 402 обучения. Местность 402 обучения, показанная в примере на ФИГ. 4, включает в себя участок дороги, образующий четырехсторонний перекресток или пересечение дорог. В примере, показанном на ФИГ. 4, обучающее транспортное средство 410 и обучающий объект 412 (в этом примере - другое транспортное средство) прибывают на перекресток в аналогичные моменты времени. Обучающее транспортное средство 410 пересекает перекресток первым.[00083] FIG. 4 shows an exemplary data collection scenario by training vehicle 410 at training location 402. The training terrain 402 shown in the example of FIG. 4 includes a section of road forming a four-way intersection or road intersection. In the example shown in FIG. 4, training vehicle 410 and training object 412 (another vehicle in this example) arrive at the intersection at similar times. The training vehicle 410 crosses the intersection first.

[00084] В примере, показанном на ФИГ. 4, обучающее транспортное средство 410 и обучающий объект 412 показаны в виде прямоугольников, которые представляют ограничивающие рамки обучающего транспортного средства 410 и обучающего объекта 412. В некоторых реализациях позиции обучающего транспортного средства 410 и обучающего объекта 412, а также расстояние между ними могут быть определены с использованием ограничивающих рамок.[00084] In the example shown in FIG. 4, the training vehicle 410 and the training object 412 are shown as rectangles that represent the bounding boxes of the training vehicle 410 and the training object 412. In some implementations, the positions of the training vehicle 410 and the training object 412, as well as the distance between them, can be determined with using bounding boxes.

[00085] Линия 420 показывает траекторию обучающего транспортного средства, а линия 422 показывает траекторию обучающего объекта. Точки 430, 432, 434, 436 и 438 показывают позиции обучающего транспортного средства 410 соответственно в моменты t-3, t-2, t-1, t0 и t1 времени. Каждая из них представляет позицию транспортного средства во время соответствующего «тика», как обсуждалось выше. Аналогичные точки 440, 442, 444, 446 и 448 показывают позиции обучающего объекта 412 соответственно в моменты t-3, t-2, t-1, t0 и t1 времени. Как можно видеть, пути обучающего транспортного средства 410 и обучающего объекта 412 пересекаются в точке 404.[00085] Line 420 shows the trajectory of the training vehicle, and line 422 shows the trajectory of the training object. Points 430, 432, 434, 436 and 438 show the positions of the training vehicle 410, respectively, at times t -3 , t -2 , t -1 , t 0 and t 1 . Each of them represents the position of the vehicle during the corresponding "tick", as discussed above. Similar points 440, 442, 444, 446 and 448 show the positions of the training object 412, respectively, at times t -3 , t -2 , t -1 , t 0 and t 1 . As can be seen, the paths of the training vehicle 410 and the training object 412 intersect at point 404.

[00086] Целью обучающих данных, которые собираются обучающим транспортным средством 410, является обучение алгоритма машинного обучения определять параметр намерения обучающего объекта, такого как обучающий объект 412, в целевой момент времени. В примере, показанном на ФИГ. 4, целевым моментом времени является момент t0 времени, поэтому состояние в момент t0 времени и любое время до момента t0 времени может использоваться для формирования набора обучающих данных, в то время как состояние в момент t1 времени и любые будущие моменты времени может использоваться для разметки набора обучающих данных с помощью надлежащего параметра намерения для того, что фактически произошло в сценарии обучения.[00086] The purpose of the training data that is collected by the training vehicle 410 is to train a machine learning algorithm to determine the intent parameter of a training object, such as training object 412, at a target time. In the example shown in FIG. 4, the target time point is time t0 , so the state at time t0 and any time before time t0 can be used to form the training data set, while the state at time t1 and any future times can be used to label the training data set with the appropriate intent parameter for what actually happened in the training scenario.

[00087] В некоторых реализациях состояния обучающего транспортного средства 410 до целевого момента времени могут использоваться для определения траектории или части траектории обучающего транспортного средства 410 в течение временного интервала предопределенной длительности до целевого момента времени. Аналогично, в некоторых реализациях состояния обучающего объекта 410 до целевого момента времени могут использоваться для определения траектории или части траектории обучающего объекта 410 в течение временного интервала предопределенной длительности до целевого момента времени.[00087] In some implementations, the states of the training vehicle 410 prior to the target time may be used to determine the trajectory or portion of the trajectory of the training vehicle 410 during a time interval of a predetermined duration prior to the target time. Likewise, in some implementations, the states of the training object 410 prior to the target time may be used to determine the trajectory or portion of the trajectory of the training object 410 during a time interval of a predetermined duration prior to the target time.

[00088] В некоторых реализациях обучающее транспортное средство просто регистрирует данные для каждого тика. После того, как данные зарегистрированы, эти данные могут быть проанализированы на сервере (например, зарегистрированные данные могут быть переданы на сервер после завершения операции обучения обучающего транспортного средства) для определения надлежащих целевых моментов времени для использования в наборе обучающих данных. Это может быть сделано, например, путем нахождения состояний обучающего транспортного средства и обучающего объекта в зарегистрированных данных, при которых обучающее транспортное средство и обучающий объект занимали одну позицию или находились в пределах предопределенного порогового безопасного расстояния друг от друга в непосредственной близости во времени, например, в течение одного тика или небольшого числа тиков. Целевой момент времени затем может быть найден, вернувшись назад к предыдущему моменту времени, до занятия обучающим транспортным средством этой позиции. Следует отметить, что, хотя это может быть сделано на сервере в любое время после регистрации данных, в некоторых реализациях обучающее транспортное средство может размечать определенные элементы рабочих данных как имеющие большую вероятность нахождения рядом с такими целевыми моментами времени по мере регистрации данных.[00088] In some implementations, the training vehicle simply logs data for each tick. Once the data is logged, the data can be analyzed on the server (eg, the logged data can be transferred to the server after the training vehicle's training operation is completed) to determine the appropriate target times for use in the training data set. This can be done, for example, by finding states of the training vehicle and training object in the recorded data in which the training vehicle and training object occupied the same position or were within a predetermined threshold safe distance from each other in close proximity in time, e.g. within one tick or a small number of ticks. The target time point can then be found by going back to a previous point in time before the training vehicle occupied that position. It should be noted that while this can be done on the server at any time after the data is logged, in some implementations the learning vehicle may mark certain operational data items as having a high probability of being near such target times as the data is logged.

[00089] Таким образом, как видно на ФИГ. 4, как обучающее транспортное средство 410, так и обучающий объект 412 занимали точку 404 на местности 402 обучения в течение интервала между t0 и t1. Возврат к ближайшему имеющемуся до этого тику идентифицирует t0 в качестве целевого момента времени для обучения. Как только это установлено, сервер может использовать данные от t0 и ноль или более тиков до t0 для генерирования обучающих наборов, а данные от t1 и ноль или более тиков после t1 для генерирования безасессорной метки, представляющей параметр намерения касательно обучающего объекта. В некоторых реализациях обучающие данные могут быть разделены на набор данных для обучающего транспортного средства, набор данных для обучающего объекта и набор данных для местности обучения.[00089] Thus, as seen in FIG. 4, both the training vehicle 410 and the training object 412 occupied a point 404 on the training terrain 402 during the interval between t 0 and t 1 . Returning to the nearest previously available tick identifies t0 as the target time for training. Once this is established, the server can use the data from t 0 and zero or more ticks before t 0 to generate training sets, and the data from t 1 and zero or more ticks after t 1 to generate an accessory-free label representing the intent parameter regarding the training object. In some implementations, the training data may be divided into a training vehicle data set, a training object data set, and a training terrain data set.

[00090] После того, как целевой момент времени был идентифицирован, сервер может также сгенерировать безасессорную метку для набора обучающих данных на основе одного или более будущих состояний - т.е. состояний, которые происходят после целевого момента времени - обучающего транспортного средства и обучающего объекта. Безасессорная метка представляет намерение обучающего объекта в целевой момент времени. Другими словами, одно или более будущих состояний используются как метка, указывающая намерение в целевой момент времени.[00090] Once the target time has been identified, the server may also generate an accessory-free label for the training data set based on one or more future states - i.e. states that occur after the target point in time - the learning vehicle and the learning object. An accessory-free label represents the intent of the training object at the target time. In other words, one or more future states are used as a marker indicating the intention at the target time.

[00091] В некоторых реализациях безасессорная метка может быть выбрана из набора предопределенных будущих состояний для обучающего объекта. Например, в некоторых реализациях предопределенными будущими состояниями для обучающего объекта могут быть:[00091] In some implementations, an accessory-free label may be selected from a set of predefined future states for the training object. For example, in some implementations, the predefined future states for a learning object might be:

обучающее транспортное средство и обучающий объект после целевого момента времени занимают одну позицию на местности обучения, и что обучающее транспортное средство занимает эту одну позицию раньше обучающего объекта;the training vehicle and the training object occupy one position on the training terrain after the target time, and that the training vehicle occupies this one position before the training object;

обучающее транспортное средство и обучающий объект после целевого момента времени занимают одну позицию на местности обучения, и что обучающий объект занимает эту одну позицию раньше обучающего транспортного средства;the training vehicle and the training object occupy one position on the training terrain after the target time, and that the training object occupies this one position before the training vehicle;

обучающее транспортное средство и обучающий объект после целевого момента времени не занимают одну позицию на местности обучения (например, примеры «отсутствия взаимодействия» для целей обучения); иthe training vehicle and the training object do not occupy the same position on the training terrain after the target time (for example, examples of “no interaction” for training purposes); And

обучающий объект занимает определенную позицию на местности обучения в будущий момент времени, и что обучающее транспортное средство занимает другую определенную позицию на местности обучения в будущий момент времени, а расстояние между упомянутой определенной позицией и другой определенной позицией ниже порогового безопасного расстояния.the training object occupies a certain position on the training terrain at a future time, and that the training vehicle occupies another specific position on the training terrain at a future time, and the distance between said specific position and the other specific position is below a threshold safe distance.

[00092] Таким образом, в примере, показанном на ФИГ. 4, безасессорная метка, которую система будет генерировать на основе состояний обучающего транспортного средства 410 и обучающего объекта 412 на местности 402 обучения в момент t1 времени (и, возможно, в последующие моменты времени), будет означать, что обучающее транспортное средство и обучающий объект после целевого момента времени занимают одну позицию на местности обучения, и что обучающее транспортное средство занимает эту одну позицию раньше обучающего объекта. В некоторых реализациях эта безасессорная метка может быть представлена вектором, при этом каждое из предопределенных будущих состояний представляется одним значением в векторе. Например, безасессорная метка для примера, показанного на ФИГ. 4, может быть представлена вектором (1, 0, 0, 0).[00092] Thus, in the example shown in FIG. 4, the accessory-free label that the system will generate based on the states of the training vehicle 410 and the training object 412 on the training terrain 402 at time t 1 (and possibly at subsequent times) will indicate that the training vehicle and training object after the target time, occupy one position on the training terrain, and that the training vehicle occupies this one position before the training object. In some implementations, this accessorless label may be represented by a vector, with each of the predefined future states represented by a single value in the vector. For example, an accessory-free label for the example shown in FIG. 4 can be represented by a vector (1, 0, 0, 0).

[00093] Следует понимать, что, хотя сценарий, показанный на ФИГ. 4, основан на пересечении обучающим транспортным средством и обучающим объектом перекрестка, это сделано лишь для иллюстрации. Для обучения алгоритма машинного обучения прогнозированию параметра намерения объекта на местности потребуются многие другие сценарии и наборы обучающих данных с безасессорными метками. Например, может существовать множество сценариев обучения, в которых обучающее транспортное средство и обучающий объект движутся рядом друг с другом по разным полосам движения на одной и той же дороге, при этом обучающий объект и/или обучающее транспортное средство выполняет смену полосы движения. Также могут использоваться многие другие сценарии обучения.[00093] It should be understood that although the scenario shown in FIG. 4 is based on the intersection of the training vehicle and the training object at the intersection, this is for illustration purposes only. Training a machine learning algorithm to predict the intent parameter of an object in the field will require many other scenarios and training datasets with non-accessorized labels. For example, there may be a variety of training scenarios in which a training vehicle and a training object are driving adjacent to each other in different lanes on the same road, with the training object and/or training vehicle performing a lane change. Many other training scenarios can also be used.

[00094] Обратимся теперь к ФИГ. 5, на которой описан способ обучения алгоритма 502 машинного обучения. Это обучение, как правило, происходит на сервере на основе сохраненных рабочих данных из многих прогонов обучения обучающего транспортного средства. Как показано на ФИГ. 5, элемент 504 обучающих данных отправляется в алгоритм 502 машинного обучения, который генерирует прогноз 506 параметра намерения обучающего объекта. Прогноз 506 затем сравнивается с безасессорной меткой 508, которая связана с элементом 504 обучающих данных (генерация которого описана выше), а различие между прогнозом 506 и безасессорной меткой 508 затем используется для обучения алгоритма 502 машинного обучения.[00094] Referring now to FIG. 5, which describes a method for training a machine learning algorithm 502. This training typically occurs on the server based on stored operational data from many training runs of the training vehicle. As shown in FIG. 5, training data element 504 is sent to a machine learning algorithm 502, which generates a prediction 506 of the training object's intent parameter. The prediction 506 is then compared to an accessory-free label 508 that is associated with a training data item 504 (the generation of which is described above), and the difference between the prediction 506 and the accessory-free label 508 is then used to train a machine learning algorithm 502 .

[00095] В некоторых реализациях элемент 504 обучающих данных может включать в себя набор 510 данных об обучающем транспортном средстве (тс), представляющий состояние обучающего транспортного средства в целевой момент времени и в ноль или более моментов времени до упомянутого целевого момента времени, набор 512 данных об обучающем объекте, представляющий состояние обучающего объекта в целевой момент времени и в ноль или более моментов времени до упомянутого целевого момента времени, и набор 514 данных о местности обучения, представляющий местность обучения в целевой момент времени и в ноль или более моментов времени до упомянутого целевого момента времени. В некоторых реализациях общий набор обучающих данных может включать в себя десятки тысяч, сотни тысяч или даже миллионов таких обучающих элементов и связанных с ними безасессорных меток. В некоторых реализациях настоящей технологии элемент 504 обучающих данных может включать в себя набор 510 данных об обучающем транспортном средстве, представляющий состояния обучающего транспортного средства в целевой момент времени и за 8 секунд до этого целевого момента времени.[00095] In some implementations, training data element 504 may include a training vehicle (VV) data set 510 representing the state of the training vehicle at a target time point and at zero or more times before said target time point, data set 512 about a training object representing the state of the training object at a target time and at zero or more times before said target time, and a training terrain data set 514 representing the training terrain at a target time and at zero or more times before said target moment in time. In some implementations, the total training data set may include tens of thousands, hundreds of thousands, or even millions of such training items and their associated non-accessorized labels. In some implementations of the present technology, training data element 504 may include a training vehicle data set 510 representing the states of the training vehicle at a target time and 8 seconds prior to that target time.

[00096] Как обсуждалось выше, в некоторых реализациях безасессорная метка может быть представлена вектором, причем каждое значение в этом векторе представляет одно из предопределенного числа состояний обучающего транспортного средства и обучающего объекта в момент времени после целевого момента времени. Этот вектор представляет параметр намерения обучающего объекта. Точно так же в некоторых реализациях прогноз 506 может быть представлен аналогичным вектором, при этом каждое значение в этом векторе представляет прогнозируемую вероятность (обычно от нуля до единицы) для каждого из предопределенного числа состояний обучающего транспортного средства и обучающего объекта в момент времени после целевого момента времени (которые могут упоминаться в данном документе как «классы намерений»).[00096] As discussed above, in some implementations, an accessory-free label may be represented by a vector, with each value in the vector representing one of a predetermined number of states of the training vehicle and training object at a time point after the target time point. This vector represents the intent parameter of the training object. Similarly, in some implementations, prediction 506 may be represented by a similar vector, with each value in that vector representing a predicted probability (typically zero to one) for each of a predetermined number of training vehicle and training object states at a time point after the target time point (which may be referred to in this document as “intent classes”).

[00097] Алгоритм 502 машинного обучения может быть любым подходящим традиционным алгоритмом машинного обучения. Например, алгоритм машинного обучения может быть любым из различных традиционных алгоритмов машинного обучения, в том числе, но без ограничения, алгоритмы «глубокого обучения», другие типы нейронных сетей или «коннекционных» систем, деревья принятия решений, леса решений, байесовские сети или другие известные, или разработанные позднее алгоритмы машинного обучения, которые используют наборы обучающих данных (например, алгоритмы обучения с учителем или с частичным привлечением учителя). Способ, в котором прогноз 506, безасессорная метка 508 и/или разница между ними используется для обучения алгоритма 502 машинного обучения, будет меняться согласно используемому алгоритму машинного обучения.[00097] The machine learning algorithm 502 may be any suitable traditional machine learning algorithm. For example, the machine learning algorithm may be any of various traditional machine learning algorithms, including, but not limited to, "deep learning" algorithms, other types of neural networks or "connection" systems, decision trees, decision forests, Bayesian networks, or others known or more recently developed machine learning algorithms that use training data sets (for example, supervised or semi-supervised learning algorithms). The manner in which the prediction 506, the accessless label 508, and/or the difference between them is used to train the machine learning algorithm 502 will vary according to the machine learning algorithm being used.

[00098] После обучения алгоритма 502 машинного обучения информация, представляющая алгоритм машинного обучения, может быть отправлена на электронное устройство, связанное с беспилотным транспортным средством, такое как электронное устройство 210, описанное выше со ссылкой на ФИГ. 2. Затем алгоритм машинного обучения может использоваться для управления беспилотным транспортным средством.[00098] After training the machine learning algorithm 502, information representing the machine learning algorithm may be sent to an electronic device associated with the autonomous vehicle, such as the electronic device 210 described above with reference to FIG. 2. The machine learning algorithm can then be used to control the self-driving vehicle.

Использование обученного алгоритма машинного обученияUsing a trained machine learning algorithm

[00099] ФИГ. 6 демонстрирует примерный сценарий для алгоритма машинного обучения, используемого в самоуправляемом транспортном средстве. Как и на ФИГ. 4, местность 602 включает в себя четырехсторонний перекресток или пересечение дорог. Беспилотное транспортное средство 610, включающее в себя обученный алгоритм машинного обучения, а также объект 612 приближаются к перекрестку. Беспилотное транспортное средство 610 использует датчики (не показаны) для определения своего собственного состояния и обнаруженного состояния объекта 612 при каждом тике и сохраняет по меньшей мере достаточное количество предыдущих данных, чтобы применить алгоритм машинного обучения для прогнозирования параметра намерения объекта на местности. Например, если алгоритм машинного обучения был обучен использовать данные из целевого момента времени и двух предыдущих тиков, то беспилотное транспортное средство 610 будет сохранять информацию о состоянии по меньшей мере трех самых последних тиках, поэтому алгоритм машинного обучения может применяться. В примере, показанном на ФИГ. 4, беспилотное транспортное средство 610 имеет данные о состоянии беспилотного транспортного средства 610 и о состоянии объекта 612 для по меньшей мере моментов t0, t-1, t-2 и t-3 времени. Датчики также обеспечивают информацию о местности 602. В некоторых реализациях эти данные о местности регистрируются на каждом тике. В некоторых реализациях данные о местности могут регистрироваться реже, чем данные о состоянии. В некоторых реализациях данные о местности могут включать в себя предопределенные картографические данные в дополнение к данным, обеспеченным датчиками на самоуправляемом транспортном средстве 610.[00099] FIG. 6 shows an example scenario for a machine learning algorithm used in a self-driving vehicle. As in FIG. 4, area 602 includes a four-way intersection or road intersection. An autonomous vehicle 610, including a trained machine learning algorithm, and an object 612 approach an intersection. The autonomous vehicle 610 uses sensors (not shown) to determine its own state and the detected state of the object 612 at each tick and stores at least enough previous data to apply a machine learning algorithm to predict the object's intent parameter on the ground. For example, if a machine learning algorithm has been trained to use data from a target time point and two previous ticks, then the autonomous vehicle 610 will retain state information from at least the most recent three ticks, so the machine learning algorithm can be applied. In the example shown in FIG. 4, the unmanned vehicle 610 has data about the state of the unmanned vehicle 610 and the state of the object 612 for at least times t 0 , t -1 , t -2 , and t -3 . The sensors also provide terrain information 602. In some implementations, this terrain data is recorded on every tick. In some implementations, terrain data may be recorded less frequently than state data. In some implementations, the terrain data may include predefined map data in addition to data provided by sensors on the autonomous vehicle 610.

[000100] Данные о состоянии беспилотного транспортного средства 610 могут включать в себя информацию, например, позицию беспилотного транспортного средства 610 во время тика, а также другую информацию о состоянии беспилотного транспортного средства 610, такую как скорость, направление или угол поворота, состояние акселератора, состояние торможения, и другую информацию. Данные о состоянии объекта 612 могут включать в себя информацию датчика, указывающую позицию, а также другую воспринимаемую информацию о состоянии объекта 612, такую как скорость и направление объекта 612. Как обсуждалось выше со ссылкой на ФИГ. 4, текущее и прошлые состояния беспилотного транспортного средства 610 и объекта 612 могут быть использованы в некоторых реализациях для определения их траекторий или частей их таких траекторий, соответствующих временному интервалу предопределенной длительности до целевого момента времени.[000100] The state data of the autonomous vehicle 610 may include information, such as the position of the autonomous vehicle 610 during a tick, as well as other information about the state of the autonomous vehicle 610, such as speed, direction or angle of rotation, accelerator state, braking state, and other information. The state data of the object 612 may include sensor information indicating a position, as well as other sensed information about the state of the object 612, such as the speed and direction of the object 612. As discussed above with reference to FIG. 4, the current and past states of the autonomous vehicle 610 and object 612 may be used in some implementations to determine their trajectories, or portions of such trajectories, corresponding to a time interval of a predetermined duration prior to a target time.

[000101] На ФИГ. 6 точки 620, 622, 624 и 626 показывают позицию беспилотного транспортного средства 610 соответственно в моменты t0, t-1, t-2 и t-3 времени. Информация о состоянии беспилотного транспортного средства 610 в каждый из этих моментов времени и, возможно, в предыдущие моменты времени, формирует набор 640 данных во время использования (in-use) для беспилотного транспортного средства. Точки 630, 632, 634 и 636 показывают позицию объекта 612 соответственно в моменты t0, t-1, t-2 и t-3 времени. Информация о состоянии объекта 612 в каждый из этих моментов времени и, возможно, в предыдущие моменты времени, формирует набор 642 данных во время использования для объекта. Набор данных во время использования (не показан) для местности 602 также может быть сформирован в самоуправляемом транспортном средстве 610.[000101] In FIG. 6, points 620, 622, 624 and 626 show the position of the unmanned vehicle 610, respectively, at times t0 , t -1 , t -2 and t -3 . Information about the state of the autonomous vehicle 610 at each of these times, and possibly previous times, forms an in-use data set 640 for the autonomous vehicle. Points 630, 632, 634 and 636 show the position of object 612, respectively, at times t0 , t -1 , t -2 and t -3 . Information about the state of the object 612 at each of these times, and possibly at previous times, forms the in-use data set 642 for the object. A set of in-use data (not shown) for terrain 602 may also be generated in the autonomous vehicle 610.

[000102] Эти наборы данных во время использования могут быть использованы обученным алгоритмом машинного обучения для генерирования прогнозного параметра намерения для объекта 612 на местности 602. Беспилотное транспортное средство 610 затем может предпринять действие, основанное на этом прогнозном параметре намерения.[000102] These data sets, during use, can be used by a trained machine learning algorithm to generate a predictive intent parameter for an object 612 in terrain 602. The autonomous vehicle 610 can then take an action based on this predictive intent parameter.

[000103] ФИГ. 7 изображает генерирование прогнозного параметра намерения для объекта посредством обученного алгоритма 702 машинного обучения. Элемент 704 данных во время использования отправляется в обученный алгоритм 702 машинного обучения, который генерирует прогнозный параметр 706 намерения для объекта.[000103] FIG. 7 depicts the generation of a predictive intent parameter for an object by a trained machine learning algorithm 702. The data element 704 at time of use is sent to a trained machine learning algorithm 702, which generates a predictive intent parameter 706 for the object.

[000104] Элемент 704 данных во время использования включает в себя самые последние данные о состоянии беспилотного транспортного средства, о состоянии объекта и о местности. В некоторых реализациях элемент 704 данных во время использования может включать в себя набор 710 данных во время использования для беспилотного транспортного средства (тс), набор 712 данных во время использования для объекта и набор 714 данных во время использования для местности. Как обсуждалось выше, каждый из этих наборов данных во время использования может включать в себя данные для целевого момента времени, а также для нуля или более предыдущих моментов времени в зависимости от обученного алгоритма машинного обучения.[000104] The in-use data element 704 includes the most recent data about the state of the autonomous vehicle, about the state of the object, and about the terrain. In some implementations, in-use data element 704 may include in-use data set 710 for an unmanned vehicle (UV), in-use data set 712 for an object, and in-use data set 714 for a terrain. As discussed above, each of these data sets during use may include data for the target time point as well as zero or more previous time points depending on the trained machine learning algorithm.

[000105] В некоторых реализациях прогнозный параметр 706 намерения может быть представлен вектором, при этом каждое значение в этом векторе представляет прогнозируемую вероятность (обычно от нуля до единицы) для каждого из предопределенного числа состояний беспилотного транспортного средства и объекта в момент времени после целевого момента времени (которые могут упоминаться в данном документе как «классы намерений»). Этот вектор обеспечивает прогноз намерения объекта в ближайшем будущем и может использоваться для определения действий, которые должны быть предприняты беспилотным транспортным средством, например, чтобы избежать столкновения или другого нежелательного события.[000105] In some implementations, the predictive intent parameter 706 may be represented by a vector, with each value in the vector representing a predicted probability (typically zero to one) for each of a predetermined number of autonomous vehicle and object states at a time point after the target time point (which may be referred to in this document as “intent classes”). This vector provides a prediction of the object's intent in the near future and can be used to determine actions that should be taken by the autonomous vehicle, for example, to avoid a collision or other unwanted event.

[000106] Обученный алгоритм 702 машинного обучения может быть любым подходящим традиционным алгоритмом машинного обучения, который был обучен как описано выше. Например, алгоритм машинного обучения может быть любым из различных традиционных алгоритмов машинного обучения, в том числе, но без ограничения, алгоритмы «глубокого обучения», другие типы нейронных сетей или «коннекционных» систем, деревья принятия решений, леса решений, байесовские сети или другие известные, или разработанные позднее алгоритмы машинного обучения.[000106] The trained machine learning algorithm 702 may be any suitable traditional machine learning algorithm that has been trained as described above. For example, the machine learning algorithm may be any of various traditional machine learning algorithms, including, but not limited to, "deep learning" algorithms, other types of neural networks or "connection" systems, decision trees, decision forests, Bayesian networks, or others known or later developed machine learning algorithms.

Обзор способа обучения и использования алгоритма машинного обученияOverview of how to train and use a machine learning algorithm

[000107] Обратимся теперь к ФИГ. 8, на которой описана блок-схема 800 последовательности операций способа обучения алгоритма машинного обучения для прогнозирования параметра намерения объекта на местности в соответствии с настоящей технологией. Способ разделен на две фазы: фаза 850 обучения и фаза 852 использования. Фаза 850 обучения обычно выполняется сервером, в то время как фаза использования выполняется на электронном устройстве, связанном с беспилотным транспортным средством, таким как электронное устройство 210, как описано со ссылкой на ФИГ. 2.[000107] Referring now to FIG. 8, which describes a flowchart 800 of a method for training a machine learning algorithm for predicting a terrain object's intent parameter in accordance with the present technology. The method is divided into two phases: a training phase 850 and a use phase 852. The training phase 850 is typically performed by the server, while the use phase is performed on an electronic device associated with the autonomous vehicle, such as electronic device 210, as described with reference to FIG. 2.

[000108] В блоке 802 фазы 850 обучения сервер осуществляет доступ к рабочим данным, связанным с обучающим транспортным средством, причем рабочие данные включают в себя данные, указывающие местность обучения, состояния обучающего транспортного средства на местности обучения и состояния обучающего объекта на местности обучения. Рабочие данные могли быть предварительно сохранены в хранилище, таком как запоминающее устройство или база данных.[000108] At block 802 of training phase 850, the server accesses operating data associated with the training vehicle, wherein the operating data includes data indicating the training location, the state of the training vehicle at the training location, and the state of the training object at the training location. The operating data may have been previously stored in a storage device such as a storage device or a database.

[000109] В блоке 804 фазы 850 обучения сервер извлекает данные для целевого момента времени из рабочих данных. Извлекаемые данные указывают: местность обучения в целевой момент времени; целевое состояние обучающего транспортного средства, соответствующее целевому моменту времени, и будущее состояние обучающего транспортного средства после целевого момента времени; и целевое состояние обучающего объекта, соответствующее целевому моменту времени, и будущее состояние обучающего объекта после целевого момента времени.[000109] At block 804 of training phase 850, the server retrieves data for the target time point from the operational data. The extracted data indicates: the training location at the target time; a target state of the training vehicle corresponding to the target time point, and a future state of the training vehicle after the target time point; and a target state of the learning object corresponding to the target time point, and a future state of the learning object after the target time point.

[000110] В некоторых реализациях сервер выбирает целевой момент времени в данных посредством идентификации определенного состояния обучающего транспортного средства и определенного состояния обучающего объекта в рабочих данных, которые связаны с одной позицией на местности обучения. Сервер затем может выбирать целевой момента времени в качестве предшествующего момента времени относительно определенного момента времени, связанного с определенным состоянием обучающего транспортного средства.[000110] In some implementations, the server selects a target time point in the data by identifying a certain state of the training vehicle and a certain state of the training object in the operating data that are associated with one position on the training location. The server may then select the target time as a prior time relative to a specific time associated with a specific state of the training vehicle.

[000111] В некоторых реализациях извлечение данных для целевого момента времени из рабочих данных включает в себя извлечение данных, указывающих набор предыдущих состояний обучающего транспортного средства до целевого момента времени. Извлечение данных может также включать в себя извлечение набора предыдущих состояний обучающего объекта до целевого момента времени. В некоторых реализациях набором предыдущих состояний обучающего транспортного средства является часть траектории обучающего транспортного средства до целевого момента времени, причем часть траектории соответствует временному интервалу предопределенной длительности до целевого момента времени. В некоторых реализациях набором предыдущих состояний обучающего объекта является часть траектории обучающего объекта до целевого момента времени, причем часть траектории соответствует временному интервалу предопределенной длительности до целевого момента времени.[000111] In some implementations, retrieving data for a target time point from the operational data includes retrieving data indicating a set of previous states of the training vehicle prior to the target time point. Data retrieval may also include retrieving a set of previous states of the training object prior to the target time. In some implementations, the set of previous states of the training vehicle is a portion of the training vehicle's trajectory to a target time, wherein the portion of the trajectory corresponds to a time interval of a predetermined duration to the target time. In some implementations, the set of previous states of the training object is part of the trajectory of the training object to the target time, and part of the trajectory corresponds to a time interval of a predetermined duration to the target time.

[000112] В некоторых реализациях извлечение данных включает в себя извлечение данных, указывающих набор будущих состояний обучающего транспортного средства после целевого момента времени, в том числе упомянутое будущее состояние обучающего транспортного средства, и набор будущих состояний обучающего объекта после целевого момента времени, в том числе упомянутое будущее состояние обучающего объекта. В некоторых реализациях набором будущих состояний обучающего транспортного средства является часть траектории обучающего транспортного средства после целевого момента времени, причем набор будущих состояний обучающего объекта является частью траектории обучающего объекта после целевого момента времени.[000112] In some implementations, data retrieval includes retrieving data indicating a set of future states of the training vehicle after a target time, including said future state of the training vehicle, and a set of future states of the training object after the target time, including the mentioned future state of the learning object. In some implementations, the set of future states of the training vehicle is part of the trajectory of the training vehicle after the target time, and the set of future states of the training object is part of the trajectory of the training object after the target time.

[000113] В блоке 806 фазы 850 обучения сервер генерирует обучающий набор для целевого момента времени для обучения алгоритма машинного обучения, причем обучающий набор имеет входную информацию и безасессорную метку. Входная информация включает в себя данные, указывающие местность обучения и состояния обучающего транспортного средства и обучающего объекта в целевой момент времени. Безасессорная метка основана на данных, указывающих будущие состояния обучающего транспортного средства и обучающего объекта. Безасессорная метка указывает намерение обучающего объекта на местности обучения в целевой момент времени.[000113] At block 806 of training phase 850, the server generates a training set for a target time point for training the machine learning algorithm, wherein the training set has input information and an accessory-free label. The input information includes data indicating the training location and the state of the training vehicle and training object at the target time. An accessory-free label is based on data indicating the future states of the learning vehicle and learning object. An accessory-free label indicates the intent of the training object at the training location at the target time.

[000114] В некоторых реализациях сервер генерирует безасессорную метку на основе данных, указывающих будущие состояния обучающего транспортного средства и обучающего объекта. В некоторых реализациях генерирование безасессорной метки может включать в себя определение того, что будущие состояния обучающего транспортного средства и обучающего объекта указывают по меньшей мере одно из: обучающее транспортное средство и обучающий объект после целевого момента времени занимают одну позицию на местности обучения и что обучающее транспортное средство занимает эту одну позицию раньше обучающего объекта; обучающее транспортное средство и обучающий объект после целевого момента времени занимают одну позицию на местности обучения и что обучающий объект занимает эту одну позицию раньше обучающего транспортного средства; обучающее транспортное средство и обучающий объект после целевого момента времени не занимают одну позицию на местности обучения; и обучающий объект занимает определенную позицию на местности обучения в будущий момент времени, и что обучающее транспортное средство занимает другую определенную позицию на местности обучения в будущий момент времени, а расстояние между упомянутой определенной позицией и другой определенной позицией ниже порогового безопасного расстояния.[000114] In some implementations, the server generates an accessory-free label based on data indicating future states of the training vehicle and training object. In some implementations, generating an accessoryless label may include determining that the future states of the training vehicle and the training object indicate at least one of: the training vehicle and the training object, after the target time, occupy the same position on the training terrain, and that the training vehicle takes this one position before the training object; the training vehicle and the training object occupy one position on the training terrain after the target time and that the training object occupies this one position before the training vehicle; the training vehicle and the training object do not occupy the same position on the training area after the target time; and that the training vehicle occupies a certain position on the training terrain at a future time point, and that the training vehicle occupies another specific position on the training terrain at a future time point, and the distance between said specific position and the other specific position is below a threshold safe distance.

[000115] В по меньшей мере некоторых вариантах осуществления следует отметить, что по меньшей мере некоторые обучающие примеры, сгенерированные сервером для обучения алгоритма машинного обучения, могут содержать примеры «отсутствия взаимодействия» между обучающим транспортным средством и обучающим объектом. В некоторых случаях, если в обучающих примерах есть только примеры «взаимодействия» между обучающим транспортным средством и обучающим объектом, алгоритм машинного обучения может прогнозировать параметры намерений, которые всегда указывают на некоторое взаимодействие между транспортным средством во время использования и объектом во время использования, а это может быть не так.[000115] In at least some embodiments, it should be noted that at least some of the training examples generated by the server for training the machine learning algorithm may contain examples of "no interaction" between the training vehicle and the training object. In some cases, if the training examples only have examples of "interaction" between the training vehicle and the training object, the machine learning algorithm can predict intent parameters that always indicate some interaction between the vehicle during use and the object during use, which is maybe not so.

[000116] В блоке 808 фазы 850 обучения сервер обучает алгоритм машинного обучения на основе обучающего набора для прогнозирования, во время фазы использования, параметра намерения, указывающего намерение объекта на местности во время целевого момента времени использования. Алгоритм машинного обучения обучается основывать этот прогноз на данных, указывающих местность в целевой момент времени использования, состояние во время использования у беспилотного транспортного средства в целевой момент времени использования и состояние во время использования у объекта в целевой момент времени использования.[000116] In block 808 of training phase 850, the server trains a machine learning algorithm based on the training set to predict, during the use phase, an intent parameter indicating the intent of the terrain object at the time of the target use time. The machine learning algorithm is trained to base this prediction on data indicating the terrain at the target use time, the during use state of the autonomous vehicle at the target use time, and the during use state of the object at the target use time.

[000117] Блоки 802-808 могут повторяться до тех пор, пока точность прогнозов алгоритма машинного обучения не достигнет предопределенного достаточного уровня точности. Как только этот уровень точности прогноза достигнут, в блоке 810 фазы обучения сервер передает информацию, представляющую обученный алгоритм машинного обучения, на электронное устройство, связанное с беспилотным транспортным средством.[000117] Blocks 802-808 may be repeated until the machine learning algorithm's prediction accuracy reaches a predetermined sufficient level of accuracy. Once this level of prediction accuracy is achieved, in training phase block 810, the server transmits information representing the trained machine learning algorithm to an electronic device associated with the autonomous vehicle.

[000118] В блоке 812 фазы 852 использования электронное устройство, связанное с беспилотным транспортным средством, выполняет обученный алгоритм машинного обучения для генерирования параметра намерения объекта. Генерирование параметра намерения основано на данных, указывающих местность в целевой момент времени использования, состояние во время использования у беспилотного транспортного средства в целевой момент времени использования и состояние во время использования у объекта в целевой момент времени использования. В некоторых реализациях параметр намерения указывает вероятность того, что намерение объекта является одним из множества классов намерений, а алгоритм машинного обучения выполнен с возможностью классификации намерения объекта на множество классов намерений.[000118] At block 812 of use phase 852, the electronic device associated with the autonomous vehicle executes the trained machine learning algorithm to generate an object intent parameter. Generation of the intent parameter is based on data indicating the terrain at the target use time, the during use state of the autonomous vehicle at the target use time, and the during use state of the object at the target use time. In some implementations, the intent parameter indicates the likelihood that the entity's intent is one of a plurality of intent classes, and the machine learning algorithm is configured to classify the entity's intent into the plurality of intent classes.

[000119] В блоке 814 фазы 852 использования электронное устройство инициирует работу беспилотного транспортного средства по меньшей мере частично на основе параметра намерения.[000119] At block 814 of use phase 852, the electronic device initiates operation of the autonomous vehicle based at least in part on the intent parameter.

[000120] Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать очевидными для специалистов в данной области техники. Предшествующее описание предназначено для того, чтобы быть примерным, а не ограничивающим. Поэтому предполагается, что объем настоящей технологии ограничен лишь объемом прилагаемой формулы изобретения.[000120] Modifications and improvements to the above-described implementations of the present technology may become apparent to those skilled in the art. The foregoing description is intended to be exemplary and not limiting. It is therefore intended that the scope of the present technology be limited only by the scope of the appended claims.

Claims (76)

1. Способ обучения алгоритма машинного обучения для прогнозирования параметра намерения для объекта на местности для использования в беспилотных транспортных средствах, причем беспилотное транспортное средство движется по местности вблизи упомянутого объекта, причем способ выполняется сервером и содержит:1. A method for training a machine learning algorithm to predict an intent parameter for an object on the ground for use in unmanned vehicles, wherein the unmanned vehicle moves through the terrain in the vicinity of said object, the method being executed by a server and comprising: осуществление доступа сервером к рабочим данным, связанным с обучающим транспортным средством, причем рабочие данные ранее были сохранены в хранилище и включают в себя данные, указывающие:allowing the server to access operational data associated with the training vehicle, wherein the operational data has previously been stored in storage and includes data indicating: местность обучения, состояния обучающего транспортного средства на местности обучения и состояния обучающего объекта на местности обучения;the training area, the condition of the training vehicle at the training area and the condition of the training object at the training area; для целевого момента времени в рабочих данных:for the target time in the operating data: извлечение из рабочих данных посредством сервера данных, указывающих:retrieving from operational data by means of a server data indicating: местность обучения в целевой момент времени,training area at the target time, целевое состояние обучающего транспортного средства, соответствующее целевому моменту времени, и будущее состояние обучающего транспортного средства после целевого момента времени,the target state of the training vehicle corresponding to the target time point, and the future state of the training vehicle after the target time point, целевое состояние обучающего объекта, соответствующее целевому моменту времени, и будущее состояние обучающего объекта после целевого момента времени;the target state of the learning object corresponding to the target time point, and the future state of the learning object after the target time point; генерирование сервером обучающего набора для обучения алгоритма машинного обучения, причем обучающий набор имеет входную информацию и безасессорную метку,generation by the server of a training set for training a machine learning algorithm, wherein the training set has input information and an accessory-free label, причем входная информация включает в себя данные, указывающие местность обучения и целевые состояния обучающего транспортного средства и обучающего объекта,wherein the input information includes data indicating the training location and target states of the training vehicle and training object, безасессорная метка основана на данных, указывающих будущие состояния обучающего транспортного средства и обучающего объекта, причем безасессорная метка указывает намерение обучающего объекта на местности обучения в целевой момент времени; иthe non-assessed label is based on data indicating future states of the training vehicle and the training object, the non-assessed label indicating the intention of the training object at the training location at the target time; And обучение сервером алгоритма машинного обучения на основе обучающего набора для прогнозирования, во время фазы использования:server training of a machine learning algorithm based on the training set for prediction, during the use phase: параметра намерения, указывающего намерение объекта на местности во время целевого момента времени использования, на основе данных, указывающих (i) местность в целевой момент времени использования, (ii) состояние использования беспилотного транспортного средства в целевой момент времени использования и (iii) состояние использования упомянутого объекта.an intent parameter indicating the intent of an object on the terrain at the target use time, based on data indicating (i) the terrain at the target use time, (ii) the use state of the unmanned vehicle at the target use time, and (iii) the use state of said object. 2. Способ по п. 1, в котором извлечение содержит:2. The method according to claim 1, in which the extract contains: извлечение сервером данных, указывающих (i) набор предыдущих состояний обучающего транспортного средства до целевого момента времени и (ii) набор предыдущих состояний обучающего объекта до целевого момента времени,retrieving by the server data indicating (i) a set of previous states of the training vehicle up to the target time point and (ii) a set of previous states of the training vehicle up to the target time point, причем входная информация дополнительно включает в себя данные, указывающие наборы предыдущих состояний обучающего транспортного средства и обучающего объекта.wherein the input information further includes data indicating sets of previous states of the training vehicle and the training object. 3. Способ по п. 2, в котором набором предыдущих состояний обучающего транспортного средства является часть траектории обучающего транспортного средства до целевого момента времени, причем часть траектории соответствует временному интервалу предопределенной длительности до целевого момента времени.3. The method according to claim 2, wherein the set of previous states of the training vehicle is a part of the trajectory of the training vehicle up to the target time, wherein the part of the trajectory corresponds to a time interval of a predetermined duration up to the target time. 4. Способ по п. 2, в котором набором предыдущих состояний обучающего объекта является часть траектории обучающего объекта до целевого момента времени, причем часть траектории соответствует временному интервалу предопределенной длительности до целевого момента времени.4. The method according to claim 2, in which the set of previous states of the learning object is part of the trajectory of the learning object up to the target point in time, and part of the trajectory corresponds to a time interval of a predetermined duration up to the target point in time. 5. Способ по п. 1, в котором извлечение содержит:5. The method according to claim 1, in which the extract contains: извлечение сервером данных, указывающих (i) набор будущих состояний обучающего транспортного средства после целевого момента времени, в том числе упомянутое будущее состояние обучающего транспортного средства, и (ii) набор будущих состояний обучающего объекта после целевого момента времени, в том числе упомянутое будущее состояние обучающего объекта,retrieving by the server data indicating (i) a set of future states of the training vehicle after the target time, including said future state of the training vehicle, and (ii) a set of future states of the training object after the target time, including said future state of the training object, безасессорная метка основана на наборах будущих состояний обучающего транспортного средства и обучающего объекта.The accessoryless label is based on the sets of future states of the learning vehicle and the learning object. 6. Способ по п. 5, в котором набор будущих состояний обучающего транспортного средства является частью траектории обучающего транспортного средства после целевого момента времени и в котором набор будущих состояний обучающего объекта является частью другой траектории обучающего объекта после целевого момента времени.6. The method of claim 5, wherein the set of future states of the training vehicle is part of a trajectory of the training vehicle after the target time, and wherein the set of future states of the training object is part of another trajectory of the training object after the target time. 7. Способ по п. 1, в котором способ дополнительно содержит выбор сервером целевого момента времени в рабочих данных, причем выбор содержит:7. The method of claim 1, wherein the method further comprises selecting by the server a target time point in the operational data, the selection comprising: идентификацию сервером определенного состояния обучающего транспортного средства и определенного состояния обучающего объекта в рабочих данных, которые связаны с одной и той же позицией на местности обучения; иidentifying by the server a certain state of the training vehicle and a certain state of the training object in the operating data that are associated with the same position on the training area; And выбор сервером целевого момента времени в качестве предшествующего момента времени относительно определенного момента времени, связанного с определенным состоянием обучающего транспортного средства.the server selecting a target time point as a prior time point relative to a certain time point associated with a certain state of the training vehicle. 8. Способ по п. 1, при этом способ содержит генерирование сервером безасессорной метки на основе данных, указывающих будущие состояния обучающего транспортного средства и обучающего объекта, причем генерирование безасессорной метки включает в себя:8. The method of claim 1, wherein the method comprises generating, by the server, an accessory-free label based on data indicating future states of the training vehicle and the training object, wherein generating the accessory-free label includes: определение сервером того, что будущие состояния обучающего транспортного средства и обучающего объекта указывают по меньшей мере одно из следующего:determining by the server that the future states of the training vehicle and training object indicate at least one of the following: обучающее транспортное средство и обучающий объект после целевого момента времени занимают одну позицию на местности обучения, и что обучающее транспортное средство занимает эту одну позицию раньше обучающего объекта;the training vehicle and the training object occupy one position on the training terrain after the target time, and that the training vehicle occupies this one position before the training object; обучающее транспортное средство и обучающий объект после целевого момента времени занимают одну позицию на местности обучения и что обучающий объект занимает эту одну позицию раньше обучающего транспортного средства;the training vehicle and the training object occupy one position on the training terrain after the target time and that the training object occupies this one position before the training vehicle; обучающее транспортное средство и обучающий объект после целевого момента времени не занимают одну позицию на местности обучения; иthe training vehicle and the training object do not occupy the same position on the training area after the target time; And обучающий объект занимает определенную позицию на местности обучения в будущий момент времени, и что обучающее транспортное средство занимает другую определенную позицию на местности обучения в будущий момент времени, а расстояние между упомянутой определенной позицией и другой определенной позицией ниже порогового безопасного расстояния.the training object occupies a certain position on the training terrain at a future time, and that the training vehicle occupies another specific position on the training terrain at a future time, and the distance between said specific position and the other specific position is below a threshold safe distance. 9. Способ по п. 1, при этом способ дополнительно содержит:9. The method according to claim 1, wherein the method additionally contains: передачу сервером информации, представляющей алгоритм машинного обучения, на электронное устройство, связанное с беспилотным транспортным средством;transmitting by the server information representing the machine learning algorithm to an electronic device associated with the unmanned vehicle; в целевой момент времени использования, во время работы беспилотного транспортного средства:at the target time of use, during operation of the unmanned vehicle: выполнение электронным устройством алгоритма машинного обучения для генерирования параметра намерения; иexecuting a machine learning algorithm by the electronic device to generate an intent parameter; And инициирование электронным устройством работы беспилотного транспортного средства по меньшей мере частично на основе параметра намерения.causing the electronic device to initiate operation of the autonomous vehicle based at least in part on an intent parameter. 10. Способ по п. 1, в котором алгоритм машинного обучения выполнен с возможностью классификации намерения объекта, причем параметр намерения указывает вероятность того, что намерением объекта является один из множества классов намерений.10. The method of claim 1, wherein the machine learning algorithm is configured to classify the intent of an object, wherein the intent parameter indicates the likelihood that the intent of the object is one of a plurality of intent classes. 11. Способ по п. 1, в котором обучающее транспортное средство является беспилотным транспортным средством.11. The method according to claim 1, wherein the training vehicle is an unmanned vehicle. 12. Способ по п. 1, в котором объект является движущимся объектом.12. The method according to claim 1, wherein the object is a moving object. 13. Способ по п. 1, в котором объект является по меньшей мере одним из транспортного средства и пешехода.13. The method of claim 1, wherein the object is at least one of a vehicle and a pedestrian. 14. Способ по п. 1, в котором местность обучения содержит участок дороги обучения и в котором данные о местности обучения представляют собой изображение вида с высоты птичьего полета для участка дороги обучения в целевой момент времени.14. The method of claim 1, wherein the training location comprises a training road section, and wherein the training location data is a bird's eye view image of the training road section at a target time. 15. Способ эксплуатации беспилотного транспортного средства, содержащий:15. A method of operating an unmanned vehicle, containing: прием на электронном устройстве, связанном с беспилотным транспортным средством, данных от датчика, связанного с беспилотным транспортным средством, причем данные указывают состояние беспилотного транспортного средства, состояние объекта вблизи беспилотного транспортного средства и местность, по которой движется беспилотное транспортное средство;receiving, at an electronic device associated with the unmanned vehicle, data from a sensor associated with the unmanned vehicle, the data indicating the state of the unmanned vehicle, the state of an object in the vicinity of the unmanned vehicle, and the terrain over which the unmanned vehicle is moving; предоставление упомянутых данных в алгоритм машинного обучения на электронном устройстве, причем алгоритм машинного обучения определяет параметр намерения, указывающий намерение объекта на местности во время целевого момента времени; и providing said data to a machine learning algorithm on the electronic device, wherein the machine learning algorithm determines an intent parameter indicating the intent of the object on the ground at the time of the target time; And инициирование электронным устройством работы беспилотного транспортного средства по меньшей мере частично на основе параметра намерения;causing the electronic device to operate the autonomous vehicle based at least in part on the intent parameter; при этом алгоритм машинного обучения был обучен с использованием набора обучающих данных, сгенерированного посредством, по меньшей мере частично:wherein the machine learning algorithm was trained using a training data set generated by, at least in part: осуществления доступа сервером к рабочим данным, связанным с обучающим транспортным средством, причем рабочие данные ранее были сохранены в хранилище и включают в себя данные, указывающие:the server accessing operational data associated with the training vehicle, wherein the operational data has previously been stored in storage and includes data indicating: местность обучения, состояния обучающего транспортного средства на местности обучения и состояния обучающего объекта на местности обучения;the training area, the condition of the training vehicle at the training area and the condition of the training object at the training area; для целевого момента времени обучения в рабочих данных:for the target training time in the operating data: извлечения из рабочих данных посредством сервера данных, указывающих:extracting from operational data by means of a server data indicating: местность обучения в целевой момент времени обучения,training area at the target time of training, целевое состояние обучающего транспортного средства, соответствующее целевому моменту времени обучения, и будущее состояние обучающего транспортного средства после целевого момента времени обучения,a target state of the training vehicle corresponding to the target training time point, and a future state of the training vehicle after the target training time point, целевое состояние обучающего объекта, соответствующее целевому моменту времени обучения, и будущее состояние обучающего объекта после целевого момента времени обучения;the target state of the training object corresponding to the target moment in time of training, and the future state of the training object after the target moment in time of training; генерирования сервером обучающего набора данных для обучения алгоритма машинного обучения, причем обучающий набор данных имеет входную информацию и безасессорную метку,generating by the server a training data set for training the machine learning algorithm, wherein the training data set has input information and an accessory-free label, причем входная информация включает в себя данные, указывающие местность обучения и целевые состояния обучающего транспортного средства и обучающего объекта,wherein the input information includes data indicating the training location and target states of the training vehicle and training object, безасессорная метка основана на данных, указывающих будущие состояния обучающего транспортного средства и обучающего объекта, причем безасессорная метка указывает намерение обучающего объекта на местности обучения в целевой момент времени обучения.the non-assessed label is based on data indicating the future states of the training vehicle and the training object, the non-assessed label indicating the intention of the training object at the training location at the training target time. 16. Способ по п. 15, в котором алгоритм машинного обучения выполнен с возможностью классификации намерения объекта, причем параметр намерения указывает вероятность того, что намерением объекта является один из множества классов намерений.16. The method of claim 15, wherein the machine learning algorithm is configured to classify the intent of an object, wherein the intent parameter indicates the probability that the intent of the object is one of a plurality of intent classes. 17. Способ по п. 15, дополнительно содержащий прием на электронном устройстве информации, представляющей алгоритм машинного обучения, от сервера.17. The method according to claim 15, further comprising receiving on the electronic device information representing the machine learning algorithm from the server. 18. Беспилотное транспортное средство, содержащее:18. An unmanned vehicle containing: по меньшей мере один датчик, выполненный с возможностью сбора данных датчика, указывающих состояние беспилотного транспортного средства, состояние объекта вблизи беспилотного транспортного средства и местность, по которой движется беспилотное транспортное средство;at least one sensor configured to collect sensor data indicating the state of the unmanned vehicle, the state of an object in the vicinity of the unmanned vehicle, and the terrain over which the unmanned vehicle is moving; электронное устройство, включающее в себя процессор и память, причем память хранит запрограммированные инструкции, которые при выполнении процессором побуждают электронное устройство:an electronic device including a processor and a memory, the memory storing programmed instructions that, when executed by the processor, cause the electronic device to: предоставлять данные датчика в алгоритм машинного обучения, выполняемый на процессоре, причем алгоритм машинного обучения определяет параметр намерения, указывающий намерение объекта на местности во время целевого момента времени; иprovide the sensor data to a machine learning algorithm running on the processor, wherein the machine learning algorithm determines an intent parameter indicating the intent of an object on the ground at the time of the target time; And инициировать работу беспилотного транспортного средства по меньшей мере частично на основе параметра намерения;initiate operation of the autonomous vehicle based at least in part on the intent parameter; при этом алгоритм машинного обучения содержит значения, хранящиеся в памяти, которые были определены путем обучения алгоритма машинного обучения с использованием набора обучающих данных, сгенерированного посредством, по меньшей мере частично:wherein the machine learning algorithm contains values stored in memory that were determined by training the machine learning algorithm using a training data set generated by, at least in part: осуществления доступа сервером к рабочим данным, связанным с обучающим транспортным средством, причем рабочие данные ранее были сохранены в хранилище и включают в себя данные, указывающие:the server accessing operational data associated with the training vehicle, wherein the operational data has previously been stored in storage and includes data indicating: местность обучения, состояния обучающего транспортного средства на местности обучения и состояния обучающего объекта на местности обучения;the training area, the condition of the training vehicle at the training area and the condition of the training object at the training area; для целевого момента времени обучения в рабочих данных:for the target training time in the operating data: извлечения из рабочих данных посредством сервера данных, указывающих:extracting from operational data by means of a server data indicating: местность обучения в целевой момент времени обучения,training area at the target time of training, целевое состояние обучающего транспортного средства, соответствующее целевому моменту времени обучения, и будущее состояние обучающего транспортного средства после целевого момента времени обучения,a target state of the training vehicle corresponding to the target training time point, and a future state of the training vehicle after the target training time point, целевое состояние обучающего объекта, соответствующее целевому моменту времени обучения, и будущее состояние обучающего объекта после целевого момента времени обучения;the target state of the training object corresponding to the target moment in time of training, and the future state of the training object after the target moment in time of training; генерирования сервером обучающего набора данных для обучения алгоритма машинного обучения, причем обучающий набор данных имеет входную информацию и безасессорную метку,generating by the server a training data set for training the machine learning algorithm, wherein the training data set has input information and an accessory-free label, причем входная информация включает в себя данные, указывающие местность обучения и целевые состояния обучающего транспортного средства и обучающего объекта,wherein the input information includes data indicating the training location and target states of the training vehicle and training object, безасессорная метка основана на данных, указывающих будущие состояния обучающего транспортного средства и обучающего объекта, причем безасессорная метка указывает намерение обучающего объекта на местности обучения в целевой момент времени обучения.the non-assessed label is based on data indicating the future states of the training vehicle and the training object, the non-assessed label indicating the intention of the training object at the training location at the training target time. 19. Беспилотное транспортное средство по п. 18, в котором алгоритм машинного обучения выполнен с возможностью классификации намерения объекта, причем параметр намерения указывает вероятность того, что намерением объекта является один из множества классов намерений.19. The autonomous vehicle of claim 18, wherein the machine learning algorithm is configured to classify the intent of an object, wherein the intent parameter indicates the probability that the object's intent is one of a plurality of intent classes. 20. Беспилотное транспортное средство по п. 18, в котором память дополнительно хранит запрограммированные инструкции, которые при выполнении процессором побуждают электронное устройство принимать информацию, представляющую алгоритм машинного обучения, от сервера.20. The self-driving vehicle of claim 18, wherein the memory further stores programmed instructions that, when executed by the processor, cause the electronic device to receive information representing the machine learning algorithm from the server.
RU2021116056A 2021-06-03 2021-06-03 Method for training machine learning algorithm for predicting intent parameter for object on ground for use in unmanned vehicles RU2810934C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/580,220 US20220388547A1 (en) 2021-06-03 2022-01-20 Method for training a machine learning algorithm for predicting an intent parameter for an object on a terrain

Publications (2)

Publication Number Publication Date
RU2021116056A RU2021116056A (en) 2022-12-05
RU2810934C2 true RU2810934C2 (en) 2024-01-09

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363309B1 (en) * 2003-12-03 2008-04-22 Mitchell Waite Method and system for portable and desktop computing devices to allow searching, identification and display of items in a collection
WO2017021753A1 (en) * 2015-08-06 2017-02-09 Accenture Global Services Limited Condition detection using image processing
RU2629875C1 (en) * 2016-04-04 2017-09-04 Общество С Ограниченной Ответственностью "Яндекс" Methods and systems for predicting driving conditions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363309B1 (en) * 2003-12-03 2008-04-22 Mitchell Waite Method and system for portable and desktop computing devices to allow searching, identification and display of items in a collection
WO2017021753A1 (en) * 2015-08-06 2017-02-09 Accenture Global Services Limited Condition detection using image processing
RU2629875C1 (en) * 2016-04-04 2017-09-04 Общество С Ограниченной Ответственностью "Яндекс" Methods and systems for predicting driving conditions

Similar Documents

Publication Publication Date Title
US20220388547A1 (en) Method for training a machine learning algorithm for predicting an intent parameter for an object on a terrain
US11157008B2 (en) Autonomous vehicle routing using annotated maps
US20240144010A1 (en) Object Detection and Property Determination for Autonomous Vehicles
US10768628B2 (en) Systems and methods for object detection at various ranges using multiple range imagery
EP3299921B1 (en) Location specific assistance for an autonomous vehicle control system
CN110857085A (en) Vehicle path planning
US9576200B2 (en) Background map format for autonomous driving
CN111133485A (en) Object prediction prioritization system and method for autonomous vehicles
US11645360B2 (en) Neural network image processing
EP4095812A1 (en) Method for predicting a trajectory of an agent in a vicinity of a self-driving vehicle based on ranking
CN111527013A (en) Vehicle lane change prediction
RU2744012C1 (en) Methods and systems for automated determination of objects presence
RU2757234C2 (en) Method and system for calculating data for controlling the operation of a self-driving car
US11610412B2 (en) Vehicle neural network training
EP3674972B1 (en) Methods and systems for generating training data for neural network
RU2767831C1 (en) Methods and electronic devices for detecting objects in the environment of an unmanned vehicle
WO2023230740A1 (en) Abnormal driving behavior identification method and device and vehicle
CN118129725A (en) Method for detecting lane section for creating high definition map
US12017683B2 (en) Method and device for operating a self-driving car
CN116710732A (en) Rare Event Simulation in Motion Planning for Autonomous Vehicles
RU2810934C2 (en) Method for training machine learning algorithm for predicting intent parameter for object on ground for use in unmanned vehicles
US20220019820A1 (en) Vehicle operation
EP4174611B1 (en) Mobile robot and a method for controlling the mobile robot
RU2800694C2 (en) Method for predicting the trajectory of an agent near an unmanned vehicle based on the ranking
CN112519779A (en) Location-based vehicle operation