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

Область техники, к которой относится изобретение
[1] Настоящая технология относится к компьютерно-реализованным способам и системам для определения присутствия объекта, более конкретно, к способам и системам для определения присутствия объектов поблизости от беспилотного автомобиля (SDC).
Уровень техники
[2] В предшествующем уровне техники предложены и реализованы несколько автоматизированных навигационных систем, которые выполнены с возможностью помощи при навигации и/или управлении транспортным средством. Эти системы варьируются от более базовых решений на основе картографической локализации (т.е. от использования компьютерной системы для того, чтобы помогать водителю в осуществлении навигации по маршруту из начального пункта в пункт назначения) до более сложных решений (компьютеризированных и/или автономных от водителя систем вождения).
[3] Некоторые из этих систем реализуются как то, что общеизвестно в качестве системы "оптимального регулирования скорости". В этих системах, компьютерная система на борту транспортных средств поддерживает заданную пользователем скорость транспортного средства. Часть системы оптимального регулирования скорости реализует систему "интеллектуального управления расстоянием", за счет которой пользователь может устанавливать расстояние до потенциального автомобиля впереди (к примеру, выбирать значение, выражаемое в числе транспортных средств), и компьютерная система регулирует скорость транспортного средства по меньшей мере частично на основе транспортного средства, приближающегося к впереди идущему потенциальному транспортному средству в пределах предварительно заданного расстояния. Некоторые системы оптимального регулирования скорости дополнительно оснащаются системой управления столкновениями, причем эти системы, при обнаружении транспортного средства (или другого препятствия) перед движущимся транспортным средством, замедляют или останавливают транспортное средство.
[4] Некоторые из более усовершенствованных систем предоставляют полностью автономное вождение транспортного средства без прямого управления оператора (т.е. водителя). Эти автономные транспортные средства включают в себя компьютерные системы, которые могут инструктировать транспортному средству ускоряться, тормозить, останавливаться, сменять полосу движения и автоматически парковаться.
[5] Одна из основных технических проблем в реализации вышеуказанных компьютерных систем заключается в способности компьютерной системы обнаружить объект, присутствующий поблизости от транспортного средства, такой как транспортное средство впереди рассматриваемого транспортного средства (причем рассматриваемое транспортное средство имеет компьютерную систему на борту), причем это впереди идущее транспортное средство может представлять риск/опасность для рассматриваемого транспортного средства и может требовать от компьютерной системы принятия корректирующей меры, будь то торможение либо в иных случаях изменение скорости, остановка или смена полосы движения. На более детализированном уровне, сложность обнаружения объектов представляет собой не просто двоичное обнаружение (присутствие или отсутствие объекта), но скорость и точность, ассоциированные с таким анализом и определением (в частности, исключение "ложноотрицательных суждений", за счет чего система не идентифицирует объект, который фактически присутствует впереди или поблизости от транспортного средства).
[6] Острота этой проблемы проиллюстрирована посредством следующего гипотетического сценария. Предположим, что беспилотное или частично автономное транспортное средство едет по маршруту. Ребенок (или взрослый, домашнее животное и т.п.) бежит перед транспортным средством. Обязательно то, что компьютерная система, управляющая транспортным средством, обнаруживает присутствие объекта быстро и предпринимает корректирующие действия, чтобы избегать столкновения. Естественно, чем быстрее компьютерная система обнаруживает присутствие объекта, тем больше времени должна иметь компьютерная система для того, чтобы определять корректирующее действие и командовать транспортному средству выполнять корректирующее действие.
[7] Типичное автономное транспортное средство или беспилотный автомобиль (SDC), сокращенно, содержит множество датчиков для того, чтобы обеспечивать возможность SDC захватывать и "понимать" свою окружающую область. Типично, используется более одного типа датчиков. Например, данная реализация SDC может включать в себя одну или более камер, один или более лидаров и один или более радаров.
[8] Общеизвестно, что некоторые из этих датчиков лучше справляются с захватом определенных сцен, чтобы предоставлять их лучшую обработку посредством контроллера (электронного устройства), ассоциированного с SDC. Кроме того, предложено несколько технологий для слияния и пополнения одного типа данных датчиков данными из другого датчика. Несмотря на улучшения технологии захвата (т.е. способности датчиков собирать необработанные данные) и обработки алгоритмов (т.е. способности обрабатывать необработанные данные, чтобы обеспечивать надлежащее планирование SDC-траектории и корректирующих действий, при необходимости), по-прежнему существует проблема так называемых "слепых зон".
[9] Слепая зона представляет собой участок окружающей области SDC, который не является видимым для электронного устройства, которое управляет SDC (т.е. для электронного устройства, которое определяет траекторию перемещения SDC). Слепая зона может существовать вследствие присутствия препятствия в тракте вида конкретного датчика. Например, присутствие крупного транспортного средства (такого как грузовик, автобус и т.п.) в видовом порту датчика может перегораживать вид объекта, расположенного позади него (в отношении датчика). В связи с этим, этот скрытый объект не должен быть видимым из данных, захваченных посредством датчика, и большое транспортное средство должно, в некотором смысле, создавать слепую зону.
[10] Другой тип слепых зон обусловлен физическими ограничениями датчиков. Например, данная камера или данный лидар, или данный радар может иметь определенные физические ограничения на то, где данная камера или данный лидар, или данный радар может захватывать данные. Такие ограничения могут быть основаны на расстоянии или на высоте, или на окружающих объектах.
[11] Патент США 9805274 (выданный 31 октября 2017 года патентообладателю Honda Motor Co., LTD) раскрывает систему и способ для верификации обнаружения частично загороженных объектов (например, пешеходов) около транспортного средства. Устройство ввода изображений захватывает изображение и/или видео окрестности. Детектор объектов обнаруживает частично загороженных пешеходов и другие объекты в принимаемой информации изображений. Обнаружение частично загороженного пешехода верифицируется, когда окно обнаружения частично загороженного пешехода перекрывается с окном обнаружения загораживающего объекта, и окно для загораживающего объекта находится ближе к устройству ввода изображений, чем окно для частично загороженного объекта. Необязательно, дальномерный датчик, такой как лидарное устройство, определяет дальность до объектов, расположенных в направлении частично загороженного объекта. Обнаружение частично загороженного объекта верифицируется, когда дальность одного из других объектов, расположенных в направлении частично загороженного объекта, меньше дальности частично загороженного объекта.
[12] US 10137890 (выданный 27 ноября 2018 года патентообладателю Toyota Motor Engineering and Manufacturing North America, Inc.) раскрывает классификацию препятствий, расположенных во внешнем окружении транспортного средства. По меньшей мере, участок внешнего окружения может считываться с использованием одного или более датчиков для того, чтобы получать данные датчиков. Возможный вариант препятствия может идентифицироваться на основе полученных данных датчиков. Состояние загораживания для идентифицированного возможного варианта препятствия может определяться. Состояние загораживания может быть отношением полученных данных датчиков для возможного варианта препятствия, который загораживается, ко всем полученным данным датчиков для возможного варианта препятствия. Классификация для возможного варианта препятствия может определяться на основе определенного состояния загораживания. Маневр при вождении для транспортного средства может определяться по меньшей мере частично на основе определенной классификации для возможного варианта препятствия. Транспортному средству может инструктироваться реализовывать определенный маневр при вождении. Транспортное средство может представлять собой автономное транспортное средство.
[13] US 2019/0011913 (опубликованная 10 января 2019 года с правообладателем GM Global Technology Operations LLC) раскрывает системы и способ для управления транспортным средством. В одном варианте осуществления, способ включает в себя: прием, посредством процессора, данных датчиков, считываемых из окружения транспортного средства; обработку, посредством процессора, данных датчиков для того, чтобы определять слепую зону окружения транспортного средства; задание, посредством процессора, рабочего режима транспортного средства как предостерегающего режима на основе определенной слепой зоны; и управление, посредством процессора, работой транспортного средства на основе рабочего режима.
Сущность изобретения
[14] Задача настоящей технологии заключается в том, чтобы улучшать по меньшей мере некоторые неудобства, присутствующие в предшествующем уровне техники.
[15] В соответствии с первым широким аспектом настоящей технологии предусмотрен способ обработки данных облака (лидарных) точек на основе оптического обнаружения и дальнометрии. Способ осуществляется посредством электронного устройства, соединенного с возможностью связи с лидаром, установленным на транспортном средстве, причем лидар имеет множество лазеров и выполнен с возможностью захвата данных облака лидарных точек, имеющих множество лидарных точек, причем электронное устройство дополнительно выполняет алгоритм обнаружения для обнаружения присутствия по меньшей мере одного объекта в окрестностях транспортного средства на основе данных облака лидарных точек, при этом способ содержит: прием, посредством электронного устройства, первых данных облака лидарных точек, захваченных посредством лидара; выполнение, посредством электронного устройства, алгоритма машинного обучения (MLA), причем MLA выполнен с возможностью выполнять: анализ, посредством электронного устройства, первого множества лидарных точек из первых данных облака лидарных точек относительно шаблона откликов множества лазеров для того, чтобы определять текущий шаблон лидарных точек; извлечение, посредством электронного устройства, данных представления в виде сетки окружающей области транспортного средства; на основе текущего шаблона и данных представления в виде сетки, определение того, что первое множество лидарных точек ассоциировано со слепой зоной, причем слепая зона препятствует алгоритму обнаружения обнаружить присутствие по меньшей мере одного объекта в окрестностях транспортного средства, что обусловлено присутствием по меньшей мере одного объекта.
[16] В некоторых реализациях способа способ дополнительно содержит обучение MLA посредством следующего: подача в MLA множества объектов из обучающего набора, причем каждый из множества объектов из обучающего набора включает в себя: обучающий шаблон лидарных точек; данные представления в форме обучающей сетки ассоциированной окружающей обучающей области; метку, указывающую то, что алгоритм обнаружения имеет возможность обнаружить присутствие по меньшей мере одного обучающего объекта в окрестностях транспортного средства, что обусловлено присутствием по меньшей мере одного обучающего объекта.
[17] В некоторых реализациях способа способ дополнительно содержит определение, посредством вторичного алгоритма, того, присутствует ли по меньшей мере один обучающий объект.
[18] В некоторых реализациях способа вторичный алгоритм содержит анализ данных изображений, захваченных посредством одного из транспортного средства и других транспортных средств, причем данные изображений указывают присутствие по меньшей мере одного обучающего объекта.
[19] В некоторых реализациях способа вторичный алгоритм содержит анализ присутствия по меньшей мере одного обучающего объекта в момент времени до выполнения обучения и траектории перемещения, ассоциированной с ним.
[20] В некоторых реализациях способа анализ присутствия по меньшей мере одного обучающего объекта дополнительно содержит определение того, что на основе траектории перемещения и разности времен между временем обучения и предыдущим временем по меньшей мере один обучающий объект по-прежнему должен быть видимым в лидарных точках.
[21] В некоторых реализациях способа в ответ на обнаружение слепой зоны в первом множестве лидарных точек, способ дополнительно содержит управление транспортным средством таким образом, чтобы применять по меньшей мере одно исправляющее действие.
[22] В некоторых реализациях способа по меньшей мере одно исправляющее действие содержит получение дополнительных данных датчиков по меньшей мере из одного дополнительного датчика, ассоциированного с транспортным средством, в попытке корректировать слепую зону.
[23] В некоторых реализациях способа по меньшей мере одно исправляющее действие содержит управление транспортным средством таким образом, чтобы дополнять перемещение транспортного средства.
[24] В некоторых реализациях способа управление транспортным средством таким образом, чтобы дополнять перемещение транспортного средства, содержит инструктирование транспортному средству одного из следующего: замедлять ход, изменять траекторию, выполнять экстренное торможение и ускоряться.
[25] В некоторых реализациях способа определение того, что первое множество лидарных точек ассоциировано со слепой зоной, дополнительно основано на геометрическом шаблоне множества лазеров.
[26] В некоторых реализациях способа шаблон откликов множества лазеров указывает совокупность откликов, которые лидар должен принимать в ответ на излучение света посредством множества лазеров.
[27] В некоторых реализациях способа данные представления в виде сетки представляют сетку с центральной точкой, расположенной в транспортном средстве.
[28] В некоторых реализациях способа сетка перемещается с перемещением транспортного средства.
[29] В некоторых реализациях способа способ дополнительно содержит формирование данных представления в виде сетки в качестве сетки занятости.
[30] В соответствии с другим широким аспектом настоящей технологии предусмотрена система, содержащая: электронное устройство, лидар, соединенный с возможностью связи с электронным устройством, причем лидар имеет множество лазеров и выполнен с возможностью захвата данных облака лидарных точек, имеющих множество лидарных точек, причем электронное устройство выполнено с возможностью выполнять алгоритм обнаружения для обнаружения присутствия по меньшей мере одного объекта в окружающей области на основе данных облака лидарных точек. Электронное устройство выполнено с возможностью: принимать первые данные облака лидарных точек, захваченные посредством лидара; выполнять алгоритм машинного обучения (MLA), причем MLA выполнен с возможностью выполнять: анализ, посредством электронного устройства, первого множества лидарных точек из первых данных облака лидарных точек относительно шаблона откликов множества лазеров для того, чтобы определять текущий шаблон лидарных точек; извлечение, посредством электронного устройства, данных представления в виде сетки окружающей области; на основе текущего шаблона и данных представления в виде сетки, определение того, что первое множество лидарных точек ассоциировано со слепой зоной, причем слепая зона препятствует алгоритму обнаружения обнаружить присутствие по меньшей мере одного объекта в окружающей области, что обусловлено присутствием по меньшей мере одного объекта.
[31] В некоторых реализациях системы лидар ассоциирован с транспортным средством.
[32] В некоторых реализациях системы лидар и электронное устройство установлены на транспортном средстве.
[33] В некоторых реализациях системы алгоритм обнаружения представляет собой первый MLA, отличающийся от MLA.
[34] В некоторых реализациях системы данные представления в виде сетки реализуются как сетка занятости.
[35] В некоторых реализациях системы алгоритм обнаружения представляет собой первый MLA, отличающийся от MLA.
[36] В некоторых реализациях системы электронное устройство представляет собой по меньшей мере одно из локального электронного устройства, сервера, удаленно соединенного с транспортным средством, и подсистемы локального электронного устройства и сервера.
[37] В контексте настоящего описания изобретения "сервер" представляет собой компьютерную программу, которая выполняется на соответствующем аппаратном обеспечении и допускает прием запросов (например, из клиентских устройств) по сети и выполнение этих запросов либо инструктирование выполнения этих запросов. Аппаратное обеспечение может реализовываться как один физический компьютер или одна физическая компьютерная система, но ни одно из означенного не должно обязательно иметь место относительно настоящей технологии. В настоящем контексте, использование выражения "сервер" не имеет намерение означать то, что каждая задача (например, принимаемые инструкции или запросы) или любая конкретная задача должна приниматься, выполняться или инструктироваться для выполнения посредством одинакового сервера (т.е. одинакового программного обеспечения и/или аппаратного обеспечения); оно имеет намерение означать то, что любое число программных элементов или аппаратных устройств может быть предусмотрено при приеме/отправке, выполнении или инструктировании для выполнения любой задачи или запроса либо результатов любой задачи или запроса; и все это программное обеспечение и аппаратное обеспечение могут представлять собой один сервер либо несколько серверов, причем все из означенного включается в выражение "по меньшей мере, один сервер".
[38] В контексте настоящего описания изобретения "электронное устройство" представляет собой любое компьютерное аппаратное обеспечение, которое допускает выполнение программного обеспечения, соответствующего рассматриваемой релевантной задаче. В контексте настоящего описания изобретения термин "электронное устройство" подразумевает, что устройство может функционировать в качестве сервера для других электронных устройств и клиентских устройств; тем не менее, это не должно обязательно иметь место относительно настоящей технологии. Таким образом, некоторые (неограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные компьютеры, переносные компьютеры, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует понимать, что в настоящем контексте тот факт, что устройство функционирует в качестве электронного устройства, не означает того, что оно не может функционировать в качестве сервера для других электронных устройств. Использование выражения "электронное устройство" не исключает использование нескольких клиентских устройств при приеме/отправке, выполнении или инструктировании для выполнения любой задачи или запроса либо результатов любой задачи или запроса, или этапов любого способа, описанного в данном документе.
[39] В контексте настоящего описания изобретения "клиентское устройство" представляет собой любое компьютерное аппаратное обеспечение, которое допускает выполнение программного обеспечения, соответствующего рассматриваемой релевантной задаче. В контексте настоящего описания изобретения, в общем, термин "клиентское устройство" ассоциирован с пользователем клиентского устройства. Таким образом, некоторые (неограничивающие) примеры клиентских устройств включают в себя персональные компьютеры (настольные компьютеры, переносные компьютеры, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройство, выступающее в качестве клиентского устройства в настоящем контексте, не исключается из выступания в качестве сервера для других клиентских устройств. Использование выражения "клиентское устройство" не исключает использование нескольких клиентских устройств при приеме/отправке, выполнении или инструктировании для выполнения любой задачи или запроса либо результатов любой задачи или запроса, или этапов любого способа, описанного в данном документе.
[40] В контексте настоящего описания изобретения выражение "информация" включает в себя информацию вообще любого характера или вида, допускающую сохранение в базе данных. Таким образом, информация включает в себя, но не только, аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные местоположения, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[41] В контексте настоящего описания изобретения выражение "программный компонент" имеет намерение включать в себя программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для того, чтобы осуществлять конкретную упоминаемую функцию(и).
[42] В контексте настоящего описания изобретения выражение "компьютерные носители хранения информации" (также называемые "носителями хранения данных") имеет намерение включать в себя носители вообще любого характера и вида, в том числе, без ограничения, RAM, ROM, диски (CD-ROM, DVD, гибкие диски, накопители на жестких дисках и т.д.), флэш-накопители, полупроводниковые накопители, накопители на ленте и т.д. Множество компонентов могут комбинироваться, чтобы формировать компьютерные носители хранения информации, включающие в себя два или более компонентов носителей одинакового типа и/или два или более компонентов носителей различных типов.
[43] В контексте настоящего описания изобретения "база данных" представляет собой любую структурированную совокупность данных, независимо от ее конкретной структуры, программного обеспечения управления базами данных или компьютерным аппаратным обеспечением, на которых данные сохраняются, реализуются или становятся доступными иными способами для использования. База данных может постоянно размещаться в одинаковом аппаратном обеспечении с процессом, который сохраняет или использует информацию, сохраненную в базе данных, либо она может постоянно размещаться в отдельном аппаратном обеспечении, таком как выделенный сервер или множество серверов.
[44] В контексте настоящего описания изобретения слова "первый", "второй", "третий" и т.д. использованы в качестве прилагательных только для целей обеспечения различения существительных, которые они модифицируют, друг от друга, а не для целей описания конкретных взаимосвязей между этими существительными. Таким образом, например, следует понимать, что использование терминов "первая база данных" и "третий сервер" не имеет намерение подразумевать конкретный порядок, тип, хронологию, иерархию или ранжирование (например) относительно сервера, и их использование не имеет намерение (непосредственно) подразумевать то, что "второй сервер" должен обязательно существовать в любой данной ситуации. Дополнительно, как пояснено в данном документе в других контекстах, ссылка на "первый" элемент и "второй" элемент не исключает того, что два элемента представляют собой одинаковый фактический элемент реального мира. Таким образом, например, в некоторых случаях, "первый" сервер и "второй" сервер могут представлять собой одинаковые программные и/или аппаратные компоненты, в других случаях они могут представлять собой различные программные и/или аппаратные компоненты.
[45] Реализации настоящей технологии имеют по меньшей мере одну из вышеуказанных целей и/или аспектов, но не обязательно имеют все из них. Следует понимать, что некоторые аспекты настоящей технологии, которые получены в результате попытки достигать вышеуказанной цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, не изложенным конкретно в данном документе.
[46] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии должны становиться очевидными из нижеприведенного описания, прилагаемых чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
[47] Эти и другие признаки, аспекты и преимущества настоящей технологии должны становиться более понятными при рассмотрении нижеприведенного описания, прилагаемой формулы изобретения и прилагаемых чертежей, на которых:
[48] Фиг. 1 иллюстрирует принципиальную схему примерной компьютерной системы для реализации конкретных вариантов осуществления систем и/или способов настоящей технологии.
[49] Фиг. 2 иллюстрирует сетевое вычислительное окружение, подходящее для использования с некоторыми реализациями настоящей технологии.
[50] Фиг. 3 иллюстрирует процедуру получения лидарных данных, выполняемую посредством процессора электронного устройства сетевого вычислительного окружения по фиг. 2, процедуру для приема данных 310 облака трехмерных точек, захваченных посредством датчика транспортного средства, присутствующего в сетевом вычислительном окружении по фиг. 2.
[51] Фиг. 4 иллюстрирует процедуру получения данных представления в виде сетки, выполняемую посредством процессора электронного устройства сетевого вычислительного окружения по фиг. 2, процедуру для приема данных представления в виде сетки окружающей области 250 поблизости от транспортного средства, присутствующего в сетевом вычислительном окружении по фиг. 2.
[52] Фиг. 5 иллюстрирует процесс обнаружения, выполняемый в сетевом вычислительном окружении по фиг. 2, причем процесс выполнен с возможностью идентифицировать присутствие объектов в окружающей области, а более конкретно, тех объектов, которые могут предоставлять риск столкновений для транспортного средства и в силу этого могут требовать изменения траектории транспортного средства (к примеру, изменения курса, торможения, ускорения и т.п.).
[53] Фиг. 6 иллюстрирует схематичную иллюстрацию работы алгоритма машинного обучения (MLA) для прогнозирования слепой зоны по меньшей мере некоторых датчиков, ассоциированных с транспортным средством, присутствующим в сетевом вычислительном окружении по фиг. 2.
[54] Фиг. 7 иллюстрирует процесс обучения для обучения MLA по фиг. 6.
[55] Фиг. 8 иллюстрирует блок-схему последовательности операций способа, причем способ осуществляется в сетевом вычислительном окружении по фиг. 2, в соответствии с неограничивающими вариантами осуществления настоящей технологии.
Подробное описание изобретения
[56] Примеры и условный язык, изложенный в данном документе, преимущественно имеют намерение помогать читателю в понимании принципов настоящей технологии, а не ограничивать ее объем такими конкретно изложенными примерами и условиями. Следует принимать во внимание, что специалисты в данной области техники могут разрабатывать различные компоновки, которые, хотя и не описаны или показаны явно в данном документе, тем не менее, осуществляют принципы настоящей технологии и включаются в пределы ее сущности и объема.
[57] Кроме того, в качестве помощи в понимании, нижеприведенное описание может описывать относительно упрощенные реализации настоящей технологии. Специалисты в данной области техники должны понимать, что различные реализации настоящей технологии могут иметь большую сложность.
[58] В некоторых случая, также может быть изложено то, что считается полезными примерами модификаций настоящей технологии. Это осуществляется просто в качестве помощи в понимании и, кроме того, не должно не задавать объем или излагать ограничения настоящей технологии. Эти модификации не представляют собой исчерпывающий список, и специалисты в данной области техники могут вносить другие модификации при одновременном пребывании в пределах объема настоящей технологии. Дополнительно, если примеры модификаций не изложены, не следует интерпретировать это таким образом, что модификации невозможны, и/или таким образом, что то, что описывается, представляет собой единственный способ реализации этого элемента настоящей технологии.
[59] Кроме того, все утверждения в данном документе, излагающие принципы, аспекты и реализации технологии, а также их конкретные примеры, имеют намерение охватывать их конструктивные и функциональные эквиваленты независимо от того, являются они известными в настоящее время или разрабатываются в будущем. Таким образом, например, специалисты в данной области техники должны признавать, что блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, осуществляющей принципы настоящей технологии. Аналогично, следует принимать во внимание, что все блок-схемы последовательности операций, блок-схемы, схемы переходов состояния, псевдокод и т.п. представляют различные процессы, которые могут представляться большей частью на компьютерно-читаемых носителях, и в силу этого выполняются посредством компьютера или процессора, независимо от того, показан ли  в явной форме такой компьютер или процессор.
[60] Функции различных элементов, показанных на чертежах, включающих в себя все функциональные блоки, помеченные как "процессор", могут предоставляться с помощью специализированного аппаратного обеспечения, а также аппаратного обеспечения, допускающего выполнение программного обеспечения, в ассоциации с надлежащим программным обеспечением. При предоставлении посредством процессора, функции могут предоставляться посредством одного специализированного процессора, посредством одного совместно используемого процессора или посредством множества отдельных процессоров, некоторые из которых могут совместно использоваться. Кроме того, явное использование термина "процессор" или "контроллер" не должно истолковываться как означающее исключительно аппаратное обеспечение, допускающее выполнение программного обеспечения, и может неявно включать в себя, без ограничений, аппаратное обеспечение процессора цифровых сигналов (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянное запоминающее устройство (ROM) для сохранения программного обеспечения, оперативное запоминающее устройство (RAM) и энергонезависимое устройство хранения. Также может быть включено другое аппаратное обеспечение, обычное и/или специализированное.
[61] Программные модули или просто модули, которые подразумеваются как программные, могут представляться в данном документе в качестве любой комбинации элементов блок-схемы последовательности операций способа или других элементов, указывающих выполнение этапов процесса, и/или текстового описания. Такие модули могут выполняться посредством аппаратного обеспечения, которые показаны явно или неявно.
[62] С учетом этих основных принципов, далее рассматриваются некоторые неограничивающие примеры, чтобы иллюстрировать различные реализации аспектов настоящей технологии.
[63] При обращении первоначально к фиг. 1 показана компьютерная система 100, подходящая для использования с некоторыми реализациями настоящей технологии, причем компьютерная система 100 содержит различные аппаратные компоненты, включающие в себя один или более одно- или многоядерных процессоров, совместно представленных посредством процессора 110, полупроводниковый накопитель 120, запоминающее устройство 130, которое может представлять собой оперативное запоминающее устройство или любой другой тип запоминающего устройства. Связь между различными компонентами компьютерной системы 100 может осуществляться посредством одной или более внутренних и/или внешних шин (не показаны) (например, посредством PCI-шины, универсальной последовательной шины, шины по стандарту IEEE1394 Firewire, шины SCSI, шины Serial ATA и т.д.), с которыми электронно соединяются различные аппаратные компоненты. Согласно вариантам осуществления настоящей технологии, полупроводниковый накопитель 120 сохраняет программные инструкции, подходящие для загрузки в запоминающее устройство 130 и выполняемые посредством процессора 110 для определения присутствия объекта. Например, программные инструкции могут представлять собой часть управляющего приложения транспортного средства, выполняемого посредством процессора 110. Следует отметить, что компьютерная система 100 может иметь дополнительные и/или необязательные компоненты (не проиллюстрированы), такие как модули сетевой связи, модули локализации и т.п.
[64] Фиг. 2 иллюстрирует сетевое компьютерное окружение 200, подходящее для использования с некоторыми вариантами осуществления систем и/или способов настоящей технологии. Сетевое компьютерное окружение 200 содержит электронное устройство 210, ассоциированное с транспортным средством 220 или ассоциированное с пользователем (не проиллюстрирован), который может управлять транспортным средством 220, сервер 235, поддерживающий связь с электронным устройством 210 через сеть 245 связи (например, через Интернет и т.п., как подробнее описывается ниже в данном документе). Необязательно, сетевое компьютерное окружение 200 также может включать в себя GPS-спутник (не проиллюстрирован), передающий и/или принимающий GPS-сигнал в/из электронного устройства 210. Следует понимать, что настоящая технология не ограничена GPS и может использовать технологию позиционирования, отличную от GPS. Следует отметить, что GPS-спутник может вообще опускаться.
[65] Транспортное средство 220, с которым ассоциировано электронное устройство 210, может содержать любое туристическое или перевозное транспортное средство, такое как личный или коммерческий автомобиль, грузовик, мотоцикл и т.п. Транспортное средство может представлять собой управляемое пользователем или беспилотное транспортное средство. Следует отметить, что конкретные параметры транспортного средства 220 не являются ограничивающими, причем эти конкретные параметры включают в себя: производителя транспортных средств, модель транспортного средства, год изготовления транспортного средства, вес транспортного средства, габариты транспортного средства, распределение веса транспортного средства, площадь поверхности транспортного средства, высоту транспортного средства, тип приводной передачи (например, 2x или 4x), тип шин, тормозную систему, топливную систему, пробег, идентификационный номер транспортного средства и рабочий объем двигателя.
[66] Реализация электронного устройства 210 не ограничена конкретным образом, но в качестве примера, электронное устройство 210 может реализовываться как блок управления двигателем транспортного средства, CPU транспортного средства, навигационное устройство транспортного средства (например, навигационное устройство транспортного средства TomTom™, навигационное устройство транспортного средства Garmin™), планшетный компьютер, персональный компьютер, встроенный в транспортное средство 220, и т.п. Таким образом, следует отметить, что электронное устройство 210 может или не может быть постоянно ассоциировано с транспортным средством 220. Дополнительно или альтернативно, электронное устройство 210 может реализовываться в устройстве беспроводной связи, таком как мобильный телефон (например, смартфон или радиотелефон). В конкретных вариантах осуществления, электронное устройство 210 имеет дисплей 270.
[67] Электронное устройство 210 может содержать часть или все компоненты компьютерной системы 100, проиллюстрированной на фиг. 1. В конкретных вариантах осуществления, электронное устройство 210 представляет собой бортовое компьютерное устройство и содержит процессор 110, полупроводниковый накопитель 120 и запоминающее устройство 130. Другими словами, электронное устройство 210 содержит аппаратное обеспечение и/или программное обеспечение, и/или микропрограммное обеспечение либо комбинацию вышеозначенного для определения присутствия объекта поблизости от транспортного средства 220, как подробнее описано ниже.
[68] В соответствии с неограничивающими вариантами осуществления настоящей технологии электронное устройство 210 дополнительно содержит или имеет доступ к: первому датчику 230, выполненному с возможностью захватывать изображение окружающей области 250, и второму датчику 240, выполненному с возможностью захватывать данные облака трехмерных точек окружающей области 250. Первый датчик 230 и второй датчик 240 соединяются с возможностью связи с процессором 110 для передачи такой захваченной информации в процессор 110 для ее обработки, как подробнее описывается ниже в данном документе.
[69] В конкретном неограничивающем примере первый датчик 230 содержит камеру. То, как камера реализуется, не ограничено конкретным образом. Например, в конкретных неограничивающих вариантах осуществления настоящей технологии, камера может реализовываться как монокамера с разрешением, достаточным для того, чтобы обнаружить объекты на предварительно определенных расстояниях приблизительно до 30 м (хотя камеры с другими разрешениями и дальностями находятся в пределах объема настоящего раскрытия сущности). Камера может устанавливаться в салоне, в верхнем участке ветрового стекла транспортного средства 220, но другие местоположения находятся в пределах объема настоящего раскрытия сущности, в том числе заднее окно, боковые окна, передний капот, крыша, решетка радиатора или передний бампер транспортного средства 220. В некоторых неограничивающих вариантах осуществления настоящей технологии, первый датчик 230 может устанавливаться в выделенном корпусе (не проиллюстрирован), установленном на крыше транспортного средства 220.
[70] В некоторых неограничивающих вариантах осуществления настоящей технологии первый датчик 230 может реализовываться как множество камер. Например, множество камер могут иметь достаточное число камер для того, чтобы захватывать окружающее/панорамное изображение окружающей области 250.
[71] В некоторых вариантах осуществления настоящей технологии камера (либо одна или более камер, которые составляют реализацию первого датчика 230) выполнена с возможностью захватывать предварительно определенный участок окружающей области 250 поблизости от транспортного средства 220. В некоторых вариантах осуществления настоящей технологии, камера выполнена с возможностью захватывать изображение (или последовательность изображений), которое представляет приблизительно 90 градусов окружающей области 250 поблизости от транспортного средства 220, т.е. вдоль пути перемещения транспортного средства 220.
[72] В других вариантах осуществления настоящей технологии камера выполнена с возможностью захватывать изображение (или последовательность изображений), которое представляет приблизительно 180 градусов окружающей области 250 поблизости от транспортного средства 220, т.е. вдоль пути перемещения транспортного средства 220. В еще дополнительных вариантах осуществления настоящей технологии, камера выполнена с возможностью захватывать изображение (или последовательность изображений), которое представляет приблизительно 360 градусов окружающей области 250 поблизости от транспортного средства 220, т.е. вдоль пути перемещения транспортного средства 220 (другими словами, окружающую область полностью поблизости от транспортного средства 220).
[73] В конкретном неограничивающем примере первый датчик 230 может быть реализован в качестве камеры, которая иметь тип, предлагаемый компанией FLIR Integrated Imaging Solutions Inc., 12051 Riverside Way, Ричмонд, BC, V6W 1K7, Канада. Следует четко понимать, что первый датчик 230 может реализовываться в любом другом подходящем оборудовании.
8
[74] В конкретном неограничивающем примере второй датчик 240 содержит лидарный измерительный прибор на основе оптического обнаружения и дальнометрии (LIDAR или сокращенно лидар). Лидар означает оптическое обнаружение и дальнометрию. Предполагается, что специалисты в данной области техники должны понимать функциональность лидарного измерительного прибора, но вкратце, передающее устройство (не проиллюстрировано) второго датчика 240, реализованного в качестве лидара, отправляет лазерный импульс, и световые частицы (фотоны) рассеиваются обратно в приемное устройство (не проиллюстрировано) второго датчика 240, реализованного в качестве лидарного измерительного прибора. Фотоны, которые возвращаются в приемное устройство, собираются с помощью телескопа и подсчитываются в качестве функции от времени. С использованием скорости света (~3×10 м/с) процессор 110 затем может вычислять то, насколько далеко перемещены фотоны (при полном обходе). Фотоны могут рассеиваться с отражением от многих различных объектов, окружающих транспортное средство 220, таких как другие частицы (аэрозоли или молекулы) в атмосфере, другой автомобиль, стационарные объекты или потенциальные преграды перед транспортным средством 220.
[75] В конкретном неограничивающем примере второй датчик 240 может реализовываться как лидарный датчик, который может иметь тип, предлагаемый компанией Velodyne LiDAR, Inc. 5521 Hellyer Avenue, Сан-Хосе, CA 95138, США. Следует четко понимать, что второй датчик 240 может реализовываться в любом другом подходящем оборудовании.
[76] В некоторых вариантах осуществления настоящей технологии второй датчик 240 может реализовываться как множество лидарных датчиков, к примеру, как три, например, или любое другое подходящее число. В некоторых вариантах осуществления настоящей технологии, второй датчик 240 (независимо от того, реализован он в качестве одного лидарного датчика либо нескольких лидарных датчиков) может размещаться в вышеуказанном корпусе (не проиллюстрирован отдельно), расположенном на крыше транспортного средства 220.
[77] В тех вариантах осуществления настоящей технологии, в которых второй датчик 240 реализуется как несколько лидарных датчиков, размещенных в корпусе (не проиллюстрирован), пространственное размещение нескольких лидарных датчиков может проектироваться с учетом конкретную технической конфигурации нескольких лидарных датчиков, конфигурации корпуса, погодных условий области, в которой должно использоваться транспортное средство 220 (к примеру, частый дождь, снег и другие элементы), и т.п.
[78] В некоторых вариантах осуществления настоящей технологии первый датчик 230 и второй датчик 240 калибруются таким образом, что для изображения, захваченного посредством первого датчика 230, и облака трехмерных точек, захваченного посредством второго датчика 240, процессор 110 выполнен с возможностью идентифицировать данную область изображения, которая соответствует данной области облака трехмерных точек. Эта калибровка может выполняться во время изготовления и/или настройки транспортного средства 220. Альтернативно, в любое подходящее время после этого; или, другими словами, калибровка может выполняться во время модернизации транспортного средства 220 за счет первого датчика 230 и второго датчика 240 в соответствии с неограничивающими вариантами осуществления настоящей технологии, предполагаемыми в данном документе. Альтернативно, калибровка может выполняться во время оснащения транспортного средства 220 первым датчиком 230 и вторым датчиком 240 в соответствии с неограничивающими вариантами осуществления настоящей технологии, предполагаемыми в данном документе.
[79] В некоторых неограничивающих вариантах осуществления настоящей технологии транспортное средство 220 может включать в себя дополнительные датчики (не проиллюстрированы), такие как радары и т.п.
[80] В некоторых вариантах осуществления настоящей технологии сеть 245 связи представляет собой Интернет. В альтернативных неограничивающих вариантах осуществления, сеть 245 связи может реализовываться как любая подходящая локальная вычислительная сеть (LAN), глобальная вычислительная сеть (WAN), частная сеть связи и т.п. Следует четко понимать, что реализации для сети связи предназначаются только для целей иллюстрации. То, как реализуется линия связи (без отдельной ссылки с номером) между электронным устройством 210 и сетью 245 связи, должно зависеть, в числе прочего, от того, как реализуется электронное устройство 210. Просто в качестве примера, а не в качестве ограничения, в тех вариантах осуществления настоящей технологии, в которых электронное устройство 210 реализуется как устройство беспроводной связи, такое как смартфон или навигационное устройство, линия связи может реализовываться как линия беспроводной связи. Примеры линий беспроводной связи включают в себя, но не только, сетевую 3G-линию связи, сетевую 4G-линию связи и т.п. Сеть 245 связи также может использовать беспроводное соединение с сервером 235.
[81] В некоторых вариантах осуществления настоящей технологии сервер 235 реализуется как обычный компьютер-сервер и может содержать часть или все компоненты компьютерной системы 1 по фиг. 1. В одном неограничивающем примере, сервер 235 реализуется как сервер Dell™ PowerEdge™ под управлением операционной системы Windows Server™ Microsoft™, но также может реализовываться в любом другом подходящем аппаратном обеспечении, программном обеспечении и/или микропрограммном обеспечении либо в комбинации вышеозначенного. В проиллюстрированных неограничивающих вариантах осуществления настоящей технологии, сервер представляет собой один сервер. В альтернативных неограничивающих вариантах осуществления настоящей технологии (не показаны), функциональность сервера 235 может распределяться и может реализовываться через несколько серверов.
[82] В некоторых неограничивающих вариантах осуществления настоящей технологии процессор 110 электронного устройства 210 может поддерживать связь с сервером 235, чтобы принимать одно или более обновлений. Обновления могут представлять собой, но не только, обновления программного обеспечения, обновления карт, обновления маршрутов, обновления прогноза погоды и т.п. В некоторых вариантах осуществления настоящей технологии, процессор 110 также может быть выполнен с возможностью передавать в сервер 235 определенные рабочие данные, такие как проезжаемые маршруты, данные трафика, данные рабочих характеристик и т.п. Некоторые или все данные, передаваемые между транспортным средством 220 и сервером 235, могут шифроваться и/или анонимизироваться.
[83] В описании, предусмотренном в настоящем документе, когда определенные процессы и этапы способа выполняются посредством процессора 110 электронного устройства 210, следует четко понимать, что такие процессы и этапы способа могут выполняться только посредством процессора 110, совместно (т.е. распределяться) между процессором 110 и сервером 235 либо только посредством сервера 235. Другими словами, когда настоящее описание упоминает процессор 110 или электронное устройство 210, выполняющее определенные процессы или этапы способа, это должно явно охватывать процессы или этапы, выполняемые посредством процессора 110, посредством сервера 235 либо объединенно выполняемые посредством процессора 110 и сервера 235.
[84] Со ссылкой на фиг. 3 проиллюстрирован процесс 300 (также называемый "процедурой 300 получения лидарных данных"), выполняемый посредством процессора 110, для приема данных 310 облака трехмерных точек, захваченных посредством второго датчика 240.
[85] В некоторых неограничивающих вариантах осуществления настоящей технологии процесс приема данных 310 облака трехмерных точек может выполняться непрерывно. В других вариантах осуществления настоящей технологии, процесс приема данных 310 облака трехмерных точек может реализовываться с предварительно определенными интервалами, к примеру, каждые 2 миллисекунды или с любым другим подходящим временным интервалом.
[86] Чтобы выполнять процедуру 300 получения лидарных данных, транспортное средство 220 движется по дороге 302, и электронное устройство 210 выполнено с возможностью получать с помощью второго датчика 240 данные 305 датчиков, представляющие объекты в окружающей области 250 транспортного средства 220.
[87] Транспортное средство 220 движется по дороге 302, и электронное устройство 210 выполнено с возможностью инструктировать второму датчику 240 получать данные относительно окружающей области 250 транспортного средства 220 в различных местоположениях на дороге 302.
[88] Электронное устройство 210 принимает данные относительно окружающей области 250 транспортного средства 220 в различных местоположениях на дороге 302 в форме облака 312 лидарных точек.
[89] Вообще говоря, облако 312 лидарных точек представляет собой набор лидарных точек в форме облака трехмерных точек, в котором данная лидарная точка 314 представляет собой точку в трехмерном пространстве, указывающую по меньшей мере участок поверхности данного объекта на или поблизости от дороги 302. В некоторых неограничивающих вариантах осуществления настоящей технологии, облако 312 лидарных точек может организовываться слоями, причем точки в каждом слое также организуются эллиптическим способом, и считается, что начальные точки всех эллиптических слоев совместно используют аналогичную ориентацию.
1
2
N
[90] Данная лидарная точка 314 в облаке 312 лидарных точек ассоциирована с лидарными параметрами 316 (проиллюстрированы на фиг. 3 как L, L и L). В качестве неограничивающего примера лидарные параметры 316 могут включать в себя: расстояние, интенсивность и угол, а также другие параметры, связанные с информацией, которая может получаться посредством второго датчика 240. Второй датчик 240 может получать облако лидарных точек на каждом временном шаге t в то время, когда транспортное средство 220 движется, за счет этого получая набор данных 310 облака трехмерных точек.
[91] Предполагается, что в некоторых неограничивающих вариантах осуществления настоящей технологии, транспортное средство 220 также может получать изображения с помощью первого датчика 230 и пополнять облако 312 лидарных точек данными изображений, полученными из первого датчика 230. Процесс для пополнения облака 312 лидарных точек данными изображений, полученными посредством первого датчика 230, описывается в находящейся в совместном владении заявки на патент, озаглавленной "METHODS AND SYSTEMS FOR COMPUTER-BASED DETERMINING OF PRESENCE OF OBJECTS" с присвоенным номером заявки 16/369865, поданной в Ведомство США по регистрации патентов и товарных знаков (USPTO) 29 марта 2019 года и имеющей номер дела поверенного 102351-002, содержимое которой полностью содержится в данном документе по ссылке.
[92] Со ссылкой на фиг. 4 проиллюстрирован процесс 400 (также называемый "процедурой 400 получения данных представления в виде сетки"), выполняемый посредством процессора 110, для приема данных 402 представления в виде сетки окружающей области 250 поблизости от транспортного средства 220. Данные 402 представления в виде сетки ассоциированы с транспортным средством 220. В некоторых неограничивающих вариантах осуществления настоящей технологии, данные 402 представления в виде сетки центрируются на транспортном средстве 220 и перемещаются вместе с транспортным средством 220 по мере того, как транспортное средство 220 перемещается по дороге 302. Другими словами, процесс 400 может выполняться по мере того, как транспортное средство 220 перемещается, чтобы получать текущую версию данных 402 представления в виде сетки.
[93] В некоторых вариантах осуществления настоящей технологии процесс получения данных 402 представления в виде сетки непрерывным или практически непрерывным способе. Например, процесс получения данных 402 представления в виде сетки может выполняться каждый раз, когда разрешается посредством физических ограничений (таких как скорость обработки) электронного устройства 210. В других неограничивающих вариантах осуществления настоящей технологии, процесс получения данных 402 представления в виде сетки может выполняться с предварительно определенными временными интервалами, к примеру, например, каждые 2 мс, каждые 5 мс и т.п.
[94] В некоторых неограничивающих вариантах осуществления настоящей технологии данные 402 представления в виде сетки содержат информацию относительно других объектов, расположенных в окружающей области 250. На фиг. 4, проиллюстрирован один экземпляр другого объекта 404. В некоторых неограничивающих вариантах осуществления настоящей технологии, другой объект 404 может представлять собой статический объект или, другими словами, объект, который не перемещается (или не предназначен для перемещения). Другими словами, другой объект 404 может быть стационарным, относительно которого перемещается транспортное средство 220, но который не перемещается относительно Земли.
[95] Пример другого объекта 404, который является стационарным, включает в себя (но не ограничен): дом, многоквартирное здание, дерево, экранирующее ограждение, приподнятый тротуар, приподнятую разделительную полосу с перегородкой на многополосной дороге, припаркованное транспортное средство и т.п. В некоторых неограничивающих вариантах осуществления настоящей технологии, другой объект 404 (в качестве примера множества других объектов, присутствующих потенциально в окружающей области 250) дополнительно может включать в себя подвижный (т.е. нестатический) объект.
[96] В некоторых вариантах осуществления настоящей технологии данные 402 представления в виде сетки могут получаться из запоминающего устройства, ассоциированного с электронным устройством 210. В некоторых вариантах осуществления настоящей технологии, информация для того, чтобы формировать данные 402 представления в виде сетки, может сохраняться в форме карты (к примеру, трехмерной карты, карты высокой четкости и т.п.). В других неограничивающих вариантах осуществления настоящей технологии, данные 402 представления в виде сетки могут формироваться "на лету" посредством электронного устройства 210, например, на основе данных изображений, полученных посредством первого датчика 230.
[97] В некоторых неограничивающих вариантах осуществления настоящей технологии данные 402 представления в виде сетки содержат сетку занятости. Вообще говоря, сетка занятости представляет собой дискретизацию данных окружения дороги в ячейки фиксированного размера, каждая из которых содержит индикатор вероятности того, что данная ячейка занята. Сетка занятости представляет собой, например, базовую структуру данных, которая используется в качестве альтернативы сохранению полных облаков точек.
[98] Алгоритм обнаружения
[99] В соответствии с неограничивающими вариантами осуществления настоящей технологии электронное устройство 210 выполнено с возможностью выполнять процесс 500 обнаружения, схематично проиллюстрированный на фиг. 5. Процесс 500 обнаружения выполнен с возможностью идентифицировать присутствие объектов в окружающей области 250, а более конкретно, тех объектов, которые могут предоставлять риск столкновений для транспортного средства 220 и в силу этого могут требовать изменения траектории транспортного средства 220 (к примеру, изменения курса, торможения, ускорения и т.п.).
[100] Процесс 500 обнаружения имеет стандартную процедуру 502 получения данных и стандартную процедуру 504 прогнозирования присутствия объектов. Стандартная процедура 502 получения данных выполнена с возможностью принимать данные датчиков, такие как изображение окружающей области 250, из первого датчика 230 и данные облака трехмерных точек окружающей области 250 из второго датчика 240. В той степени, в которой транспортное средство 220 может включать в себя дополнительные датчики (не проиллюстрированы), такие как радары и т.п., стандартная процедура 502 получения данных может быть выполнена с возможностью получать данные датчиков, предоставленные посредством этих дополнительных датчиков.
[101] Стандартная процедура 502 получения данных выполнена с возможностью передавать такие захваченные данные (изображение окружающей области 250 из первого датчика 230, данные облака трехмерных точек окружающей области 250 из второго датчика 240 и данные датчиков, предоставленные посредством этих дополнительных датчиков, потенциально присутствующих в транспортном средстве 220) в стандартную процедуру 504 прогнозирования присутствия объектов.
[102] Стандартная процедура 504 прогнозирования присутствия объектов выполнена с возможностью определять, на основе таких захваченных данных (изображения окружающей области 250 из первого датчика 230, данных облака трехмерных точек окружающей области 250 из второго датчика 240 и данных датчиков, предоставленных посредством этих дополнительных датчиков, потенциально присутствующих в транспортном средстве 220), присутствие объекта в окружающей области 250 транспортного средства 220, такого как, например, другой объект 404.
[103] В некоторых неограничивающих вариантах осуществления настоящей технологии стандартная процедура 504 прогнозирования присутствия объектов выполнена с возможностью формировать прогнозирование, указывающее вероятность присутствия объекта в окружающей области 250 (такого как другой объект 404). В связи с этим, в некоторых неограничивающих вариантах осуществления настоящей технологии, стандартная процедура 504 прогнозирования присутствия объектов может реализовываться как алгоритм машинного обучения (MLA) для формирования прогнозирования. MLA может быть основан на нейронной сети, на дереве решений либо представлять собой любой другой подходящий тип MLA.
[104] В некоторых неограничивающих вариантах осуществления настоящей технологии стандартная процедура 504 прогнозирования присутствия объектов использует часть таких захваченных данных (изображения окружающей области 250 из первого датчика 230, данных облака трехмерных точек окружающей области 250 из второго датчика 240 и данных датчиков, предоставленных посредством этих дополнительных датчиков, потенциально присутствующих в транспортном средстве 220). Например, стандартная процедура 504 прогнозирования присутствия объектов может осуществлять прогнозирование на основе только данных изображений. Альтернативно, стандартная процедура 504 прогнозирования присутствия объектов может осуществлять прогнозирование на основе только данных облака трехмерных точек.
[105] В альтернативных неограничивающих вариантах осуществления настоящей технологии стандартная процедура 504 прогнозирования присутствия объектов использует комбинацию таких захваченных данных (изображения окружающей области 250 из первого датчика 230, данных облака трехмерных точек окружающей области 250 из второго датчика 240 и данных датчиков, предоставленных посредством этих дополнительных датчиков, потенциально присутствующих в транспортном средстве 220). Например, стандартная процедура 504 прогнозирования присутствия объектов может осуществлять прогнозирование на основе комбинации данных изображений и данных облака трехмерных точек. В еще одном другом примере, стандартная процедура 504 прогнозирования присутствия объектов может осуществлять прогнозирование на основе комбинации по меньшей мере части из следующего: данные изображений, данные облака трехмерных точек и другие данные датчиков.
[106] В связи с этим, вывод процесса 500 обнаружения представляет собой прогнозирование 506, указывающее вероятность присутствия объекта в окружающей области 250 (такого как другой объект 404).
[107] Алгоритм машинного обучения (MLA) для прогнозирования слепых зон
[108] В соответствии с неограничивающими вариантами осуществления настоящей технологии электронное устройство 210 выполнено с возможностью выполнять алгоритм машинного обучения (MLA) для прогнозирования слепой зоны, ассоциированной, например, со вторым датчиком 240.
[109] Со ссылкой на фиг. 6 приведена схематичная иллюстрация работы MLA 602. MLA 602 может быть основан на нейронной сети, на дереве решений либо представлять собой любой другой подходящий тип MLA. MLA 602 может представлять собой MLA, отличающийся от MLA, используемого для реализации стандартной процедуры 504 прогнозирования присутствия объектов.
[110] Вообще говоря, MLA 602 выполнен с возможностью выполнять следующие этапы.
[111] Этап 604 - анализ первого множества лидарных точек из первых данных облака точек относительно шаблона откликов множества лазеров для того, чтобы определять текущий шаблон лидарных точек.
[112] Как проиллюстрировано и описано со ссылкой на фиг. 3 электронное устройство 210 выполнено с возможностью выполнять процедуру 300 получения лидарных данных для приема данных 310 облака трехмерных точек, захваченных посредством второго датчика 240, т.е. множества лидарных точек, представленных в качестве облака 312 лидарных точек.
[113] Вообще говоря, облако 312 лидарных точек представляет собой набор лидарных точек в форме облака трехмерных точек, в котором данная лидарная точка 314 представляет собой точку в трехмерном пространстве, указывающую по меньшей мере участок поверхности данного объекта на дороге 302. В некоторых вариантах осуществления настоящей технологии, облако 312 лидарных точек может организовываться слоями, причем точки в каждом слое также организуются эллиптическим способом, и считается, что начальные точки всех эллиптических слоев совместно используют аналогичную ориентацию.
[114] Данная лидарная точка 314 в облаке 312 лидарных точек ассоциирована с лидарными параметрами 316. В качестве неограничивающего примера, лидарные параметры 316 могут включать в себя: расстояние, интенсивность и угол, а также другие параметры, связанные с информацией, которая может получаться посредством второго датчика 240. В некоторых неограничивающих вариантах осуществления настоящей технологии, лидарные параметры 316 дополнительно могут включать в себя геометрический шаблон множества лазеров, используемых посредством второго датчика 240 (т.е. то, как лазеры позиционируются относительно друг друга, относительно плоскости Земли и т.п.).
[115] Электронное устройство 210 дополнительно выполнено с возможностью анализировать принимаемое облако 312 лидарных точек и лидарные параметры 316, чтобы формировать текущий шаблон лидарных точек, проиллюстрированный на фиг. 6 на 640. Вообще говоря, текущий шаблон 640 лидарных точек представляет то, что второй датчик 240 в данный момент "видит" с точки зрения данных облака лидарных точек (т.е. то, какие из лазерных лучей отражены, с какого расстояния и т.п.: т.е. информацию, извлекаемую из лидарных параметров 316, ассоциированных с каждой данной лидарной точкой 314 облака 312 лидарных точек).
[116] Таким образом, можно сказать, что текущий шаблон 640 лидарных точек представляет шаблон откликов множества лазеров, используемых посредством второго датчика 240, который в свою очередь указывает совокупность откликов, которые лидар должен принимать в ответ на излучение света посредством множества лазеров.
[117] Этап 606 - извлечение данных представления в виде сетки окружающей области транспортного средства.
[118] Как проиллюстрировано и описано со ссылкой на фиг. 4, электронное устройство 210 выполнено с возможностью выполнять процедуру 400 получения данных представления в виде сетки для приема данных 402 представления в виде сетки окружающей области 250 поблизости от транспортного средства 220. Данные 402 представления в виде сетки ассоциированы с транспортным средством 220. В некоторых неограничивающих вариантах осуществления настоящей технологии, данные 402 представления в виде сетки центрируются на транспортном средстве 220 и перемещаются вместе с транспортным средством 220 по мере того, как транспортное средство 220 перемещается по дороге 302. Другими словами, процесс 400 может выполняться по мере того, как транспортное средство 220 перемещается, чтобы получать текущую версию данных 402 представления в виде сетки.
[119] Следует напомнить, что в некоторых неограничивающих вариантах осуществления настоящей технологии, данные 402 представления в виде сетки содержат сетку занятости. Вообще говоря, сетка занятости представляет собой дискретизацию данных окружения дороги в ячейки фиксированного размера, каждая из которых содержит индикатор вероятности того, что данная ячейка занята. Сетка занятости представляет собой, например, базовую структуру данных, которая используется в качестве альтернативы сохранению полных облаков точек.
[120] Этап 608 - на основе текущего шаблона и данных представления в виде сетки, определение того, ассоциировано ли первое множество лидарных точек со слепой зоной, причем слепая зона препятствует алгоритму обнаружения обнаружить присутствие по меньшей мере одного объекта в окрестностях транспортного средства, что обусловлено присутствием по меньшей мере одного объекта.
[121] Электронное устройство 210, с использованием MLA 602 выполнено с возможностью осуществлять прогнозирование 660, на основе текущего шаблона и данных представления в виде сетки, причем прогнозирование 660 указывает, ассоциировано ли первое множество лидарных точек со слепой зоной, причем слепая зона препятствует алгоритму обнаружения (выполняемому в качестве процесса 500 обнаружения, описанного выше) обнаружить присутствие по меньшей мере одного объекта в окрестностях транспортного средства 220, что обусловлено присутствием по меньшей мере одного объекта.
[122] Фаза обучения - сбор обучающего набора
[123] Далее следует обратить внимание на то, как обучается MLA 602. Со ссылкой на фиг. 7, схематично проиллюстрирован процесс 702 обучения. Процесс 702 обучения содержит получение обучающего набора 704, причем обучающий набор 704 включает в себя множество объектов из обучающего набора, причем каждый из множества объектов из обучающего набора включает в себя:
[124] - обучающий шаблон 706 лидарных точек;
[125] - данные представления 708 в форме обучающей сетки ассоциированной окружающей обучающей области; и
[126] - метку 710, указывающую то, что алгоритм обнаружения имеет возможность обнаружить присутствие по меньшей мере одного обучающего объекта в окрестностях транспортного средства, что обусловлено присутствием по меньшей мере одного обучающего объекта.
[127] Обучающий шаблон 706 лидарных точек и данные представления 708 в форме обучающей сетки могут захватываться посредством вышеуказанной процедуры 300 получения лидарных данных и процедуры 400 получения данных представления в виде сетки, соответственно, в течение данного момента времени (упоминается в данном документе ниже в качестве момента времени проведения обучения). Электронное устройство 210 формирует, для момента времени проведения обучения, метку 710, причем метка 710 указывает то, что алгоритм обнаружения (реализованный в качестве процесса 500 обнаружения) имеет возможность обнаружить присутствие по меньшей мере одного обучающего объекта в окрестностях транспортного средства, что обусловлено присутствием по меньшей мере одного обучающего объекта.
[128] Теперь, для того, чтобы формировать метку 710, электронному устройству 210 требуются два ввода: индикатор присутствия по меньшей мере одного обучающего объекта в окрестностях транспортного средства 220 (проиллюстрировано на 740) и индикатор того, что процесс 500 обнаружения может прогнозировать присутствие по меньшей мере одного обучающего объекта в окрестностях транспортного средства 220 (проиллюстрировано на 750).
[129] Чтобы формировать индикатор того, что процесс 500 обнаружения может прогнозировать присутствие по меньшей мере одного обучающего объекта в окрестностях транспортного средства 220 (проиллюстрировано на 750), электронное устройство 210 подает обучающий шаблон 706 лидарных точек в процесс 500 обнаружения, чтобы осуществлять прогнозирование 506.
[130] Чтобы формировать индикатор присутствия по меньшей мере одного обучающего объекта в окрестностях транспортного средства 220 (проиллюстрировано на 740), электронное устройство 210 может анализировать изображение окружающей области 250, захваченное посредством первого датчика 230, и/или изображение окружающей области 250, захваченное посредством первого датчика 230 другого транспортного средства, рассматривающего окружающую область 250 с другой выгодной точки.
[131] Использование изображения окружающей области 250, захваченного посредством первого датчика 230 другого транспортного средства, рассматривающего окружающую область 250 с другой выгодной точки, может быть преимущественным, поскольку другое транспортное средство может "видеть" присутствие объекта в окружающей области 250, который может не быть видимым для транспортного средства 220, поскольку он может фактически находиться в слепой зоне второго датчика 240 и в силу этого быть необнаруживаемым посредством процесса 500 обнаружения.
[132] В альтернативных неограничивающих вариантах осуществления настоящей технологии электронное устройство 210 может анализировать изображение окружающей области 250, захваченное посредством первого датчика 230 в предыдущий момент времени, вместе с траекторией перемещения, ассоциированной с объектом, присутствующим в ней. Электронное устройство 210 в силу этого может определять, на основе присутствия другого объекта в предыдущем поле зрения и его траектории перемещения, то, что одинаковый объект должен быть виден в настоящий момент времени. Другими словами, анализ присутствия по меньшей мере одного обучающего объекта может быть основан на определении того, что на основе траектории перемещения и разности времен между временем обучения и предыдущим временем по меньшей мере один обучающий объект по-прежнему должен быть видимым в облаке 312 лидарных точек.
[133] Таким образом, посредством анализа индикатора присутствия по меньшей мере одного обучающего объекта в окружении транспортного средства 220 (проиллюстрировано на 740) и индикатора того, что процесс 500 обнаружения может прогнозировать присутствие по меньшей мере одного обучающего объекта в окружении транспортного средства 220 (проиллюстрировано на 750), электронное устройство 210 выполнено с возможностью формировать метку 710, которая указывает то, что процесс 500 обнаружения выполнен с возможностью фактически обнаружить присутствие объекта (на основе индикатора того, что процесс 500 обнаружения может прогнозировать присутствие по меньшей мере одного обучающего объекта в окружении транспортного средства 220 (проиллюстрировано на 750)), при условии, что такой объект фактически существует (на основе индикатора присутствия по меньшей мере одного обучающего объекта в окружении транспортного средства 220 (проиллюстрировано на 740)).
[134] Чтобы формировать такой анализ, электронное устройство 210 выполнено с возможностью выполнять вторичный алгоритм независимо от того, присутствует ли по меньшей мере один обучающий объект. Вторичный алгоритм может реализовываться как эвристический алгоритм. Альтернативно, электронное устройство 210 может принимать индикатор присутствия по меньшей мере одного обучающего объекта от оператора электронного устройства 210.
[135] Таким образом, если объект фактически существует (на основе индикатора присутствия по меньшей мере одного обучающего объекта в окружении транспортного средства 220 (проиллюстрировано на 740)), в то время как процесс 500 обнаружения не способен обнаружить его присутствие (на основе индикатора того, что процесс 500 обнаружения может прогнозировать присутствие по меньшей мере одного обучающего объекта в окружении транспортного средства 220 (проиллюстрировано на 750)), метка 710 указывает присутствие слепой зоны в облаке 312 лидарных точек.
[136] Таким образом, такой обучающий набор 704 выполнен с возможностью обучать MLA 602 таким образом, чтобы коррелировать текущий шаблон облака 312 лидарных точек с присутствием слепых зон в облаке 312 лидарных точек.
[137] Используемое применение обнаружения слепой зоны
[138] Как описано выше, электронное устройство 210, с использованием MLA 602, выполнено с возможностью осуществлять прогнозирование 660, на основе текущего шаблона и данных представления в виде сетки, причем прогнозирование 660 указывает то, что первое множество лидарных точек облака 312 лидарных точек ассоциировано со слепой зоной, причем слепая зона препятствует алгоритму обнаружения (выполняемому в качестве процесса 500 обнаружения, описанного выше) обнаружить присутствие по меньшей мере одного объекта в окружении транспортного средства 220, что обусловлено присутствием по меньшей мере одного объекта.
[139] На основе прогнозирования 660, которое может быть ассоциировано с двоичным индикатором присутствия слепой зоны (либо ее отсутствия) или взвешенным индикатором (т.е. указывающим устойчивость прогнозирования) того, присутствует ли слепая зона, электронное устройство 210 выполнено с возможностью формировать одно или более исправляющих действий, ассоциированных с транспортным средством 220.
[140] Например, в ответ на обнаружение слепой зоны в первом множестве лидарных точек, электронное устройство 210 может быть выполнено с возможностью управлять транспортным средством 220 таким образом, чтобы применять по меньшей мере одно исправляющее действие. По меньшей мере, одно исправляющее действие может содержать получение дополнительных данных датчиков по меньшей мере из одного дополнительного датчика, ассоциированного с транспортным средством 220, в попытке корректировать слепую зону. Например, электронное устройство 210 может получать данные изображений из первого датчика 230 или других датчиков, присутствующих на транспортном средстве 220, чтобы дополнять прогнозирование 506, выполненное только на основе данных, доступных из второго датчика 240 (либо данных из второго датчика 240, пополненных данными из другого датчика, такого как первый датчик 230).
[141] В альтернативных неограничивающих вариантах осуществления настоящей технологии по меньшей мере одно исправляющее действие может содержать управление транспортным средством 220 таким образом, чтобы дополнять перемещение транспортного средства (к примеру, изменять траекторию и т.п.). Более конкретно, дополнение перемещения транспортного средства может содержать инструктирование транспортному средству 220 одного из следующего: замедлять ход, изменять траекторию, выполнять экстренное торможение и ускоряться.
[142] Описание неограничивающих вариантов осуществления способа для обработки лидарных данных
[143] С учетом архитектуры и примеров, предоставленных выше, можно осуществлять компьютерно-реализованный способ обработки данных облака точек на основе оптического обнаружения и дальнометрии (LIDAR, лидарных). Способ может осуществляться посредством электронного устройства 210. Со ссылкой на фиг. 8, проиллюстрирована блок-схема последовательности операций способа 800, причем способ 800 осуществляется в соответствии с неограничивающими вариантами осуществления настоящей технологии. Следует отметить, что в соответствии с неограничивающими вариантами осуществления настоящей технологии, способ 800 может быть полезным для обнаружения слепых зон, ассоциированных со вторым датчиком 240 и захваченными текущими данными облака трехмерных точек окружающей области 250.
[144] Этап 802 - прием, посредством электронного устройства, первых данных облака лидарных точек, захваченных посредством лидара
[145] Способ 800 начинается на этапе 802, на котором электронное устройство выполняет прием первых данных облака лидарных точек, захваченных посредством лидара (т.е. второго датчика 240). Этот процесс может выполняться так, как описано выше со ссылкой на процедуру 300 получения лидарных данных.
[146] Этап 804 - выполнение, посредством электронного устройства, алгоритма машинного обучения (MLA), причем MLA выполнен с возможностью выполнять: анализ, посредством электронного устройства, первого множества лидарных точек из первых данных облака лидарных точек относительно шаблона откликов множества лазеров для того, чтобы определять текущий шаблон лидарных точек; извлечение, посредством электронного устройства, данных представления в виде сетки окружающей области транспортного средства; на основе текущего шаблона и данных представления в виде сетки, определение того, что первое множество лидарных точек ассоциировано со слепой зоной, причем слепая зона препятствует алгоритму обнаружения обнаружить присутствие по меньшей мере одного объекта в окружении транспортного средства, что обусловлено присутствием по меньшей мере одного объекта
[147] На этапе 804, электронное устройство 210 выполняет MLA 602. MLA 602 выполнен с возможностью выполнять: анализ первого множества лидарных точек из первых данных облака лидарных точек относительно шаблона откликов множества лазеров для того, чтобы определять текущий шаблон лидарных точек; извлечение данных 402 представления в виде сетки окружающей области 250 транспортного средства 220; на основе текущего шаблона и данных 402 представления в виде сетки, определение того, что первое множество лидарных точек ассоциировано со слепой зоной, причем слепая зона препятствует алгоритму обнаружения (т.е. процессу 500 обнаружения) обнаружить присутствие по меньшей мере одного объекта в окружении транспортного средства, что обусловлено присутствием по меньшей мере одного объекта.
[148] В некоторых реализациях способа 800 способ 800 дополнительно содержит обучение MLA. Обучение MLA 602 описано выше, подробно, со ссылкой на фиг. 7 (процесс 702 обучения). Напомним, процесс 702 обучения может включать в себя: подачу в MLA множества объектов из обучающего набора, причем каждый из множества объектов из обучающего набора включает в себя: обучающий шаблон лидарных точек; данные представления в форме обучающей сетки ассоциированной окружающей обучающей области; метку, указывающую, что алгоритм обнаружения имеет возможность обнаружить присутствие по меньшей мере одного обучающего объекта в окружении транспортного средства, что обусловлено присутствием по меньшей мере одного обучающего объекта.
[149] В некоторых реализациях способа 800 способ 800 дополнительно содержит определение, посредством вторичного алгоритма, того, присутствует ли по меньшей мере один обучающий объект.
[150] Чтобы формировать индикатор присутствия по меньшей мере одного обучающего объекта в окружении транспортного средства 220 (проиллюстрировано на 740), электронное устройство 210 может анализировать изображение окружающей области 250, захваченное посредством первого датчика 230, и/или изображение окружающей области 250, захваченное посредством первого датчика 230 другого транспортного средства, рассматривающего окружающую область 250 с другой выгодной точки.
[151] Использование изображения окружающей области 250, захваченного посредством первого датчика 230 другого транспортного средства, рассматривающего окружающую область 250 с другой выгодной точки, может быть преимущественным, поскольку другое транспортное средство может "видеть" присутствие объекта в окружающей области 250, который может быть невидимым для транспортного средства 220, поскольку он может фактически находиться в слепой зоне второго датчика 240 и в силу этого быть необнаруживаемым посредством процесса 500 обнаружения.
[152] В альтернативных неограничивающих вариантах осуществления настоящей технологии электронное устройство 210 может анализировать изображение окружающей области 250, захваченное посредством первого датчика 230 в предыдущий момент времени, вместе с траекторией перемещения, ассоциированной с объектом, присутствующим в ней. Электронное устройство 210 в силу этого может определять, на основе присутствия другого объекта в предыдущем поле зрения и его траектории перемещения, что одинаковый объект должен быть виден в настоящий момент времени. Другими словами, анализ присутствия по меньшей мере одного обучающего объекта может быть основан на определении того, что на основе траектории перемещения и разности времен между временем обучения и предыдущим временем по меньшей мере один обучающий объект по-прежнему должен быть видимым в облаке 312 лидарных точек.
[153] Таким образом, посредством анализа индикатора присутствия по меньшей мере одного обучающего объекта в окружении транспортного средства 220 (проиллюстрировано на 740) и индикатора того, может ли процесс 500 обнаружения прогнозировать присутствие по меньшей мере одного обучающего объекта в окружении транспортного средства 220 (проиллюстрировано на 750), электронное устройство 210 выполнено с возможностью формировать метку 710, которая указывает то, выполнен ли процесс 500 обнаружения с возможностью фактически обнаружить присутствие объекта (на основе индикатора того, что процесс 500 обнаружения может прогнозировать присутствие по меньшей мере одного обучающего объекта в окружении транспортного средства 220 (проиллюстрировано на 750)), при условии, что такой объект фактически существует (на основе индикатора присутствия по меньшей мере одного обучающего объекта в окружении транспортного средства 220 (проиллюстрировано на 740)).
[154] Чтобы формировать такой анализ, электронное устройство 210 выполнено с возможностью выполнять вторичный алгоритм независимо от того, присутствует ли по меньшей мере один обучающий объект. Вторичный алгоритм может реализовываться как эвристический алгоритм. Альтернативно, электронное устройство 210 может принимать индикатор присутствия по меньшей мере одного обучающего объекта от оператора электронного устройства 210.
[155] В некоторых неограничивающих вариантах осуществления способа 800 способ 800 дополнительно содержит, в ответ на обнаружение слепой зоны в первом множестве лидарных точек, управление транспортным средством 220 таким образом, чтобы применять по меньшей мере одно исправляющее действие. По меньшей мере, одно исправляющее действие может включать в себя получение дополнительных данных датчиков по меньшей мере из одного дополнительного датчика, ассоциированного с транспортным средством 220, в попытке корректировать слепую зону. Например, электронное устройство 210 может инициировать первый датчик 230 таким образом, чтобы захватывать и предоставлять данные изображений для дополнительного анализа посредством электронного устройства 210.
[156] В альтернативных неограничивающих вариантах осуществления способа 800 по меньшей мере одно исправляющее действие содержит управление транспортным средством 220 таким образом, чтобы дополнять перемещение транспортного средства. В качестве примера, управление транспортным средством 220 таким образом, чтобы дополнять перемещение транспортного средства, содержит инструктирование транспортному средству одного из следующего: замедлять ход, изменять траекторию, выполнять экстренное торможение и ускоряться.
[157] В некоторых неограничивающих вариантах осуществления способа 800 определение того, что первое множество лидарных точек ассоциировано со слепой зоной, дополнительно основано на геометрическом шаблоне множества лазеров. Например, электронное устройство 210 может принимать индикатор высоты вертикального сканирования второго датчика 240. В некоторых неограничивающих вариантах осуществления настоящей технологии, электронное устройство 210 может принимать индикатор пространственного позиционирования лазеров, которые составляют второй датчик 240. В этих неограничивающих вариантах осуществления настоящей технологии, электронное устройство 210 может использовать эту дополнительную информацию в качестве признака MLA 602 или в качестве дополнительной помощи при определении того, присутствует ли слепая зона (например, чтобы отфильтровывать области, которые находятся выше видимости второго датчика 240).
[158] В некоторых неограничивающих вариантах осуществления способа 800 шаблон откликов множества лазеров указывает совокупность откликов, которые лидар должен принимать в ответ на излучение света посредством множества лазеров.
[159] Модификации и улучшения вышеописанных реализаций настоящей технологии могут становиться очевидными для специалистов в данной области техники. Вышеприведенное описание должно быть примерным, а не ограничивающим. В силу этого, объем настоящей технологии имеет намерение быть ограниченным исключительно посредством объема прилагаемой формулы изобретения.