СПОСОБЫ И ЭЛЕКТРОННЫЕ УСТРОЙСТВА ДЛЯ ОБНАРУЖЕНИЯ ОБЪЕКТОВ В ОКРУЖЕНИИ БЕСПИЛОТНОГО АВТОМОБИЛЯ
METHODS AND ELECTRONIC DEVICES FOR DETECTING OBJECTS IN THE ENVIRONMENT OF AN UNMANNED VEHICLE

Область техники
[0001] Настоящая технология в основном относится к беспилотным автомобилям (SDC); и, в частности, к электронным устройствам и способам обнаружения объектов в окружении SDC.
Уровень техники
[0002] Беспилотные автомобили (SDC) - это транспортные средства, которые могут автономно перемещаться по частным и/или общественным пространствам. Используя систему датчиков, которые определяют местоположение и/или окружение SDC, логика внутри SDC или связанная с ним управляет скоростью, движением, торможением и поворотом SDC на основе обнаруженного датчиком местоположения и окружения SDC. Например, компьютерная система может использовать данные датчиков для генерирования будущих траекторий для SDC на участке дороги и может управлять функционированием SDC, чтобы он следовал выбранной траектории на участке дороги.
[0003] Одной из основных технических проблем при реализации вышеупомянутых систем является способность компьютерной системы обнаруживать объект, присутствующий поблизости от транспортного средства, например, транспортное средство, находящееся впереди данного транспортного средства (рассматриваемого транспортного средства, имеющего компьютерную систему на борту), каковое находящееся впереди транспортное средство может представлять риск/опасность для рассматриваемого транспортного средства и может потребовать от компьютерной системы принятия корректирующих мер, будь то торможение или иное изменение скорости, остановка или смена полосы движения. На более детальном уровне проблема обнаружения объекта заключается не только в двухальтернативном обнаружении (наличие или отсутствие объекта), но и в скорости и точности, связанных с таким анализом и определением (особенно в предотвращении «ложноотрицательных результатов», в результате которых система не идентифицирует объект, который действительно присутствует перед автомобилем или поблизости от него).
[0004] Острота этой проблемы иллюстрируется следующим гипотетическим сценарием. Представим себе, что по маршруту едет беспилотное или частично автономное транспортное средство. Ребенок (или взрослый, домашнее животное и т.п.) бежит впереди автомобиля. Крайне важно, чтобы компьютерная система, управляющая транспортным средством, быстро обнаруживала присутствие объекта и предпринимала корректирующие действия, чтобы избежать столкновения. Естественно, чем быстрее компьютерная система обнаружит присутствие объекта, тем больше времени у компьютерной системы будет для определения корректирующего действия и предписывания транспортному средству выполнить корректирующее действие.
[0005] Как правило, SDC имеет множество датчиков, позволяющих SDC фиксировать и «понимать» окружающую его область. SDC может использовать различные системы датчиков, такие, но не ограничиваясь перечисленным, как системы камер, радарные системы и лидарные системы (LIDAR). Различные системы датчиков могут использоваться для сбора различной информации, и/или в другом формате, о местоположении и окружении SDC. Например, системы камер могут использоваться для захвата данных изображения в окружении SDC. В другом примере лидарные системы (LIDAR) могут использоваться для сбора данных облака точек для построения трехмерных картографических представлений окружения и других потенциальных объектов, расположенных в непосредственной близости от SDC.
[0006] Общеизвестно, что SDC обрабатывает данные, захваченные таким множеством датчиков, для формирования прогноза, обычно с использованием алгоритма машинного обучения (MLA), в отношении присутствия одного или нескольких объектов в непосредственной близости от SDC. Такое прогнозирование затем может использоваться SDC для определения наиболее оптимального текущего маневра, будь то продолжение движения, остановка, изменение направления, ускорение или тому подобное.
[0007] Патентная публикация США 2020/082560 раскрывает средство оценки ограничивающей рамки, которое после приема набора двумерных точек данных, представляющих объект в среде, оценивает вектор ограничивающей рамки, представляющий двумерную версию объекта, который представлен двумерными точками данных.
Сущность изобретения
[0008] Следовательно, существует потребность в системах и способах, которые позволяют избежать, уменьшить или преодолеть ограничения предшествующего уровня техники. По меньшей мере некоторые аспекты настоящей технологии направлены на устранение по меньшей мере некоторых технических проблем, связанных с решениями предшествующего уровня техники.
[0009] Разработчики настоящей технологии разработали способы и электронные устройства для выполнения реализуемого при помощи компьютера обнаружения объектов в окружении «беспилотного автомобиля» (SDC). Следует отметить, что компьютерные системы выполнены с возможностью генерирования «ограничивающей рамки» для обнаружения объектов, которая может использоваться, среди прочего, для планирования траектории и безопасной эксплуатации транспортного средства.
[00010] В некоторых вариантах осуществления настоящей технологии предоставляется электронное устройство, выполненное с возможностью генерирования ограничивающей рамки для объекта, представленного посредством «вектора признаков» или «встраивания». Вектор признаков, представляющий данный объект, генерируется на основе данных, генерируемых одной или более системами датчиков, установленными на SDC. Данные датчиков могут быть собраны, переданы и сохранены электронным устройством для извлечения информации об окружении SDC через одну или более нейронных сетей (NN). По меньшей мере в некоторых вариантах осуществления настоящей технологии электронное устройство может быть выполнено с возможностью использования одной или нескольких сверточных NN (CNN) для генерирования вектора признаков, представляющего объект. Как известно, NN представляют собой класс алгоритмов машинного обучения (MLA), которые первоначально могут быть обучены настраивать веса или смещения данной NN, пока не будет оптимизирована общая функция потерь, а затем, при использовании, могут быть использованы для генерирования прогнозируемых данных.
[00011] Разработчики настоящей технологии разработали способы и электронные устройства, которые позволяют генерировать вектор признаков, который указывает как «локальный контекст» объекта, то есть геометрию самого объекта, так и «глобальный контекст» объекта, т.е. объекты, потенциально присутствующие в окружении SDC.
[00012] Электронное устройство выполнено с возможностью использования первой NN для генерирования первого вектора признаков из кластера точек облака точек, сгенерированного, например, лидарной системой (LiDAR), связанной с объектом, и каковой первый вектор признаков указывает локальный контекст объекта в окружении SDC. Например, лидарная система (LIDAR) может быть выполнена с возможностью генерирования облака точек, которое является трехмерным представлением окружения SDC.
[00013] Можно сказать, что локальный контекст - это функция, вычисляемая на основе точек из кластера и которая описывает геометрию данного объекта (связанного с кластером) и, следовательно, предоставляет «локальную» информацию об объекте. По меньшей мере в некоторых вариантах осуществления настоящей технологии локальный контекст может представлять геометрию данного объекта в окружении SDC. Первая NN может быть реализована способом, в целом известным из аспектов, раскрытых в публикации «PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation», авторства Charles R. Qi, Hao Su, Kaichun Mo, и Leonidas J. Guibas из Стэнфордского университета, опубликованной 10 апреля 2017 г., содержание которой включено в настоящий документ посредством ссылки в полном объеме. Код PointNet можно найти по адресу github.com/charlesq34/pointnet.
[00014] В контексте настоящей технологии электронное устройство выполнено с возможностью добавления первого вектора признаков, указывающего локальный контекст объекта, к информации о точках, связанной с каждой соответствующей точкой из кластера. Можно сказать, что точки кластера в облаке точек могут быть расширены дополнительной информацией, указывающей локальный контекст его соседей в этом кластере.
[00015] Электронное устройство выполнено с возможностью использования второй NN в этом облаке точек с расширенным кластером для генерирования вторых векторов признаков для соответствующих точек из расширенного кластера. Предполагается, что эта вторая NN может быть реализована как CNN. Вообще говоря, CNN являются регуляризованными «версиями» многослойных перцептронов (MLP). MLP обычно относятся к полносвязным сетям, то есть каждый нейрон в одном слое связан со всеми нейронами в следующем слое. Следовательно, такие NN называются «полносвязными» NN. Типичные способы выполнения регуляризации включают в себя добавление некоторой формы измерения величины весов к функции потерь. CNN используют другой подход к регуляризации: они используют преимущества иерархического шаблона данных и собирают более сложные шаблоны, используя более мелкие и простые шаблоны.
[00016] Следует отметить, что у CNN есть рецептивное поле. В CNN каждый нейрон получает входные данные из некоторого количества местоположений на предыдущем уровне. В полносвязном слое каждый нейрон получает входные данные от каждого нейрона предыдущего слоя. В сверточном слое каждый нейрон получает входные данные только из ограниченной области предыдущего слоя, называемой рецептивным полем нейрона. Таким образом, в каждом сверточном слое каждый нейрон принимает входные данные из большей области точек во входном облаке, чем предыдущие слои. Это происходит из-за многократного применения свертки, которая учитывает значения точки и соседних с ней точек.
[00017] По меньшей мере, в некоторых вариантах осуществления настоящей технологии рецептивное поле CNN может иметь размер, который позволяет захватывать по меньшей мере часть облака точек, включая расширенный кластер и другие точки из облака точек, которые находятся в непосредственной близости от расширенного кластера. Предполагается, что часть облака точек исключает точки из облака точек, которые находятся за пределами рецептивного поля CNN.
[00018] CNN может быть выполнена с возможностью генерирования второго вектора признаков для соответствующей точки части облака точек посредством, в некотором смысле, «просмотра» информации о соседних точках в этой части. В результате второй вектор признаков данной точки из расширенного кластера основан на соответствующем первом векторе признаков, указывающем локальный контекст объекта, и теперь дополняется информацией, указывающей на «глобальный» контекст объекта в окружении SDC. Можно сказать, что глобальный контекст - это функция, вычисляемая на основе точек из расширенного кластера и других соседних точек из облака точек, и которая описывает признаки точек вблизи кластера и/или геометрию потенциальных объектов вблизи кластера и/или различие в признаках между соседними точками и точками из расширенного кластера, и, следовательно, предоставляет «глобальную» информацию об объекте в окружении SDC.
[00019] В контексте настоящей технологии электронное устройство выполнено с возможностью добавления второго вектора признаков, указывающего как локальный контекст объекта, так и глобальный контекст объекта в окружении SDC, к информации о точках, связанной с каждой соответствующей точкой из кластера. Можно сказать, что точки кластера в облаке точек могут быть «дополнены» информацией, показывающей как локальный контекст о его соседях внутри этого кластера, так и глобальный контекст о его соседях за пределами этого кластера.
[00020] Электронное устройство выполнено с возможностью использования (снова) первой NN в этом расширенном таким образом кластере для генерирования третьего вектора признаков. В некоторых вариантах осуществления настоящей технологии третий вектор признаков может использоваться как вектор признаков или встраивание, представляющее объект в окружении SDC. В некоторых вариантах осуществления можно сказать, что первая NN может генерировать встраивание, представляющее объект в окружении SDC. В этих вариантах осуществления третий вектор признаков может использоваться для генерирования ограничивающей рамки посредством третьей NN или «генератором ограничивающей рамки».
[00021] Однако в других вариантах осуществления настоящей технологии электронное устройство может быть выполнено с возможностью использования третьего вектора признаков аналогично тому, как первый вектор признаков используется электронным устройством для добавления информации к точкам из кластера. В этих вариантах осуществления предполагается, что электронное устройство может быть выполнено с возможностью использования первой NN и второй NN в «циклической конфигурации» и выполнения заранее определенного количества итераций, в которых точки из кластера итеративно дополняются локальным и глобальным контекстами объекта в окружении SDC.
[00022] Заранее определенное количество итераций может быть выбрано оператором электронного устройства на основе ограничений вычислительных ресурсов в реальном времени и/или ограничений скорости вычислений. Разработчики настоящей технологии поняли, что разработка системы, в которой локальный и глобальный контексты итеративно добавляются к информации точки во время соответствующих фаз использования первой NN и второй NN, может сгенерировать вектор признаков для объекта, который может повысить точность ограничивающих рамок, сгенерированных третьей NN. В некоторых вариантах осуществления предполагается, что отдельные первые NN и отдельные вторые NN могут использоваться во время двух последовательных итераций. Кроме того, одна итерация может состоять из электронного устройства, использующего расположенную в шахматном порядке комбинацию первых NN и вторых NN, не выходя за рамки настоящей технологии.
[00023] Разработчики настоящей технологии осознали, что генерируемые таким образом векторы признаков, представляющие локальный и глобальный контексты данного объекта в окружении SDC, также могут использоваться для других целей во время функционирования SDC. В некоторых вариантах осуществления разработчики настоящей технологии разработали системы и способы для использования сгенерированных таким образом векторов признаков для отслеживания объекта, оценки траектории и/или управления рисками столкновения. Не желая быть привязанными к какой-либо конкретной теории, разработчики настоящей технологии осознали, что сгенерированные таким образом векторы признаков для данного объекта в разные моменты времени имеют тенденцию быть похожими. Таким образом, разработчики настоящей технологии разработали способы и системы, которые способны (i) генерировать данный вектор признаков для первого объекта в первый момент времени, (ii) генерировать другой данный вектор признаков для второго объекта во второй момент времени, (iii) генерировать коэффициент подобия путем сравнения данного и другого данного вектора признаков, и (iv) в ответ на то, что коэффициент подобия превышает заранее определенный порог, определять, что первый объект и второй объект являются одним и тем же объектом в разные моменты времени. Такое отслеживание объектов в разные моменты времени может позволить электронному устройству генерировать кинематические данные о движении соседних объектов относительно SDC.
[00024] Разработчики настоящей технологии также осознали, что в некоторых случаях одна или более точек из облака точек, которые связаны с данным объектом, могут быть исключены из соответствующего кластера точек. В таких случаях электронное устройство может быть выполнено так, чтобы после генерирования данных ограничивающей рамки для данного объекта идентифицировать по меньшей мере одну точку выброса в облаке точек (т.е. по меньшей мере одну точку, принадлежащую данному объекту и исключаемую из кластера) и генерировать модифицированную ограничивающую рамку для данного объекта на основе ограничивающей рамки и по меньшей мере одной точки выброса.
[00025] В первом широком аспекте настоящей технологии предоставляется способ обнаружения объекта в окружении SDC. Лидарная система устанавливается на SDC и является коммуникативно связанной с электронным устройством. Упомянутый способ может выполняться электронным устройством. Способ содержит генерирование, с помощью электронного устройства, кластера точек из облака точек. Облако точек представляет окружение SDC. Каждая точка в кластере связана с данным объектом. Способ содержит генерирование, электронным устройством с использованием первой нейронной сети (NN), первого вектора признаков на основе кластера. Первый вектор признаков связан с каждой точкой из кластера и указывает локальный контекст данного объекта в окружении SDC. Способ содержит генерирование, электронным устройством с использованием второй NN, вторых векторов признаков для соответствующих точек из кластера на основе части облака точек. Эта часть включает в себя точки из кластера и другие точки из облака точек, которые находятся в непосредственной близости от кластера. Данный второй вектор признаков соответствующей точки из кластера указывает локальный контекст данного объекта в окружении SDC и глобальный контекст данного объекта в окружении SDC. Способ содержит генерирование, электронным устройством с использованием первой NN, третьего вектора признаков для данного объекта на основе вторых векторов признаков кластера. Третий вектор признаков представляет данный объект в окружении SDC и указывает как локальный, так и глобальный контекст объекта в окружении SDC. Способ содержит генерирование, электронным устройством с использованием третьей NN, ограничивающей рамки вокруг данного объекта с использованием третьего вектора признаков.
[00026] В некоторых вариантах осуществления способа облако точек представляет собой расширенное облако точек, так что данная расширенная точка из расширенного облака точек связана с местоположением данного объекта относительно SDC и визуальными характеристиками данного объекта.
[00027] В некоторых вариантах осуществления способа генерирование кластера точек на основе облака точек включаетв себя: получение, электронным устройством из лидарной системы (LIDAR), данных облака точек, представляющих облако точек; получение, электронным устройством из системы камеры, данных изображения, представляющих изображение окружения SDC; генерирование, электронным устройством, использующим четвертую NN, визуальных характеристик для соответствующих пикселей изображения; генерирование, с помощью электронного устройства, расширенного облака точек путем проецирования пикселей изображения с соответствующими визуальными характеристиками на соответствующие точки из облака точек, так что данная расширенная точка из расширенного облака точек связана с местоположением данного объекта относительно SDC и визуальными характеристиками соответствующего пикселя; и генерирование, с помощью электронного устройства, кластера точек на основе расширенного облака точек.
[00028] В некоторых вариантах осуществления способа, генерирование кластера точек на основе расширенного облака точек содержит: сегментацию, с помощью электронного устройства, расширенного облака точек по меньшей мере на два класса точек, причем по меньшей мере два класса точек включают в себя класс объекта. Расширенные точки класса объекта связаны с данным объектом в окружении SDC. Генерирование кластера точек на основе расширенного облака точек содержит генерирование, с помощью электронного устройства, векторов расстояния для расширенных точек класса объекта, причем данный вектор расстояния представляет оценочное расстояние соответствующей расширенной точки класса объекта от потенциальной центральной точки данного объекта. Генерирование кластера точек на основе расширенного облака точек содержит генерирование, с помощью электронного устройства, модифицированных расширенных точек класса объекта путем перемещения их соответствующих местоположений в направлении соответствующих векторов расстояния, и выполнение, с помощью электронного устройства, алгоритма кластеризации на модифицированных расширенных точках для идентификации кластера.
[00029] В некоторых вариантах осуществления способа, локальный контекст представляет геометрию данного объекта в окружении SDC.
[00030] В некоторых вариантах осуществления способа вторая NN имеет рецептивное поле, захватывающее часть облака точек.
[00031] В некоторых вариантах осуществления способа, часть облака точек исключает точки из облака точек, которые находятся за пределами рецептивного поля второй NN.
[00032] В некоторых вариантах осуществления способа глобальный контекст представляет геометрию других потенциальных объектов в окружении SDC.
[00033] В некоторых вариантах осуществления способа генерирование ограничивающей рамки включает в себя генерирование, электронным устройством с использованием первой NN, четвертого вектора признаков на основе кластера точек и третьего вектора признаков, причем четвертый вектор признаков связан с каждой точкой из кластера. Генерирование ограничивающей рамки включает в себя генерирование, электронным устройством с использованием второй NN, пятых векторов признаков для соответствующих точек из кластера на основе части облака точек, причем упомянутая часть включает в себя точки из кластера и другие точки из облака точек, которые находятся в непосредственной близости от кластера. Генерирование ограничивающей рамки включает в себя генерирование, электронным устройством с использованием первой NN, шестого вектора признаков для данного объекта на основе пятых векторов признаков кластера, и генерирование, электронным устройством с использованием третьей NN, ограничивающей рамки вокруг данного объекта с использованием шестого вектора признаков вместо третьего вектора признаков.
[00034] В некоторых вариантах осуществления способа вторая NN является сверточной NN.
[00035] В некоторых вариантах осуществления способа третья NN представляет собой многослойный перцептрон (MLP).
[00036] В некоторых вариантах осуществления способа генерирование третьего вектора признаков для данного объекта выполняется в первый момент времени. Способ дополнительно содержит генерирование, электронным устройством с использованием первой NN, другого третьего вектора признаков для другого данного объекта во второй момент времени, и генерирование, электронным устройством, признака подобия путем сравнения третьего вектора признаков с другим третьим вектором признаков. В ответ на превышение признаком подобия предопределенного порогового значения, способ дополнительно включает в себя определение, электронным устройством, что данный объект в первый момент времени и другой данный объект во второй момент времени является одним и тем же объектом, и генерирование, электронным устройством, кинематических данных для одного и того же объекта на основе местоположения ограничивающей рамки, сгенерированной на основе третьего вектора признаков в первый момент времени, и местоположения другой ограничивающей рамки, сгенерированной на основе другого третьего вектора признаков во второй момент времени.
[00037] В некоторых вариантах осуществления способа, способ дополнительно содержит идентификацию, электронным устройством, по меньшей мере одной точки выброса в облаке точек, причем точка выброса принадлежит данному объекту и исключена из кластера, и генерирование, электронным устройством, модифицированной ограничивающей рамки для данного объекта на основе ограничивающей рамки и по меньшей мере одной точки выброса.
[00038] Во втором широком аспекте настоящей технологии предоставляется электронное устройство для обнаружения объекта в окружении SDC. Лидарная система (LIDAR) устанавливается на SDC и является коммуникативно связанной с электронным устройством. Электронное устройство выполнено с возможностью генерирования кластера точек из облака точек, причем облако точек представляет окружение SDC, и каждая точка в кластере связана с данным объектом. Электронное устройство выполнено с возможностью генерирования, с использованием первой нейронной сети (NN), первого вектора признаков на основе кластера. Первый вектор признаков связан с каждой точкой из кластера и указывает локальный контекст данного объекта в окружении SDC. Электронное устройство выполнено с возможностью генерирования, с использованием второй NN, вторых векторов признаков для соответствующих точек из кластера на основе части облака точек. Упомянутая часть включает в себя точки из кластера и другие точки из облака точек, которые находятся в непосредственной близости от кластера. Данный второй вектор признаков соответствующей точки из кластера указывает локальный контекст данного объекта в окружении SDC и глобальный контекст данного объекта в окружении SDC. Электронное устройство выполнено с возможностью генерирования, с использованием первой NN, третьего вектора признаков для данного объекта на основе вторых векторов признаков кластера. Третий вектор признаков представляет данный объект в окружении SDC и указывает как локальный, так и глобальный контекст объекта в окружении SDC. Электронное устройство выполнено с возможностью генерирования, с использованием третьей NN, ограничивающей рамки вокруг данного объекта с использованием третьего вектора признаков.
[00039] В некоторых вариантах осуществления электронного устройства, облако точек является расширенным облаком точек, так что данная расширенная точка из расширенного облака точек связана с местоположением данного объекта относительно SDC и визуальными характеристиками данного объекта.
[00040] В некоторых вариантах осуществления электронного устройства, электронное устройство, выполненное с возможностью генерирования кластера точек на основе облака точек, содержит электронное устройство, выполненное с возможностью: получения, из лидарной системы (LIDAR), данных облака точек, представляющих облако точек; получения, от системы камеры, данных изображения, представляющих изображение окружения SDC; генерирования, с использованием четвертой NN, визуальных характеристик для соответствующих пикселей изображения; генерирования расширенного облака точек путем проецирования пикселей изображения с соответствующими визуальными характеристиками на соответствующие точки из облака точек таким образом, что данная расширенная точка из расширенного облака точек связана с местоположением данного объекта относительно SDC и визуальными характеристиками соответствующего пикселя; и генерирования кластера точек на основе расширенного облака точек.
[00041] В некоторых вариантах осуществления электронного устройства электронное устройство, выполненное с возможностью генерирования кластера точек на основе расширенного облака точек, содержит электронное устройство, выполненное с возможностью: сегментации расширенного облака точек по меньшей мере на два класса точек, причем упомянутые по меньшей мере два класса точек включают в себя класс объекта, а расширенные точки класса объекта связаны с данным объектом в окружении SDC; генерирования векторов расстояния для расширенных точек класса объекта, причем данный вектор расстояния представляет оцененное расстояние соответствующей расширенной точки класса объекта от потенциальной центральной точки данного объекта; генерирования модифицированных расширенных точек класса объекта посредством перемещения их соответствующих местоположений в направлении соответствующих векторов расстояния; и выполнения алгоритма кластеризации на модифицированных расширенных точках для идентификации кластера.
[00042] В некоторых вариантах осуществления электронного устройства, локальный контекст представляет геометрию данного объекта в окружении SDC.
[00043] В некоторых вариантах осуществления электронного устройства, вторая сеть NN имеет рецептивное поле, захватывающее часть облака точек.
[00044] В некоторых вариантах осуществления электронного устройства, часть облака точек исключает точки из облака точек, которые находятся вне рецептивного поля второй NN.
[00045] В некоторых вариантах осуществления электронного устройства, глобальный контекст представляет геометрию других потенциальных объектов в окружении SDC.
[00046] В некоторых вариантах осуществления электронного устройства, электронное устройство, выполненное с возможностью генерирования ограничивающей рамки, содержит электронное устройство, выполненное с возможностью генерирования, с использованием первой NN, четвертого вектора признаков на основе кластера точек и третьего вектора признаков, причем четвертый вектор признаков связан с каждой точкой из кластера; генерирования, с использованием второй NN, пятых векторов признаков для соответствующих точек из кластера на основе части облака точек, причем упомянутая часть включает в себя точки из кластера и другие точки из облака точек, которые находятся в непосредственной близости от кластер; генерирования, с использованием первой NN, шестого вектора признаков для данного объекта на основе пятых векторов признаков кластера; и генерирования, с использованием третьей NN, ограничивающей рамки вокруг данного объекта с использованием шестого вектора признаков вместо третьего вектора признаков.
[00047] В некоторых вариантах осуществления электронного устройства, вторая NN является сверточной NN.
[00048] В некоторых вариантах осуществления электронного устройства, третья NN представляет собой многослойный перцептрон (MLP).
[00049] В некоторых вариантах осуществления электронного устройства, электронное устройство выполнено с возможностью генерирования третьего вектора признаков для данного объекта в первый момент времени. Электронное устройство дополнительно выполнено с возможностью генерирования, с использованием первой NN, другого третьего вектора признаков для другого данного объекта во второй момент времени, и генерирования признака подобия, путем сравнения третьего вектора признаков с другим третьим вектором признаков. В ответ на превышение признаком подобия предопределенного порогового значения, электронное устройство дополнительно выполнено с возможностью определения, что данный объект в первый момент времени и другой данный объект во второй момент времени являются одним и тем же объектом, и генерирования кинематических данных для одного и того же объекта на основе местоположения ограничивающей рамки, сгенерированной на основе третьего вектора признаков в первый момент времени, и местоположения другой ограничивающей рамки, сгенерированной на основе другого третьего вектора признаков во второй момент времени.
[00050] В некоторых вариантах осуществления электронного устройства, электронное устройство дополнительно выполнено с возможностью идентифицирования по меньшей мере одной точки выброса в облаке точек, причем упомянутая точка выброса принадлежит данному объекту и исключена из кластера, и генерирования модифицированной ограничивающей рамки для данного объекта на основе ограничивающей рамки и по меньшей мере одной точки выброса.
[00051] В контексте настоящего описания термин «окружение» данного транспортного средства относится к области или объему вокруг данного транспортного средства, включая часть его текущего окружения, доступную для сканирования с использованием одного или нескольких датчиков, установленных на данном транспортном средстве, например, для генерирования трехмерной карты такого окружения или обнаружения в нем объектов.
[00052] В контексте настоящего описания «Область интереса» может в широком смысле включать в себя часть наблюдаемой среды лидарной системы (LiDAR), в которой один или более объектов могут быть обнаружены. Следует отметить, что на область интереса лидарной системы (LiDAR) могут влиять различные условия, такие как, но не ограничиваясь перечисленным: ориентация лидарной системы (LiDAR) (например, направление оптической оси лидарной системы (LiDAR)); положение лидарной системы (LiDAR) по отношению к среде (например, расстояние над землей и прилегающий рельеф местности и препятствия); эксплуатационные параметры лидарной системы (LiDAR) (например, мощность излучения, вычислительные настройки, заданные углы функционирования) и т.д. «Область интереса» ROI лидарной системы (LIDAR) может быть определена, например, плоским углом или телесным углом. В одном примере ROI также может быть определена в пределах определенного диапазона расстояний (например, до 200 м или около того).
[00053] В контексте настоящего описания «сервер» - это компьютерная программа, которая выполняется на соответствующем аппаратном обеспечении и способна принимать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть реализовано как один физический компьютер или одна физическая компьютерная система, но ни то, ни другое не требуется в отношении настоящей технологии. В данном контексте использование выражения «сервер» не предназначено для обозначения того, что каждая задача (например, полученные инструкции или запросы) или любая конкретная задача была получена, выполнена или вызвана к выполнению одним и тем же сервером (то есть одним и тем же программным и/или аппаратным обеспечением); это означает, что любое количество программных элементов или аппаратных устройств может быть вовлечено в прием/отправку, выполнение или обеспечение выполнения любой задачи или запроса или последствий любой задачи или запроса; и все это программное и аппаратное обеспечение может быть одним сервером или более серверами, оба из которых включены в выражение «по меньшей мере один сервер».
[00054] В контексте настоящего описания «электронное устройство» - это любое компьютерное аппаратное обеспечение, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «электронное устройство» подразумевает, что устройство может функционировать как сервер для других электронных устройств и клиентских устройств, однако это не обязательно в отношении настоящей технологии. Таким образом, некоторые (не ограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует понимать, что в данном контексте тот факт, что устройство функционирует как электронное устройство, не означает, что оно не может функционировать как сервер для других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких клиентских устройств для получения/отправки, выполнения или обеспечения выполнения любой задачи или запроса, или последствий любой задачи или запроса или этапов любого способа, описанного здесь.
[00055] В контексте настоящего описания «клиентское устройство» - это любое компьютерное аппаратное обеспечение, которое способно запускать программное обеспечение, подходящее для соответствующей решаемой задачи. В контексте настоящего описания термин «клиентское устройство» обычно ассоциируется с пользователем клиентского устройства. Таким образом, некоторые (не ограничивающие) примеры клиентских устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройству, действующему как клиентское устройство в данном контексте, не запрещается действовать как сервер для других клиентских устройств. Использование выражения «клиентское устройство» не исключает использования нескольких клиентских устройств для получения/отправки, выполнения или обеспечения выполнения любой задачи или запроса, а также последствий любой задачи или запроса или этапов любого способа, описанного здесь.
[00056] В контексте настоящего описания выражение «информация» включает в себя информацию любого характера или вида, которая может быть сохранена в базе данных. Таким образом, информация включает в себя, но без ограничения перечисленным, аудиовизуальные произведения (изображения, фильмы, звуковые записи, презентации и т.д.), данные (данные о местоположении, численные данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[00057] В контексте настоящего описания выражение «программный компонент» подразумевает включение программного обеспечения (подходящего для конкретного контекста аппаратного обеспечения), которое является одновременно необходимым и достаточным для выполнения конкретной(ых) функции(й), на которую делается ссылка.
[00058] В контексте настоящего описания выражение «носитель хранения компьютерной информации» (также называемый «носитель хранения») предназначен для включения в него носителей любого характера и типа, включая, помимо прочего, RAM, ROM, диски (CD-ROM, DVD, дискеты, жесткие диски и т.д.), USB-ключи, твердотельные накопители, ленточные накопители и т.д. Множество компонентов могут быть объединены для формирования носителей компьютерной информации, включая в себя два или более компонентов носителя одного типа и/или два или более компонентов носителя разных типов.
[00059] В контексте настоящего описания «база данных» представляет собой любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерного аппаратного обеспечения, на котором данные хранятся, реализуются или иным образом предоставляются для использования. База данных может находиться на том же аппаратном обеспечении, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном аппаратном обеспечении, например на выделенном сервере или множестве серверов.
[00060] В контексте настоящего описания слова «первый», «второй», «третий» и т.д. использовались в качестве прилагательных только с целью обеспечения различия между существительными, которые они изменяют друг по отношению к другу, а не для цели описания каких-либо конкретных отношений между этими существительными. Таким образом, например, следует понимать, что использование терминов «первая база данных» и «третий сервер» не предназначено для обозначения какого-либо конкретного порядка, типа, хронологии, иерархии или ранжирования (например) серверов/между серверами, и их использование (само по себе) не подразумевает, что любой «второй сервер» обязательно должен существовать в любой данной ситуации. Кроме того, как обсуждается здесь в других контекстах, ссылка на «первый» элемент и «второй» элемент не препятствует тому, чтобы эти два элемента были одним и тем же фактическим элементом реального мира. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут быть одним и тем же программным и/или аппаратным компонентами, в других случаях они могут быть разными программными и/или аппаратными компонентами.
[00061] Каждая из реализаций настоящей технологии обладает по меньшей мере одним из вышеупомянутых целей и/или аспектов, но не обязательно имеет их все. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или удовлетворять другим целям, которые не описаны в данном документе явным образом.
[00062] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[00063] Эти и другие признаки, аспекты и преимущества настоящей технологии станут более понятными из нижеследующего описания, приложенной формулы изобретения и сопроводительных чертежей, на которых:
[00064] Фиг. 1 изображает схематическое представление примерной компьютерной системы, конфигурируемой для реализации некоторых неограничивающих вариантов осуществления настоящей технологии.
[00065] Фиг. 2 изображает схематическое представление сетевой вычислительной среды, подходящей для использования с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[00066] Фиг. 3 изображает представление реализуемых при помощи компьютера процедур, выполняемых электронным устройством для обнаружения объекта в окружении беспилотного автомобиля (SDC) сетевой вычислительной среды, показанной на Фиг. 2, в соответствии с по меньшей мере некоторыми неограничивающими вариантами осуществления настоящей технологии.
[00067] Фиг. 4 изображает процедуру расширения облака, показанную на Фиг. 3, в соответствии по меньшей мере с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[00068] Фиг. 5 изображает процедуру кластеризации облака, показанную на Фиг. 3, в соответствии по меньшей мере с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[00069] Фиг. 6 изображает процедуру генерирования локального контекста по Фиг. 3 в соответствии по меньшей мере с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[00070] Фиг. 7 изображает процедуру генерирования глобального контекста по Фиг. 3 в соответствии по меньшей мере с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[00071] Фиг. 8 изображает процедуру генерирования встраивания объекта, показанную на Фиг. 3, в соответствии по меньшей мере с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[00072] Фиг. 9 изображает процедуру обнаружения, показанную на Фиг. 3, в соответствии по меньшей мере с некоторыми неограничивающими вариантами осуществления настоящей технологии.
[00073] Фиг. 10 представляет собой схематическое представление способа, выполняемого электронным устройством в соответствии с по меньшей мере некоторыми неограничивающими вариантами осуществления настоящей технологии.
Подробное описание
[00074] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Должно быть понятно, что специалисты в данной области техники смогут разработать различные механизмы, которые, хоть и не описаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее суть и объем.
[00075] Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области техники поймут, что различные реализации настоящей технологии могут иметь большую сложность.
[00076] В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия пониманию и, опять же, не для строгого определения объема или очерчивания границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области техники сможет осуществлять другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.
[00077] Более того, все утверждения в данном документе, излагающие принципы, аспекты и реализации технологии, а также их конкретные примеры, предназначены для охвата как их структурных, так и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Таким образом, например, специалисты в данной области техники осознают, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии. Аналогичным образом, будет понятно, что любые блок-схемы, схемы последовательности операций, диаграммы переходов состояний, псевдо-коды и подобное представляют различные процессы, которые могут быть по существу представлены на считываемых компьютерам носителях и таким образом исполнены компьютером или процессором вне зависимости от того, показан такой компьютер или процессор явным образом или нет.
[00078] Функции различных элементов, показанных на фигурах, включая любой функциональный блок, обозначенный как «процессор», могут быть обеспечены за счет использования специализированного аппаратного обеспечения, а также аппаратного обеспечения, способного выполнять программное обеспечение в сочетании с соответствующим программным обеспечением. При обеспечении процессором, функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. Кроме того, явное использование термина «процессор» или «контроллер» не должно истолковываться как относящееся исключительно к аппаратному обеспечению, способному исполнять программное обеспечение, и может в неявной форме включать в себя, без ограничений перечисленным, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и энергонезависимое хранилище. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.
[00079] Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое явно или неявно показано.
[00080] Учитывая эти основополагающие вещи, рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящей технологии.
Компьютерная система
[00081] Ссылаясь сначала на Фиг. 1, увидим, что на ней изображено схематическое представление компьютерной системы 100, подходящей для использования с некоторыми реализациями настоящей технологии. Компьютерная система 100 включает в себя различные аппаратные компоненты, включая один или более одноядерных или многоядерных процессоров, совместно представленных процессором 110, твердотельный накопитель 120 и память 130, которая может быть памятью с произвольным доступом или любым другим типом памяти.
[00082] Связь между различными компонентами компьютерной системы 100 может быть обеспечена одной или более внутренними и/или внешними шинами (не показаны) (например, шиной PCI, универсальной последовательной шиной, шиной Firewire IEEE 1394, шиной SCSI, шиной Serial-ATA и т.д.), с которой различные компоненты оборудования связаны электронным образом. Согласно вариантам осуществления настоящей технологии твердотельный накопитель 120 хранит программные инструкции, подходящие для загрузки в память 130 и выполнения процессором 110 для определения присутствия объекта. Например, программные инструкции могут быть частью приложения управления транспортным средством, выполняемого процессором 110. Следует отметить, что компьютерная система 100 может иметь дополнительные и/или необязательные компоненты (не показаны), такие как модули сетевой связи, модули локализации и т.п.
Сетевая вычислительная среда
[00083] Обратившись к Фиг. 2 увидим, что изображена сетевая вычислительная среда 200, подходящая для использования с некоторыми неограничивающими вариантами осуществления настоящей. Сетевая вычислительная среда 200 включает в себя электронное устройство 210, связанное с транспортным средством 220 и/или связанное с пользователем (не изображенным), который связан с транспортным средством 220 (например, с оператором транспортного средства 220). Сетевая вычислительная среда 235 также включает в себя сервер 210 на связи с электронным устройством 210 через сеть связи 240 (например, Интернет и т.п., как будет описано более подробно в данном документе ниже).
[00084] По меньшей мере, в некоторых неограничивающих вариантах осуществления настоящей технологии электронное устройство 210 коммуникативно связано с системами управления транспортного средства 220. Электронное устройство 210 может быть выполнено с возможностью управления различными операционными системами транспортного средства 220, включая, но не ограничиваясь перечисленным: ECU (блок управления двигателем), системы рулевого управления, тормозные системы, а также системы сигнализации и освещения (т.е. фары, стоп-сигналы и/или указатели поворота). В таком варианте осуществления транспортное средство 220 может быть беспилотным транспортным средством 220.
[00085] В некоторых неограничивающих вариантах осуществления настоящей технологии сетевая вычислительная среда 200 может включать в себя спутник GPS (не показан), передающий и/или принимающий сигнал GPS на/от электронного устройства 210. Следует понимать, что настоящая технология не ограничивается GPS и может использовать технологию определения местоположения, отличную от GPS. Следует отметить, что спутник GPS можно вообще не использовать.
[00086] Транспортное средство 220, с которым связано электронное устройство 210, может быть любым транспортным средством для отдыха или иного, например, частным или коммерческим автомобилем, грузовиком, мотоциклом и т.п. Хотя транспортное средство 220 изображено как наземное транспортное средство, это может быть не так во всех без исключения неограничивающих вариантах осуществления настоящей технологии. Например, в некоторых неограничивающих вариантах осуществления настоящей технологии транспортное средство 220 может быть водным транспортным средством, таким как лодка, или летательным аппаратом, например летающим дроном.
[00087] Транспортное средство 220 может являться управляемым пользователем транспортным средством или транспортным средством без водителя. В некоторых неограничивающих вариантах осуществления настоящей технологии предполагается, что транспортное средство 220 может быть реализовано как беспилотный автомобиль (SDC). Следует отметить, что конкретные параметры транспортного средства 220 не являются ограничивающими, эти конкретные параметры включают в себя, например: производителя транспортного средства, модель транспортного средства, год выпуска транспортного средства, вес транспортного средства, размеры транспортного средства, распределение веса транспортного средства, площадь поверхности транспортного средства, высоту транспортного средства, тип трансмиссии (например, 2x или 4x), тип шин, тормозную систему, топливную систему, пробег, идентификационный номер транспортного средства и объем двигателя.
[00088] Согласно настоящей технологии реализация электронного устройства 210 не ограничивается чем-либо конкретным. Например, электронное устройство 210 может быть реализовано как блок управления двигателем транспортного средства, центральный процессор транспортного средства, навигационное устройство транспортного средства (например,TomTom™, Garmin™), планшет, персональный компьютер, встроенный в транспортное средство 220 и т.п. Таким образом, следует отметить, что электронное устройство 210 может быть или может не быть постоянно связано с транспортным средством 220. Дополнительно или альтернативно электронное устройство 210 может быть реализовано в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон или радиотелефон). В некоторых вариантах осуществления электронное устройство 210 имеет дисплей 270.
[00089] Электронное устройство 210 может включать в себя некоторые или все компоненты компьютерной системы 100, изображенной на Фиг. 1, в зависимости от конкретного варианта осуществления. В некоторых вариантах осуществления электронное устройство 210 представляет собой бортовое компьютерное устройство и включает в себя процессор 110, твердотельный накопитель 120 и память 130. Другими словами, электронное устройство 210 включает в себя аппаратное обеспечение, и/или программное обеспечение, и/или микропрограммное обеспечение, или их комбинацию для обработки данных, как будет более подробно описано ниже.
[00090] В некоторых неограничивающих вариантах осуществления настоящей технологии сеть 240 связи представляет собой Интернет. В альтернативных неограничивающих вариантах осуществления настоящей технологии сеть 240 связи может быть реализована как любая подходящая локальная сеть (LAN), глобальная сеть (WAN), частная сеть связи и т.п. Следует четко понимать, что реализации для сети 240 связи приведены только в целях иллюстрации. Между электронным устройством 210 и сетью 240 связи предоставляется канал связи (отдельно не пронумерованный), реализация которого будет зависеть, среди прочего, от того, как реализовано электронное устройство 210. Просто в качестве примера, а не ограничения, в тех неограничивающих вариантах осуществления настоящей технологии, где электронное устройство 210 реализовано как устройство беспроводной связи, такое как смартфон или навигационное устройство, линия связи может быть реализована как линия беспроводной связи. Примеры линий беспроводной связи могут включать в себя, без ограничения перечисленным, линию связи сети 3G, линию связи 4G и т.п. Сеть 240 связи также может использовать беспроводное соединение с сервером 235.
[00091] В некоторых вариантах осуществления настоящей технологии сервер 235 реализован как компьютерный сервер и может включать в себя некоторые или все компоненты компьютерной системы 100 с Фиг. 1. В одном неограничивающем примере сервер 235 реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™, но также может быть реализован в любом другом подходящем аппаратном обеспечении, программном обеспечении и/или встроенном программном обеспечении или их комбинации. В проиллюстрированном неограничивающем варианте осуществления настоящей технологии сервер 235 является единственным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 235 могут быть распределены и могут быть реализованы через несколько серверов (не показаны).
[00092] В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 электронного устройства 210 может поддерживать связь с сервером 235 для приема одного или нескольких обновлений. Такие обновления могут включать в себя, помимо прочего, обновления программного обеспечения, обновления карт, обновления маршрутов, обновления погоды и т.п. В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 также может быть выполнен с возможностью передачи на сервер 235 некоторых эксплуатационных данных, таких как пройденные маршруты, данные трафика, данные производительности и т.п. Некоторые или все такие данные, передаваемые между транспортным средством 220 и сервером 235, могут быть зашифрованы и/или анонимизированы.
[00093] Следует отметить, что электронное устройство 210 может использовать различные датчики и системы для сбора информации об окружении 250 транспортного средства 220. Как видно на Фиг. 2, транспортное средство 220 может быть оборудовано множеством систем 280 датчиков. Следует отметить, что различные системы датчиков из множества систем 280 датчиков могут использоваться для сбора различных типов данных, касающихся окружения 250 транспортного средства 220.
[00094] В одном примере множество систем 280 датчиков может включать в себя различные оптические системы, включающие в себя, среди прочего, одну или более систем датчиков типа камеры, которые установлены на транспортном средстве 220 и коммуникативно связаны с процессором 110 электронного устройства 210. Вообще говоря, одна или более систем датчиков типа камеры могут быть выполнены с возможностью сбора данных изображения о различных частях окружения 250 транспортного средства 220. В некоторых случаях данные изображения, предоставленные одной или более системами датчиков типа камеры, могут использоваться электронным устройством 210 для выполнения процедур обнаружения объектов. Например, электронное устройство 210 может быть выполнено с возможностью подачи данных изображения, предоставленных одной или более системами датчиков типа камеры, в нейронную сеть обнаружения объектов (ODNN), которая обучена локализовывать и классифицировать потенциальные объекты в окружении 250 транспортного средства 220.
[00095] В другом примере множество систем 280 датчиков может включать в себя одну или более систем датчиков радарного типа, которые установлены на транспортном средстве 220 и связаны с возможностью осуществления связи с процессором 110. Вообще говоря, одна или более систем датчиков радарного типа могут быть выполнены с возможностью использования радиоволн для сбора данных о различных частях окружения 250 транспортного средства 220. Например, одна или более систем датчиков радарного типа могут быть выполнены с возможностью сбора радарных данных о потенциальных объектах в окружении 250 транспортного средства 220, такие данные потенциально представляют расстояние объектов от системы датчиков радарного типа, ориентацию объектов, скорости движения и/или скорости объектов и т.п.
[00096] В дополнительном примере множество систем 280 датчиков может включать в себя одну или более систем обнаружения и определения дальности с помощью света (LIDAR), которые установлены на транспортном средстве 220 и коммуникативно связаны с процессором 110. Вообще говоря, лидарная система LIDAR выполнена с возможностью сбора данных об окружении 250 транспортного средства 220, используемой, например, для построения многомерной карты объектов в окружении 250 транспортного средства 220. Лидарная система LIDAR может быть установлена или модифицирована на транспортном средстве 220 в различных местах и/или в различных конфигурациях для сбора информации об окружении 250 транспортного средства 220.
[00097] Например, в зависимости от реализации транспортного средства 220 и лидарной системы LIDAR, лидарная система (LIDAR) может быть установлена на внутренней верхней части лобового стекла транспортного средства 220. Тем не менее, другие места для установки лидарной системы входят в объем настоящего раскрытия, в том числе на заднем окне, боковых окнах, переднем капоте, крыше, передней решетке, переднем бампере или сбоку транспортного средства 220.
[00098] В контексте настоящей технологии электронное устройство 210 выполнено с возможностью обнаружения одного или нескольких объектов в окружении 250 транспортного средства 220 на основе данных, полученных от одной или нескольких систем камер и одной или нескольких лидарных систем LIDAR. Например, электронное устройство 210, выполненное с возможностью обнаружения данного объекта в окружении 250 транспортного средства 220, может быть выполнено с возможностью приема данных лидара и данных камеры, связанных с данным объектом, генерирования «встраивания», представляющего признаки, связанные с данным объектом и обнаружения объекта посредством генерирования ограничивающей рамки для объекта.
[00099] Обратившись к Фиг. 3 увидим, что изображена процедура 300 обработки для обнаружения объекта(ов) в окружении 250 транспортного средства 220. Процедура 300 обработки начинается с того, что электронное устройство 210 получает информацию от лидарного (LIDAR) датчика 302 и датчика 304 камеры. В некоторых неограничивающих вариантах осуществления настоящей технологии информация от лидарного датчика 302 поступает в виде данных облака точек, а информация от датчика 304 камеры поступает в виде данных изображения (например, изображения RBG и т.п.). Электронное устройство 210 выполнено с возможностью выполнения процедуры 310 расширения облака (Фиг. 4) для генерирования расширенного облака точек на основе данных облака точек от лидарного датчика 302 и данных изображения с датчика 304 камеры. Как будет описано более подробно ниже со ссылкой на Фиг. 4, электронное устройство 210 также может быть выполнено с возможностью выполнения процедуры 312 выделения визуальных признаков для выделения визуальных признаков из данных изображения и процедуры 314 проецирования для, в некотором смысле, сопоставления точек из данных облака точек с пикселями (и соответствующими визуальными характеристиками) в данных изображения.
[000100] Электронное устройство 210 выполнено с возможностью выполнения процедуры 320 кластеризации облака (Фиг. 5) для генерирования одного или нескольких кластеров точек из расширенного облака точек, где данный кластер расширенных точек связан с соответствующим объектом в окружении 250 транспортного средства. 220. Как будет описано более подробно ниже со ссылкой на Фиг. 5, электронное устройство 210 может быть выполнено с возможностью выполнения процедуры 322 сегментации для классификации точек из расширенного облака точек по различным классам, процедуры 323 фильтрации для фильтрации точек, которые не связаны с классом объекта (например), процедуры 324 прогнозирования центральной точки для определения «расстояния» соответствующих точек от оцененной центральной точки соответствующего объекта, процедуры 326 гравитации для, в некотором роде, «перемещения» точек в направлении соответствующей оцененной центральной точки, и процедуры 328 кластеризации для идентификации кластера точек, которые связаны с данным объектом.
[000101] Предполагается, что цель процедуры 310 расширения облака состоит в том, чтобы «расширить» данные облака точек от лидарного датчика 302 визуальными характеристиками, извлеченными из данных изображения датчика 304 камеры. Разработчики настоящей технологии осознали, что, по меньшей мере, в некоторых реализациях настоящей технологии, таким образом, расширение данных облака точек с помощью визуальных признаков может позволить электронному устройству 210 улучшить процедуру 320 кластеризации облака, которая выполняется электронным устройством 210 для идентификации одного или более кластеров в данных облака точек, связанных с соответствующими объектами в окружении 250 транспортного средства 220.
[000102] Электронное устройство 210 выполнено с возможностью выполнения процедуры 330 генерирования встраивания для генерирования вектора признаков или «встраивания», представляющего данный объект в окружении 250 транспортного средства 220. Как будет описано более подробно ниже, электронное устройство 210 может быть выполнено с возможностью выполнения процедуры 332 генерирования локального контекста (Фиг. 6) для определения информации, указывающей «локальный контекст» данного объекта в окружении 250 транспортного средства 220, процедуры 334 генерирования глобального контекста (Фиг. 7) для определения информации, указывающей «глобальный контекст» данного объекта в окружении 250 транспортного средства 220, процедуры 336 генерирования третьего вектора признаков (Фиг. 8) для определения вектора признаков, представляющего данный объект в окружении 250 транспортного средства 220, и, возможно, процедуры 338 зацикливания.
[000103] Электронное устройство 210 выполнено с возможностью выполнения процедуры 340 обнаружения (Фиг. 9) для генерирования ограничивающей рамки для данного объекта на основе вектора признаков, сгенерированного для этого объекта электронным устройством 210. Например, электронное устройство 210 может быть выполнено с возможностью использования данного третьего вектора признаков, сгенерированного с помощью процедуры 336 генерирования третьего вектора признаков, для выполнения процедуры 340 обнаружения, или, альтернативно, может быть выполнено с возможностью использования другого вектора признаков, сгенерированного посредством процедуры 336 генерирования третьего вектора признаков после одной или нескольких процедур 338 зацикливания для выполнения процедуры 340 обнаружения.
[000104] Обратившись к Фиг. 4 увидим, что изображено представление того, как процедура 310 расширения облака может выполняться по меньшей мере в некоторых вариантах осуществления настоящей технологии.
[000105] С одной стороны, датчик 304 камеры выполнен с возможностью генерирования данных 404 изображения. Данные 404 изображения обрабатываются сверточной нейронной сетью (CNN) 406. Вообще говоря, CNN 406 выполнена с возможностью выполнения процедуры 312 выделения визуальных признаков на данных 404 изображения. CNN 406 принимает данные 404 изображения в качестве ввода и генерирует вывод в форме тензора 408, содержащего информацию, указывающую визуальные характеристики/признаки окружения 250 транспортного средства 220, извлеченную CNN 406 из данных 404 изображения. Например, CNN 406 может извлекать признаки изображения для соответствующих пикселей изображения, и каковые признаки включены в тензор 408.
[000106] С другой стороны, лидарный датчик 302 выполнен с возможностью генерирования данных облака точек в форме облака 402 точек. Вообще говоря, облако 402 точек содержит множество точек, которые образуют трехмерное представление окружения 250 транспортного средства 220. Например, каждая точка в облаке точек может содержать информацию, указывающую местоположение данной поверхности, которая отразила сигнал от лидарного датчика 302 (LIDAR). Другие параметры лидара могут быть связаны с соответствующими точками из облака 402, как известно в данной области техники.
[000107] Электронное устройство 210 затем конфигурируется для выполнения процедуры 314 проецирования. Цель процедуры 314 проецирования состоит в том, чтобы в некотором смысле «объединить» информацию, полученную от лидарного датчика 302 и от датчика 304 камеры. Другими словами, процедура 314 проецирования может позволить электронному устройству 210 генерировать расширенное облако точек на основе информации из облака 402 точек и из тензора 408. С этой целью электронное устройство 210 может быть выполнено с возможностью использования «матрицы проецирования» для определения соответствия между пикселями изображения (и визуальными характеристиками/признаками, извлеченными из него) и точками из облака 402 точек.
[000108] Следует отметить, что лидарный датчик 302 и датчик 304 камеры имеют соответствующие системы координат, относящиеся к транспортному средству 220. Наличие доступа к этим системам координат позволяет электронному устройству 210 построить матрицу проекции из трехмерного представления окружения 250 в плоскость изображения для изображения, захваченного датчиком 304 камеры. Например, данная точка из облака 402 точек может использоваться в комбинации с (умноженной на) матрицей проекции для возврата двумерной координаты, представляющей положение данного пикселя на изображении.
[000109] Следовательно, электронное устройство 210 может быть выполнено с возможностью генерирования расширенного облака 410 точек путем использования процедуры 314 проецирования на основе облака 402 точек и тензора 408. Например, данная расширенная точка из расширенного облака 410 точек теперь может быть связана с расширенной информацией 412 точки, содержащей информацию 414 точки из соответствующей точки из облака 402 точек, такую как, например, параметры лидара (LIDAR) и информацию 416 изображения, такую как как параметры RGB соответствующего пикселя и визуальные характеристики/признаки, связанные с соответствующим пикселем.
[000110] Разработчики настоящей технологии осознали, что выполнение процедуры 310 расширения облака, во время которой электронное устройство 210 конфигурируется для генерирования расширенного облака 410 точек путем объединения информации из облака 402 точек и данных 404 изображения, может повысить качество процедуры кластеризации 320 облака. Некоторые варианты осуществления настоящей технологии могут позволить уменьшить количество точек, которые ошибочно включены в и/или исключены из кластера точек, ассоциированного с данным объектом, во время процедуры 310 кластеризации облака. Определение данного кластера точек, связанных с данным объектом в окружении транспортного средства 220, может быть облегчено путем добавления визуальной информации в облако 402 точек, генерируемое лидарным датчиком 302.
[000111] Как электронное устройство 210 выполнено с возможностью выполнения процедуры 320 кластеризации на основе расширенного облака 410 точек, теперь будет описано более подробно со ссылкой на Фиг. 5.
[000112] Вообще говоря, цель процедуры 320 кластеризации состоит в том, чтобы сгенерировать кластер точек либо из одного облака 402 точек, либо из расширенного облака 410 точек, которые связаны с данным объектом в окружении транспортного средства 220. В некоторых вариантах осуществления, таких как показанный на Фиг. 5, электронное устройство 210 также может быть выполнено с возможностью генерирования более одного кластера, а именно первого кластера 540 и второго кластера 550. Следует отметить, что точки в первом кластере 540 связаны с первым данным объектом, а второй кластер 550 связан со вторым данным объектом в окружении транспортного средства 220.
[000113] Электронное устройство 210 может использовать алгоритм 502 сегментации для сегментации расширенного облака 410 точек и алгоритм 504 прогнозирования центральной точки для определения векторов расстояния для соответствующих точек, представляющих оценочное расстояние до центральной точки объекта.
[000114] С одной стороны, цель алгоритма 502 сегментации состоит в том, чтобы классифицировать расширенные точки из расширенного облака точек по меньшей мере на два класса. Например, алгоритм 502 сегментации может позволить электронному устройству 210 определять, относится ли данная расширенная точка к классу объекта или к классу, не являющемуся объектом. В другом примере алгоритм 502 сегментации может позволить электронному устройству 210 определять, относится ли данная расширенная точка к классу объекта автомобиль, классу объекта пешеход, классу объекта мотоцикл или к другому классу.
[000115] По меньшей мере, в некоторых вариантах осуществления настоящей технологии предполагается, что алгоритм 502 сегментации может быть выполнен с возможностью выполнения трехмерной семантической сегментации, во время которой расширенные точки из расширенного облака точек классифицируются по наиболее вероятному классу в соответствии с предсказанными вероятностями класса.
[000116] Алгоритм 502 сегментации может быть реализован как NN, обученная для трехмерной семантической сегментации. В некоторых вариантах реализации алгоритм 502 сегментации может быть обучен способом, известным из аспектов, раскрытых в документе «Sensor Fusion for Joint 3D Object Detection and Semantic Segmentation», авторства Gregory P. Meyer, Jake Charland, Darshan Hegde, Ankit Laddha, Carlos Vallespi-Gonzalez из Uber Advanced Technologies Group, и опубликованном 25 апреля 2019 г., содержание которого полностью включено в настоящий документ посредством ссылки.
[000117] Разработчики настоящей технологии осознали, что выполнение обнаружения объектов на основе семантически сегментированного облака точек может быть улучшено. По меньшей мере в некоторых вариантах осуществления настоящей технологии разработчики настоящей технологии разработали системы, которые, вместо прямого использования семантически сегментированного облака точек для обнаружения объектов, выполнены с возможностью дальнейшего расширения семантически сегментированного облака точек информацией, указывающей локальные и глобальные контексты объекта до выполнения обнаружения (например, генерирования ограничивающей рамки) в соответствии по меньшей мере с некоторыми вариантами осуществления настоящей технологии.
[000118] В проиллюстрированном примере электронное устройство 210 может быть выполнено с возможностью выполнения процедуры 322 сегментации для определения первого набора расширенных точек 510, которые относятся к классу объекта, и второго набора расширенных точек 512, которые не относятся к классу объекта. Как будет описано ниже, такая классификация расширенных точек может позволить отфильтровать второй набор расширенных точек 512, которые не относятся к классу объекта. Следует отметить, что хотя процедура 322 сегментации может позволить определить первый набор расширенных точек 510, которые относятся к классу объекта, электронное устройство 210 (пока еще) не имеет информации, указывающей, связан ли первый набор расширенных точек 510 с одним и тем же объектом в окружении транспортного средства 220 или с разными объектами в окружении транспортного средства 220.
[000119] С другой стороны, целью алгоритма 504 прогнозирования центральной точки является определение вектора расстояния для соответствующих точек из расширенного облака 410 точек. Например, алгоритм 504 прогнозирования центральной точки может позволить электронному устройству 210 определять расчетное расстояние соответствующей расширенной точки от потенциальной центральной точки данного объекта, которому она принадлежит.
[000120] Следует отметить, что алгоритм 504 прогнозирования центральной точки может быть реализован как данная NN, обученная для определения расчетных расстояний точек от потенциальной центральной точки данного объекта. Так же, как пример, во время данной итерации обучения алгоритма 504 прогнозирования центральной точки, NN может принимать данные помеченных точек. Данные помеченных точек могут включать в себя множество точек и ограничивающую рамку наземных контрольных данных и/или центральную точку ограничивающей рамки наземных контрольных данных для данного объекта, с которым связано подмножество множества точек. В этом неограничивающем примере NN может быть поручено прогнозировать, для соответствующих точек из подмножества точек, расстояние до центральной точки ограничивающей рамки наземных контрольных данных. Может выполняться большое количество итераций обучения, так что алгоритм 504 прогнозирования центральной точки (обученная NN) может прогнозировать расстояния между точками от облака точек до предполагаемой центральной точки соответствующего объекта.
[000121] В проиллюстрированном примере электронное устройство 210 может быть выполнено с возможностью выполнять процедуру 324 прогнозирования центральной точки и генерировать вектор расстояния для соответствующей расширенной точки из расширенного облака 410 точек. Хотя в проиллюстрированном примере электронное устройство 210 генерирует вектор расстояния для каждой расширенной точки из расширенного облака 410 точек, в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью выполнения процедуры 324 прогнозирования центральной точки на основе только первого набора расширенных точек 510. Другими словами, электронное устройство 210 может быть сначала выполнено с возможностью выполнения процедуры 323 фильтрации для фильтрации второго набора расширенных точек 512, которые не относятся к классу объекта, а затем может быть выполнено с возможностью использования результирующего первого набора расширенных точек 510, которые относятся к классу объекта, в качестве входных данных в алгоритм 504 прогнозирования центральной точки.
[000122] Электронное устройство 210 может быть выполнено с возможностью использования первого набора расширенных точек 510, сгенерированного процедурой 322 сегментации, и соответствующих векторов расстояния, сгенерированных процедурой 324 прогнозирования центральной точки, для выполнения процедуры 326 гравитации. Вообще говоря, процедура 326 гравитации позволяет электронному устройству 210 в некотором смысле «перемещать» (временно с целью определения кластеров точек) местоположения соответствующих расширенных точек из первого набора расширенных точек 510 в направлении, обозначенном их соответствующими векторами расстояния. Другими словами, электронное устройство 210 выполнено с возможностью генерирования модифицированных расширенных точек (по меньшей мере временно) путем перемещения первого набора расширенных точек к соответствующей потенциальной центральной точке.
[000123] Электронное устройство 210 выполнено с возможностью выполнения процедуры 328 кластеризации на основе модифицированных расширенных точек для идентификации первого кластера 540 и второго кластера 550. Электронное устройство 210 может быть выполнено с возможностью применения множества алгоритмов кластеризации, таких как, например, алгоритмы K-ближайших соседей (KNN) и/или другие алгоритмы, позволяющие кластеризовать данные точек, как известно в данной области техники. Следует отметить, что первый кластер 540 содержит расширенные точки, связанные с первым объектом в окружении 250 транспортного средства 220, тогда как второй кластер 550 содержит расширенные точки, связанные со вторым объектом в окружении 250 транспортного средства 220.
[000124] Электронное устройство 210 может быть выполнено с возможностью хранения расширенных точек из расширенного облака 410 точек совместно с информацией, указывающей, какие расширенные точки содержатся в первом кластере 540, а какие расширенные точки содержатся во втором кластере 550. В других вариантах осуществления электронное устройство 210 может сохранять точки из облака 402 точек вместе с информацией, указывающей, какие точки из облака 402 точек имеют соответствующие расширенные точки, содержащиеся в первом кластере 540, а какие точки из облака 402 точек имеют соответствующие расширенные точки, содержащихся во втором кластере 550. Как будет описано ниже, электронное устройство 210 может продолжить обработку точек из облака 402 точек или обработку точек из расширенного облака 410 точек. Предполагается, что облако 402 точек может быть расширено визуальными функциями с целью генерирования первого кластера 540 и второго кластера 550, но как только информация об этих кластерах сохранена в индексе, электронное устройство 210 может продолжить обработку облака 402 точек вместо обработки расширенного облака 410 точек.
[000125] Как уже упоминалось, электронное устройство 210 выполнено с возможностью генерировать первый вектор признаков, представляющий первый объект, связанный с первым кластером 540, и второй вектор признаков, представляющий второй объект, связанный со вторым кластером 550. В некоторых вариантах осуществления можно сказать, что первый вектор признаков и второй вектор признаков могут быть первым и вторым встраиваниями, представляющими первый объект, связанный с первым кластером 540, и второй объект, связанный со вторым кластером 550, соответственно. Как электронное устройство 210 может быть выполнено с возможностью генерирования этих встраиваний для соответствующих объектов, будет описано со ссылкой на фигуры 6-8.
[000126] Следует отметить, что электронное устройство 210 может быть выполнено с возможностью доступа к индексу, в котором хранится информация о первом кластере 540 и о втором кластере 550. Как показано на Фиг. 6, электронное устройство 210 может быть выполнено с возможностью ввода в первую NN 610 первого кластера 540 расширенных точек. Например, данная расширенная точка 701 из первого кластера 540 связана с информацией 710 точки, включающей соответствующие параметры 711 лидара и визуальные характеристики 712. Электронное устройство 210 может быть выполнено с возможностью ввода первого кластера 540 с соответствующей информацией точки каждой точки в первом кластере 540 в первую NN 610, выполненную с возможностью генерирования первого вектора 640 признаков.
[000127] Первая NN 610 может быть реализована способом, известным из аспектов, раскрытых в публикации «PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation», авторства Charles R. Qi, Hao Su, Kaichun Mo, и Leonidas J. Guibas из Стэнфордского университета и опубликованной 10 апреля 2017 г., содержание которой включено в настоящий документ посредством ссылки в целиком.
[000128] Следует отметить, что первый вектор 640 признаков указывает локальный контекст соответствующего объекта, связанного с первым кластером 540. Можно сказать, что этот локальный контекст представляет собой функцию, вычисленную на основе точек из первого кластера 540 и которая описывает геометрию объекта, связанного с первым кластером 540, и, следовательно, предоставляет «локальную» информацию о соответствующем объекте. По меньшей мере в некоторых вариантах осуществления настоящей технологии этот локальный контекст может представлять геометрию данного объекта, связанного с первым кластером 540. Электронное устройство 210 может быть выполнено с возможностью конкатенации первого вектора 640 признаков с информацией точки каждой расширенной точки из первого кластера 540. Можно сказать, что точки первого кластера 540 в облаке точек могут быть расширены дополнительной информацией, указывающей локальный контекст его соседей в этом первом кластере 540.
[000129] Аналогичным образом, электронное устройство 210 может быть выполнено с возможностью ввода в первую NN 610 второго кластера 550 расширенных точек. Например, данная расширенная точка 702 из второго кластера 550 связана с информацией 720 точки, включающей соответствующие параметры 721 лидара и визуальные характеристики 722. Электронное устройство 210 может быть выполнено с возможностью ввода второго кластера 550 с соответствующей информацией точки каждой точки во втором кластере 550 в первую NN 610, выполненную с возможностью генерирования другого первого вектора 650 признаков.
[000130] Следует отметить, что другой первый вектор 650 признаков указывает локальный контекст соответствующего объекта, связанного со вторым кластером 550. Можно сказать, что этот локальный контекст представляет собой функцию, вычисленную на основе точек из второго кластера 550 и которая описывает геометрию объекта, связанного со вторым кластером 550, и, следовательно, предоставляет «локальную» информацию о соответствующем объекте. По меньшей мере в некоторых вариантах осуществления настоящей технологии этот локальный контекст может представлять геометрию данного объекта, связанного со вторым кластером 540. Электронное устройство 210 может быть выполнено с возможностью конкатенации другого первого вектора 650 признаков с информацией точки каждой расширенной точки из первого кластера 550. Можно сказать, что точки второго кластера 550 в облаке точек могут быть расширены дополнительной информацией, указывающей локальный контекст его соседей в этом втором кластере 550.
[000131] Чтобы лучше проиллюстрировать это, теперь будет сделана ссылка на Фиг. 7, где расширенное облако 799 точек проиллюстрировано с конкатенированной информацией, как объяснено выше. Как изображено на Фиг. 7, данная расширенная точка 701 из первого кластера 540 связана с информацией 710 точки, которая теперь содержит первый вектор 640 признаков, сгенерированный первой NN 610. Точно так же данная расширенная точка 702 из второго кластера 550 связана с информацией 710 точки, которая теперь содержит другой первый вектор 650 признаков, сгенерированный первой NN 610.
[000132] Электронное устройство 210 выполнено с возможностью ввода расширенного облака 799 точек в CNN 780, выполненную с возможностью генерирования расширенных точек соответствующих вторых векторов признаков. Например, электронное устройство 210 может быть выполнено с возможностью использования CNN 780 для генерирования второго вектора 740 признаков для данной расширенной точки 701 из первого кластера 540.
[000133] Следует отметить, что у CNN 780 есть рецептивное поле. В данной CNN каждый нейрон получает входные данные из некоторого количества местоположений на предыдущем уровне. В полносвязном слое каждый нейрон получает входные данные от каждого нейрона предыдущего слоя. В сверточном слое каждый нейрон получает входные данные только из ограниченной области предыдущего слоя, называемой рецептивным полем нейрона. Таким образом, в каждом сверточном слое каждый нейрон принимает входные данные из большей области точек во входном облаке, чем предыдущие слои. Это происходит из-за многократного применения свертки, которая учитывает значение точки и соседних с ней точек.
[000134] Следует отметить, что электронное устройство 210, использующее CNN 780, может генерировать второй вектор 740 признаков для данной расширенной точки 701 из первого кластера 540 на основе части расширенного облака 410 точек. Эта часть включает в себя точки из первого кластера 540 и другие расширенные точки из расширенного облака 410 точек, которые находятся рядом с первым кластером 540. Объем части из расширенного облака 410 точек, учитываемой CNN 780, зависит, среди прочего, от размера соответствующего поля CNN 780, которое захватывает часть расширенного облака 410 точек. Следовательно, упомянутая часть расширенного облака 410 точек исключает точки из расширенного облака 410 точек, которые в некотором смысле находятся «вне» рецептивного поля CNN 780.
[000135] По меньшей мере в некоторых вариантах осуществления настоящей технологии рецептивное поле CNN 780 может иметь размер, который позволяет захватывать по меньшей мере часть расширенного облака 799 точек, включая первый кластер 540 (с конкатенированными данными) и другие точки из расширенного облака 799 точек, которые находятся рядом с первым кластером 540. Предполагается, что часть расширенного облака 799 точек исключает точки из облака точек, которые находятся за пределами рецептивного поля CNN 780.
[000136] Следует отметить, что второй вектор 740 признаков данной расширенной точки 701 из первого кластера 540 указывает локальный контекст соответствующего объекта, связанного с первым кластером 540, и глобальный контекст соответствующего объекта, связанного с первым кластером 540.
[000137] CNN 780 может быть выполнена с возможностью генерирования данного второго вектора признаков для соответствующей точки части расширенного облака 799 точек посредством, в некотором смысле, «просмотра» информации точки соседних точек в этой части. В результате данный второй вектор признаков данной точки из первого кластера 540 основан на соответствующем первом векторе признаков, указывающем локальный контекст объекта, и теперь расширяется информацией, указывающей «глобальный» контекст объекта в окружении 250 транспортного средства 220. Можно сказать, что глобальный контекст может быть функцией, вычисленной на основе точек из первого кластера 540 и других соседних точек из расширенного облака точек 799, и которая описывает признаки точек рядом с первым кластером 540 и/или геометрию потенциальных объектов рядом с первым кластером 540 и/или различие в признаках между соседними точками и точками из первого кластера 540, и, следовательно, предоставляет «глобальную» информацию о соответствующем объекте. По меньшей мере в некоторых вариантах осуществления можно сказать, что глобальный контекст может представлять геометрию других потенциальных объектов в окружении транспортного средства 220 и которые расположены рядом с соответствующим объектом, связанным с первым кластером 540.
[000138] Аналогичным образом, электронное устройство 210 может быть выполнено с возможностью генерирования другого второго вектора 750 признаков для данной расширенной точки 702 из второго кластера 550.
[000139] В результате электронное устройство 210 может быть выполнено с возможностью генерирования расширенного облака 899 точек, где точки из первого кластера 540 связаны с соответствующими вторыми векторами признаков из CNN 780 и где точка из второго кластера 550 связана с соответствующими другими вторыми векторами признаков из CNN 780.
[000140] Как упоминалось ранее, электронное устройство 210 может снова использовать первую NN 610 для обработки первого кластера 540 и второго кластера 550 из расширенного облака 899 точек. Например, со ссылкой на Фиг. 8, увидим, что электронное устройство 210 выполнено с возможностью использования вторых векторов признаков соответствующих расширенных точек из первого кластера 540 в качестве входных данных в первую NN 610 для генерирования третьего вектора 840 признаков. Третий вектор 840 признаков представляет соответствующий объект, связанный с первым кластером 540, и указывает как локальный, так и глобальный контексты соответствующего объекта, связанного с первым кластером 540.
[000141] Аналогичным образом, электронное устройство 210 выполнено с возможностью использования других вторых векторов признаков соответствующих расширенных точек из второго кластера 550 в качестве входных данных в первую NN 610 для генерирования другого третьего вектора 850 признаков. Другой третий вектор 850 признаков представляет соответствующий объект, связанный со вторым кластером 550, и указывает как локальный, так и глобальный контексты соответствующего объекта, связанного со вторым кластером 550.
[000142] Обратившись к Фиг. 9 увидим, что изображено представление того, как электронное устройство 210 может быть выполнено с возможностью выполнения процедуры 340 обнаружения. Электронное устройство 210 выполнено с возможностью использования третьего вектора 840 признаков для генерирования ограничивающей рамки вокруг соответствующего объекта, связанного с первым кластером 540. Как видно, электронное устройство 210 может быть выполнено с возможностью ввода третьего вектора 840 признаков в многослойный перцептрон (MLP) 910, обученный генерировать данные ограничивающей рамки на основе введенного вектора признаков. Таким образом, MLP 910 выполнен с возможностью обработки третьего вектора 840 признаков и генерирования данных 940 ограничивающей рамки, представляющих геометрию первой ограничивающей рамки, для обнаружения соответствующего объекта, связанного с первым кластером 540.
[000143] По меньшей мере в некоторых вариантах осуществления настоящей технологии MLP 910 может быть обучен и реализован способом, известным из аспектов, раскрытых в патентной публикации США № 2020/082560, озаглавленной «ESTIMATING TWO-DIMENSIONAL OBJECT BOUNDING BOX INFORMATION BASED ON BIRD'S-EYE VIEW POINT CLOUD» и опубликованной 12 марта 2020 г., содержание которого полностью включено в настоящий документ посредством ссылки.
[000144] Аналогичным образом, электронное устройство 210 выполнено с возможностью использования другого третьего вектора 850 признаков для генерирования ограничивающей рамки вокруг соответствующего объекта, связанного со вторым кластером 550. Как видно, электронное устройство 210 может быть выполнено с возможностью ввода другого третьего вектора 850 признаков в MLP 910, выполненного с возможностью обработки другого третьего вектора 850 признаков и генерирования данных 950 ограничивающей рамки, представляющих геометрию второй ограничивающей рамки для обнаружения соответствующего объекта, связанного со вторым кластером 550.
[000145] В некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью расширять третий вектор 840 признаков информацией об объекте, связанном со вторым кластером 550. Например, электронное устройство 210 может быть выполнено так, чтобы генерировать вектор внимания как взвешенную комбинацию третьего вектора 840 признаков и другого третьего вектора 850 признаков, и где веса зависят от третьего вектора 840 признаков и другого третьего вектора 850 признаков. Таким образом, электронное устройство 210 может быть выполнено с возможностью конкатенирования информации в векторе внимания с третьим вектором признаков и использования результирующего вектора в качестве ввода в MLP 910 для генерирования данных 940 ограничивающей рамки. Таким образом, совместное использование информации среди третьих векторов признаков может позволить повысить качество ограничивающей рамки, сгенерированной на основе расширенного таким образом третьего вектора признаков.
[000146] Однако в других вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью использования третьего вектора 840 признаков аналогично тому, как первый вектор 640 признаков используется электронным устройством 210 для добавления информации к точкам из первого кластера 540. В этих вариантах осуществления предполагается, что электронное устройство 210 может быть выполнено с возможностью использовать первую NN 610 и CNN 780 в «циклической конфигурации» и выполнять заранее определенное количество итераций, в которых точки из первого кластера 540 итеративно расширяются локальным и глобальным контекстами о соответствующем объекте в окружении 250 транспортного средства 220.
[000147] Заранее определенное количество итераций может быть выбрано оператором электронного устройства на основании ограничений вычислительных ресурсов в реальном времени и/или ограничений скорости вычислений. Разработчики настоящей технологии поняли, что разработка системы, в которой локальный и глобальный контексты итеративно добавляются к информации точки во время соответствующих фаз использования первой NN и второй NN, может сгенерировать вектор признаков для объекта, который повысит точность ограничивающих рамок, сгенерированных MLP 910. В некоторых вариантах осуществления предполагается, что отдельные первые NN и отдельные CNN могут использоваться во время двух последовательных итераций. Кроме того, одна итерация может состоять из электронного устройства 210, использующего расположенную в шахматном порядке комбинацию первых NN и CNN, не выходя за рамки настоящей технологии.
[000148] Разработчики настоящей технологии осознали, что из-за «глубины» информации о соответствующем объекте в окружении 250, включенной в третий вектор 840 признаков, электронное устройство 210, вероятно, будет генерировать аналогичные третьи векторы признаков для соответствующего объекта в разные моменты времени. По меньшей мере, в некоторых аспектах настоящей технологии эта реализация может включать и/или улучшать возможности отслеживания объекта электронного устройства 210.
[000149] В некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью (i) генерировать третий вектор 840 признаков для первого объекта в первый момент времени, (ii) и генерировать другой вектор признаков для второго объекта во второй момент времени, аналогично тому, как третий вектор 840 признаков генерируется в первый момент времени, и (iii) генерировать коэффициент подобия путем сравнения третьего вектора 840 признаков и другого вектора признаков. В ответ на то, что коэффициент подобия превышает заранее определенный порог, электронное устройство 210 может быть выполнено с возможностью определения того, что первый объект и второй объект являются одним и тем же объектом в разные моменты времени. Такое отслеживание объектов в разные моменты времени может позволить электронному устройству генерировать кинематические данные о движении соседних объектов относительно SDC.
[000150] В дополнительных вариантах осуществления настоящей технологии предполагается, что некоторые точки, связанные с данным объектом, могут быть ошибочно исключены из первого кластера 540. В таких случаях, как только данные 940 ограничивающей рамки сгенерированы для данного объекта, связанного с первым кластером 540, электронное устройство 210 может быть выполнено с возможностью идентификации по меньшей мере одной точки выброса в расширенном облаке точек и использования этой по меньшей мере одной точки выброса для модифицирования данных 940 ограничивающей рамки. Таким образом, электронное устройство 210 может быть выполнено с возможностью генерирования модифицированной ограничивающей рамки для данного объекта на основе ограничивающей рамки и по меньшей мере одной точки выброса, и которая охватывает не только первый кластер 540, но также по меньшей мере одну точку выброса.
[000151] В некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью выполнения реализуемого при помощи компьютера способа 1000, изображенного на Фиг. 10. Каким образом электронное устройство 210 выполнено с возможностью выполнения различных этапов способа 100, теперь будет описано более подробно.
ЭТАП 1002: генерирование электронным устройством кластера точек из облака точек.
[000152] Способ 1000 начинается на этапе 1002 электронным устройством 210, выполненным с возможностью генерирования данного кластера точек из данного облака точек. В некоторых вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью выполнения процедуры 310 расширения облака и процедуры 320 кластеризации облака для генерирования данного кластера.
[000153] В одном неограничивающем примере электронное устройство 210 может быть выполнено с возможностью генерирования расширенного облака 410 точек, а затем может использовать расширенное облако 410 точек для генерирования первого кластера 540 и второго кластера 550.
[000154] В некоторых вариантах осуществления данное облако точек может быть расширенным облаком точек, так что данная расширенная точка из расширенного облака точек связана с местоположением данного объекта относительно транспортного средства 220 и визуальными характеристиками данного объекта.
[000155] В некоторых вариантах осуществления, как часть этапа 1002, электронное устройство 210 может быть выполнено с возможностью получения от лидарной (LIDAR) системы 302 данных облака точек, представляющих облако 402 точек, и получения от системы 304 камеры данных 404 изображения, представляющих изображение окружения транспортного средства 220. Электронное устройство 210 также может генерировать, с использованием CNN 406, визуальные характеристики для соответствующих пикселей изображения. Электронное устройство 210 также может генерировать расширенное облако 410 точек, проецируя пиксели изображения с соответствующими визуальными характеристиками на соответствующие точки из облака 402 точек так, что данная расширенная точка из расширенного облака 410 точек связана с местоположением данного объекта относительно транспортного средства 220 и визуальными характеристиками соответствующего пикселя.
[000156] В дополнительных вариантах осуществления электронное устройство 210 может быть выполнено с возможностью сегментации расширенного облака 410 точек по меньшей мере на два класса точек, и где по меньшей мере два класса точек включают в себя класс объекта. Расширенные точки класса объекта повторно связаны с данным объектом в окружении транспортного средства 220. В некоторых вариантах осуществления электронное устройство 210 может выполнять семантическую сегментацию расширенного облака точек для идентификации групп точек, связанных с соответствующими классами точек. Электронное устройство 210 может также генерировать векторы расстояния для расширенных точек класса объекта. Например, электронное устройство 210 может генерировать векторы расстояния для первого набора расширенных точек 510. Данный вектор расстояния представляет оценочное расстояние соответствующей расширенной точки класса объекта от потенциальной центральной точки данного объекта. Предполагается, что электронное устройство 210 может генерировать модифицированные расширенные точки класса объекта, перемещая их соответствующие местоположения в направлении соответствующих векторов расстояния. В одном неограничивающем примере электронное устройство 210 может выполнять процедуру 326 гравитации для генерирования модифицированных расширенных точек класса объекта.
[000157] По меньшей мере, в некоторых вариантах осуществления настоящей технологии электронное устройство 210 может также выполнять алгоритм кластеризации на модифицированных расширенных точках для идентификации по меньшей мере одного кластера.
ЭТАП 1004: генерирование, электронным устройством с использованием первой нейронной сети (NN), первого вектора признаков на основе кластера, и указывающего локальный контекст данного объекта в окружении SDC.
[000158] Способ 1000 переходит к этапу 1004, когда электронное устройство 210 использует данную первую NN для генерирования данного первого вектора признаков на основе данного кластера из этапа 1002. Данный первый вектор признаков указывает локальный контекст соответствующего объекта в окружении транспортного средства 220. По меньшей мере, в некоторых вариантах осуществления локальный контекст может представлять геометрию соответствующего объекта в окружении транспортного средства 220.
[000159] В некоторых вариантах осуществления первая NN может быть реализована как модель PointNet. Предполагается, что данные, представляющие данный первый вектор признаков, могут быть конкатенированы с данными точки, ассоциированными с соответствующей точкой из данного кластера.
ЭТАП 1006: генерирование, электронным устройством с использованием второй NN, вторых векторов признаков для соответствующих точек из кластера на основе части облака точек, причем данный второй вектор признаков указывает локальный контекст данного объекта в окружении SDC и глобальный контекст данного объекта в окружении SDC
[000160] Способ 1000 переходит к этапу 1006, когда электронное устройство 210, выполнено с возможностью использования второй данной NN для генерирования данных вторых векторов признаков для соответствующих точек из данного кластера этапа 1002 на основе части облака точек. Данный второй вектор признаков указывает локальный контекст соответствующего объекта и глобальный контекст соответствующего объекта в окружении транспортного средства 220.
[000161] По меньшей мере в некоторых вариантах осуществления настоящей технологии вторая NN может быть CNN 780, имеющей рецептивное поле, захватывающее часть облака точек. Также предполагается, что часть облака точек исключает точки из облака точек, которые находятся за пределами рецептивного поля CNN 780. Следует отметить, что в некоторых вариантах осуществления глобальный контекст может представлять геометрию других потенциальных объектов в окружении транспортного средства 220.
ЭТАП 1008: генерирование, электронным устройством с использованием первой NN, третьего вектора признаков для данного объекта на основе вторых векторов признаков кластера, и указывающего как локальный, так и глобальный контекст объекта в окружении SDC
[000162] Способ 1000 переходит к этапу 1008, когда электронное устройство 210 использует (снова) первую NN для генерирования данного третьего вектора признаков для соответствующего объекта на основе вторых векторов признаков соответствующего кластера, сгенерированного второй NN. Третий вектор признаков указывает как локальный, так и глобальный контекст соответствующего объекта в окружении транспортного средства 220.
ЭТАП 1010: генерирование, электронным устройством с использованием третьей NN, ограничивающей рамки вокруг данного объекта с использованием третьего вектора признаков
[000163] Способ 1000 переходит к этапу 1010 с электронным устройством 210, выполненным с возможностью использования третьей NN (например, MLP) для генерирования ограничивающей рамки вокруг соответствующего объекта с использованием генерирования третьего вектора признаков на этапе 1008.
[000164] Однако в других вариантах осуществления настоящей технологии электронное устройство 210 может быть выполнено с возможностью использования третьего вектора 840 признаков аналогично тому, как первый вектор 640 признаков используется электронным устройством 210 для добавления информации к точкам из первого кластера 540. В этих вариантах осуществления предполагается, что электронное устройство 210 может быть выполнено с возможностью использованием первой NN 610 и CNN 780 в «циклической конфигурации» и выполнения заранее определенного количества итераций, в которых точки из первого кластера 540 итеративно расширяются локальным и глобальным контекстами о соответствующем объекте в окружении 250 транспортного средства 220.
[000165] Заранее определенное количество итераций может быть выбрано оператором электронного устройства на основании ограничений вычислительных ресурсов в реальном времени и/или ограничений скорости вычислений. Разработчики настоящей технологии поняли, что разработка системы, в которой локальный и глобальный контексты итеративно добавляются к информации точки во время соответствующих фаз использования первой NN и второй NN, может сгенерировать вектор признаков для объекта, который повысит точность ограничивающих рамок, сгенерированных MLP 910. В некоторых вариантах осуществления предполагается, что отдельные первые NN и отдельные CNN могут использоваться во время двух последовательных итераций. Кроме того, одна итерация может состоять из электронного устройства 210, использующего расположенную в шахматном порядке комбинацию первых NN и CNN, не выходя за рамки настоящей технологии.
[000166] Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать очевидными для специалистов в данной области техники. Предшествующее описание предназначено для того, чтобы быть примерным, а не ограничивающим. Поэтому предполагается, что объем настоящей технологии ограничен лишь объемом прилагаемой формулы изобретения.
[000167] Хотя вышеописанные реализации были описаны и показаны со ссылкой на конкретные этапы, выполняемые в определенном порядке, следует понимать, что некоторые из этих этапов могут быть объединены, разделены на части или переупорядочены без отклонения от принципов настоящей технологии. Соответственно, порядок и группировка упомянутых этапов не являются ограничениями настоящей технологии.