СПОСОБ И СИСТЕМА ДЛЯ ОБУЧЕНИЯ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ С ЦЕЛЬЮ ОБНАРУЖЕНИЯ ОБЪЕКТОВ НА РАССТОЯНИИ
METHOD AND SYSTEM FOR TRAINING MACHINE LEARNING ALGORITHM FOR DETECTING OBJECTS AT A DISTANCE

Область техники, к которой относится изобретение
[1] Настоящая технология относится к компьютерным способам и системам для определения наличия объекта, в частности, к способам и системам для определения наличия объекта в зоне вокруг автономного транспортного средства на некотором расстоянии от него.
Уровень техники
[2] В известных решениях предложены и реализованы компьютерные навигационные системы, способствующие навигации и/или управлению транспортным средством. Известны различные системы такого рода: от простых решений, основанных на определении местоположения на карте и использующих компьютерную систему для помощи водителю в навигации на маршруте от пункта отправления до пункта назначения, до более сложных решений, таких как компьютеризированные и/или автономные системы вождения.
[3] Некоторые из этих систем реализованы в виде широко известной системы круиз-контроля. В этом случае компьютерная система, установленная на транспортном средстве, поддерживает заданную пользователем скорость движения транспортного средства. Некоторые системы круиз-контроля реализуют систему интеллектуального управления дистанцией, позволяя пользователю задавать расстояние до движущегося впереди автомобиля (например, выбирать значение, выраженное в количестве транспортных средств). В дальнейшем компьютерная система регулирует скорость транспортного средства, по меньшей мере частично, в зависимости от его приближения к движущемуся впереди транспортному средству на заранее заданное расстояние. Некоторые из систем круиз-контроля дополнительно оснащены системой предупреждения столкновений, которая при обнаружении транспортного средства (или другого препятствия) перед движущимся транспортным средством замедляет или останавливает его.
[4] Некоторые из наиболее передовых систем обеспечивают полностью автономное движение транспортного средства без непосредственного участия оператора (т.е. водителя) в управлении. Такие автономные транспортные средства содержат компьютерные системы, способные ускорять, замедлять, останавливать, перестраивать в другой ряд и самостоятельно парковать транспортное средство.
[5] Одна из основных технических проблем, возникающих при реализации вышеупомянутых компьютерных систем, заключается в способности компьютерной системы обнаруживать объекты вокруг транспортного средства, например, другое транспортное средство впереди транспортного средства с установленной компьютерной системой, которое может представлять опасность для данного транспортного средства и требовать принятия компьютерной системой упреждающих мер, таких как торможение или иное изменение скорости, остановка или перестроение в другой ряд. В частности, проблема обнаружения объекта заключается не только в двоичном обнаружении (наличие или отсутствие объекта), но и в определении его скорости, а также в точности, связанной с таким анализом и обнаружением (особенно в предотвращении ложноотрицательных результатов, когда система не обнаруживает объект, в действительности присутствующий впереди или рядом с транспортным средством).
[6] Важность этой проблемы иллюстрируется следующим гипотетическим сценарием. Можно предположить, что самоуправляемое или частично автономное транспортное средство движется по маршруту. Ребенок (или взрослый или домашнее животное и т.д.) бежит перед транспортным средством. От управляющей транспортным средством компьютерной системы требуется быстро обнаружить наличие объекта и выполнить корректирующие действия, чтобы избежать столкновения. Разумеется, что чем быстрее компьютерная система обнаруживает наличие объекта, тем больше времени она имеет для определения корректирующего действия и выдачи команды транспортному средству на выполнение этого корректирующего действия.
[7] Патент US9760090B2 (Mobileye Vision Technologies Ltd, выдан 12 сентября 2017 г.) «Crowd sourcing data for autonomous vehicle navigation», описывает способ обработки навигационной информации транспортных средств для использования в навигации автономного транспортного средства. Способ включает в себя получение сервером навигационной информации от множества транспортных средств. Навигационная информация от множества транспортных средств связана с общим участком дороги. Способ также включает в себя хранение сервером навигационной информации, связанной с общим участком дороги. Кроме того, способ включает в себя создание сервером по меньшей мере части навигационной модели автономного транспортного средства для общего участка дороги на основе навигационной информации от множества транспортных средств. Способ дополнительно включает в себя передачу сервером навигационной модели автономного транспортного средства одному или нескольким автономным транспортным средствам для использования при автономном движении одного или нескольких автономных транспортных средств на общем участке дороги.
Раскрытие изобретения
[8] Целью настоящего изобретения является устранение по меньшей мере некоторых недостатков известных решений. Варианты осуществления настоящей технологии способны обеспечить и/или расширить арсенал подходов и/или способов достижения целей в настоящей технологии.
[9] Разработчики настоящей технологии выявили по меньшей мере одну техническую проблему, связанную с известными решениями.
[10] Разработчикам настоящей технологии известны транспортные средства (с компьютерным управлением или управляемые автономно), оснащенные несколькими датчиками – например, первым датчиком (в частности, камерой и т.п.) и вторым датчиком (в частности, на основе лидара). Обычно для распознавания объектов в данных, полученных датчиками, используется один или несколько алгоритмов машинного обучения (MLA, Machine Learning Algorithm).
[11] Варианты осуществления настоящей технологии были разработаны на основе понимания разработчиками того, что данные об окружающей обстановке, полученные датчиком на втором транспортном средстве, движущемся за первым транспортным средством, могут быть менее точными, чем такая же информация об окружающей обстановке, полученная аналогичным датчиком на первом транспортном средстве. Такое снижение точности и/или достоверности может быть вызвано множеством факторов, например, видом и/или ограничениями датчика (в частности, ограниченной дальностью действия), факторами окружающей среды, наличием препятствий и/или такими эффектами, как рассеяние, интерференция, диффузия и т.п. Полученные данные могут быть менее точными и/или менее достоверными (например, в трехмерном облаке лидарных точек может быть меньше точек данных или эти точки данных могут быть сильнее рассеяны), что может влиять на способность алгоритма MLA распознавать объекты, поскольку алгоритм MLA никогда не «видел» такого менее точного представления объектов в данных датчика или не был обучен ему. Поэтому алгоритм MLA может не распознавать объекты и быть не способным передавать информацию водителю и/или системе управления, которые, в свою очередь, могут не выполнять соответствующие действия (например, торможение).
[12] Соответственно, разработчики обнаружили, что алгоритм MLA можно обучить распознаванию объектов при менее точном представлении этих объектов в данных датчика. Для достижения этой цели разработчики предположили, что за первым транспортным средством, оснащенным датчиками, по запланированному маршруту может следовать второе транспортное средство, оснащенное аналогичными датчиками, при этом датчики как на первом, так и на втором транспортном средстве могут одновременно получать данные об окружающей обстановке в виде данных первого транспортного средства и данных второго транспортного средства. Данные первого транспортного средства и данные второго транспортного средства могут обрабатываться с целью пространственно-временного совмещения и алгоритм MLA может выполнять обнаружение и/или распознавание объектов в данных первого транспортного средства, помечая данные, соответствующие объекту, меткой класса, например «полоса движения», «легковой автомобиль», «человек», «дорожный знак», «препятствие» и т.п.
[13] Затем часть данных первого транспортного средства, соответствующая размеченным объектам, после пространственно-временного совмещения может быть сопоставлена с эквивалентной частью данных второго транспортного средства и дополнена метками соответствующих классов. Наконец, размеченные данные второго транспортного средства могут использоваться как истинные данные для обучения алгоритма MLA обнаружению объектов при менее точном представлении данных датчика, полученных в условиях, подобных движению второго транспортного средства позади первого транспортного средства.
[14] Предполагается, что настоящая технология может использоваться с установленными на транспортных средствах датчиками различного вида, например, с камерами, лидарными датчиками и радарными датчиками, но не ограничиваясь ими, и в различных физических ситуациях, при этом алгоритм MLA обучен распознаванию или обнаружению объектов на основе данных, полученных в первой физической ситуации, и может учитывать данные, полученные во второй физической ситуации, в которой представление признаков объектов, по меньшей мере частично, отличается. Физическая ситуация может быть фактором, оказывающим физическое влияние на получение данных датчиком (например, из-за окружающей обстановки или расстояния).
[15] Во второй физической ситуации менее точное представление признаков объектов в данных датчика (например, в вышеуказанных данных второго транспортного средства) может по-прежнему восприниматься алгоритмом MLA во второй физической ситуации при наличии основы для сравнения (например, вышеуказанных данных первого транспортного средства), что позволяет создавать обучающие данные для алгоритма MLA (например, путем добавления меток в соответствующей части данных второго транспортного средства). Кроме того, настоящая технология может использоваться для нескольких датчиков одновременно.
[16] Таким образом, настоящая технология ориентирована на способ и сервер для обучения алгоритма машинного обучения с целью обнаружения объектов на расстоянии.
[17] Согласно первому аспекту настоящей технологии реализован компьютерный способ обучения первого алгоритма машинного обучения (MLA) обнаружению объектов в данных датчика, полученных вторым датчиком, расположенным на втором расстоянии от этих объектов. Первый алгоритм MLA обучен распознаванию объектов в данных датчика, полученных первым датчиком, расположенным на первом расстоянии от этих объектов, при этом второе расстояние больше первого расстояния. Способ реализуется на сервере и включает в себя: прием сервером данных первого датчика, полученных на первом расстоянии первым датчиком, установленным на первом транспортном средстве, проехавшем по заранее определенной дороге. Способ включает в себя прием сервером данных второго датчика, полученных на втором расстоянии вторым датчиком, установленным на втором транспортном средстве, проехавшем позади первого транспортного средства по той же заранее определенной дороге. Способ включает в себя получение сервером трехмерной карты этой заранее определенной дороги, включающей в себя набор объектов. Кроме того, способ включает в себя совмещение сервером данных первого датчика с данными второго датчика на основе, по меньшей мере частично, набора объектов на трехмерной карте для получения совмещенных данных первого датчика и совмещенных данных второго датчика, для которых заданная область в совмещенных данных первого датчика соответствует заданной области в совмещенных данных второго датчика. Первый алгоритм MLA определяет части совмещенных данных первого датчика, соответствующих объектам, включая определение классов этих объектов. Способ включает в себя установление сервером соответствия объектов и классов этих объектов частям совмещенных данных второго датчика, которые соответствуют частям совмещенных данных первого датчика. Способ включает в себя обучение сервером первого алгоритма MLA определению объектов и классов этих объектов в данных датчика, полученных на втором расстоянии от этих объектов, на основе частей совмещенных данных второго датчика и классов объектов, для которых установлено соответствие частям совмещенных данных второго датчика.
[18] В некоторых вариантах осуществления способа каждый объект из набора объектов связан с местоположением, каждая точка данных первого датчика связана с отметкой времени и местоположением и каждая точка данных второго датчика связана с отметкой времени и местоположением. Совмещение основано на соответствии отметок времени в данных первого и второго датчиков, на соответствии местоположений в данных первого и второго датчиков и на соответствии местоположений для набора объектов на трехмерной карте заранее определенной дороги.
[19] В некоторых вариантах осуществления способа каждый объект из набора объектов связан с классом объектов, при этом объекты и классы объектов, соответствующие частям совмещенных данных первого датчика, определенным первым алгоритмом MLA, включают в себя набор объектов и классы объектов на трехмерной карте заранее определенной дороги.
[20] В некоторых вариантах осуществления способа трехмерная карта заранее определенной дороги предварительно создана путем приема сервером первичных данных датчика, полученных на первом расстоянии датчиком, установленным на первом транспортном средстве, проехавшем по этой заранее определенной дороге, при этом каждая точка данных датчика связана с местоположением и одометрическими параметрами. Области первичных данных датчика упорядочены для получения трехмерной карты на основе местоположения и одометрических параметров с геометрическим совмещением областей в первичных данных датчика. Первый алгоритм MLA определяет объекты в наборе объектов, классы этих объектов и местоположения для набора объектов в соответствующих областях трехмерной карты.
[21] В некоторых вариантах осуществления способа местоположение включает в себя широту и долготу, а одометрические параметры включают в себя передачу, частоту вращения колес, параметры блока инерциальных измерений (IMU, Inertial Measurement Unit), положение регулятора подачи топлива, угол поворота и скорость.
[22] В некоторых вариантах осуществления способа совмещение выполняется на сервере вторым алгоритмом MLA, реализующим алгоритм кластеризации.
[23] В некоторых вариантах осуществления способа первый датчик является первым лидарным датчиком, а второй датчик является вторым лидарным датчиком.
[24] В некоторых вариантах осуществления способа сервер выполняет третий алгоритм MLA, обученный распознаванию объектов на изображениях, полученных датчиком-камерой. Кроме того, способ перед совмещением включает в себя прием сервером набора изображений, полученных датчиком-камерой, установленным на втором транспортном средстве, каждое из которых связано с местоположением и с использованием третьего алгоритма MLA связывает каждое изображение из набора изображений с по меньшей мере одним объектом из набора объектов на основе, по меньшей мере частично, местоположения для изображения и местоположения для по меньшей мере одного объекта. В дальнейшем обучение первого алгоритма MLA основано на этом наборе изображений.
[25] В некоторых вариантах осуществления способа сервер выполняет четвертый алгоритм MLA, обученный распознаванию объектов в точках, полученных радарным датчиком. Кроме того, перед совмещением способ включает в себя прием сервером данных радарного датчика, полученных на втором расстоянии радарным датчиком, установленным на втором транспортном средстве, при котором каждая точка данных радарного датчика связана с отметкой времени и местоположением. Это совмещение дополнительно включает в себя совмещение данных радарного датчика для получения совмещенных данных радарного датчика и основывается на соответствующих местоположениях в данных радарного датчика. Кроме того, после совмещения способ дополнительно включает в себя определение четвертым алгоритмом MLA частей совмещенных данных радарного датчика, соответствующих объектам, включая определение классов соответствующих объектов. В дальнейшем обучение первого алгоритма MLA основано на данных радарного датчика.
[26] В некоторых вариантах осуществления способа первый алгоритм MLA представляет собой сверточную нейронную сеть (CNN, Convolutional Neural Network).
[27] В некоторых вариантах осуществления способа первый алгоритм MLA представляет собой алгоритм классификации на основе градиентного бустинга.
[28] В некоторых вариантах осуществления способа первый алгоритм MLA обучен путем приема данных датчика, полученных на первом расстоянии первым датчиком и содержащих набор размеченных объектов. Данные датчика обрабатываются для извлечения набора признаков, включающих в себя первый набор параметров. Алгоритм MLA обучается определению метки для объекта на основе этого набора признаков, при этом обучение основано на наборе размеченных объектов в данных датчика.
[29] Согласно другому аспекту настоящей технологии реализован компьютерный способ обучения алгоритма MLA обнаружению объектов в данных датчика, полученных вторым датчиком во второй физической ситуации, при этом алгоритм MLA обучен распознаванию объектов в данных датчика, полученных первым датчиком в первой физической ситуации, а представление объектов в данных датчика, полученных в первой физической ситуации, отличается от представления объектов в данных датчика, полученных во второй физической ситуации. Способ реализуется на сервере и включает в себя: прием данных первого датчика, полученных в первой физической ситуации первым датчиком, установленным на первом транспортном средстве, проехавшем по заранее определенной дороге. Способ включает в себя прием данных второго датчика, полученных во второй физической ситуации вторым датчиком, установленным на втором транспортном средстве, проехавшем по той же заранее определенной дороге. Данные первого датчика совмещаются с данными второго датчика для получения совмещенных данных первого датчика и совмещенных данных второго датчика в единой системе координат так, что заданная область в совмещенных данных первого датчика соответствует заданной области в совмещенных данных второго датчика. Алгоритм MLA определяет части совмещенных данных первого датчика, соответствующие объектам, включая определение классов этих объектов. Способ включает в себя установление соответствия объектов и классов этих объектов частям совмещенных данных второго датчика, которые соответствуют частям совмещенных данных первого датчика. Способ включает в себя последующее обучение сервером алгоритма MLA определению объектов и классов этих объектов в данных датчика, полученных во второй физической ситуации, на основе частей совмещенных данных второго датчика и классов объектов, для которых установлено соответствие частям совмещенных данных второго датчика.
[30] Согласно другому аспекту настоящей технологии реализован сервер для обучения первого алгоритма MLA обнаружению объектов в данных датчика, полученных вторым датчиком, расположенным на втором расстоянии от объектов. Первый алгоритм MLA обучен распознаванию объектов в данных датчика, полученных первым датчиком, расположенным на первом расстоянии от объектов, при этом второе расстояние больше первого расстояния. Сервер содержит процессор и энергонезависимый машиночитаемый носитель, содержащий команды. При исполнении этих команд процессор способен принимать данные первого датчика, полученные на первом расстоянии первым датчиком, установленным на первом транспортном средстве, проехавшем по заранее определенной дороге; принимать данные второго датчика, полученные на втором расстоянии вторым датчиком, установленным на втором транспортном средстве, проехавшем позади первого транспортного средства по той же заранее определенной дороге. Принимается трехмерная карта заранее определенной дороги, включающая в себя набор объектов. Процессор способен совмещать данные первого датчика с данными второго датчика на основе, по меньшей мере частично, набора объектов на трехмерной карте для получения совмещенных данных первого датчика и совмещенных данных второго датчика, для которых заданная область в совмещенных данных первого датчика соответствует заданной области в совмещенных данных второго датчика. Процессор способен определять с помощью первого алгоритма MLA части совмещенных данных первого датчика, соответствующие объектам, включая определение классов этих объектов. Для объектов и классов этих объектов устанавливается соответствие частям совмещенных данных второго датчика, которые соответствуют частям совмещенных данных первого датчика. Процессор способен обучать первый алгоритм MLA определению объектов и классов этих объектов в данных датчика, полученных на втором расстоянии от объектов, на основе частей совмещенных данных второго датчика и классов объектов, для которых установлено соответствие частям совмещенных данных второго датчика.
[31] В некоторых вариантах осуществления сервера каждый объект из набора объектов связан с местоположением, каждая точка данных первого датчика связана с отметкой времени и местоположением и каждая точка данных второго датчика связана с отметкой времени и местоположением. Совмещение основано на соответствии отметок времени в данных первого и второго датчиков, на соответствии местоположений в данных первого и второго датчиков и на соответствии местоположений для набора объектов на трехмерной карте заранее определенной дороги.
[32] В некоторых вариантах осуществления сервера каждый объект из набора объектов связан с классом объектов, при этом объекты и классы этих объектов, соответствующие частям совмещенных данных первого датчика, определенным первым алгоритмом MLA, включают в себя набор объектов и классы этих объектов на трехмерной карте заранее определенной дороги.
[33] В некоторых вариантах осуществления сервера трехмерная карта заранее определенной дороги заранее создана процессором путем исполнения машиночитаемых команд, предписывающих процессору прием данных первичного датчика, полученных на первом расстоянии датчиком, установленным на первом транспортном средстве, проехавшем по заранее определенной дороге, при этом каждая точка данных датчика связана с местоположением и одометрическими параметрами. Процессор способен выполнять упорядочение областей в первичных данных датчика для получения трехмерной карты на основе местоположения и одометрических параметров, включая геометрическое совмещение областей в данных третьего датчика, и определять с помощью первого алгоритма MLA объекты в наборе объектов, классы этих объектов и местоположения для набора объектов в соответствующих областях трехмерной карты.
[34] В некоторых вариантах осуществления сервера местоположение включает в себя широту и долготу, а одометрические параметры включают в себя передачу, частоту вращения колес, параметры блока IMU, положение регулятора подачи топлива, угол поворота и скорость.
[35] В некоторых вариантах осуществления сервера совмещение выполняется на сервере вторым алгоритмом MLA, реализующим алгоритм кластеризации.
[36] В некоторых вариантах осуществления сервера первый датчик является первым лидарным датчиком, а второй датчик является вторым лидарным датчиком.
[37] В некоторых вариантах осуществления сервера он выполняет третий алгоритм MLA, обученный распознаванию объектов на изображениях, полученных датчиком-камерой. Кроме того, процессор способен перед совмещением принимать набор изображений, полученных датчиком-камерой, установленным на втором транспортном средстве, каждое из которых связано с местоположением, и с использованием третьего алгоритма MLA связывать каждое изображение из набора изображений с по меньшей мере одним объектом из набора объектов на основе, по меньшей мере частично, местоположения для изображения и местоположения для по меньшей мере одного объекта. В дальнейшем обучение первого алгоритма MLA основано на этом наборе изображений.
[38] В некоторых вариантах осуществления сервера он выполняет четвертый алгоритм MLA, обученный распознаванию объектов в точках, полученных радарным датчиком, а процессор перед совмещением дополнительно способен принимать данные радарного датчика, полученные на втором расстоянии радарным датчиком, установленным на втором транспортном средстве, при этом каждая точка данных радарного датчика связана с отметкой времени и местоположением. Совмещение дополнительно включает в себя совмещение данных радарного датчика для получения совмещенных данных радарного датчика и основывается на местоположениях в данных радарного датчика. Кроме того, процессор после совмещения способен определять с помощью четвертого алгоритма MLA части совмещенных данных радарного датчика, соответствующие объектам, включая определение классов этих объектов. В дальнейшем обучение первого алгоритма MLA основано на данных третьего датчика.
[39] В некоторых вариантах осуществления сервера первый алгоритм MLA представляет собой сверточную нейронную сеть (CNN).
[40] В некоторых вариантах осуществления сервера первый алгоритм MLA представляет собой алгоритм классификации на основе градиентного бустинга.
[41] В некоторых вариантах осуществления сервера первый алгоритм MLA заранее обучен путем исполнения машиночитаемых команд, предписывающих процессору прием данных датчика, полученных на первом расстоянии первым датчиком и содержащих набор размеченных объектов. Данные датчика обрабатываются для извлечения набора признаков, включающих в себя первый набор параметров. Алгоритм MLA обучается определять метку для объекта на основе набора признаков, при этом обучение основано на наборе размеченных объектов в данных датчика.
[42] В контексте данного описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от клиентских устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут быть реализованы в виде одного физического компьютера или одной компьютерной системы, что не существенно для настоящей технологии. В данном контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая конкретная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или запускать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, при этом оба эти случая подразумеваются в выражении «по меньшей мере один сервер».
[43] В контексте данного описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. В контексте данного описания термин «электронное устройство» подразумевает, что устройство может функционировать в качестве сервера для других электронных устройств и клиентских устройств, тем не менее, это не является обязательным для настоящей технологии. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Должно быть понятно, что в данном контексте тот факт, что устройство функционирует в качестве электронного устройства, не означает, что оно не может функционировать в качестве сервера для других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких электронных устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.
[44] В контексте данного описания термин «клиентское устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. В контексте настоящего описания термин «клиентское устройство» в общем случае связан с пользователем клиентского устройства. Таким образом, некоторые (не имеющие ограничительного характера) примеры клиентских устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как клиентское устройство, также может функционировать как сервер для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.
[45] В контексте данного описания выражение «информация» включает в себя информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д., но не ограничивается ими.
[46] В контексте данного описания выражение «программный компонент» включает в себя обозначение программного обеспечения (подходящего для определенных аппаратных средств), необходимого и достаточного для выполнения определенной функции или нескольких функций.
[47] В контексте данного описания выражение «компьютерный носитель информации» (также называется «носителем информации») означает носители любого рода и вида, включая оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ), диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, твердотельные накопители, накопители на магнитных лентах и т.д. Для формирования компьютерного носителя информации может быть объединено множество элементов, включая два или более элементов носителя информации одного вида и/или два или более элементов носителя информации различных видов.
[48] В контексте данного описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, где реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.
[49] В контексте данного описания числительные «первый» «второй», «третий» и т.д. используются лишь для указания на различия между существительными, к которым они относятся, а не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, вида, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличие «второго сервера» в любой ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой один элемент программных и/или аппаратных средств, а в других случаях – различные элементы программных и/или аппаратных средств.
[50] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.
[51] Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов осуществления настоящей технологии содержатся в дальнейшем описании, в приложенных чертежах и в формуле изобретения.
Краткое описание чертежей
[52] Эти и другие признаки, аспекты и преимущества настоящей технологии поясняются в дальнейшем описании, в приложенной формуле изобретения и на следующих чертежах.
[53] На фиг. 1 в качестве примера представлена схема компьютерной системы для реализации некоторых вариантов осуществления систем и/или способов согласно настоящей технологии.
[54] На фиг. 2 представлена сетевая компьютерная среда, пригодная для использования в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.
[55] На фиг. 3 и фиг. 4 представлена процедура создания трехмерной карты, выполняемая компьютерной системой, показанной на фиг. 1, в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.
[56] На фиг. 5 схематически представлена процедура получения данных от двух транспортных средств, соответствующая не имеющим ограничительного характера вариантам осуществления настоящей технологии.
[57] На фиг. 6 схематически представлена процедура обработки данных от двух транспортных средств, соответствующая не имеющим ограничительного характера вариантам осуществления настоящей технологии.
[58] На фиг. 7 представлена блок-схема способа создания трехмерной карты заранее определенной дороги в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.
[59] На фиг. 8 представлена блок-схема способа обучения алгоритма машинного обучения обнаружению заданного объекта на втором расстоянии на заранее определенной дороге в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.
Осуществление изобретения
[60] Представленные здесь примеры и условные обозначения предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения области ее применения такими конкретными примерами и условиями. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.
[61] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области техники должно быть понятно, что другие варианты осуществления настоящей технологии могут быть значительно сложнее.
[62] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области техники может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.
[63] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть очевидно, что любые описанные структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих принципы настоящей технологии. Также должно быть очевидно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.
[64] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP, Digital Signal Processor), сетевой процессор, специализированную интегральную схему (ASIC, Application Specific Integrated Circuit), программируемую вентильную матрицу (FPGA, Field Programmable Gate Array), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое запоминающее устройство. Также могут подразумеваться и другие аппаратные средства, общего назначения и/или заказные.
[65] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь в виде любого сочетания элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.
[66] Далее с учетом изложенных выше принципов рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.
[67] На фиг. 1 представлена компьютерная система 100, пригодная для использования с некоторыми вариантами осуществления настоящей технологии и содержащая различные элементы аппаратных средств, включая один или несколько одно- или многоядерных процессоров, совместно представленных процессором 110, твердотельный накопитель 120, память 130, которая может представлять собой ОЗУ или память любого другого вида. Связь между элементами компьютерной системы 100 может осуществляться через одну или несколько внутренних и/или внешних шин (не показаны), таких как шина PCI, универсальная последовательная шина (USB), шина FireWire стандарта IEEE 1394, шина SCSI, шина Serial-ATA и т.д., с которыми различные аппаратные элементы соединены электронным образом. Согласно вариантам осуществления настоящей технологии, твердотельный накопитель 120 хранит программные команды, пригодные для загрузки в память 130 и исполнения процессором 110 с целью определения наличия объекта. Например, программные команды могут входить в состав управляющего приложения транспортного средства, выполняемого процессором 110. Следует отметить, что компьютерная система 100 может содержать дополнительные и/или необязательные элементы (не показаны), такие как модули передачи данных по сети, модули определения местоположения и т.д.
[68] На фиг. 2 представлена сетевая компьютерная среда 200, пригодная для использования с некоторыми вариантами осуществления систем и/или способов согласно настоящей технологии. Сетевая компьютерная среда 200 содержит первое электронное устройство 205, связанное с первым транспортным средством 210 или с пользователем (не показан), который может управлять первым транспортным средством 210, второе электронное устройство 235, связанное со вторым транспортным средством 240 или с пользователем (не показан), который может управлять вторым транспортным средством 240, сервер 270, соединенный с электронным устройством 205 через сеть 260 связи (например, через сеть Интернет и т.п., как более подробно описано ниже). Сетевая компьютерная среда 200 также может содержать спутник системы глобального позиционирования (GPS, Global Positioning System) (не показан), передающий сигнал GPS первому электронному устройству 205 или и/или принимающий этот сигнал от него. Должно быть понятно, что настоящая технология не ограничивается системой GPS и может использовать технологию определения местоположения, отличную от системы GPS. Следует отметить, что спутник GPS может вовсе отсутствовать.
[69] Первое транспортное средство
[70] Первое транспортное средство 210, с которым связано первое электронное устройство 205, может представлять собой любое транспортное средство для отдыха или перевозок, например, автомобиль для индивидуального или коммерческого использования, грузовой автомобиль, мотоцикл и т.д. Транспортное средство может управляться пользователем или представлять собой самоуправляемое транспортное средство. Следует отметить, что не накладывается ограничений на такие конкретные параметры первого транспортного средства 210, как производитель транспортного средства, модель транспортного средства, год выпуска транспортного средства, масса транспортного средства, размеры транспортного средства, распределение массы транспортного средства, площадь поверхности транспортного средства, высота транспортного средства, вид трансмиссии (например, привод на два или четыре колеса), тип шин, тормозная система, топливная система, пробег, идентификационный номер транспортного средства, рабочий объем двигателя и т.д.
TM
TM
[71] На реализацию первого электронного устройства 205 также не накладывается каких-либо особых ограничений. Например, первое электронное устройство 205 может быть реализовано в виде блока управления двигателем транспортного средства, центрального процессора транспортного средства, навигационного устройства транспортного средства (например, TomTom, Garmin), планшета, персонального компьютера, встроенного в первое транспортное средство 210, и т.д. Следует отметить, что первое электронное устройство 205 может быть постоянно связано или не связано с первым транспортным средством 210. Дополнительно или в качестве альтернативы, первое электронное устройство 205 может быть реализовано в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон или радиотелефон). В некоторых вариантах осуществления изобретения первое электронное устройство 205 содержит дисплей 207.
[72] Первое электронное устройство 205 может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1. В некоторых вариантах осуществления изобретения первое электронное устройство 205 представляет собой бортовое компьютерное устройство и содержит процессор 110, твердотельный накопитель 120 и память 130. Иными словами, первое электронное устройство 205 содержит аппаратные средства и/или прикладное программное обеспечение и/или встроенное программное обеспечение либо их сочетание для определения наличия объекта вокруг первого транспортного средства 210, как более подробно описано ниже.
[73] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, первое электронное устройство 205 содержит первое множество 212 датчиков или имеет доступ к нему. Первое множество датчиков содержит первый датчик 214, способный фиксировать изображение окружающей зоны 220, и второй датчик 216, способный фиксировать лидарные данные окружающей зоны 220. Первый датчик 214 и второй датчик 216 функционально связаны с процессором 110 для передачи зафиксированной информации в процессор 110 с целью ее обработки, как более подробно описано ниже. В некоторых вариантах осуществления настоящей технологии первое электронное устройство 205 дополнительно содержит третий датчик 218 (или имеет доступ к нему), способный фиксировать радарные данные об окружающей зоне 220 и функционально связанный с процессором 110 для передачи зафиксированной информации в процессор 110 с целью ее обработки.
[74] Первое множество датчиков
[75] Первый датчик
[76] В некотором не имеющем ограничительного характера примере первый датчик 214 содержит камеру. На реализацию камеры не накладывается каких-либо особых ограничений. Например, в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии камера может быть реализована в виде черно-белой камеры с разрешением, достаточным для обнаружения объектов на заранее заданном расстоянии приблизительно до 30 м (тем не менее, без выхода за границы настоящего изобретения могут использоваться камеры с другим разрешением и другой дальностью действия). Камера может устанавливаться с внутренней стороны на верхней части ветрового стекла первого транспортного средства 210, но в пределах объема настоящего изобретения также возможны и другие места, включая заднее окно, боковые окна, передний капот, крышу, переднюю решетку радиатора или передний бампер первого транспортного средства 210. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первый датчик 214 может быть расположен в специальном кожухе (не показан), установленном сверху первого транспортного средства 210.
[77] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первый датчик 214 может быть реализован в виде множества камер. Например, множество камер может содержать достаточное количество камер, чтобы фиксировать панорамное изображение окружающей зоны 250.
[78] В некоторых вариантах осуществления настоящей технологии камера (одна или несколько камер, в виде которых реализован первый датчик 214) способна фиксировать заранее заданную часть окружающей зоны 220 вокруг первого транспортного средства 210. В некоторых вариантах осуществления настоящей технологии камера способна фиксировать изображение (или последовательность изображений), соответствующее сектору окружающей зоны 220 вокруг первого транспортного средства 210 шириной приблизительно 90 градусов вдоль траектории движения первого транспортного средства 210.
[79] В других вариантах осуществления настоящей технологии камера способна фиксировать изображение (или последовательность изображений), соответствующее сектору окружающей зоны 220 вокруг первого транспортного средства 210 шириной приблизительно 180 градусов вдоль траектории движения первого транспортного средства 210. В других вариантах осуществления настоящей технологии камера способна фиксировать изображение (или последовательность изображений), соответствующее сектору окружающей зоны 220 вокруг первого транспортного средства 210 шириной приблизительно 360 градусов вдоль траектории движения первого транспортного средства 210 (иными словами, всю окружающую зону вокруг первого транспортного средства 210). В некоторых вариантах осуществления настоящей технологии первый датчик 214 может быть реализован в виде инфракрасной камеры.
[80] В конкретном не имеющем ограничительного характера примере первый датчик 214 реализован в виде датчика, поставляемого компанией FLIR Integrated Imaging Solutions Inc., 12051 Riverside Way, Richmond, BC, V6W 1K7, Canada (Канада). Очевидно, что первый датчик 214 может быть реализован в виде любого другого подходящего оборудования.
[81] Второй датчик
8
[82] В конкретном не имеющем ограничительного характера примере второй датчик 216 содержит лидар – лазерную систему обнаружения и измерения дальности (LIDAR, LIght Detection And Ranging). Предполагается, что специалисту в данной области понятно функционирование лидара, тем не менее, вкратце оно заключается в следующем: передатчик (не показан) второго датчика 216, реализованного в виде лидара, отправляет лазерный импульс, после чего отраженные фотоны возвращаются в приемник (не показан) второго датчика 216, реализованного в виде лидара. Фотоны, попавшие в приемник, собираются с использованием оптической системы и подсчитываются в виде функции времени. Затем с учетом скорости света (порядка 3×10 м/с) процессор 110 может рассчитать путь, пройденный фотонами (в прямом и обратном направлении). Фотоны могут отражаться в обратном направлении от большого количества различных объектов, окружающих первое транспортное средство 210, например, от частиц в атмосфере (аэрозолей или молекул), других автомобилей, неподвижных объектов или потенциальных препятствий перед первым транспортным средством 210.
[83] В конкретном не имеющем ограничительного характера примере второй датчик 216 реализован в виде датчика, поставляемого компанией Velodyne LiDAR, Inc., 5521 Hellyer Avenue, San Jose, CA 95138, USA (США). Очевидно, что второй датчик 216 может быть реализован в виде любого другого подходящего оборудования.
[84] В некоторых вариантах осуществления настоящей технологии второй датчик 216 может быть реализован в виде множества датчиков на основе лидара, например, трех или любого другого подходящего количества датчиков. В некоторых вариантах осуществления настоящей технологии второй датчик 216 (реализованный в виде одного или нескольких датчиков на основе лидара) может находиться в вышеупомянутом кожухе (отдельно не показан), расположенном на крыше первого транспортного средства 210.
[85] В тех вариантах осуществления настоящей технологии, где второй датчик 216 реализован в виде нескольких датчиков на основе лидара, расположенных в кожухе (не показан), пространственное расположение нескольких датчиков на основе лидара может учитывать конструкцию нескольких датчиков на основе лидара, форму кожуха, погодные условия (например, частые дожди, снег и другие явления) региона, где должно использоваться первое транспортное средство 210, и т.д.
[86] Третий датчик
[87] В конкретном не имеющем ограничительного характера примере третий датчик 218 содержит радар. Вкратце, радар представляет собой прибор для обнаружения, определения дальности, углового положения и/или скорости объектов с использованием радиоволн. Радар содержит передатчик, генерирующий электромагнитные колебания, антенну, используемую для излучения и приема электромагнитных волн, приемник и процессор для определения признаков обнаруженных объектов. В альтернативных вариантах осуществления настоящей технологии могут быть предусмотрены отдельные антенны для приема и для излучения радиоволн. Для определения признаков окружающих объектов может использоваться процессор 110.
[88] В некоторых вариантах осуществления настоящей технологии третий датчик 218 может содержать радарные датчики большого радиуса действия, среднего радиуса действия и малого радиуса действия. В не имеющем ограничительного характера примере радарный датчик большого радиуса действия может быть использован для адаптивного круиз-контроля, автоматического аварийного торможения и предупреждения о столкновении впереди, а радарные датчики среднего и малого радиуса действия могут быть использованы для помощи при парковке, для предупреждения о движении в поперечном направлении, для помощи на перекрестках и для обнаружения помех в «слепой зоне».
[89] В конкретном не имеющем ограничительного характера примере третий датчик 218 может быть реализован в виде датчика, поставляемого компанией Robert Bosch GmbH, Robert-Bosch-Platz 1, 70839 Gerlingen, Germany (Германия). Очевидно, что третий датчик 218 может быть реализован в виде любого другого подходящего оборудования.
[90] В некоторых вариантах осуществления настоящей технологии первый датчик 214 и второй датчик 216 могут быть откалиброваны так, что для изображения, зафиксированного первым датчиком 214, и лидарных данных, зафиксированных вторым датчиком 216, процессор 110 способен определять область изображения, соответствующую области лидарных данных, зафиксированных третьим датчиком 218. В других вариантах осуществления настоящей технологии первый датчик 214, второй датчик 216 и третий датчик 218 откалиброваны так, что для изображения, зафиксированного первым датчиком 214, лидарных данных, зафиксированных вторым датчиком 216, и радарных данных, зафиксированных третьим датчиком 218, процессор 110 способен определять область изображения, соответствующую области лидарных данных и радарных данных.
[91] Таким образом, третий датчик 218 может предоставлять дополнительную информацию или уточнять данные, полученные первым датчиком 214 и/или вторым датчиком 216. В не имеющем ограничительного характера примере показано, что иногда радарный датчик может работать лучше лидарного датчика в определенных погодных условиях, например при тумане, дожде, снеге и запыленности. Кроме того, радарный датчик позволяет точно определять относительную скорость движения транспорта или скорость движущегося объекта на основе доплеровского сдвига частоты. Таким образом, третий датчик 218 может быть использован в сочетании с первым датчиком 214, в сочетании со вторым датчиком 216 или в сочетании с первым датчиком 214 и вторым датчиком 216. В некоторых вариантах осуществления настоящей технологии третий датчик 218 может использоваться лишь временно, например, в сложных погодных условиях.
[92] Другие датчики
[93] Первое транспортное средство 210 дополнительно содержит другие датчики (не показаны) или имеет доступ к ним. К ним относятся один или несколько следующих датчиков: блок инерциальных измерений (IMU, Inertial Measurement Unit); прибор глобальной навигационной спутниковой системы (GNSS, Global Navigation Satellite System); радарные измерители скорости хода; ультразвуковые локаторы; одометрические датчики, включая акселерометры и гироскопы; механические датчики наклона; магнитный компас и другие датчики, обеспечивающие работу первого транспортного средства 210.
[94] В не имеющем ограничительного характера примере блок IMU может быть установлен на первом транспортном средстве 210 и может содержать три гироскопа и три акселерометра для предоставления данных о вращательном и прямолинейном движении первого транспортного средства 210, которые могут быть использованы для расчета параметров движения и положения первого транспортного средства 210.
[95] Упомянутая калибровка может выполняться во время изготовления и/или настройки первого транспортного средства 210 или в любой удобный последующий момент времени. Иными словами, калибровка может выполняться во время модернизации первого транспортного средства 210 с использованием первого датчика 214, второго датчика 216 и третьего датчика 218 в соответствии с предлагаемыми здесь не имеющими ограничительного характера вариантами осуществления настоящей технологии. В качестве альтернативы, калибровка может выполняться во время оснащения первого транспортного средства 210 первым датчиком 214, вторым датчиком 216 и третьим датчиком 218 в соответствии с предлагаемыми здесь не имеющими ограничительного характера вариантами осуществления настоящей технологии.
[96] Второе транспортное средство
[97] Подобно первому транспортному средству 210, связанному с первым электронным устройством 202, второе транспортное средство 240, связанное со вторым электронным устройством 235, может представлять собой любое транспортное средство для отдыха или перевозок, например, автомобиль для индивидуального или коммерческого использования, грузовой автомобиль, мотоцикл и т.д. Транспортное средство может управляться пользователем или представлять собой самоуправляемое транспортное средство. Следует отметить, что не накладывается ограничений на такие конкретные параметры второго транспортного средства 240, как производитель транспортного средства, модель транспортного средства, год выпуска транспортного средства, масса транспортного средства, размеры транспортного средства, распределение массы транспортного средства, площадь поверхности транспортного средства, высота транспортного средства, вид трансмиссии (например, привод на два или четыре колеса), тип шин, тормозная система, топливная система, пробег, идентификационный номер транспортного средства, рабочий объем двигателя и т.д.
TM
TM
[98] На реализацию второго электронного устройства 235 также не накладывается ограничений. Например, второе электронное устройство 235 может быть реализовано в виде блока управления двигателем транспортного средства, центрального процессора транспортного средства, навигационного устройства транспортного средства (например, TomTom, Garmin), планшета, персонального компьютера, встроенного во второе транспортное средство 240, и т.д. Следует отметить, что второе электронное устройство 235 может быть постоянно связано или не связано со вторым транспортным средством 240. Дополнительно или в качестве альтернативы, второе электронное устройство 235 может быть реализовано в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон или радиотелефон). В некоторых вариантах осуществления изобретения второе электронное устройство 235 содержит дисплей 207.
[99] Второе электронное устройство 235 может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1. В некоторых вариантах осуществления изобретения второе электронное устройство 235 представляет собой бортовое компьютерное устройство и содержит процессор 110, твердотельный накопитель 120 и память 130. Иными словами, второе электронное устройство 235 содержит аппаратные средства и/или прикладное программное обеспечение и/или встроенное программное обеспечение либо их сочетание для определения наличия объекта вокруг транспортного средства 240, как более подробно описано ниже.
[100] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, второе электронное устройство 235 содержит второе множество 242 датчиков или имеет доступ к нему. Второе множество датчиков содержит первый датчик 244, способный фиксировать изображение окружающей зоны 250, и второй датчик 246, способный фиксировать лидарные данные окружающей зоны 250. Первый датчик 244 и второй датчик 246 функционально связаны с процессором 110 для передачи зафиксированной информации в процессор 110 с целью ее обработки, как более подробно описано ниже. В некоторых вариантах осуществления настоящей технологии второе электронное устройство 235 дополнительно содержит третий датчик 248 (или имеет доступ к нему), способный фиксировать радарные данные об окружающей зоне 220 и функционально связанный с процессором 110 для передачи зафиксированной информации в процессор 110 с целью ее обработки.
[101] Второе множество датчиков
[102] Первый датчик
[103] В конкретном не имеющем ограничительного характера примере первый датчик 244 содержит камеру. На реализацию камеры не накладывается каких-либо особых ограничений. Например, в конкретном не имеющем ограничительного характера варианте осуществления настоящей технологии может быть реализована черно-белая камера с разрешением, достаточным для обнаружения объектов на заранее заданном расстоянии приблизительно до 30 м (тем не менее, в пределах объема настоящего изобретения могут использоваться камеры с другим разрешением и дальностью действия). Камера может устанавливаться с внутренней стороны на верхней части ветрового стекла второго транспортного средства 240, но в пределах объема настоящего изобретения также возможны и другие места установки, в том числе заднее окно, боковые окна, передний капот, крыша, передняя решетка радиатора или передний бампер второго транспортного средства 240. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первый датчик 244 может быть установлен в специальном кожухе (не показан) сверху второго транспортного средства 240.
[104] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии первый датчик 244 может быть реализован в виде множества камер. Например, множество камер может содержать достаточное количество камер, чтобы фиксировать панорамное изображение окружающей зоны 250.
[105] В некоторых вариантах осуществления настоящей технологии камера (одна или несколько камер, в виде которых реализован первый датчик 244) способна фиксировать заранее заданную часть окружающей зоны 250 вокруг второго транспортного средства 240. В некоторых вариантах осуществления настоящей технологии камера способна фиксировать изображение (или последовательность изображений), соответствующее сектору окружающей зоны 250 вокруг второго транспортного средства 240 шириной приблизительно 90 градусов вдоль траектории движения второго транспортного средства 240.
[106] В других вариантах осуществления настоящей технологии камера способна фиксировать изображение (или последовательность изображений), соответствующее сектору окружающей зоны 250 вокруг второго транспортного средства 240 шириной приблизительно 180 градусов вдоль траектории движения второго транспортного средства 240. В других вариантах осуществления настоящей технологии камера способна фиксировать изображение (или последовательность изображений), соответствующее сектору окружающей зоны 250 вокруг второго транспортного средства 240 шириной приблизительно 360 градусов вдоль траектории движения второго транспортного средства 240 (иными словами, всю окружающую зону вокруг второго транспортного средства 240). В некоторых вариантах осуществления настоящей технологии первый датчик 244 может быть реализован в виде инфракрасной камеры.
[107] В конкретном не имеющем ограничительного характера примере первый датчик 244 может быть реализован в виде камеры, поставляемой компанией FLIR Integrated Imaging Solutions Inc., 12051 Riverside Way, Richmond, BC, V6W 1K7, Canada (Канада). Очевидно, что первый датчик 244 может быть реализован в виде любого другого подходящего оборудования.
[108] Второй датчик
[109] В конкретном не имеющем ограничительного характера примере второй датчик 246, подобно второму датчику 216, содержит лидар.
[110] В конкретном не имеющем ограничительного характера примере второй датчик 246 может быть реализован в виде датчика на основе лидара, поставляемого компанией Velodyne LiDAR, Inc., 5521 Hellyer Avenue, San Jose, CA 95138, USA (США). Очевидно, что второй датчик 246 может быть реализован в виде любого другого подходящего оборудования.
[111] В некоторых вариантах осуществления настоящей технологии второй датчик 246 может быть реализован в виде множества датчиков на основе лидара, например, трех или любого другого подходящего количества датчиков. В некоторых вариантах осуществления настоящей технологии второй датчик 246 (реализованный в виде одного или нескольких датчиков на основе лидара) может находиться в вышеупомянутом кожухе (отдельно не показан), расположенном на крыше второго транспортного средства 240.
[112] В тех вариантах осуществления настоящей технологии, где второй датчик 246 реализован в виде нескольких датчиков на основе лидара, расположенных в кожухе (не показан), пространственное расположение нескольких датчиков на основе лидара может учитывать конструкцию нескольких датчиков на основе лидара, форму кожуха, погодные условия (например, частые дожди, снег и другие явления) региона, где должно использоваться второе транспортное средство 240, и т.д.
[113] Третий датчик
[114] В конкретном не имеющем ограничительного характера примере третий датчик 248, подобно третьему датчику 218, содержит радар.
[115] В некоторых вариантах осуществления настоящей технологии третий датчик 248 может содержать радарные датчики большого радиуса действия, среднего радиуса действия и малого радиуса действия. В не имеющем ограничительного характера примере радарный датчик большого радиуса действия может быть использован для адаптивного круиз-контроля, автоматического аварийного торможения и предупреждения о столкновении впереди, а радарные датчики среднего и малого радиуса действия могут быть использованы для помощи при парковке, для предупреждения о движении в пересекающем направлении, для помощи на перекрестках и для обнаружения помехи в «слепой зоне».
[116] В конкретном не имеющем ограничительного характера примере третий датчик 248 может быть реализован в виде датчика, поставляемого компанией Robert Bosch GmbH, Robert-Bosch-Platz 1, 70839 Gerlingen, Germany (Германия). Очевидно, что третий датчик 248 может быть реализован в виде любого другого подходящего оборудования.
[117] В некоторых вариантах осуществления настоящей технологии первый датчик 244 и второй датчик 246 откалиброваны так, что для изображения, зафиксированного первым датчиком 244, и лидарных данных, зафиксированных вторым датчиком 246, процессор 110 способен определять область изображения, соответствующую области лидарных данных. В других вариантах осуществления настоящей технологии первый датчик 244, второй датчик 246 и третий датчик 248 откалиброваны так, что для изображения, зафиксированного первым датчиком 244, лидарных данных, зафиксированных вторым датчиком 246, и радарных данных, зафиксированных третьим датчиком 248, процессор 110 способен определять область изображения, соответствующую области лидарных данных и радарных данных.
[118] Таким образом, третий датчик 248 может предоставлять дополнительную информацию или уточнять данные, полученные первым датчиком 244 и/или вторым датчиком 246. На не имеющем ограничительного характера примере показано, что радарный датчик может работать лучше лидарного датчика в определенных погодных условиях, например при тумане, дожде, снеге и запылении. Кроме того, радар позволяет точно определять относительную скорость движения транспорта или скорость движущегося объекта на основе доплеровского сдвига частоты. Таким образом, третий датчик 248 может быть использован в сочетании с первым датчиком 244, в сочетании со вторым датчиком 246 или в сочетании с первым датчиком 244 и вторым датчиком 246. В некоторых вариантах осуществления настоящей технологии третий датчик 248 может использоваться лишь временно, например, в сложных погодных условиях.
[119] Другие датчики
[120] Второе транспортное средство 240 дополнительно содержит другие датчики (не показаны) или имеет доступ к ним. К ним относятся один или несколько следующих датчиков: блок IMU; прибор системы GNSS; радарные измерители скорости хода; ультразвуковые локаторы; одометрические датчики, включая акселерометры и гироскопы; механические датчики наклона; магнитный компас и другие датчики, обеспечивающие работу второго транспортного средства 240.
[121] В не имеющем ограничительного характера примере блок IMU может быть установлен на втором транспортном средстве 240 и может содержать три гироскопа и три акселерометра для предоставления данных о вращательном и прямолинейном движении второго транспортного средства 240, которые могут быть использованы для расчета параметров движения и положения второго транспортного средства 240.
[122] Упомянутая калибровка может выполняться во время изготовления и/или настройки второго транспортного средства 240 или в любой удобный последующий момент времени. Иными словами, калибровка может выполняться во время модернизации второго транспортного средства 240 с использованием первого датчика 244, второго датчика 246 и третьего датчика 248 в соответствии с предлагаемыми здесь не имеющими ограничительного характера вариантами осуществления настоящей технологии. В качестве альтернативы, калибровка может выполняться во время оснащения второго транспортного средства 240 первым датчиком 244, вторым датчиком 246 и третьим датчиком 248 в соответствии с предлагаемыми здесь не имеющими ограничительного характера вариантами осуществления настоящей технологии.
[123] Сеть связи
[124] В некоторых вариантах осуществления настоящей технологии сеть 260 связи представляет собой сеть Интернет. В альтернативных не имеющих ограничительного характера вариантах осуществления изобретения сеть связи может быть реализована в виде любой подходящей локальной сети (LAN, Local Area Network), глобальной сети (WAN, Wide Area Network), частной сети связи и т.п. Очевидно, что варианты осуществления сети связи приведены лишь в иллюстративных целях. Реализация линии связи (отдельно не обозначена) между первым электронным устройством 205, вторым электронным устройством 235 и сетью 260 связи зависит, среди прочего, от реализации первого электронного устройства 205 и второго электронного устройства 235. Лишь в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где первое электронное устройство 205 и второе электронное устройство 235 реализованы в виде устройства беспроводной связи, такого как смартфон или навигационное устройство, линия связи может быть реализована в виде беспроводной линии связи. Примеры беспроводных линий связи включают в себя канал сети связи 3G, канал сети связи 4G и т.п. В сети 260 связи также может использоваться беспроводное соединение с сервером 270.
[125] Сервер
[126] В некоторых вариантах осуществления настоящей технологии сервер 270 реализован в виде традиционного компьютерного сервера и может содержать некоторые или все элементы компьютерной системы 100, представленной на фиг. 1. В одном не имеющем ограничительного характера примере сервер 270 реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™, но он также может быть реализован с использованием любых других подходящих аппаратных средств, прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленных не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер является одиночным сервером. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии (не показаны) функции сервера 270 могут быть распределены между несколькими серверами.
[127] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процессор 110 первого электронного устройства 205 может быть соединен с сервером 270 для получения одного или нескольких обновлений. Обновления могут представлять собой обновления программного обеспечения, обновления карт, обновления маршрутов, обновления погодных данных и т.д. В некоторых вариантах осуществления настоящей технологии процессор 110 также может отправлять серверу 270 некоторые рабочие данные, такие как пройденные маршруты, данные о дорожном движении, рабочие характеристики и т.д. Некоторые или все данные, передаваемые между транспортным средством 210 и сервером 270, могут быть зашифрованы и/или обезличены.
[128] Алгоритмы машинного обучения (MLA)
[129] Сервер 270 и/или первое электронное устройство 205 и/или второе электронное устройство 235 могут выполнять один или несколько алгоритмов MLA.
[130] Сервер 270 может выполнять множество алгоритмов MLA 280, которые могут использоваться для обработки данных, полученных датчиками, например первым множеством датчиков 212. Множество алгоритмов MLA 280 может быть обучено выполнению одной или нескольких из следующих функций: сегментации, фильтрации, коррекции, сопоставления, кластеризации, идентификации объектов, обнаружения объектов и классификации объектов на изображениях, в облаках лидарных точек и в облаках радарных точек.
[131] Множество алгоритмов MLA 280 включает в себя первый алгоритм MLA 282, обученный обнаружению объектов в облаках лидарных точек. В некоторых вариантах осуществления настоящей технологии первый алгоритм MLA 282 может быть реализован, например, нейронной сетью или деревом градиентного бустинга. Множество алгоритмов MLA 280 может также включать в себя алгоритмы MLA (не показаны) для данных датчиков каждого вида, т.е. радарных данных и изображений. Предполагается, что алгоритмы MLA, используемые для обнаружения данных для датчиков каждого вида, могут быть реализованы одним алгоритмом MLA.
[132] В качестве не имеющего ограничительного характера примера первый алгоритм MLA 282 может быть нейронной сетью, способной выполнять классификацию объектов, соответствующих областям в трехмерном облаке точек, на один или несколько классов объектов. Классы объектов могут включать в себя: «транспортное средство», «легковой автомобиль», «грузовой автомобиль», «человек», «животное», «дерево», «здание», «дорога», «полоса движения», «дорожный знак», «стена», «светофор» и т.п., но не ограничиваясь этим.
[133] В одном варианте осуществления изобретения первый алгоритм MLA 282 может выполнять классификацию объектов с отнесением их к одному классу. Это означает, что первый алгоритм MLA 282 может определять принадлежность объекта к определенному классу объектов. Например, первый алгоритм MLA 282 может определять принадлежность объекта к классу «транспортное средство».
[134] В других вариантах осуществления изобретения первый алгоритм MLA 282 может выполнять классификацию объектов с отнесением их к нескольким классам. Это означает, что первый алгоритм MLA 282 может определять принадлежность объекта к одному из множества классов объектов. Например, сеть ODNN может определять принадлежность объекта к одному из следующих классов объектов: «транспортное средство», «человек» или «полоса движения».
[135] В некоторых вариантах осуществления настоящей технологии первый алгоритм MLA 282 обучен путем приема данных датчика, полученных на первом расстоянии лидарным датчиком и содержащих набор размеченных объектов. Например, объекты могут быть размечены оценщиками-людьми. Данные датчика обрабатываются для извлечения набора признаков, который может включать в себя такие параметры, как параметры датчика, параметры транспортного средства и параметры других видов. Первый алгоритм MLA 282 обучается определять метку (т.е. класс или категорию) для объекта на основе набора признаков, при этом обучение основано на наборе размеченных объектов в данных датчика. Первый алгоритм MLA 282 или второй алгоритм MLA может быть обучен аналогичным образом в отношении данных датчиков других видов.
[136] Первое электронное устройство 205 и второе электронное устройство 235 также могут выполнять алгоритмы MLA, которые могут включать в себя первый алгоритм MLA 282. Первый алгоритм MLA 282 может выполнять обнаружение объектов в реальном времени, например, в трехмерном облаке лидарных точек.
[137] Трехмерная карта заранее определенной дороги
[138] На фиг. 3 и фиг. 4 представлена процедура создания трехмерной карты в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.
[139] Процедура 300 создания трехмерной карты включает в себя процедуру 310 получения данных и процедуру 360 обработки данных, выполняемую первым электронным устройством 205 первого транспортного средства 210, и процедуру 410 объединения данных, выполняемую сервером 270.
[140] В общем случае цель процедуры 300 создания трехмерной карты состоит в том, чтобы создать трехмерную карту 460, представляющую собой карту заранее определенной дороги 320, которая может использоваться автономным транспортным средством (например, первым транспортным средством 210 или вторым транспортным средством 240) для предсказуемого движения по заранее определенной дороге 320, позволяя автономному транспортному средству подтверждать свое местоположение на заранее определенной дороге 320 и предоставляя автономному транспортному средству информацию об окружающей обстановке и некоторых окружающих объектах на заранее определенной дороге 320. Должно быть понятно, что на характер заранее определенной дороги 320 не накладывается каких-либо ограничений. Заранее определенная дорога 320 может представлять собой любую дорогу, по которой может двигаться транспортное средство.
[141] Можно сказать, что трехмерная карта 460 предназначена для облегчения определения местоположения автономного транспортного средства на заранее определенной дороге 320 за счет наличия на борту автономного транспортного средства электронного устройства (например, первого электронного устройства 205 на борту первого транспортного средства 210), сравнивающего признаки окружающей обстановки с трехмерной картой 460 для определения своего местоположения. Трехмерная карта 460 предназначена для предоставления информации об окружающих объектах на заранее определенной дороге 320, например, о границах полос движения, дорожных знаках, светофорах, положении и высоте бордюров, которая может использоваться при планировании маршрута.
[142] В некоторых вариантах осуществления настоящей технологии трехмерная карта 460 может быть картой высокой четкости (HD, High Definition) для системы автоматического вождения.
[143] Трехмерная карта 460 создается с помощью процедуры 300 создания трехмерной карты, которая включает в себя процедуру 310 получения данных, процедуру 360 обработки данных и процедуру 410 объединения данных.
[144] Процедура получения данных
[145] В общем случае цель процедуры 310 получения данных состоит в получении данных о заранее определенной дороге 320 с помощью по меньшей мере части первого множества датчиков 212, позволяющих создавать трехмерную карту 460 заранее определенной дороги 320 после процедуры 360 обработки данных и процедуры 410 объединения данных. В некоторых вариантах осуществления настоящей технологии процедура 310 получения данных может выполняться только тогда, когда заранее определенная дорога 320 не занята, т.е. когда на заранее определенной дороге 320 нет других транспортных средств и/или людей (например, ночью). В других вариантах осуществления изобретения процедура 310 получения данных может выполняться при наличии обычного движения на заранее определенной дороге 320.
[146] Процедура 310 получения данных выполняется первым электронным устройством 205 и по меньшей мере частью первого множества датчиков 212 первого транспортного средства 210. В некоторых вариантах осуществления настоящей технологии процедура 310 получения данных может выполняться множеством электронных устройств, связанных с транспортными средствами (которые могут включать или не включать в себя первое транспортное средство 210 и второе транспортное средство 240), оснащенными одним или несколькими датчиками. В дополнительном или альтернативном варианте также предполагается, что процедура 310 получения данных может выполняться, по меньшей мере частично, с помощью летательного аппарата, например, дрона или самолета и/или спутника.
[147] Для выполнения процедуры 310 получения данных первое транспортное средство 210 движется по заранее определенной дороге 320, при этом первое электронное устройство 205 способно получать от по меньшей мере части первого множества датчиков 212 данные об окружающей области 220 вокруг первого транспортного средства 210, движущегося по заранее определенной дороге 320.
[148] В контексте настоящей технологии по меньшей мере часть первого множества датчиков 212 включает в себя по меньшей мере второй датчик 216.
[149] Первый набор облаков точек
[150] Первое транспортное средство 210 движется по заранее определенной дороге 320, при этом первое электронное устройство 205 способно инициировать получение вторым датчиком 216 данных об окружающей области 220 вокруг первого транспортного средства 210 в различных местах на заранее определенной дороге 320.
[151] Первое электронное устройство 205 принимает данные об окружающей области 220 вокруг первого транспортного средства 210 в различных местах на заранее определенной дороге 320 в виде лидарных данных 330.
[152] В общем случае лидарные данные 330 (фиг. 4) представляют собой трехмерный набор лидарных точек в виде облака лидарных точек, где каждая точка 335 представляет собой точку в трехмерном пространстве, указывающую на по меньшей мере часть объекта на заранее определенной дороге 320. В некоторых вариантах осуществления настоящей технологии возможна послойная организация лидарных данных 330, где точки в каждом слое сгруппированы в эллипсы, а начальные точки всех эллиптических слоев ориентированы сходным образом.
[153] Каждая точка 335 связана с первым набором параметров 337. В не имеющем ограничительного характера примере первый набор параметров 337 может включать в себя параметры датчика (данные, измеренные вторым датчиком 216 или относящиеся ко второму датчику 216), параметры транспортного средства (данные, относящиеся к первому транспортному средству 210) и другие параметры.
[154] В не имеющем ограничительного характера примере параметры датчика могут включать в себя расстояние, интенсивность и угол, а также другие параметры, относящиеся к лидарным данным.
[155] В не имеющем ограничительного характера примере параметры транспортного средства могут включать в себя широту, долготу, передачу, частоту вращения колес, параметры блока IMU (т.е. компоненты линейного ускорения и компоненты частоты вращения первого транспортного средства 210), положение регулятора подачи топлива, угол поворота и скорость, а также другие параметры, относящиеся к первому транспортному средству 210, движущемуся по заранее определенной дороге 320.
[156] В не имеющем ограничительного характера примере другие параметры могут включать в себя отметку времени и любой другой параметр, который может быть полезен для обработки лидарных данных 330, например, погодные условия и т.п.
[157] Множество изображений
[158] В некоторых вариантах осуществления настоящей технологии первое электронное устройство 205 также способно инициировать получение первым датчиком 214 данных об окружающей области 220 вокруг первого транспортного средства 210 в виде набора изображений 340. Получение набора изображений 340 осуществляется одновременно с получением лидарных данных 330, тем не менее, это не является обязательным для каждого варианта осуществления настоящей технологии.
[159] В общем случае набор изображений 340 представляет собой оптические изображения заранее определенной дороги 320. В других вариантах осуществления настоящей технологии, в зависимости от реализации первого датчика 214, набор изображений может включать в себя инфракрасные изображения заранее определенной дороги 320. На способ получения набора изображений 340 и на количество изображений в наборе изображений 340 не накладывается ограничений. Получение набора изображений 340 может осуществляться первым датчиком 214 непрерывно (т.е. в виде видеосигнала) или через заранее заданные интервалы, например через каждые две миллисекунды или любой другой подходящий интервал времени. В некоторых вариантах осуществления настоящей технологии набор изображений 340 может быть получен множеством датчиков и/или множеством транспортных средств.
[160] В не имеющем ограничительного характера примере каждое изображение 342 из набора изображений 340 может быть стандартным RGB (Red Green Blue) изображением, тем не менее, предполагается, что могут использоваться и другие цветовые модели, отличные от RGB. Каждое изображение 432 содержит набор пикселей 345, образующих изображение 342.
[161] Каждый (ненумерованный) пиксель набора пикселей 345 изображения 342 из набора изображений 340 связан с набором параметров 347 изображения. Набор параметров 347 изображения включает в себя оптические параметры (данные, измеренные первым датчиком 214 или относящиеся к первому датчику 214), параметры транспортного средства (данные, относящиеся к транспортному средству, на котором установлены датчики) и другие параметры. В других вариантах осуществления настоящей технологии каждое изображение 342 также может быть связано с набором параметров изображения (не показан).
[162] В не имеющем ограничительного характера примере оптические параметры могут включать в себя значения RGB, положение пикселя, метаданные изображения, а также другие параметры, относящиеся к камере.
[163] В не имеющем ограничительного характера примере параметры транспортного средства могут включать в себя широту, долготу, передачу, частоту вращения колес, параметры блока IMU (т.е. компоненты линейного ускорения и компоненты частоты вращения первого транспортного средства 210), положение регулятора подачи топлива, угол поворота и скорость, а также другие параметры, относящиеся к первому транспортному средству 210, движущемуся по заранее определенной дороге 320.
[164] Другие параметры могут включать в себя отметку времени и любой другой параметр, который может быть полезен для обработки лидарных данных 330, например погодные условия и т.п.
[165] Второй набор облаков точек
[166] В некоторых вариантах осуществления настоящей технологии первое электронное устройство 205 способно инициировать получение третьим датчиком 218 данных об окружающей области 220 вокруг первого транспортного средства 210 в виде радарных данных 350 о заранее определенной дороге 320. Следует отметить, что в альтернативных вариантах осуществления настоящей технологии данные от третьего датчика 218 могут быть получены в другом виде, а не в виде облака точек.
[167] В некоторых вариантах осуществления настоящей технологии радарные данные 350 могут быть получены одновременно с лидарными данными 330. Получение радарных данных 350 может осуществляться непрерывно или через заранее заданные интервалы, например через каждые две миллисекунды или любой другие подходящий интервал времени. В некоторых вариантах осуществления настоящей технологии радарные данные 350 могут быть получены множеством датчиков и/или множеством транспортных средств.
[168] В общем случае радарные данные 350 представляют собой набор точек радарных данных в пространстве, полученных третьим датчиком 218, где каждая точка 352 связана со вторым набором параметров 357. В некоторых вариантах осуществления настоящей технологии радарные данные 350 могут быть получены в виде двумерных точек. В других вариантах осуществления настоящей технологии радарные данные 350 могут быть получены в виде трехмерного облака точек. В не имеющем ограничительного характера примере второй набор параметров 357 может включать в себя параметры датчика (данные, измеренные третьим датчиком 218 или относящиеся к третьему датчику 218), параметры транспортного средства (данные, относящиеся к первому транспортному средству 210) и другие параметры.
[169] В не имеющем ограничительного характера примере параметры датчика могут включать в себя: скорость, дальность, уровень сигнала, азимут, угол места, частоту, полосу пропускания, диапазон, точность, период обзора, а также другие параметры, относящиеся к радарам.
[170] В не имеющем ограничительного характера примере параметры транспортного средства могут включать в себя широту, долготу, передачу, частоту вращения колес, параметры блока IMU (т.е. компоненты линейного ускорения и компоненты частоты вращения первого транспортного средства 210), положение регулятора подачи топлива, угол поворота и скорость, а также другие параметры, относящиеся к первому транспортному средству 210, движущемуся по заранее определенной дороге 320.
[171] Другие параметры могут включать в себя любой параметр, который может быть полезен для обработки радарных данных 350, например погодные условия и т.п.
[172] Для получения лидарных данных 330, набора изображений 340 и радарных данных 350 первое транспортное средство 210 может проехать по заранее определенной дороге 320 несколько раз, с разными скоростями, в разных условиях и/или по разным возможным маршрутам. Предполагается, что процедуру 310 получения данных может выполнять множество транспортных средств, оснащенных датчиками.
[173] После завершения процедуры 310 получения данных набор изображений 340 лидарные данные 330 и радарные данные 350 могут быть переданы первым электронным устройством 205 серверу 270.
[174] Процедура обработки данных
[175] Процедура 360 обработки данных выполняется процессором 110 сервера 270.
[176] Сервер 270 принимает набор изображений 340, лидарные данные 330 и радарные данные 350.
[177] Сервер 270 способен выполнять процедуру 360 обработки данных на основе набора параметров 347 изображения из набора изображений 340, первого набора параметров 337 лидарных данных 330 и второго набора параметров 357 радарных данных 350.
[178] В общем случае цель процедуры 360 обработки данных состоит в обработке набора изображений 340, лидарных данных 330 и радарных данных 350 о заранее определенной дороге 320 для получения обработанного набора изображений 370, обработанных лидарных данных 380 и обработанных радарных данных 390, совмещенных во времени и в пространстве. Процедура 360 обработки данных может включать в себя выделение признаков из набора изображений 340, лидарных данных 330 и радарных данных 350.
[179] Иными словами, процедура 360 обработки данных предназначена для упорядочения набора изображений 340, лидарных данных 330 и радарных данных 350. Для упорядочения набора изображений 340, лидарных данных 330 и радарных данных 350 могут использоваться методы оптимизации.
[180] Процедура 360 обработки данных может включать в себя одну или несколько следующих функций: сегментацию, фильтрацию, коррекцию, сопоставление, кластеризацию, обнаружение объектов и классификацию объектов в наборе изображений 340, лидарных данных 330 и радарных данных 350.
[181] Сервер 270 способен выполнять процедуру 360 обработки данных на основе набора параметров 347 изображения из набора изображений 340, первого набора параметров 337 лидарных данных 330 и второго набора параметров 357 радарных данных 350.
[182] В других вариантах осуществления настоящей технологии процедура 360 обработки данных может выполняться раздельно для набора изображений 340, лидарных данных 330 и радарных данных 350, т.е. информация из набора изображений 340, лидарных данных 330 и радарных данных 350 может обрабатываться раздельно перед объединением в процедуре 410 объединения данных. В некоторых вариантах осуществления настоящей технологии процедура 360 обработки данных для набора изображений 340 и/или лидарных данных 330 и/или радарных данных 350 может выполняться путем объединения информации из по меньшей мере одного другого набора изображений 340 и/или лидарных данных 330 и/или радарных данных 350 на различных этапах, чтобы повысить качество их обработки.
[183] Пример способа и системы для обработки изображений и лидарных данных раскрыт в патентной заявке RU2018132850 «Способы и системы для определения компьютером наличия объектов» этого же заявителя, содержание которой в полном объеме включено в настоящий документ посредством ссылки.
[184] Например, сервер 270 может совмещать набор изображений 340, лидарные данные 330 и радарные данные 350 на основе отметок времени в наборе параметров 347 изображения, первом наборе параметров 337 и втором наборе параметров 357. Сервер 270 способен совмещать набор изображений 340, лидарные данные 330 и радарные данные 350 путем представления полученной информации в единой системе координат. В не имеющем ограничительного характера примере совмещение в единой системе координат набора изображений 340, лидарных данных 330 и радарных данных 350 может быть выполнено на основе параметров GPS, отметок времени, параметров транспортного средства (например, параметров линейного положения – x, y, z и параметров углового положения – крена, тангажа и рыскания) и других параметров в наборе параметров 347 изображения, первом наборе параметров 337 и втором наборе параметров 357.
[185] В не имеющем ограничительного характера примере сервер 270 может обрабатывать набор изображений 340 на основе набора параметров 347 изображения для регулировки экспозиции, усиления, выполнения калибровки камеры и очистки изображения. Сервер 270 может выполнять стандартную процедуру обнаружения, включая предварительную обработку, выделение исследуемой области (ROI, Region of Interest) и классификацию объектов в наборе изображений 340.
[186] Не имеющие ограничительного характера примеры методов, используемых для обработки набора изображений 340, включают в себя: масштабно-инвариантную трансформацию признаков (SIFT, Scale-Invariant Feature Transform), гистограмму направленных градиентов (HOG, Histogram of Oriented Gradients), модели на основе дискриминативно обученных частей (DPM, Discriminatively Trained Part Based Models), метод опорных векторов (SVM, Support Vector Machines) и нейронные сети.
[187] Сервер 270 способен выполнять обнаружение объектов и/или распознавание объектов на основе набора параметров 347 изображения во время процедуры 360 обработки данных. Вкратце, обнаружение объекта заключается в определении наличия объекта, т.е. в выделении объекта из фона, а распознавание объекта заключается в определении, что это за объект, т.е. в классификации объекта.
[188] Для этого сервер 270 может выполнять множество алгоритмов MLA 280.
[189] Сервер 270 выдает обработанный набор изображений 370, который, в частности, может включать в себя информацию о наборе объектов (не показаны), идентифицированных на заранее определенной дороге 320. Например, эта информация может включать в себя приблизительный размер и класс объекта в наборе объектов (не показаны).
[190] Сервер 270 способен обрабатывать лидарные данные 330, полученные вторым датчиком 216, на основе первого набора параметров 337 для получения обработанных лидарных данных 380.
[191] В некоторых вариантах осуществления настоящей технологии сервер 270 может обрабатывать лидарные данные 330 в различных плоских проекциях, например, как «вид с высоты птичьего полета» лидарных данных 330, который может быть получен путем игнорирования координаты z. Плоские проекции позволяют уменьшить размерность, что, в свою очередь, позволяет упростить процесс выделения признаков.
[192] В некоторых вариантах осуществления настоящей технологии лидарные данные 330 могут быть сегментированы и представлены как передний план и задний план, что может быть выполнено путем кластеризации с объединением точек с подобными характеристиками в однородные области, чтобы впоследствии можно было анализировать эти области. В не имеющем ограничительного характера примере сервер 270 может выполнять сегментацию для удаления точек, соответствующих земной поверхности, а затем кластеризацию оставшихся точек для формирования объектов.
[193] В не имеющем ограничительного характера примере сегментация лидарных данных 330 может выполняться методами на основе границ, методами на основе областей, методами на основе атрибутов, методами на основе моделей, методами на основе графов или любыми другими известными методами.
[194] Кластеризация лидарных данных 330 может выполняться с использованием таких алгоритмов, как плотностный алгоритм кластеризации пространственных данных в присутствии шума (DBSCAN, Density-Based Spatial Clustering of Applications with Noise), выделение евклидова кластера и MeanShift.
[195] В дальнейшем сервер 270 может классифицировать кластерные объекты, обращаясь к первому алгоритму MLA 282.
[196] В некоторых вариантах осуществления настоящей технологии сервер 270 может использовать признаки или информацию, полученные во время обработки данных набора изображений 340, при обработке лидарных данных 330, например, во время сегментации и/или классификации объекта.
[197] Сервер 270 выдает обработанные лидарные данные 380, которые, в частности, могут включать в себя информацию о наборе объектов (не показаны), идентифицированных на заранее определенной дороге 320. Например, эта информация может включать в себя приблизительное местоположение, размер, класс объекта в наборе объектов (не показаны).
[198] Набор идентифицированных объектов (не показан) может отличаться от набора объектов (не показан) в обработанном наборе изображений 370, поскольку природа первого датчика 214 и второго датчика 216 различна, и один из этих датчиков может обнаруживать объекты, не обнаруживаемые другим.
[199] Сервер 270 способен обрабатывать радарные данные 350, полученные третьим датчиком 218, на основе второго набора параметров 357 для получения обработанных радарных данных 390.
[200] Предполагается, что точки лидарных данных 330 и радарных данных 350 могут быть геометрически совмещены на основе набора изображений 340, при этом объект, представленный в лидарных данных 330 и радарных данных 350, расположен в одном месте в единой системе координат.
[201] В других вариантах осуществления настоящей технологии сервер 270 может использовать радарные данные 350 для дополнения лидарных данных 330 и может не обрабатывать радарные данные 350 в полном объеме.
[202] В других вариантах осуществления настоящей технологии предполагается, что набор изображений 340, лидарные данные 330 и радарные данные 350 могут обрабатываться раздельно, а объекты и категории могут быть сопоставлены позднее.
[203] После выполнения процедуры 360 обработки данных сервер 270 выполняет процедуру 410 объединения данных.
[204] Процедура объединения данных
[205] Процедура 410 объединения данных выполняется сервером 270, при этом извлеченная и обработанная информация первого множества датчиков 212 в виде обработанного набора изображений 370, обработанных лидарных данных 380 и обработанных радарных данных 390 объединяется для получения информации о заранее определенной дороге 320, в отличие от раздельного использования данных от каждого датчика из первого множества датчиков 212. Процедура 410 объединения данных позволяет повысить точность и надежность данных, полученных первым множеством датчиков 212. По окончании процедуры 410 объединения данных сервер 270 может сформировать трехмерную карту 460 заранее определенной дороги 320.
[206] На способ, которым выполняется процедура 410 объединения данных, не накладывается ограничений, он зависит от того, как выполняется процедура 360 обработки данных. В некоторых вариантах осуществления настоящей технологии процедура 410 объединения данных выполняется алгоритмом 415 объединения данных для подтверждения наличия объектов на заранее определенной дороге 320 путем присвоения вероятностных оценок объектам в обработанном наборе изображений 370, обработанных лидарных данных 380 и обработанных радарных данных 390 для определения их классов.
[207] В некоторых вариантах осуществления настоящей технологии алгоритм объединения данных во время процедуры 410 объединения данных может быть основан на методах фильтрации (например, на фильтрах Калмана, многочастичных фильтрах) или на методах оптимизации (например, на оптимизации графов).
[208] В не имеющем ограничительного характера примере во время процедуры 410 объединения данных могут использоваться несколько видов фильтров Калмана. Фильтры Калмана могут использоваться для оценки переменных, которые не могут быть измерены непосредственно, и/или для оценки переменной путем объединения результатов измерений от нескольких датчиков.
[209] В некоторых вариантах осуществления настоящей технологии трехмерная карта 460 заранее определенной дороги 320 может быть разделена на множество слоев (не показаны) на основе, по меньшей мере частично, набора объектов (не показаны). В не имеющем ограничительного характера примере множество слоев может включать в себя слой уровня дорожной сети, глобальный динамический слой (например, содержащий такую динамическую информацию, как трафик, погода, строительство и т.д.), слой полосы движения, слой виртуальных датчиков и слой препятствий.
[210] Специалисту в данной области техники должно быть понятно, что трехмерная карта 460 заранее определенной дороги 320 не обязательно является графическим представлением заранее определенной дороги 320, а является представлением данных заранее определенной дороги 320, которые могут использоваться электронным устройством, способствуя движению автономного транспортного средства по заранее определенной дороге 320.
[211] Предполагается, что для дополнения трехмерной карты 460 может использоваться информация из других источников (например, из официальных источников) и от других датчиков. Кроме того, трехмерная карта 460 заранее определенной дороги 320 может быть полностью или частично создана сервером 270 или может быть получена из другого источника.
[212] Трехмерная карта 460 заранее определенной дороги 320 может использоваться любым автономным транспортным средством для помощи в определении местоположения и в обнаружении объектов на заранее определенной дороге 320.
[213] Трехмерная карта 460 может создаваться в заранее определенные периоды времени (например, раз в неделю или месяц) или по указанию (например, от пользователя или от руководства) для учета недавних изменений заранее определенной дороги (например, наличие дорожных заграждений, завалов, аварий, строительства и т.д.).
[214] Объяснив с помощью фиг. 3 и фиг. 4, как создается трехмерная карта заранее определенной дороги 320, далее со ссылкой на фиг. 5 можно рассмотреть процедуру 500 получения данных для двух транспортных средств в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.
[215] Процедура получения данных для двух транспортных средств
[216] Процедура 500 получения данных для двух транспортных средств выполняется первым электронным устройством 205, вторым электронным устройством 235 и сервером 270.
[217] В общем случае цель процедуры 500 получения данных для двух транспортных средств состоит в получении данных датчиков на заранее определенной дороге 320 с помощью по меньшей мере части первого множества датчиков 212 на первом транспортном средстве 210 и по меньшей мере части второго множества датчиков 242 на втором транспортном средстве 240, где второе транспортное средство 240 постоянно находится на расстоянии от первого транспортного средства 210. Следует отметить, что датчики из первого множества датчиков 212 и датчики из второго множества датчиков 242, используемые во время процедуры 500 получения данных для двух транспортных средств, т.е. второй датчик 216 и второй датчик 246, должны соответствовать друг другу. Например, если на первом транспортном средстве 210 используется лидар, то на втором транспортном средстве 240 также следует использовать лидар.
[218] Как объяснено выше, данные об окружающей обстановке, полученные по меньшей мере частью второго множества датчиков 242 второго транспортного средства 240, движущегося на расстоянии 510 позади первого транспортного средства 210, могут быть менее точными, чем данные датчиков, полученные первым множеством датчиков 212 первого транспортного средства 210, по ряду таких причин, как природа датчиков, расстояние, рассеяние, интерференция, дифракция, диффузия, наличие препятствий и т.п. Таким образом, при одновременном получении данных частью первого множества датчиков 212 первого транспортного средства 210 и частью второго множества датчиков 242 второго транспортного средства 240, движущегося в пределах расстояния 510 позади первого транспортного средства 210, первый алгоритм MLA 282, выполняемый первым электронным устройством 205 и вторым электронным устройством 235, может быть впоследствии обучен обнаружению объектов, которые менее точно представлены в данных датчиков, полученных на расстоянии вторым множеством датчиков 242. Для упрощения обработки данных первое транспортное средство 210 и второе транспортное средство 240 могут двигаться с одинаковой скоростью, тем не менее, это не является обязательным для каждого варианта осуществления настоящей технологии.
[219] В общем случае процедура 500 получения данных для двух транспортных средств может выполняться аналогично процедуре 310 получения данных процедуры 300 создания карты, представленной на фиг. 3.
[220] Первоначально между первым транспортным средством 210 и вторым транспортным средством 240 может быть выполнена синхронизация по времени, например, через первое электронное устройство 205 и второе электронное устройство 235.
[221] Первое транспортное средство 210 может двигаться по заранее определенной дороге 320, а второе транспортное средство 240 может двигаться на расстоянии 510 позади первого транспортного средства 210. Следует понимать, что первое транспортное средство 210 и/или второе транспортное средство 240 может иметь водителя либо может двигаться в полуавтономном или автономном режиме.
[222] При движении по заранее определенной дороге 320 первое электронное устройство 205 получает от по меньшей мере части первого множества датчиков 212 данные 610 датчиков первого транспортного средства о заранее определенной дороге 320. Данные 610 датчиков первого транспортного средства обычно включают в себя по меньшей мере лидарные данные 612 первого транспортного средства, полученные вторым датчиком 246.
[223] Каждая точка (ненумерованная) в лидарных данных 612 первого транспортного средства связана с лидарными параметрами 622 первого транспортного средства, которые имеют ту же природу, что и первый набор параметров 337, т.е. лидарные параметры 622 первого транспортного средства могут включать в себя параметры датчика (данные, измеренные вторым датчиком 216 или относящиеся ко второму датчику 216), параметры транспортного средства (данные, относящиеся к первому транспортному средству 210) и другие параметры.
[224] В не имеющем ограничительного характера примере параметры датчика могут включать в себя расстояние, интенсивность и угол, а также другие параметры, относящиеся к лидарным данным.
[225] В не имеющем ограничительного характера примере параметры транспортного средства могут включать в себя широту, долготу, передачу, частоту вращения колес, параметры блока IMU (т.е. компоненты линейного ускорения и компоненты частоты вращения первого транспортного средства 210), положение регулятора подачи топлива, угол поворота и скорость, а также другие параметры, относящиеся к первому транспортному средству 210, движущемуся по заранее определенной дороге 320.
[226] В не имеющем ограничительного характера примере другие параметры могут включать в себя отметку времени и любой другой параметр, который может быть полезен для обработки лидарных данных 612 первого транспортного средства, например погодные условия и т.п.
[227] В некоторых вариантах осуществления настоящей технологии данные 610 датчиков первого транспортного средства дополнительно включают в себя первый набор 614 изображений, полученных первым датчиком 214, и/или радарные данные 616 первого транспортного средства, полученные третьим датчиком 218. Каждый пиксель и/или изображение могут быть связаны с параметрами 624 первого изображения, а каждая точка радарных данных 616 первого транспортного средства может быть связана с радарными параметрами 626 второго транспортного средства.
[228] Аналогичным образом, второе электронное устройство 235 получает от по меньшей мере части второго множества датчиков 242 данные 630 датчиков второго транспортного средства о заранее определенной дороге 320. Данные 630 датчиков второго транспортного средства обычно включают в себя по меньшей мере лидарные данные 632 второго транспортного средства, полученные вторым датчиком 246.
[229] Каждая точка (ненумерованная) в лидарных данных 632 второго транспортного средства связана с лидарными параметрами 642 второго транспортного средства, которые имеют ту же природу, что и первый набор параметров 337, т.е. лидарные параметры 642 второго транспортного средства могут включать в себя параметры датчика (данные, измеренные вторым датчиком 246 или относящиеся ко второму датчику 246), параметры транспортного средства (данные, относящиеся к первому транспортному средству 240) и другие параметры.
[230] В не имеющем ограничительного характера примере параметры датчика могут включать в себя расстояние, интенсивность и угол, а также другие параметры, относящиеся к лидарным данным.
[231] В не имеющем ограничительного характера примере параметры транспортного средства могут включать в себя: широту и долготу GPS, передачу, частоту вращения колес, параметры блока IMU (т.е. компоненты линейного ускорения и компоненты скорости вращения колес второго транспортного средства 240), положение регулятора подачи топлива, угол поворота и скорость, а также другие параметры, относящиеся ко второму транспортному средству 240, движущемуся по заранее определенной дороге 320.
[232] В не имеющем ограничительного характера примере другие параметры могут включать в себя отметку времени и любой другой параметр, который может быть полезен для обработки лидарных данных 632 второго транспортного средства, например погодные условия и т.п.
[233] В некоторых вариантах осуществления настоящей технологии данные 630 датчиков второго транспортного средства дополнительно включают в себя второй набор 634 изображений, полученных первым датчиком 244, и/или радарные данные 636 второго транспортного средства, полученные третьим датчиком 248. Каждый пиксель и/или изображение второго набора 634 изображений могут быть связаны с параметрами 644 второго изображения, а каждая точка радарных данных 636 второго транспортного средства может быть связана с радарными параметрами 646 второго транспортного средства.
[234] В общем случае можно сказать, что объект 540 (или его часть), обнаруженный по меньшей мере частью первого множества датчиков 212 на заранее определенной дороге 320, находится на первом расстоянии 520 от по меньшей мере части первого множества датчиков 212. Объект 540, обнаруженный по меньшей мере частью вторым множеством датчиков 242 на заранее определенной дороге 320, расположен на втором расстоянии 530 от по меньшей мере части второго множества датчиков 242. Должно быть понятно, что второе расстояние 530 больше первого расстояния 520.
[235] В некоторых вариантах осуществления изобретения получение данных частью первого множества датчиков 212 и частью второго множества датчиков 242 может выполняться с одинаковыми интервалами времени.
[236] Должно быть понятно, что процедура 500 получения данных для двух транспортных средств может многократно повторяться при разных скоростях и в разных условиях, пока не будет получено достаточно данных для обучения первого алгоритма MLA 282.
[237] Первое электронное устройство 205 и второе электронное устройство 235, соответственно, передают данные 610 первого датчика транспортного средства и данные 630 второго датчика транспортного средства серверу 270.
[238] На фиг. 6 представлена схема процедуры 600 обработки данных для двух транспортных средств в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.
[239] Процедура 600 обработки данных для двух транспортных средств выполняется сервером 270 после процедуры 500 получения данных для двух транспортных средств.
[240] Процедура 600 обработки данных для двух транспортных средств включает в себя процедуру 640 совмещения для двух транспортных средств, процедуру 660 обнаружения объекта и процедуру 690 обучения.
[241] Процедура совмещения для двух транспортных средств
[242] Сервер 270 принимает данные 610 датчиков первого транспортного средства и данные 630 датчиков второго транспортного средства от первого электронного устройства 205 и второго электронного устройства 235, соответственно.
[243] Сервер 270 получает трехмерную карту 460 из энергозависимой или энергонезависимой памяти, например, из памяти 130.
[244] Сервер 270 способен выполнять процедуру 640 совмещения для двух транспортных средств на основе трехмерной карты 460 и, по меньшей мере, лидарных данных 612 первого транспортного средства из данных 610 датчиков первого транспортного средства и лидарных данных 632 второго транспортного средства из данных 630 датчиков второго транспортного средства.
[245] В общем случае цель процедуры 640 совмещения для двух транспортных средств состоит в синхронизации или совмещении данных 610 датчиков первого транспортного средства и данных 630 датчиков второго транспортного средства для получения совмещенных данных 650 датчиков первого транспортного средства и совмещенных данных 655 датчиков второго транспортного средства, соответственно, чтобы представить данные 610 датчиков первого транспортного средства и данные 630 датчиков второго транспортного средства в единой системе координат, где заданная область в совмещенных данных 650 датчиков первого транспортного средства соответствует заданной области в совмещенных данных 655 датчиков второго транспортного средства. В некоторых вариантах осуществления настоящей технологии данные 610 датчиков первого транспортного средства и данные 630 датчиков второго транспортного средства могут быть совмещены на основе их местоположения по данным системы GPS, отметок времени, параметров блока IMU и одометрических параметров, а также признаков трехмерной карты 460.
[246] Сервер 270 также способен синхронизировать по времени данные 610 датчиков первого транспортного средства и данные 630 датчиков второго транспортного средства.
[247] В контексте некоторых не имеющих ограничительного характера вариантов осуществления настоящей технологии первый набор 614 изображений, полученных первым датчиком 214, и радарные данные 616 первого транспортного средства, полученные третьим датчиком 218, используются для дополнения лидарных данных 612 первого транспортного средства, полученных вторым датчиком 216, т.е. радарные данные 616 первого транспортного средства являются основным представлением заранее определенной дороги 320. Аналогично, второй набор 634 изображений, полученных первым датчиком 244, и/или радарные данные 636 второго транспортного средства, полученные третьим датчиком 248, используются для дополнения лидарных данных 632 второго транспортного средства.
[248] Процедура 640 совмещения для двух транспортных средств может выполняться аналогично процедуре 360 обработки данных и может включать в себя сегментацию, фильтрацию, коррекцию, сопоставление и кластеризацию данных 610 датчиков первого транспортного средства и данных 630 датчиков второго транспортного средства.
[249] Процедура 640 совмещения для двух транспортных средств может также включать в себя процедуру объединения датчиков (не показана), которая может выполняться аналогично процедуре 410 объединения данных без создания трехмерной карты.
[250] Результатом процедуры 640 совмещения для двух транспортных средств являются совмещенные данные 650 датчиков первого транспортного средства, где каждая точка (ненумерованная) связана с первыми совмещенными параметрами 652, и совмещенные данные 655 датчиков второго транспортного средства, где каждая точка (ненумерованная) связана со вторыми совмещенными параметрами 657. Заданная область в совмещенных данных 650 датчиков первого транспортного средства соответствует заданной области в совмещенных данных 655 датчиков второго транспортного средства.
[251] Процедура обнаружения объекта
[252] Сервер 270 выполняет первый алгоритм MLA 282 для выполнения процедуры 660 обнаружения объекта в совмещенных данных 650 датчиков первого транспортного средства на основе первых совмещенных параметров 652.
[253] Как указывалось ранее, первый алгоритм MLA 282 был обучен обнаружению объектов в данных лидара.
[254] Первый алгоритм MLA 282 выводит указание на набор 670 обнаруженных объектов в совмещенных данных 650 датчиков первого транспортного средства. Каждый обнаруженный объект 672 соответствует части совмещенных данных 650 датчиков первого транспортного средства (т.е. некоторое количество точек в облаке лидарных точек) и связан с меткой 674 класса.
[255] Процедура обучения
[256] Сервер 270 способен помечать часть 682 в совмещенных данных 655 датчиков второго транспортного средства меткой 684 класса, где часть 682 соответствует обнаруженному объекту 672 и его метке 674 класса в наборе 670 обнаруженных объектов.
[257] Сервер 270 создает набор 680 обучающих объектов для совмещенных данных 655 датчиков второго транспортного средства.
[258] Сервер 270 способен выполнять обучение первого алгоритма MLA 282 на наборе 680 обучающих объектов, в результате чего первый алгоритм MLA 282 может обнаруживать объекты в облаке точек, полученных на втором расстоянии 530 лидаром, например, вторым датчиком 246.
[259] Предполагается, что процедура 600 обработки данных для двух транспортных средств может многократно повторяться, при этом данные могут быть получены вторым транспортным средством 240 на разных расстояниях.
[260] На фиг. 7 представлена блок-схема способа 700 создания трехмерной карты 460 заранее определенной дороги 320 в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.
[261] Способ 700 выполняется сервером 270 после процедуры 310 получения данных. Процессор 110 сервера 270 имеет доступ к машиночитаемым командам (например, сохраненным на твердотельном накопителе 120 или в памяти 130), исполнение которых приводит к выполнению процессором 110 способа 700.
[262] Реализация способа 700 начинается с шага 702.
[263] Шаг 702: прием данных датчика, полученных на первом расстоянии датчиком, установленным на первом транспортном средстве, проехавшем по заранее определенной дороге.
[264] На шаге 702 сервер 270 принимает лидарные данные 330, полученные вторым датчиком 216, установленным на первом транспортном средстве 210, движущемся по заранее определенной дороге 320. Каждая точка 335 связана с первым набором параметров 337. В не имеющем ограничительного характера примере первый набор параметров 337 может включать в себя параметры датчика (данные, измеренные вторым датчиком 216 или относящиеся ко второму датчику 216), параметры транспортного средства (данные, относящиеся к первому транспортному средству 210) и другие параметры.
[265] В некоторых вариантах осуществления настоящей технологии сервер 270 может принимать набор изображений 340, полученных первым датчиком 214, установленным на первом транспортном средстве 210, движущемся по заранее определенной дороге 320. Каждое изображение 432 содержит набор пикселей 345, образующих изображение 342. Каждый пиксель (не пронумерованный) из набора пикселей 345 изображения 342 в наборе изображений 340 связан с набором параметров 347 изображения. Набор параметров 347 изображения включает в себя оптические параметры (данные, измеренные первым датчиком 214 или относящиеся к первому датчику 214), параметры транспортного средства (данные, относящиеся к транспортному средству, на котором установлены датчики) и другие параметры. В других вариантах осуществления настоящей технологии каждое изображение 342 также может быть связано с набором параметров изображения (не показан).
[266] В некоторых вариантах осуществления настоящей технологии сервер 270 может принимать радарные данные 350 о заранее определенной дороге 320, полученные третьим датчиком 218. Каждая точка 352 связана со вторым набором параметров 357. В не имеющем ограничительного характера примере второй набор параметров 357 может включать в себя параметры датчика (данные, измеренные третьим датчиком 218 или относящиеся к третьему датчику 218), параметры транспортного средства (данные, относящиеся к первому транспортному средству 210) и другие параметры.
[267] Реализация способа 700 продолжается на шаге 704.
[268] Шаг 704: упорядочение с использованием второго алгоритма MLA областей в данных датчика для получения трехмерной карты на основе соответствующих местоположений и одометрических параметров, включая геометрическое совмещение этих областей в данных датчика.
[269] На шаге 704 сервер 270 обрабатывает набор изображений 340, лидарные данные 330 и радарные данные 350 о заранее определенной дороге 320 для получения обработанного набора изображений 370, обработанных лидарных данных 380 и обработанных радарных данных 390, совмещенных во времени и в пространстве.
[270] В некоторых вариантах осуществления настоящей технологии второй алгоритм MLA (не показан) из множества алгоритмов MLA 280 может выполнять упорядочение набора изображений 340, лидарных данных 330 и радарных данных 350 о заранее определенной дороге 320.
[271] Сервер 270 способен выполнять процедуру 360 обработки данных на основе набора параметров 347 изображения из набора изображений 340, первого набора параметров 337 лидарных данных 330 и второго набора параметров 357 радарных данных 350.
[272] В некоторых вариантах осуществления настоящей технологии сервер 270 способен совмещать набор изображений 340, лидарные данные 330 и радарные данные 350 на основе отметок времени в наборе параметров 347 изображения, первом наборе параметров 337 и втором наборе параметров 357. Сервер 270 способен совмещать набор изображений 340, лидарные данные 330 и радарные данные 350 путем представления полученной информации в единой системе координат. В не имеющем ограничительного характера примере совмещение в единой системе координат набора изображений 340, лидарных данных 330 и радарных данных 350 может быть выполнено на основе параметров системы GPS, отметок времени, параметров транспортного средства и других параметров в наборе параметров 347 изображения, первом наборе параметров 337 и втором наборе параметров 357.
[273] Реализация способа 700 продолжается на шаге 706.
[274] Шаг 706: определение с использованием первого алгоритма MLA объектов в наборе объектов, классов этих объектов и местоположений для набора объектов в соответствующих областях трехмерной карты.
[275] На шаге 706 сервер 270 с помощью первого алгоритма MLA 282 выдает обработанные лидарные данные 380, которые, например, могут содержать информацию о наборе объектов, идентифицированных на заранее определенной дороге 320. Эта информация может включать в себя, например, примерное местоположение, размер и класс объекта в наборе объектов.
[276] На этом реализация способа 700 завершается.
[277] На фиг. 8 представлена блок-схема способа 800 обучения первого алгоритма машинного обучения 282 обнаружению заданного объекта 540 на втором расстоянии 530 на заранее определенной дороге 320 в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии.
[278] Способ 800 выполняется сервером 270 после способа 700 и процедуры 500 получения данных для двух транспортных средств. Процессор 110 сервера 270 имеет доступ к машиночитаемым командам (например, сохраненным на твердотельном накопителе 120 или в памяти 130), исполнение которых приводит к выполнению процессором 110 способа 800.
[279] Шаг 802: прием данных первого датчика, полученных на первом расстоянии первым датчиком, установленным на первом транспортном средстве, проехавшем по заранее определенной дороге.
[280] На шаге 802 сервер 270 способен принимать данные 610 датчиков первого транспортного средства о заранее определенной дороге 320 от первого электронного устройства 205. Данные 610 датчиков первого транспортного средства получены первым электронным устройством 205 от по меньшей мере части первого множества датчиков 212 первого транспортного средства 210, движущегося по заранее определенной дороге 320 на первом расстоянии 520 от объекта 540.
[281] Данные 610 датчиков первого транспортного средства обычно включают в себя по меньшей мере лидарные данные 612 первого транспортного средства, полученные вторым датчиком 246.
[282] Каждая точка (ненумерованная) в лидарных данных 612 первого транспортного средства связана с лидарными параметрами 622 первого транспортного средства, которые имеют ту же природу, что и первый набор параметров 337, т.е. лидарные параметры 622 первого транспортного средства могут включать в себя параметры датчика (данные, измеренные вторым датчиком 216 или относящиеся ко второму датчику 216), параметры транспортного средства (данные, относящиеся к первому транспортному средству 210) и другие параметры.
[283] В некоторых вариантах осуществления настоящей технологии данные 610 датчиков первого транспортного средства дополнительно включают в себя первый набор 614 изображений, полученных первым датчиком 214, и/или радарные данные 616 первого транспортного средства, полученные третьим датчиком 218. Каждый пиксель и/или изображение первого набора 614 изображений могут быть связаны с параметрами 624 первого изображения, а каждая точка радарных данных 616 первого транспортного средства может быть связана с радарными параметрами 626 первого транспортного средства.
[284] Реализация способа 800 продолжается на шаге 804.
[285] Шаг 804: прием данных второго датчика, полученных на втором расстоянии вторым датчиком, установленным на втором транспортном средстве, проехавшем позади первого транспортного средства по заранее определенной дороге.
[286] На шаге 804 сервер 270 способен принимать от второго электронного устройства 235 данные 630 датчиков второго транспортного средства о заранее определенной дороге 320, полученные вторым электронным устройством 235 от по меньшей мере части второго множества датчиков 242. Второе транспортное средство 240 проследовало на расстоянии позади первого транспортного средства 210, при этом объект 540, обнаруженный по меньшей мере вторым множеством датчиков 242 на заранее определенной дороге 320, расположен на втором расстоянии 530 от по меньшей мере второго множества датчиков 242.
[287] Данные 630 датчиков второго транспортного средства обычно включают в себя по меньшей мере лидарные данные 632 второго транспортного средства, полученные вторым датчиком 246. Каждая точка (ненумерованная) в лидарных данных 632 второго транспортного средства связана с лидарными параметрами 642 второго транспортного средства, которые имеют ту же природу, что и первый набор параметров 337, т.е. лидарные параметры 642 второго транспортного средства могут включать в себя параметры датчика (данные, измеренные вторым датчиком 246 или относящиеся ко второму датчику 246), параметры транспортного средства (данные, относящиеся к первому транспортному средству 240) и другие параметры.
[288] В некоторых вариантах осуществления настоящей технологии данные 630 датчиков второго транспортного средства дополнительно включают в себя второй набор 634 изображений, полученных первым датчиком 244, и/или радарные данные 636 второго транспортного средства, полученные третьим датчиком 248. Каждый пиксель и/или изображение второго набора 634 изображений могут быть связаны с параметрами 644 второго изображения, а каждая точка радарных данных 636 второго транспортного средства может быть связана с радарными параметрами 646 второго транспортного средства.
[289] Реализация способа 800 продолжается на шаге 806.
[290] Шаг 806: получение трехмерной карты заранее определенной дороги, включающей в себя набор объектов, связанных с местоположением и с классом объектов.
[291] На шаге 806 сервер 270 способен получать трехмерную карту 460, созданную при выполнении способа 700, из энергозависимой или энергонезависимой памяти, например, из памяти 130.
[292] Реализация способа 800 продолжается на шаге 808.
[293] Шаг 808: совмещение данных первого датчика с данными второго датчика на основе, по меньшей мере частично, трехмерной карты для получения совмещенных данных первого датчика и совмещенных данных второго датчика, для которых заданная область в совмещенных данных первого датчика соответствует заданной области в совмещенных данных второго датчика.
[294] На шаге 808 сервер 270 может выполнять процедуру 640 совмещения для двух транспортных средств на основе трехмерной карты 460 и, по меньшей мере частично, лидарных данных 612 первого транспортного средства из данных 610 датчиков первого транспортного средства и лидарных данных 632 второго транспортного средства из данных 630 датчиков второго транспортного средства.
[295] Сервер 270 может совмещать данные 610 датчиков первого транспортного средства и данные 630 датчиков второго транспортного средства для получения совмещенных данных 650 датчиков первого транспортного средства и совмещенных данных 655 датчиков второго транспортного средства, соответственно, чтобы представить данные 610 датчиков первого транспортного средства и данные 630 датчиков второго транспортного средства в единой системе координат, где заданная область в совмещенных данных 650 датчиков первого транспортного средства соответствует заданной области в совмещенных данных 655 датчиков второго транспортного средства. Сервер 270 также способен синхронизировать по времени данные 610 датчиков первого транспортного средства и данные 630 датчиков второго транспортного средства.
[296] В некоторых вариантах осуществления настоящей технологии совмещение может включать в себя сегментацию, фильтрацию, коррекцию, сопоставление и кластеризацию данных 610 датчиков первого транспортного средства и данных 630 датчиков второго транспортного средства.
[297] Реализация способа 800 продолжается на шаге 810.
[298] Шаг 810: определение первым алгоритмом MLA частей совмещенных данных первого датчика, соответствующих объектам, включая определение классов этих объектов.
[299] На шаге 810 сервер 270 обращается к первому алгоритму MLA 282 для выполнения процедуры 660 обнаружения объекта в совмещенных данных 650 датчиков первого транспортного средства на основе первых совмещенных параметров 652. Первый алгоритм MLA 282 выдает набор 670 обнаруженных объектов в совмещенных данных 650 датчиков первого транспортного средства. Каждый обнаруженный объект 672 соответствует части совмещенных данных 650 датчиков первого транспортного средства (т.е. некоторое количество точек в облаке лидарных точек) и связан с меткой 674 класса.
[300] Реализация способа 800 продолжается на шаге 812.
[301] Шаг 812: установление соответствия объектов и классов этих объектов частям совмещенных данных второго датчика, соответствующим частям совмещенных данных первого датчика.
[302] На шаге 812 сервер 270 способен помечать часть 682 в совмещенных данных 655 датчиков второго транспортного средства меткой 684 класса, где часть 682 соответствует обнаруженному объекту 672, а метка 684 класса – метке 674 класса в наборе 670 обнаруженных объектов.
[303] Сервер 270 создает набор 680 обучающих объектов для совмещенных данных 655 датчиков второго транспортного средства.
[304] Реализация способа 800 продолжается на шаге 814.
[305] Шаг 814: обучение первого алгоритма MLA определению объектов и классов этих объектов в данных датчика, полученных на втором расстоянии от объектов, на основе частей совмещенных данных второго датчика и классов объектов, для которых установлено соответствие частям совмещенных данных второго датчика.
[306] На шаге 814 сервер 270 может выполнять обучение первого алгоритма MLA 282 на наборе 680 обучающих объектов, в результате чего первый алгоритм MLA 282 может обнаруживать объекты в облаке точек, полученном на втором расстоянии 530 лидаром, например, вторым датчиком 246.
[307] На этом выполнение способа 800 завершается.
[308] Таким образом, настоящая технология позволяет алгоритму MLA, предварительно обученному обнаружению объектов и признаков в данных датчиков, полученных в обычных условиях (т.е. в условиях первичных обучающих данных), обнаруживать те же объекты и признаки в данных датчиков, полученных в необычных условиях и имеющих, в какой-то степени, отличающееся представление объектов и признаков. Предполагается, что настоящая технология может применяться к данным, полученным одним или несколькими датчиками, в частности, камерами, лидарными датчиками и радарными датчиками.
[309] Специалистам в данной области техники должно быть очевидно, что по крайней мере некоторые варианты осуществления настоящей технологии направлены на расширение арсенала технических решений для решения конкретной технической проблемы, а именно, повышения эффективности алгоритма машинного обучения для классификации объектов в данных датчиков путем повторного обучения алгоритма машинного обучения классификации объектов в данных датчиков, полученных в худших условиях, по сравнению с первичными условиями обучения. Такой подход позволяет экономить ресурсы, используемые электронным устройством.
[310] Очевидно, что не все упомянутые в данном описании технические эффекты должны присутствовать в каждом варианте осуществления настоящей технологии. Например, возможны варианты осуществления настоящей технологии, когда пользователь не получает некоторые из этих технических эффектов, или другие варианты реализации, когда пользователь получает другие технические эффекты либо технический эффект отсутствует.
[311] Некоторые из шагов и передаваемых или принимаемых сигналов хорошо известны в данной области техники и по этой причине опущены в некоторых частях описания для упрощения. Сигналы могут передаваться или приниматься с использованием оптических средств (таких как волоконно-оптическое соединение), электронных средств (таких как проводное или беспроводное соединение) и механических средств (например, основанных на давлении, температуре или любом другом подходящем физическом параметре).
[312] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.