ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001] Эта заявка испрашивает приоритет заявки на патент США № 16/254508, поданной 22 января 2019, которая включена сюда во всей своей полноте посредством ссылки.
ОБЛАСТЬ ИЗОБРЕТЕНИЯ
[0002] Настоящее раскрытие в общем относится к созданию структурированных картографических данных по входным сигналам датчиков и другим входным сигналам в виде, пригодном для различных задач составления карт машиной и человеком. Более конкретно, настоящее раскрытие относится к устройствам и методикам для создания данных о движении и видеоданных c помощью датчиков транспортного средства и массивов камер и обработки таких данных с созданием высокоточных структурированных картографических данных, которые могут использоваться для определения точного положения (координат) движущегося транспортного средства в его окружении.
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
[0003] По мере развития технологии автономных и полуавтономных транспортных средств существует потребность в машиночитаемых картах, закодированных в структурах картографических данных, которые позволяют определять положение транспортного средства в его окружении с достаточной точностью и достоверностью, позволяя, например, транспортному средству оставаться в его полосе движения или избегать столкновения с бордюром или препятствием на дороге. Такая точность может быть в пределах сантиметров. Коммерческие глобальные системы позиционирования (GPS) не обеспечивают такую точность и часто недоступны в необходимые моменты, а карты, предназначенные для использования человеком, не предоставляют данные о местности, которые необходимы транспортному средству для навигации (например, местоположение бордюров). Структуры картографических данных, предназначенные для навигации транспортных средств, в отличие от карт для навигации человека, предоставляют обширные данные о неподвижных объектах, позволяя транспортному средству избегать столкновения с объектами и позволяя транспортному средству получать его положение с помощью неподвижных объектов.
[0004] Одним подходом к созданию таких картографических данных является оснащение транспортного средства массивом имеющихся в продаже лазерных локаторов (LIDAR), но такие системы могут быть дорогими. Объекты (элементы рельефа) рядом и на дороге могут меняться, например, вследствие дорожных работ. Поскольку системы LIDAR дороги, зачастую экономически не выгодно часто обновлять картографические данные, за исключением, возможно, наиболее загруженных дорог, что обычно приводит к устареванию картографических данных.
[0005] Существует потребность в менее дорогом источнике картографических данных для транспортных средств. По мере того, как создается больше картографических данных, это создает необходимость в автоматизированном способе обработки картографических данных.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0006] Предложено устройство и способы для сбора данных датчиков, обработки таких данных для получения высокоточных структурированных картографических данных. Обработка может происходить на сенсорном устройстве, работающем в или на транспортном средстве, на вычислительном устройстве, связанном с сенсорным устройством, на удаленном сервере или некоторой их комбинации. Высокоточные структурированные картографические данные могут генерироваться с минимальным взаимодействием с человеком по данным датчиков от недорогих датчиков. Высокоточные структурированные картографические данные могут генерироваться в виде, пригодном для использования в системах вождения автономных транспортных средства и других системах, которым требуются данные, относящиеся к окружению, такому как внедомовая территория городских улиц или другие окружения.
[0007] Способ создания структурированных картографических данных может включать в себя прием данных датчиков с метками времени от по меньшей мере одного датчика, установленного на транспортном средстве, прием видеоданных с метками времени, содержащих по меньшей мере два видеопотока, причем каждый видеопоток получен одной камерой из по меньшей мере двух камер, установленных на транспортном средстве, и компьютерное вычисление по данным датчиков с метками времени множества значений пространственных показаний, причем каждое значение пространственного показания содержит положение и соответствующую метку времени, так что упомянутое положение указывает положение, в котором упомянутый по меньшей мере один датчик считался находящимся в момент времени, указанный соответствующей меткой времени. Множество значений пространственных показаний может включать в себя первое значение пространственного показания, содержащее положение p0 и момент времени t0, и второе значение пространственного показания, содержащее положение p1 и момент времени t1. По видеоданным с меткой времени система может вычислить, используя процессор, множество записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, причем каждая запись изображения содержит изображение и соответствующую метку времени, так что изображение считается записанным в момент времени соответствующей метки времени. Далее система может идентифицировать, используя процессор, две t0-записи изображения, причем каждая t0-запись изображения выбрана из одного из множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, так что каждая запись изображения из упомянутых по меньшей мере двух t0-записей изображений имеет соответствующую метку времени, приблизительно равную t0. Далее система может идентифицировать, используя процессор, по меньшей мере две t1-записи изображения, причем каждая t1-запись изображения выбрана из одного из множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, так что каждая запись изображения из упомянутых по меньшей мере двух t1-записей изображений имеет соответствующую метку времени, приблизительно равную t1. Затем система может идентифицировать, используя процессор, неподвижный объект, присутствующий в каждой из упомянутых по меньшей мере двух t0-записей изображений и упомянутых по меньшей мере двух t1-записей изображений, и вычислить t0-относительное положение неподвижного объекта в момент времени t0 на основании разности параллаксов между упомянутыми по меньшей мере двумя t0-записями изображений. Далее система может вычислить t1-относительное положение неподвижного объекта в момент времени t1 на основании разности параллаксов между упомянутыми по меньшей мере двумя t1-записями изображений, и на основании разности между t0-относительным положением объекта и t1-относительным положением объекта определить корректирующее значение к p1.
[0008] Способ может также включать в себя использование процессора для идентификации множества неподвижных объектов на записях изображений. Для каждого из множества неподвижных объектов система может вычислять по меньшей мере одно относительное положение неподвижного объекта на основании по меньшей мере двух записей изображений с созданием множества относительных положений объектов. Система может получать множество корректирующих значений путем определения корректирующего значения к положению каждого значения пространственного показания из множества значений пространственных показаний на основании множества относительных положений объектов и применять множество корректирующих значений к положению каждого значения пространственного показания из множества значений пространственных показаний с созданием множества скорректированных значений пространственных показаний. Система может обнаруживать, что более позднее положение из множества скорректированных значений пространственных показаний находится в пределах максимального расстояния замыкания петли от предшествующего положения из множества скорректированных значений пространственных показаний, причем более позднее положение и предшествующее положение отделены друг от друга одним из наименьшего времени петли и наименьшего расстояния (протяженности) петли, причем более позднее положение соответствует более поздней метке времени, а предшествующее положение соответствует предшествующей метке времени. Затем система может вычислить ошибку замыкания петли по первой записи изображения из множества записей изображений, имеющей соответствующую метку времени, приблизительно равную предшествующей метке времени, и второй записи изображения, имеющей соответствующую метку времени, приблизительно равную более поздней метке времени.
[0009] Способ также может включать в себя использование ошибки замыкания петли для вычисления дополнительного корректирующего значения к множеству скорректированных значений пространственных показаний. Данные датчиков с меткой времени могут содержать данные от акселерометра, установленного в транспортном средстве, и метка времени применяется к данным датчиков с использованием синхросигнала от глобальной системы позиционирования. В некоторых вариантах осуществления способа по меньшей мере две камеры могут быть установлены в массиве камер, установленном на транспортном средстве.
[0010] В другом варианте осуществления способ создания структурированных картографических данных может включать в себя прием данных датчиков с метками времени от по меньшей мере одного датчика, установленного на транспортном средстве, прием видеоданных с метками времени, содержащих по меньшей мере два видеопотока, причем каждый видеопоток получен одной камерой из по меньшей мере двух камер, установленных на транспортном средстве, и компьютерное вычисление по данным датчиков с метками времени множества значений пространственных показаний. Каждое значение пространственного показания может включать в себя положение и соответствующую метку времени, так что упомянутое положение указывает положение, в котором упомянутый по меньшей мере один датчик считался находящимся в момент времени, указанный соответствующей меткой времени. По видеоданным с меткой времени система может вычислять с помощью процессора множество записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, причем каждая запись изображения содержит изображение и соответствующую метку времени, так что изображение считается записанным при соответствующей метке времени. Система может использовать процессор для идентификации множества записей изображений объекта, связанных с объектом, причем записи изображений объекта являются поднабором множества записей изображений, так что каждое изображение в каждой записи изображения содержит упомянутый объект. Множество относительных положений объектов может быть вычислено путем вычисления относительного положения объекта по каждому изображению в записях изображений объектов. Система может создавать облако точек, содержащее множество положений для объекта, на основании множества относительных положений объекта.
[0011] Способ может также вычислять вероятностное положение объекта по облаку точек с точностью вероятностного положения, улучшающейся по мере того, как собирается больше видеоданных с меткой времени, содержащих объект. Вероятностное положение объекта может сравниваться с прежними (историческими) картографическими данными для определения, является ли объект неподвижным, а затем использоваться для обновления прежних картографических данных.
[0012] Способ также может использовать процессор для идентификации по меньшей мере двух t0-записей изображений, причем каждая t0-запись изображения выбрана из одного из множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, так что каждая запись изображения из упомянутых по меньшей мере двух t0-записей изображений имеет соответствующую метку времени, приблизительно равную t0. Затем процессор может использоваться для идентификации по меньшей мере двух t1-записей изображений, причем каждая t1-запись изображения выбрана из одного из множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, так что каждая запись изображения из упомянутых по меньшей мере двух t1-записей изображений имеет соответствующую метку времени, приблизительно равную t1. Может быть идентифицирован неподвижный объект на каждой из упомянутых по меньшей мере двух t0-записей изображений и упомянутых по меньшей мере двух t1-записей изображений. t0-относительное положение неподвижного объекта в момент времени t0 может быть вычислено на основании разности параллаксов между упомянутыми по меньшей мере двумя t0-записями изображений. t1-относительное положение неподвижного объекта в момент времени t1 также может быть вычислено на основании разности параллаксов между упомянутыми по меньшей мере двумя t1-записями изображений, и на основании разности между t0-относительным положением объекта и t1-относительным положением объекта может быть определена корректировка (корректирующее значение) к p1.
[0013] Способ также может включить в себя получение множества корректирующих значений путем определения корректирующего значения к положению каждого значения пространственного показания из множества значений пространственных показаний, причем множество корректирующих значений основано на множестве относительных положений объектов из множества неподвижных объектов, идентифицированных с использованием процессора, на записях изображений. Множество корректирующих значений может быть применено к положению каждого значения пространственного показания из множества значений пространственных показаний с созданием множества скорректированных значений пространственных показаний. Более позднее положение из множества скорректированных значений пространственных показаний может быть обнаружено как находящееся в пределах максимального расстоянии замыкания петли от предшествующего положения из множества скорректированных значений пространственных показаний, причем более позднее положение и предшествующее положение отделены одним из наименьшего времени петли и наименьшего расстояния петли. Ошибка замыкания петли может быть вычислена по видеоданным с метками времени на основании более позднего положения, метки времени, связанной с более поздним положением, предшествующего положения и метки времени предшествующего положения.
[0014] Ошибка замыкания петли может использоваться для вычисления корректирующего значения для по меньшей мере одного положения в облаке точек. Данные датчиков с метками времени могут включать в себя данные от инерциального измерительного блока, установленного в транспортном средстве, и метку времени от глобальной системы позиционирования, установленной в транспортном средстве.
[0015] Система для создания структурированных картографических данных может включать в себя транспортное средство, имеющее источник времени, датчики, собирающие данные датчиков, и массив из по меньшей мере двух камер, каждая из которых получает видеопоток, при этом метки времени от источника времени применяются к данным датчиков для получения данных датчиков с метками времени и к каждому видеопотоку для получения видеоданных с метками времени. Система обработки данных датчика может принимать данные датчика с метками времени и видеоданные с метками времени и выполнять следующую последовательность этапов. По данным датчиков с метками времени система может вычислять множество значений пространственных показаний, причем каждое значение пространственного показания содержит положение и соответствующую (связанную с ним) метку времени, так что положение указывает положение, в котором упомянутый по меньшей мере один датчик считался находящимся в момент времени, указанный соответствующей меткой времени, множество значений пространственных показаний включает в себя первое значение пространственного показания, содержащее положение p0 и момент времени t0, и второе значение пространственного показания, содержащее положение p1 и момент времени t1. По видеоданным с метками времени система может вычислять множество записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, причем каждая запись изображения содержит изображение и соответствующую метку времени, так что изображение считается записанным в момент времени соответствующей метки времени. Система может использовать процессор для идентификации по меньшей мере двух t0-записей изображений, причем каждая t0-запись изображения выбрана из одного из множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, так что каждая запись изображения из упомянутых по меньшей мере двух t0-записей изображений имеет соответствующую метку времени, приблизительно равную t0. Затем система может использовать процессор для идентификации по меньшей мере двух t1-записей изображений, причем каждая t1-запись изображения выбрана из одного из множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, так что каждая запись изображения из упомянутых по меньшей мере двух t1-записей изображений имеет соответствующую метку времени, приблизительно равную t1. Система может использовать процессор для идентификации присутствия неподвижного объекта на каждой из упомянутых по меньшей мере двух t0-записей изображений и упомянутых по меньшей мере двух t1-записей изображений. Затем система может вычислить t0-относительное положение неподвижного объекта в момент времени t0 на основании разности параллаксов между упомянутыми по меньшей мере двумя t0-записями изображений, а затем вычислить t1-относительное положение неподвижного объекта в момент времени t1 на основании разности параллаксов между упомянутыми по меньшей мере двумя t1-записями изображений. На основании разности между t0-относительным положением объекта и t1-относительным положением объекта система может определить корректирующее значение к p1.
[0016] При обработке данных датчиков система далее может получать множество корректирующих значений путем определения корректирующего значения к положению каждого значения пространственного показания из множества значений пространственных показаний, причем множество корректирующих значений основано на множестве относительных положений множества неподвижных объектов, идентифицированных с использованием процессора на записях изображений. При обработке данных датчиков далее может применяться множество корректирующих значений к положению каждого значения пространственного показания из множества значений пространственных показаний с получением множества скорректированных значений пространственных показаний. При обработке данных датчиков далее может обнаруживаться, что более позднее положение из множества скорректированных значений пространственных показаний находится в пределах максимального расстояния замыкания петли от предшествующего положения из множества скорректированных значений пространственных показаний, причем более позднее положение и предшествующее положение отделены одним из наименьшего времени петли и наименьшего расстояния петли. При обработке данных датчиков может вычисляться ошибка замыкания петли по видеоданным с метками времени на основании более позднего положения, метки времени, соответствующей более позднему положению, предшествующего положения и метки времени предшествующего положения.
[0017] Система использует ошибку замыкания петли для вычисления дополнительного корректирующего значения к множеству скорректированных значений пространственных показаний.
[0018] При обработке данных датчиков система может далее использовать процессор для идентификации множества записей изображений объекта, связанных с объектом, причем записи изображений объекта являются поднабором множества записей изображений, так что для каждой метки времени в записях изображений объекта по меньшей мере одно изображение, связанное с меткой времени, содержит объект. При обработке данных датчиков далее может вычисляться множество относительных положений объекта путем вычисления относительного положения объекта по каждому изображению в записях изображений объекта и создаваться облако точек, содержащее множество положений для объекта, на основании множества относительных положений объекта.
[0019] Система может вычислять вероятностное положение объекта по облаку точек с точностью вероятностного положения, улучшающейся по мере того, как собирается больше видеоданных с метками времени, содержащих объект. Вероятностное положение объекта может сравниться с прежними картографическими данными для определения того, является ли объект неподвижным.
[0020] Датчики, собирающие данные датчиков, могут включать в себя акселерометр и гироскоп, а источником времени является глобальная система позиционирования.
[0021] Последующее подробное описание вместе с прилагаемыми чертежами обеспечит лучшее понимание сущности и преимуществ настоящего изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0022] Различные варианты осуществления в соответствии с настоящим раскрытием будут описаны со ссылкой на чертежи, на которых:
[0023] Фиг. 1 показывает способ в соответствии с одним вариантом осуществления.
[0024] Фиг. 2 показывает крепление для массива камер.
[0025] Фиг. 3 показывает иллюстративную вычислительную систему.
ПОДРОБНОЕ ОПИСАНИЕ
[0026] В последующем подробном описании будут описаны различные варианты осуществления. В целях объяснения изложены конкретные конфигурации и подробности для обеспечения полного понимания вариантов осуществления. Однако специалисту в данной области техники также будет очевидно, что варианты осуществления могут быть реализованы на практике без этих конкретных подробностей. Кроме того, хорошо известные признаки могут быть исключены или упрощены, чтобы не затруднять понимание описываемого варианта осуществления.
[0027] Некоторые описанные и предложенные здесь способы и устройство обеспечивают (1) создание необработанных данных датчиков транспортного средства, (2) обработку данных датчиков транспортного средства с получением структурированных картографических данных и (3) сравнение новых структурированных картографических данных с прежними картографическими данными. Эти процессы могут использоваться для получения структурированных картографических данных. После получения структурированных картографических данных они могут быть преобразованы или иным образом обработаны, чтобы адаптироваться к конкретному случаю использования или требованиям покупателя картографических данных. В одном варианте осуществления эти процессы выполняются последовательно со сбором и сохранением на борту транспортного средства необработанных данных датчиков транспортного средства, но способы не ограничиваются этим. Возможны одновременные сбор и передача (например, сотовая передача данных), а также автоматизированная обработка на борту транспортного средства.
[0028] Хотя раскрытие сделано в отношении транспортных средств, таких как автомобили, специалистам в данной области техники будет понятно, что способы этим не ограничены и могут использоваться, например, для построения структурированных картографических данных для воздушных транспортных средств или подводных транспортных средств. Раскрытие также относится к сбору данных с использованием видеокамер, которые могут быть адаптированы к использованию, например, сонара (звуковая навигация и определение расстояний). Хотя один вариант осуществления использует видеокамеры, чтобы избежать расходов на LIDAR и по другим причинам, некоторые методы и технологии в равной степени применимы к обработке данных датчиков, собранных с помощью LIDAR, радара или других датчиков.
[0029] Используемый здесь термин “данные датчиков” относится к данным, которые могут быть представлены в электронной и/или в машиночитаемой форме, которая соответствует сигналам, детектированным датчиками. Примеры включают в себя видеокамеры, фотокамеры, светочувствительные датчики, датчики расстояния, гироскопы, акселерометры, компасы, детекторы уровня, датчики напряжения, датчики тока и т.п. Как правило, сигналы от этих датчиков оцифровываются, а затем могут сохраняться в памяти компьютера или передаваться по каналам передачи цифровых данных, которые могут существовать между устройством, установленным в или на транспортном средстве, и смартфоном или другим вычислительным устройством, расположенным поблизости, или которые могут существовать между устройством и/или вычислительным устройством и удаленным сервером или устройством, например, в виде канала сотовой связи.
[0030] Камеры, как правило, способны захватывать электронное изображение света, падающего на датчик камеры, для захвата изображения сцены в общем случае перед камерой (в случае направленной камеры) или в поле обзора камеры (для всенаправленных камер). Если изображение снято в единственный момент времени, оно может быть неподвижным изображением, а если изображения захватываются в последовательности с течением времени, они могут быть представлены последовательностью видеокадров (для краткости, часто называемой просто “видео”), которые могут сохраняться как сохраненное видео или передаваться либо транслироваться в потоковом режиме в виде видеопотока и т.д.
[0031] Таким образом, камеры захватывают образы (неподвижные изображения, видео и т.д.) сцены, на которую направлена камера, или где она расположена. Захваченная сцена может быть частью окружения, в котором работает камера. В одном примере камера устанавливается на транспортном средстве и обращена вперед во время движения транспортного средства по городу или в другом географическом месте, и камера захватывает изображение сцены перед транспортным средством (и, возможно, также сбоку и даже сзади в случае камеры на 360 градусов). Как правило, простая камера имеет единственный датчик камеры для захвата двумерного (2D) вида сцены, и несколько таких камер могут использоваться и разноситься для добавления составляющей восприятия глубины.
[0032] Некоторые датчики регистрируют движение транспортного средства. Эти датчики могут включать в себя гироскопы, акселерометры, компасы и т.п. Выходные сигналы этих датчиков движения транспортного средства производят данные о движении транспортного средства и могут использоваться при обработке и/или записываться наряду с данными, полученными из компьютерной системы контроля и управления транспортным средством (например, параметрами спидометра или двигателя), часто доступными от бортовой системы диагностики.
[0033] Датчики местоположения транспортного средства могут включать в себя датчики, такие как устройства GPS, дифференциальные устройства GPS, сотовые датчики местоположения, навигационные устройства Galileo, устройства ГЛОНАСС и другие спутниковые системы определения положения и специализированные радиосистемы. Эти датчики генерируют данные о местоположении транспортного средства, но, как правило, не имеют достаточно высокой точности для получения структурированных картографических данных для навигации транспортных средств. Данные датчиков транспортного средств в совокупности относятся к данным о движении транспортного средства, данным о местоположении транспортного средства, данным изображений от транспортного средства и, возможно, другим данным.
[0034] Город или другое географическое место, где движется транспортное средство, будет окружением, в котором захватывается сцена. Сцена может включать в себя характерные объекты, такие как другие автомобили, разметки полос движения, другую уличную разметку, знаки, бордюры, пешеходов, животных, небо, дождь и другие элементы, присутствующие в этом окружении. Некоторые из этих элементов могут двигаться относительно проезжей части, в то время как другие являются неподвижными. Некоторые из них могут представляться неподвижными в течение периода видеосъемки, но на самом деле подвижны и двигаются в другое время.
[0035] Датчиками обнаруживаются дорожные объекты или просто объекты как подходящие для обнаружения, например, благодаря краям или выделению относительно фона. Неподвижные объекты являются объектами, имеющими высокую вероятность быть неподвижными на основании размера, формы или местоположения. Например, объект, имеющий форму автомобиля, в полосе движения имеет низкую вероятность быть неподвижным объектом, когда он движется. Объект в виде дерева или уличного знака, расположенный не в полосе движения, имеет более высокую вероятность быть неподвижным объектом. Объекты-ориентиры на местности являются объектами, которые были нанесены на карту и имеют высокую вероятность быть неподвижным. Примерами являются уличные знаки (например, знаки Стоп), фонарные столбы, стволы деревьев и здания. Примером плохого выбора в качестве объекта-ориентира является припаркованный автомобиль, который может двигаться.
[0036] Структурированные картографические данные предпочтительно содержат высокоточные данные о местоположения для неподвижных объектов, которые в общем находятся на или вблизи проезжей части, часто для использования автономным или полуавтономным транспортным средством для навигации и определения его положения.
[0037] В одном варианте осуществления процесс создания необработанных данных датчика выполняется с помощью массива камер, содержащего по меньшей мере две камеры, откалиброванные с использованием известной сцены. Например, камеры могут быть установлены в корпусе, который должен крепиться к транспортному средству, при этом камеры имеют относительно неподвижное положение и ориентацию друг относительно друга после установки. Массив камер может быть установлен в крепление для массива, которое жестко поддерживает камеры. Крепление массива может быть установлено в различных местах в транспортном средстве, например, над зеркалом заднего обзора, спереди транспортного средства (например, на бампере). Массив может также быть обращен назад или вбок. Массив может быть установлен на верх транспортного средства, вне пассажирского салона.
[0038] Если корпус размещен так, что в поле зрения камер находится известная сцена, например, сцена, имеющая опорные точки, метки, ориентиры и/или подобное, помещенные в конкретные положения с заданными расстояниями между предметами, может выполняться калибровка. Путем обработки образов с камер калибровочный процессор может определить, как отличаются виды с различных камер, и эта информация может быть сохранена в памяти компьютера в качестве калибровочных данных, подлежащих использованию позже для интерпретации выходных сигналов камер.
[0039] Установленные на транспортном средстве камеры могут быть откалиброваны с использованием внутренней калибровки, внешней калибровки и/или автоматической калибровки. Внутренняя калибровка калибрует одну камеру или модель камеры. Внутренняя калибровка может быть выполнена путем снятия изображения или видео известной сцены и вычисления параметров камеры по полученному в результате изображению или видео. Внешняя калибровка относится к калибровке массива камер. Камеры могут быть установлены на жестком креплении, обеспечивающем фиксированные положения камер друг относительно друга. Изображение или видео известной сцены могут быть сняты для калибровки камер друг относительно друга, как описано выше. Автоматическая калибровка относится к непрерывной калибровке, происходящей при приеме и обработке данных изображения от массива камер, установленных в транспортном средстве. Изображения или видео с каждой камеры могут сравниваться друг с другом и с предыдущими изображениями либо с того же самого массива камер, либо с других массивов камер для калибровки камер для учета движения в массиве и крепления массива в транспортном средстве.
[0040] Видеоданные с каждой камеры могут синхронизироваться, например, импульсом GPS. Видео с каждой камеры может также быть помечено метками времени по данным GPS или другого источника времени. Для обеспечения возможности обработки данных и обеспечения адекватного охвата объектов на пути, транспортное средство может проехать по маршруту, который охватывает один и тот же путь, несколько раз, позволяя снять несколько изображений одной и той же сцены. Это решает проблему перекрытия другими транспортными средствами или оптические проблемы, такие как блики в объективе. Это также позволяет оценить ошибку замыкания петли, описанную более подробно ниже. Данные о местоположении транспортного средства и данные движения транспортного средства сохраняются на транспортном средстве или передаются для обработки.
[0041] Перед началом движения транспортного средства или иного маневрирования на маршруте генерируется маршрут. Маршрут может генерироваться для обеспечения просмотра одной и той же сцены с нескольких видов (ракурсов), например, за счет охвата маршрутом одного и того же пути в пределах маршрута несколько раз. Эти пути могут пересекаться, замыкая петлю. Маршрут может быть предоставлен водителю, которому поручено собирать данные датчиков по маршруту.
[0042] Маршрут транспортного средства является маршрутом, выданным оператору транспортного средства для поездки или иным образом проведения транспортного средства по нему. Маршрут может включать в себя один или более меньших сегментов или путей. Например, водителю может быть назначен маршрут, содержащий четыре пути, каждый из которых содержит один и тот же самый круг вокруг городского квартала. Вычислительная система затем может сравнить четыре пути, чтобы заполнить любые части, которые были пропущены во время одного из кругов вокруг квартала, например, вследствие перекрытия автофургонами.
[0043] Во время движения по маршруту необработанные данные датчиков могут сохраняться, например, на жестком диске (например, твердотельном накопителе или флеш-накопителе). Данные могут быть выгружены во время движения по маршруту с помощью сотовой передачи данных или перенесены после завершения движения по маршруту, когда доступна сеть Wi-Fi или физическое соединение LAN. Данные также могут переноситься на жесткий диск, флеш-накопитель или другие портативные носители данных, которые затем могут быть доставлены на устройство, имеющее систему обработки данных датчиков для обработки.
[0044] После приема данных система обработки данных датчиков выполняет процесс, похожий на одновременное определение местоположения и картирование (SLAM) по данным с получением структурированных картографических данных. Система обработки данных датчиков может обрабатывать данные в режиме реального времени на транспортном средстве или обрабатывать сохраненные данные после того, как транспортное средство завершило движение по маршруту.
[0045] Ближе к началу маршрута исходное положение транспортного средства идентифицируется в трехмерной системе координат, такой как (широта, долгота, высота) или (x, y, z). Также может идентифицироваться исходная ориентация (крен (поперечный наклон), тангаж (продольный наклон), рыскание (поворот относительно вертикальной оси)). Исходное положение может быть определено, например, по данным GPS, путем сравнения видео из текущих видеоданных с предыдущими картографическими данными, из данных положения сотовой связи или из другого источника положения. Исходная ориентация может быть определена по данным акселерометра и гироскопа, путем сравнения видео из текущего видео с прежними данными или из другого источника. От начальной точки данные датчиков движения транспортного средства могут использоваться для точного расчета предполагаемого положения, в которое переместилось транспортное средство. Затем используются данные камеры для идентификации объектов, и по изменению положения камер относительно объектов точно рассчитанное положение обновляется по датчикам движения. Процесс повторяется для создания серии скорректированных положений вдоль пути транспортного средства. Процесс точного расчета положения иногда называют одометрией.
[0046] Преимущественно, маршруты транспортного средства можно разработать так, чтобы они проходили через одно и то же место, так что путь будет приблизительно перекрывать сам себя и таким образом формировать замкнутую петлю. В этот момент может быть вычислена ошибка замыкания петли.
[0047] Хотя датчики движения транспортного средства могут генерировать данные о движении транспортного средства, эти датчики не определяют положение напрямую. Однако данные могут быть обработаны для определения положения. Например, показания скорости могут быть интегрированы для предоставления положения, а инерциальные данные от акселерометра могут быть дважды интегрированы для предоставления положения. Такая обработка может привести к ошибкам при измерении.
[0048] Пересечение пути с самим собой может наблюдаться, когда две точки наблюдаются находящимися друг от друга на расстоянии, которое меньше максимального расстояния замыкания петли. Чтобы избежать обнаружения точек, близких по времени, таких как последовательные наблюдения, образующие петлю, может потребоваться минимальное количество времени (наименьшее время петли) или расстояние (наименьшее расстояние (протяженность) петли), прежде чем будет обнаружено замыкание петли. По ошибке замыкания петли могут быть вычислены ошибки в необработанных данных датчиков движения и может быть применена корректировка по всему пути. Если маршрут включает в себя несколько поездок по одному и тому же пути, данные от нескольких поездок по путям могут быть консолидированы для корректировки путей относительно друг друга. Могут быть идентифицированы объекты-ориентиры, которые не изменились между повторными посещениями одного и того же пути. Дорожные объекты (например, бордюры, дорожные знаки, другие неподвижные объекты) могут быть идентифицированы и аннотированы для получения структурированных картографических данных.
[0049] Как только структурированные картографические данные по маршруту получены, их можно сравнить с прежними данными для устранения объектов, которые не являются неподвижными (например, припаркованные автомобили, которые были неподвижны во время движения по маршруту, но могут двигаться), и для обновления прежней карты. Например, могут быть добавлены или удалены уличные знаки, а строительство может навсегда изменить проезжую часть.
[0050] Обновленные прежние картографические данные затем могут быть сохранены в каноническом виде, который затем может быть переведен в форматы данных, адаптированные для специализированных картографических систем.
Варианты осуществления
[0051] В одном варианте осуществления камеры, прошедшие внутреннюю калибровку, устанавливаются в массив камер и проходят внешнюю калибровку в массиве. Установленные в массив камеры захватывают видео во время прохождения транспортного средства по маршруту.
[0052] Камеры могут быть синхронизированы с использованием сигнала GPS. Хотя сам сигнал GPS в общем недостаточно точен для обеспечения достаточно высокой точности для навигации транспортного средства, сигнал времени GPS в достаточной мере точен, чтобы позволить синхронизацию различных изображений или видеоданных, например, помечая видеоданные меткой времени, чтобы обеспечить обработку различных видеопотоков таким образом, что изображения, которые были сняты примерно одновременно, могли быть обработаны как таковые.
[0053] Датчики движения транспортного средства одновременно записывают данные о движении. Датчики движения транспортного средства могут быть установлены в креплении, которое содержит массив камер, или могут быть в отдельном устройстве. Данные датчиков также могут быть получены от другого устройства, такого как сотовый телефон. В одном варианте осуществления в массиве камер устанавливается инерциальный измерительный блок (IMU), включающий в себя акселерометр, гироскоп и GPS, и сигнал GPS этого блока используется для синхронизации камер, а также снабжения метками времени всех данных датчиков транспортного средства. Снабжение метками времени GPS всех данных датчиков и видеоданных помогает системе обработки данных датчиков соотносить видеоданные и данные датчиков во время обработки, объединяя видеоданные с данными датчика с образованием объединенных данных.
[0054] В одном варианте осуществления может быть несколько креплений, которые включаются либо отдельными сигналами GPS, либо совместно используемым сигналом GPS.
[0055] Маршрут, по которому проходит транспортное средство, в одном варианте осуществления может быть выбран повторяющим один или более путей несколько раз, формируя по меньшей мере одну замкнутую петлю, движение по которой может осуществляться многократно.
[0056] Данные могут быть загружены в хранилище данных либо во время сбора (например, с помощью сотовых данных), либо могут сохраняться на транспортном средстве и загружаться позже, когда будет доступно соединение LAN или Wi-Fi. Альтернативно, данные могут быть доставлены физически, когда транспортное средство паркуется в пункте сбора, или путем транспортировки жесткого диска или флеш-накопителя в пункт сбора.
[0057] Как только данные приняты, данные датчиков обрабатываются для “точного расчета” положения транспортного средства. Исходное положение P0 (в момент времени t0) может быть получено с использованием сигнала GPS, сравнения видео с прежними картографическими данными или иным образом. Из этого исходного положения может быть получено новое положение P1 (в момент времени t1) транспортного средства с использованием данных о движении транспортного средства. Например, расстояние может быть вычислено путем двукратного интегрирования ускорения. Начальная скорость транспортного средства может быть вычислена путем выбора исходного положения, когда транспортное средство было остановлено, путем использования данных GPS для вычисления начальной скорости транспортного средства, путем использования видеоданных для вычисления начальной скорости транспортного средства или путем использования встроенной диагностики транспортного средства для определения скорости транспортного средства. Изменения направления могут быть определены путем комбинирования гироскопических данных с данными акселерометра. Также могут использоваться данные от магнитного компаса. Комбинируя эти данные, получают новое положение P1 транспортного средства с некоторой ошибкой. Это новое положение P1 затем может быть проверено и скорректировано с использованием видеоданных. В видеоданных идентифицируются объекты, которые кажутся неподвижными в P0. В момент времени t1 совмещение этих объектов может использоваться для определения нового положения транспортного средства. Поскольку имеется по меньшей мере две камеры, может использоваться разность параллаксов между видами изображений с камер одного и того же объекта для определения расстояния до него, и два различных вида одного и того же объекта позволяют определить изменение положения транспортного средства и сравнить его с положением, вычисленным на основании данных о движении транспортного средства. Таким образом система обработки данных датчиков обновляет положение, вычисленное по объединенным данным на основании относительного перемещения объектов в видеоданных, при этом объединенные данные получаются из данных датчиков для создания точных данных о положении для транспортного средства и объектов. Когда система обработки данных датчика корректирует данные о положении, она обнаруживает систематическую ошибку (смещение) в данных датчиков и корректирует ее с использованием обновленных данных о положении. По мере обработки видеоданных вероятные объекты могут быть обнаружены путем методов распознавания контуров или других методов машинного зрения.
[0058] В одном варианте осуществления данные о движении транспортного средства, содержащие инерциальные данные, используются для создания необработанных данных о положении, таких как необработанное положение P1. После вычисления необработанного положения P1 оно корректируется (обновляется) с использованием видеоданных. Инерциальные данные могут быть основаны главным образом на данных, полученных с помощью гироскопа и акселерометра. Эти данные могут поступать из IMU.
[0059] Отметим, что данные о положении могут включать в себя данные траектории, такие как крен, тангаж и рыскание, либо скорость в системе координат x, y, z или другой системе координат, а также положение в пространстве в системе координат x, y, z или другой системе координат.
[0060] Процесс вычисления положения по данным датчиков и его корректировка по видеоданным повторяется вдоль пути, возможно несколько раз в течение каждой секунды видеоданных, например, с частотой кадров в секунду (FPS) видеокамер (например, 24 FPS).
[0061] Преимущественно, маршруты определяются включающими в себя замкнутые пути. Когда система обработки данных датчиков определяет, что транспортное средство пересекло путь транспортного средства (достигло одного и того же положения дважды), система обработки данных датчиков может определить ошибку замыкания петли, например, путем сопоставления координат GPS с прежними координатами GPS, путем сопоставления видеоизображений, путем сопоставления ориентации относительно известных объектов или с помощью другой методики сопоставления карт. Как только было обнаружено замыкание петли, накопленная ошибка в вычисленном положении становится известной и может быть скорректирована путем обновления предыдущих положений таким образом, что при замыкании петли положение, вычисленное в конце пути, является по существу тем же самым, что и в начале пути. Это позволяет уменьшить отклонение траектории. Может быть вычислена коррекция отклонения траектории, и любая систематическая ошибка в датчиках применена к будущим данным датчиков. В одном варианте осуществления ошибка замыкания петли вычисляется на основании разностей в положении, вычисленном по видеоданным. Это может быть выполнено путем сравнения изображений из первого прохода через петлю с изображениями из второго прохода через петлю, используя объекты и параллакс.
[0062] Преимущественно, водителям могут задаваться маршруты, имеющие несколько замыканий петель и несколько повторных посещений одной и той же части пути. Различные пути, формирующие различные петли, могут совместно использовать перекрывающийся сегмент для каждого пути.
[0063] В одном варианте осуществления расстояние между двумя камерами в массиве камер составляет приблизительно 50 см, что обеспечивает некоторую точность определения положения объектов ближе приблизительно 20 м. Движение транспортного средства улучшает обнаружение местоположения объектов, поскольку если объект обнаруживается на расстоянии, имеется большая погрешность в расстоянии до него и его точном местоположении, но по мере того, как объект многократно обнаруживается на последовательных видеокадрах, расстояние до него и его местоположение становятся все более определенными, в частности, когда транспортное средство приближается к объекту. То есть облако точек возможных местоположений объекта, соответствующих объекту, сжимается по мере того, как объект многократно обнаруживается из различных местоположений и, в частности, когда транспортное средство приближается к объекту и проходит мимо него. Отметим, что, хотя более быстро движущееся транспортное средство может иметь меньше снятых кадров изображений объекта, результирующее облако точек может быть столь же точным для оценки местоположения объекта, потому что основным фактором, определяющим точность местоположения объектов, является изменение положения. В крайнем случае неподвижное транспортное средство не предоставляет значительно улучшенной информации о местоположении относительно объектов на изображениях. По этой причине в одном варианте осуществления видеопоток может останавливаться, когда обнаружено, что транспортное средство неподвижно, и затем перезапускаться, как только транспортное средство начинает движение.
Слияние карт
[0064] После создания карты по маршруту, система слияния карт может выполнить слияние карты с прежними картами. Карта может быть сохранена в базе картографических данных, поддерживаемой сервером или на борту транспортного средства. Прежние карты могут храниться на сервере.
[0065] В одном варианте осуществления система слияния карт редактирует вновь созданную карту, удаляя ошибочные объекты, такие как объекты, которые кажутся неподвижными на новой карте, но, судя по прежним данным, на самом деле являются временными. В другом варианте осуществления система слияния карт выполняет слияние вновь созданной карты с прежней картой, создавая обновленную прежнюю карту. В любом случае первым этапом анализа является обнаружение изменений между новой картой (наиболее поздние выходные данные по маршруту движения) и прежней картой. Система слияния карт может присвоить измененным объектам вероятности того, что изменения являются постоянными, а не временными. Пустоты на любой карте могут быть заполнены. Например, припаркованный грузовик мог закрыть части новой карты. Припаркованный грузовик обнаруживается как имеющий высокую вероятность быть временным объектом, который должен быть удален. После удаления объекта прежние данные из других карт заполняют пустоту, образовавшуюся при удалении припаркованного грузовика с новой карты. Для слияния вновь созданной карты с прежней картой система слияния карт может точно совмещать карты так, чтобы ошибки совмещения не рассматривались как изменения объектов. Например, неправильное совмещение карт может привести к кажущемуся смещению или увеличению уличных знаков.
[0066] Фиг. 1 иллюстрирует способ в соответствии с одним вариантом осуществления. Способ начинается с этапа 100. На этапе 101 данные датчиков транспортного средства собираются по мере того, как транспортное средство движется по маршруту. Данные сохраняются на жестком диске или другом запоминающем устройстве на транспортном средстве. На этапе 102 данные загружаются в систему обработки данных. На этапе 103 система обработки данных датчиков генерирует структурированные картографические данные по данным датчиков транспортного средства. На этапе 104 данные сохраняются в каноническом виде. На этапе 105 способ завершается.
[0067] Фиг. 2 иллюстрирует крепление массива камер 200 в соответствии с одним вариантом осуществления. Крепление массива камеры включает в себя четыре камеры 202, 204, 206 и 208, установленные внутри крепления массива камер. Крепление массива камер устанавливается в транспортном средстве, таком как автомобиль, в пассажирском салоне около переднего ветрового стекла и окружает зеркало 210 заднего обзора.
Иллюстративная система
[0068] В соответствии с одним вариантом осуществления описанные здесь методики реализуется одной или обобщенными вычислительными системами, запрограммированными на выполнение методик в соответствии с инструкциями программы в программно-аппаратном обеспечении, памяти, другом хранилище или комбинации. Могут использоваться вычислительные устройства специального назначения, такие как настольные компьютерные системы, портативные компьютерные системы, карманные устройства, сетевые устройства или любое другое устройство, которое включает в себя аппаратную и/или программную логику для реализации методик.
[0069] Например, фиг. 3 представляет собой блок-схему, изображающую компьютерную систему 300, на которой может быть реализован вариант осуществления изобретения. Компьютерная система 300 включает в себя шину 302 или другой механизм связи (обмена данными) для передачи информации и процессор 304, связанный с шиной 302, для обработки информации. Процессор 304 может быть, например, универсальным микропроцессором.
[0070] Компьютерная система 300 также включает в себя основную память 306, такую как оперативная память (RAM) или другое динамическое запоминающее устройство, связанное с шиной 302, для хранения информации и инструкций, исполняемых процессором 304. Основная память 306 также может использоваться для хранения временных переменных или другой промежуточной информации во время исполнения инструкций, исполняемых процессором 304. Такие инструкции, когда они хранятся на невременных носителях (хранения) данных, доступных для процессора 304, преобразуют компьютерную систему 300 в машину специального назначения, которая настроена для выполнения операций, указанных в инструкциях.
[0071] Компьютерная система 300 дополнительно включает в себя постоянную память (ROM) 308 или другое статическое запоминающее устройство, связанное с шиной 302, для хранения статической информации и инструкций для процессора 304. Обеспечено запоминающее устройство 310, такое как магнитный диск или оптический диск, которое связано с шиной 302 для хранения информации и инструкций.
[0072] Компьютерная система 300 может быть связана через шину 302 с дисплеем 312, таким как компьютерный монитор, для отображения информации пользователю компьютера. Устройство 314 ввода, включающее в себя буквенно-цифровые и другие клавиши, связано с шиной 302 для передачи информации и выбора команд процессору 304. Другим типом пользовательского устройства ввода является средство 316 управления курсором, такое как мышь, шаровой манипулятор или клавиши управления курсором, для передачи информации о направлении и выборе команд процессору 304 и для управления перемещением курсора на дисплее 312. Это устройство ввода, как правило, имеет две степени свободы по двум осям, первой оси (например, x) и второй оси (например, y), что позволяет устройству указывать положения на плоскости.
[0073] Компьютерная система 300 может реализовывать описанные здесь методики, используя настраиваемую аппаратную логику, одну или более ASIC или FPGA, микропрограммное обеспечение и/или программную логику, которые в комбинации с компьютерной системой побуждают или программируют компьютерную систему 300 в качестве машины специального назначения. В соответствии с одним вариантом осуществления методики здесь выполняются компьютерной системой 300 в ответ на выполнение процессором 304 одной или более последовательностей из одной или более инструкций, содержащихся в основной памяти 306. Такие инструкции могут быть считаны в основную память 306 с другого носителя данных, такого как запоминающее устройство 310. Исполнение последовательностей инструкций, содержащихся в основной памяти 306, побуждает процессор 304 выполнять описанные здесь этапы процесса. В альтернативных вариантах осуществления вместо программных инструкций или в комбинации с ними могут быть использованы аппаратные схемы.
[0074] Термин “носители данных”, используемый здесь, относится к любым невременным носителям, хранящим данные и/или инструкции, которые побуждают машину работать определенным образом. Такие носители данных могут содержать энергонезависимые носители и/или энергозависимые носители. Энергонезависимые носители включают в себя, например, оптические или магнитные диски, такие как запоминающее устройство 310. Энергозависимые носители включают в себя динамическую память, такую как основная память 306. Стандартные формы носителей данных включают в себя, например, флоппи-диск, гибкий диск, жесткий диск, твердотельный накопитель, магнитную ленту или любой другой магнитный носитель хранения данных, CD-ROM, любой другой оптический носитель хранения данных, любой физический носитель с рисунками отверстий, RAM, PROM, EPROM, FLASH-EPROM, NVRAM, любую другую микросхему или картридж памяти.
[0075] Носители данных отличаются от передающих сред, но могут использоваться в комбинации с ними. Передающие среды участвуют в передаче информации между носителями данных. Например, передающие среды включает в себя коаксиальные кабели, медный провод и волоконную оптику, в том числе провода, составляющие шину 302. Передающие среды также могут принимать форму акустических или световых волн, таких как волны, генерируемые во время передачи данных с помощью радиоволн или в инфракрасной области спектра.
[0076] Различные формы носителей могут использоваться для передачи одной или более последовательностей из одной или более инструкций к процессору 304 для исполнения. Например, инструкции изначально могут переноситься на магнитном диске или твердотельном накопителе удаленного компьютера. Удаленный компьютер может загрузить инструкции в свою динамическую память и отправить инструкции по сетевому соединению. Модем или сетевой интерфейс, локальный для компьютерной системы 300, может принять данные. Шина 302 переносит данные в основную память 306, из которой процессор 304 извлекает инструкции и исполняет их. Инструкции, принятые основной памятью 306, необязательно могут быть сохранены на запоминающем устройстве 310 либо перед, либо после исполнения процессором 304.
[0077] Компьютерная система 300 также включает в себя интерфейс 318 связи, связанный с шиной 302. Интерфейс 318 связи обеспечивает двусторонний обмен данными, обеспечивая связь с сетевым каналом 320, который подключен к локальной сети 322. Например, интерфейс 318 связи может быть картой цифровой сети с интеграцией услуг (ISDN), кабельным модемом, спутниковым модемом или модемом для обеспечения соединения для обмена данными с соответствующим типом телефонной линии. Также могут быть реализованы беспроводные каналы связи. В любой такой реализации интерфейс 318 связи отправляет и принимает электрические, электромагнитные или оптические сигналы, несущие потоки цифровых данных, представляющие различные типы информации.
[0078] Сетевой канал 320, как правило, обеспечивает передачу данных через одну или более сетей другим устройствам передачи данных. Например, сетевой канал 320 может обеспечивать соединение через локальную сеть 322 с основным компьютером 324 или с оборудованием передачи данных, эксплуатируемым провайдером интернет-услуг (ISP) 326. ISP 326, в свою очередь, предоставляет услуги передачи данных через всемирную сеть передачи пакетных данных, которую теперь обычно называют “Интернетом” 328. И локальная сеть 322, и Интернет 328 используют электрические, электромагнитные или оптические сигналы, несущие потоки цифровых данных. Сигналы через различные сети и сигналы на сетевом канале 320 и через интерфейс 318 связи, которые несут цифровые данные к и от компьютерной системы 300, являются иллюстративными формами передающих сред.
[0079] Компьютерная система 300 может отправлять сообщения и принимать данные, в том числе программный код, через сеть(и), сетевой канал 320 и интерфейс 318 связи. В примере с Интернетом сервер 330 может передавать запрошенный код для прикладной программы через Интернет 328, ISP 326, локальную сеть 322 и интерфейс 318 связи. Принятый код может выполняться процессором 304 по мере его приема и/или сохраняться в запоминающем устройстве 310 или другом энергонезависимом запоминающем устройстве для последующего исполнения.
[0080] Описанные здесь операции процессов могут выполняться в любом подходящем порядке, если иное не указано здесь или иным образом явно противоречит контексту. Описанные здесь процессы (или их вариации и/или комбинации) могут выполняться под управлением одной или более компьютерных систем, сконфигурированных с помощью исполнимых инструкций, которые могут быть реализованы в виде кода (например, исполнимых инструкций, одной или более компьютерных программ или одного или более приложений), выполняющихся совместно на одном или более процессорах, аппаратном обеспечении или их комбинации. Код может храниться на машиночитаемом носителе данных, например, в виде компьютерной программы, содержащей множество инструкций, исполняемых одним или более процессорами. Машиночитаемый носитель данных может быть невременным.
[0081] Соединительные конструкции, такие как фразы в виде “по меньшей мере один из A, B и C”, если специально не указано иное или иным образом явно не противоречит контексту, понимаются в контексте как используемые в общем для представления того, что предмет, термин и т.д., может быть либо A, либо B, либо C, либо любым непустым подмножеством из набора A, B и C. Например, в иллюстративном примере набора, имеющего три элемента, соединительная фраза “по меньшей мере один из A, B и C” относится к любому из следующих наборов: {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}. Таким образом, такие соединительные конструкции в общем не подразумевают, что некоторые варианты осуществления требуют присутствия каждого по меньшей мере одного из A, по меньшей мере одного из B и по меньшей мере одного из C.
[0082] Использование любого и всех примеров или иллюстративного выражения (например, “такой как”), представленных здесь, предназначается просто для лучшего освещения вариантов осуществления изобретения и не налагает ограничения на объем изобретения, если не заявлено иное. Никакие выражения в описании изобретения не следует толковать как указание какого-либо незаявленного элемента как важного для практического применения изобретения.
[0083] В вышеприведенном описании изобретения варианты осуществления изобретения были описаны со ссылкой на многочисленные конкретные подробности, которые могут варьироваться от реализации к реализации. Описание изобретения и чертежи должны, соответственно, рассматриваться в иллюстративном, а не ограничивающем смысле. Единственным и исключительным показателем объема изобретения и того, что заявители подразумевают под объемом изобретения, является буквальный и эквивалентный объем формулы изобретения, вытекающей из этой заявки, в конкретной форме, в которой эти пункты формула изобретения опубликованы, включая любые последующие исправления.
[0084] Дополнительные варианты осуществления могут быть предположены специалистом в данной области техники после прочтения этого раскрытия. В других вариантах осуществления могут быть преимущественно выполнены комбинации или подкомбинации раскрытого выше изобретения. Иллюстративные расположения компонентов показаны в целях иллюстрации, и следует понимать, что в альтернативных вариантах осуществления настоящего изобретения предусматриваются комбинации, дополнения, перестановки и т.п. Таким образом, хотя изобретение было описано со ссылкой на иллюстративные варианты осуществления, специалист в данной области техники поймет, что возможны многочисленные модификации.
[0085] Например, описанные здесь процессы могут быть реализованы с использованием аппаратных компонентов, программных компонентов и/или любой их комбинации. Описание изобретения и чертежи должны, соответственно, рассматриваться в иллюстративном, а не ограничивающем смысле. Однако будет очевидно, что в нем могут быть сделаны различные модификации и изменения без выхода за рамки более широкой сущности и объема изобретения, которые изложены в формуле изобретения, и что изобретение предназначено охватывать все модификации и эквиваленты в рамках объема последующей формулы изобретения.
[0086] Все ссылки, включая публикации, патентные заявки и патенты, процитированные здесь, настоящим включены посредством ссылки в той же степени, как если бы каждая ссылка была индивидуально и конкретно указана для включения посредством ссылки и была изложена здесь во всей своей полноте.
Изобретение относится к созданию структурированных картографических данных. Способ создания структурированных картографических данных содержит прием данных датчиков с метками времени от одного датчика, установленного на транспортном средстве, прием видеоданных с метками времени, содержащих два видеопотока, компьютерное вычисление по данным датчиков с метками времени множества значений пространственных показаний. Причем каждое значение пространственного показания содержит положение и соответствующую метку времени, так что упомянутое положение указывает положение, в котором упомянутый один датчик считался находящимся в момент времени, указанный соответствующей меткой времени. Множество значений пространственных показаний включает в себя первое значение пространственного показания, содержащее положение p0 и момент времени t0, и второе значение пространственного показания, содержащее положение p1 и момент времени t1. Способ также содержит компьютерное вычисление по видеоданным с метками времени множества записей изображений для каждого из упомянутых двух видеопотоков, причем каждая запись изображения содержит изображение и соответствующую метку времени, так что изображение считается записанным при соответствующей метке времени. Достигается автоматизированный способ обработки картографических данных. 3 н. и 17 з.п. ф-лы, 3 ил.
1. Способ создания структурированных картографических данных, содержащий:
прием данных датчиков с метками времени от по меньшей мере одного датчика, установленного на транспортном средстве;
прием видеоданных с метками времени, содержащих по меньшей мере два видеопотока, причем каждый видеопоток получен одной камерой из по меньшей мере двух камер, установленных на транспортном средстве;
компьютерное вычисление по данным датчиков с метками времени множества значений пространственных показаний, причем каждое значение пространственного показания содержит положение и соответствующую метку времени, так что упомянутое положение указывает положение, в котором упомянутый по меньшей мере один датчик считался находящимся в момент времени, указанный соответствующей меткой времени, причем множество значений пространственных показаний включает в себя первое значение пространственного показания, содержащее положение p0 и момент времени t0, и второе значение пространственного показания, содержащее положение p1 и момент времени t1;
компьютерное вычисление по видеоданным с метками времени множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, причем каждая запись изображения содержит изображение и соответствующую метку времени, так что изображение считается записанным при соответствующей метке времени;
идентификацию с использованием процессора по меньшей мере двух t0-записей изображения, причем каждая t0-запись изображения выбрана из одного из множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, так что каждая запись изображения из упомянутых по меньшей мере двух t0-записей изображений имеет соответствующую метку времени, приблизительно равную t0;
идентификацию с использованием процессора по меньшей мере двух t1-записей изображения, причем каждая t1-запись изображения выбрана из одного из множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, так что каждая запись изображения из упомянутых по меньшей мере двух t1-записей изображений имеет соответствующую метку времени, приблизительно равную t1;
идентификацию с использованием процессора неподвижного объекта, присутствующего на каждой из упомянутых по меньшей мере двух t0-записей изображений и упомянутых по меньшей мере двух t1-записей изображений;
вычисление t0-относительного положения объекта для неподвижного объекта в момент времени t0 на основании разности параллаксов между упомянутыми по меньшей мере двумя t0-записями изображений;
вычисление t1-относительного положения объекта для неподвижного объекта в момент времени t1 на основании разности параллаксов между упомянутыми по меньшей мере двумя t1-записями изображений;
на основании разности между t0-относительным положением объекта и t1-относительным положением объекта определение корректирующего значения к p1.
2. Способ по п. 1, дополнительно содержащий:
идентификацию с использованием процессора множества неподвижных объектов на записях изображений;
вычисление для каждого из множества неподвижных объектов по меньшей мере одного относительного положения объекта для неподвижного объекта на основании по меньшей мере двух записей изображений с получением множества относительных положений объектов;
получение множества корректирующих значений путем определения корректирующего значения к положению каждого значения пространственного показания из множества значений пространственных показаний на основании множества относительных положений объектов;
применение множества корректирующих значений к положению каждого значения пространственного показания из множества значений пространственных показаний с получением множества скорректированных значений пространственных показаний;
обнаружение того, что более позднее положение из множества скорректированных значений пространственных показаний находится в пределах максимального расстояния замыкания петли от предшествующего положения из множества скорректированных значений пространственных показаний, причем более позднее положение и предшествующее положение отделены одним из наименьшего времени петли и наименьшего расстояния петли, более позднее положение соответствует более поздней метке времени, а предшествующее положение соответствует предшествующей метке времени; и
вычисление ошибки замыкания петли по первой записи изображения из множества записей изображений, имеющей соответствующую метку времени, приблизительно равную предшествующей метке времени, и второй записи изображения, имеющей соответствующую метку времени, приблизительно равную более поздней метке времени.
3. Способ по п. 2, в котором ошибку замыкания петли используют для вычисления дополнительного корректирующего значения к множеству скорректированных значений пространственных показаний.
4. Способ по п. 1, при этом данные датчиков с меткой времени содержат данные от акселерометра, установленного в транспортном средстве, а метку времени применяют к данным датчиков с использованием синхросигнала от глобальной системы позиционирования.
5. Способ по п. 4, при этом упомянутые по меньшей мере две камеры устанавливаются в массиве камер, установленном на транспортном средстве.
6. Способ создания структурированных картографических данных, содержащий:
прием данных датчиков с метками времени от по меньшей мере одного датчика, установленного на транспортном средстве;
прием видеоданных с метками времени, содержащих по меньшей мере два видеопотока, причем каждый видеопоток получен одной камерой из по меньшей мере двух камер, установленных на транспортном средстве;
компьютерное вычисление по данным датчиков с метками времени множества значений пространственных показаний, причем каждое значение пространственного показания содержит положение и соответствующую метку времени, так что упомянутое положение указывает положение, в котором упомянутый по меньшей мере один датчик считался находящимся в момент времени, указанный соответствующей меткой времени;
компьютерное вычисление по видеоданным с метками времени множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, причем каждая запись изображения содержит изображение и соответствующую метку времени, так что изображение считается записанным при соответствующей метке времени;
идентификацию с использованием процессора множества записей изображений объекта, связанных с объектом, причем записи изображений объекта являются поднабором множества записей изображений, так что каждое изображение в каждой записи изображения содержит объект;
вычисление множества относительных положений объекта путем вычисления относительного положения объекта по каждому изображению в записях изображений объекта; и
получение облака точек, содержащего множество положений объекта, на основании множества относительных положений объекта.
7. Способ по п. 6, в котором вероятностное положение объекта вычисляют по облаку точек с точностью вероятностного положения, улучшающейся по мере того, как собирается больше видеоданных с метками времени, содержащих объект.
8. Способ по п. 7, в котором вероятностное положение объекта сравнивают с прежними картографическими данными с определением того, является ли объект неподвижным.
9. Способ по п. 7, в котором вероятностное положение объекта используют для обновления прежних картографических данных.
10. Способ по п. 6, дополнительно содержащий:
идентификацию с использованием процессора по меньшей мере двух t0-записей изображений, причем каждая t0-запись изображения выбрана из одного из множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, так что каждая запись изображения из упомянутых по меньшей мере двух t0-записей изображений имеет соответствующую метку времени, приблизительно равную t0;
идентификацию с использованием процессора по меньшей мере двух t1-записей изображений, причем каждая t1-запись изображения выбрана из одного из множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, так что каждая запись изображения из упомянутых по меньшей мере двух t1-записей изображений имеет соответствующую метку времени, приблизительно равную t1;
идентификацию с использованием процессора неподвижного объекта, присутствующего на каждой из упомянутых по меньшей мере двух t0-записей изображений и упомянутых по меньшей мере двух t1-записей изображений;
вычисление t0-относительного положения объекта для неподвижного объекта в момент времени t0 на основании разности параллаксов между упомянутыми по меньшей мере двумя t0-записями изображений;
вычисление t1-относительного положения объекта для неподвижного объекта в момент времени t1 на основании разности параллаксов между упомянутыми по меньшей мере двумя t1-записями изображений;
на основании разности между t0-относительным положением объекта и t1-относительным положением объекта определение корректирующего значения к p1.
11. Способ по п. 10, дополнительно содержащий:
получение множества корректирующих значений путем определения корректирующего значения к положению каждого значения пространственного показания из множества значений пространственных показаний, причем множество корректирующих значений основано на множестве относительных положений объектов из множества неподвижных объектов, идентифицированных с использованием процессора в записях изображений;
применение множества корректирующих значений к положению каждого значения пространственного показания из множества значений пространственных показаний с получением множества скорректированных значений пространственных показаний;
обнаружение того, что более позднее положение из множества скорректированных значений пространственных показаний находится в пределах максимального расстояния замыкания петли от предшествующего положения из множества скорректированных значений пространственных показаний, причем более позднее положение и предшествующее положение отделены одним из наименьшего времени петли и наименьшего расстояния петли; и
вычисление ошибки замыкания петли по видеоданным с меткой времени на основании более позднего положения, метки времени, соответствующей более позднему положению, предшествующего положения и метки времени предшествующего положения.
12. Способ по п. 11, в котором ошибку замыкания петли используют для вычисления корректирующего значения для по меньшей мере одного положения в облаке точек.
13. Способ по п. 1, в котором данные датчиков с метками времени содержат данные от инерциального измерительного блока, установленного в транспортном средстве, и метку времени от глобальной системы позиционирования, установленной в транспортном средстве.
14. Система для создания структурированных картографических данных, содержащая:
транспортное средство, имеющее источник времени, датчики, которые собирают данные датчиков, и массив из по меньшей мере двух камер, каждая из которых получает видеопоток, при этом метки времени от источника времени применяются к данным датчиков с получением данных датчиков с метками времени и к каждому видеопотоку с получением видеоданных с метками времени; и
систему обработки данных датчиков, которая принимает данные датчиков с метками времени и видеоданные с метками времени, причем система обработки данных датчиков выполняет этапы:
(a) компьютерного вычисления по данным датчиков с метками времени множества значений пространственных показаний, причем каждое значение пространственного показания содержит положение и соответствующую метку времени, так что упомянутое положение указывает положение, в котором упомянутый по меньшей мере один датчик считался находящимся в момент времени, указанный соответствующей меткой времени, причем множество значений пространственных показаний включает первое значение пространственного показания, содержащее положение p0 и момент времени t0, и второе значение пространственного показания, содержащее положение p1 и момент времени t1;
(b) компьютерного вычисления по видеоданным с метками времени множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, причем каждая запись изображения содержит изображение и соответствующую метку времени, так что изображение считается записанным при соответствующей метке времени;
(c) идентификацию с использованием процессора по меньшей мере двух t0-записей изображения, причем каждая t0-запись изображения выбрана из одного из множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, так что каждая запись изображения из упомянутых по меньшей мере двух t0-записей изображений имеет соответствующую метку времени, приблизительно равную t0;
(d) идентификацию с использованием процессора по меньшей мере двух t1-записей изображения, причем каждая t1-запись изображения выбрана из одного из множества записей изображений для каждого из упомянутых по меньшей мере двух видеопотоков, так что каждая запись изображения из упомянутых по меньшей мере двух t1-записей изображений имеет соответствующую метку времени, приблизительно равную t1;
(e) идентификацию с использованием процессора неподвижного объекта, присутствующего на каждой из упомянутых по меньшей мере двух t0-записей изображений и упомянутых по меньшей мере двух t1-записей изображений;
(f) вычисление t0-относительного положения объекта для неподвижного объекта в момент времени t0 на основании разности параллаксов между упомянутыми по меньшей мере двумя t0-записями изображений;
(g) вычисление t1-относительного положения объекта для неподвижного объекта в момент времени t1 на основании разности параллаксов между упомянутыми по меньшей мере двумя t1-записями изображений;
(h) на основании разности между t0-относительным положением объекта и t1-относительным положением объекта определение корректирующего значения к p1.
15. Система по п. 14, при этом обработка данных датчиков дополнительно выполняет этапы:
получения множества корректирующих значений путем определения корректирующего значения к положению каждого значения пространственного показания из множества значений пространственных показаний, причем множество корректирующих значений основано на множестве относительных положений объектов из множества неподвижных объектов, идентифицированных с использованием процессора в записях изображений;
применения множества корректирующих значений к положению каждого значения пространственного показания из множества значений пространственных показаний с получением множества скорректированных значений пространственных показаний;
обнаружения того, что более позднее положение из множества скорректированных значений пространственных показаний находится в пределах максимального расстояния замыкания петли от предшествующего положения из множества скорректированных значений пространственных показаний, причем более позднее положение и предшествующее положение отделены одним из наименьшего времени петли и наименьшего расстояния петли; и
вычисления ошибки замыкания петли по видеоданным с меткой времени на основании более позднего положения, метки времени, соответствующей более позднему положению, предшествующего положения и метки времени предшествующего положения.
16. Система по п. 15, при этом ошибка замыкания петли используется для вычисления дополнительного корректирующего значения к множеству скорректированных значений пространственных показаний.
17. Система по п. 14, при этом обработка данных датчиков дополнительно выполняет этапы:
идентификации с использованием процессора множества записей изображений объекта, связанных с объектом, причем записи изображений объекта являются поднабором множества записей изображений, так что для каждой метки времени в записях изображений объекта по меньшей мере одно изображение, связанное с меткой времени, содержит объект; и
вычисления множества относительных положений объекта путем вычисления относительного положения объекта по каждому изображению в записях изображений объекта; и
получения облака точек, содержащего множество положений объекта на основании множества относительных положений объекта.
18. Система по п. 17, при этом по облаку точек вычисляется вероятностное положение объекта с точностью вероятностного положения, улучшающейся по мере того, как собирается больше видеоданных с метками времени, содержащих объект.
19. Система по п. 18, при этом вероятностное положение объекта сравнивается с прежними картографическими данными с определением того, является ли объект неподвижным.
20. Система по п. 14, в которой датчики, которые собирают данные датчиков, включают в себя акселерометр и гироскоп, а источником времени является глобальная система позиционирования.
US 2018157328 A1, 07.06.2018 | |||
US 20100204974 A1, 12.08.2010 | |||
СПОСОБ И УСТРОЙСТВО, ПОЗВОЛЯЮЩЕЕ ИСПОЛЬЗОВАТЬ ОБЪЕКТЫ С ПРЕДВАРИТЕЛЬНО УСТАНОВЛЕННЫМИ КООРДИНАТАМИ ДЛЯ ОПРЕДЕЛЕНИЯ МЕСТОПОЛОЖЕНИЯ ПРОМЫШЛЕННЫХ ТРАНСПОРТНЫХ СРЕДСТВ | 2012 |
|
RU2571580C2 |
Авторы
Даты
2022-05-23—Публикация
2020-01-22—Подача