СПОСОБЫ И СИСТЕМЫ ДЛЯ АВТОМАТИЗИРОВАННОГО ОПРЕДЕЛЕНИЯ ПРИСУТСТВИЯ ОБЪЕКТОВ
METHODS AND SYSTEMS FOR AUTOMATED DETERMINATION OF OBJECTS PRESENCE

ООбласть техники, к которой относится изобретение
[1] Настоящая технология относится к компьютеризованным способам и системам для определения присутствия объекта, более конкретно, к способам и системам для определения присутствия объектов вокруг беспилотного автомобиля (SDC) с использованием сетки занятости.
Уровень техники
[2] В предшествующем уровне техники предложены и реализованы несколько компьютерных навигационных систем, которые выполнены с возможностью помощи при навигации и/или управлении транспортным средством. Эти системы варьируются от более базовых решений на основе картографической локализации (т.е. от использования компьютерной системы для того, чтобы помогать водителю в осуществлении навигации по маршруту из начального пункта в пункт назначения) до более сложных решений (компьютеризированных и/или автономных от водителя систем вождения).
[3] Некоторые из этих систем реализуются как то, что общеизвестно в качестве системы "круиз-контроля". В этих системах, компьютерная система на борту транспортных средств поддерживает заданную пользователем скорость транспортного средства. Часть системы круиз-контроля реализует систему "интеллектуального управления расстоянием", за счет которой пользователь может устанавливать расстояние до потенциального автомобиля впереди (к примеру, выбирать значение, выражаемое в числе транспортных средств), и компьютерная система регулирует скорость транспортного средства по меньшей мере частично на основе транспортного средства, приближающегося к впереди идущему потенциальному транспортному средству в пределах предварительно заданного расстояния. Некоторые системы круиз-контроля дополнительно оснащаются системой управления столкновениями, причем эти системы, при обнаружении транспортного средства (или другого препятствия) перед движущимся транспортным средством, замедляют или останавливают транспортное средство.
[4] Некоторые усовершенствованные системы предоставляют полностью автономное вождение транспортного средства без прямого управления оператора (т.е. водителя). Эти автономные транспортные средства включают в себя компьютерные системы, которые могут инструктировать транспортному средству ускоряться, тормозить, останавливаться, сменять полосу движения и автоматически парковаться.
[5] Одна из основных технических проблем в реализации вышеуказанных компьютерных систем заключается в способности компьютерной системы обнаруживать объект, присутствующий вокруг транспортного средства, такой как транспортное средство впереди рассматриваемого транспортного средства (причем рассматриваемое транспортное средство имеет компьютерную систему на борту), причем это впереди идущее транспортное средство может представлять риск/опасность для рассматриваемого транспортного средства и может требовать от компьютерной системы принятия корректирующей меры, будь то торможение либо в иных случаях изменение скорости, остановка или смена полосы движения. На более детализированном уровне, сложность обнаружения объектов представляет собой не просто двоичное обнаружение (присутствие или отсутствие объекта), но скорость и точность, ассоциированные с таким анализом и определением (в частности, исключение "ложноотрицательных суждений", за счет чего система не идентифицирует объект, который фактически присутствует впереди или вокруг транспортного средства).
[6] Острота этой проблемы проиллюстрирована посредством следующего гипотетического сценария. Предположим, что беспилотное или частично автономное транспортное средство едет по маршруту. Ребенок (или взрослый, домашнее животное и т.п.) бежит перед транспортным средством. Обязательно необходимо, чтобы компьютерная система, управляющая транспортным средством, обнаружила присутствие объекта быстро и предприняла корректирующие действия, чтобы избежать столкновения. Естественно, чем быстрее компьютерная система обнаружит присутствие объекта, тем больше времени будет иметь компьютерная система для того, чтобы определять корректирующее действие и командовать транспортному средству выполнять корректирующее действие.
[7] Типичное автономное транспортное средство или беспилотный автомобиль (SDC), сокращенно, содержит множество датчиков для того, чтобы обеспечивать возможность SDC захватывать и "понимать" свою окружающую область. Типично, используется более одного типа датчиков. Например, данная реализация SDC может включать в себя одну или более камер, один или более лидаров и один или более радаров.
[8] Общеизвестно, что SDC должен обрабатывать данные, захваченные посредством такого множества датчиков, чтобы формировать прогнозирование, типично с использованием алгоритма машинного обучения (MLA) в отношении присутствия одного или более объектов около SDC. Такое прогнозирование затем может использоваться посредством SDC для того, чтобы определять наиболее оптимальный текущий маневр, будь то продолжение вождения, остановка, изменение направления, ускорение и т.п.
[9] US 2019/0049239 (опубликованная 14 февраля 2019 года и принадлежащая Intel IP Corporation) раскрывает устройство определения объектов сетки занятости, которое может включать в себя формирователь сеток, выполненный с возможностью формировать сетку занятости предварительно определенной области, причем сетка занятости включает в себя множество ячеек сетки, и по меньшей мере некоторым ячейкам сетки назначена информация относительно занятости области, представленной посредством соответствующей ячейки сетки, модуль определения, выполненный с возможностью определять по меньшей мере один объект в сетке занятости, при этом по меньшей мере один объект включает в себя множество ячеек сетки, и модуль удаления, выполненный с возможностью удалять информацию занятости, по меньшей мере, из одной ячейки сетки из множества ячеек сетки определенного объекта.
[10] US 10195992 (опубликованный 5 февраля 2019 года и принадлежащая Ford Global Technologies, LLC) раскрывает системы и способы обнаружения препятствий, которые описываются в нем. В одной реализации, способ принимает данные по меньшей мере из одного датчика, установленного на транспортном средстве, и создает карту на основе вероятностной сетки, ассоциированную с областью около транспортного средства. Способ также определяет доверительное значение, ассоциированное с каждой вероятностью в карте на основе сетки, и определяет вероятность того, что препятствие существует в области около транспортного средства, на базе карты на основе вероятностной сетки.
Сущность изобретения
[11] Цель настоящей технологии заключается в том, чтобы улучшать по меньшей мере некоторые неудобства, присутствующие в предшествующем уровне техники.
[12] Неограничивающие варианты осуществления настоящей технологии направлены на способ формирования и использования сетки занятости, за счет которого данная ячейка сетки занятости включает в себя спрогнозированное расстояние до ближайшего объекта (т.е. другой ячейки сетки занятости, которая имеет объект, размещенный в ней, как выражается посредством ассоциированного значения в другой ячейке, равного нулю, что указывает нулевое расстояние до объекта).
[13] В одном широком аспекте настоящей технологии, предусмотрен способ для определения присутствия препятствия в окружающей области беспилотного автомобиля (SDC) на основе данных датчиков, полученных посредством датчика, установленного на SDC. Способ осуществляется посредством электронного устройства, соединенного с SDC. Электронное устройство выполняет алгоритм машинного обучения (MLA), обученный для обнаружения препятствий на основе данных датчиков. Способ содержит: прием, посредством электронного устройства, данных датчиков, представляющих окружающую область SDC в форме данных облака трехмерных точек; формирование, посредством MLA, на основе данных облака трехмерных точек, набора векторов признаков, представляющих окружающую область; прием картографических данных, указывающих локализацию SDC на карте; формирование, посредством MLA, на основе набора векторов признаков и картографических данных, представления в форме сетки окружающей области, причем каждая данная ячейка представления в форме сетки включает в себя спрогнозированный параметр расстояния, указывающий расстояние от данной ячейки до ближайшей ячейки с препятствием; использование, посредством электронного устройства, параметра расстояния для того, чтобы определять присутствие препятствия в окружающей области SDC.
[14] В некоторых реализациях способа, спрогнозированный параметр расстояния дополнительно ассоциирован с индикатором доверительного уровня в спрогнозированном параметре расстояния, причем доверительный уровень прогнозируется посредством MLA.
[15] В некоторых реализациях способа, MLA содержит первую модель и вторую модель.
[16] В некоторых реализациях способа, набор векторов признаков, представляющих окружающую область, формируется посредством первой модели.
[17] В некоторых реализациях способа, формирование, на основе данных облака трехмерных точек, набора векторов признаков, представляющих окружающую область, содержит: формирование тензора, имеющего множество ячеек, причем каждая ячейка ассоциирована с позицией в данных облака трехмерных точек; формирование, посредством первой модели, данного вектора, ассоциированного с данной точкой данных облака трехмерных точек; ассоциирование данного вектора с ассоциированной ячейкой данных облака трехмерных точек.
[18] В некоторых реализациях способа, способ дополнительно содержит формирование объединенного вектора, ассоциированного со столбцом тензора.
[19] В некоторых реализациях способа, формирование объединенного вектора содержит конкатенацию совокупности данных векторов, ассоциированных с ячейками столбца тензора.
[20] В некоторых реализациях способа, данный вектор представляет по меньшей мере геометрическую позицию данной точки данных облака трехмерных точек.
[21] В некоторых реализациях способа, первая модель содержит PointNet-модель.
[22] В некоторых реализациях способа, формирование представления в форме сетки окружающей области выполняется посредством второй модели.
[23] В некоторых реализациях способа, вторая модель содержит U-Net-модель.
[24] В некоторых реализациях способа, вторая модель выполнена с возможностью формировать спрогнозированный параметр расстояния на основе вывода первой модели.
[25] В некоторых реализациях способа, вывод первой модели содержит: тензор, имеющий множество ячеек, причем каждая ячейка ассоциирована с объединенным вектором, ассоциированным с соответствующим столбцом тензора, ранее сформированного посредством первой модели; данный объединенный вектор, представляющий по меньшей мере геометрические позиции точек данных облака трехмерных точек, размещенных в данной ячейке тензора.
[26] В некоторых реализациях способа, способ дополнительно содержит обучение MLA, причем обучение выполняется до приема.
[27] В некоторых реализациях способа, обучение MLA содержит использование обучающего набора, причем обучающий набор включает в себя обучающую сетку с индикатором расстояния до ближайшего обучающего объекта.
[28] В некоторых реализациях способа, индикатор расстояния до ближайшего обучающего объекта представляет собой фактическое расстояние, используемое в качестве истинных данных для обучения.
[29] В некоторых реализациях способа, способ дополнительно содержит идентификацию, посредством MLA, ячеек представления в форме сетки с необнаруженными объектами.
[30] В некоторых реализациях способа, идентификация, посредством MLA, ячеек представления в форме сетки с необнаруженными препятствиями содержит: определение первой ячейки представления в форме сетки, имеющей спрогнозированный индикатор присутствия препятствия; определение второй ячейки представления в форме сетки, расположенной в предварительно определенной разнесенной взаимосвязи с первой ячейкой, причем вторая ячейка не имеет спрогнозированного индикатора присутствия препятствия; в ответ на превышение, посредством доверительного параметра первой ячейки, предварительно определенного порогового значения, и в ответ на присутствие триггера проецирования, дополнение второй ячейки спрогнозированным индикатором присутствия препятствия.
[31] В некоторых реализациях способа, дополнение второй ячейки спрогнозированным индикатором присутствия объекта содержит назначение доверительного параметра, который меньше соответствующего доверительного параметра первой ячейки.
[32] В некоторых реализациях способа, триггер проецирования содержит параметр ожидаемого изменения для объекта из первой ячейки и второй ячейки.
[33] В некоторых реализациях способа, параметр ожидаемого изменения основан, по меньшей мере частично, на параметре скорости SDC.
[34] В другом широком аспекте настоящей технологии, предусмотрено электронное устройство. Электронное устройство содержит: процессор; долговременный машиночитаемый носитель, содержащий инструкции, причем инструкции служат для выполнения по меньшей мере алгоритма машинного обучения (MLA), обученного для обнаружения препятствий на основе данных датчиков; интерфейс связи для осуществления связи с датчиком, установленным на транспортном средстве. Процессор, при выполнении инструкций, выполнен с возможностью: принимать данные датчиков, представляющие окружающую область SDC в форме данных облака трехмерных точек; формировать, посредством MLA, на основе данных облака трехмерных точек, набор векторов признаков, представляющих окружающую область; принимать картографические данные, указывающие локализацию SDC на карте; формировать, посредством MLA, на основе набора векторов признаков и картографических данных, представление в форме сетки окружающей области, причем каждая данная ячейка представления в форме сетки включает в себя спрогнозированный параметр расстояния, указывающий расстояние от данной ячейки до ближайшей ячейки с препятствием; использовать параметр расстояния для того, чтобы определять присутствие препятствия в окружающей области SDC.
[35] В некоторых реализациях электронного устройства, MLA содержит первую модель и вторую модель, и при этом процессор выполнен с возможностью: формировать набор векторов признаков, представляющих окружающую область, с использованием первой модели; и формировать представление в форме сетки окружающей области с использованием второй модели.
[36] В некоторых реализациях электронного устройства, процессор, выполненный с возможностью формировать, на основе данных облака трехмерных точек, набор векторов признаков, представляющих окружающую область, дополнительно выполнен с возможностью: формировать тензор, имеющий множество ячеек, причем каждая ячейка ассоциирована с позицией в данных облака трехмерных точек; формировать, посредством первой модели, данный вектор, ассоциированный с данной точкой данных облака трехмерных точек; ассоциировать данный вектор с ассоциированной ячейкой данных облака трехмерных точек.
[37] В некоторых реализациях электронного устройства, процессор дополнительно выполнен с возможностью формировать объединенный вектор, ассоциированный со столбцом тензора.
[38] В некоторых реализациях электронного устройства, процессор выполнен с возможностью формировать объединенный вектор, ассоциированный со столбцом тензора, посредством конкатенации совокупности данных векторов, ассоциированных с ячейками столбца тензора.
[39] В некоторых реализациях электронного устройства, процессор дополнительно выполнен с возможностью идентифицировать, посредством MLA, ячейки представлений в форме сетки с необнаруженными препятствиями, и процессор выполнен с возможностью: определять первую ячейку представления в форме сетки, имеющую спрогнозированный индикатор присутствия препятствия; определять вторую ячейку представления в форме сетки, расположенную в предварительно определенной разнесенной взаимосвязи с первой ячейкой, причем вторая ячейка не имеет спрогнозированного индикатора присутствия препятствия; в ответ на превышение, посредством доверительного параметра первой ячейки, предварительно определенного порогового значения, и в ответ на присутствие триггера проецирования, дополнять вторую ячейку спрогнозированным индикатором присутствия препятствия.
[40] В некоторых реализациях электронного устройства, процессор дополнительно выполнен с возможностью назначать доверительный параметр, который меньше соответствующего доверительного параметра первой ячейки.
[41] В некоторых реализациях электронного устройства, процессор дополнительно выполнен с возможностью, до приема, обучать MLA.
[42] В некоторых реализациях электронного устройства, процессор выполнен с возможностью обучать MLA с использованием обучающего набора, причем обучающий набор включает в себя обучающую сетку с индикатором расстояния до ближайшего обучающего объекта.
[43] В контексте настоящего описания изобретения, "сервер" представляет собой компьютерную программу, которая выполняется на соответствующих аппаратных средствах и допускает прием запросов (например, из клиентских устройств) по сети и выполнение этих запросов либо инструктирование выполнения этих запросов. Аппаратные средства могут реализовываться как один физический компьютер или одна физическая компьютерная система, но ни одно из означенного не должно обязательно иметь место относительно настоящей технологии. В настоящем контексте, использование выражения "сервер" не имеет намерение означать то, что каждая задача (например, принимаемые инструкции или запросы) или любая конкретная задача должна приниматься, выполняться или инструктироваться для выполнения посредством идентичного сервера (т.е. идентичного программного обеспечения и/или аппаратных средств); оно имеет намерение означать то, что любое число программных элементов или аппаратных устройств может быть предусмотрено при приеме/отправке, выполнении или инструктировании для выполнения любой задачи или запроса либо результатов любой задачи или запроса; и все это программное обеспечение и аппаратные средства могут представлять собой один сервер либо несколько серверов, причем все из означенного включается в выражение "по меньшей мере один сервер".
[44] В контексте настоящего описания изобретения, "электронное устройство" представляет собой любые компьютерные аппаратные средства, которые допускают выполнение программного обеспечения, соответствующего рассматриваемой релевантной задаче. В контексте настоящего описания изобретения, термин "электронное устройство" подразумевает, что устройство может функционировать в качестве сервера для других электронных устройств и клиентских устройств; тем не менее, это не должно обязательно иметь место относительно настоящей технологии. Таким образом, некоторые (неограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные компьютеры, переносные компьютеры, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует понимать, что в настоящем контексте тот факт, что устройство функционирует в качестве электронного устройства, не означает того, что оно не может функционировать в качестве сервера для других электронных устройств. Использование выражения "электронное устройство" не исключает использование нескольких клиентских устройств при приеме/отправке, выполнении или инструктировании для выполнения любой задачи или запроса либо результатов любой задачи или запроса, или этапов любого способа, описанного в данном документе.
[45] В контексте настоящего описания изобретения, "клиентское устройство" представляет собой любые компьютерные аппаратные средства, которые допускают выполнение программного обеспечения, соответствующего рассматриваемой релевантной задаче. В контексте настоящего описания изобретения, в общем, термин "клиентское устройство" ассоциирован с пользователем клиентского устройства. Таким образом, некоторые (неограничивающие) примеры клиентских устройств включают в себя персональные компьютеры (настольные компьютеры, переносные компьютеры, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройство, выступающее в качестве клиентского устройства в настоящем контексте, не исключается из выступания в качестве сервера для других клиентских устройств. Использование выражения "клиентское устройство" не исключает использование нескольких клиентских устройств при приеме/отправке, выполнении или инструктировании для выполнения любой задачи или запроса либо результатов любой задачи или запроса, или этапов любого способа, описанного в данном документе.
[46] В контексте настоящего описания изобретения, выражение "информация" включает в себя информацию вообще любого характера или вида, допускающую сохранение в базе данных. Таким образом, информация включает в себя, но не только, аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные местоположения, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[47] В контексте настоящего описания изобретения, выражение "программный компонент" имеет намерение включать в себя программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для того, чтобы осуществлять конкретную упоминаемую функцию(и).
[48] В контексте настоящего описания изобретения, выражение "компьютерные носители хранения информации" (также называемые "носителями хранения данных") имеет намерение включать в себя носители вообще любого характера и вида, в том числе, без ограничения, RAM, ROM, диски (CD-ROM, DVD, гибкие диски, накопители на жестких дисках и т.д.), флэш-накопители, твердотельные накопители, накопители на ленте и т.д. Множество компонентов могут комбинироваться, чтобы формировать компьютерные носители хранения информации, включающие в себя два или более компонентов носителей идентичного типа и/или два или более компонентов носителей различных типов.
[49] В контексте настоящего описания изобретения, "база данных" представляет собой любую структурированную совокупность данных, независимо от ее конкретной структуры, программного обеспечения управления базами данных или компьютерных аппаратных средств, на которых данные сохраняются, реализуются или становятся доступными иными способами для использования. База данных может постоянно размещаться в идентичных аппаратных средствах с процессом, который сохраняет или использует информацию, сохраненную в базе данных, либо она может постоянно размещаться в отдельных аппаратных средствах, таких как выделенный сервер или множество серверов.
[50] В контексте настоящего описания изобретения, слова "первый", "второй", "третий" и т.д. использованы в качестве прилагательных только для целей обеспечения различения существительных, которые они модифицируют, друг от друга, а не для целей описания конкретных взаимосвязей между этими существительными. Таким образом, например, следует понимать, что использование терминов "первая база данных" и "третий сервер" не имеет намерение подразумевать конкретный порядок, тип, хронологию, иерархию или ранжирование (например) относительно сервера, и их использование не имеет намерение (непосредственно) подразумевать то, что "второй сервер" должен обязательно существовать в любой данной ситуации. Дополнительно, как пояснено в данном документе в других контекстах, ссылка на "первый" элемент и "второй" элемент не исключает того, что два элемента представляют собой идентичный фактический элемент реального мира. Таким образом, например, в некоторых случаях, "первый" сервер и "второй" сервер могут представлять собой идентичные программные и/или аппаратные компоненты, в других случаях они могут представлять собой различные программные и/или аппаратные компоненты.
[51] Реализации настоящей технологии имеют по меньшей мере одну из вышеуказанных целей и/или аспектов, но не обязательно имеют все из них. Следует понимать, что некоторые аспекты настоящей технологии, которые получены в результате попытки достигать вышеуказанной цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, не изложенным конкретно в данном документе.
[52] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии должны становиться очевидными из нижеприведенного описания, прилагаемых чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
[53] Эти и другие признаки, аспекты и преимущества настоящей технологии должны становиться более понятными при рассмотрении нижеприведенного описания, прилагаемой формулы изобретения и прилагаемых чертежей, на которых:
[54] Фиг. 1 иллюстрирует схему примерной компьютерной системы для реализации конкретных вариантов осуществления систем и/или способов настоящей технологии.
[55] Фиг. 2 иллюстрирует сетевое вычислительное окружение, подходящее для использования с некоторыми реализациями настоящей технологии.
[56] Фиг. 3 иллюстрирует процедуру получения лидарных данных, выполняемую посредством процессора электронного устройства сетевого вычислительного окружения по фиг. 2, процедуру для приема данных 310 облака трехмерных точек, захваченных посредством датчика транспортного средства, присутствующего в сетевом вычислительном окружении по фиг. 2.
[57] Фиг. 4 иллюстрирует процедуру получения данных представления в форме сетки, выполняемую посредством процессора электронного устройства сетевого вычислительного окружения по фиг. 2, процедуру для приема данных представления в форме сетки окружающей области 250 вокруг транспортного средства, присутствующего в сетевом вычислительном окружении по фиг. 2.
[58] Фиг. 5 иллюстрирует представление в форме сетки, используемое посредством процессора электронного устройства сетевого компьютерного окружения по фиг. 2 для определения присутствия объекта в окружающей области 250 вокруг транспортного средства, присутствующего в сетевом компьютерном окружении по фиг. 2, в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[59] Фиг. 6 иллюстрирует процесс для предварительной обработки, посредством процессора электронного устройства сетевого компьютерного окружения по фиг. 2, обучающих данных облака трехмерных точек, сформированных посредством второго датчика, установленного на транспортном средстве по фиг. 2, в качестве части обучения MLA, выполняемого посредством сервера сетевого компьютерного окружения по фиг. 2, в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[60] Фиг. 7 иллюстрирует схему процесса для формирования, посредством первой модели MLA, выполняемого посредством сервера сетевого компьютерного окружения по фиг. 2, трехмерного тензора, на основе предварительно обработанных обучающих данных облака трехмерных точек по фиг. 6, в качестве части обучения MLA, выполняемого посредством сервера сетевого компьютерного окружения по фиг. 2, в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[61] Фиг. 8 иллюстрирует схему процесса для формирования, посредством сервера 235 сетевого компьютерного окружения по фиг. 2, на основе столбца трехмерного тензора по фиг. 7, объединенного вектора, в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[62] Фиг. 9 иллюстрирует схему процесса для формирования, посредством второй модели MLA, выполняемого посредством сервера сетевого компьютерного окружения по фиг. 2, свернутого трехмерного тензора на основе множества тензоров, содержащих множество объединенных векторов по фиг. 8, в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[63] Фиг. 10 иллюстрирует схему процесса в ходе использования MLA, выполняемого посредством процессора электронного устройства сетевого компьютерного окружения по фиг. 2, в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[64] Фиг. 11 иллюстрирует визуальное представление окружающей области 250 вокруг транспортного средства по фиг. 2 с применяемым представлением в форме сетки, сформированным, посредством процессора электронного устройства сетевого компьютерного окружения по фиг. 2, в процессе в ходе использования по фиг. 10, в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[65] Фиг. 12 иллюстрирует блок-схему последовательности операций способа для определения присутствия объекта в окружающей области 250 вокруг транспортного средства, присутствующего в сетевом компьютерном окружении по фиг. 2, причем способ осуществляется в сетевом вычислительном окружении по фиг. 2, в соответствии с неограничивающими вариантами осуществления настоящей технологии.
Подробное описание изобретения
[66] Примеры и условный язык, изложенный в данном документе, преимущественно имеют намерение помогать читателю в понимании принципов настоящей технологии, а не ограничивать ее объем такими конкретно изложенными примерами и условиями. Следует принимать во внимание, что специалисты в данной области техники могут разрабатывать различные компоновки, которые, хотя и не описаны или показаны явно в данном документе, тем не менее, осуществляют принципы настоящей технологии и включаются в пределы ее сущности и объема.
[67] Кроме того, в качестве помощи в понимании, нижеприведенное описание может описывать относительно упрощенные реализации настоящей технологии. Специалисты в данной области техники должны понимать, что различные реализации настоящей технологии могут иметь большую сложность.
[68] В некоторых случаях, также может быть изложено то, что считается полезными примерами модификаций настоящей технологии. Это осуществляется просто в качестве помощи в понимании и, кроме того, не должно не задавать объем или излагать ограничения настоящей технологии. Эти модификации не представляют собой исчерпывающий список, и специалисты в данной области техники могут вносить другие модификации при одновременном пребывании в пределах объема настоящей технологии. Дополнительно, если примеры модификаций не изложены, не следует интерпретировать это таким образом, что модификации невозможны, и/или таким образом, что то, что описывается, представляет собой единственный способ реализации этого элемента настоящей технологии.
[69] Кроме того, все утверждения в данном документе, излагающие принципы, аспекты и реализации технологии, а также их конкретные примеры, имеют намерение охватывать их конструктивные и функциональные эквиваленты независимо от того, являются они известными в настоящее время или разрабатываются в будущем. Таким образом, например, специалисты в данной области техники должны признавать, что блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, осуществляющей принципы настоящей технологии. Аналогично, следует принимать во внимание, что все блок-схемы последовательности операций, блок-схемы, схемы переходов состояния, псевдокод и т.п. представляют различные процессы, которые могут представляться большей частью на машиночитаемых носителях, и в силу этого выполняются посредством компьютера или процессора, независимо от того, показан или нет в явной форме такой компьютер или процессор.
[70] Функции различных элементов, показанных на чертежах, включающих в себя все функциональные блоки, помеченные как "процессор", могут предоставляться с помощью специализированных аппаратных средств, а также аппаратных средств, допускающих выполнение программного обеспечения, в ассоциации с надлежащим программным обеспечением. При предоставлении посредством процессора, функции могут предоставляться посредством одного специализированного процессора, посредством одного совместно используемого процессора или посредством множества отдельных процессоров, некоторые из которых могут совместно использоваться. Кроме того, явное использование термина "процессор" или "контроллер" не должно истолковываться как означающее исключительно аппаратные средства, допускающие выполнение программного обеспечения, и может неявно включать в себя, без ограничений, аппаратные средства процессора цифровых сигналов (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянное запоминающее устройство (ROM) для сохранения программного обеспечения, оперативное запоминающее устройство (RAM) и энергонезависимое устройство хранения. Также могут быть включены другие аппаратные средства, традиционные и/или специализированные.
[71] Программные модули или просто модули, которые подразумеваются как программные, могут представляться в данном документе в качестве любой комбинации элементов блок-схемы последовательности операций способа или других элементов, указывающих выполнение этапов процесса, и/или текстового описания. Такие модули могут выполняться посредством аппаратных средств, которые показаны явно или неявно.
[72] С учетом этих основных принципов, далее рассматриваются некоторые неограничивающие примеры, чтобы иллюстрировать различные реализации аспектов настоящей технологии.
[73] При обращении первоначально к фиг. 1, показана компьютерная система 100, подходящая для использования с некоторыми реализациями настоящей технологии, причем компьютерная система 100 содержит различные аппаратные компоненты, включающие в себя один или более одно- или многоядерных процессоров, совместно представленных посредством процессора 110, твердотельный накопитель 120, запоминающее устройство 130, которое может представлять собой оперативное запоминающее устройство или любой другой тип запоминающего устройства. Связь между различными компонентами компьютерной системы 100 может осуществляться посредством одной или более внутренних и/или внешних шин (не показаны) (например, посредством PCI-шины, универсальной последовательной шины, шины по стандарту IEEE1394 Firewire, шины SCSI, шины Serial ATA и т.д.), с которыми электронно соединяются различные аппаратные компоненты. Согласно вариантам осуществления настоящей технологии, твердотельный накопитель 120 сохраняет программные инструкции, подходящие для загрузки в запоминающее устройство 130 и выполняемые посредством процессора 110 для определения присутствия объекта. Например, программные инструкции могут представлять собой часть управляющего приложения транспортного средства, выполняемого посредством процессора 110. Следует отметить, что компьютерная система 100 может иметь дополнительные и/или необязательные компоненты (не проиллюстрированы), такие как модули сетевой связи, модули локализации и т.п.
[74] Фиг. 2 иллюстрирует сетевое компьютерное окружение 200, подходящее для использования с некоторыми вариантами осуществления систем и/или способов настоящей технологии. Сетевое компьютерное окружение 200 содержит электронное устройство 210, ассоциированное с транспортным средством 220 или ассоциированное с пользователем (не проиллюстрирован), который может управлять транспортным средством 220, сервер 235, поддерживающий связь с электронным устройством 210 через сеть 245 связи (например, через Интернет и т.п., как подробнее описывается ниже в данном документе). Необязательно, сетевое компьютерное окружение 200 также может включать в себя GPS-спутник (не проиллюстрирован), передающий и/или принимающий GPS-сигнал в/из электронного устройства 210. Следует понимать, что настоящая технология не ограничена GPS и может использовать технологию позиционирования, отличную от GPS. Следует отметить, что GPS-спутник может вообще опускаться.
[75] Транспортное средство 220, с которым ассоциировано электронное устройство 210, может содержать любое туристическое или перевозное транспортное средство, такое как личный или коммерческий автомобиль, грузовик, мотоцикл и т.п. Транспортное средство может представлять собой управляемое пользователем транспортное средство или транспортное средство без водителя. Следует отметить, что конкретные параметры транспортного средства 220 не являются ограничивающими, причем эти конкретные параметры включают в себя: производителя транспортных средств, модель транспортного средства, год изготовления транспортного средства, вес транспортного средства, габариты транспортного средства, распределение веса транспортного средства, площадь поверхности транспортного средства, высоту транспортного средства, тип приводной передачи (например, 2x или 4x), тип шин, тормозную систему, топливную систему, пробег, идентификационный номер транспортного средства и рабочий объем двигателя.
[76] Реализация электронного устройства 210 не ограничена конкретным образом, но в качестве примера, электронное устройство 210 может реализовываться как блок управления двигателем транспортного средства, CPU транспортного средства, навигационное устройство транспортного средства (например, навигационное устройство транспортного средства TomTom™, навигационное устройство транспортного средства Garmin™), планшетный компьютер, персональный компьютер, встроенный в транспортное средство 220, и т.п. Таким образом, следует отметить, что электронное устройство 210 может быть или не быть постоянно ассоциировано с транспортным средством 220. Дополнительно или альтернативно, электронное устройство 210 может реализовываться в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон или радиотелефон). В конкретных вариантах осуществления, электронное устройство 210 имеет дисплей 270.
[77] Электронное устройство 210 может содержать часть или все компоненты компьютерной системы 100, проиллюстрированной на фиг. 1. В конкретных вариантах осуществления, электронное устройство 210 представляет собой бортовое компьютерное устройство и содержит процессор 110, твердотельный накопитель 120 и запоминающее устройство 130. Другими словами, электронное устройство 210 содержит аппаратные средства и/или программное обеспечение, и/или микропрограммное обеспечение либо комбинацию вышеозначенного для определения присутствия объекта вокруг транспортного средства 220, как подробнее описано ниже.
[78] В соответствии с неограничивающими вариантами осуществления настоящей технологии электронное устройство 210 дополнительно содержит или имеет доступ к: первому датчику 230, выполненному с возможностью захватывать изображение окружающей области 250, и второму датчику 240, выполненному с возможностью захватывать данные облака трехмерных точек окружающей области 250. Первый датчик 230 и второй датчик 240 функционально соединяются с процессором 110 для передачи такой захваченной информации в процессор 110 для ее обработки, как подробнее описывается ниже в данном документе.
[79] В конкретном неограничивающем примере, первый датчик 230 содержит камеру. То, как камера реализуется, не ограничено конкретным образом. Например, в конкретных неограничивающих вариантах осуществления настоящей технологии, камера может реализовываться как монокамера с разрешением, достаточным для того, чтобы обнаруживать объекты на предварительно определенных расстояниях приблизительно до 30 м (хотя камеры с другими разрешениями и дальностями находятся в пределах объема настоящего раскрытия сущности). Камера может монтироваться в салоне, в верхнем участке ветрового стекла транспортного средства 220, но другие местоположения находятся в пределах объема настоящего раскрытия сущности, в том числе заднее окно, боковые окна, передний капот, крыша, решетка радиатора или передний бампер транспортного средства 220. В некоторых неограничивающих вариантах осуществления настоящей технологии, первый датчик 230 может монтироваться в выделенном кожухе (не проиллюстрирован), установленного на крыше транспортного средства 220.
[80] В некоторых неограничивающих вариантах осуществления настоящей технологии, первый датчик 230 может реализовываться как множество камер. Например, множество камер могут иметь достаточное число камер для того, чтобы захватывать окружающее/панорамное изображение окружающей области 250.
[81] В некоторых вариантах осуществления настоящей технологии, камера (либо одна или более камер, которые составляют реализацию первого датчика 230) выполнена с возможностью захватывать предварительно определенный участок окружающей области 250 вокруг транспортного средства 220. В некоторых вариантах осуществления настоящей технологии, камера выполнена с возможностью захватывать изображение (или последовательность изображений), которое представляет приблизительно 90 градусов окружающей области 250 вокруг транспортного средства 220, т.е. вдоль пути перемещения транспортного средства 220.
[82] В других вариантах осуществления настоящей технологии, камера выполнена с возможностью захватывать изображение (или последовательность изображений), которое представляет приблизительно 180 градусов окружающей области 250 вокруг транспортного средства 220, т.е. вдоль пути перемещения транспортного средства 220. В еще дополнительных вариантах осуществления настоящей технологии, камера выполнена с возможностью захватывать изображение (или последовательность изображений), которое представляет приблизительно 360 градусов окружающей области 250 вокруг транспортного средства 220, т.е. вдоль пути перемещения транспортного средства 220 (другими словами, окружающую область полностью вокруг транспортного средства 220).
[83] В конкретном неограничивающем примере, первый датчик 230 может быть реализован в качестве камеры, которая может иметь тип, предлагаемый компанией FLIR Integrated Imaging Solutions Inc., 12051 Riverside Way, Ричмонд, BC, V6W 1K7, Канада. Следует четко понимать, что первый датчик 230 может реализовываться в любом другом подходящем оборудовании.
8
[84] В конкретном неограничивающем примере, второй датчик 240 содержит (лидарный) измерительный прибор на основе оптического обнаружения и дальнометрии (или сокращенно лидар). Лидар означает оптическое обнаружение и дальнометрию. Предполагается, что специалисты в данной области техники должны понимать функциональность лидарного измерительного прибора, но вкратце, передающее устройство (не проиллюстрировано) второго датчика 240, реализованного в качестве лидара, отправляет лазерный импульс, и световые частицы (фотоны) рассеиваются обратно в приемное устройство (не проиллюстрировано) второго датчика 240, реализованного в качестве лидарного измерительного прибора. Фотоны, которые возвращаются в приемное устройство, собираются с помощью телескопа и подсчитываются в качестве функции от времени. С использованием скорости света (~3×10 м/с) процессор 110 затем может вычислять то, насколько далеко перемещены фотоны (при полном обходе). Фотоны могут рассеиваться с отражением от многих различных объектов, окружающих транспортное средство 220, таких как другие частицы (аэрозоли или молекулы) в атмосфере, другой автомобиль, стационарные объекты или потенциальные преграды перед транспортным средством 220.
[85] В конкретном неограничивающем примере, второй датчик 240 может реализовываться как лидарный датчик, который может иметь тип, предлагаемый компанией Velodyne LiDAR, Inc. 5521 Hellyer Avenue, Сан-Хосе, CA 95138, США. Следует четко понимать, что второй датчик 240 может реализовываться в любом другом подходящем оборудовании.
[86] В некоторых вариантах осуществления настоящей технологии, второй датчик 240 может реализовываться как множество лидарных датчиков, к примеру, как три, например, или любое другое подходящее число. В некоторых вариантах осуществления настоящей технологии, второй датчик 240 (независимо от того, реализован он в качестве одного лидарного датчика либо нескольких лидарных датчиков) может размещаться в вышеуказанном кожухе (не проиллюстрирован отдельно), расположенном на крыше транспортного средства 220.
[87] В тех вариантах осуществления настоящей технологии, в которых второй датчик 240 реализуется как несколько лидарных датчиков, размещенных в кожухе (не проиллюстрирован), пространственное размещение нескольких лидарных датчиков может проектироваться с учетом конкретной технической конфигурации нескольких лидарных датчиков, конфигурации кожуха, погодных условий области, в которой должно использоваться транспортное средство 220 (к примеру, частый дождь, снег и другие элементы), и т.п.
[88] В некоторых вариантах осуществления настоящей технологии, первый датчик 230 и второй датчик 240 калибруются таким образом, что для изображения, захваченного посредством первого датчика 230, и облака трехмерных точек, захваченного посредством второго датчика 240, процессор 110 выполнен с возможностью идентифицировать данную область изображения, которая соответствует данной области облака трехмерных точек. Эта калибровка может выполняться во время изготовления и/или настройки транспортного средства 220. Альтернативно, в любое подходящее время после этого; или, другими словами, калибровка может выполняться во время модернизации транспортного средства 220 за счет первого датчика 230 и второго датчика 240 в соответствии с неограничивающими вариантами осуществления настоящей технологии, предполагаемыми в данном документе. Альтернативно, калибровка может выполняться во время оснащения транспортного средства 220 первым датчиком 230 и вторым датчиком 240 в соответствии с неограничивающими вариантами осуществления настоящей технологии, предполагаемыми в данном документе.
[89] В некоторых неограничивающих вариантах осуществления настоящей технологии, транспортное средство 220 может включать в себя дополнительные датчики (не проиллюстрированы), такие как радары и т.п.
[90] В некоторых вариантах осуществления настоящей технологии, сеть 245 связи представляет собой Интернет. В альтернативных неограничивающих вариантах осуществления, сеть 245 связи может реализовываться как любая подходящая локальная вычислительная сеть (LAN), глобальная вычислительная сеть (WAN), частная сеть связи и т.п. Следует четко понимать, что реализации для сети связи предназначаются только для целей иллюстрации. То, как реализуется линия связи (без отдельной ссылки с номером) между электронным устройством 210 и сетью 245 связи, должно зависеть, в числе прочего, от того, как реализуется электронное устройство 210. Просто в качестве примера, а не в качестве ограничения, в тех вариантах осуществления настоящей технологии, в которых электронное устройство 210 реализуется как устройство беспроводной связи, такое как смартфон или навигационное устройство, линия связи может реализовываться как линия беспроводной связи. Примеры линий беспроводной связи включают в себя, но не только, сетевую 3G-линию связи, сетевую 4G-линию связи и т.п. Сеть 245 связи также может использовать беспроводное соединение с сервером 235.
[91] В некоторых вариантах осуществления настоящей технологии, сервер 235 реализуется как традиционный компьютер-сервер и может содержать часть или все компоненты компьютерной системы 1 по фиг. 1. В одном неограничивающем примере, сервер 235 реализуется как сервер Dell™ PowerEdge™ под управлением операционной системы Windows Server™ Microsoft™, но также может реализовываться в любых других подходящих аппаратных средствах, программном обеспечении и/или микропрограммном обеспечении либо в комбинации вышеозначенного. В проиллюстрированных неограничивающих вариантах осуществления настоящей технологии, сервер представляет собой один сервер. В альтернативных неограничивающих вариантах осуществления настоящей технологии (не показаны), функциональность сервера 235 может распределяться и может реализовываться через несколько серверов.
[92] В некоторых неограничивающих вариантах осуществления настоящей технологии, процессор 110 электронного устройства 210 может поддерживать связь с сервером 235, чтобы принимать одно или более обновлений. Обновления могут представлять собой, но не только, обновления программного обеспечения, обновления карт, обновления маршрутов, обновления прогноза погоды и т.п. В некоторых вариантах осуществления настоящей технологии, процессор 110 также может быть выполнен с возможностью передавать на сервер 235 определенные рабочие данные, такие как проезжаемые маршруты, данные трафика, данные рабочих характеристик и т.п. Некоторые или все данные, передаваемые между транспортным средством 220 и сервером 235, могут шифроваться и/или анонимизироваться.
[93] В описании, предусмотренном в настоящем документе, когда определенные процессы и этапы способа выполняются посредством процессора 110 электронного устройства 210, следует четко понимать, что такие процессы и этапы способа могут выполняться только посредством процессора 110, совместно (т.е. распределяться) между процессором 110 и сервером 235 либо только посредством сервера 235. Другими словами, когда настоящее описание упоминает процессор 110 или электронное устройство 210, выполняющее определенные процессы или этапы способа, это должно явно охватывать процессы или этапы, выполняемые посредством процессора 110, посредством сервера 235 либо объединенно выполняемые посредством процессора 110 и сервера 235.
[94] Со ссылкой на фиг. 3, проиллюстрирован процесс 300 (также называемый "процедурой 300 получения лидарных данных"), выполняемый посредством процессора 110, для приема данных 310 облака трехмерных точек, захваченных посредством второго датчика 240.
[95] В некоторых неограничивающих вариантах осуществления настоящей технологии, процесс приема данных 310 облака трехмерных точек может выполняться непрерывно. В других вариантах осуществления настоящей технологии, процесс приема данных 310 облака трехмерных точек может реализовываться с предварительно определенными интервалами, к примеру, каждые 2 миллисекунды или с любым другим подходящим временным интервалом.
[96] Чтобы выполнять процедуру 300 получения лидарных данных, по мере того, как транспортное средство 220 движется по дороге 302, электронное устройство 210 выполнено с возможностью получать с помощью второго датчика 240 данные 305 датчиков, представляющие объекты в окружающей области 250 транспортного средства 220. Транспортное средство 220 движется по дороге 302, и электронное устройство 210 выполнено с возможностью инструктировать второму датчику 240 получать данные относительно окружающей области 250 транспортного средства 220 в различных местоположениях на дороге 302.
[97] Электронное устройство 210 принимает данные 305 датчиков, представляющие объекты в окружающей области 250 транспортного средства 220 в различных местоположениях на дороге 302, в форме облака 312 лидарных точек.
[98] Вообще говоря, облако 312 лидарных точек представляет собой набор лидарных точек в форме облака трехмерных точек, в котором данная лидарная точка 314 представляет собой точку в трехмерном пространстве, указывающую по меньшей мере участок поверхности данного объекта на или вокруг дороги 302. В некоторых неограничивающих вариантах осуществления настоящей технологии, облако 312 лидарных точек может организовываться слоями, причем точки в каждом слое также организуются эллиптическим способом, и считается, что начальные точки всех эллиптических слоев совместно используют аналогичную ориентацию.
1
2
N
[99] Данная лидарная точка 314 в облаке 312 лидарных точек ассоциирована с лидарными параметрами 316 (проиллюстрированы на фиг. 3 как L, L и L). В качестве неограничивающего примера, лидарные параметры 316 могут включать в себя: расстояние, интенсивность и угол, а также другие параметры, связанные с информацией, которая может получаться посредством второго датчика 240. Второй датчик 240 может получать облако лидарных точек на каждом временном шаге t в то время, когда транспортное средство 220 движется, за счет этого получая набор данных 310 облака трехмерных точек.
[100] Предполагается, что в некоторых неограничивающих вариантах осуществления настоящей технологии, транспортное средство 220 также может получать изображения с помощью первого датчика 230 и пополнять облако 312 лидарных точек данными изображений, полученными из первого датчика 230. Процесс для пополнения облака 312 лидарных точек данными изображений, полученными посредством первого датчика 230, описывается в находящейся в совместном владении заявке на патент, озаглавленной "METHODS AND SYSTEMS FOR COMPUTER-BASED DETERMINING OF PRESENCE OF OBJECTS" с присвоенным номером заявки 16/369865, поданной в Бюро по регистрации патентов и торговых марок США 29 марта 2019 года и имеющей адвокатскую выписку 102351-002, содержимое которой полностью содержится в данном документе по ссылке.
[101] Со ссылкой на фиг. 4, проиллюстрировано схематичное представление сетки 400, реализованной в соответствии с неограничивающими вариантами осуществления настоящей технологии. На фиг. 4, сетка 400 проиллюстрирована наложенной поверх окружающей области 250 вокруг транспортного средства 220. В некоторых неограничивающих вариантах осуществления настоящей технологии, сетка 400 центрируется на транспортном средстве 220 и перемещается с транспортным средством 220 по мере того, как транспортное средство 220 перемещается по дороге 302.
[102] В некоторых вариантах осуществления настоящей технологии, процесс получения сетки 400 выполняется непрерывным или практически непрерывным способом. Например, процесс получения сетки 400 может выполняться каждый раз, когда разрешается посредством физических ограничений (таких как скорость обработки) электронного устройства 210. В других неограничивающих вариантах осуществления настоящей технологии, процесс получения сетки 400 может выполняться с предварительно определенными временными интервалами, к примеру, каждые 2 мс, каждые 5 мс и т.п.
[103] В некоторых неограничивающих вариантах осуществления настоящей технологии, сетка 400 содержит информацию относительно других объектов, расположенных в окружающей области 250. На фиг. 4, проиллюстрирован один экземпляр другого объекта 404. В некоторых неограничивающих вариантах осуществления настоящей технологии, другой объект 404 может представлять собой статический объект или, другими словами, объект, который не перемещается (или не предназначен для перемещения). Другими словами, другой объект 404 может быть стационарным, относительно которого перемещается транспортное средство 220, но который не перемещается относительно Земли.
[104] Пример другого объекта 404, который является стационарным, включает в себя (но не ограничен): дом, многоквартирное здание, дерево, экранирующее ограждение, приподнятый тротуар, приподнятую разделительную полосу с перегородкой на многополосной дороге, припаркованное транспортное средство и т.п. В некоторых неограничивающих вариантах осуществления настоящей технологии, другой объект 404 (в качестве примера множества других объектов, присутствующих потенциально в окружающей области 250) дополнительно может включать в себя подвижный (т.е. нестатический) объект.
[105] В некоторых неограничивающих вариантах осуществления настоящей технологии, сетка 400 содержит сетку занятости. Вообще говоря, сетка занятости представляет собой дискретизацию данных окружения дороги в ячейки фиксированного размера, каждая из которых содержит индикатор вероятности того, что данная ячейка занята. Сетка занятости представляет собой, например, базовую структуру данных, которая используется в качестве альтернативы сохранению полных облаков точек.
[106] В соответствии с неограничивающими вариантами осуществления настоящей технологии, сетка 400 содержит множество ячеек 402. Данная ячейка 406 из множества ячеек 402 ассоциирована с размером ячейки. В конкретном неограничивающем варианте осуществления настоящей технологии, размер ячейки для данной ячейки 406 может представлять площадь в 20 см x 20 см. Тем не менее, следует отметить, что в альтернативных неограничивающих вариантах осуществления настоящей технологии, размер данной ячейки 406 из множества ячеек 402 может отличаться, к примеру, может быть меньшим или большим (например, 5 см x 5 см, 50 см x 50 см, 1 м x 1 м и т.п.).
[107] В соответствии с неограничивающими вариантами осуществления настоящей технологии, данная ячейка 406 (а также другие ячейки из множества ячеек 402) сохраняет индикатор расстояния до ближайшего объекта (в этом примере, другого объекта 404). В конкретном неограничивающем варианте осуществления настоящей технологии, индикатор расстояния до ближайшего объекта реализуется как индикатор расстояния до ближайшей ячейки с спрогнозированным присутствием другого проекта 404. В некоторых конкретных неограничивающих вариантах осуществления настоящей технологии, индикатор расстояния до ближайшего объекта реализуется как спрогнозированное расстояние, сформированное посредством алгоритма 280 машинного обучения (MLA) (проиллюстрирован на фиг. 2), обученного посредством сервера 235 и выполняемого посредством процессора 110 электронного устройства 210.
[108] Следует отметить, что в проиллюстрированном варианте осуществления по фиг. 4, другой объект 404 ассоциирован с первой ячейкой 410, второй ячейкой 420, третьей ячейкой 430 и четвертой ячейкой 440. Другими словами, можно сказать, что если сформированы точки в данных точек трехмерного облака, сформированных посредством второго датчика 240, представляющие окружающую область 250, то точки, ассоциированные с другим объектом 404, должны быть расположены по меньшей мере в первой ячейке 410, второй ячейке 420, третьей ячейке 430 и четвертой ячейке 440.
[109] Как лучше всего проиллюстрировано на фиг. 5, каждая данная ячейка 406 из множества ячеек 402 заполняется параметром 500 расстояния до преграды, указывающим расстояние до ближайшего объекта (например, другого объекта 404). Таким образом, в некоторых неограничивающих вариантах осуществления настоящей технологии, параметр 500 расстояния до преграды представляет расстояние до ближайшей ячейки с объектом, таким как другой объект 404. В проиллюстрированном варианте осуществления, расстояние представляется в индикаторе числа ячеек, которые находятся между текущей ячейкой и ячейкой (которая может представлять собой одну из множества ячеек), в которой расположен другой объект 404.
[110] В связи с этим, значение параметра 500 расстояния до преграды первой ячейки 410, второй ячейки 420, третьей ячейки 430 и четвертой ячейки 440 равно нулю. Другими словами, значение параметра 500 расстояния до преграды первой ячейки 410, второй ячейки 420, третьей ячейки 430 и четвертой ячейки 440 представляет расстояние до ближайшей ячейки с объектом в нуль либо, другими словами, то, что первая ячейка 410, вторая ячейка 420, третья ячейка 430 и четвертая ячейка 440 непосредственно содержат объект (т.е. другой объект 404).
[111] Справедливо и то, что ячейка, расположенная рядом с одной из первой ячейки 410, второй ячейки 420, третьей ячейки 430 и четвертой ячейки 440 (к примеру, проиллюстрированная посредством данной ячейки 502), имеет значение параметра 500 расстояния до преграды в единицу (1), указывающее то, что расстояние до ячейки с объектом (т.е. другим объектом 404) составляет одну ячейку. Справедливо и то, что ячейка, расположенная рядом с одной из ячеек, расположенных рядом с первой ячейкой 410, второй ячейкой 420, третьей ячейкой 430 и четвертой ячейкой 440 (к примеру, проиллюстрированная посредством данной ячейки 504), имеет значение параметра 500 расстояния до преграды в два (2), указывающее то, что расстояние до ячейки с объектом (т.е. другим объектом 404) составляет две ячейки. В качестве другого примера, другая ячейка, расположенная рядом с ячейками, упомянутыми в предыдущем предложении, имеющими расстояние в два (2), к примеру, данная ячейка 506, например, имеет значение параметра 500 расстояния до преграды в три (3), указывающее то, что расстояние до ячейки с объектом (т.е. другим объектом 404) составляет три ячейки.
[112] Следует отметить, что то, как вычисляется значение параметра 500 расстояния до преграды, выражаемого в числе ячеек, до ближайшей ячейки с объектом, с точки зрения числа ячеек, не ограничено конкретным образом. Например, оно может указывать кратчайший путь до ближайшей ячейки с объектом, будь то по прямой линии (слева, справа, сверху, снизу), по диагонали либо как комбинация означенного.
[113] Даже если в проиллюстрированном примере, значение параметра 500 расстояния до преграды выражается в числе ячеек до ближайшей ячейки с объектом, это не обязательно должно иметь место в каждом неограничивающем варианте осуществления настоящей технологии. В альтернативных неограничивающих вариантах осуществления настоящей технологии, параметр 500 расстояния до преграды может выражаться как расстояние в метрах и т.п.
[114] Как упомянуто выше, в некоторых неограничивающих вариантах осуществления настоящей технологии, соответствующее значение параметра 500 расстояния до преграды формируется, для каждой ячейки представления 400 в форме сетки, посредством процессора 110, выполняющего MLA 280, как подробнее описывается со ссылкой на фиг. 6-10.
[115] В неограничивающих вариантах осуществления настоящей технологии, MLA 280 может быть основан на нейронных сетях (NN), сверточных нейронных сетях (CNN), моделях в виде дерева решений, MLA с построением деревьев решений на основе градиентного бустинга, MLA на основе обучения на базе правил ассоциирования, MLA на основе глубокого обучения, MLA на основе индуктивного логического программирования, MLA на основе методов опорных векторов, MLA на основе кластеризации, байесовских сетях, MLA на основе стимулированного обучения, MLA на основе обучения по представлениям, MLA на основе обучения на базе подобия и показателей, MLA на основе обучения на базе разреженных словарей, MLA на основе генетических алгоритмов и т.п. Для обучения MLA, 280 сервер 235 может использовать подход на основе контролируемого обучения без отступления от объема настоящей технологии.
[116] Вообще говоря, можно сказать, что сервер 235 и/или процессор 110 электронного устройства 210 выполняют два соответствующих процесса в отношении MLA 280. Первый процесс из двух процессов представляет собой процесс обучения, выполняемый посредством сервера 235 и/или процессора 110 электронного устройства 210, при котором сервер 235 выполнен с возможностью обучать MLA 280, на основе обучающего набора данных, на предмет необходимости определять присутствие объекта в окружающей области 250 транспортного средства 220. Второй процесс представляет собой процесс в ходе использования, выполняемый посредством сервера 235 и/или процессора 110 электронного устройства 210, при котором процессор 110 выполняет такой обученный MLA 280 для определения присутствия препятствия в окружающей области 250 транспортного средства 220, в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[117] Согласно неограничивающим вариантам осуществления настоящей технологии, как процесс обучения, так и процесс в ходе использования могут выполняться посредством сервера 235 и/или процессора 110 электронного устройства 210 в сетевом вычислительном окружении 200, описанном выше со ссылкой на фиг. 2.
[118] В неограничивающих вариантах осуществления настоящей технологии, MLA 280 содержит две модели: первую модель (например, первую модель 700, описанную ниже со ссылкой на фиг. 7) и вторую модель (например, вторую модель 900, описанную ниже со ссылкой на фиг. 9). Соответственно, сервер 235 и/или процессор 110 электронного устройства 210 могут быть выполнены с возможностью обучать как первую модель 700, так и вторую модель 900 на основе одного набора обучающих данных. Тем не менее, также предполагается, что отдельные обучающие наборы могут использоваться.
Процесс обучения
[119] Как упомянуто выше, сервер 235 выполнен с возможностью обучать MLA 280 на основе обучающего набора данных, процесс формирования которого описывается ниже. Описание, представленное ниже, может применяться с необходимыми изменениями к варианту осуществления, в котором процессор 110 электронного устройства 210 выполняет обучение.
[120] Снова ссылаясь на фиг. 2, согласно неограничивающим вариантам осуществления настоящей технологии, процессор 110 выполнен с возможностью принимать обучающие данные датчиков (не проиллюстрированы), например, из второго датчика 240 транспортного средства 220. Как упомянуто выше, обучающие данные датчиков могут приниматься в форме данных облака трехмерных точек (например, обучающих данных 602 облака трехмерных точек, описанных ниже со ссылкой на фиг. 6), содержащих множество обучающих облаков лидарных точек, представляющих объекты, расположенные в окружающей области 250 транспортного средства 220, и сформированных, посредством второго датчика 240, в различные моменты времени.
[121] Со ссылкой теперь на фиг. 6, проиллюстрирован процесс для предварительной обработки обучающих данных 602 облака трехмерных точек для формирования обучающего набора данных для обучения MLA 280, в соответствии с неограничивающими вариантами осуществления настоящей технологии. В этом отношении, обучающие данные 602 облака трехмерных точек включают в себя по меньшей мере одну трехмерную сцену окружающей области 250 транспортного средства 220.
[122] В неограничивающих вариантах осуществления настоящей технологии, процессор 110 электронного устройства 210 выполнен с возможностью применять трехмерную сетку 620 к обучающим данным 602 облака трехмерных точек, за счет этого формируя предварительно обработанные обучающие данные 604 облака трехмерных точек.
[123] Трехмерная сетка 620 ассоциирована с горизонтальным шагом 630 и вертикальным шагом 640. Горизонтальный шаг 630, например, может составлять 10 см. В некоторых неограничивающих вариантах осуществления настоящей технологии, размер горизонтального шага 630 выбирается таким образом, чтобы находить баланс между эффективностью обработки и точностью вывода. Например, меньшее значение для горизонтального шага 630 должно приводить к лучшей точности, но к меньшей скорости обработки (с учетом идентичной мощности обработки процессора 110). Справедливо и то, что большее значение для горизонтального шага 630 должно приводить к менее точному результату, но к большей скорости обработки (с учетом идентичной мощности обработки процессора 110). Точное значение для горизонтального шага 630 может определяться оператором сервера 235 (без отдельной ссылки с номером).
[124] В конкретных неограничивающих вариантах осуществления настоящей технологии, горизонтальный шаг 630 может выбираться таким образом, что он соответствует размеру ячейки для данной ячейки 406 сетки 400, описанной выше со ссылкой на фиг. 4.
[125] Вертикальный шаг 640, например, может составлять 0,5 метров. Точное значение вертикального шага 640 может выбираться, например, оператором сервера 235 на основе нескольких соображений. Например, конкретный вариант применения способов и процессов описан в данном документе. В качестве примера, в тех вариантах осуществления настоящей технологии, в которых цель состоит в том, чтобы определять объект, который может представлять собой препятствие (такое как человек, другое транспортное средство и т.п., которое является сравнимым по высоте с транспортным средством 220), вертикальный шаг 640 в 0,5 метров может быть подходящим. В других вариантах осуществления настоящей технологии, в которых цель состоит в том, чтобы определять объект, который находится ближе к земле (такой как, например, разметка, бордюр и т.п.), вертикальный шаг 640 в 0,1 метра может быть подходящим.
[126] Таким образом, предварительно обработанные обучающие данные 604 облака трехмерных точек представляют трехмерную структуру данных, имеющую множество ячеек 650, при этом каждая трехмерная точка ассоциирована с соответствующей ячейкой. В проиллюстрированных вариантах осуществления, данная ячейка 660 из множества ячеек 650 ассоциирована с данными точками 662, 664 и 666. Процессор 110 затем выполнен с возможностью передавать, через сеть 245 связи, предварительно обработанные обучающие данные 604 облака трехмерных точек на сервер 235 для последующей обработки.
[127] Дополнительно, согласно неограничивающим вариантам осуществления настоящей технологии, сервер 235 может быть выполнен с возможностью отправлять предварительно обработанные обучающие данные 604 облака трехмерных точек человеку-оценщику 680. Человек-оценщик 680 затем может назначать сформированную оценщиком метку 690 каждой из множества ячеек 650.
[128] Следует четко понимать, что согласно неограничивающим вариантам осуществления настоящей технологии, человек-оценщик 680 может содержать множество людей-оценщиков.
[129] В неограничивающих вариантах осуществления настоящей технологии, каждое значение сформированной оценщиком метки 690, назначенной соответствующей одной из множества ячеек 650, указывает расстояние (например, в метрах или в числе ячеек) между этой ячейкой и ближайшей к ней другой ячейкой из множества ячеек 650, которые, как известно, содержат препятствие.
[130] Например, в проиллюстрированных вариантах осуществления по фиг. 6, данной ячейке 670 из множества ячеек 650 назначена, человеком-оценщиком 680, сформированная оценщиком метка 690, которая имеет значение в четыре (4), что должно означать то, что ближайшая, к данной ячейке 670 из множества ячеек 650, ячейка, содержащая препятствие, т.е. ячейка 672 расположена с разнесением в 4 ячейки от данной ячейки 670. Соответственно, ячейке 672 назначена сформированная оценщиком метка 690, имеющая значение в нуль (0).
[131] В некоторых неограничивающих вариантах осуществления настоящей технологии, сформированная оценщиком метка 690 может иметь значение, указывающее неопределенность в отношении того, содержит или нет другая данная одна из множества ячеек 650 препятствие: например, оно может составлять предварительно определенную константу, к примеру, 999 (также могут использоваться другие типы данных, например, символьные или строковые константы). Оценщик 680 может использовать это значение сформированной оценщиком метки 690, когда он, на основе предоставленных предварительно обработанных обучающих данных 604 облака трехмерных точек, не может уверенно приходить к заключению в отношении того, содержит другая данная ячейка препятствие или нет. Другими словами, препятствие, содержащееся в другой данной ячейке, может затемняться посредством другого (статического или динамического) объекта, либо препятствие может затеняться.
[132] Таким образом, в проиллюстрированных вариантах осуществления по фиг. 6, ячейке 677 из множества ячеек 650 назначена сформированная оценщиком метка 690, имеющая значение в предварительно определенную константу 999, что должно означать то, что предоставленные предварительно обработанные обучающие данные 604 облака трехмерных точек не являются достаточными для человека-оценщика 680, чтобы надежно приходить к заключению касательно того, содержит ячейка 677 препятствие или нет. В связи с этим, считается, что ячейка 677 потенциально содержит препятствие. Следовательно, ячейка 675, для которой ближайшая ячейка из множества ячеек 650, потенциально содержащая препятствие, представляет собой ячейку 677, помечается сформированной оценщиком меткой 690, имеющей значение в два (2).
[133] За счет этого, человек-оценщик 680 помечает каждую ячейку из множества ячеек 650 предварительно обработанных данных 604 облака трехмерных точек; и такие помеченные предварительно обработанные обучающие данные 604 облака трехмерных точек дополнительно обрабатываются посредством сервера 235.
Первая модель
[134] Со ссылкой на фиг. 7, проиллюстрирован процесс формирования, посредством первой модели 700, трехмерного тензора 704 на основе предварительно обработанных обучающих данных 604 облака трехмерных точек, согласно неограничивающим вариантам осуществления настоящей технологии. Вообще говоря, первая модель 700 выполнена с возможностью, посредством сервера 235, формировать, для каждой ячейки из множества ячеек 650, вектор признаков, представляющий точки, ассоциированные с ним.
1
2
n
1
2
n
[135] Например, в проиллюстрированных вариантах осуществления, данный вектор 706 признаков {p, p, …, p} представляет данные точки 662, 664 и 666, ассоциированные с данной ячейкой 660 из множества ячеек 650, где p, p, …, p являются множеством признаков, описывающих данные точки 662, 664 и 666.
1
2
n
[136] В некоторых неограничивающих вариантах осуществления настоящей технологии, множество признаков p, p, …, pданного вектора 706 признаков дополнительно могут включать в себя геометрические признаки, которые могут указывать, например, пространственную позицию каждой из данных точек 662, 664 и 666 относительно друг друга в пространстве ассоциированной данной ячейки 660.
2
n
[137] В дополнительных неограничивающих вариантах осуществления настоящей технологии, множество признаков p, …, p данного вектора 706 признаков дополнительно могут включать в себя признаки, указывающие геометрическую позицию каждой из данных точек 662, 664 и 666, ассоциированных с данной ячейкой 660 в предварительно обработанных обучающих данных 604 облака трехмерных точек. Например, геометрическая позиция каждой из данных точек 662, 664 и 666 может представляться посредством декартовых координат (x, y, z) в предварительно обработанных обучающих данных 604 облака трехмерных точек.
1
2
n
[138] В еще других неограничивающих вариантах осуществления настоящей технологии, множество признаков p, p, …, pданного вектора 706 признаков могут включать в себя дополнительные признаки, к примеру, признаки, указывающие силу света каждой из данных точек 662, 664 и 666.
1
2
n
[139] Таким образом, в неограничивающих вариантах осуществления настоящей технологии, поскольку данный вектор 706 признаков описывает, на основе множества признаков p, p, …, p, каждую из данных точек 662, 664 и 666, ассоциированных с данной ячейкой 660, сервер 235 выполнен с возможностью ассоциировать данный вектор 706 признаков с данной ячейкой 660 из множества ячеек 650.
[140] Посредством формирования, с использованием первой модели 700, вектора признаков для каждой из множества ячеек 650, сервер 235 за счет этого выполнен с возможностью формировать трехмерный тензор 704 на основе предварительно обработанных обучающих данных 604 облака трехмерных точек. Каждый элемент тензора 704 соответствует соответствующей одной из множества ячеек 650 предварительно обработанных данных 604 облака трехмерных точек и ассоциирован с соответствующим вектором признаков, сформированным посредством первой модели 700.
[141] В конкретных неограничивающих вариантах осуществления настоящей технологии, первая модель 700 представляет собой CNN, реализованную с PointNet-архитектурой.
[142] В неограничивающих вариантах осуществления настоящей технологии, сервер 235 дополнительно выполнен с возможностью формировать множество объединенных векторов на основе векторов признаков, ассоциированных с ячейками соответствующего столбца трехмерного тензора 704. Далее описывается то, как формируется объединенный вектор, для данного столбца 720 трехмерного тензора, со ссылкой на фиг. 8.
[143] Со ссылкой на фиг. 8, проиллюстрирован процесс для формирования объединенного вектора 820 на основе данного столбца 720 трехмерного тензора 704, согласно неограничивающим вариантам осуществления настоящей технологии.
1
2
n
1
2
n
1
2
n
i
1
1
1
2
2
2
m
m
m
j
[144] В вариантах осуществления по фиг. 8, каждая ячейка данного столбца 720 трехмерного тензора 704 ассоциирована с соответствующим вектором признаков. Например, ячейка 801 ассоциирована с вектором 802 признаков {p, p, …, p}, ячейка 803 ассоциирована с вектором 804 признаков {p, p, …, p}, и ячейка 805 ассоциирована с вектором 806 признаков {p, p, …, p}, где p является значением соответствующего признака, включенного в соответствующие векторы признаков, ассоциированные с ячейками данного столбца 720.
[145] В неограничивающих вариантах осуществления настоящей технологии, для того чтобы формировать объединенный вектор 820, сервер 235 выполнен с возможностью применять процедуру 800 объединения.
[146] Вообще говоря, процедура 800 объединения содержит математическую модель, выполненную с возможностью комбинировать, по данному столбцу 720, информацию, содержащуюся в ассоциированных ячейках 801, 803, …, 805.
[147] Например, процедура 800 объединения может быть выполнена с возможностью конкатенировать (в качестве примера, но также могут использоваться другие операции обработки), каждый вектор 802, 804, …, 806 признаков ассоциированных ячеек 801, 803, …, 805. Следовательно, процедура 800 объединения выводит объединенный вектор 820 следующим образом:
1
2
n
1
2
n
1
2
n
1
1
1
2
2
2
m
m
m
[148] {p, p, …, p, p, p, …, p, …, p, p, …, p} (уравнение 1)
[149] Следует отметить, что неограничивающие варианты осуществления настоящей технологии основаны на таком допущении, что данные, представленные посредством каждого вектора признаков, ассоциированного с данным столбцом 720, являются гомогенными по данному столбцу 720, что обеспечивает более широкий диапазон операций обработки, применимых посредством процедуры 800 объединения для формирования объединенного вектора 820, таких как суммирование, усреднение и т.п.
[150] После процесса, описанного выше со ссылкой на фиг. 8, сервер 235 выполнен с возможностью формировать, для каждого столбца трехмерного тензора 704, соответствующий объединенный вектор, за счет этого формируя модифицированный трехмерный тензор 904 (например, модифицированный трехмерный тензор 904, описанный ниже со ссылкой на фиг. 9). Таким образом, каждый элемент модифицированного тензора 904 представляет собой объединенный вектор, содержащий данные, извлекаемые из соответствующих векторов признаков, ассоциированных с соответствующими ячейками ассоциированного столбца трехмерного тензора 704.
Вторая модель
[151] Со ссылкой на фиг. 9, проиллюстрирован процесс для формирования, посредством второй модели 900, обучающего свернутого трехмерного тензора 906, согласно неограничивающим вариантам осуществления настоящей технологии.
[152] В неограничивающих вариантах осуществления настоящей технологии, вторая модель 900 выполнена с возможностью формировать обучающий свернутый трехмерный тензор 906 посредством свертки каждого элемента модифицированного трехмерного тензора 904 между собой. В этом смысле, при обработке данного объединенного вектора 820 модифицированного трехмерного тензора 904, вторая модель 900 "рассматривает" соседние объединенные векторы, например, один из множества соседних объединенных векторов 908, чтобы идентифицировать общие признаки между ними. За счет этого, вторая модель 900 выполнена с возможностью формировать, на основе объединенного вектора 820 и множества соседних объединенных векторов 908, соответствующий элемент 920 обучающего свернутого тензора 906.
[153] Соответствующий элемент 920 обучающего свернутого трехмерного тензора 906 характеризуется посредством пространственных координат (x, y, z), где (x, y) являются плоскими декартовыми координатами основания соответствующего элемента 920, и z указывает расстояние между соответствующим элементом 920 и ближайшим к нему элементом, содержащим препятствие.
[154] Такой сформированный обучающий свернутый трехмерный тензор 906 может представляться в двумерной форме, за счет этого формируя обучающую сетку (не проиллюстрирована), аналогичную сетке 400, проиллюстрированной на фиг. 4 и 5. В связи с этим, каждая ячейка обучающей сетки (не проиллюстрирована) характеризуется посредством плоских декартовых координат и параметра, указывающего расстояние до ближайшей ячейки, содержащей препятствие, причем параметр ассоциирован с соответствующим значением сформированной оценщиком метки 690.
[155] В конкретных неограничивающих вариантах осуществления настоящей технологии, вторая модель 900 представляет собой CNN с архитектурой "кодер-декодер". В этих вариантах осуществления, вторая модель 900, например, может представлять собой U-Net-модель.
[156] Следует четко понимать, что согласно неограничивающим вариантам осуществления настоящей технологии, на сервер 235 могут предоставляться обучающие данные 602 облака трехмерных точек, содержащие данные множества трехмерных сцен (к примеру, сотен, тысяч или сотен тысяч), сформированных посредством второго датчика 240, для каждой из которых сервер 235 выполнен с возможностью выполнять процесс обучения, как описано выше со ссылкой на фиг. 6-9, за счет этого обучая как первую модель 700, так и вторую модель 900, т.е. MLA 280, для определения параметра 500 расстояния до преграды для каждой из множества ячеек 402 сетки 400
Процесс в ходе использования
[157] Согласно неограничивающим вариантам осуществления настоящей технологии, процесс в ходе использования выполняется посредством процессора 110 электронного устройства 210, за счет чего процессор 110 выполнен с возможностью выполнять такой обученный MLA 280 для определения присутствия объекта в окружающей области 250 транспортного средства 220. Тем не менее, описание, представленное ниже, может применяться с необходимыми изменениями к реализациям, в которых процесс в ходе использования выполняется посредством сервера 235.
[158] Согласно неограничивающим вариантам осуществления настоящей технологии, процесс в ходе использования является практически аналогичным процессу обучения, описанному выше, поскольку процесс в ходе использования включает в себя стадии (i) предварительной обработки данных 310 облака трехмерных точек с использованием трехмерной сетки 620, (ii) формирования, посредством обученной первой модели 700, вектора признаков для каждой из множества ячеек 650, за счет этого формируя трехмерный тензор (не проиллюстрирован) (iii), формирования, на основе столбцов трехмерного тензора, соответствующих объединенных векторов с использованием процедуры 800 объединения, и (iv) формирования, посредством обученной второй модели 900, свернутого трехмерного тензора. Единственное отличие заключается в том, что процесс в ходе использования не включает в себя процедуру присваивания меток, поскольку она использована только для того, чтобы обучать MLA 280 на предмет необходимости определять присутствие объектов, что выполняется в процессе в ходе использования автоматически, посредством обученного MLA, как описано далее со ссылкой на фиг. 10.
[159] Со ссылкой теперь на фиг. 3 и 10, процессор 110 выполнен с возможностью принимать данные 305 датчиков, сформированные посредством второго датчика 240 в форме данных 310 облака трехмерных точек.
[160] Процессор 110 выполнен с возможностью выполнять обученный MLA 280, за счет этого формируя свернутый трехмерный тензор 1002. Дополнительно, обученный MLA 280 выполнен с возможностью прогнозировать, для каждого элемента свернутого трехмерного тензора, значение параметра 500 расстояния до преграды и ассоциированное значение доверительного уровня 1004.
[161] В неограничивающих вариантах осуществления настоящей технологии, данное значение доверительного уровня 1004 указывает то, как точно MLA 280 прогнозирует ассоциированное значение параметра 500 расстояния до преграды. Например, значения доверительного уровня 1004 могут варьироваться между 0 и 1, где, например, 0 означает то, что ассоциированное спрогнозированное значение параметра 500 расстояния до преграды не является надежным и, возможно, должно отбрасываться или повторно вычисляться. Соответственно, 1 означает то, что ассоциированное спрогнозированное значение параметра 500 расстояния до преграды является надежным и дополнительно может использоваться, посредством процессора 110, для определения присутствия препятствия в окружающей области 250 транспортного средства 200. На основе этого определения, процессор 110 дополнительно может быть выполнен с возможностью планировать траекторию транспортного средства 220 с учетом определенного препятствия.
[162] В некоторых неограничивающих вариантах осуществления настоящей технологии, процессор 110 может применять предварительно определенное пороговое значение (например, 0,7) для доверительного уровня 1004 таким образом, что все значения параметра 500 расстояния до преграды, имеющие ассоциированные значения доверительного уровня 1004 ниже предварительно определенного порогового значения, могут считаться ненадежными. Соответственно, все значения параметра 500 расстояния до преграды, имеющие ассоциированные значения доверительного уровня 1004, равные или большие предварительно определенного порогового значения, могут считаться надежными.
[163] Например, допустим, что в проиллюстрированных вариантах осуществления по фиг. 10, обученный MLA 280 прогнозирует, для данного элемента 1020 свернутого трехмерного тензора 1002, соответствующие значения параметра 500 расстояния до преграды и доверительного уровня в 0 и 1. Это означает то, что процессор 110, на основе этих значений, определяет препятствие в данном элементе 1020. Дополнительно, MLA 280 может также прогнозировать то, что другой данный элемент 1040 имеет ассоциированное значение параметра 500 расстояния до преграды и значение доверительного уровня равными 1 (т.е. отстоит на 1 элемент от данного элемента 1020) и 0,8.
[164] В некоторых неограничивающих вариантах осуществления настоящей технологии, определенные элементы свернутого трехмерного тензора 1002 могут не иметь значений параметра 500 расстояния до преграды и ассоциированных значений доверительного уровня 1004, поскольку MLA 280 не может формировать эти значения на основе предоставленных данных 310 облака трехмерных точек. Другими словами, предоставленные данные 310 облака трехмерных точек могут не быть достаточными (вследствие их разреженности) для формирования, посредством MLA 280, значений параметра 500 расстояния до преграды и доверительного уровня 1004 для этих определенных элементов свернутого трехмерного тензора 1002. Тем не менее, эти определенные элементы свернутого трехмерного тензора могут потенциально содержать так называемые "необнаруженные" препятствия.
[165] В этом отношении, согласно неограничивающим вариантам осуществления настоящей технологии, процессор 110 может быть выполнен с возможностью дополнять такие элементы свернутого трехмерного тензора 1002 значениями параметра 500 расстояния до преграды и ассоциированными значениями доверительного уровня 1004 на основе элементов, для которых эти значения уже известны.
[166] В неограничивающих вариантах осуществления настоящей технологии, необнаруженное препятствие может представлять собой динамический объект, который обнаружен в одном элементе свернутого трехмерного тензора 1002 и не может обнаруживаться в другом вследствие нескоординированных параметров перемещения (таких как скорость) между транспортным средством 220 и динамическим объектом, плохих условий сканирования (погоды), других препятствий и т.п. Кроме того, необнаруженное препятствие может составлять часть статического препятствия (например, дорожного ограждения), которое обнаружено в одном элементе свернутого трехмерного тензора 1002, тем не менее, затемняется в другом элементе свернутого трехмерного тензора 1002 в силу другого объекта, плохих условий сканирования (погоды) и т.п.
[167] В этом отношении, процессор 110 может быть выполнен с возможностью дополнять данный элемент свернутого трехмерного тензора 1002 значениями параметра 500 расстояния до преграды и доверительного уровня 1004 на основе соответствующих значений другого элемента свернутого трехмерного тензора 1002 и шаблона препятствия для данного препятствия, ассоциированного с ним.
[168] В неограничивающих вариантах осуществления настоящей технологии, процессор 110 может формировать данные, указывающие шаблоны препятствия на основе данных, сформированных посредством по меньшей мере одного из первого датчика 230, второго датчика 240 и других (таких как радар и т.п.) датчиков либо комбинации вышеозначенного.
[169] Дополнительно, в некоторых неограничивающих вариантах осуществления настоящей технологии, процессор 110 выполнен с возможностью дополнять данный элемент свернутого трехмерного тензора 1002 значениями параметра 500 расстояния до преграды и доверительного уровня 1004 также на основе триггера проецирования. Вообще говоря, триггер проецирования представляет собой параметр ожидаемого изменения, на основе принимаемого шаблона препятствия, данного препятствия из другого элемента свернутого трехмерного тензора 1002. В конкретных неограничивающих вариантах осуществления настоящей технологии, триггер проецирования основан по меньшей мере на текущей скорости транспортного средства 220. Можно сказать, что триггер проецирования представляет собой параметр, который учитывает динамическое перемещение транспортного средства 220 для дополнения данного элемента свернутого трехмерного тензора данными.
[170] В неограничивающих вариантах осуществления настоящей технологии, процессор 110 может использовать другой элемент свернутого трехмерного тензора 1002 для дополнения данного элемента на основе предварительно определенного порогового значения доверительного уровня 1004 (например, 0,8). В связи с этим, процессор 110 не должен использовать другой элемент для дополнения, если его ассоциированное значение доверительного уровня составляет ниже 0,8.
[171] В дополнительных неограничивающих вариантах осуществления настоящей технологии, процессор 110 выполнен с возможностью дополнять данный элемент значением доверительного уровня 1004 ниже значения другого элемента свернутого трехмерного тензора 1002.
[172] В проиллюстрированных вариантах осуществления по фиг. 10, как упомянуто выше, процессор 110 определяет то, что данный элемент 1020 свернутого трехмерного тензора 1002 содержит препятствие. Дополнительно, процессор 110, посредством MLA 280, определяет то, что другой данный элемент 1040 ассоциирован со значениями параметра 500 расстояния до преграды и доверительного уровня 1004 в 1 и 0,8, соответственно. Еще один другой данный элемент 1060 свернутого трехмерного тензора 1002 может не принимать данные из данных 310 облака трехмерных точек, и по сути, MLA 280 не может прогнозировать любое соответствующее значение для данного элемента 1060. С этой целью, процессор 110 выполнен с возможностью дополнять данный элемент 1060 значениями параметра 500 расстояния до преграды и доверительного уровня 1004 на основе другого элемента, для которого эти значения известны, например, значениями для данного элемента 1040. Дополнительно, процессор 110 также может рассматривать шаблон препятствия объекта, расположенного в данном элементе 1020, и триггер проецирования, ассоциированный с транспортным средством 220 в данный момент времени.
[173] Соответственно, поскольку значение доверительного уровня 1004 данного элемента 1040 равно 0,8, процессор 110 может продолжать и дополнять, на основе данных выше, данный элемент 1060, например, значением доверительного уровня 1004 в 0,7.
[174] В завершение, процессор 110 назначает данному элементу 1060 соответствующее значение параметра 500 расстояния до преграды, которое равно в проиллюстрированных вариантах осуществления 3. Таким образом, данный элемент 1060 получает значения параметра 500 расстояния до преграды и доверительного уровня 1004 в 3 и 0,7, соответственно, на основе соответствующих значений данного элемента 1040. В соответствии с неограничивающими вариантами осуществления настоящей технологии, как упомянуто выше в отношении описания процесса обучения, процессор 110 может быть выполнен с возможностью формировать сетку 400 на основе свернутого трехмерного тензора 1002. Можно сказать, что процессор 110 выполнен с возможностью "складывать" свернутый трехмерный тензор 1002 вдоль оси Z. Следовательно, каждая ячейка из множества ячеек 402 сетки 400 должна характеризоваться посредством плоских декартовых координат (x, y) основания соответствующего элемента свернутого трехмерного тензора 1002. Кроме того, каждой ячейке сетки 400 должно назначаться соответствующее значение параметра 500 расстояния до преграды и значение доверительного уровня 1004.
[175] В неограничивающих вариантах осуществления настоящей технологии, процедура дополнения, описанная выше в отношении дополнения определенных элементов свернутого трехмерного тензора 1002, может применяться с необходимыми изменениями к определенным ячейкам из множества ячеек 402 сетки 400, т.е. к вариантам осуществления, в которых дополнение выполняется после формирования сетки 400 на основе свернутого трехмерного тензора 1002.
[176] Таким образом, процессор 110 выполнен с возможностью использовать сетку 400 для того, чтобы определять, на основе параметра 500 расстояния до преграды и ассоциированного доверительного уровня, присутствие объектов в окружающей области транспортного средства 220.
[177] Со ссылкой теперь на фиг. 11, проиллюстрировано визуальное представление 1100 окружающей области 250 транспортного средства 220 с применением сетки 400, согласно неограничивающим вариантам осуществления настоящей технологии. Следует отметить, что в некоторых вариантах осуществления настоящей технологии, визуальное представление 1100 используется для определения траектории транспортного средства 220 и, по сути, не должно обязательно выводиться на видеоинтерфейсе, а вместо этого использоваться для внутренней обработки.
[178] Из фиг. 11 можно принимать во внимание, что окружающая область 250 транспортного средства 220 разделяется, на основе значений параметра 500 расстояния до преграды ассоциированных ячеек сетки 400, на две зоны: зону 1102 высокой вероятности препятствия и зону 1104 низкой вероятности препятствия. Зона 1102 высокой вероятности препятствия (более темная зона) содержит ячейки сетки 400, имеющие низкие значения параметра 500 расстояния до преграды и высокие значения доверительного уровня 1004 (большие или равные предварительно определенному пороговому значению). Соответственно, зона 1104 низкой вероятности препятствия (более светлая зона) содержит ячейки сетки 400, имеющие высокие значения параметра 500 расстояния до преграды.
[179] Дополнительно можно принимать во внимание, что в визуальном представлении 1100, зона 1102 высокой вероятности препятствия и зона 1104 низкой вероятности препятствия объединяются посредством цветового градиента, так что чем более темной является данная точка между двумя зонами, тем вероятнее присутствие препятствия в ней. В отличие от этого, по мере того, как она становится светлее между двумя зонами, вероятность присутствия объекта в ней уменьшается.
[180] С учетом архитектуры и примеров, предоставленных выше, можно осуществлять способ для определения присутствия препятствия в окружающей области SDC (например, транспортного средства 220). Со ссылкой теперь на фиг. 12, проиллюстрирована блок-схема последовательности операций способа 1200, согласно неограничивающим вариантам осуществления настоящей технологии. Способ 900 осуществляется посредством процессора 110. Процессор 110, например, может представлять собой часть электронного устройства 210.
Этап 1202 - прием, посредством электронного устройства, данных датчиков, представляющих окружающую область SDC в форме данных облака трехмерных точек
[181] На этапе 1202, процессор 110 электронного устройства 210 выполнен с возможностью принимать данные 305 датчиков, сформированные посредством второго датчика 240, окружающей области 250 в форме данных 310 облака трехмерных точек. Данные 310 облака трехмерных точек содержат трехмерные точки объектов, расположенных в окружающей области 250 транспортного средства 220.
Этап 1204 - формирование, посредством MLA, на основе данных облака трехмерных точек, набора векторов признаков, представляющих окружающую область
[182] На этапе 1204, процессор 110 сначала выполнен с возможностью применять трехмерную сетку 620 к данным 310 облака трехмерных точек, за счет этого формируя предварительно обработанные данные облака трехмерных точек, как описано выше со ссылкой на фиг. 6. Соответственно, каждая трехмерная точка данных 310 облака трехмерных точек ассоциирована с соответствующей одной из множества ячеек 650.
[183] Во-вторых, процессор 110 выполнен с возможностью формировать, для каждой из множества ячеек 650, вектор признаков, причем данный вектор признаков представляет точки, ассоциированные с соответствующей одной из множества ячеек в предварительно обработанных данных облака трехмерных точек.
[184] С этой целью, в неограничивающих вариантах осуществления настоящей технологии, процессор 110 выполнен с возможностью выполнять MLA, например, MLA 280.
[185] В неограничивающих вариантах осуществления настоящей технологии, MLA 280 обучен, как описано выше со ссылкой на фиг. 6-9, на предмет того, чтобы определять присутствие препятствий в окружающей области 250 транспортного средства 220.
[186] В неограничивающих вариантах осуществления настоящей технологии, MLA 280 содержит две модели (например, первую модель 700 и вторую модель 900). В этих вариантах осуществления, первая модель 700, например, может представлять собой CNN, реализованную на основе PointNet-архитектуры, и вторая модель 900 может представлять собой CNN, имеющую U-Net-архитектуру.
[187] В неограничивающих вариантах осуществления настоящей технологии, первая модель 700 и вторая модель 900 обучены на основе обучающего набора, который включает в себя обучающую сетку (аналогичную сетке, описанной выше со ссылкой на фиг. 4 и 5). Каждая ячейка обучающей сетки включает в себя информацию фактического расстояния до ближайшей другой ячейки, содержащей препятствие.
[188] Таким образом, в неограничивающих вариантах осуществления настоящей технологии, процессор 110 выполнен с возможностью, с использованием первой модели 700, формировать, для каждой из множества ячеек 650 предварительно обработанных данных облака трехмерных точек, вектор признаков, представляющий точки, ассоциированные с ним, как описано выше со ссылкой на фиг. 7.
[189] В некоторых неограничивающих вариантах осуществления настоящей технологии, данный вектор признаков описывает ассоциированные точки соответствующей одной из множества ячеек 650 на основе множества признаков. Таким образом, процессор 110 ассоциирует каждый вектор признаков с соответствующей одной из множества ячеек 650, за счет этого формируя трехмерный тензор.
[190] В некоторых неограничивающих вариантах осуществления настоящей технологии, множество признаков данного вектора признаков могут содержать признаки, указывающие геометрическую позицию каждой из ассоциированных точек соответствующей одной из множества ячеек 650 предварительно обработанных данных облака трехмерных точек. В других неограничивающих вариантах осуществления настоящей технологии, множество признаков дополнительно могут содержать признаки, указывающие силу света каждой из ассоциированных точек соответствующей одной из множества ячеек 650.
[191] Таким образом, в неограничивающих вариантах осуществления настоящей технологии, каждый элемент трехмерного тензора, сформированного вышеописанным способом, ассоциирован, посредством соответствующего вектора признаков, с соответствующей одной из множества ячеек 650 предварительно обработанных данных облака трехмерных точек.
[192] Дополнительно, согласно неограничивающим вариантам осуществления настоящей технологии, процессор 110 может быть выполнен с возможностью формировать, на основе векторов признаков, ассоциированных с ячейками данного столбца трехмерного тензора, соответствующий объединенный вектор. Соответствующий объединенный вектор включает в себя комбинированную информацию по данному столбцу трехмерного тензора.
[193] Процессор 110 может быть выполнен с возможностью формировать соответствующий объединенный вектор, например, посредством применения процедуры 800 объединения, описанной выше со ссылкой на фиг. 8. В некоторых неограничивающих вариантах осуществления настоящей технологии, процедура 800 объединения включает в себя конкатенацию ассоциированных векторов признаков ячеек данного столбца трехмерного тензора.
[194] Таким образом, процессор 110 выполнен с возможностью формировать модифицированный трехмерный тензор, в котором каждый элемент ассоциирован с соответствующим объединенным вектором, который представляет геометрические позиции трехмерных точек данных 310 облака трехмерных точек.
Этап 1206 - прием картографических данных, указывающих локализацию SDC на карте
[195] На этапе 1206, процессор 110 выполнен с возможностью получать по меньшей мере из одного из первого датчика 230, второго датчика 240 и другого датчика (не проиллюстрирован) данные для локализации транспортного средства 220.
[196] В некоторых неограничивающих вариантах осуществления настоящей технологии, процессор 110 может быть выполнен с возможностью получать, с использованием по меньшей мере одного из первого датчика 230, второго датчика 240 и других датчиков (не проиллюстрированы), один из параметров транспортного средства в то время, когда транспортного средства 220 работает. В неограничивающих вариантах осуществления настоящей технологии, параметры транспортного средства могут содержать: широту, долготу, передачу, скорость вращения колес, значения параметров блока инерциальных измерений (IMU) (т.е. компоненты линейного ускорения и компоненты частоты вращения транспортного средства 220), открытие дросселя, угол поворота при рулении и скорость, а также другие параметры, связанные с транспортным средством 220 в то время, когда оно движется. Локализация транспортного средства 220 может дополняться посредством трехмерной карты (не проиллюстрирована).
[197] В некоторых неограничивающих вариантах осуществления настоящей технологии, трехмерная карта (не проиллюстрирована) может включать в себя один или более объектов-ориентиров окружающей области 250 транспортного средства 220, таких как границы дороги, полосы движения, знаки, столбы ЛЭП и светофоры, например, что может помогать во время навигации или распознавания препятствий.
Этап 1208 - формирование, посредством MLA, на основе набора векторов признаков и картографических данных, представления в форме сетки окружающей области, причем каждая данная ячейка представления в форме сетки включает в себя спрогнозированный параметр расстояния, указывающий расстояние от данной ячейки до ближайшей ячейки с препятствием
[198] На этапе 1208, процессор 110 выполнен с возможностью, на основе модифицированного трехмерного тензора и полученных картографических данных и с использованием второй модели 900, формировать свернутый трехмерный тензор, например, свернутый трехмерный тензор 1002, как подробно описано со ссылкой на фиг. 9 и 10.
[199] В неограничивающих вариантах осуществления настоящей технологии, процессор 110 может быть дополнительно выполнен с возможностью формировать сетку 400 (проиллюстрирована на фиг. 4 и 5), на основе свернутого трехмерного тензора 1002.
[200] Каждая ячейка из множества ячеек 402 сетки 400 ассоциирована с соответствующим спрогнозированным, посредством второй модели 900, значением параметра 500 расстояния до преграды. Параметр 500 расстояния до преграды указывает расстояние до ближайшей другой ячейки, содержащей препятствие.
[201] В некоторых неограничивающих вариантах осуществления настоящей технологии, каждая ячейка из множества ячеек 402 сетки 400 дополнительно ассоциирована с соответствующим значением доверительного параметра, сформированного посредством второй модели 900 (например, доверительного уровня 1004, подробно описанного выше со ссылкой на фиг. 10). Каждое значение доверительного уровня 1004 указывает то, насколько точно вторая модель 900 прогнозирует соответствующее значение параметра 500 расстояния до преграды.
[202] Дополнительно, согласно неограничивающим вариантам осуществления настоящей технологии, процессор 110 выполнен с возможностью идентифицировать ячейки сетки 400, потенциально имеющей необнаруженные препятствия. Другими словами, процессор 110 выполнен с возможностью идентифицировать ячейки сетки 400, для которой вторая модель 900 не может формировать соответствующие значения параметра 500 расстояния до преграды и доверительного уровня 1004 на основе принимаемых данных 310 облака трехмерных точек, например, вследствие их разреженности. Следовательно, процессор 110 выполнен с возможностью дополнять такие ячейки сетки 400 посредством формирования этих значений, на основе соответствующих известных значений параметра 500 расстояния до преграды и доверительного уровня 1004, ассоциированных с другими ячейками сетки 400, как подробно описано выше со ссылкой на фиг. 10.
[203] Таким образом, процессор 110 выполнен с возможностью формировать, посредством второй модели 900, на основе вывода первой модели 700, т.е. модифицированного трехмерного тензора, сетку 400, визуальное представление которой, применяемое к окружающей области 250, проиллюстрировано на фиг. 11.
Этап 1210 - использование, посредством электронного устройства, параметра расстояния для того, чтобы определять присутствие препятствия в окружающей области SDC
[204] В завершение, на этапе 1210, процессор 110 выполнен с возможностью использовать каждое значение параметра 500 расстояния до преграды ассоциированной одной из множества ячеек 402 сетки 400 для определения присутствия препятствий в окружающей области 250 транспортного средства 220. Например, процессор 110 может использовать значения параметра 500 расстояния до преграды для формирования или модификации траектории для транспортного средства 220.
[205] Модификации и улучшения вышеописанных реализаций настоящей технологии могут становиться очевидными для специалистов в данной области техники. Вышеприведенное описание должно быть примерным, а не ограничивающим. В силу этого, объем настоящей технологии имеет намерение быть ограниченным исключительно посредством объема прилагаемой формулы изобретения.